from glife import *

block = pattern ("""
**
**
""")

blinker = pattern ("***", -1, 0)

glider = pattern ("""
.**
**.
..*
""")

lwss = pattern ("""
****.
*...*
*....
.*..*
""")

mwss = pattern ("""
*****.
*....*
*.....
.*...*
...*..
""")

hwss = pattern ("""
******.
*.....*
*......
.*....*
...**..
""")

eater = hook = pattern ("""
**
*
.***
...*
""")

queenbee = pattern ("""
**..
..*.
...*
...*
...*
..*.
**..
""")

herschel = pattern ("""
***.
.*..
.***
""")

bheptomino = pattern ("""
**.
.**
**.
*..
""")

tub = pattern ("""
.*.
*.*
.*.
""", -1, -1)

boat = pattern ("""
**.
*.*
.*.
""")

long_boat = pattern ("""
**.
*.*
.*.*
..*
""")

ship = pattern ("""
**.
*.*
.**
""", -1, -1)

beehive = pattern ("""
.**.
*..*
.**.
""", 0, -1)

loaf = pattern ("""
.**.
*..*
*.*.
.*..
""")

snake = pattern ("""
*.**
**.*
""")

aircraft_carrier = pattern ("""
**..
*..*
..**
""")

honeyfarm = pattern ("""
......*......
.....*.*.....
.....*.*.....
......*......
.............
.**.......**.
*..*.....*..*
.**.......**.
.............
......*......
.....*.*.....
.....*.*.....
......*......
""", -6, -6)

beacon = pattern ("""
**..
*...
...*
..**
""")

blocker = pattern ("""
......*.*.
.....*....
**..*....*
**.*..*.**
....**....
""")

clock = pattern ("""
..*.
**..
..**
.*..
""")

dart = pattern ("""
........*.
.......*.*
......**..
.........*
.....*...*
..*..*....
.*.*..****
*..*......
.*.*..****
..*..*....
.....*...*
.........*
......**..
.......*.*
........*.
""", 0, -7)

big_beacon = pattern ("""
***...
***...
***...
...***
...***
...***
""")

middleweight_volcano = pattern ("""
...*******...
.***.***.***.
*....***....*
.****.*.***.*
...........*.
*.**.*.*.*...
**.*.*.*.**..
....*..*.*...
.....**..*...
.........**..
""", -6, 0)

heavyweight_volcano = pattern ("""
.........*..........................
........*.*.........................
......***.*.........................
.....*....**.*......................
.....*.**...**......**..............
....**.*.**.........*.*.............
.........*.*****......*..*.**.......
..*.**.**.*.....*....**.*.**.*......
.....**.....****........*....*......
*...*.*..*...*.*....**.*.****.**....
*...*.*..**.*.**.**....*.*....*.*...
.....**...***.**.*.***.*..***...*...
..*.**.**.**.............*.*..*.*.**
...........*......*.*.*.*..**.*.*.*.
....**.*.*.**......**.*.*.*...*.*.*.
.....*.**.*..*.......*.**..****.**..
.....*....*.*........*...**.........
....**....**........**...*..*.......
...........................**.......
""")

galaxy = pattern ("""
******.**
******.**
.......**
**.....**
**.....**
**.....**
**.......
**.******
**.******
""", -4, -4)

orion = pattern ("""
...**.........
...*.*........
...*..........
**.*..........
*....*........
*.**......***.
.....***....**
......***.*.*.
.............*
......*.*.....
.....**.*.....
......*.......
....**.*......
.......*......
.....**.......
""")

pentadecathlon = pattern ("""
..*....*..
**.****.**
..*....*..
""", 0, -1)

pi = pattern ("""
***
*.*
*.*
""")

pond = pattern ("""
.**.
*..*
*..*
.**.
""")

pulsar = pattern ("""
..***...***..
.............
*....*.*....*
*....*.*....*
*....*.*....*
..***...***..
.............
..***...***..
*....*.*....*
*....*.*....*
*....*.*....*
.............
..***...***..
""", -6, -6)

rpentomino = pattern ("""
.**
**
.*
""")

rabbits = pattern ("""
*...***
***..*.
.*.....
""")

spider = pattern ("""
.........*.......*.........
...**.*.*.**...**.*.*.**...
***.*.***.........***.*.***
*...*.*.....*.*.....*.*...*
....**......*.*......**....
.**.........*.*.........**.
.**.**...............**.**.
.....*...............*.....
""", -13, 0)

lightweight_volcano = pattern ("""
...**..**...
.***.**.***.
*..........*
.****..****.
....*..*....
.**......**.
.*..*..*..*.
..***..***..
............
****.**.****
*..**..**..*
""")

unix = pattern ("""
..**....
....*.**
*..*..**
*.*.....
.*......
........
.**.....
.**.....
""")

biblocker = pattern ("""
..................*...........
.................*.**.........
.................*.**.........
..................**..........
..............................
.......**............**.......
.......**............**.......
..............................
..............................
......*.*.....................
.....*..................**....
**..*....*..........**.*..*.**
**.*..*.**..........**..*....*
....**...................*....
..........................*.*.
""")
