﻿html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font: inherit;
    font-size: 100%;
    vertical-align: baseline
}

html {
    line-height: 1
}

ol, ul {
    list-style: none
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

caption, th, td {
    text-align: left;
    font-weight: normal;
    vertical-align: middle
}

q, blockquote {
    quotes: none
}

q:before, q:after, blockquote:before, blockquote:after {
    content: "";
    content: none
}

a img {
    border: none
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
    display: block
}

html, body {
    height: 100%
}

#document {
    min-height: 100%
}

body {
    max-width: 33em
}

.segment {
    padding: 0.5em 0 0.5em 33em;
    white-space: nowrap
}

.segment:first-child {
    padding-top: 4.1em
}

.segment:last-child {
    padding-bottom: 2em
}

.segment .comments, .segment .code {
    display: inline-block;
    vertical-align: top;
    padding: 0 2em
}

.segment .comments {
    margin-left: -33em;
    width: 29em;
    white-space: normal
}

.segment .code {
    white-space: pre
}

#meta {
    position: absolute;
    left: 33em;
    padding: 0.25em 1em
}

@media (max-width: 53em) {
    html {
        font-size: 1em
    }
}

@media (max-width: 52.94111em) {
    html {
        font-size: 0.99889em
    }
}

@media (max-width: 52.88222em) {
    html {
        font-size: 0.99778em
    }
}

@media (max-width: 52.82333em) {
    html {
        font-size: 0.99667em
    }
}

@media (max-width: 52.76444em) {
    html {
        font-size: 0.99556em
    }
}

@media (max-width: 52.70556em) {
    html {
        font-size: 0.99444em
    }
}

@media (max-width: 52.64667em) {
    html {
        font-size: 0.99333em
    }
}

@media (max-width: 52.58778em) {
    html {
        font-size: 0.99222em
    }
}

@media (max-width: 52.52889em) {
    html {
        font-size: 0.99111em
    }
}

@media (max-width: 52.47em) {
    html {
        font-size: 0.99em
    }
}

@media (max-width: 52.41111em) {
    html {
        font-size: 0.98889em
    }
}

@media (max-width: 52.35222em) {
    html {
        font-size: 0.98778em
    }
}

@media (max-width: 52.29333em) {
    html {
        font-size: 0.98667em
    }
}

@media (max-width: 52.23444em) {
    html {
        font-size: 0.98556em
    }
}

@media (max-width: 52.17556em) {
    html {
        font-size: 0.98444em
    }
}

@media (max-width: 52.11667em) {
    html {
        font-size: 0.98333em
    }
}

@media (max-width: 52.05778em) {
    html {
        font-size: 0.98222em
    }
}

@media (max-width: 51.99889em) {
    html {
        font-size: 0.98111em
    }
}

@media (max-width: 51.94em) {
    html {
        font-size: 0.98em
    }
}

@media (max-width: 51.88111em) {
    html {
        font-size: 0.97889em
    }
}

@media (max-width: 51.82222em) {
    html {
        font-size: 0.97778em
    }
}

@media (max-width: 51.76333em) {
    html {
        font-size: 0.97667em
    }
}

@media (max-width: 51.70444em) {
    html {
        font-size: 0.97556em
    }
}

@media (max-width: 51.64556em) {
    html {
        font-size: 0.97444em
    }
}

@media (max-width: 51.58667em) {
    html {
        font-size: 0.97333em
    }
}

@media (max-width: 51.52778em) {
    html {
        font-size: 0.97222em
    }
}

@media (max-width: 51.46889em) {
    html {
        font-size: 0.97111em
    }
}

@media (max-width: 51.41em) {
    html {
        font-size: 0.97em
    }
}

@media (max-width: 51.35111em) {
    html {
        font-size: 0.96889em
    }
}

@media (max-width: 51.29222em) {
    html {
        font-size: 0.96778em
    }
}

@media (max-width: 51.23333em) {
    html {
        font-size: 0.96667em
    }
}

@media (max-width: 51.17444em) {
    html {
        font-size: 0.96556em
    }
}

@media (max-width: 51.11556em) {
    html {
        font-size: 0.96444em
    }
}

@media (max-width: 51.05667em) {
    html {
        font-size: 0.96333em
    }
}

@media (max-width: 50.99778em) {
    html {
        font-size: 0.96222em
    }
}

@media (max-width: 50.93889em) {
    html {
        font-size: 0.96111em
    }
}

@media (max-width: 50.88em) {
    html {
        font-size: 0.96em
    }
}

@media (max-width: 50.82111em) {
    html {
        font-size: 0.95889em
    }
}

@media (max-width: 50.76222em) {
    html {
        font-size: 0.95778em
    }
}

@media (max-width: 50.70333em) {
    html {
        font-size: 0.95667em
    }
}

@media (max-width: 50.64444em) {
    html {
        font-size: 0.95556em
    }
}

@media (max-width: 50.58556em) {
    html {
        font-size: 0.95444em
    }
}

@media (max-width: 50.52667em) {
    html {
        font-size: 0.95333em
    }
}

@media (max-width: 50.46778em) {
    html {
        font-size: 0.95222em
    }
}

@media (max-width: 50.40889em) {
    html {
        font-size: 0.95111em
    }
}

@media (max-width: 50.35em) {
    html {
        font-size: 0.95em
    }
}

@media (max-width: 50.29111em) {
    html {
        font-size: 0.94889em
    }
}

@media (max-width: 50.23222em) {
    html {
        font-size: 0.94778em
    }
}

@media (max-width: 50.17333em) {
    html {
        font-size: 0.94667em
    }
}

@media (max-width: 50.11444em) {
    html {
        font-size: 0.94556em
    }
}

@media (max-width: 50.05556em) {
    html {
        font-size: 0.94444em
    }
}

@media (max-width: 49.99667em) {
    html {
        font-size: 0.94333em
    }
}

@media (max-width: 49.93778em) {
    html {
        font-size: 0.94222em
    }
}

@media (max-width: 49.87889em) {
    html {
        font-size: 0.94111em
    }
}

@media (max-width: 49.82em) {
    html {
        font-size: 0.94em
    }
}

@media (max-width: 49.76111em) {
    html {
        font-size: 0.93889em
    }
}

@media (max-width: 49.70222em) {
    html {
        font-size: 0.93778em
    }
}

@media (max-width: 49.64333em) {
    html {
        font-size: 0.93667em
    }
}

@media (max-width: 49.58444em) {
    html {
        font-size: 0.93556em
    }
}

@media (max-width: 49.52556em) {
    html {
        font-size: 0.93444em
    }
}

@media (max-width: 49.46667em) {
    html {
        font-size: 0.93333em
    }
}

@media (max-width: 49.40778em) {
    html {
        font-size: 0.93222em
    }
}

@media (max-width: 49.34889em) {
    html {
        font-size: 0.93111em
    }
}

@media (max-width: 49.29em) {
    html {
        font-size: 0.93em
    }
}

@media (max-width: 49.23111em) {
    html {
        font-size: 0.92889em
    }
}

@media (max-width: 49.17222em) {
    html {
        font-size: 0.92778em
    }
}

@media (max-width: 49.11333em) {
    html {
        font-size: 0.92667em
    }
}

@media (max-width: 49.05444em) {
    html {
        font-size: 0.92556em
    }
}

@media (max-width: 48.99556em) {
    html {
        font-size: 0.92444em
    }
}

@media (max-width: 48.93667em) {
    html {
        font-size: 0.92333em
    }
}

@media (max-width: 48.87778em) {
    html {
        font-size: 0.92222em
    }
}

@media (max-width: 48.81889em) {
    html {
        font-size: 0.92111em
    }
}

@media (max-width: 48.76em) {
    html {
        font-size: 0.92em
    }
}

@media (max-width: 48.70111em) {
    html {
        font-size: 0.91889em
    }
}

@media (max-width: 48.64222em) {
    html {
        font-size: 0.91778em
    }
}

@media (max-width: 48.58333em) {
    html {
        font-size: 0.91667em
    }
}

@media (max-width: 48.52444em) {
    html {
        font-size: 0.91556em
    }
}

@media (max-width: 48.46556em) {
    html {
        font-size: 0.91444em
    }
}

@media (max-width: 48.40667em) {
    html {
        font-size: 0.91333em
    }
}

@media (max-width: 48.34778em) {
    html {
        font-size: 0.91222em
    }
}

@media (max-width: 48.28889em) {
    html {
        font-size: 0.91111em
    }
}

@media (max-width: 48.23em) {
    html {
        font-size: 0.91em
    }
}

@media (max-width: 48.17111em) {
    html {
        font-size: 0.90889em
    }
}

@media (max-width: 48.11222em) {
    html {
        font-size: 0.90778em
    }
}

@media (max-width: 48.05333em) {
    html {
        font-size: 0.90667em
    }
}

@media (max-width: 47.99444em) {
    html {
        font-size: 0.90556em
    }
}

@media (max-width: 47.93556em) {
    html {
        font-size: 0.90444em
    }
}

@media (max-width: 47.87667em) {
    html {
        font-size: 0.90333em
    }
}

@media (max-width: 47.81778em) {
    html {
        font-size: 0.90222em
    }
}

@media (max-width: 47.75889em) {
    html {
        font-size: 0.90111em
    }
}

@media (max-width: 47.7em) {
    html {
        font-size: 0.9em
    }
}

@media (max-width: 47.64111em) {
    html {
        font-size: 0.89889em
    }
}

@media (max-width: 47.58222em) {
    html {
        font-size: 0.89778em
    }
}

@media (max-width: 47.52333em) {
    html {
        font-size: 0.89667em
    }
}

@media (max-width: 47.46444em) {
    html {
        font-size: 0.89556em
    }
}

@media (max-width: 47.40556em) {
    html {
        font-size: 0.89444em
    }
}

@media (max-width: 47.34667em) {
    html {
        font-size: 0.89333em
    }
}

@media (max-width: 47.28778em) {
    html {
        font-size: 0.89222em
    }
}

@media (max-width: 47.22889em) {
    html {
        font-size: 0.89111em
    }
}

@media (max-width: 47.17em) {
    html {
        font-size: 0.89em
    }
}

@media (max-width: 47.11111em) {
    html {
        font-size: 0.88889em
    }
}

@media (max-width: 47.05222em) {
    html {
        font-size: 0.88778em
    }
}

@media (max-width: 46.99333em) {
    html {
        font-size: 0.88667em
    }
}

@media (max-width: 46.93444em) {
    html {
        font-size: 0.88556em
    }
}

@media (max-width: 46.87556em) {
    html {
        font-size: 0.88444em
    }
}

@media (max-width: 46.81667em) {
    html {
        font-size: 0.88333em
    }
}

@media (max-width: 46.75778em) {
    html {
        font-size: 0.88222em
    }
}

@media (max-width: 46.69889em) {
    html {
        font-size: 0.88111em
    }
}

@media (max-width: 46.64em) {
    html {
        font-size: 0.88em
    }
}

@media (max-width: 46.58111em) {
    html {
        font-size: 0.87889em
    }
}

@media (max-width: 46.52222em) {
    html {
        font-size: 0.87778em
    }
}

@media (max-width: 46.46333em) {
    html {
        font-size: 0.87667em
    }
}

@media (max-width: 46.40444em) {
    html {
        font-size: 0.87556em
    }
}

@media (max-width: 46.34556em) {
    html {
        font-size: 0.87444em
    }
}

@media (max-width: 46.28667em) {
    html {
        font-size: 0.87333em
    }
}

@media (max-width: 46.22778em) {
    html {
        font-size: 0.87222em
    }
}

@media (max-width: 46.16889em) {
    html {
        font-size: 0.87111em
    }
}

@media (max-width: 46.11em) {
    html {
        font-size: 0.87em
    }
}

@media (max-width: 46.05111em) {
    html {
        font-size: 0.86889em
    }
}

@media (max-width: 45.99222em) {
    html {
        font-size: 0.86778em
    }
}

@media (max-width: 45.93333em) {
    html {
        font-size: 0.86667em
    }
}

@media (max-width: 45.87444em) {
    html {
        font-size: 0.86556em
    }
}

@media (max-width: 45.81556em) {
    html {
        font-size: 0.86444em
    }
}

@media (max-width: 45.75667em) {
    html {
        font-size: 0.86333em
    }
}

@media (max-width: 45.69778em) {
    html {
        font-size: 0.86222em
    }
}

@media (max-width: 45.63889em) {
    html {
        font-size: 0.86111em
    }
}

@media (max-width: 45.58em) {
    html {
        font-size: 0.86em
    }
}

@media (max-width: 45.52111em) {
    html {
        font-size: 0.85889em
    }
}

@media (max-width: 45.46222em) {
    html {
        font-size: 0.85778em
    }
}

@media (max-width: 45.40333em) {
    html {
        font-size: 0.85667em
    }
}

@media (max-width: 45.34444em) {
    html {
        font-size: 0.85556em
    }
}

@media (max-width: 45.28556em) {
    html {
        font-size: 0.85444em
    }
}

@media (max-width: 45.22667em) {
    html {
        font-size: 0.85333em
    }
}

@media (max-width: 45.16778em) {
    html {
        font-size: 0.85222em
    }
}

@media (max-width: 45.10889em) {
    html {
        font-size: 0.85111em
    }
}

@media (max-width: 45.05em) {
    html {
        font-size: 1em
    }

    body {
        margin: 0 auto
    }

    .segment {
        padding: 0;
        white-space: normal;
        max-width: 29em;
        margin: 0 auto
    }

    .segment .comments, .segment .code {
        display: block;
        padding: 1em
    }

    .segment .comments {
        margin-left: 0;
        width: auto
    }

    .segment .code {
        display: block;
        overflow-y: hidden;
        overflow-x: auto
    }

    .segment .code .wrapper {
        display: inline-block
    }

    #meta {
        position: static;
        margin: 2em 0 0 0;
        overflow-y: hidden;
        overflow-x: auto
    }

    #meta .file-path {
        display: inline-block
    }
}

nav {
    position: fixed;
    top: 0;
    right: 0;
    width: 20em
}

@media (max-width: 45.05em) {
    nav {
        left: 0;
        width: 100%
    }
}

nav .tools {
    position: relative;
    z-index: 100
}

nav .tools li {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    white-space: nowrap;
    height: 2.1em;
    padding: 0 0.55em
}

nav .tools .github {
    padding: 0
}

nav .tools .github a {
    display: block;
    height: 2.1em;
    width: 2.1em;
    text-indent: -9001em
}

nav .tools .search {
    width: 100%
}

nav .tools .search input {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: block;
    width: 100%
}

nav .toc {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: absolute;
    top: 2.1em;
    bottom: 0;
    width: 100%;
    overflow-x: hidden;
    overflow-y: auto
}

nav .toc li {
    position: relative
}

nav .toc .label {
    display: block;
    line-height: 2em;
    padding: 0 0.55em 0 0.55em
}

nav .toc li li .label {
    padding-left: 1.1em
}

nav .toc li li li .label {
    padding-left: 1.65em
}

nav .toc li li li li .label {
    padding-left: 2.2em
}

nav .toc li li li li li .label {
    padding-left: 2.75em
}

nav .toc li li li li li li .label {
    padding-left: 3.3em
}

nav {
    -moz-transition: height 150ms 0;
    -o-transition: height 150ms 0;
    -webkit-transition: height 150ms 0;
    transition: height 150ms 0
}

nav .tools .toggle {
    -moz-transition: background 150ms;
    -o-transition: background 150ms;
    -webkit-transition: background 150ms;
    transition: background 150ms
}

nav.active {
    -moz-transition: height 0;
    -o-transition: height 0;
    -webkit-transition: height 0;
    transition: height 0;
    height: 100%
}

nav .toc {
    -moz-transition: right 150ms;
    -o-transition: right 150ms;
    -webkit-transition: right 150ms;
    transition: right 150ms;
    right: -100%
}

nav.active .toc {
    right: 0
}

@media (max-width: 45.05em) {
    nav .toc {
        -moz-transition: left 150ms;
        -o-transition: left 150ms;
        -webkit-transition: left 150ms;
        transition: left 150ms;
        right: auto;
        left: -100%
    }

    nav.active .toc {
        left: 0
    }
}

@media (max-width: 45.05em) {
    body {
        -moz-transition: left 150ms;
        -o-transition: left 150ms;
        -webkit-transition: left 150ms;
        transition: left 150ms;
        position: relative;
        left: 0
    }

    html.popped {
        overflow: hidden
    }

    html.popped body {
        left: 100%;
        overflow: hidden
    }
}

nav .toc .children, nav .toc .outline {
    display: none
}

nav .toc .expanded > .children, nav .toc .expanded > .outline, nav .toc .expanded > .outline .children {
    display: block
}

nav .toc .discloser {
    -moz-transition-property: -moz-transform, -webkit-transform, -o-transform, -moz-transform;
    -o-transition-property: -moz-transform, -webkit-transform, -o-transform, -o-transform;
    -webkit-transition-property: -moz-transform, -webkit-transform, -o-transform, -webkit-transform;
    transition-property: -moz-transform -webkit-transform -o-transform transform;
    -moz-transition-duration: 200ms;
    -o-transition-duration: 200ms;
    -webkit-transition-duration: 200ms;
    transition-duration: 200ms;
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
    display: inline-block;
    height: 9px;
    width: 9px;
    padding: 0.2em;
    margin: 0.2em 0.2em -0.2em 0.2em;
    vertical-align: baseline;
    background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDowOEFDRENGQzE2NEUxMUUxODdDNUQ2ODM0QzVGRkVBMSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDowOEFDRENGRDE2NEUxMUUxODdDNUQ2ODM0QzVGRkVBMSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjA4QUNEQ0ZBMTY0RTExRTE4N0M1RDY4MzRDNUZGRUExIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjA4QUNEQ0ZCMTY0RTExRTE4N0M1RDY4MzRDNUZGRUExIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+nQHMgwAAAM1JREFUeNpi/P//P0NJSYkuAwNDJhDXAPE7BjIAExIbZNA9IC4CYjZKDAIBfiDuBeLzQOxBiUEwoAXE26FYixKDYMAD6rpeqGvJNogBGl5F0PDLpMQgGBAC4mlQF9pTYhAMGADxASBeB8RylBgEA4FAfAOIW4CYhxKDQIAZxmChwJD1QFwGxHfINegaEGcB8UFyA/sd1AA9dEOIddFfIJ4OzdAfcSkiZNAOIC6GegcvwGXQHagBm8jNtB+hBmiTYgi6i+ZCw+EFOWkBIMAA1W4l62UzKWwAAAAASUVORK5CYII=') center center no-repeat;
    background-size: 9px 9px
}

nav .toc .discloser.placeholder, nav .toc .expanded > .outline .discloser {
    background: none
}

nav .toc .expanded > .label .discloser {
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg)
}

nav .toc .filtered > .label {
    display: none
}

nav .toc .matched-child > .label {
    display: block
}

nav .toc .matched-child > .children, nav .toc .matched-child > .outline, nav .toc .matched-child > .outline .children {
    display: block
}

nav .toc .matched > .children, nav .toc .matched > .outline, nav .toc .matched > .outline .children {
    display: block
}

nav.searching .toc .discloser {
    display: none
}

.comments .wrapper {
    font-family: "Helvetica Neue", Helvetica, "Droid Sans", sans-serif;
    font-weight: 300;
    font-size: 0.9375em;
    line-height: 1.35
}

.comments .wrapper h1, .comments .wrapper h2, .comments .wrapper h3, .comments .wrapper h4, .comments .wrapper h5, .comments .wrapper h6 {
    font-family: "HelveticaNeue-UltraLight", "Helvetica Neue", Helvetica, "Droid Sans", sans-serif;
    font-weight: 100;
    letter-spacing: 0.0625em;
    line-height: 1.25;
    margin-bottom: 0.5em
}

.comments .wrapper h1 {
    font-size: 2.5em
}

.comments .wrapper h2 {
    font-size: 2em
}

.comments .wrapper h3 {
    font-size: 1.6em
}

.comments .wrapper h4 {
    font-size: 1.4em
}

.comments .wrapper h5 {
    font-size: 1.3em
}

.comments .wrapper h6 {
    font-size: 1.2em
}

.comments .wrapper p {
    margin: 1em 0
}

.comments .wrapper > *:first-child {
    margin-top: 0
}

.comments .wrapper > *:last-child {
    margin-bottom: 0
}

.comments .wrapper ol, .comments .wrapper ul {
    padding-left: 1.75em;
    margin: 1em 0
}

.comments .wrapper ol li {
    list-style: decimal
}

.comments .wrapper ul li {
    list-style: disc
}

.comments .wrapper li {
    margin: 1em 0
}

.comments .wrapper li:first-child {
    margin-top: 0
}

.comments .wrapper li:last-child {
    margin-bottom: 0
}

.comments .wrapper code {
    display: inline-block;
    padding: 0.25em 0.25em 0 0.25em
}

.comments .wrapper pre {
    display: block;
    overflow-x: auto;
    overflow-y: hidden;
    margin-bottom: 1em
}

.comments .wrapper pre .hljs-comment, .comments .wrapper pre .hljs-template_comment, .comments .wrapper pre .diff .hljs-header, .comments .wrapper pre .hljs-doctype, .comments .wrapper pre .hljs-pi, .comments .wrapper pre .lisp .hljs-string, .comments .wrapper pre .hljs-javadoc {
    color: #93a1a1;
    font-style: italic
}

.comments .wrapper pre .hljs-keyword, .comments .wrapper pre .hljs-winutils, .comments .wrapper pre .method, .comments .wrapper pre .hljs-addition, .comments .wrapper pre .css .hljs-tag, .comments .wrapper pre .hljs-request, .comments .wrapper pre .hljs-status, .comments .wrapper pre .nginx .hljs-title {
    color: #859900
}

.comments .wrapper pre .hljs-number, .comments .wrapper pre .hljs-command, .comments .wrapper pre .hljs-string, .comments .wrapper pre .hljs-tag .hljs-value, .comments .wrapper pre .hljs-rules .hljs-value, .comments .wrapper pre .hljs-phpdoc, .comments .wrapper pre .tex .hljs-formula, .comments .wrapper pre .hljs-regexp, .comments .wrapper pre .hljs-hexcolor {
    color: #2aa198
}

.comments .wrapper pre .hljs-title, .comments .wrapper pre .hljs-localvars, .comments .wrapper pre .hljs-chunk, .comments .wrapper pre .hljs-decorator, .comments .wrapper pre .hljs-built_in, .comments .wrapper pre .hljs-identifier, .comments .wrapper pre .vhdl .hljs-literal, .comments .wrapper pre .hljs-id, .comments .wrapper pre .css .hljs-function {
    color: #268bd2
}

.comments .wrapper pre .hljs-attribute, .comments .wrapper pre .hljs-variable, .comments .wrapper pre .lisp .hljs-body, .comments .wrapper pre .smalltalk .hljs-number, .comments .wrapper pre .hljs-constant, .comments .wrapper pre .hljs-class .hljs-title, .comments .wrapper pre .hljs-parent, .comments .wrapper pre .haskell .hljs-type {
    color: #b58900
}

.comments .wrapper pre .hljs-preprocessor, .comments .wrapper pre .hljs-preprocessor .hljs-keyword, .comments .wrapper pre .hljs-pragma, .comments .wrapper pre .hljs-shebang, .comments .wrapper pre .hljs-symbol, .comments .wrapper pre .hljs-symbol .hljs-string, .comments .wrapper pre .diff .hljs-change, .comments .wrapper pre .hljs-special, .comments .wrapper pre .hljs-attr_selector, .comments .wrapper pre .hljs-important, .comments .wrapper pre .hljs-subst, .comments .wrapper pre .hljs-cdata, .comments .wrapper pre .clojure .hljs-title, .comments .wrapper pre .css .hljs-pseudo {
    color: #cb4b16
}

.comments .wrapper pre .hljs-deletion {
    color: #dc322f
}

.comments .wrapper pre .tex .hljs-formula {
    background: #eee8d5
}

.comments .wrapper pre code {
    padding: 1em
}

.comments .wrapper blockquote {
    padding: 0 1em
}

.comments .wrapper strong {
    font-weight: 700
}

.comments .wrapper em {
    font-style: italic
}

html {
    background: #4a525a
}

#document {
    background: #f5fbff url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzI3MmMzMCIvPjxzdG9wIG9mZnNldD0iMzAlIiBzdG9wLWNvbG9yPSIjM2U0NTRjIi8+PHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjNGE1MjVhIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgZmlsbD0idXJsKCNncmFkKSIgLz48L3N2Zz4g') 33em no-repeat;
    background: #f5fbff -webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, #272c30), color-stop(30%, #3e454c), color-stop(100%, #4a525a)) 33em no-repeat;
    background: #f5fbff -moz-linear-gradient(left, #272c30, #3e454c 0.3em, #4a525a 1em) 33em no-repeat;
    background: #f5fbff -webkit-linear-gradient(left, #272c30, #3e454c 0.3em, #4a525a 1em) 33em no-repeat;
    background: #f5fbff linear-gradient(to right, #272c30, #3e454c 0.3em, #4a525a 1em) 33em no-repeat;
    margin-right: -1em;
    padding-right: 1em
}

@media (max-width: 45.05em) {
    #document {
        margin-right: 0;
        padding-right: 0
    }
}

#meta > * {
    font-family: "Helvetica Neue", Helvetica, "Droid Sans", sans-serif;
    font-weight: 300;
    font-size: 0.9375em;
    line-height: 1.35;
    text-shadow: #272c30 1px 1px 0
}

#meta > *, #meta > * a {
    color: #9faab7
}

#meta > * a {
    text-decoration: none
}

.comments .wrapper {
    font-family: "Helvetica Neue", Helvetica, "Droid Sans", sans-serif;
    font-weight: 300;
    font-size: 0.9375em;
    line-height: 1.35;
    text-shadow: #fff 1px 1px 0;
    color: #4a525a
}

.code .wrapper {
    font-family: "Droid Sans Mono", Menlo, Monaco, monospace;
    font-size: 0.75em;
    line-height: 1.4;
    text-shadow: #272c30 1px 1px 0;
    color: #cbd1d8
}

.code .wrapper .hljs {
    display: block;
    padding: 0.5em
}

.code .wrapper .hljs-comment, .code .wrapper .hljs-template_comment, .code .wrapper .diff .hljs-header, .code .wrapper .hljs-doctype, .code .wrapper .hljs-pi, .code .wrapper .lisp .hljs-string, .code .wrapper .hljs-javadoc {
    color: #b1bac4;
    font-style: italic
}

.code .wrapper .hljs-keyword, .code .wrapper .hljs-winutils, .code .wrapper .method, .code .wrapper .hljs-addition, .code .wrapper .css .hljs-tag, .code .wrapper .hljs-request, .code .wrapper .hljs-status, .code .wrapper .nginx .hljs-title {
    color: #e0c090
}

.code .wrapper .hljs-string {
    color: #e9baba
}

.code .wrapper .hljs-property {
    color: #b9d0af
}

.code .wrapper .hljs-function {
    color: #abd9cf
}

.code .wrapper .hljs-class {
    color: #cee4dd
}

.code .wrapper .hljs-number, .code .wrapper .hljs-command, .code .wrapper .hljs-tag .hljs-value, .code .wrapper .hljs-rules .hljs-value, .code .wrapper .hljs-phpdoc, .code .wrapper .tex .hljs-formula, .code .wrapper .hljs-regexp, .code .wrapper .hljs-hexcolor {
    color: #cba8d6
}

.code .wrapper .hljs-title, .code .wrapper .hljs-localvars, .code .wrapper .hljs-chunk, .code .wrapper .hljs-decorator, .code .wrapper .hljs-built_in, .code .wrapper .hljs-identifier, .code .wrapper .vhdl .hljs-literal, .code .wrapper .hljs-id, .code .wrapper .css .hljs-function {
    color: #a9c2ba
}

.code .wrapper .hljs-attribute, .code .wrapper .hljs-variable, .code .wrapper .lisp .hljs-body, .code .wrapper .smalltalk .hljs-number, .code .wrapper .hljs-constant, .code .wrapper .hljs-class .hljs-title, .code .wrapper .hljs-parent, .code .wrapper .haskell .hljs-type {
    color: #b9d0af
}

.code .wrapper .hljs-preprocessor, .code .wrapper .hljs-preprocessor .hljs-keyword, .code .wrapper .hljs-pragma, .code .wrapper .hljs-shebang, .code .wrapper .hljs-symbol, .code .wrapper .hljs-symbol .hljs-string, .code .wrapper .diff .hljs-change, .code .wrapper .hljs-special, .code .wrapper .hljs-attr_selector, .code .wrapper .hljs-important, .code .wrapper .hljs-subst, .code .wrapper .hljs-cdata, .code .wrapper .clojure .hljs-title, .code .wrapper .css .hljs-pseudo {
    color: #cee4dd
}

.code .wrapper .hljs-deletion {
    color: #dc322f
}

.code .wrapper .tex .hljs-formula {
    background: #e9baba
}

@media (max-width: 45.05em) {
    .code {
        -moz-border-radius: 0.4em;
        -webkit-border-radius: 0.4em;
        border-radius: 0.4em;
        -moz-box-shadow: #272c30 0 0 0.5em 0.2em inset;
        -webkit-box-shadow: #272c30 0 0 0.5em 0.2em inset;
        box-shadow: #272c30 0 0 0.5em 0.2em inset;
        background: #4a525a
    }

    .code .wrapper {
        -moz-box-shadow: #4a525a 0 0 0.25em 0.75em;
        -webkit-box-shadow: #4a525a 0 0 0.25em 0.75em;
        box-shadow: #4a525a 0 0 0.25em 0.75em;
        background: #4a525a
    }
}

@media (max-width: 29em) {
    .code {
        -moz-border-radius: 0;
        -webkit-border-radius: 0;
        border-radius: 0
    }
}

nav {
    text-shadow: #f0f0f0 1px 1px 0;
    color: #4a525a
}

nav .tools, nav .toc {
    font-family: "Helvetica Neue", Helvetica, "Droid Sans", sans-serif;
    font-weight: 300;
    font-size: 0.9375em;
    line-height: 1.35
}

nav .tools {
    -moz-box-shadow: rgba(0, 0, 0, 0.3) 0 0 0.5em 0.1em;
    -webkit-box-shadow: rgba(0, 0, 0, 0.3) 0 0 0.5em 0.1em;
    box-shadow: rgba(0, 0, 0, 0.3) 0 0 0.5em 0.1em;
    background: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwLjkiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNjZGNkY2QiIHN0b3Atb3BhY2l0eT0iMC45Ii8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgZmlsbD0idXJsKCNncmFkKSIgLz48L3N2Zz4g');
    background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, rgba(255, 255, 255, 0.9)), color-stop(100%, rgba(205, 205, 205, 0.9)));
    background: -moz-linear-gradient(top, rgba(255, 255, 255, 0.9), rgba(205, 205, 205, 0.9));
    background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0.9), rgba(205, 205, 205, 0.9));
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0.9), rgba(205, 205, 205, 0.9));
    -moz-border-radius-bottomleft: 0.4em;
    -webkit-border-bottom-left-radius: 0.4em;
    border-bottom-left-radius: 0.4em;
    border-bottom: 1px solid #4a525a;
    border-left: 1px solid #4a525a
}

@media (max-width: 53em) {
    nav .tools {
        -moz-border-radius-bottomleft: 0;
        -webkit-border-bottom-left-radius: 0;
        border-bottom-left-radius: 0
    }
}

nav .tools li {
    border-right: 1px solid #4a525a
}

nav .tools li:last-child {
    border-right: none
}

nav .tools .toggle {
    cursor: pointer
}

nav .tools .github a {
    -moz-transition: opacity 200ms;
    -o-transition: opacity 200ms;
    -webkit-transition: opacity 200ms;
    transition: opacity 200ms;
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50);
    opacity: 0.5;
    background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACcAAAAwCAYAAACScGMWAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDowOEFDRENGODE2NEUxMUUxODdDNUQ2ODM0QzVGRkVBMSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDowOEFDRENGOTE2NEUxMUUxODdDNUQ2ODM0QzVGRkVBMSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjA4QUNEQ0Y2MTY0RTExRTE4N0M1RDY4MzRDNUZGRUExIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjA4QUNEQ0Y3MTY0RTExRTE4N0M1RDY4MzRDNUZGRUExIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+FC/Z5AAACv9JREFUeNrMWXl0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') center center no-repeat;
    background-size: 19.5px 24px
}

nav .tools .github a:hover {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=90);
    opacity: 0.9
}

nav.active .tools {
    -moz-border-radius-bottomleft: 0;
    -webkit-border-bottom-left-radius: 0;
    border-bottom-left-radius: 0
}

nav.active .tools .toggle {
    background: rgba(205, 205, 205, 0.9);
    position: relative
}

nav .toc {
    -moz-box-shadow: rgba(0, 0, 0, 0.3) 0 0 0.5em 0.1em;
    -webkit-box-shadow: rgba(0, 0, 0, 0.3) 0 0 0.5em 0.1em;
    box-shadow: rgba(0, 0, 0, 0.3) 0 0 0.5em 0.1em;
    background: rgba(230, 230, 230, 0.9);
    border-left: 1px solid #4a525a
}

nav .toc .label {
    color: #4a525a;
    text-decoration: none;
    border-top: 1px solid rgba(192, 192, 192, 0.9);
    border-bottom: 1px solid rgba(192, 192, 192, 0.9);
    margin-top: -1px
}

nav .toc .label:hover {
    background: rgba(205, 205, 205, 0.9)
}

nav .toc .file > .label {
    font-weight: bold
}

nav .toc .selected > .label {
    background: #f5fbff
}

nav .toc .label em {
    font-weight: bold
}

nav .toc .file > .label em {
    color: #101214
}

nav .toc .matched-child > .label {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=65);
    opacity: 0.65;
    text-shadow: none;
    background: rgba(192, 192, 192, 0.9)
}

@media (max-width: 45.05em) {
    nav .tools, nav .toc {
        border-left-width: 0
    }

    nav .tools {
        background: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2NkY2RjZCIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');
        background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(100%, #cdcdcd));
        background: -moz-linear-gradient(top, #ffffff, #cdcdcd);
        background: -webkit-linear-gradient(top, #ffffff, #cdcdcd);
        background: linear-gradient(to bottom, #ffffff, #cdcdcd)
    }

    nav .toc {
        background: #e6e6e6
    }
}

.comments .wrapper a {
    display: inline-block;
    color: #a8614e;
    text-decoration: none
}

.comments .wrapper a:hover, .comments .wrapper a:hover * {
    text-decoration: underline
}

.comments .wrapper code {
    font-family: "Droid Sans Mono", Menlo, Monaco, monospace;
    font-size: 0.75em;
    line-height: 1.4;
    border: 1px solid #e6e0d5
}

.comments .wrapper pre, .comments .wrapper code {
    -moz-border-radius: 0.4em;
    -webkit-border-radius: 0.4em;
    border-radius: 0.4em;
    background: #fbf8f3
}

.comments .wrapper pre {
    -moz-box-shadow: #f2ece3 0 0 0.4em 0.2em;
    -webkit-box-shadow: #f2ece3 0 0 0.4em 0.2em;
    box-shadow: #f2ece3 0 0 0.4em 0.2em;
    border: 1px solid #d9c9af
}

.comments .wrapper pre code {
    border-width: 0;
    background: transparent
}

.comments .wrapper blockquote {
    border-left: 0.15em solid #959fa8;
    margin-left: -0.15em
}

body {
    -webkit-text-size-adjust: 100%
}

input[type="search"] {
    -moz-border-radius: 1em;
    -webkit-border-radius: 1em;
    border-radius: 1em;
    -moz-box-shadow: #ddd 0 1px 1px 0 inset;
    -webkit-box-shadow: #ddd 0 1px 1px 0 inset;
    box-shadow: #ddd 0 1px 1px 0 inset;
    border: 1px solid #959595;
    padding: 0.15em 0.8em
}

.comments.doc-section .wrapper {
    color: #252519
}

.comments.doc-section.doc-section-private .wrapper, .comments.doc-section.doc-section-protected .wrapper, .comments.doc-section.doc-section-internal .wrapper {
    color: #7f7f7f
}

.comments.doc-section .doc-section-header {
    font: bold 18px "helvetica neue", helvetica, sans-serif
}

.comments.doc-section .docs .doc-section-header code {
    font-size: 18px
}

.code .marker, .code .marker.wrapper, .code .wrapper.marker {
    display: none
}

.code.folded .wrapper {
    display: none;
    cursor: default
}

.code.folded .marker {
    -moz-border-radius: 0.2em;
    -webkit-border-radius: 0.2em;
    border-radius: 0.2em;
    -moz-box-shadow: #2f3539 1px 1px 1px 0;
    -webkit-box-shadow: #2f3539 1px 1px 1px 0;
    box-shadow: #2f3539 1px 1px 1px 0;
    display: inline-block;
    border: 1px solid #73787f;
    padding: 0.2em 0.5em;
    margin-left: -0.5em;
    margin-right: -0.5em;
    background: #58616b;
    font: 12px "Droid Sans Mono", Menlo, Monaco, monospace;
    text-shadow: #2f3539 1px 1px 0px;
    cursor: pointer;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: -moz-none;
    -ms-user-select: none;
    user-select: none
}

.code.folded .marker .c1 {
    color: #73787f;
    font-style: normal
}

.code.folded .marker:hover {
    background: #5f6872
}

.code.folded .marker:hover .c1 {
    color: #7b8087
}

.code.folded .marker .c1:after {
    content: " …"
}
