From e6e7528ad313e12cdb59cee96178f13a1185ca51 Mon Sep 17 00:00:00 2001 From: Shahar Talmi Date: Wed, 25 Dec 2024 08:29:04 +0200 Subject: [PATCH] do not download inputs again when refreshing indices --- README.md | 2 - src/2015/index.html | 46 +++++++------- src/2016/index.html | 16 ++--- src/2017/index.html | 122 ++++++++++++++++++------------------- src/2018/index.html | 34 +++++------ src/2019/index.html | 48 +++++++-------- src/2020/index.html | 8 +-- src/2021/index.html | 94 ++++++++++++++--------------- src/2022/index.html | 68 ++++++++++----------- src/2023/index.html | 96 ++++++++++++++--------------- src/2024/index.html | 144 ++++++++++++++++++++++---------------------- src/utils/solver.js | 12 ++-- 12 files changed, 345 insertions(+), 345 deletions(-) diff --git a/README.md b/README.md index b22e83b6..2507781a 100644 --- a/README.md +++ b/README.md @@ -20,8 +20,6 @@ $ npm install $ export ADVENT_SESSION=your-cookie-value $ npm start [year] -- or - -$ npm start [year] [day-number] ``` The commands above will work for all years since 2015. diff --git a/src/2015/index.html b/src/2015/index.html index 5901e054..5117b955 100644 --- a/src/2015/index.html +++ b/src/2015/index.html @@ -125,28 +125,28 @@

   $year=< --*-- 25 ** >o< 24 ** >>*<< 23 ** - >@<O<<< 22 ** - >*>>@<<<< 21 ** - >@<*<<@<<O< 20 ** - >*>*>*>>>@<<< 19 ** - >>O>*>o<<<*<<o< 18 ** - >>@<o<<<@>>>*<<<< 17 ** - >O>O<o>>>@<*<*>>@<< 16 ** - >>o>>>O>>O<o<<<*<<O<< 15 ** - >o>>>O<<<O>>o>O<<<@>>O< 14 ** - >>*>O<*>*>@<*>>O>O<o>o<@< 13 ** - >@<<<@<o<<@<<<O<*>@<O<O<<<< 12 ** - >o>>o>>o>>>o<<@>*<o<<O<<<o<<< 11 ** - >*>O<<@<<@>o<<<O>o>O>*>*>>o<<<< 10 ** - >@<<<@>>>@<<<O<O>>*<o<@>o<O<<o<*< 9 ** - >O>>*<<<O>*<<o>O>o>>>o>o>O<<<O>>o<< 8 ** - >O<<<o<<<O<@<@>>>@<<*>>>O>*>>o>>>*<o< 7 ** - >o<@>O>>>O>>o<<<@>>>o<*<o<<@<O>o<<@<<<< 6 ** - >>o<<o>*<O<<<*<<o>>@<<@>>>*>o>>>O<<*<<*<< 5 ** - >o>>@<<*<*<<<o<<O<*<<o>>*>*>>*<O<<@>o<o<<<< 4 ** - >O<<<*>>O<<<O>>@>>*<<*>o>>*>>@<<<@>>o>*<o<<@< 3 ** - >O>>>@>>>o>>*<o>o>>>O>>>*>>*<<@<o<<@<*<<*<*>>O< 2 ** ->o<<<o<@>*>>@>*<O<<O<*<<O>>>O<<<@>>*<<O<O<<O>o<@< 1 ** + >o>>*<< 22 ** + >*<<<*<<< 21 ** + >@>>>o>O<<< 20 ** + >*>>>o>>>O<<< 19 ** + >O<O<<*<<<O<<<< 18 ** + >>O>>>o>O<<<o<<<< 17 ** + >>*>o<@<<O>>O>o<o<< 16 ** + >>*>@>>O<<<o>o<<o>>@< 15 ** + >o>>>@>>@>>@<<<o>>o<<O< 14 ** + >>o>o<<<O<<*>>O>@<*>@>>*< 13 ** + >>o<<O<<<O>O<o>>>*<<@<<<@<< 12 ** + >*>@>>>O>>*<@<@<<O<<o<<@>>@<< 11 ** + >@<<<@<*>>>*>>>*<<<*>*>>>*>>o<< 10 ** + >>O<O>o>*>>>O>>O<<<O>>O<<o>>>@<<< 9 ** + >*<O>@<<@<<<o>>O>>O<<*<<*>>>O<<*<o< 8 ** + >>O>>@<<<O<<<*>>o<<<*<*>>>o<o>o>@>>o< 7 ** + >O>>o>>>@>>>*>>*>>>@<<@>>@>>@>O<<O>>>*< 6 ** + >O>>O>>>o<*>>o<*>>@>>>O>>O<<o<<<@>>@<<<@< 5 ** + >>o>o>>>*<<O<<O<O>>*>o>O>>>*<<o>>O>*>o<@<<< 4 ** + >@>O>>*>>o>*>>>@>@<o<<@>o>>o>>*>O>>>@>>>O<*<< 3 ** + >>O<<<*<@<*<<<O>>@>>O<<<@>>@>>O<o<@<<o<<<*>>@<< 2 ** +>>@>>@<<o>*<*>>>*>@<o<@>>>O>>o<<<*<<O<o<<<O<O>>o< 1 ** | | | | _ _ __ ___|___|___ __ _ _ @@ -262,7 +262,7 @@

   $year=< 100% { transform: translate(2em, 100vh) rotate(1turn) scale(0.0, 0.0); } } -
+
\ No newline at end of file diff --git a/src/2016/index.html b/src/2016/index.html index 1b9046b3..902a4634 100644 --- a/src/2016/index.html +++ b/src/2016/index.html @@ -32,12 +32,15 @@

   $year=<
(       (    (  ( ((*)) )  )    )       )               
                     |                                   
@@ -262,7 +262,7 @@ 

   $year=< 100% { transform: translate(2em, 100vh) rotate(1turn) scale(0.0, 0.0); } } -
+

\ No newline at end of file diff --git a/src/2017/index.html b/src/2017/index.html index 98115ed1..35d959c7 100644 --- a/src/2017/index.html +++ b/src/2017/index.html @@ -35,76 +35,76 @@

   $year=< .calendar .calendar-edge { color:#cccccc; } .calendar .calendar-edge, .calendar .calendar-day, .calendar .calendar-mark-complete, .calendar .calendar-mark-verycomplete { animation-name:none; } .calendar-perfect .calendar-star i { animation:anim-twinkle 2s linear infinite; } @keyframes anim-twinkle { 0% { filter:brightness(100%); transform:none; } 25% { filter:brightness(200%); transform:scale(1.5,1.5);} 50% { filter:brightness(100%); transform:none; } } -.calendar-perfect .calendar-day1 .calendar-star i { animation-delay:2.3s; } -.calendar-perfect .calendar-day2 .calendar-star i { animation-delay:3.9s; } -.calendar-perfect .calendar-day3 .calendar-star i { animation-delay:0.8s; } -.calendar-perfect .calendar-day4 .calendar-star i { animation-delay:2.4s; } -.calendar-perfect .calendar-day5 .calendar-star i { animation-delay:0.3s; } -.calendar-perfect .calendar-day6 .calendar-star i { animation-delay:2.3s; } -.calendar-perfect .calendar-day7 .calendar-star i { animation-delay:1.1s; } -.calendar-perfect .calendar-day8 .calendar-star i { animation-delay:3.8s; } -.calendar-perfect .calendar-day9 .calendar-star i { animation-delay:1.6s; } -.calendar-perfect .calendar-day10 .calendar-star i { animation-delay:0.5s; } -.calendar-perfect .calendar-day11 .calendar-star i { animation-delay:3.3s; } -.calendar-perfect .calendar-day12 .calendar-star i { animation-delay:1.6s; } -.calendar-perfect .calendar-day13 .calendar-star i { animation-delay:3.9s; } -.calendar-perfect .calendar-day14 .calendar-star i { animation-delay:1.0s; } -.calendar-perfect .calendar-day15 .calendar-star i { animation-delay:2.7s; } -.calendar-perfect .calendar-day16 .calendar-star i { animation-delay:2.2s; } -.calendar-perfect .calendar-day17 .calendar-star i { animation-delay:0.1s; } -.calendar-perfect .calendar-day18 .calendar-star i { animation-delay:0.1s; } -.calendar-perfect .calendar-day19 .calendar-star i { animation-delay:1.4s; } -.calendar-perfect .calendar-day20 .calendar-star i { animation-delay:2.0s; } -.calendar-perfect .calendar-day21 .calendar-star i { animation-delay:0.1s; } -.calendar-perfect .calendar-day22 .calendar-star i { animation-delay:3.7s; } +.calendar-perfect .calendar-day1 .calendar-star i { animation-delay:2.6s; } +.calendar-perfect .calendar-day2 .calendar-star i { animation-delay:1.8s; } +.calendar-perfect .calendar-day3 .calendar-star i { animation-delay:2.8s; } +.calendar-perfect .calendar-day4 .calendar-star i { animation-delay:2.9s; } +.calendar-perfect .calendar-day5 .calendar-star i { animation-delay:2.4s; } +.calendar-perfect .calendar-day6 .calendar-star i { animation-delay:0.6s; } +.calendar-perfect .calendar-day7 .calendar-star i { animation-delay:1.8s; } +.calendar-perfect .calendar-day8 .calendar-star i { animation-delay:1.0s; } +.calendar-perfect .calendar-day9 .calendar-star i { animation-delay:0.7s; } +.calendar-perfect .calendar-day10 .calendar-star i { animation-delay:3.2s; } +.calendar-perfect .calendar-day11 .calendar-star i { animation-delay:3.2s; } +.calendar-perfect .calendar-day12 .calendar-star i { animation-delay:1.0s; } +.calendar-perfect .calendar-day13 .calendar-star i { animation-delay:3.0s; } +.calendar-perfect .calendar-day14 .calendar-star i { animation-delay:3.4s; } +.calendar-perfect .calendar-day15 .calendar-star i { animation-delay:2.9s; } +.calendar-perfect .calendar-day16 .calendar-star i { animation-delay:2.4s; } +.calendar-perfect .calendar-day17 .calendar-star i { animation-delay:1.7s; } +.calendar-perfect .calendar-day18 .calendar-star i { animation-delay:2.4s; } +.calendar-perfect .calendar-day19 .calendar-star i { animation-delay:1.1s; } +.calendar-perfect .calendar-day20 .calendar-star i { animation-delay:1.0s; } +.calendar-perfect .calendar-day21 .calendar-star i { animation-delay:2.1s; } +.calendar-perfect .calendar-day22 .calendar-star i { animation-delay:0.7s; } .calendar-perfect .calendar-day23 .calendar-star i { animation-delay:2.0s; } -.calendar-perfect .calendar-day24 .calendar-star i { animation-delay:1.7s; } -.calendar-perfect .calendar-day25 .calendar-star i { animation-delay:2.0s; } -.calendar-perfect .calendar-printer { height:9em; overflow:hidden; box-sizing:border-box; animation-name:anim-printer; animation-duration:15.1666666666667s; animation-fill-mode:both; animation-timing-function:steps(7,start); animation-delay:8.2s; } +.calendar-perfect .calendar-day24 .calendar-star i { animation-delay:3.7s; } +.calendar-perfect .calendar-day25 .calendar-star i { animation-delay:1.1s; } +.calendar-perfect .calendar-printer { height:9em; overflow:hidden; box-sizing:border-box; animation-name:anim-printer; animation-duration:15.1666666666667s; animation-fill-mode:both; animation-timing-function:steps(7,start); animation-delay:8.9s; } .calendar-perfect .calendar-print-edge { display:inline-block; color:#999999; } .calendar-perfect .calendar-print-slot { display:inline-block; overflow:hidden; vertical-align:bottom; } .calendar-perfect .calendar-print-text { display:inline-block; overflow:hidden; vertical-align:bottom; color:#cccccc; animation-name:anim-printer-text; animation-duration:1s; animation-fill-mode:both; animation-timing-function:steps(18,end); } -@keyframes anim-printer { 0% { padding-top:9em; } 100% { padding-top:0em; } } @keyframes anim-printer-text { 0% { width:0em; } 100% { width:10.8em; } } .calendar .calendar-ornament0 { color:#ff9900; } -.calendar > a.calendar-verycomplete > .calendar-star { color:#ffff66; text-shadow:0 0 5px #ffff66; } +@keyframes anim-printer { 0% { padding-top:9em; } 100% { padding-top:0em; } } @keyframes anim-printer-text { 0% { width:0em; } 100% { width:10.8em; } } .calendar .calendar-ornament3 { color:#ff0000; } .calendar .calendar-ornament4 { color:#009900; } -.calendar .calendar-ornament3 { color:#ff0000; } +.calendar .calendar-ornament1 { color:#0066ff; } .calendar > a > span { animation-name:anim-reveal; animation-duration:1s; animation-fill-mode:both; } @keyframes anim-reveal { 0% { opacity:0.2; filter:grayscale(100%) brightness(100%); } 10% { opacity:1.0; filter:grayscale(100%) brightness(1000%); } 100% { opacity:1.0; filter:grayscale(0%) brightness(100%); } } .calendar > a.calendar-verycomplete > .calendar-star { animation-name:anim-reveal-star; animation-duration:1s; animation-fill-mode:both; } @keyframes anim-reveal-star { 0% { opacity:0.2; filter:grayscale(100%) brightness(100%); text-shadow:0 0 0px #ffff66, 0 0 0px #ffff66, 0 0 0px #ffff66, 0 0 0px #ffff66; } 10% { opacity:1.0; filter:grayscale(100%) brightness(1000%); text-shadow:0 0 5px #ffff66, 0 0 10px #ffff66, 0 0 50px #ffff66, 0 0 100px #ffff66; } 100% { opacity:1.0; filter:grayscale(0%) brightness(100%); text-shadow:0 0 5px #ffff66, 0 0 0px #ffff66, 0 0 0px #ffff66, 0 0 0px #ffff66; } } .calendar .calendar-disabled { animation-play-state:paused; } .calendar .calendar-ornament2 { color:#aaaaaa; } -.calendar .calendar-ornament1 { color:#0066ff; } +.calendar .calendar-ornament5 { color:#990099; } +.calendar > a.calendar-verycomplete > .calendar-star { color:#ffff66; text-shadow:0 0 5px #ffff66; } -
|O| Naughty | Nice |O| -|O| -------------------+------------------- |O| -|O| The Easter Bunny | Shahar Talmi |O| -|O| Aaron Vinestock | Noam Neeman |O| -|O| Arnoldas Šeščila | GabiGrin |O| -|O| Tzah Hillel | Alon Yehezkel |O| -|O| Andrei Timofeev | bolshchikov |O|
+
|O| Naughty | Nice |O| +|O| -------------------+------------------- |O| +|O| The Easter Bunny | Shahar Talmi |O| +|O| Michael Silber | GabiGrin |O| +|O| Orestas Miskivas | Alon Yehezkel |O| +|O| Itay Friedman | bolshchikov |O| +|O| Alex Kubica | Noam Neeman |O|
.-----------------------------------------------. -
| o*o| | 25 ** -| o*ooToo | 24 ** -| *o | 23 ** -| * oToo FC | 22 ** -| *|( H LP | 21 ** -| *o C UT | 20 ** -| o Fo*o XRo | 19 ** -| o* o | 18 ** -| o*o o | 17 ** -| o MC * | 16 ** -| =o AS *o | 15 ** -| o GMo8088o* | 14 ** -| *|( IK | 13 ** -| oTo*o | 12 ** -| *[] Vo | 11 ** -| * V R o | 10 ** -| *hi oo O1 | 9 ** -| mom *o T3 | 8 ** -| o *= | 7 ** -| o* o | 6 ** -| *o| | 5 ** -| *oooo | 4 ** -| *oo | 3 ** -| *ooV | 2 ** -| o*o | 1 ** +| o*oo | 25 ** +| *ooo | 24 ** +| oTo*ooVoo | 23 ** +| *[] o | 22 ** +| *o | 21 ** +| o S*o | 20 ** +| *oTo Ro D | 19 ** +| * A SoTo | 18 ** +| oo* M Poo | 17 ** +| *= | 16 ** +| o*oo o | 15 ** +| *o | 14 ** +| o* 328Po | 13 ** +| V* 0936o | 12 ** +| o* | 11 ** +| * ENCR EBoo | 10 ** +| YPTR NL*oo | 9 ** +| V CT*o| | 8 ** +| ARo[]* | 7 ** +| []o* | 6 ** +| []*V | 5 ** +| *oo|([] | 4 ** +| *oToo | 3 ** +| *| | 2 ** +| |*o|( | 1 ** '-----------------------------------------------'
diff --git a/src/2018/index.html b/src/2018/index.html index e6a0735b..687fa736 100644 --- a/src/2018/index.html +++ b/src/2018/index.html @@ -31,18 +31,18 @@

   $year=<
-
     .         .         .        .        .       25 **
- .        .         .        .       \  /      .   24 **
-              .         .         \_\_\|_/__/      23 **
-       .         .            .  o-_/.()__-------  22 **
-   .       .            *         \____            21 **
-               .       |\|            \_\_ ___  /  20 **
-       .               |\|              / |   ||   19 **
-  .           _________|\|_________    /  |   ||   18 **
+
     .         .         .        .        .       25 **
+ .        .         .        .       \  /      .   24 **
+              .         .         \_\_\|_/__/      23 **
+       .         .            .  o-_/.()__-------  22 **
+   .       .            *         \____            21 **
+               .       |\|            \_\_ ___  /  20 **
+       .               |\|              / |   ||   19 **
+  .           _________|\|_________    /  |   ||   18 **
       ___-----  ###########  ##### -----___        17 **
 ___---  ###  #####    #########  #####     ---___  16 **
-      ) ))          ) )                    ____    15 **
-   .-(-((-.     .--(-(-.                  / _\ \   14 **
+      ) ))          ) )                    ____    15 **
+   .-(-((-.     .--(-(-.                  / _\ \   14 **
    '------'_    '------'_                |/|  |/|  13 **
    |      | )   |      | )               |_|  |/|  12 **
    |      |/    |      |/                     |/|  11 **
@@ -106,7 +106,7 @@ 

   $year=< ( .",^. -". '.~ ) 2 ** _'~~~~~~~~~~~~~'_________ ___ __ _ _ _ _ 1 **

-
.------.  
+
.------.  
 '------'_ 
 |      | )
 |      |/ 
diff --git a/src/2019/index.html b/src/2019/index.html
index d2a826ee..004c71f0 100644
--- a/src/2019/index.html
+++ b/src/2019/index.html
@@ -72,31 +72,31 @@ 

   $year=< 100% { opacity:0.0; transform: translateX(40ch) scale(.5); } } -
.     .            ''..     ':.              '. .  25 **
-.......                ''.   . '..             ..  24 **
-      .'''''...    .      ''.    '.             '  23 **
-               ''..         .'.    '. ...........   .        22 **
-......             ''.         '.  . '.     .      21 **
-      ''''...         '.         '.    : .         20 **
-.         .  ''..       '.         '.   '.     .   19 **
-.....            ''.      '.       .'.   'o        18 **
-  .  ''''...        '..     '.   .   ':   '.       17 **
-            '..     . '.      '.      .o    :      16 **
+
              .    ''..     ':.         .    '.    25 **
+.......      .         ''.     '.            . .   24 **
+.      '''''... .         ''.    '.            .'  23 **
+               ''..       .  '.    '. ...........            22 **
+......             ''.  .      '. .  '.            21 **
+      ''''...         '.         '. .  : .  .      20 **
+            .''..       '.         '.  .'. .       19 **
+.....   . .      ''.   .  '.       .'.   'o        18 **
+     ''''...        '.      '.       ':.  '.       17 **
+   .        '..       '.      '.       o    :      16 **
                '.       '.     '.       :    :     15 **
-'''''...         '.      '.     (O)    . :   '.    14 **
-     .  ''..       '.     '.     '.   .  '.   :    13 **
-''''.....   '.     .'.     'O     '.      :    :   12 **
-       ''.   .'.      :     '.     :      '.   :   11 **
-'''''..   '.   '..     .     :     '.      :   '.  10 **
-       '.  '..  '.     '.     :     :      :    :   9 **
-         :  '..  . .    :     :     :       :   :   8 **
-'''.      :  :.  :      :     :     :.      :   :   7 **
- ********************* .      :  :   :      :   . :     :       :   :   6 **
-...'      :  :   :      :     : .   :  .    :   :   5 **
-         .  .'  .:      :     :     :       :   :   4 **
-       .'  .'   .'     .'     :     :      :    :   3 **
-.....''   .'.  .'      :     :     .'      : . .'   2 **
-       ..'    .'      :   . .'     :  .   .'   :    1 **
+'''''...         '.      '.     (O)      :   '..   14 **
+        ''..    .  '.     '.     '.      '.   :    13 **
+''''...     '. .    '.     'O     '.      :    :   12 **
+       ''.    '.      :     '.     :      '.   :   11 **
+'''''..   '.   '.      .     :     '.      :   '.  10 **
+    .  '.  '.   '..    '.     :     :      :    :   9 **
+         :  '.   .      :   . :     :    .  :   :   8 **
+'''.   .  :  :   :      :     : .   :.      :   :   7 **
+ ********************* ..     :  :   :      :     :     :       :   :   6 **
+...'      :  :   :. . . :     :   . :       :   :   5 **
+         .  .'   :      :     :     :       :   :   4 **
+     . .'  .' . .'     .'     :     :      :    :   3 **
+.....''   .'   .' ..   :     :     .' .   .: . .'   2 **
+       ..'    .'      :     .' .   :      .'   :    1 **
 

diff --git a/src/2020/index.html b/src/2020/index.html index 8d6721bf..8bc22198 100644 --- a/src/2020/index.html +++ b/src/2020/index.html @@ -31,14 +31,14 @@

   $year=<
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~   1 **
-    ....   '     ~ .           . .      .  ..''''   2 **
- .  ~         . ..              .    ...~ :         3 **
-        .  .     .   .     .  . .' .  ....'         4 **
-   '   .'    ..    .    . ' . ..|\..''              5 **
-. ~     '        .  '.     . :                      6 **
-~    '       .  .. .  .   .:'                       7 **
-   . ' .   .      . . .    .'''''.....  ....        8 **
- .               .        :'... ...  .''.   ':      9 **
-     '  ..  '    .   '    :   ''  ''''..  . .'.    10 **
-       '              '~  :             '..'..:    11 **
-  .  '  .   '~.          :       :'''..   ..'.:    12 **
-        .     .        .'    ..''.   . '''....:    13 **
-'              ' .    : ...''. ..':   ....'        14 **
-.   . '   . .  . .  . :'....'''    '''             15 **
-'.'.           .:'. ....'                          16 **
-   :       . .. :  '                               17 **
-   : '      . ..'                                  18 **
-   '.    . .  :                                    19 **
-    '.    . . :                                    20 **
-      :   .. :                                     21 **
-      '.  .  :                                     22 **
-       : . ..'                                     23 **
-       : . .'                                      24 **
+.         . .. '                 . ~  . .  ..''''   2 **
+   .   .. .    ~           .    .  ' . .  :         3 **
+     ..         .         .   . .' .. ....'         4 **
+      ... ..  '     ' '     . ..|\..''              5 **
+..     .     .'   ..       . :                      6 **
+ .       .' .       ..  . .:'                       7 **
+  .             '  . .     .'''''.....  ....        8 **
+ .     '  .   .    .      :'... ...  .''.   ':      9 **
+     .             .  ... :   ''  ''''..  . .'.    10 **
+.       .    .         '  :             '..'..:    11 **
+  .            . ~..  .  :       :'''..   ..'.:    12 **
+        .  '  .        .'    ..''.   . '''....:    13 **
+.   .     . .         : ...''. ..':   ....'        14 **
+            . .  .. . :'....'''    '''             15 **
+'.'.         ...:'. ....'                          16 **
+   :     .   .. :  '                               17 **
+   :  .     . ..'                                  18 **
+   '.  ..  .  :                                    19 **
+    '.   ~ .. :                                    20 **
+      :  . . :                                     21 **
+      '.  .  :                                     22 **
+       :  '..'                                     23 **
+       : . .'                                      24 **
        :..:                                        25 **
 
diff --git a/src/2022/index.html b/src/2022/index.html index d5b75174..18304328 100644 --- a/src/2022/index.html +++ b/src/2022/index.html @@ -31,21 +31,21 @@

   $year=<
  - /\ -  -        -       -     -      -    -          
- - /  \/\  -    -     -  -    -   -  /\   -     -       
+ - /  \/\  -    -     -  -    -   -  /\   -     -       
  /\    \ \-  - -   -   -    - -  -/\/  \-   -  -   25 **
-/@#\   /\@\@#@@@###@@@@@@@@@##@@@##@@#@@@#@#@@@@#  24 **
-@@@.' '.@#@@###@@#@#@####@@@#@|@@#@@@#####@@@@@@@  23 **
-@##'. .'@@#@.@@#@@@@@#@#@@##@#@@#@@@#@@@@()))#@##  22 **
-@@###@@##@@@#@@@@@.@#@@@##@#@##@@@@#@@@@#@#@@@@@@  21 **
-@@#@@.@@@#@@@#@@#@@#@@@@.#@#~~@@#@@@@@#@#@@####@@  20 **
-#@#@@@#@@###@.#@@@#@###@@@#~~~~ .~'@@#@##@@@@@@@#  19 **
-@@#@@#@@##@#@@.@#@#@@@@@@@@@~~ /~\ @#@#@@@@@#@@@#  18 **
-@#@@.@@@#@@@@@@..@@@@##@@@@@@ / / \ @@@@@@@@@@@@#  17 **
-@##@@@#@@@@@@@##..@@@@#@@@@@#/ / \ \#@@@##@@@####  16 **
-@@@#@@@@@@#@#@@_.~._@#@###@@.'/\.'~. @@#@##@#@@#@  15 **
-@@#.#@@@@#@#@@# ||| @###@#@'.~.'~. \'.@##@@@@@@@#  14 **
-@@#@@@#@#@@##@@#~~~@@@@##@#@' ..'.'.\. . @##@@##@  13 **
-#@#@####@@#@@#.~~.@@###@@@@@@#@@@ .'.~~~' @'##@@@  12 **
-#@#.@@@#@@@@.~~.@#@@@@@@#@@##@@#@@  ~~~~~..#@@#@#  11 **
-@@#.@@@@@##.~~.#@#@#@@@@#@@@#@###.'/ ~~~ \' #@@#@  10 **
-###@.@@ _|%%%=%%|_ #@#@@@@@#@#@@. ~ /' .'/\.@##@#   9 **
-@@@##../  \.~~./  \.....@@@@@@#@#' /\.''/' \' @#@   8 **
-@@#@@@@#@@#.~~.#@##@@#@@.@@##@#@'././\ .\'./\ '.    7 **
-@@@@@@@##@@@.~~.#@@@##@..@@@@@#' ~. \.\  \ \.~~~.   6 **
-@##@@@##@@@@#.~~.@#./\.'@#@@@@#@'.' .'/.@. /'.~~~   5 **
-#@#@#@@@#@#.' ~  './\'./\' .@#@####' /\ . /'. ..'   4 **
-#@@@@##@@_/ ~   ~  \ ' '. '.'.#@@@  /  \  \  @@#@   3 **
+/@@\   /\@\@@@#@@@@@@@@##@@@@#@@#@#@#@@#@@@#@#@##  24 **
+@#@.' '.@@#@#@@@@##@@@@#@@@@@##@@@@@@@@@@#@@#@#@#  23 **
+@@@'. .'@@#@.@@@@#@#@#@@@@#@@@@@@@@@@@@@@()))#@##  22 **
+@@@@@@@#@@@@@@@##@.@@@#@@@@@@@@###@@@@##@@@#@#@@@  21 **
+@@###.##@@###@@@@##@@@#@.##@~~@#@@@#@#@@#@#@@@#@#  20 **
+#@@@#@@#@@@@@.@#@@###@@@@@@~~~~ .~'##@@@@###@#@#@  19 **
+@#@@#@@@#@#@@#.@@##@@@@#@@@@~~ /~\ #@@#@@#@@#@###  18 **
+#@@@.#@@#@@@@##..@@#@@@###@## / / \ @@###@@@@@@@#  17 **
+@@@##@@#####@@@#..@@@@#@@@@@@/ / \ \#@#@@@@@@###@  16 **
+@#@#@@@@@@@@@##_.~._@@##@@#@.'/\.'~. @#@@@@#@@@@@  15 **
+#@@.##@@#@#@@@@ ||| @@@@#@@'.~.'~. \'.#@#@###@@@#  14 **
+@#@#@#@@@#@@#@@@~~~#@@@#@@@@' ..'.'.\. . @@##@###  13 **
+@@@@#@@@@#@@@@.~~.@@@#@@##@#@@#@@ .'.~~~' @'#@@@@  12 **
+#@@.@@@@@@##.~~.##@#@@@#@#@@#@##@@  ~~~~~..@@@@@@  11 **
+@@#.@@@@@##.~~.|##@@@@#@@@@#@@@@#.'/ ~~~ \' #@@@@  10 **
+#@@@.@@ _|%%%=%%|_ @@@@#@@@####@. ~ /' .'/\.@@@#@   9 **
+@@@##../  \.~~./  \.....#@#@##@@@' /\.''/' \' @#@   8 **
+@@@@#@@@#@@.~~.@@@@#@#@@.|@@@@@@'././\ .\'./\ '.    7 **
+@@@@#@@@@@#@.~~.@@@@@@@..@@@#@@' ~. \.\  \ \.~~~.   6 **
+@@@@@##@@@#@@.~~.@#./\.'@@##@@@@'.' .'/.#. /'.~~~   5 **
+@#@##@#@@@@.' ~  './\'./\' .@@@@@@@' /\ . /'. ..'   4 **
+@@@@@#@@@_/ ~   ~  \ ' '. '.'.@#@@  /  \  \  @@@@   3 **
 -~------'    ~    ~ '--~-----~-~----___________--   2 **
   ~    ~  ~      ~     ~ ~   ~     ~  ~  ~   ~      1 **
 
diff --git a/src/2023/index.html b/src/2023/index.html index 2ccf4189..d3cce411 100644 --- a/src/2023/index.html +++ b/src/2023/index.html @@ -31,10 +31,49 @@

   $year=<
                     ...'''''''''...                    
                   .'' ~/\* ~~~~  /\ ''.            14 **
                 .' /\/\ ~~~~~~~~ * /~\ '.          15 **
            ...  :~~~~~~~~~ /\ ~~~~/ * \ :          16 **
-    .''....' '..'.||||||||||||||||||||~~~~/\*/\ ~  /\   /\ .'          13 **
+    .''....' '..'.||||||||||||||||||||~~~~/\*/\ ~  /\   /\ .'          13 **
     '.ZZ~   ~ * ~~~~.   /\  /\   /\ ..'            17 **
 .'''' ZZ* .'''.[]~~~''''.........'''               12 **
 '.... ~   '...'  *[]....'                          18 **
     .'*  ~   [^^^] '.                              11 **
-    '..''''.*.''''.....``'."'.'' ''...                       10 **
+    '..''''.*.''''.''.``,,,,,.'' ''...                       10 **
           .'''~ ~ ~ . * ### ''.                    19 **
         .' ~  ,* ~ '", ~ ##### '.                   9 **
         : ~ '(~), ~ * ~ ~ ~ ### :                   8 **
         '. ~ " ' ~ ~ ~ * ~~~## .'                  20 **
-          '.. ~ ~ * ~ ####~~....................~~'.'''''''''...        7 **
+          '.. ~ ~ * ~ ####~~....................~~'.'''''''''...        7 **
              '''.........'''' ~ .'*. ~  ..  ''.     6 **
                         .' ~ .. '...' ~'* '.~  '.  21 **
                         ~~ .~~~'. ~     '. *'.~ :   5 **
-                 ...''''||||||||||||||||||||~~~'*~~.'  .''.~  '..' .'  22 **
+                 ...''''||||||||||||||||||||~~~'*~~.'  .''.~  '..' .'  22 **
               .''   -   - '..  ~..'*   '. ~ ..'     4 **
             .' * -    /\ -   '''../......'''       23 **
-            :  -   -  - ******************************* /\    -/  :              25 **
+            :  -   -  - ******************************* /\    -/  :              25 **
             '.    - *  /\ -   - /  .'              24 **
               '..    -     -   *..'                 3 **
     ----@        '''..*......'''                    2 **
diff --git a/src/2024/index.html b/src/2024/index.html
index eace3ad8..6e929d83 100644
--- a/src/2024/index.html
+++ b/src/2024/index.html
@@ -31,14 +31,64 @@ 

   $year=<