Generate a UML {DIAGRAM_TYPE} diagram using PLANTUML syntax that improves the readability of the following {SOURCE_LANGUAGE} code for a programmer.
In your output, make sure to reformat any {SOURCE_LANGUAGE} code that would break PLANTUML syntax rules.
Do not output any {SOURCE_LANGUAGE} code in the diagram.
Make sure to capture all relevant syntax, functions and branching in the source code.
Make sure to document all functions in the code
Here is the source code:
```
{SOURCE_CODE}
```
