From a676678e6aa5bf37e5895351fe49c2769742555e Mon Sep 17 00:00:00 2001 From: Tony BONNIN <stopyz@gmail.com> Date: Sun, 8 Sep 2024 22:42:34 +0200 Subject: [PATCH] Improve Template & Map Design Signed-off-by: Tony BONNIN <stopyz@gmail.com> --- .gitignore | 1 + app/acf-util/welcome-html.lsp | 102 +-- app/template-html.lsp | 4 +- .../dashboard/css/dashboard-main/dark.css | 8 +- .../dashboard/css/dashboard-main/icons.css | 2 +- .../dashboard/css/dashboard-main/logon.css | 4 +- .../dashboard/css/dashboard-main/mobile.css | 46 +- .../dashboard/css/dashboard-pages/welcome.css | 52 +- .../dashboard/img/reboot/uptime_calendar.svg | 732 +++++++++--------- www/skins/static/reset.css | 5 - 10 files changed, 509 insertions(+), 447 deletions(-) diff --git a/.gitignore b/.gitignore index b218073..08386a3 100644 --- a/.gitignore +++ b/.gitignore @@ -18,6 +18,7 @@ *.rar *.tar *.zip +*.txt # Logs and databases # ###################### diff --git a/app/acf-util/welcome-html.lsp b/app/acf-util/welcome-html.lsp index 98078c9..d6acaee 100644 --- a/app/acf-util/welcome-html.lsp +++ b/app/acf-util/welcome-html.lsp @@ -106,25 +106,6 @@ local function calculate_last_reboot(uptime_seconds) local reboot_date_time = os.date("%Y-%m-%d %H:%M", reboot_time) -- Exclude seconds return reboot_date_time, reboot_time end --- Function to parse dmesg and extract reboot times based on log timestamps -local function parse_dmesg() - local reboots = {} - local handle = io.popen("dmesg | grep -i 'Command line:'") - local result = handle:read("*a") - handle:close() - - if result and result ~= "" then - for line in result:gmatch("[^\r\n]+") do - local dmesg_time = line:match("%[(%d+%.%d+)]") - if dmesg_time then - local reboot_time = os.time() - tonumber(dmesg_time) - table.insert(reboots, reboot_time) - end - end - end - - return reboots -end -- Function to retrieve the current system uptime from the system local function get_current_uptime() local uptime_output = sys.value.uptime.value @@ -162,18 +143,14 @@ local function parse_last_reboot_file(filename) file:close() return reboots end --- Function to analyze both dmesg reboots, last_reboot file, and the current system uptime +-- Function to analyze reboots from the last_reboot file and the current system uptime local function analyze_reboots_and_uptime(last_reboot_filename) - local dmesg_reboots = parse_dmesg() local last_reboot_file_reboots = parse_last_reboot_file(last_reboot_filename) local uptime_seconds = get_current_uptime() local last_reboot_from_uptime, last_reboot_time = calculate_last_reboot(uptime_seconds) - local reboot_data = "Reboots from dmesg and last_reboot file:\n" - -- Combine reboots from dmesg and last_reboot file + local reboot_data = "Reboots from last_reboot file:\n" + -- Combine reboots from last_reboot file local combined_reboots = {} - for _, reboot_time in ipairs(dmesg_reboots) do - table.insert(combined_reboots, reboot_time) - end for _, reboot_time in ipairs(last_reboot_file_reboots) do table.insert(combined_reboots, reboot_time) end @@ -188,10 +165,39 @@ local function analyze_reboots_and_uptime(last_reboot_filename) reboot_data = reboot_data .. "\nLast Reboot from uptime: " .. last_reboot_from_uptime .. "\n" return reboot_data, last_reboot_time, combined_reboots end +-- Function to check if the reboot data already exists in the file without seconds +local function check_if_reboot_exists(reboot_data, filename) + local file = io.open(filename, "r") + if not file then return false end + + local reboot_data_without_seconds = reboot_data:match("%Y%-m%-d %H:%M") -- Match format without seconds + + for line in file:lines() do + local line_without_seconds = line:match("%Y%-m%-d %H:%M") + if line_without_seconds == reboot_data_without_seconds then + file:close() + return true -- Reboot data already exists + end + end + + file:close() + return false +end +-- Function to save the reboot data to a file only if it's different (ignoring seconds) +local function save_reboot_data(reboot_data, filename) + -- Check if the reboot data already exists + if not check_if_reboot_exists(reboot_data, filename) then + local file = io.open(filename, "a") + if file then + file:write(reboot_data) + file:close() + end + end +end -- Function to generate the SVG calendar local function generate_calendar(uptime_data) - local box_size = 15 - local margin = 1 -- Spacing between boxes + local box_size = 7 + local margin = 2 -- Spacing between boxes local cols = 52 -- 52 weeks local width = cols * (box_size + margin) local height = 7 * (box_size + margin) -- 7 days per week @@ -202,30 +208,27 @@ local function generate_calendar(uptime_data) for i = 1, 365 do local x = math.floor((i-1) / 7) * (box_size + margin) -- X position (week) local y = ((i-1) % 7) * (box_size + margin) -- Y position (day of the week) - - -- Calculate the date and time corresponding to day i + -- Calculate the date corresponding to day i local time = os.time({year = os.date("*t").year, month = 1, day = 1}) + (i - 1) * 24 * 3600 - local date_str = os.date("%Y-%m-%d %H:%M", time) - + local date_str = os.date("%Y-%m-%d", time) local color - if i > current_day_of_year then - color = "#373737" -- Gray for future days + color = "#7676761f" -- future days else local reboots = uptime_data[i].reboots if reboots == 0 then color = "#00EF5C" -- green for no reboots elseif reboots == 1 then - color = "#d4e600" -- yellow for 1 reboot + color = "#E5FA00" -- yellow for 1 reboot elseif reboots > 1 then - color = "#ffcc00" -- orange for more than 1 reboot + color = "#FFB700" -- orange for more than 1 reboot else - color = "#373737" -- Default for unknown days + color = "#7676761f" -- Default for unknown days end end svg = svg .. string.format( - '<rect x="%d" y="%d" width="%d" height="%d" fill="%s" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="%d" title="%s"/>\n', - x, y, box_size, box_size, color, i, date_str + '<rect x="%d" y="%d" width="%d" height="%d" fill="%s" rx="1" stroke="#00000000" stroke-width="0.5" title="%s"/>\n', + x, y, box_size, box_size, color, date_str ) end svg = svg .. '</svg>' @@ -264,11 +267,13 @@ end -- Start the process local last_reboot_filename = "../../www/skins/dashboard/logs/reboot/last_reboot.txt" local reboot_data, last_reboot_time, combined_reboots = analyze_reboots_and_uptime(last_reboot_filename) +save_reboot_data(reboot_data, last_reboot_filename) -- Analyze uptimes and generate uptime data local uptime_data = analyze_uptimes(combined_reboots, last_reboot_time) -- Generate the SVG calendar local svg_content = generate_calendar(uptime_data) save_svg_file(svg_content, "../../www/skins/dashboard/img/reboot/uptime_calendar.svg") +local cache_time = os.date("%Y%m%d%H%M%S") %> <% local header_level = htmlviewfunctions.displaysectionstart(cfe({label="Dashboard"}), page_info) %> <!-- Dashboard App Block - LINE 1 --> @@ -423,18 +428,19 @@ save_svg_file(svg_content, "../../www/skins/dashboard/img/reboot/uptime_calendar <span class="month november">November</span> <span class="month december">December</span> </p> -<img id="uptime-calendar" src="/skins/dashboard/img/reboot/uptime_calendar.svg" width="100%" height="auto" xmlns="http://www.w3.org/2000/svg" /> +<img id="uptime-calendar" src="/skins/dashboard/img/reboot/uptime_calendar.svg?<%= cache_time %>" width="100%" height="auto" xmlns="http://www.w3.org/2000/svg" /> <div id="tooltip" style="position: absolute; display: none; background-color: #fff; border: 1px solid #000; padding: 5px;"></div> -<div class="chart-bar chart-legend chart-heatmap" style="margin:0px;padding:0px;border:0px;margin-top:5px"> - <p id="legend" width="100px"><b>Legend</b> :</p> - <p id="legend-uptime-0reboot"></p> - <p width="35px"><b> No Reboot</b></p> - <p id="legend-uptime-1reboot"></p> - <p width="35px"><b> Reboot 1 Time</b></p> - <p id="legend-uptime-2reboot"></p> - <p width="35px"><b> More 1 Reboot</b></p> +<div class="chart-bar chart-legend chart-heatmap"> + <span><p id="legend-uptime-0reboot"></p><span class="legend-title">No Reboot</span></span> + <span><p id="legend-uptime-1reboot"></p><span class="legend-title">Reboot 1 Time</span></span> + <span><p id="legend-uptime-2reboot"></p><span class="legend-title">More 1 Reboot</span></span> </div> <script> +document.addEventListener('DOMContentLoaded', function() { + var currentMonth = new Date().getMonth(); + var months = document.querySelectorAll('.months-list .month'); + months[currentMonth].classList.add('active'); +}); </script> <!-- Dashboard App Block - LINE 2 --> <p class="dashboard-title uptime-heatmap-title"><i class="fa-solid fa-square"></i> System Health Charts</p> diff --git a/app/template-html.lsp b/app/template-html.lsp index aefa4fc..4474d3b 100644 --- a/app/template-html.lsp +++ b/app/template-html.lsp @@ -124,7 +124,7 @@ end print("<div id='header-left'><a href='javascript:void(0);' class='icon' id='toggle-menu' title='Menu' onclick='toggleMenu()'><i class='fa-solid fa-bars'></i></a>") print("<a class='header-logo home-logo' href=".. html.html_escape(pageinfo.wwwprefix) .. "/cgi-bin/acf/acf-util/welcome/read".."/></a></div>") print("<div id='header-links'>") - print("<span class='last-logon'><i class='fa-solid fa-key'></i> Last Logon <span class='hdivider'>|</span> ") + print("<span class='last-logon'><i class='fa-solid fa-key'></i> <span class='mobile'>Last Logon <span class='hdivider'>|</span></span> ") if username and ip and time then print("<span class='logon-data'><span class='username'>".. username .."</span> <span class='hdivider'>@</span> ") print("<span class='ip'>".. ip .."</span> <span class='hdivider'>|</span> ") @@ -215,7 +215,7 @@ end </div> <!-- page --> <% end --pageinfo.skinned%> <footer id="footer" style="cursor: pointer;" onclick="window.open('https://www.alpinelinux.org/about/', '_blank')"> - <a href="https://www.alpinelinux.org/about/" target="_blank"> + <a href="https://github.com/trinity-labs/official" target="_blank"> © TRIИITY | 2022 - <%= (os.date("%Y")) %> </a> </footer> <!-- footer --> diff --git a/www/skins/dashboard/css/dashboard-main/dark.css b/www/skins/dashboard/css/dashboard-main/dark.css index 5e5efb9..0879227 100644 --- a/www/skins/dashboard/css/dashboard-main/dark.css +++ b/www/skins/dashboard/css/dashboard-main/dark.css @@ -24,13 +24,13 @@ } .dark-theme header { - background: linear-gradient(90deg, #1a1a1a, #1a1a1a, #0a000a) !important; + background: linear-gradient(90deg, #1a1a1a, #1a1a1a, #0a000a) no-repeat; box-shadow: none !important; } .dark-theme .header-logo, .dark-theme .logon-logon #header { - background-image: url(../../img/logos/logo-trinity-dashboard.png) !important; + background-image: url(../../img/logos/logo-trinity-dashboard.png); } .dark-theme tbody { @@ -230,7 +230,7 @@ color: #b3b3b3; } -.last-logon i, -.last-logon .time { +.dark-theme .last-logon i, +.dark-theme .last-logon .time { color: #545454; } \ No newline at end of file diff --git a/www/skins/dashboard/css/dashboard-main/icons.css b/www/skins/dashboard/css/dashboard-main/icons.css index d9acdb9..f1be405 100644 --- a/www/skins/dashboard/css/dashboard-main/icons.css +++ b/www/skins/dashboard/css/dashboard-main/icons.css @@ -357,7 +357,7 @@ display: inline-block; margin: 0 0.5rem 0 0; font-size: 1rem; - color: #00cbb4; + color: #00bac9; } .welcome .dashboard-title-network-stats::before { diff --git a/www/skins/dashboard/css/dashboard-main/logon.css b/www/skins/dashboard/css/dashboard-main/logon.css index 740edbc..f163199 100644 --- a/www/skins/dashboard/css/dashboard-main/logon.css +++ b/www/skins/dashboard/css/dashboard-main/logon.css @@ -34,7 +34,7 @@ html.app-logon { .logon-logon #header { background-size: 7rem !important; - background-image: url(../../img/logos/logo-trinity-full-acf.png) !important; + background-image: url(../../img/logos/logo-trinity-full-acf.png); position: relative !important; border-radius: 10px 10px 0 0 !important; background-position: 3.5rem center !important; @@ -231,10 +231,10 @@ input#password::-webkit-input-placeholder::before { top: 0.5rem; width: 21% !important; padding: 0.15rem 1.25rem !important; - left: 7.5%; border: 2px solid rgb(255 43 43); text-align: center !important; background: none; + font-weight: normal !important; } .logon .icon-header { diff --git a/www/skins/dashboard/css/dashboard-main/mobile.css b/www/skins/dashboard/css/dashboard-main/mobile.css index 5ced2c4..6e50381 100644 --- a/www/skins/dashboard/css/dashboard-main/mobile.css +++ b/www/skins/dashboard/css/dashboard-main/mobile.css @@ -2,8 +2,20 @@ * MEDIA QUERIES *---------------------------------------------------------------------------------- */ + +@media only screen and (min-device-width : 0px) and (max-device-width : 779px) { -@media only screen and (min-device-width : 0px) and (max-device-width : 1400px) { + #user-logon { + display: none !important; + } + +} + +@media only screen and (min-device-width : 0px) and (max-device-width : 1279px) { + + .mobile { + display: none !important; + } html, body { position: relative; @@ -27,7 +39,6 @@ padding: 0 !important; position: absolute !important; display: flex; - background: white !important; flex-direction: row; flex-wrap: nowrap; background-position: 2rem center !important; @@ -35,9 +46,32 @@ width: 100%; } + #header-links { + display: flex; + flex-direction: row; + align-content: stretch; + justify-content: flex-end; + align-items: center; + flex-wrap: wrap; + width: -webkit-fill-available; + } + + .dark-theme header { + background: transparent !important; + } + .header-logo { - width: 8rem !important; - height: 3rem !important; + background-image: url(../../img/logos/logo-trinity-dashboard-mobile.png) !important; + width: 2.5rem !important; + height: 2.5rem !important; + } + + .logon #about-link { + display: inherit !important; + } + + #home-link, #about-link { + display: none !important; } #content p, @@ -146,7 +180,7 @@ } .logon-logon #header { - background-image: url(../../img/logos/logo-trinity-full-acf-white.png) !important; + background-image: url(../../img/logos/logo-trinity-dashboard.png) !important; position: relative !important; border-radius: 10px 10px 0 0 !important; background-position: 1.25rem center !important; @@ -157,7 +191,7 @@ width: 138.5vw; height: 5.5rem !important; background-repeat: no-repeat !important; - } +} #userid { margin-top: 0rem !important; diff --git a/www/skins/dashboard/css/dashboard-pages/welcome.css b/www/skins/dashboard/css/dashboard-pages/welcome.css index fcfe92d..85f53a1 100644 --- a/www/skins/dashboard/css/dashboard-pages/welcome.css +++ b/www/skins/dashboard/css/dashboard-pages/welcome.css @@ -79,7 +79,7 @@ span.dashboard-infos { background: none !important; font-weight: 600; text-transform: uppercase; - margin: 0.5rem 0 1.75rem; + margin: 0.5rem 0 1rem; font-family: Arial Black; color: #b7b7b7; font-size: 0.75rem; @@ -917,14 +917,22 @@ input:checked + .slider:before { .value-title.value-net-local { text-transform: lowercase; + color: #00bac9; } .disk-list { white-space: pre; - display: block; - width: -moz-available !important; + display: flex; + width: -moz-available !important; width: -webkit-fill-available !important; width: fill-available !important; + flex-direction: row; + flex-wrap: wrap; + justify-content: space-between; +} + +#disk-listing { + width: 45%; } #content .chart-storage { @@ -1063,35 +1071,53 @@ input:checked + .slider:before { #legend-uptime-0reboot { padding: 0.55rem 0.01rem; - width: 5rem !important; + width: 1rem !important; margin: 0 0.5rem; border-radius: 2px; color: green; - background: #00EF5C; + background: #00ef5c; + display: inline-block; + position: relative; + top: 0.25rem; } #legend-uptime-1reboot { padding: 0.55rem 0.01rem; - width: 5rem !important; + width: 1rem !important; margin: 0 0.5rem; border-radius: 2px; - background: #d4e600; + background: #e5fa00; + display: inline-block; + position: relative; + top: 0.25rem; } #legend-uptime-2reboot { padding: 0.55rem 0.01rem; - width: 5rem !important; + width: 1rem !important; margin: 0 0.5rem; border-radius: 2px; - background: #ffcc00; -} - -.chart-bar.chart-legend.chart-heatmap { - margin: 0 0 3rem !important; + background: #ffb700; + display: inline-block; + position: relative; + top: 0.25rem; } .month:hover { color: #b1b1b1; cursor: pointer; font-weight: 400; +} + +.month.active { + font-weight: bold; + color: #b1b1b1; +} + +.chart-heatmap { + display: flex; + flex-direction: row; + flex-wrap: nowrap; + justify-content: space-around; + margin: 0 0 3rem !important; } \ No newline at end of file diff --git a/www/skins/dashboard/img/reboot/uptime_calendar.svg b/www/skins/dashboard/img/reboot/uptime_calendar.svg index 6a7e557..fb9bf37 100644 --- a/www/skins/dashboard/img/reboot/uptime_calendar.svg +++ b/www/skins/dashboard/img/reboot/uptime_calendar.svg @@ -1,367 +1,367 @@ -<svg xmlns="http://www.w3.org/2000/svg" width="832" height="112"> -<rect x="0" y="0" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="1" title="2024-01-01 12:00"/> -<rect x="0" y="16" width="15" height="15" fill="#d4e600" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="2" title="2024-01-02 12:00"/> -<rect x="0" y="32" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="3" title="2024-01-03 12:00"/> -<rect x="0" y="48" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="4" title="2024-01-04 12:00"/> -<rect x="0" y="64" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="5" title="2024-01-05 12:00"/> -<rect x="0" y="80" width="15" height="15" fill="#d4e600" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="6" title="2024-01-06 12:00"/> -<rect x="0" y="96" width="15" height="15" fill="#d4e600" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="7" title="2024-01-07 12:00"/> -<rect x="16" y="0" width="15" height="15" fill="#d4e600" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="8" title="2024-01-08 12:00"/> -<rect x="16" y="16" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="9" title="2024-01-09 12:00"/> -<rect x="16" y="32" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="10" title="2024-01-10 12:00"/> -<rect x="16" y="48" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="11" title="2024-01-11 12:00"/> -<rect x="16" y="64" width="15" height="15" fill="#d4e600" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="12" title="2024-01-12 12:00"/> -<rect x="16" y="80" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="13" title="2024-01-13 12:00"/> -<rect x="16" y="96" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="14" title="2024-01-14 12:00"/> -<rect x="32" y="0" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="15" title="2024-01-15 12:00"/> -<rect x="32" y="16" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="16" title="2024-01-16 12:00"/> -<rect x="32" y="32" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="17" title="2024-01-17 12:00"/> -<rect x="32" y="48" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="18" title="2024-01-18 12:00"/> -<rect x="32" y="64" width="15" height="15" fill="#d4e600" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="19" title="2024-01-19 12:00"/> -<rect x="32" y="80" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="20" title="2024-01-20 12:00"/> -<rect x="32" y="96" width="15" height="15" fill="#d4e600" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="21" title="2024-01-21 12:00"/> -<rect x="48" y="0" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="22" title="2024-01-22 12:00"/> -<rect x="48" y="16" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="23" title="2024-01-23 12:00"/> -<rect x="48" y="32" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="24" title="2024-01-24 12:00"/> -<rect x="48" y="48" width="15" height="15" fill="#d4e600" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="25" title="2024-01-25 12:00"/> -<rect x="48" y="64" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="26" title="2024-01-26 12:00"/> -<rect x="48" y="80" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="27" title="2024-01-27 12:00"/> -<rect x="48" y="96" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="28" title="2024-01-28 12:00"/> -<rect x="64" y="0" width="15" height="15" fill="#d4e600" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="29" title="2024-01-29 12:00"/> -<rect x="64" y="16" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="30" title="2024-01-30 12:00"/> -<rect x="64" y="32" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="31" title="2024-01-31 12:00"/> -<rect x="64" y="48" width="15" height="15" fill="#d4e600" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="32" title="2024-02-01 12:00"/> -<rect x="64" y="64" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="33" title="2024-02-02 12:00"/> -<rect x="64" y="80" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="34" title="2024-02-03 12:00"/> -<rect x="64" y="96" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="35" title="2024-02-04 12:00"/> -<rect x="80" y="0" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="36" title="2024-02-05 12:00"/> -<rect x="80" y="16" width="15" height="15" fill="#d4e600" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="37" title="2024-02-06 12:00"/> -<rect x="80" y="32" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="38" title="2024-02-07 12:00"/> -<rect x="80" y="48" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="39" title="2024-02-08 12:00"/> -<rect x="80" y="64" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="40" title="2024-02-09 12:00"/> -<rect x="80" y="80" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="41" title="2024-02-10 12:00"/> -<rect x="80" y="96" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="42" title="2024-02-11 12:00"/> -<rect x="96" y="0" width="15" height="15" fill="#d4e600" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="43" title="2024-02-12 12:00"/> -<rect x="96" y="16" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="44" title="2024-02-13 12:00"/> -<rect x="96" y="32" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="45" title="2024-02-14 12:00"/> -<rect x="96" y="48" width="15" height="15" fill="#ffcc00" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="46" title="2024-02-15 12:00"/> -<rect x="96" y="64" width="15" height="15" fill="#d4e600" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="47" title="2024-02-16 12:00"/> -<rect x="96" y="80" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="48" title="2024-02-17 12:00"/> -<rect x="96" y="96" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="49" title="2024-02-18 12:00"/> -<rect x="112" y="0" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="50" title="2024-02-19 12:00"/> -<rect x="112" y="16" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="51" title="2024-02-20 12:00"/> -<rect x="112" y="32" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="52" title="2024-02-21 12:00"/> -<rect x="112" y="48" width="15" height="15" fill="#d4e600" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="53" title="2024-02-22 12:00"/> -<rect x="112" y="64" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="54" title="2024-02-23 12:00"/> -<rect x="112" y="80" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="55" title="2024-02-24 12:00"/> -<rect x="112" y="96" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="56" title="2024-02-25 12:00"/> -<rect x="128" y="0" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="57" title="2024-02-26 12:00"/> -<rect x="128" y="16" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="58" title="2024-02-27 12:00"/> -<rect x="128" y="32" width="15" height="15" fill="#d4e600" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="59" title="2024-02-28 12:00"/> -<rect x="128" y="48" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="60" title="2024-02-29 12:00"/> -<rect x="128" y="64" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="61" title="2024-03-01 12:00"/> -<rect x="128" y="80" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="62" title="2024-03-02 12:00"/> -<rect x="128" y="96" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="63" title="2024-03-03 12:00"/> -<rect x="144" y="0" width="15" height="15" fill="#d4e600" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="64" title="2024-03-04 12:00"/> -<rect x="144" y="16" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="65" title="2024-03-05 12:00"/> -<rect x="144" y="32" width="15" height="15" fill="#d4e600" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="66" title="2024-03-06 12:00"/> -<rect x="144" y="48" width="15" height="15" fill="#ffcc00" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="67" title="2024-03-07 12:00"/> -<rect x="144" y="64" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="68" title="2024-03-08 12:00"/> -<rect x="144" y="80" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="69" title="2024-03-09 12:00"/> -<rect x="144" y="96" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="70" title="2024-03-10 12:00"/> -<rect x="160" y="0" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="71" title="2024-03-11 12:00"/> -<rect x="160" y="16" width="15" height="15" fill="#d4e600" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="72" title="2024-03-12 12:00"/> -<rect x="160" y="32" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="73" title="2024-03-13 12:00"/> -<rect x="160" y="48" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="74" title="2024-03-14 12:00"/> -<rect x="160" y="64" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="75" title="2024-03-15 12:00"/> -<rect x="160" y="80" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="76" title="2024-03-16 12:00"/> -<rect x="160" y="96" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="77" title="2024-03-17 12:00"/> -<rect x="176" y="0" width="15" height="15" fill="#d4e600" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="78" title="2024-03-18 12:00"/> -<rect x="176" y="16" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="79" title="2024-03-19 12:00"/> -<rect x="176" y="32" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="80" title="2024-03-20 12:00"/> -<rect x="176" y="48" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="81" title="2024-03-21 12:00"/> -<rect x="176" y="64" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="82" title="2024-03-22 12:00"/> -<rect x="176" y="80" width="15" height="15" fill="#d4e600" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="83" title="2024-03-23 12:00"/> -<rect x="176" y="96" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="84" title="2024-03-24 12:00"/> -<rect x="192" y="0" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="85" title="2024-03-25 12:00"/> -<rect x="192" y="16" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="86" title="2024-03-26 12:00"/> -<rect x="192" y="32" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="87" title="2024-03-27 12:00"/> -<rect x="192" y="48" width="15" height="15" fill="#d4e600" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="88" title="2024-03-28 12:00"/> -<rect x="192" y="64" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="89" title="2024-03-29 12:00"/> -<rect x="192" y="80" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="90" title="2024-03-30 12:00"/> -<rect x="192" y="96" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="91" title="2024-03-31 13:00"/> -<rect x="208" y="0" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="92" title="2024-04-01 13:00"/> -<rect x="208" y="16" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="93" title="2024-04-02 13:00"/> -<rect x="208" y="32" width="15" height="15" fill="#d4e600" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="94" title="2024-04-03 13:00"/> -<rect x="208" y="48" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="95" title="2024-04-04 13:00"/> -<rect x="208" y="64" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="96" title="2024-04-05 13:00"/> -<rect x="208" y="80" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="97" title="2024-04-06 13:00"/> -<rect x="208" y="96" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="98" title="2024-04-07 13:00"/> -<rect x="224" y="0" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="99" title="2024-04-08 13:00"/> -<rect x="224" y="16" width="15" height="15" fill="#ffcc00" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="100" title="2024-04-09 13:00"/> -<rect x="224" y="32" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="101" title="2024-04-10 13:00"/> -<rect x="224" y="48" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="102" title="2024-04-11 13:00"/> -<rect x="224" y="64" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="103" title="2024-04-12 13:00"/> -<rect x="224" y="80" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="104" title="2024-04-13 13:00"/> -<rect x="224" y="96" width="15" height="15" fill="#d4e600" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="105" title="2024-04-14 13:00"/> -<rect x="240" y="0" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="106" title="2024-04-15 13:00"/> -<rect x="240" y="16" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="107" title="2024-04-16 13:00"/> -<rect x="240" y="32" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="108" title="2024-04-17 13:00"/> -<rect x="240" y="48" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="109" title="2024-04-18 13:00"/> -<rect x="240" y="64" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="110" title="2024-04-19 13:00"/> -<rect x="240" y="80" width="15" height="15" fill="#d4e600" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="111" title="2024-04-20 13:00"/> -<rect x="240" y="96" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="112" title="2024-04-21 13:00"/> -<rect x="256" y="0" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="113" title="2024-04-22 13:00"/> -<rect x="256" y="16" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="114" title="2024-04-23 13:00"/> -<rect x="256" y="32" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="115" title="2024-04-24 13:00"/> -<rect x="256" y="48" width="15" height="15" fill="#d4e600" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="116" title="2024-04-25 13:00"/> -<rect x="256" y="64" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="117" title="2024-04-26 13:00"/> -<rect x="256" y="80" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="118" title="2024-04-27 13:00"/> -<rect x="256" y="96" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="119" title="2024-04-28 13:00"/> -<rect x="272" y="0" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="120" title="2024-04-29 13:00"/> -<rect x="272" y="16" width="15" height="15" fill="#d4e600" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="121" title="2024-04-30 13:00"/> -<rect x="272" y="32" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="122" title="2024-05-01 13:00"/> -<rect x="272" y="48" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="123" title="2024-05-02 13:00"/> -<rect x="272" y="64" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="124" title="2024-05-03 13:00"/> -<rect x="272" y="80" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="125" title="2024-05-04 13:00"/> -<rect x="272" y="96" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="126" title="2024-05-05 13:00"/> -<rect x="288" y="0" width="15" height="15" fill="#d4e600" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="127" title="2024-05-06 13:00"/> -<rect x="288" y="16" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="128" title="2024-05-07 13:00"/> -<rect x="288" y="32" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="129" title="2024-05-08 13:00"/> -<rect x="288" y="48" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="130" title="2024-05-09 13:00"/> -<rect x="288" y="64" width="15" height="15" fill="#ffcc00" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="131" title="2024-05-10 13:00"/> -<rect x="288" y="80" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="132" title="2024-05-11 13:00"/> -<rect x="288" y="96" width="15" height="15" fill="#d4e600" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="133" title="2024-05-12 13:00"/> -<rect x="304" y="0" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="134" title="2024-05-13 13:00"/> -<rect x="304" y="16" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="135" title="2024-05-14 13:00"/> -<rect x="304" y="32" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="136" title="2024-05-15 13:00"/> -<rect x="304" y="48" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="137" title="2024-05-16 13:00"/> -<rect x="304" y="64" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="138" title="2024-05-17 13:00"/> -<rect x="304" y="80" width="15" height="15" fill="#d4e600" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="139" title="2024-05-18 13:00"/> -<rect x="304" y="96" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="140" title="2024-05-19 13:00"/> -<rect x="320" y="0" width="15" height="15" fill="#d4e600" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="141" title="2024-05-20 13:00"/> -<rect x="320" y="16" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="142" title="2024-05-21 13:00"/> -<rect x="320" y="32" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="143" title="2024-05-22 13:00"/> -<rect x="320" y="48" width="15" height="15" fill="#d4e600" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="144" title="2024-05-23 13:00"/> -<rect x="320" y="64" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="145" title="2024-05-24 13:00"/> -<rect x="320" y="80" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="146" title="2024-05-25 13:00"/> -<rect x="320" y="96" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="147" title="2024-05-26 13:00"/> -<rect x="336" y="0" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="148" title="2024-05-27 13:00"/> -<rect x="336" y="16" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="149" title="2024-05-28 13:00"/> -<rect x="336" y="32" width="15" height="15" fill="#d4e600" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="150" title="2024-05-29 13:00"/> -<rect x="336" y="48" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="151" title="2024-05-30 13:00"/> -<rect x="336" y="64" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="152" title="2024-05-31 13:00"/> -<rect x="336" y="80" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="153" title="2024-06-01 13:00"/> -<rect x="336" y="96" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="154" title="2024-06-02 13:00"/> -<rect x="352" y="0" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="155" title="2024-06-03 13:00"/> -<rect x="352" y="16" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="156" title="2024-06-04 13:00"/> -<rect x="352" y="32" width="15" height="15" fill="#d4e600" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="157" title="2024-06-05 13:00"/> -<rect x="352" y="48" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="158" title="2024-06-06 13:00"/> -<rect x="352" y="64" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="159" title="2024-06-07 13:00"/> -<rect x="352" y="80" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="160" title="2024-06-08 13:00"/> -<rect x="352" y="96" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="161" title="2024-06-09 13:00"/> -<rect x="368" y="0" width="15" height="15" fill="#d4e600" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="162" title="2024-06-10 13:00"/> -<rect x="368" y="16" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="163" title="2024-06-11 13:00"/> -<rect x="368" y="32" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="164" title="2024-06-12 13:00"/> -<rect x="368" y="48" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="165" title="2024-06-13 13:00"/> -<rect x="368" y="64" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="166" title="2024-06-14 13:00"/> -<rect x="368" y="80" width="15" height="15" fill="#d4e600" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="167" title="2024-06-15 13:00"/> -<rect x="368" y="96" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="168" title="2024-06-16 13:00"/> -<rect x="384" y="0" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="169" title="2024-06-17 13:00"/> -<rect x="384" y="16" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="170" title="2024-06-18 13:00"/> -<rect x="384" y="32" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="171" title="2024-06-19 13:00"/> -<rect x="384" y="48" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="172" title="2024-06-20 13:00"/> -<rect x="384" y="64" width="15" height="15" fill="#d4e600" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="173" title="2024-06-21 13:00"/> -<rect x="384" y="80" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="174" title="2024-06-22 13:00"/> -<rect x="384" y="96" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="175" title="2024-06-23 13:00"/> -<rect x="400" y="0" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="176" title="2024-06-24 13:00"/> -<rect x="400" y="16" width="15" height="15" fill="#ffcc00" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="177" title="2024-06-25 13:00"/> -<rect x="400" y="32" width="15" height="15" fill="#d4e600" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="178" title="2024-06-26 13:00"/> -<rect x="400" y="48" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="179" title="2024-06-27 13:00"/> -<rect x="400" y="64" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="180" title="2024-06-28 13:00"/> -<rect x="400" y="80" width="15" height="15" fill="#d4e600" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="181" title="2024-06-29 13:00"/> -<rect x="400" y="96" width="15" height="15" fill="#d4e600" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="182" title="2024-06-30 13:00"/> -<rect x="416" y="0" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="183" title="2024-07-01 13:00"/> -<rect x="416" y="16" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="184" title="2024-07-02 13:00"/> -<rect x="416" y="32" width="15" height="15" fill="#d4e600" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="185" title="2024-07-03 13:00"/> -<rect x="416" y="48" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="186" title="2024-07-04 13:00"/> -<rect x="416" y="64" width="15" height="15" fill="#ffcc00" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="187" title="2024-07-05 13:00"/> -<rect x="416" y="80" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="188" title="2024-07-06 13:00"/> -<rect x="416" y="96" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="189" title="2024-07-07 13:00"/> -<rect x="432" y="0" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="190" title="2024-07-08 13:00"/> -<rect x="432" y="16" width="15" height="15" fill="#d4e600" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="191" title="2024-07-09 13:00"/> -<rect x="432" y="32" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="192" title="2024-07-10 13:00"/> -<rect x="432" y="48" width="15" height="15" fill="#ffcc00" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="193" title="2024-07-11 13:00"/> -<rect x="432" y="64" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="194" title="2024-07-12 13:00"/> -<rect x="432" y="80" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="195" title="2024-07-13 13:00"/> -<rect x="432" y="96" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="196" title="2024-07-14 13:00"/> -<rect x="448" y="0" width="15" height="15" fill="#ffcc00" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="197" title="2024-07-15 13:00"/> -<rect x="448" y="16" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="198" title="2024-07-16 13:00"/> -<rect x="448" y="32" width="15" height="15" fill="#ffcc00" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="199" title="2024-07-17 13:00"/> -<rect x="448" y="48" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="200" title="2024-07-18 13:00"/> -<rect x="448" y="64" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="201" title="2024-07-19 13:00"/> -<rect x="448" y="80" width="15" height="15" fill="#d4e600" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="202" title="2024-07-20 13:00"/> -<rect x="448" y="96" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="203" title="2024-07-21 13:00"/> -<rect x="464" y="0" width="15" height="15" fill="#d4e600" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="204" title="2024-07-22 13:00"/> -<rect x="464" y="16" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="205" title="2024-07-23 13:00"/> -<rect x="464" y="32" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="206" title="2024-07-24 13:00"/> -<rect x="464" y="48" width="15" height="15" fill="#d4e600" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="207" title="2024-07-25 13:00"/> -<rect x="464" y="64" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="208" title="2024-07-26 13:00"/> -<rect x="464" y="80" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="209" title="2024-07-27 13:00"/> -<rect x="464" y="96" width="15" height="15" fill="#ffcc00" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="210" title="2024-07-28 13:00"/> -<rect x="480" y="0" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="211" title="2024-07-29 13:00"/> -<rect x="480" y="16" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="212" title="2024-07-30 13:00"/> -<rect x="480" y="32" width="15" height="15" fill="#ffcc00" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="213" title="2024-07-31 13:00"/> -<rect x="480" y="48" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="214" title="2024-08-01 13:00"/> -<rect x="480" y="64" width="15" height="15" fill="#ffcc00" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="215" title="2024-08-02 13:00"/> -<rect x="480" y="80" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="216" title="2024-08-03 13:00"/> -<rect x="480" y="96" width="15" height="15" fill="#ffcc00" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="217" title="2024-08-04 13:00"/> -<rect x="496" y="0" width="15" height="15" fill="#d4e600" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="218" title="2024-08-05 13:00"/> -<rect x="496" y="16" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="219" title="2024-08-06 13:00"/> -<rect x="496" y="32" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="220" title="2024-08-07 13:00"/> -<rect x="496" y="48" width="15" height="15" fill="#d4e600" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="221" title="2024-08-08 13:00"/> -<rect x="496" y="64" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="222" title="2024-08-09 13:00"/> -<rect x="496" y="80" width="15" height="15" fill="#d4e600" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="223" title="2024-08-10 13:00"/> -<rect x="496" y="96" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="224" title="2024-08-11 13:00"/> -<rect x="512" y="0" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="225" title="2024-08-12 13:00"/> -<rect x="512" y="16" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="226" title="2024-08-13 13:00"/> -<rect x="512" y="32" width="15" height="15" fill="#d4e600" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="227" title="2024-08-14 13:00"/> -<rect x="512" y="48" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="228" title="2024-08-15 13:00"/> -<rect x="512" y="64" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="229" title="2024-08-16 13:00"/> -<rect x="512" y="80" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="230" title="2024-08-17 13:00"/> -<rect x="512" y="96" width="15" height="15" fill="#d4e600" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="231" title="2024-08-18 13:00"/> -<rect x="528" y="0" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="232" title="2024-08-19 13:00"/> -<rect x="528" y="16" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="233" title="2024-08-20 13:00"/> -<rect x="528" y="32" width="15" height="15" fill="#ffcc00" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="234" title="2024-08-21 13:00"/> -<rect x="528" y="48" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="235" title="2024-08-22 13:00"/> -<rect x="528" y="64" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="236" title="2024-08-23 13:00"/> -<rect x="528" y="80" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="237" title="2024-08-24 13:00"/> -<rect x="528" y="96" width="15" height="15" fill="#d4e600" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="238" title="2024-08-25 13:00"/> -<rect x="544" y="0" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="239" title="2024-08-26 13:00"/> -<rect x="544" y="16" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="240" title="2024-08-27 13:00"/> -<rect x="544" y="32" width="15" height="15" fill="#ffcc00" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="241" title="2024-08-28 13:00"/> -<rect x="544" y="48" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="242" title="2024-08-29 13:00"/> -<rect x="544" y="64" width="15" height="15" fill="#d4e600" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="243" title="2024-08-30 13:00"/> -<rect x="544" y="80" width="15" height="15" fill="#d4e600" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="244" title="2024-08-31 13:00"/> -<rect x="544" y="96" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="245" title="2024-09-01 13:00"/> -<rect x="560" y="0" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="246" title="2024-09-02 13:00"/> -<rect x="560" y="16" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="247" title="2024-09-03 13:00"/> -<rect x="560" y="32" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="248" title="2024-09-04 13:00"/> -<rect x="560" y="48" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="249" title="2024-09-05 13:00"/> -<rect x="560" y="64" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="250" title="2024-09-06 13:00"/> -<rect x="560" y="80" width="15" height="15" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="251" title="2024-09-07 13:00"/> -<rect x="560" y="96" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="252" title="2024-09-08 13:00"/> -<rect x="576" y="0" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="253" title="2024-09-09 13:00"/> -<rect x="576" y="16" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="254" title="2024-09-10 13:00"/> -<rect x="576" y="32" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="255" title="2024-09-11 13:00"/> -<rect x="576" y="48" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="256" title="2024-09-12 13:00"/> -<rect x="576" y="64" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="257" title="2024-09-13 13:00"/> -<rect x="576" y="80" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="258" title="2024-09-14 13:00"/> -<rect x="576" y="96" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="259" title="2024-09-15 13:00"/> -<rect x="592" y="0" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="260" title="2024-09-16 13:00"/> -<rect x="592" y="16" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="261" title="2024-09-17 13:00"/> -<rect x="592" y="32" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="262" title="2024-09-18 13:00"/> -<rect x="592" y="48" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="263" title="2024-09-19 13:00"/> -<rect x="592" y="64" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="264" title="2024-09-20 13:00"/> -<rect x="592" y="80" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="265" title="2024-09-21 13:00"/> -<rect x="592" y="96" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="266" title="2024-09-22 13:00"/> -<rect x="608" y="0" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="267" title="2024-09-23 13:00"/> -<rect x="608" y="16" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="268" title="2024-09-24 13:00"/> -<rect x="608" y="32" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="269" title="2024-09-25 13:00"/> -<rect x="608" y="48" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="270" title="2024-09-26 13:00"/> -<rect x="608" y="64" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="271" title="2024-09-27 13:00"/> -<rect x="608" y="80" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="272" title="2024-09-28 13:00"/> -<rect x="608" y="96" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="273" title="2024-09-29 13:00"/> -<rect x="624" y="0" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="274" title="2024-09-30 13:00"/> -<rect x="624" y="16" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="275" title="2024-10-01 13:00"/> -<rect x="624" y="32" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="276" title="2024-10-02 13:00"/> -<rect x="624" y="48" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="277" title="2024-10-03 13:00"/> -<rect x="624" y="64" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="278" title="2024-10-04 13:00"/> -<rect x="624" y="80" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="279" title="2024-10-05 13:00"/> -<rect x="624" y="96" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="280" title="2024-10-06 13:00"/> -<rect x="640" y="0" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="281" title="2024-10-07 13:00"/> -<rect x="640" y="16" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="282" title="2024-10-08 13:00"/> -<rect x="640" y="32" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="283" title="2024-10-09 13:00"/> -<rect x="640" y="48" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="284" title="2024-10-10 13:00"/> -<rect x="640" y="64" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="285" title="2024-10-11 13:00"/> -<rect x="640" y="80" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="286" title="2024-10-12 13:00"/> -<rect x="640" y="96" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="287" title="2024-10-13 13:00"/> -<rect x="656" y="0" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="288" title="2024-10-14 13:00"/> -<rect x="656" y="16" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="289" title="2024-10-15 13:00"/> -<rect x="656" y="32" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="290" title="2024-10-16 13:00"/> -<rect x="656" y="48" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="291" title="2024-10-17 13:00"/> -<rect x="656" y="64" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="292" title="2024-10-18 13:00"/> -<rect x="656" y="80" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="293" title="2024-10-19 13:00"/> -<rect x="656" y="96" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="294" title="2024-10-20 13:00"/> -<rect x="672" y="0" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="295" title="2024-10-21 13:00"/> -<rect x="672" y="16" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="296" title="2024-10-22 13:00"/> -<rect x="672" y="32" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="297" title="2024-10-23 13:00"/> -<rect x="672" y="48" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="298" title="2024-10-24 13:00"/> -<rect x="672" y="64" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="299" title="2024-10-25 13:00"/> -<rect x="672" y="80" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="300" title="2024-10-26 13:00"/> -<rect x="672" y="96" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="301" title="2024-10-27 12:00"/> -<rect x="688" y="0" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="302" title="2024-10-28 12:00"/> -<rect x="688" y="16" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="303" title="2024-10-29 12:00"/> -<rect x="688" y="32" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="304" title="2024-10-30 12:00"/> -<rect x="688" y="48" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="305" title="2024-10-31 12:00"/> -<rect x="688" y="64" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="306" title="2024-11-01 12:00"/> -<rect x="688" y="80" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="307" title="2024-11-02 12:00"/> -<rect x="688" y="96" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="308" title="2024-11-03 12:00"/> -<rect x="704" y="0" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="309" title="2024-11-04 12:00"/> -<rect x="704" y="16" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="310" title="2024-11-05 12:00"/> -<rect x="704" y="32" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="311" title="2024-11-06 12:00"/> -<rect x="704" y="48" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="312" title="2024-11-07 12:00"/> -<rect x="704" y="64" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="313" title="2024-11-08 12:00"/> -<rect x="704" y="80" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="314" title="2024-11-09 12:00"/> -<rect x="704" y="96" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="315" title="2024-11-10 12:00"/> -<rect x="720" y="0" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="316" title="2024-11-11 12:00"/> -<rect x="720" y="16" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="317" title="2024-11-12 12:00"/> -<rect x="720" y="32" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="318" title="2024-11-13 12:00"/> -<rect x="720" y="48" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="319" title="2024-11-14 12:00"/> -<rect x="720" y="64" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="320" title="2024-11-15 12:00"/> -<rect x="720" y="80" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="321" title="2024-11-16 12:00"/> -<rect x="720" y="96" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="322" title="2024-11-17 12:00"/> -<rect x="736" y="0" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="323" title="2024-11-18 12:00"/> -<rect x="736" y="16" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="324" title="2024-11-19 12:00"/> -<rect x="736" y="32" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="325" title="2024-11-20 12:00"/> -<rect x="736" y="48" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="326" title="2024-11-21 12:00"/> -<rect x="736" y="64" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="327" title="2024-11-22 12:00"/> -<rect x="736" y="80" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="328" title="2024-11-23 12:00"/> -<rect x="736" y="96" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="329" title="2024-11-24 12:00"/> -<rect x="752" y="0" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="330" title="2024-11-25 12:00"/> -<rect x="752" y="16" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="331" title="2024-11-26 12:00"/> -<rect x="752" y="32" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="332" title="2024-11-27 12:00"/> -<rect x="752" y="48" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="333" title="2024-11-28 12:00"/> -<rect x="752" y="64" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="334" title="2024-11-29 12:00"/> -<rect x="752" y="80" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="335" title="2024-11-30 12:00"/> -<rect x="752" y="96" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="336" title="2024-12-01 12:00"/> -<rect x="768" y="0" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="337" title="2024-12-02 12:00"/> -<rect x="768" y="16" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="338" title="2024-12-03 12:00"/> -<rect x="768" y="32" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="339" title="2024-12-04 12:00"/> -<rect x="768" y="48" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="340" title="2024-12-05 12:00"/> -<rect x="768" y="64" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="341" title="2024-12-06 12:00"/> -<rect x="768" y="80" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="342" title="2024-12-07 12:00"/> -<rect x="768" y="96" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="343" title="2024-12-08 12:00"/> -<rect x="784" y="0" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="344" title="2024-12-09 12:00"/> -<rect x="784" y="16" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="345" title="2024-12-10 12:00"/> -<rect x="784" y="32" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="346" title="2024-12-11 12:00"/> -<rect x="784" y="48" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="347" title="2024-12-12 12:00"/> -<rect x="784" y="64" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="348" title="2024-12-13 12:00"/> -<rect x="784" y="80" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="349" title="2024-12-14 12:00"/> -<rect x="784" y="96" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="350" title="2024-12-15 12:00"/> -<rect x="800" y="0" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="351" title="2024-12-16 12:00"/> -<rect x="800" y="16" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="352" title="2024-12-17 12:00"/> -<rect x="800" y="32" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="353" title="2024-12-18 12:00"/> -<rect x="800" y="48" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="354" title="2024-12-19 12:00"/> -<rect x="800" y="64" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="355" title="2024-12-20 12:00"/> -<rect x="800" y="80" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="356" title="2024-12-21 12:00"/> -<rect x="800" y="96" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="357" title="2024-12-22 12:00"/> -<rect x="816" y="0" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="358" title="2024-12-23 12:00"/> -<rect x="816" y="16" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="359" title="2024-12-24 12:00"/> -<rect x="816" y="32" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="360" title="2024-12-25 12:00"/> -<rect x="816" y="48" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="361" title="2024-12-26 12:00"/> -<rect x="816" y="64" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="362" title="2024-12-27 12:00"/> -<rect x="816" y="80" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="363" title="2024-12-28 12:00"/> -<rect x="816" y="96" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="364" title="2024-12-29 12:00"/> -<rect x="832" y="0" width="15" height="15" fill="#373737" rx="1" stroke="#00000000" stroke-width="0.5" data-day-index="365" title="2024-12-30 12:00"/> +<svg xmlns="http://www.w3.org/2000/svg" width="468" height="63"> +<rect x="0" y="0" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-01-01"/> +<rect x="0" y="9" width="7" height="7" fill="#E5FA00" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-01-02"/> +<rect x="0" y="18" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-01-03"/> +<rect x="0" y="27" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-01-04"/> +<rect x="0" y="36" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-01-05"/> +<rect x="0" y="45" width="7" height="7" fill="#E5FA00" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-01-06"/> +<rect x="0" y="54" width="7" height="7" fill="#E5FA00" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-01-07"/> +<rect x="9" y="0" width="7" height="7" fill="#E5FA00" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-01-08"/> +<rect x="9" y="9" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-01-09"/> +<rect x="9" y="18" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-01-10"/> +<rect x="9" y="27" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-01-11"/> +<rect x="9" y="36" width="7" height="7" fill="#E5FA00" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-01-12"/> +<rect x="9" y="45" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-01-13"/> +<rect x="9" y="54" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-01-14"/> +<rect x="18" y="0" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-01-15"/> +<rect x="18" y="9" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-01-16"/> +<rect x="18" y="18" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-01-17"/> +<rect x="18" y="27" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-01-18"/> +<rect x="18" y="36" width="7" height="7" fill="#E5FA00" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-01-19"/> +<rect x="18" y="45" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-01-20"/> +<rect x="18" y="54" width="7" height="7" fill="#E5FA00" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-01-21"/> +<rect x="27" y="0" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-01-22"/> +<rect x="27" y="9" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-01-23"/> +<rect x="27" y="18" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-01-24"/> +<rect x="27" y="27" width="7" height="7" fill="#E5FA00" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-01-25"/> +<rect x="27" y="36" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-01-26"/> +<rect x="27" y="45" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-01-27"/> +<rect x="27" y="54" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-01-28"/> +<rect x="36" y="0" width="7" height="7" fill="#E5FA00" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-01-29"/> +<rect x="36" y="9" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-01-30"/> +<rect x="36" y="18" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-01-31"/> +<rect x="36" y="27" width="7" height="7" fill="#E5FA00" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-02-01"/> +<rect x="36" y="36" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-02-02"/> +<rect x="36" y="45" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-02-03"/> +<rect x="36" y="54" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-02-04"/> +<rect x="45" y="0" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-02-05"/> +<rect x="45" y="9" width="7" height="7" fill="#E5FA00" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-02-06"/> +<rect x="45" y="18" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-02-07"/> +<rect x="45" y="27" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-02-08"/> +<rect x="45" y="36" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-02-09"/> +<rect x="45" y="45" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-02-10"/> +<rect x="45" y="54" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-02-11"/> +<rect x="54" y="0" width="7" height="7" fill="#E5FA00" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-02-12"/> +<rect x="54" y="9" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-02-13"/> +<rect x="54" y="18" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-02-14"/> +<rect x="54" y="27" width="7" height="7" fill="#FFB700" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-02-15"/> +<rect x="54" y="36" width="7" height="7" fill="#E5FA00" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-02-16"/> +<rect x="54" y="45" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-02-17"/> +<rect x="54" y="54" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-02-18"/> +<rect x="63" y="0" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-02-19"/> +<rect x="63" y="9" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-02-20"/> +<rect x="63" y="18" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-02-21"/> +<rect x="63" y="27" width="7" height="7" fill="#E5FA00" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-02-22"/> +<rect x="63" y="36" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-02-23"/> +<rect x="63" y="45" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-02-24"/> +<rect x="63" y="54" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-02-25"/> +<rect x="72" y="0" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-02-26"/> +<rect x="72" y="9" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-02-27"/> +<rect x="72" y="18" width="7" height="7" fill="#E5FA00" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-02-28"/> +<rect x="72" y="27" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-02-29"/> +<rect x="72" y="36" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-03-01"/> +<rect x="72" y="45" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-03-02"/> +<rect x="72" y="54" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-03-03"/> +<rect x="81" y="0" width="7" height="7" fill="#E5FA00" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-03-04"/> +<rect x="81" y="9" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-03-05"/> +<rect x="81" y="18" width="7" height="7" fill="#E5FA00" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-03-06"/> +<rect x="81" y="27" width="7" height="7" fill="#FFB700" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-03-07"/> +<rect x="81" y="36" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-03-08"/> +<rect x="81" y="45" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-03-09"/> +<rect x="81" y="54" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-03-10"/> +<rect x="90" y="0" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-03-11"/> +<rect x="90" y="9" width="7" height="7" fill="#E5FA00" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-03-12"/> +<rect x="90" y="18" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-03-13"/> +<rect x="90" y="27" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-03-14"/> +<rect x="90" y="36" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-03-15"/> +<rect x="90" y="45" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-03-16"/> +<rect x="90" y="54" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-03-17"/> +<rect x="99" y="0" width="7" height="7" fill="#E5FA00" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-03-18"/> +<rect x="99" y="9" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-03-19"/> +<rect x="99" y="18" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-03-20"/> +<rect x="99" y="27" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-03-21"/> +<rect x="99" y="36" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-03-22"/> +<rect x="99" y="45" width="7" height="7" fill="#E5FA00" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-03-23"/> +<rect x="99" y="54" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-03-24"/> +<rect x="108" y="0" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-03-25"/> +<rect x="108" y="9" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-03-26"/> +<rect x="108" y="18" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-03-27"/> +<rect x="108" y="27" width="7" height="7" fill="#E5FA00" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-03-28"/> +<rect x="108" y="36" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-03-29"/> +<rect x="108" y="45" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-03-30"/> +<rect x="108" y="54" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-03-31"/> +<rect x="117" y="0" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-04-01"/> +<rect x="117" y="9" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-04-02"/> +<rect x="117" y="18" width="7" height="7" fill="#E5FA00" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-04-03"/> +<rect x="117" y="27" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-04-04"/> +<rect x="117" y="36" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-04-05"/> +<rect x="117" y="45" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-04-06"/> +<rect x="117" y="54" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-04-07"/> +<rect x="126" y="0" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-04-08"/> +<rect x="126" y="9" width="7" height="7" fill="#FFB700" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-04-09"/> +<rect x="126" y="18" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-04-10"/> +<rect x="126" y="27" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-04-11"/> +<rect x="126" y="36" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-04-12"/> +<rect x="126" y="45" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-04-13"/> +<rect x="126" y="54" width="7" height="7" fill="#E5FA00" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-04-14"/> +<rect x="135" y="0" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-04-15"/> +<rect x="135" y="9" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-04-16"/> +<rect x="135" y="18" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-04-17"/> +<rect x="135" y="27" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-04-18"/> +<rect x="135" y="36" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-04-19"/> +<rect x="135" y="45" width="7" height="7" fill="#E5FA00" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-04-20"/> +<rect x="135" y="54" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-04-21"/> +<rect x="144" y="0" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-04-22"/> +<rect x="144" y="9" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-04-23"/> +<rect x="144" y="18" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-04-24"/> +<rect x="144" y="27" width="7" height="7" fill="#E5FA00" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-04-25"/> +<rect x="144" y="36" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-04-26"/> +<rect x="144" y="45" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-04-27"/> +<rect x="144" y="54" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-04-28"/> +<rect x="153" y="0" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-04-29"/> +<rect x="153" y="9" width="7" height="7" fill="#E5FA00" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-04-30"/> +<rect x="153" y="18" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-05-01"/> +<rect x="153" y="27" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-05-02"/> +<rect x="153" y="36" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-05-03"/> +<rect x="153" y="45" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-05-04"/> +<rect x="153" y="54" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-05-05"/> +<rect x="162" y="0" width="7" height="7" fill="#E5FA00" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-05-06"/> +<rect x="162" y="9" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-05-07"/> +<rect x="162" y="18" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-05-08"/> +<rect x="162" y="27" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-05-09"/> +<rect x="162" y="36" width="7" height="7" fill="#FFB700" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-05-10"/> +<rect x="162" y="45" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-05-11"/> +<rect x="162" y="54" width="7" height="7" fill="#E5FA00" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-05-12"/> +<rect x="171" y="0" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-05-13"/> +<rect x="171" y="9" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-05-14"/> +<rect x="171" y="18" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-05-15"/> +<rect x="171" y="27" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-05-16"/> +<rect x="171" y="36" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-05-17"/> +<rect x="171" y="45" width="7" height="7" fill="#E5FA00" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-05-18"/> +<rect x="171" y="54" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-05-19"/> +<rect x="180" y="0" width="7" height="7" fill="#E5FA00" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-05-20"/> +<rect x="180" y="9" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-05-21"/> +<rect x="180" y="18" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-05-22"/> +<rect x="180" y="27" width="7" height="7" fill="#E5FA00" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-05-23"/> +<rect x="180" y="36" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-05-24"/> +<rect x="180" y="45" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-05-25"/> +<rect x="180" y="54" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-05-26"/> +<rect x="189" y="0" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-05-27"/> +<rect x="189" y="9" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-05-28"/> +<rect x="189" y="18" width="7" height="7" fill="#E5FA00" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-05-29"/> +<rect x="189" y="27" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-05-30"/> +<rect x="189" y="36" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-05-31"/> +<rect x="189" y="45" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-06-01"/> +<rect x="189" y="54" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-06-02"/> +<rect x="198" y="0" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-06-03"/> +<rect x="198" y="9" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-06-04"/> +<rect x="198" y="18" width="7" height="7" fill="#E5FA00" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-06-05"/> +<rect x="198" y="27" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-06-06"/> +<rect x="198" y="36" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-06-07"/> +<rect x="198" y="45" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-06-08"/> +<rect x="198" y="54" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-06-09"/> +<rect x="207" y="0" width="7" height="7" fill="#E5FA00" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-06-10"/> +<rect x="207" y="9" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-06-11"/> +<rect x="207" y="18" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-06-12"/> +<rect x="207" y="27" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-06-13"/> +<rect x="207" y="36" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-06-14"/> +<rect x="207" y="45" width="7" height="7" fill="#E5FA00" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-06-15"/> +<rect x="207" y="54" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-06-16"/> +<rect x="216" y="0" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-06-17"/> +<rect x="216" y="9" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-06-18"/> +<rect x="216" y="18" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-06-19"/> +<rect x="216" y="27" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-06-20"/> +<rect x="216" y="36" width="7" height="7" fill="#E5FA00" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-06-21"/> +<rect x="216" y="45" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-06-22"/> +<rect x="216" y="54" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-06-23"/> +<rect x="225" y="0" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-06-24"/> +<rect x="225" y="9" width="7" height="7" fill="#FFB700" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-06-25"/> +<rect x="225" y="18" width="7" height="7" fill="#E5FA00" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-06-26"/> +<rect x="225" y="27" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-06-27"/> +<rect x="225" y="36" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-06-28"/> +<rect x="225" y="45" width="7" height="7" fill="#E5FA00" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-06-29"/> +<rect x="225" y="54" width="7" height="7" fill="#E5FA00" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-06-30"/> +<rect x="234" y="0" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-07-01"/> +<rect x="234" y="9" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-07-02"/> +<rect x="234" y="18" width="7" height="7" fill="#E5FA00" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-07-03"/> +<rect x="234" y="27" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-07-04"/> +<rect x="234" y="36" width="7" height="7" fill="#FFB700" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-07-05"/> +<rect x="234" y="45" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-07-06"/> +<rect x="234" y="54" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-07-07"/> +<rect x="243" y="0" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-07-08"/> +<rect x="243" y="9" width="7" height="7" fill="#E5FA00" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-07-09"/> +<rect x="243" y="18" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-07-10"/> +<rect x="243" y="27" width="7" height="7" fill="#FFB700" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-07-11"/> +<rect x="243" y="36" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-07-12"/> +<rect x="243" y="45" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-07-13"/> +<rect x="243" y="54" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-07-14"/> +<rect x="252" y="0" width="7" height="7" fill="#FFB700" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-07-15"/> +<rect x="252" y="9" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-07-16"/> +<rect x="252" y="18" width="7" height="7" fill="#FFB700" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-07-17"/> +<rect x="252" y="27" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-07-18"/> +<rect x="252" y="36" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-07-19"/> +<rect x="252" y="45" width="7" height="7" fill="#E5FA00" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-07-20"/> +<rect x="252" y="54" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-07-21"/> +<rect x="261" y="0" width="7" height="7" fill="#E5FA00" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-07-22"/> +<rect x="261" y="9" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-07-23"/> +<rect x="261" y="18" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-07-24"/> +<rect x="261" y="27" width="7" height="7" fill="#E5FA00" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-07-25"/> +<rect x="261" y="36" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-07-26"/> +<rect x="261" y="45" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-07-27"/> +<rect x="261" y="54" width="7" height="7" fill="#FFB700" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-07-28"/> +<rect x="270" y="0" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-07-29"/> +<rect x="270" y="9" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-07-30"/> +<rect x="270" y="18" width="7" height="7" fill="#FFB700" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-07-31"/> +<rect x="270" y="27" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-08-01"/> +<rect x="270" y="36" width="7" height="7" fill="#FFB700" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-08-02"/> +<rect x="270" y="45" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-08-03"/> +<rect x="270" y="54" width="7" height="7" fill="#FFB700" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-08-04"/> +<rect x="279" y="0" width="7" height="7" fill="#E5FA00" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-08-05"/> +<rect x="279" y="9" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-08-06"/> +<rect x="279" y="18" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-08-07"/> +<rect x="279" y="27" width="7" height="7" fill="#E5FA00" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-08-08"/> +<rect x="279" y="36" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-08-09"/> +<rect x="279" y="45" width="7" height="7" fill="#E5FA00" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-08-10"/> +<rect x="279" y="54" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-08-11"/> +<rect x="288" y="0" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-08-12"/> +<rect x="288" y="9" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-08-13"/> +<rect x="288" y="18" width="7" height="7" fill="#E5FA00" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-08-14"/> +<rect x="288" y="27" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-08-15"/> +<rect x="288" y="36" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-08-16"/> +<rect x="288" y="45" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-08-17"/> +<rect x="288" y="54" width="7" height="7" fill="#E5FA00" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-08-18"/> +<rect x="297" y="0" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-08-19"/> +<rect x="297" y="9" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-08-20"/> +<rect x="297" y="18" width="7" height="7" fill="#FFB700" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-08-21"/> +<rect x="297" y="27" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-08-22"/> +<rect x="297" y="36" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-08-23"/> +<rect x="297" y="45" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-08-24"/> +<rect x="297" y="54" width="7" height="7" fill="#E5FA00" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-08-25"/> +<rect x="306" y="0" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-08-26"/> +<rect x="306" y="9" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-08-27"/> +<rect x="306" y="18" width="7" height="7" fill="#FFB700" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-08-28"/> +<rect x="306" y="27" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-08-29"/> +<rect x="306" y="36" width="7" height="7" fill="#E5FA00" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-08-30"/> +<rect x="306" y="45" width="7" height="7" fill="#E5FA00" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-08-31"/> +<rect x="306" y="54" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-09-01"/> +<rect x="315" y="0" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-09-02"/> +<rect x="315" y="9" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-09-03"/> +<rect x="315" y="18" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-09-04"/> +<rect x="315" y="27" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-09-05"/> +<rect x="315" y="36" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-09-06"/> +<rect x="315" y="45" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-09-07"/> +<rect x="315" y="54" width="7" height="7" fill="#00EF5C" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-09-08"/> +<rect x="324" y="0" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-09-09"/> +<rect x="324" y="9" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-09-10"/> +<rect x="324" y="18" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-09-11"/> +<rect x="324" y="27" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-09-12"/> +<rect x="324" y="36" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-09-13"/> +<rect x="324" y="45" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-09-14"/> +<rect x="324" y="54" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-09-15"/> +<rect x="333" y="0" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-09-16"/> +<rect x="333" y="9" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-09-17"/> +<rect x="333" y="18" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-09-18"/> +<rect x="333" y="27" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-09-19"/> +<rect x="333" y="36" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-09-20"/> +<rect x="333" y="45" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-09-21"/> +<rect x="333" y="54" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-09-22"/> +<rect x="342" y="0" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-09-23"/> +<rect x="342" y="9" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-09-24"/> +<rect x="342" y="18" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-09-25"/> +<rect x="342" y="27" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-09-26"/> +<rect x="342" y="36" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-09-27"/> +<rect x="342" y="45" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-09-28"/> +<rect x="342" y="54" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-09-29"/> +<rect x="351" y="0" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-09-30"/> +<rect x="351" y="9" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-10-01"/> +<rect x="351" y="18" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-10-02"/> +<rect x="351" y="27" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-10-03"/> +<rect x="351" y="36" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-10-04"/> +<rect x="351" y="45" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-10-05"/> +<rect x="351" y="54" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-10-06"/> +<rect x="360" y="0" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-10-07"/> +<rect x="360" y="9" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-10-08"/> +<rect x="360" y="18" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-10-09"/> +<rect x="360" y="27" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-10-10"/> +<rect x="360" y="36" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-10-11"/> +<rect x="360" y="45" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-10-12"/> +<rect x="360" y="54" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-10-13"/> +<rect x="369" y="0" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-10-14"/> +<rect x="369" y="9" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-10-15"/> +<rect x="369" y="18" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-10-16"/> +<rect x="369" y="27" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-10-17"/> +<rect x="369" y="36" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-10-18"/> +<rect x="369" y="45" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-10-19"/> +<rect x="369" y="54" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-10-20"/> +<rect x="378" y="0" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-10-21"/> +<rect x="378" y="9" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-10-22"/> +<rect x="378" y="18" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-10-23"/> +<rect x="378" y="27" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-10-24"/> +<rect x="378" y="36" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-10-25"/> +<rect x="378" y="45" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-10-26"/> +<rect x="378" y="54" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-10-27"/> +<rect x="387" y="0" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-10-28"/> +<rect x="387" y="9" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-10-29"/> +<rect x="387" y="18" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-10-30"/> +<rect x="387" y="27" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-10-31"/> +<rect x="387" y="36" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-11-01"/> +<rect x="387" y="45" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-11-02"/> +<rect x="387" y="54" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-11-03"/> +<rect x="396" y="0" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-11-04"/> +<rect x="396" y="9" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-11-05"/> +<rect x="396" y="18" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-11-06"/> +<rect x="396" y="27" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-11-07"/> +<rect x="396" y="36" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-11-08"/> +<rect x="396" y="45" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-11-09"/> +<rect x="396" y="54" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-11-10"/> +<rect x="405" y="0" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-11-11"/> +<rect x="405" y="9" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-11-12"/> +<rect x="405" y="18" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-11-13"/> +<rect x="405" y="27" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-11-14"/> +<rect x="405" y="36" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-11-15"/> +<rect x="405" y="45" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-11-16"/> +<rect x="405" y="54" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-11-17"/> +<rect x="414" y="0" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-11-18"/> +<rect x="414" y="9" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-11-19"/> +<rect x="414" y="18" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-11-20"/> +<rect x="414" y="27" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-11-21"/> +<rect x="414" y="36" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-11-22"/> +<rect x="414" y="45" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-11-23"/> +<rect x="414" y="54" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-11-24"/> +<rect x="423" y="0" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-11-25"/> +<rect x="423" y="9" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-11-26"/> +<rect x="423" y="18" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-11-27"/> +<rect x="423" y="27" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-11-28"/> +<rect x="423" y="36" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-11-29"/> +<rect x="423" y="45" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-11-30"/> +<rect x="423" y="54" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-12-01"/> +<rect x="432" y="0" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-12-02"/> +<rect x="432" y="9" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-12-03"/> +<rect x="432" y="18" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-12-04"/> +<rect x="432" y="27" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-12-05"/> +<rect x="432" y="36" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-12-06"/> +<rect x="432" y="45" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-12-07"/> +<rect x="432" y="54" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-12-08"/> +<rect x="441" y="0" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-12-09"/> +<rect x="441" y="9" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-12-10"/> +<rect x="441" y="18" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-12-11"/> +<rect x="441" y="27" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-12-12"/> +<rect x="441" y="36" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-12-13"/> +<rect x="441" y="45" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-12-14"/> +<rect x="441" y="54" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-12-15"/> +<rect x="450" y="0" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-12-16"/> +<rect x="450" y="9" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-12-17"/> +<rect x="450" y="18" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-12-18"/> +<rect x="450" y="27" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-12-19"/> +<rect x="450" y="36" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-12-20"/> +<rect x="450" y="45" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-12-21"/> +<rect x="450" y="54" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-12-22"/> +<rect x="459" y="0" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-12-23"/> +<rect x="459" y="9" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-12-24"/> +<rect x="459" y="18" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-12-25"/> +<rect x="459" y="27" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-12-26"/> +<rect x="459" y="36" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-12-27"/> +<rect x="459" y="45" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-12-28"/> +<rect x="459" y="54" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-12-29"/> +<rect x="468" y="0" width="7" height="7" fill="#7676761f" rx="1" stroke="#00000000" stroke-width="0.5" title="2024-12-30"/> </svg> \ No newline at end of file diff --git a/www/skins/static/reset.css b/www/skins/static/reset.css index 9b6e153..83de7bc 100644 --- a/www/skins/static/reset.css +++ b/www/skins/static/reset.css @@ -24,11 +24,6 @@ table, caption, tbody, tfoot, thead, tr, th, td { :focus { outline: 0; } -body { - line-height: 1; - color: black; - background: white; -} ol, ul { list-style: none; } -- GitLab