/* Shinylive 0.10.7
// Copyright 2026 Posit, PBC */
@font-face{font-family:Source Sans Pro;src:url("./SourceSansPro-Regular.otf-PVQ5ZP77.woff2") format("woff2");font-weight:400;font-style:normal}:root{--colors-grey: grey;--colors-blue: #007bc2;--colors-blue-dark: hsl(207, 69%, 35%);--colors-red: #c10000;--colors-white: white;--colors-bg: white;--colors-fg: #333;--font-face: "Source Sans Pro", Arial, Helvetica, sans-serif;--font-size: 14px;--font-mono-face: Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--font-mono-size: 12px;--panel-roundness: 5px;--button-roundness: 5px;--container-roundness: calc(var(--panel-roundness) * 1.4);--shadow-color: 0deg 0% 56%;--shadow-elevation-low: .3px .4px .6px hsl(var(--shadow-color) / .34), .5px .7px 1px -1.2px hsl(var(--shadow-color) / .34), 1.2px 1.7px 2.3px -2.5px hsl(var(--shadow-color) / .34);--shadow-elevation-medium: .3px .4px .6px hsl(var(--shadow-color) / .36), 1px 1.4px 1.9px -.8px hsl(var(--shadow-color) / .36), 2.6px 3.4px 4.8px -1.7px hsl(var(--shadow-color) / .36), 6.2px 8.3px 11.7px -2.5px hsl(var(--shadow-color) / .36)}.shinylive-container{--pad: 2px;height:100%;width:100%;min-height:100px;min-width:400px;padding:var(--pad);border-radius:var(--container-roundness);background-color:#e6e6e6}.shinylive-container.viewer{--pad: 0;min-width:unset}.shinylive-container>div{border-radius:var(--panel-roundness);background-color:var(--colors-bg)}.shinylive-example-selector{grid-area:exampleselector}.shinylive-editor{grid-area:editor}.shinylive-terminal{grid-area:terminal}.shinylive-viewer{grid-area:viewer}button{background-color:var(--colors-blue);color:var(--colors-white);font-family:var(--font-face);font-size:var(--font-size);border-style:solid;border-color:var(--colors-white);border-radius:var(--button-roundness);cursor:pointer;padding:.2rem .5rem}button:disabled{cursor:default;background-color:#c8c8c8}.shinylive-container.editor-cell{padding:0}.shinylive-container.editor-cell .shinylive-editor{border-bottom-right-radius:0;border-bottom-left-radius:0}.shinylive-container.editor-cell .shinylive-output-cell{border-top:2px solid #eeeff2;border-top-right-radius:0;border-top-left-radius:0}.shinylive-container.editor-cell .shinylive-output-cell .rendered-html{padding:2px 12px 3px}.shinylive-container.editor-cell .shinylive-output-cell pre.output-content{border-top-right-radius:0;border-top-left-radius:0;background-color:#eeeff2;font-size:13px;line-height:1.8;padding:2px 12px 5px;margin-bottom:0;color:#666}.shinylive-container.editor-cell .editor-container{padding:0}.shinylive-container.editor-cell .cm-scroller{padding:12px 12px 4px}.assignment-selector{background:linear-gradient(180deg,#007bc20f,#fff0);border-right:1px solid rgba(0,0,0,.06);--divider-color: rgba(15, 23, 42, .08)}.assignment-selector>.categories{padding:10px 12px}.assignment-selector h2{margin:6px 0 10px;font-size:15px;letter-spacing:.02em;text-transform:uppercase;color:#0f172ab8}.assignment-selector .empty-hint{margin:10px 0;color:#0f172a99;font-size:12px}.assignment-selector .example{border-radius:10px;transition:background-color .12s ease,box-shadow .12s ease}.assignment-selector .example:hover{background:#0284c70f}.assignment-selector .example.selected{background:#0284c71a;box-shadow:0 6px 18px #0284c724}.assignment-selector .example .title{margin:0;font-size:13px;line-height:1.25}.assignment-selector .example .about{margin:6px 0 0;font-style:normal;font-size:12px;color:#0f172a8c}.shinylive-example-selector{padding:3px 3px 3px 8px;font-family:var(--font-face);--indent: 8px;--divider-color: #f1f1f1}.shinylive-example-selector>.categories{height:100%;overflow-y:auto;padding:var(--indent)}.shinylive-example-selector>.categories .category-title{color:var(--colors-blue, blue);margin-top:calc(var(--indent) * 2)}.shinylive-example-selector .example{--v-pad: calc(var(--indent));--h-pad: calc(var(--indent) * 2);padding-left:var(--h-pad);padding-top:var(--v-pad);padding-bottom:var(--v-pad);cursor:default;position:relative;--sidebar-color: var(--colors-grey);--sidebar-indent: calc(var(--indent) / 1.3);--sidebar-w: 1px}.shinylive-example-selector .example>a{text-decoration:unset;color:unset;cursor:unset}.shinylive-example-selector .example:hover:not(.selected){cursor:pointer}.shinylive-example-selector .example.selected,.shinylive-example-selector .example:hover{--sidebar-w: 4px}.shinylive-example-selector .example.selected{--sidebar-color: var(--colors-blue, blue)}.shinylive-example-selector .example:before{content:"";position:absolute;height:70%;top:15%;width:var(--sidebar-w);border-radius:var(--button-roundness, 5px);left:calc(var(--sidebar-indent) - var(--sidebar-w) - 1px);background-color:var(--sidebar-color)}.shinylive-example-selector .example .title{font-weight:500}.shinylive-example-selector .example .about{color:var(--colors-grey, grey);font-size:small;font-style:italic;font-weight:400}.shinylive-example-selector>.categories>section>.divider{width:100%;height:1px;background-color:var(--divider-color)}.teacher-assignment-panel{height:100%;display:grid;grid-template-rows:auto 1fr;gap:10px}.teacher-assignment-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.teacher-assignment-top .muted{margin-top:6px}.teacher-assignment-top .new-assignment{border:none;background:linear-gradient(135deg,#0b78d1,#22c1dc);border-radius:999px;padding:8px 12px;font-weight:800;font-size:13px;color:#fff;white-space:nowrap;box-shadow:0 10px 26px #0b78d138}.teacher-assignment-top .new-assignment:hover{filter:brightness(1.03);transform:translateY(-1px)}.teacher-assignment-list{overflow:auto;padding:var(--indent)}.teacher-assignment-cards{display:grid;gap:10px}.assignment-card{display:grid;grid-template-columns:1fr auto;gap:10px;padding:10px;border-radius:14px;border:1px solid #e2e8f0;background:#fff;box-shadow:0 10px 22px #0208170f}.assignment-card.selected{border-color:#0b78d173;box-shadow:0 12px 28px #0b78d124}.assignment-card-main{border:none;background:transparent;text-align:left;padding:4px;cursor:pointer}.assignment-card-main:hover{background:#0f172a08;border-radius:10px}.assignment-card-title{font-size:13px;font-weight:900;color:#0f172a;margin-bottom:4px}.assignment-card-meta{font-size:12px;color:#475569}.assignment-card-actions{display:flex;align-items:center;gap:6px}.assignment-card-actions button{border-radius:10px;padding:6px 10px;font-weight:900;font-size:12px;cursor:pointer}.assignment-card-actions .edit{border:1px solid #cbd5e1;background:#fff;color:#0f172a}.assignment-card-actions .edit:hover{background:#f8fafc;border-color:#0b78d159;color:#0b78d1}.assignment-card-actions .delete{border:1px solid rgba(239,68,68,.35);background:#ef444414;color:#b91c1c}.assignment-card-actions .delete:hover{background:#ef44441f;border-color:#ef444480}.teacher-assignment-form{display:grid;gap:10px}.teacher-assignment-form label{display:grid;gap:6px;font-size:12px;font-weight:800;color:#334155}.teacher-assignment-form input,.teacher-assignment-form textarea,.teacher-assignment-form select{border:1px solid #cbd5e1;border-radius:10px;padding:10px 12px;font-size:13px;background:#fff}.teacher-assignment-form input:focus,.teacher-assignment-form textarea:focus,.teacher-assignment-form select:focus{outline:none;border-color:#0b78d199;box-shadow:0 0 0 4px #0b78d11f}.teacher-assignment-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.teacher-assignment-form .publish{border:none;background:linear-gradient(135deg,#0b78d1,#22c1dc);color:#fff;border-radius:12px;padding:10px 12px;font-weight:900;cursor:pointer;box-shadow:0 14px 30px #0b78d138}.teacher-assignment-form .publish:hover:disabled{transform:none}.teacher-assignment-form .publish:hover:not(:disabled){filter:brightness(1.03);transform:translateY(-1px)}.teacher-assignment-form .publish:disabled{opacity:.6;cursor:default}.teacher-assignment-form .save-error{color:#991b1b;font-weight:800;font-size:12px}.teacher-assignment-form .save-ok{color:#065f46;font-weight:800;font-size:12px}.TeacherAssignmentModal-overlay{position:fixed;inset:0;background:#0f172a80;z-index:50}.TeacherAssignmentModal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(720px,calc(100vw - 20px));max-height:calc(100vh - 20px);overflow:auto;background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:14px;box-shadow:0 30px 80px #02081759;z-index:51}.TeacherAssignmentModal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}.TeacherAssignmentModal-title{font-weight:950;font-size:16px;color:#0f172a}.TeacherAssignmentModal-subtitle{margin-top:4px;font-size:12px;color:#64748b}.TeacherAssignmentModal-close{border:1px solid #e2e8f0;background:#f8fafc;border-radius:12px;width:36px;height:36px;font-weight:900;font-size:18px;cursor:pointer;color:#334155}.TeacherAssignmentModal-close:hover{background:#f1f5f9}.TeacherAssignmentModal-footer{display:flex;justify-content:flex-end;margin-top:10px}.TeacherAssignmentModal-cancel{border:1px solid #cbd5e1;background:#fff;border-radius:12px;padding:10px 12px;font-weight:900;cursor:pointer;color:#0f172a;box-shadow:0 10px 22px #0f172a1f,0 0 0 4px #0f172a0a}.TeacherAssignmentModal-cancel:hover{background:#f8fafc}.TeacherAssignmentConfirm-overlay{position:fixed;inset:0;background:#0f172a80;z-index:60}.TeacherAssignmentConfirm{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(520px,calc(100vw - 20px));background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:14px;box-shadow:0 30px 80px #02081759;z-index:61}.TeacherAssignmentConfirm-title{font-size:14px;font-weight:950;color:#0f172a;margin-bottom:6px}.TeacherAssignmentConfirm-desc{font-size:12px;color:#475569;line-height:1.6}.TeacherAssignmentConfirm-error{margin-top:10px;font-size:12px;font-weight:900;color:#991b1b}.TeacherAssignmentConfirm-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:12px}.TeacherAssignmentConfirm-actions button{border-radius:12px;padding:10px 12px;font-weight:900;cursor:pointer}.TeacherAssignmentConfirm-actions .cancel{border:1px solid #cbd5e1;background:#fff;color:#0f172a;box-shadow:0 10px 22px #0f172a1f,0 0 0 4px #0f172a0a}.TeacherAssignmentConfirm-actions .cancel:hover{background:#f8fafc}.TeacherAssignmentConfirm-actions .danger{border:1px solid rgba(239,68,68,.35);background:#ef44441a;color:#b91c1c;box-shadow:0 10px 22px #ef444429,0 0 0 4px #ef444417}.TeacherAssignmentConfirm-actions .danger:hover:disabled{background:#ef44441a}.TeacherAssignmentConfirm-actions .danger:hover:not(:disabled){background:#ef444424}.TeacherAssignmentConfirm-actions .danger:disabled{opacity:.6;cursor:default}.teacher-showcase-selector{height:100%;display:grid;grid-template-rows:auto auto 1fr;gap:6px}.teacher-showcase-header{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.teacher-sync-badge{border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800;border:1px solid #e2e8f0}.teacher-sync-badge.synced{background:#10b9811f;color:#065f46;border-color:#10b98159}.teacher-sync-badge.unpublished,.teacher-sync-badge.unsaved{background:#ef444414;color:#991b1b;border-color:#ef444440}.teacher-showcase-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.teacher-showcase-toolbar button{border:1px solid var(--colors-grey, #cbd5e1);background:#fff;border-radius:var(--button-roundness, 10px);padding:6px 10px;font-size:12px;font-weight:700;color:#0f172a}.teacher-showcase-toolbar button:hover:not(:disabled):not(.primary){background:#f8fafc;border-color:#0b78d159;color:#0b78d1}.teacher-showcase-toolbar button:disabled{opacity:.55}.teacher-showcase-toolbar button.primary{border-color:var(--colors-blue, #0b78d1);background:var(--colors-blue, #0b78d1);color:#fff}.teacher-showcase-toolbar button.danger{border-color:#ef444459;background:#ef444414;color:#b91c1c}.teacher-showcase-toolbar button:hover:not(:disabled).danger{background:#ef44441f;border-color:#ef444480;color:#b91c1c}.teacher-showcase-toolbar .spacer{flex:1}.teacher-showcase-meta{display:grid;grid-template-columns:1fr;gap:8px}.teacher-showcase-meta label{display:grid;gap:6px;font-size:12px;font-weight:700;color:#334155}.teacher-showcase-meta input{border:1px solid #cbd5e1;border-radius:10px;padding:10px 12px;font-size:13px}.teacher-showcase-categories{overflow:auto;padding:0}.TeacherShowcaseTree{height:100%;padding:6px 4px}.TeacherShowcaseTree-empty{border:1px dashed rgba(148,163,184,.9);border-radius:14px;padding:14px;background:#f8fafce6}.TeacherShowcaseTree-emptyTitle{font-weight:950;font-size:13px;color:#0f172a}.TeacherShowcaseTree-emptyDesc{margin-top:4px;font-size:12px;color:#475569}.TeacherShowcaseTree-row{display:grid;grid-template-columns:18px 1fr;grid-template-rows:auto auto;gap:2px 8px;align-items:center;border-radius:12px;padding:7px 8px;cursor:pointer}.TeacherShowcaseTree-row.drop-before{box-shadow:inset 0 2px #0b78d1b3}.TeacherShowcaseTree-row.drop-after{box-shadow:inset 0 -2px #0b78d1b3}.TeacherShowcaseTree-row:hover{background:#0b78d10f}.TeacherShowcaseTree-row.selected{background:#0b78d11a;box-shadow:0 0 0 1px #0b78d138 inset}.TeacherShowcaseTree-row.case{grid-template-columns:0px 1fr}.TeacherShowcaseTree-twist{width:18px;height:18px;border:none;background:transparent;cursor:pointer;color:#0f172a99;padding:0}.TeacherShowcaseTree-twist:disabled{cursor:default;opacity:.3}.TeacherShowcaseTree-title{grid-column:2;grid-row:1;font-size:13px;font-weight:900;color:#0f172ae0;line-height:1.25}.TeacherShowcaseTree-sub{grid-column:2;grid-row:2;font-size:12px;color:#475569f2;line-height:1.25;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.TeacherShowcaseContextMenu{position:fixed;z-index:80;width:180px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 24px 60px #02081740;padding:6px}.TeacherShowcaseContextMenu button{width:100%;border:1px solid transparent;background:transparent;border-radius:10px;padding:10px;text-align:left;font-weight:900;font-size:12px;color:#0f172a;cursor:pointer}.TeacherShowcaseContextMenu button:hover{background:#f8fafc;border-color:#0b78d140;color:#0b78d1}.TeacherShowcaseContextMenu button.danger{color:#b91c1c}.TeacherShowcaseContextMenu button.danger:hover{background:#ef444414;border-color:#ef444438;color:#b91c1c}.TeacherShowcaseModal-overlay{position:fixed;inset:0;background:#0f172a80;z-index:50}.TeacherShowcaseModal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(640px,calc(100vw - 20px));max-height:calc(100vh - 20px);overflow:auto;background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:14px;box-shadow:0 30px 80px #02081759;z-index:51}.TeacherShowcaseModal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}.TeacherShowcaseModal-title{font-weight:950;font-size:16px;color:#0f172a}.TeacherShowcaseModal-subtitle{margin-top:4px;font-size:12px;color:#64748b}.TeacherShowcaseModal-close{border:1px solid #e2e8f0;background:#f8fafc;border-radius:12px;width:36px;height:36px;font-weight:900;font-size:18px;cursor:pointer;color:#334155}.TeacherShowcaseModal-close:hover{background:#f1f5f9}.TeacherShowcaseModal-form{display:grid;gap:10px}.TeacherShowcaseModal-form label{display:grid;gap:6px;font-size:12px;font-weight:900;color:#334155}.TeacherShowcaseModal-form input{border:1px solid #cbd5e1;border-radius:12px;padding:10px 12px;font-size:13px}.TeacherShowcaseModal-error{color:#991b1b;font-weight:900;font-size:12px}.TeacherShowcaseModal-footer{display:flex;justify-content:space-between;align-items:center;margin-top:4px}.TeacherShowcaseModal-footerLeft,.TeacherShowcaseModal-footerRight{display:flex;gap:10px;align-items:center}.TeacherShowcaseModal-footer button{border-radius:12px;padding:10px 12px;font-weight:900;cursor:pointer}.TeacherShowcaseModal-cancel{border:1px solid #cbd5e1;background:#fff;color:#0f172a}.TeacherShowcaseModal-primary{border:1px solid #0b78d1;background:#0b78d1;color:#fff}.TeacherShowcaseModal-delete{border:1px solid rgba(239,68,68,.35);background:#ef444414;color:#b91c1c}.TeacherShowcaseConfirm-overlay{position:fixed;inset:0;background:#0f172a80;z-index:60}.TeacherShowcaseConfirm{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(520px,calc(100vw - 20px));background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:14px;box-shadow:0 30px 80px #02081759;z-index:61}.TeacherShowcaseConfirm-title{font-size:14px;font-weight:950;color:#0f172a;margin-bottom:6px}.TeacherShowcaseConfirm-desc{font-size:12px;color:#475569;line-height:1.6}.TeacherShowcaseConfirm-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:12px}.TeacherShowcaseConfirm-actions button{border-radius:12px;padding:10px 12px;font-weight:900;cursor:pointer}.TeacherShowcaseConfirm-actions .cancel{border:1px solid #cbd5e1;background:#fff;color:#0f172a}.TeacherShowcaseConfirm-actions .danger{border:1px solid rgba(239,68,68,.35);background:#ef444414;color:#b91c1c}.teacher-category-header{display:flex;align-items:baseline;gap:8px}.teacher-category-header .category-title{border:none;background:transparent;padding:0;margin-top:12px;cursor:pointer;font-weight:900;color:#0f172ad9;text-align:left}.teacher-category-header .category-title.selected{color:#0b78d1}.score-modal-overlay{position:fixed;inset:0;background:#0f172a6b;display:flex;align-items:center;justify-content:center;padding:20px;z-index:99999}.score-modal-card{width:min(560px,92vw);background:#fff;border-radius:16px;border:1px solid rgba(15,23,42,.12);box-shadow:0 30px 60px #0f172a47}.score-modal-header{display:flex;justify-content:space-between;gap:12px;padding:14px 14px 10px;border-bottom:1px solid rgba(15,23,42,.08)}.score-modal-title{font-weight:950;font-size:15px;color:#0f172a}.score-modal-subtitle{margin-top:4px;font-size:12px;color:#0f172a9e}.score-modal-close{border:none;background:transparent;font-size:22px;line-height:1;cursor:pointer;color:#0f172aa6}.score-modal-body{padding:14px;display:grid;gap:12px}.score-modal-body label{display:grid;gap:6px;font-size:12px;font-weight:900;color:#0f172ac7}.score-modal-body input,.score-modal-body textarea{border:1px solid #cbd5e1;border-radius:12px;padding:10px 12px;font-size:13px}.score-modal-body input:focus,.score-modal-body textarea:focus{outline:none;border-color:#0b78d199;box-shadow:0 0 0 4px #0b78d11f}.score-modal-actions{display:flex;justify-content:flex-end;gap:10px;padding:0 14px 14px}.score-modal-actions button{border-radius:999px;padding:9px 14px;font-weight:900;font-size:13px;border:1px solid #cbd5e1;background:#fff;cursor:pointer;color:#0f172a}.score-modal-actions button:not(.primary){box-shadow:0 10px 22px #0f172a1f,0 0 0 4px #0f172a0a}.score-modal-actions button.primary{border:none;background:linear-gradient(135deg,#0b78d1,#22c1dc);color:#fff;box-shadow:0 16px 34px #0b78d138}.score-modal-actions button.secondary:hover:not(:disabled){border-color:#0b78d159;color:#0b78d1}.score-modal-actions button:disabled{opacity:.6;cursor:default}.teacher-submissions-panel{height:100%;display:grid;grid-template-rows:auto 1fr;gap:10px}.teacher-submissions-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.teacher-submissions-top .muted{margin-top:6px}.teacher-submissions-top .back-to-cards{border:1px solid #cbd5e1;background:#fff;border-radius:999px;padding:8px 12px;font-weight:800;font-size:13px;color:#0f172a}.teacher-submissions-top .back-to-cards:hover{border-color:#0b78d159;color:#0b78d1}.submission-cards{display:grid;grid-template-columns:1fr;grid-auto-rows:74px;align-content:start;gap:8px;overflow:auto;padding:var(--indent)}.submission-card{height:74px;border:1px solid rgba(15,23,42,.08);background:#fff;border-radius:10px;padding:8px 10px;text-align:left;cursor:pointer;transition:background-color .12s ease,box-shadow .12s ease,border-color .12s ease;overflow:hidden;display:flex;flex-direction:column}.submission-card:hover{background:#0284c70f;border-color:#0284c738;box-shadow:0 6px 18px #0284c724}.submission-card .card-title{font-weight:600;font-size:13px;color:#0f172a;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.submission-card .card-desc{display:none}.submission-card .card-meta{display:flex;justify-content:space-between;align-items:center;margin-top:6px;gap:8px}.submission-card .chip{border-radius:999px;padding:2px 8px;background:#0b78d11f;color:#0b78d1;font-weight:900;font-size:11px}.submission-card .meta{font-size:11px;color:#0f172a8c;white-space:nowrap}.review-layout{overflow:auto;padding:var(--indent)}.teacher-student-list{border:1px solid rgba(15,23,42,.08);border-radius:12px;background:#fff}.teacher-student-list .example{margin:0}.review-header{margin:6px 0 10px}.review-title{font-weight:900}.review-subtitle{margin-top:4px;font-size:12px;color:#0f172a99}.teacher-submissions .empty{padding:12px;color:#0f172a99;font-size:12px}.cp-overlay{position:fixed;inset:0;background:#0f172a8c;display:grid;place-items:center;padding:18px;z-index:1000}.cp-modal{width:min(520px,100%);background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 20px 46px #0f172a33;overflow:hidden}.cp-head{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid #e2e8f0}.cp-head strong{font-size:14px}.cp-close{border:1px solid #cbd5e1;background:#fff;color:#0f172a;border-radius:10px;padding:6px 10px;font-weight:900;cursor:pointer}.cp-form{padding:16px;display:grid;gap:10px}.cp-form label{display:grid;gap:6px;font-size:13px;color:#0f172a}.cp-form input{border:1px solid #cbd5e1;border-radius:10px;padding:10px 12px;font-size:14px;background:#fff}.cp-error{color:#b91c1c;font-size:13px}.cp-ok{color:#15803d;font-size:13px;font-weight:700}.cp-actions{display:flex;gap:10px;justify-content:flex-end;padding-top:6px}.cp-actions button{border-radius:12px;padding:10px 12px;font-weight:900;cursor:pointer}.cp-cancel{border:1px solid #cbd5e1;background:#fff;color:#0f172a}.cp-primary{border:1px solid #0b78d1;background:#0b78d1;color:#fff}.cp-actions button:disabled{opacity:.6;cursor:default}.HeaderBar{height:30px;padding:3px 8px;background-color:#007bc2;font-family:var(--font-face);font-size:1.1rem;color:var(--colors-white);display:flex;align-items:center}.HeaderBar>a.page-title{display:inherit;color:var(--colors-white);text-decoration:none;flex-direction:row;margin-right:auto}.HeaderBar .shiny-logo{height:22px;display:inline-block;margin-right:6px;margin-left:4px;margin-top:1px}.HeaderBar .header-actions{display:flex;align-items:center;flex-direction:row;margin-right:1rem}.HeaderBar .header-center{display:flex;align-items:center;justify-content:center;flex:1}.HeaderBar .score-button{border:none;background:linear-gradient(135deg,#0b78d1,#22c1dc);color:#fff;border-radius:999px;padding:4px 12px;font-weight:900;font-size:12px;cursor:pointer;box-shadow:0 12px 26px #0f172a2e}.HeaderBar .score-button:disabled{opacity:.55;cursor:default}.HeaderBar .code-run-button{display:inline-flex;align-items:center;justify-content:center;border:none;font-size:.9rem;padding:.2rem .5rem;background-color:transparent;white-space:nowrap;fill:#fffc;color:inherit;text-decoration:none;cursor:pointer}.HeaderBar .code-run-button svg.shinylive-icon{font-size:1em}.HeaderBar .code-run-button span.button-label{vertical-align:.15em;margin-left:.3em}.HeaderBar .code-run-button:hover{color:var(--colors-white);fill:var(--colors-white)}.shinylive-icon{display:inline-block;height:1em}.shinylive-output-cell div.rendered-html table{border:none;border-collapse:collapse;border-spacing:0;color:#000;font-size:90%;table-layout:fixed}.shinylive-output-cell div.rendered-html thead{border-bottom:1px solid black;vertical-align:bottom}.shinylive-output-cell div.rendered-html tr,.shinylive-output-cell div.rendered-html th,.shinylive-output-cell div.rendered-html td{text-align:right;vertical-align:middle;padding:.5em;line-height:normal;white-space:normal;max-width:none;border:none}.shinylive-output-cell div.rendered-html th{font-weight:700}.shinylive-output-cell div.rendered-html tbody tr:nth-child(odd){background:#f5f5f5}.shinylive-output-cell div.rendered-html tbody tr:hover{background:#42a5f533}.ResizableGrid{--pad: 2px;--panel-gap: 3px;--sizer-margin-offset: calc(-1 * var(--panel-gap));--expansion-scale: 3;height:100%;width:100%;min-height:80px;min-width:400px;display:grid;padding:0;gap:var(--panel-gap);position:relative}.ResizableGrid>*{min-width:0;min-height:0}div.ResizableGrid--col-sizer,div.ResizableGrid--row-sizer{opacity:0;position:relative;transition:transform 1s .5s}.ResizableGrid--col-sizer{grid-row:1/-1;width:var(--panel-gap);margin-left:var(--sizer-margin-offset);height:100%;cursor:ew-resize}.ResizableGrid--row-sizer{grid-column:1/-1;height:var(--panel-gap);margin-top:var(--sizer-margin-offset);width:100%;cursor:ns-resize}.ResizableGrid--col-sizer:hover,.ResizableGrid--row-sizer:hover{z-index:9999;transition:transform 0s}.ResizableGrid--col-sizer:hover{transform:scaleX(var(--expansion-scale))}.ResizableGrid--row-sizer:hover{transform:scaleY(var(--expansion-scale))}div#size-detection-cell{width:100%;height:100%;grid-row:1/-1;grid-column:1/-1}.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;inset:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility,.xterm .xterm-message{position:absolute;inset:0;z-index:10;color:transparent;pointer-events:none}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}.shinylive-terminal.terminal{height:100%;position:relative;overflow:hidden;padding:.5rem;--color: #333;--background: white;--size: 1;--font: Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}.xterm{padding:8px}.loading-animation{--animation-start-color: #fafafa;--animation-end-color: #cccccc;--hex-width: 16px;background-color:inherit;box-shadow:inherit;text-align:center;font-size:0;-webkit-animation:loading-animation-fade-in 1s;animation:loading-animation-fade-in 1s}.loading-animation .hex{display:inline-block;position:relative;width:var(--hex-width);height:calc(.57735 * var(--hex-width));margin:calc(.216 * var(--hex-width)) calc(var(--hex-width) / 12);background-color:var(--animation-start-color);vertical-align:middle;-webkit-animation:loading-animation-pulse 3.75s infinite;animation:loading-animation-pulse 3.75s infinite}.loading-animation .hex:before,.loading-animation .hex:after{content:"";display:block;position:absolute;width:calc(.7071 * var(--hex-width));height:calc(.7071 * var(--hex-width));background-color:inherit;transform-origin:0 0;transform:scaleY(.57735) rotate(-45deg);animation:inherit}.loading-animation .hex:before{top:0}.loading-animation .hex:after{top:calc(.57735 * var(--hex-width))}.loading-animation .hex:nth-of-type(2n){-webkit-animation-delay:0s;animation-delay:0s}.loading-animation .hex:nth-of-type(odd){-webkit-animation-delay:-1.1s;animation-delay:-1.05s}.loading-animation .hex:nth-of-type(2n+2){-webkit-animation-delay:-1.97s;animation-delay:-1.97s}.loading-animation .hex:nth-of-type(2n+3){-webkit-animation-delay:-1.8s;animation-delay:-1.8s}.loading-animation .hex:nth-of-type(2n+4){-webkit-animation-delay:-1.1s;animation-delay:-1.1s}.loading-animation .hex:nth-of-type(2n+5){-webkit-animation-delay:-1.1s;animation-delay:-1.1s}.loading-animation .hex:nth-of-type(2n+6){-webkit-animation-delay:-1.8s;animation-delay:-1.8s}.loading-animation .hex:nth-of-type(2n+7){-webkit-animation-delay:-1.7s;animation-delay:-1.7s}.loading-animation .hex:nth-of-type(2n+8){-webkit-animation-delay:-1.2s;animation-delay:-1.2s}.loading-animation .hex:nth-of-type(2n+9){-webkit-animation-delay:-1.3s;animation-delay:-1.3s}.loading-animation .hex:nth-of-type(2n+11){-webkit-animation-delay:-1.6s;animation-delay:-1.6s}.loading-animation .hex:nth-of-type(2n+12){-webkit-animation-delay:-1.6s;animation-delay:-1.6s}.loading-animation .hex:nth-of-type(2n+13){-webkit-animation-delay:-1.3s;animation-delay:-1.3s}.loading-animation .hex:nth-of-type(2n+14){-webkit-animation-delay:-1.3s;animation-delay:-1.3s}.loading-animation .hex:nth-of-type(2n+15){-webkit-animation-delay:-1.5s;animation-delay:-1.5s}.loading-animation .hex:nth-of-type(2n+16){-webkit-animation-delay:-1.5s;animation-delay:-1.5s}.loading-animation .hex:nth-of-type(2n+17){-webkit-animation-delay:-1.3s;animation-delay:-1.3s}.loading-animation .hex:nth-of-type(2n+18){-webkit-animation-delay:-1.4s;animation-delay:-1.4s}.loading-animation .hex:nth-of-type(2n+19){-webkit-animation-delay:-1.45s;animation-delay:-1.45s}.loading-animation .spacer{display:inline-block;width:calc(var(--hex-width) * 14 / 12)}@keyframes loading-animation-pulse{0%{background-color:var(--animation-start-color)}50%{background-color:var(--animation-end-color)}to{background-color:var(--animation-start-color)}}@keyframes loading-animation-fade-in{0%{opacity:0}20%{opacity:0}to{opacity:1}}.shinylive-viewer{height:100%;width:100%;position:relative}.app-frame{border-radius:var(--panel-roundness);border:0}.shinylive-viewer iframe{background-color:#fff;width:100%;height:100%;display:block}.shinylive-viewer .loading-wrapper{overflow:auto;background-color:#fff;position:absolute;height:100%;width:100%;top:0;left:0;display:flex;justify-content:center;align-items:center}.shinylive-viewer .loading-wrapper.loading-wrapper-error{justify-content:left}.shinylive-viewer .loading-wrapper .error-alert{text-align:center;font-size:1.4rem;font-family:var(--font-face);-webkit-animation:loading-animation-fade-in .5s;animation:loading-animation-fade-in .5s}.shinylive-viewer .loading-wrapper .error-alert .error-icon{display:inline-block;text-align:center;width:85px;margin-bottom:.5rem}.shinylive-viewer .loading-wrapper .error-alert .error-log{font-size:.7rem;text-align:left;padding:.3rem}@keyframes loading-animation-fade-in{0%{opacity:0}to{opacity:1}}:root{--balloon-border-radius: 2px;--balloon-color: rgba(16,16,16,.95);--balloon-text-color: #fff;--balloon-font-size: 12px;--balloon-move: 4px}button[aria-label][data-balloon-pos]{overflow:visible}[aria-label][data-balloon-pos]{position:relative;cursor:pointer}[aria-label][data-balloon-pos]:after{opacity:0;pointer-events:none;transition:all .18s ease-out .18s;text-indent:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-weight:400;font-style:normal;text-shadow:none;font-size:var(--balloon-font-size);background:var(--balloon-color);border-radius:2px;color:var(--balloon-text-color);border-radius:var(--balloon-border-radius);content:attr(aria-label);padding:.5em 1em;position:absolute;white-space:nowrap;z-index:10}[aria-label][data-balloon-pos]:before{width:0;height:0;border:5px solid transparent;border-top-color:var(--balloon-color);opacity:0;pointer-events:none;transition:all .18s ease-out .18s;content:"";position:absolute;z-index:10}[aria-label][data-balloon-pos]:hover:before,[aria-label][data-balloon-pos]:hover:after,[aria-label][data-balloon-pos][data-balloon-visible]:before,[aria-label][data-balloon-pos][data-balloon-visible]:after,[aria-label][data-balloon-pos]:not([data-balloon-nofocus]):focus:before,[aria-label][data-balloon-pos]:not([data-balloon-nofocus]):focus:after{opacity:1;pointer-events:none}[aria-label][data-balloon-pos].font-awesome:after{font-family:FontAwesome,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}[aria-label][data-balloon-pos][data-balloon-break]:after{white-space:pre}[aria-label][data-balloon-pos][data-balloon-break][data-balloon-length]:after{white-space:pre-line;word-break:break-word}[aria-label][data-balloon-pos][data-balloon-blunt]:before,[aria-label][data-balloon-pos][data-balloon-blunt]:after{transition:none}[aria-label][data-balloon-pos][data-balloon-pos=up]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=up][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos=down]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=down][data-balloon-visible]:after{transform:translate(-50%)}[aria-label][data-balloon-pos][data-balloon-pos=up]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=up][data-balloon-visible]:before,[aria-label][data-balloon-pos][data-balloon-pos=down]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=down][data-balloon-visible]:before{transform:translate(-50%)}[aria-label][data-balloon-pos][data-balloon-pos*=-left]:after{left:0}[aria-label][data-balloon-pos][data-balloon-pos*=-left]:before{left:5px}[aria-label][data-balloon-pos][data-balloon-pos*=-right]:after{right:0}[aria-label][data-balloon-pos][data-balloon-pos*=-right]:before{right:5px}[aria-label][data-balloon-pos][data-balloon-po*=-left]:hover:after,[aria-label][data-balloon-pos][data-balloon-po*=-left][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos*=-right]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos*=-right][data-balloon-visible]:after{transform:translate(0)}[aria-label][data-balloon-pos][data-balloon-po*=-left]:hover:before,[aria-label][data-balloon-pos][data-balloon-po*=-left][data-balloon-visible]:before,[aria-label][data-balloon-pos][data-balloon-pos*=-right]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos*=-right][data-balloon-visible]:before{transform:translate(0)}[aria-label][data-balloon-pos][data-balloon-pos^=up]:before,[aria-label][data-balloon-pos][data-balloon-pos^=up]:after{bottom:100%;transform-origin:top;transform:translateY(var(--balloon-move))}[aria-label][data-balloon-pos][data-balloon-pos^=up]:after{margin-bottom:10px}[aria-label][data-balloon-pos][data-balloon-pos=up]:before,[aria-label][data-balloon-pos][data-balloon-pos=up]:after{left:50%;transform:translate(-50%,var(--balloon-move))}[aria-label][data-balloon-pos][data-balloon-pos^=down]:before,[aria-label][data-balloon-pos][data-balloon-pos^=down]:after{top:100%;transform:translateY(calc(var(--balloon-move) * -1))}[aria-label][data-balloon-pos][data-balloon-pos^=down]:after{margin-top:10px}[aria-label][data-balloon-pos][data-balloon-pos^=down]:before{width:0;height:0;border:5px solid transparent;border-bottom-color:var(--balloon-color)}[aria-label][data-balloon-pos][data-balloon-pos=down]:after,[aria-label][data-balloon-pos][data-balloon-pos=down]:before{left:50%;transform:translate(-50%,calc(var(--balloon-move) * -1))}[aria-label][data-balloon-pos][data-balloon-pos=left]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=left][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos=right]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=right][data-balloon-visible]:after{transform:translateY(-50%)}[aria-label][data-balloon-pos][data-balloon-pos=left]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=left][data-balloon-visible]:before,[aria-label][data-balloon-pos][data-balloon-pos=right]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=right][data-balloon-visible]:before{transform:translateY(-50%)}[aria-label][data-balloon-pos][data-balloon-pos=left]:after,[aria-label][data-balloon-pos][data-balloon-pos=left]:before{right:100%;top:50%;transform:translate(var(--balloon-move),-50%)}[aria-label][data-balloon-pos][data-balloon-pos=left]:after{margin-right:10px}[aria-label][data-balloon-pos][data-balloon-pos=left]:before{width:0;height:0;border:5px solid transparent;border-left-color:var(--balloon-color)}[aria-label][data-balloon-pos][data-balloon-pos=right]:after,[aria-label][data-balloon-pos][data-balloon-pos=right]:before{left:100%;top:50%;transform:translate(calc(var(--balloon-move) * -1),-50%)}[aria-label][data-balloon-pos][data-balloon-pos=right]:after{margin-left:10px}[aria-label][data-balloon-pos][data-balloon-pos=right]:before{width:0;height:0;border:5px solid transparent;border-right-color:var(--balloon-color)}[aria-label][data-balloon-pos][data-balloon-length]:after{white-space:normal}[aria-label][data-balloon-pos][data-balloon-length=small]:after{width:80px}[aria-label][data-balloon-pos][data-balloon-length=medium]:after{width:150px}[aria-label][data-balloon-pos][data-balloon-length=large]:after{width:260px}[aria-label][data-balloon-pos][data-balloon-length=xlarge]:after{width:380px}@media screen and (max-width: 768px){[aria-label][data-balloon-pos][data-balloon-length=xlarge]:after{width:90vw}}[aria-label][data-balloon-pos][data-balloon-length=fit]:after{width:100%}.shinylive-editor{--bg-light-shade-color: #f6f6f6;--button-gray-color: #999;--button-hover-color: #hsl(207, 69%, 25%);--border-color: #aaa;--pad: 5px;display:grid;grid-template-rows:auto 1fr;grid-template-areas:"header" "editor";position:relative}.ResizableGrid.editor-viewer.layout-vertical:not(.been-dragged)>.shinylive-editor{max-height:800px}.editor-header{grid-area:header}.editor-container{grid-area:editor}.shinylive-editor>div{min-width:0;min-height:0}.editor-header{display:flex;padding-top:var(--pad);padding-left:var(--pad);padding-right:var(--pad);justify-content:space-between;align-items:flex-end;border-bottom:1px solid var(--border-color)}.editor-files>button{font-size:14px;font-family:var(--font-face);height:26px;background-color:var(--bg-light-shade-color);color:#444;border:1px solid #ddd;border-bottom:none;border-radius:3px 3px 0 0;padding:0 2px}.editor-files button svg{vertical-align:unset}.editor-filename{padding:0 4px}.editor-files>button.selected{color:#000;background-color:var(--colors-bg);border-color:var(--border-color);position:relative;cursor:text}.editor-files>button.selected:after{content:"";width:100%;height:4px;background-color:var(--colors-bg);position:absolute;bottom:-3px;left:0;border-bottom-color:var(--colors-bg)}.editor-files>button.selected>input{width:100%;font-size:14px;font-family:var(--font-face);height:26px;position:absolute;left:4px;bottom:-.5px;outline:none;border:none;color:var(--colors-blue);background-color:transparent}.editor-files>button.selected>input.invalid-filename{color:var(--colors-red)}.editor-files>button>.editor-closebutton{width:1.2rem;display:inline-block;color:var(--button-gray-color);font-weight:700}.editor-files>button.selected>.editor-closebutton+input{width:calc(100% - 21px)}.editor-files>.editor-addtab{border-color:#0000;display:inline-block;line-height:1rem;margin-left:.5rem;padding:0}.editor-files .editor-addbutton,.editor-files .editor-uploadbutton{display:inline-block;color:var(--button-gray-color);fill:var(--button-gray-color);background-color:inherit;font-size:1.2rem;font-weight:700;padding:0 .3rem}.editor-files .editor-uploadbutton{font-size:.7rem}.editor-files .editor-closebutton:hover,.editor-files .editor-addbutton:hover,.editor-files .editor-uploadbutton:hover{color:var(--button-hover-color);fill:var(--button-hover-color);cursor:pointer}.editor-container{padding:var(--pad);position:relative}.editor-container .cm-editor{height:100%}.editor-container .cm-editor.cm-focused{outline:none}.editor-container .cm-editor .cm-scroller{font-family:var(--font-mono-face);font-size:var(--font-mono-size)}.editor-container .cm-gutters{color:#aaa;background-color:var(--colors-bg);border-right:1px solid #eee;padding-right:4px}.editor-container .cm-activeLineGutter{background-color:var(--colors-bg)}.editor-container .cm-tooltip{font-family:var(--font-face);font-size:var(--font-size)}.editor-container .cm-tooltip code{font-family:var(--font-mono-face);font-size:var(--font-mono-size);white-space:pre-wrap}.editor-container .cm-diagnostic{font-family:var(--font-mono-face);font-size:var(--font-mono-size)}.editor-container .cm-signature-signature{font-family:var(--font-mono-face)}.editor-container .docstring{padding:3px 6px;max-width:650px;max-height:300px;overflow-y:auto}.editor-container .docstring pre{white-space:pre-wrap}.editor-container .docstring h2{font-size:1.2em;font-weight:600}.shinylive-editor button.code-run-button{border:none;font-size:.8rem;padding:.2rem .5rem;background-color:transparent;white-space:nowrap}.shinylive-editor .code-run-button:hover{color:var(--button-hover-color);fill:var(--button-hover-color)}.editor-header .code-run-button{align-self:center;color:var(--button-gray-color);fill:var(--button-gray-color)}.shinylive-editor .floating-buttons .code-run-button{position:absolute;top:0;right:0;border:0;margin-top:5px;margin-right:5px;opacity:0}.shinylive-editor:hover .floating-buttons .code-run-button{color:var(--button-gray-color);fill:var(--button-gray-color);opacity:1}.shinylive-editor .floating-buttons .code-run-button:hover{color:var(--button-hover-color);fill:var(--button-hover-color)}.ShareModal{position:absolute;top:50px;left:50px;width:600px;font-family:var(--font-face);background:#fff;border:1px solid #ccc;border-radius:5px;padding:8px 14px;transition:.4s ease-out;box-shadow:.5rem .5rem 2rem #0000004d;z-index:10}.ShareModal .ShareModal--item{padding-bottom:10px}.ShareModal .ShareModal--item .ShareModal--checkbox{margin-left:1em;font-size:.9em}.ShareModal .ShareModal--row{display:flex}.ShareModal .ShareModal--row label{display:flex;align-items:center}.ShareModal .ShareModal--row label span{margin-left:.3em}.ShareModal .ShareModal--row .ShareModal--url{display:inline-flex;position:relative;vertical-align:top;width:100%}.ShareModal .ShareModal--row .ShareModal--url .ShareModal--urlinput{font-family:var(--font-mono-face);font-size:var(--font-mono-size);width:100%;margin-right:12px}.ShareModal-overlay{opacity:.5;background:#000;width:100%;height:100%;z-index:9;top:0;left:0;position:fixed}
/*! Bundled license information:

xterm/css/xterm.css:
  (**
   * Copyright (c) 2014 The xterm.js authors. All rights reserved.
   * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
   * https://github.com/chjj/term.js
   * @license MIT
   *
   * Permission is hereby granted, free of charge, to any person obtaining a copy
   * of this software and associated documentation files (the "Software"), to deal
   * in the Software without restriction, including without limitation the rights
   * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
   * copies of the Software, and to permit persons to whom the Software is
   * furnished to do so, subject to the following conditions:
   *
   * The above copyright notice and this permission notice shall be included in
   * all copies or substantial portions of the Software.
   *
   * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
   * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
   * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
   * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
   * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
   * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
   * THE SOFTWARE.
   *
   * Originally forked from (with the author's permission):
   *   Fabrice Bellard's javascript vt100 for jslinux:
   *   http://bellard.org/jslinux/
   *   Copyright (c) 2011 Fabrice Bellard
   *   The original design remains. The terminal itself
   *   has been extended to include xterm CSI codes, among
   *   other features.
   *)
*/
