modscape 1.1.0 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
package/visualizer/package.json
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.collapse{visibility:collapse}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.-bottom-1{bottom:-.25rem}.-left-1{left:-.25rem}.-left-\[15px\]{left:-15px}.-right-1{right:-.25rem}.-top-10{top:-2.5rem}.bottom-0{bottom:0}.bottom-1{bottom:.25rem}.bottom-2{bottom:.5rem}.bottom-4{bottom:1rem}.left-0\.5{left:.125rem}.left-1{left:.25rem}.left-1\/2{left:50%}.left-14{left:3.5rem}.left-3{left:.75rem}.left-4{left:1rem}.right-0{right:0}.right-1{right:.25rem}.right-14{right:3.5rem}.right-3{right:.75rem}.right-4{right:1rem}.right-6{right:1.5rem}.top-0{top:0}.top-0\.5{top:.125rem}.top-1{top:.25rem}.top-1\/2{top:50%}.top-2{top:.5rem}.top-4{top:1rem}.top-6{top:1.5rem}.z-10{z-index:10}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[200\]{z-index:200}.z-\[60\]{z-index:60}.mx-0\.5{margin-left:.125rem;margin-right:.125rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.ml-1{margin-left:.25rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.\!table{display:table!important}.table{display:table}.grid{display:grid}.hidden{display:none}.h-1{height:.25rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-full{height:100%}.h-screen{height:100vh}.min-h-0{min-height:0px}.w-0\.5{width:.125rem}.w-1{width:.25rem}.w-10{width:2.5rem}.w-14{width:3.5rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-3{width:.75rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-\[456px\]{width:456px}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-px{width:1px}.w-screen{width:100vw}.min-w-0{min-width:0px}.min-w-\[140px\]{min-width:140px}.min-w-\[20px\]{min-width:20px}.min-w-\[60px\]{min-width:60px}.max-w-\[180px\]{max-width:180px}.max-w-\[200px\]{max-width:200px}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-3{--tw-translate-x: .75rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-110{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-help{cursor:help}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.resize{resize:both}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.self-center{align-self:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[4px\]{border-radius:4px}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-4{border-width:4px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-l-4{border-left-width:4px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-amber-500\/40{border-color:#f59e0b66}.border-amber-500\/50{border-color:#f59e0b80}.border-blue-100{--tw-border-opacity: 1;border-color:rgb(219 234 254 / var(--tw-border-opacity, 1))}.border-blue-200{--tw-border-opacity: 1;border-color:rgb(191 219 254 / var(--tw-border-opacity, 1))}.border-blue-500\/20{border-color:#3b82f633}.border-blue-500\/30{border-color:#3b82f64d}.border-blue-500\/40{border-color:#3b82f666}.border-blue-500\/50{border-color:#3b82f680}.border-emerald-100{--tw-border-opacity: 1;border-color:rgb(209 250 229 / var(--tw-border-opacity, 1))}.border-emerald-200{--tw-border-opacity: 1;border-color:rgb(167 243 208 / var(--tw-border-opacity, 1))}.border-emerald-400{--tw-border-opacity: 1;border-color:rgb(52 211 153 / var(--tw-border-opacity, 1))}.border-emerald-500\/30{border-color:#10b9814d}.border-emerald-500\/50{border-color:#10b98180}.border-red-100{--tw-border-opacity: 1;border-color:rgb(254 226 226 / var(--tw-border-opacity, 1))}.border-red-500\/50{border-color:#ef444480}.border-slate-100{--tw-border-opacity: 1;border-color:rgb(241 245 249 / var(--tw-border-opacity, 1))}.border-slate-200{--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity, 1))}.border-slate-300\/50{border-color:#cbd5e180}.border-slate-600\/50{border-color:#47556980}.border-slate-700{--tw-border-opacity: 1;border-color:rgb(51 65 85 / var(--tw-border-opacity, 1))}.border-slate-700\/50{border-color:#33415580}.border-slate-800{--tw-border-opacity: 1;border-color:rgb(30 41 59 / var(--tw-border-opacity, 1))}.border-transparent{border-color:transparent}.border-white{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1))}.border-l-blue-500{--tw-border-opacity: 1;border-left-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.border-l-slate-800{--tw-border-opacity: 1;border-left-color:rgb(30 41 59 / var(--tw-border-opacity, 1))}.border-l-transparent{border-left-color:transparent}.border-r-slate-800{--tw-border-opacity: 1;border-right-color:rgb(30 41 59 / var(--tw-border-opacity, 1))}.border-t-transparent{border-top-color:transparent}.bg-\[\#282c34\]{--tw-bg-opacity: 1;background-color:rgb(40 44 52 / var(--tw-bg-opacity, 1))}.bg-amber-500\/20{background-color:#f59e0b33}.bg-amber-500\/30{background-color:#f59e0b4d}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-blue-50\/50{background-color:#eff6ff80}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.bg-blue-500\/10{background-color:#3b82f61a}.bg-blue-500\/20{background-color:#3b82f633}.bg-blue-500\/30{background-color:#3b82f64d}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.bg-blue-600\/10{background-color:#2563eb1a}.bg-emerald-50{--tw-bg-opacity: 1;background-color:rgb(236 253 245 / var(--tw-bg-opacity, 1))}.bg-emerald-500{--tw-bg-opacity: 1;background-color:rgb(16 185 129 / var(--tw-bg-opacity, 1))}.bg-emerald-500\/10{background-color:#10b9811a}.bg-emerald-500\/20{background-color:#10b98133}.bg-emerald-600{--tw-bg-opacity: 1;background-color:rgb(5 150 105 / var(--tw-bg-opacity, 1))}.bg-red-900\/90{background-color:#7f1d1de6}.bg-slate-100{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.bg-slate-200{--tw-bg-opacity: 1;background-color:rgb(226 232 240 / var(--tw-bg-opacity, 1))}.bg-slate-300{--tw-bg-opacity: 1;background-color:rgb(203 213 225 / var(--tw-bg-opacity, 1))}.bg-slate-400{--tw-bg-opacity: 1;background-color:rgb(148 163 184 / var(--tw-bg-opacity, 1))}.bg-slate-50{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.bg-slate-50\/50{background-color:#f8fafc80}.bg-slate-700{--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity, 1))}.bg-slate-700\/50{background-color:#33415580}.bg-slate-800{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}.bg-slate-800\/30{background-color:#1e293b4d}.bg-slate-800\/40{background-color:#1e293b66}.bg-slate-800\/50{background-color:#1e293b80}.bg-slate-800\/60{background-color:#1e293b99}.bg-slate-900{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity, 1))}.bg-slate-900\/20{background-color:#0f172a33}.bg-slate-900\/50{background-color:#0f172a80}.bg-slate-900\/80{background-color:#0f172acc}.bg-slate-900\/90{background-color:#0f172ae6}.bg-slate-950{--tw-bg-opacity: 1;background-color:rgb(2 6 23 / var(--tw-bg-opacity, 1))}.bg-slate-950\/20{background-color:#02061733}.bg-slate-950\/40{background-color:#02061766}.bg-slate-950\/60{background-color:#02061799}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/60{background-color:#fff9}.bg-white\/80{background-color:#fffc}.bg-white\/90{background-color:#ffffffe6}.stroke-\[3px\]{stroke-width:3px}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-\[1px\]{padding:1px}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pl-2{padding-left:.5rem}.pl-4{padding-left:1rem}.pl-9{padding-left:2.25rem}.pr-1{padding-right:.25rem}.pr-4{padding-right:1rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-tighter{letter-spacing:-.05em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-amber-400{--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.text-amber-400\/70{color:#fbbf24b3}.text-amber-500{--tw-text-opacity: 1;color:rgb(245 158 11 / var(--tw-text-opacity, 1))}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-amber-600\/70{color:#d97706b3}.text-blue-300{--tw-text-opacity: 1;color:rgb(147 197 253 / var(--tw-text-opacity, 1))}.text-blue-400{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.text-blue-400\/70{color:#60a5fab3}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-blue-600\/70{color:#2563ebb3}.text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.text-emerald-400{--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity, 1))}.text-emerald-500{--tw-text-opacity: 1;color:rgb(16 185 129 / var(--tw-text-opacity, 1))}.text-emerald-600{--tw-text-opacity: 1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.text-emerald-700{--tw-text-opacity: 1;color:rgb(4 120 87 / var(--tw-text-opacity, 1))}.text-purple-500{--tw-text-opacity: 1;color:rgb(168 85 247 / var(--tw-text-opacity, 1))}.text-red-100{--tw-text-opacity: 1;color:rgb(254 226 226 / var(--tw-text-opacity, 1))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-500\/50{color:#ef444480}.text-slate-100{--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity, 1))}.text-slate-200{--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity, 1))}.text-slate-300{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}.text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.text-slate-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.text-slate-700{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.text-slate-800{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity, 1))}.text-slate-900{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-20{opacity:.2}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-inner{--tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / .05);--tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-blue-500\/20{--tw-shadow-color: rgb(59 130 246 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-blue-500\/5{--tw-shadow-color: rgb(59 130 246 / .05);--tw-shadow: var(--tw-shadow-colored)}.shadow-emerald-500\/20{--tw-shadow-color: rgb(16 185 129 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-emerald-500\/30{--tw-shadow-color: rgb(16 185 129 / .3);--tw-shadow: var(--tw-shadow-colored)}.shadow-slate-200\/50{--tw-shadow-color: rgb(226 232 240 / .5);--tw-shadow: var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-md{--tw-backdrop-blur: blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}:root{--canvas-bg: #f1f5f9;--node-bg: #ffffff;--text-primary: #0f172a;--text-secondary: #64748b;--border-main: #e2e8f0;--header-bg: #f8fafc;--glass-bg: rgba(255, 255, 255, .7);--glass-border: rgba(203, 213, 225, .5)}.dark{--canvas-bg: #020617;--node-bg: #1e293b;--text-primary: #f1f5f9;--text-secondary: #94a3b8;--border-main: #334155;--header-bg: #0f172a;--glass-bg: rgba(15, 23, 42, .85);--glass-border: rgba(51, 65, 85, .5)}*{border-color:var(--border-main)}body{margin:0;padding:0;background-color:var(--canvas-bg);color:var(--text-primary);transition:background-color .3s ease,color .3s ease}#root{height:100vh;width:100vw}.react-flow{background-color:var(--canvas-bg)}.react-flow__pane{cursor:grab}.react-flow__pane:active{cursor:grabbing}.react-flow__background{background-color:var(--canvas-bg)}.react-flow__controls{background:var(--header-bg)!important;border:1px solid var(--border-main)!important;border-radius:8px;box-shadow:0 4px 12px #0000001a}.react-flow__controls-button{background:var(--header-bg)!important;border-bottom:1px solid var(--border-main)!important;fill:var(--text-primary)!important}.react-flow__controls-button:hover{background:var(--border-main)!important}.react-flow__controls-button svg{fill:var(--text-primary)!important}.column-row:hover .column-handle{opacity:1!important;background-color:#3b82f6!important;width:8px!important;height:8px!important;border-radius:50%!important;border:2px solid #ffffff!important;transition:opacity .15s ease-in-out}.column-handle{transition:opacity .15s ease-in-out;pointer-events:auto}@keyframes pulse-handle{0%{transform:scale(1);box-shadow:0 0 #3b82f6b3}70%{transform:scale(1.4);box-shadow:0 0 0 10px #3b82f600}to{transform:scale(1);box-shadow:0 0 #3b82f600}}.handle-pulse{animation:pulse-handle 1.5s infinite;background-color:#3b82f6!important;border:2px solid #ffffff!important;z-index:100!important;opacity:1!important}.handle-dim{opacity:.2!important;transition:opacity .3s ease}.react-flow__handle{transition:transform .2s ease,background-color .2s ease,opacity .3s ease}.react-flow__handle:hover{transform:scale(1.5)}@keyframes node-appear{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-creation{animation:node-appear .4s ease-out forwards}.custom-scrollbar::-webkit-scrollbar{width:4px}.custom-scrollbar::-webkit-scrollbar-track{background:transparent}.custom-scrollbar::-webkit-scrollbar-thumb{background:#0000001a;border-radius:10px}.dark .custom-scrollbar::-webkit-scrollbar-thumb{background:#ffffff1a}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#0003}.dark .custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#fff3}.last\:border-0:last-child{border-width:0px}.hover\:rotate-90:hover{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-blue-300:hover{--tw-border-opacity: 1;border-color:rgb(147 197 253 / var(--tw-border-opacity, 1))}.hover\:border-blue-500\/50:hover{border-color:#3b82f680}.hover\:bg-blue-50:hover{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.hover\:bg-blue-50\/30:hover{background-color:#eff6ff4d}.hover\:bg-blue-500:hover{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.hover\:bg-blue-700:hover{--tw-bg-opacity: 1;background-color:rgb(29 78 216 / var(--tw-bg-opacity, 1))}.hover\:bg-emerald-700:hover{--tw-bg-opacity: 1;background-color:rgb(4 120 87 / var(--tw-bg-opacity, 1))}.hover\:bg-red-50:hover{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.hover\:bg-red-500\/20:hover{background-color:#ef444433}.hover\:bg-slate-100:hover{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-200:hover{--tw-bg-opacity: 1;background-color:rgb(226 232 240 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-50:hover{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-700:hover{--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-800:hover{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-800\/30:hover{background-color:#1e293b4d}.hover\:bg-slate-800\/50:hover{background-color:#1e293b80}.hover\:bg-slate-800\/60:hover{background-color:#1e293b99}.hover\:bg-white:hover{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.hover\:text-amber-400:hover{--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.hover\:text-blue-400:hover{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.hover\:text-blue-500:hover{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.hover\:text-blue-600:hover{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.hover\:text-red-400:hover{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.hover\:text-red-500:hover{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.hover\:text-slate-100:hover{--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity, 1))}.hover\:text-slate-200:hover{--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity, 1))}.hover\:text-slate-300:hover{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}.hover\:text-slate-600:hover{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.hover\:text-slate-900:hover{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-50:hover{opacity:.5}.hover\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-sm:hover{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:border-blue-400:focus{--tw-border-opacity: 1;border-color:rgb(96 165 250 / var(--tw-border-opacity, 1))}.focus\:bg-blue-50:focus{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.focus\:bg-slate-50:focus{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.focus\:bg-slate-800:focus{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-blue-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(96 165 250 / var(--tw-ring-opacity, 1))}.focus\:ring-blue-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1))}.focus\:ring-blue-500\/50:focus{--tw-ring-color: rgb(59 130 246 / .5)}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.active\:scale-90:active{--tw-scale-x: .9;--tw-scale-y: .9;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-95:active{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:flex{display:flex}.group:hover .group-hover\:text-slate-300{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:text-slate-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:opacity-100{opacity:1}.data-\[state\=active\]\:shadow-sm[data-state=active]{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}@media(prefers-color-scheme:dark){.dark\:border-slate-700{--tw-border-opacity: 1;border-color:rgb(51 65 85 / var(--tw-border-opacity, 1))}.dark\:border-slate-800{--tw-border-opacity: 1;border-color:rgb(30 41 59 / var(--tw-border-opacity, 1))}.dark\:border-slate-900{--tw-border-opacity: 1;border-color:rgb(15 23 42 / var(--tw-border-opacity, 1))}.dark\:bg-slate-700{--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity, 1))}.dark\:bg-slate-800{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}.dark\:text-slate-300{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}.dark\:text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.dark\:text-slate-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.dark\:hover\:bg-slate-800:hover{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\&\>tr\]\:last\:border-b-0:last-child>tr{border-bottom-width:0px}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0px}.\[\&_tr\]\:border-b tr{border-bottom-width:1px}.react-flow{direction:ltr}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:grabbing}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:grab}.react-flow__node.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background:#1a192b;border:1px solid white;border-radius:100%}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:-4px;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{font-size:10px;background:#ffffff80;padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:3px;width:150px;font-size:12px;color:#222;text-align:center;border-width:1px;border-style:solid;border-color:#1a192b;background-color:#fff}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted rgba(0,89,220,.8)}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{border:none;background:#fefefe;border-bottom:1px solid #eee;box-sizing:content-box;display:flex;justify-content:center;align-items:center;width:16px;height:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:5px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:4px;height:4px;border:1px solid #fff;border-radius:1px;background-color:#3367d9;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:#3367d9;border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}
|
|
@@ -51,7 +51,7 @@ Error generating stack: `+p.message+`
|
|
|
51
51
|
`:i=="r"?"\r":i=="t"?" ":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord&&this.test==e.test}create(){return this.regexp?new oie(this):new sie(this)}getCursor(e,n=0,i){let r=e.doc?e:rt.create({doc:e});return i==null&&(i=r.doc.length),this.regexp?Gl(this,r,n,i):$l(this,r,n,i)}}class rB{constructor(e){this.spec=e}}function iie(t,e,n){return(i,r,s,l)=>{if(n&&!n(i,r,s,l))return!1;let c=i>=l&&r<=l+s.length?s.slice(i-l,r-l):e.doc.sliceString(i,r);return t(c,e,i,r)}}function $l(t,e,n,i){let r;return t.wholeWord&&(r=rie(e.doc,e.charCategorizer(e.selection.main.head))),t.test&&(r=iie(t.test,e,r)),new ko(e.doc,t.unquoted,n,i,t.caseSensitive?void 0:s=>s.toLowerCase(),r)}function rie(t,e){return(n,i,r,s)=>((s>n||s+r.length<i)&&(s=Math.max(0,n-2),r=t.sliceString(s,Math.min(t.length,i+2))),(e(Fd(r,n-s))!=_t.Word||e($d(r,n-s))!=_t.Word)&&(e($d(r,i-s))!=_t.Word||e(Fd(r,i-s))!=_t.Word))}class sie extends rB{constructor(e){super(e)}nextMatch(e,n,i){let r=$l(this.spec,e,i,e.doc.length).nextOverlapping();if(r.done){let s=Math.min(e.doc.length,n+this.spec.unquoted.length);r=$l(this.spec,e,0,s).nextOverlapping()}return r.done||r.value.from==n&&r.value.to==i?null:r.value}prevMatchInRange(e,n,i){for(let r=i;;){let s=Math.max(n,r-1e4-this.spec.unquoted.length),l=$l(this.spec,e,s,r),c=null;for(;!l.nextOverlapping().done;)c=l.value;if(c)return c;if(s==n)return null;r-=1e4}}prevMatch(e,n,i){let r=this.prevMatchInRange(e,0,n);return r||(r=this.prevMatchInRange(e,Math.max(0,i-this.spec.unquoted.length),e.doc.length)),r&&(r.from!=n||r.to!=i)?r:null}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,n){let i=$l(this.spec,e,0,e.doc.length),r=[];for(;!i.next().done;){if(r.length>=n)return null;r.push(i.value)}return r}highlight(e,n,i,r){let s=$l(this.spec,e,Math.max(0,n-this.spec.unquoted.length),Math.min(i+this.spec.unquoted.length,e.doc.length));for(;!s.next().done;)r(s.value.from,s.value.to)}}function aie(t,e,n){return(i,r,s)=>(!n||n(i,r,s))&&t(s[0],e,i,r)}function Gl(t,e,n,i){let r;return t.wholeWord&&(r=lie(e.charCategorizer(e.selection.main.head))),t.test&&(r=aie(t.test,e,r)),new tB(e.doc,t.search,{ignoreCase:!t.caseSensitive,test:r},n,i)}function Fd(t,e){return t.slice(an(t,e,!1),e)}function $d(t,e){return t.slice(e,an(t,e))}function lie(t){return(e,n,i)=>!i[0].length||(t(Fd(i.input,i.index))!=_t.Word||t($d(i.input,i.index))!=_t.Word)&&(t($d(i.input,i.index+i[0].length))!=_t.Word||t(Fd(i.input,i.index+i[0].length))!=_t.Word)}class oie extends rB{nextMatch(e,n,i){let r=Gl(this.spec,e,i,e.doc.length).next();return r.done&&(r=Gl(this.spec,e,0,n).next()),r.done?null:r.value}prevMatchInRange(e,n,i){for(let r=1;;r++){let s=Math.max(n,i-r*1e4),l=Gl(this.spec,e,s,i),c=null;for(;!l.next().done;)c=l.value;if(c&&(s==n||c.from>s+10))return c;if(s==n)return null}}prevMatch(e,n,i){return this.prevMatchInRange(e,0,n)||this.prevMatchInRange(e,i,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(n,i)=>{if(i=="&")return e.match[0];if(i=="$")return"$";for(let r=i.length;r>0;r--){let s=+i.slice(0,r);if(s>0&&s<e.match.length)return e.match[s]+i.slice(r)}return n})}matchAll(e,n){let i=Gl(this.spec,e,0,e.doc.length),r=[];for(;!i.next().done;){if(r.length>=n)return null;r.push(i.value)}return r}highlight(e,n,i,r){let s=Gl(this.spec,e,Math.max(0,n-250),Math.min(i+250,e.doc.length));for(;!s.next().done;)r(s.value.from,s.value.to)}}const Au=Ve.define(),pC=Ve.define(),Hs=Cn.define({create(t){return new fw(jS(t).create(),null)},update(t,e){for(let n of e.effects)n.is(Au)?t=new fw(n.value.create(),t.panel):n.is(pC)&&(t=new fw(t.query,n.value?mC:null));return t},provide:t=>wu.from(t,e=>e.panel)});class fw{constructor(e,n){this.query=e,this.panel=n}}const cie=ze.mark({class:"cm-searchMatch"}),uie=ze.mark({class:"cm-searchMatch cm-searchMatch-selected"}),fie=zt.fromClass(class{constructor(t){this.view=t,this.decorations=this.highlight(t.state.field(Hs))}update(t){let e=t.state.field(Hs);(e!=t.startState.field(Hs)||t.docChanged||t.selectionSet||t.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:t,panel:e}){if(!e||!t.spec.valid)return ze.none;let{view:n}=this,i=new Xr;for(let r=0,s=n.visibleRanges,l=s.length;r<l;r++){let{from:c,to:u}=s[r];for(;r<l-1&&u>s[r+1].from-500;)u=s[++r].to;t.highlight(n.state,c,u,(h,d)=>{let m=n.state.selection.ranges.some(g=>g.from==h&&g.to==d);i.add(h,d,m?uie:cie)})}return i.finish()}},{decorations:t=>t.decorations});function Yu(t){return e=>{let n=e.state.field(Hs,!1);return n&&n.query.spec.valid?t(e,n):lB(e)}}const Gd=Yu((t,{query:e})=>{let{to:n}=t.state.selection.main,i=e.nextMatch(t.state,n,n);if(!i)return!1;let r=de.single(i.from,i.to),s=t.state.facet(Do);return t.dispatch({selection:r,effects:[gC(t,i),s.scrollToMatch(r.main,t)],userEvent:"select.search"}),aB(t),!0}),Yd=Yu((t,{query:e})=>{let{state:n}=t,{from:i}=n.selection.main,r=e.prevMatch(n,i,i);if(!r)return!1;let s=de.single(r.from,r.to),l=t.state.facet(Do);return t.dispatch({selection:s,effects:[gC(t,r),l.scrollToMatch(s.main,t)],userEvent:"select.search"}),aB(t),!0}),hie=Yu((t,{query:e})=>{let n=e.matchAll(t.state,1e3);return!n||!n.length?!1:(t.dispatch({selection:de.create(n.map(i=>de.range(i.from,i.to))),userEvent:"select.search.matches"}),!0)}),die=({state:t,dispatch:e})=>{let n=t.selection;if(n.ranges.length>1||n.main.empty)return!1;let{from:i,to:r}=n.main,s=[],l=0;for(let c=new ko(t.doc,t.sliceDoc(i,r));!c.next().done;){if(s.length>1e3)return!1;c.value.from==i&&(l=s.length),s.push(de.range(c.value.from,c.value.to))}return e(t.update({selection:de.create(s,l),userEvent:"select.search.matches"})),!0},k5=Yu((t,{query:e})=>{let{state:n}=t,{from:i,to:r}=n.selection.main;if(n.readOnly)return!1;let s=e.nextMatch(n,i,i);if(!s)return!1;let l=s,c=[],u,h,d=[];l.from==i&&l.to==r&&(h=n.toText(e.getReplacement(l)),c.push({from:l.from,to:l.to,insert:h}),l=e.nextMatch(n,l.from,l.to),d.push(Se.announce.of(n.phrase("replaced match on line $",n.doc.lineAt(i).number)+".")));let m=t.state.changes(c);return l&&(u=de.single(l.from,l.to).map(m),d.push(gC(t,l)),d.push(n.facet(Do).scrollToMatch(u.main,t))),t.dispatch({changes:m,selection:u,effects:d,userEvent:"input.replace"}),!0}),pie=Yu((t,{query:e})=>{if(t.state.readOnly)return!1;let n=e.matchAll(t.state,1e9).map(r=>{let{from:s,to:l}=r;return{from:s,to:l,insert:e.getReplacement(r)}});if(!n.length)return!1;let i=t.state.phrase("replaced $ matches",n.length)+".";return t.dispatch({changes:n,effects:Se.announce.of(i),userEvent:"input.replace.all"}),!0});function mC(t){return t.state.facet(Do).createPanel(t)}function jS(t,e){var n,i,r,s,l;let c=t.selection.main,u=c.empty||c.to>c.from+100?"":t.sliceDoc(c.from,c.to);if(e&&!u)return e;let h=t.facet(Do);return new iB({search:((n=e?.literal)!==null&&n!==void 0?n:h.literal)?u:u.replace(/\n/g,"\\n"),caseSensitive:(i=e?.caseSensitive)!==null&&i!==void 0?i:h.caseSensitive,literal:(r=e?.literal)!==null&&r!==void 0?r:h.literal,regexp:(s=e?.regexp)!==null&&s!==void 0?s:h.regexp,wholeWord:(l=e?.wholeWord)!==null&&l!==void 0?l:h.wholeWord})}function sB(t){let e=nC(t,mC);return e&&e.dom.querySelector("[main-field]")}function aB(t){let e=sB(t);e&&e==t.root.activeElement&&e.select()}const lB=t=>{let e=t.state.field(Hs,!1);if(e&&e.panel){let n=sB(t);if(n&&n!=t.root.activeElement){let i=jS(t.state,e.query.spec);i.valid&&t.dispatch({effects:Au.of(i)}),n.focus(),n.select()}}else t.dispatch({effects:[pC.of(!0),e?Au.of(jS(t.state,e.query.spec)):Ve.appendConfig.of(vie)]});return!0},oB=t=>{let e=t.state.field(Hs,!1);if(!e||!e.panel)return!1;let n=nC(t,mC);return n&&n.dom.contains(t.root.activeElement)&&t.focus(),t.dispatch({effects:pC.of(!1)}),!0},mie=[{key:"Mod-f",run:lB,scope:"editor search-panel"},{key:"F3",run:Gd,shift:Yd,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:Gd,shift:Yd,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:oB,scope:"editor search-panel"},{key:"Mod-Shift-l",run:die},{key:"Mod-Alt-g",run:$ne},{key:"Mod-d",run:nie,preventDefault:!0}];class gie{constructor(e){this.view=e;let n=this.query=e.state.field(Hs).query.spec;this.commit=this.commit.bind(this),this.searchField=vt("input",{value:n.search,placeholder:ni(e,"Find"),"aria-label":ni(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=vt("input",{value:n.replace,placeholder:ni(e,"Replace"),"aria-label":ni(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=vt("input",{type:"checkbox",name:"case",form:"",checked:n.caseSensitive,onchange:this.commit}),this.reField=vt("input",{type:"checkbox",name:"re",form:"",checked:n.regexp,onchange:this.commit}),this.wordField=vt("input",{type:"checkbox",name:"word",form:"",checked:n.wholeWord,onchange:this.commit});function i(r,s,l){return vt("button",{class:"cm-button",name:r,onclick:s,type:"button"},l)}this.dom=vt("div",{onkeydown:r=>this.keydown(r),class:"cm-search"},[this.searchField,i("next",()=>Gd(e),[ni(e,"next")]),i("prev",()=>Yd(e),[ni(e,"previous")]),i("select",()=>hie(e),[ni(e,"all")]),vt("label",null,[this.caseField,ni(e,"match case")]),vt("label",null,[this.reField,ni(e,"regexp")]),vt("label",null,[this.wordField,ni(e,"by word")]),...e.state.readOnly?[]:[vt("br"),this.replaceField,i("replace",()=>k5(e),[ni(e,"replace")]),i("replaceAll",()=>pie(e),[ni(e,"replace all")])],vt("button",{name:"close",onclick:()=>oB(e),"aria-label":ni(e,"close"),type:"button"},["×"])])}commit(){let e=new iB({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:Au.of(e)}))}keydown(e){xJ(this.view,e,"search-panel")?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?Yd:Gd)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),k5(this.view))}update(e){for(let n of e.transactions)for(let i of n.effects)i.is(Au)&&!i.value.eq(this.query)&&this.setQuery(i.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(Do).top}}function ni(t,e){return t.state.phrase(e)}const Uh=30,Vh=/[\s\.,:;?!]/;function gC(t,{from:e,to:n}){let i=t.state.doc.lineAt(e),r=t.state.doc.lineAt(n).to,s=Math.max(i.from,e-Uh),l=Math.min(r,n+Uh),c=t.state.sliceDoc(s,l);if(s!=i.from){for(let u=0;u<Uh;u++)if(!Vh.test(c[u+1])&&Vh.test(c[u])){c=c.slice(u);break}}if(l!=r){for(let u=c.length-1;u>c.length-Uh;u--)if(!Vh.test(c[u-1])&&Vh.test(c[u])){c=c.slice(0,u);break}}return Se.announce.of(`${t.state.phrase("current match")}. ${c} ${t.state.phrase("on line")} ${i.number}.`)}const yie=Se.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),vie=[Hs,Za.low(fie),yie];class cB{constructor(e,n,i,r){this.state=e,this.pos=n,this.explicit=i,this.view=r,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let n=xn(this.state).resolveInner(this.pos,-1);for(;n&&e.indexOf(n.name)<0;)n=n.parent;return n?{from:n.from,to:this.pos,text:this.state.sliceDoc(n.from,this.pos),type:n.type}:null}matchBefore(e){let n=this.state.doc.lineAt(this.pos),i=Math.max(n.from,this.pos-250),r=n.text.slice(i-n.from,this.pos-n.from),s=r.search(uB(e,!1));return s<0?null:{from:i+s,to:this.pos,text:r.slice(s)}}get aborted(){return this.abortListeners==null}addEventListener(e,n,i){e=="abort"&&this.abortListeners&&(this.abortListeners.push(n),i&&i.onDocChange&&(this.abortOnDocChange=!0))}}function A5(t){let e=Object.keys(t).join(""),n=/\w/.test(e);return n&&(e=e.replace(/\w/g,"")),`[${n?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function bie(t){let e=Object.create(null),n=Object.create(null);for(let{label:r}of t){e[r[0]]=!0;for(let s=1;s<r.length;s++)n[r[s]]=!0}let i=A5(e)+A5(n)+"*$";return[new RegExp("^"+i),new RegExp(i)]}function xie(t){let e=t.map(r=>typeof r=="string"?{label:r}:r),[n,i]=e.every(r=>/^\w+$/.test(r.label))?[/\w*$/,/\w+$/]:bie(e);return r=>{let s=r.matchBefore(i);return s||r.explicit?{from:s?s.from:r.pos,options:e,validFor:n}:null}}class _5{constructor(e,n,i,r){this.completion=e,this.source=n,this.match=i,this.score=r}}function Ha(t){return t.selection.main.from}function uB(t,e){var n;let{source:i}=t,r=e&&i[0]!="^",s=i[i.length-1]!="$";return!r&&!s?t:new RegExp(`${r?"^":""}(?:${i})${s?"$":""}`,(n=t.flags)!==null&&n!==void 0?n:t.ignoreCase?"i":"")}const fB=pr.define();function wie(t,e,n,i){let{main:r}=t.selection,s=n-r.from,l=i-r.from;return{...t.changeByRange(c=>{if(c!=r&&n!=i&&t.sliceDoc(c.from+s,c.from+l)!=t.sliceDoc(n,i))return{range:c};let u=t.toText(e);return{changes:{from:c.from+s,to:i==r.from?c.to:c.from+l,insert:u},range:de.cursor(c.from+s+u.length)}}),scrollIntoView:!0,userEvent:"input.complete"}}const E5=new WeakMap;function Sie(t){if(!Array.isArray(t))return t;let e=E5.get(t);return e||E5.set(t,e=xie(t)),e}const Qd=Ve.define(),_u=Ve.define();class Cie{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let n=0;n<e.length;){let i=qn(e,n),r=rr(i);this.chars.push(i);let s=e.slice(n,n+r),l=s.toUpperCase();this.folded.push(qn(l==s?s.toLowerCase():l,0)),n+=r}this.astral=e.length!=this.chars.length}ret(e,n){return this.score=e,this.matched=n,this}match(e){if(this.pattern.length==0)return this.ret(-100,[]);if(e.length<this.pattern.length)return null;let{chars:n,folded:i,any:r,precise:s,byWord:l}=this;if(n.length==1){let A=qn(e,0),E=rr(A),O=E==e.length?0:-100;if(A!=n[0])if(A==i[0])O+=-200;else return null;return this.ret(O,[0,E])}let c=e.indexOf(this.pattern);if(c==0)return this.ret(e.length==this.pattern.length?0:-100,[0,this.pattern.length]);let u=n.length,h=0;if(c<0){for(let A=0,E=Math.min(e.length,200);A<E&&h<u;){let O=qn(e,A);(O==n[h]||O==i[h])&&(r[h++]=A),A+=rr(O)}if(h<u)return null}let d=0,m=0,g=!1,v=0,x=-1,w=-1,S=/[a-z]/.test(e),k=!0;for(let A=0,E=Math.min(e.length,200),O=0;A<E&&m<u;){let T=qn(e,A);c<0&&(d<u&&T==n[d]&&(s[d++]=A),v<u&&(T==n[v]||T==i[v]?(v==0&&(x=A),w=A+1,v++):v=0));let M,R=T<255?T>=48&&T<=57||T>=97&&T<=122?2:T>=65&&T<=90?1:0:(M=j2(T))!=M.toLowerCase()?1:M!=M.toUpperCase()?2:0;(!A||R==1&&S||O==0&&R!=0)&&(n[m]==T||i[m]==T&&(g=!0)?l[m++]=A:l.length&&(k=!1)),O=R,A+=rr(T)}return m==u&&l[0]==0&&k?this.result(-100+(g?-200:0),l,e):v==u&&x==0?this.ret(-200-e.length+(w==e.length?0:-100),[0,w]):c>-1?this.ret(-700-e.length,[c,c+this.pattern.length]):v==u?this.ret(-900-e.length,[x,w]):m==u?this.result(-100+(g?-200:0)+-700+(k?0:-1100),l,e):n.length==2?null:this.result((r[0]?-700:0)+-200+-1100,r,e)}result(e,n,i){let r=[],s=0;for(let l of n){let c=l+(this.astral?rr(qn(i,l)):1);s&&r[s-1]==l?r[s-1]=c:(r[s++]=l,r[s++]=c)}return this.ret(e-i.length,r)}}class kie{constructor(e){this.pattern=e,this.matched=[],this.score=0,this.folded=e.toLowerCase()}match(e){if(e.length<this.pattern.length)return null;let n=e.slice(0,this.pattern.length),i=n==this.pattern?0:n.toLowerCase()==this.folded?-200:null;return i==null?null:(this.matched=[0,n.length],this.score=i+(e.length==this.pattern.length?0:-100),this)}}const sn=ke.define({combine(t){return mr(t,{activateOnTyping:!0,activateOnCompletion:()=>!1,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:Aie,filterStrict:!1,compareCompletions:(e,n)=>(e.sortText||e.label).localeCompare(n.sortText||n.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(e,n)=>e&&n,closeOnBlur:(e,n)=>e&&n,icons:(e,n)=>e&&n,tooltipClass:(e,n)=>i=>O5(e(i),n(i)),optionClass:(e,n)=>i=>O5(e(i),n(i)),addToOptions:(e,n)=>e.concat(n),filterStrict:(e,n)=>e||n})}});function O5(t,e){return t?e?t+" "+e:t:e}function Aie(t,e,n,i,r,s){let l=t.textDirection==wt.RTL,c=l,u=!1,h="top",d,m,g=e.left-r.left,v=r.right-e.right,x=i.right-i.left,w=i.bottom-i.top;if(c&&g<Math.min(x,v)?c=!1:!c&&v<Math.min(x,g)&&(c=!0),x<=(c?g:v))d=Math.max(r.top,Math.min(n.top,r.bottom-w))-e.top,m=Math.min(400,c?g:v);else{u=!0,m=Math.min(400,(l?e.right:r.right-e.left)-30);let A=r.bottom-e.bottom;A>=w||A>e.top?d=n.bottom-e.top:(h="bottom",d=e.bottom-n.top)}let S=(e.bottom-e.top)/s.offsetHeight,k=(e.right-e.left)/s.offsetWidth;return{style:`${h}: ${d/S}px; max-width: ${m/k}px`,class:"cm-completionInfo-"+(u?l?"left-narrow":"right-narrow":c?"left":"right")}}const yC=Ve.define();function _ie(t){let e=t.addToOptions.slice();return t.icons&&e.push({render(n){let i=document.createElement("div");return i.classList.add("cm-completionIcon"),n.type&&i.classList.add(...n.type.split(/\s+/g).map(r=>"cm-completionIcon-"+r)),i.setAttribute("aria-hidden","true"),i},position:20}),e.push({render(n,i,r,s){let l=document.createElement("span");l.className="cm-completionLabel";let c=n.displayLabel||n.label,u=0;for(let h=0;h<s.length;){let d=s[h++],m=s[h++];d>u&&l.appendChild(document.createTextNode(c.slice(u,d)));let g=l.appendChild(document.createElement("span"));g.appendChild(document.createTextNode(c.slice(d,m))),g.className="cm-completionMatchedText",u=m}return u<c.length&&l.appendChild(document.createTextNode(c.slice(u))),l},position:50},{render(n){if(!n.detail)return null;let i=document.createElement("span");return i.className="cm-completionDetail",i.textContent=n.detail,i},position:80}),e.sort((n,i)=>n.position-i.position).map(n=>n.render)}function hw(t,e,n){if(t<=n)return{from:0,to:t};if(e<0&&(e=0),e<=t>>1){let r=Math.floor(e/n);return{from:r*n,to:(r+1)*n}}let i=Math.floor((t-e)/n);return{from:t-(i+1)*n,to:t-i*n}}class Eie{constructor(e,n,i){this.view=e,this.stateField=n,this.applyCompletion=i,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:u=>this.placeInfo(u),key:this},this.space=null,this.currentClass="";let r=e.state.field(n),{options:s,selected:l}=r.open,c=e.state.facet(sn);this.optionContent=_ie(c),this.optionClass=c.optionClass,this.tooltipClass=c.tooltipClass,this.range=hw(s.length,l,c.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",u=>{let{options:h}=e.state.field(n).open;for(let d=u.target,m;d&&d!=this.dom;d=d.parentNode)if(d.nodeName=="LI"&&(m=/-(\d+)$/.exec(d.id))&&+m[1]<h.length){this.applyCompletion(e,h[+m[1]]),u.preventDefault();return}if(u.target==this.list){let d=this.list.classList.contains("cm-completionListIncompleteTop")&&u.clientY<this.list.firstChild.getBoundingClientRect().top?this.range.from-1:this.list.classList.contains("cm-completionListIncompleteBottom")&&u.clientY>this.list.lastChild.getBoundingClientRect().bottom?this.range.to:null;d!=null&&(e.dispatch({effects:yC.of(d)}),u.preventDefault())}}),this.dom.addEventListener("focusout",u=>{let h=e.state.field(this.stateField,!1);h&&h.tooltip&&e.state.facet(sn).closeOnBlur&&u.relatedTarget!=e.contentDOM&&e.dispatch({effects:_u.of(null)})}),this.showOptions(s,r.id)}mount(){this.updateSel()}showOptions(e,n){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(e,n,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}update(e){var n;let i=e.state.field(this.stateField),r=e.startState.field(this.stateField);if(this.updateTooltipClass(e.state),i!=r){let{options:s,selected:l,disabled:c}=i.open;(!r.open||r.open.options!=s)&&(this.range=hw(s.length,l,e.state.facet(sn).maxRenderedOptions),this.showOptions(s,i.id)),this.updateSel(),c!=((n=r.open)===null||n===void 0?void 0:n.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!c)}}updateTooltipClass(e){let n=this.tooltipClass(e);if(n!=this.currentClass){for(let i of this.currentClass.split(" "))i&&this.dom.classList.remove(i);for(let i of n.split(" "))i&&this.dom.classList.add(i);this.currentClass=n}}positioned(e){this.space=e,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let e=this.view.state.field(this.stateField),n=e.open;(n.selected>-1&&n.selected<this.range.from||n.selected>=this.range.to)&&(this.range=hw(n.options.length,n.selected,this.view.state.facet(sn).maxRenderedOptions),this.showOptions(n.options,e.id));let i=this.updateSelectedOption(n.selected);if(i){this.destroyInfo();let{completion:r}=n.options[n.selected],{info:s}=r;if(!s)return;let l=typeof s=="string"?document.createTextNode(s):s(r);if(!l)return;"then"in l?l.then(c=>{c&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(c,r)}).catch(c=>Hn(this.view.state,c,"completion info")):(this.addInfoPane(l,r),i.setAttribute("aria-describedby",this.info.id))}}addInfoPane(e,n){this.destroyInfo();let i=this.info=document.createElement("div");if(i.className="cm-tooltip cm-completionInfo",i.id="cm-completionInfo-"+Math.floor(Math.random()*65535).toString(16),e.nodeType!=null)i.appendChild(e),this.infoDestroy=null;else{let{dom:r,destroy:s}=e;i.appendChild(r),this.infoDestroy=s||null}this.dom.appendChild(i),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){let n=null;for(let i=this.list.firstChild,r=this.range.from;i;i=i.nextSibling,r++)i.nodeName!="LI"||!i.id?r--:r==e?i.hasAttribute("aria-selected")||(i.setAttribute("aria-selected","true"),n=i):i.hasAttribute("aria-selected")&&(i.removeAttribute("aria-selected"),i.removeAttribute("aria-describedby"));return n&&Tie(this.list,n),n}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let n=this.dom.getBoundingClientRect(),i=this.info.getBoundingClientRect(),r=e.getBoundingClientRect(),s=this.space;if(!s){let l=this.dom.ownerDocument.documentElement;s={left:0,top:0,right:l.clientWidth,bottom:l.clientHeight}}return r.top>Math.min(s.bottom,n.bottom)-10||r.bottom<Math.max(s.top,n.top)+10?null:this.view.state.facet(sn).positionInfo(this.view,n,r,i,s,this.dom)}placeInfo(e){this.info&&(e?(e.style&&(this.info.style.cssText=e.style),this.info.className="cm-tooltip cm-completionInfo "+(e.class||"")):this.info.style.cssText="top: -1e6px")}createListBox(e,n,i){const r=document.createElement("ul");r.id=n,r.setAttribute("role","listbox"),r.setAttribute("aria-expanded","true"),r.setAttribute("aria-label",this.view.state.phrase("Completions")),r.addEventListener("mousedown",l=>{l.target==r&&l.preventDefault()});let s=null;for(let l=i.from;l<i.to;l++){let{completion:c,match:u}=e[l],{section:h}=c;if(h){let g=typeof h=="string"?h:h.name;if(g!=s&&(l>i.from||i.from==0))if(s=g,typeof h!="string"&&h.header)r.appendChild(h.header(h));else{let v=r.appendChild(document.createElement("completion-section"));v.textContent=g}}const d=r.appendChild(document.createElement("li"));d.id=n+"-"+l,d.setAttribute("role","option");let m=this.optionClass(c);m&&(d.className=m);for(let g of this.optionContent){let v=g(c,this.view.state,this.view,u);v&&d.appendChild(v)}}return i.from&&r.classList.add("cm-completionListIncompleteTop"),i.to<e.length&&r.classList.add("cm-completionListIncompleteBottom"),r}destroyInfo(){this.info&&(this.infoDestroy&&this.infoDestroy(),this.info.remove(),this.info=null)}destroy(){this.destroyInfo()}}function Oie(t,e){return n=>new Eie(n,t,e)}function Tie(t,e){let n=t.getBoundingClientRect(),i=e.getBoundingClientRect(),r=n.height/t.offsetHeight;i.top<n.top?t.scrollTop-=(n.top-i.top)/r:i.bottom>n.bottom&&(t.scrollTop+=(i.bottom-n.bottom)/r)}function T5(t){return(t.boost||0)*100+(t.apply?10:0)+(t.info?5:0)+(t.type?1:0)}function Mie(t,e){let n=[],i=null,r=null,s=d=>{n.push(d);let{section:m}=d.completion;if(m){i||(i=[]);let g=typeof m=="string"?m:m.name;i.some(v=>v.name==g)||i.push(typeof m=="string"?{name:g}:m)}},l=e.facet(sn);for(let d of t)if(d.hasResult()){let m=d.result.getMatch;if(d.result.filter===!1)for(let g of d.result.options)s(new _5(g,d.source,m?m(g):[],1e9-n.length));else{let g=e.sliceDoc(d.from,d.to),v,x=l.filterStrict?new kie(g):new Cie(g);for(let w of d.result.options)if(v=x.match(w.label)){let S=w.displayLabel?m?m(w,v.matched):[]:v.matched,k=v.score+(w.boost||0);if(s(new _5(w,d.source,S,k)),typeof w.section=="object"&&w.section.rank==="dynamic"){let{name:A}=w.section;r||(r=Object.create(null)),r[A]=Math.max(k,r[A]||-1e9)}}}}if(i){let d=Object.create(null),m=0,g=(v,x)=>(v.rank==="dynamic"&&x.rank==="dynamic"?r[x.name]-r[v.name]:0)||(typeof v.rank=="number"?v.rank:1e9)-(typeof x.rank=="number"?x.rank:1e9)||(v.name<x.name?-1:1);for(let v of i.sort(g))m-=1e5,d[v.name]=m;for(let v of n){let{section:x}=v.completion;x&&(v.score+=d[typeof x=="string"?x:x.name])}}let c=[],u=null,h=l.compareCompletions;for(let d of n.sort((m,g)=>g.score-m.score||h(m.completion,g.completion))){let m=d.completion;!u||u.label!=m.label||u.detail!=m.detail||u.type!=null&&m.type!=null&&u.type!=m.type||u.apply!=m.apply||u.boost!=m.boost?c.push(d):T5(d.completion)>T5(u)&&(c[c.length-1]=d),u=d.completion}return c}class eo{constructor(e,n,i,r,s,l){this.options=e,this.attrs=n,this.tooltip=i,this.timestamp=r,this.selected=s,this.disabled=l}setSelected(e,n){return e==this.selected||e>=this.options.length?this:new eo(this.options,M5(n,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,n,i,r,s,l){if(r&&!l&&e.some(h=>h.isPending))return r.setDisabled();let c=Mie(e,n);if(!c.length)return r&&e.some(h=>h.isPending)?r.setDisabled():null;let u=n.facet(sn).selectOnOpen?0:-1;if(r&&r.selected!=u&&r.selected!=-1){let h=r.options[r.selected].completion;for(let d=0;d<c.length;d++)if(c[d].completion==h){u=d;break}}return new eo(c,M5(i,u),{pos:e.reduce((h,d)=>d.hasResult()?Math.min(h,d.from):h,1e8),create:qie,above:s.aboveCursor},r?r.timestamp:Date.now(),u,!1)}map(e){return new eo(this.options,this.attrs,{...this.tooltip,pos:e.mapPos(this.tooltip.pos)},this.timestamp,this.selected,this.disabled)}setDisabled(){return new eo(this.options,this.attrs,this.tooltip,this.timestamp,this.selected,!0)}}class Xd{constructor(e,n,i){this.active=e,this.id=n,this.open=i}static start(){return new Xd(Lie,"cm-ac-"+Math.floor(Math.random()*2e6).toString(36),null)}update(e){let{state:n}=e,i=n.facet(sn),s=(i.override||n.languageDataAt("autocomplete",Ha(n)).map(Sie)).map(u=>(this.active.find(d=>d.source==u)||new Ai(u,this.active.some(d=>d.state!=0)?1:0)).update(e,i));s.length==this.active.length&&s.every((u,h)=>u==this.active[h])&&(s=this.active);let l=this.open,c=e.effects.some(u=>u.is(vC));l&&e.docChanged&&(l=l.map(e.changes)),e.selection||s.some(u=>u.hasResult()&&e.changes.touchesRange(u.from,u.to))||!Nie(s,this.active)||c?l=eo.build(s,n,this.id,l,i,c):l&&l.disabled&&!s.some(u=>u.isPending)&&(l=null),!l&&s.every(u=>!u.isPending)&&s.some(u=>u.hasResult())&&(s=s.map(u=>u.hasResult()?new Ai(u.source,0):u));for(let u of e.effects)u.is(yC)&&(l=l&&l.setSelected(u.value,this.id));return s==this.active&&l==this.open?this:new Xd(s,this.id,l)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?Rie:Die}}function Nie(t,e){if(t==e)return!0;for(let n=0,i=0;;){for(;n<t.length&&!t[n].hasResult();)n++;for(;i<e.length&&!e[i].hasResult();)i++;let r=n==t.length,s=i==e.length;if(r||s)return r==s;if(t[n++].result!=e[i++].result)return!1}}const Rie={"aria-autocomplete":"list"},Die={};function M5(t,e){let n={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":t};return e>-1&&(n["aria-activedescendant"]=t+"-"+e),n}const Lie=[];function hB(t,e){if(t.isUserEvent("input.complete")){let i=t.annotation(fB);if(i&&e.activateOnCompletion(i))return 12}let n=t.isUserEvent("input.type");return n&&e.activateOnTyping?5:n?1:t.isUserEvent("delete.backward")?2:t.selection?8:t.docChanged?16:0}class Ai{constructor(e,n,i=!1){this.source=e,this.state=n,this.explicit=i}hasResult(){return!1}get isPending(){return this.state==1}update(e,n){let i=hB(e,n),r=this;(i&8||i&16&&this.touches(e))&&(r=new Ai(r.source,0)),i&4&&r.state==0&&(r=new Ai(this.source,1)),r=r.updateFor(e,i);for(let s of e.effects)if(s.is(Qd))r=new Ai(r.source,1,s.value);else if(s.is(_u))r=new Ai(r.source,0);else if(s.is(vC))for(let l of s.value)l.source==r.source&&(r=l);return r}updateFor(e,n){return this.map(e.changes)}map(e){return this}touches(e){return e.changes.touchesRange(Ha(e.state))}}class fo extends Ai{constructor(e,n,i,r,s,l){super(e,3,n),this.limit=i,this.result=r,this.from=s,this.to=l}hasResult(){return!0}updateFor(e,n){var i;if(!(n&3))return this.map(e.changes);let r=this.result;r.map&&!e.changes.empty&&(r=r.map(r,e.changes));let s=e.changes.mapPos(this.from),l=e.changes.mapPos(this.to,1),c=Ha(e.state);if(c>l||!r||n&2&&(Ha(e.startState)==this.from||c<this.limit))return new Ai(this.source,n&4?1:0);let u=e.changes.mapPos(this.limit);return zie(r.validFor,e.state,s,l)?new fo(this.source,this.explicit,u,r,s,l):r.update&&(r=r.update(r,s,l,new cB(e.state,c,!1)))?new fo(this.source,this.explicit,u,r,r.from,(i=r.to)!==null&&i!==void 0?i:Ha(e.state)):new Ai(this.source,1,this.explicit)}map(e){return e.empty?this:(this.result.map?this.result.map(this.result,e):this.result)?new fo(this.source,this.explicit,e.mapPos(this.limit),this.result,e.mapPos(this.from),e.mapPos(this.to,1)):new Ai(this.source,0)}touches(e){return e.changes.touchesRange(this.from,this.to)}}function zie(t,e,n,i){if(!t)return!1;let r=e.sliceDoc(n,i);return typeof t=="function"?t(r,n,i,e):uB(t,!0).test(r)}const vC=Ve.define({map(t,e){return t.map(n=>n.map(e))}}),Bn=Cn.define({create(){return Xd.start()},update(t,e){return t.update(e)},provide:t=>[tC.from(t,e=>e.tooltip),Se.contentAttributes.from(t,e=>e.attrs)]});function bC(t,e){const n=e.completion.apply||e.completion.label;let i=t.state.field(Bn).active.find(r=>r.source==e.source);return i instanceof fo?(typeof n=="string"?t.dispatch({...wie(t.state,n,i.from,i.to),annotations:fB.of(e.completion)}):n(t,e.completion,i.from,i.to),!0):!1}const qie=Oie(Bn,bC);function Fh(t,e="option"){return n=>{let i=n.state.field(Bn,!1);if(!i||!i.open||i.open.disabled||Date.now()-i.open.timestamp<n.state.facet(sn).interactionDelay)return!1;let r=1,s;e=="page"&&(s=$6(n,i.open.tooltip))&&(r=Math.max(2,Math.floor(s.dom.offsetHeight/s.dom.querySelector("li").offsetHeight)-1));let{length:l}=i.open.options,c=i.open.selected>-1?i.open.selected+r*(t?1:-1):t?0:l-1;return c<0?c=e=="page"?0:l-1:c>=l&&(c=e=="page"?l-1:0),n.dispatch({effects:yC.of(c)}),!0}}const Bie=t=>{let e=t.state.field(Bn,!1);return t.state.readOnly||!e||!e.open||e.open.selected<0||e.open.disabled||Date.now()-e.open.timestamp<t.state.facet(sn).interactionDelay?!1:bC(t,e.open.options[e.open.selected])},dw=t=>t.state.field(Bn,!1)?(t.dispatch({effects:Qd.of(!0)}),!0):!1,jie=t=>{let e=t.state.field(Bn,!1);return!e||!e.active.some(n=>n.state!=0)?!1:(t.dispatch({effects:_u.of(null)}),!0)};class Iie{constructor(e,n){this.active=e,this.context=n,this.time=Date.now(),this.updates=[],this.done=void 0}}const Pie=50,Hie=1e3,Uie=zt.fromClass(class{constructor(t){this.view=t,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0;for(let e of t.state.field(Bn).active)e.isPending&&this.startQuery(e)}update(t){let e=t.state.field(Bn),n=t.state.facet(sn);if(!t.selectionSet&&!t.docChanged&&t.startState.field(Bn)==e)return;let i=t.transactions.some(s=>{let l=hB(s,n);return l&8||(s.selection||s.docChanged)&&!(l&3)});for(let s=0;s<this.running.length;s++){let l=this.running[s];if(i||l.context.abortOnDocChange&&t.docChanged||l.updates.length+t.transactions.length>Pie&&Date.now()-l.time>Hie){for(let c of l.context.abortListeners)try{c()}catch(u){Hn(this.view.state,u)}l.context.abortListeners=null,this.running.splice(s--,1)}else l.updates.push(...t.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),t.transactions.some(s=>s.effects.some(l=>l.is(Qd)))&&(this.pendingStart=!0);let r=this.pendingStart?50:n.activateOnTypingDelay;if(this.debounceUpdate=e.active.some(s=>s.isPending&&!this.running.some(l=>l.active.source==s.source))?setTimeout(()=>this.startUpdate(),r):-1,this.composing!=0)for(let s of t.transactions)s.isUserEvent("input.type")?this.composing=2:this.composing==2&&s.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:t}=this.view,e=t.field(Bn);for(let n of e.active)n.isPending&&!this.running.some(i=>i.active.source==n.source)&&this.startQuery(n);this.running.length&&e.open&&e.open.disabled&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(sn).updateSyncTime))}startQuery(t){let{state:e}=this.view,n=Ha(e),i=new cB(e,n,t.explicit,this.view),r=new Iie(t,i);this.running.push(r),Promise.resolve(t.source(i)).then(s=>{r.context.aborted||(r.done=s||null,this.scheduleAccept())},s=>{this.view.dispatch({effects:_u.of(null)}),Hn(this.view.state,s)})}scheduleAccept(){this.running.every(t=>t.done!==void 0)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(sn).updateSyncTime))}accept(){var t;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let e=[],n=this.view.state.facet(sn),i=this.view.state.field(Bn);for(let r=0;r<this.running.length;r++){let s=this.running[r];if(s.done===void 0)continue;if(this.running.splice(r--,1),s.done){let c=Ha(s.updates.length?s.updates[0].startState:this.view.state),u=Math.min(c,s.done.from+(s.active.explicit?0:1)),h=new fo(s.active.source,s.active.explicit,u,s.done,s.done.from,(t=s.done.to)!==null&&t!==void 0?t:c);for(let d of s.updates)h=h.update(d,n);if(h.hasResult()){e.push(h);continue}}let l=i.active.find(c=>c.source==s.active.source);if(l&&l.isPending)if(s.done==null){let c=new Ai(s.active.source,0);for(let u of s.updates)c=c.update(u,n);c.isPending||e.push(c)}else this.startQuery(l)}(e.length||i.open&&i.open.disabled)&&this.view.dispatch({effects:vC.of(e)})}},{eventHandlers:{blur(t){let e=this.view.state.field(Bn,!1);if(e&&e.tooltip&&this.view.state.facet(sn).closeOnBlur){let n=e.open&&$6(this.view,e.open.tooltip);(!n||!n.dom.contains(t.relatedTarget))&&setTimeout(()=>this.view.dispatch({effects:_u.of(null)}),10)}},compositionstart(){this.composing=1},compositionend(){this.composing==3&&setTimeout(()=>this.view.dispatch({effects:Qd.of(!1)}),20),this.composing=0}}}),Vie=typeof navigator=="object"&&/Win/.test(navigator.platform),Fie=Za.highest(Se.domEventHandlers({keydown(t,e){let n=e.state.field(Bn,!1);if(!n||!n.open||n.open.disabled||n.open.selected<0||t.key.length>1||t.ctrlKey&&!(Vie&&t.altKey)||t.metaKey)return!1;let i=n.open.options[n.open.selected],r=n.active.find(l=>l.source==i.source),s=i.completion.commitCharacters||r.result.commitCharacters;return s&&s.indexOf(t.key)>-1&&bC(e,i),!1}})),$ie=Se.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"···"',opacity:.5,display:"block",textAlign:"center"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'ƒ'"}},".cm-completionIcon-class":{"&:after":{content:"'○'"}},".cm-completionIcon-interface":{"&:after":{content:"'◌'"}},".cm-completionIcon-variable":{"&:after":{content:"'𝑥'"}},".cm-completionIcon-constant":{"&:after":{content:"'𝐶'"}},".cm-completionIcon-type":{"&:after":{content:"'𝑡'"}},".cm-completionIcon-enum":{"&:after":{content:"'∪'"}},".cm-completionIcon-property":{"&:after":{content:"'□'"}},".cm-completionIcon-keyword":{"&:after":{content:"'🔑︎'"}},".cm-completionIcon-namespace":{"&:after":{content:"'▢'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}}),Eu={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},qa=Ve.define({map(t,e){let n=e.mapPos(t,-1,On.TrackAfter);return n??void 0}}),xC=new class extends $s{};xC.startSide=1;xC.endSide=-1;const dB=Cn.define({create(){return Ze.empty},update(t,e){if(t=t.map(e.changes),e.selection){let n=e.state.doc.lineAt(e.selection.main.head);t=t.update({filter:i=>i>=n.from&&i<=n.to})}for(let n of e.effects)n.is(qa)&&(t=t.update({add:[xC.range(n.value,n.value+1)]}));return t}});function Gie(){return[Qie,dB]}const pw="()[]{}<>«»»«[]{}";function pB(t){for(let e=0;e<pw.length;e+=2)if(pw.charCodeAt(e)==t)return pw.charAt(e+1);return j2(t<128?t:t+1)}function mB(t,e){return t.languageDataAt("closeBrackets",e)[0]||Eu}const Yie=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),Qie=Se.inputHandler.of((t,e,n,i)=>{if((Yie?t.composing:t.compositionStarted)||t.state.readOnly)return!1;let r=t.state.selection.main;if(i.length>2||i.length==2&&rr(qn(i,0))==1||e!=r.from||n!=r.to)return!1;let s=Kie(t.state,i);return s?(t.dispatch(s),!0):!1}),Xie=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let i=mB(t,t.selection.main.head).brackets||Eu.brackets,r=null,s=t.changeByRange(l=>{if(l.empty){let c=Zie(t.doc,l.head);for(let u of i)if(u==c&&Hp(t.doc,l.head)==pB(qn(u,0)))return{changes:{from:l.head-u.length,to:l.head+u.length},range:de.cursor(l.head-u.length)}}return{range:r=l}});return r||e(t.update(s,{scrollIntoView:!0,userEvent:"delete.backward"})),!r},Wie=[{key:"Backspace",run:Xie}];function Kie(t,e){let n=mB(t,t.selection.main.head),i=n.brackets||Eu.brackets;for(let r of i){let s=pB(qn(r,0));if(e==r)return s==r?tre(t,r,i.indexOf(r+r+r)>-1,n):Jie(t,r,s,n.before||Eu.before);if(e==s&&gB(t,t.selection.main.from))return ere(t,r,s)}return null}function gB(t,e){let n=!1;return t.field(dB).between(0,t.doc.length,i=>{i==e&&(n=!0)}),n}function Hp(t,e){let n=t.sliceString(e,e+2);return n.slice(0,rr(qn(n,0)))}function Zie(t,e){let n=t.sliceString(e-2,e);return rr(qn(n,0))==n.length?n:n.slice(1)}function Jie(t,e,n,i){let r=null,s=t.changeByRange(l=>{if(!l.empty)return{changes:[{insert:e,from:l.from},{insert:n,from:l.to}],effects:qa.of(l.to+e.length),range:de.range(l.anchor+e.length,l.head+e.length)};let c=Hp(t.doc,l.head);return!c||/\s/.test(c)||i.indexOf(c)>-1?{changes:{insert:e+n,from:l.head},effects:qa.of(l.head+e.length),range:de.cursor(l.head+e.length)}:{range:r=l}});return r?null:t.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function ere(t,e,n){let i=null,r=t.changeByRange(s=>s.empty&&Hp(t.doc,s.head)==n?{changes:{from:s.head,to:s.head+n.length,insert:n},range:de.cursor(s.head+n.length)}:i={range:s});return i?null:t.update(r,{scrollIntoView:!0,userEvent:"input.type"})}function tre(t,e,n,i){let r=i.stringPrefixes||Eu.stringPrefixes,s=null,l=t.changeByRange(c=>{if(!c.empty)return{changes:[{insert:e,from:c.from},{insert:e,from:c.to}],effects:qa.of(c.to+e.length),range:de.range(c.anchor+e.length,c.head+e.length)};let u=c.head,h=Hp(t.doc,u),d;if(h==e){if(N5(t,u))return{changes:{insert:e+e,from:u},effects:qa.of(u+e.length),range:de.cursor(u+e.length)};if(gB(t,u)){let g=n&&t.sliceDoc(u,u+e.length*3)==e+e+e?e+e+e:e;return{changes:{from:u,to:u+g.length,insert:g},range:de.cursor(u+g.length)}}}else{if(n&&t.sliceDoc(u-2*e.length,u)==e+e&&(d=R5(t,u-2*e.length,r))>-1&&N5(t,d))return{changes:{insert:e+e+e+e,from:u},effects:qa.of(u+e.length),range:de.cursor(u+e.length)};if(t.charCategorizer(u)(h)!=_t.Word&&R5(t,u,r)>-1&&!nre(t,u,e,r))return{changes:{insert:e+e,from:u},effects:qa.of(u+e.length),range:de.cursor(u+e.length)}}return{range:s=c}});return s?null:t.update(l,{scrollIntoView:!0,userEvent:"input.type"})}function N5(t,e){let n=xn(t).resolveInner(e+1);return n.parent&&n.from==e}function nre(t,e,n,i){let r=xn(t).resolveInner(e,-1),s=i.reduce((l,c)=>Math.max(l,c.length),0);for(let l=0;l<5;l++){let c=t.sliceDoc(r.from,Math.min(r.to,r.from+n.length+s)),u=c.indexOf(n);if(!u||u>-1&&i.indexOf(c.slice(0,u))>-1){let d=r.firstChild;for(;d&&d.from==r.from&&d.to-d.from>n.length+u;){if(t.sliceDoc(d.to-n.length,d.to)==n)return!1;d=d.firstChild}return!0}let h=r.to==e&&r.parent;if(!h)break;r=h}return!1}function R5(t,e,n){let i=t.charCategorizer(e);if(i(t.sliceDoc(e-1,e))!=_t.Word)return e;for(let r of n){let s=e-r.length;if(t.sliceDoc(s,e)==r&&i(t.sliceDoc(s-1,s))!=_t.Word)return s}return-1}function ire(t={}){return[Fie,Bn,sn.of(t),Uie,rre,$ie]}const yB=[{key:"Ctrl-Space",run:dw},{mac:"Alt-`",run:dw},{mac:"Alt-i",run:dw},{key:"Escape",run:jie},{key:"ArrowDown",run:Fh(!0)},{key:"ArrowUp",run:Fh(!1)},{key:"PageDown",run:Fh(!0,"page")},{key:"PageUp",run:Fh(!1,"page")},{key:"Enter",run:Bie}],rre=Za.highest(Rp.computeN([sn],t=>t.facet(sn).defaultKeymap?[yB]:[]));class D5{constructor(e,n,i){this.from=e,this.to=n,this.diagnostic=i}}class Ta{constructor(e,n,i){this.diagnostics=e,this.panel=n,this.selected=i}static init(e,n,i){let r=i.facet(Ou).markerFilter;r&&(e=r(e,i));let s=e.slice().sort((v,x)=>v.from-x.from||v.to-x.to),l=new Xr,c=[],u=0,h=i.doc.iter(),d=0,m=i.doc.length;for(let v=0;;){let x=v==s.length?null:s[v];if(!x&&!c.length)break;let w,S;if(c.length)w=u,S=c.reduce((E,O)=>Math.min(E,O.to),x&&x.from>w?x.from:1e8);else{if(w=x.from,w>m)break;S=x.to,c.push(x),v++}for(;v<s.length;){let E=s[v];if(E.from==w&&(E.to>E.from||E.to==w))c.push(E),v++,S=Math.min(E.to,S);else{S=Math.min(E.from,S);break}}S=Math.min(S,m);let k=!1;if(c.some(E=>E.from==w&&(E.to==S||S==m))&&(k=w==S,!k&&S-w<10)){let E=w-(d+h.value.length);E>0&&(h.next(E),d=w);for(let O=w;;){if(O>=S){k=!0;break}if(!h.lineBreak&&d+h.value.length>O)break;O=d+h.value.length,d+=h.value.length,h.next()}}let A=yre(c);if(k)l.add(w,w,ze.widget({widget:new dre(A),diagnostics:c.slice()}));else{let E=c.reduce((O,T)=>T.markClass?O+" "+T.markClass:O,"");l.add(w,S,ze.mark({class:"cm-lintRange cm-lintRange-"+A+E,diagnostics:c.slice(),inclusiveEnd:c.some(O=>O.to>S)}))}if(u=S,u==m)break;for(let E=0;E<c.length;E++)c[E].to<=u&&c.splice(E--,1)}let g=l.finish();return new Ta(g,n,Ks(g))}}function Ks(t,e=null,n=0){let i=null;return t.between(n,1e9,(r,s,{spec:l})=>{if(!(e&&l.diagnostics.indexOf(e)<0))if(!i)i=new D5(r,s,e||l.diagnostics[0]);else{if(l.diagnostics.indexOf(i.diagnostic)<0)return!1;i=new D5(i.from,s,i.diagnostic)}}),i}function sre(t,e){let n=e.pos,i=e.end||n,r=t.state.facet(Ou).hideOn(t,n,i);if(r!=null)return r;let s=t.startState.doc.lineAt(e.pos);return!!(t.effects.some(l=>l.is(vB))||t.changes.touchesRange(s.from,Math.max(s.to,i)))}function are(t,e){return t.field(li,!1)?e:e.concat(Ve.appendConfig.of(vre))}const vB=Ve.define(),wC=Ve.define(),bB=Ve.define(),li=Cn.define({create(){return new Ta(ze.none,null,null)},update(t,e){if(e.docChanged&&t.diagnostics.size){let n=t.diagnostics.map(e.changes),i=null,r=t.panel;if(t.selected){let s=e.changes.mapPos(t.selected.from,1);i=Ks(n,t.selected.diagnostic,s)||Ks(n,null,s)}!n.size&&r&&e.state.facet(Ou).autoPanel&&(r=null),t=new Ta(n,r,i)}for(let n of e.effects)if(n.is(vB)){let i=e.state.facet(Ou).autoPanel?n.value.length?Tu.open:null:t.panel;t=Ta.init(n.value,i,e.state)}else n.is(wC)?t=new Ta(t.diagnostics,n.value?Tu.open:null,t.selected):n.is(bB)&&(t=new Ta(t.diagnostics,t.panel,n.value));return t},provide:t=>[wu.from(t,e=>e.panel),Se.decorations.from(t,e=>e.diagnostics)]}),lre=ze.mark({class:"cm-lintRange cm-lintRange-active"});function ore(t,e,n){let{diagnostics:i}=t.state.field(li),r,s=-1,l=-1;i.between(e-(n<0?1:0),e+(n>0?1:0),(u,h,{spec:d})=>{if(e>=u&&e<=h&&(u==h||(e>u||n>0)&&(e<h||n<0)))return r=d.diagnostics,s=u,l=h,!1});let c=t.state.facet(Ou).tooltipFilter;return r&&c&&(r=c(r,t.state)),r?{pos:s,end:l,above:t.state.doc.lineAt(s).to<l,create(){return{dom:cre(t,r)}}}:null}function cre(t,e){return vt("ul",{class:"cm-tooltip-lint"},e.map(n=>wB(t,n,!1)))}const ure=t=>{let e=t.state.field(li,!1);(!e||!e.panel)&&t.dispatch({effects:are(t.state,[wC.of(!0)])});let n=nC(t,Tu.open);return n&&n.dom.querySelector(".cm-panel-lint ul").focus(),!0},L5=t=>{let e=t.state.field(li,!1);return!e||!e.panel?!1:(t.dispatch({effects:wC.of(!1)}),!0)},fre=t=>{let e=t.state.field(li,!1);if(!e)return!1;let n=t.state.selection.main,i=Ks(e.diagnostics,null,n.to+1);return!i&&(i=Ks(e.diagnostics,null,0),!i||i.from==n.from&&i.to==n.to)?!1:(t.dispatch({selection:{anchor:i.from,head:i.to},scrollIntoView:!0}),!0)},hre=[{key:"Mod-Shift-m",run:ure,preventDefault:!0},{key:"F8",run:fre}],Ou=ke.define({combine(t){return{sources:t.map(e=>e.source).filter(e=>e!=null),...mr(t.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:z5,tooltipFilter:z5,needsRefresh:(e,n)=>e?n?i=>e(i)||n(i):e:n,hideOn:(e,n)=>e?n?(i,r,s)=>e(i,r,s)||n(i,r,s):e:n,autoPanel:(e,n)=>e||n})}}});function z5(t,e){return t?e?(n,i)=>e(t(n,i),i):t:e}function xB(t){let e=[];if(t)e:for(let{name:n}of t){for(let i=0;i<n.length;i++){let r=n[i];if(/[a-zA-Z]/.test(r)&&!e.some(s=>s.toLowerCase()==r.toLowerCase())){e.push(r);continue e}}e.push("")}return e}function wB(t,e,n){var i;let r=n?xB(e.actions):[];return vt("li",{class:"cm-diagnostic cm-diagnostic-"+e.severity},vt("span",{class:"cm-diagnosticText"},e.renderMessage?e.renderMessage(t):e.message),(i=e.actions)===null||i===void 0?void 0:i.map((s,l)=>{let c=!1,u=v=>{if(v.preventDefault(),c)return;c=!0;let x=Ks(t.state.field(li).diagnostics,e);x&&s.apply(t,x.from,x.to)},{name:h}=s,d=r[l]?h.indexOf(r[l]):-1,m=d<0?h:[h.slice(0,d),vt("u",h.slice(d,d+1)),h.slice(d+1)],g=s.markClass?" "+s.markClass:"";return vt("button",{type:"button",class:"cm-diagnosticAction"+g,onclick:u,onmousedown:u,"aria-label":` Action: ${h}${d<0?"":` (access key "${r[l]})"`}.`},m)}),e.source&&vt("div",{class:"cm-diagnosticSource"},e.source))}class dre extends gr{constructor(e){super(),this.sev=e}eq(e){return e.sev==this.sev}toDOM(){return vt("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}}class q5{constructor(e,n){this.diagnostic=n,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=wB(e,n,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class Tu{constructor(e){this.view=e,this.items=[];let n=r=>{if(!(r.ctrlKey||r.altKey||r.metaKey)){if(r.keyCode==27)L5(this.view),this.view.focus();else if(r.keyCode==38||r.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(r.keyCode==40||r.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(r.keyCode==36)this.moveSelection(0);else if(r.keyCode==35)this.moveSelection(this.items.length-1);else if(r.keyCode==13)this.view.focus();else if(r.keyCode>=65&&r.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:s}=this.items[this.selectedIndex],l=xB(s.actions);for(let c=0;c<l.length;c++)if(l[c].toUpperCase().charCodeAt(0)==r.keyCode){let u=Ks(this.view.state.field(li).diagnostics,s);u&&s.actions[c].apply(e,u.from,u.to)}}else return;r.preventDefault()}},i=r=>{for(let s=0;s<this.items.length;s++)this.items[s].dom.contains(r.target)&&this.moveSelection(s)};this.list=vt("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:n,onclick:i}),this.dom=vt("div",{class:"cm-panel-lint"},this.list,vt("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:()=>L5(this.view)},"×")),this.update()}get selectedIndex(){let e=this.view.state.field(li).selected;if(!e)return-1;for(let n=0;n<this.items.length;n++)if(this.items[n].diagnostic==e.diagnostic)return n;return-1}update(){let{diagnostics:e,selected:n}=this.view.state.field(li),i=0,r=!1,s=null,l=new Set;for(e.between(0,this.view.state.doc.length,(c,u,{spec:h})=>{for(let d of h.diagnostics){if(l.has(d))continue;l.add(d);let m=-1,g;for(let v=i;v<this.items.length;v++)if(this.items[v].diagnostic==d){m=v;break}m<0?(g=new q5(this.view,d),this.items.splice(i,0,g),r=!0):(g=this.items[m],m>i&&(this.items.splice(i,m-i),r=!0)),n&&g.diagnostic==n.diagnostic?g.dom.hasAttribute("aria-selected")||(g.dom.setAttribute("aria-selected","true"),s=g):g.dom.hasAttribute("aria-selected")&&g.dom.removeAttribute("aria-selected"),i++}});i<this.items.length&&!(this.items.length==1&&this.items[0].diagnostic.from<0);)r=!0,this.items.pop();this.items.length==0&&(this.items.push(new q5(this.view,{from:-1,to:-1,severity:"info",message:this.view.state.phrase("No diagnostics")})),r=!0),s?(this.list.setAttribute("aria-activedescendant",s.id),this.view.requestMeasure({key:this,read:()=>({sel:s.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:c,panel:u})=>{let h=u.height/this.list.offsetHeight;c.top<u.top?this.list.scrollTop-=(u.top-c.top)/h:c.bottom>u.bottom&&(this.list.scrollTop+=(c.bottom-u.bottom)/h)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),r&&this.sync()}sync(){let e=this.list.firstChild;function n(){let i=e;e=i.nextSibling,i.remove()}for(let i of this.items)if(i.dom.parentNode==this.list){for(;e!=i.dom;)n();e=i.dom.nextSibling}else this.list.insertBefore(i.dom,e);for(;e;)n()}moveSelection(e){if(this.selectedIndex<0)return;let n=this.view.state.field(li),i=Ks(n.diagnostics,this.items[e].diagnostic);i&&this.view.dispatch({selection:{anchor:i.from,head:i.to},scrollIntoView:!0,effects:bB.of(i)})}static open(e){return new Tu(e)}}function pre(t,e='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" ${e}>${encodeURIComponent(t)}</svg>')`}function $h(t){return pre(`<path d="m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0" stroke="${t}" fill="none" stroke-width=".7"/>`,'width="6" height="3"')}const mre=Se.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:$h("#d11")},".cm-lintRange-warning":{backgroundImage:$h("orange")},".cm-lintRange-info":{backgroundImage:$h("#999")},".cm-lintRange-hint":{backgroundImage:$h("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}},"&dark .cm-lintRange-active":{backgroundColor:"#86714a80"},"&dark .cm-panel.cm-panel-lint ul":{"& [aria-selected]":{backgroundColor:"#2e343e"}}});function gre(t){return t=="error"?4:t=="warning"?3:t=="info"?2:1}function yre(t){let e="hint",n=1;for(let i of t){let r=gre(i.severity);r>n&&(n=r,e=i.severity)}return e}const vre=[li,Se.decorations.compute([li],t=>{let{selected:e,panel:n}=t.field(li);return!e||!n||e.from==e.to?ze.none:ze.set([lre.range(e.from,e.to)])}),oee(ore,{hideOn:sre}),mre];var B5=function(e){e===void 0&&(e={});var{crosshairCursor:n=!1}=e,i=[];e.closeBracketsKeymap!==!1&&(i=i.concat(Wie)),e.defaultKeymap!==!1&&(i=i.concat(Une)),e.searchKeymap!==!1&&(i=i.concat(mie)),e.historyKeymap!==!1&&(i=i.concat(Xte)),e.foldKeymap!==!1&&(i=i.concat(cte)),e.completionKeymap!==!1&&(i=i.concat(yB)),e.lintKeymap!==!1&&(i=i.concat(hre));var r=[];return e.lineNumbers!==!1&&r.push(wee()),e.highlightActiveLineGutter!==!1&&r.push(kee()),e.highlightSpecialChars!==!1&&r.push(BJ()),e.history!==!1&&r.push(Pte()),e.foldGutter!==!1&&r.push(dte()),e.drawSelection!==!1&&r.push(_J()),e.dropCursor!==!1&&r.push(NJ()),e.allowMultipleSelections!==!1&&r.push(rt.allowMultipleSelections.of(!0)),e.indentOnInput!==!1&&r.push(Jee()),e.syntaxHighlighting!==!1&&r.push(vq(yte,{fallback:!0})),e.bracketMatching!==!1&&r.push(kte()),e.closeBrackets!==!1&&r.push(Gie()),e.autocompletion!==!1&&r.push(ire()),e.rectangularSelection!==!1&&r.push(KJ()),n!==!1&&r.push(eee()),e.highlightActiveLine!==!1&&r.push(VJ()),e.highlightSelectionMatches!==!1&&r.push(Qne()),e.tabSize&&typeof e.tabSize=="number"&&r.push(Lp.of(" ".repeat(e.tabSize))),r.concat([Rp.of(i.flat())]).filter(Boolean)};const bre="#e5c07b",j5="#e06c75",xre="#56b6c2",wre="#ffffff",ad="#abb2bf",IS="#7d8799",Sre="#61afef",Cre="#98c379",I5="#d19a66",kre="#c678dd",Are="#21252b",P5="#2c313a",H5="#282c34",mw="#353a42",_re="#3E4451",U5="#528bff",Ere=Se.theme({"&":{color:ad,backgroundColor:H5},".cm-content":{caretColor:U5},".cm-cursor, .cm-dropCursor":{borderLeftColor:U5},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:_re},".cm-panels":{backgroundColor:Are,color:ad},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:"#6699ff0b"},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847"},".cm-gutters":{backgroundColor:H5,color:IS,border:"none"},".cm-activeLineGutter":{backgroundColor:P5},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:mw},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:mw,borderBottomColor:mw},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:P5,color:ad}}},{dark:!0}),Ore=$u.define([{tag:oe.keyword,color:kre},{tag:[oe.name,oe.deleted,oe.character,oe.propertyName,oe.macroName],color:j5},{tag:[oe.function(oe.variableName),oe.labelName],color:Sre},{tag:[oe.color,oe.constant(oe.name),oe.standard(oe.name)],color:I5},{tag:[oe.definition(oe.name),oe.separator],color:ad},{tag:[oe.typeName,oe.className,oe.number,oe.changed,oe.annotation,oe.modifier,oe.self,oe.namespace],color:bre},{tag:[oe.operator,oe.operatorKeyword,oe.url,oe.escape,oe.regexp,oe.link,oe.special(oe.string)],color:xre},{tag:[oe.meta,oe.comment],color:IS},{tag:oe.strong,fontWeight:"bold"},{tag:oe.emphasis,fontStyle:"italic"},{tag:oe.strikethrough,textDecoration:"line-through"},{tag:oe.link,color:IS,textDecoration:"underline"},{tag:oe.heading,fontWeight:"bold",color:j5},{tag:[oe.atom,oe.bool,oe.special(oe.variableName)],color:I5},{tag:[oe.processingInstruction,oe.string,oe.inserted],color:Cre},{tag:oe.invalid,color:wre}]),SB=[Ere,vq(Ore)];var Tre=Se.theme({"&":{backgroundColor:"#fff"}},{dark:!1}),Mre=function(e){e===void 0&&(e={});var{indentWithTab:n=!0,editable:i=!0,readOnly:r=!1,theme:s="light",placeholder:l="",basicSetup:c=!0}=e,u=[];switch(n&&u.unshift(Rp.of([Vne])),c&&(typeof c=="boolean"?u.unshift(B5()):u.unshift(B5(c))),l&&u.unshift(YJ(l)),s){case"light":u.push(Tre);break;case"dark":u.push(SB);break;case"none":break;default:u.push(s);break}return i===!1&&u.push(Se.editable.of(!1)),r&&u.push(rt.readOnly.of(!0)),[...u]},Nre=t=>({line:t.state.doc.lineAt(t.state.selection.main.from),lineCount:t.state.doc.lines,lineBreak:t.state.lineBreak,length:t.state.doc.length,readOnly:t.state.readOnly,tabSize:t.state.tabSize,selection:t.state.selection,selectionAsSingle:t.state.selection.asSingle().main,ranges:t.state.selection.ranges,selectionCode:t.state.sliceDoc(t.state.selection.main.from,t.state.selection.main.to),selections:t.state.selection.ranges.map(e=>t.state.sliceDoc(e.from,e.to)),selectedText:t.state.selection.ranges.some(e=>!e.empty)});class Rre{constructor(e,n){this.timeLeftMS=void 0,this.timeoutMS=void 0,this.isCancelled=!1,this.isTimeExhausted=!1,this.callbacks=[],this.timeLeftMS=n,this.timeoutMS=n,this.callbacks.push(e)}tick(){if(!this.isCancelled&&!this.isTimeExhausted&&(this.timeLeftMS--,this.timeLeftMS<=0)){this.isTimeExhausted=!0;var e=this.callbacks.slice();this.callbacks.length=0,e.forEach(n=>{try{n()}catch(i){console.error("TimeoutLatch callback error:",i)}})}}cancel(){this.isCancelled=!0,this.callbacks.length=0}reset(){this.timeLeftMS=this.timeoutMS,this.isCancelled=!1,this.isTimeExhausted=!1}get isDone(){return this.isCancelled||this.isTimeExhausted}}class V5{constructor(){this.interval=null,this.latches=new Set}add(e){this.latches.add(e),this.start()}remove(e){this.latches.delete(e),this.latches.size===0&&this.stop()}start(){this.interval===null&&(this.interval=setInterval(()=>{this.latches.forEach(e=>{e.tick(),e.isDone&&this.remove(e)})},1))}stop(){this.interval!==null&&(clearInterval(this.interval),this.interval=null)}}var gw=null,Dre=()=>typeof window>"u"?new V5:(gw||(gw=new V5),gw),F5=pr.define(),Lre=200,zre=[];function qre(t){var{value:e,selection:n,onChange:i,onStatistics:r,onCreateEditor:s,onUpdate:l,extensions:c=zre,autoFocus:u,theme:h="light",height:d=null,minHeight:m=null,maxHeight:g=null,width:v=null,minWidth:x=null,maxWidth:w=null,placeholder:S="",editable:k=!0,readOnly:A=!1,indentWithTab:E=!0,basicSetup:O=!0,root:T,initialState:M}=t,[R,B]=Q.useState(),[q,F]=Q.useState(),[I,U]=Q.useState(),X=Q.useState(()=>({current:null}))[0],N=Q.useState(()=>({current:null}))[0],P=Se.theme({"&":{height:d,minHeight:m,maxHeight:g,width:v,minWidth:x,maxWidth:w},"& .cm-scroller":{height:"100% !important"}}),L=Se.updateListener.of(Y=>{if(Y.docChanged&&typeof i=="function"&&!Y.transactions.some(V=>V.annotation(F5))){X.current?X.current.reset():(X.current=new Rre(()=>{if(N.current){var V=N.current;N.current=null,V()}X.current=null},Lre),Dre().add(X.current));var ne=Y.state.doc,z=ne.toString();i(z,Y)}r&&r(Nre(Y))}),H=Mre({theme:h,editable:k,readOnly:A,placeholder:S,indentWithTab:E,basicSetup:O}),Z=[L,P,...H];return l&&typeof l=="function"&&Z.push(Se.updateListener.of(l)),Z=Z.concat(c),Q.useLayoutEffect(()=>{if(R&&!I){var Y={doc:e,selection:n,extensions:Z},ne=M?rt.fromJSON(M.json,Y,M.fields):rt.create(Y);if(U(ne),!q){var z=new Se({state:ne,parent:R,root:T});F(z),s&&s(z,ne)}}return()=>{q&&(U(void 0),F(void 0))}},[R,I]),Q.useEffect(()=>{t.container&&B(t.container)},[t.container]),Q.useEffect(()=>()=>{q&&(q.destroy(),F(void 0)),X.current&&(X.current.cancel(),X.current=null)},[q]),Q.useEffect(()=>{u&&q&&q.focus()},[u,q]),Q.useEffect(()=>{q&&q.dispatch({effects:Ve.reconfigure.of(Z)})},[h,c,d,m,g,v,x,w,S,k,A,E,O,i,l]),Q.useEffect(()=>{if(e!==void 0){var Y=q?q.state.doc.toString():"";if(q&&e!==Y){var ne=X.current&&!X.current.isDone,z=()=>{q&&e!==q.state.doc.toString()&&q.dispatch({changes:{from:0,to:q.state.doc.toString().length,insert:e||""},annotations:[F5.of(!0)]})};ne?N.current=z:z()}}},[e,q]),{state:I,setState:U,view:q,setView:F,container:R,setContainer:B}}var Bre=["className","value","selection","extensions","onChange","onStatistics","onCreateEditor","onUpdate","autoFocus","theme","height","minHeight","maxHeight","width","minWidth","maxWidth","basicSetup","placeholder","indentWithTab","editable","readOnly","root","initialState"],CB=Q.forwardRef((t,e)=>{var{className:n,value:i="",selection:r,extensions:s=[],onChange:l,onStatistics:c,onCreateEditor:u,onUpdate:h,autoFocus:d,theme:m="light",height:g,minHeight:v,maxHeight:x,width:w,minWidth:S,maxWidth:k,basicSetup:A,placeholder:E,indentWithTab:O,editable:T,readOnly:M,root:R,initialState:B}=t,q=dK(t,Bre),F=Q.useRef(null),{state:I,view:U,container:X,setContainer:N}=qre({root:R,value:i,autoFocus:d,theme:m,height:g,minHeight:v,maxHeight:x,width:w,minWidth:S,maxWidth:k,basicSetup:A,placeholder:E,indentWithTab:O,editable:T,readOnly:M,selection:r,onChange:l,onStatistics:c,onCreateEditor:u,onUpdate:h,extensions:s,initialState:B});Q.useImperativeHandle(e,()=>({editor:F.current,state:I,view:U}),[F,X,I,U]);var P=Q.useCallback(H=>{F.current=H,N(H)},[N]);if(typeof i!="string")throw new Error("value must be typeof string but got "+typeof i);var L=typeof m=="string"?"cm-theme-"+m:"cm-theme";return C.jsx("div",Gw({ref:P,className:""+L+(n?" "+n:"")},q))});CB.displayName="CodeMirror";var $5={};class Wd{constructor(e,n,i,r,s,l,c,u,h,d=0,m){this.p=e,this.stack=n,this.state=i,this.reducePos=r,this.pos=s,this.score=l,this.buffer=c,this.bufferBase=u,this.curContext=h,this.lookAhead=d,this.parent=m}toString(){return`[${this.stack.filter((e,n)=>n%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,n,i=0){let r=e.parser.context;return new Wd(e,[],n,i,i,0,[],0,r?new G5(r,r.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,n){this.stack.push(this.state,n,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var n;let i=e>>19,r=e&65535,{parser:s}=this.p,l=this.reducePos<this.pos-25&&this.setLookAhead(this.pos),c=s.dynamicPrecedence(r);if(c&&(this.score+=c),i==0){this.pushState(s.getGoto(this.state,r,!0),this.reducePos),r<s.minRepeatTerm&&this.storeNode(r,this.reducePos,this.reducePos,l?8:4,!0),this.reduceContext(r,this.reducePos);return}let u=this.stack.length-(i-1)*3-(e&262144?6:0),h=u?this.stack[u-2]:this.p.ranges[0].from,d=this.reducePos-h;d>=2e3&&!(!((n=this.p.parser.nodeSet.types[r])===null||n===void 0)&&n.isAnonymous)&&(h==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=d):this.p.lastBigReductionSize<d&&(this.p.bigReductionCount=1,this.p.lastBigReductionStart=h,this.p.lastBigReductionSize=d));let m=u?this.stack[u-1]:0,g=this.bufferBase+this.buffer.length-m;if(r<s.minRepeatTerm||e&131072){let v=s.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(r,h,v,g+4,!0)}if(e&262144)this.state=this.stack[u];else{let v=this.stack[u-3];this.state=s.getGoto(v,r,!0)}for(;this.stack.length>u;)this.stack.pop();this.reduceContext(r,h)}storeNode(e,n,i,r=4,s=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let l=this,c=this.buffer.length;if(c==0&&l.parent&&(c=l.bufferBase-l.parent.bufferBase,l=l.parent),c>0&&l.buffer[c-4]==0&&l.buffer[c-1]>-1){if(n==i)return;if(l.buffer[c-2]>=n){l.buffer[c-2]=i;return}}}if(!s||this.pos==i)this.buffer.push(e,n,i,r);else{let l=this.buffer.length;if(l>0&&(this.buffer[l-4]!=0||this.buffer[l-1]<0)){let c=!1;for(let u=l;u>0&&this.buffer[u-2]>i;u-=4)if(this.buffer[u-1]>=0){c=!0;break}if(c)for(;l>0&&this.buffer[l-2]>i;)this.buffer[l]=this.buffer[l-4],this.buffer[l+1]=this.buffer[l-3],this.buffer[l+2]=this.buffer[l-2],this.buffer[l+3]=this.buffer[l-1],l-=4,r>4&&(r-=4)}this.buffer[l]=e,this.buffer[l+1]=n,this.buffer[l+2]=i,this.buffer[l+3]=r}}shift(e,n,i,r){if(e&131072)this.pushState(e&65535,this.pos);else if((e&262144)==0){let s=e,{parser:l}=this.p;this.pos=r;let c=l.stateFlag(s,1);!c&&(r>i||n<=l.maxNode)&&(this.reducePos=r),this.pushState(s,c?i:Math.min(i,this.reducePos)),this.shiftContext(n,i),n<=l.maxNode&&this.buffer.push(n,i,r,4)}else this.pos=r,this.shiftContext(n,i),n<=this.p.parser.maxNode&&this.buffer.push(n,i,r,4)}apply(e,n,i,r){e&65536?this.reduce(e):this.shift(e,n,i,r)}useNode(e,n){let i=this.p.reused.length-1;(i<0||this.p.reused[i]!=e)&&(this.p.reused.push(e),i++);let r=this.pos;this.reducePos=this.pos=r+e.length,this.pushState(n,r),this.buffer.push(i,r,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,n=e.buffer.length;for(;n>0&&e.buffer[n-2]>e.reducePos;)n-=4;let i=e.buffer.slice(n),r=e.bufferBase+n;for(;e&&r==e.bufferBase;)e=e.parent;return new Wd(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,i,r,this.curContext,this.lookAhead,e)}recoverByDelete(e,n){let i=e<=this.p.parser.maxNode;i&&this.storeNode(e,this.pos,n,4),this.storeNode(0,this.pos,n,i?8:4),this.pos=this.reducePos=n,this.score-=190}canShift(e){for(let n=new jre(this);;){let i=this.p.parser.stateSlot(n.state,4)||this.p.parser.hasAction(n.state,e);if(i==0)return!1;if((i&65536)==0)return!0;n.reduce(i)}}recoverByInsert(e){if(this.stack.length>=300)return[];let n=this.p.parser.nextStates(this.state);if(n.length>8||this.stack.length>=120){let r=[];for(let s=0,l;s<n.length;s+=2)(l=n[s+1])!=this.state&&this.p.parser.hasAction(l,e)&&r.push(n[s],l);if(this.stack.length<120)for(let s=0;r.length<8&&s<n.length;s+=2){let l=n[s+1];r.some((c,u)=>u&1&&c==l)||r.push(n[s],l)}n=r}let i=[];for(let r=0;r<n.length&&i.length<4;r+=2){let s=n[r+1];if(s==this.state)continue;let l=this.split();l.pushState(s,this.pos),l.storeNode(0,l.pos,l.pos,4,!0),l.shiftContext(n[r],this.pos),l.reducePos=this.pos,l.score-=200,i.push(l)}return i}forceReduce(){let{parser:e}=this.p,n=e.stateSlot(this.state,5);if((n&65536)==0)return!1;if(!e.validAction(this.state,n)){let i=n>>19,r=n&65535,s=this.stack.length-i*3;if(s<0||e.getGoto(this.stack[s],r,!1)<0){let l=this.findForcedReduction();if(l==null)return!1;n=l}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(n),!0}findForcedReduction(){let{parser:e}=this.p,n=[],i=(r,s)=>{if(!n.includes(r))return n.push(r),e.allActions(r,l=>{if(!(l&393216))if(l&65536){let c=(l>>19)-s;if(c>1){let u=l&65535,h=this.stack.length-c*3;if(h>=0&&e.getGoto(this.stack[h],u,!1)>=0)return c<<19|65536|u}}else{let c=i(l,s+1);if(c!=null)return c}})};return i(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let n=0;n<this.stack.length;n+=3)if(this.stack[n]!=e.stack[n])return!1;return!0}get parser(){return this.p.parser}dialectEnabled(e){return this.p.parser.dialect.flags[e]}shiftContext(e,n){this.curContext&&this.updateContext(this.curContext.tracker.shift(this.curContext.context,e,this,this.p.stream.reset(n)))}reduceContext(e,n){this.curContext&&this.updateContext(this.curContext.tracker.reduce(this.curContext.context,e,this,this.p.stream.reset(n)))}emitContext(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-3)&&this.buffer.push(this.curContext.hash,this.pos,this.pos,-3)}emitLookAhead(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-4)&&this.buffer.push(this.lookAhead,this.pos,this.pos,-4)}updateContext(e){if(e!=this.curContext.context){let n=new G5(this.curContext.tracker,e);n.hash!=this.curContext.hash&&this.emitContext(),this.curContext=n}}setLookAhead(e){return e<=this.lookAhead?!1:(this.emitLookAhead(),this.lookAhead=e,!0)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}}class G5{constructor(e,n){this.tracker=e,this.context=n,this.hash=e.strict?e.hash(n):0}}class jre{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let n=e&65535,i=e>>19;i==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(i-1)*3;let r=this.start.p.parser.getGoto(this.stack[this.base-3],n,!0);this.state=r}}class Kd{constructor(e,n,i){this.stack=e,this.pos=n,this.index=i,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,n=e.bufferBase+e.buffer.length){return new Kd(e,n,n-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new Kd(this.stack,this.pos,this.index)}}function Gh(t,e=Uint16Array){if(typeof t!="string")return t;let n=null;for(let i=0,r=0;i<t.length;){let s=0;for(;;){let l=t.charCodeAt(i++),c=!1;if(l==126){s=65535;break}l>=92&&l--,l>=34&&l--;let u=l-32;if(u>=46&&(u-=46,c=!0),s+=u,c)break;s*=46}n?n[r++]=s:n=new e(s)}return n}class ld{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const Y5=new ld;class Ire{constructor(e,n){this.input=e,this.ranges=n,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=Y5,this.rangeIndex=0,this.pos=this.chunkPos=n[0].from,this.range=n[0],this.end=n[n.length-1].to,this.readNext()}resolveOffset(e,n){let i=this.range,r=this.rangeIndex,s=this.pos+e;for(;s<i.from;){if(!r)return null;let l=this.ranges[--r];s-=i.from-l.to,i=l}for(;n<0?s>i.to:s>=i.to;){if(r==this.ranges.length-1)return null;let l=this.ranges[++r];s+=l.from-i.to,i=l}return s}clipPos(e){if(e>=this.range.from&&e<this.range.to)return e;for(let n of this.ranges)if(n.to>e)return Math.max(e,n.from);return this.end}peek(e){let n=this.chunkOff+e,i,r;if(n>=0&&n<this.chunk.length)i=this.pos+e,r=this.chunk.charCodeAt(n);else{let s=this.resolveOffset(e,1);if(s==null)return-1;if(i=s,i>=this.chunk2Pos&&i<this.chunk2Pos+this.chunk2.length)r=this.chunk2.charCodeAt(i-this.chunk2Pos);else{let l=this.rangeIndex,c=this.range;for(;c.to<=i;)c=this.ranges[++l];this.chunk2=this.input.chunk(this.chunk2Pos=i),i+this.chunk2.length>c.to&&(this.chunk2=this.chunk2.slice(0,c.to-i)),r=this.chunk2.charCodeAt(0)}}return i>=this.token.lookAhead&&(this.token.lookAhead=i+1),r}acceptToken(e,n=0){let i=n?this.resolveOffset(n,-1):this.pos;if(i==null||i<this.token.start)throw new RangeError("Token end out of bounds");this.token.value=e,this.token.end=i}acceptTokenTo(e,n){this.token.value=e,this.token.end=n}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:e,chunkPos:n}=this;this.chunk=this.chunk2,this.chunkPos=this.chunk2Pos,this.chunk2=e,this.chunk2Pos=n,this.chunkOff=this.pos-this.chunkPos}else{this.chunk2=this.chunk,this.chunk2Pos=this.chunkPos;let e=this.input.chunk(this.pos),n=this.pos+e.length;this.chunk=n>this.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,n){if(n?(this.token=n,n.start=e,n.lookAhead=e+1,n.value=n.extended=-1):this.token=Y5,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e<this.range.from;)this.range=this.ranges[--this.rangeIndex];for(;e>=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e<this.chunkPos+this.chunk.length?this.chunkOff=e-this.chunkPos:(this.chunk="",this.chunkOff=0),this.readNext()}return this}read(e,n){if(e>=this.chunkPos&&n<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,n-this.chunkPos);if(e>=this.chunk2Pos&&n<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,n-this.chunk2Pos);if(e>=this.range.from&&n<=this.range.to)return this.input.read(e,n);let i="";for(let r of this.ranges){if(r.from>=n)break;r.to>e&&(i+=this.input.read(Math.max(r.from,e),Math.min(r.to,n)))}return i}}class ho{constructor(e,n){this.data=e,this.id=n}token(e,n){let{parser:i}=n.p;Pre(this.data,e,n,this.id,i.data,i.tokenPrecTable)}}ho.prototype.contextual=ho.prototype.fallback=ho.prototype.extend=!1;ho.prototype.fallback=ho.prototype.extend=!1;class Up{constructor(e,n={}){this.token=e,this.contextual=!!n.contextual,this.fallback=!!n.fallback,this.extend=!!n.extend}}function Pre(t,e,n,i,r,s){let l=0,c=1<<i,{dialect:u}=n.p.parser;e:for(;(c&t[l])!=0;){let h=t[l+1];for(let v=l+3;v<h;v+=2)if((t[v+1]&c)>0){let x=t[v];if(u.allows(x)&&(e.token.value==-1||e.token.value==x||Hre(x,e.token.value,r,s))){e.acceptToken(x);break}}let d=e.next,m=0,g=t[l+2];if(e.next<0&&g>m&&t[h+g*3-3]==65535){l=t[h+g*3-1];continue e}for(;m<g;){let v=m+g>>1,x=h+v+(v<<1),w=t[x],S=t[x+1]||65536;if(d<w)g=v;else if(d>=S)m=v+1;else{l=t[x+2],e.advance();continue e}}break}}function Q5(t,e,n){for(let i=e,r;(r=t[i])!=65535;i++)if(r==n)return i-e;return-1}function Hre(t,e,n,i){let r=Q5(n,i,e);return r<0||Q5(n,i,t)<r}const ii=typeof process<"u"&&$5&&/\bparse\b/.test($5.LOG);let yw=null;function X5(t,e,n){let i=t.cursor(Rt.IncludeAnonymous);for(i.moveTo(e);;)if(!(n<0?i.childBefore(e):i.childAfter(e)))for(;;){if((n<0?i.to<e:i.from>e)&&!i.type.isError)return n<0?Math.max(0,Math.min(i.to-1,e-25)):Math.min(t.length,Math.max(i.from+1,e+25));if(n<0?i.prevSibling():i.nextSibling())break;if(!i.parent())return n<0?0:t.length}}class Ure{constructor(e,n){this.fragments=e,this.nodeSet=n,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?X5(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?X5(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(e<this.nextStart)return null;for(;this.fragment&&this.safeTo<=e;)this.nextFragment();if(!this.fragment)return null;for(;;){let n=this.trees.length-1;if(n<0)return this.nextFragment(),null;let i=this.trees[n],r=this.index[n];if(r==i.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let s=i.children[r],l=this.start[n]+i.positions[r];if(l>e)return this.nextStart=l,null;if(s instanceof Pt){if(l==e){if(l<this.safeFrom)return null;let c=l+s.length;if(c<=this.safeTo){let u=s.prop(Xe.lookAhead);if(!u||c+u<this.fragment.to)return s}}this.index[n]++,l+s.length>=Math.max(this.safeFrom,e)&&(this.trees.push(s),this.start.push(l),this.index.push(0))}else this.index[n]++,this.nextStart=l+s.length}}}class Vre{constructor(e,n){this.stream=n,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(i=>new ld)}getActions(e){let n=0,i=null,{parser:r}=e.p,{tokenizers:s}=r,l=r.stateSlot(e.state,3),c=e.curContext?e.curContext.hash:0,u=0;for(let h=0;h<s.length;h++){if((1<<h&l)==0)continue;let d=s[h],m=this.tokens[h];if(!(i&&!d.fallback)&&((d.contextual||m.start!=e.pos||m.mask!=l||m.context!=c)&&(this.updateCachedToken(m,d,e),m.mask=l,m.context=c),m.lookAhead>m.end+25&&(u=Math.max(m.lookAhead,u)),m.value!=0)){let g=n;if(m.extended>-1&&(n=this.addActions(e,m.extended,m.end,n)),n=this.addActions(e,m.value,m.end,n),!d.extend&&(i=m,n>g))break}}for(;this.actions.length>n;)this.actions.pop();return u&&e.setLookAhead(u),!i&&e.pos==this.stream.end&&(i=new ld,i.value=e.p.parser.eofTerm,i.start=i.end=e.pos,n=this.addActions(e,i.value,i.end,n)),this.mainToken=i,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let n=new ld,{pos:i,p:r}=e;return n.start=i,n.end=Math.min(i+1,r.stream.end),n.value=i==r.stream.end?r.parser.eofTerm:0,n}updateCachedToken(e,n,i){let r=this.stream.clipPos(i.pos);if(n.token(this.stream.reset(r,e),i),e.value>-1){let{parser:s}=i.p;for(let l=0;l<s.specialized.length;l++)if(s.specialized[l]==e.value){let c=s.specializers[l](this.stream.read(e.start,e.end),i);if(c>=0&&i.p.parser.dialect.allows(c>>1)){(c&1)==0?e.value=c>>1:e.extended=c>>1;break}}}else e.value=0,e.end=this.stream.clipPos(r+1)}putAction(e,n,i,r){for(let s=0;s<r;s+=3)if(this.actions[s]==e)return r;return this.actions[r++]=e,this.actions[r++]=n,this.actions[r++]=i,r}addActions(e,n,i,r){let{state:s}=e,{parser:l}=e.p,{data:c}=l;for(let u=0;u<2;u++)for(let h=l.stateSlot(s,u?2:1);;h+=3){if(c[h]==65535)if(c[h+1]==1)h=Ur(c,h+2);else{r==0&&c[h+1]==2&&(r=this.putAction(Ur(c,h+2),n,i,r));break}c[h]==n&&(r=this.putAction(Ur(c,h+1),n,i,r))}return r}}class Fre{constructor(e,n,i,r){this.parser=e,this.input=n,this.ranges=r,this.recovering=0,this.nextStackID=9812,this.minStackPos=0,this.reused=[],this.stoppedAt=null,this.lastBigReductionStart=-1,this.lastBigReductionSize=0,this.bigReductionCount=0,this.stream=new Ire(n,r),this.tokens=new Vre(e,this.stream),this.topTerm=e.top[1];let{from:s}=r[0];this.stacks=[Wd.start(this,e.top[0],s)],this.fragments=i.length&&this.stream.end-s>e.bufferLength*4?new Ure(i,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,n=this.minStackPos,i=this.stacks=[],r,s;if(this.bigReductionCount>300&&e.length==1){let[l]=e;for(;l.forceReduce()&&l.stack.length&&l.stack[l.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let l=0;l<e.length;l++){let c=e[l];for(;;){if(this.tokens.mainToken=null,c.pos>n)i.push(c);else{if(this.advanceStack(c,i,e))continue;{r||(r=[],s=[]),r.push(c);let u=this.tokens.getMainToken(c);s.push(u.value,u.end)}}break}}if(!i.length){let l=r&&Yre(r);if(l)return ii&&console.log("Finish with "+this.stackID(l)),this.stackToTree(l);if(this.parser.strict)throw ii&&r&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+n);this.recovering||(this.recovering=5)}if(this.recovering&&r){let l=this.stoppedAt!=null&&r[0].pos>this.stoppedAt?r[0]:this.runRecovery(r,s,i);if(l)return ii&&console.log("Force-finish "+this.stackID(l)),this.stackToTree(l.forceAll())}if(this.recovering){let l=this.recovering==1?1:this.recovering*3;if(i.length>l)for(i.sort((c,u)=>u.score-c.score);i.length>l;)i.pop();i.some(c=>c.reducePos>n)&&this.recovering--}else if(i.length>1){e:for(let l=0;l<i.length-1;l++){let c=i[l];for(let u=l+1;u<i.length;u++){let h=i[u];if(c.sameState(h)||c.buffer.length>500&&h.buffer.length>500)if((c.score-h.score||c.buffer.length-h.buffer.length)>0)i.splice(u--,1);else{i.splice(l--,1);continue e}}}i.length>12&&(i.sort((l,c)=>c.score-l.score),i.splice(12,i.length-12))}this.minStackPos=i[0].pos;for(let l=1;l<i.length;l++)i[l].pos<this.minStackPos&&(this.minStackPos=i[l].pos);return null}stopAt(e){if(this.stoppedAt!=null&&this.stoppedAt<e)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=e}advanceStack(e,n,i){let r=e.pos,{parser:s}=this,l=ii?this.stackID(e)+" -> ":"";if(this.stoppedAt!=null&&r>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let h=e.curContext&&e.curContext.tracker.strict,d=h?e.curContext.hash:0;for(let m=this.fragments.nodeAt(r);m;){let g=this.parser.nodeSet.types[m.type.id]==m.type?s.getGoto(e.state,m.type.id):-1;if(g>-1&&m.length&&(!h||(m.prop(Xe.contextHash)||0)==d))return e.useNode(m,g),ii&&console.log(l+this.stackID(e)+` (via reuse of ${s.getName(m.type.id)})`),!0;if(!(m instanceof Pt)||m.children.length==0||m.positions[0]>0)break;let v=m.children[0];if(v instanceof Pt&&m.positions[0]==0)m=v;else break}}let c=s.stateSlot(e.state,4);if(c>0)return e.reduce(c),ii&&console.log(l+this.stackID(e)+` (via always-reduce ${s.getName(c&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let u=this.tokens.getActions(e);for(let h=0;h<u.length;){let d=u[h++],m=u[h++],g=u[h++],v=h==u.length||!i,x=v?e:e.split(),w=this.tokens.mainToken;if(x.apply(d,m,w?w.start:x.pos,g),ii&&console.log(l+this.stackID(x)+` (via ${(d&65536)==0?"shift":`reduce of ${s.getName(d&65535)}`} for ${s.getName(m)} @ ${r}${x==e?"":", split"})`),v)return!0;x.pos>r?n.push(x):i.push(x)}return!1}advanceFully(e,n){let i=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>i)return W5(e,n),!0}}runRecovery(e,n,i){let r=null,s=!1;for(let l=0;l<e.length;l++){let c=e[l],u=n[l<<1],h=n[(l<<1)+1],d=ii?this.stackID(c)+" -> ":"";if(c.deadEnd&&(s||(s=!0,c.restart(),ii&&console.log(d+this.stackID(c)+" (restarted)"),this.advanceFully(c,i))))continue;let m=c.split(),g=d;for(let v=0;v<10&&m.forceReduce()&&(ii&&console.log(g+this.stackID(m)+" (via force-reduce)"),!this.advanceFully(m,i));v++)ii&&(g=this.stackID(m)+" -> ");for(let v of c.recoverByInsert(u))ii&&console.log(d+this.stackID(v)+" (via recover-insert)"),this.advanceFully(v,i);this.stream.end>c.pos?(h==c.pos&&(h++,u=0),c.recoverByDelete(u,h),ii&&console.log(d+this.stackID(c)+` (via recover-delete ${this.parser.getName(u)})`),W5(c,i)):(!r||r.score<m.score)&&(r=m)}return r}stackToTree(e){return e.close(),Pt.build({buffer:Kd.create(e),nodeSet:this.parser.nodeSet,topID:this.topTerm,maxBufferLength:this.parser.bufferLength,reused:this.reused,start:this.ranges[0].from,length:e.pos-this.ranges[0].from,minRepeatType:this.parser.minRepeatTerm})}stackID(e){let n=(yw||(yw=new WeakMap)).get(e);return n||yw.set(e,n=String.fromCodePoint(this.nextStackID++)),n+e}}function W5(t,e){for(let n=0;n<e.length;n++){let i=e[n];if(i.pos==t.pos&&i.sameState(t)){e[n].score<t.score&&(e[n]=t);return}}e.push(t)}class $re{constructor(e,n,i){this.source=e,this.flags=n,this.disabled=i}allows(e){return!this.disabled||this.disabled[e]==0}}const vw=t=>t;class Gre{constructor(e){this.start=e.start,this.shift=e.shift||vw,this.reduce=e.reduce||vw,this.reuse=e.reuse||vw,this.hash=e.hash||(()=>0),this.strict=e.strict!==!1}}class Zd extends tq{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let n=e.nodeNames.split(" ");this.minRepeatTerm=n.length;for(let c=0;c<e.repeatNodeCount;c++)n.push("");let i=Object.keys(e.topRules).map(c=>e.topRules[c][1]),r=[];for(let c=0;c<n.length;c++)r.push([]);function s(c,u,h){r[c].push([u,u.deserialize(String(h))])}if(e.nodeProps)for(let c of e.nodeProps){let u=c[0];typeof u=="string"&&(u=Xe[u]);for(let h=1;h<c.length;){let d=c[h++];if(d>=0)s(d,u,c[h++]);else{let m=c[h+-d];for(let g=-d;g>0;g--)s(c[h++],u,m);h++}}}this.nodeSet=new iC(n.map((c,u)=>Yn.define({name:u>=this.minRepeatTerm?void 0:c,id:u,props:r[u],top:i.indexOf(u)>-1,error:u==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(u)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=K6;let l=Gh(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let c=0;c<this.specializerSpecs.length;c++)this.specialized[c]=this.specializerSpecs[c].term;this.specializers=this.specializerSpecs.map(K5),this.states=Gh(e.states,Uint32Array),this.data=Gh(e.stateData),this.goto=Gh(e.goto),this.maxTerm=e.maxTerm,this.tokenizers=e.tokenizers.map(c=>typeof c=="number"?new ho(l,c):c),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,n,i){let r=new Fre(this,e,n,i);for(let s of this.wrappers)r=s(r,e,n,i);return r}getGoto(e,n,i=!1){let r=this.goto;if(n>=r[0])return-1;for(let s=r[n+1];;){let l=r[s++],c=l&1,u=r[s++];if(c&&i)return u;for(let h=s+(l>>1);s<h;s++)if(r[s]==e)return u;if(c)return-1}}hasAction(e,n){let i=this.data;for(let r=0;r<2;r++)for(let s=this.stateSlot(e,r?2:1),l;;s+=3){if((l=i[s])==65535)if(i[s+1]==1)l=i[s=Ur(i,s+2)];else{if(i[s+1]==2)return Ur(i,s+2);break}if(l==n||l==0)return Ur(i,s+1)}return 0}stateSlot(e,n){return this.states[e*6+n]}stateFlag(e,n){return(this.stateSlot(e,0)&n)>0}validAction(e,n){return!!this.allActions(e,i=>i==n?!0:null)}allActions(e,n){let i=this.stateSlot(e,4),r=i?n(i):void 0;for(let s=this.stateSlot(e,1);r==null;s+=3){if(this.data[s]==65535)if(this.data[s+1]==1)s=Ur(this.data,s+2);else break;r=n(Ur(this.data,s+1))}return r}nextStates(e){let n=[];for(let i=this.stateSlot(e,1);;i+=3){if(this.data[i]==65535)if(this.data[i+1]==1)i=Ur(this.data,i+2);else break;if((this.data[i+2]&1)==0){let r=this.data[i+1];n.some((s,l)=>l&1&&s==r)||n.push(this.data[i],r)}}return n}configure(e){let n=Object.assign(Object.create(Zd.prototype),this);if(e.props&&(n.nodeSet=this.nodeSet.extend(...e.props)),e.top){let i=this.topRules[e.top];if(!i)throw new RangeError(`Invalid top rule name ${e.top}`);n.top=i}return e.tokenizers&&(n.tokenizers=this.tokenizers.map(i=>{let r=e.tokenizers.find(s=>s.from==i);return r?r.to:i})),e.specializers&&(n.specializers=this.specializers.slice(),n.specializerSpecs=this.specializerSpecs.map((i,r)=>{let s=e.specializers.find(c=>c.from==i.external);if(!s)return i;let l=Object.assign(Object.assign({},i),{external:s.to});return n.specializers[r]=K5(l),l})),e.contextTracker&&(n.context=e.contextTracker),e.dialect&&(n.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(n.strict=e.strict),e.wrap&&(n.wrappers=n.wrappers.concat(e.wrap)),e.bufferLength!=null&&(n.bufferLength=e.bufferLength),n}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let n=this.dynamicPrecedences;return n==null?0:n[e]||0}parseDialect(e){let n=Object.keys(this.dialects),i=n.map(()=>!1);if(e)for(let s of e.split(" ")){let l=n.indexOf(s);l>=0&&(i[l]=!0)}let r=null;for(let s=0;s<n.length;s++)if(!i[s])for(let l=this.dialects[n[s]],c;(c=this.data[l++])!=65535;)(r||(r=new Uint8Array(this.maxTerm+1)))[c]=1;return new $re(e,i,r)}static deserialize(e){return new Zd(e)}}function Ur(t,e){return t[e]|t[e+1]<<16}function Yre(t){let e=null;for(let n of t){let i=n.p.stoppedAt;(n.pos==n.p.stream.end||i!=null&&n.pos>i)&&n.p.parser.stateFlag(n.state,2)&&(!e||e.score<n.score)&&(e=n)}return e}function K5(t){if(t.external){let e=t.extend?1:0;return(n,i)=>t.external(n,i)<<1|e}return t.get}const Yl=63,Z5=64,Qre=1,Xre=2,kB=3,Wre=4,AB=5,Kre=6,Zre=7,_B=65,Jre=66,ese=8,tse=9,nse=10,ise=11,rse=12,EB=13,sse=19,ase=20,lse=29,ose=33,cse=34,use=47,fse=0,SC=1,PS=2,Mu=3,HS=4;class Ma{constructor(e,n,i){this.parent=e,this.depth=n,this.type=i,this.hash=(e?e.hash+e.hash<<8:0)+n+(n<<4)+i}}Ma.top=new Ma(null,-1,fse);function tu(t,e){for(let n=0,i=e-t.pos-1;;i--,n++){let r=t.peek(i);if(Zr(r)||r==-1)return n}}function US(t){return t==32||t==9}function Zr(t){return t==10||t==13}function OB(t){return US(t)||Zr(t)}function Ba(t){return t<0||OB(t)}const hse=new Gre({start:Ma.top,reduce(t,e){return t.type==Mu&&(e==ase||e==cse)?t.parent:t},shift(t,e,n,i){if(e==kB)return new Ma(t,tu(i,i.pos),SC);if(e==_B||e==AB)return new Ma(t,tu(i,i.pos),PS);if(e==Yl)return t.parent;if(e==sse||e==ose)return new Ma(t,0,Mu);if(e==EB&&t.type==HS)return t.parent;if(e==use){let r=/[1-9]/.exec(i.read(i.pos,n.pos));if(r)return new Ma(t,t.depth+ +r[0],HS)}return t},hash(t){return t.hash}});function Ao(t,e,n=0){return t.peek(n)==e&&t.peek(n+1)==e&&t.peek(n+2)==e&&Ba(t.peek(n+3))}const dse=new Up((t,e)=>{if(t.next==-1&&e.canShift(Z5))return t.acceptToken(Z5);let n=t.peek(-1);if((Zr(n)||n<0)&&e.context.type!=Mu){if(Ao(t,45))if(e.canShift(Yl))t.acceptToken(Yl);else return t.acceptToken(Qre,3);if(Ao(t,46))if(e.canShift(Yl))t.acceptToken(Yl);else return t.acceptToken(Xre,3);let i=0;for(;t.next==32;)i++,t.advance();(i<e.context.depth||i==e.context.depth&&e.context.type==SC&&(t.next!=45||!Ba(t.peek(1))))&&t.next!=-1&&!Zr(t.next)&&t.next!=35&&t.acceptToken(Yl,-i)}},{contextual:!0}),pse=new Up((t,e)=>{if(e.context.type==Mu){t.next==63&&(t.advance(),Ba(t.next)&&t.acceptToken(Zre));return}if(t.next==45)t.advance(),Ba(t.next)&&t.acceptToken(e.context.type==SC&&e.context.depth==tu(t,t.pos-1)?Wre:kB);else if(t.next==63)t.advance(),Ba(t.next)&&t.acceptToken(e.context.type==PS&&e.context.depth==tu(t,t.pos-1)?Kre:AB);else{let n=t.pos;for(;;)if(US(t.next)){if(t.pos==n)return;t.advance()}else if(t.next==33)TB(t);else if(t.next==38)VS(t);else if(t.next==42){VS(t);break}else if(t.next==39||t.next==34){if(CC(t,!0))break;return}else if(t.next==91||t.next==123){if(!gse(t))return;break}else{MB(t,!0,!1,0);break}for(;US(t.next);)t.advance();if(t.next==58){if(t.pos==n&&e.canShift(lse))return;let i=t.peek(1);Ba(i)&&t.acceptTokenTo(e.context.type==PS&&e.context.depth==tu(t,n)?Jre:_B,n)}}},{contextual:!0});function mse(t){return t>32&&t<127&&t!=34&&t!=37&&t!=44&&t!=60&&t!=62&&t!=92&&t!=94&&t!=96&&t!=123&&t!=124&&t!=125}function J5(t){return t>=48&&t<=57||t>=97&&t<=102||t>=65&&t<=70}function e4(t,e){return t.next==37?(t.advance(),J5(t.next)&&t.advance(),J5(t.next)&&t.advance(),!0):mse(t.next)||e&&t.next==44?(t.advance(),!0):!1}function TB(t){if(t.advance(),t.next==60){for(t.advance();;)if(!e4(t,!0)){t.next==62&&t.advance();break}}else for(;e4(t,!1););}function VS(t){for(t.advance();!Ba(t.next)&&Jd(t.next)!="f";)t.advance()}function CC(t,e){let n=t.next,i=!1,r=t.pos;for(t.advance();;){let s=t.next;if(s<0)break;if(t.advance(),s==n)if(s==39)if(t.next==39)t.advance();else break;else break;else if(s==92&&n==34)t.next>=0&&t.advance();else if(Zr(s)){if(e)return!1;i=!0}else if(e&&t.pos>=r+1024)return!1}return!i}function gse(t){for(let e=[],n=t.pos+1024;;)if(t.next==91||t.next==123)e.push(t.next),t.advance();else if(t.next==39||t.next==34){if(!CC(t,!0))return!1}else if(t.next==93||t.next==125){if(e[e.length-1]!=t.next-2)return!1;if(e.pop(),t.advance(),!e.length)return!0}else{if(t.next<0||t.pos>n||Zr(t.next))return!1;t.advance()}}const yse="iiisiiissisfissssssssssssisssiiissssssssssssssssssssssssssfsfssissssssssssssssssssssssssssfif";function Jd(t){return t<33?"u":t>125?"s":yse[t-33]}function bw(t,e){let n=Jd(t);return n!="u"&&!(e&&n=="f")}function MB(t,e,n,i){if(Jd(t.next)=="s"||(t.next==63||t.next==58||t.next==45)&&bw(t.peek(1),n))t.advance();else return!1;let r=t.pos;for(;;){let s=t.next,l=0,c=i+1;for(;OB(s);){if(Zr(s)){if(e)return!1;c=0}else c++;s=t.peek(++l)}if(!(s>=0&&(s==58?bw(t.peek(l+1),n):s==35?t.peek(l-1)!=32:bw(s,n)))||!n&&c<=i||c==0&&!n&&(Ao(t,45,l)||Ao(t,46,l)))break;if(e&&Jd(s)=="f")return!1;for(let h=l;h>=0;h--)t.advance();if(e&&t.pos>r+1024)return!1}return!0}const vse=new Up((t,e)=>{if(t.next==33)TB(t),t.acceptToken(rse);else if(t.next==38||t.next==42){let n=t.next==38?nse:ise;VS(t),t.acceptToken(n)}else t.next==39||t.next==34?(CC(t,!1),t.acceptToken(tse)):MB(t,!1,e.context.type==Mu,e.context.depth)&&t.acceptToken(ese)}),bse=new Up((t,e)=>{let n=e.context.type==HS?e.context.depth:-1,i=t.pos;e:for(;;){let r=0,s=t.next;for(;s==32;)s=t.peek(++r);if(!r&&(Ao(t,45,r)||Ao(t,46,r))||!Zr(s)&&(n<0&&(n=Math.max(e.context.depth+1,r)),r<n))break;for(;;){if(t.next<0)break e;let l=Zr(t.next);if(t.advance(),l)continue e;i=t.pos}}t.acceptTokenTo(EB,i)}),xse=nq({DirectiveName:oe.keyword,DirectiveContent:oe.attributeValue,"DirectiveEnd DocEnd":oe.meta,QuotedLiteral:oe.string,BlockLiteralHeader:oe.special(oe.string),BlockLiteralContent:oe.content,Literal:oe.content,"Key/Literal Key/QuotedLiteral":oe.definition(oe.propertyName),"Anchor Alias":oe.labelName,Tag:oe.typeName,Comment:oe.lineComment,": , -":oe.separator,"?":oe.punctuation,"[ ]":oe.squareBracket,"{ }":oe.brace}),wse=Zd.deserialize({version:14,states:"5lQ!ZQgOOO#PQfO'#CpO#uQfO'#DOOOQR'#Dv'#DvO$qQgO'#DRO%gQdO'#DUO%nQgO'#DUO&ROaO'#D[OOQR'#Du'#DuO&{QgO'#D^O'rQgO'#D`OOQR'#Dt'#DtO(iOqO'#DbOOQP'#Dj'#DjO(zQaO'#CmO)YQgO'#CmOOQP'#Cm'#CmQ)jQaOOQ)uQgOOQ]QgOOO*PQdO'#CrO*nQdO'#CtOOQO'#Dw'#DwO+]Q`O'#CxO+hQdO'#CwO+rQ`O'#CwOOQO'#Cv'#CvO+wQdO'#CvOOQO'#Cq'#CqO,UQ`O,59[O,^QfO,59[OOQR,59[,59[OOQO'#Cx'#CxO,eQ`O'#DPO,pQdO'#DPOOQO'#Dx'#DxO,zQdO'#DxO-XQ`O,59jO-aQfO,59jOOQR,59j,59jOOQR'#DS'#DSO-hQcO,59mO-sQgO'#DVO.TQ`O'#DVO.YQcO,59pOOQR'#DX'#DXO#|QfO'#DWO.hQcO'#DWOOQR,59v,59vO.yOWO,59vO/OOaO,59vO/WOaO,59vO/cQgO'#D_OOQR,59x,59xO0VQgO'#DaOOQR,59z,59zOOQP,59|,59|O0yOaO,59|O1ROaO,59|O1aOqO,59|OOQP-E7h-E7hO1oQgO,59XOOQP,59X,59XO2PQaO'#DeO2_QgO'#DeO2oQgO'#DkOOQP'#Dk'#DkQ)jQaOOO3PQdO'#CsOOQO,59^,59^O3kQdO'#CuOOQO,59`,59`OOQO,59c,59cO4VQdO,59cO4aQdO'#CzO4kQ`O'#CzOOQO,59b,59bOOQU,5:Q,5:QOOQR1G.v1G.vO4pQ`O1G.vOOQU-E7d-E7dO4xQdO,59kOOQO,59k,59kO5SQdO'#DQO5^Q`O'#DQOOQO,5:d,5:dOOQU,5:R,5:ROOQR1G/U1G/UO5cQ`O1G/UOOQU-E7e-E7eO5kQgO'#DhO5xQcO1G/XOOQR1G/X1G/XOOQR,59q,59qO6TQgO,59qO6eQdO'#DiO6lQgO'#DiO7PQcO1G/[OOQR1G/[1G/[OOQR,59r,59rO#|QfO,59rOOQR1G/b1G/bO7_OWO1G/bO7dOaO1G/bOOQR,59y,59yOOQR,59{,59{OOQP1G/h1G/hO7lOaO1G/hO7tOaO1G/hO8POaO1G/hOOQP1G.s1G.sO8_QgO,5:POOQP,5:P,5:POOQP,5:V,5:VOOQP-E7i-E7iOOQO,59_,59_OOQO,59a,59aOOQO1G.}1G.}OOQO,59f,59fO8oQdO,59fOOQR7+$b7+$bP,XQ`O'#DfOOQO1G/V1G/VOOQO,59l,59lO8yQdO,59lOOQR7+$p7+$pP9TQ`O'#DgOOQR'#DT'#DTOOQR,5:S,5:SOOQR-E7f-E7fOOQR7+$s7+$sOOQR1G/]1G/]O9YQgO'#DYO9jQ`O'#DYOOQR,5:T,5:TO#|QfO'#DZO9oQcO'#DZOOQR-E7g-E7gOOQR7+$v7+$vOOQR1G/^1G/^OOQR7+$|7+$|O:QOWO7+$|OOQP7+%S7+%SO:VOaO7+%SO:_OaO7+%SOOQP1G/k1G/kOOQO1G/Q1G/QOOQO1G/W1G/WOOQR,59t,59tO:jQgO,59tOOQR,59u,59uO#|QfO,59uOOQR<<Hh<<HhOOQP<<Hn<<HnO:zOaO<<HnOOQR1G/`1G/`OOQR1G/a1G/aOOQPAN>YAN>Y",stateData:";S~O!fOS!gOS^OS~OP_OQbORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!V[O!cTO~O`cO~P]OVkOWROXROYeOZfO[dOcPOmhOqQO~OboO~P!bOVtOWROXROYeOZfO[dOcPOmrOqQO~OpwO~P#WORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!cTO~OSvP!avP!bvP~P#|OWROXROYeOZfO[dOcPOqQO~OmzO~P%OOm!OOUzP!azP!bzP!dzP~P#|O^!SO!b!QO!f!TO!g!RO~ORSOTUOWROXROcPOqQO!PVO!cTO~OY!UOP!QXQ!QX!V!QX!`!QXS!QX!a!QX!b!QXU!QXm!QX!d!QX~P&aO[!WOP!SXQ!SX!V!SX!`!SXS!SX!a!SX!b!SXU!SXm!SX!d!SX~P&aO^!ZO!W![O!b!YO!f!]O!g!YO~OP!_O!V[OQaX!`aX~OPaXQaX!VaX!`aX~P#|OP!bOQ!cO!V[O~OP_O!V[O~P#|OWROXROY!fOcPOqQObfXmfXofXpfX~OWROXRO[!hOcPOqQObhXmhXohXphX~ObeXmlXoeX~ObkXokX~P%OOm!kO~Om!lObnPonP~P%OOb!pOo!oO~Ob!pO~P!bOm!sOosXpsX~OosXpsX~P%OOm!uOotPptP~P%OOo!xOp!yO~Op!yO~P#WOS!|O!a#OO!b#OO~OUyX!ayX!byX!dyX~P#|Om#QO~OU#SO!a#UO!b#UO!d#RO~Om#WOUzX!azX!bzX!dzX~O]#XO~O!b#XO!g#YO~O^#ZO!b#XO!g#YO~OP!RXQ!RX!V!RX!`!RXS!RX!a!RX!b!RXU!RXm!RX!d!RX~P&aOP!TXQ!TX!V!TX!`!TXS!TX!a!TX!b!TXU!TXm!TX!d!TX~P&aO!b#^O!g#^O~O^#_O!b#^O!f#`O!g#^O~O^#_O!W#aO!b#^O!g#^O~OPaaQaa!Vaa!`aa~P#|OP#cO!V[OQ!XX!`!XX~OP!XXQ!XX!V!XX!`!XX~P#|OP_O!V[OQ!_X!`!_X~P#|OWROXROcPOqQObgXmgXogXpgX~OWROXROcPOqQObiXmiXoiXpiX~Obkaoka~P%OObnXonX~P%OOm#kO~Ob#lOo!oO~Oosapsa~P%OOotXptX~P%OOm#pO~Oo!xOp#qO~OSwP!awP!bwP~P#|OS!|O!a#vO!b#vO~OUya!aya!bya!dya~P#|Om#xO~P%OOm#{OU}P!a}P!b}P!d}P~P#|OU#SO!a$OO!b$OO!d#RO~O]$QO~O!b$QO!g$RO~O!b$SO!g$SO~O^$TO!b$SO!g$SO~O^$TO!b$SO!f$UO!g$SO~OP!XaQ!Xa!V!Xa!`!Xa~P#|Obnaona~P%OOotapta~P%OOo!xO~OU|X!a|X!b|X!d|X~P#|Om$ZO~Om$]OU}X!a}X!b}X!d}X~O]$^O~O!b$_O!g$_O~O^$`O!b$_O!g$_O~OU|a!a|a!b|a!d|a~P#|O!b$cO!g$cO~O",goto:",]!mPPPPPPPPPPPPPPPPP!nPP!v#v#|$`#|$c$f$j$nP%VPPP!v%Y%^%a%{&O%a&R&U&X&_&b%aP&e&{&e'O'RPP']'a'g'm's'y(XPPPPPPPP(_)e*X+c,VUaObcR#e!c!{ROPQSTUXY_bcdehknrtvz!O!U!W!_!b!c!f!h!k!l!s!u!|#Q#R#S#W#c#k#p#x#{$Z$]QmPR!qnqfPQThknrtv!k!l!s!u#R#k#pR!gdR!ieTlPnTjPnSiPnSqQvQ{TQ!mkQ!trQ!vtR#y#RR!nkTsQvR!wt!RWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]RySR#t!|R|TR|UQ!PUR#|#SR#z#RR#z#SyZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]R!VXR!XYa]O^abc!a!c!eT!da!eQnPR!rnQvQR!{vQ!}yR#u!}Q#T|R#}#TW^Obc!cS!^^!aT!aa!eQ!eaR#f!eW`Obc!cQxSS}U#SQ!`_Q#PzQ#V!OQ#b!_Q#d!bQ#s!|Q#w#QQ$P#WQ$V#cQ$Y#xQ$[#{Q$a$ZR$b$]xZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]Q!VXQ!XYQ#[!UR#]!W!QWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]pfPQThknrtv!k!l!s!u#R#k#pQ!gdQ!ieQ#g!fR#h!hSgPn^pQTkrtv#RQ!jhQ#i!kQ#j!lQ#n!sQ#o!uQ$W#kR$X#pQuQR!zv",nodeNames:"⚠ DirectiveEnd DocEnd - - ? ? ? Literal QuotedLiteral Anchor Alias Tag BlockLiteralContent Comment Stream BOM Document ] [ FlowSequence Item Tagged Anchored Anchored Tagged FlowMapping Pair Key : Pair , } { FlowMapping Pair Pair BlockSequence Item Item BlockMapping Pair Pair Key Pair Pair BlockLiteral BlockLiteralHeader Tagged Anchored Anchored Tagged Directive DirectiveName DirectiveContent Document",maxTerm:74,context:hse,nodeProps:[["isolate",-3,8,9,14,""],["openedBy",18,"[",32,"{"],["closedBy",19,"]",33,"}"]],propSources:[xse],skippedNodes:[0],repeatNodeCount:6,tokenData:"-Y~RnOX#PXY$QYZ$]Z]#P]^$]^p#Ppq$Qqs#Pst$btu#Puv$yv|#P|}&e}![#P![!]'O!]!`#P!`!a'i!a!}#P!}#O*g#O#P#P#P#Q+Q#Q#o#P#o#p+k#p#q'i#q#r,U#r;'S#P;'S;=`#z<%l?HT#P?HT?HU,o?HUO#PQ#UU!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PQ#kTOY#PZs#Pt;'S#P;'S;=`#z<%lO#PQ#}P;=`<%l#P~$VQ!f~XY$Qpq$Q~$bO!g~~$gS^~OY$bZ;'S$b;'S;=`$s<%lO$b~$vP;=`<%l$bR%OX!WQOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR%rX!WQ!VPOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR&bP;=`<%l%kR&lUoP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'VUmP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'p[!PP!WQOY#PZp#Ppq#hq{#P{|(f|}#P}!O(f!O!R#P!R![)p![;'S#P;'S;=`#z<%lO#PR(mW!PP!WQOY#PZp#Ppq#hq!R#P!R![)V![;'S#P;'S;=`#z<%lO#PR)^U!PP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR)wY!PP!WQOY#PZp#Ppq#hq{#P{|)V|}#P}!O)V!O;'S#P;'S;=`#z<%lO#PR*nUcP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+XUbP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+rUqP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,]UpP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,vU`P!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#P",tokenizers:[dse,pse,vse,bse,0,1],topRules:{Stream:[0,15]},tokenPrec:0}),Sse=qd.define({name:"yaml",parser:wse.configure({props:[aq.add({Stream:t=>{for(let e=t.node.resolve(t.pos,-1);e&&e.to>=t.pos;e=e.parent){if(e.name=="BlockLiteralContent"&&e.from<e.to)return t.baseIndentFor(e);if(e.name=="BlockLiteral")return t.baseIndentFor(e)+t.unit;if(e.name=="BlockSequence"||e.name=="BlockMapping")return t.column(e.from,1);if(e.name=="QuotedLiteral")return null;if(e.name=="Literal"){let n=t.column(e.from,1);if(n==t.lineIndent(e.from,1))return n;if(e.to>t.pos)return null}}return null},FlowMapping:l5({closing:"}"}),FlowSequence:l5({closing:"]"})}),cq.add({"FlowMapping FlowSequence":tte,"Item Pair BlockLiteral":(t,e)=>({from:e.doc.lineAt(t.from).to,to:t.to})})]}),languageData:{commentTokens:{line:"#"},indentOnInput:/^\s*[\]\}]$/}});function Cse(){return new Fee(Sse)}const kse=()=>{const{error:t,isCliMode:e,yamlInput:n,setYamlInput:i,parseAndSetSchema:r,isAutoSaveEnabled:s,setIsAutoSaveEnabled:l,savingStatus:c,saveSchema:u,lastUpdateSource:h,theme:d}=Xt(),[m,g]=Q.useState(n),v=Q.useRef(null),x=Q.useRef(null),w=Q.useRef(!0);Q.useEffect(()=>{if(!x.current?.view)return;const O=x.current.view,T=O.state.doc.toString();if(w.current&&n){O.dispatch({changes:{from:0,to:T.length,insert:n},annotations:Qt.addToHistory.of(!1)}),g(n),w.current=!1;return}h==="visual"&&T!==n&&(O.dispatch({changes:{from:0,to:T.length,insert:n},userEvent:"visual-edit"}),g(n))},[n,h]);const S=Q.useCallback(O=>{g(O),!(!O||O.trim()==="")&&(v.current&&clearTimeout(v.current),v.current=setTimeout(()=>{i(O),r(O)},300))},[i,r]),k=async()=>{r(m),e&&await u(!0)},A=()=>{x.current?.view&&fC(x.current.view)},E=()=>{x.current?.view&&Hd(x.current.view)};return C.jsxs("div",{className:"flex-1 flex flex-col gap-3 overflow-hidden p-4 pt-2 h-full sidebar-content",children:[C.jsxs("div",{className:"flex items-center justify-between px-1",children:[e?C.jsxs("div",{className:"flex items-center gap-4",children:[C.jsxs("label",{className:"flex items-center gap-2 cursor-pointer group",children:[C.jsx("div",{className:`relative w-7 h-4 rounded-full transition-colors ${s?"bg-blue-600":"bg-slate-300 dark:bg-slate-700"}`,onClick:()=>l(!s),children:C.jsx("div",{className:`absolute top-0.5 left-0.5 w-3 h-3 bg-white rounded-full transition-transform ${s?"translate-x-3":"translate-x-0"}`})}),C.jsx("span",{className:`text-[10px] font-bold uppercase tracking-widest ${d==="dark"?"text-slate-500 group-hover:text-slate-400":"text-slate-400 group-hover:text-slate-600"}`,children:"Auto-save"})]}),C.jsxs("div",{className:"flex items-center gap-1.5 min-w-[60px]",children:[c==="saving"&&C.jsxs("div",{className:"flex items-center gap-1 text-slate-400 animate-pulse",children:[C.jsx(EW,{size:10,className:"animate-spin"}),C.jsx("span",{className:"text-[9px] font-bold uppercase",children:"Saving"})]}),c==="saved"&&C.jsxs("div",{className:"flex items-center gap-1 text-emerald-500",children:[C.jsx(oW,{size:10}),C.jsx("span",{className:"text-[9px] font-bold uppercase tracking-wider",children:"Saved"})]}),c==="error"&&C.jsxs("div",{className:"flex items-center gap-1 text-red-500",children:[C.jsx(Zh,{size:10}),C.jsx("span",{className:"text-[9px] font-bold uppercase",children:"Error"})]})]})]}):C.jsxs("div",{className:"flex items-center gap-2 px-2 py-1 bg-blue-500/10 border border-blue-500/30 rounded-md",children:[C.jsx(Zh,{size:12,className:"text-blue-400"}),C.jsx("span",{className:"text-[10px] text-blue-300 font-medium uppercase tracking-tight",children:"Sandbox Mode"})]}),C.jsxs("div",{className:"flex items-center gap-3",children:[C.jsxs("div",{className:`flex rounded-lg p-0.5 border ${d==="dark"?"bg-slate-800/50 border-slate-700/50":"bg-slate-100 border-slate-200"}`,children:[C.jsx("button",{onClick:A,className:`p-1.5 rounded-md transition-all active:scale-95 ${d==="dark"?"text-slate-400 hover:bg-slate-700 hover:text-slate-100":"text-slate-500 hover:bg-white hover:text-blue-600 hover:shadow-sm"}`,title:"Undo (Ctrl+Z)",children:C.jsx(nK,{size:14})}),C.jsx("div",{className:`w-px h-4 self-center mx-0.5 ${d==="dark"?"bg-slate-700/50":"bg-slate-200"}`}),C.jsx("button",{onClick:E,className:`p-1.5 rounded-md transition-all active:scale-95 ${d==="dark"?"text-slate-400 hover:bg-slate-700 hover:text-slate-100":"text-slate-500 hover:bg-white hover:text-blue-600 hover:shadow-sm"}`,title:"Redo (Ctrl+Y)",children:C.jsx(PW,{size:14})})]}),C.jsxs("div",{className:"flex items-center gap-1 text-slate-400 dark:text-slate-600 cursor-help",title:"Pro Tip: Use Ctrl+Z to undo visual changes!",children:[C.jsx(bW,{size:12}),C.jsx("span",{className:"text-[9px] font-bold uppercase tracking-tighter",children:"Undo Active"})]})]})]}),C.jsxs("div",{className:`relative flex-1 flex flex-col min-h-0 border rounded-md overflow-hidden transition-colors ${d==="dark"?"border-slate-700 bg-[#282c34]":"border-slate-200 bg-white"}`,children:[C.jsx(CB,{ref:x,value:m,height:"100%",theme:d==="dark"?SB:"light",extensions:[Cse()],onChange:S,basicSetup:{lineNumbers:!0,foldGutter:!0,highlightActiveLine:!0},className:"flex-1 text-sm overflow-auto"}),t&&m===n&&C.jsxs("div",{className:"absolute bottom-4 left-4 right-4 p-3 bg-red-900/90 border border-red-500/50 rounded-md text-red-100 text-xs flex gap-2 items-start z-10 shadow-2xl backdrop-blur-sm animate-in fade-in slide-in-from-bottom-2",children:[C.jsx(Zh,{size:14,className:"shrink-0 mt-0.5 text-red-400"}),C.jsx("span",{children:t})]})]}),C.jsxs("div",{className:"flex justify-between items-center pt-1 shrink-0",children:[C.jsx("div",{className:"text-[10px] text-slate-500 italic",children:e?s?"Changes save automatically":"Click save to update file":"Changes reset on reload"}),C.jsxs("button",{onClick:k,disabled:c==="saving",className:`flex items-center gap-2 px-4 py-2 rounded-md font-medium text-sm transition-all shadow-lg shrink-0 ${e?s?"bg-slate-300 dark:bg-slate-700 text-slate-500 dark:text-slate-400 cursor-not-allowed opacity-50":"bg-blue-600 hover:bg-blue-700 text-white":"bg-emerald-600 hover:bg-emerald-700 text-white"}`,children:[e?C.jsx(QW,{size:16}):C.jsx(_z,{size:16}),e?"Save & Update":"Apply Changes"]})]})]})},Ase=()=>{const{availableFiles:t,currentModelSlug:e,setCurrentModel:n,isSidebarOpen:i,fetchAvailableFiles:r,theme:s}=Xt(),[l,c]=Q.useState(!1);if(!i||t.length<=0)return null;const u=async()=>{c(!0),await r(),setTimeout(()=>c(!1),500)},h=e||t[0]?.slug;return C.jsxs("div",{className:"px-4 mb-4",children:[C.jsxs("div",{className:"flex items-center justify-between mb-1.5 px-1",children:[C.jsx("div",{className:"text-[10px] font-bold uppercase tracking-wider text-slate-500",children:"Current Model"}),C.jsx("button",{onClick:u,className:`transition-all p-0.5 rounded ${l?"animate-spin text-blue-400":"text-slate-500 hover:text-blue-400"} ${s==="dark"?"hover:bg-slate-800":"hover:bg-slate-100"}`,title:"Refresh model list",children:C.jsx(UW,{size:12})})]}),C.jsxs("div",{className:"relative group",children:[C.jsx("select",{value:h,onChange:d=>n(d.target.value),className:`w-full pl-9 pr-8 py-2 rounded-md text-sm appearance-none focus:outline-none focus:ring-1 focus:ring-blue-500/50 transition-all shadow-sm cursor-pointer ${s==="dark"?"bg-slate-800 border-slate-700 text-slate-100 hover:bg-slate-750":"bg-white border-slate-200 text-slate-900 hover:bg-slate-50 shadow-slate-200/50"}`,children:t.map(d=>C.jsx("option",{value:d.slug,className:s==="light"?"bg-white text-slate-900":"bg-slate-800 text-slate-100",children:d.name},d.slug))}),C.jsx(Da,{size:14,className:"absolute left-3 top-1/2 -translate-y-1/2 text-blue-500 pointer-events-none"}),C.jsx(Uw,{size:14,className:`absolute right-3 top-1/2 -translate-y-1/2 pointer-events-none transition-colors ${s==="dark"?"text-slate-500 group-hover:text-slate-300":"text-slate-400 group-hover:text-slate-600"}`})]})]})},NB=""+new URL("../favicon.svg",import.meta.url).href,_se=()=>{const{isSidebarOpen:t,setIsSidebarOpen:e,isPresentationMode:n,setIsPresentationMode:i,showER:r,setShowER:s,showLineage:l,setShowLineage:c,showAnnotations:u,setShowAnnotations:h,addTable:d,addDomain:m,addAnnotation:g,calculateAutoLayout:v,theme:x,toggleTheme:w,getSelectedTable:S,getSelectedDomain:k}=Xt(),{screenToFlowPosition:A}=Lu(),[E,O]=Q.useState(!1),T=r&&l,M=S(),R=k(),B=()=>{if(T)return;const N=A({x:window.innerWidth/2,y:window.innerHeight/2});m(N.x-300,N.y-200)},q=()=>{if(T)return;const N=A({x:window.innerWidth/2,y:window.innerHeight/2});d(N.x-160,N.y-125)},F=()=>{const N=M||R,P=A({x:window.innerWidth/2,y:window.innerHeight/2});u||h(!0),N?g({x:50,y:-50},N.id,M?"table":"domain"):g({x:P.x-60,y:P.y-40})},I=(N,P="text-blue-500")=>`
|
|
52
52
|
flex items-center justify-center w-10 h-10 rounded-xl transition-all relative group
|
|
53
53
|
${N?`bg-blue-600/10 ${P} shadow-inner`:x==="dark"?"text-slate-500 hover:text-slate-300 hover:bg-slate-800/30":"text-slate-400 hover:text-slate-600 hover:bg-slate-100"}
|
|
54
|
-
`,U=({text:N})=>C.jsxs("div",{className:"absolute left-14 px-2 py-1 bg-slate-800 text-white text-[10px] font-bold rounded opacity-0 group-hover:opacity-100 pointer-events-none transition-opacity whitespace-nowrap z-[60] border border-slate-700 shadow-xl",children:[N,C.jsx("div",{className:"absolute top-1/2 -left-1 -translate-y-1/2 border-4 border-transparent border-r-slate-800"})]}),X=({keys:N,label:P})=>C.jsxs("div",{className:"flex items-center justify-between py-2 border-b border-slate-100 dark:border-slate-800 last:border-0",children:[C.jsx("span",{className:"text-xs font-medium text-slate-500",children:P}),C.jsx("div",{className:"flex gap-1",children:N.map(L=>C.jsx("kbd",{className:"px-1.5 py-0.5 bg-slate-100 dark:bg-slate-800 border border-slate-200 dark:border-slate-700 rounded text-[10px] font-bold font-mono text-slate-600 dark:text-slate-300 min-w-[20px] text-center shadow-sm",children:L},L))})]});return C.jsxs(C.Fragment,{children:[C.jsxs("div",{className:`w-14 h-full flex flex-col items-center py-4 border-l transition-colors z-50 ${x==="dark"?"bg-slate-950 border-slate-800":"bg-slate-50 border-slate-200"}`,children:[C.jsx("button",{onClick:()=>e(!t),className:`mb-6 p-2 rounded-xl transition-all ${x==="dark"?"hover:bg-slate-800 text-slate-400 hover:text-white":"hover:bg-white hover:shadow-md text-slate-500 hover:text-slate-900"}`,children:t?C.jsx(Sz,{size:20}):C.jsx("img",{src:NB,alt:"Logo",className:"w-6 h-6 rounded-md shadow-lg"})}),C.jsxs("div",{className:"flex flex-col items-center mb-4 gap-2",children:[C.jsx("div",{className:"text-[8px] font-bold text-slate-500 uppercase tracking-tighter opacity-80 mb-1",children:"View"}),C.jsxs("div",{className:"flex flex-col gap-2",children:[C.jsxs("button",{onClick:()=>s(!r),className:I(r,"text-emerald-500"),children:[C.jsx(zW,{size:20}),C.jsx(U,{text:r?"Hide ER":"Show ER"})]}),C.jsxs("button",{onClick:()=>c(!l),className:I(l,"text-blue-500"),children:[C.jsx(q2,{size:20}),C.jsx(U,{text:l?"Hide Lineage":"Show Lineage"})]}),C.jsxs("button",{onClick:()=>h(!u),className:I(u,"text-amber-500"),children:[C.jsx(vo,{size:20}),C.jsx(U,{text:u?"Hide Annotations":"Show Annotations"})]})]})]}),C.jsx("div",{className:`w-8 border-t mb-4 ${x==="dark"?"border-slate-800":"border-slate-200"}`}),C.jsxs("div",{className:"flex flex-col items-center mb-4 gap-2",children:[C.jsx("div",{className:"text-[8px] font-bold text-slate-500 uppercase tracking-tighter opacity-80 mb-1",children:"Add"}),C.jsxs("div",{className:"flex flex-col gap-2",children:[C.jsxs("button",{onClick:B,disabled:T,className:I(!1,"text-blue-400"),children:[C.jsx(Az,{size:20,className:T?"opacity-40":""}),T&&C.jsx(Fw,{size:10,className:"absolute bottom-1 right-1 text-slate-500"}),C.jsx(U,{text:"Add Domain (D)"})]}),C.jsxs("button",{onClick:q,disabled:T,className:I(!1,"text-emerald-400"),children:[C.jsx(mW,{size:20,className:T?"opacity-40":""}),T&&C.jsx(Fw,{size:10,className:"absolute bottom-1 right-1 text-slate-500"}),C.jsx(U,{text:"Add Table (T)"})]}),C.jsxs("button",{onClick:F,className:I(!1,"text-amber-400"),children:[C.jsxs("div",{className:"relative",children:[C.jsx(vo,{size:20}),C.jsx($w,{size:10,className:"absolute -bottom-1 -right-1 text-amber-500 font-bold stroke-[3px]"})]}),C.jsx(U,{text:"Add Sticky Note (S)"})]})]})]}),C.jsx("div",{className:`w-8 border-t mb-6 ${x==="dark"?"border-slate-800":"border-slate-200"}`}),C.jsxs("div",{className:"mt-auto flex flex-col gap-2",children:[C.jsxs("button",{onClick:()=>i(!0),className:I(n,"text-purple-500"),children:[C.jsx(_z,{size:20}),C.jsx(U,{text:"Presentation Mode"})]}),C.jsxs("button",{onClick:()=>v(),className:I(!1),children:[C.jsx(wW,{size:20}),C.jsx(U,{text:"Auto Layout"})]}),C.jsxs("button",{onClick:()=>O(!0),className:I(E),children:[C.jsx(Cz,{size:20}),C.jsx(U,{text:"Shortcut Guide"})]}),C.jsxs("button",{onClick:w,className:I(!1),children:[x==="dark"?C.jsx(KW,{size:20}):C.jsx(DW,{size:20}),C.jsx(U,{text:x==="dark"?"Light Mode":"Dark Mode"})]})]})]}),E&&C.jsxs("div",{className:"fixed inset-0 z-[200] flex items-center justify-center p-4 animate-in fade-in duration-200",children:[C.jsx("div",{className:"absolute inset-0 bg-slate-950/40 backdrop-blur-sm",onClick:()=>O(!1)}),C.jsxs("div",{className:`relative w-full max-w-sm shadow-2xl rounded-2xl border p-6 animate-in zoom-in-95 duration-200 ${x==="dark"?"bg-slate-900 border-slate-700":"bg-white border-slate-200"}`,children:[C.jsxs("div",{className:"flex items-center justify-between mb-6",children:[C.jsxs("div",{className:"flex items-center gap-2",children:[C.jsx("div",{className:"p-2 bg-blue-500/10 rounded-lg",children:C.jsx(fW,{size:18,className:"text-blue-500"})}),C.jsx("h2",{className:"font-bold text-base",children:"Shortcut Guide"})]}),C.jsx("button",{onClick:()=>O(!1),className:"p-1 hover:bg-slate-100 dark:hover:bg-slate-800 rounded-full transition-colors text-slate-400",children:C.jsx(Ls,{size:20})})]}),C.jsxs("div",{className:"space-y-6",children:[C.jsxs("section",{children:[C.jsx("h3",{className:"text-[10px] font-black uppercase tracking-widest text-slate-400 mb-3",children:"Quick Create"}),C.jsx(X,{label:"New Table",keys:["T"]}),C.jsx(X,{label:"New Domain",keys:["D"]}),C.jsx(X,{label:"New Sticky Note",keys:["S"]})]}),C.jsxs("section",{children:[C.jsx("h3",{className:"text-[10px] font-black uppercase tracking-widest text-slate-400 mb-3",children:"Canvas Control"}),C.jsx(X,{label:"Pan / Scroll",keys:["↑","↓","←","→"]}),C.jsx(X,{label:"Clear Selection",keys:["Esc"]}),C.jsx(X,{label:"Delete Selected",keys:["Del","⌫"]})]}),C.jsxs("section",{children:[C.jsx("h3",{className:"text-[10px] font-black uppercase tracking-widest text-slate-400 mb-3",children:"Navigation"}),C.jsx(X,{label:"Find Entities",keys:["/"]}),C.jsx(X,{label:"Exit Fullscreen",keys:["Esc"]})]})]}),C.jsx("div",{className:"mt-8 pt-4 border-t border-slate-100 dark:border-slate-800 flex justify-center",children:C.jsx("p",{className:"text-[10px] text-slate-400 italic",children:"Pro-tip: Focus the canvas to use shortcuts."})})]})]})]})},Ese=()=>{const{isSidebarOpen:t,isCliMode:e,theme:n}=Xt();return C.jsxs("div",{className:`relative h-full flex flex-row border-r transition-all duration-300 ease-in-out shadow-2xl z-50 ${t?"w-[456px]":"w-14"} ${n==="dark"?"bg-slate-900 border-slate-800":"bg-white border-slate-200"}`,children:[C.jsxs("div",{className:`flex-1 flex flex-col min-w-0 overflow-hidden transition-all duration-300 sidebar-content ${n==="dark"?"bg-slate-900":"bg-white"} ${t?"opacity-100 pointer-events-auto":"opacity-0 pointer-events-none"}`,style:{width:t?"400px":"0px"},children:[C.jsx("div",{className:`p-4 border-b flex items-center justify-between ${n==="dark"?"border-slate-800":"border-slate-100"}`,children:C.jsxs("div",{className:"flex items-center gap-2",children:[C.jsx("img",{src:NB,alt:"Modscape Logo",className:"w-5 h-5 rounded-md"}),C.jsx("h1",{className:`text-base font-bold tracking-tight ${n==="dark"?"text-white":"text-slate-900"}`,children:"Modscape"}),e&&C.jsx("span",{className:"px-1.5 py-0.5 bg-emerald-500/10 border border-emerald-500/30 text-emerald-500 text-[10px] font-bold rounded uppercase ml-1",children:"Live"})]})}),C.jsx("div",{className:"mt-4",children:C.jsx(Ase,{})}),C.jsxs("div",{className:"flex-1 flex flex-col min-h-0 overflow-hidden mt-4",children:[C.jsx("div",{className:"px-4 py-2",children:C.jsx("h3",{className:"text-[10px] font-bold uppercase tracking-widest text-slate-500",children:"YAML Editor"})}),C.jsx(kse,{})]}),C.jsx("div",{className:`p-3 border-t flex items-center justify-between ${n==="dark"?"border-slate-800 bg-slate-950/20":"border-slate-100 bg-slate-50/50"}`,children:C.jsx("p",{className:"text-[10px] text-slate-500 font-medium px-1",children:"Modscape v1.1.0"})})]}),C.jsx(_se,{})]})},Ose=()=>{const{schema:t,theme:e,setSelectedTableId:n,setFocusNodeId:i}=Xt(),[r,s]=Q.useState(""),[l,c]=Q.useState(new Set),u=m=>{const g=new Set(l);g.has(m)?g.delete(m):g.add(m),c(g)},h=m=>{n(m),i(m)},d=Q.useMemo(()=>{if(!t)return{domains:[],unassigned:[]};const m={},g=new Set;t.domains?.forEach(w=>{m[w.id]=[]}),t.tables.forEach(w=>{const S=t.domains?.find(A=>A.tables.includes(w.id));(w.name.toLowerCase().includes(r.toLowerCase())||w.id.toLowerCase().includes(r.toLowerCase()))&&S&&(m[S.id].push(w),g.add(w.id))});const v=(t.domains||[]).filter(w=>{const S=m[w.id].length>0,k=w.name.toLowerCase().includes(r.toLowerCase())||w.id.toLowerCase().includes(r.toLowerCase());return S||k&&r!==""}).map(w=>({...w,tables:m[w.id]})),x=t.tables.filter(w=>(w.name.toLowerCase().includes(r.toLowerCase())||w.id.toLowerCase().includes(r.toLowerCase()))&&!g.has(w.id)&&!t.domains?.some(k=>k.tables.includes(w.id)));return{domains:v,unassigned:x}},[t,r]);return C.jsxs("div",{className:"flex-1 flex flex-col overflow-hidden p-4",children:[C.jsxs("div",{className:"relative mb-4 shrink-0",children:[C.jsx(B2,{size:14,className:"absolute left-3 top-1/2 -translate-y-1/2 text-slate-500"}),C.jsx("input",{type:"text",value:r,onChange:m=>s(m.target.value),placeholder:"Search tables...",className:`w-full pl-9 pr-4 py-2 rounded-md text-sm transition-all shadow-sm focus:outline-none focus:ring-1 focus:ring-blue-500/50 ${e==="dark"?"bg-slate-800 border-slate-700 text-slate-100":"bg-white border-slate-200 text-slate-900 shadow-slate-200/50"}`})]}),C.jsxs("div",{className:"flex-1 space-y-4 overflow-auto pr-1",children:[d.domains.map(m=>{const g=l.has(m.id);return C.jsxs("section",{className:"flex flex-col",children:[C.jsxs("div",{className:`flex items-center justify-between group px-1 py-1.5 cursor-pointer rounded transition-colors ${e==="dark"?"hover:bg-slate-800/30":"hover:bg-slate-100"}`,onClick:()=>u(m.id),children:[C.jsxs("div",{className:"flex items-center gap-2 overflow-hidden",children:[g?C.jsx(Vw,{size:12,className:"text-slate-500"}):C.jsx(Uw,{size:12,className:"text-slate-500"}),C.jsx("div",{className:"w-2 h-2 rounded-full shrink-0",style:{backgroundColor:m.color||"#3b82f6"}}),C.jsx("h3",{className:`text-[10px] font-bold uppercase tracking-wider truncate ${e==="dark"?"text-slate-300":"text-slate-600"}`,children:m.name}),C.jsx("span",{className:`text-[9px] font-medium px-1.5 py-0.5 rounded-full ${e==="dark"?"text-slate-600 bg-slate-800/50":"text-slate-400 bg-slate-100"}`,children:m.tables.length})]}),C.jsx("button",{onClick:v=>{v.stopPropagation(),h(m.id)},className:"opacity-0 group-hover:opacity-100 p-1 hover:text-blue-500 text-slate-500 transition-all",children:C.jsx(Kh,{size:12})})]}),!g&&C.jsxs("div",{className:`ml-4 mt-1 space-y-0.5 border-l pl-2 ${e==="dark"?"border-slate-800":"border-slate-100"}`,children:[m.tables.map(v=>C.jsxs("button",{onClick:()=>h(v.id),className:`w-full flex items-center justify-between group p-1.5 text-xs rounded border border-transparent transition-all text-left ${e==="dark"?"hover:bg-slate-800/50 text-slate-400 hover:text-slate-200":"hover:bg-blue-50 text-slate-500 hover:text-blue-600"}`,children:[C.jsx("span",{className:"truncate",children:v.name}),C.jsx(Kh,{size:10,className:"opacity-0 group-hover:opacity-100"})]},v.id)),m.tables.length===0&&C.jsx("div",{className:"p-2 text-[10px] text-slate-500 italic",children:"No tables"})]})]},m.id)}),d.unassigned.length>0&&C.jsxs("section",{className:"flex flex-col",children:[C.jsx("div",{className:`flex items-center justify-between group px-1 py-1.5 cursor-pointer rounded transition-colors ${e==="dark"?"hover:bg-slate-800/30":"hover:bg-slate-100"}`,onClick:()=>u("unassigned"),children:C.jsxs("div",{className:"flex items-center gap-2 overflow-hidden",children:[l.has("unassigned")?C.jsx(Vw,{size:12,className:"text-slate-500"}):C.jsx(Uw,{size:12,className:"text-slate-500"}),C.jsx(Cz,{size:12,className:"text-slate-500 shrink-0"}),C.jsx("h3",{className:`text-[10px] font-bold uppercase tracking-wider truncate ${e==="dark"?"text-slate-500":"text-slate-400"}`,children:"Unassigned"}),C.jsx("span",{className:`text-[9px] font-medium px-1.5 py-0.5 rounded-full ${e==="dark"?"text-slate-600 bg-slate-800/50":"text-slate-400 bg-slate-100"}`,children:d.unassigned.length})]})}),!l.has("unassigned")&&C.jsx("div",{className:`ml-4 mt-1 space-y-0.5 border-l pl-2 ${e==="dark"?"border-slate-800":"border-slate-100"}`,children:d.unassigned.map(m=>C.jsxs("button",{onClick:()=>h(m.id),className:`w-full flex items-center justify-between group p-1.5 text-xs rounded border border-transparent transition-all text-left ${e==="dark"?"hover:bg-slate-800/50 text-slate-400 hover:text-slate-200":"hover:bg-blue-50 text-slate-500 hover:text-blue-600"}`,children:[C.jsx("span",{className:"truncate",children:m.name}),C.jsx(Kh,{size:10,className:"opacity-0 group-hover:opacity-100"})]},m.id))})]})]})]})},Tse=t=>{const e={},n=(i,r,s,l,c)=>{e[i]||(e[i]=[]),e[i].push({from:i,to:r,type:s,id:l,metadata:c}),e[r]||(e[r]=[]),e[r].push({from:r,to:i,type:s,id:l,metadata:c})};return t.relationships?.forEach((i,r)=>{n(i.from.table,i.to.table,"er",`e-${r}`,i)}),t.tables.forEach(i=>{i.lineage?.upstream&&i.lineage.upstream.forEach((r,s)=>{n(r,i.id,"lineage",`lin-${r}-${i.id}-${s}`,{direction:"upstream"})})}),e},Mse=(t,e,n)=>{if(e===n)return[];const i=Tse(t),r=[e],s=new Set([e]),l={};for(;r.length>0;){const c=r.shift();if(c===n){const h=[];let d=n;for(;d!==e;){const m=l[d];h.unshift(m),d=m.from}return h}const u=i[c]||[];for(const h of u)s.has(h.to)||(s.add(h.to),l[h.to]={from:c,to:h.to,edge:h},r.push(h.to))}return null},Nse=()=>{const{schema:t,theme:e,setPathFinderResult:n,setFocusNodeId:i}=Xt(),[r,s]=Q.useState(""),[l,c]=Q.useState(""),[u,h]=Q.useState(null),[d,m]=Q.useState(!1),g=Q.useMemo(()=>t?.tables||[],[t]),v=()=>{if(!t||!r||!l)return;const w=Mse(t,r,l);if(h(w),m(!0),w){const S=Array.from(new Set([r,...w.map(A=>A.to)])),k=w.map(A=>A.edge.id);n({nodeIds:S,edgeIds:k})}else n(null)},x=()=>{h(null),m(!1),n(null)};return C.jsxs("div",{className:"flex-1 flex flex-col overflow-hidden p-4",children:[C.jsxs("div",{className:"space-y-4 mb-6",children:[C.jsxs("div",{children:[C.jsx("label",{className:"text-[10px] font-bold text-slate-500 uppercase tracking-widest block mb-1.5",children:"From Table"}),C.jsxs("select",{value:r,onChange:w=>s(w.target.value),className:`w-full p-2 rounded-md text-sm border shadow-sm focus:ring-1 focus:ring-blue-500/50 outline-none ${e==="dark"?"bg-slate-800 border-slate-700 text-slate-100":"bg-white border-slate-200 text-slate-900"}`,children:[C.jsx("option",{value:"",children:"Select source..."}),g.map(w=>C.jsx("option",{value:w.id,children:w.name},w.id))]})]}),C.jsxs("div",{children:[C.jsx("label",{className:"text-[10px] font-bold text-slate-500 uppercase tracking-widest block mb-1.5",children:"To Table"}),C.jsxs("select",{value:l,onChange:w=>c(w.target.value),className:`w-full p-2 rounded-md text-sm border shadow-sm focus:ring-1 focus:ring-blue-500/50 outline-none ${e==="dark"?"bg-slate-800 border-slate-700 text-slate-100":"bg-white border-slate-200 text-slate-900"}`,children:[C.jsx("option",{value:"",children:"Select target..."}),g.map(w=>C.jsx("option",{value:w.id,children:w.name},w.id))]})]}),C.jsxs("div",{className:"flex gap-2 pt-2",children:[C.jsxs("button",{onClick:v,disabled:!r||!l,className:`flex-1 flex items-center justify-center gap-2 py-2 rounded-md text-xs font-bold transition-all ${!r||!l?"bg-slate-100 text-slate-400 cursor-not-allowed":"bg-blue-600 text-white hover:bg-blue-500 shadow-lg shadow-blue-500/20 active:scale-95"}`,children:[C.jsx(B2,{size:14}),"FIND PATH"]}),d&&C.jsx("button",{onClick:x,className:`p-2 rounded-md border transition-all hover:bg-slate-100 dark:hover:bg-slate-800 ${e==="dark"?"border-slate-700 text-slate-400":"border-slate-200 text-slate-500"}`,children:C.jsx(FW,{size:14})})]})]}),C.jsxs("div",{className:"flex-1 overflow-auto pr-1",children:[d&&!u&&C.jsxs("div",{className:"flex flex-col items-center justify-center py-10 text-center",children:[C.jsx(Zh,{size:32,className:"text-slate-300 mb-2"}),C.jsx("p",{className:"text-sm text-slate-500 italic",children:"No path found between these tables."})]}),u&&C.jsxs("div",{className:"space-y-1",children:[C.jsx("div",{className:`p-3 rounded-lg border border-l-4 border-l-blue-500 mb-4 ${e==="dark"?"bg-slate-800/30 border-slate-700":"bg-blue-50/50 border-blue-100"}`,children:C.jsxs("p",{className:"text-xs font-medium text-slate-500",children:["Path found with ",C.jsx("span",{className:"font-bold text-blue-500",children:u.length})," steps"]})}),C.jsxs("div",{className:"relative pl-4 space-y-0",children:[C.jsx("div",{className:"absolute left-1 top-2 bottom-2 w-0.5 bg-slate-200 dark:bg-slate-800"}),C.jsxs("div",{className:"relative mb-4",children:[C.jsx("div",{className:"absolute -left-[15px] top-1 w-2.5 h-2.5 rounded-full bg-blue-500 border-2 border-white dark:border-slate-900"}),C.jsx("button",{onClick:()=>i(r),className:"text-xs font-bold hover:text-blue-500 transition-colors",children:g.find(w=>w.id===r)?.name})]}),u.map((w,S)=>C.jsxs("div",{className:"mb-4",children:[C.jsxs("div",{className:"flex items-center gap-2 my-2 py-1 px-2 rounded bg-slate-100 dark:bg-slate-800/50 w-fit",children:[w.edge.type==="er"?C.jsx(Da,{size:10,className:"text-emerald-500"}):C.jsx(q2,{size:10,className:"text-blue-400"}),C.jsx("span",{className:"text-[9px] font-bold text-slate-500 uppercase tracking-tighter",children:w.edge.type==="er"?`ER (${w.edge.metadata.type})`:"Lineage"})]}),C.jsxs("div",{className:"relative",children:[C.jsx("div",{className:"absolute -left-[15px] top-1 w-2.5 h-2.5 rounded-full bg-slate-400 border-2 border-white dark:border-slate-900"}),C.jsx("button",{onClick:()=>i(w.to),className:"text-xs font-bold hover:text-blue-500 transition-colors",children:g.find(k=>k.id===w.to)?.name})]})]},S))]})]})]})]})},Rse=()=>{const{schema:t,theme:e,setSelectedAnnotationId:n,setFocusNodeId:i}=Xt(),[r,s]=Q.useState(""),l=Q.useMemo(()=>t?.annotations?t.annotations.filter(u=>u.text.toLowerCase().includes(r.toLowerCase())):[],[t,r]),c=u=>{n(u),i(u)};return C.jsxs("div",{className:"flex-1 flex flex-col overflow-hidden p-4",children:[C.jsxs("div",{className:"relative mb-4 shrink-0",children:[C.jsx(B2,{size:14,className:"absolute left-3 top-1/2 -translate-y-1/2 text-slate-500"}),C.jsx("input",{type:"text",value:r,onChange:u=>s(u.target.value),placeholder:"Search notes...",className:`w-full pl-9 pr-4 py-2 rounded-md text-sm transition-all shadow-sm focus:outline-none focus:ring-1 focus:ring-blue-500/50 ${e==="dark"?"bg-slate-800 border-slate-700 text-slate-100":"bg-white border-slate-200 text-slate-900 shadow-slate-200/50"}`})]}),C.jsxs("div",{className:"flex-1 space-y-2 overflow-auto pr-1",children:[l.length===0&&r&&C.jsxs("div",{className:"text-center py-10 text-slate-500 italic text-sm",children:['No notes matching "',r,'"']}),l.map(u=>C.jsxs("button",{onClick:()=>c(u.id),className:`w-full p-3 text-left rounded-lg border transition-all group relative ${e==="dark"?"bg-slate-800/40 border-slate-700 hover:border-blue-500/50 hover:bg-slate-800/60":"bg-white border-slate-200 hover:border-blue-300 hover:bg-blue-50/30 shadow-sm"}`,children:[C.jsxs("div",{className:"flex items-center gap-2 mb-1.5",children:[C.jsx(vo,{size:12,className:u.type==="callout"?"text-blue-400":"text-amber-400"}),C.jsx("span",{className:"text-[10px] font-bold uppercase tracking-tighter text-slate-500",children:u.type==="callout"?"Callout":"Sticky Note"}),C.jsx(Kh,{size:12,className:"ml-auto opacity-0 group-hover:opacity-100 transition-opacity text-blue-500"})]}),C.jsx("p",{className:`text-xs line-clamp-3 leading-relaxed ${e==="dark"?"text-slate-300":"text-slate-600"}`,children:u.text}),u.targetId&&C.jsxs("div",{className:"mt-2 flex items-center gap-1.5 opacity-60",children:[C.jsx("div",{className:"w-1 h-1 rounded-full bg-slate-400"}),C.jsxs("span",{className:"text-[9px] font-medium truncate italic",children:["Attached to ",u.targetId]})]})]},u.id)),!r&&l.length===0&&C.jsxs("div",{className:"flex flex-col items-center justify-center py-20 text-center opacity-40",children:[C.jsx(kz,{size:48,className:"mb-4 text-slate-400"}),C.jsx("p",{className:"text-sm font-medium",children:"No annotations in this model yet."})]})]})]})},Dse=()=>{const{isRightPanelOpen:t,setIsRightPanelOpen:e,activeRightPanelTab:n,setActiveRightPanelTab:i,theme:r}=Xt(),s=c=>`
|
|
54
|
+
`,U=({text:N})=>C.jsxs("div",{className:"absolute left-14 px-2 py-1 bg-slate-800 text-white text-[10px] font-bold rounded opacity-0 group-hover:opacity-100 pointer-events-none transition-opacity whitespace-nowrap z-[60] border border-slate-700 shadow-xl",children:[N,C.jsx("div",{className:"absolute top-1/2 -left-1 -translate-y-1/2 border-4 border-transparent border-r-slate-800"})]}),X=({keys:N,label:P})=>C.jsxs("div",{className:"flex items-center justify-between py-2 border-b border-slate-100 dark:border-slate-800 last:border-0",children:[C.jsx("span",{className:"text-xs font-medium text-slate-500",children:P}),C.jsx("div",{className:"flex gap-1",children:N.map(L=>C.jsx("kbd",{className:"px-1.5 py-0.5 bg-slate-100 dark:bg-slate-800 border border-slate-200 dark:border-slate-700 rounded text-[10px] font-bold font-mono text-slate-600 dark:text-slate-300 min-w-[20px] text-center shadow-sm",children:L},L))})]});return C.jsxs(C.Fragment,{children:[C.jsxs("div",{className:`w-14 h-full flex flex-col items-center py-4 border-l transition-colors z-50 ${x==="dark"?"bg-slate-950 border-slate-800":"bg-slate-50 border-slate-200"}`,children:[C.jsx("button",{onClick:()=>e(!t),className:`mb-6 p-2 rounded-xl transition-all ${x==="dark"?"hover:bg-slate-800 text-slate-400 hover:text-white":"hover:bg-white hover:shadow-md text-slate-500 hover:text-slate-900"}`,children:t?C.jsx(Sz,{size:20}):C.jsx("img",{src:NB,alt:"Logo",className:"w-6 h-6 rounded-md shadow-lg"})}),C.jsxs("div",{className:"flex flex-col items-center mb-4 gap-2",children:[C.jsx("div",{className:"text-[8px] font-bold text-slate-500 uppercase tracking-tighter opacity-80 mb-1",children:"View"}),C.jsxs("div",{className:"flex flex-col gap-2",children:[C.jsxs("button",{onClick:()=>s(!r),className:I(r,"text-emerald-500"),children:[C.jsx(zW,{size:20}),C.jsx(U,{text:r?"Hide ER":"Show ER"})]}),C.jsxs("button",{onClick:()=>c(!l),className:I(l,"text-blue-500"),children:[C.jsx(q2,{size:20}),C.jsx(U,{text:l?"Hide Lineage":"Show Lineage"})]}),C.jsxs("button",{onClick:()=>h(!u),className:I(u,"text-amber-500"),children:[C.jsx(vo,{size:20}),C.jsx(U,{text:u?"Hide Annotations":"Show Annotations"})]})]})]}),C.jsx("div",{className:`w-8 border-t mb-4 ${x==="dark"?"border-slate-800":"border-slate-200"}`}),C.jsxs("div",{className:"flex flex-col items-center mb-4 gap-2",children:[C.jsx("div",{className:"text-[8px] font-bold text-slate-500 uppercase tracking-tighter opacity-80 mb-1",children:"Add"}),C.jsxs("div",{className:"flex flex-col gap-2",children:[C.jsxs("button",{onClick:B,disabled:T,className:I(!1,"text-blue-400"),children:[C.jsx(Az,{size:20,className:T?"opacity-40":""}),T&&C.jsx(Fw,{size:10,className:"absolute bottom-1 right-1 text-slate-500"}),C.jsx(U,{text:"Add Domain (D)"})]}),C.jsxs("button",{onClick:q,disabled:T,className:I(!1,"text-emerald-400"),children:[C.jsx(mW,{size:20,className:T?"opacity-40":""}),T&&C.jsx(Fw,{size:10,className:"absolute bottom-1 right-1 text-slate-500"}),C.jsx(U,{text:"Add Table (T)"})]}),C.jsxs("button",{onClick:F,className:I(!1,"text-amber-400"),children:[C.jsxs("div",{className:"relative",children:[C.jsx(vo,{size:20}),C.jsx($w,{size:10,className:"absolute -bottom-1 -right-1 text-amber-500 font-bold stroke-[3px]"})]}),C.jsx(U,{text:"Add Sticky Note (S)"})]})]})]}),C.jsx("div",{className:`w-8 border-t mb-6 ${x==="dark"?"border-slate-800":"border-slate-200"}`}),C.jsxs("div",{className:"mt-auto flex flex-col gap-2",children:[C.jsxs("button",{onClick:()=>i(!0),className:I(n,"text-purple-500"),children:[C.jsx(_z,{size:20}),C.jsx(U,{text:"Presentation Mode"})]}),C.jsxs("button",{onClick:()=>v(),className:I(!1),children:[C.jsx(wW,{size:20}),C.jsx(U,{text:"Auto Layout"})]}),C.jsxs("button",{onClick:()=>O(!0),className:I(E),children:[C.jsx(Cz,{size:20}),C.jsx(U,{text:"Shortcut Guide"})]}),C.jsxs("button",{onClick:w,className:I(!1),children:[x==="dark"?C.jsx(KW,{size:20}):C.jsx(DW,{size:20}),C.jsx(U,{text:x==="dark"?"Light Mode":"Dark Mode"})]})]})]}),E&&C.jsxs("div",{className:"fixed inset-0 z-[200] flex items-center justify-center p-4 animate-in fade-in duration-200",children:[C.jsx("div",{className:"absolute inset-0 bg-slate-950/40 backdrop-blur-sm",onClick:()=>O(!1)}),C.jsxs("div",{className:`relative w-full max-w-sm shadow-2xl rounded-2xl border p-6 animate-in zoom-in-95 duration-200 ${x==="dark"?"bg-slate-900 border-slate-700":"bg-white border-slate-200"}`,children:[C.jsxs("div",{className:"flex items-center justify-between mb-6",children:[C.jsxs("div",{className:"flex items-center gap-2",children:[C.jsx("div",{className:"p-2 bg-blue-500/10 rounded-lg",children:C.jsx(fW,{size:18,className:"text-blue-500"})}),C.jsx("h2",{className:"font-bold text-base",children:"Shortcut Guide"})]}),C.jsx("button",{onClick:()=>O(!1),className:"p-1 hover:bg-slate-100 dark:hover:bg-slate-800 rounded-full transition-colors text-slate-400",children:C.jsx(Ls,{size:20})})]}),C.jsxs("div",{className:"space-y-6",children:[C.jsxs("section",{children:[C.jsx("h3",{className:"text-[10px] font-black uppercase tracking-widest text-slate-400 mb-3",children:"Quick Create"}),C.jsx(X,{label:"New Table",keys:["T"]}),C.jsx(X,{label:"New Domain",keys:["D"]}),C.jsx(X,{label:"New Sticky Note",keys:["S"]})]}),C.jsxs("section",{children:[C.jsx("h3",{className:"text-[10px] font-black uppercase tracking-widest text-slate-400 mb-3",children:"Canvas Control"}),C.jsx(X,{label:"Pan / Scroll",keys:["↑","↓","←","→"]}),C.jsx(X,{label:"Clear Selection",keys:["Esc"]}),C.jsx(X,{label:"Delete Selected",keys:["Del","⌫"]})]}),C.jsxs("section",{children:[C.jsx("h3",{className:"text-[10px] font-black uppercase tracking-widest text-slate-400 mb-3",children:"Navigation"}),C.jsx(X,{label:"Find Entities",keys:["/"]}),C.jsx(X,{label:"Exit Fullscreen",keys:["Esc"]})]})]}),C.jsx("div",{className:"mt-8 pt-4 border-t border-slate-100 dark:border-slate-800 flex justify-center",children:C.jsx("p",{className:"text-[10px] text-slate-400 italic",children:"Pro-tip: Focus the canvas to use shortcuts."})})]})]})]})},Ese=()=>{const{isSidebarOpen:t,isCliMode:e,theme:n}=Xt();return C.jsxs("div",{className:`relative h-full flex flex-row border-r transition-all duration-300 ease-in-out shadow-2xl z-50 ${t?"w-[456px]":"w-14"} ${n==="dark"?"bg-slate-900 border-slate-800":"bg-white border-slate-200"}`,children:[C.jsxs("div",{className:`flex-1 flex flex-col min-w-0 overflow-hidden transition-all duration-300 sidebar-content ${n==="dark"?"bg-slate-900":"bg-white"} ${t?"opacity-100 pointer-events-auto":"opacity-0 pointer-events-none"}`,style:{width:t?"400px":"0px"},children:[C.jsx("div",{className:`p-4 border-b flex items-center justify-between ${n==="dark"?"border-slate-800":"border-slate-100"}`,children:C.jsxs("div",{className:"flex items-center gap-2",children:[C.jsx("img",{src:NB,alt:"Modscape Logo",className:"w-5 h-5 rounded-md"}),C.jsx("h1",{className:`text-base font-bold tracking-tight ${n==="dark"?"text-white":"text-slate-900"}`,children:"Modscape"}),e&&C.jsx("span",{className:"px-1.5 py-0.5 bg-emerald-500/10 border border-emerald-500/30 text-emerald-500 text-[10px] font-bold rounded uppercase ml-1",children:"Live"})]})}),C.jsx("div",{className:"mt-4",children:C.jsx(Ase,{})}),C.jsxs("div",{className:"flex-1 flex flex-col min-h-0 overflow-hidden mt-4",children:[C.jsx("div",{className:"px-4 py-2",children:C.jsx("h3",{className:"text-[10px] font-bold uppercase tracking-widest text-slate-500",children:"YAML Editor"})}),C.jsx(kse,{})]}),C.jsx("div",{className:`p-3 border-t flex items-center justify-between ${n==="dark"?"border-slate-800 bg-slate-950/20":"border-slate-100 bg-slate-50/50"}`,children:C.jsx("p",{className:"text-[10px] text-slate-500 font-medium px-1",children:"Modscape v1.1.1"})})]}),C.jsx(_se,{})]})},Ose=()=>{const{schema:t,theme:e,setSelectedTableId:n,setFocusNodeId:i}=Xt(),[r,s]=Q.useState(""),[l,c]=Q.useState(new Set),u=m=>{const g=new Set(l);g.has(m)?g.delete(m):g.add(m),c(g)},h=m=>{n(m),i(m)},d=Q.useMemo(()=>{if(!t)return{domains:[],unassigned:[]};const m={},g=new Set;t.domains?.forEach(w=>{m[w.id]=[]}),t.tables.forEach(w=>{const S=t.domains?.find(A=>A.tables.includes(w.id));(w.name.toLowerCase().includes(r.toLowerCase())||w.id.toLowerCase().includes(r.toLowerCase()))&&S&&(m[S.id].push(w),g.add(w.id))});const v=(t.domains||[]).filter(w=>{const S=m[w.id].length>0,k=w.name.toLowerCase().includes(r.toLowerCase())||w.id.toLowerCase().includes(r.toLowerCase());return S||k&&r!==""}).map(w=>({...w,tables:m[w.id]})),x=t.tables.filter(w=>(w.name.toLowerCase().includes(r.toLowerCase())||w.id.toLowerCase().includes(r.toLowerCase()))&&!g.has(w.id)&&!t.domains?.some(k=>k.tables.includes(w.id)));return{domains:v,unassigned:x}},[t,r]);return C.jsxs("div",{className:"flex-1 flex flex-col overflow-hidden p-4",children:[C.jsxs("div",{className:"relative mb-4 shrink-0",children:[C.jsx(B2,{size:14,className:"absolute left-3 top-1/2 -translate-y-1/2 text-slate-500"}),C.jsx("input",{type:"text",value:r,onChange:m=>s(m.target.value),placeholder:"Search tables...",className:`w-full pl-9 pr-4 py-2 rounded-md text-sm transition-all shadow-sm focus:outline-none focus:ring-1 focus:ring-blue-500/50 ${e==="dark"?"bg-slate-800 border-slate-700 text-slate-100":"bg-white border-slate-200 text-slate-900 shadow-slate-200/50"}`})]}),C.jsxs("div",{className:"flex-1 space-y-4 overflow-auto pr-1",children:[d.domains.map(m=>{const g=l.has(m.id);return C.jsxs("section",{className:"flex flex-col",children:[C.jsxs("div",{className:`flex items-center justify-between group px-1 py-1.5 cursor-pointer rounded transition-colors ${e==="dark"?"hover:bg-slate-800/30":"hover:bg-slate-100"}`,onClick:()=>u(m.id),children:[C.jsxs("div",{className:"flex items-center gap-2 overflow-hidden",children:[g?C.jsx(Vw,{size:12,className:"text-slate-500"}):C.jsx(Uw,{size:12,className:"text-slate-500"}),C.jsx("div",{className:"w-2 h-2 rounded-full shrink-0",style:{backgroundColor:m.color||"#3b82f6"}}),C.jsx("h3",{className:`text-[10px] font-bold uppercase tracking-wider truncate ${e==="dark"?"text-slate-300":"text-slate-600"}`,children:m.name}),C.jsx("span",{className:`text-[9px] font-medium px-1.5 py-0.5 rounded-full ${e==="dark"?"text-slate-600 bg-slate-800/50":"text-slate-400 bg-slate-100"}`,children:m.tables.length})]}),C.jsx("button",{onClick:v=>{v.stopPropagation(),h(m.id)},className:"opacity-0 group-hover:opacity-100 p-1 hover:text-blue-500 text-slate-500 transition-all",children:C.jsx(Kh,{size:12})})]}),!g&&C.jsxs("div",{className:`ml-4 mt-1 space-y-0.5 border-l pl-2 ${e==="dark"?"border-slate-800":"border-slate-100"}`,children:[m.tables.map(v=>C.jsxs("button",{onClick:()=>h(v.id),className:`w-full flex items-center justify-between group p-1.5 text-xs rounded border border-transparent transition-all text-left ${e==="dark"?"hover:bg-slate-800/50 text-slate-400 hover:text-slate-200":"hover:bg-blue-50 text-slate-500 hover:text-blue-600"}`,children:[C.jsx("span",{className:"truncate",children:v.name}),C.jsx(Kh,{size:10,className:"opacity-0 group-hover:opacity-100"})]},v.id)),m.tables.length===0&&C.jsx("div",{className:"p-2 text-[10px] text-slate-500 italic",children:"No tables"})]})]},m.id)}),d.unassigned.length>0&&C.jsxs("section",{className:"flex flex-col",children:[C.jsx("div",{className:`flex items-center justify-between group px-1 py-1.5 cursor-pointer rounded transition-colors ${e==="dark"?"hover:bg-slate-800/30":"hover:bg-slate-100"}`,onClick:()=>u("unassigned"),children:C.jsxs("div",{className:"flex items-center gap-2 overflow-hidden",children:[l.has("unassigned")?C.jsx(Vw,{size:12,className:"text-slate-500"}):C.jsx(Uw,{size:12,className:"text-slate-500"}),C.jsx(Cz,{size:12,className:"text-slate-500 shrink-0"}),C.jsx("h3",{className:`text-[10px] font-bold uppercase tracking-wider truncate ${e==="dark"?"text-slate-500":"text-slate-400"}`,children:"Unassigned"}),C.jsx("span",{className:`text-[9px] font-medium px-1.5 py-0.5 rounded-full ${e==="dark"?"text-slate-600 bg-slate-800/50":"text-slate-400 bg-slate-100"}`,children:d.unassigned.length})]})}),!l.has("unassigned")&&C.jsx("div",{className:`ml-4 mt-1 space-y-0.5 border-l pl-2 ${e==="dark"?"border-slate-800":"border-slate-100"}`,children:d.unassigned.map(m=>C.jsxs("button",{onClick:()=>h(m.id),className:`w-full flex items-center justify-between group p-1.5 text-xs rounded border border-transparent transition-all text-left ${e==="dark"?"hover:bg-slate-800/50 text-slate-400 hover:text-slate-200":"hover:bg-blue-50 text-slate-500 hover:text-blue-600"}`,children:[C.jsx("span",{className:"truncate",children:m.name}),C.jsx(Kh,{size:10,className:"opacity-0 group-hover:opacity-100"})]},m.id))})]})]})]})},Tse=t=>{const e={},n=(i,r,s,l,c)=>{e[i]||(e[i]=[]),e[i].push({from:i,to:r,type:s,id:l,metadata:c}),e[r]||(e[r]=[]),e[r].push({from:r,to:i,type:s,id:l,metadata:c})};return t.relationships?.forEach((i,r)=>{n(i.from.table,i.to.table,"er",`e-${r}`,i)}),t.tables.forEach(i=>{i.lineage?.upstream&&i.lineage.upstream.forEach((r,s)=>{n(r,i.id,"lineage",`lin-${r}-${i.id}-${s}`,{direction:"upstream"})})}),e},Mse=(t,e,n)=>{if(e===n)return[];const i=Tse(t),r=[e],s=new Set([e]),l={};for(;r.length>0;){const c=r.shift();if(c===n){const h=[];let d=n;for(;d!==e;){const m=l[d];h.unshift(m),d=m.from}return h}const u=i[c]||[];for(const h of u)s.has(h.to)||(s.add(h.to),l[h.to]={from:c,to:h.to,edge:h},r.push(h.to))}return null},Nse=()=>{const{schema:t,theme:e,setPathFinderResult:n,setFocusNodeId:i}=Xt(),[r,s]=Q.useState(""),[l,c]=Q.useState(""),[u,h]=Q.useState(null),[d,m]=Q.useState(!1),g=Q.useMemo(()=>t?.tables||[],[t]),v=()=>{if(!t||!r||!l)return;const w=Mse(t,r,l);if(h(w),m(!0),w){const S=Array.from(new Set([r,...w.map(A=>A.to)])),k=w.map(A=>A.edge.id);n({nodeIds:S,edgeIds:k})}else n(null)},x=()=>{h(null),m(!1),n(null)};return C.jsxs("div",{className:"flex-1 flex flex-col overflow-hidden p-4",children:[C.jsxs("div",{className:"space-y-4 mb-6",children:[C.jsxs("div",{children:[C.jsx("label",{className:"text-[10px] font-bold text-slate-500 uppercase tracking-widest block mb-1.5",children:"From Table"}),C.jsxs("select",{value:r,onChange:w=>s(w.target.value),className:`w-full p-2 rounded-md text-sm border shadow-sm focus:ring-1 focus:ring-blue-500/50 outline-none ${e==="dark"?"bg-slate-800 border-slate-700 text-slate-100":"bg-white border-slate-200 text-slate-900"}`,children:[C.jsx("option",{value:"",children:"Select source..."}),g.map(w=>C.jsx("option",{value:w.id,children:w.name},w.id))]})]}),C.jsxs("div",{children:[C.jsx("label",{className:"text-[10px] font-bold text-slate-500 uppercase tracking-widest block mb-1.5",children:"To Table"}),C.jsxs("select",{value:l,onChange:w=>c(w.target.value),className:`w-full p-2 rounded-md text-sm border shadow-sm focus:ring-1 focus:ring-blue-500/50 outline-none ${e==="dark"?"bg-slate-800 border-slate-700 text-slate-100":"bg-white border-slate-200 text-slate-900"}`,children:[C.jsx("option",{value:"",children:"Select target..."}),g.map(w=>C.jsx("option",{value:w.id,children:w.name},w.id))]})]}),C.jsxs("div",{className:"flex gap-2 pt-2",children:[C.jsxs("button",{onClick:v,disabled:!r||!l,className:`flex-1 flex items-center justify-center gap-2 py-2 rounded-md text-xs font-bold transition-all ${!r||!l?"bg-slate-100 text-slate-400 cursor-not-allowed":"bg-blue-600 text-white hover:bg-blue-500 shadow-lg shadow-blue-500/20 active:scale-95"}`,children:[C.jsx(B2,{size:14}),"FIND PATH"]}),d&&C.jsx("button",{onClick:x,className:`p-2 rounded-md border transition-all hover:bg-slate-100 dark:hover:bg-slate-800 ${e==="dark"?"border-slate-700 text-slate-400":"border-slate-200 text-slate-500"}`,children:C.jsx(FW,{size:14})})]})]}),C.jsxs("div",{className:"flex-1 overflow-auto pr-1",children:[d&&!u&&C.jsxs("div",{className:"flex flex-col items-center justify-center py-10 text-center",children:[C.jsx(Zh,{size:32,className:"text-slate-300 mb-2"}),C.jsx("p",{className:"text-sm text-slate-500 italic",children:"No path found between these tables."})]}),u&&C.jsxs("div",{className:"space-y-1",children:[C.jsx("div",{className:`p-3 rounded-lg border border-l-4 border-l-blue-500 mb-4 ${e==="dark"?"bg-slate-800/30 border-slate-700":"bg-blue-50/50 border-blue-100"}`,children:C.jsxs("p",{className:"text-xs font-medium text-slate-500",children:["Path found with ",C.jsx("span",{className:"font-bold text-blue-500",children:u.length})," steps"]})}),C.jsxs("div",{className:"relative pl-4 space-y-0",children:[C.jsx("div",{className:"absolute left-1 top-2 bottom-2 w-0.5 bg-slate-200 dark:bg-slate-800"}),C.jsxs("div",{className:"relative mb-4",children:[C.jsx("div",{className:"absolute -left-[15px] top-1 w-2.5 h-2.5 rounded-full bg-blue-500 border-2 border-white dark:border-slate-900"}),C.jsx("button",{onClick:()=>i(r),className:"text-xs font-bold hover:text-blue-500 transition-colors",children:g.find(w=>w.id===r)?.name})]}),u.map((w,S)=>C.jsxs("div",{className:"mb-4",children:[C.jsxs("div",{className:`flex items-center gap-2 my-2 py-1 px-2 rounded border w-fit transition-colors ${e==="dark"?"bg-slate-800/50 border-slate-700 text-slate-400":w.edge.type==="er"?"bg-emerald-50 border-emerald-100 text-emerald-700":"bg-blue-50 border-blue-100 text-blue-700"}`,children:[w.edge.type==="er"?C.jsx(Da,{size:10,className:e==="dark"?"text-emerald-500":"text-emerald-600"}):C.jsx(q2,{size:10,className:e==="dark"?"text-blue-400":"text-blue-600"}),C.jsx("span",{className:"text-[9px] font-bold uppercase tracking-tighter",children:w.edge.type==="er"?`ER (${w.edge.metadata.type})`:"Lineage"})]}),C.jsxs("div",{className:"relative",children:[C.jsx("div",{className:"absolute -left-[15px] top-1 w-2.5 h-2.5 rounded-full bg-slate-400 border-2 border-white dark:border-slate-900"}),C.jsx("button",{onClick:()=>i(w.to),className:"text-xs font-bold hover:text-blue-500 transition-colors",children:g.find(k=>k.id===w.to)?.name})]})]},S))]})]})]})]})},Rse=()=>{const{schema:t,theme:e,setSelectedAnnotationId:n,setFocusNodeId:i}=Xt(),[r,s]=Q.useState(""),l=Q.useMemo(()=>t?.annotations?t.annotations.filter(u=>u.text.toLowerCase().includes(r.toLowerCase())):[],[t,r]),c=u=>{n(u),i(u)};return C.jsxs("div",{className:"flex-1 flex flex-col overflow-hidden p-4",children:[C.jsxs("div",{className:"relative mb-4 shrink-0",children:[C.jsx(B2,{size:14,className:"absolute left-3 top-1/2 -translate-y-1/2 text-slate-500"}),C.jsx("input",{type:"text",value:r,onChange:u=>s(u.target.value),placeholder:"Search notes...",className:`w-full pl-9 pr-4 py-2 rounded-md text-sm transition-all shadow-sm focus:outline-none focus:ring-1 focus:ring-blue-500/50 ${e==="dark"?"bg-slate-800 border-slate-700 text-slate-100":"bg-white border-slate-200 text-slate-900 shadow-slate-200/50"}`})]}),C.jsxs("div",{className:"flex-1 space-y-2 overflow-auto pr-1",children:[l.length===0&&r&&C.jsxs("div",{className:"text-center py-10 text-slate-500 italic text-sm",children:['No notes matching "',r,'"']}),l.map(u=>C.jsxs("button",{onClick:()=>c(u.id),className:`w-full p-3 text-left rounded-lg border transition-all group relative ${e==="dark"?"bg-slate-800/40 border-slate-700 hover:border-blue-500/50 hover:bg-slate-800/60":"bg-white border-slate-200 hover:border-blue-300 hover:bg-blue-50/30 shadow-sm"}`,children:[C.jsxs("div",{className:"flex items-center gap-2 mb-1.5",children:[C.jsx(vo,{size:12,className:u.type==="callout"?"text-blue-400":"text-amber-400"}),C.jsx("span",{className:"text-[10px] font-bold uppercase tracking-tighter text-slate-500",children:u.type==="callout"?"Callout":"Sticky Note"}),C.jsx(Kh,{size:12,className:"ml-auto opacity-0 group-hover:opacity-100 transition-opacity text-blue-500"})]}),C.jsx("p",{className:`text-xs line-clamp-3 leading-relaxed ${e==="dark"?"text-slate-300":"text-slate-600"}`,children:u.text}),u.targetId&&C.jsxs("div",{className:"mt-2 flex items-center gap-1.5 opacity-60",children:[C.jsx("div",{className:"w-1 h-1 rounded-full bg-slate-400"}),C.jsxs("span",{className:"text-[9px] font-medium truncate italic",children:["Attached to ",u.targetId]})]})]},u.id)),!r&&l.length===0&&C.jsxs("div",{className:"flex flex-col items-center justify-center py-20 text-center opacity-40",children:[C.jsx(kz,{size:48,className:"mb-4 text-slate-400"}),C.jsx("p",{className:"text-sm font-medium",children:"No annotations in this model yet."})]})]})]})},Dse=()=>{const{isRightPanelOpen:t,setIsRightPanelOpen:e,activeRightPanelTab:n,setActiveRightPanelTab:i,theme:r}=Xt(),s=c=>`
|
|
55
55
|
flex items-center justify-center w-10 h-10 rounded-xl transition-all relative group
|
|
56
56
|
${c?"bg-blue-600/10 text-blue-500 shadow-inner":r==="dark"?"text-slate-500 hover:text-slate-300 hover:bg-slate-800/30":"text-slate-400 hover:text-slate-600 hover:bg-slate-100"}
|
|
57
57
|
`,l=({text:c})=>C.jsxs("div",{className:"absolute right-14 px-2 py-1 bg-slate-800 text-white text-[10px] font-bold rounded opacity-0 group-hover:opacity-100 pointer-events-none transition-opacity whitespace-nowrap z-[60] border border-slate-700 shadow-xl",children:[c,C.jsx("div",{className:"absolute top-1/2 -right-1 -translate-y-1/2 border-4 border-transparent border-l-slate-800"})]});return C.jsxs("div",{className:`relative h-full flex flex-row transition-all duration-300 ease-in-out shadow-2xl z-50 ${t?"w-[456px]":"w-14"}`,children:[C.jsxs("div",{className:`w-14 h-full flex flex-col items-center py-4 border-l transition-colors z-50 ${r==="dark"?"bg-slate-950 border-slate-800":"bg-slate-50 border-slate-200"}`,children:[C.jsx("button",{onClick:()=>e(!t),className:`mb-6 p-2 rounded-xl transition-all ${r==="dark"?"hover:bg-slate-800 text-slate-400 hover:text-white":"hover:bg-white hover:shadow-md text-slate-500 hover:text-slate-900"}`,children:t?C.jsx(Vw,{size:20}):C.jsx(Sz,{size:20})}),C.jsxs("div",{className:"flex flex-col gap-2 mb-6",children:[C.jsxs("button",{onClick:()=>{i("tables"),e(!0)},className:s(n==="tables"&&t),children:[C.jsx(AW,{size:20}),C.jsx(l,{text:"Tables & Entities"})]}),C.jsxs("button",{onClick:()=>{i("path"),e(!0)},className:s(n==="path"&&t),children:[C.jsx(GW,{size:20}),C.jsx(l,{text:"Path Finder"})]}),C.jsxs("button",{onClick:()=>{i("notes"),e(!0)},className:s(n==="notes"&&t),children:[C.jsx(kz,{size:20}),C.jsx(l,{text:"Note Search"})]})]})]}),C.jsxs("div",{className:`flex-1 flex flex-col min-w-0 overflow-hidden transition-all duration-300 sidebar-content ${r==="dark"?"bg-slate-900":"bg-white"} ${t?"opacity-100 pointer-events-auto":"opacity-0 pointer-events-none"}`,style:{width:t?"400px":"0px"},children:[C.jsx("div",{className:`p-4 border-b flex items-center justify-between ${r==="dark"?"border-slate-800":"border-slate-100"}`,children:C.jsxs("h2",{className:`text-sm font-bold tracking-tight uppercase ${r==="dark"?"text-white":"text-slate-900"}`,children:[n==="tables"&&"Tables",n==="path"&&"Path Finder",n==="notes"&&"Note Search"]})}),n==="tables"&&C.jsx(Ose,{}),n==="path"&&C.jsx(Nse,{}),n==="notes"&&C.jsx(Rse,{})]})]})};function Lse(t,e){if(t.match(/^[a-z]+:\/\//i))return t;if(t.match(/^\/\//))return window.location.protocol+t;if(t.match(/^[a-z]+:/i))return t;const n=document.implementation.createHTMLDocument(),i=n.createElement("base"),r=n.createElement("a");return n.head.appendChild(i),n.body.appendChild(r),e&&(i.href=e),r.href=t,r.href}const zse=(()=>{let t=0;const e=()=>`0000${(Math.random()*36**4<<0).toString(36)}`.slice(-4);return()=>(t+=1,`u${e()}${t}`)})();function Us(t){const e=[];for(let n=0,i=t.length;n<i;n++)e.push(t[n]);return e}let Hl=null;function RB(t={}){return Hl||(t.includeStyleProperties?(Hl=t.includeStyleProperties,Hl):(Hl=Us(window.getComputedStyle(document.documentElement)),Hl))}function ep(t,e){const i=(t.ownerDocument.defaultView||window).getComputedStyle(t).getPropertyValue(e);return i?parseFloat(i.replace("px","")):0}function qse(t){const e=ep(t,"border-left-width"),n=ep(t,"border-right-width");return t.clientWidth+e+n}function Bse(t){const e=ep(t,"border-top-width"),n=ep(t,"border-bottom-width");return t.clientHeight+e+n}function DB(t,e={}){const n=e.width||qse(t),i=e.height||Bse(t);return{width:n,height:i}}function jse(){let t,e;try{e=process}catch{}const n=e&&e.env?e.env.devicePixelRatio:null;return n&&(t=parseInt(n,10),Number.isNaN(t)&&(t=1)),t||window.devicePixelRatio||1}const ri=16384;function Ise(t){(t.width>ri||t.height>ri)&&(t.width>ri&&t.height>ri?t.width>t.height?(t.height*=ri/t.width,t.width=ri):(t.width*=ri/t.height,t.height=ri):t.width>ri?(t.height*=ri/t.width,t.width=ri):(t.width*=ri/t.height,t.height=ri))}function tp(t){return new Promise((e,n)=>{const i=new Image;i.onload=()=>{i.decode().then(()=>{requestAnimationFrame(()=>e(i))})},i.onerror=n,i.crossOrigin="anonymous",i.decoding="async",i.src=t})}async function Pse(t){return Promise.resolve().then(()=>new XMLSerializer().serializeToString(t)).then(encodeURIComponent).then(e=>`data:image/svg+xml;charset=utf-8,${e}`)}async function Hse(t,e,n){const i="http://www.w3.org/2000/svg",r=document.createElementNS(i,"svg"),s=document.createElementNS(i,"foreignObject");return r.setAttribute("width",`${e}`),r.setAttribute("height",`${n}`),r.setAttribute("viewBox",`0 0 ${e} ${n}`),s.setAttribute("width","100%"),s.setAttribute("height","100%"),s.setAttribute("x","0"),s.setAttribute("y","0"),s.setAttribute("externalResourcesRequired","true"),r.appendChild(s),s.appendChild(t),Pse(r)}const Fn=(t,e)=>{if(t instanceof e)return!0;const n=Object.getPrototypeOf(t);return n===null?!1:n.constructor.name===e.name||Fn(n,e)};function Use(t){const e=t.getPropertyValue("content");return`${t.cssText} content: '${e.replace(/'|"/g,"")}';`}function Vse(t,e){return RB(e).map(n=>{const i=t.getPropertyValue(n),r=t.getPropertyPriority(n);return`${n}: ${i}${r?" !important":""};`}).join(" ")}function Fse(t,e,n,i){const r=`.${t}:${e}`,s=n.cssText?Use(n):Vse(n,i);return document.createTextNode(`${r}{${s}}`)}function t4(t,e,n,i){const r=window.getComputedStyle(t,n),s=r.getPropertyValue("content");if(s===""||s==="none")return;const l=zse();try{e.className=`${e.className} ${l}`}catch{return}const c=document.createElement("style");c.appendChild(Fse(l,n,r,i)),e.appendChild(c)}function $se(t,e,n){t4(t,e,":before",n),t4(t,e,":after",n)}const n4="application/font-woff",i4="image/jpeg",Gse={woff:n4,woff2:n4,ttf:"application/font-truetype",eot:"application/vnd.ms-fontobject",png:"image/png",jpg:i4,jpeg:i4,gif:"image/gif",tiff:"image/tiff",svg:"image/svg+xml",webp:"image/webp"};function Yse(t){const e=/\.([^./]*?)$/g.exec(t);return e?e[1]:""}function kC(t){const e=Yse(t).toLowerCase();return Gse[e]||""}function Qse(t){return t.split(/,/)[1]}function FS(t){return t.search(/^(data:)/)!==-1}function Xse(t,e){return`data:${e};base64,${t}`}async function LB(t,e,n){const i=await fetch(t,e);if(i.status===404)throw new Error(`Resource "${i.url}" not found`);const r=await i.blob();return new Promise((s,l)=>{const c=new FileReader;c.onerror=l,c.onloadend=()=>{try{s(n({res:i,result:c.result}))}catch(u){l(u)}},c.readAsDataURL(r)})}const xw={};function Wse(t,e,n){let i=t.replace(/\?.*/,"");return n&&(i=t),/ttf|otf|eot|woff2?/i.test(i)&&(i=i.replace(/.*\//,"")),e?`[${e}]${i}`:i}async function AC(t,e,n){const i=Wse(t,e,n.includeQueryParams);if(xw[i]!=null)return xw[i];n.cacheBust&&(t+=(/\?/.test(t)?"&":"?")+new Date().getTime());let r;try{const s=await LB(t,n.fetchRequestInit,({res:l,result:c})=>(e||(e=l.headers.get("Content-Type")||""),Qse(c)));r=Xse(s,e)}catch(s){r=n.imagePlaceholder||"";let l=`Failed to fetch resource: ${t}`;s&&(l=typeof s=="string"?s:s.message),l&&console.warn(l)}return xw[i]=r,r}async function Kse(t){const e=t.toDataURL();return e==="data:,"?t.cloneNode(!1):tp(e)}async function Zse(t,e){if(t.currentSrc){const s=document.createElement("canvas"),l=s.getContext("2d");s.width=t.clientWidth,s.height=t.clientHeight,l?.drawImage(t,0,0,s.width,s.height);const c=s.toDataURL();return tp(c)}const n=t.poster,i=kC(n),r=await AC(n,i,e);return tp(r)}async function Jse(t,e){var n;try{if(!((n=t?.contentDocument)===null||n===void 0)&&n.body)return await Vp(t.contentDocument.body,e,!0)}catch{}return t.cloneNode(!1)}async function eae(t,e){return Fn(t,HTMLCanvasElement)?Kse(t):Fn(t,HTMLVideoElement)?Zse(t,e):Fn(t,HTMLIFrameElement)?Jse(t,e):t.cloneNode(zB(t))}const tae=t=>t.tagName!=null&&t.tagName.toUpperCase()==="SLOT",zB=t=>t.tagName!=null&&t.tagName.toUpperCase()==="SVG";async function nae(t,e,n){var i,r;if(zB(e))return e;let s=[];return tae(t)&&t.assignedNodes?s=Us(t.assignedNodes()):Fn(t,HTMLIFrameElement)&&(!((i=t.contentDocument)===null||i===void 0)&&i.body)?s=Us(t.contentDocument.body.childNodes):s=Us(((r=t.shadowRoot)!==null&&r!==void 0?r:t).childNodes),s.length===0||Fn(t,HTMLVideoElement)||await s.reduce((l,c)=>l.then(()=>Vp(c,n)).then(u=>{u&&e.appendChild(u)}),Promise.resolve()),e}function iae(t,e,n){const i=e.style;if(!i)return;const r=window.getComputedStyle(t);r.cssText?(i.cssText=r.cssText,i.transformOrigin=r.transformOrigin):RB(n).forEach(s=>{let l=r.getPropertyValue(s);s==="font-size"&&l.endsWith("px")&&(l=`${Math.floor(parseFloat(l.substring(0,l.length-2)))-.1}px`),Fn(t,HTMLIFrameElement)&&s==="display"&&l==="inline"&&(l="block"),s==="d"&&e.getAttribute("d")&&(l=`path(${e.getAttribute("d")})`),i.setProperty(s,l,r.getPropertyPriority(s))})}function rae(t,e){Fn(t,HTMLTextAreaElement)&&(e.innerHTML=t.value),Fn(t,HTMLInputElement)&&e.setAttribute("value",t.value)}function sae(t,e){if(Fn(t,HTMLSelectElement)){const i=Array.from(e.children).find(r=>t.value===r.getAttribute("value"));i&&i.setAttribute("selected","")}}function aae(t,e,n){return Fn(e,Element)&&(iae(t,e,n),$se(t,e,n),rae(t,e),sae(t,e)),e}async function lae(t,e){const n=t.querySelectorAll?t.querySelectorAll("use"):[];if(n.length===0)return t;const i={};for(let s=0;s<n.length;s++){const c=n[s].getAttribute("xlink:href");if(c){const u=t.querySelector(c),h=document.querySelector(c);!u&&h&&!i[c]&&(i[c]=await Vp(h,e,!0))}}const r=Object.values(i);if(r.length){const s="http://www.w3.org/1999/xhtml",l=document.createElementNS(s,"svg");l.setAttribute("xmlns",s),l.style.position="absolute",l.style.width="0",l.style.height="0",l.style.overflow="hidden",l.style.display="none";const c=document.createElementNS(s,"defs");l.appendChild(c);for(let u=0;u<r.length;u++)c.appendChild(r[u]);t.appendChild(l)}return t}async function Vp(t,e,n){return!n&&e.filter&&!e.filter(t)?null:Promise.resolve(t).then(i=>eae(i,e)).then(i=>nae(t,i,e)).then(i=>aae(t,i,e)).then(i=>lae(i,e))}const qB=/url\((['"]?)([^'"]+?)\1\)/g,oae=/url\([^)]+\)\s*format\((["']?)([^"']+)\1\)/g,cae=/src:\s*(?:url\([^)]+\)\s*format\([^)]+\)[,;]\s*)+/g;function uae(t){const e=t.replace(/([.*+?^${}()|\[\]\/\\])/g,"\\$1");return new RegExp(`(url\\(['"]?)(${e})(['"]?\\))`,"g")}function fae(t){const e=[];return t.replace(qB,(n,i,r)=>(e.push(r),n)),e.filter(n=>!FS(n))}async function hae(t,e,n,i,r){try{const s=n?Lse(e,n):e,l=kC(e);let c;return r||(c=await AC(s,l,i)),t.replace(uae(e),`$1${c}$3`)}catch{}return t}function dae(t,{preferredFontFormat:e}){return e?t.replace(cae,n=>{for(;;){const[i,,r]=oae.exec(n)||[];if(!r)return"";if(r===e)return`src: ${i};`}}):t}function BB(t){return t.search(qB)!==-1}async function jB(t,e,n){if(!BB(t))return t;const i=dae(t,n);return fae(i).reduce((s,l)=>s.then(c=>hae(c,l,e,n)),Promise.resolve(i))}async function Ul(t,e,n){var i;const r=(i=e.style)===null||i===void 0?void 0:i.getPropertyValue(t);if(r){const s=await jB(r,null,n);return e.style.setProperty(t,s,e.style.getPropertyPriority(t)),!0}return!1}async function pae(t,e){await Ul("background",t,e)||await Ul("background-image",t,e),await Ul("mask",t,e)||await Ul("-webkit-mask",t,e)||await Ul("mask-image",t,e)||await Ul("-webkit-mask-image",t,e)}async function mae(t,e){const n=Fn(t,HTMLImageElement);if(!(n&&!FS(t.src))&&!(Fn(t,SVGImageElement)&&!FS(t.href.baseVal)))return;const i=n?t.src:t.href.baseVal,r=await AC(i,kC(i),e);await new Promise((s,l)=>{t.onload=s,t.onerror=e.onImageErrorHandler?(...u)=>{try{s(e.onImageErrorHandler(...u))}catch(h){l(h)}}:l;const c=t;c.decode&&(c.decode=s),c.loading==="lazy"&&(c.loading="eager"),n?(t.srcset="",t.src=r):t.href.baseVal=r})}async function gae(t,e){const i=Us(t.childNodes).map(r=>IB(r,e));await Promise.all(i).then(()=>t)}async function IB(t,e){Fn(t,Element)&&(await pae(t,e),await mae(t,e),await gae(t,e))}function yae(t,e){const{style:n}=t;e.backgroundColor&&(n.backgroundColor=e.backgroundColor),e.width&&(n.width=`${e.width}px`),e.height&&(n.height=`${e.height}px`);const i=e.style;return i!=null&&Object.keys(i).forEach(r=>{n[r]=i[r]}),t}const r4={};async function s4(t){let e=r4[t];if(e!=null)return e;const i=await(await fetch(t)).text();return e={url:t,cssText:i},r4[t]=e,e}async function a4(t,e){let n=t.cssText;const i=/url\(["']?([^"')]+)["']?\)/g,s=(n.match(/url\([^)]+\)/g)||[]).map(async l=>{let c=l.replace(i,"$1");return c.startsWith("https://")||(c=new URL(c,t.url).href),LB(c,e.fetchRequestInit,({result:u})=>(n=n.replace(l,`url(${u})`),[l,u]))});return Promise.all(s).then(()=>n)}function l4(t){if(t==null)return[];const e=[],n=/(\/\*[\s\S]*?\*\/)/gi;let i=t.replace(n,"");const r=new RegExp("((@.*?keyframes [\\s\\S]*?){([\\s\\S]*?}\\s*?)})","gi");for(;;){const u=r.exec(i);if(u===null)break;e.push(u[0])}i=i.replace(r,"");const s=/@import[\s\S]*?url\([^)]*\)[\s\S]*?;/gi,l="((\\s*?(?:\\/\\*[\\s\\S]*?\\*\\/)?\\s*?@media[\\s\\S]*?){([\\s\\S]*?)}\\s*?})|(([\\s\\S]*?){([\\s\\S]*?)})",c=new RegExp(l,"gi");for(;;){let u=s.exec(i);if(u===null){if(u=c.exec(i),u===null)break;s.lastIndex=c.lastIndex}else c.lastIndex=s.lastIndex;e.push(u[0])}return e}async function vae(t,e){const n=[],i=[];return t.forEach(r=>{if("cssRules"in r)try{Us(r.cssRules||[]).forEach((s,l)=>{if(s.type===CSSRule.IMPORT_RULE){let c=l+1;const u=s.href,h=s4(u).then(d=>a4(d,e)).then(d=>l4(d).forEach(m=>{try{r.insertRule(m,m.startsWith("@import")?c+=1:r.cssRules.length)}catch(g){console.error("Error inserting rule from remote css",{rule:m,error:g})}})).catch(d=>{console.error("Error loading remote css",d.toString())});i.push(h)}})}catch(s){const l=t.find(c=>c.href==null)||document.styleSheets[0];r.href!=null&&i.push(s4(r.href).then(c=>a4(c,e)).then(c=>l4(c).forEach(u=>{l.insertRule(u,l.cssRules.length)})).catch(c=>{console.error("Error loading remote stylesheet",c)})),console.error("Error inlining remote css file",s)}}),Promise.all(i).then(()=>(t.forEach(r=>{if("cssRules"in r)try{Us(r.cssRules||[]).forEach(s=>{n.push(s)})}catch(s){console.error(`Error while reading CSS rules from ${r.href}`,s)}}),n))}function bae(t){return t.filter(e=>e.type===CSSRule.FONT_FACE_RULE).filter(e=>BB(e.style.getPropertyValue("src")))}async function xae(t,e){if(t.ownerDocument==null)throw new Error("Provided element is not within a Document");const n=Us(t.ownerDocument.styleSheets),i=await vae(n,e);return bae(i)}function PB(t){return t.trim().replace(/["']/g,"")}function wae(t){const e=new Set;function n(i){(i.style.fontFamily||getComputedStyle(i).fontFamily).split(",").forEach(s=>{e.add(PB(s))}),Array.from(i.children).forEach(s=>{s instanceof HTMLElement&&n(s)})}return n(t),e}async function Sae(t,e){const n=await xae(t,e),i=wae(t);return(await Promise.all(n.filter(s=>i.has(PB(s.style.fontFamily))).map(s=>{const l=s.parentStyleSheet?s.parentStyleSheet.href:null;return jB(s.cssText,l,e)}))).join(`
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
<link rel="icon" type="image/svg+xml" href="./favicon.svg" />
|
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
7
7
|
<title>Modscape</title>
|
|
8
|
-
<script type="module" crossorigin src="./assets/index-
|
|
9
|
-
<link rel="stylesheet" crossorigin href="./assets/index-
|
|
8
|
+
<script type="module" crossorigin src="./assets/index-Dtgsjgib.js"></script>
|
|
9
|
+
<link rel="stylesheet" crossorigin href="./assets/index-BHqdts7X.css">
|
|
10
10
|
</head>
|
|
11
11
|
<body>
|
|
12
12
|
<div id="root"></div>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.collapse{visibility:collapse}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.-bottom-1{bottom:-.25rem}.-left-1{left:-.25rem}.-left-\[15px\]{left:-15px}.-right-1{right:-.25rem}.-top-10{top:-2.5rem}.bottom-0{bottom:0}.bottom-1{bottom:.25rem}.bottom-2{bottom:.5rem}.bottom-4{bottom:1rem}.left-0\.5{left:.125rem}.left-1{left:.25rem}.left-1\/2{left:50%}.left-14{left:3.5rem}.left-3{left:.75rem}.left-4{left:1rem}.right-0{right:0}.right-1{right:.25rem}.right-14{right:3.5rem}.right-3{right:.75rem}.right-4{right:1rem}.right-6{right:1.5rem}.top-0{top:0}.top-0\.5{top:.125rem}.top-1{top:.25rem}.top-1\/2{top:50%}.top-2{top:.5rem}.top-4{top:1rem}.top-6{top:1.5rem}.z-10{z-index:10}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[200\]{z-index:200}.z-\[60\]{z-index:60}.mx-0\.5{margin-left:.125rem;margin-right:.125rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.ml-1{margin-left:.25rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.\!table{display:table!important}.table{display:table}.grid{display:grid}.hidden{display:none}.h-1{height:.25rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-full{height:100%}.h-screen{height:100vh}.min-h-0{min-height:0px}.w-0\.5{width:.125rem}.w-1{width:.25rem}.w-10{width:2.5rem}.w-14{width:3.5rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-3{width:.75rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-\[456px\]{width:456px}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-px{width:1px}.w-screen{width:100vw}.min-w-0{min-width:0px}.min-w-\[140px\]{min-width:140px}.min-w-\[20px\]{min-width:20px}.min-w-\[60px\]{min-width:60px}.max-w-\[180px\]{max-width:180px}.max-w-\[200px\]{max-width:200px}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-3{--tw-translate-x: .75rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-110{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-help{cursor:help}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.resize{resize:both}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.self-center{align-self:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[4px\]{border-radius:4px}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-4{border-width:4px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-l-4{border-left-width:4px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-amber-500\/40{border-color:#f59e0b66}.border-amber-500\/50{border-color:#f59e0b80}.border-blue-100{--tw-border-opacity: 1;border-color:rgb(219 234 254 / var(--tw-border-opacity, 1))}.border-blue-200{--tw-border-opacity: 1;border-color:rgb(191 219 254 / var(--tw-border-opacity, 1))}.border-blue-500\/20{border-color:#3b82f633}.border-blue-500\/30{border-color:#3b82f64d}.border-blue-500\/40{border-color:#3b82f666}.border-blue-500\/50{border-color:#3b82f680}.border-emerald-200{--tw-border-opacity: 1;border-color:rgb(167 243 208 / var(--tw-border-opacity, 1))}.border-emerald-400{--tw-border-opacity: 1;border-color:rgb(52 211 153 / var(--tw-border-opacity, 1))}.border-emerald-500\/30{border-color:#10b9814d}.border-emerald-500\/50{border-color:#10b98180}.border-red-100{--tw-border-opacity: 1;border-color:rgb(254 226 226 / var(--tw-border-opacity, 1))}.border-red-500\/50{border-color:#ef444480}.border-slate-100{--tw-border-opacity: 1;border-color:rgb(241 245 249 / var(--tw-border-opacity, 1))}.border-slate-200{--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity, 1))}.border-slate-300\/50{border-color:#cbd5e180}.border-slate-600\/50{border-color:#47556980}.border-slate-700{--tw-border-opacity: 1;border-color:rgb(51 65 85 / var(--tw-border-opacity, 1))}.border-slate-700\/50{border-color:#33415580}.border-slate-800{--tw-border-opacity: 1;border-color:rgb(30 41 59 / var(--tw-border-opacity, 1))}.border-transparent{border-color:transparent}.border-white{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1))}.border-l-blue-500{--tw-border-opacity: 1;border-left-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.border-l-slate-800{--tw-border-opacity: 1;border-left-color:rgb(30 41 59 / var(--tw-border-opacity, 1))}.border-l-transparent{border-left-color:transparent}.border-r-slate-800{--tw-border-opacity: 1;border-right-color:rgb(30 41 59 / var(--tw-border-opacity, 1))}.border-t-transparent{border-top-color:transparent}.bg-\[\#282c34\]{--tw-bg-opacity: 1;background-color:rgb(40 44 52 / var(--tw-bg-opacity, 1))}.bg-amber-500\/20{background-color:#f59e0b33}.bg-amber-500\/30{background-color:#f59e0b4d}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-blue-50\/50{background-color:#eff6ff80}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.bg-blue-500\/10{background-color:#3b82f61a}.bg-blue-500\/20{background-color:#3b82f633}.bg-blue-500\/30{background-color:#3b82f64d}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.bg-blue-600\/10{background-color:#2563eb1a}.bg-emerald-500{--tw-bg-opacity: 1;background-color:rgb(16 185 129 / var(--tw-bg-opacity, 1))}.bg-emerald-500\/10{background-color:#10b9811a}.bg-emerald-500\/20{background-color:#10b98133}.bg-emerald-600{--tw-bg-opacity: 1;background-color:rgb(5 150 105 / var(--tw-bg-opacity, 1))}.bg-red-900\/90{background-color:#7f1d1de6}.bg-slate-100{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.bg-slate-200{--tw-bg-opacity: 1;background-color:rgb(226 232 240 / var(--tw-bg-opacity, 1))}.bg-slate-300{--tw-bg-opacity: 1;background-color:rgb(203 213 225 / var(--tw-bg-opacity, 1))}.bg-slate-400{--tw-bg-opacity: 1;background-color:rgb(148 163 184 / var(--tw-bg-opacity, 1))}.bg-slate-50{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.bg-slate-50\/50{background-color:#f8fafc80}.bg-slate-700{--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity, 1))}.bg-slate-700\/50{background-color:#33415580}.bg-slate-800{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}.bg-slate-800\/30{background-color:#1e293b4d}.bg-slate-800\/40{background-color:#1e293b66}.bg-slate-800\/50{background-color:#1e293b80}.bg-slate-800\/60{background-color:#1e293b99}.bg-slate-900{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity, 1))}.bg-slate-900\/20{background-color:#0f172a33}.bg-slate-900\/50{background-color:#0f172a80}.bg-slate-900\/80{background-color:#0f172acc}.bg-slate-900\/90{background-color:#0f172ae6}.bg-slate-950{--tw-bg-opacity: 1;background-color:rgb(2 6 23 / var(--tw-bg-opacity, 1))}.bg-slate-950\/20{background-color:#02061733}.bg-slate-950\/40{background-color:#02061766}.bg-slate-950\/60{background-color:#02061799}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/60{background-color:#fff9}.bg-white\/80{background-color:#fffc}.bg-white\/90{background-color:#ffffffe6}.stroke-\[3px\]{stroke-width:3px}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-\[1px\]{padding:1px}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pl-2{padding-left:.5rem}.pl-4{padding-left:1rem}.pl-9{padding-left:2.25rem}.pr-1{padding-right:.25rem}.pr-4{padding-right:1rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-tighter{letter-spacing:-.05em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-amber-400{--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.text-amber-400\/70{color:#fbbf24b3}.text-amber-500{--tw-text-opacity: 1;color:rgb(245 158 11 / var(--tw-text-opacity, 1))}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-amber-600\/70{color:#d97706b3}.text-blue-300{--tw-text-opacity: 1;color:rgb(147 197 253 / var(--tw-text-opacity, 1))}.text-blue-400{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.text-blue-400\/70{color:#60a5fab3}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-blue-600\/70{color:#2563ebb3}.text-emerald-400{--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity, 1))}.text-emerald-500{--tw-text-opacity: 1;color:rgb(16 185 129 / var(--tw-text-opacity, 1))}.text-purple-500{--tw-text-opacity: 1;color:rgb(168 85 247 / var(--tw-text-opacity, 1))}.text-red-100{--tw-text-opacity: 1;color:rgb(254 226 226 / var(--tw-text-opacity, 1))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-500\/50{color:#ef444480}.text-slate-100{--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity, 1))}.text-slate-200{--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity, 1))}.text-slate-300{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}.text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.text-slate-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.text-slate-700{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.text-slate-800{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity, 1))}.text-slate-900{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-20{opacity:.2}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-inner{--tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / .05);--tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-blue-500\/20{--tw-shadow-color: rgb(59 130 246 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-blue-500\/5{--tw-shadow-color: rgb(59 130 246 / .05);--tw-shadow: var(--tw-shadow-colored)}.shadow-emerald-500\/20{--tw-shadow-color: rgb(16 185 129 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-emerald-500\/30{--tw-shadow-color: rgb(16 185 129 / .3);--tw-shadow: var(--tw-shadow-colored)}.shadow-slate-200\/50{--tw-shadow-color: rgb(226 232 240 / .5);--tw-shadow: var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-md{--tw-backdrop-blur: blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}:root{--canvas-bg: #f1f5f9;--node-bg: #ffffff;--text-primary: #0f172a;--text-secondary: #64748b;--border-main: #e2e8f0;--header-bg: #f8fafc;--glass-bg: rgba(255, 255, 255, .7);--glass-border: rgba(203, 213, 225, .5)}.dark{--canvas-bg: #020617;--node-bg: #1e293b;--text-primary: #f1f5f9;--text-secondary: #94a3b8;--border-main: #334155;--header-bg: #0f172a;--glass-bg: rgba(15, 23, 42, .85);--glass-border: rgba(51, 65, 85, .5)}*{border-color:var(--border-main)}body{margin:0;padding:0;background-color:var(--canvas-bg);color:var(--text-primary);transition:background-color .3s ease,color .3s ease}#root{height:100vh;width:100vw}.react-flow{background-color:var(--canvas-bg)}.react-flow__pane{cursor:grab}.react-flow__pane:active{cursor:grabbing}.react-flow__background{background-color:var(--canvas-bg)}.react-flow__controls{background:var(--header-bg)!important;border:1px solid var(--border-main)!important;border-radius:8px;box-shadow:0 4px 12px #0000001a}.react-flow__controls-button{background:var(--header-bg)!important;border-bottom:1px solid var(--border-main)!important;fill:var(--text-primary)!important}.react-flow__controls-button:hover{background:var(--border-main)!important}.react-flow__controls-button svg{fill:var(--text-primary)!important}.column-row:hover .column-handle{opacity:1!important;background-color:#3b82f6!important;width:8px!important;height:8px!important;border-radius:50%!important;border:2px solid #ffffff!important;transition:opacity .15s ease-in-out}.column-handle{transition:opacity .15s ease-in-out;pointer-events:auto}@keyframes pulse-handle{0%{transform:scale(1);box-shadow:0 0 #3b82f6b3}70%{transform:scale(1.4);box-shadow:0 0 0 10px #3b82f600}to{transform:scale(1);box-shadow:0 0 #3b82f600}}.handle-pulse{animation:pulse-handle 1.5s infinite;background-color:#3b82f6!important;border:2px solid #ffffff!important;z-index:100!important;opacity:1!important}.handle-dim{opacity:.2!important;transition:opacity .3s ease}.react-flow__handle{transition:transform .2s ease,background-color .2s ease,opacity .3s ease}.react-flow__handle:hover{transform:scale(1.5)}@keyframes node-appear{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-creation{animation:node-appear .4s ease-out forwards}.custom-scrollbar::-webkit-scrollbar{width:4px}.custom-scrollbar::-webkit-scrollbar-track{background:transparent}.custom-scrollbar::-webkit-scrollbar-thumb{background:#0000001a;border-radius:10px}.dark .custom-scrollbar::-webkit-scrollbar-thumb{background:#ffffff1a}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#0003}.dark .custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#fff3}.last\:border-0:last-child{border-width:0px}.hover\:rotate-90:hover{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-blue-300:hover{--tw-border-opacity: 1;border-color:rgb(147 197 253 / var(--tw-border-opacity, 1))}.hover\:border-blue-500\/50:hover{border-color:#3b82f680}.hover\:bg-blue-50:hover{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.hover\:bg-blue-50\/30:hover{background-color:#eff6ff4d}.hover\:bg-blue-500:hover{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.hover\:bg-blue-700:hover{--tw-bg-opacity: 1;background-color:rgb(29 78 216 / var(--tw-bg-opacity, 1))}.hover\:bg-emerald-700:hover{--tw-bg-opacity: 1;background-color:rgb(4 120 87 / var(--tw-bg-opacity, 1))}.hover\:bg-red-50:hover{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.hover\:bg-red-500\/20:hover{background-color:#ef444433}.hover\:bg-slate-100:hover{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-200:hover{--tw-bg-opacity: 1;background-color:rgb(226 232 240 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-50:hover{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-700:hover{--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-800:hover{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-800\/30:hover{background-color:#1e293b4d}.hover\:bg-slate-800\/50:hover{background-color:#1e293b80}.hover\:bg-slate-800\/60:hover{background-color:#1e293b99}.hover\:bg-white:hover{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.hover\:text-amber-400:hover{--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.hover\:text-blue-400:hover{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.hover\:text-blue-500:hover{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.hover\:text-blue-600:hover{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.hover\:text-red-400:hover{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.hover\:text-red-500:hover{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.hover\:text-slate-100:hover{--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity, 1))}.hover\:text-slate-200:hover{--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity, 1))}.hover\:text-slate-300:hover{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}.hover\:text-slate-600:hover{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.hover\:text-slate-900:hover{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-50:hover{opacity:.5}.hover\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-sm:hover{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:border-blue-400:focus{--tw-border-opacity: 1;border-color:rgb(96 165 250 / var(--tw-border-opacity, 1))}.focus\:bg-blue-50:focus{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.focus\:bg-slate-50:focus{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.focus\:bg-slate-800:focus{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-blue-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(96 165 250 / var(--tw-ring-opacity, 1))}.focus\:ring-blue-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1))}.focus\:ring-blue-500\/50:focus{--tw-ring-color: rgb(59 130 246 / .5)}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.active\:scale-90:active{--tw-scale-x: .9;--tw-scale-y: .9;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-95:active{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:flex{display:flex}.group:hover .group-hover\:text-slate-300{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:text-slate-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:opacity-100{opacity:1}.data-\[state\=active\]\:shadow-sm[data-state=active]{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}@media(prefers-color-scheme:dark){.dark\:border-slate-700{--tw-border-opacity: 1;border-color:rgb(51 65 85 / var(--tw-border-opacity, 1))}.dark\:border-slate-800{--tw-border-opacity: 1;border-color:rgb(30 41 59 / var(--tw-border-opacity, 1))}.dark\:border-slate-900{--tw-border-opacity: 1;border-color:rgb(15 23 42 / var(--tw-border-opacity, 1))}.dark\:bg-slate-700{--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity, 1))}.dark\:bg-slate-800{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}.dark\:bg-slate-800\/50{background-color:#1e293b80}.dark\:text-slate-300{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}.dark\:text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.dark\:text-slate-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.dark\:hover\:bg-slate-800:hover{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\&\>tr\]\:last\:border-b-0:last-child>tr{border-bottom-width:0px}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0px}.\[\&_tr\]\:border-b tr{border-bottom-width:1px}.react-flow{direction:ltr}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:grabbing}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:grab}.react-flow__node.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background:#1a192b;border:1px solid white;border-radius:100%}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:-4px;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{font-size:10px;background:#ffffff80;padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:3px;width:150px;font-size:12px;color:#222;text-align:center;border-width:1px;border-style:solid;border-color:#1a192b;background-color:#fff}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted rgba(0,89,220,.8)}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{border:none;background:#fefefe;border-bottom:1px solid #eee;box-sizing:content-box;display:flex;justify-content:center;align-items:center;width:16px;height:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:5px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:4px;height:4px;border:1px solid #fff;border-radius:1px;background-color:#3367d9;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:#3367d9;border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}
|