Created
December 24, 2018 05:08
-
-
Save nloadholtes/8139ed546f2d4669cd1613f0a5dda250 to your computer and use it in GitHub Desktop.
SentimentalGreenyellowPattern created by nloadholtes - https://repl.it/@nloadholtes/SentimentalGreenyellowPattern
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| test_data = """/->-\\ | |
| | | /----\\ | |
| | /-+--+-\ | | |
| | | | | v | | |
| \\-+-/ \\-+--/ | |
| \\------/ | |
| """ | |
| class Cart(): | |
| def __init__(self, x, y, facing, cart_id): | |
| self.cart_id = cart_id | |
| self.x = x | |
| self.y = y | |
| self.pos = (x,y) | |
| self.turn_dir = [-3, 0, 3] | |
| if facing == "^": | |
| self.facing = 0 | |
| elif facing == ">": | |
| self.facing = 3 | |
| elif facing == "v": | |
| self.facing = 6 | |
| elif facing == "<": | |
| self. facing = 9 | |
| else: | |
| raise Exception(f"Parsing error: Invalid facing: {x},{y}, {facing}") | |
| def turn(self): | |
| val = self.turn_dir.pop(0) | |
| # print(f" {self.cart_id} WAS facing: {self.facing}") | |
| self.facing = (self.facing + val) % 12 | |
| self.turn_dir.append(val) | |
| # print(f" {self.cart_id} now facing: {self.facing}") | |
| def __repr__(self): | |
| return f"<id: {self.cart_id} x:{self.x}, y:{self.y}, facing:{self.facing}>" | |
| def tick(self, track_map): | |
| # if self.cart_id == 1: | |
| # print(f"WAT: {self}") | |
| # Shortcut to make sure that x and y are correct | |
| y = self.x | |
| x = self.y | |
| if track_map[x][y] == "+": | |
| # print(f"{self.cart_id} Turn!") | |
| self.turn() | |
| elif track_map[x][y] == "\\": | |
| # print(f"Facing(1): {self.cart_id}:{self.facing}") | |
| if self.facing == 3: | |
| self.facing = 6 | |
| elif self.facing == 0: | |
| self.facing = 9 | |
| elif self.facing == 9: | |
| self.facing = 0 | |
| else: | |
| self.facing = 3 | |
| # print(f"Facing(1b): {self.cart_id}:{self.facing}") | |
| elif track_map[x][y] == "/": | |
| # print(f"Facing(2): {self.cart_id}:{self.facing}") | |
| if self.facing == 6: | |
| self.facing = 9 | |
| elif self.facing == 3: | |
| self.facing = 0 | |
| elif self.facing == 9: | |
| self.facing = 6 | |
| else: | |
| self.facing = 3 | |
| # print(f"Facing(2b): {self.cart_id}:{self.facing}") | |
| if self.facing == 3: # > | |
| self.x += 1 | |
| elif self.facing == 9: # < | |
| self.x -= 1 | |
| elif self.facing == 0: # ^ | |
| self.y -= 1 | |
| elif self.facing == 6: # v | |
| self.y += 1 | |
| self.pos = (self.x, self.y) | |
| # for r in track_map: | |
| # print("".join(r)) | |
| def wreck_check(carts): | |
| positions = [(a.x, a.y) for a in carts] | |
| uniq_positions = set(positions) | |
| if len(uniq_positions) == len(positions): | |
| return False | |
| for x in uniq_positions: | |
| for y in range(len(positions)): | |
| if x == positions[y]: | |
| positions[y] = None | |
| break | |
| return list(filter(None, positions)) | |
| def parse(data): | |
| lines = data.split("\n") | |
| carts = [] | |
| output_map = [] | |
| cart_id = 0 | |
| for line in range(len(lines)): | |
| # print(lines[line]) | |
| row = list(lines[line]) | |
| # print(row) | |
| for col in range(len(row)): | |
| if row[col] in ("^", ">", "<", "v"): | |
| carts.append(Cart(col, line, row[col], cart_id)) | |
| cart_id += 1 | |
| if row[col] in ("<", ">"): | |
| row[col] = "-" | |
| if row[col] in ("^", "v"): | |
| row[col] = "|" | |
| if row: | |
| output_map.append(row) | |
| return carts, output_map | |
| def main(): | |
| # data = test_data | |
| # print(data) | |
| data = open("map.txt").read() | |
| carts, track_map = parse(data) | |
| from pprint import pprint as pp | |
| pp(carts) | |
| # for r in track_map: | |
| # print("".join(r)) | |
| # Tick | |
| collision = wreck_check(carts) | |
| max_tock = 28000 | |
| tock = 0 | |
| while tock < max_tock and len(carts) > 1: | |
| carts.sort(key=lambda c: c.pos) # Really important it turns out | |
| for c in carts: | |
| if c.cart_id: | |
| c.tick(track_map) | |
| collision = wreck_check(carts) | |
| if collision: | |
| c.cart_id = None | |
| for x in carts: | |
| if x.pos == collision: | |
| x.cart_id = None | |
| break | |
| carts = [c for c in carts if c.cart_id] | |
| tock += 1 | |
| # print(" ") | |
| # for r in track_map: | |
| # print("".join(r)) | |
| [c.tick(track_map) for c in carts] | |
| pp(carts) | |
| print(f"WRECK!!! {collision} (tock was: {tock} out of {max_tock})") | |
| main() |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /------------\ /---------------------------------------\ | |
| /------------+-----------\| | | | |
| /--------+------------+-----------++------------------\ /--+----------------------\ | | |
| /-------------+----\ | | || /--------\ | /+--+-------\ | | | |
| /---------+-------------+----+---+----------\ | ||/-+--------+--\ | || | | /-----+--------\ | | |
| /-+---------+-------------+----+---+----------+-+-----------+++-+------\ | | | /----++--+-------+--------+---\ | | | | |
| | | | | | | | | /-----+++-+------+-+--+---+-------\| || | | | | | | | | |
| /----+-+---------+-------------+----+---+----------+-+-----+---\ ||| | | | | | || || | | | | | | | | |
| | | | | /-------+----+---+-----\ | | | | ||| | | |/-+---+-------++----++--+-------+--------+---+-+--------+--\ | | |
| | | | | | | | | | | | | | ||| | | || | | || || | | | | | | | | | |
| | /+-+---------+-----+-------+----+---+-----+----+-+-----+---+-+++-+-\ | || | | || || | | | | | | | | | |
| | || | | /+-------+----+---+-----+----+-+-----+---+-+++-+-+----+\|| | | /----++----++--+-\ | | | | | | | | |
| | || | | || | | | | | | | | ||| | | ||||/+---+--+----++----++--+-+-----+--------+---+-+--------+--+---\| | |
| | || | | || | | | | | | | | ||| | | |||||| | | || || | | | | | | | | || | |
| | || | /-----+----++-------+----+---+----\| |/+-----+---+-+++-+-+----++++++---+--+----++----++--+-+-----+--------+---+-+--------+\ | || | |
| | || |/--+-----+----++-------+----+---+----++----+++-----+---+-+++-+-+----++++++---+--+----++----++--+-+---\ | | | | || | || | |
| | || || | | || | | | || ||| | | ||| | |/---++++++---+--+----++-\ || | | | | | | | || | || | |
| | |\-++--+-----+----++-------+----+---+----++----+++-----+---+-+++-+-++---/||||| | | || | \+--+-+---+-/ | | | || | || | |
| /--+---+--++--+----\| || | /+---+----++----+++-----+---+-+++-+-++----+++++\ | | || | | | | | | | | || | || | |
| | | | || | || || | || | || ||| | | ||| | || |||||| | | || | | | | /-+----------+---+-+--------++-+--\|| | |
| | | | || | || || | || | || ||| | | ||| | || /++++++--+--+----++-+---+--+-+-+-+--------\ | | | || | ||| | |
| | | | || | || ||/------+---++---+----++----+++-----+---+-+++-+-++---+++++++--+--+----++-+---+--+-+-+-+--------+-+-\ | | || | ||| | |
| | | | || | || ||| | || | || ||| | | ||\-+-++---+++++/| | | || | | | | | | | | | | | || | ||| | |
| | | | || | || ||| | || | || ||| | | || | || ||||| | | | |\-+---+--+-+-+-+--------+-+-+-/ | || | v|| | |
| | | | || \----++----+++------+---++---+----/| ||| | | || | || ||||| | | | | | | | |/+-+--------+-+-+---+-----\ || | ||| | |
| | | | || || ||| | || | | ||| | | || | |\---+++++-+--+--+----+--/ \--+-+++-+--------+-+-+---/ | || | ||| | |
| | | | || || ||| | || | | ||| | | || | | ||||| | | | | \-+++-+--------+-+-+---------+--++-+--++/ | |
| | | | || || ||| | || | | ||\-----+---+-+/ | | ||||| | | | | ||| | | | | | || | || | |
| | | | || || ||| | || | | || | | | | | ||||| | | | | ||| | | | | | || | || | |
| | | | || || ||| | || | | || | | | | | ||||| | | \----+-----------/|| | | | | | || | || | |
| | | | || || |\+------+---++---+-----/ || | | | | | /+++++-+--+-------+------------++-+--------+-+\| | || | || | |
| | | | || /++----+-+------+---++---+--\ || | | | | | /++++++-+--+-------+------------++\| | ||| | || | || | |
| | |/--+--++------+++----+-+------+---++---+--+-------++------+---+-+---+-+--+++++++-+--+-------+\ |||| | ||| | || | || | |
| | || | || ||| | | | || | | /-----++-----\| | | | | ||||||| | | || |||| | \++---------+--/| | || | |
| | || | || ||| | | /-+---++---+--+-+-----++-\ || | | | | ||||||| | | || |||| | || | | | || | |
| | || | || ||| | | | | || | | | || | /-++---+-+---+-+--+++++++-+--+-------++-----------++++--------+--++---------+\ | | || | |
| | || | || ||| \-+----+-+---++---+--+-+-----++-+-+-++---+-+---+-+--+++/||| | | || |||| | || || | | || | |
| | || | /++------+++------+----+-+---++---+--+-+-----++-+-+-++---+-+---+-+--+++-+++-+--+-------++-----------++++----\ | || || | | || | |
| | || | ||| ||| | | | || | | | || | | || | | \-+--+++-/|| | | || |||| | | || || | | || | |
| | || /+-+++------+++----\ | /--+-+---++---+\/+-+-----++-+-+-++---+-+-----+--+++--++-+--+-------++-----------++++----+---+--++---------++--+\| || | |
| | || || ||| ||| | | | | | /++---++++-+-----++-+-+-++---+-+-----+--+++--++-+--+-------++---------\ |||| | | || || ||| || | |
| | || || ||| ||| | | | | | ||| |||v | || | | || | | | ||| || | | || | |||| | | || || ||| || | |
| | || || ||| ||| /+-+-+--+-+--+++---++++-+-----++-+-+-++---+-+-----+--+++--++-+--+-------++-----\ | |\++----+---+--++---------++--+++--/| | |
| | || || ||| ||| || | | | | /+++---++++-+-----++-+-+-++---+-+-\ | ||| || | | || | | | || | | || /-------++--+++-\ | | |
| | || || ||| ||\---++-+-+--+-+-+++/ |||| | || | |/++---+-+-+---+--+++--++-+--+\ || | | | || | | || | || ||| | | | |
| | || || ||| || /--++-+-+--+-+-+++-\ |||| | || | |||| | | | | ||| || | /++------++-----+\ | |/++----+---+--++-+-------++\ ||| | | | |
| | || || |||/-----++-+\ || | | | | ||| | |||| | || | |||| |/+-+---+--+++--++-+-+++------++-----++--+-++++----+---+--++-+----\ ||| ||| | | | |
| | || || |||| || || || | | | | ||| | |||| | || | |||| ||| | | ||\--++-+-+++------++-----++--+-++++----+---/ || | | ||| ||| | | | |
| | || || |||| /---++-++-++-+-+--+-+-+++-+--++++-+-----++-+-++++-\ ||| | | || |\-+-+++------++-----++--+-++++----+------++-+----+--+++-+++-+-/ | |
| | || || |||| | || || || | | | | ||| | |||| | || | |||| | ||| | | || /-+--+-+++------++-----++-\| |||| | || | | ||| ||| | | |
| | || || ||||/+---++-++-++-+-+-\| | |||/+--++++-+-----++-+-++++-+-+++-+---+--++-+-+\ | ||| || || || |||| | || | | ||| ||| | | |
| | || || |||||| || || || | | || | ||||| |||| | /++-+-++++-+-+++-+---+--++-+-++-+-+++------++-----++-++-++++-\ | || | | ||| ||| | | |
| | || || |||||| || || || | | || | ||||| /++++-+----+++-+-++++-+-+++-+---+--++-+-++-+-+++------++-----++-++-++++-+--+-----\|| | | ||| ||| | | |
| | || || |||||| || || || | | || | ||||| ||||| | ||| | |||\-+-+++-+---+--++-+-++-+-+++------/| || || |||| | | ||| | | ||| ||| | | |
| | || || |||||| || || || | | || | |||||/+++++-+--\ ||| | ||| | ||| | | || | || | ||| /--+-----++-++-++++-+--+-----+++-+--\ | ||| ||| | | |
| | || || |||||| || || || \-+-++-+-+++++++++++-+--+-+++-+-+++--+-+++-+---+--++-+-++-+-+++----+--+-----++-++-++++-+--+-----++/ | | | ||| ||| | | |
| | || || |||||| || || || | || | ||||||||||| | | ||| | |||/-+-+++-+---+--++-+-++-+-+++----+--+-----++-++-++++-+--+-----++--+\ | | ||| ||| | | |
| | || || |||||| || ||/++---+-++-+-+++++++++++-+--+-+++-+-++++-+-+++-+---+--++-+-++\| ||| | | || || \+++-+--+-----++--++-+-+--/|| ||| | | |
| | || || |||||| \+-+++++---+-++-+-++++++++++/ | | ||| | |||| | ||| | | || | ||||/+++----+--+-----++-++--+++-+--+-----++\ || | | /-++-+++-+-\ | |
| | || || |||||| | |||||/--+-++-+-++++++++++--+--+-+++-+-++++-+-+++-+--\| || | |||||||| /--+--+-----++-++--+++-+\ |/----+++-++\| | | || ||| | | | |
| | || || |||\++----+-+/|||| | || | |||||||||| |/-+-+++-+-++++-+-+++-+--++--++-+-++++++++-+--+--+-----++-++--+++-++-++----+++-++++-+-+\|| ||| | | | |
| /-+--++-++-+++-++----+-+-++++--+-++-+-++++++++++--++-+-+++-+-++++-+-+++-+--++--++-+-++++++++-+--+\ | || || ||| || || ||| |||| | |||| ||| | | | |
| | | || || ||| || | | |||| | || | |||||||||\--++-+-+++-+-++++-+-+++-+--++--++-+-++++++++-+--++-+-----++-++--+++-++-++----+++-++++-+-++++-+/| | | | |
| | | || || ||| || /-+-+-++++--+-++-+-+++++++++---++-+-+++-+-++++-+-+++-+--++--++-+-++++++++-+--++-+-----++-++--+++-++-++\ ||| |||| | |||| | | | | | |
| | | || || ||| || | |/+-++++--+-++-+-+++++++++---++-+-+++-+-++++-+-+++-+--++--++-+-++++++++-+--++-+-\ || || ||| || ||| ||| |||| | |||| | | | | | |
| | | || || ||| || | ||| |||| | || | ||||||||| || | ||| | |||| | |\+-+--++--++-+-++++++++-+--++-+-+---++-++--+++-++-+++---+++-++++-/ |||| | | | | | |
| /+-+--++-++-+++-++\ | ||| |||| | || | ||||||||| || | ||| | |||| | | | | || \+-+-++++++++-+--++-+-+---++-++--+/| || ||| ||| |||| |||| | | | | | |
| || | || || ||| ||| | ||| |||| | || | ||||||||| || | ||| | |||| | | | | || | | |||||||| | || | | ||/++--+-+-++-+++---+++-++++---++++\| | | | | |
| || | || || ||| ||| | ||| |||| | || | ||||||||| || | ||| | |||| | | | | || | | |||||||| | || |/+---+++++--+-+\|| ||| ||| |||| |||||| | | | | |
| || | \+-++-+++-+++-+-+++-++++--+-++-+-+++++++++---++-+-+++-+-++++-+-/ | | || | | |||||||| | || ||| ||||v | |||| ||| ||| |||| |||||| | | | | |
| || | | || ||| ||| | ||| |||| | || | ||\++++++---++-+-+++-+-++++-+---+-+--++---+-+-+++/|||| | || ||| ||||| | |||| ||| ||| |||| |||||| | | | | |
| || | | || ||| ||| | ||| |||| | ||/+-++-++++++---++-+-+++-+-++++-+---+-+--++--\| | ||| |||| | || ||| ||||| | |||| ||| ||| |||| |||||| | | | | |
| || | | ||/+++-+++-+-+++-++++--+-++++-++-++++++---++-+-+++-+-++++-+---+\| || || | ||| |||| | || ||| ||||| | |||| ||| ||| |||| |||||| | | | | |
| || | | |||||| ||| | ||| |\++--+-++++-++-++++++---++-+-+++-+-++++-+---+++--++--++-+-+++-++++<+--++-+++---/|||| | |||| ||| ||| |||| |||||| | | | | |
| || | | |||||| ||| | ||| | || | |||| || ||||||/--++-+-+++-+-++++-+---+++--++--++-+-+++-++++-+--++-+++----++++--+-++++-+++\ ||| |||| |||||| | | | | |
| || | | |\++++-+++-+-+++-+-++--+-++++-++-+++++++--++-+-+++-+-++++-+---+++--+/ || | ||| |||| | || ||| |||| | |||| |||| |||/++++---++++++-+-+-+\ | |
| || | | | ||\+-+++-+-+++-+-++--+-++++-++-+++++++--++-+-+/| | |||| | ||| | || | ||| |||| | || ||| |||| | ||^| |||| |||||||| |||||| | | || | |
| || | | | || | ||| | ||| \-++--+-++++-++-+++++++--++-+-+-+-+-++++-+---+++--+---++-+-++/ |||| | || ||| |||| | |||| |||| |||||||| |||||| | | || | |
| || | | | || | ||| | ||| || | |||| || ||||\++--++-+-+-+-+-++++-+---/|| | || | || |||| | || ||| |||| | |||| |||| |||||||| |||||| | | || | |
| || | | | || | ||| | ||| || | |||| || |||| || || | | | | |||| | || | || | || |||| \--++-+++----++++--+-+++/ |||| |||||||| |||||| | | || | |
| || | | | || | ||| | ||| || | |||| ||/++++-++--++-+-+-+>+-++++-+----++--+---++-+-++\ |||| || ||| |||| | ||| |||| |||||||| |||||| | | || | |
| || | | | || | ||| | ||| || | |||| ||||||| || || | | \-+-++++-+----++--+---++-+-+++-++++----++-+++----++++--+-+++--++++--++++++++---+++++/ | | || | |
| || | | | || \-+++-+-+++---++--+>++++-+++++++-++--++-+-+---+-++++-+----++--+---++-+-+++-++++----++-+++----++++--+-/|| |||| |||||||| ||||| | | || | |
| || | | | || /+++-+-+++---++--+-++++-+++++++-++--++-+-+---+\\+++-+----++--+---++-+-+++-++++----++-+++----++++--+<-++--++++--++++++++---++/|| | | || | |
| || | | | || |||| | ||| || | |||| ||||||| || || | | || ||| | || | || | ||| |||| || ||| |||| | || |||| |||||||| || || | | || | |
| || | | | || |||| | ||| || | |||| ||||||| || \+-+-+---++-+/| | || | || | ||| |||| || ||| |\++--+--++--++++--++++++++---++-+/ | | || | |
| || | | | || |||| | ||| || | |||| ||||||| || | | | || | | | /++--+---++-+-+++-++++----++-+++----+-++--+\ || |||| |||||||| || | | | || | |
| || | | | || |||| | ||| || | |||| ||||||| || | | | || | | | ||| | || \-+++-++++----++-+++----+-/| || || |||| |||||||| || | | | || | |
| || | | | || |||| | ||| || | |||| ||||||| || | | | || \-+-+---+++--+---++---+++-+++/ || ||| | | || || |||| |||||||| || | | | || | |
| || |/--+-+-++--++++-+-+++---++-\| |||| ||||||| || | | | || | | ||| | || ||| ||| || ||| | | || || |||| |||||||| || | | | || | |
| || \+--+-+-++--++++-+-/|| || || ||\+-+++++++-++---+-+-+---++---+-+---+++--+---/| ||| ||| || ||| | | || || |||| |||||||| || | | | || | |
| || | | | || |||| | || |\-++-++-+-+++++++-++---+-+-+---++---+-+---+++--/ | ||| ||| || ||| | | || || |||| |||||||| || | | | || | |
| || | | | || |||| | || | || || | ||||||\-++---+-+-+---++---+-+---+++-------+---+++-+++-----++-+++----+--+--++-++--++++--/||||||| || | | | || | |
| || | | | || |||| | || | || || | |||||| |\---+-+-+---++---+-+---+++-------+---+++-+++-----++-+++----+--+--++-++--+++/ ||||||| || | | | || | |
| || | | | || |||| | \+---+--++-++-+-++++++--+----+-+-+---++---+-+---+++--->---+---+++-+++-----++-++/ | | || || ||| ||||||| || | | | || | |
| ||/-+--+-+-++--++++-+---+---+--++-++-+-++++++--+----+-+-+---++---+-+---+++-------+---+++-+++-----++-++-----+-\| || || ||| ||||||| || | | | || | |
| ||| | | | || |||| | | | || || |/++++++--+----+-+-+---++---+-+---+++-------+---+++-+++-----++-++-----+-++--++-++--+++-\ ||||||| || | | | || | |
| ||| | \-+-++--++++-+---+---+--++-++-++++++++--+----+-+-+---++---+-+---+++-------+---+++-+++-----++-/| | || || || ||| | ||||||| || | | | || | |
| ||| | | || |||| | | | || || \+++++++--+----+-+-+---++---+-+---+++-------+---+++-++/ || | | || || || |\+-+--+++++/| || | | | || | |
| ||| | | |v ||\+-+---+---+--++-++--+++++++--+----+-+-+---++---+-/ ||| | \++-++------++--+-----+-++--++-++--+-+-+--+++++-+---++-+---/ | || | |
| ||| | | || || | | | | || || ||||||| | | | | || | /--+++-------+----++-++------++--+----\| || || || | | | ||||| | || | | || | |
| ||| \----+-++--++-+-+---+---+--/| || ||||||| | | | | || | | ||| \----++-++------++--+----++-++--++-++--+-+-+--/|||| | || | | || | |
| ||| | || || | | \---+---+-++--+++++/| | \-+-+---++---+--+--+++------------++-++------++--+----++-++--++-++--+-+-+---++++-+---+/ | | || | |
| ||| | || || | \-------+---+-++--+++++-+--+------+-+---++---+--+--+++------------++-++------++--+----++-++--++-++--+-/ | |||| | | | | || | |
| ||| | || || | | | || |||||/+--+----\ | | || | | \++------------++-++------++--+----++-++--+/ || | | |||| | | | | || | |
| ||| /-+-++--++-+---------+---+-++--+++++++--+----+-+-+---++---+--+---++------------++\|| || | || || | || | | |||| | | | | || | |
| ||| | | || ||/+---------+---+-++--+++++++--+----+-+-+---++---+--+---++------------+++++------++--+----++-++--+--++--+---+\ |||| | \--+-----+-/| | |
| ||| | | || |||| /-------+---+-++--+++++++--+---<+-+-+---++---+--+---++------------+++++------++--+---\|| || | || | || |||| | | | | | |
| ||| | | || \+++-+-------+---+-++--+++++++--+----+-+-+---+/ | | || /------+++++-----\|| | ||| || | || | || |||| | | | | | |
| |\+----+-+-++---+++-+-------+---+-++--+++++++--+----+-+-+---+----+--+---++-----+------+++++-----++/ | ||| || | || | || |||| | | | | | |
| | | | | || ||| | | | || ||\++++--+----+-+-+---+----+--+---++-----+------+++++-----++---+---+++-+/ | || | || |||| | | | | | |
| | | | | || ||| | /--+---+-++--++-++++--+----+-+-+---+----+--+---++-----+------+++++--\ || | ||| | \--++--+---++--++++-+------/ | | | |
| | | | | || ||| | | | | || \+-++++--+----+-+-+---+----+--+---++-----+------+++++--+--++---+---+++-+------++--+---/| |||| | | | | |
| | | | | || ||| | | | \-++---+-++++--/ | | | | | | || | ||||| |/-++---+---+++-+---->-++--+----+--++++-+-\ | | | |
| | | | | || ||| | | | || | \+++-------+-+-+---+----+--+---++-----+------+/||| || || | ||| | || | | |\++-+-+----------+--/ | |
| | | | | |^ ||| | | | || | ||| | | | | | | || | | ||| || || \---+++-+------/| | | | || | | | | |
| | | | | || ||| | |/-+-----++---+--+++-------+-+-+---+----+--+---++\ | | ||| || || ||| | | | | | || | | | | |
| | | | | || ||| | || | || v ||\-------+-/ | | | |/--+++----+------+-+++--++-++-------+++-+-------+--+----+-\| || | | | | |
| | | | | || \++-+----++-+-----/| | || | | | | \+--+++----+------+-+++--++-++-------+/| | | | | || || | | | | |
| | | | | || || | || | | | || | | | | | ||| | | ||| || || | | | | | | || || | | | | |
| | | | | || || | || | | | || | | | \---+--+++----+------+-+++--++-++-----<-+-+-+-------+--+----+-++-+/ | | | | |
| | | | |/++----++-+----++-+------+---+--++--------+\ | /-+--------+--+++----+------+-+++--++-++-------+-+-+-------+--+----+-++\| | | | | |
| | | | |||| || | || | | | || || | | | | ||| \------+-+++--++-/| | | | | | | |||| | | | | |
| | | | |||| /-++-+----++-+------+---+--++--------++--+-+-+---\ | ||| /-+-+++--++--+--\ | | | | | | |||| | | | | |
| | | | |||| | || | || | | |/-++--------++--+-+-+---+----+--+++---------+-+-+++--++--+--+----+-+-+-------+--+----+-++++--+-+----------+-\ | |
| | | | |||| | || | || | | || || || | | | | | ||| | | ||| || | | | | | | | | |||| | | | | | |
| | | | |||| | || | || |/-----+---++-++--------++--+-+-+---+----+--+++---------+-+\||| || \--+----+-+-+---->--+--+----+-++++--/ | | | | |
| | | | |||| | || \----++-++-----+---++-++--------++--+-+-+---+----+--+++---------+-+++++--++-----+----/ | | | | | |||| | | | | |
| | | | |||| | || \+-++-----+---++-++--------++--+-+-+---+----+--+++---------+-+++++--/| | /--+-+-------+--+----+-++++---\| | | | |
| | | | |||| | || | || | \+-++--------++--+-+-+---+----+--+/| | ||||| | | | | | | | | |||| || | | | |
| | | | |||| | || | || | | || || | | | | | | | | ||||| | | | | | | | | |||| || | | | |
| \-+----+-++++--+-+/ | || | | || || | \-+---+----+--+-+---------+-+++++---+-----+---+--+-+-------+--+----+-++/| || | | | |
| | | |||| \-+--------+-++-----+----+-++--------++--+---+---/ | | | | ||||| | | | | | | | | || | || | | | |
| | | \+++----+--------+-/| | | || || \---+--------+--+-+---------+-+++++---+-----+---+--+-+-------/ | | || | || | | | |
| | | ||| | | | | | || || | | | | | ||||| | | | | | | | || | || | | | |
| | | ||| | | | | | || || | \--+-+---------+-+++++---+-----+---+--+-+----------+----+-/| | || | | | |
| | \--+++----+--------+--+-----+----+-++--------++------+-----------+-+---------+-++/\+---+-----+---+--+-+----------+----+--/ | || | | | |
| | ||| \--------+--+-----+----+-++--------++------+-----------+-+---------+-++--+---+-----+---+--+-+----------+----/ | || | | | |
| | ||\-------------+--+-----+----+-++--------++------+-----------+-+---------+-++--+---+-----+---+--+-+----------/ | || | | | |
| | || \--+-----+----+-++--------++------+-----------+-/ | || | | | | | | | || | | | |
| | || | \----+-++--------++------/ | \-++--+---+-----/ | | | | || | | | |
| | || | | || || | || | | | | | | || | | | |
| | || \----------+-++--------++------------------+-------------+/ | \---------+--+-+--------------------+---+/ | | | |
| | || \-++--------++------------------+-------------+---+-------------+--+-+--------------------+---+-----------+-/ | |
| \-------++------------------------------++--------++------------------+-------------+---+-------------+--+-/ | | | | |
| || |\--------/| | | | | | | | | | |
| \+---------------------<--------+----------/ | | | | | \---+-----------/ | |
| | | | | | | | | | |
| \------------------------------+-----------------------------/ | | \--+--------------------------/ | |
| \-------------------------------------------/ \----------------/ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment