diff options
author | Monty Taylor <mordred@inaugust.com> | 2018-04-21 02:12:19 +0200 |
---|---|---|
committer | Monty Taylor <mordred@inaugust.com> | 2018-04-21 02:12:19 +0200 |
commit | ac692c16378fb9ff1d58f7b9505563c4b4b4d641 (patch) | |
tree | d5bd7bcccf285b54e58e49af67ec954f7ec7ceb7 /src | |
parent | 5be1b057adf8a639f718409b2fd8986272d05ac0 (diff) |
Add thousands of projects talk
Diffstat (limited to 'src')
92 files changed, 4636 insertions, 0 deletions
diff --git a/src/thousands/cp437utf8.py b/src/thousands/cp437utf8.py new file mode 100644 index 0000000..9b1b629 --- /dev/null +++ b/src/thousands/cp437utf8.py | |||
@@ -0,0 +1,69 @@ | |||
1 | # _______ | ||
2 | # ____________ _______ _\__ /_________ ___ _____ | ||
3 | # | _ _ \ _ | ____\ _ / | |/ _ \ | ||
4 | # | / / / / | | | /___/ _ | | / / | ||
5 | # |___/___/ /___/____|________|___ | |_| |___|_____/ | ||
6 | # \__/ |___| | ||
7 | # | ||
8 | # | ||
9 | # (c) 2009-2012 Wijnand Modderman-Lenstra <maze@pyth0n.org> | ||
10 | # MIT License | ||
11 | # | ||
12 | |||
13 | CP437 = ( | ||
14 | u'\u0000', u'\u0001', u'\u0002', u'\u0003', u'\u0004', u'\u0005', | ||
15 | u'\u0006', u'\u0007', u'\u0008', u'\u0009', u'\u000A', u'\u000B', | ||
16 | u'\u000C', u'\u000D', u'\u000E', u'\u000F', u'\u0010', u'\u0011', | ||
17 | u'\u0012', u'\u0013', u'\u0014', u'\u0015', u'\u0016', u'\u0017', | ||
18 | u'\u0018', u'\u0019', u'\u001A', u'\u001B', u'\u001C', u'\u001D', | ||
19 | u'\u001E', u'\u001F', u'\u0020', u'\u0021', u'\u0022', u'\u0023', | ||
20 | u'\u0024', u'\u0025', u'\u0026', u'\u0027', u'\u0028', u'\u0029', | ||
21 | u'\u002A', u'\u002B', u'\u002C', u'\u002D', u'\u002E', u'\u002F', | ||
22 | u'\u0030', u'\u0031', u'\u0032', u'\u0033', u'\u0034', u'\u0035', | ||
23 | u'\u0036', u'\u0037', u'\u0038', u'\u0039', u'\u003A', u'\u003B', | ||
24 | u'\u003C', u'\u003D', u'\u003E', u'\u003F', u'\u0040', u'\u0041', | ||
25 | u'\u0042', u'\u0043', u'\u0044', u'\u0045', u'\u0046', u'\u0047', | ||
26 | u'\u0048', u'\u0049', u'\u004A', u'\u004B', u'\u004C', u'\u004D', | ||
27 | u'\u004E', u'\u004F', u'\u0050', u'\u0051', u'\u0052', u'\u0053', | ||
28 | u'\u0054', u'\u0055', u'\u0056', u'\u0057', u'\u0058', u'\u0059', | ||
29 | u'\u005A', u'\u005B', u'\u005C', u'\u005D', u'\u005E', u'\u005F', | ||
30 | u'\u0060', u'\u0061', u'\u0062', u'\u0063', u'\u0064', u'\u0065', | ||
31 | u'\u0066', u'\u0067', u'\u0068', u'\u0069', u'\u006A', u'\u006B', | ||
32 | u'\u006C', u'\u006D', u'\u006E', u'\u006F', u'\u0070', u'\u0071', | ||
33 | u'\u0072', u'\u0073', u'\u0074', u'\u0075', u'\u0076', u'\u0077', | ||
34 | u'\u0078', u'\u0079', u'\u007A', u'\u007B', u'\u007C', u'\u007D', | ||
35 | u'\u007E', u'\u007F', u'\u00C7', u'\u00FC', u'\u00E9', u'\u00E2', | ||
36 | u'\u00E4', u'\u00E0', u'\u00E5', u'\u00E7', u'\u00EA', u'\u00EB', | ||
37 | u'\u00E8', u'\u00EF', u'\u00EE', u'\u00EC', u'\u00C4', u'\u00C5', | ||
38 | u'\u00C9', u'\u00E6', u'\u00C6', u'\u00F4', u'\u00F6', u'\u00F2', | ||
39 | u'\u00FB', u'\u00F9', u'\u00FF', u'\u00D6', u'\u00DC', u'\u00A2', | ||
40 | u'\u00A3', u'\u00A5', u'\u20A7', u'\u0192', u'\u00E1', u'\u00ED', | ||
41 | u'\u00F3', u'\u00FA', u'\u00F1', u'\u00D1', u'\u00AA', u'\u00BA', | ||
42 | u'\u00BF', u'\u2310', u'\u00AC', u'\u00BD', u'\u00BC', u'\u00A1', | ||
43 | u'\u00AB', u'\u00BB', u'\u2591', u'\u2592', u'\u2593', u'\u2502', | ||
44 | u'\u2524', u'\u2561', u'\u2562', u'\u2556', u'\u2555', u'\u2563', | ||
45 | u'\u2551', u'\u2557', u'\u255D', u'\u255C', u'\u255B', u'\u2510', | ||
46 | u'\u2514', u'\u2534', u'\u252C', u'\u251C', u'\u2500', u'\u253C', | ||
47 | u'\u255E', u'\u255F', u'\u255A', u'\u2554', u'\u2569', u'\u2566', | ||
48 | u'\u2560', u'\u2550', u'\u256C', u'\u2567', u'\u2568', u'\u2564', | ||
49 | u'\u2565', u'\u2559', u'\u2558', u'\u2552', u'\u2553', u'\u256B', | ||
50 | u'\u256A', u'\u2518', u'\u250C', u'\u2588', u'\u2584', u'\u258C', | ||
51 | u'\u2590', u'\u2580', u'\u03B1', u'\u00DF', u'\u0393', u'\u03C0', | ||
52 | u'\u03A3', u'\u03C3', u'\u00B5', u'\u03C4', u'\u03A6', u'\u0398', | ||
53 | u'\u03A9', u'\u03B4', u'\u221E', u'\u03C6', u'\u03B5', u'\u2229', | ||
54 | u'\u2261', u'\u00B1', u'\u2265', u'\u2264', u'\u2320', u'\u2321', | ||
55 | u'\u00F7', u'\u2248', u'\u00B0', u'\u2219', u'\u00B7', u'\u221A', | ||
56 | u'\u207F', u'\u00B2', u'\u25A0', u'\u00A0', | ||
57 | ) | ||
58 | |||
59 | def convert(text): | ||
60 | return u''.join([CP437[ord(char)] for char in text]) | ||
61 | |||
62 | if __name__ == '__main__': | ||
63 | import sys | ||
64 | if len(sys.argv) < 2: | ||
65 | print >>sys.stderr, '%s <in> <out>' % (sys.argv[0],) | ||
66 | sys.exit(1) | ||
67 | d = file(sys.argv[1]).read() | ||
68 | out = open(sys.argv[2], 'w') | ||
69 | out.write(convert(d).encode('utf8')) | ||
diff --git a/src/thousands/images/01-gerrit.png b/src/thousands/images/01-gerrit.png new file mode 100644 index 0000000..2c8a2c4 --- /dev/null +++ b/src/thousands/images/01-gerrit.png | |||
Binary files differ | |||
diff --git a/src/thousands/images/02-status1.png b/src/thousands/images/02-status1.png new file mode 100644 index 0000000..7b350a8 --- /dev/null +++ b/src/thousands/images/02-status1.png | |||
Binary files differ | |||
diff --git a/src/thousands/images/03-status2.png b/src/thousands/images/03-status2.png new file mode 100644 index 0000000..0b2607d --- /dev/null +++ b/src/thousands/images/03-status2.png | |||
Binary files differ | |||
diff --git a/src/thousands/images/04-health.png b/src/thousands/images/04-health.png new file mode 100644 index 0000000..750d32c --- /dev/null +++ b/src/thousands/images/04-health.png | |||
Binary files differ | |||
diff --git a/src/thousands/images/ansible.ans b/src/thousands/images/ansible.ans new file mode 100644 index 0000000..0cadddf --- /dev/null +++ b/src/thousands/images/ansible.ans | |||
@@ -0,0 +1,49 @@ | |||
1 | [0m | ||
2 | [A[79C | ||
3 | [1;30m▄▄▄▄██████▄▄▄▄[0;37m | ||
4 | [A[79C | ||
5 | [1;30m▄▄██████████████████▄▄[0;37m | ||
6 | [A[79C | ||
7 | [1;30m▄██████████████████████████▄[0;37m | ||
8 | [A[79C | ||
9 | [1;30m▄██████████████████████████████▄[0;37m | ||
10 | [A[79C | ||
11 | [1;30m▄████████████████[47m███[40m███████████████▄[0;37m | ||
12 | [A[79C | ||
13 | [1;30m▄█████████████████[47m█ █[40m████████████████▄[0;37m | ||
14 | [A[79C | ||
15 | [1;30mâ–█████████████████[47mâ–ˆ â–ˆ[40m████████████████▌[0;37m | ||
16 | [A[79C | ||
17 | [1;30m█████████████████[47m█ ▄ █[40m████████████████[0;37m | ||
18 | [A[79C | ||
19 | [1;30mâ–████████████████[47mâ–ˆ â–ˆ â–ˆ[40m███████████████▌[0;37m | ||
20 | [A[79C | ||
21 | [1;30m████████████████[47m█ ███ █[40m███████████████[0;37m | ||
22 | [A[79C | ||
23 | [1;30mâ–███████████████[47mâ–ˆ █████ â–ˆ[40m██████████████▌[0;37m | ||
24 | [A[79C | ||
25 | [1;30mâ–██████████████[47mâ–ˆ ▀▀███ â–ˆ[40m█████████████▌[0;37m | ||
26 | [A[79C | ||
27 | [1;30m█████████████[47m█ ▄ ▀▀█ █[40m████████████[0;37m | ||
28 | [A[79C | ||
29 | [1;30mâ–███████████[47mâ–ˆ ████▄▄ â–ˆ[40m██████████▌[0;37m | ||
30 | [A[79C | ||
31 | [1;30m██████████[47m█ █[40m███████[47m▄▄ █[40m█████████[0;37m | ||
32 | [A[79C | ||
33 | [1;30mâ–████████[47mâ–ˆ â–ˆ[40m██████████[47m██▄ [40m████████▌[0;37m | ||
34 | [A[79C | ||
35 | [1;30m▀██████[47m█ █[40m██████████████[47m█▄▄▄[40m████████▀[0;37m | ||
36 | [A[79C | ||
37 | [1;30m▀██████████████████████████████████▀[0;37m | ||
38 | [A[79C | ||
39 | [1;30m▀██████████████████████████████▀[0;37m | ||
40 | [A[79C | ||
41 | [1;30m▀██████████████████████████▀[0;37m | ||
42 | [A[79C | ||
43 | [1;30m▀▀██████████████████▀▀[0;37m | ||
44 | [A[79C | ||
45 | [1;30m▀▀▀▀██████▀▀▀▀[0;37m | ||
46 | [A[79C | ||
47 | |||
48 | [A[79C | ||
49 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/architecture.ans b/src/thousands/images/architecture.ans new file mode 100644 index 0000000..ad308eb --- /dev/null +++ b/src/thousands/images/architecture.ans | |||
@@ -0,0 +1,45 @@ | |||
1 | [0m | ||
2 | [A[79C | ||
3 | |||
4 | [A[79C | ||
5 | |||
6 | [A[79C | ||
7 | [1m┌─────────────â”[0m | ||
8 | [A[79C | ||
9 | [1m┌───────┤[0m [1;31mZuul Merger[0;37m [1m│[0m [1;31m [37m [0m | ||
10 | [A[79C | ||
11 | [1m┌────┴───â”[0m [1m└──┬───┬──────┘[0m | ||
12 | [A[79C | ||
13 | [1m┌──┤[0m [1;33mGerrit[0;37m [1m├──â”[0m [1m│[0m [1m│[0m | ||
14 | [A[79C | ||
15 | [1m│[0m [1m└────────┘[0m [1m│[0m [1m┌─┘[0m [1m│[0m | ||
16 | [A[79C | ||
17 | [1m [0m [1m│ ┌────────â”[0m [1m│[0m [1m│[0m [1m┌──┴───â”[0m [1m┌───────────────â”[0m | ||
18 | [A[79C | ||
19 | [1m┌─────┼──┤[0m [1;31m Web [0;37m [1m├──┼────┤[0m [1;31mZuul[0;37m [1m├─────┤[0m [1;31mZuul Executor[0;37m [1m│ [0m | ||
20 | [A[79C | ||
21 | ____ [1m│[0m [1m└────┬───┘[0m [1m│[0m [1m│[0m [1m└──┬───┘[0m [1m│[0m [1m┌───────â”[0m [1m│[0m | ||
22 | [A[79C | ||
23 | |[32m... [37m| [1m│[0m [1m┌────┴───â”[0m [1m│ │[0m [1m│[0m [1m│ [0m [1m│[31mAnsible[37m│ │[0m | ||
24 | [A[79C | ||
25 | |[32m... [37m| [1m├──┤[0m [1;33mGitHub[0;37m [1m├──┼─┘[0m [1m│[0m [1m└───┴───┬───┴───┘[0m | ||
26 | [A[79C | ||
27 | /______\ [1m│[0m [1m└────────┘[0m [1m│[0m [1m┌────┴─────â”[0m [1m│[0m | ||
28 | [A[79C | ||
29 | [1mo[0m [1m│[0m [1m┌────────â”[0m [1m│[0m [1m│[0m [1;34mNodepool[0;37m [1m│[0m [1m│[0m | ||
30 | [A[79C | ||
31 | [1m-|-[0m [1m└──┤[31m Finger [37m├──┘[0m [1m└────┬─────┘[0m [1m│[0m | ||
32 | [A[79C | ||
33 | [1m/ \[0m [1m└────────┘[0m [1m│[0m [1m│[0m | ||
34 | [A[79C | ||
35 | [1mDev[0m [1;44mCloud │ [0;40m [1m│[0m | ||
36 | [A[79C | ||
37 | [1;44m Node 1 ───[40m──────────┤[0m | ||
38 | [A[79C | ||
39 | [1;44m ... [0;40m [1m│[0m | ||
40 | [A[79C | ||
41 | [1;44m Node 2 ───[40m──────────┘[0m | ||
42 | [A[79C | ||
43 | [1;30m(Not to scale)[0;37m [1;44m [0;40m | ||
44 | [A[79C | ||
45 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/circle.ans b/src/thousands/images/circle.ans new file mode 100644 index 0000000..291eb33 --- /dev/null +++ b/src/thousands/images/circle.ans | |||
@@ -0,0 +1,49 @@ | |||
1 | [0m ▄▄▄▀▀▀▀▄▄▄ | ||
2 | [A[79C | ||
3 | ▄▄▀▀▀ ▀▀▀▄▄ | ||
4 | [A[79C | ||
5 | ▄▀▀ ▀▀▄ | ||
6 | [A[79C | ||
7 | ▄▀ ▀▄ | ||
8 | [A[79C | ||
9 | ▄▀ ▀▄ | ||
10 | [A[79C | ||
11 | ▄▀ ▀▄ | ||
12 | [A[79C | ||
13 | ▄▀ ▀▄ | ||
14 | [A[79C | ||
15 | â–ˆ â–ˆ | ||
16 | [A[79C | ||
17 | â–ˆ â–ˆ | ||
18 | [A[79C | ||
19 | ▄▀ ▀▄ | ||
20 | [A[79C | ||
21 | â–ˆ â–ˆ | ||
22 | [A[79C | ||
23 | ▀▄ ▄▀ | ||
24 | [A[79C | ||
25 | â–ˆ â–ˆ | ||
26 | [A[79C | ||
27 | â–ˆ â–ˆ | ||
28 | [A[79C | ||
29 | ▀▄ ▄▀ | ||
30 | [A[79C | ||
31 | ▀▄ ▄▀ | ||
32 | [A[79C | ||
33 | ▀▄ ▄▀ | ||
34 | [A[79C | ||
35 | ▀▄ ▄▀ | ||
36 | [A[79C | ||
37 | ▀▄▄ ▄▄▀ | ||
38 | [A[79C | ||
39 | ▀▀▄▄▄ ▄▄▄▀▀ | ||
40 | [A[79C | ||
41 | ▀▀▀▄▄▄▄▀▀▀ | ||
42 | [A[79C | ||
43 | |||
44 | [A[79C | ||
45 | |||
46 | [A[79C | ||
47 | |||
48 | [A[79C | ||
49 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/color-gertty.ans b/src/thousands/images/color-gertty.ans new file mode 100644 index 0000000..7530e70 --- /dev/null +++ b/src/thousands/images/color-gertty.ans | |||
@@ -0,0 +1,57 @@ | |||
1 | [0m[1;34mChange [0;36m31337[37m | ||
2 | [A[79C | ||
3 | [1;34mOwner [0;36mCarol[37m | ||
4 | [A[79C | ||
5 | [1;34mProject [0;36mhello-world[37m | ||
6 | [A[79C | ||
7 | [1;34mBranch [0;36mmaster[37m | ||
8 | [A[79C | ||
9 | |||
10 | [A[79C | ||
11 | [1mName Verified Code-Review[0m | ||
12 | [A[79C | ||
13 | [1;33mAlice [0;32m-1 [37m | ||
14 | [A[79C | ||
15 | [1;33mBob[0;32m [1m [0;32m [1;31m-1[0;32m [37m | ||
16 | [A[79C | ||
17 | [1;33mZuul[0;37m [1;32m+1[0;37m | ||
18 | [A[79C | ||
19 | |||
20 | [A[79C | ||
21 | [34mdocs [1;32mSUCCESS[0;37m in 2m 37s | ||
22 | [A[79C | ||
23 | [34mpython27[37m [1;32mSUCCESS[0;37m in 13m 21s | ||
24 | [A[79C | ||
25 | |||
26 | [A[79C | ||
27 | [1;34mPatch Set 1 [0;34m4f0a5acfb3752dd1d2fb9153e0f3277c9bcc35ad [37m | ||
28 | [A[79C | ||
29 | [1;36mREADME.txt[0;37m [1;32m+2[0;37m,[1;31m-0[0;37m | ||
30 | [A[79C | ||
31 | [1;36msrc/hello.py [32m+28[0;37m,[1;31m-4[0;37m | ||
32 | [A[79C | ||
33 | |||
34 | [A[79C | ||
35 | [35m< [1mReview[0;35m > < Diff > < Local Checkout > < Local Cherry-Pick >[37m | ||
36 | [A[79C | ||
37 | |||
38 | [A[79C | ||
39 | [1;33mAlice[0;37m | ||
40 | [A[79C | ||
41 | This change seems gratuitous. I like it! | ||
42 | [A[79C | ||
43 | [1;33mBob[0;37m | ||
44 | [A[79C | ||
45 | This is a really good start but i have serious concerns about the | ||
46 | [A[79C | ||
47 | whitespace choices you have made. | ||
48 | [A[79C | ||
49 | |||
50 | [A[79C | ||
51 | |||
52 | [A[79C | ||
53 | |||
54 | [A[79C | ||
55 | |||
56 | [A[79C | ||
57 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/convert.sh b/src/thousands/images/convert.sh new file mode 100755 index 0000000..9acce64 --- /dev/null +++ b/src/thousands/images/convert.sh | |||
@@ -0,0 +1,4 @@ | |||
1 | #!/bin/sh -x | ||
2 | |||
3 | cd orig | ||
4 | find . -type f -name \*.ans -exec python ../../cp437utf8.py {} ../{} \; | ||
diff --git a/src/thousands/images/crd.ans b/src/thousands/images/crd.ans new file mode 100644 index 0000000..4b4436d --- /dev/null +++ b/src/thousands/images/crd.ans | |||
@@ -0,0 +1,29 @@ | |||
1 | [0m* nova 1001,12 Add SSH host keys to intance metadata | ||
2 | [A[79C | ||
3 | Change-ID: I0ac10 | ||
4 | [A[79C | ||
5 | * devstack 1020,6 Configure nova to return host keys | ||
6 | [A[79C | ||
7 | Change-ID: I0bc10 | ||
8 | [A[79C | ||
9 | Depends-On: I0ac10 | ||
10 | [A[79C | ||
11 | * novaclient 1030,3 Add test that host keys are returned | ||
12 | [A[79C | ||
13 | Change-ID: I0dc10 | ||
14 | [A[79C | ||
15 | Depends-On: I0bc10 | ||
16 | [A[79C | ||
17 | * shade 1040,1 Return host keys on instance creation | ||
18 | [A[79C | ||
19 | Change-ID: I0ec10 | ||
20 | [A[79C | ||
21 | Depends-On: I0dc10 | ||
22 | [A[79C | ||
23 | * nodepool 1050,5 Verify host keys when booting nodes | ||
24 | [A[79C | ||
25 | Change-ID: I0fc10 | ||
26 | [A[79C | ||
27 | Depends-On: I0ec10 | ||
28 | [A[79C | ||
29 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/cursor.ans b/src/thousands/images/cursor.ans new file mode 100644 index 0000000..6d4d108 --- /dev/null +++ b/src/thousands/images/cursor.ans | |||
@@ -0,0 +1,47 @@ | |||
1 | [0m[1;5;32mâ–ˆ[0;0;37m | ||
2 | [A[79C | ||
3 | |||
4 | [A[79C | ||
5 | |||
6 | [A[79C | ||
7 | |||
8 | [A[79C | ||
9 | |||
10 | [A[79C | ||
11 | |||
12 | [A[79C | ||
13 | |||
14 | [A[79C | ||
15 | |||
16 | [A[79C | ||
17 | |||
18 | [A[79C | ||
19 | |||
20 | [A[79C | ||
21 | |||
22 | [A[79C | ||
23 | |||
24 | [A[79C | ||
25 | |||
26 | [A[79C | ||
27 | |||
28 | [A[79C | ||
29 | |||
30 | [A[79C | ||
31 | |||
32 | [A[79C | ||
33 | |||
34 | [A[79C | ||
35 | |||
36 | [A[79C | ||
37 | |||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | |||
42 | [A[79C | ||
43 | |||
44 | [A[79C | ||
45 | [30mâ–ˆ[37m | ||
46 | [A[79C | ||
47 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/cursor2.ans b/src/thousands/images/cursor2.ans new file mode 100644 index 0000000..a9fe285 --- /dev/null +++ b/src/thousands/images/cursor2.ans | |||
@@ -0,0 +1,47 @@ | |||
1 | [0m[30mâ–ˆ[37m | ||
2 | [A[79C | ||
3 | |||
4 | [A[79C | ||
5 | |||
6 | [A[79C | ||
7 | |||
8 | [A[79C | ||
9 | |||
10 | [A[79C | ||
11 | |||
12 | [A[79C | ||
13 | |||
14 | [A[79C | ||
15 | |||
16 | [A[79C | ||
17 | |||
18 | [A[79C | ||
19 | |||
20 | [A[79C | ||
21 | |||
22 | [A[79C | ||
23 | |||
24 | [A[79C | ||
25 | |||
26 | [A[79C | ||
27 | |||
28 | [A[79C | ||
29 | |||
30 | [A[79C | ||
31 | |||
32 | [A[79C | ||
33 | |||
34 | [A[79C | ||
35 | |||
36 | [A[79C | ||
37 | |||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | |||
42 | [A[79C | ||
43 | |||
44 | [A[79C | ||
45 | [30mâ–ˆ[37m | ||
46 | [A[79C | ||
47 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/openstack.ans b/src/thousands/images/openstack.ans new file mode 100644 index 0000000..e7a66f4 --- /dev/null +++ b/src/thousands/images/openstack.ans | |||
@@ -0,0 +1,51 @@ | |||
1 | [0m [31m â–„â–„â–„â–„â–„â–„â–„â–„â–„â–„â–„ [37m | ||
2 | [A[79C | ||
3 | [31m▄▄▄▄▄▄▄▄▄▄▄▄█████████████████████████▄▄[37m | ||
4 | [A[79C | ||
5 | [31m█████████████████████████████████████████▄[37m | ||
6 | [A[79C | ||
7 | [31mâ–█████████████████[1;41m▄▄▄▄▄▄▄▄▄▄▄▄▄██████████▄[0;31m█▌[37m | ||
8 | [A[79C | ||
9 | [31mâ–██████[1;41m▄███████████████████████████████████[0;31mâ–Œ[37m | ||
10 | [A[79C | ||
11 | [31mâ–█████[1;41mâ–████████████████████████████████████[0;31mâ–Œ[37m | ||
12 | [A[79C | ||
13 | [31mâ–█████[1;41m█████████████████████████████████████[0;31mâ–Œ[37m | ||
14 | [A[79C | ||
15 | [31m▀████[1;41m███████▀▀▀▀▀▀▀▀▀[0;31m▀▀▀▀▀▀▀▀█[30;41m..[31;40m██[1;41mâ–███████[0;31mâ–Œ[37m | ||
16 | [A[79C | ||
17 | [31m â–„â–„[30;41m..[31;40mâ–ˆ[1;41m███████[0;31mâ–Œ [37m [31mâ–[30;41m ..[31;40mâ–ˆ[1;41m▀▀▀[0;31m████▌[37m | ||
18 | [A[79C | ||
19 | [31mâ–███[30;41m..[1;31m▀▀▀▀▀[0;31m██▌[37m [31mâ–██[30;41m [31;40mâ–ˆ[1;41m▄▄▄████[0;31mâ–Œ[37m | ||
20 | [A[79C | ||
21 | [31mâ–█████[1;41m▄▄▄▄▄██[0;31mâ–Œ[37m [31mâ–████[1;41mâ–███████[0;31mâ–Œ[37m | ||
22 | [A[79C | ||
23 | [31mâ–█████[1;41m███████[0;31mâ–Œ[37m [31mâ–████[1;41mâ–███████[0;31mâ–Œ[37m | ||
24 | [A[79C | ||
25 | [31mâ–█████[1;41m███████[0;31mâ–Œ[37m [31mâ–████[1;41mâ–███████[0;31mâ–Œ[37m | ||
26 | [A[79C | ||
27 | [31mâ–█████[1;41m███████[0;31mâ–Œ[37m [31mâ–████[1;41mâ–███████[0;31mâ–Œ[37m | ||
28 | [A[79C | ||
29 | [31m▀████[1;41m███████[0;31mâ–Œ[37m [31mâ–[30;41m.. [31;40mâ–ˆ[1;41mâ–███████[0;31mâ–Œ[37m | ||
30 | [A[79C | ||
31 | [31m ▄▄███[1;41m███████[0;31m▌[37m [31m ▄▄▄▄▄████[30;41m.. [1;31m▀▀▀[0;31m████▌[37m | ||
32 | [A[79C | ||
33 | [31mâ–██[30;41m..[31;40mâ–ˆ[1;41m████▀▀▀[0;31m███████████████████████[1;41m▄▄▄████[0;31mâ–Œ[37m | ||
34 | [A[79C | ||
35 | [31mâ–███[30;41m..[31;40m████[1;41mâ–„â–„â–„[0;31m██████████████████████[1;41m████████[0;31mâ–Œ[37m | ||
36 | [A[79C | ||
37 | [31mâ–█████[1;41m███████▄[0;31m██████████████[1;41m▄▄▄▄▄██████████[0;31mâ–Œ[37m | ||
38 | [A[79C | ||
39 | [31m █████[1;41m████████████████████████████████████▀[0;31m▌[37m | ||
40 | [A[79C | ||
41 | [31mâ–████[1;41m██████████████████████████████████▀▀[0;31mâ–€ [37m | ||
42 | [A[79C | ||
43 | [31mâ–██[1;41m██████████████████████████▀▀▀▀▀▀[0;31m▀▀▀ [37m | ||
44 | [A[79C | ||
45 | [31m▀█[1;41m▀▀▀▀▀▀▀▀▀▀▀▀▀▀[0;31m▀▀▀▀▀▀▀▀▀▀▀ [37m | ||
46 | [A[79C | ||
47 | |||
48 | [A[79C | ||
49 | |||
50 | [A[79C | ||
51 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/orig/ansible.ans b/src/thousands/images/orig/ansible.ans new file mode 100644 index 0000000..8605d51 --- /dev/null +++ b/src/thousands/images/orig/ansible.ans | |||
@@ -0,0 +1,49 @@ | |||
1 | [0m | ||
2 | [A[79C | ||
3 | [1;30mÜÜÜÜÛÛÛÛÛÛÜÜÜÜ[0;37m | ||
4 | [A[79C | ||
5 | [1;30mÜÜÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÜÜ[0;37m | ||
6 | [A[79C | ||
7 | [1;30mÜÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÜ[0;37m | ||
8 | [A[79C | ||
9 | [1;30mÜÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÜ[0;37m | ||
10 | [A[79C | ||
11 | [1;30mÜÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ[47mÛÛÛ[40mÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÜ[0;37m | ||
12 | [A[79C | ||
13 | [1;30mÜÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ[47mÛ Û[40mÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÜ[0;37m | ||
14 | [A[79C | ||
15 | [1;30mÞÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ[47mÛ Û[40mÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÝ[0;37m | ||
16 | [A[79C | ||
17 | [1;30mÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ[47mÛ Ü Û[40mÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ[0;37m | ||
18 | [A[79C | ||
19 | [1;30mÞÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ[47mÛ Û Û[40mÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÝ[0;37m | ||
20 | [A[79C | ||
21 | [1;30mÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ[47mÛ ÛÛÛ Û[40mÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ[0;37m | ||
22 | [A[79C | ||
23 | [1;30mÞÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ[47mÛ ÛÛÛÛÛ Û[40mÛÛÛÛÛÛÛÛÛÛÛÛÛÛÝ[0;37m | ||
24 | [A[79C | ||
25 | [1;30mÞÛÛÛÛÛÛÛÛÛÛÛÛÛÛ[47mÛ ßßÛÛÛ Û[40mÛÛÛÛÛÛÛÛÛÛÛÛÛÝ[0;37m | ||
26 | [A[79C | ||
27 | [1;30mÛÛÛÛÛÛÛÛÛÛÛÛÛ[47mÛ Ü ßßÛ Û[40mÛÛÛÛÛÛÛÛÛÛÛÛ[0;37m | ||
28 | [A[79C | ||
29 | [1;30mÞÛÛÛÛÛÛÛÛÛÛÛ[47mÛ ÛÛÛÛÜÜ Û[40mÛÛÛÛÛÛÛÛÛÛÝ[0;37m | ||
30 | [A[79C | ||
31 | [1;30mÛÛÛÛÛÛÛÛÛÛ[47mÛ Û[40mÛÛÛÛÛÛÛ[47mÜÜ Û[40mÛÛÛÛÛÛÛÛÛ[0;37m | ||
32 | [A[79C | ||
33 | [1;30mÞÛÛÛÛÛÛÛÛ[47mÛ Û[40mÛÛÛÛÛÛÛÛÛÛ[47mÛÛÜ [40mÛÛÛÛÛÛÛÛÝ[0;37m | ||
34 | [A[79C | ||
35 | [1;30mßÛÛÛÛÛÛ[47mÛ Û[40mÛÛÛÛÛÛÛÛÛÛÛÛÛÛ[47mÛÜÜÜ[40mÛÛÛÛÛÛÛÛß[0;37m | ||
36 | [A[79C | ||
37 | [1;30mßÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛß[0;37m | ||
38 | [A[79C | ||
39 | [1;30mßÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛß[0;37m | ||
40 | [A[79C | ||
41 | [1;30mßÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛß[0;37m | ||
42 | [A[79C | ||
43 | [1;30mßßÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛßß[0;37m | ||
44 | [A[79C | ||
45 | [1;30mßßßßÛÛÛÛÛÛßßßß[0;37m | ||
46 | [A[79C | ||
47 | |||
48 | [A[79C | ||
49 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/orig/architecture.ans b/src/thousands/images/orig/architecture.ans new file mode 100644 index 0000000..94b0720 --- /dev/null +++ b/src/thousands/images/orig/architecture.ans | |||
@@ -0,0 +1,45 @@ | |||
1 | [0m | ||
2 | [A[79C | ||
3 | |||
4 | [A[79C | ||
5 | |||
6 | [A[79C | ||
7 | [1mÚÄÄÄÄÄÄÄÄÄÄÄÄÄ¿[0m | ||
8 | [A[79C | ||
9 | [1mÚÄÄÄÄÄÄÄ´[0m [1;31mZuul Merger[0;37m [1m³[0m | ||
10 | [A[79C | ||
11 | [1m³[0m [1mÀÄÄÄÄÄÄÂÄÄÄÄÄÄÙ[0m | ||
12 | [A[79C | ||
13 | [1m³[0m [1m³[0m | ||
14 | [A[79C | ||
15 | [1m³[0m [1m³[0m | ||
16 | [A[79C | ||
17 | [1m ÚÄÄÄÄÁÄÄÄ¿[0m [1mÚÄÄÁÄÄÄ¿[0m [1mÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿[0m | ||
18 | [A[79C | ||
19 | [1mÚÄÄÄÄÄÄÄ´[0m [1;33mGerrit[0;37m [1mÃÄÄÄÄÄÄÄ´[0m [1;31mZuul[0;37m [1mÃÄÄÄÄÄ´[0m [1;31mZuul Launcher[0;37m [1m³[0m | ||
20 | [A[79C | ||
21 | ____ [1mÀÄÄÄÄÄÄÄÄÙ[0m [1mÀÄÄÂÄÄÄÙ[0m [1m³[0m [1mÚÄÄÄÄÄÄÄ¿[0m [1m³[0m | ||
22 | [A[79C | ||
23 | |[32m... [37m| [1m³[0m [1m³ [0m [1m³[31mAnsible[37m³ ³ [0m | ||
24 | [A[79C | ||
25 | |[32m... [37m| [1m³[0m [1mÀÄÄÄÁÄÄÄÂÄÄÄÁÄÄÄÙ[0m | ||
26 | [A[79C | ||
27 | /______\ [1mÚÄÄÄÄÁÄÄÄÄÄ¿[0m [1m³[0m | ||
28 | [A[79C | ||
29 | [1mo[0m [1m³[0m [1;34mNodepool[0;37m [1m³[0m [1m³[0m | ||
30 | [A[79C | ||
31 | [1m-|-[0m [1m [0m [1mÀÄÄÄÄÂÄÄÄÄÄÙ[0m [1m³[0m | ||
32 | [A[79C | ||
33 | [1m/ \[0m [1m³[0m [1m³[0m | ||
34 | [A[79C | ||
35 | [1mDev[0m [1;44mCloud ³ [0;40m [1m³[0m | ||
36 | [A[79C | ||
37 | [1;44m Node 1 ÄÄÄ[40mÄÄÄÄÄÄÄÄÄÄ´[0m | ||
38 | [A[79C | ||
39 | [1;44m ... [0;40m [1m³[0m | ||
40 | [A[79C | ||
41 | [1;44m Node 2 ÄÄÄ[40mÄÄÄÄÄÄÄÄÄÄÙ[0m | ||
42 | [A[79C | ||
43 | [1;30m(Not to scale)[0;37m [1;44m [0;40m | ||
44 | [A[79C | ||
45 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/orig/circle.ans b/src/thousands/images/orig/circle.ans new file mode 100644 index 0000000..d21b2bb --- /dev/null +++ b/src/thousands/images/orig/circle.ans | |||
@@ -0,0 +1,49 @@ | |||
1 | [0m ÜÜÜßßßßÜÜÜ | ||
2 | [A[79C | ||
3 | ÜÜßßß ßßßÜÜ | ||
4 | [A[79C | ||
5 | Üßß ßßÜ | ||
6 | [A[79C | ||
7 | Üß ßÜ | ||
8 | [A[79C | ||
9 | Üß ßÜ | ||
10 | [A[79C | ||
11 | Üß ßÜ | ||
12 | [A[79C | ||
13 | Üß ßÜ | ||
14 | [A[79C | ||
15 | Û Û | ||
16 | [A[79C | ||
17 | Û Û | ||
18 | [A[79C | ||
19 | Üß ßÜ | ||
20 | [A[79C | ||
21 | Û Û | ||
22 | [A[79C | ||
23 | ßÜ Üß | ||
24 | [A[79C | ||
25 | Û Û | ||
26 | [A[79C | ||
27 | Û Û | ||
28 | [A[79C | ||
29 | ßÜ Üß | ||
30 | [A[79C | ||
31 | ßÜ Üß | ||
32 | [A[79C | ||
33 | ßÜ Üß | ||
34 | [A[79C | ||
35 | ßÜ Üß | ||
36 | [A[79C | ||
37 | ßÜÜ ÜÜß | ||
38 | [A[79C | ||
39 | ßßÜÜÜ ÜÜÜßß | ||
40 | [A[79C | ||
41 | ßßßÜÜÜÜßßß | ||
42 | [A[79C | ||
43 | |||
44 | [A[79C | ||
45 | |||
46 | [A[79C | ||
47 | |||
48 | [A[79C | ||
49 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/orig/color-gertty.ans b/src/thousands/images/orig/color-gertty.ans new file mode 100644 index 0000000..7530e70 --- /dev/null +++ b/src/thousands/images/orig/color-gertty.ans | |||
@@ -0,0 +1,57 @@ | |||
1 | [0m[1;34mChange [0;36m31337[37m | ||
2 | [A[79C | ||
3 | [1;34mOwner [0;36mCarol[37m | ||
4 | [A[79C | ||
5 | [1;34mProject [0;36mhello-world[37m | ||
6 | [A[79C | ||
7 | [1;34mBranch [0;36mmaster[37m | ||
8 | [A[79C | ||
9 | |||
10 | [A[79C | ||
11 | [1mName Verified Code-Review[0m | ||
12 | [A[79C | ||
13 | [1;33mAlice [0;32m-1 [37m | ||
14 | [A[79C | ||
15 | [1;33mBob[0;32m [1m [0;32m [1;31m-1[0;32m [37m | ||
16 | [A[79C | ||
17 | [1;33mZuul[0;37m [1;32m+1[0;37m | ||
18 | [A[79C | ||
19 | |||
20 | [A[79C | ||
21 | [34mdocs [1;32mSUCCESS[0;37m in 2m 37s | ||
22 | [A[79C | ||
23 | [34mpython27[37m [1;32mSUCCESS[0;37m in 13m 21s | ||
24 | [A[79C | ||
25 | |||
26 | [A[79C | ||
27 | [1;34mPatch Set 1 [0;34m4f0a5acfb3752dd1d2fb9153e0f3277c9bcc35ad [37m | ||
28 | [A[79C | ||
29 | [1;36mREADME.txt[0;37m [1;32m+2[0;37m,[1;31m-0[0;37m | ||
30 | [A[79C | ||
31 | [1;36msrc/hello.py [32m+28[0;37m,[1;31m-4[0;37m | ||
32 | [A[79C | ||
33 | |||
34 | [A[79C | ||
35 | [35m< [1mReview[0;35m > < Diff > < Local Checkout > < Local Cherry-Pick >[37m | ||
36 | [A[79C | ||
37 | |||
38 | [A[79C | ||
39 | [1;33mAlice[0;37m | ||
40 | [A[79C | ||
41 | This change seems gratuitous. I like it! | ||
42 | [A[79C | ||
43 | [1;33mBob[0;37m | ||
44 | [A[79C | ||
45 | This is a really good start but i have serious concerns about the | ||
46 | [A[79C | ||
47 | whitespace choices you have made. | ||
48 | [A[79C | ||
49 | |||
50 | [A[79C | ||
51 | |||
52 | [A[79C | ||
53 | |||
54 | [A[79C | ||
55 | |||
56 | [A[79C | ||
57 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/orig/crd.ans b/src/thousands/images/orig/crd.ans new file mode 100644 index 0000000..4b4436d --- /dev/null +++ b/src/thousands/images/orig/crd.ans | |||
@@ -0,0 +1,29 @@ | |||
1 | [0m* nova 1001,12 Add SSH host keys to intance metadata | ||
2 | [A[79C | ||
3 | Change-ID: I0ac10 | ||
4 | [A[79C | ||
5 | * devstack 1020,6 Configure nova to return host keys | ||
6 | [A[79C | ||
7 | Change-ID: I0bc10 | ||
8 | [A[79C | ||
9 | Depends-On: I0ac10 | ||
10 | [A[79C | ||
11 | * novaclient 1030,3 Add test that host keys are returned | ||
12 | [A[79C | ||
13 | Change-ID: I0dc10 | ||
14 | [A[79C | ||
15 | Depends-On: I0bc10 | ||
16 | [A[79C | ||
17 | * shade 1040,1 Return host keys on instance creation | ||
18 | [A[79C | ||
19 | Change-ID: I0ec10 | ||
20 | [A[79C | ||
21 | Depends-On: I0dc10 | ||
22 | [A[79C | ||
23 | * nodepool 1050,5 Verify host keys when booting nodes | ||
24 | [A[79C | ||
25 | Change-ID: I0fc10 | ||
26 | [A[79C | ||
27 | Depends-On: I0ec10 | ||
28 | [A[79C | ||
29 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/orig/cursor.ans b/src/thousands/images/orig/cursor.ans new file mode 100644 index 0000000..d9f6da9 --- /dev/null +++ b/src/thousands/images/orig/cursor.ans | |||
@@ -0,0 +1,47 @@ | |||
1 | [0m[1;5;32mÛ[0;0;37m | ||
2 | [A[79C | ||
3 | |||
4 | [A[79C | ||
5 | |||
6 | [A[79C | ||
7 | |||
8 | [A[79C | ||
9 | |||
10 | [A[79C | ||
11 | |||
12 | [A[79C | ||
13 | |||
14 | [A[79C | ||
15 | |||
16 | [A[79C | ||
17 | |||
18 | [A[79C | ||
19 | |||
20 | [A[79C | ||
21 | |||
22 | [A[79C | ||
23 | |||
24 | [A[79C | ||
25 | |||
26 | [A[79C | ||
27 | |||
28 | [A[79C | ||
29 | |||
30 | [A[79C | ||
31 | |||
32 | [A[79C | ||
33 | |||
34 | [A[79C | ||
35 | |||
36 | [A[79C | ||
37 | |||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | |||
42 | [A[79C | ||
43 | |||
44 | [A[79C | ||
45 | [30mÛ[37m | ||
46 | [A[79C | ||
47 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/orig/cursor2.ans b/src/thousands/images/orig/cursor2.ans new file mode 100644 index 0000000..93d8570 --- /dev/null +++ b/src/thousands/images/orig/cursor2.ans | |||
@@ -0,0 +1,47 @@ | |||
1 | [0m[30mÛ[37m | ||
2 | [A[79C | ||
3 | |||
4 | [A[79C | ||
5 | |||
6 | [A[79C | ||
7 | |||
8 | [A[79C | ||
9 | |||
10 | [A[79C | ||
11 | |||
12 | [A[79C | ||
13 | |||
14 | [A[79C | ||
15 | |||
16 | [A[79C | ||
17 | |||
18 | [A[79C | ||
19 | |||
20 | [A[79C | ||
21 | |||
22 | [A[79C | ||
23 | |||
24 | [A[79C | ||
25 | |||
26 | [A[79C | ||
27 | |||
28 | [A[79C | ||
29 | |||
30 | [A[79C | ||
31 | |||
32 | [A[79C | ||
33 | |||
34 | [A[79C | ||
35 | |||
36 | [A[79C | ||
37 | |||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | |||
42 | [A[79C | ||
43 | |||
44 | [A[79C | ||
45 | [30mÛ[37m | ||
46 | [A[79C | ||
47 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/orig/openstack.ans b/src/thousands/images/orig/openstack.ans new file mode 100644 index 0000000..4f689c7 --- /dev/null +++ b/src/thousands/images/orig/openstack.ans | |||
@@ -0,0 +1,51 @@ | |||
1 | [0m [31m ÜÜÜÜÜÜÜÜÜÜÜ [37m | ||
2 | [A[79C | ||
3 | [31mÜÜÜÜÜÜÜÜÜÜÜÜÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÜÜ[37m | ||
4 | [A[79C | ||
5 | [31mÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÜ[37m | ||
6 | [A[79C | ||
7 | [31mÞÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ[1;41mÜÜÜÜÜÜÜÜÜÜÜÜÜÛÛÛÛÛÛÛÛÛÛÜ[0;31mÛÝ[37m | ||
8 | [A[79C | ||
9 | [31mÞÛÛÛÛÛÛ[1;41mÜÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ[0;31mÝ[37m | ||
10 | [A[79C | ||
11 | [31mÞÛÛÛÛÛ[1;41mÞÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ[0;31mÝ[37m | ||
12 | [A[79C | ||
13 | [31mÞÛÛÛÛÛ[1;41mÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ[0;31mÝ[37m | ||
14 | [A[79C | ||
15 | [31mßÛÛÛÛ[1;41mÛÛÛÛÛÛÛßßßßßßßßß[0;31mßßßßßßßßÛ[30;41m..[31;40mÛÛ[1;41mÞÛÛÛÛÛÛÛ[0;31mÝ[37m | ||
16 | [A[79C | ||
17 | [31m ÜÜ[30;41m..[31;40mÛ[1;41mÛÛÛÛÛÛÛ[0;31mÝ [37m [31mÞ[30;41m ..[31;40mÛ[1;41mßßß[0;31mÛÛÛÛÝ[37m | ||
18 | [A[79C | ||
19 | [31mÞÛÛÛ[30;41m..[1;31mßßßßß[0;31mÛÛÝ[37m [31mÞÛÛ[30;41m [31;40mÛ[1;41mÜÜÜÛÛÛÛ[0;31mÝ[37m | ||
20 | [A[79C | ||
21 | [31mÞÛÛÛÛÛ[1;41mÜÜÜÜÜÛÛ[0;31mÝ[37m [31mÞÛÛÛÛ[1;41mÞÛÛÛÛÛÛÛ[0;31mÝ[37m | ||
22 | [A[79C | ||
23 | [31mÞÛÛÛÛÛ[1;41mÛÛÛÛÛÛÛ[0;31mÝ[37m [31mÞÛÛÛÛ[1;41mÞÛÛÛÛÛÛÛ[0;31mÝ[37m | ||
24 | [A[79C | ||
25 | [31mÞÛÛÛÛÛ[1;41mÛÛÛÛÛÛÛ[0;31mÝ[37m [31mÞÛÛÛÛ[1;41mÞÛÛÛÛÛÛÛ[0;31mÝ[37m | ||
26 | [A[79C | ||
27 | [31mÞÛÛÛÛÛ[1;41mÛÛÛÛÛÛÛ[0;31mÝ[37m [31mÞÛÛÛÛ[1;41mÞÛÛÛÛÛÛÛ[0;31mÝ[37m | ||
28 | [A[79C | ||
29 | [31mßÛÛÛÛ[1;41mÛÛÛÛÛÛÛ[0;31mÝ[37m [31mÞ[30;41m.. [31;40mÛ[1;41mÞÛÛÛÛÛÛÛ[0;31mÝ[37m | ||
30 | [A[79C | ||
31 | [31m ÜÜÛÛÛ[1;41mÛÛÛÛÛÛÛ[0;31mÝ[37m [31m ÜÜÜÜÜÛÛÛÛ[30;41m.. [1;31mßßß[0;31mÛÛÛÛÝ[37m | ||
32 | [A[79C | ||
33 | [31mÞÛÛ[30;41m..[31;40mÛ[1;41mÛÛÛÛßßß[0;31mÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ[1;41mÜÜÜÛÛÛÛ[0;31mÝ[37m | ||
34 | [A[79C | ||
35 | [31mÞÛÛÛ[30;41m..[31;40mÛÛÛÛ[1;41mÜÜÜ[0;31mÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ[1;41mÛÛÛÛÛÛÛÛ[0;31mÝ[37m | ||
36 | [A[79C | ||
37 | [31mÞÛÛÛÛÛ[1;41mÛÛÛÛÛÛÛÜ[0;31mÛÛÛÛÛÛÛÛÛÛÛÛÛÛ[1;41mÜÜÜÜÜÛÛÛÛÛÛÛÛÛÛ[0;31mÝ[37m | ||
38 | [A[79C | ||
39 | [31m ÛÛÛÛÛ[1;41mÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛß[0;31mÝ[37m | ||
40 | [A[79C | ||
41 | [31mÞÛÛÛÛ[1;41mÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛßß[0;31mß [37m | ||
42 | [A[79C | ||
43 | [31mÞÛÛ[1;41mÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛßßßßßß[0;31mßßß [37m | ||
44 | [A[79C | ||
45 | [31mßÛ[1;41mßßßßßßßßßßßßßß[0;31mßßßßßßßßßßß [37m | ||
46 | [A[79C | ||
47 | |||
48 | [A[79C | ||
49 | |||
50 | [A[79C | ||
51 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/orig/questions.ans b/src/thousands/images/orig/questions.ans new file mode 100644 index 0000000..ae2e90a --- /dev/null +++ b/src/thousands/images/orig/questions.ans | |||
@@ -0,0 +1,27 @@ | |||
1 | [0m | ||
2 | [A[79C | ||
3 | |||
4 | [A[79C | ||
5 | |||
6 | [A[79C | ||
7 | |||
8 | [A[79C | ||
9 | [1;30mÜ[33mÜÜÜÜÜÜÜÜÜÜÜÜÜÜ[30mÜ[0;37m | ||
10 | [A[79C | ||
11 | [1;33mÛ[0;30;43m Ü [1;33mÜÜÜÜÜ [0;30;43m Ü [1;40mÛ[0;37m | ||
12 | [A[79C | ||
13 | [1;33mÛ[0;30;43m [1;33mÛÛ[0;30;43mÛßß[1;33mÛÛ[0;30;43mÜ [1;40mÛ[0;37m | ||
14 | [A[79C | ||
15 | [1;33mÛ[0;30;43m [1;33;40mßß[0;37m [30;43m [1;33mÜÛÛ[0;30;43mÛ [1;40mÛ[0;37m | ||
16 | [A[79C | ||
17 | [1;33mÛ[0;30;43m [1;33m ÛÛ[0;30;43mÛßß [1;40mÛ[0;37m | ||
18 | [A[79C | ||
19 | [1;33mÛ[0;30;43m ßß [1;40mÛ[0;37m | ||
20 | [A[79C | ||
21 | [1;33mÛ[0;30;43m [1;33mÛÛ[0;30;43mÜ [1;40mÛ[0;37m | ||
22 | [A[79C | ||
23 | [1;33mÛ[0;30;43m ß ßßß ß [1;40mÛ[0;37m | ||
24 | [A[79C | ||
25 | [1;30mßßßßßßßßßßßßßßßß[0;37m | ||
26 | [A[79C | ||
27 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/orig/redhat.ans b/src/thousands/images/orig/redhat.ans new file mode 100644 index 0000000..f297fd0 --- /dev/null +++ b/src/thousands/images/orig/redhat.ans | |||
@@ -0,0 +1,49 @@ | |||
1 | [0m | ||
2 | [A[79C | ||
3 | [1;31m ÜÛÛÛÛÜÜÜÜÛÛÛÜÜÜÜ[0;37m | ||
4 | [A[79C | ||
5 | [31m [1mÛßÛÛÛÛÛÛÛÛÛÛÜ ÛÜ [0;37m | ||
6 | [A[79C | ||
7 | [1;31mÞÛÜ[0;37m [1;31mßß ÜÛÛÛÛÛÛÛÛÛÛÜ[0;37m | ||
8 | [A[79C | ||
9 | [1;31mÛÛÛ ÜÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ[0;31m [37m | ||
10 | [A[79C | ||
11 | [31m [1mÜÜÛÛÛ [0;37m [1;31m ßßÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÜ[0;37m | ||
12 | [A[79C | ||
13 | [1;31m ÛÛÛÛÛÛÜ[0;31m [37m [31m [1m ßßÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÝ[0;37m | ||
14 | [A[79C | ||
15 | [1;31m ÞÛÛÛÛÛÛÛÜ [0;31m [37m [1;31mßÛÛÛÛÛÛÛÛÛÛß ÛÛÜÜ[0;37m | ||
16 | [A[79C | ||
17 | [1;31mÞÛÛÛÛÛÛÛÛÛÜÜ [0;31m [37m [1;31m ÛÛÛÛÛÛÛÛÛÜÛÛÛÛÛÛÝ[0;31m [37m | ||
18 | [A[79C | ||
19 | [1;31mßÛÛÛÛÛÛÛÛÛÛÛÛÜÜ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÝ[0;37m | ||
20 | [A[79C | ||
21 | [1;31mßßÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛß[0;37m | ||
22 | [A[79C | ||
23 | [1mÞÛÛÜ [0m [31m [1mßßÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛß[37m [0m | ||
24 | [A[79C | ||
25 | [1m ßÛÛÛÜÛÛÜ[0m [31m [1mßßßßÛÛÛÛÛÛÛÛßßßß [0;37m | ||
26 | [A[79C | ||
27 | [1m ÜÜÛÛÜ ÛÛÛÛÛÜ ÜÜ ÜÜ ÜÜÜ [0m | ||
28 | [A[79C | ||
29 | [1m ÛÛÛÛÛÛÛÛÜÜÜÛÛÛÛÛÛÛÜÜÛÛÛÛÛÛÛÛÛÛÛ [0m | ||
30 | [A[79C | ||
31 | [1m ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÜÜßßÜÛÛÛÝ ÜÜ [0m | ||
32 | [A[79C | ||
33 | [1m ßÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ÛÛÛÛÛ [0m | ||
34 | [A[79C | ||
35 | [1m ßÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛß ÜÜÛÛÛÛß [31m [0;37m | ||
36 | [A[79C | ||
37 | [1m ßÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛß ÜÛÛÛÛÛß [0m [1m [0m | ||
38 | [A[79C | ||
39 | [1m ßÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛß [0m | ||
40 | [A[79C | ||
41 | [1m ßÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛßß [0m | ||
42 | [A[79C | ||
43 | [1m ßßßÛÛÛÛÛßßß [0m | ||
44 | [A[79C | ||
45 | |||
46 | [A[79C | ||
47 | |||
48 | [A[79C | ||
49 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/orig/startup1.ans b/src/thousands/images/orig/startup1.ans new file mode 100644 index 0000000..3510a93 --- /dev/null +++ b/src/thousands/images/orig/startup1.ans | |||
@@ -0,0 +1,39 @@ | |||
1 | [0m ÚÄÄÄÄÄÄ¿ | ||
2 | [A[79C | ||
3 | ³ [1;31mZuul[0;37m ³ | ||
4 | [A[79C | ||
5 | ÀÄÄÂÄÄÄÙ | ||
6 | [A[79C | ||
7 | ³ | ||
8 | [A[79C | ||
9 | ÚÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÁÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿ | ||
10 | [A[79C | ||
11 | ³ ³ ³ ³ ³ ³ ³ ³ | ||
12 | [A[79C | ||
13 | ÚÄÁÄ¿ ÚÄÁÄ¿ ÚÄÁÄ¿ ÚÄÁÄ¿ ÚÄÁÄ¿ ÚÄÁÄ¿ ÚÄÁÄ¿ ÚÄÁÄ¿ | ||
14 | [A[79C | ||
15 | ³[1;31mzm1[0;37m³ ³[1;31mzm2[0;37m³ ³[1;31mzm3[0;37m³ ³[1;31mzm4[0;37m³ ³[1;31mzm5[0;37m³ ³[1;31mzm6[0;37m³ ³[1;31mzm7[0;37m³ ³[1;31mzm8[0;37m³ | ||
16 | [A[79C | ||
17 | ÀÄÄÄÙ ÀÄÄÄÙ ÀÄÄÄÙ ÀÄÄÄÙ ÀÄÄÄÙ ÀÄÄÄÙ ÀÄÄÄÙ ÀÄÄÄÙ | ||
18 | [A[79C | ||
19 | [1mnova keyst swift devst tmpst glanc dg projc[0m | ||
20 | [A[79C | ||
21 | |||
22 | [A[79C | ||
23 | |||
24 | [A[79C | ||
25 | |||
26 | [A[79C | ||
27 | |||
28 | [A[79C | ||
29 | |||
30 | [A[79C | ||
31 | |||
32 | [A[79C | ||
33 | |||
34 | [A[79C | ||
35 | |||
36 | [A[79C | ||
37 | [1m [0m | ||
38 | [A[79C | ||
39 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/orig/startup2.ans b/src/thousands/images/orig/startup2.ans new file mode 100644 index 0000000..3093800 --- /dev/null +++ b/src/thousands/images/orig/startup2.ans | |||
@@ -0,0 +1,39 @@ | |||
1 | [0m ÚÄÄÄÄÄÄ¿ | ||
2 | [A[79C | ||
3 | ³ [1;31mZuul[0;37m ³ | ||
4 | [A[79C | ||
5 | ÀÄÄÂÄÄÄÙ | ||
6 | [A[79C | ||
7 | ³ | ||
8 | [A[79C | ||
9 | ÚÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÁÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿ | ||
10 | [A[79C | ||
11 | ³ ³ ³ ³ ³ ³ ³ ³ | ||
12 | [A[79C | ||
13 | ÚÄÁÄ¿ ÚÄÁÄ¿ ÚÄÁÄ¿ ÚÄÁÄ¿ ÚÄÁÄ¿ ÚÄÁÄ¿ ÚÄÁÄ¿ ÚÄÁÄ¿ | ||
14 | [A[79C | ||
15 | ³[1;31mzm1[0;37m³ ³[1;31mzm2[0;37m³ ³[1;31mzm3[0;37m³ ³[1;31mzm4[0;37m³ ³[1;31mzm5[0;37m³ ³[1;31mzm6[0;37m³ ³[1;31mzm7[0;37m³ ³[1;31mzm8[0;37m³ | ||
16 | [A[79C | ||
17 | ÀÄÄÄÙ ÀÄÄÄÙ ÀÄÄÄÙ ÀÄÄÄÙ ÀÄÄÄÙ ÀÄÄÄÙ ÀÄÄÄÙ ÀÄÄÄÙ | ||
18 | [A[79C | ||
19 | nova keyst swift devst tmpst glanc dg projc | ||
20 | [A[79C | ||
21 | [1mmastr newt mitak mastr mastr diabl mastr mastr[0m | ||
22 | [A[79C | ||
23 | |||
24 | [A[79C | ||
25 | |||
26 | [A[79C | ||
27 | |||
28 | [A[79C | ||
29 | |||
30 | [A[79C | ||
31 | |||
32 | [A[79C | ||
33 | |||
34 | [A[79C | ||
35 | |||
36 | [A[79C | ||
37 | [1m [0m | ||
38 | [A[79C | ||
39 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/orig/td.ans b/src/thousands/images/orig/td.ans new file mode 100644 index 0000000..c0c5cd6 --- /dev/null +++ b/src/thousands/images/orig/td.ans | |||
Binary files differ | |||
diff --git a/src/thousands/images/orig/testslide.ans b/src/thousands/images/orig/testslide.ans new file mode 100644 index 0000000..5505907 --- /dev/null +++ b/src/thousands/images/orig/testslide.ans | |||
@@ -0,0 +1,49 @@ | |||
1 | [0m[44mÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»[40m | ||
2 | [A[79C | ||
3 | [44mº ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ º[40m | ||
4 | [A[79C | ||
5 | [44mº ³[40m [44m³ º[40m | ||
6 | [A[79C | ||
7 | [44mº ³[40m [44m³ º[40m | ||
8 | [A[79C | ||
9 | [44mº ³[40m [30m Test Slide [47m Test Slide [37;40m [44m³ º[40m | ||
10 | [A[79C | ||
11 | [44mº ³[40m [31m Test Slide [47m Test Slide [37;40m [44m³ º[40m | ||
12 | [A[79C | ||
13 | [44mº ³[40m [32m Test Slide [47m Test Slide [37;40m [44m³ º[40m | ||
14 | [A[79C | ||
15 | [44mº ³[40m [33m Test Slide [47m Test Slide [37;40m [44m³ º[40m | ||
16 | [A[79C | ||
17 | [44mº ³[40m [34m Test Slide [47m Test Slide [37;40m [44m³ º[40m | ||
18 | [A[79C | ||
19 | [44mº ³[40m [35m Test Slide [47m Test Slide [37;40m [44m³ º[40m | ||
20 | [A[79C | ||
21 | [44mº ³[40m [36m Test Slide [47m Test Slide [37;40m [44m³ º[40m | ||
22 | [A[79C | ||
23 | [44mº ³[40m Test Slide [47m Test Slide [40m [44m³ º[40m | ||
24 | [A[79C | ||
25 | [44mº ³[40m [1;30m Test Slide [47m Test Slide [0;37;40m [44m³ º[40m | ||
26 | [A[79C | ||
27 | [44mº ³[40m [1;31m Test Slide [47m Test Slide [0;37;40m [44m³ º[40m | ||
28 | [A[79C | ||
29 | [44mº ³[40m [1;32m Test Slide [47m Test Slide [0;37;40m [44m³ º[40m | ||
30 | [A[79C | ||
31 | [44mº ³[40m [1;33m Test Slide [47m Test Slide [0;37;40m [44m³ º[40m | ||
32 | [A[79C | ||
33 | [44mº ³[40m [1;34m Test Slide [47m Test Slide [0;37;40m [44m³ º[40m | ||
34 | [A[79C | ||
35 | [44mº ³[40m [1;35m Test Slide [47m Test Slide [0;37;40m [44m³ º[40m | ||
36 | [A[79C | ||
37 | [44mº ³[40m [1;36m Test Slide [47m Test Slide [0;37;40m [44m³ º[40m | ||
38 | [A[79C | ||
39 | [44mº ³[40m [1m Test Slide [47m Test Slide [0;40m [44m³ º[40m | ||
40 | [A[79C | ||
41 | [44mº ³[40m [44m³ º[40m | ||
42 | [A[79C | ||
43 | [44mº ³[40m [44m³ º[40m | ||
44 | [A[79C | ||
45 | [44mº ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ º[40m | ||
46 | [A[79C | ||
47 | [44mÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ[40m | ||
48 | [A[79C | ||
49 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/orig/title.ans b/src/thousands/images/orig/title.ans new file mode 100644 index 0000000..82ef305 --- /dev/null +++ b/src/thousands/images/orig/title.ans | |||
@@ -0,0 +1,45 @@ | |||
1 | [0m [1;34m______________[0;37m [1;34m.ÄÄ.[0;37m [1;34m.ÄÄ.[0;37m [1;34m______________[0;37m | ||
2 | [A[79C | ||
3 | [1;34m( ( [0;37m [1;34m\ \_____)____(_____/ /[0;37m [1;34m ) )[0;37m | ||
4 | [A[79C | ||
5 | [1;34m\ )[0;37m [1;34m`ÄÄÄÄÄ' [0;37m [1;34m `ÄÄÄÄÄ'[0;37m [1;34m( /[0;37m | ||
6 | [A[79C | ||
7 | [1;34m)/ [0;37m [1;34m \([0;37m | ||
8 | [A[79C | ||
9 | [1;34m /' [0;37m [1mREST APIs and the Return of the[0m [1;34m `\ [0;37m | ||
10 | [A[79C | ||
11 | [1;34mO [0;37m [1;32m ___ ___ _ _ ___ ___ _ ___ [0;37m [1;34m O[0;37m | ||
12 | [A[79C | ||
13 | [1;34m³[0;37m [1;32m / __/ _ \| \| / __|/ _ \| | | __|[0;37m [1;34m³[0;37m | ||
14 | [A[79C | ||
15 | [1;34m³[0;37m [1;32m| (_| (_) | .` \__ \ (_) | |__| _| [0;37m [1;34m³[0;37m | ||
16 | [A[79C | ||
17 | [1;34m³[0;37m [1;32m \___\___/|_|\_|___/\___/|____|___|[0;37m [1;34m³[0;37m | ||
18 | [A[79C | ||
19 | [1;34m³[0;37m [1;34m³[0;37m | ||
20 | [A[79C | ||
21 | [1;34m³[0;37m [1mApplication[0m [1;34m³[0;37m | ||
22 | [A[79C | ||
23 | [1;34m³[0;37m [1;34m³[0;37m | ||
24 | [A[79C | ||
25 | [1;34mO [0;37m [33mJames E. Blair <corvus@inaugust.com>[37m [1;34m O[0;37m | ||
26 | [A[79C | ||
27 | [1;34m \.[0;37m [1;34m./ [0;37m | ||
28 | [A[79C | ||
29 | [1;34m)\ [0;37m [1;34m,____[0;37m [1;34m____,[0;37m [1;34m /([0;37m | ||
30 | [A[79C | ||
31 | [1;34m/ )[0;37m [1;34m/ ____\ ____ /____ \[0;37m [1;34m( \[0;37m | ||
32 | [A[79C | ||
33 | [1;34m( (_________/_/ ) ( \_\_________) )[0;37m | ||
34 | [A[79C | ||
35 | [1;34m ~-' [0;37m [1;34m`ÄÄ'[0;37m [1;34m`ÄÄ'[0;37m [1;34m `-~ [0;37m | ||
36 | [A[79C | ||
37 | |||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | |||
42 | [A[79C | ||
43 | |||
44 | [A[79C | ||
45 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/orig/workflow.ans b/src/thousands/images/orig/workflow.ans new file mode 100644 index 0000000..067cc56 --- /dev/null +++ b/src/thousands/images/orig/workflow.ans | |||
@@ -0,0 +1,29 @@ | |||
1 | [0m Hack Review Test | ||
2 | [A[79C | ||
3 | ========= ========== ========== | ||
4 | [A[79C | ||
5 | |||
6 | [A[79C | ||
7 | push approve | ||
8 | [A[79C | ||
9 | +-------------+ +-------------+ | ||
10 | [A[79C | ||
11 | | | | | | ||
12 | [A[79C | ||
13 | +------+--+ +--v----+--+ +--v-------+ | ||
14 | [A[79C | ||
15 | | | | | | | | ||
16 | [A[79C | ||
17 | | $EDITOR | | Gerrit | | Zuul | | ||
18 | [A[79C | ||
19 | | | | | | | | ||
20 | [A[79C | ||
21 | +------^--+ +--+----^--+ +--+-------+ | ||
22 | [A[79C | ||
23 | | | | | | ||
24 | [A[79C | ||
25 | +-------------+ +-------------+ | ||
26 | [A[79C | ||
27 | clone merge | ||
28 | [A[79C | ||
29 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/orig/zsim-00.ans b/src/thousands/images/orig/zsim-00.ans new file mode 100644 index 0000000..4f9ed82 --- /dev/null +++ b/src/thousands/images/orig/zsim-00.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m00[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | |||
4 | [A[79C | ||
5 | Nova Keystone | ||
6 | [A[79C | ||
7 | [1;33mþ[0;37mbadbeef [1;33mþ[0;37mbeefcab | ||
8 | [A[79C | ||
9 | |||
10 | [A[79C | ||
11 | |||
12 | [A[79C | ||
13 | |||
14 | [A[79C | ||
15 | |||
16 | [A[79C | ||
17 | |||
18 | [A[79C | ||
19 | |||
20 | [A[79C | ||
21 | |||
22 | [A[79C | ||
23 | |||
24 | [A[79C | ||
25 | |||
26 | [A[79C | ||
27 | |||
28 | [A[79C | ||
29 | |||
30 | [A[79C | ||
31 | |||
32 | [A[79C | ||
33 | |||
34 | [A[79C | ||
35 | |||
36 | [A[79C | ||
37 | |||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/orig/zsim-01.ans b/src/thousands/images/orig/zsim-01.ans new file mode 100644 index 0000000..a087092 --- /dev/null +++ b/src/thousands/images/orig/zsim-01.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m01[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | ÚÄÄÄ¿ | ||
4 | [A[79C | ||
5 | ³[1;30mÞÛÝ[0;37m³ Nova #1 Nova Keystone | ||
6 | [A[79C | ||
7 | ÀÄÄÄÙ [1;33mþ[0;37mbadbeef [1;33mþ[0;37mbeefcab | ||
8 | [A[79C | ||
9 | |||
10 | [A[79C | ||
11 | |||
12 | [A[79C | ||
13 | |||
14 | [A[79C | ||
15 | |||
16 | [A[79C | ||
17 | |||
18 | [A[79C | ||
19 | |||
20 | [A[79C | ||
21 | |||
22 | [A[79C | ||
23 | |||
24 | [A[79C | ||
25 | |||
26 | [A[79C | ||
27 | |||
28 | [A[79C | ||
29 | |||
30 | [A[79C | ||
31 | |||
32 | [A[79C | ||
33 | |||
34 | [A[79C | ||
35 | |||
36 | [A[79C | ||
37 | |||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/orig/zsim-02.ans b/src/thousands/images/orig/zsim-02.ans new file mode 100644 index 0000000..8f2938c --- /dev/null +++ b/src/thousands/images/orig/zsim-02.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m02[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | ÚÄÄÄ¿ | ||
4 | [A[79C | ||
5 | ³[1;32mÞÛÝ[0;37m³ Nova #1 [34mÛÛÛÛÛÛÛÛÛ[37m Nova Keystone | ||
6 | [A[79C | ||
7 | ÀÄÄÄÙ [34mÛÛÛÛÛÛÛÛÛ[37m [1;33mþ[0;37mbadbeef [1;33mþ[0;37mbeefcab | ||
8 | [A[79C | ||
9 | [34mÛÛÛÛÛÛÛÛÛ[37m | ||
10 | [A[79C | ||
11 | [34mÛÛÛÛÛÛÛÛÛ[37m | ||
12 | [A[79C | ||
13 | |||
14 | [A[79C | ||
15 | |||
16 | [A[79C | ||
17 | |||
18 | [A[79C | ||
19 | |||
20 | [A[79C | ||
21 | |||
22 | [A[79C | ||
23 | |||
24 | [A[79C | ||
25 | |||
26 | [A[79C | ||
27 | |||
28 | [A[79C | ||
29 | |||
30 | [A[79C | ||
31 | |||
32 | [A[79C | ||
33 | |||
34 | [A[79C | ||
35 | |||
36 | [A[79C | ||
37 | |||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/orig/zsim-03.ans b/src/thousands/images/orig/zsim-03.ans new file mode 100644 index 0000000..1186441 --- /dev/null +++ b/src/thousands/images/orig/zsim-03.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m03[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | ÚÄÄÄ¿ | ||
4 | [A[79C | ||
5 | ³[1;32mÞÛÝ[0;37m³ Nova #1 [1;34mÛ[0;34mÛÛÛÛÛÛÛÛ[37m Nova Keystone | ||
6 | [A[79C | ||
7 | ÀÄÂÄÙ [1;34mÛ[0;34mÛÛÛÛÛÛÛÛ[37m [1;33mþ[0;37mbadbeef [1;33mþ[0;37mbeefcab | ||
8 | [A[79C | ||
9 | ³ [34mÛÛÛÛÛÛÛÛÛ[37m | ||
10 | [A[79C | ||
11 | ³ [34mÛÛÛÛÛÛÛÛÛ[37m | ||
12 | [A[79C | ||
13 | ÚÄÁÄ¿ | ||
14 | [A[79C | ||
15 | ³[1;30mÞÛÝ[0;37m³ Keystone #2 | ||
16 | [A[79C | ||
17 | ÀÄÄÄÙ | ||
18 | [A[79C | ||
19 | |||
20 | [A[79C | ||
21 | |||
22 | [A[79C | ||
23 | |||
24 | [A[79C | ||
25 | |||
26 | [A[79C | ||
27 | |||
28 | [A[79C | ||
29 | |||
30 | [A[79C | ||
31 | |||
32 | [A[79C | ||
33 | |||
34 | [A[79C | ||
35 | |||
36 | [A[79C | ||
37 | |||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/orig/zsim-04.ans b/src/thousands/images/orig/zsim-04.ans new file mode 100644 index 0000000..8344a58 --- /dev/null +++ b/src/thousands/images/orig/zsim-04.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m04[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | ÚÄÄÄ¿ | ||
4 | [A[79C | ||
5 | ³[1;32mÞÛÝ[0;37m³ Nova #1 [1;34mÛÛ[0;34mÛÛÛÛÛÛÛ[37m Nova Keystone | ||
6 | [A[79C | ||
7 | ÀÄÂÄÙ [1;34mÛÛ[0;34mÛÛÛÛÛÛÛ[37m [1;33mþ[0;37mbadbeef [1;33mþ[0;37mbeefcab | ||
8 | [A[79C | ||
9 | ³ [34mÛÛÛÛÛÛÛÛÛ[37m | ||
10 | [A[79C | ||
11 | ³ [1;34mÛ[0;34mÛÛÛÛÛÛÛÛ[37m | ||
12 | [A[79C | ||
13 | ÚÄÁÄ¿ | ||
14 | [A[79C | ||
15 | ³[1;32mÞÛÝ[0;37m³ Keystone #2 [34mÛÛÛÛÛÛÛÛÛ[37m | ||
16 | [A[79C | ||
17 | ÀÄÄÄÙ [34mÛÛÛÛÛÛÛÛÛ[37m | ||
18 | [A[79C | ||
19 | [34mÛÛÛÛÛÛÛÛÛ[37m | ||
20 | [A[79C | ||
21 | [34mÛÛÛÛÛÛÛÛÛ[37m | ||
22 | [A[79C | ||
23 | |||
24 | [A[79C | ||
25 | |||
26 | [A[79C | ||
27 | |||
28 | [A[79C | ||
29 | |||
30 | [A[79C | ||
31 | |||
32 | [A[79C | ||
33 | |||
34 | [A[79C | ||
35 | |||
36 | [A[79C | ||
37 | |||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/orig/zsim-05.ans b/src/thousands/images/orig/zsim-05.ans new file mode 100644 index 0000000..948d831 --- /dev/null +++ b/src/thousands/images/orig/zsim-05.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m05[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | ÚÄÄÄ¿ | ||
4 | [A[79C | ||
5 | ³[1;32mÞÛÝ[0;37m³ Nova #1 [1;34mÛÛÛ[0;34mÛÛÛÛÛÛ[37m Nova Keystone | ||
6 | [A[79C | ||
7 | ÀÄÂÄÙ [1;34mÛÛÛ[0;34mÛÛÛÛÛÛ[37m [1;33mþ[0;37mbadbeef [1;33mþ[0;37mbeefcab | ||
8 | [A[79C | ||
9 | ³ [1;34mÛ[0;34mÛÛÛÛÛÛÛÛ[37m | ||
10 | [A[79C | ||
11 | ³ [1;34mÛÛ[0;34mÛÛÛÛÛÛÛ[37m | ||
12 | [A[79C | ||
13 | ÚÄÁÄ¿ | ||
14 | [A[79C | ||
15 | ³[1;32mÞÛÝ[0;37m³ Keystone #2 [1;34mÛÛ[0;34mÛÛÛÛÛÛÛ[37m | ||
16 | [A[79C | ||
17 | ÀÄÂÄÙ [1;34mÛ[0;34mÛÛÛÛÛÛÛÛ[37m | ||
18 | [A[79C | ||
19 | ³ [34mÛÛÛÛÛÛÛÛÛ[37m | ||
20 | [A[79C | ||
21 | ³ [34mÛÛÛÛÛÛÛÛÛ[37m | ||
22 | [A[79C | ||
23 | ÚÄÁÄ¿ | ||
24 | [A[79C | ||
25 | ³[1;30mÞÛÝ[0;37m³ Nova #3 | ||
26 | [A[79C | ||
27 | ÀÄÄÄÙ | ||
28 | [A[79C | ||
29 | |||
30 | [A[79C | ||
31 | |||
32 | [A[79C | ||
33 | |||
34 | [A[79C | ||
35 | |||
36 | [A[79C | ||
37 | |||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/orig/zsim-06.ans b/src/thousands/images/orig/zsim-06.ans new file mode 100644 index 0000000..be6cf1b --- /dev/null +++ b/src/thousands/images/orig/zsim-06.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m06[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | ÚÄÄÄ¿ | ||
4 | [A[79C | ||
5 | ³[1;32mÞÛÝ[0;37m³ Nova #1 [1;34mÛÛÛÛ[0;34mÛÛÛÛÛ[37m Nova Keystone | ||
6 | [A[79C | ||
7 | ÀÄÂÄÙ [1;34mÛÛÛÛ[0;34mÛÛÛÛÛ[37m [1;33mþ[0;37mbadbeef [1;33mþ[0;37mbeefcab | ||
8 | [A[79C | ||
9 | ³ [1;34mÛÛ[0;34mÛÛÛÛÛÛÛ[37m | ||
10 | [A[79C | ||
11 | ³ [1;34mÛÛÛ[0;34mÛÛÛÛÛÛ[37m | ||
12 | [A[79C | ||
13 | ÚÄÁÄ¿ | ||
14 | [A[79C | ||
15 | ³[1;32mÞÛÝ[0;37m³ Keystone #2 [1;34mÛÛÛÛÛ[0;34mÛÛÛÛ[37m | ||
16 | [A[79C | ||
17 | ÀÄÂÄÙ [1;34mÛÛÛ[0;34mÛÛÛÛÛÛ[37m | ||
18 | [A[79C | ||
19 | ³ [1;34mÛ[0;34mÛÛÛÛÛÛÛÛ[37m | ||
20 | [A[79C | ||
21 | ³ [1;34mÛ[0;34mÛÛÛÛÛÛÛÛ[37m | ||
22 | [A[79C | ||
23 | ÚÄÁÄ¿ | ||
24 | [A[79C | ||
25 | ³[1;32mÞÛÝ[0;37m³ Nova #3 [34mÛÛÛÛÛÛÛÛÛ[37m | ||
26 | [A[79C | ||
27 | ÀÄÄÄÙ [34mÛÛÛÛÛÛÛÛÛ[37m | ||
28 | [A[79C | ||
29 | [34mÛÛÛÛÛÛÛÛÛ[37m | ||
30 | [A[79C | ||
31 | [34mÛÛÛÛÛÛÛÛÛ[37m | ||
32 | [A[79C | ||
33 | |||
34 | [A[79C | ||
35 | |||
36 | [A[79C | ||
37 | |||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/orig/zsim-07.ans b/src/thousands/images/orig/zsim-07.ans new file mode 100644 index 0000000..e827b4f --- /dev/null +++ b/src/thousands/images/orig/zsim-07.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m07[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | ÚÄÄÄ¿ | ||
4 | [A[79C | ||
5 | ³[1;32mÞÛÝ[0;37m³ Nova #1 [1;34mÛÛÛÛÛ[0;34mÛÛÛÛ[37m Nova Keystone | ||
6 | [A[79C | ||
7 | ÀÄÂÄÙ [1;34mÛÛÛÛÛ[0;34mÛÛÛÛ[37m [1;33mþ[0;37mbadbeef [1;33mþ[0;37mbeefcab | ||
8 | [A[79C | ||
9 | ³ [1;34mÛÛÛ[0;34mÛÛÛÛÛÛ[37m | ||
10 | [A[79C | ||
11 | ³ [1;34mÛÛÛÛ[0;34mÛÛÛÛÛ[37m | ||
12 | [A[79C | ||
13 | ÚÄÁÄ¿ | ||
14 | [A[79C | ||
15 | ³[1;32mÞÛÝ[0;37m³ Keystone #2 [1;34mÛÛÛÛÛÛÛ[0;34mÛÛ[37m | ||
16 | [A[79C | ||
17 | ÀÄÂÄÙ [1;34mÛÛÛ[0;34mÛÛÛÛÛÛ[37m | ||
18 | [A[79C | ||
19 | ³ [1;34mÛ[0;34mÛÛÛÛÛÛÛÛ[37m | ||
20 | [A[79C | ||
21 | ³ [1;34mÛ[0;34mÛÛÛÛÛÛÛÛ[37m | ||
22 | [A[79C | ||
23 | ÚÄÁÄ¿ | ||
24 | [A[79C | ||
25 | ³[1;32mÞÛÝ[0;37m³ Nova #3 [1;34mÛ[0;34mÛÛÛÛÛÛÛÛ[37m | ||
26 | [A[79C | ||
27 | ÀÄÂÄÙ [1;34mÛ[0;34mÛÛÛÛÛÛÛÛ[37m | ||
28 | [A[79C | ||
29 | ³ [34mÛÛÛÛÛÛÛÛÛ[37m | ||
30 | [A[79C | ||
31 | ³ [34mÛÛÛÛÛÛÛÛÛ[37m | ||
32 | [A[79C | ||
33 | ÚÄÁÄ¿ | ||
34 | [A[79C | ||
35 | ³[1;30mÞÛÝ[0;37m³ Nova #4 | ||
36 | [A[79C | ||
37 | ÀÄÄÄÙ | ||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/orig/zsim-08.ans b/src/thousands/images/orig/zsim-08.ans new file mode 100644 index 0000000..e7d5ca5 --- /dev/null +++ b/src/thousands/images/orig/zsim-08.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m08[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | ÚÄÄÄ¿ | ||
4 | [A[79C | ||
5 | ³[1;32mÞÛÝ[0;37m³ Nova #1 [1;34mÛÛÛÛÛÛ[0;34mÛÛÛ[37m Nova Keystone | ||
6 | [A[79C | ||
7 | ÀÄÂÄÙ [1;34mÛÛÛÛÛÛ[0;34mÛÛÛ[37m [1;33mþ[0;37mbadbeef [1;33mþ[0;37mbeefcab | ||
8 | [A[79C | ||
9 | ³ [1;34mÛÛÛÛ[0;34mÛÛÛÛÛ[37m | ||
10 | [A[79C | ||
11 | ³ [1;34mÛÛÛÛÛ[0;34mÛÛÛÛ[37m | ||
12 | [A[79C | ||
13 | ÚÄÁÄ¿ | ||
14 | [A[79C | ||
15 | ³[1;32mÞÛÝ[0;37m³ Keystone #2 [1;34mÛÛÛÛÛÛÛÛ[0;34mÛ[37m | ||
16 | [A[79C | ||
17 | ÀÄÂÄÙ [1;34mÛÛÛ[0;34mÛÛÛÛÛÛ[37m | ||
18 | [A[79C | ||
19 | ³ [1;34mÛÛ[0;34mÛÛÛÛÛÛÛ[37m | ||
20 | [A[79C | ||
21 | ³ [1;34mÛÛÛ[0;34mÛÛÛÛÛÛ[37m | ||
22 | [A[79C | ||
23 | ÚÄÁÄ¿ | ||
24 | [A[79C | ||
25 | ³[1;32mÞÛÝ[0;37m³ Nova #3 [1;34mÛÛ[0;34mÛÛÛÛÛÛÛ[37m | ||
26 | [A[79C | ||
27 | ÀÄÂÄÙ [1;34mÛÛ[0;34mÛÛÛÛÛÛÛ[37m | ||
28 | [A[79C | ||
29 | ³ [34mÛÛÛÛÛÛÛÛÛ[37m | ||
30 | [A[79C | ||
31 | ³ [1;34mÛ[0;34mÛÛÛÛÛÛÛÛ[37m | ||
32 | [A[79C | ||
33 | ÚÄÁÄ¿ | ||
34 | [A[79C | ||
35 | ³[1;32mÞÛÝ[0;37m³ Nova #4 [34mÛÛÛÛÛÛÛÛÛ[37m | ||
36 | [A[79C | ||
37 | ÀÄÄÄÙ [34mÛÛÛÛÛÛÛÛÛ[37m | ||
38 | [A[79C | ||
39 | [34mÛÛÛÛÛÛÛÛÛ[37m | ||
40 | [A[79C | ||
41 | [34mÛÛÛÛÛÛÛÛÛ[37m [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/orig/zsim-09.ans b/src/thousands/images/orig/zsim-09.ans new file mode 100644 index 0000000..c5a6f3a --- /dev/null +++ b/src/thousands/images/orig/zsim-09.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m09[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | ÚÄÄÄ¿ | ||
4 | [A[79C | ||
5 | ³[1;32mÞÛÝ[0;37m³ Nova #1 [1;34mÛÛÛÛÛÛÛ[0;34mÛÛ[37m Nova Keystone | ||
6 | [A[79C | ||
7 | ÀÄÂÄÙ [1;34mÛÛÛÛÛÛÛ[0;34mÛÛ[37m [1;33mþ[0;37mbadbeef [1;33mþ[0;37mbeefcab | ||
8 | [A[79C | ||
9 | ³ [1;34mÛÛÛÛÛ[0;34mÛÛÛÛ[37m | ||
10 | [A[79C | ||
11 | ³ [1;34mÛÛÛÛÛÛ[0;34mÛÛÛ[37m | ||
12 | [A[79C | ||
13 | ÚÄÁÄ¿ | ||
14 | [A[79C | ||
15 | ³[1;31mÞÛÝ[0;37m³ Keystone #2 [1;31mFAILURE[0;37m | ||
16 | [A[79C | ||
17 | ÀÄÂÄÙ [1;34mÛÛÛÛÛÛÛ[0;34mÛÛ[37m | ||
18 | [A[79C | ||
19 | ³ [1;34mÛÛÛ[0;34mÛÛÛÛÛÛ[37m | ||
20 | [A[79C | ||
21 | ³ [1;34mÛÛÛ[0;34mÛÛÛÛÛÛ[37m | ||
22 | [A[79C | ||
23 | ÚÄÁÄ¿ | ||
24 | [A[79C | ||
25 | ³[1;32mÞÛÝ[0;37m³ Nova #3 [1;34mÛÛÛ[0;34mÛÛÛÛÛÛ[37m | ||
26 | [A[79C | ||
27 | ÀÄÂÄÙ [1;34mÛÛÛ[0;34mÛÛÛÛÛÛ[37m | ||
28 | [A[79C | ||
29 | ³ [1;34mÛ[0;34mÛÛÛÛÛÛÛÛ[37m | ||
30 | [A[79C | ||
31 | ³ [1;34mÛÛ[0;34mÛÛÛÛÛÛÛ[37m | ||
32 | [A[79C | ||
33 | ÚÄÁÄ¿ | ||
34 | [A[79C | ||
35 | ³[1;32mÞÛÝ[0;37m³ Nova #4 [1;34mÛ[0;34mÛÛÛÛÛÛÛÛ[37m | ||
36 | [A[79C | ||
37 | ÀÄÄÄÙ [1;34mÛ[0;34mÛÛÛÛÛÛÛÛ[37m | ||
38 | [A[79C | ||
39 | [34mÛÛÛÛÛÛÛÛÛ[37m | ||
40 | [A[79C | ||
41 | [34mÛÛÛÛÛÛÛÛÛ[37m [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/orig/zsim-10.ans b/src/thousands/images/orig/zsim-10.ans new file mode 100644 index 0000000..85e80a2 --- /dev/null +++ b/src/thousands/images/orig/zsim-10.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m10[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | ÚÄÄÄ¿ | ||
4 | [A[79C | ||
5 | ³[1;32mÞÛÝ[0;37m³ Nova #1 [1;34mÛÛÛÛÛÛÛÛ[0;34mÛ[37m Nova Keystone | ||
6 | [A[79C | ||
7 | ÀÄÂÄÙ [1;34mÛÛÛÛÛÛÛÛ[0;34mÛ[37m [1;33mþ[0;37mbadbeef [1;33mþ[0;37mbeefcab | ||
8 | [A[79C | ||
9 | ³ [1;34mÛÛÛÛÛÛ[0;34mÛÛÛ[37m | ||
10 | [A[79C | ||
11 | ³ [1;34mÛÛÛÛÛÛÛ[0;34mÛÛ[37m | ||
12 | [A[79C | ||
13 | ÚÄÁÄ¿ | ||
14 | [A[79C | ||
15 | ³[1;31mÞÛÝ[0;37m³ Keystone #2 [1;31mFAILURE[0;37m | ||
16 | [A[79C | ||
17 | ÀÄÂÄÙ [1;34mÛÛÛÛÛÛÛÛÛ[0;37m | ||
18 | [A[79C | ||
19 | ³ [1;34mÛÛÛÛ[0;34mÛÛÛÛÛ[37m | ||
20 | [A[79C | ||
21 | ³ [1;34mÛÛÛÛ[0;34mÛÛÛÛÛ[37m | ||
22 | [A[79C | ||
23 | ÚÄÁÄ¿ | ||
24 | [A[79C | ||
25 | ³[1;30mÞÛÝ[0;37m³ Nova #3 [1;30mCANCELED[0;37m | ||
26 | [A[79C | ||
27 | ÀÄÂÄÙ [1;30mCANCELED[0;37m | ||
28 | [A[79C | ||
29 | ³ [1;30mCANCELED[0;37m | ||
30 | [A[79C | ||
31 | ³ [1;30mCANCELED[0;37m | ||
32 | [A[79C | ||
33 | ÚÄÁÄ¿ | ||
34 | [A[79C | ||
35 | ³[1;30mÞÛÝ[0;37m³ Nova #4 [1;30mCANCELED[0;37m | ||
36 | [A[79C | ||
37 | ÀÄÄÄÙ [1;30mCANCELED[0;37m | ||
38 | [A[79C | ||
39 | [1;30mCANCELED[0;37m | ||
40 | [A[79C | ||
41 | [1;30mCANCELED[0;37m [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/orig/zsim-11.ans b/src/thousands/images/orig/zsim-11.ans new file mode 100644 index 0000000..0a7b7e2 --- /dev/null +++ b/src/thousands/images/orig/zsim-11.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m11[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | ÚÄÄÄ¿ | ||
4 | [A[79C | ||
5 | ³[1;32mÞÛÝ[0;37m³ Nova #1 [1;34mÛÛÛÛÛÛÛÛÛ[0;37m Nova Keystone | ||
6 | [A[79C | ||
7 | ÀÄÂÄÙ [1;34mÛÛÛÛÛÛÛÛÛ[0;37m [1;33mþ[0;37mbadbeef [1;33mþ[0;37mbeefcab | ||
8 | [A[79C | ||
9 | ÀÄÄ¿ [1;34mÛÛÛÛÛÛÛ[0;34mÛÛ[37m | ||
10 | [A[79C | ||
11 | ³ [1;34mÛÛÛÛÛÛÛÛ[0;34mÛ[37m | ||
12 | [A[79C | ||
13 | ÚÄÁÄ¿ | ||
14 | [A[79C | ||
15 | ³[1;31mÞÛÝ[0;37m³ Keystone #2 [1;31mFAILURE[0;37m | ||
16 | [A[79C | ||
17 | ÀÄÄÄÙ [1;32mSUCCESS[0;37m | ||
18 | [A[79C | ||
19 | [1;34mÛÛÛÛÛ[0;34mÛÛÛÛ[37m | ||
20 | [A[79C | ||
21 | [1;34mÛÛÛÛÛ[0;34mÛÛÛÛ[37m | ||
22 | [A[79C | ||
23 | ÚÄÄÄ¿ | ||
24 | [A[79C | ||
25 | ³[1;30mÞÛÝ[0;37m³ Nova #3 | ||
26 | [A[79C | ||
27 | ÀÄÂÄÙ | ||
28 | [A[79C | ||
29 | ³ | ||
30 | [A[79C | ||
31 | ³ | ||
32 | [A[79C | ||
33 | ÚÄÁÄ¿ | ||
34 | [A[79C | ||
35 | ³[1;30mÞÛÝ[0;37m³ Nova #4 | ||
36 | [A[79C | ||
37 | ÀÄÄÄÙ | ||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/orig/zsim-12.ans b/src/thousands/images/orig/zsim-12.ans new file mode 100644 index 0000000..072d29b --- /dev/null +++ b/src/thousands/images/orig/zsim-12.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m12[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | ÚÄÄÄ¿ | ||
4 | [A[79C | ||
5 | ³[1;32mÞÛÝ[0;37m³ Nova #1 [1;32mSUCCESS[0;37m Nova Keystone | ||
6 | [A[79C | ||
7 | ÀÄÂÄÙ [1;32mSUCCESS[0;37m [1;33mþ[0;37mbadbeef [1;33mþ[0;37mbeefcab | ||
8 | [A[79C | ||
9 | ÃÄÄ¿ [1;34mÛÛÛÛÛÛÛÛ[0;34mÛ[37m | ||
10 | [A[79C | ||
11 | ³ ³ [1;34mÛÛÛÛÛÛÛÛÛ[0;37m | ||
12 | [A[79C | ||
13 | ³ÚÄÁÄ¿ | ||
14 | [A[79C | ||
15 | ³³[1;31mÞÛÝ[0;37m³ Keystone #2 [1;31mFAILURE[0;37m | ||
16 | [A[79C | ||
17 | ³ÀÄÄÄÙ [1;32mSUCCESS[0;37m | ||
18 | [A[79C | ||
19 | ³ [1;34mÛÛÛÛÛÛ[0;34mÛÛÛ[37m | ||
20 | [A[79C | ||
21 | ³ [1;34mÛÛÛÛÛÛ[0;34mÛÛÛ[37m | ||
22 | [A[79C | ||
23 | ÚÄÁÄ¿ | ||
24 | [A[79C | ||
25 | ³[1;32mÞÛÝ[0;37m³ Nova #3 [34mÛÛÛÛÛÛÛÛÛ[37m | ||
26 | [A[79C | ||
27 | ÀÄÂÄÙ [34mÛÛÛÛÛÛÛÛÛ[37m | ||
28 | [A[79C | ||
29 | ³ [34mÛÛÛÛÛÛÛÛÛ[37m | ||
30 | [A[79C | ||
31 | ³ [34mÛÛÛÛÛÛÛÛÛ[37m | ||
32 | [A[79C | ||
33 | ÚÄÁÄ¿ | ||
34 | [A[79C | ||
35 | ³[1;30mÞÛÝ[0;37m³ Nova #4 | ||
36 | [A[79C | ||
37 | ÀÄÄÄÙ | ||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/orig/zsim-13.ans b/src/thousands/images/orig/zsim-13.ans new file mode 100644 index 0000000..cf656e3 --- /dev/null +++ b/src/thousands/images/orig/zsim-13.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m13[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | ÚÄÄÄ¿ | ||
4 | [A[79C | ||
5 | ³[1;32mÞÛÝ[0;37m³ Nova #1 [1;32mSUCCESS[0;37m Nova Keystone | ||
6 | [A[79C | ||
7 | ÀÄÂÄÙ [1;32mSUCCESS[0;37m [1;33mþ[0;37mbadbeef [1;33mþ[0;37mbeefcab | ||
8 | [A[79C | ||
9 | ÃÄÄ¿ [1;34mÛÛÛÛÛÛÛÛÛ[0;37m | ||
10 | [A[79C | ||
11 | ³ ³ [1;32mSUCCESS[0;37m | ||
12 | [A[79C | ||
13 | ³ÚÄÁÄ¿ | ||
14 | [A[79C | ||
15 | ³³[1;31mÞÛÝ[0;37m³ Keystone #2 [1;31mFAILURE[0;37m | ||
16 | [A[79C | ||
17 | ³ÀÄÄÄÙ [1;32mSUCCESS[0;37m | ||
18 | [A[79C | ||
19 | ³ [1;34mÛÛÛÛÛÛÛ[0;34mÛÛ[37m | ||
20 | [A[79C | ||
21 | ³ [1;34mÛÛÛÛÛÛÛ[0;34mÛÛ[37m | ||
22 | [A[79C | ||
23 | ÚÄÁÄ¿ | ||
24 | [A[79C | ||
25 | ³[1;32mÞÛÝ[0;37m³ Nova #3 [1;34mÛ[0;34mÛÛÛÛÛÛÛÛ[37m | ||
26 | [A[79C | ||
27 | ÀÄÂÄÙ [1;34mÛ[0;34mÛÛÛÛÛÛÛÛ[37m | ||
28 | [A[79C | ||
29 | ³ [34mÛÛÛÛÛÛÛÛÛ[37m | ||
30 | [A[79C | ||
31 | ³ [34mÛÛÛÛÛÛÛÛÛ[37m | ||
32 | [A[79C | ||
33 | ÚÄÁÄ¿ | ||
34 | [A[79C | ||
35 | ³[1;32mÞÛÝ[0;37m³ Nova #4 [34mÛÛÛÛÛÛÛÛÛ[37m | ||
36 | [A[79C | ||
37 | ÀÄÄÄÙ [34mÛÛÛÛÛÛÛÛÛ[37m | ||
38 | [A[79C | ||
39 | [34mÛÛÛÛÛÛÛÛÛ[37m | ||
40 | [A[79C | ||
41 | [34mÛÛÛÛÛÛÛÛÛ[37m [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/orig/zsim-14.ans b/src/thousands/images/orig/zsim-14.ans new file mode 100644 index 0000000..0151210 --- /dev/null +++ b/src/thousands/images/orig/zsim-14.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m14[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | ÚÄÄÄ¿ | ||
4 | [A[79C | ||
5 | ³[1;32mÞÛÝ[0;37m³ Nova #1 [1;32mSUCCESS[0;37m Nova Keystone | ||
6 | [A[79C | ||
7 | ÀÄÂÄÙ [1;32mSUCCESS[0;37m [1;33mþ[0;37mbadbeef [1;33mþ[0;37mbeefcab | ||
8 | [A[79C | ||
9 | ÃÄÄ¿ [1;32mSUCCESS[0;37m | ||
10 | [A[79C | ||
11 | ³ ³ [1;32mSUCCESS[0;37m | ||
12 | [A[79C | ||
13 | ³ÚÄÁÄ¿ | ||
14 | [A[79C | ||
15 | ³³[1;31mÞÛÝ[0;37m³ Keystone #2 [1;31mFAILURE[0;37m | ||
16 | [A[79C | ||
17 | ³ÀÄÄÄÙ [1;32mSUCCESS[0;37m | ||
18 | [A[79C | ||
19 | ³ [1;34mÛÛÛÛÛÛÛÛ[0;34mÛ[37m | ||
20 | [A[79C | ||
21 | ³ [1;34mÛÛÛÛÛÛÛÛ[0;34mÛ[37m | ||
22 | [A[79C | ||
23 | ÚÄÁÄ¿ | ||
24 | [A[79C | ||
25 | ³[1;32mÞÛÝ[0;37m³ Nova #3 [1;34mÛÛÛ[0;34mÛÛÛÛÛÛ[37m | ||
26 | [A[79C | ||
27 | ÀÄÂÄÙ [1;34mÛÛÛ[0;34mÛÛÛÛÛÛ[37m | ||
28 | [A[79C | ||
29 | ³ [1;34mÛ[0;34mÛÛÛÛÛÛÛÛ[37m | ||
30 | [A[79C | ||
31 | ³ [1;34mÛÛ[0;34mÛÛÛÛÛÛÛ[37m | ||
32 | [A[79C | ||
33 | ÚÄÁÄ¿ | ||
34 | [A[79C | ||
35 | ³[1;32mÞÛÝ[0;37m³ Nova #4 [1;34mÛ[0;34mÛÛÛÛÛÛÛÛ[37m | ||
36 | [A[79C | ||
37 | ÀÄÄÄÙ [1;34mÛ[0;34mÛÛÛÛÛÛÛÛ[37m | ||
38 | [A[79C | ||
39 | [34mÛÛÛÛÛÛÛÛÛ[37m | ||
40 | [A[79C | ||
41 | [34mÛÛÛÛÛÛÛÛÛ[37m [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/orig/zsim-15.ans b/src/thousands/images/orig/zsim-15.ans new file mode 100644 index 0000000..eb63977 --- /dev/null +++ b/src/thousands/images/orig/zsim-15.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m15[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | |||
4 | [A[79C | ||
5 | Nova Keystone | ||
6 | [A[79C | ||
7 | [33mþ[37mbadbeef [1;33mþ[0;37mbeefcab | ||
8 | [A[79C | ||
9 | [1;33mþ[0;37m#1 | ||
10 | [A[79C | ||
11 | |||
12 | [A[79C | ||
13 | ³ÚÄÄÄ¿ | ||
14 | [A[79C | ||
15 | ³³[1;31mÞÛÝ[0;37m³ Keystone #2 [1;31mFAILURE[0;37m | ||
16 | [A[79C | ||
17 | ³ÀÄÄÄÙ [1;32mSUCCESS[0;37m | ||
18 | [A[79C | ||
19 | ³ [1;34mÛÛÛÛÛÛÛÛÛ[0;37m | ||
20 | [A[79C | ||
21 | ³ [1;34mÛÛÛÛÛÛÛÛÛ[0;37m | ||
22 | [A[79C | ||
23 | ÚÄÁÄ¿ | ||
24 | [A[79C | ||
25 | ³[1;32mÞÛÝ[0;37m³ Nova #3 [1;34mÛÛÛÛÛ[0;34mÛÛÛÛ[37m | ||
26 | [A[79C | ||
27 | ÀÄÂÄÙ [1;34mÛÛÛÛÛ[0;34mÛÛÛÛ[37m | ||
28 | [A[79C | ||
29 | ³ [1;34mÛÛ[0;34mÛÛÛÛÛÛÛ[37m | ||
30 | [A[79C | ||
31 | ³ [1;34mÛÛÛ[0;34mÛÛÛÛÛÛ[37m | ||
32 | [A[79C | ||
33 | ÚÄÁÄ¿ | ||
34 | [A[79C | ||
35 | ³[1;32mÞÛÝ[0;37m³ Nova #4 [1;34mÛÛÛ[0;34mÛÛÛÛÛÛ[37m | ||
36 | [A[79C | ||
37 | ÀÄÄÄÙ [1;34mÛÛÛ[0;34mÛÛÛÛÛÛ[37m | ||
38 | [A[79C | ||
39 | [1;34mÛ[0;34mÛÛÛÛÛÛÛÛ[37m | ||
40 | [A[79C | ||
41 | [1;34mÛÛ[0;34mÛÛÛÛÛÛÛ[37m [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/orig/zsim-16.ans b/src/thousands/images/orig/zsim-16.ans new file mode 100644 index 0000000..d007060 --- /dev/null +++ b/src/thousands/images/orig/zsim-16.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m16[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | |||
4 | [A[79C | ||
5 | Nova Keystone | ||
6 | [A[79C | ||
7 | [33mþ[37mbadbeef [1;33mþ[0;37mbeefcab | ||
8 | [A[79C | ||
9 | [1;33mþ[0;37m#1 | ||
10 | [A[79C | ||
11 | |||
12 | [A[79C | ||
13 | ³ÚÄÄÄ¿ | ||
14 | [A[79C | ||
15 | ³³[1;31mÞÛÝ[0;37m³ Keystone #2 [1;31mFAILURE[0;37m | ||
16 | [A[79C | ||
17 | ³ÀÄÄÄÙ [1;32mSUCCESS[0;37m | ||
18 | [A[79C | ||
19 | ³ [1;32mSUCCESS[0;37m | ||
20 | [A[79C | ||
21 | ³ [1;32mSUCCESS[0;37m | ||
22 | [A[79C | ||
23 | ÚÄÁÄ¿ | ||
24 | [A[79C | ||
25 | ³[1;32mÞÛÝ[0;37m³ Nova #3 [1;34mÛÛÛÛÛÛÛ[0;34mÛÛ[37m | ||
26 | [A[79C | ||
27 | ÀÄÂÄÙ [1;34mÛÛÛÛÛÛÛ[0;34mÛÛ[37m | ||
28 | [A[79C | ||
29 | ³ [1;34mÛÛÛÛÛ[0;34mÛÛÛÛ[37m | ||
30 | [A[79C | ||
31 | ³ [1;34mÛÛÛÛÛÛ[0;34mÛÛÛ[37m | ||
32 | [A[79C | ||
33 | ÚÄÁÄ¿ | ||
34 | [A[79C | ||
35 | ³[1;32mÞÛÝ[0;37m³ Nova #4 [1;34mÛÛÛÛÛ[0;34mÛÛÛÛ[37m | ||
36 | [A[79C | ||
37 | ÀÄÄÄÙ [1;34mÛÛÛÛÛ[0;34mÛÛÛÛ[37m | ||
38 | [A[79C | ||
39 | [1;34mÛÛÛ[0;34mÛÛÛÛÛÛ[37m | ||
40 | [A[79C | ||
41 | [1;34mÛÛÛÛ[0;34mÛÛÛÛÛ[37m [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/orig/zsim-17.ans b/src/thousands/images/orig/zsim-17.ans new file mode 100644 index 0000000..14c9258 --- /dev/null +++ b/src/thousands/images/orig/zsim-17.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m17[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | |||
4 | [A[79C | ||
5 | Nova Keystone | ||
6 | [A[79C | ||
7 | [33mþ[37mbadbeef [1;33mþ[0;37mbeefcab | ||
8 | [A[79C | ||
9 | [1;33mþ[0;37m#1 | ||
10 | [A[79C | ||
11 | |||
12 | [A[79C | ||
13 | |||
14 | [A[79C | ||
15 | |||
16 | [A[79C | ||
17 | |||
18 | [A[79C | ||
19 | |||
20 | [A[79C | ||
21 | |||
22 | [A[79C | ||
23 | ÚÄÄÄ¿ | ||
24 | [A[79C | ||
25 | ³[1;32mÞÛÝ[0;37m³ Nova #3 [1;34mÛÛÛÛÛÛÛÛÛ[0;37m | ||
26 | [A[79C | ||
27 | ÀÄÂÄÙ [1;34mÛÛÛÛÛÛÛÛÛ[0;37m | ||
28 | [A[79C | ||
29 | ³ [1;34mÛÛÛÛÛÛÛ[0;34mÛÛ[37m | ||
30 | [A[79C | ||
31 | ³ [1;34mÛÛÛÛÛÛÛÛ[0;34mÛ[37m | ||
32 | [A[79C | ||
33 | ÚÄÁÄ¿ | ||
34 | [A[79C | ||
35 | ³[1;32mÞÛÝ[0;37m³ Nova #4 [1;34mÛÛÛÛÛÛÛ[0;34mÛÛ[37m | ||
36 | [A[79C | ||
37 | ÀÄÄÄÙ [1;34mÛÛÛÛÛÛÛ[0;34mÛÛ[37m | ||
38 | [A[79C | ||
39 | [1;34mÛÛÛÛÛ[0;34mÛÛÛÛ[37m | ||
40 | [A[79C | ||
41 | [1;34mÛÛÛÛÛÛ[0;34mÛÛÛ[37m [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/orig/zsim-18.ans b/src/thousands/images/orig/zsim-18.ans new file mode 100644 index 0000000..ed780ea --- /dev/null +++ b/src/thousands/images/orig/zsim-18.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m18[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | |||
4 | [A[79C | ||
5 | Nova Keystone | ||
6 | [A[79C | ||
7 | [33mþ[37mbadbeef [1;33mþ[0;37mbeefcab | ||
8 | [A[79C | ||
9 | [1;33mþ[0;37m#1 | ||
10 | [A[79C | ||
11 | |||
12 | [A[79C | ||
13 | |||
14 | [A[79C | ||
15 | |||
16 | [A[79C | ||
17 | |||
18 | [A[79C | ||
19 | |||
20 | [A[79C | ||
21 | |||
22 | [A[79C | ||
23 | ÚÄÄÄ¿ | ||
24 | [A[79C | ||
25 | ³[1;32mÞÛÝ[0;37m³ Nova #3 [1;32m SUCCESS [0;37m | ||
26 | [A[79C | ||
27 | ÀÄÂÄÙ [1;32m SUCCESS [0;37m | ||
28 | [A[79C | ||
29 | ³ [1;32m SUCCESS [0;37m | ||
30 | [A[79C | ||
31 | ³ [1;32m SUCCESS [0;37m | ||
32 | [A[79C | ||
33 | ÚÄÁÄ¿ | ||
34 | [A[79C | ||
35 | ³[1;32mÞÛÝ[0;37m³ Nova #4 [1;34mÛÛÛÛÛÛÛÛÛ[0;37m | ||
36 | [A[79C | ||
37 | ÀÄÄÄÙ [1;34mÛÛÛÛÛÛÛÛÛ[0;37m | ||
38 | [A[79C | ||
39 | [1;34mÛÛÛÛÛÛÛ[0;34mÛÛ[37m | ||
40 | [A[79C | ||
41 | [1;34mÛÛÛÛÛÛÛÛ[0;34mÛ[37m [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/orig/zsim-19.ans b/src/thousands/images/orig/zsim-19.ans new file mode 100644 index 0000000..c82b91c --- /dev/null +++ b/src/thousands/images/orig/zsim-19.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m19[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | |||
4 | [A[79C | ||
5 | Nova Keystone | ||
6 | [A[79C | ||
7 | [33mþ[37mbadbeef [1;33mþ[0;37mbeefcab | ||
8 | [A[79C | ||
9 | [33mþ[37m#1 | ||
10 | [A[79C | ||
11 | [1;33mþ[0;37m#3 | ||
12 | [A[79C | ||
13 | |||
14 | [A[79C | ||
15 | |||
16 | [A[79C | ||
17 | |||
18 | [A[79C | ||
19 | |||
20 | [A[79C | ||
21 | |||
22 | [A[79C | ||
23 | |||
24 | [A[79C | ||
25 | |||
26 | [A[79C | ||
27 | |||
28 | [A[79C | ||
29 | |||
30 | [A[79C | ||
31 | |||
32 | [A[79C | ||
33 | ÚÄÄÄ¿ | ||
34 | [A[79C | ||
35 | ³[1;32mÞÛÝ[0;37m³ Nova #4 [1;32m SUCCESS [0;37m | ||
36 | [A[79C | ||
37 | ÀÄÄÄÙ [1;32m SUCCESS [0;37m | ||
38 | [A[79C | ||
39 | [1;34mÛÛÛÛÛÛÛÛÛ[0;37m | ||
40 | [A[79C | ||
41 | [1;32m SUCCESS [0;37m [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/orig/zsim-20.ans b/src/thousands/images/orig/zsim-20.ans new file mode 100644 index 0000000..4d75d8b --- /dev/null +++ b/src/thousands/images/orig/zsim-20.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m20[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | |||
4 | [A[79C | ||
5 | Nova Keystone | ||
6 | [A[79C | ||
7 | [33mþ[37mbadbeef [1;33mþ[0;37mbeefcab | ||
8 | [A[79C | ||
9 | [33mþ[37m#1 | ||
10 | [A[79C | ||
11 | [1;33mþ[0;37m#3 | ||
12 | [A[79C | ||
13 | |||
14 | [A[79C | ||
15 | |||
16 | [A[79C | ||
17 | |||
18 | [A[79C | ||
19 | |||
20 | [A[79C | ||
21 | |||
22 | [A[79C | ||
23 | |||
24 | [A[79C | ||
25 | |||
26 | [A[79C | ||
27 | |||
28 | [A[79C | ||
29 | |||
30 | [A[79C | ||
31 | |||
32 | [A[79C | ||
33 | ÚÄÄÄ¿ | ||
34 | [A[79C | ||
35 | ³[1;32mÞÛÝ[0;37m³ Nova #4 [1;32m SUCCESS [0;37m | ||
36 | [A[79C | ||
37 | ÀÄÄÄÙ [1;32m SUCCESS [0;37m | ||
38 | [A[79C | ||
39 | [1;32m SUCCESS [0;37m | ||
40 | [A[79C | ||
41 | [1;32m SUCCESS [0;37m [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/orig/zsim-21.ans b/src/thousands/images/orig/zsim-21.ans new file mode 100644 index 0000000..5847053 --- /dev/null +++ b/src/thousands/images/orig/zsim-21.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m21[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | |||
4 | [A[79C | ||
5 | Nova Keystone | ||
6 | [A[79C | ||
7 | [33mþ[37mbadbeef [1;33mþ[0;37mbeefcab | ||
8 | [A[79C | ||
9 | [33mþ[37m#1 | ||
10 | [A[79C | ||
11 | [33mþ[37m#3 | ||
12 | [A[79C | ||
13 | [1;33mþ[0;37m#4 | ||
14 | [A[79C | ||
15 | |||
16 | [A[79C | ||
17 | |||
18 | [A[79C | ||
19 | |||
20 | [A[79C | ||
21 | |||
22 | [A[79C | ||
23 | |||
24 | [A[79C | ||
25 | |||
26 | [A[79C | ||
27 | |||
28 | [A[79C | ||
29 | |||
30 | [A[79C | ||
31 | |||
32 | [A[79C | ||
33 | |||
34 | [A[79C | ||
35 | |||
36 | [A[79C | ||
37 | |||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/orig/zsim-22.ans b/src/thousands/images/orig/zsim-22.ans new file mode 100644 index 0000000..3ad7700 --- /dev/null +++ b/src/thousands/images/orig/zsim-22.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m22[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | |||
4 | [A[79C | ||
5 | Nova Keystone | ||
6 | [A[79C | ||
7 | [33mþ[37mbadbeef [1;33m:([0;37m | ||
8 | [A[79C | ||
9 | [33mþ[37m#1 | ||
10 | [A[79C | ||
11 | [33mþ[37m#3 | ||
12 | [A[79C | ||
13 | [1;33mþ[0;37m#4 | ||
14 | [A[79C | ||
15 | |||
16 | [A[79C | ||
17 | |||
18 | [A[79C | ||
19 | |||
20 | [A[79C | ||
21 | |||
22 | [A[79C | ||
23 | |||
24 | [A[79C | ||
25 | |||
26 | [A[79C | ||
27 | |||
28 | [A[79C | ||
29 | |||
30 | [A[79C | ||
31 | |||
32 | [A[79C | ||
33 | |||
34 | [A[79C | ||
35 | |||
36 | [A[79C | ||
37 | |||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/orig/zsim-keyline.ans b/src/thousands/images/orig/zsim-keyline.ans new file mode 100644 index 0000000..a2c3fb5 --- /dev/null +++ b/src/thousands/images/orig/zsim-keyline.ans | |||
@@ -0,0 +1,45 @@ | |||
1 | [0m Zuul Git | ||
2 | [A[79C | ||
3 | |||
4 | [A[79C | ||
5 | [X] Nova #1 SUCCESS Nova Keystone | ||
6 | [A[79C | ||
7 | | SUCCESS * HEAD * HEAD | ||
8 | [A[79C | ||
9 | |--+ OOOOOOOOO.. | ||
10 | [A[79C | ||
11 | | | SUCCESS | ||
12 | [A[79C | ||
13 | | | | ||
14 | [A[79C | ||
15 | | [X] Keystone #2 FAILURE | ||
16 | [A[79C | ||
17 | | SUCCESS | ||
18 | [A[79C | ||
19 | | OOOOOOO.... | ||
20 | [A[79C | ||
21 | | OOOOOOOOO.. | ||
22 | [A[79C | ||
23 | | | ||
24 | [A[79C | ||
25 | [X] Nova #3 OOOOOOO.... | ||
26 | [A[79C | ||
27 | | OOOOOOO.... | ||
28 | [A[79C | ||
29 | | OOOOO...... | ||
30 | [A[79C | ||
31 | | OOOOOO..... | ||
32 | [A[79C | ||
33 | | | ||
34 | [A[79C | ||
35 | [X] Nova #4 OOOO....... | ||
36 | [A[79C | ||
37 | OOOO....... | ||
38 | [A[79C | ||
39 | OO......... | ||
40 | [A[79C | ||
41 | OOO........ | ||
42 | [A[79C | ||
43 | |||
44 | [A[79C | ||
45 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/orig/zuul-status.ans b/src/thousands/images/orig/zuul-status.ans new file mode 100644 index 0000000..d21c0ca --- /dev/null +++ b/src/thousands/images/orig/zuul-status.ans | |||
@@ -0,0 +1,49 @@ | |||
1 | [0m[47m [40m | ||
2 | [A[79C | ||
3 | [47m [1;31m Check [0;47m [1;31m Gate[0;47m [1;31m Post[0;47m [40m | ||
4 | [A[79C | ||
5 | [30;47m[[42m [47m][46m+-----------------+[37;47m [30m[[42m [47m][46m+-----------------+[47m [[42m [47m][46m+-----------------+[37;40m | ||
6 | [A[79C | ||
7 | [47m [30m [37m [30;46m|[1;31mnova [0;30;46m45:20[1;31m [0;30;46m|[37;47m [30m|[37m [30;46m|[1;31mnova [0;30;46m45:20[1;31m [0;30;46m|[37;47m [30m [37m [30;46m|[1;31mnova [0;30;46m45:20[1;31m [0;30;46m|[37;40m | ||
8 | [A[79C | ||
9 | [47m [30m [37m [30;46m|[1;31m321465 [0;30;46m13:37[1;31m [0;30;46m|[37;47m [30m|[37m [30;46m|[1;31m321465 [0;30;46m13:37[1;31m [0;30;46m|[37;47m [30m [37m [30;46m|[1;31m321465 [0;30;46m13:37[1;31m [0;30;46m|[37;40m | ||
10 | [A[79C | ||
11 | [47m [30;46m+-----------------+[37;47m [30m|[37m [30;46m+-----------------+[37;47m [30;46m+-----------------+[37;40m | ||
12 | [A[79C | ||
13 | [47m [30;46m|[1;31m pep8 [0;30;42mSUCCESS[46m|[37;47m [30m|[37m [30;46m|[1;31m pep8 [0;30;42mSUCCESS[46m|[37;47m [30;46m|[1;31m pep8 [0;30;42mSUCCESS[46m|[37;40m | ||
14 | [A[79C | ||
15 | [47m [30;46m| [1;31mdocs [0;30;46m [36;44mxx [30;46m |[37;47m [30m|[37m [30;46m| [1;31mdocs [0;30;46m [36;44mxx [30;46m |[37;47m [30;46m| [1;31mdocs [0;30;46m [36;44mxx [30;46m |[37;40m | ||
16 | [A[79C | ||
17 | [47m [30;46m| [1;31mpython27[0;30;46m [36;44mx [30;46m |[37;47m [30m|[37m [30;46m| [1;31mpython27[0;30;46m [36;44mx [30;46m |[37;47m [30;46m| [1;31mpython27[0;30;46m [36;44mx [30;46m |[37;40m | ||
18 | [A[79C | ||
19 | [47m [30;46m| [1;31mtempest[0;30;46m [36;44mx [30;46m |[37;47m [30m|[37m [30;46m| [1;31mtempest[0;30;46m [36;44mx [30;46m |[37;47m [30;46m| [1;31mtempest[0;30;46m [36;44mx [30;46m |[37;40m | ||
20 | [A[79C | ||
21 | [47m [30;46m+-----------------+[37;47m [30m|[37m [30;46m+-----------------+[37;47m [30;46m+-----------------+[37;40m | ||
22 | [A[79C | ||
23 | [47m [30m|[37m [1;31m Release [0;47m [40m | ||
24 | [A[79C | ||
25 | [30;47m[[42m [47m][46m+-----------------+[37;47m [30m +[[41m [47m][46m+---------------+[37;47m [40m | ||
26 | [A[79C | ||
27 | [47m [30m [37m [30;46m|[1;31mnova [0;30;46m45:20[1;31m [0;30;46m|[37;47m [30m |[37m [30m [37m [30;46m|[1;31mnova [0;30;46m45:20[1;31m [0;30;46m|[37;47m [40m | ||
28 | [A[79C | ||
29 | [47m [30m [37m [30;46m|[1;31m321465 [0;30;46m13:37[1;31m [0;30;46m|[37;47m [30m |[37m [30m [37m [30;46m|[1;31m321465 [0;30;46m13:37[1;31m [0;30;46m|[37;47m [40m | ||
30 | [A[79C | ||
31 | [47m [30;46m+-----------------+[37;47m [30m |[37m [30;46m+---------------+[37;47m [40m | ||
32 | [A[79C | ||
33 | [47m [30;46m|[1;31m pep8 [0;30;41mFAILURE[46m|[37;47m [30m |[37m [30m [37m [40m | ||
34 | [A[79C | ||
35 | [47m [30;46m| [1;31mdocs [0;30;46m [36;44mxx [30;46m |[37;47m [30m[[42m [47m][46m+-----------------+[47m [37m [40m | ||
36 | [A[79C | ||
37 | [47m [30;46m| [1;31mpython27[0;30;46m [36;44mx [30;46m |[37;47m [30m [37m [30;46m|[1;31mnova [0;30;46m45:20[1;31m [0;30;46m|[47m [37m [40m | ||
38 | [A[79C | ||
39 | [47m [30;46m| [1;31mtempest[0;30;46m [36;44mx [30;46m |[37;47m [30m [37m [30;46m|[1;31m321465 [0;30;46m13:37[1;31m [0;30;46m|[47m [37m [40m | ||
40 | [A[79C | ||
41 | [47m [30;46m+-----------------+[37;47m [30m [37m [30;46m+-----------------+[47m [37m [40m | ||
42 | [A[79C | ||
43 | [47m [30m [37m [40m | ||
44 | [A[79C | ||
45 | [47m [40m | ||
46 | [A[79C | ||
47 | [47m [40m | ||
48 | [A[79C | ||
49 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/orig/zuul.ans b/src/thousands/images/orig/zuul.ans new file mode 100644 index 0000000..8442c58 --- /dev/null +++ b/src/thousands/images/orig/zuul.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[1;33mÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵³³³ÆÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ[0;37m | ||
2 | [A[79C | ||
3 | [1;33mÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´³ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ[0;37m | ||
4 | [A[79C | ||
5 | [33mÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ[1m³[0;33mÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ[37m | ||
6 | [A[79C | ||
7 | |||
8 | [A[79C | ||
9 | |||
10 | [A[79C | ||
11 | |||
12 | [A[79C | ||
13 | [32m _____ _[37m | ||
14 | [A[79C | ||
15 | [32m|__ / _ _ _| |[37m | ||
16 | [A[79C | ||
17 | [32m/ / | | | | | | |[37m | ||
18 | [A[79C | ||
19 | [32m/ /| |_| | |_| | |[37m | ||
20 | [A[79C | ||
21 | [32m/____\__,_|\__,_|_|[37m | ||
22 | [A[79C | ||
23 | |||
24 | [A[79C | ||
25 | |||
26 | [A[79C | ||
27 | |||
28 | [A[79C | ||
29 | |||
30 | [A[79C | ||
31 | |||
32 | [A[79C | ||
33 | [33mÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ[1m³[0;33mÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ[37m | ||
34 | [A[79C | ||
35 | [1;33mÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´³ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ[0;37m | ||
36 | [A[79C | ||
37 | [1;33mÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵³³³ÆÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ[0;37m | ||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | |||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/questions.ans b/src/thousands/images/questions.ans new file mode 100644 index 0000000..450e9ac --- /dev/null +++ b/src/thousands/images/questions.ans | |||
@@ -0,0 +1,27 @@ | |||
1 | [0m | ||
2 | [A[79C | ||
3 | |||
4 | [A[79C | ||
5 | |||
6 | [A[79C | ||
7 | |||
8 | [A[79C | ||
9 | [1;30mâ–„[33mâ–„â–„â–„â–„â–„â–„â–„â–„â–„â–„â–„â–„â–„â–„[30mâ–„[0;37m | ||
10 | [A[79C | ||
11 | [1;33mâ–ˆ[0;30;43m â–„ [1;33mâ–„â–„â–„â–„â–„ [0;30;43m â–„ [1;40mâ–ˆ[0;37m | ||
12 | [A[79C | ||
13 | [1;33m█[0;30;43m [1;33m██[0;30;43m█▀▀[1;33m██[0;30;43m▄ [1;40m█[0;37m | ||
14 | [A[79C | ||
15 | [1;33m█[0;30;43m [1;33;40m▀▀[0;37m [30;43m [1;33m▄██[0;30;43m█ [1;40m█[0;37m | ||
16 | [A[79C | ||
17 | [1;33m█[0;30;43m [1;33m ██[0;30;43m█▀▀ [1;40m█[0;37m | ||
18 | [A[79C | ||
19 | [1;33m█[0;30;43m ▀▀ [1;40m█[0;37m | ||
20 | [A[79C | ||
21 | [1;33m█[0;30;43m [1;33m██[0;30;43m▄ [1;40m█[0;37m | ||
22 | [A[79C | ||
23 | [1;33m█[0;30;43m ▀ ▀▀▀ ▀ [1;40m█[0;37m | ||
24 | [A[79C | ||
25 | [1;30m▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀[0;37m | ||
26 | [A[79C | ||
27 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/redhat.ans b/src/thousands/images/redhat.ans new file mode 100644 index 0000000..ca7597e --- /dev/null +++ b/src/thousands/images/redhat.ans | |||
@@ -0,0 +1,49 @@ | |||
1 | [0m | ||
2 | [A[79C | ||
3 | [1;31m ▄████▄▄▄▄███▄▄▄▄[0;37m | ||
4 | [A[79C | ||
5 | [31m [1m█▀██████████▄ █▄ [0;37m | ||
6 | [A[79C | ||
7 | [1;31mâ–█▄[0;37m [1;31m▀▀ ▄██████████▄[0;37m | ||
8 | [A[79C | ||
9 | [1;31m███ ▄███████████████[0;31m [37m | ||
10 | [A[79C | ||
11 | [31m [1m▄▄███ [0;37m [1;31m ▀▀██████████████████▄[0;37m | ||
12 | [A[79C | ||
13 | [1;31m ██████▄[0;31m [37m [31m [1m ▀▀███████████████▌[0;37m | ||
14 | [A[79C | ||
15 | [1;31m â–███████▄ [0;31m [37m [1;31m▀██████████▀ ██▄▄[0;37m | ||
16 | [A[79C | ||
17 | [1;31mâ–█████████▄▄ [0;31m [37m [1;31m █████████▄██████▌[0;31m [37m | ||
18 | [A[79C | ||
19 | [1;31m▀████████████▄▄ ███████████████▌[0;37m | ||
20 | [A[79C | ||
21 | [1;31m▀▀████████████████████████████▀[0;37m | ||
22 | [A[79C | ||
23 | [1mâ–██▄ [0m [31m [1m▀▀█████████████████████▀[37m [0m | ||
24 | [A[79C | ||
25 | [1m ▀███▄██▄[0m [31m [1m▀▀▀▀████████▀▀▀▀ [0;37m | ||
26 | [A[79C | ||
27 | [1m ▄▄██▄ █████▄ ▄▄ ▄▄ ▄▄▄ [0m | ||
28 | [A[79C | ||
29 | [1m ████████▄▄▄███████▄▄███████████ [0m | ||
30 | [A[79C | ||
31 | [1m █████████████████████▄▄▀▀▄███▌ ▄▄ [0m | ||
32 | [A[79C | ||
33 | [1m ▀███████████████████████████ █████ [0m | ||
34 | [A[79C | ||
35 | [1m ▀███████████████████████▀ ▄▄████▀ [31m [0;37m | ||
36 | [A[79C | ||
37 | [1m ▀████████████████████▀ ▄█████▀ [0m [1m [0m | ||
38 | [A[79C | ||
39 | [1m ▀██████████████████████▀ [0m | ||
40 | [A[79C | ||
41 | [1m ▀███████████████▀▀ [0m | ||
42 | [A[79C | ||
43 | [1m ▀▀▀█████▀▀▀ [0m | ||
44 | [A[79C | ||
45 | |||
46 | [A[79C | ||
47 | |||
48 | [A[79C | ||
49 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/startup1.ans b/src/thousands/images/startup1.ans new file mode 100644 index 0000000..c657cdb --- /dev/null +++ b/src/thousands/images/startup1.ans | |||
@@ -0,0 +1,39 @@ | |||
1 | [0m ┌──────┠| ||
2 | [A[79C | ||
3 | │ [1;31mZuul[0;37m │ | ||
4 | [A[79C | ||
5 | └──┬───┘ | ||
6 | [A[79C | ||
7 | │ | ||
8 | [A[79C | ||
9 | ┌─────┬─────┬─────┬──┴──┬─────┬─────┬─────┠| ||
10 | [A[79C | ||
11 | │ │ │ │ │ │ │ │ | ||
12 | [A[79C | ||
13 | ┌─┴─┠┌─┴─┠┌─┴─┠┌─┴─┠┌─┴─┠┌─┴─┠┌─┴─┠┌─┴─┠| ||
14 | [A[79C | ||
15 | │[1;31mzm1[0;37m│ │[1;31mzm2[0;37m│ │[1;31mzm3[0;37m│ │[1;31mzm4[0;37m│ │[1;31mzm5[0;37m│ │[1;31mzm6[0;37m│ │[1;31mzm7[0;37m│ │[1;31mzm8[0;37m│ | ||
16 | [A[79C | ||
17 | └───┘ └───┘ └───┘ └───┘ └───┘ └───┘ └───┘ └───┘ | ||
18 | [A[79C | ||
19 | [1mnova keyst swift devst tmpst glanc dg projc[0m | ||
20 | [A[79C | ||
21 | |||
22 | [A[79C | ||
23 | |||
24 | [A[79C | ||
25 | |||
26 | [A[79C | ||
27 | |||
28 | [A[79C | ||
29 | |||
30 | [A[79C | ||
31 | |||
32 | [A[79C | ||
33 | |||
34 | [A[79C | ||
35 | |||
36 | [A[79C | ||
37 | [1m [0m | ||
38 | [A[79C | ||
39 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/startup2.ans b/src/thousands/images/startup2.ans new file mode 100644 index 0000000..65e44fb --- /dev/null +++ b/src/thousands/images/startup2.ans | |||
@@ -0,0 +1,39 @@ | |||
1 | [0m ┌──────┠| ||
2 | [A[79C | ||
3 | │ [1;31mZuul[0;37m │ | ||
4 | [A[79C | ||
5 | └──┬───┘ | ||
6 | [A[79C | ||
7 | │ | ||
8 | [A[79C | ||
9 | ┌─────┬─────┬─────┬──┴──┬─────┬─────┬─────┠| ||
10 | [A[79C | ||
11 | │ │ │ │ │ │ │ │ | ||
12 | [A[79C | ||
13 | ┌─┴─┠┌─┴─┠┌─┴─┠┌─┴─┠┌─┴─┠┌─┴─┠┌─┴─┠┌─┴─┠| ||
14 | [A[79C | ||
15 | │[1;31mzm1[0;37m│ │[1;31mzm2[0;37m│ │[1;31mzm3[0;37m│ │[1;31mzm4[0;37m│ │[1;31mzm5[0;37m│ │[1;31mzm6[0;37m│ │[1;31mzm7[0;37m│ │[1;31mzm8[0;37m│ | ||
16 | [A[79C | ||
17 | └───┘ └───┘ └───┘ └───┘ └───┘ └───┘ └───┘ └───┘ | ||
18 | [A[79C | ||
19 | nova keyst swift devst tmpst glanc dg projc | ||
20 | [A[79C | ||
21 | [1mmastr newt mitak mastr mastr diabl mastr mastr[0m | ||
22 | [A[79C | ||
23 | |||
24 | [A[79C | ||
25 | |||
26 | [A[79C | ||
27 | |||
28 | [A[79C | ||
29 | |||
30 | [A[79C | ||
31 | |||
32 | [A[79C | ||
33 | |||
34 | [A[79C | ||
35 | |||
36 | [A[79C | ||
37 | [1m [0m | ||
38 | [A[79C | ||
39 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/td.ans b/src/thousands/images/td.ans new file mode 100644 index 0000000..dcbf243 --- /dev/null +++ b/src/thousands/images/td.ans | |||
Binary files differ | |||
diff --git a/src/thousands/images/testslide.ans b/src/thousands/images/testslide.ans new file mode 100644 index 0000000..f2feea4 --- /dev/null +++ b/src/thousands/images/testslide.ans | |||
@@ -0,0 +1,49 @@ | |||
1 | [0m[44mâ•”â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•—[40m | ||
2 | [A[79C | ||
3 | [44m║ ┌──────────────────────────────────────────────────────────────┠║[40m | ||
4 | [A[79C | ||
5 | [44m║ │[40m [44m│ ║[40m | ||
6 | [A[79C | ||
7 | [44m║ │[40m [44m│ ║[40m | ||
8 | [A[79C | ||
9 | [44m║ │[40m [30m Test Slide [47m Test Slide [37;40m [44m│ ║[40m | ||
10 | [A[79C | ||
11 | [44m║ │[40m [31m Test Slide [47m Test Slide [37;40m [44m│ ║[40m | ||
12 | [A[79C | ||
13 | [44m║ │[40m [32m Test Slide [47m Test Slide [37;40m [44m│ ║[40m | ||
14 | [A[79C | ||
15 | [44m║ │[40m [33m Test Slide [47m Test Slide [37;40m [44m│ ║[40m | ||
16 | [A[79C | ||
17 | [44m║ │[40m [34m Test Slide [47m Test Slide [37;40m [44m│ ║[40m | ||
18 | [A[79C | ||
19 | [44m║ │[40m [35m Test Slide [47m Test Slide [37;40m [44m│ ║[40m | ||
20 | [A[79C | ||
21 | [44m║ │[40m [36m Test Slide [47m Test Slide [37;40m [44m│ ║[40m | ||
22 | [A[79C | ||
23 | [44m║ │[40m Test Slide [47m Test Slide [40m [44m│ ║[40m | ||
24 | [A[79C | ||
25 | [44m║ │[40m [1;30m Test Slide [47m Test Slide [0;37;40m [44m│ ║[40m | ||
26 | [A[79C | ||
27 | [44m║ │[40m [1;31m Test Slide [47m Test Slide [0;37;40m [44m│ ║[40m | ||
28 | [A[79C | ||
29 | [44m║ │[40m [1;32m Test Slide [47m Test Slide [0;37;40m [44m│ ║[40m | ||
30 | [A[79C | ||
31 | [44m║ │[40m [1;33m Test Slide [47m Test Slide [0;37;40m [44m│ ║[40m | ||
32 | [A[79C | ||
33 | [44m║ │[40m [1;34m Test Slide [47m Test Slide [0;37;40m [44m│ ║[40m | ||
34 | [A[79C | ||
35 | [44m║ │[40m [1;35m Test Slide [47m Test Slide [0;37;40m [44m│ ║[40m | ||
36 | [A[79C | ||
37 | [44m║ │[40m [1;36m Test Slide [47m Test Slide [0;37;40m [44m│ ║[40m | ||
38 | [A[79C | ||
39 | [44m║ │[40m [1m Test Slide [47m Test Slide [0;40m [44m│ ║[40m | ||
40 | [A[79C | ||
41 | [44m║ │[40m [44m│ ║[40m | ||
42 | [A[79C | ||
43 | [44m║ │[40m [44m│ ║[40m | ||
44 | [A[79C | ||
45 | [44m║ └──────────────────────────────────────────────────────────────┘ ║[40m | ||
46 | [A[79C | ||
47 | [44mâ•šâ•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•[40m | ||
48 | [A[79C | ||
49 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/title.ans b/src/thousands/images/title.ans new file mode 100644 index 0000000..c784327 --- /dev/null +++ b/src/thousands/images/title.ans | |||
@@ -0,0 +1,45 @@ | |||
1 | [0m [1;34m______________[0;37m [1;34m.──.[0;37m [1;34m.──.[0;37m [1;34m______________[0;37m | ||
2 | [A[79C | ||
3 | [1;34m( ( [0;37m [1;34m\ \_____)____(_____/ /[0;37m [1;34m ) )[0;37m | ||
4 | [A[79C | ||
5 | [1;34m\ )[0;37m [1;34m`─────' [0;37m [1;34m `─────'[0;37m [1;34m( /[0;37m | ||
6 | [A[79C | ||
7 | [1;34m)/ [0;37m [1;34m \([0;37m | ||
8 | [A[79C | ||
9 | [1;34m /' [0;37m [1mREST APIs and the Return of the[0m [1;34m `\ [0;37m | ||
10 | [A[79C | ||
11 | [1;34mO [0;37m [1;32m ___ ___ _ _ ___ ___ _ ___ [0;37m [1;34m O[0;37m | ||
12 | [A[79C | ||
13 | [1;34m│[0;37m [1;32m / __/ _ \| \| / __|/ _ \| | | __|[0;37m [1;34m│[0;37m | ||
14 | [A[79C | ||
15 | [1;34m│[0;37m [1;32m| (_| (_) | .` \__ \ (_) | |__| _| [0;37m [1;34m│[0;37m | ||
16 | [A[79C | ||
17 | [1;34m│[0;37m [1;32m \___\___/|_|\_|___/\___/|____|___|[0;37m [1;34m│[0;37m | ||
18 | [A[79C | ||
19 | [1;34m│[0;37m [1;34m│[0;37m | ||
20 | [A[79C | ||
21 | [1;34m│[0;37m [1mApplication[0m [1;34m│[0;37m | ||
22 | [A[79C | ||
23 | [1;34m│[0;37m [1;34m│[0;37m | ||
24 | [A[79C | ||
25 | [1;34mO [0;37m [33mJames E. Blair <corvus@inaugust.com>[37m [1;34m O[0;37m | ||
26 | [A[79C | ||
27 | [1;34m \.[0;37m [1;34m./ [0;37m | ||
28 | [A[79C | ||
29 | [1;34m)\ [0;37m [1;34m,____[0;37m [1;34m____,[0;37m [1;34m /([0;37m | ||
30 | [A[79C | ||
31 | [1;34m/ )[0;37m [1;34m/ ____\ ____ /____ \[0;37m [1;34m( \[0;37m | ||
32 | [A[79C | ||
33 | [1;34m( (_________/_/ ) ( \_\_________) )[0;37m | ||
34 | [A[79C | ||
35 | [1;34m ~-' [0;37m [1;34m`──'[0;37m [1;34m`──'[0;37m [1;34m `-~ [0;37m | ||
36 | [A[79C | ||
37 | |||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | |||
42 | [A[79C | ||
43 | |||
44 | [A[79C | ||
45 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/workflow.ans b/src/thousands/images/workflow.ans new file mode 100644 index 0000000..067cc56 --- /dev/null +++ b/src/thousands/images/workflow.ans | |||
@@ -0,0 +1,29 @@ | |||
1 | [0m Hack Review Test | ||
2 | [A[79C | ||
3 | ========= ========== ========== | ||
4 | [A[79C | ||
5 | |||
6 | [A[79C | ||
7 | push approve | ||
8 | [A[79C | ||
9 | +-------------+ +-------------+ | ||
10 | [A[79C | ||
11 | | | | | | ||
12 | [A[79C | ||
13 | +------+--+ +--v----+--+ +--v-------+ | ||
14 | [A[79C | ||
15 | | | | | | | | ||
16 | [A[79C | ||
17 | | $EDITOR | | Gerrit | | Zuul | | ||
18 | [A[79C | ||
19 | | | | | | | | ||
20 | [A[79C | ||
21 | +------^--+ +--+----^--+ +--+-------+ | ||
22 | [A[79C | ||
23 | | | | | | ||
24 | [A[79C | ||
25 | +-------------+ +-------------+ | ||
26 | [A[79C | ||
27 | clone merge | ||
28 | [A[79C | ||
29 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/zsim-00.ans b/src/thousands/images/zsim-00.ans new file mode 100644 index 0000000..bbfdc82 --- /dev/null +++ b/src/thousands/images/zsim-00.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m00[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | |||
4 | [A[79C | ||
5 | Nova Keystone | ||
6 | [A[79C | ||
7 | [1;33mâ– [0;37mbadbeef [1;33mâ– [0;37mbeefcab | ||
8 | [A[79C | ||
9 | |||
10 | [A[79C | ||
11 | |||
12 | [A[79C | ||
13 | |||
14 | [A[79C | ||
15 | |||
16 | [A[79C | ||
17 | |||
18 | [A[79C | ||
19 | |||
20 | [A[79C | ||
21 | |||
22 | [A[79C | ||
23 | |||
24 | [A[79C | ||
25 | |||
26 | [A[79C | ||
27 | |||
28 | [A[79C | ||
29 | |||
30 | [A[79C | ||
31 | |||
32 | [A[79C | ||
33 | |||
34 | [A[79C | ||
35 | |||
36 | [A[79C | ||
37 | |||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/zsim-01.ans b/src/thousands/images/zsim-01.ans new file mode 100644 index 0000000..742a968 --- /dev/null +++ b/src/thousands/images/zsim-01.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m01[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | ┌───┠| ||
4 | [A[79C | ||
5 | │[1;30mâ–█▌[0;37m│ Nova #1 Nova Keystone | ||
6 | [A[79C | ||
7 | └───┘ [1;33m■[0;37mbadbeef [1;33m■[0;37mbeefcab | ||
8 | [A[79C | ||
9 | |||
10 | [A[79C | ||
11 | |||
12 | [A[79C | ||
13 | |||
14 | [A[79C | ||
15 | |||
16 | [A[79C | ||
17 | |||
18 | [A[79C | ||
19 | |||
20 | [A[79C | ||
21 | |||
22 | [A[79C | ||
23 | |||
24 | [A[79C | ||
25 | |||
26 | [A[79C | ||
27 | |||
28 | [A[79C | ||
29 | |||
30 | [A[79C | ||
31 | |||
32 | [A[79C | ||
33 | |||
34 | [A[79C | ||
35 | |||
36 | [A[79C | ||
37 | |||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/zsim-02.ans b/src/thousands/images/zsim-02.ans new file mode 100644 index 0000000..28809c2 --- /dev/null +++ b/src/thousands/images/zsim-02.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m02[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | ┌───┠| ||
4 | [A[79C | ||
5 | │[1;32mâ–█▌[0;37m│ Nova #1 [34m█████████[37m Nova Keystone | ||
6 | [A[79C | ||
7 | └───┘ [34m█████████[37m [1;33m■[0;37mbadbeef [1;33m■[0;37mbeefcab | ||
8 | [A[79C | ||
9 | [34m█████████[37m | ||
10 | [A[79C | ||
11 | [34m█████████[37m | ||
12 | [A[79C | ||
13 | |||
14 | [A[79C | ||
15 | |||
16 | [A[79C | ||
17 | |||
18 | [A[79C | ||
19 | |||
20 | [A[79C | ||
21 | |||
22 | [A[79C | ||
23 | |||
24 | [A[79C | ||
25 | |||
26 | [A[79C | ||
27 | |||
28 | [A[79C | ||
29 | |||
30 | [A[79C | ||
31 | |||
32 | [A[79C | ||
33 | |||
34 | [A[79C | ||
35 | |||
36 | [A[79C | ||
37 | |||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/zsim-03.ans b/src/thousands/images/zsim-03.ans new file mode 100644 index 0000000..c6a2bfd --- /dev/null +++ b/src/thousands/images/zsim-03.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m03[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | ┌───┠| ||
4 | [A[79C | ||
5 | │[1;32mâ–█▌[0;37m│ Nova #1 [1;34mâ–ˆ[0;34m████████[37m Nova Keystone | ||
6 | [A[79C | ||
7 | └─┬─┘ [1;34m█[0;34m████████[37m [1;33m■[0;37mbadbeef [1;33m■[0;37mbeefcab | ||
8 | [A[79C | ||
9 | │ [34m█████████[37m | ||
10 | [A[79C | ||
11 | │ [34m█████████[37m | ||
12 | [A[79C | ||
13 | ┌─┴─┠| ||
14 | [A[79C | ||
15 | │[1;30mâ–█▌[0;37m│ Keystone #2 | ||
16 | [A[79C | ||
17 | └───┘ | ||
18 | [A[79C | ||
19 | |||
20 | [A[79C | ||
21 | |||
22 | [A[79C | ||
23 | |||
24 | [A[79C | ||
25 | |||
26 | [A[79C | ||
27 | |||
28 | [A[79C | ||
29 | |||
30 | [A[79C | ||
31 | |||
32 | [A[79C | ||
33 | |||
34 | [A[79C | ||
35 | |||
36 | [A[79C | ||
37 | |||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/zsim-04.ans b/src/thousands/images/zsim-04.ans new file mode 100644 index 0000000..8893ed8 --- /dev/null +++ b/src/thousands/images/zsim-04.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m04[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | ┌───┠| ||
4 | [A[79C | ||
5 | │[1;32mâ–█▌[0;37m│ Nova #1 [1;34m██[0;34m███████[37m Nova Keystone | ||
6 | [A[79C | ||
7 | └─┬─┘ [1;34m██[0;34m███████[37m [1;33m■[0;37mbadbeef [1;33m■[0;37mbeefcab | ||
8 | [A[79C | ||
9 | │ [34m█████████[37m | ||
10 | [A[79C | ||
11 | │ [1;34m█[0;34m████████[37m | ||
12 | [A[79C | ||
13 | ┌─┴─┠| ||
14 | [A[79C | ||
15 | │[1;32mâ–█▌[0;37m│ Keystone #2 [34m█████████[37m | ||
16 | [A[79C | ||
17 | └───┘ [34m█████████[37m | ||
18 | [A[79C | ||
19 | [34m█████████[37m | ||
20 | [A[79C | ||
21 | [34m█████████[37m | ||
22 | [A[79C | ||
23 | |||
24 | [A[79C | ||
25 | |||
26 | [A[79C | ||
27 | |||
28 | [A[79C | ||
29 | |||
30 | [A[79C | ||
31 | |||
32 | [A[79C | ||
33 | |||
34 | [A[79C | ||
35 | |||
36 | [A[79C | ||
37 | |||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/zsim-05.ans b/src/thousands/images/zsim-05.ans new file mode 100644 index 0000000..be3cd9e --- /dev/null +++ b/src/thousands/images/zsim-05.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m05[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | ┌───┠| ||
4 | [A[79C | ||
5 | │[1;32mâ–█▌[0;37m│ Nova #1 [1;34m███[0;34m██████[37m Nova Keystone | ||
6 | [A[79C | ||
7 | └─┬─┘ [1;34m███[0;34m██████[37m [1;33m■[0;37mbadbeef [1;33m■[0;37mbeefcab | ||
8 | [A[79C | ||
9 | │ [1;34m█[0;34m████████[37m | ||
10 | [A[79C | ||
11 | │ [1;34m██[0;34m███████[37m | ||
12 | [A[79C | ||
13 | ┌─┴─┠| ||
14 | [A[79C | ||
15 | │[1;32mâ–█▌[0;37m│ Keystone #2 [1;34m██[0;34m███████[37m | ||
16 | [A[79C | ||
17 | └─┬─┘ [1;34m█[0;34m████████[37m | ||
18 | [A[79C | ||
19 | │ [34m█████████[37m | ||
20 | [A[79C | ||
21 | │ [34m█████████[37m | ||
22 | [A[79C | ||
23 | ┌─┴─┠| ||
24 | [A[79C | ||
25 | │[1;30mâ–█▌[0;37m│ Nova #3 | ||
26 | [A[79C | ||
27 | └───┘ | ||
28 | [A[79C | ||
29 | |||
30 | [A[79C | ||
31 | |||
32 | [A[79C | ||
33 | |||
34 | [A[79C | ||
35 | |||
36 | [A[79C | ||
37 | |||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/zsim-06.ans b/src/thousands/images/zsim-06.ans new file mode 100644 index 0000000..64de1d6 --- /dev/null +++ b/src/thousands/images/zsim-06.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m06[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | ┌───┠| ||
4 | [A[79C | ||
5 | │[1;32mâ–█▌[0;37m│ Nova #1 [1;34m████[0;34m█████[37m Nova Keystone | ||
6 | [A[79C | ||
7 | └─┬─┘ [1;34m████[0;34m█████[37m [1;33m■[0;37mbadbeef [1;33m■[0;37mbeefcab | ||
8 | [A[79C | ||
9 | │ [1;34m██[0;34m███████[37m | ||
10 | [A[79C | ||
11 | │ [1;34m███[0;34m██████[37m | ||
12 | [A[79C | ||
13 | ┌─┴─┠| ||
14 | [A[79C | ||
15 | │[1;32mâ–█▌[0;37m│ Keystone #2 [1;34m█████[0;34m████[37m | ||
16 | [A[79C | ||
17 | └─┬─┘ [1;34m███[0;34m██████[37m | ||
18 | [A[79C | ||
19 | │ [1;34m█[0;34m████████[37m | ||
20 | [A[79C | ||
21 | │ [1;34m█[0;34m████████[37m | ||
22 | [A[79C | ||
23 | ┌─┴─┠| ||
24 | [A[79C | ||
25 | │[1;32mâ–█▌[0;37m│ Nova #3 [34m█████████[37m | ||
26 | [A[79C | ||
27 | └───┘ [34m█████████[37m | ||
28 | [A[79C | ||
29 | [34m█████████[37m | ||
30 | [A[79C | ||
31 | [34m█████████[37m | ||
32 | [A[79C | ||
33 | |||
34 | [A[79C | ||
35 | |||
36 | [A[79C | ||
37 | |||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/zsim-07.ans b/src/thousands/images/zsim-07.ans new file mode 100644 index 0000000..6a34279 --- /dev/null +++ b/src/thousands/images/zsim-07.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m07[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | ┌───┠| ||
4 | [A[79C | ||
5 | │[1;32mâ–█▌[0;37m│ Nova #1 [1;34m█████[0;34m████[37m Nova Keystone | ||
6 | [A[79C | ||
7 | └─┬─┘ [1;34m█████[0;34m████[37m [1;33m■[0;37mbadbeef [1;33m■[0;37mbeefcab | ||
8 | [A[79C | ||
9 | │ [1;34m███[0;34m██████[37m | ||
10 | [A[79C | ||
11 | │ [1;34m████[0;34m█████[37m | ||
12 | [A[79C | ||
13 | ┌─┴─┠| ||
14 | [A[79C | ||
15 | │[1;32mâ–█▌[0;37m│ Keystone #2 [1;34m███████[0;34m██[37m | ||
16 | [A[79C | ||
17 | └─┬─┘ [1;34m███[0;34m██████[37m | ||
18 | [A[79C | ||
19 | │ [1;34m█[0;34m████████[37m | ||
20 | [A[79C | ||
21 | │ [1;34m█[0;34m████████[37m | ||
22 | [A[79C | ||
23 | ┌─┴─┠| ||
24 | [A[79C | ||
25 | │[1;32mâ–█▌[0;37m│ Nova #3 [1;34mâ–ˆ[0;34m████████[37m | ||
26 | [A[79C | ||
27 | └─┬─┘ [1;34m█[0;34m████████[37m | ||
28 | [A[79C | ||
29 | │ [34m█████████[37m | ||
30 | [A[79C | ||
31 | │ [34m█████████[37m | ||
32 | [A[79C | ||
33 | ┌─┴─┠| ||
34 | [A[79C | ||
35 | │[1;30mâ–█▌[0;37m│ Nova #4 | ||
36 | [A[79C | ||
37 | └───┘ | ||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/zsim-08.ans b/src/thousands/images/zsim-08.ans new file mode 100644 index 0000000..318c67b --- /dev/null +++ b/src/thousands/images/zsim-08.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m08[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | ┌───┠| ||
4 | [A[79C | ||
5 | │[1;32mâ–█▌[0;37m│ Nova #1 [1;34m██████[0;34m███[37m Nova Keystone | ||
6 | [A[79C | ||
7 | └─┬─┘ [1;34m██████[0;34m███[37m [1;33m■[0;37mbadbeef [1;33m■[0;37mbeefcab | ||
8 | [A[79C | ||
9 | │ [1;34m████[0;34m█████[37m | ||
10 | [A[79C | ||
11 | │ [1;34m█████[0;34m████[37m | ||
12 | [A[79C | ||
13 | ┌─┴─┠| ||
14 | [A[79C | ||
15 | │[1;32mâ–█▌[0;37m│ Keystone #2 [1;34m████████[0;34mâ–ˆ[37m | ||
16 | [A[79C | ||
17 | └─┬─┘ [1;34m███[0;34m██████[37m | ||
18 | [A[79C | ||
19 | │ [1;34m██[0;34m███████[37m | ||
20 | [A[79C | ||
21 | │ [1;34m███[0;34m██████[37m | ||
22 | [A[79C | ||
23 | ┌─┴─┠| ||
24 | [A[79C | ||
25 | │[1;32mâ–█▌[0;37m│ Nova #3 [1;34m██[0;34m███████[37m | ||
26 | [A[79C | ||
27 | └─┬─┘ [1;34m██[0;34m███████[37m | ||
28 | [A[79C | ||
29 | │ [34m█████████[37m | ||
30 | [A[79C | ||
31 | │ [1;34m█[0;34m████████[37m | ||
32 | [A[79C | ||
33 | ┌─┴─┠| ||
34 | [A[79C | ||
35 | │[1;32mâ–█▌[0;37m│ Nova #4 [34m█████████[37m | ||
36 | [A[79C | ||
37 | └───┘ [34m█████████[37m | ||
38 | [A[79C | ||
39 | [34m█████████[37m | ||
40 | [A[79C | ||
41 | [34m█████████[37m [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/zsim-09.ans b/src/thousands/images/zsim-09.ans new file mode 100644 index 0000000..441979f --- /dev/null +++ b/src/thousands/images/zsim-09.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m09[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | ┌───┠| ||
4 | [A[79C | ||
5 | │[1;32mâ–█▌[0;37m│ Nova #1 [1;34m███████[0;34m██[37m Nova Keystone | ||
6 | [A[79C | ||
7 | └─┬─┘ [1;34m███████[0;34m██[37m [1;33m■[0;37mbadbeef [1;33m■[0;37mbeefcab | ||
8 | [A[79C | ||
9 | │ [1;34m█████[0;34m████[37m | ||
10 | [A[79C | ||
11 | │ [1;34m██████[0;34m███[37m | ||
12 | [A[79C | ||
13 | ┌─┴─┠| ||
14 | [A[79C | ||
15 | │[1;31mâ–█▌[0;37m│ Keystone #2 [1;31mFAILURE[0;37m | ||
16 | [A[79C | ||
17 | └─┬─┘ [1;34m███████[0;34m██[37m | ||
18 | [A[79C | ||
19 | │ [1;34m███[0;34m██████[37m | ||
20 | [A[79C | ||
21 | │ [1;34m███[0;34m██████[37m | ||
22 | [A[79C | ||
23 | ┌─┴─┠| ||
24 | [A[79C | ||
25 | │[1;32mâ–█▌[0;37m│ Nova #3 [1;34m███[0;34m██████[37m | ||
26 | [A[79C | ||
27 | └─┬─┘ [1;34m███[0;34m██████[37m | ||
28 | [A[79C | ||
29 | │ [1;34m█[0;34m████████[37m | ||
30 | [A[79C | ||
31 | │ [1;34m██[0;34m███████[37m | ||
32 | [A[79C | ||
33 | ┌─┴─┠| ||
34 | [A[79C | ||
35 | │[1;32mâ–█▌[0;37m│ Nova #4 [1;34mâ–ˆ[0;34m████████[37m | ||
36 | [A[79C | ||
37 | └───┘ [1;34m█[0;34m████████[37m | ||
38 | [A[79C | ||
39 | [34m█████████[37m | ||
40 | [A[79C | ||
41 | [34m█████████[37m [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/zsim-10.ans b/src/thousands/images/zsim-10.ans new file mode 100644 index 0000000..818789e --- /dev/null +++ b/src/thousands/images/zsim-10.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m10[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | ┌───┠| ||
4 | [A[79C | ||
5 | │[1;32mâ–█▌[0;37m│ Nova #1 [1;34m████████[0;34mâ–ˆ[37m Nova Keystone | ||
6 | [A[79C | ||
7 | └─┬─┘ [1;34m████████[0;34m█[37m [1;33m■[0;37mbadbeef [1;33m■[0;37mbeefcab | ||
8 | [A[79C | ||
9 | │ [1;34m██████[0;34m███[37m | ||
10 | [A[79C | ||
11 | │ [1;34m███████[0;34m██[37m | ||
12 | [A[79C | ||
13 | ┌─┴─┠| ||
14 | [A[79C | ||
15 | │[1;31mâ–█▌[0;37m│ Keystone #2 [1;31mFAILURE[0;37m | ||
16 | [A[79C | ||
17 | └─┬─┘ [1;34m█████████[0;37m | ||
18 | [A[79C | ||
19 | │ [1;34m████[0;34m█████[37m | ||
20 | [A[79C | ||
21 | │ [1;34m████[0;34m█████[37m | ||
22 | [A[79C | ||
23 | ┌─┴─┠| ||
24 | [A[79C | ||
25 | │[1;30mâ–█▌[0;37m│ Nova #3 [1;30mCANCELED[0;37m | ||
26 | [A[79C | ||
27 | └─┬─┘ [1;30mCANCELED[0;37m | ||
28 | [A[79C | ||
29 | │ [1;30mCANCELED[0;37m | ||
30 | [A[79C | ||
31 | │ [1;30mCANCELED[0;37m | ||
32 | [A[79C | ||
33 | ┌─┴─┠| ||
34 | [A[79C | ||
35 | │[1;30mâ–█▌[0;37m│ Nova #4 [1;30mCANCELED[0;37m | ||
36 | [A[79C | ||
37 | └───┘ [1;30mCANCELED[0;37m | ||
38 | [A[79C | ||
39 | [1;30mCANCELED[0;37m | ||
40 | [A[79C | ||
41 | [1;30mCANCELED[0;37m [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/zsim-11.ans b/src/thousands/images/zsim-11.ans new file mode 100644 index 0000000..ddb8bde --- /dev/null +++ b/src/thousands/images/zsim-11.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m11[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | ┌───┠| ||
4 | [A[79C | ||
5 | │[1;32mâ–█▌[0;37m│ Nova #1 [1;34m█████████[0;37m Nova Keystone | ||
6 | [A[79C | ||
7 | └─┬─┘ [1;34m█████████[0;37m [1;33m■[0;37mbadbeef [1;33m■[0;37mbeefcab | ||
8 | [A[79C | ||
9 | └──┠[1;34m███████[0;34m██[37m | ||
10 | [A[79C | ||
11 | │ [1;34m████████[0;34m█[37m | ||
12 | [A[79C | ||
13 | ┌─┴─┠| ||
14 | [A[79C | ||
15 | │[1;31mâ–█▌[0;37m│ Keystone #2 [1;31mFAILURE[0;37m | ||
16 | [A[79C | ||
17 | └───┘ [1;32mSUCCESS[0;37m | ||
18 | [A[79C | ||
19 | [1;34m█████[0;34m████[37m | ||
20 | [A[79C | ||
21 | [1;34m█████[0;34m████[37m | ||
22 | [A[79C | ||
23 | ┌───┠| ||
24 | [A[79C | ||
25 | │[1;30mâ–█▌[0;37m│ Nova #3 | ||
26 | [A[79C | ||
27 | └─┬─┘ | ||
28 | [A[79C | ||
29 | │ | ||
30 | [A[79C | ||
31 | │ | ||
32 | [A[79C | ||
33 | ┌─┴─┠| ||
34 | [A[79C | ||
35 | │[1;30mâ–█▌[0;37m│ Nova #4 | ||
36 | [A[79C | ||
37 | └───┘ | ||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/zsim-12.ans b/src/thousands/images/zsim-12.ans new file mode 100644 index 0000000..69eef26 --- /dev/null +++ b/src/thousands/images/zsim-12.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m12[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | ┌───┠| ||
4 | [A[79C | ||
5 | │[1;32mâ–█▌[0;37m│ Nova #1 [1;32mSUCCESS[0;37m Nova Keystone | ||
6 | [A[79C | ||
7 | └─┬─┘ [1;32mSUCCESS[0;37m [1;33m■[0;37mbadbeef [1;33m■[0;37mbeefcab | ||
8 | [A[79C | ||
9 | ├──┠[1;34m████████[0;34m█[37m | ||
10 | [A[79C | ||
11 | │ │ [1;34m█████████[0;37m | ||
12 | [A[79C | ||
13 | │┌─┴─┠| ||
14 | [A[79C | ||
15 | ││[1;31mâ–█▌[0;37m│ Keystone #2 [1;31mFAILURE[0;37m | ||
16 | [A[79C | ||
17 | │└───┘ [1;32mSUCCESS[0;37m | ||
18 | [A[79C | ||
19 | │ [1;34m██████[0;34m███[37m | ||
20 | [A[79C | ||
21 | │ [1;34m██████[0;34m███[37m | ||
22 | [A[79C | ||
23 | ┌─┴─┠| ||
24 | [A[79C | ||
25 | │[1;32mâ–█▌[0;37m│ Nova #3 [34m█████████[37m | ||
26 | [A[79C | ||
27 | └─┬─┘ [34m█████████[37m | ||
28 | [A[79C | ||
29 | │ [34m█████████[37m | ||
30 | [A[79C | ||
31 | │ [34m█████████[37m | ||
32 | [A[79C | ||
33 | ┌─┴─┠| ||
34 | [A[79C | ||
35 | │[1;30mâ–█▌[0;37m│ Nova #4 | ||
36 | [A[79C | ||
37 | └───┘ | ||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/zsim-13.ans b/src/thousands/images/zsim-13.ans new file mode 100644 index 0000000..5b8b54b --- /dev/null +++ b/src/thousands/images/zsim-13.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m13[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | ┌───┠| ||
4 | [A[79C | ||
5 | │[1;32mâ–█▌[0;37m│ Nova #1 [1;32mSUCCESS[0;37m Nova Keystone | ||
6 | [A[79C | ||
7 | └─┬─┘ [1;32mSUCCESS[0;37m [1;33m■[0;37mbadbeef [1;33m■[0;37mbeefcab | ||
8 | [A[79C | ||
9 | ├──┠[1;34m█████████[0;37m | ||
10 | [A[79C | ||
11 | │ │ [1;32mSUCCESS[0;37m | ||
12 | [A[79C | ||
13 | │┌─┴─┠| ||
14 | [A[79C | ||
15 | ││[1;31mâ–█▌[0;37m│ Keystone #2 [1;31mFAILURE[0;37m | ||
16 | [A[79C | ||
17 | │└───┘ [1;32mSUCCESS[0;37m | ||
18 | [A[79C | ||
19 | │ [1;34m███████[0;34m██[37m | ||
20 | [A[79C | ||
21 | │ [1;34m███████[0;34m██[37m | ||
22 | [A[79C | ||
23 | ┌─┴─┠| ||
24 | [A[79C | ||
25 | │[1;32mâ–█▌[0;37m│ Nova #3 [1;34mâ–ˆ[0;34m████████[37m | ||
26 | [A[79C | ||
27 | └─┬─┘ [1;34m█[0;34m████████[37m | ||
28 | [A[79C | ||
29 | │ [34m█████████[37m | ||
30 | [A[79C | ||
31 | │ [34m█████████[37m | ||
32 | [A[79C | ||
33 | ┌─┴─┠| ||
34 | [A[79C | ||
35 | │[1;32mâ–█▌[0;37m│ Nova #4 [34m█████████[37m | ||
36 | [A[79C | ||
37 | └───┘ [34m█████████[37m | ||
38 | [A[79C | ||
39 | [34m█████████[37m | ||
40 | [A[79C | ||
41 | [34m█████████[37m [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/zsim-14.ans b/src/thousands/images/zsim-14.ans new file mode 100644 index 0000000..f0ec335 --- /dev/null +++ b/src/thousands/images/zsim-14.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m14[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | ┌───┠| ||
4 | [A[79C | ||
5 | │[1;32mâ–█▌[0;37m│ Nova #1 [1;32mSUCCESS[0;37m Nova Keystone | ||
6 | [A[79C | ||
7 | └─┬─┘ [1;32mSUCCESS[0;37m [1;33m■[0;37mbadbeef [1;33m■[0;37mbeefcab | ||
8 | [A[79C | ||
9 | ├──┠[1;32mSUCCESS[0;37m | ||
10 | [A[79C | ||
11 | │ │ [1;32mSUCCESS[0;37m | ||
12 | [A[79C | ||
13 | │┌─┴─┠| ||
14 | [A[79C | ||
15 | ││[1;31mâ–█▌[0;37m│ Keystone #2 [1;31mFAILURE[0;37m | ||
16 | [A[79C | ||
17 | │└───┘ [1;32mSUCCESS[0;37m | ||
18 | [A[79C | ||
19 | │ [1;34m████████[0;34m█[37m | ||
20 | [A[79C | ||
21 | │ [1;34m████████[0;34m█[37m | ||
22 | [A[79C | ||
23 | ┌─┴─┠| ||
24 | [A[79C | ||
25 | │[1;32mâ–█▌[0;37m│ Nova #3 [1;34m███[0;34m██████[37m | ||
26 | [A[79C | ||
27 | └─┬─┘ [1;34m███[0;34m██████[37m | ||
28 | [A[79C | ||
29 | │ [1;34m█[0;34m████████[37m | ||
30 | [A[79C | ||
31 | │ [1;34m██[0;34m███████[37m | ||
32 | [A[79C | ||
33 | ┌─┴─┠| ||
34 | [A[79C | ||
35 | │[1;32mâ–█▌[0;37m│ Nova #4 [1;34mâ–ˆ[0;34m████████[37m | ||
36 | [A[79C | ||
37 | └───┘ [1;34m█[0;34m████████[37m | ||
38 | [A[79C | ||
39 | [34m█████████[37m | ||
40 | [A[79C | ||
41 | [34m█████████[37m [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/zsim-15.ans b/src/thousands/images/zsim-15.ans new file mode 100644 index 0000000..5ea15df --- /dev/null +++ b/src/thousands/images/zsim-15.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m15[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | |||
4 | [A[79C | ||
5 | Nova Keystone | ||
6 | [A[79C | ||
7 | [33mâ– [37mbadbeef [1;33mâ– [0;37mbeefcab | ||
8 | [A[79C | ||
9 | [1;33mâ– [0;37m#1 | ||
10 | [A[79C | ||
11 | |||
12 | [A[79C | ||
13 | │┌───┠| ||
14 | [A[79C | ||
15 | ││[1;31mâ–█▌[0;37m│ Keystone #2 [1;31mFAILURE[0;37m | ||
16 | [A[79C | ||
17 | │└───┘ [1;32mSUCCESS[0;37m | ||
18 | [A[79C | ||
19 | │ [1;34m█████████[0;37m | ||
20 | [A[79C | ||
21 | │ [1;34m█████████[0;37m | ||
22 | [A[79C | ||
23 | ┌─┴─┠| ||
24 | [A[79C | ||
25 | │[1;32mâ–█▌[0;37m│ Nova #3 [1;34m█████[0;34m████[37m | ||
26 | [A[79C | ||
27 | └─┬─┘ [1;34m█████[0;34m████[37m | ||
28 | [A[79C | ||
29 | │ [1;34m██[0;34m███████[37m | ||
30 | [A[79C | ||
31 | │ [1;34m███[0;34m██████[37m | ||
32 | [A[79C | ||
33 | ┌─┴─┠| ||
34 | [A[79C | ||
35 | │[1;32mâ–█▌[0;37m│ Nova #4 [1;34m███[0;34m██████[37m | ||
36 | [A[79C | ||
37 | └───┘ [1;34m███[0;34m██████[37m | ||
38 | [A[79C | ||
39 | [1;34m█[0;34m████████[37m | ||
40 | [A[79C | ||
41 | [1;34m██[0;34m███████[37m [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/zsim-16.ans b/src/thousands/images/zsim-16.ans new file mode 100644 index 0000000..0d18c1b --- /dev/null +++ b/src/thousands/images/zsim-16.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m16[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | |||
4 | [A[79C | ||
5 | Nova Keystone | ||
6 | [A[79C | ||
7 | [33mâ– [37mbadbeef [1;33mâ– [0;37mbeefcab | ||
8 | [A[79C | ||
9 | [1;33mâ– [0;37m#1 | ||
10 | [A[79C | ||
11 | |||
12 | [A[79C | ||
13 | │┌───┠| ||
14 | [A[79C | ||
15 | ││[1;31mâ–█▌[0;37m│ Keystone #2 [1;31mFAILURE[0;37m | ||
16 | [A[79C | ||
17 | │└───┘ [1;32mSUCCESS[0;37m | ||
18 | [A[79C | ||
19 | │ [1;32mSUCCESS[0;37m | ||
20 | [A[79C | ||
21 | │ [1;32mSUCCESS[0;37m | ||
22 | [A[79C | ||
23 | ┌─┴─┠| ||
24 | [A[79C | ||
25 | │[1;32mâ–█▌[0;37m│ Nova #3 [1;34m███████[0;34m██[37m | ||
26 | [A[79C | ||
27 | └─┬─┘ [1;34m███████[0;34m██[37m | ||
28 | [A[79C | ||
29 | │ [1;34m█████[0;34m████[37m | ||
30 | [A[79C | ||
31 | │ [1;34m██████[0;34m███[37m | ||
32 | [A[79C | ||
33 | ┌─┴─┠| ||
34 | [A[79C | ||
35 | │[1;32mâ–█▌[0;37m│ Nova #4 [1;34m█████[0;34m████[37m | ||
36 | [A[79C | ||
37 | └───┘ [1;34m█████[0;34m████[37m | ||
38 | [A[79C | ||
39 | [1;34m███[0;34m██████[37m | ||
40 | [A[79C | ||
41 | [1;34m████[0;34m█████[37m [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/zsim-17.ans b/src/thousands/images/zsim-17.ans new file mode 100644 index 0000000..b301dc8 --- /dev/null +++ b/src/thousands/images/zsim-17.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m17[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | |||
4 | [A[79C | ||
5 | Nova Keystone | ||
6 | [A[79C | ||
7 | [33mâ– [37mbadbeef [1;33mâ– [0;37mbeefcab | ||
8 | [A[79C | ||
9 | [1;33mâ– [0;37m#1 | ||
10 | [A[79C | ||
11 | |||
12 | [A[79C | ||
13 | |||
14 | [A[79C | ||
15 | |||
16 | [A[79C | ||
17 | |||
18 | [A[79C | ||
19 | |||
20 | [A[79C | ||
21 | |||
22 | [A[79C | ||
23 | ┌───┠| ||
24 | [A[79C | ||
25 | │[1;32mâ–█▌[0;37m│ Nova #3 [1;34m█████████[0;37m | ||
26 | [A[79C | ||
27 | └─┬─┘ [1;34m█████████[0;37m | ||
28 | [A[79C | ||
29 | │ [1;34m███████[0;34m██[37m | ||
30 | [A[79C | ||
31 | │ [1;34m████████[0;34m█[37m | ||
32 | [A[79C | ||
33 | ┌─┴─┠| ||
34 | [A[79C | ||
35 | │[1;32mâ–█▌[0;37m│ Nova #4 [1;34m███████[0;34m██[37m | ||
36 | [A[79C | ||
37 | └───┘ [1;34m███████[0;34m██[37m | ||
38 | [A[79C | ||
39 | [1;34m█████[0;34m████[37m | ||
40 | [A[79C | ||
41 | [1;34m██████[0;34m███[37m [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/zsim-18.ans b/src/thousands/images/zsim-18.ans new file mode 100644 index 0000000..da25c2e --- /dev/null +++ b/src/thousands/images/zsim-18.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m18[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | |||
4 | [A[79C | ||
5 | Nova Keystone | ||
6 | [A[79C | ||
7 | [33mâ– [37mbadbeef [1;33mâ– [0;37mbeefcab | ||
8 | [A[79C | ||
9 | [1;33mâ– [0;37m#1 | ||
10 | [A[79C | ||
11 | |||
12 | [A[79C | ||
13 | |||
14 | [A[79C | ||
15 | |||
16 | [A[79C | ||
17 | |||
18 | [A[79C | ||
19 | |||
20 | [A[79C | ||
21 | |||
22 | [A[79C | ||
23 | ┌───┠| ||
24 | [A[79C | ||
25 | │[1;32mâ–█▌[0;37m│ Nova #3 [1;32m SUCCESS [0;37m | ||
26 | [A[79C | ||
27 | └─┬─┘ [1;32m SUCCESS [0;37m | ||
28 | [A[79C | ||
29 | │ [1;32m SUCCESS [0;37m | ||
30 | [A[79C | ||
31 | │ [1;32m SUCCESS [0;37m | ||
32 | [A[79C | ||
33 | ┌─┴─┠| ||
34 | [A[79C | ||
35 | │[1;32mâ–█▌[0;37m│ Nova #4 [1;34m█████████[0;37m | ||
36 | [A[79C | ||
37 | └───┘ [1;34m█████████[0;37m | ||
38 | [A[79C | ||
39 | [1;34m███████[0;34m██[37m | ||
40 | [A[79C | ||
41 | [1;34m████████[0;34m█[37m [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/zsim-19.ans b/src/thousands/images/zsim-19.ans new file mode 100644 index 0000000..14b9e51 --- /dev/null +++ b/src/thousands/images/zsim-19.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m19[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | |||
4 | [A[79C | ||
5 | Nova Keystone | ||
6 | [A[79C | ||
7 | [33mâ– [37mbadbeef [1;33mâ– [0;37mbeefcab | ||
8 | [A[79C | ||
9 | [33mâ– [37m#1 | ||
10 | [A[79C | ||
11 | [1;33mâ– [0;37m#3 | ||
12 | [A[79C | ||
13 | |||
14 | [A[79C | ||
15 | |||
16 | [A[79C | ||
17 | |||
18 | [A[79C | ||
19 | |||
20 | [A[79C | ||
21 | |||
22 | [A[79C | ||
23 | |||
24 | [A[79C | ||
25 | |||
26 | [A[79C | ||
27 | |||
28 | [A[79C | ||
29 | |||
30 | [A[79C | ||
31 | |||
32 | [A[79C | ||
33 | ┌───┠| ||
34 | [A[79C | ||
35 | │[1;32mâ–█▌[0;37m│ Nova #4 [1;32m SUCCESS [0;37m | ||
36 | [A[79C | ||
37 | └───┘ [1;32m SUCCESS [0;37m | ||
38 | [A[79C | ||
39 | [1;34m█████████[0;37m | ||
40 | [A[79C | ||
41 | [1;32m SUCCESS [0;37m [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/zsim-20.ans b/src/thousands/images/zsim-20.ans new file mode 100644 index 0000000..e1a3b8c --- /dev/null +++ b/src/thousands/images/zsim-20.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m20[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | |||
4 | [A[79C | ||
5 | Nova Keystone | ||
6 | [A[79C | ||
7 | [33mâ– [37mbadbeef [1;33mâ– [0;37mbeefcab | ||
8 | [A[79C | ||
9 | [33mâ– [37m#1 | ||
10 | [A[79C | ||
11 | [1;33mâ– [0;37m#3 | ||
12 | [A[79C | ||
13 | |||
14 | [A[79C | ||
15 | |||
16 | [A[79C | ||
17 | |||
18 | [A[79C | ||
19 | |||
20 | [A[79C | ||
21 | |||
22 | [A[79C | ||
23 | |||
24 | [A[79C | ||
25 | |||
26 | [A[79C | ||
27 | |||
28 | [A[79C | ||
29 | |||
30 | [A[79C | ||
31 | |||
32 | [A[79C | ||
33 | ┌───┠| ||
34 | [A[79C | ||
35 | │[1;32mâ–█▌[0;37m│ Nova #4 [1;32m SUCCESS [0;37m | ||
36 | [A[79C | ||
37 | └───┘ [1;32m SUCCESS [0;37m | ||
38 | [A[79C | ||
39 | [1;32m SUCCESS [0;37m | ||
40 | [A[79C | ||
41 | [1;32m SUCCESS [0;37m [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/zsim-21.ans b/src/thousands/images/zsim-21.ans new file mode 100644 index 0000000..ccfeef2 --- /dev/null +++ b/src/thousands/images/zsim-21.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m21[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | |||
4 | [A[79C | ||
5 | Nova Keystone | ||
6 | [A[79C | ||
7 | [33mâ– [37mbadbeef [1;33mâ– [0;37mbeefcab | ||
8 | [A[79C | ||
9 | [33mâ– [37m#1 | ||
10 | [A[79C | ||
11 | [33mâ– [37m#3 | ||
12 | [A[79C | ||
13 | [1;33mâ– [0;37m#4 | ||
14 | [A[79C | ||
15 | |||
16 | [A[79C | ||
17 | |||
18 | [A[79C | ||
19 | |||
20 | [A[79C | ||
21 | |||
22 | [A[79C | ||
23 | |||
24 | [A[79C | ||
25 | |||
26 | [A[79C | ||
27 | |||
28 | [A[79C | ||
29 | |||
30 | [A[79C | ||
31 | |||
32 | [A[79C | ||
33 | |||
34 | [A[79C | ||
35 | |||
36 | [A[79C | ||
37 | |||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/zsim-22.ans b/src/thousands/images/zsim-22.ans new file mode 100644 index 0000000..8be6db5 --- /dev/null +++ b/src/thousands/images/zsim-22.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m22[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | |||
4 | [A[79C | ||
5 | Nova Keystone | ||
6 | [A[79C | ||
7 | [33mâ– [37mbadbeef [1;33m:([0;37m | ||
8 | [A[79C | ||
9 | [33mâ– [37m#1 | ||
10 | [A[79C | ||
11 | [33mâ– [37m#3 | ||
12 | [A[79C | ||
13 | [1;33mâ– [0;37m#4 | ||
14 | [A[79C | ||
15 | |||
16 | [A[79C | ||
17 | |||
18 | [A[79C | ||
19 | |||
20 | [A[79C | ||
21 | |||
22 | [A[79C | ||
23 | |||
24 | [A[79C | ||
25 | |||
26 | [A[79C | ||
27 | |||
28 | [A[79C | ||
29 | |||
30 | [A[79C | ||
31 | |||
32 | [A[79C | ||
33 | |||
34 | [A[79C | ||
35 | |||
36 | [A[79C | ||
37 | |||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/zsim-keyline.ans b/src/thousands/images/zsim-keyline.ans new file mode 100644 index 0000000..a2c3fb5 --- /dev/null +++ b/src/thousands/images/zsim-keyline.ans | |||
@@ -0,0 +1,45 @@ | |||
1 | [0m Zuul Git | ||
2 | [A[79C | ||
3 | |||
4 | [A[79C | ||
5 | [X] Nova #1 SUCCESS Nova Keystone | ||
6 | [A[79C | ||
7 | | SUCCESS * HEAD * HEAD | ||
8 | [A[79C | ||
9 | |--+ OOOOOOOOO.. | ||
10 | [A[79C | ||
11 | | | SUCCESS | ||
12 | [A[79C | ||
13 | | | | ||
14 | [A[79C | ||
15 | | [X] Keystone #2 FAILURE | ||
16 | [A[79C | ||
17 | | SUCCESS | ||
18 | [A[79C | ||
19 | | OOOOOOO.... | ||
20 | [A[79C | ||
21 | | OOOOOOOOO.. | ||
22 | [A[79C | ||
23 | | | ||
24 | [A[79C | ||
25 | [X] Nova #3 OOOOOOO.... | ||
26 | [A[79C | ||
27 | | OOOOOOO.... | ||
28 | [A[79C | ||
29 | | OOOOO...... | ||
30 | [A[79C | ||
31 | | OOOOOO..... | ||
32 | [A[79C | ||
33 | | | ||
34 | [A[79C | ||
35 | [X] Nova #4 OOOO....... | ||
36 | [A[79C | ||
37 | OOOO....... | ||
38 | [A[79C | ||
39 | OO......... | ||
40 | [A[79C | ||
41 | OOO........ | ||
42 | [A[79C | ||
43 | |||
44 | [A[79C | ||
45 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/zuul-status.ans b/src/thousands/images/zuul-status.ans new file mode 100644 index 0000000..d21c0ca --- /dev/null +++ b/src/thousands/images/zuul-status.ans | |||
@@ -0,0 +1,49 @@ | |||
1 | [0m[47m [40m | ||
2 | [A[79C | ||
3 | [47m [1;31m Check [0;47m [1;31m Gate[0;47m [1;31m Post[0;47m [40m | ||
4 | [A[79C | ||
5 | [30;47m[[42m [47m][46m+-----------------+[37;47m [30m[[42m [47m][46m+-----------------+[47m [[42m [47m][46m+-----------------+[37;40m | ||
6 | [A[79C | ||
7 | [47m [30m [37m [30;46m|[1;31mnova [0;30;46m45:20[1;31m [0;30;46m|[37;47m [30m|[37m [30;46m|[1;31mnova [0;30;46m45:20[1;31m [0;30;46m|[37;47m [30m [37m [30;46m|[1;31mnova [0;30;46m45:20[1;31m [0;30;46m|[37;40m | ||
8 | [A[79C | ||
9 | [47m [30m [37m [30;46m|[1;31m321465 [0;30;46m13:37[1;31m [0;30;46m|[37;47m [30m|[37m [30;46m|[1;31m321465 [0;30;46m13:37[1;31m [0;30;46m|[37;47m [30m [37m [30;46m|[1;31m321465 [0;30;46m13:37[1;31m [0;30;46m|[37;40m | ||
10 | [A[79C | ||
11 | [47m [30;46m+-----------------+[37;47m [30m|[37m [30;46m+-----------------+[37;47m [30;46m+-----------------+[37;40m | ||
12 | [A[79C | ||
13 | [47m [30;46m|[1;31m pep8 [0;30;42mSUCCESS[46m|[37;47m [30m|[37m [30;46m|[1;31m pep8 [0;30;42mSUCCESS[46m|[37;47m [30;46m|[1;31m pep8 [0;30;42mSUCCESS[46m|[37;40m | ||
14 | [A[79C | ||
15 | [47m [30;46m| [1;31mdocs [0;30;46m [36;44mxx [30;46m |[37;47m [30m|[37m [30;46m| [1;31mdocs [0;30;46m [36;44mxx [30;46m |[37;47m [30;46m| [1;31mdocs [0;30;46m [36;44mxx [30;46m |[37;40m | ||
16 | [A[79C | ||
17 | [47m [30;46m| [1;31mpython27[0;30;46m [36;44mx [30;46m |[37;47m [30m|[37m [30;46m| [1;31mpython27[0;30;46m [36;44mx [30;46m |[37;47m [30;46m| [1;31mpython27[0;30;46m [36;44mx [30;46m |[37;40m | ||
18 | [A[79C | ||
19 | [47m [30;46m| [1;31mtempest[0;30;46m [36;44mx [30;46m |[37;47m [30m|[37m [30;46m| [1;31mtempest[0;30;46m [36;44mx [30;46m |[37;47m [30;46m| [1;31mtempest[0;30;46m [36;44mx [30;46m |[37;40m | ||
20 | [A[79C | ||
21 | [47m [30;46m+-----------------+[37;47m [30m|[37m [30;46m+-----------------+[37;47m [30;46m+-----------------+[37;40m | ||
22 | [A[79C | ||
23 | [47m [30m|[37m [1;31m Release [0;47m [40m | ||
24 | [A[79C | ||
25 | [30;47m[[42m [47m][46m+-----------------+[37;47m [30m +[[41m [47m][46m+---------------+[37;47m [40m | ||
26 | [A[79C | ||
27 | [47m [30m [37m [30;46m|[1;31mnova [0;30;46m45:20[1;31m [0;30;46m|[37;47m [30m |[37m [30m [37m [30;46m|[1;31mnova [0;30;46m45:20[1;31m [0;30;46m|[37;47m [40m | ||
28 | [A[79C | ||
29 | [47m [30m [37m [30;46m|[1;31m321465 [0;30;46m13:37[1;31m [0;30;46m|[37;47m [30m |[37m [30m [37m [30;46m|[1;31m321465 [0;30;46m13:37[1;31m [0;30;46m|[37;47m [40m | ||
30 | [A[79C | ||
31 | [47m [30;46m+-----------------+[37;47m [30m |[37m [30;46m+---------------+[37;47m [40m | ||
32 | [A[79C | ||
33 | [47m [30;46m|[1;31m pep8 [0;30;41mFAILURE[46m|[37;47m [30m |[37m [30m [37m [40m | ||
34 | [A[79C | ||
35 | [47m [30;46m| [1;31mdocs [0;30;46m [36;44mxx [30;46m |[37;47m [30m[[42m [47m][46m+-----------------+[47m [37m [40m | ||
36 | [A[79C | ||
37 | [47m [30;46m| [1;31mpython27[0;30;46m [36;44mx [30;46m |[37;47m [30m [37m [30;46m|[1;31mnova [0;30;46m45:20[1;31m [0;30;46m|[47m [37m [40m | ||
38 | [A[79C | ||
39 | [47m [30;46m| [1;31mtempest[0;30;46m [36;44mx [30;46m |[37;47m [30m [37m [30;46m|[1;31m321465 [0;30;46m13:37[1;31m [0;30;46m|[47m [37m [40m | ||
40 | [A[79C | ||
41 | [47m [30;46m+-----------------+[37;47m [30m [37m [30;46m+-----------------+[47m [37m [40m | ||
42 | [A[79C | ||
43 | [47m [30m [37m [40m | ||
44 | [A[79C | ||
45 | [47m [40m | ||
46 | [A[79C | ||
47 | [47m [40m | ||
48 | [A[79C | ||
49 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/images/zuul.ans b/src/thousands/images/zuul.ans new file mode 100644 index 0000000..6369083 --- /dev/null +++ b/src/thousands/images/zuul.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[1;33mâ•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•¡â”‚││╞â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•[0;37m | ||
2 | [A[79C | ||
3 | [1;33m────────────────────┤│├───────────────────[0;37m | ||
4 | [A[79C | ||
5 | [33m──────────────────[1m│[0;33m─────────────────[37m | ||
6 | [A[79C | ||
7 | |||
8 | [A[79C | ||
9 | |||
10 | [A[79C | ||
11 | |||
12 | [A[79C | ||
13 | [32m _____ _[37m | ||
14 | [A[79C | ||
15 | [32m|__ / _ _ _| |[37m | ||
16 | [A[79C | ||
17 | [32m/ / | | | | | | |[37m | ||
18 | [A[79C | ||
19 | [32m/ /| |_| | |_| | |[37m | ||
20 | [A[79C | ||
21 | [32m/____\__,_|\__,_|_|[37m | ||
22 | [A[79C | ||
23 | |||
24 | [A[79C | ||
25 | |||
26 | [A[79C | ||
27 | |||
28 | [A[79C | ||
29 | |||
30 | [A[79C | ||
31 | |||
32 | [A[79C | ||
33 | [33m──────────────────[1m│[0;33m─────────────────[37m | ||
34 | [A[79C | ||
35 | [1;33m────────────────────┤│├───────────────────[0;37m | ||
36 | [A[79C | ||
37 | [1;33mâ•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•¡â”‚││╞â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•[0;37m | ||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | |||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/thousands/start.sh b/src/thousands/start.sh new file mode 100755 index 0000000..9eaf8b6 --- /dev/null +++ b/src/thousands/start.sh | |||
@@ -0,0 +1,8 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | mate-terminal --geometry 68x24 -x presentty $(pwd)/zuul.rst & | ||
4 | #geeqie -t images & | ||
5 | |||
6 | sleep 1 | ||
7 | |||
8 | mate-terminal --maximize -x presentty-console $(pwd)/zuul.rst & | ||
diff --git a/src/thousands/thousands.rst b/src/thousands/thousands.rst new file mode 100644 index 0000000..ec20202 --- /dev/null +++ b/src/thousands/thousands.rst | |||
@@ -0,0 +1,1001 @@ | |||
1 | . display in 68x24 | ||
2 | .. display in 88x24 | ||
3 | |||
4 | .. pygments yaml? (only file breaks (---) tinted) | ||
5 | .. slide on high level v3 changes | ||
6 | .. slide on nodepool | ||
7 | |||
8 | .. transition:: dissolve | ||
9 | :duration: 0.4 | ||
10 | |||
11 | Test Slide | ||
12 | ========== | ||
13 | .. hidetitle:: | ||
14 | |||
15 | .. ansi:: images/testslide.ans | ||
16 | |||
17 | Testing Thousands of Python Projects Every Day | ||
18 | ============================================== | ||
19 | |||
20 | Red Hat | ||
21 | ======= | ||
22 | |||
23 | .. hidetitle:: | ||
24 | .. container:: handout | ||
25 | |||
26 | * I work for Red Hat in the CTO Office as the Chief Architect | ||
27 | for CI/CD | ||
28 | |||
29 | .. ansi:: images/redhat.ans | ||
30 | |||
31 | OpenStack | ||
32 | ========= | ||
33 | |||
34 | .. container:: handout | ||
35 | |||
36 | * I work on OpenStack. | ||
37 | * I sit on the Board of Directors. I was on the Technical Committee | ||
38 | |||
39 | .. hidetitle:: | ||
40 | .. ansi:: images/openstack.ans | ||
41 | |||
42 | OpenStack Infra | ||
43 | =============== | ||
44 | |||
45 | .. container:: handout | ||
46 | |||
47 | * My primary technical role with OpenStack is working on the OpenStack CI | ||
48 | system. | ||
49 | |||
50 | :: | ||
51 | |||
52 | "most insane CI infrastructure I've ever been a part of" | ||
53 | |||
54 | -- Alex Gaynor | ||
55 | |||
56 | "OpenStack Infra are like the SpaceX of CI" | ||
57 | |||
58 | -- Emily Dunham | ||
59 | |||
60 | tl;dr | ||
61 | ===== | ||
62 | |||
63 | * multi repo | ||
64 | * integrated deliverable | ||
65 | * gated commits | ||
66 | * open tooling | ||
67 | * nobody is special | ||
68 | * there is no Dana, only Zuul | ||
69 | |||
70 | OpenStack Is | ||
71 | ============ | ||
72 | |||
73 | * Federated | ||
74 | * Distributed | ||
75 | * Large | ||
76 | * Open | ||
77 | * Not Alone | ||
78 | |||
79 | Federated | ||
80 | ========= | ||
81 | |||
82 | * Hundreds of involved companies | ||
83 | * No 'main' company | ||
84 | * "Decisions are made by those who show up" | ||
85 | * Union of priorities/use cases | ||
86 | |||
87 | Impact of being Federated | ||
88 | ========================= | ||
89 | |||
90 | * No company can appoint humans to project positions | ||
91 | * The project cannot fire anyone | ||
92 | * Variable background of contributors | ||
93 | * Heavy reliance on consensus-oriented democracy | ||
94 | |||
95 | Distributed | ||
96 | =========== | ||
97 | |||
98 | * There is no office | ||
99 | * Contributor base is global | ||
100 | * Multitude of contributor backgrounds | ||
101 | |||
102 | Impact of being Distributed | ||
103 | =========================== | ||
104 | |||
105 | * Constantly at odds with American Exceptionalism | ||
106 | * Tooling must empower all contributors, regardless of background, | ||
107 | skill level or cultural context | ||
108 | * Heavy preference for text-based communication | ||
109 | * Cannot assume US-centric needs or solutions | ||
110 | |||
111 | Large numbers of | ||
112 | ================ | ||
113 | |||
114 | * Contributors (\~2k in any given 6 month period) | ||
115 | * Changes | ||
116 | * Code Repositories (1904 as of this morning) | ||
117 | |||
118 | OpenStack Scale Comparison | ||
119 | ========================== | ||
120 | |||
121 | * 2KJPH (2,000 jobs per hour) | ||
122 | * Build Nodes from 13 Regions of 5 Public and 2 Private OpenStack Clouds | ||
123 | * Rackspace, Internap, OVH, Vexxhost, CityCloud and Linaro, Limestone | ||
124 | * 10,000 changes merged per month | ||
125 | |||
126 | OpenStack Scale Comparison | ||
127 | ========================== | ||
128 | |||
129 | * 2KJPH (2,000 jobs per hour) | ||
130 | * Nodes from 12 Regions of 5 Public and 1 Private OpenStack Clouds | ||
131 | * Rackspace, Internap, OVH, Vexxhost, CityCloud and Linaro, Limestone | ||
132 | * 10,000 changes merged per month | ||
133 | |||
134 | By comparison, our friends at the amazing project Ansible received | ||
135 | 13,000 changes and had merged 8,000 of them in its first 4 years. | ||
136 | |||
137 | Four Opens | ||
138 | ========== | ||
139 | |||
140 | * Open Source | ||
141 | (we don't hold back Enterprise features, we don't cripple things) | ||
142 | * Open Design | ||
143 | (design process open to all, decisions are not made inside company doors) | ||
144 | * Open Development | ||
145 | (public source code, public code review, all code is reviewed and gated) | ||
146 | * Open Community | ||
147 | (lazy consensus, democratic leadership from participants, | ||
148 | public logged meetings in IRC, public archived mailing lists) | ||
149 | |||
150 | Nobody is Special | ||
151 | ================= | ||
152 | |||
153 | * No dictators | ||
154 | * Aggressively egalitarian | ||
155 | * No "pay for play" | ||
156 | |||
157 | Fifth Open - Four Opens Applied to the Infrastructure | ||
158 | ===================================================== | ||
159 | |||
160 | * All tools must be Open Source | ||
161 | * Any external services must by Open Source | ||
162 | * Strongly avoid single-vendor | ||
163 | |||
164 | All Tools are Open Source | ||
165 | ========================= | ||
166 | |||
167 | .. hidetitle:: | ||
168 | |||
169 | No Developer is ever be required to use a proprietary tool | ||
170 | to work on OpenStack. | ||
171 | |||
172 | Sixth Open - Four Opens Applied to Operations | ||
173 | ============================================= | ||
174 | |||
175 | * Ops driven by git/code-review - not by humans running commands | ||
176 | * Run as many things CD as possible | ||
177 | * Infrastructure team operates the same as the project | ||
178 | * Core reviewer status and root access are earned | ||
179 | * Human-initiated ops actions (running commands, clicking a UI) are a bug | ||
180 | * Keys/secrets are not Open :) | ||
181 | |||
182 | We're Not Alone | ||
183 | =============== | ||
184 | |||
185 | * Dependencies (libvirt/kvm/xen, mysql/pg, rabbit, | ||
186 | python/javascript, ceph/gluster, ansible/salt/puppet/chef, ovs/odl) | ||
187 | * Adjacencies (kubernetes, ansible, terraform, opnfv, spinnaker) | ||
188 | * Vendors (plugins, products, services, distros) | ||
189 | |||
190 | Lessons from a massive, openly-developed project | ||
191 | ================================================ | ||
192 | |||
193 | Thierry Carrez is speaking at 14:45 today with more on this. | ||
194 | |||
195 | Developer Process In a Nutshell | ||
196 | =============================== | ||
197 | |||
198 | * Code Review - nobody has direct commit/push access | ||
199 | * 3rd-Party CI for vendors | ||
200 | * Gated Commits | ||
201 | |||
202 | Gated Commits | ||
203 | ============= | ||
204 | |||
205 | :: | ||
206 | |||
207 | Hack Review Test | ||
208 | ========= ========== ========== | ||
209 | |||
210 | push approve | ||
211 | +-------------+ +-------------+ | ||
212 | | | | | | ||
213 | +------+--+ +--v----+--+ +--v-------+ | ||
214 | | | | | | | | ||
215 | | $EDITOR | | Gerrit | | Zuul | | ||
216 | | | | | | | | ||
217 | +------^--+ +--+----^--+ +--+-------+ | ||
218 | | | | | | ||
219 | +-------------+ +-------------+ | ||
220 | clone merge | ||
221 | |||
222 | Gating | ||
223 | ====== | ||
224 | |||
225 | Every change proposed for a repository is tested before it merges. | ||
226 | |||
227 | Co-gating | ||
228 | ========= | ||
229 | |||
230 | Changes to a set of repositories merge monotonically such | ||
231 | that each change is tested with the current state of all | ||
232 | other related repositories before it merges. | ||
233 | |||
234 | Parallel Co-gating | ||
235 | ================== | ||
236 | |||
237 | Changes are serialized such that each change is tested | ||
238 | with all of the changes ahead of it to satisfy the | ||
239 | gating requirement while being able to run tests for | ||
240 | multiple changes simultaneously. | ||
241 | |||
242 | Zuul | ||
243 | ==== | ||
244 | |||
245 | * Custom-written multi-repo parallel co-gating engine | ||
246 | * When to run | ||
247 | * Where to run it | ||
248 | * With what git states | ||
249 | * How to respond to results | ||
250 | |||
251 | Zuul Architecture | ||
252 | ================= | ||
253 | |||
254 | .. ansi:: images/architecture.ans | ||
255 | |||
256 | Zuul is written in Python 3.5 | ||
257 | ============================= | ||
258 | |||
259 | Not just for OpenStack | ||
260 | ====================== | ||
261 | |||
262 | * Zuul v3 is in production for OpenStack (in OpenStack VMs) | ||
263 | |||
264 | Also running at: | ||
265 | |||
266 | * BMW (control plane in OpenShift) | ||
267 | * Godaddy (control plane in Kubernetes) | ||
268 | * OpenContrail | ||
269 | * OpenLab | ||
270 | * others ... | ||
271 | |||
272 | Zuul is not a general purpose automation framework | ||
273 | ================================================== | ||
274 | |||
275 | Zuul in a nutshell | ||
276 | ================== | ||
277 | |||
278 | * Listens for code events | ||
279 | * Prepares appropriate job config and git repo states | ||
280 | * Allocates nodes for test jobs | ||
281 | * Pushes git repo states to nodes | ||
282 | * Runs user-defined Ansible playbooks | ||
283 | * Collects/reports results | ||
284 | * Potentially merges change | ||
285 | |||
286 | Zuul Simulation | ||
287 | =============== | ||
288 | .. transition:: pan | ||
289 | .. container:: handout | ||
290 | |||
291 | * That was a lot of words - let's walk through it one step at a time | ||
292 | * Here we have two git repos, called nova and keystone, and their | ||
293 | current HEAD state | ||
294 | |||
295 | .. ansi:: images/zsim-00.ans | ||
296 | |||
297 | Zuul Simulation | ||
298 | =============== | ||
299 | .. transition:: cut | ||
300 | .. container:: handout | ||
301 | |||
302 | * A change is approved for Nova | ||
303 | |||
304 | .. ansi:: images/zsim-01.ans | ||
305 | |||
306 | Zuul Simulation | ||
307 | =============== | ||
308 | .. transition:: cut | ||
309 | .. container:: handout | ||
310 | |||
311 | * Zuul starts running jobs for it | ||
312 | * The tests will test the current state of nova and keystone PLUS this nova | ||
313 | change | ||
314 | |||
315 | .. ansi:: images/zsim-02.ans | ||
316 | |||
317 | Zuul Simulation | ||
318 | =============== | ||
319 | .. transition:: cut | ||
320 | .. container:: handout | ||
321 | |||
322 | * A change is approved for Keystone | ||
323 | |||
324 | .. ansi:: images/zsim-03.ans | ||
325 | |||
326 | Zuul Simulation | ||
327 | =============== | ||
328 | .. transition:: cut | ||
329 | .. container:: handout | ||
330 | |||
331 | * The tests will test the current state of nova and keystone PLUS this nova | ||
332 | change | ||
333 | |||
334 | .. ansi:: images/zsim-04.ans | ||
335 | |||
336 | Zuul Simulation | ||
337 | =============== | ||
338 | .. transition:: cut | ||
339 | .. container:: handout | ||
340 | |||
341 | * todo | ||
342 | |||
343 | .. ansi:: images/zsim-05.ans | ||
344 | |||
345 | Zuul Simulation | ||
346 | =============== | ||
347 | .. transition:: cut | ||
348 | .. container:: handout | ||
349 | |||
350 | * todo | ||
351 | |||
352 | .. ansi:: images/zsim-06.ans | ||
353 | |||
354 | Zuul Simulation | ||
355 | =============== | ||
356 | .. transition:: cut | ||
357 | .. container:: handout | ||
358 | |||
359 | * todo | ||
360 | |||
361 | .. ansi:: images/zsim-07.ans | ||
362 | |||
363 | Zuul Simulation | ||
364 | =============== | ||
365 | .. transition:: cut | ||
366 | .. container:: handout | ||
367 | |||
368 | * todo | ||
369 | |||
370 | .. ansi:: images/zsim-08.ans | ||
371 | |||
372 | Zuul Simulation | ||
373 | =============== | ||
374 | .. transition:: cut | ||
375 | .. container:: handout | ||
376 | |||
377 | * todo | ||
378 | |||
379 | .. ansi:: images/zsim-09.ans | ||
380 | |||
381 | Zuul Simulation | ||
382 | =============== | ||
383 | .. transition:: cut | ||
384 | .. container:: handout | ||
385 | |||
386 | * todo | ||
387 | |||
388 | .. ansi:: images/zsim-10.ans | ||
389 | |||
390 | Zuul Simulation | ||
391 | =============== | ||
392 | .. transition:: cut | ||
393 | .. container:: handout | ||
394 | |||
395 | * todo | ||
396 | |||
397 | .. ansi:: images/zsim-11.ans | ||
398 | |||
399 | Zuul Simulation | ||
400 | =============== | ||
401 | .. transition:: cut | ||
402 | .. container:: handout | ||
403 | |||
404 | * todo | ||
405 | |||
406 | .. ansi:: images/zsim-12.ans | ||
407 | |||
408 | Zuul Simulation | ||
409 | =============== | ||
410 | .. transition:: cut | ||
411 | .. container:: handout | ||
412 | |||
413 | * todo | ||
414 | |||
415 | .. ansi:: images/zsim-13.ans | ||
416 | |||
417 | Zuul Simulation | ||
418 | =============== | ||
419 | .. transition:: cut | ||
420 | .. container:: handout | ||
421 | |||
422 | * todo | ||
423 | |||
424 | .. ansi:: images/zsim-14.ans | ||
425 | |||
426 | Zuul Simulation | ||
427 | =============== | ||
428 | .. transition:: cut | ||
429 | .. container:: handout | ||
430 | |||
431 | * todo | ||
432 | |||
433 | .. ansi:: images/zsim-15.ans | ||
434 | |||
435 | Zuul Simulation | ||
436 | =============== | ||
437 | .. transition:: cut | ||
438 | .. container:: handout | ||
439 | |||
440 | * todo | ||
441 | |||
442 | .. ansi:: images/zsim-16.ans | ||
443 | |||
444 | Zuul Simulation | ||
445 | =============== | ||
446 | .. transition:: cut | ||
447 | .. container:: handout | ||
448 | |||
449 | * todo | ||
450 | |||
451 | .. ansi:: images/zsim-17.ans | ||
452 | |||
453 | Zuul Simulation | ||
454 | =============== | ||
455 | .. transition:: cut | ||
456 | .. container:: handout | ||
457 | |||
458 | * todo | ||
459 | |||
460 | .. ansi:: images/zsim-18.ans | ||
461 | |||
462 | Zuul Simulation | ||
463 | =============== | ||
464 | .. transition:: cut | ||
465 | .. container:: handout | ||
466 | |||
467 | * todo | ||
468 | |||
469 | .. ansi:: images/zsim-19.ans | ||
470 | |||
471 | Zuul Simulation | ||
472 | =============== | ||
473 | .. transition:: cut | ||
474 | .. container:: handout | ||
475 | |||
476 | * todo | ||
477 | |||
478 | .. ansi:: images/zsim-20.ans | ||
479 | |||
480 | Zuul Simulation | ||
481 | =============== | ||
482 | .. transition:: cut | ||
483 | .. container:: handout | ||
484 | |||
485 | * todo | ||
486 | |||
487 | .. ansi:: images/zsim-21.ans | ||
488 | |||
489 | Zuul Simulation | ||
490 | =============== | ||
491 | .. transition:: cut | ||
492 | .. container:: handout | ||
493 | |||
494 | * todo | ||
495 | |||
496 | .. ansi:: images/zsim-22.ans | ||
497 | |||
498 | Jobs | ||
499 | ==== | ||
500 | |||
501 | * Jobs run on nodes from nodepool (static or dynamic) | ||
502 | * Metadata defined in Zuul's configuration | ||
503 | * Execution content in Ansible (with live streaming!) | ||
504 | * Jobs may be defined centrally or in the repo being tested | ||
505 | * Jobs have contextual variants that simplify configuration | ||
506 | |||
507 | Shared Job Configs | ||
508 | ================== | ||
509 | |||
510 | * Job config repos are all in git | ||
511 | * Designed to support directly sharing job configurations | ||
512 | * git.zuul-ci.org/zuul-jobs repo is a 'standard library' | ||
513 | to be directly shared between zuul installations | ||
514 | |||
515 | Job | ||
516 | === | ||
517 | |||
518 | .. code:: yaml | ||
519 | |||
520 | - job: | ||
521 | name: base | ||
522 | parent: null | ||
523 | description: | | ||
524 | The base job for Zuul. | ||
525 | timeout: 1800 | ||
526 | nodeset: | ||
527 | nodes: | ||
528 | - name: primary | ||
529 | label: centos-7 | ||
530 | pre-run: playbooks/base/pre.yaml | ||
531 | post-run: | ||
532 | - playbooks/base/post-ssh.yaml | ||
533 | - playbooks/base/post-logs.yaml | ||
534 | secrets: | ||
535 | - site_logs | ||
536 | |||
537 | Simple Job | ||
538 | ========== | ||
539 | |||
540 | .. code:: yaml | ||
541 | |||
542 | - job: | ||
543 | name: tox | ||
544 | pre-run: playbooks/setup-tox.yaml | ||
545 | run: playbooks/tox.yaml | ||
546 | post-run: playbooks/fetch-tox-output.yaml | ||
547 | |||
548 | - job: | ||
549 | name: tox-py27 | ||
550 | parent: tox | ||
551 | vars: | ||
552 | tox_envlist: py27 | ||
553 | |||
554 | Playbooks | ||
555 | ========= | ||
556 | |||
557 | * Jobs run Ansible playbooks | ||
558 | * Playbooks may be defined centrally or in the repo being tested | ||
559 | * Playbooks can use roles from current or other Zuul repos | ||
560 | (or Galaxy, coming soon) | ||
561 | * Playbooks are run on the zuul-executor using bubblewrap | ||
562 | https://github.com/projectatomic/bubblewrap | ||
563 | * Playbooks are not allowed to execute content on 'localhost' | ||
564 | |||
565 | Devstack-gate / Tempest Playbook | ||
566 | ================================ | ||
567 | |||
568 | .. code:: yaml | ||
569 | |||
570 | # devstack-gate / tempest playbook | ||
571 | hosts: all | ||
572 | roles: | ||
573 | - setup-multinode-networking | ||
574 | - partition-swap | ||
575 | - configure-mirrors | ||
576 | - run-devstack | ||
577 | - run-tempest | ||
578 | |||
579 | Simple Shell Playbook | ||
580 | ===================== | ||
581 | |||
582 | .. code:: yaml | ||
583 | |||
584 | hosts: controller | ||
585 | tasks: | ||
586 | - shell: ./run_tests.sh | ||
587 | |||
588 | Test Like Production | ||
589 | ==================== | ||
590 | |||
591 | If you use Ansible for deployment, your test and deployment processes | ||
592 | and playbooks are the same | ||
593 | |||
594 | What if you don't use Ansible? | ||
595 | ============================== | ||
596 | |||
597 | OpenStack Infra Control Plane uses Puppet | ||
598 | ========================================= | ||
599 | |||
600 | .. code:: yaml | ||
601 | |||
602 | # In git.openstack.org/openstack-infra/project-config/roles/legacy-install-afs-with-puppet/tasks/main.yaml | ||
603 | - name: Install puppet | ||
604 | shell: ./install_puppet.sh | ||
605 | args: | ||
606 | chdir: "{{ ansible_user_dir }}/src/git.openstack.org/openstack-infra/system-config" | ||
607 | environment: | ||
608 | # Skip setting up pip, our images have already done this. | ||
609 | SETUP_PIP: "false" | ||
610 | become: yes | ||
611 | |||
612 | - name: Copy manifest | ||
613 | copy: | ||
614 | src: manifest.pp | ||
615 | dest: "{{ ansible_user_dir }}/manifest.pp" | ||
616 | |||
617 | - name: Run puppet | ||
618 | puppet: | ||
619 | manifest: "{{ ansible_user_dir }}/manifest.pp" | ||
620 | become: yes | ||
621 | |||
622 | |||
623 | Cross-Project Example Problem | ||
624 | ============================= | ||
625 | |||
626 | * User reports bug in shade - auto_ip is not discovering their NAT properly | ||
627 | * Two fixes, one to detection algorithm, one to config override | ||
628 | * Config override requires adding support to os-client-config | ||
629 | * Once support is added to os-client-config, it can be consumed in shade | ||
630 | * How do we integration test this without releasing os-client-config? | ||
631 | |||
632 | Cross-Project Dependencies | ||
633 | ========================== | ||
634 | |||
635 | Testing or gating dependencies (including jobs) manually specified by | ||
636 | developers | ||
637 | |||
638 | .. container:: progressive | ||
639 | |||
640 | * shade https://review.openstack.org/513913/ | ||
641 | |||
642 | Add unittest tips jobs | ||
643 | |||
644 | Change-ID: I5b411be5c5aa43535fa89a51d6099aadd7a8ea60 | ||
645 | * os-client-config https://review.openstack.org/513915 | ||
646 | |||
647 | Add shade-tox-tips jobs | ||
648 | |||
649 | Change-ID: Ie3e9a4deca1d74b94e810e87e130706fe15fe2c9 | ||
650 | |||
651 | Depends-On: https://review.openstack.org/513913/ | ||
652 | * os-client-config https://review.openstack.org/513751/ | ||
653 | |||
654 | Added nat_source flag for networks | ||
655 | |||
656 | Change-ID: I3d8dd6d734a1013d2d4a43e11c3538c3a345820b | ||
657 | |||
658 | * shade https://review.openstack.org/#/c/513914 | ||
659 | |||
660 | Add support for configured NAT source variable | ||
661 | |||
662 | Change-Id: I4b50c2323a487b5ce90f9d38a48be249cfb739c5 | ||
663 | |||
664 | Depends-On: https://review.openstack.org/513914 | ||
665 | |||
666 | shade: Add unittest tips jobs | ||
667 | ============================= | ||
668 | |||
669 | * In git.openstack.org/openstack-infra/shade/.zuul.yaml: | ||
670 | |||
671 | .. code:: yaml | ||
672 | |||
673 | - job: | ||
674 | name: shade-tox-py27-tips | ||
675 | parent: openstack-tox-py27 | ||
676 | description: | | ||
677 | Run tox python 27 unittests against master of important libs | ||
678 | required-projects: | ||
679 | - openstack-infra/shade | ||
680 | - openstack/keystoneauth | ||
681 | - openstack/os-client-config | ||
682 | |||
683 | - job: | ||
684 | name: shade-tox-py35-tips | ||
685 | parent: openstack-tox-py35 | ||
686 | description: | | ||
687 | Run tox python 35 unittests against master of important libs | ||
688 | required-projects: | ||
689 | - openstack-infra/shade | ||
690 | - openstack/keystoneauth | ||
691 | - openstack/os-client-config | ||
692 | |||
693 | shade: Add unittest tips project-template | ||
694 | ========================================= | ||
695 | |||
696 | * In git.openstack.org/openstack-infra/shade/.zuul.yaml: | ||
697 | |||
698 | .. code:: yaml | ||
699 | |||
700 | - project-template: | ||
701 | name: shade-tox-tips | ||
702 | check: | ||
703 | jobs: | ||
704 | - shade-tox-py27-tips | ||
705 | - shade-tox-py35-tips | ||
706 | gate: | ||
707 | jobs: | ||
708 | - shade-tox-py27-tips | ||
709 | - shade-tox-py35-tips | ||
710 | |||
711 | shade: Add unittest tips project-template to project | ||
712 | ==================================================== | ||
713 | |||
714 | * In git.openstack.org/openstack-infra/shade/.zuul.yaml: | ||
715 | |||
716 | .. code:: yaml | ||
717 | |||
718 | - project: | ||
719 | templates: | ||
720 | - publish-to-pypi | ||
721 | - publish-openstack-sphinx-docs | ||
722 | - shade-tox-tips | ||
723 | |||
724 | os-client-config: Add shade-tox-tips jobs | ||
725 | ========================================= | ||
726 | |||
727 | * In git.openstack.org/openstack/os-client-config/.zuul.yaml: | ||
728 | |||
729 | .. code:: yaml | ||
730 | |||
731 | - project: | ||
732 | templates: | ||
733 | - shade-tox-tips | ||
734 | |||
735 | os-client-config: Add nat_source flag for networks | ||
736 | ================================================== | ||
737 | |||
738 | :: | ||
739 | |||
740 | diff --git a/os_client_config/cloud_config.py b/os_client_config/cloud_config.py | ||
741 | index 2e97629..d1a6983 100644 | ||
742 | --- a/os_client_config/cloud_config.py | ||
743 | +++ b/os_client_config/cloud_config.py | ||
744 | @@ -581,3 +581,10 @@ class CloudConfig(object): | ||
745 | if net['nat_destination']: | ||
746 | return net['name'] | ||
747 | return None | ||
748 | + | ||
749 | + def get_nat_source(self): | ||
750 | + """Get network used for NAT source.""" | ||
751 | + for net in self.config['networks']: | ||
752 | + if net.get('nat_source'): | ||
753 | + return net['name'] | ||
754 | + return None | ||
755 | |||
756 | shade: Add support for configured NAT source variable | ||
757 | ===================================================== | ||
758 | |||
759 | :: | ||
760 | |||
761 | Zuul 10-21 13:57 | ||
762 | Patch Set 5: Verified-1 | ||
763 | Build failed. | ||
764 | openstack-tox-pep8 SUCCESS in 2m 29s | ||
765 | openstack-tox-py27 FAILURE in 2m 34s | ||
766 | build-openstack-releasenotes SUCCESS in 2m 47s | ||
767 | openstack-tox-py35 FAILURE in 2m 41s | ||
768 | openstack-tox-cover POST_FAILURE in 3m 52s (non-voting) | ||
769 | build-openstack-sphinx-docs SUCCESS in 2m 57s | ||
770 | shade-tox-py27-tips SUCCESS in 3m 18s | ||
771 | shade-tox-py35-tips SUCCESS in 2m 28s | ||
772 | |||
773 | OpenStack Github Support for Cross Community Testing | ||
774 | ==================================================== | ||
775 | |||
776 | * OpenStack does not use Github, but other people do | ||
777 | * Github App "OpenStack Zuul" | ||
778 | * App added to github project by project admin | ||
779 | * Project aded to OpenStack's main.yaml | ||
780 | * Test interactions between OpenStack and important adjacent communities | ||
781 | * https://github.com/ansible/ansible/pull/20974 | ||
782 | |||
783 | Cross Source Dependencies | ||
784 | ========================= | ||
785 | |||
786 | .. container:: progressive | ||
787 | |||
788 | * shade https://review.openstack.org/539563 | ||
789 | |||
790 | Shift voting flag and test_matrix_branch for ansible-devel job | ||
791 | |||
792 | Change-ID: Ic9d3983de641dbe618c65b2cbf2dcfa3686575df | ||
793 | |||
794 | * ansible https://github.com/ansible/ansible/pull/34925 | ||
795 | |||
796 | continue fact gathering even without dmidecode | ||
797 | |||
798 | * ansible https://github.com/ansible/ansible/pull/20974 | ||
799 | |||
800 | Make a generalized OpenStack cloud constructor | ||
801 | |||
802 | Depends-On: https://review.openstack.org/539563 | ||
803 | Depends-On: https://github.com/ansible/ansible/pull/34925 | ||
804 | |||
805 | Nodesets for Multi-node Jobs | ||
806 | ============================ | ||
807 | |||
808 | .. code:: yaml | ||
809 | |||
810 | - nodeset: | ||
811 | name: ceph-cluster | ||
812 | nodes: | ||
813 | - name: controller | ||
814 | label: centos-7 | ||
815 | - name: compute1 | ||
816 | label: fedora-26 | ||
817 | - name: compute2 | ||
818 | label: fedora-26 | ||
819 | groups: | ||
820 | - name: ceph-osd | ||
821 | nodes: | ||
822 | - controller | ||
823 | - name: ceph-monitor | ||
824 | nodes: | ||
825 | - controller | ||
826 | - compute1 | ||
827 | - compute2 | ||
828 | |||
829 | Multi-node Job | ||
830 | ============== | ||
831 | |||
832 | * nodesets are provided to Ansible for jobs in inventory | ||
833 | |||
834 | .. code:: yaml | ||
835 | |||
836 | - job: | ||
837 | name: ceph-multinode | ||
838 | nodeset: ceph-cluster | ||
839 | run: playbooks/install-ceph.yaml | ||
840 | |||
841 | Multi-node Ceph Job Content | ||
842 | =========================== | ||
843 | |||
844 | .. code:: yaml | ||
845 | |||
846 | - hosts: all | ||
847 | roles: | ||
848 | - install-ceph | ||
849 | - hosts: ceph-osd | ||
850 | roles: | ||
851 | - start-ceph-osd | ||
852 | - hosts: ceph-monitor | ||
853 | roles: | ||
854 | - start-ceph-monitor | ||
855 | - hosts: all | ||
856 | roles: | ||
857 | - do-something-interesting | ||
858 | |||
859 | Projects | ||
860 | ======== | ||
861 | |||
862 | * Projects are git repositories | ||
863 | * Specify a set of jobs for each pipeline | ||
864 | * golang git repo naming as been adopted: | ||
865 | |||
866 | :: | ||
867 | |||
868 | zuul@ubuntu-xenial:~$ find /home/zuul/src -mindepth 3 -maxdepth 3 -type d | ||
869 | /home/zuul/src/git.openstack.org/openstack-infra/shade | ||
870 | /home/zuul/src/git.openstack.org/openstack/keystoneauth | ||
871 | /home/zuul/src/git.openstack.org/openstack/os-client-config | ||
872 | /home/zuul/src/github.com/ansible/ansible | ||
873 | |||
874 | Project with Job Dependencies | ||
875 | ============================= | ||
876 | |||
877 | .. code:: yaml | ||
878 | |||
879 | # In git.openstack.org/openstack-infra/project-config: | ||
880 | - project: | ||
881 | name: openstack/nova | ||
882 | release: | ||
883 | jobs: | ||
884 | - build-artifacts | ||
885 | - upload-tarball: | ||
886 | dependencies: build-artifacts | ||
887 | - upload-pypi: | ||
888 | dependencies: build-artifacts | ||
889 | - notify-mirror: | ||
890 | dependencies: | ||
891 | - upload-tarball | ||
892 | - upload-pypi | ||
893 | |||
894 | Secrets | ||
895 | ======= | ||
896 | |||
897 | * Inspired by Kubernetes Secrets API | ||
898 | * Projects can add named encrypted secrets to their .zuul.yaml file | ||
899 | * Jobs can request to use secrets by name | ||
900 | * Jobs using secrets are not reconfigured speculatively | ||
901 | * Secrets can only be used by the same project they are defined in | ||
902 | * Public key per project: | ||
903 | ``{{ zuul_url }}/tenant/{{ tenant }}/key/{{ project }}.pub`` | ||
904 | |||
905 | Secret Example (note, no admins had to enable this) | ||
906 | =================================================== | ||
907 | |||
908 | .. code:: yaml | ||
909 | |||
910 | # In git.openstack.org/openstack/loci/.zuul.yaml: | ||
911 | - secret: | ||
912 | name: loci_docker_login | ||
913 | data: | ||
914 | user: !encrypted/pkcs1-oaep | ||
915 | - r8Nbpq5olmfLF035BZ/CUoFLIdhvBi/49KuochOAHbvns+xMiho3C7MEFzYDqJX3IhHde | ||
916 | BICYOgK7qnyINOIZL2e7pl75rEdHQwJjSFUMkpdY6wEP7f9hpolj9xVp0ifHUVQqPHMRn | ||
917 | zoPFd8MEAHxH5GLmc2SWJ98E/QUqGltxBi1YRSZoCcNtq3tHFK5Y+xQlLhIseJ2HkpDs6 | ||
918 | YXOGP9Qt4Va6sdyBcA90H+apSAcYA3Duu962ySZQAsYNui/3NQq3gLA+OZeyTJtcrh4hj | ||
919 | Rb5dBnDWfSrMpxdNkbPXXgbQaxO3T0L4jbaOF8VKEsiI9olBrOeV2M9ddYJjSsHGj4XR8 | ||
920 | 4vwS0+doB7np93fujiDuHVgdG8R40NW2GznyKRlRtzAORla7Mzw1Y1MokcUyY6p1LlLLl | ||
921 | wUuWYCCEuRciOPhZXQ2u42qju/zrK2/dPnO8HfUINSrN0WbNq14ZwPpbj0ro02oGPbtwu | ||
922 | OTw1z+N0Nc+GuLWlwYJGYM/z0UnvDR3WEBc2kXbVev9w4n0cB3RyphML2PDZZWbw8tjnX | ||
923 | h1VsAOJ0Qo4qq1K/ft95ypd+vtjkfepEgHEBmJNwutJa9IHAkGfrkO9VkpUTPpfffnPwz | ||
924 | d0/zaaadNl6MLQUSutRwY23YIIbv+fmukxw2vnJmvn6abkBlMya7KgtifwNA8c= | ||
925 | password: !encrypted/pkcs1-oaep | ||
926 | - gUEX4eY3JAk/Xt7Evmf/hF7xr6HpNRXTibZjrKTbmI4QYHlzEBrBbHey27Pt/eYvKKeKw | ||
927 | hk8MDQ4rNX7ZK1v+CKTilUfOf4AkKYbe6JFDd4z+zIZ2PAA7ZedO5FY/OnqrG7nhLvQHE | ||
928 | 5nQrYwmxRp4O8eU5qG1dSrM9X+bzri8UnsI7URjqmEsIvlUqtybQKB9qQXT4d6mOeaKGE | ||
929 | 5h6Ydkb9Zdi4Qh+GpCGDYwHZKu1mBgVK5M1G6NFMy1DYz+4NJNkTRe9J+0TmWhQ/KZSqo | ||
930 | 4ck0x7Tb0Nr7hQzV8SxlwkaCTLDzvbiqmsJPLmzXY2jry6QsaRCpthS01vnj47itoZ/7p | ||
931 | taH9CoJ0Gl7AkaxsrDSVjWSjatTQpsy1ub2fuzWHH4ASJFCiu83Lb2xwYts++r8ZSn+mA | ||
932 | hbEs0GzPI6dIWg0u7aUsRWMOB4A+6t2IOJibVYwmwkG8TjHRXxVCLH5sY+i3MR+NicR9T | ||
933 | IZFdY/AyH6vt5uHLQDU35+5n91pUG3F2lyiY5aeMOvBL05p27GTMuixR5ZoHcvSoHHtCq | ||
934 | 7Wnk21iHqmv/UnEzqUfXZOque9YP386RBWkshrHd0x3OHUfBK/WrpivxvIGBzGwMr2qAj | ||
935 | /AhJsfDXKBBbhGOGk1u5oBLjeC4SRnAcIVh1+RWzR4/cAhOuy2EcbzxaGb6VTM= | ||
936 | |||
937 | Secret Example | ||
938 | ============== | ||
939 | |||
940 | .. code:: yaml | ||
941 | |||
942 | # In git.openstack.org/openstack/loci/.zuul.yaml: | ||
943 | - job: | ||
944 | name: publish-loci-cinder | ||
945 | parent: loci-cinder | ||
946 | post-run: playbooks/push | ||
947 | secrets: | ||
948 | - loci_docker_login | ||
949 | |||
950 | # In git.openstack.org/openstack/loci/playbooks/push.yaml: | ||
951 | - hosts: all | ||
952 | tasks: | ||
953 | - include_vars: vars.yaml | ||
954 | |||
955 | - name: Push project to DockerHub | ||
956 | block: | ||
957 | - command: docker login -u {{ loci_docker_login.user }} -p {{ loci_docker_login.password }} | ||
958 | no_log: True | ||
959 | - command: docker push openstackloci/{{ project }}:{{ branch }}-{{ item.name }} | ||
960 | with_items: "{{ distros }}" | ||
961 | |||
962 | |||
963 | What's Next? | ||
964 | ============ | ||
965 | |||
966 | * shared job doc generation | ||
967 | * node providers | ||
968 | * kuberenetes | ||
969 | * OCI/docker | ||
970 | * Mac Stadium (for our Ansible friends) | ||
971 | * ec2 | ||
972 | * native container/kubernetes job execution | ||
973 | |||
974 | Important Links | ||
975 | =============== | ||
976 | |||
977 | * https://zuul-ci.org/ | ||
978 | * https://git.openstack.org/cgit/openstack-infra/zuul | ||
979 | * https://docs.openstack.org/infra/zuul | ||
980 | * https://docs.openstack.org/infra/manual/zuulv3.html | ||
981 | * https://docs.openstack.org/infra/zuul-jobs/ | ||
982 | * https://docs.openstack.org/infra/openstack-zuul-jobs/ | ||
983 | * https://storyboard.openstack.org/#!/project/679 | ||
984 | * https://storyboard.openstack.org/#!/board/41 | ||
985 | * freenode:#zuul | ||
986 | |||
987 | Questions | ||
988 | ========= | ||
989 | |||
990 | .. ansi:: images/questions.ans | ||
991 | |||
992 | Presentty | ||
993 | ========= | ||
994 | .. hidetitle:: | ||
995 | .. transition:: pan | ||
996 | .. figlet:: Presentty | ||
997 | |||
998 | * Console presentations written in reStructuredText | ||
999 | * Cross-fade, pan, tilt, cut transitions | ||
1000 | * Figlet, cowsay! | ||
1001 | * https://pypi.python.org/pypi/presentty | ||