diff --git a/content/adventures/nl.yaml b/content/adventures/nl.yaml
index c11117305ec..228802f1dc8 100644
--- a/content/adventures/nl.yaml
+++ b/content/adventures/nl.yaml
@@ -202,7 +202,7 @@ adventures:
Met `{and}` en `{or}` kun je een verhaal nog veelzijdiger maken! Je kan een speler twee vragen stellen en reageren op beide antwoorden.
### Opdracht 1
- Bekijk het voorbeeld en maak het af door de _ in te vullen. Voeg daarna nog minstens twee {if} codes met `{and}` of `{or}` toe.
+ Bekijk het voorbeeld en maak het af door de _ in te vullen. Voeg daarna nog minstens twee `{if}` codes met `{and}` of `{or}` toe.
### Opdracht 2
Zoek een verhaal op uit een vorig level, en voeg er een `{and}` of `{or}` aan toe.
@@ -348,7 +348,7 @@ adventures:
{print} Ik hou van lievelingsdier
```
18:
- story_text: Als laatste veranderen we het woord dat je moet gebruiken voor `{ask}`. Vanaf nu noemen we ask`{input}`.
+ story_text: Als laatste veranderen we het woord dat je moet gebruiken voor `{ask}`. Vanaf nu noemen we vraag `{input}`.
example_code: |
```
{print}('Mijn naam is Hedy!')
@@ -689,7 +689,7 @@ adventures:
```
14:
story_text: |
- In dit avontuur leer je een rekenmachine bouwen die het gemiddelde cijfer voor jou berekent. Als je de rekenmachine aan de praat krijgt, kun je doorgaan naar het volgende avontuur. Daar leer je hoe je extra features toevoegt aan je rekenmachine.
+ In dit avontuur leer je een rekenmachine bouwen die het gemiddelde cijfer voor jou berekent. Als je de rekenmachine aan de praat krijgt, kun je doorgaan naar het volgende avontuur. Daar leer je hoe je extra functies toevoegt aan je rekenmachine.
### Oefening 1
Vul de lege lijntjes in om de rekenmachine aan de praat te krijgen.
@@ -923,25 +923,25 @@ adventures:
story_text: |-
### Opdracht
Debug deze code. Succes!
- example_code: |
+ example_code: |-
**Pas op! Deze code bevat fouten!**
```
{print} 'Welkom bij de manicure- en pedicuresalon'
bodypart = {ask} 'Komt u voor uw vingernagels, teennagels of beide?'
{if} lichaamsdelen {is} beide
- {print} Dat wordt dan $25'
+ {print} Dat wordt dan €25'
prijs = 25
{else}
- {print} Dat wordt dan $18'
+ {print} Dat wordt dan €18'
prijs = 18
kleur = {ask} Welke kleur wilt u?
glitter = {ask} 'Met glitters?'
{if} glitter {is} ja
- {print} 'Dat kost $3 extra'
+ {print} 'Dat kost €3 extra'
prijs = prijs + 3
{else} {print} 'Geen glitter' {print} 'U hoeft niet bij te betalen'
{sleep} 5
- {print} 'Klaar! Dat wordt dan $' prijs ' alstublieft!'
+ {print} 'Klaar! Dat wordt dan €' prijs ' alstublieft!'
{print} 'Bedankt en tot ziens!'
```
9:
@@ -1125,7 +1125,7 @@ adventures:
{if} antwoord = 'ja'
verstopt == 'nee'
{print} 'gekozen_naam komt' gekozen_plek ' vandaan'
- {print} 'En toen zag die dat het gewoon ' chosen_cause ' was'
+ {print} 'En toen zag die dat het gewoon ' gekozen_naam ' was'
{print} gekozen_naam 'lachte en ging door met hun dag'
{print} Einde
```
@@ -1322,8 +1322,8 @@ adventures:
```
9:
story_text: |
- Fantastisch! Je bent alweer bij een nieuw level! In de vorige levels leerde je meerdere regels code in een blokje zetten met een {if} of {repeat} commando. Maar je kon ze nog niet allebei tegelijk gebruiken...
- Goed nieuws! In dit level mag je een {if} in een {if} of in een {repeat} zetten. Dit noemen we 'nesting'. Kijk maar!
+ Fantastisch! Je bent alweer bij een nieuw level! In de vorige levels leerde je meerdere regels code in een blokje zetten met een `{if}` of `{repeat}` commando. Maar je kon ze nog niet allebei tegelijk gebruiken...
+ Goed nieuws! In dit level mag je een `{if}` in een `{if}` of in een `{repeat}` zetten. Dit noemen we 'nestelen'. Kijk maar!
example_code: |
```
antwoord = {ask} 'Ben je klaar om iets nieuws te leren?'
@@ -1367,7 +1367,7 @@ adventures:
```
13:
story_text: |
- In vorige levels heb je geleerd hoe je twee `{if}`commando's in elkaar kan stoppen. Dit werk prima, maar het kan wel resulteren in lange onhandige codes zoals deze:
+ In vorige levels heb je geleerd hoe je twee `{if}`commando's in elkaar kan stoppen. Dit werkt prima, maar het kan wel resulteren in lange onhandige codes zoals deze:
In dit systeem moet je zowel de goede gebruikersnaam als het goede wachtwoord opgeven.
In dit level leer je het `{and}` commando, waarmee je codes zoals deze een stuk korter en makkelijker kunt maken!
@@ -1414,6 +1414,7 @@ adventures:
antwoord = {ask} 'Wil je doorspelen?'
{if} antwoord == 'nee'
spel = 'over'
+ {print} 'Over en uit'
{if} antwoord == 'ja'
{print} 'Ok dan ga ik door'
```
@@ -1921,7 +1922,7 @@ adventures:
Kies daarna hoe vaak je wil dat er gedraaid wordt aan de spinner.
### Opdracht 2
- Maak de code nog beter door er aan naam aan toe te voegen. Gebruik de variabele 'mensen' om iedereen een eigen commando te geven.
+ Maak de code nog beter door er een variabele aan toe te voegen. Gebruik de variabele 'mensen' om iedereen een eigen commando te geven.
Bijvoorbeeld: 'Ahmed, rechterhand op groen' of 'Jessica, linkervoet op geel'.
example_code: |
```
@@ -1946,9 +1947,9 @@ adventures:
Een **argument** is een variabele die in een functie gebruikt wordt. Het wordt daarbuiten niet gebruikt.
In deze code hebben we bijvoorbeeld het eerste stukje van het liedje 'My Bonnie is over the ocean' geprogrammeerd.
- In dit voorbeeld hebben we het argument 'plaats' gebruikt. plaats is een variabele die alleen in de functie gebruikt wordt, een argument dus.
- Om 'plaats' te gebruiken hebben we `{with} place` achter `{define} lied` gezet.
- Als de functie geroepen wordt vervangt de computer het argument 'plaats' met de text die na `{call} song {with}` staat.
+ In dit voorbeeld hebben we het argument 'plek' gebruikt. Plek is een variabele die alleen in de functie gebruikt wordt, een argument dus.
+ Om 'plek' te gebruiken hebben we `{with} plek` achter `{define} lied` gezet.
+ Als de functie aangeroepen wordt vervangt de computer het argument 'plek' met de tekst die na `{call} lied {with}` staat.
### Opdracht
Het volgende couplet gaat zo:
@@ -1975,7 +1976,7 @@ adventures:
In de vorige levels heb je geleerd om functies met argumenten te maken. Je kunt functies ook goed gebruiken om iets uit te rekenen.
Je kunt de functie een som geven en de functie geeft jou dan het antwoord. Dit antwoord noem je de **return value**.
- Bijboorbeeld, in deze code geeft de functie bereken_nieuwe_prijd de nieuwe prijs van een item. Het geeft je de nieuwe prijs als return value.
+ Bijvoorbeeld, in deze code geeft de functie bereken_nieuwe_prijs de nieuwe prijs van een item. Het geeft je de nieuwe prijs als return value.
### Opdracht
Maak deze code af. We hebben de nieuwe variabele nieuwe_prijs al voor je gemaakt, maar jij moet hem nog instellen.
@@ -1990,12 +1991,12 @@ adventures:
oude_prijs = {ask} 'Wat staat er op het prijskaartje?'
korting = {ask} 'Hoeveel procent korting krijg je?'
- nieuwe_prijs = _ bereken_nieuwe_prijs with oude_prijs, _
+ nieuwe_prijs = _ bereken_nieuwe_prijs {with} oude_prijs, _
{print} 'De nieuwe prijs is ' nieuwe_prijs ' euro'
```
18:
story_text: |
- Laten we functies ook op de Pythonmanier maken! Om een functie te maken gebruiken we niet langer:
+ Laten we functies ook op de Python-manier maken! Om een functie te maken gebruiken we niet langer:
`{define} naam_functie {with} argument_1, argument_2:`
@@ -2413,7 +2414,7 @@ adventures:
### Opdracht
Deze spookhuisgame gebruikt de connectie tussen de verschillende lijstjes, die je in dit level kunt gebruiken.
Bijvoorbeeld: alle eigenschappen die bij de zombie horen staan als eerste in alle lijstjes, de heks als tweede en de vampier derde.
- Kijk maar naar de code en vul op een van deze variabelen in op de lege plekken: `wapens[i]`, `monsters[i]`, `goedlot[i]`, `noodlot[i]`, `hint[i]`
+ Kijk maar naar de code en vul een van deze variabelen in op de lege plekken: `wapens[i]`, `monsters[i]`, `goedlot[i]`, `noodlot[i]`, `hint[i]`
example_code: |
```
getallen = [1, 2, 3]
@@ -2510,12 +2511,13 @@ adventures:
```
8:
story_text: |
+ ## Als... Anders...
Je hebt al geleerd hoe je een blok aan regels code kunt herhalen met`{repeat}`.
- Je kunt nu ook inspringen na het {if} of {else} commando om zo'n blok te vormen.
+ Je kunt nu ook inspringen na het `{if}` of `{else}` commando om zo'n blok te vormen.
Kijk maar naar het voorbeeld.
### Opdracht
- Voeg een {else} commando toe aan de voorbeeldcode. Maak een blok van de regels code door in te springen. Inspirngen doe je door de regel te starten met 4 spaties.
+ Voeg een `{else}` commando toe aan de voorbeeldcode. Maak een blok van de regels code door in te springen. Inspringen doe je door de regel te starten met 4 spaties.
example_code: |
```
naam = {ask} 'Hoe heet je?'
@@ -2682,7 +2684,7 @@ adventures:
story_text: |
In level 6 is er iets nieuws: je kunt nu ook rekenen. De plus is makkelijk, die schrijf je zoals bij rekenen: `5 + 5` bijvoorbeeld. De min gaat ook goed, dat is `5 - 5`.
De keer is een beetje anders, want er zit namelijk geen keer op je toetsenbord. Zoek maar eens, die is er echt niet!
- Daarom doen we de keer met het sterretje boven de 8: `5 * 5`, en je leert ook hoe moet delen: `5 / 5`. Lees dat maar als "5 keer 5", dan onthoud je dat het makkelijkst.
+ Daarom doen we de keer met het sterretje boven de 8: `5 * 5`. Lees dat maar als "5 keer 5", dan onthoud je dat het makkelijkst. Ook leer je hoe je moet delen, namelijk met een schuine streep: `5 / 5`.
example_code: |
```
{print} '5 plus 5 is ' 5 + 5
@@ -2820,7 +2822,7 @@ adventures:
example_code: |
```
antwoord {is} {ask} 'Wat is de hoofdstad van Zimbabwe?'
- {if} answer {is} Harare {play} C6
+ {if} antwoord {is} Harare {play} C6
_
```
6:
@@ -2945,7 +2947,7 @@ adventures:
13:
story_text: |
Je kunt een functie met een argument gebruiken bij liedjes die steeds bijna hetzelfde zijn, maar een heel klein verschilletje bevatten.
- Een voorbeeld van zo'n liedje is het Engelse deuntje 'Yankee Doodle'. De eerste 4 noten van elke regel zijn steeds gelijk, maar het einde vershcilt steeds.
+ Een voorbeeld van zo'n liedje is het Engelse deuntje 'Yankee Doodle'. De eerste 4 noten van elke regel zijn steeds gelijk, maar het einde verschilt steeds.
### Voorbeeldcode
Kun jij Yanklee Doodle afmaken?
@@ -2993,7 +2995,7 @@ adventures:
noot = 40
brand = {ask} 'Is er brand?'
- {if} fire _ 'ja'
+ {if} brand _ 'ja'
{call} brandalarm
```
15:
@@ -3463,7 +3465,7 @@ adventures:
16:
story_text: |-
We zijn aangekomen bij de laatste paar Hedy levels. We komen dus steeds dichter bij echte Python code.
- In dit level gaan we leren hoe je lijsten maakt op de Pythonmanier. Dat werkt met vierkante haakjes zetten om lijstjes, dat zijn deze: `[` en `]`.
+ In dit level gaan we leren hoe je lijsten maakt op de Python-manier. Dat werkt met vierkante haakjes zetten om lijstjes, dat zijn deze: `[` en `]`.
Als we woorden in de lijst willen zetten, moeten we om de woorden ook enkele aanhalingstekens zetten. Bij getallen hoeft dat niet.
We kunnen in dit level ook met een getal plekken in lijstjes aanwijzen.
example_code: |
@@ -3479,8 +3481,8 @@ adventures:
{print} 'is ' geluksgetallen[i]
```
story_text_2: |-
- Nu je hebt geleerd om de rechte haken te gebruiken bij je lijstjes, kun je ook {at} {random} leren gebruiken op de Pythonmanier!
- Je typt simpelweg de naam van de lijst en typt er [random] achter.
+ Nu je hebt geleerd om de rechte haken te gebruiken bij je lijstjes, kun je ook `{at} {random}` leren gebruiken op de Python-manier!
+ Je typt simpelweg de naam van de lijst en typt er `[random]` achter.
example_code_2: |-
```
fruit = ['appel', 'banaan', 'kers']
@@ -4470,7 +4472,7 @@ adventures:
example_code: |
```
dieren = ['beren', 'apen', 'bijen', _]
- lijdend_voorwerp = ['broodjes', 'lekker', 'auto, _']
+ lijdend_voorwerp = ['broodjes', 'lekker', 'auto', _]
werkwoord = ['smeren', 'slapen', 'rijden', _]
_
{print} 'Ik zag twee ' dieren[i] ' ' lijdend_voorwerp[i] ' ' werkwoord[i]
@@ -4505,15 +4507,15 @@ adventures:
***Maak een lijst genaamd veld*** Deze lijst wordt ons speelveld. De lijst bestaat uit 9 lege plekken, punten, aangezien er aan het begin van het spel nog geen plekken gevuld zijn met rondjes of kruisjes.
- ***Maak een functie die het veld print*** Begin met een {clear} commando, zodat de oude speeldvelden verwijderd worden. Daarna printen we de eerste regel van ons boter-kaas-en-eieren veld. Deze regeld bestaat uit de eerste drie plekken van de lijst.
- We hebben deze regel alvast voor je geprogrammeerd. Maak nu zelf de tweede regel (plek 4, 5, en 6) en derde regel (plek 7, 8 en 9) af.
+ ***Maak een functie die het veld print*** Begin met een `{clear}` commando, zodat de oude speelvelden verwijderd worden. Daarna printen we de eerste regel van ons boter-kaas-en-eieren veld. Deze regel bestaat uit de eerste drie plekken van de lijst.
+ We hebben deze regel alvast voor je geprogrammeerd. Maak nu zelf de tweede regel (plek 4, 5 en 6) en derde regel (plek 7, 8 en 9) af.
***Roep de functie op die het veld print*** Roep de functie nu op.
Voer de code uit. Je uitvoer zou er zo uit moeten zien (al staat er bij jou boter-kaas-en-eieren in plaats van het Engelse TIC TAC TOE):
- ***Ga door naar het volgende tabje*** In het volgende avontuur leer je het spelletje programmeren.
+ ***Ga door naar het volgende tabje*** In het volgende avontuur leer je de logica van het spelletje programmeren.
example_code: |
```
# Maak een lijst genaamd veld
@@ -4531,7 +4533,7 @@ adventures:
```
17:
example_code: "```\n# Paste your code here and make it level 17 proof\n\n# Create a function that detects if someone has won\n{define} detect_winner {with} field, sign:\n {if} field[1] == field[2] {and} field[2] == field[3] {and} field[1] != '.':\n game_over = 'yes'\n {print} 'Player ' sign 'wins!'\n {elif}:\n _\n {else}:\n game_over = 'no'\n{return} _\n```\n"
- story_text: "In the previous level you've learned how to make a tic-tac-toe game. The game works, but is quite annoying as it keeps asking you if you've won yet.\nNow that we have the {elif} command, we can let the game decide if someone has won and it can stop asking us!\n\n### Exercise\n***Paste your code*** Paste your code from the previous level here and make it level 17 proof. In this level you've learned to use a colon everytime you create a block of code. Please add the colons in the correct spots.\n\n***Create a function that detects if someone's won*** We have started the function for you, paste it under the function `print_field` and finish the function. You can see that this first piece of code checks to see if spot 1, 2 and 3 are the same, because if they are you have 3 in a row.\nIt also checks if they are not a dot, because if they are, the line might have the same symbols on them, but that's just because it's still empty.\nIf all these conditions are met, the game is over and the winner is printed.\nFinish this function with all possible ways to win. This means you have to make this for the other 2 rows, 3 columns and 2 diagonals.\nIf you've finished all the other options, the function should return the variable `game_over` so we can use it in our game.\n\n***Call the function in the game*** Go to the line `game_over = {ask} 'Did you win?'` and change it to `game_over = {call} detect_winner {with} field, sign`. Now the function will check if there's a winner and the game doesn't need to keep asking anymore!\n\n***Enjoy your game!*** Great job! You have finished the game! Enjoy playing it!\n"
+ story_text: "In het vorige level heb je geleerd hoe je een boter-kaas-en-eieren spel maakt. Het spel werkt, maar is behoorlijk irritant omdat het je steeds vraagt of je al gewonnen hebt.\nNu we de '{elif}' opdracht hebben, kunnen we het spel laten beslissen of iemand gewonnen heeft. Het spel hoeft ons dan niet meer om informatie te vragen!\n\n### Opdracht\n***Plak je code*** Plak je code van het vorige level hier en maak het level 17 proof. In dit level heb je geleerd om een `:` te gebruiken elke keer dat je een codeblok maakt. Voeg de dubbele punten toe op de juiste plekken.\n\n***Maak een functie die detecteert of iemand gewonnen heeft*** We hebben de functie voor je gestart, plak deze onder de functie `print_field` en voltooi de functie. Je ziet dat dit eerste stukje code controleert of plek 1, 2 en 3 hetzelfde zijn, want als dat zo is, heb je er 3 op een rij.\nHet controleert ook of ze geen punt zijn, want als dat zo is, kan de lijn dezelfde symbolen bevatten, maar dat komt alleen omdat deze nog leeg is.\nAls aan al deze voorwaarden is voldaan, is het spel afgelopen en wordt de winnaar afgedrukt.\nVoltooi deze functie met alle mogelijke manieren om te winnen. Dit betekent dat je dit moet doen voor de andere 2 rijen, 3 kolommen en 2 diagonalen.\nAls je alle andere opties hebt voltooid, moet de functie de variabele `game_over` retourneren, zodat we deze in ons spel kunnen gebruiken.\n\n***Roep de functie aan in het spel*** Ga naar de regel`game_over = {ask} 'Heb je gewonnen?'` en verander het in `game_over = {call} detect_winner {with} field, sign`. Nu controleert de functie of er een winnaar is en hoeft het spel niet dat niet meer te vragen!\n\n***Geniet van je spel!*** Goed gedaan! Je hebt het spel geprogrammeerd! Veel plezier met spelen!\n"
tic_2:
name: Boter-kaas-en-eieren 2
default_save_name: Tic
@@ -4539,7 +4541,7 @@ adventures:
levels:
16:
story_text: |
- In het vorige avontuur heb je geleerd om het speelveld te printen. Nu leer het het spelletje te programmeren!
+ In het vorige avontuur heb je geleerd om het speelveld te printen. Nu leer je het spelletje te programmeren!
### Opdracht
***Plak je code hier*** Plak je code van het vorige avontuur hier.
@@ -4548,11 +4550,11 @@ adventures:
De variabele `game_over` vertelt je of het spel al over is. Stel deze variabele in op 'nee'.
De variabele `teken` vertelt je of het rondje of het kruisje aan de beurt is. Stel deze variabele in op 'x'.
- ***Het spel*** Gebruik een {while} commando om te zorgen dat het spel door blijft gaan, totdat de speler game over is. Dus `{while} game_over = 'no'. `
- Tijdens het spelen laten we de speler kiezen welk op welk plekje ze hun teken willen plaatsen. Dan veranderen we dat plekje in hun teken.
+ ***Het spel*** Gebruik een `{while}` commando om te zorgen dat het spel door blijft gaan, totdat de speler game over is. Dus `{while} game_over == 'nee'`.
+ Tijdens het spelen laten we de speler kiezen op welk plekje ze hun teken willen plaatsen. Dan veranderen we dat plekje in hun teken.
Vervolgens printen we het speelveld opnieuw en vragen we de speler of die al gewonnen heeft. Tot slot is het de beurt van de ander, dus veranderen we het teken van 'x' naar 'o' of andersom.
- ***Test je spel*** Werkt alles? Geweldig, veel speelplezier! Is er nog iets mis? Gebruik dat de knop met het lieveheersbeetje om je code te debuggen.
+ ***Test je spel*** Werkt alles? Geweldig, veel speelplezier! Is er nog iets mis? Gebruik dan de knop met het lieveheersbeestje om je code te debuggen.
Je hebt misschien ook wel gemerkt dat je er een fout in het spel zit: Je mag namelijk het plekje van de andere speler stelen! Als de ene speler plek 1 heeft gekozen, mag de tweede speler daarna ook gewoon plekje 1 inpikken.
Dat is natuurlijk niet eerlijk! Wil je dit oplossen, ga dan naar het volgende tabblad.
example_code: |
@@ -4581,7 +4583,7 @@ adventures:
levels:
16:
story_text: |
- Je hebt misschien al gemerkt dat je er een fout in het spel zit: Je mag namelijk het plekje van de andere speler stelen! Als de ene speler plek 1 heeft gekozen, mag de tweede speler daarna ook gewoon plekje 1 inpikken.
+ Je hebt misschien al gemerkt dat er een fout in het spel zit: Je mag namelijk het plekje van de andere speler stelen! Als de ene speler plek 1 heeft gekozen, mag de tweede speler daarna ook gewoon plekje 1 inpikken.
Dat is natuurlijk niet eerlijk! Wil je dit nu oplossen.
### Opdracht
@@ -4699,7 +4701,7 @@ adventures:
```
story_text_2: |
Je kunt de lijn ook van kleur laten wisselen met `{color}`. Kijk maar eens naar het voorbeeld.
- Je kunt het commande `{color} {white}` gebruiken om onzichtbare lijnen te tekenen. Je kunt die witte lijnen b.v. gebruiken om ergens anders op het scherm te beginnen met tekenen.
+ Je kunt het commando `{color} {white}` gebruiken om onzichtbare lijnen te tekenen. Je kunt die witte lijnen bijvoorbeeld gebruiken om ergens anders op het scherm te beginnen met tekenen.
example_code_2: |
```
{color} {white}
@@ -4805,7 +4807,7 @@ adventures:
{color} {black}
```
10:
- story_text: "In dit level kun je de teken-schildpad een figuur laten tekenen. \nDe schildpad volgt de afstanden in de lijst één voor één, waarbij de stappen steeds groter worden.\n### Opdracht 1\nVoeg een turn van 90 graden toe aan de code om een spiraal te tekenen.\nVoeg ten minste 5 getallen toe aan de lijst, zodat de spiraal steeds groter wordt.\n **(extra)** Kan jij de spiraal in een andere vorm veranderen? Probeer verschillende getallen met turn!\n### Opdracht 2\nDe spiraal wordt nu van binnen naar buiten getekend, kun jij dit omdraaien?\n"
+ story_text: "In dit level kun je de teken-schildpad een figuur laten tekenen. \nDe schildpad volgt de afstanden in de lijst één voor één, waarbij de stappen steeds groter worden.\n### Opdracht 1\nVoeg een `{turn} ` van 90 graden toe aan de code om een spiraal te tekenen.\nVoeg ten minste 5 getallen toe aan de lijst, zodat de spiraal steeds groter wordt.\n **(extra)** Kan jij de spiraal in een andere vorm veranderen? Probeer verschillende getallen met `{turn}`!\n### Opdracht 2\nDe spiraal wordt nu van binnen naar buiten getekend, kun jij dit omdraaien?\n"
example_code: |
```
{turn} 90
diff --git a/content/keywords/el.yaml b/content/keywords/el.yaml
index 0326d7e4c99..bdc15307dd4 100644
--- a/content/keywords/el.yaml
+++ b/content/keywords/el.yaml
@@ -1,5 +1,5 @@
add: add
-and: and
+and: και
ask: ask
at: at
black: black
diff --git a/content/parsons/nl.yaml b/content/parsons/nl.yaml
index 6db54d987b3..8dd6d3cf664 100644
--- a/content/parsons/nl.yaml
+++ b/content/parsons/nl.yaml
@@ -52,7 +52,7 @@ levels:
story: |-
In een schaaktoernooi zijn nog drie spelers over.
Maak een programma dat beslist welke twee spelers als eerst tegen elkaar mogen schaken.
- Print eerst de twee spelers die tegen elkaar spelen en print vervolgens de tegen wie de winnaar mag spelen.
+ Print eerst de twee spelers die tegen elkaar spelen en print vervolgens tegen wie de winnaar van dat potje moet spelen.
code: |-
spelers {is} Freek, Bart, Emma
speler_1 {is} spelers {at} {random}
@@ -159,7 +159,7 @@ levels:
{repeat} 3 {times}
nummer = nummers {at} {random}
correct_antwoord = 5 * nummer
- antwoord = {ask} 'Wat is 5 keer' nummer '?'
+ antwoord = {ask} 'Wat is 5 keer ' nummer '?'
{if} antwoord = correct_antwoord
{print} 'Super!'
{else}
@@ -195,18 +195,18 @@ levels:
{remove} gekozen_diner {from} diner_opties
2:
story: |-
- This make-over robot will decide your new hairstyle for you. If you do not agree with the first choice, you can try again.
- **Mind** The variable people is defined in the first line. The variable hairstyles in the second.
+ Deze make-over robot beslist jouw nieuwe kapsel voor je. Als je het niet eens bent met de eerste keuze, kun je het opnieuw proberen.
+ **Let op** De lijstvariabele mensen is gedefinieerd in de eerste regel. De lijstvariabele haarstijl in de tweede.
code: |-
mensen = Betty, Amanda, Marc
- haarstijl = een kaal hoofd, een hanekam, een paardenstaart, stekeltjes
+ haarstijl = een kaal hoofd, een hanenkam, een paardenstaart, stekeltjes
{for} mens {in} mensen
{print} mens ' krijgt nu ' haarstijl {at} {random}
tevreden = {ask} mens ', ben je blij met deze keuze?'
{if} tevreden {is} ja
{print} 'Fantastisch'
{else}
- {print} 'We proberen het opniew... ' mens ' krijgt ' haarstijl {at} {random}
+ {print} 'We proberen het opnieuw... ' mens ' krijgt ' haarstijl {at} {random}
11:
1:
story: Maak een aftelklok voor oudjaarsavond! Het programma moet de getallen van 10 tot 1 één seconde tonen en je dan een gelukkig nieuwjaar wensen!
diff --git a/content/quizzes/el.yaml b/content/quizzes/el.yaml
index a69f0f86c61..c3479e96ab7 100644
--- a/content/quizzes/el.yaml
+++ b/content/quizzes/el.yaml
@@ -1,7 +1,7 @@
levels:
1:
1:
- question_text: What's this programming language called?
+ question_text: Πώς λέγεται αυτή η γλώσσα προγραμματισμού;
mp_choice_options:
- option: Hedy
feedback: Good job!
diff --git a/content/quizzes/nl.yaml b/content/quizzes/nl.yaml
index ff1adc86cab..398149ca021 100644
--- a/content/quizzes/nl.yaml
+++ b/content/quizzes/nl.yaml
@@ -1144,7 +1144,7 @@ levels:
correct_answer: C
question_score: '10'
5:
- question_text: Hoeveel moeten je betalen als je met 5 mensen komt eten?
+ question_text: Hoeveel moet je betalen als je met 5 mensen komt eten?
code: |-
{print} 'Welkom in restaurant Hedy!'
mensen {is} {ask} 'Met hoeveel mensen komt u vanavond eten?'
@@ -1804,7 +1804,7 @@ levels:
eten = {ask} 'Wat wil je eten?'
{if} eten {is} friet
saus = {ask} 'Welke saus wil je?'
- {print} 'Een frietje met with ' saus
+ {print} 'Een frietje met ' saus
{if} eten {is} pizza
beleg = {ask} 'Wat wil je erop?'
{print} 'Een pizza met ' beleg
@@ -1868,7 +1868,7 @@ levels:
actie = {ask} 'Openen of verkopen?'
{if} actie {is} verkopen
{print} 'Jij verkoop de koffer voor 500 dollar'
- {if} action {is} open
+ {if} actie {is} open
{print} 'Je opent de koffer en wint een miljoen dollar!'
mp_choice_options:
- option: Koffer 1, verkopen
@@ -2011,7 +2011,7 @@ levels:
code: |-
leeftijd = {ask} 'Gefeliciteerd! Hoe oud ben je?'
zingen = {ask} 'Wil je dat we gaan zingen?'
- if zingen {is} ja
+ {if} zingen {is} ja
{repeat} jaar {times}
{print} 'Hiep hiep hoera!'
mp_choice_options:
@@ -2493,7 +2493,7 @@ levels:
correct_answer: C
question_score: '10'
9:
- question_text: Hoevaak roept Hedy 'Hieperdepiep Hoera'voor je?
+ question_text: Hoevaak roept Hedy 'Hieperdepiep Hoera' voor je?
code: |-
leeftijd {is} {ask} 'Hoe oud ben je?'
{for} i {in} {range} 1 {to} leeftijd
@@ -2576,25 +2576,25 @@ levels:
mp_choice_options:
- option: |-
```
- smaken = vanille, aarbeien, chocolade
+ smaken = vanille, aardbeien, chocolade
{print} 'Ik wil ' smaken {at} {random} 'ijs.'
```
feedback: Alle smaakjes moeten binnen aanhalingstekens.
- option: |-
```
- 'smaken = vanille, aarbeien, chocolade'
+ 'smaken = vanille, aardbeien, chocolade'
{print} 'Ik wil ' smaken {at} {random} 'ijs.'
```
feedback: Alle smaakjes moeten binnen aanhalingstekens
- option: |-
```
- smaken = 'vanille', 'aarbeien', 'chocolade'
+ smaken = 'vanille', 'aardbeien', 'chocolade'
{print} 'Ik wil ' smaken {at} {random} 'ijs.'
```
feedback: Goed!
- option: |-
```
- smaken = 'vanille, aarbeien, chocolade'
+ smaken = 'vanille, aardbeien, chocolade'
{print} 'Ik wil ' smaken {at} {random} 'ijs.'
```
feedback: All the different values of flavors should be in quotation marks.
@@ -2604,8 +2604,8 @@ levels:
3:
question_text: Wat is er mis met deze code?
code: |-
- leukste_dier = ask 'Wat vind jij het leukste dier?'
- print 'Ik hou ook van ' leukstedier
+ leukste_dier = {ask} 'Wat vind jij het leukste dier?'
+ {print} 'Ik hou ook van ' leukstedier
mp_choice_options:
- option: De naam van de variabele is anders in regel 1 dan in regel 2.
feedback: Correct!
@@ -2745,17 +2745,17 @@ levels:
feedback: Zo win je helaas geen prijzen
- option: |-
```
- prizes = 'een miljoen euro, niets'
+ prijzen = 'een miljoen euro, niets'
```
feedback: Zo win je niets
- option: |-
```
- prizes = 'one miljoen euro', 'niets'
+ prijzen = 'one miljoen euro', 'niets'
```
feedback: Winnaar!
- option: |-
```
- 'prizes' = 'een miljoen euro', 'niets'
+ 'prijzen' = 'een miljoen euro', 'niets'
```
feedback: Zo win je niets
hint: De items op de lijst moeten tussen aanhalingstekens
@@ -3386,10 +3386,10 @@ levels:
question_text: Wat is er mis met deze code?
code: |-
levens = 100
- {while} levens != 0
+ {while} levens != 0
antwoord = {ask} 'Ben je al boos?'
- {if} antwoord == 'ja'
- levens = levens - 1
+ {if} antwoord == 'ja'
+ levens = levens - 1
mp_choice_options:
- option: '{while} moet {if} zijn.'
feedback: Nee dat klopt niet
@@ -3406,7 +3406,7 @@ levels:
question_text: Wat moet er in deze code veranderen?
code: |-
{print} 'Raad mijn getal'
- numemrs = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
+ nummers = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
nummer = nummers {at} {random}
game = 'aan'
{if} game == 'aan'
@@ -3455,12 +3455,12 @@ levels:
question_text: Wat zegt de dieetapp als je 1600 caloriëen hebt gegeten die dag?
code: |-
calorie = {ask} 'Hoeveel calorieën heb je vandaag gegeten?'
- {while} calorie <= 1000
- {print} 'Je kunt nog wat eten'
- {while} calorie > 1000 and calorie =< 2000
- {print} 'Prima'
- {while} calorie > 2000
- {print} 'Je hebt genoeg gehad'
+ {while} calorie <= 1000
+ {print} 'Je kunt nog wat eten'
+ {while} calorie > 1000 {and} calorie =< 2000
+ {print} 'Prima'
+ {while} calorie > 2000
+ {print} 'Je hebt genoeg gehad'
mp_choice_options:
- option: Niets. 1600 calorieën is niet geprogrammeerd
feedback: Nee
@@ -4034,12 +4034,12 @@ levels:
insects = ['🐝', '🦋', '🕷', '🐞']
your_favorite = {ask} 'what is your favorite insect?'
{for} insect in insects:
- {if} your_favorite == '🐝' {or} your_favorite == '🐞':
- {print} 'very useful'
- {elif} your_favorite == '🕷':
- {print} 'it can catch mosquitoes'
- {else}:
- {print} 'almost all insects can be useful one way or another'
+ {if} your_favorite == '🐝' {or} your_favorite == '🐞':
+ {print} 'very useful'
+ {elif} your_favorite == '🕷':
+ {print} 'it can catch mosquitoes'
+ {else}:
+ {print} 'almost all insects can be useful one way or another'
mp_choice_options:
- option: '`{or}` cannot be used with `{if}`.'
feedback: Try again.
diff --git a/content/slides/el.yaml b/content/slides/el.yaml
index fa5f0ab8d6b..87c68b82f8a 100644
--- a/content/slides/el.yaml
+++ b/content/slides/el.yaml
@@ -1,7 +1,7 @@
levels:
0:
1:
- header: Welcome to Hedy!
+ header: Καλώς ήρθατε στο Hedy!
text: Hedy is a programming language.
2:
header: Programming
diff --git a/grammars/keywords-el.lark b/grammars/keywords-el.lark
index 2f844c60471..4cfde45e46c 100644
--- a/grammars/keywords-el.lark
+++ b/grammars/keywords-el.lark
@@ -35,7 +35,7 @@ _IN: _SPACE ("in" | "in") _SPACE
_NOT_IN: _SPACE ("not in" | "not in") _SPACE
_IF: ("if" | "if") _SPACE
_ELSE: "else" | "else"
-_AND: _SPACE? ("and" | "and") _SPACE
+_AND: _SPACE? ("και" | "and") _SPACE
_REPEAT: ("repeat" | "repeat") _SPACE
_TIMES: _SPACE ("times" | "times")
_FOR: ("for" | "for") _SPACE
diff --git a/highlighting/highlighting-trad.json b/highlighting/highlighting-trad.json
index 02e96e6df04..f19c553fe7f 100644
--- a/highlighting/highlighting-trad.json
+++ b/highlighting/highlighting-trad.json
@@ -475,7 +475,7 @@
"False": "False",
"True": "True",
"add": "add",
- "and": "and",
+ "and": "και|and",
"ask": "ask",
"at": "at",
"black": "black",
diff --git a/static/js/appbundle.js b/static/js/appbundle.js
index dfa427fe22d..36ab67b85e7 100644
--- a/static/js/appbundle.js
+++ b/static/js/appbundle.js
@@ -61942,9 +61942,9 @@ ${o3}` : i3;
"Transpile_success": "Goed gedaan!\nGa zo door!\nTopper!\nSuper!\nBravo!",
"Transpile_warning": "Let op!",
"Unsaved_Changes": "Jouw programma is niet opgeslagen. Wil je weggaan zonder het op te slaan?",
- "adventures_completed": "Adventuren afgerond: {number_of_adventures}",
+ "adventures_completed": "Avonturen afgerond: {number_of_adventures}",
"adventures_restored": "De standaardavonturen zijn terug gezet.",
- "adventures_tried": "Adventuren geprobeerd",
+ "adventures_tried": "Avonturen geprobeerd",
"copy_link_to_share": "Kopieer link voor delen",
"customization_deleted": "Personalisatie succesvol verwijderd.",
"dice": "\u{1F3B2}",
@@ -97174,7 +97174,7 @@ def note_with_error(value, err):
False: "False",
True: "True",
add: "add",
- and: "and",
+ and: "\u03BA\u03B1\u03B9|and",
ask: "ask",
at: "at",
black: "black",
diff --git a/static/js/appbundle.js.map b/static/js/appbundle.js.map
index bdf0279bb2f..bf578b8b323 100644
--- a/static/js/appbundle.js.map
+++ b/static/js/appbundle.js.map
@@ -1,7 +1,7 @@
{
"version": 3,
"sources": ["../../node_modules/jszip/dist/jszip.min.js", "../../node_modules/@babel/runtime/helpers/arrayWithHoles.js", "../../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js", "../../node_modules/@babel/runtime/helpers/arrayLikeToArray.js", "../../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js", "../../node_modules/@babel/runtime/helpers/nonIterableRest.js", "../../node_modules/@babel/runtime/helpers/slicedToArray.js", "../../node_modules/@babel/runtime/helpers/classCallCheck.js", "../../node_modules/@babel/runtime/helpers/typeof.js", "../../node_modules/@babel/runtime/helpers/toPrimitive.js", "../../node_modules/@babel/runtime/helpers/toPropertyKey.js", "../../node_modules/@babel/runtime/helpers/createClass.js", "../../node_modules/automation-events/build/es5/bundle.js", "../../node_modules/dompurify/src/utils.js", "../../node_modules/dompurify/src/tags.js", "../../node_modules/dompurify/src/attrs.js", "../../node_modules/dompurify/src/regexp.js", "../../node_modules/dompurify/src/purify.js", "ckeditor.js", "index.ts", "message-translations.ts", "client-messages.ts", "modal.ts", "app.ts", "../../node_modules/tone/Tone/version.ts", "../../node_modules/standardized-audio-context/src/module.ts", "../../node_modules/standardized-audio-context/src/factories/abort-error.ts", "../../node_modules/standardized-audio-context/src/factories/add-active-input-connection-to-audio-node.ts", "../../node_modules/standardized-audio-context/src/factories/add-audio-node-connections.ts", "../../node_modules/standardized-audio-context/src/factories/add-audio-param-connections.ts", "../../node_modules/standardized-audio-context/src/globals.ts", "../../node_modules/standardized-audio-context/src/helpers/is-constructible.ts", "../../node_modules/standardized-audio-context/src/helpers/split-import-statements.ts", "../../node_modules/standardized-audio-context/src/factories/add-audio-worklet-module.ts", "../../node_modules/standardized-audio-context/src/helpers/get-value-for-key.ts", "../../node_modules/standardized-audio-context/src/helpers/pick-element-from-set.ts", "../../node_modules/standardized-audio-context/src/helpers/delete-passive-input-connection-to-audio-node.ts", "../../node_modules/standardized-audio-context/src/helpers/get-event-listeners-of-audio-node.ts", "../../node_modules/standardized-audio-context/src/helpers/set-internal-state-to-active.ts", "../../node_modules/standardized-audio-context/src/guards/audio-worklet-node.ts", "../../node_modules/standardized-audio-context/src/helpers/set-internal-state-to-passive.ts", "../../node_modules/standardized-audio-context/src/helpers/set-internal-state-to-passive-when-necessary.ts", "../../node_modules/standardized-audio-context/src/factories/add-connection-to-audio-node.ts", "../../node_modules/standardized-audio-context/src/factories/add-passive-input-connection-to-audio-node.ts", "../../node_modules/standardized-audio-context/src/factories/add-silent-connection.ts", "../../node_modules/standardized-audio-context/src/factories/add-unrendered-audio-worklet-node.ts", "../../node_modules/standardized-audio-context/src/factories/analyser-node-constructor.ts", "../../node_modules/standardized-audio-context/src/helpers/is-owned-by-context.ts", "../../node_modules/standardized-audio-context/src/factories/analyser-node-renderer-factory.ts", "../../node_modules/standardized-audio-context/src/helpers/test-audio-buffer-copy-channel-methods-out-of-bounds-support.ts", "../../node_modules/standardized-audio-context/src/factories/index-size-error.ts", "../../node_modules/standardized-audio-context/src/helpers/wrap-audio-buffer-get-channel-data-method.ts", "../../node_modules/standardized-audio-context/src/factories/audio-buffer-constructor.ts", "../../node_modules/standardized-audio-context/src/constants.ts", "../../node_modules/standardized-audio-context/src/helpers/is-active-audio-node.ts", "../../node_modules/standardized-audio-context/src/factories/audio-buffer-source-node-constructor.ts", "../../node_modules/standardized-audio-context/src/factories/audio-buffer-source-node-renderer-factory.ts", "../../node_modules/standardized-audio-context/src/guards/audio-buffer-source-node.ts", "../../node_modules/standardized-audio-context/src/guards/biquad-filter-node.ts", "../../node_modules/standardized-audio-context/src/guards/constant-source-node.ts", "../../node_modules/standardized-audio-context/src/guards/gain-node.ts", "../../node_modules/standardized-audio-context/src/guards/oscillator-node.ts", "../../node_modules/standardized-audio-context/src/guards/stereo-panner-node.ts", "../../node_modules/standardized-audio-context/src/helpers/get-audio-node-connections.ts", "../../node_modules/standardized-audio-context/src/helpers/get-audio-param-connections.ts", "../../node_modules/standardized-audio-context/src/helpers/deactivate-active-audio-node-input-connections.ts", "../../node_modules/standardized-audio-context/src/helpers/deactivate-audio-graph.ts", "../../node_modules/standardized-audio-context/src/helpers/is-valid-latency-hint.ts", "../../node_modules/standardized-audio-context/src/factories/audio-context-constructor.ts", "../../node_modules/standardized-audio-context/src/factories/audio-destination-node-constructor.ts", "../../node_modules/standardized-audio-context/src/factories/audio-destination-node-renderer-factory.ts", "../../node_modules/standardized-audio-context/src/factories/audio-listener-factory.ts", "../../node_modules/standardized-audio-context/src/guards/audio-node.ts", "../../node_modules/standardized-audio-context/src/guards/audio-node-output-connection.ts", "../../node_modules/standardized-audio-context/src/helpers/insert-element-in-set.ts", "../../node_modules/standardized-audio-context/src/helpers/add-active-input-connection-to-audio-param.ts", "../../node_modules/standardized-audio-context/src/helpers/add-passive-input-connection-to-audio-param.ts", "../../node_modules/standardized-audio-context/src/guards/native-audio-node-faker.ts", "../../node_modules/standardized-audio-context/src/helpers/connect-native-audio-node-to-native-audio-node.ts", "../../node_modules/standardized-audio-context/src/helpers/delete-active-input-connection.ts", "../../node_modules/standardized-audio-context/src/helpers/delete-active-input-connection-to-audio-param.ts", "../../node_modules/standardized-audio-context/src/helpers/delete-event-listeners-of-audio-node.ts", "../../node_modules/standardized-audio-context/src/helpers/delete-passive-input-connection-to-audio-param.ts", "../../node_modules/standardized-audio-context/src/helpers/disconnect-native-audio-node-from-native-audio-node.ts", "../../node_modules/standardized-audio-context/src/helpers/get-native-audio-node.ts", "../../node_modules/standardized-audio-context/src/helpers/get-native-audio-param.ts", "../../node_modules/standardized-audio-context/src/helpers/is-part-of-a-cycle.ts", "../../node_modules/standardized-audio-context/src/helpers/is-passive-audio-node.ts", "../../node_modules/standardized-audio-context/src/helpers/test-audio-node-disconnect-method-support.ts", "../../node_modules/standardized-audio-context/src/helpers/visit-each-audio-node-once.ts", "../../node_modules/standardized-audio-context/src/guards/native-audio-node.ts", "../../node_modules/standardized-audio-context/src/helpers/wrap-audio-node-disconnect-method.ts", "../../node_modules/standardized-audio-context/src/factories/audio-node-constructor.ts", "../../node_modules/standardized-audio-context/src/factories/audio-param-factory.ts", "../../node_modules/standardized-audio-context/src/factories/audio-param-renderer.ts", "../../node_modules/standardized-audio-context/src/read-only-map.ts", "../../node_modules/standardized-audio-context/src/factories/audio-worklet-node-constructor.ts", "../../node_modules/standardized-audio-context/src/helpers/copy-from-channel.ts", "../../node_modules/standardized-audio-context/src/helpers/copy-to-channel.ts", "../../node_modules/standardized-audio-context/src/helpers/create-nested-arrays.ts", "../../node_modules/standardized-audio-context/src/helpers/get-audio-worklet-processor.ts", "../../node_modules/standardized-audio-context/src/factories/audio-worklet-node-renderer-factory.ts", "../../node_modules/standardized-audio-context/src/factories/base-audio-context-constructor.ts", "../../node_modules/standardized-audio-context/src/factories/biquad-filter-node-constructor.ts", "../../node_modules/standardized-audio-context/src/factories/biquad-filter-node-renderer-factory.ts", "../../node_modules/standardized-audio-context/src/factories/cache-test-result.ts", "../../node_modules/standardized-audio-context/src/factories/channel-merger-node-constructor.ts", "../../node_modules/standardized-audio-context/src/factories/channel-merger-node-renderer-factory.ts", "../../node_modules/standardized-audio-context/src/factories/channel-splitter-node-constructor.ts", "../../node_modules/standardized-audio-context/src/factories/channel-splitter-node-renderer-factory.ts", "../../node_modules/standardized-audio-context/src/factories/connect-audio-param.ts", "../../node_modules/standardized-audio-context/src/factories/connect-multiple-outputs.ts", "../../node_modules/standardized-audio-context/src/factories/connected-native-audio-buffer-source-node-factory.ts", "../../node_modules/standardized-audio-context/src/factories/constant-source-node-constructor.ts", "../../node_modules/standardized-audio-context/src/factories/constant-source-node-renderer-factory.ts", "../../node_modules/standardized-audio-context/src/factories/convert-number-to-unsigned-long.ts", "../../node_modules/standardized-audio-context/src/factories/convolver-node-constructor.ts", "../../node_modules/standardized-audio-context/src/factories/convolver-node-renderer-factory.ts", "../../node_modules/standardized-audio-context/src/factories/create-native-offline-audio-context.ts", "../../node_modules/standardized-audio-context/src/factories/data-clone-error.ts", "../../node_modules/standardized-audio-context/src/helpers/detach-array-buffer.ts", "../../node_modules/standardized-audio-context/src/factories/decode-audio-data.ts", "../../node_modules/standardized-audio-context/src/factories/decrement-cycle-counter.ts", "../../node_modules/standardized-audio-context/src/factories/delay-node-constructor.ts", "../../node_modules/standardized-audio-context/src/factories/delay-node-renderer-factory.ts", "../../node_modules/standardized-audio-context/src/factories/delete-active-input-connection-to-audio-node.ts", "../../node_modules/standardized-audio-context/src/factories/delete-unrendered-audio-worklet-node.ts", "../../node_modules/standardized-audio-context/src/guards/delay-node.ts", "../../node_modules/standardized-audio-context/src/factories/detect-cycles.ts", "../../node_modules/standardized-audio-context/src/factories/disconnect-multiple-outputs.ts", "../../node_modules/standardized-audio-context/src/factories/dynamics-compressor-node-constructor.ts", "../../node_modules/standardized-audio-context/src/factories/dynamics-compressor-node-renderer-factory.ts", "../../node_modules/standardized-audio-context/src/factories/encoding-error.ts", "../../node_modules/standardized-audio-context/src/factories/evaluate-source.ts", "../../node_modules/standardized-audio-context/src/factories/event-target-constructor.ts", "../../node_modules/standardized-audio-context/src/factories/expose-current-frame-and-current-time.ts", "../../node_modules/standardized-audio-context/src/factories/fetch-source.ts", "../../node_modules/standardized-audio-context/src/factories/gain-node-constructor.ts", "../../node_modules/standardized-audio-context/src/factories/gain-node-renderer-factory.ts", "../../node_modules/standardized-audio-context/src/factories/get-active-audio-worklet-node-inputs.ts", "../../node_modules/standardized-audio-context/src/factories/get-audio-node-renderer.ts", "../../node_modules/standardized-audio-context/src/factories/get-audio-node-tail-time.ts", "../../node_modules/standardized-audio-context/src/factories/get-audio-param-renderer.ts", "../../node_modules/standardized-audio-context/src/factories/get-backup-offline-audio-context.ts", "../../node_modules/standardized-audio-context/src/factories/invalid-state-error.ts", "../../node_modules/standardized-audio-context/src/factories/get-native-context.ts", "../../node_modules/standardized-audio-context/src/factories/get-or-create-backup-offline-audio-context.ts", "../../node_modules/standardized-audio-context/src/factories/get-unrendered-audio-worklet-nodes.ts", "../../node_modules/standardized-audio-context/src/factories/invalid-access-error.ts", "../../node_modules/standardized-audio-context/src/helpers/wrap-iir-filter-node-get-frequency-response-method.ts", "../../node_modules/standardized-audio-context/src/factories/iir-filter-node-constructor.ts", "../../node_modules/standardized-audio-context/src/helpers/filter-buffer.ts", "../../node_modules/standardized-audio-context/src/factories/iir-filter-node-renderer-factory.ts", "../../node_modules/standardized-audio-context/src/factories/increment-cycle-counter-factory.ts", "../../node_modules/standardized-audio-context/src/factories/is-any-audio-context.ts", "../../node_modules/standardized-audio-context/src/factories/is-any-audio-node.ts", "../../node_modules/standardized-audio-context/src/factories/is-any-audio-param.ts", "../../node_modules/standardized-audio-context/src/factories/is-any-offline-audio-context.ts", "../../node_modules/standardized-audio-context/src/factories/is-native-audio-context.ts", "../../node_modules/standardized-audio-context/src/factories/is-native-audio-node.ts", "../../node_modules/standardized-audio-context/src/factories/is-native-audio-param.ts", "../../node_modules/standardized-audio-context/src/factories/is-native-context.ts", "../../node_modules/standardized-audio-context/src/factories/is-native-offline-audio-context.ts", "../../node_modules/standardized-audio-context/src/factories/is-secure-context.ts", "../../node_modules/standardized-audio-context/src/factories/media-element-audio-source-node-constructor.ts", "../../node_modules/standardized-audio-context/src/factories/media-stream-audio-destination-node-constructor.ts", "../../node_modules/standardized-audio-context/src/factories/media-stream-audio-source-node-constructor.ts", "../../node_modules/standardized-audio-context/src/factories/media-stream-track-audio-source-node-constructor.ts", "../../node_modules/standardized-audio-context/src/factories/minimal-audio-context-constructor.ts", "../../node_modules/standardized-audio-context/src/factories/minimal-base-audio-context-constructor.ts", "../../node_modules/standardized-audio-context/src/helpers/test-promise-support.ts", "../../node_modules/standardized-audio-context/src/factories/minimal-offline-audio-context-constructor.ts", "../../node_modules/standardized-audio-context/src/factories/monitor-connections.ts", "../../node_modules/standardized-audio-context/src/helpers/assign-native-audio-node-option.ts", "../../node_modules/standardized-audio-context/src/helpers/assign-native-audio-node-options.ts", "../../node_modules/standardized-audio-context/src/helpers/test-analyser-node-get-float-time-domain-data-method-support.ts", "../../node_modules/standardized-audio-context/src/helpers/wrap-analyser-node-get-float-time-domain-data-method.ts", "../../node_modules/standardized-audio-context/src/factories/native-analyser-node-factory.ts", "../../node_modules/standardized-audio-context/src/factories/native-audio-buffer-constructor.ts", "../../node_modules/standardized-audio-context/src/helpers/assign-native-audio-node-audio-param-value.ts", "../../node_modules/standardized-audio-context/src/helpers/wrap-audio-buffer-source-node-start-method-consecutive-calls.ts", "../../node_modules/standardized-audio-context/src/helpers/wrap-audio-scheduled-source-node-start-method-negative-parameters.ts", "../../node_modules/standardized-audio-context/src/helpers/wrap-audio-scheduled-source-node-stop-method-negative-parameters.ts", "../../node_modules/standardized-audio-context/src/factories/native-audio-buffer-source-node-factory.ts", "../../node_modules/standardized-audio-context/src/factories/native-audio-context-constructor.ts", "../../node_modules/standardized-audio-context/src/factories/native-audio-destination-node.ts", "../../node_modules/standardized-audio-context/src/factories/native-audio-worklet-node-constructor.ts", "../../node_modules/standardized-audio-context/src/helpers/test-clonability-of-audio-worklet-node-options.ts", "../../node_modules/standardized-audio-context/src/factories/native-audio-worklet-node-factory.ts", "../../node_modules/standardized-audio-context/src/helpers/compute-buffer-size.ts", "../../node_modules/standardized-audio-context/src/helpers/clone-audio-worklet-node-options.ts", "../../node_modules/standardized-audio-context/src/helpers/create-audio-worklet-processor-promise.ts", "../../node_modules/standardized-audio-context/src/helpers/create-audio-worklet-processor.ts", "../../node_modules/standardized-audio-context/src/factories/native-audio-worklet-node-faker-factory.ts", "../../node_modules/standardized-audio-context/src/factories/native-biquad-filter-node.ts", "../../node_modules/standardized-audio-context/src/factories/native-channel-merger-node-factory.ts", "../../node_modules/standardized-audio-context/src/helpers/wrap-channel-splitter-node.ts", "../../node_modules/standardized-audio-context/src/factories/native-channel-splitter-node.ts", "../../node_modules/standardized-audio-context/src/factories/native-constant-source-node-factory.ts", "../../node_modules/standardized-audio-context/src/helpers/intercept-connections.ts", "../../node_modules/standardized-audio-context/src/factories/native-constant-source-node-faker-factory.ts", "../../node_modules/standardized-audio-context/src/factories/native-convolver-node-factory.ts", "../../node_modules/standardized-audio-context/src/factories/native-delay-node.ts", "../../node_modules/standardized-audio-context/src/factories/native-dynamics-compressor-node-factory.ts", "../../node_modules/standardized-audio-context/src/factories/native-gain-node.ts", "../../node_modules/standardized-audio-context/src/factories/native-iir-filter-node-factory.ts", "../../node_modules/standardized-audio-context/src/factories/native-iir-filter-node-faker-factory.ts", "../../node_modules/standardized-audio-context/src/factories/native-media-element-audio-source-node.ts", "../../node_modules/standardized-audio-context/src/factories/native-media-stream-audio-destination-node.ts", "../../node_modules/standardized-audio-context/src/factories/native-media-stream-audio-source-node.ts", "../../node_modules/standardized-audio-context/src/factories/native-media-stream-track-audio-source-node-factory.ts", "../../node_modules/standardized-audio-context/src/factories/native-offline-audio-context-constructor.ts", "../../node_modules/standardized-audio-context/src/factories/native-oscillator-node-factory.ts", "../../node_modules/standardized-audio-context/src/factories/native-panner-node-factory.ts", "../../node_modules/standardized-audio-context/src/factories/native-panner-node-faker-factory.ts", "../../node_modules/standardized-audio-context/src/factories/native-periodic-wave-factory.ts", "../../node_modules/standardized-audio-context/src/factories/native-script-processor-node.ts", "../../node_modules/standardized-audio-context/src/factories/native-stereo-panner-node-factory.ts", "../../node_modules/standardized-audio-context/src/factories/native-stereo-panner-node-faker-factory.ts", "../../node_modules/standardized-audio-context/src/factories/native-wave-shaper-node-factory.ts", "../../node_modules/standardized-audio-context/src/factories/native-wave-shaper-node-faker-factory.ts", "../../node_modules/standardized-audio-context/src/factories/not-supported-error.ts", "../../node_modules/standardized-audio-context/src/factories/offline-audio-context-constructor.ts", "../../node_modules/standardized-audio-context/src/factories/oscillator-node-constructor.ts", "../../node_modules/standardized-audio-context/src/factories/oscillator-node-renderer-factory.ts", "../../node_modules/standardized-audio-context/src/factories/panner-node-constructor.ts", "../../node_modules/standardized-audio-context/src/factories/panner-node-renderer-factory.ts", "../../node_modules/standardized-audio-context/src/factories/periodic-wave-constructor.ts", "../../node_modules/standardized-audio-context/src/factories/render-automation.ts", "../../node_modules/standardized-audio-context/src/factories/render-inputs-of-audio-node.ts", "../../node_modules/standardized-audio-context/src/factories/render-inputs-of-audio-param.ts", "../../node_modules/standardized-audio-context/src/factories/render-native-offline-audio-context.ts", "../../node_modules/standardized-audio-context/src/factories/set-active-audio-worklet-node-inputs.ts", "../../node_modules/standardized-audio-context/src/factories/set-audio-node-tail-time.ts", "../../node_modules/standardized-audio-context/src/factories/start-rendering.ts", "../../node_modules/standardized-audio-context/src/factories/stereo-panner-node-constructor.ts", "../../node_modules/standardized-audio-context/src/factories/stereo-panner-node-renderer-factory.ts", "../../node_modules/standardized-audio-context/src/factories/test-audio-buffer-constructor-support.ts", "../../node_modules/standardized-audio-context/src/factories/test-audio-worklet-processor-post-message-support.ts", "../../node_modules/standardized-audio-context/src/factories/test-offline-audio-context-current-time-support.ts", "../../node_modules/standardized-audio-context/src/factories/unknown-error.ts", "../../node_modules/standardized-audio-context/src/factories/wave-shaper-node-constructor.ts", "../../node_modules/standardized-audio-context/src/factories/wave-shaper-node-renderer-factory.ts", "../../node_modules/standardized-audio-context/src/factories/window.ts", "../../node_modules/standardized-audio-context/src/factories/wrap-audio-buffer-copy-channel-methods.ts", "../../node_modules/standardized-audio-context/src/factories/wrap-audio-buffer-copy-channel-methods-out-of-bounds.ts", "../../node_modules/standardized-audio-context/src/factories/wrap-audio-buffer-source-node-stop-method-nullified-buffer.ts", "../../node_modules/standardized-audio-context/src/factories/wrap-channel-merger-node.ts", "../../node_modules/standardized-audio-context/src/helpers/get-first-sample.ts", "../../node_modules/standardized-audio-context/src/helpers/is-dc-curve.ts", "../../node_modules/standardized-audio-context/src/helpers/overwrite-accessors.ts", "../../node_modules/standardized-audio-context/src/helpers/sanitize-audio-worklet-node-options.ts", "../../node_modules/standardized-audio-context/src/helpers/sanitize-channel-splitter-options.ts", "../../node_modules/standardized-audio-context/src/helpers/sanitize-periodic-wave-options.ts", "../../node_modules/standardized-audio-context/src/helpers/set-value-at-time-until-possible.ts", "../../node_modules/standardized-audio-context/src/helpers/test-audio-buffer-source-node-start-method-consecutive-calls-support.ts", "../../node_modules/standardized-audio-context/src/helpers/test-audio-buffer-source-node-start-method-offset-clamping-support.ts", "../../node_modules/standardized-audio-context/src/helpers/test-audio-buffer-source-node-stop-method-nullified-buffer-support.ts", "../../node_modules/standardized-audio-context/src/helpers/test-audio-scheduled-source-node-start-method-negative-parameters-support.ts", "../../node_modules/standardized-audio-context/src/helpers/test-audio-scheduled-source-node-stop-method-consecutive-calls-support.ts", "../../node_modules/standardized-audio-context/src/helpers/test-audio-scheduled-source-node-stop-method-negative-parameters-support.ts", "../../node_modules/standardized-audio-context/src/helpers/test-audio-worklet-node-options-clonability.ts", "../../node_modules/standardized-audio-context/src/helpers/wrap-audio-buffer-source-node-start-method-offset-clamping.ts", "../../node_modules/standardized-audio-context/src/helpers/wrap-audio-scheduled-source-node-stop-method-consecutive-calls.ts", "../../node_modules/standardized-audio-context/src/helpers/wrap-event-listener.ts", "../../node_modules/tone/Tone/core/util/Debug.ts", "../../node_modules/tone/Tone/core/util/TypeCheck.ts", "../../node_modules/tone/Tone/core/context/AudioContext.ts", "../../node_modules/tslib/tslib.es6.mjs", "../../node_modules/tone/Tone/core/clock/Ticker.ts", "../../node_modules/tone/Tone/core/util/AdvancedTypeCheck.ts", "../../node_modules/tone/Tone/core/util/Defaults.ts", "../../node_modules/tone/Tone/core/Tone.ts", "../../node_modules/tone/Tone/core/util/Math.ts", "../../node_modules/tone/Tone/core/util/Timeline.ts", "../../node_modules/tone/Tone/core/context/ContextInitialization.ts", "../../node_modules/tone/Tone/core/util/Emitter.ts", "../../node_modules/tone/Tone/core/context/BaseContext.ts", "../../node_modules/tone/Tone/core/context/Context.ts", "../../node_modules/tone/Tone/core/context/DummyContext.ts", "../../node_modules/tone/Tone/core/util/Interface.ts", "../../node_modules/tone/Tone/core/context/ToneAudioBuffer.ts", "../../node_modules/tone/Tone/core/context/OfflineContext.ts", "../../node_modules/tone/Tone/core/Global.ts", "../../node_modules/tone/Tone/core/type/Conversions.ts", "../../node_modules/tone/Tone/core/type/TimeBase.ts", "../../node_modules/tone/Tone/core/type/Time.ts", "../../node_modules/tone/Tone/core/type/Frequency.ts", "../../node_modules/tone/Tone/core/type/TransportTime.ts", "../../node_modules/tone/Tone/core/context/ToneWithContext.ts", "../../node_modules/tone/Tone/core/util/StateTimeline.ts", "../../node_modules/tone/Tone/core/context/Param.ts", "../../node_modules/tone/Tone/core/context/ToneAudioNode.ts", "../../node_modules/tone/Tone/core/context/Gain.ts", "../../node_modules/tone/Tone/source/OneShotSource.ts", "../../node_modules/tone/Tone/signal/ToneConstantSource.ts", "../../node_modules/tone/Tone/signal/Signal.ts", "../../node_modules/tone/Tone/core/clock/TickParam.ts", "../../node_modules/tone/Tone/core/clock/TickSignal.ts", "../../node_modules/tone/Tone/core/clock/TickSource.ts", "../../node_modules/tone/Tone/core/clock/Clock.ts", "../../node_modules/tone/Tone/core/context/ToneAudioBuffers.ts", "../../node_modules/tone/Tone/core/type/Midi.ts", "../../node_modules/tone/Tone/core/type/Ticks.ts", "../../node_modules/tone/Tone/core/util/Draw.ts", "../../node_modules/tone/Tone/core/util/IntervalTimeline.ts", "../../node_modules/tone/Tone/component/channel/Volume.ts", "../../node_modules/tone/Tone/core/context/Destination.ts", "../../node_modules/tone/Tone/core/util/TimelineValue.ts", "../../node_modules/tone/Tone/core/clock/TransportEvent.ts", "../../node_modules/tone/Tone/core/clock/TransportRepeatEvent.ts", "../../node_modules/tone/Tone/core/clock/Transport.ts", "../../node_modules/tone/Tone/source/Source.ts", "../../node_modules/tone/Tone/source/buffer/ToneBufferSource.ts", "../../node_modules/tone/Tone/source/Noise.ts", "../../node_modules/tone/Tone/source/oscillator/OscillatorInterface.ts", "../../node_modules/tone/Tone/source/oscillator/ToneOscillatorNode.ts", "../../node_modules/tone/Tone/source/oscillator/Oscillator.ts", "../../node_modules/tone/Tone/signal/SignalOperator.ts", "../../node_modules/tone/Tone/signal/WaveShaper.ts", "../../node_modules/tone/Tone/signal/AudioToGain.ts", "../../node_modules/tone/Tone/signal/Multiply.ts", "../../node_modules/tone/Tone/source/oscillator/AMOscillator.ts", "../../node_modules/tone/Tone/source/oscillator/FMOscillator.ts", "../../node_modules/tone/Tone/source/oscillator/PulseOscillator.ts", "../../node_modules/tone/Tone/source/oscillator/FatOscillator.ts", "../../node_modules/tone/Tone/source/oscillator/PWMOscillator.ts", "../../node_modules/tone/Tone/source/oscillator/OmniOscillator.ts", "../../node_modules/tone/Tone/core/util/Decorator.ts", "../../node_modules/tone/Tone/source/buffer/Player.ts", "../../node_modules/tone/Tone/component/envelope/Envelope.ts", "../../node_modules/tone/Tone/instrument/Instrument.ts", "../../node_modules/tone/Tone/instrument/Monophonic.ts", "../../node_modules/tone/Tone/component/envelope/AmplitudeEnvelope.ts", "../../node_modules/tone/Tone/instrument/Synth.ts", "../../node_modules/tone/Tone/instrument/MembraneSynth.ts", "../../node_modules/tone/Tone/core/worklet/WorkletGlobalScope.ts", "../../node_modules/tone/Tone/core/worklet/ToneAudioWorkletProcessor.worklet.ts", "../../node_modules/tone/Tone/core/worklet/SingleIOProcessor.worklet.ts", "../../node_modules/tone/Tone/core/worklet/DelayLine.worklet.ts", "../../node_modules/tone/Tone/component/filter/FeedbackCombFilter.worklet.ts", "../../node_modules/tone/Tone/instrument/PolySynth.ts", "../../node_modules/tone/Tone/instrument/Sampler.ts", "../../node_modules/tone/Tone/component/channel/Panner.ts", "../../node_modules/tone/Tone/effect/BitCrusher.worklet.ts", "../../node_modules/tone/Tone/effect/Freeverb.ts", "../../node_modules/tone/Tone/effect/JCReverb.ts", "../../node_modules/tone/Tone/component/channel/Solo.ts", "../../node_modules/tone/Tone/component/channel/PanVol.ts", "../../node_modules/tone/Tone/component/channel/Channel.ts", "../../node_modules/tone/Tone/core/context/Listener.ts", "../../node_modules/tone/Tone/index.ts", "event-emitter.ts", "tabs.ts", "pythonPrefixes.ts", "types.ts", "tutorials/utils.ts", "tutorials/intro.ts", "tutorials/teacher.ts", "tutorials/level1.ts", "tutorials/tutorial.ts", "editor.ts", "../../node_modules/@codemirror/state/dist/index.js", "../../node_modules/style-mod/src/style-mod.js", "../../node_modules/w3c-keyname/index.js", "../../node_modules/@codemirror/view/dist/index.js", "../../node_modules/@lezer/common/dist/index.js", "../../node_modules/@lezer/highlight/dist/index.js", "../../node_modules/@codemirror/language/dist/index.js", "../../node_modules/@codemirror/commands/dist/index.js", "../../node_modules/crelt/index.js", "../../node_modules/@codemirror/search/dist/index.js", "cm-decorations.ts", "../../node_modules/@lezer/lr/dist/index.js", "lezer-parsers/level1-parser.terms.ts", "lezer-parsers/level2-parser.terms.ts", "lezer-parsers/level3-parser.terms.ts", "lezer-parsers/level4-parser.terms.ts", "lezer-parsers/level5-parser.terms.ts", "lezer-parsers/level6-parser.terms.ts", "lezer-parsers/level7-parser.terms.ts", "lezer-parsers/level8-parser.terms.ts", "lezer-parsers/level10-parser.terms.ts", "lezer-parsers/level11-parser.terms.ts", "lezer-parsers/level12-parser.terms.ts", "lezer-parsers/level13-parser.terms.ts", "lezer-parsers/level14-parser.terms.ts", "lezer-parsers/level15-parser.terms.ts", "lezer-parsers/level16-parser.terms.ts", "lezer-parsers/level17-parser.terms.ts", "lezer-parsers/level18-parser.terms.ts", "utils.ts", "lezer-parsers/tokens.ts", "lezer-parsers/level1-parser.ts", "lezer-parsers/level2-parser.ts", "lezer-parsers/level3-parser.ts", "lezer-parsers/level4-parser.ts", "lezer-parsers/level5-parser.ts", "lezer-parsers/level6-parser.ts", "lezer-parsers/level7-parser.ts", "lezer-parsers/level8-parser.ts", "lezer-parsers/level9-parser.ts", "lezer-parsers/level10-parser.ts", "lezer-parsers/level11-parser.ts", "lezer-parsers/level12-parser.ts", "lezer-parsers/level13-parser.ts", "lezer-parsers/level14-parser.ts", "lezer-parsers/level15-parser.ts", "lezer-parsers/level16-parser.ts", "lezer-parsers/level17-parser.ts", "lezer-parsers/level18-parser.ts", "lezer-parsers/language-packages.ts", "cm-monokai-theme.ts", "cm-editor.ts", "../../node_modules/sortablejs/modular/sortable.esm.js", "parsons.ts", "browser-helpers/on-element-becomes-visible.ts", "debugging.ts", "local.ts", "teachers.ts", "adventure.ts", "autosave.ts", "../../node_modules/@kurkle/color/dist/color.esm.js", "../../node_modules/chart.js/src/helpers/helpers.core.ts", "../../node_modules/chart.js/src/helpers/helpers.math.ts", "../../node_modules/chart.js/src/helpers/helpers.collection.ts", "../../node_modules/chart.js/src/helpers/helpers.extras.ts", "../../node_modules/chart.js/src/helpers/helpers.easing.ts", "../../node_modules/chart.js/src/helpers/helpers.color.ts", "../../node_modules/chart.js/src/core/core.animations.defaults.js", "../../node_modules/chart.js/src/core/core.layouts.defaults.js", "../../node_modules/chart.js/src/helpers/helpers.intl.ts", "../../node_modules/chart.js/src/core/core.ticks.js", "../../node_modules/chart.js/src/core/core.scale.defaults.js", "../../node_modules/chart.js/src/core/core.defaults.js", "../../node_modules/chart.js/src/helpers/helpers.canvas.ts", "../../node_modules/chart.js/src/helpers/helpers.options.ts", "../../node_modules/chart.js/src/helpers/helpers.config.ts", "../../node_modules/chart.js/src/helpers/helpers.curve.ts", "../../node_modules/chart.js/src/helpers/helpers.dom.ts", "../../node_modules/chart.js/src/helpers/helpers.interpolation.ts", "../../node_modules/chart.js/src/helpers/helpers.rtl.ts", "../../node_modules/chart.js/src/helpers/helpers.segment.js", "../../node_modules/chart.js/src/core/core.animator.js", "../../node_modules/chart.js/src/core/core.animation.js", "../../node_modules/chart.js/src/core/core.animations.js", "../../node_modules/chart.js/src/core/core.datasetController.js", "../../node_modules/chart.js/src/controllers/controller.bar.js", "../../node_modules/chart.js/src/controllers/controller.bubble.js", "../../node_modules/chart.js/src/controllers/controller.doughnut.js", "../../node_modules/chart.js/src/controllers/controller.line.js", "../../node_modules/chart.js/src/controllers/controller.polarArea.js", "../../node_modules/chart.js/src/controllers/controller.pie.js", "../../node_modules/chart.js/src/controllers/controller.radar.js", "../../node_modules/chart.js/src/controllers/controller.scatter.js", "../../node_modules/chart.js/src/core/core.adapters.ts", "../../node_modules/chart.js/src/core/core.interaction.js", "../../node_modules/chart.js/src/core/core.layouts.js", "../../node_modules/chart.js/src/platform/platform.base.js", "../../node_modules/chart.js/src/platform/platform.basic.js", "../../node_modules/chart.js/src/platform/platform.dom.js", "../../node_modules/chart.js/src/platform/index.js", "../../node_modules/chart.js/src/core/core.element.ts", "../../node_modules/chart.js/src/core/core.scale.autoskip.js", "../../node_modules/chart.js/src/core/core.scale.js", "../../node_modules/chart.js/src/core/core.typedRegistry.js", "../../node_modules/chart.js/src/core/core.registry.js", "../../node_modules/chart.js/src/core/core.plugins.js", "../../node_modules/chart.js/src/core/core.config.js", "../../node_modules/chart.js/src/core/core.controller.js", "../../node_modules/chart.js/src/elements/element.arc.ts", "../../node_modules/chart.js/src/elements/element.line.js", "../../node_modules/chart.js/src/elements/element.point.ts", "../../node_modules/chart.js/src/elements/element.bar.js", "../../node_modules/chart.js/src/plugins/plugin.colors.ts", "../../node_modules/chart.js/src/plugins/plugin.decimation.js", "../../node_modules/chart.js/src/plugins/plugin.filler/filler.segment.js", "../../node_modules/chart.js/src/plugins/plugin.filler/filler.helper.js", "../../node_modules/chart.js/src/plugins/plugin.filler/filler.options.js", "../../node_modules/chart.js/src/plugins/plugin.filler/filler.target.stack.js", "../../node_modules/chart.js/src/plugins/plugin.filler/simpleArc.js", "../../node_modules/chart.js/src/plugins/plugin.filler/filler.target.js", "../../node_modules/chart.js/src/plugins/plugin.filler/filler.drawing.js", "../../node_modules/chart.js/src/plugins/plugin.filler/index.js", "../../node_modules/chart.js/src/plugins/plugin.legend.js", "../../node_modules/chart.js/src/plugins/plugin.title.js", "../../node_modules/chart.js/src/plugins/plugin.subtitle.js", "../../node_modules/chart.js/src/plugins/plugin.tooltip.js", "../../node_modules/chart.js/src/scales/scale.category.js", "../../node_modules/chart.js/src/scales/scale.linearbase.js", "../../node_modules/chart.js/src/scales/scale.linear.js", "../../node_modules/chart.js/src/scales/scale.logarithmic.js", "../../node_modules/chart.js/src/scales/scale.radialLinear.js", "../../node_modules/chart.js/src/scales/scale.time.js", "../../node_modules/chart.js/src/scales/scale.timeseries.js", "../../node_modules/chart.js/src/index.ts", "comm.ts", "auth.ts", "local-save-warning.ts", "user-activity.ts", "index-tabs.ts", "htmx-integration.ts", "statistics.ts", "logs.ts", "admin.ts", "profile.ts", "initialize.ts", "../../node_modules/tw-elements/src/js/dom/data.js", "../../node_modules/tw-elements/src/js/util/index.js", "../../node_modules/tw-elements/src/js/dom/event-handler.js", "../../node_modules/tw-elements/src/js/base-component.js", "../../node_modules/tw-elements/src/js/components/button.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/enums.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/dom-utils/getNodeName.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/dom-utils/getWindow.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/dom-utils/instanceOf.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/modifiers/applyStyles.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/utils/getBasePlacement.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/utils/math.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/utils/userAgent.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/dom-utils/contains.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/dom-utils/isTableElement.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/dom-utils/getParentNode.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/utils/within.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/utils/getFreshSideObject.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/utils/mergePaddingObject.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/utils/expandToHashMap.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/modifiers/arrow.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/utils/getVariation.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/modifiers/computeStyles.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/modifiers/eventListeners.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/utils/getOppositePlacement.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/utils/rectToClientRect.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/utils/computeOffsets.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/utils/detectOverflow.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/modifiers/flip.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/modifiers/hide.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/modifiers/offset.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/modifiers/popperOffsets.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/utils/getAltAxis.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/modifiers/preventOverflow.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/utils/orderModifiers.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/utils/debounce.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/utils/format.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/utils/validateModifiers.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/utils/uniqueBy.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/utils/mergeByName.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/createPopper.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/popper-lite.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/popper.js", "../../node_modules/tw-elements/src/js/dom/manipulator.js", "../../node_modules/tw-elements/src/js/dom/selector-engine.js", "../../node_modules/tw-elements/src/js/components/dropdown.js", "../../node_modules/tw-elements/src/js/components/collapse.js", "../../node_modules/tw-elements/src/js/util/scrollbar.js", "../../node_modules/tw-elements/src/js/util/backdrop.js", "../../node_modules/tw-elements/src/js/util/focusTrap.js", "../../node_modules/tw-elements/src/js/util/component-functions.js", "../../node_modules/tw-elements/src/js/components/offcanvas.js", "../../node_modules/tw-elements/src/js/components/alert.js", "../../node_modules/tw-elements/src/js/components/carousel.js", "../../node_modules/tw-elements/src/js/components/modal.js", "../../node_modules/tw-elements/src/js/util/sanitizer.js", "../../node_modules/tw-elements/src/js/components/tooltip.js", "../../node_modules/tw-elements/src/js/components/popover.js", "../../node_modules/tw-elements/src/js/navigation/scrollspy.js", "../../node_modules/tw-elements/src/js/navigation/tab.js", "../../node_modules/tw-elements/src/js/components/toast.js", "../../node_modules/tw-elements/node_modules/detect-autofill/dist/detect-autofill.js", "../../node_modules/tw-elements/src/js/forms/input.js", "../../node_modules/tw-elements/src/js/content-styles/animate.js", "../../node_modules/tw-elements/src/js/methods/ripple.js", "../../node_modules/tw-elements/src/js/forms/datepicker/date-utils.js", "../../node_modules/tw-elements/src/js/forms/datepicker/templates.js", "../../node_modules/tw-elements/src/js/util/keycodes.js", "../../node_modules/tw-elements/src/js/forms/datepicker/index.js", "../../node_modules/tw-elements/src/js/forms/timepicker/templates.js", "../../node_modules/tw-elements/src/js/forms/timepicker/utils.js", "../../node_modules/tw-elements/src/js/forms/timepicker/index.js", "../../node_modules/tw-elements/src/js/util/touch/swipe.js", "../../node_modules/tw-elements/src/js/util/touch/index.js", "../../node_modules/tw-elements/src/js/navigation/sidenav.js", "../../node_modules/tw-elements/src/js/components/stepper.js", "../../node_modules/tw-elements/src/js/forms/select/select-option.js", "../../node_modules/tw-elements/src/js/forms/select/selection-model.js", "../../node_modules/tw-elements/src/js/forms/select/util.js", "../../node_modules/tw-elements/src/js/forms/select/templates.js", "../../node_modules/tw-elements/src/js/forms/select/index.js", "../../node_modules/tw-elements/src/js/components/chips/templates.js", "../../node_modules/tw-elements/src/js/components/chips/chip.js", "../../node_modules/tw-elements/src/js/components/chips/index.js", "../../node_modules/tw-elements/src/js/data/chart/chartDefaults.js", "../../node_modules/tw-elements/node_modules/deepmerge/dist/cjs.js", "../../node_modules/tw-elements/src/js/data/chart/charts.js", "../../node_modules/tw-elements/node_modules/perfect-scrollbar/dist/perfect-scrollbar.esm.js", "../../node_modules/tw-elements/src/js/methods/perfect-scrollbar.js", "../../node_modules/tw-elements/src/js/data/datatables/html/pagination.js", "../../node_modules/tw-elements/src/js/data/datatables/html/columns.js", "../../node_modules/tw-elements/src/js/data/datatables/html/rows.js", "../../node_modules/tw-elements/src/js/data/datatables/html/table.js", "../../node_modules/tw-elements/src/js/data/datatables/util.js", "../../node_modules/tw-elements/src/js/data/datatables/index.js", "../../node_modules/tw-elements/src/js/components/rating.js", "../../node_modules/tw-elements/src/js/components/popconfirm.js", "../../node_modules/tw-elements/src/js/components/lightbox.js", "../../node_modules/tw-elements/src/js/forms/validation/rules.js", "../../node_modules/tw-elements/src/js/forms/validation/validation.js", "../../node_modules/tw-elements/src/js/methods/touch/touchUtil.js", "../../node_modules/tw-elements/src/js/methods/touch/press.js", "../../node_modules/tw-elements/src/js/methods/touch/swipe.js", "../../node_modules/tw-elements/src/js/methods/touch/pan.js", "../../node_modules/tw-elements/src/js/methods/touch/pinch.js", "../../node_modules/tw-elements/src/js/methods/touch/tap.js", "../../node_modules/tw-elements/src/js/methods/touch/rotate.js", "../../node_modules/tw-elements/src/js/methods/touch/index.js", "../../node_modules/tw-elements/src/js/methods/smooth-scroll.js", "../../node_modules/tw-elements/src/js/methods/lazy-load.js", "../../node_modules/tw-elements/src/js/methods/clipboard.js", "../../node_modules/tw-elements/src/js/methods/infinite-scroll.js", "../../node_modules/tw-elements/src/js/methods/loading-management/templates.js", "../../node_modules/tw-elements/src/js/methods/loading-management/index.js", "../../node_modules/tw-elements/src/js/forms/dateTimepicker/utils.js", "../../node_modules/tw-elements/src/js/forms/dateTimepicker/templates.js", "../../node_modules/tw-elements/src/js/forms/dateTimepicker/index.js", "../../node_modules/tw-elements/src/js/methods/sticky.js", "../../node_modules/tw-elements/src/js/autoinit/jqueryInit.js", "../../node_modules/tw-elements/src/js/autoinit/autoinitCallbacks.js", "../../node_modules/tw-elements/src/js/autoinit/chartsInit.js", "../../node_modules/tw-elements/src/js/autoinit/Register.js", "../../node_modules/tw-elements/src/js/autoinit/index.js", "tailwind.ts", "public-adventures.ts", "microbit.ts", "custom-elements.ts"],
- "sourcesContent": ["/*!\n\nJSZip v3.10.1 - A JavaScript class for generating and reading zip files\n