text:
echo "-- uploading canarytools-python to pypi --"
pip list | grep -F twine > /dev/null
if [ $? -ne 0 ]; then
    echo "-! python package: twine wasn't found. !-"
    echo "-! check that you in a virtualenv      !-"
    exit 1
fi
echo "-- removing old packages from /dist --"
rm -R dist
echo "-- building new packages for pypi   --"
python setup.py sdist bdist_wheel
echo "-- uploading new package to pypi    --"
python -m twine upload dist/*


text:
/* Essentials */

html, div, map, dt, isindex, form, header, aside, section, section, article, footer {
    display: block;
}

html, body,ul {
height: 100%;
margin: 0;
padding: 0;
font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;
background: #F8F8F8;
font-size: 12px;
}
img{
border:none;
vertical-align: middle;
}
img.ico{
width:22px;
border:1px solid #ccc;
}
input[type=radio],input[type=checkbox]{
vertical-align:middle;
}
input[type=text],input[type=password]{
border:1px solid #ccc;
}
.clear {
clear: both;
}

.operator{
cursor:pointer;
margin-right:10px;
}

.spacer {
height: 20px;
}

a:link, a:visited {
color: #77BACE;
text-decoration: none;
}

a:hover {
text-decoration: underline;
}

/* color */
.red{color:red}
.orange{color:orange}
.blue{color:blue}
.green{color:green}

/* Header */

header#header {
height: 65px;
width: 100%;
background: #222222 url(../images/main/header_bg.png) repeat-x;
}

header#header h1.site_title, header#header h2.section_title {
float: left;
margin: 0;
font-size: 22px;
display: block;
width: 23%;
height: 55px;
font-weight: normal;
text-align: left;
text-indent: 1.8%;
line-height: 55px;
color: #fff;
text-shadow: 0 -1px 0 #000;
}

header#header h1.site_title a {
color: #fff;
text-decoration: none;
}

header#header h2.section_title {
text-align: center;
text-indent: 4.5%;
width: 48%;
background: url(../images/main/header_shadow.png) no-repeat left top;
}

.btn_view_site {
float: left;
width: 9%;
}

.btn_view_site a {
display: block;
margin-top: 12px;
width: 91px;
height: 27px;
background: url(../images/main/btn_view_site.png) no-repeat;
text-align: center;
line-height: 29px;
color: #fff;
text-decoration: none;
text-shadow: 0 -1px 0 #000;}

.btn_view_site a:hover {
background-position: 0 -27px;
}

/* Secondary Header Bar */

section#secondary_bar {
height: 38px;
width: 100%;
background: #F1F1F4 url(../images/main/secondary_bar.png) repeat-x;
}

section#secondary_bar .user {
float: left;
width: 23%;
height: 38px;
}

.user p {
margin: 0;
padding: 0;
color: #666666;
font-weight: bold;
display: block;
float: left;
width: 85%;
height: 35px;
line-height: 35px;
text-indent: 25px;
text-shadow: 0 1px 0 #fff;
background: url(../images/main/icn_user.png) no-repeat center left;
margin-left: 6%;
}

.user a {
text-decoration: none;
color: #666666}

.user a:hover {
color: #77BACE;
}

/* Breadcrumbs */

section#secondary_bar .breadcrumbs_container {
float: left;
width: 77%;
background: url(../images/main/secondary_bar_shadow.png) no-repeat left top;
height: 38px;
}

article.breadcrumbs {
float: left;
padding: 0 10px;
border: 1px solid #ccc;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
-webkit-box-shadow: 0 1px 0 #fff;
-moz-box-shadow: 0 1px 0 #fff;
box-shadow: 0 1px 0 #fff;
height: 23px;
margin: 4px 3%;
}

.breadcrumbs a {
display: inline-block;
float: left;
height: 24px;
line-height: 23px;
}

.breadcrumbs a.current, .breadcrumbs a.current:hover {
color: #9E9E9E;
font-weight: bold;
text-shadow: 0 1px 0 #fff;
text-decoration: none;
}

.breadcrumbs a:link, .breadcrumbs a:visited {
color: #44474F;
text-decoration: none;
text-shadow: 0 1px 0 #fff;
font-weight: bold;}

.breadcrumbs a:hover {
color: #222222;
}

.breadcrumb_divider {
display: inline-block;
width: 12px;
height: 24px;
background: url(../images/main/breadcrumb_divider.png) no-repeat;
float: left;
margin: 0 5px;
}

/* Sidebar */

aside#sidebar {
width: 15%;
background: #E0E0E3 url(../images/main/sidebar.png) repeat;
float: left;
min-height: 500px;
margin-top: -4px;
}

#sidebar hr {
border: none;
outline: none;
background: url(../images/main/sidebar_divider.png) repeat-x;
display: block;
width: 100%;
height: 2px;}

/* Search */

.quick_search {
text-align: center;
padding: 14px 0 10px 0;
}

.quick_search input[type=text] {
-webkit-border-radius: 20px;
-moz-border-radius: 20px;
border-radius: 20px;
border: 1px solid #bbb;
height: 26px;
width: 90%;
color: #ccc;
-webkit-box-shadow: inset 0 2px 2px #ccc, 0 1px 0 #fff;
-moz-box-shadow: inset 0 2px 2px #ccc, 0 1px 0 #fff;
box-shadow: inset 0 2px 2px #ccc, 0 1px 0 #fff;
text-indent: 30px;
background: #fff url(../images/main/icn_search.png) no-repeat;
background-position: 10px 6px;
}

.quick_search input[type=text]:focus {
outline: none;
color: #666666;
border: 1px solid #77BACE;
-webkit-box-shadow: inset 0 2px 2px #ccc, 0 0 10px #ADDCE6;
-moz-box-shadow: inset 0 2px 2px #ccc, 0 0 10px #ADDCE6;
box-shadow: inset 0 2px 2px #ccc, 0 0 10px #ADDCE6;
}

/* Sidebar Menu */

#sidebar h3 {
color: #1F1F20;
text-transform: uppercase;
text-shadow: 0 1px 0 #fff;
font-size: 13px;
margin: 10px 0 10px 6%;
display: block;
float: left;
width: 90%;
}

.toggleLink {
color: #999999;
font-size: 10px;
text-decoration: none;
display: block;
float: right;
margin-right: 2%
}

#sidebar .toggleLink:hover {
color: #77BACE;
text-decoration: none;
}

#sidebar ul {
clear: both;
margin: 0; padding: 0;
}

#sidebar li {
list-style: none;
margin: 0 0 0 12%; padding: 0;
}

#sidebar li a {
color: #666666;
padding-left: 25px;
text-decoration: none;
display: inline-block;
height: 17px;
line-height: 17px;
text-shadow: 0 1px 0 #fff;
margin: 2px 0;
}

#sidebar li a:hover {
color: #444444;
}

/* Sidebar Icons */

#sidebar li.icn_new_article a {
background: url(../images/main/icn_new_article.png) no-repeat center left;
}
#sidebar li.icn_edit_article a {
background: url(../images/main/icn_edit_article.png) no-repeat center left;
}
#sidebar li.icn_categories a {
background: url(../images/main/icn_categories.png) no-repeat center left;
}
#sidebar li.icn_tags a {
background: url(../images/main/icn_tags.png) no-repeat center left;
}
#sidebar li.icn_add_user a {
background: url(../images/main/icn_add_user.png) no-repeat center left;
}
#sidebar li.icn_view_users a {
background: url(../images/main/icn_view_users.png) no-repeat center left;
}
#sidebar li.icn_profile a {
background: url(../images/main/icn_profile.png) no-repeat center left;
}
#sidebar li.icn_folder a {
background: url(../images/main/icn_folder.png) no-repeat center left;
}
#sidebar li.icn_photo a {
background: url(../images/main/icn_photo.png) no-repeat center left;
}
#sidebar li.icn_audio a {
background: url(../images/main/icn_audio.png) no-repeat center left;
}
#sidebar li.icn_video a {
background: url(../images/main/icn_video.png) no-repeat center left;
}
#sidebar li.icn_settings a {
background: url(../images/main/icn_settings.png) no-repeat center left;
}
#sidebar li.icn_security a {
background: url(../images/main/icn_security.png) no-repeat center left;
}
#sidebar li.icn_jump_back a {
background: url(../images/main/icn_jump_back.png) no-repeat center left;
}

#sidebar p {
color: #666666;
padding-left: 6%;
text-shadow: 0 1px 0 #fff;
margin: 10px 0 0 0;}

#sidebar a {
color: #666666;
text-decoration: none;
}

#sidebar a:hover {
text-decoration: underline;
}

#sidebar footer {
margin-top: 20%;
}

/* Main Content */

section#main {
width: 85%;
min-height: 500px;
background: url(../images/main/sidebar_shadow.png) repeat-y left top;
float: left;
margin-top: -2px;
}

#main h3 {
color: #1F1F20;
text-transform: uppercase;
text-shadow: 0 1px 0 #fff;
font-size: 13px;
margin: 8px 20px;
}

/* Modules */

.module {
border: 1px solid #9BA0AF;
width: 100%;
margin: 20px 3% 0 3%;
margin-top: 20px;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
background: #ffffff;
}

#main .module header h3 {
display: block;
width: 90%;
float: left;
}

.module header {
height: 38px;
width: 100%;
background: #F1F1F4 url(../images/main/secondary_bar.png) repeat-x;
-webkit-border-top-left-radius: 5px; -webkit-border-top-right-radius: 5px;
-moz-border-radius-topleft: 5px; -moz-border-radius-topright: 5px;
border-top-left-radius: 5px; border-top-right-radius: 5px;
}

.module footer {
height: 32px;
width: 100%;
border-top: 1px solid #9CA1B0;
background: #F1F1F4 url(../images/main/module_footer_bg.png) repeat-x;
-webkit-border-bottom-left-radius: 5px; -webkit-border-bottom-right-radius: 5px;
-moz-border-radius-bottomleft: 5px; -moz-border-radius-bottomright: 5px;
-webkit-border-bottom-left-radius: 5px; -webkit-border-bottom-right-radius: 5px;
}

.module_content {
margin: 10px 20px;
color: #666;
}

/* Module Widths */

.width_full {
width: 94%;
}

.width_half {
width: 46%;
margin-right: 0;
float: left;
}

.width_quarter {
width: 26%;
margin-right: 0;
float: left;
}

.width_3_quarter {
width: 66%;
margin-right: 0;
float: left;
}

/* Content Manager */

.tablesorter {
width: 100%;
margin: -2px 0 0 0;
}

.tablesorter td{
margin: 0;
padding: 0;
border-bottom: 1px dotted #ccc;
}

.tablesorter td a{
margin-right:8px;
}

.tablesorter thead tr {
height: 34px;
background: url(../images/main/table_sorter_header.png) repeat-x;
text-align: left;
text-indent: 10px;
cursor: pointer;
}
.tablesorter th{
text-align:left;
}
.tablesorter td {
padding: 15px 10px;
text-align:left;
}

.tablesorter input[type=image] {
margin-right: 10px;}

ul.tabs {
	margin: 3px 10px 0 0;
	padding: 0;
	float: right;
	list-style: none;
	height: 24px; /*--Set height of tabs--*/
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
	-webkit-box-shadow: 0 1px 0 #fff;
	-moz-box-shadow: 0 1px 0 #fff;
	box-shadow: 0 1px 0 #fff;
	border: 1px solid #ccc;
	font-weight: bold;
	text-shadow: 0 1px 0 #fff;
}
ul.tabs li {
	float: left;
	margin: 0;
	padding: 0;
	line-height: 24px;
}
ul.tabs li a {
	text-decoration: none;
	color: #999;
	display: block;
	padding: 0 10px;
	height: 24px;
}

ul.tabs input[type=button]{
	margin-right:4px;
}

ul.tabs li a:hover {
	color: #44474F;
}

html ul.tabs li.active a  {
	color: #44474F;
	}

html ul.tabs li.active, html ul.tabs li.active a:hover  {
	background: #F1F2F4;
	-webkit-box-shadow: inset 0 2px 3px #818181;
	-moz-box-shadow: inset 0 2px 3px #818181;
	box-shadow: inset 0 2px 3px #818181;
}

html ul.tabs li:first-child, html ul.tabs li:first-child a  {
	-webkit-border-top-left-radius: 5px; -webkit-border-bottom-left-radius: 5px;
	-moz-border-radius-topleft: 5px; -moz-border-radius-bottomleft: 5px;
	border-top-left-radius: 5px; border-bottom-left-radius: 5px;
}

html ul.tabs li:last-child, html ul.tabs li:last-child a  {
	-webkit-border-top-right-radius: 5px; -webkit-border-bottom-right-radius: 5px;
	-moz-border-radius-topright: 5px; -moz-border-radius-bottomright: 5px;
	border-top-right-radius: 5px; border-bottom-right-radius: 5px;
}

#main .module header h3.tabs_involved {
display: block;
width: 30%;
float: left;
}

/* Messages */

.message {
border-bottom: 1px dotted #cccccc;
}

input[type=submit],input[type=reset],input[type=button] {
background: #D0D1D4 url(../images/main/btn_submit.png) repeat-x;
border: 1px solid #A8A9A8;
-webkit-box-shadow: 0 1px 0 #fff;
-moz-box-shadow: 0 1px 0 #fff;
box-shadow: 0 1px 0 #fff;
font-weight: bold;
height: 22px;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
padding: 0 10px;
color: #666;
text-shadow: 0 1px 0 #fff;
cursor: pointer;
}

input[type=submit]:hover,input[type=reset]:hover {
color: #333333;
}

input[type=submit].alt_btn,input[type=button].alt_btn {
background: #D0D1D4 url(../images/main/btn_submit_2.png) repeat-x;
border: 1px solid#30B0C8;
-webkit-box-shadow: 0 1px 0 #fff;
-moz-box-shadow: 0 1px 0 #fff;
box-shadow: 0 1px 0 #fff;
font-weight: bold;
height: 22px;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
padding: 0 10px;
color: #003E49;
text-shadow: 0 1px 0 #6CDCF9;
cursor: pointer;
}

input[type=submit].alt_btn:hover {
color: #001217;
}

input[type=submit].btn_post_message{
background: #D0D1D4 url(../images/main/post_message.png) no-repeat;
display: block;
width: 37px;
border: none;
height: 24px;
cursor: pointer;
text-indent: -5000px;
}

input[type=submit].btn_post_message:hover {
background-position: 0 -24px;
}

.post_message {
text-align: left;
padding: 5px 0;
}

.post_message input[type=text] {
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
border: 1px solid #bbb;
height: 20px;
width: 70%;
color: #ccc;
-webkit-box-shadow: inset 0 2px 2px #ccc, 0 1px 0 #fff;
-moz-box-shadow: inset 0 2px 2px #ccc, 0 1px 0 #fff;
box-shadow: inset 0 2px 2px #ccc, 0 1px 0 #fff;
text-indent: 10px;
background-position: 10px 6px;
float: left;
margin: 0 3.5%;
}

.post_message input[type=text]:focus {
outline: none;
border: 1px solid #77BACE;
-webkit-box-shadow: inset 0 2px 2px #ccc, 0 0 10px #ADDCE6;
-moz-box-shadow: inset 0 2px 2px #ccc, 0 0 10px #ADDCE6;
box-shadow: inset 0 2px 2px #ccc, 0 0 10px #ADDCE6;
color: #666666;
}

.post_message input[type=image] {
float: left;
}

.message_list {
height: 250px;
overflow-x:hidden;
overflow-y: scroll;
}

/* New/Edit Article Module */

fieldset {
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
background: #F6F6F6;
border: 1px solid #ccc;
padding: 1% 0%;
margin: 10px 0;
}

fieldset label {
display: block;
float: left;
width: 200px;
height: 25px;
line-height: 25px;
text-shadow: 0 1px 0 #fff;
font-weight: bold;
padding-left: 10px;
margin: -5px 0 5px 0;
}

.bold{
font-weight: bold;
}

fieldset label.tip{
width:100%;
font-weight:normal;
padding-top:10px;
}

fieldset label.valid-msg{
display:inline;
float:none;
width:auto;
font-weight:normal;
}

fieldset input[type=text],fieldset input[type=password] {
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
border: 1px solid #BBBBBB;
height: 20px;
color: #666666;
-webkit-box-shadow: inset 0 2px 2px #ccc, 0 1px 0 #fff;
-moz-box-shadow: inset 0 2px 2px #ccc, 0 1px 0 #fff;
box-shadow: inset 0 2px 2px #ccc, 0 1px 0 #fff;
background-position: 10px 6px;
margin: 0;
width: 96%;
margin: 0 10px;
}

fieldset input[type=text]:focus {
outline: none;
border: 1px solid #77BACE;
-webkit-box-shadow: inset 0 2px 2px #ccc, 0 0 10px #ADDCE6;
-moz-box-shadow: inset 0 2px 2px #ccc, 0 0 10px #ADDCE6;
box-shadow: inset 0 2px 2px #ccc, 0 0 10px #ADDCE6;
}

fieldset select {
width: 96%;
margin: 0 10px;
border: 1px solid #bbb;
height: 20px;
color: #666666;
}
textarea{
font-size:12px;
border: 1px solid #BBBBBB;
color: #666666;
}

fieldset textarea {
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
-webkit-box-shadow: inset 0 2px 2px #ccc, 0 1px 0 #fff;
-moz-box-shadow: inset 0 2px 2px #ccc, 0 1px 0 #fff;
box-shadow: inset 0 2px 2px #ccc, 0 1px 0 #fff;
padding-left: 10px;
background-position: 10px 6px;
margin: 0 0.5%;
display: block;
float: left;
width: 96%;
margin: 0 10px;
}

fieldset textarea:focus {
outline: none;
border: 1px solid #77BACE;
-webkit-box-shadow: inset 0 2px 2px #ccc, 0 0 10px #ADDCE6;
-moz-box-shadow: inset 0 2px 2px #ccc, 0 0 10px #ADDCE6;
box-shadow: inset 0 2px 2px #ccc, 0 0 10px #ADDCE6;
}

.submit_link {
float: right;
margin-right: 3%;
padding: 5px 0;
}

.submit_link select {
width: 150px;
border: 1px solid #bbb;
height: 20px;
color: #666666;
}

#main .module_content h1 {
color: #333333;
text-transform: none;
text-shadow: 0 1px 0 #fff;
font-size: 22px;
margin: 8px 0px;
}

#main .module_content h2 {
color: #444444;
text-transform: none;
text-shadow: 0 1px 0 #fff;
font-size: 18px;
margin: 8px 0px;
}

#main .module_content h3 {
color: #666666;
text-transform: uppercase;
text-shadow: 0 1px 0 #fff;
font-size: 13px;
margin: 8px 0px;
}

#main .module_content h4 {
color: #666666;
text-transform: none;
text-shadow: 0 1px 0 #fff;
font-size: 13px;
margin: 8px 0px;
}

#main .module_content li {
line-height: 150%;
}

/* Alerts */

#main h4.alert_info {
display: block;
width: 95%;
margin: 20px 3% 0 3%;
margin-top: 20px;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
background: #B5E5EF url(../images/main/icn_alert_info.png) no-repeat;
background-position: 10px 10px;
border: 1px solid #77BACE;
color: #082B33;
padding: 10px 0;
text-indent: 40px;
font-size: 14px;}

#main h4.alert_warning {
display: block;
width: 95%;
margin: 20px 3% 0 3%;
margin-top: 20px;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
background: #F5F3BA url(../images/main/icn_alert_warning.png) no-repeat;
background-position: 10px 10px;
border: 1px solid #C7A20D;
color: #796616;
padding: 10px 0;
text-indent: 40px;
font-size: 14px;}

#main h4.alert_error {
display: block;
width: 95%;
margin: 20px 3% 0 3%;
margin-top: 20px;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
background: #F3D9D9 url(../images/main/icn_alert_error.png) no-repeat;
background-position: 10px 10px;
border: 1px solid #D20009;
color: #7B040F;
padding: 10px 0;
text-indent: 40px;
font-size: 14px;}

#main h4.alert_success {
display: block;
width: 95%;
margin: 20px 3% 0 3%;
margin-top: 20px;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
background: #E2F6C5 url(../images/main/icn_alert_success.png) no-repeat;
background-position: 10px 10px;
border: 1px solid #79C20D;
color: #32510F;
padding: 10px 0;
text-indent: 40px;
font-size: 14px;}

/* page style start */
.pages_bar{margin-top:5px;margin-bottom:5px;padding:5px 0 5px 15px;border-top:1px #dddddd solid;color:#525252;text-align:left}
	.pages_bar a{display:block;float:left;height:18px;margin-right:6px;padding:0 6px;border:1px #d5d5d5 solid;line-height:20px;color:#7e7e7e;text-align:center;background-color:RGB(248,248,248); overflow:hidden}
	.pages_bar a.current_page{color:#6d7170;background-position:0 -525px}
	.pages_bar .btn{color:#000;}
	.pages_bar .inactive{cursor:auto;color:#aca899}
	.pages_bar span{line-height:20px;}
/* page style end */

/*·ÖÀ࿪'*/
ul.select{
	clear:both;
	list-style:none;
	height:184px;
	overflow: scroll ;
	overflow-x:hidden;
	border:#CDCDCD solid 1px;
	min-width:180px;
	margin:0 10px;
}
ul.select li{
	list-style:none;
	overflow:hidden;
	height:22px;
	float:left;
	clear:both;
	line-height:22px;
	border-bottom:#F1F1F1 dotted 1px;
	width:100%;
	margin-left:10px;
}
ul.select li.even{background:#FD9;}
/*·ÖÀà½áÊø*/

.box{
	clear:both;
	margin:0px 10px;
}

input[type=text].large{
	width:275px;
}

input[type=text].normal{
	width:145px;
}

input[type=text].small{
	width:115px;
}

input[type=text].tiny{
	width:50px;
}

.upload_btn {
	text-align:center;
	width:70px;
    background-color: #d0d1d4;
    border: 1px solid #e1e1e1;
    color: #707070;
    cursor: pointer;
    overflow: hidden;
    padding: 3px 3px;
}

.pic{float:left;/*width:65px;height:90px;*/margin-right:10px;text-align:center}
.pic img{border:3px #efefed solid; cursor:pointer}
.pic .current{border:3px #f60 solid}

.auto{
width:auto;
}

span.prt, span.prted {
    background: url("../images/main/prt.gif") repeat scroll 0 0 rgba(0, 0, 0, 0);
    color: #333;
    cursor: pointer;
    display: inline-block;
    font-weight: 400;
    height: 17px;
    line-height: 17px;
    margin: 2px 2px 0;
    text-align: center;
    vertical-align: top;
    width: 16px;
}

redpajama_set_name: RedPajamaGithub


text:
KpJwt.setup do |config|
  # Expiration claim
  # by default it is set to 1 day
  # config.token_lifetime = 1.day

  # Audience claim
  # by default it is set to nil
  # config.token_audience = nil

  # Signature algorithm
  # by default it is set to 'HS256'
  # config.token_signature_algorithm = 'HS256'

  # Signature key
  # by default it is set to -> { Rails.application.secrets.secret_key_base }
  # config.token_secret_signature_key = -> { Rails.application.secrets.secret_key_base }

  # Refresh Token Required
  # by default it is set to true
  # config.refresh_token_required = true

  # Refresh Token Lifetime
  # by default it is set to nil
  # config.refresh_token_lifetime = 1.week

  # Exception Class
  # by default it is set to 'ActiveRecord::RecordNotFound'
  # config.not_found_exception_class_name = 'ActiveRecord::RecordNotFound'
end


text:
package example.repo;

import example.model.Customer1436;

import java.util.List;

import org.springframework.data.repository.CrudRepository;

public interface Customer1436Repository extends CrudRepository<Customer1436, Long> {

	List<Customer1436> findByLastName(String lastName);
}


text:
defineSuite([
        'Core/HeadingPitchRoll',
        'Core/Math',
        'Core/Quaternion'
    ], function(
        HeadingPitchRoll,
        CesiumMath,
        Quaternion) {
    'use strict';
    /*global it,expect*/

    var deg2rad = CesiumMath.RADIANS_PER_DEGREE;

    it('construct with default values', function() {
        var headingPitchRoll = new HeadingPitchRoll();
        expect(headingPitchRoll.heading).toEqual(0.0);
        expect(headingPitchRoll.pitch).toEqual(0.0);
        expect(headingPitchRoll.roll).toEqual(0.0);
    });

    it('construct with all values', function() {
        var headingPitchRoll = new HeadingPitchRoll(1.0 * deg2rad, 2.0 * deg2rad, 3.0 * deg2rad);
        expect(headingPitchRoll.heading).toEqual(1.0 * deg2rad, 2.0 * deg2rad, 3.0 * deg2rad);
        expect(headingPitchRoll.pitch).toEqual(2.0 * deg2rad, 2.0 * deg2rad, 3.0 * deg2rad);
        expect(headingPitchRoll.roll).toEqual(3.0 * deg2rad, 2.0 * deg2rad, 3.0 * deg2rad);
    });

    it('conversion from quaternion', function() {
        var testingTab = [
            [0, 0, 0],
            [90 * deg2rad, 0, 0],
            [-90 * deg2rad, 0, 0],
            [0, 89 * deg2rad, 0],
            [0, -89 * deg2rad, 0],
            [0, 0, 90 * deg2rad],
            [0, 0, -90 * deg2rad],
            [30 * deg2rad, 30 * deg2rad, 30 * deg2rad],
            [-30 * deg2rad, -30 * deg2rad, 45 * deg2rad]
        ];
        var hpr = new HeadingPitchRoll();
        for (var i = 0; i < testingTab.length; i++) {
            var init = testingTab[i];
            hpr.heading = init[0];
            hpr.pitch = init[1];
            hpr.roll = init[2];

            var result = HeadingPitchRoll.fromQuaternion(Quaternion.fromHeadingPitchRoll(hpr));
            expect(init[0]).toEqualEpsilon(result.heading, CesiumMath.EPSILON11);
            expect(init[1]).toEqualEpsilon(result.pitch, CesiumMath.EPSILON11);
            expect(init[2]).toEqualEpsilon(result.roll, CesiumMath.EPSILON11);
        }
    });

    it('conversion from degrees', function() {
        var testingTab = [
            [0, 0, 0],
            [90, 0, 0],
            [-90, 0, 0],
            [0, 89, 0],
            [0, -89, 0],
            [0, 0, 90],
            [0, 0, -90],
            [30, 30, 30],
            [-30, -30, 45]
        ];
        for (var i = 0; i < testingTab.length; i++) {
            var init = testingTab[i];
            var result = HeadingPitchRoll.fromDegrees(init[0], init[1], init[2]);
            expect(init[0] * deg2rad).toEqualEpsilon(result.heading, CesiumMath.EPSILON11);
            expect(init[1] * deg2rad).toEqualEpsilon(result.pitch, CesiumMath.EPSILON11);
            expect(init[2] * deg2rad).toEqualEpsilon(result.roll, CesiumMath.EPSILON11);
        }
    });

    it('fromDegrees with result', function() {
        var headingDeg = -115;
        var pitchDeg = 37;
        var rollDeg = 40;
        var headingRad = headingDeg * deg2rad;
        var pitchRad = pitchDeg * deg2rad;
        var rollRad = rollDeg * deg2rad;
        var result = new HeadingPitchRoll();
        var actual = HeadingPitchRoll.fromDegrees(headingDeg, pitchDeg, rollDeg, result);
        var expected = new HeadingPitchRoll(headingRad, pitchRad, rollRad);
        expect(actual).toEqual(expected);
        expect(actual).toBe(result);
    });

    it('clone with a result parameter', function() {
        var headingPitchRoll = new HeadingPitchRoll(1.0 * deg2rad, 2.0 * deg2rad, 3.0 * deg2rad);
        var result = new HeadingPitchRoll();
        var returnedResult = HeadingPitchRoll.clone(headingPitchRoll, result);
        expect(headingPitchRoll).not.toBe(result);
        expect(result).toBe(returnedResult);
        expect(headingPitchRoll).toEqual(result);
    });

    it('clone works with a result parameter that is an input parameter', function() {
        var headingPitchRoll = new HeadingPitchRoll(1.0 * deg2rad, 2.0 * deg2rad, 3.0 * deg2rad);
        var returnedResult = HeadingPitchRoll.clone(headingPitchRoll, headingPitchRoll);
        expect(headingPitchRoll).toBe(returnedResult);
    });

    it('equals', function() {
        var headingPitchRoll = new HeadingPitchRoll(1.0, 2.0, 3.0);
        expect(HeadingPitchRoll.equals(headingPitchRoll, new HeadingPitchRoll(1.0, 2.0, 3.0))).toEqual(true);
        expect(HeadingPitchRoll.equals(headingPitchRoll, new HeadingPitchRoll(2.0, 2.0, 3.0))).toEqual(false);
        expect(HeadingPitchRoll.equals(headingPitchRoll, new HeadingPitchRoll(2.0, 1.0, 3.0))).toEqual(false);
        expect(HeadingPitchRoll.equals(headingPitchRoll, new HeadingPitchRoll(1.0, 2.0, 4.0))).toEqual(false);
        expect(HeadingPitchRoll.equals(headingPitchRoll, undefined)).toEqual(false);
    });

    it('equalsEpsilon', function() {
        var headingPitchRoll = new HeadingPitchRoll(1.0, 2.0, 3.0);
        expect(headingPitchRoll.equalsEpsilon(new HeadingPitchRoll(1.0, 2.0, 3.0), 0.0)).toEqual(true);
        expect(headingPitchRoll.equalsEpsilon(new HeadingPitchRoll(1.0, 2.0, 3.0), 1.0)).toEqual(true);
        expect(headingPitchRoll.equalsEpsilon(new HeadingPitchRoll(2.0, 2.0, 3.0), 1.0)).toEqual(true);
        expect(headingPitchRoll.equalsEpsilon(new HeadingPitchRoll(1.0, 3.0, 3.0), 1.0)).toEqual(true);
        expect(headingPitchRoll.equalsEpsilon(new HeadingPitchRoll(1.0, 2.0, 4.0), 1.0)).toEqual(true);
        expect(headingPitchRoll.equalsEpsilon(new HeadingPitchRoll(2.0, 2.0, 3.0), CesiumMath.EPSILON6)).toEqual(false);
        expect(headingPitchRoll.equalsEpsilon(new HeadingPitchRoll(1.0, 3.0, 3.0), CesiumMath.EPSILON6)).toEqual(false);
        expect(headingPitchRoll.equalsEpsilon(new HeadingPitchRoll(1.0, 2.0, 4.0), CesiumMath.EPSILON6)).toEqual(false);
        expect(headingPitchRoll.equalsEpsilon(undefined, 1)).toEqual(false);

        headingPitchRoll = new HeadingPitchRoll(3000000.0, 4000000.0, 5000000.0);
        expect(headingPitchRoll.equalsEpsilon(new HeadingPitchRoll(3000000.0, 4000000.0, 5000000.0), 0.0)).toEqual(true);
        expect(headingPitchRoll.equalsEpsilon(new HeadingPitchRoll(3000000.2, 4000000.0, 5000000.0), CesiumMath.EPSILON7)).toEqual(true);
        expect(headingPitchRoll.equalsEpsilon(new HeadingPitchRoll(3000000.0, 4000000.2, 5000000.0), CesiumMath.EPSILON7)).toEqual(true);
        expect(headingPitchRoll.equalsEpsilon(new HeadingPitchRoll(3000000.0, 4000000.0, 5000000.2), CesiumMath.EPSILON7)).toEqual(true);
        expect(headingPitchRoll.equalsEpsilon(new HeadingPitchRoll(3000000.2, 4000000.2, 5000000.2), CesiumMath.EPSILON7)).toEqual(true);
        expect(headingPitchRoll.equalsEpsilon(new HeadingPitchRoll(3000000.2, 4000000.2, 5000000.2), CesiumMath.EPSILON9)).toEqual(false);
        expect(headingPitchRoll.equalsEpsilon(undefined, 1)).toEqual(false);

        expect(HeadingPitchRoll.equalsEpsilon(undefined, headingPitchRoll, 1)).toEqual(false);
    });

    it('toString', function() {
        var headingPitchRoll = new HeadingPitchRoll(1.123, 2.345, 6.789);
        expect(headingPitchRoll.toString()).toEqual('(1.123, 2.345, 6.789)');
    });

    it('fromQuaternion throws with no parameter', function() {
        expect(function() {
            HeadingPitchRoll.fromQuaternion();
        }).toThrowDeveloperError();
    });

    var scratchHeadingPitchRoll = new HeadingPitchRoll();

    it('fromDegrees throws with no heading parameter', function() {
        expect(function() {
            HeadingPitchRoll.fromDegrees(undefined, 0, 0, scratchHeadingPitchRoll);
        }).toThrowDeveloperError();
        expect(function() {
            HeadingPitchRoll.fromDegrees(undefined, 0, 0);
        }).toThrowDeveloperError();
    });

    it('fromDegrees throws with no pitch parameter', function() {
        expect(function() {
            HeadingPitchRoll.fromDegrees(0, undefined, 0, scratchHeadingPitchRoll);
        }).toThrowDeveloperError();
        expect(function() {
            HeadingPitchRoll.fromDegrees(0, undefined, 0);
        }).toThrowDeveloperError();
    });

    it('fromDegrees throws with no roll parameter', function() {
        expect(function() {
            HeadingPitchRoll.fromDegrees(0, 0, undefined, scratchHeadingPitchRoll);
        }).toThrowDeveloperError();
        expect(function() {
            HeadingPitchRoll.fromDegrees(0, 0, undefined);
        }).toThrowDeveloperError();
    });

});


text:
CREATE TABLE [tSQLt].[Private_Configurations] (
    [Name]  NVARCHAR (100) NOT NULL,
    [Value] SQL_VARIANT    NULL,
    PRIMARY KEY CLUSTERED ([Name] ASC)
);


text:
@class Presentation;
@class Slide;

@interface BaseCollectionView : NSCollectionView {

}

// Item handling
- (void) updateThumbnailSize;
- (void) resizePreviewSlidesAccordingTo:(NSSize)size;
- (void) setContent:(id)newContent andIndex:(NSUInteger)index;

// Selection handling
- (BOOL) deselectAll;
- (void) setSelectionIndexes:(NSIndexSet*)indexes;

@end


text:
using System;
using System.IO;
using System.Threading;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Newtonsoft.Json;

namespace ParticleIoNet.Client.UnitTests
{
    [TestClass]
    public class EventStreamProcessorTests
    {
        [TestMethod]
        public void TestProcessEvent()
        {
            var datetime = DateTimeOffset.Now;

            var expected = new EventData
            {
                Name = "event1",
                DeviceId = "id1",
                PublishedAt = datetime,
                Data = "somedata",
                Ttl = 60
            };

            using (var ms = new MemoryStream())
            {
                using (var writer = new StreamWriter(ms))
                {
                    writer.WriteLine("event: {0}", expected.Name);
                    writer.Flush();
                    var actualLength = ms.Length;
                    ms.Position = 0;

                    var sut = new EventStreamProcessor(ms, new CancellationTokenSource());

                    var actual = sut.GetEvent();
                    Assert.IsNull(actual);

                    writer.WriteLine("data: {0}", JsonConvert.SerializeObject(expected));
                    writer.Flush();
                    ms.Position = actualLength;

                    actual = sut.GetEvent();

                    Assert.IsNotNull(actual);
                    Assert.AreEqual(expected, actual);
                }
            }
        }
    }
}


text:
object Test {
  import implicits.Not

  class Foo
  class Bar
  implicit def foo: Foo = ???
  implicitly[Foo]
  implicitly[Not[Foo]] // error
  implicitly[Not[Bar]]
}


text:
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Entity;
using System.Data.Entity.Core.Objects;
using System.Linq;

namespace RedBox.DataAccess.Repositories
{
    public class Repository : IRepository
    {
        private static readonly List<EntityState> Changed = new List<EntityState> { EntityState.Added, EntityState.Deleted, EntityState.Modified };

        private readonly RedBoxEntities _context;
        private bool _isDisposed;

        public Repository()
        {
            _context = new RedBoxEntities();
        }

        public IQueryable<T> GetEntities<T>() where T : class
        {
            CheckDispose();
            return _context.Set<T>();
        }

        private void CheckDispose()
        {
            if (_isDisposed)
                throw new ObjectDisposedException("Repository");
        }

        public void Add<T>(T entity) where T : class
        {
            CheckDispose();
            _context.Set<T>().Add(entity);
        }

        public void Delete<T>(T entity) where T : class
        {
            CheckDispose();
            _context.Entry(entity).State = EntityState.Deleted;
        }

        public void Update<T>(T entity) where T : class
        {
            CheckDispose();
            _context.Entry(entity).State = EntityState.Modified;
        }

        public void Detach<T>(T entity) where T : class
        {
            CheckDispose();
            _context.Entry(entity).State = EntityState.Detached;
        }

        public string GetEntityType(Type type)
        {
            return ObjectContext.GetObjectType(type).Name;
        }

        private string GetQueryText(string procedureName, List<IDataParameter> @params)
        {
            string[] paramName = @params.Select(p => "@" + p.ParameterName).ToArray();
            string paramText = string.Join(",", paramName);

            string queryText = string.Format("EXEC {0},{1}", procedureName, paramText);
            return queryText;
        }

        public void Dispose()
        {
            if (_isDisposed) return;

            _context.Dispose();
            _isDisposed = true;
        }

        public void SaveChanges()
        {
            CheckDispose();
            _context.SaveChanges();
        }
    }
}


text:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.elasticsearch</groupId>
    <artifactId>elasticsearch-river-twitter</artifactId>
    <version>3.0.0-SNAPSHOT</version>
    <packaging>jar</packaging>
    <name>Elasticsearch Twitter River plugin</name>
    <description>The Twitter river indexes the public twitter stream, aka the hose, and makes it searchable</description>
    <url>https://github.com/elastic/elasticsearch-river-twitter/</url>
    <inceptionYear>2009</inceptionYear>
    <licenses>
        <license>
            <name>The Apache Software License, Version 2.0</name>
            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
            <distribution>repo</distribution>
        </license>
    </licenses>
    <scm>
        <connection>scm:git:git@github.com:elastic/elasticsearch-river-twitter.git</connection>
        <developerConnection>scm:git:git@github.com:elastic/elasticsearch-river-twitter.git</developerConnection>
        <url>http://github.com/elastic/elasticsearch-river-twitter</url>
    </scm>

    <parent>
        <groupId>org.elasticsearch</groupId>
        <artifactId>elasticsearch-plugin</artifactId>
        <version>2.0.0-SNAPSHOT</version>
    </parent>

    <properties>
        <twitter4j.version>4.0.3</twitter4j.version>
        <!-- no unit tests -->
        <tests.ifNoTests>warn</tests.ifNoTests>
        <tests.jvms>1</tests.jvms>
    </properties>

    <dependencies>
        <!-- Twitter4J -->
        <dependency>
            <groupId>org.twitter4j</groupId>
            <artifactId>twitter4j-stream</artifactId>
            <version>${twitter4j.version}</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

    <repositories>
        <repository>
            <id>oss-snapshots</id>
            <name>Sonatype OSS Snapshots</name>
            <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
        </repository>
    </repositories>
</project>


text:
#include "modules/video_coding/codecs/h264/include/h264.h"

#include "api/video_codecs/sdp_video_format.h"
#include "media/base/h264_profile_level_id.h"

#if defined(WEBRTC_USE_H264)
#include "modules/video_coding/codecs/h264/h264_decoder_impl.h"
#include "modules/video_coding/codecs/h264/h264_encoder_impl.h"
#endif

#include "rtc_base/checks.h"
#include "rtc_base/logging.h"
#include "rtc_base/ptr_util.h"

namespace webrtc {

namespace {

#if defined(WEBRTC_USE_H264)
bool g_rtc_use_h264 = true;
#endif

// If H.264 OpenH264/FFmpeg codec is supported.
bool IsH264CodecSupported() {
#if defined(WEBRTC_USE_H264)
  return g_rtc_use_h264;
#else
  return false;
#endif
}

SdpVideoFormat CreateH264Format(H264::Profile profile, H264::Level level) {
  const rtc::Optional<std::string> profile_string =
      H264::ProfileLevelIdToString(H264::ProfileLevelId(profile, level));
  RTC_CHECK(profile_string);
  return SdpVideoFormat(cricket::kH264CodecName,
                        {{cricket::kH264FmtpProfileLevelId, *profile_string},
                         {cricket::kH264FmtpLevelAsymmetryAllowed, "1"},
                         {cricket::kH264FmtpPacketizationMode, "1"}});
}

}  // namespace

void DisableRtcUseH264() {
#if defined(WEBRTC_USE_H264)
  g_rtc_use_h264 = false;
#endif
}

std::vector<SdpVideoFormat> SupportedH264Codecs() {
  if (!IsH264CodecSupported())
    return std::vector<SdpVideoFormat>();
  // We only support encoding Constrained Baseline Profile (CBP), but the
  // decoder supports more profiles. We can list all profiles here that are
  // supported by the decoder and that are also supersets of CBP, i.e. the
  // decoder for that profile is required to be able to decode CBP. This means
  // we can encode and send CBP even though we negotiated a potentially
  // higher profile. See the H264 spec for more information.
  return {CreateH264Format(H264::kProfileBaseline, H264::kLevel3_1),
          CreateH264Format(H264::kProfileConstrainedBaseline, H264::kLevel3_1)};
}

std::unique_ptr<H264Encoder> H264Encoder::Create(
    const cricket::VideoCodec& codec) {
  RTC_DCHECK(H264Encoder::IsSupported());
#if defined(WEBRTC_USE_H264)
  RTC_CHECK(g_rtc_use_h264);
  RTC_LOG(LS_INFO) << "Creating H264EncoderImpl.";
  return rtc::MakeUnique<H264EncoderImpl>(codec);
#else
  RTC_NOTREACHED();
  return nullptr;
#endif
}

bool H264Encoder::IsSupported() {
  return IsH264CodecSupported();
}

std::unique_ptr<H264Decoder> H264Decoder::Create() {
  RTC_DCHECK(H264Decoder::IsSupported());
#if defined(WEBRTC_USE_H264)
  RTC_CHECK(g_rtc_use_h264);
  RTC_LOG(LS_INFO) << "Creating H264DecoderImpl.";
  return rtc::MakeUnique<H264DecoderImpl>();
#else
  RTC_NOTREACHED();
  return nullptr;
#endif
}

bool H264Decoder::IsSupported() {
  return IsH264CodecSupported();
}

}  // namespace webrtc


text:
<?php
namespace Drafterbit\Bundle\PageBundle\Controller;

use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\JsonResponse;
use Drafterbit\Bundle\SystemBundle\Controller\FrontendController as BaseFrontendController;

class FrontendController extends BaseFrontendController
{
    public function viewAction($slug)
    {
        $page = $this->getDoctrine()->getManager()
            ->getRepository('DrafterbitPageBundle:Page')->findOneBy(['slug' => $slug]);

        if(!$page) {
            throw $this->createNotFoundException('Page Not Found');
        }

        return $this->render('content/page/view.html', ['page' => $page]);
    }
}


text:
require 'spec_helper'

describe SystemCheck::App::AuthorizedKeysPermissionCheck do
  subject(:system_check) { described_class.new }

  describe '#skip?' do
    subject { system_check.skip? }

    context 'authorized keys enabled' do
      it { is_expected.to eq(false) }
    end

    context 'authorized keys not enabled' do
      before do
        stub_application_setting(authorized_keys_enabled: false)
      end

      it { is_expected.to eq(true) }
    end
  end

  describe '#check?' do
    subject { system_check.check? }

    before do
      expect_next_instance_of(Gitlab::AuthorizedKeys) do |instance|
        allow(instance).to receive(:accessible?) { accessible? }
      end
    end

    context 'authorized keys is accessible' do
      let(:accessible?) { true }

      it { is_expected.to eq(true) }
    end

    context 'authorized keys is not accessible' do
      let(:accessible?) { false }

      it { is_expected.to eq(false) }
    end
  end

  describe '#repair!' do
    subject { system_check.repair! }

    before do
      expect_next_instance_of(Gitlab::AuthorizedKeys) do |instance|
        allow(instance).to receive(:create) { created }
      end
    end

    context 'authorized_keys file created' do
      let(:created) { true }

      it { is_expected.to eq(true) }
    end

    context 'authorized_keys file is not created' do
      let(:created) { false }

      it { is_expected.to eq(false) }
    end
  end
end


text:
class DummyData::LoadContentPlans
  class << self
    def run
      load_tags
      load_content_plans
    end

    def load_tags
      puts "[DummyData] load tags ---------------------------------------------------------- started"

      10.times do |i|
        ActsAsTaggableOn::Tag.find_or_create_by!(name: "Tag #{i + 1}")
      end

      puts "[DummyData] load tags ---------------------------------------------------------- completed"
    end

    def load_content_plans
      puts "[DummyData] load content_plans ---------------------------------------------------------- started"

      10.times do |i|
        build_content_plan(i)
      end

      puts "[DummyData] load content_plans ---------------------------------------------------------- completed"
    end

    def build_content_plan(i)
      content_plan = ContentPlan.create!(
        ref_no: "ref_no_#{i + 1}",
        title: "Content Plan #{i + 1}",
        organisation_ids: Organisation.limit(5).order("RAND()").map(&:id),
        needs: Need.limit(35).order("RAND()"),
        users: User.limit(5).order("RAND()"),
        tag_list: ActsAsTaggableOn::Tag.limit(5).order("RAND()")
      )

      if content_plan.present?
        2.times do |i|
          content_plan.tasks.create!(
            creator: User.limit(1).order("RAND()").first,
            title: "Task #{content_plan.id} - #{i + 1}"
          )

          content_plan.comments.create!(
            user: User.limit(1).order("RAND()").first,
            message: "Comment #{content_plan.id} - #{i + 1}"
          )
        end

        10.times do |i|
          content = content_plan.contents.create!(
            ref_no: "ref_content_no_#{i + 1}",
            title: "Content #{content_plan.id}-#{i + 1}",
            status: Content::STATUSES.values.flatten.uniq.sample,
            platform: Content::STATUSES.keys.sample,
            organisation_ids: Organisation.limit(5).order("RAND()").map(&:id),
            needs: Need.limit(35).order("RAND()"),
            users: User.limit(5).order("RAND()"),
            tag_list: ActsAsTaggableOn::Tag.limit(5).order("RAND()")
          )

          2.times do |i|
            content.tasks.create!(
              creator: User.limit(1).order("RAND()").first,
              title: "Task #{content.id} - #{i + 1}"
            )

            content.comments.create!(
              user: User.limit(1).order("RAND()").first,
              message: "Comment #{content.id} - #{i + 1}"
            )
          end
        end
      end
    end
  end
end


text:
package net.archenemy.archenemyapp.presenter;

import net.archenemy.archenemyapp.R;
import net.archenemy.archenemyapp.model.ProviderAdapter;

import android.view.View;
import android.widget.Button;
import android.widget.FrameLayout;
import android.widget.TextView;

/**
 * Abstract class with basic logic for account fragments, e.g. handling state of
 * button and text.
 *
 * @author chiljagossow
 *
 */
public abstract class AccountFragment extends BaseFragment {

  protected TextView userNameView;
  protected TextView subtext;
  protected TextView headerText;
  protected Button loginButton;
  protected String name;
  protected View view;
  protected FrameLayout text;

  protected ProviderAdapter providerAdapter;

  @Override
  public void onResume() {
    super.onResume();
    updateState();
  }

  /**
   * Sets corresponding texts for logged in state
   */
  protected void setLoggedIn() {
    if (loginButton != null) {
      loginButton.setEnabled(true);
      loginButton.setText(R.string.button_log_out);
    }
    if (subtext != null) {
      subtext.setText(R.string.account_logged_in);
      subtext.setTextColor(getResources().getColor(R.color.text_primary));
    }
    if (userNameView != null) {
      userNameView.setText(name);
    }
    if (headerText != null) {
      headerText.setText(null);
    }
  }

  /**
   * Sets corresponding texts for logged out state
   */
  protected void setLoggedOut() {
    name = null;
    if (loginButton != null) {
      loginButton.setEnabled(true);
      loginButton.setText(R.string.button_log_in);
    }
    if (subtext != null) {
      subtext.setText(null);
    }
    if (userNameView != null) {
      userNameView.setText(null);
    }
  }

  /**
   * Disables login button and sets corresponding text for off line state
   */
  protected void setOffline() {
    if (loginButton != null) {
      loginButton.setEnabled(false);
    }
    if (subtext != null) {
      subtext.setText(null);
    }
    if (userNameView != null) {
      userNameView.setText(null);
    }

  }

  protected void setOnline() {
    if (loginButton != null) {
      loginButton.setEnabled(true);
    }
  }

  /**
   * Updates state to logged in/out or off line.
   */
  protected void updateState() {
    if (isResumed) {
      if ((providerAdapter != null) && providerAdapter.isLoggedIn()) {
        setLoggedIn();
      } else {
        setLoggedOut();
      }
      if (Utility.isConnectedToNetwork(getActivity(), false)) {
        setOnline();
      } else {
        setOffline();
      }
    }
  }
}


text:
		Beteiligte Mitarbeiter

			<output for="BeteilMit"></output>
			<input type="range" name="BeteilMit" id="BeteilMit" min="0" max="<?php echo $anzMitarbeiter -> AnzMitarbeiter; ?>" disabled value="<?php echo $ProjektKomplex -> BeteilMit; ?>">

0

<?php echo $anzMitarbeiter -> AnzMitarbeiter; ?>

		Beteiligte Organisationseinheiten

			<?php echo $ProjektKomplex -> BeteilOrgEin; ?>

		Technische Komplexität

			<input type="range" name="KompTech" id="KompTech" min="0" max="5" step="1" disabled value="<?php echo $ProjektKomplex -> KompTech; ?>">

nicht anspruchsvoll

sehr anspruchsvoll

		Inovativitäts Komplexität

			<input type="range" name="KompInno" id="KompInno" min="0" max="5" step="1" disabled value="<?php echo $ProjektKomplex -> KompInno; ?>">

nicht anspruchsvoll

sehr anspruchsvoll


text:
<?php

namespace frontend\modules\oppp\controllers;

use yii\web\Controller;
use yii\db\Query;
use Yii;
use yii\data\ArrayDataProvider;

class ProcedureopdController extends Controller {
    public function actionIndex() {

        $date1 = "";
        $date2 = "";
        if (Yii::$app->request->isPost) {
            $date1 = $_POST['date1'];
            $date2 = $_POST['date2'];
        }

        $sql = "SELECT v.hn,v.vn,pt.cid,concat(pt.pname,pt.fname,' ',pt.lname) as full_name ,v.vstdate ,o.seq_id AS seq
        FROM vn_stat v
        LEFT OUTER JOIN patient pt on pt.hn=v.hn
        INNER JOIN ovst_seq o ON o.vn=v.vn
        INNER JOIN doctor d ON d.code=v.dx_doctor
        INNER JOIN spclty s ON s.spclty=v.spclty
        WHERE  v.vstdate BETWEEN '$date1' AND '$date2'
        and (v.cid='' or v.cid is null
        or o.seq_id='' or o.seq_id is null
        or v.vstdate='' or v.vstdate is null
        or s.provis_code='' or s.provis_code is null
        or v.op0='' or v.op0 is null
        or o.update_datetime='' or o.update_datetime is null)
        ORDER BY v.vstdate";

        $data = Yii::$app->db->createCommand($sql)->queryAll();
        $dataProvider = new ArrayDataProvider([
            'allModels'=>$data,
        ]);

        return $this->render('index', ['dataProvider' => $dataProvider, 'date1' => $date1, 'date2' => $date2]);
    }
    public function actionView($id=NULL ,$date1 = NULL, $date2 = NULL) {

        $sql = "SELECT concat(pt.pname,pt.fname,' ',pt.lname) as full_name,v.hn
        ,(SELECT hospitalcode FROM opdconfig) AS hospcode
        ,v.cid AS pid
        ,o.seq_id AS seq
        ,v.vstdate AS date_serv
        ,s.provis_code AS clinic
        ,v.op0 AS procedcode
        ,v.inc11 AS serviceprice
        ,d.licenseno AS provider
        ,o.update_datetime AS d_update
        FROM vn_stat v
        LEFT OUTER JOIN patient pt on pt.hn=v.hn
        INNER JOIN ovst_seq o ON o.vn=v.vn
        INNER JOIN doctor d ON d.code=v.dx_doctor
        INNER JOIN spclty s ON s.spclty=v.spclty
        WHERE o.seq_id='$id'
        and v.vstdate BETWEEN '$date1' AND '$date2'
        and (v.cid='' or v.cid is null
        or o.seq_id='' or o.seq_id is null
        or v.vstdate='' or v.vstdate is null
        or s.provis_code='' or s.provis_code is null
        or v.op0='' or v.op0 is null
        or o.update_datetime='' or o.update_datetime is null)";

        $data = Yii::$app->db->createCommand($sql)->queryAll();
        return $this->render('view', ['data_view' => $data]);
    }
}


text:
<refentry id="V4L2-PIX-FMT-Y12I">
  <refmeta>
    <refentrytitle>V4L2_PIX_FMT_Y12I ('Y12I')</refentrytitle>
    &manvol;
  </refmeta>
  <refnamediv>
    <refname><constant>V4L2_PIX_FMT_Y12I</constant></refname>
    <refpurpose>Interleaved grey-scale image, e.g. from a stereo-pair</refpurpose>
  </refnamediv>
  <refsect1>
    <title>Description</title>

    <para>This is a grey-scale image with a depth of 12 bits per pixel, but with
pixels from 2 sources interleaved and bit-packed. Each pixel is stored in a
24-bit word in the little-endian order. On a little-endian machine these pixels
can be deinterlaced using</para>

<para>
<programlisting>
__u8 *buf;
left0 = 0xfff & *(__u16 *)buf;
right0 = *(__u16 *)(buf + 1) >> 4;
</programlisting>
</para>

    <example>
      <title><constant>V4L2_PIX_FMT_Y12I</constant> 2 pixel data stream taking 3 bytes</title>

      <formalpara>
	<title>Bit-packed representation</title>
	<para>pixels cross the byte boundary and have a ratio of 3 bytes for each
          interleaved pixel.
	  <informaltable frame="all">
	    <tgroup cols="3" align="center">
	      <colspec align="left" colwidth="2*" />
	      <tbody valign="top">
		<row>
		  <entry>Y'<subscript>0left[7:0]</subscript></entry>
		  <entry>Y'<subscript>0right[3:0]</subscript>Y'<subscript>0left[11:8]</subscript></entry>
		  <entry>Y'<subscript>0right[11:4]</subscript></entry>
		</row>
	      </tbody>
	    </tgroup>
	  </informaltable>
	</para>
      </formalpara>
    </example>
  </refsect1>
</refentry>


text:
package test

import (
	"bytes"
	"fmt"
	"io"
	"io/ioutil"
	"strings"

	"github.com/docker/cli/cli/command"
	"github.com/docker/cli/cli/config/configfile"
	manifeststore "github.com/docker/cli/cli/manifest/store"
	registryclient "github.com/docker/cli/cli/registry/client"
	"github.com/docker/cli/cli/trust"
	"github.com/docker/docker/client"
	notaryclient "github.com/theupdateframework/notary/client"
)

type notaryClientFuncType func(imgRefAndAuth trust.ImageRefAndAuth, actions []string) (notaryclient.Repository, error)
type clientInfoFuncType func() command.ClientInfo

// FakeCli emulates the default DockerCli
type FakeCli struct {
	command.DockerCli
	client           client.APIClient
	configfile       *configfile.ConfigFile
	out              *command.OutStream
	outBuffer        *bytes.Buffer
	err              *bytes.Buffer
	in               *command.InStream
	server           command.ServerInfo
	clientInfoFunc   clientInfoFuncType
	notaryClientFunc notaryClientFuncType
	manifestStore    manifeststore.Store
	registryClient   registryclient.RegistryClient
}

// NewFakeCli returns a fake for the command.Cli interface
func NewFakeCli(client client.APIClient) *FakeCli {
	outBuffer := new(bytes.Buffer)
	errBuffer := new(bytes.Buffer)
	return &FakeCli{
		client:     client,
		out:        command.NewOutStream(outBuffer),
		outBuffer:  outBuffer,
		err:        errBuffer,
		in:         command.NewInStream(ioutil.NopCloser(strings.NewReader(""))),
		configfile: configfile.New("configfile"),
	}
}

// SetIn sets the input of the cli to the specified ReadCloser
func (c *FakeCli) SetIn(in *command.InStream) {
	c.in = in
}

// SetErr sets the stderr stream for the cli to the specified io.Writer
func (c *FakeCli) SetErr(err *bytes.Buffer) {
	c.err = err
}

// SetConfigFile sets the "fake" config file
func (c *FakeCli) SetConfigFile(configfile *configfile.ConfigFile) {
	c.configfile = configfile
}

// Client returns a docker API client
func (c *FakeCli) Client() client.APIClient {
	return c.client
}

// Out returns the output stream (stdout) the cli should write on
func (c *FakeCli) Out() *command.OutStream {
	return c.out
}

// Err returns the output stream (stderr) the cli should write on
func (c *FakeCli) Err() io.Writer {
	return c.err
}

// In returns the input stream the cli will use
func (c *FakeCli) In() *command.InStream {
	return c.in
}

// ConfigFile returns the cli configfile object (to get client configuration)
func (c *FakeCli) ConfigFile() *configfile.ConfigFile {
	return c.configfile
}

// ServerInfo returns API server information for the server used by this client
func (c *FakeCli) ServerInfo() command.ServerInfo {
	return c.server
}

// ClientInfo returns client information
func (c *FakeCli) ClientInfo() command.ClientInfo {
	if c.clientInfoFunc != nil {
		return c.clientInfoFunc()
	}
	return c.DockerCli.ClientInfo()
}

// SetClientInfo sets the internal getter for retrieving a ClientInfo
func (c *FakeCli) SetClientInfo(clientInfoFunc clientInfoFuncType) {
	c.clientInfoFunc = clientInfoFunc
}

// OutBuffer returns the stdout buffer
func (c *FakeCli) OutBuffer() *bytes.Buffer {
	return c.outBuffer
}

// ErrBuffer Buffer returns the stderr buffer
func (c *FakeCli) ErrBuffer() *bytes.Buffer {
	return c.err
}

// SetNotaryClient sets the internal getter for retrieving a NotaryClient
func (c *FakeCli) SetNotaryClient(notaryClientFunc notaryClientFuncType) {
	c.notaryClientFunc = notaryClientFunc
}

// NotaryClient returns an err for testing unless defined
func (c *FakeCli) NotaryClient(imgRefAndAuth trust.ImageRefAndAuth, actions []string) (notaryclient.Repository, error) {
	if c.notaryClientFunc != nil {
		return c.notaryClientFunc(imgRefAndAuth, actions)
	}
	return nil, fmt.Errorf("no notary client available unless defined")
}

// ManifestStore returns a fake store used for testing
func (c *FakeCli) ManifestStore() manifeststore.Store {
	return c.manifestStore
}

// RegistryClient returns a fake client for testing
func (c *FakeCli) RegistryClient(insecure bool) registryclient.RegistryClient {
	return c.registryClient
}

// SetManifestStore on the fake cli
func (c *FakeCli) SetManifestStore(store manifeststore.Store) {
	c.manifestStore = store
}

// SetRegistryClient on the fake cli
func (c *FakeCli) SetRegistryClient(client registryclient.RegistryClient) {
	c.registryClient = client
}


text:
/**
 * Marionette application.
 *
 * @type {Backbone.Marionette.Application}
 */

// create the Marionette application
var MongoApp = new Backbone.Marionette.Application();

/**
 * Marionette regions
 */
MongoApp.addRegions({
    mainMessageRegion: '#mainMessageRegion',
    mainRegion: '#mainRegion'
});

/**
 * Global settings for entire system.
 */
MongoApp.addInitializer(function () {

    // event dispatcher that can coordinate events among different areas of your application
    this.dispatcher = _.clone(Backbone.Events);

    this.events = {
        // system error on client has occurred
        CLIENT_ERROR: 'client_error',

        // system error on server has occurred
        SERVER_ERROR: 'server_error',

        // user authenticating to the system
        LOGIN: 'login',

        // user logging out of system
        LOGOUT: 'logout',

        // user successfully authenticated
        LOGIN_SUCCESS: 'loginSuccess',

        // user failed authentication
        LOGIN_FAILED: 'loginFailed',

        // user successfully logged out
        LOGOUT_SUCCESS: 'logoutSuccess',

        // user's session has expired
        SESSION_EXPIRED: 'sessionExpired',

        // User is choosing a different workspace to be analyzed
        WKSP_LOAD: 'workspaceLoad',

        // Refresh the currently Workspace model associated with MongoApp.workspaceKey
        WKSP_REFRESH: 'workspaceRefresh',

        // current Workspace model has been changed
        WKSP_CHANGE: 'workspaceChange',

        // closes the current Workspace model
        WKSP_CLOSE: 'workspaceClose',

        // metadata for current workspaceKey has been loaded
        WKSP_META_LOADED: 'workspaceMetaLoaded',

        // signals that a new sample group should be created
        WKSP_GROUP_CREATE: 'workspaceGroupCreate',

        // signals that the given workspaceKey should be removed
        WKSP_REMOVE: 'workspaceRemove',

        // download the current search results of the workspaceKey
        WKSP_DOWNLOAD: 'workspaceDownload',

        WKSP_CONFIG_COLS: 'workspaceConfigColumns',

        // User is choosing a different search
        SEARCH_LOAD: 'searchLoad',

        // signals that a new filter should be added to the search
        SEARCH_FILTER_STEP_ADD: 'filterAdd',

        // signals that a search has changed and search results should be updated
        SEARCH_CHANGED: 'searchChanged',

        // signals that an existing filter should be removed from the search
        SEARCH_FILTER_STEP_REMOVE: 'filterRemove',

        // signals that the search should be saved to the server-side persistence store
        SEARCH_SAVE: 'saveSearch',

        // signals that the search should be deleted from the server-side persistence store
        SEARCH_DELETE: 'deleteSearch',

        // signals that the search should be exported to a file on the client
        SEARCH_EXPORT: 'exportSearch',

        // signals that the search should be imported from a file on the client
        SEARCH_IMPORT: 'importSearch',

        // signals that a dialog showing the search objects should be shown
        SEARCH_SHOW_DIALOG: 'showSearchDialog',

        // variant data has been fetched from server
        // event passes 2 parameters
        // #1 how many variants fetched
        // #2 how many variants total
        SEARCH_COMPLETE: 'searchComplete',

        INDEX_CREATE_FAILED: 'indexCreateFailed',

        INDEX_DROP_FAILED: 'indexDropFailed'
    };

    // GLOBAL
    this.settings =
    {
        maxFilteredVariants: 0,
        popupDuration: 0, // seconds
        maxFilterValues: 0,
        showMissingIndexWarning: false
    };

    // GLOBAL
    this.indexController = new DatabaseIndexController();
    this.search = new Search();

    // constants
    this.FILTER_NONE         = new Filter({name: 'none', displayName: 'none', operator: FilterOperator.UNKNOWN, displayOperator: '',  value: '' , displayValue: '', id:'id-none'}),
    this.FILTER_IN_GROUP     = new GroupFilter({name: 'Variants in Group',     operator: FilterOperator.EQ, value: '0', displayValue: '0', category: FilterCategory.IN_GROUP, description:'Filters variants based on matching samples'});
    this.FILTER_NOT_IN_GROUP = new GroupFilter({name: 'Variants not in Group', operator: FilterOperator.EQ, value: '0', displayValue: '0', category: FilterCategory.NOT_IN_GROUP, description:'Filters variants based on non-matching samples'});
    this.FILTER_MIN_ALT_AD   = new AltAlleleDepthFilter();

    this.showPleaseWait = function() {
        $('#pleaseWaitDialog').modal();
    };

    this.closePleaseWait = function() {
        $('#pleaseWaitDialog').modal('hide');
    }
});

/**
 *
 */
MongoApp.addInitializer(function () {

    var self = this;

    this.listenTo(MongoApp.dispatcher, MongoApp.events.LOGIN_SUCCESS, function () {

        // clear out message region
        self.mainMessageRegion.reset();

        MongoApp.mainRegion.show(new MainLayout());
    });

    this.listenTo(MongoApp.dispatcher, MongoApp.events.SESSION_EXPIRED, function () {

        var expireAlert = Backbone.Marionette.Layout.extend({
            template: "#session-expired-layout-template"
        });
        self.mainMessageRegion.show(new expireAlert());

        // user was logged out by the usersecurityapp
        MongoApp.dispatcher.trigger(MongoApp.events.LOGOUT_SUCCESS);
    });

    this.listenTo(MongoApp.dispatcher, MongoApp.events.LOGOUT_SUCCESS, function () {

        self.securityController.reset();
        self.workspaceController.reset();

        // show login page
        self.securityController.showLogin({region: MongoApp.mainRegion });
    });
});

/**
 * Marionette controllers
 */
MongoApp.addInitializer(function () {
    this.workspaceController = new WorkspaceController();
    this.settingsController = new SettingsController();
    this.searchController = new SearchController();
    this.variantDataController = new VariantDataController();
    this.rangeQueryController = new RangeQueryController();
    this.addFilterController = new AddFilterController();

    // Wire Marionette events to function callbacks
    this.listenTo(MongoApp.dispatcher, MongoApp.events.SERVER_ERROR, function (errorMessage) {

        $('#server_error_message_container').html(errorMessage);
        $('#server_error_modal').modal();

        console.log(errorMessage);
    });
    this.listenTo(MongoApp.dispatcher, MongoApp.events.CLIENT_ERROR, function (errorMessage) {

        $('#client_error_modal').find('.modal-body').html(errorMessage);
        $('#client_error_modal').modal();

        console.log(errorMessage);
    });

    this.listenTo(MongoApp.dispatcher, MongoApp.events.WKSP_LOAD, function (newWorkspaceKey, search) {
        MongoApp.workspaceKey = newWorkspaceKey;

        MongoApp.dispatcher.trigger(MongoApp.events.WKSP_CHANGE, MongoApp.workspaceKey);

        search.set("key", MongoApp.workspaceKey);
        MongoApp.dispatcher.trigger(MongoApp.events.SEARCH_LOAD, search);
    });

    this.listenTo(MongoApp.dispatcher, MongoApp.events.SEARCH_LOAD, function (newSearch) {

        // make copy that we can safely modify
        var s = newSearch.clone();

        // detach backbone collection attributes
        var filterSteps = s.get("filterSteps");
        s.unset("filterSteps");

        // carry over non-collection attributes
        MongoApp.search.set(s.attributes);

        // rebuild backbone collection attributes
        MongoApp.search.get("filterSteps").reset();
        var async = false; // async is FALSE because we need to add multiple filterSteps in sequence
        if (filterSteps.length == 0) {
            // only have the NONE filter, okay to have it async
            async = true;
        }

        // NONE step (always there by default)
        var noneStep = new FilterStep();
        noneStep.get("filters").add(MongoApp.FILTER_NONE);
        MongoApp.dispatcher.trigger(MongoApp.events.SEARCH_FILTER_STEP_ADD, noneStep);
        MongoApp.dispatcher.trigger(MongoApp.events.SEARCH_CHANGED, MongoApp.search, async);

        _.each(filterSteps.models, function(filterStep) {
            MongoApp.dispatcher.trigger(MongoApp.events.SEARCH_FILTER_STEP_ADD, filterStep);
            MongoApp.dispatcher.trigger(MongoApp.events.SEARCH_CHANGED, MongoApp.search, async);
        });

        MongoApp.search.set("saved", true);
    });
});

/**
 * Fires after all initializers and after the initializer events
 */
MongoApp.on("start", function(options){

    this.securityController = new SecurityController();

    switch (this.securityController.getSessionStatus()) {

        case SessionStatus.VALID:
            // fire event that user has been logged in
            MongoApp.dispatcher.trigger(MongoApp.events.LOGIN_SUCCESS);
            break;

        case SessionStatus.INVALID:
            // show login page
            this.securityController.showLogin({region: MongoApp.mainRegion });
            break;

        case SessionStatus.EXPIRED:
            // fire event that user's session has been expired
            MongoApp.dispatcher.trigger(MongoApp.events.SESSION_EXPIRED);
            break;
    }
});


text:
@class DTCoreTextLayoutLine;
@class DTTextAttachment;

@interface DTCoreTextGlyphRun : NSObject
{
	CTRunRef _run;

	CGRect _frame;

	CGFloat _offset; // x distance from line origin
	CGFloat ascent;
	CGFloat descent;
	CGFloat leading;
	CGFloat width;

	NSInteger numberOfGlyphs;

	const CGPoint *glyphPositionPoints;
  BOOL needToFreeGlyphPositionPoints;

	DTCoreTextLayoutLine *_line;
    NSArray *stringIndices;

	DTTextAttachment *_attachment;
	BOOL _didCheckForAttachmentInAttributes;
	BOOL _didCalculateMetrics;
}

- (id)initWithRun:(CTRunRef)run layoutLine:(DTCoreTextLayoutLine *)layoutLine offset:(CGFloat)offset;

- (CGRect)frameOfGlyphAtIndex:(NSInteger)index;
- (CGRect)imageBoundsInContext:(CGContextRef)context;
- (NSRange)stringRange;
- (NSArray *)stringIndices;

- (void)drawInContext:(CGContextRef)context;

- (void)fixMetricsFromAttachment;

@property (nonatomic, assign, readonly) CGRect frame;
@property (nonatomic, assign, readonly) NSInteger numberOfGlyphs;
@property (nonatomic, strong, readonly) NSDictionary *attributes;

@property (nonatomic, assign, readonly) CGFloat ascent;
@property (nonatomic, assign, readonly) CGFloat descent;
@property (nonatomic, assign, readonly) CGFloat leading;
@property (nonatomic, assign, readonly) CGFloat width;

@property (nonatomic, strong) DTTextAttachment *attachment;

@end


text:
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
          "DTD/xhtml1-transitional.dtd">

  <title>sword</title>
  <link rel="stylesheet" href="epydoc.css" type="text/css" />

Module sword

Classes

    SwordFactory

Variables

    DEPOSIT_RECORD
    DEPOSIT_RECORD_DO
    REPOSITORY_STATUS
    REPOSITORY_STATUS_DO

[hide private]


text:
#import <DVTKit/DVTBorderedView.h>

@class DVTChoice, NSArray, NSMapTable, NSMutableArray, NSSearchField;

@interface DVTTabChooserView : DVTBorderedView
{
    double *_currentChoiceXCoordinates;
    NSSearchField *_searchField;
    DVTChoice *_selectedChoice;
    long long _pressedIndex;
    long long _mouseDownIndex;
    NSMutableArray *_choices;
    NSMapTable *_accessibilityProxiesByChoice;
    struct {
        unsigned int hasSearchField:1;
        unsigned int _reserved:7;
    } _flags;
    id <DVTTabChooserViewDelegate> _delegate;
    double _choicesOffset;
}

+ (id)keyPathsForValuesAffectingSelectedChoice;
+ (void)initialize;
@property double choicesOffset; // @synthesize choicesOffset=_choicesOffset;
@property __weak id <DVTTabChooserViewDelegate> delegate; // @synthesize delegate=_delegate;
@property(retain, nonatomic) NSSearchField *searchField; // @synthesize searchField=_searchField;
- (void).cxx_destruct;
- (id)accessibilityHitTest:(struct CGPoint)arg1;
- (BOOL)accessibilityIsAttributeSettable:(id)arg1;
- (id)accessibilityAttributeValue:(id)arg1;
- (id)accessibilityAttributeNames;
- (BOOL)accessibilityIsIgnored;
- (id)accessibilityProxyForChoice:(id)arg1;
@property BOOL hasSearchField;
- (void)installSearchField;
- (struct CGRect)searchFieldFrame;
- (void)mouseUp:(id)arg1;
- (void)mouseDragged:(id)arg1;
- (void)mouseDown:(id)arg1;
- (BOOL)acceptsFirstMouse:(id)arg1;
- (id)choiceForEvent:(id)arg1 index:(long long *)arg2;
- (id)choiceForPoint:(struct CGPoint)arg1 index:(long long *)arg2;
- (void)drawRect:(struct CGRect)arg1;
- (void)drawChoiceAtIndex:(long long)arg1;
- (void)drawOneChoice;
- (id)attributedTitleForChoice:(id)arg1 forceActive:(BOOL)arg2;
- (void)updateGeometryForDrawing;
- (struct CGRect)rectForChoice:(id)arg1;
- (struct CGRect)rectForChoiceAtIndex:(long long)arg1;
@property(readonly) double minimumWidth;
- (struct CGRect)totalChoicesRect;
- (double)totalWidth;
- (double)widthForChoiceAtIndex:(long long)arg1;
- (double)widthForChoice:(id)arg1;
- (void)updateBoundSelectedObjects;
@property(retain) DVTChoice *selectedChoice; // @synthesize selectedChoice=_selectedChoice;
@property(readonly) NSMutableArray *mutableChoices;
- (void)updateBoundContent;
@property(copy) NSArray *choices;
- (id)choiceWithIdentifier:(id)arg1;
- (id)choiceAtIndex:(long long)arg1;
- (void)viewWillMoveToWindow:(id)arg1;
- (void)dealloc;
- (id)initWithCoder:(id)arg1;
- (id)initWithFrame:(struct CGRect)arg1;
- (void)commonInit;
- (id)dvtExtraBindings;

@end


text:
/*
   jQuery News Ticker is free software: you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation, version 2 of the License.

   jQuery News Ticker is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with jQuery News Ticker.  If not, see <http://www.gnu.org/licenses/>.
   */
(function($){
  $.fn.ticker = function(options) {
    // Extend our default options with those provided.
    // Note that the first arg to extend is an empty object -
    // this is to keep from overriding our "defaults" object.
    var opts = $.extend({}, $.fn.ticker.defaults, options);

    // check that the passed element is actually in the DOM
    if ($(this).length == 0) {
      if (window.console && window.console.log) {
        window.console.log('Element does not exist in DOM!');
      }
      else {
        alert('Element does not exist in DOM!');
      }
      return false;
    }

    /* Get the id of the UL to get our news content from */
    var newsID = '#' + $(this).attr('id');

    /* Get the tag type - we will check this later to makde sure it is a UL tag */
    var tagType = $(this).get(0).tagName;

    return this.each(function() {
      // get a unique id for this ticker
      var uniqID = getUniqID();

      /* Internal vars */
      var settings = {
        position: 0,
        time: 0,
        distance: 0,
        newsArr: {},
        play: true,
        paused: false,
        contentLoaded: false,
        dom: {
          contentID: '#ticker-content-' + uniqID,
          titleID: '#ticker-title-' + uniqID,
          titleElem: '#ticker-title-' + uniqID + ' SPAN',
          tickerID : '#ticker-' + uniqID,
          wrapperID: '#ticker-wrapper-' + uniqID,
          revealID: '#ticker-swipe-' + uniqID,
          revealElem: '#ticker-swipe-' + uniqID + ' SPAN',
          controlsID: '#ticker-controls-' + uniqID,
          prevID: '#prev-' + uniqID,
          nextID: '#next-' + uniqID,
          playPauseID: '#play-pause-' + uniqID
        }
      };

      // if we are not using a UL, display an error message and stop any further execution
      if (tagType != 'UL' && tagType != 'OL' && opts.htmlFeed === true) {
        debugError('Cannot use <' + tagType.toLowerCase() + '> type of element for this plugin - must of type
 or
');
        return false;
      }

      // set the ticker direction
      opts.direction == 'rtl' ? opts.direction = 'right' : opts.direction = 'left';

      // lets go...
      initialisePage();
      /* Function to get the size of an Object*/
      function countSize(obj) {
        var size = 0, key;
        for (key in obj) {
          if (obj.hasOwnProperty(key)) size++;
        }
        return size;
      };

      function getUniqID() {
        var newDate = new Date;
        return newDate.getTime();
      }

      /* Function for handling debug and error messages */
      function debugError(obj) {
        if (opts.debugMode) {
          if (window.console && window.console.log) {
            window.console.log(obj);
          }
          else {
            alert(obj);
          }
        }
      }

      /* Function to setup the page */
      function initialisePage() {
        // process the content for this ticker
        processContent();

        // add our HTML structure for the ticker to the DOM
        $(newsID).wrap('

');

        // remove any current content inside this ticker
        $(settings.dom.wrapperID).children().remove();

        $(settings.dom.wrapperID).append('

');
        $(settings.dom.wrapperID).removeClass('no-js').addClass('ticker-wrapper has-js ' + opts.direction);
        // hide the ticker
        $(settings.dom.tickerElem + ',' + settings.dom.contentID).hide();
        // add the controls to the DOM if required
        if (opts.controls) {
          // add related events - set functions to run on given event
          $(settings.dom.controlsID).on('click mouseover mousedown mouseout mouseup', function (e) {
            var button = e.target.id;
            if (e.type == 'click') {
              switch (button) {
                case settings.dom.prevID.replace('#', ''):
                  // show previous item
                  settings.paused = true;
                  $(settings.dom.playPauseID).addClass('paused');
                  manualChangeContent('prev');
                  break;
                case settings.dom.nextID.replace('#', ''):
                  // show next item
                  settings.paused = true;
                  $(settings.dom.playPauseID).addClass('paused');
                  manualChangeContent('next');
                  break;
                case settings.dom.playPauseID.replace('#', ''):
                  // play or pause the ticker
                  if (settings.play == true) {
                    settings.paused = true;
                    $(settings.dom.playPauseID).addClass('paused');
                    pauseTicker();
                  }
                  else {
                    settings.paused = false;
                    $(settings.dom.playPauseID).removeClass('paused');
                    restartTicker();
                  }
                  break;
              }
            }
            else if (e.type == 'mouseover' && $('#' + button).hasClass('controls')) {
              $('#' + button).addClass('over');
            }
            else if (e.type == 'mousedown' && $('#' + button).hasClass('controls')) {
              $('#' + button).addClass('down');
            }
            else if (e.type == 'mouseup' && $('#' + button).hasClass('controls')) {
              $('#' + button).removeClass('down');
            }
            else if (e.type == 'mouseout' && $('#' + button).hasClass('controls')) {
              $('#' + button).removeClass('over');
            }
          });
          // add controls HTML to DOM
          $(settings.dom.wrapperID).append('

');
        }
        if (opts.displayType != 'fade') {
          // add mouse over on the content
          $(settings.dom.contentID).mouseover(function () {
            if (settings.paused == false) {
              pauseTicker();
            }
          }).mouseout(function () {
            if (settings.paused == false) {
              restartTicker();
            }
          });
        }
        // we may have to wait for the ajax call to finish here
        if (!opts.ajaxFeed) {
          setupContentAndTriggerDisplay();
        }
      }

      /* Start to process the content for this ticker */
      function processContent() {
        // check to see if we need to load content
        if (settings.contentLoaded == false) {
          // construct content
          if (opts.ajaxFeed) {
            if (opts.feedType == 'xml') {
              $.ajax({
                url: opts.feedUrl,
                cache: false,
                dataType: opts.feedType,
                async: true,
                success: function(data){
                  count = 0;
                  // get the 'root' node
                  for (var a = 0; a < data.childNodes.length; a++) {
                    if (data.childNodes[a].nodeName == 'rss') {
                      xmlContent = data.childNodes[a];
                    }
                  }
                  // find the channel node
                  for (var i = 0; i < xmlContent.childNodes.length; i++) {
                    if (xmlContent.childNodes[i].nodeName == 'channel') {
                      xmlChannel = xmlContent.childNodes[i];
                    }
                  }
                  // for each item create a link and add the article title as the link text
                  for (var x = 0; x < xmlChannel.childNodes.length; x++) {
                    if (xmlChannel.childNodes[x].nodeName == 'item') {
                      xmlItems = xmlChannel.childNodes[x];
                      var title, link = false;
                      for (var y = 0; y < xmlItems.childNodes.length; y++) {
                        if (xmlItems.childNodes[y].nodeName == 'title') {
                          title = xmlItems.childNodes[y].lastChild.nodeValue;
                        }
                        else if (xmlItems.childNodes[y].nodeName == 'link') {
                          link = xmlItems.childNodes[y].lastChild.nodeValue;
                        }
                        if ((title !== false && title != '') && link !== false) {
                          settings.newsArr['item-' + count] = { type: opts.titleText, content: '' + title + '' };
                          count++;
                          title = false;
                          link = false;
                        }
                      }
                    }
                  }
                  // quick check here to see if we actually have any content - log error if not
                  if (countSize(settings.newsArr < 1)) {
                    debugError('Couldn\'t find any content from the XML feed for the ticker to use!');
                    return false;
                  }
                  settings.contentLoaded = true;
                  setupContentAndTriggerDisplay();
                }
              });
            }
            else {
              debugError('Code Me!');
            }
          }
          else if (opts.htmlFeed) {
            if($(newsID + ' LI').length > 0) {
              $(newsID + ' LI').each(function (i) {
                // maybe this could be one whole object and not an array of objects?
                settings.newsArr['item-' + i] = { type: opts.titleText, content: $(this).html()};
              });
            }
            else {
              debugError('Couldn\'t find HTML any content for the ticker to use!');
              return false;
            }
          }
          else {
            debugError('The ticker is set to not use any types of content! Check the settings for the ticker.');
            return false;
          }
        }
      }

      function setupContentAndTriggerDisplay() {

        settings.contentLoaded = true;

        // update the ticker content with the correct item
        // insert news content into DOM
        $(settings.dom.titleElem).html(settings.newsArr['item-' + settings.position].type);
        $(settings.dom.contentID).html(settings.newsArr['item-' + settings.position].content);

        // set the next content item to be used - loop round if we are at the end of the content
        if (settings.position == (countSize(settings.newsArr) -1)) {
          settings.position = 0;
        }
        else {
          settings.position++;
        }

        // get the values of content and set the time of the reveal (so all reveals have the same speed regardless of content size)
        distance = $(settings.dom.contentID).width();
        time = distance / opts.speed;

        // start the ticker animation
        revealContent();
      }

      // slide back cover or fade in content
      function revealContent() {
        $(settings.dom.contentID).css('opacity', '1');
        if(settings.play) {
          // get the width of the title element to offset the content and reveal
          var offset = $(settings.dom.titleID).width() + 20;

          $(settings.dom.revealID).css(opts.direction, offset + 'px');
          // show the reveal element and start the animation
          if (opts.displayType == 'fade') {
            // fade in effect ticker
            $(settings.dom.revealID).hide(0, function () {
              $(settings.dom.contentID).css(opts.direction, offset + 'px').fadeIn(opts.fadeInSpeed, postReveal);
            });
          }
          else if (opts.displayType == 'scroll') {
            // to code
          }
          else {
            // default bbc scroll effect
            $(settings.dom.revealElem).show(0, function () {
              $(settings.dom.contentID).css(opts.direction, offset + 'px').show();
              // set our animation direction
              animationAction = opts.direction == 'right' ? { marginRight: distance + 'px'} : { marginLeft: distance + 'px' };
              $(settings.dom.revealID).css('margin-' + opts.direction, '0px').delay(20).animate(animationAction, time, 'linear', postReveal);
            });
          }
        }
        else {
          return false;
        }
      };

      // here we hide the current content and reset the ticker elements to a default state ready for the next ticker item
      function postReveal() {
        if(settings.play) {
          // we have to separately fade the content out here to get around an IE bug - needs further investigation
          $(settings.dom.contentID).delay(opts.pauseOnItems).fadeOut(opts.fadeOutSpeed);
          // deal with the rest of the content, prepare the DOM and trigger the next ticker
          if (opts.displayType == 'fade') {
            $(settings.dom.contentID).fadeOut(opts.fadeOutSpeed, function () {
              $(settings.dom.wrapperID)
                .find(settings.dom.revealElem + ',' + settings.dom.contentID)
                .hide()
                .end().find(settings.dom.tickerID + ',' + settings.dom.revealID)
                .show()
                .end().find(settings.dom.tickerID + ',' + settings.dom.revealID)
                .removeAttr('style');
              setupContentAndTriggerDisplay();
            });
          }
          else {
            $(settings.dom.revealID).hide(0, function () {
              $(settings.dom.contentID).fadeOut(opts.fadeOutSpeed, function () {
                $(settings.dom.wrapperID)
                  .find(settings.dom.revealElem + ',' + settings.dom.contentID)
                  .hide()
                  .end().find(settings.dom.tickerID + ',' + settings.dom.revealID)
                  .show()
                  .end().find(settings.dom.tickerID + ',' + settings.dom.revealID)
                  .removeAttr('style');
                setupContentAndTriggerDisplay();
              });
            });
          }
        }
        else {
          $(settings.dom.revealElem).hide();
        }
      }

      // pause ticker
      function pauseTicker() {
        settings.play = false;
        // stop animation and show content - must pass "true, true" to the stop function, or we can get some funky behaviour
        $(settings.dom.tickerID + ',' + settings.dom.revealID + ',' + settings.dom.titleID + ',' + settings.dom.titleElem + ',' + settings.dom.revealElem + ',' + settings.dom.contentID).stop(true, true);
        $(settings.dom.revealID + ',' + settings.dom.revealElem).hide();
        $(settings.dom.wrapperID)
          .find(settings.dom.titleID + ',' + settings.dom.titleElem).show()
          .end().find(settings.dom.contentID).show();
      }

      // play ticker
      function restartTicker() {
        settings.play = true;
        settings.paused = false;
        // start the ticker again
        postReveal();
      }

      // change the content on user input
      function manualChangeContent(direction) {
        pauseTicker();
        switch (direction) {
          case 'prev':
            if (settings.position == 0) {
              settings.position = countSize(settings.newsArr) -2;
            }
            else if (settings.position == 1) {
              settings.position = countSize(settings.newsArr) -1;
            }
            else {
              settings.position = settings.position - 2;
            }
            $(settings.dom.titleElem).html(settings.newsArr['item-' + settings.position].type);
            $(settings.dom.contentID).html(settings.newsArr['item-' + settings.position].content);
            break;
          case 'next':
            $(settings.dom.titleElem).html(settings.newsArr['item-' + settings.position].type);
            $(settings.dom.contentID).html(settings.newsArr['item-' + settings.position].content);
            break;
        }
        // set the next content item to be used - loop round if we are at the end of the content
        if (settings.position == (countSize(settings.newsArr) -1)) {
          settings.position = 0;
        }
        else {
          settings.position++;
        }
      }
    });
  };

  // plugin defaults - added as a property on our plugin function
  $.fn.ticker.defaults = {
    speed: 0.10,
    ajaxFeed: false,
    feedUrl: '',
    feedType: 'xml',
    displayType: 'reveal',
    htmlFeed: true,
    debugMode: true,
    controls: true,
    titleText: 'Latest',
    direction: 'ltr',
    pauseOnItems: 3000,
    fadeInSpeed: 600,
    fadeOutSpeed: 300
  };
})(jQuery);


text:
#include "config.h"
#include "SampleMap.h"

#if ENABLE(MEDIA_SOURCE)

#include "MediaSample.h"

namespace WebCore {

template <typename M>
class SampleIsLessThanMediaTimeComparator {
public:
    typedef typename M::value_type value_type;
    bool operator()(const value_type& value, const MediaTime& time)
    {
        MediaTime presentationEndTime = value.second->presentationTime() + value.second->duration();
        return presentationEndTime <= time;
    }
    bool operator()(const MediaTime& time, const value_type& value)
    {
        MediaTime presentationStartTime = value.second->presentationTime();
        return time < presentationStartTime;
    }
};

template <typename M>
class SampleIsGreaterThanMediaTimeComparator {
public:
    typedef typename M::value_type value_type;
    bool operator()(const value_type& value, const MediaTime& time)
    {
        MediaTime presentationStartTime = value.second->presentationTime();
        return presentationStartTime > time;
    }
    bool operator()(const MediaTime& time, const value_type& value)
    {
        MediaTime presentationEndTime = value.second->presentationTime() + value.second->duration();
        return time >= presentationEndTime;
    }
};

class SampleIsRandomAccess {
public:
    bool operator()(DecodeOrderSampleMap::MapType::value_type& value)
    {
        return value.second->flags() == MediaSample::IsSync;
    }
};

// SamplePresentationTimeIsInsideRangeComparator matches (range.first, range.second]
struct SamplePresentationTimeIsInsideRangeComparator {
    bool operator()(std::pair<MediaTime, MediaTime> range, const std::pair<MediaTime, RefPtr<MediaSample>>& value)
    {
        return range.second < value.first;
    }
    bool operator()(const std::pair<MediaTime, RefPtr<MediaSample>>& value, std::pair<MediaTime, MediaTime> range)
    {
        return value.first <= range.first;
    }
};

// SamplePresentationTimeIsWithinRangeComparator matches [range.first, range.second)
struct SamplePresentationTimeIsWithinRangeComparator {
    bool operator()(std::pair<MediaTime, MediaTime> range, const std::pair<MediaTime, RefPtr<MediaSample>>& value)
    {
        return range.second <= value.first;
    }
    bool operator()(const std::pair<MediaTime, RefPtr<MediaSample>>& value, std::pair<MediaTime, MediaTime> range)
    {
        return value.first < range.first;
    }
};

bool SampleMap::empty() const
{
    return presentationOrder().m_samples.empty();
}

void SampleMap::clear()
{
    presentationOrder().m_samples.clear();
    decodeOrder().m_samples.clear();
    m_totalSize = 0;
}

void SampleMap::addSample(PassRefPtr<MediaSample> prpSample)
{
    RefPtr<MediaSample> sample = prpSample;
    ASSERT(sample);

    MediaTime presentationTime = sample->presentationTime();

    presentationOrder().m_samples.insert(PresentationOrderSampleMap::MapType::value_type(presentationTime, sample));

    auto decodeKey = DecodeOrderSampleMap::KeyType(sample->decodeTime(), presentationTime);
    decodeOrder().m_samples.insert(DecodeOrderSampleMap::MapType::value_type(decodeKey, sample));

    m_totalSize += sample->sizeInBytes();
}

void SampleMap::removeSample(MediaSample* sample)
{
    ASSERT(sample);
    MediaTime presentationTime = sample->presentationTime();

    presentationOrder().m_samples.erase(presentationTime);

    auto decodeKey = DecodeOrderSampleMap::KeyType(sample->decodeTime(), presentationTime);
    decodeOrder().m_samples.erase(decodeKey);

    m_totalSize -= sample->sizeInBytes();
}

PresentationOrderSampleMap::iterator PresentationOrderSampleMap::findSampleWithPresentationTime(const MediaTime& time)
{
    auto range = m_samples.equal_range(time);
    if (range.first == range.second)
        return end();
    return range.first;
}

PresentationOrderSampleMap::iterator PresentationOrderSampleMap::findSampleContainingPresentationTime(const MediaTime& time)
{
    auto range = std::equal_range(begin(), end(), time, SampleIsLessThanMediaTimeComparator<MapType>());
    if (range.first == range.second)
        return end();
    return range.first;
}

PresentationOrderSampleMap::iterator PresentationOrderSampleMap::findSampleOnOrAfterPresentationTime(const MediaTime& time)
{
    return m_samples.lower_bound(time);
}

DecodeOrderSampleMap::iterator DecodeOrderSampleMap::findSampleWithDecodeKey(const KeyType& key)
{
    return m_samples.find(key);
}

PresentationOrderSampleMap::reverse_iterator PresentationOrderSampleMap::reverseFindSampleContainingPresentationTime(const MediaTime& time)
{
    auto range = std::equal_range(rbegin(), rend(), time, SampleIsGreaterThanMediaTimeComparator<MapType>());
    if (range.first == range.second)
        return rend();
    return range.first;
}

PresentationOrderSampleMap::reverse_iterator PresentationOrderSampleMap::reverseFindSampleBeforePresentationTime(const MediaTime& time)
{
    return std::lower_bound(rbegin(), rend(), time, SampleIsGreaterThanMediaTimeComparator<MapType>());
}

DecodeOrderSampleMap::reverse_iterator DecodeOrderSampleMap::reverseFindSampleWithDecodeKey(const KeyType& key)
{
    DecodeOrderSampleMap::iterator found = findSampleWithDecodeKey(key);
    if (found == end())
        return rend();
    return --reverse_iterator(found);
}

DecodeOrderSampleMap::reverse_iterator DecodeOrderSampleMap::findSyncSamplePriorToPresentationTime(const MediaTime& time, const MediaTime& threshold)
{
    PresentationOrderSampleMap::reverse_iterator reverseCurrentSamplePTS = m_presentationOrder.reverseFindSampleBeforePresentationTime(time);
    if (reverseCurrentSamplePTS == m_presentationOrder.rend())
        return rend();

    const RefPtr<MediaSample>& sample = reverseCurrentSamplePTS->second;
    reverse_iterator reverseCurrentSampleDTS = reverseFindSampleWithDecodeKey(KeyType(sample->decodeTime(), sample->presentationTime()));

    reverse_iterator foundSample = findSyncSamplePriorToDecodeIterator(reverseCurrentSampleDTS);
    if (foundSample == rend())
        return rend();
    if (foundSample->second->presentationTime() < time - threshold)
        return rend();
    return foundSample;
}

DecodeOrderSampleMap::reverse_iterator DecodeOrderSampleMap::findSyncSamplePriorToDecodeIterator(reverse_iterator iterator)
{
    return std::find_if(iterator, rend(), SampleIsRandomAccess());
}

DecodeOrderSampleMap::iterator DecodeOrderSampleMap::findSyncSampleAfterPresentationTime(const MediaTime& time, const MediaTime& threshold)
{
    PresentationOrderSampleMap::iterator currentSamplePTS = m_presentationOrder.findSampleOnOrAfterPresentationTime(time);
    if (currentSamplePTS == m_presentationOrder.end())
        return end();

    const RefPtr<MediaSample>& sample = currentSamplePTS->second;
    iterator currentSampleDTS = findSampleWithDecodeKey(KeyType(sample->decodeTime(), sample->presentationTime()));

    MediaTime upperBound = time + threshold;
    iterator foundSample = std::find_if(currentSampleDTS, end(), SampleIsRandomAccess());
    if (foundSample == end())
        return end();
    if (foundSample->second->presentationTime() > upperBound)
        return end();
    return foundSample;
}

DecodeOrderSampleMap::iterator DecodeOrderSampleMap::findSyncSampleAfterDecodeIterator(iterator currentSampleDTS)
{
    if (currentSampleDTS == end())
        return end();
    return std::find_if(++currentSampleDTS, end(), SampleIsRandomAccess());
}

PresentationOrderSampleMap::iterator_range PresentationOrderSampleMap::findSamplesBetweenPresentationTimes(const MediaTime& beginTime, const MediaTime& endTime)
{
    std::pair<MediaTime, MediaTime> range(beginTime, endTime);
    return std::equal_range(begin(), end(), range, SamplePresentationTimeIsInsideRangeComparator());
}

PresentationOrderSampleMap::iterator_range PresentationOrderSampleMap::findSamplesWithinPresentationRange(const MediaTime& beginTime, const MediaTime& endTime)
{
    std::pair<MediaTime, MediaTime> range(beginTime, endTime);
    return std::equal_range(begin(), end(), range, SamplePresentationTimeIsWithinRangeComparator());
}

PresentationOrderSampleMap::iterator_range PresentationOrderSampleMap::findSamplesWithinPresentationRangeFromEnd(const MediaTime& beginTime, const MediaTime& endTime)
{
    reverse_iterator rangeEnd = std::find_if(rbegin(), rend(), [&beginTime] (PresentationOrderSampleMap::MapType::value_type value) {
        return value.second->presentationTime() <= beginTime;
    });

    reverse_iterator rangeStart = std::find_if(rbegin(), rangeEnd, [&endTime] (PresentationOrderSampleMap::MapType::value_type value) {
        return value.second->presentationTime() <= endTime;
    });

    return iterator_range(rangeStart.base(), rangeEnd.base());
}

DecodeOrderSampleMap::reverse_iterator_range DecodeOrderSampleMap::findDependentSamples(MediaSample* sample)
{
    ASSERT(sample);
    reverse_iterator currentDecodeIter = reverseFindSampleWithDecodeKey(KeyType(sample->decodeTime(), sample->presentationTime()));
    reverse_iterator nextSyncSample = findSyncSamplePriorToDecodeIterator(currentDecodeIter);
    return reverse_iterator_range(currentDecodeIter, nextSyncSample);
}

}

#endif


text:
All submissions must be in PDF format. Submissions are limited to **two** content pages, including all figures and tables. _An additional page containing only references is allowed_. Submissions should be in a single column , typeset using 11-point or larger fonts and have at least 1-inch margin all around. Submissions that do not follow these guidelines risk being rejected without consideration of their merits. We encourage authors to use one of these templates to prepare their submission:

- [Overleaf template](https://www.overleaf.com/latex/templates/neurips-2020/mnshsmqkjsqz)
- [Word template](https://drive.google.com/file/d/1NR0ac0u0BiE4xqnZpkShPF4zLSa3ASqw/view)
- **Check out some samples here:** [BAI Sample Papers](https://github.com/blackinai/bai-sample-papers)
- **And some resources that can be useful when writing your paper:** [Black in AI Help](https://rabeshi.github.io/blackhelp/overview.html)

### Registration
---
Registration starts on September 24, 2021. We strongly encourage workshop attendees to register for the workshops as early as possible. The registration can be found [here](https://neurips.cc/Register2).

        NeurIPS provides financial support to our community. Students with accepted papers are particularly encouraged to apply. The applications will close on November 26, 2021. If you are interested, please fill this form:

**Financial Assistance Application: neurips.cc/Surveys/61](https://neurips.cc/Surveys/61)**

### Important Dates
----
- **Call for Paper Submission Opens on CMT:**
    - ~~September 24, 2021~~
- **Call for Paper Submission Deadline:**
    - ~~October 22, 2021 - 11:59 PM UTC~~
    -
        <s>Submission Deadline EXTENDED to <s>October 29</s> November 1st, 2021 - 11:59 PM UTC </s>

- **Notification of Call for paper acceptance:**
    - November 22, 2021
- **Poster Submission Deadline for Accepted papers:**
    - November 29, 2021

## Submissions
---
### Submit your work at [BLACKINAI2021](https://cmt3.research.microsoft.com/BAI2021)

Microsoft Conference Management Toolkit (CMT): [HOW-TO: Author Submission](https://cmt3.research.microsoft.com/docs/help/author/author-submission-form.html#use-known-conference-url)

For any questions, please contact the organisers at **blackinai2021@googlegroups.com**


text:
/*
 * Example file, just here to establish the project structure
 */