From 5a010951772e2fc532b0696990addbce199e5f3e Mon Sep 17 00:00:00 2001 From: Jeya Balaji Balasubramanian Date: Mon, 1 Apr 2024 15:27:50 -0400 Subject: [PATCH] Support metric system of units --- assets/index-cb6802a7.css | 1 + assets/index-f8ba1525.js | 840 ++++++++++++++++++++++++++++++++++++ assets/rose_bg-35c743a5.svg | 1 + 3 files changed, 842 insertions(+) create mode 100644 assets/index-cb6802a7.css create mode 100644 assets/index-f8ba1525.js create mode 100644 assets/rose_bg-35c743a5.svg diff --git a/assets/index-cb6802a7.css b/assets/index-cb6802a7.css new file mode 100644 index 0000000..53df5d7 --- /dev/null +++ b/assets/index-cb6802a7.css @@ -0,0 +1 @@ +*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-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";font-feature-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}[type=text],[type=email],[type=url],[type=password],[type=number],[type=date],[type=datetime-local],[type=month],[type=search],[type=tel],[type=time],[type=week],[multiple],textarea,select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow: 0 0 #0000}[type=text]:focus,[type=email]:focus,[type=url]:focus,[type=password]:focus,[type=number]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=month]:focus,[type=search]:focus,[type=tel]:focus,[type=time]:focus,[type=week]:focus,[multiple]:focus,textarea:focus,select:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: #2563eb;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#2563eb}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-top:0;padding-bottom:0}select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple]{background-image:initial;background-position:initial;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#2563eb;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow: 0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 2px;--tw-ring-offset-color: #fff;--tw-ring-color: #2563eb;--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)}[type=checkbox]:checked,[type=radio]:checked{border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:center;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e")}[type=radio]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e")}[type=checkbox]:checked:hover,[type=checkbox]:checked:focus,[type=radio]:checked:hover,[type=radio]:checked:focus{border-color:transparent;background-color:currentColor}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e");border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:center;background-repeat:no-repeat}[type=checkbox]:indeterminate:hover,[type=checkbox]:indeterminate:focus{border-color:transparent;background-color:currentColor}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px solid ButtonText;outline:1px auto -webkit-focus-ring-color}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.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}.pointer-events-none{pointer-events:none}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0px;right:0px;bottom:0px;left:0px}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-4{margin-top:1rem;margin-bottom:1rem}.mb-4{margin-bottom:1rem}.ml-3{margin-left:.75rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.hidden{display:none}.h-10{height:2.5rem}.h-12{height:3rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-\[70px\]{width:70px}.w-\[95px\]{width:95px}.w-full{width:100%}.min-w-0{min-width:0px}.max-w-2xl{max-width:42rem}.max-w-7xl{max-width:80rem}.max-w-lg{max-width:32rem}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.-translate-x-\[40\%\]{--tw-translate-x: -40%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-\[75\%\]{--tw-translate-y: -75%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-not-allowed{cursor:not-allowed}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(229 231 235 / var(--tw-divide-opacity))}.overflow-x-auto{overflow-x:auto}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-none{border-radius:0}.rounded-b-lg{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.rounded-l-md{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.rounded-r-md{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l-0{border-left-width:0px}.border-t{border-top-width:1px}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity))}.border-green-300{--tw-border-opacity: 1;border-color:rgb(134 239 172 / var(--tw-border-opacity))}.border-red-500{--tw-border-opacity: 1;border-color:rgb(239 68 68 / var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-white{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity))}.border-yellow-300{--tw-border-opacity: 1;border-color:rgb(253 224 71 / var(--tw-border-opacity))}.border-opacity-50{--tw-border-opacity: .5}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}.bg-green-50{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity))}.bg-slate-800{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}.bg-slate-900{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.bg-yellow-50{--tw-bg-opacity: 1;background-color:rgb(254 252 232 / var(--tw-bg-opacity))}.bg-opacity-60{--tw-bg-opacity: .6}.fill-current{fill:currentColor}.p-2{padding:.5rem}.p-4{padding:1rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pl-2{padding-left:.5rem}.pr-10{padding-right:2.5rem}.pr-2{padding-right:.5rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.font-sans{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"}.text-2xl{font-size:1.5rem;line-height:2rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-6{line-height:1.5rem}.leading-7{line-height:1.75rem}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}.text-green-800{--tw-text-opacity: 1;color:rgb(22 101 52 / var(--tw-text-opacity))}.text-slate-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.text-yellow-800{--tw-text-opacity: 1;color:rgb(133 77 14 / var(--tw-text-opacity))}.underline{text-decoration-line:underline}.accent-slate-600{accent-color:#475569}.opacity-25{opacity:.25}.opacity-75{opacity:.75}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.ring{--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(3px + 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)}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-inset{--tw-ring-inset: inset}.ring-gray-300{--tw-ring-opacity: 1;--tw-ring-color: rgb(209 213 219 / var(--tw-ring-opacity))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-md{--tw-backdrop-blur: blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-200{transition-duration:.2s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.placeholder\:text-gray-400::-moz-placeholder{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.placeholder\:text-gray-400::placeholder{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity))}.hover\:bg-red-100:hover{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity))}.hover\:bg-slate-50:hover{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity))}.hover\:bg-slate-900:hover{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity))}.focus\:border-slate-500:focus{--tw-border-opacity: 1;border-color:rgb(100 116 139 / var(--tw-border-opacity))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.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-inset:focus{--tw-ring-inset: inset}.focus\:ring-slate-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(100 116 139 / var(--tw-ring-opacity))}.focus\:ring-slate-600:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(71 85 105 / var(--tw-ring-opacity))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}@media (min-width: 640px){.sm\:col-span-2{grid-column:span 2 / span 2}.sm\:mx-6{margin-left:1.5rem;margin-right:1.5rem}.sm\:mb-6{margin-bottom:1.5rem}.sm\:mt-0{margin-top:0}.sm\:mt-px{margin-top:1px}.sm\:flex{display:flex}.sm\:grid{display:grid}.sm\:h-12{height:3rem}.sm\:h-16{height:4rem}.sm\:w-12{width:3rem}.sm\:w-16{width:4rem}.sm\:w-\[50\%\]{width:50%}.sm\:max-w-xs{max-width:20rem}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:items-start{align-items:flex-start}.sm\:items-center{align-items:center}.sm\:gap-4{gap:1rem}.sm\:space-x-10>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(2.5rem * var(--tw-space-x-reverse));margin-left:calc(2.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.sm\:space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.sm\:rounded-lg{border-radius:.5rem}.sm\:border-t{border-top-width:1px}.sm\:border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity))}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-4{padding-top:1rem;padding-bottom:1rem}.sm\:pl-4{padding-left:1rem}.sm\:pt-2{padding-top:.5rem}.sm\:pt-4{padding-top:1rem}.sm\:pt-5{padding-top:1.25rem}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}.sm\:leading-6{line-height:1.5rem}.sm\:tracking-tight{letter-spacing:-.025em}}@media (min-width: 768px){.md\:ml-4{margin-left:1rem}.md\:mt-0{margin-top:0}}@media (min-width: 1024px){.lg\:mx-8{margin-left:2rem;margin-right:2rem}.lg\:mb-8{margin-bottom:2rem}.lg\:px-8{padding-left:2rem;padding-right:2rem}} diff --git a/assets/index-f8ba1525.js b/assets/index-f8ba1525.js new file mode 100644 index 0000000..d974b14 --- /dev/null +++ b/assets/index-f8ba1525.js @@ -0,0 +1,840 @@ +(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const i of s)if(i.type==="childList")for(const a of i.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&r(a)}).observe(document,{childList:!0,subtree:!0});function n(s){const i={};return s.integrity&&(i.integrity=s.integrity),s.referrerPolicy&&(i.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?i.credentials="include":s.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(s){if(s.ep)return;s.ep=!0;const i=n(s);fetch(s.href,i)}})();const tr="/icare-lit/assets/rose-ed9a43c9.svg",nr="/icare-lit/assets/github-15128406.svg";function ie(e,t){return e==null||t==null?NaN:et?1:e>=t?0:NaN}function rr(e,t){return e==null||t==null?NaN:te?1:t>=e?0:NaN}function gn(e){let t,n,r;e.length!==2?(t=ie,n=(o,l)=>ie(e(o),l),r=(o,l)=>e(o)-l):(t=e===ie||e===rr?e:sr,n=e,r=e);function s(o,l,c=0,d=o.length){if(c>>1;n(o[u],l)<0?c=u+1:d=u}while(c>>1;n(o[u],l)<=0?c=u+1:d=u}while(cc&&r(o[u-1],l)>-r(o[u],l)?u-1:u}return{left:s,center:a,right:i}}function sr(){return 0}function ir(e){return e===null?NaN:+e}function*ar(e,t){if(t===void 0)for(let n of e)n!=null&&(n=+n)>=n&&(yield n);else{let n=-1;for(let r of e)(r=t(r,++n,e))!=null&&(r=+r)>=r&&(yield r)}}const or=gn(ie),lr=or.right;gn(ir).center;const cr=lr;function Lt(e,t){let n,r;if(t===void 0)for(const s of e)s!=null&&(n===void 0?s>=s&&(n=r=s):(n>s&&(n=s),r=i&&(n=r=i):(n>i&&(n=i),r{const r=e(t,n);return r||r===0?r:(e(n,n)===0)-(e(t,t)===0)}}function yn(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(et?1:0)}const ur=Math.sqrt(50),mr=Math.sqrt(10),fr=Math.sqrt(2);function je(e,t,n){const r=(t-e)/Math.max(0,n),s=Math.floor(Math.log10(r)),i=r/Math.pow(10,s),a=i>=ur?10:i>=mr?5:i>=fr?2:1;let o,l,c;return s<0?(c=Math.pow(10,-s)/a,o=Math.round(e*c),l=Math.round(t*c),o/ct&&--l,c=-c):(c=Math.pow(10,s)*a,o=Math.round(e/c),l=Math.round(t/c),o*ct&&--l),l0))return[];if(e===t)return[e];const r=t=s))return[];const o=i-s+1,l=new Array(o);if(r)if(a<0)for(let c=0;c=r)&&(n=r);else{let r=-1;for(let s of e)(s=t(s,++r,e))!=null&&(n=s)&&(n=s)}return n}function pt(e,t){let n;if(t===void 0)for(const r of e)r!=null&&(n>r||n===void 0&&r>=r)&&(n=r);else{let r=-1;for(let s of e)(s=t(s,++r,e))!=null&&(n>s||n===void 0&&s>=s)&&(n=s)}return n}function xn(e,t,n=0,r=1/0,s){if(t=Math.floor(t),n=Math.floor(Math.max(0,n)),r=Math.floor(Math.min(e.length-1,r)),!(n<=t&&t<=r))return e;for(s=s===void 0?yn:dr(s);r>n;){if(r-n>600){const l=r-n+1,c=t-n+1,d=Math.log(l),u=.5*Math.exp(2*d/3),f=.5*Math.sqrt(d*u*(l-u)/l)*(c-l/2<0?-1:1),h=Math.max(n,Math.floor(t-c*u/l+f)),x=Math.min(r,Math.floor(t+(l-c)*u/l+f));xn(e,t,h,x,s)}const i=e[t];let a=n,o=r;for(fe(e,n,t),s(e[r],i)>0&&fe(e,n,r);a0;)--o}s(e[n],i)===0?fe(e,n,o):(++o,fe(e,o,r)),o<=t&&(n=o+1),t<=o&&(r=o-1)}return e}function fe(e,t,n){const r=e[t];e[t]=e[n],e[n]=r}function it(e,t,n){if(e=Float64Array.from(ar(e,n)),!(!(r=e.length)||isNaN(t=+t))){if(t<=0||r<2)return pt(e);if(t>=1)return ht(e);var r,s=(r-1)*t,i=Math.floor(s),a=ht(xn(e,i).subarray(0,i+1)),o=pt(e.subarray(i+1));return a+(o-a)*(s-i)}}function gr(e,t){let n=0,r=0;if(t===void 0)for(let s of e)s!=null&&(s=+s)>=s&&(++n,r+=s);else{let s=-1;for(let i of e)(i=t(i,++s,e))!=null&&(i=+i)>=i&&(++n,r+=i)}if(n)return r/n}function Ft(e,t,n){e=+e,t=+t,n=(s=arguments.length)<2?(t=e,e=0,1):s<3?1:+n;for(var r=-1,s=Math.max(0,Math.ceil((t-e)/n))|0,i=new Array(s);++r+e(t)}function wr(e,t){return t=Math.max(0,e.bandwidth()-t*2)/2,e.round()&&(t=Math.round(t)),n=>+e(n)+t}function kr(){return!this.__axis}function It(e,t){var n=[],r=null,s=null,i=6,a=6,o=3,l=typeof window<"u"&&window.devicePixelRatio>1?0:.5,c=e===De||e===pe?-1:1,d=e===pe||e===at?"x":"y",u=e===De||e===gt?xr:br;function f(h){var x=r??(t.ticks?t.ticks.apply(t,n):t.domain()),v=s??(t.tickFormat?t.tickFormat.apply(t,n):yr),k=Math.max(i,0)+o,E=t.range(),p=+E[0]+l,m=+E[E.length-1]+l,g=(t.bandwidth?wr:vr)(t.copy(),l),b=h.selection?h.selection():h,w=b.selectAll(".domain").data([null]),N=b.selectAll(".tick").data(x,t).order(),A=N.exit(),q=N.enter().append("g").attr("class","tick"),I=N.select("line"),y=N.select("text");w=w.merge(w.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),N=N.merge(q),I=I.merge(q.append("line").attr("stroke","currentColor").attr(d+"2",c*i)),y=y.merge(q.append("text").attr("fill","currentColor").attr(d,c*k).attr("dy",e===De?"0em":e===gt?"0.71em":"0.32em")),h!==b&&(w=w.transition(h),N=N.transition(h),I=I.transition(h),y=y.transition(h),A=A.transition(h).attr("opacity",Yt).attr("transform",function(M){return isFinite(M=g(M))?u(M+l):this.getAttribute("transform")}),q.attr("opacity",Yt).attr("transform",function(M){var _=this.parentNode.__axis;return u((_&&isFinite(_=_(M))?_:g(M))+l)})),A.remove(),w.attr("d",e===pe||e===at?a?"M"+c*a+","+p+"H"+l+"V"+m+"H"+c*a:"M"+l+","+p+"V"+m:a?"M"+p+","+c*a+"V"+l+"H"+m+"V"+c*a:"M"+p+","+l+"H"+m),N.attr("opacity",1).attr("transform",function(M){return u(g(M)+l)}),I.attr(d+"2",c*i),y.attr(d,c*k).text(v),b.filter(kr).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",e===at?"start":e===pe?"end":"middle"),b.each(function(){this.__axis=g})}return f.scale=function(h){return arguments.length?(t=h,f):t},f.ticks=function(){return n=Array.from(arguments),f},f.tickArguments=function(h){return arguments.length?(n=h==null?[]:Array.from(h),f):n.slice()},f.tickValues=function(h){return arguments.length?(r=h==null?null:Array.from(h),f):r&&r.slice()},f.tickFormat=function(h){return arguments.length?(s=h,f):s},f.tickSize=function(h){return arguments.length?(i=a=+h,f):i},f.tickSizeInner=function(h){return arguments.length?(i=+h,f):i},f.tickSizeOuter=function(h){return arguments.length?(a=+h,f):a},f.tickPadding=function(h){return arguments.length?(o=+h,f):o},f.offset=function(h){return arguments.length?(l=+h,f):l},f}function _r(e){return It(De,e)}function bn(e){return It(gt,e)}function Mr(e){return It(pe,e)}var Er={value:()=>{}};function $t(){for(var e=0,t=arguments.length,n={},r;e=0&&(r=n.slice(s+1),n=n.slice(0,s)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:r}})}ze.prototype=$t.prototype={constructor:ze,on:function(e,t){var n=this._,r=Nr(e+"",n),s,i=-1,a=r.length;if(arguments.length<2){for(;++i0)for(var n=new Array(s),r=0,s,i;r=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),jt.hasOwnProperty(t)?{space:jt[t],local:e}:e}function qr(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===yt&&t.documentElement.namespaceURI===yt?t.createElement(e):t.createElementNS(n,e)}}function Lr(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function vn(e){var t=tt(e);return(t.local?Lr:qr)(t)}function Ir(){}function Ct(e){return e==null?Ir:function(){return this.querySelector(e)}}function $r(e){typeof e!="function"&&(e=Ct(e));for(var t=this._groups,n=t.length,r=new Array(n),s=0;s=m&&(m=p+1);!(b=k[m])&&++m=0;)(a=r[s])&&(i&&a.compareDocumentPosition(i)^4&&i.parentNode.insertBefore(a,i),i=a);return this}function ns(e){e||(e=rs);function t(u,f){return u&&f?e(u.__data__,f.__data__):!u-!f}for(var n=this._groups,r=n.length,s=new Array(r),i=0;it?1:e>=t?0:NaN}function ss(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function is(){return Array.from(this)}function as(){for(var e=this._groups,t=0,n=e.length;t1?this.each((t==null?ys:typeof t=="function"?bs:xs)(e,t,n??"")):oe(this.node(),e)}function oe(e,t){return e.style.getPropertyValue(t)||En(e).getComputedStyle(e,null).getPropertyValue(t)}function ws(e){return function(){delete this[e]}}function ks(e,t){return function(){this[e]=t}}function _s(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function Ms(e,t){return arguments.length>1?this.each((t==null?ws:typeof t=="function"?_s:ks)(e,t)):this.node()[e]}function Nn(e){return e.trim().split(/^|\s+/)}function Bt(e){return e.classList||new An(e)}function An(e){this._node=e,this._names=Nn(e.getAttribute("class")||"")}An.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function qn(e,t){for(var n=Bt(e),r=-1,s=t.length;++r=0&&(n=t.slice(r+1),t=t.slice(0,r)),{type:t,name:n}})}function Zs(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,s=t.length,i;n>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?Se(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?Se(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=oi.exec(e))?new T(t[1],t[2],t[3],1):(t=li.exec(e))?new T(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=ci.exec(e))?Se(t[1],t[2],t[3],t[4]):(t=di.exec(e))?Se(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=ui.exec(e))?Zt(t[1],t[2]/100,t[3]/100,1):(t=mi.exec(e))?Zt(t[1],t[2]/100,t[3]/100,t[4]):Wt.hasOwnProperty(e)?Gt(Wt[e]):e==="transparent"?new T(NaN,NaN,NaN,0):null}function Gt(e){return new T(e>>16&255,e>>8&255,e&255,1)}function Se(e,t,n,r){return r<=0&&(e=t=n=NaN),new T(e,t,n,r)}function pi(e){return e instanceof Ce||(e=Q(e)),e?(e=e.rgb(),new T(e.r,e.g,e.b,e.opacity)):new T}function xt(e,t,n,r){return arguments.length===1?pi(e):new T(e,t,n,r??1)}function T(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}St(T,xt,Cn(Ce,{brighter(e){return e=e==null?Xe:Math.pow(Xe,e),new T(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Me:Math.pow(Me,e),new T(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new T(Z(this.r),Z(this.g),Z(this.b),Ue(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Kt,formatHex:Kt,formatHex8:gi,formatRgb:Jt,toString:Jt}));function Kt(){return`#${J(this.r)}${J(this.g)}${J(this.b)}`}function gi(){return`#${J(this.r)}${J(this.g)}${J(this.b)}${J((isNaN(this.opacity)?1:this.opacity)*255)}`}function Jt(){const e=Ue(this.opacity);return`${e===1?"rgb(":"rgba("}${Z(this.r)}, ${Z(this.g)}, ${Z(this.b)}${e===1?")":`, ${e})`}`}function Ue(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Z(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function J(e){return e=Z(e),(e<16?"0":"")+e.toString(16)}function Zt(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new R(e,t,n,r)}function Bn(e){if(e instanceof R)return new R(e.h,e.s,e.l,e.opacity);if(e instanceof Ce||(e=Q(e)),!e)return new R;if(e instanceof R)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,s=Math.min(t,n,r),i=Math.max(t,n,r),a=NaN,o=i-s,l=(i+s)/2;return o?(t===i?a=(n-r)/o+(n0&&l<1?0:a,new R(a,o,l,e.opacity)}function yi(e,t,n,r){return arguments.length===1?Bn(e):new R(e,t,n,r??1)}function R(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}St(R,yi,Cn(Ce,{brighter(e){return e=e==null?Xe:Math.pow(Xe,e),new R(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Me:Math.pow(Me,e),new R(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,s=2*n-r;return new T(ot(e>=240?e-240:e+120,s,r),ot(e,s,r),ot(e<120?e+240:e-120,s,r),this.opacity)},clamp(){return new R(Qt(this.h),Te(this.s),Te(this.l),Ue(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=Ue(this.opacity);return`${e===1?"hsl(":"hsla("}${Qt(this.h)}, ${Te(this.s)*100}%, ${Te(this.l)*100}%${e===1?")":`, ${e})`}`}}));function Qt(e){return e=(e||0)%360,e<0?e+360:e}function Te(e){return Math.max(0,Math.min(1,e||0))}function ot(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const Tt=e=>()=>e;function xi(e,t){return function(n){return e+n*t}}function bi(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}function vi(e){return(e=+e)==1?Sn:function(t,n){return n-t?bi(t,n,e):Tt(isNaN(t)?n:t)}}function Sn(e,t){var n=t-e;return n?xi(e,n):Tt(isNaN(e)?t:e)}const Ge=function e(t){var n=vi(t);function r(s,i){var a=n((s=xt(s)).r,(i=xt(i)).r),o=n(s.g,i.g),l=n(s.b,i.b),c=Sn(s.opacity,i.opacity);return function(d){return s.r=a(d),s.g=o(d),s.b=l(d),s.opacity=c(d),s+""}}return r.gamma=e,r}(1);function wi(e,t){t||(t=[]);var n=e?Math.min(t.length,e.length):0,r=t.slice(),s;return function(i){for(s=0;sn&&(i=t.slice(n,i),o[a]?o[a]+=i:o[++a]=i),(r=r[0])===(s=s[0])?o[a]?o[a]+=s:o[++a]=s:(o[++a]=null,l.push({i:a,x:O(r,s)})),n=lt.lastIndex;return n180?d+=360:d-c>180&&(c+=360),f.push({i:u.push(s(u)+"rotate(",null,r)-2,x:O(c,d)})):d&&u.push(s(u)+"rotate("+d+r)}function o(c,d,u,f){c!==d?f.push({i:u.push(s(u)+"skewX(",null,r)-2,x:O(c,d)}):d&&u.push(s(u)+"skewX("+d+r)}function l(c,d,u,f,h,x){if(c!==u||d!==f){var v=h.push(s(h)+"scale(",null,",",null,")");x.push({i:v-4,x:O(c,u)},{i:v-2,x:O(d,f)})}else(u!==1||f!==1)&&h.push(s(h)+"scale("+u+","+f+")")}return function(c,d){var u=[],f=[];return c=e(c),d=e(d),i(c.translateX,c.translateY,d.translateX,d.translateY,u,f),a(c.rotate,d.rotate,u,f),o(c.skewX,d.skewX,u,f),l(c.scaleX,c.scaleY,d.scaleX,d.scaleY,u,f),c=d=null,function(h){for(var x=-1,v=f.length,k;++x=0&&e._call.call(void 0,t),e=e._next;--le}function tn(){ee=(Je=Ne.now())+nt,le=ge=0;try{Si()}finally{le=0,Pi(),ee=0}}function Ti(){var e=Ne.now(),t=e-Je;t>On&&(nt-=t,Je=e)}function Pi(){for(var e,t=Ke,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:Ke=n);ye=e,wt(r)}function wt(e){if(!le){ge&&(ge=clearTimeout(ge));var t=e-ee;t>24?(e<1/0&&(ge=setTimeout(tn,e-Ne.now()-nt)),he&&(he=clearInterval(he))):(he||(Je=Ne.now(),he=setInterval(Ti,On)),le=1,Rn(tn))}}function nn(e,t,n){var r=new Ze;return t=t==null?0:+t,r.restart(s=>{r.stop(),e(s+t)},t,n),r}var Hi=$t("start","end","cancel","interrupt"),Oi=[],zn=0,rn=1,kt=2,Ye=3,sn=4,_t=5,Ve=6;function rt(e,t,n,r,s,i){var a=e.__transition;if(!a)e.__transition={};else if(n in a)return;Ri(e,n,{name:t,index:r,group:s,on:Hi,tween:Oi,time:i.time,delay:i.delay,duration:i.duration,ease:i.ease,timer:null,state:zn})}function Ot(e,t){var n=D(e,t);if(n.state>zn)throw new Error("too late; already scheduled");return n}function Y(e,t){var n=D(e,t);if(n.state>Ye)throw new Error("too late; already running");return n}function D(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function Ri(e,t,n){var r=e.__transition,s;r[t]=n,n.timer=Dn(i,0,n.time);function i(c){n.state=rn,n.timer.restart(a,n.delay,n.time),n.delay<=c&&a(c-n.delay)}function a(c){var d,u,f,h;if(n.state!==rn)return l();for(d in r)if(h=r[d],h.name===n.name){if(h.state===Ye)return nn(a);h.state===sn?(h.state=Ve,h.timer.stop(),h.on.call("interrupt",e,e.__data__,h.index,h.group),delete r[d]):+dkt&&r.state<_t,r.state=Ve,r.timer.stop(),r.on.call(s?"interrupt":"cancel",e,e.__data__,r.index,r.group),delete n[a]}i&&delete e.__transition}}function zi(e){return this.each(function(){Di(this,e)})}function Fi(e,t){var n,r;return function(){var s=Y(this,e),i=s.tween;if(i!==n){r=n=i;for(var a=0,o=r.length;a=0&&(t=t.slice(0,n)),!t||t==="start"})}function ga(e,t,n){var r,s,i=pa(t)?Ot:Y;return function(){var a=i(this,e),o=a.on;o!==r&&(s=(r=o).copy()).on(t,n),a.on=s}}function ya(e,t){var n=this._id;return arguments.length<2?D(this.node(),n).on.on(e):this.each(ga(n,e,t))}function xa(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function ba(){return this.on("end.remove",xa(this._id))}function va(e){var t=this._name,n=this._id;typeof e!="function"&&(e=Ct(e));for(var r=this._groups,s=r.length,i=new Array(s),a=0;a=0))throw new Error(`invalid digits: ${e}`);if(t>15)return Wn;const n=10**t;return function(r){this._+=r[0];for(let s=1,i=r.length;sK)if(!(Math.abs(u*l-c*d)>K)||!i)this._append`L${this._x1=t},${this._y1=n}`;else{let h=r-a,x=s-o,v=l*l+c*c,k=h*h+x*x,E=Math.sqrt(v),p=Math.sqrt(f),m=i*Math.tan((Mt-Math.acos((v+f-k)/(2*E*p)))/2),g=m/p,b=m/E;Math.abs(g-1)>K&&this._append`L${t+g*d},${n+g*u}`,this._append`A${i},${i},0,0,${+(u*h>d*x)},${this._x1=t+b*l},${this._y1=n+b*c}`}}arc(t,n,r,s,i,a){if(t=+t,n=+n,r=+r,a=!!a,r<0)throw new Error(`negative radius: ${r}`);let o=r*Math.cos(s),l=r*Math.sin(s),c=t+o,d=n+l,u=1^a,f=a?s-i:i-s;this._x1===null?this._append`M${c},${d}`:(Math.abs(this._x1-c)>K||Math.abs(this._y1-d)>K)&&this._append`L${c},${d}`,r&&(f<0&&(f=f%Et+Et),f>ja?this._append`A${r},${r},0,1,${u},${t-o},${n-l}A${r},${r},0,1,${u},${this._x1=c},${this._y1=d}`:f>K&&this._append`A${r},${r},0,${+(f>=Mt)},${u},${this._x1=t+r*Math.cos(i)},${this._y1=n+r*Math.sin(i)}`)}rect(t,n,r,s){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+n}h${r=+r}v${+s}h${-r}Z`}toString(){return this._}}function Ua(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)}function Qe(e,t){if((n=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"))<0)return null;var n,r=e.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+e.slice(n+1)]}function ce(e){return e=Qe(Math.abs(e)),e?e[1]:NaN}function Ga(e,t){return function(n,r){for(var s=n.length,i=[],a=0,o=e[0],l=0;s>0&&o>0&&(l+o+1>r&&(o=Math.max(1,r-l)),i.push(n.substring(s-=o,s+o)),!((l+=o+1)>r));)o=e[a=(a+1)%e.length];return i.reverse().join(t)}}function Ka(e){return function(t){return t.replace(/[0-9]/g,function(n){return e[+n]})}}var Ja=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function et(e){if(!(t=Ja.exec(e)))throw new Error("invalid format: "+e);var t;return new Dt({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}et.prototype=Dt.prototype;function Dt(e){this.fill=e.fill===void 0?" ":e.fill+"",this.align=e.align===void 0?">":e.align+"",this.sign=e.sign===void 0?"-":e.sign+"",this.symbol=e.symbol===void 0?"":e.symbol+"",this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?"":e.type+""}Dt.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function Za(e){e:for(var t=e.length,n=1,r=-1,s;n0&&(r=0);break}return r>0?e.slice(0,r)+e.slice(s+1):e}var Xn;function Qa(e,t){var n=Qe(e,t);if(!n)return e+"";var r=n[0],s=n[1],i=s-(Xn=Math.max(-8,Math.min(8,Math.floor(s/3)))*3)+1,a=r.length;return i===a?r:i>a?r+new Array(i-a+1).join("0"):i>0?r.slice(0,i)+"."+r.slice(i):"0."+new Array(1-i).join("0")+Qe(e,Math.max(0,t+i-1))[0]}function an(e,t){var n=Qe(e,t);if(!n)return e+"";var r=n[0],s=n[1];return s<0?"0."+new Array(-s).join("0")+r:r.length>s+1?r.slice(0,s+1)+"."+r.slice(s+1):r+new Array(s-r.length+2).join("0")}const on={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:Ua,e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>an(e*100,t),r:an,s:Qa,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function ln(e){return e}var cn=Array.prototype.map,dn=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function eo(e){var t=e.grouping===void 0||e.thousands===void 0?ln:Ga(cn.call(e.grouping,Number),e.thousands+""),n=e.currency===void 0?"":e.currency[0]+"",r=e.currency===void 0?"":e.currency[1]+"",s=e.decimal===void 0?".":e.decimal+"",i=e.numerals===void 0?ln:Ka(cn.call(e.numerals,String)),a=e.percent===void 0?"%":e.percent+"",o=e.minus===void 0?"−":e.minus+"",l=e.nan===void 0?"NaN":e.nan+"";function c(u){u=et(u);var f=u.fill,h=u.align,x=u.sign,v=u.symbol,k=u.zero,E=u.width,p=u.comma,m=u.precision,g=u.trim,b=u.type;b==="n"?(p=!0,b="g"):on[b]||(m===void 0&&(m=12),g=!0,b="g"),(k||f==="0"&&h==="=")&&(k=!0,f="0",h="=");var w=v==="$"?n:v==="#"&&/[boxX]/.test(b)?"0"+b.toLowerCase():"",N=v==="$"?r:/[%p]/.test(b)?a:"",A=on[b],q=/[defgprs%]/.test(b);m=m===void 0?6:/[gprs]/.test(b)?Math.max(1,Math.min(21,m)):Math.max(0,Math.min(20,m));function I(y){var M=w,_=N,C,L,B;if(b==="c")_=A(y)+_,y="";else{y=+y;var H=y<0||1/y<0;if(y=isNaN(y)?l:A(Math.abs(y),m),g&&(y=Za(y)),H&&+y==0&&x!=="+"&&(H=!1),M=(H?x==="("?x:o:x==="-"||x==="("?"":x)+M,_=(b==="s"?dn[8+Xn/3]:"")+_+(H&&x==="("?")":""),q){for(C=-1,L=y.length;++CB||B>57){_=(B===46?s+y.slice(C+1):y.slice(C))+_,y=y.slice(0,C);break}}}p&&!k&&(y=t(y,1/0));var X=M.length+y.length+_.length,$=X>1)+M+y+_+$.slice(X);break;default:y=$+M+y+_;break}return i(y)}return I.toString=function(){return u+""},I}function d(u,f){var h=c((u=et(u),u.type="f",u)),x=Math.max(-8,Math.min(8,Math.floor(ce(f)/3)))*3,v=Math.pow(10,-x),k=dn[8+x/3];return function(E){return h(v*E)+k}}return{format:c,formatPrefix:d}}var He,Un,Gn;to({thousands:",",grouping:[3],currency:["$",""]});function to(e){return He=eo(e),Un=He.format,Gn=He.formatPrefix,He}function no(e){return Math.max(0,-ce(Math.abs(e)))}function ro(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(ce(t)/3)))*3-ce(Math.abs(e)))}function so(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,ce(t)-ce(e))+1}function io(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e);break}return this}function ao(e){return function(){return e}}function oo(e){return+e}var un=[0,1];function se(e){return e}function Nt(e,t){return(t-=e=+e)?function(n){return(n-e)/t}:ao(isNaN(t)?NaN:.5)}function lo(e,t){var n;return e>t&&(n=e,e=t,t=n),function(r){return Math.max(e,Math.min(t,r))}}function co(e,t,n){var r=e[0],s=e[1],i=t[0],a=t[1];return s2?uo:co,l=c=null,u}function u(f){return f==null||isNaN(f=+f)?i:(l||(l=o(e.map(r),t,n)))(r(a(f)))}return u.invert=function(f){return a(s((c||(c=o(t,e.map(r),O)))(f)))},u.domain=function(f){return arguments.length?(e=Array.from(f,oo),d()):e.slice()},u.range=function(f){return arguments.length?(t=Array.from(f),d()):t.slice()},u.rangeRound=function(f){return t=Array.from(f),n=qi,d()},u.clamp=function(f){return arguments.length?(a=f?!0:se,d()):a!==se},u.interpolate=function(f){return arguments.length?(n=f,d()):n},u.unknown=function(f){return arguments.length?(i=f,u):i},function(f,h){return r=f,s=h,d()}}function ho(){return fo()(se,se)}function po(e,t,n,r){var s=pr(e,t,n),i;switch(r=et(r??",f"),r.type){case"s":{var a=Math.max(Math.abs(e),Math.abs(t));return r.precision==null&&!isNaN(i=ro(s,a))&&(r.precision=i),Gn(r,a)}case"":case"e":case"g":case"p":case"r":{r.precision==null&&!isNaN(i=so(s,Math.max(Math.abs(e),Math.abs(t))))&&(r.precision=i-(r.type==="e"));break}case"f":case"%":{r.precision==null&&!isNaN(i=no(s))&&(r.precision=i-(r.type==="%")*2);break}}return Un(r)}function go(e){var t=e.domain;return e.ticks=function(n){var r=t();return hr(r[0],r[r.length-1],n??10)},e.tickFormat=function(n,r){var s=t();return po(s[0],s[s.length-1],n??10,r)},e.nice=function(n){n==null&&(n=10);var r=t(),s=0,i=r.length-1,a=r[s],o=r[i],l,c,d=10;for(o0;){if(c=ft(a,o,n),c===l)return r[s]=a,r[i]=o,t(r);if(c>0)a=Math.floor(a/c)*c,o=Math.ceil(o/c)*c;else if(c<0)a=Math.ceil(a*c)/c,o=Math.floor(o*c)/c;else break;l=c}return e},e}function Ae(){var e=ho();return e.copy=function(){return mo(e,Ae())},io.apply(e,arguments),go(e)}function ne(e){return function(){return e}}function yo(e){let t=3;return e.digits=function(n){if(!arguments.length)return t;if(n==null)t=null;else{const r=Math.floor(n);if(!(r>=0))throw new RangeError(`invalid digits: ${n}`);t=r}return e},()=>new Xa(t)}function xo(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function Kn(e){this._context=e}Kn.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t);break}}};function bo(e){return new Kn(e)}function vo(e){return e[0]}function wo(e){return e[1]}function ko(e,t){var n=ne(!0),r=null,s=bo,i=null,a=yo(o);e=typeof e=="function"?e:e===void 0?vo:ne(e),t=typeof t=="function"?t:t===void 0?wo:ne(t);function o(l){var c,d=(l=xo(l)).length,u,f=!1,h;for(r==null&&(i=s(h=a())),c=0;c<=d;++c)!(c{l.attr("class","accent-slate-600 py-2 sm:py-4"),l.selectAll("label").data([null]).join("label").attr("for",e).attr("class","pr-2").text(t),l.selectAll("input").data([null]).join("input").attr("type","range").attr("id",e).attr("min",n).attr("max",r).attr("value",i).on("change",c=>{l.selectAll("output").data([null]).join("output").attr("id",e).text(c.target.value),a.call("change",null,c.target.value)}),l.selectAll("output").data([null]).join("output").attr("id",e).attr("class","pl-2 sm:pl-4").text(i)};return o.id=function(l){return arguments.length?(e=l,o):e},o.labelText=function(l){return arguments.length?(t=l,o):t},o.min=function(l){return arguments.length?(n=+l,o):n},o.max=function(l){return arguments.length?(r=+l,o):r},o.step=function(l){return arguments.length?(s=+l,o):s},o.value=function(l){return arguments.length?(i=+l,o):i},o.on=function(){let l=a.on.apply(a,arguments);return l===a?o:l},o}function Eo(){let e,t,n,r,s,i,a,o,l,c,d="rgb(122, 255, 248, 0.7)",u=1.5,f=1,h,x=15,v=0,k=0,E=!1;const p=m=>{const g=m.selectAll("svg.box-plot").data([null]).join("svg").attr("class","box-plot").attr("width",e).attr("height",t).attr("font-family","sans-serif").attr("font-size",x);let b=Lt(r);b[0]=s??b[0],b[1]=i??b[1];const w=Ae().domain(b).range([n.left,e-n.right]),N=it(r,.25),A=it(r,.5),q=it(r,.75),I=q-N;let y=N-I*1.5;const M=pt(r);y=M>y?M:y;let _=q+I*1.5;const C=ht(r);_=C<_?C:_;const L=r.filter($=>$_),B=r.reduce(($,z)=>$+z,0)/r.length,H=m.selectAll("div.tooltip").data([null]).join("div").attr("class","p-2 text-white rounded-md border border-white border-opacity-50 shadow-sm pointer-events-none -translate-x-[40%] -translate-y-[75%] font-sans text-xs bg-black bg-opacity-60 transition-opacity duration-200 ease-out transition-border-color duration-100 ease-out backdrop-blur-md").style("position","absolute").style("opacity",0);g.on("mouseover",function($){const S=` + Minimum: ${y.toFixed(1)} %
+ 25th percentile: ${N.toFixed(1)} %
+ Median: ${A.toFixed(1)} %
+ 75th percentile: ${q.toFixed(1)} %
+ Maximum: ${_.toFixed(1)} %
+ Inter-quartile range: ${I.toFixed(1)} %
+ Mean: ${B.toFixed(1)} % + `;H.style("opacity",1).style("border-color",d).html(S)}).on("mouseout",()=>{H.style("opacity",0)}).on("mousemove",function($){H.style("left",$.pageX+v+"px").style("top",$.pageY+k+"px")});const X=L.filter($=>$b[0]);g.selectAll("circle").data(X).join("circle").attr("cx",$=>w($)).attr("cy",()=>t/2+(Math.random()*(c/2)-c/4)).attr("r",h).attr("fill",d).attr("opacity",f).attr("stroke","black").attr("stroke-width",u),g.selectAll("rect").data([null]).join("rect").attr("x",w(N)).attr("y",t/2-c/2).attr("width",w(q)-w(N)).attr("height",c).attr("fill",d).attr("stroke","black").attr("stroke-width",u),g.selectAll("#median").data([null]).join("line").attr("id","median").attr("x1",w(A)).attr("y1",t/2-c/2).attr("x2",w(A)).attr("y2",t/2+c/2).attr("stroke","black").attr("stroke-width",u*2),g.selectAll("#lower-whisker").data([null]).join("line").attr("id","lower-whisker").attr("x1",w(y)).attr("y1",t/2).attr("x2",w(N)).attr("y2",t/2).attr("stroke","black").attr("stroke-width",u),g.selectAll("#lower-whisker-edge").data([null]).join("line").attr("id","lower-whisker-edge").attr("x1",w(y)).attr("y1",t/2-c/4).attr("x2",w(y)).attr("y2",t/2+c/4).attr("stroke","black").attr("stroke-width",u),g.selectAll("#upper-whisker").data([null]).join("line").attr("id","upper-whisker").attr("x1",w(q)).attr("y1",t/2).attr("x2",w(_)).attr("y2",t/2).attr("stroke","black").attr("stroke-width",u),g.selectAll("#upper-whisker-edge").data([null]).join("line").attr("id","upper-whisker-edge").attr("x1",w(_)).attr("y1",t/2-c/4).attr("x2",w(_)).attr("y2",t/2+c/4).attr("stroke","black").attr("stroke-width",u),E||(g.selectAll(".x-axis").data([null]).join("g").attr("class","x-axis").attr("transform",`translate(0,${t-n.bottom})`).call(bn(w)),o&&g.selectAll(".x-axis-label").data([null]).join("text").attr("class","x-axis-label").attr("text-anchor","end").attr("x",e).attr("y",t-n.bottom/3).text(o).style("font-size",x*(3/4))),a!==void 0&&g.selectAll("#vLine").data([null]).join("line").attr("id","vLine").attr("x1",w(a)).attr("y1",t/2-c/2).attr("x2",w(a)).attr("y2",t/2+c/2).attr("stroke","red").attr("stroke-width",1.5),l&&g.selectAll(".title").data([null]).join("text").attr("class","title").text(l).attr("text-anchor","middle").attr("x",e/2).attr("y",n.top/2)};return p.width=function(m){return arguments.length?(e=+m,p):e},p.height=function(m){return arguments.length?(t=+m,p):t},p.margin=function(m){return arguments.length?(n=m,p):n},p.data=function(m){return arguments.length?(r=m,p):r},p.xMin=function(m){return arguments.length?(s=+m,p):s},p.xMax=function(m){return arguments.length?(i=+m,p):i},p.vLine=function(m){return arguments.length?(a=+m,p):a},p.xLabel=function(m){return arguments.length?(o=m,p):o},p.title=function(m){return arguments.length?(l=m,p):l},p.boxWidth=function(m){return arguments.length?(c=+m,p):c},p.color=function(m){return arguments.length?(d=m,p):d},p.strokeWidth=function(m){return arguments.length?(u=+m,p):u},p.opacity=function(m){return arguments.length?(f=+m,p):f},p.radius=function(m){return arguments.length?(h=+m,p):h},p.fontSize=function(m){return arguments.length?(x=+m,p):x},p.hoverOffsetX=function(m){return arguments.length?(v=+m,p):v},p.hoverOffsetY=function(m){return arguments.length?(k=+m,p):k},p.removeAxis=function(m){return arguments.length?(E=m,p):E},p}function No(){let e,t,n,r,s,i,a,o,l,c,d=40,u,f="rgb(122, 255, 248, 0.7)",h=1,x,v,k=15;const E=g=>b=>Math.abs(b/=g)<=1?.75*(1-b*b)/g:0,p=(g,b,w)=>b.map(N=>[N,gr(w,A=>g(N-A))]),m=g=>{const b=g.selectAll("svg.density-plot").data([null]).join("svg").attr("class","density-plot").attr("width",e).attr("height",t).attr("font-family","sans-serif").attr("font-size",k);let w=Lt(r);w[0]=s??w[0],w[1]=i??w[1];const N=Ae().domain(w).range([n.left,e-n.right]),A=N.ticks(d),q=p(E(u),A,r),I=l??Math.max(...q.map(L=>L[1])),y=Ae().domain([0,I]).range([t-n.bottom,n.top]);q[0][1]!==0&&q.unshift([q[0][0],0]),q[q.length-1][1]!==0&&q.push([q[q.length-1][0],0]);const M=ko().curve(_o).x(L=>N(L[0])).y(L=>y(L[1])),_=Vn().duration(1e3);let C=b.selectAll("defs").data([null]).join("defs").append("linearGradient").attr("id","color-gradient");if(x&&v&&v.length===x.length+1){C.append("stop").attr("offset","0%").attr("stop-color",v[0]);for(let L=0;L100&&(B=100),C.append("stop").attr("offset",`${B}%`).attr("stop-color",v[L]),C.append("stop").attr("offset",`${B}%`).attr("stop-color",v[L+1])}C.append("stop").attr("offset","100%").attr("stop-color",v[v.length-1])}else C.append("stop").attr("offset","100%").attr("stop-color",f);b.selectAll("path").data([null]).join(L=>L.append("path").attr("stroke","black").attr("stroke-width",1.5).attr("stroke-linejoin","round").attr("opacity",h).attr("d",M(q)).style("fill","url(#color-gradient)"),L=>L.call(B=>B.transition(_).attr("d",M(q))),L=>L.remove()),b.selectAll(".y-axis").data([null]).join("g").attr("class","y-axis").attr("transform",`translate(${n.left},0)`).call(Mr(y)),b.selectAll(".y-axis-label").data([null]).join("text").attr("class","y-axis-label").text("Density →").attr("text-anchor","end").attr("transform","rotate(-90)").attr("x",-n.top).attr("y",n.left/3).style("font-size",k*(3/4)),b.selectAll(".x-axis").data([null]).join("g").attr("class","x-axis").attr("transform",`translate(0,${t-n.bottom})`).call(bn(N)),b.selectAll(".x-axis-label").data([null]).join("text").attr("class","x-axis-label").attr("text-anchor","end").attr("x",e).attr("y",t-n.bottom/3).text(a).style("font-size",k*(3/4)),c!==void 0&&b.selectAll(".vLine").data([null]).join("line").attr("class","vLine").attr("x1",N(c)).attr("y1",y(0)).attr("x2",N(c)).attr("y2",y(I)).attr("stroke","red").attr("stroke-width",1.5).attr("stroke-linejoin","round").attr("opacity",h),b.selectAll(".title").data([null]).join("text").attr("class","title").text(o).attr("text-anchor","middle").attr("x",e/2).attr("y",n.top/2)};return m.width=function(g){return arguments.length?(e=+g,m):e},m.height=function(g){return arguments.length?(t=+g,m):t},m.margin=function(g){return arguments.length?(n=g,m):n},m.data=function(g){return arguments.length?(r=g,m):r},m.xMin=function(g){return arguments.length?(s=+g,m):s},m.xMax=function(g){return arguments.length?(i=+g,m):i},m.xLabel=function(g){return arguments.length?(a=g,m):a},m.title=function(g){return arguments.length?(o=g,m):o},m.yMax=function(g){return arguments.length?(l=+g,m):l},m.vLine=function(g){return arguments.length?(c=+g,m):c},m.numBins=function(g){return arguments.length?(d=+g,m):d},m.bandwidth=function(g){return arguments.length?(u=+g,m):u},m.color=function(g){return arguments.length?(f=g,m):f},m.opacity=function(g){return arguments.length?(h=+g,m):h},m.cutoffs=function(g){return arguments.length?(x=g,m):x},m.cutoffColors=function(g){return arguments.length?(v=g,m):v},m.fontSize=function(g){return arguments.length?(k=+g,m):k},m}function Ao(){let e,t,n,r,s,i,a,o,l="rgb(122, 255, 248, 0.7)",c=1.5,d=1,u=3,f=1.5,h=15,x=15,v=!1,k="Value";const E=(m,g)=>{const b=new Float64Array(m.length),w=g**2,N=.001;let A=null,q=null;const I=(y,M)=>{let _=A;for(;_;){const C=_.index;if(w-N>(m[C]-y)**2+(b[C]-M)**2)return!0;_=_.next}return!1};for(const y of Ft(m.length).sort((M,_)=>m[M]-m[_])){for(;A&&m[A.index]{const g=m.selectAll("svg.beeswarm-plot").data([null]).join("svg").attr("class","beeswarm-plot").attr("width",e).attr("height",t).attr("font-family","sans-serif").attr("font-size",x);let b=Lt(r);b[0]=s??b[0],b[1]=i??b[1];const w=Ae().domain(b).range([n.left,e-n.right]),N=E(r.map(A=>w(A)),u*2+f).map(A=>A+n.top+h);g.selectAll("g.marker").data(Ft(r.length)).join("g").attr("class","marker").attr("transform",A=>`translate(${w(r[A])}, ${N[A]})`).each(function(A){const q=Fe(this);q.append("circle").attr("r",u).attr("fill",l).attr("opacity",d).attr("stroke","black").attr("stroke-width",c);const I=7*k.length;q.append("rect").attr("x",u-I/2).attr("y",u+5).attr("width",I).attr("height",20).attr("fill","white").attr("stroke","black").attr("stroke-width",c),q.append("text").attr("x",u-I/2+5).attr("y",u+20).attr("font-size","12px").text(`${k}: ${r[A].toFixed(1)} %`)}),v||(g.selectAll(".x-axis").data([null]).join("g").attr("class","x-axis").attr("transform",`translate(0,${n.top})`).call(_r(w)),a&&g.selectAll(".x-axis-label").data([null]).join("text").attr("class","x-axis-label").attr("text-anchor","end").attr("x",e).attr("y",n.top*(2/3)).text(a).style("font-size",x*(3/4)))};return p.width=function(m){return arguments.length?(e=+m,p):e},p.height=function(m){return arguments.length?(t=+m,p):t},p.margin=function(m){return arguments.length?(n=m,p):n},p.data=function(m){return arguments.length?(r=m,p):r},p.xMin=function(m){return arguments.length?(s=+m,p):s},p.xMax=function(m){return arguments.length?(i=+m,p):i},p.xLabel=function(m){return arguments.length?(a=m,p):a},p.title=function(m){return arguments.length?(o=m,p):o},p.color=function(m){return arguments.length?(l=m,p):l},p.strokeWidth=function(m){return arguments.length?(c=+m,p):c},p.opacity=function(m){return arguments.length?(d=+m,p):d},p.radius=function(m){return arguments.length?(u=+m,p):u},p.markerPadding=function(m){return arguments.length?(f=+m,p):f},p.plotPadding=function(m){return arguments.length?(h=+m,p):h},p.fontSize=function(m){return arguments.length?(x=+m,p):x},p.removeAxis=function(m){return arguments.length?(v=m,p):v},p.markerText=function(m){return arguments.length?(k=m,p):k},p}function qo(){let e,t,n,r,s,i,a,o,l;const c=d=>{const f=e/3.1,h=e-f,x=(h-l.left-l.right)/10,v=x/2,k=2,E=15,p=Math.floor(10*10*(n/100)),m=10*10*(n/100)-p,g=Array.from({length:10*10},(M,_)=>({index:_,color:_`translate(${l.left+_%10*x+k}, ${l.top+Math.floor(_/10)*x+k}) scale(${x/124.19})`).selectAll("path").data(M=>[M]).join("path").attr("d",b).attr("fill",M=>M.index===p&&m>0?"url(#color-gradient-fraction)":M.color),A.exit().remove();const y=w.selectAll("g.population-legend").data([null]).join("g").attr("class","color-legend").attr("transform",`translate(${h+E}, ${l.top+E})`);y.selectAll("rect.population-legend-border").data([null]).join("rect").attr("class","population-legend-border").attr("width",f-20).attr("height",v*4).attr("fill","none").attr("stroke","black").attr("stroke-width",2),y.selectAll("rect.population-legend-case-color").data([null]).join("rect").attr("class","population-legend-case-color").attr("x",v/2).attr("y",v/2).attr("width",v).attr("height",v).attr("fill",r).attr("stroke","black").attr("stroke-width",1),y.selectAll("rect.population-legend-case-labal").data([null]).join("text").attr("class","population-legend-case-labal").attr("x",v*2).attr("y",x/2).attr("dy",".35em").text(i??"Case").style("font-size",`${o??v/1.25}px`).style(),y.selectAll("rect.population-legend-control-color").data([null]).join("rect").attr("class","population-legend-control-color").attr("x",v/2).attr("y",v*4/2+v/2).attr("width",v).attr("height",v).attr("fill",s).attr("stroke","black").attr("stroke-width",1),y.selectAll("rect.population-legend-control-labal").data([null]).join("text").attr("class","population-legend-control-labal").attr("x",v*2).attr("y",x+x/2).attr("dy",".35em").text(a??"Control").style("font-size",`${o??v/1.25}px`)};return c.width=function(d){return arguments.length?(e=+d,c):e},c.height=function(d){return arguments.length?(t=+d,c):t},c.prevalence=function(d){return arguments.length?(n=+d,c):n},c.colorCase=function(d){return arguments.length?(r=d,c):r},c.colorControl=function(d){return arguments.length?(s=d,c):s},c.labelCase=function(d){return arguments.length?(i=d,c):i},c.labelControl=function(d){return arguments.length?(a=d,c):a},c.fontSize=function(d){return arguments.length?(o=+d,c):o},c.margin=function(d){return arguments.length?(l=d,c):l},c}const zt=document.querySelector("#app"),fn=new Worker(new URL("/icare-lit/assets/webWorker-240ef4f0.js",self.location),{type:"module"}),Lo=1,Io=80,$o=0,Co=84,Bo=5,Oe=Math.max(Lo,$o),Re=Math.min(Io,Co)-Bo;zt.innerHTML=` + + +
+ + + +
+ +
+
+
+
+
+

Questionnaire

+

Please answer the following questions to the best of your knowledge.

+
+ +
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+
+ +

Note: The current version of this tool is developed for females only.

+
+
+
+ Sex type +
+
+ + +
+
+ + +
+
+
+
+
+ +
+
+ +

Note: The current version of the model is developed for non-Hispanic, white populations only. Future versions will be developed for other populations.

+
+
+ +
+
+ +
+
+ +

If you are pregnant, how much did you weigh before your pregnancy?

+
+
+
+ + +
+
+
+ +
+
+ +

Please select the unit and enter your height.

+
+
+
+
+ +
+
+
+ + + feet +
+
+ + + inches +
+
+ + +
+
+
+ +
+ +
+ +
+
+ +
+
+ +

By completely stopped, we mean that you have gone at least 6 months without having a period, and you are not pregnant or using any form of hormonal contraception.

+
+
+
+ Menopause status +
+
+ + +
+
+ + +
+
+ + +
+
+
+
+
+ + + +
+
+ +

Please include all live births, as well as pregnancies that ended as stillbirths, miscarriages, ectopic or tubal pregnancies, or termination. Twins, triplets, or higher multiples count as one pregnancy.

+
+
+ +
+
+ + + + + +
+ +
+
+ Menopausal hormone treatment use status +
+
+ + +
+
+ + +
+
+ + +
+
+
+
+
+ + + + + + +
+
+ +

This includes combined oral contraceptive pills containing both estrogen and progesterone/progestin (commonly called the pill), progesterone-only or progestin-only contraceptive pills (commonly called the mini-pill), Norplant (inserted under the skin of your upper arm, lasts several years), Depo-provera (birth control shot given once every three months), Vaginal ring (such as Nuva Ring, inserted vaginally each month), Birth control patch (such as Ortho Evra, applied to the skin), Hormonal IUD (such as Mirena intrauterine device), or other hormones prescribed by a health professional.

+
+
+
+ Hormonal contraceptive use status +
+
+ + +
+
+ + +
+
+ + +
+
+
+
+
+ + + +
+ +
+
+ Alcohol use status +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+
+
+ + + +
+ +
+
+ History of benign breast disease status +
+
+ + +
+
+ + +
+
+ + +
+
+
+
+
+ +
+ +
+
+ Family history of breast cancer status +
+
+ + +
+
+ + +
+
+ + +
+
+
+
+
+ +
+
+
+ +
+
+ + +
+
+
+
+ +
+
+ +
+ iCARE-Lit results +
+
+
+ +
+
+
+`;const So=document.getElementById("height-unit"),ct=document.getElementById("height-ft-in-container"),dt=document.getElementById("height-m-container"),ut=document.getElementById("height-cm-container"),qe=document.getElementById("age-menopause-container"),mt=document.getElementById("children-container"),te=document.getElementById("births-container"),Le=document.getElementById("hormone-treatment-current-container"),Ie=document.getElementById("hormone-treatment-type-container"),$e=document.getElementById("hormonal-contraceptive-container"),de=document.getElementById("alcohol-container"),be=document.getElementById("wine-container"),ve=document.getElementById("blc-container"),we=document.getElementById("beer-container"),ke=document.getElementById("pop-container"),_e=document.getElementById("shots-container"),re=document.getElementById("submit-btn"),At=document.getElementById("results");So.addEventListener("change",e=>{e.target.value==="ft-in"?(ct.classList.remove("hidden"),dt.classList.add("hidden"),ut.classList.add("hidden")):e.target.value==="m"?(ct.classList.add("hidden"),dt.classList.remove("hidden"),ut.classList.add("hidden")):e.target.value==="cm"&&(ct.classList.add("hidden"),dt.classList.add("hidden"),ut.classList.remove("hidden"))});document.getElementById("menopause-yes").addEventListener("change",e=>{e.target.checked&&qe.classList.remove("hidden")});document.getElementById("menopause-no").addEventListener("change",e=>{e.target.checked&&!qe.classList.contains("hidden")&&qe.classList.add("hidden")});document.getElementById("menopause-unknown").addEventListener("change",e=>{e.target.checked&&!qe.classList.contains("hidden")&&qe.classList.add("hidden")});document.getElementById("num-pregnancies").addEventListener("input",e=>{parseInt(e.target.value)===0||e.target.value===""?(mt.classList.contains("hidden")||mt.classList.add("hidden"),te.classList.contains("hidden")||te.classList.add("hidden")):mt.classList.remove("hidden")});document.getElementById("parous-yes").addEventListener("change",e=>{e.target.checked&&te.classList.remove("hidden")});document.getElementById("parous-no").addEventListener("change",e=>{e.target.checked&&!te.classList.contains("hidden")&&te.classList.add("hidden")});document.getElementById("parous-unknown").addEventListener("change",e=>{e.target.checked&&!te.classList.contains("hidden")&&te.classList.add("hidden")});document.getElementById("hormone-treatment-yes").addEventListener("change",e=>{e.target.checked&&Le.classList.remove("hidden")});document.getElementById("hormone-treatment-no").addEventListener("change",e=>{e.target.checked&&!Le.classList.contains("hidden")&&Le.classList.add("hidden")});document.getElementById("hormone-treatment-unknown").addEventListener("change",e=>{e.target.checked&&!Le.classList.contains("hidden")&&Le.classList.add("hidden")});document.getElementById("hormone-treatment-current-yes").addEventListener("change",e=>{e.target.checked&&Ie.classList.remove("hidden")});document.getElementById("hormone-treatment-current-no").addEventListener("change",e=>{e.target.checked&&!Ie.classList.contains("hidden")&&Ie.classList.add("hidden")});document.getElementById("hormone-treatment-current-unknown").addEventListener("change",e=>{e.target.checked&&!Ie.classList.contains("hidden")&&Ie.classList.add("hidden")});document.getElementById("hormonal-contraceptive-yes").addEventListener("change",e=>{e.target.checked&&$e.classList.remove("hidden")});document.getElementById("hormonal-contraceptive-no").addEventListener("change",e=>{e.target.checked&&!$e.classList.contains("hidden")&&$e.classList.add("hidden")});document.getElementById("hormonal-contraceptive-unknown").addEventListener("change",e=>{e.target.checked&&!$e.classList.contains("hidden")&&$e.classList.add("hidden")});document.getElementById("alcohol-use-former").addEventListener("change",e=>{e.target.checked&&(de.classList.remove("hidden"),document.getElementById("alcohol-type-label").innerHTML="Please select any of the following alcoholic beverages that you had in the 12 months before you stopped drinking.",document.getElementById("wine-freq-label").innerHTML="Over the 12 months before you stopped drinking, how often did you usually drink wine?",document.getElementById("wine-serving-label").innerHTML="Over the 12 months before you stopped drinking, on the days that you drank wine, how many servings did you drink per day?",document.getElementById("blc-freq-label").innerHTML="Over the 12 months before you stopped drinking, how often did you usually drink glasses of beer/lager/cider?",document.getElementById("blc-serving-label").innerHTML="Over the 12 months before you stopped drinking, on the days that you drank beer/lager/cider, how many servings did you drink per day?",document.getElementById("beer-freq-label").innerHTML="Over the 12 months before you stopped drinking, how often did you usually drink bottles of beer?",document.getElementById("beer-serving-label").innerHTML="Over the 12 months before you stopped drinking, on the days that you drank beer, how many servings did you drink per day?",document.getElementById("pop-freq-label").innerHTML="Over the 12 months before you stopped drinking, how often did you usually drink alcoholic pop beverages?",document.getElementById("pop-serving-label").innerHTML="Over the 12 months before you stopped drinking, on the days that you drank alcoholic pop beverages, how many servings did you drink per day?",document.getElementById("shots-freq-label").innerHTML="Over the 12 months before you stopped drinking, how often did you usually take shots of liquor?",document.getElementById("shot-serving-label").innerHTML="Over the 12 months before you stopped drinking, on the days that you drank liquor, how many servings did you drink per day?")});document.getElementById("alcohol-use-current").addEventListener("change",e=>{e.target.checked&&(de.classList.remove("hidden"),document.getElementById("alcohol-type-label").innerHTML="Please select any of the following alcoholic beverages that you have had in the past 12 months.",document.getElementById("wine-freq-label").innerHTML="Over the past 12 months, how often did you usually drink wine?",document.getElementById("wine-serving-label").innerHTML="Over the past 12 months, on the days that you drank wine, how many servings did you drink per day?",document.getElementById("blc-freq-label").innerHTML="Over the past 12 months, how often did you usually drink glasses of beer/lager/cider?",document.getElementById("blc-serving-label").innerHTML="Over the past 12 months, on the days that you drank beer/lager/cider, how many servings did you drink per day?",document.getElementById("beer-freq-label").innerHTML="Over the past 12 months, how often did you usually drink bottles of beer?",document.getElementById("beer-serving-label").innerHTML="Over the past 12 months, on the days that you drank beer, how many servings did you drink per day?",document.getElementById("pop-freq-label").innerHTML="Over the past 12 months, how often did you usually drink alcoholic pop beverages?",document.getElementById("pop-serving-label").innerHTML="Over the past 12 months, on the days that you drank alcoholic pop beverages, how many servings did you drink per day?",document.getElementById("shots-freq-label").innerHTML="Over the past 12 months, how often did you usually take shots of liquor?",document.getElementById("shot-serving-label").innerHTML="Over the past 12 months, on the days that you drank liquor, how many servings did you drink per day?")});document.getElementById("alcohol-use-never").addEventListener("change",e=>{e.target.checked&&!de.classList.contains("hidden")&&de.classList.add("hidden")});document.getElementById("alcohol-use-unknown").addEventListener("change",e=>{e.target.checked&&!de.classList.contains("hidden")&&de.classList.add("hidden")});document.getElementById("alcohol-type-wine").addEventListener("change",e=>{e.target.checked?(be.classList.remove("hidden"),document.getElementById("alcohol-type-unknown").checked=!1):be.classList.contains("hidden")||be.classList.add("hidden")});document.getElementById("alcohol-type-blc").addEventListener("change",e=>{e.target.checked?(ve.classList.remove("hidden"),document.getElementById("alcohol-type-unknown").checked=!1):ve.classList.contains("hidden")||ve.classList.add("hidden")});document.getElementById("alcohol-type-beer").addEventListener("change",e=>{e.target.checked?(we.classList.remove("hidden"),document.getElementById("alcohol-type-unknown").checked=!1):we.classList.contains("hidden")||we.classList.add("hidden")});document.getElementById("alcohol-type-pop").addEventListener("change",e=>{e.target.checked?(ke.classList.remove("hidden"),document.getElementById("alcohol-type-unknown").checked=!1):ke.classList.contains("hidden")||ke.classList.add("hidden")});document.getElementById("alcohol-type-shots").addEventListener("change",e=>{e.target.checked?(_e.classList.remove("hidden"),document.getElementById("alcohol-type-unknown").checked=!1):_e.classList.contains("hidden")||_e.classList.add("hidden")});document.getElementById("alcohol-type-unknown").addEventListener("change",e=>{e.target.checked&&(document.getElementById("alcohol-type-wine").checked=!1,be.classList.contains("hidden")||be.classList.add("hidden"),document.getElementById("alcohol-type-blc").checked=!1,ve.classList.contains("hidden")||ve.classList.add("hidden"),document.getElementById("alcohol-type-beer").checked=!1,we.classList.contains("hidden")||we.classList.add("hidden"),document.getElementById("alcohol-type-pop").checked=!1,ke.classList.contains("hidden")||ke.classList.add("hidden"),document.getElementById("alcohol-type-shots").checked=!1,_e.classList.contains("hidden")||_e.classList.add("hidden"))});function qt(e,t,n,r,s){switch(e){case"ft-in":return isNaN(t)&&isNaN(n)?void 0:(isNaN(n)&&(n=0),(t*12+n)*2.54/10);case"m":return isNaN(r)?void 0:r*100/10;case"cm":return isNaN(s)?void 0:s/10;default:return}}function hn(e,t,n,r,s,i,a,o){const l=u=>o?u<18.5?"<18.5":u<25?"18.5-25":u<30?"25-30":">=30":u<25?"<25":u<30?"25-30":">=30";if(isNaN(e)||n===void 0)return;const c=t==="lbs"?e*.453592:e,d=qt(n,r,s,i,a)*10/100;if(!isNaN(d))return l(c/(d*d))}function To(e){const t=n=>n<=10?"<=10":n===11?"11":n===12?"12":n===13?"13":n===14?"14":n===15?"15":">=16";if(!isNaN(e))return t(e)}function Po(e,t,n){const r=s=>s===0?"0":s===1?"1":s===2?"2":">=3";if(!isNaN(e)){if(e===0)return r(0);if(!isNaN(t)){if(t===0)return r(0);if(!isNaN(n))return r(n)}}}function Ho(e,t,n,r){const s=i=>i<20?"<20":i<25?"20-25":i<30?"25-30":">=30";if(!(isNaN(e)||e===0||isNaN(t)||t===0||n===0||isNaN(r)))return s(r)}function Oo(e,t){if(!isNaN(e))return e===0?"never":isNaN(t)?void 0:t===0?"former":"current"}function Ro(e){if(!isNaN(e))return e}function Do(e){if(!isNaN(e))return e}function zo(e){if(!isNaN(e))return e}function Fo(e){if(!isNaN(e))return e}function Yo(e,t){const n=r=>r<40?"<40":r<45?"40-45":r<50?"45-50":r<55?"50-55":">=55";if(!(isNaN(e)||e===0||isNaN(t)))return n(t)}function Vo(e,t,n){if(!(isNaN(e)||e===0||isNaN(t)||t===0||isNaN(n)))return n}function jo(e,t,n,r,s,i,a,o,l,c,d,u){let f=0;const h=14,x=365.25,v=E=>E===0?"0":E<5?">0-5":E<15?"5-15":E<25?"15-25":E<35?"25-35":E<45?"35-45":">=45",k=E=>E==="lt-once-a-month"?0*12:E==="once-per-month"?12:E==="2-3-per-month"?2.5*12:E==="1-2-per-week"?1.5*52.14:E==="3-4-per-week"?3.5*52.14:E==="5-6-per-week"?5.5*52.14:E==="daily"?x:void 0;if(!(e===void 0||e==="")){if(e==="never")return v(f);if(!(t===void 0||t.length===0||t.includes(""))){if(t.includes("wine")){if(n===""||isNaN(r))return;f+=r*h*k(n)/x}if(t.includes("blc")){if(s===""||isNaN(i))return;f+=i*h*k(s)/x}if(t.includes("beer")){if(a===""||isNaN(o))return;f+=o*h*k(a)/x}if(t.includes("pop")){if(l===""||isNaN(c))return;f+=c*h*k(l)/x}if(t.includes("shots")){if(d===""||isNaN(u))return;f+=u*h*k(d)/x}return v(f)}}}function Wo(e){const t=Object.fromEntries(e.entries()),n={};return n.id=t.name,n.age=parseInt(t.age),n.height=qt(parseInt(t["height-feet"]),parseInt(t["height-inches"])),n.height=qt(t["height-unit"],parseInt(t["height-feet"]),parseInt(t["height-inches"]),parseFloat(t["height-m"]),parseFloat(t["height-cm"])),n.age_at_menarche=To(parseInt(t.menarche)),n.parity=Po(parseInt(t["num-pregnancies"]),parseInt(t.parous),parseInt(t.parity)),n.age_first_birth=Ho(parseInt(t["num-pregnancies"]),parseInt(t.parous),parseInt(t.parity),parseInt(t["age-first-child-birth"])),n.oc_ever=Ro(parseInt(t["hormonal-contraceptive"])),n.alcohol_intake=jo(t["alcohol-use"],e.getAll("alcohol-type"),t["wine-freq"],parseInt(t["wine-serving"]),t["blc-freq"],parseInt(t["blc-serving"]),t["beer-freq"],parseInt(t["beer-serving"]),t["pop-freq"],parseInt(t["pop-serving"]),t["shots-freq"],parseInt(t["shots-serving"])),n.bbd=zo(parseInt(t["benign-breast-disease"])),n.famhist=Fo(parseInt(t["family-history"])),n.age>=50?(n.bmi_curc=hn(parseFloat(t.weight),t["weight-unit"],t["height-unit"],parseInt(t["height-feet"]),parseInt(t["height-inches"]),parseFloat(t["height-m"]),parseFloat(t["height-cm"]),!1),n.age_at_menopause=Yo(parseInt(t.menopause),parseInt(t["age-menopause"])),n.hrt=Oo(parseInt(t["hormone-treatment"]),parseInt(t["hormone-treatment-current"])),n.hrt_type=Vo(parseInt(t["hormone-treatment"]),parseInt(t["hormone-treatment-current"]),parseInt(t["hormone-treatment-type"]))):(n.bmi_curc=hn(parseFloat(t.weight),t["weight-unit"],t["height-unit"],parseInt(t["height-feet"]),parseInt(t["height-inches"]),parseFloat(t["height-m"]),parseFloat(t["height-cm"]),!0),n.oc_current=Do(parseInt(t["hormonal-contraceptive-current"]))),n}function Xo(e,t){const n=[],r=.001*(Math.max(...t)-Math.min(...t)),s=Math.max(...t)-Math.min(...t);for(let i=0;i{const c=document.createElement("th");c.scope="col",c.className="px-6 py-3",c.textContent=l,a.appendChild(c)}),i.appendChild(a),s.appendChild(i);const o=document.createElement("tbody");for(const l in t){const c=document.createElement("tr");t[l]===void 0?c.className="bg-red-50 border-b hover:bg-red-100":c.className="bg-white border-b hover:bg-slate-50";const d=document.createElement("th");d.scope="row",d.className="px-4 py-2 font-medium text-gray-900 whitespace-nowrap",d.textContent=l,c.appendChild(d);const u=document.createElement("td");u.className="px-4 py-2",u.textContent=t[l]??"-",c.appendChild(u),o.appendChild(c)}s.appendChild(o),r.appendChild(s),n.appendChild(r)}function pn(e,t){if(!Array.isArray(e)||e.length===0)throw new Error("Input must be a non-empty array of numbers.");if(typeof t!="number"||t<0||t>1)throw new Error("Percentile must be a number between 0 and 1.");const n=e.slice().sort((o,l)=>o-l),r=t*(n.length-1),s=Math.floor(r),i=Math.ceil(r);if(s===i)return n[r];const a=r-s;return n[s]*(1-a)+n[i]*a}function Go(e,t){const n=pn(e,.25),r=pn(e,.75),s=r-n,i=r+1.5*s,a=1.4,o=1.5;return i*a>t*o?i*a:t*o}function Ko(e){const t={},n={age:"Age",age_at_menarche:"Age at menarche (years)",age_at_menopause:"Age at menopause (years)",parity:"Number of children",age_first_birth:"Age at first child birth (years)",oc_ever:"Use of oral contraceptives",oc_current:"Current use of oral contraceptives",hrt:"Hormone replacement therapy use",hrt_type:"Hormone replacement therapy type",bmi_curc:"Body Mass Index (kg/m²)",height:"Height (cm)",alcohol_intake:"Alcohol intake (g/day)",bbd:"History of benign breast disease",famhist:"Family history of breast cancer in first degree relatives"};for(const[s,i]of Object.entries(e))s in n&&(s==="famhist"&&i!==void 0||s==="bbd"&&i!==void 0?t[n[s]]=i===1?"Yes":"No":s==="oc_ever"&&i!==void 0?t[n[s]]=i===1?"Ever":"Never":s==="oc_current"&&i!==void 0?t[n[s]]=i===1?"Current":"Former":s==="hrt"&&i!==void 0?t[n[s]]=i.charAt(0).toUpperCase()+i.slice(1):s==="age_first_birth"&&e.parity==="0"||s==="hrt_type"&&e.hrt==="never"?t[n[s]]="N/A":s==="hrt_type"&&i!==void 0?t[n[s]]=i===1?"Estrogen prescription hormone only":"Combined estrogen plus progestin prescription hormones":s==="height"&&i!==void 0?t[n[s]]=(i*10).toFixed(2):t[n[s]]=i);const r={};return Object.values(n).forEach(s=>{s in t&&(r[s]=t[s])}),r}function Jo(e){for(let t in e)if(e.hasOwnProperty(t)&&typeof e[t]>"u")return!0;return!1}function Zo(e,t){let n=Math.round(e/100*t);return`out of ${t} people with identical risk factor profiles, about ${n} ${n===1?"person":"people"} ${n===1?"is":"are"} expected`}function Qo(e,t,n){const r=n.id,s=t.reference_risks[0].population_risks.map(z=>z*100),i=t.profile[0].risk_estimates*100,a=1;e.innerHTML="",e.className="space-y-6 sm:space-y-5 w-full";const o=document.createElement("div");o.className="flex flex-col w-full",e.appendChild(o);const l=document.createElement("h1");l.className="text-xl font-bold text-center py-4",l.innerHTML=`${r}'s estimated 5-year absolute risk of breast cancer: ${i.toFixed(a)} %`,o.appendChild(l);const c=document.createElement("div");Fe(c).attr("class","flex justify-center w-full py-4").call(qo().width(450).height(350).prevalence(i).colorCase("purple").colorControl("lightgray").labelCase("Breast cancer").labelControl("No breast cancer").margin({top:5,right:5,bottom:5,left:5})),o.appendChild(c);const u=document.createElement("p");u.className="text-md",u.innerText=` + In a population of breast cancer-free, non-Hispanic, white women in the US, with an identical risk factor profile as the one provided above for ${r}: ${i.toFixed(a)}% of them are expected to develop breast cancer over the next 5 years. In other words, ${Zo(i,100)} to develop breast cancer over the next 5 years. + `,o.appendChild(u);const f=Ko(n),h=document.createElement("p");h.className="text-md";let x=` + The risk is estimated based on the risk factors provided by the user. The provided values were processed, as shown below, to run the iCARE-Lit model.`;Jo(f)&&(x+=" The rows highlighted in red are used by iCARE-Lit for its calculations but were not provided by the user. For a more accurate risk estimation, please provide the missing risk factors."),h.innerText=x,o.appendChild(h);const v=document.createElement("div");v.className="flex justify-center w-full",Uo(["Risk factor","Value"],f,v),o.appendChild(v);const k=document.createElement("h1");k.className="text-xl font-bold text-center py-4 sm:border-t",k.innerHTML=`${r}'s estimated 5-year absolute risk of breast cancer compared to the non-Hispanic, white US population`,o.appendChild(k);const E=300,p=100,m=75,g=e.clientWidth,b={left:50,right:20},w=0,N=Go(s,i),A=100,q=Xo(A,s),I=50,y=document.createElement("div"),M=Fe(y).attr("class","pr-10 py-4"),_=M.append("div").attr("class","slider-container"),C=No().width(g).height(E).margin({top:50,right:b.right,bottom:50,left:b.left}).data(s).xMin(w).xMax(N).vLine(i).xLabel("Absolute risk (%) →").title("Distribution of the 5-year absolute risk of breast cancer in adult women non-Hispanic, white US population.").bandwidth(q[I-1]),L=Eo().width(g).height(p).margin({top:0,right:b.right,bottom:0,left:b.left}).data(s).xMin(w).xMax(N).vLine(i).boxWidth(30).radius(1).hoverOffsetX(80).hoverOffsetY(100).removeAxis(!0),B=Ao().width(g).height(m).margin({top:5,right:b.right,bottom:0,left:b.left}).data([i]).xMin(w).xMax(N).radius(7).markerPadding(2).markerText(`${r}'s estimated absolute risk`).color("#FF0000").plotPadding(7).removeAxis(!0);M.call(C),M.call(L),M.call(B),_.call(Mo().id("bandwidth").labelText("Bandwidth: ").min(1).max(A).step(1).value(I).on("change",z=>{M.call(C.bandwidth(q[z-1]))})),e.appendChild(y);const H=M.append("div").attr("class","flex flex-row justify-center items-center mt-4"),X=H.append("button").attr("class","rounded-md border border-transparent bg-slate-800 py-2 px-4 text-sm font-medium text-white shadow-sm hover:bg-slate-900 focus:outline-none focus:ring-2 focus:ring-slate-500 focus:ring-offset-2 py-2 px-4 mr-2").text("Download plot as PNG"),$=H.append("button").attr("class","rounded-md border border-transparent bg-slate-800 py-2 px-4 text-sm font-medium text-white shadow-sm hover:bg-slate-900 focus:outline-none focus:ring-2 focus:ring-slate-500 focus:ring-offset-2 py-2 px-4").text("Download results as JSON");X.on("click",()=>{const z=Fe(y).selectAll("svg"),S=document.createElement("canvas"),st=S.getContext("2d");function Zn(V){return new Promise(Be=>{const me=new Image,G=new Blob([V],{type:"image/svg+xml;charset=utf-8"}),U=URL.createObjectURL(G);me.onload=()=>{Be(me)},me.src=U})}const Qn=z.nodes().map(V=>new XMLSerializer().serializeToString(V));Promise.all(Qn.map(V=>Zn(V))).then(V=>{let Be=0;S.width=Math.max(...V.map(U=>U.width)),S.height=V.reduce((U,er)=>U+er.height,0),st.fillStyle="white",st.fillRect(0,0,S.width,S.height);for(const U of V)st.drawImage(U,0,Be),Be+=U.height;const me=S.toDataURL("image/png"),G=document.createElement("a");G.href=me,G.download=`icare-lit_risk_plot_${r}.png`,document.body.appendChild(G),G.click(),document.body.removeChild(G)})}),$.on("click",()=>{const z="data:text/json;charset=utf-8,"+encodeURIComponent(JSON.stringify(t,null,2)),S=document.createElement("a");S.setAttribute("href",z),S.setAttribute("download",`icare-lit_output_${r}.json`),document.body.appendChild(S),S.click(),S.remove()})}zt.addEventListener("submit",e=>{e.preventDefault(),re.innerHTML=` + + + Calculating...`,re.classList.add("cursor-not-allowed"),re.disabled=!0;const t=new FormData(e.target),n=Wo(t);fn.postMessage(n),fn.onmessage=r=>{const s=r.data;Qo(At,s,n),At.scrollIntoView({behavior:"smooth",block:"start"}),re.innerHTML="Estimate risk",re.classList.remove("cursor-not-allowed"),re.disabled=!1}});zt.addEventListener("reset",e=>{At.innerHTML="",document.getElementById("form-questionnaire").scrollIntoView({behavior:"smooth",block:"start"})}); diff --git a/assets/rose_bg-35c743a5.svg b/assets/rose_bg-35c743a5.svg new file mode 100644 index 0000000..69e0094 --- /dev/null +++ b/assets/rose_bg-35c743a5.svg @@ -0,0 +1 @@ + \ No newline at end of file