From beb756dd9437e3c42b1b61a221273da7f4fe63a5 Mon Sep 17 00:00:00 2001 From: Daniel Aguilar Date: Wed, 15 Nov 2023 02:24:49 +0100 Subject: [PATCH] v0.16.11 --- public/css/{app.ad6169d1.css => app.742a0be2.css} | 2 +- public/index.html | 4 ++-- public/js/app.2b84767e.js | 2 -- public/js/app.2b84767e.js.map | 1 - public/js/app.590e7d0c.js | 2 ++ public/js/app.590e7d0c.js.map | 1 + 6 files changed, 6 insertions(+), 6 deletions(-) rename public/css/{app.ad6169d1.css => app.742a0be2.css} (98%) delete mode 100644 public/js/app.2b84767e.js delete mode 100644 public/js/app.2b84767e.js.map create mode 100644 public/js/app.590e7d0c.js create mode 100644 public/js/app.590e7d0c.js.map diff --git a/public/css/app.ad6169d1.css b/public/css/app.742a0be2.css similarity index 98% rename from public/css/app.ad6169d1.css rename to public/css/app.742a0be2.css index f6a275e7..c5ea30bd 100644 --- a/public/css/app.ad6169d1.css +++ b/public/css/app.742a0be2.css @@ -1 +1 @@ -.title[data-v-6c90e336]{line-height:22px;color:var(--sideBarSectionHeader-foreground);background-color:var(--sideBarSectionHeader-background);border-top:1px solid var(--sideBarSectionHeader-border);height:22px;font-size:11px;font-weight:700;overflow:hidden;display:flex;cursor:pointer;align-items:center;box-sizing:border-box;text-transform:uppercase;padding-left:10px}.expandBtn[data-v-6c90e336]{position:absolute;right:10px;top:2px;opacity:.6;font-size:13px;cursor:pointer}.panel[data-v-238e861a]{display:flex;flex-direction:column}.panelContent[data-v-238e861a]{padding:10px;height:100%;position:relative;background-color:var(--editorWidget-background)}#tab-headers ul{margin:0;padding:0;display:flex;border-bottom:2px solid hsla(0,0%,86.7%,0);margin-bottom:10px}#tab-headers ul li{list-style:none;padding:5px 10px;position:relative;cursor:pointer;opacity:.5}#tab-headers ul li.active{opacity:1}#tab-headers ul li.active:after{content:"";position:absolute;bottom:-2px;left:0;height:2px;width:100%;background:var(--foreground)}#active-tab,#tab-headers{width:100%}.tab{display:none}.tab.active{display:block}.propRow[data-v-3e06e896]{position:relative;border-bottom:1px solid #e1e1e1;padding:2px 0;display:flex;flex-direction:row;gap:10px;height:21px}.propRowLabel[data-v-3e06e896]{width:35%;font-size:.9em;display:flex;justify-content:right;align-items:center;text-transform:capitalize;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.propRowControl[data-v-3e06e896]{width:60%;display:flex;justify-content:left}.propRowDynamicSwitch[data-v-3e06e896]{width:5%;display:flex;justify-content:left;align-items:center;cursor:pointer}.addPropsList[data-v-3e06e896]{padding:10px 10px;position:relative;height:100%;overflow:auto}.addPropRow[data-v-3e06e896]{padding:2px;border-bottom:1px solid rgba(0,0,0,.17);opacity:.9;cursor:pointer;position:relative;font-size:.9em;display:flex;flex-direction:row;gap:5px}.addPropRow[data-v-3e06e896]:hover{opacity:1;background-color:hsla(0,0%,95.7%,.062745098)}.addPropRow:hover>.addPropIcon[data-v-3e06e896]{opacity:1}.addPropIcon[data-v-3e06e896]{font-size:1.2em;opacity:0}.closeAddProp[data-v-3e06e896]{position:absolute;right:10px;top:5px;cursor:pointer;font-weight:700;font-size:12px;color:#999}.propInput[data-v-3e06e896]{padding:1px 10px;border:1px solid #999;border-radius:3px;box-sizing:border-box;width:100%}.propInputDynamic[data-v-3e06e896]{background-color:#fff1cd;border:1px solid #d8b252;color:#916a09}.addPropsPanel[data-v-3e06e896]{background-color:#2b2634;box-shadow:0 0 10px rgba(0,0,0,.1882352941);border-radius:5px;padding:10px 0;position:absolute;top:10px;width:95%;height:160px;display:flex;flex-direction:column}.typeIcon[data-v-52e79ce3]{width:16px;vertical-align:middle;margin-right:6px;height:16px}.bindingItem[data-v-52e79ce3]{padding:1px 0 2px;border-bottom:1px solid rgba(0,0,0,.1254901961);font-size:.9em;display:flex;cursor:grab}.bindingItem[data-v-52e79ce3]:hover{background-color:hsla(0,0%,80%,.062745098)}.sortButton[data-v-52e79ce3]{margin-left:3px;font-weight:700;font-size:12px;padding:5px;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:pointer;opacity:.4;border-radius:5px}.sortButton[data-v-52e79ce3]:hover,.sortButtonActive[data-v-52e79ce3]{background-color:rgba(0,0,0,.062745098);opacity:1}.sortButtons[data-v-52e79ce3]{position:absolute;right:25px;top:-39px;display:flex;flex-direction:row}.colorInput[data-v-53312a0a]{padding:0;border:none;width:16px;height:20px;margin-right:3px}.closeButton[data-v-a6e02b56]{position:absolute;top:5px;right:10px;padding:5px;cursor:pointer;font-weight:700}.compGroupsContainer[data-v-a6e02b56]{display:flex;flex-direction:row;gap:5px;width:100%;overflow:auto;justify-content:center}.componentAddDialogContainer[data-v-a6e02b56]{position:fixed;background-color:rgba(0,0,0,.6274509804);top:0;left:0;right:0;bottom:0;z-index:1;display:flex;justify-content:center;align-items:center}.componentAddDialog[data-v-a6e02b56]{background-color:var(--background);border:solid 1px var(--dropdown-border);padding:10px 30px 30px;box-sizing:border-box;text-align:center;position:absolute;max-width:800px;max-height:-moz-min-content;max-height:min-content;box-shadow:5px 16px 40px rgba(0,0,0,.1882352941)}.compGroup[data-v-a6e02b56]{display:flex;flex-direction:column}.compName[data-v-a6e02b56]{min-width:100px;display:block;flex:1 1 49%;border:solid 1px var(--checkbox-background);padding:5px 6px 3px;box-sizing:border-box;text-align:center;cursor:move;border-radius:5px;font-size:.9em}.compName[data-v-a6e02b56]:hover{border:1px solid #315972;background-color:hsla(0,0%,80%,.062745098)}.propItem[data-v-a6e02b56]{cursor:pointer;width:-moz-max-content;width:max-content;margin:0 10px}.propItem[data-v-a6e02b56]:hover{font-weight:700}#gjs[data-v-1f5cebf0]{border:none;height:100%!important}.gjs-cv-canvas{top:0!important;width:100%!important;height:100%!important}#myStyleEditorContainer{position:relative}#customLibrary{position:fixed;bottom:0;right:0;background-color:#333;padding:20px}.block{-webkit-user-select:none;-moz-user-select:none;user-select:none;min-width:45px;padding:1em;box-sizing:border-box;min-height:90px;cursor:all-scroll;text-align:center;display:flex;flex-direction:column;justify-content:space-between;border:1px solid rgba(0,0,0,.2);border-radius:3px;margin:10px 2.5% 5px;box-shadow:0 1px 0 0 rgba(0,0,0,.15);transition:all .2s ease 0s;transition-property:color}.block:hover{color:#d278c9}.gjs-pn-panels{display:none}.uiItemContainer[data-v-73dba5ee]{display:grid;flex-wrap:wrap;gap:5px;max-height:40vh;grid-template-columns:32% 32% 32%}.uiItem[data-v-73dba5ee]{display:block;flex:1 1 49%;border:solid 1px var(--checkbox-background);padding:5px 6px 3px;box-sizing:border-box;text-align:center;cursor:move;border-radius:5px;font-size:.9em}.uiItem[data-v-73dba5ee]:hover{background-color:rgba(0,0,0,.062745098)}.uiItemIcon[data-v-73dba5ee]{justify-content:center;display:flex;margin-bottom:3px;filter:brightness(1.5) saturate(1);pointer-events:none}.uiItemLabel[data-v-73dba5ee]{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;pointer-events:none}.blocker[data-v-4848a3d6]{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:rgba(0,0,0,.5);z-index:1;display:flex;justify-content:center;align-items:center}.addPropsPanel[data-v-4848a3d6]{background-color:#2b2634;box-shadow:0 0 10px rgba(0,0,0,.1882352941);border-radius:5px;padding:10px 0;width:300px;min-height:200px;max-height:500px;display:flex;flex-direction:column;position:relative}.closeAddProp[data-v-4848a3d6]{position:absolute;right:10px;top:5px;cursor:pointer;font-weight:700;font-size:12px;color:#999}.addPropsList[data-v-4848a3d6]{padding:10px 10px;position:relative;height:100%;overflow:auto}.addPropRow[data-v-4848a3d6]{padding:2px;border-bottom:1px solid rgba(0,0,0,.17);opacity:.9;cursor:pointer;position:relative;font-size:.9em;display:flex;flex-direction:row;gap:5px}.addPropRow[data-v-4848a3d6]:hover{opacity:1;background-color:hsla(0,0%,95.7%,.06274509803921569)}.addPropRow:hover>.addPropIcon[data-v-4848a3d6]{opacity:1}.propRow[data-v-789ef747]{position:relative;border-bottom:solid 1px var(--checkbox-background);display:flex;flex-direction:row;gap:10px;padding:2px 0 5px}.propRowLabel[data-v-789ef747]{width:35%;font-size:.9em;display:flex;justify-content:right;align-items:center;text-transform:capitalize;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-webkit-user-select:none;-moz-user-select:none;user-select:none}.propRowControl[data-v-789ef747]{width:60%;display:flex;justify-content:left}.propRowDynamicSwitch[data-v-789ef747]{width:5%;display:flex;justify-content:left;align-items:center;cursor:pointer;opacity:.7}.propRowDynamicSwitch[data-v-789ef747]:hover{opacity:1}.addPropIcon[data-v-789ef747]{font-size:1.2em;opacity:0}.propInput[data-v-789ef747]{padding:1px 10px;border:1px solid #999;border-radius:3px;box-sizing:border-box;width:100%;color:#000}.propInputDynamic[data-v-789ef747]{background-color:#fff1cd;border:1px solid #d8b252;color:#916a09}.removeBtnCnt[data-v-789ef747]{opacity:0;cursor:pointer}.propRow:hover .removeBtnCnt[data-v-789ef747]{opacity:.5}.removeBtnCnt[data-v-789ef747]:hover{opacity:1!important}.propRow{margin-bottom:5px}.row:after{content:"";clear:both;display:table}.row{margin-left:auto;margin-right:auto;width:100%;display:flex}.col{float:left;padding:15px;box-sizing:border-box}.col-1{width:8.33%}.col-2{width:16.66%}.col-3{width:25%}.col-4{width:33.33%}.col-5{width:41.66%}.col-6{width:50%}.col-7{width:58.33%}.col-8{width:66.66%}.col-9{width:75%}.col-10{width:83.33%}.col-11{width:91.66%}.col-12{width:100%}.chartConfigContainer[data-v-f85b9ac6]{--grey0:#eee;--grey1:#ccc;--grey2:#aaa;--grey3:#999;--grey4:#666;--grey5:#333;width:100%}.chartConfigContainer[data-v-f85b9ac6] input[type=text]{width:100%;border-bottom:solid 1px var(--grey0);padding:2px 5px}.chartConfigContainer[data-v-f85b9ac6] input[type=number]{width:100%}.chartConfigContainer[data-v-f85b9ac6] input[type=color]{width:18px;height:20px;padding:0}.tabSelector[data-v-f85b9ac6]{display:flex;flex-direction:row;width:100%;border-bottom:solid 1px var(--grey0)}.tabItem[data-v-f85b9ac6]{flex:1;text-align:center;padding:10px;cursor:pointer;border-bottom:1px solid hsla(0,0%,100%,0)}.tabItemSelected[data-v-f85b9ac6]{border-bottom:solid 1px var(--grey5)}.foldableGroup[data-v-f85b9ac6],.tabSectionContainer[data-v-f85b9ac6]{display:flex;flex-direction:column}.foldableGroupHeader[data-v-f85b9ac6]{display:flex;flex-direction:row;gap:2px;cursor:pointer}.foldableGroupHeader>div[data-v-f85b9ac6]{padding:0 10px;border-bottom:solid 1px var(--badge-background)}.foldableGroupContent[data-v-f85b9ac6],.subgroup[data-v-f85b9ac6]{display:flex;flex-direction:column}.subgroup[data-v-f85b9ac6]{padding:10px 0 5px}.subgroup .subgroupTitle[data-v-f85b9ac6]{font-weight:700;padding:0 0 5px}.subgroup .subgroupContent .row[data-v-f85b9ac6]{padding:5px 0}.addPropertyButtonRow[data-v-f85b9ac6]{display:flex;flex-direction:row;justify-content:right;margin-bottom:10px}.addPropertyButton[data-v-f85b9ac6]{border:1px solid #ccc;padding:0 7px;border-radius:7px;font-size:1.1em;width:-moz-min-content;width:min-content}.toolBar[data-v-3295537e]{display:flex;flex-direction:row;font-size:12px;padding-bottom:5px;border-bottom:1px solid #ccc;margin-bottom:10px;gap:15px}.logsContainer[data-v-3295537e]{height:200px;overflow:auto}.logItem[data-v-3295537e]:hover{background-color:rgba(0,0,0,.062745098)}.logItem[data-v-3295537e]{font-size:14px;color:#828282;display:flex;flex-direction:row;gap:20px;align-items:flex-start;border-bottom:1px solid hsla(0,0%,80%,.1254901961)}.appSource[data-v-3295537e],.logLevel[data-v-3295537e],.logMessage[data-v-3295537e],.timeStamp[data-v-3295537e]{flex-shrink:0;overflow:hidden;text-overflow:ellipsis}.timeStamp[data-v-3295537e]{width:150px}.logLevel[data-v-3295537e]{width:25px}.appSource[data-v-3295537e]{width:50px}.logMessage[data-v-3295537e]{flex-grow:1;flex-basis:0;min-width:0;overflow-wrap:break-word;max-width:calc(100% - 285px);overflow:hidden;max-height:20px;cursor:pointer}.logMessageExpanded[data-v-3295537e]{overflow:unset;max-height:unset}.levelInfo[data-v-3295537e]{color:#49afed}.levelWarning[data-v-3295537e]{color:#e29a42}.levelError[data-v-3295537e]{color:#f25b5b}.clearLogsButton[data-v-3295537e]{opacity:.5}.clearLogsButton[data-v-3295537e]:hover{opacity:1}.bindingsConnectorsContainer[data-v-571588a7]{background-color:rgba(255,0,0,0);width:100%;height:100%;position:fixed;z-index:10;pointer-events:none}.topBar[data-v-222d0dd8]{padding:5px;height:40px;display:flex;flex-direction:row;width:100%}.topToolBar[data-v-222d0dd8]{width:100%;justify-content:right;padding-right:5px;display:flex;align-items:center}.leftBar[data-v-222d0dd8]{flex-grow:1;max-width:300px}.centralBar[data-v-222d0dd8]{flex-grow:3;display:flex;flex-direction:column;border-right:1px solid rgba(0,0,0,.3137254902);width:calc(100% - 300px)}.rightBar[data-v-222d0dd8]{flex-grow:1;width:300px;max-height:100%;overflow-y:auto}.panel[data-v-222d0dd8]{margin:0;border-top:1px solid rgba(0,0,0,.3137254902)}.mainContainer[data-v-222d0dd8]{height:100%;background-color:var(--background)}.columnStack[data-v-222d0dd8],.mainContainer[data-v-222d0dd8]{display:flex;flex-direction:column}.rowStack[data-v-222d0dd8]{display:flex;flex-direction:row;flex:1;height:calc(100% - 40px)}.canvasPanel[data-v-222d0dd8]{height:100%}[data-theme=light]{--foreground:#616161;--disabledForeground:rgba(97,97,97,0.5);--errorForeground:#a1260d;--descriptionForeground:#717171;--icon-foreground:#424242;--focusBorder:#0090f1;--textSeparator-foreground:rgba(0,0,0,0.18);--textLink-foreground:#006ab1;--textLink-activeForeground:#006ab1;--textPreformat-foreground:#a31515;--textBlockQuote-background:hsla(0,0%,49.8%,0.1);--textBlockQuote-border:rgba(0,122,204,0.5);--textCodeBlock-background:hsla(0,0%,86.3%,0.4);--widget-shadow:rgba(0,0,0,0.16);--widget-border:#d4d4d4;--input-background:#fff;--input-foreground:#616161;--inputOption-activeBorder:#007acc;--inputOption-hoverBackground:hsla(0,0%,72.2%,0.31);--inputOption-activeBackground:rgba(0,144,241,0.2);--inputOption-activeForeground:#000;--input-placeholderForeground:#767676;--inputValidation-infoBackground:#d6ecf2;--inputValidation-infoBorder:#007acc;--inputValidation-warningBackground:#f6f5d2;--inputValidation-warningBorder:#b89500;--inputValidation-errorBackground:#f2dede;--inputValidation-errorBorder:#be1100;--dropdown-background:#fff;--dropdown-foreground:#616161;--dropdown-border:#cecece;--button-foreground:#fff;--button-separator:hsla(0,0%,100%,0.4);--button-background:#007acc;--button-hoverBackground:#0062a3;--button-secondaryForeground:#fff;--button-secondaryBackground:#5f6a79;--button-secondaryHoverBackground:#4c5561;--badge-background:#c4c4c4;--badge-foreground:#333;--scrollbar-shadow:#ddd;--scrollbarSlider-background:hsla(0,0%,39.2%,0.4);--scrollbarSlider-hoverBackground:hsla(0,0%,39.2%,0.7);--scrollbarSlider-activeBackground:rgba(0,0,0,0.6);--progressBar-background:#0e70c0;--editorError-foreground:#e51400;--editorWarning-foreground:#bf8803;--editorInfo-foreground:#1a85ff;--editorHint-foreground:#6c6c6c;--sash-hoverBorder:#0090f1;--editor-background:#fff;--editor-foreground:#000;--editorStickyScroll-background:#fff;--editorStickyScrollHover-background:#f0f0f0;--editorWidget-background:#f3f3f3;--editorWidget-foreground:#616161;--editorWidget-border:#c8c8c8;--quickInput-background:#f3f3f3;--quickInput-foreground:#616161;--quickInputTitle-background:rgba(0,0,0,0.06);--pickerGroup-foreground:#0066bf;--pickerGroup-border:#cccedb;--keybindingLabel-background:hsla(0,0%,86.7%,0.4);--keybindingLabel-foreground:#555;--keybindingLabel-border:hsla(0,0%,80%,0.4);--keybindingLabel-bottomBorder:hsla(0,0%,73.3%,0.4);--editor-selectionBackground:#add6ff;--editor-inactiveSelectionBackground:#e5ebf1;--editor-selectionHighlightBackground:rgba(173,214,255,0.5);--editor-findMatchBackground:#a8ac94;--editor-findMatchHighlightBackground:rgba(234,92,0,0.33);--editor-findRangeHighlightBackground:hsla(0,0%,70.6%,0.3);--searchEditor-findMatchBackground:rgba(234,92,0,0.22);--search-resultsInfoForeground:#616161;--editor-hoverHighlightBackground:rgba(173,214,255,0.15);--editorHoverWidget-background:#f3f3f3;--editorHoverWidget-foreground:#616161;--editorHoverWidget-border:#c8c8c8;--editorHoverWidget-statusBarBackground:#e7e7e7;--editorLink-activeForeground:#00f;--editorInlayHint-foreground:#969696;--editorInlayHint-background:hsla(0,0%,76.9%,0.1);--editorInlayHint-typeForeground:#969696;--editorInlayHint-typeBackground:hsla(0,0%,76.9%,0.1);--editorInlayHint-parameterForeground:#969696;--editorInlayHint-parameterBackground:hsla(0,0%,76.9%,0.1);--editorLightBulb-foreground:#ddb100;--editorLightBulbAutoFix-foreground:#007acc;--diffEditor-insertedTextBackground:rgba(156,204,44,0.25);--diffEditor-removedTextBackground:rgba(255,0,0,0.2);--diffEditor-insertedLineBackground:rgba(155,185,85,0.2);--diffEditor-removedLineBackground:rgba(255,0,0,0.2);--diffEditor-diagonalFill:rgba(34,34,34,0.2);--diffEditor-unchangedRegionBackground:#e4e4e4;--diffEditor-unchangedRegionForeground:#4d4c4c;--diffEditor-unchangedCodeBackground:hsla(0,0%,72.2%,0.16);--list-focusOutline:#0090f1;--list-focusAndSelectionOutline:#90c2f9;--list-activeSelectionBackground:#0060c0;--list-activeSelectionForeground:#fff;--list-activeSelectionIconForeground:#fff;--list-inactiveSelectionBackground:#e4e6f1;--list-hoverBackground:#e8e8e8;--list-dropBackground:#d6ebff;--list-highlightForeground:#0066bf;--list-focusHighlightForeground:#bbe7ff;--list-invalidItemForeground:#b89500;--list-errorForeground:#b01011;--list-warningForeground:#855f00;--listFilterWidget-background:#f3f3f3;--listFilterWidget-outline:transparent;--listFilterWidget-noMatchesOutline:#be1100;--listFilterWidget-shadow:rgba(0,0,0,0.16);--list-filterMatchBackground:rgba(234,92,0,0.33);--tree-indentGuidesStroke:#a9a9a9;--tree-inactiveIndentGuidesStroke:hsla(0,0%,66.3%,0.4);--tree-tableColumnsBorder:rgba(97,97,97,0.13);--tree-tableOddRowsBackground:rgba(97,97,97,0.04);--list-deemphasizedForeground:#8e8e90;--checkbox-background:#fff;--checkbox-selectBackground:#f3f3f3;--checkbox-foreground:#616161;--checkbox-border:#919191;--checkbox-selectBorder:#424242;--quickInputList-focusForeground:#fff;--quickInputList-focusIconForeground:#fff;--quickInputList-focusBackground:#0060c0;--menu-border:#d4d4d4;--menu-foreground:#616161;--menu-background:#fff;--menu-selectionForeground:#fff;--menu-selectionBackground:#0060c0;--menu-separatorBackground:#d4d4d4;--toolbar-hoverBackground:hsla(0,0%,72.2%,0.31);--toolbar-activeBackground:hsla(0,0%,65.1%,0.31);--editor-snippetTabstopHighlightBackground:rgba(10,50,100,0.2);--editor-snippetFinalTabstopHighlightBorder:rgba(10,50,100,0.5);--breadcrumb-foreground:rgba(97,97,97,0.8);--breadcrumb-background:#fff;--breadcrumb-focusForeground:#4e4e4e;--breadcrumb-activeSelectionForeground:#4e4e4e;--breadcrumbPicker-background:#f3f3f3;--merge-currentHeaderBackground:rgba(64,200,174,0.5);--merge-currentContentBackground:rgba(64,200,174,0.2);--merge-incomingHeaderBackground:rgba(64,166,255,0.5);--merge-incomingContentBackground:rgba(64,166,255,0.2);--merge-commonHeaderBackground:rgba(96,96,96,0.4);--merge-commonContentBackground:rgba(96,96,96,0.16);--editorOverviewRuler-currentContentForeground:rgba(64,200,174,0.5);--editorOverviewRuler-incomingContentForeground:rgba(64,166,255,0.5);--editorOverviewRuler-commonContentForeground:rgba(96,96,96,0.4);--editorOverviewRuler-findMatchForeground:rgba(209,134,22,0.49);--editorOverviewRuler-selectionHighlightForeground:hsla(0,0%,62.7%,0.8);--minimap-findMatchHighlight:#d18616;--minimap-selectionOccurrenceHighlight:#c9c9c9;--minimap-selectionHighlight:#add6ff;--minimap-infoHighlight:#1a85ff;--minimap-warningHighlight:#bf8803;--minimap-errorHighlight:rgba(255,18,18,0.7);--minimap-foregroundOpacity:#000;--minimapSlider-background:hsla(0,0%,39.2%,0.2);--minimapSlider-hoverBackground:hsla(0,0%,39.2%,0.35);--minimapSlider-activeBackground:rgba(0,0,0,0.3);--problemsErrorIcon-foreground:#e51400;--problemsWarningIcon-foreground:#bf8803;--problemsInfoIcon-foreground:#1a85ff;--charts-foreground:#616161;--charts-lines:rgba(97,97,97,0.5);--charts-red:#e51400;--charts-blue:#1a85ff;--charts-yellow:#bf8803;--charts-orange:#d18616;--charts-green:#388a34;--charts-purple:#652d90;--diffEditor-move-border:hsla(0,0%,54.5%,0.61);--diffEditor-moveActive-border:orange;--symbolIcon-arrayForeground:#616161;--symbolIcon-booleanForeground:#616161;--symbolIcon-classForeground:#d67e00;--symbolIcon-colorForeground:#616161;--symbolIcon-constantForeground:#616161;--symbolIcon-constructorForeground:#652d90;--symbolIcon-enumeratorForeground:#d67e00;--symbolIcon-enumeratorMemberForeground:#007acc;--symbolIcon-eventForeground:#d67e00;--symbolIcon-fieldForeground:#007acc;--symbolIcon-fileForeground:#616161;--symbolIcon-folderForeground:#616161;--symbolIcon-functionForeground:#652d90;--symbolIcon-interfaceForeground:#007acc;--symbolIcon-keyForeground:#616161;--symbolIcon-keywordForeground:#616161;--symbolIcon-methodForeground:#652d90;--symbolIcon-moduleForeground:#616161;--symbolIcon-namespaceForeground:#616161;--symbolIcon-nullForeground:#616161;--symbolIcon-numberForeground:#616161;--symbolIcon-objectForeground:#616161;--symbolIcon-operatorForeground:#616161;--symbolIcon-packageForeground:#616161;--symbolIcon-propertyForeground:#616161;--symbolIcon-referenceForeground:#616161;--symbolIcon-snippetForeground:#616161;--symbolIcon-stringForeground:#616161;--symbolIcon-structForeground:#616161;--symbolIcon-textForeground:#616161;--symbolIcon-typeParameterForeground:#616161;--symbolIcon-unitForeground:#616161;--symbolIcon-variableForeground:#007acc;--actionBar-toggledBackground:#ddd;--editorHoverWidget-highlightForeground:#0066bf;--editor-lineHighlightBorder:#eee;--editor-rangeHighlightBackground:rgba(253,255,0,0.2);--editor-symbolHighlightBackground:rgba(234,92,0,0.33);--editorCursor-foreground:#000;--editorWhitespace-foreground:rgba(51,51,51,0.2);--editorLineNumber-foreground:#237893;--editorIndentGuide-background:#d3d3d3;--editorIndentGuide-activeBackground:#939393;--editorIndentGuide-background1:#d3d3d3;--editorIndentGuide-background2:transparent;--editorIndentGuide-background3:transparent;--editorIndentGuide-background4:transparent;--editorIndentGuide-background5:transparent;--editorIndentGuide-background6:transparent;--editorIndentGuide-activeBackground1:#939393;--editorIndentGuide-activeBackground2:transparent;--editorIndentGuide-activeBackground3:transparent;--editorIndentGuide-activeBackground4:transparent;--editorIndentGuide-activeBackground5:transparent;--editorIndentGuide-activeBackground6:transparent;--editorActiveLineNumber-foreground:#0b216f;--editorLineNumber-activeForeground:#0b216f;--editorRuler-foreground:#d3d3d3;--editorCodeLens-foreground:#919191;--editorBracketMatch-background:rgba(0,100,0,0.1);--editorBracketMatch-border:#b9b9b9;--editorOverviewRuler-border:hsla(0,0%,49.8%,0.3);--editorGutter-background:#fff;--editorUnnecessaryCode-opacity:rgba(0,0,0,0.47);--editorGhostText-foreground:rgba(0,0,0,0.47);--editorOverviewRuler-rangeHighlightForeground:rgba(0,122,204,0.6);--editorOverviewRuler-errorForeground:rgba(255,18,18,0.7);--editorOverviewRuler-warningForeground:#bf8803;--editorOverviewRuler-infoForeground:#1a85ff;--editorBracketHighlight-foreground1:#0431fa;--editorBracketHighlight-foreground2:#319331;--editorBracketHighlight-foreground3:#7b3814;--editorBracketHighlight-foreground4:transparent;--editorBracketHighlight-foreground5:transparent;--editorBracketHighlight-foreground6:transparent;--editorBracketHighlight-unexpectedBracket-foreground:rgba(255,18,18,0.8);--editorBracketPairGuide-background1:transparent;--editorBracketPairGuide-background2:transparent;--editorBracketPairGuide-background3:transparent;--editorBracketPairGuide-background4:transparent;--editorBracketPairGuide-background5:transparent;--editorBracketPairGuide-background6:transparent;--editorBracketPairGuide-activeBackground1:transparent;--editorBracketPairGuide-activeBackground2:transparent;--editorBracketPairGuide-activeBackground3:transparent;--editorBracketPairGuide-activeBackground4:transparent;--editorBracketPairGuide-activeBackground5:transparent;--editorBracketPairGuide-activeBackground6:transparent;--editorUnicodeHighlight-border:#cea33d;--editorUnicodeHighlight-background:rgba(206,163,61,0.08);--editorOverviewRuler-bracketMatchForeground:#a0a0a0;--editor-foldBackground:rgba(173,214,255,0.3);--editorGutter-foldingControlForeground:#424242;--editor-linkedEditingBackground:rgba(255,0,0,0.3);--editor-wordHighlightBackground:rgba(87,87,87,0.25);--editor-wordHighlightStrongBackground:rgba(14,99,156,0.25);--editor-wordHighlightTextBackground:rgba(87,87,87,0.25);--editorOverviewRuler-wordHighlightForeground:hsla(0,0%,62.7%,0.8);--editorOverviewRuler-wordHighlightStrongForeground:rgba(192,160,192,0.8);--editorOverviewRuler-wordHighlightTextForeground:hsla(0,0%,62.7%,0.8);--peekViewTitle-background:#f3f3f3;--peekViewTitleLabel-foreground:#000;--peekViewTitleDescription-foreground:#616161;--peekView-border:#1a85ff;--peekViewResult-background:#f3f3f3;--peekViewResult-lineForeground:#646465;--peekViewResult-fileForeground:#1e1e1e;--peekViewResult-selectionBackground:rgba(51,153,255,0.2);--peekViewResult-selectionForeground:#6c6c6c;--peekViewEditor-background:#f2f8fc;--peekViewEditorGutter-background:#f2f8fc;--peekViewEditorStickyScroll-background:#f2f8fc;--peekViewResult-matchHighlightBackground:rgba(234,92,0,0.3);--peekViewEditor-matchHighlightBackground:rgba(245,216,2,0.87);--editorMarkerNavigationError-background:#e51400;--editorMarkerNavigationError-headerBackground:rgba(229,20,0,0.1);--editorMarkerNavigationWarning-background:#bf8803;--editorMarkerNavigationWarning-headerBackground:rgba(191,136,3,0.1);--editorMarkerNavigationInfo-background:#1a85ff;--editorMarkerNavigationInfo-headerBackground:rgba(26,133,255,0.1);--editorMarkerNavigation-background:#fff;--editorSuggestWidget-background:#f3f3f3;--editorSuggestWidget-border:#c8c8c8;--editorSuggestWidget-foreground:#000;--editorSuggestWidget-selectedForeground:#fff;--editorSuggestWidget-selectedIconForeground:#fff;--editorSuggestWidget-selectedBackground:#0060c0;--editorSuggestWidget-highlightForeground:#0066bf;--editorSuggestWidget-focusHighlightForeground:#bbe7ff;--editorSuggestWidgetStatus-foreground:rgba(0,0,0,0.5);--tab-activeBackground:#fff;--tab-unfocusedActiveBackground:#fff;--tab-inactiveBackground:#ececec;--tab-unfocusedInactiveBackground:#ececec;--tab-activeForeground:#333;--tab-inactiveForeground:rgba(51,51,51,0.7);--tab-unfocusedActiveForeground:rgba(51,51,51,0.7);--tab-unfocusedInactiveForeground:rgba(51,51,51,0.35);--tab-border:#f3f3f3;--tab-lastPinnedBorder:rgba(97,97,97,0.19);--tab-activeModifiedBorder:#3ae;--tab-inactiveModifiedBorder:rgba(51,170,238,0.5);--tab-unfocusedActiveModifiedBorder:rgba(51,170,238,0.7);--tab-unfocusedInactiveModifiedBorder:rgba(51,170,238,0.25);--editorPane-background:#fff;--editorGroupHeader-tabsBackground:#f3f3f3;--editorGroupHeader-noTabsBackground:#fff;--editorGroup-border:#e7e7e7;--editorGroup-dropBackground:rgba(38,119,203,0.18);--editorGroup-dropIntoPromptForeground:#616161;--editorGroup-dropIntoPromptBackground:#f3f3f3;--sideBySideEditor-horizontalBorder:#e7e7e7;--sideBySideEditor-verticalBorder:#e7e7e7;--panel-background:#fff;--panel-border:hsla(0,0%,50.2%,0.35);--panelTitle-activeForeground:#424242;--panelTitle-inactiveForeground:rgba(66,66,66,0.75);--panelTitle-activeBorder:#424242;--panelInput-border:#ddd;--panel-dropBorder:#424242;--panelSection-dropBackground:rgba(38,119,203,0.18);--panelSectionHeader-background:hsla(0,0%,50.2%,0.2);--panelSection-border:hsla(0,0%,50.2%,0.35);--banner-background:#004386;--banner-foreground:#fff;--banner-iconForeground:#1a85ff;--statusBar-foreground:#fff;--statusBar-noFolderForeground:#fff;--statusBar-background:#007acc;--statusBar-noFolderBackground:#68217a;--statusBar-focusBorder:#fff;--statusBarItem-activeBackground:hsla(0,0%,100%,0.18);--statusBarItem-focusBorder:#fff;--statusBarItem-hoverBackground:hsla(0,0%,100%,0.12);--statusBarItem-hoverForeground:#fff;--statusBarItem-compactHoverBackground:hsla(0,0%,100%,0.2);--statusBarItem-prominentForeground:#fff;--statusBarItem-prominentBackground:rgba(0,0,0,0.5);--statusBarItem-prominentHoverForeground:#fff;--statusBarItem-prominentHoverBackground:rgba(0,0,0,0.3);--statusBarItem-errorBackground:#c72e0f;--statusBarItem-errorForeground:#fff;--statusBarItem-errorHoverForeground:#fff;--statusBarItem-errorHoverBackground:hsla(0,0%,100%,0.12);--statusBarItem-warningBackground:#725102;--statusBarItem-warningForeground:#fff;--statusBarItem-warningHoverForeground:#fff;--statusBarItem-warningHoverBackground:hsla(0,0%,100%,0.12);--activityBar-background:#2c2c2c;--activityBar-foreground:#fff;--activityBar-inactiveForeground:hsla(0,0%,100%,0.4);--activityBar-activeBorder:#fff;--activityBar-dropBorder:#fff;--activityBarBadge-background:#007acc;--activityBarBadge-foreground:#fff;--profileBadge-background:#c4c4c4;--profileBadge-foreground:#333;--statusBarItem-remoteBackground:#16825d;--statusBarItem-remoteForeground:#fff;--statusBarItem-remoteHoverForeground:#fff;--statusBarItem-remoteHoverBackground:hsla(0,0%,100%,0.12);--statusBarItem-offlineBackground:#6c1717;--statusBarItem-offlineForeground:#fff;--statusBarItem-offlineHoverForeground:#fff;--statusBarItem-offlineHoverBackground:hsla(0,0%,100%,0.12);--extensionBadge-remoteBackground:#007acc;--extensionBadge-remoteForeground:#fff;--sideBar-background:#f3f3f3;--sideBarTitle-foreground:#6f6f6f;--sideBar-dropBackground:rgba(38,119,203,0.18);--sideBarSectionHeader-background:transparent;--sideBarSectionHeader-border:rgba(97,97,97,0.19);--titleBar-activeForeground:#333;--titleBar-inactiveForeground:rgba(51,51,51,0.6);--titleBar-activeBackground:#ddd;--titleBar-inactiveBackground:hsla(0,0%,86.7%,0.6);--menubar-selectionForeground:#333;--menubar-selectionBackground:hsla(0,0%,72.2%,0.31);--commandCenter-foreground:#333;--commandCenter-activeForeground:#333;--commandCenter-inactiveForeground:rgba(51,51,51,0.6);--commandCenter-background:rgba(0,0,0,0.05);--commandCenter-activeBackground:rgba(0,0,0,0.08);--commandCenter-border:rgba(51,51,51,0.2);--commandCenter-activeBorder:rgba(51,51,51,0.3);--commandCenter-inactiveBorder:rgba(51,51,51,0.15);--notificationCenter-border:#d4d4d4;--notificationToast-border:#d4d4d4;--notifications-foreground:#616161;--notifications-background:#f3f3f3;--notificationLink-foreground:#006ab1;--notificationCenterHeader-background:#e7e7e7;--notifications-border:#e7e7e7;--notificationsErrorIcon-foreground:#e51400;--notificationsWarningIcon-foreground:#bf8803;--notificationsInfoIcon-foreground:#1a85ff;--chat-requestBorder:rgba(0,0,0,0.1);--chat-slashCommandBackground:#c4c4c4;--chat-slashCommandForeground:#333;--simpleFindWidget-sashBorder:#c8c8c8;--commentsView-resolvedIcon:rgba(97,97,97,0.5);--commentsView-unresolvedIcon:#0090f1;--editorCommentsWidget-resolvedBorder:rgba(97,97,97,0.5);--editorCommentsWidget-unresolvedBorder:#0090f1;--editorCommentsWidget-rangeBackground:rgba(0,144,241,0.1);--editorCommentsWidget-rangeActiveBackground:rgba(0,144,241,0.1);--editorGutter-commentRangeForeground:#d5d8e9;--editorOverviewRuler-commentForeground:#d5d8e9;--editorOverviewRuler-commentUnresolvedForeground:#d5d8e9;--editorGutter-commentGlyphForeground:#000;--editorGutter-commentUnresolvedGlyphForeground:#000;--debugToolBar-background:#f3f3f3;--debugIcon-startForeground:#388a34;--editor-stackFrameHighlightBackground:rgba(255,255,102,0.45);--editor-focusedStackFrameHighlightBackground:rgba(206,231,206,0.45);--mergeEditor-change-background:rgba(155,185,85,0.2);--mergeEditor-change-word-background:rgba(156,204,44,0.4);--mergeEditor-changeBase-background:#fcc;--mergeEditor-changeBase-word-background:#ffa3a3;--mergeEditor-conflict-unhandledUnfocused-border:#ffa600;--mergeEditor-conflict-unhandledFocused-border:#ffa600;--mergeEditor-conflict-handledUnfocused-border:hsla(0,0%,52.5%,0.29);--mergeEditor-conflict-handledFocused-border:hsla(0,0%,75.7%,0.8);--mergeEditor-conflict-handled-minimapOverViewRuler:rgba(173,172,168,0.93);--mergeEditor-conflict-unhandled-minimapOverViewRuler:#fcba03;--mergeEditor-conflictingLines-background:rgba(255,234,0,0.28);--mergeEditor-conflict-input1-background:rgba(64,200,174,0.2);--mergeEditor-conflict-input2-background:rgba(64,166,255,0.2);--settings-headerForeground:#444;--settings-settingsHeaderHoverForeground:rgba(68,68,68,0.7);--settings-modifiedItemIndicator:#66afe0;--settings-headerBorder:hsla(0,0%,50.2%,0.35);--settings-sashBorder:hsla(0,0%,50.2%,0.35);--settings-dropdownBackground:#fff;--settings-dropdownForeground:#616161;--settings-dropdownBorder:#cecece;--settings-dropdownListBorder:#c8c8c8;--settings-checkboxBackground:#fff;--settings-checkboxForeground:#616161;--settings-checkboxBorder:#919191;--settings-textInputBackground:#fff;--settings-textInputForeground:#616161;--settings-textInputBorder:#cecece;--settings-numberInputBackground:#fff;--settings-numberInputForeground:#616161;--settings-numberInputBorder:#cecece;--settings-focusedRowBackground:hsla(0,0%,91%,0.6);--settings-rowHoverBackground:hsla(0,0%,91%,0.3);--settings-focusedRowBorder:#0090f1;--terminal-foreground:#333;--terminal-selectionBackground:#add6ff;--terminal-inactiveSelectionBackground:#e5ebf1;--terminalCommandDecoration-defaultBackground:rgba(0,0,0,0.25);--terminalCommandDecoration-successBackground:#2090d3;--terminalCommandDecoration-errorBackground:#e51400;--terminalOverviewRuler-cursorForeground:hsla(0,0%,62.7%,0.8);--terminal-border:hsla(0,0%,50.2%,0.35);--terminal-findMatchBackground:#a8ac94;--terminal-hoverHighlightBackground:rgba(173,214,255,0.07);--terminal-findMatchHighlightBackground:rgba(234,92,0,0.33);--terminalOverviewRuler-findMatchForeground:rgba(209,134,22,0.49);--terminal-dropBackground:rgba(38,119,203,0.18);--testing-iconFailed:#f14c4c;--testing-iconErrored:#f14c4c;--testing-iconPassed:#73c991;--testing-runAction:#73c991;--testing-iconQueued:#cca700;--testing-iconUnset:#848484;--testing-iconSkipped:#848484;--testing-peekBorder:#e51400;--testing-peekHeaderBackground:rgba(229,20,0,0.1);--testing-message-error-decorationForeground:#e51400;--testing-message-error-lineBackground:rgba(255,0,0,0.2);--testing-message-info-decorationForeground:rgba(0,0,0,0.5);--welcomePage-tileBackground:#f3f3f3;--welcomePage-tileHoverBackground:#dbdbdb;--welcomePage-tileBorder:rgba(0,0,0,0.1);--welcomePage-progress-background:#fff;--welcomePage-progress-foreground:#006ab1;--walkthrough-stepTitle-foreground:#000;--walkThrough-embeddedEditorBackground:#f4f4f4;--inlineChat-background:#f3f3f3;--inlineChat-border:#c8c8c8;--inlineChat-shadow:rgba(0,0,0,0.16);--inlineChat-regionHighlight:rgba(173,214,255,0.15);--inlineChatInput-border:#c8c8c8;--inlineChatInput-focusBorder:#0090f1;--inlineChatInput-placeholderForeground:#767676;--inlineChatInput-background:#fff;--inlineChatDiff-inserted:rgba(156,204,44,0.13);--inlineChatDiff-removed:rgba(255,0,0,0.1);--debugExceptionWidget-border:#a31515;--debugExceptionWidget-background:#f1dfde;--ports-iconRunningProcessForeground:#369432;--statusBar-debuggingBackground:#c63;--statusBar-debuggingForeground:#fff;--commandCenter-debuggingBackground:rgba(204,102,51,0.26);--editor-inlineValuesForeground:rgba(0,0,0,0.5);--editor-inlineValuesBackground:rgba(255,200,0,0.2);--editorGutter-modifiedBackground:#2090d3;--editorGutter-addedBackground:#48985d;--editorGutter-deletedBackground:#e51400;--minimapGutter-modifiedBackground:#2090d3;--minimapGutter-addedBackground:#48985d;--minimapGutter-deletedBackground:#e51400;--editorOverviewRuler-modifiedForeground:rgba(32,144,211,0.6);--editorOverviewRuler-addedForeground:rgba(72,152,93,0.6);--editorOverviewRuler-deletedForeground:rgba(229,20,0,0.6);--debugIcon-breakpointForeground:#e51400;--debugIcon-breakpointDisabledForeground:#848484;--debugIcon-breakpointUnverifiedForeground:#848484;--debugIcon-breakpointCurrentStackframeForeground:#be8700;--debugIcon-breakpointStackframeForeground:#89d185;--notebook-cellBorderColor:#e8e8e8;--notebook-focusedEditorBorder:#0090f1;--notebookStatusSuccessIcon-foreground:#388a34;--notebookEditorOverviewRuler-runningCellForeground:#388a34;--notebookStatusErrorIcon-foreground:#a1260d;--notebookStatusRunningIcon-foreground:#616161;--notebook-cellToolbarSeparator:hsla(0,0%,50.2%,0.35);--notebook-selectedCellBackground:rgba(200,221,241,0.31);--notebook-selectedCellBorder:#e8e8e8;--notebook-focusedCellBorder:#0090f1;--notebook-inactiveFocusedCellBorder:#e8e8e8;--notebook-cellStatusBarItemHoverBackground:rgba(0,0,0,0.08);--notebook-cellInsertionIndicator:#0090f1;--notebookScrollbarSlider-background:hsla(0,0%,39.2%,0.4);--notebookScrollbarSlider-hoverBackground:hsla(0,0%,39.2%,0.7);--notebookScrollbarSlider-activeBackground:rgba(0,0,0,0.6);--notebook-symbolHighlightBackground:rgba(253,255,0,0.2);--notebook-cellEditorBackground:#f3f3f3;--notebook-editorBackground:#fff;--keybindingTable-headerBackground:rgba(97,97,97,0.04);--keybindingTable-rowsBackground:rgba(97,97,97,0.04);--searchEditor-textInputBorder:#cecece;--debugTokenExpression-name:#9b46b0;--debugTokenExpression-value:hsla(0,0%,42.4%,0.8);--debugTokenExpression-string:#a31515;--debugTokenExpression-boolean:#00f;--debugTokenExpression-number:#098658;--debugTokenExpression-error:#e51400;--debugView-exceptionLabelForeground:#fff;--debugView-exceptionLabelBackground:#a31515;--debugView-stateLabelForeground:#616161;--debugView-stateLabelBackground:hsla(0,0%,53.3%,0.27);--debugView-valueChangedHighlight:#569cd6;--debugConsole-infoForeground:#1a85ff;--debugConsole-warningForeground:#bf8803;--debugConsole-errorForeground:#a1260d;--debugConsole-sourceForeground:#616161;--debugConsoleInputIcon-foreground:#616161;--debugIcon-pauseForeground:#007acc;--debugIcon-stopForeground:#a1260d;--debugIcon-disconnectForeground:#a1260d;--debugIcon-restartForeground:#388a34;--debugIcon-stepOverForeground:#007acc;--debugIcon-stepIntoForeground:#007acc;--debugIcon-stepOutForeground:#007acc;--debugIcon-continueForeground:#007acc;--debugIcon-stepBackForeground:#007acc;--scm-providerBorder:#c8c8c8;--extensionButton-background:#007acc;--extensionButton-foreground:#fff;--extensionButton-hoverBackground:#0062a3;--extensionButton-separator:hsla(0,0%,100%,0.4);--extensionButton-prominentBackground:#007acc;--extensionButton-prominentForeground:#fff;--extensionButton-prominentHoverBackground:#0062a3;--extensionIcon-starForeground:#df6100;--extensionIcon-verifiedForeground:#006ab1;--extensionIcon-preReleaseForeground:#1d9271;--extensionIcon-sponsorForeground:#b51e78;--terminal-ansiBlack:#000;--terminal-ansiRed:#cd3131;--terminal-ansiGreen:#00bc00;--terminal-ansiYellow:#949800;--terminal-ansiBlue:#0451a5;--terminal-ansiMagenta:#bc05bc;--terminal-ansiCyan:#0598bc;--terminal-ansiWhite:#555;--terminal-ansiBrightBlack:#666;--terminal-ansiBrightRed:#cd3131;--terminal-ansiBrightGreen:#14ce14;--terminal-ansiBrightYellow:#b5ba00;--terminal-ansiBrightBlue:#0451a5;--terminal-ansiBrightMagenta:#bc05bc;--terminal-ansiBrightCyan:#0598bc;--terminal-ansiBrightWhite:#a5a5a5;--interactive-activeCodeBorder:#1a85ff;--interactive-inactiveCodeBorder:#e4e6f1;--gitDecoration-addedResourceForeground:#587c0c;--gitDecoration-modifiedResourceForeground:#895503;--gitDecoration-deletedResourceForeground:#ad0707;--gitDecoration-renamedResourceForeground:#007100;--gitDecoration-untrackedResourceForeground:#007100;--gitDecoration-ignoredResourceForeground:#8e8e90;--gitDecoration-stageModifiedResourceForeground:#895503;--gitDecoration-stageDeletedResourceForeground:#ad0707;--gitDecoration-conflictingResourceForeground:#ad0707;--gitDecoration-submoduleResourceForeground:#1258a7;--gitlens-gutterBackgroundColor:rgba(0,0,0,0.05);--gitlens-gutterForegroundColor:#747474;--gitlens-gutterUncommittedForegroundColor:rgba(0,188,242,0.6);--gitlens-trailingLineBackgroundColor:transparent;--gitlens-trailingLineForegroundColor:hsla(0,0%,60%,0.35);--gitlens-lineHighlightBackgroundColor:rgba(0,188,242,0.2);--gitlens-lineHighlightOverviewRulerColor:rgba(0,188,242,0.6);--gitlens-openAutolinkedIssueIconColor:#1a7f37;--gitlens-closedAutolinkedIssueIconColor:#8250df;--gitlens-closedPullRequestIconColor:#cf222e;--gitlens-openPullRequestIconColor:#1a7f37;--gitlens-mergedPullRequestIconColor:#8250df;--gitlens-unpublishedChangesIconColor:#35b15e;--gitlens-unpublishedCommitIconColor:#35b15e;--gitlens-unpulledChangesIconColor:#b15e35;--gitlens-decorations-addedForegroundColor:#587c0c;--gitlens-decorations-copiedForegroundColor:#007100;--gitlens-decorations-deletedForegroundColor:#ad0707;--gitlens-decorations-ignoredForegroundColor:#8e8e90;--gitlens-decorations-modifiedForegroundColor:#895503;--gitlens-decorations-untrackedForegroundColor:#007100;--gitlens-decorations-renamedForegroundColor:#007100;--gitlens-decorations-branchAheadForegroundColor:#35b15e;--gitlens-decorations-branchBehindForegroundColor:#b15e35;--gitlens-decorations-branchDivergedForegroundColor:#d8af1b;--gitlens-decorations-branchUnpublishedForegroundColor:#35b15e;--gitlens-decorations-branchMissingUpstreamForegroundColor:#ad0707;--gitlens-decorations-workspaceRepoMissingForegroundColor:#949494;--gitlens-decorations-workspaceCurrentForegroundColor:#35b15e;--gitlens-decorations-workspaceRepoOpenForegroundColor:#35b15e;--gitlens-decorations-worktreeHasUncommittedChangesForegroundColor:#895503;--gitlens-decorations-worktreeMissingForegroundColor:#ad0707;--gitlens-graphLane1Color:#15a0bf;--gitlens-graphLane2Color:#0669f7;--gitlens-graphLane3Color:#8e00c2;--gitlens-graphLane4Color:#c517b6;--gitlens-graphLane5Color:#d90171;--gitlens-graphLane6Color:#cd0101;--gitlens-graphLane7Color:#f25d2e;--gitlens-graphLane8Color:#f2ca33;--gitlens-graphLane9Color:#7bd938;--gitlens-graphLane10Color:#2ece9d;--gitlens-graphChangesColumnAddedColor:#2da44e;--gitlens-graphChangesColumnDeletedColor:#cf222e;--gitlens-graphMinimapMarkerHeadColor:#04c814;--gitlens-graphScrollMarkerHeadColor:#04c814;--gitlens-graphMinimapMarkerUpstreamColor:#8cd993;--gitlens-graphScrollMarkerUpstreamColor:#8cd993;--gitlens-graphMinimapMarkerHighlightsColor:#f5cc00;--gitlens-graphScrollMarkerHighlightsColor:#f5cc00;--gitlens-graphMinimapMarkerLocalBranchesColor:#3095e8;--gitlens-graphScrollMarkerLocalBranchesColor:#3095e8;--gitlens-graphMinimapMarkerRemoteBranchesColor:#67ace4;--gitlens-graphScrollMarkerRemoteBranchesColor:#67ace4;--gitlens-graphMinimapMarkerStashesColor:#e467e4;--gitlens-graphScrollMarkerStashesColor:#e467e4;--gitlens-graphMinimapMarkerTagsColor:#d2a379;--gitlens-graphScrollMarkerTagsColor:#d2a379}[data-theme=dark]{--vscode-foreground:#ccc;--vscode-disabledForeground:hsla(0,0%,80%,0.5);--vscode-errorForeground:#f48771;--vscode-descriptionForeground:hsla(0,0%,80%,0.7);--vscode-icon-foreground:#c5c5c5;--vscode-focusBorder:#007fd4;--vscode-textSeparator-foreground:hsla(0,0%,100%,0.18);--vscode-textLink-foreground:#3794ff;--vscode-textLink-activeForeground:#3794ff;--vscode-textPreformat-foreground:#d7ba7d;--vscode-textBlockQuote-background:hsla(0,0%,49.8%,0.1);--vscode-textBlockQuote-border:rgba(0,122,204,0.5);--vscode-textCodeBlock-background:rgba(10,10,10,0.4);--vscode-widget-shadow:rgba(0,0,0,0.36);--vscode-widget-border:#303031;--vscode-input-background:#3c3c3c;--vscode-input-foreground:#ccc;--vscode-inputOption-activeBorder:#007acc;--vscode-inputOption-hoverBackground:rgba(90,93,94,0.5);--vscode-inputOption-activeBackground:rgba(0,127,212,0.4);--vscode-inputOption-activeForeground:#fff;--vscode-input-placeholderForeground:#a6a6a6;--vscode-inputValidation-infoBackground:#063b49;--vscode-inputValidation-infoBorder:#007acc;--vscode-inputValidation-warningBackground:#352a05;--vscode-inputValidation-warningBorder:#b89500;--vscode-inputValidation-errorBackground:#5a1d1d;--vscode-inputValidation-errorBorder:#be1100;--vscode-dropdown-background:#3c3c3c;--vscode-dropdown-foreground:#f0f0f0;--vscode-dropdown-border:#3c3c3c;--vscode-button-foreground:#fff;--vscode-button-separator:hsla(0,0%,100%,0.4);--vscode-button-background:#0e639c;--vscode-button-hoverBackground:#17b;--vscode-button-secondaryForeground:#fff;--vscode-button-secondaryBackground:#3a3d41;--vscode-button-secondaryHoverBackground:#45494e;--vscode-badge-background:#4d4d4d;--vscode-badge-foreground:#fff;--vscode-scrollbar-shadow:#000;--vscode-scrollbarSlider-background:hsla(0,0%,47.5%,0.4);--vscode-scrollbarSlider-hoverBackground:hsla(0,0%,39.2%,0.7);--vscode-scrollbarSlider-activeBackground:hsla(0,0%,74.9%,0.4);--vscode-progressBar-background:#0e70c0;--vscode-editorError-foreground:#f14c4c;--vscode-editorWarning-foreground:#cca700;--vscode-editorInfo-foreground:#3794ff;--vscode-editorHint-foreground:hsla(0,0%,93.3%,0.7);--vscode-sash-hoverBorder:#007fd4;--vscode-editor-background:#1e1e1e;--vscode-editor-foreground:#d4d4d4;--vscode-editorStickyScroll-background:#1e1e1e;--vscode-editorStickyScrollHover-background:#2a2d2e;--vscode-editorWidget-background:#252526;--vscode-editorWidget-foreground:#ccc;--vscode-editorWidget-border:#454545;--vscode-quickInput-background:#252526;--vscode-quickInput-foreground:#ccc;--vscode-quickInputTitle-background:hsla(0,0%,100%,0.1);--vscode-pickerGroup-foreground:#3794ff;--vscode-pickerGroup-border:#3f3f46;--vscode-keybindingLabel-background:hsla(0,0%,50.2%,0.17);--vscode-keybindingLabel-foreground:#ccc;--vscode-keybindingLabel-border:rgba(51,51,51,0.6);--vscode-keybindingLabel-bottomBorder:rgba(68,68,68,0.6);--vscode-editor-selectionBackground:#264f78;--vscode-editor-inactiveSelectionBackground:#3a3d41;--vscode-editor-selectionHighlightBackground:rgba(173,214,255,0.15);--vscode-editor-findMatchBackground:#515c6a;--vscode-editor-findMatchHighlightBackground:rgba(234,92,0,0.33);--vscode-editor-findRangeHighlightBackground:rgba(58,61,65,0.4);--vscode-searchEditor-findMatchBackground:rgba(234,92,0,0.22);--vscode-search-resultsInfoForeground:hsla(0,0%,80%,0.65);--vscode-editor-hoverHighlightBackground:rgba(38,79,120,0.25);--vscode-editorHoverWidget-background:#252526;--vscode-editorHoverWidget-foreground:#ccc;--vscode-editorHoverWidget-border:#454545;--vscode-editorHoverWidget-statusBarBackground:#2c2c2d;--vscode-editorLink-activeForeground:#4e94ce;--vscode-editorInlayHint-foreground:#969696;--vscode-editorInlayHint-background:rgba(77,77,77,0.1);--vscode-editorInlayHint-typeForeground:#969696;--vscode-editorInlayHint-typeBackground:rgba(77,77,77,0.1);--vscode-editorInlayHint-parameterForeground:#969696;--vscode-editorInlayHint-parameterBackground:rgba(77,77,77,0.1);--vscode-editorLightBulb-foreground:#fc0;--vscode-editorLightBulbAutoFix-foreground:#75beff;--vscode-diffEditor-insertedTextBackground:rgba(156,204,44,0.2);--vscode-diffEditor-removedTextBackground:rgba(255,0,0,0.2);--vscode-diffEditor-insertedLineBackground:rgba(155,185,85,0.2);--vscode-diffEditor-removedLineBackground:rgba(255,0,0,0.2);--vscode-diffEditor-diagonalFill:hsla(0,0%,80%,0.2);--vscode-diffEditor-unchangedRegionBackground:#3e3e3e;--vscode-diffEditor-unchangedRegionForeground:#a3a2a2;--vscode-diffEditor-unchangedCodeBackground:hsla(0,0%,45.5%,0.16);--vscode-list-focusOutline:#007fd4;--vscode-list-activeSelectionBackground:#04395e;--vscode-list-activeSelectionForeground:#fff;--vscode-list-activeSelectionIconForeground:#fff;--vscode-list-inactiveSelectionBackground:#37373d;--vscode-list-hoverBackground:#2a2d2e;--vscode-list-dropBackground:#383b3d;--vscode-list-highlightForeground:#2aaaff;--vscode-list-focusHighlightForeground:#2aaaff;--vscode-list-invalidItemForeground:#b89500;--vscode-list-errorForeground:#f88070;--vscode-list-warningForeground:#cca700;--vscode-listFilterWidget-background:#252526;--vscode-listFilterWidget-outline:transparent;--vscode-listFilterWidget-noMatchesOutline:#be1100;--vscode-listFilterWidget-shadow:rgba(0,0,0,0.36);--vscode-list-filterMatchBackground:rgba(234,92,0,0.33);--vscode-tree-indentGuidesStroke:#585858;--vscode-tree-inactiveIndentGuidesStroke:rgba(88,88,88,0.4);--vscode-tree-tableColumnsBorder:hsla(0,0%,80%,0.13);--vscode-tree-tableOddRowsBackground:hsla(0,0%,80%,0.04);--vscode-list-deemphasizedForeground:#8c8c8c;--vscode-checkbox-background:#3c3c3c;--vscode-checkbox-selectBackground:#252526;--vscode-checkbox-foreground:#f0f0f0;--vscode-checkbox-border:#6b6b6b;--vscode-checkbox-selectBorder:#c5c5c5;--vscode-quickInputList-focusForeground:#fff;--vscode-quickInputList-focusIconForeground:#fff;--vscode-quickInputList-focusBackground:#04395e;--vscode-menu-border:#454545;--vscode-menu-foreground:#ccc;--vscode-menu-background:#252526;--vscode-menu-selectionForeground:#fff;--vscode-menu-selectionBackground:#04395e;--vscode-menu-separatorBackground:#454545;--vscode-toolbar-hoverBackground:rgba(90,93,94,0.31);--vscode-toolbar-activeBackground:rgba(99,102,103,0.31);--vscode-editor-snippetTabstopHighlightBackground:hsla(0,0%,48.6%,0.3);--vscode-editor-snippetFinalTabstopHighlightBorder:#525252;--vscode-breadcrumb-foreground:hsla(0,0%,80%,0.8);--vscode-breadcrumb-background:#1e1e1e;--vscode-breadcrumb-focusForeground:#e0e0e0;--vscode-breadcrumb-activeSelectionForeground:#e0e0e0;--vscode-breadcrumbPicker-background:#252526;--vscode-merge-currentHeaderBackground:rgba(64,200,174,0.5);--vscode-merge-currentContentBackground:rgba(64,200,174,0.2);--vscode-merge-incomingHeaderBackground:rgba(64,166,255,0.5);--vscode-merge-incomingContentBackground:rgba(64,166,255,0.2);--vscode-merge-commonHeaderBackground:rgba(96,96,96,0.4);--vscode-merge-commonContentBackground:rgba(96,96,96,0.16);--vscode-editorOverviewRuler-currentContentForeground:rgba(64,200,174,0.5);--vscode-editorOverviewRuler-incomingContentForeground:rgba(64,166,255,0.5);--vscode-editorOverviewRuler-commonContentForeground:rgba(96,96,96,0.4);--vscode-editorOverviewRuler-findMatchForeground:rgba(209,134,22,0.49);--vscode-editorOverviewRuler-selectionHighlightForeground:hsla(0,0%,62.7%,0.8);--vscode-minimap-findMatchHighlight:#d18616;--vscode-minimap-selectionOccurrenceHighlight:#676767;--vscode-minimap-selectionHighlight:#264f78;--vscode-minimap-infoHighlight:#3794ff;--vscode-minimap-warningHighlight:#cca700;--vscode-minimap-errorHighlight:rgba(255,18,18,0.7);--vscode-minimap-foregroundOpacity:#000;--vscode-minimapSlider-background:hsla(0,0%,47.5%,0.2);--vscode-minimapSlider-hoverBackground:hsla(0,0%,39.2%,0.35);--vscode-minimapSlider-activeBackground:hsla(0,0%,74.9%,0.2);--vscode-problemsErrorIcon-foreground:#f14c4c;--vscode-problemsWarningIcon-foreground:#cca700;--vscode-problemsInfoIcon-foreground:#3794ff;--vscode-charts-foreground:#ccc;--vscode-charts-lines:hsla(0,0%,80%,0.5);--vscode-charts-red:#f14c4c;--vscode-charts-blue:#3794ff;--vscode-charts-yellow:#cca700;--vscode-charts-orange:#d18616;--vscode-charts-green:#89d185;--vscode-charts-purple:#b180d7;--vscode-diffEditor-move-border:hsla(0,0%,54.5%,0.61);--vscode-diffEditor-moveActive-border:orange;--vscode-symbolIcon-arrayForeground:#ccc;--vscode-symbolIcon-booleanForeground:#ccc;--vscode-symbolIcon-classForeground:#ee9d28;--vscode-symbolIcon-colorForeground:#ccc;--vscode-symbolIcon-constantForeground:#ccc;--vscode-symbolIcon-constructorForeground:#b180d7;--vscode-symbolIcon-enumeratorForeground:#ee9d28;--vscode-symbolIcon-enumeratorMemberForeground:#75beff;--vscode-symbolIcon-eventForeground:#ee9d28;--vscode-symbolIcon-fieldForeground:#75beff;--vscode-symbolIcon-fileForeground:#ccc;--vscode-symbolIcon-folderForeground:#ccc;--vscode-symbolIcon-functionForeground:#b180d7;--vscode-symbolIcon-interfaceForeground:#75beff;--vscode-symbolIcon-keyForeground:#ccc;--vscode-symbolIcon-keywordForeground:#ccc;--vscode-symbolIcon-methodForeground:#b180d7;--vscode-symbolIcon-moduleForeground:#ccc;--vscode-symbolIcon-namespaceForeground:#ccc;--vscode-symbolIcon-nullForeground:#ccc;--vscode-symbolIcon-numberForeground:#ccc;--vscode-symbolIcon-objectForeground:#ccc;--vscode-symbolIcon-operatorForeground:#ccc;--vscode-symbolIcon-packageForeground:#ccc;--vscode-symbolIcon-propertyForeground:#ccc;--vscode-symbolIcon-referenceForeground:#ccc;--vscode-symbolIcon-snippetForeground:#ccc;--vscode-symbolIcon-stringForeground:#ccc;--vscode-symbolIcon-structForeground:#ccc;--vscode-symbolIcon-textForeground:#ccc;--vscode-symbolIcon-typeParameterForeground:#ccc;--vscode-symbolIcon-unitForeground:#ccc;--vscode-symbolIcon-variableForeground:#75beff;--vscode-actionBar-toggledBackground:#383a49;--vscode-editorHoverWidget-highlightForeground:#2aaaff;--vscode-editor-lineHighlightBorder:#282828;--vscode-editor-rangeHighlightBackground:hsla(0,0%,100%,0.04);--vscode-editor-symbolHighlightBackground:rgba(234,92,0,0.33);--vscode-editorCursor-foreground:#aeafad;--vscode-editorWhitespace-foreground:rgba(227,228,226,0.16);--vscode-editorLineNumber-foreground:#858585;--vscode-editorIndentGuide-background:#404040;--vscode-editorIndentGuide-activeBackground:#707070;--vscode-editorIndentGuide-background1:#404040;--vscode-editorIndentGuide-background2:transparent;--vscode-editorIndentGuide-background3:transparent;--vscode-editorIndentGuide-background4:transparent;--vscode-editorIndentGuide-background5:transparent;--vscode-editorIndentGuide-background6:transparent;--vscode-editorIndentGuide-activeBackground1:#707070;--vscode-editorIndentGuide-activeBackground2:transparent;--vscode-editorIndentGuide-activeBackground3:transparent;--vscode-editorIndentGuide-activeBackground4:transparent;--vscode-editorIndentGuide-activeBackground5:transparent;--vscode-editorIndentGuide-activeBackground6:transparent;--vscode-editorActiveLineNumber-foreground:#c6c6c6;--vscode-editorLineNumber-activeForeground:#c6c6c6;--vscode-editorRuler-foreground:#5a5a5a;--vscode-editorCodeLens-foreground:#999;--vscode-editorBracketMatch-background:rgba(0,100,0,0.1);--vscode-editorBracketMatch-border:#888;--vscode-editorOverviewRuler-border:hsla(0,0%,49.8%,0.3);--vscode-editorGutter-background:#1e1e1e;--vscode-editorUnnecessaryCode-opacity:rgba(0,0,0,0.67);--vscode-editorGhostText-foreground:hsla(0,0%,100%,0.34);--vscode-editorOverviewRuler-rangeHighlightForeground:rgba(0,122,204,0.6);--vscode-editorOverviewRuler-errorForeground:rgba(255,18,18,0.7);--vscode-editorOverviewRuler-warningForeground:#cca700;--vscode-editorOverviewRuler-infoForeground:#3794ff;--vscode-editorBracketHighlight-foreground1:gold;--vscode-editorBracketHighlight-foreground2:orchid;--vscode-editorBracketHighlight-foreground3:#179fff;--vscode-editorBracketHighlight-foreground4:transparent;--vscode-editorBracketHighlight-foreground5:transparent;--vscode-editorBracketHighlight-foreground6:transparent;--vscode-editorBracketHighlight-unexpectedBracket-foreground:rgba(255,18,18,0.8);--vscode-editorBracketPairGuide-background1:transparent;--vscode-editorBracketPairGuide-background2:transparent;--vscode-editorBracketPairGuide-background3:transparent;--vscode-editorBracketPairGuide-background4:transparent;--vscode-editorBracketPairGuide-background5:transparent;--vscode-editorBracketPairGuide-background6:transparent;--vscode-editorBracketPairGuide-activeBackground1:transparent;--vscode-editorBracketPairGuide-activeBackground2:transparent;--vscode-editorBracketPairGuide-activeBackground3:transparent;--vscode-editorBracketPairGuide-activeBackground4:transparent;--vscode-editorBracketPairGuide-activeBackground5:transparent;--vscode-editorBracketPairGuide-activeBackground6:transparent;--vscode-editorUnicodeHighlight-border:#bd9b03;--vscode-editorUnicodeHighlight-background:rgba(189,155,3,0.15);--vscode-editorOverviewRuler-bracketMatchForeground:#a0a0a0;--vscode-editor-foldBackground:rgba(38,79,120,0.3);--vscode-editorGutter-foldingControlForeground:#c5c5c5;--vscode-editor-linkedEditingBackground:rgba(255,0,0,0.3);--vscode-editor-wordHighlightBackground:rgba(87,87,87,0.72);--vscode-editor-wordHighlightStrongBackground:rgba(0,73,114,0.72);--vscode-editor-wordHighlightTextBackground:rgba(87,87,87,0.72);--vscode-editorOverviewRuler-wordHighlightForeground:hsla(0,0%,62.7%,0.8);--vscode-editorOverviewRuler-wordHighlightStrongForeground:rgba(192,160,192,0.8);--vscode-editorOverviewRuler-wordHighlightTextForeground:hsla(0,0%,62.7%,0.8);--vscode-peekViewTitle-background:#252526;--vscode-peekViewTitleLabel-foreground:#fff;--vscode-peekViewTitleDescription-foreground:hsla(0,0%,80%,0.7);--vscode-peekView-border:#3794ff;--vscode-peekViewResult-background:#252526;--vscode-peekViewResult-lineForeground:#bbb;--vscode-peekViewResult-fileForeground:#fff;--vscode-peekViewResult-selectionBackground:rgba(51,153,255,0.2);--vscode-peekViewResult-selectionForeground:#fff;--vscode-peekViewEditor-background:#001f33;--vscode-peekViewEditorGutter-background:#001f33;--vscode-peekViewEditorStickyScroll-background:#001f33;--vscode-peekViewResult-matchHighlightBackground:rgba(234,92,0,0.3);--vscode-peekViewEditor-matchHighlightBackground:rgba(255,143,0,0.6);--vscode-editorMarkerNavigationError-background:#f14c4c;--vscode-editorMarkerNavigationError-headerBackground:rgba(241,76,76,0.1);--vscode-editorMarkerNavigationWarning-background:#cca700;--vscode-editorMarkerNavigationWarning-headerBackground:rgba(204,167,0,0.1);--vscode-editorMarkerNavigationInfo-background:#3794ff;--vscode-editorMarkerNavigationInfo-headerBackground:rgba(55,148,255,0.1);--vscode-editorMarkerNavigation-background:#1e1e1e;--vscode-editorSuggestWidget-background:#252526;--vscode-editorSuggestWidget-border:#454545;--vscode-editorSuggestWidget-foreground:#d4d4d4;--vscode-editorSuggestWidget-selectedForeground:#fff;--vscode-editorSuggestWidget-selectedIconForeground:#fff;--vscode-editorSuggestWidget-selectedBackground:#04395e;--vscode-editorSuggestWidget-highlightForeground:#2aaaff;--vscode-editorSuggestWidget-focusHighlightForeground:#2aaaff;--vscode-editorSuggestWidgetStatus-foreground:hsla(0,0%,83.1%,0.5);--vscode-tab-activeBackground:#1e1e1e;--vscode-tab-unfocusedActiveBackground:#1e1e1e;--vscode-tab-inactiveBackground:#2d2d2d;--vscode-tab-unfocusedInactiveBackground:#2d2d2d;--vscode-tab-activeForeground:#fff;--vscode-tab-inactiveForeground:hsla(0,0%,100%,0.5);--vscode-tab-unfocusedActiveForeground:hsla(0,0%,100%,0.5);--vscode-tab-unfocusedInactiveForeground:hsla(0,0%,100%,0.25);--vscode-tab-border:#252526;--vscode-tab-lastPinnedBorder:hsla(0,0%,80%,0.2);--vscode-tab-activeModifiedBorder:#39c;--vscode-tab-inactiveModifiedBorder:rgba(51,153,204,0.5);--vscode-tab-unfocusedActiveModifiedBorder:rgba(51,153,204,0.5);--vscode-tab-unfocusedInactiveModifiedBorder:rgba(51,153,204,0.25);--vscode-editorPane-background:#1e1e1e;--vscode-editorGroupHeader-tabsBackground:#252526;--vscode-editorGroupHeader-noTabsBackground:#1e1e1e;--vscode-editorGroup-border:#444;--vscode-editorGroup-dropBackground:rgba(83,89,93,0.5);--vscode-editorGroup-dropIntoPromptForeground:#ccc;--vscode-editorGroup-dropIntoPromptBackground:#252526;--vscode-sideBySideEditor-horizontalBorder:#444;--vscode-sideBySideEditor-verticalBorder:#444;--vscode-panel-background:#1e1e1e;--vscode-panel-border:hsla(0,0%,50.2%,0.35);--vscode-panelTitle-activeForeground:#e7e7e7;--vscode-panelTitle-inactiveForeground:hsla(0,0%,90.6%,0.6);--vscode-panelTitle-activeBorder:#e7e7e7;--vscode-panel-dropBorder:#e7e7e7;--vscode-panelSection-dropBackground:rgba(83,89,93,0.5);--vscode-panelSectionHeader-background:hsla(0,0%,50.2%,0.2);--vscode-panelSection-border:hsla(0,0%,50.2%,0.35);--vscode-banner-background:#04395e;--vscode-banner-foreground:#fff;--vscode-banner-iconForeground:#3794ff;--vscode-statusBar-foreground:#fff;--vscode-statusBar-noFolderForeground:#fff;--vscode-statusBar-background:#007acc;--vscode-statusBar-noFolderBackground:#68217a;--vscode-statusBar-focusBorder:#fff;--vscode-statusBarItem-activeBackground:hsla(0,0%,100%,0.18);--vscode-statusBarItem-focusBorder:#fff;--vscode-statusBarItem-hoverBackground:hsla(0,0%,100%,0.12);--vscode-statusBarItem-hoverForeground:#fff;--vscode-statusBarItem-compactHoverBackground:hsla(0,0%,100%,0.2);--vscode-statusBarItem-prominentForeground:#fff;--vscode-statusBarItem-prominentBackground:rgba(0,0,0,0.5);--vscode-statusBarItem-prominentHoverForeground:#fff;--vscode-statusBarItem-prominentHoverBackground:rgba(0,0,0,0.3);--vscode-statusBarItem-errorBackground:#c72e0f;--vscode-statusBarItem-errorForeground:#fff;--vscode-statusBarItem-errorHoverForeground:#fff;--vscode-statusBarItem-errorHoverBackground:hsla(0,0%,100%,0.12);--vscode-statusBarItem-warningBackground:#7a6400;--vscode-statusBarItem-warningForeground:#fff;--vscode-statusBarItem-warningHoverForeground:#fff;--vscode-statusBarItem-warningHoverBackground:hsla(0,0%,100%,0.12);--vscode-activityBar-background:#333;--vscode-activityBar-foreground:#fff;--vscode-activityBar-inactiveForeground:hsla(0,0%,100%,0.4);--vscode-activityBar-activeBorder:#fff;--vscode-activityBar-dropBorder:#fff;--vscode-activityBarBadge-background:#007acc;--vscode-activityBarBadge-foreground:#fff;--vscode-profileBadge-background:#4d4d4d;--vscode-profileBadge-foreground:#fff;--vscode-statusBarItem-remoteBackground:#16825d;--vscode-statusBarItem-remoteForeground:#fff;--vscode-statusBarItem-remoteHoverForeground:#fff;--vscode-statusBarItem-remoteHoverBackground:hsla(0,0%,100%,0.12);--vscode-statusBarItem-offlineBackground:#6c1717;--vscode-statusBarItem-offlineForeground:#fff;--vscode-statusBarItem-offlineHoverForeground:#fff;--vscode-statusBarItem-offlineHoverBackground:hsla(0,0%,100%,0.12);--vscode-extensionBadge-remoteBackground:#007acc;--vscode-extensionBadge-remoteForeground:#fff;--vscode-sideBar-background:#252526;--vscode-sideBarTitle-foreground:#bbb;--vscode-sideBar-dropBackground:rgba(83,89,93,0.5);--vscode-sideBarSectionHeader-background:transparent;--vscode-sideBarSectionHeader-border:hsla(0,0%,80%,0.2);--vscode-titleBar-activeForeground:#ccc;--vscode-titleBar-inactiveForeground:hsla(0,0%,80%,0.6);--vscode-titleBar-activeBackground:#3c3c3c;--vscode-titleBar-inactiveBackground:rgba(60,60,60,0.6);--vscode-menubar-selectionForeground:#ccc;--vscode-menubar-selectionBackground:rgba(90,93,94,0.31);--vscode-commandCenter-foreground:#ccc;--vscode-commandCenter-activeForeground:#ccc;--vscode-commandCenter-inactiveForeground:hsla(0,0%,80%,0.6);--vscode-commandCenter-background:hsla(0,0%,100%,0.05);--vscode-commandCenter-activeBackground:hsla(0,0%,100%,0.08);--vscode-commandCenter-border:hsla(0,0%,80%,0.2);--vscode-commandCenter-activeBorder:hsla(0,0%,80%,0.3);--vscode-commandCenter-inactiveBorder:hsla(0,0%,80%,0.15);--vscode-notificationCenter-border:#303031;--vscode-notificationToast-border:#303031;--vscode-notifications-foreground:#ccc;--vscode-notifications-background:#252526;--vscode-notificationLink-foreground:#3794ff;--vscode-notificationCenterHeader-background:#303031;--vscode-notifications-border:#303031;--vscode-notificationsErrorIcon-foreground:#f14c4c;--vscode-notificationsWarningIcon-foreground:#cca700;--vscode-notificationsInfoIcon-foreground:#3794ff;--vscode-chat-requestBorder:hsla(0,0%,100%,0.1);--vscode-chat-slashCommandBackground:#4d4d4d;--vscode-chat-slashCommandForeground:#fff;--vscode-simpleFindWidget-sashBorder:#454545;--vscode-commentsView-resolvedIcon:hsla(0,0%,80%,0.5);--vscode-commentsView-unresolvedIcon:#007fd4;--vscode-editorCommentsWidget-resolvedBorder:hsla(0,0%,80%,0.5);--vscode-editorCommentsWidget-unresolvedBorder:#007fd4;--vscode-editorCommentsWidget-rangeBackground:rgba(0,127,212,0.1);--vscode-editorCommentsWidget-rangeActiveBackground:rgba(0,127,212,0.1);--vscode-editorGutter-commentRangeForeground:#37373d;--vscode-editorOverviewRuler-commentForeground:#37373d;--vscode-editorOverviewRuler-commentUnresolvedForeground:#37373d;--vscode-editorGutter-commentGlyphForeground:#d4d4d4;--vscode-editorGutter-commentUnresolvedGlyphForeground:#d4d4d4;--vscode-debugToolBar-background:#333;--vscode-debugIcon-startForeground:#89d185;--vscode-editor-stackFrameHighlightBackground:rgba(255,255,0,0.2);--vscode-editor-focusedStackFrameHighlightBackground:rgba(122,189,122,0.3);--vscode-mergeEditor-change-background:rgba(155,185,85,0.2);--vscode-mergeEditor-change-word-background:rgba(156,204,44,0.2);--vscode-mergeEditor-changeBase-background:#4b1818;--vscode-mergeEditor-changeBase-word-background:#6f1313;--vscode-mergeEditor-conflict-unhandledUnfocused-border:rgba(255,166,0,0.48);--vscode-mergeEditor-conflict-unhandledFocused-border:#ffa600;--vscode-mergeEditor-conflict-handledUnfocused-border:hsla(0,0%,52.5%,0.29);--vscode-mergeEditor-conflict-handledFocused-border:hsla(0,0%,75.7%,0.8);--vscode-mergeEditor-conflict-handled-minimapOverViewRuler:rgba(173,172,168,0.93);--vscode-mergeEditor-conflict-unhandled-minimapOverViewRuler:#fcba03;--vscode-mergeEditor-conflictingLines-background:rgba(255,234,0,0.28);--vscode-mergeEditor-conflict-input1-background:rgba(64,200,174,0.2);--vscode-mergeEditor-conflict-input2-background:rgba(64,166,255,0.2);--vscode-settings-headerForeground:#e7e7e7;--vscode-settings-settingsHeaderHoverForeground:hsla(0,0%,90.6%,0.7);--vscode-settings-modifiedItemIndicator:#0c7d9d;--vscode-settings-headerBorder:hsla(0,0%,50.2%,0.35);--vscode-settings-sashBorder:hsla(0,0%,50.2%,0.35);--vscode-settings-dropdownBackground:#3c3c3c;--vscode-settings-dropdownForeground:#f0f0f0;--vscode-settings-dropdownBorder:#3c3c3c;--vscode-settings-dropdownListBorder:#454545;--vscode-settings-checkboxBackground:#3c3c3c;--vscode-settings-checkboxForeground:#f0f0f0;--vscode-settings-checkboxBorder:#6b6b6b;--vscode-settings-textInputBackground:#3c3c3c;--vscode-settings-textInputForeground:#ccc;--vscode-settings-numberInputBackground:#3c3c3c;--vscode-settings-numberInputForeground:#ccc;--vscode-settings-focusedRowBackground:rgba(42,45,46,0.6);--vscode-settings-rowHoverBackground:rgba(42,45,46,0.3);--vscode-settings-focusedRowBorder:#007fd4;--vscode-terminal-foreground:#ccc;--vscode-terminal-selectionBackground:#264f78;--vscode-terminal-inactiveSelectionBackground:#3a3d41;--vscode-terminalCommandDecoration-defaultBackground:hsla(0,0%,100%,0.25);--vscode-terminalCommandDecoration-successBackground:#1b81a8;--vscode-terminalCommandDecoration-errorBackground:#f14c4c;--vscode-terminalOverviewRuler-cursorForeground:hsla(0,0%,62.7%,0.8);--vscode-terminal-border:hsla(0,0%,50.2%,0.35);--vscode-terminal-findMatchBackground:#515c6a;--vscode-terminal-hoverHighlightBackground:rgba(38,79,120,0.13);--vscode-terminal-findMatchHighlightBackground:rgba(234,92,0,0.33);--vscode-terminalOverviewRuler-findMatchForeground:rgba(209,134,22,0.49);--vscode-terminal-dropBackground:rgba(83,89,93,0.5);--vscode-testing-iconFailed:#f14c4c;--vscode-testing-iconErrored:#f14c4c;--vscode-testing-iconPassed:#73c991;--vscode-testing-runAction:#73c991;--vscode-testing-iconQueued:#cca700;--vscode-testing-iconUnset:#848484;--vscode-testing-iconSkipped:#848484;--vscode-testing-peekBorder:#f14c4c;--vscode-testing-peekHeaderBackground:rgba(241,76,76,0.1);--vscode-testing-message-error-decorationForeground:#f14c4c;--vscode-testing-message-error-lineBackground:rgba(255,0,0,0.2);--vscode-testing-message-info-decorationForeground:hsla(0,0%,83.1%,0.5);--vscode-welcomePage-tileBackground:#252526;--vscode-welcomePage-tileHoverBackground:#2c2c2d;--vscode-welcomePage-tileBorder:hsla(0,0%,100%,0.1);--vscode-welcomePage-progress-background:#3c3c3c;--vscode-welcomePage-progress-foreground:#3794ff;--vscode-walkthrough-stepTitle-foreground:#fff;--vscode-walkThrough-embeddedEditorBackground:rgba(0,0,0,0.4);--vscode-inlineChat-background:#252526;--vscode-inlineChat-border:#454545;--vscode-inlineChat-shadow:rgba(0,0,0,0.36);--vscode-inlineChat-regionHighlight:rgba(38,79,120,0.25);--vscode-inlineChatInput-border:#454545;--vscode-inlineChatInput-focusBorder:#007fd4;--vscode-inlineChatInput-placeholderForeground:#a6a6a6;--vscode-inlineChatInput-background:#3c3c3c;--vscode-inlineChatDiff-inserted:rgba(156,204,44,0.1);--vscode-inlineChatDiff-removed:rgba(255,0,0,0.1);--vscode-debugExceptionWidget-border:#a31515;--vscode-debugExceptionWidget-background:#420b0d;--vscode-ports-iconRunningProcessForeground:#369432;--vscode-statusBar-debuggingBackground:#c63;--vscode-statusBar-debuggingForeground:#fff;--vscode-commandCenter-debuggingBackground:rgba(204,102,51,0.26);--vscode-editor-inlineValuesForeground:hsla(0,0%,100%,0.5);--vscode-editor-inlineValuesBackground:rgba(255,200,0,0.2);--vscode-editorGutter-modifiedBackground:#1b81a8;--vscode-editorGutter-addedBackground:#487e02;--vscode-editorGutter-deletedBackground:#f14c4c;--vscode-minimapGutter-modifiedBackground:#1b81a8;--vscode-minimapGutter-addedBackground:#487e02;--vscode-minimapGutter-deletedBackground:#f14c4c;--vscode-editorOverviewRuler-modifiedForeground:rgba(27,129,168,0.6);--vscode-editorOverviewRuler-addedForeground:rgba(72,126,2,0.6);--vscode-editorOverviewRuler-deletedForeground:rgba(241,76,76,0.6);--vscode-debugIcon-breakpointForeground:#e51400;--vscode-debugIcon-breakpointDisabledForeground:#848484;--vscode-debugIcon-breakpointUnverifiedForeground:#848484;--vscode-debugIcon-breakpointCurrentStackframeForeground:#fc0;--vscode-debugIcon-breakpointStackframeForeground:#89d185;--vscode-notebook-cellBorderColor:#37373d;--vscode-notebook-focusedEditorBorder:#007fd4;--vscode-notebookStatusSuccessIcon-foreground:#89d185;--vscode-notebookEditorOverviewRuler-runningCellForeground:#89d185;--vscode-notebookStatusErrorIcon-foreground:#f48771;--vscode-notebookStatusRunningIcon-foreground:#ccc;--vscode-notebook-cellToolbarSeparator:hsla(0,0%,50.2%,0.35);--vscode-notebook-selectedCellBackground:#37373d;--vscode-notebook-selectedCellBorder:#37373d;--vscode-notebook-focusedCellBorder:#007fd4;--vscode-notebook-inactiveFocusedCellBorder:#37373d;--vscode-notebook-cellStatusBarItemHoverBackground:hsla(0,0%,100%,0.15);--vscode-notebook-cellInsertionIndicator:#007fd4;--vscode-notebookScrollbarSlider-background:hsla(0,0%,47.5%,0.4);--vscode-notebookScrollbarSlider-hoverBackground:hsla(0,0%,39.2%,0.7);--vscode-notebookScrollbarSlider-activeBackground:hsla(0,0%,74.9%,0.4);--vscode-notebook-symbolHighlightBackground:hsla(0,0%,100%,0.04);--vscode-notebook-cellEditorBackground:#252526;--vscode-notebook-editorBackground:#1e1e1e;--vscode-keybindingTable-headerBackground:hsla(0,0%,80%,0.04);--vscode-keybindingTable-rowsBackground:hsla(0,0%,80%,0.04);--vscode-debugTokenExpression-name:#c586c0;--vscode-debugTokenExpression-value:hsla(0,0%,80%,0.6);--vscode-debugTokenExpression-string:#ce9178;--vscode-debugTokenExpression-boolean:#4e94ce;--vscode-debugTokenExpression-number:#b5cea8;--vscode-debugTokenExpression-error:#f48771;--vscode-debugView-exceptionLabelForeground:#ccc;--vscode-debugView-exceptionLabelBackground:#6c2022;--vscode-debugView-stateLabelForeground:#ccc;--vscode-debugView-stateLabelBackground:hsla(0,0%,53.3%,0.27);--vscode-debugView-valueChangedHighlight:#569cd6;--vscode-debugConsole-infoForeground:#3794ff;--vscode-debugConsole-warningForeground:#cca700;--vscode-debugConsole-errorForeground:#f48771;--vscode-debugConsole-sourceForeground:#ccc;--vscode-debugConsoleInputIcon-foreground:#ccc;--vscode-debugIcon-pauseForeground:#75beff;--vscode-debugIcon-stopForeground:#f48771;--vscode-debugIcon-disconnectForeground:#f48771;--vscode-debugIcon-restartForeground:#89d185;--vscode-debugIcon-stepOverForeground:#75beff;--vscode-debugIcon-stepIntoForeground:#75beff;--vscode-debugIcon-stepOutForeground:#75beff;--vscode-debugIcon-continueForeground:#75beff;--vscode-debugIcon-stepBackForeground:#75beff;--vscode-scm-providerBorder:#454545;--vscode-extensionButton-background:#0e639c;--vscode-extensionButton-foreground:#fff;--vscode-extensionButton-hoverBackground:#17b;--vscode-extensionButton-separator:hsla(0,0%,100%,0.4);--vscode-extensionButton-prominentBackground:#0e639c;--vscode-extensionButton-prominentForeground:#fff;--vscode-extensionButton-prominentHoverBackground:#17b;--vscode-extensionIcon-starForeground:#ff8e00;--vscode-extensionIcon-verifiedForeground:#3794ff;--vscode-extensionIcon-preReleaseForeground:#1d9271;--vscode-extensionIcon-sponsorForeground:#d758b3;--vscode-terminal-ansiBlack:#000;--vscode-terminal-ansiRed:#cd3131;--vscode-terminal-ansiGreen:#0dbc79;--vscode-terminal-ansiYellow:#e5e510;--vscode-terminal-ansiBlue:#2472c8;--vscode-terminal-ansiMagenta:#bc3fbc;--vscode-terminal-ansiCyan:#11a8cd;--vscode-terminal-ansiWhite:#e5e5e5;--vscode-terminal-ansiBrightBlack:#666;--vscode-terminal-ansiBrightRed:#f14c4c;--vscode-terminal-ansiBrightGreen:#23d18b;--vscode-terminal-ansiBrightYellow:#f5f543;--vscode-terminal-ansiBrightBlue:#3b8eea;--vscode-terminal-ansiBrightMagenta:#d670d6;--vscode-terminal-ansiBrightCyan:#29b8db;--vscode-terminal-ansiBrightWhite:#e5e5e5;--vscode-interactive-activeCodeBorder:#3794ff;--vscode-interactive-inactiveCodeBorder:#37373d;--vscode-gitDecoration-addedResourceForeground:#81b88b;--vscode-gitDecoration-modifiedResourceForeground:#e2c08d;--vscode-gitDecoration-deletedResourceForeground:#c74e39;--vscode-gitDecoration-renamedResourceForeground:#73c991;--vscode-gitDecoration-untrackedResourceForeground:#73c991;--vscode-gitDecoration-ignoredResourceForeground:#8c8c8c;--vscode-gitDecoration-stageModifiedResourceForeground:#e2c08d;--vscode-gitDecoration-stageDeletedResourceForeground:#c74e39;--vscode-gitDecoration-conflictingResourceForeground:#e4676b;--vscode-gitDecoration-submoduleResourceForeground:#8db9e2;--vscode-gitlens-gutterBackgroundColor:hsla(0,0%,100%,0.07);--vscode-gitlens-gutterForegroundColor:#bebebe;--vscode-gitlens-gutterUncommittedForegroundColor:rgba(0,188,242,0.6);--vscode-gitlens-trailingLineBackgroundColor:transparent;--vscode-gitlens-trailingLineForegroundColor:hsla(0,0%,60%,0.35);--vscode-gitlens-lineHighlightBackgroundColor:rgba(0,188,242,0.2);--vscode-gitlens-lineHighlightOverviewRulerColor:rgba(0,188,242,0.6);--vscode-gitlens-openAutolinkedIssueIconColor:#3fb950;--vscode-gitlens-closedAutolinkedIssueIconColor:#a371f7;--vscode-gitlens-closedPullRequestIconColor:#f85149;--vscode-gitlens-openPullRequestIconColor:#3fb950;--vscode-gitlens-mergedPullRequestIconColor:#a371f7;--vscode-gitlens-unpublishedChangesIconColor:#35b15e;--vscode-gitlens-unpublishedCommitIconColor:#35b15e;--vscode-gitlens-unpulledChangesIconColor:#b15e35;--vscode-gitlens-decorations-addedForegroundColor:#81b88b;--vscode-gitlens-decorations-copiedForegroundColor:#73c991;--vscode-gitlens-decorations-deletedForegroundColor:#c74e39;--vscode-gitlens-decorations-ignoredForegroundColor:#8c8c8c;--vscode-gitlens-decorations-modifiedForegroundColor:#e2c08d;--vscode-gitlens-decorations-untrackedForegroundColor:#73c991;--vscode-gitlens-decorations-renamedForegroundColor:#73c991;--vscode-gitlens-decorations-branchAheadForegroundColor:#35b15e;--vscode-gitlens-decorations-branchBehindForegroundColor:#b15e35;--vscode-gitlens-decorations-branchDivergedForegroundColor:#d8af1b;--vscode-gitlens-decorations-branchUnpublishedForegroundColor:#35b15e;--vscode-gitlens-decorations-branchMissingUpstreamForegroundColor:#c74e39;--vscode-gitlens-decorations-workspaceRepoMissingForegroundColor:#909090;--vscode-gitlens-decorations-workspaceCurrentForegroundColor:#35b15e;--vscode-gitlens-decorations-workspaceRepoOpenForegroundColor:#35b15e;--vscode-gitlens-decorations-worktreeHasUncommittedChangesForegroundColor:#e2c08d;--vscode-gitlens-decorations-worktreeMissingForegroundColor:#c74e39;--vscode-gitlens-graphLane1Color:#15a0bf;--vscode-gitlens-graphLane2Color:#0669f7;--vscode-gitlens-graphLane3Color:#8e00c2;--vscode-gitlens-graphLane4Color:#c517b6;--vscode-gitlens-graphLane5Color:#d90171;--vscode-gitlens-graphLane6Color:#cd0101;--vscode-gitlens-graphLane7Color:#f25d2e;--vscode-gitlens-graphLane8Color:#f2ca33;--vscode-gitlens-graphLane9Color:#7bd938;--vscode-gitlens-graphLane10Color:#2ece9d;--vscode-gitlens-graphChangesColumnAddedColor:#347d39;--vscode-gitlens-graphChangesColumnDeletedColor:#c93c37;--vscode-gitlens-graphMinimapMarkerHeadColor:#05e617;--vscode-gitlens-graphScrollMarkerHeadColor:#05e617;--vscode-gitlens-graphMinimapMarkerUpstreamColor:#09ae17;--vscode-gitlens-graphScrollMarkerUpstreamColor:#09ae17;--vscode-gitlens-graphMinimapMarkerHighlightsColor:#fbff0a;--vscode-gitlens-graphScrollMarkerHighlightsColor:#fbff0a;--vscode-gitlens-graphMinimapMarkerLocalBranchesColor:#3087cf;--vscode-gitlens-graphScrollMarkerLocalBranchesColor:#3087cf;--vscode-gitlens-graphMinimapMarkerRemoteBranchesColor:#2b5e88;--vscode-gitlens-graphScrollMarkerRemoteBranchesColor:#2b5e88;--vscode-gitlens-graphMinimapMarkerStashesColor:#b34db3;--vscode-gitlens-graphScrollMarkerStashesColor:#b34db3;--vscode-gitlens-graphMinimapMarkerTagsColor:#6b562e;--vscode-gitlens-graphScrollMarkerTagsColor:#6b562e}[data-theme=light]{--background:#fff!important;--foreground:#616161!important;--dropdown-background:#fff!important;--dropdown-foreground:#616161!important;--input-background:#fff!important;--input-foreground:#616161!important;--sideBarSectionHeader-foreground:#616161!important}[data-theme=dark]{--background:#282a36!important;--foreground:#f8f8f2!important;--dropdown-background:#282a36!important;--dropdown-foreground:#f8f8f2!important;--input-background:#282a36!important;--input-foreground:#f8f8f2!important;--sideBarSectionHeader-foreground:#f8f8f2!important}:root{--container-paddding:20px;--input-padding-vertical:6px;--input-padding-horizontal:4px;--input-margin-vertical:4px;--input-margin-horizontal:0}body{font-size:var(--font-size);font-weight:var(--font-weight);font-family:var(--font-family);background-color:var(--editor-background);margin:0}#app,body{color:var(--foreground)}#app{font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:13px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin-top:0;height:100vh}input,select{background-color:var(--input-background)!important;color:var(--input-foreground)!important;border:calc(var(--border-width)*1px) solid var(--dropdown-border)!important;border-radius:calc(var(--corner-radius)*1px)!important}input:focus,input:focus-visible,select:focus,select:focus-visible{border:solid 1px var(--focus-border)!important;outline:none!important}.codicon-chevron-down:before{content:""} \ No newline at end of file +.title[data-v-6c90e336]{line-height:22px;color:var(--sideBarSectionHeader-foreground);background-color:var(--sideBarSectionHeader-background);border-top:1px solid var(--sideBarSectionHeader-border);height:22px;font-size:11px;font-weight:700;overflow:hidden;display:flex;cursor:pointer;align-items:center;box-sizing:border-box;text-transform:uppercase;padding-left:10px}.expandBtn[data-v-6c90e336]{position:absolute;right:10px;top:2px;opacity:.6;font-size:13px;cursor:pointer}.panel[data-v-238e861a]{display:flex;flex-direction:column}.panelContent[data-v-238e861a]{padding:10px;height:100%;position:relative;background-color:var(--editorWidget-background)}#tab-headers ul{margin:0;padding:0;display:flex;border-bottom:2px solid hsla(0,0%,86.7%,0);margin-bottom:10px}#tab-headers ul li{list-style:none;padding:5px 10px;position:relative;cursor:pointer;opacity:.5}#tab-headers ul li.active{opacity:1}#tab-headers ul li.active:after{content:"";position:absolute;bottom:-2px;left:0;height:2px;width:100%;background:var(--foreground)}#active-tab,#tab-headers{width:100%}.tab{display:none}.tab.active{display:block}.propRow[data-v-3e06e896]{position:relative;border-bottom:1px solid #e1e1e1;padding:2px 0;display:flex;flex-direction:row;gap:10px;height:21px}.propRowLabel[data-v-3e06e896]{width:35%;font-size:.9em;display:flex;justify-content:right;align-items:center;text-transform:capitalize;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.propRowControl[data-v-3e06e896]{width:60%;display:flex;justify-content:left}.propRowDynamicSwitch[data-v-3e06e896]{width:5%;display:flex;justify-content:left;align-items:center;cursor:pointer}.addPropsList[data-v-3e06e896]{padding:10px 10px;position:relative;height:100%;overflow:auto}.addPropRow[data-v-3e06e896]{padding:2px;border-bottom:1px solid rgba(0,0,0,.17);opacity:.9;cursor:pointer;position:relative;font-size:.9em;display:flex;flex-direction:row;gap:5px}.addPropRow[data-v-3e06e896]:hover{opacity:1;background-color:hsla(0,0%,95.7%,.062745098)}.addPropRow:hover>.addPropIcon[data-v-3e06e896]{opacity:1}.addPropIcon[data-v-3e06e896]{font-size:1.2em;opacity:0}.closeAddProp[data-v-3e06e896]{position:absolute;right:10px;top:5px;cursor:pointer;font-weight:700;font-size:12px;color:#999}.propInput[data-v-3e06e896]{padding:1px 10px;border:1px solid #999;border-radius:3px;box-sizing:border-box;width:100%}.propInputDynamic[data-v-3e06e896]{background-color:#fff1cd;border:1px solid #d8b252;color:#916a09}.addPropsPanel[data-v-3e06e896]{background-color:#2b2634;box-shadow:0 0 10px rgba(0,0,0,.1882352941);border-radius:5px;padding:10px 0;position:absolute;top:10px;width:95%;height:160px;display:flex;flex-direction:column}.typeIcon[data-v-52e79ce3]{width:16px;vertical-align:middle;margin-right:6px;height:16px}.bindingItem[data-v-52e79ce3]{padding:1px 0 2px;border-bottom:1px solid rgba(0,0,0,.1254901961);font-size:.9em;display:flex;cursor:grab}.bindingItem[data-v-52e79ce3]:hover{background-color:hsla(0,0%,80%,.062745098)}.sortButton[data-v-52e79ce3]{margin-left:3px;font-weight:700;font-size:12px;padding:5px;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:pointer;opacity:.4;border-radius:5px}.sortButton[data-v-52e79ce3]:hover,.sortButtonActive[data-v-52e79ce3]{background-color:rgba(0,0,0,.062745098);opacity:1}.sortButtons[data-v-52e79ce3]{position:absolute;right:25px;top:-39px;display:flex;flex-direction:row}.colorInput[data-v-53312a0a]{padding:0;border:none;width:16px;height:20px;margin-right:3px}.closeButton[data-v-a6e02b56]{position:absolute;top:5px;right:10px;padding:5px;cursor:pointer;font-weight:700}.compGroupsContainer[data-v-a6e02b56]{display:flex;flex-direction:row;gap:5px;width:100%;overflow:auto;justify-content:center}.componentAddDialogContainer[data-v-a6e02b56]{position:fixed;background-color:rgba(0,0,0,.6274509804);top:0;left:0;right:0;bottom:0;z-index:1;display:flex;justify-content:center;align-items:center}.componentAddDialog[data-v-a6e02b56]{background-color:var(--background);border:solid 1px var(--dropdown-border);padding:10px 30px 30px;box-sizing:border-box;text-align:center;position:absolute;max-width:800px;max-height:-moz-min-content;max-height:min-content;box-shadow:5px 16px 40px rgba(0,0,0,.1882352941)}.compGroup[data-v-a6e02b56]{display:flex;flex-direction:column}.compName[data-v-a6e02b56]{min-width:100px;display:block;flex:1 1 49%;border:solid 1px var(--checkbox-background);padding:5px 6px 3px;box-sizing:border-box;text-align:center;cursor:move;border-radius:5px;font-size:.9em}.compName[data-v-a6e02b56]:hover{border:1px solid #315972;background-color:hsla(0,0%,80%,.062745098)}.propItem[data-v-a6e02b56]{cursor:pointer;width:-moz-max-content;width:max-content;margin:0 10px}.propItem[data-v-a6e02b56]:hover{font-weight:700}#gjs[data-v-48d925f4]{border:none;height:100%!important}.gjs-cv-canvas{top:0!important;width:100%!important;height:100%!important}#myStyleEditorContainer{position:relative}#customLibrary{position:fixed;bottom:0;right:0;background-color:#333;padding:20px}.block{-webkit-user-select:none;-moz-user-select:none;user-select:none;min-width:45px;padding:1em;box-sizing:border-box;min-height:90px;cursor:all-scroll;text-align:center;display:flex;flex-direction:column;justify-content:space-between;border:1px solid rgba(0,0,0,.2);border-radius:3px;margin:10px 2.5% 5px;box-shadow:0 1px 0 0 rgba(0,0,0,.15);transition:all .2s ease 0s;transition-property:color}.block:hover{color:#d278c9}.gjs-pn-panels{display:none}.uiItemContainer[data-v-4675da8e]{display:grid;flex-wrap:wrap;gap:5px;max-height:40vh;grid-template-columns:32% 32% 32%}.uiItem[data-v-4675da8e]{display:block;flex:1 1 49%;border:solid 1px var(--checkbox-background);padding:5px 6px 3px;box-sizing:border-box;text-align:center;cursor:move;border-radius:5px;font-size:.9em}.uiItem[data-v-4675da8e]:hover{background-color:rgba(0,0,0,.062745098)}.uiItemIcon[data-v-4675da8e]{justify-content:center;display:flex;margin-bottom:3px;filter:brightness(1.5) saturate(1);pointer-events:none}.uiItemLabel[data-v-4675da8e]{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;pointer-events:none}.blocker[data-v-4848a3d6]{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:rgba(0,0,0,.5);z-index:1;display:flex;justify-content:center;align-items:center}.addPropsPanel[data-v-4848a3d6]{background-color:#2b2634;box-shadow:0 0 10px rgba(0,0,0,.1882352941);border-radius:5px;padding:10px 0;width:300px;min-height:200px;max-height:500px;display:flex;flex-direction:column;position:relative}.closeAddProp[data-v-4848a3d6]{position:absolute;right:10px;top:5px;cursor:pointer;font-weight:700;font-size:12px;color:#999}.addPropsList[data-v-4848a3d6]{padding:10px 10px;position:relative;height:100%;overflow:auto}.addPropRow[data-v-4848a3d6]{padding:2px;border-bottom:1px solid rgba(0,0,0,.17);opacity:.9;cursor:pointer;position:relative;font-size:.9em;display:flex;flex-direction:row;gap:5px}.addPropRow[data-v-4848a3d6]:hover{opacity:1;background-color:hsla(0,0%,95.7%,.06274509803921569)}.addPropRow:hover>.addPropIcon[data-v-4848a3d6]{opacity:1}.propRow[data-v-75a69507]{position:relative;border-bottom:solid 1px var(--checkbox-background);display:flex;flex-direction:row;gap:10px;padding:2px 0 5px}.propRowLabel[data-v-75a69507]{width:35%;font-size:.9em;display:flex;justify-content:right;align-items:center;text-transform:capitalize;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-webkit-user-select:none;-moz-user-select:none;user-select:none}.propRowControl[data-v-75a69507]{width:60%;display:flex;justify-content:left}.propRowDynamicSwitch[data-v-75a69507]{width:5%;display:flex;justify-content:left;align-items:center;cursor:pointer;opacity:.7}.propRowDynamicSwitch[data-v-75a69507]:hover{opacity:1}.addPropIcon[data-v-75a69507]{font-size:1.2em;opacity:0}.propInput[data-v-75a69507]{padding:1px 10px;border:1px solid #999;border-radius:3px;box-sizing:border-box;width:100%;color:#000}.propInputDynamic[data-v-75a69507]{background-color:#fff1cd;border:1px solid #d8b252;color:#916a09}.removeBtnCnt[data-v-75a69507]{opacity:0;cursor:pointer}.propRow:hover .removeBtnCnt[data-v-75a69507]{opacity:.5}.removeBtnCnt[data-v-75a69507]:hover{opacity:1!important}.propRow{margin-bottom:5px}.row:after{content:"";clear:both;display:table}.row{margin-left:auto;margin-right:auto;width:100%;display:flex}.col{float:left;padding:15px;box-sizing:border-box}.col-1{width:8.33%}.col-2{width:16.66%}.col-3{width:25%}.col-4{width:33.33%}.col-5{width:41.66%}.col-6{width:50%}.col-7{width:58.33%}.col-8{width:66.66%}.col-9{width:75%}.col-10{width:83.33%}.col-11{width:91.66%}.col-12{width:100%}.chartConfigContainer[data-v-f85b9ac6]{--grey0:#eee;--grey1:#ccc;--grey2:#aaa;--grey3:#999;--grey4:#666;--grey5:#333;width:100%}.chartConfigContainer[data-v-f85b9ac6] input[type=text]{width:100%;border-bottom:solid 1px var(--grey0);padding:2px 5px}.chartConfigContainer[data-v-f85b9ac6] input[type=number]{width:100%}.chartConfigContainer[data-v-f85b9ac6] input[type=color]{width:18px;height:20px;padding:0}.tabSelector[data-v-f85b9ac6]{display:flex;flex-direction:row;width:100%;border-bottom:solid 1px var(--grey0)}.tabItem[data-v-f85b9ac6]{flex:1;text-align:center;padding:10px;cursor:pointer;border-bottom:1px solid hsla(0,0%,100%,0)}.tabItemSelected[data-v-f85b9ac6]{border-bottom:solid 1px var(--grey5)}.foldableGroup[data-v-f85b9ac6],.tabSectionContainer[data-v-f85b9ac6]{display:flex;flex-direction:column}.foldableGroupHeader[data-v-f85b9ac6]{display:flex;flex-direction:row;gap:2px;cursor:pointer}.foldableGroupHeader>div[data-v-f85b9ac6]{padding:0 10px;border-bottom:solid 1px var(--badge-background)}.foldableGroupContent[data-v-f85b9ac6],.subgroup[data-v-f85b9ac6]{display:flex;flex-direction:column}.subgroup[data-v-f85b9ac6]{padding:10px 0 5px}.subgroup .subgroupTitle[data-v-f85b9ac6]{font-weight:700;padding:0 0 5px}.subgroup .subgroupContent .row[data-v-f85b9ac6]{padding:5px 0}.addPropertyButtonRow[data-v-f85b9ac6]{display:flex;flex-direction:row;justify-content:right;margin-bottom:10px}.addPropertyButton[data-v-f85b9ac6]{border:1px solid #ccc;padding:0 7px;border-radius:7px;font-size:1.1em;width:-moz-min-content;width:min-content}.toolBar[data-v-3295537e]{display:flex;flex-direction:row;font-size:12px;padding-bottom:5px;border-bottom:1px solid #ccc;margin-bottom:10px;gap:15px}.logsContainer[data-v-3295537e]{height:200px;overflow:auto}.logItem[data-v-3295537e]:hover{background-color:rgba(0,0,0,.062745098)}.logItem[data-v-3295537e]{font-size:14px;color:#828282;display:flex;flex-direction:row;gap:20px;align-items:flex-start;border-bottom:1px solid hsla(0,0%,80%,.1254901961)}.appSource[data-v-3295537e],.logLevel[data-v-3295537e],.logMessage[data-v-3295537e],.timeStamp[data-v-3295537e]{flex-shrink:0;overflow:hidden;text-overflow:ellipsis}.timeStamp[data-v-3295537e]{width:150px}.logLevel[data-v-3295537e]{width:25px}.appSource[data-v-3295537e]{width:50px}.logMessage[data-v-3295537e]{flex-grow:1;flex-basis:0;min-width:0;overflow-wrap:break-word;max-width:calc(100% - 285px);overflow:hidden;max-height:20px;cursor:pointer}.logMessageExpanded[data-v-3295537e]{overflow:unset;max-height:unset}.levelInfo[data-v-3295537e]{color:#49afed}.levelWarning[data-v-3295537e]{color:#e29a42}.levelError[data-v-3295537e]{color:#f25b5b}.clearLogsButton[data-v-3295537e]{opacity:.5}.clearLogsButton[data-v-3295537e]:hover{opacity:1}.bindingsConnectorsContainer[data-v-571588a7]{background-color:rgba(255,0,0,0);width:100%;height:100%;position:fixed;z-index:10;pointer-events:none}.topBar[data-v-222d0dd8]{padding:5px;height:40px;display:flex;flex-direction:row;width:100%}.topToolBar[data-v-222d0dd8]{width:100%;justify-content:right;padding-right:5px;display:flex;align-items:center}.leftBar[data-v-222d0dd8]{flex-grow:1;max-width:300px}.centralBar[data-v-222d0dd8]{flex-grow:3;display:flex;flex-direction:column;border-right:1px solid rgba(0,0,0,.3137254902);width:calc(100% - 300px)}.rightBar[data-v-222d0dd8]{flex-grow:1;width:300px;max-height:100%;overflow-y:auto}.panel[data-v-222d0dd8]{margin:0;border-top:1px solid rgba(0,0,0,.3137254902)}.mainContainer[data-v-222d0dd8]{height:100%;background-color:var(--background)}.columnStack[data-v-222d0dd8],.mainContainer[data-v-222d0dd8]{display:flex;flex-direction:column}.rowStack[data-v-222d0dd8]{display:flex;flex-direction:row;flex:1;height:calc(100% - 40px)}.canvasPanel[data-v-222d0dd8]{height:100%}[data-theme=light]{--foreground:#616161;--disabledForeground:rgba(97,97,97,0.5);--errorForeground:#a1260d;--descriptionForeground:#717171;--icon-foreground:#424242;--focusBorder:#0090f1;--textSeparator-foreground:rgba(0,0,0,0.18);--textLink-foreground:#006ab1;--textLink-activeForeground:#006ab1;--textPreformat-foreground:#a31515;--textBlockQuote-background:hsla(0,0%,49.8%,0.1);--textBlockQuote-border:rgba(0,122,204,0.5);--textCodeBlock-background:hsla(0,0%,86.3%,0.4);--widget-shadow:rgba(0,0,0,0.16);--widget-border:#d4d4d4;--input-background:#fff;--input-foreground:#616161;--inputOption-activeBorder:#007acc;--inputOption-hoverBackground:hsla(0,0%,72.2%,0.31);--inputOption-activeBackground:rgba(0,144,241,0.2);--inputOption-activeForeground:#000;--input-placeholderForeground:#767676;--inputValidation-infoBackground:#d6ecf2;--inputValidation-infoBorder:#007acc;--inputValidation-warningBackground:#f6f5d2;--inputValidation-warningBorder:#b89500;--inputValidation-errorBackground:#f2dede;--inputValidation-errorBorder:#be1100;--dropdown-background:#fff;--dropdown-foreground:#616161;--dropdown-border:#cecece;--button-foreground:#fff;--button-separator:hsla(0,0%,100%,0.4);--button-background:#007acc;--button-hoverBackground:#0062a3;--button-secondaryForeground:#fff;--button-secondaryBackground:#5f6a79;--button-secondaryHoverBackground:#4c5561;--badge-background:#c4c4c4;--badge-foreground:#333;--scrollbar-shadow:#ddd;--scrollbarSlider-background:hsla(0,0%,39.2%,0.4);--scrollbarSlider-hoverBackground:hsla(0,0%,39.2%,0.7);--scrollbarSlider-activeBackground:rgba(0,0,0,0.6);--progressBar-background:#0e70c0;--editorError-foreground:#e51400;--editorWarning-foreground:#bf8803;--editorInfo-foreground:#1a85ff;--editorHint-foreground:#6c6c6c;--sash-hoverBorder:#0090f1;--editor-background:#fff;--editor-foreground:#000;--editorStickyScroll-background:#fff;--editorStickyScrollHover-background:#f0f0f0;--editorWidget-background:#f3f3f3;--editorWidget-foreground:#616161;--editorWidget-border:#c8c8c8;--quickInput-background:#f3f3f3;--quickInput-foreground:#616161;--quickInputTitle-background:rgba(0,0,0,0.06);--pickerGroup-foreground:#0066bf;--pickerGroup-border:#cccedb;--keybindingLabel-background:hsla(0,0%,86.7%,0.4);--keybindingLabel-foreground:#555;--keybindingLabel-border:hsla(0,0%,80%,0.4);--keybindingLabel-bottomBorder:hsla(0,0%,73.3%,0.4);--editor-selectionBackground:#add6ff;--editor-inactiveSelectionBackground:#e5ebf1;--editor-selectionHighlightBackground:rgba(173,214,255,0.5);--editor-findMatchBackground:#a8ac94;--editor-findMatchHighlightBackground:rgba(234,92,0,0.33);--editor-findRangeHighlightBackground:hsla(0,0%,70.6%,0.3);--searchEditor-findMatchBackground:rgba(234,92,0,0.22);--search-resultsInfoForeground:#616161;--editor-hoverHighlightBackground:rgba(173,214,255,0.15);--editorHoverWidget-background:#f3f3f3;--editorHoverWidget-foreground:#616161;--editorHoverWidget-border:#c8c8c8;--editorHoverWidget-statusBarBackground:#e7e7e7;--editorLink-activeForeground:#00f;--editorInlayHint-foreground:#969696;--editorInlayHint-background:hsla(0,0%,76.9%,0.1);--editorInlayHint-typeForeground:#969696;--editorInlayHint-typeBackground:hsla(0,0%,76.9%,0.1);--editorInlayHint-parameterForeground:#969696;--editorInlayHint-parameterBackground:hsla(0,0%,76.9%,0.1);--editorLightBulb-foreground:#ddb100;--editorLightBulbAutoFix-foreground:#007acc;--diffEditor-insertedTextBackground:rgba(156,204,44,0.25);--diffEditor-removedTextBackground:rgba(255,0,0,0.2);--diffEditor-insertedLineBackground:rgba(155,185,85,0.2);--diffEditor-removedLineBackground:rgba(255,0,0,0.2);--diffEditor-diagonalFill:rgba(34,34,34,0.2);--diffEditor-unchangedRegionBackground:#e4e4e4;--diffEditor-unchangedRegionForeground:#4d4c4c;--diffEditor-unchangedCodeBackground:hsla(0,0%,72.2%,0.16);--list-focusOutline:#0090f1;--list-focusAndSelectionOutline:#90c2f9;--list-activeSelectionBackground:#0060c0;--list-activeSelectionForeground:#fff;--list-activeSelectionIconForeground:#fff;--list-inactiveSelectionBackground:#e4e6f1;--list-hoverBackground:#e8e8e8;--list-dropBackground:#d6ebff;--list-highlightForeground:#0066bf;--list-focusHighlightForeground:#bbe7ff;--list-invalidItemForeground:#b89500;--list-errorForeground:#b01011;--list-warningForeground:#855f00;--listFilterWidget-background:#f3f3f3;--listFilterWidget-outline:transparent;--listFilterWidget-noMatchesOutline:#be1100;--listFilterWidget-shadow:rgba(0,0,0,0.16);--list-filterMatchBackground:rgba(234,92,0,0.33);--tree-indentGuidesStroke:#a9a9a9;--tree-inactiveIndentGuidesStroke:hsla(0,0%,66.3%,0.4);--tree-tableColumnsBorder:rgba(97,97,97,0.13);--tree-tableOddRowsBackground:rgba(97,97,97,0.04);--list-deemphasizedForeground:#8e8e90;--checkbox-background:#fff;--checkbox-selectBackground:#f3f3f3;--checkbox-foreground:#616161;--checkbox-border:#919191;--checkbox-selectBorder:#424242;--quickInputList-focusForeground:#fff;--quickInputList-focusIconForeground:#fff;--quickInputList-focusBackground:#0060c0;--menu-border:#d4d4d4;--menu-foreground:#616161;--menu-background:#fff;--menu-selectionForeground:#fff;--menu-selectionBackground:#0060c0;--menu-separatorBackground:#d4d4d4;--toolbar-hoverBackground:hsla(0,0%,72.2%,0.31);--toolbar-activeBackground:hsla(0,0%,65.1%,0.31);--editor-snippetTabstopHighlightBackground:rgba(10,50,100,0.2);--editor-snippetFinalTabstopHighlightBorder:rgba(10,50,100,0.5);--breadcrumb-foreground:rgba(97,97,97,0.8);--breadcrumb-background:#fff;--breadcrumb-focusForeground:#4e4e4e;--breadcrumb-activeSelectionForeground:#4e4e4e;--breadcrumbPicker-background:#f3f3f3;--merge-currentHeaderBackground:rgba(64,200,174,0.5);--merge-currentContentBackground:rgba(64,200,174,0.2);--merge-incomingHeaderBackground:rgba(64,166,255,0.5);--merge-incomingContentBackground:rgba(64,166,255,0.2);--merge-commonHeaderBackground:rgba(96,96,96,0.4);--merge-commonContentBackground:rgba(96,96,96,0.16);--editorOverviewRuler-currentContentForeground:rgba(64,200,174,0.5);--editorOverviewRuler-incomingContentForeground:rgba(64,166,255,0.5);--editorOverviewRuler-commonContentForeground:rgba(96,96,96,0.4);--editorOverviewRuler-findMatchForeground:rgba(209,134,22,0.49);--editorOverviewRuler-selectionHighlightForeground:hsla(0,0%,62.7%,0.8);--minimap-findMatchHighlight:#d18616;--minimap-selectionOccurrenceHighlight:#c9c9c9;--minimap-selectionHighlight:#add6ff;--minimap-infoHighlight:#1a85ff;--minimap-warningHighlight:#bf8803;--minimap-errorHighlight:rgba(255,18,18,0.7);--minimap-foregroundOpacity:#000;--minimapSlider-background:hsla(0,0%,39.2%,0.2);--minimapSlider-hoverBackground:hsla(0,0%,39.2%,0.35);--minimapSlider-activeBackground:rgba(0,0,0,0.3);--problemsErrorIcon-foreground:#e51400;--problemsWarningIcon-foreground:#bf8803;--problemsInfoIcon-foreground:#1a85ff;--charts-foreground:#616161;--charts-lines:rgba(97,97,97,0.5);--charts-red:#e51400;--charts-blue:#1a85ff;--charts-yellow:#bf8803;--charts-orange:#d18616;--charts-green:#388a34;--charts-purple:#652d90;--diffEditor-move-border:hsla(0,0%,54.5%,0.61);--diffEditor-moveActive-border:orange;--symbolIcon-arrayForeground:#616161;--symbolIcon-booleanForeground:#616161;--symbolIcon-classForeground:#d67e00;--symbolIcon-colorForeground:#616161;--symbolIcon-constantForeground:#616161;--symbolIcon-constructorForeground:#652d90;--symbolIcon-enumeratorForeground:#d67e00;--symbolIcon-enumeratorMemberForeground:#007acc;--symbolIcon-eventForeground:#d67e00;--symbolIcon-fieldForeground:#007acc;--symbolIcon-fileForeground:#616161;--symbolIcon-folderForeground:#616161;--symbolIcon-functionForeground:#652d90;--symbolIcon-interfaceForeground:#007acc;--symbolIcon-keyForeground:#616161;--symbolIcon-keywordForeground:#616161;--symbolIcon-methodForeground:#652d90;--symbolIcon-moduleForeground:#616161;--symbolIcon-namespaceForeground:#616161;--symbolIcon-nullForeground:#616161;--symbolIcon-numberForeground:#616161;--symbolIcon-objectForeground:#616161;--symbolIcon-operatorForeground:#616161;--symbolIcon-packageForeground:#616161;--symbolIcon-propertyForeground:#616161;--symbolIcon-referenceForeground:#616161;--symbolIcon-snippetForeground:#616161;--symbolIcon-stringForeground:#616161;--symbolIcon-structForeground:#616161;--symbolIcon-textForeground:#616161;--symbolIcon-typeParameterForeground:#616161;--symbolIcon-unitForeground:#616161;--symbolIcon-variableForeground:#007acc;--actionBar-toggledBackground:#ddd;--editorHoverWidget-highlightForeground:#0066bf;--editor-lineHighlightBorder:#eee;--editor-rangeHighlightBackground:rgba(253,255,0,0.2);--editor-symbolHighlightBackground:rgba(234,92,0,0.33);--editorCursor-foreground:#000;--editorWhitespace-foreground:rgba(51,51,51,0.2);--editorLineNumber-foreground:#237893;--editorIndentGuide-background:#d3d3d3;--editorIndentGuide-activeBackground:#939393;--editorIndentGuide-background1:#d3d3d3;--editorIndentGuide-background2:transparent;--editorIndentGuide-background3:transparent;--editorIndentGuide-background4:transparent;--editorIndentGuide-background5:transparent;--editorIndentGuide-background6:transparent;--editorIndentGuide-activeBackground1:#939393;--editorIndentGuide-activeBackground2:transparent;--editorIndentGuide-activeBackground3:transparent;--editorIndentGuide-activeBackground4:transparent;--editorIndentGuide-activeBackground5:transparent;--editorIndentGuide-activeBackground6:transparent;--editorActiveLineNumber-foreground:#0b216f;--editorLineNumber-activeForeground:#0b216f;--editorRuler-foreground:#d3d3d3;--editorCodeLens-foreground:#919191;--editorBracketMatch-background:rgba(0,100,0,0.1);--editorBracketMatch-border:#b9b9b9;--editorOverviewRuler-border:hsla(0,0%,49.8%,0.3);--editorGutter-background:#fff;--editorUnnecessaryCode-opacity:rgba(0,0,0,0.47);--editorGhostText-foreground:rgba(0,0,0,0.47);--editorOverviewRuler-rangeHighlightForeground:rgba(0,122,204,0.6);--editorOverviewRuler-errorForeground:rgba(255,18,18,0.7);--editorOverviewRuler-warningForeground:#bf8803;--editorOverviewRuler-infoForeground:#1a85ff;--editorBracketHighlight-foreground1:#0431fa;--editorBracketHighlight-foreground2:#319331;--editorBracketHighlight-foreground3:#7b3814;--editorBracketHighlight-foreground4:transparent;--editorBracketHighlight-foreground5:transparent;--editorBracketHighlight-foreground6:transparent;--editorBracketHighlight-unexpectedBracket-foreground:rgba(255,18,18,0.8);--editorBracketPairGuide-background1:transparent;--editorBracketPairGuide-background2:transparent;--editorBracketPairGuide-background3:transparent;--editorBracketPairGuide-background4:transparent;--editorBracketPairGuide-background5:transparent;--editorBracketPairGuide-background6:transparent;--editorBracketPairGuide-activeBackground1:transparent;--editorBracketPairGuide-activeBackground2:transparent;--editorBracketPairGuide-activeBackground3:transparent;--editorBracketPairGuide-activeBackground4:transparent;--editorBracketPairGuide-activeBackground5:transparent;--editorBracketPairGuide-activeBackground6:transparent;--editorUnicodeHighlight-border:#cea33d;--editorUnicodeHighlight-background:rgba(206,163,61,0.08);--editorOverviewRuler-bracketMatchForeground:#a0a0a0;--editor-foldBackground:rgba(173,214,255,0.3);--editorGutter-foldingControlForeground:#424242;--editor-linkedEditingBackground:rgba(255,0,0,0.3);--editor-wordHighlightBackground:rgba(87,87,87,0.25);--editor-wordHighlightStrongBackground:rgba(14,99,156,0.25);--editor-wordHighlightTextBackground:rgba(87,87,87,0.25);--editorOverviewRuler-wordHighlightForeground:hsla(0,0%,62.7%,0.8);--editorOverviewRuler-wordHighlightStrongForeground:rgba(192,160,192,0.8);--editorOverviewRuler-wordHighlightTextForeground:hsla(0,0%,62.7%,0.8);--peekViewTitle-background:#f3f3f3;--peekViewTitleLabel-foreground:#000;--peekViewTitleDescription-foreground:#616161;--peekView-border:#1a85ff;--peekViewResult-background:#f3f3f3;--peekViewResult-lineForeground:#646465;--peekViewResult-fileForeground:#1e1e1e;--peekViewResult-selectionBackground:rgba(51,153,255,0.2);--peekViewResult-selectionForeground:#6c6c6c;--peekViewEditor-background:#f2f8fc;--peekViewEditorGutter-background:#f2f8fc;--peekViewEditorStickyScroll-background:#f2f8fc;--peekViewResult-matchHighlightBackground:rgba(234,92,0,0.3);--peekViewEditor-matchHighlightBackground:rgba(245,216,2,0.87);--editorMarkerNavigationError-background:#e51400;--editorMarkerNavigationError-headerBackground:rgba(229,20,0,0.1);--editorMarkerNavigationWarning-background:#bf8803;--editorMarkerNavigationWarning-headerBackground:rgba(191,136,3,0.1);--editorMarkerNavigationInfo-background:#1a85ff;--editorMarkerNavigationInfo-headerBackground:rgba(26,133,255,0.1);--editorMarkerNavigation-background:#fff;--editorSuggestWidget-background:#f3f3f3;--editorSuggestWidget-border:#c8c8c8;--editorSuggestWidget-foreground:#000;--editorSuggestWidget-selectedForeground:#fff;--editorSuggestWidget-selectedIconForeground:#fff;--editorSuggestWidget-selectedBackground:#0060c0;--editorSuggestWidget-highlightForeground:#0066bf;--editorSuggestWidget-focusHighlightForeground:#bbe7ff;--editorSuggestWidgetStatus-foreground:rgba(0,0,0,0.5);--tab-activeBackground:#fff;--tab-unfocusedActiveBackground:#fff;--tab-inactiveBackground:#ececec;--tab-unfocusedInactiveBackground:#ececec;--tab-activeForeground:#333;--tab-inactiveForeground:rgba(51,51,51,0.7);--tab-unfocusedActiveForeground:rgba(51,51,51,0.7);--tab-unfocusedInactiveForeground:rgba(51,51,51,0.35);--tab-border:#f3f3f3;--tab-lastPinnedBorder:rgba(97,97,97,0.19);--tab-activeModifiedBorder:#3ae;--tab-inactiveModifiedBorder:rgba(51,170,238,0.5);--tab-unfocusedActiveModifiedBorder:rgba(51,170,238,0.7);--tab-unfocusedInactiveModifiedBorder:rgba(51,170,238,0.25);--editorPane-background:#fff;--editorGroupHeader-tabsBackground:#f3f3f3;--editorGroupHeader-noTabsBackground:#fff;--editorGroup-border:#e7e7e7;--editorGroup-dropBackground:rgba(38,119,203,0.18);--editorGroup-dropIntoPromptForeground:#616161;--editorGroup-dropIntoPromptBackground:#f3f3f3;--sideBySideEditor-horizontalBorder:#e7e7e7;--sideBySideEditor-verticalBorder:#e7e7e7;--panel-background:#fff;--panel-border:hsla(0,0%,50.2%,0.35);--panelTitle-activeForeground:#424242;--panelTitle-inactiveForeground:rgba(66,66,66,0.75);--panelTitle-activeBorder:#424242;--panelInput-border:#ddd;--panel-dropBorder:#424242;--panelSection-dropBackground:rgba(38,119,203,0.18);--panelSectionHeader-background:hsla(0,0%,50.2%,0.2);--panelSection-border:hsla(0,0%,50.2%,0.35);--banner-background:#004386;--banner-foreground:#fff;--banner-iconForeground:#1a85ff;--statusBar-foreground:#fff;--statusBar-noFolderForeground:#fff;--statusBar-background:#007acc;--statusBar-noFolderBackground:#68217a;--statusBar-focusBorder:#fff;--statusBarItem-activeBackground:hsla(0,0%,100%,0.18);--statusBarItem-focusBorder:#fff;--statusBarItem-hoverBackground:hsla(0,0%,100%,0.12);--statusBarItem-hoverForeground:#fff;--statusBarItem-compactHoverBackground:hsla(0,0%,100%,0.2);--statusBarItem-prominentForeground:#fff;--statusBarItem-prominentBackground:rgba(0,0,0,0.5);--statusBarItem-prominentHoverForeground:#fff;--statusBarItem-prominentHoverBackground:rgba(0,0,0,0.3);--statusBarItem-errorBackground:#c72e0f;--statusBarItem-errorForeground:#fff;--statusBarItem-errorHoverForeground:#fff;--statusBarItem-errorHoverBackground:hsla(0,0%,100%,0.12);--statusBarItem-warningBackground:#725102;--statusBarItem-warningForeground:#fff;--statusBarItem-warningHoverForeground:#fff;--statusBarItem-warningHoverBackground:hsla(0,0%,100%,0.12);--activityBar-background:#2c2c2c;--activityBar-foreground:#fff;--activityBar-inactiveForeground:hsla(0,0%,100%,0.4);--activityBar-activeBorder:#fff;--activityBar-dropBorder:#fff;--activityBarBadge-background:#007acc;--activityBarBadge-foreground:#fff;--profileBadge-background:#c4c4c4;--profileBadge-foreground:#333;--statusBarItem-remoteBackground:#16825d;--statusBarItem-remoteForeground:#fff;--statusBarItem-remoteHoverForeground:#fff;--statusBarItem-remoteHoverBackground:hsla(0,0%,100%,0.12);--statusBarItem-offlineBackground:#6c1717;--statusBarItem-offlineForeground:#fff;--statusBarItem-offlineHoverForeground:#fff;--statusBarItem-offlineHoverBackground:hsla(0,0%,100%,0.12);--extensionBadge-remoteBackground:#007acc;--extensionBadge-remoteForeground:#fff;--sideBar-background:#f3f3f3;--sideBarTitle-foreground:#6f6f6f;--sideBar-dropBackground:rgba(38,119,203,0.18);--sideBarSectionHeader-background:transparent;--sideBarSectionHeader-border:rgba(97,97,97,0.19);--titleBar-activeForeground:#333;--titleBar-inactiveForeground:rgba(51,51,51,0.6);--titleBar-activeBackground:#ddd;--titleBar-inactiveBackground:hsla(0,0%,86.7%,0.6);--menubar-selectionForeground:#333;--menubar-selectionBackground:hsla(0,0%,72.2%,0.31);--commandCenter-foreground:#333;--commandCenter-activeForeground:#333;--commandCenter-inactiveForeground:rgba(51,51,51,0.6);--commandCenter-background:rgba(0,0,0,0.05);--commandCenter-activeBackground:rgba(0,0,0,0.08);--commandCenter-border:rgba(51,51,51,0.2);--commandCenter-activeBorder:rgba(51,51,51,0.3);--commandCenter-inactiveBorder:rgba(51,51,51,0.15);--notificationCenter-border:#d4d4d4;--notificationToast-border:#d4d4d4;--notifications-foreground:#616161;--notifications-background:#f3f3f3;--notificationLink-foreground:#006ab1;--notificationCenterHeader-background:#e7e7e7;--notifications-border:#e7e7e7;--notificationsErrorIcon-foreground:#e51400;--notificationsWarningIcon-foreground:#bf8803;--notificationsInfoIcon-foreground:#1a85ff;--chat-requestBorder:rgba(0,0,0,0.1);--chat-slashCommandBackground:#c4c4c4;--chat-slashCommandForeground:#333;--simpleFindWidget-sashBorder:#c8c8c8;--commentsView-resolvedIcon:rgba(97,97,97,0.5);--commentsView-unresolvedIcon:#0090f1;--editorCommentsWidget-resolvedBorder:rgba(97,97,97,0.5);--editorCommentsWidget-unresolvedBorder:#0090f1;--editorCommentsWidget-rangeBackground:rgba(0,144,241,0.1);--editorCommentsWidget-rangeActiveBackground:rgba(0,144,241,0.1);--editorGutter-commentRangeForeground:#d5d8e9;--editorOverviewRuler-commentForeground:#d5d8e9;--editorOverviewRuler-commentUnresolvedForeground:#d5d8e9;--editorGutter-commentGlyphForeground:#000;--editorGutter-commentUnresolvedGlyphForeground:#000;--debugToolBar-background:#f3f3f3;--debugIcon-startForeground:#388a34;--editor-stackFrameHighlightBackground:rgba(255,255,102,0.45);--editor-focusedStackFrameHighlightBackground:rgba(206,231,206,0.45);--mergeEditor-change-background:rgba(155,185,85,0.2);--mergeEditor-change-word-background:rgba(156,204,44,0.4);--mergeEditor-changeBase-background:#fcc;--mergeEditor-changeBase-word-background:#ffa3a3;--mergeEditor-conflict-unhandledUnfocused-border:#ffa600;--mergeEditor-conflict-unhandledFocused-border:#ffa600;--mergeEditor-conflict-handledUnfocused-border:hsla(0,0%,52.5%,0.29);--mergeEditor-conflict-handledFocused-border:hsla(0,0%,75.7%,0.8);--mergeEditor-conflict-handled-minimapOverViewRuler:rgba(173,172,168,0.93);--mergeEditor-conflict-unhandled-minimapOverViewRuler:#fcba03;--mergeEditor-conflictingLines-background:rgba(255,234,0,0.28);--mergeEditor-conflict-input1-background:rgba(64,200,174,0.2);--mergeEditor-conflict-input2-background:rgba(64,166,255,0.2);--settings-headerForeground:#444;--settings-settingsHeaderHoverForeground:rgba(68,68,68,0.7);--settings-modifiedItemIndicator:#66afe0;--settings-headerBorder:hsla(0,0%,50.2%,0.35);--settings-sashBorder:hsla(0,0%,50.2%,0.35);--settings-dropdownBackground:#fff;--settings-dropdownForeground:#616161;--settings-dropdownBorder:#cecece;--settings-dropdownListBorder:#c8c8c8;--settings-checkboxBackground:#fff;--settings-checkboxForeground:#616161;--settings-checkboxBorder:#919191;--settings-textInputBackground:#fff;--settings-textInputForeground:#616161;--settings-textInputBorder:#cecece;--settings-numberInputBackground:#fff;--settings-numberInputForeground:#616161;--settings-numberInputBorder:#cecece;--settings-focusedRowBackground:hsla(0,0%,91%,0.6);--settings-rowHoverBackground:hsla(0,0%,91%,0.3);--settings-focusedRowBorder:#0090f1;--terminal-foreground:#333;--terminal-selectionBackground:#add6ff;--terminal-inactiveSelectionBackground:#e5ebf1;--terminalCommandDecoration-defaultBackground:rgba(0,0,0,0.25);--terminalCommandDecoration-successBackground:#2090d3;--terminalCommandDecoration-errorBackground:#e51400;--terminalOverviewRuler-cursorForeground:hsla(0,0%,62.7%,0.8);--terminal-border:hsla(0,0%,50.2%,0.35);--terminal-findMatchBackground:#a8ac94;--terminal-hoverHighlightBackground:rgba(173,214,255,0.07);--terminal-findMatchHighlightBackground:rgba(234,92,0,0.33);--terminalOverviewRuler-findMatchForeground:rgba(209,134,22,0.49);--terminal-dropBackground:rgba(38,119,203,0.18);--testing-iconFailed:#f14c4c;--testing-iconErrored:#f14c4c;--testing-iconPassed:#73c991;--testing-runAction:#73c991;--testing-iconQueued:#cca700;--testing-iconUnset:#848484;--testing-iconSkipped:#848484;--testing-peekBorder:#e51400;--testing-peekHeaderBackground:rgba(229,20,0,0.1);--testing-message-error-decorationForeground:#e51400;--testing-message-error-lineBackground:rgba(255,0,0,0.2);--testing-message-info-decorationForeground:rgba(0,0,0,0.5);--welcomePage-tileBackground:#f3f3f3;--welcomePage-tileHoverBackground:#dbdbdb;--welcomePage-tileBorder:rgba(0,0,0,0.1);--welcomePage-progress-background:#fff;--welcomePage-progress-foreground:#006ab1;--walkthrough-stepTitle-foreground:#000;--walkThrough-embeddedEditorBackground:#f4f4f4;--inlineChat-background:#f3f3f3;--inlineChat-border:#c8c8c8;--inlineChat-shadow:rgba(0,0,0,0.16);--inlineChat-regionHighlight:rgba(173,214,255,0.15);--inlineChatInput-border:#c8c8c8;--inlineChatInput-focusBorder:#0090f1;--inlineChatInput-placeholderForeground:#767676;--inlineChatInput-background:#fff;--inlineChatDiff-inserted:rgba(156,204,44,0.13);--inlineChatDiff-removed:rgba(255,0,0,0.1);--debugExceptionWidget-border:#a31515;--debugExceptionWidget-background:#f1dfde;--ports-iconRunningProcessForeground:#369432;--statusBar-debuggingBackground:#c63;--statusBar-debuggingForeground:#fff;--commandCenter-debuggingBackground:rgba(204,102,51,0.26);--editor-inlineValuesForeground:rgba(0,0,0,0.5);--editor-inlineValuesBackground:rgba(255,200,0,0.2);--editorGutter-modifiedBackground:#2090d3;--editorGutter-addedBackground:#48985d;--editorGutter-deletedBackground:#e51400;--minimapGutter-modifiedBackground:#2090d3;--minimapGutter-addedBackground:#48985d;--minimapGutter-deletedBackground:#e51400;--editorOverviewRuler-modifiedForeground:rgba(32,144,211,0.6);--editorOverviewRuler-addedForeground:rgba(72,152,93,0.6);--editorOverviewRuler-deletedForeground:rgba(229,20,0,0.6);--debugIcon-breakpointForeground:#e51400;--debugIcon-breakpointDisabledForeground:#848484;--debugIcon-breakpointUnverifiedForeground:#848484;--debugIcon-breakpointCurrentStackframeForeground:#be8700;--debugIcon-breakpointStackframeForeground:#89d185;--notebook-cellBorderColor:#e8e8e8;--notebook-focusedEditorBorder:#0090f1;--notebookStatusSuccessIcon-foreground:#388a34;--notebookEditorOverviewRuler-runningCellForeground:#388a34;--notebookStatusErrorIcon-foreground:#a1260d;--notebookStatusRunningIcon-foreground:#616161;--notebook-cellToolbarSeparator:hsla(0,0%,50.2%,0.35);--notebook-selectedCellBackground:rgba(200,221,241,0.31);--notebook-selectedCellBorder:#e8e8e8;--notebook-focusedCellBorder:#0090f1;--notebook-inactiveFocusedCellBorder:#e8e8e8;--notebook-cellStatusBarItemHoverBackground:rgba(0,0,0,0.08);--notebook-cellInsertionIndicator:#0090f1;--notebookScrollbarSlider-background:hsla(0,0%,39.2%,0.4);--notebookScrollbarSlider-hoverBackground:hsla(0,0%,39.2%,0.7);--notebookScrollbarSlider-activeBackground:rgba(0,0,0,0.6);--notebook-symbolHighlightBackground:rgba(253,255,0,0.2);--notebook-cellEditorBackground:#f3f3f3;--notebook-editorBackground:#fff;--keybindingTable-headerBackground:rgba(97,97,97,0.04);--keybindingTable-rowsBackground:rgba(97,97,97,0.04);--searchEditor-textInputBorder:#cecece;--debugTokenExpression-name:#9b46b0;--debugTokenExpression-value:hsla(0,0%,42.4%,0.8);--debugTokenExpression-string:#a31515;--debugTokenExpression-boolean:#00f;--debugTokenExpression-number:#098658;--debugTokenExpression-error:#e51400;--debugView-exceptionLabelForeground:#fff;--debugView-exceptionLabelBackground:#a31515;--debugView-stateLabelForeground:#616161;--debugView-stateLabelBackground:hsla(0,0%,53.3%,0.27);--debugView-valueChangedHighlight:#569cd6;--debugConsole-infoForeground:#1a85ff;--debugConsole-warningForeground:#bf8803;--debugConsole-errorForeground:#a1260d;--debugConsole-sourceForeground:#616161;--debugConsoleInputIcon-foreground:#616161;--debugIcon-pauseForeground:#007acc;--debugIcon-stopForeground:#a1260d;--debugIcon-disconnectForeground:#a1260d;--debugIcon-restartForeground:#388a34;--debugIcon-stepOverForeground:#007acc;--debugIcon-stepIntoForeground:#007acc;--debugIcon-stepOutForeground:#007acc;--debugIcon-continueForeground:#007acc;--debugIcon-stepBackForeground:#007acc;--scm-providerBorder:#c8c8c8;--extensionButton-background:#007acc;--extensionButton-foreground:#fff;--extensionButton-hoverBackground:#0062a3;--extensionButton-separator:hsla(0,0%,100%,0.4);--extensionButton-prominentBackground:#007acc;--extensionButton-prominentForeground:#fff;--extensionButton-prominentHoverBackground:#0062a3;--extensionIcon-starForeground:#df6100;--extensionIcon-verifiedForeground:#006ab1;--extensionIcon-preReleaseForeground:#1d9271;--extensionIcon-sponsorForeground:#b51e78;--terminal-ansiBlack:#000;--terminal-ansiRed:#cd3131;--terminal-ansiGreen:#00bc00;--terminal-ansiYellow:#949800;--terminal-ansiBlue:#0451a5;--terminal-ansiMagenta:#bc05bc;--terminal-ansiCyan:#0598bc;--terminal-ansiWhite:#555;--terminal-ansiBrightBlack:#666;--terminal-ansiBrightRed:#cd3131;--terminal-ansiBrightGreen:#14ce14;--terminal-ansiBrightYellow:#b5ba00;--terminal-ansiBrightBlue:#0451a5;--terminal-ansiBrightMagenta:#bc05bc;--terminal-ansiBrightCyan:#0598bc;--terminal-ansiBrightWhite:#a5a5a5;--interactive-activeCodeBorder:#1a85ff;--interactive-inactiveCodeBorder:#e4e6f1;--gitDecoration-addedResourceForeground:#587c0c;--gitDecoration-modifiedResourceForeground:#895503;--gitDecoration-deletedResourceForeground:#ad0707;--gitDecoration-renamedResourceForeground:#007100;--gitDecoration-untrackedResourceForeground:#007100;--gitDecoration-ignoredResourceForeground:#8e8e90;--gitDecoration-stageModifiedResourceForeground:#895503;--gitDecoration-stageDeletedResourceForeground:#ad0707;--gitDecoration-conflictingResourceForeground:#ad0707;--gitDecoration-submoduleResourceForeground:#1258a7;--gitlens-gutterBackgroundColor:rgba(0,0,0,0.05);--gitlens-gutterForegroundColor:#747474;--gitlens-gutterUncommittedForegroundColor:rgba(0,188,242,0.6);--gitlens-trailingLineBackgroundColor:transparent;--gitlens-trailingLineForegroundColor:hsla(0,0%,60%,0.35);--gitlens-lineHighlightBackgroundColor:rgba(0,188,242,0.2);--gitlens-lineHighlightOverviewRulerColor:rgba(0,188,242,0.6);--gitlens-openAutolinkedIssueIconColor:#1a7f37;--gitlens-closedAutolinkedIssueIconColor:#8250df;--gitlens-closedPullRequestIconColor:#cf222e;--gitlens-openPullRequestIconColor:#1a7f37;--gitlens-mergedPullRequestIconColor:#8250df;--gitlens-unpublishedChangesIconColor:#35b15e;--gitlens-unpublishedCommitIconColor:#35b15e;--gitlens-unpulledChangesIconColor:#b15e35;--gitlens-decorations-addedForegroundColor:#587c0c;--gitlens-decorations-copiedForegroundColor:#007100;--gitlens-decorations-deletedForegroundColor:#ad0707;--gitlens-decorations-ignoredForegroundColor:#8e8e90;--gitlens-decorations-modifiedForegroundColor:#895503;--gitlens-decorations-untrackedForegroundColor:#007100;--gitlens-decorations-renamedForegroundColor:#007100;--gitlens-decorations-branchAheadForegroundColor:#35b15e;--gitlens-decorations-branchBehindForegroundColor:#b15e35;--gitlens-decorations-branchDivergedForegroundColor:#d8af1b;--gitlens-decorations-branchUnpublishedForegroundColor:#35b15e;--gitlens-decorations-branchMissingUpstreamForegroundColor:#ad0707;--gitlens-decorations-workspaceRepoMissingForegroundColor:#949494;--gitlens-decorations-workspaceCurrentForegroundColor:#35b15e;--gitlens-decorations-workspaceRepoOpenForegroundColor:#35b15e;--gitlens-decorations-worktreeHasUncommittedChangesForegroundColor:#895503;--gitlens-decorations-worktreeMissingForegroundColor:#ad0707;--gitlens-graphLane1Color:#15a0bf;--gitlens-graphLane2Color:#0669f7;--gitlens-graphLane3Color:#8e00c2;--gitlens-graphLane4Color:#c517b6;--gitlens-graphLane5Color:#d90171;--gitlens-graphLane6Color:#cd0101;--gitlens-graphLane7Color:#f25d2e;--gitlens-graphLane8Color:#f2ca33;--gitlens-graphLane9Color:#7bd938;--gitlens-graphLane10Color:#2ece9d;--gitlens-graphChangesColumnAddedColor:#2da44e;--gitlens-graphChangesColumnDeletedColor:#cf222e;--gitlens-graphMinimapMarkerHeadColor:#04c814;--gitlens-graphScrollMarkerHeadColor:#04c814;--gitlens-graphMinimapMarkerUpstreamColor:#8cd993;--gitlens-graphScrollMarkerUpstreamColor:#8cd993;--gitlens-graphMinimapMarkerHighlightsColor:#f5cc00;--gitlens-graphScrollMarkerHighlightsColor:#f5cc00;--gitlens-graphMinimapMarkerLocalBranchesColor:#3095e8;--gitlens-graphScrollMarkerLocalBranchesColor:#3095e8;--gitlens-graphMinimapMarkerRemoteBranchesColor:#67ace4;--gitlens-graphScrollMarkerRemoteBranchesColor:#67ace4;--gitlens-graphMinimapMarkerStashesColor:#e467e4;--gitlens-graphScrollMarkerStashesColor:#e467e4;--gitlens-graphMinimapMarkerTagsColor:#d2a379;--gitlens-graphScrollMarkerTagsColor:#d2a379}[data-theme=dark]{--vscode-foreground:#ccc;--vscode-disabledForeground:hsla(0,0%,80%,0.5);--vscode-errorForeground:#f48771;--vscode-descriptionForeground:hsla(0,0%,80%,0.7);--vscode-icon-foreground:#c5c5c5;--vscode-focusBorder:#007fd4;--vscode-textSeparator-foreground:hsla(0,0%,100%,0.18);--vscode-textLink-foreground:#3794ff;--vscode-textLink-activeForeground:#3794ff;--vscode-textPreformat-foreground:#d7ba7d;--vscode-textBlockQuote-background:hsla(0,0%,49.8%,0.1);--vscode-textBlockQuote-border:rgba(0,122,204,0.5);--vscode-textCodeBlock-background:rgba(10,10,10,0.4);--vscode-widget-shadow:rgba(0,0,0,0.36);--vscode-widget-border:#303031;--vscode-input-background:#3c3c3c;--vscode-input-foreground:#ccc;--vscode-inputOption-activeBorder:#007acc;--vscode-inputOption-hoverBackground:rgba(90,93,94,0.5);--vscode-inputOption-activeBackground:rgba(0,127,212,0.4);--vscode-inputOption-activeForeground:#fff;--vscode-input-placeholderForeground:#a6a6a6;--vscode-inputValidation-infoBackground:#063b49;--vscode-inputValidation-infoBorder:#007acc;--vscode-inputValidation-warningBackground:#352a05;--vscode-inputValidation-warningBorder:#b89500;--vscode-inputValidation-errorBackground:#5a1d1d;--vscode-inputValidation-errorBorder:#be1100;--vscode-dropdown-background:#3c3c3c;--vscode-dropdown-foreground:#f0f0f0;--vscode-dropdown-border:#3c3c3c;--vscode-button-foreground:#fff;--vscode-button-separator:hsla(0,0%,100%,0.4);--vscode-button-background:#0e639c;--vscode-button-hoverBackground:#17b;--vscode-button-secondaryForeground:#fff;--vscode-button-secondaryBackground:#3a3d41;--vscode-button-secondaryHoverBackground:#45494e;--vscode-badge-background:#4d4d4d;--vscode-badge-foreground:#fff;--vscode-scrollbar-shadow:#000;--vscode-scrollbarSlider-background:hsla(0,0%,47.5%,0.4);--vscode-scrollbarSlider-hoverBackground:hsla(0,0%,39.2%,0.7);--vscode-scrollbarSlider-activeBackground:hsla(0,0%,74.9%,0.4);--vscode-progressBar-background:#0e70c0;--vscode-editorError-foreground:#f14c4c;--vscode-editorWarning-foreground:#cca700;--vscode-editorInfo-foreground:#3794ff;--vscode-editorHint-foreground:hsla(0,0%,93.3%,0.7);--vscode-sash-hoverBorder:#007fd4;--vscode-editor-background:#1e1e1e;--vscode-editor-foreground:#d4d4d4;--vscode-editorStickyScroll-background:#1e1e1e;--vscode-editorStickyScrollHover-background:#2a2d2e;--vscode-editorWidget-background:#252526;--vscode-editorWidget-foreground:#ccc;--vscode-editorWidget-border:#454545;--vscode-quickInput-background:#252526;--vscode-quickInput-foreground:#ccc;--vscode-quickInputTitle-background:hsla(0,0%,100%,0.1);--vscode-pickerGroup-foreground:#3794ff;--vscode-pickerGroup-border:#3f3f46;--vscode-keybindingLabel-background:hsla(0,0%,50.2%,0.17);--vscode-keybindingLabel-foreground:#ccc;--vscode-keybindingLabel-border:rgba(51,51,51,0.6);--vscode-keybindingLabel-bottomBorder:rgba(68,68,68,0.6);--vscode-editor-selectionBackground:#264f78;--vscode-editor-inactiveSelectionBackground:#3a3d41;--vscode-editor-selectionHighlightBackground:rgba(173,214,255,0.15);--vscode-editor-findMatchBackground:#515c6a;--vscode-editor-findMatchHighlightBackground:rgba(234,92,0,0.33);--vscode-editor-findRangeHighlightBackground:rgba(58,61,65,0.4);--vscode-searchEditor-findMatchBackground:rgba(234,92,0,0.22);--vscode-search-resultsInfoForeground:hsla(0,0%,80%,0.65);--vscode-editor-hoverHighlightBackground:rgba(38,79,120,0.25);--vscode-editorHoverWidget-background:#252526;--vscode-editorHoverWidget-foreground:#ccc;--vscode-editorHoverWidget-border:#454545;--vscode-editorHoverWidget-statusBarBackground:#2c2c2d;--vscode-editorLink-activeForeground:#4e94ce;--vscode-editorInlayHint-foreground:#969696;--vscode-editorInlayHint-background:rgba(77,77,77,0.1);--vscode-editorInlayHint-typeForeground:#969696;--vscode-editorInlayHint-typeBackground:rgba(77,77,77,0.1);--vscode-editorInlayHint-parameterForeground:#969696;--vscode-editorInlayHint-parameterBackground:rgba(77,77,77,0.1);--vscode-editorLightBulb-foreground:#fc0;--vscode-editorLightBulbAutoFix-foreground:#75beff;--vscode-diffEditor-insertedTextBackground:rgba(156,204,44,0.2);--vscode-diffEditor-removedTextBackground:rgba(255,0,0,0.2);--vscode-diffEditor-insertedLineBackground:rgba(155,185,85,0.2);--vscode-diffEditor-removedLineBackground:rgba(255,0,0,0.2);--vscode-diffEditor-diagonalFill:hsla(0,0%,80%,0.2);--vscode-diffEditor-unchangedRegionBackground:#3e3e3e;--vscode-diffEditor-unchangedRegionForeground:#a3a2a2;--vscode-diffEditor-unchangedCodeBackground:hsla(0,0%,45.5%,0.16);--vscode-list-focusOutline:#007fd4;--vscode-list-activeSelectionBackground:#04395e;--vscode-list-activeSelectionForeground:#fff;--vscode-list-activeSelectionIconForeground:#fff;--vscode-list-inactiveSelectionBackground:#37373d;--vscode-list-hoverBackground:#2a2d2e;--vscode-list-dropBackground:#383b3d;--vscode-list-highlightForeground:#2aaaff;--vscode-list-focusHighlightForeground:#2aaaff;--vscode-list-invalidItemForeground:#b89500;--vscode-list-errorForeground:#f88070;--vscode-list-warningForeground:#cca700;--vscode-listFilterWidget-background:#252526;--vscode-listFilterWidget-outline:transparent;--vscode-listFilterWidget-noMatchesOutline:#be1100;--vscode-listFilterWidget-shadow:rgba(0,0,0,0.36);--vscode-list-filterMatchBackground:rgba(234,92,0,0.33);--vscode-tree-indentGuidesStroke:#585858;--vscode-tree-inactiveIndentGuidesStroke:rgba(88,88,88,0.4);--vscode-tree-tableColumnsBorder:hsla(0,0%,80%,0.13);--vscode-tree-tableOddRowsBackground:hsla(0,0%,80%,0.04);--vscode-list-deemphasizedForeground:#8c8c8c;--vscode-checkbox-background:#3c3c3c;--vscode-checkbox-selectBackground:#252526;--vscode-checkbox-foreground:#f0f0f0;--vscode-checkbox-border:#6b6b6b;--vscode-checkbox-selectBorder:#c5c5c5;--vscode-quickInputList-focusForeground:#fff;--vscode-quickInputList-focusIconForeground:#fff;--vscode-quickInputList-focusBackground:#04395e;--vscode-menu-border:#454545;--vscode-menu-foreground:#ccc;--vscode-menu-background:#252526;--vscode-menu-selectionForeground:#fff;--vscode-menu-selectionBackground:#04395e;--vscode-menu-separatorBackground:#454545;--vscode-toolbar-hoverBackground:rgba(90,93,94,0.31);--vscode-toolbar-activeBackground:rgba(99,102,103,0.31);--vscode-editor-snippetTabstopHighlightBackground:hsla(0,0%,48.6%,0.3);--vscode-editor-snippetFinalTabstopHighlightBorder:#525252;--vscode-breadcrumb-foreground:hsla(0,0%,80%,0.8);--vscode-breadcrumb-background:#1e1e1e;--vscode-breadcrumb-focusForeground:#e0e0e0;--vscode-breadcrumb-activeSelectionForeground:#e0e0e0;--vscode-breadcrumbPicker-background:#252526;--vscode-merge-currentHeaderBackground:rgba(64,200,174,0.5);--vscode-merge-currentContentBackground:rgba(64,200,174,0.2);--vscode-merge-incomingHeaderBackground:rgba(64,166,255,0.5);--vscode-merge-incomingContentBackground:rgba(64,166,255,0.2);--vscode-merge-commonHeaderBackground:rgba(96,96,96,0.4);--vscode-merge-commonContentBackground:rgba(96,96,96,0.16);--vscode-editorOverviewRuler-currentContentForeground:rgba(64,200,174,0.5);--vscode-editorOverviewRuler-incomingContentForeground:rgba(64,166,255,0.5);--vscode-editorOverviewRuler-commonContentForeground:rgba(96,96,96,0.4);--vscode-editorOverviewRuler-findMatchForeground:rgba(209,134,22,0.49);--vscode-editorOverviewRuler-selectionHighlightForeground:hsla(0,0%,62.7%,0.8);--vscode-minimap-findMatchHighlight:#d18616;--vscode-minimap-selectionOccurrenceHighlight:#676767;--vscode-minimap-selectionHighlight:#264f78;--vscode-minimap-infoHighlight:#3794ff;--vscode-minimap-warningHighlight:#cca700;--vscode-minimap-errorHighlight:rgba(255,18,18,0.7);--vscode-minimap-foregroundOpacity:#000;--vscode-minimapSlider-background:hsla(0,0%,47.5%,0.2);--vscode-minimapSlider-hoverBackground:hsla(0,0%,39.2%,0.35);--vscode-minimapSlider-activeBackground:hsla(0,0%,74.9%,0.2);--vscode-problemsErrorIcon-foreground:#f14c4c;--vscode-problemsWarningIcon-foreground:#cca700;--vscode-problemsInfoIcon-foreground:#3794ff;--vscode-charts-foreground:#ccc;--vscode-charts-lines:hsla(0,0%,80%,0.5);--vscode-charts-red:#f14c4c;--vscode-charts-blue:#3794ff;--vscode-charts-yellow:#cca700;--vscode-charts-orange:#d18616;--vscode-charts-green:#89d185;--vscode-charts-purple:#b180d7;--vscode-diffEditor-move-border:hsla(0,0%,54.5%,0.61);--vscode-diffEditor-moveActive-border:orange;--vscode-symbolIcon-arrayForeground:#ccc;--vscode-symbolIcon-booleanForeground:#ccc;--vscode-symbolIcon-classForeground:#ee9d28;--vscode-symbolIcon-colorForeground:#ccc;--vscode-symbolIcon-constantForeground:#ccc;--vscode-symbolIcon-constructorForeground:#b180d7;--vscode-symbolIcon-enumeratorForeground:#ee9d28;--vscode-symbolIcon-enumeratorMemberForeground:#75beff;--vscode-symbolIcon-eventForeground:#ee9d28;--vscode-symbolIcon-fieldForeground:#75beff;--vscode-symbolIcon-fileForeground:#ccc;--vscode-symbolIcon-folderForeground:#ccc;--vscode-symbolIcon-functionForeground:#b180d7;--vscode-symbolIcon-interfaceForeground:#75beff;--vscode-symbolIcon-keyForeground:#ccc;--vscode-symbolIcon-keywordForeground:#ccc;--vscode-symbolIcon-methodForeground:#b180d7;--vscode-symbolIcon-moduleForeground:#ccc;--vscode-symbolIcon-namespaceForeground:#ccc;--vscode-symbolIcon-nullForeground:#ccc;--vscode-symbolIcon-numberForeground:#ccc;--vscode-symbolIcon-objectForeground:#ccc;--vscode-symbolIcon-operatorForeground:#ccc;--vscode-symbolIcon-packageForeground:#ccc;--vscode-symbolIcon-propertyForeground:#ccc;--vscode-symbolIcon-referenceForeground:#ccc;--vscode-symbolIcon-snippetForeground:#ccc;--vscode-symbolIcon-stringForeground:#ccc;--vscode-symbolIcon-structForeground:#ccc;--vscode-symbolIcon-textForeground:#ccc;--vscode-symbolIcon-typeParameterForeground:#ccc;--vscode-symbolIcon-unitForeground:#ccc;--vscode-symbolIcon-variableForeground:#75beff;--vscode-actionBar-toggledBackground:#383a49;--vscode-editorHoverWidget-highlightForeground:#2aaaff;--vscode-editor-lineHighlightBorder:#282828;--vscode-editor-rangeHighlightBackground:hsla(0,0%,100%,0.04);--vscode-editor-symbolHighlightBackground:rgba(234,92,0,0.33);--vscode-editorCursor-foreground:#aeafad;--vscode-editorWhitespace-foreground:rgba(227,228,226,0.16);--vscode-editorLineNumber-foreground:#858585;--vscode-editorIndentGuide-background:#404040;--vscode-editorIndentGuide-activeBackground:#707070;--vscode-editorIndentGuide-background1:#404040;--vscode-editorIndentGuide-background2:transparent;--vscode-editorIndentGuide-background3:transparent;--vscode-editorIndentGuide-background4:transparent;--vscode-editorIndentGuide-background5:transparent;--vscode-editorIndentGuide-background6:transparent;--vscode-editorIndentGuide-activeBackground1:#707070;--vscode-editorIndentGuide-activeBackground2:transparent;--vscode-editorIndentGuide-activeBackground3:transparent;--vscode-editorIndentGuide-activeBackground4:transparent;--vscode-editorIndentGuide-activeBackground5:transparent;--vscode-editorIndentGuide-activeBackground6:transparent;--vscode-editorActiveLineNumber-foreground:#c6c6c6;--vscode-editorLineNumber-activeForeground:#c6c6c6;--vscode-editorRuler-foreground:#5a5a5a;--vscode-editorCodeLens-foreground:#999;--vscode-editorBracketMatch-background:rgba(0,100,0,0.1);--vscode-editorBracketMatch-border:#888;--vscode-editorOverviewRuler-border:hsla(0,0%,49.8%,0.3);--vscode-editorGutter-background:#1e1e1e;--vscode-editorUnnecessaryCode-opacity:rgba(0,0,0,0.67);--vscode-editorGhostText-foreground:hsla(0,0%,100%,0.34);--vscode-editorOverviewRuler-rangeHighlightForeground:rgba(0,122,204,0.6);--vscode-editorOverviewRuler-errorForeground:rgba(255,18,18,0.7);--vscode-editorOverviewRuler-warningForeground:#cca700;--vscode-editorOverviewRuler-infoForeground:#3794ff;--vscode-editorBracketHighlight-foreground1:gold;--vscode-editorBracketHighlight-foreground2:orchid;--vscode-editorBracketHighlight-foreground3:#179fff;--vscode-editorBracketHighlight-foreground4:transparent;--vscode-editorBracketHighlight-foreground5:transparent;--vscode-editorBracketHighlight-foreground6:transparent;--vscode-editorBracketHighlight-unexpectedBracket-foreground:rgba(255,18,18,0.8);--vscode-editorBracketPairGuide-background1:transparent;--vscode-editorBracketPairGuide-background2:transparent;--vscode-editorBracketPairGuide-background3:transparent;--vscode-editorBracketPairGuide-background4:transparent;--vscode-editorBracketPairGuide-background5:transparent;--vscode-editorBracketPairGuide-background6:transparent;--vscode-editorBracketPairGuide-activeBackground1:transparent;--vscode-editorBracketPairGuide-activeBackground2:transparent;--vscode-editorBracketPairGuide-activeBackground3:transparent;--vscode-editorBracketPairGuide-activeBackground4:transparent;--vscode-editorBracketPairGuide-activeBackground5:transparent;--vscode-editorBracketPairGuide-activeBackground6:transparent;--vscode-editorUnicodeHighlight-border:#bd9b03;--vscode-editorUnicodeHighlight-background:rgba(189,155,3,0.15);--vscode-editorOverviewRuler-bracketMatchForeground:#a0a0a0;--vscode-editor-foldBackground:rgba(38,79,120,0.3);--vscode-editorGutter-foldingControlForeground:#c5c5c5;--vscode-editor-linkedEditingBackground:rgba(255,0,0,0.3);--vscode-editor-wordHighlightBackground:rgba(87,87,87,0.72);--vscode-editor-wordHighlightStrongBackground:rgba(0,73,114,0.72);--vscode-editor-wordHighlightTextBackground:rgba(87,87,87,0.72);--vscode-editorOverviewRuler-wordHighlightForeground:hsla(0,0%,62.7%,0.8);--vscode-editorOverviewRuler-wordHighlightStrongForeground:rgba(192,160,192,0.8);--vscode-editorOverviewRuler-wordHighlightTextForeground:hsla(0,0%,62.7%,0.8);--vscode-peekViewTitle-background:#252526;--vscode-peekViewTitleLabel-foreground:#fff;--vscode-peekViewTitleDescription-foreground:hsla(0,0%,80%,0.7);--vscode-peekView-border:#3794ff;--vscode-peekViewResult-background:#252526;--vscode-peekViewResult-lineForeground:#bbb;--vscode-peekViewResult-fileForeground:#fff;--vscode-peekViewResult-selectionBackground:rgba(51,153,255,0.2);--vscode-peekViewResult-selectionForeground:#fff;--vscode-peekViewEditor-background:#001f33;--vscode-peekViewEditorGutter-background:#001f33;--vscode-peekViewEditorStickyScroll-background:#001f33;--vscode-peekViewResult-matchHighlightBackground:rgba(234,92,0,0.3);--vscode-peekViewEditor-matchHighlightBackground:rgba(255,143,0,0.6);--vscode-editorMarkerNavigationError-background:#f14c4c;--vscode-editorMarkerNavigationError-headerBackground:rgba(241,76,76,0.1);--vscode-editorMarkerNavigationWarning-background:#cca700;--vscode-editorMarkerNavigationWarning-headerBackground:rgba(204,167,0,0.1);--vscode-editorMarkerNavigationInfo-background:#3794ff;--vscode-editorMarkerNavigationInfo-headerBackground:rgba(55,148,255,0.1);--vscode-editorMarkerNavigation-background:#1e1e1e;--vscode-editorSuggestWidget-background:#252526;--vscode-editorSuggestWidget-border:#454545;--vscode-editorSuggestWidget-foreground:#d4d4d4;--vscode-editorSuggestWidget-selectedForeground:#fff;--vscode-editorSuggestWidget-selectedIconForeground:#fff;--vscode-editorSuggestWidget-selectedBackground:#04395e;--vscode-editorSuggestWidget-highlightForeground:#2aaaff;--vscode-editorSuggestWidget-focusHighlightForeground:#2aaaff;--vscode-editorSuggestWidgetStatus-foreground:hsla(0,0%,83.1%,0.5);--vscode-tab-activeBackground:#1e1e1e;--vscode-tab-unfocusedActiveBackground:#1e1e1e;--vscode-tab-inactiveBackground:#2d2d2d;--vscode-tab-unfocusedInactiveBackground:#2d2d2d;--vscode-tab-activeForeground:#fff;--vscode-tab-inactiveForeground:hsla(0,0%,100%,0.5);--vscode-tab-unfocusedActiveForeground:hsla(0,0%,100%,0.5);--vscode-tab-unfocusedInactiveForeground:hsla(0,0%,100%,0.25);--vscode-tab-border:#252526;--vscode-tab-lastPinnedBorder:hsla(0,0%,80%,0.2);--vscode-tab-activeModifiedBorder:#39c;--vscode-tab-inactiveModifiedBorder:rgba(51,153,204,0.5);--vscode-tab-unfocusedActiveModifiedBorder:rgba(51,153,204,0.5);--vscode-tab-unfocusedInactiveModifiedBorder:rgba(51,153,204,0.25);--vscode-editorPane-background:#1e1e1e;--vscode-editorGroupHeader-tabsBackground:#252526;--vscode-editorGroupHeader-noTabsBackground:#1e1e1e;--vscode-editorGroup-border:#444;--vscode-editorGroup-dropBackground:rgba(83,89,93,0.5);--vscode-editorGroup-dropIntoPromptForeground:#ccc;--vscode-editorGroup-dropIntoPromptBackground:#252526;--vscode-sideBySideEditor-horizontalBorder:#444;--vscode-sideBySideEditor-verticalBorder:#444;--vscode-panel-background:#1e1e1e;--vscode-panel-border:hsla(0,0%,50.2%,0.35);--vscode-panelTitle-activeForeground:#e7e7e7;--vscode-panelTitle-inactiveForeground:hsla(0,0%,90.6%,0.6);--vscode-panelTitle-activeBorder:#e7e7e7;--vscode-panel-dropBorder:#e7e7e7;--vscode-panelSection-dropBackground:rgba(83,89,93,0.5);--vscode-panelSectionHeader-background:hsla(0,0%,50.2%,0.2);--vscode-panelSection-border:hsla(0,0%,50.2%,0.35);--vscode-banner-background:#04395e;--vscode-banner-foreground:#fff;--vscode-banner-iconForeground:#3794ff;--vscode-statusBar-foreground:#fff;--vscode-statusBar-noFolderForeground:#fff;--vscode-statusBar-background:#007acc;--vscode-statusBar-noFolderBackground:#68217a;--vscode-statusBar-focusBorder:#fff;--vscode-statusBarItem-activeBackground:hsla(0,0%,100%,0.18);--vscode-statusBarItem-focusBorder:#fff;--vscode-statusBarItem-hoverBackground:hsla(0,0%,100%,0.12);--vscode-statusBarItem-hoverForeground:#fff;--vscode-statusBarItem-compactHoverBackground:hsla(0,0%,100%,0.2);--vscode-statusBarItem-prominentForeground:#fff;--vscode-statusBarItem-prominentBackground:rgba(0,0,0,0.5);--vscode-statusBarItem-prominentHoverForeground:#fff;--vscode-statusBarItem-prominentHoverBackground:rgba(0,0,0,0.3);--vscode-statusBarItem-errorBackground:#c72e0f;--vscode-statusBarItem-errorForeground:#fff;--vscode-statusBarItem-errorHoverForeground:#fff;--vscode-statusBarItem-errorHoverBackground:hsla(0,0%,100%,0.12);--vscode-statusBarItem-warningBackground:#7a6400;--vscode-statusBarItem-warningForeground:#fff;--vscode-statusBarItem-warningHoverForeground:#fff;--vscode-statusBarItem-warningHoverBackground:hsla(0,0%,100%,0.12);--vscode-activityBar-background:#333;--vscode-activityBar-foreground:#fff;--vscode-activityBar-inactiveForeground:hsla(0,0%,100%,0.4);--vscode-activityBar-activeBorder:#fff;--vscode-activityBar-dropBorder:#fff;--vscode-activityBarBadge-background:#007acc;--vscode-activityBarBadge-foreground:#fff;--vscode-profileBadge-background:#4d4d4d;--vscode-profileBadge-foreground:#fff;--vscode-statusBarItem-remoteBackground:#16825d;--vscode-statusBarItem-remoteForeground:#fff;--vscode-statusBarItem-remoteHoverForeground:#fff;--vscode-statusBarItem-remoteHoverBackground:hsla(0,0%,100%,0.12);--vscode-statusBarItem-offlineBackground:#6c1717;--vscode-statusBarItem-offlineForeground:#fff;--vscode-statusBarItem-offlineHoverForeground:#fff;--vscode-statusBarItem-offlineHoverBackground:hsla(0,0%,100%,0.12);--vscode-extensionBadge-remoteBackground:#007acc;--vscode-extensionBadge-remoteForeground:#fff;--vscode-sideBar-background:#252526;--vscode-sideBarTitle-foreground:#bbb;--vscode-sideBar-dropBackground:rgba(83,89,93,0.5);--vscode-sideBarSectionHeader-background:transparent;--vscode-sideBarSectionHeader-border:hsla(0,0%,80%,0.2);--vscode-titleBar-activeForeground:#ccc;--vscode-titleBar-inactiveForeground:hsla(0,0%,80%,0.6);--vscode-titleBar-activeBackground:#3c3c3c;--vscode-titleBar-inactiveBackground:rgba(60,60,60,0.6);--vscode-menubar-selectionForeground:#ccc;--vscode-menubar-selectionBackground:rgba(90,93,94,0.31);--vscode-commandCenter-foreground:#ccc;--vscode-commandCenter-activeForeground:#ccc;--vscode-commandCenter-inactiveForeground:hsla(0,0%,80%,0.6);--vscode-commandCenter-background:hsla(0,0%,100%,0.05);--vscode-commandCenter-activeBackground:hsla(0,0%,100%,0.08);--vscode-commandCenter-border:hsla(0,0%,80%,0.2);--vscode-commandCenter-activeBorder:hsla(0,0%,80%,0.3);--vscode-commandCenter-inactiveBorder:hsla(0,0%,80%,0.15);--vscode-notificationCenter-border:#303031;--vscode-notificationToast-border:#303031;--vscode-notifications-foreground:#ccc;--vscode-notifications-background:#252526;--vscode-notificationLink-foreground:#3794ff;--vscode-notificationCenterHeader-background:#303031;--vscode-notifications-border:#303031;--vscode-notificationsErrorIcon-foreground:#f14c4c;--vscode-notificationsWarningIcon-foreground:#cca700;--vscode-notificationsInfoIcon-foreground:#3794ff;--vscode-chat-requestBorder:hsla(0,0%,100%,0.1);--vscode-chat-slashCommandBackground:#4d4d4d;--vscode-chat-slashCommandForeground:#fff;--vscode-simpleFindWidget-sashBorder:#454545;--vscode-commentsView-resolvedIcon:hsla(0,0%,80%,0.5);--vscode-commentsView-unresolvedIcon:#007fd4;--vscode-editorCommentsWidget-resolvedBorder:hsla(0,0%,80%,0.5);--vscode-editorCommentsWidget-unresolvedBorder:#007fd4;--vscode-editorCommentsWidget-rangeBackground:rgba(0,127,212,0.1);--vscode-editorCommentsWidget-rangeActiveBackground:rgba(0,127,212,0.1);--vscode-editorGutter-commentRangeForeground:#37373d;--vscode-editorOverviewRuler-commentForeground:#37373d;--vscode-editorOverviewRuler-commentUnresolvedForeground:#37373d;--vscode-editorGutter-commentGlyphForeground:#d4d4d4;--vscode-editorGutter-commentUnresolvedGlyphForeground:#d4d4d4;--vscode-debugToolBar-background:#333;--vscode-debugIcon-startForeground:#89d185;--vscode-editor-stackFrameHighlightBackground:rgba(255,255,0,0.2);--vscode-editor-focusedStackFrameHighlightBackground:rgba(122,189,122,0.3);--vscode-mergeEditor-change-background:rgba(155,185,85,0.2);--vscode-mergeEditor-change-word-background:rgba(156,204,44,0.2);--vscode-mergeEditor-changeBase-background:#4b1818;--vscode-mergeEditor-changeBase-word-background:#6f1313;--vscode-mergeEditor-conflict-unhandledUnfocused-border:rgba(255,166,0,0.48);--vscode-mergeEditor-conflict-unhandledFocused-border:#ffa600;--vscode-mergeEditor-conflict-handledUnfocused-border:hsla(0,0%,52.5%,0.29);--vscode-mergeEditor-conflict-handledFocused-border:hsla(0,0%,75.7%,0.8);--vscode-mergeEditor-conflict-handled-minimapOverViewRuler:rgba(173,172,168,0.93);--vscode-mergeEditor-conflict-unhandled-minimapOverViewRuler:#fcba03;--vscode-mergeEditor-conflictingLines-background:rgba(255,234,0,0.28);--vscode-mergeEditor-conflict-input1-background:rgba(64,200,174,0.2);--vscode-mergeEditor-conflict-input2-background:rgba(64,166,255,0.2);--vscode-settings-headerForeground:#e7e7e7;--vscode-settings-settingsHeaderHoverForeground:hsla(0,0%,90.6%,0.7);--vscode-settings-modifiedItemIndicator:#0c7d9d;--vscode-settings-headerBorder:hsla(0,0%,50.2%,0.35);--vscode-settings-sashBorder:hsla(0,0%,50.2%,0.35);--vscode-settings-dropdownBackground:#3c3c3c;--vscode-settings-dropdownForeground:#f0f0f0;--vscode-settings-dropdownBorder:#3c3c3c;--vscode-settings-dropdownListBorder:#454545;--vscode-settings-checkboxBackground:#3c3c3c;--vscode-settings-checkboxForeground:#f0f0f0;--vscode-settings-checkboxBorder:#6b6b6b;--vscode-settings-textInputBackground:#3c3c3c;--vscode-settings-textInputForeground:#ccc;--vscode-settings-numberInputBackground:#3c3c3c;--vscode-settings-numberInputForeground:#ccc;--vscode-settings-focusedRowBackground:rgba(42,45,46,0.6);--vscode-settings-rowHoverBackground:rgba(42,45,46,0.3);--vscode-settings-focusedRowBorder:#007fd4;--vscode-terminal-foreground:#ccc;--vscode-terminal-selectionBackground:#264f78;--vscode-terminal-inactiveSelectionBackground:#3a3d41;--vscode-terminalCommandDecoration-defaultBackground:hsla(0,0%,100%,0.25);--vscode-terminalCommandDecoration-successBackground:#1b81a8;--vscode-terminalCommandDecoration-errorBackground:#f14c4c;--vscode-terminalOverviewRuler-cursorForeground:hsla(0,0%,62.7%,0.8);--vscode-terminal-border:hsla(0,0%,50.2%,0.35);--vscode-terminal-findMatchBackground:#515c6a;--vscode-terminal-hoverHighlightBackground:rgba(38,79,120,0.13);--vscode-terminal-findMatchHighlightBackground:rgba(234,92,0,0.33);--vscode-terminalOverviewRuler-findMatchForeground:rgba(209,134,22,0.49);--vscode-terminal-dropBackground:rgba(83,89,93,0.5);--vscode-testing-iconFailed:#f14c4c;--vscode-testing-iconErrored:#f14c4c;--vscode-testing-iconPassed:#73c991;--vscode-testing-runAction:#73c991;--vscode-testing-iconQueued:#cca700;--vscode-testing-iconUnset:#848484;--vscode-testing-iconSkipped:#848484;--vscode-testing-peekBorder:#f14c4c;--vscode-testing-peekHeaderBackground:rgba(241,76,76,0.1);--vscode-testing-message-error-decorationForeground:#f14c4c;--vscode-testing-message-error-lineBackground:rgba(255,0,0,0.2);--vscode-testing-message-info-decorationForeground:hsla(0,0%,83.1%,0.5);--vscode-welcomePage-tileBackground:#252526;--vscode-welcomePage-tileHoverBackground:#2c2c2d;--vscode-welcomePage-tileBorder:hsla(0,0%,100%,0.1);--vscode-welcomePage-progress-background:#3c3c3c;--vscode-welcomePage-progress-foreground:#3794ff;--vscode-walkthrough-stepTitle-foreground:#fff;--vscode-walkThrough-embeddedEditorBackground:rgba(0,0,0,0.4);--vscode-inlineChat-background:#252526;--vscode-inlineChat-border:#454545;--vscode-inlineChat-shadow:rgba(0,0,0,0.36);--vscode-inlineChat-regionHighlight:rgba(38,79,120,0.25);--vscode-inlineChatInput-border:#454545;--vscode-inlineChatInput-focusBorder:#007fd4;--vscode-inlineChatInput-placeholderForeground:#a6a6a6;--vscode-inlineChatInput-background:#3c3c3c;--vscode-inlineChatDiff-inserted:rgba(156,204,44,0.1);--vscode-inlineChatDiff-removed:rgba(255,0,0,0.1);--vscode-debugExceptionWidget-border:#a31515;--vscode-debugExceptionWidget-background:#420b0d;--vscode-ports-iconRunningProcessForeground:#369432;--vscode-statusBar-debuggingBackground:#c63;--vscode-statusBar-debuggingForeground:#fff;--vscode-commandCenter-debuggingBackground:rgba(204,102,51,0.26);--vscode-editor-inlineValuesForeground:hsla(0,0%,100%,0.5);--vscode-editor-inlineValuesBackground:rgba(255,200,0,0.2);--vscode-editorGutter-modifiedBackground:#1b81a8;--vscode-editorGutter-addedBackground:#487e02;--vscode-editorGutter-deletedBackground:#f14c4c;--vscode-minimapGutter-modifiedBackground:#1b81a8;--vscode-minimapGutter-addedBackground:#487e02;--vscode-minimapGutter-deletedBackground:#f14c4c;--vscode-editorOverviewRuler-modifiedForeground:rgba(27,129,168,0.6);--vscode-editorOverviewRuler-addedForeground:rgba(72,126,2,0.6);--vscode-editorOverviewRuler-deletedForeground:rgba(241,76,76,0.6);--vscode-debugIcon-breakpointForeground:#e51400;--vscode-debugIcon-breakpointDisabledForeground:#848484;--vscode-debugIcon-breakpointUnverifiedForeground:#848484;--vscode-debugIcon-breakpointCurrentStackframeForeground:#fc0;--vscode-debugIcon-breakpointStackframeForeground:#89d185;--vscode-notebook-cellBorderColor:#37373d;--vscode-notebook-focusedEditorBorder:#007fd4;--vscode-notebookStatusSuccessIcon-foreground:#89d185;--vscode-notebookEditorOverviewRuler-runningCellForeground:#89d185;--vscode-notebookStatusErrorIcon-foreground:#f48771;--vscode-notebookStatusRunningIcon-foreground:#ccc;--vscode-notebook-cellToolbarSeparator:hsla(0,0%,50.2%,0.35);--vscode-notebook-selectedCellBackground:#37373d;--vscode-notebook-selectedCellBorder:#37373d;--vscode-notebook-focusedCellBorder:#007fd4;--vscode-notebook-inactiveFocusedCellBorder:#37373d;--vscode-notebook-cellStatusBarItemHoverBackground:hsla(0,0%,100%,0.15);--vscode-notebook-cellInsertionIndicator:#007fd4;--vscode-notebookScrollbarSlider-background:hsla(0,0%,47.5%,0.4);--vscode-notebookScrollbarSlider-hoverBackground:hsla(0,0%,39.2%,0.7);--vscode-notebookScrollbarSlider-activeBackground:hsla(0,0%,74.9%,0.4);--vscode-notebook-symbolHighlightBackground:hsla(0,0%,100%,0.04);--vscode-notebook-cellEditorBackground:#252526;--vscode-notebook-editorBackground:#1e1e1e;--vscode-keybindingTable-headerBackground:hsla(0,0%,80%,0.04);--vscode-keybindingTable-rowsBackground:hsla(0,0%,80%,0.04);--vscode-debugTokenExpression-name:#c586c0;--vscode-debugTokenExpression-value:hsla(0,0%,80%,0.6);--vscode-debugTokenExpression-string:#ce9178;--vscode-debugTokenExpression-boolean:#4e94ce;--vscode-debugTokenExpression-number:#b5cea8;--vscode-debugTokenExpression-error:#f48771;--vscode-debugView-exceptionLabelForeground:#ccc;--vscode-debugView-exceptionLabelBackground:#6c2022;--vscode-debugView-stateLabelForeground:#ccc;--vscode-debugView-stateLabelBackground:hsla(0,0%,53.3%,0.27);--vscode-debugView-valueChangedHighlight:#569cd6;--vscode-debugConsole-infoForeground:#3794ff;--vscode-debugConsole-warningForeground:#cca700;--vscode-debugConsole-errorForeground:#f48771;--vscode-debugConsole-sourceForeground:#ccc;--vscode-debugConsoleInputIcon-foreground:#ccc;--vscode-debugIcon-pauseForeground:#75beff;--vscode-debugIcon-stopForeground:#f48771;--vscode-debugIcon-disconnectForeground:#f48771;--vscode-debugIcon-restartForeground:#89d185;--vscode-debugIcon-stepOverForeground:#75beff;--vscode-debugIcon-stepIntoForeground:#75beff;--vscode-debugIcon-stepOutForeground:#75beff;--vscode-debugIcon-continueForeground:#75beff;--vscode-debugIcon-stepBackForeground:#75beff;--vscode-scm-providerBorder:#454545;--vscode-extensionButton-background:#0e639c;--vscode-extensionButton-foreground:#fff;--vscode-extensionButton-hoverBackground:#17b;--vscode-extensionButton-separator:hsla(0,0%,100%,0.4);--vscode-extensionButton-prominentBackground:#0e639c;--vscode-extensionButton-prominentForeground:#fff;--vscode-extensionButton-prominentHoverBackground:#17b;--vscode-extensionIcon-starForeground:#ff8e00;--vscode-extensionIcon-verifiedForeground:#3794ff;--vscode-extensionIcon-preReleaseForeground:#1d9271;--vscode-extensionIcon-sponsorForeground:#d758b3;--vscode-terminal-ansiBlack:#000;--vscode-terminal-ansiRed:#cd3131;--vscode-terminal-ansiGreen:#0dbc79;--vscode-terminal-ansiYellow:#e5e510;--vscode-terminal-ansiBlue:#2472c8;--vscode-terminal-ansiMagenta:#bc3fbc;--vscode-terminal-ansiCyan:#11a8cd;--vscode-terminal-ansiWhite:#e5e5e5;--vscode-terminal-ansiBrightBlack:#666;--vscode-terminal-ansiBrightRed:#f14c4c;--vscode-terminal-ansiBrightGreen:#23d18b;--vscode-terminal-ansiBrightYellow:#f5f543;--vscode-terminal-ansiBrightBlue:#3b8eea;--vscode-terminal-ansiBrightMagenta:#d670d6;--vscode-terminal-ansiBrightCyan:#29b8db;--vscode-terminal-ansiBrightWhite:#e5e5e5;--vscode-interactive-activeCodeBorder:#3794ff;--vscode-interactive-inactiveCodeBorder:#37373d;--vscode-gitDecoration-addedResourceForeground:#81b88b;--vscode-gitDecoration-modifiedResourceForeground:#e2c08d;--vscode-gitDecoration-deletedResourceForeground:#c74e39;--vscode-gitDecoration-renamedResourceForeground:#73c991;--vscode-gitDecoration-untrackedResourceForeground:#73c991;--vscode-gitDecoration-ignoredResourceForeground:#8c8c8c;--vscode-gitDecoration-stageModifiedResourceForeground:#e2c08d;--vscode-gitDecoration-stageDeletedResourceForeground:#c74e39;--vscode-gitDecoration-conflictingResourceForeground:#e4676b;--vscode-gitDecoration-submoduleResourceForeground:#8db9e2;--vscode-gitlens-gutterBackgroundColor:hsla(0,0%,100%,0.07);--vscode-gitlens-gutterForegroundColor:#bebebe;--vscode-gitlens-gutterUncommittedForegroundColor:rgba(0,188,242,0.6);--vscode-gitlens-trailingLineBackgroundColor:transparent;--vscode-gitlens-trailingLineForegroundColor:hsla(0,0%,60%,0.35);--vscode-gitlens-lineHighlightBackgroundColor:rgba(0,188,242,0.2);--vscode-gitlens-lineHighlightOverviewRulerColor:rgba(0,188,242,0.6);--vscode-gitlens-openAutolinkedIssueIconColor:#3fb950;--vscode-gitlens-closedAutolinkedIssueIconColor:#a371f7;--vscode-gitlens-closedPullRequestIconColor:#f85149;--vscode-gitlens-openPullRequestIconColor:#3fb950;--vscode-gitlens-mergedPullRequestIconColor:#a371f7;--vscode-gitlens-unpublishedChangesIconColor:#35b15e;--vscode-gitlens-unpublishedCommitIconColor:#35b15e;--vscode-gitlens-unpulledChangesIconColor:#b15e35;--vscode-gitlens-decorations-addedForegroundColor:#81b88b;--vscode-gitlens-decorations-copiedForegroundColor:#73c991;--vscode-gitlens-decorations-deletedForegroundColor:#c74e39;--vscode-gitlens-decorations-ignoredForegroundColor:#8c8c8c;--vscode-gitlens-decorations-modifiedForegroundColor:#e2c08d;--vscode-gitlens-decorations-untrackedForegroundColor:#73c991;--vscode-gitlens-decorations-renamedForegroundColor:#73c991;--vscode-gitlens-decorations-branchAheadForegroundColor:#35b15e;--vscode-gitlens-decorations-branchBehindForegroundColor:#b15e35;--vscode-gitlens-decorations-branchDivergedForegroundColor:#d8af1b;--vscode-gitlens-decorations-branchUnpublishedForegroundColor:#35b15e;--vscode-gitlens-decorations-branchMissingUpstreamForegroundColor:#c74e39;--vscode-gitlens-decorations-workspaceRepoMissingForegroundColor:#909090;--vscode-gitlens-decorations-workspaceCurrentForegroundColor:#35b15e;--vscode-gitlens-decorations-workspaceRepoOpenForegroundColor:#35b15e;--vscode-gitlens-decorations-worktreeHasUncommittedChangesForegroundColor:#e2c08d;--vscode-gitlens-decorations-worktreeMissingForegroundColor:#c74e39;--vscode-gitlens-graphLane1Color:#15a0bf;--vscode-gitlens-graphLane2Color:#0669f7;--vscode-gitlens-graphLane3Color:#8e00c2;--vscode-gitlens-graphLane4Color:#c517b6;--vscode-gitlens-graphLane5Color:#d90171;--vscode-gitlens-graphLane6Color:#cd0101;--vscode-gitlens-graphLane7Color:#f25d2e;--vscode-gitlens-graphLane8Color:#f2ca33;--vscode-gitlens-graphLane9Color:#7bd938;--vscode-gitlens-graphLane10Color:#2ece9d;--vscode-gitlens-graphChangesColumnAddedColor:#347d39;--vscode-gitlens-graphChangesColumnDeletedColor:#c93c37;--vscode-gitlens-graphMinimapMarkerHeadColor:#05e617;--vscode-gitlens-graphScrollMarkerHeadColor:#05e617;--vscode-gitlens-graphMinimapMarkerUpstreamColor:#09ae17;--vscode-gitlens-graphScrollMarkerUpstreamColor:#09ae17;--vscode-gitlens-graphMinimapMarkerHighlightsColor:#fbff0a;--vscode-gitlens-graphScrollMarkerHighlightsColor:#fbff0a;--vscode-gitlens-graphMinimapMarkerLocalBranchesColor:#3087cf;--vscode-gitlens-graphScrollMarkerLocalBranchesColor:#3087cf;--vscode-gitlens-graphMinimapMarkerRemoteBranchesColor:#2b5e88;--vscode-gitlens-graphScrollMarkerRemoteBranchesColor:#2b5e88;--vscode-gitlens-graphMinimapMarkerStashesColor:#b34db3;--vscode-gitlens-graphScrollMarkerStashesColor:#b34db3;--vscode-gitlens-graphMinimapMarkerTagsColor:#6b562e;--vscode-gitlens-graphScrollMarkerTagsColor:#6b562e}[data-theme=light]{--background:#fff!important;--foreground:#616161!important;--dropdown-background:#fff!important;--dropdown-foreground:#616161!important;--input-background:#fff!important;--input-foreground:#616161!important;--sideBarSectionHeader-foreground:#616161!important}[data-theme=dark]{--background:#282a36!important;--foreground:#f8f8f2!important;--dropdown-background:#282a36!important;--dropdown-foreground:#f8f8f2!important;--input-background:#282a36!important;--input-foreground:#f8f8f2!important;--sideBarSectionHeader-foreground:#f8f8f2!important}:root{--container-paddding:20px;--input-padding-vertical:6px;--input-padding-horizontal:4px;--input-margin-vertical:4px;--input-margin-horizontal:0}body{font-size:var(--font-size);font-weight:var(--font-weight);font-family:var(--font-family);background-color:var(--editor-background);margin:0}#app,body{color:var(--foreground)}#app{font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:13px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin-top:0;height:100vh}input,select{background-color:var(--input-background)!important;color:var(--input-foreground)!important;border:calc(var(--border-width)*1px) solid var(--dropdown-border)!important;border-radius:calc(var(--corner-radius)*1px)!important}input:focus,input:focus-visible,select:focus,select:focus-visible{border:solid 1px var(--focus-border)!important;outline:none!important}.codicon-chevron-down:before{content:""} \ No newline at end of file diff --git a/public/index.html b/public/index.html index afb423a0..094a80ad 100644 --- a/public/index.html +++ b/public/index.html @@ -1,4 +1,4 @@ -GenieBuilder
\ No newline at end of file + } \ No newline at end of file diff --git a/public/js/app.2b84767e.js b/public/js/app.2b84767e.js deleted file mode 100644 index bd8905b8..00000000 --- a/public/js/app.2b84767e.js +++ /dev/null @@ -1,2 +0,0 @@ -(function(e){function t(t){for(var o,r,s=t[0],i=t[1],c=t[2],p=0,u=[];p(Object(o["v"])("data-v-6c90e336"),e=e(),Object(o["u"])(),e),g={style:{position:"relative"}},y={key:0},f=m(()=>Object(o["g"])("i",{class:"fa fa-chevron-right"},null,-1)),h=[f],_={key:1},v=m(()=>Object(o["g"])("i",{class:"fa fa-chevron-down"},null,-1)),O=[v];var w={__name:"PanelTitle",props:["title","expanded"],emits:["expand"],setup(e,{emit:t}){const a=e;let n=Object(o["x"])(a.expanded);function l(){t("expand",n.value)}return Object(o["I"])(a,e=>{n.value=e.expanded}),(t,a)=>(Object(o["t"])(),Object(o["f"])("div",g,[Object(o["g"])("div",{class:"title",onClick:l},Object(o["B"])(e.title),1),Object(o["g"])("div",{class:"expandBtn",onClick:l},[Object(o["C"])(n)?Object(o["e"])("",!0):(Object(o["t"])(),Object(o["f"])("span",y,h)),Object(o["C"])(n)?(Object(o["t"])(),Object(o["f"])("span",_,O)):Object(o["e"])("",!0)])]))}},j=(a("49e5"),a("6b0d")),x=a.n(j);const k=x()(w,[["__scopeId","data-v-6c90e336"]]);var C=k;const S={style:{}},B={class:"panelContent"};var D={__name:"Panel",props:["title","hideTitle"],setup(e){const t=e;let a=Object(o["x"])(!0);function n(){a.value=!a.value,l()}function l(){localStorage.setItem("panelExpandedState_"+t.title,a.value)}function r(){let e=localStorage.getItem("panelExpandedState_"+t.title);"false"==e&&(a.value=!1)}return r(),(t,l)=>(Object(o["t"])(),Object(o["f"])("div",S,[e.hideTitle?Object(o["e"])("",!0):(Object(o["t"])(),Object(o["d"])(C,{key:0,expanded:Object(o["C"])(a),title:e.title,onExpand:n},null,8,["expanded","title"])),Object(o["K"])(Object(o["g"])("div",B,[Object(o["z"])(t.$slots,"default")],512),[[o["H"],Object(o["C"])(a)]])]))}};a("dcd9");const A=x()(D,[["__scopeId","data-v-238e861a"]]);var P=A;a("936e");const I={id:"tab-headers"},N=["onClick"],T={id:"active-tab"};var M={__name:"Tabs",props:["customClass"],setup(e){let t=Object(o["x"])(null),a=Object(o["x"])(null),n=Object(o["x"])(null),l=Object(o["x"])(0);Object(o["s"])(()=>{n.value=[...t.value.querySelectorAll(".tab")];for(let e of n.value)e.classList.contains("active")&&(l=n.value.indexOf(e))});const r=e=>{l=e;for(let t of[...n.value,...a.value])t.classList.remove("active");n.value[l].classList.add("active"),a.value[l].classList.add("active")};return(s,i)=>(Object(o["t"])(),Object(o["f"])("div",{id:"tabs-container",class:Object(o["q"])(e.customClass),ref_key:"tabContainer",ref:t},[Object(o["g"])("div",I,[Object(o["g"])("ul",null,[(Object(o["t"])(!0),Object(o["f"])(o["a"],null,Object(o["y"])(Object(o["C"])(n),(e,t)=>(Object(o["t"])(),Object(o["f"])("li",{key:t,class:Object(o["q"])(Object(o["C"])(l)==t?"active":""),onClick:e=>r(t),ref_for:!0,ref_key:"tabHeaders",ref:a},Object(o["B"])(e.title),11,N))),128))])]),Object(o["g"])("div",T,[Object(o["z"])(s.$slots,"default")])],2))}};a("fed2");const q=M;var L=q,Q={__name:"Tab",props:["active"],setup(e){return(t,a)=>(Object(o["t"])(),Object(o["f"])("div",{class:Object(o["q"])(["tab","true"==e.active?"active":""]),ref:"tabs"},[Object(o["z"])(t.$slots,"default")],2))}};a("ce8f");const E=Q;var $=E,z=(a("13d5"),a("60e6"));let R=JSON.parse(JSON.stringify(z)),U={supportedIcons:["search","search","home","account_circle","settings","done","info","check_circle","delete","visibility","shopping_cart","favorite","description","logout","favorite_border","lock","schedule","language","help_outline","face","manage_accounts","verified","filter_alt","thumb_up","event","fingerprint","dashboard","list","login","visibility_off","check_circle_outline","calendar_today","highlight_off","help","paid","task_alt","question_answer","date_range","article","open_in_new","shopping_bag","lightbulb","credit_card","perm_identity","history","trending_up","account_balance","delete_outline","fact_check","report_problem","verified_user","assignment","star_rate","arrow_right_alt","account_balance_wallet","autorenew","build","view_list","work","print","store","analytics","delete_forever","today","calendar_month","admin_panel_settings","lock_open","watch_later","grade","update","savings","room","code","receipt","add_shopping_cart","contact_support","power_settings_new","done_all","pets","explore","bookmark","account_box","note_add","reorder","bookmark_border","pending_actions","shopping_basket","payment","launch","drag_indicator","supervisor_account","touch_app","pending","zoom_in","assessment","leaderboard","thumb_up_off_alt","open_in_full","preview","done_outline","exit_to_app","assignment_ind","published_with_changes","card_giftcard","view_in_ar","feedback","work_outline","timeline","swap_horiz","assignment_turned_in","dns","stars","sync_alt","label","flight_takeoff","tips_and_updates","book","contact_page","alarm","space_dashboard","bug_report","cached","gavel","translate","pan_tool","edit_calendar","supervised_user_circle","minimize","extension","accessibility","android","rocket_launch","get_app","question_mark","record_voice_over","add_task","trending_flat","help_center","hourglass_empty","accessibility_new","rule","thumb_down","sticky_note_2","settings_applications","source","dashboard_customize","find_in_page","ads_click","support","flutter_dash","close_fullscreen","redeem","announcement","loyalty","swap_vert","arrow_circle_right","view_headline","restore","dangerous","euro_symbol","group_work","sensors","compare_arrows","subject","table_view","disabled_by_default","privacy_tip","nightlight_round","https","toc","track_changes","arrow_circle_up","bookmarks","copyright","grading","currency_exchange","input","api","perm_media","query_builder","view_module","build_circle","zoom_out","perm_contact_calendar","settings_phone","backup","open_with","circle_notifications","perm_phone_msg","book_online","speaker_notes","label_important","wysiwyg","card_membership","file_present","arrow_circle_down","pageview","3d_rotation","upgrade","integration_instructions","change_history","trending_down","swipe","class","percent","accessible","g_translate","settings_accessibility","expand","offline_bolt","settings_backup_restore","production_quantity_limits","arrow_circle_left","aspect_ratio","model_training","view_column","donut_large","segment","calendar_view_month","schedule_send","alarm_on","maximize","bookmark_add","thumbs_up_down","settings_ethernet","theaters","view_agenda","thumb_down_off_alt","important_devices","unpublished","invert_colors","opacity","commute","open_in_browser","system_update_alt","no_accounts","addchart","history_toggle_off","view_week","youtube_searched_for","tour","shopping_cart_checkout","hide_source","bookmark_added","mark_as_unread","settings_input_antenna","shop","plagiarism","turned_in","search_off","not_started","flight_land","assignment_late","assignment_return","donut_small","saved_search","filter_alt_off","contactless","highlight_alt","hotel_class","settings_input_component","balance","view_carousel","view_quilt","anchor","all_inbox","turned_in_not","mediation","settings_remote","edit_off","hourglass_full","fit_screen","flaky","rocket","toll","remove_shopping_cart","lock_clock","swap_horizontal_circle","settings_voice","view_sidebar","event_seat","online_prediction","vertical_split","next_plan","pregnant_woman","data_exploration","terminal","restore_from_trash","lock_reset","camera_enhance","markunread_mailbox","dynamic_form","tab","calendar_view_week","view_stream","accessible_forward","request_page","token","remove_done","settings_power","smart_button","add_to_drive","card_travel","outbox","try","offline_pin","calendar_view_day","find_replace","density_medium","rowing","compress","chrome_reader_mode","fax","outlet","assignment_returned","http","settings_brightness","add_card","alarm_add","generating_tokens","new_label","backup_table","spellcheck","restore_page","credit_card_off","wifi_protected_setup","play_for_work","free_cancellation","settings_overscan","work_history","123","gif","outbound","disabled_visible","swap_vertical_circle","settings_input_composite","cancel_schedule_send","quickreply","view_day","event_repeat","comment_bank","assured_workload","switch_access_shortcut","display_settings","view_timeline","line_weight","pan_tool_alt","horizontal_split","noise_control_off","webhook","satellite_alt","polymer","batch_prediction","send_and_archive","picture_in_picture","manage_history","code_off","bookmark_remove","settings_bluetooth","shop_two","output","html","flip_to_front","gif_box","eject","speaker_notes_off","alarm_off","perm_data_setting","settings_input_hdmi","perm_scan_wifi","hourglass_disabled","troubleshoot","switch_access_shortcut_add","sensors_off","settings_cell","work_off","app_blocking","picture_in_picture_alt","line_style","perm_device_information","join_full","subtitles_off","update_disabled","app_shortcut","javascript","abc","swipe_left","voice_over_off","private_connectivity","lightbulb_circle","settings_input_svideo","join_inner","flip_to_back","view_array","swipe_right","install_desktop","open_in_new_off","swipe_up","all_out","shop_2","label_off","density_small","tab_unselected","rounded_corner","data_thresholding","text_rotate_vertical","arrow_outward","commit","explore_off","install_mobile","text_rotation_none","view_kanban","not_accessible","css","swipe_down","lock_person","pin_invoke","join_left","extension_off","spatial_audio_off","perm_camera_mic","pinch","swipe_vertical","noise_aware","pin_end","view_cozy","join_right","swipe_right_alt","text_rotate_up","text_rotation_angleup","text_rotation_down","text_rotation_angledown","browse_gallery","php","view_comfy_alt","view_compact_alt","network_ping","swipe_down_alt","add_home","density_large","on_device_training","swipe_left_alt","spatial_tracking","swipe_up_alt","unfold_more_double","spatial_audio","width_full","unfold_less_double","repartition","width_normal","transcribe","width_wide","hls","hls_off","face_unlock","close","close","menu","expand_more","arrow_back","chevron_right","arrow_forward_ios","arrow_back_ios","cancel","arrow_drop_down","more_vert","arrow_forward","chevron_left","expand_less","check","more_horiz","refresh","apps","payments","arrow_upward","east","campaign","arrow_back_ios_new","arrow_downward","arrow_right","menu_open","fullscreen","arrow_drop_up","unfold_more","double_arrow","maps_home_work","west","expand_circle_down","south","arrow_left","north_east","north","home_work","first_page","fullscreen_exit","arrow_drop_down_circle","last_page","unfold_less","subdirectory_arrow_right","legend_toggle","south_east","app_settings_alt","assistant_direction","subdirectory_arrow_left","north_west","waterfall_chart","switch_left","south_west","pivot_table_chart","switch_right","apps_outage","offline_share","add_home_work","person","person","notifications","groups","people","share","school","person_outline","person_add","public","emoji_events","group","engineering","notifications_active","construction","people_alt","group_add","psychology","health_and_safety","thumb_up_alt","travel_explore","water_drop","notifications_none","emoji_emotions","sports_esports","sentiment_very_satisfied","location_city","ios_share","precision_manufacturing","sentiment_satisfied","workspace_premium","person_add_alt","military_tech","science","emoji_objects","history_edu","cake","sentiment_dissatisfied","sentiment_very_dissatisfied","handshake","emoji_people","coronavirus","self_improvement","person_remove","poll","whatshot","sports_soccer","domain","mood","recommend","people_outline","female","recycling","person_off","male","person_add_alt_1","connect_without_contact","sentiment_neutral","back_hand","hiking","waving_hand","architecture","masks","notifications_off","thumb_down_alt","luggage","real_estate_agent","front_hand","vaccines","mood_bad","emoji_nature","switch_account","nights_stay","king_bed","catching_pokemon","interests","compost","sports_basketball","notification_add","diversity_3","sports_kabaddi","sports","emoji_symbols","reduce_capacity","emoji_food_beverage","cruelty_free","man","sick","emoji_transportation","sports_tennis","cookie","heart_broken","transgender","elderly","add_moderator","outdoor_grill","deck","woman","add_reaction","social_distance","personal_injury","follow_the_signs","plus_one","fireplace","wallet","scale","clean_hands","piano","pix","surfing","sanitizer","sports_motorsports","diversity_1","sports_handball","sports_baseball","edit_notifications","hive","sports_volleyball","pages","groups_2","sports_football","downhill_skiing","kayaking","psychology_alt","public_off","single_bed","remove_moderator","group_remove","skateboarding","co2","notifications_paused","boy","person_remove_alt_1","safety_divider","diversity_2","domain_add","fitbit","sports_cricket","group_off","sports_mma","nordic_walking","sports_martial_arts","sports_golf","girl","thunderstorm","paragliding","6_ft_apart","party_mode","snowboarding","kitesurfing","sports_gymnastics","groups_3","face_6","snowshoeing","sports_hockey","ice_skating","south_america","sports_rugby","face_3","elderly_woman","sledding","scoreboard","person_2","face_2","face_4","sign_language","no_luggage","cyclone","person_4","face_5","person_3","piano_off","flood","scuba_diving","severe_cold","tsunami","roller_skating","tornado","landslide","assist_walker","woman_2","man_2","volcano","18_up_rating","blind","no_adult_content","man_4","man_3","add","add","add_circle_outline","content_copy","add_circle","send","clear","save","mail","link","remove","filter_list","inventory_2","inventory","insights","remove_circle_outline","sort","bolt","flag","reply","add_box","remove_circle","push_pin","block","calculate","create","undo","how_to_reg","content_paste","report","file_copy","backspace","shield","archive","save_alt","policy","tag","change_circle","redo","forward","content_cut","outlined_flag","inbox","link_off","ballot","drafts","biotech","report_gmailerrorred","delete_sweep","stacked_bar_chart","markunread","square_foot","add_link","stream","where_to_vote","dynamic_feed","copy_all","move_to_inbox","waves","unarchive","content_paste_search","reply_all","select_all","low_priority","text_format","save_as","font_download","weekend","how_to_vote","upcoming","gesture","attribution","flag_circle","content_paste_go","filter_list_off","next_week","content_paste_off","report_off","web_stories","deselect","font_download_off","edit","edit","navigate_next","photo_camera","image","tune","picture_as_pdf","receipt_long","circle","timer","auto_stories","collections","auto_awesome","navigate_before","add_a_photo","palette","remove_red_eye","music_note","add_photo_alternate","wb_sunny","brush","euro","flash_on","looks_one","auto_fix_high","control_point","style","adjust","straighten","photo_library","camera","portrait","camera_alt","audiotrack","video_camera_front","rotate_right","color_lens","grid_on","crop_free","timelapse","landscape","slideshow","currency_rupee","collections_bookmark","crop_square","lens","panorama_fish_eye","looks_two","filter_vintage","compare","looks_3","filter_drama","image_search","healing","auto_awesome_motion","rotate_left","center_focus_strong","crop","blur_on","wb_incandescent","flare","face_retouching_natural","wb_cloudy","assistant","broken_image","cases","colorize","filter_none","brightness_4","filter_center_focus","crop_original","auto_fix_normal","dehaze","nature_people","photo","flash_off","auto_awesome_mosaic","tag_faces","brightness_6","brightness_5","details","grain","flip_camera_android","brightness_1","flip","loupe","image_not_supported","flip_camera_ios","view_comfy","filter_1","movie_creation","add_to_photos","panorama","bedtime","animation","center_focus_weak","looks_4","movie_filter","crop_din","filter","control_point_duplicate","brightness_7","leak_add","currency_bitcoin","nature","incomplete_circle","texture","view_compact","timer_off","photo_size_select_actual","video_camera_back","transform","currency_yen","motion_photos_on","photo_camera_front","rotate_90_degrees_ccw","looks_5","mic_external_on","gradient","assistant_photo","wb_twilight","currency_pound","contrast","hide_image","music_off","exposure_plus_1","crop_16_9","thermostat_auto","filter_2","shutter_speed","exposure","photo_album","filter_tilt_shift","hdr_strong","looks","vrpano","linked_camera","brightness_3","looks_6","blur_circular","flash_auto","motion_photos_auto","crop_portrait","photo_filter","iso","brightness_2","tonality","photo_size_select_small","filter_hdr","crop_7_5","rotate_90_degrees_cw","crop_rotate","photo_size_select_large","filter_3","exposure_zero","hdr_weak","currency_ruble","camera_front","crop_5_4","filter_frames","burst_mode","camera_roll","logo_dev","filter_b_and_w","blur_linear","crop_3_2","crop_landscape","switch_camera","switch_video","filter_7","exposure_plus_2","filter_4","filter_9_plus","grid_off","wb_iridescent","motion_photos_paused","monochrome_photos","photo_camera_back","filter_5","auto_fix_off","face_retouching_off","exposure_neg_1","panorama_photosphere","filter_8","leak_remove","filter_9","video_stable","timer_10","filter_6","wb_shade","blur_off","motion_photos_off","raw_on","motion_photos_pause","hdr_on","vignette","panorama_horizontal","30fps_select","image_aspect_ratio","dirty_lens","deblur","camera_rear","60fps_select","timer_3","panorama_wide_angle_select","24mp","exposure_neg_2","currency_yuan","currency_lira","autofps_select","panorama_horizontal_select","panorama_photosphere_select","hdr_plus","wb_auto","panorama_wide_angle","panorama_vertical_select","mic_external_off","12mp","panorama_vertical","mp","hdr_enhanced_select","currency_franc","hevc","18mp","10mp","raw_off","23mp","bedtime_off","hdr_off","11mp","20mp","3mp","5mp","13mp","15mp","16mp","21mp","2mp","17mp","14mp","22mp","19mp","9mp","4mp","7mp","8mp","6mp","email","email","location_on","call","phone","business","chat","mail_outline","list_alt","qr_code_scanner","vpn_key","chat_bubble_outline","alternate_email","forum","chat_bubble","textsms","contact_mail","person_search","sentiment_satisfied_alt","qr_code","qr_code_2","message","contacts","comment","key","import_contacts","app_registration","contact_phone","import_export","live_help","forward_to_inbox","hourglass_bottom","hourglass_top","rss_feed","mark_email_read","hub","read_more","document_scanner","more_time","mark_email_unread","call_end","clear_all","dialpad","phone_enabled","mark_chat_unread","cancel_presentation","3p","call_made","screen_share","call_split","unsubscribe","present_to_all","domain_verification","mark_chat_read","add_ic_call","co_present","phonelink_ring","stay_current_portrait","call_received","phonelink_lock","phone_disabled","ring_volume","location_off","phonelink_setup","duo","cell_tower","stay_primary_portrait","swap_calls","voicemail","call_merge","mobile_screen_share","phonelink_erase","person_add_disabled","domain_disabled","call_missed_outgoing","speaker_phone","spoke","cell_wifi","desktop_access_disabled","stop_screen_share","print_disabled","call_missed","mark_unread_chat_alt","pause_presentation","dialer_sip","invert_colors_off","comments_disabled","contact_emergency","wifi_calling","rtt","portable_wifi_off","send_time_extension","mail_lock","stay_current_landscape","sip","nat","stay_primary_landscape","no_sim","key_off","vpn_key_off","local_shipping","local_shipping","place","menu_book","local_offer","badge","map","category","restaurant","directions_car","local_fire_department","volunteer_activism","my_location","flight","local_mall","near_me","handyman","directions_run","restaurant_menu","layers","medical_services","directions_walk","lunch_dining","local_hospital","celebration","local_library","pin_drop","park","local_atm","local_activity","person_pin","design_services","local_cafe","rate_review","delivery_dining","directions_bus","local_police","directions_bike","fastfood","directions_car_filled","home_repair_service","zoom_out_map","hotel","cleaning_services","local_phone","local_grocery_store","miscellaneous_services","navigation","local_gas_station","train","person_pin_circle","local_parking","local_florist","diamond","local_post_office","money","directions","two_wheeler","factory","add_business","traffic","electrical_services","local_bar","route","directions_boat","alt_route","agriculture","pedal_bike","beenhere","360","warehouse","liquor","emergency","moving","local_airport","sailing","add_location_alt","local_dining","maps_ugc","local_taxi","ramen_dining","trip_origin","hail","local_drink","local_laundry_service","directions_bus_filled","local_printshop","theater_comedy","local_pizza","not_listed_location","add_location","transfer_within_a_station","dinner_dining","bakery_dining","forest","wine_bar","terrain","multiple_stop","takeout_dining","store_mall_directory","icecream","museum","nightlife","local_pharmacy","hardware","add_road","departure_board","set_meal","ev_station","local_see","electric_car","festival","plumbing","layers_clear","car_rental","attractions","edit_location","local_convenience_store","zoom_in_map","pest_control","medical_information","dry_cleaning","run_circle","edit_road","edit_attributes","edit_location_alt","church","moped","wrong_location","car_repair","local_movies","satellite","directions_boat_filled","tram","soup_kitchen","taxi_alert","breakfast_dining","signpost","atm","subway","transit_enterexit","straight","merge","brunch_dining","hvac","electric_bike","directions_transit","crisis_alert","electric_scooter","connecting_airports","bus_alert","egg","local_car_wash","local_hotel","mode_of_travel","stadium","castle","streetview","safety_check","directions_subway","car_crash","mosque","compass_calibration","electric_rickshaw","turn_right","airline_stops","directions_railway","no_meals","fork_right","railway_alert","electric_moped","local_play","bike_scooter","no_crash","turn_left","airlines","pest_control_rodent","near_me_disabled","snowmobile","u_turn_left","directions_transit_filled","egg_alt","no_transfer","file_download","play_arrow","star","warning","support_agent","attach_money","keyboard_arrow_down","light_mode","storefront","manage_search","sensor_door"].sort(),supportedColors:["primary","secondary","accent","dark","positive","negative","info","warning"]};function H(){console.log("blockDefinitionsSource 1",R),R=R.filter(e=>e.enabled),R.forEach(e=>{let t=e.properties.findIndex(e=>"v-model"==e.name);t>-1&&e.properties.splice(t,1);let a=e.properties.findIndex(e=>"model-value"==e.name);a>-1&&(e.properties[a].name="v-model",e.properties[a].label="Data Binding"),(e.content.indexOf("v-on:click")>-1||e.content.indexOf("v-model")>-1)&&(e.content=e.content.replace('v-on:click="-"','v-on:click=""'),e.content=e.content.replace('v-model="-"','v-model=""'));let o=e.properties;o.forEach(e=>{for(let t in e){let a=e[t];if("string"==typeof a&&0==a.indexOf("${")){let o=a.slice(2,-1),n=U[o];e[t]=n}Array.isArray(a)&&(e[t]=a[0])}})}),console.log("blockDefinitionsSource 2",R)}H();let F=R;F.push({type:"tempplaceholder",label:"Temp PlaceHolder",tagName:"TEMPPLACEHOLDER",content:"TEMP Place holder",properties:[],droppable:!1,editable:!1,draggable:!0}),F.push({type:"plotly",label:"Chart",tagName:"PLOTLY",content:'',renderContent:'',droppable:!1,editable:!1,draggable:!0,properties:[{label:"Data",name:"data",type:"PlotlyBase.GenericTrace"},{label:"Layout",name:"layout",type:"PlotlyBase.Layout"},{label:"Config",name:"config",type:"Object"}]});var V=F,J=a("2ef0"),Y=a.n(J);a("8c55");const W={style:{position:"relative"}},G={style:{"max-height":"300px","overflow-y":"auto"}},K=["title","onMousedown","datatype","bindingname"],X=["datatype","bindingname","onMouseover","src"],Z={class:"sortButtons"};var ee={__name:"BindingsPanel",props:["appData"],emits:["bindingOvered"],setup(e,{expose:t,emit:a}){const n=e;let l,r,s=Object(o["x"])("type");function i(e){l=e.dragStart,r=e.dragStop}Object(o["s"])(()=>{});const c=Object(o["b"])(()=>{let e=[];return d.value.forEach(t=>{e.push({id:"tempplaceholder",type:"tempplaceholder",label:"Temp PlaceHolder",tagName:"TEMPPLACEHOLDER",content:`TEMP Place holder`,properties:[],droppable:!1,editable:!1,draggable:!0,binding:t})}),e}),d=Object(o["b"])(()=>{let e;return n.appData.pages[0].model.fields&&("az"==s.value?e=b["a"].sortBy(n.appData.pages[0].model.fields,e=>e.name.toLowerCase()):"type"==s.value&&(e=b["a"].sortBy(n.appData.pages[0].model.fields,e=>e.type.toLowerCase()+"_"+e.name.toLowerCase()))),e}),p=function(e,t){let o=t.target;a("bindingOvered",{element:o,binding:e})},u=function(){a("bindingOvered",{element:null,binding:null})};return t({setHandleBlocks:i}),(e,t)=>(Object(o["t"])(),Object(o["f"])("div",W,[Object(o["g"])("div",G,[(Object(o["t"])(!0),Object(o["f"])(o["a"],null,Object(o["y"])(c.value,e=>(Object(o["t"])(),Object(o["f"])("div",{title:e.type,isbinding:"true",onMousedown:t=>Object(o["C"])(l)(e),datatype:e.binding.type,bindingname:e.binding.name,class:"bindingItem",key:e.binding.name},[Object(o["g"])("img",{datatype:e.binding.type,bindingname:e.binding.name,onMouseover:t=>p(e.binding,t),onMouseout:u,src:"img/icons/type_"+e.binding.type+".png",class:"typeIcon"},null,40,X),Object(o["h"])(" "+Object(o["B"])(e.binding.name),1)],40,K))),128))]),Object(o["g"])("div",Z,[Object(o["g"])("div",{class:Object(o["q"])({sortButton:!0,sortButtonActive:"az"==Object(o["C"])(s)}),onClick:t[0]||(t[0]=e=>Object(o["o"])(s)?s.value="az":s="az")},"AZ",2),Object(o["g"])("div",{class:Object(o["q"])({sortButton:!0,sortButtonActive:"type"==Object(o["C"])(s)}),onClick:t[1]||(t[1]=e=>Object(o["o"])(s)?s.value="type":s="type")},"Ty",2)])]))}};a("8760");const te=x()(ee,[["__scopeId","data-v-52e79ce3"]]);var ae=te;a("0b06");var oe=a("a826"),ne=a.n(oe);a("98c5");const le=e=>(Object(o["v"])("data-v-a6e02b56"),e=e(),Object(o["u"])(),e),re={class:"componentAddDialogContainer"},se={class:"componentAddDialog"},ie=le(()=>Object(o["g"])("p",{style:{"margin-bottom":"6px","font-size":"12px","font-weight":"400",opacity:"0.7"}},"Add component for binding",-1)),ce={style:{"padding-bottom":"10px","border-bottom":"1px solid #cccccc50"}},de=["src"],pe=le(()=>Object(o["g"])("div",{style:{"font-size":"14px",padding:"20px 0px 15px"}},"Suggested Components:",-1)),ue={class:"compGroupsContainer"},be=["onClick"],me={class:"compName"},ge={style:{"text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap","pointer-events":"none"}},ye={style:{"justify-content":"center",display:"flex","margin-bottom":"3px",filter:"brightness(1.5) saturate(1)","pointer-events":"none"}},fe=["src"];var he={__name:"ComponentAddDialog",props:["appData","componentPlaceHolderData"],emits:["closeDialog"],setup(e,{emit:t}){const a=e,n=function(e){const t="img/block_icons/"+e.type.split("q-").join("")+".png";return t};function l(e,t){let o=(new DOMParser).parseFromString(e.content,"text/html").body.childNodes[0],n=t;o.setAttribute("gb_b__"+n,a.componentPlaceHolderData.bindingname);let l=o.outerHTML;editor.getSelected().replaceWith(l),r(!1)}function r(e){t("closeDialog",e)}return(e,t)=>(Object(o["t"])(),Object(o["f"])("div",re,[Object(o["g"])("div",se,[Object(o["g"])("div",{class:"closeButton",onClick:t[0]||(t[0]=e=>r(!0))},"X"),ie,Object(o["g"])("div",ce,[Object(o["g"])("img",{src:"img/icons/type_"+a.componentPlaceHolderData.datatype+".png",style:{height:"17px","vertical-align":"middle",display:"inline-block"}},null,8,de),Object(o["h"])(" "+Object(o["B"])(a.componentPlaceHolderData.bindingname),1)]),pe,Object(o["g"])("div",ue,[(Object(o["t"])(!0),Object(o["f"])(o["a"],null,Object(o["y"])(a.componentPlaceHolderData.components,e=>(Object(o["t"])(),Object(o["f"])("div",{class:"compGroup",key:e.type,onClick:t=>l(e,e.matchingProperties[0])},[Object(o["g"])("div",me,[Object(o["g"])("div",ge,Object(o["B"])(e.label),1),Object(o["g"])("div",ye,[Object(o["g"])("img",{src:n(e),class:"typeIcon",style:{"max-height":"20px","margin-top":"6px","pointer-events":"none"}},null,8,fe)])])],8,be))),128))])])]))}};a("30c5");const _e=x()(he,[["__scopeId","data-v-a6e02b56"]]);var ve=_e,Oe=a("d6e4");let we={};V.forEach(e=>{we[e.tagName]=e});class je{constructor(){throw new Error("HtmlTemplateParser is a static class and cannot be instantiated")}static encodeAttributesInDOM(e){if(!(e instanceof Node))throw new Error("Element is not a Node");je.replaceElementAttributes(e);for(let t=0;t{if(r.indexOf(a)>-1)return;let s=a.startsWith(":"),i=s?a.slice(1):a,d=s||l.some(e=>0===a.indexOf(e)),p=e.getAttribute(a),u=c.find(e=>e.name===i),b=null!=t[p];u&&(d?b?e.setAttribute(n+i,p):e.setAttribute(o+i,p):""==p?e.setAttribute(o+i,"true"):e.setAttribute(o+i,p),e.removeAttribute(a))})}static revertElementAttributes(e){let t="gb_",a=t+"c__",o=t+"b__",n=e.nodeName,l=we[n];if(!l)return;let r=l.properties,s=e.getAttributeNames();s.forEach(t=>{let l=e.getAttribute(t);if(t.startsWith(a)){let o=t.replace(a,""),s=r.find(e=>e.name===o);if(!s)throw new Error("Attribute definition not found for: "+o);let i=s.type;"PLOTLY"==n&&["data","layout","config"].includes(o)||"String"!=i&&(o=":"+o),e.setAttribute(o,l),e.removeAttribute(t)}else if(t.startsWith(o)){let a=t.replace(o,""),n="v-model"===a?"":":";e.setAttribute(n+a,l),e.removeAttribute(t)}})}static decodeAttributesInDOM(e){let t=e.querySelectorAll("*");t.forEach(e=>{je.revertElementAttributes(e)})}static guessDataType(e){return"number"===typeof e||/^-?\d*\.?\d+$/.test(e)?"Number":"true"===e||"false"===e||"boolean"===typeof e?"Boolean":Array.isArray(e)||/^\[.*\]$/.test(e)?"Array":"String"}}var xe=a("ade3");class ke{constructor(){throw new Error("Configuration is a static class and cannot be instantiated")}static get channel(){return ke._channel}static set channel(e){ke._channel=e}}Object(xe["a"])(ke,"_channel",null);const Ce=e=>(Object(o["v"])("data-v-1f5cebf0"),e=e(),Object(o["u"])(),e),Se={style:{height:"100%"}},Be=Ce(()=>Object(o["g"])("div",{id:"gjs",style:{height:"300px"}},null,-1)),De={id:"customLibrary",style:{display:"none"}},Ae={class:"blocks"},Pe=["onMousedown"],Ie={class:"block-label"};var Ne={__name:"CanvasPanel",props:["appData"],emits:["componentSelected","bindingDroppedOnComponent"],setup(e,{expose:t,emit:a}){const n=e;window.HtmlTemplateParser=je;let l=Object(o["x"])(n.appData.pages[0].model.fields),r={};l.value.forEach(e=>{r[e.name]=e});let s=V.map(e=>{console.log("blockDefinitions item.content: ",e.content);let t={type:e.type,label:e.label,tagName:e.tagName,id:e.type,category:e.category,content:e.content,droppable:e.droppable,draggable:e.draggable,editable:e.editable,activate:!0};return t});window.selectedComponent=null;let i=Object(o["x"])(null),c=Object(o["x"])(null),d=Object(o["x"])({});function p(e){e&&(editor.getSelected().remove(),window.selectedComponent=null,editor.select(null)),i.value=null}function b(e){if(editor.select(e),"tempplaceholder"==e.attributes.tagName){var t;let o=e.view.$el[0].parentNode,n=null===(t=o.grapesModel)||void 0===t?void 0:t.attributes.type;"plotly"==n&&e.attributes.attributes.bindingname&&e.attributes.attributes.datatype?(editor.select(o.grapesModel),a("bindingDroppedOnComponent",{targetModel:o.grapesModel,bindingInfo:e.attributes.attributes})):m(e.attributes.attributes.bindingname,e.attributes.attributes.datatype)}}function m(e,t){let a=V,o=[];a.forEach(e=>{let a=e.type,n=e.properties,l=n.filter(e=>{let a=e.type==t,o="v-model"==e.name;return a&&o}).map(e=>e.name);l.length>0&&(l.includes("v-model")||l.includes("data")||l.includes("layout"))&&o.push({type:a,label:e.label,content:e.content,matchingProperties:l})}),i.value={components:o,bindingname:e,datatype:t}}function g(e){let t=V,a=t.find(t=>t.type.toLowerCase()==e.toLowerCase());return a}window.sharedData={externalData:null,setExternalData:function(e){this.externalData=e;const t=new CustomEvent("sharedDataChanged",{detail:e});for(let a in window.canvasComponents){let e=window.canvasComponents[a];null!=e&&e.onExternalDataChanged(t)}}},window.sharedData.externalData={plotlyData:[{name:"Trace 1",type:"scatter",x:[1,2,3,4,5],y:[1,2,3,4,5]},{name:"Trace 2",type:"scatter",x:[1,2,3,4,5],y:[5,4,3,2,1]}],dataTable1:{columns:["name","age","height","city"],data:{name:["John","Mary","Sue","Harry"],age:[23,45,32,19],height:[1.73,1.65,1.82,1.77],children:[2,3,0,1],city:["London","Paris","Rome","Berlin"]}},dataFrame1:{name:["John","Mary","Sue","Harry"],age:[19,23,32,45],height:[1.73,1.65,1.82,1.77],children:[2,3,0,1],city:["London","Paris","Rome","Berlin"]},dataFrame2:{hour:[0,3,6,9,12,15,18,21],temperature:[12,11,12,14,17,21,22,18],humidity:[80,85,82,75,70,65,60,55],luminosity:[10,12,9,16,19,21,19,16]},columnA:[1,2,3,4,5],columnB:[11,12,13,14,15],columnC:[14,13,12,11,10],columnD:[21,24,23,22,21],columnE:[8,12,9,16,19]},window.sharedData.getComponentDefinitionByType=g,window.sharedData.modelFieldsByName=r;let y,f,h=ke.channel,_="127.0.0.1",v="9101",O="ws",w=`${O}://${_}:${v}`;function j(e,t){d.value[e]=t,window.sharedData.setExternalData(d.value)}function x(e,t={}){let a=JSON.stringify({channel:h,message:e,payload:t});y.send(a)}function k(){return y=new WebSocket(w),y.addEventListener("open",e=>{x("subscribe")}),y.addEventListener("message",e=>{if("Subscription: OK"!=e.data){if(0==e.data.indexOf("{")){let t=JSON.parse(e.data);null!=t.key&&j(t.key,t.value)}}else x("watchers",{payload:{field:"isready",newval:!0,oldval:!1}})}),y.addEventListener("close",e=>{console.log("newSocketConnection::close",e)}),y.addEventListener("error",e=>{console.log("newSocketConnection::error",e)}),y}function C(){let e=n.appData.pages[0].deps.scripts,t="http://127.0.0.1:"+n.appData.port,o=["/genie.jl/master/assets/js/channels.js","/stipple.jl/master/assets/js/stipplecore.js","/stipple.jl/master/assets/js/vue_filters.js","/stipple.jl/master/assets/js/watchers.js","/stipple.jl/master/assets/js/keepalive.js","/stippleplotly.jl/master/assets/js/syncplot.js","/genieautoreload.jl/master/assets/js/autoreload.js","/stipple.jl/master/assets/js/main_app_varmain_app_reactivemodel.js"],l=[];e.forEach(e=>{if(o.includes(e))return;let a=t+e;l.push(a)}),l.push("data/contentMain.js");let i=[];i.push("https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900|Material+Icons"),i.push(t+"/stipple.jl/master/assets/css/stipplecore.css"),i.push(t+"/stippleui.jl/master/assets/css/quasar.min.css"),i.push("data/grapesCanvas.css");const d=window.editor=ne.a.init({container:"#gjs",fromElement:!0,storageManager:!1,canvas:{scripts:l,styles:i},blockManager:{custom:!0,blocks:s},styleManager:{appendTo:"#myStyleEditorContainer",sectors:[{name:"General",properties:[{extend:"float",type:"radio",default:"none",options:[{value:"none",className:"fa fa-times"},{value:"left",className:"fa fa-align-left"},{value:"right",className:"fa fa-align-right"}]},"display",{extend:"position",type:"select"},"top","right","left","bottom"]},{name:"Dimension",open:!1,properties:["width",{id:"flex-width",type:"integer",name:"Width",units:["px","%"],property:"flex-basis",toRequire:1},"height","max-width","min-height","margin","padding"]},{name:"Typography",open:!1,properties:["font-family","font-size","font-weight","letter-spacing","color","line-height",{extend:"text-align",options:[{id:"left",label:"Left",className:"fa fa-align-left"},{id:"center",label:"Center",className:"fa fa-align-center"},{id:"right",label:"Right",className:"fa fa-align-right"},{id:"justify",label:"Justify",className:"fa fa-align-justify"}]},{property:"text-decoration",type:"radio",default:"none",options:[{id:"none",label:"None",className:"fa fa-times"},{id:"underline",label:"underline",className:"fa fa-underline"},{id:"line-through",label:"Line-through",className:"fa fa-strikethrough"}]},"text-shadow"]},{name:"Decorations",open:!1,properties:["opacity","border-radius","border","box-shadow","background"]},{name:"Extra",open:!1,buildProps:["transition","perspective","transform"]},{name:"Flex",open:!1,properties:[{name:"Flex Container",property:"display",type:"select",defaults:"block",list:[{value:"block",name:"Disable"},{value:"flex",name:"Enable"}]},{name:"Flex Parent",property:"label-parent-flex",type:"integer"},{name:"Direction",property:"flex-direction",type:"radio",defaults:"row",list:[{value:"row",name:"Row",className:"icons-flex icon-dir-row",title:"Row"},{value:"row-reverse",name:"Row reverse",className:"icons-flex icon-dir-row-rev",title:"Row reverse"},{value:"column",name:"Column",title:"Column",className:"icons-flex icon-dir-col"},{value:"column-reverse",name:"Column reverse",title:"Column reverse",className:"icons-flex icon-dir-col-rev"}]},{name:"Justify",property:"justify-content",type:"radio",defaults:"flex-start",list:[{value:"flex-start",className:"icons-flex icon-just-start",title:"Start"},{value:"flex-end",title:"End",className:"icons-flex icon-just-end"},{value:"space-between",title:"Space between",className:"icons-flex icon-just-sp-bet"},{value:"space-around",title:"Space around",className:"icons-flex icon-just-sp-ar"},{value:"center",title:"Center",className:"icons-flex icon-just-sp-cent"}]},{name:"Align",property:"align-items",type:"radio",defaults:"center",list:[{value:"flex-start",title:"Start",className:"icons-flex icon-al-start"},{value:"flex-end",title:"End",className:"icons-flex icon-al-end"},{value:"stretch",title:"Stretch",className:"icons-flex icon-al-str"},{value:"center",title:"Center",className:"icons-flex icon-al-center"}]},{name:"Flex Children",property:"label-parent-flex",type:"integer"},{name:"Order",property:"order",type:"integer",defaults:0,min:0},{name:"Flex",property:"flex",type:"composite",properties:[{name:"Grow",property:"flex-grow",type:"integer",defaults:0,min:0},{name:"Shrink",property:"flex-shrink",type:"integer",defaults:0,min:0},{name:"Basis",property:"flex-basis",type:"integer",units:["px","%",""],unit:"",defaults:"auto"}]},{name:"Align",property:"align-self",type:"radio",defaults:"auto",list:[{value:"auto",name:"Auto"},{value:"flex-start",title:"Start",className:"icons-flex icon-al-start"},{value:"flex-end",title:"End",className:"icons-flex icon-al-end"},{value:"stretch",title:"Stretch",className:"icons-flex icon-al-str"},{value:"center",title:"Center",className:"icons-flex icon-al-center"}]}]}]}}),{Panels:p}=d;p.getButton("views","open-blocks").set("active",!1),d.runCommand("sw-visibility"),d.on("component:selected",e=>{a("componentSelected",e)}),d.on("component:add",b),d.on("canvas:dragdata",(e,t,a)=>{if(e){let a=e.getData("text");a=JSON.parse(a),"binding"==a.objectType&&(t.content=`{{ ${a.bindingname} }}`)}else t.content=t.content.content}),Object(Oe["registerPlotlyComponent"])(d),V.forEach(e=>{const t=["plotly","tempplaceholder"];t.includes(e.type)||d.DomComponents.addType(e.type,{isComponent:t=>{if(t.tagName==e.tagName)return{type:e.type,name:e.label}},model:{defaults:{draggable:e.draggable,droppable:e.droppable,editable:e.editable,script:function(){var e=window.parent.sharedData.externalData;let t=this.attributes.id.nodeValue;function a(e){let t={},a=Object.getOwnPropertyNames(e);return a.forEach(a=>{let o=(e[a],e[a]);t[a]=o}),t}window.parent.addCanvasComponent(t,this),this.onExternalDataChanged=t=>{e=t.detail,s=a(this.attributes),this.vueApp.updateServerData(e)};let o=this.grapesModel.attributes.tagName,n=(this.grapesModel.attributes.attributes,window.parent.sharedData.getComponentDefinitionByType),l=window.parent.sharedData.modelFieldsByName,r=n(o),s=a(this.grapesModel.attributes.attributes);this.vueApp=new Vue({el:"#vueinternal_"+t,data:function(){return{message:"TESTING_ID",attributes:s,serverData:e}},computed:{parsedAttributes(){let e={},t=this.attributes;console.log("parsedAttributes",t);for(let a in t){let o=":"==a[0]?a.substring(1):a,n=r.properties.find(e=>e.name==o),s=t[a],i=null!=l[s];"v-model"!=o?n?i?e[":"+o]=this.serverData[s]:"String"==n.type?e[""+o]=s:e[":"+o]=s:e[""+o]=s:e["v-model"]=this.serverData[s]}return e}},methods:{updateServerData(e){this.serverData=e,console.log("CanvasPanel :: (canvas component instance context) :: updateServerData() ",e)},updateAttributes(e){console.log("CanvasPanel :: (canvas component instance context) :: updateAttributes :: attrs: ",e),this.attributes=a(e),console.log("CanvasPanel :: (canvas component instance context) :: updateAttributes :: attributes: ",this.attributes),s=this.attributes,this.updateServerData(this.serverData),this.$forceUpdate()}},mounted(){}})}},init(){this.listenTo(this,"change:attributes",this.onAttributeChange)},handleAttrChange(){},render:function(){this.view.onRender()},removed(){window.parent.postMessage({command:"removeCanvasComponent",uid:this.ccid},"*")}},view:{onAttributeChange(){},onRender(){const{el:e,model:t}=this;let a=e.attributes.id.nodeValue;e.grapesModel=t;let o=e.grapesModel.attributes.tagName,n=e.grapesModel.attributes.attributes,l=g(o),s=`
\n <${o} `;for(let i in n){let e=i;console.log("keyRaw: ",i),0!=e.indexOf("gb_c__")&&0!=e.indexOf("gb_b__")||(e=e.substring(6));let t=l.properties.find(t=>t.name==e),a=n[i],o=null!=r[a];"v-model"!=e?t?o?s+=`:${e}="serverData.${a}" `:"String"==t.type||0==e.indexOf("v-on")?s+=`${e}="${a}" `:s+=`:${e}="${a}" `:s+=`${e}="${a}" `:s+=""==a?'v-model="serverData.none" ':`v-model="serverData.${a}" `}s+=`>\n
\n `,e.innerHTML=s}}})});let m=n.appData.pages[0].assets,y=m.find(e=>e.indexOf("autogenerated.css")>-1);if(y){let e=window.apibase+"apps/"+window.appid+"/edit?path="+encodeURIComponent(y);u["a"].get(e).then(e=>{d.setComponents(c.value),d.setStyle(e.data.content)}).catch(e=>{console.log("error loading autogenerated styles",e)})}else d.setComponents(c.value)}function S(e){d.value=e}function B(e){u["a"].get(e).then(e=>{D(e.data.content)}).catch(e=>{console.log("error loading template file",e)})}function D(e){let t=`\n
\n
\n
\n
\n ${e}\n
\n
\n
\n
`;const a=new DOMParser,o=a.parseFromString(t,"text/html"),n=o.body;je.encodeAttributesInDOM(n);const l=n.innerHTML;c.value=l,C()}return k(),Object(o["s"])(()=>{}),t({updateReactiveModel:S,loadTemplate:B,updateTemplateFile:D}),(e,t)=>(Object(o["t"])(),Object(o["f"])("div",Se,[Be,Object(o["C"])(i)?(Object(o["t"])(),Object(o["d"])(ve,{key:0,onCloseDialog:p,componentPlaceHolderData:Object(o["C"])(i)},null,8,["componentPlaceHolderData"])):Object(o["e"])("",!0),Object(o["g"])("div",De,[Object(o["h"])(" Custom Blocks "),Object(o["g"])("div",Ae,[(Object(o["t"])(!0),Object(o["f"])(o["a"],null,Object(o["y"])(Object(o["C"])(s),e=>(Object(o["t"])(),Object(o["f"])("div",{class:"block",key:e.id,onMousedown:t=>Object(o["C"])(f)(e)},[Object(o["g"])("div",Ie,Object(o["B"])(e.label),1)],40,Pe))),128))])])]))}};a("d715"),a("b4b9");const Te=x()(Ne,[["__scopeId","data-v-1f5cebf0"]]);var Me=Te;const qe={style:{"max-height":"40vh","overflow-y":"auto","margin-top":"10px","user-select":"none"}},Le={style:{display:"flex","flex-wrap":"wrap",gap:"5px","flex-direction":"column"}},Qe={style:{"font-weight":"bold","margin-bottom":"5px","text-transform":"capitalize","margin-top":"10px"}},Ee={class:"uiItemContainer"},$e=["blocktype","onMousedown","on:pointerdown_BAD","on:pointerup_BAD"],ze={class:"uiItemLabel"},Re={class:"uiItemIcon"},Ue=["src"];var He={__name:"LibraryPanel",emits:["blockCustomTriggered"],setup(e,{emit:t}){const a=["tempplaceholder","partial"];let n,l,r=V.filter(e=>-1===a.indexOf(e.type)),s=Object(o["x"])(null),i=Object(o["x"])(""),c=!1,d=null,p=null,u=V.map(e=>{let t={type:e.type,label:e.label,tagName:e.tagName,id:e.type,category:e.category,content:e.content,droppable:e.droppable,draggable:e.draggable,editable:e.editable,activate:!0};return t});function b(e){u=e.blocks,n=e.dragStart,l=e.dragStop,t("blockCustomTriggered",e)}function m(e){console.log("buildCategoriesTree :: newValue: ",e),void 0!=e&&(i.value=e.target.value);let t=[],a={};return g.value.forEach(e=>{let o=e.category||"other";a[o]||(a[o]={category:o,blocks:[]},t.push(a[o])),a[o].blocks.push(e)}),s.value=t,t}Object(o["s"])(()=>{setTimeout(()=>{window.editor.on("block:custom",b);const{Panels:e}=window.editor;e.getButton("views","open-blocks").set("active",!0)},3e3)});const g=Object(o["b"])(()=>{if(!i.value)return r;let e=r.filter(e=>e.label.toLowerCase().indexOf(i.value.toLowerCase())>-1);return e});m();const y=function(e){const t="img/block_icons/"+e.type.split("q-").join("")+".png";return t};function f(e,t){p=document.querySelector(".gjs-frame"),sorter=editor.BlockManager.blocksView.getSorter(),sorter.__currentBlock=e,sorter.setDragHelper(t.target,t),sorter.setDropContent(e.content),sorter.startSort(t.target);let a=t.target;while(a&&!a.classList.contains("uiItem"))a=a.parentElement;a&&(c=!0,d=a,a.setPointerCapture(t.pointerId))}function h(e){if(!c||!sorter)return;const t=p.getBoundingClientRect();e.clientX,t.left,e.clientY,t.top}function _(e,t){sorter&&(sorter.endMove(),sorter=null),c=!1;const a=p.getBoundingClientRect();if(t.clientX>=a.left&&t.clientX<=a.right&&t.clientY>=a.top&&t.clientY<=a.bottom){d.style.pointerEvents="none";const o=p.contentDocument,n=t.clientX-a.left,l=t.clientY-a.top,r=o.elementFromPoint(n,l);let s=r.getAttribute("id");d.style.pointerEvents="",d.style.position="static";let i=editor.DomComponents.getWrapper().find("#"+s)[0];i&&(i.components().add(e.content),editor.refresh())}else d.style.position="static";d=null}return(e,t)=>{const a=Object(o["A"])("vscode-text-field");return Object(o["t"])(),Object(o["f"])(o["a"],null,[Object(o["g"])("div",null,[Object(o["i"])(a,{value:Object(o["C"])(i),onInput:t[0]||(t[0]=e=>m(e)),placeholder:"Search UI Components",style:{padding:"5px 10px",width:"90%"}},null,8,["value"])]),Object(o["g"])("div",qe,[Object(o["g"])("div",Le,[(Object(o["t"])(!0),Object(o["f"])(o["a"],null,Object(o["y"])(Object(o["C"])(s),e=>(Object(o["t"])(),Object(o["f"])("div",{key:e.category,style:{display:"flex","flex-direction":"column",width:"100%"}},[Object(o["g"])("div",Qe,Object(o["B"])(e.category),1),Object(o["g"])("div",Ee,[(Object(o["t"])(!0),Object(o["f"])(o["a"],null,Object(o["y"])(e.blocks,e=>(Object(o["t"])(),Object(o["f"])("div",{key:e.id,blocktype:e.type,class:"uiItem",onMousedown:t=>Object(o["C"])(n)(e),"on:pointerdown_BAD":t=>f(e,t),"on:pointermove_BAD":h,"on:pointerup_BAD":t=>_(e,t)},[Object(o["g"])("div",ze,Object(o["B"])(e.label),1),Object(o["g"])("div",Re,[Object(o["g"])("img",{src:y(e),style:{"max-height":"20px","margin-top":"6px","pointer-events":"none"}},null,8,Ue)])],40,$e))),128))])]))),128))])])],64)}}};a("c5ba");const Fe=x()(He,[["__scopeId","data-v-73dba5ee"]]);var Ve=Fe;const Je=e=>(Object(o["v"])("data-v-4848a3d6"),e=e(),Object(o["u"])(),e),Ye={class:"blocker"},We={class:"addPropsPanel"},Ge=Je(()=>Object(o["g"])("div",{style:{"text-align":"center","font-size":"0.8em","font-weight":"bold","margin-bottom":"10px"}},"Add Property",-1)),Ke={class:"addPropsList"},Xe=["onClick"],Ze={style:{width:"70%"}},et={style:{width:"30%","font-size":"0.8em",overflow:"hidden","white-space":"nowrap","text-overflow":"ellipsis",display:"flex","justify-content":"right","align-items":"center",opacity:"0.6"}};var tt={__name:"AddPropertyDialog",props:["propslist","defObject","destination"],emits:["propAdded","close"],setup(e,{emit:t}){const a=e;function n(e){t("propAdded",e,a.defObject,a.destination)}function l(){t("close")}return(t,a)=>(Object(o["t"])(),Object(o["f"])("div",Ye,[Object(o["g"])("div",We,[Ge,Object(o["g"])("div",{class:"closeAddProp",onClick:l},"X"),Object(o["g"])("div",Ke,[(Object(o["t"])(!0),Object(o["f"])(o["a"],null,Object(o["y"])(e.propslist,e=>(Object(o["t"])(),Object(o["f"])("div",{class:"addPropRow",onClick:t=>n(e)},[Object(o["g"])("div",Ze,Object(o["B"])(e.label),1),Object(o["g"])("div",et,Object(o["B"])(e.type),1)],8,Xe))),256))])])]))}};a("e161");const at=x()(tt,[["__scopeId","data-v-4848a3d6"]]);var ot=at;const nt=e=>(Object(o["v"])("data-v-789ef747"),e=e(),Object(o["u"])(),e),lt={key:0},rt={style:{"user-select":"none"}},st={class:"removeBtnCnt",style:{width:"20px"}},it=["onClick"],ct=nt(()=>Object(o["g"])("i",{"aria-hidden":"true",role:"img",class:"q-icon notranslate material-icons",style:{"font-size":"14px",padding:"0px"}},"delete",-1)),dt=[ct],pt={class:"propRowLabel"},ut={key:0,class:"propRowControl"},bt={slot:"selected-value",class:"codicon codicon-settings"},mt={"aria-hidden":"true",role:"img",class:"q-icon notranslate material-icons",style:{"font-size":"16px",padding:"5px"}},gt={"aria-hidden":"true",role:"img",class:"q-icon notranslate material-icons",style:{"font-size":"16px"}},yt={slot:"selected-value"},ft=["attrname","onDrop","onUpdate:modelValue"],ht=["attrname","onDrop","onUpdate:modelValue"],_t=["attrname","onDrop","onUpdate:modelValue"],vt=["attrname","onDrop","onUpdate:modelValue"],Ot=["attrname","onDrop","onUpdate:modelValue"],wt={key:1,class:"propRowControl"},jt=["onUpdate:modelValue","onDrop","attrname"],xt=["value"],kt=["onClick"],Ct={key:0,src:"img/icons/binding_on.png",style:{height:"16px"},draggable:"false"},St={key:1,src:"img/icons/binding_off.png",style:{height:"16px"},draggable:"false"},Bt={key:3,class:"propRowDynamicSwitch",draggable:"false"},Dt={key:0,class:"suggestedPropertiesContainer",style:{margin:"20px 0px 0px 0px"}},At=nt(()=>Object(o["g"])("div",{class:"suggestedPropertiesTitle",style:{opacity:"0.7","margin-bottom":"10px","font-weight":"bold","font-size":"0.9em"}},"Suggested Properties:",-1)),Pt={class:"propRowLabel",style:{opacity:"0.5","font-weight":"bold","text-align":"left:"}},It={class:"propRowControl",style:{opacity:"0.5","text-align":"left","font-size":"0.8em","user-select":"none"}},Nt=["onClick"],Tt=nt(()=>Object(o["g"])("i",{class:"fa fa-plus"},null,-1)),Mt=[Tt],qt=nt(()=>Object(o["g"])("br",null,null,-1)),Lt={key:1,style:{"font-size":"0.8em"}},Qt=nt(()=>Object(o["g"])("i",null,"Nothing selected",-1)),Et=[Qt];var $t={__name:"PropertiesPanel",props:["title","appData","selectedComponent"],setup(e,{expose:t}){const a=e;let n=Object(o["x"])(null),l=Object(o["x"])(!1),r=Object(o["x"])(a.appData.pages[0].model.fields),s={};r.value.forEach(e=>{s[e.name]=e});const i=V.reduce((e,t)=>(e[t.type]=t,e),{});function c(e){try{return 0==e.indexOf("gb_c__")||0==e.indexOf("gb_b__")?e.substring(6):e}catch(t){console.error("Error in getAttributeCleanRealName: ",e,t)}}function d(e){n.value.removeAttributes([e.name]),w()}function p(){let e=v(n.value.attributes.type);if(!e)return[];let t=b().map(e=>e.cleanName),a=e.properties.filter(e=>1==e.suggested),o=a.filter(e=>-1==t.indexOf(e.name));return o}function u(e){return r.value.filter(t=>t.type==e.def.type)}function b(){const e=n.value.attributes.attributes;let t=[],o={};for(let a in e)if(a.startsWith("gb_c__")||a.startsWith("gb_b__")){let n=c(a).toLowerCase();if("id"!=n&&"charttype"!=n&&"class"!=n){let l=m(n);l||console.error("Definition not found for: ",a,n,e[a]),t.push({name:a,cleanName:n,value:e[a],def:l}),o[a]=e[a]}}return console.log("PropertiesPanel :: getCleanAttributesList :: vueApp, attrsForVuecomponent: ",a.selectedComponent.view.el.vueApp,o),a.selectedComponent.view.el.vueApp&&a.selectedComponent.view.el.vueApp.updateAttributes(o),t=Y.a.sortBy(t,"cleanName"),t}function m(e){let t=v(n.value.attributes.type);if(!t)return null;let a=t.properties.find(t=>t.name==e);return a}function g(e){let t=0==e.indexOf("gb_b_");return t}function y(e){let t=JSON.parse(e.dataTransfer.getData("text")),a=e.target.getAttribute("attrname");if(0==a.indexOf("gb_c__"))j(a,t.bindingname);else{let e={};e[a]=t.bindingname,n.value.addAttributes(e)}}function f(){l.value=!0}function h(){l.value=!1}function _(e){let t={Boolean:!0,String:"",Number:0},a={},o="gb_c__"+e.name,l=null!==t[e.type]?t[e.type]:"Not set";a[o]=l,n.value.addAttributes(a),w()}function v(e){let t=i[e];return t}const O=Object(o["b"])(()=>{let e=v(n.value.attributes.type);if(!e)return[];let t=e.properties,a=n.value.getAttributes(),o=[];for(let n in a){let e=c(n);o.push(e)}let l=[];return t.forEach(e=>{let t=c(e.name);-1==o.indexOf(t)&&l.push(e)}),l});function w(){let e=n.value.attributes.attributes;console.log("PropertiesPanel :: submitChanges :: componentAttributes: ",e);for(let a in e)!0===e[a]&&(e[a]="true"),!1===e[a]&&(e[a]="false");let t=selectedComponent.toHTML();console.log("PropertiesPanel :: submitChanges :: newHtml: ",t),editor.getSelected().replaceWith(t);let o={},l=Object.getOwnPropertyNames(e);l.forEach(t=>{let a;a=void 0!=e[t]&&void 0!=e[t].nodeValue?e[t].nodeValue:e[t],o[t]=a}),a.selectedComponent.setAttributes(o);let r=a.selectedComponent.view.$el[0].vueApp;console.log("PropertiesPanel :: submitChanges :: PRE vueApp.updateAttributes(): ",r,o),r.updateAttributes(o)}function j(e,t){let a=0==e.indexOf("gb_b__")?e.replace("gb_b__","gb_c__"):e.replace("gb_c__","gb_b__");n.value.removeAttributes([e]);let o={};if(0==a.indexOf("gb_b__"))if(null!=s[t])o[a]=t;else{let e=c(a).toLowerCase(),t=m(e),n={def:t},l=u(n);l.length>0?o[a]=l[0].name:o[a]="Not Set"}else o[a]=t;n.value.addAttributes(o),w()}function x(e){n.value=e}return Object(o["s"])(()=>{x(window.selectedComponent)}),t({setSelectedComponent:x}),(e,t)=>{const a=Object(o["A"])("vscode-option"),r=Object(o["A"])("vscode-dropdown"),s=Object(o["A"])("q-icon"),i=Object(o["A"])("vscode-button");return Object(o["C"])(n)&&"tempplaceholder"!=Object(o["C"])(n).attributes.type&&"plotly"!=Object(o["C"])(n).attributes.type?(Object(o["t"])(),Object(o["f"])("div",lt,[Object(o["g"])("div",rt,[(Object(o["t"])(!0),Object(o["f"])(o["a"],null,Object(o["y"])(b(),e=>{var l;return Object(o["t"])(),Object(o["f"])("div",{key:e.name,class:"propRow"},[Object(o["g"])("div",st,[1!=(null===(l=e.def)||void 0===l?void 0:l.mandatory)&&"gb_b__v-model"!=e.name?(Object(o["t"])(),Object(o["f"])("span",{key:0,onClick:t=>d(e),title:"Remove Property",class:"codicon codicon-settings"},dt,8,it)):Object(o["e"])("",!0)]),Object(o["g"])("div",pt,Object(o["B"])(e.def.label)+": ",1),g(e.name)?Object(o["e"])("",!0):(Object(o["t"])(),Object(o["f"])("div",ut,["enum_icons"==e.def.uitype?(Object(o["t"])(),Object(o["d"])(r,{key:0,style:{width:"100%","min-width":"unset"},value:Object(o["C"])(n).attributes.attributes[e.name],onInput:t=>Object(o["C"])(n).attributes.attributes[e.name]=t.target.value,onChange:w},{default:Object(o["J"])(()=>[Object(o["g"])("span",bt,[Object(o["g"])("i",mt,Object(o["B"])(Object(o["C"])(n).attributes.attributes[e.name]),1),Object(o["h"])(" "+Object(o["B"])(Object(o["C"])(n).attributes.attributes[e.name]),1)]),(Object(o["t"])(!0),Object(o["f"])(o["a"],null,Object(o["y"])(e.def.options,e=>(Object(o["t"])(),Object(o["d"])(a,{value:e,style:{padding:"5px"}},{default:Object(o["J"])(()=>[Object(o["g"])("i",gt,Object(o["B"])(e),1),Object(o["h"])(" "+Object(o["B"])(e),1)]),_:2},1032,["value"]))),256))]),_:2},1032,["value","onInput"])):"enum_colors"==e.def.uitype?(Object(o["t"])(),Object(o["d"])(r,{key:1,style:{width:"100%","min-width":"unset"},value:Object(o["C"])(n).attributes.attributes[e.name],onInput:t=>Object(o["C"])(n).attributes.attributes[e.name]=t.target.value,onChange:w},{default:Object(o["J"])(()=>[Object(o["g"])("span",yt,[Object(o["i"])(s,{name:"circle",color:Object(o["C"])(n).attributes.attributes[e.name],style:{"margin-right":"5px"}},null,8,["color"]),Object(o["h"])(" "+Object(o["B"])(Object(o["C"])(n).attributes.attributes[e.name]),1)]),(Object(o["t"])(!0),Object(o["f"])(o["a"],null,Object(o["y"])(e.def.options,e=>(Object(o["t"])(),Object(o["d"])(a,{value:e,style:{padding:"5px"}},{default:Object(o["J"])(()=>[Object(o["i"])(s,{name:"circle",color:e,style:{"margin-right":"5px"}},null,8,["color"]),Object(o["h"])(" "+Object(o["B"])(e),1)]),_:2},1032,["value"]))),256))]),_:2},1032,["value","onInput"])):"String"==e.def.type&&-1==e.cleanName.indexOf("color")?Object(o["K"])((Object(o["t"])(),Object(o["f"])("input",{key:2,attrname:e.name,type:"text",onDrop:Object(o["L"])(y,["prevent"]),onDragenter:t[0]||(t[0]=Object(o["L"])(()=>{},["prevent"])),onDragover:t[1]||(t[1]=Object(o["L"])(()=>{},["prevent"])),class:"propInput",onChange:w,"onUpdate:modelValue":t=>Object(o["C"])(n).attributes.attributes[e.name]=t,style:{width:"220px%"}},null,40,ft)),[[o["G"],Object(o["C"])(n).attributes.attributes[e.name]]]):"Array"==e.def.type?Object(o["K"])((Object(o["t"])(),Object(o["f"])("input",{key:3,attrname:e.name,type:"text",onDrop:Object(o["L"])(y,["prevent"]),onDragenter:t[2]||(t[2]=Object(o["L"])(()=>{},["prevent"])),onDragover:t[3]||(t[3]=Object(o["L"])(()=>{},["prevent"])),class:"propInput",onChange:w,"onUpdate:modelValue":t=>Object(o["C"])(n).attributes.attributes[e.name]=t,style:{width:"220px%"}},null,40,ht)),[[o["G"],Object(o["C"])(n).attributes.attributes[e.name]]]):"String"==e.def.type&&e.name.indexOf("color")>-1?Object(o["K"])((Object(o["t"])(),Object(o["f"])("input",{key:4,attrname:e.name,type:"color",onDrop:Object(o["L"])(y,["prevent"]),onDragenter:t[4]||(t[4]=Object(o["L"])(()=>{},["prevent"])),onDragover:t[5]||(t[5]=Object(o["L"])(()=>{},["prevent"])),class:"propInput",onChange:w,"onUpdate:modelValue":t=>Object(o["C"])(n).attributes.attributes[e.name]=t,style:{padding:"0px 2px",height:"21px"}},null,40,_t)),[[o["G"],Object(o["C"])(n).attributes.attributes[e.name]]]):"Number"==e.def.type?Object(o["K"])((Object(o["t"])(),Object(o["f"])("input",{key:5,attrname:e.name,type:"number",onDrop:Object(o["L"])(y,["prevent"]),onDragenter:t[6]||(t[6]=Object(o["L"])(()=>{},["prevent"])),onDragover:t[7]||(t[7]=Object(o["L"])(()=>{},["prevent"])),class:"propInput",onChange:w,"onUpdate:modelValue":t=>Object(o["C"])(n).attributes.attributes[e.name]=t},null,40,vt)),[[o["G"],Object(o["C"])(n).attributes.attributes[e.name]]]):"Boolean"==e.def.type?Object(o["K"])((Object(o["t"])(),Object(o["f"])("input",{key:6,attrname:e.name,type:"checkbox",onDrop:Object(o["L"])(y,["prevent"]),onDragenter:t[8]||(t[8]=Object(o["L"])(()=>{},["prevent"])),onDragover:t[9]||(t[9]=Object(o["L"])(()=>{},["prevent"])),class:"propInput",onChange:w,"onUpdate:modelValue":t=>Object(o["C"])(n).attributes.attributes[e.name]=t,style:{width:"auto"}},null,40,Ot)),[[o["D"],Object(o["C"])(n).attributes.attributes[e.name]]]):Object(o["e"])("",!0)])),g(e.name)?(Object(o["t"])(),Object(o["f"])("div",wt,[Object(o["K"])(Object(o["g"])("select",{class:"propInput propInputDynamic","onUpdate:modelValue":t=>Object(o["C"])(n).attributes.attributes[e.name]=t,name:"cars",id:"cars",onChange:w,onDrop:Object(o["L"])(y,["prevent"]),onDragenter:t[10]||(t[10]=Object(o["L"])(()=>{},["prevent"])),onDragover:t[11]||(t[11]=Object(o["L"])(()=>{},["prevent"])),attrname:e.name},[(Object(o["t"])(!0),Object(o["f"])(o["a"],null,Object(o["y"])(u(e),e=>(Object(o["t"])(),Object(o["f"])("option",{key:"binding_"+e.name,value:e.name},Object(o["B"])(e.name),9,xt))),128))],40,jt),[[o["F"],Object(o["C"])(n).attributes.attributes[e.name]]])])):Object(o["e"])("",!0),"gb_b__v-model"!=e.name&&-1==e.name.indexOf("gb_b__v-on:")?(Object(o["t"])(),Object(o["f"])("div",{key:2,onClick:t=>j(e.name,e.value),class:"propRowDynamicSwitch"},[g(e.name)?(Object(o["t"])(),Object(o["f"])("img",Ct)):Object(o["e"])("",!0),g(e.name)?Object(o["e"])("",!0):(Object(o["t"])(),Object(o["f"])("img",St))],8,kt)):(Object(o["t"])(),Object(o["f"])("div",Bt))])}),128)),p().length>0?(Object(o["t"])(),Object(o["f"])("div",Dt,[At,(Object(o["t"])(!0),Object(o["f"])(o["a"],null,Object(o["y"])(p(),e=>(Object(o["t"])(),Object(o["f"])("div",{key:e.name,class:"propRow"},[Object(o["g"])("div",Pt,Object(o["B"])(e.label)+": ",1),Object(o["g"])("div",It,Object(o["B"])(e.desc),1),Object(o["g"])("div",{class:"propRowDynamicSwitch",draggable:"false",title:"Add property",onClick:t=>_(e)},Mt,8,Nt)]))),128))])):Object(o["e"])("",!0)]),qt,!Object(o["C"])(l)&&Object(o["C"])(n)?(Object(o["t"])(),Object(o["d"])(i,{key:0,onClick:f},{default:Object(o["J"])(()=>[Object(o["h"])("Add Property")]),_:1})):Object(o["e"])("",!0),Object(o["C"])(n)?Object(o["e"])("",!0):(Object(o["t"])(),Object(o["f"])("div",Lt,Et)),Object(o["C"])(l)?(Object(o["t"])(),Object(o["d"])(ot,{key:2,propslist:O.value,onPropAdded:_,onClose:h},null,8,["propslist"])):Object(o["e"])("",!0)])):Object(o["e"])("",!0)}}},zt=(a("3f8b"),a("0016")),Rt=a("93dc"),Ut=a.n(Rt);const Ht=x()($t,[["__scopeId","data-v-789ef747"]]);var Ft=Ht;Ut()($t,"components",{QIcon:zt["a"]});const Vt={class:"col-5"},Jt={key:0,class:"col-7"},Yt={key:1,class:"col-7"},Wt={key:2,class:"col-7",style:{"align-items":"center",position:"relative",display:"flex"}},Gt=["onUpdate:modelValue"],Kt=["type","onUpdate:modelValue"];var Xt={__name:"ChartPropertiesSection",props:["dataSource","dataSourceColumns","treeObject","propertiesDefinition"],emits:["change"],setup(e,{emit:t}){const a=e;function n(){t("change",a.treeObject)}function l(e,t){const a=t.split(".");if(1==a.length)return e;for(let o=0;o{let e=[];for(let t=0;t{const l=Object(o["A"])("vscode-option"),r=Object(o["A"])("vscode-dropdown"),i=Object(o["A"])("vscode-text-field");return Object(o["t"])(!0),Object(o["f"])(o["a"],null,Object(o["y"])(s.value,t=>(Object(o["t"])(),Object(o["f"])("div",{class:"row propRow",key:t.id},[Object(o["g"])("div",Vt,Object(o["B"])(t.label),1),"x"==t.id||"y"==t.id||"z"==t.id?(Object(o["t"])(),Object(o["f"])("div",Jt,[Object(o["i"])(r,{style:{width:"100%"},name:"",id:"",value:t.valueHolderParent[t.propName],onInput:e=>t.valueHolderParent[t.propName]=e.target.value,onChange:n},{default:Object(o["J"])(()=>[(Object(o["t"])(!0),Object(o["f"])(o["a"],null,Object(o["y"])(e.dataSourceColumns,t=>(Object(o["t"])(),Object(o["d"])(l,{value:"$_{"+e.dataSource+"."+t+"}"},{default:Object(o["J"])(()=>[Object(o["h"])(Object(o["B"])(t),1)]),_:2},1032,["value"]))),256))]),_:2},1032,["value","onInput"])])):"enum"==t.type?(Object(o["t"])(),Object(o["f"])("div",Yt,[Object(o["i"])(r,{style:{width:"100%"},name:"",id:"",value:t.valueHolderParent[t.propName],onInput:e=>t.valueHolderParent[t.propName]=e.target.value,onChange:n},{default:Object(o["J"])(()=>[(Object(o["t"])(!0),Object(o["f"])(o["a"],null,Object(o["y"])(t.options,e=>(Object(o["t"])(),Object(o["d"])(l,{value:e},{default:Object(o["J"])(()=>[Object(o["h"])(Object(o["B"])(e),1)]),_:2},1032,["value"]))),256))]),_:2},1032,["value","onInput"])])):(Object(o["t"])(),Object(o["f"])("div",Wt,["checkbox"==t.type?Object(o["K"])((Object(o["t"])(),Object(o["f"])("input",{key:0,type:"checkbox",name:"",id:"","onUpdate:modelValue":e=>t.valueHolderParent[t.propName]=e,onChange:n},null,40,Gt)),[[o["D"],t.valueHolderParent[t.propName]]]):Object(o["e"])("",!0),"color"==t.type?Object(o["K"])((Object(o["t"])(),Object(o["f"])("input",{key:1,type:t.type,"onUpdate:modelValue":e=>t.valueHolderParent[t.propName]=e,onChange:n,style:{height:"23px",width:"23px","margin-right":"5px","background-color":"#ffffff00"}},null,40,Kt)),[[o["E"],t.valueHolderParent[t.propName]]]):Object(o["e"])("",!0),"color"==t.type?(Object(o["t"])(),Object(o["d"])(i,{key:2,type:"text",name:"",id:"",value:t.valueHolderParent[t.propName],onInput:e=>t.valueHolderParent[t.propName]=e.target.value,onChange:n,style:{width:"80px"}},null,8,["value","onInput"])):Object(o["e"])("",!0),"string"==t.type||"number"==t.type?(Object(o["t"])(),Object(o["d"])(i,{key:3,type:t.type,name:"",id:"",value:t.valueHolderParent[t.propName],onInput:e=>t.valueHolderParent[t.propName]=e.target.value,onChange:n},null,8,["type","value","onInput"])):Object(o["e"])("",!0)]))]))),128)}}};a("2ac9");const Zt=Xt;var ea=Zt;const ta=e=>(Object(o["v"])("data-v-f85b9ac6"),e=e(),Object(o["u"])(),e),aa={key:0,class:"chartConfigContainer"},oa={class:"tabSelector"},na=["onClick"],la={key:0,class:"tabSectionContainer"},ra={style:{padding:"20px 0px"}},sa=ta(()=>Object(o["g"])("div",{style:{padding:"0px 0px 10px"}},[Object(o["g"])("b",null,"Reactive Data")],-1)),ia=ta(()=>Object(o["g"])("br",null,null,-1)),ca={key:0,class:"tracesContainer"},da={class:"foldableGroupHeader"},pa=ta(()=>Object(o["g"])("div",{style:{width:"40px"}},"?",-1)),ua={style:{width:"50px","flex-grow":"1"}},ba={class:"foldableGroupContent"},ma={class:"subgroup"},ga={class:"subgroupContent"},ya={class:"addPropertyButtonRow"},fa=["onClick"],ha={key:1,style:{"border-top":"solid 1px var(--badge-background)",padding:"20px","text-align":"center"}},_a={key:1,class:"tabSectionContainer"},va={class:"subgroup"},Oa={class:"subgroupContent"},wa={class:"addPropertyButtonRow"},ja={key:2,class:"tabSectionContainer"},xa={class:"subgroup"},ka={class:"subgroupContent"},Ca={class:"addPropertyButtonRow"};var Sa={__name:"ChartProperties",props:["appData","selectedComponent"],setup(e,{expose:t}){const a=e;let n=Object(o["x"])(0),l=Object(o["x"])([{name:"Data",id:0},{name:"Layout",id:1},{name:"Config",id:2}]),r=Object(o["x"])(null),s=Object(o["x"])(null),i=(Object(o["x"])(!1),Object(o["x"])(null)),c=Object(o["x"])([]),d=Object(o["x"])([]),p=Object(o["x"])([]),u=Object(o["x"])(a.appData.pages[0].model.fields),b={};u.value.forEach(e=>{b[e.name]=e});let m=Object(o["x"])([{id:"name",label:"Name",type:"string",default:""},{id:"type",label:"Type",type:"enum",default:"scatter",options:["scatter","bar","histogram"]},{id:"x",label:"X",type:"array",default:[0,1,2,3,4,5]},{id:"y",label:"Y",type:"array",default:[2,4,8,16,32]},{id:"marker.size",label:"Marker Size",type:"number",default:5},{id:"marker.color",label:"Marker Color",type:"color",default:"#2578B4"}]),g=Object(o["x"])([{id:"autosizable",label:"Autosizable",type:"checkbox",default:!1},{id:"displaylogo",label:"Display Logo",type:"checkbox",default:!0},{id:"scrollZoom",label:"Scroll Zoom",type:"checkbox",default:!0},{id:"editable",label:"Editable",type:"checkbox",default:!0},{id:"displayModeBar",label:"Mode Bar",type:"checkbox",default:!0}]),y=Object(o["x"])([{id:"title",label:"Title",type:"string",default:"Hello Def"},{id:"showlegend",label:"Show Legend",type:"checkbox",default:!0},{id:"paper_bgcolor",label:"Paper",type:"color",default:"#ffffff"},{id:"plot_bgcolor",label:"Background",type:"color",default:"#ffffff"},{id:"font.color",label:"Font Color",type:"color",default:"#000000"},{id:"font.size",label:"Font Size",type:"number",default:10}]);const f=Object(o["b"])(()=>{let e=[],t=s.value;if(t){let a=r.value.find(e=>e.name==t);a&&(e=a.columns)}return e});function h(e,t){let a=e.filter(e=>{let a=!1,o=k(t,e.id);return null!=o&&(a=!0),!a});return a}Object(o["b"])(()=>{let e=g.value.filter(e=>{let t=!1,a=k(i.value,e.id);return null!=a&&(t=!0),!t});return e});function _(e){D()}function v(e){D()}function O(e){D()}function w(e){i.value=e}function j(){i.value=null}function x(e,t,a){let o=e.id,n=t.find(e=>e.id==o);C(a,o,n.default),D()}function k(e,t){const a=t.split(".");for(let o=0;oe.name==s.value);return!!e&&"DataFrames.DataFrame"==e.type}function B(){let e=a.appData.pages[0].model.fields.filter(e=>"DataFrames.DataFrame"==e.type||"PlotlyData"==e.type);r.value=e}function D(){let e=btoa(JSON.stringify(c.value)),t=btoa(JSON.stringify(d.value)),o=btoa(JSON.stringify(p.value));a.selectedComponent.setAttributes({data:e,config:t,layout:o}),a.selectedComponent.view.$el[0].vueApp.updateAttributes({data:e,config:t,layout:o})}function A(){let e=[];c.value.forEach(t=>{let a=I(t);a.forEach(t=>{let a=t.value.replace("$_{","").replace("}","");e.includes(a)||e.push(a)})}),e=e.map(e=>e.split(".")[0]),s.value=e[0]}function P(e){if(!e||"plotly"!=e.attributes.type)return c.value=null,d.value=null,void(p.value=null);let t=e.getAttributes();t.gb_c__data&&(t.gb_c__data=atob(t.gb_c__data)),t.gb_c__config&&(t.gb_c__config=atob(t.gb_c__config)),t.gb_c__layout&&(t.gb_c__layout=atob(t.gb_c__layout));let a=t.gb_c__data||"[]";a=JSON.parse(a),c.value=a;let o=t.gb_c__config||"{}";o=JSON.parse(o),d.value=o;let n=t.gb_c__layout||"{}";n=JSON.parse(n),p.value=n,A()}function I(e){let t=[];function a(e){for(let o in e)"object"===typeof e[o]&&null!==e[o]?a(e[o]):"string"===typeof e[o]&&e[o].startsWith("$_{")&&e[o].endsWith("}")&&t.push({value:e[o]})}return a(e),t}function N(){c.value.push({x:"",y:"",type:"scatter",name:"Chg 1"})}function T(e){c.value=[{x:"$_{columnB}",y:"$_{columnA}",type:"scatter",name:"Chg 1"},{x:"$_{columnB}",y:"$_{columnC}",type:"scatter",name:"Chg 2"}],D()}return Object(o["r"])(()=>{P(a.selectedComponent),B()}),t({setSelectedComponent:P,assignNewDataSource:T}),(t,a)=>{const u=Object(o["A"])("vscode-option"),b=Object(o["A"])("vscode-dropdown"),k=Object(o["A"])("vscode-button");return e.selectedComponent&&"plotly"==e.selectedComponent.attributes.type?(Object(o["t"])(),Object(o["f"])("div",aa,[Object(o["g"])("div",oa,[(Object(o["t"])(!0),Object(o["f"])(o["a"],null,Object(o["y"])(Object(o["C"])(l),e=>(Object(o["t"])(),Object(o["f"])("div",{onClick:t=>Object(o["o"])(n)?n.value=e.id:n=e.id,class:Object(o["q"])({tabItem:!0,tabItemSelected:e.id==Object(o["C"])(n)}),key:e},Object(o["B"])(e.name),11,na))),128))]),0==Object(o["C"])(n)?(Object(o["t"])(),Object(o["f"])("div",la,[Object(o["g"])("div",ra,[sa,Object(o["i"])(b,{name:"",id:"",value:Object(o["C"])(s),onInput:a[0]||(a[0]=e=>Object(o["o"])(s)?s.value=e.target.value:s=e.target.value)},{default:Object(o["J"])(()=>[Object(o["i"])(u,{value:null},{default:Object(o["J"])(()=>[Object(o["h"])("None")]),_:1}),(Object(o["t"])(!0),Object(o["f"])(o["a"],null,Object(o["y"])(Object(o["C"])(r),e=>(Object(o["t"])(),Object(o["d"])(u,{value:e.name},{default:Object(o["J"])(()=>[Object(o["h"])(Object(o["B"])(e.name),1)]),_:2},1032,["value"]))),256))]),_:1},8,["value"]),ia]),S()?(Object(o["t"])(),Object(o["f"])("div",ca,[(Object(o["t"])(!0),Object(o["f"])(o["a"],null,Object(o["y"])(Object(o["C"])(c),e=>(Object(o["t"])(),Object(o["f"])("div",{class:"foldableGroup",key:e},[Object(o["g"])("div",da,[pa,Object(o["g"])("div",ua,Object(o["B"])(e.name),1)]),Object(o["g"])("div",ba,[Object(o["g"])("div",ma,[Object(o["g"])("div",ga,[Object(o["i"])(ea,{dataSource:Object(o["C"])(s),treeObject:e,dataSourceColumns:f.value,propertiesDefinition:Object(o["C"])(m),onChange:O},null,8,["dataSource","treeObject","dataSourceColumns","propertiesDefinition"])])]),Object(o["g"])("div",ya,[Object(o["C"])(i)?Object(o["e"])("",!0):(Object(o["t"])(),Object(o["f"])("button",{key:0,class:"addPropertyButton",onClick:t=>w(e)},"+",8,fa))]),Object(o["C"])(i)==e?(Object(o["t"])(),Object(o["d"])(ot,{key:0,defObject:Object(o["C"])(m),destination:Object(o["C"])(i),propslist:h(Object(o["C"])(m),e),onPropAdded:x,onClose:j},null,8,["defObject","destination","propslist"])):Object(o["e"])("",!0)])]))),128))])):Object(o["e"])("",!0),Object(o["C"])(s)&&S()?(Object(o["t"])(),Object(o["f"])("div",ha,[Object(o["i"])(k,{class:"addTraceButton",onClick:N},{default:Object(o["J"])(()=>[Object(o["h"])("+ Trace")]),_:1})])):Object(o["e"])("",!0)])):Object(o["e"])("",!0),1==Object(o["C"])(n)?(Object(o["t"])(),Object(o["f"])("div",_a,[Object(o["g"])("div",va,[Object(o["g"])("div",Oa,[Object(o["i"])(ea,{dataSource:Object(o["C"])(s),treeObject:Object(o["C"])(p),dataSourceColumns:f.value,propertiesDefinition:Object(o["C"])(y),onChange:_},null,8,["dataSource","treeObject","dataSourceColumns","propertiesDefinition"])])]),Object(o["g"])("div",wa,[Object(o["C"])(i)?Object(o["e"])("",!0):(Object(o["t"])(),Object(o["f"])("button",{key:0,class:"addPropertyButton",onClick:a[1]||(a[1]=e=>w(Object(o["C"])(p)))},"+"))]),Object(o["C"])(i)==Object(o["C"])(p)?(Object(o["t"])(),Object(o["d"])(ot,{key:0,defObject:Object(o["C"])(y),destination:Object(o["C"])(p),propslist:h(Object(o["C"])(y),Object(o["C"])(p)),onPropAdded:x,onClose:j},null,8,["defObject","destination","propslist"])):Object(o["e"])("",!0)])):Object(o["e"])("",!0),2==Object(o["C"])(n)?(Object(o["t"])(),Object(o["f"])("div",ja,[Object(o["g"])("div",xa,[Object(o["g"])("div",ka,[Object(o["i"])(ea,{dataSource:Object(o["C"])(s),treeObject:Object(o["C"])(d),dataSourceColumns:f.value,propertiesDefinition:Object(o["C"])(g),onChange:v},null,8,["dataSource","treeObject","dataSourceColumns","propertiesDefinition"])])]),Object(o["g"])("div",Ca,[Object(o["C"])(i)?Object(o["e"])("",!0):(Object(o["t"])(),Object(o["f"])("button",{key:0,class:"addPropertyButton",onClick:a[2]||(a[2]=e=>w(Object(o["C"])(d)))},"+"))]),Object(o["C"])(i)==Object(o["C"])(d)?(Object(o["t"])(),Object(o["d"])(ot,{key:0,defObject:Object(o["C"])(g),destination:Object(o["C"])(d),propslist:h(Object(o["C"])(g),Object(o["C"])(d)),onPropAdded:x,onClose:j},null,8,["defObject","destination","propslist"])):Object(o["e"])("",!0)])):Object(o["e"])("",!0)])):Object(o["e"])("",!0)}}};a("0f5f");const Ba=x()(Sa,[["__scopeId","data-v-f85b9ac6"]]);var Da=Ba,Aa=a("1020"),Pa=a.n(Aa),Ia=a("4dd1"),Na=a.n(Ia),Ta=a("de09"),Ma=a.n(Ta);a("9f21");const qa=e=>(Object(o["v"])("data-v-3295537e"),e=e(),Object(o["u"])(),e),La={class:"logsPanel",style:{position:"relative"}},Qa={class:"toolBar"},Ea=qa(()=>Object(o["g"])("option",{value:"0"},"Debug",-1)),$a=qa(()=>Object(o["g"])("option",{value:"1"},"Info",-1)),za=qa(()=>Object(o["g"])("option",{value:"2"},"Warning",-1)),Ra=qa(()=>Object(o["g"])("option",{value:"3"},"Error",-1)),Ua=[Ea,$a,za,Ra],Ha=["value"],Fa=qa(()=>Object(o["g"])("span",{class:"codicon codicon-settings"},[Object(o["g"])("i",{"aria-hidden":"true",role:"img",class:"q-icon notranslate material-icons",style:{"font-size":"16px",padding:"5px"}},"delete")],-1)),Va=[Fa],Ja={class:"timeStamp"},Ya={class:"appSource"},Wa={class:"logLevel"},Ga=["onClick"];var Ka={__name:"LogsPanel",props:["appData"],setup(e,{expose:t}){const a=Object(o["x"])(!0),n=Object(o["x"])(!0),l=Object(o["x"])(0),r=Object(o["x"])("all"),s=Object(o["x"])(""),i=Object(o["x"])(null);Pa.a.registerLanguage("javascript",Na.a),Pa.a.registerLanguage("sql",Ma.a);const c={mounted(e,t){const a=t.value||"",o=Pa.a.highlight("sql",a).value;e.innerHTML=`
${o}
`},updated(e,t){const a=t.value||"",o=Pa.a.highlight("sql",a).value;e.innerHTML=`
${o}
`}},d=c,p=Object(o["x"])([{id:"all",label:"All"},{id:0,label:"GB"}]),u={debug:0,info:1,warning:2,error:3},b=Object(o["x"])([]);window.logs=b;const m=Object(o["b"])(()=>{let e=b.value.filter(e=>{let t="server"==e.source&&a.value||"client"==e.source&&n.value,o=u[e.level]>=l.value,i="all"==r.value||e.appid==r.value;console.log(">>>>>>> ",e.appid," == ",r.value);let c=""==s.value||e.message.toLowerCase().indexOf(s.value.toLowerCase())>=0;return t&&o&&c&&i});return e});function g(){b.value=[]}function y(e){let t="log:message";if(0==e.message.indexOf(t)){p.value.find(t=>t.id==e.appid)||p.value.push({id:e.appid,label:e.appid});let a=e.message.slice(t.length);a=a.split(" ┌").join("┌"),e.message=a,e.appSource="0"==e.appid?"GB":"app "+e.appid,e.timestamp=e.timestamp.replace("T"," ").replace("Z","").split(".")[0],e.expanded=!1,b.value.push(e),i.value.scrollTop=i.value.scrollHeight}}return t({addLog:y}),(e,t)=>(Object(o["t"])(),Object(o["f"])("div",La,[Object(o["g"])("div",Qa,[Object(o["g"])("div",null,[Object(o["K"])(Object(o["g"])("input",{type:"checkbox",id:"showServerLogs",name:"showServerLogs","onUpdate:modelValue":t[0]||(t[0]=e=>a.value=e)},null,512),[[o["D"],a.value]]),Object(o["h"])(" GB Server ")]),Object(o["g"])("div",null,[Object(o["K"])(Object(o["g"])("input",{type:"checkbox",id:"showClientLogs",name:"showClientLogs","onUpdate:modelValue":t[1]||(t[1]=e=>n.value=e)},null,512),[[o["D"],n.value]]),Object(o["h"])(" Client ")]),Object(o["g"])("div",null,[Object(o["K"])(Object(o["g"])("select",{"onUpdate:modelValue":t[2]||(t[2]=e=>l.value=e)},Ua,512),[[o["F"],l.value]])]),Object(o["g"])("div",null,[Object(o["K"])(Object(o["g"])("select",{"onUpdate:modelValue":t[3]||(t[3]=e=>r.value=e)},[(Object(o["t"])(!0),Object(o["f"])(o["a"],null,Object(o["y"])(p.value,e=>(Object(o["t"])(),Object(o["f"])("option",{value:e.id},Object(o["B"])(e.label),9,Ha))),256))],512),[[o["F"],r.value]])]),Object(o["g"])("div",null,[Object(o["h"])(" Search: "),Object(o["K"])(Object(o["g"])("input",{type:"text",id:"searchString",name:"searchString","onUpdate:modelValue":t[4]||(t[4]=e=>s.value=e),style:{width:"200px"}},null,512),[[o["G"],s.value]])]),Object(o["g"])("div",{style:{"text-align":"right","flex-grow":"1","flex-basis":"0"}},[Object(o["g"])("button",{class:"clearLogsButton",onClick:g,title:"Clear Logs"},Va)])]),Object(o["g"])("div",{ref_key:"logsContainer",ref:i,class:"logsContainer"},[(Object(o["t"])(!0),Object(o["f"])(o["a"],null,Object(o["y"])(m.value,(e,t)=>(Object(o["t"])(),Object(o["f"])("div",{class:Object(o["q"])({logItem:!0,levelInfo:"info"==e.level,levelWarning:"warning"==e.level,levelError:"error"==e.level}),key:"logItem_"+t},[Object(o["g"])("div",Ja,Object(o["B"])(e.timestamp),1),Object(o["g"])("div",Ya,Object(o["B"])(e.appSource),1),Object(o["g"])("div",Wa,Object(o["B"])(e.level),1),Object(o["K"])(Object(o["g"])("div",{class:Object(o["q"])({logMessage:!0,logMessageExpanded:e.expanded}),onClick:t=>e.expanded=!e.expanded},null,10,Ga),[[Object(o["C"])(d),e.message]])],2))),128))],512)]))}};a("c41b");const Xa=x()(Ka,[["__scopeId","data-v-3295537e"]]);var Za=Xa;Ut()(Ka,"components",{QIcon:zt["a"]});const eo={class:"bindingsConnectorsContainer"},to={width:"100%",height:"100%",style:{position:"absolute","z-index":"11","pointer-events":"none"}},ao=["x","y","width","height"],oo=["d"];var no={__name:"BindingsConnector",setup(e,{expose:t}){const a=Object(o["x"])([]),n=Object(o["x"])([]),l=Object(o["x"])(null),r=Object(o["x"])(null);function s(e){let t=e,a=i(),o=Math.abs(t.x+t.width-a.x),n=.5*o,l=`M ${t.x+t.width} ${t.y+.5*t.height} C ${t.x+t.width+n} ${t.y+.5*t.height}, ${a.x-n} ${a.y+7}, ${a.x} ${a.y+7}`;return l}function i(){let e=c(r.value.element);return e}function c(e){const t=e.getBoundingClientRect();return{x:t.left,y:t.top}}function d(e){a.value=e,p()}function p(){null==l.value&&u();let e=l.value,t=a.value.map(t=>({x:t.x+e.x,y:t.y+e.y,width:t.width,height:t.height}));n.value=t}function u(){let e=document.querySelector(".gjs-frame");l.value=c(e),p()}function b(e){r.value=e}return t({updateElementsPositions:d,updateIframePosition:u,onBindingOvered:b}),(e,t)=>(Object(o["t"])(),Object(o["f"])("div",eo,[(Object(o["t"])(),Object(o["f"])("svg",to,[(Object(o["t"])(!0),Object(o["f"])(o["a"],null,Object(o["y"])(n.value,e=>(Object(o["t"])(),Object(o["f"])("rect",{key:e.id,x:e.x,y:e.y,width:e.width,height:e.height,style:{fill:"transparent","stroke-width":"3",stroke:"#0099ff"}},null,8,ao))),128)),(Object(o["t"])(!0),Object(o["f"])(o["a"],null,Object(o["y"])(n.value,e=>(Object(o["t"])(),Object(o["f"])("path",{key:e.id,d:s(e),stroke:"#0099ff","stroke-width":"2",fill:"transparent"},null,8,oo))),128))]))]))}};a("c0b1");const lo=x()(no,[["__scopeId","data-v-571588a7"]]);var ro=lo;class so{constructor(e,t,a){this.host="127.0.0.1",this.port=10102,this.protocol="ws",this.ws=null,this.onOpenHandler=e,this.onCloseHandler=t,this.onMessageHandler=a}connect(){console.log("StatusMonitor::connect"),this.ws=new WebSocket(this.protocol+"://"+this.host+":"+this.port),this.ws.onopen=this.onOpen.bind(this),this.ws.onmessage=this.onMessage.bind(this),this.ws.onclose=this.onClose.bind(this)}restart(e){e=e||1,console.log("StatusMonitor::restart",e),setTimeout(()=>{this.connect()},1e3*e)}onOpen(){console.log("StatusMonitor::onOpen"),this.ws.send(JSON.stringify({channel:"geniebuilder",message:"subscribe",payload:{}})),this.onOpenHandler()}onMessage(e){this.onMessageHandler(e)}onClose(){console.log("StatusMonitor::onClose"),this.onCloseHandler()}}const io=e=>(Object(o["v"])("data-v-222d0dd8"),e=e(),Object(o["u"])(),e),co={key:0,class:"mainContainer"},po={class:"topBar"},uo=io(()=>Object(o["g"])("div",{style:{width:"100%"}},null,-1)),bo={class:"topToolBar"},mo={style:{"margin-right":"10px",color:"#cccccc"}},go={class:"rowStack"},yo={class:"centralBar"},fo={class:"panel canvasPanel",style:{}},ho={class:"panel logsPanel"},_o={class:"rightBar"},vo={class:"panel bindingsPanel"},Oo=io(()=>Object(o["g"])("div",{id:"myStyleEditorContainer"},null,-1)),wo={class:"panel propertiesPanel"},jo={class:"panel chartPropertiesPanel"};var xo={__name:"Main",setup(e){const t=Object(o["x"])(null),a=Object(o["x"])(null),n=Object(o["x"])(null),l=Object(o["x"])(null),r=Object(o["x"])(null),s=Object(o["x"])(null),i=Object(o["x"])(null),c=Object(o["x"])(null);let d=null,p=Object(o["x"])(null);window.appData=p;const m="0.1.5";function g(e){}function y(e){let a=JSON.parse(e.data);a.message&&0==a.message.indexOf("base64:")&&(a.message=atob(a.message.replace("base64:",""))),t&&t.value&&t.value.addLog({appid:a.appid,timestamp:a.timestamp,source:"server",level:a.type,message:a.message+": "+a.status})}const f=Object(o["b"])(()=>{let e="Properties";return c&&c.value?c.value.attributes.name&&(e+=" - "+c.value.attributes.name):e+=" (nothing selected)",e});function h(e){console.log("onSocketClose",e),_.restart(5)}const _=window.statusMonitor=new so(g,h,y),v=D();let O=v.apibase,w=v.appid,j=v.CHANNEL__,x="dark";"light"==v.theme&&(x="light"),window.apibase=O,window.appid=w,window.channel=j,setTheme(x),console.log("Setting API connection: apibase, appid, channel: ",O,w,j);let k=[];if(O||k.push("apibase"),w||k.push("appid"),j||k.push("channel"),k.length>0){let e="Missing URL params: "+k.join(", ");throw alert(e),new Error(e)}function C(e){n.value.setHandleBlocks(e)}function S(){window.location.reload()}function B(){const e=editor.getCss(),t=editor.getHtml({cleanId:!0}),a=new DOMParser,o=a.parseFromString(t,"text/html"),n=o.body.querySelector("#gbTemplateContainer")||null;je.decodeAttributesInDOM(n);const l=n.innerHTML;let r={indent_size:4,indent_char:" ",max_preserve_newlines:5,preserve_newlines:!0,keep_array_indentation:!1,break_chained_methods:!1,indent_scripts:"normal",brace_style:"collapse",space_before_conditional:!0,unescape_strings:!1,jslint_happy:!1,end_with_newline:!1,wrap_line_length:0,indent_inner_html:!1,comma_first:!1,e4x:!1,indent_empty_lines:!1,inline_custom_elements:!1};const s=html_beautify(l,r);let i=d.view,c=encodeURIComponent(i),p=`${O}apps/${w}/save?path=${c}`;u["a"].post(p,{payload:s}).then(t=>{let a=`${O}apps/${w}/save?path=public/css/autogenerated.css`;u["a"].post(a,{payload:e}).then(e=>{}).catch(e=>{console.log("ERROR saving css file response: ",e)})}).catch(e=>{console.log("ERROR saving template file response: ",e)})}function D(){const e=new URLSearchParams(window.location.search),t={};for(const[a,o]of e.entries())t[a]=o;return t}function A(e){i.value.onBindingOvered(e);let t=document.querySelector(".gjs-frame");if(e.binding){let a={target:"main-controller",payload:{command:"reportElementsUsingBinding",bindingName:e.binding.name}};t.contentWindow.postMessage(a,"*")}else i.value.updateElementsPositions([])}function I(e){window.selectedComponent=c.value=e,r.value&&r.value.setSelectedComponent(e),s.value&&s.value.setSelectedComponent(e)}function N(e){s.value&&s.value.assignNewDataSource(e)}function T(e){p.value=e}function M(e){if(null==d)return!1;let t=d.model.fields,a=t.map(e=>e.name);return a.indexOf(e)>-1||""==e}function q(e){const t={"{Function}":"Function","{Bool}":"Boolean","{String}":"String","{Char}":"String","{Date}":"Date","{Number}":"Number","{Int64}":"Number","{Int32}":"Number","{Int16}":"Number","{Int8}":"Number","{Float64}":"Number","{Float32}":"Number","{Float16}":"Number","{Float8}":"Number","{Vector}":"Array","{Vector{Bool}}":"Array","{Vector{String}}":"Array","{Vector{Char}}":"Array","{Vector{Number}}":"Array","{Vector{Int64}}":"Array","{Vector{Int32}}":"Array","{Vector{Int16}}":"Array","{Vector{Int8}}":"Array","{Object}":"Object","{NamedTuple{(:min, :max), Tuple{Int64, Int64}}}":"Object","{Dict}":"Object","{RangeData{Int64}}":"Number","{Vector{PlotlyBase.GenericTrace{Dict{Symbol, Any}}}}":"PlotlyBase.GenericTrace","{PlotlyBase.Layout{Dict{Symbol, Any}}}":"PlotlyBase.Layout","{DataTable{DataFrames.DataFrame}}":"DataTable.DataFrames.DataFrame","{DataFrames.DataFrame}":"DataFrames.DataFrame","{PlotlyData}":"PlotlyData","{DataTablePagination}":"DataTablePagination"};e.forEach(e=>{e.model.fields=e.model.fields.filter(e=>e.isreactive),e.model.fields.forEach(e=>{let a=e.type,o=a.replace("Reactive",""),n=t[o];n&&(e.type=n)}),e.model.fields=b["a"].sortBy(e.model.fields,e=>e.name.toLowerCase())})}function Q(){window.canvasPanel=a,document.addEventListener("scroll",e=>{let t=i.value;null!=t&&t.updateIframePosition()}),window.addEventListener("message",e=>{if("nocode-builder"!==e.data.target)return;let t=i.value;null!=t&&t.updateElementsPositions(e.data.payload)},!1),O&&w&&(u["a"].get(O+"apps").then(e=>{let t=e.data.applications.find(e=>e.id.value.toString()==w),o=t;null!=t&&u["a"].get(O+"apps/"+w+"/pages").then(e=>{q(e.data.pages),o.pages=e.data.pages,T(o),setTimeout(()=>{d=e.data.pages[0];let t=O+"apps/"+w+"/edit?path="+encodeURIComponent(d.view);a.value.loadTemplate(t)},1e3)}).catch(e=>{console.log("error",e)})}).catch(e=>{console.log("error",e)}),_.connect())}return ke.channel=j,window.valueIsModelField=M,Object(o["s"])(()=>{Q()}),(e,d)=>{const u=Object(o["A"])("vscode-button");return Object(o["C"])(p)?(Object(o["t"])(),Object(o["f"])("div",co,[Object(o["g"])("div",po,[uo,Object(o["g"])("div",bo,[Object(o["g"])("div",mo," v "+Object(o["B"])(Object(o["C"])(m)),1),Object(o["g"])("div",null,[Object(o["i"])(u,{onClick:S,style:{"margin-right":"10px"}},{default:Object(o["J"])(()=>[Object(o["h"])("Refresh")]),_:1}),Object(o["i"])(u,{onClick:B},{default:Object(o["J"])(()=>[Object(o["h"])("Save")]),_:1})])])]),Object(o["g"])("div",go,[Object(o["g"])("div",yo,[Object(o["g"])("div",fo,[Object(o["i"])(P,{hideTitle:!0,title:"Builder",style:{height:"100%",display:"flex","flex-direction":"column"}},{default:Object(o["J"])(()=>[Object(o["i"])(Me,{ref_key:"canvasPanel",ref:a,onComponentSelected:I,onBindingDroppedOnComponent:N,appData:Object(o["C"])(p)},null,8,["appData"])]),_:1})]),Object(o["g"])("div",ho,[Object(o["i"])(P,{title:"Logs"},{default:Object(o["J"])(()=>[Object(o["i"])(Za,{ref_key:"logsPanel",ref:t,appData:Object(o["C"])(p)},null,8,["appData"])]),_:1})])]),Object(o["g"])("div",_o,[Object(o["g"])("div",vo,[Object(o["i"])(P,{title:"Library & Bindings"},{default:Object(o["J"])(()=>[Object(o["i"])(L,{mode:"light"},{default:Object(o["J"])(()=>[Object(o["i"])($,{title:"UI Library",active:"true"},{default:Object(o["J"])(()=>[Object(o["i"])(Ve,{ref_key:"libraryPanel",ref:l,onBlockCustomTriggered:C},null,512)]),_:1}),Object(o["i"])($,{title:"Styles"},{default:Object(o["J"])(()=>[Oo]),_:1}),Object(o["i"])($,{title:"Bindings"},{default:Object(o["J"])(()=>[Object(o["i"])(ae,{ref_key:"bindingsPanel",ref:n,appData:Object(o["C"])(p),onBindingOvered:A},null,8,["appData"])]),_:1})]),_:1})]),_:1})]),Object(o["g"])("div",wo,[Object(o["i"])(P,{title:f.value},{default:Object(o["J"])(()=>[Object(o["i"])(Ft,{ref_key:"propertiesPanel",ref:r,appData:Object(o["C"])(p),selectedComponent:c.value},null,8,["appData","selectedComponent"])]),_:1},8,["title"])]),Object(o["g"])("div",jo,[Object(o["i"])(P,{title:"Chart Properties"},{default:Object(o["J"])(()=>[Object(o["i"])(Da,{ref_key:"chartPropertiesPanel",ref:s,appData:Object(o["C"])(p),selectedComponent:c.value},null,8,["appData","selectedComponent"])]),_:1})])])]),Object(o["i"])(ro,{ref_key:"bindingConnectorsManager",ref:i,appData:Object(o["C"])(p)},null,8,["appData"])])):Object(o["e"])("",!0)}}};a("b201");const ko=x()(xo,[["__scopeId","data-v-222d0dd8"]]);var Co=ko;window.uikit=l,window.provideVSCodeDesignSystem=r["a"],Object(r["a"])().register(Object(s["c"])(),Object(i["c"])(),Object(c["b"])(),Object(d["b"])(),Object(p["b"])());var So={name:"App",components:{Main:Co}};a("9b64");const Bo=x()(So,[["render",n]]);var Do=Bo,Ao=a("5502"),Po=Object(Ao["a"])({state:{},mutations:{},actions:{},modules:{}}),Io=a("b05d"),No=(a("0ca9"),a("7d6e"),a("e54f"),a("a4b7"),a("05bc"),a("0d0e"),a("573e"),{config:{},plugins:{}});window.canvasComponents={},window.addCanvasComponent=function(e,t){window.canvasComponents[e]=t},window.removeCanvasComponent=function(e){delete window.canvasComponents[e]},window.setTheme=function(e){document.querySelector("body").setAttribute("style",""),"dark"===e?document.documentElement.setAttribute("data-theme","dark"):document.documentElement.setAttribute("data-theme","light")},window.addEventListener("message",e=>{console.log("NoCodeBuilder :: main :: window message-event received: ",e),"removeCanvasComponent"===e.data.command?(console.log("NoCodeBuilder :: main :: window message-event :: command = removeCanvasComponent ",e.data.command),window.removeCanvasComponent(e.data.uid)):"updateTheme"===e.data.command&&(console.log("NoCodeBuilder :: main :: window message-event :: command = updateTheme ",e.data.command),window.setTheme(e.data.themeType))},!1),Object(o["c"])(Do).use(Io["a"],No).use(Po).mount("#app")},"60e6":function(e){e.exports=JSON.parse('[{"label":"Separator","draggable":true,"editable":false,"description":"The QSeparator component is used to separate sections of text, other components, etc... It creates a colored line across the width of the parent. It can be horizontal or vertical.\\n\\n\\n","tagName":"Q-SEPARATOR","content":"","droppable":false,"properties":[{"label":"Data Binding","name":"v-model","options":[],"type":"select"},{"label":"dark","name":"dark","enabled":true,"type":"Boolean","desc":"Notify the component that the background is a dark color","category":"style"},{"label":"spaced","name":"spaced","examples":["12px","sm","md"],"enabled":true,"type":["Boolean","String"],"desc":"If set to true, the corresponding direction margins will be set to 8px; It can also be set to a size in CSS units, including unit name, or one of the xs|sm|md|lg|xl predefined sizes","category":"content"},{"label":"inset","name":"inset","enabled":true,"type":["Boolean","String"],"desc":"If set to Boolean true, the left and right margins will be set to 16px. If set to \'item\' then it will match a QItem\'s design. If set to \'item-thumbnail\' then it will match the design of a QItem with a thumbnail on the left side","category":"content"},{"label":"vertical","name":"vertical","enabled":true,"type":"Boolean","desc":"If set to true, the separator will be vertical.","category":"content"},{"label":"size","name":"size","examples":["16px","2rem"],"enabled":true,"type":"String","desc":"Size in CSS units, including unit name","category":"style"},{"label":"color","name":"color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for component from the Quasar Color Palette","category":"style"}],"category":"Content","enabled":false,"media":"images/icons/components/ui_components/separator.png","type":"q-separator"},{"label":"Space","draggable":true,"editable":false,"description":"The purpose of QSpace (has no props) is to simply fill all available space inside of a flexbox DOM element.\\n\\nAs a sidenote, all Stipple components use flexbox. So what this means, for example (there are numerous examples, just mentioning one), is that you can use QSpace in a QToolbar.\\n","tagName":"Q-SPACE","content":"","droppable":false,"properties":[{"label":"Data Binding","name":"v-model","options":[],"type":"select"}],"category":"Content","enabled":false,"media":"images/icons/components/ui_components/space.png","type":"q-space"},{"label":"Toolbar","draggable":true,"editable":false,"description":"QToolbar is a component usually part of Layout Header and Footer, but it can be used anywhere on the page.\\n\\n\\n\\n","tagName":"Q-TOOLBAR","content":"","droppable":false,"properties":[{"label":"Data Binding","name":"v-model","options":[],"type":"select"},{"label":"inset","name":"inset","enabled":true,"type":"Boolean","desc":"Apply an inset to content (useful for subsequent toolbars)","category":"content"}],"category":"Content","enabled":false,"media":"images/icons/components/ui_components/toolbar.png","type":"q-toolbar"},{"label":"Text","draggable":true,"editable":false,"description":"","tagName":"Q-INPUT","content":"","droppable":false,"properties":[{"label":"Data Binding","name":"v-model","options":[],"type":"select"},{"label":"name","name":"name","examples":["car_id","car_id"],"enabled":true,"type":"String","desc":"Used to specify the name of the control; Useful if dealing with forms; If not specified, it takes the value of \'for\' prop, if it exists","category":"behavior"},{"label":"mask","name":"mask","examples":["###-##","date","datetime","time","fulltime","phone","card"],"enabled":true,"type":"String","desc":"Custom mask or one of the predefined mask names","category":"behavior"},{"label":"fill-mask","name":"fill-mask","examples":["true","\'0\'","\'_\'"],"enabled":true,"type":["Boolean","String"],"desc":"Fills string with specified characters (or underscore if value is not string) to fill mask\'s length","category":"behavior"},{"label":"reverse-fill-mask","name":"reverse-fill-mask","enabled":true,"type":"Boolean","desc":"Fills string from the right side of the mask","category":"behavior"},{"label":"unmasked-value","name":"unmasked-value","enabled":true,"type":"Boolean","desc":"Model will be unmasked (won\'t contain tokens/separation characters)","category":"behavior"},{"label":"model-value","name":"model-value","examples":["v-model=\\"myText\\""],"enabled":true,"type":["String","Number","null","undefined"],"desc":"Model of the component; Either use this property (along with a listener for \'update:modelValue\' event) OR use v-model directive","category":"model"},{"label":"error","name":"error","enabled":true,"type":"Boolean","desc":"Does field have validation errors?","category":"behavior"},{"label":"error-message","name":"error-message","examples":["Username must have at least 5 characters"],"enabled":true,"type":"String","desc":"Validation error message (gets displayed only if \'error\' is set to \'true\')","category":"content"},{"label":"no-error-icon","name":"no-error-icon","enabled":true,"type":"Boolean","desc":"Hide error icon when there is an error","category":"content"},{"label":"rules","name":"rules","examples":[":rules=\\"[ val => val.length <= 3 || \'Please use maximum 3 characters\' ]\\"",":rules=\\"[ \'fulltime\' ]\\"",":rules=\\"[ (val, rules) => rules.email(val) || \'Please enter a valid email address\' ]\\""],"enabled":true,"type":"Array","desc":"Array of Functions/Strings; If String, then it must be a name of one of the embedded validation rules","category":"behavior"},{"label":"reactive-rules","name":"reactive-rules","enabled":true,"type":"Boolean","desc":"By default a change in the rules does not trigger a new validation until the model changes; If set to true then a change in the rules will trigger a validation; Has a performance penalty, so use it only when you really need it","category":"behavior"},{"label":"lazy-rules","name":"lazy-rules","enabled":true,"type":["Boolean","String"],"desc":"If set to boolean true then it checks validation status against the \'rules\' only after field loses focus for first time; If set to \'ondemand\' then it will trigger only when component\'s validate() method is manually called or when the wrapper QForm submits itself","category":"behavior"},{"label":"label","name":"label","examples":["Username"],"enabled":true,"type":"String","desc":"A text label that will “float” up above the input field, once the field gets focus","category":"content"},{"label":"stack-label","name":"stack-label","enabled":true,"type":"Boolean","desc":"Label will be always shown above the field regardless of field content (if any)","category":"content"},{"label":"hint","name":"hint","examples":["Fill in between 3 and 12 characters"],"enabled":true,"type":"String","desc":"Helper (hint) text which gets placed below your wrapped form component","category":"content"},{"label":"hide-hint","name":"hide-hint","enabled":true,"type":"Boolean","desc":"Hide the helper (hint) text when field doesn\'t have focus","category":"content"},{"label":"prefix","name":"prefix","examples":["$"],"enabled":true,"type":"String","desc":"Prefix","category":"content"},{"label":"suffix","name":"suffix","examples":["@gmail.com"],"enabled":true,"type":"String","desc":"Suffix","category":"content"},{"label":"label-color","name":"label-color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for the label from the Quasar Color Palette; Overrides the \'color\' prop; The difference from \'color\' prop is that the label will always have this color, even when field is not focused","category":"style"},{"label":"color","name":"color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for component from the Quasar Color Palette","category":"style"},{"label":"bg-color","name":"bg-color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for component from the Quasar Color Palette","category":"style"},{"label":"dark","name":"dark","enabled":true,"type":"Boolean","desc":"Notify the component that the background is a dark color","category":"style"},{"label":"loading","name":"loading","enabled":true,"type":"Boolean","desc":"Signals the user a process is in progress by displaying a spinner; Spinner can be customized by using the \'loading\' slot.","category":"behavior|content"},{"label":"clearable","name":"clearable","enabled":true,"type":"Boolean","desc":"Appends clearable icon when a value (not undefined or null) is set; When clicked, model becomes null","category":"behavior|content"},{"label":"clear-icon","name":"clear-icon","options":"${supportedIcons}","examples":["close"],"uitype":"enum_icons","enabled":true,"type":"String","desc":"Custom icon to use for the clear button when using along with \'clearable\' prop","category":"content"},{"label":"filled","name":"filled","enabled":true,"type":"Boolean","desc":"Use \'filled\' design for the field","category":"style"},{"label":"outlined","name":"outlined","enabled":true,"type":"Boolean","desc":"Use \'outlined\' design for the field","category":"style"},{"label":"borderless","name":"borderless","enabled":true,"type":"Boolean","desc":"Use \'borderless\' design for the field","category":"style"},{"label":"standout","name":"standout","examples":["standout","standout=\\"bg-primary text-white\\""],"enabled":true,"type":["Boolean","String"],"desc":"Use \'standout\' design for the field; Specifies classes to be applied when focused (overriding default ones)","category":"style"},{"label":"label-slot","name":"label-slot","enabled":true,"type":"Boolean","desc":"Enables label slot; You need to set it to force use of the \'label\' slot if the \'label\' prop is not set","category":"content"},{"label":"bottom-slots","name":"bottom-slots","enabled":true,"type":"Boolean","desc":"Enables bottom slots (\'error\', \'hint\', \'counter\')","category":"content"},{"label":"hide-bottom-space","name":"hide-bottom-space","enabled":true,"type":"Boolean","desc":"Do not reserve space for hint/error/counter anymore when these are not used; As a result, it also disables the animation for those; It also allows the hint/error area to stretch vertically based on its content","category":"style"},{"label":"counter","name":"counter","enabled":true,"type":"Boolean","desc":"Show an automatic counter on bottom right","category":"content"},{"label":"rounded","name":"rounded","enabled":true,"type":"Boolean","desc":"Applies a small standard border-radius for a squared shape of the component","category":"style"},{"label":"square","name":"square","enabled":true,"type":"Boolean","desc":"Remove border-radius so borders are squared; Overrides \'rounded\' prop","category":"style"},{"label":"dense","name":"dense","enabled":true,"type":"Boolean","desc":"Dense mode; occupies less space","category":"style"},{"label":"item-aligned","name":"item-aligned","enabled":true,"type":"Boolean","desc":"Match inner content alignment to that of QItem","category":"style"},{"label":"disable","name":"disable","enabled":true,"type":"Boolean","desc":"Put component in disabled mode","category":"state"},{"label":"readonly","name":"readonly","enabled":true,"type":"Boolean","desc":"Put component in readonly mode","category":"state"},{"label":"autofocus","name":"autofocus","enabled":true,"type":"Boolean","desc":"Focus field on initial component render","category":"behavior"},{"label":"for","name":"for","examples":["myFieldsId"],"enabled":true,"type":"String","desc":"Used to specify the \'id\' of the control and also the \'for\' attribute of the label that wraps it; If no \'name\' prop is specified, then it is used for this attribute as well","category":"behavior"},{"label":"shadow-text","name":"shadow-text","examples":["rest of the fill value"],"enabled":true,"type":"String","desc":"Text to be displayed as shadow at the end of the text in the control; Does NOT applies to type=file","category":"content"},{"label":"type","name":"type","enabled":true,"type":"String","desc":"Input type","category":"general"},{"label":"debounce","name":"debounce","enabled":true,"type":["String","Number"],"desc":"Debounce amount (in milliseconds) when updating model","category":"model"},{"label":"maxlength","name":"maxlength","enabled":true,"type":["String","Number"],"desc":"Specify a max length of model","category":"model"},{"label":"autogrow","name":"autogrow","enabled":true,"type":"Boolean","desc":"Make field autogrow along with its content (uses a textarea)","category":"content"},{"label":"input-class","name":"input-class","examples":["my-special-class",":input-class=\\"{ \'my-special-class\': }\\""],"enabled":true,"type":["String","Array","Object"],"desc":"Class definitions to be attributed to the underlying input tag","category":"style"},{"label":"input-style","name":"input-style","examples":["background-color: #ff0000",":input-style=\\"{ backgroundColor: \'#ff0000\' }\\""],"enabled":true,"type":["String","Array","Object"],"desc":"Style definitions to be attributed to the underlying input tag","category":"style"}],"category":"Forms","enabled":true,"media":"images/icons/components/ui_components/input_text_field.png","type":"q-input"},{"label":"Button","draggable":true,"editable":false,"description":"Stipple has a component called QBtn which is a button with a few extra useful features. For instance, it comes in two shapes: rectangle (default) and round. It also has the material ripple effect baked in (which can be disabled).\\n\\nThe button component also comes with a spinner or loading effect. You would use this for times when app execution may cause a delay and you want to give the user some feedback about that delay. When used, the button will display a spinning animation as soon as the user clicks the button.\\n\\nWhen not disabled or spinning, QBtn emits a `@click` event, as soon as it is clicked or tapped.\\n\\n\\n","tagName":"Q-BTN","content":"","droppable":false,"properties":[{"label":"Data Binding","name":"v-model","options":[],"type":"select"},{"label":"size","name":"size","examples":["16px","2rem","xs","md"],"enabled":true,"type":"String","desc":"Size in CSS units, including unit name or standard size name (xs|sm|md|lg|xl)","category":"style"},{"label":"type","name":"type","examples":["a","submit","button","reset","image/png","href=\\"https://quasar.dev\\" target=\\"_blank\\""],"enabled":true,"type":"String","desc":"1) Define the button native type attribute (submit, reset, button) or 2) render component with tag so you can access events even if disable or 3) Use \'href\' prop and specify \'type\' as a media tag","category":"general"},{"label":"to","name":"to","examples":["/home/dashboard",":to=\\"{ name: \'my-route-name\' }\\""],"enabled":true,"type":["String","Object"],"desc":"Equivalent to Vue Router \'to\' property; Superseded by \'href\' prop if used","category":"navigation"},{"label":"replace","name":"replace","enabled":true,"type":"Boolean","desc":"Equivalent to Vue Router \'replace\' property; Superseded by \'href\' prop if used","category":"navigation"},{"label":"href","name":"href","examples":["https://quasar.dev","href=\\"https://quasar.dev\\" target=\\"_blank\\""],"enabled":true,"type":"String","desc":"Native link href attribute; Has priority over the \'to\' and \'replace\' props","category":"navigation"},{"label":"target","name":"target","examples":["_blank","_self","_parent","_top"],"enabled":true,"type":"String","desc":"Native link target attribute; Use it only with \'to\' or \'href\' props","category":"navigation"},{"label":"label","name":"label","examples":["Button Label"],"enabled":true,"type":["String","Number"],"desc":"The text that will be shown on the button","category":"content"},{"label":"icon","name":"icon","options":"${supportedIcons}","examples":["map","ion-add","img:https://cdn.quasar.dev/logo-v2/svg/logo.svg","img:path/to/some_image.png"],"uitype":"enum_icons","enabled":true,"suggested":true,"type":"String","desc":"Icon name following Quasar convention; Make sure you have the icon library installed unless you are using \'img:\' prefix; If \'none\' (String) is used as value then no icon is rendered (but screen real estate will still be used for it)","category":"content"},{"label":"icon-right","name":"icon-right","options":"${supportedIcons}","examples":["map","ion-add","img:https://cdn.quasar.dev/logo-v2/svg/logo.svg","img:path/to/some_image.png"],"uitype":"enum_icons","enabled":true,"type":"String","desc":"Icon name following Quasar convention; Make sure you have the icon library installed unless you are using \'img:\' prefix; If \'none\' (String) is used as value then no icon is rendered (but screen real estate will still be used for it)","category":"content"},{"label":"outline","name":"outline","enabled":true,"type":"Boolean","desc":"Use \'outline\' design","category":"style"},{"label":"flat","name":"flat","enabled":true,"type":"Boolean","desc":"Use \'flat\' design","category":"style"},{"label":"unelevated","name":"unelevated","enabled":true,"type":"Boolean","desc":"Remove shadow","category":"style"},{"label":"rounded","name":"rounded","enabled":true,"type":"Boolean","desc":"Applies a more prominent border-radius for a squared shape button","category":"style"},{"label":"push","name":"push","enabled":true,"type":"Boolean","desc":"Use \'push\' design","category":"style"},{"label":"square","name":"square","enabled":true,"type":"Boolean","desc":"Removes border-radius so borders are squared","category":"style"},{"label":"glossy","name":"glossy","enabled":true,"type":"Boolean","desc":"Applies a glossy effect","category":"style"},{"label":"fab","name":"fab","enabled":true,"type":"Boolean","desc":"Makes button size and shape to fit a Floating Action Button","category":"style"},{"label":"fab-mini","name":"fab-mini","enabled":true,"type":"Boolean","desc":"Makes button size and shape to fit a small Floating Action Button","category":"style"},{"label":"padding","name":"padding","examples":["16px","10px 5px","2rem","xs","md lg","2px 2px 5px 7px"],"enabled":true,"type":"String","desc":"Apply custom padding (vertical [horizontal]); Size in CSS units, including unit name or standard size name (none|xs|sm|md|lg|xl); Also removes the min width and height when set","category":"style"},{"label":"color","name":"color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"suggested":true,"type":"String","desc":"Color name for component from the Quasar Color Palette","category":"style"},{"label":"text-color","name":"text-color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Overrides text color (if needed); Color name from the Quasar Color Palette","category":"style"},{"label":"no-caps","name":"no-caps","enabled":true,"type":"Boolean","desc":"Avoid turning label text into caps (which happens by default)","category":"content"},{"label":"no-wrap","name":"no-wrap","enabled":true,"type":"Boolean","desc":"Avoid label text wrapping","category":"content"},{"label":"dense","name":"dense","enabled":true,"type":"Boolean","desc":"Dense mode; occupies less space","category":"style"},{"label":"ripple","name":"ripple","examples":[false,"{ early: true, center: true, color: \'teal\', keyCodes: [] }"],"enabled":true,"type":["Boolean","Object"],"desc":"Configure material ripple (disable it by setting it to \'false\' or supply a config object)","category":"style"},{"label":"tabindex","name":"tabindex","examples":["0","100"],"enabled":true,"type":["Number","String"],"desc":"Tabindex HTML attribute value","category":"general"},{"label":"align","name":"align","enabled":true,"type":"String","desc":"Label or content alignment","category":"content"},{"label":"stack","name":"stack","enabled":true,"type":"Boolean","desc":"Stack icon and label vertically instead of on same line (like it is by default)","category":"content"},{"label":"stretch","name":"stretch","enabled":true,"type":"Boolean","desc":"When used on flexbox parent, button will stretch to parent\'s height","category":"content"},{"label":"loading","name":"loading","enabled":true,"type":"Boolean","desc":"Put button into loading state (displays a QSpinner -- can be overridden by using a \'loading\' slot)","category":"behavior|state"},{"label":"disable","name":"disable","enabled":true,"type":"Boolean","desc":"Put component in disabled mode","category":"state"},{"label":"round","name":"round","enabled":true,"type":"Boolean","desc":"Makes a circle shaped button","category":"style"},{"label":"percentage","name":"percentage","enabled":true,"type":"Number","desc":"Percentage (0.0 < x < 100.0); To be used along \'loading\' prop; Display a progress bar on the background","category":"behavior"},{"label":"dark-percentage","name":"dark-percentage","enabled":true,"type":"Boolean","desc":"Progress bar on the background should have dark color; To be used along with \'percentage\' and \'loading\' props","category":"behavior"}],"category":"Forms","enabled":true,"media":"images/icons/components/ui_components/button.png","type":"q-btn"},{"label":"Radio","draggable":true,"editable":false,"description":"The QRadio component is another basic element for user input. You can use this to supply a way for the user to pick an option from multiple choices.\\n\\n\\n\\n","tagName":"Q-RADIO","content":"","droppable":false,"properties":[{"label":"Data Binding","name":"v-model","options":[],"type":"select"},{"label":"name","name":"name","examples":["car_id"],"enabled":true,"type":"String","desc":"Used to specify the name of the control; Useful if dealing with forms submitted directly to a URL","category":"behavior"},{"label":"size","name":"size","examples":["16px","2rem","xs","md"],"enabled":true,"type":"String","desc":"Size in CSS units, including unit name or standard size name (xs|sm|md|lg|xl)","category":"style"},{"label":"model-value","name":"model-value","examples":["v-model=\\"option\\""],"enabled":true,"type":["String","Number","null","undefined"],"desc":"Model of the component; Either use this property (along with a listener for \'update:model-value\' event) OR use v-model directive","category":"model"},{"label":"val","name":"val","examples":["opt1",50],"enabled":true,"type":["String","Number","null","undefined"],"desc":"The actual value of the option with which model value is changed","category":"model"},{"label":"label","name":"label","examples":["label=\\"Option 1\\""],"enabled":true,"type":"String","desc":"Label to display along the radio control (or use the default slot instead of this prop)","category":"label"},{"label":"left-label","name":"left-label","enabled":true,"type":"Boolean","desc":"Label (if any specified) should be displayed on the left side of the checkbox","category":"label"},{"label":"checked-icon","name":"checked-icon","options":"${supportedIcons}","examples":["visibility"],"uitype":"enum_icons","enabled":true,"type":"String","desc":"The icon to be used when selected (instead of the default design)","category":"icons"},{"label":"unchecked-icon","name":"unchecked-icon","options":"${supportedIcons}","examples":["visibility_off"],"uitype":"enum_icons","enabled":true,"type":"String","desc":"The icon to be used when un-selected (instead of the default design)","category":"icons"},{"label":"color","name":"color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"suggested":true,"type":"String","desc":"Color name for component from the Quasar Color Palette","category":"style"},{"label":"keep-color","name":"keep-color","enabled":true,"type":"Boolean","desc":"Should the color (if specified any) be kept when checkbox is unticked?","category":"behavior"},{"label":"dark","name":"dark","enabled":true,"type":"Boolean","desc":"Notify the component that the background is a dark color","category":"style"},{"label":"dense","name":"dense","enabled":true,"type":"Boolean","desc":"Dense mode; occupies less space","category":"style"},{"label":"disable","name":"disable","enabled":true,"type":"Boolean","desc":"Put component in disabled mode","category":"state"},{"label":"tabindex","name":"tabindex","examples":["0","100"],"enabled":true,"type":["Number","String"],"desc":"Tabindex HTML attribute value","category":"general"}],"category":"Forms","enabled":true,"media":"images/icons/components/ui_components/radio.png","type":"q-radio"},{"label":"Checkbox","draggable":true,"editable":false,"description":"The QCheckbox component is another basic element for user input. You can use this to supply a way for the user to toggle an option.\\n\\n\\n\\n\\n","tagName":"Q-CHECKBOX","content":"","droppable":false,"properties":[{"label":"Data Binding","name":"v-model","options":[],"type":"select"},{"label":"name","name":"name","examples":["car_id"],"enabled":true,"type":"String","desc":"Used to specify the name of the control; Useful if dealing with forms submitted directly to a URL","category":"behavior"},{"label":"size","name":"size","examples":["16px","2rem","xs","md"],"enabled":true,"type":"String","desc":"Size in CSS units, including unit name or standard size name (xs|sm|md|lg|xl)","category":"style"},{"label":"model-value","name":"model-value","examples":["false","[\'car\', \'building\']"],"enabled":true,"type":["Boolean","Any","Array"],"desc":"Model of the component; Either use this property (along with a listener for \'update:model-value\' event) OR use v-model directive","category":"model"},{"label":"val","name":"val","examples":["car"],"enabled":true,"type":"Any","desc":"Works when model (\'value\') is Array. It tells the component which value should add/remove when ticked/unticked","category":"model"},{"label":"true-value","name":"true-value","examples":["Agreed"],"enabled":true,"type":"Any","desc":"What model value should be considered as checked/ticked/on?","category":"model"},{"label":"false-value","name":"false-value","examples":["Disagree"],"enabled":true,"type":"Any","desc":"What model value should be considered as unchecked/unticked/off?","category":"model"},{"label":"indeterminate-value","name":"indeterminate-value","examples":[0,"not_answered"],"enabled":true,"type":"Any","desc":"What model value should be considered as \'indeterminate\'?","category":"behavior"},{"label":"toggle-order","name":"toggle-order","enabled":true,"type":"String","desc":"Determines toggle order of the two states (\'t\' stands for state of true, \'f\' for state of false); If \'toggle-indeterminate\' is true, then the order is: indet -> first state -> second state -> indet (and repeat), otherwise: indet -> first state -> second state -> first state -> second state -> ...","category":"behavior"},{"label":"toggle-indeterminate","name":"toggle-indeterminate","enabled":true,"type":"Boolean","desc":"When user clicks/taps on the component, should we toggle through the indeterminate state too?","category":"behavior"},{"label":"label","name":"label","examples":["I agree with the Terms and Conditions"],"enabled":true,"suggested":true,"type":"String","desc":"Label to display along the component (or use the default slot instead of this prop)","category":"label"},{"label":"left-label","name":"left-label","enabled":true,"type":"Boolean","desc":"Label (if any specified) should be displayed on the left side of the component","category":"label"},{"label":"checked-icon","name":"checked-icon","options":"${supportedIcons}","examples":["visibility"],"uitype":"enum_icons","enabled":true,"type":"String","desc":"The icon to be used when the model is truthy (instead of the default design)","category":"icons"},{"label":"unchecked-icon","name":"unchecked-icon","options":"${supportedIcons}","examples":["visibility_off"],"uitype":"enum_icons","enabled":true,"type":"String","desc":"The icon to be used when the toggle is falsy (instead of the default design)","category":"icons"},{"label":"indeterminate-icon","name":"indeterminate-icon","options":"${supportedIcons}","examples":["help"],"uitype":"enum_icons","enabled":true,"type":"String","desc":"The icon to be used when the model is indeterminate (instead of the default design)","category":"icons"},{"label":"color","name":"color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for component from the Quasar Color Palette","category":"style"},{"label":"keep-color","name":"keep-color","enabled":true,"type":"Boolean","desc":"Should the color (if specified any) be kept when the component is unticked/ off?","category":"behavior"},{"label":"dark","name":"dark","enabled":true,"type":"Boolean","desc":"Notify the component that the background is a dark color","category":"style"},{"label":"dense","name":"dense","enabled":true,"suggested":true,"type":"Boolean","desc":"Dense mode; occupies less space","category":"style"},{"label":"disable","name":"disable","enabled":true,"type":"Boolean","desc":"Put component in disabled mode","category":"state"},{"label":"tabindex","name":"tabindex","examples":["0","100"],"enabled":true,"type":["Number","String"],"desc":"Tabindex HTML attribute value","category":"general"}],"category":"Forms","enabled":true,"media":"images/icons/components/ui_components/checkbox.png","type":"q-checkbox"},{"label":"Toggle","draggable":true,"editable":false,"description":"The QToggle component is another basic element for user input. You can use this for turning settings, features or true/false inputs on and off.\\n\\n\\n\\n","tagName":"Q-TOGGLE","content":"","droppable":false,"properties":[{"label":"Data Binding","name":"v-model","options":[],"type":"select"},{"label":"name","name":"name","examples":["car_id"],"enabled":true,"type":"String","desc":"Used to specify the name of the control; Useful if dealing with forms submitted directly to a URL","category":"behavior"},{"label":"size","name":"size","examples":["16px","2rem","xs","md"],"enabled":true,"type":"String","desc":"Size in CSS units, including unit name or standard size name (xs|sm|md|lg|xl)","category":"style"},{"label":"model-value","name":"model-value","examples":["false","[\'car\', \'building\']"],"enabled":true,"type":["Boolean","Any","Array"],"desc":"Model of the component; Either use this property (along with a listener for \'update:model-value\' event) OR use v-model directive","category":"model"},{"label":"val","name":"val","examples":["car"],"enabled":true,"type":"Any","desc":"Works when model (\'value\') is Array. It tells the component which value should add/remove when ticked/unticked","category":"model"},{"label":"true-value","name":"true-value","examples":["Agreed"],"enabled":true,"type":"Any","desc":"What model value should be considered as checked/ticked/on?","category":"model"},{"label":"false-value","name":"false-value","examples":["Disagree"],"enabled":true,"type":"Any","desc":"What model value should be considered as unchecked/unticked/off?","category":"model"},{"label":"indeterminate-value","name":"indeterminate-value","examples":[0,"not_answered"],"enabled":true,"type":"Any","desc":"What model value should be considered as \'indeterminate\'?","category":"behavior"},{"label":"toggle-order","name":"toggle-order","enabled":true,"type":"String","desc":"Determines toggle order of the two states (\'t\' stands for state of true, \'f\' for state of false); If \'toggle-indeterminate\' is true, then the order is: indet -> first state -> second state -> indet (and repeat), otherwise: indet -> first state -> second state -> first state -> second state -> ...","category":"behavior"},{"label":"toggle-indeterminate","name":"toggle-indeterminate","enabled":true,"type":"Boolean","desc":"When user clicks/taps on the component, should we toggle through the indeterminate state too?","category":"behavior"},{"label":"label","name":"label","examples":["I agree with the Terms and Conditions"],"enabled":true,"suggested":"Toggle","type":"String","desc":"Label to display along the component (or use the default slot instead of this prop)","category":"label"},{"label":"left-label","name":"left-label","enabled":true,"type":"Boolean","desc":"Label (if any specified) should be displayed on the left side of the component","category":"label"},{"label":"checked-icon","name":"checked-icon","options":"${supportedIcons}","examples":["visibility"],"uitype":"enum_icons","enabled":true,"type":"String","desc":"The icon to be used when the toggle is on","category":"icons"},{"label":"unchecked-icon","name":"unchecked-icon","options":"${supportedIcons}","examples":["visibility_off"],"uitype":"enum_icons","enabled":true,"type":"String","desc":"The icon to be used when the toggle is off","category":"icons"},{"label":"indeterminate-icon","name":"indeterminate-icon","options":"${supportedIcons}","examples":["help"],"uitype":"enum_icons","enabled":true,"type":"String","desc":"The icon to be used when the model is indeterminate","category":"icons"},{"label":"color","name":"color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for component from the Quasar Color Palette","category":"style"},{"label":"keep-color","name":"keep-color","enabled":true,"type":"Boolean","desc":"Should the color (if specified any) be kept when the component is unticked/ off?","category":"behavior"},{"label":"dark","name":"dark","enabled":true,"type":"Boolean","desc":"Notify the component that the background is a dark color","category":"style"},{"label":"dense","name":"dense","enabled":true,"type":"Boolean","desc":"Dense mode; occupies less space","category":"style"},{"label":"disable","name":"disable","enabled":true,"type":"Boolean","desc":"Put component in disabled mode","category":"state"},{"label":"tabindex","name":"tabindex","examples":["0","100"],"enabled":true,"type":["Number","String"],"desc":"Tabindex HTML attribute value","category":"general"},{"label":"icon","name":"icon","options":"${supportedIcons}","examples":["map","ion-add","img:https://cdn.quasar.dev/logo-v2/svg/logo.svg","img:path/to/some_image.png"],"uitype":"enum_icons","enabled":true,"type":"String","desc":"Icon name following Quasar convention; Make sure you have the icon library installed unless you are using \'img:\' prefix; If \'none\' (String) is used as value then no icon is rendered (but screen real estate will still be used for it)","category":"content"},{"label":"icon-color","name":"icon-color","options":"${supportedIcons}","examples":["primary","teal","teal-10"],"uitype":"enum_icons","enabled":true,"type":"String","desc":"Override default icon color (for truthy state only); Color name for component from the Quasar Color Palette","category":"style"}],"category":"Widgets","enabled":true,"media":"images/icons/components/ui_components/toggle.png","type":"q-toggle"},{"label":"Slider","draggable":true,"editable":false,"description":"The QSlider is a great way for the user to specify a number value between a minimum and maximum value, with optional steps between valid values. The slider also has a focus indicator (highlighted slider button), which allows for keyboard adjustments of the slider.\\n\\nAlso check its “sibling”, the [QRange](/vue-components/range) component.\\n\\n\\n","tagName":"Q-SLIDER","content":"","droppable":false,"properties":[{"label":"Data Binding","name":"v-model","options":[],"type":"select"},{"label":"name","name":"name","examples":["car_id"],"enabled":true,"type":"String","desc":"Used to specify the name of the control; Useful if dealing with forms submitted directly to a URL","category":"behavior"},{"label":"min","name":"min","examples":[":min=\\"0\\""],"enabled":true,"type":"Number","desc":"Minimum value of the model; Set track\'s minimum value","category":"model"},{"label":"max","name":"max","enabled":true,"type":"Number","desc":"Maximum value of the model; Set track\'s maximum value","category":"model"},{"label":"inner-min","name":"inner-min","enabled":true,"type":"Number","desc":"Inner minimum value of the model; Use in case you need the model value to be inside of the track\'s min-max values; Needs to be higher or equal to \'min\' prop; Defaults to \'min\' prop","category":"model"},{"label":"inner-max","name":"inner-max","enabled":true,"type":"Number","desc":"Inner maximum value of the model; Use in case you need the model value to be inside of the track\'s min-max values; Needs to be lower or equal to \'max\' prop; Defaults to \'max\' prop","category":"model"},{"label":"step","name":"step","enabled":true,"type":"Number","desc":"Specify step amount between valid values (> 0.0); When step equals to 0 it defines infinite granularity","category":"model"},{"label":"snap","name":"snap","enabled":true,"type":"Boolean","desc":"Snap on valid values, rather than sliding freely; Suggestion: use with \'step\' prop","category":"behavior"},{"label":"reverse","name":"reverse","enabled":true,"type":"Boolean","desc":"Work in reverse (changes direction)","category":"behavior"},{"label":"vertical","name":"vertical","enabled":true,"type":"Boolean","desc":"Display in vertical direction","category":"behavior"},{"label":"color","name":"color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for component from the Quasar Color Palette","category":"style"},{"label":"track-color","name":"track-color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for the track (can be \'transparent\' too) from the Quasar Color Palette","category":"style"},{"label":"track-img","name":"track-img","examples":["~assets/my-pattern.png"],"enabled":true,"type":"String","desc":"Apply a pattern image on the track","category":"style"},{"label":"inner-track-color","name":"inner-track-color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for the inner track (can be \'transparent\' too) from the Quasar Color Palette","category":"style"},{"label":"inner-track-img","name":"inner-track-img","examples":["~assets/my-pattern.png"],"enabled":true,"type":"String","desc":"Apply a pattern image on the inner track","category":"style"},{"label":"selection-color","name":"selection-color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for the selection bar (can be \'transparent\' too) from the Quasar Color Palette","category":"style"},{"label":"selection-img","name":"selection-img","examples":["~assets/my-pattern.png"],"enabled":true,"type":"String","desc":"Apply a pattern image on the selection bar","category":"style"},{"label":"label","name":"label","enabled":true,"type":"Boolean","desc":"Popup a label when user clicks/taps on the slider thumb and moves it","category":"content"},{"label":"label-color","name":"label-color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for component from the Quasar Color Palette","category":"style"},{"label":"label-text-color","name":"label-text-color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for component from the Quasar Color Palette","category":"style"},{"label":"switch-label-side","name":"switch-label-side","enabled":true,"type":"Boolean","desc":"Switch the position of the label (top <-> bottom or left <-> right)","category":"style"},{"label":"label-always","name":"label-always","enabled":true,"type":"Boolean","desc":"Always display the label","category":"behavior|content"},{"label":"markers","name":"markers","examples":["markers",":markers=\\"5\\""],"enabled":true,"type":["Boolean","Number"],"desc":"Display markers on the track, one for each possible value for the model or using a custom step (when specifying a Number)","category":"content"},{"label":"marker-labels","name":"marker-labels","examples":[true,"[ { value: 0, label: \'0%\' }, { value: 5, classes: \'my-class\', style: { width: \'24px\' } } ]","{ 0: \'0%\', 5: { label: \'5%\', classes: \'my-class\', style: { width: \'24px\' } } }","val => (10 * val) + \'%\'","val => ({ label: (10 * val) + \'%\', classes: \'my-class\', style: { width: \'24px\' } })"],"enabled":true,"type":["Boolean","Array","Object","Function"],"desc":"Configure the marker labels (or show the default ones if \'true\'); Array of definition Objects or Object with key-value where key is the model and the value is the marker label definition","category":"content"},{"label":"marker-labels-class","name":"marker-labels-class","examples":["text-orange"],"enabled":true,"type":"String","desc":"CSS class(es) to apply to the marker labels container","category":"style"},{"label":"switch-marker-labels-side","name":"switch-marker-labels-side","enabled":true,"type":"Boolean","desc":"Switch the position of the marker labels (top <-> bottom or left <-> right)","category":"style"},{"label":"track-size","name":"track-size","examples":["35px"],"enabled":true,"type":"String","desc":"Track size (including CSS unit)","category":"style"},{"label":"thumb-size","name":"thumb-size","examples":["20px"],"enabled":true,"type":"String","desc":"Thumb size (including CSS unit)","category":"style"},{"label":"thumb-color","name":"thumb-color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for component from the Quasar Color Palette","category":"style"},{"label":"thumb-path","name":"thumb-path","examples":["M5 5 h10 v10 h-10 v-10"],"enabled":true,"type":"String","desc":"Set custom thumb svg path","category":"style"},{"label":"dark","name":"dark","enabled":true,"type":"Boolean","desc":"Notify the component that the background is a dark color","category":"style"},{"label":"dense","name":"dense","enabled":true,"type":"Boolean","desc":"Dense mode; occupies less space","category":"style"},{"label":"disable","name":"disable","enabled":true,"type":"Boolean","desc":"Put component in disabled mode","category":"state"},{"label":"readonly","name":"readonly","enabled":true,"type":"Boolean","desc":"Put component in readonly mode","category":"state"},{"label":"tabindex","name":"tabindex","examples":["0","100"],"enabled":true,"type":["Number","String"],"desc":"Tabindex HTML attribute value","category":"general"},{"label":"model-value","name":"model-value","examples":["v-model=\\"positionModel\\""],"enabled":true,"type":["Number","null","undefined"],"desc":"Model of the component (must be between min/max); Either use this property (along with a listener for \'update:modelValue\' event) OR use v-model directive","category":"model"},{"label":"label-value","name":"label-value","examples":[":label-value=\\"model + \'px\'\\""],"enabled":true,"type":["String","Number"],"desc":"Override default label value","category":"content"}],"category":"Forms","enabled":true,"media":"images/icons/components/ui_components/slider.png","type":"q-slider"},{"label":"Range","draggable":true,"editable":false,"description":"The QRange component is a great way to offer the user the selection of a sub-range of values between a minimum and maximum value, with optional steps to select those values. An example use case for the Range component would be to offer a price range selection.\\n\\nAlso check out its “sibling”, the [QSlider](/vue-components/slider) component.\\n\\n\\n","tagName":"Q-RANGE","content":"","droppable":false,"properties":[{"label":"Data Binding","name":"v-model","options":[],"type":"select"},{"label":"name","name":"name","examples":["car_id"],"enabled":true,"type":"String","desc":"Used to specify the name of the control; Useful if dealing with forms submitted directly to a URL","category":"behavior"},{"label":"min","name":"min","examples":[":min=\\"0\\""],"enabled":true,"type":"Number","desc":"Minimum value of the model; Set track\'s minimum value","category":"model"},{"label":"max","name":"max","enabled":true,"type":"Number","desc":"Maximum value of the model; Set track\'s maximum value","category":"model"},{"label":"inner-min","name":"inner-min","enabled":true,"type":"Number","desc":"Inner minimum value of the model; Use in case you need the model value to be inside of the track\'s min-max values; Needs to be higher or equal to \'min\' prop; Defaults to \'min\' prop","category":"model"},{"label":"inner-max","name":"inner-max","enabled":true,"type":"Number","desc":"Inner maximum value of the model; Use in case you need the model value to be inside of the track\'s min-max values; Needs to be lower or equal to \'max\' prop; Defaults to \'max\' prop","category":"model"},{"label":"step","name":"step","enabled":true,"type":"Number","desc":"Specify step amount between valid values (> 0.0); When step equals to 0 it defines infinite granularity","category":"model"},{"label":"snap","name":"snap","enabled":true,"type":"Boolean","desc":"Snap on valid values, rather than sliding freely; Suggestion: use with \'step\' prop","category":"behavior"},{"label":"reverse","name":"reverse","enabled":true,"type":"Boolean","desc":"Work in reverse (changes direction)","category":"behavior"},{"label":"vertical","name":"vertical","enabled":true,"type":"Boolean","desc":"Display in vertical direction","category":"behavior"},{"label":"color","name":"color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for component from the Quasar Color Palette","category":"style"},{"label":"track-color","name":"track-color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for the track (can be \'transparent\' too) from the Quasar Color Palette","category":"style"},{"label":"track-img","name":"track-img","examples":["~assets/my-pattern.png"],"enabled":true,"type":"String","desc":"Apply a pattern image on the track","category":"style"},{"label":"inner-track-color","name":"inner-track-color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for the inner track (can be \'transparent\' too) from the Quasar Color Palette","category":"style"},{"label":"inner-track-img","name":"inner-track-img","examples":["~assets/my-pattern.png"],"enabled":true,"type":"String","desc":"Apply a pattern image on the inner track","category":"style"},{"label":"selection-color","name":"selection-color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for the selection bar (can be \'transparent\' too) from the Quasar Color Palette","category":"style"},{"label":"selection-img","name":"selection-img","examples":["~assets/my-pattern.png"],"enabled":true,"type":"String","desc":"Apply a pattern image on the selection bar","category":"style"},{"label":"label","name":"label","enabled":true,"type":"Boolean","desc":"Popup a label when user clicks/taps on the slider thumb and moves it","category":"content"},{"label":"label-color","name":"label-color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for component from the Quasar Color Palette","category":"style"},{"label":"label-text-color","name":"label-text-color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for component from the Quasar Color Palette","category":"style"},{"label":"switch-label-side","name":"switch-label-side","enabled":true,"type":"Boolean","desc":"Switch the position of the label (top <-> bottom or left <-> right)","category":"style"},{"label":"label-always","name":"label-always","enabled":true,"type":"Boolean","desc":"Always display the label","category":"behavior|content"},{"label":"markers","name":"markers","examples":["markers",":markers=\\"5\\""],"enabled":true,"type":["Boolean","Number"],"desc":"Display markers on the track, one for each possible value for the model or using a custom step (when specifying a Number)","category":"content"},{"label":"marker-labels","name":"marker-labels","examples":[true,"[ { value: 0, label: \'0%\' }, { value: 5, classes: \'my-class\', style: { width: \'24px\' } } ]","{ 0: \'0%\', 5: { label: \'5%\', classes: \'my-class\', style: { width: \'24px\' } } }","val => (10 * val) + \'%\'","val => ({ label: (10 * val) + \'%\', classes: \'my-class\', style: { width: \'24px\' } })"],"enabled":true,"type":["Boolean","Array","Object","Function"],"desc":"Configure the marker labels (or show the default ones if \'true\'); Array of definition Objects or Object with key-value where key is the model and the value is the marker label definition","category":"content"},{"label":"marker-labels-class","name":"marker-labels-class","examples":["text-orange"],"enabled":true,"type":"String","desc":"CSS class(es) to apply to the marker labels container","category":"style"},{"label":"switch-marker-labels-side","name":"switch-marker-labels-side","enabled":true,"type":"Boolean","desc":"Switch the position of the marker labels (top <-> bottom or left <-> right)","category":"style"},{"label":"track-size","name":"track-size","examples":["35px"],"enabled":true,"type":"String","desc":"Track size (including CSS unit)","category":"style"},{"label":"thumb-size","name":"thumb-size","examples":["20px"],"enabled":true,"type":"String","desc":"Thumb size (including CSS unit)","category":"style"},{"label":"thumb-color","name":"thumb-color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for component from the Quasar Color Palette","category":"style"},{"label":"thumb-path","name":"thumb-path","examples":["M5 5 h10 v10 h-10 v-10"],"enabled":true,"type":"String","desc":"Set custom thumb svg path","category":"style"},{"label":"dark","name":"dark","enabled":true,"type":"Boolean","desc":"Notify the component that the background is a dark color","category":"style"},{"label":"dense","name":"dense","enabled":true,"type":"Boolean","desc":"Dense mode; occupies less space","category":"style"},{"label":"disable","name":"disable","enabled":true,"type":"Boolean","desc":"Put component in disabled mode","category":"state"},{"label":"readonly","name":"readonly","enabled":true,"type":"Boolean","desc":"Put component in readonly mode","category":"state"},{"label":"tabindex","name":"tabindex","examples":["0","100"],"enabled":true,"type":["Number","String"],"desc":"Tabindex HTML attribute value","category":"general"},{"label":"model-value","name":"model-value","examples":["v-model=\\"positionModel\\""],"enabled":true,"type":["Object","null","undefined"],"desc":"Model of the component of type { min, max } (both values must be between global min/max); Either use this property (along with a listener for \'update:modelValue\' event) OR use v-model directive","category":"model"},{"label":"drag-range","name":"drag-range","enabled":true,"type":"Boolean","desc":"User can drag range instead of just the two thumbs","category":"content"},{"label":"drag-only-range","name":"drag-only-range","enabled":true,"type":"Boolean","desc":"User can drag only the range instead and NOT the two thumbs","category":"content"},{"label":"left-label-color","name":"left-label-color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for left label background from the Quasar Color Palette","category":"labels"},{"label":"left-label-text-color","name":"left-label-text-color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for left label text from the Quasar Color Palette","category":"labels"},{"label":"right-label-color","name":"right-label-color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for right label background from the Quasar Color Palette","category":"labels"},{"label":"right-label-text-color","name":"right-label-text-color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for right label text from the Quasar Color Palette","category":"labels"},{"label":"left-label-value","name":"left-label-value","examples":[":left-label-value=\\"model.min + \'px\'\\""],"enabled":true,"type":["String","Number"],"desc":"Override default label for min value","category":"labels"},{"label":"right-label-value","name":"right-label-value","examples":[":right-label-value=\\"model.max + \'px\'\\""],"enabled":true,"type":["String","Number"],"desc":"Override default label for max value","category":"labels"},{"label":"left-thumb-color","name":"left-thumb-color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name (from the Quasar Color Palette) for left thumb","category":"labels"},{"label":"right-thumb-color","name":"right-thumb-color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name (from the Quasar Color Palette) for right thumb","category":"labels"}],"category":"Forms","enabled":true,"media":"images/icons/components/ui_components/range.png","type":"q-range"},{"label":"Date Picker","draggable":true,"editable":false,"description":"The QDate component provides a method to input date. Currently it supports Gregorian (default) and Persian calendars.\\n\\n\\n\\n","tagName":"Q-DATE","content":"","droppable":false,"properties":[{"label":"Data Binding","name":"v-model","options":[],"type":"select"},{"label":"name","name":"name","examples":["car_id"],"enabled":true,"type":"String","desc":"Used to specify the name of the control; Useful if dealing with forms submitted directly to a URL","category":"behavior"},{"label":"landscape","name":"landscape","enabled":true,"type":"Boolean","desc":"Display the component in landscape mode","category":"behavior"},{"label":"mask","name":"mask","examples":["YYYY-MM-DD","MMMM Do, YYYY","YYYY-MM-DD HH:mm:ss"],"enabled":true,"type":"String","desc":"Mask (formatting string) used for parsing and formatting value","category":"model"},{"label":"locale","name":"locale","examples":[":locale=\\"{ monthsShort: [\'Ian\', \'Feb\', \'Mar\', \'...\'] }\\""],"enabled":true,"type":"Object","desc":"Locale formatting options","category":"model"},{"label":"calendar","name":"calendar","enabled":true,"type":"String","desc":"Specify calendar type","category":"model"},{"label":"color","name":"color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for component from the Quasar Color Palette","category":"style"},{"label":"text-color","name":"text-color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Overrides text color (if needed); Color name from the Quasar Color Palette","category":"style"},{"label":"dark","name":"dark","enabled":true,"type":"Boolean","desc":"Notify the component that the background is a dark color","category":"style"},{"label":"square","name":"square","enabled":true,"type":"Boolean","desc":"Removes border-radius so borders are squared","category":"style"},{"label":"flat","name":"flat","enabled":true,"type":"Boolean","desc":"Applies a \'flat\' design (no default shadow)","category":"style"},{"label":"bordered","name":"bordered","enabled":true,"type":"Boolean","desc":"Applies a default border to the component","category":"style"},{"label":"readonly","name":"readonly","enabled":true,"type":"Boolean","desc":"Put component in readonly mode","category":"state"},{"label":"disable","name":"disable","enabled":true,"type":"Boolean","desc":"Put component in disabled mode","category":"state"},{"label":"model-value","name":"model-value","examples":["v-model=\\"myDate\\"","v-model=\\"[myDate1, myDate2]\\"","v-model=\\"[{ from: myDateFrom, to: myDateTo }]\\"","v-model=\\"[myDate1, { from: myDateFrom, to: myDateTo }, myDate2]\\""],"enabled":true,"type":["String","Array","Object","null","undefined"],"desc":"Date(s) of the component; Must be Array if using \'multiple\' prop; Either use this property (along with a listener for \'update:model-value\' event) OR use v-model directive","category":"model"},{"label":"title","name":"title","examples":["Birthday"],"enabled":true,"type":"String","desc":"When specified, it overrides the default header title; Makes sense when not in \'minimal\' mode","category":"content"},{"label":"subtitle","name":"subtitle","examples":["John Doe"],"enabled":true,"type":"String","desc":"When specified, it overrides the default header subtitle; Makes sense when not in \'minimal\' mode","category":"content"},{"label":"default-year-month","name":"default-year-month","examples":["1986/02"],"enabled":true,"type":"String","desc":"The default year and month to display (in YYYY/MM format) when model is unfilled (undefined or null); Please ensure it is within the navigation min/max year-month (if using them)","category":"model"},{"label":"default-view","name":"default-view","enabled":true,"type":"String","desc":"The view which will be displayed by default","category":"model"},{"label":"years-in-month-view","name":"years-in-month-view","enabled":true,"type":"Boolean","desc":"Show the years selector in months view","category":"behavior"},{"label":"events","name":"events","examples":[":events=\\"[\'2018/11/05\', \'2018/11/06\', \'2018/11/09\', \'2018/11/23\']\\"",":events=\\"date => date[9] % 3 === 0\\""],"enabled":true,"type":["Array","Function"],"desc":"A list of events to highlight on the calendar; If using a function, it receives the date as a String and must return a Boolean (matches or not); If using a function then for best performance, reference it from your scope and do not define it inline","category":"model"},{"label":"event-color","name":"event-color","examples":["teal-10",":event-color=\\"(date) => date[9] % 2 === 0 ? \'teal\' : \'orange\'\\""],"enabled":true,"type":["String","Function"],"desc":"Color name (from the Quasar Color Palette); If using a function, it receives the date as a String and must return a String (color for the received date); If using a function then for best performance, reference it from your scope and do not define it inline","category":"style"},{"label":"options","name":"options","examples":[":options=\\"[\'2018/11/05\', \'2018/11/12\', \'2018/11/19\', \'2018/11/26\' ]\\"",":options=\\"date => date[9] % 3 === 0\\"",":options=\\"date => date >= \'2018/11/03\' && date <= \'2018/11/15\'\\""],"enabled":true,"type":["Array","Function"],"desc":"Optionally configure the days that are selectable; If using a function, it receives the date as a String and must return a Boolean (is date acceptable or not); If using a function then for best performance, reference it from your scope and do not define it inline; Incompatible with \'range\' prop","category":"model"},{"label":"navigation-min-year-month","name":"navigation-min-year-month","examples":["2020/07"],"enabled":true,"type":"String","desc":"Lock user from navigating below a specific year+month (in YYYY/MM format); This prop is not used to correct the model; You might want to also use \'default-year-month\' prop","category":"selection"},{"label":"navigation-max-year-month","name":"navigation-max-year-month","examples":["2020/10"],"enabled":true,"type":"String","desc":"Lock user from navigating above a specific year+month (in YYYY/MM format); This prop is not used to correct the model; You might want to also use \'default-year-month\' prop","category":"selection"},{"label":"no-unset","name":"no-unset","enabled":true,"type":"Boolean","desc":"Remove ability to unselect a date; It does not apply to selecting a range over already selected dates","category":"selection"},{"label":"first-day-of-week","name":"first-day-of-week","examples":["first-day-of-week=\\"1\\"",":first-day-of-week=\\"selectedFirstDayOfTheWeek\\""],"enabled":true,"type":["String","Number"],"desc":"Sets the day of the week that is considered the first day (0 - Sunday, 1 - Monday, ...); This day will show in the left-most column of the calendar","category":"model"},{"label":"today-btn","name":"today-btn","enabled":true,"type":"Boolean","desc":"Display a button that selects the current day","category":"content"},{"label":"minimal","name":"minimal","enabled":true,"type":"Boolean","desc":"Don’t display the header","category":"content"},{"label":"multiple","name":"multiple","enabled":true,"type":"Boolean","desc":"Allow multiple selection; Model must be Array","category":"model|selection"},{"label":"range","name":"range","enabled":true,"type":"Boolean","desc":"Allow range selection; Partial compatibility with \'options\' prop: selected ranges might also include \'unselectable\' days","category":"model|selection"},{"label":"emit-immediately","name":"emit-immediately","enabled":true,"type":"Boolean","desc":"Emit model when user browses month and year too; ONLY for single selection (non-multiple, non-range)","category":"model"}],"category":"Forms","enabled":true,"media":"images/icons/components/ui_components/date_picker.png","type":"q-date"},{"label":"List","draggable":true,"editable":false,"description":"The QList and QItem are a group of components which can work together to present multiple line items vertically as a single continuous element. They are best suited for displaying similar data types as rows of information, such as a contact list, a playlist or menu. Each row is called an Item. QItem can also be used outside of a QList too.\\n\\nLists can encapsulate Items or Item-like components, for example [QExpansionItem](/vue-components/expansion-item) or [QSlideItem](/vue-components/slide-item). Also [QSeparator](/vue-components/separator) can be used to split up sections, where needed.\\n\\nList Items have the following pre-built child components:\\n\\n* **QItemSection** - An item section can have several uses for particular content. They are controlled via the `avatar`, `thumbnail` and `side` props. With no props, it will render the main section of your QItem (which spans to the fullest of available space).\\n* **QItemLabel** - An item label is useful for predefined text content type within a QItemSection, or for header-like content of the QList itself.\\n\\n\\n\\n\\n\\n","tagName":"Q-LIST","content":"","droppable":false,"properties":[{"label":"Data Binding","name":"v-model","options":[],"type":"select"},{"label":"bordered","name":"bordered","enabled":true,"type":"Boolean","desc":"Applies a default border to the component","category":"style"},{"label":"dense","name":"dense","enabled":true,"type":"Boolean","desc":"Dense mode; occupies less space","category":"style"},{"label":"separator","name":"separator","enabled":true,"type":"Boolean","desc":"Applies a separator between contained items","category":"content"},{"label":"dark","name":"dark","enabled":true,"type":"Boolean","desc":"Notify the component that the background is a dark color","category":"style"},{"label":"padding","name":"padding","enabled":true,"type":"Boolean","desc":"Applies a material design-like padding on top and bottom","category":"content"},{"label":"tag","name":"tag","examples":["div","span","div","ul","ol"],"enabled":true,"type":"String","desc":"HTML tag to use","category":"content"}],"category":"Lists","enabled":false,"media":"images/icons/components/ui_components/list.png","type":"q-list"},{"label":"Item","draggable":true,"editable":false,"description":"","tagName":"Q-ITEM","content":"","droppable":false,"properties":[{"label":"Data Binding","name":"v-model","options":[],"type":"select"},{"label":"to","name":"to","examples":["/home/dashboard",":to=\\"{ name: \'my-route-name\' }\\""],"enabled":true,"type":["String","Object"],"desc":"Equivalent to Vue Router \'to\' property; Superseded by \'href\' prop if used","category":"navigation"},{"label":"exact","name":"exact","enabled":true,"type":"Boolean","desc":"Equivalent to Vue Router \'exact\' property; Superseded by \'href\' prop if used","category":"navigation"},{"label":"replace","name":"replace","enabled":true,"type":"Boolean","desc":"Equivalent to Vue Router \'replace\' property; Superseded by \'href\' prop if used","category":"navigation"},{"label":"active-class","name":"active-class","examples":["my-active-class"],"enabled":true,"type":"String","desc":"Equivalent to Vue Router \'active-class\' property; Superseded by \'href\' prop if used","category":"navigation"},{"label":"exact-active-class","name":"exact-active-class","examples":["my-exact-active-class"],"enabled":true,"type":"String","desc":"Equivalent to Vue Router \'active-class\' property; Superseded by \'href\' prop if used","category":"navigation"},{"label":"href","name":"href","examples":["https://quasar.dev"],"enabled":true,"type":"String","desc":"Native link href attribute; Has priority over the \'to\'/\'exact\'/\'replace\'/\'active-class\'/\'exact-active-class\' props","category":"navigation"},{"label":"target","name":"target","examples":["_blank","_self","_parent","_top"],"enabled":true,"type":"String","desc":"Native link target attribute; Use it only along with \'href\' prop; Has priority over the \'to\'/\'exact\'/\'replace\'/\'active-class\'/\'exact-active-class\' props","category":"navigation"},{"label":"disable","name":"disable","enabled":true,"type":"Boolean","desc":"Put component in disabled mode","category":"state"},{"label":"active","name":"active","enabled":true,"type":"Boolean","desc":"Put item into \'active\' state","category":"state"},{"label":"dark","name":"dark","enabled":true,"type":"Boolean","desc":"Notify the component that the background is a dark color","category":"style"},{"label":"clickable","name":"clickable","enabled":true,"type":"Boolean","desc":"Is QItem clickable? If it\'s the case, then it will add hover effects and emit \'click\' events","category":"state"},{"label":"dense","name":"dense","enabled":true,"type":"Boolean","desc":"Dense mode; occupies less space","category":"style"},{"label":"inset-level","name":"inset-level","examples":[":inset-level=\\"1\\""],"enabled":true,"type":"Number","desc":"Apply an inset; Useful when avatar/left side is missing but you want to align content with other items that do have a left side, or when you\'re building a menu","category":"content"},{"label":"tabindex","name":"tabindex","examples":["0","100"],"enabled":true,"type":["Number","String"],"desc":"Tabindex HTML attribute value","category":"general"},{"label":"tag","name":"tag","examples":["div","span","a","label","div"],"enabled":true,"type":"String","desc":"HTML tag to render; Suggestion: use \'label\' when encapsulating a QCheckbox/QRadio/QToggle so that when user clicks/taps on the whole item it will trigger a model change for the mentioned components","category":"content"},{"label":"manual-focus","name":"manual-focus","enabled":true,"type":"Boolean","desc":"Put item into a manual focus state; Enables \'focused\' prop which will determine if item is focused or not, rather than relying on native hover/focus states","category":"state"},{"label":"focused","name":"focused","enabled":true,"type":"Boolean","desc":"Determines focus state, ONLY if \'manual-focus\' is enabled / set to true","category":"state"}],"category":"Lists","enabled":false,"media":"images/icons/components/ui_components/item.png","type":"q-item"},{"label":"Item Label","draggable":true,"editable":false,"description":"","tagName":"Q-ITEM-LABEL","content":"","droppable":false,"properties":[{"label":"Data Binding","name":"v-model","options":[],"type":"select"},{"label":"overline","name":"overline","enabled":true,"type":"Boolean","desc":"Renders an overline label","category":"content"},{"label":"caption","name":"caption","enabled":true,"type":"Boolean","desc":"Renders a caption label","category":"content"},{"label":"header","name":"header","enabled":true,"type":"Boolean","desc":"Renders a header label","category":"content"},{"label":"lines","name":"lines","enabled":true,"type":["Number","String"],"desc":"Apply ellipsis when there\'s not enough space to render on the specified number of lines;","category":"content|behavior"}],"category":"Lists","enabled":false,"media":"images/icons/components/ui_components/item.png","type":"q-item-label"},{"label":"Video","draggable":true,"editable":false,"description":"Using the QVideo component makes embedding a video like Youtube easy. It also resizes to fit the container by default.\\n\\n\\n\\n","tagName":"Q-VIDEO","content":"","droppable":false,"properties":[{"label":"Data Binding","name":"v-model","options":[],"type":"select"},{"label":"ratio","name":"ratio","examples":[":ratio=\\"4/3\\"",":ratio=\\"16/9\\"","ratio=\\"1\\""],"enabled":true,"type":["String","Number"],"desc":"Aspect ratio for the content; If value is a String, then avoid using a computational statement (like \'16/9\') and instead specify the String value of the result directly (eg. \'1.7777\')","category":"style"},{"label":"src","name":"src","examples":["https://www.youtube.com/embed/k3_tw44QsZQ"],"enabled":true,"type":"String","desc":"The source url to display in an iframe","category":"model"},{"label":"title","name":"title","examples":["My Daily Marathon"],"enabled":true,"type":"String","desc":"(Accessibility) Set the native \'title\' attribute value of the inner iframe being used","category":"accessibility"},{"label":"fetchpriority","name":"fetchpriority","enabled":true,"type":"String","desc":"Provides a hint of the relative priority to use when fetching the iframe document","category":"behavior"},{"label":"loading","name":"loading","enabled":true,"type":"String","desc":"Indicates how the browser should load the iframe","category":"behavior"},{"label":"referrerpolicy","name":"referrerpolicy","enabled":true,"type":"String","desc":"Indicates which referrer to send when fetching the frame\'s resource","category":"behavior"}],"category":"Multimedia","enabled":true,"media":"images/icons/components/ui_components/video.png","type":"q-video"},{"label":"Avatar","draggable":true,"editable":false,"description":"The QAvatar component creates a scalable, color-able element that can have text, icon or image within its shape. By default it is circular, but it can also be square or have a border-radius applied to give rounded corners to the square shape.\\n\\nIt is often used with other components in their slots.\\n\\n\\n","tagName":"Q-AVATAR","content":"","droppable":false,"properties":[{"label":"Data Binding","name":"v-model","options":[],"type":"select"},{"label":"size","name":"size","examples":["16px","2rem","xs","md"],"enabled":true,"type":"String","desc":"Size in CSS units, including unit name or standard size name (xs|sm|md|lg|xl)","category":"style"},{"label":"font-size","name":"font-size","examples":["18px","2rem"],"enabled":true,"type":"String","desc":"The size in CSS units, including unit name, of the content (icon, text)","category":"style"},{"label":"color","name":"color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for component from the Quasar Color Palette","category":"style"},{"label":"text-color","name":"text-color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Overrides text color (if needed); Color name from the Quasar Color Palette","category":"style"},{"label":"icon","name":"icon","options":"${supportedIcons}","examples":["map","ion-add","img:https://cdn.quasar.dev/logo-v2/svg/logo.svg","img:path/to/some_image.png"],"uitype":"enum_icons","enabled":true,"type":"String","desc":"Icon name following Quasar convention; Make sure you have the icon library installed unless you are using \'img:\' prefix; If \'none\' (String) is used as value then no icon is rendered (but screen real estate will still be used for it)","category":"content"},{"label":"square","name":"square","enabled":true,"type":"Boolean","desc":"Removes border-radius so borders are squared","category":"style"},{"label":"rounded","name":"rounded","enabled":true,"type":"Boolean","desc":"Applies a small standard border-radius for a squared shape of the component","category":"style"}],"category":"Other","enabled":true,"media":"images/icons/components/ui_components/avatar.png","type":"q-avatar"},{"label":"Badge","draggable":true,"editable":false,"description":"The QBadge component allows you to create a small badge for adding information like contextual data that needs to stand out and get noticed. It is also often useful in combination with other elements like a user avatar to show a number of new messages.\\n\\n\\n","tagName":"Q-BADGE","content":"","droppable":false,"properties":[{"label":"Data Binding","name":"v-model","options":[],"type":"select"},{"label":"color","name":"color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for component from the Quasar Color Palette","category":"style"},{"label":"text-color","name":"text-color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Overrides text color (if needed); Color name from the Quasar Color Palette","category":"style"},{"label":"floating","name":"floating","enabled":true,"type":"Boolean","desc":"Tell QBadge if it should float to the top right side of the relative positioned parent element or not","category":"content"},{"label":"transparent","name":"transparent","enabled":true,"type":"Boolean","desc":"Applies a 0.8 opacity; Useful especially for floating QBadge","category":"style"},{"label":"multi-line","name":"multi-line","enabled":true,"type":"Boolean","desc":"Content can wrap to multiple lines","category":"content"},{"label":"label","name":"label","examples":["John Doe",22],"enabled":true,"type":["String","Number"],"desc":"Badge\'s content as string; overrides default slot if specified","category":"content"},{"label":"align","name":"align","enabled":true,"type":"String","desc":"Sets vertical-align CSS prop","category":"content"},{"label":"outline","name":"outline","enabled":true,"type":"Boolean","desc":"Use \'outline\' design (colored text and borders only)","category":"style"},{"label":"rounded","name":"rounded","enabled":true,"type":"Boolean","desc":"Makes a rounded shaped badge","category":"style"}],"category":"Other","enabled":true,"media":"images/icons/components/ui_components/badge.png","type":"q-badge"},{"label":"Banner","draggable":true,"editable":false,"description":"The QBanner component creates a banner element to display a prominent message and related optional actions.\\n\\nAccording to the Material Design spec, the banner should be \\"displayed at the top of the screen, below a top app bar\\" - but of course you can put one anywhere that makes sense, even in a QDialog.\\n\\n\\n","tagName":"Q-BANNER","content":"","droppable":false,"properties":[{"label":"Data Binding","name":"v-model","options":[],"type":"select"},{"label":"inline-actions","name":"inline-actions","enabled":true,"type":"Boolean","desc":"Display actions on same row as content","category":"content"},{"label":"dense","name":"dense","enabled":true,"type":"Boolean","desc":"Dense mode; occupies less space","category":"style"},{"label":"rounded","name":"rounded","enabled":true,"type":"Boolean","desc":"Applies a small standard border-radius for a squared shape of the component","category":"style"},{"label":"dark","name":"dark","enabled":true,"type":"Boolean","desc":"Notify the component that the background is a dark color","category":"style"}],"category":"Widgets","enabled":false,"media":"images/icons/components/ui_components/banner.png","type":"q-banner"},{"label":"Chip","draggable":true,"editable":false,"description":"The QChip component is basically a simple UI block entity, representing for example more advanced underlying data, such as a contact, in a compact way.\\n\\nChips can contain entities such as an avatar, text or an icon, optionally having a pointer too. They can also be closed or removed if configured so.\\n\\n\\n\\n\\n","tagName":"Q-CHIP","content":"","droppable":false,"properties":[{"label":"Data Binding","name":"v-model","options":[],"type":"select"},{"label":"dense","name":"dense","enabled":true,"type":"Boolean","desc":"Dense mode; occupies less space","category":"style"},{"label":"size","name":"size","examples":["xs","sm","md","lg","xl","25px","2rem"],"enabled":true,"type":"String","desc":"QChip size name or a CSS unit including unit name","category":"style"},{"label":"dark","name":"dark","enabled":true,"type":"Boolean","desc":"Notify the component that the background is a dark color","category":"style"},{"label":"icon","name":"icon","options":"${supportedIcons}","examples":["map","ion-add","img:https://cdn.quasar.dev/logo-v2/svg/logo.svg","img:path/to/some_image.png"],"uitype":"enum_icons","enabled":true,"type":"String","desc":"Icon name following Quasar convention; Make sure you have the icon library installed unless you are using \'img:\' prefix; If \'none\' (String) is used as value then no icon is rendered (but screen real estate will still be used for it)","category":"content"},{"label":"icon-right","name":"icon-right","options":"${supportedIcons}","examples":["map","ion-add","img:https://cdn.quasar.dev/logo-v2/svg/logo.svg","img:path/to/some_image.png"],"uitype":"enum_icons","enabled":true,"type":"String","desc":"Icon name following Quasar convention; Make sure you have the icon library installed unless you are using \'img:\' prefix; If \'none\' (String) is used as value then no icon is rendered (but screen real estate will still be used for it)","category":"content"},{"label":"icon-remove","name":"icon-remove","options":"${supportedIcons}","examples":["map","ion-add","img:https://cdn.quasar.dev/logo-v2/svg/logo.svg","img:path/to/some_image.png"],"uitype":"enum_icons","enabled":true,"type":"String","desc":"Icon name following Quasar convention; Make sure you have the icon library installed unless you are using \'img:\' prefix; If \'none\' (String) is used as value then no icon is rendered (but screen real estate will still be used for it)","category":"content"},{"label":"icon-selected","name":"icon-selected","options":"${supportedIcons}","examples":["map","ion-add","img:https://cdn.quasar.dev/logo-v2/svg/logo.svg","img:path/to/some_image.png"],"uitype":"enum_icons","enabled":true,"type":"String","desc":"Icon name following Quasar convention; Make sure you have the icon library installed unless you are using \'img:\' prefix; If \'none\' (String) is used as value then no icon is rendered (but screen real estate will still be used for it)","category":"content"},{"label":"label","name":"label","examples":["John Doe","Book"],"enabled":true,"type":["String","Number"],"desc":"Chip\'s content as string; overrides default slot if specified","category":"content"},{"label":"color","name":"color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for component from the Quasar Color Palette","category":"style"},{"label":"text-color","name":"text-color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Overrides text color (if needed); Color name from the Quasar Color Palette","category":"style"},{"label":"model-value","name":"model-value","enabled":true,"type":"Boolean","desc":"Model of the component determining if QChip should be rendered or not","category":"model"},{"label":"selected","name":"selected","examples":["v-model:selected=\\"myState\\""],"enabled":true,"type":"Boolean","desc":"Model for QChip if it\'s selected or not","category":"model"},{"label":"square","name":"square","enabled":true,"type":"Boolean","desc":"Sets a low value for border-radius instead of the default one, making it close to a square","category":"style"},{"label":"outline","name":"outline","enabled":true,"type":"Boolean","desc":"Display using the \'outline\' design","category":"style"},{"label":"clickable","name":"clickable","enabled":true,"type":"Boolean","desc":"Is QChip clickable? If it\'s the case, then it will add hover effects and emit \'click\' events","category":"state"},{"label":"removable","name":"removable","enabled":true,"type":"Boolean","desc":"If set, then it displays a \'remove\' icon that when clicked the QChip emits \'remove\' event","category":"state"},{"label":"ripple","name":"ripple","examples":[false,"{ early: true, center: true, color: \'teal\', keyCodes: [] }"],"enabled":true,"type":["Boolean","Object"],"desc":"Configure material ripple (disable it by setting it to \'false\' or supply a config object)","category":"style"},{"label":"remove-aria-label","name":"remove-aria-label","examples":["Remove item"],"enabled":true,"type":"String","desc":"aria-label to be used on the remove icon","category":"accessibility"},{"label":"tabindex","name":"tabindex","examples":["0","100"],"enabled":true,"type":["Number","String"],"desc":"Tabindex HTML attribute value","category":"general"},{"label":"disable","name":"disable","enabled":true,"type":"Boolean","desc":"Put component in disabled mode","category":"state"}],"category":"Widgets","enabled":true,"media":"images/icons/components/ui_components/chip.png","type":"q-chip"},{"label":"Icon","draggable":true,"editable":false,"description":"The QIcon component allows you to easily insert icons within other components or any other area of your pages.\\nStipple supports out of the box: [Material Icons](https://fonts.google.com/icons?icon.set=Material+Icons) , [Material Symbols](https://fonts.google.com/icons?icon.set=Material+Symbols) , [Font Awesome](https://fontawesome.com/icons), [Ionicons](http://ionicons.com/), [MDI](https://materialdesignicons.com/), [Eva Icons](https://akveo.github.io/eva-icons), [Themify Icons](https://themify.me/themify-icons), [Line Awesome](https://icons8.com/line-awesome) and [Bootstrap Icons](https://icons.getbootstrap.com/).\\n\\nFurthermore you can [add support by yourself](/vue-components/icon#custom-mapping) for any icon lib.\\n\\nThere are multiple types of icons in Stipple: webfont-based, svg-based and image-based. You are not bound to using only one type in your website/app.\\n\\n\\n\\n","tagName":"Q-ICON","content":"","droppable":false,"properties":[{"label":"Data Binding","name":"v-model","options":[],"type":"select"},{"label":"size","name":"size","examples":["16px","2rem","xs","md"],"enabled":true,"type":"String","desc":"Size in CSS units, including unit name or standard size name (xs|sm|md|lg|xl)","category":"style"},{"label":"tag","name":"tag","examples":["div","span","div","i"],"enabled":true,"type":"String","desc":"HTML tag to render, unless no icon is supplied or it\'s an svg icon","category":"content"},{"label":"name","name":"name","examples":["map","ion-add","img:https://cdn.quasar.dev/logo-v2/svg/logo.svg","img:path/to/some_image.png"],"enabled":true,"type":"String","desc":"Icon name following Quasar convention; Make sure you have the icon library installed unless you are using \'img:\' prefix; If \'none\' (String) is used as value then no icon is rendered (but screen real estate will still be used for it)","category":"model"},{"label":"color","name":"color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for component from the Quasar Color Palette","category":"style"},{"label":"left","name":"left","enabled":true,"type":"Boolean","desc":"Useful if icon is on the left side of something: applies a standard margin on the right side of Icon","category":"content"},{"label":"right","name":"right","enabled":true,"type":"Boolean","desc":"Useful if icon is on the right side of something: applies a standard margin on the left side of Icon","category":"content"}],"category":"Widgets","enabled":true,"media":"images/icons/components/ui_components/icon.png","type":"q-icon"},{"label":"Rating","draggable":true,"editable":false,"description":"Stipple Rating is a Component which allows users to rate items, usually known as “Star Rating”.\\n\\n\\n","tagName":"Q-RATING","content":"","droppable":false,"properties":[{"label":"Data Binding","name":"v-model","options":[],"type":"select"},{"label":"name","name":"name","examples":["car_id"],"enabled":true,"type":"String","desc":"Used to specify the name of the control; Useful if dealing with forms submitted directly to a URL","category":"behavior"},{"label":"size","name":"size","examples":["16px","2rem","xs","md"],"enabled":true,"type":"String","desc":"Size in CSS units, including unit name or standard size name (xs|sm|md|lg|xl)","category":"style"},{"label":"model-value","name":"model-value","examples":["v-model=\\"rating\\"",":model-value=\\"rating\\"",":model-value=\\"2\\""],"enabled":true,"type":"Number","desc":"Model of the component; Either use this property (along with a listener for \'update:model-value\' event) OR use v-model directive","category":"model"},{"label":"max","name":"max","enabled":true,"type":["Number","String"],"desc":"Number of icons to display","category":"general"},{"label":"icon","name":"icon","examples":["map","ion-add","img:https://cdn.quasar.dev/logo-v2/svg/logo.svg","img:path/to/some_image.png"],"enabled":true,"type":["String","Array"],"desc":"Icon name following Quasar convention; make sure you have the icon library installed unless you are using \'img:\' prefix; If an array is provided each rating value will use the corresponding icon in the array (0 based)","category":"content"},{"label":"icon-selected","name":"icon-selected","examples":["map","ion-add","img:https://cdn.quasar.dev/logo-v2/svg/logo.svg","img:path/to/some_image.png"],"enabled":true,"type":["String","Array"],"desc":"Icon name following Quasar convention to be used when selected (optional); make sure you have the icon library installed unless you are using \'img:\' prefix; If an array is provided each rating value will use the corresponding icon in the array (0 based)","category":"content"},{"label":"icon-half","name":"icon-half","examples":["map","ion-add","img:https://cdn.quasar.dev/logo-v2/svg/logo.svg","img:path/to/some_image.png"],"enabled":true,"type":["String","Array"],"desc":"Icon name following Quasar convention to be used when selected (optional); make sure you have the icon library installed unless you are using \'img:\' prefix; If an array is provided each rating value will use the corresponding icon in the array (0 based)","category":"content"},{"label":"icon-aria-label","name":"icon-aria-label","examples":["Rating","[\\"Bad\\", \\"Normal\\", \\"Good\\"]"],"enabled":true,"type":["String","Array"],"desc":"Label to be set on aria-label for Icon; If an array is provided each rating value will use the corresponding aria-label in the array (0 based); If string value is provided the rating value will be appended; If not provided the name of the icon will be used","category":"accessibility"},{"label":"color","name":"color","examples":["primary","teal","teal-10","primary","teal-10","[\\"accent\\", \\"grey-7\\"] "],"enabled":true,"type":["String","Array"],"desc":"Color name for component from the Quasar Color Palette; v1.5.0+: If an array is provided each rating value will use the corresponding color in the array (0 based)","category":"style"},{"label":"color-selected","name":"color-selected","examples":["primary","teal","teal-10"],"enabled":true,"type":["String","Array"],"desc":"Color name from the Quasar Palette for selected icons","category":"style"},{"label":"color-half","name":"color-half","examples":["primary","teal","teal-10"],"enabled":true,"type":["String","Array"],"desc":"Color name from the Quasar Palette for half selected icons","category":"style"},{"label":"no-dimming","name":"no-dimming","enabled":true,"type":"Boolean","desc":"Does not lower opacity for unselected icons","category":"style"},{"label":"no-reset","name":"no-reset","enabled":true,"type":"Boolean","desc":"When used, disables default behavior of clicking/tapping on icon which represents current model value to reset model to 0","category":"model"},{"label":"readonly","name":"readonly","enabled":true,"type":"Boolean","desc":"Put component in readonly mode","category":"state"},{"label":"disable","name":"disable","enabled":true,"type":"Boolean","desc":"Put component in disabled mode","category":"state"}],"category":"Widgets","enabled":true,"media":"images/icons/components/ui_components/rating.png","type":"q-rating"},{"label":"Spinner","draggable":true,"editable":false,"description":"A Spinner is used to show the user a timely process is currently taking place. It is an important UX feature, which gives the user the feeling the system is continuing to work for longer term activities, like grabbing data from the server or some heavy calculations.\\n\\n\\n\\n\\n","tagName":"Q-SPINNER","content":"","droppable":false,"properties":[{"label":"Data Binding","name":"v-model","options":[],"type":"select"},{"label":"size","name":"size","examples":["16px","2rem","xs","md"],"enabled":true,"type":"String","desc":"Size in CSS units, including unit name or standard size name (xs|sm|md|lg|xl)","category":"style"},{"label":"color","name":"color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for component from the Quasar Color Palette","category":"style"},{"label":"thickness","name":"thickness","enabled":true,"type":"Number","desc":"Override value to use for stroke-width","category":"style"}],"category":"Widgets","enabled":true,"media":"images/icons/components/ui_components/spinner.png","type":"q-spinner"},{"label":"Tree","draggable":true,"editable":false,"description":"Stipple Tree represents a highly configurable component that displays hierarchical data, such as a table of contents in a tree structure.\\n\\n\\n","tagName":"Q-TREE","content":"","droppable":false,"properties":[{"label":"Data Binding","name":"v-model","options":[],"type":"select"},{"label":"nodes","name":"nodes","examples":["[ {...}, {...} ]"],"enabled":true,"type":"Array","desc":"The array of nodes that designates the tree structure","category":"content"},{"label":"node-key","name":"node-key","examples":["key","id"],"enabled":true,"type":"String","desc":"The property name of each node object that holds a unique node id","category":"content"},{"label":"label-key","name":"label-key","examples":["name","description"],"enabled":true,"type":"String","desc":"The property name of each node object that holds the label of the node","category":"content"},{"label":"children-key","name":"children-key","examples":["roles","relatives"],"enabled":true,"type":"String","desc":"The property name of each node object that holds the list of children of the node","category":"content"},{"label":"no-connectors","name":"no-connectors","enabled":true,"type":"Boolean","desc":"Do not display the connector lines between nodes","category":"style"},{"label":"color","name":"color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for component from the Quasar Color Palette","category":"style"},{"label":"control-color","name":"control-color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for controls (like checkboxes) from the Quasar Color Palette","category":"style"},{"label":"text-color","name":"text-color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Overrides text color (if needed); Color name from the Quasar Color Palette","category":"style"},{"label":"selected-color","name":"selected-color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for selected nodes (from the Quasar Color Palette)","category":"style"},{"label":"dense","name":"dense","enabled":true,"type":"Boolean","desc":"Dense mode; occupies less space","category":"style"},{"label":"dark","name":"dark","enabled":true,"type":"Boolean","desc":"Notify the component that the background is a dark color","category":"style"},{"label":"icon","name":"icon","options":"${supportedIcons}","examples":["map","ion-add","img:https://cdn.quasar.dev/logo-v2/svg/logo.svg","img:path/to/some_image.png"],"uitype":"enum_icons","enabled":true,"type":"String","desc":"Icon name following Quasar convention; Make sure you have the icon library installed unless you are using \'img:\' prefix; If \'none\' (String) is used as value then no icon is rendered (but screen real estate will still be used for it)","category":"content"},{"label":"tick-strategy","name":"tick-strategy","enabled":true,"type":"String","desc":"The type of strategy to use for the selection of the nodes","category":"behavior"},{"label":"ticked","name":"ticked","examples":["v-model:ticked=\\"tickedKeys\\""],"enabled":true,"type":"Array","desc":"Keys of nodes that are ticked","category":"state"},{"label":"expanded","name":"expanded","examples":["v-model:expanded=\\"expandedKeys\\""],"enabled":true,"type":"Array","desc":"Keys of nodes that are expanded","category":"state"},{"label":"selected","name":"selected","examples":["v-model:selected=\\"selectedKey\\""],"enabled":true,"type":"Any","desc":"Key of node currently selected","category":"state"},{"label":"no-selection-unset","name":"no-selection-unset","enabled":true,"type":"Boolean","desc":"Do not allow un-selection when clicking currently selected node","category":"behavior"},{"label":"default-expand-all","name":"default-expand-all","enabled":true,"type":"Boolean","desc":"Allow the tree to have all its branches expanded, when first rendered","category":"behavior"},{"label":"accordion","name":"accordion","enabled":true,"type":"Boolean","desc":"Allows the tree to be set in accordion mode","category":"behavior"},{"label":"no-transition","name":"no-transition","enabled":true,"type":"Boolean","desc":"Turn off transition effects when expanding/collapsing nodes; Also enhances perf by a lot as a side-effect; Recommended for big trees","category":"behavior"},{"label":"filter","name":"filter","examples":[":filter=\\"searchText\\""],"enabled":true,"type":"String","desc":"The text value to be used for filtering nodes","category":"filter"},{"label":"filter-method","name":"filter-method","enabled":true,"type":"Function","desc":"The function to use to filter the tree nodes; For best performance, reference it from your scope and do not define it inline","category":"filter"},{"label":"duration","name":"duration","enabled":true,"type":"Number","desc":"Toggle animation duration (in milliseconds)","category":"style"},{"label":"no-nodes-label","name":"no-nodes-label","examples":["No nodes to show!"],"enabled":true,"type":"String","desc":"Override default such label for when no nodes are available","category":"content"},{"label":"no-results-label","name":"no-results-label","examples":["No results"],"enabled":true,"type":"String","desc":"Override default such label for when no nodes are available due to filtering","category":"content"}],"category":"Widgets","enabled":false,"media":"images/icons/components/ui_components/tree.png","type":"q-tree"},{"label":"Popup Proxy","draggable":true,"editable":false,"description":"","tagName":"Q-POPUP-PROXY","content":"","droppable":false,"properties":[{"label":"Data Binding","name":"v-model","options":[],"type":"select"},{"label":"target","name":"target","examples":[":target=\\"false\\"",":target=\\"$refs.target\\"","target=\\".my-parent\\"","target=\\"#target-id\\""],"enabled":true,"type":["Boolean","String","Element"],"desc":"Configure a target element to trigger component toggle; \'true\' means it enables the parent DOM element, \'false\' means it disables attaching events to any DOM elements; By using a String (CSS selector) or a DOM element it attaches the events to the specified DOM element (if it exists)","category":"behavior"},{"label":"no-parent-event","name":"no-parent-event","enabled":true,"type":"Boolean","desc":"Skips attaching events to the target DOM element (that trigger the element to get shown)","category":"behavior"},{"label":"context-menu","name":"context-menu","enabled":true,"type":"Boolean","desc":"Allows the component to behave like a context menu, which opens with a right mouse click (or long tap on mobile)","category":"behavior"},{"label":"model-value","name":"model-value","enabled":true,"type":"Boolean","desc":"Defines the state of the component (shown/hidden); Either use this property (along with a listener for \'update:modelValue\' event) OR use v-model directive","category":"model"},{"label":"breakpoint","name":"breakpoint","enabled":true,"type":["Number","String"],"desc":"Breakpoint (in pixels) of window width/height (whichever is smaller) from where a Menu will get to be used instead of a Dialog","category":"behavior"}],"category":"Utilities","enabled":false,"media":"images/icons/components/ui_components/popup-proxy.png","type":"q-popup-proxy"},{"label":"Timeline","draggable":true,"editable":false,"description":"The QTimeline component displays a list of events in chronological order. It is typically a graphic design showing a long bar labelled with dates alongside itself and usually events. Timelines can use any time scale, depending on the subject and data.\\n\\nQTimeline has 3 layouts:\\n\\n* `dense` (default) is showing headings, titles, subtitles and content on the **timeline-specified side** of the time line (default on right)\\n* `comfortable` is showing headings, titles and content on the **timeline-specified side** of the time line (default on right) and the subtitles on the other side\\n* `loose` is showing headings on center, titles and content on the **entry-specified side** of the time line (default on right) and the subtitles on the other side\\n\\n\\n\\n","tagName":"Q-TIMELINE","content":"","droppable":false,"properties":[{"label":"Data Binding","name":"v-model","options":[],"type":"select"},{"label":"color","name":"color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for component from the Quasar Color Palette","category":"style"},{"label":"side","name":"side","enabled":true,"type":"String","desc":"Side to place the timeline entries in dense and comfortable layout; For loose layout it gets overridden by QTimelineEntry side prop","category":"behavior"},{"label":"layout","name":"layout","enabled":true,"type":"String","desc":"Layout of the timeline. Dense keeps content and labels on one side. Comfortable keeps content on one side and labels on the opposite side. Loose puts content on both sides.","category":"behavior"},{"label":"dark","name":"dark","enabled":true,"type":"Boolean","desc":"Notify the component that the background is a dark color","category":"style"}],"category":"Timeline","enabled":false,"media":"images/icons/components/ui_components/timeline.png","type":"q-timeline"}]')},"74b3":function(e,t,a){},"763e":function(e,t,a){},"7aa7":function(e,t,a){},8011:function(e,t,a){},8760:function(e,t,a){"use strict";a("4357")},"8c55":function(e,t,a){"use strict";a("c66d")},"8cc1":function(e,t,a){},"936e":function(e,t,a){"use strict";a("74b3")},"9b64":function(e,t,a){"use strict";a("8cc1")},b13d:function(e,t,a){},b201:function(e,t,a){"use strict";a("506c")},b4b9:function(e,t,a){"use strict";a("260f")},c0b1:function(e,t,a){"use strict";a("763e")},c41b:function(e,t,a){"use strict";a("b13d")},c5ba:function(e,t,a){"use strict";a("293e")},c66d:function(e,t,a){},ce8f:function(e,t,a){"use strict";a("8011")},cec9:function(e,t,a){},cfff:function(e,t,a){},d6e4:function(e,t,a){function o(e){e.DomComponents.addType("plotly",{isComponent:function(e){if("PLOTLY"===e.tagName)return{type:"plotly",name:"Plotly"}},model:{defaults:{removable:!0,draggable:!0,droppable:!0,badgable:!0,stylable:!0,highlightable:!0,copyable:!1,resizable:!1,editable:!1,hoverable:!0,traits:[],script:function(){var e=window.parent.sharedData.externalData;let t=this.attributes.id.nodeValue;function a(t){let a={},o=Object.getOwnPropertyNames(t);return o.forEach(o=>{let n=o.replace("gb_c__",""),l=void 0!==t[o].nodeValue?t[o].nodeValue:t[o];["data","layout","config"].includes(n)&&(l=atob(l),void 0!==e[l]?a[":"+n]=e[l]:a[":"+n]=JSON.parse(l))}),a}function o(t){for(let a in t)if("object"===typeof t[a]&&null!==t[a])o(t[a]);else if("string"===typeof t[a]){const o=t[a].match(/\$_{(.+?)}/);if(o&&o[1]){const l=o[1];t[a]=n(e,l)}}}function n(e,t){const a=t.split(".");for(let o=0;o{e=t.detail,l=a(this.attributes),this.vueApp.updateServerData(e)},window.parent.addCanvasComponent(t,this);let l=a(this.attributes);this.vueApp=new Vue({el:"#vueinternal_"+t,data:function(){let t=l[":data"];o(t);let a=l[":layout"]||{};o(a);let n=l[":config"]||{};return o(n),{message:"TESTING_ID",attributes:l,serverData:e,parsedData:t,parsedLayout:a,parsedConfig:n}},methods:{updateServerData(e){this.serverData=e;let t=l[":data"];o(t),this.parsedData=t;let a=l[":layout"]||{};o(a),this.parsedLayout=a;let n=l[":config"]||{};o(n),this.parsedConfig=n},updateAttributes(e){this.attributes=a(e),l=this.attributes,this.updateServerData(this.serverData)}},mounted(){}})}},handleAttrChange(){},render:function(){this.view.onRender()},init(){this.listenTo(this,"change:attributes",this.onAttributeChange)},removed(){window.parent.postMessage({command:"removeCanvasComponent",uid:this.ccid},"*")}},view:{onAttributeChange(){},onRender(){const{el:e,model:t}=this;let a=e.attributes.id.nodeValue;e.grapesModel=t;const o=`
\n \n
\n `;e.innerHTML=o}}})}a("b7ef"),e.exports={registerPlotlyComponent:o}},d715:function(e,t,a){"use strict";a("1f3c")},dcd9:function(e,t,a){"use strict";a("f377")},e161:function(e,t,a){"use strict";a("13be")},e2af:function(e,t,a){},ec71:function(e,t,a){},f377:function(e,t,a){},f4e2:function(e,t,a){},fed2:function(e,t,a){"use strict";a("e2af")}}); -//# sourceMappingURL=app.2b84767e.js.map \ No newline at end of file diff --git a/public/js/app.2b84767e.js.map b/public/js/app.2b84767e.js.map deleted file mode 100644 index ef6295b1..00000000 --- a/public/js/app.2b84767e.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/components/panels/StylesPanel.vue?181c","webpack:///./src/components/ChartProperties.vue?b1fc","webpack:///./src/components/ChartPropertiesSection.vue?95bd","webpack:///./src/components/panels/ComponentAddDialog.vue?9ee8","webpack:///./src/components/panels/PropertiesPanel.vue?1114","webpack:///./src/components/panels/PanelTitle.vue?39e5","webpack:///./src/App.vue","webpack:///./src/components/panels/PanelTitle.vue","webpack:///./src/components/panels/PanelTitle.vue?68bb","webpack:///./src/components/Panel.vue","webpack:///./src/components/Panel.vue?5542","webpack:///./src/components/tabs/Tabs.vue","webpack:///./src/components/tabs/Tabs.vue?dca8","webpack:///./src/components/tabs/Tab.vue","webpack:///./src/utils/blockDefinitions.js","webpack:///./src/components/panels/BindingsPanel.vue","webpack:///./src/components/panels/BindingsPanel.vue?7ac9","webpack:///./src/components/panels/StylesPanel.vue","webpack:///./src/components/panels/ComponentAddDialog.vue","webpack:///./src/components/panels/ComponentAddDialog.vue?e9b4","webpack:///./src/utils/HtmlTemplateParser.js","webpack:///./src/utils/Configuration.js","webpack:///./src/components/panels/CanvasPanel.vue","webpack:///./src/components/panels/CanvasPanel.vue?ced4","webpack:///./src/components/panels/LibraryPanel.vue","webpack:///./src/components/panels/LibraryPanel.vue?2df3","webpack:///./src/components/panels/properties/AddPropertyDialog.vue","webpack:///./src/components/panels/properties/AddPropertyDialog.vue?a633","webpack:///./src/components/panels/PropertiesPanel.vue","webpack:///./src/components/panels/PropertiesPanel.vue?69be","webpack:///./src/components/ChartPropertiesSection.vue","webpack:///./src/components/ChartPropertiesSection.vue?7c2e","webpack:///./src/components/ChartProperties.vue","webpack:///./src/components/ChartProperties.vue?57ad","webpack:///./src/components/panels/LogsPanel.vue","webpack:///./src/components/panels/LogsPanel.vue?b2a6","webpack:///./src/components/BindingsConnector.vue","webpack:///./src/components/BindingsConnector.vue?da9e","webpack:///./src/utils/StatusMonitor.js","webpack:///./src/components/Main.vue","webpack:///./src/components/Main.vue?8c23","webpack:///./src/App.vue?8e8d","webpack:///./src/store/index.js","webpack:///./src/quasar-user-options.js","webpack:///./src/main.js","webpack:///./src/components/panels/BindingsPanel.vue?664d","webpack:///./src/components/panels/GlobalEventsPanel.vue?6682","webpack:///./src/components/panels/FilesPanel.vue","webpack:///./src/App.vue?0db4","webpack:///./src/components/Main.vue?5a75","webpack:///./src/components/panels/CanvasPanel.vue?dd5d","webpack:///./src/components/BindingsConnector.vue?2fd4","webpack:///./src/components/panels/LogsPanel.vue?d976","webpack:///./src/components/panels/LibraryPanel.vue?1451","webpack:///./src/components/tabs/Tab.vue?4003","webpack:///./src/components/customblocks/plotlyComponent.js","webpack:///./src/components/panels/CanvasPanel.vue?59f6","webpack:///./src/components/Panel.vue?3f22","webpack:///./src/components/panels/properties/AddPropertyDialog.vue?d14a","webpack:///./src/components/tabs/Tabs.vue?09ab"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","_createBlock","_component_Main","msg","expanded","ref","props","toggleExpand","emit","watch","__exports__","onExpandClicked","saveExpandedState","localStorage","setItem","title","loadExpandedState","state","getItem","tabContainer","tabHeaders","tabs","activeTabIndex","onMounted","querySelectorAll","x","classList","contains","indexOf","changeTab","index","remove","add","blockDefinitionsSource","JSON","parse","stringify","blockDefinitionsSourceRaw","injectableVariables","supportedIcons","sort","supportedColors","parseDefinitionsSource","console","log","filter","block","enabled","forEach","indexOfVmodel","properties","findIndex","prop","indexOfModelValue","label","content","replace","blockProps","propAttributeName","propAttrValue","variableName","variableValue","Array","isArray","blockDefinitions","type","tagName","droppable","editable","draggable","renderContent","dragStart","dragStop","sortMethod","setHandleBlocks","sortedBindingsAsBlocks","computed","blocks","sortedBindings","binding","id","sorted","appData","pages","model","fields","_","sortBy","field","toLowerCase","onBindingOvered","$event","element","target","onBindingOut","__expose","getBlockIconPath","split","join","selectCompProp","comp","newElement","DOMParser","parseFromString","body","childNodes","propName","setAttribute","componentPlaceHolderData","bindingname","newElementHtml","outerHTML","editor","getSelected","replaceWith","closeDialog","removeSelected","blockDefinitionsByTagName","HtmlTemplateParser","constructor","Error","Node","replaceElementAttributes","encodeAttributesInDOM","modelVariables","sharedData","modelFieldsByName","gbPrefix","bcTypeC","bcTypeB","specialDynamicAttributeNames","excludedAttributeNames","componentName","nodeName","componentDefinition","componentPropertiesDefinitions","elementAttributeNames","getAttributeNames","attributeName","hasColon","startsWith","cleanName","isDynamic","some","specialName","attributeValue","getAttribute","attributeDefinition","find","el","attributeValueMapsToModelVariable","removeAttribute","originalName","dataType","includes","bindingPrefix","rootElement","elements","revertElementAttributes","input","test","Configuration","_channel","_defineProperty","modelFields","map","item","newDef","category","activate","selectedComponent","mockedAppTemplate","reactiveModel","onComponentAddDialogClose","select","onComponentAdded","info","attributes","_parent$grapesModel","parent","view","$el","parentNode","parentBlockType","grapesModel","datatype","targetModel","bindingInfo","offerComponents","defs","components","def","componentType","matchingdataTypePropertyNames","matchesType","isVmodel","matchingProperties","getComponentDefinitionByType","externalData","setExternalData","newData","this","event","CustomEvent","detail","componentId","canvasComponents","component","onExternalDataChanged","columnA","columnB","columnC","columnD","columnE","ws","channel","appHost","appPort","protocol","wsUrl","updateReactiveModelVariable","sendWsMessage","message","payload","send","newSocketConnection","WebSocket","addEventListener","msgObject","error","initEditor","scripts","deps","appBasePath","port","excludedScripts","parsedSCripts","script","scriptPath","commonStyles","grapesjs","init","container","fromElement","storageManager","canvas","styles","blockManager","custom","styleManager","appendTo","sectors","extend","default","options","className","open","units","toRequire","buildProps","defaults","list","min","unit","Panels","getButton","set","runCommand","on","com","dataTransfer","objectData","getData","objectType","registerPlotlyComponent","definition","blacklist","DomComponents","addType","isComponent","serverData","uniqueId","nodeValue","getMappedAttributes","attributesIn","mappedAttributes","attributeNames","getOwnPropertyNames","attrName","addCanvasComponent","vueApp","updateServerData","Vue","parsedAttributes","attributesObject","keyRaw","substring","propertyDefinition","valueIsBinding","methods","newServerData","updateAttributes","attrs","$forceUpdate","mounted","listenTo","onAttributeChange","handleAttrChange","render","onRender","removed","postMessage","command","uid","ccid","innerHTML","assets","autogeneratedStyles","style","stylePath","apibase","appid","encodeURIComponent","axios","then","setComponents","setStyle","catch","updateReactiveModel","newModel","loadTemplate","filePath","updateTemplateFile","fileContents","fullContent","parser","doc","firstDiv","firstDivContent","excludedTypes","blockDefinitionsRaw","blocksByCategory","searchTerm","isDragging","draggableElement","iframeB","handleBlocks","buildCategoriesTree","undefined","categories","categoriesDict","filteredBlockDefinitions","setTimeout","results","onDragStart","document","querySelector","sorter","BlockManager","blocksView","getSorter","__currentBlock","setDragHelper","setDropContent","startSort","parentElement","setPointerCapture","pointerId","onPointerMove","rect","getBoundingClientRect","clientX","left","clientY","top","onPointerUp","endMove","right","bottom","pointerEvents","iframeDoc","contentDocument","y","elementBelow","elementFromPoint","elementBelowId","position","targetComponent","getWrapper","refresh","addProperty","defObject","destination","closeButtonClicked","showAddProperty","blockDefinitionsByType","reduce","acc","getAttributeCleanRealName","attributeObject","removeAttributes","submitChanges","getSuggestedProperties","getBlockDefinition","currentAttributesCleanNames","getCleanAttributesList","att","suggestedProperties","propDef","suggested","suggestedPropertiesNotUsed","filteredModelFields","elementAttributes","attrsForVuecomponent","getBlockPropertyDefinition","propertyName","blockDefinition","attributeIsBinding","onDrop","dragTransferData","attrname","toggleDynamicAttribute","newAttrs","addAttributes","showAddPropertyList","hideAddProperty","defaultValuesByType","Boolean","String","Number","attrsObject","gbName","defaultValue","availableProperties","definitionProperties","currentAttributes","getAttributes","currentAttributesClean","filtered","componentAttributes","attName","newHtml","toHTML","clonedAttributes","setAttributes","grapesElementVueApp","newKey","newAtts","cleanAttributeName","sameTypeModelFields","setSelectedComponent","newComponent","QIcon","treeObject","getNestedPropertyParent","obj","propParts","getNestedProperty","definitionsListWithValues","propertiesDefinition","propertyDefCloned","valueHolderParent","pop","currentTabIndex","tabsList","dataSourceFields","selectedDataSource","addPropertyDestination","traces","config","layout","modelFieldsDict","tracePropertiesDefinition","configPropertiesDefinition","layoutPropertiesDefinition","getSelectedDataSourceColumns","selectedDataSourceColumns","selectedDataSourceName","selectedDataSourceField","columns","availableDataProperties","notUsedProperties","isUsed","existingProperty","layoutChanged","newTreeObject","configChanged","dataChanged","propId","setNestedProperty","isSelectedDataSourceConfigurable","dsField","getFieldsOfDataFrameType","dsFields","btoa","newConfig","newLayout","getDataSourceFromTraces","dataSourceProperties","trace","bindingsInTrace","findBindingValues","bindingName","componentAttributesRaw","gb_c__data","atob","gb_c__config","gb_c__layout","configInput","layoutInput","recurse","endsWith","addNewTrace","assignNewDataSource","dsName","onBeforeMount","showServerLogs","showClientLogs","logLevel","loggedAppId","searchString","logsContainer","hljs","registerLanguage","javascript","sql","highlight","code","highlightedCode","updated","vHighlight","loggedAppIdsMap","logLevelsMap","debug","warning","logs","filteredLogs","matchesSource","source","matchesLevel","level","matchesAppId","matchesSearch","clearLogs","addLog","logObject","logPrefix","appSource","timestamp","scrollTop","scrollHeight","canvasElementsPositions","connections","_iframePosition","overedBinding","getConnectionSVGPath","connection","origin","getOveredBindingPosition","xDistance","Math","abs","width","controlPointOffsetX","path","height","elPosition","getElementPosition","updateElementsPositions","lines","updateConnections","updateIframePosition","iframePosition","adjustedPositions","line","iframeElement","StatusMonitor","onOpen","onClose","onMessage","host","onOpenHandler","onCloseHandler","onMessageHandler","connect","onopen","onmessage","onclose","restart","seconds","logsPanel","canvasPanel","bindingsPanel","libraryPanel","propertiesPanel","chartPropertiesPanel","bindingConnectorsManager","currentPage","version","process","onSocketOpen","onSocketMessage","messageData","status","getPropertiesPanelName","onSocketClose","statusMonitor","searchParams","getSearchParams","CHANNEL__","themeType","theme","setTheme","urlParamsMissing","urlParamsMessage","alert","onBlockCustomTriggered","reloadPage","location","reload","saveTemplate","editedHtmlCss","getCss","entireHtml","getHtml","cleanId","decodeAttributesInDOM","beautifyOptions","indent_size","indent_char","max_preserve_newlines","preserve_newlines","keep_array_indentation","break_chained_methods","indent_scripts","brace_style","space_before_conditional","unescape_strings","jslint_happy","end_with_newline","wrap_line_length","indent_inner_html","comma_first","e4x","indent_empty_lines","inline_custom_elements","beautifiedHtml","html_beautify","pageViewPath","encodedViewPath","saveUrl","post","response","saveCssUrl","params","URLSearchParams","search","entries","contentWindow","onComponentSelected","onBindingDroppedOnComponent","updateData","valueIsModelField","modelFieldNames","translateBindingTypes","typesMap","page","isreactive","fieldType","cleanType","mappedType","e","bindConnMgr","myApp","applications","app","toString","fullAppData","readTemplateFilePAth","uikit","provideVSCodeDesignSystem","register","vsCodeTextField","vsCodeDropdown","vsCodeOption","vsCodeButton","vsCodeCheckbox","Main","createStore","mutations","actions","plugins","removeCanvasComponent","documentElement","createApp","App","use","Quasar","quasarUserOptions","store","mount","removable","badgable","stylable","highlightable","copyable","resizable","hoverable","traits","replaceReferencedBindingsToAttributeData","match","propToReplace","parsedData","parsedLayout","parsedConfig"],"mappings":"aACE,SAASA,EAAqBC,GAQ7B,IAPA,IAMIC,EAAUC,EANVC,EAAWH,EAAK,GAChBI,EAAcJ,EAAK,GACnBK,EAAiBL,EAAK,GAIHM,EAAI,EAAGC,EAAW,GACpCD,EAAIH,EAASK,OAAQF,IACzBJ,EAAUC,EAASG,GAChBG,OAAOC,UAAUC,eAAeC,KAAKC,EAAiBX,IAAYW,EAAgBX,IACpFK,EAASO,KAAKD,EAAgBX,GAAS,IAExCW,EAAgBX,GAAW,EAE5B,IAAID,KAAYG,EACZK,OAAOC,UAAUC,eAAeC,KAAKR,EAAaH,KACpDc,EAAQd,GAAYG,EAAYH,IAG/Be,GAAqBA,EAAoBhB,GAE5C,MAAMO,EAASC,OACdD,EAASU,OAATV,GAOD,OAHAW,EAAgBJ,KAAKK,MAAMD,EAAiBb,GAAkB,IAGvDe,IAER,SAASA,IAER,IADA,IAAIC,EACIf,EAAI,EAAGA,EAAIY,EAAgBV,OAAQF,IAAK,CAG/C,IAFA,IAAIgB,EAAiBJ,EAAgBZ,GACjCiB,GAAY,EACRC,EAAI,EAAGA,EAAIF,EAAed,OAAQgB,IAAK,CAC9C,IAAIC,EAAQH,EAAeE,GACG,IAA3BX,EAAgBY,KAAcF,GAAY,GAE3CA,IACFL,EAAgBQ,OAAOpB,IAAK,GAC5Be,EAASM,EAAoBA,EAAoBC,EAAIN,EAAe,KAItE,OAAOD,EAIR,IAAIQ,EAAmB,GAKnBhB,EAAkB,CACrB,IAAO,GAGJK,EAAkB,GAGtB,SAASS,EAAoB1B,GAG5B,GAAG4B,EAAiB5B,GACnB,OAAO4B,EAAiB5B,GAAU6B,QAGnC,IAAIC,EAASF,EAAiB5B,GAAY,CACzCK,EAAGL,EACH+B,GAAG,EACHF,QAAS,IAUV,OANAf,EAAQd,GAAUW,KAAKmB,EAAOD,QAASC,EAAQA,EAAOD,QAASH,GAG/DI,EAAOC,GAAI,EAGJD,EAAOD,QAKfH,EAAoBM,EAAIlB,EAGxBY,EAAoBO,EAAIL,EAGxBF,EAAoBQ,EAAI,SAASL,EAASM,EAAMC,GAC3CV,EAAoBW,EAAER,EAASM,IAClC3B,OAAO8B,eAAeT,EAASM,EAAM,CAAEI,YAAY,EAAMC,IAAKJ,KAKhEV,EAAoBe,EAAI,SAASZ,GACX,qBAAXa,QAA0BA,OAAOC,aAC1CnC,OAAO8B,eAAeT,EAASa,OAAOC,YAAa,CAAEC,MAAO,WAE7DpC,OAAO8B,eAAeT,EAAS,aAAc,CAAEe,OAAO,KAQvDlB,EAAoBmB,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQlB,EAAoBkB,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,kBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKxC,OAAOyC,OAAO,MAGvB,GAFAvB,EAAoBe,EAAEO,GACtBxC,OAAO8B,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOlB,EAAoBQ,EAAEc,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIRtB,EAAoB0B,EAAI,SAAStB,GAChC,IAAIM,EAASN,GAAUA,EAAOiB,WAC7B,WAAwB,OAAOjB,EAAO,YACtC,WAA8B,OAAOA,GAEtC,OADAJ,EAAoBQ,EAAEE,EAAQ,IAAKA,GAC5BA,GAIRV,EAAoBW,EAAI,SAASgB,EAAQC,GAAY,OAAO9C,OAAOC,UAAUC,eAAeC,KAAK0C,EAAQC,IAGzG5B,EAAoB6B,EAAI,IAExB,IAAIC,EAAaC,OAAO,gBAAkBA,OAAO,iBAAmB,GAChEC,EAAmBF,EAAW3C,KAAKsC,KAAKK,GAC5CA,EAAW3C,KAAOf,EAClB0D,EAAaA,EAAWG,QACxB,IAAI,IAAItD,EAAI,EAAGA,EAAImD,EAAWjD,OAAQF,IAAKP,EAAqB0D,EAAWnD,IAC3E,IAAIU,EAAsB2C,EAI1BzC,EAAgBJ,KAAK,CAAC,EAAE,kBAEjBM,K,6ECvJT,W,oCCAA,W,wICAA,W,oCCAA,W,oCCAA,W,kFCAA,W,mKCCEyC,eAAwCC,EAAA,CAAlCC,IAAI,+B,8hBCgBZ,IAAIC,EAAWC,eAAIC,EAAMF,UAEzB,SAASG,IACLC,EAAK,SAAUJ,EAASnB,O,OAI5BwB,eAAOH,EAAQA,IACXF,EAASnB,MAAQqB,EAAMF,W,mYCnB3B,MAAMM,EAA2B,IAAgB,EAAQ,CAAC,CAAC,YAAY,qBAExD,Q,iHCKf,IAAIN,EAAWC,gBAAI,GAGnB,SAASM,IACLP,EAASnB,OAASmB,EAASnB,MAE3B2B,IAGJ,SAASA,IACLC,aAAaC,QAAS,sBAAwBR,EAAMS,MAAOX,EAASnB,OAGxE,SAAS+B,IACL,IAAIC,EAAQJ,aAAaK,QAAS,sBAAwBZ,EAAMS,OACnD,SAATE,IACAb,EAASnB,OAAQ,G,OAfzB+B,I,6UCRA,MAAM,EAA2B,IAAgB,EAAQ,CAAC,CAAC,YAAY,qBAExD,Q,2HCLb,IAAIG,EAAed,eAAI,MACnBe,EAAaf,eAAI,MACjBgB,EAAOhB,eAAI,MACXiB,EAAiBjB,eAAI,GAEzBkB,eAAU,KACRF,EAAKpC,MAAQ,IAAKkC,EAAalC,MAAMuC,iBAAiB,SACxD,IAAI,IAAIC,KAAKJ,EAAKpC,MACZwC,EAAEC,UAAUC,SAAS,YACzBL,EAAiBD,EAAKpC,MAAM2C,QAAQH,MAItC,MAAMI,EAAaC,IACjBR,EAAiBQ,EACjB,IAAI,IAAIL,IAAK,IAAIJ,EAAKpC,SAAUmC,EAAWnC,OAC1CwC,EAAEC,UAAUK,OAAO,UAEtBV,EAAKpC,MAAMqC,GAAgBI,UAAUM,IAAI,UACzCZ,EAAWnC,MAAMqC,GAAgBI,UAAUM,IAAI,W,wiBCjBjD,MAAM,EAAc,EAEL,Q,2NCFf,MAAM,EAAc,EAEL,Q,wBCOf,IAAIC,EAAyBC,KAAKC,MAAOD,KAAKE,UAAUC,IAEpDC,EAAsB,CACxBC,eAAgB,CACd,SAAS,SAAS,OAAO,iBAAiB,WAAW,OAAO,OAAO,eAAe,SAAS,aAAa,gBAAgB,WAAW,cAAc,SAAS,kBAAkB,OAAO,WAAW,WAAW,eAAe,OAAO,kBAAkB,WAAW,aAAa,WAAW,QAAQ,cAAc,YAAY,OAAO,QAAQ,iBAAiB,uBAAuB,iBAAiB,gBAAgB,OAAO,OAAO,WAAW,kBAAkB,aAAa,UAAU,cAAc,eAAe,YAAY,cAAc,gBAAgB,UAAU,cAAc,kBAAkB,iBAAiB,aAAa,iBAAiB,gBAAgB,aAAa,YAAY,kBAAkB,yBAAyB,YAAY,QAAQ,YAAY,OAAO,QAAQ,QAAQ,YAAY,iBAAiB,QAAQ,iBAAiB,uBAAuB,YAAY,cAAc,QAAQ,SAAS,UAAU,OAAO,OAAO,UAAU,oBAAoB,kBAAkB,qBAAqB,WAAW,OAAO,UAAU,WAAW,cAAc,WAAW,UAAU,kBAAkB,kBAAkB,kBAAkB,UAAU,SAAS,iBAAiB,qBAAqB,YAAY,UAAU,UAAU,aAAa,cAAc,mBAAmB,eAAe,UAAU,eAAe,cAAc,iBAAiB,yBAAyB,gBAAgB,aAAa,WAAW,eAAe,WAAW,aAAa,uBAAuB,MAAM,QAAQ,WAAW,QAAQ,iBAAiB,mBAAmB,OAAO,eAAe,QAAQ,kBAAkB,aAAa,SAAS,QAAQ,YAAY,WAAW,gBAAgB,yBAAyB,WAAW,YAAY,gBAAgB,UAAU,gBAAgB,UAAU,gBAAgB,oBAAoB,WAAW,gBAAgB,cAAc,kBAAkB,oBAAoB,OAAO,aAAa,gBAAgB,wBAAwB,SAAS,sBAAsB,eAAe,YAAY,UAAU,eAAe,mBAAmB,SAAS,eAAe,UAAU,YAAY,qBAAqB,gBAAgB,UAAU,YAAY,cAAc,aAAa,UAAU,iBAAiB,UAAU,aAAa,sBAAsB,cAAc,mBAAmB,QAAQ,MAAM,gBAAgB,kBAAkB,YAAY,YAAY,UAAU,oBAAoB,QAAQ,MAAM,aAAa,gBAAgB,cAAc,eAAe,WAAW,wBAAwB,iBAAiB,SAAS,YAAY,uBAAuB,iBAAiB,cAAc,gBAAgB,kBAAkB,UAAU,kBAAkB,eAAe,oBAAoB,WAAW,cAAc,UAAU,2BAA2B,iBAAiB,gBAAgB,QAAQ,QAAQ,UAAU,aAAa,cAAc,yBAAyB,SAAS,eAAe,0BAA0B,6BAA6B,oBAAoB,eAAe,iBAAiB,cAAc,cAAc,UAAU,sBAAsB,gBAAgB,WAAW,WAAW,eAAe,iBAAiB,oBAAoB,WAAW,cAAc,qBAAqB,oBAAoB,cAAc,gBAAgB,UAAU,UAAU,kBAAkB,oBAAoB,cAAc,WAAW,qBAAqB,YAAY,uBAAuB,OAAO,yBAAyB,cAAc,iBAAiB,iBAAiB,yBAAyB,OAAO,aAAa,YAAY,aAAa,cAAc,cAAc,kBAAkB,oBAAoB,cAAc,eAAe,iBAAiB,cAAc,gBAAgB,cAAc,2BAA2B,UAAU,gBAAgB,aAAa,SAAS,YAAY,gBAAgB,YAAY,kBAAkB,WAAW,iBAAiB,aAAa,QAAQ,SAAS,OAAO,uBAAuB,aAAa,yBAAyB,iBAAiB,eAAe,aAAa,oBAAoB,iBAAiB,YAAY,iBAAiB,mBAAmB,WAAW,qBAAqB,aAAa,iBAAiB,qBAAqB,eAAe,MAAM,qBAAqB,cAAc,qBAAqB,eAAe,QAAQ,cAAc,iBAAiB,eAAe,eAAe,cAAc,SAAS,MAAM,cAAc,oBAAoB,eAAe,iBAAiB,SAAS,WAAW,qBAAqB,MAAM,SAAS,sBAAsB,OAAO,sBAAsB,WAAW,YAAY,oBAAoB,YAAY,eAAe,aAAa,eAAe,kBAAkB,uBAAuB,gBAAgB,oBAAoB,oBAAoB,eAAe,MAAM,MAAM,WAAW,mBAAmB,uBAAuB,2BAA2B,uBAAuB,aAAa,WAAW,eAAe,eAAe,mBAAmB,yBAAyB,mBAAmB,gBAAgB,cAAc,eAAe,mBAAmB,oBAAoB,UAAU,gBAAgB,UAAU,mBAAmB,mBAAmB,qBAAqB,iBAAiB,WAAW,kBAAkB,qBAAqB,WAAW,SAAS,OAAO,gBAAgB,UAAU,QAAQ,oBAAoB,YAAY,oBAAoB,sBAAsB,iBAAiB,qBAAqB,eAAe,6BAA6B,cAAc,gBAAgB,WAAW,eAAe,yBAAyB,aAAa,0BAA0B,YAAY,gBAAgB,kBAAkB,eAAe,aAAa,MAAM,aAAa,iBAAiB,uBAAuB,mBAAmB,wBAAwB,aAAa,eAAe,aAAa,cAAc,kBAAkB,kBAAkB,WAAW,UAAU,SAAS,YAAY,gBAAgB,iBAAiB,iBAAiB,oBAAoB,uBAAuB,gBAAgB,SAAS,cAAc,iBAAiB,qBAAqB,cAAc,iBAAiB,MAAM,aAAa,cAAc,aAAa,YAAY,gBAAgB,oBAAoB,kBAAkB,QAAQ,iBAAiB,cAAc,UAAU,YAAY,aAAa,kBAAkB,iBAAiB,wBAAwB,qBAAqB,0BAA0B,iBAAiB,MAAM,iBAAiB,mBAAmB,eAAe,iBAAiB,WAAW,gBAAgB,qBAAqB,iBAAiB,mBAAmB,eAAe,qBAAqB,gBAAgB,aAAa,qBAAqB,cAAc,eAAe,aAAa,aAAa,MAAM,UAAU,cAAc,QAAQ,QAAQ,OAAO,cAAc,aAAa,gBAAgB,oBAAoB,iBAAiB,SAAS,kBAAkB,YAAY,gBAAgB,eAAe,cAAc,QAAQ,aAAa,UAAU,OAAO,WAAW,eAAe,OAAO,WAAW,qBAAqB,iBAAiB,cAAc,YAAY,aAAa,gBAAgB,cAAc,eAAe,iBAAiB,OAAO,qBAAqB,QAAQ,aAAa,aAAa,QAAQ,YAAY,aAAa,kBAAkB,yBAAyB,YAAY,cAAc,2BAA2B,gBAAgB,aAAa,mBAAmB,sBAAsB,0BAA0B,aAAa,kBAAkB,cAAc,aAAa,oBAAoB,eAAe,cAAc,gBAAgB,gBAAgB,SAAS,SAAS,gBAAgB,SAAS,SAAS,QAAQ,SAAS,iBAAiB,aAAa,SAAS,eAAe,QAAQ,cAAc,uBAAuB,eAAe,aAAa,YAAY,aAAa,oBAAoB,eAAe,iBAAiB,aAAa,qBAAqB,iBAAiB,iBAAiB,2BAA2B,gBAAgB,YAAY,0BAA0B,sBAAsB,oBAAoB,iBAAiB,gBAAgB,UAAU,gBAAgB,cAAc,OAAO,yBAAyB,8BAA8B,YAAY,eAAe,cAAc,mBAAmB,gBAAgB,OAAO,WAAW,gBAAgB,SAAS,OAAO,YAAY,iBAAiB,SAAS,YAAY,aAAa,OAAO,mBAAmB,0BAA0B,oBAAoB,YAAY,SAAS,cAAc,eAAe,QAAQ,oBAAoB,iBAAiB,UAAU,oBAAoB,aAAa,WAAW,WAAW,eAAe,iBAAiB,cAAc,WAAW,mBAAmB,YAAY,UAAU,oBAAoB,mBAAmB,cAAc,iBAAiB,SAAS,gBAAgB,kBAAkB,sBAAsB,eAAe,MAAM,OAAO,uBAAuB,gBAAgB,SAAS,eAAe,cAAc,UAAU,gBAAgB,gBAAgB,OAAO,QAAQ,eAAe,kBAAkB,kBAAkB,mBAAmB,WAAW,YAAY,SAAS,QAAQ,cAAc,QAAQ,MAAM,UAAU,YAAY,qBAAqB,cAAc,kBAAkB,kBAAkB,qBAAqB,OAAO,oBAAoB,QAAQ,WAAW,kBAAkB,kBAAkB,WAAW,iBAAiB,aAAa,aAAa,mBAAmB,eAAe,gBAAgB,MAAM,uBAAuB,MAAM,sBAAsB,iBAAiB,cAAc,aAAa,SAAS,iBAAiB,YAAY,aAAa,iBAAiB,sBAAsB,cAAc,OAAO,eAAe,cAAc,aAAa,aAAa,eAAe,cAAc,oBAAoB,WAAW,SAAS,cAAc,gBAAgB,cAAc,gBAAgB,eAAe,SAAS,gBAAgB,WAAW,aAAa,WAAW,SAAS,SAAS,gBAAgB,aAAa,UAAU,WAAW,SAAS,WAAW,YAAY,QAAQ,eAAe,cAAc,UAAU,iBAAiB,UAAU,YAAY,gBAAgB,UAAU,QAAQ,UAAU,eAAe,QAAQ,mBAAmB,QAAQ,QAAQ,MAAM,MAAM,qBAAqB,eAAe,aAAa,OAAO,QAAQ,OAAO,OAAO,OAAO,SAAS,cAAc,cAAc,YAAY,WAAW,wBAAwB,OAAO,OAAO,OAAO,QAAQ,UAAU,gBAAgB,WAAW,QAAQ,YAAY,SAAS,OAAO,aAAa,gBAAgB,SAAS,YAAY,YAAY,SAAS,UAAU,WAAW,SAAS,MAAM,gBAAgB,OAAO,UAAU,cAAc,gBAAgB,QAAQ,WAAW,SAAS,SAAS,UAAU,uBAAuB,eAAe,oBAAoB,aAAa,cAAc,WAAW,SAAS,gBAAgB,eAAe,WAAW,gBAAgB,QAAQ,YAAY,uBAAuB,YAAY,aAAa,eAAe,cAAc,UAAU,gBAAgB,UAAU,cAAc,WAAW,UAAU,cAAc,cAAc,mBAAmB,kBAAkB,YAAY,oBAAoB,aAAa,cAAc,WAAW,oBAAoB,OAAO,OAAO,gBAAgB,eAAe,QAAQ,OAAO,iBAAiB,eAAe,SAAS,QAAQ,eAAe,cAAc,eAAe,kBAAkB,cAAc,UAAU,iBAAiB,aAAa,sBAAsB,WAAW,QAAQ,OAAO,WAAW,YAAY,gBAAgB,gBAAgB,QAAQ,SAAS,aAAa,gBAAgB,SAAS,WAAW,aAAa,aAAa,qBAAqB,eAAe,aAAa,UAAU,YAAY,YAAY,YAAY,YAAY,iBAAiB,uBAAuB,cAAc,OAAO,oBAAoB,YAAY,iBAAiB,UAAU,UAAU,eAAe,eAAe,UAAU,sBAAsB,cAAc,sBAAsB,OAAO,UAAU,kBAAkB,QAAQ,0BAA0B,YAAY,YAAY,eAAe,QAAQ,WAAW,cAAc,eAAe,sBAAsB,gBAAgB,kBAAkB,SAAS,gBAAgB,QAAQ,YAAY,sBAAsB,YAAY,eAAe,eAAe,UAAU,QAAQ,sBAAsB,eAAe,OAAO,QAAQ,sBAAsB,kBAAkB,aAAa,WAAW,iBAAiB,gBAAgB,WAAW,UAAU,YAAY,oBAAoB,UAAU,eAAe,WAAW,SAAS,0BAA0B,eAAe,WAAW,mBAAmB,SAAS,oBAAoB,UAAU,eAAe,YAAY,2BAA2B,oBAAoB,YAAY,eAAe,mBAAmB,qBAAqB,wBAAwB,UAAU,kBAAkB,WAAW,kBAAkB,cAAc,iBAAiB,WAAW,aAAa,YAAY,kBAAkB,YAAY,kBAAkB,WAAW,gBAAgB,WAAW,cAAc,oBAAoB,aAAa,QAAQ,SAAS,gBAAgB,eAAe,UAAU,gBAAgB,aAAa,qBAAqB,gBAAgB,eAAe,MAAM,eAAe,WAAW,0BAA0B,aAAa,WAAW,uBAAuB,cAAc,0BAA0B,WAAW,gBAAgB,WAAW,iBAAiB,eAAe,WAAW,gBAAgB,aAAa,cAAc,WAAW,iBAAiB,cAAc,WAAW,iBAAiB,gBAAgB,eAAe,WAAW,kBAAkB,WAAW,gBAAgB,WAAW,gBAAgB,uBAAuB,oBAAoB,oBAAoB,WAAW,eAAe,sBAAsB,iBAAiB,uBAAuB,WAAW,cAAc,WAAW,eAAe,WAAW,WAAW,WAAW,WAAW,oBAAoB,SAAS,sBAAsB,SAAS,WAAW,sBAAsB,eAAe,qBAAqB,aAAa,SAAS,cAAc,eAAe,UAAU,6BAA6B,OAAO,iBAAiB,gBAAgB,gBAAgB,iBAAiB,6BAA6B,8BAA8B,WAAW,UAAU,sBAAsB,2BAA2B,mBAAmB,OAAO,oBAAoB,KAAK,sBAAsB,iBAAiB,OAAO,OAAO,OAAO,UAAU,OAAO,cAAc,UAAU,OAAO,OAAO,MAAM,MAAM,OAAO,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,QAAQ,QAAQ,cAAc,OAAO,QAAQ,WAAW,OAAO,eAAe,WAAW,kBAAkB,UAAU,sBAAsB,kBAAkB,QAAQ,cAAc,UAAU,eAAe,gBAAgB,0BAA0B,UAAU,YAAY,UAAU,WAAW,UAAU,MAAM,kBAAkB,mBAAmB,gBAAgB,gBAAgB,YAAY,mBAAmB,mBAAmB,gBAAgB,WAAW,kBAAkB,MAAM,YAAY,mBAAmB,YAAY,oBAAoB,WAAW,YAAY,UAAU,gBAAgB,mBAAmB,sBAAsB,KAAK,YAAY,eAAe,aAAa,cAAc,iBAAiB,sBAAsB,iBAAiB,cAAc,aAAa,iBAAiB,wBAAwB,gBAAgB,iBAAiB,iBAAiB,cAAc,eAAe,kBAAkB,MAAM,aAAa,wBAAwB,aAAa,YAAY,aAAa,sBAAsB,kBAAkB,sBAAsB,kBAAkB,uBAAuB,gBAAgB,QAAQ,YAAY,0BAA0B,oBAAoB,iBAAiB,cAAc,uBAAuB,qBAAqB,aAAa,oBAAoB,oBAAoB,oBAAoB,eAAe,MAAM,oBAAoB,sBAAsB,YAAY,yBAAyB,MAAM,MAAM,yBAAyB,SAAS,UAAU,cAAc,iBAAiB,iBAAiB,QAAQ,YAAY,cAAc,QAAQ,MAAM,WAAW,aAAa,iBAAiB,wBAAwB,qBAAqB,cAAc,SAAS,aAAa,UAAU,WAAW,iBAAiB,kBAAkB,SAAS,mBAAmB,kBAAkB,eAAe,iBAAiB,cAAc,gBAAgB,WAAW,OAAO,YAAY,iBAAiB,aAAa,kBAAkB,aAAa,cAAc,kBAAkB,iBAAiB,eAAe,kBAAkB,WAAW,wBAAwB,sBAAsB,eAAe,QAAQ,oBAAoB,cAAc,sBAAsB,yBAAyB,aAAa,oBAAoB,QAAQ,oBAAoB,gBAAgB,gBAAgB,UAAU,oBAAoB,QAAQ,aAAa,cAAc,UAAU,eAAe,UAAU,sBAAsB,YAAY,QAAQ,kBAAkB,YAAY,cAAc,aAAa,WAAW,MAAM,YAAY,SAAS,YAAY,SAAS,gBAAgB,UAAU,mBAAmB,eAAe,WAAW,aAAa,eAAe,cAAc,OAAO,cAAc,wBAAwB,wBAAwB,kBAAkB,iBAAiB,cAAc,sBAAsB,eAAe,4BAA4B,gBAAgB,gBAAgB,SAAS,WAAW,UAAU,gBAAgB,iBAAiB,uBAAuB,WAAW,SAAS,YAAY,iBAAiB,WAAW,WAAW,kBAAkB,WAAW,aAAa,YAAY,eAAe,WAAW,WAAW,eAAe,aAAa,cAAc,gBAAgB,0BAA0B,cAAc,eAAe,sBAAsB,eAAe,aAAa,YAAY,kBAAkB,oBAAoB,SAAS,QAAQ,iBAAiB,aAAa,eAAe,YAAY,yBAAyB,OAAO,eAAe,aAAa,mBAAmB,WAAW,MAAM,SAAS,oBAAoB,WAAW,QAAQ,gBAAgB,OAAO,gBAAgB,qBAAqB,eAAe,mBAAmB,sBAAsB,YAAY,MAAM,iBAAiB,cAAc,iBAAiB,UAAU,SAAS,aAAa,eAAe,oBAAoB,YAAY,SAAS,sBAAsB,oBAAoB,aAAa,gBAAgB,qBAAqB,WAAW,aAAa,gBAAgB,iBAAiB,aAAa,eAAe,WAAW,YAAY,WAAW,sBAAsB,mBAAmB,aAAa,cAAc,4BAA4B,UAAU,cAAc,gBAAgB,aAAa,OAAO,UAAU,gBAAgB,eAAe,sBAAsB,aAAa,aAAa,gBAAgB,eAC90kBC,OACFC,gBAAiB,CAAC,UAAW,YAAa,SAAU,OAAQ,WAAY,WAAY,OAAQ,YAG9F,SAASC,IACPC,QAAQC,IAAK,2BAA4BX,GAGzCA,EAAyBA,EAAuBY,OAASC,GAAUA,EAAMC,SAEzEd,EAAuBe,QAAUF,IAE/B,IAAIG,EAAgBH,EAAMI,WAAWC,UAAYC,GAAsB,WAAbA,EAAK5E,MAC3DyE,GAAiB,GACnBH,EAAMI,WAAWpF,OAAOmF,EAAe,GAIzC,IAAII,EAAoBP,EAAMI,WAAWC,UAAYC,GAAsB,eAAbA,EAAK5E,MAC/D6E,GAAqB,IACvBP,EAAMI,WAAWG,GAAmB7E,KAAO,UAC3CsE,EAAMI,WAAWG,GAAmBC,MAAQ,iBAM1CR,EAAMS,QAAQ3B,QAAQ,eAAiB,GAAKkB,EAAMS,QAAQ3B,QAAQ,YAAc,KAClFkB,EAAMS,QAAUT,EAAMS,QAAQC,QAAU,iBAAkB,iBAC1DV,EAAMS,QAAUT,EAAMS,QAAQC,QAAU,cAAe,eAEzD,IAAIC,EAAaX,EAAMI,WACvBO,EAAWT,QAAUI,IACnB,IAAK,IAAIM,KAAqBN,EAAM,CAClC,IAAIO,EAAgBP,EAAKM,GAGzB,GAA4B,iBAAjBC,GAA4D,GAA/BA,EAAc/B,QAAQ,MAAY,CACxE,IAAIgC,EAAeD,EAAc3D,MAAM,GAAG,GACtC6D,EAAgBvB,EAAoBsB,GACxCR,EAAKM,GAAqBG,EAKxBC,MAAMC,QAAQJ,KAChBP,EAAKM,GAAqBC,EAAc,SAWhDhB,QAAQC,IAAK,2BAA4BX,GAG3CS,IAEA,IAAIsB,EAAmB/B,EAMvB+B,EAAiB9G,KAAK,CACpB+G,KAAM,kBAAmBX,MAAO,mBAAoBY,QAAS,kBAC7DX,QAAS,uDACTL,WAAY,GACZiB,WAAW,EAAWC,UAAU,EAAWC,WAAW,IAIxDL,EAAiB9G,KAAK,CACpB+G,KAAM,SAAUX,MAAO,QAASY,QAAS,SACzCX,QAAU,sGACVe,cAAgB,0CAEhBH,WAAW,EAAWC,UAAU,EAAWC,WAAW,EACtDnB,WAAY,CACV,CAAEI,MAAO,OAAQ9E,KAAM,OAAQyF,KAAK,2BACpC,CAAEX,MAAO,SAAU9E,KAAM,SAAUyF,KAAK,qBACxC,CAAEX,MAAO,SAAU9E,KAAM,SAAUyF,KAAK,aAI7BD,Q,oWChFf,IAKIO,EAAWC,EALXC,EAAapE,eAAI,QAMrB,SAASqE,EAAgBpE,GACnBiE,EAAYjE,EAAMiE,UAClBC,EAAWlE,EAAMkE,SAKvBjD,eAAW,QAMX,MAAMoD,EAAyBC,eAAU,KACrC,IAAIC,EAAS,GAYb,OAXAC,EAAe7F,MAAM+D,QAAS+B,IAC1BF,EAAO3H,KACH,CAAI8H,GAAI,kBACJf,KAAM,kBAAmBX,MAAO,mBAAoBY,QAAS,kBAC7DX,QAAU,8BAA6BwB,EAAQd,sBAAsBc,EAAQvG,8DAC7E0E,WAAY,GACZiB,WAAW,EAAWC,UAAU,EAAWC,WAAW,EACtDU,QAASA,MAIdF,IAGLC,EAAiBF,eAAU,KAC7B,IAAIK,EAOJ,OANI3E,EAAM4E,QAAQC,MAAM,GAAGC,MAAMC,SACL,MAApBZ,EAAWxF,MACXgG,EAASK,OAAEC,OAAQjF,EAAM4E,QAAQC,MAAM,GAAGC,MAAMC,OAASG,GAAiBA,EAAMhH,KAAKiH,eAC5D,QAApBhB,EAAWxF,QAChBgG,EAASK,OAAEC,OAAQjF,EAAM4E,QAAQC,MAAM,GAAGC,MAAMC,OAASG,GAAiBA,EAAMvB,KAAKwB,cAAgB,IAAMD,EAAMhH,KAAKiH,iBAEvHR,IAGLS,EAAkB,SAASX,EAASY,GACtC,IAAIC,EAAUD,EAAOE,OACrBrF,EAAK,gBAAiB,CAAEoF,UAASb,aAE/Be,EAAe,WACjBtF,EAAK,gBAAiB,CAAEoF,QAAQ,KAAMb,QAAQ,Q,OAGlDgB,EAAa,CACTrB,oB,k+BC7EJ,MAAM,GAA2B,IAAgB,GAAQ,CAAC,CAAC,YAAY,qBAExD,U,UCAA,I,q9BCqBTsB,EAAmB,SAASlD,GAC9B,MAAMrF,EAAS,mBAAmBqF,EAAMmB,KAAKgC,MAAM,MAAMC,KAAK,IAAI,OAClE,OAAOzI,GAGX,SAAS0I,EAAeC,EAAMhD,GAC1B,IAAIiD,GAAa,IAAIC,WAAYC,gBAAgBH,EAAK7C,QAAS,aAAaiD,KAAKC,WAAW,GAGxFC,EAAWtD,EACfiD,EAAWM,aAAc,SAAWD,EAAUpG,EAAMsG,yBAAyBC,aAC7E,IAAIC,EAAiBT,EAAWU,UAChCC,OAAOC,cAAcC,YAAaJ,GAClCK,GAAY,GAGhB,SAASA,EAAYC,GACjB5G,EAAK,cAAe4G,G,o7BCxCxB,MAAM,GAA2B,IAAgB,GAAQ,CAAC,CAAC,YAAY,qBAExD,U,aCPf,IAAIC,GAA4B,GAChCrD,EAAiBhB,QAASF,IACxBuE,GAA0BvE,EAAMoB,SAAWpB,IAK9B,MAAMwE,GACnBC,cACE,MAAM,IAAIC,MACR,mEAIJ,6BAA6B5B,GAG3B,KAAMA,aAAmB6B,MACzB,MAAM,IAAID,MAAM,yBAIhBF,GAAmBI,yBAAyB9B,GAG5C,IAAK,IAAIlJ,EAAI,EAAGA,EAAIkJ,EAAQa,WAAW7J,OAAQF,IAC/C4K,GAAmBK,sBACf/B,EAAQa,WAAW/J,IAK3B,gCAAiCkJ,GAC7B,IAAIgC,EAAiB9H,OAAO+H,WAAWC,kBACnCC,EAAW,MACXC,EAAUD,EAAW,MACrBE,EAAUF,EAAW,MACrBG,EAA+B,CAAE,UAAW,SAAU,QACtDC,EAAyB,CAAE,QAAS,QAAS,MAC7CC,EAAgBxC,EAAQyC,SACxBC,EAAsBjB,GAA0Be,GAG5C,IAAKE,EACT,OAEJ,IAAIC,EAAiCD,EAAoBpF,WACrDsF,EAAwB5C,EAAQ6C,oBACpCD,EAAsBxF,QAAU0F,IAE5B,GAAIP,EAAuBvG,QAAQ8G,IAAkB,EACjD,OAGJ,IAAIC,EAAWD,EAAcE,WAAW,KACpCC,EAAYF,EAAWD,EAAc1I,MAAM,GAAK0I,EAChDI,EAAYH,GAAYT,EAA6Ba,KAAOC,GACd,IAAvCN,EAAc9G,QAAQoH,IAE7BC,EAAiBrD,EAAQsD,aAAcR,GACvCS,EAAsBZ,EAA+Ba,KAAMC,GAAMA,EAAG7K,OAASqK,GAC7ES,EAAsE,MAAlC1B,EAAeqB,GAGnDE,IAEIL,EACIQ,EACA1D,EAAQe,aAAcsB,EAASY,EAAWI,GAE1CrD,EAAQe,aAAcqB,EAASa,EAAWI,GAI1B,IAAhBA,EACArD,EAAQe,aAAcqB,EAASa,EAAW,QAE1CjD,EAAQe,aAAcqB,EAASa,EAAWI,GAGlDrD,EAAQ2D,gBAAiBb,MAKrC,+BAA+B9C,GAC3B,IAAImC,EAAW,MACXC,EAAUD,EAAW,MACrBE,EAAUF,EAAW,MACrBK,EAAgBxC,EAAQyC,SACxBC,EAAsBjB,GAA0Be,GACpD,IAAKE,EACD,OAEJ,IAAIC,EAAiCD,EAAoBpF,WAErDsF,EAAwB5C,EAAQ6C,oBACpCD,EAAsBxF,QAAS0F,IAC3B,IAAIO,EAAiBrD,EAAQsD,aAAcR,GAC3C,GAAIA,EAAcE,WAAWZ,GAAU,CACnC,IAAIwB,EAAed,EAAclF,QAAQwE,EAAS,IAC9CmB,EAAsBZ,EAA+Ba,KAAMC,GAAMA,EAAG7K,OAASgL,GACjF,IAAKL,EACD,MAAM,IAAI3B,MAAO,uCAAyCgC,GAE9D,IAAIC,EAAWN,EAAoBlF,KAEd,UAAjBmE,GAA6B,CAAC,OAAQ,SAAU,UAAUsB,SAASF,IAEjD,UAAZC,IACND,EAAgB,IAAMA,GAG1B5D,EAAQe,aAAa6C,EAAcP,GACnCrD,EAAQ2D,gBAAgBb,QACrB,GAAIA,EAAcE,WAAWX,GAAU,CAC1C,IAAIuB,EAAed,EAAclF,QAAQyE,EAAS,IAC9C0B,EAAiC,YAAjBH,EAA6B,GAAK,IACtD5D,EAAQe,aAAagD,EAAgBH,EAAcP,GACnDrD,EAAQ2D,gBAAgBb,MAKpC,6BAA6BkB,GACzB,IAAIC,EAAWD,EAAYpI,iBAAiB,KAC5CqI,EAAS7G,QAAQ4C,IACb0B,GAAmBwC,wBAAwBlE,KAInD,qBAAqBmE,GACjB,MAAqB,kBAAVA,GAAsB,gBAAgBC,KAAKD,GAC3C,SACU,SAAVA,GAA8B,UAAVA,GAAsC,mBAAVA,EAChD,UACAjG,MAAMC,QAAQgG,IAAU,WAAWC,KAAKD,GACxC,QAEA,U,iBC5IA,MAAME,GACjB1C,cACI,MAAM,IAAIC,MAAM,8DAKpB,qBACI,OAAOyC,GAAcC,SAEzB,mBAAmBjL,GACfgL,GAAcC,SAAWjL,GAEhCkL,gBAboBF,GAAa,WAKZ,M,0aC8BtBnK,OAAOwH,mBAAqBA,GAM5B,IAAI8C,EAAc/J,eAAIC,EAAM4E,QAAQC,MAAM,GAAGC,MAAMC,QAC/CyC,EAAoB,GACxBsC,EAAYnL,MAAM+D,QAASwC,IACvBsC,EAAkBtC,EAAMhH,MAAQgH,IAGpC,IAAIX,EAASb,EAAiBqG,IAAMC,IAClC3H,QAAQC,IAAK,kCAAmC0H,EAAK/G,SACrD,IAAIgH,EAAS,CACXtG,KAAMqG,EAAKrG,KACXX,MAAOgH,EAAKhH,MACZY,QAASoG,EAAKpG,QAEdc,GAAIsF,EAAKrG,KACTuG,SAAUF,EAAKE,SACfjH,QAAS+G,EAAK/G,QACdY,UAAWmG,EAAKnG,UAChBE,UAAWiG,EAAKjG,UAChBD,SAAUkG,EAAKlG,SAGfqG,UAAU,GAEZ,OAAOF,IAITzK,OAAO4K,kBAAoB,KAE3B,IAAI9D,EAA2BvG,eAAI,MAC/BsK,EAAoBtK,eAAI,MACxBuK,EAAgBvK,eAAI,IAExB,SAASwK,EAA0BzD,GAC7BA,IACFJ,OAAOC,cAAclF,SACrBjC,OAAO4K,kBAAoB,KAC3B1D,OAAO8D,OAAO,OAEhBlE,EAAyB3H,MAAQ,KAKnC,SAAS8L,EAAiBC,GAExB,GADAhE,OAAO8D,OAAOE,GACiB,mBAA3BA,EAAKC,WAAW/G,QAA8B,KAAAgH,EAChD,IAAIC,EAASH,EAAKI,KAAKC,IAAI,GAAGC,WAC1BC,EAAoC,QAArBL,EAAGC,EAAOK,mBAAW,IAAAN,OAAA,EAAlBA,EAAoBD,WAAWhH,KAEhC,UAAnBsH,GACAP,EAAKC,WAAWA,WAAWpE,aAC3BmE,EAAKC,WAAWA,WAAWQ,UAE3BzE,OAAO8D,OAAOK,EAAOK,aACrBhL,EAAK,4BAA6B,CAChCkL,YAAaP,EAAOK,YACpBG,YAAaX,EAAKC,WAAWA,cAG/BW,EACEZ,EAAKC,WAAWA,WAAWpE,YAC3BmE,EAAKC,WAAWA,WAAWQ,WAOnC,SAASG,EAAgB/E,EAAa4E,GAGpC,IAAII,EAAO7H,EACP8H,EAAa,GACjBD,EAAK7I,QAAS+I,IACZ,IAAIC,EAAgBD,EAAI9H,KACpBf,EAAa6I,EAAI7I,WACjB+I,EAAgC/I,EACjCL,OAAQlD,IACP,IAAIuM,EAAcvM,EAASsE,MAAQwH,EAC/BU,EAA4B,WAAjBxM,EAASnB,KACxB,OAAO0N,GAAeC,IAEvB9B,IAAK1K,GAAaA,EAASnB,MAE5ByN,EAA8BrP,OAAS,IACtCqP,EAA8BvC,SAAS,YACtCuC,EAA8BvC,SAAS,SACvCuC,EAA8BvC,SAAS,YAEzCoC,EAAW5O,KAAK,CACd+G,KAAM+H,EACN1I,MAAOyI,EAAIzI,MACXC,QAASwI,EAAIxI,QACb6I,mBAAoBH,MAI1BrF,EAAyB3H,MAAQ,CAC/B6M,WAAYA,EACZjF,YAAaA,EACb4E,SAAUA,GAoEZ,SAASY,EAA6BpI,GACpC,IAAI4H,EAAO7H,EACPvG,EAASoO,EAAKzC,KAAM2C,GAAQA,EAAI9H,KAAKwB,eAAiBxB,EAAKwB,eAC/D,OAAOhI,EAjETqC,OAAO+H,WAAa,CAClByE,aAAc,KACdC,gBAAiB,SAASC,GACtBC,KAAKH,aAAeE,EACpB,MAAME,EAAQ,IAAIC,YAAY,oBAAqB,CAAEC,OAAQJ,IAC7D,IAAK,IAAIK,KAAe/M,OAAOgN,iBAAkB,CAC/C,IAAIC,EAAYjN,OAAOgN,iBAAiBD,GACvB,MAAbE,GACFA,EAAUC,sBAAsBN,MAO1C5M,OAAO+H,WAAWyE,aAAe,CAC7B,WAAc,CACV,CACI,KAAQ,UACR,KAAQ,UACR,EAAK,CAAE,EAAG,EAAG,EAAG,EAAG,GACnB,EAAK,CAAE,EAAG,EAAG,EAAG,EAAG,IAEvB,CACI,KAAQ,UACR,KAAQ,UACR,EAAK,CAAE,EAAG,EAAG,EAAG,EAAG,GACnB,EAAK,CAAE,EAAG,EAAG,EAAG,EAAG,KAG3B,WAAc,CACV,QAAW,CAAC,OAAQ,MAAO,SAAU,QACrC,KAAQ,CACJ,KAAQ,CAAC,OAAQ,OAAQ,MAAO,SAChC,IAAO,CAAC,GAAI,GAAI,GAAI,IACpB,OAAU,CAAC,KAAM,KAAM,KAAM,MAC7B,SAAY,CAAC,EAAG,EAAG,EAAG,GACtB,KAAQ,CAAC,SAAU,QAAS,OAAQ,YAG5C,WAAc,CACV,KAAQ,CAAC,OAAQ,OAAQ,MAAO,SAChC,IAAO,CAAE,GAAI,GAAI,GAAI,IACrB,OAAU,CAAC,KAAM,KAAM,KAAM,MAC7B,SAAY,CAAC,EAAG,EAAG,EAAG,GACtB,KAAQ,CAAC,SAAU,QAAS,OAAQ,WAIxC,WAAc,CACV,KAAQ,CAAE,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,IAClC,YAAe,CAAE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAC7C,SAAY,CAAE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAC1C,WAAc,CAAE,GAAI,GAAI,EAAG,GAAI,GAAI,GAAI,GAAI,KAE/CW,QAAS,CAAC,EAAE,EAAE,EAAE,EAAE,GAClBC,QAAS,CAAC,GAAG,GAAG,GAAG,GAAG,IACtBC,QAAS,CAAC,GAAG,GAAG,GAAG,GAAG,IACtBC,QAAS,CAAC,GAAG,GAAG,GAAG,GAAG,IACtBC,QAAS,CAAC,EAAE,GAAG,EAAE,GAAG,KASxBvN,OAAO+H,WAAWwE,6BAA+BA,EACjDvM,OAAO+H,WAAWC,kBAAoBA,EAExC,IAKMwF,EAqnBF/I,EA1nBAgJ,EAAUtD,GAAcsD,QACtBC,EAAU,YACVC,EAAU,OACVC,EAAW,KACXC,EAAS,GAAED,OAAcF,KAAWC,IAK1C,SAASG,EAA6BrO,EAAKN,GACvC2L,EAAc3L,MAAMM,GAAON,EAC3Ba,OAAO+H,WAAW0E,gBAAgB3B,EAAc3L,OAGpD,SAAS4O,EAAeC,EAASC,EAAQ,IACvC,IAAI5N,EAAM+B,KAAKE,UAAU,CACnB,QAAWmL,EACX,QAAWO,EACX,QAAWC,IAEbT,EAAGU,KAAM7N,GAGf,SAAS8N,IAkCL,OAjCFX,EAAK,IAAIY,UAAUP,GAEjBL,EAAGa,iBAAiB,OAAQzB,IAC1BmB,EAAe,eAGjBP,EAAGa,iBAAiB,UAAWzB,IAC7B,GAAkB,oBAAdA,EAAMtQ,MAUJ,GAA+B,GAA3BsQ,EAAMtQ,KAAKwF,QAAQ,KAAY,CACvC,IAAIwM,EAAYlM,KAAKC,MAAOuK,EAAMtQ,MACb,MAAjBgS,EAAU7O,KACZqO,EAA6BQ,EAAU7O,IAAK6O,EAAUnP,aAZxD4O,EAAe,WACf,CACEE,QAAQ,CACN,MAAS,UACT,QAAU,EACV,QAAU,OAYlBT,EAAGa,iBAAiB,QAASzB,IAC3B/J,QAAQC,IAAK,6BAA8B8J,KAG7CY,EAAGa,iBAAiB,QAASE,IAC3B1L,QAAQC,IAAK,6BAA8ByL,KAGtCf,EAUX,SAASgB,IAEP,IAAIC,EAAUjO,EAAM4E,QAAQC,MAAM,GAAGqJ,KAAKD,QACtCE,EAAe,oBAAmBnO,EAAM4E,QAAQwJ,KAChDC,EAAkB,CACpB,yCACA,8CACA,8CACA,2CACA,4CACA,iDACA,qDACA,sEAGEC,EAAgB,GACpBL,EAAQvL,QAAS6L,IACf,GAAIF,EAAgBjF,SAASmF,GAC3B,OAEF,IAAIC,EAAaL,EAAcI,EAC/BD,EAAc1R,KAAK4R,KAErBF,EAAc1R,KAAK,uBAEnB,IAAI6R,EAAe,GAEnBA,EAAa7R,KAAM,yFACnB6R,EAAa7R,KAAMuR,EAAc,iDACjCM,EAAa7R,KAAMuR,EAAc,kDACjCM,EAAa7R,KAAM,yBAEnB,MAAM8J,EAAUlH,OAAOkH,OAASgI,KAASC,KAAK,CAC5CC,UAAW,OACXC,aAAa,EACbC,gBAAgB,EAChBC,OAAQ,CACNd,QAASK,EACTU,OAAQP,GAMVQ,aAAc,CACZC,QAAQ,EAER3K,OAAQA,GAEV4K,aAAc,CACZC,SAAU,0BACNC,QAAS,CAAC,CACNnR,KAAM,UACN0E,WAAW,CACT,CACE0M,OAAQ,QACR3L,KAAM,QACN4L,QAAS,OACTC,QAAS,CACP,CAAE7Q,MAAO,OAAQ8Q,UAAW,eAC5B,CAAE9Q,MAAO,OAAQ8Q,UAAW,oBAC5B,CAAE9Q,MAAO,QAAS8Q,UAAW,uBAGjC,UACA,CAAEH,OAAQ,WAAY3L,KAAM,UAC5B,MACA,QACA,OACA,WAED,CACCzF,KAAM,YACNwR,MAAM,EACN9M,WAAY,CACV,QACA,CACE8B,GAAI,aACJf,KAAM,UACNzF,KAAM,QACNyR,MAAO,CAAC,KAAM,KACdtQ,SAAU,aACVuQ,UAAW,GAEb,SACA,YACA,aACA,SACA,YAEF,CACA1R,KAAM,aACNwR,MAAM,EACN9M,WAAY,CACR,cACA,YACA,cACA,iBACA,QACA,cACA,CACE0M,OAAQ,aACRE,QAAS,CACP,CAAE9K,GAAK,OAAS1B,MAAQ,OAAWyM,UAAW,oBAC9C,CAAE/K,GAAK,SAAW1B,MAAQ,SAAWyM,UAAW,sBAChD,CAAE/K,GAAK,QAAW1B,MAAQ,QAAWyM,UAAW,qBAChD,CAAE/K,GAAK,UAAW1B,MAAQ,UAAayM,UAAW,yBAGtD,CACEpQ,SAAU,kBACVsE,KAAM,QACN4L,QAAS,OACTC,QAAS,CACP,CAAE9K,GAAI,OAAQ1B,MAAO,OAAQyM,UAAW,eACxC,CAAE/K,GAAI,YAAa1B,MAAO,YAAayM,UAAW,mBAClD,CAAE/K,GAAI,eAAgB1B,MAAO,eAAgByM,UAAW,yBAG5D,gBAEJ,CACAvR,KAAM,cACNwR,MAAM,EACN9M,WAAY,CACV,UACA,gBACA,SACA,aACA,eAEF,CACA1E,KAAM,QACNwR,MAAM,EACNG,WAAY,CACV,aACA,cACA,cAEF,CACA3R,KAAM,OACNwR,MAAM,EACN9M,WAAY,CAAC,CACX1E,KAAM,iBACNmB,SAAU,UACVsE,KAAM,SACNmM,SAAU,QACVC,KAAM,CACJ,CAAEpR,MAAO,QAAST,KAAM,WACxB,CAAES,MAAO,OAAQT,KAAM,YAEzB,CACAA,KAAM,cACNmB,SAAU,oBACVsE,KAAM,WACN,CACAzF,KAAM,YACNmB,SAAU,iBACVsE,KAAM,QACNmM,SAAU,MACVC,KAAM,CAAC,CACLpR,MAAO,MACPT,KAAM,MACNuR,UAAW,0BACXhP,MAAO,OACP,CACA9B,MAAO,cACPT,KAAM,cACNuR,UAAW,8BACXhP,MAAO,eACP,CACA9B,MAAO,SACPT,KAAM,SACNuC,MAAO,SACPgP,UAAW,2BACX,CACA9Q,MAAO,iBACPT,KAAM,iBACNuC,MAAO,iBACPgP,UAAW,iCAEb,CACAvR,KAAM,UACNmB,SAAU,kBACVsE,KAAM,QACNmM,SAAU,aACVC,KAAM,CAAC,CACLpR,MAAO,aACP8Q,UAAW,6BACXhP,MAAO,SACP,CACA9B,MAAO,WACP8B,MAAO,MACPgP,UAAW,4BACX,CACA9Q,MAAO,gBACP8B,MAAO,gBACPgP,UAAW,+BACX,CACA9Q,MAAO,eACP8B,MAAO,eACPgP,UAAW,8BACX,CACA9Q,MAAO,SACP8B,MAAO,SACPgP,UAAW,kCAEb,CACAvR,KAAM,QACNmB,SAAU,cACVsE,KAAM,QACNmM,SAAU,SACVC,KAAM,CAAC,CACLpR,MAAO,aACP8B,MAAO,QACPgP,UAAW,4BACX,CACA9Q,MAAO,WACP8B,MAAO,MACPgP,UAAW,0BACX,CACA9Q,MAAO,UACP8B,MAAO,UACPgP,UAAW,0BACX,CACA9Q,MAAO,SACP8B,MAAO,SACPgP,UAAW,+BAEb,CACAvR,KAAM,gBACNmB,SAAU,oBACVsE,KAAM,WACN,CACAzF,KAAM,QACNmB,SAAU,QACVsE,KAAM,UACNmM,SAAU,EACVE,IAAK,GACL,CACA9R,KAAM,OACNmB,SAAU,OACVsE,KAAM,YACNf,WAAc,CAAC,CACb1E,KAAM,OACNmB,SAAU,YACVsE,KAAM,UACNmM,SAAU,EACVE,IAAK,GACL,CACA9R,KAAM,SACNmB,SAAU,cACVsE,KAAM,UACNmM,SAAU,EACVE,IAAK,GACL,CACA9R,KAAM,QACNmB,SAAU,aACVsE,KAAM,UACNgM,MAAO,CAAC,KAAK,IAAI,IACjBM,KAAM,GACNH,SAAU,UAEZ,CACA5R,KAAM,QACNmB,SAAU,aACVsE,KAAM,QACNmM,SAAU,OACVC,KAAM,CAAC,CACLpR,MAAO,OACPT,KAAM,QACN,CACAS,MAAO,aACP8B,MAAO,QACPgP,UAAW,4BACX,CACA9Q,MAAU,WACV8B,MAAO,MACPgP,UAAW,0BACX,CACA9Q,MAAU,UACV8B,MAAO,UACPgP,UAAW,0BACX,CACA9Q,MAAU,SACV8B,MAAO,SACPgP,UAAW,sCAUzB,OAAES,GAAWxJ,EAEnBwJ,EAAOC,UAAU,QAAS,eAAeC,IAAI,UAAU,GAGrD1J,EAAO2J,WAAW,iBAElB3J,EAAO4J,GAAG,qBAAuBC,IAC/BrQ,EAAK,oBAAqBqQ,KAG5B7J,EAAO4J,GAAG,gBAAiB7F,GAE3B/D,EAAO4J,GAAG,kBAAmB,CAACE,EAAcrT,EAAQiP,KAElD,GAAIoE,EAAc,CAChB,IAAIC,EAAaD,EAAaE,QAAQ,QACtCD,EAAa7O,KAAKC,MAAM4O,GACK,WAAzBA,EAAWE,aACbxT,EAAO8F,QAAW,uDAAsDwN,EAAWlK,0BAA0BkK,EAAWtF,gBAAgBsF,EAAWlK,yCAIrJpJ,EAAO8F,QAAU9F,EAAO8F,QAAQA,UAKpC2N,sCAAwBlK,GAGxBhD,EAAiBhB,QAASmO,IACxB,MAAMC,EAAY,CAAC,SAAU,mBACzBA,EAAU1H,SAASyH,EAAWlN,OAGlC+C,EAAOqK,cAAcC,QAAQH,EAAWlN,KAAM,CAC5CsN,YAAclI,IACZ,GAAIA,EAAGnF,SAAWiN,EAAWjN,QAC3B,MAAO,CAAED,KAAMkN,EAAWlN,KAAMzF,KAAM2S,EAAW7N,QAGrD8B,MAAO,CACLgL,SAAU,CAER/L,UAAW8M,EAAW9M,UACtBF,UAAWgN,EAAWhN,UACtBC,SAAU+M,EAAW/M,SACrByK,OAAQ,WACN,IAAI2C,EAAa1R,OAAOqL,OAAOtD,WAAWyE,aAE1C,IAAImF,EAAWhF,KAAKxB,WAAWjG,GAAG0M,UAUlC,SAASC,EAAoBC,GAC3B,IAAIC,EAAmB,GACnBC,EAAiBjV,OAAOkV,oBAAoBH,GAKhD,OAJAE,EAAe9O,QAAUgP,IACvB,IAAI/I,GAAiB2I,EAAaI,GAA0BJ,EAAaI,IACzEH,EAAiBG,GAAY/I,IAExB4I,EAfT/R,OAAOqL,OAAO8G,mBAAoBR,EAAUhF,MAE5CA,KAAKO,sBAAyBN,IAC1B8E,EAAa9E,EAAME,OACnBiF,EAAmBF,EAAoBlF,KAAKxB,YAC5CwB,KAAKyF,OAAOC,iBAAiBX,IAYjC,IAAItN,EAAUuI,KAAKjB,YAAYP,WAAW/G,QAEtCmI,GADmBI,KAAKjB,YAAYP,WAAWA,WAChBnL,OAAOqL,OAAOtD,WAAWwE,8BACxDvE,EAAoBhI,OAAOqL,OAAOtD,WAAWC,kBAC7CQ,EAAsB+D,EAA8BnI,GAEpD2N,EAAmBF,EAAoBlF,KAAKjB,YAAYP,WAAWA,YAGvEwB,KAAKyF,OAAS,IAAIE,IAAI,CAClB/I,GAAI,gBAAgBoI,EAEpBrV,KAAM,WAEF,MAAO,CACH0R,QAAQ,aACR7C,WAAY4G,EACZL,WAAYA,IAGpB5M,SAAS,CACPyN,mBACE,IAAI5U,EAAS,GACT6U,EAAmB7F,KAAKxB,WAC5BtI,QAAQC,IAAK,mBAAoB0P,GACjC,IAAK,IAAIC,KAAUD,EAAkB,CACnC,IAAI/S,EAAmB,KAAbgT,EAAO,GAAYA,EAAOC,UAAU,GAAKD,EAC/CE,EAAqBnK,EAAoBpF,WAAWkG,KAAMhG,GAAQA,EAAK5E,MAAQe,GAC/E0J,EAAiBqJ,EAAiBC,GAClCG,EAAsD,MAArC5K,EAAkBmB,GAC5B,WAAP1J,EAIAkT,EACEC,EACFjV,EAAQ,IAAG8B,GAASkN,KAAK+E,WAAWvI,GAEL,UAA3BwJ,EAAmBxO,KACrBxG,EAAQ,GAAE8B,GAAS0J,EAEnBxL,EAAQ,IAAG8B,GAAS0J,EAIxBxL,EAAQ,GAAE8B,GAAS0J,EAdnBxL,EAAO,WAAagP,KAAK+E,WAAWvI,GAiBxC,OAAOxL,IAGXkV,QAAS,CACLR,iBAAiBS,GACbnG,KAAK+E,WAAaoB,EAClBjQ,QAAQC,IAAK,4EAA6EgQ,IAE9FC,iBAAiBC,GACfnQ,QAAQC,IAAK,oFAAqFkQ,GAClGrG,KAAKxB,WAAa0G,EAAoBmB,GACtCnQ,QAAQC,IAAK,yFAA0F6J,KAAKxB,YAC1G4G,EAAmBpF,KAAKxB,WACxBwB,KAAK0F,iBAAiB1F,KAAK+E,YAC3B/E,KAAKsG,iBAIbC,gBAMR/D,OACExC,KAAKwG,SAASxG,KAAM,oBAAqBA,KAAKyG,oBAEhDC,qBAGAC,OAAQ,WACN3G,KAAKrB,KAAKiI,YAEZC,UACIxT,OAAOqL,OAAOoI,YAAa,CAACC,QAAQ,wBAAyBC,IAAIhH,KAAKiH,MAAQ,OAGpFtI,KAAM,CACJ8H,sBAEAG,WACE,MAAM,GAAEhK,EAAE,MAAEjE,GAAUqH,KACtB,IAAIgF,EAAWpI,EAAG4B,WAAWjG,GAAG0M,UAChCrI,EAAGmC,YAAcpG,EAEjB,IAAIlB,EAAUmF,EAAGmC,YAAYP,WAAW/G,QACpCoO,EAAmBjJ,EAAGmC,YAAYP,WAAWA,WAC7C3C,EAAsB+D,EAA8BnI,GACpDI,EAAiB,wBAAuBmN,iDACvCvN,KAEH,IAAK,IAAIqO,KAAUD,EAAkB,CACnC,IAAI/S,EAAMgT,EACV5P,QAAQC,IAAK,WAAY2P,GACI,GAAzBhT,EAAIqC,QAAQ,WAA2C,GAAzBrC,EAAIqC,QAAQ,YAC5CrC,EAAMA,EAAIiT,UAAU,IAGtB,IAAIC,EAAqBnK,EAAoBpF,WAAWkG,KAAMhG,GAAQA,EAAK5E,MAAQe,GAC/E0J,EAAiBqJ,EAAiBC,GAClCG,EAAsD,MAArC5K,EAAkBmB,GAC5B,WAAP1J,EAOAkT,EACEC,EACFpO,GAAkB,IAAG/E,iBAAmB0J,MAET,UAA3BwJ,EAAmBxO,MAA2C,GAAvB1E,EAAIqC,QAAQ,QACrD0C,GAAkB,GAAE/E,MAAQ0J,MAE5B3E,GAAkB,IAAG/E,MAAQ0J,MAIjC3E,GAAkB,GAAE/E,MAAQ0J,MAhB1B3E,GADoB,IAAlB2E,EACgB,6BAEA,uBAAsBA,MAkB9C3E,GAAkB,MAAKJ,qCAKzBmF,EAAGsK,UAAYrP,QAOvB,IAAIgL,EAAShP,EAAM4E,QAAQC,MAAM,GAAGyO,OAChCC,EAAsBvE,EAAOlG,KAAM0K,GAC9BA,EAAMlS,QAAQ,sBAAwB,GAE/C,GAAIiS,EAAqB,CACvB,IAAIE,EAAYjU,OAAOkU,QAAU,QAAUlU,OAAOmU,MAAQ,cAAgBC,mBAAoBL,GAC9FM,OAAMtV,IAAKkV,GAAYK,KAAO3W,IAC5BuJ,EAAOqN,cAAc1J,EAAkB1L,OACvC+H,EAAOsN,SAAS7W,EAAOrB,KAAKmH,WAC3BgR,MAAQlG,IACT1L,QAAQC,IAAI,qCAAsCyL,UAGpDrH,EAAOqN,cAAc1J,EAAkB1L,OAM3C,SAASuV,EAAoBC,GACzB7J,EAAc3L,MAAQwV,EAG1B,SAASC,EAAaC,GAClBR,OAAMtV,IAAK8V,GAAWP,KAAO3W,IACzBmX,EAAmBnX,EAAOrB,KAAKmH,WAEhCgR,MAAQlG,IACT1L,QAAQC,IAAI,8BAA+ByL,KAIjD,SAASuG,EAAmBC,GAExB,IAAIC,EAAe,qfAKTD,gEAOV,MAAME,EAAS,IAAIzO,UACb0O,EAAMD,EAAOxO,gBAAgBuO,EAAa,aAC1CG,EAAWD,EAAIxO,KACrBc,GAAmBK,sBAAsBsN,GAGzC,MAAMC,EAAkBD,EAAStB,UAEjChJ,EAAkB1L,MAAQiW,EAC1B5G,I,OAhnBJL,IAunBA1M,eAAU,QAGVwE,EAAa,CACXyO,sBAAqBE,eAAcE,uB,slBCt1BrC,MAAM,GAA2B,IAAgB,GAAQ,CAAC,CAAC,YAAY,qBAExD,U,ghBC2Bf,MAAMO,EAAgB,CAAC,kBAAmB,WAC1C,IA8BI5Q,EAAWC,EA9BX4Q,EAAsBpR,EAAiBnB,OAAQC,IACC,IAAzCqS,EAAcvT,QAASkB,EAAMmB,OAEpCoR,EAAmBhV,eAAI,MACvBiV,EAAajV,eAAI,IAGjBkV,GAAa,EACbC,EAAmB,KACnBC,EAAU,KAEV5Q,EAASb,EAAiBqG,IAAMC,IAClC,IAAIC,EAAS,CACXtG,KAAMqG,EAAKrG,KACXX,MAAOgH,EAAKhH,MACZY,QAASoG,EAAKpG,QAEdc,GAAIsF,EAAKrG,KACTuG,SAAUF,EAAKE,SACfjH,QAAS+G,EAAK/G,QACdY,UAAWmG,EAAKnG,UAChBE,UAAWiG,EAAKjG,UAChBD,SAAUkG,EAAKlG,SAGfqG,UAAU,GAEZ,OAAOF,IAKT,SAASmL,EAAapV,GAChBuE,EAASvE,EAAMuE,OACfN,EAAYjE,EAAMiE,UAClBC,EAAWlE,EAAMkE,SACjBhE,EAAK,uBAAwBF,GAanC,SAASqV,EAAoBjJ,GACzB/J,QAAQC,IAAK,oCAAqC8J,QACrCkJ,GAATlJ,IACA4I,EAAWrW,MAAQyN,EAAM7G,OAAO5G,OAEpC,IAAI4W,EAAa,GACbC,EAAiB,GAWrB,OATAC,EAAyB9W,MAAM+D,QAASF,IACpC,IAAI0H,EAAW1H,EAAM0H,UAAY,QAC5BsL,EAAgBtL,KACjBsL,EAAgBtL,GAAa,CAAEA,SAAUA,EAAU3F,OAAQ,IAC3DgR,EAAW3Y,KAAM4Y,EAAgBtL,KAErCsL,EAAgBtL,GAAW3F,OAAO3H,KAAM4F,KAE5CuS,EAAiBpW,MAAQ4W,EAClBA,EA1BXtU,eAAW,KACPyU,WAAY,KACRlW,OAAOkH,OAAO4J,GAAG,eAAgB8E,GACjC,MAAM,OAAElF,GAAW1Q,OAAOkH,OAC1BwJ,EAAOC,UAAU,QAAS,eAAeC,IAAI,UAAU,IACxD,OAwBP,MAAMqF,EAA2BnR,eAAU,KACvC,IAAK0Q,EAAWrW,MAAQ,OAAOmW,EAC/B,IAAIa,EAAUb,EAAoBvS,OAAQC,GAC/BA,EAAMQ,MAAMmC,cAAc7D,QAAS0T,EAAWrW,MAAMwG,gBAAmB,GAElF,OAAOwQ,IAGXN,IAEA,MAAM3P,EAAmB,SAASlD,GAC9B,MAAMrF,EAAS,mBAAmBqF,EAAMmB,KAAKgC,MAAM,MAAMC,KAAK,IAAI,OAClE,OAAOzI,GAIX,SAASyY,EAAYpT,EAAO6C,GACxB8P,EAAUU,SAASC,cAAc,cAEjCC,OAASrP,OAAOsP,aAAaC,WAAWC,YACxCH,OAAOI,eAAiB3T,EACxBuT,OAAOK,cAAe/Q,EAAOE,OAAQF,GACrC0Q,OAAOM,eAAe7T,EAAMS,SAC5B8S,OAAOO,UAAUjR,EAAOE,QAKxB,IAAIA,EAASF,EAAOE,OACpB,MAAOA,IAAWA,EAAOnE,UAAUC,SAAS,UACxCkE,EAASA,EAAOgR,cAGhBhR,IACA0P,GAAa,EACbC,EAAmB3P,EACnBA,EAAOiR,kBAAkBnR,EAAOoR,YAIxC,SAASC,EAAcrR,GACnB,IAAK4P,IAAec,OAAQ,OAE5B,MAAMY,EAAOxB,EAAQyB,wBACXvR,EAAOwR,QAAUF,EAAKG,KACtBzR,EAAO0R,QAAUJ,EAAKK,IAIpC,SAASC,EAAYzU,EAAO4J,GACpB2J,SACAA,OAAOmB,UACPnB,OAAS,MAGbd,GAAa,EACb,MAAM0B,EAAOxB,EAAQyB,wBACrB,GACIxK,EAAMyK,SAAWF,EAAKG,MACtB1K,EAAMyK,SAAWF,EAAKQ,OACtB/K,EAAM2K,SAAWJ,EAAKK,KACtB5K,EAAM2K,SAAWJ,EAAKS,OACxB,CACElC,EAAiB1B,MAAM6D,cAAgB,OAEvC,MAAMC,EAAYnC,EAAQoC,gBACpBpW,EAAIiL,EAAMyK,QAAUF,EAAKG,KACzBU,EAAIpL,EAAM2K,QAAUJ,EAAKK,IACzBS,EAAeH,EAAUI,iBAAiBvW,EAAGqW,GAEnD,IAAIG,EAAiBF,EAAa7O,aAAa,MAC/CsM,EAAiB1B,MAAM6D,cAAgB,GACvCnC,EAAiB1B,MAAMoE,SAAW,SAGlC,IAAIC,EAAkBnR,OAAOqK,cAAc+G,aAAahP,KAAK,IAAI6O,GAAgB,GAE7EE,IACAA,EAAgBrM,aAAa9J,IAAKc,EAAMS,SAExCyD,OAAOqR,gBAGX7C,EAAiB1B,MAAMoE,SAAW,SAEtC1C,EAAmB,K,goCCzLvB,MAAM,GAA2B,IAAgB,GAAQ,CAAC,CAAC,YAAY,qBAExD,U,spBCiBf,SAAS8C,EAAYhO,GACjB9J,EAAK,YAAa8J,EAAMhK,EAAMiY,UAAWjY,EAAMkY,aAOnD,SAASC,IACLjY,EAAK,S,ycC5BT,MAAM,GAA2B,IAAgB,GAAQ,CAAC,CAAC,YAAY,qBAExD,U,8iEC+Hf,IAAIuM,EAAY1M,eAAI,MAChBqY,EAAkBrY,gBAAI,GACtB+J,EAAc/J,eAAIC,EAAM4E,QAAQC,MAAM,GAAGC,MAAMC,QAC/CyC,EAAoB,GACpBsC,EAAYnL,MAAM+D,QAASwC,IACvBsC,EAAkBtC,EAAMhH,MAAQgH,IAIxC,MAAMmT,EAAyB3U,EAAiB4U,OAAO,CAACC,EAAK/V,KACzD+V,EAAI/V,EAAMmB,MAAQnB,EACX+V,GACR,IAeH,SAASC,EAA2BpQ,GAChC,IACI,OAAuC,GAAnCA,EAAc9G,QAAQ,WAAqD,GAAnC8G,EAAc9G,QAAQ,UACvD8G,EAAc8J,UAAU,GAE5B9J,EACV,MAAM2F,GACH1L,QAAQ0L,MAAO,uCAAwC3F,EAAe2F,IAU9E,SAAS9E,EAAgBwP,GACrBhM,EAAU9N,MAAM+Z,iBAAkB,CAACD,EAAgBva,OACnDya,IAYJ,SAASC,IACL,IAAI5Q,EAAsB6Q,EAAoBpM,EAAU9N,MAAMgM,WAAWhH,MACzE,IAAKqE,EACD,MAAO,GAEX,IAAI8Q,EAA8BC,IAAyBhP,IAAKiP,GAAOA,EAAIzQ,WACvE0Q,EAAsBjR,EAAoBpF,WAAWL,OAAQ2W,GACjC,GAArBA,EAAQC,WAEfC,EAA6BH,EAAoB1W,OAAQ2W,IACM,GAAxDJ,EAA4BxX,QAAS4X,EAAQhb,OAGxD,OAAOkb,EASX,SAASC,EAAqBZ,GAC1B,OAAO3O,EAAYnL,MAAM4D,OAAQ2C,GACtBA,EAAMvB,MAAQ8U,EAAgBhN,IAAI9H,MAWjD,SAASoV,IACL,MAAMO,EAAoB7M,EAAU9N,MAAMgM,WAAWA,WACrD,IAAIxN,EAAS,GACToc,EAAuB,GAC3B,IAAK,IAAIja,KAAKga,EACV,GAAIha,EAAEgJ,WAAW,WAAahJ,EAAEgJ,WAAW,UAAW,CAClD,IAAIC,EAAYiQ,EAA0BlZ,GAAG6F,cAC7C,GAAiB,MAAboD,GAAkC,aAAbA,GAAyC,SAAbA,EAAsB,CACvE,IAAIkD,EAAM+N,EAA2BjR,GAChCkD,GACDpJ,QAAQ0L,MAAM,6BAA8BzO,EAAGiJ,EAAW+Q,EAAkBha,IAEhFnC,EAAOP,KAAM,CAAEsB,KAAKoB,EAAGiJ,YAAW5J,MAAO2a,EAAkBha,GAAImM,IAAIA,IACnE8N,EAAqBja,GAAKga,EAAkBha,IAWxD,OANA+C,QAAQC,IAAK,8EAA+EtC,EAAMoK,kBAAkBU,KAAK/B,GAAG6I,OAAQ2H,GAChIvZ,EAAMoK,kBAAkBU,KAAK/B,GAAG6I,QAChC5R,EAAMoK,kBAAkBU,KAAK/B,GAAG6I,OAAOW,iBAAkBgH,GAG7Dpc,EAAS6H,IAAEC,OAAQ9H,EAAQ,aACpBA,EAQX,SAASqc,EAA4BC,GACjC,IAAIC,EAAkBb,EAAoBpM,EAAU9N,MAAMgM,WAAWhH,MACrE,IAAK+V,EACD,OAAO,KAEX,IAAIvH,EAAqBuH,EAAgB9W,WAAWkG,KAAMhG,GAAQA,EAAK5E,MAAQub,GAC/E,OAAOtH,EAQX,SAASwH,EAAmBvR,GACxB,IAAII,EAA8C,GAAlCJ,EAAc9G,QAAQ,SACtC,OAAOkH,EASX,SAASoR,EAAQxN,GACb,IAAIyN,EAAmBjY,KAAKC,MAAOuK,EAAMoE,aAAaE,QAAQ,SAC1DoJ,EAAW1N,EAAM7G,OAAOqD,aAAa,YACzC,GAAkC,GAA9BkR,EAASxY,QAAQ,UACjByY,EAAwBD,EAAUD,EAAiBtT,iBAClD,CACD,IAAIyT,EAAW,GACfA,EAASF,GAAYD,EAAiBtT,YACtCkG,EAAU9N,MAAMsb,cAAeD,IASvC,SAASE,IACL9B,EAAgBzZ,OAAQ,EAM5B,SAASwb,IACL/B,EAAgBzZ,OAAQ,EAS5B,SAASqZ,EAAYlV,GACjB,IAAIsX,EAAsB,CACtBC,SAAS,EACTC,OAAQ,GACRC,OAAQ,GAERC,EAAc,GACdC,EAAS,SAAS3X,EAAK5E,KACvBwc,EAAkD,OAAnCN,EAAoBtX,EAAKa,MAAiByW,EAAoBtX,EAAKa,MAAQ,UAC9F6W,EAAYC,GAAUC,EACtBjO,EAAU9N,MAAMsb,cAAcO,GAC9B7B,IAUJ,SAASE,EAAoBlV,GACzB,IAAIqE,EAAsBqQ,EAAuB1U,GACjD,OAAOqE,EASX,MAAM2S,EAAsBrW,eAAU,KAClC,IAAI0D,EAAsB6Q,EAAoBpM,EAAU9N,MAAMgM,WAAWhH,MACzE,IAAKqE,EACD,MAAO,GAGX,IAAI4S,EAAuB5S,EAAoBpF,WAC3CiY,EAAoBpO,EAAU9N,MAAMmc,gBACpCC,EAAyB,GAC7B,IAAK,IAAIzb,KAAKub,EAAmB,CAC7B,IAAItS,EAAYiQ,EAA0BlZ,GAC1Cyb,EAAuBne,KAAM2L,GAEjC,IAAIyS,EAAW,GAOf,OANAJ,EAAqBlY,QAASI,IAC1B,IAAIyF,EAAYiQ,EAA0B1V,EAAK5E,OACG,GAA9C6c,EAAuBzZ,QAAQiH,IAC/ByS,EAASpe,KAAMkG,KAGhBkY,IASX,SAASrC,IAGG,IAAIsC,EAAsBxO,EAAU9N,MAAMgM,WAAWA,WACrDtI,QAAQC,IAAK,4DAA6D2Y,GAC1E,IAAK,IAAIC,KAAWD,GACqB,IAAjCA,EAAoBC,KACpBD,EAAoBC,GAAW,SAEE,IAAjCD,EAAoBC,KACpBD,EAAoBC,GAAW,SAGvC,IAAIC,EAAU/Q,kBAAkBgR,SAChC/Y,QAAQC,IAAK,gDAAiD6Y,GAC9DzU,OAAOC,cAAcC,YAAauU,GAGlC,IAAIE,EAAmB,GACnB7J,EAAiBjV,OAAOkV,oBAAoBwJ,GAChDzJ,EAAe9O,QAAUgP,IACrB,IAAI/I,EAEAA,OADiC2M,GAAjC2F,EAAoBvJ,SAAqE4D,GAA3C2F,EAAoBvJ,GAAUN,UAC3D6J,EAAoBvJ,GAAUN,UAE9B6J,EAAoBvJ,GAEzC2J,EAAiB3J,GAAY/I,IAErC3I,EAAMoK,kBAAkBkR,cAAcD,GAClC,IAAIE,EAAsBvb,EAAMoK,kBAAkBU,KAAKC,IAAI,GAAG6G,OAC9DvP,QAAQC,IAAK,sEAAuEiZ,EAAqBF,GACzGE,EAAoBhJ,iBAAiB8I,GAWjD,SAAStB,EAAuB9a,EAAKN,GACjC,IAAI6c,EAAkC,GAAzBvc,EAAIqC,QAAQ,UAAiBrC,EAAIiE,QAAS,SAAU,UAAajE,EAAIiE,QAAS,SAAU,UACrGuJ,EAAU9N,MAAM+Z,iBAAkB,CAACzZ,IACnC,IAAIwc,EAAU,GAGd,GAAgC,GAA5BD,EAAOla,QAAQ,UACf,GAA+B,MAA5BkG,EAAkB7I,GACjB8c,EAAQD,GAAU7c,MAClB,CACA,IAAI+c,EAAqBlD,EAA0BgD,GAAQrW,cACvDsG,EAAM+N,EAA2BkC,GAEjCjD,EAAkB,CAAEhN,OACpBkQ,EAAsBtC,EAAoBZ,GAC1CkD,EAAoBrf,OAAS,EAC7Bmf,EAAQD,GAAUG,EAAoB,GAAGzd,KAEzCud,EAAQD,GAAU,eAG1BC,EAAQD,GAAU7c,EAGtB8N,EAAU9N,MAAMsb,cAAcwB,GAC9B9C,IAOJ,SAASiD,EAAqBC,GAC1BpP,EAAU9N,MAAQkd,E,OAQtB5a,eAAW,KACP2a,EAAsBpc,OAAO4K,qBAQjC3E,EAAa,CACTmW,yB,+3NCpdJ,MAAM,GAA2B,IAAgB,GAAQ,CAAC,CAAC,YAAY,qBAExD,UAGf,KAAS,GAAQ,aAAc,CAACE,SAAA,O,qYCqC9B,SAASnD,IACPzY,EAAK,SAAUF,EAAM+b,YAGvB,SAASC,EAAwBC,EAAK7V,GACpC,MAAM8V,EAAY9V,EAAST,MAAM,KACjC,GAAwB,GAApBuW,EAAU5f,OACZ,OAAO2f,EAET,IAAK,IAAI7f,EAAI,EAAGA,EAAI8f,EAAU5f,OAAO,EAAGF,IAAK,CACzC,IAAK6f,IAAQA,EAAIxf,eAAeyf,EAAU9f,IACtC,OAEJ6f,EAAMA,EAAIC,EAAU9f,IAExB,OAAO6f,EAGX,SAASE,EAAkBF,EAAK7V,GAC5B,MAAM8V,EAAY9V,EAAST,MAAM,KACjC,IAAK,IAAIvJ,EAAI,EAAGA,EAAI8f,EAAU5f,OAAQF,IAAK,CACvC,IAAK6f,IAAQA,EAAIxf,eAAeyf,EAAU9f,IACtC,OAEJ6f,EAAMA,EAAIC,EAAU9f,IAExB,OAAO6f,EAGX,MAAMG,EAA4B9X,eAAU,KACxC,IAAInH,EAAS,GACb,IAAK,IAAIf,EAAI,EAAGA,EAAI4D,EAAMqc,qBAAqB/f,OAAQF,IAAK,CACxD,IAAIkgB,EAAoB,IAAKtc,EAAMqc,qBAAqBjgB,IACpDuC,EAAQwd,EAAmBnc,EAAM+b,WAAYO,EAAkB5X,SACrD4Q,IAAV3W,IACA2d,EAAkBC,kBAAoBP,EAAyBhc,EAAM+b,WAAYO,EAAkB5X,IACnG4X,EAAkBlW,SAAWkW,EAAkB5X,GAAGiB,MAAM,KAAK6W,MAC7Drf,EAAOP,KAAM0f,IAGrB,OAAOnf,I,8gFCnFX,MAAM,GAAc,GAEL,U,snCC2Gf,IAAIsf,EAAkB1c,eAAI,GACtB2c,EAAW3c,eAAK,CAAE,CAAC7B,KAAK,OAAQwG,GAAG,GAAI,CAACxG,KAAK,SAAUwG,GAAG,GAAI,CAACxG,KAAK,SAAUwG,GAAG,KAEjFiY,EAAmB5c,eAAI,MACvB6c,EAAqB7c,eAAI,MAGzB8c,GADwB9c,gBAAI,GACHA,eAAI,OAE7B+c,EAAS/c,eAAI,IACbgd,EAAShd,eAAI,IACbid,EAASjd,eAAI,IACb+J,EAAc/J,eAAIC,EAAM4E,QAAQC,MAAM,GAAGC,MAAMC,QAC/CkY,EAAkB,GACtBnT,EAAYnL,MAAM+D,QAAUwC,IACxB+X,EAAgB/X,EAAMhH,MAAQgH,IAOlC,IAAIgY,EAA4Bnd,eAAI,CAClC,CAAE2E,GAAG,OAAQ1B,MAAM,OAAQW,KAAM,SAAU4L,QAAS,IACpD,CAAE7K,GAAG,OAAQ1B,MAAM,OAAQW,KAAM,OAAQ4L,QAAS,UAAWC,QAAQ,CAAC,UAAU,MAAM,cACtF,CAAE9K,GAAG,IAAK1B,MAAM,IAAKW,KAAM,QAAS4L,QAAS,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,IACxD,CAAE7K,GAAG,IAAK1B,MAAM,IAAKW,KAAM,QAAS4L,QAAS,CAAC,EAAE,EAAE,EAAE,GAAG,KACvD,CAAE7K,GAAG,cAAe1B,MAAM,cAAeW,KAAM,SAAU4L,QAAS,GAClE,CAAE7K,GAAG,eAAgB1B,MAAM,eAAgBW,KAAM,QAAS4L,QAAS,aAGjE4N,EAA6Bpd,eAAI,CACnC,CAAE2E,GAAG,cAAe1B,MAAM,cAAeW,KAAM,WAAY4L,SAAS,GACpE,CAAE7K,GAAG,cAAe1B,MAAM,eAAgBW,KAAM,WAAY4L,SAAS,GACrE,CAAE7K,GAAG,aAAc1B,MAAM,cAAeW,KAAM,WAAY4L,SAAS,GACnE,CAAE7K,GAAG,WAAY1B,MAAM,WAAYW,KAAM,WAAY4L,SAAS,GAC9D,CAAE7K,GAAG,iBAAkB1B,MAAM,WAAYW,KAAM,WAAY4L,SAAS,KAElE6N,EAA6Brd,eAAI,CACnC,CAAE2E,GAAG,QAAS1B,MAAM,QAASW,KAAM,SAAU4L,QAAS,aACtD,CAAE7K,GAAG,aAAc1B,MAAM,cAAeW,KAAM,WAAY4L,SAAS,GACnE,CAAE7K,GAAG,gBAAiB1B,MAAM,QAASW,KAAM,QAAS4L,QAAS,WAC7D,CAAE7K,GAAG,eAAgB1B,MAAM,aAAcW,KAAM,QAAS4L,QAAS,WACjE,CAAE7K,GAAG,aAAc1B,MAAM,aAAcW,KAAM,QAAS4L,QAAS,WAC/D,CAAE7K,GAAG,YAAa1B,MAAM,YAAaW,KAAM,SAAU4L,QAAS,MAMhE,MAAM8N,EAA+B/Y,eAAS,KAC5C,IAAIgZ,EAA4B,GAC5BC,EAAyBX,EAAmBje,MAChD,GAAI4e,EAAwB,CAC1B,IAAIC,EAA0Bb,EAAiBhe,MAAMmK,KAAO5D,GAAiBA,EAAMhH,MAAQqf,GACvFC,IACFF,EAA4BE,EAAwBC,SAGxD,OAAOH,IAGT,SAASI,EAAwBzF,EAAWC,GAC1C,IAAIyF,EAAoB1F,EAAU1V,OAAS2W,IACzC,IAAI0E,GAAS,EACTC,EAAmB1B,EAAkBjE,EAAagB,EAAQxU,IAI9D,OAHwB,MAApBmZ,IACFD,GAAS,IAEHA,IAEV,OAAOD,EAGyBrZ,eAAS,KACzC,IAAIqZ,EAAoBR,EAA2Bxe,MAAM4D,OAAS2W,IAChE,IAAI0E,GAAS,EACTC,EAAmB1B,EAAkBU,EAAuBle,MAAOua,EAAQxU,IAI/E,OAHwB,MAApBmZ,IACFD,GAAS,IAEHA,IAEV,OAAOD,IAST,SAASG,EAAcC,GACrBpF,IAEF,SAASqF,EAAcD,GACrBpF,IAGF,SAASsF,EAAYF,GACnBpF,IAGF,SAASuB,EAAoBhC,GACzB2E,EAAuBle,MAAQuZ,EAGnC,SAASiC,IACL0C,EAAuBle,MAAQ,KAGnC,SAASqZ,EAAYlV,EAAMmV,EAAWC,GACpC,IAAIgG,EAASpb,EAAK4B,GACdwU,EAAUjB,EAAUnP,KAAOoQ,GAAmBA,EAAQxU,IAAMwZ,GAEhEC,EAAkBjG,EAAagG,EAAQhF,EAAQ3J,SAC7CoJ,IAGJ,SAASwD,EAAkBF,EAAK7V,GAC5B,MAAM8V,EAAY9V,EAAST,MAAM,KACjC,IAAK,IAAIvJ,EAAI,EAAGA,EAAI8f,EAAU5f,OAAQF,IAAK,CACvC,IAAK6f,IAAQA,EAAIxf,eAAeyf,EAAU9f,IACtC,OAEJ6f,EAAMA,EAAIC,EAAU9f,IAExB,OAAO6f,EAGX,SAASkC,EAAkBlC,EAAK7V,EAAUzH,GACtC,MAAMud,EAAY9V,EAAST,MAAM,KACjC,IAAK,IAAIvJ,EAAI,EAAGA,EAAI8f,EAAU5f,OAAS,EAAGF,IACjC6f,EAAIxf,eAAeyf,EAAU9f,KAAoC,kBAAtB6f,EAAIC,EAAU9f,MAC1D6f,EAAIC,EAAU9f,IAAM,IAExB6f,EAAMA,EAAIC,EAAU9f,IAExB6f,EAAIC,EAAUA,EAAU5f,OAAS,IAAMqC,EAK3C,SAASyf,IACP,IAAIC,EAAUre,EAAM4E,QAAQC,MAAM,GAAGC,MAAMC,OAAO+D,KAAO5D,GAChDA,EAAMhH,MAAQ0e,EAAmBje,OAE1C,QAAK0f,GAGc,wBAAhBA,EAAQ1a,KAMb,SAAS2a,IACP,IAAIC,EAAWve,EAAM4E,QAAQC,MAAM,GAAGC,MAAMC,OAAOxC,OAAS2C,GACrC,wBAAdA,EAAMvB,MAAgD,cAAduB,EAAMvB,MAEvDgZ,EAAiBhe,MAAQ4f,EAK3B,SAAS5F,IACP,IAAIzM,EAAUsS,KAAM5c,KAAKE,UAAUgb,EAAOne,QACtC8f,EAAYD,KAAM5c,KAAKE,UAAUib,EAAOpe,QACxC+f,EAAYF,KAAM5c,KAAKE,UAAUkb,EAAOre,QAC5CqB,EAAMoK,kBAAkBkR,cAAc,CAACxf,KAAKoQ,EAAS6Q,OAAQ0B,EAAWzB,OAAO0B,IAC/E1e,EAAMoK,kBAAkBU,KAAKC,IAAI,GAAG6G,OAAOW,iBAAiB,CAACzW,KAAKoQ,EAAS6Q,OAAQ0B,EAAWzB,OAAO0B,IAMrG,SAASC,IACP,IAAIC,EAAuB,GAC3B9B,EAAOne,MAAM+D,QAAUmc,IACrB,IAAIC,EAAkBC,EAAkBF,GACxCC,EAAgBpc,QAAU+B,IACxB,IAAIua,EAAcva,EAAQ9F,MAAMuE,QAAQ,MAAO,IAAIA,QAAQ,IAAK,IAC3D0b,EAAqBxV,SAAS4V,IACjCJ,EAAqBhiB,KAAKoiB,OAIhCJ,EAAuBA,EAAqB7U,IAAM3D,GACzCA,EAAST,MAAM,KAAK,IAE7BiX,EAAmBje,MAAQigB,EAAqB,GAKpD,SAAShD,EAAqBC,GAE1B,IAAKA,GAAgD,UAAhCA,EAAalR,WAAWhH,KAI3C,OAHAmZ,EAAOne,MAAQ,KACfoe,EAAOpe,MAAQ,UACfqe,EAAOre,MAAQ,MAGjB,IAAIsgB,EAAyBpD,EAAaf,gBACtCmE,EAAuBC,aACzBD,EAAuBC,WAAaC,KAAKF,EAAuBC,aAC9DD,EAAuBG,eACzBH,EAAuBG,aAAeD,KAAKF,EAAuBG,eAChEH,EAAuBI,eACzBJ,EAAuBI,aAAeF,KAAKF,EAAuBI,eAGpE,IAAIvjB,EAAOmjB,EAAuBC,YAAc,KAChDpjB,EAAO8F,KAAKC,MAAM/F,GAClBghB,EAAOne,MAAQ7C,EAEf,IAAIwjB,EAAcL,EAAuBG,cAAgB,KACzDE,EAAc1d,KAAKC,MAAMyd,GACzBvC,EAAOpe,MAAQ2gB,EAEf,IAAIC,EAAcN,EAAuBI,cAAgB,KACzDE,EAAc3d,KAAKC,MAAM0d,GACzBvC,EAAOre,MAAQ4gB,EACfZ,IAGJ,SAASI,EAAkB9C,GACzB,IAAI9e,EAAS,GAEb,SAASqiB,EAAQphB,GACf,IAAK,IAAIa,KAAOb,EACQ,kBAAXA,EAAEa,IAAgC,OAAXb,EAAEa,GAClCugB,EAAQphB,EAAEa,IACiB,kBAAXb,EAAEa,IAAqBb,EAAEa,GAAKqJ,WAAW,QAAUlK,EAAEa,GAAKwgB,SAAS,MACnFtiB,EAAOP,KAAK,CAAE+B,MAAOP,EAAEa,KAM7B,OADAugB,EAAQvD,GACD9e,EAGT,SAASuiB,IACP5C,EAAOne,MAAM/B,KAAM,CAAEuE,EAAE,GAAIqW,EAAE,GAAI7T,KAAK,UAAWzF,KAAK,UAGxD,SAASyhB,EAAoBC,GAC3B9C,EAAOne,MAAQ,CACb,CAAEwC,EAAE,cAAeqW,EAAE,cAAe7T,KAAK,UAAWzF,KAAK,SACzD,CAAEiD,EAAE,cAAeqW,EAAE,cAAe7T,KAAK,UAAWzF,KAAK,UAE3Dya,I,OAGFkH,eAAe,KACXjE,EAAsB5b,EAAMoK,mBAC5BkU,MAGJ7Y,EAAa,CACTmW,uBAAsB+D,wB,4kICjX1B,MAAM,GAA2B,IAAgB,GAAQ,CAAC,CAAC,YAAY,qBAExD,U,42BC4CTG,EAAiB/f,gBAAI,GACrBggB,EAAiBhgB,gBAAI,GACrBigB,EAAWjgB,eAAI,GACfkgB,EAAclgB,eAAI,OAClBmgB,EAAengB,eAAI,IACnBogB,EAAgBpgB,eAAI,MAO1BqgB,KAAKC,iBAAiB,aAAcC,MACpCF,KAAKC,iBAAiB,MAAOE,MAE7B,MAAMC,EAAY,CAChB9N,QAAQ3J,EAAItE,GACV,MAAMgc,EAAOhc,EAAQ9F,OAAS,GACxB+hB,EAAkBN,KAAKI,UAAU,MAAOC,GAAM9hB,MACpDoK,EAAGsK,UAAa,yGAAwGqN,kBAE1HC,QAAQ5X,EAAItE,GACV,MAAMgc,EAAOhc,EAAQ9F,OAAS,GACxB+hB,EAAkBN,KAAKI,UAAU,MAAOC,GAAM9hB,MACpDoK,EAAGsK,UAAa,yGAAwGqN,mBAKtHE,EAAaJ,EAEbK,EAAkB9gB,eAAI,CACxB,CAAE2E,GAAG,MAAO1B,MAAM,OAClB,CAAE0B,GAAG,EAAG1B,MAAM,QAEZ8d,EAAe,CACjBC,MAAO,EACPrW,KAAM,EACNsW,QAAS,EACTjT,MAAO,GAGLkT,EAAOlhB,eAAI,IACjBP,OAAOyhB,KAAOA,EAEd,MAAMC,EAAe5c,eAAU,KAC3B,IAAIqR,EAAUsL,EAAKtiB,MAAM4D,OAASyH,IAE9B,IAAImX,EAA8B,UAAbnX,EAAKoX,QAAoBtB,EAAenhB,OAAwB,UAAbqL,EAAKoX,QAAoBrB,EAAephB,MAC5G0iB,EAAeP,EAAa9W,EAAKsX,QAAUtB,EAASrhB,MACpD4iB,EAAoC,OAArBtB,EAAYthB,OAAkBqL,EAAK2J,OAASsM,EAAYthB,MAC3E0D,QAAQC,IAAK,WAAY0H,EAAK2J,MAAO,OAAQsM,EAAYthB,OACzD,IAAI6iB,EAAsC,IAAtBtB,EAAavhB,OAAeqL,EAAKwD,QAAQrI,cAAc7D,QAAQ4e,EAAavhB,MAAMwG,gBAAmB,EAEzH,OAAOgc,GAAiBE,GAAgBG,GAAiBD,IAE7D,OAAO5L,IAGX,SAAS8L,IACLR,EAAKtiB,MAAQ,GAGjB,SAAS+iB,EAAQC,GACb,IAAIC,EAAY,cAChB,GAA8C,GAA1CD,EAAUnU,QAAQlM,QAASsgB,GAAkB,CAExCf,EAAgBliB,MAAMmK,KAAOkB,GAAgBA,EAAKtF,IAAMid,EAAUhO,QACnEkN,EAAgBliB,MAAM/B,KAAM,CAAE8H,GAAGid,EAAUhO,MAAO3Q,MAAM2e,EAAUhO,QAItE,IAAInG,EAAUmU,EAAUnU,QAAQ9N,MAAOkiB,EAAUtlB,QAIjDkR,EAAUA,EAAQ7H,MAAM,MAAMC,KAAK,KACnC+b,EAAUnU,QAAUA,EAGpBmU,EAAUE,UAA+B,KAAnBF,EAAUhO,MAAe,KAAO,OAAOgO,EAAUhO,MACvEgO,EAAUG,UAAYH,EAAUG,UAAU5e,QAAQ,IAAK,KAAKA,QAAQ,IAAK,IAAIyC,MAAM,KAAK,GAGxFgc,EAAU7hB,UAAW,EAGrBmhB,EAAKtiB,MAAM/B,KAAM+kB,GAGjBxB,EAAcxhB,MAAMojB,UAAY5B,EAAcxhB,MAAMqjB,c,OAI5Dvc,EAAc,CAACic,W,mlEC5If,MAAM,GAA2B,IAAgB,GAAQ,CAAC,CAAC,YAAY,qBAExD,UAGf,KAAS,GAAQ,aAAc,CAAC5F,SAAA,O,gPCGhC,MAAMmG,EAA0BliB,eAAI,IAC9BmiB,EAAcniB,eAAI,IAClBoiB,EAAkBpiB,eAAI,MACtBqiB,EAAgBriB,eAAI,MAG1B,SAASsiB,EAAqBC,GAC1B,IAAIC,EAASD,EACT/c,EAASid,IACTC,EAAYC,KAAKC,IAAKJ,EAAOphB,EAAEohB,EAAOK,MAAQrd,EAAOpE,GACrD0hB,EAAgC,GAAVJ,EACtBK,EAAQ,KAAIP,EAAOphB,EAAEohB,EAAOK,SAASL,EAAO/K,EAAgB,GAAd+K,EAAOQ,YAAeR,EAAOphB,EAAEohB,EAAOK,MAAMC,KAAuBN,EAAO/K,EAAgB,GAAd+K,EAAOQ,WAAcxd,EAAOpE,EAAE0hB,KAAuBtd,EAAOiS,EAAE,MAAMjS,EAAOpE,KAAKoE,EAAOiS,EAAE,IACvN,OAAOsL,EAKX,SAASN,IACL,IAAIQ,EAAaC,EAAoBb,EAAczjB,MAAM2G,SACzD,OAAO0d,EAKX,SAASC,EAAmB3d,GAC1B,MAAMqR,EAAOrR,EAAQsR,wBACrB,MAAO,CACLzV,EAAGwV,EAAKG,KACRU,EAAGb,EAAKK,KAIZ,SAASkM,EAAwBC,GAC7BlB,EAAwBtjB,MAAQwkB,EAChCC,IAGJ,SAASA,IACwB,MAAzBjB,EAAgBxjB,OAChB0kB,IACJ,IAAIC,EAAiBnB,EAAgBxjB,MACjC4kB,EAAoBtB,EAAwBtjB,MAAMoL,IAAMyZ,IACjD,CACHriB,EAAGqiB,EAAKriB,EAAImiB,EAAeniB,EAC3BqW,EAAGgM,EAAKhM,EAAI8L,EAAe9L,EAC3BoL,MAAOY,EAAKZ,MACZG,OAAQS,EAAKT,UAGrBb,EAAYvjB,MAAQ4kB,EAIxB,SAASF,IACL,IAAII,EAAgB5N,SAASC,cAAc,cAC3CqM,EAAgBxjB,MAAQskB,EAAoBQ,GAC5CL,IAGJ,SAAShe,EAAgBgH,GACrBgW,EAAczjB,MAAQyN,E,OAK1B3G,EAAa,CACTyd,0BAAyBG,uBAAsBje,oB,ojBC1EnD,MAAM,GAA2B,IAAgB,GAAQ,CAAC,CAAC,YAAY,qBAExD,UCRA,MAAMse,GACjBzc,YAAa0c,EAAQC,EAASC,GAC1B1X,KAAK2X,KAAO,YACZ3X,KAAKiC,KAAO,MACZjC,KAAKiB,SAAW,KAChBjB,KAAKa,GAAK,KACVb,KAAK4X,cAAgBJ,EACrBxX,KAAK6X,eAAiBJ,EACtBzX,KAAK8X,iBAAmBJ,EAG5BK,UACI7hB,QAAQC,IAAK,0BACb6J,KAAKa,GAAK,IAAIY,UAAUzB,KAAKiB,SAAW,MAAQjB,KAAK2X,KAAO,IAAM3X,KAAKiC,MACvEjC,KAAKa,GAAGmX,OAAShY,KAAKwX,OAAOzkB,KAAKiN,MAClCA,KAAKa,GAAGoX,UAAYjY,KAAK0X,UAAU3kB,KAAKiN,MACxCA,KAAKa,GAAGqX,QAAUlY,KAAKyX,QAAQ1kB,KAAKiN,MAGxCmY,QAASC,GACLA,EAAUA,GAAW,EACrBliB,QAAQC,IAAK,yBAA0BiiB,GACvC7O,WAAY,KACRvJ,KAAK+X,WACE,IAARK,GAGPZ,SACIthB,QAAQC,IAAK,yBACb6J,KAAKa,GAAGU,KAAK9L,KAAKE,UAAU,CACxB,QAAW,eACX,QAAW,YACX,QAAW,MAEfqK,KAAK4X,gBAGTF,UAAUrW,GACNrB,KAAK8X,iBAAiBzW,GAG1BoW,UACIvhB,QAAQC,IAAK,0BACb6J,KAAK6X,kB,omBCgDb,MAAMQ,EAAYzkB,eAAI,MAChB0kB,EAAc1kB,eAAI,MAClB2kB,EAAgB3kB,eAAI,MACpB4kB,EAAe5kB,eAAI,MACnB6kB,EAAkB7kB,eAAI,MACtB8kB,EAAuB9kB,eAAI,MAC3B+kB,EAA2B/kB,eAAI,MAC/BqK,EAAoBrK,eAAI,MAE9B,IAAIglB,EAAc,KAEdngB,EAAU7E,eAAI,MAClBP,OAAOoF,QAAUA,EAEjB,MAAMogB,EAAUC,QAOhB,SAASC,EAAappB,IAGtB,SAASqpB,EAAgBrpB,GACvB,IAAIspB,EAAcxjB,KAAKC,MAAM/F,EAAKA,MAE9BspB,EAAY5X,SAAqD,GAA1C4X,EAAY5X,QAAQlM,QAAQ,aACrD8jB,EAAY5X,QAAU2R,KAAMiG,EAAY5X,QAAQtK,QAAQ,UAAW,MAEjEshB,GAAYA,EAAU7lB,OACxB6lB,EAAU7lB,MAAM+iB,OAAQ,CAAE/N,MAAOyR,EAAYzR,MAAOmO,UAAWsD,EAAYtD,UAAWV,OAAQ,SAAUE,MAAO8D,EAAYzhB,KAAM6J,QAAS4X,EAAY5X,QAAU,KAAO4X,EAAYC,SAKvL,MAAMC,EAAyBhhB,eAAU,KACvC,IAAI7D,EAAQ,aAOZ,OANI2J,GAAqBA,EAAkBzL,MACrCyL,EAAkBzL,MAAMgM,WAAWzM,OACrCuC,GAAS,MAAQ2J,EAAkBzL,MAAMgM,WAAWzM,MAEtDuC,GAAS,sBAEJA,IAGT,SAAS8kB,EAAczpB,GACrBuG,QAAQC,IAAK,gBAAiBxG,GAC9B0pB,EAAclB,QAAQ,GAGxB,MAAMkB,EAAgBhmB,OAAOgmB,cAAgB,IAAI9B,GAAewB,EAAcK,EAAeJ,GAWvFM,EAAeC,IACrB,IAAIhS,EAAU+R,EAAa/R,QACvBC,EAAQ8R,EAAa9R,MACrB1G,EAAUwY,EAAaE,UACvBC,EAAY,OACU,SAAtBH,EAAaI,QACfD,EAAY,SAGdpmB,OAAOkU,QAAUA,EACjBlU,OAAOmU,MAAQA,EACfnU,OAAOyN,QAAUA,EAEjB6Y,SAAUF,GAEVvjB,QAAQC,IAAK,oDAAqDoR,EAASC,EAAO1G,GAElF,IAAI8Y,EAAmB,GAYvB,GAVIrS,GACFqS,EAAiBnpB,KAAM,WAEpB+W,GACHoS,EAAiBnpB,KAAM,SAEpBqQ,GACH8Y,EAAiBnpB,KAAM,WAGrBmpB,EAAiBzpB,OAAS,EAAG,CAC/B,IAAI0pB,EAAmB,uBAAyBD,EAAiBngB,KAAK,MAEtE,MADAqgB,MAAOD,GACD,IAAI9e,MAAO8e,GAOnB,SAASE,EAAuBlmB,GAC9B0kB,EAAc/lB,MAAMyF,gBAAgBpE,GAItC,SAASmmB,IACP3mB,OAAO4mB,SAASC,SAGlB,SAASC,IAEP,MAAMC,EAAgB7f,OAAO8f,SACvBC,EAAa/f,OAAOggB,QAAQ,CAAEC,SAAS,IACvClS,EAAS,IAAIzO,UACb0O,EAAMD,EAAOxO,gBAAgBwgB,EAAY,aACzC9R,EAAWD,EAAIxO,KAAK4P,cAAc,yBAA2B,KAGnE9O,GAAmB4f,sBAAsBjS,GAOzC,MAAMC,EAAkBD,EAAStB,UAEjC,IAAIwT,EAAkB,CAClBC,YAAa,EACbC,YAAa,IACbC,sBAAuB,EACvBC,mBAAmB,EACnBC,wBAAwB,EACxBC,uBAAuB,EACvBC,eAAgB,SAChBC,YAAa,WACbC,0BAA0B,EAC1BC,kBAAkB,EAClBC,cAAc,EACdC,kBAAkB,EAClBC,iBAAkB,EAClBC,mBAAmB,EACnBC,aAAa,EACbC,KAAK,EACLC,oBAAoB,EACpBC,wBAAwB,GAG1B,MAAMC,EAAiBC,cAAgBrT,EAAiBiS,GAIzD,IAAIqB,EAAenD,EAAYja,KAC3Bqd,EAAkBvU,mBAAmBsU,GACrCE,EAAW,GAAE1U,SAAeC,eAAmBwU,IAGlDtU,OAAMwU,KAAMD,EAAS,CAAE3a,QAASua,IAC3BlU,KAAQwU,IAEP,IAAIC,EAAc,GAAE7U,SAAeC,2CACnCE,OAAMwU,KAAME,EAAY,CAAE9a,QAAS8Y,IAChCzS,KAAQwU,OAERrU,MAAQlG,IACP1L,QAAQC,IAAK,mCAAoCyL,OAGtDkG,MAAQlG,IACP1L,QAAQC,IAAK,wCAAyCyL,KAK9D,SAAS2X,IACP,MAAM8C,EAAS,IAAIC,gBAAgBjpB,OAAO4mB,SAASsC,QAC7CzM,EAAM,GACZ,IAAK,MAAOhd,EAAKN,KAAU6pB,EAAOG,UAChC1M,EAAIhd,GAAON,EAEb,OAAOsd,EAIT,SAAS7W,EAAgBgH,GAGvB0Y,EAAyBnmB,MAAMyG,gBAAiBgH,GAGhD,IAAIqX,EAAgB5N,SAASC,cAAc,cAC3C,GAAI1J,EAAM3H,QAAS,CACjB,IAAI+I,EAAU,CACZjI,OAAO,kBACPkI,QAAS,CACPyF,QAAQ,6BACR8L,YAAY5S,EAAM3H,QAAQvG,OAG9BulB,EAAcmF,cAAc3V,YAAYzF,EAAS,UAEjDsX,EAAyBnmB,MAAMukB,wBAAyB,IAI5D,SAAS2F,EAAoBtY,GAC3B/Q,OAAO4K,kBAAoBA,EAAkBzL,MAAQ4R,EAEjDqU,EAAgBjmB,OAClBimB,EAAgBjmB,MAAMid,qBAAqBrL,GAGzCsU,EAAqBlmB,OACvBkmB,EAAqBlmB,MAAMid,qBAAqBrL,GAIpD,SAASuY,EAA6BhtB,GAChC+oB,EAAqBlmB,OACvBkmB,EAAqBlmB,MAAMghB,oBAAoB7jB,GAInD,SAASitB,EAAW7c,GAClBtH,EAAQjG,MAASuN,EAGnB,SAAS8c,EAAmBrqB,GACxB,GAAmB,MAAfomB,EACF,OAAO,EACT,IAAIjb,EAAcib,EAAYjgB,MAAMC,OAChCkkB,EAAkBnf,EAAYC,IAAM7E,GAAiBA,EAAMhH,MAC/D,OAAI+qB,EAAgB3nB,QAAQ3C,IAAU,GAAc,IAATA,EAQ/C,SAASuqB,EAAsBrkB,GAC7B,MAAMskB,EAAW,CACL,aAAc,WACd,SAAU,UACV,WAAY,SACZ,SAAU,SACV,SAAU,OACV,WAAY,SACR,UAAW,SACX,UAAW,SACX,UAAW,SACX,SAAU,SACV,YAAa,SACb,YAAa,SACb,YAAa,SACb,WAAY,SAChB,WAAY,QACR,iBAAkB,QAClB,mBAAoB,QACpB,iBAAkB,QAClB,mBAAoB,QACpB,kBAAmB,QACnB,kBAAmB,QACnB,kBAAmB,QACnB,iBAAkB,QACtB,WAAY,SACZ,kDAAmD,SACnD,SAAU,SACV,qBAAsB,SACtB,uDAAwD,0BACxD,yCAA0C,oBAC1C,oCAAqC,iCACrC,yBAA0B,uBAC1B,eAAgB,aAChB,wBAAyB,uBAErCtkB,EAAMnC,QAAU0mB,IAEdA,EAAKtkB,MAAMC,OAASqkB,EAAKtkB,MAAMC,OAAOxC,OAAS2C,GAAiBA,EAAMmkB,YAEtED,EAAKtkB,MAAMC,OAAOrC,QAAUwC,IAC1B,IAAIokB,EAAYpkB,EAAMvB,KAClB4lB,EAAYD,EAAUpmB,QAAQ,WAAY,IAC1CsmB,EAAaL,EAASI,GACtBC,IACFtkB,EAAMvB,KAAO6lB,KAKjBJ,EAAKtkB,MAAMC,OAASC,OAAEC,OAAQmkB,EAAKtkB,MAAMC,OAASG,GAAiBA,EAAMhH,KAAKiH,iBAUlF,SAASwJ,IACPnP,OAAOilB,YAAcA,EAErB5O,SAAShI,iBAAiB,SAAU4b,IAClC,IAAIC,EAAc5E,EAAyBnmB,MACxB,MAAf+qB,GAEJA,EAAYrG,yBAId7jB,OAAOqO,iBACL,UACCzB,IACC,GAA0B,mBAAtBA,EAAMtQ,KAAKyJ,OAA6B,OAE5C,IAAImkB,EAAc5E,EAAyBnmB,MACxB,MAAf+qB,GAGJA,EAAYxG,wBAAwB9W,EAAMtQ,KAAK2R,WAEjD,GAGEiG,GAAYC,IAKhBE,OAAMtV,IAAKmV,EAAU,QACpBI,KAAO3W,IAGN,IAAIwsB,EAAQxsB,EAAOrB,KAAK8tB,aAAa9gB,KAAO+gB,GACnCA,EAAInlB,GAAG/F,MAAMmrB,YAAcnW,GAIhCoW,EAAcJ,EAEL,MAATA,GAEF9V,OAAMtV,IAAKmV,EAAU,QAAUC,EAAQ,UACtCG,KAAO3W,IACN+rB,EAAsB/rB,EAAOrB,KAAK+I,OAClCklB,EAAYllB,MAAQ1H,EAAOrB,KAAK+I,MAChCkkB,EAAWgB,GACXrU,WAAY,KACVqP,EAAc5nB,EAAOrB,KAAK+I,MAAM,GAChC,IAAImlB,EAAuBtW,EAAU,QAAUC,EAAQ,cAAgBC,mBAAoBmR,EAAYja,MACvG2Z,EAAY9lB,MAAMyV,aAAc4V,IAC/B,OACF/V,MAAQlG,IACT1L,QAAQC,IAAI,QAASyL,OAIxBkG,MAAQlG,IACT1L,QAAQC,IAAI,QAASyL,KAGvByX,EAActB,W,OA1QlBva,GAAcsD,QAAUA,EA8IpBzN,OAAOwpB,kBAAoBA,EA0D7B/nB,eAAW,KACT0N,M,kyEChYJ,MAAM,GAA2B,IAAgB,GAAQ,CAAC,CAAC,YAAY,qBAExD,UlCCfnP,OAAOyqB,MAAQA,EACfzqB,OAAO0qB,0BAA4BA,OAEnCA,iBAA4BC,SAC1BC,iBACAC,iBACAC,iBACAC,iBACAC,kBAGa,QACbtsB,KAAM,MACNsN,WAAY,CACVif,U,UmChBJ,MAAM,GAA2B,IAAgB,GAAQ,CAAC,CAAC,SAAS3X,KAErD,U,aCPA4X,mBAAY,CACzB/pB,MAAO,GAEPgqB,UAAW,GAEXC,QAAS,GAET/tB,QAAS,K,aCCI,I,sEAAA,CACbkgB,OAAQ,GACR8N,QAAS,KCNXrrB,OAAOgN,iBAAmB,GAE1BhN,OAAOmS,mBAAqB,SAASjN,EAAI+H,GACrCjN,OAAOgN,iBAAiB9H,GAAM+H,GAGlCjN,OAAOsrB,sBAAwB,SAASpmB,UAC7BlF,OAAOgN,iBAAiB9H,IAGnClF,OAAOsmB,SAAW,SAASD,GACvBhQ,SAASC,cAAc,QAAQzP,aAAa,QAAS,IACvC,SAAVwf,EACAhQ,SAASkV,gBAAgB1kB,aAAa,aAAc,QAEpDwP,SAASkV,gBAAgB1kB,aAAa,aAAc,UAI5D7G,OAAOqO,iBACH,UACCzB,IACG/J,QAAQC,IAAI,2DAA4D8J,GAC7C,0BAAvBA,EAAMtQ,KAAKoX,SACX7Q,QAAQC,IAAI,oFAAqF8J,EAAMtQ,KAAKoX,SAC5G1T,OAAOsrB,sBAAsB1e,EAAMtQ,KAAKqX,MACV,gBAAvB/G,EAAMtQ,KAAKoX,UAClB7Q,QAAQC,IAAI,0EAA2E8J,EAAMtQ,KAAKoX,SAClG1T,OAAOsmB,SAAS1Z,EAAMtQ,KAAK8pB,cAGnC,GAGJoF,eAAUC,IAAKC,IAAIC,QAAQC,IAAmBF,IAAIG,IAAOC,MAAM,S,wgnGCxC/D,W,oCCAA,W,6DCAA,W,oCCAA,W,yDCAA,W,kCCAA,W,kCCAA,W,kCCAA,W,kCCAA,W,yDCAA,W,mECEA,SAAS1a,EAAwBlK,GAE7BA,EAAOqK,cAAcC,QAAQ,SAAU,CAEnCC,YAAa,SAAUlI,GACvB,GAAmB,WAAfA,EAAGnF,QACH,MAAO,CAACD,KAAM,SAAUzF,KAAK,WAEjC4G,MACA,CACIgL,SAAU,CACNyb,WAAW,EACXxnB,WAAW,EACXF,WAAW,EACX2nB,UAAU,EACVC,UAAU,EACVC,eAAe,EACfC,UAAU,EACVC,WAAW,EACX9nB,UAAU,EACV+nB,WAAW,EACXC,OAAQ,GACRvd,OAAQ,WACJ,IAAI2C,EAAa1R,OAAOqL,OAAOtD,WAAWyE,aAE1C,IAAImF,EAAWhF,KAAKxB,WAAWjG,GAAG0M,UAsBlC,SAASC,EAAoBC,GACzB,IAAIC,EAAmB,GACnBC,EAAiBjV,OAAOkV,oBAAoBH,GAahD,OAZAE,EAAe9O,QAAUgP,IACrB,IAAIgK,EAAqBhK,EAASxO,QAAQ,SAAU,IAChDyF,OAAsD2M,IAArChE,EAAaI,GAAUN,UAA0BE,EAAaI,GAAUN,UAAWE,EAAaI,GACjH,CAAC,OAAQ,SAAU,UAAUtI,SAASsS,KACtC/S,EAAiBwW,KAAKxW,QACa2M,IAA/BpE,EAAWvI,GACX4I,EAAiB,IAAImK,GAAsBxK,EAAWvI,GAEtD4I,EAAiB,IAAImK,GAAsB9Z,KAAKC,MAAM8G,MAI3D4I,EAGX,SAASwa,EAAyC9P,GAC9C,IAAK,IAAIhd,KAAOgd,EACd,GAAwB,kBAAbA,EAAIhd,IAAkC,OAAbgd,EAAIhd,GAEtC8sB,EAAyC9P,EAAIhd,SACxC,GAAwB,kBAAbgd,EAAIhd,GAAmB,CAEvC,MAAM+sB,EAAQ/P,EAAIhd,GAAK+sB,MAAM,cAC7B,GAAIA,GAASA,EAAM,GAAI,CACrB,MAAMC,EAAgBD,EAAM,GAE5B/P,EAAIhd,GAAOkd,EAAkBjL,EAAY+a,KAMnD,SAAS9P,EAAkBF,EAAK7V,GAC5B,MAAM8V,EAAY9V,EAAST,MAAM,KACjC,IAAK,IAAIvJ,EAAI,EAAGA,EAAI8f,EAAU5f,OAAQF,IAAK,CACvC,IAAK6f,IAAQA,EAAIxf,eAAeyf,EAAU9f,IACtC,OAEJ6f,EAAMA,EAAIC,EAAU9f,IAExB,OAAO6f,EA/DX9P,KAAKO,sBAAyBN,IAC1B8E,EAAa9E,EAAME,OACnBiF,EAAmBF,EAAoBlF,KAAKxB,YAC5CwB,KAAKyF,OAAOC,iBAAiBX,IAIjC1R,OAAOqL,OAAO8G,mBAAoBR,EAAUhF,MA2D5C,IAAIoF,EAAmBF,EAAoBlF,KAAKxB,YAGhDwB,KAAKyF,OAAS,IAAIE,IAAI,CAClB/I,GAAI,gBAAgBoI,EAEpBrV,KAAM,WAGF,IAAIowB,EAAa3a,EAAiB,SAClCwa,EAAyCG,GACzC,IAAIC,EAAe5a,EAAiB,YAAc,GAClDwa,EAAyCI,GACzC,IAAIC,EAAe7a,EAAiB,YAAc,GAGlD,OAFAwa,EAAyCK,GAElC,CAEH5e,QAAQ,aACR7C,WAAY4G,EACZL,WAAYA,EACZgb,WAAYA,EACZC,aAAcA,EACdC,aAAcA,IAGtB/Z,QAAS,CACLR,iBAAiBS,GACbnG,KAAK+E,WAAaoB,EAClB,IAAI4Z,EAAa3a,EAAiB,SAClCwa,EAAyCG,GACzC/f,KAAK+f,WAAaA,EAClB,IAAIC,EAAe5a,EAAiB,YAAc,GAClDwa,EAAyCI,GACzChgB,KAAKggB,aAAeA,EACpB,IAAIC,EAAe7a,EAAiB,YAAc,GAClDwa,EAAyCK,GACzCjgB,KAAKigB,aAAeA,GAExB7Z,iBAAiBC,GACbrG,KAAKxB,WAAa0G,EAAoBmB,GACtCjB,EAAmBpF,KAAKxB,WACxBwB,KAAK0F,iBAAiB1F,KAAK+E,cAInCwB,gBAMZG,qBAEAC,OAAQ,WACJ3G,KAAKrB,KAAKiI,YAEdpE,OACIxC,KAAKwG,SAASxG,KAAM,oBAAqBA,KAAKyG,oBAGlDI,UACIxT,OAAOqL,OAAOoI,YAAa,CAACC,QAAQ,wBAAyBC,IAAIhH,KAAKiH,MAAQ,OAKtFtI,KAAM,CACF8H,sBAEAG,WACI,MAAM,GAAEhK,EAAE,MAAEjE,GAAUqH,KACtB,IAAIgF,EAAWpI,EAAG4B,WAAWjG,GAAG0M,UAChCrI,EAAGmC,YAAcpG,EACjB,MAAMd,EAAiB,wBAAuBmN,6TAI9CpI,EAAGsK,UAAYrP,M,UAO/BnG,EAAOD,QAAU,CAAEgT,4B,kCCpLnB,W,kCCAA,W,kCCAA,W,8HCAA","file":"js/app.2b84767e.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-cli-plugin-quasar/lib/loader.vue.auto-import-quasar.js??ref--1-1!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-2!./StylesPanel.vue?vue&type=style&index=0&id=53312a0a&lang=scss&scoped=true\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-cli-plugin-quasar/lib/loader.vue.auto-import-quasar.js??ref--1-1!../../node_modules/vue-loader-v16/dist/index.js??ref--1-2!./ChartProperties.vue?vue&type=style&index=0&id=f85b9ac6&lang=scss&scoped=true\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-cli-plugin-quasar/lib/loader.vue.auto-import-quasar.js??ref--1-1!../../node_modules/vue-loader-v16/dist/index.js??ref--1-2!./ChartPropertiesSection.vue?vue&type=style&index=0&id=5d639912&lang=css\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-cli-plugin-quasar/lib/loader.vue.auto-import-quasar.js??ref--1-1!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-2!./ComponentAddDialog.vue?vue&type=style&index=0&id=a6e02b56&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-cli-plugin-quasar/lib/loader.vue.auto-import-quasar.js??ref--1-1!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-2!./PropertiesPanel.vue?vue&type=style&index=0&id=789ef747&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-cli-plugin-quasar/lib/loader.vue.auto-import-quasar.js??ref--1-1!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-2!./PanelTitle.vue?vue&type=style&index=0&id=6c90e336&lang=scss&scoped=true\"","\n\n\n\n\n","\n\n\n\n\n\n\n\n","import script from \"./PanelTitle.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./PanelTitle.vue?vue&type=script&setup=true&lang=js\"\n\nimport \"./PanelTitle.vue?vue&type=style&index=0&id=6c90e336&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/daniel/Documents/work/stipple_app/project42/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-6c90e336\"]])\n\nexport default __exports__","\n\n\n\n\n\n","import script from \"./Panel.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./Panel.vue?vue&type=script&setup=true&lang=js\"\n\nimport \"./Panel.vue?vue&type=style&index=0&id=238e861a&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/daniel/Documents/work/stipple_app/project42/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-238e861a\"]])\n\nexport default __exports__","\n\n\n\n","import script from \"./Tabs.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./Tabs.vue?vue&type=script&setup=true&lang=js\"\n\nimport \"./Tabs.vue?vue&type=style&index=0&id=1d801ac0&lang=css\"\n\nconst __exports__ = script;\n\nexport default __exports__","import script from \"./Tab.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./Tab.vue?vue&type=script&setup=true&lang=js\"\n\nimport \"./Tab.vue?vue&type=style&index=0&id=5af1ae02&lang=css\"\n\nconst __exports__ = script;\n\nexport default __exports__","/*\nIcon list Extracted from https://fonts.google.com/icons?icon.set=Material+Icons&selected=Material+Icons+Outlined:shopping_cart: with this script:\nlet result = [];\nlet iconElements = document.querySelectorAll(\"div.icons-container .icon-asset\")\niconElements.forEach( el=>{\n let content = el.querySelector(\"span\")\n let name = content.innerText;\n let classes = el.getAttribute(\"class\");\n result.push(name);\n} )\nconsole.log( JSON.stringify(result) );\n*/\n//import blockDefinitionsSource from \"./blockDefinitionsSource.js\";\nimport blockDefinitionsSourceRaw from \"./blockDefinitions.json\";\nlet blockDefinitionsSource = JSON.parse( JSON.stringify(blockDefinitionsSourceRaw) );\n\nlet injectableVariables = {\n supportedIcons: [ \n \"search\",\"search\",\"home\",\"account_circle\",\"settings\",\"done\",\"info\",\"check_circle\",\"delete\",\"visibility\",\"shopping_cart\",\"favorite\",\"description\",\"logout\",\"favorite_border\",\"lock\",\"schedule\",\"language\",\"help_outline\",\"face\",\"manage_accounts\",\"verified\",\"filter_alt\",\"thumb_up\",\"event\",\"fingerprint\",\"dashboard\",\"list\",\"login\",\"visibility_off\",\"check_circle_outline\",\"calendar_today\",\"highlight_off\",\"help\",\"paid\",\"task_alt\",\"question_answer\",\"date_range\",\"article\",\"open_in_new\",\"shopping_bag\",\"lightbulb\",\"credit_card\",\"perm_identity\",\"history\",\"trending_up\",\"account_balance\",\"delete_outline\",\"fact_check\",\"report_problem\",\"verified_user\",\"assignment\",\"star_rate\",\"arrow_right_alt\",\"account_balance_wallet\",\"autorenew\",\"build\",\"view_list\",\"work\",\"print\",\"store\",\"analytics\",\"delete_forever\",\"today\",\"calendar_month\",\"admin_panel_settings\",\"lock_open\",\"watch_later\",\"grade\",\"update\",\"savings\",\"room\",\"code\",\"receipt\",\"add_shopping_cart\",\"contact_support\",\"power_settings_new\",\"done_all\",\"pets\",\"explore\",\"bookmark\",\"account_box\",\"note_add\",\"reorder\",\"bookmark_border\",\"pending_actions\",\"shopping_basket\",\"payment\",\"launch\",\"drag_indicator\",\"supervisor_account\",\"touch_app\",\"pending\",\"zoom_in\",\"assessment\",\"leaderboard\",\"thumb_up_off_alt\",\"open_in_full\",\"preview\",\"done_outline\",\"exit_to_app\",\"assignment_ind\",\"published_with_changes\",\"card_giftcard\",\"view_in_ar\",\"feedback\",\"work_outline\",\"timeline\",\"swap_horiz\",\"assignment_turned_in\",\"dns\",\"stars\",\"sync_alt\",\"label\",\"flight_takeoff\",\"tips_and_updates\",\"book\",\"contact_page\",\"alarm\",\"space_dashboard\",\"bug_report\",\"cached\",\"gavel\",\"translate\",\"pan_tool\",\"edit_calendar\",\"supervised_user_circle\",\"minimize\",\"extension\",\"accessibility\",\"android\",\"rocket_launch\",\"get_app\",\"question_mark\",\"record_voice_over\",\"add_task\",\"trending_flat\",\"help_center\",\"hourglass_empty\",\"accessibility_new\",\"rule\",\"thumb_down\",\"sticky_note_2\",\"settings_applications\",\"source\",\"dashboard_customize\",\"find_in_page\",\"ads_click\",\"support\",\"flutter_dash\",\"close_fullscreen\",\"redeem\",\"announcement\",\"loyalty\",\"swap_vert\",\"arrow_circle_right\",\"view_headline\",\"restore\",\"dangerous\",\"euro_symbol\",\"group_work\",\"sensors\",\"compare_arrows\",\"subject\",\"table_view\",\"disabled_by_default\",\"privacy_tip\",\"nightlight_round\",\"https\",\"toc\",\"track_changes\",\"arrow_circle_up\",\"bookmarks\",\"copyright\",\"grading\",\"currency_exchange\",\"input\",\"api\",\"perm_media\",\"query_builder\",\"view_module\",\"build_circle\",\"zoom_out\",\"perm_contact_calendar\",\"settings_phone\",\"backup\",\"open_with\",\"circle_notifications\",\"perm_phone_msg\",\"book_online\",\"speaker_notes\",\"label_important\",\"wysiwyg\",\"card_membership\",\"file_present\",\"arrow_circle_down\",\"pageview\",\"3d_rotation\",\"upgrade\",\"integration_instructions\",\"change_history\",\"trending_down\",\"swipe\",\"class\",\"percent\",\"accessible\",\"g_translate\",\"settings_accessibility\",\"expand\",\"offline_bolt\",\"settings_backup_restore\",\"production_quantity_limits\",\"arrow_circle_left\",\"aspect_ratio\",\"model_training\",\"view_column\",\"donut_large\",\"segment\",\"calendar_view_month\",\"schedule_send\",\"alarm_on\",\"maximize\",\"bookmark_add\",\"thumbs_up_down\",\"settings_ethernet\",\"theaters\",\"view_agenda\",\"thumb_down_off_alt\",\"important_devices\",\"unpublished\",\"invert_colors\",\"opacity\",\"commute\",\"open_in_browser\",\"system_update_alt\",\"no_accounts\",\"addchart\",\"history_toggle_off\",\"view_week\",\"youtube_searched_for\",\"tour\",\"shopping_cart_checkout\",\"hide_source\",\"bookmark_added\",\"mark_as_unread\",\"settings_input_antenna\",\"shop\",\"plagiarism\",\"turned_in\",\"search_off\",\"not_started\",\"flight_land\",\"assignment_late\",\"assignment_return\",\"donut_small\",\"saved_search\",\"filter_alt_off\",\"contactless\",\"highlight_alt\",\"hotel_class\",\"settings_input_component\",\"balance\",\"view_carousel\",\"view_quilt\",\"anchor\",\"all_inbox\",\"turned_in_not\",\"mediation\",\"settings_remote\",\"edit_off\",\"hourglass_full\",\"fit_screen\",\"flaky\",\"rocket\",\"toll\",\"remove_shopping_cart\",\"lock_clock\",\"swap_horizontal_circle\",\"settings_voice\",\"view_sidebar\",\"event_seat\",\"online_prediction\",\"vertical_split\",\"next_plan\",\"pregnant_woman\",\"data_exploration\",\"terminal\",\"restore_from_trash\",\"lock_reset\",\"camera_enhance\",\"markunread_mailbox\",\"dynamic_form\",\"tab\",\"calendar_view_week\",\"view_stream\",\"accessible_forward\",\"request_page\",\"token\",\"remove_done\",\"settings_power\",\"smart_button\",\"add_to_drive\",\"card_travel\",\"outbox\",\"try\",\"offline_pin\",\"calendar_view_day\",\"find_replace\",\"density_medium\",\"rowing\",\"compress\",\"chrome_reader_mode\",\"fax\",\"outlet\",\"assignment_returned\",\"http\",\"settings_brightness\",\"add_card\",\"alarm_add\",\"generating_tokens\",\"new_label\",\"backup_table\",\"spellcheck\",\"restore_page\",\"credit_card_off\",\"wifi_protected_setup\",\"play_for_work\",\"free_cancellation\",\"settings_overscan\",\"work_history\",\"123\",\"gif\",\"outbound\",\"disabled_visible\",\"swap_vertical_circle\",\"settings_input_composite\",\"cancel_schedule_send\",\"quickreply\",\"view_day\",\"event_repeat\",\"comment_bank\",\"assured_workload\",\"switch_access_shortcut\",\"display_settings\",\"view_timeline\",\"line_weight\",\"pan_tool_alt\",\"horizontal_split\",\"noise_control_off\",\"webhook\",\"satellite_alt\",\"polymer\",\"batch_prediction\",\"send_and_archive\",\"picture_in_picture\",\"manage_history\",\"code_off\",\"bookmark_remove\",\"settings_bluetooth\",\"shop_two\",\"output\",\"html\",\"flip_to_front\",\"gif_box\",\"eject\",\"speaker_notes_off\",\"alarm_off\",\"perm_data_setting\",\"settings_input_hdmi\",\"perm_scan_wifi\",\"hourglass_disabled\",\"troubleshoot\",\"switch_access_shortcut_add\",\"sensors_off\",\"settings_cell\",\"work_off\",\"app_blocking\",\"picture_in_picture_alt\",\"line_style\",\"perm_device_information\",\"join_full\",\"subtitles_off\",\"update_disabled\",\"app_shortcut\",\"javascript\",\"abc\",\"swipe_left\",\"voice_over_off\",\"private_connectivity\",\"lightbulb_circle\",\"settings_input_svideo\",\"join_inner\",\"flip_to_back\",\"view_array\",\"swipe_right\",\"install_desktop\",\"open_in_new_off\",\"swipe_up\",\"all_out\",\"shop_2\",\"label_off\",\"density_small\",\"tab_unselected\",\"rounded_corner\",\"data_thresholding\",\"text_rotate_vertical\",\"arrow_outward\",\"commit\",\"explore_off\",\"install_mobile\",\"text_rotation_none\",\"view_kanban\",\"not_accessible\",\"css\",\"swipe_down\",\"lock_person\",\"pin_invoke\",\"join_left\",\"extension_off\",\"spatial_audio_off\",\"perm_camera_mic\",\"pinch\",\"swipe_vertical\",\"noise_aware\",\"pin_end\",\"view_cozy\",\"join_right\",\"swipe_right_alt\",\"text_rotate_up\",\"text_rotation_angleup\",\"text_rotation_down\",\"text_rotation_angledown\",\"browse_gallery\",\"php\",\"view_comfy_alt\",\"view_compact_alt\",\"network_ping\",\"swipe_down_alt\",\"add_home\",\"density_large\",\"on_device_training\",\"swipe_left_alt\",\"spatial_tracking\",\"swipe_up_alt\",\"unfold_more_double\",\"spatial_audio\",\"width_full\",\"unfold_less_double\",\"repartition\",\"width_normal\",\"transcribe\",\"width_wide\",\"hls\",\"hls_off\",\"face_unlock\",\"close\",\"close\",\"menu\",\"expand_more\",\"arrow_back\",\"chevron_right\",\"arrow_forward_ios\",\"arrow_back_ios\",\"cancel\",\"arrow_drop_down\",\"more_vert\",\"arrow_forward\",\"chevron_left\",\"expand_less\",\"check\",\"more_horiz\",\"refresh\",\"apps\",\"payments\",\"arrow_upward\",\"east\",\"campaign\",\"arrow_back_ios_new\",\"arrow_downward\",\"arrow_right\",\"menu_open\",\"fullscreen\",\"arrow_drop_up\",\"unfold_more\",\"double_arrow\",\"maps_home_work\",\"west\",\"expand_circle_down\",\"south\",\"arrow_left\",\"north_east\",\"north\",\"home_work\",\"first_page\",\"fullscreen_exit\",\"arrow_drop_down_circle\",\"last_page\",\"unfold_less\",\"subdirectory_arrow_right\",\"legend_toggle\",\"south_east\",\"app_settings_alt\",\"assistant_direction\",\"subdirectory_arrow_left\",\"north_west\",\"waterfall_chart\",\"switch_left\",\"south_west\",\"pivot_table_chart\",\"switch_right\",\"apps_outage\",\"offline_share\",\"add_home_work\",\"person\",\"person\",\"notifications\",\"groups\",\"people\",\"share\",\"school\",\"person_outline\",\"person_add\",\"public\",\"emoji_events\",\"group\",\"engineering\",\"notifications_active\",\"construction\",\"people_alt\",\"group_add\",\"psychology\",\"health_and_safety\",\"thumb_up_alt\",\"travel_explore\",\"water_drop\",\"notifications_none\",\"emoji_emotions\",\"sports_esports\",\"sentiment_very_satisfied\",\"location_city\",\"ios_share\",\"precision_manufacturing\",\"sentiment_satisfied\",\"workspace_premium\",\"person_add_alt\",\"military_tech\",\"science\",\"emoji_objects\",\"history_edu\",\"cake\",\"sentiment_dissatisfied\",\"sentiment_very_dissatisfied\",\"handshake\",\"emoji_people\",\"coronavirus\",\"self_improvement\",\"person_remove\",\"poll\",\"whatshot\",\"sports_soccer\",\"domain\",\"mood\",\"recommend\",\"people_outline\",\"female\",\"recycling\",\"person_off\",\"male\",\"person_add_alt_1\",\"connect_without_contact\",\"sentiment_neutral\",\"back_hand\",\"hiking\",\"waving_hand\",\"architecture\",\"masks\",\"notifications_off\",\"thumb_down_alt\",\"luggage\",\"real_estate_agent\",\"front_hand\",\"vaccines\",\"mood_bad\",\"emoji_nature\",\"switch_account\",\"nights_stay\",\"king_bed\",\"catching_pokemon\",\"interests\",\"compost\",\"sports_basketball\",\"notification_add\",\"diversity_3\",\"sports_kabaddi\",\"sports\",\"emoji_symbols\",\"reduce_capacity\",\"emoji_food_beverage\",\"cruelty_free\",\"man\",\"sick\",\"emoji_transportation\",\"sports_tennis\",\"cookie\",\"heart_broken\",\"transgender\",\"elderly\",\"add_moderator\",\"outdoor_grill\",\"deck\",\"woman\",\"add_reaction\",\"social_distance\",\"personal_injury\",\"follow_the_signs\",\"plus_one\",\"fireplace\",\"wallet\",\"scale\",\"clean_hands\",\"piano\",\"pix\",\"surfing\",\"sanitizer\",\"sports_motorsports\",\"diversity_1\",\"sports_handball\",\"sports_baseball\",\"edit_notifications\",\"hive\",\"sports_volleyball\",\"pages\",\"groups_2\",\"sports_football\",\"downhill_skiing\",\"kayaking\",\"psychology_alt\",\"public_off\",\"single_bed\",\"remove_moderator\",\"group_remove\",\"skateboarding\",\"co2\",\"notifications_paused\",\"boy\",\"person_remove_alt_1\",\"safety_divider\",\"diversity_2\",\"domain_add\",\"fitbit\",\"sports_cricket\",\"group_off\",\"sports_mma\",\"nordic_walking\",\"sports_martial_arts\",\"sports_golf\",\"girl\",\"thunderstorm\",\"paragliding\",\"6_ft_apart\",\"party_mode\",\"snowboarding\",\"kitesurfing\",\"sports_gymnastics\",\"groups_3\",\"face_6\",\"snowshoeing\",\"sports_hockey\",\"ice_skating\",\"south_america\",\"sports_rugby\",\"face_3\",\"elderly_woman\",\"sledding\",\"scoreboard\",\"person_2\",\"face_2\",\"face_4\",\"sign_language\",\"no_luggage\",\"cyclone\",\"person_4\",\"face_5\",\"person_3\",\"piano_off\",\"flood\",\"scuba_diving\",\"severe_cold\",\"tsunami\",\"roller_skating\",\"tornado\",\"landslide\",\"assist_walker\",\"woman_2\",\"man_2\",\"volcano\",\"18_up_rating\",\"blind\",\"no_adult_content\",\"man_4\",\"man_3\",\"add\",\"add\",\"add_circle_outline\",\"content_copy\",\"add_circle\",\"send\",\"clear\",\"save\",\"mail\",\"link\",\"remove\",\"filter_list\",\"inventory_2\",\"inventory\",\"insights\",\"remove_circle_outline\",\"sort\",\"bolt\",\"flag\",\"reply\",\"add_box\",\"remove_circle\",\"push_pin\",\"block\",\"calculate\",\"create\",\"undo\",\"how_to_reg\",\"content_paste\",\"report\",\"file_copy\",\"backspace\",\"shield\",\"archive\",\"save_alt\",\"policy\",\"tag\",\"change_circle\",\"redo\",\"forward\",\"content_cut\",\"outlined_flag\",\"inbox\",\"link_off\",\"ballot\",\"drafts\",\"biotech\",\"report_gmailerrorred\",\"delete_sweep\",\"stacked_bar_chart\",\"markunread\",\"square_foot\",\"add_link\",\"stream\",\"where_to_vote\",\"dynamic_feed\",\"copy_all\",\"move_to_inbox\",\"waves\",\"unarchive\",\"content_paste_search\",\"reply_all\",\"select_all\",\"low_priority\",\"text_format\",\"save_as\",\"font_download\",\"weekend\",\"how_to_vote\",\"upcoming\",\"gesture\",\"attribution\",\"flag_circle\",\"content_paste_go\",\"filter_list_off\",\"next_week\",\"content_paste_off\",\"report_off\",\"web_stories\",\"deselect\",\"font_download_off\",\"edit\",\"edit\",\"navigate_next\",\"photo_camera\",\"image\",\"tune\",\"picture_as_pdf\",\"receipt_long\",\"circle\",\"timer\",\"auto_stories\",\"collections\",\"auto_awesome\",\"navigate_before\",\"add_a_photo\",\"palette\",\"remove_red_eye\",\"music_note\",\"add_photo_alternate\",\"wb_sunny\",\"brush\",\"euro\",\"flash_on\",\"looks_one\",\"auto_fix_high\",\"control_point\",\"style\",\"adjust\",\"straighten\",\"photo_library\",\"camera\",\"portrait\",\"camera_alt\",\"audiotrack\",\"video_camera_front\",\"rotate_right\",\"color_lens\",\"grid_on\",\"crop_free\",\"timelapse\",\"landscape\",\"slideshow\",\"currency_rupee\",\"collections_bookmark\",\"crop_square\",\"lens\",\"panorama_fish_eye\",\"looks_two\",\"filter_vintage\",\"compare\",\"looks_3\",\"filter_drama\",\"image_search\",\"healing\",\"auto_awesome_motion\",\"rotate_left\",\"center_focus_strong\",\"crop\",\"blur_on\",\"wb_incandescent\",\"flare\",\"face_retouching_natural\",\"wb_cloudy\",\"assistant\",\"broken_image\",\"cases\",\"colorize\",\"filter_none\",\"brightness_4\",\"filter_center_focus\",\"crop_original\",\"auto_fix_normal\",\"dehaze\",\"nature_people\",\"photo\",\"flash_off\",\"auto_awesome_mosaic\",\"tag_faces\",\"brightness_6\",\"brightness_5\",\"details\",\"grain\",\"flip_camera_android\",\"brightness_1\",\"flip\",\"loupe\",\"image_not_supported\",\"flip_camera_ios\",\"view_comfy\",\"filter_1\",\"movie_creation\",\"add_to_photos\",\"panorama\",\"bedtime\",\"animation\",\"center_focus_weak\",\"looks_4\",\"movie_filter\",\"crop_din\",\"filter\",\"control_point_duplicate\",\"brightness_7\",\"leak_add\",\"currency_bitcoin\",\"nature\",\"incomplete_circle\",\"texture\",\"view_compact\",\"timer_off\",\"photo_size_select_actual\",\"video_camera_back\",\"transform\",\"currency_yen\",\"motion_photos_on\",\"photo_camera_front\",\"rotate_90_degrees_ccw\",\"looks_5\",\"mic_external_on\",\"gradient\",\"assistant_photo\",\"wb_twilight\",\"currency_pound\",\"contrast\",\"hide_image\",\"music_off\",\"exposure_plus_1\",\"crop_16_9\",\"thermostat_auto\",\"filter_2\",\"shutter_speed\",\"exposure\",\"photo_album\",\"filter_tilt_shift\",\"hdr_strong\",\"looks\",\"vrpano\",\"linked_camera\",\"brightness_3\",\"looks_6\",\"blur_circular\",\"flash_auto\",\"motion_photos_auto\",\"crop_portrait\",\"photo_filter\",\"iso\",\"brightness_2\",\"tonality\",\"photo_size_select_small\",\"filter_hdr\",\"crop_7_5\",\"rotate_90_degrees_cw\",\"crop_rotate\",\"photo_size_select_large\",\"filter_3\",\"exposure_zero\",\"hdr_weak\",\"currency_ruble\",\"camera_front\",\"crop_5_4\",\"filter_frames\",\"burst_mode\",\"camera_roll\",\"logo_dev\",\"filter_b_and_w\",\"blur_linear\",\"crop_3_2\",\"crop_landscape\",\"switch_camera\",\"switch_video\",\"filter_7\",\"exposure_plus_2\",\"filter_4\",\"filter_9_plus\",\"grid_off\",\"wb_iridescent\",\"motion_photos_paused\",\"monochrome_photos\",\"photo_camera_back\",\"filter_5\",\"auto_fix_off\",\"face_retouching_off\",\"exposure_neg_1\",\"panorama_photosphere\",\"filter_8\",\"leak_remove\",\"filter_9\",\"video_stable\",\"timer_10\",\"filter_6\",\"wb_shade\",\"blur_off\",\"motion_photos_off\",\"raw_on\",\"motion_photos_pause\",\"hdr_on\",\"vignette\",\"panorama_horizontal\",\"30fps_select\",\"image_aspect_ratio\",\"dirty_lens\",\"deblur\",\"camera_rear\",\"60fps_select\",\"timer_3\",\"panorama_wide_angle_select\",\"24mp\",\"exposure_neg_2\",\"currency_yuan\",\"currency_lira\",\"autofps_select\",\"panorama_horizontal_select\",\"panorama_photosphere_select\",\"hdr_plus\",\"wb_auto\",\"panorama_wide_angle\",\"panorama_vertical_select\",\"mic_external_off\",\"12mp\",\"panorama_vertical\",\"mp\",\"hdr_enhanced_select\",\"currency_franc\",\"hevc\",\"18mp\",\"10mp\",\"raw_off\",\"23mp\",\"bedtime_off\",\"hdr_off\",\"11mp\",\"20mp\",\"3mp\",\"5mp\",\"13mp\",\"15mp\",\"16mp\",\"21mp\",\"2mp\",\"17mp\",\"14mp\",\"22mp\",\"19mp\",\"9mp\",\"4mp\",\"7mp\",\"8mp\",\"6mp\",\"email\",\"email\",\"location_on\",\"call\",\"phone\",\"business\",\"chat\",\"mail_outline\",\"list_alt\",\"qr_code_scanner\",\"vpn_key\",\"chat_bubble_outline\",\"alternate_email\",\"forum\",\"chat_bubble\",\"textsms\",\"contact_mail\",\"person_search\",\"sentiment_satisfied_alt\",\"qr_code\",\"qr_code_2\",\"message\",\"contacts\",\"comment\",\"key\",\"import_contacts\",\"app_registration\",\"contact_phone\",\"import_export\",\"live_help\",\"forward_to_inbox\",\"hourglass_bottom\",\"hourglass_top\",\"rss_feed\",\"mark_email_read\",\"hub\",\"read_more\",\"document_scanner\",\"more_time\",\"mark_email_unread\",\"call_end\",\"clear_all\",\"dialpad\",\"phone_enabled\",\"mark_chat_unread\",\"cancel_presentation\",\"3p\",\"call_made\",\"screen_share\",\"call_split\",\"unsubscribe\",\"present_to_all\",\"domain_verification\",\"mark_chat_read\",\"add_ic_call\",\"co_present\",\"phonelink_ring\",\"stay_current_portrait\",\"call_received\",\"phonelink_lock\",\"phone_disabled\",\"ring_volume\",\"location_off\",\"phonelink_setup\",\"duo\",\"cell_tower\",\"stay_primary_portrait\",\"swap_calls\",\"voicemail\",\"call_merge\",\"mobile_screen_share\",\"phonelink_erase\",\"person_add_disabled\",\"domain_disabled\",\"call_missed_outgoing\",\"speaker_phone\",\"spoke\",\"cell_wifi\",\"desktop_access_disabled\",\"stop_screen_share\",\"print_disabled\",\"call_missed\",\"mark_unread_chat_alt\",\"pause_presentation\",\"dialer_sip\",\"invert_colors_off\",\"comments_disabled\",\"contact_emergency\",\"wifi_calling\",\"rtt\",\"portable_wifi_off\",\"send_time_extension\",\"mail_lock\",\"stay_current_landscape\",\"sip\",\"nat\",\"stay_primary_landscape\",\"no_sim\",\"key_off\",\"vpn_key_off\",\"local_shipping\",\"local_shipping\",\"place\",\"menu_book\",\"local_offer\",\"badge\",\"map\",\"category\",\"restaurant\",\"directions_car\",\"local_fire_department\",\"volunteer_activism\",\"my_location\",\"flight\",\"local_mall\",\"near_me\",\"handyman\",\"directions_run\",\"restaurant_menu\",\"layers\",\"medical_services\",\"directions_walk\",\"lunch_dining\",\"local_hospital\",\"celebration\",\"local_library\",\"pin_drop\",\"park\",\"local_atm\",\"local_activity\",\"person_pin\",\"design_services\",\"local_cafe\",\"rate_review\",\"delivery_dining\",\"directions_bus\",\"local_police\",\"directions_bike\",\"fastfood\",\"directions_car_filled\",\"home_repair_service\",\"zoom_out_map\",\"hotel\",\"cleaning_services\",\"local_phone\",\"local_grocery_store\",\"miscellaneous_services\",\"navigation\",\"local_gas_station\",\"train\",\"person_pin_circle\",\"local_parking\",\"local_florist\",\"diamond\",\"local_post_office\",\"money\",\"directions\",\"two_wheeler\",\"factory\",\"add_business\",\"traffic\",\"electrical_services\",\"local_bar\",\"route\",\"directions_boat\",\"alt_route\",\"agriculture\",\"pedal_bike\",\"beenhere\",\"360\",\"warehouse\",\"liquor\",\"emergency\",\"moving\",\"local_airport\",\"sailing\",\"add_location_alt\",\"local_dining\",\"maps_ugc\",\"local_taxi\",\"ramen_dining\",\"trip_origin\",\"hail\",\"local_drink\",\"local_laundry_service\",\"directions_bus_filled\",\"local_printshop\",\"theater_comedy\",\"local_pizza\",\"not_listed_location\",\"add_location\",\"transfer_within_a_station\",\"dinner_dining\",\"bakery_dining\",\"forest\",\"wine_bar\",\"terrain\",\"multiple_stop\",\"takeout_dining\",\"store_mall_directory\",\"icecream\",\"museum\",\"nightlife\",\"local_pharmacy\",\"hardware\",\"add_road\",\"departure_board\",\"set_meal\",\"ev_station\",\"local_see\",\"electric_car\",\"festival\",\"plumbing\",\"layers_clear\",\"car_rental\",\"attractions\",\"edit_location\",\"local_convenience_store\",\"zoom_in_map\",\"pest_control\",\"medical_information\",\"dry_cleaning\",\"run_circle\",\"edit_road\",\"edit_attributes\",\"edit_location_alt\",\"church\",\"moped\",\"wrong_location\",\"car_repair\",\"local_movies\",\"satellite\",\"directions_boat_filled\",\"tram\",\"soup_kitchen\",\"taxi_alert\",\"breakfast_dining\",\"signpost\",\"atm\",\"subway\",\"transit_enterexit\",\"straight\",\"merge\",\"brunch_dining\",\"hvac\",\"electric_bike\",\"directions_transit\",\"crisis_alert\",\"electric_scooter\",\"connecting_airports\",\"bus_alert\",\"egg\",\"local_car_wash\",\"local_hotel\",\"mode_of_travel\",\"stadium\",\"castle\",\"streetview\",\"safety_check\",\"directions_subway\",\"car_crash\",\"mosque\",\"compass_calibration\",\"electric_rickshaw\",\"turn_right\",\"airline_stops\",\"directions_railway\",\"no_meals\",\"fork_right\",\"railway_alert\",\"electric_moped\",\"local_play\",\"bike_scooter\",\"no_crash\",\"turn_left\",\"airlines\",\"pest_control_rodent\",\"near_me_disabled\",\"snowmobile\",\"u_turn_left\",\"directions_transit_filled\",\"egg_alt\",\"no_transfer\",\"file_download\",\"play_arrow\",\"star\",\"warning\",\"support_agent\",\"attach_money\",\"keyboard_arrow_down\",\"light_mode\",\"storefront\",\"manage_search\",\"sensor_door\" \n ].sort(), \n supportedColors: [\"primary\", \"secondary\", \"accent\", \"dark\", \"positive\", \"negative\", \"info\", \"warning\"]\n}\n\nfunction parseDefinitionsSource(){\n console.log( 'blockDefinitionsSource 1', blockDefinitionsSource );\n\n // Filter iut non-enabled blocks\n blockDefinitionsSource = blockDefinitionsSource.filter( (block) => block.enabled );\n \n blockDefinitionsSource.forEach( (block) => {\n // Remove v-model as we'll use model-value instead\n let indexOfVmodel = block.properties.findIndex( (prop) => prop.name == \"v-model\" );\n if( indexOfVmodel > -1 ){\n block.properties.splice(indexOfVmodel, 1);\n }\n \n // rename model-value to be Data Binding (v-model)\n let indexOfModelValue = block.properties.findIndex( (prop) => prop.name == \"model-value\" );\n if( indexOfModelValue > -1 ){\n block.properties[indexOfModelValue].name = \"v-model\";\n block.properties[indexOfModelValue].label = \"Data Binding\";\n }\n \n\n\n // Remove \"-\" values from bindings as they are not valid values\n if( block.content.indexOf('v-on:click') > -1 || block.content.indexOf('v-model') > -1 ){\n block.content = block.content.replace( `v-on:click=\"-\"`, `v-on:click=\"\"`);\n block.content = block.content.replace( `v-model=\"-\"`, `v-model=\"\"`);\n }\n let blockProps = block.properties;\n blockProps.forEach( (prop) => {\n for( let propAttributeName in prop ){\n let propAttrValue = prop[propAttributeName];\n\n // Replace interpolated values (i.e. ${supportedIcons})) with the actual value\n if( typeof propAttrValue == \"string\" && propAttrValue.indexOf('${') == 0 ){\n let variableName = propAttrValue.slice(2,-1);\n let variableValue = injectableVariables[variableName];\n prop[propAttributeName] = variableValue;\n }\n\n // In case of multiple types for a prop, leave only the first one\n // To-do: support for multiple types\n if( Array.isArray(propAttrValue) ){\n prop[propAttributeName] = propAttrValue[0];\n }\n \n /* if( propAttrValue == \"-\" ){\n debugger;\n prop[propAttributeName] = \"\";\n } */\n }\n });\n });\n\n console.log( 'blockDefinitionsSource 2', blockDefinitionsSource );\n}\n\nparseDefinitionsSource();\n\nlet blockDefinitions = blockDefinitionsSource;\n\n// Add special blocks\n// -------------------------------------\n\n// TempPlaceholder for dragged-bindings\nblockDefinitions.push({\n type: \"tempplaceholder\", label: \"Temp PlaceHolder\", tagName: \"TEMPPLACEHOLDER\", \n content: \"TEMP Place holder\", \n properties: [], \n droppable: false, editable: false, draggable: true,\n} );\n\n// Plotly charts\nblockDefinitions.push({\n type: \"plotly\", label: \"Chart\", tagName: \"PLOTLY\", \n content: ``, \n renderContent: ``, \n \n droppable: false, editable: false, draggable: true,\n properties: [\n { label: 'Data', name: 'data', type:'PlotlyBase.GenericTrace' }, \n { label: 'Layout', name: 'layout', type:'PlotlyBase.Layout' }, \n { label: 'Config', name: 'config', type:'Object' }, \n ], \n});\n\nexport default blockDefinitions;","\n\n\n\n","import script from \"./BindingsPanel.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./BindingsPanel.vue?vue&type=script&setup=true&lang=js\"\n\nimport \"./BindingsPanel.vue?vue&type=style&index=0&id=52e79ce3&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/daniel/Documents/work/stipple_app/project42/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-52e79ce3\"]])\n\nexport default __exports__","import script from \"./StylesPanel.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./StylesPanel.vue?vue&type=script&setup=true&lang=js\"\n\nimport \"./StylesPanel.vue?vue&type=style&index=0&id=53312a0a&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/daniel/Documents/work/stipple_app/project42/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-53312a0a\"]])\n\nexport default __exports__","\n\n\n\n\n\n","import script from \"./ComponentAddDialog.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./ComponentAddDialog.vue?vue&type=script&setup=true&lang=js\"\n\nimport \"./ComponentAddDialog.vue?vue&type=style&index=0&id=a6e02b56&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/daniel/Documents/work/stipple_app/project42/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-a6e02b56\"]])\n\nexport default __exports__","import blockDefinitions from \"./blockDefinitions\";\nlet blockDefinitionsByTagName = {};\nblockDefinitions.forEach((block) => {\n blockDefinitionsByTagName[block.tagName] = block;\n});\n\n\n\nexport default class HtmlTemplateParser {\n constructor() {\n throw new Error(\n \"HtmlTemplateParser is a static class and cannot be instantiated\"\n );\n }\n\n static encodeAttributesInDOM(element) {\n\n // Ensure the element is a Node\n if (!(element instanceof Node)) {\n throw new Error(\"Element is not a Node\");\n }\n\n // Call the callback for the current element\n HtmlTemplateParser.replaceElementAttributes(element);\n\n // Recursively traverse the child nodes\n for (let i = 0; i < element.childNodes.length; i++) {\n HtmlTemplateParser.encodeAttributesInDOM(\n element.childNodes[i]\n );\n }\n}\n\nstatic replaceElementAttributes( element ){\n let modelVariables = window.sharedData.modelFieldsByName;\n let gbPrefix = 'gb_';\n let bcTypeC = gbPrefix + 'c__';\n let bcTypeB = gbPrefix + 'b__';\n let specialDynamicAttributeNames = [ 'v-model', 'v-bind', 'v-on' ];\n let excludedAttributeNames = [ 'class', 'style', 'id'];\n let componentName = element.nodeName;\n let componentDefinition = blockDefinitionsByTagName[componentName];\n \n // Do not parse elements without component definition\n if( !componentDefinition ){\n return\n }\n let componentPropertiesDefinitions = componentDefinition.properties;\n let elementAttributeNames = element.getAttributeNames();\n elementAttributeNames.forEach( (attributeName) => {\n // Do not parse excluded attributes such as id, class, style...\n if( excludedAttributeNames.indexOf(attributeName) > -1 ){\n return;\n }\n\n let hasColon = attributeName.startsWith(':');\n let cleanName = hasColon ? attributeName.slice(1) : attributeName;\n let isDynamic = hasColon || specialDynamicAttributeNames.some( (specialName) => {\n return attributeName.indexOf(specialName) === 0;\n });\n let attributeValue = element.getAttribute( attributeName );\n let attributeDefinition = componentPropertiesDefinitions.find( el => el.name === cleanName );\n let attributeValueMapsToModelVariable = modelVariables[attributeValue] != null;\n\n // Only consider attributes that are defined in the component definition\n if( attributeDefinition ){\n // if its dynamic, it's either a binding or a constant\n if( isDynamic ){\n if( attributeValueMapsToModelVariable ){\n element.setAttribute( bcTypeB+ cleanName, attributeValue );\n } else {\n element.setAttribute( bcTypeC+ cleanName, attributeValue );\n }\n // If it's not dynamic', it's a constant\n }else{\n if( attributeValue=='' ){\n element.setAttribute( bcTypeC+ cleanName, \"true\" );\n }else {\n element.setAttribute( bcTypeC+ cleanName, attributeValue );\n }\n }\n element.removeAttribute( attributeName );\n }\n });\n}\n\nstatic revertElementAttributes(element) {\n let gbPrefix = 'gb_';\n let bcTypeC = gbPrefix + 'c__';\n let bcTypeB = gbPrefix + 'b__';\n let componentName = element.nodeName;\n let componentDefinition = blockDefinitionsByTagName[componentName];\n if( !componentDefinition ){\n return;\n }\n let componentPropertiesDefinitions = componentDefinition.properties;\n \n let elementAttributeNames = element.getAttributeNames();\n elementAttributeNames.forEach((attributeName) => {\n let attributeValue = element.getAttribute( attributeName );\n if (attributeName.startsWith(bcTypeC)) {\n let originalName = attributeName.replace(bcTypeC, '');\n let attributeDefinition = componentPropertiesDefinitions.find( el => el.name === originalName );\n if( !attributeDefinition ){\n throw new Error( 'Attribute definition not found for: ' + originalName );\n }\n let dataType = attributeDefinition.type;\n //let dataType = HtmlTemplateParser.guessDataType(attributeValue);\n if( componentName == \"PLOTLY\" && [\"data\", \"layout\", \"config\"].includes(originalName) ){\n // To-do: revise if we need to handle this further\n }else if( dataType != 'String' ){\n originalName = ':' + originalName;\n }\n\n element.setAttribute(originalName, attributeValue );\n element.removeAttribute(attributeName);\n } else if (attributeName.startsWith(bcTypeB)) {\n let originalName = attributeName.replace(bcTypeB, '');\n let bindingPrefix = originalName === 'v-model' ? '' : ':';\n element.setAttribute(bindingPrefix + originalName, attributeValue );\n element.removeAttribute(attributeName);\n }\n });\n}\n\nstatic decodeAttributesInDOM(rootElement) {\n let elements = rootElement.querySelectorAll('*');\n elements.forEach(element => {\n HtmlTemplateParser.revertElementAttributes(element);\n });\n}\n\nstatic guessDataType(input) {\n if (typeof input === 'number' || /^-?\\d*\\.?\\d+$/.test(input)) {\n return 'Number';\n } else if (input === 'true' || input === 'false' || typeof input === 'boolean') {\n return 'Boolean';\n } else if (Array.isArray(input) || /^\\[.*\\]$/.test(input)) {\n return 'Array';\n } else {\n return 'String';\n }\n}\n}\n","export default class Configuration{\n constructor(){\n throw new Error('Configuration is a static class and cannot be instantiated');\n }\n\n static _channel = null;\n\n static get channel(){\n return Configuration._channel;\n }\n static set channel(value){\n Configuration._channel = value;\n }\n}","\n\n\n\n\n\n\n","import script from \"./CanvasPanel.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./CanvasPanel.vue?vue&type=script&setup=true&lang=js\"\n\nimport \"./CanvasPanel.vue?vue&type=style&index=0&id=1f5cebf0&lang=scss&scoped=true\"\nimport \"./CanvasPanel.vue?vue&type=style&index=1&id=1f5cebf0&lang=css\"\n\nimport exportComponent from \"/Users/daniel/Documents/work/stipple_app/project42/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-1f5cebf0\"]])\n\nexport default __exports__","\n\n\n\n\n\n","import script from \"./LibraryPanel.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./LibraryPanel.vue?vue&type=script&setup=true&lang=js\"\n\nimport \"./LibraryPanel.vue?vue&type=style&index=0&id=73dba5ee&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/daniel/Documents/work/stipple_app/project42/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-73dba5ee\"]])\n\nexport default __exports__","\n\n\n\n\n","import script from \"./AddPropertyDialog.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./AddPropertyDialog.vue?vue&type=script&setup=true&lang=js\"\n\nimport \"./AddPropertyDialog.vue?vue&type=style&index=0&id=4848a3d6&scoped=true&lang=css\"\n\nimport exportComponent from \"/Users/daniel/Documents/work/stipple_app/project42/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-4848a3d6\"]])\n\nexport default __exports__","\n\n\n\n\n\n\n\n","import script from \"./PropertiesPanel.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./PropertiesPanel.vue?vue&type=script&setup=true&lang=js\"\n\nimport \"./PropertiesPanel.vue?vue&type=style&index=0&id=789ef747&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/daniel/Documents/work/stipple_app/project42/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-789ef747\"]])\n\nexport default __exports__\nimport QIcon from 'quasar/src/components/icon/QIcon.js';\nimport qInstall from \"../../../node_modules/vue-cli-plugin-quasar/lib/runtime.auto-import.js\";\nqInstall(script, 'components', {QIcon});\n","\n \n\n \n\n","import script from \"./ChartPropertiesSection.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./ChartPropertiesSection.vue?vue&type=script&setup=true&lang=js\"\n\nimport \"./ChartPropertiesSection.vue?vue&type=style&index=0&id=5d639912&lang=css\"\n\nconst __exports__ = script;\n\nexport default __exports__","\n\n\n\n\n\n\n","import script from \"./ChartProperties.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./ChartProperties.vue?vue&type=script&setup=true&lang=js\"\n\nimport \"./ChartProperties.vue?vue&type=style&index=0&id=f85b9ac6&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/daniel/Documents/work/stipple_app/project42/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-f85b9ac6\"]])\n\nexport default __exports__","\n\n\n\n","import script from \"./LogsPanel.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./LogsPanel.vue?vue&type=script&setup=true&lang=js\"\n\nimport \"./LogsPanel.vue?vue&type=style&index=0&id=3295537e&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/daniel/Documents/work/stipple_app/project42/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-3295537e\"]])\n\nexport default __exports__\nimport QIcon from 'quasar/src/components/icon/QIcon.js';\nimport qInstall from \"../../../node_modules/vue-cli-plugin-quasar/lib/runtime.auto-import.js\";\nqInstall(script, 'components', {QIcon});\n","\n\n\n\n","import script from \"./BindingsConnector.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./BindingsConnector.vue?vue&type=script&setup=true&lang=js\"\n\nimport \"./BindingsConnector.vue?vue&type=style&index=0&id=571588a7&scoped=true&lang=css\"\n\nimport exportComponent from \"/Users/daniel/Documents/work/stipple_app/project42/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-571588a7\"]])\n\nexport default __exports__","export default class StatusMonitor{\n constructor( onOpen, onClose, onMessage){\n this.host = \"127.0.0.1\";\n this.port = 10102;\n this.protocol = \"ws\";\n this.ws = null;\n this.onOpenHandler = onOpen;\n this.onCloseHandler = onClose;\n this.onMessageHandler = onMessage;\n }\n\n connect(){\n console.log( \"StatusMonitor::connect\" );\n this.ws = new WebSocket(this.protocol + \"://\" + this.host + \":\" + this.port);\n this.ws.onopen = this.onOpen.bind(this);\n this.ws.onmessage = this.onMessage.bind(this);\n this.ws.onclose = this.onClose.bind(this);\n }\n\n restart( seconds ){\n seconds = seconds || 1;\n console.log( \"StatusMonitor::restart\", seconds );\n setTimeout( ()=>{\n this.connect();\n }, seconds*1000 );\n }\n\n onOpen(){\n console.log( \"StatusMonitor::onOpen\" );\n this.ws.send(JSON.stringify({\n 'channel': 'geniebuilder',\n 'message': 'subscribe',\n 'payload': {}\n }));\n this.onOpenHandler();\n }\n\n onMessage(message){\n this.onMessageHandler(message);\n }\n\n onClose(){\n console.log( \"StatusMonitor::onClose\" );\n this.onCloseHandler();\n }\n\n}","\n\n\n\n\n","import script from \"./Main.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./Main.vue?vue&type=script&setup=true&lang=js\"\n\nimport \"./Main.vue?vue&type=style&index=0&id=222d0dd8&scoped=true&lang=scss\"\n\nimport exportComponent from \"/Users/daniel/Documents/work/stipple_app/project42/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-222d0dd8\"]])\n\nexport default __exports__","import { render } from \"./App.vue?vue&type=template&id=010da342\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\n\nimport \"./App.vue?vue&type=style&index=0&id=010da342&lang=scss\"\n\nimport exportComponent from \"/Users/daniel/Documents/work/stipple_app/project42/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createStore } from 'vuex'\n\nexport default createStore({\n state: {\n },\n mutations: {\n },\n actions: {\n },\n modules: {\n }\n})\n","\nimport 'quasar/dist/quasar.css'\nimport '@quasar/extras/roboto-font/roboto-font.css'\nimport '@quasar/extras/material-icons/material-icons.css'\nimport '@quasar/extras/material-icons-outlined/material-icons-outlined.css'\nimport '@quasar/extras/material-icons-round/material-icons-round.css'\nimport '@quasar/extras/material-icons-sharp/material-icons-sharp.css'\nimport '@quasar/extras/fontawesome-v5/fontawesome-v5.css'\n\n// To be used on app.use(Quasar, { ... })\nexport default {\n config: {},\n plugins: {\n }\n}","import { createApp } from 'vue'\nimport App from './App.vue'\nimport store from './store'\nimport Quasar from 'quasar/src/vue-plugin.js';\nimport quasarUserOptions from './quasar-user-options'\n\nwindow.canvasComponents = {};\n\nwindow.addCanvasComponent = function(id, component) {\n window.canvasComponents[id] = component;\n}\n\nwindow.removeCanvasComponent = function(id) {\n delete window.canvasComponents[id];\n}\n\nwindow.setTheme = function(theme) {\n document.querySelector('body').setAttribute('style', '');\n if (theme === 'dark') {\n document.documentElement.setAttribute('data-theme', 'dark');\n } else {\n document.documentElement.setAttribute('data-theme', 'light');\n }\n}\n\nwindow.addEventListener(\n \"message\",\n (event) => {\n console.log(\"NoCodeBuilder :: main :: window message-event received: \", event );\n if (event.data.command === 'removeCanvasComponent') {\n console.log(\"NoCodeBuilder :: main :: window message-event :: command = removeCanvasComponent \", event.data.command );\n window.removeCanvasComponent(event.data.uid);\n } else if (event.data.command === 'updateTheme') {\n console.log(\"NoCodeBuilder :: main :: window message-event :: command = updateTheme \", event.data.command );\n window.setTheme(event.data.themeType);\n }\n },\n false,\n);\n\ncreateApp(App).use(Quasar, quasarUserOptions).use(store).mount('#app')","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-cli-plugin-quasar/lib/loader.vue.auto-import-quasar.js??ref--1-1!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-2!./BindingsPanel.vue?vue&type=style&index=0&id=52e79ce3&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-cli-plugin-quasar/lib/loader.vue.auto-import-quasar.js??ref--1-1!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-2!./GlobalEventsPanel.vue?vue&type=style&index=0&id=3e06e896&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-cli-plugin-quasar/lib/loader.vue.auto-import-quasar.js??ref--1-1!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-2!./FilesPanel.vue?vue&type=style&index=0&id=5a7d3a07&lang=scss&scoped=true\"","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../node_modules/vue-loader-v16/dist/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-cli-plugin-quasar/lib/loader.vue.auto-import-quasar.js??ref--1-1!../node_modules/vue-loader-v16/dist/index.js??ref--1-2!./App.vue?vue&type=style&index=0&id=010da342&lang=scss\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-cli-plugin-quasar/lib/loader.vue.auto-import-quasar.js??ref--1-1!../../node_modules/vue-loader-v16/dist/index.js??ref--1-2!./Main.vue?vue&type=style&index=0&id=222d0dd8&scoped=true&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-cli-plugin-quasar/lib/loader.vue.auto-import-quasar.js??ref--1-1!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-2!./CanvasPanel.vue?vue&type=style&index=1&id=1f5cebf0&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-cli-plugin-quasar/lib/loader.vue.auto-import-quasar.js??ref--1-1!../../node_modules/vue-loader-v16/dist/index.js??ref--1-2!./BindingsConnector.vue?vue&type=style&index=0&id=571588a7&scoped=true&lang=css\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-cli-plugin-quasar/lib/loader.vue.auto-import-quasar.js??ref--1-1!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-2!./LogsPanel.vue?vue&type=style&index=0&id=3295537e&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-cli-plugin-quasar/lib/loader.vue.auto-import-quasar.js??ref--1-1!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-2!./LibraryPanel.vue?vue&type=style&index=0&id=73dba5ee&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-cli-plugin-quasar/lib/loader.vue.auto-import-quasar.js??ref--1-1!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-2!./Tab.vue?vue&type=style&index=0&id=5af1ae02&lang=css\"","\n\nfunction registerPlotlyComponent(editor){\n \n editor.DomComponents.addType('plotly', {\n\n isComponent: function (el) {\n if (el.tagName === 'PLOTLY')\n return {type: 'plotly', name:'Plotly'};\n },\n model: \n {\n defaults: {\n removable: true,\n draggable: true,\n droppable: true,\n badgable: true,\n stylable: true,\n highlightable: true,\n copyable: false,\n resizable: false,\n editable: false,\n hoverable: true,\n traits: [ ],\n script: function(){ \n var serverData = window.parent.sharedData.externalData;\n \n let uniqueId = this.attributes.id.nodeValue;\n\n this.onExternalDataChanged = (event)=>{\n serverData = event.detail;\n mappedAttributes = getMappedAttributes(this.attributes);\n this.vueApp.updateServerData(serverData);\n \n }\n\n window.parent.addCanvasComponent( uniqueId, this );\n //window.parent.addEventListener('sharedDataChanged', this.onExternalDataChanged);\n \n \n \n /**\n * This function takes in an object of attributes and maps them to a new object with modified attribute names.\n * If the attribute name contains a colon, it is removed. If the attribute name is 'data', its value is parsed as JSON.\n * The resulting object is returned.\n */\n // To-do: these functions should be moved to a utility file.\n // Be careful because it is duplicated in ChartProperties.vue\n // HAven't done so yet because the scope of the grapes component instance is isolated and can't access outside functions\n function getMappedAttributes(attributesIn){\n let mappedAttributes = {}; \n let attributeNames = Object.getOwnPropertyNames(attributesIn);\n attributeNames.forEach( (attrName)=>{\n let cleanAttributeName = attrName.replace(\"gb_c__\", \"\");\n let attributeValue = attributesIn[attrName].nodeValue !== undefined ? attributesIn[attrName].nodeValue: attributesIn[attrName];\n if( ['data', 'layout', 'config'].includes(cleanAttributeName) ){\n attributeValue = atob(attributeValue)\n if( serverData[attributeValue] !== undefined ){\n mappedAttributes[':'+cleanAttributeName] = serverData[attributeValue];\n } else {\n mappedAttributes[':'+cleanAttributeName] = JSON.parse(attributeValue);\n }\n }\n })\n return mappedAttributes;\n }\n\n function replaceReferencedBindingsToAttributeData(obj) {\n for (let key in obj) {\n if (typeof obj[key] === 'object' && obj[key] !== null) {\n // Recursively process nested objects\n replaceReferencedBindingsToAttributeData(obj[key]);\n } else if (typeof obj[key] === 'string') {\n // Check if string value contains \"$_{xxxxx}\"\n const match = obj[key].match(/\\$_{(.+?)}/);\n if (match && match[1]) {\n const propToReplace = match[1];\n // Replace the value with the value from myStore\n obj[key] = getNestedProperty(serverData, propToReplace);\n }\n }\n }\n }\n\n function getNestedProperty(obj, propName) {\n const propParts = propName.split('.');\n for (let i = 0; i < propParts.length; i++) {\n if (!obj || !obj.hasOwnProperty(propParts[i])) {\n return undefined;\n }\n obj = obj[propParts[i]];\n }\n return obj;\n }\n\n let mappedAttributes = getMappedAttributes(this.attributes);\n\n\n this.vueApp = new Vue({\n el: '#vueinternal_'+uniqueId,\n //components: { QBtn:Quasar.}, \n data: function(){ \n\n\n let parsedData = mappedAttributes[':data'];\n replaceReferencedBindingsToAttributeData(parsedData);\n let parsedLayout = mappedAttributes[':layout'] || {};\n replaceReferencedBindingsToAttributeData(parsedLayout);\n let parsedConfig = mappedAttributes[':config'] || {};\n replaceReferencedBindingsToAttributeData(parsedConfig);\n \n return {\n \n message:\"TESTING_ID\",\n attributes: mappedAttributes, \n serverData: serverData,\n parsedData: parsedData, \n parsedLayout: parsedLayout, \n parsedConfig: parsedConfig\n }\n }, \n methods: {\n updateServerData(newServerData){\n this.serverData = newServerData;\n let parsedData = mappedAttributes[':data'];\n replaceReferencedBindingsToAttributeData(parsedData);\n this.parsedData = parsedData;\n let parsedLayout = mappedAttributes[':layout'] || {};\n replaceReferencedBindingsToAttributeData(parsedLayout);\n this.parsedLayout = parsedLayout;\n let parsedConfig = mappedAttributes[':config'] || {};\n replaceReferencedBindingsToAttributeData(parsedConfig);\n this.parsedConfig = parsedConfig;\n }, \n updateAttributes(attrs){ \n this.attributes = getMappedAttributes(attrs);\n mappedAttributes = this.attributes;\n this.updateServerData(this.serverData)\n }, \n\n }, \n mounted() {\n }\n });\n\n }\n },\n handleAttrChange() {\n },\n render: function () {\n this.view.onRender();\n },\n init() {\n this.listenTo(this, 'change:attributes', this.onAttributeChange);\n\n },\n removed() {\n window.parent.postMessage( {command:\"removeCanvasComponent\", uid:this.ccid }, \"*\" );\n //window.parent.removeEventListener('sharedDataChanged', this.view.$el[0].onExternalDataChanged );\n\n },\n },\n view: {\n onAttributeChange() {\n }, \n onRender() {\n const { el, model } = this;\n let uniqueId = el.attributes.id.nodeValue;\n el.grapesModel = model;\n const renderContent = `
\n \n
\n `;\n el.innerHTML = renderContent;\n }\n }\n\n });\n}\n\nmodule.exports = { registerPlotlyComponent }","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-cli-plugin-quasar/lib/loader.vue.auto-import-quasar.js??ref--1-1!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-2!./CanvasPanel.vue?vue&type=style&index=0&id=1f5cebf0&lang=scss&scoped=true\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-cli-plugin-quasar/lib/loader.vue.auto-import-quasar.js??ref--1-1!../../node_modules/vue-loader-v16/dist/index.js??ref--1-2!./Panel.vue?vue&type=style&index=0&id=238e861a&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-cli-plugin-quasar/lib/loader.vue.auto-import-quasar.js??ref--1-1!../../../../node_modules/vue-loader-v16/dist/index.js??ref--1-2!./AddPropertyDialog.vue?vue&type=style&index=0&id=4848a3d6&scoped=true&lang=css\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-cli-plugin-quasar/lib/loader.vue.auto-import-quasar.js??ref--1-1!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-2!./Tabs.vue?vue&type=style&index=0&id=1d801ac0&lang=css\""],"sourceRoot":""} \ No newline at end of file diff --git a/public/js/app.590e7d0c.js b/public/js/app.590e7d0c.js new file mode 100644 index 00000000..677b620c --- /dev/null +++ b/public/js/app.590e7d0c.js @@ -0,0 +1,2 @@ +(function(e){function t(t){for(var o,r,s=t[0],i=t[1],c=t[2],p=0,u=[];p(Object(o["v"])("data-v-6c90e336"),e=e(),Object(o["u"])(),e),g={style:{position:"relative"}},y={key:0},f=m(()=>Object(o["g"])("i",{class:"fa fa-chevron-right"},null,-1)),h=[f],_={key:1},v=m(()=>Object(o["g"])("i",{class:"fa fa-chevron-down"},null,-1)),O=[v];var j={__name:"PanelTitle",props:["title","expanded"],emits:["expand"],setup(e,{emit:t}){const a=e;let n=Object(o["x"])(a.expanded);function l(){t("expand",n.value)}return Object(o["I"])(a,e=>{n.value=e.expanded}),(t,a)=>(Object(o["t"])(),Object(o["f"])("div",g,[Object(o["g"])("div",{class:"title",onClick:l},Object(o["B"])(e.title),1),Object(o["g"])("div",{class:"expandBtn",onClick:l},[Object(o["C"])(n)?Object(o["e"])("",!0):(Object(o["t"])(),Object(o["f"])("span",y,h)),Object(o["C"])(n)?(Object(o["t"])(),Object(o["f"])("span",_,O)):Object(o["e"])("",!0)])]))}},w=(a("49e5"),a("6b0d")),x=a.n(w);const k=x()(j,[["__scopeId","data-v-6c90e336"]]);var C=k;const S={style:{}},B={class:"panelContent"};var D={__name:"Panel",props:["title","hideTitle"],setup(e){const t=e;let a=Object(o["x"])(!0);function n(){a.value=!a.value,l()}function l(){localStorage.setItem("panelExpandedState_"+t.title,a.value)}function r(){let e=localStorage.getItem("panelExpandedState_"+t.title);"false"==e&&(a.value=!1)}return r(),(t,l)=>(Object(o["t"])(),Object(o["f"])("div",S,[e.hideTitle?Object(o["e"])("",!0):(Object(o["t"])(),Object(o["d"])(C,{key:0,expanded:Object(o["C"])(a),title:e.title,onExpand:n},null,8,["expanded","title"])),Object(o["K"])(Object(o["g"])("div",B,[Object(o["z"])(t.$slots,"default")],512),[[o["H"],Object(o["C"])(a)]])]))}};a("dcd9");const I=x()(D,[["__scopeId","data-v-238e861a"]]);var A=I;a("936e");const N={id:"tab-headers"},P=["onClick"],T={id:"active-tab"};var M={__name:"Tabs",props:["customClass"],setup(e){let t=Object(o["x"])(null),a=Object(o["x"])(null),n=Object(o["x"])(null),l=Object(o["x"])(0);Object(o["s"])(()=>{n.value=[...t.value.querySelectorAll(".tab")];for(let e of n.value)e.classList.contains("active")&&(l=n.value.indexOf(e))});const r=e=>{l=e;for(let t of[...n.value,...a.value])t.classList.remove("active");n.value[l].classList.add("active"),a.value[l].classList.add("active")};return(s,i)=>(Object(o["t"])(),Object(o["f"])("div",{id:"tabs-container",class:Object(o["q"])(e.customClass),ref_key:"tabContainer",ref:t},[Object(o["g"])("div",N,[Object(o["g"])("ul",null,[(Object(o["t"])(!0),Object(o["f"])(o["a"],null,Object(o["y"])(Object(o["C"])(n),(e,t)=>(Object(o["t"])(),Object(o["f"])("li",{key:t,class:Object(o["q"])(Object(o["C"])(l)==t?"active":""),onClick:e=>r(t),ref_for:!0,ref_key:"tabHeaders",ref:a},Object(o["B"])(e.title),11,P))),128))])]),Object(o["g"])("div",T,[Object(o["z"])(s.$slots,"default")])],2))}};a("fed2");const q=M;var L=q,Q={__name:"Tab",props:["active"],setup(e){return(t,a)=>(Object(o["t"])(),Object(o["f"])("div",{class:Object(o["q"])(["tab","true"==e.active?"active":""]),ref:"tabs"},[Object(o["z"])(t.$slots,"default")],2))}};a("ce8f");const E=Q;var $=E,z=(a("13d5"),a("60e6"));let R=JSON.parse(JSON.stringify(z)),U={supportedIcons:["search","search","home","account_circle","settings","done","info","check_circle","delete","visibility","shopping_cart","favorite","description","logout","favorite_border","lock","schedule","language","help_outline","face","manage_accounts","verified","filter_alt","thumb_up","event","fingerprint","dashboard","list","login","visibility_off","check_circle_outline","calendar_today","highlight_off","help","paid","task_alt","question_answer","date_range","article","open_in_new","shopping_bag","lightbulb","credit_card","perm_identity","history","trending_up","account_balance","delete_outline","fact_check","report_problem","verified_user","assignment","star_rate","arrow_right_alt","account_balance_wallet","autorenew","build","view_list","work","print","store","analytics","delete_forever","today","calendar_month","admin_panel_settings","lock_open","watch_later","grade","update","savings","room","code","receipt","add_shopping_cart","contact_support","power_settings_new","done_all","pets","explore","bookmark","account_box","note_add","reorder","bookmark_border","pending_actions","shopping_basket","payment","launch","drag_indicator","supervisor_account","touch_app","pending","zoom_in","assessment","leaderboard","thumb_up_off_alt","open_in_full","preview","done_outline","exit_to_app","assignment_ind","published_with_changes","card_giftcard","view_in_ar","feedback","work_outline","timeline","swap_horiz","assignment_turned_in","dns","stars","sync_alt","label","flight_takeoff","tips_and_updates","book","contact_page","alarm","space_dashboard","bug_report","cached","gavel","translate","pan_tool","edit_calendar","supervised_user_circle","minimize","extension","accessibility","android","rocket_launch","get_app","question_mark","record_voice_over","add_task","trending_flat","help_center","hourglass_empty","accessibility_new","rule","thumb_down","sticky_note_2","settings_applications","source","dashboard_customize","find_in_page","ads_click","support","flutter_dash","close_fullscreen","redeem","announcement","loyalty","swap_vert","arrow_circle_right","view_headline","restore","dangerous","euro_symbol","group_work","sensors","compare_arrows","subject","table_view","disabled_by_default","privacy_tip","nightlight_round","https","toc","track_changes","arrow_circle_up","bookmarks","copyright","grading","currency_exchange","input","api","perm_media","query_builder","view_module","build_circle","zoom_out","perm_contact_calendar","settings_phone","backup","open_with","circle_notifications","perm_phone_msg","book_online","speaker_notes","label_important","wysiwyg","card_membership","file_present","arrow_circle_down","pageview","3d_rotation","upgrade","integration_instructions","change_history","trending_down","swipe","class","percent","accessible","g_translate","settings_accessibility","expand","offline_bolt","settings_backup_restore","production_quantity_limits","arrow_circle_left","aspect_ratio","model_training","view_column","donut_large","segment","calendar_view_month","schedule_send","alarm_on","maximize","bookmark_add","thumbs_up_down","settings_ethernet","theaters","view_agenda","thumb_down_off_alt","important_devices","unpublished","invert_colors","opacity","commute","open_in_browser","system_update_alt","no_accounts","addchart","history_toggle_off","view_week","youtube_searched_for","tour","shopping_cart_checkout","hide_source","bookmark_added","mark_as_unread","settings_input_antenna","shop","plagiarism","turned_in","search_off","not_started","flight_land","assignment_late","assignment_return","donut_small","saved_search","filter_alt_off","contactless","highlight_alt","hotel_class","settings_input_component","balance","view_carousel","view_quilt","anchor","all_inbox","turned_in_not","mediation","settings_remote","edit_off","hourglass_full","fit_screen","flaky","rocket","toll","remove_shopping_cart","lock_clock","swap_horizontal_circle","settings_voice","view_sidebar","event_seat","online_prediction","vertical_split","next_plan","pregnant_woman","data_exploration","terminal","restore_from_trash","lock_reset","camera_enhance","markunread_mailbox","dynamic_form","tab","calendar_view_week","view_stream","accessible_forward","request_page","token","remove_done","settings_power","smart_button","add_to_drive","card_travel","outbox","try","offline_pin","calendar_view_day","find_replace","density_medium","rowing","compress","chrome_reader_mode","fax","outlet","assignment_returned","http","settings_brightness","add_card","alarm_add","generating_tokens","new_label","backup_table","spellcheck","restore_page","credit_card_off","wifi_protected_setup","play_for_work","free_cancellation","settings_overscan","work_history","123","gif","outbound","disabled_visible","swap_vertical_circle","settings_input_composite","cancel_schedule_send","quickreply","view_day","event_repeat","comment_bank","assured_workload","switch_access_shortcut","display_settings","view_timeline","line_weight","pan_tool_alt","horizontal_split","noise_control_off","webhook","satellite_alt","polymer","batch_prediction","send_and_archive","picture_in_picture","manage_history","code_off","bookmark_remove","settings_bluetooth","shop_two","output","html","flip_to_front","gif_box","eject","speaker_notes_off","alarm_off","perm_data_setting","settings_input_hdmi","perm_scan_wifi","hourglass_disabled","troubleshoot","switch_access_shortcut_add","sensors_off","settings_cell","work_off","app_blocking","picture_in_picture_alt","line_style","perm_device_information","join_full","subtitles_off","update_disabled","app_shortcut","javascript","abc","swipe_left","voice_over_off","private_connectivity","lightbulb_circle","settings_input_svideo","join_inner","flip_to_back","view_array","swipe_right","install_desktop","open_in_new_off","swipe_up","all_out","shop_2","label_off","density_small","tab_unselected","rounded_corner","data_thresholding","text_rotate_vertical","arrow_outward","commit","explore_off","install_mobile","text_rotation_none","view_kanban","not_accessible","css","swipe_down","lock_person","pin_invoke","join_left","extension_off","spatial_audio_off","perm_camera_mic","pinch","swipe_vertical","noise_aware","pin_end","view_cozy","join_right","swipe_right_alt","text_rotate_up","text_rotation_angleup","text_rotation_down","text_rotation_angledown","browse_gallery","php","view_comfy_alt","view_compact_alt","network_ping","swipe_down_alt","add_home","density_large","on_device_training","swipe_left_alt","spatial_tracking","swipe_up_alt","unfold_more_double","spatial_audio","width_full","unfold_less_double","repartition","width_normal","transcribe","width_wide","hls","hls_off","face_unlock","close","close","menu","expand_more","arrow_back","chevron_right","arrow_forward_ios","arrow_back_ios","cancel","arrow_drop_down","more_vert","arrow_forward","chevron_left","expand_less","check","more_horiz","refresh","apps","payments","arrow_upward","east","campaign","arrow_back_ios_new","arrow_downward","arrow_right","menu_open","fullscreen","arrow_drop_up","unfold_more","double_arrow","maps_home_work","west","expand_circle_down","south","arrow_left","north_east","north","home_work","first_page","fullscreen_exit","arrow_drop_down_circle","last_page","unfold_less","subdirectory_arrow_right","legend_toggle","south_east","app_settings_alt","assistant_direction","subdirectory_arrow_left","north_west","waterfall_chart","switch_left","south_west","pivot_table_chart","switch_right","apps_outage","offline_share","add_home_work","person","person","notifications","groups","people","share","school","person_outline","person_add","public","emoji_events","group","engineering","notifications_active","construction","people_alt","group_add","psychology","health_and_safety","thumb_up_alt","travel_explore","water_drop","notifications_none","emoji_emotions","sports_esports","sentiment_very_satisfied","location_city","ios_share","precision_manufacturing","sentiment_satisfied","workspace_premium","person_add_alt","military_tech","science","emoji_objects","history_edu","cake","sentiment_dissatisfied","sentiment_very_dissatisfied","handshake","emoji_people","coronavirus","self_improvement","person_remove","poll","whatshot","sports_soccer","domain","mood","recommend","people_outline","female","recycling","person_off","male","person_add_alt_1","connect_without_contact","sentiment_neutral","back_hand","hiking","waving_hand","architecture","masks","notifications_off","thumb_down_alt","luggage","real_estate_agent","front_hand","vaccines","mood_bad","emoji_nature","switch_account","nights_stay","king_bed","catching_pokemon","interests","compost","sports_basketball","notification_add","diversity_3","sports_kabaddi","sports","emoji_symbols","reduce_capacity","emoji_food_beverage","cruelty_free","man","sick","emoji_transportation","sports_tennis","cookie","heart_broken","transgender","elderly","add_moderator","outdoor_grill","deck","woman","add_reaction","social_distance","personal_injury","follow_the_signs","plus_one","fireplace","wallet","scale","clean_hands","piano","pix","surfing","sanitizer","sports_motorsports","diversity_1","sports_handball","sports_baseball","edit_notifications","hive","sports_volleyball","pages","groups_2","sports_football","downhill_skiing","kayaking","psychology_alt","public_off","single_bed","remove_moderator","group_remove","skateboarding","co2","notifications_paused","boy","person_remove_alt_1","safety_divider","diversity_2","domain_add","fitbit","sports_cricket","group_off","sports_mma","nordic_walking","sports_martial_arts","sports_golf","girl","thunderstorm","paragliding","6_ft_apart","party_mode","snowboarding","kitesurfing","sports_gymnastics","groups_3","face_6","snowshoeing","sports_hockey","ice_skating","south_america","sports_rugby","face_3","elderly_woman","sledding","scoreboard","person_2","face_2","face_4","sign_language","no_luggage","cyclone","person_4","face_5","person_3","piano_off","flood","scuba_diving","severe_cold","tsunami","roller_skating","tornado","landslide","assist_walker","woman_2","man_2","volcano","18_up_rating","blind","no_adult_content","man_4","man_3","add","add","add_circle_outline","content_copy","add_circle","send","clear","save","mail","link","remove","filter_list","inventory_2","inventory","insights","remove_circle_outline","sort","bolt","flag","reply","add_box","remove_circle","push_pin","block","calculate","create","undo","how_to_reg","content_paste","report","file_copy","backspace","shield","archive","save_alt","policy","tag","change_circle","redo","forward","content_cut","outlined_flag","inbox","link_off","ballot","drafts","biotech","report_gmailerrorred","delete_sweep","stacked_bar_chart","markunread","square_foot","add_link","stream","where_to_vote","dynamic_feed","copy_all","move_to_inbox","waves","unarchive","content_paste_search","reply_all","select_all","low_priority","text_format","save_as","font_download","weekend","how_to_vote","upcoming","gesture","attribution","flag_circle","content_paste_go","filter_list_off","next_week","content_paste_off","report_off","web_stories","deselect","font_download_off","edit","edit","navigate_next","photo_camera","image","tune","picture_as_pdf","receipt_long","circle","timer","auto_stories","collections","auto_awesome","navigate_before","add_a_photo","palette","remove_red_eye","music_note","add_photo_alternate","wb_sunny","brush","euro","flash_on","looks_one","auto_fix_high","control_point","style","adjust","straighten","photo_library","camera","portrait","camera_alt","audiotrack","video_camera_front","rotate_right","color_lens","grid_on","crop_free","timelapse","landscape","slideshow","currency_rupee","collections_bookmark","crop_square","lens","panorama_fish_eye","looks_two","filter_vintage","compare","looks_3","filter_drama","image_search","healing","auto_awesome_motion","rotate_left","center_focus_strong","crop","blur_on","wb_incandescent","flare","face_retouching_natural","wb_cloudy","assistant","broken_image","cases","colorize","filter_none","brightness_4","filter_center_focus","crop_original","auto_fix_normal","dehaze","nature_people","photo","flash_off","auto_awesome_mosaic","tag_faces","brightness_6","brightness_5","details","grain","flip_camera_android","brightness_1","flip","loupe","image_not_supported","flip_camera_ios","view_comfy","filter_1","movie_creation","add_to_photos","panorama","bedtime","animation","center_focus_weak","looks_4","movie_filter","crop_din","filter","control_point_duplicate","brightness_7","leak_add","currency_bitcoin","nature","incomplete_circle","texture","view_compact","timer_off","photo_size_select_actual","video_camera_back","transform","currency_yen","motion_photos_on","photo_camera_front","rotate_90_degrees_ccw","looks_5","mic_external_on","gradient","assistant_photo","wb_twilight","currency_pound","contrast","hide_image","music_off","exposure_plus_1","crop_16_9","thermostat_auto","filter_2","shutter_speed","exposure","photo_album","filter_tilt_shift","hdr_strong","looks","vrpano","linked_camera","brightness_3","looks_6","blur_circular","flash_auto","motion_photos_auto","crop_portrait","photo_filter","iso","brightness_2","tonality","photo_size_select_small","filter_hdr","crop_7_5","rotate_90_degrees_cw","crop_rotate","photo_size_select_large","filter_3","exposure_zero","hdr_weak","currency_ruble","camera_front","crop_5_4","filter_frames","burst_mode","camera_roll","logo_dev","filter_b_and_w","blur_linear","crop_3_2","crop_landscape","switch_camera","switch_video","filter_7","exposure_plus_2","filter_4","filter_9_plus","grid_off","wb_iridescent","motion_photos_paused","monochrome_photos","photo_camera_back","filter_5","auto_fix_off","face_retouching_off","exposure_neg_1","panorama_photosphere","filter_8","leak_remove","filter_9","video_stable","timer_10","filter_6","wb_shade","blur_off","motion_photos_off","raw_on","motion_photos_pause","hdr_on","vignette","panorama_horizontal","30fps_select","image_aspect_ratio","dirty_lens","deblur","camera_rear","60fps_select","timer_3","panorama_wide_angle_select","24mp","exposure_neg_2","currency_yuan","currency_lira","autofps_select","panorama_horizontal_select","panorama_photosphere_select","hdr_plus","wb_auto","panorama_wide_angle","panorama_vertical_select","mic_external_off","12mp","panorama_vertical","mp","hdr_enhanced_select","currency_franc","hevc","18mp","10mp","raw_off","23mp","bedtime_off","hdr_off","11mp","20mp","3mp","5mp","13mp","15mp","16mp","21mp","2mp","17mp","14mp","22mp","19mp","9mp","4mp","7mp","8mp","6mp","email","email","location_on","call","phone","business","chat","mail_outline","list_alt","qr_code_scanner","vpn_key","chat_bubble_outline","alternate_email","forum","chat_bubble","textsms","contact_mail","person_search","sentiment_satisfied_alt","qr_code","qr_code_2","message","contacts","comment","key","import_contacts","app_registration","contact_phone","import_export","live_help","forward_to_inbox","hourglass_bottom","hourglass_top","rss_feed","mark_email_read","hub","read_more","document_scanner","more_time","mark_email_unread","call_end","clear_all","dialpad","phone_enabled","mark_chat_unread","cancel_presentation","3p","call_made","screen_share","call_split","unsubscribe","present_to_all","domain_verification","mark_chat_read","add_ic_call","co_present","phonelink_ring","stay_current_portrait","call_received","phonelink_lock","phone_disabled","ring_volume","location_off","phonelink_setup","duo","cell_tower","stay_primary_portrait","swap_calls","voicemail","call_merge","mobile_screen_share","phonelink_erase","person_add_disabled","domain_disabled","call_missed_outgoing","speaker_phone","spoke","cell_wifi","desktop_access_disabled","stop_screen_share","print_disabled","call_missed","mark_unread_chat_alt","pause_presentation","dialer_sip","invert_colors_off","comments_disabled","contact_emergency","wifi_calling","rtt","portable_wifi_off","send_time_extension","mail_lock","stay_current_landscape","sip","nat","stay_primary_landscape","no_sim","key_off","vpn_key_off","local_shipping","local_shipping","place","menu_book","local_offer","badge","map","category","restaurant","directions_car","local_fire_department","volunteer_activism","my_location","flight","local_mall","near_me","handyman","directions_run","restaurant_menu","layers","medical_services","directions_walk","lunch_dining","local_hospital","celebration","local_library","pin_drop","park","local_atm","local_activity","person_pin","design_services","local_cafe","rate_review","delivery_dining","directions_bus","local_police","directions_bike","fastfood","directions_car_filled","home_repair_service","zoom_out_map","hotel","cleaning_services","local_phone","local_grocery_store","miscellaneous_services","navigation","local_gas_station","train","person_pin_circle","local_parking","local_florist","diamond","local_post_office","money","directions","two_wheeler","factory","add_business","traffic","electrical_services","local_bar","route","directions_boat","alt_route","agriculture","pedal_bike","beenhere","360","warehouse","liquor","emergency","moving","local_airport","sailing","add_location_alt","local_dining","maps_ugc","local_taxi","ramen_dining","trip_origin","hail","local_drink","local_laundry_service","directions_bus_filled","local_printshop","theater_comedy","local_pizza","not_listed_location","add_location","transfer_within_a_station","dinner_dining","bakery_dining","forest","wine_bar","terrain","multiple_stop","takeout_dining","store_mall_directory","icecream","museum","nightlife","local_pharmacy","hardware","add_road","departure_board","set_meal","ev_station","local_see","electric_car","festival","plumbing","layers_clear","car_rental","attractions","edit_location","local_convenience_store","zoom_in_map","pest_control","medical_information","dry_cleaning","run_circle","edit_road","edit_attributes","edit_location_alt","church","moped","wrong_location","car_repair","local_movies","satellite","directions_boat_filled","tram","soup_kitchen","taxi_alert","breakfast_dining","signpost","atm","subway","transit_enterexit","straight","merge","brunch_dining","hvac","electric_bike","directions_transit","crisis_alert","electric_scooter","connecting_airports","bus_alert","egg","local_car_wash","local_hotel","mode_of_travel","stadium","castle","streetview","safety_check","directions_subway","car_crash","mosque","compass_calibration","electric_rickshaw","turn_right","airline_stops","directions_railway","no_meals","fork_right","railway_alert","electric_moped","local_play","bike_scooter","no_crash","turn_left","airlines","pest_control_rodent","near_me_disabled","snowmobile","u_turn_left","directions_transit_filled","egg_alt","no_transfer","file_download","play_arrow","star","warning","support_agent","attach_money","keyboard_arrow_down","light_mode","storefront","manage_search","sensor_door"].sort(),supportedColors:["primary","secondary","accent","dark","positive","negative","info","warning"]};function H(){console.log("blockDefinitionsSource 1",R),R=R.filter(e=>e.enabled),R.forEach(e=>{let t=e.properties.findIndex(e=>"v-model"==e.name);t>-1&&e.properties.splice(t,1);let a=e.properties.findIndex(e=>"model-value"==e.name);a>-1&&(e.properties[a].name="v-model",e.properties[a].label="Data Binding"),(e.content.indexOf("v-on:click")>-1||e.content.indexOf("v-model")>-1)&&(e.content=e.content.replace('v-on:click="-"','v-on:click=""'),e.content=e.content.replace('v-model="-"','v-model=""'));let o=e.properties;o.forEach(e=>{for(let t in e){let a=e[t];if("string"==typeof a&&0==a.indexOf("${")){let o=a.slice(2,-1),n=U[o];e[t]=n}Array.isArray(a)&&(e[t]=a[0])}})}),console.log("blockDefinitionsSource 2",R)}H();let F=R;F.push({type:"tempplaceholder",label:"Temp PlaceHolder",tagName:"TEMPPLACEHOLDER",content:"TEMP Place holder",properties:[],droppable:!1,editable:!1,draggable:!0}),F.push({type:"plotly",label:"Chart",tagName:"PLOTLY",content:'',renderContent:'',droppable:!1,editable:!1,draggable:!0,properties:[{label:"Data",name:"data",type:"PlotlyBase.GenericTrace"},{label:"Layout",name:"layout",type:"PlotlyBase.Layout"},{label:"Config",name:"config",type:"Object"}]});var V=F,J=a("2ef0"),Y=a.n(J);a("8c55");const W={style:{position:"relative"}},G={style:{"max-height":"300px","overflow-y":"auto"}},K=["title","onMousedown","datatype","bindingname"],X=["datatype","bindingname","onMouseover","src"],Z={class:"sortButtons"};var ee={__name:"BindingsPanel",props:["appData"],emits:["bindingOvered"],setup(e,{expose:t,emit:a}){const n=e;let l,r,s=Object(o["x"])("type");function i(e){l=e.dragStart,r=e.dragStop}Object(o["s"])(()=>{});const c=Object(o["b"])(()=>{let e=[];return d.value.forEach(t=>{e.push({id:"tempplaceholder",type:"tempplaceholder",label:"Temp PlaceHolder",tagName:"TEMPPLACEHOLDER",content:`TEMP Place holder`,properties:[],droppable:!1,editable:!1,draggable:!0,binding:t})}),e}),d=Object(o["b"])(()=>{let e;return n.appData.pages[0].model.fields&&("az"==s.value?e=b["a"].sortBy(n.appData.pages[0].model.fields,e=>e.name.toLowerCase()):"type"==s.value&&(e=b["a"].sortBy(n.appData.pages[0].model.fields,e=>e.type.toLowerCase()+"_"+e.name.toLowerCase()))),e}),p=function(e,t){let o=t.target;a("bindingOvered",{element:o,binding:e})},u=function(){a("bindingOvered",{element:null,binding:null})};return t({setHandleBlocks:i}),(e,t)=>(Object(o["t"])(),Object(o["f"])("div",W,[Object(o["g"])("div",G,[(Object(o["t"])(!0),Object(o["f"])(o["a"],null,Object(o["y"])(c.value,e=>(Object(o["t"])(),Object(o["f"])("div",{title:e.type,isbinding:"true",onMousedown:t=>Object(o["C"])(l)(e),datatype:e.binding.type,bindingname:e.binding.name,class:"bindingItem",key:e.binding.name},[Object(o["g"])("img",{datatype:e.binding.type,bindingname:e.binding.name,onMouseover:t=>p(e.binding,t),onMouseout:u,src:"img/icons/type_"+e.binding.type+".png",class:"typeIcon"},null,40,X),Object(o["h"])(" "+Object(o["B"])(e.binding.name),1)],40,K))),128))]),Object(o["g"])("div",Z,[Object(o["g"])("div",{class:Object(o["q"])({sortButton:!0,sortButtonActive:"az"==Object(o["C"])(s)}),onClick:t[0]||(t[0]=e=>Object(o["o"])(s)?s.value="az":s="az")},"AZ",2),Object(o["g"])("div",{class:Object(o["q"])({sortButton:!0,sortButtonActive:"type"==Object(o["C"])(s)}),onClick:t[1]||(t[1]=e=>Object(o["o"])(s)?s.value="type":s="type")},"Ty",2)])]))}};a("8760");const te=x()(ee,[["__scopeId","data-v-52e79ce3"]]);var ae=te;a("0b06");var oe=a("a826"),ne=a.n(oe);a("98c5");const le=e=>(Object(o["v"])("data-v-a6e02b56"),e=e(),Object(o["u"])(),e),re={class:"componentAddDialogContainer"},se={class:"componentAddDialog"},ie=le(()=>Object(o["g"])("p",{style:{"margin-bottom":"6px","font-size":"12px","font-weight":"400",opacity:"0.7"}},"Add component for binding",-1)),ce={style:{"padding-bottom":"10px","border-bottom":"1px solid #cccccc50"}},de=["src"],pe=le(()=>Object(o["g"])("div",{style:{"font-size":"14px",padding:"20px 0px 15px"}},"Suggested Components:",-1)),ue={class:"compGroupsContainer"},be=["onClick"],me={class:"compName"},ge={style:{"text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap","pointer-events":"none"}},ye={style:{"justify-content":"center",display:"flex","margin-bottom":"3px",filter:"brightness(1.5) saturate(1)","pointer-events":"none"}},fe=["src"];var he={__name:"ComponentAddDialog",props:["appData","componentPlaceHolderData"],emits:["closeDialog"],setup(e,{emit:t}){const a=e,n=function(e){const t="img/block_icons/"+e.type.split("q-").join("")+".png";return t};function l(e,t){let o=(new DOMParser).parseFromString(e.content,"text/html").body.childNodes[0],n=t;o.setAttribute("gb_b__"+n,a.componentPlaceHolderData.bindingname);let l=o.outerHTML;editor.getSelected().replaceWith(l),r(!1)}function r(e){t("closeDialog",e)}return(e,t)=>(Object(o["t"])(),Object(o["f"])("div",re,[Object(o["g"])("div",se,[Object(o["g"])("div",{class:"closeButton",onClick:t[0]||(t[0]=e=>r(!0))},"X"),ie,Object(o["g"])("div",ce,[Object(o["g"])("img",{src:"img/icons/type_"+a.componentPlaceHolderData.datatype+".png",style:{height:"17px","vertical-align":"middle",display:"inline-block"}},null,8,de),Object(o["h"])(" "+Object(o["B"])(a.componentPlaceHolderData.bindingname),1)]),pe,Object(o["g"])("div",ue,[(Object(o["t"])(!0),Object(o["f"])(o["a"],null,Object(o["y"])(a.componentPlaceHolderData.components,e=>(Object(o["t"])(),Object(o["f"])("div",{class:"compGroup",key:e.type,onClick:t=>l(e,e.matchingProperties[0])},[Object(o["g"])("div",me,[Object(o["g"])("div",ge,Object(o["B"])(e.label),1),Object(o["g"])("div",ye,[Object(o["g"])("img",{src:n(e),class:"typeIcon",style:{"max-height":"20px","margin-top":"6px","pointer-events":"none"}},null,8,fe)])])],8,be))),128))])])]))}};a("30c5");const _e=x()(he,[["__scopeId","data-v-a6e02b56"]]);var ve=_e,Oe=a("d6e4");let je={};V.forEach(e=>{je[e.tagName]=e});class we{constructor(){throw new Error("HtmlTemplateParser is a static class and cannot be instantiated")}static encodeAttributesInDOM(e){if(!(e instanceof Node))throw new Error("Element is not a Node");we.replaceElementAttributes(e);for(let t=0;t{if(r.indexOf(a)>-1)return;let s=a.startsWith(":"),i=s?a.slice(1):a,d=s||l.some(e=>0===a.indexOf(e)),p=e.getAttribute(a),u=c.find(e=>e.name===i),b=null!=t[p];u&&(d?b?e.setAttribute(n+i,p):e.setAttribute(o+i,p):""==p?e.setAttribute(o+i,"true"):e.setAttribute(o+i,p),e.removeAttribute(a))})}static revertElementAttributes(e){let t="gb_",a=t+"c__",o=t+"b__",n=e.nodeName,l=je[n];if(!l)return;let r=l.properties,s=e.getAttributeNames();s.forEach(t=>{let l=e.getAttribute(t);if(t.startsWith(a)){let o=t.replace(a,""),s=r.find(e=>e.name===o);if(!s)throw new Error("Attribute definition not found for: "+o);let i=s.type;"PLOTLY"==n&&["data","layout","config"].includes(o)||"String"!=i&&(o=":"+o),e.setAttribute(o,l),e.removeAttribute(t)}else if(t.startsWith(o)){let a=t.replace(o,""),n="v-model"===a?"":":";e.setAttribute(n+a,l),e.removeAttribute(t)}})}static decodeAttributesInDOM(e){let t=e.querySelectorAll("*");t.forEach(e=>{we.revertElementAttributes(e)})}static guessDataType(e){return"number"===typeof e||/^-?\d*\.?\d+$/.test(e)?"Number":"true"===e||"false"===e||"boolean"===typeof e?"Boolean":Array.isArray(e)||/^\[.*\]$/.test(e)?"Array":"String"}}var xe=a("ade3");class ke{constructor(){throw new Error("Configuration is a static class and cannot be instantiated")}static get channel(){return ke._channel}static set channel(e){ke._channel=e}}Object(xe["a"])(ke,"_channel",null);const Ce=e=>(Object(o["v"])("data-v-48d925f4"),e=e(),Object(o["u"])(),e),Se={style:{height:"100%"}},Be=Ce(()=>Object(o["g"])("div",{id:"gjs",style:{height:"300px"}},null,-1)),De={id:"customLibrary",style:{display:"none"}},Ie={class:"blocks"},Ae=["onMousedown"],Ne={class:"block-label"};var Pe={__name:"CanvasPanel",props:["appData"],emits:["componentSelected","bindingDroppedOnComponent"],setup(e,{expose:t,emit:a}){const n=e;window.HtmlTemplateParser=we;let l=Object(o["x"])(n.appData.pages[0].model.fields),r={};l.value.forEach(e=>{r[e.name]=e});let s=V.map(e=>{console.log("blockDefinitions item.content: ",e.content);let t={type:e.type,label:e.label,tagName:e.tagName,id:e.type,category:e.category,content:e.content,droppable:e.droppable,draggable:e.draggable,editable:e.editable,activate:!0};return t});window.selectedComponent=null;let i=Object(o["x"])(null),c=Object(o["x"])(null),d=Object(o["x"])({});function p(e){e&&(editor.getSelected().remove(),window.selectedComponent=null,editor.select(null)),i.value=null}function b(e){if(editor.select(e),"tempplaceholder"==e.attributes.tagName){var t;let o=e.view.$el[0].parentNode,n=null===(t=o.grapesModel)||void 0===t?void 0:t.attributes.type;"plotly"==n&&e.attributes.attributes.bindingname&&e.attributes.attributes.datatype?(editor.select(o.grapesModel),a("bindingDroppedOnComponent",{targetModel:o.grapesModel,bindingInfo:e.attributes.attributes})):m(e.attributes.attributes.bindingname,e.attributes.attributes.datatype)}}function m(e,t){let a=V,o=[];a.forEach(e=>{let a=e.type,n=e.properties,l=n.filter(e=>{let a=e.type==t,o="v-model"==e.name;return a&&o}).map(e=>e.name);l.length>0&&(l.includes("v-model")||l.includes("data")||l.includes("layout"))&&o.push({type:a,label:e.label,content:e.content,matchingProperties:l})}),i.value={components:o,bindingname:e,datatype:t}}function g(e){let t=V,a=t.find(t=>t.type.toLowerCase()==e.toLowerCase());return a}window.sharedData={externalData:null,setExternalData:function(e){this.externalData=e;const t=new CustomEvent("sharedDataChanged",{detail:e});for(let a in window.canvasComponents){let e=window.canvasComponents[a];null!=e&&e.onExternalDataChanged(t)}}},window.sharedData.externalData={plotlyData:[{name:"Trace 1",type:"scatter",x:[1,2,3,4,5],y:[1,2,3,4,5]},{name:"Trace 2",type:"scatter",x:[1,2,3,4,5],y:[5,4,3,2,1]}],dataTable1:{columns:["name","age","height","city"],data:{name:["John","Mary","Sue","Harry"],age:[23,45,32,19],height:[1.73,1.65,1.82,1.77],children:[2,3,0,1],city:["London","Paris","Rome","Berlin"]}},dataFrame1:{name:["John","Mary","Sue","Harry"],age:[19,23,32,45],height:[1.73,1.65,1.82,1.77],children:[2,3,0,1],city:["London","Paris","Rome","Berlin"]},dataFrame2:{hour:[0,3,6,9,12,15,18,21],temperature:[12,11,12,14,17,21,22,18],humidity:[80,85,82,75,70,65,60,55],luminosity:[10,12,9,16,19,21,19,16]},columnA:[1,2,3,4,5],columnB:[11,12,13,14,15],columnC:[14,13,12,11,10],columnD:[21,24,23,22,21],columnE:[8,12,9,16,19]},window.sharedData.getComponentDefinitionByType=g,window.sharedData.modelFieldsByName=r;let y,f,h=ke.channel,_="127.0.0.1",v="9101",O="ws",j=`${O}://${_}:${v}`;function w(e,t){d.value[e]=t,window.sharedData.setExternalData(d.value)}function x(e,t={}){let a=JSON.stringify({channel:h,message:e,payload:t});y.send(a)}function k(){return y=new WebSocket(j),y.addEventListener("open",e=>{x("subscribe")}),y.addEventListener("message",e=>{if("Subscription: OK"!=e.data){if(0==e.data.indexOf("{")){let t=JSON.parse(e.data);null!=t.key&&w(t.key,t.value)}}else x("watchers",{payload:{field:"isready",newval:!0,oldval:!1}})}),y.addEventListener("close",e=>{console.log("newSocketConnection::close",e)}),y.addEventListener("error",e=>{console.log("newSocketConnection::error",e)}),y}function C(){let e=n.appData.pages[0].deps.scripts,t="http://127.0.0.1:"+n.appData.port,o=["/genie.jl/master/assets/js/channels.js","/stipple.jl/master/assets/js/stipplecore.js","/stipple.jl/master/assets/js/vue_filters.js","/stipple.jl/master/assets/js/watchers.js","/stipple.jl/master/assets/js/keepalive.js","/stippleplotly.jl/master/assets/js/syncplot.js","/genieautoreload.jl/master/assets/js/autoreload.js","/stipple.jl/master/assets/js/main_app_varmain_app_reactivemodel.js"],l=[];e.forEach(e=>{if(o.includes(e))return;let a=t+e;l.push(a)}),l.push("data/contentMain.js");let i=[];i.push("https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900|Material+Icons"),i.push(t+"/stipple.jl/master/assets/css/stipplecore.css"),i.push(t+"/stippleui.jl/master/assets/css/quasar.min.css"),i.push("data/grapesCanvas.css");const d=window.editor=ne.a.init({container:"#gjs",fromElement:!0,storageManager:!1,canvas:{scripts:l,styles:i},blockManager:{custom:!0,blocks:s},styleManager:{appendTo:"#myStyleEditorContainer",sectors:[{name:"General",properties:[{extend:"float",type:"radio",default:"none",options:[{value:"none",className:"fa fa-times"},{value:"left",className:"fa fa-align-left"},{value:"right",className:"fa fa-align-right"}]},"display",{extend:"position",type:"select"},"top","right","left","bottom"]},{name:"Dimension",open:!1,properties:["width",{id:"flex-width",type:"integer",name:"Width",units:["px","%"],property:"flex-basis",toRequire:1},"height","max-width","min-height","margin","padding"]},{name:"Typography",open:!1,properties:["font-family","font-size","font-weight","letter-spacing","color","line-height",{extend:"text-align",options:[{id:"left",label:"Left",className:"fa fa-align-left"},{id:"center",label:"Center",className:"fa fa-align-center"},{id:"right",label:"Right",className:"fa fa-align-right"},{id:"justify",label:"Justify",className:"fa fa-align-justify"}]},{property:"text-decoration",type:"radio",default:"none",options:[{id:"none",label:"None",className:"fa fa-times"},{id:"underline",label:"underline",className:"fa fa-underline"},{id:"line-through",label:"Line-through",className:"fa fa-strikethrough"}]},"text-shadow"]},{name:"Decorations",open:!1,properties:["opacity","border-radius","border","box-shadow","background"]},{name:"Extra",open:!1,buildProps:["transition","perspective","transform"]},{name:"Flex",open:!1,properties:[{name:"Flex Container",property:"display",type:"select",defaults:"block",list:[{value:"block",name:"Disable"},{value:"flex",name:"Enable"}]},{name:"Flex Parent",property:"label-parent-flex",type:"integer"},{name:"Direction",property:"flex-direction",type:"radio",defaults:"row",list:[{value:"row",name:"Row",className:"icons-flex icon-dir-row",title:"Row"},{value:"row-reverse",name:"Row reverse",className:"icons-flex icon-dir-row-rev",title:"Row reverse"},{value:"column",name:"Column",title:"Column",className:"icons-flex icon-dir-col"},{value:"column-reverse",name:"Column reverse",title:"Column reverse",className:"icons-flex icon-dir-col-rev"}]},{name:"Justify",property:"justify-content",type:"radio",defaults:"flex-start",list:[{value:"flex-start",className:"icons-flex icon-just-start",title:"Start"},{value:"flex-end",title:"End",className:"icons-flex icon-just-end"},{value:"space-between",title:"Space between",className:"icons-flex icon-just-sp-bet"},{value:"space-around",title:"Space around",className:"icons-flex icon-just-sp-ar"},{value:"center",title:"Center",className:"icons-flex icon-just-sp-cent"}]},{name:"Align",property:"align-items",type:"radio",defaults:"center",list:[{value:"flex-start",title:"Start",className:"icons-flex icon-al-start"},{value:"flex-end",title:"End",className:"icons-flex icon-al-end"},{value:"stretch",title:"Stretch",className:"icons-flex icon-al-str"},{value:"center",title:"Center",className:"icons-flex icon-al-center"}]},{name:"Flex Children",property:"label-parent-flex",type:"integer"},{name:"Order",property:"order",type:"integer",defaults:0,min:0},{name:"Flex",property:"flex",type:"composite",properties:[{name:"Grow",property:"flex-grow",type:"integer",defaults:0,min:0},{name:"Shrink",property:"flex-shrink",type:"integer",defaults:0,min:0},{name:"Basis",property:"flex-basis",type:"integer",units:["px","%",""],unit:"",defaults:"auto"}]},{name:"Align",property:"align-self",type:"radio",defaults:"auto",list:[{value:"auto",name:"Auto"},{value:"flex-start",title:"Start",className:"icons-flex icon-al-start"},{value:"flex-end",title:"End",className:"icons-flex icon-al-end"},{value:"stretch",title:"Stretch",className:"icons-flex icon-al-str"},{value:"center",title:"Center",className:"icons-flex icon-al-center"}]}]}]}}),{Panels:p}=d;p.getButton("views","open-blocks").set("active",!1),d.runCommand("sw-visibility"),d.on("component:selected",e=>{a("componentSelected",e)}),d.on("component:add",b),d.on("canvas:dragdata",(e,t,a)=>{if(e){let a=e.getData("text");a=JSON.parse(a),"binding"==a.objectType&&(t.content=`{{ ${a.bindingname} }}`)}else t.content=t.content.content}),Object(Oe["registerPlotlyComponent"])(d),V.forEach(e=>{const t=["plotly","tempplaceholder"];t.includes(e.type)||d.DomComponents.addType(e.type,{isComponent:t=>{if(t.tagName==e.tagName)return{type:e.type,name:e.label}},model:{defaults:{draggable:e.draggable,droppable:e.droppable,editable:e.editable,script:function(){var e=window.parent.sharedData.externalData;let t=this.attributes.id.nodeValue;function a(e){let t={},a=Object.getOwnPropertyNames(e);return a.forEach(a=>{let o=(e[a],e[a]);t[a]=o}),t}window.parent.addCanvasComponent(t,this),this.onExternalDataChanged=t=>{e=t.detail,s=a(this.attributes),this.vueApp.updateServerData(e)};let o=this.grapesModel.attributes.tagName,n=(this.grapesModel.attributes.attributes,window.parent.sharedData.getComponentDefinitionByType),l=window.parent.sharedData.modelFieldsByName,r=n(o),s=a(this.grapesModel.attributes.attributes);this.vueApp=new Vue({el:"#vueinternal_"+t,data:function(){return{message:"TESTING_ID",attributes:s,serverData:e}},computed:{parsedAttributes(){let e={},t=this.attributes;console.log("parsedAttributes",t);for(let a in t){let o=":"==a[0]?a.substring(1):a,n=r.properties.find(e=>e.name==o),s=t[a],i=null!=l[s];"v-model"!=o?n?i?e[":"+o]=this.serverData[s]:"String"==n.type?e[""+o]=s:e[":"+o]=s:e[""+o]=s:e["v-model"]=this.serverData[s]}return e}},methods:{updateServerData(e){this.serverData=e},updateAttributes(e){this.attributes=a(e),s=this.attributes,this.updateServerData(this.serverData),this.$forceUpdate()}},mounted(){}})}},init(){this.listenTo(this,"change:attributes",this.onAttributeChange)},handleAttrChange(){},render:function(){this.view.onRender()},removed(){window.parent.postMessage({command:"removeCanvasComponent",uid:this.ccid},"*")}},view:{onAttributeChange(){},onRender(){const{el:e,model:t}=this;let a=e.attributes.id.nodeValue;e.grapesModel=t;let o=e.grapesModel.attributes.tagName,n=e.grapesModel.attributes.attributes,l=g(o),s=`
\n <${o} `;for(let i in n){let e=i;console.log("keyRaw: ",i),0!=e.indexOf("gb_c__")&&0!=e.indexOf("gb_b__")||(e=e.substring(6));let t=l.properties.find(t=>t.name==e),a=n[i],o=null!=r[a];"v-model"!=e?t?o?s+=`:${e}="serverData.${a}" `:"String"==t.type||0==e.indexOf("v-on")?s+=`${e}="${a}" `:s+=`:${e}="${a}" `:s+=`${e}="${a}" `:s+=""==a?'v-model="serverData.none" ':`v-model="serverData.${a}" `}s+=`>\n
\n `,e.innerHTML=s}}})});let m=n.appData.pages[0].assets,y=m.find(e=>e.indexOf("autogenerated.css")>-1);if(y){let e=window.apibase+"apps/"+window.appid+"/edit?path="+encodeURIComponent(y);u["a"].get(e).then(e=>{d.setComponents(c.value),d.setStyle(e.data.content)}).catch(e=>{console.log("error loading autogenerated styles",e)})}else d.setComponents(c.value)}function S(e){d.value=e}function B(e){u["a"].get(e).then(e=>{D(e.data.content)}).catch(e=>{console.log("error loading template file",e)})}function D(e){let t=`\n
\n
\n
\n
\n ${e}\n
\n
\n
\n
`;const a=new DOMParser,o=a.parseFromString(t,"text/html"),n=o.body;we.encodeAttributesInDOM(n);const l=n.innerHTML;c.value=l,C()}return k(),Object(o["s"])(()=>{}),t({updateReactiveModel:S,loadTemplate:B,updateTemplateFile:D}),(e,t)=>(Object(o["t"])(),Object(o["f"])("div",Se,[Be,Object(o["C"])(i)?(Object(o["t"])(),Object(o["d"])(ve,{key:0,onCloseDialog:p,componentPlaceHolderData:Object(o["C"])(i)},null,8,["componentPlaceHolderData"])):Object(o["e"])("",!0),Object(o["g"])("div",De,[Object(o["h"])(" Custom Blocks "),Object(o["g"])("div",Ie,[(Object(o["t"])(!0),Object(o["f"])(o["a"],null,Object(o["y"])(Object(o["C"])(s),e=>(Object(o["t"])(),Object(o["f"])("div",{class:"block",key:e.id,onMousedown:t=>Object(o["C"])(f)(e)},[Object(o["g"])("div",Ne,Object(o["B"])(e.label),1)],40,Ae))),128))])])]))}};a("7bf3"),a("9005");const Te=x()(Pe,[["__scopeId","data-v-48d925f4"]]);var Me=Te;const qe={style:{"max-height":"40vh","overflow-y":"auto","margin-top":"10px","user-select":"none"}},Le={style:{display:"flex","flex-wrap":"wrap",gap:"5px","flex-direction":"column"}},Qe={style:{"font-weight":"bold","margin-bottom":"5px","text-transform":"capitalize","margin-top":"10px"}},Ee={class:"uiItemContainer"},$e=["blocktype","onMousedown","on:pointerdown_BAD","on:pointerup_BAD"],ze={class:"uiItemLabel"},Re={class:"uiItemIcon"},Ue=["src"];var He={__name:"LibraryPanel",emits:["blockCustomTriggered"],setup(e,{emit:t}){const a=["tempplaceholder","partial"];let n,l,r=V.filter(e=>-1===a.indexOf(e.type)),s=Object(o["x"])(null),i=Object(o["x"])(""),c=!1,d=null,p=null,u=V.map(e=>{let t={type:e.type,label:e.label,tagName:e.tagName,id:e.type,category:e.category,content:e.content,droppable:e.droppable,draggable:e.draggable,editable:e.editable,activate:!0};return t});function b(e){u=e.blocks,n=e.dragStart,l=e.dragStop,t("blockCustomTriggered",e)}function m(e){void 0!=e&&(i.value=e.target.value);let t=[],a={};return g.value.forEach(e=>{let o=e.category||"other";a[o]||(a[o]={category:o,blocks:[]},t.push(a[o])),a[o].blocks.push(e)}),s.value=t,t}Object(o["s"])(()=>{setTimeout(()=>{window.editor.on("block:custom",b);const{Panels:e}=window.editor;e.getButton("views","open-blocks").set("active",!0)},3e3)});const g=Object(o["b"])(()=>{if(!i.value)return r;let e=r.filter(e=>e.label.toLowerCase().indexOf(i.value.toLowerCase())>-1);return e});m();const y=function(e){const t="img/block_icons/"+e.type.split("q-").join("")+".png";return t};function f(e,t){p=document.querySelector(".gjs-frame"),sorter=editor.BlockManager.blocksView.getSorter(),sorter.__currentBlock=e,sorter.setDragHelper(t.target,t),sorter.setDropContent(e.content),sorter.startSort(t.target);let a=t.target;while(a&&!a.classList.contains("uiItem"))a=a.parentElement;a&&(c=!0,d=a,a.setPointerCapture(t.pointerId))}function h(e){if(!c||!sorter)return;const t=p.getBoundingClientRect();e.clientX,t.left,e.clientY,t.top}function _(e,t){sorter&&(sorter.endMove(),sorter=null),c=!1;const a=p.getBoundingClientRect();if(t.clientX>=a.left&&t.clientX<=a.right&&t.clientY>=a.top&&t.clientY<=a.bottom){d.style.pointerEvents="none";const o=p.contentDocument,n=t.clientX-a.left,l=t.clientY-a.top,r=o.elementFromPoint(n,l);let s=r.getAttribute("id");d.style.pointerEvents="",d.style.position="static";let i=editor.DomComponents.getWrapper().find("#"+s)[0];i&&(i.components().add(e.content),editor.refresh())}else d.style.position="static";d=null}return(e,t)=>{const a=Object(o["A"])("vscode-text-field");return Object(o["t"])(),Object(o["f"])(o["a"],null,[Object(o["g"])("div",null,[Object(o["i"])(a,{value:Object(o["C"])(i),onInput:t[0]||(t[0]=e=>m(e)),placeholder:"Search UI Components",style:{padding:"5px 10px",width:"90%"}},null,8,["value"])]),Object(o["g"])("div",qe,[Object(o["g"])("div",Le,[(Object(o["t"])(!0),Object(o["f"])(o["a"],null,Object(o["y"])(Object(o["C"])(s),e=>(Object(o["t"])(),Object(o["f"])("div",{key:e.category,style:{display:"flex","flex-direction":"column",width:"100%"}},[Object(o["g"])("div",Qe,Object(o["B"])(e.category),1),Object(o["g"])("div",Ee,[(Object(o["t"])(!0),Object(o["f"])(o["a"],null,Object(o["y"])(e.blocks,e=>(Object(o["t"])(),Object(o["f"])("div",{key:e.id,blocktype:e.type,class:"uiItem",onMousedown:t=>Object(o["C"])(n)(e),"on:pointerdown_BAD":t=>f(e,t),"on:pointermove_BAD":h,"on:pointerup_BAD":t=>_(e,t)},[Object(o["g"])("div",ze,Object(o["B"])(e.label),1),Object(o["g"])("div",Re,[Object(o["g"])("img",{src:y(e),style:{"max-height":"20px","margin-top":"6px","pointer-events":"none"}},null,8,Ue)])],40,$e))),128))])]))),128))])])],64)}}};a("aff4");const Fe=x()(He,[["__scopeId","data-v-4675da8e"]]);var Ve=Fe;const Je=e=>(Object(o["v"])("data-v-4848a3d6"),e=e(),Object(o["u"])(),e),Ye={class:"blocker"},We={class:"addPropsPanel"},Ge=Je(()=>Object(o["g"])("div",{style:{"text-align":"center","font-size":"0.8em","font-weight":"bold","margin-bottom":"10px"}},"Add Property",-1)),Ke={class:"addPropsList"},Xe=["onClick"],Ze={style:{width:"70%"}},et={style:{width:"30%","font-size":"0.8em",overflow:"hidden","white-space":"nowrap","text-overflow":"ellipsis",display:"flex","justify-content":"right","align-items":"center",opacity:"0.6"}};var tt={__name:"AddPropertyDialog",props:["propslist","defObject","destination"],emits:["propAdded","close"],setup(e,{emit:t}){const a=e;function n(e){t("propAdded",e,a.defObject,a.destination)}function l(){t("close")}return(t,a)=>(Object(o["t"])(),Object(o["f"])("div",Ye,[Object(o["g"])("div",We,[Ge,Object(o["g"])("div",{class:"closeAddProp",onClick:l},"X"),Object(o["g"])("div",Ke,[(Object(o["t"])(!0),Object(o["f"])(o["a"],null,Object(o["y"])(e.propslist,e=>(Object(o["t"])(),Object(o["f"])("div",{class:"addPropRow",onClick:t=>n(e)},[Object(o["g"])("div",Ze,Object(o["B"])(e.label),1),Object(o["g"])("div",et,Object(o["B"])(e.type),1)],8,Xe))),256))])])]))}};a("e161");const at=x()(tt,[["__scopeId","data-v-4848a3d6"]]);var ot=at;const nt=e=>(Object(o["v"])("data-v-75a69507"),e=e(),Object(o["u"])(),e),lt={key:0},rt={style:{"user-select":"none"}},st={class:"removeBtnCnt",style:{width:"20px"}},it=["onClick"],ct=nt(()=>Object(o["g"])("i",{"aria-hidden":"true",role:"img",class:"q-icon notranslate material-icons",style:{"font-size":"14px",padding:"0px"}},"delete",-1)),dt=[ct],pt={class:"propRowLabel"},ut={key:0,class:"propRowControl"},bt={slot:"selected-value",class:"codicon codicon-settings"},mt={"aria-hidden":"true",role:"img",class:"q-icon notranslate material-icons",style:{"font-size":"16px",padding:"5px"}},gt={"aria-hidden":"true",role:"img",class:"q-icon notranslate material-icons",style:{"font-size":"16px"}},yt={slot:"selected-value"},ft=["attrname","onDrop","onUpdate:modelValue"],ht=["attrname","onDrop","onUpdate:modelValue"],_t=["attrname","onDrop","onUpdate:modelValue"],vt=["attrname","onDrop","onUpdate:modelValue"],Ot=["attrname","onDrop","onUpdate:modelValue"],jt={key:1,class:"propRowControl"},wt=["onUpdate:modelValue","onDrop","attrname"],xt=["value"],kt=["onClick"],Ct={key:0,src:"img/icons/binding_on.png",style:{height:"16px"},draggable:"false"},St={key:1,src:"img/icons/binding_off.png",style:{height:"16px"},draggable:"false"},Bt={key:3,class:"propRowDynamicSwitch",draggable:"false"},Dt={key:0,class:"suggestedPropertiesContainer",style:{margin:"20px 0px 0px 0px"}},It=nt(()=>Object(o["g"])("div",{class:"suggestedPropertiesTitle",style:{opacity:"0.7","margin-bottom":"10px","font-weight":"bold","font-size":"0.9em"}},"Suggested Properties:",-1)),At={class:"propRowLabel",style:{opacity:"0.5","font-weight":"bold","text-align":"left:"}},Nt={class:"propRowControl",style:{opacity:"0.5","text-align":"left","font-size":"0.8em","user-select":"none"}},Pt=["onClick"],Tt=nt(()=>Object(o["g"])("i",{class:"fa fa-plus"},null,-1)),Mt=[Tt],qt=nt(()=>Object(o["g"])("br",null,null,-1)),Lt={key:1,style:{"font-size":"0.8em"}},Qt=nt(()=>Object(o["g"])("i",null,"Nothing selected",-1)),Et=[Qt];var $t={__name:"PropertiesPanel",props:["title","appData","selectedComponent"],setup(e,{expose:t}){const a=e;let n=Object(o["x"])(null),l=Object(o["x"])(!1),r=Object(o["x"])(a.appData.pages[0].model.fields),s={};r.value.forEach(e=>{s[e.name]=e});const i=V.reduce((e,t)=>(e[t.type]=t,e),{});function c(e){try{return 0==e.indexOf("gb_c__")||0==e.indexOf("gb_b__")?e.substring(6):e}catch(t){console.error("Error in getAttributeCleanRealName: ",e,t)}}function d(e){n.value.removeAttributes([e.name]),j()}function p(){let e=v(n.value.attributes.type);if(!e)return[];let t=b().map(e=>e.cleanName),a=e.properties.filter(e=>1==e.suggested),o=a.filter(e=>-1==t.indexOf(e.name));return o}function u(e){return r.value.filter(t=>t.type==e.def.type)}function b(){const e=n.value.attributes.attributes;let t=[],o={};for(let a in e)if(a.startsWith("gb_c__")||a.startsWith("gb_b__")){let n=c(a).toLowerCase();if("id"!=n&&"charttype"!=n&&"class"!=n){let l=m(n);l||console.error("Definition not found for: ",a,n,e[a]),t.push({name:a,cleanName:n,value:e[a],def:l}),o[a]=e[a]}}return a.selectedComponent.view.el.vueApp&&a.selectedComponent.view.el.vueApp.updateAttributes(o),t=Y.a.sortBy(t,"cleanName"),t}function m(e){let t=v(n.value.attributes.type);if(!t)return null;let a=t.properties.find(t=>t.name==e);return a}function g(e){let t=0==e.indexOf("gb_b_");return t}function y(e){let t=JSON.parse(e.dataTransfer.getData("text")),a=e.target.getAttribute("attrname");if(0==a.indexOf("gb_c__"))w(a,t.bindingname);else{let e={};e[a]=t.bindingname,n.value.addAttributes(e)}}function f(){l.value=!0}function h(){l.value=!1}function _(e){let t={Boolean:!0,String:"",Number:0},a={},o="gb_c__"+e.name,l=null!==t[e.type]?t[e.type]:"Not set";a[o]=l,n.value.addAttributes(a),j()}function v(e){let t=i[e];return t}const O=Object(o["b"])(()=>{let e=v(n.value.attributes.type);if(!e)return[];let t=e.properties,a=n.value.getAttributes(),o=[];for(let n in a){let e=c(n);o.push(e)}let l=[];return t.forEach(e=>{let t=c(e.name);-1==o.indexOf(t)&&l.push(e)}),l});function j(){let e=n.value.attributes.attributes;for(let a in e)!0===e[a]&&(e[a]="true"),!1===e[a]&&(e[a]="false");let t=selectedComponent.toHTML();editor.getSelected().replaceWith(t);let o={},l=Object.getOwnPropertyNames(e);l.forEach(t=>{let a;a=void 0!=e[t]&&void 0!=e[t].nodeValue?e[t].nodeValue:e[t],o[t]=a}),a.selectedComponent.setAttributes(o);let r=a.selectedComponent.view.$el[0].vueApp;r.updateAttributes(o)}function w(e,t){let a=0==e.indexOf("gb_b__")?e.replace("gb_b__","gb_c__"):e.replace("gb_c__","gb_b__");n.value.removeAttributes([e]);let o={};if(0==a.indexOf("gb_b__"))if(null!=s[t])o[a]=t;else{let e=c(a).toLowerCase(),t=m(e),n={def:t},l=u(n);l.length>0?o[a]=l[0].name:o[a]="Not Set"}else o[a]=t;n.value.addAttributes(o),j()}function x(e){n.value=e}return Object(o["s"])(()=>{x(window.selectedComponent)}),t({setSelectedComponent:x}),(e,t)=>{const a=Object(o["A"])("vscode-option"),r=Object(o["A"])("vscode-dropdown"),s=Object(o["A"])("q-icon"),i=Object(o["A"])("vscode-button");return Object(o["C"])(n)&&"tempplaceholder"!=Object(o["C"])(n).attributes.type&&"plotly"!=Object(o["C"])(n).attributes.type?(Object(o["t"])(),Object(o["f"])("div",lt,[Object(o["g"])("div",rt,[(Object(o["t"])(!0),Object(o["f"])(o["a"],null,Object(o["y"])(b(),e=>{var l;return Object(o["t"])(),Object(o["f"])("div",{key:e.name,class:"propRow"},[Object(o["g"])("div",st,[1!=(null===(l=e.def)||void 0===l?void 0:l.mandatory)&&"gb_b__v-model"!=e.name?(Object(o["t"])(),Object(o["f"])("span",{key:0,onClick:t=>d(e),title:"Remove Property",class:"codicon codicon-settings"},dt,8,it)):Object(o["e"])("",!0)]),Object(o["g"])("div",pt,Object(o["B"])(e.def.label)+": ",1),g(e.name)?Object(o["e"])("",!0):(Object(o["t"])(),Object(o["f"])("div",ut,["enum_icons"==e.def.uitype?(Object(o["t"])(),Object(o["d"])(r,{key:0,style:{width:"100%","min-width":"unset"},value:Object(o["C"])(n).attributes.attributes[e.name],onInput:t=>Object(o["C"])(n).attributes.attributes[e.name]=t.target.value,onChange:j},{default:Object(o["J"])(()=>[Object(o["g"])("span",bt,[Object(o["g"])("i",mt,Object(o["B"])(Object(o["C"])(n).attributes.attributes[e.name]),1),Object(o["h"])(" "+Object(o["B"])(Object(o["C"])(n).attributes.attributes[e.name]),1)]),(Object(o["t"])(!0),Object(o["f"])(o["a"],null,Object(o["y"])(e.def.options,e=>(Object(o["t"])(),Object(o["d"])(a,{value:e,style:{padding:"5px"}},{default:Object(o["J"])(()=>[Object(o["g"])("i",gt,Object(o["B"])(e),1),Object(o["h"])(" "+Object(o["B"])(e),1)]),_:2},1032,["value"]))),256))]),_:2},1032,["value","onInput"])):"enum_colors"==e.def.uitype?(Object(o["t"])(),Object(o["d"])(r,{key:1,style:{width:"100%","min-width":"unset"},value:Object(o["C"])(n).attributes.attributes[e.name],onInput:t=>Object(o["C"])(n).attributes.attributes[e.name]=t.target.value,onChange:j},{default:Object(o["J"])(()=>[Object(o["g"])("span",yt,[Object(o["i"])(s,{name:"circle",color:Object(o["C"])(n).attributes.attributes[e.name],style:{"margin-right":"5px"}},null,8,["color"]),Object(o["h"])(" "+Object(o["B"])(Object(o["C"])(n).attributes.attributes[e.name]),1)]),(Object(o["t"])(!0),Object(o["f"])(o["a"],null,Object(o["y"])(e.def.options,e=>(Object(o["t"])(),Object(o["d"])(a,{value:e,style:{padding:"5px"}},{default:Object(o["J"])(()=>[Object(o["i"])(s,{name:"circle",color:e,style:{"margin-right":"5px"}},null,8,["color"]),Object(o["h"])(" "+Object(o["B"])(e),1)]),_:2},1032,["value"]))),256))]),_:2},1032,["value","onInput"])):"String"==e.def.type&&-1==e.cleanName.indexOf("color")?Object(o["K"])((Object(o["t"])(),Object(o["f"])("input",{key:2,attrname:e.name,type:"text",onDrop:Object(o["L"])(y,["prevent"]),onDragenter:t[0]||(t[0]=Object(o["L"])(()=>{},["prevent"])),onDragover:t[1]||(t[1]=Object(o["L"])(()=>{},["prevent"])),class:"propInput",onChange:j,"onUpdate:modelValue":t=>Object(o["C"])(n).attributes.attributes[e.name]=t,style:{width:"220px%"}},null,40,ft)),[[o["G"],Object(o["C"])(n).attributes.attributes[e.name]]]):"Array"==e.def.type?Object(o["K"])((Object(o["t"])(),Object(o["f"])("input",{key:3,attrname:e.name,type:"text",onDrop:Object(o["L"])(y,["prevent"]),onDragenter:t[2]||(t[2]=Object(o["L"])(()=>{},["prevent"])),onDragover:t[3]||(t[3]=Object(o["L"])(()=>{},["prevent"])),class:"propInput",onChange:j,"onUpdate:modelValue":t=>Object(o["C"])(n).attributes.attributes[e.name]=t,style:{width:"220px%"}},null,40,ht)),[[o["G"],Object(o["C"])(n).attributes.attributes[e.name]]]):"String"==e.def.type&&e.name.indexOf("color")>-1?Object(o["K"])((Object(o["t"])(),Object(o["f"])("input",{key:4,attrname:e.name,type:"color",onDrop:Object(o["L"])(y,["prevent"]),onDragenter:t[4]||(t[4]=Object(o["L"])(()=>{},["prevent"])),onDragover:t[5]||(t[5]=Object(o["L"])(()=>{},["prevent"])),class:"propInput",onChange:j,"onUpdate:modelValue":t=>Object(o["C"])(n).attributes.attributes[e.name]=t,style:{padding:"0px 2px",height:"21px"}},null,40,_t)),[[o["G"],Object(o["C"])(n).attributes.attributes[e.name]]]):"Number"==e.def.type?Object(o["K"])((Object(o["t"])(),Object(o["f"])("input",{key:5,attrname:e.name,type:"number",onDrop:Object(o["L"])(y,["prevent"]),onDragenter:t[6]||(t[6]=Object(o["L"])(()=>{},["prevent"])),onDragover:t[7]||(t[7]=Object(o["L"])(()=>{},["prevent"])),class:"propInput",onChange:j,"onUpdate:modelValue":t=>Object(o["C"])(n).attributes.attributes[e.name]=t},null,40,vt)),[[o["G"],Object(o["C"])(n).attributes.attributes[e.name]]]):"Boolean"==e.def.type?Object(o["K"])((Object(o["t"])(),Object(o["f"])("input",{key:6,attrname:e.name,type:"checkbox",onDrop:Object(o["L"])(y,["prevent"]),onDragenter:t[8]||(t[8]=Object(o["L"])(()=>{},["prevent"])),onDragover:t[9]||(t[9]=Object(o["L"])(()=>{},["prevent"])),class:"propInput",onChange:j,"onUpdate:modelValue":t=>Object(o["C"])(n).attributes.attributes[e.name]=t,style:{width:"auto"}},null,40,Ot)),[[o["D"],Object(o["C"])(n).attributes.attributes[e.name]]]):Object(o["e"])("",!0)])),g(e.name)?(Object(o["t"])(),Object(o["f"])("div",jt,[Object(o["K"])(Object(o["g"])("select",{class:"propInput propInputDynamic","onUpdate:modelValue":t=>Object(o["C"])(n).attributes.attributes[e.name]=t,name:"cars",id:"cars",onChange:j,onDrop:Object(o["L"])(y,["prevent"]),onDragenter:t[10]||(t[10]=Object(o["L"])(()=>{},["prevent"])),onDragover:t[11]||(t[11]=Object(o["L"])(()=>{},["prevent"])),attrname:e.name},[(Object(o["t"])(!0),Object(o["f"])(o["a"],null,Object(o["y"])(u(e),e=>(Object(o["t"])(),Object(o["f"])("option",{key:"binding_"+e.name,value:e.name},Object(o["B"])(e.name),9,xt))),128))],40,wt),[[o["F"],Object(o["C"])(n).attributes.attributes[e.name]]])])):Object(o["e"])("",!0),"gb_b__v-model"!=e.name&&-1==e.name.indexOf("gb_b__v-on:")?(Object(o["t"])(),Object(o["f"])("div",{key:2,onClick:t=>w(e.name,e.value),class:"propRowDynamicSwitch"},[g(e.name)?(Object(o["t"])(),Object(o["f"])("img",Ct)):Object(o["e"])("",!0),g(e.name)?Object(o["e"])("",!0):(Object(o["t"])(),Object(o["f"])("img",St))],8,kt)):(Object(o["t"])(),Object(o["f"])("div",Bt))])}),128)),p().length>0?(Object(o["t"])(),Object(o["f"])("div",Dt,[It,(Object(o["t"])(!0),Object(o["f"])(o["a"],null,Object(o["y"])(p(),e=>(Object(o["t"])(),Object(o["f"])("div",{key:e.name,class:"propRow"},[Object(o["g"])("div",At,Object(o["B"])(e.label)+": ",1),Object(o["g"])("div",Nt,Object(o["B"])(e.desc),1),Object(o["g"])("div",{class:"propRowDynamicSwitch",draggable:"false",title:"Add property",onClick:t=>_(e)},Mt,8,Pt)]))),128))])):Object(o["e"])("",!0)]),qt,!Object(o["C"])(l)&&Object(o["C"])(n)?(Object(o["t"])(),Object(o["d"])(i,{key:0,onClick:f},{default:Object(o["J"])(()=>[Object(o["h"])("Add Property")]),_:1})):Object(o["e"])("",!0),Object(o["C"])(n)?Object(o["e"])("",!0):(Object(o["t"])(),Object(o["f"])("div",Lt,Et)),Object(o["C"])(l)?(Object(o["t"])(),Object(o["d"])(ot,{key:2,propslist:O.value,onPropAdded:_,onClose:h},null,8,["propslist"])):Object(o["e"])("",!0)])):Object(o["e"])("",!0)}}},zt=(a("56dd"),a("0016")),Rt=a("93dc"),Ut=a.n(Rt);const Ht=x()($t,[["__scopeId","data-v-75a69507"]]);var Ft=Ht;Ut()($t,"components",{QIcon:zt["a"]});const Vt={class:"col-5"},Jt={key:0,class:"col-7"},Yt={key:1,class:"col-7"},Wt={key:2,class:"col-7",style:{"align-items":"center",position:"relative",display:"flex"}},Gt=["onUpdate:modelValue"],Kt=["type","onUpdate:modelValue"];var Xt={__name:"ChartPropertiesSection",props:["dataSource","dataSourceColumns","treeObject","propertiesDefinition"],emits:["change"],setup(e,{emit:t}){const a=e;function n(){t("change",a.treeObject)}function l(e,t){const a=t.split(".");if(1==a.length)return e;for(let o=0;o{let e=[];for(let t=0;t{const l=Object(o["A"])("vscode-option"),r=Object(o["A"])("vscode-dropdown"),i=Object(o["A"])("vscode-text-field");return Object(o["t"])(!0),Object(o["f"])(o["a"],null,Object(o["y"])(s.value,t=>(Object(o["t"])(),Object(o["f"])("div",{class:"row propRow",key:t.id},[Object(o["g"])("div",Vt,Object(o["B"])(t.label),1),"x"==t.id||"y"==t.id||"z"==t.id?(Object(o["t"])(),Object(o["f"])("div",Jt,[Object(o["i"])(r,{style:{width:"100%"},name:"",id:"",value:t.valueHolderParent[t.propName],onInput:e=>t.valueHolderParent[t.propName]=e.target.value,onChange:n},{default:Object(o["J"])(()=>[(Object(o["t"])(!0),Object(o["f"])(o["a"],null,Object(o["y"])(e.dataSourceColumns,t=>(Object(o["t"])(),Object(o["d"])(l,{value:"$_{"+e.dataSource+"."+t+"}"},{default:Object(o["J"])(()=>[Object(o["h"])(Object(o["B"])(t),1)]),_:2},1032,["value"]))),256))]),_:2},1032,["value","onInput"])])):"enum"==t.type?(Object(o["t"])(),Object(o["f"])("div",Yt,[Object(o["i"])(r,{style:{width:"100%"},name:"",id:"",value:t.valueHolderParent[t.propName],onInput:e=>t.valueHolderParent[t.propName]=e.target.value,onChange:n},{default:Object(o["J"])(()=>[(Object(o["t"])(!0),Object(o["f"])(o["a"],null,Object(o["y"])(t.options,e=>(Object(o["t"])(),Object(o["d"])(l,{value:e},{default:Object(o["J"])(()=>[Object(o["h"])(Object(o["B"])(e),1)]),_:2},1032,["value"]))),256))]),_:2},1032,["value","onInput"])])):(Object(o["t"])(),Object(o["f"])("div",Wt,["checkbox"==t.type?Object(o["K"])((Object(o["t"])(),Object(o["f"])("input",{key:0,type:"checkbox",name:"",id:"","onUpdate:modelValue":e=>t.valueHolderParent[t.propName]=e,onChange:n},null,40,Gt)),[[o["D"],t.valueHolderParent[t.propName]]]):Object(o["e"])("",!0),"color"==t.type?Object(o["K"])((Object(o["t"])(),Object(o["f"])("input",{key:1,type:t.type,"onUpdate:modelValue":e=>t.valueHolderParent[t.propName]=e,onChange:n,style:{height:"23px",width:"23px","margin-right":"5px","background-color":"#ffffff00"}},null,40,Kt)),[[o["E"],t.valueHolderParent[t.propName]]]):Object(o["e"])("",!0),"color"==t.type?(Object(o["t"])(),Object(o["d"])(i,{key:2,type:"text",name:"",id:"",value:t.valueHolderParent[t.propName],onInput:e=>t.valueHolderParent[t.propName]=e.target.value,onChange:n,style:{width:"80px"}},null,8,["value","onInput"])):Object(o["e"])("",!0),"string"==t.type||"number"==t.type?(Object(o["t"])(),Object(o["d"])(i,{key:3,type:t.type,name:"",id:"",value:t.valueHolderParent[t.propName],onInput:e=>t.valueHolderParent[t.propName]=e.target.value,onChange:n},null,8,["type","value","onInput"])):Object(o["e"])("",!0)]))]))),128)}}};a("2ac9");const Zt=Xt;var ea=Zt;const ta=e=>(Object(o["v"])("data-v-f85b9ac6"),e=e(),Object(o["u"])(),e),aa={key:0,class:"chartConfigContainer"},oa={class:"tabSelector"},na=["onClick"],la={key:0,class:"tabSectionContainer"},ra={style:{padding:"20px 0px"}},sa=ta(()=>Object(o["g"])("div",{style:{padding:"0px 0px 10px"}},[Object(o["g"])("b",null,"Reactive Data")],-1)),ia=ta(()=>Object(o["g"])("br",null,null,-1)),ca={key:0,class:"tracesContainer"},da={class:"foldableGroupHeader"},pa=ta(()=>Object(o["g"])("div",{style:{width:"40px"}},"?",-1)),ua={style:{width:"50px","flex-grow":"1"}},ba={class:"foldableGroupContent"},ma={class:"subgroup"},ga={class:"subgroupContent"},ya={class:"addPropertyButtonRow"},fa=["onClick"],ha={key:1,style:{"border-top":"solid 1px var(--badge-background)",padding:"20px","text-align":"center"}},_a={key:1,class:"tabSectionContainer"},va={class:"subgroup"},Oa={class:"subgroupContent"},ja={class:"addPropertyButtonRow"},wa={key:2,class:"tabSectionContainer"},xa={class:"subgroup"},ka={class:"subgroupContent"},Ca={class:"addPropertyButtonRow"};var Sa={__name:"ChartProperties",props:["appData","selectedComponent"],setup(e,{expose:t}){const a=e;let n=Object(o["x"])(0),l=Object(o["x"])([{name:"Data",id:0},{name:"Layout",id:1},{name:"Config",id:2}]),r=Object(o["x"])(null),s=Object(o["x"])(null),i=(Object(o["x"])(!1),Object(o["x"])(null)),c=Object(o["x"])([]),d=Object(o["x"])([]),p=Object(o["x"])([]),u=Object(o["x"])(a.appData.pages[0].model.fields),b={};u.value.forEach(e=>{b[e.name]=e});let m=Object(o["x"])([{id:"name",label:"Name",type:"string",default:""},{id:"type",label:"Type",type:"enum",default:"scatter",options:["scatter","bar","histogram"]},{id:"x",label:"X",type:"array",default:[0,1,2,3,4,5]},{id:"y",label:"Y",type:"array",default:[2,4,8,16,32]},{id:"marker.size",label:"Marker Size",type:"number",default:5},{id:"marker.color",label:"Marker Color",type:"color",default:"#2578B4"}]),g=Object(o["x"])([{id:"autosizable",label:"Autosizable",type:"checkbox",default:!1},{id:"displaylogo",label:"Display Logo",type:"checkbox",default:!0},{id:"scrollZoom",label:"Scroll Zoom",type:"checkbox",default:!0},{id:"editable",label:"Editable",type:"checkbox",default:!0},{id:"displayModeBar",label:"Mode Bar",type:"checkbox",default:!0}]),y=Object(o["x"])([{id:"title",label:"Title",type:"string",default:"Hello Def"},{id:"showlegend",label:"Show Legend",type:"checkbox",default:!0},{id:"paper_bgcolor",label:"Paper",type:"color",default:"#ffffff"},{id:"plot_bgcolor",label:"Background",type:"color",default:"#ffffff"},{id:"font.color",label:"Font Color",type:"color",default:"#000000"},{id:"font.size",label:"Font Size",type:"number",default:10}]);const f=Object(o["b"])(()=>{let e=[],t=s.value;if(t){let a=r.value.find(e=>e.name==t);a&&(e=a.columns)}return e});function h(e,t){let a=e.filter(e=>{let a=!1,o=k(t,e.id);return null!=o&&(a=!0),!a});return a}Object(o["b"])(()=>{let e=g.value.filter(e=>{let t=!1,a=k(i.value,e.id);return null!=a&&(t=!0),!t});return e});function _(e){D()}function v(e){D()}function O(e){D()}function j(e){i.value=e}function w(){i.value=null}function x(e,t,a){let o=e.id,n=t.find(e=>e.id==o);C(a,o,n.default),D()}function k(e,t){const a=t.split(".");for(let o=0;oe.name==s.value);return!!e&&"DataFrames.DataFrame"==e.type}function B(){let e=a.appData.pages[0].model.fields.filter(e=>"DataFrames.DataFrame"==e.type||"PlotlyData"==e.type);r.value=e}function D(){let e=btoa(JSON.stringify(c.value)),t=btoa(JSON.stringify(d.value)),o=btoa(JSON.stringify(p.value));a.selectedComponent.setAttributes({data:e,config:t,layout:o}),a.selectedComponent.view.$el[0].vueApp.updateAttributes({data:e,config:t,layout:o})}function I(){let e=[];c.value.forEach(t=>{let a=N(t);a.forEach(t=>{let a=t.value.replace("$_{","").replace("}","");e.includes(a)||e.push(a)})}),e=e.map(e=>e.split(".")[0]),s.value=e[0]}function A(e){if(!e||"plotly"!=e.attributes.type)return c.value=null,d.value=null,void(p.value=null);let t=e.getAttributes();t.gb_c__data&&(t.gb_c__data=atob(t.gb_c__data)),t.gb_c__config&&(t.gb_c__config=atob(t.gb_c__config)),t.gb_c__layout&&(t.gb_c__layout=atob(t.gb_c__layout));let a=t.gb_c__data||"[]";a=JSON.parse(a),c.value=a;let o=t.gb_c__config||"{}";o=JSON.parse(o),d.value=o;let n=t.gb_c__layout||"{}";n=JSON.parse(n),p.value=n,I()}function N(e){let t=[];function a(e){for(let o in e)"object"===typeof e[o]&&null!==e[o]?a(e[o]):"string"===typeof e[o]&&e[o].startsWith("$_{")&&e[o].endsWith("}")&&t.push({value:e[o]})}return a(e),t}function P(){c.value.push({x:"",y:"",type:"scatter",name:"Chg 1"})}function T(e){c.value=[{x:"$_{columnB}",y:"$_{columnA}",type:"scatter",name:"Chg 1"},{x:"$_{columnB}",y:"$_{columnC}",type:"scatter",name:"Chg 2"}],D()}return Object(o["r"])(()=>{A(a.selectedComponent),B()}),t({setSelectedComponent:A,assignNewDataSource:T}),(t,a)=>{const u=Object(o["A"])("vscode-option"),b=Object(o["A"])("vscode-dropdown"),k=Object(o["A"])("vscode-button");return e.selectedComponent&&"plotly"==e.selectedComponent.attributes.type?(Object(o["t"])(),Object(o["f"])("div",aa,[Object(o["g"])("div",oa,[(Object(o["t"])(!0),Object(o["f"])(o["a"],null,Object(o["y"])(Object(o["C"])(l),e=>(Object(o["t"])(),Object(o["f"])("div",{onClick:t=>Object(o["o"])(n)?n.value=e.id:n=e.id,class:Object(o["q"])({tabItem:!0,tabItemSelected:e.id==Object(o["C"])(n)}),key:e},Object(o["B"])(e.name),11,na))),128))]),0==Object(o["C"])(n)?(Object(o["t"])(),Object(o["f"])("div",la,[Object(o["g"])("div",ra,[sa,Object(o["i"])(b,{name:"",id:"",value:Object(o["C"])(s),onInput:a[0]||(a[0]=e=>Object(o["o"])(s)?s.value=e.target.value:s=e.target.value)},{default:Object(o["J"])(()=>[Object(o["i"])(u,{value:null},{default:Object(o["J"])(()=>[Object(o["h"])("None")]),_:1}),(Object(o["t"])(!0),Object(o["f"])(o["a"],null,Object(o["y"])(Object(o["C"])(r),e=>(Object(o["t"])(),Object(o["d"])(u,{value:e.name},{default:Object(o["J"])(()=>[Object(o["h"])(Object(o["B"])(e.name),1)]),_:2},1032,["value"]))),256))]),_:1},8,["value"]),ia]),S()?(Object(o["t"])(),Object(o["f"])("div",ca,[(Object(o["t"])(!0),Object(o["f"])(o["a"],null,Object(o["y"])(Object(o["C"])(c),e=>(Object(o["t"])(),Object(o["f"])("div",{class:"foldableGroup",key:e},[Object(o["g"])("div",da,[pa,Object(o["g"])("div",ua,Object(o["B"])(e.name),1)]),Object(o["g"])("div",ba,[Object(o["g"])("div",ma,[Object(o["g"])("div",ga,[Object(o["i"])(ea,{dataSource:Object(o["C"])(s),treeObject:e,dataSourceColumns:f.value,propertiesDefinition:Object(o["C"])(m),onChange:O},null,8,["dataSource","treeObject","dataSourceColumns","propertiesDefinition"])])]),Object(o["g"])("div",ya,[Object(o["C"])(i)?Object(o["e"])("",!0):(Object(o["t"])(),Object(o["f"])("button",{key:0,class:"addPropertyButton",onClick:t=>j(e)},"+",8,fa))]),Object(o["C"])(i)==e?(Object(o["t"])(),Object(o["d"])(ot,{key:0,defObject:Object(o["C"])(m),destination:Object(o["C"])(i),propslist:h(Object(o["C"])(m),e),onPropAdded:x,onClose:w},null,8,["defObject","destination","propslist"])):Object(o["e"])("",!0)])]))),128))])):Object(o["e"])("",!0),Object(o["C"])(s)&&S()?(Object(o["t"])(),Object(o["f"])("div",ha,[Object(o["i"])(k,{class:"addTraceButton",onClick:P},{default:Object(o["J"])(()=>[Object(o["h"])("+ Trace")]),_:1})])):Object(o["e"])("",!0)])):Object(o["e"])("",!0),1==Object(o["C"])(n)?(Object(o["t"])(),Object(o["f"])("div",_a,[Object(o["g"])("div",va,[Object(o["g"])("div",Oa,[Object(o["i"])(ea,{dataSource:Object(o["C"])(s),treeObject:Object(o["C"])(p),dataSourceColumns:f.value,propertiesDefinition:Object(o["C"])(y),onChange:_},null,8,["dataSource","treeObject","dataSourceColumns","propertiesDefinition"])])]),Object(o["g"])("div",ja,[Object(o["C"])(i)?Object(o["e"])("",!0):(Object(o["t"])(),Object(o["f"])("button",{key:0,class:"addPropertyButton",onClick:a[1]||(a[1]=e=>j(Object(o["C"])(p)))},"+"))]),Object(o["C"])(i)==Object(o["C"])(p)?(Object(o["t"])(),Object(o["d"])(ot,{key:0,defObject:Object(o["C"])(y),destination:Object(o["C"])(p),propslist:h(Object(o["C"])(y),Object(o["C"])(p)),onPropAdded:x,onClose:w},null,8,["defObject","destination","propslist"])):Object(o["e"])("",!0)])):Object(o["e"])("",!0),2==Object(o["C"])(n)?(Object(o["t"])(),Object(o["f"])("div",wa,[Object(o["g"])("div",xa,[Object(o["g"])("div",ka,[Object(o["i"])(ea,{dataSource:Object(o["C"])(s),treeObject:Object(o["C"])(d),dataSourceColumns:f.value,propertiesDefinition:Object(o["C"])(g),onChange:v},null,8,["dataSource","treeObject","dataSourceColumns","propertiesDefinition"])])]),Object(o["g"])("div",Ca,[Object(o["C"])(i)?Object(o["e"])("",!0):(Object(o["t"])(),Object(o["f"])("button",{key:0,class:"addPropertyButton",onClick:a[2]||(a[2]=e=>j(Object(o["C"])(d)))},"+"))]),Object(o["C"])(i)==Object(o["C"])(d)?(Object(o["t"])(),Object(o["d"])(ot,{key:0,defObject:Object(o["C"])(g),destination:Object(o["C"])(d),propslist:h(Object(o["C"])(g),Object(o["C"])(d)),onPropAdded:x,onClose:w},null,8,["defObject","destination","propslist"])):Object(o["e"])("",!0)])):Object(o["e"])("",!0)])):Object(o["e"])("",!0)}}};a("0f5f");const Ba=x()(Sa,[["__scopeId","data-v-f85b9ac6"]]);var Da=Ba,Ia=a("1020"),Aa=a.n(Ia),Na=a("4dd1"),Pa=a.n(Na),Ta=a("de09"),Ma=a.n(Ta);a("9f21");const qa=e=>(Object(o["v"])("data-v-3295537e"),e=e(),Object(o["u"])(),e),La={class:"logsPanel",style:{position:"relative"}},Qa={class:"toolBar"},Ea=qa(()=>Object(o["g"])("option",{value:"0"},"Debug",-1)),$a=qa(()=>Object(o["g"])("option",{value:"1"},"Info",-1)),za=qa(()=>Object(o["g"])("option",{value:"2"},"Warning",-1)),Ra=qa(()=>Object(o["g"])("option",{value:"3"},"Error",-1)),Ua=[Ea,$a,za,Ra],Ha=["value"],Fa=qa(()=>Object(o["g"])("span",{class:"codicon codicon-settings"},[Object(o["g"])("i",{"aria-hidden":"true",role:"img",class:"q-icon notranslate material-icons",style:{"font-size":"16px",padding:"5px"}},"delete")],-1)),Va=[Fa],Ja={class:"timeStamp"},Ya={class:"appSource"},Wa={class:"logLevel"},Ga=["onClick"];var Ka={__name:"LogsPanel",props:["appData"],setup(e,{expose:t}){const a=Object(o["x"])(!0),n=Object(o["x"])(!0),l=Object(o["x"])(0),r=Object(o["x"])("all"),s=Object(o["x"])(""),i=Object(o["x"])(null);Aa.a.registerLanguage("javascript",Pa.a),Aa.a.registerLanguage("sql",Ma.a);const c={mounted(e,t){const a=t.value||"",o=Aa.a.highlight("sql",a).value;e.innerHTML=`
${o}
`},updated(e,t){const a=t.value||"",o=Aa.a.highlight("sql",a).value;e.innerHTML=`
${o}
`}},d=c,p=Object(o["x"])([{id:"all",label:"All"},{id:0,label:"GB"}]),u={debug:0,info:1,warning:2,error:3},b=Object(o["x"])([]);window.logs=b;const m=Object(o["b"])(()=>{let e=b.value.filter(e=>{let t="server"==e.source&&a.value||"client"==e.source&&n.value,o=u[e.level]>=l.value,i="all"==r.value||e.appid==r.value;console.log(">>>>>>> ",e.appid," == ",r.value);let c=""==s.value||e.message.toLowerCase().indexOf(s.value.toLowerCase())>=0;return t&&o&&c&&i});return e});function g(){b.value=[]}function y(e){let t="log:message";if(0==e.message.indexOf(t)){p.value.find(t=>t.id==e.appid)||p.value.push({id:e.appid,label:e.appid});let a=e.message.slice(t.length);a=a.split(" ┌").join("┌"),e.message=a,e.appSource="0"==e.appid?"GB":"app "+e.appid,e.timestamp=e.timestamp.replace("T"," ").replace("Z","").split(".")[0],e.expanded=!1,b.value.push(e),i.value.scrollTop=i.value.scrollHeight}}return t({addLog:y}),(e,t)=>(Object(o["t"])(),Object(o["f"])("div",La,[Object(o["g"])("div",Qa,[Object(o["g"])("div",null,[Object(o["K"])(Object(o["g"])("input",{type:"checkbox",id:"showServerLogs",name:"showServerLogs","onUpdate:modelValue":t[0]||(t[0]=e=>a.value=e)},null,512),[[o["D"],a.value]]),Object(o["h"])(" GB Server ")]),Object(o["g"])("div",null,[Object(o["K"])(Object(o["g"])("input",{type:"checkbox",id:"showClientLogs",name:"showClientLogs","onUpdate:modelValue":t[1]||(t[1]=e=>n.value=e)},null,512),[[o["D"],n.value]]),Object(o["h"])(" Client ")]),Object(o["g"])("div",null,[Object(o["K"])(Object(o["g"])("select",{"onUpdate:modelValue":t[2]||(t[2]=e=>l.value=e)},Ua,512),[[o["F"],l.value]])]),Object(o["g"])("div",null,[Object(o["K"])(Object(o["g"])("select",{"onUpdate:modelValue":t[3]||(t[3]=e=>r.value=e)},[(Object(o["t"])(!0),Object(o["f"])(o["a"],null,Object(o["y"])(p.value,e=>(Object(o["t"])(),Object(o["f"])("option",{value:e.id},Object(o["B"])(e.label),9,Ha))),256))],512),[[o["F"],r.value]])]),Object(o["g"])("div",null,[Object(o["h"])(" Search: "),Object(o["K"])(Object(o["g"])("input",{type:"text",id:"searchString",name:"searchString","onUpdate:modelValue":t[4]||(t[4]=e=>s.value=e),style:{width:"200px"}},null,512),[[o["G"],s.value]])]),Object(o["g"])("div",{style:{"text-align":"right","flex-grow":"1","flex-basis":"0"}},[Object(o["g"])("button",{class:"clearLogsButton",onClick:g,title:"Clear Logs"},Va)])]),Object(o["g"])("div",{ref_key:"logsContainer",ref:i,class:"logsContainer"},[(Object(o["t"])(!0),Object(o["f"])(o["a"],null,Object(o["y"])(m.value,(e,t)=>(Object(o["t"])(),Object(o["f"])("div",{class:Object(o["q"])({logItem:!0,levelInfo:"info"==e.level,levelWarning:"warning"==e.level,levelError:"error"==e.level}),key:"logItem_"+t},[Object(o["g"])("div",Ja,Object(o["B"])(e.timestamp),1),Object(o["g"])("div",Ya,Object(o["B"])(e.appSource),1),Object(o["g"])("div",Wa,Object(o["B"])(e.level),1),Object(o["K"])(Object(o["g"])("div",{class:Object(o["q"])({logMessage:!0,logMessageExpanded:e.expanded}),onClick:t=>e.expanded=!e.expanded},null,10,Ga),[[Object(o["C"])(d),e.message]])],2))),128))],512)]))}};a("c41b");const Xa=x()(Ka,[["__scopeId","data-v-3295537e"]]);var Za=Xa;Ut()(Ka,"components",{QIcon:zt["a"]});const eo={class:"bindingsConnectorsContainer"},to={width:"100%",height:"100%",style:{position:"absolute","z-index":"11","pointer-events":"none"}},ao=["x","y","width","height"],oo=["d"];var no={__name:"BindingsConnector",setup(e,{expose:t}){const a=Object(o["x"])([]),n=Object(o["x"])([]),l=Object(o["x"])(null),r=Object(o["x"])(null);function s(e){let t=e,a=i(),o=Math.abs(t.x+t.width-a.x),n=.5*o,l=`M ${t.x+t.width} ${t.y+.5*t.height} C ${t.x+t.width+n} ${t.y+.5*t.height}, ${a.x-n} ${a.y+7}, ${a.x} ${a.y+7}`;return l}function i(){let e=c(r.value.element);return e}function c(e){const t=e.getBoundingClientRect();return{x:t.left,y:t.top}}function d(e){a.value=e,p()}function p(){null==l.value&&u();let e=l.value,t=a.value.map(t=>({x:t.x+e.x,y:t.y+e.y,width:t.width,height:t.height}));n.value=t}function u(){let e=document.querySelector(".gjs-frame");l.value=c(e),p()}function b(e){r.value=e}return t({updateElementsPositions:d,updateIframePosition:u,onBindingOvered:b}),(e,t)=>(Object(o["t"])(),Object(o["f"])("div",eo,[(Object(o["t"])(),Object(o["f"])("svg",to,[(Object(o["t"])(!0),Object(o["f"])(o["a"],null,Object(o["y"])(n.value,e=>(Object(o["t"])(),Object(o["f"])("rect",{key:e.id,x:e.x,y:e.y,width:e.width,height:e.height,style:{fill:"transparent","stroke-width":"3",stroke:"#0099ff"}},null,8,ao))),128)),(Object(o["t"])(!0),Object(o["f"])(o["a"],null,Object(o["y"])(n.value,e=>(Object(o["t"])(),Object(o["f"])("path",{key:e.id,d:s(e),stroke:"#0099ff","stroke-width":"2",fill:"transparent"},null,8,oo))),128))]))]))}};a("c0b1");const lo=x()(no,[["__scopeId","data-v-571588a7"]]);var ro=lo;class so{constructor(e,t,a){this.host="127.0.0.1",this.port=10102,this.protocol="ws",this.ws=null,this.onOpenHandler=e,this.onCloseHandler=t,this.onMessageHandler=a}connect(){console.log("StatusMonitor::connect"),this.ws=new WebSocket(this.protocol+"://"+this.host+":"+this.port),this.ws.onopen=this.onOpen.bind(this),this.ws.onmessage=this.onMessage.bind(this),this.ws.onclose=this.onClose.bind(this)}restart(e){e=e||1,console.log("StatusMonitor::restart",e),setTimeout(()=>{this.connect()},1e3*e)}onOpen(){console.log("StatusMonitor::onOpen"),this.ws.send(JSON.stringify({channel:"geniebuilder",message:"subscribe",payload:{}})),this.onOpenHandler()}onMessage(e){this.onMessageHandler(e)}onClose(){console.log("StatusMonitor::onClose"),this.onCloseHandler()}}const io=e=>(Object(o["v"])("data-v-222d0dd8"),e=e(),Object(o["u"])(),e),co={key:0,class:"mainContainer"},po={class:"topBar"},uo=io(()=>Object(o["g"])("div",{style:{width:"100%"}},null,-1)),bo={class:"topToolBar"},mo={style:{"margin-right":"10px",color:"#cccccc"}},go={class:"rowStack"},yo={class:"centralBar"},fo={class:"panel canvasPanel",style:{}},ho={class:"panel logsPanel"},_o={class:"rightBar"},vo={class:"panel bindingsPanel"},Oo=io(()=>Object(o["g"])("div",{id:"myStyleEditorContainer"},null,-1)),jo={class:"panel propertiesPanel"},wo={class:"panel chartPropertiesPanel"};var xo={__name:"Main",setup(e){const t=Object(o["x"])(null),a=Object(o["x"])(null),n=Object(o["x"])(null),l=Object(o["x"])(null),r=Object(o["x"])(null),s=Object(o["x"])(null),i=Object(o["x"])(null),c=Object(o["x"])(null);let d=null,p=Object(o["x"])(null);window.appData=p;const m="0.1.6";function g(e){}function y(e){let a=JSON.parse(e.data);a.message&&0==a.message.indexOf("base64:")&&(a.message=atob(a.message.replace("base64:",""))),t&&t.value&&t.value.addLog({appid:a.appid,timestamp:a.timestamp,source:"server",level:a.type,message:a.message+": "+a.status})}const f=Object(o["b"])(()=>{let e="Properties";return c&&c.value?c.value.attributes.name&&(e+=" - "+c.value.attributes.name):e+=" (nothing selected)",e});function h(e){console.log("onSocketClose",e),_.restart(5)}const _=window.statusMonitor=new so(g,h,y),v=D();let O=v.apibase,j=v.appid,w=v.CHANNEL__,x="dark";"light"==v.theme&&(x="light"),window.apibase=O,window.appid=j,window.channel=w,setTheme(x),console.log("Setting API connection: apibase, appid, channel: ",O,j,w);let k=[];if(O||k.push("apibase"),j||k.push("appid"),w||k.push("channel"),k.length>0){let e="Missing URL params: "+k.join(", ");throw alert(e),new Error(e)}function C(e){n.value.setHandleBlocks(e)}function S(){window.location.reload()}function B(){const e=editor.getCss(),t=editor.getHtml({cleanId:!0}),a=new DOMParser,o=a.parseFromString(t,"text/html"),n=o.body.querySelector("#gbTemplateContainer")||null;we.decodeAttributesInDOM(n);const l=n.innerHTML;let r={indent_size:4,indent_char:" ",max_preserve_newlines:5,preserve_newlines:!0,keep_array_indentation:!1,break_chained_methods:!1,indent_scripts:"normal",brace_style:"collapse",space_before_conditional:!0,unescape_strings:!1,jslint_happy:!1,end_with_newline:!1,wrap_line_length:0,indent_inner_html:!1,comma_first:!1,e4x:!1,indent_empty_lines:!1,inline_custom_elements:!1};const s=html_beautify(l,r);let i=d.view,c=encodeURIComponent(i),p=`${O}apps/${j}/save?path=${c}`;u["a"].post(p,{payload:s}).then(t=>{let a=`${O}apps/${j}/save?path=public/css/autogenerated.css`;u["a"].post(a,{payload:e}).then(e=>{}).catch(e=>{console.log("ERROR saving css file response: ",e)})}).catch(e=>{console.log("ERROR saving template file response: ",e)})}function D(){const e=new URLSearchParams(window.location.search),t={};for(const[a,o]of e.entries())t[a]=o;return t}function I(e){i.value.onBindingOvered(e);let t=document.querySelector(".gjs-frame");if(e.binding){let a={target:"main-controller",payload:{command:"reportElementsUsingBinding",bindingName:e.binding.name}};t.contentWindow.postMessage(a,"*")}else i.value.updateElementsPositions([])}function N(e){window.selectedComponent=c.value=e,r.value&&r.value.setSelectedComponent(e),s.value&&s.value.setSelectedComponent(e)}function P(e){s.value&&s.value.assignNewDataSource(e)}function T(e){p.value=e}function M(e){if(null==d)return!1;let t=d.model.fields,a=t.map(e=>e.name);return a.indexOf(e)>-1||""==e}function q(e){const t={"{Function}":"Function","{Bool}":"Boolean","{String}":"String","{Char}":"String","{Date}":"Date","{Number}":"Number","{Int64}":"Number","{Int32}":"Number","{Int16}":"Number","{Int8}":"Number","{Float64}":"Number","{Float32}":"Number","{Float16}":"Number","{Float8}":"Number","{Vector}":"Array","{Vector{Bool}}":"Array","{Vector{String}}":"Array","{Vector{Char}}":"Array","{Vector{Number}}":"Array","{Vector{Int64}}":"Array","{Vector{Int32}}":"Array","{Vector{Int16}}":"Array","{Vector{Int8}}":"Array","{Object}":"Object","{NamedTuple{(:min, :max), Tuple{Int64, Int64}}}":"Object","{Dict}":"Object","{RangeData{Int64}}":"Number","{Vector{PlotlyBase.GenericTrace{Dict{Symbol, Any}}}}":"PlotlyBase.GenericTrace","{PlotlyBase.Layout{Dict{Symbol, Any}}}":"PlotlyBase.Layout","{DataTable{DataFrames.DataFrame}}":"DataTable.DataFrames.DataFrame","{DataFrames.DataFrame}":"DataFrames.DataFrame","{PlotlyData}":"PlotlyData","{DataTablePagination}":"DataTablePagination"};e.forEach(e=>{e.model.fields=e.model.fields.filter(e=>e.isreactive),e.model.fields.forEach(e=>{let a=e.type,o=a.replace("Reactive",""),n=t[o];n&&(e.type=n)}),e.model.fields=b["a"].sortBy(e.model.fields,e=>e.name.toLowerCase())})}function Q(){window.canvasPanel=a,document.addEventListener("scroll",e=>{let t=i.value;null!=t&&t.updateIframePosition()}),window.addEventListener("message",e=>{if("nocode-builder"!==e.data.target)return;let t=i.value;null!=t&&t.updateElementsPositions(e.data.payload)},!1),O&&j&&(u["a"].get(O+"apps").then(e=>{let t=e.data.applications.find(e=>e.id.value.toString()==j),o=t;null!=t&&u["a"].get(O+"apps/"+j+"/pages").then(e=>{q(e.data.pages),o.pages=e.data.pages,T(o),setTimeout(()=>{d=e.data.pages[0];let t=O+"apps/"+j+"/edit?path="+encodeURIComponent(d.view);a.value.loadTemplate(t)},1e3)}).catch(e=>{console.log("error",e)})}).catch(e=>{console.log("error",e)}),_.connect())}return ke.channel=w,window.valueIsModelField=M,Object(o["s"])(()=>{Q()}),(e,d)=>{const u=Object(o["A"])("vscode-button");return Object(o["C"])(p)?(Object(o["t"])(),Object(o["f"])("div",co,[Object(o["g"])("div",po,[uo,Object(o["g"])("div",bo,[Object(o["g"])("div",mo," v "+Object(o["B"])(Object(o["C"])(m)),1),Object(o["g"])("div",null,[Object(o["i"])(u,{onClick:S,style:{"margin-right":"10px"}},{default:Object(o["J"])(()=>[Object(o["h"])("Refresh")]),_:1}),Object(o["i"])(u,{onClick:B},{default:Object(o["J"])(()=>[Object(o["h"])("Save")]),_:1})])])]),Object(o["g"])("div",go,[Object(o["g"])("div",yo,[Object(o["g"])("div",fo,[Object(o["i"])(A,{hideTitle:!0,title:"Builder",style:{height:"100%",display:"flex","flex-direction":"column"}},{default:Object(o["J"])(()=>[Object(o["i"])(Me,{ref_key:"canvasPanel",ref:a,onComponentSelected:N,onBindingDroppedOnComponent:P,appData:Object(o["C"])(p)},null,8,["appData"])]),_:1})]),Object(o["g"])("div",ho,[Object(o["i"])(A,{title:"Logs"},{default:Object(o["J"])(()=>[Object(o["i"])(Za,{ref_key:"logsPanel",ref:t,appData:Object(o["C"])(p)},null,8,["appData"])]),_:1})])]),Object(o["g"])("div",_o,[Object(o["g"])("div",vo,[Object(o["i"])(A,{title:"Library & Bindings"},{default:Object(o["J"])(()=>[Object(o["i"])(L,{mode:"light"},{default:Object(o["J"])(()=>[Object(o["i"])($,{title:"UI Library",active:"true"},{default:Object(o["J"])(()=>[Object(o["i"])(Ve,{ref_key:"libraryPanel",ref:l,onBlockCustomTriggered:C},null,512)]),_:1}),Object(o["i"])($,{title:"Styles"},{default:Object(o["J"])(()=>[Oo]),_:1}),Object(o["i"])($,{title:"Bindings"},{default:Object(o["J"])(()=>[Object(o["i"])(ae,{ref_key:"bindingsPanel",ref:n,appData:Object(o["C"])(p),onBindingOvered:I},null,8,["appData"])]),_:1})]),_:1})]),_:1})]),Object(o["g"])("div",jo,[Object(o["i"])(A,{title:f.value},{default:Object(o["J"])(()=>[Object(o["i"])(Ft,{ref_key:"propertiesPanel",ref:r,appData:Object(o["C"])(p),selectedComponent:c.value},null,8,["appData","selectedComponent"])]),_:1},8,["title"])]),Object(o["g"])("div",wo,[Object(o["i"])(A,{title:"Chart Properties"},{default:Object(o["J"])(()=>[Object(o["i"])(Da,{ref_key:"chartPropertiesPanel",ref:s,appData:Object(o["C"])(p),selectedComponent:c.value},null,8,["appData","selectedComponent"])]),_:1})])])]),Object(o["i"])(ro,{ref_key:"bindingConnectorsManager",ref:i,appData:Object(o["C"])(p)},null,8,["appData"])])):Object(o["e"])("",!0)}}};a("b201");const ko=x()(xo,[["__scopeId","data-v-222d0dd8"]]);var Co=ko;window.uikit=l,window.provideVSCodeDesignSystem=r["a"],Object(r["a"])().register(Object(s["c"])(),Object(i["c"])(),Object(c["b"])(),Object(d["b"])(),Object(p["b"])());var So={name:"App",components:{Main:Co}};a("9b64");const Bo=x()(So,[["render",n]]);var Do=Bo,Io=a("5502"),Ao=Object(Io["a"])({state:{},mutations:{},actions:{},modules:{}}),No=a("b05d"),Po=(a("0ca9"),a("7d6e"),a("e54f"),a("a4b7"),a("05bc"),a("0d0e"),a("573e"),{config:{},plugins:{}});window.canvasComponents={},window.addCanvasComponent=function(e,t){window.canvasComponents[e]=t},window.removeCanvasComponent=function(e){delete window.canvasComponents[e]},window.setTheme=function(e){document.querySelector("body").setAttribute("style",""),"dark"===e?document.documentElement.setAttribute("data-theme","dark"):document.documentElement.setAttribute("data-theme","light")},window.addEventListener("message",e=>{"removeCanvasComponent"===e.data.command?window.removeCanvasComponent(e.data.uid):"updateTheme"===e.data.command&&window.setTheme(e.data.themeType)},!1),Object(o["c"])(Do).use(No["a"],Po).use(Ao).mount("#app")},"56dd":function(e,t,a){"use strict";a("9c33")},"60e6":function(e){e.exports=JSON.parse('[{"label":"Separator","draggable":true,"editable":false,"description":"The QSeparator component is used to separate sections of text, other components, etc... It creates a colored line across the width of the parent. It can be horizontal or vertical.\\n\\n\\n","tagName":"Q-SEPARATOR","content":"","droppable":false,"properties":[{"label":"Data Binding","name":"v-model","options":[],"type":"select"},{"label":"dark","name":"dark","enabled":true,"type":"Boolean","desc":"Notify the component that the background is a dark color","category":"style"},{"label":"spaced","name":"spaced","examples":["12px","sm","md"],"enabled":true,"type":["Boolean","String"],"desc":"If set to true, the corresponding direction margins will be set to 8px; It can also be set to a size in CSS units, including unit name, or one of the xs|sm|md|lg|xl predefined sizes","category":"content"},{"label":"inset","name":"inset","enabled":true,"type":["Boolean","String"],"desc":"If set to Boolean true, the left and right margins will be set to 16px. If set to \'item\' then it will match a QItem\'s design. If set to \'item-thumbnail\' then it will match the design of a QItem with a thumbnail on the left side","category":"content"},{"label":"vertical","name":"vertical","enabled":true,"type":"Boolean","desc":"If set to true, the separator will be vertical.","category":"content"},{"label":"size","name":"size","examples":["16px","2rem"],"enabled":true,"type":"String","desc":"Size in CSS units, including unit name","category":"style"},{"label":"color","name":"color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for component from the Quasar Color Palette","category":"style"}],"category":"Content","enabled":false,"media":"images/icons/components/ui_components/separator.png","type":"q-separator"},{"label":"Space","draggable":true,"editable":false,"description":"The purpose of QSpace (has no props) is to simply fill all available space inside of a flexbox DOM element.\\n\\nAs a sidenote, all Stipple components use flexbox. So what this means, for example (there are numerous examples, just mentioning one), is that you can use QSpace in a QToolbar.\\n","tagName":"Q-SPACE","content":"","droppable":false,"properties":[{"label":"Data Binding","name":"v-model","options":[],"type":"select"}],"category":"Content","enabled":false,"media":"images/icons/components/ui_components/space.png","type":"q-space"},{"label":"Toolbar","draggable":true,"editable":false,"description":"QToolbar is a component usually part of Layout Header and Footer, but it can be used anywhere on the page.\\n\\n\\n\\n","tagName":"Q-TOOLBAR","content":"","droppable":false,"properties":[{"label":"Data Binding","name":"v-model","options":[],"type":"select"},{"label":"inset","name":"inset","enabled":true,"type":"Boolean","desc":"Apply an inset to content (useful for subsequent toolbars)","category":"content"}],"category":"Content","enabled":false,"media":"images/icons/components/ui_components/toolbar.png","type":"q-toolbar"},{"label":"Text","draggable":true,"editable":false,"description":"","tagName":"Q-INPUT","content":"","droppable":false,"properties":[{"label":"Data Binding","name":"v-model","options":[],"type":"select"},{"label":"name","name":"name","examples":["car_id","car_id"],"enabled":true,"type":"String","desc":"Used to specify the name of the control; Useful if dealing with forms; If not specified, it takes the value of \'for\' prop, if it exists","category":"behavior"},{"label":"mask","name":"mask","examples":["###-##","date","datetime","time","fulltime","phone","card"],"enabled":true,"type":"String","desc":"Custom mask or one of the predefined mask names","category":"behavior"},{"label":"fill-mask","name":"fill-mask","examples":["true","\'0\'","\'_\'"],"enabled":true,"type":["Boolean","String"],"desc":"Fills string with specified characters (or underscore if value is not string) to fill mask\'s length","category":"behavior"},{"label":"reverse-fill-mask","name":"reverse-fill-mask","enabled":true,"type":"Boolean","desc":"Fills string from the right side of the mask","category":"behavior"},{"label":"unmasked-value","name":"unmasked-value","enabled":true,"type":"Boolean","desc":"Model will be unmasked (won\'t contain tokens/separation characters)","category":"behavior"},{"label":"model-value","name":"model-value","examples":["v-model=\\"myText\\""],"enabled":true,"type":["String","Number","null","undefined"],"desc":"Model of the component; Either use this property (along with a listener for \'update:modelValue\' event) OR use v-model directive","category":"model"},{"label":"error","name":"error","enabled":true,"type":"Boolean","desc":"Does field have validation errors?","category":"behavior"},{"label":"error-message","name":"error-message","examples":["Username must have at least 5 characters"],"enabled":true,"type":"String","desc":"Validation error message (gets displayed only if \'error\' is set to \'true\')","category":"content"},{"label":"no-error-icon","name":"no-error-icon","enabled":true,"type":"Boolean","desc":"Hide error icon when there is an error","category":"content"},{"label":"rules","name":"rules","examples":[":rules=\\"[ val => val.length <= 3 || \'Please use maximum 3 characters\' ]\\"",":rules=\\"[ \'fulltime\' ]\\"",":rules=\\"[ (val, rules) => rules.email(val) || \'Please enter a valid email address\' ]\\""],"enabled":true,"type":"Array","desc":"Array of Functions/Strings; If String, then it must be a name of one of the embedded validation rules","category":"behavior"},{"label":"reactive-rules","name":"reactive-rules","enabled":true,"type":"Boolean","desc":"By default a change in the rules does not trigger a new validation until the model changes; If set to true then a change in the rules will trigger a validation; Has a performance penalty, so use it only when you really need it","category":"behavior"},{"label":"lazy-rules","name":"lazy-rules","enabled":true,"type":["Boolean","String"],"desc":"If set to boolean true then it checks validation status against the \'rules\' only after field loses focus for first time; If set to \'ondemand\' then it will trigger only when component\'s validate() method is manually called or when the wrapper QForm submits itself","category":"behavior"},{"label":"label","name":"label","examples":["Username"],"enabled":true,"type":"String","desc":"A text label that will “float” up above the input field, once the field gets focus","category":"content"},{"label":"stack-label","name":"stack-label","enabled":true,"type":"Boolean","desc":"Label will be always shown above the field regardless of field content (if any)","category":"content"},{"label":"hint","name":"hint","examples":["Fill in between 3 and 12 characters"],"enabled":true,"type":"String","desc":"Helper (hint) text which gets placed below your wrapped form component","category":"content"},{"label":"hide-hint","name":"hide-hint","enabled":true,"type":"Boolean","desc":"Hide the helper (hint) text when field doesn\'t have focus","category":"content"},{"label":"prefix","name":"prefix","examples":["$"],"enabled":true,"type":"String","desc":"Prefix","category":"content"},{"label":"suffix","name":"suffix","examples":["@gmail.com"],"enabled":true,"type":"String","desc":"Suffix","category":"content"},{"label":"label-color","name":"label-color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for the label from the Quasar Color Palette; Overrides the \'color\' prop; The difference from \'color\' prop is that the label will always have this color, even when field is not focused","category":"style"},{"label":"color","name":"color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for component from the Quasar Color Palette","category":"style"},{"label":"bg-color","name":"bg-color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for component from the Quasar Color Palette","category":"style"},{"label":"dark","name":"dark","enabled":true,"type":"Boolean","desc":"Notify the component that the background is a dark color","category":"style"},{"label":"loading","name":"loading","enabled":true,"type":"Boolean","desc":"Signals the user a process is in progress by displaying a spinner; Spinner can be customized by using the \'loading\' slot.","category":"behavior|content"},{"label":"clearable","name":"clearable","enabled":true,"type":"Boolean","desc":"Appends clearable icon when a value (not undefined or null) is set; When clicked, model becomes null","category":"behavior|content"},{"label":"clear-icon","name":"clear-icon","options":"${supportedIcons}","examples":["close"],"uitype":"enum_icons","enabled":true,"type":"String","desc":"Custom icon to use for the clear button when using along with \'clearable\' prop","category":"content"},{"label":"filled","name":"filled","enabled":true,"type":"Boolean","desc":"Use \'filled\' design for the field","category":"style"},{"label":"outlined","name":"outlined","enabled":true,"type":"Boolean","desc":"Use \'outlined\' design for the field","category":"style"},{"label":"borderless","name":"borderless","enabled":true,"type":"Boolean","desc":"Use \'borderless\' design for the field","category":"style"},{"label":"standout","name":"standout","examples":["standout","standout=\\"bg-primary text-white\\""],"enabled":true,"type":["Boolean","String"],"desc":"Use \'standout\' design for the field; Specifies classes to be applied when focused (overriding default ones)","category":"style"},{"label":"label-slot","name":"label-slot","enabled":true,"type":"Boolean","desc":"Enables label slot; You need to set it to force use of the \'label\' slot if the \'label\' prop is not set","category":"content"},{"label":"bottom-slots","name":"bottom-slots","enabled":true,"type":"Boolean","desc":"Enables bottom slots (\'error\', \'hint\', \'counter\')","category":"content"},{"label":"hide-bottom-space","name":"hide-bottom-space","enabled":true,"type":"Boolean","desc":"Do not reserve space for hint/error/counter anymore when these are not used; As a result, it also disables the animation for those; It also allows the hint/error area to stretch vertically based on its content","category":"style"},{"label":"counter","name":"counter","enabled":true,"type":"Boolean","desc":"Show an automatic counter on bottom right","category":"content"},{"label":"rounded","name":"rounded","enabled":true,"type":"Boolean","desc":"Applies a small standard border-radius for a squared shape of the component","category":"style"},{"label":"square","name":"square","enabled":true,"type":"Boolean","desc":"Remove border-radius so borders are squared; Overrides \'rounded\' prop","category":"style"},{"label":"dense","name":"dense","enabled":true,"type":"Boolean","desc":"Dense mode; occupies less space","category":"style"},{"label":"item-aligned","name":"item-aligned","enabled":true,"type":"Boolean","desc":"Match inner content alignment to that of QItem","category":"style"},{"label":"disable","name":"disable","enabled":true,"type":"Boolean","desc":"Put component in disabled mode","category":"state"},{"label":"readonly","name":"readonly","enabled":true,"type":"Boolean","desc":"Put component in readonly mode","category":"state"},{"label":"autofocus","name":"autofocus","enabled":true,"type":"Boolean","desc":"Focus field on initial component render","category":"behavior"},{"label":"for","name":"for","examples":["myFieldsId"],"enabled":true,"type":"String","desc":"Used to specify the \'id\' of the control and also the \'for\' attribute of the label that wraps it; If no \'name\' prop is specified, then it is used for this attribute as well","category":"behavior"},{"label":"shadow-text","name":"shadow-text","examples":["rest of the fill value"],"enabled":true,"type":"String","desc":"Text to be displayed as shadow at the end of the text in the control; Does NOT applies to type=file","category":"content"},{"label":"type","name":"type","enabled":true,"type":"String","desc":"Input type","category":"general"},{"label":"debounce","name":"debounce","enabled":true,"type":["String","Number"],"desc":"Debounce amount (in milliseconds) when updating model","category":"model"},{"label":"maxlength","name":"maxlength","enabled":true,"type":["String","Number"],"desc":"Specify a max length of model","category":"model"},{"label":"autogrow","name":"autogrow","enabled":true,"type":"Boolean","desc":"Make field autogrow along with its content (uses a textarea)","category":"content"},{"label":"input-class","name":"input-class","examples":["my-special-class",":input-class=\\"{ \'my-special-class\': }\\""],"enabled":true,"type":["String","Array","Object"],"desc":"Class definitions to be attributed to the underlying input tag","category":"style"},{"label":"input-style","name":"input-style","examples":["background-color: #ff0000",":input-style=\\"{ backgroundColor: \'#ff0000\' }\\""],"enabled":true,"type":["String","Array","Object"],"desc":"Style definitions to be attributed to the underlying input tag","category":"style"}],"category":"Forms","enabled":true,"media":"images/icons/components/ui_components/input_text_field.png","type":"q-input"},{"label":"Button","draggable":true,"editable":false,"description":"Stipple has a component called QBtn which is a button with a few extra useful features. For instance, it comes in two shapes: rectangle (default) and round. It also has the material ripple effect baked in (which can be disabled).\\n\\nThe button component also comes with a spinner or loading effect. You would use this for times when app execution may cause a delay and you want to give the user some feedback about that delay. When used, the button will display a spinning animation as soon as the user clicks the button.\\n\\nWhen not disabled or spinning, QBtn emits a `@click` event, as soon as it is clicked or tapped.\\n\\n\\n","tagName":"Q-BTN","content":"","droppable":false,"properties":[{"label":"Data Binding","name":"v-model","options":[],"type":"select"},{"label":"size","name":"size","examples":["16px","2rem","xs","md"],"enabled":true,"type":"String","desc":"Size in CSS units, including unit name or standard size name (xs|sm|md|lg|xl)","category":"style"},{"label":"type","name":"type","examples":["a","submit","button","reset","image/png","href=\\"https://quasar.dev\\" target=\\"_blank\\""],"enabled":true,"type":"String","desc":"1) Define the button native type attribute (submit, reset, button) or 2) render component with
tag so you can access events even if disable or 3) Use \'href\' prop and specify \'type\' as a media tag","category":"general"},{"label":"to","name":"to","examples":["/home/dashboard",":to=\\"{ name: \'my-route-name\' }\\""],"enabled":true,"type":["String","Object"],"desc":"Equivalent to Vue Router \'to\' property; Superseded by \'href\' prop if used","category":"navigation"},{"label":"replace","name":"replace","enabled":true,"type":"Boolean","desc":"Equivalent to Vue Router \'replace\' property; Superseded by \'href\' prop if used","category":"navigation"},{"label":"href","name":"href","examples":["https://quasar.dev","href=\\"https://quasar.dev\\" target=\\"_blank\\""],"enabled":true,"type":"String","desc":"Native link href attribute; Has priority over the \'to\' and \'replace\' props","category":"navigation"},{"label":"target","name":"target","examples":["_blank","_self","_parent","_top"],"enabled":true,"type":"String","desc":"Native link target attribute; Use it only with \'to\' or \'href\' props","category":"navigation"},{"label":"label","name":"label","examples":["Button Label"],"enabled":true,"type":["String","Number"],"desc":"The text that will be shown on the button","category":"content"},{"label":"icon","name":"icon","options":"${supportedIcons}","examples":["map","ion-add","img:https://cdn.quasar.dev/logo-v2/svg/logo.svg","img:path/to/some_image.png"],"uitype":"enum_icons","enabled":true,"suggested":true,"type":"String","desc":"Icon name following Quasar convention; Make sure you have the icon library installed unless you are using \'img:\' prefix; If \'none\' (String) is used as value then no icon is rendered (but screen real estate will still be used for it)","category":"content"},{"label":"icon-right","name":"icon-right","options":"${supportedIcons}","examples":["map","ion-add","img:https://cdn.quasar.dev/logo-v2/svg/logo.svg","img:path/to/some_image.png"],"uitype":"enum_icons","enabled":true,"type":"String","desc":"Icon name following Quasar convention; Make sure you have the icon library installed unless you are using \'img:\' prefix; If \'none\' (String) is used as value then no icon is rendered (but screen real estate will still be used for it)","category":"content"},{"label":"outline","name":"outline","enabled":true,"type":"Boolean","desc":"Use \'outline\' design","category":"style"},{"label":"flat","name":"flat","enabled":true,"type":"Boolean","desc":"Use \'flat\' design","category":"style"},{"label":"unelevated","name":"unelevated","enabled":true,"type":"Boolean","desc":"Remove shadow","category":"style"},{"label":"rounded","name":"rounded","enabled":true,"type":"Boolean","desc":"Applies a more prominent border-radius for a squared shape button","category":"style"},{"label":"push","name":"push","enabled":true,"type":"Boolean","desc":"Use \'push\' design","category":"style"},{"label":"square","name":"square","enabled":true,"type":"Boolean","desc":"Removes border-radius so borders are squared","category":"style"},{"label":"glossy","name":"glossy","enabled":true,"type":"Boolean","desc":"Applies a glossy effect","category":"style"},{"label":"fab","name":"fab","enabled":true,"type":"Boolean","desc":"Makes button size and shape to fit a Floating Action Button","category":"style"},{"label":"fab-mini","name":"fab-mini","enabled":true,"type":"Boolean","desc":"Makes button size and shape to fit a small Floating Action Button","category":"style"},{"label":"padding","name":"padding","examples":["16px","10px 5px","2rem","xs","md lg","2px 2px 5px 7px"],"enabled":true,"type":"String","desc":"Apply custom padding (vertical [horizontal]); Size in CSS units, including unit name or standard size name (none|xs|sm|md|lg|xl); Also removes the min width and height when set","category":"style"},{"label":"color","name":"color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"suggested":true,"type":"String","desc":"Color name for component from the Quasar Color Palette","category":"style"},{"label":"text-color","name":"text-color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Overrides text color (if needed); Color name from the Quasar Color Palette","category":"style"},{"label":"no-caps","name":"no-caps","enabled":true,"type":"Boolean","desc":"Avoid turning label text into caps (which happens by default)","category":"content"},{"label":"no-wrap","name":"no-wrap","enabled":true,"type":"Boolean","desc":"Avoid label text wrapping","category":"content"},{"label":"dense","name":"dense","enabled":true,"type":"Boolean","desc":"Dense mode; occupies less space","category":"style"},{"label":"ripple","name":"ripple","examples":[false,"{ early: true, center: true, color: \'teal\', keyCodes: [] }"],"enabled":true,"type":["Boolean","Object"],"desc":"Configure material ripple (disable it by setting it to \'false\' or supply a config object)","category":"style"},{"label":"tabindex","name":"tabindex","examples":["0","100"],"enabled":true,"type":["Number","String"],"desc":"Tabindex HTML attribute value","category":"general"},{"label":"align","name":"align","enabled":true,"type":"String","desc":"Label or content alignment","category":"content"},{"label":"stack","name":"stack","enabled":true,"type":"Boolean","desc":"Stack icon and label vertically instead of on same line (like it is by default)","category":"content"},{"label":"stretch","name":"stretch","enabled":true,"type":"Boolean","desc":"When used on flexbox parent, button will stretch to parent\'s height","category":"content"},{"label":"loading","name":"loading","enabled":true,"type":"Boolean","desc":"Put button into loading state (displays a QSpinner -- can be overridden by using a \'loading\' slot)","category":"behavior|state"},{"label":"disable","name":"disable","enabled":true,"type":"Boolean","desc":"Put component in disabled mode","category":"state"},{"label":"round","name":"round","enabled":true,"type":"Boolean","desc":"Makes a circle shaped button","category":"style"},{"label":"percentage","name":"percentage","enabled":true,"type":"Number","desc":"Percentage (0.0 < x < 100.0); To be used along \'loading\' prop; Display a progress bar on the background","category":"behavior"},{"label":"dark-percentage","name":"dark-percentage","enabled":true,"type":"Boolean","desc":"Progress bar on the background should have dark color; To be used along with \'percentage\' and \'loading\' props","category":"behavior"}],"category":"Forms","enabled":true,"media":"images/icons/components/ui_components/button.png","type":"q-btn"},{"label":"Radio","draggable":true,"editable":false,"description":"The QRadio component is another basic element for user input. You can use this to supply a way for the user to pick an option from multiple choices.\\n\\n\\n\\n","tagName":"Q-RADIO","content":"","droppable":false,"properties":[{"label":"Data Binding","name":"v-model","options":[],"type":"select"},{"label":"name","name":"name","examples":["car_id"],"enabled":true,"type":"String","desc":"Used to specify the name of the control; Useful if dealing with forms submitted directly to a URL","category":"behavior"},{"label":"size","name":"size","examples":["16px","2rem","xs","md"],"enabled":true,"type":"String","desc":"Size in CSS units, including unit name or standard size name (xs|sm|md|lg|xl)","category":"style"},{"label":"model-value","name":"model-value","examples":["v-model=\\"option\\""],"enabled":true,"type":["String","Number","null","undefined"],"desc":"Model of the component; Either use this property (along with a listener for \'update:model-value\' event) OR use v-model directive","category":"model"},{"label":"val","name":"val","examples":["opt1",50],"enabled":true,"type":["String","Number","null","undefined"],"desc":"The actual value of the option with which model value is changed","category":"model"},{"label":"label","name":"label","examples":["label=\\"Option 1\\""],"enabled":true,"type":"String","desc":"Label to display along the radio control (or use the default slot instead of this prop)","category":"label"},{"label":"left-label","name":"left-label","enabled":true,"type":"Boolean","desc":"Label (if any specified) should be displayed on the left side of the checkbox","category":"label"},{"label":"checked-icon","name":"checked-icon","options":"${supportedIcons}","examples":["visibility"],"uitype":"enum_icons","enabled":true,"type":"String","desc":"The icon to be used when selected (instead of the default design)","category":"icons"},{"label":"unchecked-icon","name":"unchecked-icon","options":"${supportedIcons}","examples":["visibility_off"],"uitype":"enum_icons","enabled":true,"type":"String","desc":"The icon to be used when un-selected (instead of the default design)","category":"icons"},{"label":"color","name":"color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"suggested":true,"type":"String","desc":"Color name for component from the Quasar Color Palette","category":"style"},{"label":"keep-color","name":"keep-color","enabled":true,"type":"Boolean","desc":"Should the color (if specified any) be kept when checkbox is unticked?","category":"behavior"},{"label":"dark","name":"dark","enabled":true,"type":"Boolean","desc":"Notify the component that the background is a dark color","category":"style"},{"label":"dense","name":"dense","enabled":true,"type":"Boolean","desc":"Dense mode; occupies less space","category":"style"},{"label":"disable","name":"disable","enabled":true,"type":"Boolean","desc":"Put component in disabled mode","category":"state"},{"label":"tabindex","name":"tabindex","examples":["0","100"],"enabled":true,"type":["Number","String"],"desc":"Tabindex HTML attribute value","category":"general"}],"category":"Forms","enabled":true,"media":"images/icons/components/ui_components/radio.png","type":"q-radio"},{"label":"Checkbox","draggable":true,"editable":false,"description":"The QCheckbox component is another basic element for user input. You can use this to supply a way for the user to toggle an option.\\n\\n\\n\\n\\n","tagName":"Q-CHECKBOX","content":"","droppable":false,"properties":[{"label":"Data Binding","name":"v-model","options":[],"type":"select"},{"label":"name","name":"name","examples":["car_id"],"enabled":true,"type":"String","desc":"Used to specify the name of the control; Useful if dealing with forms submitted directly to a URL","category":"behavior"},{"label":"size","name":"size","examples":["16px","2rem","xs","md"],"enabled":true,"type":"String","desc":"Size in CSS units, including unit name or standard size name (xs|sm|md|lg|xl)","category":"style"},{"label":"model-value","name":"model-value","examples":["false","[\'car\', \'building\']"],"enabled":true,"type":["Boolean","Any","Array"],"desc":"Model of the component; Either use this property (along with a listener for \'update:model-value\' event) OR use v-model directive","category":"model"},{"label":"val","name":"val","examples":["car"],"enabled":true,"type":"Any","desc":"Works when model (\'value\') is Array. It tells the component which value should add/remove when ticked/unticked","category":"model"},{"label":"true-value","name":"true-value","examples":["Agreed"],"enabled":true,"type":"Any","desc":"What model value should be considered as checked/ticked/on?","category":"model"},{"label":"false-value","name":"false-value","examples":["Disagree"],"enabled":true,"type":"Any","desc":"What model value should be considered as unchecked/unticked/off?","category":"model"},{"label":"indeterminate-value","name":"indeterminate-value","examples":[0,"not_answered"],"enabled":true,"type":"Any","desc":"What model value should be considered as \'indeterminate\'?","category":"behavior"},{"label":"toggle-order","name":"toggle-order","enabled":true,"type":"String","desc":"Determines toggle order of the two states (\'t\' stands for state of true, \'f\' for state of false); If \'toggle-indeterminate\' is true, then the order is: indet -> first state -> second state -> indet (and repeat), otherwise: indet -> first state -> second state -> first state -> second state -> ...","category":"behavior"},{"label":"toggle-indeterminate","name":"toggle-indeterminate","enabled":true,"type":"Boolean","desc":"When user clicks/taps on the component, should we toggle through the indeterminate state too?","category":"behavior"},{"label":"label","name":"label","examples":["I agree with the Terms and Conditions"],"enabled":true,"suggested":true,"type":"String","desc":"Label to display along the component (or use the default slot instead of this prop)","category":"label"},{"label":"left-label","name":"left-label","enabled":true,"type":"Boolean","desc":"Label (if any specified) should be displayed on the left side of the component","category":"label"},{"label":"checked-icon","name":"checked-icon","options":"${supportedIcons}","examples":["visibility"],"uitype":"enum_icons","enabled":true,"type":"String","desc":"The icon to be used when the model is truthy (instead of the default design)","category":"icons"},{"label":"unchecked-icon","name":"unchecked-icon","options":"${supportedIcons}","examples":["visibility_off"],"uitype":"enum_icons","enabled":true,"type":"String","desc":"The icon to be used when the toggle is falsy (instead of the default design)","category":"icons"},{"label":"indeterminate-icon","name":"indeterminate-icon","options":"${supportedIcons}","examples":["help"],"uitype":"enum_icons","enabled":true,"type":"String","desc":"The icon to be used when the model is indeterminate (instead of the default design)","category":"icons"},{"label":"color","name":"color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for component from the Quasar Color Palette","category":"style"},{"label":"keep-color","name":"keep-color","enabled":true,"type":"Boolean","desc":"Should the color (if specified any) be kept when the component is unticked/ off?","category":"behavior"},{"label":"dark","name":"dark","enabled":true,"type":"Boolean","desc":"Notify the component that the background is a dark color","category":"style"},{"label":"dense","name":"dense","enabled":true,"suggested":true,"type":"Boolean","desc":"Dense mode; occupies less space","category":"style"},{"label":"disable","name":"disable","enabled":true,"type":"Boolean","desc":"Put component in disabled mode","category":"state"},{"label":"tabindex","name":"tabindex","examples":["0","100"],"enabled":true,"type":["Number","String"],"desc":"Tabindex HTML attribute value","category":"general"}],"category":"Forms","enabled":true,"media":"images/icons/components/ui_components/checkbox.png","type":"q-checkbox"},{"label":"Toggle","draggable":true,"editable":false,"description":"The QToggle component is another basic element for user input. You can use this for turning settings, features or true/false inputs on and off.\\n\\n\\n\\n","tagName":"Q-TOGGLE","content":"","droppable":false,"properties":[{"label":"Data Binding","name":"v-model","options":[],"type":"select"},{"label":"name","name":"name","examples":["car_id"],"enabled":true,"type":"String","desc":"Used to specify the name of the control; Useful if dealing with forms submitted directly to a URL","category":"behavior"},{"label":"size","name":"size","examples":["16px","2rem","xs","md"],"enabled":true,"type":"String","desc":"Size in CSS units, including unit name or standard size name (xs|sm|md|lg|xl)","category":"style"},{"label":"model-value","name":"model-value","examples":["false","[\'car\', \'building\']"],"enabled":true,"type":["Boolean","Any","Array"],"desc":"Model of the component; Either use this property (along with a listener for \'update:model-value\' event) OR use v-model directive","category":"model"},{"label":"val","name":"val","examples":["car"],"enabled":true,"type":"Any","desc":"Works when model (\'value\') is Array. It tells the component which value should add/remove when ticked/unticked","category":"model"},{"label":"true-value","name":"true-value","examples":["Agreed"],"enabled":true,"type":"Any","desc":"What model value should be considered as checked/ticked/on?","category":"model"},{"label":"false-value","name":"false-value","examples":["Disagree"],"enabled":true,"type":"Any","desc":"What model value should be considered as unchecked/unticked/off?","category":"model"},{"label":"indeterminate-value","name":"indeterminate-value","examples":[0,"not_answered"],"enabled":true,"type":"Any","desc":"What model value should be considered as \'indeterminate\'?","category":"behavior"},{"label":"toggle-order","name":"toggle-order","enabled":true,"type":"String","desc":"Determines toggle order of the two states (\'t\' stands for state of true, \'f\' for state of false); If \'toggle-indeterminate\' is true, then the order is: indet -> first state -> second state -> indet (and repeat), otherwise: indet -> first state -> second state -> first state -> second state -> ...","category":"behavior"},{"label":"toggle-indeterminate","name":"toggle-indeterminate","enabled":true,"type":"Boolean","desc":"When user clicks/taps on the component, should we toggle through the indeterminate state too?","category":"behavior"},{"label":"label","name":"label","examples":["I agree with the Terms and Conditions"],"enabled":true,"suggested":"Toggle","type":"String","desc":"Label to display along the component (or use the default slot instead of this prop)","category":"label"},{"label":"left-label","name":"left-label","enabled":true,"type":"Boolean","desc":"Label (if any specified) should be displayed on the left side of the component","category":"label"},{"label":"checked-icon","name":"checked-icon","options":"${supportedIcons}","examples":["visibility"],"uitype":"enum_icons","enabled":true,"type":"String","desc":"The icon to be used when the toggle is on","category":"icons"},{"label":"unchecked-icon","name":"unchecked-icon","options":"${supportedIcons}","examples":["visibility_off"],"uitype":"enum_icons","enabled":true,"type":"String","desc":"The icon to be used when the toggle is off","category":"icons"},{"label":"indeterminate-icon","name":"indeterminate-icon","options":"${supportedIcons}","examples":["help"],"uitype":"enum_icons","enabled":true,"type":"String","desc":"The icon to be used when the model is indeterminate","category":"icons"},{"label":"color","name":"color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for component from the Quasar Color Palette","category":"style"},{"label":"keep-color","name":"keep-color","enabled":true,"type":"Boolean","desc":"Should the color (if specified any) be kept when the component is unticked/ off?","category":"behavior"},{"label":"dark","name":"dark","enabled":true,"type":"Boolean","desc":"Notify the component that the background is a dark color","category":"style"},{"label":"dense","name":"dense","enabled":true,"type":"Boolean","desc":"Dense mode; occupies less space","category":"style"},{"label":"disable","name":"disable","enabled":true,"type":"Boolean","desc":"Put component in disabled mode","category":"state"},{"label":"tabindex","name":"tabindex","examples":["0","100"],"enabled":true,"type":["Number","String"],"desc":"Tabindex HTML attribute value","category":"general"},{"label":"icon","name":"icon","options":"${supportedIcons}","examples":["map","ion-add","img:https://cdn.quasar.dev/logo-v2/svg/logo.svg","img:path/to/some_image.png"],"uitype":"enum_icons","enabled":true,"type":"String","desc":"Icon name following Quasar convention; Make sure you have the icon library installed unless you are using \'img:\' prefix; If \'none\' (String) is used as value then no icon is rendered (but screen real estate will still be used for it)","category":"content"},{"label":"icon-color","name":"icon-color","options":"${supportedIcons}","examples":["primary","teal","teal-10"],"uitype":"enum_icons","enabled":true,"type":"String","desc":"Override default icon color (for truthy state only); Color name for component from the Quasar Color Palette","category":"style"}],"category":"Widgets","enabled":true,"media":"images/icons/components/ui_components/toggle.png","type":"q-toggle"},{"label":"Slider","draggable":true,"editable":false,"description":"The QSlider is a great way for the user to specify a number value between a minimum and maximum value, with optional steps between valid values. The slider also has a focus indicator (highlighted slider button), which allows for keyboard adjustments of the slider.\\n\\nAlso check its “sibling”, the [QRange](/vue-components/range) component.\\n\\n\\n","tagName":"Q-SLIDER","content":"","droppable":false,"properties":[{"label":"Data Binding","name":"v-model","options":[],"type":"select"},{"label":"name","name":"name","examples":["car_id"],"enabled":true,"type":"String","desc":"Used to specify the name of the control; Useful if dealing with forms submitted directly to a URL","category":"behavior"},{"label":"min","name":"min","examples":[":min=\\"0\\""],"enabled":true,"type":"Number","desc":"Minimum value of the model; Set track\'s minimum value","category":"model"},{"label":"max","name":"max","enabled":true,"type":"Number","desc":"Maximum value of the model; Set track\'s maximum value","category":"model"},{"label":"inner-min","name":"inner-min","enabled":true,"type":"Number","desc":"Inner minimum value of the model; Use in case you need the model value to be inside of the track\'s min-max values; Needs to be higher or equal to \'min\' prop; Defaults to \'min\' prop","category":"model"},{"label":"inner-max","name":"inner-max","enabled":true,"type":"Number","desc":"Inner maximum value of the model; Use in case you need the model value to be inside of the track\'s min-max values; Needs to be lower or equal to \'max\' prop; Defaults to \'max\' prop","category":"model"},{"label":"step","name":"step","enabled":true,"type":"Number","desc":"Specify step amount between valid values (> 0.0); When step equals to 0 it defines infinite granularity","category":"model"},{"label":"snap","name":"snap","enabled":true,"type":"Boolean","desc":"Snap on valid values, rather than sliding freely; Suggestion: use with \'step\' prop","category":"behavior"},{"label":"reverse","name":"reverse","enabled":true,"type":"Boolean","desc":"Work in reverse (changes direction)","category":"behavior"},{"label":"vertical","name":"vertical","enabled":true,"type":"Boolean","desc":"Display in vertical direction","category":"behavior"},{"label":"color","name":"color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for component from the Quasar Color Palette","category":"style"},{"label":"track-color","name":"track-color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for the track (can be \'transparent\' too) from the Quasar Color Palette","category":"style"},{"label":"track-img","name":"track-img","examples":["~assets/my-pattern.png"],"enabled":true,"type":"String","desc":"Apply a pattern image on the track","category":"style"},{"label":"inner-track-color","name":"inner-track-color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for the inner track (can be \'transparent\' too) from the Quasar Color Palette","category":"style"},{"label":"inner-track-img","name":"inner-track-img","examples":["~assets/my-pattern.png"],"enabled":true,"type":"String","desc":"Apply a pattern image on the inner track","category":"style"},{"label":"selection-color","name":"selection-color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for the selection bar (can be \'transparent\' too) from the Quasar Color Palette","category":"style"},{"label":"selection-img","name":"selection-img","examples":["~assets/my-pattern.png"],"enabled":true,"type":"String","desc":"Apply a pattern image on the selection bar","category":"style"},{"label":"label","name":"label","enabled":true,"type":"Boolean","desc":"Popup a label when user clicks/taps on the slider thumb and moves it","category":"content"},{"label":"label-color","name":"label-color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for component from the Quasar Color Palette","category":"style"},{"label":"label-text-color","name":"label-text-color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for component from the Quasar Color Palette","category":"style"},{"label":"switch-label-side","name":"switch-label-side","enabled":true,"type":"Boolean","desc":"Switch the position of the label (top <-> bottom or left <-> right)","category":"style"},{"label":"label-always","name":"label-always","enabled":true,"type":"Boolean","desc":"Always display the label","category":"behavior|content"},{"label":"markers","name":"markers","examples":["markers",":markers=\\"5\\""],"enabled":true,"type":["Boolean","Number"],"desc":"Display markers on the track, one for each possible value for the model or using a custom step (when specifying a Number)","category":"content"},{"label":"marker-labels","name":"marker-labels","examples":[true,"[ { value: 0, label: \'0%\' }, { value: 5, classes: \'my-class\', style: { width: \'24px\' } } ]","{ 0: \'0%\', 5: { label: \'5%\', classes: \'my-class\', style: { width: \'24px\' } } }","val => (10 * val) + \'%\'","val => ({ label: (10 * val) + \'%\', classes: \'my-class\', style: { width: \'24px\' } })"],"enabled":true,"type":["Boolean","Array","Object","Function"],"desc":"Configure the marker labels (or show the default ones if \'true\'); Array of definition Objects or Object with key-value where key is the model and the value is the marker label definition","category":"content"},{"label":"marker-labels-class","name":"marker-labels-class","examples":["text-orange"],"enabled":true,"type":"String","desc":"CSS class(es) to apply to the marker labels container","category":"style"},{"label":"switch-marker-labels-side","name":"switch-marker-labels-side","enabled":true,"type":"Boolean","desc":"Switch the position of the marker labels (top <-> bottom or left <-> right)","category":"style"},{"label":"track-size","name":"track-size","examples":["35px"],"enabled":true,"type":"String","desc":"Track size (including CSS unit)","category":"style"},{"label":"thumb-size","name":"thumb-size","examples":["20px"],"enabled":true,"type":"String","desc":"Thumb size (including CSS unit)","category":"style"},{"label":"thumb-color","name":"thumb-color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for component from the Quasar Color Palette","category":"style"},{"label":"thumb-path","name":"thumb-path","examples":["M5 5 h10 v10 h-10 v-10"],"enabled":true,"type":"String","desc":"Set custom thumb svg path","category":"style"},{"label":"dark","name":"dark","enabled":true,"type":"Boolean","desc":"Notify the component that the background is a dark color","category":"style"},{"label":"dense","name":"dense","enabled":true,"type":"Boolean","desc":"Dense mode; occupies less space","category":"style"},{"label":"disable","name":"disable","enabled":true,"type":"Boolean","desc":"Put component in disabled mode","category":"state"},{"label":"readonly","name":"readonly","enabled":true,"type":"Boolean","desc":"Put component in readonly mode","category":"state"},{"label":"tabindex","name":"tabindex","examples":["0","100"],"enabled":true,"type":["Number","String"],"desc":"Tabindex HTML attribute value","category":"general"},{"label":"model-value","name":"model-value","examples":["v-model=\\"positionModel\\""],"enabled":true,"type":["Number","null","undefined"],"desc":"Model of the component (must be between min/max); Either use this property (along with a listener for \'update:modelValue\' event) OR use v-model directive","category":"model"},{"label":"label-value","name":"label-value","examples":[":label-value=\\"model + \'px\'\\""],"enabled":true,"type":["String","Number"],"desc":"Override default label value","category":"content"}],"category":"Forms","enabled":true,"media":"images/icons/components/ui_components/slider.png","type":"q-slider"},{"label":"Range","draggable":true,"editable":false,"description":"The QRange component is a great way to offer the user the selection of a sub-range of values between a minimum and maximum value, with optional steps to select those values. An example use case for the Range component would be to offer a price range selection.\\n\\nAlso check out its “sibling”, the [QSlider](/vue-components/slider) component.\\n\\n\\n","tagName":"Q-RANGE","content":"","droppable":false,"properties":[{"label":"Data Binding","name":"v-model","options":[],"type":"select"},{"label":"name","name":"name","examples":["car_id"],"enabled":true,"type":"String","desc":"Used to specify the name of the control; Useful if dealing with forms submitted directly to a URL","category":"behavior"},{"label":"min","name":"min","examples":[":min=\\"0\\""],"enabled":true,"type":"Number","desc":"Minimum value of the model; Set track\'s minimum value","category":"model"},{"label":"max","name":"max","enabled":true,"type":"Number","desc":"Maximum value of the model; Set track\'s maximum value","category":"model"},{"label":"inner-min","name":"inner-min","enabled":true,"type":"Number","desc":"Inner minimum value of the model; Use in case you need the model value to be inside of the track\'s min-max values; Needs to be higher or equal to \'min\' prop; Defaults to \'min\' prop","category":"model"},{"label":"inner-max","name":"inner-max","enabled":true,"type":"Number","desc":"Inner maximum value of the model; Use in case you need the model value to be inside of the track\'s min-max values; Needs to be lower or equal to \'max\' prop; Defaults to \'max\' prop","category":"model"},{"label":"step","name":"step","enabled":true,"type":"Number","desc":"Specify step amount between valid values (> 0.0); When step equals to 0 it defines infinite granularity","category":"model"},{"label":"snap","name":"snap","enabled":true,"type":"Boolean","desc":"Snap on valid values, rather than sliding freely; Suggestion: use with \'step\' prop","category":"behavior"},{"label":"reverse","name":"reverse","enabled":true,"type":"Boolean","desc":"Work in reverse (changes direction)","category":"behavior"},{"label":"vertical","name":"vertical","enabled":true,"type":"Boolean","desc":"Display in vertical direction","category":"behavior"},{"label":"color","name":"color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for component from the Quasar Color Palette","category":"style"},{"label":"track-color","name":"track-color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for the track (can be \'transparent\' too) from the Quasar Color Palette","category":"style"},{"label":"track-img","name":"track-img","examples":["~assets/my-pattern.png"],"enabled":true,"type":"String","desc":"Apply a pattern image on the track","category":"style"},{"label":"inner-track-color","name":"inner-track-color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for the inner track (can be \'transparent\' too) from the Quasar Color Palette","category":"style"},{"label":"inner-track-img","name":"inner-track-img","examples":["~assets/my-pattern.png"],"enabled":true,"type":"String","desc":"Apply a pattern image on the inner track","category":"style"},{"label":"selection-color","name":"selection-color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for the selection bar (can be \'transparent\' too) from the Quasar Color Palette","category":"style"},{"label":"selection-img","name":"selection-img","examples":["~assets/my-pattern.png"],"enabled":true,"type":"String","desc":"Apply a pattern image on the selection bar","category":"style"},{"label":"label","name":"label","enabled":true,"type":"Boolean","desc":"Popup a label when user clicks/taps on the slider thumb and moves it","category":"content"},{"label":"label-color","name":"label-color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for component from the Quasar Color Palette","category":"style"},{"label":"label-text-color","name":"label-text-color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for component from the Quasar Color Palette","category":"style"},{"label":"switch-label-side","name":"switch-label-side","enabled":true,"type":"Boolean","desc":"Switch the position of the label (top <-> bottom or left <-> right)","category":"style"},{"label":"label-always","name":"label-always","enabled":true,"type":"Boolean","desc":"Always display the label","category":"behavior|content"},{"label":"markers","name":"markers","examples":["markers",":markers=\\"5\\""],"enabled":true,"type":["Boolean","Number"],"desc":"Display markers on the track, one for each possible value for the model or using a custom step (when specifying a Number)","category":"content"},{"label":"marker-labels","name":"marker-labels","examples":[true,"[ { value: 0, label: \'0%\' }, { value: 5, classes: \'my-class\', style: { width: \'24px\' } } ]","{ 0: \'0%\', 5: { label: \'5%\', classes: \'my-class\', style: { width: \'24px\' } } }","val => (10 * val) + \'%\'","val => ({ label: (10 * val) + \'%\', classes: \'my-class\', style: { width: \'24px\' } })"],"enabled":true,"type":["Boolean","Array","Object","Function"],"desc":"Configure the marker labels (or show the default ones if \'true\'); Array of definition Objects or Object with key-value where key is the model and the value is the marker label definition","category":"content"},{"label":"marker-labels-class","name":"marker-labels-class","examples":["text-orange"],"enabled":true,"type":"String","desc":"CSS class(es) to apply to the marker labels container","category":"style"},{"label":"switch-marker-labels-side","name":"switch-marker-labels-side","enabled":true,"type":"Boolean","desc":"Switch the position of the marker labels (top <-> bottom or left <-> right)","category":"style"},{"label":"track-size","name":"track-size","examples":["35px"],"enabled":true,"type":"String","desc":"Track size (including CSS unit)","category":"style"},{"label":"thumb-size","name":"thumb-size","examples":["20px"],"enabled":true,"type":"String","desc":"Thumb size (including CSS unit)","category":"style"},{"label":"thumb-color","name":"thumb-color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for component from the Quasar Color Palette","category":"style"},{"label":"thumb-path","name":"thumb-path","examples":["M5 5 h10 v10 h-10 v-10"],"enabled":true,"type":"String","desc":"Set custom thumb svg path","category":"style"},{"label":"dark","name":"dark","enabled":true,"type":"Boolean","desc":"Notify the component that the background is a dark color","category":"style"},{"label":"dense","name":"dense","enabled":true,"type":"Boolean","desc":"Dense mode; occupies less space","category":"style"},{"label":"disable","name":"disable","enabled":true,"type":"Boolean","desc":"Put component in disabled mode","category":"state"},{"label":"readonly","name":"readonly","enabled":true,"type":"Boolean","desc":"Put component in readonly mode","category":"state"},{"label":"tabindex","name":"tabindex","examples":["0","100"],"enabled":true,"type":["Number","String"],"desc":"Tabindex HTML attribute value","category":"general"},{"label":"model-value","name":"model-value","examples":["v-model=\\"positionModel\\""],"enabled":true,"type":["Object","null","undefined"],"desc":"Model of the component of type { min, max } (both values must be between global min/max); Either use this property (along with a listener for \'update:modelValue\' event) OR use v-model directive","category":"model"},{"label":"drag-range","name":"drag-range","enabled":true,"type":"Boolean","desc":"User can drag range instead of just the two thumbs","category":"content"},{"label":"drag-only-range","name":"drag-only-range","enabled":true,"type":"Boolean","desc":"User can drag only the range instead and NOT the two thumbs","category":"content"},{"label":"left-label-color","name":"left-label-color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for left label background from the Quasar Color Palette","category":"labels"},{"label":"left-label-text-color","name":"left-label-text-color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for left label text from the Quasar Color Palette","category":"labels"},{"label":"right-label-color","name":"right-label-color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for right label background from the Quasar Color Palette","category":"labels"},{"label":"right-label-text-color","name":"right-label-text-color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for right label text from the Quasar Color Palette","category":"labels"},{"label":"left-label-value","name":"left-label-value","examples":[":left-label-value=\\"model.min + \'px\'\\""],"enabled":true,"type":["String","Number"],"desc":"Override default label for min value","category":"labels"},{"label":"right-label-value","name":"right-label-value","examples":[":right-label-value=\\"model.max + \'px\'\\""],"enabled":true,"type":["String","Number"],"desc":"Override default label for max value","category":"labels"},{"label":"left-thumb-color","name":"left-thumb-color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name (from the Quasar Color Palette) for left thumb","category":"labels"},{"label":"right-thumb-color","name":"right-thumb-color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name (from the Quasar Color Palette) for right thumb","category":"labels"}],"category":"Forms","enabled":true,"media":"images/icons/components/ui_components/range.png","type":"q-range"},{"label":"Date Picker","draggable":true,"editable":false,"description":"The QDate component provides a method to input date. Currently it supports Gregorian (default) and Persian calendars.\\n\\n\\n\\n","tagName":"Q-DATE","content":"","droppable":false,"properties":[{"label":"Data Binding","name":"v-model","options":[],"type":"select"},{"label":"name","name":"name","examples":["car_id"],"enabled":true,"type":"String","desc":"Used to specify the name of the control; Useful if dealing with forms submitted directly to a URL","category":"behavior"},{"label":"landscape","name":"landscape","enabled":true,"type":"Boolean","desc":"Display the component in landscape mode","category":"behavior"},{"label":"mask","name":"mask","examples":["YYYY-MM-DD","MMMM Do, YYYY","YYYY-MM-DD HH:mm:ss"],"enabled":true,"type":"String","desc":"Mask (formatting string) used for parsing and formatting value","category":"model"},{"label":"locale","name":"locale","examples":[":locale=\\"{ monthsShort: [\'Ian\', \'Feb\', \'Mar\', \'...\'] }\\""],"enabled":true,"type":"Object","desc":"Locale formatting options","category":"model"},{"label":"calendar","name":"calendar","enabled":true,"type":"String","desc":"Specify calendar type","category":"model"},{"label":"color","name":"color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for component from the Quasar Color Palette","category":"style"},{"label":"text-color","name":"text-color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Overrides text color (if needed); Color name from the Quasar Color Palette","category":"style"},{"label":"dark","name":"dark","enabled":true,"type":"Boolean","desc":"Notify the component that the background is a dark color","category":"style"},{"label":"square","name":"square","enabled":true,"type":"Boolean","desc":"Removes border-radius so borders are squared","category":"style"},{"label":"flat","name":"flat","enabled":true,"type":"Boolean","desc":"Applies a \'flat\' design (no default shadow)","category":"style"},{"label":"bordered","name":"bordered","enabled":true,"type":"Boolean","desc":"Applies a default border to the component","category":"style"},{"label":"readonly","name":"readonly","enabled":true,"type":"Boolean","desc":"Put component in readonly mode","category":"state"},{"label":"disable","name":"disable","enabled":true,"type":"Boolean","desc":"Put component in disabled mode","category":"state"},{"label":"model-value","name":"model-value","examples":["v-model=\\"myDate\\"","v-model=\\"[myDate1, myDate2]\\"","v-model=\\"[{ from: myDateFrom, to: myDateTo }]\\"","v-model=\\"[myDate1, { from: myDateFrom, to: myDateTo }, myDate2]\\""],"enabled":true,"type":["String","Array","Object","null","undefined"],"desc":"Date(s) of the component; Must be Array if using \'multiple\' prop; Either use this property (along with a listener for \'update:model-value\' event) OR use v-model directive","category":"model"},{"label":"title","name":"title","examples":["Birthday"],"enabled":true,"type":"String","desc":"When specified, it overrides the default header title; Makes sense when not in \'minimal\' mode","category":"content"},{"label":"subtitle","name":"subtitle","examples":["John Doe"],"enabled":true,"type":"String","desc":"When specified, it overrides the default header subtitle; Makes sense when not in \'minimal\' mode","category":"content"},{"label":"default-year-month","name":"default-year-month","examples":["1986/02"],"enabled":true,"type":"String","desc":"The default year and month to display (in YYYY/MM format) when model is unfilled (undefined or null); Please ensure it is within the navigation min/max year-month (if using them)","category":"model"},{"label":"default-view","name":"default-view","enabled":true,"type":"String","desc":"The view which will be displayed by default","category":"model"},{"label":"years-in-month-view","name":"years-in-month-view","enabled":true,"type":"Boolean","desc":"Show the years selector in months view","category":"behavior"},{"label":"events","name":"events","examples":[":events=\\"[\'2018/11/05\', \'2018/11/06\', \'2018/11/09\', \'2018/11/23\']\\"",":events=\\"date => date[9] % 3 === 0\\""],"enabled":true,"type":["Array","Function"],"desc":"A list of events to highlight on the calendar; If using a function, it receives the date as a String and must return a Boolean (matches or not); If using a function then for best performance, reference it from your scope and do not define it inline","category":"model"},{"label":"event-color","name":"event-color","examples":["teal-10",":event-color=\\"(date) => date[9] % 2 === 0 ? \'teal\' : \'orange\'\\""],"enabled":true,"type":["String","Function"],"desc":"Color name (from the Quasar Color Palette); If using a function, it receives the date as a String and must return a String (color for the received date); If using a function then for best performance, reference it from your scope and do not define it inline","category":"style"},{"label":"options","name":"options","examples":[":options=\\"[\'2018/11/05\', \'2018/11/12\', \'2018/11/19\', \'2018/11/26\' ]\\"",":options=\\"date => date[9] % 3 === 0\\"",":options=\\"date => date >= \'2018/11/03\' && date <= \'2018/11/15\'\\""],"enabled":true,"type":["Array","Function"],"desc":"Optionally configure the days that are selectable; If using a function, it receives the date as a String and must return a Boolean (is date acceptable or not); If using a function then for best performance, reference it from your scope and do not define it inline; Incompatible with \'range\' prop","category":"model"},{"label":"navigation-min-year-month","name":"navigation-min-year-month","examples":["2020/07"],"enabled":true,"type":"String","desc":"Lock user from navigating below a specific year+month (in YYYY/MM format); This prop is not used to correct the model; You might want to also use \'default-year-month\' prop","category":"selection"},{"label":"navigation-max-year-month","name":"navigation-max-year-month","examples":["2020/10"],"enabled":true,"type":"String","desc":"Lock user from navigating above a specific year+month (in YYYY/MM format); This prop is not used to correct the model; You might want to also use \'default-year-month\' prop","category":"selection"},{"label":"no-unset","name":"no-unset","enabled":true,"type":"Boolean","desc":"Remove ability to unselect a date; It does not apply to selecting a range over already selected dates","category":"selection"},{"label":"first-day-of-week","name":"first-day-of-week","examples":["first-day-of-week=\\"1\\"",":first-day-of-week=\\"selectedFirstDayOfTheWeek\\""],"enabled":true,"type":["String","Number"],"desc":"Sets the day of the week that is considered the first day (0 - Sunday, 1 - Monday, ...); This day will show in the left-most column of the calendar","category":"model"},{"label":"today-btn","name":"today-btn","enabled":true,"type":"Boolean","desc":"Display a button that selects the current day","category":"content"},{"label":"minimal","name":"minimal","enabled":true,"type":"Boolean","desc":"Don’t display the header","category":"content"},{"label":"multiple","name":"multiple","enabled":true,"type":"Boolean","desc":"Allow multiple selection; Model must be Array","category":"model|selection"},{"label":"range","name":"range","enabled":true,"type":"Boolean","desc":"Allow range selection; Partial compatibility with \'options\' prop: selected ranges might also include \'unselectable\' days","category":"model|selection"},{"label":"emit-immediately","name":"emit-immediately","enabled":true,"type":"Boolean","desc":"Emit model when user browses month and year too; ONLY for single selection (non-multiple, non-range)","category":"model"}],"category":"Forms","enabled":true,"media":"images/icons/components/ui_components/date_picker.png","type":"q-date"},{"label":"List","draggable":true,"editable":false,"description":"The QList and QItem are a group of components which can work together to present multiple line items vertically as a single continuous element. They are best suited for displaying similar data types as rows of information, such as a contact list, a playlist or menu. Each row is called an Item. QItem can also be used outside of a QList too.\\n\\nLists can encapsulate Items or Item-like components, for example [QExpansionItem](/vue-components/expansion-item) or [QSlideItem](/vue-components/slide-item). Also [QSeparator](/vue-components/separator) can be used to split up sections, where needed.\\n\\nList Items have the following pre-built child components:\\n\\n* **QItemSection** - An item section can have several uses for particular content. They are controlled via the `avatar`, `thumbnail` and `side` props. With no props, it will render the main section of your QItem (which spans to the fullest of available space).\\n* **QItemLabel** - An item label is useful for predefined text content type within a QItemSection, or for header-like content of the QList itself.\\n\\n\\n\\n\\n\\n","tagName":"Q-LIST","content":"","droppable":false,"properties":[{"label":"Data Binding","name":"v-model","options":[],"type":"select"},{"label":"bordered","name":"bordered","enabled":true,"type":"Boolean","desc":"Applies a default border to the component","category":"style"},{"label":"dense","name":"dense","enabled":true,"type":"Boolean","desc":"Dense mode; occupies less space","category":"style"},{"label":"separator","name":"separator","enabled":true,"type":"Boolean","desc":"Applies a separator between contained items","category":"content"},{"label":"dark","name":"dark","enabled":true,"type":"Boolean","desc":"Notify the component that the background is a dark color","category":"style"},{"label":"padding","name":"padding","enabled":true,"type":"Boolean","desc":"Applies a material design-like padding on top and bottom","category":"content"},{"label":"tag","name":"tag","examples":["div","span","div","ul","ol"],"enabled":true,"type":"String","desc":"HTML tag to use","category":"content"}],"category":"Lists","enabled":false,"media":"images/icons/components/ui_components/list.png","type":"q-list"},{"label":"Item","draggable":true,"editable":false,"description":"","tagName":"Q-ITEM","content":"","droppable":false,"properties":[{"label":"Data Binding","name":"v-model","options":[],"type":"select"},{"label":"to","name":"to","examples":["/home/dashboard",":to=\\"{ name: \'my-route-name\' }\\""],"enabled":true,"type":["String","Object"],"desc":"Equivalent to Vue Router \'to\' property; Superseded by \'href\' prop if used","category":"navigation"},{"label":"exact","name":"exact","enabled":true,"type":"Boolean","desc":"Equivalent to Vue Router \'exact\' property; Superseded by \'href\' prop if used","category":"navigation"},{"label":"replace","name":"replace","enabled":true,"type":"Boolean","desc":"Equivalent to Vue Router \'replace\' property; Superseded by \'href\' prop if used","category":"navigation"},{"label":"active-class","name":"active-class","examples":["my-active-class"],"enabled":true,"type":"String","desc":"Equivalent to Vue Router \'active-class\' property; Superseded by \'href\' prop if used","category":"navigation"},{"label":"exact-active-class","name":"exact-active-class","examples":["my-exact-active-class"],"enabled":true,"type":"String","desc":"Equivalent to Vue Router \'active-class\' property; Superseded by \'href\' prop if used","category":"navigation"},{"label":"href","name":"href","examples":["https://quasar.dev"],"enabled":true,"type":"String","desc":"Native link href attribute; Has priority over the \'to\'/\'exact\'/\'replace\'/\'active-class\'/\'exact-active-class\' props","category":"navigation"},{"label":"target","name":"target","examples":["_blank","_self","_parent","_top"],"enabled":true,"type":"String","desc":"Native link target attribute; Use it only along with \'href\' prop; Has priority over the \'to\'/\'exact\'/\'replace\'/\'active-class\'/\'exact-active-class\' props","category":"navigation"},{"label":"disable","name":"disable","enabled":true,"type":"Boolean","desc":"Put component in disabled mode","category":"state"},{"label":"active","name":"active","enabled":true,"type":"Boolean","desc":"Put item into \'active\' state","category":"state"},{"label":"dark","name":"dark","enabled":true,"type":"Boolean","desc":"Notify the component that the background is a dark color","category":"style"},{"label":"clickable","name":"clickable","enabled":true,"type":"Boolean","desc":"Is QItem clickable? If it\'s the case, then it will add hover effects and emit \'click\' events","category":"state"},{"label":"dense","name":"dense","enabled":true,"type":"Boolean","desc":"Dense mode; occupies less space","category":"style"},{"label":"inset-level","name":"inset-level","examples":[":inset-level=\\"1\\""],"enabled":true,"type":"Number","desc":"Apply an inset; Useful when avatar/left side is missing but you want to align content with other items that do have a left side, or when you\'re building a menu","category":"content"},{"label":"tabindex","name":"tabindex","examples":["0","100"],"enabled":true,"type":["Number","String"],"desc":"Tabindex HTML attribute value","category":"general"},{"label":"tag","name":"tag","examples":["div","span","a","label","div"],"enabled":true,"type":"String","desc":"HTML tag to render; Suggestion: use \'label\' when encapsulating a QCheckbox/QRadio/QToggle so that when user clicks/taps on the whole item it will trigger a model change for the mentioned components","category":"content"},{"label":"manual-focus","name":"manual-focus","enabled":true,"type":"Boolean","desc":"Put item into a manual focus state; Enables \'focused\' prop which will determine if item is focused or not, rather than relying on native hover/focus states","category":"state"},{"label":"focused","name":"focused","enabled":true,"type":"Boolean","desc":"Determines focus state, ONLY if \'manual-focus\' is enabled / set to true","category":"state"}],"category":"Lists","enabled":false,"media":"images/icons/components/ui_components/item.png","type":"q-item"},{"label":"Item Label","draggable":true,"editable":false,"description":"","tagName":"Q-ITEM-LABEL","content":"","droppable":false,"properties":[{"label":"Data Binding","name":"v-model","options":[],"type":"select"},{"label":"overline","name":"overline","enabled":true,"type":"Boolean","desc":"Renders an overline label","category":"content"},{"label":"caption","name":"caption","enabled":true,"type":"Boolean","desc":"Renders a caption label","category":"content"},{"label":"header","name":"header","enabled":true,"type":"Boolean","desc":"Renders a header label","category":"content"},{"label":"lines","name":"lines","enabled":true,"type":["Number","String"],"desc":"Apply ellipsis when there\'s not enough space to render on the specified number of lines;","category":"content|behavior"}],"category":"Lists","enabled":false,"media":"images/icons/components/ui_components/item.png","type":"q-item-label"},{"label":"Video","draggable":true,"editable":false,"description":"Using the QVideo component makes embedding a video like Youtube easy. It also resizes to fit the container by default.\\n\\n\\n\\n","tagName":"Q-VIDEO","content":"","droppable":false,"properties":[{"label":"Data Binding","name":"v-model","options":[],"type":"select"},{"label":"ratio","name":"ratio","examples":[":ratio=\\"4/3\\"",":ratio=\\"16/9\\"","ratio=\\"1\\""],"enabled":true,"type":["String","Number"],"desc":"Aspect ratio for the content; If value is a String, then avoid using a computational statement (like \'16/9\') and instead specify the String value of the result directly (eg. \'1.7777\')","category":"style"},{"label":"src","name":"src","examples":["https://www.youtube.com/embed/k3_tw44QsZQ"],"enabled":true,"type":"String","desc":"The source url to display in an iframe","category":"model"},{"label":"title","name":"title","examples":["My Daily Marathon"],"enabled":true,"type":"String","desc":"(Accessibility) Set the native \'title\' attribute value of the inner iframe being used","category":"accessibility"},{"label":"fetchpriority","name":"fetchpriority","enabled":true,"type":"String","desc":"Provides a hint of the relative priority to use when fetching the iframe document","category":"behavior"},{"label":"loading","name":"loading","enabled":true,"type":"String","desc":"Indicates how the browser should load the iframe","category":"behavior"},{"label":"referrerpolicy","name":"referrerpolicy","enabled":true,"type":"String","desc":"Indicates which referrer to send when fetching the frame\'s resource","category":"behavior"}],"category":"Multimedia","enabled":true,"media":"images/icons/components/ui_components/video.png","type":"q-video"},{"label":"Avatar","draggable":true,"editable":false,"description":"The QAvatar component creates a scalable, color-able element that can have text, icon or image within its shape. By default it is circular, but it can also be square or have a border-radius applied to give rounded corners to the square shape.\\n\\nIt is often used with other components in their slots.\\n\\n\\n","tagName":"Q-AVATAR","content":"","droppable":false,"properties":[{"label":"Data Binding","name":"v-model","options":[],"type":"select"},{"label":"size","name":"size","examples":["16px","2rem","xs","md"],"enabled":true,"type":"String","desc":"Size in CSS units, including unit name or standard size name (xs|sm|md|lg|xl)","category":"style"},{"label":"font-size","name":"font-size","examples":["18px","2rem"],"enabled":true,"type":"String","desc":"The size in CSS units, including unit name, of the content (icon, text)","category":"style"},{"label":"color","name":"color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for component from the Quasar Color Palette","category":"style"},{"label":"text-color","name":"text-color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Overrides text color (if needed); Color name from the Quasar Color Palette","category":"style"},{"label":"icon","name":"icon","options":"${supportedIcons}","examples":["map","ion-add","img:https://cdn.quasar.dev/logo-v2/svg/logo.svg","img:path/to/some_image.png"],"uitype":"enum_icons","enabled":true,"type":"String","desc":"Icon name following Quasar convention; Make sure you have the icon library installed unless you are using \'img:\' prefix; If \'none\' (String) is used as value then no icon is rendered (but screen real estate will still be used for it)","category":"content"},{"label":"square","name":"square","enabled":true,"type":"Boolean","desc":"Removes border-radius so borders are squared","category":"style"},{"label":"rounded","name":"rounded","enabled":true,"type":"Boolean","desc":"Applies a small standard border-radius for a squared shape of the component","category":"style"}],"category":"Other","enabled":true,"media":"images/icons/components/ui_components/avatar.png","type":"q-avatar"},{"label":"Badge","draggable":true,"editable":false,"description":"The QBadge component allows you to create a small badge for adding information like contextual data that needs to stand out and get noticed. It is also often useful in combination with other elements like a user avatar to show a number of new messages.\\n\\n\\n","tagName":"Q-BADGE","content":"","droppable":false,"properties":[{"label":"Data Binding","name":"v-model","options":[],"type":"select"},{"label":"color","name":"color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for component from the Quasar Color Palette","category":"style"},{"label":"text-color","name":"text-color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Overrides text color (if needed); Color name from the Quasar Color Palette","category":"style"},{"label":"floating","name":"floating","enabled":true,"type":"Boolean","desc":"Tell QBadge if it should float to the top right side of the relative positioned parent element or not","category":"content"},{"label":"transparent","name":"transparent","enabled":true,"type":"Boolean","desc":"Applies a 0.8 opacity; Useful especially for floating QBadge","category":"style"},{"label":"multi-line","name":"multi-line","enabled":true,"type":"Boolean","desc":"Content can wrap to multiple lines","category":"content"},{"label":"label","name":"label","examples":["John Doe",22],"enabled":true,"type":["String","Number"],"desc":"Badge\'s content as string; overrides default slot if specified","category":"content"},{"label":"align","name":"align","enabled":true,"type":"String","desc":"Sets vertical-align CSS prop","category":"content"},{"label":"outline","name":"outline","enabled":true,"type":"Boolean","desc":"Use \'outline\' design (colored text and borders only)","category":"style"},{"label":"rounded","name":"rounded","enabled":true,"type":"Boolean","desc":"Makes a rounded shaped badge","category":"style"}],"category":"Other","enabled":true,"media":"images/icons/components/ui_components/badge.png","type":"q-badge"},{"label":"Banner","draggable":true,"editable":false,"description":"The QBanner component creates a banner element to display a prominent message and related optional actions.\\n\\nAccording to the Material Design spec, the banner should be \\"displayed at the top of the screen, below a top app bar\\" - but of course you can put one anywhere that makes sense, even in a QDialog.\\n\\n\\n","tagName":"Q-BANNER","content":"","droppable":false,"properties":[{"label":"Data Binding","name":"v-model","options":[],"type":"select"},{"label":"inline-actions","name":"inline-actions","enabled":true,"type":"Boolean","desc":"Display actions on same row as content","category":"content"},{"label":"dense","name":"dense","enabled":true,"type":"Boolean","desc":"Dense mode; occupies less space","category":"style"},{"label":"rounded","name":"rounded","enabled":true,"type":"Boolean","desc":"Applies a small standard border-radius for a squared shape of the component","category":"style"},{"label":"dark","name":"dark","enabled":true,"type":"Boolean","desc":"Notify the component that the background is a dark color","category":"style"}],"category":"Widgets","enabled":false,"media":"images/icons/components/ui_components/banner.png","type":"q-banner"},{"label":"Chip","draggable":true,"editable":false,"description":"The QChip component is basically a simple UI block entity, representing for example more advanced underlying data, such as a contact, in a compact way.\\n\\nChips can contain entities such as an avatar, text or an icon, optionally having a pointer too. They can also be closed or removed if configured so.\\n\\n\\n\\n\\n","tagName":"Q-CHIP","content":"","droppable":false,"properties":[{"label":"Data Binding","name":"v-model","options":[],"type":"select"},{"label":"dense","name":"dense","enabled":true,"type":"Boolean","desc":"Dense mode; occupies less space","category":"style"},{"label":"size","name":"size","examples":["xs","sm","md","lg","xl","25px","2rem"],"enabled":true,"type":"String","desc":"QChip size name or a CSS unit including unit name","category":"style"},{"label":"dark","name":"dark","enabled":true,"type":"Boolean","desc":"Notify the component that the background is a dark color","category":"style"},{"label":"icon","name":"icon","options":"${supportedIcons}","examples":["map","ion-add","img:https://cdn.quasar.dev/logo-v2/svg/logo.svg","img:path/to/some_image.png"],"uitype":"enum_icons","enabled":true,"type":"String","desc":"Icon name following Quasar convention; Make sure you have the icon library installed unless you are using \'img:\' prefix; If \'none\' (String) is used as value then no icon is rendered (but screen real estate will still be used for it)","category":"content"},{"label":"icon-right","name":"icon-right","options":"${supportedIcons}","examples":["map","ion-add","img:https://cdn.quasar.dev/logo-v2/svg/logo.svg","img:path/to/some_image.png"],"uitype":"enum_icons","enabled":true,"type":"String","desc":"Icon name following Quasar convention; Make sure you have the icon library installed unless you are using \'img:\' prefix; If \'none\' (String) is used as value then no icon is rendered (but screen real estate will still be used for it)","category":"content"},{"label":"icon-remove","name":"icon-remove","options":"${supportedIcons}","examples":["map","ion-add","img:https://cdn.quasar.dev/logo-v2/svg/logo.svg","img:path/to/some_image.png"],"uitype":"enum_icons","enabled":true,"type":"String","desc":"Icon name following Quasar convention; Make sure you have the icon library installed unless you are using \'img:\' prefix; If \'none\' (String) is used as value then no icon is rendered (but screen real estate will still be used for it)","category":"content"},{"label":"icon-selected","name":"icon-selected","options":"${supportedIcons}","examples":["map","ion-add","img:https://cdn.quasar.dev/logo-v2/svg/logo.svg","img:path/to/some_image.png"],"uitype":"enum_icons","enabled":true,"type":"String","desc":"Icon name following Quasar convention; Make sure you have the icon library installed unless you are using \'img:\' prefix; If \'none\' (String) is used as value then no icon is rendered (but screen real estate will still be used for it)","category":"content"},{"label":"label","name":"label","examples":["John Doe","Book"],"enabled":true,"type":["String","Number"],"desc":"Chip\'s content as string; overrides default slot if specified","category":"content"},{"label":"color","name":"color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for component from the Quasar Color Palette","category":"style"},{"label":"text-color","name":"text-color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Overrides text color (if needed); Color name from the Quasar Color Palette","category":"style"},{"label":"model-value","name":"model-value","enabled":true,"type":"Boolean","desc":"Model of the component determining if QChip should be rendered or not","category":"model"},{"label":"selected","name":"selected","examples":["v-model:selected=\\"myState\\""],"enabled":true,"type":"Boolean","desc":"Model for QChip if it\'s selected or not","category":"model"},{"label":"square","name":"square","enabled":true,"type":"Boolean","desc":"Sets a low value for border-radius instead of the default one, making it close to a square","category":"style"},{"label":"outline","name":"outline","enabled":true,"type":"Boolean","desc":"Display using the \'outline\' design","category":"style"},{"label":"clickable","name":"clickable","enabled":true,"type":"Boolean","desc":"Is QChip clickable? If it\'s the case, then it will add hover effects and emit \'click\' events","category":"state"},{"label":"removable","name":"removable","enabled":true,"type":"Boolean","desc":"If set, then it displays a \'remove\' icon that when clicked the QChip emits \'remove\' event","category":"state"},{"label":"ripple","name":"ripple","examples":[false,"{ early: true, center: true, color: \'teal\', keyCodes: [] }"],"enabled":true,"type":["Boolean","Object"],"desc":"Configure material ripple (disable it by setting it to \'false\' or supply a config object)","category":"style"},{"label":"remove-aria-label","name":"remove-aria-label","examples":["Remove item"],"enabled":true,"type":"String","desc":"aria-label to be used on the remove icon","category":"accessibility"},{"label":"tabindex","name":"tabindex","examples":["0","100"],"enabled":true,"type":["Number","String"],"desc":"Tabindex HTML attribute value","category":"general"},{"label":"disable","name":"disable","enabled":true,"type":"Boolean","desc":"Put component in disabled mode","category":"state"}],"category":"Widgets","enabled":true,"media":"images/icons/components/ui_components/chip.png","type":"q-chip"},{"label":"Icon","draggable":true,"editable":false,"description":"The QIcon component allows you to easily insert icons within other components or any other area of your pages.\\nStipple supports out of the box: [Material Icons](https://fonts.google.com/icons?icon.set=Material+Icons) , [Material Symbols](https://fonts.google.com/icons?icon.set=Material+Symbols) , [Font Awesome](https://fontawesome.com/icons), [Ionicons](http://ionicons.com/), [MDI](https://materialdesignicons.com/), [Eva Icons](https://akveo.github.io/eva-icons), [Themify Icons](https://themify.me/themify-icons), [Line Awesome](https://icons8.com/line-awesome) and [Bootstrap Icons](https://icons.getbootstrap.com/).\\n\\nFurthermore you can [add support by yourself](/vue-components/icon#custom-mapping) for any icon lib.\\n\\nThere are multiple types of icons in Stipple: webfont-based, svg-based and image-based. You are not bound to using only one type in your website/app.\\n\\n\\n\\n","tagName":"Q-ICON","content":"","droppable":false,"properties":[{"label":"Data Binding","name":"v-model","options":[],"type":"select"},{"label":"size","name":"size","examples":["16px","2rem","xs","md"],"enabled":true,"type":"String","desc":"Size in CSS units, including unit name or standard size name (xs|sm|md|lg|xl)","category":"style"},{"label":"tag","name":"tag","examples":["div","span","div","i"],"enabled":true,"type":"String","desc":"HTML tag to render, unless no icon is supplied or it\'s an svg icon","category":"content"},{"label":"name","name":"name","examples":["map","ion-add","img:https://cdn.quasar.dev/logo-v2/svg/logo.svg","img:path/to/some_image.png"],"enabled":true,"type":"String","desc":"Icon name following Quasar convention; Make sure you have the icon library installed unless you are using \'img:\' prefix; If \'none\' (String) is used as value then no icon is rendered (but screen real estate will still be used for it)","category":"model"},{"label":"color","name":"color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for component from the Quasar Color Palette","category":"style"},{"label":"left","name":"left","enabled":true,"type":"Boolean","desc":"Useful if icon is on the left side of something: applies a standard margin on the right side of Icon","category":"content"},{"label":"right","name":"right","enabled":true,"type":"Boolean","desc":"Useful if icon is on the right side of something: applies a standard margin on the left side of Icon","category":"content"}],"category":"Widgets","enabled":true,"media":"images/icons/components/ui_components/icon.png","type":"q-icon"},{"label":"Rating","draggable":true,"editable":false,"description":"Stipple Rating is a Component which allows users to rate items, usually known as “Star Rating”.\\n\\n\\n","tagName":"Q-RATING","content":"","droppable":false,"properties":[{"label":"Data Binding","name":"v-model","options":[],"type":"select"},{"label":"name","name":"name","examples":["car_id"],"enabled":true,"type":"String","desc":"Used to specify the name of the control; Useful if dealing with forms submitted directly to a URL","category":"behavior"},{"label":"size","name":"size","examples":["16px","2rem","xs","md"],"enabled":true,"type":"String","desc":"Size in CSS units, including unit name or standard size name (xs|sm|md|lg|xl)","category":"style"},{"label":"model-value","name":"model-value","examples":["v-model=\\"rating\\"",":model-value=\\"rating\\"",":model-value=\\"2\\""],"enabled":true,"type":"Number","desc":"Model of the component; Either use this property (along with a listener for \'update:model-value\' event) OR use v-model directive","category":"model"},{"label":"max","name":"max","enabled":true,"type":["Number","String"],"desc":"Number of icons to display","category":"general"},{"label":"icon","name":"icon","examples":["map","ion-add","img:https://cdn.quasar.dev/logo-v2/svg/logo.svg","img:path/to/some_image.png"],"enabled":true,"type":["String","Array"],"desc":"Icon name following Quasar convention; make sure you have the icon library installed unless you are using \'img:\' prefix; If an array is provided each rating value will use the corresponding icon in the array (0 based)","category":"content"},{"label":"icon-selected","name":"icon-selected","examples":["map","ion-add","img:https://cdn.quasar.dev/logo-v2/svg/logo.svg","img:path/to/some_image.png"],"enabled":true,"type":["String","Array"],"desc":"Icon name following Quasar convention to be used when selected (optional); make sure you have the icon library installed unless you are using \'img:\' prefix; If an array is provided each rating value will use the corresponding icon in the array (0 based)","category":"content"},{"label":"icon-half","name":"icon-half","examples":["map","ion-add","img:https://cdn.quasar.dev/logo-v2/svg/logo.svg","img:path/to/some_image.png"],"enabled":true,"type":["String","Array"],"desc":"Icon name following Quasar convention to be used when selected (optional); make sure you have the icon library installed unless you are using \'img:\' prefix; If an array is provided each rating value will use the corresponding icon in the array (0 based)","category":"content"},{"label":"icon-aria-label","name":"icon-aria-label","examples":["Rating","[\\"Bad\\", \\"Normal\\", \\"Good\\"]"],"enabled":true,"type":["String","Array"],"desc":"Label to be set on aria-label for Icon; If an array is provided each rating value will use the corresponding aria-label in the array (0 based); If string value is provided the rating value will be appended; If not provided the name of the icon will be used","category":"accessibility"},{"label":"color","name":"color","examples":["primary","teal","teal-10","primary","teal-10","[\\"accent\\", \\"grey-7\\"] "],"enabled":true,"type":["String","Array"],"desc":"Color name for component from the Quasar Color Palette; v1.5.0+: If an array is provided each rating value will use the corresponding color in the array (0 based)","category":"style"},{"label":"color-selected","name":"color-selected","examples":["primary","teal","teal-10"],"enabled":true,"type":["String","Array"],"desc":"Color name from the Quasar Palette for selected icons","category":"style"},{"label":"color-half","name":"color-half","examples":["primary","teal","teal-10"],"enabled":true,"type":["String","Array"],"desc":"Color name from the Quasar Palette for half selected icons","category":"style"},{"label":"no-dimming","name":"no-dimming","enabled":true,"type":"Boolean","desc":"Does not lower opacity for unselected icons","category":"style"},{"label":"no-reset","name":"no-reset","enabled":true,"type":"Boolean","desc":"When used, disables default behavior of clicking/tapping on icon which represents current model value to reset model to 0","category":"model"},{"label":"readonly","name":"readonly","enabled":true,"type":"Boolean","desc":"Put component in readonly mode","category":"state"},{"label":"disable","name":"disable","enabled":true,"type":"Boolean","desc":"Put component in disabled mode","category":"state"}],"category":"Widgets","enabled":true,"media":"images/icons/components/ui_components/rating.png","type":"q-rating"},{"label":"Spinner","draggable":true,"editable":false,"description":"A Spinner is used to show the user a timely process is currently taking place. It is an important UX feature, which gives the user the feeling the system is continuing to work for longer term activities, like grabbing data from the server or some heavy calculations.\\n\\n\\n\\n\\n","tagName":"Q-SPINNER","content":"","droppable":false,"properties":[{"label":"Data Binding","name":"v-model","options":[],"type":"select"},{"label":"size","name":"size","examples":["16px","2rem","xs","md"],"enabled":true,"type":"String","desc":"Size in CSS units, including unit name or standard size name (xs|sm|md|lg|xl)","category":"style"},{"label":"color","name":"color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for component from the Quasar Color Palette","category":"style"},{"label":"thickness","name":"thickness","enabled":true,"type":"Number","desc":"Override value to use for stroke-width","category":"style"}],"category":"Widgets","enabled":true,"media":"images/icons/components/ui_components/spinner.png","type":"q-spinner"},{"label":"Tree","draggable":true,"editable":false,"description":"Stipple Tree represents a highly configurable component that displays hierarchical data, such as a table of contents in a tree structure.\\n\\n\\n","tagName":"Q-TREE","content":"","droppable":false,"properties":[{"label":"Data Binding","name":"v-model","options":[],"type":"select"},{"label":"nodes","name":"nodes","examples":["[ {...}, {...} ]"],"enabled":true,"type":"Array","desc":"The array of nodes that designates the tree structure","category":"content"},{"label":"node-key","name":"node-key","examples":["key","id"],"enabled":true,"type":"String","desc":"The property name of each node object that holds a unique node id","category":"content"},{"label":"label-key","name":"label-key","examples":["name","description"],"enabled":true,"type":"String","desc":"The property name of each node object that holds the label of the node","category":"content"},{"label":"children-key","name":"children-key","examples":["roles","relatives"],"enabled":true,"type":"String","desc":"The property name of each node object that holds the list of children of the node","category":"content"},{"label":"no-connectors","name":"no-connectors","enabled":true,"type":"Boolean","desc":"Do not display the connector lines between nodes","category":"style"},{"label":"color","name":"color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for component from the Quasar Color Palette","category":"style"},{"label":"control-color","name":"control-color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for controls (like checkboxes) from the Quasar Color Palette","category":"style"},{"label":"text-color","name":"text-color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Overrides text color (if needed); Color name from the Quasar Color Palette","category":"style"},{"label":"selected-color","name":"selected-color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for selected nodes (from the Quasar Color Palette)","category":"style"},{"label":"dense","name":"dense","enabled":true,"type":"Boolean","desc":"Dense mode; occupies less space","category":"style"},{"label":"dark","name":"dark","enabled":true,"type":"Boolean","desc":"Notify the component that the background is a dark color","category":"style"},{"label":"icon","name":"icon","options":"${supportedIcons}","examples":["map","ion-add","img:https://cdn.quasar.dev/logo-v2/svg/logo.svg","img:path/to/some_image.png"],"uitype":"enum_icons","enabled":true,"type":"String","desc":"Icon name following Quasar convention; Make sure you have the icon library installed unless you are using \'img:\' prefix; If \'none\' (String) is used as value then no icon is rendered (but screen real estate will still be used for it)","category":"content"},{"label":"tick-strategy","name":"tick-strategy","enabled":true,"type":"String","desc":"The type of strategy to use for the selection of the nodes","category":"behavior"},{"label":"ticked","name":"ticked","examples":["v-model:ticked=\\"tickedKeys\\""],"enabled":true,"type":"Array","desc":"Keys of nodes that are ticked","category":"state"},{"label":"expanded","name":"expanded","examples":["v-model:expanded=\\"expandedKeys\\""],"enabled":true,"type":"Array","desc":"Keys of nodes that are expanded","category":"state"},{"label":"selected","name":"selected","examples":["v-model:selected=\\"selectedKey\\""],"enabled":true,"type":"Any","desc":"Key of node currently selected","category":"state"},{"label":"no-selection-unset","name":"no-selection-unset","enabled":true,"type":"Boolean","desc":"Do not allow un-selection when clicking currently selected node","category":"behavior"},{"label":"default-expand-all","name":"default-expand-all","enabled":true,"type":"Boolean","desc":"Allow the tree to have all its branches expanded, when first rendered","category":"behavior"},{"label":"accordion","name":"accordion","enabled":true,"type":"Boolean","desc":"Allows the tree to be set in accordion mode","category":"behavior"},{"label":"no-transition","name":"no-transition","enabled":true,"type":"Boolean","desc":"Turn off transition effects when expanding/collapsing nodes; Also enhances perf by a lot as a side-effect; Recommended for big trees","category":"behavior"},{"label":"filter","name":"filter","examples":[":filter=\\"searchText\\""],"enabled":true,"type":"String","desc":"The text value to be used for filtering nodes","category":"filter"},{"label":"filter-method","name":"filter-method","enabled":true,"type":"Function","desc":"The function to use to filter the tree nodes; For best performance, reference it from your scope and do not define it inline","category":"filter"},{"label":"duration","name":"duration","enabled":true,"type":"Number","desc":"Toggle animation duration (in milliseconds)","category":"style"},{"label":"no-nodes-label","name":"no-nodes-label","examples":["No nodes to show!"],"enabled":true,"type":"String","desc":"Override default such label for when no nodes are available","category":"content"},{"label":"no-results-label","name":"no-results-label","examples":["No results"],"enabled":true,"type":"String","desc":"Override default such label for when no nodes are available due to filtering","category":"content"}],"category":"Widgets","enabled":false,"media":"images/icons/components/ui_components/tree.png","type":"q-tree"},{"label":"Popup Proxy","draggable":true,"editable":false,"description":"","tagName":"Q-POPUP-PROXY","content":"","droppable":false,"properties":[{"label":"Data Binding","name":"v-model","options":[],"type":"select"},{"label":"target","name":"target","examples":[":target=\\"false\\"",":target=\\"$refs.target\\"","target=\\".my-parent\\"","target=\\"#target-id\\""],"enabled":true,"type":["Boolean","String","Element"],"desc":"Configure a target element to trigger component toggle; \'true\' means it enables the parent DOM element, \'false\' means it disables attaching events to any DOM elements; By using a String (CSS selector) or a DOM element it attaches the events to the specified DOM element (if it exists)","category":"behavior"},{"label":"no-parent-event","name":"no-parent-event","enabled":true,"type":"Boolean","desc":"Skips attaching events to the target DOM element (that trigger the element to get shown)","category":"behavior"},{"label":"context-menu","name":"context-menu","enabled":true,"type":"Boolean","desc":"Allows the component to behave like a context menu, which opens with a right mouse click (or long tap on mobile)","category":"behavior"},{"label":"model-value","name":"model-value","enabled":true,"type":"Boolean","desc":"Defines the state of the component (shown/hidden); Either use this property (along with a listener for \'update:modelValue\' event) OR use v-model directive","category":"model"},{"label":"breakpoint","name":"breakpoint","enabled":true,"type":["Number","String"],"desc":"Breakpoint (in pixels) of window width/height (whichever is smaller) from where a Menu will get to be used instead of a Dialog","category":"behavior"}],"category":"Utilities","enabled":false,"media":"images/icons/components/ui_components/popup-proxy.png","type":"q-popup-proxy"},{"label":"Timeline","draggable":true,"editable":false,"description":"The QTimeline component displays a list of events in chronological order. It is typically a graphic design showing a long bar labelled with dates alongside itself and usually events. Timelines can use any time scale, depending on the subject and data.\\n\\nQTimeline has 3 layouts:\\n\\n* `dense` (default) is showing headings, titles, subtitles and content on the **timeline-specified side** of the time line (default on right)\\n* `comfortable` is showing headings, titles and content on the **timeline-specified side** of the time line (default on right) and the subtitles on the other side\\n* `loose` is showing headings on center, titles and content on the **entry-specified side** of the time line (default on right) and the subtitles on the other side\\n\\n\\n\\n","tagName":"Q-TIMELINE","content":"","droppable":false,"properties":[{"label":"Data Binding","name":"v-model","options":[],"type":"select"},{"label":"color","name":"color","options":"${supportedColors}","examples":["primary","teal","teal-10"],"uitype":"enum_colors","enabled":true,"type":"String","desc":"Color name for component from the Quasar Color Palette","category":"style"},{"label":"side","name":"side","enabled":true,"type":"String","desc":"Side to place the timeline entries in dense and comfortable layout; For loose layout it gets overridden by QTimelineEntry side prop","category":"behavior"},{"label":"layout","name":"layout","enabled":true,"type":"String","desc":"Layout of the timeline. Dense keeps content and labels on one side. Comfortable keeps content on one side and labels on the opposite side. Loose puts content on both sides.","category":"behavior"},{"label":"dark","name":"dark","enabled":true,"type":"Boolean","desc":"Notify the component that the background is a dark color","category":"style"}],"category":"Timeline","enabled":false,"media":"images/icons/components/ui_components/timeline.png","type":"q-timeline"}]')},"6a37":function(e,t,a){},"74b3":function(e,t,a){},"763e":function(e,t,a){},"7bf3":function(e,t,a){"use strict";a("d8fb")},8011:function(e,t,a){},8760:function(e,t,a){"use strict";a("4357")},"8c55":function(e,t,a){"use strict";a("c66d")},"8cc1":function(e,t,a){},9005:function(e,t,a){"use strict";a("1943")},"936e":function(e,t,a){"use strict";a("74b3")},"9b64":function(e,t,a){"use strict";a("8cc1")},"9c33":function(e,t,a){},aff4:function(e,t,a){"use strict";a("6a37")},b13d:function(e,t,a){},b201:function(e,t,a){"use strict";a("506c")},c0b1:function(e,t,a){"use strict";a("763e")},c41b:function(e,t,a){"use strict";a("b13d")},c66d:function(e,t,a){},ce8f:function(e,t,a){"use strict";a("8011")},cec9:function(e,t,a){},cfff:function(e,t,a){},d6e4:function(e,t,a){function o(e){e.DomComponents.addType("plotly",{isComponent:function(e){if("PLOTLY"===e.tagName)return{type:"plotly",name:"Plotly"}},model:{defaults:{removable:!0,draggable:!0,droppable:!0,badgable:!0,stylable:!0,highlightable:!0,copyable:!1,resizable:!1,editable:!1,hoverable:!0,traits:[],script:function(){var e=window.parent.sharedData.externalData;let t=this.attributes.id.nodeValue;function a(t){let a={},o=Object.getOwnPropertyNames(t);return o.forEach(o=>{let n=o.replace("gb_c__",""),l=void 0!==t[o].nodeValue?t[o].nodeValue:t[o];["data","layout","config"].includes(n)&&(l=atob(l),void 0!==e[l]?a[":"+n]=e[l]:a[":"+n]=JSON.parse(l))}),a}function o(t){for(let a in t)if("object"===typeof t[a]&&null!==t[a])o(t[a]);else if("string"===typeof t[a]){const o=t[a].match(/\$_{(.+?)}/);if(o&&o[1]){const l=o[1];t[a]=n(e,l)}}}function n(e,t){const a=t.split(".");for(let o=0;o{e=t.detail,l=a(this.attributes),this.vueApp.updateServerData(e)},window.parent.addCanvasComponent(t,this);let l=a(this.attributes);this.vueApp=new Vue({el:"#vueinternal_"+t,data:function(){let t=l[":data"];o(t);let a=l[":layout"]||{};o(a);let n=l[":config"]||{};return o(n),{message:"TESTING_ID",attributes:l,serverData:e,parsedData:t,parsedLayout:a,parsedConfig:n}},methods:{updateServerData(e){this.serverData=e;let t=l[":data"];o(t),this.parsedData=t;let a=l[":layout"]||{};o(a),this.parsedLayout=a;let n=l[":config"]||{};o(n),this.parsedConfig=n},updateAttributes(e){this.attributes=a(e),l=this.attributes,this.updateServerData(this.serverData)}},mounted(){}})}},handleAttrChange(){},render:function(){this.view.onRender()},init(){this.listenTo(this,"change:attributes",this.onAttributeChange)},removed(){window.parent.postMessage({command:"removeCanvasComponent",uid:this.ccid},"*")}},view:{onAttributeChange(){},onRender(){const{el:e,model:t}=this;let a=e.attributes.id.nodeValue;e.grapesModel=t;const o=`
\n \n
\n `;e.innerHTML=o}}})}a("b7ef"),e.exports={registerPlotlyComponent:o}},d8fb:function(e,t,a){},dcd9:function(e,t,a){"use strict";a("f377")},e161:function(e,t,a){"use strict";a("13be")},e2af:function(e,t,a){},ec71:function(e,t,a){},f377:function(e,t,a){},f4e2:function(e,t,a){},fed2:function(e,t,a){"use strict";a("e2af")}}); +//# sourceMappingURL=app.590e7d0c.js.map \ No newline at end of file diff --git a/public/js/app.590e7d0c.js.map b/public/js/app.590e7d0c.js.map new file mode 100644 index 00000000..c89ddd47 --- /dev/null +++ b/public/js/app.590e7d0c.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/components/panels/StylesPanel.vue?181c","webpack:///./src/components/ChartProperties.vue?b1fc","webpack:///./src/components/ChartPropertiesSection.vue?95bd","webpack:///./src/components/panels/ComponentAddDialog.vue?9ee8","webpack:///./src/components/panels/PanelTitle.vue?39e5","webpack:///./src/App.vue","webpack:///./src/components/panels/PanelTitle.vue","webpack:///./src/components/panels/PanelTitle.vue?68bb","webpack:///./src/components/Panel.vue","webpack:///./src/components/Panel.vue?5542","webpack:///./src/components/tabs/Tabs.vue","webpack:///./src/components/tabs/Tabs.vue?dca8","webpack:///./src/components/tabs/Tab.vue","webpack:///./src/utils/blockDefinitions.js","webpack:///./src/components/panels/BindingsPanel.vue","webpack:///./src/components/panels/BindingsPanel.vue?7ac9","webpack:///./src/components/panels/StylesPanel.vue","webpack:///./src/components/panels/ComponentAddDialog.vue","webpack:///./src/components/panels/ComponentAddDialog.vue?e9b4","webpack:///./src/utils/HtmlTemplateParser.js","webpack:///./src/utils/Configuration.js","webpack:///./src/components/panels/CanvasPanel.vue","webpack:///./src/components/panels/CanvasPanel.vue?ced4","webpack:///./src/components/panels/LibraryPanel.vue","webpack:///./src/components/panels/LibraryPanel.vue?2df3","webpack:///./src/components/panels/properties/AddPropertyDialog.vue","webpack:///./src/components/panels/properties/AddPropertyDialog.vue?a633","webpack:///./src/components/panels/PropertiesPanel.vue","webpack:///./src/components/panels/PropertiesPanel.vue?69be","webpack:///./src/components/ChartPropertiesSection.vue","webpack:///./src/components/ChartPropertiesSection.vue?7c2e","webpack:///./src/components/ChartProperties.vue","webpack:///./src/components/ChartProperties.vue?57ad","webpack:///./src/components/panels/LogsPanel.vue","webpack:///./src/components/panels/LogsPanel.vue?b2a6","webpack:///./src/components/BindingsConnector.vue","webpack:///./src/components/BindingsConnector.vue?da9e","webpack:///./src/utils/StatusMonitor.js","webpack:///./src/components/Main.vue","webpack:///./src/components/Main.vue?8c23","webpack:///./src/App.vue?8e8d","webpack:///./src/store/index.js","webpack:///./src/quasar-user-options.js","webpack:///./src/main.js","webpack:///./src/components/panels/PropertiesPanel.vue?3ec2","webpack:///./src/components/panels/CanvasPanel.vue?04fe","webpack:///./src/components/panels/BindingsPanel.vue?664d","webpack:///./src/components/panels/GlobalEventsPanel.vue?6682","webpack:///./src/components/panels/CanvasPanel.vue?b162","webpack:///./src/components/panels/FilesPanel.vue","webpack:///./src/App.vue?0db4","webpack:///./src/components/panels/LibraryPanel.vue?6494","webpack:///./src/components/Main.vue?5a75","webpack:///./src/components/BindingsConnector.vue?2fd4","webpack:///./src/components/panels/LogsPanel.vue?d976","webpack:///./src/components/tabs/Tab.vue?4003","webpack:///./src/components/customblocks/plotlyComponent.js","webpack:///./src/components/Panel.vue?3f22","webpack:///./src/components/panels/properties/AddPropertyDialog.vue?d14a","webpack:///./src/components/tabs/Tabs.vue?09ab"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","_createBlock","_component_Main","msg","expanded","ref","props","toggleExpand","emit","watch","__exports__","onExpandClicked","saveExpandedState","localStorage","setItem","title","loadExpandedState","state","getItem","tabContainer","tabHeaders","tabs","activeTabIndex","onMounted","querySelectorAll","x","classList","contains","indexOf","changeTab","index","remove","add","blockDefinitionsSource","JSON","parse","stringify","blockDefinitionsSourceRaw","injectableVariables","supportedIcons","sort","supportedColors","parseDefinitionsSource","console","log","filter","block","enabled","forEach","indexOfVmodel","properties","findIndex","prop","indexOfModelValue","label","content","replace","blockProps","propAttributeName","propAttrValue","variableName","variableValue","Array","isArray","blockDefinitions","type","tagName","droppable","editable","draggable","renderContent","dragStart","dragStop","sortMethod","setHandleBlocks","sortedBindingsAsBlocks","computed","blocks","sortedBindings","binding","id","sorted","appData","pages","model","fields","_","sortBy","field","toLowerCase","onBindingOvered","$event","element","target","onBindingOut","__expose","getBlockIconPath","split","join","selectCompProp","comp","newElement","DOMParser","parseFromString","body","childNodes","propName","setAttribute","componentPlaceHolderData","bindingname","newElementHtml","outerHTML","editor","getSelected","replaceWith","closeDialog","removeSelected","blockDefinitionsByTagName","HtmlTemplateParser","constructor","Error","Node","replaceElementAttributes","encodeAttributesInDOM","modelVariables","sharedData","modelFieldsByName","gbPrefix","bcTypeC","bcTypeB","specialDynamicAttributeNames","excludedAttributeNames","componentName","nodeName","componentDefinition","componentPropertiesDefinitions","elementAttributeNames","getAttributeNames","attributeName","hasColon","startsWith","cleanName","isDynamic","some","specialName","attributeValue","getAttribute","attributeDefinition","find","el","attributeValueMapsToModelVariable","removeAttribute","originalName","dataType","includes","bindingPrefix","rootElement","elements","revertElementAttributes","input","test","Configuration","_channel","_defineProperty","modelFields","map","item","newDef","category","activate","selectedComponent","mockedAppTemplate","reactiveModel","onComponentAddDialogClose","select","onComponentAdded","info","attributes","_parent$grapesModel","parent","view","$el","parentNode","parentBlockType","grapesModel","datatype","targetModel","bindingInfo","offerComponents","defs","components","def","componentType","matchingdataTypePropertyNames","matchesType","isVmodel","matchingProperties","getComponentDefinitionByType","externalData","setExternalData","newData","this","event","CustomEvent","detail","componentId","canvasComponents","component","onExternalDataChanged","columnA","columnB","columnC","columnD","columnE","ws","channel","appHost","appPort","protocol","wsUrl","updateReactiveModelVariable","sendWsMessage","message","payload","send","newSocketConnection","WebSocket","addEventListener","msgObject","error","initEditor","scripts","deps","appBasePath","port","excludedScripts","parsedSCripts","script","scriptPath","commonStyles","grapesjs","init","container","fromElement","storageManager","canvas","styles","blockManager","custom","styleManager","appendTo","sectors","extend","default","options","className","open","units","toRequire","buildProps","defaults","list","min","unit","Panels","getButton","set","runCommand","on","com","dataTransfer","objectData","getData","objectType","registerPlotlyComponent","definition","blacklist","DomComponents","addType","isComponent","serverData","uniqueId","nodeValue","getMappedAttributes","attributesIn","mappedAttributes","attributeNames","getOwnPropertyNames","attrName","addCanvasComponent","vueApp","updateServerData","Vue","parsedAttributes","attributesObject","keyRaw","substring","propertyDefinition","valueIsBinding","methods","newServerData","updateAttributes","attrs","$forceUpdate","mounted","listenTo","onAttributeChange","handleAttrChange","render","onRender","removed","postMessage","command","uid","ccid","innerHTML","assets","autogeneratedStyles","style","stylePath","apibase","appid","encodeURIComponent","axios","then","setComponents","setStyle","catch","updateReactiveModel","newModel","loadTemplate","filePath","updateTemplateFile","fileContents","fullContent","parser","doc","firstDiv","firstDivContent","excludedTypes","blockDefinitionsRaw","blocksByCategory","searchTerm","isDragging","draggableElement","iframeB","handleBlocks","buildCategoriesTree","undefined","categories","categoriesDict","filteredBlockDefinitions","setTimeout","results","onDragStart","document","querySelector","sorter","BlockManager","blocksView","getSorter","__currentBlock","setDragHelper","setDropContent","startSort","parentElement","setPointerCapture","pointerId","onPointerMove","rect","getBoundingClientRect","clientX","left","clientY","top","onPointerUp","endMove","right","bottom","pointerEvents","iframeDoc","contentDocument","y","elementBelow","elementFromPoint","elementBelowId","position","targetComponent","getWrapper","refresh","addProperty","defObject","destination","closeButtonClicked","showAddProperty","blockDefinitionsByType","reduce","acc","getAttributeCleanRealName","attributeObject","removeAttributes","submitChanges","getSuggestedProperties","getBlockDefinition","currentAttributesCleanNames","getCleanAttributesList","att","suggestedProperties","propDef","suggested","suggestedPropertiesNotUsed","filteredModelFields","elementAttributes","attrsForVuecomponent","getBlockPropertyDefinition","propertyName","blockDefinition","attributeIsBinding","onDrop","dragTransferData","attrname","toggleDynamicAttribute","newAttrs","addAttributes","showAddPropertyList","hideAddProperty","defaultValuesByType","Boolean","String","Number","attrsObject","gbName","defaultValue","availableProperties","definitionProperties","currentAttributes","getAttributes","currentAttributesClean","filtered","componentAttributes","attName","newHtml","toHTML","clonedAttributes","setAttributes","grapesElementVueApp","newKey","newAtts","cleanAttributeName","sameTypeModelFields","setSelectedComponent","newComponent","QIcon","treeObject","getNestedPropertyParent","obj","propParts","getNestedProperty","definitionsListWithValues","propertiesDefinition","propertyDefCloned","valueHolderParent","pop","currentTabIndex","tabsList","dataSourceFields","selectedDataSource","addPropertyDestination","traces","config","layout","modelFieldsDict","tracePropertiesDefinition","configPropertiesDefinition","layoutPropertiesDefinition","getSelectedDataSourceColumns","selectedDataSourceColumns","selectedDataSourceName","selectedDataSourceField","columns","availableDataProperties","notUsedProperties","isUsed","existingProperty","layoutChanged","newTreeObject","configChanged","dataChanged","propId","setNestedProperty","isSelectedDataSourceConfigurable","dsField","getFieldsOfDataFrameType","dsFields","btoa","newConfig","newLayout","getDataSourceFromTraces","dataSourceProperties","trace","bindingsInTrace","findBindingValues","bindingName","componentAttributesRaw","gb_c__data","atob","gb_c__config","gb_c__layout","configInput","layoutInput","recurse","endsWith","addNewTrace","assignNewDataSource","dsName","onBeforeMount","showServerLogs","showClientLogs","logLevel","loggedAppId","searchString","logsContainer","hljs","registerLanguage","javascript","sql","highlight","code","highlightedCode","updated","vHighlight","loggedAppIdsMap","logLevelsMap","debug","warning","logs","filteredLogs","matchesSource","source","matchesLevel","level","matchesAppId","matchesSearch","clearLogs","addLog","logObject","logPrefix","appSource","timestamp","scrollTop","scrollHeight","canvasElementsPositions","connections","_iframePosition","overedBinding","getConnectionSVGPath","connection","origin","getOveredBindingPosition","xDistance","Math","abs","width","controlPointOffsetX","path","height","elPosition","getElementPosition","updateElementsPositions","lines","updateConnections","updateIframePosition","iframePosition","adjustedPositions","line","iframeElement","StatusMonitor","onOpen","onClose","onMessage","host","onOpenHandler","onCloseHandler","onMessageHandler","connect","onopen","onmessage","onclose","restart","seconds","logsPanel","canvasPanel","bindingsPanel","libraryPanel","propertiesPanel","chartPropertiesPanel","bindingConnectorsManager","currentPage","version","process","onSocketOpen","onSocketMessage","messageData","status","getPropertiesPanelName","onSocketClose","statusMonitor","searchParams","getSearchParams","CHANNEL__","themeType","theme","setTheme","urlParamsMissing","urlParamsMessage","alert","onBlockCustomTriggered","reloadPage","location","reload","saveTemplate","editedHtmlCss","getCss","entireHtml","getHtml","cleanId","decodeAttributesInDOM","beautifyOptions","indent_size","indent_char","max_preserve_newlines","preserve_newlines","keep_array_indentation","break_chained_methods","indent_scripts","brace_style","space_before_conditional","unescape_strings","jslint_happy","end_with_newline","wrap_line_length","indent_inner_html","comma_first","e4x","indent_empty_lines","inline_custom_elements","beautifiedHtml","html_beautify","pageViewPath","encodedViewPath","saveUrl","post","response","saveCssUrl","params","URLSearchParams","search","entries","contentWindow","onComponentSelected","onBindingDroppedOnComponent","updateData","valueIsModelField","modelFieldNames","translateBindingTypes","typesMap","page","isreactive","fieldType","cleanType","mappedType","e","bindConnMgr","myApp","applications","app","toString","fullAppData","readTemplateFilePAth","uikit","provideVSCodeDesignSystem","register","vsCodeTextField","vsCodeDropdown","vsCodeOption","vsCodeButton","vsCodeCheckbox","Main","createStore","mutations","actions","plugins","removeCanvasComponent","documentElement","createApp","App","use","Quasar","quasarUserOptions","store","mount","removable","badgable","stylable","highlightable","copyable","resizable","hoverable","traits","replaceReferencedBindingsToAttributeData","match","propToReplace","parsedData","parsedLayout","parsedConfig"],"mappings":"aACE,SAASA,EAAqBC,GAQ7B,IAPA,IAMIC,EAAUC,EANVC,EAAWH,EAAK,GAChBI,EAAcJ,EAAK,GACnBK,EAAiBL,EAAK,GAIHM,EAAI,EAAGC,EAAW,GACpCD,EAAIH,EAASK,OAAQF,IACzBJ,EAAUC,EAASG,GAChBG,OAAOC,UAAUC,eAAeC,KAAKC,EAAiBX,IAAYW,EAAgBX,IACpFK,EAASO,KAAKD,EAAgBX,GAAS,IAExCW,EAAgBX,GAAW,EAE5B,IAAID,KAAYG,EACZK,OAAOC,UAAUC,eAAeC,KAAKR,EAAaH,KACpDc,EAAQd,GAAYG,EAAYH,IAG/Be,GAAqBA,EAAoBhB,GAE5C,MAAMO,EAASC,OACdD,EAASU,OAATV,GAOD,OAHAW,EAAgBJ,KAAKK,MAAMD,EAAiBb,GAAkB,IAGvDe,IAER,SAASA,IAER,IADA,IAAIC,EACIf,EAAI,EAAGA,EAAIY,EAAgBV,OAAQF,IAAK,CAG/C,IAFA,IAAIgB,EAAiBJ,EAAgBZ,GACjCiB,GAAY,EACRC,EAAI,EAAGA,EAAIF,EAAed,OAAQgB,IAAK,CAC9C,IAAIC,EAAQH,EAAeE,GACG,IAA3BX,EAAgBY,KAAcF,GAAY,GAE3CA,IACFL,EAAgBQ,OAAOpB,IAAK,GAC5Be,EAASM,EAAoBA,EAAoBC,EAAIN,EAAe,KAItE,OAAOD,EAIR,IAAIQ,EAAmB,GAKnBhB,EAAkB,CACrB,IAAO,GAGJK,EAAkB,GAGtB,SAASS,EAAoB1B,GAG5B,GAAG4B,EAAiB5B,GACnB,OAAO4B,EAAiB5B,GAAU6B,QAGnC,IAAIC,EAASF,EAAiB5B,GAAY,CACzCK,EAAGL,EACH+B,GAAG,EACHF,QAAS,IAUV,OANAf,EAAQd,GAAUW,KAAKmB,EAAOD,QAASC,EAAQA,EAAOD,QAASH,GAG/DI,EAAOC,GAAI,EAGJD,EAAOD,QAKfH,EAAoBM,EAAIlB,EAGxBY,EAAoBO,EAAIL,EAGxBF,EAAoBQ,EAAI,SAASL,EAASM,EAAMC,GAC3CV,EAAoBW,EAAER,EAASM,IAClC3B,OAAO8B,eAAeT,EAASM,EAAM,CAAEI,YAAY,EAAMC,IAAKJ,KAKhEV,EAAoBe,EAAI,SAASZ,GACX,qBAAXa,QAA0BA,OAAOC,aAC1CnC,OAAO8B,eAAeT,EAASa,OAAOC,YAAa,CAAEC,MAAO,WAE7DpC,OAAO8B,eAAeT,EAAS,aAAc,CAAEe,OAAO,KAQvDlB,EAAoBmB,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQlB,EAAoBkB,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,kBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKxC,OAAOyC,OAAO,MAGvB,GAFAvB,EAAoBe,EAAEO,GACtBxC,OAAO8B,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOlB,EAAoBQ,EAAEc,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIRtB,EAAoB0B,EAAI,SAAStB,GAChC,IAAIM,EAASN,GAAUA,EAAOiB,WAC7B,WAAwB,OAAOjB,EAAO,YACtC,WAA8B,OAAOA,GAEtC,OADAJ,EAAoBQ,EAAEE,EAAQ,IAAKA,GAC5BA,GAIRV,EAAoBW,EAAI,SAASgB,EAAQC,GAAY,OAAO9C,OAAOC,UAAUC,eAAeC,KAAK0C,EAAQC,IAGzG5B,EAAoB6B,EAAI,IAExB,IAAIC,EAAaC,OAAO,gBAAkBA,OAAO,iBAAmB,GAChEC,EAAmBF,EAAW3C,KAAKsC,KAAKK,GAC5CA,EAAW3C,KAAOf,EAClB0D,EAAaA,EAAWG,QACxB,IAAI,IAAItD,EAAI,EAAGA,EAAImD,EAAWjD,OAAQF,IAAKP,EAAqB0D,EAAWnD,IAC3E,IAAIU,EAAsB2C,EAI1BzC,EAAgBJ,KAAK,CAAC,EAAE,kBAEjBM,K,6ECvJT,W,oCCAA,W,oFCAA,W,oCCAA,W,kFCAA,W,mKCCEyC,eAAwCC,EAAA,CAAlCC,IAAI,+B,8hBCgBZ,IAAIC,EAAWC,eAAIC,EAAMF,UAEzB,SAASG,IACLC,EAAK,SAAUJ,EAASnB,O,OAI5BwB,eAAOH,EAAQA,IACXF,EAASnB,MAAQqB,EAAMF,W,mYCnB3B,MAAMM,EAA2B,IAAgB,EAAQ,CAAC,CAAC,YAAY,qBAExD,Q,iHCKf,IAAIN,EAAWC,gBAAI,GAGnB,SAASM,IACLP,EAASnB,OAASmB,EAASnB,MAE3B2B,IAGJ,SAASA,IACLC,aAAaC,QAAS,sBAAwBR,EAAMS,MAAOX,EAASnB,OAGxE,SAAS+B,IACL,IAAIC,EAAQJ,aAAaK,QAAS,sBAAwBZ,EAAMS,OACnD,SAATE,IACAb,EAASnB,OAAQ,G,OAfzB+B,I,6UCRA,MAAM,EAA2B,IAAgB,EAAQ,CAAC,CAAC,YAAY,qBAExD,Q,2HCLb,IAAIG,EAAed,eAAI,MACnBe,EAAaf,eAAI,MACjBgB,EAAOhB,eAAI,MACXiB,EAAiBjB,eAAI,GAEzBkB,eAAU,KACRF,EAAKpC,MAAQ,IAAKkC,EAAalC,MAAMuC,iBAAiB,SACxD,IAAI,IAAIC,KAAKJ,EAAKpC,MACZwC,EAAEC,UAAUC,SAAS,YACzBL,EAAiBD,EAAKpC,MAAM2C,QAAQH,MAItC,MAAMI,EAAaC,IACjBR,EAAiBQ,EACjB,IAAI,IAAIL,IAAK,IAAIJ,EAAKpC,SAAUmC,EAAWnC,OAC1CwC,EAAEC,UAAUK,OAAO,UAEtBV,EAAKpC,MAAMqC,GAAgBI,UAAUM,IAAI,UACzCZ,EAAWnC,MAAMqC,GAAgBI,UAAUM,IAAI,W,wiBCjBjD,MAAM,EAAc,EAEL,Q,2NCFf,MAAM,EAAc,EAEL,Q,wBCOf,IAAIC,EAAyBC,KAAKC,MAAOD,KAAKE,UAAUC,IAEpDC,EAAsB,CACxBC,eAAgB,CACd,SAAS,SAAS,OAAO,iBAAiB,WAAW,OAAO,OAAO,eAAe,SAAS,aAAa,gBAAgB,WAAW,cAAc,SAAS,kBAAkB,OAAO,WAAW,WAAW,eAAe,OAAO,kBAAkB,WAAW,aAAa,WAAW,QAAQ,cAAc,YAAY,OAAO,QAAQ,iBAAiB,uBAAuB,iBAAiB,gBAAgB,OAAO,OAAO,WAAW,kBAAkB,aAAa,UAAU,cAAc,eAAe,YAAY,cAAc,gBAAgB,UAAU,cAAc,kBAAkB,iBAAiB,aAAa,iBAAiB,gBAAgB,aAAa,YAAY,kBAAkB,yBAAyB,YAAY,QAAQ,YAAY,OAAO,QAAQ,QAAQ,YAAY,iBAAiB,QAAQ,iBAAiB,uBAAuB,YAAY,cAAc,QAAQ,SAAS,UAAU,OAAO,OAAO,UAAU,oBAAoB,kBAAkB,qBAAqB,WAAW,OAAO,UAAU,WAAW,cAAc,WAAW,UAAU,kBAAkB,kBAAkB,kBAAkB,UAAU,SAAS,iBAAiB,qBAAqB,YAAY,UAAU,UAAU,aAAa,cAAc,mBAAmB,eAAe,UAAU,eAAe,cAAc,iBAAiB,yBAAyB,gBAAgB,aAAa,WAAW,eAAe,WAAW,aAAa,uBAAuB,MAAM,QAAQ,WAAW,QAAQ,iBAAiB,mBAAmB,OAAO,eAAe,QAAQ,kBAAkB,aAAa,SAAS,QAAQ,YAAY,WAAW,gBAAgB,yBAAyB,WAAW,YAAY,gBAAgB,UAAU,gBAAgB,UAAU,gBAAgB,oBAAoB,WAAW,gBAAgB,cAAc,kBAAkB,oBAAoB,OAAO,aAAa,gBAAgB,wBAAwB,SAAS,sBAAsB,eAAe,YAAY,UAAU,eAAe,mBAAmB,SAAS,eAAe,UAAU,YAAY,qBAAqB,gBAAgB,UAAU,YAAY,cAAc,aAAa,UAAU,iBAAiB,UAAU,aAAa,sBAAsB,cAAc,mBAAmB,QAAQ,MAAM,gBAAgB,kBAAkB,YAAY,YAAY,UAAU,oBAAoB,QAAQ,MAAM,aAAa,gBAAgB,cAAc,eAAe,WAAW,wBAAwB,iBAAiB,SAAS,YAAY,uBAAuB,iBAAiB,cAAc,gBAAgB,kBAAkB,UAAU,kBAAkB,eAAe,oBAAoB,WAAW,cAAc,UAAU,2BAA2B,iBAAiB,gBAAgB,QAAQ,QAAQ,UAAU,aAAa,cAAc,yBAAyB,SAAS,eAAe,0BAA0B,6BAA6B,oBAAoB,eAAe,iBAAiB,cAAc,cAAc,UAAU,sBAAsB,gBAAgB,WAAW,WAAW,eAAe,iBAAiB,oBAAoB,WAAW,cAAc,qBAAqB,oBAAoB,cAAc,gBAAgB,UAAU,UAAU,kBAAkB,oBAAoB,cAAc,WAAW,qBAAqB,YAAY,uBAAuB,OAAO,yBAAyB,cAAc,iBAAiB,iBAAiB,yBAAyB,OAAO,aAAa,YAAY,aAAa,cAAc,cAAc,kBAAkB,oBAAoB,cAAc,eAAe,iBAAiB,cAAc,gBAAgB,cAAc,2BAA2B,UAAU,gBAAgB,aAAa,SAAS,YAAY,gBAAgB,YAAY,kBAAkB,WAAW,iBAAiB,aAAa,QAAQ,SAAS,OAAO,uBAAuB,aAAa,yBAAyB,iBAAiB,eAAe,aAAa,oBAAoB,iBAAiB,YAAY,iBAAiB,mBAAmB,WAAW,qBAAqB,aAAa,iBAAiB,qBAAqB,eAAe,MAAM,qBAAqB,cAAc,qBAAqB,eAAe,QAAQ,cAAc,iBAAiB,eAAe,eAAe,cAAc,SAAS,MAAM,cAAc,oBAAoB,eAAe,iBAAiB,SAAS,WAAW,qBAAqB,MAAM,SAAS,sBAAsB,OAAO,sBAAsB,WAAW,YAAY,oBAAoB,YAAY,eAAe,aAAa,eAAe,kBAAkB,uBAAuB,gBAAgB,oBAAoB,oBAAoB,eAAe,MAAM,MAAM,WAAW,mBAAmB,uBAAuB,2BAA2B,uBAAuB,aAAa,WAAW,eAAe,eAAe,mBAAmB,yBAAyB,mBAAmB,gBAAgB,cAAc,eAAe,mBAAmB,oBAAoB,UAAU,gBAAgB,UAAU,mBAAmB,mBAAmB,qBAAqB,iBAAiB,WAAW,kBAAkB,qBAAqB,WAAW,SAAS,OAAO,gBAAgB,UAAU,QAAQ,oBAAoB,YAAY,oBAAoB,sBAAsB,iBAAiB,qBAAqB,eAAe,6BAA6B,cAAc,gBAAgB,WAAW,eAAe,yBAAyB,aAAa,0BAA0B,YAAY,gBAAgB,kBAAkB,eAAe,aAAa,MAAM,aAAa,iBAAiB,uBAAuB,mBAAmB,wBAAwB,aAAa,eAAe,aAAa,cAAc,kBAAkB,kBAAkB,WAAW,UAAU,SAAS,YAAY,gBAAgB,iBAAiB,iBAAiB,oBAAoB,uBAAuB,gBAAgB,SAAS,cAAc,iBAAiB,qBAAqB,cAAc,iBAAiB,MAAM,aAAa,cAAc,aAAa,YAAY,gBAAgB,oBAAoB,kBAAkB,QAAQ,iBAAiB,cAAc,UAAU,YAAY,aAAa,kBAAkB,iBAAiB,wBAAwB,qBAAqB,0BAA0B,iBAAiB,MAAM,iBAAiB,mBAAmB,eAAe,iBAAiB,WAAW,gBAAgB,qBAAqB,iBAAiB,mBAAmB,eAAe,qBAAqB,gBAAgB,aAAa,qBAAqB,cAAc,eAAe,aAAa,aAAa,MAAM,UAAU,cAAc,QAAQ,QAAQ,OAAO,cAAc,aAAa,gBAAgB,oBAAoB,iBAAiB,SAAS,kBAAkB,YAAY,gBAAgB,eAAe,cAAc,QAAQ,aAAa,UAAU,OAAO,WAAW,eAAe,OAAO,WAAW,qBAAqB,iBAAiB,cAAc,YAAY,aAAa,gBAAgB,cAAc,eAAe,iBAAiB,OAAO,qBAAqB,QAAQ,aAAa,aAAa,QAAQ,YAAY,aAAa,kBAAkB,yBAAyB,YAAY,cAAc,2BAA2B,gBAAgB,aAAa,mBAAmB,sBAAsB,0BAA0B,aAAa,kBAAkB,cAAc,aAAa,oBAAoB,eAAe,cAAc,gBAAgB,gBAAgB,SAAS,SAAS,gBAAgB,SAAS,SAAS,QAAQ,SAAS,iBAAiB,aAAa,SAAS,eAAe,QAAQ,cAAc,uBAAuB,eAAe,aAAa,YAAY,aAAa,oBAAoB,eAAe,iBAAiB,aAAa,qBAAqB,iBAAiB,iBAAiB,2BAA2B,gBAAgB,YAAY,0BAA0B,sBAAsB,oBAAoB,iBAAiB,gBAAgB,UAAU,gBAAgB,cAAc,OAAO,yBAAyB,8BAA8B,YAAY,eAAe,cAAc,mBAAmB,gBAAgB,OAAO,WAAW,gBAAgB,SAAS,OAAO,YAAY,iBAAiB,SAAS,YAAY,aAAa,OAAO,mBAAmB,0BAA0B,oBAAoB,YAAY,SAAS,cAAc,eAAe,QAAQ,oBAAoB,iBAAiB,UAAU,oBAAoB,aAAa,WAAW,WAAW,eAAe,iBAAiB,cAAc,WAAW,mBAAmB,YAAY,UAAU,oBAAoB,mBAAmB,cAAc,iBAAiB,SAAS,gBAAgB,kBAAkB,sBAAsB,eAAe,MAAM,OAAO,uBAAuB,gBAAgB,SAAS,eAAe,cAAc,UAAU,gBAAgB,gBAAgB,OAAO,QAAQ,eAAe,kBAAkB,kBAAkB,mBAAmB,WAAW,YAAY,SAAS,QAAQ,cAAc,QAAQ,MAAM,UAAU,YAAY,qBAAqB,cAAc,kBAAkB,kBAAkB,qBAAqB,OAAO,oBAAoB,QAAQ,WAAW,kBAAkB,kBAAkB,WAAW,iBAAiB,aAAa,aAAa,mBAAmB,eAAe,gBAAgB,MAAM,uBAAuB,MAAM,sBAAsB,iBAAiB,cAAc,aAAa,SAAS,iBAAiB,YAAY,aAAa,iBAAiB,sBAAsB,cAAc,OAAO,eAAe,cAAc,aAAa,aAAa,eAAe,cAAc,oBAAoB,WAAW,SAAS,cAAc,gBAAgB,cAAc,gBAAgB,eAAe,SAAS,gBAAgB,WAAW,aAAa,WAAW,SAAS,SAAS,gBAAgB,aAAa,UAAU,WAAW,SAAS,WAAW,YAAY,QAAQ,eAAe,cAAc,UAAU,iBAAiB,UAAU,YAAY,gBAAgB,UAAU,QAAQ,UAAU,eAAe,QAAQ,mBAAmB,QAAQ,QAAQ,MAAM,MAAM,qBAAqB,eAAe,aAAa,OAAO,QAAQ,OAAO,OAAO,OAAO,SAAS,cAAc,cAAc,YAAY,WAAW,wBAAwB,OAAO,OAAO,OAAO,QAAQ,UAAU,gBAAgB,WAAW,QAAQ,YAAY,SAAS,OAAO,aAAa,gBAAgB,SAAS,YAAY,YAAY,SAAS,UAAU,WAAW,SAAS,MAAM,gBAAgB,OAAO,UAAU,cAAc,gBAAgB,QAAQ,WAAW,SAAS,SAAS,UAAU,uBAAuB,eAAe,oBAAoB,aAAa,cAAc,WAAW,SAAS,gBAAgB,eAAe,WAAW,gBAAgB,QAAQ,YAAY,uBAAuB,YAAY,aAAa,eAAe,cAAc,UAAU,gBAAgB,UAAU,cAAc,WAAW,UAAU,cAAc,cAAc,mBAAmB,kBAAkB,YAAY,oBAAoB,aAAa,cAAc,WAAW,oBAAoB,OAAO,OAAO,gBAAgB,eAAe,QAAQ,OAAO,iBAAiB,eAAe,SAAS,QAAQ,eAAe,cAAc,eAAe,kBAAkB,cAAc,UAAU,iBAAiB,aAAa,sBAAsB,WAAW,QAAQ,OAAO,WAAW,YAAY,gBAAgB,gBAAgB,QAAQ,SAAS,aAAa,gBAAgB,SAAS,WAAW,aAAa,aAAa,qBAAqB,eAAe,aAAa,UAAU,YAAY,YAAY,YAAY,YAAY,iBAAiB,uBAAuB,cAAc,OAAO,oBAAoB,YAAY,iBAAiB,UAAU,UAAU,eAAe,eAAe,UAAU,sBAAsB,cAAc,sBAAsB,OAAO,UAAU,kBAAkB,QAAQ,0BAA0B,YAAY,YAAY,eAAe,QAAQ,WAAW,cAAc,eAAe,sBAAsB,gBAAgB,kBAAkB,SAAS,gBAAgB,QAAQ,YAAY,sBAAsB,YAAY,eAAe,eAAe,UAAU,QAAQ,sBAAsB,eAAe,OAAO,QAAQ,sBAAsB,kBAAkB,aAAa,WAAW,iBAAiB,gBAAgB,WAAW,UAAU,YAAY,oBAAoB,UAAU,eAAe,WAAW,SAAS,0BAA0B,eAAe,WAAW,mBAAmB,SAAS,oBAAoB,UAAU,eAAe,YAAY,2BAA2B,oBAAoB,YAAY,eAAe,mBAAmB,qBAAqB,wBAAwB,UAAU,kBAAkB,WAAW,kBAAkB,cAAc,iBAAiB,WAAW,aAAa,YAAY,kBAAkB,YAAY,kBAAkB,WAAW,gBAAgB,WAAW,cAAc,oBAAoB,aAAa,QAAQ,SAAS,gBAAgB,eAAe,UAAU,gBAAgB,aAAa,qBAAqB,gBAAgB,eAAe,MAAM,eAAe,WAAW,0BAA0B,aAAa,WAAW,uBAAuB,cAAc,0BAA0B,WAAW,gBAAgB,WAAW,iBAAiB,eAAe,WAAW,gBAAgB,aAAa,cAAc,WAAW,iBAAiB,cAAc,WAAW,iBAAiB,gBAAgB,eAAe,WAAW,kBAAkB,WAAW,gBAAgB,WAAW,gBAAgB,uBAAuB,oBAAoB,oBAAoB,WAAW,eAAe,sBAAsB,iBAAiB,uBAAuB,WAAW,cAAc,WAAW,eAAe,WAAW,WAAW,WAAW,WAAW,oBAAoB,SAAS,sBAAsB,SAAS,WAAW,sBAAsB,eAAe,qBAAqB,aAAa,SAAS,cAAc,eAAe,UAAU,6BAA6B,OAAO,iBAAiB,gBAAgB,gBAAgB,iBAAiB,6BAA6B,8BAA8B,WAAW,UAAU,sBAAsB,2BAA2B,mBAAmB,OAAO,oBAAoB,KAAK,sBAAsB,iBAAiB,OAAO,OAAO,OAAO,UAAU,OAAO,cAAc,UAAU,OAAO,OAAO,MAAM,MAAM,OAAO,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,QAAQ,QAAQ,cAAc,OAAO,QAAQ,WAAW,OAAO,eAAe,WAAW,kBAAkB,UAAU,sBAAsB,kBAAkB,QAAQ,cAAc,UAAU,eAAe,gBAAgB,0BAA0B,UAAU,YAAY,UAAU,WAAW,UAAU,MAAM,kBAAkB,mBAAmB,gBAAgB,gBAAgB,YAAY,mBAAmB,mBAAmB,gBAAgB,WAAW,kBAAkB,MAAM,YAAY,mBAAmB,YAAY,oBAAoB,WAAW,YAAY,UAAU,gBAAgB,mBAAmB,sBAAsB,KAAK,YAAY,eAAe,aAAa,cAAc,iBAAiB,sBAAsB,iBAAiB,cAAc,aAAa,iBAAiB,wBAAwB,gBAAgB,iBAAiB,iBAAiB,cAAc,eAAe,kBAAkB,MAAM,aAAa,wBAAwB,aAAa,YAAY,aAAa,sBAAsB,kBAAkB,sBAAsB,kBAAkB,uBAAuB,gBAAgB,QAAQ,YAAY,0BAA0B,oBAAoB,iBAAiB,cAAc,uBAAuB,qBAAqB,aAAa,oBAAoB,oBAAoB,oBAAoB,eAAe,MAAM,oBAAoB,sBAAsB,YAAY,yBAAyB,MAAM,MAAM,yBAAyB,SAAS,UAAU,cAAc,iBAAiB,iBAAiB,QAAQ,YAAY,cAAc,QAAQ,MAAM,WAAW,aAAa,iBAAiB,wBAAwB,qBAAqB,cAAc,SAAS,aAAa,UAAU,WAAW,iBAAiB,kBAAkB,SAAS,mBAAmB,kBAAkB,eAAe,iBAAiB,cAAc,gBAAgB,WAAW,OAAO,YAAY,iBAAiB,aAAa,kBAAkB,aAAa,cAAc,kBAAkB,iBAAiB,eAAe,kBAAkB,WAAW,wBAAwB,sBAAsB,eAAe,QAAQ,oBAAoB,cAAc,sBAAsB,yBAAyB,aAAa,oBAAoB,QAAQ,oBAAoB,gBAAgB,gBAAgB,UAAU,oBAAoB,QAAQ,aAAa,cAAc,UAAU,eAAe,UAAU,sBAAsB,YAAY,QAAQ,kBAAkB,YAAY,cAAc,aAAa,WAAW,MAAM,YAAY,SAAS,YAAY,SAAS,gBAAgB,UAAU,mBAAmB,eAAe,WAAW,aAAa,eAAe,cAAc,OAAO,cAAc,wBAAwB,wBAAwB,kBAAkB,iBAAiB,cAAc,sBAAsB,eAAe,4BAA4B,gBAAgB,gBAAgB,SAAS,WAAW,UAAU,gBAAgB,iBAAiB,uBAAuB,WAAW,SAAS,YAAY,iBAAiB,WAAW,WAAW,kBAAkB,WAAW,aAAa,YAAY,eAAe,WAAW,WAAW,eAAe,aAAa,cAAc,gBAAgB,0BAA0B,cAAc,eAAe,sBAAsB,eAAe,aAAa,YAAY,kBAAkB,oBAAoB,SAAS,QAAQ,iBAAiB,aAAa,eAAe,YAAY,yBAAyB,OAAO,eAAe,aAAa,mBAAmB,WAAW,MAAM,SAAS,oBAAoB,WAAW,QAAQ,gBAAgB,OAAO,gBAAgB,qBAAqB,eAAe,mBAAmB,sBAAsB,YAAY,MAAM,iBAAiB,cAAc,iBAAiB,UAAU,SAAS,aAAa,eAAe,oBAAoB,YAAY,SAAS,sBAAsB,oBAAoB,aAAa,gBAAgB,qBAAqB,WAAW,aAAa,gBAAgB,iBAAiB,aAAa,eAAe,WAAW,YAAY,WAAW,sBAAsB,mBAAmB,aAAa,cAAc,4BAA4B,UAAU,cAAc,gBAAgB,aAAa,OAAO,UAAU,gBAAgB,eAAe,sBAAsB,aAAa,aAAa,gBAAgB,eAC90kBC,OACFC,gBAAiB,CAAC,UAAW,YAAa,SAAU,OAAQ,WAAY,WAAY,OAAQ,YAG9F,SAASC,IACPC,QAAQC,IAAK,2BAA4BX,GAGzCA,EAAyBA,EAAuBY,OAASC,GAAUA,EAAMC,SAEzEd,EAAuBe,QAAUF,IAE/B,IAAIG,EAAgBH,EAAMI,WAAWC,UAAYC,GAAsB,WAAbA,EAAK5E,MAC3DyE,GAAiB,GACnBH,EAAMI,WAAWpF,OAAOmF,EAAe,GAIzC,IAAII,EAAoBP,EAAMI,WAAWC,UAAYC,GAAsB,eAAbA,EAAK5E,MAC/D6E,GAAqB,IACvBP,EAAMI,WAAWG,GAAmB7E,KAAO,UAC3CsE,EAAMI,WAAWG,GAAmBC,MAAQ,iBAM1CR,EAAMS,QAAQ3B,QAAQ,eAAiB,GAAKkB,EAAMS,QAAQ3B,QAAQ,YAAc,KAClFkB,EAAMS,QAAUT,EAAMS,QAAQC,QAAU,iBAAkB,iBAC1DV,EAAMS,QAAUT,EAAMS,QAAQC,QAAU,cAAe,eAEzD,IAAIC,EAAaX,EAAMI,WACvBO,EAAWT,QAAUI,IACnB,IAAK,IAAIM,KAAqBN,EAAM,CAClC,IAAIO,EAAgBP,EAAKM,GAGzB,GAA4B,iBAAjBC,GAA4D,GAA/BA,EAAc/B,QAAQ,MAAY,CACxE,IAAIgC,EAAeD,EAAc3D,MAAM,GAAG,GACtC6D,EAAgBvB,EAAoBsB,GACxCR,EAAKM,GAAqBG,EAKxBC,MAAMC,QAAQJ,KAChBP,EAAKM,GAAqBC,EAAc,SAWhDhB,QAAQC,IAAK,2BAA4BX,GAG3CS,IAEA,IAAIsB,EAAmB/B,EAMvB+B,EAAiB9G,KAAK,CACpB+G,KAAM,kBAAmBX,MAAO,mBAAoBY,QAAS,kBAC7DX,QAAS,uDACTL,WAAY,GACZiB,WAAW,EAAWC,UAAU,EAAWC,WAAW,IAIxDL,EAAiB9G,KAAK,CACpB+G,KAAM,SAAUX,MAAO,QAASY,QAAS,SACzCX,QAAU,sGACVe,cAAgB,0CAEhBH,WAAW,EAAWC,UAAU,EAAWC,WAAW,EACtDnB,WAAY,CACV,CAAEI,MAAO,OAAQ9E,KAAM,OAAQyF,KAAK,2BACpC,CAAEX,MAAO,SAAU9E,KAAM,SAAUyF,KAAK,qBACxC,CAAEX,MAAO,SAAU9E,KAAM,SAAUyF,KAAK,aAI7BD,Q,oWChFf,IAKIO,EAAWC,EALXC,EAAapE,eAAI,QAMrB,SAASqE,EAAgBpE,GACnBiE,EAAYjE,EAAMiE,UAClBC,EAAWlE,EAAMkE,SAKvBjD,eAAW,QAMX,MAAMoD,EAAyBC,eAAU,KACrC,IAAIC,EAAS,GAYb,OAXAC,EAAe7F,MAAM+D,QAAS+B,IAC1BF,EAAO3H,KACH,CAAI8H,GAAI,kBACJf,KAAM,kBAAmBX,MAAO,mBAAoBY,QAAS,kBAC7DX,QAAU,8BAA6BwB,EAAQd,sBAAsBc,EAAQvG,8DAC7E0E,WAAY,GACZiB,WAAW,EAAWC,UAAU,EAAWC,WAAW,EACtDU,QAASA,MAIdF,IAGLC,EAAiBF,eAAU,KAC7B,IAAIK,EAOJ,OANI3E,EAAM4E,QAAQC,MAAM,GAAGC,MAAMC,SACL,MAApBZ,EAAWxF,MACXgG,EAASK,OAAEC,OAAQjF,EAAM4E,QAAQC,MAAM,GAAGC,MAAMC,OAASG,GAAiBA,EAAMhH,KAAKiH,eAC5D,QAApBhB,EAAWxF,QAChBgG,EAASK,OAAEC,OAAQjF,EAAM4E,QAAQC,MAAM,GAAGC,MAAMC,OAASG,GAAiBA,EAAMvB,KAAKwB,cAAgB,IAAMD,EAAMhH,KAAKiH,iBAEvHR,IAGLS,EAAkB,SAASX,EAASY,GACtC,IAAIC,EAAUD,EAAOE,OACrBrF,EAAK,gBAAiB,CAAEoF,UAASb,aAE/Be,EAAe,WACjBtF,EAAK,gBAAiB,CAAEoF,QAAQ,KAAMb,QAAQ,Q,OAGlDgB,EAAa,CACTrB,oB,k+BC7EJ,MAAM,GAA2B,IAAgB,GAAQ,CAAC,CAAC,YAAY,qBAExD,U,UCAA,I,q9BCqBTsB,EAAmB,SAASlD,GAC9B,MAAMrF,EAAS,mBAAmBqF,EAAMmB,KAAKgC,MAAM,MAAMC,KAAK,IAAI,OAClE,OAAOzI,GAGX,SAAS0I,EAAeC,EAAMhD,GAC1B,IAAIiD,GAAa,IAAIC,WAAYC,gBAAgBH,EAAK7C,QAAS,aAAaiD,KAAKC,WAAW,GAGxFC,EAAWtD,EACfiD,EAAWM,aAAc,SAAWD,EAAUpG,EAAMsG,yBAAyBC,aAC7E,IAAIC,EAAiBT,EAAWU,UAChCC,OAAOC,cAAcC,YAAaJ,GAClCK,GAAY,GAGhB,SAASA,EAAYC,GACjB5G,EAAK,cAAe4G,G,o7BCxCxB,MAAM,GAA2B,IAAgB,GAAQ,CAAC,CAAC,YAAY,qBAExD,U,aCPf,IAAIC,GAA4B,GAChCrD,EAAiBhB,QAASF,IACxBuE,GAA0BvE,EAAMoB,SAAWpB,IAK9B,MAAMwE,GACnBC,cACE,MAAM,IAAIC,MACR,mEAIJ,6BAA6B5B,GAG3B,KAAMA,aAAmB6B,MACzB,MAAM,IAAID,MAAM,yBAIhBF,GAAmBI,yBAAyB9B,GAG5C,IAAK,IAAIlJ,EAAI,EAAGA,EAAIkJ,EAAQa,WAAW7J,OAAQF,IAC/C4K,GAAmBK,sBACf/B,EAAQa,WAAW/J,IAK3B,gCAAiCkJ,GAC7B,IAAIgC,EAAiB9H,OAAO+H,WAAWC,kBACnCC,EAAW,MACXC,EAAUD,EAAW,MACrBE,EAAUF,EAAW,MACrBG,EAA+B,CAAE,UAAW,SAAU,QACtDC,EAAyB,CAAE,QAAS,QAAS,MAC7CC,EAAgBxC,EAAQyC,SACxBC,EAAsBjB,GAA0Be,GAG5C,IAAKE,EACT,OAEJ,IAAIC,EAAiCD,EAAoBpF,WACrDsF,EAAwB5C,EAAQ6C,oBACpCD,EAAsBxF,QAAU0F,IAE5B,GAAIP,EAAuBvG,QAAQ8G,IAAkB,EACjD,OAGJ,IAAIC,EAAWD,EAAcE,WAAW,KACpCC,EAAYF,EAAWD,EAAc1I,MAAM,GAAK0I,EAChDI,EAAYH,GAAYT,EAA6Ba,KAAOC,GACd,IAAvCN,EAAc9G,QAAQoH,IAE7BC,EAAiBrD,EAAQsD,aAAcR,GACvCS,EAAsBZ,EAA+Ba,KAAMC,GAAMA,EAAG7K,OAASqK,GAC7ES,EAAsE,MAAlC1B,EAAeqB,GAGnDE,IAEIL,EACIQ,EACA1D,EAAQe,aAAcsB,EAASY,EAAWI,GAE1CrD,EAAQe,aAAcqB,EAASa,EAAWI,GAI1B,IAAhBA,EACArD,EAAQe,aAAcqB,EAASa,EAAW,QAE1CjD,EAAQe,aAAcqB,EAASa,EAAWI,GAGlDrD,EAAQ2D,gBAAiBb,MAKrC,+BAA+B9C,GAC3B,IAAImC,EAAW,MACXC,EAAUD,EAAW,MACrBE,EAAUF,EAAW,MACrBK,EAAgBxC,EAAQyC,SACxBC,EAAsBjB,GAA0Be,GACpD,IAAKE,EACD,OAEJ,IAAIC,EAAiCD,EAAoBpF,WAErDsF,EAAwB5C,EAAQ6C,oBACpCD,EAAsBxF,QAAS0F,IAC3B,IAAIO,EAAiBrD,EAAQsD,aAAcR,GAC3C,GAAIA,EAAcE,WAAWZ,GAAU,CACnC,IAAIwB,EAAed,EAAclF,QAAQwE,EAAS,IAC9CmB,EAAsBZ,EAA+Ba,KAAMC,GAAMA,EAAG7K,OAASgL,GACjF,IAAKL,EACD,MAAM,IAAI3B,MAAO,uCAAyCgC,GAE9D,IAAIC,EAAWN,EAAoBlF,KAEd,UAAjBmE,GAA6B,CAAC,OAAQ,SAAU,UAAUsB,SAASF,IAEjD,UAAZC,IACND,EAAgB,IAAMA,GAG1B5D,EAAQe,aAAa6C,EAAcP,GACnCrD,EAAQ2D,gBAAgBb,QACrB,GAAIA,EAAcE,WAAWX,GAAU,CAC1C,IAAIuB,EAAed,EAAclF,QAAQyE,EAAS,IAC9C0B,EAAiC,YAAjBH,EAA6B,GAAK,IACtD5D,EAAQe,aAAagD,EAAgBH,EAAcP,GACnDrD,EAAQ2D,gBAAgBb,MAKpC,6BAA6BkB,GACzB,IAAIC,EAAWD,EAAYpI,iBAAiB,KAC5CqI,EAAS7G,QAAQ4C,IACb0B,GAAmBwC,wBAAwBlE,KAInD,qBAAqBmE,GACjB,MAAqB,kBAAVA,GAAsB,gBAAgBC,KAAKD,GAC3C,SACU,SAAVA,GAA8B,UAAVA,GAAsC,mBAAVA,EAChD,UACAjG,MAAMC,QAAQgG,IAAU,WAAWC,KAAKD,GACxC,QAEA,U,iBC5IA,MAAME,GACjB1C,cACI,MAAM,IAAIC,MAAM,8DAKpB,qBACI,OAAOyC,GAAcC,SAEzB,mBAAmBjL,GACfgL,GAAcC,SAAWjL,GAEhCkL,gBAboBF,GAAa,WAKZ,M,0aC8BtBnK,OAAOwH,mBAAqBA,GAM5B,IAAI8C,EAAc/J,eAAIC,EAAM4E,QAAQC,MAAM,GAAGC,MAAMC,QAC/CyC,EAAoB,GACxBsC,EAAYnL,MAAM+D,QAASwC,IACvBsC,EAAkBtC,EAAMhH,MAAQgH,IAGpC,IAAIX,EAASb,EAAiBqG,IAAMC,IAClC3H,QAAQC,IAAK,kCAAmC0H,EAAK/G,SACrD,IAAIgH,EAAS,CACXtG,KAAMqG,EAAKrG,KACXX,MAAOgH,EAAKhH,MACZY,QAASoG,EAAKpG,QAEdc,GAAIsF,EAAKrG,KACTuG,SAAUF,EAAKE,SACfjH,QAAS+G,EAAK/G,QACdY,UAAWmG,EAAKnG,UAChBE,UAAWiG,EAAKjG,UAChBD,SAAUkG,EAAKlG,SAGfqG,UAAU,GAEZ,OAAOF,IAITzK,OAAO4K,kBAAoB,KAE3B,IAAI9D,EAA2BvG,eAAI,MAC/BsK,EAAoBtK,eAAI,MACxBuK,EAAgBvK,eAAI,IAExB,SAASwK,EAA0BzD,GAC7BA,IACFJ,OAAOC,cAAclF,SACrBjC,OAAO4K,kBAAoB,KAC3B1D,OAAO8D,OAAO,OAEhBlE,EAAyB3H,MAAQ,KAKnC,SAAS8L,EAAiBC,GAExB,GADAhE,OAAO8D,OAAOE,GACiB,mBAA3BA,EAAKC,WAAW/G,QAA8B,KAAAgH,EAChD,IAAIC,EAASH,EAAKI,KAAKC,IAAI,GAAGC,WAC1BC,EAAoC,QAArBL,EAAGC,EAAOK,mBAAW,IAAAN,OAAA,EAAlBA,EAAoBD,WAAWhH,KAEhC,UAAnBsH,GACAP,EAAKC,WAAWA,WAAWpE,aAC3BmE,EAAKC,WAAWA,WAAWQ,UAE3BzE,OAAO8D,OAAOK,EAAOK,aACrBhL,EAAK,4BAA6B,CAChCkL,YAAaP,EAAOK,YACpBG,YAAaX,EAAKC,WAAWA,cAG/BW,EACEZ,EAAKC,WAAWA,WAAWpE,YAC3BmE,EAAKC,WAAWA,WAAWQ,WAOnC,SAASG,EAAgB/E,EAAa4E,GAGpC,IAAII,EAAO7H,EACP8H,EAAa,GACjBD,EAAK7I,QAAS+I,IACZ,IAAIC,EAAgBD,EAAI9H,KACpBf,EAAa6I,EAAI7I,WACjB+I,EAAgC/I,EACjCL,OAAQlD,IACP,IAAIuM,EAAcvM,EAASsE,MAAQwH,EAC/BU,EAA4B,WAAjBxM,EAASnB,KACxB,OAAO0N,GAAeC,IAEvB9B,IAAK1K,GAAaA,EAASnB,MAE5ByN,EAA8BrP,OAAS,IACtCqP,EAA8BvC,SAAS,YACtCuC,EAA8BvC,SAAS,SACvCuC,EAA8BvC,SAAS,YAEzCoC,EAAW5O,KAAK,CACd+G,KAAM+H,EACN1I,MAAOyI,EAAIzI,MACXC,QAASwI,EAAIxI,QACb6I,mBAAoBH,MAI1BrF,EAAyB3H,MAAQ,CAC/B6M,WAAYA,EACZjF,YAAaA,EACb4E,SAAUA,GAoEZ,SAASY,EAA6BpI,GACpC,IAAI4H,EAAO7H,EACPvG,EAASoO,EAAKzC,KAAM2C,GAAQA,EAAI9H,KAAKwB,eAAiBxB,EAAKwB,eAC/D,OAAOhI,EAjETqC,OAAO+H,WAAa,CAClByE,aAAc,KACdC,gBAAiB,SAASC,GACtBC,KAAKH,aAAeE,EACpB,MAAME,EAAQ,IAAIC,YAAY,oBAAqB,CAAEC,OAAQJ,IAC7D,IAAK,IAAIK,KAAe/M,OAAOgN,iBAAkB,CAC/C,IAAIC,EAAYjN,OAAOgN,iBAAiBD,GACvB,MAAbE,GACFA,EAAUC,sBAAsBN,MAO1C5M,OAAO+H,WAAWyE,aAAe,CAC7B,WAAc,CACV,CACI,KAAQ,UACR,KAAQ,UACR,EAAK,CAAE,EAAG,EAAG,EAAG,EAAG,GACnB,EAAK,CAAE,EAAG,EAAG,EAAG,EAAG,IAEvB,CACI,KAAQ,UACR,KAAQ,UACR,EAAK,CAAE,EAAG,EAAG,EAAG,EAAG,GACnB,EAAK,CAAE,EAAG,EAAG,EAAG,EAAG,KAG3B,WAAc,CACV,QAAW,CAAC,OAAQ,MAAO,SAAU,QACrC,KAAQ,CACJ,KAAQ,CAAC,OAAQ,OAAQ,MAAO,SAChC,IAAO,CAAC,GAAI,GAAI,GAAI,IACpB,OAAU,CAAC,KAAM,KAAM,KAAM,MAC7B,SAAY,CAAC,EAAG,EAAG,EAAG,GACtB,KAAQ,CAAC,SAAU,QAAS,OAAQ,YAG5C,WAAc,CACV,KAAQ,CAAC,OAAQ,OAAQ,MAAO,SAChC,IAAO,CAAE,GAAI,GAAI,GAAI,IACrB,OAAU,CAAC,KAAM,KAAM,KAAM,MAC7B,SAAY,CAAC,EAAG,EAAG,EAAG,GACtB,KAAQ,CAAC,SAAU,QAAS,OAAQ,WAIxC,WAAc,CACV,KAAQ,CAAE,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,IAClC,YAAe,CAAE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAC7C,SAAY,CAAE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAC1C,WAAc,CAAE,GAAI,GAAI,EAAG,GAAI,GAAI,GAAI,GAAI,KAE/CW,QAAS,CAAC,EAAE,EAAE,EAAE,EAAE,GAClBC,QAAS,CAAC,GAAG,GAAG,GAAG,GAAG,IACtBC,QAAS,CAAC,GAAG,GAAG,GAAG,GAAG,IACtBC,QAAS,CAAC,GAAG,GAAG,GAAG,GAAG,IACtBC,QAAS,CAAC,EAAE,GAAG,EAAE,GAAG,KASxBvN,OAAO+H,WAAWwE,6BAA+BA,EACjDvM,OAAO+H,WAAWC,kBAAoBA,EAExC,IAKMwF,EAknBF/I,EAvnBAgJ,EAAUtD,GAAcsD,QACtBC,EAAU,YACVC,EAAU,OACVC,EAAW,KACXC,EAAS,GAAED,OAAcF,KAAWC,IAK1C,SAASG,EAA6BrO,EAAKN,GACvC2L,EAAc3L,MAAMM,GAAON,EAC3Ba,OAAO+H,WAAW0E,gBAAgB3B,EAAc3L,OAGpD,SAAS4O,EAAeC,EAASC,EAAQ,IACvC,IAAI5N,EAAM+B,KAAKE,UAAU,CACnB,QAAWmL,EACX,QAAWO,EACX,QAAWC,IAEbT,EAAGU,KAAM7N,GAGf,SAAS8N,IAkCL,OAjCFX,EAAK,IAAIY,UAAUP,GAEjBL,EAAGa,iBAAiB,OAAQzB,IAC1BmB,EAAe,eAGjBP,EAAGa,iBAAiB,UAAWzB,IAC7B,GAAkB,oBAAdA,EAAMtQ,MAUJ,GAA+B,GAA3BsQ,EAAMtQ,KAAKwF,QAAQ,KAAY,CACvC,IAAIwM,EAAYlM,KAAKC,MAAOuK,EAAMtQ,MACb,MAAjBgS,EAAU7O,KACZqO,EAA6BQ,EAAU7O,IAAK6O,EAAUnP,aAZxD4O,EAAe,WACf,CACEE,QAAQ,CACN,MAAS,UACT,QAAU,EACV,QAAU,OAYlBT,EAAGa,iBAAiB,QAASzB,IAC3B/J,QAAQC,IAAK,6BAA8B8J,KAG7CY,EAAGa,iBAAiB,QAASE,IAC3B1L,QAAQC,IAAK,6BAA8ByL,KAGtCf,EAUX,SAASgB,IAEP,IAAIC,EAAUjO,EAAM4E,QAAQC,MAAM,GAAGqJ,KAAKD,QACtCE,EAAe,oBAAmBnO,EAAM4E,QAAQwJ,KAChDC,EAAkB,CACpB,yCACA,8CACA,8CACA,2CACA,4CACA,iDACA,qDACA,sEAGEC,EAAgB,GACpBL,EAAQvL,QAAS6L,IACf,GAAIF,EAAgBjF,SAASmF,GAC3B,OAEF,IAAIC,EAAaL,EAAcI,EAC/BD,EAAc1R,KAAK4R,KAErBF,EAAc1R,KAAK,uBAEnB,IAAI6R,EAAe,GAEnBA,EAAa7R,KAAM,yFACnB6R,EAAa7R,KAAMuR,EAAc,iDACjCM,EAAa7R,KAAMuR,EAAc,kDACjCM,EAAa7R,KAAM,yBAEnB,MAAM8J,EAAUlH,OAAOkH,OAASgI,KAASC,KAAK,CAC5CC,UAAW,OACXC,aAAa,EACbC,gBAAgB,EAChBC,OAAQ,CACNd,QAASK,EACTU,OAAQP,GAMVQ,aAAc,CACZC,QAAQ,EAER3K,OAAQA,GAEV4K,aAAc,CACZC,SAAU,0BACNC,QAAS,CAAC,CACNnR,KAAM,UACN0E,WAAW,CACT,CACE0M,OAAQ,QACR3L,KAAM,QACN4L,QAAS,OACTC,QAAS,CACP,CAAE7Q,MAAO,OAAQ8Q,UAAW,eAC5B,CAAE9Q,MAAO,OAAQ8Q,UAAW,oBAC5B,CAAE9Q,MAAO,QAAS8Q,UAAW,uBAGjC,UACA,CAAEH,OAAQ,WAAY3L,KAAM,UAC5B,MACA,QACA,OACA,WAED,CACCzF,KAAM,YACNwR,MAAM,EACN9M,WAAY,CACV,QACA,CACE8B,GAAI,aACJf,KAAM,UACNzF,KAAM,QACNyR,MAAO,CAAC,KAAM,KACdtQ,SAAU,aACVuQ,UAAW,GAEb,SACA,YACA,aACA,SACA,YAEF,CACA1R,KAAM,aACNwR,MAAM,EACN9M,WAAY,CACR,cACA,YACA,cACA,iBACA,QACA,cACA,CACE0M,OAAQ,aACRE,QAAS,CACP,CAAE9K,GAAK,OAAS1B,MAAQ,OAAWyM,UAAW,oBAC9C,CAAE/K,GAAK,SAAW1B,MAAQ,SAAWyM,UAAW,sBAChD,CAAE/K,GAAK,QAAW1B,MAAQ,QAAWyM,UAAW,qBAChD,CAAE/K,GAAK,UAAW1B,MAAQ,UAAayM,UAAW,yBAGtD,CACEpQ,SAAU,kBACVsE,KAAM,QACN4L,QAAS,OACTC,QAAS,CACP,CAAE9K,GAAI,OAAQ1B,MAAO,OAAQyM,UAAW,eACxC,CAAE/K,GAAI,YAAa1B,MAAO,YAAayM,UAAW,mBAClD,CAAE/K,GAAI,eAAgB1B,MAAO,eAAgByM,UAAW,yBAG5D,gBAEJ,CACAvR,KAAM,cACNwR,MAAM,EACN9M,WAAY,CACV,UACA,gBACA,SACA,aACA,eAEF,CACA1E,KAAM,QACNwR,MAAM,EACNG,WAAY,CACV,aACA,cACA,cAEF,CACA3R,KAAM,OACNwR,MAAM,EACN9M,WAAY,CAAC,CACX1E,KAAM,iBACNmB,SAAU,UACVsE,KAAM,SACNmM,SAAU,QACVC,KAAM,CACJ,CAAEpR,MAAO,QAAST,KAAM,WACxB,CAAES,MAAO,OAAQT,KAAM,YAEzB,CACAA,KAAM,cACNmB,SAAU,oBACVsE,KAAM,WACN,CACAzF,KAAM,YACNmB,SAAU,iBACVsE,KAAM,QACNmM,SAAU,MACVC,KAAM,CAAC,CACLpR,MAAO,MACPT,KAAM,MACNuR,UAAW,0BACXhP,MAAO,OACP,CACA9B,MAAO,cACPT,KAAM,cACNuR,UAAW,8BACXhP,MAAO,eACP,CACA9B,MAAO,SACPT,KAAM,SACNuC,MAAO,SACPgP,UAAW,2BACX,CACA9Q,MAAO,iBACPT,KAAM,iBACNuC,MAAO,iBACPgP,UAAW,iCAEb,CACAvR,KAAM,UACNmB,SAAU,kBACVsE,KAAM,QACNmM,SAAU,aACVC,KAAM,CAAC,CACLpR,MAAO,aACP8Q,UAAW,6BACXhP,MAAO,SACP,CACA9B,MAAO,WACP8B,MAAO,MACPgP,UAAW,4BACX,CACA9Q,MAAO,gBACP8B,MAAO,gBACPgP,UAAW,+BACX,CACA9Q,MAAO,eACP8B,MAAO,eACPgP,UAAW,8BACX,CACA9Q,MAAO,SACP8B,MAAO,SACPgP,UAAW,kCAEb,CACAvR,KAAM,QACNmB,SAAU,cACVsE,KAAM,QACNmM,SAAU,SACVC,KAAM,CAAC,CACLpR,MAAO,aACP8B,MAAO,QACPgP,UAAW,4BACX,CACA9Q,MAAO,WACP8B,MAAO,MACPgP,UAAW,0BACX,CACA9Q,MAAO,UACP8B,MAAO,UACPgP,UAAW,0BACX,CACA9Q,MAAO,SACP8B,MAAO,SACPgP,UAAW,+BAEb,CACAvR,KAAM,gBACNmB,SAAU,oBACVsE,KAAM,WACN,CACAzF,KAAM,QACNmB,SAAU,QACVsE,KAAM,UACNmM,SAAU,EACVE,IAAK,GACL,CACA9R,KAAM,OACNmB,SAAU,OACVsE,KAAM,YACNf,WAAc,CAAC,CACb1E,KAAM,OACNmB,SAAU,YACVsE,KAAM,UACNmM,SAAU,EACVE,IAAK,GACL,CACA9R,KAAM,SACNmB,SAAU,cACVsE,KAAM,UACNmM,SAAU,EACVE,IAAK,GACL,CACA9R,KAAM,QACNmB,SAAU,aACVsE,KAAM,UACNgM,MAAO,CAAC,KAAK,IAAI,IACjBM,KAAM,GACNH,SAAU,UAEZ,CACA5R,KAAM,QACNmB,SAAU,aACVsE,KAAM,QACNmM,SAAU,OACVC,KAAM,CAAC,CACLpR,MAAO,OACPT,KAAM,QACN,CACAS,MAAO,aACP8B,MAAO,QACPgP,UAAW,4BACX,CACA9Q,MAAU,WACV8B,MAAO,MACPgP,UAAW,0BACX,CACA9Q,MAAU,UACV8B,MAAO,UACPgP,UAAW,0BACX,CACA9Q,MAAU,SACV8B,MAAO,SACPgP,UAAW,sCAUzB,OAAES,GAAWxJ,EAEnBwJ,EAAOC,UAAU,QAAS,eAAeC,IAAI,UAAU,GAGrD1J,EAAO2J,WAAW,iBAElB3J,EAAO4J,GAAG,qBAAuBC,IAC/BrQ,EAAK,oBAAqBqQ,KAG5B7J,EAAO4J,GAAG,gBAAiB7F,GAE3B/D,EAAO4J,GAAG,kBAAmB,CAACE,EAAcrT,EAAQiP,KAElD,GAAIoE,EAAc,CAChB,IAAIC,EAAaD,EAAaE,QAAQ,QACtCD,EAAa7O,KAAKC,MAAM4O,GACK,WAAzBA,EAAWE,aACbxT,EAAO8F,QAAW,uDAAsDwN,EAAWlK,0BAA0BkK,EAAWtF,gBAAgBsF,EAAWlK,yCAIrJpJ,EAAO8F,QAAU9F,EAAO8F,QAAQA,UAKpC2N,sCAAwBlK,GAGxBhD,EAAiBhB,QAASmO,IACxB,MAAMC,EAAY,CAAC,SAAU,mBACzBA,EAAU1H,SAASyH,EAAWlN,OAGlC+C,EAAOqK,cAAcC,QAAQH,EAAWlN,KAAM,CAC5CsN,YAAclI,IACZ,GAAIA,EAAGnF,SAAWiN,EAAWjN,QAC3B,MAAO,CAAED,KAAMkN,EAAWlN,KAAMzF,KAAM2S,EAAW7N,QAGrD8B,MAAO,CACLgL,SAAU,CAER/L,UAAW8M,EAAW9M,UACtBF,UAAWgN,EAAWhN,UACtBC,SAAU+M,EAAW/M,SACrByK,OAAQ,WACN,IAAI2C,EAAa1R,OAAOqL,OAAOtD,WAAWyE,aAE1C,IAAImF,EAAWhF,KAAKxB,WAAWjG,GAAG0M,UAUlC,SAASC,EAAoBC,GAC3B,IAAIC,EAAmB,GACnBC,EAAiBjV,OAAOkV,oBAAoBH,GAKhD,OAJAE,EAAe9O,QAAUgP,IACvB,IAAI/I,GAAiB2I,EAAaI,GAA0BJ,EAAaI,IACzEH,EAAiBG,GAAY/I,IAExB4I,EAfT/R,OAAOqL,OAAO8G,mBAAoBR,EAAUhF,MAE5CA,KAAKO,sBAAyBN,IAC1B8E,EAAa9E,EAAME,OACnBiF,EAAmBF,EAAoBlF,KAAKxB,YAC5CwB,KAAKyF,OAAOC,iBAAiBX,IAYjC,IAAItN,EAAUuI,KAAKjB,YAAYP,WAAW/G,QAEtCmI,GADmBI,KAAKjB,YAAYP,WAAWA,WAChBnL,OAAOqL,OAAOtD,WAAWwE,8BACxDvE,EAAoBhI,OAAOqL,OAAOtD,WAAWC,kBAC7CQ,EAAsB+D,EAA8BnI,GAEpD2N,EAAmBF,EAAoBlF,KAAKjB,YAAYP,WAAWA,YAGvEwB,KAAKyF,OAAS,IAAIE,IAAI,CAClB/I,GAAI,gBAAgBoI,EAEpBrV,KAAM,WAEF,MAAO,CACH0R,QAAQ,aACR7C,WAAY4G,EACZL,WAAYA,IAGpB5M,SAAS,CACPyN,mBACE,IAAI5U,EAAS,GACT6U,EAAmB7F,KAAKxB,WAC5BtI,QAAQC,IAAK,mBAAoB0P,GACjC,IAAK,IAAIC,KAAUD,EAAkB,CACnC,IAAI/S,EAAmB,KAAbgT,EAAO,GAAYA,EAAOC,UAAU,GAAKD,EAC/CE,EAAqBnK,EAAoBpF,WAAWkG,KAAMhG,GAAQA,EAAK5E,MAAQe,GAC/E0J,EAAiBqJ,EAAiBC,GAClCG,EAAsD,MAArC5K,EAAkBmB,GAC5B,WAAP1J,EAIAkT,EACEC,EACFjV,EAAQ,IAAG8B,GAASkN,KAAK+E,WAAWvI,GAEL,UAA3BwJ,EAAmBxO,KACrBxG,EAAQ,GAAE8B,GAAS0J,EAEnBxL,EAAQ,IAAG8B,GAAS0J,EAIxBxL,EAAQ,GAAE8B,GAAS0J,EAdnBxL,EAAO,WAAagP,KAAK+E,WAAWvI,GAiBxC,OAAOxL,IAGXkV,QAAS,CACLR,iBAAiBS,GACbnG,KAAK+E,WAAaoB,GAEtBC,iBAAiBC,GACbrG,KAAKxB,WAAa0G,EAAoBmB,GACtCjB,EAAmBpF,KAAKxB,WACxBwB,KAAK0F,iBAAiB1F,KAAK+E,YAC3B/E,KAAKsG,iBAIbC,gBAMR/D,OACExC,KAAKwG,SAASxG,KAAM,oBAAqBA,KAAKyG,oBAEhDC,qBAGAC,OAAQ,WACN3G,KAAKrB,KAAKiI,YAEZC,UACIxT,OAAOqL,OAAOoI,YAAa,CAACC,QAAQ,wBAAyBC,IAAIhH,KAAKiH,MAAQ,OAGpFtI,KAAM,CACJ8H,sBAEAG,WACE,MAAM,GAAEhK,EAAE,MAAEjE,GAAUqH,KACtB,IAAIgF,EAAWpI,EAAG4B,WAAWjG,GAAG0M,UAChCrI,EAAGmC,YAAcpG,EAEjB,IAAIlB,EAAUmF,EAAGmC,YAAYP,WAAW/G,QACpCoO,EAAmBjJ,EAAGmC,YAAYP,WAAWA,WAC7C3C,EAAsB+D,EAA8BnI,GACpDI,EAAiB,wBAAuBmN,iDACvCvN,KAEH,IAAK,IAAIqO,KAAUD,EAAkB,CACnC,IAAI/S,EAAMgT,EACV5P,QAAQC,IAAK,WAAY2P,GACI,GAAzBhT,EAAIqC,QAAQ,WAA2C,GAAzBrC,EAAIqC,QAAQ,YAC5CrC,EAAMA,EAAIiT,UAAU,IAGtB,IAAIC,EAAqBnK,EAAoBpF,WAAWkG,KAAMhG,GAAQA,EAAK5E,MAAQe,GAC/E0J,EAAiBqJ,EAAiBC,GAClCG,EAAsD,MAArC5K,EAAkBmB,GAC5B,WAAP1J,EAOAkT,EACEC,EACFpO,GAAkB,IAAG/E,iBAAmB0J,MAET,UAA3BwJ,EAAmBxO,MAA2C,GAAvB1E,EAAIqC,QAAQ,QACrD0C,GAAkB,GAAE/E,MAAQ0J,MAE5B3E,GAAkB,IAAG/E,MAAQ0J,MAIjC3E,GAAkB,GAAE/E,MAAQ0J,MAhB1B3E,GADoB,IAAlB2E,EACgB,6BAEA,uBAAsBA,MAkB9C3E,GAAkB,MAAKJ,qCAKzBmF,EAAGsK,UAAYrP,QAOvB,IAAIgL,EAAShP,EAAM4E,QAAQC,MAAM,GAAGyO,OAChCC,EAAsBvE,EAAOlG,KAAM0K,GAC9BA,EAAMlS,QAAQ,sBAAwB,GAE/C,GAAIiS,EAAqB,CACvB,IAAIE,EAAYjU,OAAOkU,QAAU,QAAUlU,OAAOmU,MAAQ,cAAgBC,mBAAoBL,GAC9FM,OAAMtV,IAAKkV,GAAYK,KAAO3W,IAC5BuJ,EAAOqN,cAAc1J,EAAkB1L,OACvC+H,EAAOsN,SAAS7W,EAAOrB,KAAKmH,WAC3BgR,MAAQlG,IACT1L,QAAQC,IAAI,qCAAsCyL,UAGpDrH,EAAOqN,cAAc1J,EAAkB1L,OAM3C,SAASuV,EAAoBC,GACzB7J,EAAc3L,MAAQwV,EAG1B,SAASC,EAAaC,GAClBR,OAAMtV,IAAK8V,GAAWP,KAAO3W,IACzBmX,EAAmBnX,EAAOrB,KAAKmH,WAEhCgR,MAAQlG,IACT1L,QAAQC,IAAI,8BAA+ByL,KAIjD,SAASuG,EAAmBC,GAExB,IAAIC,EAAe,qfAKTD,gEAOV,MAAME,EAAS,IAAIzO,UACb0O,EAAMD,EAAOxO,gBAAgBuO,EAAa,aAC1CG,EAAWD,EAAIxO,KACrBc,GAAmBK,sBAAsBsN,GAGzC,MAAMC,EAAkBD,EAAStB,UAEjChJ,EAAkB1L,MAAQiW,EAC1B5G,I,OA7mBJL,IAonBA1M,eAAU,QAGVwE,EAAa,CACXyO,sBAAqBE,eAAcE,uB,slBCn1BrC,MAAM,GAA2B,IAAgB,GAAQ,CAAC,CAAC,YAAY,qBAExD,U,ghBC2Bf,MAAMO,EAAgB,CAAC,kBAAmB,WAC1C,IA8BI5Q,EAAWC,EA9BX4Q,EAAsBpR,EAAiBnB,OAAQC,IACC,IAAzCqS,EAAcvT,QAASkB,EAAMmB,OAEpCoR,EAAmBhV,eAAI,MACvBiV,EAAajV,eAAI,IAGjBkV,GAAa,EACbC,EAAmB,KACnBC,EAAU,KAEV5Q,EAASb,EAAiBqG,IAAMC,IAClC,IAAIC,EAAS,CACXtG,KAAMqG,EAAKrG,KACXX,MAAOgH,EAAKhH,MACZY,QAASoG,EAAKpG,QAEdc,GAAIsF,EAAKrG,KACTuG,SAAUF,EAAKE,SACfjH,QAAS+G,EAAK/G,QACdY,UAAWmG,EAAKnG,UAChBE,UAAWiG,EAAKjG,UAChBD,SAAUkG,EAAKlG,SAGfqG,UAAU,GAEZ,OAAOF,IAKT,SAASmL,EAAapV,GAChBuE,EAASvE,EAAMuE,OACfN,EAAYjE,EAAMiE,UAClBC,EAAWlE,EAAMkE,SACjBhE,EAAK,uBAAwBF,GAanC,SAASqV,EAAoBjJ,QAEZkJ,GAATlJ,IACA4I,EAAWrW,MAAQyN,EAAM7G,OAAO5G,OAEpC,IAAI4W,EAAa,GACbC,EAAiB,GAWrB,OATAC,EAAyB9W,MAAM+D,QAASF,IACpC,IAAI0H,EAAW1H,EAAM0H,UAAY,QAC5BsL,EAAgBtL,KACjBsL,EAAgBtL,GAAa,CAAEA,SAAUA,EAAU3F,OAAQ,IAC3DgR,EAAW3Y,KAAM4Y,EAAgBtL,KAErCsL,EAAgBtL,GAAW3F,OAAO3H,KAAM4F,KAE5CuS,EAAiBpW,MAAQ4W,EAClBA,EA1BXtU,eAAW,KACPyU,WAAY,KACRlW,OAAOkH,OAAO4J,GAAG,eAAgB8E,GACjC,MAAM,OAAElF,GAAW1Q,OAAOkH,OAC1BwJ,EAAOC,UAAU,QAAS,eAAeC,IAAI,UAAU,IACxD,OAwBP,MAAMqF,EAA2BnR,eAAU,KACvC,IAAK0Q,EAAWrW,MAAQ,OAAOmW,EAC/B,IAAIa,EAAUb,EAAoBvS,OAAQC,GAC/BA,EAAMQ,MAAMmC,cAAc7D,QAAS0T,EAAWrW,MAAMwG,gBAAmB,GAElF,OAAOwQ,IAGXN,IAEA,MAAM3P,EAAmB,SAASlD,GAC9B,MAAMrF,EAAS,mBAAmBqF,EAAMmB,KAAKgC,MAAM,MAAMC,KAAK,IAAI,OAClE,OAAOzI,GAIX,SAASyY,EAAYpT,EAAO6C,GACxB8P,EAAUU,SAASC,cAAc,cAEjCC,OAASrP,OAAOsP,aAAaC,WAAWC,YACxCH,OAAOI,eAAiB3T,EACxBuT,OAAOK,cAAe/Q,EAAOE,OAAQF,GACrC0Q,OAAOM,eAAe7T,EAAMS,SAC5B8S,OAAOO,UAAUjR,EAAOE,QAKxB,IAAIA,EAASF,EAAOE,OACpB,MAAOA,IAAWA,EAAOnE,UAAUC,SAAS,UACxCkE,EAASA,EAAOgR,cAGhBhR,IACA0P,GAAa,EACbC,EAAmB3P,EACnBA,EAAOiR,kBAAkBnR,EAAOoR,YAIxC,SAASC,EAAcrR,GACnB,IAAK4P,IAAec,OAAQ,OAE5B,MAAMY,EAAOxB,EAAQyB,wBACXvR,EAAOwR,QAAUF,EAAKG,KACtBzR,EAAO0R,QAAUJ,EAAKK,IAIpC,SAASC,EAAYzU,EAAO4J,GACpB2J,SACAA,OAAOmB,UACPnB,OAAS,MAGbd,GAAa,EACb,MAAM0B,EAAOxB,EAAQyB,wBACrB,GACIxK,EAAMyK,SAAWF,EAAKG,MACtB1K,EAAMyK,SAAWF,EAAKQ,OACtB/K,EAAM2K,SAAWJ,EAAKK,KACtB5K,EAAM2K,SAAWJ,EAAKS,OACxB,CACElC,EAAiB1B,MAAM6D,cAAgB,OAEvC,MAAMC,EAAYnC,EAAQoC,gBACpBpW,EAAIiL,EAAMyK,QAAUF,EAAKG,KACzBU,EAAIpL,EAAM2K,QAAUJ,EAAKK,IACzBS,EAAeH,EAAUI,iBAAiBvW,EAAGqW,GAEnD,IAAIG,EAAiBF,EAAa7O,aAAa,MAC/CsM,EAAiB1B,MAAM6D,cAAgB,GACvCnC,EAAiB1B,MAAMoE,SAAW,SAGlC,IAAIC,EAAkBnR,OAAOqK,cAAc+G,aAAahP,KAAK,IAAI6O,GAAgB,GAE7EE,IACAA,EAAgBrM,aAAa9J,IAAKc,EAAMS,SAExCyD,OAAOqR,gBAGX7C,EAAiB1B,MAAMoE,SAAW,SAEtC1C,EAAmB,K,goCCzLvB,MAAM,GAA2B,IAAgB,GAAQ,CAAC,CAAC,YAAY,qBAExD,U,spBCiBf,SAAS8C,EAAYhO,GACjB9J,EAAK,YAAa8J,EAAMhK,EAAMiY,UAAWjY,EAAMkY,aAOnD,SAASC,IACLjY,EAAK,S,ycC5BT,MAAM,GAA2B,IAAgB,GAAQ,CAAC,CAAC,YAAY,qBAExD,U,8iEC+Hf,IAAIuM,EAAY1M,eAAI,MAChBqY,EAAkBrY,gBAAI,GACtB+J,EAAc/J,eAAIC,EAAM4E,QAAQC,MAAM,GAAGC,MAAMC,QAC/CyC,EAAoB,GACpBsC,EAAYnL,MAAM+D,QAASwC,IACvBsC,EAAkBtC,EAAMhH,MAAQgH,IAIxC,MAAMmT,EAAyB3U,EAAiB4U,OAAO,CAACC,EAAK/V,KACzD+V,EAAI/V,EAAMmB,MAAQnB,EACX+V,GACR,IAeH,SAASC,EAA2BpQ,GAChC,IACI,OAAuC,GAAnCA,EAAc9G,QAAQ,WAAqD,GAAnC8G,EAAc9G,QAAQ,UACvD8G,EAAc8J,UAAU,GAE5B9J,EACV,MAAM2F,GACH1L,QAAQ0L,MAAO,uCAAwC3F,EAAe2F,IAU9E,SAAS9E,EAAgBwP,GACrBhM,EAAU9N,MAAM+Z,iBAAkB,CAACD,EAAgBva,OACnDya,IAYJ,SAASC,IACL,IAAI5Q,EAAsB6Q,EAAoBpM,EAAU9N,MAAMgM,WAAWhH,MACzE,IAAKqE,EACD,MAAO,GAEX,IAAI8Q,EAA8BC,IAAyBhP,IAAKiP,GAAOA,EAAIzQ,WACvE0Q,EAAsBjR,EAAoBpF,WAAWL,OAAQ2W,GACjC,GAArBA,EAAQC,WAEfC,EAA6BH,EAAoB1W,OAAQ2W,IACM,GAAxDJ,EAA4BxX,QAAS4X,EAAQhb,OAGxD,OAAOkb,EASX,SAASC,EAAqBZ,GAC1B,OAAO3O,EAAYnL,MAAM4D,OAAQ2C,GACtBA,EAAMvB,MAAQ8U,EAAgBhN,IAAI9H,MAWjD,SAASoV,IACL,MAAMO,EAAoB7M,EAAU9N,MAAMgM,WAAWA,WACrD,IAAIxN,EAAS,GACToc,EAAuB,GAC3B,IAAK,IAAIja,KAAKga,EACV,GAAIha,EAAEgJ,WAAW,WAAahJ,EAAEgJ,WAAW,UAAW,CAClD,IAAIC,EAAYiQ,EAA0BlZ,GAAG6F,cAC7C,GAAiB,MAAboD,GAAkC,aAAbA,GAAyC,SAAbA,EAAsB,CACvE,IAAIkD,EAAM+N,EAA2BjR,GAChCkD,GACDpJ,QAAQ0L,MAAM,6BAA8BzO,EAAGiJ,EAAW+Q,EAAkBha,IAEhFnC,EAAOP,KAAM,CAAEsB,KAAKoB,EAAGiJ,YAAW5J,MAAO2a,EAAkBha,GAAImM,IAAIA,IACnE8N,EAAqBja,GAAKga,EAAkBha,IAWxD,OALIU,EAAMoK,kBAAkBU,KAAK/B,GAAG6I,QAChC5R,EAAMoK,kBAAkBU,KAAK/B,GAAG6I,OAAOW,iBAAkBgH,GAG7Dpc,EAAS6H,IAAEC,OAAQ9H,EAAQ,aACpBA,EAQX,SAASqc,EAA4BC,GACjC,IAAIC,EAAkBb,EAAoBpM,EAAU9N,MAAMgM,WAAWhH,MACrE,IAAK+V,EACD,OAAO,KAEX,IAAIvH,EAAqBuH,EAAgB9W,WAAWkG,KAAMhG,GAAQA,EAAK5E,MAAQub,GAC/E,OAAOtH,EAQX,SAASwH,EAAmBvR,GACxB,IAAII,EAA8C,GAAlCJ,EAAc9G,QAAQ,SACtC,OAAOkH,EASX,SAASoR,EAAQxN,GACb,IAAIyN,EAAmBjY,KAAKC,MAAOuK,EAAMoE,aAAaE,QAAQ,SAC1DoJ,EAAW1N,EAAM7G,OAAOqD,aAAa,YACzC,GAAkC,GAA9BkR,EAASxY,QAAQ,UACjByY,EAAwBD,EAAUD,EAAiBtT,iBAClD,CACD,IAAIyT,EAAW,GACfA,EAASF,GAAYD,EAAiBtT,YACtCkG,EAAU9N,MAAMsb,cAAeD,IASvC,SAASE,IACL9B,EAAgBzZ,OAAQ,EAM5B,SAASwb,IACL/B,EAAgBzZ,OAAQ,EAS5B,SAASqZ,EAAYlV,GACjB,IAAIsX,EAAsB,CACtBC,SAAS,EACTC,OAAQ,GACRC,OAAQ,GAERC,EAAc,GACdC,EAAS,SAAS3X,EAAK5E,KACvBwc,EAAkD,OAAnCN,EAAoBtX,EAAKa,MAAiByW,EAAoBtX,EAAKa,MAAQ,UAC9F6W,EAAYC,GAAUC,EACtBjO,EAAU9N,MAAMsb,cAAcO,GAC9B7B,IAUJ,SAASE,EAAoBlV,GACzB,IAAIqE,EAAsBqQ,EAAuB1U,GACjD,OAAOqE,EASX,MAAM2S,EAAsBrW,eAAU,KAClC,IAAI0D,EAAsB6Q,EAAoBpM,EAAU9N,MAAMgM,WAAWhH,MACzE,IAAKqE,EACD,MAAO,GAGX,IAAI4S,EAAuB5S,EAAoBpF,WAC3CiY,EAAoBpO,EAAU9N,MAAMmc,gBACpCC,EAAyB,GAC7B,IAAK,IAAIzb,KAAKub,EAAmB,CAC7B,IAAItS,EAAYiQ,EAA0BlZ,GAC1Cyb,EAAuBne,KAAM2L,GAEjC,IAAIyS,EAAW,GAOf,OANAJ,EAAqBlY,QAASI,IAC1B,IAAIyF,EAAYiQ,EAA0B1V,EAAK5E,OACG,GAA9C6c,EAAuBzZ,QAAQiH,IAC/ByS,EAASpe,KAAMkG,KAGhBkY,IASX,SAASrC,IAGG,IAAIsC,EAAsBxO,EAAU9N,MAAMgM,WAAWA,WAErD,IAAK,IAAIuQ,KAAWD,GACqB,IAAjCA,EAAoBC,KACpBD,EAAoBC,GAAW,SAEE,IAAjCD,EAAoBC,KACpBD,EAAoBC,GAAW,SAGvC,IAAIC,EAAU/Q,kBAAkBgR,SAEhC1U,OAAOC,cAAcC,YAAauU,GAGlC,IAAIE,EAAmB,GACnB7J,EAAiBjV,OAAOkV,oBAAoBwJ,GAChDzJ,EAAe9O,QAAUgP,IACrB,IAAI/I,EAEAA,OADiC2M,GAAjC2F,EAAoBvJ,SAAqE4D,GAA3C2F,EAAoBvJ,GAAUN,UAC3D6J,EAAoBvJ,GAAUN,UAE9B6J,EAAoBvJ,GAEzC2J,EAAiB3J,GAAY/I,IAErC3I,EAAMoK,kBAAkBkR,cAAcD,GAClC,IAAIE,EAAsBvb,EAAMoK,kBAAkBU,KAAKC,IAAI,GAAG6G,OAE9D2J,EAAoBhJ,iBAAiB8I,GAWjD,SAAStB,EAAuB9a,EAAKN,GACjC,IAAI6c,EAAkC,GAAzBvc,EAAIqC,QAAQ,UAAiBrC,EAAIiE,QAAS,SAAU,UAAajE,EAAIiE,QAAS,SAAU,UACrGuJ,EAAU9N,MAAM+Z,iBAAkB,CAACzZ,IACnC,IAAIwc,EAAU,GAGd,GAAgC,GAA5BD,EAAOla,QAAQ,UACf,GAA+B,MAA5BkG,EAAkB7I,GACjB8c,EAAQD,GAAU7c,MAClB,CACA,IAAI+c,EAAqBlD,EAA0BgD,GAAQrW,cACvDsG,EAAM+N,EAA2BkC,GAEjCjD,EAAkB,CAAEhN,OACpBkQ,EAAsBtC,EAAoBZ,GAC1CkD,EAAoBrf,OAAS,EAC7Bmf,EAAQD,GAAUG,EAAoB,GAAGzd,KAEzCud,EAAQD,GAAU,eAG1BC,EAAQD,GAAU7c,EAGtB8N,EAAU9N,MAAMsb,cAAcwB,GAC9B9C,IAOJ,SAASiD,EAAqBC,GAC1BpP,EAAU9N,MAAQkd,E,OAQtB5a,eAAW,KACP2a,EAAsBpc,OAAO4K,qBAQjC3E,EAAa,CACTmW,yB,+3NCpdJ,MAAM,GAA2B,IAAgB,GAAQ,CAAC,CAAC,YAAY,qBAExD,UAGf,KAAS,GAAQ,aAAc,CAACE,SAAA,O,qYCqC9B,SAASnD,IACPzY,EAAK,SAAUF,EAAM+b,YAGvB,SAASC,EAAwBC,EAAK7V,GACpC,MAAM8V,EAAY9V,EAAST,MAAM,KACjC,GAAwB,GAApBuW,EAAU5f,OACZ,OAAO2f,EAET,IAAK,IAAI7f,EAAI,EAAGA,EAAI8f,EAAU5f,OAAO,EAAGF,IAAK,CACzC,IAAK6f,IAAQA,EAAIxf,eAAeyf,EAAU9f,IACtC,OAEJ6f,EAAMA,EAAIC,EAAU9f,IAExB,OAAO6f,EAGX,SAASE,EAAkBF,EAAK7V,GAC5B,MAAM8V,EAAY9V,EAAST,MAAM,KACjC,IAAK,IAAIvJ,EAAI,EAAGA,EAAI8f,EAAU5f,OAAQF,IAAK,CACvC,IAAK6f,IAAQA,EAAIxf,eAAeyf,EAAU9f,IACtC,OAEJ6f,EAAMA,EAAIC,EAAU9f,IAExB,OAAO6f,EAGX,MAAMG,EAA4B9X,eAAU,KACxC,IAAInH,EAAS,GACb,IAAK,IAAIf,EAAI,EAAGA,EAAI4D,EAAMqc,qBAAqB/f,OAAQF,IAAK,CACxD,IAAIkgB,EAAoB,IAAKtc,EAAMqc,qBAAqBjgB,IACpDuC,EAAQwd,EAAmBnc,EAAM+b,WAAYO,EAAkB5X,SACrD4Q,IAAV3W,IACA2d,EAAkBC,kBAAoBP,EAAyBhc,EAAM+b,WAAYO,EAAkB5X,IACnG4X,EAAkBlW,SAAWkW,EAAkB5X,GAAGiB,MAAM,KAAK6W,MAC7Drf,EAAOP,KAAM0f,IAGrB,OAAOnf,I,8gFCnFX,MAAM,GAAc,GAEL,U,snCC2Gf,IAAIsf,EAAkB1c,eAAI,GACtB2c,EAAW3c,eAAK,CAAE,CAAC7B,KAAK,OAAQwG,GAAG,GAAI,CAACxG,KAAK,SAAUwG,GAAG,GAAI,CAACxG,KAAK,SAAUwG,GAAG,KAEjFiY,EAAmB5c,eAAI,MACvB6c,EAAqB7c,eAAI,MAGzB8c,GADwB9c,gBAAI,GACHA,eAAI,OAE7B+c,EAAS/c,eAAI,IACbgd,EAAShd,eAAI,IACbid,EAASjd,eAAI,IACb+J,EAAc/J,eAAIC,EAAM4E,QAAQC,MAAM,GAAGC,MAAMC,QAC/CkY,EAAkB,GACtBnT,EAAYnL,MAAM+D,QAAUwC,IACxB+X,EAAgB/X,EAAMhH,MAAQgH,IAOlC,IAAIgY,EAA4Bnd,eAAI,CAClC,CAAE2E,GAAG,OAAQ1B,MAAM,OAAQW,KAAM,SAAU4L,QAAS,IACpD,CAAE7K,GAAG,OAAQ1B,MAAM,OAAQW,KAAM,OAAQ4L,QAAS,UAAWC,QAAQ,CAAC,UAAU,MAAM,cACtF,CAAE9K,GAAG,IAAK1B,MAAM,IAAKW,KAAM,QAAS4L,QAAS,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,IACxD,CAAE7K,GAAG,IAAK1B,MAAM,IAAKW,KAAM,QAAS4L,QAAS,CAAC,EAAE,EAAE,EAAE,GAAG,KACvD,CAAE7K,GAAG,cAAe1B,MAAM,cAAeW,KAAM,SAAU4L,QAAS,GAClE,CAAE7K,GAAG,eAAgB1B,MAAM,eAAgBW,KAAM,QAAS4L,QAAS,aAGjE4N,EAA6Bpd,eAAI,CACnC,CAAE2E,GAAG,cAAe1B,MAAM,cAAeW,KAAM,WAAY4L,SAAS,GACpE,CAAE7K,GAAG,cAAe1B,MAAM,eAAgBW,KAAM,WAAY4L,SAAS,GACrE,CAAE7K,GAAG,aAAc1B,MAAM,cAAeW,KAAM,WAAY4L,SAAS,GACnE,CAAE7K,GAAG,WAAY1B,MAAM,WAAYW,KAAM,WAAY4L,SAAS,GAC9D,CAAE7K,GAAG,iBAAkB1B,MAAM,WAAYW,KAAM,WAAY4L,SAAS,KAElE6N,EAA6Brd,eAAI,CACnC,CAAE2E,GAAG,QAAS1B,MAAM,QAASW,KAAM,SAAU4L,QAAS,aACtD,CAAE7K,GAAG,aAAc1B,MAAM,cAAeW,KAAM,WAAY4L,SAAS,GACnE,CAAE7K,GAAG,gBAAiB1B,MAAM,QAASW,KAAM,QAAS4L,QAAS,WAC7D,CAAE7K,GAAG,eAAgB1B,MAAM,aAAcW,KAAM,QAAS4L,QAAS,WACjE,CAAE7K,GAAG,aAAc1B,MAAM,aAAcW,KAAM,QAAS4L,QAAS,WAC/D,CAAE7K,GAAG,YAAa1B,MAAM,YAAaW,KAAM,SAAU4L,QAAS,MAMhE,MAAM8N,EAA+B/Y,eAAS,KAC5C,IAAIgZ,EAA4B,GAC5BC,EAAyBX,EAAmBje,MAChD,GAAI4e,EAAwB,CAC1B,IAAIC,EAA0Bb,EAAiBhe,MAAMmK,KAAO5D,GAAiBA,EAAMhH,MAAQqf,GACvFC,IACFF,EAA4BE,EAAwBC,SAGxD,OAAOH,IAGT,SAASI,EAAwBzF,EAAWC,GAC1C,IAAIyF,EAAoB1F,EAAU1V,OAAS2W,IACzC,IAAI0E,GAAS,EACTC,EAAmB1B,EAAkBjE,EAAagB,EAAQxU,IAI9D,OAHwB,MAApBmZ,IACFD,GAAS,IAEHA,IAEV,OAAOD,EAGyBrZ,eAAS,KACzC,IAAIqZ,EAAoBR,EAA2Bxe,MAAM4D,OAAS2W,IAChE,IAAI0E,GAAS,EACTC,EAAmB1B,EAAkBU,EAAuBle,MAAOua,EAAQxU,IAI/E,OAHwB,MAApBmZ,IACFD,GAAS,IAEHA,IAEV,OAAOD,IAST,SAASG,EAAcC,GACrBpF,IAEF,SAASqF,EAAcD,GACrBpF,IAGF,SAASsF,EAAYF,GACnBpF,IAGF,SAASuB,EAAoBhC,GACzB2E,EAAuBle,MAAQuZ,EAGnC,SAASiC,IACL0C,EAAuBle,MAAQ,KAGnC,SAASqZ,EAAYlV,EAAMmV,EAAWC,GACpC,IAAIgG,EAASpb,EAAK4B,GACdwU,EAAUjB,EAAUnP,KAAOoQ,GAAmBA,EAAQxU,IAAMwZ,GAEhEC,EAAkBjG,EAAagG,EAAQhF,EAAQ3J,SAC7CoJ,IAGJ,SAASwD,EAAkBF,EAAK7V,GAC5B,MAAM8V,EAAY9V,EAAST,MAAM,KACjC,IAAK,IAAIvJ,EAAI,EAAGA,EAAI8f,EAAU5f,OAAQF,IAAK,CACvC,IAAK6f,IAAQA,EAAIxf,eAAeyf,EAAU9f,IACtC,OAEJ6f,EAAMA,EAAIC,EAAU9f,IAExB,OAAO6f,EAGX,SAASkC,EAAkBlC,EAAK7V,EAAUzH,GACtC,MAAMud,EAAY9V,EAAST,MAAM,KACjC,IAAK,IAAIvJ,EAAI,EAAGA,EAAI8f,EAAU5f,OAAS,EAAGF,IACjC6f,EAAIxf,eAAeyf,EAAU9f,KAAoC,kBAAtB6f,EAAIC,EAAU9f,MAC1D6f,EAAIC,EAAU9f,IAAM,IAExB6f,EAAMA,EAAIC,EAAU9f,IAExB6f,EAAIC,EAAUA,EAAU5f,OAAS,IAAMqC,EAK3C,SAASyf,IACP,IAAIC,EAAUre,EAAM4E,QAAQC,MAAM,GAAGC,MAAMC,OAAO+D,KAAO5D,GAChDA,EAAMhH,MAAQ0e,EAAmBje,OAE1C,QAAK0f,GAGc,wBAAhBA,EAAQ1a,KAMb,SAAS2a,IACP,IAAIC,EAAWve,EAAM4E,QAAQC,MAAM,GAAGC,MAAMC,OAAOxC,OAAS2C,GACrC,wBAAdA,EAAMvB,MAAgD,cAAduB,EAAMvB,MAEvDgZ,EAAiBhe,MAAQ4f,EAK3B,SAAS5F,IACP,IAAIzM,EAAUsS,KAAM5c,KAAKE,UAAUgb,EAAOne,QACtC8f,EAAYD,KAAM5c,KAAKE,UAAUib,EAAOpe,QACxC+f,EAAYF,KAAM5c,KAAKE,UAAUkb,EAAOre,QAC5CqB,EAAMoK,kBAAkBkR,cAAc,CAACxf,KAAKoQ,EAAS6Q,OAAQ0B,EAAWzB,OAAO0B,IAC/E1e,EAAMoK,kBAAkBU,KAAKC,IAAI,GAAG6G,OAAOW,iBAAiB,CAACzW,KAAKoQ,EAAS6Q,OAAQ0B,EAAWzB,OAAO0B,IAMrG,SAASC,IACP,IAAIC,EAAuB,GAC3B9B,EAAOne,MAAM+D,QAAUmc,IACrB,IAAIC,EAAkBC,EAAkBF,GACxCC,EAAgBpc,QAAU+B,IACxB,IAAIua,EAAcva,EAAQ9F,MAAMuE,QAAQ,MAAO,IAAIA,QAAQ,IAAK,IAC3D0b,EAAqBxV,SAAS4V,IACjCJ,EAAqBhiB,KAAKoiB,OAIhCJ,EAAuBA,EAAqB7U,IAAM3D,GACzCA,EAAST,MAAM,KAAK,IAE7BiX,EAAmBje,MAAQigB,EAAqB,GAKpD,SAAShD,EAAqBC,GAE1B,IAAKA,GAAgD,UAAhCA,EAAalR,WAAWhH,KAI3C,OAHAmZ,EAAOne,MAAQ,KACfoe,EAAOpe,MAAQ,UACfqe,EAAOre,MAAQ,MAGjB,IAAIsgB,EAAyBpD,EAAaf,gBACtCmE,EAAuBC,aACzBD,EAAuBC,WAAaC,KAAKF,EAAuBC,aAC9DD,EAAuBG,eACzBH,EAAuBG,aAAeD,KAAKF,EAAuBG,eAChEH,EAAuBI,eACzBJ,EAAuBI,aAAeF,KAAKF,EAAuBI,eAGpE,IAAIvjB,EAAOmjB,EAAuBC,YAAc,KAChDpjB,EAAO8F,KAAKC,MAAM/F,GAClBghB,EAAOne,MAAQ7C,EAEf,IAAIwjB,EAAcL,EAAuBG,cAAgB,KACzDE,EAAc1d,KAAKC,MAAMyd,GACzBvC,EAAOpe,MAAQ2gB,EAEf,IAAIC,EAAcN,EAAuBI,cAAgB,KACzDE,EAAc3d,KAAKC,MAAM0d,GACzBvC,EAAOre,MAAQ4gB,EACfZ,IAGJ,SAASI,EAAkB9C,GACzB,IAAI9e,EAAS,GAEb,SAASqiB,EAAQphB,GACf,IAAK,IAAIa,KAAOb,EACQ,kBAAXA,EAAEa,IAAgC,OAAXb,EAAEa,GAClCugB,EAAQphB,EAAEa,IACiB,kBAAXb,EAAEa,IAAqBb,EAAEa,GAAKqJ,WAAW,QAAUlK,EAAEa,GAAKwgB,SAAS,MACnFtiB,EAAOP,KAAK,CAAE+B,MAAOP,EAAEa,KAM7B,OADAugB,EAAQvD,GACD9e,EAGT,SAASuiB,IACP5C,EAAOne,MAAM/B,KAAM,CAAEuE,EAAE,GAAIqW,EAAE,GAAI7T,KAAK,UAAWzF,KAAK,UAGxD,SAASyhB,EAAoBC,GAC3B9C,EAAOne,MAAQ,CACb,CAAEwC,EAAE,cAAeqW,EAAE,cAAe7T,KAAK,UAAWzF,KAAK,SACzD,CAAEiD,EAAE,cAAeqW,EAAE,cAAe7T,KAAK,UAAWzF,KAAK,UAE3Dya,I,OAGFkH,eAAe,KACXjE,EAAsB5b,EAAMoK,mBAC5BkU,MAGJ7Y,EAAa,CACTmW,uBAAsB+D,wB,4kICjX1B,MAAM,GAA2B,IAAgB,GAAQ,CAAC,CAAC,YAAY,qBAExD,U,42BC4CTG,EAAiB/f,gBAAI,GACrBggB,EAAiBhgB,gBAAI,GACrBigB,EAAWjgB,eAAI,GACfkgB,EAAclgB,eAAI,OAClBmgB,EAAengB,eAAI,IACnBogB,EAAgBpgB,eAAI,MAO1BqgB,KAAKC,iBAAiB,aAAcC,MACpCF,KAAKC,iBAAiB,MAAOE,MAE7B,MAAMC,EAAY,CAChB9N,QAAQ3J,EAAItE,GACV,MAAMgc,EAAOhc,EAAQ9F,OAAS,GACxB+hB,EAAkBN,KAAKI,UAAU,MAAOC,GAAM9hB,MACpDoK,EAAGsK,UAAa,yGAAwGqN,kBAE1HC,QAAQ5X,EAAItE,GACV,MAAMgc,EAAOhc,EAAQ9F,OAAS,GACxB+hB,EAAkBN,KAAKI,UAAU,MAAOC,GAAM9hB,MACpDoK,EAAGsK,UAAa,yGAAwGqN,mBAKtHE,EAAaJ,EAEbK,EAAkB9gB,eAAI,CACxB,CAAE2E,GAAG,MAAO1B,MAAM,OAClB,CAAE0B,GAAG,EAAG1B,MAAM,QAEZ8d,EAAe,CACjBC,MAAO,EACPrW,KAAM,EACNsW,QAAS,EACTjT,MAAO,GAGLkT,EAAOlhB,eAAI,IACjBP,OAAOyhB,KAAOA,EAEd,MAAMC,EAAe5c,eAAU,KAC3B,IAAIqR,EAAUsL,EAAKtiB,MAAM4D,OAASyH,IAE9B,IAAImX,EAA8B,UAAbnX,EAAKoX,QAAoBtB,EAAenhB,OAAwB,UAAbqL,EAAKoX,QAAoBrB,EAAephB,MAC5G0iB,EAAeP,EAAa9W,EAAKsX,QAAUtB,EAASrhB,MACpD4iB,EAAoC,OAArBtB,EAAYthB,OAAkBqL,EAAK2J,OAASsM,EAAYthB,MAC3E0D,QAAQC,IAAK,WAAY0H,EAAK2J,MAAO,OAAQsM,EAAYthB,OACzD,IAAI6iB,EAAsC,IAAtBtB,EAAavhB,OAAeqL,EAAKwD,QAAQrI,cAAc7D,QAAQ4e,EAAavhB,MAAMwG,gBAAmB,EAEzH,OAAOgc,GAAiBE,GAAgBG,GAAiBD,IAE7D,OAAO5L,IAGX,SAAS8L,IACLR,EAAKtiB,MAAQ,GAGjB,SAAS+iB,EAAQC,GACb,IAAIC,EAAY,cAChB,GAA8C,GAA1CD,EAAUnU,QAAQlM,QAASsgB,GAAkB,CAExCf,EAAgBliB,MAAMmK,KAAOkB,GAAgBA,EAAKtF,IAAMid,EAAUhO,QACnEkN,EAAgBliB,MAAM/B,KAAM,CAAE8H,GAAGid,EAAUhO,MAAO3Q,MAAM2e,EAAUhO,QAItE,IAAInG,EAAUmU,EAAUnU,QAAQ9N,MAAOkiB,EAAUtlB,QAIjDkR,EAAUA,EAAQ7H,MAAM,MAAMC,KAAK,KACnC+b,EAAUnU,QAAUA,EAGpBmU,EAAUE,UAA+B,KAAnBF,EAAUhO,MAAe,KAAO,OAAOgO,EAAUhO,MACvEgO,EAAUG,UAAYH,EAAUG,UAAU5e,QAAQ,IAAK,KAAKA,QAAQ,IAAK,IAAIyC,MAAM,KAAK,GAGxFgc,EAAU7hB,UAAW,EAGrBmhB,EAAKtiB,MAAM/B,KAAM+kB,GAGjBxB,EAAcxhB,MAAMojB,UAAY5B,EAAcxhB,MAAMqjB,c,OAI5Dvc,EAAc,CAACic,W,mlEC5If,MAAM,GAA2B,IAAgB,GAAQ,CAAC,CAAC,YAAY,qBAExD,UAGf,KAAS,GAAQ,aAAc,CAAC5F,SAAA,O,gPCGhC,MAAMmG,EAA0BliB,eAAI,IAC9BmiB,EAAcniB,eAAI,IAClBoiB,EAAkBpiB,eAAI,MACtBqiB,EAAgBriB,eAAI,MAG1B,SAASsiB,EAAqBC,GAC1B,IAAIC,EAASD,EACT/c,EAASid,IACTC,EAAYC,KAAKC,IAAKJ,EAAOphB,EAAEohB,EAAOK,MAAQrd,EAAOpE,GACrD0hB,EAAgC,GAAVJ,EACtBK,EAAQ,KAAIP,EAAOphB,EAAEohB,EAAOK,SAASL,EAAO/K,EAAgB,GAAd+K,EAAOQ,YAAeR,EAAOphB,EAAEohB,EAAOK,MAAMC,KAAuBN,EAAO/K,EAAgB,GAAd+K,EAAOQ,WAAcxd,EAAOpE,EAAE0hB,KAAuBtd,EAAOiS,EAAE,MAAMjS,EAAOpE,KAAKoE,EAAOiS,EAAE,IACvN,OAAOsL,EAKX,SAASN,IACL,IAAIQ,EAAaC,EAAoBb,EAAczjB,MAAM2G,SACzD,OAAO0d,EAKX,SAASC,EAAmB3d,GAC1B,MAAMqR,EAAOrR,EAAQsR,wBACrB,MAAO,CACLzV,EAAGwV,EAAKG,KACRU,EAAGb,EAAKK,KAIZ,SAASkM,EAAwBC,GAC7BlB,EAAwBtjB,MAAQwkB,EAChCC,IAGJ,SAASA,IACwB,MAAzBjB,EAAgBxjB,OAChB0kB,IACJ,IAAIC,EAAiBnB,EAAgBxjB,MACjC4kB,EAAoBtB,EAAwBtjB,MAAMoL,IAAMyZ,IACjD,CACHriB,EAAGqiB,EAAKriB,EAAImiB,EAAeniB,EAC3BqW,EAAGgM,EAAKhM,EAAI8L,EAAe9L,EAC3BoL,MAAOY,EAAKZ,MACZG,OAAQS,EAAKT,UAGrBb,EAAYvjB,MAAQ4kB,EAIxB,SAASF,IACL,IAAII,EAAgB5N,SAASC,cAAc,cAC3CqM,EAAgBxjB,MAAQskB,EAAoBQ,GAC5CL,IAGJ,SAAShe,EAAgBgH,GACrBgW,EAAczjB,MAAQyN,E,OAK1B3G,EAAa,CACTyd,0BAAyBG,uBAAsBje,oB,ojBC1EnD,MAAM,GAA2B,IAAgB,GAAQ,CAAC,CAAC,YAAY,qBAExD,UCRA,MAAMse,GACjBzc,YAAa0c,EAAQC,EAASC,GAC1B1X,KAAK2X,KAAO,YACZ3X,KAAKiC,KAAO,MACZjC,KAAKiB,SAAW,KAChBjB,KAAKa,GAAK,KACVb,KAAK4X,cAAgBJ,EACrBxX,KAAK6X,eAAiBJ,EACtBzX,KAAK8X,iBAAmBJ,EAG5BK,UACI7hB,QAAQC,IAAK,0BACb6J,KAAKa,GAAK,IAAIY,UAAUzB,KAAKiB,SAAW,MAAQjB,KAAK2X,KAAO,IAAM3X,KAAKiC,MACvEjC,KAAKa,GAAGmX,OAAShY,KAAKwX,OAAOzkB,KAAKiN,MAClCA,KAAKa,GAAGoX,UAAYjY,KAAK0X,UAAU3kB,KAAKiN,MACxCA,KAAKa,GAAGqX,QAAUlY,KAAKyX,QAAQ1kB,KAAKiN,MAGxCmY,QAASC,GACLA,EAAUA,GAAW,EACrBliB,QAAQC,IAAK,yBAA0BiiB,GACvC7O,WAAY,KACRvJ,KAAK+X,WACE,IAARK,GAGPZ,SACIthB,QAAQC,IAAK,yBACb6J,KAAKa,GAAGU,KAAK9L,KAAKE,UAAU,CACxB,QAAW,eACX,QAAW,YACX,QAAW,MAEfqK,KAAK4X,gBAGTF,UAAUrW,GACNrB,KAAK8X,iBAAiBzW,GAG1BoW,UACIvhB,QAAQC,IAAK,0BACb6J,KAAK6X,kB,omBCgDb,MAAMQ,EAAYzkB,eAAI,MAChB0kB,EAAc1kB,eAAI,MAClB2kB,EAAgB3kB,eAAI,MACpB4kB,EAAe5kB,eAAI,MACnB6kB,EAAkB7kB,eAAI,MACtB8kB,EAAuB9kB,eAAI,MAC3B+kB,EAA2B/kB,eAAI,MAC/BqK,EAAoBrK,eAAI,MAE9B,IAAIglB,EAAc,KAEdngB,EAAU7E,eAAI,MAClBP,OAAOoF,QAAUA,EAEjB,MAAMogB,EAAUC,QAOhB,SAASC,EAAappB,IAGtB,SAASqpB,EAAgBrpB,GACvB,IAAIspB,EAAcxjB,KAAKC,MAAM/F,EAAKA,MAE9BspB,EAAY5X,SAAqD,GAA1C4X,EAAY5X,QAAQlM,QAAQ,aACrD8jB,EAAY5X,QAAU2R,KAAMiG,EAAY5X,QAAQtK,QAAQ,UAAW,MAEjEshB,GAAYA,EAAU7lB,OACxB6lB,EAAU7lB,MAAM+iB,OAAQ,CAAE/N,MAAOyR,EAAYzR,MAAOmO,UAAWsD,EAAYtD,UAAWV,OAAQ,SAAUE,MAAO8D,EAAYzhB,KAAM6J,QAAS4X,EAAY5X,QAAU,KAAO4X,EAAYC,SAKvL,MAAMC,EAAyBhhB,eAAU,KACvC,IAAI7D,EAAQ,aAOZ,OANI2J,GAAqBA,EAAkBzL,MACrCyL,EAAkBzL,MAAMgM,WAAWzM,OACrCuC,GAAS,MAAQ2J,EAAkBzL,MAAMgM,WAAWzM,MAEtDuC,GAAS,sBAEJA,IAGT,SAAS8kB,EAAczpB,GACrBuG,QAAQC,IAAK,gBAAiBxG,GAC9B0pB,EAAclB,QAAQ,GAGxB,MAAMkB,EAAgBhmB,OAAOgmB,cAAgB,IAAI9B,GAAewB,EAAcK,EAAeJ,GAWvFM,EAAeC,IACrB,IAAIhS,EAAU+R,EAAa/R,QACvBC,EAAQ8R,EAAa9R,MACrB1G,EAAUwY,EAAaE,UACvBC,EAAY,OACU,SAAtBH,EAAaI,QACfD,EAAY,SAGdpmB,OAAOkU,QAAUA,EACjBlU,OAAOmU,MAAQA,EACfnU,OAAOyN,QAAUA,EAEjB6Y,SAAUF,GAEVvjB,QAAQC,IAAK,oDAAqDoR,EAASC,EAAO1G,GAElF,IAAI8Y,EAAmB,GAYvB,GAVIrS,GACFqS,EAAiBnpB,KAAM,WAEpB+W,GACHoS,EAAiBnpB,KAAM,SAEpBqQ,GACH8Y,EAAiBnpB,KAAM,WAGrBmpB,EAAiBzpB,OAAS,EAAG,CAC/B,IAAI0pB,EAAmB,uBAAyBD,EAAiBngB,KAAK,MAEtE,MADAqgB,MAAOD,GACD,IAAI9e,MAAO8e,GAOnB,SAASE,EAAuBlmB,GAC9B0kB,EAAc/lB,MAAMyF,gBAAgBpE,GAItC,SAASmmB,IACP3mB,OAAO4mB,SAASC,SAGlB,SAASC,IAEP,MAAMC,EAAgB7f,OAAO8f,SACvBC,EAAa/f,OAAOggB,QAAQ,CAAEC,SAAS,IACvClS,EAAS,IAAIzO,UACb0O,EAAMD,EAAOxO,gBAAgBwgB,EAAY,aACzC9R,EAAWD,EAAIxO,KAAK4P,cAAc,yBAA2B,KAGnE9O,GAAmB4f,sBAAsBjS,GAOzC,MAAMC,EAAkBD,EAAStB,UAEjC,IAAIwT,EAAkB,CAClBC,YAAa,EACbC,YAAa,IACbC,sBAAuB,EACvBC,mBAAmB,EACnBC,wBAAwB,EACxBC,uBAAuB,EACvBC,eAAgB,SAChBC,YAAa,WACbC,0BAA0B,EAC1BC,kBAAkB,EAClBC,cAAc,EACdC,kBAAkB,EAClBC,iBAAkB,EAClBC,mBAAmB,EACnBC,aAAa,EACbC,KAAK,EACLC,oBAAoB,EACpBC,wBAAwB,GAG1B,MAAMC,EAAiBC,cAAgBrT,EAAiBiS,GAIzD,IAAIqB,EAAenD,EAAYja,KAC3Bqd,EAAkBvU,mBAAmBsU,GACrCE,EAAW,GAAE1U,SAAeC,eAAmBwU,IAGlDtU,OAAMwU,KAAMD,EAAS,CAAE3a,QAASua,IAC3BlU,KAAQwU,IAEP,IAAIC,EAAc,GAAE7U,SAAeC,2CACnCE,OAAMwU,KAAME,EAAY,CAAE9a,QAAS8Y,IAChCzS,KAAQwU,OAERrU,MAAQlG,IACP1L,QAAQC,IAAK,mCAAoCyL,OAGtDkG,MAAQlG,IACP1L,QAAQC,IAAK,wCAAyCyL,KAK9D,SAAS2X,IACP,MAAM8C,EAAS,IAAIC,gBAAgBjpB,OAAO4mB,SAASsC,QAC7CzM,EAAM,GACZ,IAAK,MAAOhd,EAAKN,KAAU6pB,EAAOG,UAChC1M,EAAIhd,GAAON,EAEb,OAAOsd,EAIT,SAAS7W,EAAgBgH,GAGvB0Y,EAAyBnmB,MAAMyG,gBAAiBgH,GAGhD,IAAIqX,EAAgB5N,SAASC,cAAc,cAC3C,GAAI1J,EAAM3H,QAAS,CACjB,IAAI+I,EAAU,CACZjI,OAAO,kBACPkI,QAAS,CACPyF,QAAQ,6BACR8L,YAAY5S,EAAM3H,QAAQvG,OAG9BulB,EAAcmF,cAAc3V,YAAYzF,EAAS,UAEjDsX,EAAyBnmB,MAAMukB,wBAAyB,IAI5D,SAAS2F,EAAoBtY,GAC3B/Q,OAAO4K,kBAAoBA,EAAkBzL,MAAQ4R,EAEjDqU,EAAgBjmB,OAClBimB,EAAgBjmB,MAAMid,qBAAqBrL,GAGzCsU,EAAqBlmB,OACvBkmB,EAAqBlmB,MAAMid,qBAAqBrL,GAIpD,SAASuY,EAA6BhtB,GAChC+oB,EAAqBlmB,OACvBkmB,EAAqBlmB,MAAMghB,oBAAoB7jB,GAInD,SAASitB,EAAW7c,GAClBtH,EAAQjG,MAASuN,EAGnB,SAAS8c,EAAmBrqB,GACxB,GAAmB,MAAfomB,EACF,OAAO,EACT,IAAIjb,EAAcib,EAAYjgB,MAAMC,OAChCkkB,EAAkBnf,EAAYC,IAAM7E,GAAiBA,EAAMhH,MAC/D,OAAI+qB,EAAgB3nB,QAAQ3C,IAAU,GAAc,IAATA,EAQ/C,SAASuqB,EAAsBrkB,GAC7B,MAAMskB,EAAW,CACL,aAAc,WACd,SAAU,UACV,WAAY,SACZ,SAAU,SACV,SAAU,OACV,WAAY,SACR,UAAW,SACX,UAAW,SACX,UAAW,SACX,SAAU,SACV,YAAa,SACb,YAAa,SACb,YAAa,SACb,WAAY,SAChB,WAAY,QACR,iBAAkB,QAClB,mBAAoB,QACpB,iBAAkB,QAClB,mBAAoB,QACpB,kBAAmB,QACnB,kBAAmB,QACnB,kBAAmB,QACnB,iBAAkB,QACtB,WAAY,SACZ,kDAAmD,SACnD,SAAU,SACV,qBAAsB,SACtB,uDAAwD,0BACxD,yCAA0C,oBAC1C,oCAAqC,iCACrC,yBAA0B,uBAC1B,eAAgB,aAChB,wBAAyB,uBAErCtkB,EAAMnC,QAAU0mB,IAEdA,EAAKtkB,MAAMC,OAASqkB,EAAKtkB,MAAMC,OAAOxC,OAAS2C,GAAiBA,EAAMmkB,YAEtED,EAAKtkB,MAAMC,OAAOrC,QAAUwC,IAC1B,IAAIokB,EAAYpkB,EAAMvB,KAClB4lB,EAAYD,EAAUpmB,QAAQ,WAAY,IAC1CsmB,EAAaL,EAASI,GACtBC,IACFtkB,EAAMvB,KAAO6lB,KAKjBJ,EAAKtkB,MAAMC,OAASC,OAAEC,OAAQmkB,EAAKtkB,MAAMC,OAASG,GAAiBA,EAAMhH,KAAKiH,iBAUlF,SAASwJ,IACPnP,OAAOilB,YAAcA,EAErB5O,SAAShI,iBAAiB,SAAU4b,IAClC,IAAIC,EAAc5E,EAAyBnmB,MACxB,MAAf+qB,GAEJA,EAAYrG,yBAId7jB,OAAOqO,iBACL,UACCzB,IACC,GAA0B,mBAAtBA,EAAMtQ,KAAKyJ,OAA6B,OAE5C,IAAImkB,EAAc5E,EAAyBnmB,MACxB,MAAf+qB,GAGJA,EAAYxG,wBAAwB9W,EAAMtQ,KAAK2R,WAEjD,GAGEiG,GAAYC,IAKhBE,OAAMtV,IAAKmV,EAAU,QACpBI,KAAO3W,IAGN,IAAIwsB,EAAQxsB,EAAOrB,KAAK8tB,aAAa9gB,KAAO+gB,GACnCA,EAAInlB,GAAG/F,MAAMmrB,YAAcnW,GAIhCoW,EAAcJ,EAEL,MAATA,GAEF9V,OAAMtV,IAAKmV,EAAU,QAAUC,EAAQ,UACtCG,KAAO3W,IACN+rB,EAAsB/rB,EAAOrB,KAAK+I,OAClCklB,EAAYllB,MAAQ1H,EAAOrB,KAAK+I,MAChCkkB,EAAWgB,GACXrU,WAAY,KACVqP,EAAc5nB,EAAOrB,KAAK+I,MAAM,GAChC,IAAImlB,EAAuBtW,EAAU,QAAUC,EAAQ,cAAgBC,mBAAoBmR,EAAYja,MACvG2Z,EAAY9lB,MAAMyV,aAAc4V,IAC/B,OACF/V,MAAQlG,IACT1L,QAAQC,IAAI,QAASyL,OAIxBkG,MAAQlG,IACT1L,QAAQC,IAAI,QAASyL,KAGvByX,EAActB,W,OA1QlBva,GAAcsD,QAAUA,EA8IpBzN,OAAOwpB,kBAAoBA,EA0D7B/nB,eAAW,KACT0N,M,kyEChYJ,MAAM,GAA2B,IAAgB,GAAQ,CAAC,CAAC,YAAY,qBAExD,UlCCfnP,OAAOyqB,MAAQA,EACfzqB,OAAO0qB,0BAA4BA,OAEnCA,iBAA4BC,SAC1BC,iBACAC,iBACAC,iBACAC,iBACAC,kBAGa,QACbtsB,KAAM,MACNsN,WAAY,CACVif,U,UmChBJ,MAAM,GAA2B,IAAgB,GAAQ,CAAC,CAAC,SAAS3X,KAErD,U,aCPA4X,mBAAY,CACzB/pB,MAAO,GAEPgqB,UAAW,GAEXC,QAAS,GAET/tB,QAAS,K,aCCI,I,sEAAA,CACbkgB,OAAQ,GACR8N,QAAS,KCNXrrB,OAAOgN,iBAAmB,GAE1BhN,OAAOmS,mBAAqB,SAASjN,EAAI+H,GACrCjN,OAAOgN,iBAAiB9H,GAAM+H,GAGlCjN,OAAOsrB,sBAAwB,SAASpmB,UAC7BlF,OAAOgN,iBAAiB9H,IAGnClF,OAAOsmB,SAAW,SAASD,GACvBhQ,SAASC,cAAc,QAAQzP,aAAa,QAAS,IACvC,SAAVwf,EACAhQ,SAASkV,gBAAgB1kB,aAAa,aAAc,QAEpDwP,SAASkV,gBAAgB1kB,aAAa,aAAc,UAI5D7G,OAAOqO,iBACH,UACCzB,IAC8B,0BAAvBA,EAAMtQ,KAAKoX,QACX1T,OAAOsrB,sBAAsB1e,EAAMtQ,KAAKqX,KACV,gBAAvB/G,EAAMtQ,KAAKoX,SAClB1T,OAAOsmB,SAAS1Z,EAAMtQ,KAAK8pB,aAGnC,GAGJoF,eAAUC,IAAKC,IAAIC,QAAQC,IAAmBF,IAAIG,IAAOC,MAAM,S,oCCrC/D,W,m/mGCAA,W,yDCAA,W,oCCAA,W,2DCAA,W,oCCAA,W,oCCAA,W,2DCAA,W,yDCAA,W,kCCAA,W,kCCAA,W,yDCAA,W,mECEA,SAAS1a,EAAwBlK,GAE7BA,EAAOqK,cAAcC,QAAQ,SAAU,CAEnCC,YAAa,SAAUlI,GACvB,GAAmB,WAAfA,EAAGnF,QACH,MAAO,CAACD,KAAM,SAAUzF,KAAK,WAEjC4G,MACA,CACIgL,SAAU,CACNyb,WAAW,EACXxnB,WAAW,EACXF,WAAW,EACX2nB,UAAU,EACVC,UAAU,EACVC,eAAe,EACfC,UAAU,EACVC,WAAW,EACX9nB,UAAU,EACV+nB,WAAW,EACXC,OAAQ,GACRvd,OAAQ,WACJ,IAAI2C,EAAa1R,OAAOqL,OAAOtD,WAAWyE,aAE1C,IAAImF,EAAWhF,KAAKxB,WAAWjG,GAAG0M,UAsBlC,SAASC,EAAoBC,GACzB,IAAIC,EAAmB,GACnBC,EAAiBjV,OAAOkV,oBAAoBH,GAahD,OAZAE,EAAe9O,QAAUgP,IACrB,IAAIgK,EAAqBhK,EAASxO,QAAQ,SAAU,IAChDyF,OAAsD2M,IAArChE,EAAaI,GAAUN,UAA0BE,EAAaI,GAAUN,UAAWE,EAAaI,GACjH,CAAC,OAAQ,SAAU,UAAUtI,SAASsS,KACtC/S,EAAiBwW,KAAKxW,QACa2M,IAA/BpE,EAAWvI,GACX4I,EAAiB,IAAImK,GAAsBxK,EAAWvI,GAEtD4I,EAAiB,IAAImK,GAAsB9Z,KAAKC,MAAM8G,MAI3D4I,EAGX,SAASwa,EAAyC9P,GAC9C,IAAK,IAAIhd,KAAOgd,EACd,GAAwB,kBAAbA,EAAIhd,IAAkC,OAAbgd,EAAIhd,GAEtC8sB,EAAyC9P,EAAIhd,SACxC,GAAwB,kBAAbgd,EAAIhd,GAAmB,CAEvC,MAAM+sB,EAAQ/P,EAAIhd,GAAK+sB,MAAM,cAC7B,GAAIA,GAASA,EAAM,GAAI,CACrB,MAAMC,EAAgBD,EAAM,GAE5B/P,EAAIhd,GAAOkd,EAAkBjL,EAAY+a,KAMnD,SAAS9P,EAAkBF,EAAK7V,GAC5B,MAAM8V,EAAY9V,EAAST,MAAM,KACjC,IAAK,IAAIvJ,EAAI,EAAGA,EAAI8f,EAAU5f,OAAQF,IAAK,CACvC,IAAK6f,IAAQA,EAAIxf,eAAeyf,EAAU9f,IACtC,OAEJ6f,EAAMA,EAAIC,EAAU9f,IAExB,OAAO6f,EA/DX9P,KAAKO,sBAAyBN,IAC1B8E,EAAa9E,EAAME,OACnBiF,EAAmBF,EAAoBlF,KAAKxB,YAC5CwB,KAAKyF,OAAOC,iBAAiBX,IAIjC1R,OAAOqL,OAAO8G,mBAAoBR,EAAUhF,MA2D5C,IAAIoF,EAAmBF,EAAoBlF,KAAKxB,YAGhDwB,KAAKyF,OAAS,IAAIE,IAAI,CAClB/I,GAAI,gBAAgBoI,EAEpBrV,KAAM,WAGF,IAAIowB,EAAa3a,EAAiB,SAClCwa,EAAyCG,GACzC,IAAIC,EAAe5a,EAAiB,YAAc,GAClDwa,EAAyCI,GACzC,IAAIC,EAAe7a,EAAiB,YAAc,GAGlD,OAFAwa,EAAyCK,GAElC,CAEH5e,QAAQ,aACR7C,WAAY4G,EACZL,WAAYA,EACZgb,WAAYA,EACZC,aAAcA,EACdC,aAAcA,IAGtB/Z,QAAS,CACLR,iBAAiBS,GACbnG,KAAK+E,WAAaoB,EAClB,IAAI4Z,EAAa3a,EAAiB,SAClCwa,EAAyCG,GACzC/f,KAAK+f,WAAaA,EAClB,IAAIC,EAAe5a,EAAiB,YAAc,GAClDwa,EAAyCI,GACzChgB,KAAKggB,aAAeA,EACpB,IAAIC,EAAe7a,EAAiB,YAAc,GAClDwa,EAAyCK,GACzCjgB,KAAKigB,aAAeA,GAExB7Z,iBAAiBC,GACbrG,KAAKxB,WAAa0G,EAAoBmB,GACtCjB,EAAmBpF,KAAKxB,WACxBwB,KAAK0F,iBAAiB1F,KAAK+E,cAInCwB,gBAMZG,qBAEAC,OAAQ,WACJ3G,KAAKrB,KAAKiI,YAEdpE,OACIxC,KAAKwG,SAASxG,KAAM,oBAAqBA,KAAKyG,oBAGlDI,UACIxT,OAAOqL,OAAOoI,YAAa,CAACC,QAAQ,wBAAyBC,IAAIhH,KAAKiH,MAAQ,OAKtFtI,KAAM,CACF8H,sBAEAG,WACI,MAAM,GAAEhK,EAAE,MAAEjE,GAAUqH,KACtB,IAAIgF,EAAWpI,EAAG4B,WAAWjG,GAAG0M,UAChCrI,EAAGmC,YAAcpG,EACjB,MAAMd,EAAiB,wBAAuBmN,6TAI9CpI,EAAGsK,UAAYrP,M,UAO/BnG,EAAOD,QAAU,CAAEgT,4B,yDCpLnB,W,kCCAA,W,8HCAA","file":"js/app.590e7d0c.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-cli-plugin-quasar/lib/loader.vue.auto-import-quasar.js??ref--1-1!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-2!./StylesPanel.vue?vue&type=style&index=0&id=53312a0a&lang=scss&scoped=true\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-cli-plugin-quasar/lib/loader.vue.auto-import-quasar.js??ref--1-1!../../node_modules/vue-loader-v16/dist/index.js??ref--1-2!./ChartProperties.vue?vue&type=style&index=0&id=f85b9ac6&lang=scss&scoped=true\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-cli-plugin-quasar/lib/loader.vue.auto-import-quasar.js??ref--1-1!../../node_modules/vue-loader-v16/dist/index.js??ref--1-2!./ChartPropertiesSection.vue?vue&type=style&index=0&id=5d639912&lang=css\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-cli-plugin-quasar/lib/loader.vue.auto-import-quasar.js??ref--1-1!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-2!./ComponentAddDialog.vue?vue&type=style&index=0&id=a6e02b56&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-cli-plugin-quasar/lib/loader.vue.auto-import-quasar.js??ref--1-1!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-2!./PanelTitle.vue?vue&type=style&index=0&id=6c90e336&lang=scss&scoped=true\"","\n\n\n\n\n","\n\n\n\n\n\n\n\n","import script from \"./PanelTitle.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./PanelTitle.vue?vue&type=script&setup=true&lang=js\"\n\nimport \"./PanelTitle.vue?vue&type=style&index=0&id=6c90e336&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/daniel/Documents/work/stipple_app/project42/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-6c90e336\"]])\n\nexport default __exports__","\n\n\n\n\n\n","import script from \"./Panel.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./Panel.vue?vue&type=script&setup=true&lang=js\"\n\nimport \"./Panel.vue?vue&type=style&index=0&id=238e861a&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/daniel/Documents/work/stipple_app/project42/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-238e861a\"]])\n\nexport default __exports__","\n\n\n\n","import script from \"./Tabs.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./Tabs.vue?vue&type=script&setup=true&lang=js\"\n\nimport \"./Tabs.vue?vue&type=style&index=0&id=1d801ac0&lang=css\"\n\nconst __exports__ = script;\n\nexport default __exports__","import script from \"./Tab.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./Tab.vue?vue&type=script&setup=true&lang=js\"\n\nimport \"./Tab.vue?vue&type=style&index=0&id=5af1ae02&lang=css\"\n\nconst __exports__ = script;\n\nexport default __exports__","/*\nIcon list Extracted from https://fonts.google.com/icons?icon.set=Material+Icons&selected=Material+Icons+Outlined:shopping_cart: with this script:\nlet result = [];\nlet iconElements = document.querySelectorAll(\"div.icons-container .icon-asset\")\niconElements.forEach( el=>{\n let content = el.querySelector(\"span\")\n let name = content.innerText;\n let classes = el.getAttribute(\"class\");\n result.push(name);\n} )\nconsole.log( JSON.stringify(result) );\n*/\n//import blockDefinitionsSource from \"./blockDefinitionsSource.js\";\nimport blockDefinitionsSourceRaw from \"./blockDefinitions.json\";\nlet blockDefinitionsSource = JSON.parse( JSON.stringify(blockDefinitionsSourceRaw) );\n\nlet injectableVariables = {\n supportedIcons: [ \n \"search\",\"search\",\"home\",\"account_circle\",\"settings\",\"done\",\"info\",\"check_circle\",\"delete\",\"visibility\",\"shopping_cart\",\"favorite\",\"description\",\"logout\",\"favorite_border\",\"lock\",\"schedule\",\"language\",\"help_outline\",\"face\",\"manage_accounts\",\"verified\",\"filter_alt\",\"thumb_up\",\"event\",\"fingerprint\",\"dashboard\",\"list\",\"login\",\"visibility_off\",\"check_circle_outline\",\"calendar_today\",\"highlight_off\",\"help\",\"paid\",\"task_alt\",\"question_answer\",\"date_range\",\"article\",\"open_in_new\",\"shopping_bag\",\"lightbulb\",\"credit_card\",\"perm_identity\",\"history\",\"trending_up\",\"account_balance\",\"delete_outline\",\"fact_check\",\"report_problem\",\"verified_user\",\"assignment\",\"star_rate\",\"arrow_right_alt\",\"account_balance_wallet\",\"autorenew\",\"build\",\"view_list\",\"work\",\"print\",\"store\",\"analytics\",\"delete_forever\",\"today\",\"calendar_month\",\"admin_panel_settings\",\"lock_open\",\"watch_later\",\"grade\",\"update\",\"savings\",\"room\",\"code\",\"receipt\",\"add_shopping_cart\",\"contact_support\",\"power_settings_new\",\"done_all\",\"pets\",\"explore\",\"bookmark\",\"account_box\",\"note_add\",\"reorder\",\"bookmark_border\",\"pending_actions\",\"shopping_basket\",\"payment\",\"launch\",\"drag_indicator\",\"supervisor_account\",\"touch_app\",\"pending\",\"zoom_in\",\"assessment\",\"leaderboard\",\"thumb_up_off_alt\",\"open_in_full\",\"preview\",\"done_outline\",\"exit_to_app\",\"assignment_ind\",\"published_with_changes\",\"card_giftcard\",\"view_in_ar\",\"feedback\",\"work_outline\",\"timeline\",\"swap_horiz\",\"assignment_turned_in\",\"dns\",\"stars\",\"sync_alt\",\"label\",\"flight_takeoff\",\"tips_and_updates\",\"book\",\"contact_page\",\"alarm\",\"space_dashboard\",\"bug_report\",\"cached\",\"gavel\",\"translate\",\"pan_tool\",\"edit_calendar\",\"supervised_user_circle\",\"minimize\",\"extension\",\"accessibility\",\"android\",\"rocket_launch\",\"get_app\",\"question_mark\",\"record_voice_over\",\"add_task\",\"trending_flat\",\"help_center\",\"hourglass_empty\",\"accessibility_new\",\"rule\",\"thumb_down\",\"sticky_note_2\",\"settings_applications\",\"source\",\"dashboard_customize\",\"find_in_page\",\"ads_click\",\"support\",\"flutter_dash\",\"close_fullscreen\",\"redeem\",\"announcement\",\"loyalty\",\"swap_vert\",\"arrow_circle_right\",\"view_headline\",\"restore\",\"dangerous\",\"euro_symbol\",\"group_work\",\"sensors\",\"compare_arrows\",\"subject\",\"table_view\",\"disabled_by_default\",\"privacy_tip\",\"nightlight_round\",\"https\",\"toc\",\"track_changes\",\"arrow_circle_up\",\"bookmarks\",\"copyright\",\"grading\",\"currency_exchange\",\"input\",\"api\",\"perm_media\",\"query_builder\",\"view_module\",\"build_circle\",\"zoom_out\",\"perm_contact_calendar\",\"settings_phone\",\"backup\",\"open_with\",\"circle_notifications\",\"perm_phone_msg\",\"book_online\",\"speaker_notes\",\"label_important\",\"wysiwyg\",\"card_membership\",\"file_present\",\"arrow_circle_down\",\"pageview\",\"3d_rotation\",\"upgrade\",\"integration_instructions\",\"change_history\",\"trending_down\",\"swipe\",\"class\",\"percent\",\"accessible\",\"g_translate\",\"settings_accessibility\",\"expand\",\"offline_bolt\",\"settings_backup_restore\",\"production_quantity_limits\",\"arrow_circle_left\",\"aspect_ratio\",\"model_training\",\"view_column\",\"donut_large\",\"segment\",\"calendar_view_month\",\"schedule_send\",\"alarm_on\",\"maximize\",\"bookmark_add\",\"thumbs_up_down\",\"settings_ethernet\",\"theaters\",\"view_agenda\",\"thumb_down_off_alt\",\"important_devices\",\"unpublished\",\"invert_colors\",\"opacity\",\"commute\",\"open_in_browser\",\"system_update_alt\",\"no_accounts\",\"addchart\",\"history_toggle_off\",\"view_week\",\"youtube_searched_for\",\"tour\",\"shopping_cart_checkout\",\"hide_source\",\"bookmark_added\",\"mark_as_unread\",\"settings_input_antenna\",\"shop\",\"plagiarism\",\"turned_in\",\"search_off\",\"not_started\",\"flight_land\",\"assignment_late\",\"assignment_return\",\"donut_small\",\"saved_search\",\"filter_alt_off\",\"contactless\",\"highlight_alt\",\"hotel_class\",\"settings_input_component\",\"balance\",\"view_carousel\",\"view_quilt\",\"anchor\",\"all_inbox\",\"turned_in_not\",\"mediation\",\"settings_remote\",\"edit_off\",\"hourglass_full\",\"fit_screen\",\"flaky\",\"rocket\",\"toll\",\"remove_shopping_cart\",\"lock_clock\",\"swap_horizontal_circle\",\"settings_voice\",\"view_sidebar\",\"event_seat\",\"online_prediction\",\"vertical_split\",\"next_plan\",\"pregnant_woman\",\"data_exploration\",\"terminal\",\"restore_from_trash\",\"lock_reset\",\"camera_enhance\",\"markunread_mailbox\",\"dynamic_form\",\"tab\",\"calendar_view_week\",\"view_stream\",\"accessible_forward\",\"request_page\",\"token\",\"remove_done\",\"settings_power\",\"smart_button\",\"add_to_drive\",\"card_travel\",\"outbox\",\"try\",\"offline_pin\",\"calendar_view_day\",\"find_replace\",\"density_medium\",\"rowing\",\"compress\",\"chrome_reader_mode\",\"fax\",\"outlet\",\"assignment_returned\",\"http\",\"settings_brightness\",\"add_card\",\"alarm_add\",\"generating_tokens\",\"new_label\",\"backup_table\",\"spellcheck\",\"restore_page\",\"credit_card_off\",\"wifi_protected_setup\",\"play_for_work\",\"free_cancellation\",\"settings_overscan\",\"work_history\",\"123\",\"gif\",\"outbound\",\"disabled_visible\",\"swap_vertical_circle\",\"settings_input_composite\",\"cancel_schedule_send\",\"quickreply\",\"view_day\",\"event_repeat\",\"comment_bank\",\"assured_workload\",\"switch_access_shortcut\",\"display_settings\",\"view_timeline\",\"line_weight\",\"pan_tool_alt\",\"horizontal_split\",\"noise_control_off\",\"webhook\",\"satellite_alt\",\"polymer\",\"batch_prediction\",\"send_and_archive\",\"picture_in_picture\",\"manage_history\",\"code_off\",\"bookmark_remove\",\"settings_bluetooth\",\"shop_two\",\"output\",\"html\",\"flip_to_front\",\"gif_box\",\"eject\",\"speaker_notes_off\",\"alarm_off\",\"perm_data_setting\",\"settings_input_hdmi\",\"perm_scan_wifi\",\"hourglass_disabled\",\"troubleshoot\",\"switch_access_shortcut_add\",\"sensors_off\",\"settings_cell\",\"work_off\",\"app_blocking\",\"picture_in_picture_alt\",\"line_style\",\"perm_device_information\",\"join_full\",\"subtitles_off\",\"update_disabled\",\"app_shortcut\",\"javascript\",\"abc\",\"swipe_left\",\"voice_over_off\",\"private_connectivity\",\"lightbulb_circle\",\"settings_input_svideo\",\"join_inner\",\"flip_to_back\",\"view_array\",\"swipe_right\",\"install_desktop\",\"open_in_new_off\",\"swipe_up\",\"all_out\",\"shop_2\",\"label_off\",\"density_small\",\"tab_unselected\",\"rounded_corner\",\"data_thresholding\",\"text_rotate_vertical\",\"arrow_outward\",\"commit\",\"explore_off\",\"install_mobile\",\"text_rotation_none\",\"view_kanban\",\"not_accessible\",\"css\",\"swipe_down\",\"lock_person\",\"pin_invoke\",\"join_left\",\"extension_off\",\"spatial_audio_off\",\"perm_camera_mic\",\"pinch\",\"swipe_vertical\",\"noise_aware\",\"pin_end\",\"view_cozy\",\"join_right\",\"swipe_right_alt\",\"text_rotate_up\",\"text_rotation_angleup\",\"text_rotation_down\",\"text_rotation_angledown\",\"browse_gallery\",\"php\",\"view_comfy_alt\",\"view_compact_alt\",\"network_ping\",\"swipe_down_alt\",\"add_home\",\"density_large\",\"on_device_training\",\"swipe_left_alt\",\"spatial_tracking\",\"swipe_up_alt\",\"unfold_more_double\",\"spatial_audio\",\"width_full\",\"unfold_less_double\",\"repartition\",\"width_normal\",\"transcribe\",\"width_wide\",\"hls\",\"hls_off\",\"face_unlock\",\"close\",\"close\",\"menu\",\"expand_more\",\"arrow_back\",\"chevron_right\",\"arrow_forward_ios\",\"arrow_back_ios\",\"cancel\",\"arrow_drop_down\",\"more_vert\",\"arrow_forward\",\"chevron_left\",\"expand_less\",\"check\",\"more_horiz\",\"refresh\",\"apps\",\"payments\",\"arrow_upward\",\"east\",\"campaign\",\"arrow_back_ios_new\",\"arrow_downward\",\"arrow_right\",\"menu_open\",\"fullscreen\",\"arrow_drop_up\",\"unfold_more\",\"double_arrow\",\"maps_home_work\",\"west\",\"expand_circle_down\",\"south\",\"arrow_left\",\"north_east\",\"north\",\"home_work\",\"first_page\",\"fullscreen_exit\",\"arrow_drop_down_circle\",\"last_page\",\"unfold_less\",\"subdirectory_arrow_right\",\"legend_toggle\",\"south_east\",\"app_settings_alt\",\"assistant_direction\",\"subdirectory_arrow_left\",\"north_west\",\"waterfall_chart\",\"switch_left\",\"south_west\",\"pivot_table_chart\",\"switch_right\",\"apps_outage\",\"offline_share\",\"add_home_work\",\"person\",\"person\",\"notifications\",\"groups\",\"people\",\"share\",\"school\",\"person_outline\",\"person_add\",\"public\",\"emoji_events\",\"group\",\"engineering\",\"notifications_active\",\"construction\",\"people_alt\",\"group_add\",\"psychology\",\"health_and_safety\",\"thumb_up_alt\",\"travel_explore\",\"water_drop\",\"notifications_none\",\"emoji_emotions\",\"sports_esports\",\"sentiment_very_satisfied\",\"location_city\",\"ios_share\",\"precision_manufacturing\",\"sentiment_satisfied\",\"workspace_premium\",\"person_add_alt\",\"military_tech\",\"science\",\"emoji_objects\",\"history_edu\",\"cake\",\"sentiment_dissatisfied\",\"sentiment_very_dissatisfied\",\"handshake\",\"emoji_people\",\"coronavirus\",\"self_improvement\",\"person_remove\",\"poll\",\"whatshot\",\"sports_soccer\",\"domain\",\"mood\",\"recommend\",\"people_outline\",\"female\",\"recycling\",\"person_off\",\"male\",\"person_add_alt_1\",\"connect_without_contact\",\"sentiment_neutral\",\"back_hand\",\"hiking\",\"waving_hand\",\"architecture\",\"masks\",\"notifications_off\",\"thumb_down_alt\",\"luggage\",\"real_estate_agent\",\"front_hand\",\"vaccines\",\"mood_bad\",\"emoji_nature\",\"switch_account\",\"nights_stay\",\"king_bed\",\"catching_pokemon\",\"interests\",\"compost\",\"sports_basketball\",\"notification_add\",\"diversity_3\",\"sports_kabaddi\",\"sports\",\"emoji_symbols\",\"reduce_capacity\",\"emoji_food_beverage\",\"cruelty_free\",\"man\",\"sick\",\"emoji_transportation\",\"sports_tennis\",\"cookie\",\"heart_broken\",\"transgender\",\"elderly\",\"add_moderator\",\"outdoor_grill\",\"deck\",\"woman\",\"add_reaction\",\"social_distance\",\"personal_injury\",\"follow_the_signs\",\"plus_one\",\"fireplace\",\"wallet\",\"scale\",\"clean_hands\",\"piano\",\"pix\",\"surfing\",\"sanitizer\",\"sports_motorsports\",\"diversity_1\",\"sports_handball\",\"sports_baseball\",\"edit_notifications\",\"hive\",\"sports_volleyball\",\"pages\",\"groups_2\",\"sports_football\",\"downhill_skiing\",\"kayaking\",\"psychology_alt\",\"public_off\",\"single_bed\",\"remove_moderator\",\"group_remove\",\"skateboarding\",\"co2\",\"notifications_paused\",\"boy\",\"person_remove_alt_1\",\"safety_divider\",\"diversity_2\",\"domain_add\",\"fitbit\",\"sports_cricket\",\"group_off\",\"sports_mma\",\"nordic_walking\",\"sports_martial_arts\",\"sports_golf\",\"girl\",\"thunderstorm\",\"paragliding\",\"6_ft_apart\",\"party_mode\",\"snowboarding\",\"kitesurfing\",\"sports_gymnastics\",\"groups_3\",\"face_6\",\"snowshoeing\",\"sports_hockey\",\"ice_skating\",\"south_america\",\"sports_rugby\",\"face_3\",\"elderly_woman\",\"sledding\",\"scoreboard\",\"person_2\",\"face_2\",\"face_4\",\"sign_language\",\"no_luggage\",\"cyclone\",\"person_4\",\"face_5\",\"person_3\",\"piano_off\",\"flood\",\"scuba_diving\",\"severe_cold\",\"tsunami\",\"roller_skating\",\"tornado\",\"landslide\",\"assist_walker\",\"woman_2\",\"man_2\",\"volcano\",\"18_up_rating\",\"blind\",\"no_adult_content\",\"man_4\",\"man_3\",\"add\",\"add\",\"add_circle_outline\",\"content_copy\",\"add_circle\",\"send\",\"clear\",\"save\",\"mail\",\"link\",\"remove\",\"filter_list\",\"inventory_2\",\"inventory\",\"insights\",\"remove_circle_outline\",\"sort\",\"bolt\",\"flag\",\"reply\",\"add_box\",\"remove_circle\",\"push_pin\",\"block\",\"calculate\",\"create\",\"undo\",\"how_to_reg\",\"content_paste\",\"report\",\"file_copy\",\"backspace\",\"shield\",\"archive\",\"save_alt\",\"policy\",\"tag\",\"change_circle\",\"redo\",\"forward\",\"content_cut\",\"outlined_flag\",\"inbox\",\"link_off\",\"ballot\",\"drafts\",\"biotech\",\"report_gmailerrorred\",\"delete_sweep\",\"stacked_bar_chart\",\"markunread\",\"square_foot\",\"add_link\",\"stream\",\"where_to_vote\",\"dynamic_feed\",\"copy_all\",\"move_to_inbox\",\"waves\",\"unarchive\",\"content_paste_search\",\"reply_all\",\"select_all\",\"low_priority\",\"text_format\",\"save_as\",\"font_download\",\"weekend\",\"how_to_vote\",\"upcoming\",\"gesture\",\"attribution\",\"flag_circle\",\"content_paste_go\",\"filter_list_off\",\"next_week\",\"content_paste_off\",\"report_off\",\"web_stories\",\"deselect\",\"font_download_off\",\"edit\",\"edit\",\"navigate_next\",\"photo_camera\",\"image\",\"tune\",\"picture_as_pdf\",\"receipt_long\",\"circle\",\"timer\",\"auto_stories\",\"collections\",\"auto_awesome\",\"navigate_before\",\"add_a_photo\",\"palette\",\"remove_red_eye\",\"music_note\",\"add_photo_alternate\",\"wb_sunny\",\"brush\",\"euro\",\"flash_on\",\"looks_one\",\"auto_fix_high\",\"control_point\",\"style\",\"adjust\",\"straighten\",\"photo_library\",\"camera\",\"portrait\",\"camera_alt\",\"audiotrack\",\"video_camera_front\",\"rotate_right\",\"color_lens\",\"grid_on\",\"crop_free\",\"timelapse\",\"landscape\",\"slideshow\",\"currency_rupee\",\"collections_bookmark\",\"crop_square\",\"lens\",\"panorama_fish_eye\",\"looks_two\",\"filter_vintage\",\"compare\",\"looks_3\",\"filter_drama\",\"image_search\",\"healing\",\"auto_awesome_motion\",\"rotate_left\",\"center_focus_strong\",\"crop\",\"blur_on\",\"wb_incandescent\",\"flare\",\"face_retouching_natural\",\"wb_cloudy\",\"assistant\",\"broken_image\",\"cases\",\"colorize\",\"filter_none\",\"brightness_4\",\"filter_center_focus\",\"crop_original\",\"auto_fix_normal\",\"dehaze\",\"nature_people\",\"photo\",\"flash_off\",\"auto_awesome_mosaic\",\"tag_faces\",\"brightness_6\",\"brightness_5\",\"details\",\"grain\",\"flip_camera_android\",\"brightness_1\",\"flip\",\"loupe\",\"image_not_supported\",\"flip_camera_ios\",\"view_comfy\",\"filter_1\",\"movie_creation\",\"add_to_photos\",\"panorama\",\"bedtime\",\"animation\",\"center_focus_weak\",\"looks_4\",\"movie_filter\",\"crop_din\",\"filter\",\"control_point_duplicate\",\"brightness_7\",\"leak_add\",\"currency_bitcoin\",\"nature\",\"incomplete_circle\",\"texture\",\"view_compact\",\"timer_off\",\"photo_size_select_actual\",\"video_camera_back\",\"transform\",\"currency_yen\",\"motion_photos_on\",\"photo_camera_front\",\"rotate_90_degrees_ccw\",\"looks_5\",\"mic_external_on\",\"gradient\",\"assistant_photo\",\"wb_twilight\",\"currency_pound\",\"contrast\",\"hide_image\",\"music_off\",\"exposure_plus_1\",\"crop_16_9\",\"thermostat_auto\",\"filter_2\",\"shutter_speed\",\"exposure\",\"photo_album\",\"filter_tilt_shift\",\"hdr_strong\",\"looks\",\"vrpano\",\"linked_camera\",\"brightness_3\",\"looks_6\",\"blur_circular\",\"flash_auto\",\"motion_photos_auto\",\"crop_portrait\",\"photo_filter\",\"iso\",\"brightness_2\",\"tonality\",\"photo_size_select_small\",\"filter_hdr\",\"crop_7_5\",\"rotate_90_degrees_cw\",\"crop_rotate\",\"photo_size_select_large\",\"filter_3\",\"exposure_zero\",\"hdr_weak\",\"currency_ruble\",\"camera_front\",\"crop_5_4\",\"filter_frames\",\"burst_mode\",\"camera_roll\",\"logo_dev\",\"filter_b_and_w\",\"blur_linear\",\"crop_3_2\",\"crop_landscape\",\"switch_camera\",\"switch_video\",\"filter_7\",\"exposure_plus_2\",\"filter_4\",\"filter_9_plus\",\"grid_off\",\"wb_iridescent\",\"motion_photos_paused\",\"monochrome_photos\",\"photo_camera_back\",\"filter_5\",\"auto_fix_off\",\"face_retouching_off\",\"exposure_neg_1\",\"panorama_photosphere\",\"filter_8\",\"leak_remove\",\"filter_9\",\"video_stable\",\"timer_10\",\"filter_6\",\"wb_shade\",\"blur_off\",\"motion_photos_off\",\"raw_on\",\"motion_photos_pause\",\"hdr_on\",\"vignette\",\"panorama_horizontal\",\"30fps_select\",\"image_aspect_ratio\",\"dirty_lens\",\"deblur\",\"camera_rear\",\"60fps_select\",\"timer_3\",\"panorama_wide_angle_select\",\"24mp\",\"exposure_neg_2\",\"currency_yuan\",\"currency_lira\",\"autofps_select\",\"panorama_horizontal_select\",\"panorama_photosphere_select\",\"hdr_plus\",\"wb_auto\",\"panorama_wide_angle\",\"panorama_vertical_select\",\"mic_external_off\",\"12mp\",\"panorama_vertical\",\"mp\",\"hdr_enhanced_select\",\"currency_franc\",\"hevc\",\"18mp\",\"10mp\",\"raw_off\",\"23mp\",\"bedtime_off\",\"hdr_off\",\"11mp\",\"20mp\",\"3mp\",\"5mp\",\"13mp\",\"15mp\",\"16mp\",\"21mp\",\"2mp\",\"17mp\",\"14mp\",\"22mp\",\"19mp\",\"9mp\",\"4mp\",\"7mp\",\"8mp\",\"6mp\",\"email\",\"email\",\"location_on\",\"call\",\"phone\",\"business\",\"chat\",\"mail_outline\",\"list_alt\",\"qr_code_scanner\",\"vpn_key\",\"chat_bubble_outline\",\"alternate_email\",\"forum\",\"chat_bubble\",\"textsms\",\"contact_mail\",\"person_search\",\"sentiment_satisfied_alt\",\"qr_code\",\"qr_code_2\",\"message\",\"contacts\",\"comment\",\"key\",\"import_contacts\",\"app_registration\",\"contact_phone\",\"import_export\",\"live_help\",\"forward_to_inbox\",\"hourglass_bottom\",\"hourglass_top\",\"rss_feed\",\"mark_email_read\",\"hub\",\"read_more\",\"document_scanner\",\"more_time\",\"mark_email_unread\",\"call_end\",\"clear_all\",\"dialpad\",\"phone_enabled\",\"mark_chat_unread\",\"cancel_presentation\",\"3p\",\"call_made\",\"screen_share\",\"call_split\",\"unsubscribe\",\"present_to_all\",\"domain_verification\",\"mark_chat_read\",\"add_ic_call\",\"co_present\",\"phonelink_ring\",\"stay_current_portrait\",\"call_received\",\"phonelink_lock\",\"phone_disabled\",\"ring_volume\",\"location_off\",\"phonelink_setup\",\"duo\",\"cell_tower\",\"stay_primary_portrait\",\"swap_calls\",\"voicemail\",\"call_merge\",\"mobile_screen_share\",\"phonelink_erase\",\"person_add_disabled\",\"domain_disabled\",\"call_missed_outgoing\",\"speaker_phone\",\"spoke\",\"cell_wifi\",\"desktop_access_disabled\",\"stop_screen_share\",\"print_disabled\",\"call_missed\",\"mark_unread_chat_alt\",\"pause_presentation\",\"dialer_sip\",\"invert_colors_off\",\"comments_disabled\",\"contact_emergency\",\"wifi_calling\",\"rtt\",\"portable_wifi_off\",\"send_time_extension\",\"mail_lock\",\"stay_current_landscape\",\"sip\",\"nat\",\"stay_primary_landscape\",\"no_sim\",\"key_off\",\"vpn_key_off\",\"local_shipping\",\"local_shipping\",\"place\",\"menu_book\",\"local_offer\",\"badge\",\"map\",\"category\",\"restaurant\",\"directions_car\",\"local_fire_department\",\"volunteer_activism\",\"my_location\",\"flight\",\"local_mall\",\"near_me\",\"handyman\",\"directions_run\",\"restaurant_menu\",\"layers\",\"medical_services\",\"directions_walk\",\"lunch_dining\",\"local_hospital\",\"celebration\",\"local_library\",\"pin_drop\",\"park\",\"local_atm\",\"local_activity\",\"person_pin\",\"design_services\",\"local_cafe\",\"rate_review\",\"delivery_dining\",\"directions_bus\",\"local_police\",\"directions_bike\",\"fastfood\",\"directions_car_filled\",\"home_repair_service\",\"zoom_out_map\",\"hotel\",\"cleaning_services\",\"local_phone\",\"local_grocery_store\",\"miscellaneous_services\",\"navigation\",\"local_gas_station\",\"train\",\"person_pin_circle\",\"local_parking\",\"local_florist\",\"diamond\",\"local_post_office\",\"money\",\"directions\",\"two_wheeler\",\"factory\",\"add_business\",\"traffic\",\"electrical_services\",\"local_bar\",\"route\",\"directions_boat\",\"alt_route\",\"agriculture\",\"pedal_bike\",\"beenhere\",\"360\",\"warehouse\",\"liquor\",\"emergency\",\"moving\",\"local_airport\",\"sailing\",\"add_location_alt\",\"local_dining\",\"maps_ugc\",\"local_taxi\",\"ramen_dining\",\"trip_origin\",\"hail\",\"local_drink\",\"local_laundry_service\",\"directions_bus_filled\",\"local_printshop\",\"theater_comedy\",\"local_pizza\",\"not_listed_location\",\"add_location\",\"transfer_within_a_station\",\"dinner_dining\",\"bakery_dining\",\"forest\",\"wine_bar\",\"terrain\",\"multiple_stop\",\"takeout_dining\",\"store_mall_directory\",\"icecream\",\"museum\",\"nightlife\",\"local_pharmacy\",\"hardware\",\"add_road\",\"departure_board\",\"set_meal\",\"ev_station\",\"local_see\",\"electric_car\",\"festival\",\"plumbing\",\"layers_clear\",\"car_rental\",\"attractions\",\"edit_location\",\"local_convenience_store\",\"zoom_in_map\",\"pest_control\",\"medical_information\",\"dry_cleaning\",\"run_circle\",\"edit_road\",\"edit_attributes\",\"edit_location_alt\",\"church\",\"moped\",\"wrong_location\",\"car_repair\",\"local_movies\",\"satellite\",\"directions_boat_filled\",\"tram\",\"soup_kitchen\",\"taxi_alert\",\"breakfast_dining\",\"signpost\",\"atm\",\"subway\",\"transit_enterexit\",\"straight\",\"merge\",\"brunch_dining\",\"hvac\",\"electric_bike\",\"directions_transit\",\"crisis_alert\",\"electric_scooter\",\"connecting_airports\",\"bus_alert\",\"egg\",\"local_car_wash\",\"local_hotel\",\"mode_of_travel\",\"stadium\",\"castle\",\"streetview\",\"safety_check\",\"directions_subway\",\"car_crash\",\"mosque\",\"compass_calibration\",\"electric_rickshaw\",\"turn_right\",\"airline_stops\",\"directions_railway\",\"no_meals\",\"fork_right\",\"railway_alert\",\"electric_moped\",\"local_play\",\"bike_scooter\",\"no_crash\",\"turn_left\",\"airlines\",\"pest_control_rodent\",\"near_me_disabled\",\"snowmobile\",\"u_turn_left\",\"directions_transit_filled\",\"egg_alt\",\"no_transfer\",\"file_download\",\"play_arrow\",\"star\",\"warning\",\"support_agent\",\"attach_money\",\"keyboard_arrow_down\",\"light_mode\",\"storefront\",\"manage_search\",\"sensor_door\" \n ].sort(), \n supportedColors: [\"primary\", \"secondary\", \"accent\", \"dark\", \"positive\", \"negative\", \"info\", \"warning\"]\n}\n\nfunction parseDefinitionsSource(){\n console.log( 'blockDefinitionsSource 1', blockDefinitionsSource );\n\n // Filter iut non-enabled blocks\n blockDefinitionsSource = blockDefinitionsSource.filter( (block) => block.enabled );\n \n blockDefinitionsSource.forEach( (block) => {\n // Remove v-model as we'll use model-value instead\n let indexOfVmodel = block.properties.findIndex( (prop) => prop.name == \"v-model\" );\n if( indexOfVmodel > -1 ){\n block.properties.splice(indexOfVmodel, 1);\n }\n \n // rename model-value to be Data Binding (v-model)\n let indexOfModelValue = block.properties.findIndex( (prop) => prop.name == \"model-value\" );\n if( indexOfModelValue > -1 ){\n block.properties[indexOfModelValue].name = \"v-model\";\n block.properties[indexOfModelValue].label = \"Data Binding\";\n }\n \n\n\n // Remove \"-\" values from bindings as they are not valid values\n if( block.content.indexOf('v-on:click') > -1 || block.content.indexOf('v-model') > -1 ){\n block.content = block.content.replace( `v-on:click=\"-\"`, `v-on:click=\"\"`);\n block.content = block.content.replace( `v-model=\"-\"`, `v-model=\"\"`);\n }\n let blockProps = block.properties;\n blockProps.forEach( (prop) => {\n for( let propAttributeName in prop ){\n let propAttrValue = prop[propAttributeName];\n\n // Replace interpolated values (i.e. ${supportedIcons})) with the actual value\n if( typeof propAttrValue == \"string\" && propAttrValue.indexOf('${') == 0 ){\n let variableName = propAttrValue.slice(2,-1);\n let variableValue = injectableVariables[variableName];\n prop[propAttributeName] = variableValue;\n }\n\n // In case of multiple types for a prop, leave only the first one\n // To-do: support for multiple types\n if( Array.isArray(propAttrValue) ){\n prop[propAttributeName] = propAttrValue[0];\n }\n \n /* if( propAttrValue == \"-\" ){\n debugger;\n prop[propAttributeName] = \"\";\n } */\n }\n });\n });\n\n console.log( 'blockDefinitionsSource 2', blockDefinitionsSource );\n}\n\nparseDefinitionsSource();\n\nlet blockDefinitions = blockDefinitionsSource;\n\n// Add special blocks\n// -------------------------------------\n\n// TempPlaceholder for dragged-bindings\nblockDefinitions.push({\n type: \"tempplaceholder\", label: \"Temp PlaceHolder\", tagName: \"TEMPPLACEHOLDER\", \n content: \"TEMP Place holder\", \n properties: [], \n droppable: false, editable: false, draggable: true,\n} );\n\n// Plotly charts\nblockDefinitions.push({\n type: \"plotly\", label: \"Chart\", tagName: \"PLOTLY\", \n content: ``, \n renderContent: ``, \n \n droppable: false, editable: false, draggable: true,\n properties: [\n { label: 'Data', name: 'data', type:'PlotlyBase.GenericTrace' }, \n { label: 'Layout', name: 'layout', type:'PlotlyBase.Layout' }, \n { label: 'Config', name: 'config', type:'Object' }, \n ], \n});\n\nexport default blockDefinitions;","\n\n\n\n","import script from \"./BindingsPanel.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./BindingsPanel.vue?vue&type=script&setup=true&lang=js\"\n\nimport \"./BindingsPanel.vue?vue&type=style&index=0&id=52e79ce3&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/daniel/Documents/work/stipple_app/project42/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-52e79ce3\"]])\n\nexport default __exports__","import script from \"./StylesPanel.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./StylesPanel.vue?vue&type=script&setup=true&lang=js\"\n\nimport \"./StylesPanel.vue?vue&type=style&index=0&id=53312a0a&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/daniel/Documents/work/stipple_app/project42/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-53312a0a\"]])\n\nexport default __exports__","\n\n\n\n\n\n","import script from \"./ComponentAddDialog.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./ComponentAddDialog.vue?vue&type=script&setup=true&lang=js\"\n\nimport \"./ComponentAddDialog.vue?vue&type=style&index=0&id=a6e02b56&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/daniel/Documents/work/stipple_app/project42/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-a6e02b56\"]])\n\nexport default __exports__","import blockDefinitions from \"./blockDefinitions\";\nlet blockDefinitionsByTagName = {};\nblockDefinitions.forEach((block) => {\n blockDefinitionsByTagName[block.tagName] = block;\n});\n\n\n\nexport default class HtmlTemplateParser {\n constructor() {\n throw new Error(\n \"HtmlTemplateParser is a static class and cannot be instantiated\"\n );\n }\n\n static encodeAttributesInDOM(element) {\n\n // Ensure the element is a Node\n if (!(element instanceof Node)) {\n throw new Error(\"Element is not a Node\");\n }\n\n // Call the callback for the current element\n HtmlTemplateParser.replaceElementAttributes(element);\n\n // Recursively traverse the child nodes\n for (let i = 0; i < element.childNodes.length; i++) {\n HtmlTemplateParser.encodeAttributesInDOM(\n element.childNodes[i]\n );\n }\n}\n\nstatic replaceElementAttributes( element ){\n let modelVariables = window.sharedData.modelFieldsByName;\n let gbPrefix = 'gb_';\n let bcTypeC = gbPrefix + 'c__';\n let bcTypeB = gbPrefix + 'b__';\n let specialDynamicAttributeNames = [ 'v-model', 'v-bind', 'v-on' ];\n let excludedAttributeNames = [ 'class', 'style', 'id'];\n let componentName = element.nodeName;\n let componentDefinition = blockDefinitionsByTagName[componentName];\n \n // Do not parse elements without component definition\n if( !componentDefinition ){\n return\n }\n let componentPropertiesDefinitions = componentDefinition.properties;\n let elementAttributeNames = element.getAttributeNames();\n elementAttributeNames.forEach( (attributeName) => {\n // Do not parse excluded attributes such as id, class, style...\n if( excludedAttributeNames.indexOf(attributeName) > -1 ){\n return;\n }\n\n let hasColon = attributeName.startsWith(':');\n let cleanName = hasColon ? attributeName.slice(1) : attributeName;\n let isDynamic = hasColon || specialDynamicAttributeNames.some( (specialName) => {\n return attributeName.indexOf(specialName) === 0;\n });\n let attributeValue = element.getAttribute( attributeName );\n let attributeDefinition = componentPropertiesDefinitions.find( el => el.name === cleanName );\n let attributeValueMapsToModelVariable = modelVariables[attributeValue] != null;\n\n // Only consider attributes that are defined in the component definition\n if( attributeDefinition ){\n // if its dynamic, it's either a binding or a constant\n if( isDynamic ){\n if( attributeValueMapsToModelVariable ){\n element.setAttribute( bcTypeB+ cleanName, attributeValue );\n } else {\n element.setAttribute( bcTypeC+ cleanName, attributeValue );\n }\n // If it's not dynamic', it's a constant\n }else{\n if( attributeValue=='' ){\n element.setAttribute( bcTypeC+ cleanName, \"true\" );\n }else {\n element.setAttribute( bcTypeC+ cleanName, attributeValue );\n }\n }\n element.removeAttribute( attributeName );\n }\n });\n}\n\nstatic revertElementAttributes(element) {\n let gbPrefix = 'gb_';\n let bcTypeC = gbPrefix + 'c__';\n let bcTypeB = gbPrefix + 'b__';\n let componentName = element.nodeName;\n let componentDefinition = blockDefinitionsByTagName[componentName];\n if( !componentDefinition ){\n return;\n }\n let componentPropertiesDefinitions = componentDefinition.properties;\n \n let elementAttributeNames = element.getAttributeNames();\n elementAttributeNames.forEach((attributeName) => {\n let attributeValue = element.getAttribute( attributeName );\n if (attributeName.startsWith(bcTypeC)) {\n let originalName = attributeName.replace(bcTypeC, '');\n let attributeDefinition = componentPropertiesDefinitions.find( el => el.name === originalName );\n if( !attributeDefinition ){\n throw new Error( 'Attribute definition not found for: ' + originalName );\n }\n let dataType = attributeDefinition.type;\n //let dataType = HtmlTemplateParser.guessDataType(attributeValue);\n if( componentName == \"PLOTLY\" && [\"data\", \"layout\", \"config\"].includes(originalName) ){\n // To-do: revise if we need to handle this further\n }else if( dataType != 'String' ){\n originalName = ':' + originalName;\n }\n\n element.setAttribute(originalName, attributeValue );\n element.removeAttribute(attributeName);\n } else if (attributeName.startsWith(bcTypeB)) {\n let originalName = attributeName.replace(bcTypeB, '');\n let bindingPrefix = originalName === 'v-model' ? '' : ':';\n element.setAttribute(bindingPrefix + originalName, attributeValue );\n element.removeAttribute(attributeName);\n }\n });\n}\n\nstatic decodeAttributesInDOM(rootElement) {\n let elements = rootElement.querySelectorAll('*');\n elements.forEach(element => {\n HtmlTemplateParser.revertElementAttributes(element);\n });\n}\n\nstatic guessDataType(input) {\n if (typeof input === 'number' || /^-?\\d*\\.?\\d+$/.test(input)) {\n return 'Number';\n } else if (input === 'true' || input === 'false' || typeof input === 'boolean') {\n return 'Boolean';\n } else if (Array.isArray(input) || /^\\[.*\\]$/.test(input)) {\n return 'Array';\n } else {\n return 'String';\n }\n}\n}\n","export default class Configuration{\n constructor(){\n throw new Error('Configuration is a static class and cannot be instantiated');\n }\n\n static _channel = null;\n\n static get channel(){\n return Configuration._channel;\n }\n static set channel(value){\n Configuration._channel = value;\n }\n}","\n\n\n\n\n\n\n","import script from \"./CanvasPanel.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./CanvasPanel.vue?vue&type=script&setup=true&lang=js\"\n\nimport \"./CanvasPanel.vue?vue&type=style&index=0&id=48d925f4&lang=scss&scoped=true\"\nimport \"./CanvasPanel.vue?vue&type=style&index=1&id=48d925f4&lang=css\"\n\nimport exportComponent from \"/Users/daniel/Documents/work/stipple_app/project42/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-48d925f4\"]])\n\nexport default __exports__","\n\n\n\n\n\n","import script from \"./LibraryPanel.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./LibraryPanel.vue?vue&type=script&setup=true&lang=js\"\n\nimport \"./LibraryPanel.vue?vue&type=style&index=0&id=4675da8e&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/daniel/Documents/work/stipple_app/project42/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-4675da8e\"]])\n\nexport default __exports__","\n\n\n\n\n","import script from \"./AddPropertyDialog.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./AddPropertyDialog.vue?vue&type=script&setup=true&lang=js\"\n\nimport \"./AddPropertyDialog.vue?vue&type=style&index=0&id=4848a3d6&scoped=true&lang=css\"\n\nimport exportComponent from \"/Users/daniel/Documents/work/stipple_app/project42/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-4848a3d6\"]])\n\nexport default __exports__","\n\n\n\n\n\n\n\n","import script from \"./PropertiesPanel.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./PropertiesPanel.vue?vue&type=script&setup=true&lang=js\"\n\nimport \"./PropertiesPanel.vue?vue&type=style&index=0&id=75a69507&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/daniel/Documents/work/stipple_app/project42/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-75a69507\"]])\n\nexport default __exports__\nimport QIcon from 'quasar/src/components/icon/QIcon.js';\nimport qInstall from \"../../../node_modules/vue-cli-plugin-quasar/lib/runtime.auto-import.js\";\nqInstall(script, 'components', {QIcon});\n","\n \n\n \n\n","import script from \"./ChartPropertiesSection.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./ChartPropertiesSection.vue?vue&type=script&setup=true&lang=js\"\n\nimport \"./ChartPropertiesSection.vue?vue&type=style&index=0&id=5d639912&lang=css\"\n\nconst __exports__ = script;\n\nexport default __exports__","\n\n\n\n\n\n\n","import script from \"./ChartProperties.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./ChartProperties.vue?vue&type=script&setup=true&lang=js\"\n\nimport \"./ChartProperties.vue?vue&type=style&index=0&id=f85b9ac6&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/daniel/Documents/work/stipple_app/project42/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-f85b9ac6\"]])\n\nexport default __exports__","\n\n\n\n","import script from \"./LogsPanel.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./LogsPanel.vue?vue&type=script&setup=true&lang=js\"\n\nimport \"./LogsPanel.vue?vue&type=style&index=0&id=3295537e&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/daniel/Documents/work/stipple_app/project42/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-3295537e\"]])\n\nexport default __exports__\nimport QIcon from 'quasar/src/components/icon/QIcon.js';\nimport qInstall from \"../../../node_modules/vue-cli-plugin-quasar/lib/runtime.auto-import.js\";\nqInstall(script, 'components', {QIcon});\n","\n\n\n\n","import script from \"./BindingsConnector.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./BindingsConnector.vue?vue&type=script&setup=true&lang=js\"\n\nimport \"./BindingsConnector.vue?vue&type=style&index=0&id=571588a7&scoped=true&lang=css\"\n\nimport exportComponent from \"/Users/daniel/Documents/work/stipple_app/project42/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-571588a7\"]])\n\nexport default __exports__","export default class StatusMonitor{\n constructor( onOpen, onClose, onMessage){\n this.host = \"127.0.0.1\";\n this.port = 10102;\n this.protocol = \"ws\";\n this.ws = null;\n this.onOpenHandler = onOpen;\n this.onCloseHandler = onClose;\n this.onMessageHandler = onMessage;\n }\n\n connect(){\n console.log( \"StatusMonitor::connect\" );\n this.ws = new WebSocket(this.protocol + \"://\" + this.host + \":\" + this.port);\n this.ws.onopen = this.onOpen.bind(this);\n this.ws.onmessage = this.onMessage.bind(this);\n this.ws.onclose = this.onClose.bind(this);\n }\n\n restart( seconds ){\n seconds = seconds || 1;\n console.log( \"StatusMonitor::restart\", seconds );\n setTimeout( ()=>{\n this.connect();\n }, seconds*1000 );\n }\n\n onOpen(){\n console.log( \"StatusMonitor::onOpen\" );\n this.ws.send(JSON.stringify({\n 'channel': 'geniebuilder',\n 'message': 'subscribe',\n 'payload': {}\n }));\n this.onOpenHandler();\n }\n\n onMessage(message){\n this.onMessageHandler(message);\n }\n\n onClose(){\n console.log( \"StatusMonitor::onClose\" );\n this.onCloseHandler();\n }\n\n}","\n\n\n\n\n","import script from \"./Main.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./Main.vue?vue&type=script&setup=true&lang=js\"\n\nimport \"./Main.vue?vue&type=style&index=0&id=222d0dd8&scoped=true&lang=scss\"\n\nimport exportComponent from \"/Users/daniel/Documents/work/stipple_app/project42/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-222d0dd8\"]])\n\nexport default __exports__","import { render } from \"./App.vue?vue&type=template&id=010da342\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\n\nimport \"./App.vue?vue&type=style&index=0&id=010da342&lang=scss\"\n\nimport exportComponent from \"/Users/daniel/Documents/work/stipple_app/project42/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createStore } from 'vuex'\n\nexport default createStore({\n state: {\n },\n mutations: {\n },\n actions: {\n },\n modules: {\n }\n})\n","\nimport 'quasar/dist/quasar.css'\nimport '@quasar/extras/roboto-font/roboto-font.css'\nimport '@quasar/extras/material-icons/material-icons.css'\nimport '@quasar/extras/material-icons-outlined/material-icons-outlined.css'\nimport '@quasar/extras/material-icons-round/material-icons-round.css'\nimport '@quasar/extras/material-icons-sharp/material-icons-sharp.css'\nimport '@quasar/extras/fontawesome-v5/fontawesome-v5.css'\n\n// To be used on app.use(Quasar, { ... })\nexport default {\n config: {},\n plugins: {\n }\n}","import { createApp } from 'vue'\nimport App from './App.vue'\nimport store from './store'\nimport Quasar from 'quasar/src/vue-plugin.js';\nimport quasarUserOptions from './quasar-user-options'\n\nwindow.canvasComponents = {};\n\nwindow.addCanvasComponent = function(id, component) {\n window.canvasComponents[id] = component;\n}\n\nwindow.removeCanvasComponent = function(id) {\n delete window.canvasComponents[id];\n}\n\nwindow.setTheme = function(theme) {\n document.querySelector('body').setAttribute('style', '');\n if (theme === 'dark') {\n document.documentElement.setAttribute('data-theme', 'dark');\n } else {\n document.documentElement.setAttribute('data-theme', 'light');\n }\n}\n\nwindow.addEventListener(\n \"message\",\n (event) => {\n if (event.data.command === 'removeCanvasComponent') {\n window.removeCanvasComponent(event.data.uid);\n } else if (event.data.command === 'updateTheme') {\n window.setTheme(event.data.themeType);\n }\n },\n false,\n);\n\ncreateApp(App).use(Quasar, quasarUserOptions).use(store).mount('#app')","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-cli-plugin-quasar/lib/loader.vue.auto-import-quasar.js??ref--1-1!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-2!./PropertiesPanel.vue?vue&type=style&index=0&id=75a69507&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-cli-plugin-quasar/lib/loader.vue.auto-import-quasar.js??ref--1-1!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-2!./CanvasPanel.vue?vue&type=style&index=0&id=48d925f4&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-cli-plugin-quasar/lib/loader.vue.auto-import-quasar.js??ref--1-1!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-2!./BindingsPanel.vue?vue&type=style&index=0&id=52e79ce3&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-cli-plugin-quasar/lib/loader.vue.auto-import-quasar.js??ref--1-1!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-2!./GlobalEventsPanel.vue?vue&type=style&index=0&id=3e06e896&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-cli-plugin-quasar/lib/loader.vue.auto-import-quasar.js??ref--1-1!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-2!./CanvasPanel.vue?vue&type=style&index=1&id=48d925f4&lang=css\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-cli-plugin-quasar/lib/loader.vue.auto-import-quasar.js??ref--1-1!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-2!./FilesPanel.vue?vue&type=style&index=0&id=5a7d3a07&lang=scss&scoped=true\"","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../node_modules/vue-loader-v16/dist/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-cli-plugin-quasar/lib/loader.vue.auto-import-quasar.js??ref--1-1!../node_modules/vue-loader-v16/dist/index.js??ref--1-2!./App.vue?vue&type=style&index=0&id=010da342&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-cli-plugin-quasar/lib/loader.vue.auto-import-quasar.js??ref--1-1!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-2!./LibraryPanel.vue?vue&type=style&index=0&id=4675da8e&lang=scss&scoped=true\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-cli-plugin-quasar/lib/loader.vue.auto-import-quasar.js??ref--1-1!../../node_modules/vue-loader-v16/dist/index.js??ref--1-2!./Main.vue?vue&type=style&index=0&id=222d0dd8&scoped=true&lang=scss\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-cli-plugin-quasar/lib/loader.vue.auto-import-quasar.js??ref--1-1!../../node_modules/vue-loader-v16/dist/index.js??ref--1-2!./BindingsConnector.vue?vue&type=style&index=0&id=571588a7&scoped=true&lang=css\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-cli-plugin-quasar/lib/loader.vue.auto-import-quasar.js??ref--1-1!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-2!./LogsPanel.vue?vue&type=style&index=0&id=3295537e&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-cli-plugin-quasar/lib/loader.vue.auto-import-quasar.js??ref--1-1!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-2!./Tab.vue?vue&type=style&index=0&id=5af1ae02&lang=css\"","\n\nfunction registerPlotlyComponent(editor){\n \n editor.DomComponents.addType('plotly', {\n\n isComponent: function (el) {\n if (el.tagName === 'PLOTLY')\n return {type: 'plotly', name:'Plotly'};\n },\n model: \n {\n defaults: {\n removable: true,\n draggable: true,\n droppable: true,\n badgable: true,\n stylable: true,\n highlightable: true,\n copyable: false,\n resizable: false,\n editable: false,\n hoverable: true,\n traits: [ ],\n script: function(){ \n var serverData = window.parent.sharedData.externalData;\n \n let uniqueId = this.attributes.id.nodeValue;\n\n this.onExternalDataChanged = (event)=>{\n serverData = event.detail;\n mappedAttributes = getMappedAttributes(this.attributes);\n this.vueApp.updateServerData(serverData);\n \n }\n\n window.parent.addCanvasComponent( uniqueId, this );\n //window.parent.addEventListener('sharedDataChanged', this.onExternalDataChanged);\n \n \n \n /**\n * This function takes in an object of attributes and maps them to a new object with modified attribute names.\n * If the attribute name contains a colon, it is removed. If the attribute name is 'data', its value is parsed as JSON.\n * The resulting object is returned.\n */\n // To-do: these functions should be moved to a utility file.\n // Be careful because it is duplicated in ChartProperties.vue\n // HAven't done so yet because the scope of the grapes component instance is isolated and can't access outside functions\n function getMappedAttributes(attributesIn){\n let mappedAttributes = {}; \n let attributeNames = Object.getOwnPropertyNames(attributesIn);\n attributeNames.forEach( (attrName)=>{\n let cleanAttributeName = attrName.replace(\"gb_c__\", \"\");\n let attributeValue = attributesIn[attrName].nodeValue !== undefined ? attributesIn[attrName].nodeValue: attributesIn[attrName];\n if( ['data', 'layout', 'config'].includes(cleanAttributeName) ){\n attributeValue = atob(attributeValue)\n if( serverData[attributeValue] !== undefined ){\n mappedAttributes[':'+cleanAttributeName] = serverData[attributeValue];\n } else {\n mappedAttributes[':'+cleanAttributeName] = JSON.parse(attributeValue);\n }\n }\n })\n return mappedAttributes;\n }\n\n function replaceReferencedBindingsToAttributeData(obj) {\n for (let key in obj) {\n if (typeof obj[key] === 'object' && obj[key] !== null) {\n // Recursively process nested objects\n replaceReferencedBindingsToAttributeData(obj[key]);\n } else if (typeof obj[key] === 'string') {\n // Check if string value contains \"$_{xxxxx}\"\n const match = obj[key].match(/\\$_{(.+?)}/);\n if (match && match[1]) {\n const propToReplace = match[1];\n // Replace the value with the value from myStore\n obj[key] = getNestedProperty(serverData, propToReplace);\n }\n }\n }\n }\n\n function getNestedProperty(obj, propName) {\n const propParts = propName.split('.');\n for (let i = 0; i < propParts.length; i++) {\n if (!obj || !obj.hasOwnProperty(propParts[i])) {\n return undefined;\n }\n obj = obj[propParts[i]];\n }\n return obj;\n }\n\n let mappedAttributes = getMappedAttributes(this.attributes);\n\n\n this.vueApp = new Vue({\n el: '#vueinternal_'+uniqueId,\n //components: { QBtn:Quasar.}, \n data: function(){ \n\n\n let parsedData = mappedAttributes[':data'];\n replaceReferencedBindingsToAttributeData(parsedData);\n let parsedLayout = mappedAttributes[':layout'] || {};\n replaceReferencedBindingsToAttributeData(parsedLayout);\n let parsedConfig = mappedAttributes[':config'] || {};\n replaceReferencedBindingsToAttributeData(parsedConfig);\n \n return {\n \n message:\"TESTING_ID\",\n attributes: mappedAttributes, \n serverData: serverData,\n parsedData: parsedData, \n parsedLayout: parsedLayout, \n parsedConfig: parsedConfig\n }\n }, \n methods: {\n updateServerData(newServerData){\n this.serverData = newServerData;\n let parsedData = mappedAttributes[':data'];\n replaceReferencedBindingsToAttributeData(parsedData);\n this.parsedData = parsedData;\n let parsedLayout = mappedAttributes[':layout'] || {};\n replaceReferencedBindingsToAttributeData(parsedLayout);\n this.parsedLayout = parsedLayout;\n let parsedConfig = mappedAttributes[':config'] || {};\n replaceReferencedBindingsToAttributeData(parsedConfig);\n this.parsedConfig = parsedConfig;\n }, \n updateAttributes(attrs){ \n this.attributes = getMappedAttributes(attrs);\n mappedAttributes = this.attributes;\n this.updateServerData(this.serverData)\n }, \n\n }, \n mounted() {\n }\n });\n\n }\n },\n handleAttrChange() {\n },\n render: function () {\n this.view.onRender();\n },\n init() {\n this.listenTo(this, 'change:attributes', this.onAttributeChange);\n\n },\n removed() {\n window.parent.postMessage( {command:\"removeCanvasComponent\", uid:this.ccid }, \"*\" );\n //window.parent.removeEventListener('sharedDataChanged', this.view.$el[0].onExternalDataChanged );\n\n },\n },\n view: {\n onAttributeChange() {\n }, \n onRender() {\n const { el, model } = this;\n let uniqueId = el.attributes.id.nodeValue;\n el.grapesModel = model;\n const renderContent = `
\n \n
\n `;\n el.innerHTML = renderContent;\n }\n }\n\n });\n}\n\nmodule.exports = { registerPlotlyComponent }","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-cli-plugin-quasar/lib/loader.vue.auto-import-quasar.js??ref--1-1!../../node_modules/vue-loader-v16/dist/index.js??ref--1-2!./Panel.vue?vue&type=style&index=0&id=238e861a&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-cli-plugin-quasar/lib/loader.vue.auto-import-quasar.js??ref--1-1!../../../../node_modules/vue-loader-v16/dist/index.js??ref--1-2!./AddPropertyDialog.vue?vue&type=style&index=0&id=4848a3d6&scoped=true&lang=css\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-cli-plugin-quasar/lib/loader.vue.auto-import-quasar.js??ref--1-1!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-2!./Tabs.vue?vue&type=style&index=0&id=1d801ac0&lang=css\""],"sourceRoot":""} \ No newline at end of file