Skip to content

Instantly share code, notes, and snippets.

@tommyettinger
Last active September 7, 2020 08:21
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tommyettinger/a3bd413b903f2e103541 to your computer and use it in GitHub Desktop.
Save tommyettinger/a3bd413b903f2e103541 to your computer and use it in GitHub Desktop.
SquidLib DungeonGenerator sample given TilesetType.DEFAULT_DUNGEON
┌─────────────┬─────┬───────────────┐ ┌─────┬───────────┐ ┌─────┐ ┌───────┐ ┌─────────┐ ┌─────┬───────────┐ ┌─────────┐
│ . . . . . . │ . . │ . . . . . . . └───┘ . . │ . . . . . │ │ . . │ ┌─┘ . . . ├───────────────┘ . . . . └───┘ . . │ . . . . . │ │ . . . . │
│ . . . . . . │ . . │ . . ────. . . . . . . . │ . . . . . ├───────┘ . . └─┐ │ . . . . │ . . . . . . . . . . . . . . . . . │ . . . . . │ ┌─┘ . . . ┌─┘
│ . . │ . ┌───┘ . . │ . . . . . . . . . . . . │ . . . . . │ . . . . . . . │ │ . . . ┌─┤ . . . . . . . . . . . . . . . . . │ . . . . . └─┘ . . . . └───┐
│ . . │ . │ . . . . . . . ──┬───────┬───┐ . . └─+ ──┐ . . . . . . . . . . │ │ . . ┌─┘ │ . . │ . . ┌───+ ┬─┐ . . ┌───┐ . . │ . . │ . . . . . . . . . . └─┐
│ . . │ . │ . . . . . . . . │ . . . │ │ . . . . . │ . . . . . . ┌─┐ . . └─────┘ . . └───┘ . . │ . . │ . . │ │ . . │ │ . . . . . │ . . . . . . . . . . . └─┐
│ . . . . │ . . . . │ . . . │ . . . │ │ . . . . . │ . . . . . . │ │ . . . . . . . . . . . . . └─────┴─+ ──┴─┘ . . │ │ . . . . . │ . . . . . . ┌─┐ . . . . │
│ . . . . └───. . . │ . . . │ . . . │ │ . . . . . └───┬─┐ . . . │ │ . . . . . . . . . . . . . . . . . . . . . . . │ │ . . . . . └───┬─────────┘ └───┐ . . │
└─┐ . . . . . . . . │ . . . . . . . │ │ . . . . . . . │ └───────┘ └─────────────┐ . . . . . . . . . . . . . . . . │ │ . . . . . . . │ └─────┘
│ . . . . . . . ┌─┴─┐ . . . . . . │ └───┐ . . . . . │ ┌─────────────┐ │ . . . . . ┌───────┐ . . ┌───────┘ └───┐ . . . . . │ ┌─────────┐
│ . . . . . ──┬─┘ ┌─┘ . . . . . . └───────┤ . . . . . └─┐ │ . . . . . . │ │ . . . . . │ ┌─┘ . . └───┬───────────┼─────────+ ┴─┐ ┌─────┘ . . . . │
│ . . . . . . │ │ . . . . . . . . . . . ├─┐ . . . . . └─┘ . . . . . . └───┐ │ . . . . . │ │ . . . . . │ . . . . . + . . . . . . └───┤ . . . . . . . │
└─────┐ . . . │ │ . . . . . . . . . . . │ └─┐ . . . . . . . . ┌─┐ . . . . │ │ . . . . . │ │ . . . . . │ . . . . . │ . . . . . . . . + . . . . . . . │
│ . │ . │ │ . . . . ┌───────┐ . . │ │ . . . . . . . . │ │ . . . . │ └─┐ . . . ┌─┘ │ . . . . . │ . . . . . │ . . . . . . . . │ . . . . . . . │
┌───────┘ . │ . │ │ . . . . │ ┌───┘ . . │ │ . . . . . ┌─────┘ ├─────. . └─┬───┴─────+ ┤ │ . . . . . . . . . . . │ . . . . . . . ┌─┤ . . . . │ . . │
│ . . . . . . . └───┘ . . . . │ │ . . . . │ │ . . . . . │ ┌─┘ . . . . . + . . . . . ├───────┘ . . . . . . . . . . . │ . . . . . . . │ └───┬─────┘ . . │
│ . . . . . . . . . . . . . . │ │ . . . . │ ┌─┘ . │ . . . │ ┌─┘ . . . . . . │ . . . . . │ . . . . . . ┌─────────────────┘ . . . . . . . │ │ . . . . . │
├───────┬─┐ . . . . . . . . . └─┐ │ . . . . ├─┘ . . │ . . ┌─┘ │ . . . . . . ┌─┤ . . . . . │ . . . . . . │ . . . . . . . . . . . . . . . ┌─┘ ┌─┘ . │ . . . │
│ . . . └─┴───┬─────┐ . . . . . └─┼───────┬─┘ . . . . . . │ │ . . . . . . │ │ . . ──────┘ . . ┌───────┤ . . . . . . . . . . . . . . . │ │ . . └───. . │
│ . . . . . . │ └─┐ . . . . . │ │ . . . . . . ┌─┘ │ . . . . . ┌─┘ │ . . . . . . . . │ ┌───┴─+ ────┬───────┬───+ ────────┬─┘ │ . . . . . ┌─┘
│ . . . . . . └───┐ ┌─┴─────. . ┌─┴───┐ ┌─┘ . . │ . . ──┴─┬─────┴───. . . . └─┐ │ . . . . . . . . │ │ . . . . . └─┐ ┌─┘ . . . . . . │ ├───────. . └─┐
├───+ ┐ . . . . . │ │ . . . . . │ . . └─┤ . . . │ . . . . │ . . . . . . . . . └─┴───────────────┬─┘ │ . . │ . . . │ │ . . │ . . . . └─┐ ┌─┘ . . . . . . │
│ . . ├─┐ . . . . └─┘ . . . . . │ . . . │ . . . . . . . . │ . ────. . . . . . . . . . . . . . . │ ┌───┤ . . │ . . . │ ┌─┘ . ──┘ . . . . . │ ┌─┘ . . . . . . . │
│ . . │ └─┐ . . . . . . . . ┌───┘ . . . │ . . . . . . . . . . . . . . . . . . . . . . . . . . . │ │ . │ . . . . . . │ │ . . . . . . . . . │ │ . . . . . . . . │
│ . . │ └─┐ . . . . . . . │ . . . . . . . . . . . . . . . . . . . . . . . . . ┌─────────┐ . . └─┘ . │ . . ┌─┐ . . │ │ . . . . . . . . . │ │ . . . ┌───. . . │
│ . . └─┐ ┌─┘ . . . . . . . │ . . . . . . . . . . . . . . . . . . . . . . ────┬─┤ . . . . │ . . . . . . . . │ ├───+ ┴─┤ . . . . . . . . . │ │ . . . │ . . . . │
│ . . . └─┘ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . │ │ . . . . │ . . . . . . . . │ │ . . . + . . . . . . . . . │ │ . . . . . . . . │
│ . . . . . . . . . . . . . . . . . < . . . . . . . │ . . . . │ . . . . . . . │ │ . . . . . . . ┌─┐ . . . . │ │ . . . │ . . . . . . . . ┌─┘ │ . . │ . . . . . │
└─┐ . . . . . . . ┌─┐ . . . │ . . . . ┌─┐ . . . . . │ . . . . │ . . . . . . . │ │ . . . . . . . │ └─────────┘ ├───────┼─┐ . . . . . . ┌─┘ └─┐ . │ . . . . . │
└─┬─────┐ . . ┌─┘ └───────┴─────────┘ └───┐ . . . ├─────────┤ . . . . . ┌───┘ └─────────┐ . . │ ┌───────┤ . . . │ └─────┐ . . ┌─┘ │ . │ . . . . ┌─┘
│ . . │ . . │ ┌───┴───. . ├─────┐ │ . . ────┬─┘ │ . . └─┐ │ . . . │ . . . │ ┌─────┘ . . ├─────┐ │ . │ . . . . │
│ . . + . . └─────────────────────┐ │ . . . . . │ . . └─┬─┘ . . . . └─┐ ┌─────┐ │ . . . └───┘ . . . │ . . . │ │ . . . . . │ . . └─┐ │ . . . . . . │
┌─┴─────┘ . . . . . . . . . . . . . └─┘ . . . . . │ . . . │ . . . . . . ├───┘ . . └───┬─┘ . . . . . . . . . │ . . . └─┘ . │ . . . │ . . . │ │ . . . . . . │
│ . . . . . . . . . . . . . ┌─┐ . . . . . . . ┌───┘ . . . ├─┐ . . . . . │ . . . . . . │ . . . . . . . . . . │ . . . . . . │ . ┌───┘ . . . │ │ . . . . . . │
│ . . . . . . . . . . . . . └─┴─────. . . . . │ . . . . . │ ├───. . . . . . ────. . . . . . . . ┌───┐ . . . │ . . . . . . . . │ . . . . . │ │ . . ┌───────┘
│ . . . . ┌─┐ . . . ──┐ . . . . . . . . . . . │ . . . . . └─┘ . . . . . . . . . . . . . . . . . │ │ . . ──┘ . . . . . . . . │ . │ . . . └─┘ . . └─────────┐
├───+ ────┤ │ . . . . │ . . . . . . . . . . . . . . . . . . . . ────. . . . . . . . . . . . . . │ │ . . . . . . . . . ────. . . │ . . . . . . . . . . . . │
│ . . . . └─┼─────┐ . . . . . . . . . . . . . . . . . . . . . . . . . │ . . . . │ . . │ . . . ┌─┘ │ . . . . . . . . . . . . . . . . . . . . . . . . . . . │
│ . . . . . └─┐ │ . . . . . . . . ┌─┐ . . . │ . . . . ┌─┐ . . │ . . ├─┐ . . ┌─┤ . . ├─┐ . ┌─┘ │ . . . . . . ┌───┐ . . . │ . . . . ┌───────┐ . . ┌─────┘
│ . . ────. . │ ┌─┴─────. . . │ . ┌─┘ └───────┴─────────┘ └─────┤ . . │ └─────┘ │ . . │ └───┘ └─┐ . . . . . │ └───────┴─────────┘ ┌───┴───+ ┴─┐
│ . . . . . . │ │ . . . . . ──┘ . │ │ . . │ │ . . ├───────────────┴───┬─┐ . . │ ┌─┘ . . . . . │
│ . . . . . . ├─┴─────. . . . . . └─────────────────────┐ │ . . │ ┌───────┘ . . │ . . . . . . . . . ├─┘ . . └─────────────────────┐ │ . . . . . . │
│ . . ────────┤ . . . . . . │ . . . . . . . . . . . . . └─┐ │ . . └─┘ . . . . . . │ . . . . . . . . ┌─┘ . . . . . . . . . . . . . . └─┘ . . . . . ┌─┘
│ . . . . . . │ . . . . . . │ . . . . . . . . . . . . . . │ │ . . . . . . ┌─┐ . . │ . . . . . . . ┌─┤ . . . . . . . . . . . . . . . . . . . . . . │
│ . . . . . . ├───+ ┬───────┘ . . . . . . . ────. . . . . └─────┤ . . ┌───. . ├─┘ . . │ . . . . . . ┌─┼─┘ . . . ┌───┐ . . . . . . . . . . . . . . . ┌─┘
┌─┘ . . ────────┤ . . │ . . . . . . . . . . . . . . . . . . . . . + . . │ . ────┘ . . . └─────. . ────┴─┘ . . . ┌─┘ │ . . . . . . . . . . . . . . . └───────┐
│ . . . . . . . │ . . │ . . . . . . . . . . . . . . . . . . . . . │ . . . . . . . . . . . . . . . . . . . . . ┌─┘ │ . . . . . . . . . . . . │ . . . . . . │
│ . . . . . . . │ . . │ . . ┌─┐ . . . ┌─┐ . . . . . . . . . ┌─────┴─────────┐ . . . . . . . . . . . . . . . ┌─┘ └─┐ . . . . . . . . . . . │ . . . . . . │
└─┬───────. . ┌─┴─────┤ . . │ │ . . . │ │ . . . . . . . . ┌─┘ ┌───────┐ └─────────┐ . . ┌─────────┐ . . │ │ . . . . ────. . ┌─┬───┘ . . . . . ┌─┘
│ . . . . . │ │ . . │ └───────┘ └───┐ . . . . . ┌─┘ ┌─┘ . . . └─┐ ┌─┘ . . │ ├─+ ──┴───────┐ └───┐ . . . . . ┌─┘ │ . . . . . . . │
┌─┴───┐ . . ──┴───┐ ┌─┘ . . └───┬───────────┴───────. . └─┐ ┌─┘ . . . . . │ ┌─┘ . . . ├─────┐ │ . . . . . . └───────┴─────────+ ┤ │ . . . . ┌─────┘
│ . . │ . . . . . │ │ . . . . . │ . . . . . . . . . . . . └───┘ . . . . . . │ ┌─┘ . . . . │ . . └───┤ . . . . . . . . . . . . . . . . ├───┴───────┬─┘
│ . . │ . . . . . │ │ . . . . . │ . . . . . . . │ . . . . . . . . . . │ . . │ │ . . . . ┌─┘ . . . . ├───┐ . . . . . . . . . . . . . . │ . . . . . └───┐
│ . . │ . . . . . │ │ . . . . . │ . . . . . │ . └───. . . . . . . . ┌─┤ . . │ │ . . . ┌─┘ . . . . . └───┴───────────────────────┐ . . . . . . . . . . └───┐
│ . . . . . . . . │ │ . . . . . . . . . . . │ . . . . . . . ┌─+ ────┴─┤ . . └───┘ . . ┌─┤ . . . . . . . . . . . . . . . . . . . . │ . . . . │ . . . . . . . └─┐
│ . . . . . . . . └─┘ . . . . . . . . . . . │ . . . . ┌───. │ . . . . │ . . . . . . . │ │ . . . . . . . . . . . . . . . . . . . . │ . . . . ├───+ ──┐ . . . . │
│ . . ┌─────┐ . . . . . . ┌─────┬───────────┘ . . . . │ . . │ . ────. │ . . . . . . . │ │ . . . . . . │ . . . . . . . . . . . . . . . . . . │ . . . └───┐ . . │
│ . . ├─────┘ . . . . . . │ . . + . . . . . . . . . . . . ┌─┤ . . . . │ . . ┌───┐ . . └─┴─────. . . . │ . . . . │ . . . . │ . . . . . . ┌───┤ . . . . . └───┬─┘
│ . . │ . . . . . ┌───────┤ . . │ . . . . . . . . . . . . │ │ . . . . │ . . │ │ . . . . . . . . ┌───┤ . . . . │ . . . . │ . . . . . ──┤ └─┐ . . . . . . │
│ . . │ . . . . . │ │ . . ├─────────┐ . . ┌─────────┘ └───┬─────┘ . . │ │ . . . . . . . . │ └───┐ . . ├─────────┤ . . . . . . │ └─┐ . . │ . . │
│ . . │ . . . . . │ │ . . │ ┌─┘ . . └─────────┐ │ . . . . . └─┐ └─────────────────┘ ┌─────┘ . . └─────┐ ├───. . ┌─────┘ │ . . │ . . │
│ . . │ . . . . . │ │ . . │ │ . . . . . . . . └─┐ │ . . . . . . └─┬───────────┬─────┐ │ . . . . . . . . │ ┌─┘ . . . ├─────────────┴───. . . . └─┐
│ . . ├─────┐ . . ├───────┘ . . └─┐ ┌─┘ . . . ────. . . . │ │ . . . . . . . + . . . . . + . . │ │ . . . . . . . . │ │ . . . . │ . . . . . . . . . . . . . │
│ . . │ ┌───┘ . . │ . . . . . . . │ │ . . . . . . . . . . │ ┌─┘ . . . . . . . │ . . . . . │ . . │ │ . . ┌─────┐ . . │ │ . . . ┌─┤ . . . . . . . . . . . . . │
└─────┘ │ . . . . │ . . . . . . . │ │ . . . . ┌───┐ . . . │ │ . . . . . . . ┌─┤ . . │ . . │ . . └─┘ . . │ . . │ . . │ │ . . ┌─┘ │ . . │ . . │ . . ┌─┐ . . ┌─┘
│ . . │ . . . . . ┌─┐ . . └───┘ . . . ──┤ │ . . . │ │ . . . . . . . │ │ . . │ . . │ . . . . . . ├───+ ┘ . . └─┘ . . └───┘ . . │ . . │ . . │ │ . . │
│ . . │ . . . . . │ │ . . . . . . . . . └───┘ . . . │ │ . . . │ . . . │ │ . . └─────┘ . . . . . . │ . . . . . . . . . . . . . . └─────┤ . . └─┘ . . │
│ . . . . │ . . . │ │ . . . . . . . . . . . . . . . │ │ . . . │ . . . │ │ . . . . . . . . ┌─┐ . . │ . . . . . . . . . . . . . . . . . │ . . . . . . │
│ . . . . ├───────┘ └───────────┐ . . │ . . . . . ┌─┘ │ . . . . . . . │ │ . . . . . . . . │ │ . . ├─+ ──┐ . . ┌───┐ . . . . . . . . . + . . . . . . │
└─┐ . . ┌─┘ ┌─────────────┐ └─┐ . └───. . ┌───┘ ├───+ ────────┬─┘ └───┐ . . . . . ┌─┘ │ . . │ . . │ . . │ │ . . . . . ┌───────┤ . . ────────┤
┌───────┬─┘ . . │ │ . . . . . . │ │ . . . . . │ │ . . . . . . │ │ . . . . . └─┐ │ . . │ . . │ . . │ ┌─┴─────. . ──┴───┐ │ . . . . . . │
│ . . . │ . . . └───┤ . . . . . . └───┐ │ . . . . . │ │ . . . . . . └───────┘ . . . . . . └─┘ . . │ . . │ . . │ │ . . . . . . . . └───┴─┐ . . . . . └─┐
│ . . . │ . . . . . + . . ┌─┐ . . . . │ │ . . ┌─────┘ │ . . . . . . . . . . . . . . . . . . . . . . . . │ . . │ │ . . . . . . . . . . . └─┐ . . . . . │
└─┐ . . │ . . . . . │ . . │ │ . . . . │ │ . . └─────────┐ │ . . . . . . > . . . . . . . . . . . . . . . . . │ . . │ │ . . ┌─────┐ . . . . . . └─┐ . . . . │
│ . . │ . . . . ┌─┴─────┘ ├─────. . ├───┘ . . . . . . . │ ├─────────────────────. . ──────┬─────┐ . . │ . . │ . . └─┘ . . │ │ . . . . . . . └─┬─┐ . . │
│ . . └─────. . │ ┌─┘ . . . . + . . . . . . . . . └───┘ . . . . . . . . . . . . . . . │ │ . . │ . . │ . . . . . . │ │ . . . . . . . . └─┼─────┘
│ . . . . . . . │ ┌─┘ . . . . . │ . . . . . . . . . . . . . . ────. . . . . . . . . . . │ │ . . └─────┤ . . . . . . │ │ . . ────. . . . . ├─────┐
│ . . . . . . . │ │ . . . . . . ├───┐ . . . . . . . . . . . . . . . . │ . . . . . . . . │ │ . . . . . │ . . ┌───────┘ │ . . . . . . . . . │ . . │
│ . . . . . . . │ │ . . . . . . │ │ . . . . . . . ┌───┐ . . . . . . │ . . . . . . . . │ │ . . . . . + . . │ └─────────┐ . . . . + . . │
└───────────────┘ └─────────────┘ └───────────────┘ └─────────────┴─────────────────┘ └───────────┴─────┘ └─────────┴─────┘
┌─────────────┬─────┬───────────────┐ ┌─────┬───────────┐ ┌─────┐ ┌───────┐ ┌─────────┐ ┌─────┬───────────┐ ┌─────────┐
│ " " " " " " │ . . │ . . . . . . . └───┘ . . │ ~ ~ ~ ~ ~ │ │ ~ ~ │ ┌─┘ ~ ~ ~ ├───────────────┘ . . . . └───┘ . . │ . . . . . │ │ . . . . │
│ " " " " . . │ . . │ . . ────. . . . . . . . │ ~ ##~ ~ ~ ├───────┘ ~ ~ └─┐ │ ~ ~ ~ ~ │ . , . . . . . . . . ##. . . . . . │ . . ##. . │ ┌─┘ . . . ┌─┘
│ " " │ " ┌───┘ . . │ . . . . . . . . . . . . │ ~ ~ ~ ~ ~ │ ~ ~ ~ ~ ~ ~ ~ │ │ ~ ~ ~ ┌─┤ . , , . . . . . . . . , . . . . . │ . . . . . └─┘ . . . . └───┐
│ " " │ . │ . . . . . . . ──┬───────┬───┐ . . └─/ ──┐ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ │ │ ~ ~ ┌─┘ │ , ~ │ . . ┌───/ ┬─┐ . , ┌───┐ . . │ . . │ . . . . ^ . . . . . └─┐
│ " " │ " │ . . ##" . . . . │ . . . │ │ . . . . . │ ~ ##~ ##~ ~ ┌─┐ ~ ~ └─────┘ ~ ~ └───┘ ~ ~ │ . . │ . . │ │ , ~ │ │ . . . . . │ . . . . . . . . . . . └─┐
│ " " " " │ . " " " │ . . . │ . . . │ │ . . . . . │ ~ ~ ~ ~ ~ ~ │ │ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ └─────┴─/ ──┴─┘ ~ ~ │ │ . . . ##. │ . . . . . . ┌─┐ . . . . │
│ " " " " └───" " . │ . ##. │ . . . │ │ . . ##. . └───┬─┐ ~ ~ ~ │ │ ~ ~ ~ ~ ~ ~ ~ ~ ~ ##~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ │ │ . . . ^ . └───┬─────────┘ └───┐ . . │
└─┐ " ##" " " " " . │ . . . . . . . │ │ . . . . . . . │ └───────┘ └─────────────┐ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ │ │ . . . . ^ . . │ └─────┘
│ " " " " " " " ┌─┴─┐ . . ##. . . │ └───┐ . . . . . │ ┌─────────────┐ │ ~ ~ ~ ~ ~ ┌───────┐ ~ ~ ┌───────┘ └───┐ . . . . . │ ┌─────────┐
│ " " " " " ──┬─┘ ┌─┘ . . . . . . └───────┤ . . . . . └─┐ │ . . . . . . │ │ ~ ~ ~ ~ ~ │ ┌─┘ ~ ~ └───┬───────────┼─────────/ ┴─┐ ┌─────┘ . . . . │
│ " " " " " " │ │ . . . . . . . . . . . ├─┐ . . ##. ^ └─┘ . . . . . ^ └───┐ │ ~ ~ ~ ~ ~ │ │ ~ , , , . │ . . . . . + . . . . . . └───┤ . . . . ##. . │
└─────┐ " " " │ │ . . " " . . . . . . . │ └─┐ . . . . . . . . ┌─┐ . . . . │ │ ~ ~ ~ ~ ~ │ │ , . . . . │ . ##. . . │ . . . . ##^ ^ . + . . . . . . . │
│ " │ " │ │ . . . " ┌───────┐ . . │ │ . . . . . . . . │ │ . . . . │ └─┐ ~ ~ ~ ┌─┘ │ ~ ##, , . │ . . . . . │ . . . ##. ##. . │ . . . . . . . │
┌───────┘ " │ . │ │ . " " " │ ┌───┘ . . │ │ . ##. . . ┌─────┘ ├─────. . └─┬───┴─────/ ┤ │ ~ ~ , , . . . ^ . ##. │ . . . . . . . ┌─┤ . . . . │ . . │
│ . . . " " . . └───┘ ^ ##" " │ │ . . . . │ │ . . . . . │ ┌─┘ . . . . . + . . . . . ├───────┘ ~ , . , . . . . . . . │ . . . . . . . │ └───┬─────┘ . . │
│ . . ^ . " . . . . . . . " " │ │ . . . . │ ┌─┘ . │ . . . │ ┌─┘ . . . ^ . . │ . . ##. . │ . . . , ~ ~ ┌─────────────────┘ . . . . . . . │ │ . . . . . │
├───────┬─┐ . . . . . . ##" " └─┐ │ . . . . ├─┘ . . │ . . ┌─┘ │ . . . ##. . ┌─┤ . . . . . │ . . . . , ~ │ . . . . . . . . . . . . . . . ┌─┘ ┌─┘ . │ . ##. │
│ . . . └─┴───┬─────┐ . . ##" . └─┼───────┬─┘ , . . . . . │ │ . . . . . . │ │ ^ . ──────┘ . . ┌───────┤ . . . . . . . . . . . . . . . │ │ . . └───. . │
│ . . . . . . │ └─┐ . " " " . │ │ ~ ~ , . . . ┌─┘ │ . . . . . ┌─┘ │ . . . . . . . . │ ┌───┴─/ ────┬───────┬───/ ────────┬─┘ │ . . . . . ┌─┘
│ . . ^ . . . └───┐ ┌─┴─────" . ┌─┴───┐ ┌─┘ , ~ │ . " ──┴─┬─────┴───. . . . └─┐ │ . . . . . . . . │ │ . . . . . └─┐ ┌─┘ . . . . . . │ ├───────. . └─┐
├───/ ┐ . . . . . │ │ . . . . . │ . . └─┤ . . , │ " " " " │ . . . . . ##. . . └─┴───────────────┬─┘ │ . ^ │ . . . │ │ . . │ . . . . └─┐ ┌─┘ . . . . . . │
│ . . ├─┐ . . . . └─┘ . . . ^ . │ . . . │ . . ##. ##" ##. │ . ────" " " . " . . . . . . . . . . │ ┌───┤ . . │ . . . │ ┌─┘ . ──┘ ^ ##. . . │ ┌─┘ . . ##. . . . │
│ . . │ └─┐ . . . . . . . . ┌───┘ . . . │ . " " " " " " " " . " " " " " " " . . . . . . . . . . │ │ . │ . . . . . . │ │ . . . . . . . ##. │ │ . . . . . . . . │
│ . . │ └─┐ . . . . . ##. │ . . . . . . " " " " ##" ##" " " " " " . . " . . . ┌─────────┐ . . └─┘ . │ . . ┌─┐ . . │ │ . . . . . . . . . │ │ . . . ┌───. . . │
│ . . └─┐ ┌─┘ . ^ . . . . . │ . . . . . . . . . ##. " " " " " " ^ " " ^ " ────┬─┤ . . . . │ ^ . . . . . . . │ ├───/ ┴─┤ . ^ . ##. . . . . │ │ . . . │ . . ##. │
│ . . . └─┘ . . . . . . . . . . . . . . . . ##. . " " " " ##" " " " ##" . . . │ │ . ##. . │ . . ^ . . . . . │ │ . . . + . . . . . ##. . . │ │ . . . . . . . . │
│ . . . . . . . . . . . . . . . ##. < . . . . . . . │ " " " . │ " ##. . . ##. │ │ . . . . . . . ┌─┐ . . . . │ │ . . . │ . . . . . . . . ┌─┘ │ . . │ . ##. ##. │
└─┐ . . . . . . . ┌─┐ . . . │ . . . . ┌─┐ . . . . . │ " " " " │ . . ##. . . . │ │ . . . . . . . │ └─────────┘ ├───────┼─┐ . . . . . . ┌─┘ └─┐ . │ . . . . . │
└─┬─────┐ . . ┌─┘ └───────┴─────────┘ └───┐ . . . ├─────────┤ . . . . . ┌───┘ └─────────┐ . . │ ┌───────┤ ~ ~ ~ │ └─────┐ , . ┌─┘ │ . │ . . . . ┌─┘
│ . . │ . . │ ┌───┴───. . ├─────┐ │ , . ────┬─┘ │ . . └─┐ │ . . . │ , ~ ~ │ ┌─────┘ , . ├─────┐ │ . │ . . . . │
│ . . + . . └─────────────────────┐ │ . . . . . │ . . └─┬─┘ , . , ~ └─┐ ┌─────┐ │ . . . └───┘ . . . │ . , ~ │ │ ~ ~ , ~ , │ . . └─┐ │ . . . . . . │
┌─┴─────┘ . , , . . . . . . . . . . └─┘ . . . . . │ . . . │ . , , ~ ~ ~ ├───┘ . . └───┬─┘ . ##. . . . . ##. │ , ~ ~ └─┘ ~ │ . , ~ │ . . . │ │ . . . . . . │
│ . . . . , , . . . . . . . ┌─┐ . . , . . ##. ┌───┘ . . . ├─┐ ~ ~ ~ ~ ~ │ . . . . . . │ . . ^ . . . . . . . │ ~ ~ ~ ~ ~ ~ │ . ┌───┘ . . . │ │ . . . . . . │
│ . . . . . , , . ##. . ##. └─┴─────, . ##. . │ . . . . . │ ├───~ ~ ~ ~ ~ , ────. . . . . . . . ┌───┐ . . . │ ~ ~ ~ ##~ ##. . │ . . . . . │ │ . . ┌───────┘
│ . . . . ┌─┐ . . . ──┐ ~ ##~ , . , ~ ##. . . │ . ##. . . └─┘ , ~ ~ ~ , ##. . . . . . . . . . . │ │ ^ . ──┘ ~ ~ ~ , ##. . . │ . │ . . . └─┘ . . └─────────┐
├───/ ────┤ │ . . . . │ ~ ~ ~ ##, ~ ~ ~ , . . . . . . . . . . . ────, . . ##. . . . . . . . . . │ │ . , , ~ ~ ~ , . . ────. . . │ . . . . . ^ . . . . . . │
│ . . . . └─┼─────┐ . . , ##~ ~ ~ , ~ , . . . . . . ##. . . . . . , ~ │ . . . . │ . . │ . . . ┌─┘ │ . . . , ~ , , . . . . . . . . ##. . . . . . . . . . . │
│ . ##. . . └─┐ │ . . , ~ ~ ~ , . ┌─┐ . . . │ . . . . ┌─┐ . . │ . , ├─┐ . . ┌─┤ . . ├─┐ . ┌─┘ │ . . . , , . ┌───┐ . . . │ . . . . ┌───────┐ . . ┌─────┘
│ . . ────. . │ ┌─┴─────~ ~ ~ │ , ┌─┘ └───────┴─────────┘ └─────┤ . . │ └─────┘ │ . . │ └───┘ └─┐ . . , , . │ └───────┴─────────┘ ┌───┴───/ ┴─┐
│ . . . . ^ . │ │ ~ ~ ~ ~ ~ ──┘ . │ │ . . │ │ . . ├───────────────┴───┬─┐ . . │ ┌─┘ . . . ^ . │
│ . . . . ^ . ├─┴─────~ , ~ ~ ~ , └─────────────────────┐ │ ^ . │ ┌───────┘ . . │ . . . . . . . . . ├─┘ . . └─────────────────────┐ │ . . . . . . │
│ . . ────────┤ . . , , . , │ ~ , , " " " " . . . . . . └─┐ │ . . └─┘ . . . . . . │ . . . . . . ^ . ┌─┘ . . . . . . . . . . . . . . └─┘ . . . . . ┌─┘
│ . . . . . . │ . . . . . , │ , . , " " " ##. . . . . . " │ │ . . . . . . ┌─┐ . . │ . . . . . . . ┌─┤ . . . . . . . . . . . . . . . . . . . . ^ . │
│ . . . . . . ├───/ ┬───────┘ ~ , , " " " " ────. . ##" " └─────┤ . . ┌───. . ├─┘ . . │ . . . . . . ┌─┼─┘ . . . ┌───┐ . . ##. . . . . . . . ##. . . ┌─┘
┌─┘ . . ────────┤ . . │ . . . . , , " " " " " " " ##" . " " " " . + . . │ . ────┘ . . . └─────. . ────┴─┘ . . . ┌─┘ │ . . . . . . . . . . . . . . . └───────┐
│ . . . . . . . │ . . │ . . . . . , " " " " " " " " " " " " " . . │ . . . . . . . . . . . . . . ^ . . . . . . ┌─┘ │ . . . . ##. . ^ . . . . │ . . . . . . │
│ . . . . . . . │ . . │ . . ┌─┐ . . " ┌─┐ " " ##" " " . " " ┌─────┴─────────┐ . . . . . . . . . . . . . . . ┌─┘ └─┐ . . . . . . ##. . . . │ . . . . . . │
└─┬───────. . ┌─┴─────┤ . . │ │ . . . │ │ " " " ##" " " " ┌─┘ ┌───────┐ └─────────┐ . . ┌─────────┐ . . │ │ . . . . ────. . ┌─┬───┘ . . . ##. ┌─┘
│ . . . . . │ │ . . │ └───────┘ └───┐ " " " " " ┌─┘ ┌─┘ . . . └─┐ ┌─┘ . . │ ├─/ ──┴───────┐ └───┐ . . . . . ┌─┘ │ . . . . . . . │
┌─┴───┐ . . ──┴───┐ ┌─┘ ^ . └───┬───────────┴───────" " └─┐ ┌─┘ . . . . . │ ┌─┘ . . . ├─────┐ │ . . . . . . └───────┴─────────/ ┤ │ . . . . ┌─────┘
│ . . │ . . . . . │ │ . . . . . │ . . . . . . . . . " . . └───┘ . . . . . . │ ┌─┘ . . . . │ . . └───┤ . . . . . . . . . . . . . " . . ├───┴───────┬─┘
│ . . │ . . . ##. │ │ . . ##^ . │ . . ##. . . . │ . . . . . . . . . . │ . . │ │ . . . . ┌─┘ . . . . ├───┐ . . . . . . . . . . . " " " │ " " " " " └───┐
│ . . │ . ##. . . │ │ . . . ##. │ . . ^ . . │ . └───. . ##. . . . . ┌─┤ . . │ │ . . . ┌─┘ . . . . . └───┴───────────────────────┐ " " " " " " " " " . └───┐
│ . . . . . ##. . │ │ . . ##. . . . ##. . . │ . . . . . . . ┌─/ ────┴─┤ . . └───┘ . . ┌─┤ . . . . . . . . . . . . . . . . . . . . │ " ##" " │ " " " " . . . └─┐
│ . . . . . . . . └─┘ . . . . . . . . . . . │ . . . . ┌───. │ . . . . │ . . . . . ^ . │ │ . ##. . . . . . . . . . . . . . . ##. . │ " . ##" ├───/ ──┐ . . . . │
│ . . ┌─────┐ . . . . . . ┌─────┬───────────┘ ^ . . . │ . . │ . ────. │ . " . . . . . │ │ . . . . . . │ . . ^ . . . . ##. . . . . . . . . " │ ~ ~ ~ └───┐ . . │
│ . . ├─────┘ . . . . . . │ . . + " " " " " " " ##. ##. . ┌─┤ . . . . │ . " ┌───┐ . . └─┴─────. . . . │ . . . . │ . ^ . . │ . . . . . . ┌───┤ ~ ~ ~ ~ ~ └───┬─┘
│ . . │ . . . . . ┌───────┤ . . │ . " . " " " " " " . . . │ │ . . . . │ " " │ │ . . . . . . . . ┌───┤ . . . . │ . . . . │ . . . . . ──┤ └─┐ ~ ~ ~ ~ ~ ~ │
│ . . │ . . . . . │ │ . . ├─────────┐ " " ┌─────────┘ └───┬─────┘ " " │ │ . . . . . . . . │ └───┐ . . ├─────────┤ . . . . . . │ └─┐ ~ ~ │ ~ ~ │
│ . . │ . . . . . │ │ . . │ ┌─┘ " " └─────────┐ │ " " " " " └─┐ └─────────────────┘ ┌─────┘ . . └─────┐ ├───. . ┌─────┘ │ ~ ~ │ , , │
│ . . │ . . . . . │ │ . . │ │ " " " " " " " " └─┐ │ " " " " " " └─┬───────────┬─────┐ │ . . . . . . . . │ ┌─┘ . . . ├─────────────┴───~ , . ^ └─┐
│ . . ├─────┐ . . ├───────┘ . . └─┐ ┌─┘ ^ " " ────" " " " │ │ " ##" " " ^ . + ~ ~ ~ ~ ~ + ~ ~ │ │ . . . . . . . . │ │ . . . . │ . . , ~ ~ ~ ~ ~ ~ ~ , , . │
│ . . │ ┌───┘ . . │ . . . . . . . │ │ " " " " " " " " " " │ ┌─┘ " " " " . " . │ ~ ~ ~ ~ ~ │ ~ ~ │ │ . . ┌─────┐ . . │ │ . . . ┌─┤ . . . , ~ ~ , ~ ~ ~ ~ ~ , │
└─────┘ │ . . . . │ . . . . . . . │ │ " " " " ┌───┐ " " " │ │ " " " ##" ##. ┌─┤ ~ ~ │ , ~ │ ~ ~ └─┘ , , │ . . │ . . │ │ . . ┌─┘ │ . . │ . , │ . , ┌─┐ , , ┌─┘
│ . . │ . . . . . ┌─┐ . . └───┘ . " " ──┤ │ . ##" │ │ " " " " " . . │ │ ~ ~ │ . , │ ~ ~ ~ ~ , . ├───/ ┘ . . └─┘ . . └───┘ . . │ . . │ . , │ │ . . │
│ . . │ . . . ##. │ │ . . . . " " " . . └───┘ . . . │ │ " " " │ " " " │ │ ~ ~ └─────┘ ~ ~ ~ ~ , . │ . . ^ . . . . . . . . . . . └─────┤ . . └─┘ . . │
│ . . . . │ . . . │ │ . . . . . . " . . . . . . . . │ │ " " " │ " . " │ │ ~ ~ ~ ~ ~ ~ ~ ~ ┌─┐ ~ , │ . . . . . . . . . . . . . . . . . │ . . . . . . │
│ . . . . ├───────┘ └───────────┐ . . │ . . . . . ┌─┘ │ " " " " " " " │ │ ~ ~ ~ ~ ##~ ~ ~ │ │ ~ ~ ├─/ ──┐ . . ┌───┐ ^ . . . . . . . . + . . . . . . │
└─┐ . . ┌─┘ ┌─────────────┐ └─┐ . └───. . ┌───┘ ├───/ ────────┬─┘ └───┐ ~ ~ ~ ~ ~ ┌─┘ │ ~ ~ │ , . │ . . │ │ . . . . . ┌───────┤ . . ────────┤
┌───────┬─┘ . . │ │ . . . . . . │ │ . . . . . │ │ . . . . . . │ │ ~ ~ ~ ~ ~ └─┐ │ ~ ~ │ , . │ . . │ ┌─┴─────. . ──┴───┐ │ . . . ^ . . │
│ . . . │ . . . └───┤ . . . . . . └───┐ │ . . . . . │ │ . . . . . . └───────┘ ~ ~ ~ ~ ~ ~ └─┘ ~ ~ │ , . │ . . │ │ . . . . . . . . └───┴─┐ . . . . . └─┐
│ . . . │ . . . . . + . . ┌─┐ . . . . │ │ . . ┌─────┘ │ . . . . . , ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ , │ . . │ │ . . . . . . . . " " " └─┐ . ^ . . . │
└─┐ . . │ . . . . . │ . . │ │ . . . . │ │ . . └─────────┐ │ . . . . . . > ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ │ . . │ │ ^ . ┌─────┐ . . . " . . └─┐ . . . . │
│ . . │ . . . . ┌─┴─────┘ ├─────. . ├───┘ . . . . . . . │ ├─────────────────────~ ~ ──────┬─────┐ , ~ │ ~ , │ . . └─┘ . . │ │ . . . . . . . └─┬─┐ . . │
│ . . └─────. . │ ┌─┘ . . . . + . . . ##. . . ^ . └───┘ . . . . . . . . . , ~ ~ ~ ~ ~ │ │ . , │ , . │ . . . . . . │ │ . ##. . ##. . . └─┼─────┘
│ . . . . . . . │ ┌─┘ . . . . . │ . . . . . . . . . . " " . " ────. . . . . , ##~ ~ ~ ~ │ │ , ~ └─────┤ . . . . . . │ │ . . ────~ ##. , . ├─────┐
│ . . . . ##. . │ │ . . ##. ##. ├───┐ . . . ##. . . . " " " " . . . . │ . . , , ~ ##~ ~ │ │ ~ ~ ~ , . │ . . ┌───────┘ │ . . . , ~ ~ , ~ , │ . . │
│ . . . . . . . │ │ . . . . . . │ │ . . . . . . . ┌───┐ . . . . . . │ . . . . , ~ ~ ~ │ │ ~ ~ , . . + . . │ └─────────┐ ~ ~ ~ ~ + . . │
└───────────────┘ └─────────────┘ └───────────────┘ └─────────────┴─────────────────┘ └───────────┴─────┘ └─────────┴─────┘
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment