-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
539 lines (503 loc) · 58.8 KB
/
Copy pathindex.html
File metadata and controls
539 lines (503 loc) · 58.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Let's Encode! Crowd-encoding and validation of music scores</title>
<meta name="description" content="Let's Encode! is a citizen-science project for crowd-based encoding and validation of music scores in the MEI format, with a family of free, browser-based tools for different levels of expertise — from the mei-friend MEI-XML editor to graphical interfaces that need no MEI knowledge.">
<!-- Open Graph / social preview -->
<meta property="og:title" content="Let's Encode!">
<meta property="og:description" content="Crowd-based encoding and validation of music scores in the MEI format.">
<meta property="og:type" content="website">
<meta name="color-scheme" content="light dark">
<script>
// Theme: a saved choice (from the bulb toggle) wins; otherwise follow the
// machine's colour-scheme setting. Runs before first paint so there's no
// wrong-theme flash. Only the user's explicit pick is stored, under a single
// localStorage key — a functional preference, no tracking.
(function () {
var stored = null;
try { stored = localStorage.getItem("theme"); } catch (e) {}
var dark = stored
? stored === "dark"
: (window.matchMedia && matchMedia("(prefers-color-scheme: dark)").matches);
var theme = dark ? "dark" : "light";
document.documentElement.dataset.theme = theme;
document.documentElement.style.colorScheme = theme;
})();
</script>
<!-- Favicons (blue hand + note, isolated from the project logo) -->
<link rel="icon" href="assets/favicon.svg" type="image/svg+xml">
<link rel="icon" href="assets/favicon-32.png" sizes="32x32" type="image/png">
<link rel="icon" href="assets/favicon-16.png" sizes="16x16" type="image/png">
<link rel="apple-touch-icon" href="assets/apple-touch-icon.png">
<link rel="stylesheet" href="styles.css">
</head>
<body>
<a class="skip-link" href="#main">Skip to content</a>
<span id="top" aria-hidden="true"></span>
<!-- ====================== TOP BAR ====================== -->
<header class="topbar">
<div class="wrap">
<a class="brand" href="#top" aria-label="Let's Encode! — back to top"><span class="brand-logo" title="Let's Encode! Crowd-encoding and validation of music scores"><img class="brand-logo-img brand-logo-rest" src="assets/logos/lets-encode-nav.png" alt="" width="1120" height="400"><img class="brand-logo-img brand-logo-rest-dark" src="assets/logos/lets-encode-cream.png" alt="" width="1120" height="400"><img class="brand-logo-img brand-logo-hover" src="assets/logo.svg" alt="" width="1391" height="400"><img class="brand-logo-img brand-logo-hover-dark" src="assets/logo-dark.svg" alt="" width="1391" height="400"></span><span class="brand-text" aria-hidden="true">Let's Encode!</span></a>
<div class="topbar-right">
<nav class="nav" id="primary-nav" aria-label="Primary">
<a href="#about">About</a>
<a href="#goals">Goals</a>
<a href="#get-involved">Get involved</a>
<a href="#team">Team</a>
<a href="#advisory">Advisory board</a>
<a href="#funding">Funding</a>
</nav>
<button class="theme-toggle" type="button" aria-label="Switch to dark theme" aria-pressed="false" title="Toggle light / dark theme">
<svg class="bulb" viewBox="-2 -2 28 28" width="22" height="22" aria-hidden="true" focusable="false">
<g class="bulb-rays" stroke="currentColor" stroke-width="1.8" stroke-linecap="round">
<line x1="12" y1="-1.8" x2="12" y2="2"/>
<line x1="21.8" y1="2.2" x2="18.9" y2="5.1"/>
<line x1="2.2" y1="2.2" x2="5.1" y2="5.1"/>
<line x1="24.6" y1="11" x2="20.8" y2="11"/>
<line x1="-0.6" y1="11" x2="3.2" y2="11"/>
</g>
<path class="bulb-glass" d="M12 2.6a6.2 6.2 0 0 0-3.8 11.1c.75.58 1.25 1.4 1.35 2.35h4.9c.1-.95.6-1.77 1.35-2.35A6.2 6.2 0 0 0 12 2.6Z"/>
<path class="bulb-filament" d="M10 12.7 12 10l2 2.7"/>
<g class="bulb-base" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" fill="none">
<path d="M9.6 16.2v1.6h4.8v-1.6"/>
<line x1="10.4" y1="20" x2="13.6" y2="20"/>
</g>
</svg>
</button>
<button class="nav-toggle" type="button" aria-label="Open menu" aria-expanded="false" aria-controls="primary-nav">
<span class="nav-toggle-bars" aria-hidden="true"></span>
</button>
</div>
</div>
</header>
<main id="main">
<!-- ====================== HERO ====================== -->
<section class="hero" aria-labelledby="hero-heading">
<a class="hero-corner hero-corner-left" href="https://iwk.mdw.ac.at" target="_blank" rel="noopener" title="Department of Music Acoustics – Wiener Klangstil">
<img src="assets/logos/IWK-logo2018-P281-short.svg" alt="IWK – Department of Music Acoustics – Wiener Klangstil" title="Department of Music Acoustics – Wiener Klangstil">
</a>
<a class="hero-corner hero-corner-right" href="https://mdw.ac.at" target="_blank" rel="noopener" title="mdw – University of Music and Performing Arts Vienna">
<img src="assets/logos/MDW_Logo_englisch281.svg" alt="mdw – University of Music and Performing Arts Vienna" title="mdw – University of Music and Performing Arts Vienna">
</a>
<div class="wrap">
<h1 id="hero-heading" class="visually-hidden" style="position:absolute;left:-9999px;">Let's Encode!</h1>
<!--
The logo SVG is INLINED below so its built-in animation can be triggered
by lets-encode-logo.js (which toggles the `.play` class on <svg id="svg1">).
Do NOT replace this with <img src="lets-encode-logo.svg"> — that shows the
static logo only. The static logo also renders fine with JS disabled.
-->
<div class="logo" role="img" aria-label="Let's Encode! logo: three cartoon hands interacting with the words, a musical note, and a thumbs-up." title="Let's Encode! Crowd-encoding and validation of music scores">
<svg xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" width="141.11163mm" height="40.581127mm" viewBox="0 0 141.11163 40.581127" version="1.1" id="svg1" inkscape:version="1.4 (e7c3feb1, 2024-10-09)" sodipodi:docname="lets-encode.svg">
<sodipodi:namedview id="namedview1" pagecolor="#ffffff" bordercolor="#000000" borderopacity="0.25" inkscape:showpageshadow="2" inkscape:pageopacity="0.0" inkscape:pagecheckerboard="0" inkscape:deskcolor="#d1d1d1" inkscape:document-units="mm" inkscape:zoom="0.82136644" inkscape:cx="118.09589" inkscape:cy="206.97218" inkscape:current-layer="layer1"/>
<defs id="defs1"><style type="text/css"><![CDATA[
/* --- Let's Encode: subtle, serialized hand animations --- */
#orange-hand, #blue-hand, #green-hand, #apostrophe, #note {
transform-box: fill-box;
}
/* 1) Orange hand twiddles the apostrophe (subtle horizontal wobble) */
#orange-hand {
transform-origin: 70% 85%;
}
@keyframes orange-twiddle {
0% { transform: rotate(0deg) scaleX(1); }
35% { transform: rotate(-2.5deg) scaleX(0.97); }
70% { transform: rotate(1.5deg) scaleX(0.99); }
100% { transform: rotate(0deg) scaleX(1); }
}
#apostrophe {
/* Pivot from the top so the bottom-right (where the orange hand grips it)
swings on a long lever arm and stays in contact instead of gapping. */
transform-origin: 100% 0%;
}
@keyframes apostrophe-twiddle {
0% { transform: rotate(0deg); }
35% { transform: rotate(-7deg); }
70% { transform: rotate(2.5deg); }
100% { transform: rotate(0deg); }
}
/* 2) Blue hand boops the note (subtle downward dip) */
#blue-hand {
transform-origin: 25% 15%;
}
@keyframes blue-boop {
0% { transform: translate(0, 0) rotate(0deg); }
45% { transform: translate(0.8px, 1px) rotate(1deg); }
100% { transform: translate(0, 0) rotate(0deg); }
}
#note {
transform-origin: 50% 100%;
}
@keyframes note-boop {
0% { transform: translateY(0); }
45% { transform: translateY(1.2px); }
75% { transform: translateY(-0.3px); }
100% { transform: translateY(0); }
}
/* 3) Green hand pops the thumbs-up (subtle scale) */
#green-hand {
transform-origin: 50% 90%;
}
@keyframes green-pop {
0% { transform: scale(1) rotate(0deg); }
40% { transform: scale(1.035) rotate(-1.5deg); }
100% { transform: scale(1) rotate(0deg); }
}
@media (prefers-reduced-motion: reduce) {
#orange-hand, #blue-hand, #green-hand, #apostrophe, #note { animation: none; }
}
/* The automated combo: the full staggered orange -> blue -> green sequence,
played while the root <svg> has class "play" (JS re-adds it on a bounded
random timer). */
#svg1.play #orange-hand { animation: orange-twiddle 0.55s ease-in-out 0s 1 both; }
#svg1.play #apostrophe { animation: apostrophe-twiddle 0.55s ease-in-out 0s 1 both; }
#svg1.play #blue-hand { animation: blue-boop 0.50s cubic-bezier(0.34, 1.4, 0.64, 1) 0.275s 1 both; }
#svg1.play #note { animation: note-boop 0.50s cubic-bezier(0.34, 1.4, 0.64, 1) 0.275s 1 both; }
#svg1.play #green-hand { animation: green-pop 0.45s cubic-bezier(0.34, 1.5, 0.64, 1) 0.525s 1 both; }
/* Individual hover replay: JS adds .play-orange / .play-blue / .play-green when
the cursor enters that hand or its companion glyph, then removes it when the
gesture ends. Each plays its own full gesture once — no stagger, no hold. */
#svg1.play-orange #orange-hand { animation: orange-twiddle 0.55s ease-in-out 0s 1 both; }
#svg1.play-orange #apostrophe { animation: apostrophe-twiddle 0.55s ease-in-out 0s 1 both; }
#svg1.play-blue #blue-hand { animation: blue-boop 0.50s cubic-bezier(0.34, 1.4, 0.64, 1) 0s 1 both; }
#svg1.play-blue #note { animation: note-boop 0.50s cubic-bezier(0.34, 1.4, 0.64, 1) 0s 1 both; }
#svg1.play-green #green-hand { animation: green-pop 0.45s cubic-bezier(0.34, 1.5, 0.64, 1) 0s 1 both; }
]]></style></defs>
<g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(-73.818741,-93.662498)">
<g class="blue-hand" id="blue-hand"><g id="g31" transform="matrix(0.49406185,0.48471606,-0.48471606,0.49406185,301.88844,151.90373)">
<path style="fill:#6dc3ff;fill-opacity:1;stroke:#0000ff;stroke-width:0.329372;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke" d="m -617.54269,222.38588 c -4.28784,0.25411 -7.18007,3.96084 -10.3468,6.39653 -8.60674,7.58765 -20.51045,9.76613 -29.28604,17.07396 -5.32159,4.75696 -8.95052,11.13235 -11.7936,17.6044 -0.48805,1.70716 -0.51818,0.65441 -0.3916,-0.48285 0.12762,-2.94514 1.51344,-5.75934 2.00735,-8.70989 -0.18897,-2.44295 -3.3562,-2.23168 -4.93091,-1.29755 -6.2653,2.93112 -9.55507,9.87912 -9.98558,16.52953 -0.68964,8.75181 -0.26574,18.35777 5.01248,25.75301 2.22445,3.05257 6.3245,5.13626 10.07933,4.04741 1.68932,-1.23407 0.11813,-3.49118 -0.16157,-5.06715 -0.64618,-1.89207 -1.38539,-4.13019 -1.41682,-6.08032 2.8819,5.76458 5.92774,11.99025 11.78971,15.28294 6.36848,3.65268 13.34732,7.06016 20.87988,6.82754 6.00132,-0.0657 12.13749,0.13071 17.99837,-1.34004 6.28708,-1.89967 12.52492,-6.57516 13.83277,-13.34031 0.37704,-1.86029 0.32746,-4.93853 -2.17808,-5.13857 -0.57106,-0.1536 -1.93147,0.36945 -1.98009,-0.0738 2.39035,-1.9681 5.57023,-2.93903 7.47325,-5.53118 3.05192,-3.67616 3.74673,-8.97825 2.57638,-13.50427 -0.7482,-2.58326 -3.30926,-4.09439 -5.91018,-4.08612 -1.03701,-0.11171 -2.09839,-0.27579 -3.04047,-0.74835 12.05731,-1.4497 24.2711,-0.88068 36.2945,-2.64673 4.0563,-0.57551 8.36862,-2.48485 9.96338,-6.54391 1.87779,-4.19658 -1.35414,-8.86887 -5.29686,-10.39571 -4.58395,-1.84977 -9.68841,-1.03204 -14.50329,-1.20462 -15.07836,0.16239 -30.20292,0.69007 -45.24638,-0.0339 -1.10827,-0.0932 -2.20899,-0.32225 -3.25891,-0.68991 4.19071,-0.54497 8.51719,-0.0387 12.64983,-0.97982 3.8182,-1.89226 4.96507,-6.62259 5.38991,-10.51543 0.41177,-3.63193 -0.15357,-7.78254 -3.25664,-10.14891 -0.7804,-0.78377 -1.8896,-1.03644 -2.96332,-0.956 z" id="path31" transform="matrix(0.26458333,0,0,0.26458333,-28.491819,30.034714)"/>
<path d="m -199.1306,112.5733 c -1.68676,-0.47376 -3.4261,-1.32464 -4.24799,-2.07811 -0.44998,-0.41253 -0.97568,-0.565 -2.00586,-0.58178 -1.7565,-0.0286 -2.80071,-0.72567 -3.58429,-2.39266 -1.16438,-2.4771 -1.14402,-7.05153 0.0408,-9.17174 0.82277,-1.47229 1.82001,-2.15327 3.23576,-2.20959 0.98414,-0.0392 1.30026,-0.19843 2.01947,-1.01757 0.56158,-0.6396 1.71955,-1.37727 3.39184,-2.16074 3.70503,-1.7358 4.00935,-1.91615 5.31728,-3.15125 2.07075,-1.95545 3.16387,-2.18996 4.52774,-0.97135 1.04221,0.93122 1.32328,2.80154 0.65967,4.38977 -0.2337,0.55932 -0.42491,1.07711 -0.42491,1.15064 0,0.0735 2.48607,0.0471 5.5246,-0.0587 5.23203,-0.18219 5.58981,-0.16353 6.75581,0.35225 1.55832,0.68931 2.16944,1.89137 1.75122,3.44454 -0.52668,1.95593 -1.51799,2.39314 -6.18562,2.72807 -2.05973,0.1478 -3.7727,0.29423 -3.80659,0.32538 -0.0339,0.0312 0.0447,0.42723 0.17456,0.88015 0.30827,1.07489 -0.0852,2.79873 -0.88235,3.86531 -0.39905,0.53395 -0.66663,1.32642 -0.74633,2.2103 -0.16398,1.81881 -1.07736,2.99956 -3.04646,3.93823 -1.30229,0.62081 -1.92614,0.73866 -4.30134,0.81253 -1.88418,0.0586 -3.22504,-0.0391 -4.16702,-0.30368 z m 8.03416,-1.48053 c 1.45346,-0.7206 2.48286,-2.05131 2.48286,-3.20959 0,-0.63916 -0.0977,-0.75708 -0.57072,-0.68848 -0.95878,0.13907 -0.86682,-0.55778 0.1285,-0.97365 1.2852,-0.537 2.07368,-1.73132 2.09549,-3.1741 0.0208,-1.37659 -0.39361,-1.98563 -1.35494,-1.99123 -0.83716,-0.005 -1.48331,-0.37072 -1.26853,-0.71824 0.0858,-0.13875 2.35443,-0.3254 5.04151,-0.41477 5.28518,-0.17578 6.40189,-0.42633 7.17778,-1.61048 0.61669,-0.9412 0.22924,-2.01149 -0.94609,-2.61349 -0.82675,-0.42346 -1.51734,-0.4502 -7.52487,-0.29141 -7.14214,0.18879 -9.65729,0.0366 -9.65729,-0.5843 0,-0.29329 0.43725,-0.37784 1.95394,-0.37784 1.83462,0 1.98276,-0.044 2.42572,-0.72001 0.67794,-1.03468 0.82292,-3.07378 0.27769,-3.9059 -0.69687,-1.06355 -1.60824,-0.87369 -3.24735,0.67651 -0.89272,0.8443 -2.17826,1.68493 -3.46516,2.26591 -3.2222,1.45469 -3.7526,1.75392 -4.91895,2.77507 -0.96901,0.84837 -2.50134,3.36949 -2.95482,4.86155 -0.14858,0.48884 -0.18049,0.49415 -0.41878,0.0697 -0.23474,-0.41812 -0.0379,-1.67621 0.46878,-2.99667 0.24101,-0.62805 -0.84504,-0.45047 -1.71333,0.28015 -1.1606,0.97658 -1.69927,2.55329 -1.71778,5.02807 -0.0266,3.56174 1.3163,6.2177 3.14387,6.2177 0.35264,0 0.63936,-0.0298 0.63717,-0.0661 -0.002,-0.0364 -0.17556,-0.5424 -0.38526,-1.12448 -0.42775,-1.18732 -0.51573,-2.24896 -0.18638,-2.24896 0.11997,0 0.54707,0.71253 0.94913,1.58341 0.85111,1.84356 1.79367,2.72276 3.99301,3.72458 2.09622,0.95484 2.44672,1.01348 5.58644,0.93462 2.21233,-0.0556 2.90103,-0.17836 3.96836,-0.70753 z" style="fill:#000000" id="path1"/>
</g>
</g><path d="m 88.23657,127.20017 q 0.13709,0.27418 0.13709,0.61691 0,0.57121 -0.36558,1.09672 -0.34273,0.52552 -0.82254,0.7083 -0.45697,0.15995 -1.32522,0.15995 -0.86824,0 -1.25666,0.11424 -0.38843,0.11424 -0.89109,0.7083 -0.43412,0.47981 -1.508,0.63975 -0.6626,0.0914 -1.34805,-0.45697 -0.68545,-0.54836 -0.93678,-1.34805 -0.0457,-0.15994 -0.0457,-0.29703 0,-0.29703 0.31989,-0.66261 0.34273,-0.36557 0.31988,-0.63975 l -0.95964,-13.84616 q 0,-0.0914 -0.25133,-0.41127 -0.22848,-0.34273 -0.22848,-0.57121 0,-0.31988 0.34272,-0.61691 0.47982,-0.43412 1.37091,-0.43412 0.754,0 1.43945,0.31988 0.7083,0.31988 0.89109,0.754 0.11424,0.25133 0.11424,0.43412 0,0.20563 -0.20564,0.41127 -0.20563,0.20563 -0.18278,0.38842 l 0.82254,12.61234 1.37091,-0.54836 q 0.43412,-0.20563 0.86824,-0.38842 0.45696,-0.20564 0.75399,-0.20564 0.82255,0 1.57655,1.4623 z" id="text17-6-0-7" style="font-size:85.3333px;line-height:0;font-family:'Marker Felt';-inkscape-font-specification:'Marker Felt';text-align:justify;letter-spacing:0px;word-spacing:0.05px;white-space:pre;stroke:#000000;stroke-width:0.414887;stroke-linecap:round;stroke-linejoin:round;stroke-dashoffset:0.74891;stroke-opacity:0.838663;paint-order:fill markers stroke" aria-label="L"/>
<path d="m 97.47875,128.31974 q -0.18279,0.86824 -1.23381,1.85073 -0.15994,0.25133 -1.25666,0.6626 -1.25666,0.47982 -2.1706,0.41127 -1.71363,-0.11424 -2.69612,-1.96496 -0.89108,-1.71363 -0.89108,-4.20411 0,-2.69612 1.00532,-4.72963 1.11959,-2.23915 2.99315,-2.51333 0.36557,-0.0457 0.7083,-0.0457 2.71896,0 2.99314,3.33588 0.13709,1.53085 -1.21096,3.33587 -1.46229,1.98781 -3.74714,2.78751 0.25133,0.91394 0.38842,1.18812 0.31988,0.57121 0.86824,0.57121 0.52551,0 1.11957,-0.41128 0.50267,-0.34272 0.68546,-0.6626 0.0914,-0.0457 0.18279,-0.50266 0.0914,-0.47982 0.47981,-0.68546 0.13709,-0.0685 0.31988,-0.0685 0.54836,0 1.05102,0.54836 0.52551,0.52551 0.41127,1.09672 z m -3.5872,-8.04265 q -0.91393,0 -1.48514,1.30237 -0.75399,1.73648 -0.6169,3.42726 1.07387,-0.34272 1.9878,-1.59939 0.91395,-1.25666 0.91395,-2.23914 0,-0.8911 -0.79971,-0.8911 z" id="text16-4-1-6" style="font-size:85.3333px;line-height:0;font-family:'Marker Felt';-inkscape-font-specification:'Marker Felt';text-align:justify;letter-spacing:0px;word-spacing:0.05px;white-space:pre;stroke:#000000;stroke-width:0.414887;stroke-linecap:round;stroke-linejoin:round;stroke-dashoffset:0.74891;stroke-opacity:0.838663;paint-order:fill markers stroke" aria-label="e"/>
<path d="m 106.43532,120.34564 q -0.1828,0 -0.57122,-0.1371 -0.38841,-0.15994 -0.59406,-0.15994 -0.15994,0 -0.31988,0.0685 l -0.84539,0.43413 v 7.81416 q 0,0.43412 0.45697,1.11957 0.47982,0.68546 0.38842,1.09673 -0.11424,0.50266 -0.68545,0.79969 -0.54836,0.29703 -1.18812,0.29703 -1.21096,0 -1.66793,-1.07387 -0.13709,-0.31988 -0.15994,-2.03351 -0.0228,-1.14242 0.0228,-3.56436 0.0457,-2.74181 0.0457,-3.47296 -0.13709,0.0457 -0.45697,0.31988 -0.31988,0.25133 -0.63975,0.25133 -0.25134,0 -0.63976,-0.13709 -1.59938,-0.54836 -1.59938,-1.11957 0,-0.13709 0.0685,-0.29703 0.15994,-0.36559 0.59405,-0.41128 0.66261,-0.0914 0.7997,-0.15994 0.52551,-0.20564 1.91927,-0.98248 v -1.98782 q 0,-0.22848 -0.1371,-0.59405 -0.11424,-0.38843 -0.11424,-0.57122 0,-0.20563 0.11424,-0.38842 0.59406,-0.91394 1.59939,-0.91394 1.16527,0 1.64509,0.91394 0.18279,0.36558 0.18279,0.59406 0,0.27418 -0.27418,0.57121 -0.27418,0.29703 -0.27418,0.54836 v 1.11958 q 0.41127,-0.18279 0.91393,-0.61691 0.38843,-0.31988 0.66261,-0.31988 0.11424,0 0.25133,0.0457 1.43945,0.38842 1.43945,1.73648 0,0.43412 -0.27418,0.82254 -0.25133,0.38843 -0.6626,0.38843 z" id="text15-7-4-1" style="font-size:85.3333px;line-height:0;font-family:'Marker Felt';-inkscape-font-specification:'Marker Felt';text-align:justify;letter-spacing:0px;word-spacing:0.05px;white-space:pre;stroke:#000000;stroke-width:0.414887;stroke-linecap:round;stroke-linejoin:round;stroke-dashoffset:0.74891;stroke-opacity:0.838663;paint-order:fill markers stroke" aria-label="t"/>
<g class="apostrophe" id="apostrophe"><path d="m 108.95576,112.48794 -0.10732,1.60969 q -0.0179,0.16097 0.0358,0.41136 0.0537,0.2504 0.0537,0.33983 0,0.60811 -0.69754,0.60811 -0.37559,0 -0.75119,-0.23252 -0.37559,-0.25039 -0.46502,-0.59022 -0.0358,-0.17885 0.0358,-0.44713 0.0715,-0.26828 0.0715,-0.41136 v -1.39507 l -0.21462,-0.8585 q 0.26828,-0.48291 0.96581,-0.48291 0.84062,0 1.07313,0.59022 0.0537,0.1252 0,0.8585 z" id="text14-7-4-2" style="font-size:85.3333px;line-height:0;font-family:'Marker Felt';-inkscape-font-specification:'Marker Felt';text-align:justify;letter-spacing:0px;word-spacing:0.05px;white-space:pre;stroke:#000000;stroke-width:0.324768;stroke-linecap:round;stroke-linejoin:round;stroke-dashoffset:0.74891;stroke-opacity:0.838663;paint-order:fill markers stroke" aria-label="'"/>
</g><path d="m 117.12158,127.65714 q 0,1.59939 -1.14243,2.74181 -1.14241,1.11958 -2.6961,1.11958 -0.9825,0 -2.03352,-0.93679 -0.82254,-0.754 -1.48514,-1.85072 -0.57122,-0.95964 -0.50268,-1.21097 0.25133,-0.57121 1.57655,-0.57121 0.54836,0 0.86823,0.15994 0.54837,0.29703 0.61691,0.754 0.0686,0.52551 0.22848,0.6626 0.47982,0.73115 0.86825,0.73115 0.29702,0 0.54836,-0.38842 0.27418,-0.41128 0.27418,-0.95964 0,-0.34272 -0.11424,-0.68545 -0.11425,-0.34273 -1.23382,-1.05103 -1.34806,-0.84539 -1.91927,-1.48515 -0.98248,-1.09672 -0.98248,-2.55902 0,-1.71363 1.00533,-2.99315 1.00533,-1.30236 2.55903,-1.30236 1.59939,0 2.44478,1.21096 0.68545,0.98249 0.57121,1.98783 0.25133,0.27418 0.25133,0.91393 0,0.68546 -0.50267,1.16527 -0.50266,0.47982 -1.02817,0.47982 -0.77685,0 -1.34806,-1.02818 -0.15994,-0.27418 -0.15994,-0.73115 0,-0.20563 0.0228,-0.57121 0.0457,-0.38842 0.0457,-0.54836 0,-0.59407 -0.43412,-0.59407 -0.66261,0 -0.66261,1.30237 0,1.32521 0.86825,2.1249 0.34272,0.31988 1.48514,0.91394 0.98248,0.50267 1.39375,1.02818 0.61691,0.79969 0.61691,2.1706 z" id="text13-6-8-6" style="font-size:85.3333px;line-height:0;font-family:'Marker Felt';-inkscape-font-specification:'Marker Felt';text-align:justify;letter-spacing:0px;word-spacing:0.05px;white-space:pre;stroke:#000000;stroke-width:0.414887;stroke-linecap:round;stroke-linejoin:round;stroke-dashoffset:0.74891;stroke-opacity:0.838663;paint-order:fill markers stroke" aria-label="s"/>
<path d="m 131.25165,114.67923 q -0.52551,0.43411 -1.34805,0.43411 -0.34272,0 -0.79969,-0.0685 -0.6626,0.20564 -1.18813,0.41127 -1.2795,0.47982 -1.69077,0.82254 -0.13709,2.37624 0,5.43794 0.13709,-0.0914 0.68545,-0.18279 0.27418,-0.47981 0.93678,-0.47981 0.6626,0 1.53085,0.63975 0.89109,0.63976 0.89109,1.25666 0,0.15994 -0.0686,0.31988 -0.27418,0.68546 -0.84539,0.86824 -0.34274,0.11425 -1.00534,0.0685 -0.6626,-0.0685 -0.84539,0.0228 -0.52551,0.25133 -1.27952,0.59406 0,2.05636 0.13711,2.65041 0.95963,-0.22848 1.59938,-0.54836 0.11424,-0.15994 0.22848,-0.29703 0.22848,-0.25133 0.82254,-0.20563 0.63977,0.0457 1.32522,0.73115 0.68545,0.68545 0.68545,1.39375 0,0.61691 -0.52551,0.91394 -0.52551,0.29703 -1.75934,0.20563 l -2.14774,1.07388 q -0.13709,0.0685 -0.59406,0.45697 -0.34274,0.29703 -0.61692,0.29703 -0.0914,0 -0.20562,-0.0228 -1.21098,-0.36558 -2.19346,-1.89642 -0.0686,-0.11424 -0.0686,-0.27418 0,-0.0686 0.25133,-0.91394 -0.25133,-6.64889 -0.0914,-14.16603 -0.15994,-0.22849 -0.15994,-0.45697 0,-0.754 1.39375,-0.95964 0.29704,-0.0457 0.754,0.15994 0.29703,0.15994 0.57122,0.29703 l 2.74181,-0.86824 q 0.0914,-0.0228 0.52551,-0.27418 0.29703,-0.18279 0.68545,-0.18279 0.18279,0 0.43412,0.0457 0.50267,0.0914 0.98248,0.79969 0.50267,0.68546 0.50267,1.30236 0,0.38843 -0.25133,0.59407 z" id="text12-7-7-9" style="font-size:85.3333px;line-height:0;font-family:'Marker Felt';-inkscape-font-specification:'Marker Felt';text-align:justify;letter-spacing:0px;word-spacing:0.05px;white-space:pre;stroke:#000000;stroke-width:0.414887;stroke-linecap:round;stroke-linejoin:round;stroke-dashoffset:0.74891;stroke-opacity:0.838663;paint-order:fill markers stroke" aria-label="E"/>
<path d="m 142.67588,129.25653 q -0.0457,0.50266 -0.6626,0.86824 -0.6169,0.34273 -1.3709,0.34273 -1.11959,0 -1.53085,-0.70831 0.18279,-7.03731 -0.41127,-7.1287 -0.57121,-0.0914 -2.78751,6.30616 0,0.68545 0,1.37091 -0.0228,0.82254 -0.45697,1.16527 -0.41127,0.34272 -0.89108,0.34272 -0.82256,0 -1.75934,-0.89108 -0.27418,-0.22849 -0.29703,-3.47297 0.0228,1.98782 0.0228,-7.38005 0,-0.20563 -0.0457,-0.54836 -0.0457,-0.36558 -0.0457,-0.52551 0,-0.43412 0.22848,-0.754 0.27418,-0.41127 0.86824,-0.41127 0.61691,0 1.27951,0.38842 0.68546,0.36557 0.82255,0.7083 0.0914,0.22848 0.0914,0.45697 0,0.22848 -0.18279,0.63976 -0.18279,0.41128 -0.18279,0.68546 v 3.15308 q 1.43945,-3.06169 2.17061,-4.04418 1.30235,-1.69078 2.94744,-1.57654 0.98248,0.0685 1.39376,1.82787 0.31987,1.32522 0.34272,3.92994 0,2.05636 0,4.11272 0.0457,0.15994 0.31988,0.57121 0.15994,0.22848 0.13709,0.57121 z" id="text11-0-1-2" style="font-size:85.3333px;line-height:0;font-family:'Marker Felt';-inkscape-font-specification:'Marker Felt';text-align:justify;letter-spacing:0px;word-spacing:0.05px;white-space:pre;stroke:#000000;stroke-width:0.414887;stroke-linecap:round;stroke-linejoin:round;stroke-dashoffset:0.74891;stroke-opacity:0.838663;paint-order:fill markers stroke" aria-label="n"/>
<path d="m 151.72386,126.92599 q -0.0228,0.50267 -0.43411,1.02818 -0.63976,0.754 -0.82255,1.14242 -1.43945,2.19345 -2.97031,2.19345 -1.80502,0 -2.81035,-1.82787 -0.89108,-1.66794 -0.89108,-4.20412 0,-2.90175 1.09672,-5.04951 1.21096,-2.37623 3.13023,-2.37623 1.508,0 2.44479,1.66793 0.77685,1.41662 0.77685,3.08455 0,0.45697 -0.0686,0.79969 -0.15994,0.77685 -1.30235,0.77685 -0.89109,0 -1.37092,-0.50266 -0.22847,-0.25134 -0.22847,-1.16528 0,-0.22848 0.0228,-0.6626 0,-0.45697 0,-0.6626 0,-1.02819 -0.36558,-1.02819 -0.38842,0 -0.82254,2.262 -0.43412,2.23915 -0.43412,4.20411 0,2.28485 0.68545,2.28485 0.89109,0 1.32521,-1.43946 0.1828,-0.20563 0.20564,-0.82254 0,-0.54836 0.27418,-0.7083 0.27418,-0.18279 0.79969,-0.18279 0.68545,0 1.18812,0.29703 0.59406,0.34273 0.57121,0.89109 z" id="text10-8-0-2" style="font-size:85.3333px;line-height:0;font-family:'Marker Felt';-inkscape-font-specification:'Marker Felt';text-align:justify;letter-spacing:0px;word-spacing:0.05px;white-space:pre;stroke:#000000;stroke-width:0.414887;stroke-linecap:round;stroke-linejoin:round;stroke-dashoffset:0.74891;stroke-opacity:0.838663;paint-order:fill markers stroke" aria-label="c"/>
<path d="m 160.44053,118.92903 q 1.53084,1.5537 1.53084,5.2323 0,2.85606 -1.07388,4.86672 -1.21096,2.26199 -3.33587,2.26199 -2.10205,0 -3.24447,-2.03351 -1.00534,-1.78218 -1.00534,-4.52399 0,-2.42193 0.77685,-4.3412 0.82254,-2.05637 2.10206,-2.42194 0.6626,-0.18279 1.3709,-0.18279 1.75934,0 2.87891,1.14242 z m -2.60472,1.09673 q -0.754,-0.0685 -1.30236,1.41661 -0.47981,1.34806 -0.47981,2.8332 0,2.14775 0.18278,3.03884 0.31988,1.59939 1.32521,1.75933 0.63976,0.0914 1.18812,-1.75933 0.52551,-1.78217 0.52551,-3.81568 0,-3.33588 -1.43945,-3.47297 z" id="text9-1-2-8" style="font-size:85.3333px;line-height:0;font-family:'Marker Felt';-inkscape-font-specification:'Marker Felt';text-align:justify;letter-spacing:0px;word-spacing:0.05px;white-space:pre;stroke:#000000;stroke-width:0.414887;stroke-linecap:round;stroke-linejoin:round;stroke-dashoffset:0.74891;stroke-opacity:0.838663;paint-order:fill markers stroke" aria-label="o"/>
<path d="m 184.86869,128.31974 q -0.18279,0.86824 -1.23382,1.85073 -0.15994,0.25133 -1.25667,0.6626 -1.25666,0.47982 -2.1706,0.41127 -1.71363,-0.11424 -2.69611,-1.96496 -0.89109,-1.71363 -0.89109,-4.20411 0,-2.69612 1.00533,-4.72963 1.11957,-2.23915 2.99315,-2.51333 0.36557,-0.0457 0.7083,-0.0457 2.71896,0 2.99315,3.33588 0.13709,1.53085 -1.21098,3.33587 -1.46228,1.98781 -3.74714,2.78751 0.25134,0.91394 0.38843,1.18812 0.31988,0.57121 0.86824,0.57121 0.52551,0 1.11957,-0.41128 0.50267,-0.34272 0.68545,-0.6626 0.0914,-0.0457 0.1828,-0.50266 0.0914,-0.47982 0.47981,-0.68546 0.13709,-0.0685 0.31988,-0.0685 0.54837,0 1.05103,0.54836 0.5255,0.52551 0.41127,1.09672 z m -3.5872,-8.04265 q -0.91394,0 -1.48515,1.30237 -0.754,1.73648 -0.61691,3.42726 1.07388,-0.34272 1.98782,-1.59939 0.91393,-1.25666 0.91393,-2.23914 0,-0.8911 -0.79969,-0.8911 z" id="text7-2-4-7" style="font-size:85.3333px;line-height:0;font-family:'Marker Felt';-inkscape-font-specification:'Marker Felt';text-align:justify;letter-spacing:0px;word-spacing:0.05px;white-space:pre;stroke:#000000;stroke-width:0.414887;stroke-linecap:round;stroke-linejoin:round;stroke-dashoffset:0.74891;stroke-opacity:0.838663;paint-order:fill markers stroke" aria-label="e"/>
<path d="m 189.26698,113.30832 q 0.0457,0.15994 0.0457,0.31988 0,0.22848 -0.15993,0.68545 -0.15995,0.43412 -0.15995,0.73115 v 7.58569 q 0,0.34272 0.15995,0.93678 0.18278,0.59406 0.18278,0.84539 0,0.43412 -0.36557,0.7083 -0.34273,0.25134 -0.89109,0.25134 -1.18812,0 -1.82787,-0.82255 -0.20564,-0.27418 -0.20564,-0.6169 0,-0.11424 0.0457,-0.41128 0.0457,-0.31987 0.0228,-0.52551 -0.20564,-2.85606 -0.20564,-5.8949 0,-3.95278 0.34273,-4.3412 0.25133,-0.29703 1.14242,-0.29703 1.64509,0 1.87357,0.84539 z m 0,14.39452 q 0.11425,0.25133 0.11425,0.54836 0,0.20563 -0.0914,0.6626 -0.0686,0.45697 -0.0686,0.7083 0,-0.0457 0.0686,0.68546 0.0228,0.38842 -0.15994,0.6626 -0.25134,0.41127 -0.93679,0.41127 -1.18812,0 -1.80503,-0.79969 -0.15994,-0.22848 -0.15994,-0.7083 0,-0.18279 0.0457,-0.82255 0.0457,-0.57121 0.0228,-0.93678 0,-0.0686 -0.0685,-0.47982 -0.0686,-0.27418 0.0228,-0.47981 0.18278,-0.43413 1.02817,-0.43413 1.5537,0 1.98782,0.98249 z" id="text6-2-5-1" style="font-size:85.3333px;line-height:0;font-family:'Marker Felt';-inkscape-font-specification:'Marker Felt';text-align:justify;letter-spacing:0px;word-spacing:0.05px;white-space:pre;stroke:#000000;stroke-width:0.414887;stroke-linecap:round;stroke-linejoin:round;stroke-dashoffset:0.74891;stroke-opacity:0.838663;paint-order:fill markers stroke" aria-label="!"/>
<g class="note" id="note"><g id="g21-0-4-5" transform="matrix(2.9706677,0,0,2.9706677,65.75444,498.39952)" style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-opacity:1">
<path d="m 32.279156,-127.55052 h 4.892002" stroke-width="0.32031" id="path131-6-1-9" style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-opacity:1"/>
<circle cx="37.782658" cy="-128.86089" id="ellipse132-2-7-4" r="0.5241431" style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.0145595;stroke-opacity:1"/>
<g id="y198t3iu-4-7-9" class="stem" transform="matrix(0.01455953,0,0,0.00695652,-68.429113,-181.50041)" style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:29.8093;stroke-dasharray:none;stroke-opacity:1">
<path d="M 7191,7763 V 6613" stroke-width="18" id="path134-0-0-0" style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:29.8093;stroke-dasharray:none;stroke-opacity:1"/>
</g>
<g id="num8rai-1-9-6" class="note" transform="matrix(0.01455953,0,0,0.01455953,-68.429113,-241.30413)" style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-opacity:1">
<g class="notehead" id="g134-7-2-7" style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-opacity:1">
<g id="use134-0-2-1" transform="matrix(0.72,0,0,0.72,6965,7813)" style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-opacity:1">
<path transform="scale(1,-1)" d="m 333,39 c 1,5 1,10 1,15 0,64 -74,121 -123,121 -5,0 -10,-1 -14,-2 C 88,139 0,66 0,-47 c 0,-16 2,-33 6,-51 8,-35 24,-61 59,-70 17,-4 34,-6 51,-6 114,0 216,94 217,213 z M 148,-71 c -19,1 -27,1 -36,3 -23,5 -59,0 -64,25 -5,23 20,49 42,62 36,19 70,47 113,47 5,0 9,0 13,-1 29,-4 43,-28 61,-46 1,-1 2,-4 2,-7 0,-3 -1,-7 -2,-8 -40,-37 -87,-60 -129,-75 z" id="path11-8-3-4" style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-opacity:1"/>
</g>
</g>
</g>
</g>
</g><g class="green-hand" id="green-hand"><g id="g83" transform="matrix(-0.71301495,0,0,0.71301495,60.51157,42.85462)">
<path style="fill:#76de76;fill-opacity:1;stroke:#0000ff;stroke-width:0.465802;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke" d="m -636.60869,250.57901 c -3.06222,-0.15553 -5.27039,2.50889 -5.5267,5.38628 -1.88118,9.13346 -0.38216,19.51488 -6.62754,27.22509 -6.95093,8.74983 -16.86066,16.01847 -19.53361,27.44815 -0.33335,1.23154 -0.5772,2.79695 -0.99253,3.81766 -0.55564,-4.01061 1.8148,-7.87675 1.14017,-11.8357 -1.55753,-2.53538 -4.80592,-0.25538 -6.38979,1.08882 -6.85304,5.27426 -7.83259,14.79932 -7.02578,22.80645 0.9921,8.03105 4.01915,17.00312 11.45619,21.19611 2.09699,0.59256 5.36369,1.6344 6.83776,-0.53999 -0.0335,-3.71561 -2.96528,-6.92964 -3.46141,-10.55433 5.87595,10.63746 17.67485,18.00313 29.92747,17.82617 3.50677,-0.0596 7.35417,0.58697 10.56154,-1.0182 0.50821,-2.50414 -2.55685,-4.12408 -3.0193,-6.56255 -1.84006,-4.44841 1.55371,-8.33546 2.70558,-12.3757 0.32701,-2.73729 -1.58465,-5.20097 -1.14719,-8.00198 -0.29349,-3.90688 2.91886,-7.00893 3.34166,-10.71001 -3.13437,-3.74272 -3.2222,-9.64205 -0.77268,-13.7662 3.50384,-4.58691 10.06536,-4.20029 15.23912,-4.01654 2.25115,0.1451 -1.72969,0.50211 -2.47908,0.62414 -4.99222,0.52519 -11.38112,1.77395 -13.10827,7.26462 -1.64568,5.91638 4.16334,11.1863 9.63161,11.96249 8.50898,1.07465 18.36294,0.0166 24.57488,-6.51361 4.32966,-4.39862 3.45257,-11.81496 -0.78632,-15.94784 -5.36424,-5.41938 -13.49782,-5.45021 -20.59273,-5.40989 -4.44558,-0.25783 -9.25225,0.56411 -13.4252,-1.26499 -1.75349,-2.32468 -0.056,-5.43167 0.45173,-7.96349 2.46931,-7.68359 4.4389,-17.07835 -0.73095,-24.13357 -2.38486,-3.23261 -6.05613,-6.07805 -10.24863,-6.03139 z" id="path81" transform="matrix(0.26458333,0,0,0.26458333,-28.491819,30.034714)"/>
<path style="fill:#76de76;fill-opacity:1;stroke:#0000ff;stroke-width:0.465802;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke" d="m -592.27072,316.33614 c -7.08298,1.24047 -13.95035,4.9762 -21.33733,3.70693 -3.44468,-0.42685 -7.77404,-2.42528 -10.63617,0.69645 -3.59285,4.38735 -1.58186,11.39954 3.14479,14.13629 6.08743,4.25201 13.91848,3.33055 20.87244,2.5746 8.20402,-1.20074 14.69578,-10.73102 11.45378,-18.66064 -0.64818,-1.33211 -1.94537,-2.48142 -3.49751,-2.45363 z" id="path82" transform="matrix(0.26458333,0,0,0.26458333,-28.491819,30.034714)"/>
<path style="fill:#76de76;fill-opacity:1;stroke:#0000ff;stroke-width:0.465802;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke" d="m -622.95963,336.80049 c -3.82086,0.91225 -6.37262,5.77656 -4.5438,9.41176 2.72038,6.09979 9.89117,8.85046 16.2431,8.18815 5.82138,0.087 12.76572,-1.60908 15.34686,-7.45318 0.72541,-2.2868 1.99487,-5.5854 0.009,-7.54225 -2.8797,-1.22261 -6.17533,0.46279 -9.13334,0.19979 -5.68741,0.24497 -11.45858,-0.43456 -16.73736,-2.62935 -0.38686,-0.0953 -0.78296,-0.18949 -1.18429,-0.17492 z" id="path83" transform="matrix(0.26458333,0,0,0.26458333,-28.491819,30.034714)"/>
<path d="m -199.07057,124.34059 c -0.60746,-0.11657 -1.79517,-0.53868 -2.63933,-0.93804 -1.14144,-0.53998 -1.86551,-0.70855 -2.82484,-0.65763 -1.68761,0.0896 -2.52928,-0.29338 -3.42878,-1.56003 -1.05037,-1.47911 -1.51161,-3.23682 -1.52772,-5.82191 -0.0147,-2.3522 0.44088,-4.17385 1.27952,-5.11661 0.52921,-0.5949 1.92201,-1.23339 2.69055,-1.23339 0.64388,0 4.68422,-4.11614 5.41349,-5.51505 0.34045,-0.65305 0.5649,-1.82668 0.69099,-3.613072 0.10272,-1.45521 0.27197,-2.845 0.37612,-3.08842 0.29349,-0.6859 1.93716,-1.35603 2.86896,-1.16967 2.00883,0.40177 3.62866,2.69518 3.63032,5.139922 4.6e-4,0.67916 -0.25649,2.10303 -0.571,3.16415 -0.3401,1.14747 -0.47447,2.02227 -0.33156,2.1587 0.13576,0.12961 0.93078,0.11541 1.82777,-0.0326 3.92276,-0.64752 7.40778,0.76217 8.08295,3.26956 0.22856,0.84882 0.19717,1.3385 -0.15825,2.46847 -0.40845,1.29857 -0.40977,1.45755 -0.0169,2.01853 0.91005,1.29928 0.23946,4.59816 -1.03404,5.08685 -0.2752,0.1056 -0.39152,0.55329 -0.39152,1.50679 0,1.62848 -0.57102,2.71013 -1.84813,3.50085 -0.85349,0.52843 -1.2964,0.57365 -5.95313,0.60775 -2.76707,0.0203 -5.52805,-0.0585 -6.13552,-0.1751 z m 4.67636,-0.93223 c 0,-0.0862 -0.23812,-0.45943 -0.52917,-0.82943 -0.6807,-0.86538 -0.67178,-2.08396 0.0236,-3.22463 0.44654,-0.73247 0.49643,-1.02278 0.26359,-1.5338 -0.42785,-0.93903 -0.34973,-1.95839 0.2385,-3.11217 0.46726,-0.91651 0.48197,-1.07946 0.1323,-1.46584 -0.23242,-0.25682 -0.39341,-0.95119 -0.39341,-1.69679 0,-2.11987 1.63656,-3.22004 4.48331,-3.01389 1.82026,0.13181 1.61374,0.65114 -0.32069,0.80641 -1.83852,0.14758 -2.6346,0.51694 -3.13685,1.45539 -0.42823,0.80017 -0.0717,1.82569 0.88148,2.53529 1.46929,1.09385 5.42836,0.75097 7.17281,-0.62121 1.82369,-1.43452 1.37915,-4.08413 -0.85893,-5.11948 -1.03968,-0.48096 -1.63572,-0.55156 -4.24139,-0.50236 -4.15923,0.0785 -4.53339,-0.2863 -3.45058,-3.36453 0.60427,-1.71782 0.67117,-3.64589 0.16827,-4.849502 -0.7668,-1.83521 -3.03048,-2.91139 -3.90618,-1.85705 -0.22168,0.26691 -0.42441,1.42635 -0.52044,2.97656 -0.2158,3.483252 -0.79926,4.740182 -3.32147,7.155322 -2.04774,1.9608 -3.11654,3.71432 -3.43562,5.63665 -0.0906,0.5457 -0.26051,0.99218 -0.37762,0.99218 -0.43615,0 -0.50188,-0.9866 -0.15486,-2.3244 0.341,-1.31457 0.33349,-1.37976 -0.15896,-1.37976 -0.28427,0 -0.90791,0.39104 -1.38584,0.86898 -2.82383,2.82382 -1.02578,11.03727 2.41623,11.03727 0.75764,0 0.76628,-0.13493 0.0932,-1.45521 -0.55019,-1.07916 -0.69026,-1.98438 -0.30705,-1.98438 0.12216,0 0.35764,0.29744 0.52327,0.66098 0.84099,1.84577 3.31836,3.65425 5.73691,4.18795 0.81739,0.18038 4.36562,0.19781 4.36562,0.0215 z m 6.51761,-0.27466 c 1.15721,-0.54913 1.68447,-1.30588 1.68447,-2.41762 0,-0.87628 -0.003,-0.87848 -0.99218,-0.67243 -1.54327,0.32156 -4.20916,0.14952 -5.23636,-0.33792 -0.8777,-0.41649 -0.96077,-0.41478 -1.45224,0.03 -1.04829,0.94869 -0.48061,2.57 1.19849,3.42289 1.05215,0.53444 3.64747,0.52096 4.79782,-0.0249 z m 1.64377,-4.44237 c 1.62537,-0.84052 2.47467,-3.26144 1.56206,-4.45265 -0.30304,-0.39556 -0.48578,-0.37821 -2.18281,0.20718 -2.0251,0.69856 -3.42174,0.80148 -4.98513,0.36737 -1.32685,-0.36844 -2.02633,0.1849 -2.02633,1.60297 0,1.14344 0.74202,1.96867 2.29002,2.54683 1.2504,0.46701 4.20418,0.31678 5.34219,-0.2717 z" style="fill:#000000" id="path1-8"/>
</g>
</g><g class="orange-hand" id="orange-hand"><g id="g93" transform="matrix(-0.50078215,0.52192496,0.52192496,0.50078215,94.60816,313.82454)">
<path style="fill:#ffa76d;fill-opacity:1;stroke:#0000ff;stroke-width:0.329372;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke" d="m -709.2375,-838.54875 c -9.33301,0.61995 -18.41937,3.15339 -27.42998,5.52156 -9.05545,2.64712 -18.59035,5.1895 -25.85803,11.55128 -11.47816,9.27207 -18.69404,22.68306 -23.61895,36.35881 -0.7993,2.39658 -1.53865,4.82585 -1.9593,7.32112 -0.49385,-2.65434 0.25285,-5.8214 -1.47173,-8.09565 -1.90567,-1.62264 -4.10271,0.45476 -5.38785,1.87045 -3.32358,2.67005 -4.4063,7.16713 -3.87625,11.24927 1.25552,9.35014 5.60347,18.28972 12.03906,25.17132 2.76876,2.86672 6.49592,5.50823 10.70265,4.84468 2.40534,-0.3501 5.61862,-0.5969 6.86391,-3.02005 0.39732,-2.09208 -2.12818,-3.08175 -3.39054,-4.27732 -1.23094,-0.96757 -2.40117,-2.01494 -3.47961,-3.15054 5.9241,2.62517 11.96936,5.61197 18.61277,5.56919 6.7349,0.40711 13.73356,-0.41747 19.6516,-3.87222 7.987,-4.3302 14.50839,-11.08914 23.08526,-14.38467 4.65008,-2.06242 9.59446,-3.46828 14.20155,-5.58239 2.74343,-2.78808 1.79802,-7.7486 -0.82382,-10.3146 -3.69003,-3.25758 -9.07061,-3.10683 -13.6828,-2.66644 -5.35593,0.53466 -10.00306,3.49374 -15.1912,4.51889 -3.20745,0.36568 -7.05371,0.11633 -9.06185,-2.80162 -2.99446,-3.03189 -2.65331,-8.0255 -0.35523,-11.35576 3.21504,-5.44073 8.08851,-9.62374 12.38949,-14.17314 0.85643,-0.51109 1.58674,-2.40658 2.67508,-1.39057 5.38097,3.45019 11.0237,7.20493 17.62978,7.50052 4.37749,0.29026 9.68685,0.35945 12.66717,-3.47284 1.63977,-2.09364 1.8374,-5.42498 0.33588,-7.61735 -3.19737,-2.96031 -7.53408,-4.2653 -11.3693,-6.18989 -6.164,-2.5541 -12.16054,-5.74138 -18.70355,-7.22418 -5.46988,-0.90764 -10.62686,1.91659 -15.55899,3.85044 -4.62847,1.92661 -9.05399,4.42815 -13.78423,5.96771 5.68407,-4.11323 11.92556,-7.40906 18.52766,-9.71262 6.45373,-2.30353 13.66869,-1.79919 19.88837,0.99301 2.3922,0.7861 4.57515,2.59036 7.12245,2.69709 2.64806,-1.53485 4.69911,-4.0095 6.64433,-6.34534 1.51962,-1.86508 1.76703,-4.86957 -0.27573,-6.46448 -2.04814,-2.02623 -4.86366,-3.16116 -7.75807,-2.87367 z" id="path93" transform="matrix(0.26458333,0,0,0.26458333,-28.491819,30.034714)"/>
<path d="m -235.55018,-166.02215 c -1.25101,-0.5495 -2.8782,-2.50425 -3.9643,-4.76236 -0.8189,-1.70256 -0.99225,-2.35491 -1.01117,-3.80523 -0.0156,-1.19412 0.12328,-2.02226 0.43691,-2.60582 0.48288,-0.89849 1.64689,-1.65813 2.54079,-1.65813 0.38799,0 0.73916,-0.44032 1.31884,-1.65364 1.83106,-3.83254 4.43139,-7.0007 6.9517,-8.46971 2.17032,-1.26501 6.83165,-2.6004 12.19517,-3.49371 3.67778,-0.61254 5.49005,2.41997 2.76686,4.62984 -0.48116,0.39046 -0.47183,0.41862 0.25189,0.75984 2.64004,1.24473 2.97986,1.58003 2.99211,2.95236 0.006,0.71332 -0.1891,1.13176 -0.80339,1.71979 -0.77068,0.73774 -0.92816,0.77711 -3.10885,0.77711 -2.0078,0 -2.48688,-0.0962 -3.80454,-0.76385 l -1.50749,-0.76386 -1.34933,1.12973 c -2.34456,1.96298 -2.92913,3.95534 -1.4457,4.92732 0.63256,0.41447 0.76281,0.3959 2.76054,-0.39353 2.35247,-0.92961 4.54603,-1.09437 5.81737,-0.43693 1.15797,0.59881 1.86231,1.65774 1.86231,2.79989 0,1.26594 -0.68932,1.8496 -3.1068,2.63061 -2.3363,0.75478 -3.00466,1.1156 -5.40825,2.91964 -2.8634,2.14916 -4.47437,2.70358 -7.53066,2.59171 -1.94326,-0.0711 -2.51628,-0.004 -2.91041,0.34042 -1.23367,1.07837 -2.47059,1.27551 -3.9436,0.62851 z m 3.15415,-1.19639 c 0.22404,-0.23468 0.16901,-0.38868 -0.22023,-0.6162 -0.78547,-0.45913 -2.07865,-1.76269 -1.91299,-1.92835 0.0803,-0.0803 0.93965,0.2446 1.90956,0.72209 1.44467,0.7112 2.15357,0.8879 3.92105,0.97734 2.66963,0.1351 4.46191,-0.4636 6.87147,-2.29538 2.25783,-1.71643 3.19666,-2.24713 5.34025,-3.01874 1.01864,-0.36668 2.06044,-0.74947 2.3151,-0.85065 0.65496,-0.26021 0.61262,-1.76203 -0.067,-2.37708 -1.09369,-0.98978 -3.60268,-0.93728 -5.93261,0.12412 -1.67947,0.76509 -3.0822,0.7107 -3.94589,-0.15299 -1.61084,-1.61084 -1.09241,-3.34333 1.87546,-6.2674 l 1.82608,-1.79914 1.36726,0.9201 c 2.90838,1.95719 6.92723,1.74685 6.92723,-0.36257 0,-0.93337 -0.15559,-1.0505 -3.175,-2.39028 -4.5094,-2.00093 -5.01549,-2.13581 -6.50333,-1.73328 -0.71603,0.19372 -2.30761,0.84314 -3.53684,1.44316 -2.27683,1.11137 -2.92441,1.2951 -2.92441,0.82967 0,-0.33136 1.46394,-1.248 3.83646,-2.40218 2.47173,-1.20244 4.79143,-1.26686 7.07537,-0.19648 l 1.51912,0.71194 0.92828,-0.87548 c 0.51055,-0.48151 0.92827,-1.12255 0.92827,-1.42454 0,-0.70873 -0.95666,-1.37283 -1.97762,-1.37283 -2.22478,0 -9.19128,1.75822 -11.88118,2.99859 -1.59004,0.7332 -3.72258,2.58931 -5.04547,4.39144 -1.78698,2.43435 -3.83949,7.07898 -3.84703,8.70546 -0.002,0.37746 -0.13138,0.57308 -0.33359,0.50341 -0.20917,-0.0721 -0.32658,-0.61503 -0.31944,-1.47726 0.0129,-1.55943 -0.32002,-1.74009 -1.33548,-0.72463 -0.86446,0.86447 -1.06646,1.85245 -0.7182,3.51279 0.53404,2.54603 2.10372,5.1953 3.76218,6.3497 0.71732,0.4993 1.15689,0.61573 1.95026,0.51655 0.56333,-0.0704 1.15864,-0.26883 1.32292,-0.4409 z" style="fill:#000000" id="path1-2"/>
</g>
</g></g>
</svg>
</div>
<p class="tagline">Crowd-encoding the world's music scores, one note at a time.</p>
<p class="lede">
Let's Encode! is a citizen-science project that helps anyone turn sheet music
into rich, machine-readable encodings in the <a href="https://music-encoding.org" target="_blank" rel="noopener"><abbr title="Music Encoding Initiative">MEI</abbr>
format</a> — no specialist training required.
</p>
<div class="cta-row">
<a class="btn btn-primary" href="#get-involved">Get involved</a>
<a class="btn btn-ghost" href="#about">Learn more</a>
</div>
</div>
</section>
<!-- ====================== ABOUT ====================== -->
<section id="about" aria-labelledby="about-heading">
<div class="wrap">
<div class="section-head">
<p class="kicker">About the project</p>
<h2 id="about-heading" aria-label="Making music readable by machines">Making music readable by <span class="gw">machine<span class="gx side r hold" style="--s:1.5em;--r:28deg;--hb:-.4em;--ovl:.5em;--lift:.16em"><span class="gly">s</span><span class="hand"><img class="hpic hpic-day" src="assets/hands/measure-blue.svg" alt="" aria-hidden="true"><img class="hpic hpic-night" src="assets/hands/measure-blue-dark.svg" alt="" aria-hidden="true"></span></span></span></h2>
</div>
<div class="prose">
<p>
Digital music scores are essential tools in both performance and musicology.
But standard PDFs and scanned sheet music can't easily be processed by computers:
musicians instantly grasp their meaning, yet the music <em>semantics</em> stay
hidden from machines.
</p>
<p>
Let's Encode! builds infrastructure for crowd-based encoding and validation of
music scores — a range of free, browser-based tools pitched at different levels
of technical expertise, from the
<a href="https://mei-friend.mdw.ac.at" target="_blank" rel="noopener">mei-friend</a>
MEI-XML editor to graphical interfaces that need no MEI knowledge at all, so the right person can
use the right tool for the right task. This lets interested people take part in
digitising music — without extensive technical knowledge or administrative
barriers — and helps build a shared, openly reusable library of encoded music.
</p>
<p>We've tried to remove every obstacle between you and the music you want to encode:</p>
<ul>
<li><strong>Free and open source</strong> — no fees; our software is openly licensed, and you choose how your encodings are shared, with open, reuse-friendly licences recommended.</li>
<li><strong>Nothing to install</strong> — our tools run entirely in your browser, on whatever device you already have.</li>
<li><strong>You're in charge</strong> — campaigns are user-directed, so you can <em>start and manage</em> your own campaign as well as taking part in someone else's — all from your browser.</li>
</ul>
</div>
</div>
</section>
<!-- ====================== GOALS ====================== -->
<section id="goals" class="alt" aria-labelledby="goals-heading">
<div class="wrap">
<div class="section-head">
<p class="kicker">What we're working towards</p>
<h2 id="goals-heading" aria-label="Project goals">Project <span class="gw">goa<span class="gx above twiddle" style="--s:1.2em;--hx:0%;--dx:.58em;--r:-15deg;--dip:.5em;--ox:50%;--oy:32%;--spin:-1"><span class="gly">l</span><span class="hand"><img class="hpic" src="assets/hands/pinch-orange.svg" alt="" aria-hidden="true"></span></span>s</span></h2>
<p>We investigate ways to make semantic music-encoding technologies accessible to diverse communities. Early collaborations include:</p>
</div>
<ul class="goals">
<li>
<strong>Chamber orchestras</strong> encoding performance scores of public-domain
works, reducing licensing fees and building reusable editions.
</li>
<li>
<strong>Music societies</strong> preserving cultural heritage — lute-music archives,
klezmer collections, and the work of underrepresented composers.
</li>
<li>
<strong>RISM users</strong> creating melodic incipits for the Répertoire International
des Sources Musicales to enrich and improve its collections.
</li>
</ul>
</div>
</section>
<!-- ====================== GET INVOLVED (future) ====================== -->
<section id="get-involved" aria-labelledby="involved-heading">
<div class="wrap">
<div class="callout">
<span class="badge">Coming soon</span>
<h2 id="involved-heading" aria-label="Start or join a campaign">Start or join a <span class="gw">cam<span class="gx below nudge" style="--s:1.4em;--hx:60%;--dip:.20em;--ox:50%;--oy:100%;--hr:-8deg;--gr:6deg"><span class="gly">p</span><span class="hand"><img class="hpic" src="assets/hands/thumb-green.svg" alt="" aria-hidden="true"></span></span>aign</span></h2>
<p>
Soon you'll be able to launch your own encoding campaign or join one already under
way — contributing encodings, validating others' work, and watching a collection
come to life. We're building it now.
</p>
<a class="btn btn-primary" href="mailto:weigl@mdw.ac.at?subject=Let's%20Encode%21%20Keep%20me%20posted">Keep me posted</a>
</div>
</div>
</section>
<!-- ====================== TEAM ====================== -->
<section id="team" class="alt" aria-labelledby="team-heading">
<div class="wrap">
<div class="section-head">
<p class="kicker">Who we are</p>
<h2 id="team-heading" aria-label="Team"><span class="gw">Tea<span class="gx side r wave" style="--s:1.4em;--r:5deg;--hb:0em;--ovl:-.06em;--ox:110%;--oy:90%"><span class="gly">m</span><span class="hand"><img class="hpic hpic-day" src="assets/hands/wave-pink.svg" alt="" aria-hidden="true"><img class="hpic hpic-night" src="assets/hands/wave-pink-dark.svg" alt="" aria-hidden="true"></span></span></span></h2>
</div>
<ul class="people">
<li>
<span class="name"><a href="https://iwk.mdw.ac.at/david-weigl" target="_blank" rel="noopener">David M. Weigl</a> (P.I.)</span>
<span class="role"><a href="https://iwk.mdw.ac.at" target="_blank" rel="noopener">Department of Music Acoustics – Wiener Klangstil</a>, <a href="https://mdw.ac.at" target="_blank" rel="noopener">mdw</a></span>
</li>
<li>
<span class="name"><a href="https://github.com/ohwjd" target="_blank" rel="noopener">Julia Jaklin</a> (R.A.)</span>
<span class="role"><a href="https://mdw.ac.at" target="_blank" rel="noopener">Department of Music Acoustics – Wiener Klangstil</a>, <a href="https://mdw.ac.at" target="_blank" rel="noopener">mdw</a></span>
</li>
<li>
<span class="name">PhD researcher</span>
<span class="role">Starting September 2026</span>
</li>
<li>
<span class="name">PhD researcher</span>
<span class="role">Starting April 2027</span>
</li>
</ul>
<div class="section-head" style="margin-top:2.5rem;">
<h3>Project partners</h3>
</div>
<ul class="people">
<li>
<span class="name"><a href="https://www.mdw.ac.at/ikm/abfalter/" target="_blank" rel="noopener">Dagmar Abfalter</a></span>
<span class="role"><a href="https://www.mdw.ac.at/ikm" target="_blank" rel="noopener">Department of Cultural Management and Gender Studies</a>, <a href="https://mdw.ac.at" target="_blank" rel="noopener">mdw</a></span>
</li>
<li>
<span class="name"><a href="https://www.mdw.ac.at/bib/kontakt/cv/" target="_blank" rel="noopener">Michael Staudinger</a></span>
<span class="role"><a href="https://www.mdw.ac.at/bib" target="_blank" rel="noopener">University Library</a>, <a href="https://mdw.ac.at" target="_blank" rel="noopener">mdw</a></span>
</li>
<li>
<span class="name"><a href="https://iwk.mdw.ac.at/werner-goebl" target="_blank" rel="noopener">Werner Goebl</a></span>
<span class="role"><a href="https://iwk.mdw.ac.at" target="_blank" rel="noopener">Department of Music Acoustics – Wiener Klangstil</a>, <a href="https://mdw.ac.at" target="_blank" rel="noopener">mdw</a></span>
</li>
</ul>
</div>
</section>
<!-- ====================== ADVISORY BOARD ====================== -->
<section id="advisory" aria-labelledby="advisory-heading">
<div class="wrap">
<div class="section-head">
<p class="kicker">Guidance & community voices</p>
<h2 id="advisory-heading" aria-label="Advisory board"><span class="gx under shake" style="--s:1.3em;--r:-2deg;--dip:0em;--ox:150%;--oy:50%"><span class="gly">Advisory board</span><span class="hand"><img class="hpic" src="assets/hands/handshake.svg" alt="" aria-hidden="true"></span></span></h2>
<p>Our advisory board guides the project's direction and represents the communities partnering in this research.</p>
</div>
<ul class="people">
<li>
<span class="name"><a href="https://annakijas.com/" target="_blank" rel="noopener">Anna E. Kijas</a></span>
<span class="role"><a href="https://tischlibrary.tufts.edu/our-locations/tisch-branches/lilly-music-library" target="_blank" rel="noopener">Lilly Music Library</a>, <a href="https://www.tufts.edu" target="_blank" rel="noopener">Tufts University</a> (USA) · <a href="https://rebalancing-music-canon.com/" target="_blank" rel="noopener">Rebalancing the Music Canon</a></span>
</li>
<li>
<span class="name"><a href="https://klezmerinstitute.org/our-team/" target="_blank" rel="noopener">Christina Crowder &<br>Clara Byom</a></span>
<span class="role"><a href="https://klezmerinstitute.org/" target="_blank" rel="noopener">Klezmer Institute</a> (USA) · <a href="https://klezmerarchive.org/" target="_blank" rel="noopener">Klezmer Archive</a></span>
</li>
<li>
<span class="name"><a href="https://eng.ox.ac.uk/people/david-lewis" target="_blank" rel="noopener">David Lewis</a></span>
<span class="role"><a href="https://oerc.ox.ac.uk" target="_blank" rel="noopener">Oxford e-Research Centre</a> & <a href="https://gold.ac.uk" target="_blank" rel="noopener">Goldsmiths, University of London</a> (UK) · <a href="https://igor.gold.ac.uk/isms/ecolm/" target="_blank" rel="noopener"><abbr title="Electronic Corpus of Lute Music">ECOLM</abbr></a></span>
</li>
<li>
<span class="name">Laurent Pugin</span>
<span class="role"><a href="https://rism.digital" target="_blank" rel="noopener">RISM Digital Center</a> (Switzerland) · <a href="https://rism.online" target="_blank" rel="noopener">RISM Online</a></span>
</li>
</ul>
</div>
</section>
<!-- ====================== FUNDING & INSTITUTIONS ====================== -->
<section id="funding" class="alt funding" aria-labelledby="funding-heading">
<div class="wrap">
<div class="section-head">
<p class="kicker">Funding & acknowledgements</p>
<h2 id="funding-heading" aria-label="Supported by the Austrian Science Fund">Supported by the Austrian Science <span class="gw"><span class="gx below lift" style="--s:.95em;--hx:50%;--dx:-.06em;--dip:.35em;--r:10deg"><span class="gly">Fun</span><span class="hand"><img class="hpic hpic-day" src="assets/hands/palm-gold.svg" alt="" aria-hidden="true"><img class="hpic hpic-night" src="assets/hands/palm-gold-dark.svg" alt="" aria-hidden="true"></span></span>d</span></h2>
<p>
We gratefully acknowledge funding by the <a href="https://www.fwf.ac.at" target="_blank" rel="noopener">Austrian Science Fund (FWF)</a>.<br>
</p>
</div>
<dl class="fund-meta">
<div>
<dt>Funder</dt>
<dd><a href="https://www.fwf.ac.at" target="_blank" rel="noopener">Austrian Science Fund (FWF)</a><br/><a href="https://doi.org/10.55776/PAT2277625" target="_blank" rel="noopener">PAT 2277625</a></dd>
</div>
<div>
<dt>Duration</dt>
<dd>May 2026 – April 2030</dd>
</div>
<div>
<dt>Research areas</dt>
<dd>50% Other Humanities · 50% Computer Sciences</dd>
</div>
</dl>
<ul class="logos" style="margin-top:2.5rem;">
<li>
<a href="https://iwk.mdw.ac.at" target="_blank" rel="noopener" title="Department of Music Acoustics – Wiener Klangstil">
<img src="assets/logos/IWK-logo2018-P281-short.svg" alt="IWK – Department of Music Acoustics – Wiener Klangstil" title="Department of Music Acoustics – Wiener Klangstil">
</a>
</li>
<li>
<a href="https://mdw.ac.at" target="_blank" rel="noopener" title="mdw – University of Music and Performing Arts Vienna">
<img src="assets/logos/MDW_Logo_englisch281.svg" alt="mdw – University of Music and Performing Arts Vienna" title="mdw – University of Music and Performing Arts Vienna">
</a>
</li>
<li>
<a href="https://www.fwf.ac.at" target="_blank" rel="noopener" title="FWF – Austrian Science Fund">
<img src="assets/logos/FWF_Logo_Zusatz_Dunkelblau_RGB_EN.svg" alt="FWF – Austrian Science Fund" title="FWF – Austrian Science Fund">
</a>
</li>
</ul>
</div>
</section>
</main>
<!-- ====================== FOOTER ====================== -->
<footer class="footer">
<div class="wrap">
<div class="footer-left">
<span>© <span id="year">2026</span> <a href="#top">Let's Encode!</a> · <a href="https://mdw.ac.at" target="_blank" rel="noopener">mdw — University of Music and Performing Arts Vienna</a></span>
<span class="footer-updated">Last updated: <time id="last-updated" datetime="2026-07-03">3 July 2026</time></span>
</div>
<span>
<a href="https://iwk.mdw.ac.at/lets-encode" target="_blank" rel="noopener">Project page</a>
·
<a href="https://mei-friend.mdw.ac.at" target="_blank" rel="noopener">mei-friend</a>
·
<a href="https://doi.org/10.55776/PAT2277625" target="_blank" rel="noopener">Funding</a>
·
<a href="https://iwk.mdw.ac.at/impressum/" target="_blank" rel="noopener">Imprint</a>
</span>
</div>
</footer>
<script>
document.getElementById("year").textContent = new Date().getFullYear();
// "Last updated" reflects the deployed file's Last-Modified time (≈ deploy date
// on GitHub Pages), so it stays current with no manual upkeep. Falls back to the
// date baked into the markup if the timestamp is missing/unparseable.
(function () {
var el = document.getElementById("last-updated");
if (!el) return;
var d = new Date(document.lastModified);
if (isNaN(d)) return;
el.dateTime = d.toISOString().slice(0, 10);
el.textContent = d.toLocaleDateString("en-GB", { day: "numeric", month: "long", year: "numeric" });
})();
// Theme bulb toggle. Tapping it flips light/dark and saves the choice to
// localStorage so it's restored on the next visit. Until the user makes a
// choice we keep tracking the machine's colour-scheme setting live; once a
// choice is saved, that pick wins over the system setting.
(function () {
var btn = document.querySelector(".theme-toggle");
if (!btn) return;
var root = document.documentElement;
function stored() {
try { return localStorage.getItem("theme"); } catch (e) { return null; }
}
function apply(theme) {
root.dataset.theme = theme;
root.style.colorScheme = theme;
var dark = theme === "dark";
btn.setAttribute("aria-pressed", dark ? "true" : "false");
btn.setAttribute("aria-label", dark ? "Switch to light theme" : "Switch to dark theme");
}
apply(root.dataset.theme || "light");
btn.addEventListener("click", function () {
var next = root.dataset.theme === "dark" ? "light" : "dark";
apply(next);
try { localStorage.setItem("theme", next); } catch (e) {}
});
if (window.matchMedia) {
var mq = matchMedia("(prefers-color-scheme: dark)");
var onChange = function (e) {
if (!stored()) apply(e.matches ? "dark" : "light"); // system change only matters pre-choice
};
if (mq.addEventListener) mq.addEventListener("change", onChange);
else if (mq.addListener) mq.addListener(onChange);
}
})();
// Mobile burger menu: toggles the primary nav dropdown.
(function () {
var btn = document.querySelector(".nav-toggle");
var nav = document.getElementById("primary-nav");
if (!btn || !nav) return;
function setOpen(open) {
nav.classList.toggle("open", open);
btn.setAttribute("aria-expanded", open ? "true" : "false");
btn.setAttribute("aria-label", open ? "Close menu" : "Open menu");
}
btn.addEventListener("click", function () {
setOpen(!nav.classList.contains("open"));
});
nav.addEventListener("click", function (e) {
if (e.target.closest("a")) setOpen(false); // close after choosing a link
});
document.addEventListener("keydown", function (e) {
if (e.key === "Escape") setOpen(false);
});
document.addEventListener("click", function (e) {
if (!nav.contains(e.target) && !btn.contains(e.target)) setOpen(false); // close on outside click
});
})();
</script>
<!-- Animated-logo driver: plays the hand sequence, then loops every 8–16s.
Respects prefers-reduced-motion and pauses on hidden tabs. -->
<script src="lets-encode-logo.js" defer></script>
</body>
</html>