pre { line-height: 125%; }
td.linenos .normal { color: #666666; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: #666666; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.code-block .hll, .source-code .hll, .source-preview-code .hll { background-color: #ffffcc }
.code-block , .source-code , .source-preview-code { background: #f0f0f0; }
.code-block .c, .source-code .c, .source-preview-code .c { color: #60A0B0; font-style: italic } /* Comment */
.code-block .err, .source-code .err, .source-preview-code .err { border: 1px solid #F00 } /* Error */
.code-block .k, .source-code .k, .source-preview-code .k { color: #007020; font-weight: bold } /* Keyword */
.code-block .o, .source-code .o, .source-preview-code .o { color: #666 } /* Operator */
.code-block .ch, .source-code .ch, .source-preview-code .ch { color: #60A0B0; font-style: italic } /* Comment.Hashbang */
.code-block .cm, .source-code .cm, .source-preview-code .cm { color: #60A0B0; font-style: italic } /* Comment.Multiline */
.code-block .cp, .source-code .cp, .source-preview-code .cp { color: #007020 } /* Comment.Preproc */
.code-block .cpf, .source-code .cpf, .source-preview-code .cpf { color: #60A0B0; font-style: italic } /* Comment.PreprocFile */
.code-block .c1, .source-code .c1, .source-preview-code .c1 { color: #60A0B0; font-style: italic } /* Comment.Single */
.code-block .cs, .source-code .cs, .source-preview-code .cs { color: #60A0B0; background-color: #FFF0F0 } /* Comment.Special */
.code-block .gd, .source-code .gd, .source-preview-code .gd { color: #A00000 } /* Generic.Deleted */
.code-block .ge, .source-code .ge, .source-preview-code .ge { font-style: italic } /* Generic.Emph */
.code-block .ges, .source-code .ges, .source-preview-code .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
.code-block .gr, .source-code .gr, .source-preview-code .gr { color: #F00 } /* Generic.Error */
.code-block .gh, .source-code .gh, .source-preview-code .gh { color: #000080; font-weight: bold } /* Generic.Heading */
.code-block .gi, .source-code .gi, .source-preview-code .gi { color: #00A000 } /* Generic.Inserted */
.code-block .go, .source-code .go, .source-preview-code .go { color: #888 } /* Generic.Output */
.code-block .gp, .source-code .gp, .source-preview-code .gp { color: #C65D09; font-weight: bold } /* Generic.Prompt */
.code-block .gs, .source-code .gs, .source-preview-code .gs { font-weight: bold } /* Generic.Strong */
.code-block .gu, .source-code .gu, .source-preview-code .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.code-block .gt, .source-code .gt, .source-preview-code .gt { color: #04D } /* Generic.Traceback */
.code-block .kc, .source-code .kc, .source-preview-code .kc { color: #007020; font-weight: bold } /* Keyword.Constant */
.code-block .kd, .source-code .kd, .source-preview-code .kd { color: #007020; font-weight: bold } /* Keyword.Declaration */
.code-block .kn, .source-code .kn, .source-preview-code .kn { color: #007020; font-weight: bold } /* Keyword.Namespace */
.code-block .kp, .source-code .kp, .source-preview-code .kp { color: #007020 } /* Keyword.Pseudo */
.code-block .kr, .source-code .kr, .source-preview-code .kr { color: #007020; font-weight: bold } /* Keyword.Reserved */
.code-block .kt, .source-code .kt, .source-preview-code .kt { color: #902000 } /* Keyword.Type */
.code-block .m, .source-code .m, .source-preview-code .m { color: #40A070 } /* Literal.Number */
.code-block .s, .source-code .s, .source-preview-code .s { color: #4070A0 } /* Literal.String */
.code-block .na, .source-code .na, .source-preview-code .na { color: #4070A0 } /* Name.Attribute */
.code-block .nb, .source-code .nb, .source-preview-code .nb { color: #007020 } /* Name.Builtin */
.code-block .nc, .source-code .nc, .source-preview-code .nc { color: #0E84B5; font-weight: bold } /* Name.Class */
.code-block .no, .source-code .no, .source-preview-code .no { color: #60ADD5 } /* Name.Constant */
.code-block .nd, .source-code .nd, .source-preview-code .nd { color: #555; font-weight: bold } /* Name.Decorator */
.code-block .ni, .source-code .ni, .source-preview-code .ni { color: #D55537; font-weight: bold } /* Name.Entity */
.code-block .ne, .source-code .ne, .source-preview-code .ne { color: #007020 } /* Name.Exception */
.code-block .nf, .source-code .nf, .source-preview-code .nf { color: #06287E } /* Name.Function */
.code-block .nl, .source-code .nl, .source-preview-code .nl { color: #002070; font-weight: bold } /* Name.Label */
.code-block .nn, .source-code .nn, .source-preview-code .nn { color: #0E84B5; font-weight: bold } /* Name.Namespace */
.code-block .nt, .source-code .nt, .source-preview-code .nt { color: #062873; font-weight: bold } /* Name.Tag */
.code-block .nv, .source-code .nv, .source-preview-code .nv { color: #BB60D5 } /* Name.Variable */
.code-block .ow, .source-code .ow, .source-preview-code .ow { color: #007020; font-weight: bold } /* Operator.Word */
.code-block .w, .source-code .w, .source-preview-code .w { color: #BBB } /* Text.Whitespace */
.code-block .mb, .source-code .mb, .source-preview-code .mb { color: #40A070 } /* Literal.Number.Bin */
.code-block .mf, .source-code .mf, .source-preview-code .mf { color: #40A070 } /* Literal.Number.Float */
.code-block .mh, .source-code .mh, .source-preview-code .mh { color: #40A070 } /* Literal.Number.Hex */
.code-block .mi, .source-code .mi, .source-preview-code .mi { color: #40A070 } /* Literal.Number.Integer */
.code-block .mo, .source-code .mo, .source-preview-code .mo { color: #40A070 } /* Literal.Number.Oct */
.code-block .sa, .source-code .sa, .source-preview-code .sa { color: #4070A0 } /* Literal.String.Affix */
.code-block .sb, .source-code .sb, .source-preview-code .sb { color: #4070A0 } /* Literal.String.Backtick */
.code-block .sc, .source-code .sc, .source-preview-code .sc { color: #4070A0 } /* Literal.String.Char */
.code-block .dl, .source-code .dl, .source-preview-code .dl { color: #4070A0 } /* Literal.String.Delimiter */
.code-block .sd, .source-code .sd, .source-preview-code .sd { color: #4070A0; font-style: italic } /* Literal.String.Doc */
.code-block .s2, .source-code .s2, .source-preview-code .s2 { color: #4070A0 } /* Literal.String.Double */
.code-block .se, .source-code .se, .source-preview-code .se { color: #4070A0; font-weight: bold } /* Literal.String.Escape */
.code-block .sh, .source-code .sh, .source-preview-code .sh { color: #4070A0 } /* Literal.String.Heredoc */
.code-block .si, .source-code .si, .source-preview-code .si { color: #70A0D0; font-style: italic } /* Literal.String.Interpol */
.code-block .sx, .source-code .sx, .source-preview-code .sx { color: #C65D09 } /* Literal.String.Other */
.code-block .sr, .source-code .sr, .source-preview-code .sr { color: #235388 } /* Literal.String.Regex */
.code-block .s1, .source-code .s1, .source-preview-code .s1 { color: #4070A0 } /* Literal.String.Single */
.code-block .ss, .source-code .ss, .source-preview-code .ss { color: #517918 } /* Literal.String.Symbol */
.code-block .bp, .source-code .bp, .source-preview-code .bp { color: #007020 } /* Name.Builtin.Pseudo */
.code-block .fm, .source-code .fm, .source-preview-code .fm { color: #06287E } /* Name.Function.Magic */
.code-block .vc, .source-code .vc, .source-preview-code .vc { color: #BB60D5 } /* Name.Variable.Class */
.code-block .vg, .source-code .vg, .source-preview-code .vg { color: #BB60D5 } /* Name.Variable.Global */
.code-block .vi, .source-code .vi, .source-preview-code .vi { color: #BB60D5 } /* Name.Variable.Instance */
.code-block .vm, .source-code .vm, .source-preview-code .vm { color: #BB60D5 } /* Name.Variable.Magic */
.code-block .il, .source-code .il, .source-preview-code .il { color: #40A070 } /* Literal.Number.Integer.Long */
pre { line-height: 125%; }
td.linenos .normal { color: #6e7681; background-color: #0d1117; padding-left: 5px; padding-right: 5px; }
span.linenos { color: #6e7681; background-color: #0d1117; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #e6edf3; background-color: #6e7681; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #e6edf3; background-color: #6e7681; padding-left: 5px; padding-right: 5px; }
html[data-theme=dark] .code-block .hll, html[data-theme=dark] .source-code .hll, html[data-theme=dark] .source-preview-code .hll { background-color: #6e7681 }
html[data-theme=dark] .code-block , html[data-theme=dark] .source-code , html[data-theme=dark] .source-preview-code { background: #0d1117; color: #E6EDF3 }
html[data-theme=dark] .code-block .c, html[data-theme=dark] .source-code .c, html[data-theme=dark] .source-preview-code .c { color: #8B949E; font-style: italic } /* Comment */
html[data-theme=dark] .code-block .err, html[data-theme=dark] .source-code .err, html[data-theme=dark] .source-preview-code .err { color: #F85149 } /* Error */
html[data-theme=dark] .code-block .esc, html[data-theme=dark] .source-code .esc, html[data-theme=dark] .source-preview-code .esc { color: #E6EDF3 } /* Escape */
html[data-theme=dark] .code-block .g, html[data-theme=dark] .source-code .g, html[data-theme=dark] .source-preview-code .g { color: #E6EDF3 } /* Generic */
html[data-theme=dark] .code-block .k, html[data-theme=dark] .source-code .k, html[data-theme=dark] .source-preview-code .k { color: #FF7B72 } /* Keyword */
html[data-theme=dark] .code-block .l, html[data-theme=dark] .source-code .l, html[data-theme=dark] .source-preview-code .l { color: #A5D6FF } /* Literal */
html[data-theme=dark] .code-block .n, html[data-theme=dark] .source-code .n, html[data-theme=dark] .source-preview-code .n { color: #E6EDF3 } /* Name */
html[data-theme=dark] .code-block .o, html[data-theme=dark] .source-code .o, html[data-theme=dark] .source-preview-code .o { color: #FF7B72; font-weight: bold } /* Operator */
html[data-theme=dark] .code-block .x, html[data-theme=dark] .source-code .x, html[data-theme=dark] .source-preview-code .x { color: #E6EDF3 } /* Other */
html[data-theme=dark] .code-block .p, html[data-theme=dark] .source-code .p, html[data-theme=dark] .source-preview-code .p { color: #E6EDF3 } /* Punctuation */
html[data-theme=dark] .code-block .ch, html[data-theme=dark] .source-code .ch, html[data-theme=dark] .source-preview-code .ch { color: #8B949E; font-style: italic } /* Comment.Hashbang */
html[data-theme=dark] .code-block .cm, html[data-theme=dark] .source-code .cm, html[data-theme=dark] .source-preview-code .cm { color: #8B949E; font-style: italic } /* Comment.Multiline */
html[data-theme=dark] .code-block .cp, html[data-theme=dark] .source-code .cp, html[data-theme=dark] .source-preview-code .cp { color: #8B949E; font-weight: bold; font-style: italic } /* Comment.Preproc */
html[data-theme=dark] .code-block .cpf, html[data-theme=dark] .source-code .cpf, html[data-theme=dark] .source-preview-code .cpf { color: #8B949E; font-style: italic } /* Comment.PreprocFile */
html[data-theme=dark] .code-block .c1, html[data-theme=dark] .source-code .c1, html[data-theme=dark] .source-preview-code .c1 { color: #8B949E; font-style: italic } /* Comment.Single */
html[data-theme=dark] .code-block .cs, html[data-theme=dark] .source-code .cs, html[data-theme=dark] .source-preview-code .cs { color: #8B949E; font-weight: bold; font-style: italic } /* Comment.Special */
html[data-theme=dark] .code-block .gd, html[data-theme=dark] .source-code .gd, html[data-theme=dark] .source-preview-code .gd { color: #FFA198; background-color: #490202 } /* Generic.Deleted */
html[data-theme=dark] .code-block .ge, html[data-theme=dark] .source-code .ge, html[data-theme=dark] .source-preview-code .ge { color: #E6EDF3; font-style: italic } /* Generic.Emph */
html[data-theme=dark] .code-block .ges, html[data-theme=dark] .source-code .ges, html[data-theme=dark] .source-preview-code .ges { color: #E6EDF3; font-weight: bold; font-style: italic } /* Generic.EmphStrong */
html[data-theme=dark] .code-block .gr, html[data-theme=dark] .source-code .gr, html[data-theme=dark] .source-preview-code .gr { color: #FFA198 } /* Generic.Error */
html[data-theme=dark] .code-block .gh, html[data-theme=dark] .source-code .gh, html[data-theme=dark] .source-preview-code .gh { color: #79C0FF; font-weight: bold } /* Generic.Heading */
html[data-theme=dark] .code-block .gi, html[data-theme=dark] .source-code .gi, html[data-theme=dark] .source-preview-code .gi { color: #56D364; background-color: #0F5323 } /* Generic.Inserted */
html[data-theme=dark] .code-block .go, html[data-theme=dark] .source-code .go, html[data-theme=dark] .source-preview-code .go { color: #8B949E } /* Generic.Output */
html[data-theme=dark] .code-block .gp, html[data-theme=dark] .source-code .gp, html[data-theme=dark] .source-preview-code .gp { color: #8B949E } /* Generic.Prompt */
html[data-theme=dark] .code-block .gs, html[data-theme=dark] .source-code .gs, html[data-theme=dark] .source-preview-code .gs { color: #E6EDF3; font-weight: bold } /* Generic.Strong */
html[data-theme=dark] .code-block .gu, html[data-theme=dark] .source-code .gu, html[data-theme=dark] .source-preview-code .gu { color: #79C0FF } /* Generic.Subheading */
html[data-theme=dark] .code-block .gt, html[data-theme=dark] .source-code .gt, html[data-theme=dark] .source-preview-code .gt { color: #FF7B72 } /* Generic.Traceback */
html[data-theme=dark] .code-block .g-Underline, html[data-theme=dark] .source-code .g-Underline, html[data-theme=dark] .source-preview-code .g-Underline { color: #E6EDF3; text-decoration: underline } /* Generic.Underline */
html[data-theme=dark] .code-block .kc, html[data-theme=dark] .source-code .kc, html[data-theme=dark] .source-preview-code .kc { color: #79C0FF } /* Keyword.Constant */
html[data-theme=dark] .code-block .kd, html[data-theme=dark] .source-code .kd, html[data-theme=dark] .source-preview-code .kd { color: #FF7B72 } /* Keyword.Declaration */
html[data-theme=dark] .code-block .kn, html[data-theme=dark] .source-code .kn, html[data-theme=dark] .source-preview-code .kn { color: #FF7B72 } /* Keyword.Namespace */
html[data-theme=dark] .code-block .kp, html[data-theme=dark] .source-code .kp, html[data-theme=dark] .source-preview-code .kp { color: #79C0FF } /* Keyword.Pseudo */
html[data-theme=dark] .code-block .kr, html[data-theme=dark] .source-code .kr, html[data-theme=dark] .source-preview-code .kr { color: #FF7B72 } /* Keyword.Reserved */
html[data-theme=dark] .code-block .kt, html[data-theme=dark] .source-code .kt, html[data-theme=dark] .source-preview-code .kt { color: #FF7B72 } /* Keyword.Type */
html[data-theme=dark] .code-block .ld, html[data-theme=dark] .source-code .ld, html[data-theme=dark] .source-preview-code .ld { color: #79C0FF } /* Literal.Date */
html[data-theme=dark] .code-block .m, html[data-theme=dark] .source-code .m, html[data-theme=dark] .source-preview-code .m { color: #A5D6FF } /* Literal.Number */
html[data-theme=dark] .code-block .s, html[data-theme=dark] .source-code .s, html[data-theme=dark] .source-preview-code .s { color: #A5D6FF } /* Literal.String */
html[data-theme=dark] .code-block .na, html[data-theme=dark] .source-code .na, html[data-theme=dark] .source-preview-code .na { color: #E6EDF3 } /* Name.Attribute */
html[data-theme=dark] .code-block .nb, html[data-theme=dark] .source-code .nb, html[data-theme=dark] .source-preview-code .nb { color: #E6EDF3 } /* Name.Builtin */
html[data-theme=dark] .code-block .nc, html[data-theme=dark] .source-code .nc, html[data-theme=dark] .source-preview-code .nc { color: #F0883E; font-weight: bold } /* Name.Class */
html[data-theme=dark] .code-block .no, html[data-theme=dark] .source-code .no, html[data-theme=dark] .source-preview-code .no { color: #79C0FF; font-weight: bold } /* Name.Constant */
html[data-theme=dark] .code-block .nd, html[data-theme=dark] .source-code .nd, html[data-theme=dark] .source-preview-code .nd { color: #D2A8FF; font-weight: bold } /* Name.Decorator */
html[data-theme=dark] .code-block .ni, html[data-theme=dark] .source-code .ni, html[data-theme=dark] .source-preview-code .ni { color: #FFA657 } /* Name.Entity */
html[data-theme=dark] .code-block .ne, html[data-theme=dark] .source-code .ne, html[data-theme=dark] .source-preview-code .ne { color: #F0883E; font-weight: bold } /* Name.Exception */
html[data-theme=dark] .code-block .nf, html[data-theme=dark] .source-code .nf, html[data-theme=dark] .source-preview-code .nf { color: #D2A8FF; font-weight: bold } /* Name.Function */
html[data-theme=dark] .code-block .nl, html[data-theme=dark] .source-code .nl, html[data-theme=dark] .source-preview-code .nl { color: #79C0FF; font-weight: bold } /* Name.Label */
html[data-theme=dark] .code-block .nn, html[data-theme=dark] .source-code .nn, html[data-theme=dark] .source-preview-code .nn { color: #FF7B72 } /* Name.Namespace */
html[data-theme=dark] .code-block .nx, html[data-theme=dark] .source-code .nx, html[data-theme=dark] .source-preview-code .nx { color: #E6EDF3 } /* Name.Other */
html[data-theme=dark] .code-block .py, html[data-theme=dark] .source-code .py, html[data-theme=dark] .source-preview-code .py { color: #79C0FF } /* Name.Property */
html[data-theme=dark] .code-block .nt, html[data-theme=dark] .source-code .nt, html[data-theme=dark] .source-preview-code .nt { color: #7EE787 } /* Name.Tag */
html[data-theme=dark] .code-block .nv, html[data-theme=dark] .source-code .nv, html[data-theme=dark] .source-preview-code .nv { color: #79C0FF } /* Name.Variable */
html[data-theme=dark] .code-block .ow, html[data-theme=dark] .source-code .ow, html[data-theme=dark] .source-preview-code .ow { color: #FF7B72; font-weight: bold } /* Operator.Word */
html[data-theme=dark] .code-block .pm, html[data-theme=dark] .source-code .pm, html[data-theme=dark] .source-preview-code .pm { color: #E6EDF3 } /* Punctuation.Marker */
html[data-theme=dark] .code-block .w, html[data-theme=dark] .source-code .w, html[data-theme=dark] .source-preview-code .w { color: #6E7681 } /* Text.Whitespace */
html[data-theme=dark] .code-block .mb, html[data-theme=dark] .source-code .mb, html[data-theme=dark] .source-preview-code .mb { color: #A5D6FF } /* Literal.Number.Bin */
html[data-theme=dark] .code-block .mf, html[data-theme=dark] .source-code .mf, html[data-theme=dark] .source-preview-code .mf { color: #A5D6FF } /* Literal.Number.Float */
html[data-theme=dark] .code-block .mh, html[data-theme=dark] .source-code .mh, html[data-theme=dark] .source-preview-code .mh { color: #A5D6FF } /* Literal.Number.Hex */
html[data-theme=dark] .code-block .mi, html[data-theme=dark] .source-code .mi, html[data-theme=dark] .source-preview-code .mi { color: #A5D6FF } /* Literal.Number.Integer */
html[data-theme=dark] .code-block .mo, html[data-theme=dark] .source-code .mo, html[data-theme=dark] .source-preview-code .mo { color: #A5D6FF } /* Literal.Number.Oct */
html[data-theme=dark] .code-block .sa, html[data-theme=dark] .source-code .sa, html[data-theme=dark] .source-preview-code .sa { color: #79C0FF } /* Literal.String.Affix */
html[data-theme=dark] .code-block .sb, html[data-theme=dark] .source-code .sb, html[data-theme=dark] .source-preview-code .sb { color: #A5D6FF } /* Literal.String.Backtick */
html[data-theme=dark] .code-block .sc, html[data-theme=dark] .source-code .sc, html[data-theme=dark] .source-preview-code .sc { color: #A5D6FF } /* Literal.String.Char */
html[data-theme=dark] .code-block .dl, html[data-theme=dark] .source-code .dl, html[data-theme=dark] .source-preview-code .dl { color: #79C0FF } /* Literal.String.Delimiter */
html[data-theme=dark] .code-block .sd, html[data-theme=dark] .source-code .sd, html[data-theme=dark] .source-preview-code .sd { color: #A5D6FF } /* Literal.String.Doc */
html[data-theme=dark] .code-block .s2, html[data-theme=dark] .source-code .s2, html[data-theme=dark] .source-preview-code .s2 { color: #A5D6FF } /* Literal.String.Double */
html[data-theme=dark] .code-block .se, html[data-theme=dark] .source-code .se, html[data-theme=dark] .source-preview-code .se { color: #79C0FF } /* Literal.String.Escape */
html[data-theme=dark] .code-block .sh, html[data-theme=dark] .source-code .sh, html[data-theme=dark] .source-preview-code .sh { color: #79C0FF } /* Literal.String.Heredoc */
html[data-theme=dark] .code-block .si, html[data-theme=dark] .source-code .si, html[data-theme=dark] .source-preview-code .si { color: #A5D6FF } /* Literal.String.Interpol */
html[data-theme=dark] .code-block .sx, html[data-theme=dark] .source-code .sx, html[data-theme=dark] .source-preview-code .sx { color: #A5D6FF } /* Literal.String.Other */
html[data-theme=dark] .code-block .sr, html[data-theme=dark] .source-code .sr, html[data-theme=dark] .source-preview-code .sr { color: #79C0FF } /* Literal.String.Regex */
html[data-theme=dark] .code-block .s1, html[data-theme=dark] .source-code .s1, html[data-theme=dark] .source-preview-code .s1 { color: #A5D6FF } /* Literal.String.Single */
html[data-theme=dark] .code-block .ss, html[data-theme=dark] .source-code .ss, html[data-theme=dark] .source-preview-code .ss { color: #A5D6FF } /* Literal.String.Symbol */
html[data-theme=dark] .code-block .bp, html[data-theme=dark] .source-code .bp, html[data-theme=dark] .source-preview-code .bp { color: #E6EDF3 } /* Name.Builtin.Pseudo */
html[data-theme=dark] .code-block .fm, html[data-theme=dark] .source-code .fm, html[data-theme=dark] .source-preview-code .fm { color: #D2A8FF; font-weight: bold } /* Name.Function.Magic */
html[data-theme=dark] .code-block .vc, html[data-theme=dark] .source-code .vc, html[data-theme=dark] .source-preview-code .vc { color: #79C0FF } /* Name.Variable.Class */
html[data-theme=dark] .code-block .vg, html[data-theme=dark] .source-code .vg, html[data-theme=dark] .source-preview-code .vg { color: #79C0FF } /* Name.Variable.Global */
html[data-theme=dark] .code-block .vi, html[data-theme=dark] .source-code .vi, html[data-theme=dark] .source-preview-code .vi { color: #79C0FF } /* Name.Variable.Instance */
html[data-theme=dark] .code-block .vm, html[data-theme=dark] .source-code .vm, html[data-theme=dark] .source-preview-code .vm { color: #79C0FF } /* Name.Variable.Magic */
html[data-theme=dark] .code-block .il, html[data-theme=dark] .source-code .il, html[data-theme=dark] .source-preview-code .il { color: #A5D6FF } /* Literal.Number.Integer.Long */