# Generated by stepmaker version 20081125 (instance: 622203467587)
# Generated on Thu Nov 27 12:01:34 2008
# uname -a: Linux dhcp-1-188.tlv.redhat.com 2.6.18-92.1.17.el5 #1 SMP Wed Oct 22 04:19:38 EDT 2008 x86_64 x86_64 x86_64 GNU/Linux
# QEMU command line: qemu-system-x86_64 -cdrom /isos/linux/Fedora-9-i386-DVD.iso /tmp/fedora.qcow2 -m 512 -nographic -monitor unix:/tmp/monitor_622203467587,server,nowait &
# --------------------------------
step 4.30
screendump 20080101_000001_422bd90ff3700da33a802cb4971911f5.ppm
# welcome
barrier_2 483 151 77 29 f11722af4fb7e2543d46c851bca3d4ec 22
# Sending keys: ret
key ret
# --------------------------------
step 12.28
screendump 20080101_000002_76e3dc860bb332af01b1dda136a8f082.ppm
# skip
barrier_2 395 181 165 107 c53582165366fd867abddc57b2eb4627 40
# Sending keys: tab ret
key tab
key ret
# --------------------------------
step 47.80
screendump 20080101_000003_82069cba84ac2b8c1cd4ad204b4abd56.ppm
# graphical installer
barrier_2 250 71 550 529 fb242c31699b930fe5dd3e651091ed3b 178
# Sending keys: alt-n
key alt-n
# --------------------------------
step 50.79
screendump 20080101_000004_d83de685c8a3259a154614eca3e2c7ca.ppm
# language
barrier_2 789 281 11 319 97269d92fd84216ab46e932e4b44638b 15
# Sending keys: alt-n
key alt-n
# --------------------------------
step 52.18
screendump 20080101_000005_763110f4a9400e6f21deaff1789a5a02.ppm
# keyboard
barrier_2 787 205 13 395 f4690d38da6159ab79a691f90b0846ab 7
# Sending keys: alt-n
key alt-n
# --------------------------------
step 54.89
screendump 20080101_000006_fd188a0ff7fb28829c3e16ed0fa6790e.ppm
# are you sure?
barrier_2 385 86 230 330 abe6f436b33181bb67c6c8be444f1129 14
# Sending keys: alt-y
key alt-y
# --------------------------------
step 56.76
screendump 20080101_000007_dc10f3c5f8b6dbb6c86db42fac463115.ppm
# network devices
barrier_2 320 247 480 353 bfbc40a616fed4a55673ffe824e1f0d8 9
# Sending keys: alt-n
key alt-n
# --------------------------------
step 59.81
screendump 20080101_000008_e55d1b787e2d4bac4b309082bc0c5e84.ppm
# time zone
barrier_2 786 117 14 483 e95cab7c8853cc2b2836a80ab62d41e3 15
# Sending keys: alt-n
key alt-n
# --------------------------------
step 61.31
screendump 20080101_000009_3b34f2754e67a7e8782a562e2207e001.ppm
# root password
barrier_2 103 79 201 140 9a075ea7e0cfd1d41b765e9352c11858 7
# Sending keys: 1 2 3 4 5 6 tab 1 2 3 4 5 6
key 1
key 2
key 3
key 4
key 5
key 6
key tab
key 1
key 2
key 3
key 4
key 5
key 6
# --------------------------------
step 66.14
screendump 20080101_000010_a823cd29ef14192dadeb74615e854483.ppm
barrier_2 42 36 122 178 4aa198cb48dcf45f37bd83aa99f469d5 24
# Sending keys: alt-n
key alt-n
# --------------------------------
step 67.53
screendump 20080101_000011_35dac9daa21b06c3b25a386c71104ab5.ppm
# weak password
barrier_2 385 87 229 286 af1ac2e844173749d9238dfc381f626f 7
# Sending keys: alt-y
key alt-y
# --------------------------------
step 72.32
screendump 20080101_000012_8ea06560e0e936c175b27a3dd08bb850.ppm
# partitioning
barrier_2 217 211 583 389 4f6c19742544b0021f224d9f03381a52 24
# Sending keys: alt-n
key alt-n
# --------------------------------
step 73.93
screendump 20080101_000013_4947284576590f2db663823775d57580.ppm
# write changes to disk?
barrier_2 350 47 233 325 4b2a63c9a570151d10a0387e91f00d49 8
# Sending keys: alt-w
key alt-w
# --------------------------------
step 177.03
screendump 20080101_000014_e059058b15f5ad58859b965e380710cf.ppm
# package selection
barrier_2 228 93 16 139 c6116413e5e1cccab2acda277b7fcb88 516
# Sending keys: tab
key tab
# --------------------------------
step 178.28
screendump 20080101_000015_613c6a29bc1ae4440aee0a8c48ac519d.ppm
# disable office, enable software development
barrier_2 209 93 16 139 5f9214eddf0ddc5e9a0a0dda98c695ca 6
# Sending keys: spc down spc
key spc
key down
key spc
# --------------------------------
step 180.71
screendump 20080101_000016_152ac23ca8fd2d3940379439eaa940a6.ppm
barrier_2 209 91 16 139 4763c9135edde93017435f10ca3f0bda 12
# Sending keys: alt-n
key alt-n
# --------------------------------
step 2088.61
screendump 20080101_000017_2aa762432fd01d2e356efbd1d73d795b.ppm
# installation done -- reboot
barrier_2 275 91 525 509 02b9fabc34f46d87ff8ab6db3a90249e 9540
# Sending keys: alt-t
key alt-t
# --------------------------------
step 2186.45
screendump 20080101_000018_f28fa66350786b29af2c497ca9fd5e6e.ppm
# first boot setup
barrier_2 258 83 542 517 d60a92501d0d6f4cd40929f8f5a9fe5d 489
# Sending keys: alt-f
key alt-f
# --------------------------------
step 2188.97
screendump 20080101_000019_641948e3e24d43e9d9d28d7779863d47.ppm
# license
barrier_2 586 253 214 347 b07b7fd304beaf7711de3e030c596269 13
# Sending keys: alt-f
key alt-f
# --------------------------------
step 2190.91
screendump 20080101_000020_1c16d97279529d37f2edf49b0f553880.ppm
# create user
barrier_2 102 142 383 101 46f026c2b5a0fffde855dbb35f075836 10
# Sending keys: tab
key tab
# --------------------------------
step 2192.99
screendump 20080101_000021_177da7b96f45f9992486f29d95f1af4b.ppm
barrier_2 100 136 383 101 6e1aa83f22fddbdd7b8f6ac4dd5248fa 10
# Sending keys: u s e r tab u s e r tab 1 2 3 4 5 6 tab 1 2 3 4 5 6
key u
key s
key e
key r
key tab
key u
key s
key e
key r
key tab
key 1
key 2
key 3
key 4
key 5
key 6
key tab
key 1
key 2
key 3
key 4
key 5
key 6
# --------------------------------
step 2202.75
screendump 20080101_000022_a403a00c2bdb22522cce29bec7a6838d.ppm
barrier_2 33 34 352 194 eb1e6a49438017148fe4fb13e98e5bd7 49
# Sending keys: alt-f
key alt-f
# --------------------------------
step 2205.83
screendump 20080101_000023_074bef911fe75cda358fa6fb332447b9.ppm
# date and time
barrier_2 148 224 625 348 17553aea906f64c3ff77521d90b7bbdf 15
#barrier_2 212 224 550 346 4f86f0387e793650002f9170c79fe8a6 15
# Sending keys: alt-f
key alt-f
# --------------------------------
step 2210.97
screendump 20080101_000024_7bcf6d86bd1c7981c3c3b9324f387b71.ppm
# hardware profile
barrier_2 529 72 234 508 789c47c72ee96c9bfdada2a715cc953f 26
# Sending keys: alt-f
key alt-f
# --------------------------------
step 2212.71
screendump 20080101_000025_be3ca3994303100ca3878881e66004ed.ppm
# do not send
barrier_2 400 77 230 312 ceb78b31a7651c712a86c77c09475c8f 9
# Sending keys: alt-n
key alt-n
# --------------------------------
step 2235.95
screendump 20080101_000026_a5cbce1ca879625e4ce6bc837754c1fe.ppm
# login?
sleep 50
#barrier_2 210 56 273 198 f356653659f87d610f7ee209e26809b9 116
# Sending keys: ret
key ret
# --------------------------------
step 2240.57
screendump 20080101_000027_f2d638a47e94f6ef991fda8c666d6c32.ppm
# password
barrier_2 18 36 377 325 1aab0071a9acaa5ff545ec1e2de6ad57 23
# Sending keys: 1 2 3 4 5 6 ret
key 1
key 2
key 3
key 4
key 5
key 6
key ret
# --------------------------------
step 2289.63
screendump 20080101_000028_7594e0d7b11c1b686ce2e4df9b9067f2.ppm
# desktop reached -- shutdown
barrier_2 45 18 246 2 e0e4937e16c34a5b32845d90f597eb68 245
# Sending keys: alt-f1
key alt-f1
# --------------------------------
step 2303.14
screendump 20080101_000029_176ee4032a55fcb6902afdf5ea11093f.ppm
barrier_2 136 20 8 210 5c06a62c744ad8ba3c2a2dfe3f220c39 68
# Sending keys: right right
key right
key right
# --------------------------------
step 2305.61
screendump 20080101_000030_65c927fa9cadaf3f4b45fe8c5da41526.ppm
barrier_2 164 19 187 295 ba111c02ab043afb26d5de8d25d2ef09 12
# Sending keys: up
key up
# --------------------------------
step 2307.05
screendump 20080101_000031_207bf2d60b170fa53068c798c0efd90d.ppm
barrier_2 145 21 184 294 b34ee68255fc4679e608f73f0025b7be 7
# Sending keys: ret
key ret
# --------------------------------
step 2309.34
screendump 20080101_000032_1b3c406ce8dd30fa84d63f7144e251df.ppm
# bye bye!
sleep 10
#barrier_2 202 47 433 343 d1d70daae82994ebec4cca9646ec4984 11
# Sending keys: alt-s
key alt-s
