Files
PINA/docs/source/tutorials/tutorial17/tutorial.html
2025-06-14 16:58:03 +02:00

8500 lines
681 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="en">
<head><meta charset="utf-8"/>
<meta content="width=device-width, initial-scale=1.0" name="viewport"/>
<title>tutorial</title><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js"></script><script>
(function() {
function addWidgetsRenderer() {
var mimeElement = document.querySelector('script[type="application/vnd.jupyter.widget-view+json"]');
var scriptElement = document.createElement('script');
var widgetRendererSrc = 'https://unpkg.com/@jupyter-widgets/html-manager@*/dist/embed-amd.js';
var widgetState;
// Fallback for older version:
try {
widgetState = mimeElement && JSON.parse(mimeElement.innerHTML);
if (widgetState && (widgetState.version_major < 2 || !widgetState.version_major)) {
var widgetRendererSrc = 'https://unpkg.com/@jupyter-js-widgets@*/dist/embed.js';
}
} catch(e) {}
scriptElement.src = widgetRendererSrc;
document.body.appendChild(scriptElement);
}
document.addEventListener('DOMContentLoaded', addWidgetsRenderer);
}());
</script>
<style type="text/css">
pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; 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; }
.highlight .hll { background-color: var(--jp-cell-editor-active-background) }
.highlight { background: var(--jp-cell-editor-background); color: var(--jp-mirror-editor-variable-color) }
.highlight .c { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment */
.highlight .err { color: var(--jp-mirror-editor-error-color) } /* Error */
.highlight .k { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword */
.highlight .o { color: var(--jp-mirror-editor-operator-color); font-weight: bold } /* Operator */
.highlight .p { color: var(--jp-mirror-editor-punctuation-color) } /* Punctuation */
.highlight .ch { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Hashbang */
.highlight .cm { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Multiline */
.highlight .cp { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Preproc */
.highlight .cpf { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.PreprocFile */
.highlight .c1 { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Single */
.highlight .cs { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Special */
.highlight .kc { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Pseudo */
.highlight .kr { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Type */
.highlight .m { color: var(--jp-mirror-editor-number-color) } /* Literal.Number */
.highlight .s { color: var(--jp-mirror-editor-string-color) } /* Literal.String */
.highlight .ow { color: var(--jp-mirror-editor-operator-color); font-weight: bold } /* Operator.Word */
.highlight .pm { color: var(--jp-mirror-editor-punctuation-color) } /* Punctuation.Marker */
.highlight .w { color: var(--jp-mirror-editor-variable-color) } /* Text.Whitespace */
.highlight .mb { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Bin */
.highlight .mf { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Float */
.highlight .mh { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Hex */
.highlight .mi { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Integer */
.highlight .mo { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Oct */
.highlight .sa { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Affix */
.highlight .sb { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Backtick */
.highlight .sc { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Char */
.highlight .dl { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Delimiter */
.highlight .sd { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Doc */
.highlight .s2 { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Double */
.highlight .se { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Escape */
.highlight .sh { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Heredoc */
.highlight .si { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Interpol */
.highlight .sx { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Other */
.highlight .sr { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Regex */
.highlight .s1 { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Single */
.highlight .ss { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Symbol */
.highlight .il { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Integer.Long */
</style>
<style type="text/css">
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
/*
* Mozilla scrollbar styling
*/
/* use standard opaque scrollbars for most nodes */
[data-jp-theme-scrollbars='true'] {
scrollbar-color: rgb(var(--jp-scrollbar-thumb-color))
var(--jp-scrollbar-background-color);
}
/* for code nodes, use a transparent style of scrollbar. These selectors
* will match lower in the tree, and so will override the above */
[data-jp-theme-scrollbars='true'] .CodeMirror-hscrollbar,
[data-jp-theme-scrollbars='true'] .CodeMirror-vscrollbar {
scrollbar-color: rgba(var(--jp-scrollbar-thumb-color), 0.5) transparent;
}
/* tiny scrollbar */
.jp-scrollbar-tiny {
scrollbar-color: rgba(var(--jp-scrollbar-thumb-color), 0.5) transparent;
scrollbar-width: thin;
}
/* tiny scrollbar */
.jp-scrollbar-tiny::-webkit-scrollbar,
.jp-scrollbar-tiny::-webkit-scrollbar-corner {
background-color: transparent;
height: 4px;
width: 4px;
}
.jp-scrollbar-tiny::-webkit-scrollbar-thumb {
background: rgba(var(--jp-scrollbar-thumb-color), 0.5);
}
.jp-scrollbar-tiny::-webkit-scrollbar-track:horizontal {
border-left: 0 solid transparent;
border-right: 0 solid transparent;
}
.jp-scrollbar-tiny::-webkit-scrollbar-track:vertical {
border-top: 0 solid transparent;
border-bottom: 0 solid transparent;
}
/*
* Lumino
*/
.lm-ScrollBar[data-orientation='horizontal'] {
min-height: 16px;
max-height: 16px;
min-width: 45px;
border-top: 1px solid #a0a0a0;
}
.lm-ScrollBar[data-orientation='vertical'] {
min-width: 16px;
max-width: 16px;
min-height: 45px;
border-left: 1px solid #a0a0a0;
}
.lm-ScrollBar-button {
background-color: #f0f0f0;
background-position: center center;
min-height: 15px;
max-height: 15px;
min-width: 15px;
max-width: 15px;
}
.lm-ScrollBar-button:hover {
background-color: #dadada;
}
.lm-ScrollBar-button.lm-mod-active {
background-color: #cdcdcd;
}
.lm-ScrollBar-track {
background: #f0f0f0;
}
.lm-ScrollBar-thumb {
background: #cdcdcd;
}
.lm-ScrollBar-thumb:hover {
background: #bababa;
}
.lm-ScrollBar-thumb.lm-mod-active {
background: #a0a0a0;
}
.lm-ScrollBar[data-orientation='horizontal'] .lm-ScrollBar-thumb {
height: 100%;
min-width: 15px;
border-left: 1px solid #a0a0a0;
border-right: 1px solid #a0a0a0;
}
.lm-ScrollBar[data-orientation='vertical'] .lm-ScrollBar-thumb {
width: 100%;
min-height: 15px;
border-top: 1px solid #a0a0a0;
border-bottom: 1px solid #a0a0a0;
}
.lm-ScrollBar[data-orientation='horizontal']
.lm-ScrollBar-button[data-action='decrement'] {
background-image: var(--jp-icon-caret-left);
background-size: 17px;
}
.lm-ScrollBar[data-orientation='horizontal']
.lm-ScrollBar-button[data-action='increment'] {
background-image: var(--jp-icon-caret-right);
background-size: 17px;
}
.lm-ScrollBar[data-orientation='vertical']
.lm-ScrollBar-button[data-action='decrement'] {
background-image: var(--jp-icon-caret-up);
background-size: 17px;
}
.lm-ScrollBar[data-orientation='vertical']
.lm-ScrollBar-button[data-action='increment'] {
background-image: var(--jp-icon-caret-down);
background-size: 17px;
}
/*
* Copyright (c) Jupyter Development Team.
* Distributed under the terms of the Modified BSD License.
*/
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/
.lm-Widget {
box-sizing: border-box;
position: relative;
overflow: hidden;
}
.lm-Widget.lm-mod-hidden {
display: none !important;
}
/*
* Copyright (c) Jupyter Development Team.
* Distributed under the terms of the Modified BSD License.
*/
.lm-AccordionPanel[data-orientation='horizontal'] > .lm-AccordionPanel-title {
/* Title is rotated for horizontal accordion panel using CSS */
display: block;
transform-origin: top left;
transform: rotate(-90deg) translate(-100%);
}
/*
* Copyright (c) Jupyter Development Team.
* Distributed under the terms of the Modified BSD License.
*/
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/
.lm-CommandPalette {
display: flex;
flex-direction: column;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.lm-CommandPalette-search {
flex: 0 0 auto;
}
.lm-CommandPalette-content {
flex: 1 1 auto;
margin: 0;
padding: 0;
min-height: 0;
overflow: auto;
list-style-type: none;
}
.lm-CommandPalette-header {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.lm-CommandPalette-item {
display: flex;
flex-direction: row;
}
.lm-CommandPalette-itemIcon {
flex: 0 0 auto;
}
.lm-CommandPalette-itemContent {
flex: 1 1 auto;
overflow: hidden;
}
.lm-CommandPalette-itemShortcut {
flex: 0 0 auto;
}
.lm-CommandPalette-itemLabel {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.lm-close-icon {
border: 1px solid transparent;
background-color: transparent;
position: absolute;
z-index: 1;
right: 3%;
top: 0;
bottom: 0;
margin: auto;
padding: 7px 0;
display: none;
vertical-align: middle;
outline: 0;
cursor: pointer;
}
.lm-close-icon:after {
content: 'X';
display: block;
width: 15px;
height: 15px;
text-align: center;
color: #000;
font-weight: normal;
font-size: 12px;
cursor: pointer;
}
/*
* Copyright (c) Jupyter Development Team.
* Distributed under the terms of the Modified BSD License.
*/
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/
.lm-DockPanel {
z-index: 0;
}
.lm-DockPanel-widget {
z-index: 0;
}
.lm-DockPanel-tabBar {
z-index: 1;
}
.lm-DockPanel-handle {
z-index: 2;
}
.lm-DockPanel-handle.lm-mod-hidden {
display: none !important;
}
.lm-DockPanel-handle:after {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
content: '';
}
.lm-DockPanel-handle[data-orientation='horizontal'] {
cursor: ew-resize;
}
.lm-DockPanel-handle[data-orientation='vertical'] {
cursor: ns-resize;
}
.lm-DockPanel-handle[data-orientation='horizontal']:after {
left: 50%;
min-width: 8px;
transform: translateX(-50%);
}
.lm-DockPanel-handle[data-orientation='vertical']:after {
top: 50%;
min-height: 8px;
transform: translateY(-50%);
}
.lm-DockPanel-overlay {
z-index: 3;
box-sizing: border-box;
pointer-events: none;
}
.lm-DockPanel-overlay.lm-mod-hidden {
display: none !important;
}
/*
* Copyright (c) Jupyter Development Team.
* Distributed under the terms of the Modified BSD License.
*/
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/
.lm-Menu {
z-index: 10000;
position: absolute;
white-space: nowrap;
overflow-x: hidden;
overflow-y: auto;
outline: none;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.lm-Menu-content {
margin: 0;
padding: 0;
display: table;
list-style-type: none;
}
.lm-Menu-item {
display: table-row;
}
.lm-Menu-item.lm-mod-hidden,
.lm-Menu-item.lm-mod-collapsed {
display: none !important;
}
.lm-Menu-itemIcon,
.lm-Menu-itemSubmenuIcon {
display: table-cell;
text-align: center;
}
.lm-Menu-itemLabel {
display: table-cell;
text-align: left;
}
.lm-Menu-itemShortcut {
display: table-cell;
text-align: right;
}
/*
* Copyright (c) Jupyter Development Team.
* Distributed under the terms of the Modified BSD License.
*/
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/
.lm-MenuBar {
outline: none;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.lm-MenuBar-content {
margin: 0;
padding: 0;
display: flex;
flex-direction: row;
list-style-type: none;
}
.lm-MenuBar-item {
box-sizing: border-box;
}
.lm-MenuBar-itemIcon,
.lm-MenuBar-itemLabel {
display: inline-block;
}
/*
* Copyright (c) Jupyter Development Team.
* Distributed under the terms of the Modified BSD License.
*/
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/
.lm-ScrollBar {
display: flex;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.lm-ScrollBar[data-orientation='horizontal'] {
flex-direction: row;
}
.lm-ScrollBar[data-orientation='vertical'] {
flex-direction: column;
}
.lm-ScrollBar-button {
box-sizing: border-box;
flex: 0 0 auto;
}
.lm-ScrollBar-track {
box-sizing: border-box;
position: relative;
overflow: hidden;
flex: 1 1 auto;
}
.lm-ScrollBar-thumb {
box-sizing: border-box;
position: absolute;
}
/*
* Copyright (c) Jupyter Development Team.
* Distributed under the terms of the Modified BSD License.
*/
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/
.lm-SplitPanel-child {
z-index: 0;
}
.lm-SplitPanel-handle {
z-index: 1;
}
.lm-SplitPanel-handle.lm-mod-hidden {
display: none !important;
}
.lm-SplitPanel-handle:after {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
content: '';
}
.lm-SplitPanel[data-orientation='horizontal'] > .lm-SplitPanel-handle {
cursor: ew-resize;
}
.lm-SplitPanel[data-orientation='vertical'] > .lm-SplitPanel-handle {
cursor: ns-resize;
}
.lm-SplitPanel[data-orientation='horizontal'] > .lm-SplitPanel-handle:after {
left: 50%;
min-width: 8px;
transform: translateX(-50%);
}
.lm-SplitPanel[data-orientation='vertical'] > .lm-SplitPanel-handle:after {
top: 50%;
min-height: 8px;
transform: translateY(-50%);
}
/*
* Copyright (c) Jupyter Development Team.
* Distributed under the terms of the Modified BSD License.
*/
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/
.lm-TabBar {
display: flex;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.lm-TabBar[data-orientation='horizontal'] {
flex-direction: row;
align-items: flex-end;
}
.lm-TabBar[data-orientation='vertical'] {
flex-direction: column;
align-items: flex-end;
}
.lm-TabBar-content {
margin: 0;
padding: 0;
display: flex;
flex: 1 1 auto;
list-style-type: none;
}
.lm-TabBar[data-orientation='horizontal'] > .lm-TabBar-content {
flex-direction: row;
}
.lm-TabBar[data-orientation='vertical'] > .lm-TabBar-content {
flex-direction: column;
}
.lm-TabBar-tab {
display: flex;
flex-direction: row;
box-sizing: border-box;
overflow: hidden;
touch-action: none; /* Disable native Drag/Drop */
}
.lm-TabBar-tabIcon,
.lm-TabBar-tabCloseIcon {
flex: 0 0 auto;
}
.lm-TabBar-tabLabel {
flex: 1 1 auto;
overflow: hidden;
white-space: nowrap;
}
.lm-TabBar-tabInput {
user-select: all;
width: 100%;
box-sizing: border-box;
}
.lm-TabBar-tab.lm-mod-hidden {
display: none !important;
}
.lm-TabBar-addButton.lm-mod-hidden {
display: none !important;
}
.lm-TabBar.lm-mod-dragging .lm-TabBar-tab {
position: relative;
}
.lm-TabBar.lm-mod-dragging[data-orientation='horizontal'] .lm-TabBar-tab {
left: 0;
transition: left 150ms ease;
}
.lm-TabBar.lm-mod-dragging[data-orientation='vertical'] .lm-TabBar-tab {
top: 0;
transition: top 150ms ease;
}
.lm-TabBar.lm-mod-dragging .lm-TabBar-tab.lm-mod-dragging {
transition: none;
}
.lm-TabBar-tabLabel .lm-TabBar-tabInput {
user-select: all;
width: 100%;
box-sizing: border-box;
background: inherit;
}
/*
* Copyright (c) Jupyter Development Team.
* Distributed under the terms of the Modified BSD License.
*/
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/
.lm-TabPanel-tabBar {
z-index: 1;
}
.lm-TabPanel-stackedPanel {
z-index: 0;
}
/*
* Copyright (c) Jupyter Development Team.
* Distributed under the terms of the Modified BSD License.
*/
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
.jp-Collapse {
display: flex;
flex-direction: column;
align-items: stretch;
}
.jp-Collapse-header {
padding: 1px 12px;
background-color: var(--jp-layout-color1);
border-bottom: solid var(--jp-border-width) var(--jp-border-color2);
color: var(--jp-ui-font-color1);
cursor: pointer;
display: flex;
align-items: center;
font-size: var(--jp-ui-font-size0);
font-weight: 600;
text-transform: uppercase;
user-select: none;
}
.jp-Collapser-icon {
height: 16px;
}
.jp-Collapse-header-collapsed .jp-Collapser-icon {
transform: rotate(-90deg);
margin: auto 0;
}
.jp-Collapser-title {
line-height: 25px;
}
.jp-Collapse-contents {
padding: 0 12px;
background-color: var(--jp-layout-color1);
color: var(--jp-ui-font-color1);
overflow: auto;
}
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
/* This file was auto-generated by ensureUiComponents() in @jupyterlab/buildutils */
/**
* (DEPRECATED) Support for consuming icons as CSS background images
*/
/* Icons urls */
:root {
--jp-icon-add-above: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzEzN18xOTQ5MikiPgo8cGF0aCBjbGFzcz0ianAtaWNvbjMiIGQ9Ik00Ljc1IDQuOTMwNjZINi42MjVWNi44MDU2NkM2LjYyNSA3LjAxMTkxIDYuNzkzNzUgNy4xODA2NiA3IDcuMTgwNjZDNy4yMDYyNSA3LjE4MDY2IDcuMzc1IDcuMDExOTEgNy4zNzUgNi44MDU2NlY0LjkzMDY2SDkuMjVDOS40NTYyNSA0LjkzMDY2IDkuNjI1IDQuNzYxOTEgOS42MjUgNC41NTU2NkM5LjYyNSA0LjM0OTQxIDkuNDU2MjUgNC4xODA2NiA5LjI1IDQuMTgwNjZINy4zNzVWMi4zMDU2NkM3LjM3NSAyLjA5OTQxIDcuMjA2MjUgMS45MzA2NiA3IDEuOTMwNjZDNi43OTM3NSAxLjkzMDY2IDYuNjI1IDIuMDk5NDEgNi42MjUgMi4zMDU2NlY0LjE4MDY2SDQuNzVDNC41NDM3NSA0LjE4MDY2IDQuMzc1IDQuMzQ5NDEgNC4zNzUgNC41NTU2NkM0LjM3NSA0Ljc2MTkxIDQuNTQzNzUgNC45MzA2NiA0Ljc1IDQuOTMwNjZaIiBmaWxsPSIjNjE2MTYxIiBzdHJva2U9IiM2MTYxNjEiIHN0cm9rZS13aWR0aD0iMC43Ii8+CjwvZz4KPHBhdGggY2xhc3M9ImpwLWljb24zIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTExLjUgOS41VjExLjVMMi41IDExLjVWOS41TDExLjUgOS41Wk0xMiA4QzEyLjU1MjMgOCAxMyA4LjQ0NzcyIDEzIDlWMTJDMTMgMTIuNTUyMyAxMi41NTIzIDEzIDEyIDEzTDIgMTNDMS40NDc3MiAxMyAxIDEyLjU1MjMgMSAxMlY5QzEgOC40NDc3MiAxLjQ0NzcxIDggMiA4TDEyIDhaIiBmaWxsPSIjNjE2MTYxIi8+CjxkZWZzPgo8Y2xpcFBhdGggaWQ9ImNsaXAwXzEzN18xOTQ5MiI+CjxyZWN0IGNsYXNzPSJqcC1pY29uMyIgd2lkdGg9IjYiIGhlaWdodD0iNiIgZmlsbD0id2hpdGUiIHRyYW5zZm9ybT0ibWF0cml4KC0xIDAgMCAxIDEwIDEuNTU1NjYpIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg==);
--jp-icon-add-below: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzEzN18xOTQ5OCkiPgo8cGF0aCBjbGFzcz0ianAtaWNvbjMiIGQ9Ik05LjI1IDEwLjA2OTNMNy4zNzUgMTAuMDY5M0w3LjM3NSA4LjE5NDM0QzcuMzc1IDcuOTg4MDkgNy4yMDYyNSA3LjgxOTM0IDcgNy44MTkzNEM2Ljc5Mzc1IDcuODE5MzQgNi42MjUgNy45ODgwOSA2LjYyNSA4LjE5NDM0TDYuNjI1IDEwLjA2OTNMNC43NSAxMC4wNjkzQzQuNTQzNzUgMTAuMDY5MyA0LjM3NSAxMC4yMzgxIDQuMzc1IDEwLjQ0NDNDNC4zNzUgMTAuNjUwNiA0LjU0Mzc1IDEwLjgxOTMgNC43NSAxMC44MTkzTDYuNjI1IDEwLjgxOTNMNi42MjUgMTIuNjk0M0M2LjYyNSAxMi45MDA2IDYuNzkzNzUgMTMuMDY5MyA3IDEzLjA2OTNDNy4yMDYyNSAxMy4wNjkzIDcuMzc1IDEyLjkwMDYgNy4zNzUgMTIuNjk0M0w3LjM3NSAxMC44MTkzTDkuMjUgMTAuODE5M0M5LjQ1NjI1IDEwLjgxOTMgOS42MjUgMTAuNjUwNiA5LjYyNSAxMC40NDQzQzkuNjI1IDEwLjIzODEgOS40NTYyNSAxMC4wNjkzIDkuMjUgMTAuMDY5M1oiIGZpbGw9IiM2MTYxNjEiIHN0cm9rZT0iIzYxNjE2MSIgc3Ryb2tlLXdpZHRoPSIwLjciLz4KPC9nPgo8cGF0aCBjbGFzcz0ianAtaWNvbjMiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMi41IDUuNUwyLjUgMy41TDExLjUgMy41TDExLjUgNS41TDIuNSA1LjVaTTIgN0MxLjQ0NzcyIDcgMSA2LjU1MjI4IDEgNkwxIDNDMSAyLjQ0NzcyIDEuNDQ3NzIgMiAyIDJMMTIgMkMxMi41NTIzIDIgMTMgMi40NDc3MiAxMyAzTDEzIDZDMTMgNi41NTIyOSAxMi41NTIzIDcgMTIgN0wyIDdaIiBmaWxsPSIjNjE2MTYxIi8+CjxkZWZzPgo8Y2xpcFBhdGggaWQ9ImNsaXAwXzEzN18xOTQ5OCI+CjxyZWN0IGNsYXNzPSJqcC1pY29uMyIgd2lkdGg9IjYiIGhlaWdodD0iNiIgZmlsbD0id2hpdGUiIHRyYW5zZm9ybT0ibWF0cml4KDEgMS43NDg0NmUtMDcgMS43NDg0NmUtMDcgLTEgNCAxMy40NDQzKSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo=);
--jp-icon-add: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTE5IDEzaC02djZoLTJ2LTZINXYtMmg2VjVoMnY2aDZ2MnoiLz4KICA8L2c+Cjwvc3ZnPgo=);
--jp-icon-bell: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE2IDE2IiB2ZXJzaW9uPSIxLjEiPgogICA8cGF0aCBjbGFzcz0ianAtaWNvbjIganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjMzMzMzMzIgogICAgICBkPSJtOCAwLjI5Yy0xLjQgMC0yLjcgMC43My0zLjYgMS44LTEuMiAxLjUtMS40IDMuNC0xLjUgNS4yLTAuMTggMi4yLTAuNDQgNC0yLjMgNS4zbDAuMjggMS4zaDVjMC4wMjYgMC42NiAwLjMyIDEuMSAwLjcxIDEuNSAwLjg0IDAuNjEgMiAwLjYxIDIuOCAwIDAuNTItMC40IDAuNi0xIDAuNzEtMS41aDVsMC4yOC0xLjNjLTEuOS0wLjk3LTIuMi0zLjMtMi4zLTUuMy0wLjEzLTEuOC0wLjI2LTMuNy0xLjUtNS4yLTAuODUtMS0yLjItMS44LTMuNi0xLjh6bTAgMS40YzAuODggMCAxLjkgMC41NSAyLjUgMS4zIDAuODggMS4xIDEuMSAyLjcgMS4yIDQuNCAwLjEzIDEuNyAwLjIzIDMuNiAxLjMgNS4yaC0xMGMxLjEtMS42IDEuMi0zLjQgMS4zLTUuMiAwLjEzLTEuNyAwLjMtMy4zIDEuMi00LjQgMC41OS0wLjcyIDEuNi0xLjMgMi41LTEuM3ptLTAuNzQgMTJoMS41Yy0wLjAwMTUgMC4yOCAwLjAxNSAwLjc5LTAuNzQgMC43OS0wLjczIDAuMDAxNi0wLjcyLTAuNTMtMC43NC0wLjc5eiIgLz4KPC9zdmc+Cg==);
--jp-icon-bug-dot: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiM2MTYxNjEiPgogICAgICAgIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTcuMTkgOEgyMFYxMEgxNy45MUMxNy45NiAxMC4zMyAxOCAxMC42NiAxOCAxMVYxMkgyMFYxNEgxOC41SDE4VjE0LjAyNzVDMTUuNzUgMTQuMjc2MiAxNCAxNi4xODM3IDE0IDE4LjVDMTQgMTkuMjA4IDE0LjE2MzUgMTkuODc3OSAxNC40NTQ5IDIwLjQ3MzlDMTMuNzA2MyAyMC44MTE3IDEyLjg3NTcgMjEgMTIgMjFDOS43OCAyMSA3Ljg1IDE5Ljc5IDYuODEgMThINFYxNkg2LjA5QzYuMDQgMTUuNjcgNiAxNS4zNCA2IDE1VjE0SDRWMTJINlYxMUM2IDEwLjY2IDYuMDQgMTAuMzMgNi4wOSAxMEg0VjhINi44MUM3LjI2IDcuMjIgNy44OCA2LjU1IDguNjIgNi4wNEw3IDQuNDFMOC40MSAzTDEwLjU5IDUuMTdDMTEuMDQgNS4wNiAxMS41MSA1IDEyIDVDMTIuNDkgNSAxMi45NiA1LjA2IDEzLjQyIDUuMTdMMTUuNTkgM0wxNyA0LjQxTDE1LjM3IDYuMDRDMTYuMTIgNi41NSAxNi43NCA3LjIyIDE3LjE5IDhaTTEwIDE2SDE0VjE0SDEwVjE2Wk0xMCAxMkgxNFYxMEgxMFYxMloiIGZpbGw9IiM2MTYxNjEiLz4KICAgICAgICA8cGF0aCBkPSJNMjIgMTguNUMyMiAyMC40MzMgMjAuNDMzIDIyIDE4LjUgMjJDMTYuNTY3IDIyIDE1IDIwLjQzMyAxNSAxOC41QzE1IDE2LjU2NyAxNi41NjcgMTUgMTguNSAxNUMyMC40MzMgMTUgMjIgMTYuNTY3IDIyIDE4LjVaIiBmaWxsPSIjNjE2MTYxIi8+CiAgICA8L2c+Cjwvc3ZnPgo=);
--jp-icon-bug: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIj4KICAgIDxwYXRoIGQ9Ik0yMCA4aC0yLjgxYy0uNDUtLjc4LTEuMDctMS40NS0xLjgyLTEuOTZMMTcgNC40MSAxNS41OSAzbC0yLjE3IDIuMTdDMTIuOTYgNS4wNiAxMi40OSA1IDEyIDVjLS40OSAwLS45Ni4wNi0xLjQxLjE3TDguNDEgMyA3IDQuNDFsMS42MiAxLjYzQzcuODggNi41NSA3LjI2IDcuMjIgNi44MSA4SDR2MmgyLjA5Yy0uMDUuMzMtLjA5LjY2LS4wOSAxdjFINHYyaDJ2MWMwIC4zNC4wNC42Ny4wOSAxSDR2MmgyLjgxYzEuMDQgMS43OSAyLjk3IDMgNS4xOSAzczQuMTUtMS4yMSA1LjE5LTNIMjB2LTJoLTIuMDljLjA1LS4zMy4wOS0uNjYuMDktMXYtMWgydi0yaC0ydi0xYzAtLjM0LS4wNC0uNjctLjA5LTFIMjBWOHptLTYgOGgtNHYtMmg0djJ6bTAtNGgtNHYtMmg0djJ6Ii8+CiAgPC9nPgo8L3N2Zz4K);
--jp-icon-build: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTE0LjkgMTcuNDVDMTYuMjUgMTcuNDUgMTcuMzUgMTYuMzUgMTcuMzUgMTVDMTcuMzUgMTMuNjUgMTYuMjUgMTIuNTUgMTQuOSAxMi41NUMxMy41NCAxMi41NSAxMi40NSAxMy42NSAxMi40NSAxNUMxMi40NSAxNi4zNSAxMy41NCAxNy40NSAxNC45IDE3LjQ1Wk0yMC4xIDE1LjY4TDIxLjU4IDE2Ljg0QzIxLjcxIDE2Ljk1IDIxLjc1IDE3LjEzIDIxLjY2IDE3LjI5TDIwLjI2IDE5LjcxQzIwLjE3IDE5Ljg2IDIwIDE5LjkyIDE5LjgzIDE5Ljg2TDE4LjA5IDE5LjE2QzE3LjczIDE5LjQ0IDE3LjMzIDE5LjY3IDE2LjkxIDE5Ljg1TDE2LjY0IDIxLjdDMTYuNjIgMjEuODcgMTYuNDcgMjIgMTYuMyAyMkgxMy41QzEzLjMyIDIyIDEzLjE4IDIxLjg3IDEzLjE1IDIxLjdMMTIuODkgMTkuODVDMTIuNDYgMTkuNjcgMTIuMDcgMTkuNDQgMTEuNzEgMTkuMTZMOS45NjAwMiAxOS44NkM5LjgxMDAyIDE5LjkyIDkuNjIwMDIgMTkuODYgOS41NDAwMiAxOS43MUw4LjE0MDAyIDE3LjI5QzguMDUwMDIgMTcuMTMgOC4wOTAwMiAxNi45NSA4LjIyMDAyIDE2Ljg0TDkuNzAwMDIgMTUuNjhMOS42NTAwMSAxNUw5LjcwMDAyIDE0LjMxTDguMjIwMDIgMTMuMTZDOC4wOTAwMiAxMy4wNSA4LjA1MDAyIDEyLjg2IDguMTQwMDIgMTIuNzFMOS41NDAwMiAxMC4yOUM5LjYyMDAyIDEwLjEzIDkuODEwMDIgMTAuMDcgOS45NjAwMiAxMC4xM0wxMS43MSAxMC44NEMxMi4wNyAxMC41NiAxMi40NiAxMC4zMiAxMi44OSAxMC4xNUwxMy4xNSA4LjI4OTk4QzEzLjE4IDguMTI5OTggMTMuMzIgNy45OTk5OCAxMy41IDcuOTk5OThIMTYuM0MxNi40NyA3Ljk5OTk4IDE2LjYyIDguMTI5OTggMTYuNjQgOC4yODk5OEwxNi45MSAxMC4xNUMxNy4zMyAxMC4zMiAxNy43MyAxMC41NiAxOC4wOSAxMC44NEwxOS44MyAxMC4xM0MyMCAxMC4wNyAyMC4xNyAxMC4xMyAyMC4yNiAxMC4yOUwyMS42NiAxMi43MUMyMS43NSAxMi44NiAyMS43MSAxMy4wNSAyMS41OCAxMy4xNkwyMC4xIDE0LjMxTDIwLjE1IDE1TDIwLjEgMTUuNjhaIi8+CiAgICA8cGF0aCBkPSJNNy4zMjk2NiA3LjQ0NDU0QzguMDgzMSA3LjAwOTU0IDguMzM5MzIgNi4wNTMzMiA3LjkwNDMyIDUuMjk5ODhDNy40NjkzMiA0LjU0NjQzIDYuNTA4MSA0LjI4MTU2IDUuNzU0NjYgNC43MTY1NkM1LjM5MTc2IDQuOTI2MDggNS4xMjY5NSA1LjI3MTE4IDUuMDE4NDkgNS42NzU5NEM0LjkxMDA0IDYuMDgwNzEgNC45NjY4MiA2LjUxMTk4IDUuMTc2MzQgNi44NzQ4OEM1LjYxMTM0IDcuNjI4MzIgNi41NzYyMiA3Ljg3OTU0IDcuMzI5NjYgNy40NDQ1NFpNOS42NTcxOCA0Ljc5NTkzTDEwLjg2NzIgNC45NTE3OUMxMC45NjI4IDQuOTc3NDEgMTEuMDQwMiA1LjA3MTMzIDExLjAzODIgNS4xODc5M0wxMS4wMzg4IDYuOTg4OTNDMTEuMDQ1NSA3LjEwMDU0IDEwLjk2MTYgNy4xOTUxOCAxMC44NTUgNy4yMTA1NEw5LjY2MDAxIDcuMzgwODNMOS4yMzkxNSA4LjEzMTg4TDkuNjY5NjEgOS4yNTc0NUM5LjcwNzI5IDkuMzYyNzEgOS42NjkzNCA5LjQ3Njk5IDkuNTc0MDggOS41MzE5OUw4LjAxNTIzIDEwLjQzMkM3LjkxMTMxIDEwLjQ5MiA3Ljc5MzM3IDEwLjQ2NzcgNy43MjEwNSAxMC4zODI0TDYuOTg3NDggOS40MzE4OEw2LjEwOTMxIDkuNDMwODNMNS4zNDcwNCAxMC4zOTA1QzUuMjg5MDkgMTAuNDcwMiA1LjE3MzgzIDEwLjQ5MDUgNS4wNzE4NyAxMC40MzM5TDMuNTEyNDUgOS41MzI5M0MzLjQxMDQ5IDkuNDc2MzMgMy4zNzY0NyA5LjM1NzQxIDMuNDEwNzUgOS4yNTY3OUwzLjg2MzQ3IDguMTQwOTNMMy42MTc0OSA3Ljc3NDg4TDMuNDIzNDcgNy4zNzg4M0wyLjIzMDc1IDcuMjEyOTdDMi4xMjY0NyA3LjE5MjM1IDIuMDQwNDkgNy4xMDM0MiAyLjA0MjQ1IDYuOTg2ODJMMi4wNDE4NyA1LjE4NTgyQzIuMDQzODMgNS4wNjkyMiAyLjExOTA5IDQuOTc5NTggMi4yMTcwNCA0Ljk2OTIyTDMuNDIwNjUgNC43OTM5M0wzLjg2NzQ5IDQuMDI3ODhMMy40MTEwNSAyLjkxNzMxQzMuMzczMzcgMi44MTIwNCAzLjQxMTMxIDIuNjk3NzYgMy41MTUyMyAyLjYzNzc2TDUuMDc0MDggMS43Mzc3NkM1LjE2OTM0IDEuNjgyNzYgNS4yODcyOSAxLjcwNzA0IDUuMzU5NjEgMS43OTIzMUw2LjExOTE1IDIuNzI3ODhMNi45ODAwMSAyLjczODkzTDcuNzI0OTYgMS43ODkyMkM3Ljc5MTU2IDEuNzA0NTggNy45MTU0OCAxLjY3OTIyIDguMDA4NzkgMS43NDA4Mkw5LjU2ODIxIDIuNjQxODJDOS42NzAxNyAyLjY5ODQyIDkuNzEyODUgMi44MTIzNCA5LjY4NzIzIDIuOTA3OTdMOS4yMTcxOCA0LjAzMzgzTDkuNDYzMTYgNC4zOTk4OEw5LjY1NzE4IDQuNzk1OTNaIi8+CiAgPC9nPgo8L3N2Zz4K);
--jp-icon-caret-down-empty-thin: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwIDIwIj4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgoJCTxwb2x5Z29uIGNsYXNzPSJzdDEiIHBvaW50cz0iOS45LDEzLjYgMy42LDcuNCA0LjQsNi42IDkuOSwxMi4yIDE1LjQsNi43IDE2LjEsNy40ICIvPgoJPC9nPgo8L3N2Zz4K);
--jp-icon-caret-down-empty: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIj4KICAgIDxwYXRoIGQ9Ik01LjIsNS45TDksOS43bDMuOC0zLjhsMS4yLDEuMmwtNC45LDVsLTQuOS01TDUuMiw1Ljl6Ii8+CiAgPC9nPgo8L3N2Zz4K);
--jp-icon-caret-down: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIj4KICAgIDxwYXRoIGQ9Ik01LjIsNy41TDksMTEuMmwzLjgtMy44SDUuMnoiLz4KICA8L2c+Cjwvc3ZnPgo=);
--jp-icon-caret-left: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgoJCTxwYXRoIGQ9Ik0xMC44LDEyLjhMNy4xLDlsMy44LTMuOGwwLDcuNkgxMC44eiIvPgogIDwvZz4KPC9zdmc+Cg==);
--jp-icon-caret-right: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIj4KICAgIDxwYXRoIGQ9Ik03LjIsNS4yTDEwLjksOWwtMy44LDMuOFY1LjJINy4yeiIvPgogIDwvZz4KPC9zdmc+Cg==);
--jp-icon-caret-up-empty-thin: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwIDIwIj4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgoJCTxwb2x5Z29uIGNsYXNzPSJzdDEiIHBvaW50cz0iMTUuNCwxMy4zIDkuOSw3LjcgNC40LDEzLjIgMy42LDEyLjUgOS45LDYuMyAxNi4xLDEyLjYgIi8+Cgk8L2c+Cjwvc3ZnPgo=);
--jp-icon-caret-up: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgoJCTxwYXRoIGQ9Ik01LjIsMTAuNUw5LDYuOGwzLjgsMy44SDUuMnoiLz4KICA8L2c+Cjwvc3ZnPgo=);
--jp-icon-case-sensitive: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwIDIwIj4KICA8ZyBjbGFzcz0ianAtaWNvbjIiIGZpbGw9IiM0MTQxNDEiPgogICAgPHJlY3QgeD0iMiIgeT0iMiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ii8+CiAgPC9nPgogIDxnIGNsYXNzPSJqcC1pY29uLWFjY2VudDIiIGZpbGw9IiNGRkYiPgogICAgPHBhdGggZD0iTTcuNiw4aDAuOWwzLjUsOGgtMS4xTDEwLDE0SDZsLTAuOSwySDRMNy42LDh6IE04LDkuMUw2LjQsMTNoMy4yTDgsOS4xeiIvPgogICAgPHBhdGggZD0iTTE2LjYsOS44Yy0wLjIsMC4xLTAuNCwwLjEtMC43LDAuMWMtMC4yLDAtMC40LTAuMS0wLjYtMC4yYy0wLjEtMC4xLTAuMi0wLjQtMC4yLTAuNyBjLTAuMywwLjMtMC42LDAuNS0wLjksMC43Yy0wLjMsMC4xLTAuNywwLjItMS4xLDAuMmMtMC4zLDAtMC41LDAtMC43LTAuMWMtMC4yLTAuMS0wLjQtMC4yLTAuNi0wLjNjLTAuMi0wLjEtMC4zLTAuMy0wLjQtMC41IGMtMC4xLTAuMi0wLjEtMC40LTAuMS0wLjdjMC0wLjMsMC4xLTAuNiwwLjItMC44YzAuMS0wLjIsMC4zLTAuNCwwLjQtMC41QzEyLDcsMTIuMiw2LjksMTIuNSw2LjhjMC4yLTAuMSwwLjUtMC4xLDAuNy0wLjIgYzAuMy0wLjEsMC41LTAuMSwwLjctMC4xYzAuMiwwLDAuNC0wLjEsMC42LTAuMWMwLjIsMCwwLjMtMC4xLDAuNC0wLjJjMC4xLTAuMSwwLjItMC4yLDAuMi0wLjRjMC0xLTEuMS0xLTEuMy0xIGMtMC40LDAtMS40LDAtMS40LDEuMmgtMC45YzAtMC40LDAuMS0wLjcsMC4yLTFjMC4xLTAuMiwwLjMtMC40LDAuNS0wLjZjMC4yLTAuMiwwLjUtMC4zLDAuOC0wLjNDMTMuMyw0LDEzLjYsNCwxMy45LDQgYzAuMywwLDAuNSwwLDAuOCwwLjFjMC4zLDAsMC41LDAuMSwwLjcsMC4yYzAuMiwwLjEsMC40LDAuMywwLjUsMC41QzE2LDUsMTYsNS4yLDE2LDUuNnYyLjljMCwwLjIsMCwwLjQsMCwwLjUgYzAsMC4xLDAuMSwwLjIsMC4zLDAuMmMwLjEsMCwwLjIsMCwwLjMsMFY5Ljh6IE0xNS4yLDYuOWMtMS4yLDAuNi0zLjEsMC4yLTMuMSwxLjRjMCwxLjQsMy4xLDEsMy4xLTAuNVY2Ljl6Ii8+CiAgPC9nPgo8L3N2Zz4K);
--jp-icon-check: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIj4KICAgIDxwYXRoIGQ9Ik05IDE2LjE3TDQuODMgMTJsLTEuNDIgMS40MUw5IDE5IDIxIDdsLTEuNDEtMS40MXoiLz4KICA8L2c+Cjwvc3ZnPgo=);
--jp-icon-circle-empty: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTEyIDJDNi40NyAyIDIgNi40NyAyIDEyczQuNDcgMTAgMTAgMTAgMTAtNC40NyAxMC0xMFMxNy41MyAyIDEyIDJ6bTAgMThjLTQuNDEgMC04LTMuNTktOC04czMuNTktOCA4LTggOCAzLjU5IDggOC0zLjU5IDgtOCA4eiIvPgogIDwvZz4KPC9zdmc+Cg==);
--jp-icon-circle: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPGNpcmNsZSBjeD0iOSIgY3k9IjkiIHI9IjgiLz4KICA8L2c+Cjwvc3ZnPgo=);
--jp-icon-clear: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8bWFzayBpZD0iZG9udXRIb2xlIj4KICAgIDxyZWN0IHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0id2hpdGUiIC8+CiAgICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSI4IiBmaWxsPSJibGFjayIvPgogIDwvbWFzaz4KCiAgPGcgY2xhc3M9ImpwLWljb24zIiBmaWxsPSIjNjE2MTYxIj4KICAgIDxyZWN0IGhlaWdodD0iMTgiIHdpZHRoPSIyIiB4PSIxMSIgeT0iMyIgdHJhbnNmb3JtPSJyb3RhdGUoMzE1LCAxMiwgMTIpIi8+CiAgICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgbWFzaz0idXJsKCNkb251dEhvbGUpIi8+CiAgPC9nPgo8L3N2Zz4K);
--jp-icon-close: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbi1ub25lIGpwLWljb24tc2VsZWN0YWJsZS1pbnZlcnNlIGpwLWljb24zLWhvdmVyIiBmaWxsPSJub25lIj4KICAgIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjExIi8+CiAgPC9nPgoKICA8ZyBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIGpwLWljb24tYWNjZW50Mi1ob3ZlciIgZmlsbD0iIzYxNjE2MSI+CiAgICA8cGF0aCBkPSJNMTkgNi40MUwxNy41OSA1IDEyIDEwLjU5IDYuNDEgNSA1IDYuNDEgMTAuNTkgMTIgNSAxNy41OSA2LjQxIDE5IDEyIDEzLjQxIDE3LjU5IDE5IDE5IDE3LjU5IDEzLjQxIDEyeiIvPgogIDwvZz4KCiAgPGcgY2xhc3M9ImpwLWljb24tbm9uZSBqcC1pY29uLWJ1c3kiIGZpbGw9Im5vbmUiPgogICAgPGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iNyIvPgogIDwvZz4KPC9zdmc+Cg==);
--jp-icon-code-check: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+CiAgICA8cGF0aCBkPSJNNi41OSwzLjQxTDIsOEw2LjU5LDEyLjZMOCwxMS4xOEw0LjgyLDhMOCw0LjgyTDYuNTksMy40MU0xMi40MSwzLjQxTDExLDQuODJMMTQuMTgsOEwxMSwxMS4xOEwxMi40MSwxMi42TDE3LDhMMTIuNDEsMy40MU0yMS41OSwxMS41OUwxMy41LDE5LjY4TDkuODMsMTZMOC40MiwxNy40MUwxMy41LDIyLjVMMjMsMTNMMjEuNTksMTEuNTlaIiAvPgogIDwvZz4KPC9zdmc+Cg==);
--jp-icon-code: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjIiIGhlaWdodD0iMjIiIHZpZXdCb3g9IjAgMCAyOCAyOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CgkJPHBhdGggZD0iTTExLjQgMTguNkw2LjggMTRMMTEuNCA5LjRMMTAgOEw0IDE0TDEwIDIwTDExLjQgMTguNlpNMTYuNiAxOC42TDIxLjIgMTRMMTYuNiA5LjRMMTggOEwyNCAxNEwxOCAyMEwxNi42IDE4LjZWMTguNloiLz4KCTwvZz4KPC9zdmc+Cg==);
--jp-icon-collapse-all: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGgKICAgICAgICAgICAgZD0iTTggMmMxIDAgMTEgMCAxMiAwczIgMSAyIDJjMCAxIDAgMTEgMCAxMnMwIDItMiAyQzIwIDE0IDIwIDQgMjAgNFMxMCA0IDYgNGMwLTIgMS0yIDItMnoiIC8+CiAgICAgICAgPHBhdGgKICAgICAgICAgICAgZD0iTTE4IDhjMC0xLTEtMi0yLTJTNSA2IDQgNnMtMiAxLTIgMmMwIDEgMCAxMSAwIDEyczEgMiAyIDJjMSAwIDExIDAgMTIgMHMyLTEgMi0yYzAtMSAwLTExIDAtMTJ6bS0yIDB2MTJINFY4eiIgLz4KICAgICAgICA8cGF0aCBkPSJNNiAxM3YyaDh2LTJ6IiAvPgogICAgPC9nPgo8L3N2Zz4K);
--jp-icon-console: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwMCAyMDAiPgogIDxnIGNsYXNzPSJqcC1jb25zb2xlLWljb24tYmFja2dyb3VuZC1jb2xvciBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiMwMjg4RDEiPgogICAgPHBhdGggZD0iTTIwIDE5LjhoMTYwdjE1OS45SDIweiIvPgogIDwvZz4KICA8ZyBjbGFzcz0ianAtY29uc29sZS1pY29uLWNvbG9yIGpwLWljb24tc2VsZWN0YWJsZS1pbnZlcnNlIiBmaWxsPSIjZmZmIj4KICAgIDxwYXRoIGQ9Ik0xMDUgMTI3LjNoNDB2MTIuOGgtNDB6TTUxLjEgNzdMNzQgOTkuOWwtMjMuMyAyMy4zIDEwLjUgMTAuNSAyMy4zLTIzLjNMOTUgOTkuOSA4NC41IDg5LjQgNjEuNiA2Ni41eiIvPgogIDwvZz4KPC9zdmc+Cg==);
--jp-icon-copy: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTExLjksMUgzLjJDMi40LDEsMS43LDEuNywxLjcsMi41djEwLjJoMS41VjIuNWg4LjdWMXogTTE0LjEsMy45aC04Yy0wLjgsMC0xLjUsMC43LTEuNSwxLjV2MTAuMmMwLDAuOCwwLjcsMS41LDEuNSwxLjVoOCBjMC44LDAsMS41LTAuNywxLjUtMS41VjUuNEMxNS41LDQuNiwxNC45LDMuOSwxNC4xLDMuOXogTTE0LjEsMTUuNWgtOFY1LjRoOFYxNS41eiIvPgogIDwvZz4KPC9zdmc+Cg==);
--jp-icon-copyright: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDI0IDI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCI+CiAgPGcgY2xhc3M9ImpwLWljb24zIiBmaWxsPSIjNjE2MTYxIj4KICAgIDxwYXRoIGQ9Ik0xMS44OCw5LjE0YzEuMjgsMC4wNiwxLjYxLDEuMTUsMS42MywxLjY2aDEuNzljLTAuMDgtMS45OC0xLjQ5LTMuMTktMy40NS0zLjE5QzkuNjQsNy42MSw4LDksOCwxMi4xNCBjMCwxLjk0LDAuOTMsNC4yNCwzLjg0LDQuMjRjMi4yMiwwLDMuNDEtMS42NSwzLjQ0LTIuOTVoLTEuNzljLTAuMDMsMC41OS0wLjQ1LDEuMzgtMS42MywxLjQ0QzEwLjU1LDE0LjgzLDEwLDEzLjgxLDEwLDEyLjE0IEMxMCw5LjI1LDExLjI4LDkuMTYsMTEuODgsOS4xNHogTTEyLDJDNi40OCwyLDIsNi40OCwyLDEyczQuNDgsMTAsMTAsMTBzMTAtNC40OCwxMC0xMFMxNy41MiwyLDEyLDJ6IE0xMiwyMGMtNC40MSwwLTgtMy41OS04LTggczMuNTktOCw4LThzOCwzLjU5LDgsOFMxNi40MSwyMCwxMiwyMHoiLz4KICA8L2c+Cjwvc3ZnPgo=);
--jp-icon-cut: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTkuNjQgNy42NGMuMjMtLjUuMzYtMS4wNS4zNi0xLjY0IDAtMi4yMS0xLjc5LTQtNC00UzIgMy43OSAyIDZzMS43OSA0IDQgNGMuNTkgMCAxLjE0LS4xMyAxLjY0LS4zNkwxMCAxMmwtMi4zNiAyLjM2QzcuMTQgMTQuMTMgNi41OSAxNCA2IDE0Yy0yLjIxIDAtNCAxLjc5LTQgNHMxLjc5IDQgNCA0IDQtMS43OSA0LTRjMC0uNTktLjEzLTEuMTQtLjM2LTEuNjRMMTIgMTRsNyA3aDN2LTFMOS42NCA3LjY0ek02IDhjLTEuMSAwLTItLjg5LTItMnMuOS0yIDItMiAyIC44OSAyIDItLjkgMi0yIDJ6bTAgMTJjLTEuMSAwLTItLjg5LTItMnMuOS0yIDItMiAyIC44OSAyIDItLjkgMi0yIDJ6bTYtNy41Yy0uMjggMC0uNS0uMjItLjUtLjVzLjIyLS41LjUtLjUuNS4yMi41LjUtLjIyLjUtLjUuNXpNMTkgM2wtNiA2IDIgMiA3LTdWM3oiLz4KICA8L2c+Cjwvc3ZnPgo=);
--jp-icon-delete: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE2cHgiIGhlaWdodD0iMTZweCI+CiAgICA8cGF0aCBkPSJNMCAwaDI0djI0SDB6IiBmaWxsPSJub25lIiAvPgogICAgPHBhdGggY2xhc3M9ImpwLWljb24zIiBmaWxsPSIjNjI2MjYyIiBkPSJNNiAxOWMwIDEuMS45IDIgMiAyaDhjMS4xIDAgMi0uOSAyLTJWN0g2djEyek0xOSA0aC0zLjVsLTEtMWgtNWwtMSAxSDV2MmgxNFY0eiIgLz4KPC9zdmc+Cg==);
--jp-icon-download: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTE5IDloLTRWM0g5djZINWw3IDcgNy03ek01IDE4djJoMTR2LTJINXoiLz4KICA8L2c+Cjwvc3ZnPgo=);
--jp-icon-duplicate: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggY2xhc3M9ImpwLWljb24zIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTIuNzk5OTggMC44NzVIOC44OTU4MkM5LjIwMDYxIDAuODc1IDkuNDQ5OTggMS4xMzkxNCA5LjQ0OTk4IDEuNDYxOThDOS40NDk5OCAxLjc4NDgyIDkuMjAwNjEgMi4wNDg5NiA4Ljg5NTgyIDIuMDQ4OTZIMy4zNTQxNUMzLjA0OTM2IDIuMDQ4OTYgMi43OTk5OCAyLjMxMzEgMi43OTk5OCAyLjYzNTk0VjkuNjc5NjlDMi43OTk5OCAxMC4wMDI1IDIuNTUwNjEgMTAuMjY2NyAyLjI0NTgyIDEwLjI2NjdDMS45NDEwMyAxMC4yNjY3IDEuNjkxNjUgMTAuMDAyNSAxLjY5MTY1IDkuNjc5NjlWMi4wNDg5NkMxLjY5MTY1IDEuNDAzMjggMi4xOTA0IDAuODc1IDIuNzk5OTggMC44NzVaTTUuMzY2NjUgMTEuOVY0LjU1SDExLjA4MzNWMTEuOUg1LjM2NjY1Wk00LjE0MTY1IDQuMTQxNjdDNC4xNDE2NSAzLjY5MDYzIDQuNTA3MjggMy4zMjUgNC45NTgzMiAzLjMyNUgxMS40OTE3QzExLjk0MjcgMy4zMjUgMTIuMzA4MyAzLjY5MDYzIDEyLjMwODMgNC4xNDE2N1YxMi4zMDgzQzEyLjMwODMgMTIuNzU5NCAxMS45NDI3IDEzLjEyNSAxMS40OTE3IDEzLjEyNUg0Ljk1ODMyQzQuNTA3MjggMTMuMTI1IDQuMTQxNjUgMTIuNzU5NCA0LjE0MTY1IDEyLjMwODNWNC4xNDE2N1oiIGZpbGw9IiM2MTYxNjEiLz4KPHBhdGggY2xhc3M9ImpwLWljb24zIiBkPSJNOS40MzU3NCA4LjI2NTA3SDguMzY0MzFWOS4zMzY1QzguMzY0MzEgOS40NTQzNSA4LjI2Nzg4IDkuNTUwNzggOC4xNTAwMiA5LjU1MDc4QzguMDMyMTcgOS41NTA3OCA3LjkzNTc0IDkuNDU0MzUgNy45MzU3NCA5LjMzNjVWOC4yNjUwN0g2Ljg2NDMxQzYuNzQ2NDUgOC4yNjUwNyA2LjY1MDAyIDguMTY4NjQgNi42NTAwMiA4LjA1MDc4QzYuNjUwMDIgNy45MzI5MiA2Ljc0NjQ1IDcuODM2NSA2Ljg2NDMxIDcuODM2NUg3LjkzNTc0VjYuNzY1MDdDNy45MzU3NCA2LjY0NzIxIDguMDMyMTcgNi41NTA3OCA4LjE1MDAyIDYuNTUwNzhDOC4yNjc4OCA2LjU1MDc4IDguMzY0MzEgNi42NDcyMSA4LjM2NDMxIDYuNzY1MDdWNy44MzY1SDkuNDM1NzRDOS41NTM2IDcuODM2NSA5LjY1MDAyIDcuOTMyOTIgOS42NTAwMiA4LjA1MDc4QzkuNjUwMDIgOC4xNjg2NCA5LjU1MzYgOC4yNjUwNyA5LjQzNTc0IDguMjY1MDdaIiBmaWxsPSIjNjE2MTYxIiBzdHJva2U9IiM2MTYxNjEiIHN0cm9rZS13aWR0aD0iMC41Ii8+Cjwvc3ZnPgo=);
--jp-icon-edit: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTMgMTcuMjVWMjFoMy43NUwxNy44MSA5Ljk0bC0zLjc1LTMuNzVMMyAxNy4yNXpNMjAuNzEgNy4wNGMuMzktLjM5LjM5LTEuMDIgMC0xLjQxbC0yLjM0LTIuMzRjLS4zOS0uMzktMS4wMi0uMzktMS40MSAwbC0xLjgzIDEuODMgMy43NSAzLjc1IDEuODMtMS44M3oiLz4KICA8L2c+Cjwvc3ZnPgo=);
--jp-icon-ellipses: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPGNpcmNsZSBjeD0iNSIgY3k9IjEyIiByPSIyIi8+CiAgICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIyIi8+CiAgICA8Y2lyY2xlIGN4PSIxOSIgY3k9IjEyIiByPSIyIi8+CiAgPC9nPgo8L3N2Zz4K);
--jp-icon-error: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KPGcgY2xhc3M9ImpwLWljb24zIiBmaWxsPSIjNjE2MTYxIj48Y2lyY2xlIGN4PSIxMiIgY3k9IjE5IiByPSIyIi8+PHBhdGggZD0iTTEwIDNoNHYxMmgtNHoiLz48L2c+CjxwYXRoIGZpbGw9Im5vbmUiIGQ9Ik0wIDBoMjR2MjRIMHoiLz4KPC9zdmc+Cg==);
--jp-icon-expand-all: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGgKICAgICAgICAgICAgZD0iTTggMmMxIDAgMTEgMCAxMiAwczIgMSAyIDJjMCAxIDAgMTEgMCAxMnMwIDItMiAyQzIwIDE0IDIwIDQgMjAgNFMxMCA0IDYgNGMwLTIgMS0yIDItMnoiIC8+CiAgICAgICAgPHBhdGgKICAgICAgICAgICAgZD0iTTE4IDhjMC0xLTEtMi0yLTJTNSA2IDQgNnMtMiAxLTIgMmMwIDEgMCAxMSAwIDEyczEgMiAyIDJjMSAwIDExIDAgMTIgMHMyLTEgMi0yYzAtMSAwLTExIDAtMTJ6bS0yIDB2MTJINFY4eiIgLz4KICAgICAgICA8cGF0aCBkPSJNMTEgMTBIOXYzSDZ2MmgzdjNoMnYtM2gzdi0yaC0zeiIgLz4KICAgIDwvZz4KPC9zdmc+Cg==);
--jp-icon-extension: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTIwLjUgMTFIMTlWN2MwLTEuMS0uOS0yLTItMmgtNFYzLjVDMTMgMi4xMiAxMS44OCAxIDEwLjUgMVM4IDIuMTIgOCAzLjVWNUg0Yy0xLjEgMC0xLjk5LjktMS45OSAydjMuOEgzLjVjMS40OSAwIDIuNyAxLjIxIDIuNyAyLjdzLTEuMjEgMi43LTIuNyAyLjdIMlYyMGMwIDEuMS45IDIgMiAyaDMuOHYtMS41YzAtMS40OSAxLjIxLTIuNyAyLjctMi43IDEuNDkgMCAyLjcgMS4yMSAyLjcgMi43VjIySDE3YzEuMSAwIDItLjkgMi0ydi00aDEuNWMxLjM4IDAgMi41LTEuMTIgMi41LTIuNVMyMS44OCAxMSAyMC41IDExeiIvPgogIDwvZz4KPC9zdmc+Cg==);
--jp-icon-fast-forward: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTQgMThsOC41LTZMNCA2djEyem05LTEydjEybDguNS02TDEzIDZ6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=);
--jp-icon-file-upload: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTkgMTZoNnYtNmg0bC03LTctNyA3aDR6bS00IDJoMTR2Mkg1eiIvPgogIDwvZz4KPC9zdmc+Cg==);
--jp-icon-file: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMTkuMyA4LjJsLTUuNS01LjVjLS4zLS4zLS43LS41LTEuMi0uNUgzLjljLS44LjEtMS42LjktMS42IDEuOHYxNC4xYzAgLjkuNyAxLjYgMS42IDEuNmgxNC4yYy45IDAgMS42LS43IDEuNi0xLjZWOS40Yy4xLS41LS4xLS45LS40LTEuMnptLTUuOC0zLjNsMy40IDMuNmgtMy40VjQuOXptMy45IDEyLjdINC43Yy0uMSAwLS4yIDAtLjItLjJWNC43YzAtLjIuMS0uMy4yLS4zaDcuMnY0LjRzMCAuOC4zIDEuMWMuMy4zIDEuMS4zIDEuMS4zaDQuM3Y3LjJzLS4xLjItLjIuMnoiLz4KPC9zdmc+Cg==);
--jp-icon-filter-dot: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiNGRkYiPgogICAgPHBhdGggZD0iTTE0LDEyVjE5Ljg4QzE0LjA0LDIwLjE4IDEzLjk0LDIwLjUgMTMuNzEsMjAuNzFDMTMuMzIsMjEuMSAxMi42OSwyMS4xIDEyLjMsMjAuNzFMMTAuMjksMTguN0MxMC4wNiwxOC40NyA5Ljk2LDE4LjE2IDEwLDE3Ljg3VjEySDkuOTdMNC4yMSw0LjYyQzMuODcsNC4xOSAzLjk1LDMuNTYgNC4zOCwzLjIyQzQuNTcsMy4wOCA0Ljc4LDMgNSwzVjNIMTlWM0MxOS4yMiwzIDE5LjQzLDMuMDggMTkuNjIsMy4yMkMyMC4wNSwzLjU2IDIwLjEzLDQuMTkgMTkuNzksNC42MkwxNC4wMywxMkgxNFoiIC8+CiAgPC9nPgogIDxnIGNsYXNzPSJqcC1pY29uLWRvdCIgZmlsbD0iI0ZGRiI+CiAgICA8Y2lyY2xlIGN4PSIxOCIgY3k9IjE3IiByPSIzIj48L2NpcmNsZT4KICA8L2c+Cjwvc3ZnPgo=);
--jp-icon-filter-list: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTEwIDE4aDR2LTJoLTR2MnpNMyA2djJoMThWNkgzem0zIDdoMTJ2LTJINnYyeiIvPgogIDwvZz4KPC9zdmc+Cg==);
--jp-icon-filter: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiNGRkYiPgogICAgPHBhdGggZD0iTTE0LDEyVjE5Ljg4QzE0LjA0LDIwLjE4IDEzLjk0LDIwLjUgMTMuNzEsMjAuNzFDMTMuMzIsMjEuMSAxMi42OSwyMS4xIDEyLjMsMjAuNzFMMTAuMjksMTguN0MxMC4wNiwxOC40NyA5Ljk2LDE4LjE2IDEwLDE3Ljg3VjEySDkuOTdMNC4yMSw0LjYyQzMuODcsNC4xOSAzLjk1LDMuNTYgNC4zOCwzLjIyQzQuNTcsMy4wOCA0Ljc4LDMgNSwzVjNIMTlWM0MxOS4yMiwzIDE5LjQzLDMuMDggMTkuNjIsMy4yMkMyMC4wNSwzLjU2IDIwLjEzLDQuMTkgMTkuNzksNC42MkwxNC4wMywxMkgxNFoiIC8+CiAgPC9nPgo8L3N2Zz4K);
--jp-icon-folder-favorite: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMjRweCIgZmlsbD0iIzAwMDAwMCI+CiAgPHBhdGggZD0iTTAgMGgyNHYyNEgwVjB6IiBmaWxsPSJub25lIi8+PHBhdGggY2xhc3M9ImpwLWljb24zIGpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iIzYxNjE2MSIgZD0iTTIwIDZoLThsLTItMkg0Yy0xLjEgMC0yIC45LTIgMnYxMmMwIDEuMS45IDIgMiAyaDE2YzEuMSAwIDItLjkgMi0yVjhjMC0xLjEtLjktMi0yLTJ6bS0yLjA2IDExTDE1IDE1LjI4IDEyLjA2IDE3bC43OC0zLjMzLTIuNTktMi4yNCAzLjQxLS4yOUwxNSA4bDEuMzQgMy4xNCAzLjQxLjI5LTIuNTkgMi4yNC43OCAzLjMzeiIvPgo8L3N2Zz4K);
--jp-icon-folder: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMTAgNEg0Yy0xLjEgMC0xLjk5LjktMS45OSAyTDIgMThjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY4YzAtMS4xLS45LTItMi0yaC04bC0yLTJ6Ii8+Cjwvc3ZnPgo=);
--jp-icon-home: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMjRweCIgZmlsbD0iIzAwMDAwMCI+CiAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPjxwYXRoIGNsYXNzPSJqcC1pY29uMyBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiM2MTYxNjEiIGQ9Ik0xMCAyMHYtNmg0djZoNXYtOGgzTDEyIDMgMiAxMmgzdjh6Ii8+Cjwvc3ZnPgo=);
--jp-icon-html5: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDUxMiA1MTIiPgogIDxwYXRoIGNsYXNzPSJqcC1pY29uMCBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiMwMDAiIGQ9Ik0xMDguNCAwaDIzdjIyLjhoMjEuMlYwaDIzdjY5aC0yM1Y0NmgtMjF2MjNoLTIzLjJNMjA2IDIzaC0yMC4zVjBoNjMuN3YyM0gyMjl2NDZoLTIzbTUzLjUtNjloMjQuMWwxNC44IDI0LjNMMzEzLjIgMGgyNC4xdjY5aC0yM1YzNC44bC0xNi4xIDI0LjgtMTYuMS0yNC44VjY5aC0yMi42bTg5LjItNjloMjN2NDYuMmgzMi42VjY5aC01NS42Ii8+CiAgPHBhdGggY2xhc3M9ImpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iI2U0NGQyNiIgZD0iTTEwNy42IDQ3MWwtMzMtMzcwLjRoMzYyLjhsLTMzIDM3MC4yTDI1NS43IDUxMiIvPgogIDxwYXRoIGNsYXNzPSJqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiNmMTY1MjkiIGQ9Ik0yNTYgNDgwLjVWMTMxaDE0OC4zTDM3NiA0NDciLz4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1zZWxlY3RhYmxlLWludmVyc2UiIGZpbGw9IiNlYmViZWIiIGQ9Ik0xNDIgMTc2LjNoMTE0djQ1LjRoLTY0LjJsNC4yIDQ2LjVoNjB2NDUuM0gxNTQuNG0yIDIyLjhIMjAybDMuMiAzNi4zIDUwLjggMTMuNnY0Ny40bC05My4yLTI2Ii8+CiAgPHBhdGggY2xhc3M9ImpwLWljb24tc2VsZWN0YWJsZS1pbnZlcnNlIiBmaWxsPSIjZmZmIiBkPSJNMzY5LjYgMTc2LjNIMjU1Ljh2NDUuNGgxMDkuNm0tNC4xIDQ2LjVIMjU1Ljh2NDUuNGg1NmwtNS4zIDU5LTUwLjcgMTMuNnY0Ny4ybDkzLTI1LjgiLz4KPC9zdmc+Cg==);
--jp-icon-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1icmFuZDQganAtaWNvbi1zZWxlY3RhYmxlLWludmVyc2UiIGZpbGw9IiNGRkYiIGQ9Ik0yLjIgMi4yaDE3LjV2MTcuNUgyLjJ6Ii8+CiAgPHBhdGggY2xhc3M9ImpwLWljb24tYnJhbmQwIGpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iIzNGNTFCNSIgZD0iTTIuMiAyLjJ2MTcuNWgxNy41bC4xLTE3LjVIMi4yem0xMi4xIDIuMmMxLjIgMCAyLjIgMSAyLjIgMi4ycy0xIDIuMi0yLjIgMi4yLTIuMi0xLTIuMi0yLjIgMS0yLjIgMi4yLTIuMnpNNC40IDE3LjZsMy4zLTguOCAzLjMgNi42IDIuMi0zLjIgNC40IDUuNEg0LjR6Ii8+Cjwvc3ZnPgo=);
--jp-icon-info: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDUwLjk3OCA1MC45NzgiPgoJPGcgY2xhc3M9ImpwLWljb24zIiBmaWxsPSIjNjE2MTYxIj4KCQk8cGF0aCBkPSJNNDMuNTIsNy40NThDMzguNzExLDIuNjQ4LDMyLjMwNywwLDI1LjQ4OSwwQzE4LjY3LDAsMTIuMjY2LDIuNjQ4LDcuNDU4LDcuNDU4CgkJCWMtOS45NDMsOS45NDEtOS45NDMsMjYuMTE5LDAsMzYuMDYyYzQuODA5LDQuODA5LDExLjIxMiw3LjQ1NiwxOC4wMzEsNy40NThjMCwwLDAuMDAxLDAsMC4wMDIsMAoJCQljNi44MTYsMCwxMy4yMjEtMi42NDgsMTguMDI5LTcuNDU4YzQuODA5LTQuODA5LDcuNDU3LTExLjIxMiw3LjQ1Ny0xOC4wM0M1MC45NzcsMTguNjcsNDguMzI4LDEyLjI2Niw0My41Miw3LjQ1OHoKCQkJIE00Mi4xMDYsNDIuMTA1Yy00LjQzMiw0LjQzMS0xMC4zMzIsNi44NzItMTYuNjE1LDYuODcyaC0wLjAwMmMtNi4yODUtMC4wMDEtMTIuMTg3LTIuNDQxLTE2LjYxNy02Ljg3MgoJCQljLTkuMTYyLTkuMTYzLTkuMTYyLTI0LjA3MSwwLTMzLjIzM0MxMy4zMDMsNC40NCwxOS4yMDQsMiwyNS40ODksMmM2LjI4NCwwLDEyLjE4NiwyLjQ0LDE2LjYxNyw2Ljg3MgoJCQljNC40MzEsNC40MzEsNi44NzEsMTAuMzMyLDYuODcxLDE2LjYxN0M0OC45NzcsMzEuNzcyLDQ2LjUzNiwzNy42NzUsNDIuMTA2LDQyLjEwNXoiLz4KCQk8cGF0aCBkPSJNMjMuNTc4LDMyLjIxOGMtMC4wMjMtMS43MzQsMC4xNDMtMy4wNTksMC40OTYtMy45NzJjMC4zNTMtMC45MTMsMS4xMS0xLjk5NywyLjI3Mi0zLjI1MwoJCQljMC40NjgtMC41MzYsMC45MjMtMS4wNjIsMS4zNjctMS41NzVjMC42MjYtMC43NTMsMS4xMDQtMS40NzgsMS40MzYtMi4xNzVjMC4zMzEtMC43MDcsMC40OTUtMS41NDEsMC40OTUtMi41CgkJCWMwLTEuMDk2LTAuMjYtMi4wODgtMC43NzktMi45NzljLTAuNTY1LTAuODc5LTEuNTAxLTEuMzM2LTIuODA2LTEuMzY5Yy0xLjgwMiwwLjA1Ny0yLjk4NSwwLjY2Ny0zLjU1LDEuODMyCgkJCWMtMC4zMDEsMC41MzUtMC41MDMsMS4xNDEtMC42MDcsMS44MTRjLTAuMTM5LDAuNzA3LTAuMjA3LDEuNDMyLTAuMjA3LDIuMTc0aC0yLjkzN2MtMC4wOTEtMi4yMDgsMC40MDctNC4xMTQsMS40OTMtNS43MTkKCQkJYzEuMDYyLTEuNjQsMi44NTUtMi40ODEsNS4zNzgtMi41MjdjMi4xNiwwLjAyMywzLjg3NCwwLjYwOCw1LjE0MSwxLjc1OGMxLjI3OCwxLjE2LDEuOTI5LDIuNzY0LDEuOTUsNC44MTEKCQkJYzAsMS4xNDItMC4xMzcsMi4xMTEtMC40MSwyLjkxMWMtMC4zMDksMC44NDUtMC43MzEsMS41OTMtMS4yNjgsMi4yNDNjLTAuNDkyLDAuNjUtMS4wNjgsMS4zMTgtMS43MywyLjAwMgoJCQljLTAuNjUsMC42OTctMS4zMTMsMS40NzktMS45ODcsMi4zNDZjLTAuMjM5LDAuMzc3LTAuNDI5LDAuNzc3LTAuNTY1LDEuMTk5Yy0wLjE2LDAuOTU5LTAuMjE3LDEuOTUxLTAuMTcxLDIuOTc5CgkJCUMyNi41ODksMzIuMjE4LDIzLjU3OCwzMi4yMTgsMjMuNTc4LDMyLjIxOHogTTIzLjU3OCwzOC4yMnYtMy40ODRoMy4wNzZ2My40ODRIMjMuNTc4eiIvPgoJPC9nPgo8L3N2Zz4K);
--jp-icon-inspector: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtaW5zcGVjdG9yLWljb24tY29sb3IganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMjAgNEg0Yy0xLjEgMC0xLjk5LjktMS45OSAyTDIgMThjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY2YzAtMS4xLS45LTItMi0yem0tNSAxNEg0di00aDExdjR6bTAtNUg0VjloMTF2NHptNSA1aC00VjloNHY5eiIvPgo8L3N2Zz4K);
--jp-icon-json: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8ZyBjbGFzcz0ianAtanNvbi1pY29uLWNvbG9yIGpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iI0Y5QTgyNSI+CiAgICA8cGF0aCBkPSJNMjAuMiAxMS44Yy0xLjYgMC0xLjcuNS0xLjcgMSAwIC40LjEuOS4xIDEuMy4xLjUuMS45LjEgMS4zIDAgMS43LTEuNCAyLjMtMy41IDIuM2gtLjl2LTEuOWguNWMxLjEgMCAxLjQgMCAxLjQtLjggMC0uMyAwLS42LS4xLTEgMC0uNC0uMS0uOC0uMS0xLjIgMC0xLjMgMC0xLjggMS4zLTItMS4zLS4yLTEuMy0uNy0xLjMtMiAwLS40LjEtLjguMS0xLjIuMS0uNC4xLS43LjEtMSAwLS44LS40LS43LTEuNC0uOGgtLjVWNC4xaC45YzIuMiAwIDMuNS43IDMuNSAyLjMgMCAuNC0uMS45LS4xIDEuMy0uMS41LS4xLjktLjEgMS4zIDAgLjUuMiAxIDEuNyAxdjEuOHpNMS44IDEwLjFjMS42IDAgMS43LS41IDEuNy0xIDAtLjQtLjEtLjktLjEtMS4zLS4xLS41LS4xLS45LS4xLTEuMyAwLTEuNiAxLjQtMi4zIDMuNS0yLjNoLjl2MS45aC0uNWMtMSAwLTEuNCAwLTEuNC44IDAgLjMgMCAuNi4xIDEgMCAuMi4xLjYuMSAxIDAgMS4zIDAgMS44LTEuMyAyQzYgMTEuMiA2IDExLjcgNiAxM2MwIC40LS4xLjgtLjEgMS4yLS4xLjMtLjEuNy0uMSAxIDAgLjguMy44IDEuNC44aC41djEuOWgtLjljLTIuMSAwLTMuNS0uNi0zLjUtMi4zIDAtLjQuMS0uOS4xLTEuMy4xLS41LjEtLjkuMS0xLjMgMC0uNS0uMi0xLTEuNy0xdi0xLjl6Ii8+CiAgICA8Y2lyY2xlIGN4PSIxMSIgY3k9IjEzLjgiIHI9IjIuMSIvPgogICAgPGNpcmNsZSBjeD0iMTEiIGN5PSI4LjIiIHI9IjIuMSIvPgogIDwvZz4KPC9zdmc+Cg==);
--jp-icon-julia: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDMyNSAzMDAiPgogIDxnIGNsYXNzPSJqcC1icmFuZDAganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjY2IzYzMzIj4KICAgIDxwYXRoIGQ9Ik0gMTUwLjg5ODQzOCAyMjUgQyAxNTAuODk4NDM4IDI2Ni40MjE4NzUgMTE3LjMyMDMxMiAzMDAgNzUuODk4NDM4IDMwMCBDIDM0LjQ3NjU2MiAzMDAgMC44OTg0MzggMjY2LjQyMTg3NSAwLjg5ODQzOCAyMjUgQyAwLjg5ODQzOCAxODMuNTc4MTI1IDM0LjQ3NjU2MiAxNTAgNzUuODk4NDM4IDE1MCBDIDExNy4zMjAzMTIgMTUwIDE1MC44OTg0MzggMTgzLjU3ODEyNSAxNTAuODk4NDM4IDIyNSIvPgogIDwvZz4KICA8ZyBjbGFzcz0ianAtYnJhbmQwIGpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iIzM4OTgyNiI+CiAgICA8cGF0aCBkPSJNIDIzNy41IDc1IEMgMjM3LjUgMTE2LjQyMTg3NSAyMDMuOTIxODc1IDE1MCAxNjIuNSAxNTAgQyAxMjEuMDc4MTI1IDE1MCA4Ny41IDExNi40MjE4NzUgODcuNSA3NSBDIDg3LjUgMzMuNTc4MTI1IDEyMS4wNzgxMjUgMCAxNjIuNSAwIEMgMjAzLjkyMTg3NSAwIDIzNy41IDMzLjU3ODEyNSAyMzcuNSA3NSIvPgogIDwvZz4KICA8ZyBjbGFzcz0ianAtYnJhbmQwIGpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iIzk1NThiMiI+CiAgICA8cGF0aCBkPSJNIDMyNC4xMDE1NjIgMjI1IEMgMzI0LjEwMTU2MiAyNjYuNDIxODc1IDI5MC41MjM0MzggMzAwIDI0OS4xMDE1NjIgMzAwIEMgMjA3LjY3OTY4OCAzMDAgMTc0LjEwMTU2MiAyNjYuNDIxODc1IDE3NC4xMDE1NjIgMjI1IEMgMTc0LjEwMTU2MiAxODMuNTc4MTI1IDIwNy42Nzk2ODggMTUwIDI0OS4xMDE1NjIgMTUwIEMgMjkwLjUyMzQzOCAxNTAgMzI0LjEwMTU2MiAxODMuNTc4MTI1IDMyNC4xMDE1NjIgMjI1Ii8+CiAgPC9nPgo8L3N2Zz4K);
--jp-icon-jupyter-favicon: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUyIiBoZWlnaHQ9IjE2NSIgdmlld0JveD0iMCAwIDE1MiAxNjUiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgPGcgY2xhc3M9ImpwLWp1cHl0ZXItaWNvbi1jb2xvciIgZmlsbD0iI0YzNzcyNiI+CiAgICA8cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjA3ODk0NywgMTEwLjU4MjkyNykiIGQ9Ik03NS45NDIyODQyLDI5LjU4MDQ1NjEgQzQzLjMwMjM5NDcsMjkuNTgwNDU2MSAxNC43OTY3ODMyLDE3LjY1MzQ2MzQgMCwwIEM1LjUxMDgzMjExLDE1Ljg0MDY4MjkgMTUuNzgxNTM4OSwyOS41NjY3NzMyIDI5LjM5MDQ5NDcsMzkuMjc4NDE3MSBDNDIuOTk5Nyw0OC45ODk4NTM3IDU5LjI3MzcsNTQuMjA2NzgwNSA3NS45NjA1Nzg5LDU0LjIwNjc4MDUgQzkyLjY0NzQ1NzksNTQuMjA2NzgwNSAxMDguOTIxNDU4LDQ4Ljk4OTg1MzcgMTIyLjUzMDY2MywzOS4yNzg0MTcxIEMxMzYuMTM5NDUzLDI5LjU2Njc3MzIgMTQ2LjQxMDI4NCwxNS44NDA2ODI5IDE1MS45MjExNTgsMCBDMTM3LjA4Nzg2OCwxNy42NTM0NjM0IDEwOC41ODI1ODksMjkuNTgwNDU2MSA3NS45NDIyODQyLDI5LjU4MDQ1NjEgTDc1Ljk0MjI4NDIsMjkuNTgwNDU2MSBaIiAvPgogICAgPHBhdGggdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMzczNjgsIDAuNzA0ODc4KSIgZD0iTTc1Ljk3ODQ1NzksMjQuNjI2NDA3MyBDMTA4LjYxODc2MywyNC42MjY0MDczIDEzNy4xMjQ0NTgsMzYuNTUzNDQxNSAxNTEuOTIxMTU4LDU0LjIwNjc4MDUgQzE0Ni40MTAyODQsMzguMzY2MjIyIDEzNi4xMzk0NTMsMjQuNjQwMTMxNyAxMjIuNTMwNjYzLDE0LjkyODQ4NzggQzEwOC45MjE0NTgsNS4yMTY4NDM5IDkyLjY0NzQ1NzksMCA3NS45NjA1Nzg5LDAgQzU5LjI3MzcsMCA0Mi45OTk3LDUuMjE2ODQzOSAyOS4zOTA0OTQ3LDE0LjkyODQ4NzggQzE1Ljc4MTUzODksMjQuNjQwMTMxNyA1LjUxMDgzMjExLDM4LjM2NjIyMiAwLDU0LjIwNjc4MDUgQzE0LjgzMzA4MTYsMzYuNTg5OTI5MyA0My4zMzg1Njg0LDI0LjYyNjQwNzMgNzUuOTc4NDU3OSwyNC42MjY0MDczIEw3NS45Nzg0NTc5LDI0LjYyNjQwNzMgWiIgLz4KICA8L2c+Cjwvc3ZnPgo=);
--jp-icon-jupyter: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzkiIGhlaWdodD0iNTEiIHZpZXdCb3g9IjAgMCAzOSA1MSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTYzOCAtMjI4MSkiPgogICAgIDxnIGNsYXNzPSJqcC1qdXB5dGVyLWljb24tY29sb3IiIGZpbGw9IiNGMzc3MjYiPgogICAgICA8cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNjM5Ljc0IDIzMTEuOTgpIiBkPSJNIDE4LjI2NDYgNy4xMzQxMUMgMTAuNDE0NSA3LjEzNDExIDMuNTU4NzIgNC4yNTc2IDAgMEMgMS4zMjUzOSAzLjgyMDQgMy43OTU1NiA3LjEzMDgxIDcuMDY4NiA5LjQ3MzAzQyAxMC4zNDE3IDExLjgxNTIgMTQuMjU1NyAxMy4wNzM0IDE4LjI2OSAxMy4wNzM0QyAyMi4yODIzIDEzLjA3MzQgMjYuMTk2MyAxMS44MTUyIDI5LjQ2OTQgOS40NzMwM0MgMzIuNzQyNCA3LjEzMDgxIDM1LjIxMjYgMy44MjA0IDM2LjUzOCAwQyAzMi45NzA1IDQuMjU3NiAyNi4xMTQ4IDcuMTM0MTEgMTguMjY0NiA3LjEzNDExWiIvPgogICAgICA8cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNjM5LjczIDIyODUuNDgpIiBkPSJNIDE4LjI3MzMgNS45MzkzMUMgMjYuMTIzNSA1LjkzOTMxIDMyLjk3OTMgOC44MTU4MyAzNi41MzggMTMuMDczNEMgMzUuMjEyNiA5LjI1MzAzIDMyLjc0MjQgNS45NDI2MiAyOS40Njk0IDMuNjAwNEMgMjYuMTk2MyAxLjI1ODE4IDIyLjI4MjMgMCAxOC4yNjkgMEMgMTQuMjU1NyAwIDEwLjM0MTcgMS4yNTgxOCA3LjA2ODYgMy42MDA0QyAzLjc5NTU2IDUuOTQyNjIgMS4zMjUzOSA5LjI1MzAzIDAgMTMuMDczNEMgMy41Njc0NSA4LjgyNDYzIDEwLjQyMzIgNS45MzkzMSAxOC4yNzMzIDUuOTM5MzFaIi8+CiAgICA8L2c+CiAgICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgICA8cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNjY5LjMgMjI4MS4zMSkiIGQ9Ik0gNS44OTM1MyAyLjg0NEMgNS45MTg4OSAzLjQzMTY1IDUuNzcwODUgNC4wMTM2NyA1LjQ2ODE1IDQuNTE2NDVDIDUuMTY1NDUgNS4wMTkyMiA0LjcyMTY4IDUuNDIwMTUgNC4xOTI5OSA1LjY2ODUxQyAzLjY2NDMgNS45MTY4OCAzLjA3NDQ0IDYuMDAxNTEgMi40OTgwNSA1LjkxMTcxQyAxLjkyMTY2IDUuODIxOSAxLjM4NDYzIDUuNTYxNyAwLjk1NDg5OCA1LjE2NDAxQyAwLjUyNTE3IDQuNzY2MzMgMC4yMjIwNTYgNC4yNDkwMyAwLjA4MzkwMzcgMy42Nzc1N0MgLTAuMDU0MjQ4MyAzLjEwNjExIC0wLjAyMTIzIDIuNTA2MTcgMC4xNzg3ODEgMS45NTM2NEMgMC4zNzg3OTMgMS40MDExIDAuNzM2ODA5IDAuOTIwODE3IDEuMjA3NTQgMC41NzM1MzhDIDEuNjc4MjYgMC4yMjYyNTkgMi4yNDA1NSAwLjAyNzU5MTkgMi44MjMyNiAwLjAwMjY3MjI5QyAzLjYwMzg5IC0wLjAzMDcxMTUgNC4zNjU3MyAwLjI0OTc4OSA0Ljk0MTQyIDAuNzgyNTUxQyA1LjUxNzExIDEuMzE1MzEgNS44NTk1NiAyLjA1Njc2IDUuODkzNTMgMi44NDRaIi8+CiAgICAgIDxwYXRoIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE2MzkuOCAyMzIzLjgxKSIgZD0iTSA3LjQyNzg5IDMuNTgzMzhDIDcuNDYwMDggNC4zMjQzIDcuMjczNTUgNS4wNTgxOSA2Ljg5MTkzIDUuNjkyMTNDIDYuNTEwMzEgNi4zMjYwNyA1Ljk1MDc1IDYuODMxNTYgNS4yODQxMSA3LjE0NDZDIDQuNjE3NDcgNy40NTc2MyAzLjg3MzcxIDcuNTY0MTQgMy4xNDcwMiA3LjQ1MDYzQyAyLjQyMDMyIDcuMzM3MTIgMS43NDMzNiA3LjAwODcgMS4yMDE4NCA2LjUwNjk1QyAwLjY2MDMyOCA2LjAwNTIgMC4yNzg2MSA1LjM1MjY4IDAuMTA1MDE3IDQuNjMyMDJDIC0wLjA2ODU3NTcgMy45MTEzNSAtMC4wMjYyMzYxIDMuMTU0OTQgMC4yMjY2NzUgMi40NTg1NkMgMC40Nzk1ODcgMS43NjIxNyAwLjkzMTY5NyAxLjE1NzEzIDEuNTI1NzYgMC43MjAwMzNDIDIuMTE5ODMgMC4yODI5MzUgMi44MjkxNCAwLjAzMzQzOTUgMy41NjM4OSAwLjAwMzEzMzQ0QyA0LjU0NjY3IC0wLjAzNzQwMzMgNS41MDUyOSAwLjMxNjcwNiA2LjIyOTYxIDAuOTg3ODM1QyA2Ljk1MzkzIDEuNjU4OTYgNy4zODQ4NCAyLjU5MjM1IDcuNDI3ODkgMy41ODMzOEwgNy40Mjc4OSAzLjU4MzM4WiIvPgogICAgICA8cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNjM4LjM2IDIyODYuMDYpIiBkPSJNIDIuMjc0NzEgNC4zOTYyOUMgMS44NDM2MyA0LjQxNTA4IDEuNDE2NzEgNC4zMDQ0NSAxLjA0Nzk5IDQuMDc4NDNDIDAuNjc5MjY4IDMuODUyNCAwLjM4NTMyOCAzLjUyMTE0IDAuMjAzMzcxIDMuMTI2NTZDIDAuMDIxNDEzNiAyLjczMTk4IC0wLjA0MDM3OTggMi4yOTE4MyAwLjAyNTgxMTYgMS44NjE4MUMgMC4wOTIwMDMxIDEuNDMxOCAwLjI4MzIwNCAxLjAzMTI2IDAuNTc1MjEzIDAuNzEwODgzQyAwLjg2NzIyMiAwLjM5MDUxIDEuMjQ2OTEgMC4xNjQ3MDggMS42NjYyMiAwLjA2MjA1OTJDIDIuMDg1NTMgLTAuMDQwNTg5NyAyLjUyNTYxIC0wLjAxNTQ3MTQgMi45MzA3NiAwLjEzNDIzNUMgMy4zMzU5MSAwLjI4Mzk0MSAzLjY4NzkyIDAuNTUxNTA1IDMuOTQyMjIgMC45MDMwNkMgNC4xOTY1MiAxLjI1NDYyIDQuMzQxNjkgMS42NzQzNiA0LjM1OTM1IDIuMTA5MTZDIDQuMzgyOTkgMi42OTEwNyA0LjE3Njc4IDMuMjU4NjkgMy43ODU5NyAzLjY4NzQ2QyAzLjM5NTE2IDQuMTE2MjQgMi44NTE2NiA0LjM3MTE2IDIuMjc0NzEgNC4zOTYyOUwgMi4yNzQ3MSA0LjM5NjI5WiIvPgogICAgPC9nPgogIDwvZz4+Cjwvc3ZnPgo=);
--jp-icon-jupyterlab-wordmark: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMDAiIHZpZXdCb3g9IjAgMCAxODYwLjggNDc1Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjIiIGZpbGw9IiM0RTRFNEUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQ4MC4xMzY0MDEsIDY0LjI3MTQ5MykiPgogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsIDU4Ljg3NTU2NikiPgogICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjA4NzYwMywgMC4xNDAyOTQpIj4KICAgICAgICA8cGF0aCBkPSJNLTQyNi45LDE2OS44YzAsNDguNy0zLjcsNjQuNy0xMy42LDc2LjRjLTEwLjgsMTAtMjUsMTUuNS0zOS43LDE1LjVsMy43LDI5IGMyMi44LDAuMyw0NC44LTcuOSw2MS45LTIzLjFjMTcuOC0xOC41LDI0LTQ0LjEsMjQtODMuM1YwSC00Mjd2MTcwLjFMLTQyNi45LDE2OS44TC00MjYuOSwxNjkuOHoiLz4KICAgICAgPC9nPgogICAgPC9nPgogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTU1LjA0NTI5NiwgNTYuODM3MTA0KSI+CiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEuNTYyNDUzLCAxLjc5OTg0MikiPgogICAgICAgIDxwYXRoIGQ9Ik0tMzEyLDE0OGMwLDIxLDAsMzkuNSwxLjcsNTUuNGgtMzEuOGwtMi4xLTMzLjNoLTAuOGMtNi43LDExLjYtMTYuNCwyMS4zLTI4LDI3LjkgYy0xMS42LDYuNi0yNC44LDEwLTM4LjIsOS44Yy0zMS40LDAtNjktMTcuNy02OS04OVYwaDM2LjR2MTEyLjdjMCwzOC43LDExLjYsNjQuNyw0NC42LDY0LjdjMTAuMy0wLjIsMjAuNC0zLjUsMjguOS05LjQgYzguNS01LjksMTUuMS0xNC4zLDE4LjktMjMuOWMyLjItNi4xLDMuMy0xMi41LDMuMy0xOC45VjAuMmgzNi40VjE0OEgtMzEyTC0zMTIsMTQ4eiIvPgogICAgICA8L2c+CiAgICA8L2c+CiAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzOTAuMDEzMzIyLCA1My40Nzk2MzgpIj4KICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMS43MDY0NTgsIDAuMjMxNDI1KSI+CiAgICAgICAgPHBhdGggZD0iTS00NzguNiw3MS40YzAtMjYtMC44LTQ3LTEuNy02Ni43aDMyLjdsMS43LDM0LjhoMC44YzcuMS0xMi41LDE3LjUtMjIuOCwzMC4xLTI5LjcgYzEyLjUtNywyNi43LTEwLjMsNDEtOS44YzQ4LjMsMCw4NC43LDQxLjcsODQuNywxMDMuM2MwLDczLjEtNDMuNywxMDkuMi05MSwxMDkuMmMtMTIuMSwwLjUtMjQuMi0yLjItMzUtNy44IGMtMTAuOC01LjYtMTkuOS0xMy45LTI2LjYtMjQuMmgtMC44VjI5MWgtMzZ2LTIyMEwtNDc4LjYsNzEuNEwtNDc4LjYsNzEuNHogTS00NDIuNiwxMjUuNmMwLjEsNS4xLDAuNiwxMC4xLDEuNywxNS4xIGMzLDEyLjMsOS45LDIzLjMsMTkuOCwzMS4xYzkuOSw3LjgsMjIuMSwxMi4xLDM0LjcsMTIuMWMzOC41LDAsNjAuNy0zMS45LDYwLjctNzguNWMwLTQwLjctMjEuMS03NS42LTU5LjUtNzUuNiBjLTEyLjksMC40LTI1LjMsNS4xLTM1LjMsMTMuNGMtOS45LDguMy0xNi45LDE5LjctMTkuNiwzMi40Yy0xLjUsNC45LTIuMywxMC0yLjUsMTUuMVYxMjUuNkwtNDQyLjYsMTI1LjZMLTQ0Mi42LDEyNS42eiIvPgogICAgICA8L2c+CiAgICA8L2c+CiAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2MDYuNzQwNzI2LCA1Ni44MzcxMDQpIj4KICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC43NTEyMjYsIDEuOTg5Mjk5KSI+CiAgICAgICAgPHBhdGggZD0iTS00NDAuOCwwbDQzLjcsMTIwLjFjNC41LDEzLjQsOS41LDI5LjQsMTIuOCw0MS43aDAuOGMzLjctMTIuMiw3LjktMjcuNywxMi44LTQyLjQgbDM5LjctMTE5LjJoMzguNUwtMzQ2LjksMTQ1Yy0yNiw2OS43LTQzLjcsMTA1LjQtNjguNiwxMjcuMmMtMTIuNSwxMS43LTI3LjksMjAtNDQuNiwyMy45bC05LjEtMzEuMSBjMTEuNy0zLjksMjIuNS0xMC4xLDMxLjgtMTguMWMxMy4yLTExLjEsMjMuNy0yNS4yLDMwLjYtNDEuMmMxLjUtMi44LDIuNS01LjcsMi45LTguOGMtMC4zLTMuMy0xLjItNi42LTIuNS05LjdMLTQ4MC4yLDAuMSBoMzkuN0wtNDQwLjgsMEwtNDQwLjgsMHoiLz4KICAgICAgPC9nPgogICAgPC9nPgogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoODIyLjc0ODEwNCwgMC4wMDAwMDApIj4KICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMS40NjQwNTAsIDAuMzc4OTE0KSI+CiAgICAgICAgPHBhdGggZD0iTS00MTMuNywwdjU4LjNoNTJ2MjguMmgtNTJWMTk2YzAsMjUsNywzOS41LDI3LjMsMzkuNWM3LjEsMC4xLDE0LjItMC43LDIxLjEtMi41IGwxLjcsMjcuN2MtMTAuMywzLjctMjEuMyw1LjQtMzIuMiw1Yy03LjMsMC40LTE0LjYtMC43LTIxLjMtMy40Yy02LjgtMi43LTEyLjktNi44LTE3LjktMTIuMWMtMTAuMy0xMC45LTE0LjEtMjktMTQuMS01Mi45IFY4Ni41aC0zMVY1OC4zaDMxVjkuNkwtNDEzLjcsMEwtNDEzLjcsMHoiLz4KICAgICAgPC9nPgogICAgPC9nPgogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOTc0LjQzMzI4NiwgNTMuNDc5NjM4KSI+CiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAuOTkwMDM0LCAwLjYxMDMzOSkiPgogICAgICAgIDxwYXRoIGQ9Ik0tNDQ1LjgsMTEzYzAuOCw1MCwzMi4yLDcwLjYsNjguNiw3MC42YzE5LDAuNiwzNy45LTMsNTUuMy0xMC41bDYuMiwyNi40IGMtMjAuOSw4LjktNDMuNSwxMy4xLTY2LjIsMTIuNmMtNjEuNSwwLTk4LjMtNDEuMi05OC4zLTEwMi41Qy00ODAuMiw0OC4yLTQ0NC43LDAtMzg2LjUsMGM2NS4yLDAsODIuNyw1OC4zLDgyLjcsOTUuNyBjLTAuMSw1LjgtMC41LDExLjUtMS4yLDE3LjJoLTE0MC42SC00NDUuOEwtNDQ1LjgsMTEzeiBNLTMzOS4yLDg2LjZjMC40LTIzLjUtOS41LTYwLjEtNTAuNC02MC4xIGMtMzYuOCwwLTUyLjgsMzQuNC01NS43LDYwLjFILTMzOS4yTC0zMzkuMiw4Ni42TC0zMzkuMiw4Ni42eiIvPgogICAgICA8L2c+CiAgICA8L2c+CiAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMjAxLjk2MTA1OCwgNTMuNDc5NjM4KSI+CiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEuMTc5NjQwLCAwLjcwNTA2OCkiPgogICAgICAgIDxwYXRoIGQ9Ik0tNDc4LjYsNjhjMC0yMy45LTAuNC00NC41LTEuNy02My40aDMxLjhsMS4yLDM5LjloMS43YzkuMS0yNy4zLDMxLTQ0LjUsNTUuMy00NC41IGMzLjUtMC4xLDcsMC40LDEwLjMsMS4ydjM0LjhjLTQuMS0wLjktOC4yLTEuMy0xMi40LTEuMmMtMjUuNiwwLTQzLjcsMTkuNy00OC43LDQ3LjRjLTEsNS43LTEuNiwxMS41LTEuNywxNy4ydjEwOC4zaC0zNlY2OCBMLTQ3OC42LDY4eiIvPgogICAgICA8L2c+CiAgICA8L2c+CiAgPC9nPgoKICA8ZyBjbGFzcz0ianAtaWNvbi13YXJuMCIgZmlsbD0iI0YzNzcyNiI+CiAgICA8cGF0aCBkPSJNMTM1Mi4zLDMyNi4yaDM3VjI4aC0zN1YzMjYuMnogTTE2MDQuOCwzMjYuMmMtMi41LTEzLjktMy40LTMxLjEtMy40LTQ4Ljd2LTc2IGMwLTQwLjctMTUuMS04My4xLTc3LjMtODMuMWMtMjUuNiwwLTUwLDcuMS02Ni44LDE4LjFsOC40LDI0LjRjMTQuMy05LjIsMzQtMTUuMSw1My0xNS4xYzQxLjYsMCw0Ni4yLDMwLjIsNDYuMiw0N3Y0LjIgYy03OC42LTAuNC0xMjIuMywyNi41LTEyMi4zLDc1LjZjMCwyOS40LDIxLDU4LjQsNjIuMiw1OC40YzI5LDAsNTAuOS0xNC4zLDYyLjItMzAuMmgxLjNsMi45LDI1LjZIMTYwNC44eiBNMTU2NS43LDI1Ny43IGMwLDMuOC0wLjgsOC0yLjEsMTEuOGMtNS45LDE3LjItMjIuNywzNC00OS4yLDM0Yy0xOC45LDAtMzQuOS0xMS4zLTM0LjktMzUuM2MwLTM5LjUsNDUuOC00Ni42LDg2LjItNDUuOFYyNTcuN3ogTTE2OTguNSwzMjYuMiBsMS43LTMzLjZoMS4zYzE1LjEsMjYuOSwzOC43LDM4LjIsNjguMSwzOC4yYzQ1LjQsMCw5MS4yLTM2LjEsOTEuMi0xMDguOGMwLjQtNjEuNy0zNS4zLTEwMy43LTg1LjctMTAzLjcgYy0zMi44LDAtNTYuMywxNC43LTY5LjMsMzcuNGgtMC44VjI4aC0zNi42djI0NS43YzAsMTguMS0wLjgsMzguNi0xLjcsNTIuNUgxNjk4LjV6IE0xNzA0LjgsMjA4LjJjMC01LjksMS4zLTEwLjksMi4xLTE1LjEgYzcuNi0yOC4xLDMxLjEtNDUuNCw1Ni4zLTQ1LjRjMzkuNSwwLDYwLjUsMzQuOSw2MC41LDc1LjZjMCw0Ni42LTIzLjEsNzguMS02MS44LDc4LjFjLTI2LjksMC00OC4zLTE3LjYtNTUuNS00My4zIGMtMC44LTQuMi0xLjctOC44LTEuNy0xMy40VjIwOC4yeiIvPgogIDwvZz4KPC9zdmc+Cg==);
--jp-icon-kernel: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uMiIgZmlsbD0iIzYxNjE2MSIgZD0iTTE1IDlIOXY2aDZWOXptLTIgNGgtMnYtMmgydjJ6bTgtMlY5aC0yVjdjMC0xLjEtLjktMi0yLTJoLTJWM2gtMnYyaC0yVjNIOXYySDdjLTEuMSAwLTIgLjktMiAydjJIM3YyaDJ2MkgzdjJoMnYyYzAgMS4xLjkgMiAyIDJoMnYyaDJ2LTJoMnYyaDJ2LTJoMmMxLjEgMCAyLS45IDItMnYtMmgydi0yaC0ydi0yaDJ6bS00IDZIN1Y3aDEwdjEweiIvPgo8L3N2Zz4K);
--jp-icon-keyboard: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMjAgNUg0Yy0xLjEgMC0xLjk5LjktMS45OSAyTDIgMTdjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY3YzAtMS4xLS45LTItMi0yem0tOSAzaDJ2MmgtMlY4em0wIDNoMnYyaC0ydi0yek04IDhoMnYySDhWOHptMCAzaDJ2Mkg4di0yem0tMSAySDV2LTJoMnYyem0wLTNINVY4aDJ2MnptOSA3SDh2LTJoOHYyem0wLTRoLTJ2LTJoMnYyem0wLTNoLTJWOGgydjJ6bTMgM2gtMnYtMmgydjJ6bTAtM2gtMlY4aDJ2MnoiLz4KPC9zdmc+Cg==);
--jp-icon-launch: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMzIgMzIiIHdpZHRoPSIzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIj4KICAgIDxwYXRoIGQ9Ik0yNiwyOEg2YTIuMDAyNywyLjAwMjcsMCwwLDEtMi0yVjZBMi4wMDI3LDIuMDAyNywwLDAsMSw2LDRIMTZWNkg2VjI2SDI2VjE2aDJWMjZBMi4wMDI3LDIuMDAyNywwLDAsMSwyNiwyOFoiLz4KICAgIDxwb2x5Z29uIHBvaW50cz0iMjAgMiAyMCA0IDI2LjU4NiA0IDE4IDEyLjU4NiAxOS40MTQgMTQgMjggNS40MTQgMjggMTIgMzAgMTIgMzAgMiAyMCAyIi8+CiAgPC9nPgo8L3N2Zz4K);
--jp-icon-launcher: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMTkgMTlINVY1aDdWM0g1YTIgMiAwIDAwLTIgMnYxNGEyIDIgMCAwMDIgMmgxNGMxLjEgMCAyLS45IDItMnYtN2gtMnY3ek0xNCAzdjJoMy41OWwtOS44MyA5LjgzIDEuNDEgMS40MUwxOSA2LjQxVjEwaDJWM2gtN3oiLz4KPC9zdmc+Cg==);
--jp-icon-line-form: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxwYXRoIGZpbGw9IndoaXRlIiBkPSJNNS44OCA0LjEyTDEzLjc2IDEybC03Ljg4IDcuODhMOCAyMmwxMC0xMEw4IDJ6Ii8+Cjwvc3ZnPgo=);
--jp-icon-link: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTMuOSAxMmMwLTEuNzEgMS4zOS0zLjEgMy4xLTMuMWg0VjdIN2MtMi43NiAwLTUgMi4yNC01IDVzMi4yNCA1IDUgNWg0di0xLjlIN2MtMS43MSAwLTMuMS0xLjM5LTMuMS0zLjF6TTggMTNoOHYtMkg4djJ6bTktNmgtNHYxLjloNGMxLjcxIDAgMy4xIDEuMzkgMy4xIDMuMXMtMS4zOSAzLjEtMy4xIDMuMWgtNFYxN2g0YzIuNzYgMCA1LTIuMjQgNS01cy0yLjI0LTUtNS01eiIvPgogIDwvZz4KPC9zdmc+Cg==);
--jp-icon-list: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uMiBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiM2MTYxNjEiIGQ9Ik0xOSA1djE0SDVWNWgxNG0xLjEtMkgzLjljLS41IDAtLjkuNC0uOS45djE2LjJjMCAuNC40LjkuOS45aDE2LjJjLjQgMCAuOS0uNS45LS45VjMuOWMwLS41LS41LS45LS45LS45ek0xMSA3aDZ2MmgtNlY3em0wIDRoNnYyaC02di0yem0wIDRoNnYyaC02ek03IDdoMnYySDd6bTAgNGgydjJIN3ptMCA0aDJ2Mkg3eiIvPgo8L3N2Zz4K);
--jp-icon-markdown: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1jb250cmFzdDAganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjN0IxRkEyIiBkPSJNNSAxNC45aDEybC02LjEgNnptOS40LTYuOGMwLTEuMy0uMS0yLjktLjEtNC41LS40IDEuNC0uOSAyLjktMS4zIDQuM2wtMS4zIDQuM2gtMkw4LjUgNy45Yy0uNC0xLjMtLjctMi45LTEtNC4zLS4xIDEuNi0uMSAzLjItLjIgNC42TDcgMTIuNEg0LjhsLjctMTFoMy4zTDEwIDVjLjQgMS4yLjcgMi43IDEgMy45LjMtMS4yLjctMi42IDEtMy45bDEuMi0zLjdoMy4zbC42IDExaC0yLjRsLS4zLTQuMnoiLz4KPC9zdmc+Cg==);
--jp-icon-move-down: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggY2xhc3M9ImpwLWljb24zIiBkPSJNMTIuNDcxIDcuNTI4OTlDMTIuNzYzMiA3LjIzNjg0IDEyLjc2MzIgNi43NjMxNiAxMi40NzEgNi40NzEwMVY2LjQ3MTAxQzEyLjE3OSA2LjE3OTA1IDExLjcwNTcgNi4xNzg4NCAxMS40MTM1IDYuNDcwNTRMNy43NSAxMC4xMjc1VjEuNzVDNy43NSAxLjMzNTc5IDcuNDE0MjEgMSA3IDFWMUM2LjU4NTc5IDEgNi4yNSAxLjMzNTc5IDYuMjUgMS43NVYxMC4xMjc1TDIuNTk3MjYgNi40NjgyMkMyLjMwMzM4IDYuMTczODEgMS44MjY0MSA2LjE3MzU5IDEuNTMyMjYgNi40Njc3NFY2LjQ2Nzc0QzEuMjM4MyA2Ljc2MTcgMS4yMzgzIDcuMjM4MyAxLjUzMjI2IDcuNTMyMjZMNi4yOTI4OSAxMi4yOTI5QzYuNjgzNDIgMTIuNjgzNCA3LjMxNjU4IDEyLjY4MzQgNy43MDcxMSAxMi4yOTI5TDEyLjQ3MSA3LjUyODk5WiIgZmlsbD0iIzYxNjE2MSIvPgo8L3N2Zz4K);
--jp-icon-move-up: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggY2xhc3M9ImpwLWljb24zIiBkPSJNMS41Mjg5OSA2LjQ3MTAxQzEuMjM2ODQgNi43NjMxNiAxLjIzNjg0IDcuMjM2ODQgMS41Mjg5OSA3LjUyODk5VjcuNTI4OTlDMS44MjA5NSA3LjgyMDk1IDIuMjk0MjYgNy44MjExNiAyLjU4NjQ5IDcuNTI5NDZMNi4yNSAzLjg3MjVWMTIuMjVDNi4yNSAxMi42NjQyIDYuNTg1NzkgMTMgNyAxM1YxM0M3LjQxNDIxIDEzIDcuNzUgMTIuNjY0MiA3Ljc1IDEyLjI1VjMuODcyNUwxMS40MDI3IDcuNTMxNzhDMTEuNjk2NiA3LjgyNjE5IDEyLjE3MzYgNy44MjY0MSAxMi40Njc3IDcuNTMyMjZWNy41MzIyNkMxMi43NjE3IDcuMjM4MyAxMi43NjE3IDYuNzYxNyAxMi40Njc3IDYuNDY3NzRMNy43MDcxMSAxLjcwNzExQzcuMzE2NTggMS4zMTY1OCA2LjY4MzQyIDEuMzE2NTggNi4yOTI4OSAxLjcwNzExTDEuNTI4OTkgNi40NzEwMVoiIGZpbGw9IiM2MTYxNjEiLz4KPC9zdmc+Cg==);
--jp-icon-new-folder: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTIwIDZoLThsLTItMkg0Yy0xLjExIDAtMS45OS44OS0xLjk5IDJMMiAxOGMwIDEuMTEuODkgMiAyIDJoMTZjMS4xMSAwIDItLjg5IDItMlY4YzAtMS4xMS0uODktMi0yLTJ6bS0xIDhoLTN2M2gtMnYtM2gtM3YtMmgzVjloMnYzaDN2MnoiLz4KICA8L2c+Cjwvc3ZnPgo=);
--jp-icon-not-trusted: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI1IDI1Ij4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uMiIgc3Ryb2tlPSIjMzMzMzMzIiBzdHJva2Utd2lkdGg9IjIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMgMykiIGQ9Ik0xLjg2MDk0IDExLjQ0MDlDMC44MjY0NDggOC43NzAyNyAwLjg2Mzc3OSA2LjA1NzY0IDEuMjQ5MDcgNC4xOTkzMkMyLjQ4MjA2IDMuOTMzNDcgNC4wODA2OCAzLjQwMzQ3IDUuNjAxMDIgMi44NDQ5QzcuMjM1NDkgMi4yNDQ0IDguODU2NjYgMS41ODE1IDkuOTg3NiAxLjA5NTM5QzExLjA1OTcgMS41ODM0MSAxMi42MDk0IDIuMjQ0NCAxNC4yMTggMi44NDMzOUMxNS43NTAzIDMuNDEzOTQgMTcuMzk5NSAzLjk1MjU4IDE4Ljc1MzkgNC4yMTM4NUMxOS4xMzY0IDYuMDcxNzcgMTkuMTcwOSA4Ljc3NzIyIDE4LjEzOSAxMS40NDA5QzE3LjAzMDMgMTQuMzAzMiAxNC42NjY4IDE3LjE4NDQgOS45OTk5OSAxOC45MzU0QzUuMzMzMTkgMTcuMTg0NCAyLjk2OTY4IDE0LjMwMzIgMS44NjA5NCAxMS40NDA5WiIvPgogICAgPHBhdGggY2xhc3M9ImpwLWljb24yIiBzdHJva2U9IiMzMzMzMzMiIHN0cm9rZS13aWR0aD0iMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOS4zMTU5MiA5LjMyMDMxKSIgZD0iTTcuMzY4NDIgMEwwIDcuMzY0NzkiLz4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uMiIgc3Ryb2tlPSIjMzMzMzMzIiBzdHJva2Utd2lkdGg9IjIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDkuMzE1OTIgMTYuNjgzNikgc2NhbGUoMSAtMSkiIGQ9Ik03LjM2ODQyIDBMMCA3LjM2NDc5Ii8+Cjwvc3ZnPgo=);
--jp-icon-notebook: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8ZyBjbGFzcz0ianAtbm90ZWJvb2staWNvbi1jb2xvciBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiNFRjZDMDAiPgogICAgPHBhdGggZD0iTTE4LjcgMy4zdjE1LjRIMy4zVjMuM2gxNS40bTEuNS0xLjVIMS44djE4LjNoMTguM2wuMS0xOC4zeiIvPgogICAgPHBhdGggZD0iTTE2LjUgMTYuNWwtNS40LTQuMy01LjYgNC4zdi0xMWgxMXoiLz4KICA8L2c+Cjwvc3ZnPgo=);
--jp-icon-numbering: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjIiIGhlaWdodD0iMjIiIHZpZXdCb3g9IjAgMCAyOCAyOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CgkJPHBhdGggZD0iTTQgMTlINlYxOS41SDVWMjAuNUg2VjIxSDRWMjJIN1YxOEg0VjE5Wk01IDEwSDZWNkg0VjdINVYxMFpNNCAxM0g1LjhMNCAxNS4xVjE2SDdWMTVINS4yTDcgMTIuOVYxMkg0VjEzWk05IDdWOUgyM1Y3SDlaTTkgMjFIMjNWMTlIOVYyMVpNOSAxNUgyM1YxM0g5VjE1WiIvPgoJPC9nPgo8L3N2Zz4K);
--jp-icon-offline-bolt: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE2Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTEyIDIuMDJjLTUuNTEgMC05Ljk4IDQuNDctOS45OCA5Ljk4czQuNDcgOS45OCA5Ljk4IDkuOTggOS45OC00LjQ3IDkuOTgtOS45OFMxNy41MSAyLjAyIDEyIDIuMDJ6TTExLjQ4IDIwdi02LjI2SDhMMTMgNHY2LjI2aDMuMzVMMTEuNDggMjB6Ii8+CiAgPC9nPgo8L3N2Zz4K);
--jp-icon-palette: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTE4IDEzVjIwSDRWNkg5LjAyQzkuMDcgNS4yOSA5LjI0IDQuNjIgOS41IDRINEMyLjkgNCAyIDQuOSAyIDZWMjBDMiAyMS4xIDIuOSAyMiA0IDIySDE4QzE5LjEgMjIgMjAgMjEuMSAyMCAyMFYxNUwxOCAxM1pNMTkuMyA4Ljg5QzE5Ljc0IDguMTkgMjAgNy4zOCAyMCA2LjVDMjAgNC4wMSAxNy45OSAyIDE1LjUgMkMxMy4wMSAyIDExIDQuMDEgMTEgNi41QzExIDguOTkgMTMuMDEgMTEgMTUuNDkgMTFDMTYuMzcgMTEgMTcuMTkgMTAuNzQgMTcuODggMTAuM0wyMSAxMy40MkwyMi40MiAxMkwxOS4zIDguODlaTTE1LjUgOUMxNC4xMiA5IDEzIDcuODggMTMgNi41QzEzIDUuMTIgMTQuMTIgNCAxNS41IDRDMTYuODggNCAxOCA1LjEyIDE4IDYuNUMxOCA3Ljg4IDE2Ljg4IDkgMTUuNSA5WiIvPgogICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00IDZIOS4wMTg5NEM5LjAwNjM5IDYuMTY1MDIgOSA2LjMzMTc2IDkgNi41QzkgOC44MTU3NyAxMC4yMTEgMTAuODQ4NyAxMi4wMzQzIDEySDlWMTRIMTZWMTIuOTgxMUMxNi41NzAzIDEyLjkzNzcgMTcuMTIgMTIuODIwNyAxNy42Mzk2IDEyLjYzOTZMMTggMTNWMjBINFY2Wk04IDhINlYxMEg4VjhaTTYgMTJIOFYxNEg2VjEyWk04IDE2SDZWMThIOFYxNlpNOSAxNkgxNlYxOEg5VjE2WiIvPgogIDwvZz4KPC9zdmc+Cg==);
--jp-icon-paste: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTE5IDJoLTQuMThDMTQuNC44NCAxMy4zIDAgMTIgMGMtMS4zIDAtMi40Ljg0LTIuODIgMkg1Yy0xLjEgMC0yIC45LTIgMnYxNmMwIDEuMS45IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjRjMC0xLjEtLjktMi0yLTJ6bS03IDBjLjU1IDAgMSAuNDUgMSAxcy0uNDUgMS0xIDEtMS0uNDUtMS0xIC40NS0xIDEtMXptNyAxOEg1VjRoMnYzaDEwVjRoMnYxNnoiLz4KICAgIDwvZz4KPC9zdmc+Cg==);
--jp-icon-pdf: url(data:image/svg+xml;base64,PHN2ZwogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMiAyMiIgd2lkdGg9IjE2Ij4KICAgIDxwYXRoIHRyYW5zZm9ybT0icm90YXRlKDQ1KSIgY2xhc3M9ImpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iI0ZGMkEyQSIKICAgICAgIGQ9Im0gMjIuMzQ0MzY5LC0zLjAxNjM2NDIgaCA1LjYzODYwNCB2IDEuNTc5MjQzMyBoIC0zLjU0OTIyNyB2IDEuNTA4NjkyOTkgaCAzLjMzNzU3NiBWIDEuNjUwODE1NCBoIC0zLjMzNzU3NiB2IDMuNDM1MjYxMyBoIC0yLjA4OTM3NyB6IG0gLTcuMTM2NDQ0LDEuNTc5MjQzMyB2IDQuOTQzOTU0MyBoIDAuNzQ4OTIgcSAxLjI4MDc2MSwwIDEuOTUzNzAzLC0wLjYzNDk1MzUgMC42NzgzNjksLTAuNjM0OTUzNSAwLjY3ODM2OSwtMS44NDUxNjQxIDAsLTEuMjA0NzgzNTUgLTAuNjcyOTQyLC0xLjgzNDMxMDExIC0wLjY3Mjk0MiwtMC42Mjk1MjY1OSAtMS45NTkxMywtMC42Mjk1MjY1OSB6IG0gLTIuMDg5Mzc3LC0xLjU3OTI0MzMgaCAyLjIwMzM0MyBxIDEuODQ1MTY0LDAgMi43NDYwMzksMC4yNjU5MjA3IDAuOTA2MzAxLDAuMjYwNDkzNyAxLjU1MjEwOCwwLjg5MDAyMDMgMC41Njk4MywwLjU0ODEyMjMgMC44NDY2MDUsMS4yNjQ0ODAwNiAwLjI3Njc3NCwwLjcxNjM1NzgxIDAuMjc2Nzc0LDEuNjIyNjU4OTQgMCwwLjkxNzE1NTEgLTAuMjc2Nzc0LDEuNjM4OTM5OSAtMC4yNzY3NzUsMC43MTYzNTc4IC0wLjg0NjYwNSwxLjI2NDQ4IC0wLjY1MTIzNCwwLjYyOTUyNjYgLTEuNTYyOTYyLDAuODk1NDQ3MyAtMC45MTE3MjgsMC4yNjA0OTM3IC0yLjczNTE4NSwwLjI2MDQ5MzcgaCAtMi4yMDMzNDMgeiBtIC04LjE0NTg1NjUsMCBoIDMuNDY3ODIzIHEgMS41NDY2ODE2LDAgMi4zNzE1Nzg1LDAuNjg5MjIzIDAuODMwMzI0LDAuNjgzNzk2MSAwLjgzMDMyNCwxLjk1MzcwMzE0IDAsMS4yNzUzMzM5NyAtMC44MzAzMjQsMS45NjQ1NTcwNiBRIDkuOTg3MTk2MSwyLjI3NDkxNSA4LjQ0MDUxNDUsMi4yNzQ5MTUgSCA3LjA2MjA2ODQgViA1LjA4NjA3NjcgSCA0Ljk3MjY5MTUgWiBtIDIuMDg5Mzc2OSwxLjUxNDExOTkgdiAyLjI2MzAzOTQzIGggMS4xNTU5NDEgcSAwLjYwNzgxODgsMCAwLjkzODg2MjksLTAuMjkzMDU1NDcgMC4zMzEwNDQxLC0wLjI5ODQ4MjQxIDAuMzMxMDQ0MSwtMC44NDExNzc3MiAwLC0wLjU0MjY5NTMxIC0wLjMzMTA0NDEsLTAuODM1NzUwNzQgLTAuMzMxMDQ0MSwtMC4yOTMwNTU1IC0wLjkzODg2MjksLTAuMjkzMDU1NSB6IgovPgo8L3N2Zz4K);
--jp-icon-python: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iLTEwIC0xMCAxMzEuMTYxMzYxNjk0MzM1OTQgMTMyLjM4ODk5OTkzODk2NDg0Ij4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjMzA2OTk4IiBkPSJNIDU0LjkxODc4NSw5LjE5Mjc0MjFlLTQgQyA1MC4zMzUxMzIsMC4wMjIyMTcyNyA0NS45NTc4NDYsMC40MTMxMzY5NyA0Mi4xMDYyODUsMS4wOTQ2NjkzIDMwLjc2MDA2OSwzLjA5OTE3MzEgMjguNzAwMDM2LDcuMjk0NzcxNCAyOC43MDAwMzUsMTUuMDMyMTY5IHYgMTAuMjE4NzUgaCAyNi44MTI1IHYgMy40MDYyNSBoIC0yNi44MTI1IC0xMC4wNjI1IGMgLTcuNzkyNDU5LDAgLTE0LjYxNTc1ODgsNC42ODM3MTcgLTE2Ljc0OTk5OTgsMTMuNTkzNzUgLTIuNDYxODE5OTgsMTAuMjEyOTY2IC0yLjU3MTAxNTA4LDE2LjU4NjAyMyAwLDI3LjI1IDEuOTA1OTI4Myw3LjkzNzg1MiA2LjQ1NzU0MzIsMTMuNTkzNzQ4IDE0LjI0OTk5OTgsMTMuNTkzNzUgaCA5LjIxODc1IHYgLTEyLjI1IGMgMCwtOC44NDk5MDIgNy42NTcxNDQsLTE2LjY1NjI0OCAxNi43NSwtMTYuNjU2MjUgaCAyNi43ODEyNSBjIDcuNDU0OTUxLDAgMTMuNDA2MjUzLC02LjEzODE2NCAxMy40MDYyNSwtMTMuNjI1IHYgLTI1LjUzMTI1IGMgMCwtNy4yNjYzMzg2IC02LjEyOTk4LC0xMi43MjQ3NzcxIC0xMy40MDYyNSwtMTMuOTM3NDk5NyBDIDY0LjI4MTU0OCwwLjMyNzk0Mzk3IDU5LjUwMjQzOCwtMC4wMjAzNzkwMyA1NC45MTg3ODUsOS4xOTI3NDIxZS00IFogbSAtMTQuNSw4LjIxODc1MDEyNTc5IGMgMi43Njk1NDcsMCA1LjAzMTI1LDIuMjk4NjQ1NiA1LjAzMTI1LDUuMTI0OTk5NiAtMmUtNiwyLjgxNjMzNiAtMi4yNjE3MDMsNS4wOTM3NSAtNS4wMzEyNSw1LjA5Mzc1IC0yLjc3OTQ3NiwtMWUtNiAtNS4wMzEyNSwtMi4yNzc0MTUgLTUuMDMxMjUsLTUuMDkzNzUgLTEwZS03LC0yLjgyNjM1MyAyLjI1MTc3NCwtNS4xMjQ5OTk2IDUuMDMxMjUsLTUuMTI0OTk5NiB6Ii8+CiAgPHBhdGggY2xhc3M9ImpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iI2ZmZDQzYiIgZD0ibSA4NS42Mzc1MzUsMjguNjU3MTY5IHYgMTEuOTA2MjUgYyAwLDkuMjMwNzU1IC03LjgyNTg5NSwxNi45OTk5OTkgLTE2Ljc1LDE3IGggLTI2Ljc4MTI1IGMgLTcuMzM1ODMzLDAgLTEzLjQwNjI0OSw2LjI3ODQ4MyAtMTMuNDA2MjUsMTMuNjI1IHYgMjUuNTMxMjQ3IGMgMCw3LjI2NjM0NCA2LjMxODU4OCwxMS41NDAzMjQgMTMuNDA2MjUsMTMuNjI1MDA0IDguNDg3MzMxLDIuNDk1NjEgMTYuNjI2MjM3LDIuOTQ2NjMgMjYuNzgxMjUsMCA2Ljc1MDE1NSwtMS45NTQzOSAxMy40MDYyNTMsLTUuODg3NjEgMTMuNDA2MjUsLTEzLjYyNTAwNCBWIDg2LjUwMDkxOSBoIC0yNi43ODEyNSB2IC0zLjQwNjI1IGggMjYuNzgxMjUgMTMuNDA2MjU0IGMgNy43OTI0NjEsMCAxMC42OTYyNTEsLTUuNDM1NDA4IDEzLjQwNjI0MSwtMTMuNTkzNzUgMi43OTkzMywtOC4zOTg4ODYgMi42ODAyMiwtMTYuNDc1Nzc2IDAsLTI3LjI1IC0xLjkyNTc4LC03Ljc1NzQ0MSAtNS42MDM4NywtMTMuNTkzNzUgLTEzLjQwNjI0MSwtMTMuNTkzNzUgeiBtIC0xNS4wNjI1LDY0LjY1NjI1IGMgMi43Nzk0NzgsM2UtNiA1LjAzMTI1LDIuMjc3NDE3IDUuMDMxMjUsNS4wOTM3NDcgLTJlLTYsMi44MjYzNTQgLTIuMjUxNzc1LDUuMTI1MDA0IC01LjAzMTI1LDUuMTI1MDA0IC0yLjc2OTU1LDAgLTUuMDMxMjUsLTIuMjk4NjUgLTUuMDMxMjUsLTUuMTI1MDA0IDJlLTYsLTIuODE2MzMgMi4yNjE2OTcsLTUuMDkzNzQ3IDUuMDMxMjUsLTUuMDkzNzQ3IHoiLz4KPC9zdmc+Cg==);
--jp-icon-r-kernel: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1jb250cmFzdDMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjMjE5NkYzIiBkPSJNNC40IDIuNWMxLjItLjEgMi45LS4zIDQuOS0uMyAyLjUgMCA0LjEuNCA1LjIgMS4zIDEgLjcgMS41IDEuOSAxLjUgMy41IDAgMi0xLjQgMy41LTIuOSA0LjEgMS4yLjQgMS43IDEuNiAyLjIgMyAuNiAxLjkgMSAzLjkgMS4zIDQuNmgtMy44Yy0uMy0uNC0uOC0xLjctMS4yLTMuN3MtMS4yLTIuNi0yLjYtMi42aC0uOXY2LjRINC40VjIuNXptMy43IDYuOWgxLjRjMS45IDAgMi45LS45IDIuOS0yLjNzLTEtMi4zLTIuOC0yLjNjLS43IDAtMS4zIDAtMS42LjJ2NC41aC4xdi0uMXoiLz4KPC9zdmc+Cg==);
--jp-icon-react: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMTUwIDE1MCA1NDEuOSAyOTUuMyI+CiAgPGcgY2xhc3M9ImpwLWljb24tYnJhbmQyIGpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iIzYxREFGQiI+CiAgICA8cGF0aCBkPSJNNjY2LjMgMjk2LjVjMC0zMi41LTQwLjctNjMuMy0xMDMuMS04Mi40IDE0LjQtNjMuNiA4LTExNC4yLTIwLjItMTMwLjQtNi41LTMuOC0xNC4xLTUuNi0yMi40LTUuNnYyMi4zYzQuNiAwIDguMy45IDExLjQgMi42IDEzLjYgNy44IDE5LjUgMzcuNSAxNC45IDc1LjctMS4xIDkuNC0yLjkgMTkuMy01LjEgMjkuNC0xOS42LTQuOC00MS04LjUtNjMuNS0xMC45LTEzLjUtMTguNS0yNy41LTM1LjMtNDEuNi01MCAzMi42LTMwLjMgNjMuMi00Ni45IDg0LTQ2LjlWNzhjLTI3LjUgMC02My41IDE5LjYtOTkuOSA1My42LTM2LjQtMzMuOC03Mi40LTUzLjItOTkuOS01My4ydjIyLjNjMjAuNyAwIDUxLjQgMTYuNSA4NCA0Ni42LTE0IDE0LjctMjggMzEuNC00MS4zIDQ5LjktMjIuNiAyLjQtNDQgNi4xLTYzLjYgMTEtMi4zLTEwLTQtMTkuNy01LjItMjktNC43LTM4LjIgMS4xLTY3LjkgMTQuNi03NS44IDMtMS44IDYuOS0yLjYgMTEuNS0yLjZWNzguNWMtOC40IDAtMTYgMS44LTIyLjYgNS42LTI4LjEgMTYuMi0zNC40IDY2LjctMTkuOSAxMzAuMS02Mi4yIDE5LjItMTAyLjcgNDkuOS0xMDIuNyA4Mi4zIDAgMzIuNSA0MC43IDYzLjMgMTAzLjEgODIuNC0xNC40IDYzLjYtOCAxMTQuMiAyMC4yIDEzMC40IDYuNSAzLjggMTQuMSA1LjYgMjIuNSA1LjYgMjcuNSAwIDYzLjUtMTkuNiA5OS45LTUzLjYgMzYuNCAzMy44IDcyLjQgNTMuMiA5OS45IDUzLjIgOC40IDAgMTYtMS44IDIyLjYtNS42IDI4LjEtMTYuMiAzNC40LTY2LjcgMTkuOS0xMzAuMSA2Mi0xOS4xIDEwMi41LTQ5LjkgMTAyLjUtODIuM3ptLTEzMC4yLTY2LjdjLTMuNyAxMi45LTguMyAyNi4yLTEzLjUgMzkuNS00LjEtOC04LjQtMTYtMTMuMS0yNC00LjYtOC05LjUtMTUuOC0xNC40LTIzLjQgMTQuMiAyLjEgMjcuOSA0LjcgNDEgNy45em0tNDUuOCAxMDYuNWMtNy44IDEzLjUtMTUuOCAyNi4zLTI0LjEgMzguMi0xNC45IDEuMy0zMCAyLTQ1LjIgMi0xNS4xIDAtMzAuMi0uNy00NS0xLjktOC4zLTExLjktMTYuNC0yNC42LTI0LjItMzgtNy42LTEzLjEtMTQuNS0yNi40LTIwLjgtMzkuOCA2LjItMTMuNCAxMy4yLTI2LjggMjAuNy0zOS45IDcuOC0xMy41IDE1LjgtMjYuMyAyNC4xLTM4LjIgMTQuOS0xLjMgMzAtMiA0NS4yLTIgMTUuMSAwIDMwLjIuNyA0NSAxLjkgOC4zIDExLjkgMTYuNCAyNC42IDI0LjIgMzggNy42IDEzLjEgMTQuNSAyNi40IDIwLjggMzkuOC02LjMgMTMuNC0xMy4yIDI2LjgtMjAuNyAzOS45em0zMi4zLTEzYzUuNCAxMy40IDEwIDI2LjggMTMuOCAzOS44LTEzLjEgMy4yLTI2LjkgNS45LTQxLjIgOCA0LjktNy43IDkuOC0xNS42IDE0LjQtMjMuNyA0LjYtOCA4LjktMTYuMSAxMy0yNC4xek00MjEuMiA0MzBjLTkuMy05LjYtMTguNi0yMC4zLTI3LjgtMzIgOSAuNCAxOC4yLjcgMjcuNS43IDkuNCAwIDE4LjctLjIgMjcuOC0uNy05IDExLjctMTguMyAyMi40LTI3LjUgMzJ6bS03NC40LTU4LjljLTE0LjItMi4xLTI3LjktNC43LTQxLTcuOSAzLjctMTIuOSA4LjMtMjYuMiAxMy41LTM5LjUgNC4xIDggOC40IDE2IDEzLjEgMjQgNC43IDggOS41IDE1LjggMTQuNCAyMy40ek00MjAuNyAxNjNjOS4zIDkuNiAxOC42IDIwLjMgMjcuOCAzMi05LS40LTE4LjItLjctMjcuNS0uNy05LjQgMC0xOC43LjItMjcuOC43IDktMTEuNyAxOC4zLTIyLjQgMjcuNS0zMnptLTc0IDU4LjljLTQuOSA3LjctOS44IDE1LjYtMTQuNCAyMy43LTQuNiA4LTguOSAxNi0xMyAyNC01LjQtMTMuNC0xMC0yNi44LTEzLjgtMzkuOCAxMy4xLTMuMSAyNi45LTUuOCA0MS4yLTcuOXptLTkwLjUgMTI1LjJjLTM1LjQtMTUuMS01OC4zLTM0LjktNTguMy01MC42IDAtMTUuNyAyMi45LTM1LjYgNTguMy01MC42IDguNi0zLjcgMTgtNyAyNy43LTEwLjEgNS43IDE5LjYgMTMuMiA0MCAyMi41IDYwLjktOS4yIDIwLjgtMTYuNiA0MS4xLTIyLjIgNjAuNi05LjktMy4xLTE5LjMtNi41LTI4LTEwLjJ6TTMxMCA0OTBjLTEzLjYtNy44LTE5LjUtMzcuNS0xNC45LTc1LjcgMS4xLTkuNCAyLjktMTkuMyA1LjEtMjkuNCAxOS42IDQuOCA0MSA4LjUgNjMuNSAxMC45IDEzLjUgMTguNSAyNy41IDM1LjMgNDEuNiA1MC0zMi42IDMwLjMtNjMuMiA0Ni45LTg0IDQ2LjktNC41LS4xLTguMy0xLTExLjMtMi43em0yMzcuMi03Ni4yYzQuNyAzOC4yLTEuMSA2Ny45LTE0LjYgNzUuOC0zIDEuOC02LjkgMi42LTExLjUgMi42LTIwLjcgMC01MS40LTE2LjUtODQtNDYuNiAxNC0xNC43IDI4LTMxLjQgNDEuMy00OS45IDIyLjYtMi40IDQ0LTYuMSA2My42LTExIDIuMyAxMC4xIDQuMSAxOS44IDUuMiAyOS4xem0zOC41LTY2LjdjLTguNiAzLjctMTggNy0yNy43IDEwLjEtNS43LTE5LjYtMTMuMi00MC0yMi41LTYwLjkgOS4yLTIwLjggMTYuNi00MS4xIDIyLjItNjAuNiA5LjkgMy4xIDE5LjMgNi41IDI4LjEgMTAuMiAzNS40IDE1LjEgNTguMyAzNC45IDU4LjMgNTAuNi0uMSAxNS43LTIzIDM1LjYtNTguNCA1MC42ek0zMjAuOCA3OC40eiIvPgogICAgPGNpcmNsZSBjeD0iNDIwLjkiIGN5PSIyOTYuNSIgcj0iNDUuNyIvPgogIDwvZz4KPC9zdmc+Cg==);
--jp-icon-redo: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE2Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgICA8cGF0aCBkPSJNMCAwaDI0djI0SDB6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTE4LjQgMTAuNkMxNi41NSA4Ljk5IDE0LjE1IDggMTEuNSA4Yy00LjY1IDAtOC41OCAzLjAzLTkuOTYgNy4yMkwzLjkgMTZjMS4wNS0zLjE5IDQuMDUtNS41IDcuNi01LjUgMS45NSAwIDMuNzMuNzIgNS4xMiAxLjg4TDEzIDE2aDlWN2wtMy42IDMuNnoiLz4KICA8L2c+Cjwvc3ZnPgo=);
--jp-icon-refresh: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTkgMTMuNWMtMi40OSAwLTQuNS0yLjAxLTQuNS00LjVTNi41MSA0LjUgOSA0LjVjMS4yNCAwIDIuMzYuNTIgMy4xNyAxLjMzTDEwIDhoNVYzbC0xLjc2IDEuNzZDMTIuMTUgMy42OCAxMC42NiAzIDkgMyA1LjY5IDMgMy4wMSA1LjY5IDMuMDEgOVM1LjY5IDE1IDkgMTVjMi45NyAwIDUuNDMtMi4xNiA1LjktNWgtMS41MmMtLjQ2IDItMi4yNCAzLjUtNC4zOCAzLjV6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=);
--jp-icon-regex: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwIDIwIj4KICA8ZyBjbGFzcz0ianAtaWNvbjIiIGZpbGw9IiM0MTQxNDEiPgogICAgPHJlY3QgeD0iMiIgeT0iMiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ii8+CiAgPC9nPgoKICA8ZyBjbGFzcz0ianAtaWNvbi1hY2NlbnQyIiBmaWxsPSIjRkZGIj4KICAgIDxjaXJjbGUgY2xhc3M9InN0MiIgY3g9IjUuNSIgY3k9IjE0LjUiIHI9IjEuNSIvPgogICAgPHJlY3QgeD0iMTIiIHk9IjQiIGNsYXNzPSJzdDIiIHdpZHRoPSIxIiBoZWlnaHQ9IjgiLz4KICAgIDxyZWN0IHg9IjguNSIgeT0iNy41IiB0cmFuc2Zvcm09Im1hdHJpeCgwLjg2NiAtMC41IDAuNSAwLjg2NiAtMi4zMjU1IDcuMzIxOSkiIGNsYXNzPSJzdDIiIHdpZHRoPSI4IiBoZWlnaHQ9IjEiLz4KICAgIDxyZWN0IHg9IjEyIiB5PSI0IiB0cmFuc2Zvcm09Im1hdHJpeCgwLjUgLTAuODY2IDAuODY2IDAuNSAtMC42Nzc5IDE0LjgyNTIpIiBjbGFzcz0ic3QyIiB3aWR0aD0iMSIgaGVpZ2h0PSI4Ii8+CiAgPC9nPgo8L3N2Zz4K);
--jp-icon-run: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTggNXYxNGwxMS03eiIvPgogICAgPC9nPgo8L3N2Zz4K);
--jp-icon-running: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDUxMiA1MTIiPgogIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICA8cGF0aCBkPSJNMjU2IDhDMTE5IDggOCAxMTkgOCAyNTZzMTExIDI0OCAyNDggMjQ4IDI0OC0xMTEgMjQ4LTI0OFMzOTMgOCAyNTYgOHptOTYgMzI4YzAgOC44LTcuMiAxNi0xNiAxNkgxNzZjLTguOCAwLTE2LTcuMi0xNi0xNlYxNzZjMC04LjggNy4yLTE2IDE2LTE2aDE2MGM4LjggMCAxNiA3LjIgMTYgMTZ2MTYweiIvPgogIDwvZz4KPC9zdmc+Cg==);
--jp-icon-save: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTE3IDNINWMtMS4xMSAwLTIgLjktMiAydjE0YzAgMS4xLjg5IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjdsLTQtNHptLTUgMTZjLTEuNjYgMC0zLTEuMzQtMy0zczEuMzQtMyAzLTMgMyAxLjM0IDMgMy0xLjM0IDMtMyAzem0zLTEwSDVWNWgxMHY0eiIvPgogICAgPC9nPgo8L3N2Zz4K);
--jp-icon-search: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTEyLjEsMTAuOWgtMC43bC0wLjItMC4yYzAuOC0wLjksMS4zLTIuMiwxLjMtMy41YzAtMy0yLjQtNS40LTUuNC01LjRTMS44LDQuMiwxLjgsNy4xczIuNCw1LjQsNS40LDUuNCBjMS4zLDAsMi41LTAuNSwzLjUtMS4zbDAuMiwwLjJ2MC43bDQuMSw0LjFsMS4yLTEuMkwxMi4xLDEwLjl6IE03LjEsMTAuOWMtMi4xLDAtMy43LTEuNy0zLjctMy43czEuNy0zLjcsMy43LTMuN3MzLjcsMS43LDMuNywzLjcgUzkuMiwxMC45LDcuMSwxMC45eiIvPgogIDwvZz4KPC9zdmc+Cg==);
--jp-icon-settings: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMTkuNDMgMTIuOThjLjA0LS4zMi4wNy0uNjQuMDctLjk4cy0uMDMtLjY2LS4wNy0uOThsMi4xMS0xLjY1Yy4xOS0uMTUuMjQtLjQyLjEyLS42NGwtMi0zLjQ2Yy0uMTItLjIyLS4zOS0uMy0uNjEtLjIybC0yLjQ5IDFjLS41Mi0uNC0xLjA4LS43My0xLjY5LS45OGwtLjM4LTIuNjVBLjQ4OC40ODggMCAwMDE0IDJoLTRjLS4yNSAwLS40Ni4xOC0uNDkuNDJsLS4zOCAyLjY1Yy0uNjEuMjUtMS4xNy41OS0xLjY5Ljk4bC0yLjQ5LTFjLS4yMy0uMDktLjQ5IDAtLjYxLjIybC0yIDMuNDZjLS4xMy4yMi0uMDcuNDkuMTIuNjRsMi4xMSAxLjY1Yy0uMDQuMzItLjA3LjY1LS4wNy45OHMuMDMuNjYuMDcuOThsLTIuMTEgMS42NWMtLjE5LjE1LS4yNC40Mi0uMTIuNjRsMiAzLjQ2Yy4xMi4yMi4zOS4zLjYxLjIybDIuNDktMWMuNTIuNCAxLjA4LjczIDEuNjkuOThsLjM4IDIuNjVjLjAzLjI0LjI0LjQyLjQ5LjQyaDRjLjI1IDAgLjQ2LS4xOC40OS0uNDJsLjM4LTIuNjVjLjYxLS4yNSAxLjE3LS41OSAxLjY5LS45OGwyLjQ5IDFjLjIzLjA5LjQ5IDAgLjYxLS4yMmwyLTMuNDZjLjEyLS4yMi4wNy0uNDktLjEyLS42NGwtMi4xMS0xLjY1ek0xMiAxNS41Yy0xLjkzIDAtMy41LTEuNTctMy41LTMuNXMxLjU3LTMuNSAzLjUtMy41IDMuNSAxLjU3IDMuNSAzLjUtMS41NyAzLjUtMy41IDMuNXoiLz4KPC9zdmc+Cg==);
--jp-icon-share: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTSAxOCAyIEMgMTYuMzU0OTkgMiAxNSAzLjM1NDk5MDQgMTUgNSBDIDE1IDUuMTkwOTUyOSAxNS4wMjE3OTEgNS4zNzcxMjI0IDE1LjA1NjY0MSA1LjU1ODU5MzggTCA3LjkyMTg3NSA5LjcyMDcwMzEgQyA3LjM5ODUzOTkgOS4yNzc4NTM5IDYuNzMyMDc3MSA5IDYgOSBDIDQuMzU0OTkwNCA5IDMgMTAuMzU0OTkgMyAxMiBDIDMgMTMuNjQ1MDEgNC4zNTQ5OTA0IDE1IDYgMTUgQyA2LjczMjA3NzEgMTUgNy4zOTg1Mzk5IDE0LjcyMjE0NiA3LjkyMTg3NSAxNC4yNzkyOTcgTCAxNS4wNTY2NDEgMTguNDM5NDUzIEMgMTUuMDIxNTU1IDE4LjYyMTUxNCAxNSAxOC44MDgzODYgMTUgMTkgQyAxNSAyMC42NDUwMSAxNi4zNTQ5OSAyMiAxOCAyMiBDIDE5LjY0NTAxIDIyIDIxIDIwLjY0NTAxIDIxIDE5IEMgMjEgMTcuMzU0OTkgMTkuNjQ1MDEgMTYgMTggMTYgQyAxNy4yNjc0OCAxNiAxNi42MDE1OTMgMTYuMjc5MzI4IDE2LjA3ODEyNSAxNi43MjI2NTYgTCA4Ljk0MzM1OTQgMTIuNTU4NTk0IEMgOC45NzgyMDk1IDEyLjM3NzEyMiA5IDEyLjE5MDk1MyA5IDEyIEMgOSAxMS44MDkwNDcgOC45NzgyMDk1IDExLjYyMjg3OCA4Ljk0MzM1OTQgMTEuNDQxNDA2IEwgMTYuMDc4MTI1IDcuMjc5Mjk2OSBDIDE2LjYwMTQ2IDcuNzIyMTQ2MSAxNy4yNjc5MjMgOCAxOCA4IEMgMTkuNjQ1MDEgOCAyMSA2LjY0NTAwOTYgMjEgNSBDIDIxIDMuMzU0OTkwNCAxOS42NDUwMSAyIDE4IDIgeiBNIDE4IDQgQyAxOC41NjQxMjkgNCAxOSA0LjQzNTg3MDYgMTkgNSBDIDE5IDUuNTY0MTI5NCAxOC41NjQxMjkgNiAxOCA2IEMgMTcuNDM1ODcxIDYgMTcgNS41NjQxMjk0IDE3IDUgQyAxNyA0LjQzNTg3MDYgMTcuNDM1ODcxIDQgMTggNCB6IE0gNiAxMSBDIDYuNTY0MTI5NCAxMSA3IDExLjQzNTg3MSA3IDEyIEMgNyAxMi41NjQxMjkgNi41NjQxMjk0IDEzIDYgMTMgQyA1LjQzNTg3MDYgMTMgNSAxMi41NjQxMjkgNSAxMiBDIDUgMTEuNDM1ODcxIDUuNDM1ODcwNiAxMSA2IDExIHogTSAxOCAxOCBDIDE4LjU2NDEyOSAxOCAxOSAxOC40MzU4NzEgMTkgMTkgQyAxOSAxOS41NjQxMjkgMTguNTY0MTI5IDIwIDE4IDIwIEMgMTcuNDM1ODcxIDIwIDE3IDE5LjU2NDEyOSAxNyAxOSBDIDE3IDE4LjQzNTg3MSAxNy40MzU4NzEgMTggMTggMTggeiIvPgogIDwvZz4KPC9zdmc+Cg==);
--jp-icon-spreadsheet: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1jb250cmFzdDEganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNENBRjUwIiBkPSJNMi4yIDIuMnYxNy42aDE3LjZWMi4ySDIuMnptMTUuNCA3LjdoLTUuNVY0LjRoNS41djUuNXpNOS45IDQuNHY1LjVINC40VjQuNGg1LjV6bS01LjUgNy43aDUuNXY1LjVINC40di01LjV6bTcuNyA1LjV2LTUuNWg1LjV2NS41aC01LjV6Ii8+Cjwvc3ZnPgo=);
--jp-icon-stop: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPgogICAgICAgIDxwYXRoIGQ9Ik02IDZoMTJ2MTJINnoiLz4KICAgIDwvZz4KPC9zdmc+Cg==);
--jp-icon-tab: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTIxIDNIM2MtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxOGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yem0wIDE2SDNWNWgxMHY0aDh2MTB6Ii8+CiAgPC9nPgo8L3N2Zz4K);
--jp-icon-table-rows: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMSw4SDNWNGgxOFY4eiBNMjEsMTBIM3Y0aDE4VjEweiBNMjEsMTZIM3Y0aDE4VjE2eiIvPgogICAgPC9nPgo8L3N2Zz4K);
--jp-icon-tag: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCA0MyAyOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CgkJPHBhdGggZD0iTTI4LjgzMzIgMTIuMzM0TDMyLjk5OTggMTYuNTAwN0wzNy4xNjY1IDEyLjMzNEgyOC44MzMyWiIvPgoJCTxwYXRoIGQ9Ik0xNi4yMDk1IDIxLjYxMDRDMTUuNjg3MyAyMi4xMjk5IDE0Ljg0NDMgMjIuMTI5OSAxNC4zMjQ4IDIxLjYxMDRMNi45ODI5IDE0LjcyNDVDNi41NzI0IDE0LjMzOTQgNi4wODMxMyAxMy42MDk4IDYuMDQ3ODYgMTMuMDQ4MkM1Ljk1MzQ3IDExLjUyODggNi4wMjAwMiA4LjYxOTQ0IDYuMDY2MjEgNy4wNzY5NUM2LjA4MjgxIDYuNTE0NzcgNi41NTU0OCA2LjA0MzQ3IDcuMTE4MDQgNi4wMzA1NUM5LjA4ODYzIDUuOTg0NzMgMTMuMjYzOCA1LjkzNTc5IDEzLjY1MTggNi4zMjQyNUwyMS43MzY5IDEzLjYzOUMyMi4yNTYgMTQuMTU4NSAyMS43ODUxIDE1LjQ3MjQgMjEuMjYyIDE1Ljk5NDZMMTYuMjA5NSAyMS42MTA0Wk05Ljc3NTg1IDguMjY1QzkuMzM1NTEgNy44MjU2NiA4LjYyMzUxIDcuODI1NjYgOC4xODI4IDguMjY1QzcuNzQzNDYgOC43MDU3MSA3Ljc0MzQ2IDkuNDE3MzMgOC4xODI4IDkuODU2NjdDOC42MjM4MiAxMC4yOTY0IDkuMzM1ODIgMTAuMjk2NCA5Ljc3NTg1IDkuODU2NjdDMTAuMjE1NiA5LjQxNzMzIDEwLjIxNTYgOC43MDUzMyA5Ljc3NTg1IDguMjY1WiIvPgoJPC9nPgo8L3N2Zz4K);
--jp-icon-terminal: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0IiA+CiAgICA8cmVjdCBjbGFzcz0ianAtdGVybWluYWwtaWNvbi1iYWNrZ3JvdW5kLWNvbG9yIGpwLWljb24tc2VsZWN0YWJsZSIgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyIDIpIiBmaWxsPSIjMzMzMzMzIi8+CiAgICA8cGF0aCBjbGFzcz0ianAtdGVybWluYWwtaWNvbi1jb2xvciBqcC1pY29uLXNlbGVjdGFibGUtaW52ZXJzZSIgZD0iTTUuMDU2NjQgOC43NjE3MkM1LjA1NjY0IDguNTk3NjYgNS4wMzEyNSA4LjQ1MzEyIDQuOTgwNDcgOC4zMjgxMkM0LjkzMzU5IDguMTk5MjIgNC44NTU0NyA4LjA4MjAzIDQuNzQ2MDkgNy45NzY1NkM0LjY0MDYyIDcuODcxMDkgNC41IDcuNzc1MzkgNC4zMjQyMiA3LjY4OTQ1QzQuMTUyMzQgNy41OTk2MSAzLjk0MzM2IDcuNTExNzIgMy42OTcyNyA3LjQyNTc4QzMuMzAyNzMgNy4yODUxNiAyLjk0MzM2IDcuMTM2NzIgMi42MTkxNCA2Ljk4MDQ3QzIuMjk0OTIgNi44MjQyMiAyLjAxNzU4IDYuNjQyNTggMS43ODcxMSA2LjQzNTU1QzEuNTYwNTUgNi4yMjg1MiAxLjM4NDc3IDUuOTg4MjggMS4yNTk3NyA1LjcxNDg0QzEuMTM0NzcgNS40Mzc1IDEuMDcyMjcgNS4xMDkzOCAxLjA3MjI3IDQuNzMwNDdDMS4wNzIyNyA0LjM5ODQ0IDEuMTI4OTEgNC4wOTU3IDEuMjQyMTkgMy44MjIyN0MxLjM1NTQ3IDMuNTQ0OTIgMS41MTU2MiAzLjMwNDY5IDEuNzIyNjYgMy4xMDE1NkMxLjkyOTY5IDIuODk4NDQgMi4xNzk2OSAyLjczNDM3IDIuNDcyNjYgMi42MDkzOEMyLjc2NTYyIDIuNDg0MzggMy4wOTE4IDIuNDA0MyAzLjQ1MTE3IDIuMzY5MTRWMS4xMDkzOEg0LjM4ODY3VjIuMzgwODZDNC43NDAyMyAyLjQyNzczIDUuMDU2NjQgMi41MjM0NCA1LjMzNzg5IDIuNjY3OTdDNS42MTkxNCAyLjgxMjUgNS44NTc0MiAzLjAwMTk1IDYuMDUyNzMgMy4yMzYzM0M2LjI1MTk1IDMuNDY2OCA2LjQwNDMgMy43NDAyMyA2LjUwOTc3IDQuMDU2NjRDNi42MTkxNCA0LjM2OTE0IDYuNjczODMgNC43MjA3IDYuNjczODMgNS4xMTEzM0g1LjA0NDkyQzUuMDQ0OTIgNC42Mzg2NyA0LjkzNzUgNC4yODEyNSA0LjcyMjY2IDQuMDM5MDZDNC41MDc4MSAzLjc5Mjk3IDQuMjE2OCAzLjY2OTkyIDMuODQ5NjEgMy42Njk5MkMzLjY1MDM5IDMuNjY5OTIgMy40NzY1NiAzLjY5NzI3IDMuMzI4MTIgMy43NTE5NUMzLjE4MzU5IDMuODAyNzMgMy4wNjQ0NSAzLjg3Njk1IDIuOTcwNyAzLjk3NDYxQzIuODc2OTUgNC4wNjgzNiAyLjgwNjY0IDQuMTc5NjkgMi43NTk3NyA0LjMwODU5QzIuNzE2OCA0LjQzNzUgMi42OTUzMSA0LjU3ODEyIDIuNjk1MzEgNC43MzA0N0MyLjY5NTMxIDQuODgyODEgMi43MTY4IDUuMDE5NTMgMi43NTk3NyA1LjE0MDYyQzIuODA2NjQgNS4yNTc4MSAyLjg4MjgxIDUuMzY3MTkgMi45ODgyOCA1LjQ2ODc1QzMuMDk3NjYgNS41NzAzMSAzLjI0MDIzIDUuNjY3OTcgMy40MTYwMiA1Ljc2MTcyQzMuNTkxOCA1Ljg1MTU2IDMuODEwNTUgNS45NDMzNiA0LjA3MjI3IDYuMDM3MTFDNC40NjY4IDYuMTg1NTUgNC44MjQyMiA2LjMzOTg0IDUuMTQ0NTMgNi41QzUuNDY0ODQgNi42NTYyNSA1LjczODI4IDYuODM5ODQgNS45NjQ4NCA3LjA1MDc4QzYuMTk1MzEgNy4yNTc4MSA2LjM3MTA5IDcuNSA2LjQ5MjE5IDcuNzc3MzRDNi42MTcxOSA4LjA1MDc4IDYuNjc5NjkgOC4zNzUgNi42Nzk2OSA4Ljc1QzYuNjc5NjkgOS4wOTM3NSA2LjYyMzA1IDkuNDA0MyA2LjUwOTc3IDkuNjgxNjRDNi4zOTY0OCA5Ljk1NTA4IDYuMjM0MzggMTAuMTkxNCA2LjAyMzQ0IDEwLjM5MDZDNS44MTI1IDEwLjU4OTggNS41NTg1OSAxMC43NSA1LjI2MTcyIDEwLjg3MTFDNC45NjQ4NCAxMC45ODgzIDQuNjMyODEgMTEuMDY0NSA0LjI2NTYyIDExLjA5OTZWMTIuMjQ4SDMuMzMzOThWMTEuMDk5NkMzLjAwMTk1IDExLjA2ODQgMi42Nzk2OSAxMC45OTYxIDIuMzY3MTkgMTAuODgyOEMyLjA1NDY5IDEwLjc2NTYgMS43NzczNCAxMC41OTc3IDEuNTM1MTYgMTAuMzc4OUMxLjI5Njg4IDEwLjE2MDIgMS4xMDU0NyA5Ljg4NDc3IDAuOTYwOTM4IDkuNTUyNzNDMC44MTY0MDYgOS4yMTY4IDAuNzQ0MTQxIDguODE0NDUgMC43NDQxNDEgOC4zNDU3SDIuMzc4OTFDMi4zNzg5MSA4LjYyNjk1IDIuNDE5OTIgOC44NjMyOCAyLjUwMTk1IDkuMDU0NjlDMi41ODM5OCA5LjI0MjE5IDIuNjg5NDUgOS4zOTI1OCAyLjgxODM2IDkuNTA1ODZDMi45NTExNyA5LjYxNTIzIDMuMTAxNTYgOS42OTMzNiAzLjI2OTUzIDkuNzQwMjNDMy40Mzc1IDkuNzg3MTEgMy42MDkzOCA5LjgxMDU1IDMuNzg1MTYgOS44MTA1NUM0LjIwMzEyIDkuODEwNTUgNC41MTk1MyA5LjcxMjg5IDQuNzM0MzggOS41MTc1OEM0Ljk0OTIyIDkuMzIyMjcgNS4wNTY2NCA5LjA3MDMxIDUuMDU2NjQgOC43NjE3MlpNMTMuNDE4IDEyLjI3MTVIOC4wNzQyMlYxMUgxMy40MThWMTIuMjcxNVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMuOTUyNjQgNikiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo=);
--jp-icon-text-editor: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtdGV4dC1lZGl0b3ItaWNvbi1jb2xvciBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiM2MTYxNjEiIGQ9Ik0xNSAxNUgzdjJoMTJ2LTJ6bTAtOEgzdjJoMTJWN3pNMyAxM2gxOHYtMkgzdjJ6bTAgOGgxOHYtMkgzdjJ6TTMgM3YyaDE4VjNIM3oiLz4KPC9zdmc+Cg==);
--jp-icon-toc: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIj4KICAgIDxwYXRoIGQ9Ik03LDVIMjFWN0g3VjVNNywxM1YxMUgyMVYxM0g3TTQsNC41QTEuNSwxLjUgMCAwLDEgNS41LDZBMS41LDEuNSAwIDAsMSA0LDcuNUExLjUsMS41IDAgMCwxIDIuNSw2QTEuNSwxLjUgMCAwLDEgNCw0LjVNNCwxMC41QTEuNSwxLjUgMCAwLDEgNS41LDEyQTEuNSwxLjUgMCAwLDEgNCwxMy41QTEuNSwxLjUgMCAwLDEgMi41LDEyQTEuNSwxLjUgMCAwLDEgNCwxMC41TTcsMTlWMTdIMjFWMTlIN000LDE2LjVBMS41LDEuNSAwIDAsMSA1LjUsMThBMS41LDEuNSAwIDAsMSA0LDE5LjVBMS41LDEuNSAwIDAsMSAyLjUsMThBMS41LDEuNSAwIDAsMSA0LDE2LjVaIiAvPgogIDwvZz4KPC9zdmc+Cg==);
--jp-icon-tree-view: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMiAxMVYzaC03djNIOVYzSDJ2OGg3VjhoMnYxMGg0djNoN3YtOGgtN3YzaC0yVjhoMnYzeiIvPgogICAgPC9nPgo8L3N2Zz4K);
--jp-icon-trusted: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI1Ij4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uMiIgc3Ryb2tlPSIjMzMzMzMzIiBzdHJva2Utd2lkdGg9IjIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIgMykiIGQ9Ik0xLjg2MDk0IDExLjQ0MDlDMC44MjY0NDggOC43NzAyNyAwLjg2Mzc3OSA2LjA1NzY0IDEuMjQ5MDcgNC4xOTkzMkMyLjQ4MjA2IDMuOTMzNDcgNC4wODA2OCAzLjQwMzQ3IDUuNjAxMDIgMi44NDQ5QzcuMjM1NDkgMi4yNDQ0IDguODU2NjYgMS41ODE1IDkuOTg3NiAxLjA5NTM5QzExLjA1OTcgMS41ODM0MSAxMi42MDk0IDIuMjQ0NCAxNC4yMTggMi44NDMzOUMxNS43NTAzIDMuNDEzOTQgMTcuMzk5NSAzLjk1MjU4IDE4Ljc1MzkgNC4yMTM4NUMxOS4xMzY0IDYuMDcxNzcgMTkuMTcwOSA4Ljc3NzIyIDE4LjEzOSAxMS40NDA5QzE3LjAzMDMgMTQuMzAzMiAxNC42NjY4IDE3LjE4NDQgOS45OTk5OSAxOC45MzU0QzUuMzMzMiAxNy4xODQ0IDIuOTY5NjggMTQuMzAzMiAxLjg2MDk0IDExLjQ0MDlaIi8+CiAgICA8cGF0aCBjbGFzcz0ianAtaWNvbjIiIGZpbGw9IiMzMzMzMzMiIHN0cm9rZT0iIzMzMzMzMyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOCA5Ljg2NzE5KSIgZD0iTTIuODYwMTUgNC44NjUzNUwwLjcyNjU0OSAyLjk5OTU5TDAgMy42MzA0NUwyLjg2MDE1IDYuMTMxNTdMOCAwLjYzMDg3Mkw3LjI3ODU3IDBMMi44NjAxNSA0Ljg2NTM1WiIvPgo8L3N2Zz4K);
--jp-icon-undo: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTEyLjUgOGMtMi42NSAwLTUuMDUuOTktNi45IDIuNkwyIDd2OWg5bC0zLjYyLTMuNjJjMS4zOS0xLjE2IDMuMTYtMS44OCA1LjEyLTEuODggMy41NCAwIDYuNTUgMi4zMSA3LjYgNS41bDIuMzctLjc4QzIxLjA4IDExLjAzIDE3LjE1IDggMTIuNSA4eiIvPgogIDwvZz4KPC9zdmc+Cg==);
--jp-icon-user: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTE2IDdhNCA0IDAgMTEtOCAwIDQgNCAwIDAxOCAwek0xMiAxNGE3IDcgMCAwMC03IDdoMTRhNyA3IDAgMDAtNy03eiIvPgogIDwvZz4KPC9zdmc+Cg==);
--jp-icon-users: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDM2IDI0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogPGcgY2xhc3M9ImpwLWljb24zIiB0cmFuc2Zvcm09Im1hdHJpeCgxLjczMjcgMCAwIDEuNzMyNyAtMy42MjgyIC4wOTk1NzcpIiBmaWxsPSIjNjE2MTYxIj4KICA8cGF0aCB0cmFuc2Zvcm09Im1hdHJpeCgxLjUsMCwwLDEuNSwwLC02KSIgZD0ibTEyLjE4NiA3LjUwOThjLTEuMDUzNSAwLTEuOTc1NyAwLjU2NjUtMi40Nzg1IDEuNDEwMiAwLjc1MDYxIDAuMzEyNzcgMS4zOTc0IDAuODI2NDggMS44NzMgMS40NzI3aDMuNDg2M2MwLTEuNTkyLTEuMjg4OS0yLjg4MjgtMi44ODA5LTIuODgyOHoiLz4KICA8cGF0aCBkPSJtMjAuNDY1IDIuMzg5NWEyLjE4ODUgMi4xODg1IDAgMCAxLTIuMTg4NCAyLjE4ODUgMi4xODg1IDIuMTg4NSAwIDAgMS0yLjE4ODUtMi4xODg1IDIuMTg4NSAyLjE4ODUgMCAwIDEgMi4xODg1LTIuMTg4NSAyLjE4ODUgMi4xODg1IDAgMCAxIDIuMTg4NCAyLjE4ODV6Ii8+CiAgPHBhdGggdHJhbnNmb3JtPSJtYXRyaXgoMS41LDAsMCwxLjUsMCwtNikiIGQ9Im0zLjU4OTggOC40MjE5Yy0xLjExMjYgMC0yLjAxMzcgMC45MDExMS0yLjAxMzcgMi4wMTM3aDIuODE0NWMwLjI2Nzk3LTAuMzczMDkgMC41OTA3LTAuNzA0MzUgMC45NTg5OC0wLjk3ODUyLTAuMzQ0MzMtMC42MTY4OC0xLjAwMzEtMS4wMzUyLTEuNzU5OC0xLjAzNTJ6Ii8+CiAgPHBhdGggZD0ibTYuOTE1NCA0LjYyM2ExLjUyOTQgMS41Mjk0IDAgMCAxLTEuNTI5NCAxLjUyOTQgMS41Mjk0IDEuNTI5NCAwIDAgMS0xLjUyOTQtMS41Mjk0IDEuNTI5NCAxLjUyOTQgMCAwIDEgMS41Mjk0LTEuNTI5NCAxLjUyOTQgMS41Mjk0IDAgMCAxIDEuNTI5NCAxLjUyOTR6Ii8+CiAgPHBhdGggZD0ibTYuMTM1IDEzLjUzNWMwLTMuMjM5MiAyLjYyNTktNS44NjUgNS44NjUtNS44NjUgMy4yMzkyIDAgNS44NjUgMi42MjU5IDUuODY1IDUuODY1eiIvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMy43Njg1IiByPSIyLjk2ODUiLz4KIDwvZz4KPC9zdmc+Cg==);
--jp-icon-vega: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8ZyBjbGFzcz0ianAtaWNvbjEganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjMjEyMTIxIj4KICAgIDxwYXRoIGQ9Ik0xMC42IDUuNGwyLjItMy4ySDIuMnY3LjNsNC02LjZ6Ii8+CiAgICA8cGF0aCBkPSJNMTUuOCAyLjJsLTQuNCA2LjZMNyA2LjNsLTQuOCA4djUuNWgxNy42VjIuMmgtNHptLTcgMTUuNEg1LjV2LTQuNGgzLjN2NC40em00LjQgMEg5LjhWOS44aDMuNHY3Ljh6bTQuNCAwaC0zLjRWNi41aDMuNHYxMS4xeiIvPgogIDwvZz4KPC9zdmc+Cg==);
--jp-icon-word: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwIDIwIj4KIDxnIGNsYXNzPSJqcC1pY29uMiIgZmlsbD0iIzQxNDE0MSI+CiAgPHJlY3QgeD0iMiIgeT0iMiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ii8+CiA8L2c+CiA8ZyBjbGFzcz0ianAtaWNvbi1hY2NlbnQyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSguNDMgLjA0MDEpIiBmaWxsPSIjZmZmIj4KICA8cGF0aCBkPSJtNC4xNCA4Ljc2cTAuMDY4Mi0xLjg5IDIuNDItMS44OSAxLjE2IDAgMS42OCAwLjQyIDAuNTY3IDAuNDEgMC41NjcgMS4xNnYzLjQ3cTAgMC40NjIgMC41MTQgMC40NjIgMC4xMDMgMCAwLjItMC4wMjMxdjAuNzE0cS0wLjM5OSAwLjEwMy0wLjY1MSAwLjEwMy0wLjQ1MiAwLTAuNjkzLTAuMjItMC4yMzEtMC4yLTAuMjg0LTAuNjYyLTAuOTU2IDAuODcyLTIgMC44NzItMC45MDMgMC0xLjQ3LTAuNDcyLTAuNTI1LTAuNDcyLTAuNTI1LTEuMjYgMC0wLjI2MiAwLjA0NTItMC40NzIgMC4wNTY3LTAuMjIgMC4xMTYtMC4zNzggMC4wNjgyLTAuMTY4IDAuMjMxLTAuMzA0IDAuMTU4LTAuMTQ3IDAuMjYyLTAuMjQyIDAuMTE2LTAuMDkxNCAwLjM2OC0wLjE2OCAwLjI2Mi0wLjA5MTQgMC4zOTktMC4xMjYgMC4xMzYtMC4wNDUyIDAuNDcyLTAuMTAzIDAuMzM2LTAuMDU3OCAwLjUwNC0wLjA3OTggMC4xNTgtMC4wMjMxIDAuNTY3LTAuMDc5OCAwLjU1Ni0wLjA2ODIgMC43NzctMC4yMjEgMC4yMi0wLjE1MiAwLjIyLTAuNDQxdi0wLjI1MnEwLTAuNDMtMC4zNTctMC42NjItMC4zMzYtMC4yMzEtMC45NzYtMC4yMzEtMC42NjIgMC0wLjk5OCAwLjI2Mi0wLjMzNiAwLjI1Mi0wLjM5OSAwLjc5OHptMS44OSAzLjY4cTAuNzg4IDAgMS4yNi0wLjQxIDAuNTA0LTAuNDIgMC41MDQtMC45MDN2LTEuMDVxLTAuMjg0IDAuMTM2LTAuODYxIDAuMjMxLTAuNTY3IDAuMDkxNC0wLjk4NyAwLjE1OC0wLjQyIDAuMDY4Mi0wLjc2NiAwLjMyNi0wLjMzNiAwLjI1Mi0wLjMzNiAwLjcwNHQwLjMwNCAwLjcwNCAwLjg2MSAwLjI1MnoiIHN0cm9rZS13aWR0aD0iMS4wNSIvPgogIDxwYXRoIGQ9Im0xMCA0LjU2aDAuOTQ1djMuMTVxMC42NTEtMC45NzYgMS44OS0wLjk3NiAxLjE2IDAgMS44OSAwLjg0IDAuNjgyIDAuODQgMC42ODIgMi4zMSAwIDEuNDctMC43MDQgMi40Mi0wLjcwNCAwLjg4Mi0xLjg5IDAuODgyLTEuMjYgMC0xLjg5LTEuMDJ2MC43NjZoLTAuODV6bTIuNjIgMy4wNHEtMC43NDYgMC0xLjE2IDAuNjQtMC40NTIgMC42My0wLjQ1MiAxLjY4IDAgMS4wNSAwLjQ1MiAxLjY4dDEuMTYgMC42M3EwLjc3NyAwIDEuMjYtMC42MyAwLjQ5NC0wLjY0IDAuNDk0LTEuNjggMC0xLjA1LTAuNDcyLTEuNjgtMC40NjItMC42NC0xLjI2LTAuNjR6IiBzdHJva2Utd2lkdGg9IjEuMDUiLz4KICA8cGF0aCBkPSJtMi43MyAxNS44IDEzLjYgMC4wMDgxYzAuMDA2OSAwIDAtMi42IDAtMi42IDAtMC4wMDc4LTEuMTUgMC0xLjE1IDAtMC4wMDY5IDAtMC4wMDgzIDEuNS0wLjAwODMgMS41LTJlLTMgLTAuMDAxNC0xMS4zLTAuMDAxNC0xMS4zLTAuMDAxNGwtMC4wMDU5Mi0xLjVjMC0wLjAwNzgtMS4xNyAwLjAwMTMtMS4xNyAwLjAwMTN6IiBzdHJva2Utd2lkdGg9Ii45NzUiLz4KIDwvZz4KPC9zdmc+Cg==);
--jp-icon-yaml: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8ZyBjbGFzcz0ianAtaWNvbi1jb250cmFzdDIganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjRDgxQjYwIj4KICAgIDxwYXRoIGQ9Ik03LjIgMTguNnYtNS40TDMgNS42aDMuM2wxLjQgMy4xYy4zLjkuNiAxLjYgMSAyLjUuMy0uOC42LTEuNiAxLTIuNWwxLjQtMy4xaDMuNGwtNC40IDcuNnY1LjVsLTIuOS0uMXoiLz4KICAgIDxjaXJjbGUgY2xhc3M9InN0MCIgY3g9IjE3LjYiIGN5PSIxNi41IiByPSIyLjEiLz4KICAgIDxjaXJjbGUgY2xhc3M9InN0MCIgY3g9IjE3LjYiIGN5PSIxMSIgcj0iMi4xIi8+CiAgPC9nPgo8L3N2Zz4K);
}
/* Icon CSS class declarations */
.jp-AddAboveIcon {
background-image: var(--jp-icon-add-above);
}
.jp-AddBelowIcon {
background-image: var(--jp-icon-add-below);
}
.jp-AddIcon {
background-image: var(--jp-icon-add);
}
.jp-BellIcon {
background-image: var(--jp-icon-bell);
}
.jp-BugDotIcon {
background-image: var(--jp-icon-bug-dot);
}
.jp-BugIcon {
background-image: var(--jp-icon-bug);
}
.jp-BuildIcon {
background-image: var(--jp-icon-build);
}
.jp-CaretDownEmptyIcon {
background-image: var(--jp-icon-caret-down-empty);
}
.jp-CaretDownEmptyThinIcon {
background-image: var(--jp-icon-caret-down-empty-thin);
}
.jp-CaretDownIcon {
background-image: var(--jp-icon-caret-down);
}
.jp-CaretLeftIcon {
background-image: var(--jp-icon-caret-left);
}
.jp-CaretRightIcon {
background-image: var(--jp-icon-caret-right);
}
.jp-CaretUpEmptyThinIcon {
background-image: var(--jp-icon-caret-up-empty-thin);
}
.jp-CaretUpIcon {
background-image: var(--jp-icon-caret-up);
}
.jp-CaseSensitiveIcon {
background-image: var(--jp-icon-case-sensitive);
}
.jp-CheckIcon {
background-image: var(--jp-icon-check);
}
.jp-CircleEmptyIcon {
background-image: var(--jp-icon-circle-empty);
}
.jp-CircleIcon {
background-image: var(--jp-icon-circle);
}
.jp-ClearIcon {
background-image: var(--jp-icon-clear);
}
.jp-CloseIcon {
background-image: var(--jp-icon-close);
}
.jp-CodeCheckIcon {
background-image: var(--jp-icon-code-check);
}
.jp-CodeIcon {
background-image: var(--jp-icon-code);
}
.jp-CollapseAllIcon {
background-image: var(--jp-icon-collapse-all);
}
.jp-ConsoleIcon {
background-image: var(--jp-icon-console);
}
.jp-CopyIcon {
background-image: var(--jp-icon-copy);
}
.jp-CopyrightIcon {
background-image: var(--jp-icon-copyright);
}
.jp-CutIcon {
background-image: var(--jp-icon-cut);
}
.jp-DeleteIcon {
background-image: var(--jp-icon-delete);
}
.jp-DownloadIcon {
background-image: var(--jp-icon-download);
}
.jp-DuplicateIcon {
background-image: var(--jp-icon-duplicate);
}
.jp-EditIcon {
background-image: var(--jp-icon-edit);
}
.jp-EllipsesIcon {
background-image: var(--jp-icon-ellipses);
}
.jp-ErrorIcon {
background-image: var(--jp-icon-error);
}
.jp-ExpandAllIcon {
background-image: var(--jp-icon-expand-all);
}
.jp-ExtensionIcon {
background-image: var(--jp-icon-extension);
}
.jp-FastForwardIcon {
background-image: var(--jp-icon-fast-forward);
}
.jp-FileIcon {
background-image: var(--jp-icon-file);
}
.jp-FileUploadIcon {
background-image: var(--jp-icon-file-upload);
}
.jp-FilterDotIcon {
background-image: var(--jp-icon-filter-dot);
}
.jp-FilterIcon {
background-image: var(--jp-icon-filter);
}
.jp-FilterListIcon {
background-image: var(--jp-icon-filter-list);
}
.jp-FolderFavoriteIcon {
background-image: var(--jp-icon-folder-favorite);
}
.jp-FolderIcon {
background-image: var(--jp-icon-folder);
}
.jp-HomeIcon {
background-image: var(--jp-icon-home);
}
.jp-Html5Icon {
background-image: var(--jp-icon-html5);
}
.jp-ImageIcon {
background-image: var(--jp-icon-image);
}
.jp-InfoIcon {
background-image: var(--jp-icon-info);
}
.jp-InspectorIcon {
background-image: var(--jp-icon-inspector);
}
.jp-JsonIcon {
background-image: var(--jp-icon-json);
}
.jp-JuliaIcon {
background-image: var(--jp-icon-julia);
}
.jp-JupyterFaviconIcon {
background-image: var(--jp-icon-jupyter-favicon);
}
.jp-JupyterIcon {
background-image: var(--jp-icon-jupyter);
}
.jp-JupyterlabWordmarkIcon {
background-image: var(--jp-icon-jupyterlab-wordmark);
}
.jp-KernelIcon {
background-image: var(--jp-icon-kernel);
}
.jp-KeyboardIcon {
background-image: var(--jp-icon-keyboard);
}
.jp-LaunchIcon {
background-image: var(--jp-icon-launch);
}
.jp-LauncherIcon {
background-image: var(--jp-icon-launcher);
}
.jp-LineFormIcon {
background-image: var(--jp-icon-line-form);
}
.jp-LinkIcon {
background-image: var(--jp-icon-link);
}
.jp-ListIcon {
background-image: var(--jp-icon-list);
}
.jp-MarkdownIcon {
background-image: var(--jp-icon-markdown);
}
.jp-MoveDownIcon {
background-image: var(--jp-icon-move-down);
}
.jp-MoveUpIcon {
background-image: var(--jp-icon-move-up);
}
.jp-NewFolderIcon {
background-image: var(--jp-icon-new-folder);
}
.jp-NotTrustedIcon {
background-image: var(--jp-icon-not-trusted);
}
.jp-NotebookIcon {
background-image: var(--jp-icon-notebook);
}
.jp-NumberingIcon {
background-image: var(--jp-icon-numbering);
}
.jp-OfflineBoltIcon {
background-image: var(--jp-icon-offline-bolt);
}
.jp-PaletteIcon {
background-image: var(--jp-icon-palette);
}
.jp-PasteIcon {
background-image: var(--jp-icon-paste);
}
.jp-PdfIcon {
background-image: var(--jp-icon-pdf);
}
.jp-PythonIcon {
background-image: var(--jp-icon-python);
}
.jp-RKernelIcon {
background-image: var(--jp-icon-r-kernel);
}
.jp-ReactIcon {
background-image: var(--jp-icon-react);
}
.jp-RedoIcon {
background-image: var(--jp-icon-redo);
}
.jp-RefreshIcon {
background-image: var(--jp-icon-refresh);
}
.jp-RegexIcon {
background-image: var(--jp-icon-regex);
}
.jp-RunIcon {
background-image: var(--jp-icon-run);
}
.jp-RunningIcon {
background-image: var(--jp-icon-running);
}
.jp-SaveIcon {
background-image: var(--jp-icon-save);
}
.jp-SearchIcon {
background-image: var(--jp-icon-search);
}
.jp-SettingsIcon {
background-image: var(--jp-icon-settings);
}
.jp-ShareIcon {
background-image: var(--jp-icon-share);
}
.jp-SpreadsheetIcon {
background-image: var(--jp-icon-spreadsheet);
}
.jp-StopIcon {
background-image: var(--jp-icon-stop);
}
.jp-TabIcon {
background-image: var(--jp-icon-tab);
}
.jp-TableRowsIcon {
background-image: var(--jp-icon-table-rows);
}
.jp-TagIcon {
background-image: var(--jp-icon-tag);
}
.jp-TerminalIcon {
background-image: var(--jp-icon-terminal);
}
.jp-TextEditorIcon {
background-image: var(--jp-icon-text-editor);
}
.jp-TocIcon {
background-image: var(--jp-icon-toc);
}
.jp-TreeViewIcon {
background-image: var(--jp-icon-tree-view);
}
.jp-TrustedIcon {
background-image: var(--jp-icon-trusted);
}
.jp-UndoIcon {
background-image: var(--jp-icon-undo);
}
.jp-UserIcon {
background-image: var(--jp-icon-user);
}
.jp-UsersIcon {
background-image: var(--jp-icon-users);
}
.jp-VegaIcon {
background-image: var(--jp-icon-vega);
}
.jp-WordIcon {
background-image: var(--jp-icon-word);
}
.jp-YamlIcon {
background-image: var(--jp-icon-yaml);
}
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
/**
* (DEPRECATED) Support for consuming icons as CSS background images
*/
.jp-Icon,
.jp-MaterialIcon {
background-position: center;
background-repeat: no-repeat;
background-size: 16px;
min-width: 16px;
min-height: 16px;
}
.jp-Icon-cover {
background-position: center;
background-repeat: no-repeat;
background-size: cover;
}
/**
* (DEPRECATED) Support for specific CSS icon sizes
*/
.jp-Icon-16 {
background-size: 16px;
min-width: 16px;
min-height: 16px;
}
.jp-Icon-18 {
background-size: 18px;
min-width: 18px;
min-height: 18px;
}
.jp-Icon-20 {
background-size: 20px;
min-width: 20px;
min-height: 20px;
}
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
.lm-TabBar .lm-TabBar-addButton {
align-items: center;
display: flex;
padding: 4px;
padding-bottom: 5px;
margin-right: 1px;
background-color: var(--jp-layout-color2);
}
.lm-TabBar .lm-TabBar-addButton:hover {
background-color: var(--jp-layout-color1);
}
.lm-DockPanel-tabBar .lm-TabBar-tab {
width: var(--jp-private-horizontal-tab-width);
}
.lm-DockPanel-tabBar .lm-TabBar-content {
flex: unset;
}
.lm-DockPanel-tabBar[data-orientation='horizontal'] {
flex: 1 1 auto;
}
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
/**
* Support for icons as inline SVG HTMLElements
*/
/* recolor the primary elements of an icon */
.jp-icon0[fill] {
fill: var(--jp-inverse-layout-color0);
}
.jp-icon1[fill] {
fill: var(--jp-inverse-layout-color1);
}
.jp-icon2[fill] {
fill: var(--jp-inverse-layout-color2);
}
.jp-icon3[fill] {
fill: var(--jp-inverse-layout-color3);
}
.jp-icon4[fill] {
fill: var(--jp-inverse-layout-color4);
}
.jp-icon0[stroke] {
stroke: var(--jp-inverse-layout-color0);
}
.jp-icon1[stroke] {
stroke: var(--jp-inverse-layout-color1);
}
.jp-icon2[stroke] {
stroke: var(--jp-inverse-layout-color2);
}
.jp-icon3[stroke] {
stroke: var(--jp-inverse-layout-color3);
}
.jp-icon4[stroke] {
stroke: var(--jp-inverse-layout-color4);
}
/* recolor the accent elements of an icon */
.jp-icon-accent0[fill] {
fill: var(--jp-layout-color0);
}
.jp-icon-accent1[fill] {
fill: var(--jp-layout-color1);
}
.jp-icon-accent2[fill] {
fill: var(--jp-layout-color2);
}
.jp-icon-accent3[fill] {
fill: var(--jp-layout-color3);
}
.jp-icon-accent4[fill] {
fill: var(--jp-layout-color4);
}
.jp-icon-accent0[stroke] {
stroke: var(--jp-layout-color0);
}
.jp-icon-accent1[stroke] {
stroke: var(--jp-layout-color1);
}
.jp-icon-accent2[stroke] {
stroke: var(--jp-layout-color2);
}
.jp-icon-accent3[stroke] {
stroke: var(--jp-layout-color3);
}
.jp-icon-accent4[stroke] {
stroke: var(--jp-layout-color4);
}
/* set the color of an icon to transparent */
.jp-icon-none[fill] {
fill: none;
}
.jp-icon-none[stroke] {
stroke: none;
}
/* brand icon colors. Same for light and dark */
.jp-icon-brand0[fill] {
fill: var(--jp-brand-color0);
}
.jp-icon-brand1[fill] {
fill: var(--jp-brand-color1);
}
.jp-icon-brand2[fill] {
fill: var(--jp-brand-color2);
}
.jp-icon-brand3[fill] {
fill: var(--jp-brand-color3);
}
.jp-icon-brand4[fill] {
fill: var(--jp-brand-color4);
}
.jp-icon-brand0[stroke] {
stroke: var(--jp-brand-color0);
}
.jp-icon-brand1[stroke] {
stroke: var(--jp-brand-color1);
}
.jp-icon-brand2[stroke] {
stroke: var(--jp-brand-color2);
}
.jp-icon-brand3[stroke] {
stroke: var(--jp-brand-color3);
}
.jp-icon-brand4[stroke] {
stroke: var(--jp-brand-color4);
}
/* warn icon colors. Same for light and dark */
.jp-icon-warn0[fill] {
fill: var(--jp-warn-color0);
}
.jp-icon-warn1[fill] {
fill: var(--jp-warn-color1);
}
.jp-icon-warn2[fill] {
fill: var(--jp-warn-color2);
}
.jp-icon-warn3[fill] {
fill: var(--jp-warn-color3);
}
.jp-icon-warn0[stroke] {
stroke: var(--jp-warn-color0);
}
.jp-icon-warn1[stroke] {
stroke: var(--jp-warn-color1);
}
.jp-icon-warn2[stroke] {
stroke: var(--jp-warn-color2);
}
.jp-icon-warn3[stroke] {
stroke: var(--jp-warn-color3);
}
/* icon colors that contrast well with each other and most backgrounds */
.jp-icon-contrast0[fill] {
fill: var(--jp-icon-contrast-color0);
}
.jp-icon-contrast1[fill] {
fill: var(--jp-icon-contrast-color1);
}
.jp-icon-contrast2[fill] {
fill: var(--jp-icon-contrast-color2);
}
.jp-icon-contrast3[fill] {
fill: var(--jp-icon-contrast-color3);
}
.jp-icon-contrast0[stroke] {
stroke: var(--jp-icon-contrast-color0);
}
.jp-icon-contrast1[stroke] {
stroke: var(--jp-icon-contrast-color1);
}
.jp-icon-contrast2[stroke] {
stroke: var(--jp-icon-contrast-color2);
}
.jp-icon-contrast3[stroke] {
stroke: var(--jp-icon-contrast-color3);
}
.jp-icon-dot[fill] {
fill: var(--jp-warn-color0);
}
.jp-jupyter-icon-color[fill] {
fill: var(--jp-jupyter-icon-color, var(--jp-warn-color0));
}
.jp-notebook-icon-color[fill] {
fill: var(--jp-notebook-icon-color, var(--jp-warn-color0));
}
.jp-json-icon-color[fill] {
fill: var(--jp-json-icon-color, var(--jp-warn-color1));
}
.jp-console-icon-color[fill] {
fill: var(--jp-console-icon-color, white);
}
.jp-console-icon-background-color[fill] {
fill: var(--jp-console-icon-background-color, var(--jp-brand-color1));
}
.jp-terminal-icon-color[fill] {
fill: var(--jp-terminal-icon-color, var(--jp-layout-color2));
}
.jp-terminal-icon-background-color[fill] {
fill: var(
--jp-terminal-icon-background-color,
var(--jp-inverse-layout-color2)
);
}
.jp-text-editor-icon-color[fill] {
fill: var(--jp-text-editor-icon-color, var(--jp-inverse-layout-color3));
}
.jp-inspector-icon-color[fill] {
fill: var(--jp-inspector-icon-color, var(--jp-inverse-layout-color3));
}
/* CSS for icons in selected filebrowser listing items */
.jp-DirListing-item.jp-mod-selected .jp-icon-selectable[fill] {
fill: #fff;
}
.jp-DirListing-item.jp-mod-selected .jp-icon-selectable-inverse[fill] {
fill: var(--jp-brand-color1);
}
/* stylelint-disable selector-max-class, selector-max-compound-selectors */
/**
* TODO: come up with non css-hack solution for showing the busy icon on top
* of the close icon
* CSS for complex behavior of close icon of tabs in the main area tabbar
*/
.lm-DockPanel-tabBar
.lm-TabBar-tab.lm-mod-closable.jp-mod-dirty
> .lm-TabBar-tabCloseIcon
> :not(:hover)
> .jp-icon3[fill] {
fill: none;
}
.lm-DockPanel-tabBar
.lm-TabBar-tab.lm-mod-closable.jp-mod-dirty
> .lm-TabBar-tabCloseIcon
> :not(:hover)
> .jp-icon-busy[fill] {
fill: var(--jp-inverse-layout-color3);
}
/* stylelint-enable selector-max-class, selector-max-compound-selectors */
/* CSS for icons in status bar */
#jp-main-statusbar .jp-mod-selected .jp-icon-selectable[fill] {
fill: #fff;
}
#jp-main-statusbar .jp-mod-selected .jp-icon-selectable-inverse[fill] {
fill: var(--jp-brand-color1);
}
/* special handling for splash icon CSS. While the theme CSS reloads during
splash, the splash icon can loose theming. To prevent that, we set a
default for its color variable */
:root {
--jp-warn-color0: var(--md-orange-700);
}
/* not sure what to do with this one, used in filebrowser listing */
.jp-DragIcon {
margin-right: 4px;
}
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
/**
* Support for alt colors for icons as inline SVG HTMLElements
*/
/* alt recolor the primary elements of an icon */
.jp-icon-alt .jp-icon0[fill] {
fill: var(--jp-layout-color0);
}
.jp-icon-alt .jp-icon1[fill] {
fill: var(--jp-layout-color1);
}
.jp-icon-alt .jp-icon2[fill] {
fill: var(--jp-layout-color2);
}
.jp-icon-alt .jp-icon3[fill] {
fill: var(--jp-layout-color3);
}
.jp-icon-alt .jp-icon4[fill] {
fill: var(--jp-layout-color4);
}
.jp-icon-alt .jp-icon0[stroke] {
stroke: var(--jp-layout-color0);
}
.jp-icon-alt .jp-icon1[stroke] {
stroke: var(--jp-layout-color1);
}
.jp-icon-alt .jp-icon2[stroke] {
stroke: var(--jp-layout-color2);
}
.jp-icon-alt .jp-icon3[stroke] {
stroke: var(--jp-layout-color3);
}
.jp-icon-alt .jp-icon4[stroke] {
stroke: var(--jp-layout-color4);
}
/* alt recolor the accent elements of an icon */
.jp-icon-alt .jp-icon-accent0[fill] {
fill: var(--jp-inverse-layout-color0);
}
.jp-icon-alt .jp-icon-accent1[fill] {
fill: var(--jp-inverse-layout-color1);
}
.jp-icon-alt .jp-icon-accent2[fill] {
fill: var(--jp-inverse-layout-color2);
}
.jp-icon-alt .jp-icon-accent3[fill] {
fill: var(--jp-inverse-layout-color3);
}
.jp-icon-alt .jp-icon-accent4[fill] {
fill: var(--jp-inverse-layout-color4);
}
.jp-icon-alt .jp-icon-accent0[stroke] {
stroke: var(--jp-inverse-layout-color0);
}
.jp-icon-alt .jp-icon-accent1[stroke] {
stroke: var(--jp-inverse-layout-color1);
}
.jp-icon-alt .jp-icon-accent2[stroke] {
stroke: var(--jp-inverse-layout-color2);
}
.jp-icon-alt .jp-icon-accent3[stroke] {
stroke: var(--jp-inverse-layout-color3);
}
.jp-icon-alt .jp-icon-accent4[stroke] {
stroke: var(--jp-inverse-layout-color4);
}
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
.jp-icon-hoverShow:not(:hover) .jp-icon-hoverShow-content {
display: none !important;
}
/**
* Support for hover colors for icons as inline SVG HTMLElements
*/
/**
* regular colors
*/
/* recolor the primary elements of an icon */
.jp-icon-hover :hover .jp-icon0-hover[fill] {
fill: var(--jp-inverse-layout-color0);
}
.jp-icon-hover :hover .jp-icon1-hover[fill] {
fill: var(--jp-inverse-layout-color1);
}
.jp-icon-hover :hover .jp-icon2-hover[fill] {
fill: var(--jp-inverse-layout-color2);
}
.jp-icon-hover :hover .jp-icon3-hover[fill] {
fill: var(--jp-inverse-layout-color3);
}
.jp-icon-hover :hover .jp-icon4-hover[fill] {
fill: var(--jp-inverse-layout-color4);
}
.jp-icon-hover :hover .jp-icon0-hover[stroke] {
stroke: var(--jp-inverse-layout-color0);
}
.jp-icon-hover :hover .jp-icon1-hover[stroke] {
stroke: var(--jp-inverse-layout-color1);
}
.jp-icon-hover :hover .jp-icon2-hover[stroke] {
stroke: var(--jp-inverse-layout-color2);
}
.jp-icon-hover :hover .jp-icon3-hover[stroke] {
stroke: var(--jp-inverse-layout-color3);
}
.jp-icon-hover :hover .jp-icon4-hover[stroke] {
stroke: var(--jp-inverse-layout-color4);
}
/* recolor the accent elements of an icon */
.jp-icon-hover :hover .jp-icon-accent0-hover[fill] {
fill: var(--jp-layout-color0);
}
.jp-icon-hover :hover .jp-icon-accent1-hover[fill] {
fill: var(--jp-layout-color1);
}
.jp-icon-hover :hover .jp-icon-accent2-hover[fill] {
fill: var(--jp-layout-color2);
}
.jp-icon-hover :hover .jp-icon-accent3-hover[fill] {
fill: var(--jp-layout-color3);
}
.jp-icon-hover :hover .jp-icon-accent4-hover[fill] {
fill: var(--jp-layout-color4);
}
.jp-icon-hover :hover .jp-icon-accent0-hover[stroke] {
stroke: var(--jp-layout-color0);
}
.jp-icon-hover :hover .jp-icon-accent1-hover[stroke] {
stroke: var(--jp-layout-color1);
}
.jp-icon-hover :hover .jp-icon-accent2-hover[stroke] {
stroke: var(--jp-layout-color2);
}
.jp-icon-hover :hover .jp-icon-accent3-hover[stroke] {
stroke: var(--jp-layout-color3);
}
.jp-icon-hover :hover .jp-icon-accent4-hover[stroke] {
stroke: var(--jp-layout-color4);
}
/* set the color of an icon to transparent */
.jp-icon-hover :hover .jp-icon-none-hover[fill] {
fill: none;
}
.jp-icon-hover :hover .jp-icon-none-hover[stroke] {
stroke: none;
}
/**
* inverse colors
*/
/* inverse recolor the primary elements of an icon */
.jp-icon-hover.jp-icon-alt :hover .jp-icon0-hover[fill] {
fill: var(--jp-layout-color0);
}
.jp-icon-hover.jp-icon-alt :hover .jp-icon1-hover[fill] {
fill: var(--jp-layout-color1);
}
.jp-icon-hover.jp-icon-alt :hover .jp-icon2-hover[fill] {
fill: var(--jp-layout-color2);
}
.jp-icon-hover.jp-icon-alt :hover .jp-icon3-hover[fill] {
fill: var(--jp-layout-color3);
}
.jp-icon-hover.jp-icon-alt :hover .jp-icon4-hover[fill] {
fill: var(--jp-layout-color4);
}
.jp-icon-hover.jp-icon-alt :hover .jp-icon0-hover[stroke] {
stroke: var(--jp-layout-color0);
}
.jp-icon-hover.jp-icon-alt :hover .jp-icon1-hover[stroke] {
stroke: var(--jp-layout-color1);
}
.jp-icon-hover.jp-icon-alt :hover .jp-icon2-hover[stroke] {
stroke: var(--jp-layout-color2);
}
.jp-icon-hover.jp-icon-alt :hover .jp-icon3-hover[stroke] {
stroke: var(--jp-layout-color3);
}
.jp-icon-hover.jp-icon-alt :hover .jp-icon4-hover[stroke] {
stroke: var(--jp-layout-color4);
}
/* inverse recolor the accent elements of an icon */
.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent0-hover[fill] {
fill: var(--jp-inverse-layout-color0);
}
.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent1-hover[fill] {
fill: var(--jp-inverse-layout-color1);
}
.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent2-hover[fill] {
fill: var(--jp-inverse-layout-color2);
}
.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent3-hover[fill] {
fill: var(--jp-inverse-layout-color3);
}
.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent4-hover[fill] {
fill: var(--jp-inverse-layout-color4);
}
.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent0-hover[stroke] {
stroke: var(--jp-inverse-layout-color0);
}
.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent1-hover[stroke] {
stroke: var(--jp-inverse-layout-color1);
}
.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent2-hover[stroke] {
stroke: var(--jp-inverse-layout-color2);
}
.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent3-hover[stroke] {
stroke: var(--jp-inverse-layout-color3);
}
.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent4-hover[stroke] {
stroke: var(--jp-inverse-layout-color4);
}
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
.jp-IFrame {
width: 100%;
height: 100%;
}
.jp-IFrame > iframe {
border: none;
}
/*
When drag events occur, `lm-mod-override-cursor` is added to the body.
Because iframes steal all cursor events, the following two rules are necessary
to suppress pointer events while resize drags are occurring. There may be a
better solution to this problem.
*/
body.lm-mod-override-cursor .jp-IFrame {
position: relative;
}
body.lm-mod-override-cursor .jp-IFrame::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: transparent;
}
/*-----------------------------------------------------------------------------
| Copyright (c) 2014-2016, Jupyter Development Team.
|
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
.jp-HoverBox {
position: fixed;
}
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
.jp-FormGroup-content fieldset {
border: none;
padding: 0;
min-width: 0;
width: 100%;
}
/* stylelint-disable selector-max-type */
.jp-FormGroup-content fieldset .jp-inputFieldWrapper input,
.jp-FormGroup-content fieldset .jp-inputFieldWrapper select,
.jp-FormGroup-content fieldset .jp-inputFieldWrapper textarea {
font-size: var(--jp-content-font-size2);
border-color: var(--jp-input-border-color);
border-style: solid;
border-radius: var(--jp-border-radius);
border-width: 1px;
padding: 6px 8px;
background: none;
color: var(--jp-ui-font-color0);
height: inherit;
}
.jp-FormGroup-content fieldset input[type='checkbox'] {
position: relative;
top: 2px;
margin-left: 0;
}
.jp-FormGroup-content button.jp-mod-styled {
cursor: pointer;
}
.jp-FormGroup-content .checkbox label {
cursor: pointer;
font-size: var(--jp-content-font-size1);
}
.jp-FormGroup-content .jp-root > fieldset > legend {
display: none;
}
.jp-FormGroup-content .jp-root > fieldset > p {
display: none;
}
/** copy of `input.jp-mod-styled:focus` style */
.jp-FormGroup-content fieldset input:focus,
.jp-FormGroup-content fieldset select:focus {
-moz-outline-radius: unset;
outline: var(--jp-border-width) solid var(--md-blue-500);
outline-offset: -1px;
box-shadow: inset 0 0 4px var(--md-blue-300);
}
.jp-FormGroup-content fieldset input:hover:not(:focus),
.jp-FormGroup-content fieldset select:hover:not(:focus) {
background-color: var(--jp-border-color2);
}
/* stylelint-enable selector-max-type */
.jp-FormGroup-content .checkbox .field-description {
/* Disable default description field for checkbox:
because other widgets do not have description fields,
we add descriptions to each widget on the field level.
*/
display: none;
}
.jp-FormGroup-content #root__description {
display: none;
}
.jp-FormGroup-content .jp-modifiedIndicator {
width: 5px;
background-color: var(--jp-brand-color2);
margin-top: 0;
margin-left: calc(var(--jp-private-settingeditor-modifier-indent) * -1);
flex-shrink: 0;
}
.jp-FormGroup-content .jp-modifiedIndicator.jp-errorIndicator {
background-color: var(--jp-error-color0);
margin-right: 0.5em;
}
/* RJSF ARRAY style */
.jp-arrayFieldWrapper legend {
font-size: var(--jp-content-font-size2);
color: var(--jp-ui-font-color0);
flex-basis: 100%;
padding: 4px 0;
font-weight: var(--jp-content-heading-font-weight);
border-bottom: 1px solid var(--jp-border-color2);
}
.jp-arrayFieldWrapper .field-description {
padding: 4px 0;
white-space: pre-wrap;
}
.jp-arrayFieldWrapper .array-item {
width: 100%;
border: 1px solid var(--jp-border-color2);
border-radius: 4px;
margin: 4px;
}
.jp-ArrayOperations {
display: flex;
margin-left: 8px;
}
.jp-ArrayOperationsButton {
margin: 2px;
}
.jp-ArrayOperationsButton .jp-icon3[fill] {
fill: var(--jp-ui-font-color0);
}
button.jp-ArrayOperationsButton.jp-mod-styled:disabled {
cursor: not-allowed;
opacity: 0.5;
}
/* RJSF form validation error */
.jp-FormGroup-content .validationErrors {
color: var(--jp-error-color0);
}
/* Hide panel level error as duplicated the field level error */
.jp-FormGroup-content .panel.errors {
display: none;
}
/* RJSF normal content (settings-editor) */
.jp-FormGroup-contentNormal {
display: flex;
align-items: center;
flex-wrap: wrap;
}
.jp-FormGroup-contentNormal .jp-FormGroup-contentItem {
margin-left: 7px;
color: var(--jp-ui-font-color0);
}
.jp-FormGroup-contentNormal .jp-FormGroup-description {
flex-basis: 100%;
padding: 4px 7px;
}
.jp-FormGroup-contentNormal .jp-FormGroup-default {
flex-basis: 100%;
padding: 4px 7px;
}
.jp-FormGroup-contentNormal .jp-FormGroup-fieldLabel {
font-size: var(--jp-content-font-size1);
font-weight: normal;
min-width: 120px;
}
.jp-FormGroup-contentNormal fieldset:not(:first-child) {
margin-left: 7px;
}
.jp-FormGroup-contentNormal .field-array-of-string .array-item {
/* Display `jp-ArrayOperations` buttons side-by-side with content except
for small screens where flex-wrap will place them one below the other.
*/
display: flex;
align-items: center;
flex-wrap: wrap;
}
.jp-FormGroup-contentNormal .jp-objectFieldWrapper .form-group {
padding: 2px 8px 2px var(--jp-private-settingeditor-modifier-indent);
margin-top: 2px;
}
/* RJSF compact content (metadata-form) */
.jp-FormGroup-content.jp-FormGroup-contentCompact {
width: 100%;
}
.jp-FormGroup-contentCompact .form-group {
display: flex;
padding: 0.5em 0.2em 0.5em 0;
}
.jp-FormGroup-contentCompact
.jp-FormGroup-compactTitle
.jp-FormGroup-description {
font-size: var(--jp-ui-font-size1);
color: var(--jp-ui-font-color2);
}
.jp-FormGroup-contentCompact .jp-FormGroup-fieldLabel {
padding-bottom: 0.3em;
}
.jp-FormGroup-contentCompact .jp-inputFieldWrapper .form-control {
width: 100%;
box-sizing: border-box;
}
.jp-FormGroup-contentCompact .jp-arrayFieldWrapper .jp-FormGroup-compactTitle {
padding-bottom: 7px;
}
.jp-FormGroup-contentCompact
.jp-objectFieldWrapper
.jp-objectFieldWrapper
.form-group {
padding: 2px 8px 2px var(--jp-private-settingeditor-modifier-indent);
margin-top: 2px;
}
.jp-FormGroup-contentCompact ul.error-detail {
margin-block-start: 0.5em;
margin-block-end: 0.5em;
padding-inline-start: 1em;
}
/*
* Copyright (c) Jupyter Development Team.
* Distributed under the terms of the Modified BSD License.
*/
.jp-SidePanel {
display: flex;
flex-direction: column;
min-width: var(--jp-sidebar-min-width);
overflow-y: auto;
color: var(--jp-ui-font-color1);
background: var(--jp-layout-color1);
font-size: var(--jp-ui-font-size1);
}
.jp-SidePanel-header {
flex: 0 0 auto;
display: flex;
border-bottom: var(--jp-border-width) solid var(--jp-border-color2);
font-size: var(--jp-ui-font-size0);
font-weight: 600;
letter-spacing: 1px;
margin: 0;
padding: 2px;
text-transform: uppercase;
}
.jp-SidePanel-toolbar {
flex: 0 0 auto;
}
.jp-SidePanel-content {
flex: 1 1 auto;
}
.jp-SidePanel-toolbar,
.jp-AccordionPanel-toolbar {
height: var(--jp-private-toolbar-height);
}
.jp-SidePanel-toolbar.jp-Toolbar-micro {
display: none;
}
.lm-AccordionPanel .jp-AccordionPanel-title {
box-sizing: border-box;
line-height: 25px;
margin: 0;
display: flex;
align-items: center;
background: var(--jp-layout-color1);
color: var(--jp-ui-font-color1);
border-bottom: var(--jp-border-width) solid var(--jp-toolbar-border-color);
box-shadow: var(--jp-toolbar-box-shadow);
font-size: var(--jp-ui-font-size0);
}
.jp-AccordionPanel-title {
cursor: pointer;
user-select: none;
-moz-user-select: none;
-webkit-user-select: none;
text-transform: uppercase;
}
.lm-AccordionPanel[data-orientation='horizontal'] > .jp-AccordionPanel-title {
/* Title is rotated for horizontal accordion panel using CSS */
display: block;
transform-origin: top left;
transform: rotate(-90deg) translate(-100%);
}
.jp-AccordionPanel-title .lm-AccordionPanel-titleLabel {
user-select: none;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
}
.jp-AccordionPanel-title .lm-AccordionPanel-titleCollapser {
transform: rotate(-90deg);
margin: auto 0;
height: 16px;
}
.jp-AccordionPanel-title.lm-mod-expanded .lm-AccordionPanel-titleCollapser {
transform: rotate(0deg);
}
.lm-AccordionPanel .jp-AccordionPanel-toolbar {
background: none;
box-shadow: none;
border: none;
margin-left: auto;
}
.lm-AccordionPanel .lm-SplitPanel-handle:hover {
background: var(--jp-layout-color3);
}
.jp-text-truncated {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
/*-----------------------------------------------------------------------------
| Copyright (c) 2017, Jupyter Development Team.
|
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
.jp-Spinner {
position: absolute;
display: flex;
justify-content: center;
align-items: center;
z-index: 10;
left: 0;
top: 0;
width: 100%;
height: 100%;
background: var(--jp-layout-color0);
outline: none;
}
.jp-SpinnerContent {
font-size: 10px;
margin: 50px auto;
text-indent: -9999em;
width: 3em;
height: 3em;
border-radius: 50%;
background: var(--jp-brand-color3);
background: linear-gradient(
to right,
#f37626 10%,
rgba(255, 255, 255, 0) 42%
);
position: relative;
animation: load3 1s infinite linear, fadeIn 1s;
}
.jp-SpinnerContent::before {
width: 50%;
height: 50%;
background: #f37626;
border-radius: 100% 0 0;
position: absolute;
top: 0;
left: 0;
content: '';
}
.jp-SpinnerContent::after {
background: var(--jp-layout-color0);
width: 75%;
height: 75%;
border-radius: 50%;
content: '';
margin: auto;
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0;
}
@keyframes fadeIn {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}
@keyframes load3 {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
/*-----------------------------------------------------------------------------
| Copyright (c) 2014-2017, Jupyter Development Team.
|
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
button.jp-mod-styled {
font-size: var(--jp-ui-font-size1);
color: var(--jp-ui-font-color0);
border: none;
box-sizing: border-box;
text-align: center;
line-height: 32px;
height: 32px;
padding: 0 12px;
letter-spacing: 0.8px;
outline: none;
appearance: none;
-webkit-appearance: none;
-moz-appearance: none;
}
input.jp-mod-styled {
background: var(--jp-input-background);
height: 28px;
box-sizing: border-box;
border: var(--jp-border-width) solid var(--jp-border-color1);
padding-left: 7px;
padding-right: 7px;
font-size: var(--jp-ui-font-size2);
color: var(--jp-ui-font-color0);
outline: none;
appearance: none;
-webkit-appearance: none;
-moz-appearance: none;
}
input[type='checkbox'].jp-mod-styled {
appearance: checkbox;
-webkit-appearance: checkbox;
-moz-appearance: checkbox;
height: auto;
}
input.jp-mod-styled:focus {
border: var(--jp-border-width) solid var(--md-blue-500);
box-shadow: inset 0 0 4px var(--md-blue-300);
}
.jp-select-wrapper {
display: flex;
position: relative;
flex-direction: column;
padding: 1px;
background-color: var(--jp-layout-color1);
box-sizing: border-box;
margin-bottom: 12px;
}
.jp-select-wrapper:not(.multiple) {
height: 28px;
}
.jp-select-wrapper.jp-mod-focused select.jp-mod-styled {
border: var(--jp-border-width) solid var(--jp-input-active-border-color);
box-shadow: var(--jp-input-box-shadow);
background-color: var(--jp-input-active-background);
}
select.jp-mod-styled:hover {
cursor: pointer;
color: var(--jp-ui-font-color0);
background-color: var(--jp-input-hover-background);
box-shadow: inset 0 0 1px rgba(0, 0, 0, 0.5);
}
select.jp-mod-styled {
flex: 1 1 auto;
width: 100%;
font-size: var(--jp-ui-font-size2);
background: var(--jp-input-background);
color: var(--jp-ui-font-color0);
padding: 0 25px 0 8px;
border: var(--jp-border-width) solid var(--jp-input-border-color);
border-radius: 0;
outline: none;
appearance: none;
-webkit-appearance: none;
-moz-appearance: none;
}
select.jp-mod-styled:not([multiple]) {
height: 32px;
}
select.jp-mod-styled[multiple] {
max-height: 200px;
overflow-y: auto;
}
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
.jp-switch {
display: flex;
align-items: center;
padding-left: 4px;
padding-right: 4px;
font-size: var(--jp-ui-font-size1);
background-color: transparent;
color: var(--jp-ui-font-color1);
border: none;
height: 20px;
}
.jp-switch:hover {
background-color: var(--jp-layout-color2);
}
.jp-switch-label {
margin-right: 5px;
font-family: var(--jp-ui-font-family);
}
.jp-switch-track {
cursor: pointer;
background-color: var(--jp-switch-color, var(--jp-border-color1));
-webkit-transition: 0.4s;
transition: 0.4s;
border-radius: 34px;
height: 16px;
width: 35px;
position: relative;
}
.jp-switch-track::before {
content: '';
position: absolute;
height: 10px;
width: 10px;
margin: 3px;
left: 0;
background-color: var(--jp-ui-inverse-font-color1);
-webkit-transition: 0.4s;
transition: 0.4s;
border-radius: 50%;
}
.jp-switch[aria-checked='true'] .jp-switch-track {
background-color: var(--jp-switch-true-position-color, var(--jp-warn-color0));
}
.jp-switch[aria-checked='true'] .jp-switch-track::before {
/* track width (35) - margins (3 + 3) - thumb width (10) */
left: 19px;
}
/*-----------------------------------------------------------------------------
| Copyright (c) 2014-2016, Jupyter Development Team.
|
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
:root {
--jp-private-toolbar-height: calc(
28px + var(--jp-border-width)
); /* leave 28px for content */
}
.jp-Toolbar {
color: var(--jp-ui-font-color1);
flex: 0 0 auto;
display: flex;
flex-direction: row;
border-bottom: var(--jp-border-width) solid var(--jp-toolbar-border-color);
box-shadow: var(--jp-toolbar-box-shadow);
background: var(--jp-toolbar-background);
min-height: var(--jp-toolbar-micro-height);
padding: 2px;
z-index: 8;
overflow-x: hidden;
}
/* Toolbar items */
.jp-Toolbar > .jp-Toolbar-item.jp-Toolbar-spacer {
flex-grow: 1;
flex-shrink: 1;
}
.jp-Toolbar-item.jp-Toolbar-kernelStatus {
display: inline-block;
width: 32px;
background-repeat: no-repeat;
background-position: center;
background-size: 16px;
}
.jp-Toolbar > .jp-Toolbar-item {
flex: 0 0 auto;
display: flex;
padding-left: 1px;
padding-right: 1px;
font-size: var(--jp-ui-font-size1);
line-height: var(--jp-private-toolbar-height);
height: 100%;
}
/* Toolbar buttons */
/* This is the div we use to wrap the react component into a Widget */
div.jp-ToolbarButton {
color: transparent;
border: none;
box-sizing: border-box;
outline: none;
appearance: none;
-webkit-appearance: none;
-moz-appearance: none;
padding: 0;
margin: 0;
}
button.jp-ToolbarButtonComponent {
background: var(--jp-layout-color1);
border: none;
box-sizing: border-box;
outline: none;
appearance: none;
-webkit-appearance: none;
-moz-appearance: none;
padding: 0 6px;
margin: 0;
height: 24px;
border-radius: var(--jp-border-radius);
display: flex;
align-items: center;
text-align: center;
font-size: 14px;
min-width: unset;
min-height: unset;
}
button.jp-ToolbarButtonComponent:disabled {
opacity: 0.4;
}
button.jp-ToolbarButtonComponent > span {
padding: 0;
flex: 0 0 auto;
}
button.jp-ToolbarButtonComponent .jp-ToolbarButtonComponent-label {
font-size: var(--jp-ui-font-size1);
line-height: 100%;
padding-left: 2px;
color: var(--jp-ui-font-color1);
font-family: var(--jp-ui-font-family);
}
#jp-main-dock-panel[data-mode='single-document']
.jp-MainAreaWidget
> .jp-Toolbar.jp-Toolbar-micro {
padding: 0;
min-height: 0;
}
#jp-main-dock-panel[data-mode='single-document']
.jp-MainAreaWidget
> .jp-Toolbar {
border: none;
box-shadow: none;
}
/*
* Copyright (c) Jupyter Development Team.
* Distributed under the terms of the Modified BSD License.
*/
.jp-WindowedPanel-outer {
position: relative;
overflow-y: auto;
}
.jp-WindowedPanel-inner {
position: relative;
}
.jp-WindowedPanel-window {
position: absolute;
left: 0;
right: 0;
overflow: visible;
}
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
/* Sibling imports */
body {
color: var(--jp-ui-font-color1);
font-size: var(--jp-ui-font-size1);
}
/* Disable native link decoration styles everywhere outside of dialog boxes */
a {
text-decoration: unset;
color: unset;
}
a:hover {
text-decoration: unset;
color: unset;
}
/* Accessibility for links inside dialog box text */
.jp-Dialog-content a {
text-decoration: revert;
color: var(--jp-content-link-color);
}
.jp-Dialog-content a:hover {
text-decoration: revert;
}
/* Styles for ui-components */
.jp-Button {
color: var(--jp-ui-font-color2);
border-radius: var(--jp-border-radius);
padding: 0 12px;
font-size: var(--jp-ui-font-size1);
/* Copy from blueprint 3 */
display: inline-flex;
flex-direction: row;
border: none;
cursor: pointer;
align-items: center;
justify-content: center;
text-align: left;
vertical-align: middle;
min-height: 30px;
min-width: 30px;
}
.jp-Button:disabled {
cursor: not-allowed;
}
.jp-Button:empty {
padding: 0 !important;
}
.jp-Button.jp-mod-small {
min-height: 24px;
min-width: 24px;
font-size: 12px;
padding: 0 7px;
}
/* Use our own theme for hover styles */
.jp-Button.jp-mod-minimal:hover {
background-color: var(--jp-layout-color2);
}
.jp-Button.jp-mod-minimal {
background: none;
}
.jp-InputGroup {
display: block;
position: relative;
}
.jp-InputGroup input {
box-sizing: border-box;
border: none;
border-radius: 0;
background-color: transparent;
color: var(--jp-ui-font-color0);
box-shadow: inset 0 0 0 var(--jp-border-width) var(--jp-input-border-color);
padding-bottom: 0;
padding-top: 0;
padding-left: 10px;
padding-right: 28px;
position: relative;
width: 100%;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
font-size: 14px;
font-weight: 400;
height: 30px;
line-height: 30px;
outline: none;
vertical-align: middle;
}
.jp-InputGroup input:focus {
box-shadow: inset 0 0 0 var(--jp-border-width)
var(--jp-input-active-box-shadow-color),
inset 0 0 0 3px var(--jp-input-active-box-shadow-color);
}
.jp-InputGroup input:disabled {
cursor: not-allowed;
resize: block;
background-color: var(--jp-layout-color2);
color: var(--jp-ui-font-color2);
}
.jp-InputGroup input:disabled ~ span {
cursor: not-allowed;
color: var(--jp-ui-font-color2);
}
.jp-InputGroup input::placeholder,
input::placeholder {
color: var(--jp-ui-font-color2);
}
.jp-InputGroupAction {
position: absolute;
bottom: 1px;
right: 0;
padding: 6px;
}
.jp-HTMLSelect.jp-DefaultStyle select {
background-color: initial;
border: none;
border-radius: 0;
box-shadow: none;
color: var(--jp-ui-font-color0);
display: block;
font-size: var(--jp-ui-font-size1);
font-family: var(--jp-ui-font-family);
height: 24px;
line-height: 14px;
padding: 0 25px 0 10px;
text-align: left;
-moz-appearance: none;
-webkit-appearance: none;
}
.jp-HTMLSelect.jp-DefaultStyle select:disabled {
background-color: var(--jp-layout-color2);
color: var(--jp-ui-font-color2);
cursor: not-allowed;
resize: block;
}
.jp-HTMLSelect.jp-DefaultStyle select:disabled ~ span {
cursor: not-allowed;
}
/* Use our own theme for hover and option styles */
/* stylelint-disable-next-line selector-max-type */
.jp-HTMLSelect.jp-DefaultStyle select:hover,
.jp-HTMLSelect.jp-DefaultStyle select > option {
background-color: var(--jp-layout-color2);
color: var(--jp-ui-font-color0);
}
select {
box-sizing: border-box;
}
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------
| Styles
|----------------------------------------------------------------------------*/
.jp-StatusBar-Widget {
display: flex;
align-items: center;
background: var(--jp-layout-color2);
min-height: var(--jp-statusbar-height);
justify-content: space-between;
padding: 0 10px;
}
.jp-StatusBar-Left {
display: flex;
align-items: center;
flex-direction: row;
}
.jp-StatusBar-Middle {
display: flex;
align-items: center;
}
.jp-StatusBar-Right {
display: flex;
align-items: center;
flex-direction: row-reverse;
}
.jp-StatusBar-Item {
max-height: var(--jp-statusbar-height);
margin: 0 2px;
height: var(--jp-statusbar-height);
white-space: nowrap;
text-overflow: ellipsis;
color: var(--jp-ui-font-color1);
padding: 0 6px;
}
.jp-mod-highlighted:hover {
background-color: var(--jp-layout-color3);
}
.jp-mod-clicked {
background-color: var(--jp-brand-color1);
}
.jp-mod-clicked:hover {
background-color: var(--jp-brand-color0);
}
.jp-mod-clicked .jp-StatusBar-TextItem {
color: var(--jp-ui-inverse-font-color1);
}
.jp-StatusBar-HoverItem {
box-shadow: '0px 4px 4px rgba(0, 0, 0, 0.25)';
}
.jp-StatusBar-TextItem {
font-size: var(--jp-ui-font-size1);
font-family: var(--jp-ui-font-family);
line-height: 24px;
color: var(--jp-ui-font-color1);
}
.jp-StatusBar-GroupItem {
display: flex;
align-items: center;
flex-direction: row;
}
.jp-Statusbar-ProgressCircle svg {
display: block;
margin: 0 auto;
width: 16px;
height: 24px;
align-self: normal;
}
.jp-Statusbar-ProgressCircle path {
fill: var(--jp-inverse-layout-color3);
}
.jp-Statusbar-ProgressBar-progress-bar {
height: 10px;
width: 100px;
border: solid 0.25px var(--jp-brand-color2);
border-radius: 3px;
overflow: hidden;
align-self: center;
}
.jp-Statusbar-ProgressBar-progress-bar > div {
background-color: var(--jp-brand-color2);
background-image: linear-gradient(
-45deg,
rgba(255, 255, 255, 0.2) 25%,
transparent 25%,
transparent 50%,
rgba(255, 255, 255, 0.2) 50%,
rgba(255, 255, 255, 0.2) 75%,
transparent 75%,
transparent
);
background-size: 40px 40px;
float: left;
width: 0%;
height: 100%;
font-size: 12px;
line-height: 14px;
color: #fff;
text-align: center;
animation: jp-Statusbar-ExecutionTime-progress-bar 2s linear infinite;
}
.jp-Statusbar-ProgressBar-progress-bar p {
color: var(--jp-ui-font-color1);
font-family: var(--jp-ui-font-family);
font-size: var(--jp-ui-font-size1);
line-height: 10px;
width: 100px;
}
@keyframes jp-Statusbar-ExecutionTime-progress-bar {
0% {
background-position: 0 0;
}
100% {
background-position: 40px 40px;
}
}
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------
| Variables
|----------------------------------------------------------------------------*/
:root {
--jp-private-commandpalette-search-height: 28px;
}
/*-----------------------------------------------------------------------------
| Overall styles
|----------------------------------------------------------------------------*/
.lm-CommandPalette {
padding-bottom: 0;
color: var(--jp-ui-font-color1);
background: var(--jp-layout-color1);
/* This is needed so that all font sizing of children done in ems is
* relative to this base size */
font-size: var(--jp-ui-font-size1);
}
/*-----------------------------------------------------------------------------
| Modal variant
|----------------------------------------------------------------------------*/
.jp-ModalCommandPalette {
position: absolute;
z-index: 10000;
top: 38px;
left: 30%;
margin: 0;
padding: 4px;
width: 40%;
box-shadow: var(--jp-elevation-z4);
border-radius: 4px;
background: var(--jp-layout-color0);
}
.jp-ModalCommandPalette .lm-CommandPalette {
max-height: 40vh;
}
.jp-ModalCommandPalette .lm-CommandPalette .lm-close-icon::after {
display: none;
}
.jp-ModalCommandPalette .lm-CommandPalette .lm-CommandPalette-header {
display: none;
}
.jp-ModalCommandPalette .lm-CommandPalette .lm-CommandPalette-item {
margin-left: 4px;
margin-right: 4px;
}
.jp-ModalCommandPalette
.lm-CommandPalette
.lm-CommandPalette-item.lm-mod-disabled {
display: none;
}
/*-----------------------------------------------------------------------------
| Search
|----------------------------------------------------------------------------*/
.lm-CommandPalette-search {
padding: 4px;
background-color: var(--jp-layout-color1);
z-index: 2;
}
.lm-CommandPalette-wrapper {
overflow: overlay;
padding: 0 9px;
background-color: var(--jp-input-active-background);
height: 30px;
box-shadow: inset 0 0 0 var(--jp-border-width) var(--jp-input-border-color);
}
.lm-CommandPalette.lm-mod-focused .lm-CommandPalette-wrapper {
box-shadow: inset 0 0 0 1px var(--jp-input-active-box-shadow-color),
inset 0 0 0 3px var(--jp-input-active-box-shadow-color);
}
.jp-SearchIconGroup {
color: white;
background-color: var(--jp-brand-color1);
position: absolute;
top: 4px;
right: 4px;
padding: 5px 5px 1px;
}
.jp-SearchIconGroup svg {
height: 20px;
width: 20px;
}
.jp-SearchIconGroup .jp-icon3[fill] {
fill: var(--jp-layout-color0);
}
.lm-CommandPalette-input {
background: transparent;
width: calc(100% - 18px);
float: left;
border: none;
outline: none;
font-size: var(--jp-ui-font-size1);
color: var(--jp-ui-font-color0);
line-height: var(--jp-private-commandpalette-search-height);
}
.lm-CommandPalette-input::-webkit-input-placeholder,
.lm-CommandPalette-input::-moz-placeholder,
.lm-CommandPalette-input:-ms-input-placeholder {
color: var(--jp-ui-font-color2);
font-size: var(--jp-ui-font-size1);
}
/*-----------------------------------------------------------------------------
| Results
|----------------------------------------------------------------------------*/
.lm-CommandPalette-header:first-child {
margin-top: 0;
}
.lm-CommandPalette-header {
border-bottom: solid var(--jp-border-width) var(--jp-border-color2);
color: var(--jp-ui-font-color1);
cursor: pointer;
display: flex;
font-size: var(--jp-ui-font-size0);
font-weight: 600;
letter-spacing: 1px;
margin-top: 8px;
padding: 8px 0 8px 12px;
text-transform: uppercase;
}
.lm-CommandPalette-header.lm-mod-active {
background: var(--jp-layout-color2);
}
.lm-CommandPalette-header > mark {
background-color: transparent;
font-weight: bold;
color: var(--jp-ui-font-color1);
}
.lm-CommandPalette-item {
padding: 4px 12px 4px 4px;
color: var(--jp-ui-font-color1);
font-size: var(--jp-ui-font-size1);
font-weight: 400;
display: flex;
}
.lm-CommandPalette-item.lm-mod-disabled {
color: var(--jp-ui-font-color2);
}
.lm-CommandPalette-item.lm-mod-active {
color: var(--jp-ui-inverse-font-color1);
background: var(--jp-brand-color1);
}
.lm-CommandPalette-item.lm-mod-active .lm-CommandPalette-itemLabel > mark {
color: var(--jp-ui-inverse-font-color0);
}
.lm-CommandPalette-item.lm-mod-active .jp-icon-selectable[fill] {
fill: var(--jp-layout-color0);
}
.lm-CommandPalette-item.lm-mod-active:hover:not(.lm-mod-disabled) {
color: var(--jp-ui-inverse-font-color1);
background: var(--jp-brand-color1);
}
.lm-CommandPalette-item:hover:not(.lm-mod-active):not(.lm-mod-disabled) {
background: var(--jp-layout-color2);
}
.lm-CommandPalette-itemContent {
overflow: hidden;
}
.lm-CommandPalette-itemLabel > mark {
color: var(--jp-ui-font-color0);
background-color: transparent;
font-weight: bold;
}
.lm-CommandPalette-item.lm-mod-disabled mark {
color: var(--jp-ui-font-color2);
}
.lm-CommandPalette-item .lm-CommandPalette-itemIcon {
margin: 0 4px 0 0;
position: relative;
width: 16px;
top: 2px;
flex: 0 0 auto;
}
.lm-CommandPalette-item.lm-mod-disabled .lm-CommandPalette-itemIcon {
opacity: 0.6;
}
.lm-CommandPalette-item .lm-CommandPalette-itemShortcut {
flex: 0 0 auto;
}
.lm-CommandPalette-itemCaption {
display: none;
}
.lm-CommandPalette-content {
background-color: var(--jp-layout-color1);
}
.lm-CommandPalette-content:empty::after {
content: 'No results';
margin: auto;
margin-top: 20px;
width: 100px;
display: block;
font-size: var(--jp-ui-font-size2);
font-family: var(--jp-ui-font-family);
font-weight: lighter;
}
.lm-CommandPalette-emptyMessage {
text-align: center;
margin-top: 24px;
line-height: 1.32;
padding: 0 8px;
color: var(--jp-content-font-color3);
}
/*-----------------------------------------------------------------------------
| Copyright (c) 2014-2017, Jupyter Development Team.
|
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
.jp-Dialog {
position: absolute;
z-index: 10000;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
top: 0;
left: 0;
margin: 0;
padding: 0;
width: 100%;
height: 100%;
background: var(--jp-dialog-background);
}
.jp-Dialog-content {
display: flex;
flex-direction: column;
margin-left: auto;
margin-right: auto;
background: var(--jp-layout-color1);
padding: 24px 24px 12px;
min-width: 300px;
min-height: 150px;
max-width: 1000px;
max-height: 500px;
box-sizing: border-box;
box-shadow: var(--jp-elevation-z20);
word-wrap: break-word;
border-radius: var(--jp-border-radius);
/* This is needed so that all font sizing of children done in ems is
* relative to this base size */
font-size: var(--jp-ui-font-size1);
color: var(--jp-ui-font-color1);
resize: both;
}
.jp-Dialog-content.jp-Dialog-content-small {
max-width: 500px;
}
.jp-Dialog-button {
overflow: visible;
}
button.jp-Dialog-button:focus {
outline: 1px solid var(--jp-brand-color1);
outline-offset: 4px;
-moz-outline-radius: 0;
}
button.jp-Dialog-button:focus::-moz-focus-inner {
border: 0;
}
button.jp-Dialog-button.jp-mod-styled.jp-mod-accept:focus,
button.jp-Dialog-button.jp-mod-styled.jp-mod-warn:focus,
button.jp-Dialog-button.jp-mod-styled.jp-mod-reject:focus {
outline-offset: 4px;
-moz-outline-radius: 0;
}
button.jp-Dialog-button.jp-mod-styled.jp-mod-accept:focus {
outline: 1px solid var(--jp-accept-color-normal, var(--jp-brand-color1));
}
button.jp-Dialog-button.jp-mod-styled.jp-mod-warn:focus {
outline: 1px solid var(--jp-warn-color-normal, var(--jp-error-color1));
}
button.jp-Dialog-button.jp-mod-styled.jp-mod-reject:focus {
outline: 1px solid var(--jp-reject-color-normal, var(--md-grey-600));
}
button.jp-Dialog-close-button {
padding: 0;
height: 100%;
min-width: unset;
min-height: unset;
}
.jp-Dialog-header {
display: flex;
justify-content: space-between;
flex: 0 0 auto;
padding-bottom: 12px;
font-size: var(--jp-ui-font-size3);
font-weight: 400;
color: var(--jp-ui-font-color1);
}
.jp-Dialog-body {
display: flex;
flex-direction: column;
flex: 1 1 auto;
font-size: var(--jp-ui-font-size1);
background: var(--jp-layout-color1);
color: var(--jp-ui-font-color1);
overflow: auto;
}
.jp-Dialog-footer {
display: flex;
flex-direction: row;
justify-content: flex-end;
align-items: center;
flex: 0 0 auto;
margin-left: -12px;
margin-right: -12px;
padding: 12px;
}
.jp-Dialog-checkbox {
padding-right: 5px;
}
.jp-Dialog-checkbox > input:focus-visible {
outline: 1px solid var(--jp-input-active-border-color);
outline-offset: 1px;
}
.jp-Dialog-spacer {
flex: 1 1 auto;
}
.jp-Dialog-title {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.jp-Dialog-body > .jp-select-wrapper {
width: 100%;
}
.jp-Dialog-body > button {
padding: 0 16px;
}
.jp-Dialog-body > label {
line-height: 1.4;
color: var(--jp-ui-font-color0);
}
.jp-Dialog-button.jp-mod-styled:not(:last-child) {
margin-right: 12px;
}
/*
* Copyright (c) Jupyter Development Team.
* Distributed under the terms of the Modified BSD License.
*/
.jp-Input-Boolean-Dialog {
flex-direction: row-reverse;
align-items: end;
width: 100%;
}
.jp-Input-Boolean-Dialog > label {
flex: 1 1 auto;
}
/*-----------------------------------------------------------------------------
| Copyright (c) 2014-2016, Jupyter Development Team.
|
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
.jp-MainAreaWidget > :focus {
outline: none;
}
.jp-MainAreaWidget .jp-MainAreaWidget-error {
padding: 6px;
}
.jp-MainAreaWidget .jp-MainAreaWidget-error > pre {
width: auto;
padding: 10px;
background: var(--jp-error-color3);
border: var(--jp-border-width) solid var(--jp-error-color1);
border-radius: var(--jp-border-radius);
color: var(--jp-ui-font-color1);
font-size: var(--jp-ui-font-size1);
white-space: pre-wrap;
word-wrap: break-word;
}
/*
* Copyright (c) Jupyter Development Team.
* Distributed under the terms of the Modified BSD License.
*/
/**
* google-material-color v1.2.6
* https://github.com/danlevan/google-material-color
*/
:root {
--md-red-50: #ffebee;
--md-red-100: #ffcdd2;
--md-red-200: #ef9a9a;
--md-red-300: #e57373;
--md-red-400: #ef5350;
--md-red-500: #f44336;
--md-red-600: #e53935;
--md-red-700: #d32f2f;
--md-red-800: #c62828;
--md-red-900: #b71c1c;
--md-red-A100: #ff8a80;
--md-red-A200: #ff5252;
--md-red-A400: #ff1744;
--md-red-A700: #d50000;
--md-pink-50: #fce4ec;
--md-pink-100: #f8bbd0;
--md-pink-200: #f48fb1;
--md-pink-300: #f06292;
--md-pink-400: #ec407a;
--md-pink-500: #e91e63;
--md-pink-600: #d81b60;
--md-pink-700: #c2185b;
--md-pink-800: #ad1457;
--md-pink-900: #880e4f;
--md-pink-A100: #ff80ab;
--md-pink-A200: #ff4081;
--md-pink-A400: #f50057;
--md-pink-A700: #c51162;
--md-purple-50: #f3e5f5;
--md-purple-100: #e1bee7;
--md-purple-200: #ce93d8;
--md-purple-300: #ba68c8;
--md-purple-400: #ab47bc;
--md-purple-500: #9c27b0;
--md-purple-600: #8e24aa;
--md-purple-700: #7b1fa2;
--md-purple-800: #6a1b9a;
--md-purple-900: #4a148c;
--md-purple-A100: #ea80fc;
--md-purple-A200: #e040fb;
--md-purple-A400: #d500f9;
--md-purple-A700: #a0f;
--md-deep-purple-50: #ede7f6;
--md-deep-purple-100: #d1c4e9;
--md-deep-purple-200: #b39ddb;
--md-deep-purple-300: #9575cd;
--md-deep-purple-400: #7e57c2;
--md-deep-purple-500: #673ab7;
--md-deep-purple-600: #5e35b1;
--md-deep-purple-700: #512da8;
--md-deep-purple-800: #4527a0;
--md-deep-purple-900: #311b92;
--md-deep-purple-A100: #b388ff;
--md-deep-purple-A200: #7c4dff;
--md-deep-purple-A400: #651fff;
--md-deep-purple-A700: #6200ea;
--md-indigo-50: #e8eaf6;
--md-indigo-100: #c5cae9;
--md-indigo-200: #9fa8da;
--md-indigo-300: #7986cb;
--md-indigo-400: #5c6bc0;
--md-indigo-500: #3f51b5;
--md-indigo-600: #3949ab;
--md-indigo-700: #303f9f;
--md-indigo-800: #283593;
--md-indigo-900: #1a237e;
--md-indigo-A100: #8c9eff;
--md-indigo-A200: #536dfe;
--md-indigo-A400: #3d5afe;
--md-indigo-A700: #304ffe;
--md-blue-50: #e3f2fd;
--md-blue-100: #bbdefb;
--md-blue-200: #90caf9;
--md-blue-300: #64b5f6;
--md-blue-400: #42a5f5;
--md-blue-500: #2196f3;
--md-blue-600: #1e88e5;
--md-blue-700: #1976d2;
--md-blue-800: #1565c0;
--md-blue-900: #0d47a1;
--md-blue-A100: #82b1ff;
--md-blue-A200: #448aff;
--md-blue-A400: #2979ff;
--md-blue-A700: #2962ff;
--md-light-blue-50: #e1f5fe;
--md-light-blue-100: #b3e5fc;
--md-light-blue-200: #81d4fa;
--md-light-blue-300: #4fc3f7;
--md-light-blue-400: #29b6f6;
--md-light-blue-500: #03a9f4;
--md-light-blue-600: #039be5;
--md-light-blue-700: #0288d1;
--md-light-blue-800: #0277bd;
--md-light-blue-900: #01579b;
--md-light-blue-A100: #80d8ff;
--md-light-blue-A200: #40c4ff;
--md-light-blue-A400: #00b0ff;
--md-light-blue-A700: #0091ea;
--md-cyan-50: #e0f7fa;
--md-cyan-100: #b2ebf2;
--md-cyan-200: #80deea;
--md-cyan-300: #4dd0e1;
--md-cyan-400: #26c6da;
--md-cyan-500: #00bcd4;
--md-cyan-600: #00acc1;
--md-cyan-700: #0097a7;
--md-cyan-800: #00838f;
--md-cyan-900: #006064;
--md-cyan-A100: #84ffff;
--md-cyan-A200: #18ffff;
--md-cyan-A400: #00e5ff;
--md-cyan-A700: #00b8d4;
--md-teal-50: #e0f2f1;
--md-teal-100: #b2dfdb;
--md-teal-200: #80cbc4;
--md-teal-300: #4db6ac;
--md-teal-400: #26a69a;
--md-teal-500: #009688;
--md-teal-600: #00897b;
--md-teal-700: #00796b;
--md-teal-800: #00695c;
--md-teal-900: #004d40;
--md-teal-A100: #a7ffeb;
--md-teal-A200: #64ffda;
--md-teal-A400: #1de9b6;
--md-teal-A700: #00bfa5;
--md-green-50: #e8f5e9;
--md-green-100: #c8e6c9;
--md-green-200: #a5d6a7;
--md-green-300: #81c784;
--md-green-400: #66bb6a;
--md-green-500: #4caf50;
--md-green-600: #43a047;
--md-green-700: #388e3c;
--md-green-800: #2e7d32;
--md-green-900: #1b5e20;
--md-green-A100: #b9f6ca;
--md-green-A200: #69f0ae;
--md-green-A400: #00e676;
--md-green-A700: #00c853;
--md-light-green-50: #f1f8e9;
--md-light-green-100: #dcedc8;
--md-light-green-200: #c5e1a5;
--md-light-green-300: #aed581;
--md-light-green-400: #9ccc65;
--md-light-green-500: #8bc34a;
--md-light-green-600: #7cb342;
--md-light-green-700: #689f38;
--md-light-green-800: #558b2f;
--md-light-green-900: #33691e;
--md-light-green-A100: #ccff90;
--md-light-green-A200: #b2ff59;
--md-light-green-A400: #76ff03;
--md-light-green-A700: #64dd17;
--md-lime-50: #f9fbe7;
--md-lime-100: #f0f4c3;
--md-lime-200: #e6ee9c;
--md-lime-300: #dce775;
--md-lime-400: #d4e157;
--md-lime-500: #cddc39;
--md-lime-600: #c0ca33;
--md-lime-700: #afb42b;
--md-lime-800: #9e9d24;
--md-lime-900: #827717;
--md-lime-A100: #f4ff81;
--md-lime-A200: #eeff41;
--md-lime-A400: #c6ff00;
--md-lime-A700: #aeea00;
--md-yellow-50: #fffde7;
--md-yellow-100: #fff9c4;
--md-yellow-200: #fff59d;
--md-yellow-300: #fff176;
--md-yellow-400: #ffee58;
--md-yellow-500: #ffeb3b;
--md-yellow-600: #fdd835;
--md-yellow-700: #fbc02d;
--md-yellow-800: #f9a825;
--md-yellow-900: #f57f17;
--md-yellow-A100: #ffff8d;
--md-yellow-A200: #ff0;
--md-yellow-A400: #ffea00;
--md-yellow-A700: #ffd600;
--md-amber-50: #fff8e1;
--md-amber-100: #ffecb3;
--md-amber-200: #ffe082;
--md-amber-300: #ffd54f;
--md-amber-400: #ffca28;
--md-amber-500: #ffc107;
--md-amber-600: #ffb300;
--md-amber-700: #ffa000;
--md-amber-800: #ff8f00;
--md-amber-900: #ff6f00;
--md-amber-A100: #ffe57f;
--md-amber-A200: #ffd740;
--md-amber-A400: #ffc400;
--md-amber-A700: #ffab00;
--md-orange-50: #fff3e0;
--md-orange-100: #ffe0b2;
--md-orange-200: #ffcc80;
--md-orange-300: #ffb74d;
--md-orange-400: #ffa726;
--md-orange-500: #ff9800;
--md-orange-600: #fb8c00;
--md-orange-700: #f57c00;
--md-orange-800: #ef6c00;
--md-orange-900: #e65100;
--md-orange-A100: #ffd180;
--md-orange-A200: #ffab40;
--md-orange-A400: #ff9100;
--md-orange-A700: #ff6d00;
--md-deep-orange-50: #fbe9e7;
--md-deep-orange-100: #ffccbc;
--md-deep-orange-200: #ffab91;
--md-deep-orange-300: #ff8a65;
--md-deep-orange-400: #ff7043;
--md-deep-orange-500: #ff5722;
--md-deep-orange-600: #f4511e;
--md-deep-orange-700: #e64a19;
--md-deep-orange-800: #d84315;
--md-deep-orange-900: #bf360c;
--md-deep-orange-A100: #ff9e80;
--md-deep-orange-A200: #ff6e40;
--md-deep-orange-A400: #ff3d00;
--md-deep-orange-A700: #dd2c00;
--md-brown-50: #efebe9;
--md-brown-100: #d7ccc8;
--md-brown-200: #bcaaa4;
--md-brown-300: #a1887f;
--md-brown-400: #8d6e63;
--md-brown-500: #795548;
--md-brown-600: #6d4c41;
--md-brown-700: #5d4037;
--md-brown-800: #4e342e;
--md-brown-900: #3e2723;
--md-grey-50: #fafafa;
--md-grey-100: #f5f5f5;
--md-grey-200: #eee;
--md-grey-300: #e0e0e0;
--md-grey-400: #bdbdbd;
--md-grey-500: #9e9e9e;
--md-grey-600: #757575;
--md-grey-700: #616161;
--md-grey-800: #424242;
--md-grey-900: #212121;
--md-blue-grey-50: #eceff1;
--md-blue-grey-100: #cfd8dc;
--md-blue-grey-200: #b0bec5;
--md-blue-grey-300: #90a4ae;
--md-blue-grey-400: #78909c;
--md-blue-grey-500: #607d8b;
--md-blue-grey-600: #546e7a;
--md-blue-grey-700: #455a64;
--md-blue-grey-800: #37474f;
--md-blue-grey-900: #263238;
}
/*-----------------------------------------------------------------------------
| Copyright (c) 2014-2017, Jupyter Development Team.
|
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------
| RenderedText
|----------------------------------------------------------------------------*/
:root {
/* This is the padding value to fill the gaps between lines containing spans with background color. */
--jp-private-code-span-padding: calc(
(var(--jp-code-line-height) - 1) * var(--jp-code-font-size) / 2
);
}
.jp-RenderedText {
text-align: left;
padding-left: var(--jp-code-padding);
line-height: var(--jp-code-line-height);
font-family: var(--jp-code-font-family);
}
.jp-RenderedText pre,
.jp-RenderedJavaScript pre,
.jp-RenderedHTMLCommon pre {
color: var(--jp-content-font-color1);
font-size: var(--jp-code-font-size);
border: none;
margin: 0;
padding: 0;
}
.jp-RenderedText pre a:link {
text-decoration: none;
color: var(--jp-content-link-color);
}
.jp-RenderedText pre a:hover {
text-decoration: underline;
color: var(--jp-content-link-color);
}
.jp-RenderedText pre a:visited {
text-decoration: none;
color: var(--jp-content-link-color);
}
/* console foregrounds and backgrounds */
.jp-RenderedText pre .ansi-black-fg {
color: #3e424d;
}
.jp-RenderedText pre .ansi-red-fg {
color: #e75c58;
}
.jp-RenderedText pre .ansi-green-fg {
color: #00a250;
}
.jp-RenderedText pre .ansi-yellow-fg {
color: #ddb62b;
}
.jp-RenderedText pre .ansi-blue-fg {
color: #208ffb;
}
.jp-RenderedText pre .ansi-magenta-fg {
color: #d160c4;
}
.jp-RenderedText pre .ansi-cyan-fg {
color: #60c6c8;
}
.jp-RenderedText pre .ansi-white-fg {
color: #c5c1b4;
}
.jp-RenderedText pre .ansi-black-bg {
background-color: #3e424d;
padding: var(--jp-private-code-span-padding) 0;
}
.jp-RenderedText pre .ansi-red-bg {
background-color: #e75c58;
padding: var(--jp-private-code-span-padding) 0;
}
.jp-RenderedText pre .ansi-green-bg {
background-color: #00a250;
padding: var(--jp-private-code-span-padding) 0;
}
.jp-RenderedText pre .ansi-yellow-bg {
background-color: #ddb62b;
padding: var(--jp-private-code-span-padding) 0;
}
.jp-RenderedText pre .ansi-blue-bg {
background-color: #208ffb;
padding: var(--jp-private-code-span-padding) 0;
}
.jp-RenderedText pre .ansi-magenta-bg {
background-color: #d160c4;
padding: var(--jp-private-code-span-padding) 0;
}
.jp-RenderedText pre .ansi-cyan-bg {
background-color: #60c6c8;
padding: var(--jp-private-code-span-padding) 0;
}
.jp-RenderedText pre .ansi-white-bg {
background-color: #c5c1b4;
padding: var(--jp-private-code-span-padding) 0;
}
.jp-RenderedText pre .ansi-black-intense-fg {
color: #282c36;
}
.jp-RenderedText pre .ansi-red-intense-fg {
color: #b22b31;
}
.jp-RenderedText pre .ansi-green-intense-fg {
color: #007427;
}
.jp-RenderedText pre .ansi-yellow-intense-fg {
color: #b27d12;
}
.jp-RenderedText pre .ansi-blue-intense-fg {
color: #0065ca;
}
.jp-RenderedText pre .ansi-magenta-intense-fg {
color: #a03196;
}
.jp-RenderedText pre .ansi-cyan-intense-fg {
color: #258f8f;
}
.jp-RenderedText pre .ansi-white-intense-fg {
color: #a1a6b2;
}
.jp-RenderedText pre .ansi-black-intense-bg {
background-color: #282c36;
padding: var(--jp-private-code-span-padding) 0;
}
.jp-RenderedText pre .ansi-red-intense-bg {
background-color: #b22b31;
padding: var(--jp-private-code-span-padding) 0;
}
.jp-RenderedText pre .ansi-green-intense-bg {
background-color: #007427;
padding: var(--jp-private-code-span-padding) 0;
}
.jp-RenderedText pre .ansi-yellow-intense-bg {
background-color: #b27d12;
padding: var(--jp-private-code-span-padding) 0;
}
.jp-RenderedText pre .ansi-blue-intense-bg {
background-color: #0065ca;
padding: var(--jp-private-code-span-padding) 0;
}
.jp-RenderedText pre .ansi-magenta-intense-bg {
background-color: #a03196;
padding: var(--jp-private-code-span-padding) 0;
}
.jp-RenderedText pre .ansi-cyan-intense-bg {
background-color: #258f8f;
padding: var(--jp-private-code-span-padding) 0;
}
.jp-RenderedText pre .ansi-white-intense-bg {
background-color: #a1a6b2;
padding: var(--jp-private-code-span-padding) 0;
}
.jp-RenderedText pre .ansi-default-inverse-fg {
color: var(--jp-ui-inverse-font-color0);
}
.jp-RenderedText pre .ansi-default-inverse-bg {
background-color: var(--jp-inverse-layout-color0);
padding: var(--jp-private-code-span-padding) 0;
}
.jp-RenderedText pre .ansi-bold {
font-weight: bold;
}
.jp-RenderedText pre .ansi-underline {
text-decoration: underline;
}
.jp-RenderedText[data-mime-type='application/vnd.jupyter.stderr'] {
background: var(--jp-rendermime-error-background);
padding-top: var(--jp-code-padding);
}
/*-----------------------------------------------------------------------------
| RenderedLatex
|----------------------------------------------------------------------------*/
.jp-RenderedLatex {
color: var(--jp-content-font-color1);
font-size: var(--jp-content-font-size1);
line-height: var(--jp-content-line-height);
}
/* Left-justify outputs.*/
.jp-OutputArea-output.jp-RenderedLatex {
padding: var(--jp-code-padding);
text-align: left;
}
/*-----------------------------------------------------------------------------
| RenderedHTML
|----------------------------------------------------------------------------*/
.jp-RenderedHTMLCommon {
color: var(--jp-content-font-color1);
font-family: var(--jp-content-font-family);
font-size: var(--jp-content-font-size1);
line-height: var(--jp-content-line-height);
/* Give a bit more R padding on Markdown text to keep line lengths reasonable */
padding-right: 20px;
}
.jp-RenderedHTMLCommon em {
font-style: italic;
}
.jp-RenderedHTMLCommon strong {
font-weight: bold;
}
.jp-RenderedHTMLCommon u {
text-decoration: underline;
}
.jp-RenderedHTMLCommon a:link {
text-decoration: none;
color: var(--jp-content-link-color);
}
.jp-RenderedHTMLCommon a:hover {
text-decoration: underline;
color: var(--jp-content-link-color);
}
.jp-RenderedHTMLCommon a:visited {
text-decoration: none;
color: var(--jp-content-link-color);
}
/* Headings */
.jp-RenderedHTMLCommon h1,
.jp-RenderedHTMLCommon h2,
.jp-RenderedHTMLCommon h3,
.jp-RenderedHTMLCommon h4,
.jp-RenderedHTMLCommon h5,
.jp-RenderedHTMLCommon h6 {
line-height: var(--jp-content-heading-line-height);
font-weight: var(--jp-content-heading-font-weight);
font-style: normal;
margin: var(--jp-content-heading-margin-top) 0
var(--jp-content-heading-margin-bottom) 0;
}
.jp-RenderedHTMLCommon h1:first-child,
.jp-RenderedHTMLCommon h2:first-child,
.jp-RenderedHTMLCommon h3:first-child,
.jp-RenderedHTMLCommon h4:first-child,
.jp-RenderedHTMLCommon h5:first-child,
.jp-RenderedHTMLCommon h6:first-child {
margin-top: calc(0.5 * var(--jp-content-heading-margin-top));
}
.jp-RenderedHTMLCommon h1:last-child,
.jp-RenderedHTMLCommon h2:last-child,
.jp-RenderedHTMLCommon h3:last-child,
.jp-RenderedHTMLCommon h4:last-child,
.jp-RenderedHTMLCommon h5:last-child,
.jp-RenderedHTMLCommon h6:last-child {
margin-bottom: calc(0.5 * var(--jp-content-heading-margin-bottom));
}
.jp-RenderedHTMLCommon h1 {
font-size: var(--jp-content-font-size5);
}
.jp-RenderedHTMLCommon h2 {
font-size: var(--jp-content-font-size4);
}
.jp-RenderedHTMLCommon h3 {
font-size: var(--jp-content-font-size3);
}
.jp-RenderedHTMLCommon h4 {
font-size: var(--jp-content-font-size2);
}
.jp-RenderedHTMLCommon h5 {
font-size: var(--jp-content-font-size1);
}
.jp-RenderedHTMLCommon h6 {
font-size: var(--jp-content-font-size0);
}
/* Lists */
/* stylelint-disable selector-max-type, selector-max-compound-selectors */
.jp-RenderedHTMLCommon ul:not(.list-inline),
.jp-RenderedHTMLCommon ol:not(.list-inline) {
padding-left: 2em;
}
.jp-RenderedHTMLCommon ul {
list-style: disc;
}
.jp-RenderedHTMLCommon ul ul {
list-style: square;
}
.jp-RenderedHTMLCommon ul ul ul {
list-style: circle;
}
.jp-RenderedHTMLCommon ol {
list-style: decimal;
}
.jp-RenderedHTMLCommon ol ol {
list-style: upper-alpha;
}
.jp-RenderedHTMLCommon ol ol ol {
list-style: lower-alpha;
}
.jp-RenderedHTMLCommon ol ol ol ol {
list-style: lower-roman;
}
.jp-RenderedHTMLCommon ol ol ol ol ol {
list-style: decimal;
}
.jp-RenderedHTMLCommon ol,
.jp-RenderedHTMLCommon ul {
margin-bottom: 1em;
}
.jp-RenderedHTMLCommon ul ul,
.jp-RenderedHTMLCommon ul ol,
.jp-RenderedHTMLCommon ol ul,
.jp-RenderedHTMLCommon ol ol {
margin-bottom: 0;
}
/* stylelint-enable selector-max-type, selector-max-compound-selectors */
.jp-RenderedHTMLCommon hr {
color: var(--jp-border-color2);
background-color: var(--jp-border-color1);
margin-top: 1em;
margin-bottom: 1em;
}
.jp-RenderedHTMLCommon > pre {
margin: 1.5em 2em;
}
.jp-RenderedHTMLCommon pre,
.jp-RenderedHTMLCommon code {
border: 0;
background-color: var(--jp-layout-color0);
color: var(--jp-content-font-color1);
font-family: var(--jp-code-font-family);
font-size: inherit;
line-height: var(--jp-code-line-height);
padding: 0;
white-space: pre-wrap;
}
.jp-RenderedHTMLCommon :not(pre) > code {
background-color: var(--jp-layout-color2);
padding: 1px 5px;
}
/* Tables */
.jp-RenderedHTMLCommon table {
border-collapse: collapse;
border-spacing: 0;
border: none;
color: var(--jp-ui-font-color1);
font-size: var(--jp-ui-font-size1);
table-layout: fixed;
margin-left: auto;
margin-bottom: 1em;
margin-right: auto;
}
.jp-RenderedHTMLCommon thead {
border-bottom: var(--jp-border-width) solid var(--jp-border-color1);
vertical-align: bottom;
}
.jp-RenderedHTMLCommon td,
.jp-RenderedHTMLCommon th,
.jp-RenderedHTMLCommon tr {
vertical-align: middle;
padding: 0.5em;
line-height: normal;
white-space: normal;
max-width: none;
border: none;
}
.jp-RenderedMarkdown.jp-RenderedHTMLCommon td,
.jp-RenderedMarkdown.jp-RenderedHTMLCommon th {
max-width: none;
}
:not(.jp-RenderedMarkdown).jp-RenderedHTMLCommon td,
:not(.jp-RenderedMarkdown).jp-RenderedHTMLCommon th,
:not(.jp-RenderedMarkdown).jp-RenderedHTMLCommon tr {
text-align: right;
}
.jp-RenderedHTMLCommon th {
font-weight: bold;
}
.jp-RenderedHTMLCommon tbody tr:nth-child(odd) {
background: var(--jp-layout-color0);
}
.jp-RenderedHTMLCommon tbody tr:nth-child(even) {
background: var(--jp-rendermime-table-row-background);
}
.jp-RenderedHTMLCommon tbody tr:hover {
background: var(--jp-rendermime-table-row-hover-background);
}
.jp-RenderedHTMLCommon p {
text-align: left;
margin: 0;
margin-bottom: 1em;
}
.jp-RenderedHTMLCommon img {
-moz-force-broken-image-icon: 1;
}
/* Restrict to direct children as other images could be nested in other content. */
.jp-RenderedHTMLCommon > img {
display: block;
margin-left: 0;
margin-right: 0;
margin-bottom: 1em;
}
/* Change color behind transparent images if they need it... */
[data-jp-theme-light='false'] .jp-RenderedImage img.jp-needs-light-background {
background-color: var(--jp-inverse-layout-color1);
}
[data-jp-theme-light='true'] .jp-RenderedImage img.jp-needs-dark-background {
background-color: var(--jp-inverse-layout-color1);
}
.jp-RenderedHTMLCommon img,
.jp-RenderedImage img,
.jp-RenderedHTMLCommon svg,
.jp-RenderedSVG svg {
max-width: 100%;
height: auto;
}
.jp-RenderedHTMLCommon img.jp-mod-unconfined,
.jp-RenderedImage img.jp-mod-unconfined,
.jp-RenderedHTMLCommon svg.jp-mod-unconfined,
.jp-RenderedSVG svg.jp-mod-unconfined {
max-width: none;
}
.jp-RenderedHTMLCommon .alert {
padding: var(--jp-notebook-padding);
border: var(--jp-border-width) solid transparent;
border-radius: var(--jp-border-radius);
margin-bottom: 1em;
}
.jp-RenderedHTMLCommon .alert-info {
color: var(--jp-info-color0);
background-color: var(--jp-info-color3);
border-color: var(--jp-info-color2);
}
.jp-RenderedHTMLCommon .alert-info hr {
border-color: var(--jp-info-color3);
}
.jp-RenderedHTMLCommon .alert-info > p:last-child,
.jp-RenderedHTMLCommon .alert-info > ul:last-child {
margin-bottom: 0;
}
.jp-RenderedHTMLCommon .alert-warning {
color: var(--jp-warn-color0);
background-color: var(--jp-warn-color3);
border-color: var(--jp-warn-color2);
}
.jp-RenderedHTMLCommon .alert-warning hr {
border-color: var(--jp-warn-color3);
}
.jp-RenderedHTMLCommon .alert-warning > p:last-child,
.jp-RenderedHTMLCommon .alert-warning > ul:last-child {
margin-bottom: 0;
}
.jp-RenderedHTMLCommon .alert-success {
color: var(--jp-success-color0);
background-color: var(--jp-success-color3);
border-color: var(--jp-success-color2);
}
.jp-RenderedHTMLCommon .alert-success hr {
border-color: var(--jp-success-color3);
}
.jp-RenderedHTMLCommon .alert-success > p:last-child,
.jp-RenderedHTMLCommon .alert-success > ul:last-child {
margin-bottom: 0;
}
.jp-RenderedHTMLCommon .alert-danger {
color: var(--jp-error-color0);
background-color: var(--jp-error-color3);
border-color: var(--jp-error-color2);
}
.jp-RenderedHTMLCommon .alert-danger hr {
border-color: var(--jp-error-color3);
}
.jp-RenderedHTMLCommon .alert-danger > p:last-child,
.jp-RenderedHTMLCommon .alert-danger > ul:last-child {
margin-bottom: 0;
}
.jp-RenderedHTMLCommon blockquote {
margin: 1em 2em;
padding: 0 1em;
border-left: 5px solid var(--jp-border-color2);
}
a.jp-InternalAnchorLink {
visibility: hidden;
margin-left: 8px;
color: var(--md-blue-800);
}
h1:hover .jp-InternalAnchorLink,
h2:hover .jp-InternalAnchorLink,
h3:hover .jp-InternalAnchorLink,
h4:hover .jp-InternalAnchorLink,
h5:hover .jp-InternalAnchorLink,
h6:hover .jp-InternalAnchorLink {
visibility: visible;
}
.jp-RenderedHTMLCommon kbd {
background-color: var(--jp-rendermime-table-row-background);
border: 1px solid var(--jp-border-color0);
border-bottom-color: var(--jp-border-color2);
border-radius: 3px;
box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);
display: inline-block;
font-size: var(--jp-ui-font-size0);
line-height: 1em;
padding: 0.2em 0.5em;
}
/* Most direct children of .jp-RenderedHTMLCommon have a margin-bottom of 1.0.
* At the bottom of cells this is a bit too much as there is also spacing
* between cells. Going all the way to 0 gets too tight between markdown and
* code cells.
*/
.jp-RenderedHTMLCommon > *:last-child {
margin-bottom: 0.5em;
}
/*
* Copyright (c) Jupyter Development Team.
* Distributed under the terms of the Modified BSD License.
*/
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/
.lm-cursor-backdrop {
position: fixed;
width: 200px;
height: 200px;
margin-top: -100px;
margin-left: -100px;
will-change: transform;
z-index: 100;
}
.lm-mod-drag-image {
will-change: transform;
}
/*
* Copyright (c) Jupyter Development Team.
* Distributed under the terms of the Modified BSD License.
*/
.jp-lineFormSearch {
padding: 4px 12px;
background-color: var(--jp-layout-color2);
box-shadow: var(--jp-toolbar-box-shadow);
z-index: 2;
font-size: var(--jp-ui-font-size1);
}
.jp-lineFormCaption {
font-size: var(--jp-ui-font-size0);
line-height: var(--jp-ui-font-size1);
margin-top: 4px;
color: var(--jp-ui-font-color0);
}
.jp-baseLineForm {
border: none;
border-radius: 0;
position: absolute;
background-size: 16px;
background-repeat: no-repeat;
background-position: center;
outline: none;
}
.jp-lineFormButtonContainer {
top: 4px;
right: 8px;
height: 24px;
padding: 0 12px;
width: 12px;
}
.jp-lineFormButtonIcon {
top: 0;
right: 0;
background-color: var(--jp-brand-color1);
height: 100%;
width: 100%;
box-sizing: border-box;
padding: 4px 6px;
}
.jp-lineFormButton {
top: 0;
right: 0;
background-color: transparent;
height: 100%;
width: 100%;
box-sizing: border-box;
}
.jp-lineFormWrapper {
overflow: hidden;
padding: 0 8px;
border: 1px solid var(--jp-border-color0);
background-color: var(--jp-input-active-background);
height: 22px;
}
.jp-lineFormWrapperFocusWithin {
border: var(--jp-border-width) solid var(--md-blue-500);
box-shadow: inset 0 0 4px var(--md-blue-300);
}
.jp-lineFormInput {
background: transparent;
width: 200px;
height: 100%;
border: none;
outline: none;
color: var(--jp-ui-font-color0);
line-height: 28px;
}
/*-----------------------------------------------------------------------------
| Copyright (c) 2014-2016, Jupyter Development Team.
|
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
.jp-JSONEditor {
display: flex;
flex-direction: column;
width: 100%;
}
.jp-JSONEditor-host {
flex: 1 1 auto;
border: var(--jp-border-width) solid var(--jp-input-border-color);
border-radius: 0;
background: var(--jp-layout-color0);
min-height: 50px;
padding: 1px;
}
.jp-JSONEditor.jp-mod-error .jp-JSONEditor-host {
border-color: red;
outline-color: red;
}
.jp-JSONEditor-header {
display: flex;
flex: 1 0 auto;
padding: 0 0 0 12px;
}
.jp-JSONEditor-header label {
flex: 0 0 auto;
}
.jp-JSONEditor-commitButton {
height: 16px;
width: 16px;
background-size: 18px;
background-repeat: no-repeat;
background-position: center;
}
.jp-JSONEditor-host.jp-mod-focused {
background-color: var(--jp-input-active-background);
border: 1px solid var(--jp-input-active-border-color);
box-shadow: var(--jp-input-box-shadow);
}
.jp-Editor.jp-mod-dropTarget {
border: var(--jp-border-width) solid var(--jp-input-active-border-color);
box-shadow: var(--jp-input-box-shadow);
}
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
.jp-DocumentSearch-input {
border: none;
outline: none;
color: var(--jp-ui-font-color0);
font-size: var(--jp-ui-font-size1);
background-color: var(--jp-layout-color0);
font-family: var(--jp-ui-font-family);
padding: 2px 1px;
resize: none;
}
.jp-DocumentSearch-overlay {
position: absolute;
background-color: var(--jp-toolbar-background);
border-bottom: var(--jp-border-width) solid var(--jp-toolbar-border-color);
border-left: var(--jp-border-width) solid var(--jp-toolbar-border-color);
top: 0;
right: 0;
z-index: 7;
min-width: 405px;
padding: 2px;
font-size: var(--jp-ui-font-size1);
--jp-private-document-search-button-height: 20px;
}
.jp-DocumentSearch-overlay button {
background-color: var(--jp-toolbar-background);
outline: 0;
}
.jp-DocumentSearch-overlay button:hover {
background-color: var(--jp-layout-color2);
}
.jp-DocumentSearch-overlay button:active {
background-color: var(--jp-layout-color3);
}
.jp-DocumentSearch-overlay-row {
display: flex;
align-items: center;
margin-bottom: 2px;
}
.jp-DocumentSearch-button-content {
display: inline-block;
cursor: pointer;
box-sizing: border-box;
width: 100%;
height: 100%;
}
.jp-DocumentSearch-button-content svg {
width: 100%;
height: 100%;
}
.jp-DocumentSearch-input-wrapper {
border: var(--jp-border-width) solid var(--jp-border-color0);
display: flex;
background-color: var(--jp-layout-color0);
margin: 2px;
}
.jp-DocumentSearch-input-wrapper:focus-within {
border-color: var(--jp-cell-editor-active-border-color);
}
.jp-DocumentSearch-toggle-wrapper,
.jp-DocumentSearch-button-wrapper {
all: initial;
overflow: hidden;
display: inline-block;
border: none;
box-sizing: border-box;
}
.jp-DocumentSearch-toggle-wrapper {
width: 14px;
height: 14px;
}
.jp-DocumentSearch-button-wrapper {
width: var(--jp-private-document-search-button-height);
height: var(--jp-private-document-search-button-height);
}
.jp-DocumentSearch-toggle-wrapper:focus,
.jp-DocumentSearch-button-wrapper:focus {
outline: var(--jp-border-width) solid
var(--jp-cell-editor-active-border-color);
outline-offset: -1px;
}
.jp-DocumentSearch-toggle-wrapper,
.jp-DocumentSearch-button-wrapper,
.jp-DocumentSearch-button-content:focus {
outline: none;
}
.jp-DocumentSearch-toggle-placeholder {
width: 5px;
}
.jp-DocumentSearch-input-button::before {
display: block;
padding-top: 100%;
}
.jp-DocumentSearch-input-button-off {
opacity: var(--jp-search-toggle-off-opacity);
}
.jp-DocumentSearch-input-button-off:hover {
opacity: var(--jp-search-toggle-hover-opacity);
}
.jp-DocumentSearch-input-button-on {
opacity: var(--jp-search-toggle-on-opacity);
}
.jp-DocumentSearch-index-counter {
padding-left: 10px;
padding-right: 10px;
user-select: none;
min-width: 35px;
display: inline-block;
}
.jp-DocumentSearch-up-down-wrapper {
display: inline-block;
padding-right: 2px;
margin-left: auto;
white-space: nowrap;
}
.jp-DocumentSearch-spacer {
margin-left: auto;
}
.jp-DocumentSearch-up-down-wrapper button {
outline: 0;
border: none;
width: var(--jp-private-document-search-button-height);
height: var(--jp-private-document-search-button-height);
vertical-align: middle;
margin: 1px 5px 2px;
}
.jp-DocumentSearch-up-down-button:hover {
background-color: var(--jp-layout-color2);
}
.jp-DocumentSearch-up-down-button:active {
background-color: var(--jp-layout-color3);
}
.jp-DocumentSearch-filter-button {
border-radius: var(--jp-border-radius);
}
.jp-DocumentSearch-filter-button:hover {
background-color: var(--jp-layout-color2);
}
.jp-DocumentSearch-filter-button-enabled {
background-color: var(--jp-layout-color2);
}
.jp-DocumentSearch-filter-button-enabled:hover {
background-color: var(--jp-layout-color3);
}
.jp-DocumentSearch-search-options {
padding: 0 8px;
margin-left: 3px;
width: 100%;
display: grid;
justify-content: start;
grid-template-columns: 1fr 1fr;
align-items: center;
justify-items: stretch;
}
.jp-DocumentSearch-search-filter-disabled {
color: var(--jp-ui-font-color2);
}
.jp-DocumentSearch-search-filter {
display: flex;
align-items: center;
user-select: none;
}
.jp-DocumentSearch-regex-error {
color: var(--jp-error-color0);
}
.jp-DocumentSearch-replace-button-wrapper {
overflow: hidden;
display: inline-block;
box-sizing: border-box;
border: var(--jp-border-width) solid var(--jp-border-color0);
margin: auto 2px;
padding: 1px 4px;
height: calc(var(--jp-private-document-search-button-height) + 2px);
}
.jp-DocumentSearch-replace-button-wrapper:focus {
border: var(--jp-border-width) solid var(--jp-cell-editor-active-border-color);
}
.jp-DocumentSearch-replace-button {
display: inline-block;
text-align: center;
cursor: pointer;
box-sizing: border-box;
color: var(--jp-ui-font-color1);
/* height - 2 * (padding of wrapper) */
line-height: calc(var(--jp-private-document-search-button-height) - 2px);
width: 100%;
height: 100%;
}
.jp-DocumentSearch-replace-button:focus {
outline: none;
}
.jp-DocumentSearch-replace-wrapper-class {
margin-left: 14px;
display: flex;
}
.jp-DocumentSearch-replace-toggle {
border: none;
background-color: var(--jp-toolbar-background);
border-radius: var(--jp-border-radius);
}
.jp-DocumentSearch-replace-toggle:hover {
background-color: var(--jp-layout-color2);
}
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
.cm-editor {
line-height: var(--jp-code-line-height);
font-size: var(--jp-code-font-size);
font-family: var(--jp-code-font-family);
border: 0;
border-radius: 0;
height: auto;
/* Changed to auto to autogrow */
}
.cm-editor pre {
padding: 0 var(--jp-code-padding);
}
.jp-CodeMirrorEditor[data-type='inline'] .cm-dialog {
background-color: var(--jp-layout-color0);
color: var(--jp-content-font-color1);
}
.jp-CodeMirrorEditor {
cursor: text;
}
/* When zoomed out 67% and 33% on a screen of 1440 width x 900 height */
@media screen and (min-width: 2138px) and (max-width: 4319px) {
.jp-CodeMirrorEditor[data-type='inline'] .cm-cursor {
border-left: var(--jp-code-cursor-width1) solid
var(--jp-editor-cursor-color);
}
}
/* When zoomed out less than 33% */
@media screen and (min-width: 4320px) {
.jp-CodeMirrorEditor[data-type='inline'] .cm-cursor {
border-left: var(--jp-code-cursor-width2) solid
var(--jp-editor-cursor-color);
}
}
.cm-editor.jp-mod-readOnly .cm-cursor {
display: none;
}
.jp-CollaboratorCursor {
border-left: 5px solid transparent;
border-right: 5px solid transparent;
border-top: none;
border-bottom: 3px solid;
background-clip: content-box;
margin-left: -5px;
margin-right: -5px;
}
.cm-searching,
.cm-searching span {
/* `.cm-searching span`: we need to override syntax highlighting */
background-color: var(--jp-search-unselected-match-background-color);
color: var(--jp-search-unselected-match-color);
}
.cm-searching::selection,
.cm-searching span::selection {
background-color: var(--jp-search-unselected-match-background-color);
color: var(--jp-search-unselected-match-color);
}
.jp-current-match > .cm-searching,
.jp-current-match > .cm-searching span,
.cm-searching > .jp-current-match,
.cm-searching > .jp-current-match span {
background-color: var(--jp-search-selected-match-background-color);
color: var(--jp-search-selected-match-color);
}
.jp-current-match > .cm-searching::selection,
.cm-searching > .jp-current-match::selection,
.jp-current-match > .cm-searching span::selection {
background-color: var(--jp-search-selected-match-background-color);
color: var(--jp-search-selected-match-color);
}
.cm-trailingspace {
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAYAAAB4ka1VAAAAsElEQVQIHQGlAFr/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7+r3zKmT0/+pk9P/7+r3zAAAAAAAAAAABAAAAAAAAAAA6OPzM+/q9wAAAAAA6OPzMwAAAAAAAAAAAgAAAAAAAAAAGR8NiRQaCgAZIA0AGR8NiQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQyoYJ/SY80UAAAAASUVORK5CYII=);
background-position: center left;
background-repeat: repeat-x;
}
.jp-CollaboratorCursor-hover {
position: absolute;
z-index: 1;
transform: translateX(-50%);
color: white;
border-radius: 3px;
padding-left: 4px;
padding-right: 4px;
padding-top: 1px;
padding-bottom: 1px;
text-align: center;
font-size: var(--jp-ui-font-size1);
white-space: nowrap;
}
.jp-CodeMirror-ruler {
border-left: 1px dashed var(--jp-border-color2);
}
/* Styles for shared cursors (remote cursor locations and selected ranges) */
.jp-CodeMirrorEditor .cm-ySelectionCaret {
position: relative;
border-left: 1px solid black;
margin-left: -1px;
margin-right: -1px;
box-sizing: border-box;
}
.jp-CodeMirrorEditor .cm-ySelectionCaret > .cm-ySelectionInfo {
white-space: nowrap;
position: absolute;
top: -1.15em;
padding-bottom: 0.05em;
left: -1px;
font-size: 0.95em;
font-family: var(--jp-ui-font-family);
font-weight: bold;
line-height: normal;
user-select: none;
color: white;
padding-left: 2px;
padding-right: 2px;
z-index: 101;
transition: opacity 0.3s ease-in-out;
}
.jp-CodeMirrorEditor .cm-ySelectionInfo {
transition-delay: 0.7s;
opacity: 0;
}
.jp-CodeMirrorEditor .cm-ySelectionCaret:hover > .cm-ySelectionInfo {
opacity: 1;
transition-delay: 0s;
}
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
.jp-MimeDocument {
outline: none;
}
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------
| Variables
|----------------------------------------------------------------------------*/
:root {
--jp-private-filebrowser-button-height: 28px;
--jp-private-filebrowser-button-width: 48px;
}
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
.jp-FileBrowser .jp-SidePanel-content {
display: flex;
flex-direction: column;
}
.jp-FileBrowser-toolbar.jp-Toolbar {
flex-wrap: wrap;
row-gap: 12px;
border-bottom: none;
height: auto;
margin: 8px 12px 0;
box-shadow: none;
padding: 0;
justify-content: flex-start;
}
.jp-FileBrowser-Panel {
flex: 1 1 auto;
display: flex;
flex-direction: column;
}
.jp-BreadCrumbs {
flex: 0 0 auto;
margin: 8px 12px;
}
.jp-BreadCrumbs-item {
margin: 0 2px;
padding: 0 2px;
border-radius: var(--jp-border-radius);
cursor: pointer;
}
.jp-BreadCrumbs-item:hover {
background-color: var(--jp-layout-color2);
}
.jp-BreadCrumbs-item:first-child {
margin-left: 0;
}
.jp-BreadCrumbs-item.jp-mod-dropTarget {
background-color: var(--jp-brand-color2);
opacity: 0.7;
}
/*-----------------------------------------------------------------------------
| Buttons
|----------------------------------------------------------------------------*/
.jp-FileBrowser-toolbar > .jp-Toolbar-item {
flex: 0 0 auto;
padding-left: 0;
padding-right: 2px;
align-items: center;
height: unset;
}
.jp-FileBrowser-toolbar > .jp-Toolbar-item .jp-ToolbarButtonComponent {
width: 40px;
}
/*-----------------------------------------------------------------------------
| Other styles
|----------------------------------------------------------------------------*/
.jp-FileDialog.jp-mod-conflict input {
color: var(--jp-error-color1);
}
.jp-FileDialog .jp-new-name-title {
margin-top: 12px;
}
.jp-LastModified-hidden {
display: none;
}
.jp-FileSize-hidden {
display: none;
}
.jp-FileBrowser .lm-AccordionPanel > h3:first-child {
display: none;
}
/*-----------------------------------------------------------------------------
| DirListing
|----------------------------------------------------------------------------*/
.jp-DirListing {
flex: 1 1 auto;
display: flex;
flex-direction: column;
outline: 0;
}
.jp-DirListing-header {
flex: 0 0 auto;
display: flex;
flex-direction: row;
align-items: center;
overflow: hidden;
border-top: var(--jp-border-width) solid var(--jp-border-color2);
border-bottom: var(--jp-border-width) solid var(--jp-border-color1);
box-shadow: var(--jp-toolbar-box-shadow);
z-index: 2;
}
.jp-DirListing-headerItem {
padding: 4px 12px 2px;
font-weight: 500;
}
.jp-DirListing-headerItem:hover {
background: var(--jp-layout-color2);
}
.jp-DirListing-headerItem.jp-id-name {
flex: 1 0 84px;
}
.jp-DirListing-headerItem.jp-id-modified {
flex: 0 0 112px;
border-left: var(--jp-border-width) solid var(--jp-border-color2);
text-align: right;
}
.jp-DirListing-headerItem.jp-id-filesize {
flex: 0 0 75px;
border-left: var(--jp-border-width) solid var(--jp-border-color2);
text-align: right;
}
.jp-id-narrow {
display: none;
flex: 0 0 5px;
padding: 4px;
border-left: var(--jp-border-width) solid var(--jp-border-color2);
text-align: right;
color: var(--jp-border-color2);
}
.jp-DirListing-narrow .jp-id-narrow {
display: block;
}
.jp-DirListing-narrow .jp-id-modified,
.jp-DirListing-narrow .jp-DirListing-itemModified {
display: none;
}
.jp-DirListing-headerItem.jp-mod-selected {
font-weight: 600;
}
/* increase specificity to override bundled default */
.jp-DirListing-content {
flex: 1 1 auto;
margin: 0;
padding: 0;
list-style-type: none;
overflow: auto;
background-color: var(--jp-layout-color1);
}
.jp-DirListing-content mark {
color: var(--jp-ui-font-color0);
background-color: transparent;
font-weight: bold;
}
.jp-DirListing-content .jp-DirListing-item.jp-mod-selected mark {
color: var(--jp-ui-inverse-font-color0);
}
/* Style the directory listing content when a user drops a file to upload */
.jp-DirListing.jp-mod-native-drop .jp-DirListing-content {
outline: 5px dashed rgba(128, 128, 128, 0.5);
outline-offset: -10px;
cursor: copy;
}
.jp-DirListing-item {
display: flex;
flex-direction: row;
align-items: center;
padding: 4px 12px;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.jp-DirListing-checkboxWrapper {
/* Increases hit area of checkbox. */
padding: 4px;
}
.jp-DirListing-header
.jp-DirListing-checkboxWrapper
+ .jp-DirListing-headerItem {
padding-left: 4px;
}
.jp-DirListing-content .jp-DirListing-checkboxWrapper {
position: relative;
left: -4px;
margin: -4px 0 -4px -8px;
}
.jp-DirListing-checkboxWrapper.jp-mod-visible {
visibility: visible;
}
/* For devices that support hovering, hide checkboxes until hovered, selected...
*/
@media (hover: hover) {
.jp-DirListing-checkboxWrapper {
visibility: hidden;
}
.jp-DirListing-item:hover .jp-DirListing-checkboxWrapper,
.jp-DirListing-item.jp-mod-selected .jp-DirListing-checkboxWrapper {
visibility: visible;
}
}
.jp-DirListing-item[data-is-dot] {
opacity: 75%;
}
.jp-DirListing-item.jp-mod-selected {
color: var(--jp-ui-inverse-font-color1);
background: var(--jp-brand-color1);
}
.jp-DirListing-item.jp-mod-dropTarget {
background: var(--jp-brand-color3);
}
.jp-DirListing-item:hover:not(.jp-mod-selected) {
background: var(--jp-layout-color2);
}
.jp-DirListing-itemIcon {
flex: 0 0 20px;
margin-right: 4px;
}
.jp-DirListing-itemText {
flex: 1 0 64px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
user-select: none;
}
.jp-DirListing-itemText:focus {
outline-width: 2px;
outline-color: var(--jp-inverse-layout-color1);
outline-style: solid;
outline-offset: 1px;
}
.jp-DirListing-item.jp-mod-selected .jp-DirListing-itemText:focus {
outline-color: var(--jp-layout-color1);
}
.jp-DirListing-itemModified {
flex: 0 0 125px;
text-align: right;
}
.jp-DirListing-itemFileSize {
flex: 0 0 90px;
text-align: right;
}
.jp-DirListing-editor {
flex: 1 0 64px;
outline: none;
border: none;
color: var(--jp-ui-font-color1);
background-color: var(--jp-layout-color1);
}
.jp-DirListing-item.jp-mod-running .jp-DirListing-itemIcon::before {
color: var(--jp-success-color1);
content: '\25CF';
font-size: 8px;
position: absolute;
left: -8px;
}
.jp-DirListing-item.jp-mod-running.jp-mod-selected
.jp-DirListing-itemIcon::before {
color: var(--jp-ui-inverse-font-color1);
}
.jp-DirListing-item.lm-mod-drag-image,
.jp-DirListing-item.jp-mod-selected.lm-mod-drag-image {
font-size: var(--jp-ui-font-size1);
padding-left: 4px;
margin-left: 4px;
width: 160px;
background-color: var(--jp-ui-inverse-font-color2);
box-shadow: var(--jp-elevation-z2);
border-radius: 0;
color: var(--jp-ui-font-color1);
transform: translateX(-40%) translateY(-58%);
}
.jp-Document {
min-width: 120px;
min-height: 120px;
outline: none;
}
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------
| Main OutputArea
| OutputArea has a list of Outputs
|----------------------------------------------------------------------------*/
.jp-OutputArea {
overflow-y: auto;
}
.jp-OutputArea-child {
display: table;
table-layout: fixed;
width: 100%;
overflow: hidden;
}
.jp-OutputPrompt {
width: var(--jp-cell-prompt-width);
color: var(--jp-cell-outprompt-font-color);
font-family: var(--jp-cell-prompt-font-family);
padding: var(--jp-code-padding);
letter-spacing: var(--jp-cell-prompt-letter-spacing);
line-height: var(--jp-code-line-height);
font-size: var(--jp-code-font-size);
border: var(--jp-border-width) solid transparent;
opacity: var(--jp-cell-prompt-opacity);
/* Right align prompt text, don't wrap to handle large prompt numbers */
text-align: right;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
/* Disable text selection */
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.jp-OutputArea-prompt {
display: table-cell;
vertical-align: top;
}
.jp-OutputArea-output {
display: table-cell;
width: 100%;
height: auto;
overflow: auto;
user-select: text;
-moz-user-select: text;
-webkit-user-select: text;
-ms-user-select: text;
}
.jp-OutputArea .jp-RenderedText {
padding-left: 1ch;
}
/**
* Prompt overlay.
*/
.jp-OutputArea-promptOverlay {
position: absolute;
top: 0;
width: var(--jp-cell-prompt-width);
height: 100%;
opacity: 0.5;
}
.jp-OutputArea-promptOverlay:hover {
background: var(--jp-layout-color2);
box-shadow: inset 0 0 1px var(--jp-inverse-layout-color0);
cursor: zoom-out;
}
.jp-mod-outputsScrolled .jp-OutputArea-promptOverlay:hover {
cursor: zoom-in;
}
/**
* Isolated output.
*/
.jp-OutputArea-output.jp-mod-isolated {
width: 100%;
display: block;
}
/*
When drag events occur, `lm-mod-override-cursor` is added to the body.
Because iframes steal all cursor events, the following two rules are necessary
to suppress pointer events while resize drags are occurring. There may be a
better solution to this problem.
*/
body.lm-mod-override-cursor .jp-OutputArea-output.jp-mod-isolated {
position: relative;
}
body.lm-mod-override-cursor .jp-OutputArea-output.jp-mod-isolated::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: transparent;
}
/* pre */
.jp-OutputArea-output pre {
border: none;
margin: 0;
padding: 0;
overflow-x: auto;
overflow-y: auto;
word-break: break-all;
word-wrap: break-word;
white-space: pre-wrap;
}
/* tables */
.jp-OutputArea-output.jp-RenderedHTMLCommon table {
margin-left: 0;
margin-right: 0;
}
/* description lists */
.jp-OutputArea-output dl,
.jp-OutputArea-output dt,
.jp-OutputArea-output dd {
display: block;
}
.jp-OutputArea-output dl {
width: 100%;
overflow: hidden;
padding: 0;
margin: 0;
}
.jp-OutputArea-output dt {
font-weight: bold;
float: left;
width: 20%;
padding: 0;
margin: 0;
}
.jp-OutputArea-output dd {
float: left;
width: 80%;
padding: 0;
margin: 0;
}
.jp-TrimmedOutputs pre {
background: var(--jp-layout-color3);
font-size: calc(var(--jp-code-font-size) * 1.4);
text-align: center;
text-transform: uppercase;
}
/* Hide the gutter in case of
* - nested output areas (e.g. in the case of output widgets)
* - mirrored output areas
*/
.jp-OutputArea .jp-OutputArea .jp-OutputArea-prompt {
display: none;
}
/* Hide empty lines in the output area, for instance due to cleared widgets */
.jp-OutputArea-prompt:empty {
padding: 0;
border: 0;
}
/*-----------------------------------------------------------------------------
| executeResult is added to any Output-result for the display of the object
| returned by a cell
|----------------------------------------------------------------------------*/
.jp-OutputArea-output.jp-OutputArea-executeResult {
margin-left: 0;
width: 100%;
}
/* Text output with the Out[] prompt needs a top padding to match the
* alignment of the Out[] prompt itself.
*/
.jp-OutputArea-executeResult .jp-RenderedText.jp-OutputArea-output {
padding-top: var(--jp-code-padding);
border-top: var(--jp-border-width) solid transparent;
}
/*-----------------------------------------------------------------------------
| The Stdin output
|----------------------------------------------------------------------------*/
.jp-Stdin-prompt {
color: var(--jp-content-font-color0);
padding-right: var(--jp-code-padding);
vertical-align: baseline;
flex: 0 0 auto;
}
.jp-Stdin-input {
font-family: var(--jp-code-font-family);
font-size: inherit;
color: inherit;
background-color: inherit;
width: 42%;
min-width: 200px;
/* make sure input baseline aligns with prompt */
vertical-align: baseline;
/* padding + margin = 0.5em between prompt and cursor */
padding: 0 0.25em;
margin: 0 0.25em;
flex: 0 0 70%;
}
.jp-Stdin-input::placeholder {
opacity: 0;
}
.jp-Stdin-input:focus {
box-shadow: none;
}
.jp-Stdin-input:focus::placeholder {
opacity: 1;
}
/*-----------------------------------------------------------------------------
| Output Area View
|----------------------------------------------------------------------------*/
.jp-LinkedOutputView .jp-OutputArea {
height: 100%;
display: block;
}
.jp-LinkedOutputView .jp-OutputArea-output:only-child {
height: 100%;
}
/*-----------------------------------------------------------------------------
| Printing
|----------------------------------------------------------------------------*/
@media print {
.jp-OutputArea-child {
break-inside: avoid-page;
}
}
/*-----------------------------------------------------------------------------
| Mobile
|----------------------------------------------------------------------------*/
@media only screen and (max-width: 760px) {
.jp-OutputPrompt {
display: table-row;
text-align: left;
}
.jp-OutputArea-child .jp-OutputArea-output {
display: table-row;
margin-left: var(--jp-notebook-padding);
}
}
/* Trimmed outputs warning */
.jp-TrimmedOutputs > a {
margin: 10px;
text-decoration: none;
cursor: pointer;
}
.jp-TrimmedOutputs > a:hover {
text-decoration: none;
}
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------
| Table of Contents
|----------------------------------------------------------------------------*/
:root {
--jp-private-toc-active-width: 4px;
}
.jp-TableOfContents {
display: flex;
flex-direction: column;
background: var(--jp-layout-color1);
color: var(--jp-ui-font-color1);
font-size: var(--jp-ui-font-size1);
height: 100%;
}
.jp-TableOfContents-placeholder {
text-align: center;
}
.jp-TableOfContents-placeholderContent {
color: var(--jp-content-font-color2);
padding: 8px;
}
.jp-TableOfContents-placeholderContent > h3 {
margin-bottom: var(--jp-content-heading-margin-bottom);
}
.jp-TableOfContents .jp-SidePanel-content {
overflow-y: auto;
}
.jp-TableOfContents-tree {
margin: 4px;
}
.jp-TableOfContents ol {
list-style-type: none;
}
/* stylelint-disable-next-line selector-max-type */
.jp-TableOfContents li > ol {
/* Align left border with triangle icon center */
padding-left: 11px;
}
.jp-TableOfContents-content {
/* left margin for the active heading indicator */
margin: 0 0 0 var(--jp-private-toc-active-width);
padding: 0;
background-color: var(--jp-layout-color1);
}
.jp-tocItem {
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.jp-tocItem-heading {
display: flex;
cursor: pointer;
}
.jp-tocItem-heading:hover {
background-color: var(--jp-layout-color2);
}
.jp-tocItem-content {
display: block;
padding: 4px 0;
white-space: nowrap;
text-overflow: ellipsis;
overflow-x: hidden;
}
.jp-tocItem-collapser {
height: 20px;
margin: 2px 2px 0;
padding: 0;
background: none;
border: none;
cursor: pointer;
}
.jp-tocItem-collapser:hover {
background-color: var(--jp-layout-color3);
}
/* Active heading indicator */
.jp-tocItem-heading::before {
content: ' ';
background: transparent;
width: var(--jp-private-toc-active-width);
height: 24px;
position: absolute;
left: 0;
border-radius: var(--jp-border-radius);
}
.jp-tocItem-heading.jp-tocItem-active::before {
background-color: var(--jp-brand-color1);
}
.jp-tocItem-heading:hover.jp-tocItem-active::before {
background: var(--jp-brand-color0);
opacity: 1;
}
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
.jp-Collapser {
flex: 0 0 var(--jp-cell-collapser-width);
padding: 0;
margin: 0;
border: none;
outline: none;
background: transparent;
border-radius: var(--jp-border-radius);
opacity: 1;
}
.jp-Collapser-child {
display: block;
width: 100%;
box-sizing: border-box;
/* height: 100% doesn't work because the height of its parent is computed from content */
position: absolute;
top: 0;
bottom: 0;
}
/*-----------------------------------------------------------------------------
| Printing
|----------------------------------------------------------------------------*/
/*
Hiding collapsers in print mode.
Note: input and output wrappers have "display: block" propery in print mode.
*/
@media print {
.jp-Collapser {
display: none;
}
}
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------
| Header/Footer
|----------------------------------------------------------------------------*/
/* Hidden by zero height by default */
.jp-CellHeader,
.jp-CellFooter {
height: 0;
width: 100%;
padding: 0;
margin: 0;
border: none;
outline: none;
background: transparent;
}
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------
| Input
|----------------------------------------------------------------------------*/
/* All input areas */
.jp-InputArea {
display: table;
table-layout: fixed;
width: 100%;
overflow: hidden;
}
.jp-InputArea-editor {
display: table-cell;
overflow: hidden;
vertical-align: top;
/* This is the non-active, default styling */
border: var(--jp-border-width) solid var(--jp-cell-editor-border-color);
border-radius: 0;
background: var(--jp-cell-editor-background);
}
.jp-InputPrompt {
display: table-cell;
vertical-align: top;
width: var(--jp-cell-prompt-width);
color: var(--jp-cell-inprompt-font-color);
font-family: var(--jp-cell-prompt-font-family);
padding: var(--jp-code-padding);
letter-spacing: var(--jp-cell-prompt-letter-spacing);
opacity: var(--jp-cell-prompt-opacity);
line-height: var(--jp-code-line-height);
font-size: var(--jp-code-font-size);
border: var(--jp-border-width) solid transparent;
/* Right align prompt text, don't wrap to handle large prompt numbers */
text-align: right;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
/* Disable text selection */
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
/*-----------------------------------------------------------------------------
| Mobile
|----------------------------------------------------------------------------*/
@media only screen and (max-width: 760px) {
.jp-InputArea-editor {
display: table-row;
margin-left: var(--jp-notebook-padding);
}
.jp-InputPrompt {
display: table-row;
text-align: left;
}
}
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------
| Placeholder
|----------------------------------------------------------------------------*/
.jp-Placeholder {
display: table;
table-layout: fixed;
width: 100%;
}
.jp-Placeholder-prompt {
display: table-cell;
box-sizing: border-box;
}
.jp-Placeholder-content {
display: table-cell;
padding: 4px 6px;
border: 1px solid transparent;
border-radius: 0;
background: none;
box-sizing: border-box;
cursor: pointer;
}
.jp-Placeholder-contentContainer {
display: flex;
}
.jp-Placeholder-content:hover,
.jp-InputPlaceholder > .jp-Placeholder-content:hover {
border-color: var(--jp-layout-color3);
}
.jp-Placeholder-content .jp-MoreHorizIcon {
width: 32px;
height: 16px;
border: 1px solid transparent;
border-radius: var(--jp-border-radius);
}
.jp-Placeholder-content .jp-MoreHorizIcon:hover {
border: 1px solid var(--jp-border-color1);
box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.25);
background-color: var(--jp-layout-color0);
}
.jp-PlaceholderText {
white-space: nowrap;
overflow-x: hidden;
color: var(--jp-inverse-layout-color3);
font-family: var(--jp-code-font-family);
}
.jp-InputPlaceholder > .jp-Placeholder-content {
border-color: var(--jp-cell-editor-border-color);
background: var(--jp-cell-editor-background);
}
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------
| Private CSS variables
|----------------------------------------------------------------------------*/
:root {
--jp-private-cell-scrolling-output-offset: 5px;
}
/*-----------------------------------------------------------------------------
| Cell
|----------------------------------------------------------------------------*/
.jp-Cell {
padding: var(--jp-cell-padding);
margin: 0;
border: none;
outline: none;
background: transparent;
}
/*-----------------------------------------------------------------------------
| Common input/output
|----------------------------------------------------------------------------*/
.jp-Cell-inputWrapper,
.jp-Cell-outputWrapper {
display: flex;
flex-direction: row;
padding: 0;
margin: 0;
/* Added to reveal the box-shadow on the input and output collapsers. */
overflow: visible;
}
/* Only input/output areas inside cells */
.jp-Cell-inputArea,
.jp-Cell-outputArea {
flex: 1 1 auto;
}
/*-----------------------------------------------------------------------------
| Collapser
|----------------------------------------------------------------------------*/
/* Make the output collapser disappear when there is not output, but do so
* in a manner that leaves it in the layout and preserves its width.
*/
.jp-Cell.jp-mod-noOutputs .jp-Cell-outputCollapser {
border: none !important;
background: transparent !important;
}
.jp-Cell:not(.jp-mod-noOutputs) .jp-Cell-outputCollapser {
min-height: var(--jp-cell-collapser-min-height);
}
/*-----------------------------------------------------------------------------
| Output
|----------------------------------------------------------------------------*/
/* Put a space between input and output when there IS output */
.jp-Cell:not(.jp-mod-noOutputs) .jp-Cell-outputWrapper {
margin-top: 5px;
}
.jp-CodeCell.jp-mod-outputsScrolled .jp-Cell-outputArea {
overflow-y: auto;
max-height: 24em;
margin-left: var(--jp-private-cell-scrolling-output-offset);
resize: vertical;
}
.jp-CodeCell.jp-mod-outputsScrolled .jp-Cell-outputArea[style*='height'] {
max-height: unset;
}
.jp-CodeCell.jp-mod-outputsScrolled .jp-Cell-outputArea::after {
content: ' ';
box-shadow: inset 0 0 6px 2px rgb(0 0 0 / 30%);
width: 100%;
height: 100%;
position: sticky;
bottom: 0;
top: 0;
margin-top: -50%;
float: left;
display: block;
pointer-events: none;
}
.jp-CodeCell.jp-mod-outputsScrolled .jp-OutputArea-child {
padding-top: 6px;
}
.jp-CodeCell.jp-mod-outputsScrolled .jp-OutputArea-prompt {
width: calc(
var(--jp-cell-prompt-width) - var(--jp-private-cell-scrolling-output-offset)
);
}
.jp-CodeCell.jp-mod-outputsScrolled .jp-OutputArea-promptOverlay {
left: calc(-1 * var(--jp-private-cell-scrolling-output-offset));
}
/*-----------------------------------------------------------------------------
| CodeCell
|----------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------
| MarkdownCell
|----------------------------------------------------------------------------*/
.jp-MarkdownOutput {
display: table-cell;
width: 100%;
margin-top: 0;
margin-bottom: 0;
padding-left: var(--jp-code-padding);
}
.jp-MarkdownOutput.jp-RenderedHTMLCommon {
overflow: auto;
}
/* collapseHeadingButton (show always if hiddenCellsButton is _not_ shown) */
.jp-collapseHeadingButton {
display: flex;
min-height: var(--jp-cell-collapser-min-height);
font-size: var(--jp-code-font-size);
position: absolute;
background-color: transparent;
background-size: 25px;
background-repeat: no-repeat;
background-position-x: center;
background-position-y: top;
background-image: var(--jp-icon-caret-down);
right: 0;
top: 0;
bottom: 0;
}
.jp-collapseHeadingButton.jp-mod-collapsed {
background-image: var(--jp-icon-caret-right);
}
/*
set the container font size to match that of content
so that the nested collapse buttons have the right size
*/
.jp-MarkdownCell .jp-InputPrompt {
font-size: var(--jp-content-font-size1);
}
/*
Align collapseHeadingButton with cell top header
The font sizes are identical to the ones in packages/rendermime/style/base.css
*/
.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='1'] {
font-size: var(--jp-content-font-size5);
background-position-y: calc(0.3 * var(--jp-content-font-size5));
}
.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='2'] {
font-size: var(--jp-content-font-size4);
background-position-y: calc(0.3 * var(--jp-content-font-size4));
}
.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='3'] {
font-size: var(--jp-content-font-size3);
background-position-y: calc(0.3 * var(--jp-content-font-size3));
}
.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='4'] {
font-size: var(--jp-content-font-size2);
background-position-y: calc(0.3 * var(--jp-content-font-size2));
}
.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='5'] {
font-size: var(--jp-content-font-size1);
background-position-y: top;
}
.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='6'] {
font-size: var(--jp-content-font-size0);
background-position-y: top;
}
/* collapseHeadingButton (show only on (hover,active) if hiddenCellsButton is shown) */
.jp-Notebook.jp-mod-showHiddenCellsButton .jp-collapseHeadingButton {
display: none;
}
.jp-Notebook.jp-mod-showHiddenCellsButton
:is(.jp-MarkdownCell:hover, .jp-mod-active)
.jp-collapseHeadingButton {
display: flex;
}
/* showHiddenCellsButton (only show if jp-mod-showHiddenCellsButton is set, which
is a consequence of the showHiddenCellsButton option in Notebook Settings)*/
.jp-Notebook.jp-mod-showHiddenCellsButton .jp-showHiddenCellsButton {
margin-left: calc(var(--jp-cell-prompt-width) + 2 * var(--jp-code-padding));
margin-top: var(--jp-code-padding);
border: 1px solid var(--jp-border-color2);
background-color: var(--jp-border-color3) !important;
color: var(--jp-content-font-color0) !important;
display: flex;
}
.jp-Notebook.jp-mod-showHiddenCellsButton .jp-showHiddenCellsButton:hover {
background-color: var(--jp-border-color2) !important;
}
.jp-showHiddenCellsButton {
display: none;
}
/*-----------------------------------------------------------------------------
| Printing
|----------------------------------------------------------------------------*/
/*
Using block instead of flex to allow the use of the break-inside CSS property for
cell outputs.
*/
@media print {
.jp-Cell-inputWrapper,
.jp-Cell-outputWrapper {
display: block;
}
}
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------
| Variables
|----------------------------------------------------------------------------*/
:root {
--jp-notebook-toolbar-padding: 2px 5px 2px 2px;
}
/*-----------------------------------------------------------------------------
/*-----------------------------------------------------------------------------
| Styles
|----------------------------------------------------------------------------*/
.jp-NotebookPanel-toolbar {
padding: var(--jp-notebook-toolbar-padding);
/* disable paint containment from lumino 2.0 default strict CSS containment */
contain: style size !important;
}
.jp-Toolbar-item.jp-Notebook-toolbarCellType .jp-select-wrapper.jp-mod-focused {
border: none;
box-shadow: none;
}
.jp-Notebook-toolbarCellTypeDropdown select {
height: 24px;
font-size: var(--jp-ui-font-size1);
line-height: 14px;
border-radius: 0;
display: block;
}
.jp-Notebook-toolbarCellTypeDropdown span {
top: 5px !important;
}
.jp-Toolbar-responsive-popup {
position: absolute;
height: fit-content;
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: flex-end;
border-bottom: var(--jp-border-width) solid var(--jp-toolbar-border-color);
box-shadow: var(--jp-toolbar-box-shadow);
background: var(--jp-toolbar-background);
min-height: var(--jp-toolbar-micro-height);
padding: var(--jp-notebook-toolbar-padding);
z-index: 1;
right: 0;
top: 0;
}
.jp-Toolbar > .jp-Toolbar-responsive-opener {
margin-left: auto;
}
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------
| Variables
|----------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------
/*-----------------------------------------------------------------------------
| Styles
|----------------------------------------------------------------------------*/
.jp-Notebook-ExecutionIndicator {
position: relative;
display: inline-block;
height: 100%;
z-index: 9997;
}
.jp-Notebook-ExecutionIndicator-tooltip {
visibility: hidden;
height: auto;
width: max-content;
width: -moz-max-content;
background-color: var(--jp-layout-color2);
color: var(--jp-ui-font-color1);
text-align: justify;
border-radius: 6px;
padding: 0 5px;
position: fixed;
display: table;
}
.jp-Notebook-ExecutionIndicator-tooltip.up {
transform: translateX(-50%) translateY(-100%) translateY(-32px);
}
.jp-Notebook-ExecutionIndicator-tooltip.down {
transform: translateX(calc(-100% + 16px)) translateY(5px);
}
.jp-Notebook-ExecutionIndicator-tooltip.hidden {
display: none;
}
.jp-Notebook-ExecutionIndicator:hover .jp-Notebook-ExecutionIndicator-tooltip {
visibility: visible;
}
.jp-Notebook-ExecutionIndicator span {
font-size: var(--jp-ui-font-size1);
font-family: var(--jp-ui-font-family);
color: var(--jp-ui-font-color1);
line-height: 24px;
display: block;
}
.jp-Notebook-ExecutionIndicator-progress-bar {
display: flex;
justify-content: center;
height: 100%;
}
/*
* Copyright (c) Jupyter Development Team.
* Distributed under the terms of the Modified BSD License.
*/
/*
* Execution indicator
*/
.jp-tocItem-content::after {
content: '';
/* Must be identical to form a circle */
width: 12px;
height: 12px;
background: none;
border: none;
position: absolute;
right: 0;
}
.jp-tocItem-content[data-running='0']::after {
border-radius: 50%;
border: var(--jp-border-width) solid var(--jp-inverse-layout-color3);
background: none;
}
.jp-tocItem-content[data-running='1']::after {
border-radius: 50%;
border: var(--jp-border-width) solid var(--jp-inverse-layout-color3);
background-color: var(--jp-inverse-layout-color3);
}
.jp-tocItem-content[data-running='0'],
.jp-tocItem-content[data-running='1'] {
margin-right: 12px;
}
/*
* Copyright (c) Jupyter Development Team.
* Distributed under the terms of the Modified BSD License.
*/
.jp-Notebook-footer {
height: 27px;
margin-left: calc(
var(--jp-cell-prompt-width) + var(--jp-cell-collapser-width) +
var(--jp-cell-padding)
);
width: calc(
100% -
(
var(--jp-cell-prompt-width) + var(--jp-cell-collapser-width) +
var(--jp-cell-padding) + var(--jp-cell-padding)
)
);
border: var(--jp-border-width) solid var(--jp-cell-editor-border-color);
color: var(--jp-ui-font-color3);
margin-top: 6px;
background: none;
cursor: pointer;
}
.jp-Notebook-footer:focus {
border-color: var(--jp-cell-editor-active-border-color);
}
/* For devices that support hovering, hide footer until hover */
@media (hover: hover) {
.jp-Notebook-footer {
opacity: 0;
}
.jp-Notebook-footer:focus,
.jp-Notebook-footer:hover {
opacity: 1;
}
}
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------
| Imports
|----------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------
| CSS variables
|----------------------------------------------------------------------------*/
:root {
--jp-side-by-side-output-size: 1fr;
--jp-side-by-side-resized-cell: var(--jp-side-by-side-output-size);
--jp-private-notebook-dragImage-width: 304px;
--jp-private-notebook-dragImage-height: 36px;
--jp-private-notebook-selected-color: var(--md-blue-400);
--jp-private-notebook-active-color: var(--md-green-400);
}
/*-----------------------------------------------------------------------------
| Notebook
|----------------------------------------------------------------------------*/
/* stylelint-disable selector-max-class */
.jp-NotebookPanel {
display: block;
height: 100%;
}
.jp-NotebookPanel.jp-Document {
min-width: 240px;
min-height: 120px;
}
.jp-Notebook {
padding: var(--jp-notebook-padding);
outline: none;
overflow: auto;
background: var(--jp-layout-color0);
}
.jp-Notebook.jp-mod-scrollPastEnd::after {
display: block;
content: '';
min-height: var(--jp-notebook-scroll-padding);
}
.jp-MainAreaWidget-ContainStrict .jp-Notebook * {
contain: strict;
}
.jp-Notebook .jp-Cell {
overflow: visible;
}
.jp-Notebook .jp-Cell .jp-InputPrompt {
cursor: move;
}
/*-----------------------------------------------------------------------------
| Notebook state related styling
|
| The notebook and cells each have states, here are the possibilities:
|
| - Notebook
| - Command
| - Edit
| - Cell
| - None
| - Active (only one can be active)
| - Selected (the cells actions are applied to)
| - Multiselected (when multiple selected, the cursor)
| - No outputs
|----------------------------------------------------------------------------*/
/* Command or edit modes */
.jp-Notebook .jp-Cell:not(.jp-mod-active) .jp-InputPrompt {
opacity: var(--jp-cell-prompt-not-active-opacity);
color: var(--jp-cell-prompt-not-active-font-color);
}
.jp-Notebook .jp-Cell:not(.jp-mod-active) .jp-OutputPrompt {
opacity: var(--jp-cell-prompt-not-active-opacity);
color: var(--jp-cell-prompt-not-active-font-color);
}
/* cell is active */
.jp-Notebook .jp-Cell.jp-mod-active .jp-Collapser {
background: var(--jp-brand-color1);
}
/* cell is dirty */
.jp-Notebook .jp-Cell.jp-mod-dirty .jp-InputPrompt {
color: var(--jp-warn-color1);
}
.jp-Notebook .jp-Cell.jp-mod-dirty .jp-InputPrompt::before {
color: var(--jp-warn-color1);
content: '•';
}
.jp-Notebook .jp-Cell.jp-mod-active.jp-mod-dirty .jp-Collapser {
background: var(--jp-warn-color1);
}
/* collapser is hovered */
.jp-Notebook .jp-Cell .jp-Collapser:hover {
box-shadow: var(--jp-elevation-z2);
background: var(--jp-brand-color1);
opacity: var(--jp-cell-collapser-not-active-hover-opacity);
}
/* cell is active and collapser is hovered */
.jp-Notebook .jp-Cell.jp-mod-active .jp-Collapser:hover {
background: var(--jp-brand-color0);
opacity: 1;
}
/* Command mode */
.jp-Notebook.jp-mod-commandMode .jp-Cell.jp-mod-selected {
background: var(--jp-notebook-multiselected-color);
}
.jp-Notebook.jp-mod-commandMode
.jp-Cell.jp-mod-active.jp-mod-selected:not(.jp-mod-multiSelected) {
background: transparent;
}
/* Edit mode */
.jp-Notebook.jp-mod-editMode .jp-Cell.jp-mod-active .jp-InputArea-editor {
border: var(--jp-border-width) solid var(--jp-cell-editor-active-border-color);
box-shadow: var(--jp-input-box-shadow);
background-color: var(--jp-cell-editor-active-background);
}
/*-----------------------------------------------------------------------------
| Notebook drag and drop
|----------------------------------------------------------------------------*/
.jp-Notebook-cell.jp-mod-dropSource {
opacity: 0.5;
}
.jp-Notebook-cell.jp-mod-dropTarget,
.jp-Notebook.jp-mod-commandMode
.jp-Notebook-cell.jp-mod-active.jp-mod-selected.jp-mod-dropTarget {
border-top-color: var(--jp-private-notebook-selected-color);
border-top-style: solid;
border-top-width: 2px;
}
.jp-dragImage {
display: block;
flex-direction: row;
width: var(--jp-private-notebook-dragImage-width);
height: var(--jp-private-notebook-dragImage-height);
border: var(--jp-border-width) solid var(--jp-cell-editor-border-color);
background: var(--jp-cell-editor-background);
overflow: visible;
}
.jp-dragImage-singlePrompt {
box-shadow: 2px 2px 4px 0 rgba(0, 0, 0, 0.12);
}
.jp-dragImage .jp-dragImage-content {
flex: 1 1 auto;
z-index: 2;
font-size: var(--jp-code-font-size);
font-family: var(--jp-code-font-family);
line-height: var(--jp-code-line-height);
padding: var(--jp-code-padding);
border: var(--jp-border-width) solid var(--jp-cell-editor-border-color);
background: var(--jp-cell-editor-background-color);
color: var(--jp-content-font-color3);
text-align: left;
margin: 4px 4px 4px 0;
}
.jp-dragImage .jp-dragImage-prompt {
flex: 0 0 auto;
min-width: 36px;
color: var(--jp-cell-inprompt-font-color);
padding: var(--jp-code-padding);
padding-left: 12px;
font-family: var(--jp-cell-prompt-font-family);
letter-spacing: var(--jp-cell-prompt-letter-spacing);
line-height: 1.9;
font-size: var(--jp-code-font-size);
border: var(--jp-border-width) solid transparent;
}
.jp-dragImage-multipleBack {
z-index: -1;
position: absolute;
height: 32px;
width: 300px;
top: 8px;
left: 8px;
background: var(--jp-layout-color2);
border: var(--jp-border-width) solid var(--jp-input-border-color);
box-shadow: 2px 2px 4px 0 rgba(0, 0, 0, 0.12);
}
/*-----------------------------------------------------------------------------
| Cell toolbar
|----------------------------------------------------------------------------*/
.jp-NotebookTools {
display: block;
min-width: var(--jp-sidebar-min-width);
color: var(--jp-ui-font-color1);
background: var(--jp-layout-color1);
/* This is needed so that all font sizing of children done in ems is
* relative to this base size */
font-size: var(--jp-ui-font-size1);
overflow: auto;
}
.jp-ActiveCellTool {
padding: 12px 0;
display: flex;
}
.jp-ActiveCellTool-Content {
flex: 1 1 auto;
}
.jp-ActiveCellTool .jp-ActiveCellTool-CellContent {
background: var(--jp-cell-editor-background);
border: var(--jp-border-width) solid var(--jp-cell-editor-border-color);
border-radius: 0;
min-height: 29px;
}
.jp-ActiveCellTool .jp-InputPrompt {
min-width: calc(var(--jp-cell-prompt-width) * 0.75);
}
.jp-ActiveCellTool-CellContent > pre {
padding: 5px 4px;
margin: 0;
white-space: normal;
}
.jp-MetadataEditorTool {
flex-direction: column;
padding: 12px 0;
}
.jp-RankedPanel > :not(:first-child) {
margin-top: 12px;
}
.jp-KeySelector select.jp-mod-styled {
font-size: var(--jp-ui-font-size1);
color: var(--jp-ui-font-color0);
border: var(--jp-border-width) solid var(--jp-border-color1);
}
.jp-KeySelector label,
.jp-MetadataEditorTool label,
.jp-NumberSetter label {
line-height: 1.4;
}
.jp-NotebookTools .jp-select-wrapper {
margin-top: 4px;
margin-bottom: 0;
}
.jp-NumberSetter input {
width: 100%;
margin-top: 4px;
}
.jp-NotebookTools .jp-Collapse {
margin-top: 16px;
}
/*-----------------------------------------------------------------------------
| Presentation Mode (.jp-mod-presentationMode)
|----------------------------------------------------------------------------*/
.jp-mod-presentationMode .jp-Notebook {
--jp-content-font-size1: var(--jp-content-presentation-font-size1);
--jp-code-font-size: var(--jp-code-presentation-font-size);
}
.jp-mod-presentationMode .jp-Notebook .jp-Cell .jp-InputPrompt,
.jp-mod-presentationMode .jp-Notebook .jp-Cell .jp-OutputPrompt {
flex: 0 0 110px;
}
/*-----------------------------------------------------------------------------
| Side-by-side Mode (.jp-mod-sideBySide)
|----------------------------------------------------------------------------*/
.jp-mod-sideBySide.jp-Notebook .jp-Notebook-cell {
margin-top: 3em;
margin-bottom: 3em;
margin-left: 5%;
margin-right: 5%;
}
.jp-mod-sideBySide.jp-Notebook .jp-CodeCell {
display: grid;
grid-template-columns: minmax(0, 1fr) min-content minmax(
0,
var(--jp-side-by-side-output-size)
);
grid-template-rows: auto minmax(0, 1fr) auto;
grid-template-areas:
'header header header'
'input handle output'
'footer footer footer';
}
.jp-mod-sideBySide.jp-Notebook .jp-CodeCell.jp-mod-resizedCell {
grid-template-columns: minmax(0, 1fr) min-content minmax(
0,
var(--jp-side-by-side-resized-cell)
);
}
.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-CellHeader {
grid-area: header;
}
.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-Cell-inputWrapper {
grid-area: input;
}
.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-Cell-outputWrapper {
/* overwrite the default margin (no vertical separation needed in side by side move */
margin-top: 0;
grid-area: output;
}
.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-CellFooter {
grid-area: footer;
}
.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-CellResizeHandle {
grid-area: handle;
user-select: none;
display: block;
height: 100%;
cursor: ew-resize;
padding: 0 var(--jp-cell-padding);
}
.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-CellResizeHandle::after {
content: '';
display: block;
background: var(--jp-border-color2);
height: 100%;
width: 5px;
}
.jp-mod-sideBySide.jp-Notebook
.jp-CodeCell.jp-mod-resizedCell
.jp-CellResizeHandle::after {
background: var(--jp-border-color0);
}
.jp-CellResizeHandle {
display: none;
}
/*-----------------------------------------------------------------------------
| Placeholder
|----------------------------------------------------------------------------*/
.jp-Cell-Placeholder {
padding-left: 55px;
}
.jp-Cell-Placeholder-wrapper {
background: #fff;
border: 1px solid;
border-color: #e5e6e9 #dfe0e4 #d0d1d5;
border-radius: 4px;
-webkit-border-radius: 4px;
margin: 10px 15px;
}
.jp-Cell-Placeholder-wrapper-inner {
padding: 15px;
position: relative;
}
.jp-Cell-Placeholder-wrapper-body {
background-repeat: repeat;
background-size: 50% auto;
}
.jp-Cell-Placeholder-wrapper-body div {
background: #f6f7f8;
background-image: -webkit-linear-gradient(
left,
#f6f7f8 0%,
#edeef1 20%,
#f6f7f8 40%,
#f6f7f8 100%
);
background-repeat: no-repeat;
background-size: 800px 104px;
height: 104px;
position: absolute;
right: 15px;
left: 15px;
top: 15px;
}
div.jp-Cell-Placeholder-h1 {
top: 20px;
height: 20px;
left: 15px;
width: 150px;
}
div.jp-Cell-Placeholder-h2 {
left: 15px;
top: 50px;
height: 10px;
width: 100px;
}
div.jp-Cell-Placeholder-content-1,
div.jp-Cell-Placeholder-content-2,
div.jp-Cell-Placeholder-content-3 {
left: 15px;
right: 15px;
height: 10px;
}
div.jp-Cell-Placeholder-content-1 {
top: 100px;
}
div.jp-Cell-Placeholder-content-2 {
top: 120px;
}
div.jp-Cell-Placeholder-content-3 {
top: 140px;
}
</style>
<style type="text/css">
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
/*
The following CSS variables define the main, public API for styling JupyterLab.
These variables should be used by all plugins wherever possible. In other
words, plugins should not define custom colors, sizes, etc unless absolutely
necessary. This enables users to change the visual theme of JupyterLab
by changing these variables.
Many variables appear in an ordered sequence (0,1,2,3). These sequences
are designed to work well together, so for example, `--jp-border-color1` should
be used with `--jp-layout-color1`. The numbers have the following meanings:
* 0: super-primary, reserved for special emphasis
* 1: primary, most important under normal situations
* 2: secondary, next most important under normal situations
* 3: tertiary, next most important under normal situations
Throughout JupyterLab, we are mostly following principles from Google's
Material Design when selecting colors. We are not, however, following
all of MD as it is not optimized for dense, information rich UIs.
*/
:root {
/* Elevation
*
* We style box-shadows using Material Design's idea of elevation. These particular numbers are taken from here:
*
* https://github.com/material-components/material-components-web
* https://material-components-web.appspot.com/elevation.html
*/
--jp-shadow-base-lightness: 0;
--jp-shadow-umbra-color: rgba(
var(--jp-shadow-base-lightness),
var(--jp-shadow-base-lightness),
var(--jp-shadow-base-lightness),
0.2
);
--jp-shadow-penumbra-color: rgba(
var(--jp-shadow-base-lightness),
var(--jp-shadow-base-lightness),
var(--jp-shadow-base-lightness),
0.14
);
--jp-shadow-ambient-color: rgba(
var(--jp-shadow-base-lightness),
var(--jp-shadow-base-lightness),
var(--jp-shadow-base-lightness),
0.12
);
--jp-elevation-z0: none;
--jp-elevation-z1: 0 2px 1px -1px var(--jp-shadow-umbra-color),
0 1px 1px 0 var(--jp-shadow-penumbra-color),
0 1px 3px 0 var(--jp-shadow-ambient-color);
--jp-elevation-z2: 0 3px 1px -2px var(--jp-shadow-umbra-color),
0 2px 2px 0 var(--jp-shadow-penumbra-color),
0 1px 5px 0 var(--jp-shadow-ambient-color);
--jp-elevation-z4: 0 2px 4px -1px var(--jp-shadow-umbra-color),
0 4px 5px 0 var(--jp-shadow-penumbra-color),
0 1px 10px 0 var(--jp-shadow-ambient-color);
--jp-elevation-z6: 0 3px 5px -1px var(--jp-shadow-umbra-color),
0 6px 10px 0 var(--jp-shadow-penumbra-color),
0 1px 18px 0 var(--jp-shadow-ambient-color);
--jp-elevation-z8: 0 5px 5px -3px var(--jp-shadow-umbra-color),
0 8px 10px 1px var(--jp-shadow-penumbra-color),
0 3px 14px 2px var(--jp-shadow-ambient-color);
--jp-elevation-z12: 0 7px 8px -4px var(--jp-shadow-umbra-color),
0 12px 17px 2px var(--jp-shadow-penumbra-color),
0 5px 22px 4px var(--jp-shadow-ambient-color);
--jp-elevation-z16: 0 8px 10px -5px var(--jp-shadow-umbra-color),
0 16px 24px 2px var(--jp-shadow-penumbra-color),
0 6px 30px 5px var(--jp-shadow-ambient-color);
--jp-elevation-z20: 0 10px 13px -6px var(--jp-shadow-umbra-color),
0 20px 31px 3px var(--jp-shadow-penumbra-color),
0 8px 38px 7px var(--jp-shadow-ambient-color);
--jp-elevation-z24: 0 11px 15px -7px var(--jp-shadow-umbra-color),
0 24px 38px 3px var(--jp-shadow-penumbra-color),
0 9px 46px 8px var(--jp-shadow-ambient-color);
/* Borders
*
* The following variables, specify the visual styling of borders in JupyterLab.
*/
--jp-border-width: 1px;
--jp-border-color0: var(--md-grey-400);
--jp-border-color1: var(--md-grey-400);
--jp-border-color2: var(--md-grey-300);
--jp-border-color3: var(--md-grey-200);
--jp-inverse-border-color: var(--md-grey-600);
--jp-border-radius: 2px;
/* UI Fonts
*
* The UI font CSS variables are used for the typography all of the JupyterLab
* user interface elements that are not directly user generated content.
*
* The font sizing here is done assuming that the body font size of --jp-ui-font-size1
* is applied to a parent element. When children elements, such as headings, are sized
* in em all things will be computed relative to that body size.
*/
--jp-ui-font-scale-factor: 1.2;
--jp-ui-font-size0: 0.83333em;
--jp-ui-font-size1: 13px; /* Base font size */
--jp-ui-font-size2: 1.2em;
--jp-ui-font-size3: 1.44em;
--jp-ui-font-family: system-ui, -apple-system, blinkmacsystemfont, 'Segoe UI',
helvetica, arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji',
'Segoe UI Symbol';
/*
* Use these font colors against the corresponding main layout colors.
* In a light theme, these go from dark to light.
*/
/* Defaults use Material Design specification */
--jp-ui-font-color0: rgba(0, 0, 0, 1);
--jp-ui-font-color1: rgba(0, 0, 0, 0.87);
--jp-ui-font-color2: rgba(0, 0, 0, 0.54);
--jp-ui-font-color3: rgba(0, 0, 0, 0.38);
/*
* Use these against the brand/accent/warn/error colors.
* These will typically go from light to darker, in both a dark and light theme.
*/
--jp-ui-inverse-font-color0: rgba(255, 255, 255, 1);
--jp-ui-inverse-font-color1: rgba(255, 255, 255, 1);
--jp-ui-inverse-font-color2: rgba(255, 255, 255, 0.7);
--jp-ui-inverse-font-color3: rgba(255, 255, 255, 0.5);
/* Content Fonts
*
* Content font variables are used for typography of user generated content.
*
* The font sizing here is done assuming that the body font size of --jp-content-font-size1
* is applied to a parent element. When children elements, such as headings, are sized
* in em all things will be computed relative to that body size.
*/
--jp-content-line-height: 1.6;
--jp-content-font-scale-factor: 1.2;
--jp-content-font-size0: 0.83333em;
--jp-content-font-size1: 14px; /* Base font size */
--jp-content-font-size2: 1.2em;
--jp-content-font-size3: 1.44em;
--jp-content-font-size4: 1.728em;
--jp-content-font-size5: 2.0736em;
/* This gives a magnification of about 125% in presentation mode over normal. */
--jp-content-presentation-font-size1: 17px;
--jp-content-heading-line-height: 1;
--jp-content-heading-margin-top: 1.2em;
--jp-content-heading-margin-bottom: 0.8em;
--jp-content-heading-font-weight: 500;
/* Defaults use Material Design specification */
--jp-content-font-color0: rgba(0, 0, 0, 1);
--jp-content-font-color1: rgba(0, 0, 0, 0.87);
--jp-content-font-color2: rgba(0, 0, 0, 0.54);
--jp-content-font-color3: rgba(0, 0, 0, 0.38);
--jp-content-link-color: var(--md-blue-900);
--jp-content-font-family: system-ui, -apple-system, blinkmacsystemfont,
'Segoe UI', helvetica, arial, sans-serif, 'Apple Color Emoji',
'Segoe UI Emoji', 'Segoe UI Symbol';
/*
* Code Fonts
*
* Code font variables are used for typography of code and other monospaces content.
*/
--jp-code-font-size: 13px;
--jp-code-line-height: 1.3077; /* 17px for 13px base */
--jp-code-padding: 5px; /* 5px for 13px base, codemirror highlighting needs integer px value */
--jp-code-font-family-default: menlo, consolas, 'DejaVu Sans Mono', monospace;
--jp-code-font-family: var(--jp-code-font-family-default);
/* This gives a magnification of about 125% in presentation mode over normal. */
--jp-code-presentation-font-size: 16px;
/* may need to tweak cursor width if you change font size */
--jp-code-cursor-width0: 1.4px;
--jp-code-cursor-width1: 2px;
--jp-code-cursor-width2: 4px;
/* Layout
*
* The following are the main layout colors use in JupyterLab. In a light
* theme these would go from light to dark.
*/
--jp-layout-color0: white;
--jp-layout-color1: white;
--jp-layout-color2: var(--md-grey-200);
--jp-layout-color3: var(--md-grey-400);
--jp-layout-color4: var(--md-grey-600);
/* Inverse Layout
*
* The following are the inverse layout colors use in JupyterLab. In a light
* theme these would go from dark to light.
*/
--jp-inverse-layout-color0: #111;
--jp-inverse-layout-color1: var(--md-grey-900);
--jp-inverse-layout-color2: var(--md-grey-800);
--jp-inverse-layout-color3: var(--md-grey-700);
--jp-inverse-layout-color4: var(--md-grey-600);
/* Brand/accent */
--jp-brand-color0: var(--md-blue-900);
--jp-brand-color1: var(--md-blue-700);
--jp-brand-color2: var(--md-blue-300);
--jp-brand-color3: var(--md-blue-100);
--jp-brand-color4: var(--md-blue-50);
--jp-accent-color0: var(--md-green-900);
--jp-accent-color1: var(--md-green-700);
--jp-accent-color2: var(--md-green-300);
--jp-accent-color3: var(--md-green-100);
/* State colors (warn, error, success, info) */
--jp-warn-color0: var(--md-orange-900);
--jp-warn-color1: var(--md-orange-700);
--jp-warn-color2: var(--md-orange-300);
--jp-warn-color3: var(--md-orange-100);
--jp-error-color0: var(--md-red-900);
--jp-error-color1: var(--md-red-700);
--jp-error-color2: var(--md-red-300);
--jp-error-color3: var(--md-red-100);
--jp-success-color0: var(--md-green-900);
--jp-success-color1: var(--md-green-700);
--jp-success-color2: var(--md-green-300);
--jp-success-color3: var(--md-green-100);
--jp-info-color0: var(--md-cyan-900);
--jp-info-color1: var(--md-cyan-700);
--jp-info-color2: var(--md-cyan-300);
--jp-info-color3: var(--md-cyan-100);
/* Cell specific styles */
--jp-cell-padding: 5px;
--jp-cell-collapser-width: 8px;
--jp-cell-collapser-min-height: 20px;
--jp-cell-collapser-not-active-hover-opacity: 0.6;
--jp-cell-editor-background: var(--md-grey-100);
--jp-cell-editor-border-color: var(--md-grey-300);
--jp-cell-editor-box-shadow: inset 0 0 2px var(--md-blue-300);
--jp-cell-editor-active-background: var(--jp-layout-color0);
--jp-cell-editor-active-border-color: var(--jp-brand-color1);
--jp-cell-prompt-width: 64px;
--jp-cell-prompt-font-family: var(--jp-code-font-family-default);
--jp-cell-prompt-letter-spacing: 0;
--jp-cell-prompt-opacity: 1;
--jp-cell-prompt-not-active-opacity: 0.5;
--jp-cell-prompt-not-active-font-color: var(--md-grey-700);
/* A custom blend of MD grey and blue 600
* See https://meyerweb.com/eric/tools/color-blend/#546E7A:1E88E5:5:hex */
--jp-cell-inprompt-font-color: #307fc1;
/* A custom blend of MD grey and orange 600
* https://meyerweb.com/eric/tools/color-blend/#546E7A:F4511E:5:hex */
--jp-cell-outprompt-font-color: #bf5b3d;
/* Notebook specific styles */
--jp-notebook-padding: 10px;
--jp-notebook-select-background: var(--jp-layout-color1);
--jp-notebook-multiselected-color: var(--md-blue-50);
/* The scroll padding is calculated to fill enough space at the bottom of the
notebook to show one single-line cell (with appropriate padding) at the top
when the notebook is scrolled all the way to the bottom. We also subtract one
pixel so that no scrollbar appears if we have just one single-line cell in the
notebook. This padding is to enable a 'scroll past end' feature in a notebook.
*/
--jp-notebook-scroll-padding: calc(
100% - var(--jp-code-font-size) * var(--jp-code-line-height) -
var(--jp-code-padding) - var(--jp-cell-padding) - 1px
);
/* Rendermime styles */
--jp-rendermime-error-background: #fdd;
--jp-rendermime-table-row-background: var(--md-grey-100);
--jp-rendermime-table-row-hover-background: var(--md-light-blue-50);
/* Dialog specific styles */
--jp-dialog-background: rgba(0, 0, 0, 0.25);
/* Console specific styles */
--jp-console-padding: 10px;
/* Toolbar specific styles */
--jp-toolbar-border-color: var(--jp-border-color1);
--jp-toolbar-micro-height: 8px;
--jp-toolbar-background: var(--jp-layout-color1);
--jp-toolbar-box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.24);
--jp-toolbar-header-margin: 4px 4px 0 4px;
--jp-toolbar-active-background: var(--md-grey-300);
/* Statusbar specific styles */
--jp-statusbar-height: 24px;
/* Input field styles */
--jp-input-box-shadow: inset 0 0 2px var(--md-blue-300);
--jp-input-active-background: var(--jp-layout-color1);
--jp-input-hover-background: var(--jp-layout-color1);
--jp-input-background: var(--md-grey-100);
--jp-input-border-color: var(--jp-inverse-border-color);
--jp-input-active-border-color: var(--jp-brand-color1);
--jp-input-active-box-shadow-color: rgba(19, 124, 189, 0.3);
/* General editor styles */
--jp-editor-selected-background: #d9d9d9;
--jp-editor-selected-focused-background: #d7d4f0;
--jp-editor-cursor-color: var(--jp-ui-font-color0);
/* Code mirror specific styles */
--jp-mirror-editor-keyword-color: #008000;
--jp-mirror-editor-atom-color: #88f;
--jp-mirror-editor-number-color: #080;
--jp-mirror-editor-def-color: #00f;
--jp-mirror-editor-variable-color: var(--md-grey-900);
--jp-mirror-editor-variable-2-color: rgb(0, 54, 109);
--jp-mirror-editor-variable-3-color: #085;
--jp-mirror-editor-punctuation-color: #05a;
--jp-mirror-editor-property-color: #05a;
--jp-mirror-editor-operator-color: #a2f;
--jp-mirror-editor-comment-color: #408080;
--jp-mirror-editor-string-color: #ba2121;
--jp-mirror-editor-string-2-color: #708;
--jp-mirror-editor-meta-color: #a2f;
--jp-mirror-editor-qualifier-color: #555;
--jp-mirror-editor-builtin-color: #008000;
--jp-mirror-editor-bracket-color: #997;
--jp-mirror-editor-tag-color: #170;
--jp-mirror-editor-attribute-color: #00c;
--jp-mirror-editor-header-color: blue;
--jp-mirror-editor-quote-color: #090;
--jp-mirror-editor-link-color: #00c;
--jp-mirror-editor-error-color: #f00;
--jp-mirror-editor-hr-color: #999;
/*
RTC user specific colors.
These colors are used for the cursor, username in the editor,
and the icon of the user.
*/
--jp-collaborator-color1: #ffad8e;
--jp-collaborator-color2: #dac83d;
--jp-collaborator-color3: #72dd76;
--jp-collaborator-color4: #00e4d0;
--jp-collaborator-color5: #45d4ff;
--jp-collaborator-color6: #e2b1ff;
--jp-collaborator-color7: #ff9de6;
/* Vega extension styles */
--jp-vega-background: white;
/* Sidebar-related styles */
--jp-sidebar-min-width: 250px;
/* Search-related styles */
--jp-search-toggle-off-opacity: 0.5;
--jp-search-toggle-hover-opacity: 0.8;
--jp-search-toggle-on-opacity: 1;
--jp-search-selected-match-background-color: rgb(245, 200, 0);
--jp-search-selected-match-color: black;
--jp-search-unselected-match-background-color: var(
--jp-inverse-layout-color0
);
--jp-search-unselected-match-color: var(--jp-ui-inverse-font-color0);
/* Icon colors that work well with light or dark backgrounds */
--jp-icon-contrast-color0: var(--md-purple-600);
--jp-icon-contrast-color1: var(--md-green-600);
--jp-icon-contrast-color2: var(--md-pink-600);
--jp-icon-contrast-color3: var(--md-blue-600);
/* Button colors */
--jp-accept-color-normal: var(--md-blue-700);
--jp-accept-color-hover: var(--md-blue-800);
--jp-accept-color-active: var(--md-blue-900);
--jp-warn-color-normal: var(--md-red-700);
--jp-warn-color-hover: var(--md-red-800);
--jp-warn-color-active: var(--md-red-900);
--jp-reject-color-normal: var(--md-grey-600);
--jp-reject-color-hover: var(--md-grey-700);
--jp-reject-color-active: var(--md-grey-800);
/* File or activity icons and switch semantic variables */
--jp-jupyter-icon-color: #f37626;
--jp-notebook-icon-color: #f37626;
--jp-json-icon-color: var(--md-orange-700);
--jp-console-icon-background-color: var(--md-blue-700);
--jp-console-icon-color: white;
--jp-terminal-icon-background-color: var(--md-grey-800);
--jp-terminal-icon-color: var(--md-grey-200);
--jp-text-editor-icon-color: var(--md-grey-700);
--jp-inspector-icon-color: var(--md-grey-700);
--jp-switch-color: var(--md-grey-400);
--jp-switch-true-position-color: var(--md-orange-900);
}
</style>
<style type="text/css">
/* Force rendering true colors when outputing to pdf */
* {
-webkit-print-color-adjust: exact;
}
/* Misc */
a.anchor-link {
display: none;
}
/* Input area styling */
.jp-InputArea {
overflow: hidden;
}
.jp-InputArea-editor {
overflow: hidden;
}
.cm-editor.cm-s-jupyter .highlight pre {
/* weird, but --jp-code-padding defined to be 5px but 4px horizontal padding is hardcoded for pre.cm-line */
padding: var(--jp-code-padding) 4px;
margin: 0;
font-family: inherit;
font-size: inherit;
line-height: inherit;
color: inherit;
}
.jp-OutputArea-output pre {
line-height: inherit;
font-family: inherit;
}
.jp-RenderedText pre {
color: var(--jp-content-font-color1);
font-size: var(--jp-code-font-size);
}
/* Hiding the collapser by default */
.jp-Collapser {
display: none;
}
@page {
margin: 0.5in; /* Margin for each printed piece of paper */
}
@media print {
.jp-Cell-inputWrapper,
.jp-Cell-outputWrapper {
display: block;
}
}
</style>
<!-- Load mathjax -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/latest.js?config=TeX-AMS_CHTML-full,Safe"> </script>
<!-- MathJax configuration -->
<script type="text/x-mathjax-config">
init_mathjax = function() {
if (window.MathJax) {
// MathJax loaded
MathJax.Hub.Config({
TeX: {
equationNumbers: {
autoNumber: "AMS",
useLabelIds: true
}
},
tex2jax: {
inlineMath: [ ['$','$'], ["\\(","\\)"] ],
displayMath: [ ['$$','$$'], ["\\[","\\]"] ],
processEscapes: true,
processEnvironments: true
},
displayAlign: 'center',
messageStyle: 'none',
CommonHTML: {
linebreaks: {
automatic: true
}
}
});
MathJax.Hub.Queue(["Typeset", MathJax.Hub]);
}
}
init_mathjax();
</script>
<!-- End of mathjax configuration --><script type="module">
document.addEventListener("DOMContentLoaded", async () => {
const diagrams = document.querySelectorAll(".jp-Mermaid > pre.mermaid");
// do not load mermaidjs if not needed
if (!diagrams.length) {
return;
}
const mermaid = (await import("https://cdnjs.cloudflare.com/ajax/libs/mermaid/10.7.0/mermaid.esm.min.mjs")).default;
const parser = new DOMParser();
mermaid.initialize({
maxTextSize: 100000,
maxEdges: 100000,
startOnLoad: false,
fontFamily: window
.getComputedStyle(document.body)
.getPropertyValue("--jp-ui-font-family"),
theme: document.querySelector("body[data-jp-theme-light='true']")
? "default"
: "dark",
});
let _nextMermaidId = 0;
function makeMermaidImage(svg) {
const img = document.createElement("img");
const doc = parser.parseFromString(svg, "image/svg+xml");
const svgEl = doc.querySelector("svg");
const { maxWidth } = svgEl?.style || {};
const firstTitle = doc.querySelector("title");
const firstDesc = doc.querySelector("desc");
img.setAttribute("src", `data:image/svg+xml,${encodeURIComponent(svg)}`);
if (maxWidth) {
img.width = parseInt(maxWidth);
}
if (firstTitle) {
img.setAttribute("alt", firstTitle.textContent);
}
if (firstDesc) {
const caption = document.createElement("figcaption");
caption.className = "sr-only";
caption.textContent = firstDesc.textContent;
return [img, caption];
}
return [img];
}
async function makeMermaidError(text) {
let errorMessage = "";
try {
await mermaid.parse(text);
} catch (err) {
errorMessage = `${err}`;
}
const result = document.createElement("details");
result.className = 'jp-RenderedMermaid-Details';
const summary = document.createElement("summary");
summary.className = 'jp-RenderedMermaid-Summary';
const pre = document.createElement("pre");
const code = document.createElement("code");
code.innerText = text;
pre.appendChild(code);
summary.appendChild(pre);
result.appendChild(summary);
const warning = document.createElement("pre");
warning.innerText = errorMessage;
result.appendChild(warning);
return [result];
}
async function renderOneMarmaid(src) {
const id = `jp-mermaid-${_nextMermaidId++}`;
const parent = src.parentNode;
let raw = src.textContent.trim();
const el = document.createElement("div");
el.style.visibility = "hidden";
document.body.appendChild(el);
let results = null;
let output = null;
try {
let { svg } = await mermaid.render(id, raw, el);
svg = cleanMermaidSvg(svg);
results = makeMermaidImage(svg);
output = document.createElement("figure");
results.map(output.appendChild, output);
} catch (err) {
parent.classList.add("jp-mod-warning");
results = await makeMermaidError(raw);
output = results[0];
} finally {
el.remove();
}
parent.classList.add("jp-RenderedMermaid");
parent.appendChild(output);
}
/**
* Post-process to ensure mermaid diagrams contain only valid SVG and XHTML.
*/
function cleanMermaidSvg(svg) {
return svg.replace(RE_VOID_ELEMENT, replaceVoidElement);
}
/**
* A regular expression for all void elements, which may include attributes and
* a slash.
*
* @see https://developer.mozilla.org/en-US/docs/Glossary/Void_element
*
* Of these, only `<br>` is generated by Mermaid in place of `\n`,
* but _any_ "malformed" tag will break the SVG rendering entirely.
*/
const RE_VOID_ELEMENT =
/<\s*(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)\s*([^>]*?)\s*>/gi;
/**
* Ensure a void element is closed with a slash, preserving any attributes.
*/
function replaceVoidElement(match, tag, rest) {
rest = rest.trim();
if (!rest.endsWith('/')) {
rest = `${rest} /`;
}
return `<${tag} ${rest}>`;
}
void Promise.all([...diagrams].map(renderOneMarmaid));
});
</script>
<style>
.jp-Mermaid:not(.jp-RenderedMermaid) {
display: none;
}
.jp-RenderedMermaid {
overflow: auto;
display: flex;
}
.jp-RenderedMermaid.jp-mod-warning {
width: auto;
padding: 0.5em;
margin-top: 0.5em;
border: var(--jp-border-width) solid var(--jp-warn-color2);
border-radius: var(--jp-border-radius);
color: var(--jp-ui-font-color1);
font-size: var(--jp-ui-font-size1);
white-space: pre-wrap;
word-wrap: break-word;
}
.jp-RenderedMermaid figure {
margin: 0;
overflow: auto;
max-width: 100%;
}
.jp-RenderedMermaid img {
max-width: 100%;
}
.jp-RenderedMermaid-Details > pre {
margin-top: 1em;
}
.jp-RenderedMermaid-Summary {
color: var(--jp-warn-color2);
}
.jp-RenderedMermaid:not(.jp-mod-warning) pre {
display: none;
}
.jp-RenderedMermaid-Summary > pre {
display: inline-block;
white-space: normal;
}
</style>
<!-- End of mermaid configuration --></head>
<body class="jp-Notebook" data-jp-theme-light="true" data-jp-theme-name="JupyterLab Light">
<main>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=6f71ca5c">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
<h1 id="Tutorial:-Introductory-Tutorial:-A-Beginner%E2%80%99s-Guide-to-PINA">Tutorial: Introductory Tutorial: A Beginners Guide to PINA<a class="anchor-link" href="#Tutorial:-Introductory-Tutorial:-A-Beginner%E2%80%99s-Guide-to-PINA"></a></h1><p><a href="https://colab.research.google.com/github/mathLab/PINA/blob/master/tutorials/tutorial17/tutorial.ipynb"><img alt="Open In Colab" src="https://colab.research.google.com/assets/colab-badge.svg"/></a></p>
<p align="left">
<img alt="PINA logo" src="https://raw.githubusercontent.com/mathLab/PINA/master/readme/pina_logo.png" width="90"/>
</p>
<p>Welcome to <strong>PINA</strong>!</p>
<p>PINA [1] is an open-source Python library designed for <strong>Scientific Machine Learning (SciML)</strong> tasks, particularly involving:</p>
<ul>
<li><strong>Physics-Informed Neural Networks (PINNs)</strong></li>
<li><strong>Neural Operators (NOs)</strong></li>
<li><strong>Reduced Order Models (ROMs)</strong></li>
<li><strong>Graph Neural Networks (GNNs)</strong></li>
<li>...</li>
</ul>
<p>Built on <strong>PyTorch</strong>, <strong>PyTorch Lightning</strong>, and <strong>PyTorch Geometric</strong>, it provides a <strong>user-friendly, intuitive interface</strong> for formulating and solving differential problems using neural networks.</p>
<p>This tutorial offers a <strong>step-by-step guide</strong> to using PINA—starting from basic to advanced techniques—enabling users to tackle a broad spectrum of differential problems with minimal code.</p>
</div>
</div>
</div>
</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=3014129d">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
<h2 id="The-PINA-Workflow">The PINA Workflow<a class="anchor-link" href="#The-PINA-Workflow"></a></h2><p align="center">
<img alt="PINA Workflow" src="http://raw.githubusercontent.com/mathLab/PINA/master/tutorials/static/pina_wokflow.png" width="1000"/>
</p>
<p>Solving a differential problem in <strong>PINA</strong> involves four main steps:</p>
<ol>
<li><p><em><strong>Problem &amp; Data</strong></em>
Define the mathematical problem and its physical constraints using PINAs base classes:</p>
<ul>
<li><code>AbstractProblem</code></li>
<li><code>SpatialProblem</code></li>
<li><code>InverseProblem</code></li>
<li>...</li>
</ul>
<p>Then prepare inputs by discretizing the domain or importing numerical data. PINA provides essential tools like the <code>Conditions</code> class and the <code>pina.domain</code> module to facilitate domain sampling and ensure that the input data aligns with the problem's requirements.</p>
</li>
</ol>
<blockquote>
<p><strong>👉 We have a dedicated <a href="https://mathlab.github.io/PINA/tutorial16/tutorial.html">tutorial</a> to teach how to build a Problem from scratch — have a look if you're interested!</strong></p>
</blockquote>
<ol start="2">
<li><p><em><strong>Model Design</strong></em><br/>
Build neural network models as <strong>PyTorch modules</strong>. For graph-structured data, use <strong>PyTorch Geometric</strong> to build Graph Neural Networks. You can also import models from <code>pina.model</code> module!</p>
</li>
<li><p><em><strong>Solver Selection</strong></em><br/>
Choose and configure a solver to optimize your model. Options include:</p>
<ul>
<li><strong>Supervised solvers</strong>: <code>SupervisedSolver</code>, <code>ReducedOrderModelSolver</code></li>
<li><strong>Physics-informed solvers</strong>: <code>PINN</code> and (many) variants</li>
<li><strong>Generative solvers</strong>: <code>GAROM</code><br/>
Solvers can be used out-of-the-box, extended, or fully customized.</li>
</ul>
</li>
<li><p><em><strong>Training</strong></em><br/>
Train your model using the <code>Trainer</code> class (built on <strong>PyTorch Lightning</strong>), which enables scalable and efficient training with advanced features.</p>
</li>
</ol>
<p>By following these steps, PINA simplifies applying deep learning to scientific computing and differential problems.</p>
<h2 id="A-Simple-Regression-Problem-in-PINA">A Simple Regression Problem in PINA<a class="anchor-link" href="#A-Simple-Regression-Problem-in-PINA"></a></h2><p>We'll start with a simple regression problem [2] of approximating the following function with a Neural Net model $\mathcal{M}_{\theta}$:
$$y = x^3 + \epsilon, \quad \epsilon \sim \mathcal{N}(0, 9)$$<br/>
using only 20 samples:</p>
<p>$$x_i \sim \mathcal{U}[-3, 3], \; \forall i \in \{1, \dots, 20\}$$</p>
<p>Using PINA, we will:</p>
<ul>
<li>Generate a synthetic dataset.</li>
<li>Implement a <strong>Bayesian regressor</strong>.</li>
<li>Use <strong>Monte Carlo (MC) Dropout</strong> for <strong>Bayesian inference</strong> and <strong>uncertainty estimation</strong>.</li>
</ul>
<p>This example highlights how PINA can be used for classic regression tasks with probabilistic modeling capabilities. Let's first import useful modules!</p>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell" id="cell-id=0981f1e9">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In [1]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="cm-editor cm-s-jupyter">
<div class="highlight hl-ipython3"><pre><span></span><span class="c1">## routine needed to run the notebook on Google Colab</span>
<span class="k">try</span><span class="p">:</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">google.colab</span>
<span class="n">IN_COLAB</span> <span class="o">=</span> <span class="kc">True</span>
<span class="k">except</span><span class="p">:</span>
<span class="n">IN_COLAB</span> <span class="o">=</span> <span class="kc">False</span>
<span class="k">if</span> <span class="n">IN_COLAB</span><span class="p">:</span>
<span class="o">!</span>pip<span class="w"> </span>install<span class="w"> </span><span class="s2">"pina-mathlab[tutorial]"</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">warnings</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">torch</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">matplotlib.pyplot</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">plt</span>
<span class="n">warnings</span><span class="o">.</span><span class="n">filterwarnings</span><span class="p">(</span><span class="s2">"ignore"</span><span class="p">)</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">pina</span><span class="w"> </span><span class="kn">import</span> <span class="n">Condition</span><span class="p">,</span> <span class="n">LabelTensor</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">pina.problem</span><span class="w"> </span><span class="kn">import</span> <span class="n">AbstractProblem</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">pina.geometry</span><span class="w"> </span><span class="kn">import</span> <span class="n">CartesianDomain</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>
<div class="jp-OutputArea jp-Cell-outputArea">
<div class="jp-OutputArea-child">
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="application/vnd.jupyter.stderr" tabindex="0">
<pre>/opt/hostedtoolcache/Python/3.9.22/x64/lib/python3.9/site-packages/pina/geometry/__init__.py: DeprecationWarning: 'pina.geometry' is deprecated and will be removed in future versions. Please use 'pina.domain' instead. Location moved to DomainInferface object.
</pre>
</div>
</div>
</div>
</div>
</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=7b91de38">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
<h4 id="Problem-&amp;-Data"><em><strong>Problem &amp; Data</strong></em><a class="anchor-link" href="#Problem-&amp;-Data"></a></h4><p>We'll start by defining a <code>BayesianProblem</code> inheriting from <code>AbstractProblem</code> to handle input/output data. This is suitable when data is available. For other cases like PDEs without data, use:</p>
<ul>
<li><code>SpatialProblem</code> for spatial variables</li>
<li><code>TimeDependentProblem</code> for temporal variables</li>
<li><code>ParametricProblem</code> for parametric inputs</li>
<li><code>InverseProblem</code> for parameter estimation from observations</li>
</ul>
<p>but we will see this more in depth in a while!</p>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell" id="cell-id=014bbd86">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In [2]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="cm-editor cm-s-jupyter">
<div class="highlight hl-ipython3"><pre><span></span><span class="c1"># (a) Data generation and plot</span>
<span class="n">domain</span> <span class="o">=</span> <span class="n">CartesianDomain</span><span class="p">({</span><span class="s2">"x"</span><span class="p">:</span> <span class="p">[</span><span class="o">-</span><span class="mi">3</span><span class="p">,</span> <span class="mi">3</span><span class="p">]})</span>
<span class="n">x</span> <span class="o">=</span> <span class="n">domain</span><span class="o">.</span><span class="n">sample</span><span class="p">(</span><span class="n">n</span><span class="o">=</span><span class="mi">20</span><span class="p">,</span> <span class="n">mode</span><span class="o">=</span><span class="s2">"random"</span><span class="p">)</span>
<span class="n">y</span> <span class="o">=</span> <span class="n">LabelTensor</span><span class="p">(</span><span class="n">x</span><span class="o">.</span><span class="n">pow</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span> <span class="o">+</span> <span class="mi">3</span> <span class="o">*</span> <span class="n">torch</span><span class="o">.</span><span class="n">randn_like</span><span class="p">(</span><span class="n">x</span><span class="p">),</span> <span class="s2">"y"</span><span class="p">)</span>
<span class="c1"># (b) PINA Problem formulation</span>
<span class="k">class</span><span class="w"> </span><span class="nc">BayesianProblem</span><span class="p">(</span><span class="n">AbstractProblem</span><span class="p">):</span>
<span class="n">output_variables</span> <span class="o">=</span> <span class="p">[</span><span class="s2">"y"</span><span class="p">]</span>
<span class="n">input_variables</span> <span class="o">=</span> <span class="p">[</span><span class="s2">"x"</span><span class="p">]</span>
<span class="n">conditions</span> <span class="o">=</span> <span class="p">{</span><span class="s2">"data"</span><span class="p">:</span> <span class="n">Condition</span><span class="p">(</span><span class="n">input_points</span><span class="o">=</span><span class="n">x</span><span class="p">,</span> <span class="n">output_points</span><span class="o">=</span><span class="n">y</span><span class="p">)}</span>
<span class="n">problem</span> <span class="o">=</span> <span class="n">BayesianProblem</span><span class="p">()</span>
<span class="c1"># # (b) EXTRA!</span>
<span class="c1"># # alternatively you can do the following which is easier</span>
<span class="c1"># # uncomment to try it!</span>
<span class="c1"># from pina.problem.zoo import SupervisedProblem</span>
<span class="c1"># problem = SupervisedProblem(input_=x, output_=y)</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>
<div class="jp-OutputArea jp-Cell-outputArea">
<div class="jp-OutputArea-child">
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="application/vnd.jupyter.stderr" tabindex="0">
<pre>/opt/hostedtoolcache/Python/3.9.22/x64/lib/python3.9/site-packages/pina/condition/condition.py: DeprecationWarning: 'input_points' is deprecated and will be removed in future versions. Please use 'input' instead.
/opt/hostedtoolcache/Python/3.9.22/x64/lib/python3.9/site-packages/pina/condition/condition.py: DeprecationWarning: 'output_points' is deprecated and will be removed in future versions. Please use 'target' instead.
</pre>
</div>
</div>
</div>
</div>
</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=b1b1e4c4">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
<p>We highlight two very important features of PINA</p>
<ol>
<li><p><strong><code>LabelTensor</code> Structure</strong></p>
<ul>
<li>Alongside the standard <code>torch.Tensor</code>, PINA introduces the <code>LabelTensor</code> structure, which allows <strong>string-based indexing</strong>.</li>
<li>Ideal for managing and stacking tensors with different labels (e.g., <code>"x"</code>, <code>"t"</code>, <code>"u"</code>) for improved clarity and organization.</li>
<li>You can still use standard PyTorch tensors if needed.</li>
</ul>
</li>
<li><p><strong><code>Condition</code> Object</strong></p>
<ul>
<li>The <code>Condition</code> object enforces the <strong>constraints</strong> that the model $\mathcal{M}_{\theta}$ must satisfy, such as boundary or initial conditions.</li>
<li>It ensures that the model adheres to the specific requirements of the problem, making constraint handling more intuitive and streamlined.</li>
</ul>
</li>
</ol>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell" id="cell-id=6f25d3a6">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In [3]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="cm-editor cm-s-jupyter">
<div class="highlight hl-ipython3"><pre><span></span><span class="c1"># EXTRA - on the use of LabelTensor</span>
<span class="c1"># We define a 2D tensor, and we index with ['a', 'b', 'c', 'd'] its columns</span>
<span class="n">label_tensor</span> <span class="o">=</span> <span class="n">LabelTensor</span><span class="p">(</span><span class="n">torch</span><span class="o">.</span><span class="n">rand</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">4</span><span class="p">),</span> <span class="p">[</span><span class="s2">"a"</span><span class="p">,</span> <span class="s2">"b"</span><span class="p">,</span> <span class="s2">"c"</span><span class="p">,</span> <span class="s2">"d"</span><span class="p">])</span>
<span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">"The Label Tensor object, a very short introduction... </span><span class="se">\n</span><span class="s2">"</span><span class="p">)</span>
<span class="nb">print</span><span class="p">(</span><span class="n">label_tensor</span><span class="p">,</span> <span class="s2">"</span><span class="se">\n</span><span class="s2">"</span><span class="p">)</span>
<span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Torch methods can be used, </span><span class="si">{</span><span class="n">label_tensor</span><span class="o">.</span><span class="n">shape</span><span class="si">=}</span><span class="s2">"</span><span class="p">)</span>
<span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">"also </span><span class="si">{</span><span class="n">label_tensor</span><span class="o">.</span><span class="n">requires_grad</span><span class="si">=}</span><span class="s2"> </span><span class="se">\n</span><span class="s2">"</span><span class="p">)</span>
<span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">"But we have labels as well, e.g. </span><span class="si">{</span><span class="n">label_tensor</span><span class="o">.</span><span class="n">labels</span><span class="si">=}</span><span class="s2">"</span><span class="p">)</span>
<span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s1">'And we can slice with labels: </span><span class="se">\n</span><span class="s1"> </span><span class="si">{</span><span class="n">label_tensor</span><span class="p">[</span><span class="s2">"a"</span><span class="p">]</span><span class="si">=}</span><span class="s1">'</span><span class="p">)</span>
<span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Similarly to: </span><span class="se">\n</span><span class="s2"> </span><span class="si">{</span><span class="n">label_tensor</span><span class="p">[:,</span><span class="w"> </span><span class="mi">0</span><span class="p">]</span><span class="si">=}</span><span class="s2">"</span><span class="p">)</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>
<div class="jp-OutputArea jp-Cell-outputArea">
<div class="jp-OutputArea-child">
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
<pre>The Label Tensor object, a very short introduction...
1: {'dof': ['a', 'b', 'c', 'd'], 'name': 1}
tensor([[0.3340, 0.1983, 0.5324, 0.6622],
[0.1173, 0.6128, 0.8988, 0.1068],
[0.0888, 0.3239, 0.4673, 0.6765]])
Torch methods can be used, label_tensor.shape=torch.Size([3, 4])
also label_tensor.requires_grad=False
But we have labels as well, e.g. label_tensor.labels=['a', 'b', 'c', 'd']
And we can slice with labels:
label_tensor["a"]=LabelTensor([[0.3340],
[0.1173],
[0.0888]])
Similarly to:
label_tensor[:, 0]=LabelTensor([[0.3340],
[0.1173],
[0.0888]])
</pre>
</div>
</div>
</div>
</div>
</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=98cba096">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
<h4 id="Model-Design"><em><strong>Model Design</strong></em><a class="anchor-link" href="#Model-Design"></a></h4><p>We will now solve the problem using a <strong>simple PyTorch Neural Network</strong> with <strong>Dropout</strong>, which we will implement from scratch following [2].<br/>
It's important to note that PINA provides a wide range of <strong>state-of-the-art (SOTA)</strong> architectures in the <code>pina.model</code> module, which you can explore further <a href="https://mathlab.github.io/PINA/_rst/_code.html#models">here</a>.</p>
<h4 id="Solver-Selection"><em><strong>Solver Selection</strong></em><a class="anchor-link" href="#Solver-Selection"></a></h4><p>For this task, we will use a straightforward <strong>supervised learning</strong> approach by importing the <code>SupervisedSolver</code> from <code>pina.solvers</code>. The solver is responsible for defining the training strategy.</p>
<p>The <code>SupervisedSolver</code> is designed to handle typical regression tasks effectively by minimizing the following loss function:
$$
\mathcal{L}_{\rm{problem}} = \frac{1}{N}\sum_{i=1}^N
\mathcal{L}(y_i - \mathcal{M}_{\theta}(x_i))
$$
where $\mathcal{L}$ is the loss function, with the default being <strong>Mean Squared Error (MSE)</strong>:
$$
\mathcal{L}(v) = \| v \|^2_2.
$$</p>
<h4 id="Training"><strong>Training</strong><a class="anchor-link" href="#Training"></a></h4><p>Next, we will use the <code>Trainer</code> class to train the model. The <code>Trainer</code> class, based on <strong>PyTorch Lightning</strong>, offers many features that help:</p>
<ul>
<li><strong>Improve model accuracy</strong></li>
<li><strong>Reduce training time and memory usage</strong></li>
<li><strong>Facilitate logging and visualization</strong></li>
</ul>
<p>The great work done by the PyTorch Lightning team ensures a streamlined training process.</p>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell" id="cell-id=5388aaaa">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In [4]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="cm-editor cm-s-jupyter">
<div class="highlight hl-ipython3"><pre><span></span><span class="kn">from</span><span class="w"> </span><span class="nn">pina.solver</span><span class="w"> </span><span class="kn">import</span> <span class="n">SupervisedSolver</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">pina.trainer</span><span class="w"> </span><span class="kn">import</span> <span class="n">Trainer</span>
<span class="c1"># define problem &amp; data (step 1)</span>
<span class="k">class</span><span class="w"> </span><span class="nc">BayesianModel</span><span class="p">(</span><span class="n">torch</span><span class="o">.</span><span class="n">nn</span><span class="o">.</span><span class="n">Module</span><span class="p">):</span>
<span class="k">def</span><span class="w"> </span><span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="nb">super</span><span class="p">()</span><span class="o">.</span><span class="fm">__init__</span><span class="p">()</span>
<span class="bp">self</span><span class="o">.</span><span class="n">layers</span> <span class="o">=</span> <span class="n">torch</span><span class="o">.</span><span class="n">nn</span><span class="o">.</span><span class="n">Sequential</span><span class="p">(</span>
<span class="n">torch</span><span class="o">.</span><span class="n">nn</span><span class="o">.</span><span class="n">Linear</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">100</span><span class="p">),</span>
<span class="n">torch</span><span class="o">.</span><span class="n">nn</span><span class="o">.</span><span class="n">ReLU</span><span class="p">(),</span>
<span class="n">torch</span><span class="o">.</span><span class="n">nn</span><span class="o">.</span><span class="n">Dropout</span><span class="p">(</span><span class="mf">0.5</span><span class="p">),</span>
<span class="n">torch</span><span class="o">.</span><span class="n">nn</span><span class="o">.</span><span class="n">Linear</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span> <span class="mi">1</span><span class="p">),</span>
<span class="p">)</span>
<span class="k">def</span><span class="w"> </span><span class="nf">forward</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">x</span><span class="p">):</span>
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">layers</span><span class="p">(</span><span class="n">x</span><span class="p">)</span>
<span class="n">problem</span> <span class="o">=</span> <span class="n">BayesianProblem</span><span class="p">()</span>
<span class="c1"># model design (step 2)</span>
<span class="n">model</span> <span class="o">=</span> <span class="n">BayesianModel</span><span class="p">()</span>
<span class="c1"># solver selection (step 3)</span>
<span class="n">solver</span> <span class="o">=</span> <span class="n">SupervisedSolver</span><span class="p">(</span><span class="n">problem</span><span class="p">,</span> <span class="n">model</span><span class="p">)</span>
<span class="c1"># training (step 4)</span>
<span class="n">trainer</span> <span class="o">=</span> <span class="n">Trainer</span><span class="p">(</span><span class="n">solver</span><span class="o">=</span><span class="n">solver</span><span class="p">,</span> <span class="n">max_epochs</span><span class="o">=</span><span class="mi">2000</span><span class="p">,</span> <span class="n">accelerator</span><span class="o">=</span><span class="s2">"cpu"</span><span class="p">)</span>
<span class="n">trainer</span><span class="o">.</span><span class="n">train</span><span class="p">()</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>
<div class="jp-OutputArea jp-Cell-outputArea">
<div class="jp-OutputArea-child">
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="application/vnd.jupyter.stderr" tabindex="0">
<pre>Using default `ModelCheckpoint`. Consider installing `litmodels` package to enable `LitModelCheckpoint` for automatic upload to the Lightning model registry.
</pre>
</div>
</div>
<div class="jp-OutputArea-child">
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="application/vnd.jupyter.stderr" tabindex="0">
<pre>GPU available: False, used: False
</pre>
</div>
</div>
<div class="jp-OutputArea-child">
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="application/vnd.jupyter.stderr" tabindex="0">
<pre>TPU available: False, using: 0 TPU cores
</pre>
</div>
</div>
<div class="jp-OutputArea-child">
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="application/vnd.jupyter.stderr" tabindex="0">
<pre>HPU available: False, using: 0 HPUs
</pre>
</div>
</div>
<div class="jp-OutputArea-child">
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="application/vnd.jupyter.stderr" tabindex="0">
<pre>
| Name | Type | Params | Mode
----------------------------------------------------
0 | _pina_models | ModuleList | 301 | train
1 | _loss_fn | MSELoss | 0 | train
----------------------------------------------------
301 Trainable params
0 Non-trainable params
301 Total params
0.001 Total estimated model params size (MB)
8 Modules in train mode
0 Modules in eval mode
</pre>
</div>
</div>
<div class="jp-OutputArea-child">
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
<div class="jupyter-widgets jp-OutputArea-output" id="51930d0a-9cd5-469f-bd49-7995bff6fe75" tabindex="0">
<script type="text/javascript">
var element = document.getElementById('51930d0a-9cd5-469f-bd49-7995bff6fe75');
</script>
<script type="application/vnd.jupyter.widget-view+json">
{"version_major": 2, "version_minor": 0, "model_id": "0b2b8fdf9b50438cbcd39f89bb61c3ff"}
</script>
</div>
</div>
<div class="jp-OutputArea-child">
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="application/vnd.jupyter.stderr" tabindex="0">
<pre>`Trainer.fit` stopped: `max_epochs=2000` reached.
</pre>
</div>
</div>
</div>
</div>
</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=5bf9b0d5">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
<h4 id="Model-Training-Complete!-Now-Visualize-the-Solutions"><em><strong>Model Training Complete! Now Visualize the Solutions</strong></em><a class="anchor-link" href="#Model-Training-Complete!-Now-Visualize-the-Solutions"></a></h4><p>The model has been trained! Since we used <strong>Dropout</strong> during training, the model is probabilistic (Bayesian) [3]. This means that each time we evaluate the forward pass on the input points $x_i$, the results will differ due to the stochastic nature of Dropout.</p>
<p>To visualize the model's predictions and uncertainty, we will:</p>
<ol>
<li><strong>Evaluate the Forward Pass</strong>: Perform multiple forward passes to get different predictions for each input $x_i$.</li>
<li><strong>Compute the Mean</strong>: Calculate the average prediction $\mu_\theta$ across all forward passes.</li>
<li><strong>Compute the Standard Deviation</strong>: Calculate the variability of the predictions $\sigma_\theta$, which indicates the model's uncertainty.</li>
</ol>
<p>This allows us to understand not only the predicted values but also the confidence in those predictions.</p>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell" id="cell-id=f2555911">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In [5]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="cm-editor cm-s-jupyter">
<div class="highlight hl-ipython3"><pre><span></span><span class="n">x_test</span> <span class="o">=</span> <span class="n">LabelTensor</span><span class="p">(</span><span class="n">torch</span><span class="o">.</span><span class="n">linspace</span><span class="p">(</span><span class="o">-</span><span class="mi">4</span><span class="p">,</span> <span class="mi">4</span><span class="p">,</span> <span class="mi">100</span><span class="p">)</span><span class="o">.</span><span class="n">reshape</span><span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="mi">1</span><span class="p">),</span> <span class="s2">"x"</span><span class="p">)</span>
<span class="n">y_test</span> <span class="o">=</span> <span class="n">torch</span><span class="o">.</span><span class="n">stack</span><span class="p">([</span><span class="n">solver</span><span class="p">(</span><span class="n">x_test</span><span class="p">)</span> <span class="k">for</span> <span class="n">_</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">1000</span><span class="p">)],</span> <span class="n">dim</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span>
<span class="n">y_mean</span><span class="p">,</span> <span class="n">y_std</span> <span class="o">=</span> <span class="n">y_test</span><span class="o">.</span><span class="n">mean</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span><span class="o">.</span><span class="n">detach</span><span class="p">(),</span> <span class="n">y_test</span><span class="o">.</span><span class="n">std</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span><span class="o">.</span><span class="n">detach</span><span class="p">()</span>
<span class="c1"># plot</span>
<span class="n">x_test</span> <span class="o">=</span> <span class="n">x_test</span><span class="o">.</span><span class="n">flatten</span><span class="p">()</span>
<span class="n">y_mean</span> <span class="o">=</span> <span class="n">y_mean</span><span class="o">.</span><span class="n">flatten</span><span class="p">()</span>
<span class="n">y_std</span> <span class="o">=</span> <span class="n">y_std</span><span class="o">.</span><span class="n">flatten</span><span class="p">()</span>
<span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">x_test</span><span class="p">,</span> <span class="n">y_mean</span><span class="p">,</span> <span class="n">label</span><span class="o">=</span><span class="sa">r</span><span class="s2">"$\mu_{\theta}$"</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">fill_between</span><span class="p">(</span>
<span class="n">x_test</span><span class="p">,</span>
<span class="n">y_mean</span> <span class="o">-</span> <span class="mi">3</span> <span class="o">*</span> <span class="n">y_std</span><span class="p">,</span>
<span class="n">y_mean</span> <span class="o">+</span> <span class="mi">3</span> <span class="o">*</span> <span class="n">y_std</span><span class="p">,</span>
<span class="n">alpha</span><span class="o">=</span><span class="mf">0.3</span><span class="p">,</span>
<span class="n">label</span><span class="o">=</span><span class="sa">r</span><span class="s2">"3$\sigma_{\theta}$"</span><span class="p">,</span>
<span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">x_test</span><span class="p">,</span> <span class="n">x_test</span><span class="o">.</span><span class="n">pow</span><span class="p">(</span><span class="mi">3</span><span class="p">),</span> <span class="n">label</span><span class="o">=</span><span class="s2">"true"</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">scatter</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="n">label</span><span class="o">=</span><span class="s2">"train data"</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">legend</span><span class="p">()</span>
<span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>
<div class="jp-OutputArea jp-Cell-outputArea">
<div class="jp-OutputArea-child">
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
<div class="jp-RenderedImage jp-OutputArea-output" tabindex="0">
<img alt="No description has been provided for this image" class="" src="data:image/png;base64,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a5mZmdrixYsjWFV4ANp7770X6TLCqrKyUgO0FStWRLqUsEpMTNT+/Oc/R7qMkGpoaNBGjhypffbZZ9qZZ56p/fznP+/1GqRFpZMqKiq44YYbeP3114mJiYl0OWFVW1vLG2+8wcyZMzEajZEuJ2wcDgdJSUmRLkMcxePxkJ+fz9y5c4PHdDodc+fOZc2aNRGsTHSXw+EA6Lf/vfn9ft58802ampqYMWNGpMsJqQULFnDBBRe0+e+xt0lQ6QRN05g/fz433XQTU6dOjXQ5YXP33XcTGxvLoEGDOHDgAB988EGkSwqbXbt28fzzz/PTn/400qWIo1RXV+P3+0lLS2tzPC0tjfLy8ghVJbpLVVVuv/12TjvtNMaNGxfpckJq8+bNxMXFYTabuemmm3jvvfcYM2ZMpMsKmTfffJP169ezePHiiNYxoIPKPffcg6Iox71t376d559/noaGBhYuXBjpkruks5/vkF/+8pds2LCBTz/9FL1ezzXXXIMW5QsXd/UzApSUlHDeeedx+eWXc8MNN0So8s7pzucTIposWLCALVu28Oabb0a6lJDLy8ujoKCAb7/9lptvvplrr72WwsLCSJcVEsXFxfz85z/njTfewGKxRLSWAb2EflVVFTU1Ncc9Z9iwYVxxxRX8+9//RlGU4HG/349er+eqq67itddeC3ep3dLZz2cymY45fvDgQbKzs1m9enVUN2V29TOWlpYye/ZsTj31VF599VV0uujO6t35Hb766qvcfvvt1NfXh7m68PB4PMTExPDPf/6TSy+9NHj82muvpb6+vt+19CmKwnvvvdfms/YXt9xyCx988AFfffUVubm5kS4n7ObOncvw4cN5+eWXI11Kj73//vt8//vfR6/XB4/5/X4URUGn0+F2u9s8F06GXnmXKJWSkkJKSsoJz1uyZAkPP/xw8HFpaSnz5s3jrbfeYvr06eEssUc6+/nao6oqEJiOHc268hlLSko466yzmDJlCq+88krUhxTo2e+wrzKZTEyZMoVly5YFv7xVVWXZsmXccsstkS1OdIqmadx666289957LF++fECEFAj8PY32fzM7a86cOWzevLnNseuuu45Ro0Zx991391pIgQEeVDorJyenzeO4uDgAhg8fTlZWViRKCqlvv/2WtWvXMmvWLBITE9m9ezf3338/w4cPj+rWlK4oKSlh9uzZDBkyhKeeeoqqqqrgc+np6RGsLHQOHDhAbW0tBw4cwO/3B9f5GTFiRPDvbF9x5513cu211zJ16lROOeUUnn32WZqamrjuuusiXVpINDY2smvXruDjvXv3UlBQQFJS0jH/3vRFCxYs4B//+AcffPAB8fHxwbFFdrsdq9Ua4epCY+HChZx//vnk5OTQ0NDAP/7xD5YvX84nn3wS6dJCIj4+/pgxRYfGMPb6WKNen2fUD+zdu7dfTU/etGmTdtZZZ2lJSUma2WzWhg4dqt10003awYMHI11ayLzyyisa0O6tv7j22mvb/XxffvllpEvrlueff17LycnRTCaTdsopp2jffPNNpEsKmS+//LLd39W1114b6dJCoqP/1l555ZVIlxYyP/nJT7QhQ4ZoJpNJS0lJ0ebMmaN9+umnkS4rrCI1PXlAj1ERQgghRHSL/k56IYQQQgxYElSEEEIIEbUkqAghhBAiaklQEUIIIUTUkqAihBBCiKglQUUIIYQQUUuCihBCCCGilgQVIYQQQkQtCSpCCCGEiFoSVIQQQggRtSSoCCGEECJqSVARQgghRNT6/6EUp4OZPIajAAAAAElFTkSuQmCC"/>
</div>
</div>
</div>
</div>
</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=ea79c71d">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
<h2 id="PINA-for-Physics-Informed-Machine-Learning">PINA for Physics-Informed Machine Learning<a class="anchor-link" href="#PINA-for-Physics-Informed-Machine-Learning"></a></h2><p>In the previous section, we used PINA for <strong>supervised learning</strong>. However, one of its main strengths lies in <strong>Physics-Informed Machine Learning (PIML)</strong>, specifically through <strong>Physics-Informed Neural Networks (PINNs)</strong>.</p>
<h3 id="What-Are-PINNs?">What Are PINNs?<a class="anchor-link" href="#What-Are-PINNs?"></a></h3><p>PINNs are deep learning models that integrate the laws of physics directly into the training process. By incorporating <strong>differential equations</strong> and <strong>boundary conditions</strong> into the loss function, PINNs allow the modeling of complex physical systems while ensuring the predictions remain consistent with scientific laws.</p>
<h3 id="Solving-a-2D-Poisson-Problem">Solving a 2D Poisson Problem<a class="anchor-link" href="#Solving-a-2D-Poisson-Problem"></a></h3><p>In this section, we will solve a <strong>2D Poisson problem</strong> with <strong>Dirichlet boundary conditions</strong> on an <strong>hourglass-shaped domain</strong> using a simple PINN [4]. You can explore other PINN variants, e.g. [5] or [6] in PINA by visiting the <a href="https://mathlab.github.io/PINA/_rst/_code.html#solvers">PINA solvers documentation</a>. We aim to solve the following 2D Poisson problem:</p>
<p>$$
\begin{cases}
\Delta u(x, y) = \sin{(\pi x)} \sin{(\pi y)} &amp; \text{in } D, \\
u(x, y) = 0 &amp; \text{on } \partial D
\end{cases}
$$</p>
<p>where $D$ is an <strong>hourglass-shaped domain</strong> defined as the difference between a <strong>Cartesian domain</strong> and two intersecting <strong>ellipsoids</strong>, and $\partial D$ is the boundary of the domain.</p>
<h3 id="Building-Complex-Domains">Building Complex Domains<a class="anchor-link" href="#Building-Complex-Domains"></a></h3><p>PINA allows you to build complex geometries easily. It provides many built-in domain shapes and Boolean operators for combining them. For this problem, we will define the hourglass-shaped domain using the existing <code>CartesianDomain</code> and <code>EllipsoidDomain</code> classes, with Boolean operators like <code>Difference</code> and <code>Union</code>.</p>
<blockquote>
<p><strong>👉 If you are interested in exploring the <code>domain</code> module in more detail, check out <a href="https://mathlab.github.io/PINA/_rst/tutorials/tutorial6/tutorial.html">this tutorial</a>.</strong></p>
</blockquote>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs" id="cell-id=02518706">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In [6]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="cm-editor cm-s-jupyter">
<div class="highlight hl-ipython3"><pre><span></span><span class="kn">from</span><span class="w"> </span><span class="nn">pina.domain</span><span class="w"> </span><span class="kn">import</span> <span class="n">EllipsoidDomain</span><span class="p">,</span> <span class="n">Difference</span><span class="p">,</span> <span class="n">CartesianDomain</span><span class="p">,</span> <span class="n">Union</span>
<span class="c1"># (a) Building the interior of the hourglass-shaped domain</span>
<span class="n">cartesian</span> <span class="o">=</span> <span class="n">CartesianDomain</span><span class="p">({</span><span class="s2">"x"</span><span class="p">:</span> <span class="p">[</span><span class="o">-</span><span class="mi">3</span><span class="p">,</span> <span class="mi">3</span><span class="p">],</span> <span class="s2">"y"</span><span class="p">:</span> <span class="p">[</span><span class="o">-</span><span class="mi">3</span><span class="p">,</span> <span class="mi">3</span><span class="p">]})</span>
<span class="n">ellipsoid_1</span> <span class="o">=</span> <span class="n">EllipsoidDomain</span><span class="p">({</span><span class="s2">"x"</span><span class="p">:</span> <span class="p">[</span><span class="o">-</span><span class="mi">5</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">],</span> <span class="s2">"y"</span><span class="p">:</span> <span class="p">[</span><span class="o">-</span><span class="mi">3</span><span class="p">,</span> <span class="mi">3</span><span class="p">]})</span>
<span class="n">ellipsoid_2</span> <span class="o">=</span> <span class="n">EllipsoidDomain</span><span class="p">({</span><span class="s2">"x"</span><span class="p">:</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">5</span><span class="p">],</span> <span class="s2">"y"</span><span class="p">:</span> <span class="p">[</span><span class="o">-</span><span class="mi">3</span><span class="p">,</span> <span class="mi">3</span><span class="p">]})</span>
<span class="n">interior</span> <span class="o">=</span> <span class="n">Difference</span><span class="p">([</span><span class="n">cartesian</span><span class="p">,</span> <span class="n">ellipsoid_1</span><span class="p">,</span> <span class="n">ellipsoid_2</span><span class="p">])</span>
<span class="c1"># (a) Building the boundary of the hourglass-shaped domain</span>
<span class="n">border_ellipsoid_1</span> <span class="o">=</span> <span class="n">EllipsoidDomain</span><span class="p">(</span>
<span class="p">{</span><span class="s2">"x"</span><span class="p">:</span> <span class="p">[</span><span class="o">-</span><span class="mi">5</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">],</span> <span class="s2">"y"</span><span class="p">:</span> <span class="p">[</span><span class="o">-</span><span class="mi">3</span><span class="p">,</span> <span class="mi">3</span><span class="p">]},</span> <span class="n">sample_surface</span><span class="o">=</span><span class="kc">True</span>
<span class="p">)</span>
<span class="n">border_ellipsoid_2</span> <span class="o">=</span> <span class="n">EllipsoidDomain</span><span class="p">(</span>
<span class="p">{</span><span class="s2">"x"</span><span class="p">:</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">5</span><span class="p">],</span> <span class="s2">"y"</span><span class="p">:</span> <span class="p">[</span><span class="o">-</span><span class="mi">3</span><span class="p">,</span> <span class="mi">3</span><span class="p">]},</span> <span class="n">sample_surface</span><span class="o">=</span><span class="kc">True</span>
<span class="p">)</span>
<span class="n">border_1</span> <span class="o">=</span> <span class="n">CartesianDomain</span><span class="p">({</span><span class="s2">"x"</span><span class="p">:</span> <span class="p">[</span><span class="o">-</span><span class="mi">3</span><span class="p">,</span> <span class="mi">3</span><span class="p">],</span> <span class="s2">"y"</span><span class="p">:</span> <span class="mi">3</span><span class="p">})</span>
<span class="n">border_2</span> <span class="o">=</span> <span class="n">CartesianDomain</span><span class="p">({</span><span class="s2">"x"</span><span class="p">:</span> <span class="p">[</span><span class="o">-</span><span class="mi">3</span><span class="p">,</span> <span class="mi">3</span><span class="p">],</span> <span class="s2">"y"</span><span class="p">:</span> <span class="o">-</span><span class="mi">3</span><span class="p">})</span>
<span class="n">ex_1</span> <span class="o">=</span> <span class="n">CartesianDomain</span><span class="p">({</span><span class="s2">"x"</span><span class="p">:</span> <span class="p">[</span><span class="o">-</span><span class="mi">5</span><span class="p">,</span> <span class="o">-</span><span class="mi">3</span><span class="p">],</span> <span class="s2">"y"</span><span class="p">:</span> <span class="p">[</span><span class="o">-</span><span class="mi">3</span><span class="p">,</span> <span class="mi">3</span><span class="p">]})</span>
<span class="n">ex_2</span> <span class="o">=</span> <span class="n">CartesianDomain</span><span class="p">({</span><span class="s2">"x"</span><span class="p">:</span> <span class="p">[</span><span class="mi">3</span><span class="p">,</span> <span class="mi">5</span><span class="p">],</span> <span class="s2">"y"</span><span class="p">:</span> <span class="p">[</span><span class="o">-</span><span class="mi">3</span><span class="p">,</span> <span class="mi">3</span><span class="p">]})</span>
<span class="n">border_ells</span> <span class="o">=</span> <span class="n">Union</span><span class="p">([</span><span class="n">border_ellipsoid_1</span><span class="p">,</span> <span class="n">border_ellipsoid_2</span><span class="p">])</span>
<span class="n">border</span> <span class="o">=</span> <span class="n">Union</span><span class="p">(</span>
<span class="p">[</span>
<span class="n">border_1</span><span class="p">,</span>
<span class="n">border_2</span><span class="p">,</span>
<span class="n">Difference</span><span class="p">(</span>
<span class="p">[</span><span class="n">Union</span><span class="p">([</span><span class="n">border_ellipsoid_1</span><span class="p">,</span> <span class="n">border_ellipsoid_2</span><span class="p">]),</span> <span class="n">ex_1</span><span class="p">,</span> <span class="n">ex_2</span><span class="p">]</span>
<span class="p">),</span>
<span class="p">]</span>
<span class="p">)</span>
<span class="c1"># (c) Sample the domains</span>
<span class="n">interior_samples</span> <span class="o">=</span> <span class="n">interior</span><span class="o">.</span><span class="n">sample</span><span class="p">(</span><span class="n">n</span><span class="o">=</span><span class="mi">1000</span><span class="p">,</span> <span class="n">mode</span><span class="o">=</span><span class="s2">"random"</span><span class="p">)</span>
<span class="n">border_samples</span> <span class="o">=</span> <span class="n">border</span><span class="o">.</span><span class="n">sample</span><span class="p">(</span><span class="n">n</span><span class="o">=</span><span class="mi">1000</span><span class="p">,</span> <span class="n">mode</span><span class="o">=</span><span class="s2">"random"</span><span class="p">)</span>
</pre></div>
</div>
</div>
</div>
</div>
</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=b0da3d52">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
<h4 id="Plotting-the-domain">Plotting the domain<a class="anchor-link" href="#Plotting-the-domain"></a></h4><p>Nice! Now that we have built the domain, let's try to plot it</p>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell" id="cell-id=47459922">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In [7]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="cm-editor cm-s-jupyter">
<div class="highlight hl-ipython3"><pre><span></span><span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">8</span><span class="p">,</span> <span class="mi">4</span><span class="p">))</span>
<span class="n">plt</span><span class="o">.</span><span class="n">subplot</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">scatter</span><span class="p">(</span>
<span class="n">interior_samples</span><span class="o">.</span><span class="n">extract</span><span class="p">(</span><span class="s2">"x"</span><span class="p">),</span>
<span class="n">interior_samples</span><span class="o">.</span><span class="n">extract</span><span class="p">(</span><span class="s2">"y"</span><span class="p">),</span>
<span class="n">c</span><span class="o">=</span><span class="s2">"blue"</span><span class="p">,</span>
<span class="n">alpha</span><span class="o">=</span><span class="mf">0.5</span><span class="p">,</span>
<span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s2">"Hourglass Interior"</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">subplot</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">2</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">scatter</span><span class="p">(</span>
<span class="n">border_samples</span><span class="o">.</span><span class="n">extract</span><span class="p">(</span><span class="s2">"x"</span><span class="p">),</span>
<span class="n">border_samples</span><span class="o">.</span><span class="n">extract</span><span class="p">(</span><span class="s2">"y"</span><span class="p">),</span>
<span class="n">c</span><span class="o">=</span><span class="s2">"blue"</span><span class="p">,</span>
<span class="n">alpha</span><span class="o">=</span><span class="mf">0.5</span><span class="p">,</span>
<span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s2">"Hourglass Border"</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>
<div class="jp-OutputArea jp-Cell-outputArea">
<div class="jp-OutputArea-child">
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
<div class="jp-RenderedImage jp-OutputArea-output" tabindex="0">
<img alt="No description has been provided for this image" class="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAp4AAAF2CAYAAADHiZjhAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8ekN5oAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOx9d3hc1Zn+N71r1EbFKpblIssFGxtMsWkOHQKEtmSTjQ2BQBIggSwLJtkENsUhCdmENEJ+IUACm01CDb0XAwbcjdVsy7K6NKMyml7v7493P587o1Gxre7zPo8eSTO3nHtm7nff85X30yiKopCEhISEhISEhITEOEM72QOQkJCQkJCQkJA4NiCJp4SEhISEhISExIRAEk8JCQkJCQkJCYkJgSSeEhISEhISEhISEwJJPCUkJCQkJCQkJCYEknhKSEhISEhISEhMCCTxlJCQkJCQkJCQmBBI4ikhISEhISEhITEhkMRTQkJCQkJCQkJiQiCJp8SkoKmpiTQaDT3yyCOTPZRpg/Xr11NFRcVkD0NCQmIKQtrU4SHt59SBJJ7TDI888ghpNBrasmVLxvfPPPNMWrJkyQSPauZg/fr1ZLfbj2jfmpoauueee6ipqWlsByUhITFukDZ1fLF+/XrSaDSHfvR6PZWVldE111xDNTU1kz08iUmAfrIHICExU1BTU0P33nsvnXnmmeOysv7DH/5AyWRyzI8rISEhMZ4wmUz0//7f/yMiong8Tvv376cHH3yQXn75ZaqpqaFZs2ZN8gglJhKSeEqMCQKBANlstskexowEz63BYBizYyaTSYpGo2Q2m8fsmBISEmOHmWRT9Xo9ffGLX0x57eSTT6aLL76YXnjhBbrhhhuO+hzhcJiMRiNpteMfyFUUhcLhMFkslnE/10yEDLUfA4jH4/T973+f5s6dSyaTiSoqKujuu++mSCSSsp1Go6F77rln0P4VFRW0fv36Q/9zaOqdd96hr33ta1RQUEClpaWH3v/Nb35DlZWVZLFYaNWqVfTee+/RmWeeSWeeeeaw49y1axetX7+eKisryWw2U1FREV133XXU09OTsp3P56NvfvObVFFRQSaTiQoKCuicc86hbdu2Hdpm7969dMUVV1BRURGZzWYqLS2la665hrxe7+gnTnX9F198MW3atIlWrVpFZrOZKisr6bHHHkuZk6uuuoqIiM4666xDYaW333770DYvvfQSnXbaaWSz2cjhcNBFF11Ee/bsSTkXh/r3799PF154ITkcDvrCF75w6L10T2ogEKBvfetbVFZWRiaTiaqqquhnP/sZKYqSsp1Go6Gbb76ZHn/8cVq8eDGZTCZ6+eWXD3suJCQkpE09WptKRFRUVEREIKVqNDY20lVXXUW5ublktVrp5JNPphdeeCFlm7fffps0Gg399a9/pe985ztUUlJCVquVBgYGiIjomWeeoSVLlpDZbKYlS5bQ008/nXEMyWSSfvGLX9DixYvJbDZTYWEh3XjjjdTX15eyHT8DXnnlFTrhhBPIYrHQ73//+yO6bgnp8Zy28Hq95PF4Br0ei8UGvXb99dfTo48+SldeeSV961vfoo8++og2btxItbW1Q96Qo8HXvvY1crlc9N3vfpcCgQAREf3ud7+jm2++mU477TS67bbbqKmpiS677DLKyclJMaSZ8Nprr1FjYyNde+21VFRURHv27KGHHnqI9uzZQ5s3byaNRkNERDfddBP94x//oJtvvpkWLVpEPT09tGnTJqqtraUVK1ZQNBql8847jyKRCN1yyy1UVFREbW1t9Pzzz1N/fz85nc7DvtZ9+/bRlVdeSV/+8pdp3bp19PDDD9P69etp5cqVtHjxYjr99NPp1ltvpQceeIDuvvtuqq6uJiI69PvPf/4zrVu3js477zy67777KBgM0u9+9ztas2YNbd++PYVQxuNxOu+882jNmjX0s5/9jKxWa8YxKYpCl1xyCb311lv05S9/mZYvX06vvPIK3XHHHdTW1kb//d//nbL9m2++SX/729/o5ptvpvz8fJloLyGhgrSp42tTeW4TiQQ1NjbSnXfeSXl5eXTxxRcf2qarq4tOPfVUCgaDdOutt1JeXh49+uijdMkll9A//vEP+tznPpdyzO9///tkNBrp3//93ykSiZDRaKRXX32VrrjiClq0aBFt3LiRenp66Nprr804VzfeeCM98sgjdO2119Ktt95KBw4coF//+te0fft2ev/991OiTPX19fT5z3+ebrzxRrrhhhuoqqpqxGuWGAKKxLTCn/70J4WIhv1ZvHjxoe137NihEJFy/fXXpxzn3//93xUiUt58881DrxGR8r3vfW/QOWfPnq2sW7du0BjWrFmjxOPxQ69HIhElLy9POfHEE5VYLHbo9UceeUQhIuWMM8449NqBAwcUIlL+9Kc/HXotGAwOOvf//M//KESkvPvuu4deczqdyte//vUh52j79u0KESl///vfh9xmKKxbt06x2Wwpr82ePXvQGLq7uxWTyaR861vfOvTa3//+d4WIlLfeeitlf5/Pp2RnZys33HBDyuudnZ2K0+lMeX3dunUKESl33XVXxrHNnj370P/PPPOMQkTKD37wg5TtrrzySkWj0Sj79u079BoRKVqtVtmzZ8/IkyAhcQxB2tTxt6mZ5rSkpETZunVryrbf/OY3FSJS3nvvvUOv+Xw+Zc6cOUpFRYWSSCQURVGUt956SyEipbKyctA1Ll++XCkuLlb6+/sPvfbqq68qRJRiP9977z2FiJTHH388Zf+XX3550Ov8DHj55ZcP+/olBkOG2qcpfvOb39Brr7026Oe4445L2e7FF18kIqLbb7895fVvfetbRESDQhiHgxtuuIF0Ot2h/7ds2UI9PT10ww03pIRPvvCFL1BOTs6Ix1Pny4TDYfJ4PHTyyScTEaWEfLKzs+mjjz6i9vb2jMfh1fcrr7xCwWDw8C5qCCxatIhOO+20Q/+7XC6qqqqixsbGEfd97bXXqL+/nz7/+c+Tx+M59KPT6eikk06it956a9A+X/3qV0c87osvvkg6nY5uvfXWlNe/9a1vkaIo9NJLL6W8fsYZZ9CiRYtGPK6ExLEIaVPHz6aazeZD8/nKK6/Q73//e7Lb7XThhRdSQ0PDoe1efPFFWrVqFa1Zs+bQa3a7nb7yla9QU1PToCr4devWpVxjR0cH7dixg9atW5fihT3nnHMG2b6///3v5HQ66ZxzzkmxyytXriS73T7ILs+ZM4fOO++8w752icGQofZpilWrVtEJJ5ww6PWcnJyUcNHBgwdJq9XSvHnzUrYrKiqi7OxsOnjw4BGPYc6cOSn/87HSz6XX60cV1u3t7aV7772X/vrXv1J3d3fKe+o8op/85Ce0bt06Kisro5UrV9KFF15IX/rSl6iysvLQuG6//Xb6+c9/To8//jiddtppdMkll9AXv/jFIwqzExGVl5cPei0nJ2dQLlAm7N27l4iI1q5dm/H9rKyslP/1ev2IITQizPesWbPI4XCkvM7h/fTPNv3zkpCQEJA2dfxsqk6no7PPPjvltQsvvJDmz59PGzZsoCeffPLQ9Z500kmD9lfbNLW01VDzNX/+/EHHqKqqGpSz6vV6qaCgIOOY0+dL2s+xgySexwg4l+dIkEgkMr4+1hV9V199NX3wwQd0xx130PLly8lut1MymaTzzz8/RUbo6quvptNOO42efvppevXVV+mnP/0p3XffffTUU0/RBRdcQERE999/P61fv56effZZevXVV+nWW2+ljRs30ubNm0dF6tKh9kKooaQV8WQCj/3Pf/7zoYR6NdKT600m07hUZsoKTAmJsYO0qUdnU0tLS6mqqorefffdI76+o5mvZDJJBQUF9Pjjj2d83+Vyjdm5JFIhiecMx+zZsymZTNLevXsPrRqJkMTd399Ps2fPPvRaTk4O9ff3p+wfjUapo6Nj1OciQiHOWWeddej1eDxOTU1Ng0JWavT19dEbb7xB9957L333u9899Dp7C9NRXFxMX/va1+hrX/sadXd304oVK+iHP/zhISNJRLR06VJaunQpfec736EPPviAVq9eTQ8++CD94Ac/GNX1HC6GehDNnTuXiIgKCgoGrfqPBrNnz6bXX3+dfD5fitezrq7u0PsSEhJjC2lTx86mxuNx8vv9KddbX18/aLvR2jR+P9M1ph937ty59Prrr9Pq1aslqZxgyBzPGY4LL7yQiIh+8YtfpLz+85//nIiILrrookOvzZ07d9Dq86GHHhpydZ6OE044gfLy8ugPf/gDxePxQ68//vjjI4ak2aOY7kFMH3cikRgk31FQUECzZs06JGUyMDCQcn4iGEytVjtI7mQswZp76Q+a8847j7KysuhHP/pRxgpZt9t9ROe78MILKZFI0K9//euU1//7v/+bNBpNygNDQkJibCBtKnC0NrWhoYHq6+tp2bJlh1678MIL6eOPP6YPP/zw0GuBQIAeeughqqioGDFHvbi4mJYvX06PPvpoyjW99tprg/JDr776akokEvT9739/0HHi8fggOy4xdpAezxmOZcuW0bp16+ihhx6i/v5+OuOMM+jjjz+mRx99lC677LKUVfT1119PN910E11xxRV0zjnn0M6dO+mVV16h/Pz8UZ3LaDTSPffcQ7fccgutXbuWrr76ampqaqJHHnmE5s6dO2xoKisri04//XT6yU9+QrFYjEpKSujVV1+lAwcOpGzn8/motLSUrrzySlq2bBnZ7XZ6/fXX6ZNPPqH777+fiCAbdPPNN9NVV11FCxYsoHg8Tn/+859Jp9PRFVdccQSzODosX76cdDod3XfffeT1eslkMtHatWupoKCAfve739G//du/0YoVK+iaa64hl8tFzc3N9MILL9Dq1asHkcfR4LOf/SydddZZ9O1vf5uamppo2bJl9Oqrr9Kzzz5L3/zmNw95WiUkJMYO0qYevk2Nx+P0l7/8hYgQ4m5qaqIHH3yQkskkfe973zu03V133UX/8z//QxdccAHdeuutlJubS48++igdOHCAnnzyyVGlIG3cuJEuuugiWrNmDV133XXU29tLv/rVr2jx4sUp3tUzzjiDbrzxRtq4cSPt2LGDzj33XDIYDLR37176+9//Tr/85S/pyiuvHPF8EkeAyS2qlzhcsOzGJ598kvH9M844I0X6Q1EUJRaLKffee68yZ84cxWAwKGVlZcqGDRuUcDicsl0ikVDuvPNOJT8/X7Farcp5552n7Nu3b0jpj6HG8MADDyizZ89WTCaTsmrVKuX9999XVq5cqZx//vmHtskk/dHa2qp87nOfU7KzsxWn06lcddVVSnt7e4okSSQSUe644w5l2bJlisPhUGw2m7Js2TLlt7/97aHjNDY2Ktddd50yd+5cxWw2K7m5ucpZZ52lvP766yPO71ByShdddNGgbc8444wUORNFUZQ//OEPSmVlpaLT6QZJK7311lvKeeedpzidTsVsNitz585V1q9fr2zZsmXY86vfU8uBKAqkRm677TZl1qxZisFgUObPn6/89Kc/VZLJZMp2RDSsXIqExLEKaVPH36ZSmpRSVlaW8pnPfCbj/vv371euvPJKJTs7WzGbzcqqVauU559/PmUbllMaSt7pySefVKqrqxWTyaQsWrRIeeqppzLaT0VRlIceekhZuXKlYrFYFIfDoSxdulT5j//4D6W9vf3QNkM9AySODBpFGUV1hITEUSCZTJLL5aLLL7+c/vCHP0z2cCQkJCSmNaRNlZjOkDmeEmOKcDg8KKfoscceo97e3hHbu0lISEhIpELaVImZBunxlBhTvP3223TbbbfRVVddRXl5ebRt2zb64x//SNXV1bR161YyGo2TPUQJCQmJaQNpUyVmGmRxkcSYoqKigsrKyuiBBx6g3t5eys3NpS996Uv04x//WBpICQkJicOEtKkSMw3S4ykhISEhISEhITEhkDmeEhISEhISEhISEwJJPCUkJCQkJCQkJCYEUzrHM5lMUnt7Ozkc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"/>
</div>
</div>
</div>
</div>
</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=4d2e59a9">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
<h4 id="Writing-the-Poisson-Problem-Class">Writing the Poisson Problem Class<a class="anchor-link" href="#Writing-the-Poisson-Problem-Class"></a></h4><p>Very good! Now we will implement the problem class for the 2D Poisson problem. Unlike the previous examples, where we inherited from <code>AbstractProblem</code>, for this problem, we will inherit from the <code>SpatialProblem</code> class.</p>
<p>The reason for this is that the Poisson problem involves <strong>spatial variables</strong> as input, so we use <code>SpatialProblem</code> to handle such cases.</p>
<p>This will allow us to define the problem with spatial dependencies and set up the neural network model accordingly.</p>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs" id="cell-id=e1eb5a09">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In [8]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="cm-editor cm-s-jupyter">
<div class="highlight hl-ipython3"><pre><span></span><span class="kn">from</span><span class="w"> </span><span class="nn">pina.problem</span><span class="w"> </span><span class="kn">import</span> <span class="n">SpatialProblem</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">pina.operator</span><span class="w"> </span><span class="kn">import</span> <span class="n">laplacian</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">pina.equation</span><span class="w"> </span><span class="kn">import</span> <span class="n">FixedValue</span><span class="p">,</span> <span class="n">Equation</span>
<span class="k">def</span><span class="w"> </span><span class="nf">poisson_equation</span><span class="p">(</span><span class="n">input_</span><span class="p">,</span> <span class="n">output_</span><span class="p">):</span>
<span class="n">force_term</span> <span class="o">=</span> <span class="n">torch</span><span class="o">.</span><span class="n">sin</span><span class="p">(</span><span class="n">input_</span><span class="o">.</span><span class="n">extract</span><span class="p">([</span><span class="s2">"x"</span><span class="p">])</span> <span class="o">*</span> <span class="n">torch</span><span class="o">.</span><span class="n">pi</span><span class="p">)</span> <span class="o">*</span> <span class="n">torch</span><span class="o">.</span><span class="n">sin</span><span class="p">(</span>
<span class="n">input_</span><span class="o">.</span><span class="n">extract</span><span class="p">([</span><span class="s2">"y"</span><span class="p">])</span> <span class="o">*</span> <span class="n">torch</span><span class="o">.</span><span class="n">pi</span>
<span class="p">)</span>
<span class="n">laplacian_u</span> <span class="o">=</span> <span class="n">laplacian</span><span class="p">(</span><span class="n">output_</span><span class="p">,</span> <span class="n">input_</span><span class="p">,</span> <span class="n">components</span><span class="o">=</span><span class="p">[</span><span class="s2">"u"</span><span class="p">],</span> <span class="n">d</span><span class="o">=</span><span class="p">[</span><span class="s2">"x"</span><span class="p">,</span> <span class="s2">"y"</span><span class="p">])</span>
<span class="k">return</span> <span class="n">laplacian_u</span> <span class="o">-</span> <span class="n">force_term</span>
<span class="k">class</span><span class="w"> </span><span class="nc">Poisson</span><span class="p">(</span><span class="n">SpatialProblem</span><span class="p">):</span>
<span class="c1"># define output_variables and spatial_domain</span>
<span class="n">output_variables</span> <span class="o">=</span> <span class="p">[</span><span class="s2">"u"</span><span class="p">]</span>
<span class="n">spatial_domain</span> <span class="o">=</span> <span class="n">Union</span><span class="p">([</span><span class="n">interior</span><span class="p">,</span> <span class="n">border</span><span class="p">])</span>
<span class="c1"># define the domains</span>
<span class="n">domains</span> <span class="o">=</span> <span class="p">{</span><span class="s2">"border"</span><span class="p">:</span> <span class="n">border</span><span class="p">,</span> <span class="s2">"interior"</span><span class="p">:</span> <span class="n">interior</span><span class="p">}</span>
<span class="c1"># define the conditions</span>
<span class="n">conditions</span> <span class="o">=</span> <span class="p">{</span>
<span class="s2">"border"</span><span class="p">:</span> <span class="n">Condition</span><span class="p">(</span><span class="n">domain</span><span class="o">=</span><span class="s2">"border"</span><span class="p">,</span> <span class="n">equation</span><span class="o">=</span><span class="n">FixedValue</span><span class="p">(</span><span class="mf">0.0</span><span class="p">)),</span>
<span class="s2">"interior"</span><span class="p">:</span> <span class="n">Condition</span><span class="p">(</span>
<span class="n">domain</span><span class="o">=</span><span class="s2">"interior"</span><span class="p">,</span> <span class="n">equation</span><span class="o">=</span><span class="n">Equation</span><span class="p">(</span><span class="n">poisson_equation</span><span class="p">)</span>
<span class="p">),</span>
<span class="p">}</span>
<span class="n">poisson_problem</span> <span class="o">=</span> <span class="n">Poisson</span><span class="p">()</span>
</pre></div>
</div>
</div>
</div>
</div>
</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=f49a8307">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
<p>As you can see, writing the problem class for a differential equation in PINA is straightforward! The main differences are:</p>
<ul>
<li>We inherit from <strong><code>SpatialProblem</code></strong> instead of <code>AbstractProblem</code> to account for spatial variables.</li>
<li>We use <strong><code>domain</code></strong> and <strong><code>equation</code></strong> inside the <code>Condition</code> to define the problem.</li>
</ul>
<p>The <code>Equation</code> class can be very useful for creating modular problem classes. If you're interested, check out <a href="https://mathlab.github.io/PINA/_rst/tutorial12/tutorial.html">this tutorial</a> for more details. There's also a dedicated <a href="https://mathlab.github.io/PINA/_rst/tutorial16/tutorial.html">tutorial</a> for building custom problems!</p>
<p>Once the problem class is set, we need to <strong>sample the domain</strong> to obtain the data. PINA will automatically handle this, and if you forget to sample, an error will be raised before training begins 😉.</p>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell" id="cell-id=a95bb250">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In [9]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="cm-editor cm-s-jupyter">
<div class="highlight hl-ipython3"><pre><span></span><span class="nb">print</span><span class="p">(</span><span class="s2">"Points are not automatically sampled, you can see this by:"</span><span class="p">)</span>
<span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">" </span><span class="si">{</span><span class="n">poisson_problem</span><span class="o">.</span><span class="n">are_all_domains_discretised</span><span class="si">=}</span><span class="se">\n</span><span class="s2">"</span><span class="p">)</span>
<span class="nb">print</span><span class="p">(</span><span class="s2">"But you can easily sample by running .discretise_domain:"</span><span class="p">)</span>
<span class="n">poisson_problem</span><span class="o">.</span><span class="n">discretise_domain</span><span class="p">(</span><span class="n">n</span><span class="o">=</span><span class="mi">1000</span><span class="p">,</span> <span class="n">domains</span><span class="o">=</span><span class="p">[</span><span class="s2">"interior"</span><span class="p">])</span>
<span class="n">poisson_problem</span><span class="o">.</span><span class="n">discretise_domain</span><span class="p">(</span><span class="n">n</span><span class="o">=</span><span class="mi">100</span><span class="p">,</span> <span class="n">domains</span><span class="o">=</span><span class="p">[</span><span class="s2">"border"</span><span class="p">])</span>
<span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">" </span><span class="si">{</span><span class="n">poisson_problem</span><span class="o">.</span><span class="n">are_all_domains_discretised</span><span class="si">=}</span><span class="s2">"</span><span class="p">)</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>
<div class="jp-OutputArea jp-Cell-outputArea">
<div class="jp-OutputArea-child">
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
<pre>Points are not automatically sampled, you can see this by:
poisson_problem.are_all_domains_discretised=False
But you can easily sample by running .discretise_domain:
</pre>
</div>
</div>
<div class="jp-OutputArea-child">
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
<pre> poisson_problem.are_all_domains_discretised=True
</pre>
</div>
</div>
</div>
</div>
</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=a2c7b406">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
<h3 id="Building-the-Model">Building the Model<a class="anchor-link" href="#Building-the-Model"></a></h3><p>After setting the problem and sampling the domain, the next step is to <strong>build the model</strong> $\mathcal{M}_{\theta}$.</p>
<p>For this, we will use the custom PINA models available <a href="https://mathlab.github.io/PINA/_rst/_code.html#models">here</a>. Specifically, we will use a <strong>feed-forward neural network</strong> by importing the <code>FeedForward</code> class.</p>
<p>This neural network takes the <strong>coordinates</strong> (in this case <code>['x', 'y']</code>) as input and outputs the unknown field of the Poisson problem.</p>
<p>In this tutorial, the neural network is composed of 2 hidden layers, each with 120 neurons and tanh activation.</p>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs" id="cell-id=b893232b">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In [10]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="cm-editor cm-s-jupyter">
<div class="highlight hl-ipython3"><pre><span></span><span class="kn">from</span><span class="w"> </span><span class="nn">pina.model</span><span class="w"> </span><span class="kn">import</span> <span class="n">FeedForward</span>
<span class="n">model</span> <span class="o">=</span> <span class="n">FeedForward</span><span class="p">(</span>
<span class="n">func</span><span class="o">=</span><span class="n">torch</span><span class="o">.</span><span class="n">nn</span><span class="o">.</span><span class="n">Tanh</span><span class="p">,</span>
<span class="n">layers</span><span class="o">=</span><span class="p">[</span><span class="mi">120</span><span class="p">]</span> <span class="o">*</span> <span class="mi">2</span><span class="p">,</span>
<span class="n">output_dimensions</span><span class="o">=</span><span class="nb">len</span><span class="p">(</span><span class="n">poisson_problem</span><span class="o">.</span><span class="n">output_variables</span><span class="p">),</span>
<span class="n">input_dimensions</span><span class="o">=</span><span class="nb">len</span><span class="p">(</span><span class="n">poisson_problem</span><span class="o">.</span><span class="n">input_variables</span><span class="p">),</span>
<span class="p">)</span>
</pre></div>
</div>
</div>
</div>
</div>
</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=37b09ea9">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
<h3 id="Solver-Selection">Solver Selection<a class="anchor-link" href="#Solver-Selection"></a></h3><p>The thir part of the PINA pipeline involves using a <strong>Solver</strong>.</p>
<p>In this tutorial, we will use the <strong>classical PINN</strong> solver. However, many other variants are also available and we invite to try them!</p>
<h4 id="Loss-Function-in-PINA">Loss Function in PINA<a class="anchor-link" href="#Loss-Function-in-PINA"></a></h4><p>The loss function in the <strong>classical PINN</strong> is defined as follows:</p>
<p>$$\theta_{\rm{best}}=\min_{\theta}\mathcal{L}_{\rm{problem}}(\theta), \quad \mathcal{L}_{\rm{problem}}(\theta)= \frac{1}{N_{D}}\sum_{i=1}^N
\mathcal{L}(\Delta\mathcal{M}_{\theta}(\mathbf{x}_i, \mathbf{y}_i) - \sin(\pi x_i)\sin(\pi y_i)) +
\frac{1}{N}\sum_{i=1}^N
\mathcal{L}(\mathcal{M}_{\theta}(\mathbf{x}_i, \mathbf{y}_i))$$</p>
<p>This loss consists of:</p>
<ol>
<li>The <strong>differential equation residual</strong>: Ensures the model satisfies the Poisson equation.</li>
<li>The <strong>boundary condition</strong>: Ensures the model satisfies the Dirichlet boundary condition.</li>
</ol>
<h3 id="Training">Training<a class="anchor-link" href="#Training"></a></h3><p>For the last part of the pipeline we need a <code>Trainer</code>. We will train the model for <strong>1000 epochs</strong> using the default optimizer parameters. These parameters can be adjusted as needed. For more details, check the solvers documentation <a href="https://mathlab.github.io/PINA/_rst/_code.html#solvers">here</a>.</p>
<p>To track metrics during training, we use the <strong><code>MetricTracker</code></strong> class.</p>
<blockquote>
<p><strong>👉 Want to know more about <code>Trainer</code> and how to boost PINA performance, check out <a href="https://mathlab.github.io/PINA/_rst/tutorials/tutorial11/tutorial.html">this tutorial</a>.</strong></p>
</blockquote>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell" id="cell-id=0f135cc4">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In [11]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="cm-editor cm-s-jupyter">
<div class="highlight hl-ipython3"><pre><span></span><span class="kn">from</span><span class="w"> </span><span class="nn">pina.solver</span><span class="w"> </span><span class="kn">import</span> <span class="n">PINN</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">pina.callback</span><span class="w"> </span><span class="kn">import</span> <span class="n">MetricTracker</span>
<span class="c1"># define the solver</span>
<span class="n">solver</span> <span class="o">=</span> <span class="n">PINN</span><span class="p">(</span><span class="n">poisson_problem</span><span class="p">,</span> <span class="n">model</span><span class="p">)</span>
<span class="c1"># define trainer</span>
<span class="n">trainer</span> <span class="o">=</span> <span class="n">Trainer</span><span class="p">(</span>
<span class="n">solver</span><span class="p">,</span>
<span class="n">max_epochs</span><span class="o">=</span><span class="mi">1500</span><span class="p">,</span>
<span class="n">callbacks</span><span class="o">=</span><span class="p">[</span><span class="n">MetricTracker</span><span class="p">()],</span>
<span class="n">accelerator</span><span class="o">=</span><span class="s2">"cpu"</span><span class="p">,</span>
<span class="n">enable_model_summary</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
<span class="p">)</span>
<span class="c1"># train</span>
<span class="n">trainer</span><span class="o">.</span><span class="n">train</span><span class="p">()</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>
<div class="jp-OutputArea jp-Cell-outputArea">
<div class="jp-OutputArea-child">
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="application/vnd.jupyter.stderr" tabindex="0">
<pre>Using default `ModelCheckpoint`. Consider installing `litmodels` package to enable `LitModelCheckpoint` for automatic upload to the Lightning model registry.
</pre>
</div>
</div>
<div class="jp-OutputArea-child">
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="application/vnd.jupyter.stderr" tabindex="0">
<pre>GPU available: False, used: False
</pre>
</div>
</div>
<div class="jp-OutputArea-child">
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="application/vnd.jupyter.stderr" tabindex="0">
<pre>TPU available: False, using: 0 TPU cores
</pre>
</div>
</div>
<div class="jp-OutputArea-child">
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="application/vnd.jupyter.stderr" tabindex="0">
<pre>HPU available: False, using: 0 HPUs
</pre>
</div>
</div>
<div class="jp-OutputArea-child">
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
<div class="jupyter-widgets jp-OutputArea-output" id="bebd66fb-df32-4f67-a307-6fc1efcf0201" tabindex="0">
<script type="text/javascript">
var element = document.getElementById('bebd66fb-df32-4f67-a307-6fc1efcf0201');
</script>
<script type="application/vnd.jupyter.widget-view+json">
{"version_major": 2, "version_minor": 0, "model_id": "5d7edaeeeaeb4c8cb381b6c939323191"}
</script>
</div>
</div>
<div class="jp-OutputArea-child">
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="application/vnd.jupyter.stderr" tabindex="0">
<pre>`Trainer.fit` stopped: `max_epochs=1500` reached.
</pre>
</div>
</div>
</div>
</div>
</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=a3d9fc51">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
<p>Done! We can plot the solution and its residual</p>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell" id="cell-id=dea7acf4">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In [12]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="cm-editor cm-s-jupyter">
<div class="highlight hl-ipython3"><pre><span></span><span class="c1"># sample points in the domain. remember to set requires_grad!</span>
<span class="n">pts</span> <span class="o">=</span> <span class="n">poisson_problem</span><span class="o">.</span><span class="n">spatial_domain</span><span class="o">.</span><span class="n">sample</span><span class="p">(</span><span class="mi">1000</span><span class="p">)</span><span class="o">.</span><span class="n">requires_grad_</span><span class="p">(</span><span class="kc">True</span><span class="p">)</span>
<span class="c1"># compute the solution</span>
<span class="n">solution</span> <span class="o">=</span> <span class="n">solver</span><span class="p">(</span><span class="n">pts</span><span class="p">)</span>
<span class="c1"># compute the residual in the interior</span>
<span class="n">equation</span> <span class="o">=</span> <span class="n">poisson_problem</span><span class="o">.</span><span class="n">conditions</span><span class="p">[</span><span class="s2">"interior"</span><span class="p">]</span><span class="o">.</span><span class="n">equation</span>
<span class="n">residual</span> <span class="o">=</span> <span class="n">solver</span><span class="o">.</span><span class="n">compute_residual</span><span class="p">(</span><span class="n">pts</span><span class="p">,</span> <span class="n">equation</span><span class="p">)</span>
<span class="c1"># simple plot</span>
<span class="k">with</span> <span class="n">torch</span><span class="o">.</span><span class="n">no_grad</span><span class="p">():</span>
<span class="n">plt</span><span class="o">.</span><span class="n">subplot</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">scatter</span><span class="p">(</span>
<span class="n">pts</span><span class="o">.</span><span class="n">extract</span><span class="p">(</span><span class="s2">"x"</span><span class="p">)</span><span class="o">.</span><span class="n">flatten</span><span class="p">(),</span>
<span class="n">pts</span><span class="o">.</span><span class="n">extract</span><span class="p">(</span><span class="s2">"y"</span><span class="p">)</span><span class="o">.</span><span class="n">flatten</span><span class="p">(),</span>
<span class="n">c</span><span class="o">=</span><span class="n">solution</span><span class="o">.</span><span class="n">extract</span><span class="p">(</span><span class="s2">"u"</span><span class="p">)</span><span class="o">.</span><span class="n">flatten</span><span class="p">(),</span>
<span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">colorbar</span><span class="p">()</span>
<span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s2">"Solution"</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">subplot</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">2</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">scatter</span><span class="p">(</span>
<span class="n">pts</span><span class="o">.</span><span class="n">extract</span><span class="p">(</span><span class="s2">"x"</span><span class="p">)</span><span class="o">.</span><span class="n">flatten</span><span class="p">(),</span>
<span class="n">pts</span><span class="o">.</span><span class="n">extract</span><span class="p">(</span><span class="s2">"y"</span><span class="p">)</span><span class="o">.</span><span class="n">flatten</span><span class="p">(),</span>
<span class="n">c</span><span class="o">=</span><span class="n">residual</span><span class="o">.</span><span class="n">flatten</span><span class="p">(),</span>
<span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">colorbar</span><span class="p">()</span>
<span class="n">plt</span><span class="o">.</span><span class="n">tight_layout</span><span class="p">()</span>
<span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s2">"Residual"</span><span class="p">)</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>
<div class="jp-OutputArea jp-Cell-outputArea">
<div class="jp-OutputArea-child">
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
<div class="jp-RenderedImage jp-OutputArea-output" tabindex="0">
<img alt="No description has been provided for this image" class="" src="data:image/png;base64,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"/>
</div>
</div>
</div>
</div>
</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=487c1d47">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
<h2 id="What's-Next?">What's Next?<a class="anchor-link" href="#What's-Next?"></a></h2><p>Congratulations on completing the introductory tutorial of <strong>PINA</strong>! Now that you have a solid foundation, here are a few directions you can explore:</p>
<ol>
<li><p><strong>Explore Advanced Solvers</strong>: Dive into more advanced solvers like <strong>SAPINN</strong> or <strong>RBAPINN</strong> and experiment with different variations of Physics-Informed Neural Networks.</p>
</li>
<li><p><strong>Apply PINA to New Problems</strong>: Try solving other types of differential equations or explore inverse problems and parametric problems using the PINA framework.</p>
</li>
<li><p><strong>Optimize Model Performance</strong>: Use the <code>Trainer</code> class to enhance model performance by exploring features like dynamic learning rates, early stopping, and model checkpoints.</p>
</li>
<li><p><strong>...and many more!</strong> — There are countless directions to further explore, from testing on different problems to refining the model architecture!</p>
</li>
</ol>
<p>For more resources and tutorials, check out the <a href="https://mathlab.github.io/PINA/">PINA Documentation</a>.</p>
<h3 id="References">References<a class="anchor-link" href="#References"></a></h3><p>[1] <em>Coscia, Dario, et al. "Physics-informed neural networks for advanced modeling." Journal of Open Source Software, 2023.</em></p>
<p>[2] <em>Hernández-Lobato, José Miguel, and Ryan Adams. "Probabilistic backpropagation for scalable learning of bayesian neural networks." International conference on machine learning, 2015.</em></p>
<p>[3] <em>Gal, Yarin, and Zoubin Ghahramani. "Dropout as a bayesian approximation: Representing model uncertainty in deep learning." International conference on machine learning, 2016.</em></p>
<p>[4] <em>Raissi, Maziar, Paris Perdikaris, and George E. Karniadakis. "Physics-informed neural networks: A deep learning framework for solving forward and inverse problems involving nonlinear partial differential equations." Journal of Computational Physics, 2019.</em></p>
<p>[5] <em>McClenny, Levi D., and Ulisses M. Braga-Neto. "Self-adaptive physics-informed neural networks." Journal of Computational Physics, 2023.</em></p>
<p>[6] <em>Anagnostopoulos, Sokratis J., et al. "Residual-based attention in physics-informed neural networks." Computer Methods in Applied Mechanics and Engineering, 2024.</em></p>
</div>
</div>
</div>
</div>
</main>
</body>
<script type="application/vnd.jupyter.widget-state+json">
{"state": {"fd013918fa1b426c94de9f0303be4fbf": {"model_name": "LayoutModel", "model_module": "@jupyter-widgets\/base", "model_module_version": "2.0.0", "state": {"_model_module": "@jupyter-widgets\/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets\/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": "2", "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null}}, "6eed8405c6374ffeb5ec6bb79654c438": {"model_name": "ProgressStyleModel", "model_module": "@jupyter-widgets\/controls", "model_module_version": "2.0.0", "state": {"_model_module": "@jupyter-widgets\/controls", "_model_module_version": "2.0.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets\/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "bar_color": null, "description_width": ""}}, "d11c5bb2f0bc48aba0e7bcd0e6ca0d22": {"model_name": "FloatProgressModel", "model_module": "@jupyter-widgets\/controls", "model_module_version": "2.0.0", "state": {"_dom_classes": [], "_model_module": "@jupyter-widgets\/controls", "_model_module_version": "2.0.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets\/controls", "_view_module_version": "2.0.0", "_view_name": "ProgressView", "bar_style": "success", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_fd013918fa1b426c94de9f0303be4fbf", "max": 1.0, "min": 0.0, "orientation": "horizontal", "style": "IPY_MODEL_6eed8405c6374ffeb5ec6bb79654c438", "tabbable": null, "tooltip": null, "value": 1.0}}, "c13bb52029074fdc9441efa3fcdb6a7a": {"model_name": "LayoutModel", "model_module": "@jupyter-widgets\/base", "model_module_version": "2.0.0", "state": {"_model_module": "@jupyter-widgets\/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets\/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null}}, "c3643f33c9cf42fc8f1113de06f3b647": {"model_name": "HTMLStyleModel", "model_module": "@jupyter-widgets\/controls", "model_module_version": "2.0.0", "state": {"_model_module": "@jupyter-widgets\/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets\/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "background": null, "description_width": "", "font_size": null, "text_color": null}}, "5d1b8dd89e034dd1a213a6f9b3e78528": {"model_name": "HTMLModel", "model_module": "@jupyter-widgets\/controls", "model_module_version": "2.0.0", "state": {"_dom_classes": [], "_model_module": "@jupyter-widgets\/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets\/controls", "_view_module_version": "2.0.0", "_view_name": "HTMLView", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_c13bb52029074fdc9441efa3fcdb6a7a", "placeholder": "\u200b", "style": "IPY_MODEL_c3643f33c9cf42fc8f1113de06f3b647", "tabbable": null, "tooltip": null, "value": "Epoch\u20071999:\u2007100%"}}, "23e81651efbe4f07af13012fb1596d45": {"model_name": "LayoutModel", "model_module": "@jupyter-widgets\/base", "model_module_version": "2.0.0", "state": {"_model_module": "@jupyter-widgets\/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets\/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null}}, "16300c025a8245acaab6626210c1aae6": {"model_name": "HTMLStyleModel", "model_module": "@jupyter-widgets\/controls", "model_module_version": "2.0.0", "state": {"_model_module": "@jupyter-widgets\/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets\/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "background": null, "description_width": "", "font_size": null, "text_color": null}}, "cedf2b88841f43a2b55ad3b2fba1a081": {"model_name": "HTMLModel", "model_module": "@jupyter-widgets\/controls", "model_module_version": "2.0.0", "state": {"_dom_classes": [], "_model_module": "@jupyter-widgets\/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets\/controls", "_view_module_version": "2.0.0", "_view_name": "HTMLView", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_23e81651efbe4f07af13012fb1596d45", "placeholder": "\u200b", "style": "IPY_MODEL_16300c025a8245acaab6626210c1aae6", "tabbable": null, "tooltip": null, "value": "\u20071\/1\u2007[00:00&lt;00:00,\u2007103.69it\/s,\u2007v_num=0,\u2007data_loss=8.190,\u2007train_loss=8.190]"}}, "586fa29477ca4be89e37bb82805f1375": {"model_name": "LayoutModel", "model_module": "@jupyter-widgets\/base", "model_module_version": "2.0.0", "state": {"_model_module": "@jupyter-widgets\/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets\/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": "inline-flex", "flex": null, "flex_flow": "row wrap", "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": "100%"}}, "0b2b8fdf9b50438cbcd39f89bb61c3ff": {"model_name": "HBoxModel", "model_module": "@jupyter-widgets\/controls", "model_module_version": "2.0.0", "state": {"_dom_classes": [], "_model_module": "@jupyter-widgets\/controls", "_model_module_version": "2.0.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets\/controls", "_view_module_version": "2.0.0", "_view_name": "HBoxView", "box_style": "", "children": ["IPY_MODEL_5d1b8dd89e034dd1a213a6f9b3e78528", "IPY_MODEL_d11c5bb2f0bc48aba0e7bcd0e6ca0d22", "IPY_MODEL_cedf2b88841f43a2b55ad3b2fba1a081"], "layout": "IPY_MODEL_586fa29477ca4be89e37bb82805f1375", "tabbable": null, "tooltip": null}}, "2f120eb59b254036848deda192728ed5": {"model_name": "LayoutModel", "model_module": "@jupyter-widgets\/base", "model_module_version": "2.0.0", "state": {"_model_module": "@jupyter-widgets\/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets\/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": "2", "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null}}, "9210e1a6c2a84e90b83148cce1bf06f8": {"model_name": "ProgressStyleModel", "model_module": "@jupyter-widgets\/controls", "model_module_version": "2.0.0", "state": {"_model_module": "@jupyter-widgets\/controls", "_model_module_version": "2.0.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets\/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "bar_color": null, "description_width": ""}}, "cf03c9eb5ff040528c01ae5a6093c090": {"model_name": "FloatProgressModel", "model_module": "@jupyter-widgets\/controls", "model_module_version": "2.0.0", "state": {"_dom_classes": [], "_model_module": "@jupyter-widgets\/controls", "_model_module_version": "2.0.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets\/controls", "_view_module_version": "2.0.0", "_view_name": "ProgressView", "bar_style": "success", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_2f120eb59b254036848deda192728ed5", "max": 1.0, "min": 0.0, "orientation": "horizontal", "style": "IPY_MODEL_9210e1a6c2a84e90b83148cce1bf06f8", "tabbable": null, "tooltip": null, "value": 1.0}}, "1cf94fcf094f4b57971783b8c7c7b87d": {"model_name": "LayoutModel", "model_module": "@jupyter-widgets\/base", "model_module_version": "2.0.0", "state": {"_model_module": "@jupyter-widgets\/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets\/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null}}, "403c1858ea8145bbbb3a2b892442d1f8": {"model_name": "HTMLStyleModel", "model_module": "@jupyter-widgets\/controls", "model_module_version": "2.0.0", "state": {"_model_module": "@jupyter-widgets\/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets\/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "background": null, "description_width": "", "font_size": null, "text_color": null}}, "c3c63df6639e425dac5009d8871a66a0": {"model_name": "HTMLModel", "model_module": "@jupyter-widgets\/controls", "model_module_version": "2.0.0", "state": {"_dom_classes": [], "_model_module": "@jupyter-widgets\/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets\/controls", "_view_module_version": "2.0.0", "_view_name": "HTMLView", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_1cf94fcf094f4b57971783b8c7c7b87d", "placeholder": "\u200b", "style": "IPY_MODEL_403c1858ea8145bbbb3a2b892442d1f8", "tabbable": null, "tooltip": null, "value": "Epoch\u20071499:\u2007100%"}}, "d60b59333cbd41c894bf932e1b448896": {"model_name": "LayoutModel", "model_module": "@jupyter-widgets\/base", "model_module_version": "2.0.0", "state": {"_model_module": "@jupyter-widgets\/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets\/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null}}, "d852fdae6b234cbd848efeb8a4ae26f5": {"model_name": "HTMLStyleModel", "model_module": "@jupyter-widgets\/controls", "model_module_version": "2.0.0", "state": {"_model_module": "@jupyter-widgets\/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets\/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "background": null, "description_width": "", "font_size": null, "text_color": null}}, "c55e6c2f2a4f4e2099a0f0aff41f5d14": {"model_name": "HTMLModel", "model_module": "@jupyter-widgets\/controls", "model_module_version": "2.0.0", "state": {"_dom_classes": [], "_model_module": "@jupyter-widgets\/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets\/controls", "_view_module_version": "2.0.0", "_view_name": "HTMLView", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_d60b59333cbd41c894bf932e1b448896", "placeholder": "\u200b", "style": "IPY_MODEL_d852fdae6b234cbd848efeb8a4ae26f5", "tabbable": null, "tooltip": null, "value": "\u20071\/1\u2007[00:00&lt;00:00,\u200735.38it\/s,\u2007v_num=1,\u2007border_loss=0.000387,\u2007interior_loss=0.000824,\u2007train_loss=0.00121]"}}, "641996a60fc5423a837ae008abbb7e2b": {"model_name": "LayoutModel", "model_module": "@jupyter-widgets\/base", "model_module_version": "2.0.0", "state": {"_model_module": "@jupyter-widgets\/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets\/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": "inline-flex", "flex": null, "flex_flow": "row wrap", "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": "100%"}}, "5d7edaeeeaeb4c8cb381b6c939323191": {"model_name": "HBoxModel", "model_module": "@jupyter-widgets\/controls", "model_module_version": "2.0.0", "state": {"_dom_classes": [], "_model_module": "@jupyter-widgets\/controls", "_model_module_version": "2.0.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets\/controls", "_view_module_version": "2.0.0", "_view_name": "HBoxView", "box_style": "", "children": ["IPY_MODEL_c3c63df6639e425dac5009d8871a66a0", "IPY_MODEL_cf03c9eb5ff040528c01ae5a6093c090", "IPY_MODEL_c55e6c2f2a4f4e2099a0f0aff41f5d14"], "layout": "IPY_MODEL_641996a60fc5423a837ae008abbb7e2b", "tabbable": null, "tooltip": null}}}, "version_major": 2, "version_minor": 0}
</script>
</html>