Moments of symmetry
A moment of symmetry is a scale built by repeatedly stacking a generating interval and reducing it within a period. In general, this stacking process gives a scale with three step sizes; we have a moment of symmetry when we get only two step sizes. For example, stacking a generator of 707¢ within a period of 1200¢ seven times gives the scale
0, 214, 428, 642, 707, 921, 1135, 1200
with two step sizes 65¢ and 214¢, so this scale is a moment of symmetry.
Stacking the generator six times gives the scale
0, 214, 428, 707, 921, 1135, 1200
with three step sizes 65¢, 214¢, 279¢, so this scale is not a moment of symmetry.
Further reading
- Introduction to Erv Wilson's Moments of Symmetry, The Wilson Archives
Python code
"""
Moments of Symmetry.
"""
import math
from decimal import Decimal
def steps(scale):
return [b - a for a, b in zip(scale, scale[1:])]
def stern_brocot(generator, period, max_n=50):
"""
Return Stern-Brocot tree entries ((a, c), (b, d)) for the given generator
and period, where a/c and b/d are the left and right search interval
endpoints.
Each entry gives a MOS of size n = c + d, with generator at scale degree
m = a + b, step sizes
s = (d * generator - b * period) / delta
t = (-c * generator + a * period) / delta
where delta = a * d - b * c = -1, and c steps of s and d steps of t.
>>> stern_brocot(Decimal('707'), Decimal('1200'), 5)
[((0, 1), (1, 0)), ((0, 1), (1, 1)), ((1, 2), (1, 1)), ((1, 2), (2, 3))]
"""
a, c = 0, 1 # left = 0/1
b, d = 1, 0 # right = 1/0 (infinity)
result = []
while True:
m, n = a + b, c + d
if n > max_n:
break
result.append(((a, c), (b, d)))
if d == 0 or generator * n < period * m:
b, d = m, n # mediant is to the right of generator/period
else:
a, c = m, n # mediant is to the left of generator/period
return result
def mos_sizes(generator, period, max_n=50):
"""
>>> mos_sizes(Decimal('707'), Decimal('1200'), 20)
[1, 2, 3, 5, 7, 12, 17]
"""
return [c + d for (a, c), (b, d) in stern_brocot(generator, period, max_n)]
def repeat_scale(scale, k):
"""Repeat a sub-period scale (starting at 0, ending at period) k times."""
result = scale
for _ in range(k - 1):
result = result + [x + result[-1] for x in scale[1:]]
return result
def mos(generator, period, n, rotation=0, repeat=1):
"""
Generate an n-note moment of symmetry scale.
Stack the generator n times modulo the period and sort. `rotation` selects the
mode. `repeat` copies the result for multi-period scales.
>>> mos(Decimal('707'), Decimal('1200'), 5)
[Decimal('0'), Decimal('214'), Decimal('428'), Decimal('707'), Decimal('921')]
>>> mos(Decimal('707'), Decimal('1200'), 7)
[Decimal('0'), Decimal('214'), Decimal('428'), Decimal('642'), Decimal('707'), Decimal('921'), Decimal('1135')]
"""
generator = Decimal(str(generator))
period = Decimal(str(period))
notes = sorted((k * generator) % period for k in range(n))
scale = notes + [period]
step_sizes = steps(scale)
# The Stern-Brocot characterisation of MOS is equivalent to the step-size
# characterisation above: every size in mos_sizes gives a
# scale with exactly two step sizes, and vice versa.
assert n in mos_sizes(generator, period, n), f"{n} not a valid MOS size"
assert len(set(step_sizes)) <= 2
# The Stern-Brocot parents for the MOS determine step sizes and step counts
# These formulae can be derived by mapping the MOS to a two-dimensional keyboard
for (a, c), (b, d) in stern_brocot(generator, period, n):
if c + d == n:
break
if generator in notes:
assert notes.index(generator) == a + b
delta = a * d - b * c
assert delta == -1
s = (d * generator - b * period) / delta
t = (-c * generator + a * period) / delta
# c steps of s and d steps of t; only include a size if it appears.
assert set(step_sizes) == ({s} if d == 0 else {s, t})
if s != t:
assert step_sizes.count(s) == c and step_sizes.count(t) == d
# (a, b) is determined by (c, d) and generator/period
if d > 0:
assert a == math.floor(generator * c / period)
assert b == math.ceil(generator * d / period)
# Return requested mode and repeat
shift = notes[rotation]
tail = [x - shift for x in notes[rotation:]]
head = [x - shift + period for x in notes[:rotation]]
notes = tail + head
scale = repeat_scale(notes + [period], repeat)
return scale[:-1]
Scales
| File | Call |
|---|---|
| xen18-erlich-amity-02 | mos(Decimal('860.38'), Decimal('1199.85'), 2, rotation=1) |
| xen18-erlich-amity-03 | mos(Decimal('860.38'), Decimal('1199.85'), 3, rotation=2) |
| xen18-erlich-amity-04 | mos(Decimal('860.38'), Decimal('1199.85'), 4, rotation=2) |
| xen18-erlich-amity-07 | mos(Decimal('860.38'), Decimal('1199.85'), 7, rotation=1) |
| xen18-erlich-amity-11 | mos(Decimal('860.38'), Decimal('1199.85'), 11, rotation=7) |
| xen18-erlich-amity-18 | mos(Decimal('860.38'), Decimal('1199.85'), 18, rotation=9) |
| xen18-erlich-amity-25 | mos(Decimal('860.38'), Decimal('1199.85'), 25, rotation=16) |
| xen18-erlich-amity-32 | mos(Decimal('860.38'), Decimal('1199.85'), 32, rotation=16) |
| xen18-erlich-amity-39 | mos(Decimal('860.38'), Decimal('1199.85'), 39, rotation=25) |
| xen18-erlich-amity-46 | mos(Decimal('860.38'), Decimal('1199.85'), 46, rotation=23) |
| xen18-erlich-amity-53 | mos(Decimal('860.38'), Decimal('1199.85'), 53, rotation=34) |
| xen18-erlich-augene-03 | mos(Decimal('92.46'), Decimal('399.02'), 1, repeat=3) |
| xen18-erlich-augene-06 | mos(Decimal('92.46'), Decimal('399.02'), 2, rotation=1, repeat=3) |
| xen18-erlich-augene-09 | mos(Decimal('92.46'), Decimal('399.02'), 3, rotation=1, repeat=3) |
| xen18-erlich-augene-12 | mos(Decimal('92.46'), Decimal('399.02'), 4, rotation=2, repeat=3) |
| xen18-erlich-augene-15 | mos(Decimal('92.46'), Decimal('399.02'), 5, rotation=2, repeat=3) |
| xen18-erlich-augene-27 | mos(Decimal('92.46'), Decimal('399.02'), 9, rotation=8, repeat=3) |
| xen18-erlich-augene-39 | mos(Decimal('92.46'), Decimal('399.02'), 13, rotation=5, repeat=3) |
| xen18-erlich-augmented-03 | mos(Decimal('93.15'), Decimal('399.02'), 1, repeat=3) |
| xen18-erlich-augmented-06 | mos(Decimal('93.15'), Decimal('399.02'), 2, rotation=1, repeat=3) |
| xen18-erlich-augmented-09 | mos(Decimal('93.15'), Decimal('399.02'), 3, rotation=1, repeat=3) |
| xen18-erlich-augmented-12 | mos(Decimal('93.15'), Decimal('399.02'), 4, rotation=2, repeat=3) |
| xen18-erlich-augmented-15 | mos(Decimal('93.15'), Decimal('399.02'), 5, rotation=2, repeat=3) |
| xen18-erlich-augmented-27 | mos(Decimal('93.15'), Decimal('399.02'), 9, rotation=8, repeat=3) |
| xen18-erlich-august-03 | mos(Decimal('107.31'), Decimal('399.99'), 1, repeat=3) |
| xen18-erlich-august-06 | mos(Decimal('107.31'), Decimal('399.99'), 2, rotation=1, repeat=3) |
| xen18-erlich-august-09 | mos(Decimal('107.31'), Decimal('399.99'), 3, rotation=1, repeat=3) |
| xen18-erlich-august-12 | mos(Decimal('107.31'), Decimal('399.99'), 4, rotation=2, repeat=3) |
| xen18-erlich-august-21 | mos(Decimal('107.31'), Decimal('399.99'), 7, rotation=6, repeat=3) |
| xen18-erlich-beatles-02 | mos(Decimal('842.38'), Decimal('1197.10'), 2, rotation=1) |
| xen18-erlich-beatles-03 | mos(Decimal('842.38'), Decimal('1197.10'), 3, rotation=2) |
| xen18-erlich-beatles-04 | mos(Decimal('842.38'), Decimal('1197.10'), 4, rotation=2) |
| xen18-erlich-beatles-07 | mos(Decimal('842.38'), Decimal('1197.10'), 7, rotation=1) |
| xen18-erlich-beatles-10 | mos(Decimal('842.38'), Decimal('1197.10'), 10, rotation=5) |
| xen18-erlich-beatles-17 | mos(Decimal('842.38'), Decimal('1197.10'), 17, rotation=11) |
| xen18-erlich-beatles-27 | mos(Decimal('842.38'), Decimal('1197.10'), 27, rotation=4) |
| xen18-erlich-beatles-37 | mos(Decimal('842.38'), Decimal('1197.10'), 37, rotation=24) |
| xen18-erlich-blacksmith-05 | mos(Decimal('155.35'), Decimal('239.18'), 1, repeat=5) |
| xen18-erlich-blacksmith-10 | mos(Decimal('155.35'), Decimal('239.18'), 2, rotation=1, repeat=5) |
| xen18-erlich-blacksmith-15 | mos(Decimal('155.35'), Decimal('239.18'), 3, rotation=2, repeat=5) |
| xen18-erlich-blacksmith-25 | mos(Decimal('155.35'), Decimal('239.18'), 5, rotation=1, repeat=5) |
| xen18-erlich-blackwood-05 | mos(Decimal('158.78'), Decimal('238.87'), 1, repeat=5) |
| xen18-erlich-blackwood-10 | mos(Decimal('158.78'), Decimal('238.87'), 2, rotation=1, repeat=5) |
| xen18-erlich-blackwood-15 | mos(Decimal('158.78'), Decimal('238.87'), 3, rotation=2, repeat=5) |
| xen18-erlich-blackwood-25 | mos(Decimal('158.78'), Decimal('238.87'), 5, rotation=1, repeat=5) |
| xen18-erlich-bug-02 | mos(Decimal('260.3'), Decimal('1200.0'), 2, rotation=1) |
| xen18-erlich-bug-03 | mos(Decimal('260.3'), Decimal('1200.0'), 3, rotation=1) |
| xen18-erlich-bug-04 | mos(Decimal('260.3'), Decimal('1200.0'), 4, rotation=2) |
| xen18-erlich-bug-05 | mos(Decimal('260.3'), Decimal('1200.0'), 5, rotation=2) |
| xen18-erlich-bug-09 | mos(Decimal('260.3'), Decimal('1200.0'), 9, rotation=8) |
| xen18-erlich-catler-12 | mos(Decimal('75.22'), Decimal('99.81'), 1, repeat=12) |
| xen18-erlich-catler-24 | mos(Decimal('75.22'), Decimal('99.81'), 2, rotation=1, repeat=12) |
| xen18-erlich-catler-36 | mos(Decimal('75.22'), Decimal('99.81'), 3, rotation=2, repeat=12) |
| xen18-erlich-catler-48 | mos(Decimal('75.22'), Decimal('99.81'), 4, rotation=2, repeat=12) |
| xen18-erlich-compton-12 | mos(Decimal('15.13'), Decimal('100.05'), 1, repeat=12) |
| xen18-erlich-compton-24 | mos(Decimal('15.13'), Decimal('100.05'), 2, rotation=1, repeat=12) |
| xen18-erlich-compton-36 | mos(Decimal('15.13'), Decimal('100.05'), 3, rotation=1, repeat=12) |
| xen18-erlich-compton-48 | mos(Decimal('15.13'), Decimal('100.05'), 4, rotation=2, repeat=12) |
| xen18-erlich-compton-60 | mos(Decimal('15.13'), Decimal('100.05'), 5, rotation=2, repeat=12) |
| xen18-erlich-compton-72 | mos(Decimal('15.13'), Decimal('100.05'), 6, rotation=3, repeat=12) |
| xen18-erlich-cynder-02 | mos(Decimal('969.18'), Decimal('1201.7'), 2, rotation=1) |
| xen18-erlich-cynder-03 | mos(Decimal('969.18'), Decimal('1201.7'), 3, rotation=2) |
| xen18-erlich-cynder-04 | mos(Decimal('969.18'), Decimal('1201.7'), 4, rotation=2) |
| xen18-erlich-cynder-05 | mos(Decimal('969.18'), Decimal('1201.7'), 5, rotation=3) |
| xen18-erlich-cynder-06 | mos(Decimal('969.18'), Decimal('1201.7'), 6, rotation=3) |
| xen18-erlich-cynder-11 | mos(Decimal('969.18'), Decimal('1201.7'), 11, rotation=1) |
| xen18-erlich-cynder-16 | mos(Decimal('969.18'), Decimal('1201.7'), 16, rotation=8) |
| xen18-erlich-cynder-21 | mos(Decimal('969.18'), Decimal('1201.7'), 21, rotation=2) |
| xen18-erlich-cynder-26 | mos(Decimal('969.18'), Decimal('1201.7'), 26, rotation=13) |
| xen18-erlich-cynder-31 | mos(Decimal('969.18'), Decimal('1201.7'), 31, rotation=3) |
| xen18-erlich-dicot-02 | mos(Decimal('353.22'), Decimal('1207.66'), 2, rotation=1) |
| xen18-erlich-dicot-03 | mos(Decimal('353.22'), Decimal('1207.66'), 3, rotation=1) |
| xen18-erlich-dicot-04 | mos(Decimal('353.22'), Decimal('1207.66'), 4, rotation=2) |
| xen18-erlich-dicot-07 | mos(Decimal('353.22'), Decimal('1207.66'), 7, rotation=6) |
| xen18-erlich-dicot-10 | mos(Decimal('353.22'), Decimal('1207.66'), 10, rotation=5) |
| xen18-erlich-dicot-17 | mos(Decimal('353.22'), Decimal('1207.66'), 17, rotation=6) |
| xen18-erlich-dimipent-04 | mos(Decimal('197.49'), Decimal('299.16'), 1, repeat=4) |
| xen18-erlich-dimipent-08 | mos(Decimal('197.49'), Decimal('299.16'), 2, rotation=1, repeat=4) |
| xen18-erlich-dimipent-12 | mos(Decimal('197.49'), Decimal('299.16'), 3, rotation=2, repeat=4) |
| xen18-erlich-dimipent-20 | mos(Decimal('197.49'), Decimal('299.16'), 5, rotation=1, repeat=4) |
| xen18-erlich-dimisept-04 | mos(Decimal('197.08'), Decimal('298.53'), 1, repeat=4) |
| xen18-erlich-dimisept-08 | mos(Decimal('197.08'), Decimal('298.53'), 2, rotation=1, repeat=4) |
| xen18-erlich-dimisept-12 | mos(Decimal('197.08'), Decimal('298.53'), 3, rotation=2, repeat=4) |
| xen18-erlich-dimisept-20 | mos(Decimal('197.08'), Decimal('298.53'), 5, rotation=1, repeat=4) |
| xen18-erlich-dominant-02 | mos(Decimal('495.88'), Decimal('1195.23'), 2, rotation=1) |
| xen18-erlich-dominant-03 | mos(Decimal('495.88'), Decimal('1195.23'), 3, rotation=1) |
| xen18-erlich-dominant-05 | mos(Decimal('495.88'), Decimal('1195.23'), 5, rotation=4) |
| xen18-erlich-dominant-07 | mos(Decimal('495.88'), Decimal('1195.23'), 7, rotation=2) |
| xen18-erlich-dominant-12 | mos(Decimal('495.88'), Decimal('1195.23'), 12, rotation=6) |
| xen18-erlich-dominant-17 | mos(Decimal('495.88'), Decimal('1195.23'), 17, rotation=5) |
| xen18-erlich-doublewide-02 | mos(Decimal('326.96'), Decimal('599.28'), 1, repeat=2) |
| xen18-erlich-doublewide-04 | mos(Decimal('326.96'), Decimal('599.28'), 2, rotation=1, repeat=2) |
| xen18-erlich-doublewide-06 | mos(Decimal('326.96'), Decimal('599.28'), 3, rotation=2, repeat=2) |
| xen18-erlich-doublewide-10 | mos(Decimal('326.96'), Decimal('599.28'), 5, rotation=1, repeat=2) |
| xen18-erlich-doublewide-14 | mos(Decimal('326.96'), Decimal('599.28'), 7, rotation=5, repeat=2) |
| xen18-erlich-doublewide-18 | mos(Decimal('326.96'), Decimal('599.28'), 9, rotation=2, repeat=2) |
| xen18-erlich-doublewide-22 | mos(Decimal('326.96'), Decimal('599.28'), 11, rotation=8, repeat=2) |
| xen18-erlich-doublewide-40 | mos(Decimal('326.96'), Decimal('599.28'), 20, rotation=10, repeat=2) |
| xen18-erlich-ennealimmal-09 | mos(Decimal('84.313'), Decimal('133.337'), 1, repeat=9) |
| xen18-erlich-ennealimmal-18 | mos(Decimal('84.313'), Decimal('133.337'), 2, rotation=1, repeat=9) |
| xen18-erlich-ennealimmal-27 | mos(Decimal('84.313'), Decimal('133.337'), 3, rotation=2, repeat=9) |
| xen18-erlich-ennealimmal-45 | mos(Decimal('84.313'), Decimal('133.337'), 5, rotation=1, repeat=9) |
| xen18-erlich-ennealimmal-72 | mos(Decimal('84.313'), Decimal('133.337'), 8, rotation=4, repeat=9) |
| xen18-erlich-ennealimmal-99 | mos(Decimal('84.313'), Decimal('133.337'), 11, rotation=2, repeat=9) |
| xen18-erlich-father-02 | mos(Decimal('447.4'), Decimal('1185.9'), 2, rotation=1) |
| xen18-erlich-father-03 | mos(Decimal('447.4'), Decimal('1185.9'), 3, rotation=1) |
| xen18-erlich-father-05 | mos(Decimal('447.4'), Decimal('1185.9'), 5, rotation=4) |
| xen18-erlich-father-08 | mos(Decimal('447.4'), Decimal('1185.9'), 8, rotation=4) |
| xen18-erlich-flattone-02 | mos(Decimal('507.14'), Decimal('1202.54'), 2, rotation=1) |
| xen18-erlich-flattone-03 | mos(Decimal('507.14'), Decimal('1202.54'), 3, rotation=1) |
| xen18-erlich-flattone-05 | mos(Decimal('507.14'), Decimal('1202.54'), 5, rotation=4) |
| xen18-erlich-flattone-07 | mos(Decimal('507.14'), Decimal('1202.54'), 7, rotation=2) |
| xen18-erlich-flattone-12 | mos(Decimal('507.14'), Decimal('1202.54'), 12, rotation=6) |
| xen18-erlich-flattone-19 | mos(Decimal('507.14'), Decimal('1202.54'), 19, rotation=15) |
| xen18-erlich-flattone-26 | mos(Decimal('507.14'), Decimal('1202.54'), 26, rotation=13) |
| xen18-erlich-flattone-45 | mos(Decimal('507.14'), Decimal('1202.54'), 45, rotation=13) |
| xen18-erlich-garibaldi-02 | mos(Decimal('702.64'), Decimal('1200.76'), 2, rotation=1) |
| xen18-erlich-garibaldi-03 | mos(Decimal('702.64'), Decimal('1200.76'), 3, rotation=2) |
| xen18-erlich-garibaldi-05 | mos(Decimal('702.64'), Decimal('1200.76'), 5, rotation=1) |
| xen18-erlich-garibaldi-07 | mos(Decimal('702.64'), Decimal('1200.76'), 7, rotation=5) |
| xen18-erlich-garibaldi-12 | mos(Decimal('702.64'), Decimal('1200.76'), 12, rotation=6) |
| xen18-erlich-garibaldi-17 | mos(Decimal('702.64'), Decimal('1200.76'), 17, rotation=12) |
| xen18-erlich-garibaldi-29 | mos(Decimal('702.64'), Decimal('1200.76'), 29, rotation=6) |
| xen18-erlich-garibaldi-41 | mos(Decimal('702.64'), Decimal('1200.76'), 41, rotation=29) |
| xen18-erlich-garibaldi-53 | mos(Decimal('702.64'), Decimal('1200.76'), 53, rotation=11) |
| xen18-erlich-hanson-02 | mos(Decimal('317.07'), Decimal('1200.29'), 2, rotation=1) |
| xen18-erlich-hanson-03 | mos(Decimal('317.07'), Decimal('1200.29'), 3, rotation=1) |
| xen18-erlich-hanson-04 | mos(Decimal('317.07'), Decimal('1200.29'), 4, rotation=2) |
| xen18-erlich-hanson-07 | mos(Decimal('317.07'), Decimal('1200.29'), 7, rotation=6) |
| xen18-erlich-hanson-11 | mos(Decimal('317.07'), Decimal('1200.29'), 11, rotation=4) |
| xen18-erlich-hanson-15 | mos(Decimal('317.07'), Decimal('1200.29'), 15, rotation=13) |
| xen18-erlich-hanson-19 | mos(Decimal('317.07'), Decimal('1200.29'), 19, rotation=7) |
| xen18-erlich-hanson-34 | mos(Decimal('317.07'), Decimal('1200.29'), 34, rotation=17) |
| xen18-erlich-hanson-53 | mos(Decimal('317.07'), Decimal('1200.29'), 53, rotation=46) |
| xen18-erlich-hedgehog-02 | mos(Decimal('436.13'), Decimal('598.45'), 1, repeat=2) |
| xen18-erlich-hedgehog-04 | mos(Decimal('436.13'), Decimal('598.45'), 2, rotation=1, repeat=2) |
| xen18-erlich-hedgehog-06 | mos(Decimal('436.13'), Decimal('598.45'), 3, rotation=2, repeat=2) |
| xen18-erlich-hedgehog-08 | mos(Decimal('436.13'), Decimal('598.45'), 4, rotation=2, repeat=2) |
| xen18-erlich-hedgehog-14 | mos(Decimal('436.13'), Decimal('598.45'), 7, rotation=1, repeat=2) |
| xen18-erlich-hedgehog-22 | mos(Decimal('436.13'), Decimal('598.45'), 11, rotation=7, repeat=2) |
| xen18-erlich-hedgehog-30 | mos(Decimal('436.13'), Decimal('598.45'), 15, rotation=2, repeat=2) |
| xen18-erlich-helmholtz-02 | mos(Decimal('701.79'), Decimal('1200.07'), 2, rotation=1) |
| xen18-erlich-helmholtz-03 | mos(Decimal('701.79'), Decimal('1200.07'), 3, rotation=2) |
| xen18-erlich-helmholtz-05 | mos(Decimal('701.79'), Decimal('1200.07'), 5, rotation=1) |
| xen18-erlich-helmholtz-07 | mos(Decimal('701.79'), Decimal('1200.07'), 7, rotation=5) |
| xen18-erlich-helmholtz-12 | mos(Decimal('701.79'), Decimal('1200.07'), 12, rotation=6) |
| xen18-erlich-helmholtz-17 | mos(Decimal('701.79'), Decimal('1200.07'), 17, rotation=12) |
| xen18-erlich-helmholtz-29 | mos(Decimal('701.79'), Decimal('1200.07'), 29, rotation=6) |
| xen18-erlich-helmholtz-41 | mos(Decimal('701.79'), Decimal('1200.07'), 41, rotation=29) |
| xen18-erlich-helmholtz-53 | mos(Decimal('701.79'), Decimal('1200.07'), 53, rotation=11) |
| xen18-erlich-injera-02 | mos(Decimal('507.28'), Decimal('600.89'), 1, repeat=2) |
| xen18-erlich-injera-04 | mos(Decimal('507.28'), Decimal('600.89'), 2, rotation=1, repeat=2) |
| xen18-erlich-injera-06 | mos(Decimal('507.28'), Decimal('600.89'), 3, rotation=2, repeat=2) |
| xen18-erlich-injera-08 | mos(Decimal('507.28'), Decimal('600.89'), 4, rotation=2, repeat=2) |
| xen18-erlich-injera-10 | mos(Decimal('507.28'), Decimal('600.89'), 5, rotation=3, repeat=2) |
| xen18-erlich-injera-12 | mos(Decimal('507.28'), Decimal('600.89'), 6, rotation=3, repeat=2) |
| xen18-erlich-injera-14 | mos(Decimal('507.28'), Decimal('600.89'), 7, rotation=4, repeat=2) |
| xen18-erlich-injera-26 | mos(Decimal('507.28'), Decimal('600.89'), 13, rotation=1, repeat=2) |
| xen18-erlich-injera-38 | mos(Decimal('507.28'), Decimal('600.89'), 19, rotation=11, repeat=2) |
| xen18-erlich-keemun-02 | mos(Decimal('317.84'), Decimal('1203.19'), 2, rotation=1) |
| xen18-erlich-keemun-03 | mos(Decimal('317.84'), Decimal('1203.19'), 3, rotation=1) |
| xen18-erlich-keemun-04 | mos(Decimal('317.84'), Decimal('1203.19'), 4, rotation=2) |
| xen18-erlich-keemun-07 | mos(Decimal('317.84'), Decimal('1203.19'), 7, rotation=6) |
| xen18-erlich-keemun-11 | mos(Decimal('317.84'), Decimal('1203.19'), 11, rotation=4) |
| xen18-erlich-keemun-15 | mos(Decimal('317.84'), Decimal('1203.19'), 15, rotation=13) |
| xen18-erlich-keemun-19 | mos(Decimal('317.84'), Decimal('1203.19'), 19, rotation=7) |
| xen18-erlich-keemun-34 | mos(Decimal('317.84'), Decimal('1203.19'), 34, rotation=17) |
| xen18-erlich-lemba-02 | mos(Decimal('230.87'), Decimal('601.70'), 1, repeat=2) |
| xen18-erlich-lemba-04 | mos(Decimal('230.87'), Decimal('601.70'), 2, rotation=1, repeat=2) |
| xen18-erlich-lemba-06 | mos(Decimal('230.87'), Decimal('601.70'), 3, rotation=1, repeat=2) |
| xen18-erlich-lemba-10 | mos(Decimal('230.87'), Decimal('601.70'), 5, rotation=4, repeat=2) |
| xen18-erlich-lemba-16 | mos(Decimal('230.87'), Decimal('601.70'), 8, rotation=4, repeat=2) |
| xen18-erlich-lemba-26 | mos(Decimal('230.87'), Decimal('601.70'), 13, rotation=4, repeat=2) |
| xen18-erlich-lemba-42 | mos(Decimal('230.87'), Decimal('601.70'), 21, rotation=17, repeat=2) |
| xen18-erlich-liese-02 | mos(Decimal('569.05'), Decimal('1202.62'), 2, rotation=1) |
| xen18-erlich-liese-03 | mos(Decimal('569.05'), Decimal('1202.62'), 3, rotation=1) |
| xen18-erlich-liese-05 | mos(Decimal('569.05'), Decimal('1202.62'), 5, rotation=4) |
| xen18-erlich-liese-07 | mos(Decimal('569.05'), Decimal('1202.62'), 7, rotation=2) |
| xen18-erlich-liese-09 | mos(Decimal('569.05'), Decimal('1202.62'), 9, rotation=7) |
| xen18-erlich-liese-11 | mos(Decimal('569.05'), Decimal('1202.62'), 11, rotation=3) |
| xen18-erlich-liese-13 | mos(Decimal('569.05'), Decimal('1202.62'), 13, rotation=10) |
| xen18-erlich-liese-15 | mos(Decimal('569.05'), Decimal('1202.62'), 15, rotation=4) |
| xen18-erlich-liese-17 | mos(Decimal('569.05'), Decimal('1202.62'), 17, rotation=13) |
| xen18-erlich-liese-19 | mos(Decimal('569.05'), Decimal('1202.62'), 19, rotation=5) |
| xen18-erlich-liese-36 | mos(Decimal('569.05'), Decimal('1202.62'), 36, rotation=18) |
| xen18-erlich-liese-55 | mos(Decimal('569.05'), Decimal('1202.62'), 55, rotation=42) |
| xen18-erlich-luna-02 | mos(Decimal('193.196'), Decimal('1199.98'), 2, rotation=1) |
| xen18-erlich-luna-03 | mos(Decimal('193.196'), Decimal('1199.98'), 3, rotation=1) |
| xen18-erlich-luna-04 | mos(Decimal('193.196'), Decimal('1199.98'), 4, rotation=2) |
| xen18-erlich-luna-05 | mos(Decimal('193.196'), Decimal('1199.98'), 5, rotation=2) |
| xen18-erlich-luna-06 | mos(Decimal('193.196'), Decimal('1199.98'), 6, rotation=3) |
| xen18-erlich-luna-07 | mos(Decimal('193.196'), Decimal('1199.98'), 7, rotation=3) |
| xen18-erlich-luna-13 | mos(Decimal('193.196'), Decimal('1199.98'), 13, rotation=12) |
| xen18-erlich-luna-19 | mos(Decimal('193.196'), Decimal('1199.98'), 19, rotation=8) |
| xen18-erlich-luna-25 | mos(Decimal('193.196'), Decimal('1199.98'), 25, rotation=23) |
| xen18-erlich-luna-31 | mos(Decimal('193.196'), Decimal('1199.98'), 31, rotation=13) |
| xen18-erlich-luna-56 | mos(Decimal('193.196'), Decimal('1199.98'), 56, rotation=28) |
| xen18-erlich-luna-87 | mos(Decimal('193.196'), Decimal('1199.98'), 87, rotation=80) |
| xen18-erlich-magic-02 | mos(Decimal('380.80'), Decimal('1201.28'), 2, rotation=1) |
| xen18-erlich-magic-03 | mos(Decimal('380.80'), Decimal('1201.28'), 3, rotation=1) |
| xen18-erlich-magic-04 | mos(Decimal('380.80'), Decimal('1201.28'), 4, rotation=2) |
| xen18-erlich-magic-07 | mos(Decimal('380.80'), Decimal('1201.28'), 7, rotation=6) |
| xen18-erlich-magic-10 | mos(Decimal('380.80'), Decimal('1201.28'), 10, rotation=5) |
| xen18-erlich-magic-13 | mos(Decimal('380.80'), Decimal('1201.28'), 13, rotation=11) |
| xen18-erlich-magic-16 | mos(Decimal('380.80'), Decimal('1201.28'), 16, rotation=8) |
| xen18-erlich-magic-19 | mos(Decimal('380.80'), Decimal('1201.28'), 19, rotation=16) |
| xen18-erlich-magic-22 | mos(Decimal('380.80'), Decimal('1201.28'), 22, rotation=11) |
| xen18-erlich-magic-41 | mos(Decimal('380.80'), Decimal('1201.28'), 41, rotation=14) |
| xen18-erlich-magic-60 | mos(Decimal('380.80'), Decimal('1201.28'), 60, rotation=30) |
| xen18-erlich-mavila-02 | mos(Decimal('685.03'), Decimal('1206.55'), 2, rotation=1) |
| xen18-erlich-mavila-03 | mos(Decimal('685.03'), Decimal('1206.55'), 3, rotation=2) |
| xen18-erlich-mavila-05 | mos(Decimal('685.03'), Decimal('1206.55'), 5, rotation=1) |
| xen18-erlich-mavila-07 | mos(Decimal('685.03'), Decimal('1206.55'), 7, rotation=5) |
| xen18-erlich-mavila-09 | mos(Decimal('685.03'), Decimal('1206.55'), 9, rotation=2) |
| xen18-erlich-mavila-16 | mos(Decimal('685.03'), Decimal('1206.55'), 16, rotation=8) |
| xen18-erlich-meantone-02 | mos(Decimal('504.13'), Decimal('1201.70'), 2, rotation=1) |
| xen18-erlich-meantone-03 | mos(Decimal('504.13'), Decimal('1201.70'), 3, rotation=1) |
| xen18-erlich-meantone-05 | mos(Decimal('504.13'), Decimal('1201.70'), 5, rotation=4) |
| xen18-erlich-meantone-07 | mos(Decimal('504.13'), Decimal('1201.70'), 7, rotation=2) |
| xen18-erlich-meantone-12 | mos(Decimal('504.13'), Decimal('1201.70'), 12, rotation=6) |
| xen18-erlich-meantone-19 | mos(Decimal('504.13'), Decimal('1201.70'), 19, rotation=15) |
| xen18-erlich-meantone-31 | mos(Decimal('504.13'), Decimal('1201.70'), 31, rotation=9) |
| xen18-erlich-meantone-50 | mos(Decimal('504.13'), Decimal('1201.70'), 50, rotation=25) |
| xen18-erlich-miracle-02 | mos(Decimal('116.72'), Decimal('1200.63'), 2, rotation=1) |
| xen18-erlich-miracle-03 | mos(Decimal('116.72'), Decimal('1200.63'), 3, rotation=1) |
| xen18-erlich-miracle-04 | mos(Decimal('116.72'), Decimal('1200.63'), 4, rotation=2) |
| xen18-erlich-miracle-05 | mos(Decimal('116.72'), Decimal('1200.63'), 5, rotation=2) |
| xen18-erlich-miracle-06 | mos(Decimal('116.72'), Decimal('1200.63'), 6, rotation=3) |
| xen18-erlich-miracle-07 | mos(Decimal('116.72'), Decimal('1200.63'), 7, rotation=3) |
| xen18-erlich-miracle-08 | mos(Decimal('116.72'), Decimal('1200.63'), 8, rotation=4) |
| xen18-erlich-miracle-09 | mos(Decimal('116.72'), Decimal('1200.63'), 9, rotation=4) |
| xen18-erlich-miracle-10 | mos(Decimal('116.72'), Decimal('1200.63'), 10, rotation=5) |
| xen18-erlich-miracle-11 | mos(Decimal('116.72'), Decimal('1200.63'), 11, rotation=5) |
| xen18-erlich-miracle-21 | mos(Decimal('116.72'), Decimal('1200.63'), 21, rotation=20) |
| xen18-erlich-miracle-31 | mos(Decimal('116.72'), Decimal('1200.63'), 31, rotation=14) |
| xen18-erlich-miracle-41 | mos(Decimal('116.72'), Decimal('1200.63'), 41, rotation=39) |
| xen18-erlich-miracle-72 | mos(Decimal('116.72'), Decimal('1200.63'), 72, rotation=36) |
| xen18-erlich-myna-02 | mos(Decimal('888.94'), Decimal('1198.83'), 2, rotation=1) |
| xen18-erlich-myna-03 | mos(Decimal('888.94'), Decimal('1198.83'), 3, rotation=2) |
| xen18-erlich-myna-04 | mos(Decimal('888.94'), Decimal('1198.83'), 4, rotation=2) |
| xen18-erlich-myna-07 | mos(Decimal('888.94'), Decimal('1198.83'), 7, rotation=1) |
| xen18-erlich-myna-11 | mos(Decimal('888.94'), Decimal('1198.83'), 11, rotation=7) |
| xen18-erlich-myna-15 | mos(Decimal('888.94'), Decimal('1198.83'), 15, rotation=2) |
| xen18-erlich-myna-19 | mos(Decimal('888.94'), Decimal('1198.83'), 19, rotation=12) |
| xen18-erlich-myna-23 | mos(Decimal('888.94'), Decimal('1198.83'), 23, rotation=3) |
| xen18-erlich-myna-27 | mos(Decimal('888.94'), Decimal('1198.83'), 27, rotation=17) |
| xen18-erlich-myna-31 | mos(Decimal('888.94'), Decimal('1198.83'), 31, rotation=4) |
| xen18-erlich-myna-58 | mos(Decimal('888.94'), Decimal('1198.83'), 58, rotation=29) |
| xen18-erlich-nautilus-02 | mos(Decimal('1119.69'), Decimal('1202.66'), 2, rotation=1) |
| xen18-erlich-nautilus-03 | mos(Decimal('1119.69'), Decimal('1202.66'), 3, rotation=2) |
| xen18-erlich-nautilus-04 | mos(Decimal('1119.69'), Decimal('1202.66'), 4, rotation=2) |
| xen18-erlich-nautilus-05 | mos(Decimal('1119.69'), Decimal('1202.66'), 5, rotation=3) |
| xen18-erlich-nautilus-06 | mos(Decimal('1119.69'), Decimal('1202.66'), 6, rotation=3) |
| xen18-erlich-nautilus-07 | mos(Decimal('1119.69'), Decimal('1202.66'), 7, rotation=4) |
| xen18-erlich-nautilus-08 | mos(Decimal('1119.69'), Decimal('1202.66'), 8, rotation=4) |
| xen18-erlich-nautilus-09 | mos(Decimal('1119.69'), Decimal('1202.66'), 9, rotation=5) |
| xen18-erlich-nautilus-10 | mos(Decimal('1119.69'), Decimal('1202.66'), 10, rotation=5) |
| xen18-erlich-nautilus-11 | mos(Decimal('1119.69'), Decimal('1202.66'), 11, rotation=6) |
| xen18-erlich-nautilus-12 | mos(Decimal('1119.69'), Decimal('1202.66'), 12, rotation=6) |
| xen18-erlich-nautilus-13 | mos(Decimal('1119.69'), Decimal('1202.66'), 13, rotation=7) |
| xen18-erlich-nautilus-14 | mos(Decimal('1119.69'), Decimal('1202.66'), 14, rotation=7) |
| xen18-erlich-nautilus-15 | mos(Decimal('1119.69'), Decimal('1202.66'), 15, rotation=8) |
| xen18-erlich-nautilus-29 | mos(Decimal('1119.69'), Decimal('1202.66'), 29, rotation=1) |
| xen18-erlich-nautilus-43 | mos(Decimal('1119.69'), Decimal('1202.66'), 43, rotation=23) |
| xen18-erlich-negripent-02 | mos(Decimal('1075.68'), Decimal('1201.82'), 2, rotation=1) |
| xen18-erlich-negripent-03 | mos(Decimal('1075.68'), Decimal('1201.82'), 3, rotation=2) |
| xen18-erlich-negripent-04 | mos(Decimal('1075.68'), Decimal('1201.82'), 4, rotation=2) |
| xen18-erlich-negripent-05 | mos(Decimal('1075.68'), Decimal('1201.82'), 5, rotation=3) |
| xen18-erlich-negripent-06 | mos(Decimal('1075.68'), Decimal('1201.82'), 6, rotation=3) |
| xen18-erlich-negripent-07 | mos(Decimal('1075.68'), Decimal('1201.82'), 7, rotation=4) |
| xen18-erlich-negripent-08 | mos(Decimal('1075.68'), Decimal('1201.82'), 8, rotation=4) |
| xen18-erlich-negripent-09 | mos(Decimal('1075.68'), Decimal('1201.82'), 9, rotation=5) |
| xen18-erlich-negripent-10 | mos(Decimal('1075.68'), Decimal('1201.82'), 10, rotation=5) |
| xen18-erlich-negripent-19 | mos(Decimal('1075.68'), Decimal('1201.82'), 19, rotation=1) |
| xen18-erlich-negripent-29 | mos(Decimal('1075.68'), Decimal('1201.82'), 29, rotation=16) |
| xen18-erlich-negrisept-02 | mos(Decimal('1078.35'), Decimal('1203.19'), 2, rotation=1) |
| xen18-erlich-negrisept-03 | mos(Decimal('1078.35'), Decimal('1203.19'), 3, rotation=2) |
| xen18-erlich-negrisept-04 | mos(Decimal('1078.35'), Decimal('1203.19'), 4, rotation=2) |
| xen18-erlich-negrisept-05 | mos(Decimal('1078.35'), Decimal('1203.19'), 5, rotation=3) |
| xen18-erlich-negrisept-06 | mos(Decimal('1078.35'), Decimal('1203.19'), 6, rotation=3) |
| xen18-erlich-negrisept-07 | mos(Decimal('1078.35'), Decimal('1203.19'), 7, rotation=4) |
| xen18-erlich-negrisept-08 | mos(Decimal('1078.35'), Decimal('1203.19'), 8, rotation=4) |
| xen18-erlich-negrisept-09 | mos(Decimal('1078.35'), Decimal('1203.19'), 9, rotation=5) |
| xen18-erlich-negrisept-10 | mos(Decimal('1078.35'), Decimal('1203.19'), 10, rotation=5) |
| xen18-erlich-negrisept-19 | mos(Decimal('1078.35'), Decimal('1203.19'), 19, rotation=1) |
| xen18-erlich-negrisept-29 | mos(Decimal('1078.35'), Decimal('1203.19'), 29, rotation=16) |
| xen18-erlich-orson-02 | mos(Decimal('271.65'), Decimal('1200.24'), 2, rotation=1) |
| xen18-erlich-orson-03 | mos(Decimal('271.65'), Decimal('1200.24'), 3, rotation=1) |
| xen18-erlich-orson-04 | mos(Decimal('271.65'), Decimal('1200.24'), 4, rotation=2) |
| xen18-erlich-orson-05 | mos(Decimal('271.65'), Decimal('1200.24'), 5, rotation=2) |
| xen18-erlich-orson-09 | mos(Decimal('271.65'), Decimal('1200.24'), 9, rotation=8) |
| xen18-erlich-orson-13 | mos(Decimal('271.65'), Decimal('1200.24'), 13, rotation=5) |
| xen18-erlich-orson-22 | mos(Decimal('271.65'), Decimal('1200.24'), 22, rotation=11) |
| xen18-erlich-orson-31 | mos(Decimal('271.65'), Decimal('1200.24'), 31, rotation=12) |
| xen18-erlich-orson-53 | mos(Decimal('271.65'), Decimal('1200.24'), 53, rotation=47) |
| xen18-erlich-orwell-02 | mos(Decimal('271.49'), Decimal('1199.53'), 2, rotation=1) |
| xen18-erlich-orwell-03 | mos(Decimal('271.49'), Decimal('1199.53'), 3, rotation=1) |
| xen18-erlich-orwell-04 | mos(Decimal('271.49'), Decimal('1199.53'), 4, rotation=2) |
| xen18-erlich-orwell-05 | mos(Decimal('271.49'), Decimal('1199.53'), 5, rotation=2) |
| xen18-erlich-orwell-09 | mos(Decimal('271.49'), Decimal('1199.53'), 9, rotation=8) |
| xen18-erlich-orwell-13 | mos(Decimal('271.49'), Decimal('1199.53'), 13, rotation=5) |
| xen18-erlich-orwell-22 | mos(Decimal('271.49'), Decimal('1199.53'), 22, rotation=11) |
| xen18-erlich-orwell-31 | mos(Decimal('271.49'), Decimal('1199.53'), 31, rotation=12) |
| xen18-erlich-orwell-53 | mos(Decimal('271.49'), Decimal('1199.53'), 53, rotation=47) |
| xen18-erlich-pajara-02 | mos(Decimal('491.88'), Decimal('598.45'), 1, repeat=2) |
| xen18-erlich-pajara-04 | mos(Decimal('491.88'), Decimal('598.45'), 2, rotation=1, repeat=2) |
| xen18-erlich-pajara-06 | mos(Decimal('491.88'), Decimal('598.45'), 3, rotation=2, repeat=2) |
| xen18-erlich-pajara-08 | mos(Decimal('491.88'), Decimal('598.45'), 4, rotation=2, repeat=2) |
| xen18-erlich-pajara-10 | mos(Decimal('491.88'), Decimal('598.45'), 5, rotation=3, repeat=2) |
| xen18-erlich-pajara-12 | mos(Decimal('491.88'), Decimal('598.45'), 6, rotation=3, repeat=2) |
| xen18-erlich-pajara-22 | mos(Decimal('491.88'), Decimal('598.45'), 11, rotation=1, repeat=2) |
| xen18-erlich-pajara-34 | mos(Decimal('491.88'), Decimal('598.45'), 17, rotation=10, repeat=2) |
| xen18-erlich-passion-02 | mos(Decimal('98.40'), Decimal('1198.31'), 2, rotation=1) |
| xen18-erlich-passion-03 | mos(Decimal('98.40'), Decimal('1198.31'), 3, rotation=1) |
| xen18-erlich-passion-04 | mos(Decimal('98.40'), Decimal('1198.31'), 4, rotation=2) |
| xen18-erlich-passion-05 | mos(Decimal('98.40'), Decimal('1198.31'), 5, rotation=2) |
| xen18-erlich-passion-06 | mos(Decimal('98.40'), Decimal('1198.31'), 6, rotation=3) |
| xen18-erlich-passion-07 | mos(Decimal('98.40'), Decimal('1198.31'), 7, rotation=3) |
| xen18-erlich-passion-08 | mos(Decimal('98.40'), Decimal('1198.31'), 8, rotation=4) |
| xen18-erlich-passion-09 | mos(Decimal('98.40'), Decimal('1198.31'), 9, rotation=4) |
| xen18-erlich-passion-10 | mos(Decimal('98.40'), Decimal('1198.31'), 10, rotation=5) |
| xen18-erlich-passion-11 | mos(Decimal('98.40'), Decimal('1198.31'), 11, rotation=5) |
| xen18-erlich-passion-12 | mos(Decimal('98.40'), Decimal('1198.31'), 12, rotation=6) |
| xen18-erlich-passion-13 | mos(Decimal('98.40'), Decimal('1198.31'), 13, rotation=6) |
| xen18-erlich-passion-25 | mos(Decimal('98.40'), Decimal('1198.31'), 25, rotation=24) |
| xen18-erlich-passion-37 | mos(Decimal('98.40'), Decimal('1198.31'), 37, rotation=17) |
| xen18-erlich-passion-49 | mos(Decimal('98.40'), Decimal('1198.31'), 49, rotation=47) |
| xen18-erlich-porcupine-02 | mos(Decimal('1034.59'), Decimal('1196.91'), 2, rotation=1) |
| xen18-erlich-porcupine-03 | mos(Decimal('1034.59'), Decimal('1196.91'), 3, rotation=2) |
| xen18-erlich-porcupine-04 | mos(Decimal('1034.59'), Decimal('1196.91'), 4, rotation=2) |
| xen18-erlich-porcupine-05 | mos(Decimal('1034.59'), Decimal('1196.91'), 5, rotation=3) |
| xen18-erlich-porcupine-06 | mos(Decimal('1034.59'), Decimal('1196.91'), 6, rotation=3) |
| xen18-erlich-porcupine-07 | mos(Decimal('1034.59'), Decimal('1196.91'), 7, rotation=4) |
| xen18-erlich-porcupine-08 | mos(Decimal('1034.59'), Decimal('1196.91'), 8, rotation=4) |
| xen18-erlich-porcupine-15 | mos(Decimal('1034.59'), Decimal('1196.91'), 15, rotation=1) |
| xen18-erlich-porcupine-22 | mos(Decimal('1034.59'), Decimal('1196.91'), 22, rotation=11) |
| xen18-erlich-porcupine-37 | mos(Decimal('1034.59'), Decimal('1196.91'), 37, rotation=21) |
| xen18-erlich-ripple-02 | mos(Decimal('101.99'), Decimal('1203.32'), 2, rotation=1) |
| xen18-erlich-ripple-03 | mos(Decimal('101.99'), Decimal('1203.32'), 3, rotation=1) |
| xen18-erlich-ripple-04 | mos(Decimal('101.99'), Decimal('1203.32'), 4, rotation=2) |
| xen18-erlich-ripple-05 | mos(Decimal('101.99'), Decimal('1203.32'), 5, rotation=2) |
| xen18-erlich-ripple-06 | mos(Decimal('101.99'), Decimal('1203.32'), 6, rotation=3) |
| xen18-erlich-ripple-07 | mos(Decimal('101.99'), Decimal('1203.32'), 7, rotation=3) |
| xen18-erlich-ripple-08 | mos(Decimal('101.99'), Decimal('1203.32'), 8, rotation=4) |
| xen18-erlich-ripple-09 | mos(Decimal('101.99'), Decimal('1203.32'), 9, rotation=4) |
| xen18-erlich-ripple-10 | mos(Decimal('101.99'), Decimal('1203.32'), 10, rotation=5) |
| xen18-erlich-ripple-11 | mos(Decimal('101.99'), Decimal('1203.32'), 11, rotation=5) |
| xen18-erlich-ripple-12 | mos(Decimal('101.99'), Decimal('1203.32'), 12, rotation=6) |
| xen18-erlich-ripple-23 | mos(Decimal('101.99'), Decimal('1203.32'), 23, rotation=22) |
| xen18-erlich-ripple-35 | mos(Decimal('101.99'), Decimal('1203.32'), 35, rotation=16) |
| xen18-erlich-semaphore-02 | mos(Decimal('252.48'), Decimal('1203.67'), 2, rotation=1) |
| xen18-erlich-semaphore-03 | mos(Decimal('252.48'), Decimal('1203.67'), 3, rotation=1) |
| xen18-erlich-semaphore-04 | mos(Decimal('252.48'), Decimal('1203.67'), 4, rotation=2) |
| xen18-erlich-semaphore-05 | mos(Decimal('252.48'), Decimal('1203.67'), 5, rotation=2) |
| xen18-erlich-semaphore-09 | mos(Decimal('252.48'), Decimal('1203.67'), 9, rotation=8) |
| xen18-erlich-semaphore-14 | mos(Decimal('252.48'), Decimal('1203.67'), 14, rotation=7) |
| xen18-erlich-semaphore-19 | mos(Decimal('252.48'), Decimal('1203.67'), 19, rotation=17) |
| xen18-erlich-semaphore-24 | mos(Decimal('252.48'), Decimal('1203.67'), 24, rotation=12) |
| xen18-erlich-sensipent-02 | mos(Decimal('756.60'), Decimal('1199.59'), 2, rotation=1) |
| xen18-erlich-sensipent-03 | mos(Decimal('756.60'), Decimal('1199.59'), 3, rotation=2) |
| xen18-erlich-sensipent-05 | mos(Decimal('756.60'), Decimal('1199.59'), 5, rotation=1) |
| xen18-erlich-sensipent-08 | mos(Decimal('756.60'), Decimal('1199.59'), 8, rotation=4) |
| xen18-erlich-sensipent-11 | mos(Decimal('756.60'), Decimal('1199.59'), 11, rotation=2) |
| xen18-erlich-sensipent-19 | mos(Decimal('756.60'), Decimal('1199.59'), 19, rotation=13) |
| xen18-erlich-sensipent-27 | mos(Decimal('756.60'), Decimal('1199.59'), 27, rotation=5) |
| xen18-erlich-sensipent-46 | mos(Decimal('756.60'), Decimal('1199.59'), 46, rotation=23) |
| xen18-erlich-sensisept-02 | mos(Decimal('755.23'), Decimal('1198.39'), 2, rotation=1) |
| xen18-erlich-sensisept-03 | mos(Decimal('755.23'), Decimal('1198.39'), 3, rotation=2) |
| xen18-erlich-sensisept-05 | mos(Decimal('755.23'), Decimal('1198.39'), 5, rotation=1) |
| xen18-erlich-sensisept-08 | mos(Decimal('755.23'), Decimal('1198.39'), 8, rotation=4) |
| xen18-erlich-sensisept-11 | mos(Decimal('755.23'), Decimal('1198.39'), 11, rotation=2) |
| xen18-erlich-sensisept-19 | mos(Decimal('755.23'), Decimal('1198.39'), 19, rotation=13) |
| xen18-erlich-sensisept-27 | mos(Decimal('755.23'), Decimal('1198.39'), 27, rotation=5) |
| xen18-erlich-sensisept-46 | mos(Decimal('755.23'), Decimal('1198.39'), 46, rotation=23) |
| xen18-erlich-srutal-02 | mos(Decimal('494.86'), Decimal('599.56'), 1, repeat=2) |
| xen18-erlich-srutal-04 | mos(Decimal('494.86'), Decimal('599.56'), 2, rotation=1, repeat=2) |
| xen18-erlich-srutal-06 | mos(Decimal('494.86'), Decimal('599.56'), 3, rotation=2, repeat=2) |
| xen18-erlich-srutal-08 | mos(Decimal('494.86'), Decimal('599.56'), 4, rotation=2, repeat=2) |
| xen18-erlich-srutal-10 | mos(Decimal('494.86'), Decimal('599.56'), 5, rotation=3, repeat=2) |
| xen18-erlich-srutal-12 | mos(Decimal('494.86'), Decimal('599.56'), 6, rotation=3, repeat=2) |
| xen18-erlich-srutal-22 | mos(Decimal('494.86'), Decimal('599.56'), 11, rotation=1, repeat=2) |
| xen18-erlich-srutal-34 | mos(Decimal('494.86'), Decimal('599.56'), 17, rotation=10, repeat=2) |
| xen18-erlich-srutal-46 | mos(Decimal('494.86'), Decimal('599.56'), 23, rotation=2, repeat=2) |
| xen18-erlich-superpyth-02 | mos(Decimal('708.17'), Decimal('1197.60'), 2, rotation=1) |
| xen18-erlich-superpyth-03 | mos(Decimal('708.17'), Decimal('1197.60'), 3, rotation=2) |
| xen18-erlich-superpyth-05 | mos(Decimal('708.17'), Decimal('1197.60'), 5, rotation=1) |
| xen18-erlich-superpyth-07 | mos(Decimal('708.17'), Decimal('1197.60'), 7, rotation=5) |
| xen18-erlich-superpyth-12 | mos(Decimal('708.17'), Decimal('1197.60'), 12, rotation=6) |
| xen18-erlich-superpyth-17 | mos(Decimal('708.17'), Decimal('1197.60'), 17, rotation=12) |
| xen18-erlich-superpyth-22 | mos(Decimal('708.17'), Decimal('1197.60'), 22, rotation=11) |
| xen18-erlich-superpyth-27 | mos(Decimal('708.17'), Decimal('1197.60'), 27, rotation=19) |
| xen18-erlich-tetracot-02 | mos(Decimal('176.11'), Decimal('1199.03'), 2, rotation=1) |
| xen18-erlich-tetracot-03 | mos(Decimal('176.11'), Decimal('1199.03'), 3, rotation=1) |
| xen18-erlich-tetracot-04 | mos(Decimal('176.11'), Decimal('1199.03'), 4, rotation=2) |
| xen18-erlich-tetracot-05 | mos(Decimal('176.11'), Decimal('1199.03'), 5, rotation=2) |
| xen18-erlich-tetracot-06 | mos(Decimal('176.11'), Decimal('1199.03'), 6, rotation=3) |
| xen18-erlich-tetracot-07 | mos(Decimal('176.11'), Decimal('1199.03'), 7, rotation=3) |
| xen18-erlich-tetracot-13 | mos(Decimal('176.11'), Decimal('1199.03'), 13, rotation=12) |
| xen18-erlich-tetracot-20 | mos(Decimal('176.11'), Decimal('1199.03'), 20, rotation=10) |
| xen18-erlich-tetracot-27 | mos(Decimal('176.11'), Decimal('1199.03'), 27, rotation=25) |
| xen18-erlich-tetracot-34 | mos(Decimal('176.11'), Decimal('1199.03'), 34, rotation=17) |
| xen18-erlich-tetracot-41 | mos(Decimal('176.11'), Decimal('1199.03'), 41, rotation=38) |
| xen18-erlich-vishnu-02 | mos(Decimal('71.15'), Decimal('599.97'), 1, repeat=2) |
| xen18-erlich-vishnu-04 | mos(Decimal('71.15'), Decimal('599.97'), 2, rotation=1, repeat=2) |
| xen18-erlich-vishnu-06 | mos(Decimal('71.15'), Decimal('599.97'), 3, rotation=1, repeat=2) |
| xen18-erlich-vishnu-08 | mos(Decimal('71.15'), Decimal('599.97'), 4, rotation=2, repeat=2) |
| xen18-erlich-vishnu-10 | mos(Decimal('71.15'), Decimal('599.97'), 5, rotation=2, repeat=2) |
| xen18-erlich-vishnu-12 | mos(Decimal('71.15'), Decimal('599.97'), 6, rotation=3, repeat=2) |
| xen18-erlich-vishnu-14 | mos(Decimal('71.15'), Decimal('599.97'), 7, rotation=3, repeat=2) |
| xen18-erlich-vishnu-16 | mos(Decimal('71.15'), Decimal('599.97'), 8, rotation=4, repeat=2) |
| xen18-erlich-vishnu-18 | mos(Decimal('71.15'), Decimal('599.97'), 9, rotation=4, repeat=2) |
| xen18-erlich-vishnu-34 | mos(Decimal('71.15'), Decimal('599.97'), 17, rotation=16, repeat=2) |
| xen18-erlich-vishnu-50 | mos(Decimal('71.15'), Decimal('599.97'), 25, rotation=11, repeat=2) |
| xen18-erlich-vishnu-84 | mos(Decimal('71.15'), Decimal('599.97'), 42, rotation=21, repeat=2) |
| xen18-erlich-wurschmidt-02 | mos(Decimal('812.05'), Decimal('1199.69'), 2, rotation=1) |
| xen18-erlich-wurschmidt-03 | mos(Decimal('812.05'), Decimal('1199.69'), 3, rotation=2) |
| xen18-erlich-wurschmidt-04 | mos(Decimal('812.05'), Decimal('1199.69'), 4, rotation=2) |
| xen18-erlich-wurschmidt-07 | mos(Decimal('812.05'), Decimal('1199.69'), 7, rotation=1) |
| xen18-erlich-wurschmidt-10 | mos(Decimal('812.05'), Decimal('1199.69'), 10, rotation=5) |
| xen18-erlich-wurschmidt-13 | mos(Decimal('812.05'), Decimal('1199.69'), 13, rotation=2) |
| xen18-erlich-wurschmidt-16 | mos(Decimal('812.05'), Decimal('1199.69'), 16, rotation=8) |
| xen18-erlich-wurschmidt-19 | mos(Decimal('812.05'), Decimal('1199.69'), 19, rotation=3) |
| xen18-erlich-wurschmidt-22 | mos(Decimal('812.05'), Decimal('1199.69'), 22, rotation=11) |
| xen18-erlich-wurschmidt-25 | mos(Decimal('812.05'), Decimal('1199.69'), 25, rotation=4) |
| xen18-erlich-wurschmidt-28 | mos(Decimal('812.05'), Decimal('1199.69'), 28, rotation=14) |
| xen18-erlich-wurschmidt-31 | mos(Decimal('812.05'), Decimal('1199.69'), 31, rotation=5) |
| xen18-erlich-wurschmidt-34 | mos(Decimal('812.05'), Decimal('1199.69'), 34, rotation=17) |
| xen18-erlich-wurschmidt-65 | mos(Decimal('812.05'), Decimal('1199.69'), 65, rotation=43) |