diff --git a/data_svelte/build/bundle.css b/data_svelte/build/bundle.css new file mode 100644 index 00000000..40e33a4a --- /dev/null +++ b/data_svelte/build/bundle.css @@ -0,0 +1,40 @@ +*,::before,::after{box-sizing:border-box}html{-moz-tab-size:4;-o-tab-size:4;tab-size:4}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}body{font-family:system-ui, + -apple-system, /* Firefox supports this but not yet `system-ui` */ + 'Segoe UI', + Roboto, + Helvetica, + Arial, + sans-serif, + 'Apple Color Emoji', + 'Segoe UI Emoji'}hr{height:0;color:inherit}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace, + SFMono-Regular, + Consolas, + 'Liberation Mono', + Menlo, + monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}table{text-indent:0;border-color:inherit}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}button,[type='button']{-webkit-appearance:button}::-moz-focus-inner{border-style:none;padding:0}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}::-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}button{background-color:transparent;background-image:none}fieldset{margin:0;padding:0}ol,ul{list-style:none;margin:0;padding:0}html{font-family:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";line-height:1.5}body{font-family:inherit;line-height:inherit}*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:currentColor}hr{border-top-width:1px}img{border-style:solid}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input:-ms-input-placeholder,textarea:-ms-input-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button{cursor:pointer}table{border-collapse:collapse}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}button,input,optgroup,select,textarea{padding:0;line-height:inherit;color:inherit}pre,code,kbd,samp{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,::before,::after{--tw-border-opacity:1;border-color:rgba(229, 231, 235, var(--tw-border-opacity))}.grd-1col1{display:grid;grid-template-columns:repeat(1, minmax(0, 1fr));justify-items:center}.grd-2col1{display:grid;grid-template-columns:repeat(1, minmax(0, 1fr));justify-items:center;gap:1rem}@media(min-width: 640px){.grd-2col1{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(min-width: 1024px){.grd-2col1{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(min-width: 1280px){.grd-2col1{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(min-width: 1536px){.grd-2col1{grid-template-columns:repeat(2, minmax(0, 1fr))}}.grd-2col2{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));justify-items:center;gap:1rem}.grd-3col1{display:grid;grid-template-columns:repeat(1, minmax(0, 1fr));justify-items:center;gap:1rem}@media(min-width: 640px){.grd-3col1{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(min-width: 1024px){.grd-3col1{grid-template-columns:repeat(3, minmax(0, 1fr))}}@media(min-width: 1280px){.grd-3col1{grid-template-columns:repeat(3, minmax(0, 1fr))}}@media(min-width: 1536px){.grd-3col1{grid-template-columns:repeat(3, minmax(0, 1fr))}}.crd-itm-psn{margin-bottom:0.5rem;display:flex;height:2rem;align-items:center}.wgt-dscr-stl{padding-right:1rem;font-weight:700;--tw-text-opacity:1;color:rgba(107, 114, 128, var(--tw-text-opacity))}.wgt-adt-stl{text-align:center;font-weight:700;--tw-text-opacity:1;color:rgba(107, 114, 128, var(--tw-text-opacity))}.tbl{margin-top:0.5rem;margin-bottom:0.5rem;width:100%;table-layout:fixed;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tbl-hd{overflow-wrap:break-word;padding-left:0.25rem;padding-right:0.25rem;text-align:center;font-weight:700;--tw-text-opacity:1;color:rgba(107, 114, 128, var(--tw-text-opacity))}.tbl-bdy-lg{overflow-wrap:break-word;padding-left:0.25rem;padding-right:0.25rem;text-align:center}.tbl-bdy-sm{overflow-wrap:break-word;padding-left:0.25rem;padding-right:0.25rem}.ipt-lg{margin-top:0.5rem;height:1rem;align-content:center;border-width:2px;--tw-border-opacity:1;border-color:rgba(243, 244, 246, var(--tw-border-opacity))}.ipt-lg:focus{--tw-border-opacity:1;border-color:rgba(99, 102, 241, var(--tw-border-opacity))}.ipt-lg{--tw-bg-opacity:1;background-color:rgba(249, 250, 251, var(--tw-bg-opacity))}.ipt-lg:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.ipt-lg{text-align:center;line-height:1.25;--tw-text-opacity:1;color:rgba(55, 65, 81, var(--tw-text-opacity))}.ipt-lg:focus{outline:2px solid transparent;outline-offset:2px}@media(min-width: 640px){.ipt-lg{height:1.75rem}}@media(min-width: 768px){.ipt-lg{height:1.75rem}}@media(min-width: 1024px){.ipt-lg{height:1.75rem}}@media(min-width: 1280px){.ipt-lg{height:1.75rem}}@media(min-width: 1536px){.ipt-lg{height:1.75rem}}.ipt-sm{height:0.75rem;align-content:center;border-radius:0.125rem;border-width:2px;--tw-border-opacity:1;border-color:rgba(243, 244, 246, var(--tw-border-opacity))}.ipt-sm:focus{--tw-border-opacity:1;border-color:rgba(99, 102, 241, var(--tw-border-opacity))}.ipt-sm{--tw-bg-opacity:1;background-color:rgba(249, 250, 251, var(--tw-bg-opacity))}.ipt-sm:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.ipt-sm{text-align:center;line-height:1.25;--tw-text-opacity:1;color:rgba(55, 65, 81, var(--tw-text-opacity))}.ipt-sm:focus{outline:2px solid transparent;outline-offset:2px}@media(min-width: 640px){.ipt-sm{height:1.5rem}}@media(min-width: 768px){.ipt-sm{height:1.5rem}}@media(min-width: 1024px){.ipt-sm{height:1.5rem}}@media(min-width: 1280px){.ipt-sm{height:1.5rem}}@media(min-width: 1536px){.ipt-sm{height:1.5rem}}.ipt-rnd{height:2rem;width:100%;align-content:center;border-radius:0.25rem;border-width:2px;--tw-border-opacity:1;border-color:rgba(229, 231, 235, var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgba(249, 250, 251, var(--tw-bg-opacity))}.ipt-rnd:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.ipt-rnd{padding-left:0.5rem;padding-right:0.5rem;line-height:1.25;--tw-text-opacity:1;color:rgba(55, 65, 81, var(--tw-text-opacity))}.ipt-rnd:focus{outline:2px solid transparent;outline-offset:2px}.ipt-big{height:2rem;width:100%;align-content:center;border-radius:0.25rem;border-width:2px;--tw-border-opacity:1;border-color:rgba(229, 231, 235, var(--tw-border-opacity))}.ipt-big:focus{--tw-border-opacity:1;border-color:rgba(99, 102, 241, var(--tw-border-opacity))}.ipt-big{--tw-bg-opacity:1;background-color:rgba(249, 250, 251, var(--tw-bg-opacity))}.ipt-big:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.ipt-big{padding-left:0.5rem;padding-right:0.5rem;line-height:1.25;--tw-text-opacity:1;color:rgba(55, 65, 81, var(--tw-text-opacity))}.ipt-big:focus{outline:2px solid transparent;outline-offset:2px}.txt-ita{display:inline-block;text-align:right;vertical-align:top;font-style:italic;--tw-text-opacity:1;color:rgba(107, 114, 128, var(--tw-text-opacity))}.txt-pad{padding-left:0.5rem;padding-right:0.5rem;padding-top:0px;padding-bottom:0px}@media(min-width: 640px){.txt-pad{padding-top:0px;padding-bottom:0px}}@media(min-width: 768px){.txt-pad{padding-top:0px;padding-bottom:0px}}@media(min-width: 1024px){.txt-pad{padding-top:0.25rem;padding-bottom:0.25rem}}@media(min-width: 1280px){.txt-pad{padding-top:0.5rem;padding-bottom:0.5rem}}@media(min-width: 1536px){.txt-pad{padding-top:0.5rem;padding-bottom:0.5rem}}.txt-sz{font-size:.5rem}@media(min-width: 640px){.txt-sz{font-size:1rem}}@media(min-width: 768px){.txt-sz{font-size:1rem}}@media(min-width: 1024px){.txt-sz{font-size:1rem}}@media(min-width: 1280px){.txt-sz{font-size:1rem}}@media(min-width: 1536px){.txt-sz{font-size:1rem}}.btn-lg{margin-top:0px;display:flex;height:1.5rem;width:100%;align-content:center;justify-content:center;overflow-wrap:break-word;border-radius:0.25rem;border-width:1px;--tw-border-opacity:1;border-color:rgba(209, 213, 219, var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgba(219, 234, 254, var(--tw-bg-opacity))}.btn-lg:hover{--tw-bg-opacity:1;background-color:rgba(191, 219, 254, var(--tw-bg-opacity))}.btn-lg{font-size:.875rem;font-weight:700;--tw-text-opacity:1;color:rgba(107, 114, 128, var(--tw-text-opacity))}@media(min-width: 640px){.btn-lg{height:2rem;font-size:1rem}}@media(min-width: 768px){.btn-lg{height:2rem;font-size:1rem}}@media(min-width: 1024px){.btn-lg{height:2rem;font-size:1rem}}@media(min-width: 1280px){.btn-lg{height:2rem;font-size:1rem}}@media(min-width: 1536px){.btn-lg{height:2rem;font-size:1rem}}.slct-lg{margin-bottom:0px;display:flex;height:1.5rem;width:100%;align-content:center;justify-content:center;overflow-wrap:break-word;border-radius:0.25rem;border-width:1px;--tw-border-opacity:1;border-color:rgba(209, 213, 219, var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgba(219, 234, 254, var(--tw-bg-opacity))}.slct-lg:hover{--tw-bg-opacity:1;background-color:rgba(191, 219, 254, var(--tw-bg-opacity))}.slct-lg{font-size:.875rem;font-weight:700;--tw-text-opacity:1;color:rgba(107, 114, 128, var(--tw-text-opacity))}@media(min-width: 640px){.slct-lg{height:2rem;font-size:1rem}}@media(min-width: 768px){.slct-lg{height:2rem;font-size:1rem}}@media(min-width: 1024px){.slct-lg{height:2rem;font-size:1rem}}@media(min-width: 1280px){.slct-lg{height:2rem;font-size:1rem}}@media(min-width: 1536px){.slct-lg{height:2rem;font-size:1rem}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0px;right:0px;bottom:0px;left:0px}.top-1{top:0.25rem}.left-1{left:0.25rem}.z-10{z-index:10}.z-50{z-index:50}.m-auto{margin:auto}.mt-0{margin-top:0px}.mt-2{margin-top:0.5rem}.mt-3{margin-top:0.75rem}.mt-4{margin-top:1rem}.mb-0{margin-bottom:0px}.mb-2{margin-bottom:0.5rem}.ml-0{margin-left:0px}.ml-36{margin-left:9rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-0{height:0px}.h-2{height:0.5rem}.h-3{height:0.75rem}.h-4{height:1rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-10{height:2.5rem}.h-20{height:5rem}.h-40{height:10rem}.h-80{height:20rem}.h-auto{height:auto}.h-screen{height:100vh}.min-h-screen{min-height:100vh}.w-0{width:0px}.w-4{width:1rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-10{width:2.5rem}.w-20{width:5rem}.w-1\/3{width:33.333333%}.w-2\/3{width:66.666667%}.w-3\/6{width:50%}.w-4\/6{width:66.666667%}.w-1\/12{width:8.333333%}.w-11\/12{width:91.666667%}.w-full{width:100%}.flex-1{flex:1 1 0%}.table-fixed{table-layout:fixed}.transform{--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;transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@-webkit-keyframes spin{to{transform:rotate(360deg)}}@keyframes spin{to{transform:rotate(360deg)}}@-webkit-keyframes ping{75%,100%{transform:scale(2);opacity:0}}@keyframes ping{75%,100%{transform:scale(2);opacity:0}}@-webkit-keyframes pulse{50%{opacity:.5}}@keyframes pulse{50%{opacity:.5}}@-webkit-keyframes bounce{0%,100%{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(0.8,0,1,1);animation-timing-function:cubic-bezier(0.8,0,1,1)}50%{transform:none;-webkit-animation-timing-function:cubic-bezier(0,0,0.2,1);animation-timing-function:cubic-bezier(0,0,0.2,1)}}@keyframes bounce{0%,100%{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(0.8,0,1,1);animation-timing-function:cubic-bezier(0.8,0,1,1)}50%{transform:none;-webkit-animation-timing-function:cubic-bezier(0,0,0.2,1);animation-timing-function:cubic-bezier(0,0,0.2,1)}}.animate-spin{-webkit-animation:spin 1s linear infinite;animation:spin 1s linear infinite}.animate-pulse{-webkit-animation:pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;animation:pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}.grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.flex-col{flex-direction:column}.content-center{align-content:center}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.gap-4{gap:1rem}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:0.25rem}.rounded-md{border-radius:0.375rem}.rounded-lg{border-radius:0.5rem}.rounded-full{border-radius:9999px}.border-2{border-width:2px}.border-4{border-width:4px}.border{border-width:1px}.border-solid{border-style:solid}.border-transparent{border-color:transparent}.border-gray-100{--tw-border-opacity:1;border-color:rgba(243, 244, 246, var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgba(229, 231, 235, var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgba(209, 213, 219, var(--tw-border-opacity))}.border-red-500{--tw-border-opacity:1;border-color:rgba(239, 68, 68, var(--tw-border-opacity))}.border-blue-400{--tw-border-opacity:1;border-color:rgba(96, 165, 250, var(--tw-border-opacity))}.border-indigo-500{--tw-border-opacity:1;border-color:rgba(99, 102, 241, var(--tw-border-opacity))}.focus\:border-indigo-500:focus{--tw-border-opacity:1;border-color:rgba(99, 102, 241, var(--tw-border-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgba(249, 250, 251, var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgba(243, 244, 246, var(--tw-bg-opacity))}.bg-gray-300{--tw-bg-opacity:1;background-color:rgba(209, 213, 219, var(--tw-bg-opacity))}.bg-gray-500{--tw-bg-opacity:1;background-color:rgba(107, 114, 128, var(--tw-bg-opacity))}.bg-gray-600{--tw-bg-opacity:1;background-color:rgba(75, 85, 99, var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity:1;background-color:rgba(254, 242, 242, var(--tw-bg-opacity))}.bg-red-300{--tw-bg-opacity:1;background-color:rgba(252, 165, 165, var(--tw-bg-opacity))}.bg-red-600{--tw-bg-opacity:1;background-color:rgba(220, 38, 38, var(--tw-bg-opacity))}.bg-yellow-50{--tw-bg-opacity:1;background-color:rgba(255, 251, 235, var(--tw-bg-opacity))}.bg-green-50{--tw-bg-opacity:1;background-color:rgba(236, 253, 245, var(--tw-bg-opacity))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgba(239, 246, 255, var(--tw-bg-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgba(219, 234, 254, var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgba(37, 99, 235, var(--tw-bg-opacity))}.bg-indigo-500{--tw-bg-opacity:1;background-color:rgba(99, 102, 241, var(--tw-bg-opacity))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgba(249, 250, 251, var(--tw-bg-opacity))}.hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgba(185, 28, 28, var(--tw-bg-opacity))}.hover\:bg-blue-200:hover{--tw-bg-opacity:1;background-color:rgba(191, 219, 254, var(--tw-bg-opacity))}.hover\:bg-indigo-700:hover{--tw-bg-opacity:1;background-color:rgba(67, 56, 202, var(--tw-bg-opacity))}.focus\:bg-white:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.bg-opacity-75{--tw-bg-opacity:0.75}.bg-cover{background-size:cover}.p-0{padding:0px}.p-2{padding:0.5rem}.px-1{padding-left:0.25rem;padding-right:0.25rem}.px-2{padding-left:0.5rem;padding-right:0.5rem}.px-4{padding-left:1rem;padding-right:1rem}.py-0{padding-top:0px;padding-bottom:0px}.py-1{padding-top:0.25rem;padding-bottom:0.25rem}.py-2{padding-top:0.5rem;padding-bottom:0.5rem}.py-3{padding-top:0.75rem;padding-bottom:0.75rem}.pt-0{padding-top:0px}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pr-4{padding-right:1rem}.pb-4{padding-bottom:1rem}.pb-20{padding-bottom:5rem}.pl-4{padding-left:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-baseline{vertical-align:baseline}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.text-xxs{font-size:.5rem}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.italic{font-style:italic}.leading-6{line-height:1.5rem}.leading-tight{line-height:1.25}.text-black{--tw-text-opacity:1;color:rgba(0, 0, 0, var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgba(107, 114, 128, var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgba(55, 65, 81, var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgba(17, 24, 39, var(--tw-text-opacity))}.text-red-400{--tw-text-opacity:1;color:rgba(248, 113, 113, var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgba(239, 68, 68, var(--tw-text-opacity))}.text-yellow-500{--tw-text-opacity:1;color:rgba(245, 158, 11, var(--tw-text-opacity))}.text-green-400{--tw-text-opacity:1;color:rgba(52, 211, 153, var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgba(16, 185, 129, var(--tw-text-opacity))}.text-blue-500{--tw-text-opacity:1;color:rgba(59, 130, 246, var(--tw-text-opacity))}*,::before,::after{--tw-shadow:0 0 #0000}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);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 rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);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 rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);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 rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}*,::before,::after{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59, 130, 246, 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000}.focus\:ring-2: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(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\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(239, 68, 68, var(--tw-ring-opacity))}.focus\:ring-indigo-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(129, 140, 248, var(--tw-ring-opacity))}.focus\:ring-indigo-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(99, 102, 241, var(--tw-ring-opacity))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.transition{transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}#menu__toggle{position:relative;opacity:0}#menu__toggle:checked~.menu__btn>span{transform:rotate(45deg)}#menu__toggle:checked~.menu__btn>span::before{top:0;transform:rotate(0)}#menu__toggle:checked~.menu__btn>span::after{top:0;transform:rotate(90deg)}#menu__toggle:checked~.menu__box{visibility:visible;left:0}#menu__toggle:checked~.menu__main{margin-left:150px;transition-duration:0.25s}.menu__btn{display:flex;align-items:center;position:fixed;z-index:1;top:10px;left:20px;width:20px;height:20px;cursor:pointer}.menu__btn>span,.menu__btn>span::before,.menu__btn>span::after{display:block;position:absolute;width:100%;height:2px;background-color:#616161;transition-duration:0.25s}.menu__btn>span::before{content:"";top:-8px}.menu__btn>span::after{content:"";top:8px}.menu__box{display:block;position:fixed;visibility:hidden;top:0;left:-100%;width:150px;height:100%;margin:0;padding:80px 0;list-style:none;background-color:#eceff1;box-shadow:1px 0px 6px rgba(0, 0, 0, 0.2);transition-duration:0.25s}.menu__item{display:block;padding:12px 24px;color:rgba(51, 51, 51, 0.788);font-family:"Roboto", sans-serif;font-size:15px;font-weight:600;text-decoration:none;transition-duration:0.25s}.menu__item:hover{background-color:#cfd8dc}.upper__bar{background-color:rgba(51, 51, 51, 0.144);height:70px;position:fixed;z-index:-1;top:0px;left:0;width:100%;margin:0;padding:0;box-shadow:1px 0px 3px rgba(0, 0, 0, 0.2)}input[type="date"]::-webkit-calendar-picker-indicator{margin-left:5px;margin-right:-8px}input[type="time"]::-webkit-calendar-picker-indicator{margin-left:5px;margin-right:-8px}input[type="number"]::-webkit-outer-spin-button,input[type="number"]::-webkit-inner-spin-button{margin-left:7px;margin-right:-6px;width:30px;height:30px;opacity:1}input:checked~.dot{transform:translateX(100%)}@media(min-width: 640px){.sm\:my-8{margin-top:2rem;margin-bottom:2rem}.sm\:mt-0{margin-top:0px}.sm\:ml-3{margin-left:0.75rem}.sm\:ml-4{margin-left:1rem}.sm\:block{display:block}.sm\:inline-block{display:inline-block}.sm\:flex{display:flex}.sm\:h-6{height:1.5rem}.sm\:h-7{height:1.75rem}.sm\:h-8{height:2rem}.sm\:h-screen{height:100vh}.sm\:w-auto{width:auto}.sm\:w-full{width:100%}.sm\:max-w-lg{max-width:32rem}.sm\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.sm\:flex-row-reverse{flex-direction:row-reverse}.sm\:items-start{align-items:flex-start}.sm\:p-0{padding:0px}.sm\:p-2{padding:0.5rem}.sm\:p-6{padding:1.5rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-0{padding-top:0px;padding-bottom:0px}.sm\:pb-4{padding-bottom:1rem}.sm\:text-left{text-align:left}.sm\:align-middle{vertical-align:middle}.sm\:text-sm{font-size:.875rem}.sm\:text-base{font-size:1rem}}@media(min-width: 768px){.md\:h-6{height:1.5rem}.md\:h-7{height:1.75rem}.md\:h-8{height:2rem}.md\:p-2{padding:0.5rem}.md\:py-0{padding-top:0px;padding-bottom:0px}.md\:text-base{font-size:1rem}}@media(min-width: 1024px){.lg\:h-6{height:1.5rem}.lg\:h-7{height:1.75rem}.lg\:h-8{height:2rem}.lg\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.lg\:p-2{padding:0.5rem}.lg\:py-1{padding-top:0.25rem;padding-bottom:0.25rem}.lg\:text-base{font-size:1rem}.lg\:shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}}@media(min-width: 1280px){.xl\:h-6{height:1.5rem}.xl\:h-7{height:1.75rem}.xl\:h-8{height:2rem}.xl\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.xl\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.xl\:px-4{padding-left:1rem;padding-right:1rem}.xl\:py-2{padding-top:0.5rem;padding-bottom:0.5rem}.xl\:py-4{padding-top:1rem;padding-bottom:1rem}.xl\:text-base{font-size:1rem}}@media(min-width: 1536px){.\32xl\:h-6{height:1.5rem}.\32xl\:h-7{height:1.75rem}.\32xl\:h-8{height:2rem}.\32xl\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.\32xl\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.\32xl\:px-4{padding-left:1rem;padding-right:1rem}.\32xl\:py-2{padding-top:0.5rem;padding-bottom:0.5rem}.\32xl\:py-4{padding-top:1rem;padding-bottom:1rem}.\32xl\:text-base{font-size:1rem}}*,::before,::after{box-sizing:border-box}html{-moz-tab-size:4;-o-tab-size:4;tab-size:4}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}body{font-family:system-ui, + -apple-system, /* Firefox supports this but not yet `system-ui` */ + 'Segoe UI', + Roboto, + Helvetica, + Arial, + sans-serif, + 'Apple Color Emoji', + 'Segoe UI Emoji'}hr{height:0;color:inherit}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace, + SFMono-Regular, + Consolas, + 'Liberation Mono', + Menlo, + monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}table{text-indent:0;border-color:inherit}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}button,[type='button']{-webkit-appearance:button}::-moz-focus-inner{border-style:none;padding:0}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}::-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}button{background-color:transparent;background-image:none}fieldset{margin:0;padding:0}ol,ul{list-style:none;margin:0;padding:0}html{font-family:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";line-height:1.5}body{font-family:inherit;line-height:inherit}*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:currentColor}hr{border-top-width:1px}img{border-style:solid}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input:-ms-input-placeholder,textarea:-ms-input-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button{cursor:pointer}table{border-collapse:collapse}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}button,input,optgroup,select,textarea{padding:0;line-height:inherit;color:inherit}pre,code,kbd,samp{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,::before,::after{--tw-border-opacity:1;border-color:rgba(229, 231, 235, var(--tw-border-opacity))}.alm{margin-top:1rem;width:100%;border-radius:0.5rem;border-width:1px;--tw-border-opacity:1;border-color:rgba(229, 231, 235, var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity));padding:0.5rem;--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}@media(min-width: 640px){.alm{padding:0.5rem}}@media(min-width: 768px){.alm{padding:0.5rem}}@media(min-width: 1024px){.alm{padding:0.5rem;--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}}@media(min-width: 1280px){.alm{padding-left:1rem;padding-right:1rem;padding-top:0.5rem;padding-bottom:0.5rem}}@media(min-width: 1536px){.alm{padding-left:1rem;padding-right:1rem;padding-top:0.5rem;padding-bottom:0.5rem}}.alm-hdr{padding-bottom:0px;text-align:center;font-size:1rem;font-weight:700;--tw-text-opacity:1;color:rgba(248, 113, 113, var(--tw-text-opacity))}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0px;right:0px;bottom:0px;left:0px}.top-1{top:0.25rem}.left-1{left:0.25rem}.z-10{z-index:10}.z-50{z-index:50}.m-auto{margin:auto}.mt-0{margin-top:0px}.mt-2{margin-top:0.5rem}.mt-3{margin-top:0.75rem}.mt-4{margin-top:1rem}.mb-0{margin-bottom:0px}.mb-2{margin-bottom:0.5rem}.ml-0{margin-left:0px}.ml-36{margin-left:9rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-0{height:0px}.h-2{height:0.5rem}.h-3{height:0.75rem}.h-4{height:1rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-10{height:2.5rem}.h-20{height:5rem}.h-40{height:10rem}.h-80{height:20rem}.h-auto{height:auto}.h-screen{height:100vh}.min-h-screen{min-height:100vh}.w-0{width:0px}.w-4{width:1rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-10{width:2.5rem}.w-20{width:5rem}.w-1\/3{width:33.333333%}.w-2\/3{width:66.666667%}.w-3\/6{width:50%}.w-4\/6{width:66.666667%}.w-1\/12{width:8.333333%}.w-11\/12{width:91.666667%}.w-full{width:100%}.flex-1{flex:1 1 0%}.table-fixed{table-layout:fixed}.transform{--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;transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@-webkit-keyframes spin{to{transform:rotate(360deg)}}@keyframes spin{to{transform:rotate(360deg)}}@-webkit-keyframes ping{75%,100%{transform:scale(2);opacity:0}}@keyframes ping{75%,100%{transform:scale(2);opacity:0}}@-webkit-keyframes pulse{50%{opacity:.5}}@keyframes pulse{50%{opacity:.5}}@-webkit-keyframes bounce{0%,100%{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(0.8,0,1,1);animation-timing-function:cubic-bezier(0.8,0,1,1)}50%{transform:none;-webkit-animation-timing-function:cubic-bezier(0,0,0.2,1);animation-timing-function:cubic-bezier(0,0,0.2,1)}}@keyframes bounce{0%,100%{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(0.8,0,1,1);animation-timing-function:cubic-bezier(0.8,0,1,1)}50%{transform:none;-webkit-animation-timing-function:cubic-bezier(0,0,0.2,1);animation-timing-function:cubic-bezier(0,0,0.2,1)}}.animate-spin{-webkit-animation:spin 1s linear infinite;animation:spin 1s linear infinite}.animate-pulse{-webkit-animation:pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;animation:pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}.grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.flex-col{flex-direction:column}.content-center{align-content:center}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.gap-4{gap:1rem}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:0.25rem}.rounded-md{border-radius:0.375rem}.rounded-lg{border-radius:0.5rem}.rounded-full{border-radius:9999px}.border-2{border-width:2px}.border-4{border-width:4px}.border{border-width:1px}.border-solid{border-style:solid}.border-transparent{border-color:transparent}.border-gray-100{--tw-border-opacity:1;border-color:rgba(243, 244, 246, var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgba(229, 231, 235, var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgba(209, 213, 219, var(--tw-border-opacity))}.border-red-500{--tw-border-opacity:1;border-color:rgba(239, 68, 68, var(--tw-border-opacity))}.border-blue-400{--tw-border-opacity:1;border-color:rgba(96, 165, 250, var(--tw-border-opacity))}.border-indigo-500{--tw-border-opacity:1;border-color:rgba(99, 102, 241, var(--tw-border-opacity))}.focus\:border-indigo-500:focus{--tw-border-opacity:1;border-color:rgba(99, 102, 241, var(--tw-border-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgba(249, 250, 251, var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgba(243, 244, 246, var(--tw-bg-opacity))}.bg-gray-300{--tw-bg-opacity:1;background-color:rgba(209, 213, 219, var(--tw-bg-opacity))}.bg-gray-500{--tw-bg-opacity:1;background-color:rgba(107, 114, 128, var(--tw-bg-opacity))}.bg-gray-600{--tw-bg-opacity:1;background-color:rgba(75, 85, 99, var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity:1;background-color:rgba(254, 242, 242, var(--tw-bg-opacity))}.bg-red-300{--tw-bg-opacity:1;background-color:rgba(252, 165, 165, var(--tw-bg-opacity))}.bg-red-600{--tw-bg-opacity:1;background-color:rgba(220, 38, 38, var(--tw-bg-opacity))}.bg-yellow-50{--tw-bg-opacity:1;background-color:rgba(255, 251, 235, var(--tw-bg-opacity))}.bg-green-50{--tw-bg-opacity:1;background-color:rgba(236, 253, 245, var(--tw-bg-opacity))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgba(239, 246, 255, var(--tw-bg-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgba(219, 234, 254, var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgba(37, 99, 235, var(--tw-bg-opacity))}.bg-indigo-500{--tw-bg-opacity:1;background-color:rgba(99, 102, 241, var(--tw-bg-opacity))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgba(249, 250, 251, var(--tw-bg-opacity))}.hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgba(185, 28, 28, var(--tw-bg-opacity))}.hover\:bg-blue-200:hover{--tw-bg-opacity:1;background-color:rgba(191, 219, 254, var(--tw-bg-opacity))}.hover\:bg-indigo-700:hover{--tw-bg-opacity:1;background-color:rgba(67, 56, 202, var(--tw-bg-opacity))}.focus\:bg-white:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.bg-opacity-75{--tw-bg-opacity:0.75}.bg-cover{background-size:cover}.p-0{padding:0px}.p-2{padding:0.5rem}.px-1{padding-left:0.25rem;padding-right:0.25rem}.px-2{padding-left:0.5rem;padding-right:0.5rem}.px-4{padding-left:1rem;padding-right:1rem}.py-0{padding-top:0px;padding-bottom:0px}.py-1{padding-top:0.25rem;padding-bottom:0.25rem}.py-2{padding-top:0.5rem;padding-bottom:0.5rem}.py-3{padding-top:0.75rem;padding-bottom:0.75rem}.pt-0{padding-top:0px}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pr-4{padding-right:1rem}.pb-4{padding-bottom:1rem}.pb-20{padding-bottom:5rem}.pl-4{padding-left:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-baseline{vertical-align:baseline}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.text-xxs{font-size:.5rem}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.italic{font-style:italic}.leading-6{line-height:1.5rem}.leading-tight{line-height:1.25}.text-black{--tw-text-opacity:1;color:rgba(0, 0, 0, var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgba(107, 114, 128, var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgba(55, 65, 81, var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgba(17, 24, 39, var(--tw-text-opacity))}.text-red-400{--tw-text-opacity:1;color:rgba(248, 113, 113, var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgba(239, 68, 68, var(--tw-text-opacity))}.text-yellow-500{--tw-text-opacity:1;color:rgba(245, 158, 11, var(--tw-text-opacity))}.text-green-400{--tw-text-opacity:1;color:rgba(52, 211, 153, var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgba(16, 185, 129, var(--tw-text-opacity))}.text-blue-500{--tw-text-opacity:1;color:rgba(59, 130, 246, var(--tw-text-opacity))}*,::before,::after{--tw-shadow:0 0 #0000}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);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 rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);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 rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);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 rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}*,::before,::after{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59, 130, 246, 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000}.focus\:ring-2: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(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\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(239, 68, 68, var(--tw-ring-opacity))}.focus\:ring-indigo-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(129, 140, 248, var(--tw-ring-opacity))}.focus\:ring-indigo-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(99, 102, 241, var(--tw-ring-opacity))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.transition{transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}@media(min-width: 640px){.sm\:my-8{margin-top:2rem;margin-bottom:2rem}.sm\:mt-0{margin-top:0px}.sm\:ml-3{margin-left:0.75rem}.sm\:ml-4{margin-left:1rem}.sm\:block{display:block}.sm\:inline-block{display:inline-block}.sm\:flex{display:flex}.sm\:h-6{height:1.5rem}.sm\:h-7{height:1.75rem}.sm\:h-8{height:2rem}.sm\:h-screen{height:100vh}.sm\:w-auto{width:auto}.sm\:w-full{width:100%}.sm\:max-w-lg{max-width:32rem}.sm\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.sm\:flex-row-reverse{flex-direction:row-reverse}.sm\:items-start{align-items:flex-start}.sm\:p-0{padding:0px}.sm\:p-2{padding:0.5rem}.sm\:p-6{padding:1.5rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-0{padding-top:0px;padding-bottom:0px}.sm\:pb-4{padding-bottom:1rem}.sm\:text-left{text-align:left}.sm\:align-middle{vertical-align:middle}.sm\:text-sm{font-size:.875rem}.sm\:text-base{font-size:1rem}}@media(min-width: 768px){.md\:h-6{height:1.5rem}.md\:h-7{height:1.75rem}.md\:h-8{height:2rem}.md\:p-2{padding:0.5rem}.md\:py-0{padding-top:0px;padding-bottom:0px}.md\:text-base{font-size:1rem}}@media(min-width: 1024px){.lg\:h-6{height:1.5rem}.lg\:h-7{height:1.75rem}.lg\:h-8{height:2rem}.lg\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.lg\:p-2{padding:0.5rem}.lg\:py-1{padding-top:0.25rem;padding-bottom:0.25rem}.lg\:text-base{font-size:1rem}.lg\:shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}}@media(min-width: 1280px){.xl\:h-6{height:1.5rem}.xl\:h-7{height:1.75rem}.xl\:h-8{height:2rem}.xl\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.xl\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.xl\:px-4{padding-left:1rem;padding-right:1rem}.xl\:py-2{padding-top:0.5rem;padding-bottom:0.5rem}.xl\:py-4{padding-top:1rem;padding-bottom:1rem}.xl\:text-base{font-size:1rem}}@media(min-width: 1536px){.\32xl\:h-6{height:1.5rem}.\32xl\:h-7{height:1.75rem}.\32xl\:h-8{height:2rem}.\32xl\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.\32xl\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.\32xl\:px-4{padding-left:1rem;padding-right:1rem}.\32xl\:py-2{padding-top:0.5rem;padding-bottom:0.5rem}.\32xl\:py-4{padding-top:1rem;padding-bottom:1rem}.\32xl\:text-base{font-size:1rem}}*,::before,::after{box-sizing:border-box}html{-moz-tab-size:4;-o-tab-size:4;tab-size:4}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}body{font-family:system-ui, + -apple-system, /* Firefox supports this but not yet `system-ui` */ + 'Segoe UI', + Roboto, + Helvetica, + Arial, + sans-serif, + 'Apple Color Emoji', + 'Segoe UI Emoji'}hr{height:0;color:inherit}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace, + SFMono-Regular, + Consolas, + 'Liberation Mono', + Menlo, + monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}table{text-indent:0;border-color:inherit}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}button,[type='button']{-webkit-appearance:button}::-moz-focus-inner{border-style:none;padding:0}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}::-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}button{background-color:transparent;background-image:none}fieldset{margin:0;padding:0}ol,ul{list-style:none;margin:0;padding:0}html{font-family:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";line-height:1.5}body{font-family:inherit;line-height:inherit}*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:currentColor}hr{border-top-width:1px}img{border-style:solid}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input:-ms-input-placeholder,textarea:-ms-input-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button{cursor:pointer}table{border-collapse:collapse}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}button,input,optgroup,select,textarea{padding:0;line-height:inherit;color:inherit}pre,code,kbd,samp{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,::before,::after{--tw-border-opacity:1;border-color:rgba(229, 231, 235, var(--tw-border-opacity))}.crd{margin-top:1rem;width:100%;border-radius:0.5rem;border-width:1px;--tw-border-opacity:1;border-color:rgba(229, 231, 235, var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity));padding:0.5rem;--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}@media(min-width: 640px){.crd{padding:0.5rem}}@media(min-width: 768px){.crd{padding:0.5rem}}@media(min-width: 1024px){.crd{padding:0.5rem;--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}}@media(min-width: 1280px){.crd{padding-left:1rem;padding-right:1rem;padding-top:1rem;padding-bottom:1rem}}@media(min-width: 1536px){.crd{padding-left:1rem;padding-right:1rem;padding-top:1rem;padding-bottom:1rem}}.crd-hdr{padding-bottom:1rem;text-align:center;font-size:1.125rem;font-weight:700;--tw-text-opacity:1;color:rgba(107, 114, 128, var(--tw-text-opacity))}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0px;right:0px;bottom:0px;left:0px}.top-1{top:0.25rem}.left-1{left:0.25rem}.z-10{z-index:10}.z-50{z-index:50}.m-auto{margin:auto}.mt-0{margin-top:0px}.mt-2{margin-top:0.5rem}.mt-3{margin-top:0.75rem}.mt-4{margin-top:1rem}.mb-0{margin-bottom:0px}.mb-2{margin-bottom:0.5rem}.ml-0{margin-left:0px}.ml-36{margin-left:9rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-0{height:0px}.h-2{height:0.5rem}.h-3{height:0.75rem}.h-4{height:1rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-10{height:2.5rem}.h-20{height:5rem}.h-40{height:10rem}.h-80{height:20rem}.h-auto{height:auto}.h-screen{height:100vh}.min-h-screen{min-height:100vh}.w-0{width:0px}.w-4{width:1rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-10{width:2.5rem}.w-20{width:5rem}.w-1\/3{width:33.333333%}.w-2\/3{width:66.666667%}.w-3\/6{width:50%}.w-4\/6{width:66.666667%}.w-1\/12{width:8.333333%}.w-11\/12{width:91.666667%}.w-full{width:100%}.flex-1{flex:1 1 0%}.table-fixed{table-layout:fixed}.transform{--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;transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@-webkit-keyframes spin{to{transform:rotate(360deg)}}@keyframes spin{to{transform:rotate(360deg)}}@-webkit-keyframes ping{75%,100%{transform:scale(2);opacity:0}}@keyframes ping{75%,100%{transform:scale(2);opacity:0}}@-webkit-keyframes pulse{50%{opacity:.5}}@keyframes pulse{50%{opacity:.5}}@-webkit-keyframes bounce{0%,100%{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(0.8,0,1,1);animation-timing-function:cubic-bezier(0.8,0,1,1)}50%{transform:none;-webkit-animation-timing-function:cubic-bezier(0,0,0.2,1);animation-timing-function:cubic-bezier(0,0,0.2,1)}}@keyframes bounce{0%,100%{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(0.8,0,1,1);animation-timing-function:cubic-bezier(0.8,0,1,1)}50%{transform:none;-webkit-animation-timing-function:cubic-bezier(0,0,0.2,1);animation-timing-function:cubic-bezier(0,0,0.2,1)}}.animate-spin{-webkit-animation:spin 1s linear infinite;animation:spin 1s linear infinite}.animate-pulse{-webkit-animation:pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;animation:pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}.grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.flex-col{flex-direction:column}.content-center{align-content:center}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.gap-4{gap:1rem}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:0.25rem}.rounded-md{border-radius:0.375rem}.rounded-lg{border-radius:0.5rem}.rounded-full{border-radius:9999px}.border-2{border-width:2px}.border-4{border-width:4px}.border{border-width:1px}.border-solid{border-style:solid}.border-transparent{border-color:transparent}.border-gray-100{--tw-border-opacity:1;border-color:rgba(243, 244, 246, var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgba(229, 231, 235, var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgba(209, 213, 219, var(--tw-border-opacity))}.border-red-500{--tw-border-opacity:1;border-color:rgba(239, 68, 68, var(--tw-border-opacity))}.border-blue-400{--tw-border-opacity:1;border-color:rgba(96, 165, 250, var(--tw-border-opacity))}.border-indigo-500{--tw-border-opacity:1;border-color:rgba(99, 102, 241, var(--tw-border-opacity))}.focus\:border-indigo-500:focus{--tw-border-opacity:1;border-color:rgba(99, 102, 241, var(--tw-border-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgba(249, 250, 251, var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgba(243, 244, 246, var(--tw-bg-opacity))}.bg-gray-300{--tw-bg-opacity:1;background-color:rgba(209, 213, 219, var(--tw-bg-opacity))}.bg-gray-500{--tw-bg-opacity:1;background-color:rgba(107, 114, 128, var(--tw-bg-opacity))}.bg-gray-600{--tw-bg-opacity:1;background-color:rgba(75, 85, 99, var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity:1;background-color:rgba(254, 242, 242, var(--tw-bg-opacity))}.bg-red-300{--tw-bg-opacity:1;background-color:rgba(252, 165, 165, var(--tw-bg-opacity))}.bg-red-600{--tw-bg-opacity:1;background-color:rgba(220, 38, 38, var(--tw-bg-opacity))}.bg-yellow-50{--tw-bg-opacity:1;background-color:rgba(255, 251, 235, var(--tw-bg-opacity))}.bg-green-50{--tw-bg-opacity:1;background-color:rgba(236, 253, 245, var(--tw-bg-opacity))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgba(239, 246, 255, var(--tw-bg-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgba(219, 234, 254, var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgba(37, 99, 235, var(--tw-bg-opacity))}.bg-indigo-500{--tw-bg-opacity:1;background-color:rgba(99, 102, 241, var(--tw-bg-opacity))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgba(249, 250, 251, var(--tw-bg-opacity))}.hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgba(185, 28, 28, var(--tw-bg-opacity))}.hover\:bg-blue-200:hover{--tw-bg-opacity:1;background-color:rgba(191, 219, 254, var(--tw-bg-opacity))}.hover\:bg-indigo-700:hover{--tw-bg-opacity:1;background-color:rgba(67, 56, 202, var(--tw-bg-opacity))}.focus\:bg-white:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.bg-opacity-75{--tw-bg-opacity:0.75}.bg-cover{background-size:cover}.p-0{padding:0px}.p-2{padding:0.5rem}.px-1{padding-left:0.25rem;padding-right:0.25rem}.px-2{padding-left:0.5rem;padding-right:0.5rem}.px-4{padding-left:1rem;padding-right:1rem}.py-0{padding-top:0px;padding-bottom:0px}.py-1{padding-top:0.25rem;padding-bottom:0.25rem}.py-2{padding-top:0.5rem;padding-bottom:0.5rem}.py-3{padding-top:0.75rem;padding-bottom:0.75rem}.pt-0{padding-top:0px}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pr-4{padding-right:1rem}.pb-4{padding-bottom:1rem}.pb-20{padding-bottom:5rem}.pl-4{padding-left:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-baseline{vertical-align:baseline}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.text-xxs{font-size:.5rem}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.italic{font-style:italic}.leading-6{line-height:1.5rem}.leading-tight{line-height:1.25}.text-black{--tw-text-opacity:1;color:rgba(0, 0, 0, var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgba(107, 114, 128, var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgba(55, 65, 81, var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgba(17, 24, 39, var(--tw-text-opacity))}.text-red-400{--tw-text-opacity:1;color:rgba(248, 113, 113, var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgba(239, 68, 68, var(--tw-text-opacity))}.text-yellow-500{--tw-text-opacity:1;color:rgba(245, 158, 11, var(--tw-text-opacity))}.text-green-400{--tw-text-opacity:1;color:rgba(52, 211, 153, var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgba(16, 185, 129, var(--tw-text-opacity))}.text-blue-500{--tw-text-opacity:1;color:rgba(59, 130, 246, var(--tw-text-opacity))}*,::before,::after{--tw-shadow:0 0 #0000}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);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 rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);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 rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);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 rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}*,::before,::after{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59, 130, 246, 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000}.focus\:ring-2: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(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\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(239, 68, 68, var(--tw-ring-opacity))}.focus\:ring-indigo-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(129, 140, 248, var(--tw-ring-opacity))}.focus\:ring-indigo-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(99, 102, 241, var(--tw-ring-opacity))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.transition{transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}@media(min-width: 640px){.sm\:my-8{margin-top:2rem;margin-bottom:2rem}.sm\:mt-0{margin-top:0px}.sm\:ml-3{margin-left:0.75rem}.sm\:ml-4{margin-left:1rem}.sm\:block{display:block}.sm\:inline-block{display:inline-block}.sm\:flex{display:flex}.sm\:h-6{height:1.5rem}.sm\:h-7{height:1.75rem}.sm\:h-8{height:2rem}.sm\:h-screen{height:100vh}.sm\:w-auto{width:auto}.sm\:w-full{width:100%}.sm\:max-w-lg{max-width:32rem}.sm\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.sm\:flex-row-reverse{flex-direction:row-reverse}.sm\:items-start{align-items:flex-start}.sm\:p-0{padding:0px}.sm\:p-2{padding:0.5rem}.sm\:p-6{padding:1.5rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-0{padding-top:0px;padding-bottom:0px}.sm\:pb-4{padding-bottom:1rem}.sm\:text-left{text-align:left}.sm\:align-middle{vertical-align:middle}.sm\:text-sm{font-size:.875rem}.sm\:text-base{font-size:1rem}}@media(min-width: 768px){.md\:h-6{height:1.5rem}.md\:h-7{height:1.75rem}.md\:h-8{height:2rem}.md\:p-2{padding:0.5rem}.md\:py-0{padding-top:0px;padding-bottom:0px}.md\:text-base{font-size:1rem}}@media(min-width: 1024px){.lg\:h-6{height:1.5rem}.lg\:h-7{height:1.75rem}.lg\:h-8{height:2rem}.lg\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.lg\:p-2{padding:0.5rem}.lg\:py-1{padding-top:0.25rem;padding-bottom:0.25rem}.lg\:text-base{font-size:1rem}.lg\:shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}}@media(min-width: 1280px){.xl\:h-6{height:1.5rem}.xl\:h-7{height:1.75rem}.xl\:h-8{height:2rem}.xl\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.xl\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.xl\:px-4{padding-left:1rem;padding-right:1rem}.xl\:py-2{padding-top:0.5rem;padding-bottom:0.5rem}.xl\:py-4{padding-top:1rem;padding-bottom:1rem}.xl\:text-base{font-size:1rem}}@media(min-width: 1536px){.\32xl\:h-6{height:1.5rem}.\32xl\:h-7{height:1.75rem}.\32xl\:h-8{height:2rem}.\32xl\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.\32xl\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.\32xl\:px-4{padding-left:1rem;padding-right:1rem}.\32xl\:py-2{padding-top:0.5rem;padding-bottom:0.5rem}.\32xl\:py-4{padding-top:1rem;padding-bottom:1rem}.\32xl\:text-base{font-size:1rem}} \ No newline at end of file diff --git a/data_svelte/build/bundle.js b/data_svelte/build/bundle.js new file mode 100644 index 00000000..05d97824 --- /dev/null +++ b/data_svelte/build/bundle.js @@ -0,0 +1,2 @@ +var app=function(){"use strict";function t(){}function e(t){return t()}function n(){return Object.create(null)}function s(t){t.forEach(e)}function r(t){return"function"==typeof t}function l(t,e){return t!=t?e==e:t!==e||t&&"object"==typeof t||"function"==typeof t}function o(e,n,s){e.$$.on_destroy.push(function(e,...n){if(null==e)return t;const s=e.subscribe(...n);return s.unsubscribe?()=>s.unsubscribe():s}(n,s))}function c(t,e,n,s){if(t){const r=i(t,e,n,s);return t[0](r)}}function i(t,e,n,s){return t[1]&&s?function(t,e){for(const n in e)t[n]=e[n];return t}(n.ctx.slice(),t[1](s(e))):n.ctx}function a(t,e,n,s){if(t[2]&&s){const r=t[2](s(n));if(void 0===e.dirty)return r;if("object"==typeof r){const t=[],n=Math.max(e.dirty.length,r.length);for(let s=0;s32){const e=[],n=t.ctx.length/32;for(let t=0;tt.removeEventListener(e,n,s)}function y(t,e,n){null==n?t.removeAttribute(e):t.getAttribute(e)!==n&&t.setAttribute(e,n)}function k(t){return""===t?null:+t}function _(t,e){e=""+e,t.wholeText!==e&&(t.data=e)}function J(t,e){t.value=null==e?"":e}function j(t,e){for(let n=0;n{V.delete(t),s&&(n&&t.d(1),s())})),t.o(e)}}function X(t,e,n){const s=t.$$.props[e];void 0!==s&&(t.$$.bound[s]=n,n(t.$$.ctx[s]))}function tt(t){t&&t.c()}function et(t,n,l,o){const{fragment:c,on_mount:i,on_destroy:a,after_update:u}=t.$$;c&&c.m(n,l),o||D((()=>{const n=i.map(e).filter(r);a?a.push(...n):s(n),t.$$.on_mount=[]})),u.forEach(D)}function nt(t,e){const n=t.$$;null!==n.fragment&&(s(n.on_destroy),n.fragment&&n.fragment.d(e),n.on_destroy=n.fragment=null,n.ctx=[])}function st(e,r,l,o,c,i,a,u=[-1]){const d=T;M(e);const f=e.$$={fragment:null,ctx:null,props:i,update:t,not_equal:c,bound:n(),on_mount:[],on_destroy:[],on_disconnect:[],before_update:[],after_update:[],context:new Map(r.context||(d?d.$$.context:[])),callbacks:n(),dirty:u,skip_bound:!1,root:r.target||d.$$.root};a&&a(f.root);let p=!1;if(f.ctx=l?l(e,r.props||{},((t,n,...s)=>{const r=s.length?s[0]:n;return f.ctx&&c(f.ctx[t],f.ctx[t]=r)&&(!f.skip_bound&&f.bound[t]&&f.bound[t](r),p&&function(t,e){-1===t.$$.dirty[0]&&(C.push(t),B(),t.$$.dirty.fill(0)),t.$$.dirty[e/31|0]|=1<{const t=n.indexOf(e);-1!==t&&n.splice(t,1)}}$set(t){var e;this.$$set&&(e=t,0!==Object.keys(e).length)&&(this.$$.skip_bound=!0,this.$$set(t),this.$$.skip_bound=!1)}}const lt=[];function ot(e,n=t){let s;const r=new Set;function o(t){if(l(e,t)&&(e=t,s)){const t=!lt.length;for(const t of r)t[1](),lt.push(t,e);if(t){for(let t=0;t{r.delete(i),0===r.size&&(s(),s=null)}}}}function ct(t,e=!1){return(t=t.slice(t.startsWith("/#")?2:0,t.endsWith("/*")?-2:void 0)).startsWith("/")||(t="/"+t),"/"===t&&(t=""),e&&!t.endsWith("/")&&(t+="/"),t}function it(t,e,n){if(""===n)return t;if("/"===n[0])return n;let s=t=>t.split("/").filter((t=>""!==t)),r=s(t);return"/"+(e?s(e):[]).map(((t,e)=>r[e])).join("/")+"/"+n}function at(t,e,n,s){let r=[e,"data-"+e].reduce(((e,s)=>{let r=t.getAttribute(s);return n&&t.removeAttribute(s),null===r?e:r}),!1);return!s&&""===r||(r||s||!1)}function ut(t){let e=t.split("&").map((t=>t.split("="))).reduce(((t,e)=>{let n=e[0];if(!n)return t;let s=!(e.length>1)||e[e.length-1];return"string"==typeof s&&s.includes(",")&&(s=s.split(",")),void 0===t[n]?t[n]=[s]:t[n].push(s),t}),{});return Object.entries(e).reduce(((t,e)=>(t[e[0]]=e[1].length>1?e[1]:e[1][0],t)),{})}var dt,ft,pt={HISTORY:1,HASH:2,MEMORY:3,OFF:4,run:function(t,e,n,s){return 1===t?e&&e():2===t?n&&n():s&&s()},getDeafault:function(){return window&&"srcdoc"!==window.location.pathname?1:3}},gt=function(){let t,e=pt.getDeafault(),n=n=>t&&t(mt(e));function s(t){t&&(e=t),window.onhashchange=window.onpopstate=ft=null,e!==pt.OFF&&pt.run(e,(t=>window.onpopstate=n),(t=>window.onhashchange=n))&&n()}return{mode:t=>s(t),get:t=>mt(e),go(t,s){(function(t,e,n){let s=t=>history[n?"replaceState":"pushState"]({},"",t);pt.run(t,(t=>s(e)),(t=>s(`#${e}`)),(t=>ft=e))})(e,t,s),n()},start(e){t=e,s()},stop(){t=null,s(pt.OFF)}}}();function mt(t){let e=dt,n=dt=pt.run(t,(t=>window.location.pathname+window.location.search),(t=>String(window.location.hash.slice(1)||"/")),(t=>ft||"/")),s=n.match(/^([^?#]+)(?:\?([^#]+))?(?:\#(.+))?$/);return{url:n,from:e,path:s[1]||"",query:ut(s[2]||""),hash:s[3]||""}}function ht(t){let e=E("tinro");e&&(e.exact||e.fallback)&&function(t){throw new Error("[Tinro] "+t)}(`${t.fallback?"":``} can't be inside ${e.fallback?"":` with exact path`}`);let n=t.fallback?"fallbacks":"childs",s=ot({}),r={router:{},exact:!1,pattern:null,meta:{},parent:e,fallback:t.fallback,redirect:!1,firstmatch:!1,breadcrumb:null,matched:!1,childs:new Set,activeChilds:new Set,fallbacks:new Set,update(t){r.exact=!t.path.endsWith("/*"),r.pattern=ct(`${r.parent&&r.parent.pattern||""}${t.path}`),r.redirect=t.redirect,r.firstmatch=t.firstmatch,r.breadcrumb=t.breadcrumb,r.match()},register:()=>{if(r.parent)return r.parent[n].add(r),()=>{r.parent[n].delete(r),r.router.un&&r.router.un()}},show:()=>{t.onShow(),!r.fallback&&r.parent&&r.parent.activeChilds.add(r)},hide:()=>{t.onHide(),!r.fallback&&r.parent&&r.parent.activeChilds.delete(r)},match:async()=>{r.matched=!1;let{path:e,url:n,from:l,query:o}=r.router,c=function(t,e){t=ct(t,!0),e=ct(e,!0);let n=[],s={},r=!0,l=t.split("/").map((t=>t.startsWith(":")?(n.push(t.slice(1)),"([^\\/]+)"):t)).join("\\/"),o=e.match(new RegExp(`^${l}$`));return o||(r=!1,o=e.match(new RegExp(`^${l}`))),o?(n.forEach(((t,e)=>s[t]=o[e+1])),{exact:r,params:s,part:o[0].slice(0,-1)}):null}(r.pattern,e);if(!r.fallback&&c&&r.redirect&&(!r.exact||r.exact&&c.exact)){await z();let t=it(e,r.parent&&r.parent.pattern,r.redirect);return xt.goto(t,!0)}if(r.meta=c&&{from:l,url:n,query:o,match:c.part,pattern:r.pattern,breadcrumbs:r.parent&&r.parent.meta&&r.parent.meta.breadcrumbs.slice()||[],params:c.params,subscribe:s.subscribe},r.breadcrumb&&r.meta&&r.meta.breadcrumbs.push({name:r.breadcrumb,path:c.part}),s.set(r.meta),!c||r.fallback||!(!r.exact||r.exact&&c.exact)||r.parent&&r.parent.firstmatch&&r.parent.matched?r.hide():(t.onMeta(r.meta),r.parent&&(r.parent.matched=!0),r.show()),await z(),c&&!r.fallback&&(r.childs.size>0&&0==r.activeChilds.size||0==r.childs.size&&r.fallbacks.size>0)){let t=r;for(;0==t.fallbacks.size;)if(t=t.parent,!t)return;t&&t.fallbacks.forEach((t=>{if(t.redirect){let e=it("/",t.parent&&t.parent.pattern,t.redirect);xt.goto(e,!0)}else t.show()}))}}};return l="tinro",o=r,L().$$.context.set(l,o),q((()=>r.register())),r.router.un=xt.subscribe((t=>{r.router.path=t.path,r.router.url=t.url,r.router.query=t.query,r.router.from=t.from,null!==r.pattern&&r.match()})),r;var l,o}function $t(){return E("tinro").meta}var xt=function(){let{subscribe:t}=ot(gt.get(),(t=>{gt.start(t);let e=function(t){let e=e=>{let n=e.target.closest("a[href]"),s=n&&at(n,"target",!1,"_self"),r=n&&at(n,"tinro-ignore"),l=e.ctrlKey||e.metaKey||e.altKey||e.shiftKey;if("_self"==s&&!r&&!l&&n){let s=n.getAttribute("href").replace(/^\/#/,"");/^\/\/|^[a-zA-Z]+:/.test(s)||(e.preventDefault(),t(s.startsWith("/")?s:n.href.replace(window.location.origin,"")))}};return addEventListener("click",e),()=>removeEventListener("click",e)}(gt.go);return()=>{gt.stop(),e()}}));return{subscribe:t,goto:gt.go,params:bt,meta:$t,useHashNavigation:t=>gt.mode(t?pt.HASH:pt.HISTORY),mode:{hash:()=>gt.mode(pt.HASH),history:()=>gt.mode(pt.HISTORY),memory:()=>gt.mode(pt.MEMORY)}}}();function bt(){return E("tinro").meta.params}const wt=t=>({params:2&t,meta:4&t}),vt=t=>({params:t[1],meta:t[2]});function yt(t){let e;const n=t[9].default,s=c(n,t,t[8],vt);return{c(){s&&s.c()},m(t,n){s&&s.m(t,n),e=!0},p(t,r){s&&s.p&&(!e||262&r)&&u(s,n,t,t[8],e?a(n,t[8],r,wt):d(t[8]),vt)},i(t){e||(G(s,t),e=!0)},o(t){Z(s,t),e=!1},d(t){s&&s.d(t)}}}function kt(t){let e,n,s=t[0]&&yt(t);return{c(){s&&s.c(),e=w()},m(t,r){s&&s.m(t,r),p(t,e,r),n=!0},p(t,[n]){t[0]?s?(s.p(t,n),1&n&&G(s,1)):(s=yt(t),s.c(),G(s,1),s.m(e.parentNode,e)):s&&(K(),Z(s,1,1,(()=>{s=null})),Q())},i(t){n||(G(s),n=!0)},o(t){Z(s),n=!1},d(t){s&&s.d(t),t&&g(e)}}}function _t(t,e,n){let{$$slots:s={},$$scope:r}=e,{path:l="/*"}=e,{fallback:o=!1}=e,{redirect:c=!1}=e,{firstmatch:i=!1}=e,{breadcrumb:a=null}=e,u=!1,d={},f={};const p=ht({fallback:o,onShow(){n(0,u=!0)},onHide(){n(0,u=!1)},onMeta(t){n(2,f=t),n(1,d=f.params)}});return t.$$set=t=>{"path"in t&&n(3,l=t.path),"fallback"in t&&n(4,o=t.fallback),"redirect"in t&&n(5,c=t.redirect),"firstmatch"in t&&n(6,i=t.firstmatch),"breadcrumb"in t&&n(7,a=t.breadcrumb),"$$scope"in t&&n(8,r=t.$$scope)},t.$$.update=()=>{232&t.$$.dirty&&p.update({path:l,redirect:c,firstmatch:i,breadcrumb:a})},[u,d,f,l,o,c,i,a,r,s]}class Jt extends rt{constructor(t){super(),st(this,t,_t,kt,l,{path:3,fallback:4,redirect:5,firstmatch:6,breadcrumb:7})}}function jt(e){let n,s,l,o,c;return{c(){n=$("svg"),s=$("line"),l=$("line"),y(s,"x1","18"),y(s,"y1","6"),y(s,"x2","6"),y(s,"y2","18"),y(l,"x1","6"),y(l,"y1","6"),y(l,"x2","18"),y(l,"y2","18"),y(n,"class","h-6 w-6 text-red-400 cursor-pointer"),y(n,"viewBox","0 -2 24 24"),y(n,"fill","none"),y(n,"stroke","currentColor"),y(n,"stroke-width","2"),y(n,"stroke-linecap","round"),y(n,"stroke-linejoin","round")},m(t,i){p(t,n,i),f(n,s),f(n,l),o||(c=v(n,"click",(function(){r(e[0]())&&e[0]().apply(this,arguments)})),o=!0)},p(t,[n]){e=t},i:t,o:t,d(t){t&&g(n),o=!1,c()}}}function St(t,e,n){let{click:s=(()=>{})}=e;return t.$$set=t=>{"click"in t&&n(0,s=t.click)},[s]}class Tt extends rt{constructor(t){super(),st(this,t,St,jt,l,{click:0})}}function Mt(t){let e,n,s,r,l,o,c,i;return c=new Tt({props:{click:t[5]}}),{c(){e=h("div"),n=h("div"),s=h("h1"),r=x(t[0]),l=b(),o=h("div"),tt(c.$$.fragment),y(s,"class","alm-hdr"),y(n,"class","w-11/12"),y(o,"class","flex justify-end w-1/12"),y(e,"class","flex items-center")},m(t,a){p(t,e,a),f(e,n),f(n,s),f(s,r),f(e,l),f(e,o),et(c,o,null),i=!0},p(t,e){(!i||1&e)&&_(r,t[0]);const n={};4&e&&(n.click=t[5]),c.$set(n)},i(t){i||(G(c.$$.fragment,t),i=!0)},o(t){Z(c.$$.fragment,t),i=!1},d(t){t&&g(e),nt(c)}}}function Lt(e){let n,s;return{c(){n=h("h1"),s=x(e[0]),y(n,"class","alm-hdr")},m(t,e){p(t,n,e),f(n,s)},p(t,e){1&e&&_(s,t[0])},i:t,o:t,d(t){t&&g(n)}}}function qt(t){let e,n,s,r,l;const o=[Lt,Mt],i=[];function m(t,e){return t[0]&&!t[1]?0:t[0]&&t[1]?1:-1}~(n=m(t))&&(s=i[n]=o[n](t));const $=t[4].default,x=c($,t,t[3],null);return{c(){e=h("div"),s&&s.c(),r=b(),x&&x.c(),y(e,"class","alm")},m(t,s){p(t,e,s),~n&&i[n].m(e,null),f(e,r),x&&x.m(e,null),l=!0},p(t,[c]){let f=n;n=m(t),n===f?~n&&i[n].p(t,c):(s&&(K(),Z(i[f],1,1,(()=>{i[f]=null})),Q()),~n?(s=i[n],s?s.p(t,c):(s=i[n]=o[n](t),s.c()),G(s,1),s.m(e,r)):s=null),x&&x.p&&(!l||8&c)&&u(x,$,t,t[3],l?a($,t[3],c,null):d(t[3]),null)},i(t){l||(G(s),G(x,t),l=!0)},o(t){Z(s),Z(x,t),l=!1},d(t){t&&g(e),~n&&i[n].d(),x&&x.d(t)}}}function Et(t,e,n){let{$$slots:s={},$$scope:r}=e,{title:l=!1}=e,{cross:o=!1}=e,{close:c=(()=>{})}=e;return t.$$set=t=>{"title"in t&&n(0,l=t.title),"cross"in t&&n(1,o=t.cross),"close"in t&&n(2,c=t.close),"$$scope"in t&&n(3,r=t.$$scope)},[l,o,c,r,s,()=>c()]}class Ct extends rt{constructor(t){super(),st(this,t,Et,qt,l,{title:0,cross:1,close:2})}}function Ot(e){let n;return{c(){n=h("div"),n.innerHTML='
\n
',y(n,"class","fixed z-10 inset-0 overflow-y-auto"),y(n,"aria-labelledby","modal-title"),y(n,"role","dialog"),y(n,"aria-modal","true")},m(t,e){p(t,n,e)},p:t,i:t,o:t,d(t){t&&g(n)}}}class Nt extends rt{constructor(t){super(),st(this,t,null,Ot,l,{})}}function Ht(t){let e,n,s,r=t[0]&&Pt(t);const l=t[3].default,o=c(l,t,t[2],null);return{c(){e=h("div"),r&&r.c(),n=b(),o&&o.c(),y(e,"class","crd")},m(t,l){p(t,e,l),r&&r.m(e,null),f(e,n),o&&o.m(e,null),s=!0},p(t,c){t[0]?r?r.p(t,c):(r=Pt(t),r.c(),r.m(e,n)):r&&(r.d(1),r=null),o&&o.p&&(!s||4&c)&&u(o,l,t,t[2],s?a(l,t[2],c,null):d(t[2]),null)},i(t){s||(G(o,t),s=!0)},o(t){Z(o,t),s=!1},d(t){t&&g(e),r&&r.d(),o&&o.d(t)}}}function Pt(t){let e,n;return{c(){e=h("h1"),n=x(t[0]),y(e,"class","crd-hdr")},m(t,s){p(t,e,s),f(e,n)},p(t,e){1&e&&_(n,t[0])},d(t){t&&g(e)}}}function At(t){let e,n,s=t[1]&&Ht(t);return{c(){s&&s.c(),e=w()},m(t,r){s&&s.m(t,r),p(t,e,r),n=!0},p(t,[n]){t[1]?s?(s.p(t,n),2&n&&G(s,1)):(s=Ht(t),s.c(),G(s,1),s.m(e.parentNode,e)):s&&(K(),Z(s,1,1,(()=>{s=null})),Q())},i(t){n||(G(s),n=!0)},o(t){Z(s),n=!1},d(t){s&&s.d(t),t&&g(e)}}}function Bt(t,e,n){let{$$slots:s={},$$scope:r}=e,{title:l=!1}=e,{show:o=!0}=e;return t.$$set=t=>{"title"in t&&n(0,l=t.title),"show"in t&&n(1,o=t.show),"$$scope"in t&&n(2,r=t.$$scope)},[l,o,r,s]}class zt extends rt{constructor(t){super(),st(this,t,Bt,At,l,{title:0,show:1})}}function Dt(t){let e,n,r,l;return{c(){e=h("input"),y(e,"class",n=t[0].sent?"ipt-rnd text-right border-red-500":"ipt-rnd text-right focus:border-indigo-500"),y(e,"step","0.1"),y(e,"type","number")},m(n,s){p(n,e,s),J(e,t[0].status),r||(l=[v(e,"change",t[2]),v(e,"input",t[3])],r=!0)},p(t,s){1&s&&n!==(n=t[0].sent?"ipt-rnd text-right border-red-500":"ipt-rnd text-right focus:border-indigo-500")&&y(e,"class",n),1&s&&k(e.value)!==t[0].status&&J(e,t[0].status)},d(t){t&&g(e),r=!1,s(l)}}}function It(t){let e,n,r,l;return{c(){e=h("input"),y(e,"class",n=t[0].sent?"ipt-rnd text-right border-red-500":"ipt-rnd text-right focus:border-indigo-500"),y(e,"type","text")},m(n,s){p(n,e,s),J(e,t[0].status),r||(l=[v(e,"change",t[4]),v(e,"input",t[5])],r=!0)},p(t,s){1&s&&n!==(n=t[0].sent?"ipt-rnd text-right border-red-500":"ipt-rnd text-right focus:border-indigo-500")&&y(e,"class",n),1&s&&e.value!==t[0].status&&J(e,t[0].status)},d(t){t&&g(e),r=!1,s(l)}}}function Rt(t){let e,n,r,l;return{c(){e=h("input"),y(e,"class",n=t[0].sent?"ipt-rnd text-right border-red-500":"ipt-rnd text-right focus:border-indigo-500"),y(e,"type","date")},m(n,s){p(n,e,s),J(e,t[0].status),r||(l=[v(e,"change",t[6]),v(e,"input",t[7])],r=!0)},p(t,s){1&s&&n!==(n=t[0].sent?"ipt-rnd text-right border-red-500":"ipt-rnd text-right focus:border-indigo-500")&&y(e,"class",n),1&s&&J(e,t[0].status)},d(t){t&&g(e),r=!1,s(l)}}}function Ft(t){let e,n,r,l;return{c(){e=h("input"),y(e,"class",n=t[0].sent?"ipt-rnd text-right border-red-500":"ipt-rnd text-right focus:border-indigo-500"),y(e,"type","time")},m(n,s){p(n,e,s),J(e,t[0].status),r||(l=[v(e,"change",t[8]),v(e,"input",t[9])],r=!0)},p(t,s){1&s&&n!==(n=t[0].sent?"ipt-rnd text-right border-red-500":"ipt-rnd text-right focus:border-indigo-500")&&y(e,"class",n),1&s&&J(e,t[0].status)},d(t){t&&g(e),r=!1,s(l)}}}function Ut(e){let n,s,r,l,o,c,i,a,u,d=(e[0].descr?e[0].descr:"")+"",m="number"==e[0].type&&Dt(e),$="text"==e[0].type&&It(e),w="date"==e[0].type&&Rt(e),v="time"==e[0].type&&Ft(e);return{c(){n=h("div"),s=h("div"),r=h("label"),l=x(d),o=b(),c=h("div"),m&&m.c(),i=b(),$&&$.c(),a=b(),w&&w.c(),u=b(),v&&v.c(),y(r,"class","wgt-dscr-stl"),y(s,"class","w-2/3"),y(c,"class","flex justify-end w-1/3"),y(n,"class","crd-itm-psn")},m(t,e){p(t,n,e),f(n,s),f(s,r),f(r,l),f(n,o),f(n,c),m&&m.m(c,null),f(c,i),$&&$.m(c,null),f(c,a),w&&w.m(c,null),f(c,u),v&&v.m(c,null)},p(t,[e]){1&e&&d!==(d=(t[0].descr?t[0].descr:"")+"")&&_(l,d),"number"==t[0].type?m?m.p(t,e):(m=Dt(t),m.c(),m.m(c,i)):m&&(m.d(1),m=null),"text"==t[0].type?$?$.p(t,e):($=It(t),$.c(),$.m(c,a)):$&&($.d(1),$=null),"date"==t[0].type?w?w.p(t,e):(w=Rt(t),w.c(),w.m(c,u)):w&&(w.d(1),w=null),"time"==t[0].type?v?v.p(t,e):(v=Ft(t),v.c(),v.m(c,null)):v&&(v.d(1),v=null)},i:t,o:t,d(t){t&&g(n),m&&m.d(),$&&$.d(),w&&w.d(),v&&v.d()}}}function Wt(t,e,n){let{widget:s}=e,{wsPush:r=((t,e,n)=>{})}=e;return t.$$set=t=>{"widget"in t&&n(0,s=t.widget),"wsPush"in t&&n(1,r=t.wsPush)},[s,r,()=>(n(0,s.sent=!0,s),r(s.ws,s.topic,s.status)),function(){s.status=k(this.value),n(0,s)},()=>(n(0,s.sent=!0,s),r(s.ws,s.topic,s.status)),function(){s.status=this.value,n(0,s)},()=>(n(0,s.sent=!0,s),r(s.ws,s.topic,s.status)),function(){s.status=this.value,n(0,s)},()=>(n(0,s.sent=!0,s),r(s.ws,s.topic,s.status)),function(){s.status=this.value,n(0,s)}]}class Vt extends rt{constructor(t){super(),st(this,t,Wt,Ut,l,{widget:0,wsPush:1})}}function Yt(e){let n,r,l,o,c,i,a,u,d,m,$,w=(e[0].descr?e[0].descr:"")+"",k=e[0].after+"";return{c(){n=h("label"),r=x(w),l=b(),o=x(e[1]),c=b(),i=x(k),a=b(),u=h("input"),y(n,"class","wgt-dscr-stl"),y(u,"class",d="form-range range-secondary w-full h-2 p-0 rounded-lg "+(e[0].sent?"bg-red-300":"bg-gray-300")+" focus:outline-none appearance-none"),y(u,"type","range"),y(u,"min","0"),y(u,"max","1024")},m(t,s){p(t,n,s),f(n,r),f(n,l),f(n,o),f(n,c),f(n,i),p(t,a,s),p(t,u,s),J(u,e[0].status),m||($=[v(u,"change",e[3]),v(u,"input",e[3]),v(u,"change",e[4])],m=!0)},p(t,[e]){1&e&&w!==(w=(t[0].descr?t[0].descr:"")+"")&&_(r,w),2&e&&_(o,t[1]),1&e&&k!==(k=t[0].after+"")&&_(i,k),1&e&&d!==(d="form-range range-secondary w-full h-2 p-0 rounded-lg "+(t[0].sent?"bg-red-300":"bg-gray-300")+" focus:outline-none appearance-none")&&y(u,"class",d),1&e&&J(u,t[0].status)},i:t,o:t,d(t){t&&g(n),t&&g(a),t&&g(u),m=!1,s($)}}}function Kt(t,e,n){let{widget:s}=e,{wsPush:r=((t,e,n)=>{})}=e,{val:l=0}=e;function o(){n(1,l=function(t,e,n,s,r){return Math.round((t-e)*(r-s)/(n-e)+s)}(s.status,0,1024,s.min,s.max))}return t.$$set=t=>{"widget"in t&&n(0,s=t.widget),"wsPush"in t&&n(2,r=t.wsPush),"val"in t&&n(1,l=t.val)},t.$$.update=()=>{1&t.$$.dirty&&(s.status,o())},[s,l,r,function(){s.status=k(this.value),n(0,s)},()=>(n(0,s.sent=!0,s),r(s.ws,s.topic,s.status))]}class Qt extends rt{constructor(t){super(),st(this,t,Kt,Yt,l,{widget:0,wsPush:2,val:1})}}function Gt(e){let n,r,l,o,c,i,a,u,d,m,$,w,k,J,j,S,T,M,L,q=(e[0].descr?e[0].descr:"")+"";return{c(){n=h("div"),r=h("div"),l=h("label"),o=x(q),c=b(),i=h("div"),a=h("label"),u=h("div"),d=h("input"),$=b(),w=h("div"),J=b(),j=h("div"),y(l,"class","wgt-dscr-stl"),y(r,"class","w-2/3"),y(d,"id",m=e[0].topic),y(d,"type","checkbox"),y(d,"class","sr-only"),y(w,"class",k="block "+(e[1]?"bg-blue-600":"bg-gray-600")+" w-10 h-6 rounded-full shadow-lg"),y(j,"class",S="dot "+(e[0].sent?"bg-red-300":"bg-gray-100")+" absolute left-1 top-1 w-4 h-4 rounded-full transition shadow-lg"),y(u,"class","relative"),y(a,"for",T=e[0].topic),y(a,"class","items-center cursor-pointer"),y(i,"class","flex justify-end w-1/3"),y(n,"class","crd-itm-psn")},m(t,s){p(t,n,s),f(n,r),f(r,l),f(l,o),f(n,c),f(n,i),f(i,a),f(a,u),f(u,d),d.checked=e[1],f(u,$),f(u,w),f(u,J),f(u,j),M||(L=[v(d,"change",e[4]),v(d,"change",e[5])],M=!0)},p(t,[e]){1&e&&q!==(q=(t[0].descr?t[0].descr:"")+"")&&_(o,q),1&e&&m!==(m=t[0].topic)&&y(d,"id",m),2&e&&(d.checked=t[1]),2&e&&k!==(k="block "+(t[1]?"bg-blue-600":"bg-gray-600")+" w-10 h-6 rounded-full shadow-lg")&&y(w,"class",k),1&e&&S!==(S="dot "+(t[0].sent?"bg-red-300":"bg-gray-100")+" absolute left-1 top-1 w-4 h-4 rounded-full transition shadow-lg")&&y(j,"class",S),1&e&&T!==(T=t[0].topic)&&y(a,"for",T)},i:t,o:t,d(t){t&&g(n),M=!1,s(L)}}}function Zt(t,e,n){let{widget:s}=e,{toggleState:r=!1}=e,{wsPush:l=((t,e,n)=>{})}=e;function o(){n(0,s.sent=!0,s),n(0,s.status=r?"1":"0",s)}return t.$$set=t=>{"widget"in t&&n(0,s=t.widget),"toggleState"in t&&n(1,r=t.toggleState),"wsPush"in t&&n(2,l=t.wsPush)},t.$$.update=()=>{1&t.$$.dirty&&(s.status,"1"==s.status?n(1,r=!0):"0"==s.status&&n(1,r=!1))},[s,r,l,o,function(){r=this.checked,n(1,r)},()=>(o(),l(s.ws,s.topic,s.status))]}class Xt extends rt{constructor(t){super(),st(this,t,Zt,Gt,l,{widget:0,toggleState:1,wsPush:2})}}function te(e){let n,s,r,l,o,c,i,a,u,d,m,$,w=(e[0].descr?e[0].descr:"")+"",v=(e[0].status?e[0].status:"")+"",k=(e[0].after?e[0].after:"")+"";return{c(){n=h("div"),s=h("div"),r=h("label"),l=x(w),o=b(),c=h("div"),i=h("label"),a=x(v),u=b(),d=h("label"),m=x(" "),$=x(k),y(r,"class","wgt-dscr-stl"),y(s,"class","w-2/3"),y(i,"class","wgt-adt-stl"),y(d,"class","wgt-adt-stl"),y(c,"class","flex justify-end w-1/3"),y(n,"class","crd-itm-psn")},m(t,e){p(t,n,e),f(n,s),f(s,r),f(r,l),f(n,o),f(n,c),f(c,i),f(i,a),f(c,u),f(c,d),f(d,m),f(d,$)},p(t,[e]){1&e&&w!==(w=(t[0].descr?t[0].descr:"")+"")&&_(l,w),1&e&&v!==(v=(t[0].status?t[0].status:"")+"")&&_(a,v),1&e&&k!==(k=(t[0].after?t[0].after:"")+"")&&_($,k)},i:t,o:t,d(t){t&&g(n)}}}function ee(t,e,n){let{widget:s}=e,{value:r}=e;return r=r,t.$$set=t=>{"widget"in t&&n(0,s=t.widget),"value"in t&&n(1,r=t.value)},[s,r]}class ne extends rt{constructor(t){super(),st(this,t,ee,te,l,{widget:0,value:1})}}function se(t,e,n){const s=t.slice();return s[11]=e[n],s[13]=n,s}function re(t,e,n){const s=t.slice();return s[14]=e[n],s[15]=e,s[16]=n,s}function le(e){let n,s;return n=new Ct({props:{title:"Загрузка..."}}),{c(){tt(n.$$.fragment)},m(t,e){et(n,t,e),s=!0},p:t,i(t){s||(G(n.$$.fragment,t),s=!0)},o(t){Z(n.$$.fragment,t),s=!1},d(t){nt(n,t)}}}function oe(t){let e,n,s,r=t[0]===[]&&ce(),l=t[1],o=[];for(let e=0;eZ(o[t],1,1,(()=>{o[t]=null}));return{c(){e=h("div"),r&&r.c(),n=b();for(let t=0;t{r=null})),Q()),11&s){let n;for(l=t[1],n=0;n{o=null})),Q()),"toggle"===t[14].widget?c?(c.p(t,l),1&l&&G(c,1)):(c=ue(t),c.c(),G(c,1),c.m(n.parentNode,n)):c&&(K(),Z(c,1,1,(()=>{c=null})),Q()),"anydata"===t[14].widget?i?(i.p(t,l),1&l&&G(i,1)):(i=de(t),i.c(),G(i,1),i.m(s.parentNode,s)):i&&(K(),Z(i,1,1,(()=>{i=null})),Q()),"range"===t[14].widget?a?(a.p(t,l),1&l&&G(a,1)):(a=fe(t),a.c(),G(a,1),a.m(r.parentNode,r)):a&&(K(),Z(a,1,1,(()=>{a=null})),Q())},i(t){l||(G(o),G(c),G(i),G(a),l=!0)},o(t){Z(o),Z(c),Z(i),Z(a),l=!1},d(t){o&&o.d(t),t&&g(e),c&&c.d(t),t&&g(n),i&&i.d(t),t&&g(s),a&&a.d(t),t&&g(r)}}}function ae(t){let e,n,s;function r(e){t[5](e,t[14])}let l={widget:t[14],wsPush:t[4]};return void 0!==t[14].status&&(l.value=t[14].status),e=new Vt({props:l}),O.push((()=>X(e,"value",r))),{c(){tt(e.$$.fragment)},m(t,n){et(e,t,n),s=!0},p(s,r){t=s;const l={};1&r&&(l.widget=t[14]),8&r&&(l.wsPush=t[4]),!n&&1&r&&(n=!0,l.value=t[14].status,I((()=>n=!1))),e.$set(l)},i(t){s||(G(e.$$.fragment,t),s=!0)},o(t){Z(e.$$.fragment,t),s=!1},d(t){nt(e,t)}}}function ue(t){let e,n,s;function r(e){t[7](e,t[14])}let l={widget:t[14],wsPush:t[6]};return void 0!==t[14].status&&(l.value=t[14].status),e=new Xt({props:l}),O.push((()=>X(e,"value",r))),{c(){tt(e.$$.fragment)},m(t,n){et(e,t,n),s=!0},p(s,r){t=s;const l={};1&r&&(l.widget=t[14]),8&r&&(l.wsPush=t[6]),!n&&1&r&&(n=!0,l.value=t[14].status,I((()=>n=!1))),e.$set(l)},i(t){s||(G(e.$$.fragment,t),s=!0)},o(t){Z(e.$$.fragment,t),s=!1},d(t){nt(e,t)}}}function de(t){let e,n,s;function r(e){t[8](e,t[14])}let l={widget:t[14]};return void 0!==t[14].status&&(l.value=t[14].status),e=new ne({props:l}),O.push((()=>X(e,"value",r))),{c(){tt(e.$$.fragment)},m(t,n){et(e,t,n),s=!0},p(s,r){t=s;const l={};1&r&&(l.widget=t[14]),!n&&1&r&&(n=!0,l.value=t[14].status,I((()=>n=!1))),e.$set(l)},i(t){s||(G(e.$$.fragment,t),s=!0)},o(t){Z(e.$$.fragment,t),s=!1},d(t){nt(e,t)}}}function fe(t){let e,n,s;function r(e){t[10](e,t[14])}let l={widget:t[14],wsPush:t[9]};return void 0!==t[14].status&&(l.value=t[14].status),e=new Qt({props:l}),O.push((()=>X(e,"value",r))),{c(){tt(e.$$.fragment)},m(t,n){et(e,t,n),s=!0},p(s,r){t=s;const l={};1&r&&(l.widget=t[14]),8&r&&(l.wsPush=t[9]),!n&&1&r&&(n=!0,l.value=t[14].status,I((()=>n=!1))),e.$set(l)},i(t){s||(G(e.$$.fragment,t),s=!0)},o(t){Z(e.$$.fragment,t),s=!1},d(t){nt(e,t)}}}function pe(t){let e,n,s=t[14].page===t[11].page&&ie(t);return{c(){s&&s.c(),e=w()},m(t,r){s&&s.m(t,r),p(t,e,r),n=!0},p(t,n){t[14].page===t[11].page?s?(s.p(t,n),3&n&&G(s,1)):(s=ie(t),s.c(),G(s,1),s.m(e.parentNode,e)):s&&(K(),Z(s,1,1,(()=>{s=null})),Q())},i(t){n||(G(s),n=!0)},o(t){Z(s),n=!1},d(t){s&&s.d(t),t&&g(e)}}}function ge(t){let e,n,s=t[0],r=[];for(let e=0;eZ(r[t],1,1,(()=>{r[t]=null}));return{c(){for(let t=0;t{o[i]=null})),Q(),n=o[e],n?n.p(t,r):(n=o[e]=l[e](t),n.c()),G(n,1),n.m(s.parentNode,s))},i(t){r||(G(n),r=!0)},o(t){Z(n),r=!1},d(t){o[e].d(t),t&&g(s)}}}function $e(t,e,n){let{layoutJson:s}=e,{pages:r}=e,{show:l}=e,{wsPush:o=((t,e,n)=>{})}=e;return t.$$set=t=>{"layoutJson"in t&&n(0,s=t.layoutJson),"pages"in t&&n(1,r=t.pages),"show"in t&&n(2,l=t.show),"wsPush"in t&&n(3,o=t.wsPush)},[s,r,l,o,(t,e,n)=>o(t,e,n),function(e,r){t.$$.not_equal(r.status,e)&&(r.status=e,n(0,s))},(t,e,n)=>o(t,e,n),function(e,r){t.$$.not_equal(r.status,e)&&(r.status=e,n(0,s))},function(e,r){t.$$.not_equal(r.status,e)&&(r.status=e,n(0,s))},(t,e,n)=>o(t,e,n),function(e,r){t.$$.not_equal(r.status,e)&&(r.status=e,n(0,s))}]}class xe extends rt{constructor(t){super(),st(this,t,$e,he,l,{layoutJson:0,pages:1,show:2,wsPush:3})}}function be(e){let n,s,l,o,c,i,a;return{c(){n=$("svg"),s=$("path"),l=$("circle"),o=$("circle"),c=$("circle"),y(s,"stroke","none"),y(s,"d","M0 0h24v24H0z"),y(l,"cx","5"),y(l,"cy","12"),y(l,"r","1"),y(o,"cx","12"),y(o,"cy","12"),y(o,"r","1"),y(c,"cx","19"),y(c,"cy","12"),y(c,"r","1"),y(n,"class","h-6 w-6 text-green-400 cursor-pointer"),y(n,"width","24"),y(n,"height","24"),y(n,"viewBox","0 -2 24 24"),y(n,"stroke-width","2"),y(n,"stroke","currentColor"),y(n,"fill","none"),y(n,"stroke-linecap","round"),y(n,"stroke-linejoin","round")},m(t,u){p(t,n,u),f(n,s),f(n,l),f(n,o),f(n,c),i||(a=v(n,"click",(function(){r(e[0]())&&e[0]().apply(this,arguments)})),i=!0)},p(t,[n]){e=t},i:t,o:t,d(t){t&&g(n),i=!1,a()}}}function we(t,e,n){let{click:s=(()=>{})}=e;return t.$$set=t=>{"click"in t&&n(0,s=t.click)},[s]}class ve extends rt{constructor(t){super(),st(this,t,we,be,l,{click:0})}}function ye(t,e,n){const s=t.slice();return s[25]=e[n],s[26]=e,s[27]=n,s}function ke(t,e,n){const s=t.slice();return s[28]=e[n][0],s[29]=e[n][1],s[30]=e,s[31]=n,s}function _e(t,e,n){const s=t.slice();return s[32]=e[n],s}function Je(t,e,n){const s=t.slice();return s[35]=e[n],s}function je(e){let n,s;return n=new Ct({props:{title:"Загрузка..."}}),{c(){tt(n.$$.fragment)},m(t,e){et(n,t,e),s=!0},p:t,i(t){s||(G(n.$$.fragment,t),s=!0)},o(t){Z(n.$$.fragment,t),s=!1},d(t){nt(n,t)}}}function Se(t){let e,n,s,r,l,o,c,i;return n=new zt({props:{title:"Конфигуратор",$$slots:{default:[He]},$$scope:{ctx:t}}}),r=new zt({props:{title:"Сценарии",$$slots:{default:[Pe]},$$scope:{ctx:t}}}),c=new zt({props:{$$slots:{default:[Ae]},$$scope:{ctx:t}}}),{c(){e=h("div"),tt(n.$$.fragment),s=b(),tt(r.$$.fragment),l=b(),o=h("div"),tt(c.$$.fragment),y(e,"class","grd-2col1"),y(o,"class","grd-1col1")},m(t,a){p(t,e,a),et(n,e,null),f(e,s),et(r,e,null),p(t,l,a),p(t,o,a),et(c,o,null),i=!0},p(t,e){const s={};398&e[0]|128&e[1]&&(s.$$scope={dirty:e,ctx:t}),n.$set(s);const l={};513&e[0]|128&e[1]&&(l.$$scope={dirty:e,ctx:t}),r.$set(l);const o={};96&e[0]|128&e[1]&&(o.$$scope={dirty:e,ctx:t}),c.$set(o)},i(t){i||(G(n.$$.fragment,t),G(r.$$.fragment,t),G(c.$$.fragment,t),i=!0)},o(t){Z(n.$$.fragment,t),Z(r.$$.fragment,t),Z(c.$$.fragment,t),i=!1},d(t){t&&g(e),nt(n),nt(r),t&&g(l),t&&g(o),nt(c)}}}function Te(t){let e,n;return{c(){e=h("optgroup"),y(e,"label",n=t[35].header)},m(t,n){p(t,e,n)},p(t,s){8&s[0]&&n!==(n=t[35].header)&&y(e,"label",n)},d(t){t&&g(e)}}}function Me(t){let e,n,s,r,l=t[35].name+"";return{c(){e=h("option"),n=x(l),s=b(),e.__value=r=t[35].num,e.value=e.__value},m(t,r){p(t,e,r),f(e,n),f(e,s)},p(t,s){8&s[0]&&l!==(l=t[35].name+"")&&_(n,l),8&s[0]&&r!==(r=t[35].num)&&(e.__value=r,e.value=e.__value)},d(t){t&&g(e)}}}function Le(t){let e,n,s=t[35].header&&Te(t),r=!t[35].header&&Me(t);return{c(){s&&s.c(),e=w(),r&&r.c(),n=w()},m(t,l){s&&s.m(t,l),p(t,e,l),r&&r.m(t,l),p(t,n,l)},p(t,l){t[35].header?s?s.p(t,l):(s=Te(t),s.c(),s.m(e.parentNode,e)):s&&(s.d(1),s=null),t[35].header?r&&(r.d(1),r=null):r?r.p(t,l):(r=Me(t),r.c(),r.m(n.parentNode,n))},d(t){s&&s.d(t),t&&g(e),r&&r.d(t),t&&g(n)}}}function qe(t){let e,n,s,r,l=t[32].label+"";return{c(){e=h("option"),n=x(l),s=b(),e.__value=r=t[32].name,e.value=e.__value},m(t,r){p(t,e,r),f(e,n),f(e,s)},p(t,s){4&s[0]&&l!==(l=t[32].label+"")&&_(n,l),4&s[0]&&r!==(r=t[32].name)&&(e.__value=r,e.value=e.__value)},d(t){t&&g(e)}}}function Ee(t){let e,n=Object.entries(t[25]),s=[];for(let e=0;eZ(S[t],1,1,(()=>{S[t]=null}));return{c(){e=h("div"),n=h("select");for(let t=0;t<_.length;t+=1)_[t].c();r=b(),l=h("select"),o=h("option"),o.textContent="Выберите пресет",c=b(),i=h("table"),a=h("thead"),a.innerHTML='Тип \n Id \n Виджет \n Вкладка \n Название \n \n ',u=b(),d=h("tbody");for(let t=0;tt[12].call(n))),o.__value="Выберите пресет",o.value=o.__value,y(l,"class","slct-lg"),y(e,"class","grd-2col2"),y(a,"class","bg-gray-100"),y(d,"class","bg-white"),y(i,"class","tbl")},m(s,g){p(s,e,g),f(e,n);for(let t=0;t<_.length;t+=1)_[t].m(n,null);j(n,t[7]),f(e,r),f(e,l),f(l,o),p(s,c,g),p(s,i,g),f(i,a),f(i,u),f(i,d);for(let t=0;t{o[i]=null})),Q(),n=o[e],n?n.p(t,r):(n=o[e]=l[e](t),n.c()),G(n,1),n.m(s.parentNode,s))},i(t){r||(G(n),r=!0)},o(t){Z(n),r=!1},d(t){o[e].d(t),t&&g(s)}}}function ze(t,e,n){let s,{configJson:r}=e,{widgetsJson:l}=e,{itemsJson:o}=e,{show:c}=e,{scenarioTxt:i}=e,a=0,{saveConfig:u=(()=>{})}=e,{rebootEsp:d=(()=>{})}=e,f=!0;function p(){for(let t=0;t{"configJson"in t&&n(1,r=t.configJson),"widgetsJson"in t&&n(2,l=t.widgetsJson),"itemsJson"in t&&n(3,o=t.itemsJson),"show"in t&&n(4,c=t.show),"scenarioTxt"in t&&n(0,i=t.scenarioTxt),"saveConfig"in t&&n(5,u=t.saveConfig),"rebootEsp"in t&&n(6,d=t.rebootEsp)},t.$$.update=()=>{1&t.$$.dirty[0]&&n(9,s=Math.round(i.split("\n").length)+1)},[i,r,l,o,c,u,d,a,f,s,p,g,function(){a=S(this),n(7,a),n(3,o)},()=>p(),function(t,e){t[e].id=this.value,n(1,r),n(2,l)},function(t,e){t[e].widget=S(this),n(1,r),n(2,l)},function(t,e){t[e].page=this.value,n(1,r),n(2,l)},function(t,e){t[e].descr=this.value,n(1,r),n(2,l)},()=>n(8,f=!f),t=>g(t),function(t,e,s){e[s][t]=this.value,n(1,r),n(2,l)},function(){i=this.value,n(0,i)},()=>u(),()=>d()]}class De extends rt{constructor(t){super(),st(this,t,ze,Be,l,{configJson:1,widgetsJson:2,itemsJson:3,show:4,scenarioTxt:0,saveConfig:5,rebootEsp:6},null,[-1,-1])}}function Ie(t,e,n){const s=t.slice();return s[23]=e[n][0],s[24]=e[n][1],s}function Re(e){let n,s;return n=new Ct({props:{title:"Загрузка..."}}),{c(){tt(n.$$.fragment)},m(t,e){et(n,t,e),s=!0},p:t,i(t){s||(G(n.$$.fragment,t),s=!0)},o(t){Z(n.$$.fragment,t),s=!1},d(t){nt(n,t)}}}function Fe(t){let e,n,s,r,l,o,c,i;return n=new zt({props:{title:"Подключение к WiFi",$$slots:{default:[Ve]},$$scope:{ctx:t}}}),r=new zt({props:{title:"Подключение к MQTT",$$slots:{default:[Ze]},$$scope:{ctx:t}}}),c=new zt({props:{$$slots:{default:[Xe]},$$scope:{ctx:t}}}),{c(){e=h("div"),tt(n.$$.fragment),s=b(),tt(r.$$.fragment),l=b(),o=h("div"),tt(c.$$.fragment),y(e,"class","grd-2col1"),y(o,"class","grd-1col1")},m(t,a){p(t,e,a),et(n,e,null),f(e,s),et(r,e,null),p(t,l,a),p(t,o,a),et(c,o,null),i=!0},p(t,e){const s={};134217783&e&&(s.$$scope={dirty:e,ctx:t}),n.$set(s);const l={};134217795&e&&(l.$$scope={dirty:e,ctx:t}),r.$set(l);const o={};134217856&e&&(o.$$scope={dirty:e,ctx:t}),c.$set(o)},i(t){i||(G(n.$$.fragment,t),G(r.$$.fragment,t),G(c.$$.fragment,t),i=!0)},o(t){Z(n.$$.fragment,t),Z(r.$$.fragment,t),Z(c.$$.fragment,t),i=!1},d(t){t&&g(e),nt(n),nt(r),t&&g(l),t&&g(o),nt(c)}}}function Ue(t){let e,n,s,r,l=t[24]+"";return{c(){e=h("option"),n=x(l),s=b(),e.__value=r=t[24],e.value=e.__value},m(t,r){p(t,e,r),f(e,n),f(e,s)},p(t,s){4&s&&l!==(l=t[24]+"")&&_(n,l),4&s&&r!==(r=t[24])&&(e.__value=r,e.value=e.__value)},d(t){t&&g(e)}}}function We(t){let e,n,s;return n=new Ct({props:{title:"Введен неправильный пароль"}}),{c(){e=h("div"),tt(n.$$.fragment),y(e,"class","grd-1col1")},m(t,r){p(t,e,r),et(n,e,null),s=!0},i(t){s||(G(n.$$.fragment,t),s=!0)},o(t){Z(n.$$.fragment,t),s=!1},d(t){t&&g(e),nt(n)}}}function Ve(t){let e,n,r,l,o,c,i,a,u,d,$,x,w,k,_,S,T,M,L,q,E,C,O,N,H,P,A,B,z,I,R,F,U,W,V,Y,X,tt,et,nt,st,rt=Object.entries(t[2]),lt=[];for(let e=0;eНазвание устройства

',r=b(),l=h("div"),o=h("input"),c=b(),i=h("div"),a=h("div"),a.innerHTML='

Точка доступа

',u=b(),d=h("div"),$=h("input"),x=b(),w=h("div"),k=h("div"),k.innerHTML='

Пароль точки доступа

',_=b(),S=h("div"),T=h("input"),M=b(),L=h("div"),q=h("div"),q.innerHTML='

Название wifi сети

',E=b(),C=h("div"),O=h("select");for(let t=0;tПароль

',A=b(),B=h("div"),z=h("input"),I=b(),R=h("div"),F=h("div"),F.innerHTML='

Сервер обновления

',U=b(),W=h("div"),V=h("input"),Y=b(),ot&&ot.c(),X=b(),tt=h("button"),tt.textContent="Сохранить",y(n,"class","w-4/6"),y(o,"class","ipt-rnd text-left focus:border-indigo-500"),y(o,"type","text"),y(l,"class","flex justify-end w-3/6"),y(e,"class","crd-itm-psn"),y(a,"class","w-4/6"),y($,"class","ipt-rnd text-left focus:border-indigo-500"),y($,"type","text"),y(d,"class","flex justify-end w-3/6"),y(i,"class","crd-itm-psn"),y(k,"class","w-4/6"),y(T,"class","ipt-rnd text-left focus:border-indigo-500"),y(T,"type","text"),y(S,"class","flex justify-end w-3/6"),y(w,"class","crd-itm-psn"),y(q,"class","w-4/6"),y(O,"class","ipt-rnd text-left focus:border-indigo-500"),void 0===t[0].routerssid&&D((()=>t[11].call(O))),y(C,"class","flex justify-end w-3/6"),y(L,"class","crd-itm-psn"),y(P,"class","w-4/6"),y(z,"class","ipt-rnd text-left focus:border-indigo-500"),y(z,"type","text"),y(B,"class","flex justify-end w-3/6"),y(H,"class","crd-itm-psn"),y(F,"class","w-4/6"),y(V,"class","ipt-rnd text-left focus:border-indigo-500"),y(V,"type","text"),y(W,"class","flex justify-end w-3/6"),y(R,"class","crd-itm-psn"),y(tt,"class","btn-lg")},m(s,g){p(s,e,g),f(e,n),f(e,r),f(e,l),f(l,o),J(o,t[0].name),p(s,c,g),p(s,i,g),f(i,a),f(i,u),f(i,d),f(d,$),J($,t[0].apssid),p(s,x,g),p(s,w,g),f(w,k),f(w,_),f(w,S),f(S,T),J(T,t[0].appass),p(s,M,g),p(s,L,g),f(L,q),f(L,E),f(L,C),f(C,O);for(let t=0;t{ot=null})),Q())},i(t){et||(G(ot),et=!0)},o(t){Z(ot),et=!1},d(t){t&&g(e),t&&g(c),t&&g(i),t&&g(x),t&&g(w),t&&g(M),t&&g(L),m(lt,t),t&&g(N),t&&g(H),t&&g(I),t&&g(R),t&&g(Y),ot&&ot.d(t),t&&g(X),t&&g(tt),nt=!1,s(st)}}}function Ye(t){let e;return{c(){e=h("p"),e.textContent="Ошибка",y(e,"class","text-red-500 font-bold h-8 bg-red-50 border-2 border-gray-200 rounded w-full text-center")},m(t,n){p(t,e,n)},d(t){t&&g(e)}}}function Ke(t){let e;return{c(){e=h("p"),e.textContent="Ожидание",y(e,"class","text-blue-500 font-bold h-8 bg-blue-50 border-2 border-gray-200 rounded w-full text-center")},m(t,n){p(t,e,n)},d(t){t&&g(e)}}}function Qe(t){let e;return{c(){e=h("p"),e.textContent="Подключение",y(e,"class","text-yellow-500 font-bold h-8 bg-yellow-50 border-2 border-gray-200 rounded w-full text-center")},m(t,n){p(t,e,n)},d(t){t&&g(e)}}}function Ge(t){let e;return{c(){e=h("p"),e.textContent="Подключено",y(e,"class","text-green-500 font-bold h-8 bg-green-50 border-2 border-gray-200 rounded w-full text-center")},m(t,n){p(t,e,n)},d(t){t&&g(e)}}}function Ze(t){let e,n,r,l,o,c,i,a,u,d,m,$,x,w,k,_,j,S,T,M,L,q,E,C,O,N,H,P,A,B,z,D,I,R,F,U,W,V;function Y(t,e){return"e5"===t[1].mqtt?Ge:"e13"===t[1].mqtt?Qe:void 0===t[1].mqtt?Ke:Ye}let K=Y(t),Q=K(t);return{c(){e=h("div"),n=h("div"),n.innerHTML='

Состояние подключения

',r=b(),l=h("div"),Q.c(),o=b(),c=h("div"),i=h("div"),i.innerHTML='

Название сервера

',a=b(),u=h("div"),d=h("input"),m=b(),$=h("div"),x=h("div"),x.innerHTML='

Порт

',w=b(),k=h("div"),_=h("input"),j=b(),S=h("div"),T=h("div"),T.innerHTML='

Префикс

',M=b(),L=h("div"),q=h("input"),E=b(),C=h("div"),O=h("div"),O.innerHTML='

Имя пользователя

',N=b(),H=h("div"),P=h("input"),A=b(),B=h("div"),z=h("div"),z.innerHTML='

Пароль

',D=b(),I=h("div"),R=h("input"),F=b(),U=h("button"),U.textContent="Сохранить",y(n,"class","w-4/6"),y(l,"class","flex justify-center w-3/6 align-baseline text-sm sm:text-sm md:text-base lg:text-base xl:text-base 2xl:text-base break-words"),y(e,"class","crd-itm-psn"),y(i,"class","w-4/6"),y(d,"class","ipt-rnd text-left focus:border-indigo-500"),y(d,"type","text"),y(u,"class","flex justify-end w-3/6"),y(c,"class","crd-itm-psn"),y(x,"class","w-4/6"),y(_,"class","ipt-rnd text-left focus:border-indigo-500"),y(_,"type","text"),y(k,"class","flex justify-end w-3/6"),y($,"class","crd-itm-psn"),y(T,"class","w-4/6"),y(q,"class","ipt-rnd text-left focus:border-indigo-500"),y(q,"type","text"),y(L,"class","flex justify-end w-3/6"),y(S,"class","crd-itm-psn"),y(O,"class","w-4/6"),y(P,"class","ipt-rnd text-left focus:border-indigo-500"),y(P,"type","text"),y(H,"class","flex justify-end w-3/6"),y(C,"class","crd-itm-psn"),y(z,"class","w-4/6"),y(R,"class","ipt-rnd text-left focus:border-indigo-500"),y(R,"type","text"),y(I,"class","flex justify-end w-3/6"),y(B,"class","crd-itm-psn"),y(U,"class","btn-lg")},m(s,g){p(s,e,g),f(e,n),f(e,r),f(e,l),Q.m(l,null),p(s,o,g),p(s,c,g),f(c,i),f(c,a),f(c,u),f(u,d),J(d,t[0].mqttServer),p(s,m,g),p(s,$,g),f($,x),f($,w),f($,k),f(k,_),J(_,t[0].mqttPort),p(s,j,g),p(s,S,g),f(S,T),f(S,M),f(S,L),f(L,q),J(q,t[0].mqttPrefix),p(s,E,g),p(s,C,g),f(C,O),f(C,N),f(C,H),f(H,P),J(P,t[0].mqttUser),p(s,A,g),p(s,B,g),f(B,z),f(B,D),f(B,I),f(I,R),J(R,t[0].mqttPass),p(s,F,g),p(s,U,g),W||(V=[v(d,"input",t[16]),v(_,"input",t[17]),v(q,"input",t[18]),v(P,"input",t[19]),v(R,"input",t[20]),v(U,"click",t[21])],W=!0)},p(t,e){K!==(K=Y(t))&&(Q.d(1),Q=K(t),Q&&(Q.c(),Q.m(l,null))),5&e&&d.value!==t[0].mqttServer&&J(d,t[0].mqttServer),5&e&&_.value!==t[0].mqttPort&&J(_,t[0].mqttPort),5&e&&q.value!==t[0].mqttPrefix&&J(q,t[0].mqttPrefix),5&e&&P.value!==t[0].mqttUser&&J(P,t[0].mqttUser),5&e&&R.value!==t[0].mqttPass&&J(R,t[0].mqttPass)},d(t){t&&g(e),Q.d(),t&&g(o),t&&g(c),t&&g(m),t&&g($),t&&g(j),t&&g(S),t&&g(E),t&&g(C),t&&g(A),t&&g(B),t&&g(F),t&&g(U),W=!1,s(V)}}}function Xe(e){let n,s,r;return{c(){n=h("button"),n.textContent="Перезагрузить устройство",y(n,"class","btn-lg")},m(t,l){p(t,n,l),s||(r=v(n,"click",e[22]),s=!0)},p:t,d(t){t&&g(n),s=!1,r()}}}function tn(t){let e,n,s,r;const l=[Fe,Re],o=[];function c(t,e){return t[3]?0:1}return e=c(t),n=o[e]=l[e](t),{c(){n.c(),s=w()},m(t,n){o[e].m(t,n),p(t,s,n),r=!0},p(t,[r]){let i=e;e=c(t),e===i?o[e].p(t,r):(K(),Z(o[i],1,1,(()=>{o[i]=null})),Q(),n=o[e],n?n.p(t,r):(n=o[e]=l[e](t),n.c()),G(n,1),n.m(s.parentNode,s))},i(t){r||(G(n),r=!0)},o(t){Z(n),r=!1},d(t){o[e].d(t),t&&g(s)}}}function en(t,e,n){let{settingsJson:s}=e,{errorsJson:r}=e,{ssidJson:l}=e,{show:o}=e,{ssidClick:c=(()=>{})}=e,{saveSett:i=(()=>{})}=e,{saveMqtt:a=(()=>{})}=e,{rebootEsp:u=(()=>{})}=e;return t.$$set=t=>{"settingsJson"in t&&n(0,s=t.settingsJson),"errorsJson"in t&&n(1,r=t.errorsJson),"ssidJson"in t&&n(2,l=t.ssidJson),"show"in t&&n(3,o=t.show),"ssidClick"in t&&n(4,c=t.ssidClick),"saveSett"in t&&n(5,i=t.saveSett),"saveMqtt"in t&&n(6,a=t.saveMqtt),"rebootEsp"in t&&n(7,u=t.rebootEsp)},[s,r,l,o,c,i,a,u,function(){s.name=this.value,n(0,s),n(2,l)},function(){s.apssid=this.value,n(0,s),n(2,l)},function(){s.appass=this.value,n(0,s),n(2,l)},function(){s.routerssid=S(this),n(0,s),n(2,l)},()=>c(),function(){s.routerpass=this.value,n(0,s),n(2,l)},function(){s.serverip=this.value,n(0,s),n(2,l)},()=>i(),function(){s.mqttServer=this.value,n(0,s),n(2,l)},function(){s.mqttPort=this.value,n(0,s),n(2,l)},function(){s.mqttPrefix=this.value,n(0,s),n(2,l)},function(){s.mqttUser=this.value,n(0,s),n(2,l)},function(){s.mqttPass=this.value,n(0,s),n(2,l)},()=>a(),()=>u()]}class nn extends rt{constructor(t){super(),st(this,t,en,tn,l,{settingsJson:0,errorsJson:1,ssidJson:2,show:3,ssidClick:4,saveSett:5,saveMqtt:6,rebootEsp:7})}}function sn(t,e,n){const s=t.slice();return s[13]=e[n],s[15]=n,s}function rn(e){let n,s;return n=new Ct({props:{title:"Загрузка..."}}),{c(){tt(n.$$.fragment)},m(t,e){et(n,t,e),s=!0},p:t,i(t){s||(G(n.$$.fragment,t),s=!0)},o(t){Z(n.$$.fragment,t),s=!1},d(t){nt(n,t)}}}function ln(t){let e,n,s,r,l;return n=new zt({props:{title:"Список устройств",$$slots:{default:[an]},$$scope:{ctx:t}}}),r=new Ct({props:{$$slots:{default:[un]},$$scope:{ctx:t}}}),{c(){e=h("div"),tt(n.$$.fragment),s=b(),tt(r.$$.fragment),y(e,"class","grd-1col1")},m(t,o){p(t,e,o),et(n,e,null),f(e,s),et(r,e,null),l=!0},p(t,e){const s={};65591&e&&(s.$$scope={dirty:e,ctx:t}),n.$set(s);const l={};65536&e&&(l.$$scope={dirty:e,ctx:t}),r.$set(l)},i(t){l||(G(n.$$.fragment,t),G(r.$$.fragment,t),l=!0)},o(t){Z(n.$$.fragment,t),Z(r.$$.fragment,t),l=!1},d(t){t&&g(e),nt(n),nt(r)}}}function on(t){let e,n,s,r,l,o,c,i,a,u,d,m,$,w,v,k,J,j,S,T=t[13].name+"",M=t[13].ip+"",L=t[13].id+"",q=t[13].status?"online":"offline";return j=new Tt({props:{click:function(){return t[7](t[15])}}}),{c(){e=h("tr"),n=h("td"),s=x(T),r=b(),l=h("td"),o=h("a"),c=x(M),a=b(),u=h("td"),d=x(L),m=b(),$=h("td"),w=x(q),k=b(),J=h("td"),tt(j.$$.fragment),y(n,"class","tbl-bdy-lg ipt-lg w-full"),y(o,"href",i="http://"+t[13].ip),y(l,"class","tbl-bdy-lg ipt-lg w-full"),y(u,"class","tbl-bdy-lg ipt-lg w-full"),y($,"class",v="tbl-bdy-lg ipt-lg w-full "+(t[13].status?"bg-green-50":"bg-red-50")),y(J,"class","tbl-bdy-lg"),y(e,"class","txt-sz txt-pad")},m(t,i){p(t,e,i),f(e,n),f(n,s),f(e,r),f(e,l),f(l,o),f(o,c),f(e,a),f(e,u),f(u,d),f(e,m),f(e,$),f($,w),f(e,k),f(e,J),et(j,J,null),S=!0},p(e,n){t=e,(!S||1&n)&&T!==(T=t[13].name+"")&&_(s,T),(!S||1&n)&&M!==(M=t[13].ip+"")&&_(c,M),(!S||1&n&&i!==(i="http://"+t[13].ip))&&y(o,"href",i),(!S||1&n)&&L!==(L=t[13].id+"")&&_(d,L),(!S||1&n)&&q!==(q=t[13].status?"online":"offline")&&_(w,q),(!S||1&n&&v!==(v="tbl-bdy-lg ipt-lg w-full "+(t[13].status?"bg-green-50":"bg-red-50")))&&y($,"class",v)},i(t){S||(G(j.$$.fragment,t),S=!0)},o(t){Z(j.$$.fragment,t),S=!1},d(t){t&&g(e),nt(j)}}}function cn(t){let e,n,r,l,o,c,i,a,u,d,m,$,x;return{c(){e=h("tr"),n=h("td"),r=h("input"),l=b(),o=h("td"),c=h("input"),i=b(),a=h("td"),u=h("input"),d=b(),m=h("td"),y(r,"class","ipt-lg w-full"),y(r,"type","text"),y(n,"class","tbl-bdy-lg"),y(c,"class","ipt-lg w-full"),y(c,"type","text"),y(o,"class","tbl-bdy-lg"),y(u,"class","ipt-lg w-full"),y(u,"type","text"),y(a,"class","tbl-bdy-lg"),y(m,"class","tbl-bdy-lg"),y(e,"class","txt-sz txt-pad")},m(s,g){p(s,e,g),f(e,n),f(n,r),J(r,t[2].name),f(e,l),f(e,o),f(o,c),J(c,t[2].ip),f(e,i),f(e,a),f(a,u),J(u,t[2].id),f(e,d),f(e,m),$||(x=[v(r,"input",t[8]),v(c,"input",t[9]),v(u,"input",t[10])],$=!0)},p(t,e){4&e&&r.value!==t[2].name&&J(r,t[2].name),4&e&&c.value!==t[2].ip&&J(c,t[2].ip),4&e&&u.value!==t[2].id&&J(u,t[2].id)},d(t){t&&g(e),$=!1,s(x)}}}function an(t){let e,n,r,l,o,c,i,a,u,d,$,w,k,J,j=t[1]?"Сохранить":"Добавить устройство",S=t[0],T=[];for(let e=0;eZ(T[t],1,1,(()=>{T[t]=null}));let L=t[1]&&cn(t);return{c(){e=h("table"),n=h("thead"),n.innerHTML='Название устройства \n IP адрес \n Идентификатор \n Состояние \n ',r=b(),l=h("tbody");for(let t=0;t{o[i]=null})),Q(),n=o[e],n?n.p(t,r):(n=o[e]=l[e](t),n.c()),G(n,1),n.m(s.parentNode,s))},i(t){r||(G(n),r=!0)},o(t){Z(n),r=!1},d(t){o[e].d(t),t&&g(s)}}}function fn(t,e,n){let{show:s}=e,{deviceList:r}=e,{showInput:l}=e,{newDevice:o={}}=e,{addDevInList:c=(()=>{})}=e,{sendToAllDevices:i=(t=>{})}=e;function a(t){for(let e=0;e{"show"in t&&n(3,s=t.show),"deviceList"in t&&n(0,r=t.deviceList),"showInput"in t&&n(1,l=t.showInput),"newDevice"in t&&n(2,o=t.newDevice),"addDevInList"in t&&n(4,c=t.addDevInList),"sendToAllDevices"in t&&n(5,i=t.sendToAllDevices)},[r,l,o,s,c,i,a,t=>a(t),function(){o.name=this.value,n(2,o)},function(){o.ip=this.value,n(2,o)},function(){o.id=this.value,n(2,o)},()=>(n(1,l=!l),c()),t=>i("/reboot|")]}class pn extends rt{constructor(t){super(),st(this,t,fn,dn,l,{show:3,deviceList:0,showInput:1,newDevice:2,addDevInList:4,sendToAllDevices:5})}}function gn(t,e,n){const s=t.slice();return s[21]=e[n][0],s[22]=e[n][1],s[24]=n,s}function mn(t,e,n){const s=t.slice();return s[25]=e[n],s[24]=n,s}function hn(t,e,n){const s=t.slice();return s[21]=e[n][0],s[22]=e[n][1],s}function $n(e){let n,s;return n=new Ct({props:{title:"Загрузка..."}}),{c(){tt(n.$$.fragment)},m(t,e){et(n,t,e),s=!0},p:t,i(t){s||(G(n.$$.fragment,t),s=!0)},o(t){Z(n.$$.fragment,t),s=!1},d(t){nt(n,t)}}}function xn(t){let e,n,s,r,l,o,c,i,a,u;return n=new zt({props:{title:"Системная информация",$$slots:{default:[Sn]},$$scope:{ctx:t}}}),r=new zt({props:{title:"Системные настройки",$$slots:{default:[Mn]},$$scope:{ctx:t}}}),o=new zt({props:{title:"Лог",class:"z-50",$$slots:{default:[qn]},$$scope:{ctx:t}}}),a=new zt({props:{title:"Системные ошибки",$$slots:{default:[Hn]},$$scope:{ctx:t}}}),{c(){e=h("div"),tt(n.$$.fragment),s=b(),tt(r.$$.fragment),l=b(),tt(o.$$.fragment),c=b(),i=h("div"),tt(a.$$.fragment),y(e,"class","grd-3col1"),y(i,"class","grd-1col1")},m(t,d){p(t,e,d),et(n,e,null),f(e,s),et(r,e,null),f(e,l),et(o,e,null),p(t,c,d),p(t,i,d),et(a,i,null),u=!0},p(t,e){const s={};536871001&e&&(s.$$scope={dirty:e,ctx:t}),n.$set(s);const l={};536871046&e&&(l.$$scope={dirty:e,ctx:t}),r.$set(l);const c={};536870944&e&&(c.$$scope={dirty:e,ctx:t}),o.$set(c);const i={};536871432&e&&(i.$$scope={dirty:e,ctx:t}),a.$set(i)},i(t){u||(G(n.$$.fragment,t),G(r.$$.fragment,t),G(o.$$.fragment,t),G(a.$$.fragment,t),u=!0)},o(t){Z(n.$$.fragment,t),Z(r.$$.fragment,t),Z(o.$$.fragment,t),Z(a.$$.fragment,t),u=!1},d(t){t&&g(e),nt(n),nt(r),nt(o),t&&g(c),t&&g(i),nt(a)}}}function bn(t){let e,n,s,r,l=t[22]+"";return{c(){e=h("option"),n=x(l),s=b(),e.__value=r=t[22],e.value=e.__value},m(t,r){p(t,e,r),f(e,n),f(e,s)},p(t,s){16&s&&l!==(l=t[22]+"")&&_(n,l),16&s&&r!==(r=t[22])&&(e.__value=r,e.value=e.__value)},d(t){t&&g(e)}}}function wn(t){let e;return{c(){e=h("p"),e.textContent="не подключено",y(e,"class","text-red-500 font-bold text-sm text-center truncate")},m(t,n){p(t,e,n)},d(t){t&&g(e)}}}function vn(t){let e;return{c(){e=h("p"),e.textContent="нет сигнала",y(e,"class","text-red-500 font-bold text-sm text-center truncate")},m(t,n){p(t,e,n)},d(t){t&&g(e)}}}function yn(t){let e;return{c(){e=h("p"),e.textContent="очень низкий",y(e,"class","text-red-500 font-bold text-sm text-center truncate")},m(t,n){p(t,e,n)},d(t){t&&g(e)}}}function kn(t){let e;return{c(){e=h("p"),e.textContent="низкий",y(e,"class","text-yellow-500 font-bold text-sm text-center truncate")},m(t,n){p(t,e,n)},d(t){t&&g(e)}}}function _n(t){let e;return{c(){e=h("p"),e.textContent="хороший",y(e,"class","text-yellow-500 font-bold text-sm text-center truncate")},m(t,n){p(t,e,n)},d(t){t&&g(e)}}}function Jn(t){let e;return{c(){e=h("p"),e.textContent="очень хороший",y(e,"class","text-green-500 font-bold text-sm text-center truncate")},m(t,n){p(t,e,n)},d(t){t&&g(e)}}}function jn(t){let e;return{c(){e=h("p"),e.textContent="отличный",y(e,"class","text-green-500 font-bold text-sm text-center truncate")},m(t,n){p(t,e,n)},d(t){t&&g(e)}}}function Sn(t){let e,n,r,l,o,c,i,a,u,d,$,w,k,J,S,T,M,L,q,E,C,O,N,H,P,A,B,z,I,R,F,U,W,V,Y,K,Q,G,Z,X,tt,et,nt,st,rt,lt,ot,ct,it,at,ut,dt,ft,pt,gt,mt,ht,$t,xt,bt,wt,vt,yt,kt,_t,Jt,jt,St,Tt,Mt,Lt,qt,Et,Ct,Ot,Nt,Ht,Pt,At,Bt,zt,Dt,It,Rt,Ft=t[3].bn+"",Ut=t[3].bver+"",Wt=t[3].timenow+"",Vt=t[3].upt+"",Yt=t[3].uptm+"",Kt=t[3].uptw+"",Qt=t[3].heap+"",Gt=t[3].fl+"",Zt=t[3].rst+"",Xt=Object.entries(t[4]),te=[];for(let e=0;eНазвание прошивки

',r=b(),l=h("div"),o=h("p"),c=x(Ft),i=b(),a=h("div"),u=h("div"),u.innerHTML='

Доступные версии

',d=b(),$=h("div"),w=h("select");for(let t=0;tВерсия прошивки

',T=b(),M=h("div"),L=h("p"),q=x(Ut),E=b(),C=h("div"),O=h("div"),O.innerHTML='

Время на устройстве

',N=b(),H=h("div"),P=h("p"),A=x(Wt),B=b(),z=h("div"),I=h("div"),I.innerHTML='

Uptime устройства

',R=b(),F=h("div"),U=h("p"),W=x(Vt),V=b(),Y=h("div"),K=h("div"),K.innerHTML='

Uptime сессии mqtt

',Q=b(),G=h("div"),Z=h("p"),X=x(Yt),tt=b(),et=h("div"),nt=h("div"),nt.innerHTML='

Uptime сессии wifi

',st=b(),rt=h("div"),lt=h("p"),ot=x(Kt),ct=b(),it=h("div"),at=h("div"),at.innerHTML='

Качество WiFi сигнала

',ut=b(),dt=h("div"),ee&&ee.c(),ft=b(),ne&&ne.c(),pt=b(),se&&se.c(),gt=b(),re&&re.c(),mt=b(),le&&le.c(),ht=b(),oe&&oe.c(),$t=b(),ce&&ce.c(),xt=b(),bt=h("div"),wt=h("div"),wt.innerHTML='

Остаток RAM

',vt=b(),yt=h("div"),kt=h("p"),_t=x(Qt),Jt=b(),jt=h("div"),St=h("div"),St.innerHTML='

Кол-во записей на flash

',Tt=b(),Mt=h("div"),Lt=h("p"),qt=x(Gt),Et=b(),Ct=h("div"),Ot=h("div"),Ot.innerHTML='

Причина перезагрузки

',Nt=b(),Ht=h("div"),Pt=h("p"),At=x(Zt),zt=b(),Dt=h("button"),Dt.textContent="Обновить прошивку",y(n,"class","w-2/3"),y(o,"class","text-gray-500 font-bold text-sm text-center truncate"),y(l,"class","flex justify-center w-1/3"),y(e,"class","flex mb-2 h-6 items-center"),y(u,"class","w-2/3"),y(w,"class","border border-indigo-500 border-4 text-center"),void 0===t[0]&&D((()=>t[12].call(w))),y($,"class","flex justify-center w-1/3"),y(a,"class","flex mb-2 h-6 items-center"),y(S,"class","w-2/3"),y(L,"class","text-gray-500 font-bold text-sm text-center truncate"),y(M,"class","flex justify-center w-1/3"),y(J,"class","flex mb-2 h-6 items-center"),y(O,"class","w-2/3"),y(P,"class","text-gray-500 font-bold text-sm text-center truncate"),y(H,"class","flex justify-center w-1/3"),y(C,"class","flex mb-2 h-6 items-center"),y(I,"class","w-2/3"),y(U,"class","text-gray-500 font-bold text-sm text-center truncate"),y(F,"class","flex justify-center w-1/3"),y(z,"class","flex mb-2 h-6 items-center"),y(K,"class","w-2/3"),y(Z,"class","text-gray-500 font-bold text-sm text-center truncate"),y(G,"class","flex justify-center w-1/3"),y(Y,"class","flex mb-2 h-6 items-center"),y(nt,"class","w-2/3"),y(lt,"class","text-gray-500 font-bold text-sm text-center truncate"),y(rt,"class","flex justify-center w-1/3"),y(et,"class","flex mb-2 h-6 items-center"),y(at,"class","w-2/3"),y(dt,"class","flex justify-center w-1/3 text-xs sm:text-sm md:text-base lg:text-base xl:text-base 2xl:text-base break-words"),y(it,"class","flex mb-2 h-6 items-center"),y(wt,"class","w-2/3"),y(kt,"class","text-green-500 font-bold text-center truncate"),y(yt,"class","flex justify-center w-1/3 text-sm text-center"),y(bt,"class","flex mb-2 h-6 items-center"),y(St,"class","w-2/3"),y(Lt,"class","text-green-500 font-bold text-center truncate"),y(Mt,"class","flex justify-center w-1/3 text-sm"),y(jt,"class","flex mb-2 h-6 items-center"),y(Ot,"class","w-2/3"),y(Pt,"class",Bt=(t[3].rst.toString().includes("Watchdog")||t[3].rst.toString().includes("Exception")?"text-red-500":"text-green-500")+" font-bold text-center truncate"),y(Ht,"class","flex justify-center w-1/3 text-sm"),y(Ct,"class","flex mb-2 h-6 items-center"),y(Dt,"class","btn-lg")},m(s,g){p(s,e,g),f(e,n),f(e,r),f(e,l),f(l,o),f(o,c),p(s,i,g),p(s,a,g),f(a,u),f(a,d),f(a,$),f($,w);for(let t=0;tВключить лог

',r=b(),l=h("div"),o=h("label"),c=h("div"),i=h("input"),a=b(),u=h("div"),m=b(),$=h("div"),x=b(),_=h("div"),j=h("div"),j.innerHTML='

Часовой пояс

',S=b(),T=h("div"),M=h("input"),L=b(),O&&O.c(),q=w(),y(n,"class","w-2/3"),y(i,"id","log"),y(i,"type","checkbox"),y(i,"class","sr-only"),y(u,"class",d="block "+(t[1].log?"bg-blue-600":"bg-gray-600")+" w-10 h-6 rounded-full shadow-lg"),y($,"class","dot bg-gray-100 absolute left-1 top-1 w-4 h-4 rounded-full transition shadow-lg"),y(c,"class","relative"),y(o,"for","log"),y(o,"class","items-center cursor-pointer"),y(l,"class","flex justify-center w-1/3"),y(e,"class","flex mb-2 h-6 items-center"),y(j,"class","w-2/3"),y(M,"class","ipt-rnd text-center focus:border-indigo-500"),y(M,"type","number"),y(T,"class","flex justify-center w-1/3"),y(_,"class","flex mb-2 h-6 items-center")},m(s,d){p(s,e,d),f(e,n),f(e,r),f(e,l),f(l,o),f(o,c),f(c,i),i.checked=t[1].log,f(c,a),f(c,u),f(c,m),f(c,$),p(s,x,d),p(s,_,d),f(_,j),f(_,S),f(_,T),f(T,M),J(M,t[1].timezone),p(s,L,d),O&&O.m(s,d),p(s,q,d),E||(C=[v(i,"change",t[14]),v(i,"change",t[15]),v(M,"input",t[16]),v(M,"change",t[17])],E=!0)},p(t,e){2&e&&(i.checked=t[1].log),2&e&&d!==(d="block "+(t[1].log?"bg-blue-600":"bg-gray-600")+" w-10 h-6 rounded-full shadow-lg")&&y(u,"class",d),2&e&&k(M.value)!==t[1].timezone&&J(M,t[1].timezone),t[2]?O?O.p(t,e):(O=Tn(t),O.c(),O.m(q.parentNode,q)):O&&(O.d(1),O=null)},d(t){t&&g(e),t&&g(x),t&&g(_),t&&g(L),O&&O.d(t),t&&g(q),E=!1,s(C)}}}function Ln(t){let e,n,s,r=t[25].msg+"";return{c(){e=h("div"),n=x(r),y(e,"class",s=t[25].msg.toString().includes("[E]")?"text-xs text-red-500":"text-xs text-black")},m(t,s){p(t,e,s),f(e,n)},p(t,l){32&l&&r!==(r=t[25].msg+"")&&_(n,r),32&l&&s!==(s=t[25].msg.toString().includes("[E]")?"text-xs text-red-500":"text-xs text-black")&&y(e,"class",s)},d(t){t&&g(e)}}}function qn(t){let e,n=t[5],s=[];for(let e=0;e{s=null})),Q())},i(t){n||(G(s),n=!0)},o(t){Z(s),n=!1},d(t){s&&s.d(t),t&&g(e)}}}function Hn(t){let e,n,s=Object.entries(t[3]),r=[];for(let e=0;eZ(r[t],1,1,(()=>{r[t]=null}));return{c(){for(let t=0;t{o[i]=null})),Q(),n=o[e],n?n.p(t,r):(n=o[e]=l[e](t),n.c()),G(n,1),n.m(s.parentNode,s))},i(t){r||(G(n),r=!0)},o(t){Z(n),r=!1},d(t){o[e].d(t),t&&g(s)}}}function An(t,e,n){let{errorsJson:s}=e,{rebootEsp:r=(()=>{})}=e,{versionsList:l}=e,{choosingVersion:o}=e,{coreMessages:c}=e,{settingsJson:i}=e,{startUpdate:a=(()=>{})}=e,{saveSett:u=(()=>{})}=e,{show:d}=e,{paramsBeenChanged:f=!1}=e,{cancelAlarm:p=(t=>{})}=e;return t.$$set=t=>{"errorsJson"in t&&n(3,s=t.errorsJson),"rebootEsp"in t&&n(11,r=t.rebootEsp),"versionsList"in t&&n(4,l=t.versionsList),"choosingVersion"in t&&n(0,o=t.choosingVersion),"coreMessages"in t&&n(5,c=t.coreMessages),"settingsJson"in t&&n(1,i=t.settingsJson),"startUpdate"in t&&n(6,a=t.startUpdate),"saveSett"in t&&n(7,u=t.saveSett),"show"in t&&n(8,d=t.show),"paramsBeenChanged"in t&&n(2,f=t.paramsBeenChanged),"cancelAlarm"in t&&n(9,p=t.cancelAlarm)},[o,i,f,s,l,c,a,u,d,p,{mqtt:{e1:{descr:"Ошибка mqtt",color:"text-red-500",txt:"Нет ответа от сервера",cancel:!1},e2:{descr:"Ошибка mqtt",color:"text-red-500",txt:"Соединение было разорвано",cancel:!1},e3:{descr:"Ошибка mqtt",color:"text-red-500",txt:"Ошибка соединения. Обычно возникает когда неверно указано название сервера MQTT",cancel:!1},e4:{descr:"Ошибка mqtt",color:"text-red-500",txt:"Клиент был отключен",cancel:!1},e6:{descr:"Ошибка mqtt",color:"text-red-500",txt:"Ошибка версии",cancel:!1},e7:{descr:"Ошибка mqtt",color:"text-red-500",txt:"Отклонен идентификатор",cancel:!1},e8:{descr:"Ошибка mqtt",color:"text-red-500",txt:"Не могу установить соединение",cancel:!1},e9:{descr:"Ошибка mqtt",color:"text-red-500",txt:"Неправильное имя пользователя/пароль"},e10:{descr:"Ошибка mqtt",color:"text-red-500",txt:"Не авторизован для подключения",cancel:!1},e11:{descr:"Ошибка mqtt",color:"text-red-500",txt:"Название сервера пустое",cancel:!1},e12:{descr:"Ошибка mqtt",color:"text-red-500",txt:"Имя пользователя или пароль пустые",cancel:!1},e13:{descr:"Mqtt",color:"text-red-500",txt:"Подключение в процессе",cancel:!1}},wse1:{1:{descr:"Ошибка веб сокетов",color:"text-red-500",txt:"Слишком много клиентов было открыто. Допускается не более четырех.",cancel:!0}},jse1:{1:{descr:"Ошибка json",color:"text-red-500",txt:"Недостаточный размер буфера библиотеки Arduino Json. Устройство может вести себя непредсказуемо. Обратитесь к разработчику.",cancel:!0}},jse2:{1:{descr:"Ошибка json",color:"text-red-500",txt:"Ошибка записи/чтения json.",cancel:!0,num:!0}},jse3:{1:{descr:"Ошибка json",color:"text-red-500",txt:"Ошибка чтения json файла с виджетами",cancel:!0}}},r,function(){o=S(this),n(0,o),n(4,l)},()=>a(),function(){i.log=this.checked,n(1,i)},()=>n(2,f=!0),function(){i.timezone=k(this.value),n(1,i)},()=>n(2,f=!0),()=>(u(),n(2,f=!1)),t=>p(t)]}class Bn extends rt{constructor(t){super(),st(this,t,An,Pn,l,{errorsJson:3,rebootEsp:11,versionsList:4,choosingVersion:0,coreMessages:5,settingsJson:1,startUpdate:6,saveSett:7,show:8,paramsBeenChanged:2,cancelAlarm:9})}}function zn(e){let n,s,r,l;return{c(){n=$("svg"),s=$("path"),y(s,"d","M7 18a4.6 4.4 0 0 1 0 -9h0a5 4.5 0 0 1 11 2h1a3.5 3.5 0 0 1 0 7h-12"),y(n,"class",r="h-8 w-8 "+e[0]),y(n,"width","8"),y(n,"height","8"),y(n,"viewBox",l=e[1]+" "+e[2]+" 24 24"),y(n,"stroke-width","2"),y(n,"stroke","currentColor"),y(n,"fill","none"),y(n,"stroke-linecap","round"),y(n,"stroke-linejoin","round")},m(t,e){p(t,n,e),f(n,s)},p(t,[e]){1&e&&r!==(r="h-8 w-8 "+t[0])&&y(n,"class",r),6&e&&l!==(l=t[1]+" "+t[2]+" 24 24")&&y(n,"viewBox",l)},i:t,o:t,d(t){t&&g(n)}}}function Dn(t,e,n){let{color:s}=e,{x:r=0}=e,{y:l=0}=e;return t.$$set=t=>{"color"in t&&n(0,s=t.color),"x"in t&&n(1,r=t.x),"y"in t&&n(2,l=t.y)},[s,r,l]}class In extends rt{constructor(t){super(),st(this,t,Dn,zn,l,{color:0,x:1,y:2})}}function Rn(t,e,n){const s=t.slice();return s[118]=e[n],s}function Fn(t){let e,n;return e=new Nt({}),{c(){tt(e.$$.fragment)},m(t,s){et(e,t,s),n=!0},i(t){n||(G(e.$$.fragment,t),n=!0)},o(t){Z(e.$$.fragment,t),n=!1},d(t){nt(e,t)}}}function Un(t){let e,n,s,r,l=t[118].name+"";return{c(){e=h("option"),n=x(l),s=b(),e.__value=r=t[118].ws,e.value=e.__value},m(t,r){p(t,e,r),f(e,n),f(e,s)},p(t,s){524288&s[0]&&l!==(l=t[118].name+"")&&_(n,l),524288&s[0]&&r!==(r=t[118].ws)&&(e.__value=r,e.value=e.__value)},d(t){t&&g(e)}}}function Wn(t){let e,n,s,r,l,o,c,i,a,u;return e=new Jt({props:{path:"/",$$slots:{default:[Yn]},$$scope:{ctx:t}}}),s=new Jt({props:{path:"/config",$$slots:{default:[Kn]},$$scope:{ctx:t}}}),l=new Jt({props:{path:"/connection",$$slots:{default:[Qn]},$$scope:{ctx:t}}}),c=new Jt({props:{path:"/list",$$slots:{default:[Gn]},$$scope:{ctx:t}}}),a=new Jt({props:{path:"/system",$$slots:{default:[Zn]},$$scope:{ctx:t}}}),{c(){tt(e.$$.fragment),n=b(),tt(s.$$.fragment),r=b(),tt(l.$$.fragment),o=b(),tt(c.$$.fragment),i=b(),tt(a.$$.fragment)},m(t,d){et(e,t,d),p(t,n,d),et(s,t,d),p(t,r,d),et(l,t,d),p(t,o,d),et(c,t,d),p(t,i,d),et(a,t,d),u=!0},p(t,n){const r={};16408&n[0]|268435456&n[3]&&(r.$$scope={dirty:n,ctx:t}),e.$set(r);const o={};276512&n[0]|268435456&n[3]&&(o.$$scope={dirty:n,ctx:t}),s.$set(o);const i={};229440&n[0]|268435456&n[3]&&(i.$$scope={dirty:n,ctx:t}),l.$set(i);const u={};4718720&n[0]|268435456&n[3]&&(u.$$scope={dirty:n,ctx:t}),c.$set(u);const d={};8488704&n[0]|268435456&n[3]&&(d.$$scope={dirty:n,ctx:t}),a.$set(d)},i(t){u||(G(e.$$.fragment,t),G(s.$$.fragment,t),G(l.$$.fragment,t),G(c.$$.fragment,t),G(a.$$.fragment,t),u=!0)},o(t){Z(e.$$.fragment,t),Z(s.$$.fragment,t),Z(l.$$.fragment,t),Z(c.$$.fragment,t),Z(a.$$.fragment,t),u=!1},d(t){nt(e,t),t&&g(n),nt(s,t),t&&g(r),nt(l,t),t&&g(o),nt(c,t),t&&g(i),nt(a,t)}}}function Vn(e){let n,s;return n=new Ct({props:{title:"Нет соединения"}}),{c(){tt(n.$$.fragment)},m(t,e){et(n,t,e),s=!0},p:t,i(t){s||(G(n.$$.fragment,t),s=!0)},o(t){Z(n.$$.fragment,t),s=!1},d(t){nt(n,t)}}}function Yn(t){let e,n,s,r;return e=new xe({props:{show:t[4],layoutJson:t[14],pages:t[3],wsPush:t[40]}}),{c(){tt(e.$$.fragment),n=b(),s=w()},m(t,l){et(e,t,l),p(t,n,l),p(t,s,l),r=!0},p(t,n){const s={};16&n[0]&&(s.show=t[4]),16384&n[0]&&(s.layoutJson=t[14]),8&n[0]&&(s.pages=t[3]),e.$set(s)},i(t){r||(G(e.$$.fragment,t),r=!0)},o(t){Z(e.$$.fragment,t),r=!1},d(t){nt(e,t),t&&g(n),t&&g(s)}}}function Kn(t){let e,n;return e=new De({props:{show:t[5],configJson:t[11],widgetsJson:t[12],itemsJson:t[13],saveConfig:t[41],rebootEsp:t[42],scenarioTxt:t[18]}}),{c(){tt(e.$$.fragment)},m(t,s){et(e,t,s),n=!0},p(t,n){const s={};32&n[0]&&(s.show=t[5]),2048&n[0]&&(s.configJson=t[11]),4096&n[0]&&(s.widgetsJson=t[12]),8192&n[0]&&(s.itemsJson=t[13]),262144&n[0]&&(s.scenarioTxt=t[18]),e.$set(s)},i(t){n||(G(e.$$.fragment,t),n=!0)},o(t){Z(e.$$.fragment,t),n=!1},d(t){nt(e,t)}}}function Qn(t){let e,n;return e=new nn({props:{show:t[6],rebootEsp:t[43],ssidClick:t[44],saveSett:t[45],saveMqtt:t[46],settingsJson:t[15],errorsJson:t[16],ssidJson:t[17]}}),{c(){tt(e.$$.fragment)},m(t,s){et(e,t,s),n=!0},p(t,n){const s={};64&n[0]&&(s.show=t[6]),32768&n[0]&&(s.settingsJson=t[15]),65536&n[0]&&(s.errorsJson=t[16]),131072&n[0]&&(s.ssidJson=t[17]),e.$set(s)},i(t){n||(G(e.$$.fragment,t),n=!0)},o(t){Z(e.$$.fragment,t),n=!1},d(t){nt(e,t)}}}function Gn(t){let e,n;return e=new pn({props:{show:t[7],deviceList:t[19],showInput:ts,addDevInList:t[47],newDevice:t[22],sendToAllDevices:t[48]}}),{c(){tt(e.$$.fragment)},m(t,s){et(e,t,s),n=!0},p(t,n){const s={};128&n[0]&&(s.show=t[7]),524288&n[0]&&(s.deviceList=t[19]),4194304&n[0]&&(s.newDevice=t[22]),e.$set(s)},i(t){n||(G(e.$$.fragment,t),n=!0)},o(t){Z(e.$$.fragment,t),n=!1},d(t){nt(e,t)}}}function Zn(t){let e,n,s;function r(e){t[53](e)}let l={show:t[8],errorsJson:t[16],settingsJson:t[15],saveSett:t[49],rebootEsp:t[50],cancelAlarm:t[51],versionsList:t[9],startUpdate:t[52],coreMessages:t[23]};return void 0!==t[10]&&(l.choosingVersion=t[10]),e=new Bn({props:l}),O.push((()=>X(e,"choosingVersion",r))),{c(){tt(e.$$.fragment)},m(t,n){et(e,t,n),s=!0},p(t,s){const r={};256&s[0]&&(r.show=t[8]),65536&s[0]&&(r.errorsJson=t[16]),32768&s[0]&&(r.settingsJson=t[15]),512&s[0]&&(r.versionsList=t[9]),8388608&s[0]&&(r.coreMessages=t[23]),!n&&1024&s[0]&&(n=!0,r.choosingVersion=t[10],I((()=>n=!1))),e.$set(r)},i(t){s||(G(e.$$.fragment,t),s=!0)},o(t){Z(e.$$.fragment,t),s=!1},d(t){nt(e,t)}}}function Xn(t){let e,n,r,l,o,c,i,a,u,d,$,x,w,k,_,J,S,T,M,L,q,E,C,O,N,H,P,A,B,z,I,R,F,U,W,V,Y,X,st,rt,lt,ot,ct=t[2]&&Fn(),it=t[19],at=[];for(let e=0;e",_=b(),J=h("ul"),S=h("li"),T=h("a"),T.textContent="Управление",M=b(),L=h("li"),q=h("a"),q.textContent="Конфигуратор",E=b(),C=h("li"),O=h("a"),O.textContent="Подключение",N=b(),H=h("li"),P=h("a"),P.textContent="Устройства",A=b(),B=h("li"),z=h("a"),z.textContent="Системные",I=b(),R=h("main"),F=h("ul"),U=h("div"),V.c(),X=b(),st=h("footer"),st.innerHTML='
Developed by Dmitry Borisenko
',y(c,"class","border border-indigo-500 border-4"),void 0===t[21]&&D((()=>t[36].call(c))),y(o,"class","px-15 py-1"),y(a,"class","pl-4 pr-4 py-1"),y(l,"class","flex content-center items-center justify-end"),y(r,"class","h-10 w-full bg-gray-100 overflow-auto shadow-md"),y(x,"class","w-0 h-0"),y(x,"id","menu__toggle"),y(x,"type","checkbox"),y(k,"class","menu__btn"),y(k,"for","menu__toggle"),y(T,"class","menu__item"),y(T,"href","/"),y(q,"class","menu__item"),y(q,"href","/config"),y(O,"class","menu__item"),y(O,"href","/connection"),y(P,"class","menu__item"),y(P,"href","/list"),y(z,"class","menu__item"),y(z,"href","/system"),y(J,"class","menu__box"),y($,"class","flex"),y(U,"class","bg-cover pt-0 px-4"),y(F,"class","menu__main"),y(R,"class",Y="flex-1 overflow-y-auto p-0 "+(!0!==t[0]||t[1]?"ml-0":"ml-36")),y(st,"class","h-4 bg-gray-100 border-gray-200 shadow-lg"),y(e,"class","flex flex-col h-screen bg-gray-50")},m(s,g){p(s,e,g),ct&&ct.m(e,null),f(e,n),f(e,r),f(r,l),f(l,o),f(o,c);for(let t=0;t{ct=null})),Q()),524288&s[0]){let e;for(it=t[19],e=0;e{dt[l]=null})),Q(),V=dt[W],V?V.p(t,s):(V=dt[W]=ut[W](t),V.c()),G(V,1),V.m(U,null)),(!rt||3&s[0]&&Y!==(Y="flex-1 overflow-y-auto p-0 "+(!0!==t[0]||t[1]?"ml-0":"ml-36")))&&y(R,"class",Y)},i(t){rt||(G(ct),G(u.$$.fragment,t),G(V),rt=!0)},o(t){Z(ct),Z(u.$$.fragment,t),Z(V),rt=!1},d(t){t&&g(e),ct&&ct.d(),m(at,t),nt(u),dt[W].d(),lt=!1,s(ot)}}}let ts=!1;function es(t){try{JSON.parse(t)}catch(e){return console.log("[e]","json parce error: ",t),!1}return!0}function ns(t,e,n){let s;o(t,xt,(t=>n(82,s=t))),xt.mode.hash();let r=!1,l=!1,c=document.location.hostname,i=!0,a=!1;const u=void 0;let d,f=[],p=!1,g=!1,m=!1,h=!1,$=!1,x={},b=[],w=!1,v=!1,y=[],k=!1,_=!1,J=[],j=!1,T=!1,M=[],L={},E=!1,C={},O=!1,N={},H=!1,P={},A=[],B=!1,z="",D=!1,I=!1,R=[];R=[{name:"--",id:"--",ip:c,ws:0,status:!1}];let F,U=[],W=!1,V=0,Y=!0,K={},Q=[];var G=function(){this.parts=[]};let Z;G.prototype.append=function(t){this.parts.push(t),this.blob=void 0},G.prototype.getBlob=function(){return this.blob||(this.blob=new Blob(this.parts,{type:"binary"})),this.blob},G.prototype.clear=function(){this.parts=[]};var X=new G,tt=new G,et=new G,nt=new G,st=[];function rt(){void 0!==V&&bt(V,Z)}function lt(){Jt(V);let t=0;R.forEach((e=>{e.ws=t,e.status||(ct(t),at(t)),t++})),n(19,R)}function ot(t,e){R.forEach((n=>{n.ws===t&&(n.status=e,n.status?console.log("[i]",n.ip,"status online"):console.log("[i]",n.ip,"status offline"))})),n(19,R),Jt(V),n(20,W=F.status)}function ct(t){let e=it(t);"error"===e?console.log("[e]","device list wrong"):(U[t]=new WebSocket("ws://"+e+":81"),U.binaryType="blob",console.log("[i]",e,t,"started connecting..."))}function it(t){let e="error";return R.forEach((n=>{t===n.ws&&(e=n.ip)})),e}function at(t){if(U[t]){let e=it(t);console.log("[i]",e,t,"web socket events added"),U[t].addEventListener("open",(function(n){console.log("[i]",e,t,"completed connecting"),ot(t,!0),i&&bt(0,"/list|"),"/|"===Z?bt(t,Z):t===V&&rt()})),U[t].addEventListener("message",(function(e){if("string"==typeof e.data){let c=e.data;if(t===V){if(c.includes('devicelist":"')&&es(c)&&(A=JSON.parse(c),A=A,i?(n(19,R=A),n(19,R[0].status=!0,R)):n(19,(r=R,l=A,o=new Set(r.map((t=>t.ip))),R=[...r,...l.filter((t=>!o.has(t.ip)))])),i=!1,n(19,R),B=!0,console.log("✔","deviceList json parced"),ut(),kt(),lt()),c.includes('ssid":"')&&es(c)&&(n(17,N=JSON.parse(c)),n(17,N),console.log("✔","ssidJson parced"),H=!0,ut()),c.includes('errors":"')&&es(c)&&(n(16,C=JSON.parse(c)),n(16,C),O=!0,console.log("✔","errorsJson json parced"),ut()),c.includes('settings":"')&&es(c)&&(n(15,L=JSON.parse(c)),n(15,L),E=!0,console.log("✔","settingsJson json parced"),ut()),c.includes("/log|")&&(c=c.replace("/log|",""),console.log("",c),yt(c)),"/st/scenario.txt"===c&&(D=!0),"/end/scenario.txt"===c){D=!1;var s=nt.getBlob();let t=new FileReader;t.readAsText(s),t.onload=()=>{n(18,z=t.result),n(18,z),I=!0,console.log("✔","scenarioTxt parced"),ut()}}if("/st/config.json"===c&&(w=!0),"/end/config.json"===c){w=!1;s=X.getBlob();let t=new FileReader;t.readAsText(s),t.onload=()=>{let e=t.result;es(e)&&(n(11,b=JSON.parse(e)),n(11,b),v=!0,console.log("✔","configJson parced"),ut())}}if("/st/widgets.json"===c&&(k=!0),"/end/widgets.json"===c){k=!1;s=tt.getBlob();let t=new FileReader;t.readAsText(s),t.onload=()=>{let e=t.result;es(e)&&(n(12,y=JSON.parse(e)),n(12,y),_=!0,console.log("✔","widgetsJson parced"),ut())}}if("/st/items.json"===c&&(j=!0),"/end/items.json"===c){j=!1;s=et.getBlob();let t=new FileReader;t.readAsText(s),t.onload=()=>{let e=t.result;es(e)&&(n(13,J=JSON.parse(e)),n(13,J),T=!0,console.log("✔","itemsJson parced"),ut())}}}if("/end/layout.json"===c&&async function(t){var e=st[t].getBlob();let s=new FileReader;s.readAsText(e),s.onload=()=>{let e=JSON.parse(s.result);!function(t,e){for(const[n,s]of Object.entries(P))for(let r=0;r{console.log("[e]",e,"connection closed"),ot(t,!1)})),U[t].addEventListener("error",(function(n){console.log("[e]",e,"connection error"),ot(t,!1)}))}else console.log("[e]","socket not exist")}async function ut(){"/|"===Z&&(mt(),console.log("✔","dashboard packet received"),n(4,p=!0)),"/config|"===Z&&T&&_&&v&&E&&I&&(mt(),console.log("✔✔","config data parced"),n(5,g=!0)),"/connection|"===Z&&H&&E&&O&&(mt(),console.log("✔✔","connection data parced"),n(6,m=!0)),"/list|"===Z&&B&&(mt(),console.log("✔✔","list data parced"),n(7,h=!0)),"/system|"===Z&&O&&E&&(mt(),async function(){try{let t=L.serverip+"/iotm/ver.json";console.log("url",t);let e=await fetch(t,{mode:"cors",method:"GET"});e.ok?(n(9,x=await e.json()),n(9,x=x[C.bn]),n(10,d=C.bver),console.log(JSON.stringify(x))):(n(10,d=void 0),console.log("error, versions list not received",e.statusText))}catch(t){n(10,d=void 0),console.log("error, versions list not received"),console.log(t)}}(),console.log("✔✔","system data parced"),n(8,$=!0))}function dt(){n(18,z),bt(V,"/tuoyal|"+JSON.stringify(function(){let t=[];for(let e=0;e5?(!function(t,e,n,s,r){for(let l=0;l5?bt(V,"/sgnittes|"+JSON.stringify(L)):window.alert("Ошибка"),gt(),bt(V,"/mqtt|")}function gt(){n(11,b=[]),X.clear(),n(12,y=[]),tt.clear(),n(13,J=[]),et.clear(),n(14,M=[]),st=[],n(18,z=""),nt.clear(),n(15,L={}),n(16,C={}),n(23,Q=[]),n(4,p=!1),n(5,g=!1),n(6,m=!1),n(7,h=!1),n(8,$=!1),mt(),console.log("[i]","all app data cleared")}function mt(){v=!1,_=!1,T=!1,E=!1,O=!1,H=!1,B=!1,I=!1,function(){for(let t=0;t{!function(t){let e=!1;return R.forEach((n=>{t===n.ws&&(e=n.status)})),e}(t.ws)?(ct(t.ws),at(t.ws)):bt(t.ws,"/tst|")})),Y=!1)}function bt(t,e){U[t]&&1===U[t].readyState?(U[t].send(e),console.log("[i]",it(t),t,"msg send success",e)):console.log("[e]",it(t),t,"msg not send",e)}function wt(t){R.forEach((e=>{e.status&&bt(e.ws,t)}))}function vt(){M.sort((function(t,e){return t.descre.descr?1:0})),n(3,f=[]);Array.from(new Set(Array.from(M,(({page:t})=>t)))).forEach((function(t,e,s){n(3,f=[...f,JSON.parse(JSON.stringify({page:t}))])})),f.sort((function(t,e){return t.pagee.page?1:0}))}xt.subscribe((function(){console.log("[i]","handle navigation"),gt(),Z=s.path.toString(),Z+="|",console.log("[i]","user on page:",Z),"/|"===Z?wt(Z):rt()})),q((async()=>{console.log("[i]","mounted"),kt(),i=!0,lt(),$t(),vt()}));const yt=t=>{Q.length>=100&&Q.shift(),n(23,Q=[...Q,{msg:t}]),Q.sort((function(t,e){return t.time>e.time?-1:t.time_t(),function(){r=this.checked,n(0,r)},()=>St(),(t,e,n)=>ht(t,e,n),()=>dt(),()=>Mt(),()=>Mt(),()=>Tt(),()=>ft(),()=>pt(),()=>jt(),t=>wt(t),()=>ft(),()=>Mt(),t=>qt(t),()=>Et(),function(t){d=t,n(10,d)}]}return new class extends rt{constructor(t){super(),st(this,t,ns,Xn,l,{},null,[-1,-1,-1,-1])}}({target:document.body,props:{name:"world"}})}(); +//# sourceMappingURL=bundle.js.map diff --git a/include/Const.h b/include/Const.h index d93e4c43..37cfccba 100644 --- a/include/Const.h +++ b/include/Const.h @@ -13,6 +13,7 @@ //Размер буфера json #define JSON_BUFFER_SIZE 2048 +#define WEB_SOCKETS_FRAME_SIZE 2048 //выбор сервера //#define ASYNC_WEB_SERVER diff --git a/include/WsServer.h b/include/WsServer.h index 58b9ab07..fb5efbef 100644 --- a/include/WsServer.h +++ b/include/WsServer.h @@ -17,11 +17,11 @@ void sendFileToWs(String filename, int num, size_t frameSize); void publishStatusWs(const String& topic, const String& data); void publishChartWs(int num, String& path); void periodicWsSend(); -void sendStringToWs(const String& msg, uint8_t num, String name); + void publishChartToWs(String filename, int num, size_t frameSize, int maxCount, String id); - -void sendBlobToWsStrHeader(const String& filename, const String& header, uint8_t client_id, size_t frameSize); +void sendFileToWsByFrames(const String& filename, const String& header, const String& json, uint8_t client_id, size_t frameSize); +void sendStringToWs(const String& header, String& payload, uint8_t client_id); // void sendMark(const char* filename, const char* mark, uint8_t num); // void sendFileToWs3(const String& filename, uint8_t num); diff --git a/src/StandWebServer.cpp b/src/StandWebServer.cpp index 6a846158..3a465a7e 100644 --- a/src/StandWebServer.cpp +++ b/src/StandWebServer.cpp @@ -14,9 +14,9 @@ void standWebServerInit() { // HTTP.on("/devicelist.json", HTTP_GET, []() { // HTTP.send(200, "application/json", devListHeapJson); // }); - // HTTP.on("/settings.h.json", HTTP_GET, []() { - // HTTP.send(200, "application/json", settingsFlashJson); - // }); + HTTP.on("/settings.h.json", HTTP_GET, []() { + HTTP.send(200, "application/json", settingsFlashJson); + }); // HTTP.on("/settings.f.json", HTTP_GET, []() { // HTTP.send(200, "application/json", readFile(F("settings.json"), 20000)); // }); diff --git a/src/WsServer.cpp b/src/WsServer.cpp index 7ed90a58..4a1398bb 100644 --- a/src/WsServer.cpp +++ b/src/WsServer.cpp @@ -93,12 +93,14 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t* payload, size_t length) //отвечаем данными на запрос страницы if (headerStr == "/config|") { - sendFileToWs("/items.json", num, 1024); - sendFileToWs("/widgets.json", num, 1024); - sendFileToWs("/config.json", num, 1024); - sendFileToWs("/scenario.txt", num, 1024); + sendFileToWsByFrames("/items.json", "itemsj", "", num, WEB_SOCKETS_FRAME_SIZE); + sendFileToWsByFrames("/widgets.json", "widget", "", num, WEB_SOCKETS_FRAME_SIZE); + sendFileToWsByFrames("/config.json", "config", "", num, WEB_SOCKETS_FRAME_SIZE); + sendFileToWsByFrames("/scenario.txt", "scenar", "", num, WEB_SOCKETS_FRAME_SIZE); + sendStringToWs("settin", settingsFlashJson, num); + //шлется для того что бы получить топик устройства - standWebSocket.sendTXT(num, settingsFlashJson); + // standWebSocket.sendTXT(num, settingsFlashJson); } //отправляем все графики в веб для экспорта @@ -222,7 +224,10 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t* payload, size_t length) } if (headerStr == "/test|") { - sendBlobToWsStrHeader("/items.json", "layout|0000|", num, 2048); + sendFileToWsByFrames("/items.json", "itemsj", "", num, WEB_SOCKETS_FRAME_SIZE); + sendFileToWsByFrames("/widgets.json", "widget", "", num, WEB_SOCKETS_FRAME_SIZE); + sendFileToWsByFrames("/config.json", "config", "", num, WEB_SOCKETS_FRAME_SIZE); + sendFileToWsByFrames("/scenario.txt", "scenar", "", num, WEB_SOCKETS_FRAME_SIZE); } } break; @@ -350,16 +355,16 @@ void sendFileToWs(String filename, int num, size_t frameSize) { } //посылка данных из string -void sendStringToWs(const String& msg, uint8_t num, String name) { - String st = "/st" + String(name); - standWebSocket.sendTXT(num, st); - size_t size = msg.length(); - char dataArray[size]; - msg.toCharArray(dataArray, size); - standWebSocket.sendBIN(num, (uint8_t*)dataArray, size); - String end = "/end" + String(name); - standWebSocket.sendTXT(num, end); -} +// void sendStringToWs(const String& msg, uint8_t num, String name) { +// String st = "/st" + String(name); +// standWebSocket.sendTXT(num, st); +// size_t size = msg.length(); +// char dataArray[size]; +// msg.toCharArray(dataArray, size); +// standWebSocket.sendBIN(num, (uint8_t*)dataArray, size); +// String end = "/end" + String(name); +// standWebSocket.sendTXT(num, end); +//} //особая функция отправки графиков в веб void publishChartToWs(String filename, int num, size_t frameSize, int maxCount, String id) { @@ -400,13 +405,12 @@ void publishChartToWs(String filename, int num, size_t frameSize, int maxCount, } } -// 6 4 -// layout|0120|{status:12}|...from file... -// layout|0000|...from file... -// layout|0000|...from file... +void sendFileToWsByFrames(const String& filename, const String& header, const String& json, uint8_t client_id, size_t frameSize) { + if (header.length() != 6) { + SerialPrint("E", "FS", F("wrong header size")); + return; + } -void sendBlobToWsStrHeader(const String& filename, const String& header, uint8_t client_id, size_t frameSize) { - // откроем файл auto path = filepath(filename); auto file = FileFS.open(path, "r"); if (!file) { @@ -417,19 +421,26 @@ void sendBlobToWsStrHeader(const String& filename, const String& header, uint8_t size_t totalSize = file.size(); SerialPrint("I", "FS", "Send file '" + String(filename) + "', file size: " + String(totalSize)); - // размер заголовка - auto headerSize = header.length(); - // выделим буфер размером с фрейм + char buf[32]; + sprintf(buf, "%04d", json.length() + 12); + String data = header + "|" + String(buf) + "|" + json; + + size_t headerSize = data.length(); auto frameBuf = new uint8_t[frameSize]; - // заголовок у нас не меняется, запием его в начало буфера - header.toCharArray((char*)frameBuf, frameSize); - // указатель на начало полезной нагрузки - auto payloadBuf = &frameBuf[headerSize]; - // и сколько осталось места для нее - auto maxPayloadSize = frameSize - headerSize; + size_t maxPayloadSize = frameSize - headerSize; + uint8_t* payloadBuf = nullptr; + int i = 0; while (file.available()) { - // прочитаем кусок в буфер + if (i == 0) { + data.toCharArray((char*)frameBuf, frameSize); + payloadBuf = &frameBuf[headerSize]; + } else { + maxPayloadSize = frameSize; + headerSize = 0; + payloadBuf = &frameBuf[0]; + } + size_t payloadSize = file.read(payloadBuf, maxPayloadSize); if (payloadSize) { size_t size = headerSize + payloadSize; @@ -448,13 +459,90 @@ void sendBlobToWsStrHeader(const String& filename, const String& header, uint8_t continuation = true; } - SerialPrint("I", "FS", String(i) + ") sz: " + String(size) + " fin: " + String(fin) + " cnt: " + String(continuation)); + SerialPrint("I", "FS", String(i) + ") fr sz: " + String(size) + " fin: " + String(fin) + " cnt: " + String(continuation)); standWebSocket.sendBIN(client_id, frameBuf, size, fin, continuation); } i++; } + payloadBuf = &frameBuf[0]; + delete[] payloadBuf; + file.close(); } +void sendStringToWs(const String& header, String& payload, uint8_t client_id) { + if (header.length() != 6) { + SerialPrint("E", "FS", F("wrong header size")); + return; + } + + String msg = header + "|0012|" + payload; + size_t totalSize = msg.length(); + SerialPrint("I", "FS", "Send string '" + header + "', str size: " + String(totalSize)); + + char dataArray[totalSize]; + msg.toCharArray(dataArray, totalSize + 1); + standWebSocket.sendBIN(client_id, (uint8_t*)dataArray, totalSize); +} + +// void sendFileToWsByFrames(const String& filename, const String& header, const String& json, uint8_t client_id, size_t frameSize) { +// if (header.length() != 6) { +// SerialPrint("E", "FS", F("wrong header size")); +// return; +// } +// // откроем файл +// auto path = filepath(filename); +// auto file = FileFS.open(path, "r"); +// if (!file) { +// SerialPrint("E", "FS", F("reed file error")); +// return; +// } +// +// size_t totalSize = file.size(); +// SerialPrint("I", "FS", "Send file '" + String(filename) + "', file size: " + String(totalSize)); +// +// char buf[32]; +// sprintf(buf, "%04d", json.length() + 12); +// +// String data = header + "|" + String(buf) + "|" + json; +// +// // размер заголовка +// auto headerSize = data.length(); +// // выделим буфер размером с фрейм +// auto frameBuf = new uint8_t[frameSize]; +// // заголовок у нас не меняется, запием его в начало буфера +// data.toCharArray((char*)frameBuf, frameSize); +// // указатель на начало полезной нагрузки +// auto payloadBuf = &frameBuf[headerSize]; +// // и сколько осталось места для нее +// auto maxPayloadSize = frameSize - headerSize; +// int i = 0; +// while (file.available()) { +// // прочитаем кусок в буфер +// size_t payloadSize = file.read(payloadBuf, maxPayloadSize); +// if (payloadSize) { +// size_t size = headerSize + payloadSize; +// +// bool fin = false; +// if (size == frameSize) { +// fin = false; +// } else { +// fin = true; +// } +// +// bool continuation = false; +// if (i == 0) { +// continuation = false; +// } else { +// continuation = true; +// } +// +// SerialPrint("I", "FS", String(i) + ") sz: " + String(size) + " fin: " + String(fin) + " cnt: " + String(continuation)); +// standWebSocket.sendBIN(client_id, frameBuf, size, fin, continuation); +// } +// i++; +// } +// } + // void sendMark(const char* filename, const char* mark, uint8_t num) { // char outChar[strlen(filename) + strlen(mark) + 1]; // strcpy(outChar, mark); diff --git a/src/modules/virtual/Loging/Loging (1).cpp b/src/modules/virtual/Loging/Loging (1).cpp new file mode 100644 index 00000000..cd6697a1 --- /dev/null +++ b/src/modules/virtual/Loging/Loging (1).cpp @@ -0,0 +1,34 @@ +#include "Global.h" +#include "classes/IoTItem.h" + +class Loging : public IoTItem { + private: + String logval; + + public: + Loging(String parameters) : IoTItem(parameters) { + jsonRead(parameters, F("logid"), logval); + } + + // void setValue(IoTValue Value) { + // value = Value; + // regEvent((String)(int)value.valD, "Loging"); + // } + + void doByInterval() { + String value = getItemValue(logval); + if (value == "") { + SerialPrint("E", F("Logging"), F("no value set")); + } else { + regEvent(value, "Logging"); + } + } +}; + +void* getAPI_Loging(String subtype, String param) { + if (subtype == F("Loging")) { + return new Loging(param); + } else { + return nullptr; + } +}