From 27678e91bc86533211567b0f8ccf5f0cb30bc39a Mon Sep 17 00:00:00 2001 From: ChuckBuilds <33324927+ChuckBuilds@users.noreply.github.com> Date: Thu, 17 Apr 2025 17:20:27 -0500 Subject: [PATCH] feat: Update weather icons to use basmilius PNG set --- assets/weather/alert-avalanche-danger.png | Bin 0 -> 266 bytes assets/weather/alert-falling-rocks.png | Bin 0 -> 273 bytes assets/weather/barometer.png | Bin 0 -> 356 bytes assets/weather/beanie.png | Bin 0 -> 276 bytes assets/weather/celsius.png | Bin 0 -> 193 bytes assets/weather/clear-day.png | Bin 0 -> 266 bytes assets/weather/clear-night.png | Bin 0 -> 334 bytes assets/weather/cloud-down.png | Bin 0 -> 354 bytes assets/weather/cloud-up.png | Bin 0 -> 354 bytes assets/weather/cloudy.png | Bin 0 -> 332 bytes assets/weather/code-green.png | Bin 0 -> 337 bytes assets/weather/code-orange.png | Bin 0 -> 322 bytes assets/weather/code-red.png | Bin 0 -> 334 bytes assets/weather/code-yellow.png | Bin 0 -> 324 bytes assets/weather/compass.png | Bin 0 -> 298 bytes assets/weather/drizzle.png | Bin 0 -> 361 bytes assets/weather/dust-day.png | Bin 0 -> 305 bytes assets/weather/dust-night.png | Bin 0 -> 289 bytes assets/weather/dust-wind.png | Bin 0 -> 339 bytes assets/weather/dust.png | Bin 0 -> 316 bytes assets/weather/extreme-day-drizzle.png | Bin 0 -> 467 bytes assets/weather/extreme-day-fog.png | Bin 0 -> 470 bytes assets/weather/extreme-day-hail.png | Bin 0 -> 469 bytes assets/weather/extreme-day-haze.png | Bin 0 -> 529 bytes assets/weather/extreme-day-rain.png | Bin 0 -> 491 bytes assets/weather/extreme-day-sleet.png | Bin 0 -> 503 bytes assets/weather/extreme-day-smoke.png | Bin 0 -> 585 bytes assets/weather/extreme-day-snow.png | Bin 0 -> 481 bytes assets/weather/extreme-day.png | Bin 0 -> 442 bytes assets/weather/extreme-drizzle.png | Bin 0 -> 412 bytes assets/weather/extreme-fog.png | Bin 0 -> 417 bytes assets/weather/extreme-hail.png | Bin 0 -> 416 bytes assets/weather/extreme-haze.png | Bin 0 -> 471 bytes assets/weather/extreme-night-drizzle.png | Bin 0 -> 447 bytes assets/weather/extreme-night-fog.png | Bin 0 -> 452 bytes assets/weather/extreme-night-hail.png | Bin 0 -> 451 bytes assets/weather/extreme-night-haze.png | Bin 0 -> 512 bytes assets/weather/extreme-night-rain.png | Bin 0 -> 472 bytes assets/weather/extreme-night-sleet.png | Bin 0 -> 483 bytes assets/weather/extreme-night-smoke.png | Bin 0 -> 570 bytes assets/weather/extreme-night-snow.png | Bin 0 -> 463 bytes assets/weather/extreme-night.png | Bin 0 -> 425 bytes assets/weather/extreme-rain.png | Bin 0 -> 437 bytes assets/weather/extreme-sleet.png | Bin 0 -> 448 bytes assets/weather/extreme-smoke.png | Bin 0 -> 530 bytes assets/weather/extreme-snow.png | Bin 0 -> 427 bytes assets/weather/extreme.png | Bin 0 -> 385 bytes assets/weather/fahrenheit.png | Bin 0 -> 174 bytes assets/weather/falling-stars.png | Bin 0 -> 407 bytes assets/weather/flag-gale-warning.png | Bin 0 -> 300 bytes assets/weather/flag-hurricane-warning.png | Bin 0 -> 310 bytes assets/weather/flag-small-craft-advisory.png | Bin 0 -> 251 bytes assets/weather/flag-storm-warning.png | Bin 0 -> 234 bytes assets/weather/fog-day.png | Bin 0 -> 293 bytes assets/weather/fog-night.png | Bin 0 -> 289 bytes assets/weather/fog.png | Bin 0 -> 365 bytes assets/weather/glove.png | Bin 0 -> 303 bytes assets/weather/hail.png | Bin 0 -> 365 bytes assets/weather/haze-day.png | Bin 0 -> 360 bytes assets/weather/haze-night.png | Bin 0 -> 357 bytes assets/weather/haze.png | Bin 0 -> 413 bytes assets/weather/horizon.png | Bin 0 -> 295 bytes assets/weather/humidity.png | Bin 0 -> 293 bytes assets/weather/hurricane.png | Bin 0 -> 336 bytes assets/weather/lightning-bolt.png | Bin 0 -> 189 bytes assets/weather/mist.png | Bin 0 -> 205 bytes assets/weather/moon-first-quarter.png | Bin 0 -> 414 bytes assets/weather/moon-full.png | Bin 0 -> 333 bytes assets/weather/moon-last-quarter.png | Bin 0 -> 408 bytes assets/weather/moon-new.png | Bin 0 -> 328 bytes assets/weather/moon-waning-crescent.png | Bin 0 -> 407 bytes assets/weather/moon-waning-gibbous.png | Bin 0 -> 394 bytes assets/weather/moon-waxing-crescent.png | Bin 0 -> 404 bytes assets/weather/moon-waxing-gibbous.png | Bin 0 -> 399 bytes assets/weather/moonrise.png | Bin 0 -> 315 bytes assets/weather/moonset.png | Bin 0 -> 318 bytes assets/weather/not-available.png | Bin 0 -> 179 bytes assets/weather/overcast-day-drizzle.png | Bin 0 -> 467 bytes assets/weather/overcast-day-fog.png | Bin 0 -> 470 bytes assets/weather/overcast-day-hail.png | Bin 0 -> 469 bytes assets/weather/overcast-day-haze.png | Bin 0 -> 529 bytes assets/weather/overcast-day-rain.png | Bin 0 -> 491 bytes assets/weather/overcast-day-sleet.png | Bin 0 -> 503 bytes assets/weather/overcast-day-smoke.png | Bin 0 -> 582 bytes assets/weather/overcast-day-snow.png | Bin 0 -> 481 bytes assets/weather/overcast-day.png | Bin 0 -> 440 bytes assets/weather/overcast-drizzle.png | Bin 0 -> 413 bytes assets/weather/overcast-fog.png | Bin 0 -> 416 bytes assets/weather/overcast-hail.png | Bin 0 -> 415 bytes assets/weather/overcast-haze.png | Bin 0 -> 471 bytes assets/weather/overcast-night-drizzle.png | Bin 0 -> 444 bytes assets/weather/overcast-night-fog.png | Bin 0 -> 449 bytes assets/weather/overcast-night-hail.png | Bin 0 -> 448 bytes assets/weather/overcast-night-haze.png | Bin 0 -> 508 bytes assets/weather/overcast-night-rain.png | Bin 0 -> 468 bytes assets/weather/overcast-night-sleet.png | Bin 0 -> 480 bytes assets/weather/overcast-night-smoke.png | Bin 0 -> 556 bytes assets/weather/overcast-night-snow.png | Bin 0 -> 459 bytes assets/weather/overcast-night.png | Bin 0 -> 421 bytes assets/weather/overcast-rain.png | Bin 0 -> 437 bytes assets/weather/overcast-sleet.png | Bin 0 -> 448 bytes assets/weather/overcast-smoke.png | Bin 0 -> 526 bytes assets/weather/overcast-snow.png | Bin 0 -> 427 bytes assets/weather/overcast.png | Bin 0 -> 385 bytes assets/weather/partly-cloudy-day-drizzle.png | Bin 0 -> 402 bytes assets/weather/partly-cloudy-day-fog.png | Bin 0 -> 405 bytes assets/weather/partly-cloudy-day-hail.png | Bin 0 -> 406 bytes assets/weather/partly-cloudy-day-haze.png | Bin 0 -> 459 bytes assets/weather/partly-cloudy-day-rain.png | Bin 0 -> 430 bytes assets/weather/partly-cloudy-day-sleet.png | Bin 0 -> 439 bytes assets/weather/partly-cloudy-day-smoke.png | Bin 0 -> 531 bytes assets/weather/partly-cloudy-day-snow.png | Bin 0 -> 419 bytes assets/weather/partly-cloudy-day.png | Bin 0 -> 364 bytes .../weather/partly-cloudy-night-drizzle.png | Bin 0 -> 404 bytes assets/weather/partly-cloudy-night-fog.png | Bin 0 -> 401 bytes assets/weather/partly-cloudy-night-hail.png | Bin 0 -> 407 bytes assets/weather/partly-cloudy-night-haze.png | Bin 0 -> 455 bytes assets/weather/partly-cloudy-night-rain.png | Bin 0 -> 429 bytes assets/weather/partly-cloudy-night-sleet.png | Bin 0 -> 440 bytes assets/weather/partly-cloudy-night-smoke.png | Bin 0 -> 531 bytes assets/weather/partly-cloudy-night-snow.png | Bin 0 -> 420 bytes assets/weather/partly-cloudy-night.png | Bin 0 -> 379 bytes assets/weather/pollen-flower.png | Bin 0 -> 268 bytes assets/weather/pollen-grass.png | Bin 0 -> 243 bytes assets/weather/pollen-tree.png | Bin 0 -> 302 bytes assets/weather/pollen.png | Bin 0 -> 168 bytes assets/weather/pressure-high-alt.png | Bin 0 -> 137 bytes assets/weather/pressure-high.png | Bin 0 -> 154 bytes assets/weather/pressure-low-alt.png | Bin 0 -> 140 bytes assets/weather/pressure-low.png | Bin 0 -> 154 bytes assets/weather/rain.png | Bin 0 -> 387 bytes assets/weather/rainbow-clear.png | Bin 0 -> 433 bytes assets/weather/rainbow.png | Bin 0 -> 377 bytes assets/weather/raindrop-measure.png | Bin 0 -> 374 bytes assets/weather/raindrop.png | Bin 0 -> 256 bytes assets/weather/raindrops.png | Bin 0 -> 343 bytes assets/weather/sleet.png | Bin 0 -> 398 bytes assets/weather/smoke-particles.png | Bin 0 -> 274 bytes assets/weather/smoke.png | Bin 0 -> 490 bytes assets/weather/snow.png | Bin 0 -> 376 bytes assets/weather/snowflake.png | Bin 0 -> 426 bytes assets/weather/snowman.png | Bin 0 -> 342 bytes assets/weather/solar-eclipse.png | Bin 0 -> 418 bytes assets/weather/star.png | Bin 0 -> 343 bytes assets/weather/starry-night.png | Bin 0 -> 378 bytes assets/weather/sun-hot.png | Bin 0 -> 382 bytes assets/weather/sunrise.png | Bin 0 -> 318 bytes assets/weather/sunset.png | Bin 0 -> 320 bytes assets/weather/thermometer-celsius.png | Bin 0 -> 314 bytes assets/weather/thermometer-colder.png | Bin 0 -> 296 bytes assets/weather/thermometer-fahrenheit.png | Bin 0 -> 302 bytes assets/weather/thermometer-glass-celsius.png | Bin 0 -> 285 bytes .../weather/thermometer-glass-fahrenheit.png | Bin 0 -> 274 bytes assets/weather/thermometer-glass.png | Bin 0 -> 239 bytes assets/weather/thermometer-mercury-cold.png | Bin 0 -> 140 bytes assets/weather/thermometer-mercury.png | Bin 0 -> 138 bytes assets/weather/thermometer-moon.png | Bin 0 -> 328 bytes assets/weather/thermometer-raindrop.png | Bin 0 -> 363 bytes assets/weather/thermometer-snow.png | Bin 0 -> 363 bytes assets/weather/thermometer-sun.png | Bin 0 -> 353 bytes assets/weather/thermometer-warmer.png | Bin 0 -> 298 bytes assets/weather/thermometer-water.png | Bin 0 -> 312 bytes assets/weather/thermometer.png | Bin 0 -> 264 bytes .../thunderstorms-day-extreme-rain.png | Bin 0 -> 520 bytes .../thunderstorms-day-extreme-snow.png | Bin 0 -> 524 bytes assets/weather/thunderstorms-day-extreme.png | Bin 0 -> 499 bytes .../thunderstorms-day-overcast-rain.png | Bin 0 -> 520 bytes .../thunderstorms-day-overcast-snow.png | Bin 0 -> 524 bytes assets/weather/thunderstorms-day-overcast.png | Bin 0 -> 499 bytes assets/weather/thunderstorms-day-rain.png | Bin 0 -> 460 bytes assets/weather/thunderstorms-day-snow.png | Bin 0 -> 463 bytes assets/weather/thunderstorms-day.png | Bin 0 -> 438 bytes assets/weather/thunderstorms-extreme-rain.png | Bin 0 -> 467 bytes assets/weather/thunderstorms-extreme-snow.png | Bin 0 -> 470 bytes assets/weather/thunderstorms-extreme.png | Bin 0 -> 445 bytes .../thunderstorms-night-extreme-rain.png | Bin 0 -> 500 bytes .../thunderstorms-night-extreme-snow.png | Bin 0 -> 505 bytes .../weather/thunderstorms-night-extreme.png | Bin 0 -> 480 bytes .../thunderstorms-night-overcast-rain.png | Bin 0 -> 497 bytes .../thunderstorms-night-overcast-snow.png | Bin 0 -> 502 bytes .../weather/thunderstorms-night-overcast.png | Bin 0 -> 477 bytes assets/weather/thunderstorms-night-rain.png | Bin 0 -> 460 bytes assets/weather/thunderstorms-night-snow.png | Bin 0 -> 463 bytes assets/weather/thunderstorms-night.png | Bin 0 -> 437 bytes .../weather/thunderstorms-overcast-rain.png | Bin 0 -> 467 bytes .../weather/thunderstorms-overcast-snow.png | Bin 0 -> 470 bytes assets/weather/thunderstorms-overcast.png | Bin 0 -> 444 bytes assets/weather/thunderstorms-rain.png | Bin 0 -> 418 bytes assets/weather/thunderstorms-snow.png | Bin 0 -> 420 bytes assets/weather/thunderstorms.png | Bin 0 -> 395 bytes assets/weather/tide-high.png | Bin 0 -> 266 bytes assets/weather/tide-low.png | Bin 0 -> 266 bytes assets/weather/time-afternoon.png | Bin 0 -> 438 bytes assets/weather/time-evening.png | Bin 0 -> 296 bytes assets/weather/time-late-afternoon.png | Bin 0 -> 400 bytes assets/weather/time-late-evening.png | Bin 0 -> 361 bytes assets/weather/time-late-morning.png | Bin 0 -> 358 bytes assets/weather/time-late-night.png | Bin 0 -> 312 bytes assets/weather/time-morning.png | Bin 0 -> 304 bytes assets/weather/time-night.png | Bin 0 -> 358 bytes assets/weather/tornado.png | Bin 0 -> 226 bytes assets/weather/umbrella-wind-alt.png | Bin 0 -> 321 bytes assets/weather/umbrella-wind.png | Bin 0 -> 328 bytes assets/weather/umbrella.png | Bin 0 -> 232 bytes assets/weather/uv-index-1.png | Bin 0 -> 337 bytes assets/weather/uv-index-10.png | Bin 0 -> 345 bytes assets/weather/uv-index-11.png | Bin 0 -> 342 bytes assets/weather/uv-index-2.png | Bin 0 -> 338 bytes assets/weather/uv-index-3.png | Bin 0 -> 337 bytes assets/weather/uv-index-4.png | Bin 0 -> 340 bytes assets/weather/uv-index-5.png | Bin 0 -> 334 bytes assets/weather/uv-index-6.png | Bin 0 -> 330 bytes assets/weather/uv-index-7.png | Bin 0 -> 340 bytes assets/weather/uv-index-8.png | Bin 0 -> 334 bytes assets/weather/uv-index-9.png | Bin 0 -> 330 bytes assets/weather/uv-index.png | Bin 0 -> 328 bytes assets/weather/wind-alert.png | Bin 0 -> 290 bytes assets/weather/wind-beaufort-0.png | Bin 0 -> 281 bytes assets/weather/wind-beaufort-1.png | Bin 0 -> 287 bytes assets/weather/wind-beaufort-10.png | Bin 0 -> 307 bytes assets/weather/wind-beaufort-11.png | Bin 0 -> 300 bytes assets/weather/wind-beaufort-12.png | Bin 0 -> 309 bytes assets/weather/wind-beaufort-2.png | Bin 0 -> 281 bytes assets/weather/wind-beaufort-3.png | Bin 0 -> 285 bytes assets/weather/wind-beaufort-4.png | Bin 0 -> 290 bytes assets/weather/wind-beaufort-5.png | Bin 0 -> 285 bytes assets/weather/wind-beaufort-6.png | Bin 0 -> 286 bytes assets/weather/wind-beaufort-7.png | Bin 0 -> 281 bytes assets/weather/wind-beaufort-8.png | Bin 0 -> 282 bytes assets/weather/wind-beaufort-9.png | Bin 0 -> 285 bytes assets/weather/wind-offshore.png | Bin 0 -> 465 bytes assets/weather/wind-onshore.png | Bin 0 -> 467 bytes assets/weather/wind-snow.png | Bin 0 -> 309 bytes assets/weather/wind.png | Bin 0 -> 261 bytes assets/weather/windsock-weak.png | Bin 0 -> 224 bytes assets/weather/windsock.png | Bin 0 -> 214 bytes src/weather_icons.py | 117 ++++++++++++++---- src/weather_manager.py | 10 +- 238 files changed, 99 insertions(+), 28 deletions(-) create mode 100644 assets/weather/alert-avalanche-danger.png create mode 100644 assets/weather/alert-falling-rocks.png create mode 100644 assets/weather/barometer.png create mode 100644 assets/weather/beanie.png create mode 100644 assets/weather/celsius.png create mode 100644 assets/weather/clear-day.png create mode 100644 assets/weather/clear-night.png create mode 100644 assets/weather/cloud-down.png create mode 100644 assets/weather/cloud-up.png create mode 100644 assets/weather/cloudy.png create mode 100644 assets/weather/code-green.png create mode 100644 assets/weather/code-orange.png create mode 100644 assets/weather/code-red.png create mode 100644 assets/weather/code-yellow.png create mode 100644 assets/weather/compass.png create mode 100644 assets/weather/drizzle.png create mode 100644 assets/weather/dust-day.png create mode 100644 assets/weather/dust-night.png create mode 100644 assets/weather/dust-wind.png create mode 100644 assets/weather/dust.png create mode 100644 assets/weather/extreme-day-drizzle.png create mode 100644 assets/weather/extreme-day-fog.png create mode 100644 assets/weather/extreme-day-hail.png create mode 100644 assets/weather/extreme-day-haze.png create mode 100644 assets/weather/extreme-day-rain.png create mode 100644 assets/weather/extreme-day-sleet.png create mode 100644 assets/weather/extreme-day-smoke.png create mode 100644 assets/weather/extreme-day-snow.png create mode 100644 assets/weather/extreme-day.png create mode 100644 assets/weather/extreme-drizzle.png create mode 100644 assets/weather/extreme-fog.png create mode 100644 assets/weather/extreme-hail.png create mode 100644 assets/weather/extreme-haze.png create mode 100644 assets/weather/extreme-night-drizzle.png create mode 100644 assets/weather/extreme-night-fog.png create mode 100644 assets/weather/extreme-night-hail.png create mode 100644 assets/weather/extreme-night-haze.png create mode 100644 assets/weather/extreme-night-rain.png create mode 100644 assets/weather/extreme-night-sleet.png create mode 100644 assets/weather/extreme-night-smoke.png create mode 100644 assets/weather/extreme-night-snow.png create mode 100644 assets/weather/extreme-night.png create mode 100644 assets/weather/extreme-rain.png create mode 100644 assets/weather/extreme-sleet.png create mode 100644 assets/weather/extreme-smoke.png create mode 100644 assets/weather/extreme-snow.png create mode 100644 assets/weather/extreme.png create mode 100644 assets/weather/fahrenheit.png create mode 100644 assets/weather/falling-stars.png create mode 100644 assets/weather/flag-gale-warning.png create mode 100644 assets/weather/flag-hurricane-warning.png create mode 100644 assets/weather/flag-small-craft-advisory.png create mode 100644 assets/weather/flag-storm-warning.png create mode 100644 assets/weather/fog-day.png create mode 100644 assets/weather/fog-night.png create mode 100644 assets/weather/fog.png create mode 100644 assets/weather/glove.png create mode 100644 assets/weather/hail.png create mode 100644 assets/weather/haze-day.png create mode 100644 assets/weather/haze-night.png create mode 100644 assets/weather/haze.png create mode 100644 assets/weather/horizon.png create mode 100644 assets/weather/humidity.png create mode 100644 assets/weather/hurricane.png create mode 100644 assets/weather/lightning-bolt.png create mode 100644 assets/weather/mist.png create mode 100644 assets/weather/moon-first-quarter.png create mode 100644 assets/weather/moon-full.png create mode 100644 assets/weather/moon-last-quarter.png create mode 100644 assets/weather/moon-new.png create mode 100644 assets/weather/moon-waning-crescent.png create mode 100644 assets/weather/moon-waning-gibbous.png create mode 100644 assets/weather/moon-waxing-crescent.png create mode 100644 assets/weather/moon-waxing-gibbous.png create mode 100644 assets/weather/moonrise.png create mode 100644 assets/weather/moonset.png create mode 100644 assets/weather/not-available.png create mode 100644 assets/weather/overcast-day-drizzle.png create mode 100644 assets/weather/overcast-day-fog.png create mode 100644 assets/weather/overcast-day-hail.png create mode 100644 assets/weather/overcast-day-haze.png create mode 100644 assets/weather/overcast-day-rain.png create mode 100644 assets/weather/overcast-day-sleet.png create mode 100644 assets/weather/overcast-day-smoke.png create mode 100644 assets/weather/overcast-day-snow.png create mode 100644 assets/weather/overcast-day.png create mode 100644 assets/weather/overcast-drizzle.png create mode 100644 assets/weather/overcast-fog.png create mode 100644 assets/weather/overcast-hail.png create mode 100644 assets/weather/overcast-haze.png create mode 100644 assets/weather/overcast-night-drizzle.png create mode 100644 assets/weather/overcast-night-fog.png create mode 100644 assets/weather/overcast-night-hail.png create mode 100644 assets/weather/overcast-night-haze.png create mode 100644 assets/weather/overcast-night-rain.png create mode 100644 assets/weather/overcast-night-sleet.png create mode 100644 assets/weather/overcast-night-smoke.png create mode 100644 assets/weather/overcast-night-snow.png create mode 100644 assets/weather/overcast-night.png create mode 100644 assets/weather/overcast-rain.png create mode 100644 assets/weather/overcast-sleet.png create mode 100644 assets/weather/overcast-smoke.png create mode 100644 assets/weather/overcast-snow.png create mode 100644 assets/weather/overcast.png create mode 100644 assets/weather/partly-cloudy-day-drizzle.png create mode 100644 assets/weather/partly-cloudy-day-fog.png create mode 100644 assets/weather/partly-cloudy-day-hail.png create mode 100644 assets/weather/partly-cloudy-day-haze.png create mode 100644 assets/weather/partly-cloudy-day-rain.png create mode 100644 assets/weather/partly-cloudy-day-sleet.png create mode 100644 assets/weather/partly-cloudy-day-smoke.png create mode 100644 assets/weather/partly-cloudy-day-snow.png create mode 100644 assets/weather/partly-cloudy-day.png create mode 100644 assets/weather/partly-cloudy-night-drizzle.png create mode 100644 assets/weather/partly-cloudy-night-fog.png create mode 100644 assets/weather/partly-cloudy-night-hail.png create mode 100644 assets/weather/partly-cloudy-night-haze.png create mode 100644 assets/weather/partly-cloudy-night-rain.png create mode 100644 assets/weather/partly-cloudy-night-sleet.png create mode 100644 assets/weather/partly-cloudy-night-smoke.png create mode 100644 assets/weather/partly-cloudy-night-snow.png create mode 100644 assets/weather/partly-cloudy-night.png create mode 100644 assets/weather/pollen-flower.png create mode 100644 assets/weather/pollen-grass.png create mode 100644 assets/weather/pollen-tree.png create mode 100644 assets/weather/pollen.png create mode 100644 assets/weather/pressure-high-alt.png create mode 100644 assets/weather/pressure-high.png create mode 100644 assets/weather/pressure-low-alt.png create mode 100644 assets/weather/pressure-low.png create mode 100644 assets/weather/rain.png create mode 100644 assets/weather/rainbow-clear.png create mode 100644 assets/weather/rainbow.png create mode 100644 assets/weather/raindrop-measure.png create mode 100644 assets/weather/raindrop.png create mode 100644 assets/weather/raindrops.png create mode 100644 assets/weather/sleet.png create mode 100644 assets/weather/smoke-particles.png create mode 100644 assets/weather/smoke.png create mode 100644 assets/weather/snow.png create mode 100644 assets/weather/snowflake.png create mode 100644 assets/weather/snowman.png create mode 100644 assets/weather/solar-eclipse.png create mode 100644 assets/weather/star.png create mode 100644 assets/weather/starry-night.png create mode 100644 assets/weather/sun-hot.png create mode 100644 assets/weather/sunrise.png create mode 100644 assets/weather/sunset.png create mode 100644 assets/weather/thermometer-celsius.png create mode 100644 assets/weather/thermometer-colder.png create mode 100644 assets/weather/thermometer-fahrenheit.png create mode 100644 assets/weather/thermometer-glass-celsius.png create mode 100644 assets/weather/thermometer-glass-fahrenheit.png create mode 100644 assets/weather/thermometer-glass.png create mode 100644 assets/weather/thermometer-mercury-cold.png create mode 100644 assets/weather/thermometer-mercury.png create mode 100644 assets/weather/thermometer-moon.png create mode 100644 assets/weather/thermometer-raindrop.png create mode 100644 assets/weather/thermometer-snow.png create mode 100644 assets/weather/thermometer-sun.png create mode 100644 assets/weather/thermometer-warmer.png create mode 100644 assets/weather/thermometer-water.png create mode 100644 assets/weather/thermometer.png create mode 100644 assets/weather/thunderstorms-day-extreme-rain.png create mode 100644 assets/weather/thunderstorms-day-extreme-snow.png create mode 100644 assets/weather/thunderstorms-day-extreme.png create mode 100644 assets/weather/thunderstorms-day-overcast-rain.png create mode 100644 assets/weather/thunderstorms-day-overcast-snow.png create mode 100644 assets/weather/thunderstorms-day-overcast.png create mode 100644 assets/weather/thunderstorms-day-rain.png create mode 100644 assets/weather/thunderstorms-day-snow.png create mode 100644 assets/weather/thunderstorms-day.png create mode 100644 assets/weather/thunderstorms-extreme-rain.png create mode 100644 assets/weather/thunderstorms-extreme-snow.png create mode 100644 assets/weather/thunderstorms-extreme.png create mode 100644 assets/weather/thunderstorms-night-extreme-rain.png create mode 100644 assets/weather/thunderstorms-night-extreme-snow.png create mode 100644 assets/weather/thunderstorms-night-extreme.png create mode 100644 assets/weather/thunderstorms-night-overcast-rain.png create mode 100644 assets/weather/thunderstorms-night-overcast-snow.png create mode 100644 assets/weather/thunderstorms-night-overcast.png create mode 100644 assets/weather/thunderstorms-night-rain.png create mode 100644 assets/weather/thunderstorms-night-snow.png create mode 100644 assets/weather/thunderstorms-night.png create mode 100644 assets/weather/thunderstorms-overcast-rain.png create mode 100644 assets/weather/thunderstorms-overcast-snow.png create mode 100644 assets/weather/thunderstorms-overcast.png create mode 100644 assets/weather/thunderstorms-rain.png create mode 100644 assets/weather/thunderstorms-snow.png create mode 100644 assets/weather/thunderstorms.png create mode 100644 assets/weather/tide-high.png create mode 100644 assets/weather/tide-low.png create mode 100644 assets/weather/time-afternoon.png create mode 100644 assets/weather/time-evening.png create mode 100644 assets/weather/time-late-afternoon.png create mode 100644 assets/weather/time-late-evening.png create mode 100644 assets/weather/time-late-morning.png create mode 100644 assets/weather/time-late-night.png create mode 100644 assets/weather/time-morning.png create mode 100644 assets/weather/time-night.png create mode 100644 assets/weather/tornado.png create mode 100644 assets/weather/umbrella-wind-alt.png create mode 100644 assets/weather/umbrella-wind.png create mode 100644 assets/weather/umbrella.png create mode 100644 assets/weather/uv-index-1.png create mode 100644 assets/weather/uv-index-10.png create mode 100644 assets/weather/uv-index-11.png create mode 100644 assets/weather/uv-index-2.png create mode 100644 assets/weather/uv-index-3.png create mode 100644 assets/weather/uv-index-4.png create mode 100644 assets/weather/uv-index-5.png create mode 100644 assets/weather/uv-index-6.png create mode 100644 assets/weather/uv-index-7.png create mode 100644 assets/weather/uv-index-8.png create mode 100644 assets/weather/uv-index-9.png create mode 100644 assets/weather/uv-index.png create mode 100644 assets/weather/wind-alert.png create mode 100644 assets/weather/wind-beaufort-0.png create mode 100644 assets/weather/wind-beaufort-1.png create mode 100644 assets/weather/wind-beaufort-10.png create mode 100644 assets/weather/wind-beaufort-11.png create mode 100644 assets/weather/wind-beaufort-12.png create mode 100644 assets/weather/wind-beaufort-2.png create mode 100644 assets/weather/wind-beaufort-3.png create mode 100644 assets/weather/wind-beaufort-4.png create mode 100644 assets/weather/wind-beaufort-5.png create mode 100644 assets/weather/wind-beaufort-6.png create mode 100644 assets/weather/wind-beaufort-7.png create mode 100644 assets/weather/wind-beaufort-8.png create mode 100644 assets/weather/wind-beaufort-9.png create mode 100644 assets/weather/wind-offshore.png create mode 100644 assets/weather/wind-onshore.png create mode 100644 assets/weather/wind-snow.png create mode 100644 assets/weather/wind.png create mode 100644 assets/weather/windsock-weak.png create mode 100644 assets/weather/windsock.png diff --git a/assets/weather/alert-avalanche-danger.png b/assets/weather/alert-avalanche-danger.png new file mode 100644 index 0000000000000000000000000000000000000000..98be1ab7dc4443d1d75123a1a9cbc26dff22349a GIT binary patch literal 266 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dy$pJngu0Z;|gTs3l7a)2Z5C|ln z_y>W=(D0{zfp0uK-@3b3@4L}@=yu!T+daE4_V2mUzxUGQ%_pXvdNBXolMP)ncC=64 z)jZ+gz4wP7ygOb}d-2G{E6={%c=hegr@x=R{`>UpA73@w6`(adB|(0{3h6HcuR*8yoUg8um z;Yr;Ig#}l4wjNmh>u#B9gh~JP5;+#X%eUTEzL$~-{=+j#qxQ^Xri${|<&Hp889ZJ6 KT-G@yGywnySA4So literal 0 HcmV?d00001 diff --git a/assets/weather/alert-falling-rocks.png b/assets/weather/alert-falling-rocks.png new file mode 100644 index 0000000000000000000000000000000000000000..8f1016e4d09c20c7a45c426a5cfc9e6b82bc494d GIT binary patch literal 273 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dynE^f_u0Z;|gTs3l7a;l&5(Xke zLxJRr@X+_c!EZf1-g|hsAC2)pn-Xv?wdiVV`^`BM_B8Ije{SEQQ|GSSz5M#wy$4Sp zJbU-__18Dg-@To;=LV~N|wcX~>b>+w6~+f)m>YI9cYI&;wQy?AUe+LI^za(?dXipHzb#X~^a7b|WOL6c@uys$f4N7zMOL7WIuCVbw?da+f zkl_-N;p~^@9F(@l+1n{F!!aP;H89g9IKw$8-8nGTDLCCVINdQQ%_S(!AvpcLqvJbg zXNe^dEI{iuOM?7@88|t)xOsqpmyeH+UqDb`OCy_pf}KS<&}s%xS3j3^P6N(B literal 0 HcmV?d00001 diff --git a/assets/weather/beanie.png b/assets/weather/beanie.png new file mode 100644 index 0000000000000000000000000000000000000000..43409e13dd610811451b17597430758623fe8014 GIT binary patch literal 276 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyu>n3Iu0VR#s#X6(L;wH(zu&>( zzk|bLAou_OyYJq;eEH$g%MXt~e!TnY;~P7>&n_-+-+q4a?#p`@mk+kK51+n!`10Mu zSMT22+dp~n;e(UYgXbR~zk2sBI__Ou;?rGwpY1p}Rl7G1Xn}l5kY6wZGcz*_3nwSP zlCp}brlz*8p^>$=>#8Zmh+PRcdJb&Rjt^w&oM}6wRyTq;4enG X%S^M)8&9tQ8p+`4>gTe~DWM4f<^X!1 literal 0 HcmV?d00001 diff --git a/assets/weather/celsius.png b/assets/weather/celsius.png new file mode 100644 index 0000000000000000000000000000000000000000..b581a0085e5b4bf9de6d5270b601b0f4c2622daa GIT binary patch literal 193 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dy#sNMdu0UE#D^$xN)Y3B4+}Y2} zG0@Z@z{DZI%pt(sF~HoxAILR#2sEgTe~DWM4fC;T>( literal 0 HcmV?d00001 diff --git a/assets/weather/clear-day.png b/assets/weather/clear-day.png new file mode 100644 index 0000000000000000000000000000000000000000..8e3e230da1b30ac26151ece10a44925daf48fb5c GIT binary patch literal 266 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyt^qzFu0Z<#e}?}v8UF8(`Lsv+ zKM);M{=Qf7|6awP`;~w0R{FU|@&7)>U;7n)?UVbxPx;3lh2Q%Xe(sk2xliHuKBeFL z6o2nm%41n{4QP;fNswPK10$=Du&}JWypFD(zJal|hljs^QE9o5BhP%Gl2}g{#}En0 zw+FqM91H|l51tdKpV{*8pL;1|e&+J7`|i(JbD8cm3O;OGrylE(-Md0N%JytuTfiP} z=I%GG=0|@UY&a1o@G7&+WXoFDEwZYy6O8Y0FhAhq$@qNey)=KyGG@v74*6z4ix@mz L{an^LB{Ts5AS`Cz literal 0 HcmV?d00001 diff --git a/assets/weather/clear-night.png b/assets/weather/clear-night.png new file mode 100644 index 0000000000000000000000000000000000000000..3b56d8b795e80bc0b3b76017e386f212f62c9252 GIT binary patch literal 334 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dy)d4;su0WdM|9^-5`$JbQ#*{4E!Nf;rnR73{p4xBXJ#wu||@t`=^+TCnp{{`O1x+b$MvzXDVM)RMpL zLjI0Rg*&hQZ@uOKv|Y0#$S;_Ik%f(mi<^(1UqDn$LRL}9*v!Jx%HGZ0!_(8t*Uvv7 zG%h};sJwhm?;VQ`KuwXJE{-7*l5Y>5W^!_nXt<~^72Ff8x3W{|%5VF`H^0-fAIp?U zTfSn}tNniPs8|oz&6ixcU1wq%G~H6X4%FMH_y7MgH}qStz>Qh1Mhd%ZSM8~MxZqsk cfjnvZ`%26il`eCi0xe)YGy-QDip?(Q%^P~qY5;qdU|)7J!-sbP%;PBz; z@JCf++~exqG9*}^Wo<3%+%eKoT=Q8i(mi%04{V=PE!C04Gs?v5D^g) z6%`g385$oUA|xawB_}B>FfcefJ4sPfRaRD5T3cORW@m?>U^F_^00014Nkl72d0000007*qoM6N<$g8loe A(*OVf literal 0 HcmV?d00001 diff --git a/assets/weather/cloud-up.png b/assets/weather/cloud-up.png new file mode 100644 index 0000000000000000000000000000000000000000..42d444472406c122814d326f566f3b5baff64d61 GIT binary patch literal 354 zcmV-o0iFJdP))YGy-QDip?(Q%^P~qY5;qdU|==0y->fqq(*y8Kn=I`L( z@Zst3+~exqFfcefJ4sPfRaRD5T3uacXLNs=ES6T#00014Nkl7zOZe{&Y%(g4U>17ba?B-0K0{nYhqfcnpu>89aj~Ze6%>hY5z(L5dw>IyNMf z0^^oV4UKf8^V@!J-aG(J(=_eBL%(?(1o7I8s9j8GHZimAzT?Q!2egE+SxPT4Q3C|H z1{U0_7*>%9Cu1NFo@(N0_>oRZ|sG*_No z*A_eV%FF!i7@>?PJbC5PD`h~NM+X#UxVg?A^D?$oyI}@C^?l(keSlT1Y-Pjg-A|cD z1AUH%*)1~2-qHu8qiL7b=|!g#HS;o@ONUk2IZzxf+FMAwpKSWQ!BOsjNP4X|v0cjN enx<*mpY;uiqFTK-8M`C^0000l8YZ>p z@;wAOVMg5{RCMJto0*?K*Ps~1B`v1Ss|U5#)z%>BeXJ|!Qcfq zGsj}vG^^~2Fi$xH-+96FJkR^jG+vw1<9hg;jo`<}kLn?AwM}`Uqw#*J@BlWKB3$X7 zF%RfRRA_+4TUF31lDtuJBSaRpw>w{00EFw<_dbE?5|}PFxgq)7C?r5nTPxsZq}_i) zbqFAb*NAWAf^J4zS)7E zZP&7FN~VA~s^H8X5{xFVxj7QfrG4>|OF$aYEW>np;^&tgO6Te|>!#;1sle6<@TiaI-4qqG`-dS6}x3YTgh(f~KanuAYONmyfSscw}6BVq$VyT0w)@{7El?dSX3Y z977}|-yZZ7YBCUUIN08?prP%c!3syVvw!nFM6>I*~EIK0kd4r Q11)0kboFyt=akR{0FsP<-2eap literal 0 HcmV?d00001 diff --git a/assets/weather/code-yellow.png b/assets/weather/code-yellow.png new file mode 100644 index 0000000000000000000000000000000000000000..171e7469e4aa2b7cbab130879e94259711639487 GIT binary patch literal 324 zcmV-K0lWT*P)YfSF5-ka~dU|E)B{bw3gJq>r=-)xv49}jVfmyhtwu_{jP0r<@hNpb~+kimW@ z*8siWDPyFJ@4Vyc7%^*lx3`*G08_uo=cLEnbeWqj1wA7+ty}{1wzYv!l-kV`A|n8) zTt0#<>7cQmc>qb$M&kl0$I187^c=@+XBwdWT7|g|W&8RWfSDIC^8x^=_J?TF z(5QZpW>ZoHM9l!@5Ew7~5XT;~_*ClsmrMcxG~6svTq!Ml^j=4@_3)N<)3Pkf`cq%- WKU58}{%Mf_0000y7CE literal 0 HcmV?d00001 diff --git a/assets/weather/compass.png b/assets/weather/compass.png new file mode 100644 index 0000000000000000000000000000000000000000..c6d87a1c9ff5ebeb6db06366c87db27179e7c7fb GIT binary patch literal 298 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyQ2{<7u0Yx{G}OT%%i1r=+%wwK zGuOo>&A}nzy@SL1_wSwkQXISzY~9lw{gPY)GF(D3oc+?AgVLM=GaLibAH4*saCQyM zbP3LI4oY_pOmzxQcMVQ|^c*BEF~edZ&~&+yAirP+P99!9K7IiK0dWaQbq5DWM{+-1xdlD>1n7bBk7@G_wvjkA04w^Yw#q!5?l` lO?;T4QDnHZ{_JZ(^9^^Icg);l`vPbggQu&X%Q~loCIC{LW^Mog literal 0 HcmV?d00001 diff --git a/assets/weather/drizzle.png b/assets/weather/drizzle.png new file mode 100644 index 0000000000000000000000000000000000000000..0eb62d984ab6f9a6a0e6264865a49c6681cc3361 GIT binary patch literal 361 zcmV-v0ha!WP)G0g+>fPh<k1AmKlZ7i5bTb;P+4&S=HF@11^UX8D!vC(0fLCKtTxk9F zh;}8N6C#`W)iqT&hX>SBH$=)e900000NkvXX Hu0mjfqwu=R literal 0 HcmV?d00001 diff --git a/assets/weather/dust-day.png b/assets/weather/dust-day.png new file mode 100644 index 0000000000000000000000000000000000000000..d9fa3c62aaa8e22c7d9a2c135735f8ac7c7941d8 GIT binary patch literal 305 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dy2?0JKu0Z<#e}?}vf#l5pucrQg z-~WGy%%?rl|AA<~^!MFL|Mx2Xf8PH8S@F;P%0G82{oJGY|5ex5eR99{$^G7^{Qq&m zk399Q75DCe*2Lr{L6a*YD9-lG6HSCl? z>ZO0>H`!*K_p`s_{ayL9=xs?4PK%@;4g5QrUQWwCd%2O(xvop6yjMKx+LP4>Rs?27 y1+O@?!}aJCaWj$Iopa6A!Ye)=5PR|OCHHeK=CxlnFKz_d#o+1c=d#Wzp$P!QEQe?S literal 0 HcmV?d00001 diff --git a/assets/weather/dust-night.png b/assets/weather/dust-night.png new file mode 100644 index 0000000000000000000000000000000000000000..f3ab2e67721b51d48b2c78f31d65e3639b72d369 GIT binary patch literal 289 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dy2?0JKu0WdMKM>4J+q^k#^O^sz zrbcf&k+%EH|M&eRJ1_o!-VP*lcHaO0toZ+{uEHHxi?&@X*na8%)mWPMJ=C}~a?cZ?sWPoTt`)Nkgxah?~m!}^x5p}|L2F}>iFX5?&I$C|LTh17nZC z-RS7t=IP?&>ha*??%U<=>*&tx>CfWo^Wy07=IGb%>B#)&is$X+eu4u@$u)h@#nNOIp4ql001d;QchC<0R#sO5EmODB`hs4GBq|fIXpr}NJ>pk zP*+)6Twq~iXl`(HczuC_^U30A00019NklXqB)b(k@Npw$Ok;G zDNws=GzX5JP)dG25k>I@>#3yxBc8i#8# l1W1(mE{%=USpU&q;M1nkKy6))#LHx^77T{>fqq(WbUo@aOCA|Ko7~<8|TT>)qq+|Kxe!UlK#WeH(A@k2_@k?~(q$U&=iw ztzq&;C!Y+Ci0cjk8BPId&0Q{g+!gIsoVxr>Xi*h1@<4P6T|7rpK;Zzdj7tFxK#LUdh#>U3Z z!NJMN#ltHgC?qT*DJ89-pscK-s;Z`@rmm^2t8ZXvZf$Mv>gMk57Z@0wkdTm>lT%V! zRa4*Y`{&tKplMZ}E{-7*l5Y>X3LSC~aX8pst?+~4;9b*<3BTjJn7Zz!i{)(cG?xp1 z68xfsYjI4z#fwkf`wREw&pvu8`EH*=$GP&;C884Rmn~;$`eAz7`}K^K`T}=O)qI(I ziSc0DdQaV!1pDrfX|YWmlM-_R?35e&dZz`wn5i~zzYXKT?;N+2IL-gTe~ HDWM4fFygQE literal 0 HcmV?d00001 diff --git a/assets/weather/extreme-day-fog.png b/assets/weather/extreme-day-fog.png new file mode 100644 index 0000000000000000000000000000000000000000..fb0706fd82e5d4ea5d318d35199c36b0a457f26d GIT binary patch literal 470 zcmV;{0V)28P)s<0X1S>v_Zeau({)2G%^Yru8D%qUcvFZC+>_42neE(`v3p{ M07*qoM6N<$f_Xf(M*si- literal 0 HcmV?d00001 diff --git a/assets/weather/extreme-day-hail.png b/assets/weather/extreme-day-hail.png new file mode 100644 index 0000000000000000000000000000000000000000..a39bb9a6a83079e942dcc0d518e855d768471bda GIT binary patch literal 469 zcmV;`0V@89P)$IaO8v#vC(EW-2OGJ5FMNzu!Dd zOYyiI|GXRjzZ#0l-$znrfRnL8OlUw*XhKkCgNmp}PGgFnv;V;yJW*vsQDu~MMg(Q zPEk=?U|?WrY;1IOdVGI}8vMOI0001ZNklEpwrF|v)w_z!!KU*bhjGC%46LMAqdayWvU8{R+D24LG+s8rFlpj z3k0_^AH7Ryk6^>sxE4ULokn=8pZ$p9L3V&A=|g9RmQv^y6fQ@euSN*QMD?cJ00000 LNkvXXu0mjfct5e7 literal 0 HcmV?d00001 diff --git a/assets/weather/extreme-day-haze.png b/assets/weather/extreme-day-haze.png new file mode 100644 index 0000000000000000000000000000000000000000..b7a56e7900d181f8bd10ff417f26c14ede18b430 GIT binary patch literal 529 zcmV+s0`C2ZP)N`$iJWEUQxE%ky8|LQn|GygO==0y|^hZ)=fRnL8OlUw*Xy@nm;py-~P-cUQs7Fp? zil4Lp!5lnMWkXSAl&HM;z9HY{>_kgs;O6ZAz9d9XW=BzHWo1zMwi-rLX5i)RMN({! zpt|Mh@^=GUR+vVUvg|%Q(kp+j<0tB002#NQchC<0RjR80|N#I1_uWS2nh)a3=9ns z5)%{@78n^C8z3MeBO@dwB_<{&CnzZ?D=jZDF*iCpJ3Bu`MMg(QPEk=?U|?lwY;1IO zdVGI}mSmIs0001tNklKf>4<5a+`>gH{)CN1Y(Wa7bvFzuz)6^#3s#W8X9_tx#*fBpYwdSC3nr={QsbgO<<~XVCs|=dw%Rwbn#C4zfZ-* zKg~TbJvBAp*ET7);565uoc;y7Tmw@Xd`>Y0TxIdt_j`}xqy?KD{WDyGQztLp?i!R4 z6rHqrx}9r4M(_NstWhsq0x~Ae+cvey-6b&HD?B$WE+#5Iz9=VxE#w?q=;h$J(s#!u zE&%$>qa?^Ln1P9jnVFf5jg6gygM*Wki-%WGNLWNtN?JitQCV3vyb zR~M9*tM6dj{lB*%@kQMw!^}*4BJ&-Vgren^VMa%@wUue;}!uD)o(Z1y*~iR`gTe~DWM4fotLuS literal 0 HcmV?d00001 diff --git a/assets/weather/extreme-day-sleet.png b/assets/weather/extreme-day-sleet.png new file mode 100644 index 0000000000000000000000000000000000000000..c6b48d18c0a7ed10f50a09f31d12ca71b6f58eb8 GIT binary patch literal 503 zcmV$IaO8v#vC(EW-2OGJ5FMNzu!Dd zOYyiI|GXRjzZyqUW`L8iLQH6c#@Ps1*FaEcLQrOdil|3UV~U@%|G^wQQDs9>Wt6DA z_`V@TOJx7PBt%bUM^R@5TGeG`Q2MqSMpI@*Qf!Z)xKt)DJM@~>tQCnbOU})iGi(9j?oA zDtDVzJxF**t4Smebf^7&015v&##?0<)y7C%GJG^o=`9iqzIp{05}Sb!g_q*diB!<7 t-gO;Y*ny!eJXA~!g-|dx7i%oPcmfy}3i@eEsAB*C002ovPDHLkV1k$4yX*h} literal 0 HcmV?d00001 diff --git a/assets/weather/extreme-day-smoke.png b/assets/weather/extreme-day-smoke.png new file mode 100644 index 0000000000000000000000000000000000000000..615b9829398d32318a7ff2d3baa70004b28ced85 GIT binary patch literal 585 zcmV-P0=E5$P)$pP!#ORaL60 z#{b3~GfifhnX@V?RXa{%JWEUQxE%ky8~?u=M^a{hld-X}u|iB}Ku~C>r?)~-W`l~T zM^0mkpR=E=v;V;yJW*wosJy7IwfMdvL`!6{vcCVmB&e>muC%#CPiCyFw?|QDVr_k> zuDG+fzGY=ls;{;Bwi>UmxJFZEthKpCQf!Z)x~;apv9Y>EQDvsCwyv(ZudlcJydjdH zvq4X2L{nw4wZE&cxv#dplcTpqQfN|JVzZY%MNnvspS46#Xp)|`m4Zh^QD;h5ZB|}f zT3=ssY*Gb#bz}RA&S)PeMtMmpIt@=f_{EnI->x(tHIR-g7N7F9K%lS;z}$)c!dCr ztnzyK5jcae2UxaOi16sg7zn4aflsbW4HmzvL9%FD!Hotoy9z?M%67&$IaO8v#vC(EW-2OGJ5FMNzu!Dd zOYyiI|GXRjzZyqUW`L8iLQH6c#@RqnXhKkCgNmp}PGgFnv;V;yJW*vsQDu~Ir# X{5}b>Uy_Zt_s1PF|My7$-!J7Jl-4kL zqmxgDLqLX8Kw5Lx3U|NcuKAn)AC$2POmz-Sow8!jk9~?R-YNh0skr#3xd*1FrUv}l zCgm2K<{FgKzhIYZVCwHZijx*>cJ$A12~M57c)M#*Mo@Ip=IM5>0U5pXx4HymOq#cC zYLmN5V7ga$ZdhDQRD66*^aAnp<1jySll%`vnF@CnRL%Ik%$!PC{xWt~$(69AAoooN67 literal 0 HcmV?d00001 diff --git a/assets/weather/extreme-drizzle.png b/assets/weather/extreme-drizzle.png new file mode 100644 index 0000000000000000000000000000000000000000..08c2bf9eb8aa572555f28408fbbaa132b0b20050 GIT binary patch literal 412 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyO9OmDT!AzYgocK$TD8j9I893{ zv|-gMPtRNjhlGat`+;0*za)l$`!?R*?xD%Hp^5H6X$_M%I{9R9L|k_W$Z!fsYwlX% z5Sr}nm)tdfvrS;Cb71O}6?+{0l3ct~T>R7A1Jm7t(_Djc`WNhS3rlwmOr5k~v!j28 zOK_@7Q0C;t+g*b)oC7mCqOQ6IWc1G8>H;=%(!6bMA?YrG>0aTv!EvSSEc+G$U1?qt zj#>URU!NV&cC?qN=C9R;KtgND zlapIg+8!r;X$8=Td`}n05DCe*2XBfs21qnq^jG!uIBs)VVA9O*^;^Pp%J&yPJmp#) z{409$&nfT2+V2|V*ndx!4%Gi>bs%Z?o?RSsyyqTz@rK`wBTq1Yv-|57g{R8zW^wer xmeT*byK%{-4<{WW&uUpoMtLn1XPHtriTTtIHVYxwgJz&W_H^}gS?83{1ONwQk(vMi literal 0 HcmV?d00001 diff --git a/assets/weather/extreme-fog.png b/assets/weather/extreme-fog.png new file mode 100644 index 0000000000000000000000000000000000000000..2765baec95c20d2cd83189a6f1dd33a83b36ddf9 GIT binary patch literal 417 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyD*}8%T!AzQ{Qn;s8oFxLDr4g` zEv?XoRjWKba~&KK8s_f@a;^Q6Y`neQLzAC9`(zuM=pK~TFnObsPliK4hEqUVbJq%o z&}4VNB0*yHGz#;;-BUonC=#w<{FgKzhIYJSh{Oq>cf{GCN0?P z=%3*doaz#kIeGDR*PsmNz)aVGjNbWMA3pow0ycKiylrkF=`MlkUg5dHaiv=AZ010B zT9gF&1v4-*GBdNXv9WV-@bC%>iHJ%{Nh>HTtEi}|si~=J>gtn`YO!w-E8N}&81ES547J! zaP+O#lHc3jxg_NKi7Cv|y=_fx8^bPGYKzo;XEUndxFQkvQy&!2p00i_>zopr0MM(K AkpKVy literal 0 HcmV?d00001 diff --git a/assets/weather/extreme-hail.png b/assets/weather/extreme-hail.png new file mode 100644 index 0000000000000000000000000000000000000000..ac45aea6897ff28b794e7218f982717656e51ee7 GIT binary patch literal 416 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyD*}8%T!AzYgocK$TD8j9I893{ zv|-gMPtRNjhlGat`+;0*zodr!_ienr-9wXYLle7B-FFX4YnZ&z$tS}hAj2sjt+{K3 zLuj(QUvk&{%{GCl&Vi{@R_t-~OLFl}aq&-c4@`FpPIC>)>0hwREiBzNFtz>g?MVwZ zJNjq11gE+LWlmna-8Cq~IWW^TAfxrrt={=tUBJdpnzzj@B;6%2-77pdIIi^T9OHLD zhgy^b`2{mDGBdNXv9WV-@bC%<3W-WcN=YjyE32res;Q}|YwGHoTU*=NJGi;Kd;0~( zCnO|f=H%p-l(t9v_Zt!$LHKMam5{_KR>+B>w0kD zdRBm20awstQck$NzV%2phe%{{KY#Qy|!7iYH_H^}gS?83{1ON_5 Bm^}ah literal 0 HcmV?d00001 diff --git a/assets/weather/extreme-haze.png b/assets/weather/extreme-haze.png new file mode 100644 index 0000000000000000000000000000000000000000..c416b3bcf0653dd86330894c56e9ba40564a9e53 GIT binary patch literal 471 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dy#{zspT!AzQ{Qn;s8oFxLDr4g` zEv?XoRjWKbb8p|i?ck8mFn>Q#0hwx>B~=UVd<`csX!AZE!gbnpWzam>JpSWdGU7FpbY20OxJ*n z-uYV}KKtMjkO8z}(!6bMA?YrG>0aTv!EvP*>z&JizHllD@(X5QWMpP$Wn*J!=iuPs z;T04T5fzh=l#*6ZP*PS_QBhS>Q&ZQ_)YR2Cx3adjwzGG2b9eXl3ye=lNX^X2$t@{u zH%d}g2bxyr>Eak7A^G;;aj}CA3=S8Ua|^k>zgR6f_u~Km%jXolNfRp*+bMqk{;R%U zGj#cGhb{bbr!*)8iPzQ=0Pgg&e IbxsLQ0HL+Mwg3PC literal 0 HcmV?d00001 diff --git a/assets/weather/extreme-night-drizzle.png b/assets/weather/extreme-night-drizzle.png new file mode 100644 index 0000000000000000000000000000000000000000..05576334675d11946d5a3f23f4f756a0a710795d GIT binary patch literal 447 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyy8?VdT!AzLLjyx72&`JQN()3? zZCJI+(=)eW{(j5Q(86PnjeXO!v_h@@k{AN++jx6t9=_xrl-4kLqmxetN5pl9fDEUA zwC1iA4x!2Je#u?)H`@fJItQjsS+U2_FUiF_#l=6(Jup3Y_f@yxG}oY<{sp_T*IsiC zOfB4XJ8kvRNeebR`e(QVr@91XPF}n{XWKQ`pbUO9nx?M|d)TSM5^WD|?$9Y#nSZQU`!;~ZD*?HHU*I%oVW0zF9 z{B2zd)8@a2PAcB8(c1I%{nK}1jkgs{zP%P_5tIKMCUmfJs_KQ0LLHwpa{@Ld$;e9U gF1=vPqhw#nSj5MEUilq6Hz*=JUHx3vIVCg!0LHzg@Bjb+ literal 0 HcmV?d00001 diff --git a/assets/weather/extreme-night-fog.png b/assets/weather/extreme-night-fog.png new file mode 100644 index 0000000000000000000000000000000000000000..d797e5168fa62dade97f2c4c02f57dba7ecc432c GIT binary patch literal 452 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dydjotzT!A#h|NjgO4Gf_muxiyR zEf96JVbv;6&)kOj`z=F53y(cE_D$2$3bpo2vhnuLJbdZdvrq0pX$_M%I{9Qc1Y|e` zq&0V~a0pFy_e<`Yzu6`*)j2SA%8EUXen~FgDK7qL?t$sKyRW(hr@02@^e@=q}D8n@%qj&yR*YJXe&pw3LPILj= zGHKp6kFYG4z;v(h+~By<-|r-k0Nrn2666=mz{teR%*@8d#?HaX$;HDfC@3N+C9R;W ztfHc-rlzK@sjF{jZf$L6Z|~~n=I-w87Z8|`kdm5~nUhmkQriAWT2&rsRJo^%V~B+0 z+k?l24hBdxT=ZA35{SK`QuY4nU-{E5+27-h!^|w(57?_1)r6K@Px!w3MUUmX>1!u_ zjVPVu!S=Os9T$)IxuXsSw&EYQ`u}{!b8zdS==X8=6mNVmTy<0+XRnBUZ?s6DRiFNx m-UW$T87*pDR_v_@-p})X!F51mm8&NxIy_zdT-G@yGywpR*{sKvFlWyKyxza$s$6c_(A_rUbr-B;a$(_Djc`WNiVUVF_o zFtu>k?e@dB(^emyv|zKNe}+qNs!LGjT;4zZZ-4rb(e8H#j;K^W{@tFz6EB*Y~=tS+ecgt{OC*RXOMVSITKh&jwbe kmkP5qwURH0^6Z;$!;o>G{Xn*YGsp!Dp00i_>zopr0IRpGz5oCK literal 0 HcmV?d00001 diff --git a/assets/weather/extreme-night-haze.png b/assets/weather/extreme-night-haze.png new file mode 100644 index 0000000000000000000000000000000000000000..15d1fe63baa9cbfa493e5f53c84b7cc56f940140 GIT binary patch literal 512 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyw*!1aT!A#h|NjgO4Gf_muxiyR zEf96JVbv;6&)nO$Z#T@}Zy6d|c}?=+#%Rto@Q~yuC9IUwZcJ(~B3M@4x!u z9+cKFd83n0hC@Kc^XK0mzWm@6kk;I_!XY%--7mRo{$`uNROi6dDJ%9k`X$|e_Qu6K zfcIsFTEJ$?Bpd+jyXz|_KBw}IxQtv)(w!DdJQ442?k zm!Qnai?`=&yXG2{;Tn+9JAbQdc)`PGAHr)Vx&&kZZJac3n@3odOJKTJcy4f9>7tZ9 z=YhWSED7=pW?*DuW@ct%V`FFM;N;}u;o%h&6cLkQ&ZQ_)YR2C zG`F(0wzjjkcXe}fclY)S2uw&wNlnYl$tf%;ZFgQC@EK@mx2KC^h=k(tRom;zi@j@wO1FOa=bv(D$M5Ss+UAz*>*_g z4^9DT&0Q-TLX+M7lDp<_wh2si4osc0VvnO=l8bkWi+`GXV0!NEt8T$*u0c8d3wC9% zz2+L2TDa>rgU>03fU7JX`_fh)owQ)Hqko1=aH>mC=H$iObGBV`4a#s0$mpHFl{M;x zYj{C;?L?P=44_?;=56x`%W?@!_X^Kt3pvLYdO0|*G>M1NoLoG-f`XD#(h7=-%E~G#s%mO#>YBRxhUV7RcJ}tp&dzRb?(W`x0f7k#$th`> zIXQ(TrOhqvdj84+K=aByT^vIsB;Ou%6*}Y~;&4#>4(B_unC9KZ|E(EaH~yX}do*p= z#eWCI9W^gTJMF!B;AF$!yg1J^x$ar=o~tc-pEiD5Q_ZC~L&o>ss`iSTZUugy6Jvv= zS+w_AvGO;S+B-~`e(7kh#+#>n(aNt5U9_0KccF>YqQA$46RkO(^AxCT1;vo3tDnm{ Hr-UW|-T$oD literal 0 HcmV?d00001 diff --git a/assets/weather/extreme-night-sleet.png b/assets/weather/extreme-night-sleet.png new file mode 100644 index 0000000000000000000000000000000000000000..e5262d09b4873394cbf5a202a745e9cd3aee2b1b GIT binary patch literal 483 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dy=L38~T!AzLLjyx72&`JQN()3? zZCJI+(=)eW{(j5Q(86PnjeXO!v_h@@k{b5kxAFGQJbcMLD6L`gMkk+)mSZT|BGAA$Ip0n**+o3zIK^YuTS6u@# zdgpI-4KE03b0jG_cOo#W6%e^6f!Wu|okO4hOrf4>mbZcu;fa?zjDF4+>ty z1zot1!gk#Lhw=@tZ(;%2*ESj@?4KPPwDa~I4uwon^^Gu!+>(86Eit}u_ S`8Ov}WO=&!xvX%A_P)U-- zW|^6@Dk@bwPGUSuOKHQ>M^a{hld-X}u|iB}Ku~C>r?)~-W`l~TKviQ$PGgFnv!AT9 zJW*wosJy7IwLwl|L`!6{vc9OUw63(dL{Da{thYx|XJT!AsIIuPxW1~dwQalAudld9 zQ)aBSxkXZJkD$7(w!X2kx@)c0MNwsOy4$9%wyv(ZudlaetHqL_vq4X2L{nw4wZE&c zxv#dpL{e#!qql6f)zwn$cLL{Vo-S8Y>Xb!c~1 zQ~&?~S9DTNQvd=20s{jB1O)~L1_uZT2?+@b3JeVq5g8g98z3MfBP1jxB_<{&Cn+l| zEG;fCFE1}JF*Y|hJ3Bi&K0iM~LPJJIM@L9WNlQ*pQD9(XW@&6}addTuXg)#O0001u zNkl;;m z`2Sm{{Gt0MZ9$|Nn|mX`_o92YAuv0AfT!209({=)1TI0K@6y&vx32>NJCHK%e7Ha- zDj~2RS_{c#u`b20280}@Mqp(`R literal 0 HcmV?d00001 diff --git a/assets/weather/extreme-night-snow.png b/assets/weather/extreme-night-snow.png new file mode 100644 index 0000000000000000000000000000000000000000..8d69fd6cca414b4da586e243ef702687d575736c GIT binary patch literal 463 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyhXZ^KvFlWyKyxza$s$6c_(A_rUbr-B;a$(_Djc`WNiVUVF_o zFtu>k?e@dB(^emyv|zKNe}+qNs!LGjURU$;rjTD{kK4JdJncRzk zhE;jGIEF|_zCCzc>|lV1!^Oqrf-dS&QK~}y98&(dHB5##CV=d#Wzp$PyZyR$q1 literal 0 HcmV?d00001 diff --git a/assets/weather/extreme-night.png b/assets/weather/extreme-night.png new file mode 100644 index 0000000000000000000000000000000000000000..fbfa00fef6f8ca79c80e4457325bf65f6be77e37 GIT binary patch literal 425 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dy8v}eoT!AzLLjyx72&`JQN()3? zZCJI+(=)eW{(j5Q(86PnjeXO!v_h@@l5D)aGY?;K4@zs8ywS-g!yzEUDIl%6YlTB- zvb$e$*Zj>kfvL`csZ&<$ar8@a@lJ8^Pje4U&)t31EjZ0JD5rnHuI#nfTmw@Jcim1~ zeRR@-&5r&VF2SiTL79^mZ_n9w%{3^)H6WvR{#MuUg7DgjE@1N~&D-V?mgN$d?iHRJ z99Md^pi36$Wb2Y3zhDL?W@ctKHa2z+PEIZ!UO_=gDQN{|Wfc`wH8nMLO`VVoZ|oh literal 0 HcmV?d00001 diff --git a/assets/weather/extreme-rain.png b/assets/weather/extreme-rain.png new file mode 100644 index 0000000000000000000000000000000000000000..4cdaf792c176655fb99b50c175744d8a9c40364b GIT binary patch literal 437 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dy+XH+;T!AzYgocK$TD8j9I893{ zv|-gMPtRP2g#Qi>2@Ui214XR;l5D)a-9wXYLlfPD(i$djbn?k?2*_XveZUa=!6_iE zxod?(XtKLsa@YLLHi4~ZuxQkA0ICY0td;b&9ZfbO;}3GxeOU}R=yWn*LK;Nall6%-Pcl#*6ZR8&@0QBhS> zQ&ZQ})i<}cwzGG3c6M`j_x1~nPe@44%*n|uDQ#|Pm-v$54K%30)5S5w;&gI?1Z%VC z3C&ZFCx)6{m?|c)?c(Ir!+QD)&+4)*nNkvRX2*t;#j`#&Wl9RmY3k;1ooQXb!|Ls* zoWu3yp-yUHS`HV_)fB0*yHGz#;;-BUon9dq?)h#&9H7KWl!7jJ3bl1RC zj)=?chi^|>u-VZ+!zDP?B`9<9;_YpR?zjeJI0t5OL|t_a$mpHF)dg(+qW|E$^MpS1+QD;h5ZBt%#yp4cO0000`bW%=J009C50|NvF1qKEO z2nYxX3JeVq5)~O58XF)WBO@dvB_$>%CMPK?EG#W9FE1}IFg72Lbmj2>wyGc~!DY1Ril<>@&A& zujmDVBS^)5C8;q;O9-5&E-kmIwk7pxMZ^?RI UqgXrPT>t<807*qoM6N<$f_4kjod5s; literal 0 HcmV?d00001 diff --git a/assets/weather/extreme-snow.png b/assets/weather/extreme-snow.png new file mode 100644 index 0000000000000000000000000000000000000000..5f40629c75b200d2c76725ded362603641aabef3 GIT binary patch literal 427 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dy>jHd2T!AzYgocK$TD8j9I893{ zv|-gMPtRNjhlGat`+;0*zodr!_ienr-9wXYLlfPD(i$djbn?k)Id;<_Aj2sjt+{K3 zLuj(QUvk&{%{GCl&Vi{@R_t-~OLFl}aq&-c4@`FpPIC>)>0hwREiBzNFtz>g?MVwZ zJNjq11gE+LWlmnaz3tE)*PsmNz)aVGjNbWMUBJdpnzzj@B;6%2-77pdIIgty@SWB} zx85&#k_&XMRY{OvFaskqGbJpSW zdGU7FpbY20OxJ*n-uYWyzy?m5x6Lgi-6b&HD?B$iu2h~q>Il$rCM7|B!3>Pd%&cr| z>>M0Cyn;fal2XzN%E~G#s%mO#>YBRx=GNAB_HOR(-hP4c2??1wIk_dJ?aV5Fb^`S$ zc)B=-Se#BykYH^V^*DXEP4|P}t({i}BOuebdW9Y25CNJg5Q?|=GHER}MwAEl_kWXN> TYRP}04hl(6S3j3^P6nmVBip7XzOX@ z;AiF#XzCDP<`7^GCV>nf7sxhu47}plTMg8}UlQaO%)rVaAgU6dkW*0K(0~6ykIHXx zpp>Ggi(`m{WU@qO!%7q1Mn=gEbM~knXkg-rGhWch);5uYVYvWHz=l4NwLrxTp00i_ I>zopr02I(Hk^lez literal 0 HcmV?d00001 diff --git a/assets/weather/falling-stars.png b/assets/weather/falling-stars.png new file mode 100644 index 0000000000000000000000000000000000000000..58d009eaa69e7f32bb10c2e971bce470a2037313 GIT binary patch literal 407 zcmV;I0cie-P)N^`W*sKuIbxYcsD(QvoYZnV??)=F`@*KxMfZ?w>HxYca7(r~%e zZnx5Lw$X38)p51eaJka_(oJu-(r>oWaktd`(oJ!=)&0~S~=>Px#H*``?Qvd-01O^HU3l0wt5D*m>7#$!YBrY#7Gc`6iIXXT+Mn_0V zNlHylPf$=*USD8raCdilkC2?u-(8cK0001LNkl8LJ-ZrI)n6(2& zx65;gn0}(MtY%2W2ma;-Qpa?002ovPDHLkV1gTf BzXJdO literal 0 HcmV?d00001 diff --git a/assets/weather/flag-gale-warning.png b/assets/weather/flag-gale-warning.png new file mode 100644 index 0000000000000000000000000000000000000000..df00272114e6b9e0485e5e43e862ef95841ad698 GIT binary patch literal 300 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dynE^f_u0VR#s#W{Htp{#}En0w+D|iHW=`*Y*;+YPh;V%XMfvMntsgoS7C{J zVptM$p4suBo6Ee`2Z!A5m8w`2-gGGa_9-@)art85iMNGfzMa~}DH6>VE2a41IlH7d W^Mx0;+qVMEX7F_Nb6Mw<&;$T~8iG0i literal 0 HcmV?d00001 diff --git a/assets/weather/flag-hurricane-warning.png b/assets/weather/flag-hurricane-warning.png new file mode 100644 index 0000000000000000000000000000000000000000..d8dbeb1899a974c1103a21f13a7c34f9bb0650a6 GIT binary patch literal 310 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyMFBn`u0Z-f5CH)L!~XsEfne9J zBbP7VdF$Zt!o=jglhb<_mp68HZ=9Uoxw?J~4E*HpfAGkuW2eraK6mBfm77;?+yN?h z@9g~A!Qq{U2T;KWA0KA{0apQmT4m)rW#t)KS~In@4w;!91|oCwi&j?uVt$qbZIvkr z@(X5QWMt;xkdh6LNNAWoefolh+d$yJ!NZ3Se^3%~{{mDO?&;zfVsSb-L4uW;amEeF z88c@}7HTJmKAk>on%IHm4qmQdjza61LM>G}Yq%_aR8(4g)DU7Z(u2+4;cH(??I7JALlTxy#ot zU%LYl1j^o)e kcHeEaWwUFxR##13K`rC2)ivQxK;sxZUHx3vIVCg!0B~h$!2kdN literal 0 HcmV?d00001 diff --git a/assets/weather/flag-storm-warning.png b/assets/weather/flag-storm-warning.png new file mode 100644 index 0000000000000000000000000000000000000000..f3e7ba755c299f7ce33fb123e84b6c332c2afe5b GIT binary patch literal 234 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyt^qzFu0Z<#|Nr~<-v@$SyN+DG zeCNG`!+RH(_fAeg^5BtE$4;F;eeTM|D>tv)xC0V*ad8z8s8v>;p`~@m%E(K!XHJg8YIR7&$nkWEC6|8n%JJ{sY}*yL^C>&YmugAr_~T6C_xf86_e)H4>gZ zejxtf`GMsP!65-Ngx50}Dhlr5x^d&?&6^)I9;iO?kaObN0aW%#NhCmLac3$6BSYF< W#>SQI3w?pcF?hQAxvXn3Iu0Z<#e}?~88UAkrB9;G} zrT!lg`F}#?|9*u}d!+yGk^Z_%_CFBql=`tp>F0h0p!m=I%8y^X`+q>`*CEB<2jqY6 zmH)j@`N^9vfA+~geE#v*e#Kw=mHq-{_bO&i+p+{`fqY4jUoZnB8#_A}FQ0(0u#}Xn znudmsuBn-&m9=wJTyjQc?mdR>Qb45E!uXmVEd&fZ@v_6 zyIipIYT>qv`Ma(bZoQhn{nEqd9}Bl%0jdEi$lrD$f5)ZL7;_$=Es7;Ue!&ck%q%Qy z99&#{{32o!in>N-7M9L#p1ywmp>gp!Mdjs571>Te#Xg=cjv*3~Zx5RDH5dpm98^`G zT>R|+dKV8p%k6nK&B>mVDre-JZa#UXaM_7Zg3q{SW;L#MSyH87b~2dw%xzQ6d_KzL+eDCGJzf1=);T3K0RXvsdf)&6 literal 0 HcmV?d00001 diff --git a/assets/weather/fog.png b/assets/weather/fog.png new file mode 100644 index 0000000000000000000000000000000000000000..7091297f3302b4e59ce7a60c4e49dbba78ae479a GIT binary patch literal 365 zcmV-z0h0cSP))z(?;NbA#>G0g+>fPh<G9mwGy4Dl04{V=PE!B@1qlrf4-XL$ z5)u>@6&4s78XqAdBqb#$DJw8IJ3B>5QBze`T3uabW@meUN=Wm(0001FNklvx9d44N6VH@&|V(U%lA%B&n+xo*xCKJvH9TS^vcfeQ)uY(9sAxn zJ3o2x@yW}#Pu_ldId$r@SMTmUd;i|f?#Y|aU!0siy13lGbm#7cTW{^`3Ir8JfcB}B z1o;Isu&}VPbMx@>@k>ZbNy{rJDk-a~YwKB9T3XrK**Uqn2Ly#}x?ej5sNT=h#W6%e z^6kM$CIG$-xDs=GVax`-^}7rM*L(I|SK4`?!jr>mdKI;Vst03ITNU;qFB literal 0 HcmV?d00001 diff --git a/assets/weather/hail.png b/assets/weather/hail.png new file mode 100644 index 0000000000000000000000000000000000000000..f4ca9d643efaff9f16a95f918e9eb6f6f94468ee GIT binary patch literal 365 zcmV-z0h0cSP))z(?;NbA#>G0g+>fPh<(!rJ5L^Wo<3G7fNeUtzI04{V=PE!B{2@MVp4-gR% z5)u^^78n>A8XqAdBqb#$DJw8IJ3By0QBze`T3uaWW@meUbQAiJ0001FNklQkG<@F5V0)iqFsK(tz-utb zuV|kb(Z1ko_Ff}NeSSs>lIRtpO&>c%%M%ry!v>oSE2XeoDV$zfO7R35Oc`Sq00000 LNkvXXu0mjf*L%M_ literal 0 HcmV?d00001 diff --git a/assets/weather/haze-day.png b/assets/weather/haze-day.png new file mode 100644 index 0000000000000000000000000000000000000000..cfebd4eb03035d247d9cc6550866c948880665e9 GIT binary patch literal 360 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjR8I(u0Z<#e}?~88UAkrB9;G} zrT!lg`F}#??%j8H-@W_4U*Xdp>HmAA@4b9^|JAEUk6u4|{q^fE+5bSaQ|jKc_s^ey z|FK8u=Ce0H_bUJuKX~@}=YHkKFW&t>p!E3p$6tpOpS<|^`+)rKz4E{JDL;Ah<#L8t5+4rEV^<2 z$LT*7hkWDDN6pWZ>a2|K@zicUvQ0mG{@&E>t@6L**yPWgcM1hs%i!ti=d#Wzp$P!K C$Dnus literal 0 HcmV?d00001 diff --git a/assets/weather/haze-night.png b/assets/weather/haze-night.png new file mode 100644 index 0000000000000000000000000000000000000000..00b3b708a6a4bb4748db91c995215965f54d2cf4 GIT binary patch literal 357 zcmV-r0h<1aP)gwX+ z>*DM6-sbP;=l68E(b?wg;O6t==oVZ@ALDb3BLu001p?QchC<0RsdC1_%lY4i66x z6c!g47#bQMAR#CzEiyJXI5;^&MoCRhPgP!DY;t#ZVSc^^0001BNklj`4L>00000NkvXXu0mjf D*Bq?Y literal 0 HcmV?d00001 diff --git a/assets/weather/haze.png b/assets/weather/haze.png new file mode 100644 index 0000000000000000000000000000000000000000..c8b09fb7e0a42ba77c8321e8904212a43b4abbdf GIT binary patch literal 413 zcmV;O0b>4%P)gw3*>)YGy-QDip?(X5?@Zs?A==134 z^WWd<-|F<>;Op4p>)z(?=jZp};PBz;@Z96--Q)4&>hb0B_}}L2;O6Y%=kwp>@96FN z;N|V%GAxmb;|$%05)_|PE!B@1qTTX4Gs?v5fKs+6crT~78n>A8Xq7bA|xdxCnzZ^FgQ9p zJ3B>5QBze`T3uabW@meUXUJ1O0001VNklu zznXKxGXKKPqW4nzTdi!}L{z`-Pwm;choJTdS3vcJ;IP4ZE^wM3`RLw9xa=By1vxI0 z+W@O`iE-+uSj#a2<$FqbzCuvZ$x!Pk)kw@XHfCBFO22ypyV3^_C9uDH00000NkvXX Hu0mjfrZnjO literal 0 HcmV?d00001 diff --git a/assets/weather/horizon.png b/assets/weather/horizon.png new file mode 100644 index 0000000000000000000000000000000000000000..f6e97c5c148eeb40c5d9964bc494e491697ba62e GIT binary patch literal 295 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dy2?0JKu0Z<#e}?~88UAlm`M+7} z{}GY@Csh9LSJ1Wb{=Y{$E5Y>8OwF&mWdHAy{jo>s=Y9pC)VglHpZk?f?EH*u0{$OR z`gKV0_W}9ed*y%cQ~tA0{?~rRU;CB*0>$?#n%V~>>X^L)SzHq27tFxO#?HmdCm<*+ zAt@!LrlFyuV`yw@W@%*|m7I~8Tl>q*-501f%+tj&L_+fIL3h3e1qOzLTN_xb7vK2z z-`lpLWwT*n+x_TUeG5F8t}z)M^3Dsmx`CT%Qsny8aY;=*+Fa=z8El11Cdd_Kd^j0$ m^ZE9DA(C;Ie@gtUy~HYP&HO%eFj$|XU5!3<0+ zY*Ld3)Plvbhlqrd~&2TrLTYd$aN hRP?E7aiMJlBZEgO)1sJU&qE;pdb;|#taD0e0sx^EWDEcR literal 0 HcmV?d00001 diff --git a/assets/weather/hurricane.png b/assets/weather/hurricane.png new file mode 100644 index 0000000000000000000000000000000000000000..3f143d31678157e818fc7f0f69089f2c5403e121 GIT binary patch literal 336 zcmV-W0k8gvP)YU7zOb2-Nafn(kd!;(8Z;1;H>WHOGxo41Sfajz*lhh0R+LRh;+DZV$)07kUt_t zG52#SbTmne2=_N0_|84U1q{P5jQ_~@)18ru-DPx%Qdc!`3bLYJ7&?-0000C literal 0 HcmV?d00001 diff --git a/assets/weather/lightning-bolt.png b/assets/weather/lightning-bolt.png new file mode 100644 index 0000000000000000000000000000000000000000..bd9832606f64f78dc0796a3f9b509f9296b28af5 GIT binary patch literal 189 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ipS0Md=mFV~73cpq{h)Lt;{TEo0^cQe`kX*nyV{x>$0Z;QJ aMuxU}*6XupNt*#RGI+ZBxvX5d8mt_3G6#&w$|n z#TP*E|L)y)ci+9c|Ni~MhaVoj{P6hI$44(e-hcM-(esawUVSXJS3LvNDO3{V7tFxQ z%EraT&CSm*AgHY3?vb6{7;n1~C~M;B;usqF`u^-3 wb>_9QS{ELv@ayVwU3j&O=Pd80AM;8WwJMnYCJAnN2Gq~s>FVdQ&MBb@0J*7Gr~m)} literal 0 HcmV?d00001 diff --git a/assets/weather/moon-first-quarter.png b/assets/weather/moon-first-quarter.png new file mode 100644 index 0000000000000000000000000000000000000000..b879263a80cc62ede0f37faff97fa64e844b9a1b GIT binary patch literal 414 zcmV;P0b%}$P)h10A?(YBL;qZXQ<7>Rvm%;uTD=61Ty-RADS*4}Kn z*q+PUZ@1C2+2-cv@^QG(al6vsxr_tebxYc;P)`!I0i^bWL#olqb)PTR&ipJZO$=;90-iXB7gu>dJ z%HDas*nPm+fx*|~3tA8W00233QchC<0|W&I3JeYp5fT#<6cidBA0Z+qC@3o}GBY+e zIyyZ)K|w=CNKI2zR##V8U0+~gV`OJ&eS?j(dn9K^0001KNklg!?L}keSS7rn6`Ss%*dL7Zt>xmX4Z&%e@r0f;k*ZB*H;TUj_L<__$8#wRz z28gK&kPb+E#3napp$6p!iTVGzgwFw~cM<=x2Q3WeGNspz2H_qCRxPB^W&i*H07*qo IM6N<$g4F2FZU6uP literal 0 HcmV?d00001 diff --git a/assets/weather/moon-full.png b/assets/weather/moon-full.png new file mode 100644 index 0000000000000000000000000000000000000000..ed6b1cc32ac3f1492264910473d4d86b59b4dd57 GIT binary patch literal 333 zcmV-T0kZyyP) zF-ikL6b9h`&A1T)3W`Vqxq(W0u@EGL*jRZ7#UjgKBVJ+)5zk;12uj96tnFmocmjji z#450kJI@1{KxSY~GhaDx=I3wT06`E0!Ge+R!|q+$B8eI^nAnbz!{+0^6ga-+N@I0+ zE-ZSv$-g2Y2tuqg(SFj|z5)^Z6q%dS>E*QZ6aBIo4_?n)^MuRgu1;HdUi7BTZraUH z{>HP?Z@Z-xAV!VYj%Up$_?g(k9Faey6_A7vUKVS!=GADa3M=|9na-5XF2MY! zcsv-^5G>R$TfkSx@bkxA00000NkvXXu0mjfwo{UV literal 0 HcmV?d00001 diff --git a/assets/weather/moon-last-quarter.png b/assets/weather/moon-last-quarter.png new file mode 100644 index 0000000000000000000000000000000000000000..99b42bd5ae7fa1cfc06104708c02bddba93a54d5 GIT binary patch literal 408 zcmV;J0cZY+P)>hW%~ z&za2M;^^~ov(#|7(ctUwbGg@mz15V*-*UFraJSdt>h5#7(uKg>q0Hck!rA2L^l!D( zjK|ra%i^BP;&QjrZne{ZyxE7t+M~|mZn)Ek!`X+z+Ke8>-Dm+n*#-q`D(Aic0000 z-AcnS6bJC6?YgZW)=k6@tV*{VQ7_yB`0BoZUWoK!Frgz`am>^#WvrcPfC#+>Wj8WMNx{z76^g|clyB|tNLc%8lsG`I+?Z2X8dSEslQu~liv^X zFO>d)C{Ay5Q|E9AE0fZ1DM0WFh;TlfIUY~gLTa34=SpWb4 a_UZ?FJ!D?~v&AI<0000Q|6sq*-{0R_w9@18@!96)Z@klhztxq>>fh?>&gSOc=H}k- z@89R|;py<>>hWu}(4EWPaJ19n=<{r~($(ef;Op>qy3=yD(UHO2gum6{>h5i}(s;Yq z49e)Ni-aio@Hc&EbB(*o48^naJL5xYL2Z*_g`SgTL8) zyw`TR)_c6y#16>+0000ubW%=J00amL2?`Go5D^j-7Z?~AA0HneA|xg!DJ(59GBh|k zJUl-@Lq|RaRSHW@u}CfQF#K>_wZe0001HNkl@X0Hi z3vemok=Heq0+J#!xa4{DG&n&t3nLB%>IPcuAX-ushXOfSB?%BMB#c9WxG|FWReI-tX_H&*$Ig@1D!r;py<>>hWy3(wEEJ;^^~jxYT&N z)!^&!ZMfBMwbgUG)#2*ykipt*y4P{K(v8O5n9AX8w9;|7)`!8{mdD(s&*OT&+NjXv z)8X!Iw9|>g*p~QchC<1PKoh5EvRCARrXXFc;_K_(=I*W5 z=Ay~i!{Om>y4L3A@@=-&Yq-{Wz1HC6@Nu)yakJHk#@w{m<>2M*Z@Jcu#N6QL?}fnH zo5p?^xYc;P)tJcNl*Zg~yVZTY*_z7Ve!SOu zy4HES)z+MOWB>pFH*``?Qvd@51qKQZ4-pX)6c-p68X6uSAtEIxDl#%MHa0psIzB-` zMMXtQOi@!*RaRPCVPI2153f=CHz9Tgl3IF&%8A%n3nE=O>Q y@QCX&YboINhMcL9hO$1sfZ$iumK;qk0|Wr(#Rc`vp-`y+0000%%;x6p?d|UF|7o<+;o@%+22djeXP7 zHg8Vbe8w%dMBUmidfSP#-Dh-dyi0ao%-VX@y`aj}&L7AQ=$dI_=VxRSP`Kl2(YA{P z+b_i~+Euvia>354h1)LX@48yJ^=kh1ONHC702LV9`Eak7A^G;8JClO}1H(bps`q)TDT1)o4@O7;nu79+bjAV^y(Gvln1PXnjf;zqk6%DgOhQ6ZQPI%Y#LU9d!Ohdx&(A+JJ|ic$sJy&3=3sLN zP)nevi(`m{Q> z&vOV`)s3IE;^*(;=kAi8w(i%L;OFq#D|53+2ytEs4oBj077(9PE!B^ z0s{jB1_lNP2nY!Y3JeVp5fT#=85$cPAR{9rB_$>%CMPK?EiW)JH#<8&MMg(QPEk=? zU|?WrY;1IOdVGI}P5kDy0001bNklej|vEjh0gAnI@jUJORHk2;0_^9P$7F002ov JPDHLkV1kJX^J@SA literal 0 HcmV?d00001 diff --git a/assets/weather/overcast-day-fog.png b/assets/weather/overcast-day-fog.png new file mode 100644 index 0000000000000000000000000000000000000000..124a36c3ffaf4bcb7a0827d2c815057a1e49d17a GIT binary patch literal 470 zcmV;{0V)28P)*C_o;^Nrp-M!M;T507C4k!uoL{g9~6 z5Zns9buRfWf)yX5k{7{l9O9*N_9Kc0v3cS?G%^Yru8D%qUcvFZC+o%x2;8=u(f|Me M07*qoM6N<$f@+ocUjP6A literal 0 HcmV?d00001 diff --git a/assets/weather/overcast-day-hail.png b/assets/weather/overcast-day-hail.png new file mode 100644 index 0000000000000000000000000000000000000000..a53b3632ac97724196ed309d9bfef18356ccf5ce GIT binary patch literal 469 zcmV;`0V@89P)*C_o;^Nrp-M!M;MMg(Q zPEk=?U|?WrY;1IOdVGI}8vMOI0001ZNklEpwrF|v)w_z!!I85bhlc?%46LKA_&dxRjLMzmg8d-LF}60rFlpj z3k0_^AH7RyhhW3kr0PSkpGJ7Ap96^EVYYxb=|^XVmQv^y6fQ@etfdIXby6J{00000 LNkvXXu0mjfTCekl literal 0 HcmV?d00001 diff --git a/assets/weather/overcast-day-haze.png b/assets/weather/overcast-day-haze.png new file mode 100644 index 0000000000000000000000000000000000000000..42a31e7a92898fada980179191750b1adcf902dc GIT binary patch literal 529 zcmV+s0`C2ZP)e$%p($doLxE%ky8|LQn|GygO==0y|^x*6Dlc&VvD=S- zil4Lp!5oyRyxrvM-Q@E4z9HY{?Aqq+;O6ZAz9i%5?%wI|Kf>4<5a+;>gH{)AuZ=)tHzE^ zp2O0?MoQ>FM0#@rs|b|G^xTsJz|e>)qt? z_`V_9=IsBzB;)Ar-s$h;-^%*78sF&gkD$8Yi|s308rHgNWS~LA(Ei8-{$S# z=JAuGx8UjT&vT8Rwc_XR1zPCh=kAi8w(i%L;OFq#D|2sRL%xf z)6&`H3_>n`0000;bW%=J00II70|N#I1_uZT2nh)a3=I(y6BHR58z3PeBO@dwB_<{& zCn+l}FEBATJ3Bu^LqkPIM@LRkQCnbOV`*$`bai@se}jaFCk{Fd0001bNklUNswu~kmDbv>1RE~{~tlQEY6cmcmF3H^Iy=a~Qi002ovPDHLkV1k~}^$P$1 literal 0 HcmV?d00001 diff --git a/assets/weather/overcast-day-sleet.png b/assets/weather/overcast-day-sleet.png new file mode 100644 index 0000000000000000000000000000000000000000..73395b7eb183ec335fdb420c96e3c69ccc04b945 GIT binary patch literal 503 zcmVQ>gvQz9FM0#@rs|b|G^xTsJz|e>)qt? z_`V_9=IsBzB;)Ar-s$fJTGiy=%KEk%-{|p=pt|AZ^4sU@2w2mH!`u73A(Ei8-{$S# z=JAuGw}!&p;OXz<=Hv0ta|l}1ji0sR=kMa@?vkFi?$?*#=kVI&>*C_o;^Nrp-M!M; z<%PrCg~Hmj=;fUN002pJQchC<0s;dA0|o{L2M7oW2?`7i5D^j+6d4*D8z3MfBP1my zCMG5)DJv~6FfcJUJ3Bu>Kt)DJM@~>tQCnbOU})iGi#9j?o2 zDtDWe-AH&wt7)VFbSJ&NABn&@##?0<)y7C%GJG^o=?xMKzWR9w65D|fg_q*dg;db1 t-gO;&*omPmJXA~!g-|dx7i%oPcmfnW3i;?g5IFz<002ovPDHLkV1h~F0fYbm literal 0 HcmV?d00001 diff --git a/assets/weather/overcast-day-smoke.png b/assets/weather/overcast-day-smoke.png new file mode 100644 index 0000000000000000000000000000000000000000..693dfe20ce285236aacf18cac7051608643d34e2 GIT binary patch literal 582 zcmV-M0=fN(P)(bKF@wgoSyc_?&8sO{olc&V7v9aUh?5C%<-{D=S- zil4Keth4{Y9F(ZMsIIl$8bva-Jaz9guww63(dF=tqwdCK*`nDRcuehwWx!>sVkD$7(w!X2ky5Z&W+vn@1uC}hOxv#Ic`@A8NptIlR z?ce6{v9-UeueqD|53+2t?J9asPW09tfXPE!B^0s;dA0|W&I1_lQR2nY!Y2?`1f4G|I(6d4*C8z3Mf zBP1myB_<{&Cn+l{EG#W9FE1}IFfcJTH#a*wJ3Bu@LPJGHM@L9WNlsBwTVP;mY;1IO zdVGI}O4=3~0001uNklQD`yNqZ`r>ZK`=kvfPK)ZUtEa=2(J);p+!+G zKLRHZ_5jOt3t<7HCHq)$ literal 0 HcmV?d00001 diff --git a/assets/weather/overcast-day-snow.png b/assets/weather/overcast-day-snow.png new file mode 100644 index 0000000000000000000000000000000000000000..a892ab74a04d259f7dee4f1ed6e8c5534eaf868e GIT binary patch literal 481 zcmV<70UrK|P)Q>gvQz9F?v_*C_o;^Nrp-M!M;<%PrCg~Hm}ia4GC z002dFQchC<0s;dA0|o{L2M7oW2?`7i5D^j+6d4*D8z3ViBqb##CMG8-D=jZDF*iFq zKR`uBM@LRjQBhl9U}oAh@< z1ff%cm+CfN9wRvCcxxTAYXl2E1_c*_%`kw$Q|aJA6!x1pz!`O;b2rgZ%0O$bu>Ir# X_+$yNJ8;#qla1bn9X;uA9vXPT=xr=tBOr zG`DjUKO_#vS%zj)(WxojwgH#`-cWs!l6$f}D=lS8+TA|y@kjwly86i6Jm!YLG+Nd- zj|-e>3}%VA9Gw}h{M1b?tqg&FH+H?7bI9#Zg0Dx1@7YLD7!r`!1@9y`uT@V6$v=Qb-XKS&Fw9D23rXVF`*>nG0M(%K( z2vj)m_ei4LSX{N*ZON^wO()f-ND@)_Ds!pi`cvx50wQv@KL4O7iin7Oy&EFZhX-tk i#eV5I!!Qi4%P)-CeT z#N*@a2w2zO=kK<~+uP~s+~e_zpR<&xyxrvM-Q@D#-CePx8UjT;pg%QTGfr8wc_XR;^*#?p0?iQ?&0e3;OFq# z;M1&H*``?Qvd-20|f>K2M7oZ4Gj+90e(&OXt=H~L-=kws} z^^>Q>Ew;OXz-=kkr8wc_XR;pXt-=kAi8w%+CL;p*|= z=kVI&>(bffCKMrk0000ubW%=J009950|f>K2M7oZ4Gj?z6crg78z3ViBqb&$CMPK^ zFE=|oK0if9M@LIeQD0zSWoc||ZFF^q8c@^Q0001QNklP9AhUNFrn$d1dK0#JZUo>2`7a0ZkC6pSV)G5`QmjR@yHh)Ep)0000< KMNUMnLSTX)Z_*I} literal 0 HcmV?d00001 diff --git a/assets/weather/overcast-hail.png b/assets/weather/overcast-hail.png new file mode 100644 index 0000000000000000000000000000000000000000..4f00a125f1477a7c22b252e27344352ef794e525 GIT binary patch literal 415 zcmV;Q0bu@#P)Q>Ew;OXz-=kkTZ+Kr#J;^*(;=kAi8w%+CL;p*|= z=kVI&>(bffrOC?50000ubW%=J009F71qKEO2nY-f4G<9$6&M*B8z3ViBqb&$CMPK^ zFE=|oK0iQ4M@LIeQD0zSU}PAL>9tJ%i%_6{tHzd^X2NW+afshpB9ZgN-0RY%41~+gwuLS@A002ov JPDHLkV1l=a(>eeE literal 0 HcmV?d00001 diff --git a/assets/weather/overcast-haze.png b/assets/weather/overcast-haze.png new file mode 100644 index 0000000000000000000000000000000000000000..79a3750e0c30fb4593e67830728506fd6ce7acfb GIT binary patch literal 471 zcmV;|0Vw{7P)gw3o>)7k-($do7h$32^^>Q>FM0#@rs|bl&HMj>GI<0^V{d^;py;_ptIlR?ce6{g5 zqqpGc@8Re2ji0sR=kMX>@Z#t0lAgBS077(9PE!B@ z0RsaC1_lQQ2nY-e4Gj?z6crX285$cPAR;3pBqb&$CMPHT}nMqUCH-O<=s9UJ_^|uUS0pbJ|^@ajWn#e3Xx9?D?8C zLTH?pao(JJ7@c4)gC~-YVIXWv2+I~21Z1x$WnmyOQIon-wYkFgyBEi|&SX~WXe($e7T z^^>Q>F;g3)!*px zkD$8Y-CePw`{i7;OXxOTGfr8wc_XR+vV`L z+2-Qs?vkFi-sSGy=I`L=@Y>_+(%I!OU4x+j002F7QchC<0s{jB1_lNP2nh)a3=I$w z5g8gAARr?nBqb&$CMPK^FEKYeJ3c=@Mn*?ROHNQxU|?WmW@&6}addTu346CU0001Y zNkl=7qcdm3+2yPZ%gGXbJV8_q2l|*n@`PXKx1g3b4zy}keJ;}f8Pi?`=&yY}Ga``-CmA3cA6`{{>=&pvFw`Rvj2ca!FA zyZ7|n-DmF~JpXX(@#{-BpEerklmH!XR}$nG%)rRR%*@Qj#>URU$;rjTD<~);DJ89- ztgND{rlzK@sjF{jZf$L6Z|~~n=I-w87Z8|`kdm5~nUhmkQrhljI6V+(QiZ3BV~B+0 z+k?l24hBdxT=Z8DY!=YX`XaS=&;RV11#kalA3LS?T;Nyxl9S=C`OI_Yb)TE@xbCXn z?fz2Z)+O(CK9?qJkeJ8Ive~=S;dMyH8Nrynt`J1QH6Ua-_?sr%0I%#^EFwDZvdpc@!GUHx3vIVCg!0Je_p3;+NC literal 0 HcmV?d00001 diff --git a/assets/weather/overcast-night-hail.png b/assets/weather/overcast-night-hail.png new file mode 100644 index 0000000000000000000000000000000000000000..364b369964466213e70462d11342997197dcefac GIT binary patch literal 448 zcmV;x0YCnUP)wv%CX~WXe($b2` z-{9-@lc&VvF;g3)!*px zkD$8YEwY_`_m>FlAgBSg*6hP4vqL)Y1Xpta#FNya5zhz;WU2kAwlD&!iLn4b-$=^WF zb@*n?>A31v>i2a!iNv#)g(fgq48sh9*}2S9Cn&b&2rf0=`nT#H!IqCvBZlBGN%LY~ qO+>jAJHW`t(V3#96nd5-@{m8|G#1W{=#FAf#BJ*|5t(F)vFsfUS}S@1O(5XeR}cY^Zi#}9=!fKdHIpYkKf#X z{{H#%?+;&o*mm^x?Uyg_JpR}zfA;3qvo{Z(y?OlN-MyFZ zb9Z08|Kj6=r*Hcg?0We0)6l?TpCs$GawK+nIe8(6B9@ zx`OG2e*1I{j?dXrdaviK(RJ7%`r%sPr)q(+9}=M=0(_e};?C^m3ew@3ZZFrsVr+8E tq}lP%@#x5N#%Aq35>r|=dRcAuS2OL5=RV$EUuy}9Mo(8imvv4FO#n;j4xs=5 literal 0 HcmV?d00001 diff --git a/assets/weather/overcast-night-rain.png b/assets/weather/overcast-night-rain.png new file mode 100644 index 0000000000000000000000000000000000000000..914382963e70f5b602e70dc7f32f92763b084af2 GIT binary patch literal 468 zcmV;_0W1EAP)Q>FM0#@rs|bl&HMj?`^x) z-{|p=pt|AZ@@uWuak|^v=j#AW$^cN+1W3Mk!Pk-CePw`{i7;OXy; zpS9xW?*&@u+vV`L+2-Qs?vkFi-sSGy=I`L=@Y>_+22{=lRnyYh?c48~o{{KfQ z!?=5}bKGzazJCZO@uZHn(AGP+8DpN-t$gXVX+)6pv{j}C^o_wefnagTVQX61`Vzsl zh@*Qi>=Eqv8dd`c4wD#hKD1j1Q7Xz4j!HU+t9hmTz|(As?>F8DQV70OrNXlS0000< KMNUMnLSTZd_3`=u literal 0 HcmV?d00001 diff --git a/assets/weather/overcast-night-sleet.png b/assets/weather/overcast-night-sleet.png new file mode 100644 index 0000000000000000000000000000000000000000..86085d84b3b4871ec1edd773b6ef649734a4493a GIT binary patch literal 480 zcmV<60U!Q}P)wv%CX~WXe($e7T z^^>Q>gvQz9FM0#@rs|bl&HMj?*&@b zZM)Uq=<$!By5Z&WYpvFCy4&05>j+rWhr`==!Pk-CePw`{i7hQi$7 z>F)?y)s3IE;^*(%lAgBSD=S-il4Keth1D;yr{0V z-Q@D#EwY_`_m>F_+(%I!J0?`Zr0032V zQchC<0s;dA0|W&I1_lQR2nh)Z3JMGj5fK?08XF)WBO@dwB_<{&Cn+l|EG;fCFE1}J zF*Y|hJ3Bi&K0iM~LPJJIM@L9WNlQ*pQD9(XW@&6}addTug(kQ_0001oNkl#x;Md-L}TItw4Uds|3V(!A5>bX+IBq30&9N2Dgt zoe`ipYh6qTOs*cVx9jDzD>_Bs763X{MKS;I?Gf04lxSpvS-N2ffy2Owv%CX~WXe($e7T z^^>Q>gvQz9F;g3)!*px zkD$8YEwY_`^h!rb8L?~R|e;^*(% zlAgBSB{0000$bW%=J00IL80|o{L z2M7rX3JeVp5fK?08yg@aBP1mzCMG8-EiW-QJ3Brg*6hP6VcTqxw5S^z-@BaUjHd2T!Hle|NmEk0FeG4y6S2J zn05RA|AzVd3y(bpf@jbEU%h(u#*NpRhc5xagV$dtFF*45@tgb4-)}p5`}WJ1cOHN2 zn!kCFW=|xzIy+~$NmMo9zOk)z4lt+uG_btzpglV zebR!>_n*DJ|Lo%vplOS@=WM(7;N|?_Ei-EKo?t;1o;IsFflVTv$3(Ub8vEU@$d=?N=iv9C@ZU|s;Q}|YwGG7 znp<1j+1tChxx0J&1q3D}q@-o$+90e(&OXt+voG(>-CeT z#N*@a-{F?j@@sFUo z;pOt;>hs&@>i|s308rHgNWPMwv)|_J-{$e;>-CePx8UjT;pg&=pS9xW?*&@u;^*#? zp0?iQ?&0e3;OFq#kySO&l@%1R(UWGyE-$IWEdivIw3SUcvB`6p@quX>6CNoo zYzoYUp$r8}Awz5m^x-TOaVBgEjMUf}IKXbPV8-f3Mt)ufYX$~m76CTg9@P{RwZb1z f8tS8og+>4Xm?8&2PEmsp00000NkvXXu0mjfw+GgY literal 0 HcmV?d00001 diff --git a/assets/weather/overcast-sleet.png b/assets/weather/overcast-sleet.png new file mode 100644 index 0000000000000000000000000000000000000000..e881302b9f80746fbf049eca70fc4e3e195c1967 GIT binary patch literal 448 zcmV;x0YCnUP)-CeT z#DvD#F)(v)!*px zkD$8Y-CePw}!&p;OXz-=kf?z)s3IE;^*(; z=kAi8w%+CL;p*|==kVI&>(bffg~Qy1!rIjMP+9;006uh5PE!B@0|NyH1_uZT3=Its z5fT*{8XFrRAR{9rB_<{&Cn+s2FgH6pK0iP}Mn^|WPEb)_U|?WrY;0|Gb%&6j0t~tu z0001YNklzy$voWuZQ=3QeYLQ%=p15yt2b~7=WmzY zs(o9vGl-mp)&z$0(J_ypa4PZEIq0n!f^&_J{?!Z+Z1@^Ck_h&b90o7WC50qWE?Rfb qBVEZ7styl}2vemDBCXYq*e{;36bKO%TbKO+0000(bKFQ>v9Yn^FM0#@rs|bpRBW#sJy7IwcX_M z-sSSz=IpYvzNoIWuC%%1=Ew;OXz-=kkr8 zwc_XR;^*#?p0?iQ?&0e3;OFq#%CMPK?EG#W9FE1}IFg7;9MH20qR_ z#{u_Z`dg)T8Do>vz8Fit4|xYd>N=1G`m4dsjez$a2LG_zx(2l+0*@px@>v_TSNx2? z5u`$|lF}JxBm^!~m!8{Ho09spBVvh!I*F}<5_MukuJ0By-`M6e52l~^0HE6pWcJ`Y Qt^fc407*qoM6N<$f_j4(^Z)<= literal 0 HcmV?d00001 diff --git a/assets/weather/overcast-snow.png b/assets/weather/overcast-snow.png new file mode 100644 index 0000000000000000000000000000000000000000..50cedf0c196b7aa9840b78c7c8f393a7d292aa66 GIT binary patch literal 427 zcmV;c0aX5pP)-CeT z#DvD#EwhQi$7>F?p^@{OOh;^*(;=kAi8w%+CL;p*|= z=kVI&>(bffg~Qy1!rJzWhg<*v06KJ1PE!B@0|NyH1_uZT3=Its5fT*{8XFrRBO@dw zCMG5)DJ?HIJ3Brgr z7=Y0)L^oQ5QKOEQL~rl^VmOZ7Zx&V-xtGM>8jOZ~H;dQ(x_{ktGl=x6*apVS$sv!R zaIEms+m|{E1g9o%!KJZ95b-f>r4a1qITTO&oJQhQ%iaxeYgugW9yZ1(tU^QLClBhp V2KtKLnF9a-002ovPDHLkV1idT=63)9 literal 0 HcmV?d00001 diff --git a/assets/weather/overcast.png b/assets/weather/overcast.png new file mode 100644 index 0000000000000000000000000000000000000000..d7ab982da3848989f4ba1baa1ae40275201bde97 GIT binary patch literal 385 zcmV-{0e=38P)FM0#@rs|bl&HMj@89V0kD$8YF?p^@{OOh;^*(;=kAi8w%+CL;p*|==kVI&>(bffEc0Dd z0000qbW%=J009F71qKEO2nY-f4G|I*85$cPBO@dwCMG5)DJ?HIJ3BrPALB9x%yu2q5+eiq;~$*5KNvU}_Wb|AAi&7Z zVET)JdB3V8?`u*WK@|ACN5%5T0SnK^k00hgfBsqY>8Bs+$nt0Y|7U&p@?$+sEQf&y zcW*~Od2quKm;93#pR4aa{-{b5%U|8zW_a((t5AGuK7RZ!^!UZ+w7YlT@e^w<6R`?^ z3)^u0{m#4-pBjFC#&^HI{$9zz_D78B4*2=w?-MpY7XSPAUrFFn^Z4;cAvSI{?|&?u zABZ)VB=F+J3+`vnK8Y|eFfedLT}^<8Masdk^nt%M@piNwlf>AIEMgctm03x1#Lv7OIbpQYW07*qoM6N<$f(*L73;+NC literal 0 HcmV?d00001 diff --git a/assets/weather/partly-cloudy-day-fog.png b/assets/weather/partly-cloudy-day-fog.png new file mode 100644 index 0000000000000000000000000000000000000000..7e6fa3c13aa70dbe0f260b5648e65e27a0cb3187 GIT binary patch literal 405 zcmV;G0c!q zF;Buk7zW_)pp+C+AO(#gL81}|r3R-4D9-Pjp-PIT)` z#k3sCa-(@&c_PNqq!~(?f_3XeRr_hbxe>pEZgx8{{D|I6nn|Zo-+6N{LG)&)Uf|On z5-}wlwpzyAxEYM8A|}OyFF_jk%?(7?^`xemWB-6hLb8osPY#ml`x%Z*DgXeG&!=94 zfEBxWDcj(rSR^aA;gD00000NkvXXu0mjf^J29w literal 0 HcmV?d00001 diff --git a/assets/weather/partly-cloudy-day-hail.png b/assets/weather/partly-cloudy-day-hail.png new file mode 100644 index 0000000000000000000000000000000000000000..55ebfd0f6825ac01764e778e063f50a82d7eba09 GIT binary patch literal 406 zcmV;H0crk;P)yu2q5+eiq;~$*5KNvU}_Wb|AAi&7Z zVET)JdB3V8?`u*WK@|ACN5%5T0SnK^k00hgfBsqY>8Bs+$nt0Y|7U&p@?$+sEQf&y zcW*~Od2quKm;93#pR4aa{-{b5%U|8zW_a((t5AGuK7RZ!^!UZ+w7YlT@e^w<6R`?^ z3)^u0{m#4-pBjFC#&^HI{$9zz_D78B4*2=w?-MpY7XSPAUrFFn^Z4;cAvSI{?|&?u zABZ)VB=F+J3+`vnK8Y|eFfg6#1z}x?d_xz-QDip?(X66@c+Xe~U}?(*c|*x~8$_`o>cE6TP=J4a_^W)>;=-#~K==0&}@rpUEV*mgEKXg(~Qvd-01qTTW3=Itq z4i66z5fTy;6ciN|6&4s6A0QzjB_$^)DJv^5F)=hbIy*Z-MM+gvR#;kFU0r2nZ+d%w z4XvV$0001fNklolCR^T$R}Yg_nh!6)q;J?Q+uQB!q!QiT?%nS0;qdVP!ye<~@$vEh*W~2p=JN8t z8r$dd=jZePwj|%*>fYw>09D`sUGU)G@ZIC;-Q)4)^7!HB^ZC9c-{kM=+qU|)8uiI% z`@AIO?(*c|*Z@q*08rHgNWS>MINs#y;pgz-=kWHzJ>%%~;N9Ed>GA2_!v$LCAy~+GVu|*oqGiROoWL!fbR}HVno#F0n zWQ)zEJp%G~6ygXD78)Z_^#tTIaLe(yo5z$fz? Y3Gw&_&8`--+Ao-6x-YF?W7Xj-R|A)?ts7F;qdVP!ye<~@$vEh*W~2p=JN8t z8r$dd=jZePwj|%*>V(GG-sbNJSl8g-@ZIC;-Q)4)^7!HB^ZC9c1zOeLrB@(5Vdhr`?C;Mn-UIEKR9-sI}x=kVd@@bG6fb+=as0+|Ntm0000ybW%=J009LF3k?kp4i66y5fKs+6BHB` z6%`m8A0QzmB_}H@FfcJOG&ws!KtV}RRaI74T3cORU}kT6dw-Ch`C*(>0001XNklZVO3$U&H4mzYP%CrSKj_P)woKfJcbI hR4E^$g*p=Z#S;iX2bmQ1P#FLK002ovPDHLkV1i;~;Di7G literal 0 HcmV?d00001 diff --git a/assets/weather/partly-cloudy-day-smoke.png b/assets/weather/partly-cloudy-day-smoke.png new file mode 100644 index 0000000000000000000000000000000000000000..cc3f13ee7c6162bde7b43f02aad929a87faef147 GIT binary patch literal 531 zcmV+u0_^>XP)c7S9GRK3xw*OM=;+w%>;J?Q+uQB!q!QiT z?%nS0;qdVP!ye<~@$vEh*W~2p=JN8t8r$dd=jZePwj|%*>anr0-sbP8r?=qX@Sm)+ z-Q()rmuC%$VthcDHxU;yvs;{-*%%~;N9Ed>GA2_!{g}l&D=RB3EG{oEFfcJOG&VOmJ3Bi;LPA4G zNl8gnRaRJ9TU}jdZ+d%w6Z+KN0001jNklQU4Uyka=*(6^$) V47wDAFQWhe002ovPDHLkV1l=V9LxX! literal 0 HcmV?d00001 diff --git a/assets/weather/partly-cloudy-day-snow.png b/assets/weather/partly-cloudy-day-snow.png new file mode 100644 index 0000000000000000000000000000000000000000..ea66401c9af6c275a6a5fd9c10a6b491268b3649 GIT binary patch literal 419 zcmV;U0bKrxP)+Ao-6x-YF?W7Xj-R|A)?ts7F;qdVP!ye<~@$vEh*W~2p=JN8t z8r$dd=jZePwj|%*>V(GG-sbP%;PBn!>fPh<f5&Zwi@-xXZyS) zE6TR==0;_;ppDHG6fb+=as0j5*ed0000ubW%=J009LF3k?kp4i66y5fKs+6BHB`6%`m8A0Z_rCo3y3 zF)=hbJ3v86P*qh{SXx_MU1o23dw-Ch30S_t0001TNklvtu>Yg1$Roi`$vTEqOU38Q((b_2rxg=Gi28~_kUqAo= N002ovPDHLkV1i#j-3kBz literal 0 HcmV?d00001 diff --git a/assets/weather/partly-cloudy-day.png b/assets/weather/partly-cloudy-day.png new file mode 100644 index 0000000000000000000000000000000000000000..f5263e209ae7853759cc731c6f6a7518afb1852f GIT binary patch literal 364 zcmV-y0h9iTP)yu2q5+eiq;~$*5KNvU}_Wb|AAi&7Z zVET)JdB3V8?`u*WK@|ACN5%5T0SnK^k00hgfBsqY>8Bs+$nt0Y|7U&p@?$+sEQf&y zcW*~Od2quKm;93#pR4aa{-{b5%U|8zW_a((t5AGuK7RZ!^!UZ+w7YlT@e^w<6R`?^ z3)^u0{m#4-pBjFC#&^HI{$9zz_D78B4*2=w?-MpY7XSPAUrFFn^Z4;cAvSI{?|&?u zABZ)VB=F+J3+`vnKH)3_u0MGqeB)7k-+uQBk-R|A)?f_8VX|&Se;qc+`@Z;n0@$vuHG23!)yUfK~QchC<0RjaJ3k?kp4-XI#5fKs+6BHE{7#SZRAR!_oB_$^*D=aWLJ4s7R zRaI76U0`8mXK{OfrBkBP0001QNkljmf_zxQ4M00006Z?(VyHnOiPBeE8wvhYyb*fBg9I|Me$No;~|?`}ybR&p+S4 z|EgfenS0OP7i>TO;K7H&Etl>*esvdwK0f{QqhR;thtEHEAH8$`$@>>?e?5Ko>EX){ z51s=JyjHN|^1bID9)i*17hfK}{CMKl`-jgyJbv*RNS?m?_6d;j@}q#dmIlyyCM7|B z!3>N{tlZqZynOupf`WoVLc$`Vq7stw3W`c9s;cUm+Byan)~=r3-l3skQL%}sY3YU4 z^@(CzIDz^LJY5_^BqZM+bQfxJ5OFxzzNl%13UivHLyyF}dh^xCBL8hXHC1|7=AYKw zkG`)1{3Mp#wqq;K|E|$@_=$+(?UMH&r84$UIJ-{rRB>xY;Kzs8^(O6Yex^6kM?ZPW tMN6kEoPkYpYzx~Or)JN%V*?y}vd$@?2><{%(pLZg literal 0 HcmV?d00001 diff --git a/assets/weather/partly-cloudy-night-hail.png b/assets/weather/partly-cloudy-night-hail.png new file mode 100644 index 0000000000000000000000000000000000000000..5d63cbfaa50fc39b0bc1986cef2026125ab46b6c GIT binary patch literal 407 zcmV;I0cie-P))7k-+uQBk-R|A)?ts7FX|&Se;qc+`@Z;n0@$vuHTtNs-sbOcx6k0<@Nu-#+~exqG6_clNta305)_|PE!B@0tE{T4Gj(t4-gR%5fTy;6crU17#SZRAtEFtB_}B>EHF4b zKuJqWRaI76U0`8mXK{Of>DmSB0001PNkl+9Rw?cLq(-R|ybw9?_>@Zs?A?{K%z=jZp};P7#@(&6dw+~exq~U}?(*U3@Zjg}X|&dGxYOR}@Zsn1;pgz< z==9;~@yOcm;pXt;==0&`@XOupGAmGR{j7006uh5PE!B@0tE*P3k(en4i66z z5fKs+6BHE{78n>AA0QwhA|fOuB_}8;DJv{6I66B!MM+CbRaI76U14QrXK{Of@1oY4 z0001fNkl4%IZX7qn4pk?Uf?(yB81?2@QgZJN^Iw002ovPDHLkV1nCH`bz)+ literal 0 HcmV?d00001 diff --git a/assets/weather/partly-cloudy-night-rain.png b/assets/weather/partly-cloudy-night-rain.png new file mode 100644 index 0000000000000000000000000000000000000000..35e521c58277e1cf4cc4859c419e12c7b67b47ba GIT binary patch literal 429 zcmV;e0aE^nP)fPh<G8J9JV`Qvd-11qcfZ4Gj(t4-pX&5)u;>6%`m6 zA0QziAtEFtB_}B>EHF4bLqkJJOG{N%R$5(QV`gV@dw+w3+OdKK0001RNklkAWLzxcG2h4Iw^*Y*>x2+2Rj?t zM7cOVP`V@Q9v8gbJVc`{ALdy@5~zG>V)7k-+uQBk-R|A)?ts7FX|&Se;qc+`@Z;n0@$vuHfPh<G6fb+=as0RZmZ70000ybW%=J009C83kwYm4i66y5fKp*5)%{^ z6&M*CA0QwhA|xdxCn+l|FfcefKtM@LOHfr+R$5(PVPdw-Ch9CY)U0001YNkl%hStp zSMBW`WRv{4F$OX>WZfv>?K(m<*z#eW3?%a+U&atg``EgON; literal 0 HcmV?d00001 diff --git a/assets/weather/partly-cloudy-night-smoke.png b/assets/weather/partly-cloudy-night-smoke.png new file mode 100644 index 0000000000000000000000000000000000000000..2f0ec59e28b3f509d653d6b38a40ba1aab09aca4 GIT binary patch literal 531 zcmV+u0_^>XP)VzNpP#C##+jM3UAfV@xw+`*=&{)A*z4=t+wI-m z?%nS0X|&Se;qc+`@Z;n0@$vuHG85_ej)7k-+uQBk-R|A)?ts7FX|&Se;qc+`@Z;n0@$vuHG6fb+=as0&TSeq0000ubW%=J009C83kwYm4i66y5fKp*5)%{^6&M*CA0QzjBqb#$ zDJv{6I6FW|OG{8yRaRPEVPdw-Ch5Gq470001UNklzL>~0(6wJ(b_8tKY0R0ss@j)01R~i O00000fhdEP))7k-+uQBk-R|A)?rF5r;o?{K%z;Nb9aw9?$;>fPh&-Q)4)^7wGO)8Xgyi^bgEG458+8+P_05Wt^ zPE!B@0tE{T4Gj(t4-pX&5)u;>6%`m6A0QzjBqb#$DJv{6I6Fy8OI1}?T3umgXK{Of zM?ARJ0001DNklVo0B*-tAflEL{LejvYp?|{s1uNEU*ni-` z;}1O%$cfB&1WHJU%CAx~uHs`>>wyUOem z4w^i^62Cnp!KK#6+G2C-bKcdA<;z}#I&{8zFo$uwg~-ic3{j7m7KWaf7YQ_%!PC{x JWt~$(69Am`b|(M; literal 0 HcmV?d00001 diff --git a/assets/weather/pollen-grass.png b/assets/weather/pollen-grass.png new file mode 100644 index 0000000000000000000000000000000000000000..bb3ebed807c86cae4d382c8de01882ce80c48b3a GIT binary patch literal 243 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dy9sxcfu0Z<#W~u+1dH-(}b=V)V zeY>8+{?K3RMeX;50J-4@eJAd+&e-GSus_UUe~A6QP>22D-`7jn?+g2|LDGI7P)(RU z80o%ZSOhdnq9n*Kn1M?~LP6cYz}CUd%O@Zut)QW4`n(tn~wtYy3)lbzC=ogcH95} literal 0 HcmV?d00001 diff --git a/assets/weather/pollen.png b/assets/weather/pollen.png new file mode 100644 index 0000000000000000000000000000000000000000..4f4bfa9c96f9677d53e9966eab232f85bb9f21cd GIT binary patch literal 168 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvl>na*S0Md=Kg0j^0{^#){@*0{ zeZ9nwjiSHSi~e3G3SzGl{jpx+?e@Z#Ky^GNL4Lsu90C$@3MvLR4j%Wp?(e+-6j%3j zaSYKopPV4k*1$QaV%4D3xFx!Dad-7op9!&

XG Xc*of1(Y7xPsF=ai)z4*}Q$iB}HFGB6 literal 0 HcmV?d00001 diff --git a/assets/weather/pressure-high.png b/assets/weather/pressure-high.png new file mode 100644 index 0000000000000000000000000000000000000000..6cb0ddbef427d8b856240fcc2b828dd5c488d98f GIT binary patch literal 154 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfv=>VS)S0Me|!{dpo>th#>N6yYb z##12a;{MppZSjIfPk_>#B|(0{3mXzL9-uM?Pgg&ebxsLQ0H)a|cmMzZ literal 0 HcmV?d00001 diff --git a/assets/weather/pressure-low.png b/assets/weather/pressure-low.png new file mode 100644 index 0000000000000000000000000000000000000000..9d2dca29822613b5fd02251548d51f3005362caa GIT binary patch literal 154 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfv=>VS)S0Js?uwScTKakX{+pk^+ zW&qiZ`;P|y`2dvWED7=pW>7G22#-!En4t6VjWSSB)zif>MB{vNf&}9M9Z6pY69M0b qy$rq%i#dG{9O3kB&`nffk!3I{Wcs^7`1diO1_n=8KbLh*2~7ZDE-g3! literal 0 HcmV?d00001 diff --git a/assets/weather/rain.png b/assets/weather/rain.png new file mode 100644 index 0000000000000000000000000000000000000000..6460614edcc5e511c98d5c7ce095cf57f6e66841 GIT binary patch literal 387 zcmV-}0et?6P)hb0B_~7R3;pg+;)Tz002ovPDHLkV1k{I${7Fv literal 0 HcmV?d00001 diff --git a/assets/weather/rainbow-clear.png b/assets/weather/rainbow-clear.png new file mode 100644 index 0000000000000000000000000000000000000000..67f555fee17bd662fa7fb9a9fb1d312a4a300ff1 GIT binary patch literal 433 zcmV;i0Z#sjP)1$9zHP$w4$MJERb5&wapf?NFwZgvvI!P+h& z2o_Xu5QXArh4|4bsZGsoj)P=R(SpN$#+Sq4J;MRuIF94Wl;3Y|LIm4~wuY{uF z76>(zc0mj%CKUBA3Y2vT?zIhoL<&Vle6T%yNeQXTY1)-97Sk(Q0ORfT49yS-)p}`X z)FXJG=TOcypvazSw%*I0{JZXGbgg0qZ07pNqD9=H6ZP>kDFys_K{Pte_x#l3i&#nx zy`GJYEkz=cLPZL&jqw=^$>4d<16!7Z1~G9Hi16AWDSiE-+#CLo4vm(HCjc?s+UQD` zQ^Jwr!u-m0Tun}-W>@VjmC4lHWZouEvsoDc01>NhU-W52bbOfOFR*G0=Dj3c7y>=E zvw%wux~OM6=<(zL00t5>(gR)Ro@AyUkJeSzQIcZV{%^mPNC&%fZ+>6B17Ek`{W0#cp%FOaZ<@d+0aZlf{{5|9L z_JW^ZiItVrcbYihS8lEagX-hFiv~~rGz%F1VEp}mF#{v>TV-}dTRRp3W6MwMhkwY0 zK4)NHxhF5qagP*75Cwh~aY5{w&@P9z2rHfLV|UxLAncX06;7#JMbjM0HaMhruR2$T>L z1402yh4wqAK0wtnnD4jUC3pAF0Vs;1DE~#Z+KM(By+qJC`pwbK+xW8gJ}m$MB$LYs zk#lGm#@<>2bO)1DW_XpJ*KG~PC+T#04gladycv3cW|MUke0Fq@cuegl9&`aYX4Z%_ zn@Dp*4-ntAvLLbM*T_`sm>+p&5tmZaLJx4)wsP0c!@ghN)J^lgH_N)NV}H>s+z&7_ z3PMcjTejcRBe8`*K*!@9>55pW0T7Xe;Cg#BD*8QZu_~g#C)--~C$r%^(7vDnd{-5t zFkQ(DPcm;uMddtY-@@necthitOeQn^>E1w?nV6XX07|72mCI#)Er%6FQIx;*4XhA? UZnoBfjsO4v07*qoM6N<$f`|d2XaE2J literal 0 HcmV?d00001 diff --git a/assets/weather/raindrop.png b/assets/weather/raindrop.png new file mode 100644 index 0000000000000000000000000000000000000000..f6aad8d36774e2194985544bf6c55ab6f9e4af5d GIT binary patch literal 256 zcmV+b0ssDqP)IRfTdSQ=hR!C^3T#>+F0oUXSVO< z5E}$cA{dAa`L?y#b(I~^AnfN0$09!>eh{g!l^u|2X51?2yU6$2JJvI4Dm%bTEpp9@ zSL7DA`W*6FYO72M0GvrU)Hs@wAx9!F=fGQ+-6Dh#^54EgLO`+x+IWNj0000;hTKUi zx!V*P_A?Z&l4{s2-n~lr_R1D|@?UEqBUV^z@93 z%*?E;?CjcFD>uvKKy6W;E{-7*l5Y=2GdVd(G+fN@Qft$A61G$Q+x`P)2LFHCShP1U z{&RQ6S@&zl-uvHC@ZvgVeO`Lf*P364Qk@=5ZQ)<=X~Sj9K&})i>#Ymo5BMu`?5cYA e`r)aAp7rNym@n>PXw?SV!rw2w2zP;PBz;@Z96--Q)4&>hb0B_~7R3;pg)OTGij=@96FN;pOh-?(zs&(}%;` z;OFj!!ra{E^5Ew1;pgz-=kVj`^xov};py=RTGiv|^Wo<3G6fb+=as0M8?i3 z0000qbW%=J00jvR4i66y5fKs+6%`g385$cOAR!_oB_$^*D=;uPJ3Bx?Nl;N!RaRPE zU0`Nsdw-Chpbx>E0001ONkl7l3Tt1yYbO-riGP7 z=g|6F?t0~*WnB)ZZg}paVcrKzz<8pOZTNUZD9w+2dABhtJDXZ(i^{YZA$aTMGn9t0 sUnU7GCTImv`83!|DQJ|+E3IF=0IbCYtKg)u>;M1&07*qoM6N<$g6_T5&Hw-a literal 0 HcmV?d00001 diff --git a/assets/weather/smoke-particles.png b/assets/weather/smoke-particles.png new file mode 100644 index 0000000000000000000000000000000000000000..baad3537168284f6f08badd09461a28af146d390 GIT binary patch literal 274 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dy2?0JKu0R?L{%-?;+w9!7_3O8<-MC}(=6$QTZCeYJ+Pw1_H}86&1qvlWe!&ckjO^?jJOTp3 zA|hg9VhSo6y7~r&=GHbg4vx-l-o9lD%wa&aj-D=#Arg{r4<2PapuoU#u-E!X?63Dm zq6PVKX9Rw%&P<+C_>R3L$A1y0dGWgUu@AQuOwnxGY1SQ5@83Q}oMqoHMnxUQ{}m@L PfIa8w>gTe~DWM4fa#V2d literal 0 HcmV?d00001 diff --git a/assets/weather/smoke.png b/assets/weather/smoke.png new file mode 100644 index 0000000000000000000000000000000000000000..2b6324b1c0efd3559e8cbb78bedf816c8f4c1afc GIT binary patch literal 490 zcmV)z(?r>D2z;PBz;@Z96-pRBXpxJ3B%`Lr6(UNl{Z(R$5(MW@meUak1i%0001aNklw;NbA#>G0g+>fPh<G9*}^Wo<3G6fb+=as0g&r~O0000mbW%=J00jvR z4i66y5fKs+6%`g385$cOAtEFtB_}B>FgQCqKuJ(hQ&m=4U0r5pdw-Chp7!$N0001I zNkl zJxfC|6vpu<$-T7~6%|AT!LC9rT^vN*9IDRMFCaLGNTFXtT?9XYF4e_XxRa}c2nt06 z1;Lj^RD7wey(j0mIvP5Nkl&i*PdJ1Cp67Yqe^!dC#nRzfv6Y5)JuqK6=>mYcgVT&{ z+BU0FVfo-R^K;FGa@o94sdlurV@5(nZ1DuebuA*yI<1WKX{(G0sIpwh*M8e{nn2h| z103*YLz0*Sbt_~Epc|$60bdeZP4zm-fJ@V90syeIdoqYHJqb#V#DqftAi#5|B}dHr zYt#8Vm!9(*KolWRkRX*b40v2=6$Q%NvuH6;Bd$583oORxLum47!>YYHM?I`?Z9!LH z?oQsZqqLqbA6@pkGy|8-X~-=FW-J0GlBT?9W3IGDHycW&JN0lvIJR%paA`VCV7ZX5 zJwCo~uN1PIR#R03{Y1@vYwgAARBoeYU$@q0vmY+amXr?9ilw;P(nsWZp6C6!Zw6eN U>`6rTcK`qY07*qoM6N<$g7)dU!~g&Q literal 0 HcmV?d00001 diff --git a/assets/weather/snowman.png b/assets/weather/snowman.png new file mode 100644 index 0000000000000000000000000000000000000000..f60fefa27295469141f59a1be32a7214e0624da9 GIT binary patch literal 342 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjR8I(u0Z-f7;FQA+d%OD{{8y~ z4gvqy2e>Kg-Mjbl<;(vszx=mw2zd1J!=n#B9z6K@{Q2kSZ-2gh`}5iB5BHycmeH`d z{rvsImmeO#`ttbgmj|!jJ%07h**DVEA>hfTt&cWu4R8#2-r4zb+N{^pW@#9^z0S;* z*R-;A3^6frHq*AY+xVOp=m@QnAirP+CKh&fb`AjnF>!Hm1!ZMTEp2UMdj|(s4-Zez zfS82Dw4A!S?xpMZ+-1G?W)Vz&(f_#@Teiq%yUcgH-EhC(VZz&VxzVP)g=)3cYPrh)!6Wy- zAaS(P`MezYydnC%A9J+QqPmm%x*~D7)pEAcaJSNKw9|3A*ZaRBakkTMw9s+5)oixX zaJkiPx6=H+B5%6YaJkZUxykmvCHcQ0Z@1F?z#{a&DsQ&Yaktd$x-$B|B5=3Te7VMR zxXq`wjDxqdakGsdrvSpUE1_T!TCk4xVFFM0nslJEb^-apTI z{<-M$=c4zYOJ09~BA0ysoOAzw$>Yyi_dgfB{#@|q(z5ibF z{R>ol(fiWxSyzD8YnBB01v9X)vaxe;a&qx1Dk&)`tEi}}YiMfu`uY3&$0Z~tCM6~3 z=H(X@RxEoea%Cn^Qi6Z_URI-hsO0Io^6;!{lD~B( l%xQbs@Zz`AGLhZ6IyIkIrYqca5(e7F;OXk;vd$@?2>?&EqpSb` literal 0 HcmV?d00001 diff --git a/assets/weather/starry-night.png b/assets/weather/starry-night.png new file mode 100644 index 0000000000000000000000000000000000000000..2e9d725d4d567613fff2933164f78716e139bad1 GIT binary patch literal 378 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dylLLH0T!A#h|NjpA_lK^!nzng! z+U7H{J1<6WJCU~gO!@A+1^e&+zaNlz=yu7@i&3qZk~ZI=pmUd`Knsc_rH{9RWIw_YvSdFjt3-~8>D z^0!?q+8kA1eCoqL|K;Dl-@0Yde$qqdx&Ygq{P#p%{(R-O#t|yV8Z_|F#qAL3g V%b!25`Zs|B(bLt>Wt~$(697bZuw4KE literal 0 HcmV?d00001 diff --git a/assets/weather/sun-hot.png b/assets/weather/sun-hot.png new file mode 100644 index 0000000000000000000000000000000000000000..a0fd9a0d55ada08e9ff2840b9f6b79232ed8b8fe GIT binary patch literal 382 zcmV-^0fGLBP)B#LD6Mzaz%d z-TAvB`Me>;&)Ub);Pt*9`o12_(c{U|;Lg(E`@SR0)!oh2-p*?I`Mw>>*W>%XBKyB0+sOJk0000mbW%=J00993 z1ql)p6B!#E93CGiD=aN7E-*4PGdDRoJ3Ku;K0iN1M@UFXNlZ>oPf~JsJr-ws0001O zNkl=wZUWO#WndKo$YU01E_P2sD0; z=xCj@>yQ-!+bfke=TFR#%mhxsy?SpMlo{<5m&fyp$fm`sD?LP;Q=8uq`Sm05K{CGdylHCjbBd07*qoM6N<$g6-?I82|tP literal 0 HcmV?d00001 diff --git a/assets/weather/sunrise.png b/assets/weather/sunrise.png new file mode 100644 index 0000000000000000000000000000000000000000..f47d638ad8bbbd73ccd73d913de285d31c004364 GIT binary patch literal 318 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyIRQQ)u0Z<#e;^V1|0=`(Z7Tma zOQ~D?{XZh||Afl_{R;p0NM|LO9-687b(ie_U9zTj{y+98{RE2dS6J7r_jA9piJhO3 zO~C&HO1};%{yrf8d$0WOeae6K$^Y7~_-nt?U!eG2MPqwEGy6bO`+#^(&dETlR7!&U zf*BZ@+1R;wdHDo{B_yS!WYsh@baV`jP0cK=tfP`MGINWHY9qLXvViJiJzX3_BqZM+ zJj&Q$Ai!|YRrt{0r;U*Z3Lh1<)te(qN`vGX&s z3HX0N>DM8}-v{J>@0I_(PuavF;OJZ(pwypz^1t>g{@Snf_kfbIt?#eBil+7f&(7VL z3A9qRB*-tAfsu`!i(#qPw%`YlBBQrO*mgVNIexQbE zPZ!4!3CXtyk1{qG2rwKx+O&K3(*IJK3g6qLa{Br{@Y|AkXsl125ZZ z<*TGG?)dr7OzA}S`?7<3L+2(>3Oy<0v|&kTTj1)irst<$35c1jjEYS QKx-I0UHx3vIVCg!064XOdjJ3c literal 0 HcmV?d00001 diff --git a/assets/weather/thermometer-celsius.png b/assets/weather/thermometer-celsius.png new file mode 100644 index 0000000000000000000000000000000000000000..5fa977f97e4261d4faf95610635c457bcdef7a08 GIT binary patch literal 314 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyr2#%6u0Z<#|NjmS4l16W3Jwk@ zPTbzV|NQy$_vfuTbot)P`>$SIyY}G1&Br$%KfZYJ_Ql(8FJFFo=FFo*S0A3e@$T%! zN4F--Id|##wH4dn$0t2cOnH@%`XWBX+#%q3M!uOtz=OJ0ARCC@ySRLCbv1JgeCO=^ z-r4yPpO-k$V%3r$zhDMN7IqFk0Rd5Q2}x;b85vn+Ej?R1`-r&2+`NL~hNcPgmn=IV zrNatxslTU-V~B+0+k?j$8w_|@HW;(`yx;r%uX{?}Q))Baz(Eks$ernSq6wDfY|MdqATZJYD@< J);T3K0RaBugr)!h literal 0 HcmV?d00001 diff --git a/assets/weather/thermometer-colder.png b/assets/weather/thermometer-colder.png new file mode 100644 index 0000000000000000000000000000000000000000..2a6788f648e97ed3cd25c6d407f0a4bfbac858d9 GIT binary patch literal 296 zcmV+@0oVSCP) zze>YU6vy%3y}8LX4G{xf{4-<}HwO`P%5ymQDtQavqO)5Emu{ki6k5T$6eL54RLyO3 zkI&$VRD|={&yVkP03n1B{}~Y}B2s-e*vFH}Y}cjHQ4*x4SuS3S;yyaZjyx`7(8W(TOrL<2 z^KRa{s$PX(q|tFU*a5~w>GS*gJOF9kR3igSKcHT=7J$S!^4--2zy|i_sVwd|GwcB0 unJ~|Gt^-d&9QrwTr4q}^ literal 0 HcmV?d00001 diff --git a/assets/weather/thermometer-fahrenheit.png b/assets/weather/thermometer-fahrenheit.png new file mode 100644 index 0000000000000000000000000000000000000000..ac8bc6da161148cbf26e24cc0ef637615bdf5297 GIT binary patch literal 302 zcmV+}0nz@6P)euXzcP&PnN??goKMMXA2QSL)S z??XerTG(>{001L&QchC<0SFEd5ET~~85u3roixX zz!3ld082?kK~xwS?ZL$XfG`jQz&+q_clZ8lq=M`>A7=2gMFf;v)*cuwx)_YMeF8?; zEp$NWy!iJq!6-kk6nh1u;CUM`*)T?+MDVlZ161Gwt&Gu)L;wH)07*qoM6N<$g3&>S ADF6Tf literal 0 HcmV?d00001 diff --git a/assets/weather/thermometer-glass-celsius.png b/assets/weather/thermometer-glass-celsius.png new file mode 100644 index 0000000000000000000000000000000000000000..ab548189d1ce911e52acd195923d95c879da0834 GIT binary patch literal 285 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dy2?0JKu0Z<#|NjmS4*U1-KXc}c zil^u8+qV@Q9PZzLfBpKCGiPpIzWj3e@?95hzBzp6?wK=p&!2yO@#2Hiryrg<^XSaw zmxr!CJbUBanTwClU3z}{{Nqy>pP4%Zm^lOhNf5&^PCUVm3^nqbuXA$_&Foxj;&N-c6^YKO6lD_*CPdtRBs;myQF1H!GgkV fuL2|w>rdimHfGAbCU}7xXfA`NtDnm{r-UW|0Ec_+ literal 0 HcmV?d00001 diff --git a/assets/weather/thermometer-glass-fahrenheit.png b/assets/weather/thermometer-glass-fahrenheit.png new file mode 100644 index 0000000000000000000000000000000000000000..a2fb16d61e6468a2f9abe1b9cc7f736fc6a99dc9 GIT binary patch literal 274 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyQ2{<7u0Z<#|Nr~}?q%W$<+Mb6Mw<&;$T)@pT6P literal 0 HcmV?d00001 diff --git a/assets/weather/thermometer-glass.png b/assets/weather/thermometer-glass.png new file mode 100644 index 0000000000000000000000000000000000000000..61708cb7682be67d2644d082a9216031051f56ad GIT binary patch literal 239 zcmV pDWY75{X>|Yq002ovPDHLkV1mJ2Y6JiP literal 0 HcmV?d00001 diff --git a/assets/weather/thermometer-mercury-cold.png b/assets/weather/thermometer-mercury-cold.png new file mode 100644 index 0000000000000000000000000000000000000000..22e2029861e5a672bc98ccaca6fed2111c75e2c0 GIT binary patch literal 140 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJU{4pvkcif|=Qau+P~c%X=ws#udA|K}|{yh8D%D~vz*m3^quRCXL5)5*DsmLU$4~a;L<4g+n oUi(ftP5tL?b7}9)nUWhAL!&s|Oj?~k1C3|!boFyt=akR{0PSZm%m4rY literal 0 HcmV?d00001 diff --git a/assets/weather/thermometer-mercury.png b/assets/weather/thermometer-mercury.png new file mode 100644 index 0000000000000000000000000000000000000000..8344fc8bf975e5a1be9d20fcb93ae95fdbd9488e GIT binary patch literal 138 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJKu;IPkcif|=Qi>-7zj8A#vhTn z$yy@W$o4JY*r`vkXUenv|DvZcFf=5leVci6Ztt@rfu+Zyu5V+mFW~Q)aBLg1>R!>0 l7Sip)<}b^t7#LJuGV5t^drQ4@vIiQ@;OXk;vd$@?2>^83F2Vo+ literal 0 HcmV?d00001 diff --git a/assets/weather/thermometer-moon.png b/assets/weather/thermometer-moon.png new file mode 100644 index 0000000000000000000000000000000000000000..77937c63dbe92879cf8965e972927c7301d7835d GIT binary patch literal 328 zcmV-O0k{5%P)gv|k;ApeZ(c9b6+wIfS<-F3`%*^7#)!~xM z<#4#xztihsu*`9|+0D`7+K`;i(&ult*KxSjY`N8u!rRuUw|%(M?_Xl)VPxuHW$0gI z=V))>eueKuMDRsL?n6WGLqpAXY`6db04Q`)PE!B@0S5{W5E2&{85ztF)}na zJv}}@M@UIeSXy3TZEkadq^7hns?7iZ08vRqK~xwS?ZL$XfG`jQz$Jmh-QBJK2B{$T z<&zm`e-Y9I$4ZMC97@{J27{U@=t>_-bet~w3QDx?Sw0w0imp4BU^vfPgA*>R2bK`f ae)0hu#RGSaM!~KC0000upYk$uKK;Y^TS{L``Wz`{kmYIy z1_lQCnuD5*4FA9V{rCU>l^5SRn3;d`|6*X0Ak`eQ9l*}X?sfP7@7zrTNvF*G>-xz?clOOEB|d$ya`QkecT{-lco*jU+xKEC*M z8OB%TVR_5)`o(vK|9@Z5#R1HJ|1rN7bNI%0|UeA)z_H0u3fWb`2Syx`}$?ehK2@KQp_Sd8>%)RclrOHQI3h_ z_wU)f_n+$T->mX7A^p6%pUY`-&7=sBTM&(cQ7{Td!6+DT008^)Y6?Q2r!4>g002ov JPDHLkV1m3Uwxs|7 literal 0 HcmV?d00001 diff --git a/assets/weather/thermometer-snow.png b/assets/weather/thermometer-snow.png new file mode 100644 index 0000000000000000000000000000000000000000..b168de8d1eb11d715ce6e2b82232770c05e61d2c GIT binary patch literal 363 zcmV-x0hIoUP) zu}i~16vy%RE-y_|n_4_4HiLP2n`ErLRoDpC}Y zf=Nu$d;SaFMa1Dgd%pMM4gz2phGF~;)cw#Zaw;<;BGU4~;byqo5?7~3@2U;$<(5%RK z0D$Vnd63TrbFYp0dIot)B&KELovAdmZvX(mzr6{|{p%&qaWlK@c4cJs$c|foHo!`v z)O{ShC7h2Y<7kCsl*E$TDh=%?AS(Ix(_jq|#Y~p=hq3Inx5F3Zj_v@MqLi6;fEiZn zwd4Jb1?9sF4UiMEvAMXH2w{1)yw~j%!pz9b+W!*6Fbv~g_yz;KX7|GExEKHc002ov JPDHLkV1g2sr@8 zu}Z^09LMqh|9ZKkNRpOTMGdsYM^F*mGWZbU;Na%s>xoMcMJg^@Q3RD%sDm`M4ODwg z?ERhG%~cTLJ`eD{KfmDs48t&t|BQ%`h>)V?DxC*Kod)VY-fTX2sVf2x$gaf)ZYjII z&6o%*96e#!8~wDybq}y@&iEK7N{D&1Dhn`WB`Y4D01U=?I!yNf008goc*VK9T6*yh zFJzLnpyI7%)%tp#hV}vg0Pg+G#^mkQFR!+MxsC*tL}Gi80aaUod5!51AZ300000NkvXXu0mjf4@9A( literal 0 HcmV?d00001 diff --git a/assets/weather/thermometer-warmer.png b/assets/weather/thermometer-warmer.png new file mode 100644 index 0000000000000000000000000000000000000000..634daf802fde8ec0e7f1e98d5c0d064acb927f40 GIT binary patch literal 298 zcmV+_0oDGAP) zv1$TA5XSM@x!GI2Vv03n1B{~0qYW>&{+1V8TgM-^w|S{hkee@}*54#K zfQ4k63XgHhu>6+!_wUpDzdzY{88|o?m_L2`+;{l3V)wN}!M`}Twvl2S$swR3@Gs~y z^XE5QY~0%1Y|N}YEZ>!!;7?>Fjh^Voub93+i zDlU5O-J?g}NHv#Y@c;jR#{D;MitOLNpY(J!3P!;w7zLwXL<0aENmg)oke4X{0000< KMNUMnLSTa9=#cXO literal 0 HcmV?d00001 diff --git a/assets/weather/thermometer.png b/assets/weather/thermometer.png new file mode 100644 index 0000000000000000000000000000000000000000..6aa661af4e45580f5e5e2834c090c08932c67ce8 GIT binary patch literal 264 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJ^PVn_ArY-_uNZP2G7vfTak@!v zjyKCeSKW@)vzsldc?v(Y$sM@4a56^|2iH=i9VHq~QQglf+rtA}zTf`*T)Bn8;F!ek z^bQSyz>v%d{Kr4;i<8pll3lF#{ELMgf037a5PQbjlmc=7Ks%}4GUFv>Czu%+UY&Mb zzAbk9pN4xYOb)y;JDjllRdv+)cd8xX-oBq5KyV9m4A2P4d|D*?p;#1Yx%m>Ql z6r(CP>iCal0=>rI M>FVdQ&MBb@0KA83T>t<8 literal 0 HcmV?d00001 diff --git a/assets/weather/thunderstorms-day-extreme-rain.png b/assets/weather/thunderstorms-day-extreme-rain.png new file mode 100644 index 0000000000000000000000000000000000000000..2db3c00f5d8dfab8f52f5bbb4f2be605cce4dbbe GIT binary patch literal 520 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyuL68RT!AzLL&N_D28K`&ShZ@E zR%mF$s#X85GI)CCG9>(Wa7bvFzuz)6^#3s#W8X9_tx#*fBpYw1+C1IP zH6WvR{?_lym0bcdCe7P6waHy8{iI7^x>tDa_Z3QEaWPTx@kKciY$4}@<4WDLmONN! za(1Tu%cc6?Rw#d6p#&ti$p;+*`qj52$S;_IiHVt+nT?H&or8melaq^wS5Qb;L{dsx zL0MTvMO9TzO-)@>TUXz}(A?VE-r3d7-QCYWFfckHAt5s-C%2@uqN=98xqbS)wY&De z|MG}`4JZ&jT^vIsB;Ou16+7g>;Bc^iHxM`%eE%KKUa@7iZbpVt^E3UXycDj5Q42!W ziUck`ufzX1$D&N?i7rQk_2hZxd{=&-Z53ube(t<`-aGGd!5i*BweppWS={z$MlYCX zplFbLbA!Ez$GTpQooD9E|339xvcuI6WtK{%xysX>KF=0^Y|s7e*By85}S Ib4q9e0K2Hkw*UYD literal 0 HcmV?d00001 diff --git a/assets/weather/thunderstorms-day-extreme-snow.png b/assets/weather/thunderstorms-day-extreme-snow.png new file mode 100644 index 0000000000000000000000000000000000000000..6c1c923b61c74758e150dcbf67c28d37a78d1b54 GIT binary patch literal 524 zcmV+n0`vWeP)$IaO8v#vC(EW-2OGJ5FMNzu*6_ zAUsP;@wgoSyc_?&8b?xQfRnL8OlXA0*+5WeLQrOdil|3UV~U@%|G^wQQDs9>Wt6DA z_`V@TOJx7PBt%bUM^R^GWl;LI8b(uQMN({!pt?m-WrxGt`@A8NptC_wXhc(GlcTpq zQfN|JVzZY%MNnvspSAa=BScVWtht+#p0<^OM?_I)N>^?7s3KNgTv}gWa%@;rUUl}U zB89@*p}Vc*tU>Blf5x^{68Ds3Rszj4c2F08MmKPE!B^0s{jB1_lNP2nY!Y3JeVp z5D^j+6d4*D8z3ViBqb##CMG8-D=jZDF*iFqKR`uBM@LRkQCnbOU}004wZL_t&-8STL}7Q#RPK*5i@1b24}F2UXJe;we_Zc@y;eqzF}FI5^U>sSShOKv?@s!@6wn;Bmo5aHyC5Hhxj)-OU?1nJx{1vY z81bfTfmYgrz_jB)dMJ=tn-Owb6PM>bVDOqy6}X+w3A9{g2~7(b-A`VGGYn#$c$6Rj O0000U()~e3O3%}A9u+7-y{8hzm$7W zTEpaxPCgk90U1sKY0X_L-2IY&tWxfpzxn?`8JoaV=fKn{EB5@@r}%T3f{S;`|9vVh z{%P)k>8Ys!zqU!a1*f?N<@7Juf)YQ~9G_`g04Ghh# zt?gai+}-^G1EUiX5;AjgN=hrLYU%> z%~D=o&Y|b{u3jl2qy7*NuWy;*Uss)miCKGubGJm7eu?P5{dvz6kN9Px;!NKQ4Ea(U z-YwbxQSpPE@}8;JA0Fa3sCm@Acz%rHjE{@t8se@sCRlzr5Zij^T;GZJOTO*UoVI{B k_EhNM8OOvcefC!}$)Do7oK`CA33LjBr>mdKI;Vst03I5^B>(^b literal 0 HcmV?d00001 diff --git a/assets/weather/thunderstorms-day-overcast-rain.png b/assets/weather/thunderstorms-day-overcast-rain.png new file mode 100644 index 0000000000000000000000000000000000000000..78b85cfb3d7a94e41b5cc0407b91366562d39bd4 GIT binary patch literal 520 zcmV+j0{8uiP)Q>F?v_8Vk+T-i@s3PLx)#BpV>D|2sRL;`b z%CMPK?EiW)JH#<8&Lq$eMM@~;sQCnbOU}YuT_r6iBX32)V4BpZAsCV?@>Pb~z$-Z6lXL^P3moc?FM0#@rs|b|G^xTsJz|e>)qt? z_`V_9=IsBzB;)Ar-s$h;-^%*78sF&gkD$8YxaYJ`@A8NptIlR?ce6{lcTrb z>F?v_D|53+2!`A zB89@*p}Vc*tU>Blf5x^{68Ds3Shxs~!LV08MmKPE!B^0s{jB1_lNP2nY!Y3JeVp z5D^j+6d4*D8z3ViBqb##CMG8-D=jZDF*iFqKR`uBM@LRkQCnbOU}004wZL_t&-8STL}7Q#RPK*5i@1b24}F2UXJe;we_Zc@y;eqzA-6h=i_zq9n71Ne>rMu~G|=p~mQDm*yC5Hhg+JRvV4vWtx`|B@ z81bfTfp*G-z^vmydMJ=tTM%;FVDy?%6}X+wakN}z2~Beu-A`VDJPctlmLF&U O0000Q>-)SRlAyES=I!6+@sp#s;OXz< z=Hv0tbB&+1;^*)8rz7I$?vkFi?$?*#=kVI&>-VT4;^Nif;@Iikz0%p`_NXHEs3Z2M zBlV~v_NXJ}s7Pf1002mIQchC<0s;dA0|o{L2M7oW2?`7i5D^j+6d4*DAR{9rBqb## zCMG8+DJv~6FflhfJ3mE6M@LRkQCnbOU}8ypl*? zrX?o=*KjcjWr6OvxA7wI9V5Jz*Wtnl!70T@bDvxynDL?>fPTh?U^Vc-U4`7vfynQs p_P8n5pdDSxRl}IZ7kNy-c>)~-3e!CA*;@br002ovPDHLkV1nxN1mOSx literal 0 HcmV?d00001 diff --git a/assets/weather/thunderstorms-day-rain.png b/assets/weather/thunderstorms-day-rain.png new file mode 100644 index 0000000000000000000000000000000000000000..8a9d924b5258a1f3b3be938922643b03498c69f3 GIT binary patch literal 460 zcmV;-0W;J?Q+uQB!q!QiT?%nS0;qdVP!ye<~@$vEh*W~2p=JN8t z8r$dd=jZePwj|%*>fYw>;NbB1sw3Uw>fPh<f5&Zwi@-xXZyS) zE6Tlrz7L&^D1Y_+Ao-6x-YF?W7Xj-R|A)?ts7F|F0n7@bLe`9^>Qj@$vuHcE6Tlrz7L&^Q^g>v-O#SY%t!HTR`-L!g9pNv5BZR;mh6_NQNmO*aJob zNo`fdd@a82*mGK)1v?Y002ovPDHLk FV1jxO_9XxS literal 0 HcmV?d00001 diff --git a/assets/weather/thunderstorms-day.png b/assets/weather/thunderstorms-day.png new file mode 100644 index 0000000000000000000000000000000000000000..75fe04aed874b37ab5c6577211da9504f98a66c5 GIT binary patch literal 438 zcmV;n0ZIOeP)+Ao-6x-YF?W7Xj-R|A)?*FeK;qdVP!ye<~@$vEh*W~2p=JN8t z8r$dd=jZePwj|%*>fYw>;NbB1sw3Uw>fPh<h($07*qoM6N<$f;9i2@Ui214XR;l5D)a-9wXYLlfPD(i$djbn?k?2*_{>NNes|;Siea z?w9;ym2%ho%{GCl&Vi{@R_t-~OLFl}aq&-c4@`FpPIC>)>0hwREiBzNFqOgQ)T9NQ z9sM(0f>T|BGAA$IZXP$!H7LV5Fw-?4qj&z+@5_~4z=ltnw@oYkq+3Y3OJKTJc<%QV zN^BwLg5yfvvz9zqXmWO@{mZ5L-&QDpU7-Xd*S*wx3iOFnNswPK10yptD;pa-2L}fa zub_~qq?ELRva*VbimIBLn!2X0zPYuvoxQW0ySulae_(tz+7L$h~puzeBClo+<3bBxvX_@RYnZ&z$tR=b*iDCk45xs! z=B^bEp~>!k$zAg|+XSXM2c}M0vB%Lb$;CUx#XrqGFx@RU%{3^ef59%duyohJ)b_)- zCoS0Q=%3*doaz#kIeGDR*PsmNz)aVGjNbWMzb{vI3CLKpb2iZAN%OY3g`~R#rhA3w zeqW&!99Q~ng;MLGTMKuueX_>k+X`hM`np01Nb3E#CJFS3Q%R6tFaskqGb9SNohsx;TbNNWMLIRIG_X#NnW}7F$A6d6M?F8~^^huWWzY+^Q{pM&L*E zSwHUl=A&Dt=~`@V>sn#sC)W6G$$oEzj{M-7tJkASTN36UziRg^jN@6&4fO@#T*?uA z$uIn+wb)rbHP+6&e*JJq%AyLRch9>!=g(gHI6GPJ$4TkM;hZKBK1r`Z(c|gr=d#Wz Gp$Py=&$aac literal 0 HcmV?d00001 diff --git a/assets/weather/thunderstorms-extreme.png b/assets/weather/thunderstorms-extreme.png new file mode 100644 index 0000000000000000000000000000000000000000..989ffa839a38b7e8f3827e5f416a2637536e15ff GIT binary patch literal 445 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyy8?VdT!AzYgocK$TD8j9I893{ zv|-gMPtRNjhlGat`+;0*zoh@`6>Pk{-9wXYLlfPD(i$djbn?k?2*_{>NNes|;Siea z?w9;ym2%ho%{GCl&Vi{@R_t-~OZvG?!Nohp#XrqGFx@RU%{3^ef59%duyohJ)JY3A zJNjq11gE+LWlmna-8Cq~IWW^TAftEw*6+)eUBD(!nzzj@B;6%2-77rz`wFGtxYBPc zl)kM{2BNQEM)=$NKY&iREeY}qW?*DyW@Tez=iuPs6%Z5>m6VcJP*zq^QBhS>Q&ZQ_ z)YUh)wzji(b9eXl3ye=lNXX2|$t@|ZXrHiQ|NGEe;>tjSNh z(SM@G=NS_!<(%3M{oX&#YFquB+M~u6|?j{l_qSNGpC5- zOLAjJt-%^gruC<8KM1<1d_$mU{ec||m2RBf^r2v3Y1o7%U2K1!-}RYpbi{~x{`s1H d8IymU;Uy_S=ii>}mdtiF*?yGLWX|6#z{R?(wuf66P zm|D2&HiOTpwADu^E!gbnpWzam>JpSWdGU7hxOq9-uDJ$fxCUhO&fofdxw30`L3r&% z7qDHE=55nTKj{&c?|l2%YwR#8z=RZ~+_*VNTFG`F_4v$uD4 zb8~n1_VW)2Oh`ybNz2U1$t^4?t!QqaK5y-={qOHB7$PD0_MoZQp#Tww zgWbDuGnWsGZ|~%&wMIVQ_jn?uloDz zR_}t%T%RUJvl+#*+}4O+TAR|AaAzopr0RMx)E&u=k literal 0 HcmV?d00001 diff --git a/assets/weather/thunderstorms-night-extreme-snow.png b/assets/weather/thunderstorms-night-extreme-snow.png new file mode 100644 index 0000000000000000000000000000000000000000..eaacc314e0078cfb29b13655eac978f54e77015b GIT binary patch literal 505 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dy_X2!ET!AzLLjyx72&`JQN()3? zZCJI+(=)eW{(j5Q(86PnjeXO!v_h@@k{b5k|G!?r#@jpd@Fn-4w1&wWoqRG{j@@(! z$Z!fsYwlX%5Sr}nm)tdfvrS;Cb71O}6?+{0l3ct~T>R7A1JiSNUv&#ka}CPrU$85C z?KRiH)WTi2+YjGPTYYrWg3XTp87{%8E?!!;nIcmCGz%avWj3&LwB zx&&mb**P0%(WH6XJi@YE0@J<1bHA@p3XUuNwnC}((5;2L*FIU}@NI=M5Pe;t1SCC= zoTvr*&$A@RFPMRenVFf5jg6gylaq^wS3p2eP*O@-T0vP^MMYIjO-)@>SKrXw+S<1iXC!b za5&g+%_(+g?gODafB%Uy$-PbEmYQ`Y;U{}J!^(_oo~2om#KvFlWyKyxzoehb6kNPhT>R7A1JiSNUv&#ka}CPrU$85C z?KRiH)WTi2(^emyv|zKNe}+qNs!LGjKdB5`iAD#)^_&xZf@@G-hKgr2?+@)X_+}Wg(amG z?GrZae?Nbv(=MQSHJ&bxArg{r4;~e2Vi0k-n7#eR-MhV9V#og1Pd3Vtw|IPv_xXcg z?Fl^YFE2{Xx@%UZCiCrdlv;hXsgp<5(#k~)U&Nhln-W$nHMrV;@)gfP&Gx0mC*KL= z{0LZoV8ILb4YKVIS33QC<1E5^p~_ao|4z5=)4T^~9&~f9yT6BVaTDiyedbaRP)vEc L`njxgN@xNAI4QgS literal 0 HcmV?d00001 diff --git a/assets/weather/thunderstorms-night-overcast-rain.png b/assets/weather/thunderstorms-night-overcast-rain.png new file mode 100644 index 0000000000000000000000000000000000000000..efda03867ec6af5b1c979584d0621c28702cbf3d GIT binary patch literal 497 zcmVQ>F;g3)!*px zkD$8Y5Ov-q{*OH*K-{$S#=JDj~^^>EwH(s7>w$|Y3?~R|e;^*)8 zrz6|t@VD9K;^*#?p0?iQ?kZ==-RAG$=kVI&>-VT422{?{+2u!Sq~M`6&6z*xr7!lV zBlV~v_NXJCEpSl)002mIQchC<0s{jB1_lNP2nY!Y3JeVq5g8gAAR{9rBqb&$CMPK^ zFEKYeJ3c=@LqzK*5Wj)pYWhm1{u#NLo+Q+5{CcNnfpq{iMn6=z^9y(|{J0ib}^Ygy3 n1Z)@@-7ZIzu5HxPn11sD=VuC%Ey5mc00000NkvXXu0mjfC~5`F literal 0 HcmV?d00001 diff --git a/assets/weather/thunderstorms-night-overcast-snow.png b/assets/weather/thunderstorms-night-overcast-snow.png new file mode 100644 index 0000000000000000000000000000000000000000..c56b72814d2bd8a5259b23dc00e910f2af0cfe7e GIT binary patch literal 502 zcmVwv%C|F0lv!_v~y z(%|d$lc&Ul#@XZJ?BD0_w#D1q>FM0#@rs|bl&HMj?`^x) z-{|p=pt|AZ@@uWuak|^v=j(^V+jzm(lAyES=I!6+@#O3ElcTq6w$|Y3?~R|e;^*)8 zrz6|t@VD9Ktht-w=kAi8w%+CL-RAG$=kVI&>-VT4(%I$qs3L{J+M&Cx4q9bai-#ke{Ngu)pt_< zdHnImD&?;Eo2RVUbN9*XyH7sdd;00;GKE{u-aLNs?%vDyxx264fAO(@!LEl-KV`4I zR=Df-?dPv64ql(MVDtTFZ|^_*_ylO?;_W%xu0449zIXoCN6+7XU#@)n>4)t%pFMj1 zZqmGM_nyAH`|SOL=O1o8e*Jxg(xsbEzpYUEwn7<*zJeLbm;Qr1>|7G$7tFxK%*@Qj z#>URU$;rjTDoz-9}XWkMl5E!%Y=Z=;8To~L}d z-R<|NBIM}v;py=PRL)0gq~M`6&6z*xr7!lVBlV~v_NXJ1TEJ)k002OAQchC<0RjaG z3kwYm4i66z5fKs+6BHE{7#SZRAtEFsB_$^*D=aWLJ3~oJOHWl*R$5(PVP-w zgO{GIy1(!FDcX|&004MNL_t&-8STME62d?fK*5K@UN*sw`A zfxn1_FbPk_WwQNV8XxtHyC2PSwS|MMo7fgRK;(q1y7u@uwh=XEd|4ZXWRL>%0Z=U@ zl~sx8Q$v2~Ac_~bydFF3B)+Ei>lvfl5VIzM-@E~L=m>7(B_uTf0000)7k-+uQBk-R|A)?ts7F|F0lvw9?_>@Zs?ATtNsgvQz4=I?N~&*0$jakSFhfPh<-w zke{Ngu)puBglek*004VQL_t&-8STM07J^U|K*4Jk0V68rEM@_-nD)Oa&(Zer3mY3| zi2Ow|hDv-fuah4SbA)J{qr+@fXss<|gY>T22NGvwO>e@-sfVbuf4WfIScp;;J9s?|${9i#_si8r<>u%p?HwXNc?0-E2*eL2BWwTw002ovPDHLk FV1gDy@w5N{ literal 0 HcmV?d00001 diff --git a/assets/weather/thunderstorms-night.png b/assets/weather/thunderstorms-night.png new file mode 100644 index 0000000000000000000000000000000000000000..84f6b3672a4ce425346e3174721847ffa35ed575 GIT binary patch literal 437 zcmV;m0ZRUfP))7k-+uQBk-R|A)?*FeKX|&Se;qc+`@Z;n0@$vuHczb`4u)psEsSWJ_004DKL_t&- z8STMG4uSv_K*6VC0qiIi#NG?oY4^Vu32r}_xN*Y_xxY{fWGNo@CXMw{BgMGBdhAZk z(b+(@sN8!qp!7yIylzOmriiQ~AMKlpWLpE=C!pF$22LMB7g`qsQMt=J3UoSEQt7@& fHjghR+90e(&OXt+voG(>-CeT z#N*@a-{D=S-_^Km{pR<&xyxrvM-Q@D#EwH(s9L>F?p^@{OOh;^*)8rz7I$?vkFi-sSEp zXUXB}@!;q1+T-i@s3Hbb&eGZCM{1K2M7oV3=Itt5)~O58z3ViBqSv!CMG8-EiX4aJ3c={Mn^|WPES!^U|?Wr zY;0|9bai-xhnJqMy1(!6C30r~004JML_t&-8STNv7J>j2K*4JVb`f@Wpn}-S|9_Nv z+&);ia={FNzt!xt@HSY@8pX6xUC%s(?L3*F#qrT1PV+3}YueMWKBUtig z9)W%}j9@cNkbIh;9wJCW`79UrVMPmZJT30m6TWUE{AmP!^8!622<%F+LpJ~b002ov JPDHLkV1gfW@!9|Y literal 0 HcmV?d00001 diff --git a/assets/weather/thunderstorms-overcast-snow.png b/assets/weather/thunderstorms-overcast-snow.png new file mode 100644 index 0000000000000000000000000000000000000000..de97fe7ef53c71bb8a4b0c81c67f425ce6de7cdf GIT binary patch literal 470 zcmV;{0V)28P)Q>gvQz9F?j@@sFUo z;pOt;>hs&@>xaYJlAyES=I!6+@#O3ElcTrb>F?p^@{OOh;^*)8rz5Pno8ss0lAgBS zK2M7oZ4Gj4q5bai-#ke{Ngu)psV+$jJ6004SPL_t&-8STNv7J>j2K*4J#SQsdFU@NwO`TrlK z9=8t`u3Ruf;BU3MZM+Savu3ek&l@pB`ZQewdXxSxi6FJl@nLK;^)Z4&nXk^Nv_i1p z%{l{vY8b(Klt6h{pdTYhLiwzAdEV7%A&w{Y=C~SuuBL*ojY;4qFTr35ME}SVlmGw# M07*qoM6N<$f=8D5tN;K2 literal 0 HcmV?d00001 diff --git a/assets/weather/thunderstorms-overcast.png b/assets/weather/thunderstorms-overcast.png new file mode 100644 index 0000000000000000000000000000000000000000..3de21c3c847e6ef0bf50c4314dc1c93fcec18b2b GIT binary patch literal 444 zcmV;t0Ym6uOQOW(&OXt+voG(>-CeT z#N*@a-{D=S-_^Km{pR<&xyxrvM-Q@D#F?j@@sFUo z;pOt;>hs&@>yn_e-{$S#=JDj~^^>Ew;OXz-=kkr8wc_XR_opM`=kAi8w%+CL;p*|= z=kVI&>-VT4(%I$qs3P{LBlf5x^{68Ds3Wy@+im~=06lb4PE!B@0|NyH1_uZT3=Its z5fT*{8XF)ZBP1jxCMG5)C@C#3H#<8%KSoDKOHNT=U|?WrY;0|Gb$Ex6u)ptuCCStP z004AJL_t&-8STNz7J&d5fYDFLn3;@ao~g`5@BdmjZU1skD~s+W@wY}3lW>c}c35vc zcKs|OeN*fJ)Aj6>M^HFd_!>B+-U`8`Nnm_y91-mKuGAicBjf1v;pXrvXUX@dBIM}v;py=PRL)0gq~M`6&6z*x zr7!lVBlV~v_NXI+VqiM}00202QchC<1qcZZ4i66z5fTy=6&4s78XqAdBqSvzCn+m1 zI6FH-Nl#HzRaRPEU0`NsZFqZsgO{GIy1(yBl7wgg003@DL_t&-8STN#7J*OzK+!`Y z@~GrZC6TVTRQ~_Vti|-+28|5bo7&$p)~gOmt>bpz9UuBAXy?HKXxvfQZTPy)keWpN zm?sMvUkAh$XnV*w$%tklpclJH4VOIM`GvWSQkbO=O1%QgO{rD$0S1Z&X9iF5w*UYD M07*qoM6N<$g2K<<(*OVf literal 0 HcmV?d00001 diff --git a/assets/weather/thunderstorms-snow.png b/assets/weather/thunderstorms-snow.png new file mode 100644 index 0000000000000000000000000000000000000000..e07ef72f356c58478f53ec03fc886aeef82f5613 GIT binary patch literal 420 zcmV;V0bBlwP)x9PH-sbP%;PBz;@Z96--Q)4&>hb0B_~7R3;pg+;GAicBjf1v;pXtHxtsT>BIM}v;py@As3L{J+M&Cx zFgQCqKuJ+kRaRPEU0`NsX?S~oke{Ngu)putto_XZ003}FL_t&-8STNh5`sVgK*2{4 zFaZ+G2{3_xIsE^ZIiu|zg%t(6G-|88m>WoGhj`lwcYP$(+@1o;8Hr@c*J+H3K?X)*DTvL2VKPnCOQQmKe&{N)2>TL!A&N$>dp O0000C z0000pbW%=J00jvR4i66y5fKs+6%`g385$oUA|xawB_}8;D=;`aJ4sPfRaRPEU0`Ns zczb`4u)psT!4SIu003)AL_t&-8STN_5`j@&Es3Mz7~+rl%fS zi$QN0fj>b?O)ocd9nX;%<<;ser@!S1S3TU`oNswPK11A@^fS`zosD!kFimIxb zhNh;zy`!s}yLV`0bo5L08)iV2j-D=#Ar_~T6C_xhMLWD7O@BUR+M@&OogyUW>nQ8* zZcvbx7xrV_v_|QV%_1Em3(*e4=0+Aj);mrK2TY}AI*Twc)N3;txCO7~0C~#O)z4*} HQ$iB}jz>`2 literal 0 HcmV?d00001 diff --git a/assets/weather/tide-low.png b/assets/weather/tide-low.png new file mode 100644 index 0000000000000000000000000000000000000000..d695dbcfb063c3e95e21cc8a27bc187767633987 GIT binary patch literal 266 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyQ2{<7u0WcBA(Wx;7(?0_@$QQP z4eR+Uwn(LImMY$CXzMB5vR9#fyLiq{@sfke6+2`~56aY>P%7GE?BJ`~eB8*!+sr;t zrE;Hg;{naq%PMtel^TzzG#)Xv@i(>eH~Zfu1T1mL{wTqQBg%z zRZTrp04Ll1>@AU}D!`njxg HN@xNAO_ol| literal 0 HcmV?d00001 diff --git a/assets/weather/time-afternoon.png b/assets/weather/time-afternoon.png new file mode 100644 index 0000000000000000000000000000000000000000..6e7063c5ca0e0a6ee1a5f226785aacef19ab98e1 GIT binary patch literal 438 zcmV;n0ZIOeP)f>Z=I2Ssod{Y(09xH}aD9duE9BAoz8QLd<~W7+`#gs1sUJNT%`Hl}QcMG)dSBxlxHtncc&^cw(Rr|LVB zcdt>G^A6GT87ilgVD literal 0 HcmV?d00001 diff --git a/assets/weather/time-evening.png b/assets/weather/time-evening.png new file mode 100644 index 0000000000000000000000000000000000000000..24aaa40d7b5125bd1842e8e37078acdfb2208117 GIT binary patch literal 296 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dy$pJngu0Z;K1H=C`hW|4e{&$Q2 zpQQ4Cf});-r>UL4otvAJlh^-#jsKI?|4&f=KT*@vA>e%A9DN*JyiM$U{!h^UKT+G%Dd2y<*8hoGW=;X-j)6LNBlLmRD3%2I1v9X)vT}=x z%gD;gD=4b#7?_z`JGgszczMUg#U~^rHf(qm$nhVjIM~z0F+@W0?ZLA`4hkY{7y3V~ zpAfR+$=~^xj$OJtW23=inLl<~tW%g+EOObBCzvO^-6a2nYhJ{bdqM@T9?ac(uAS@q qsh2?yHcG7QX0LGhEWx?oe9p`1%#VJt@h$`!&*16m=d#Wzp$Py%f@{A3 literal 0 HcmV?d00001 diff --git a/assets/weather/time-late-afternoon.png b/assets/weather/time-late-afternoon.png new file mode 100644 index 0000000000000000000000000000000000000000..9a7ae91cebe0349e0e94d38f75ecdbf97d8a9811 GIT binary patch literal 400 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dya{_!qT!HleG=~2(8U9aF`QM=M zzfb0Ww>Xe(?BEL$nV|T;UlYXW(fr@9@xNRB|77+5T`K=4>42mr0J#ePCu*8H1pJ?* z1yb3k_`h4>e?L%M+XN)2`M(pW5om&@8IU^>Y{&%d{}Z%K?fm~w)G)F0`QHoVYMMF) z{O{NLKT*rr!Qb2|z|1MY+%fP(Xj&K0eI_MAe!&c^tn3_|+Yo zQPy>3i^{2`%jH^({_mXW@ciG;&0>oceH3^ueh|}WovM(v=5XOxhqNhyUyLSHxJo(C z5tIJ6nfX6cy8VWUI{x3I-zm%r%_+YUtfHsEnr-4EJU4#&+uM9MpZ}U?zrUyL0yD#R WwkG@iH6cK&89ZJ6T-G@yGywq7*PM?4 literal 0 HcmV?d00001 diff --git a/assets/weather/time-late-evening.png b/assets/weather/time-late-evening.png new file mode 100644 index 0000000000000000000000000000000000000000..7f9d68b75354e0677050bc1dd6f5ee3763efc034 GIT binary patch literal 361 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyT>(BJu0WdMKL|7c!KzgW`|pRY zI(Ft65d6RT>ecPHZ?pGYKlkXXg+oBW{_9U(f4cYjhp9urlP6yuyn280`N#aN7jw6r z&DnLOaNG6!&)*kpzI^}v=f}^#m+ZWH=go)PFJ2e!xMb!KFz4ixqMeuXc3dvlaoN-< zpy}wP?blvBee=!SDZtDr07NY-~b8a!x_Rgatmk&xZnaCV09yhDb=hJs2p~=pfN>@w`h= zmd`|uz$J&?)K}*`m~a04%Z0sXmTA@h*b&1Q+j98Rv5f~3OWVp;T=&>xecdFYhs*QQ ze33WCF1LfS_pY9hdq}=jr7qfz*C=`Z$I}MC+x2^OSf literal 0 HcmV?d00001 diff --git a/assets/weather/time-late-morning.png b/assets/weather/time-late-morning.png new file mode 100644 index 0000000000000000000000000000000000000000..e907518bd8c503e4d0957ffc563ec5a4fa5f8d54 GIT binary patch literal 358 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyEdf3uu0Z-f5dCNPzhCPAA&LJ- zmA~v!{J%%>%YFrYCm%frPg6U83x|Lodz60eSNMNW>F0KtpWDF-c1Zu)r)cUB@O!WP z?|sU@_bdGdYCNF$d#~c}eF`QH0cMW=rVf5~u0D?L-ewK~|Mw~V*`s9Y6kzTY@OvLf zjTxA2<`}@PE)H^_PDzkoFasl_h^UyjxP-Kftb&?`uAZKrzP^E#wT-Qp&@PNnTA!X687H@ zU3Dyb&-JwZHxsv=%iDCdVE^^pZI^)}x!bN5?zm96@2aUoK>pT?x!ca>?7C90>qgn08X1)DFI?7W)4^SX(xZ{dzhW)1;GJ1^(&zM8+~YTk~^1v@UA*!h?`1r%<%V(t`> zzx~P~!=h@S#p)$Ne!&bZtZW>d!Xlz_3d(9)+S&%@7S`7G4h~K}{{8{sQ8BTxaS2%y z)=sp#*a6hy?djqeA|d(q;8ETN1_6eHNAKR9`_Fp`(>rI63WLM%S6{m65TxGS>G1jl z7fTgu<>q2W^Gj8K}qp+zWrTaIt=gw`?`@>_-&12?Vd!6?J&{zgfS3j3^ HP6N82;}R|G!^U z&%yKmHtGNSrA_Vp?cCg)oV~luYb=Oq~MEA;>Y1eI=g|&_0!tAirP+ z7FKQ^85tQ_S$Pc&9YaGib88284^J;||A63-sOY$af(aXvr6cD7)%$z8IEGl9PEL?u zbrvi5{9y9a^fUpXq=biu*E+TNI!uU_>KF9cv}aFIkHylRDo2jGxEwj6YEh{1K%kW= sjH_m)&YA@+;f+)FEP0fXw1Ag^Ay${UNv~oSKhS6fPgg&ebxsLQ05e%=?f?J) literal 0 HcmV?d00001 diff --git a/assets/weather/time-night.png b/assets/weather/time-night.png new file mode 100644 index 0000000000000000000000000000000000000000..464d6abe22b571086245e75669b9abfdb3bc9e0a GIT binary patch literal 358 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyT>(BJu0Xn>p&@PNnTA!X687H@ zU3JXBA>jZ0fb2cj)Arv?+;%Q+)766g*Z*Jl$lZ1sD44tLYT=Fxh5N4lzv`90^qy)Zn^UJinp0l!0$`Gzc2gbZ@&U0H~sj29OxRok|4ie1{PK}4o(39VG&U|1qEd_ zEp2TBa|>&0dj|(6AAkRVfbgi8*w}=uf`r^HE*AJSA^mtR+h&>O87*e(ry1z6>ICudJTiJEWzm}u!Xos?%4f&j1B=fb zU#rq_UOa}$Y0i|^Ny}_ztHrTqZJLy|xU>w)LqC5{4nxBtF>f%S-0_n8AmAvU?256D->XY=!(t33AUaU`o<;PtIr-5(d~ z{dlq@^zme;y7w0rG>9-*Ivm$sB;dfac1g;Hp07-uR?Oc_qx)JxLE`D^=d#Wzp$Pyu CP@Lxg literal 0 HcmV?d00001 diff --git a/assets/weather/umbrella.png b/assets/weather/umbrella.png new file mode 100644 index 0000000000000000000000000000000000000000..d15c3e6aa049fa24143352f84e4399bb7e0a8c9c GIT binary patch literal 232 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dy_5nU2u0Z<#|NrkD9PWJneE-#} zr*FRj*-u`6dGG4_;PvO{bCcaf3rBBO!axBdYjK`@%MMC=jJ2$7N? zzhDMN0Wk?#1$_fYPyc|>tgM3F`wvK1%Bg~E^mK6yk&t|Q@FZh{f&lY@4le=zbzkCF zi@vG*dXQ(?{$2Bm4vFoG3g+Js!kf9`&?JH4K97P4A0~d7_?zi`mHda?8FrtTuB9;U UYB*o*1vHPr)78&qol`;+0M<}nrvLx| literal 0 HcmV?d00001 diff --git a/assets/weather/uv-index-1.png b/assets/weather/uv-index-1.png new file mode 100644 index 0000000000000000000000000000000000000000..5c6c40b8290b4e3b63692c3ebee77fc9b833d1dc GIT binary patch literal 337 zcmV-X0j~auP)oyhwt!?PzEmm z0041GL_t&-8STMI0)j9Q0Kp~!+(0Bwkl;3I{{Kclkh$rNDpr5eAF&;P5P&^~E7T3u zf@z2;#Q|HKotq~NW2lpZ?%sxxk})*NaoNb(V~KOOd#Eaw({vNfS%so%fmZaBRVdm5 j!Rzb&#MXm|XZ3quTJic@j00000NkvXXu0mjfdN`0! literal 0 HcmV?d00001 diff --git a/assets/weather/uv-index-10.png b/assets/weather/uv-index-10.png new file mode 100644 index 0000000000000000000000000000000000000000..010470bd516043958e938be9b7d129e7b4e44d6a GIT binary patch literal 345 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyr2#%6u0Z<#e}?}v8U7nE{NEw- zX^-^(J<{Ly%KSg5{C%(D|6-2+dli4~mjAh5`R8t>pL-Pl?^FD>Pww|V<^Q$}|7{q4 z>{0l=U*Z2=xu5%FfA3TJy-)G?ex=`g)Y6aF9C zQ21lrHjrydg8YIR7+D2`goUML<>loyb#(Rgjjin+JUo2;i%QGe+uwia3t-a+sx9_( zaSV}=e0$KFsYyY^;iC46zb2FA*uE_m`o8~&*@M|v&lE@e^{jR&XPCoWrm-#{OhkFr zx#KUaOY9_s*+lkgFK&Dmw|k!I-qnj9Zko8+^|ABj`Xy5?%xRnLQ+e*tqNJ86yUKYj ouF(f>UbnWrxK$x3^6x$IhBnqec7JqzfYvj3y85}Sb4q9e098DdVgLXD literal 0 HcmV?d00001 diff --git a/assets/weather/uv-index-11.png b/assets/weather/uv-index-11.png new file mode 100644 index 0000000000000000000000000000000000000000..aceb8da7dfc171306ed75d718ff305adf4394e15 GIT binary patch literal 342 zcmV-c0jd6pP)*`>*?c`db@nd^<#Te0ChKDTcnuM%kf=1#e oB_V4MxH2y98C?e=C7a*-0&CO-?|RC_tpET307*qoM6N<$g0*Lq>;M1& literal 0 HcmV?d00001 diff --git a/assets/weather/uv-index-2.png b/assets/weather/uv-index-2.png new file mode 100644 index 0000000000000000000000000000000000000000..94e9c3f4abd2b68bd1202b7982e9ac437d9774c2 GIT binary patch literal 338 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dy`2jv5u0Z<#e}?}v8T!vN{NEw- zX^-^(J<{Ly%KSg5eDo;C_q~e$_bUF}E&p@B^3UB$Kldp9->3L%pWN?#%9D;U^dD#V zu}9(eeue*g<$msy{k>1=_ddnn`;~t0l>-V+IL0vHIK#x_3`;K>?7EY1;&H?I=M(Ce zmA?SFqa?^Ln1PX1KuB0vT2@|OUQEtP>`57E+b^Q5X`Y%KAW$DnIe@m>Btr-;=+ i=a#k16DOU0U&|P#&iZIolb0yab_P#ZKbLh*2~7ajDv9L) literal 0 HcmV?d00001 diff --git a/assets/weather/uv-index-3.png b/assets/weather/uv-index-3.png new file mode 100644 index 0000000000000000000000000000000000000000..16b89a27ad30dfc435e51f82c98d1a61eb4b0e17 GIT binary patch literal 337 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dy`2jv5u0Z<#e}?}v8UF8Q_`gHu z(;n&nd!)bZmHB^A`TJhQ|9d(9?^XP{TmI*M<)6Eie(q8HzfbYkKDpofl>hHy_`jXu z#~y{>`xXB0mHW9*_V+%e-}@AQ?^pW0R}Lh&185)^oeTJXr{VvD3ICrixRNTo4CIcI zAirP+MpgkKVPR=md3kwF9bG+rV{3Z{4-a4eqSEsA_V*w90@(C{Y70GG977}|-yZa2 zYBCUDIH<;W$H8Zg!ok+UpZ}%*Iy_ruzAECcXZ?{fh9s6UiFE+$t=o~ zGHi)RXTQ6*w{eod>^D1dp1j$(WaVx95Yf|_dphmzYl(y!Z&|dypUX8`p(-?X!&ikz ck$>-r`#Q1SJ!~p|5NJ7rr>mdKI;Vst0H45-8UO$Q literal 0 HcmV?d00001 diff --git a/assets/weather/uv-index-4.png b/assets/weather/uv-index-4.png new file mode 100644 index 0000000000000000000000000000000000000000..70098ea9d5d6806e12eff3f04859cc3f231905fa GIT binary patch literal 340 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyMFBn`u0Z<#e}?}v8UF8Q_`gHu z(;n&nd!)bZmHB^A`TJhQ|9d(9?^XP{TmI*M<)6Eie(q8HzfbYkKDpofl>hHy_`jXu z#~y{>`xXB0mHW9*_V+%e-}@AQ?^pW0R}Lh&185)^9X0rWIpP1)1^?e2`2YPuk;jjD zAg7cB`2{mDvI+hHy_`jXu z#~y{>`xXB0mHW9*_V+%e-}@AQ?^pW0R}Lh&185)^oeTJXr{Vw81^kgKwLp$23GxeO zU}O~#5*C)0m6w;-)X~+`H@3ES@bK{UFDfl>Z-4)xFMv%SsJ774#W6%e^6f!SrX~Xc zhJ$L1cN~1?C>(4J{P*A8e!|X|y;^4Vm*#Jr+aS@%+-7}+_i9h3hvjm{=vi}SyYVPq zyXp8nCwYO&5jE>P>z!3PnXmfvLys0o$}f8D-nuBOE$qwQRRLSr7lmJCjpkRHclLcP ZqxWgnJG3L%pWN?#%K!Tq{&zF{ z*rV`!zrz2$azFRU{@$nbd!OR({Yt<0%7FxX8UFV$fXK5G{$E+(ytiTx$OR=qe!&ck ztO7#9!qT$x^75KGx_bJ?*7gn_9=`rXrRDAI??3bfu;~NU7I?ZihDb=hJ?P2QWFWwB zP>u19gU=j=gRPDK?Jx1CgTe~DWM4fxhsx( literal 0 HcmV?d00001 diff --git a/assets/weather/uv-index-7.png b/assets/weather/uv-index-7.png new file mode 100644 index 0000000000000000000000000000000000000000..6a20b804f1b0ac8b1078ecb0eeea2a5f1c1f5db9 GIT binary patch literal 340 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyMFBn`u0Z<#e}?}v8UFV({NEw- zX^-^(J<{Ly%KSg5{C%(D|D_!N_bUF}E&p@B^3UB$Kldp9->3L%pWN?#%K!Tq{&zF{ z*rV`!zrz2$azFRU{@$nbd!OR({Yt<0%7FxX8UFV$fXLYj|5rNv-;wZtf5HDd8`%GC z%>_B7B*-tAfss`}NLW}}R$g9SQ%6@%-`LvT!NbGXzo@jlz5V@%z5q6TpxQ!D7sn6@ z$+rhRnVJj)7!Im2-f{4mqi`_y&cFYz_7ir#?9~#hzx00N+Xjh7-ZtYayjOcNJuH_q zM$eiv+l@!@+D*su+~fr+N7StSv@NT2GGA>o4?S8Wp}**TKbPxOp0zJtuXMU7)e$FO hb^Ka$NBYO=_|OxqkEAP;D}k0Xc)I$ztaD0e0swYxk$nIF literal 0 HcmV?d00001 diff --git a/assets/weather/uv-index-8.png b/assets/weather/uv-index-8.png new file mode 100644 index 0000000000000000000000000000000000000000..bc8836332f23713d102a118cae14f38fc7869c58 GIT binary patch literal 334 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyIRQQ)u0Z<#e}?}v8U7nE{NEw- zX^-^(J<{Ly%KSg5{C%(D|6-2+dli4~mjAh5`R8t>pL-Pl?^FD>Pww|V<^Q$}|7{q4 z>{0l=U*Z2=xu5%FfA3TJy-)G?ex=`glZSUaW;p<;iTHfCN{zG2?n?6u&p{I*uh=k9iTY9(#vwj9J$HV%MsGkh2#$_t|TSylo6v{i-RKVdAW_ b?`s)7Oj&O&_w8~5TF&6<>gTe~DWM4fkfe+l literal 0 HcmV?d00001 diff --git a/assets/weather/uv-index-9.png b/assets/weather/uv-index-9.png new file mode 100644 index 0000000000000000000000000000000000000000..ba3a00ba97ffae496a93ec44bbfe27a0fad301d7 GIT binary patch literal 330 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dynE^f_u0Z<#e}?}v8U7nE{NEw- zX^-^(J<{Ly%KSg5{C%(D|6-2+dli4~mjAh5`R8t>pL-Pl?^FD>Pww|V<^Q$}|7{q4 z>{0l=U*Z2=xu5%FfA3TJy-)G?ex=`g|9Bgg;Z-0qDC9i66*WLMF!gItG+#a+%Dl~S(SA|D6|K1aK X+sk^h)?;}v&~64#S3j3^P65rJs8g|L;>YbqM&iPww|VWfO;hAA1yj z19k0{`?*in%pt(sDd6`$rQiD$fA3c^1G4wZ0cA}c{7s!eQs$0<>yCzX0qs*M3GxeO zU}O~#5*C)0m6zAl(bdy8Ft&E^@bL8yC@3l|Z)k7t=%27*s=Iy#P<^_mi(`m{ zOim6W4HwTpS*~;@*Mw)$t^abj55&ydW7&S$aTWV6YXzn|0X`GbRFqfUYJHGZa!&fO zwMf{dgat808;?YsYuh-$?v~poo-;b!;Qc~s}u6gp)AH> TR)3;_Rx)_H`njxgN@xNA7?*^r literal 0 HcmV?d00001 diff --git a/assets/weather/wind-alert.png b/assets/weather/wind-alert.png new file mode 100644 index 0000000000000000000000000000000000000000..d5f96b4abd6ffd0922faf370601bf87903af12b9 GIT binary patch literal 290 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dy$pJngu0WdM|Nk@p|KI=r|MBC; zXP!N~d-vVrj~`!t`Eu>?tA}qtKYsb;!PED5UcY|y{Nv;2AD_Ja_Tc5GN6)@Ie)aM3 zt1r)AeSGiieE-FVM=w4;e)jIYlhZ>WL`fs#~LaP_3V*i(`m{Gbs0+9m@@#E+5GI;{ z^yBLBhU%}P~YhA;^^_?=I-I>@i#(HhLx}P^h@up#T5?A9PYqQvd-4 z2nh-g5*H;ZE-^DTHaR*+NJvRgS6NzZaCdm1+P8oJ0000?NklAGJg6)O(NL!~H f&LM3%7>Z1N5s?G*I24;c00000NkvXXu0mjfRFQ@r literal 0 HcmV?d00001 diff --git a/assets/weather/wind-beaufort-1.png b/assets/weather/wind-beaufort-1.png new file mode 100644 index 0000000000000000000000000000000000000000..7c11ba8e1c432c82a3cfa241924c4a7f9bf93e75 GIT binary patch literal 287 zcmV+)0pR|LP)QYb= z2@d7`!7X?1!#xKFFvb{TCHWw#EWO=}vpGB#$;q+`m|pncN6}11vE>GVnK!599sDLT z)N0?obWT}{nye@Y)jp+ZTzY}*%de`s>Rg*4B{C4bwHu9X=>;wk626;+@4Z&*XpQWq z23SS%x&MH!hbKY!{JSVoWNNin05E{2lo%C##LedJemGmNpPbch`n%U3+mpK$_}Lr> l3om#Ek+|EXj4{Ukoipn#Q4=WJE`0z1002ovPDHLkV1lHeeo_Dc literal 0 HcmV?d00001 diff --git a/assets/weather/wind-beaufort-10.png b/assets/weather/wind-beaufort-10.png new file mode 100644 index 0000000000000000000000000000000000000000..e648408d270981a97e36f5b68298d5138553f890 GIT binary patch literal 307 zcmV-30nGl1P)K7FVbeXY>EJE% zf*wuQ=JnauXe(cXv?=R)<~)GCNn3hRcfXrqO%}|@rqg+G9$+3)NaHF$?e84~9uR4T z-ul*Vd44h&It>s6c?n*+{#xfsFNa?H&{r6-;qCL|>GU-~P~he7-0SP&=kep` z@#O9H;OX)-Kv3f5^yBLBhU%}P~YhA;^^_?=I%8@P~qtDhL#0P$(;S zivR!sBXm+uQvd-42nh-g5E2(4B`Pj3F*7wbIXXZ`NJvRgS6NzMZFhK()l>(^0000_ zNklY4 literal 0 HcmV?d00001 diff --git a/assets/weather/wind-beaufort-12.png b/assets/weather/wind-beaufort-12.png new file mode 100644 index 0000000000000000000000000000000000000000..c7f76b3449d6048651ea5c49d34cc79e4137fab2 GIT binary patch literal 309 zcmV-50m}Y~P)f!D4=ket2 z_TcIAG(b?|=Jez0@#E_B=j!n`Kv3W4@Z#w4hLx~P&YzQ zHbGDyNCQs*001R)QchC<0R;#N3J(wx7bPk#FflVVHaR*#M@UFXP*+)6U~O=Bcz}?g zw)@7e0000`Nkln3Iu0WdM|Nk@p|KI=r|MBC; zXP!N~d-vVrj~`!t`Eu>?tA}qtKYsb;!PED5UcY|y{Nv;2AD_Ja_Tc5GN6)@Ie)aM3 zt1r)AeKd0jxc}nAqZc0^KYM5D6z~wpc>d|}s}JT*0X1<|VL>%PS@<>-`-MRO;jD;usGbs0*D9}h$O8@istE-{|n-=<(y`?&0Y1H$qV3=knv~@HRnEb@FW$0000WbW%=J z009LE2?`Gq7bPk#FflVVHaR*+NJvRgS6NzZaCdm1sTzI?0000?NklS1hk!@V zzC3>Q@$suK&tHAK|Kh`=7at!#duQqt@DRv&{^{|n4`z-5Ky)c!Ej>eHQ!`5|2X_w-&+y2ogxvCq1?Qh^W;OsS_Vsje43Ut0d(e`vK|zG| zfV$SZj@=wx-|d$wF8mV_Y|yNd_U6Th)%ok$rqq0C+s)Rh{eFr<;nN&dE#4r-xnCP= k1?tA}qtKYsb;!PED5UcY|y{Nv;2AD_Ja_Tc5GN6)@Ie)aM3 zt1r)AeZ2qT!=o1;A3u9%>J;$s#Yc0efXB~2J%07U%qalK7L$#L23ny|666=mz{twM z$;B@uuBxSHXl!a`Y31(W;Tawom5^IdUePc?{^F(oK(#)eE{-7*l5Y=M@---kupUs? zdiS7DGbs0+9m@@#E+5GI;{ z^yBLBhU%}P~YhA;^^_?=I-I>@i#(HhL#0P&PqP*_r0{0000WbW%=J z009LE2?`Gq7bPk#F*7wbIXXv3NJ&svSz2vycX*J{i%q;L0000@NklJ0qNv>emWG7#V@<&fvXn8^GbqCKv34>>f!D4*D9}h$O8@!#n1;^^_?=I%8@P~qtDH$qV3=knv~@Q@0aL;wH)A9PYqQvd-4 z2nh-g5*HvPDlRcIH8wdqM@UFXS6NzMZE$yZPzyJV0000?NkliicaqIkm fB;uB%K$fTv5B>x0?&ft(00000NkvXXu0mjfLU4%L literal 0 HcmV?d00001 diff --git a/assets/weather/wind-beaufort-8.png b/assets/weather/wind-beaufort-8.png new file mode 100644 index 0000000000000000000000000000000000000000..9a4ebb7f34ea031b2e87c2bbd1ec22bc6dd182d6 GIT binary patch literal 282 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyu>n3Iu0WdM|Nk@p|KI=r|MBC; zXP!N~d-vVrj~`!t`Eu>?tA}qtKYsb;!PED5UcY|y{Nv;2AD_Ja_Tc5GN6)@Ie)aM3 zt1r)AeKd0jxc}nAqZc0^KYRBONIw7c_|*q9rvNj@fSDI!9|6smFA4GsW?*FH;N;>L z5?9sIGc-0ev$S&e@bC->kBrJKuV`2>A##c#P^qt{i(`m{Gbs0+9m@@#E+5GI;{ z^yBLBhU%}P~YhA;^^_?=I-I>@i#(HhL!~Q8qzQCWZS$0000WbW%=J z009LE2?`Gq7bPk#F*7wbIXXv3NJ&svSz2vycX+VC1Ad6?0000?Nkl1;aA^Y4LHT*4Q~yOP~IuQ63W>s5P?-nXVv%& j!j|y{JqVlk3`wLc3d#fUf6mAd00000NkvXXu0mjf^j?T; literal 0 HcmV?d00001 diff --git a/assets/weather/wind-offshore.png b/assets/weather/wind-offshore.png new file mode 100644 index 0000000000000000000000000000000000000000..d3560ad64e402c74fff673585632eb912e331530 GIT binary patch literal 465 zcmV;?0WSWDP)Jml(tM87cfRv$ngQTAj^q9dMeVB$ZiiY~_aT;WET;J= zrR4MBp#gx*AHJjo6$^`P7qKVt@=ntMY$^hd1_H$i5YT*9tdgaZ=>`O! zxQq!hD6%UM!LsSXc>n-FVfecPFk8F7mrmnx|HpMj?Nj>4l_^E-aQ&NScZOOl^phsUFmlTkVBTyPs$s`knHK3#Fi?;%T|Iz=LE{lWlu zkzfKwmeO@zFBH2CL&_Msl_oXW84CcUS9>Sd>*qL*?wt%}8`V3Hyq+uaf0dxa{(%4M1?1Wf|KGy@X&tXr!+y1fGoP06%2(}} zxj5#**RNmKio9Mf@@5sMP}zywPu>c(>{Ke>?XW+hdveNy7awG6_TGNYu;}>6mS{}Xn^x);^$FDv+><{;!TQ{=nk%9v^_Fm3z84hDb=hJ$RJyP=J8LL3f26yVWfY-YxyD-xYtL=$xuC%bzDZ z|6JWzV6P;%>hRB!^~J)1{8zvJlwgV%6pvja&$j8k_%4s@S?y7eZ>sic?JMuQdUi{o z=DQq|r;MGR!pWkp!BS7FUpGy>eQU*}mA8r#<1Rd|+PsfxAH@b^jSqf!D4=ket2 z_TcIA%;4+d=Jez0@#E_B=j!pk*y!Kr@Z#w4?tA}qtKYsb;!PED5UcY|y{Nv;2AD_Ja_Tc5GN6)@Ie)aM3 zt1r)AeZ2qT!=o1;A3uBd5J*1%^!U|>GZX$d1C5m_3GxeOU}WXsb79;81^Jifjm zct$htdL~9kJI6m^1>A)jABP?|pmwG^o{`y_nUR%8L^B~x##e`#gF)4ku|#Q2!E&Hk N44$rjF6*2UngAzfPTT+h literal 0 HcmV?d00001 diff --git a/assets/weather/windsock.png b/assets/weather/windsock.png new file mode 100644 index 0000000000000000000000000000000000000000..c6db5ab3724bf59c6446fd35245ac1335ed0ca67 GIT binary patch literal 214 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dymH|E?u0VR#|Nr~TtZ6Cz`;2vp<4IkLIEPer$weoav46!(!oFKu<%y?r4hsJ~FkCGoGrX5?{ z5Z&R}5!@lZp2?Aqk?#)I4NHz4jZ+g3h;A_GQ=7)f!r*SnSkWfy*#I str: + """Maps a weather condition string to an icon filename.""" + condition = condition.lower().strip() + filename = WeatherIcons.DEFAULT_ICON # Start with default + + # Prioritize more specific conditions based on keywords (order matters) + if "thunderstorm" in condition or "thunder" in condition or "storm" in condition: + if "rain" in condition: filename = "thunderstorms-rain.png" + elif "snow" in condition: filename = "thunderstorms-snow.png" + else: filename = "thunderstorms.png" + elif "sleet" in condition: filename = "sleet.png" + elif "snow" in condition: filename = "snow.png" + elif "rain" in condition: filename = "rain.png" + elif "drizzle" in condition: filename = "drizzle.png" + elif "hail" in condition: filename = "hail.png" + elif "fog" in condition: filename = "fog.png" + elif "mist" in condition: filename = "mist.png" + elif "haze" in condition: filename = "haze.png" + elif "smoke" in condition: filename = "smoke.png" + # General sky conditions + elif "partly cloudy" in condition: + filename = "partly-cloudy-night.png" if "night" in condition else "partly-cloudy-day.png" + elif "overcast" in condition: filename = "overcast.png" + elif "cloudy" in condition: # Catches variations like 'mostly cloudy' + filename = "cloudy.png" + elif "clear" in condition or "sunny" in condition: + filename = "clear-night.png" if "night" in condition else "clear-day.png" + + # Check if the chosen icon file actually exists + potential_path = os.path.join(WeatherIcons.ICON_DIR, filename) + if not os.path.exists(potential_path): + # If the specific icon doesn't exist, print a warning and fall back to the default + if filename != WeatherIcons.DEFAULT_ICON: + print(f"Warning: Specific icon file not found: {potential_path}. Falling back to default.") + filename = WeatherIcons.DEFAULT_ICON + # Check if even the default icon exists + default_path = os.path.join(WeatherIcons.ICON_DIR, WeatherIcons.DEFAULT_ICON) + if not os.path.exists(default_path): + print(f"Error: Default icon file also not found: {default_path}") + # No icon found, return the default name; load_weather_icon will handle the FileNotFoundError + + return filename + + @staticmethod + def load_weather_icon(condition: str, size: int = DEFAULT_SIZE) -> Image.Image | None: + """Loads, converts, and resizes the appropriate weather icon. Returns None on failure.""" + filename = WeatherIcons._get_icon_filename(condition) + icon_path = os.path.join(WeatherIcons.ICON_DIR, filename) + + try: + # Open image and ensure it's RGBA for transparency handling + icon_img = Image.open(icon_path).convert("RGBA") + + # Resize if necessary using high-quality downsampling (LANCZOS/ANTIALIAS) + if icon_img.width != size or icon_img.height != size: + icon_img = icon_img.resize((size, size), Image.Resampling.LANCZOS) + + return icon_img + except FileNotFoundError: + print(f"Error: Icon file not found: {icon_path}") + # Don't try to load default here, _get_icon_filename already handled fallback logic + return None + except Exception as e: + print(f"Error processing icon {icon_path}: {e}") + return None + + @staticmethod + def draw_weather_icon(image: Image.Image, condition: str, x: int, y: int, size: int = DEFAULT_SIZE): + """Loads the appropriate weather icon and pastes it onto the target PIL Image object.""" + icon_to_draw = WeatherIcons.load_weather_icon(condition, size) + if icon_to_draw: + # Paste the icon using its alpha channel as the mask for transparency + # This ensures transparent parts of the PNG are handled correctly. + try: + image.paste(icon_to_draw, (x, y), icon_to_draw) + except Exception as e: + print(f"Error pasting icon for condition '{condition}' at ({x},{y}): {e}") + else: + # Optional: Draw a placeholder if icon loading fails completely + print(f"Could not load icon for condition '{condition}' to draw at ({x},{y})") + # Example placeholder: draw a small magenta square + # placeholder_draw = ImageDraw.Draw(image) + # placeholder_draw.rectangle([x, y, x + size, y + size], fill=(255, 0, 255)) + pass # Default: do nothing if icon cannot be loaded + @staticmethod def draw_sun(draw: ImageDraw, x: int, y: int, size: int = 16, color: tuple = (255, 200, 0)): """Draw a sun icon with rays.""" @@ -111,25 +203,4 @@ class WeatherIcons: draw.line([ x + size//4, wave_y, x + size//4 + size//2, wave_y + wave_height - ], fill=mist_color, width=2) - - @staticmethod - def draw_weather_icon(draw: ImageDraw, condition: str, x: int, y: int, size: int = 16): - """Draw the appropriate weather icon based on the condition.""" - condition = condition.lower() - - if 'clear' in condition or 'sunny' in condition: - WeatherIcons.draw_sun(draw, x, y, size) - elif 'cloud' in condition: - WeatherIcons.draw_cloud(draw, x, y, size) - elif 'rain' in condition or 'drizzle' in condition: - WeatherIcons.draw_rain(draw, x, y, size) - elif 'snow' in condition: - WeatherIcons.draw_snow(draw, x, y, size) - elif 'thunder' in condition or 'storm' in condition: - WeatherIcons.draw_thunderstorm(draw, x, y, size) - elif 'mist' in condition or 'fog' in condition or 'haze' in condition: - WeatherIcons.draw_mist(draw, x, y, size) - else: - # Default to cloud for unknown conditions - WeatherIcons.draw_cloud(draw, x, y, size) \ No newline at end of file + ], fill=mist_color, width=2) \ No newline at end of file diff --git a/src/weather_manager.py b/src/weather_manager.py index c7c93b4c..f26e7e0c 100644 --- a/src/weather_manager.py +++ b/src/weather_manager.py @@ -229,9 +229,9 @@ class WeatherManager: # Draw weather condition icon and text at the top condition = weather_data['weather'][0]['main'] - icon_x = 1 - icon_y = 1 - WeatherIcons.draw_weather_icon(draw, condition, icon_x, icon_y, size=self.ICON_SIZE['large']) + icon_y = 1 # Adjusted y position + icon_x = (self.display_manager.matrix.width - self.ICON_SIZE['large']) // 2 # Center horizontally + WeatherIcons.draw_weather_icon(image, condition, icon_x, icon_y, size=self.ICON_SIZE['large']) # Draw condition text next to icon (using small font) condition_text = condition @@ -363,7 +363,7 @@ class WeatherManager: icon_size = self.ICON_SIZE['medium'] icon_y = self.display_manager.matrix.height // 3 # Position icon in upper third icon_x = center_x - icon_size // 2 - WeatherIcons.draw_weather_icon(draw, forecast['condition'], icon_x, icon_y, icon_size) + WeatherIcons.draw_weather_icon(image, forecast['condition'], icon_x, icon_y, icon_size) # Draw temperature at bottom temp_text = f"{forecast['temp']}°" @@ -428,7 +428,7 @@ class WeatherManager: icon_size = self.ICON_SIZE['medium'] icon_y = self.display_manager.matrix.height // 3 # Position icon in upper third icon_x = center_x - icon_size // 2 - WeatherIcons.draw_weather_icon(draw, forecast['condition'], icon_x, icon_y, icon_size) + WeatherIcons.draw_weather_icon(image, forecast['condition'], icon_x, icon_y, icon_size) # Draw high/low temperatures at bottom (without degree symbol) temp_text = f"{forecast['temp_low']}/{forecast['temp_high']}" # Removed degree symbols