diff --git a/2018/Cargo.lock b/2018/Cargo.lock index 9d595d0..b2b2f85 100644 --- a/2018/Cargo.lock +++ b/2018/Cargo.lock @@ -2,6 +2,7 @@ name = "advent-of-code" version = "0.1.0" dependencies = [ + "chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "regex 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -19,6 +20,16 @@ name = "cfg-if" version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "chrono" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "num-integer 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", + "time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "lazy_static" version = "1.2.0" @@ -39,6 +50,24 @@ dependencies = [ "version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "num-integer" +version = "0.1.39" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "num-traits" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "redox_syscall" +version = "0.1.43" +source = "registry+https://github.com/rust-lang/crates.io-index" + [[package]] name = "regex" version = "1.1.0" @@ -67,6 +96,16 @@ dependencies = [ "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "time" +version = "0.1.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)", + "redox_syscall 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "ucd-util" version = "0.1.3" @@ -82,15 +121,42 @@ name = "version_check" version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "winapi" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + [metadata] "checksum aho-corasick 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)" = "1e9a933f4e58658d7b12defcf96dc5c720f20832deebe3e0a19efd3b6aaeeb9e" "checksum cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "082bb9b28e00d3c9d39cc03e64ce4cea0f1bb9b3fde493f0cbc008472d22bdf4" +"checksum chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "45912881121cb26fad7c38c17ba7daa18764771836b34fab7d3fbd93ed633878" "checksum lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a374c89b9db55895453a74c1e38861d9deec0b01b405a82516e9d5de4820dea1" "checksum libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)" = "10923947f84a519a45c8fefb7dd1b3e8c08747993381adee176d7a82b4195311" "checksum memchr 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0a3eb002f0535929f1199681417029ebea04aadc0c7a4224b46be99c7f5d6a16" +"checksum num-integer 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)" = "e83d528d2677f0518c570baf2b7abdcf0cd2d248860b68507bdcb3e91d4c0cea" +"checksum num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0b3a5d7cc97d6d30d8b9bc8fa19bf45349ffe46241e8816f50f62f6d6aaabee1" +"checksum redox_syscall 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)" = "679da7508e9a6390aeaf7fbd02a800fdc64b73fe2204dd2c8ae66d22d9d5ad5d" "checksum regex 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "37e7cbbd370869ce2e8dff25c7018702d10b21a20ef7135316f8daecd6c25b7f" "checksum regex-syntax 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)" = "4e47a2ed29da7a9e1960e1639e7a982e6edc6d49be308a3b02daf511504a16d1" "checksum thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b" +"checksum time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)" = "d825be0eb33fda1a7e68012d51e9c7f451dc1a69391e7fdc197060bb8c56667b" "checksum ucd-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "535c204ee4d8434478593480b8f86ab45ec9aae0e83c568ca81abf0fd0e88f86" "checksum utf8-ranges 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "796f7e48bef87609f7ade7e06495a87d5cd06c7866e6a5cbfceffc558a243737" "checksum version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd" +"checksum winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "92c1eb33641e276cfa214a0522acad57be5c56b10cb348b3c5117db75f3ac4b0" +"checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" +"checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" diff --git a/2018/Cargo.toml b/2018/Cargo.toml index 8f655ac..ba10ce8 100644 --- a/2018/Cargo.toml +++ b/2018/Cargo.toml @@ -4,5 +4,6 @@ version = "0.1.0" authors = ["Wesley Moore "] [dependencies] +chrono = "0.4.6" lazy_static = "1.2.0" regex = "1.1.0" diff --git a/2018/input/2018/day4.txt b/2018/input/2018/day4.txt new file mode 100644 index 0000000..9c0952b --- /dev/null +++ b/2018/input/2018/day4.txt @@ -0,0 +1,1140 @@ +[1518-07-14 00:48] wakes up +[1518-09-16 00:04] Guard #3323 begins shift +[1518-10-07 00:34] falls asleep +[1518-08-26 00:47] wakes up +[1518-02-16 00:52] falls asleep +[1518-08-25 00:57] wakes up +[1518-02-14 00:52] wakes up +[1518-07-07 23:58] Guard #983 begins shift +[1518-09-18 23:49] Guard #1129 begins shift +[1518-09-23 00:59] wakes up +[1518-09-20 00:04] Guard #3323 begins shift +[1518-06-08 00:48] wakes up +[1518-02-06 23:58] Guard #1129 begins shift +[1518-07-05 00:46] falls asleep +[1518-03-10 00:00] falls asleep +[1518-10-30 00:00] Guard #983 begins shift +[1518-09-21 00:34] wakes up +[1518-04-11 00:03] falls asleep +[1518-03-28 00:51] wakes up +[1518-02-10 00:00] Guard #1307 begins shift +[1518-07-31 00:41] wakes up +[1518-03-19 00:05] falls asleep +[1518-05-11 00:00] Guard #983 begins shift +[1518-07-14 00:18] wakes up +[1518-09-23 00:53] falls asleep +[1518-02-10 00:46] wakes up +[1518-03-05 00:43] wakes up +[1518-06-26 00:46] wakes up +[1518-07-29 23:58] Guard #691 begins shift +[1518-08-07 00:49] falls asleep +[1518-10-18 00:24] wakes up +[1518-08-10 00:56] falls asleep +[1518-04-26 00:02] Guard #1229 begins shift +[1518-08-05 00:57] wakes up +[1518-04-03 00:58] wakes up +[1518-07-16 00:38] falls asleep +[1518-08-10 23:49] Guard #503 begins shift +[1518-05-11 00:58] wakes up +[1518-09-20 00:30] wakes up +[1518-08-22 00:35] falls asleep +[1518-07-03 00:18] wakes up +[1518-03-10 23:58] Guard #2239 begins shift +[1518-03-15 00:03] Guard #2441 begins shift +[1518-03-18 00:45] falls asleep +[1518-07-20 23:53] Guard #3251 begins shift +[1518-06-23 00:04] Guard #3463 begins shift +[1518-05-22 00:48] falls asleep +[1518-03-02 00:48] wakes up +[1518-08-31 00:26] falls asleep +[1518-02-06 00:24] falls asleep +[1518-02-13 00:55] falls asleep +[1518-06-30 00:24] falls asleep +[1518-10-11 23:50] Guard #743 begins shift +[1518-03-30 00:50] wakes up +[1518-09-16 23:58] Guard #3001 begins shift +[1518-09-10 23:59] Guard #2441 begins shift +[1518-04-15 23:58] Guard #3257 begins shift +[1518-05-13 00:42] falls asleep +[1518-11-20 00:46] wakes up +[1518-09-09 00:11] falls asleep +[1518-05-23 00:51] wakes up +[1518-08-07 00:55] wakes up +[1518-08-25 00:56] falls asleep +[1518-03-19 00:06] wakes up +[1518-02-28 00:04] Guard #691 begins shift +[1518-08-23 00:30] falls asleep +[1518-06-01 00:18] wakes up +[1518-03-07 00:35] falls asleep +[1518-04-09 00:24] falls asleep +[1518-09-11 00:35] falls asleep +[1518-07-11 00:25] falls asleep +[1518-04-02 00:02] Guard #3001 begins shift +[1518-07-09 00:41] wakes up +[1518-10-10 00:11] falls asleep +[1518-05-19 00:58] wakes up +[1518-02-15 00:02] Guard #3463 begins shift +[1518-03-28 00:42] falls asleep +[1518-06-29 00:45] wakes up +[1518-04-22 00:02] Guard #349 begins shift +[1518-05-01 00:54] falls asleep +[1518-06-12 00:17] falls asleep +[1518-03-18 23:46] Guard #2441 begins shift +[1518-10-05 00:36] wakes up +[1518-09-19 00:02] falls asleep +[1518-03-10 00:33] wakes up +[1518-06-30 00:53] wakes up +[1518-08-25 00:00] Guard #503 begins shift +[1518-03-30 00:02] falls asleep +[1518-03-20 00:56] wakes up +[1518-10-03 00:24] wakes up +[1518-07-16 00:59] wakes up +[1518-07-10 00:01] Guard #3463 begins shift +[1518-04-01 00:26] falls asleep +[1518-07-22 00:58] wakes up +[1518-05-01 00:28] falls asleep +[1518-10-08 00:06] falls asleep +[1518-02-21 00:03] Guard #349 begins shift +[1518-08-31 00:04] Guard #3323 begins shift +[1518-09-07 00:01] Guard #257 begins shift +[1518-09-01 00:53] falls asleep +[1518-05-22 00:24] falls asleep +[1518-03-29 00:57] falls asleep +[1518-04-12 23:50] Guard #727 begins shift +[1518-11-04 00:47] wakes up +[1518-06-16 00:40] wakes up +[1518-09-13 00:59] wakes up +[1518-04-04 00:44] falls asleep +[1518-10-28 00:59] wakes up +[1518-10-21 00:56] wakes up +[1518-02-26 00:53] wakes up +[1518-10-19 00:00] falls asleep +[1518-11-09 00:02] falls asleep +[1518-06-06 00:50] wakes up +[1518-04-04 00:50] falls asleep +[1518-08-27 00:00] Guard #3251 begins shift +[1518-06-02 00:31] wakes up +[1518-07-05 00:41] wakes up +[1518-10-23 00:00] Guard #2239 begins shift +[1518-07-13 00:02] Guard #1229 begins shift +[1518-03-13 00:43] falls asleep +[1518-04-28 00:38] falls asleep +[1518-11-21 00:59] wakes up +[1518-09-02 23:46] Guard #983 begins shift +[1518-08-23 00:55] wakes up +[1518-04-19 00:58] wakes up +[1518-06-20 00:26] falls asleep +[1518-07-06 00:02] Guard #1129 begins shift +[1518-08-05 00:55] falls asleep +[1518-09-04 00:30] wakes up +[1518-09-14 00:32] wakes up +[1518-05-03 23:58] Guard #1129 begins shift +[1518-08-19 00:55] wakes up +[1518-11-08 00:38] wakes up +[1518-08-06 00:00] Guard #3323 begins shift +[1518-10-24 00:02] Guard #983 begins shift +[1518-10-15 00:54] wakes up +[1518-04-24 00:00] Guard #1051 begins shift +[1518-10-05 00:29] falls asleep +[1518-08-08 00:42] falls asleep +[1518-09-21 00:13] falls asleep +[1518-07-15 00:18] falls asleep +[1518-03-21 23:59] Guard #257 begins shift +[1518-10-13 00:21] falls asleep +[1518-05-28 00:55] wakes up +[1518-04-30 00:44] falls asleep +[1518-03-24 00:43] falls asleep +[1518-09-01 00:04] falls asleep +[1518-05-13 00:26] wakes up +[1518-10-12 00:05] falls asleep +[1518-02-18 00:04] Guard #3251 begins shift +[1518-08-15 23:56] Guard #3323 begins shift +[1518-05-16 00:00] Guard #3323 begins shift +[1518-07-02 00:30] falls asleep +[1518-04-15 00:53] wakes up +[1518-09-15 00:02] Guard #2441 begins shift +[1518-11-09 23:56] Guard #1663 begins shift +[1518-06-25 00:10] falls asleep +[1518-03-29 00:29] falls asleep +[1518-08-02 00:15] wakes up +[1518-05-14 00:40] wakes up +[1518-10-16 00:50] wakes up +[1518-11-19 00:46] wakes up +[1518-08-20 23:46] Guard #727 begins shift +[1518-04-18 00:46] wakes up +[1518-04-18 00:28] falls asleep +[1518-11-22 00:12] falls asleep +[1518-07-25 00:09] falls asleep +[1518-10-25 23:59] Guard #3001 begins shift +[1518-07-14 00:00] falls asleep +[1518-07-11 00:02] Guard #1229 begins shift +[1518-08-18 00:29] falls asleep +[1518-06-19 23:57] Guard #2239 begins shift +[1518-07-20 00:31] wakes up +[1518-04-23 00:56] wakes up +[1518-06-15 00:09] falls asleep +[1518-10-10 00:48] wakes up +[1518-04-09 00:44] wakes up +[1518-02-05 00:00] Guard #1129 begins shift +[1518-07-11 23:59] Guard #3001 begins shift +[1518-06-13 00:27] wakes up +[1518-06-19 00:45] wakes up +[1518-06-27 23:58] Guard #503 begins shift +[1518-05-08 00:01] falls asleep +[1518-04-03 00:04] Guard #983 begins shift +[1518-09-27 00:59] wakes up +[1518-08-06 00:48] wakes up +[1518-11-18 00:00] Guard #1051 begins shift +[1518-05-01 00:56] wakes up +[1518-08-18 00:04] Guard #1741 begins shift +[1518-10-20 00:31] wakes up +[1518-03-09 00:16] falls asleep +[1518-10-08 00:23] wakes up +[1518-08-16 00:33] falls asleep +[1518-04-20 23:56] Guard #3001 begins shift +[1518-03-09 00:02] Guard #503 begins shift +[1518-10-09 23:59] Guard #1307 begins shift +[1518-07-20 00:44] falls asleep +[1518-11-13 00:50] wakes up +[1518-11-20 00:58] wakes up +[1518-06-22 00:46] falls asleep +[1518-07-31 00:19] falls asleep +[1518-10-13 00:03] Guard #1601 begins shift +[1518-03-08 00:47] falls asleep +[1518-07-01 00:33] wakes up +[1518-03-12 00:59] wakes up +[1518-05-23 00:55] falls asleep +[1518-06-08 00:42] falls asleep +[1518-11-20 00:52] falls asleep +[1518-11-14 23:56] Guard #1051 begins shift +[1518-05-08 00:33] wakes up +[1518-08-03 00:20] falls asleep +[1518-02-24 00:55] falls asleep +[1518-10-24 00:47] wakes up +[1518-02-23 00:57] falls asleep +[1518-07-18 00:23] falls asleep +[1518-05-09 23:56] Guard #1741 begins shift +[1518-07-07 00:20] falls asleep +[1518-08-09 00:00] Guard #349 begins shift +[1518-04-05 00:40] falls asleep +[1518-10-14 00:00] Guard #3001 begins shift +[1518-03-17 00:00] Guard #1229 begins shift +[1518-08-09 23:46] Guard #1663 begins shift +[1518-06-04 00:54] wakes up +[1518-11-18 00:47] wakes up +[1518-06-10 00:43] wakes up +[1518-07-15 23:57] Guard #1307 begins shift +[1518-10-23 00:42] falls asleep +[1518-07-19 00:49] falls asleep +[1518-05-05 00:33] falls asleep +[1518-10-20 00:23] falls asleep +[1518-02-13 00:56] wakes up +[1518-10-27 00:04] falls asleep +[1518-06-27 00:30] wakes up +[1518-10-22 00:41] falls asleep +[1518-05-15 00:44] wakes up +[1518-04-03 00:34] falls asleep +[1518-05-17 00:00] Guard #727 begins shift +[1518-07-18 00:28] wakes up +[1518-03-06 00:53] wakes up +[1518-04-06 00:58] wakes up +[1518-04-26 00:35] falls asleep +[1518-08-01 00:46] wakes up +[1518-02-24 00:00] Guard #503 begins shift +[1518-09-30 00:09] falls asleep +[1518-09-28 00:42] falls asleep +[1518-10-18 00:20] falls asleep +[1518-04-12 00:44] wakes up +[1518-06-28 23:52] Guard #349 begins shift +[1518-03-21 00:52] wakes up +[1518-07-17 00:46] falls asleep +[1518-07-24 00:34] falls asleep +[1518-04-25 00:16] falls asleep +[1518-09-12 00:48] falls asleep +[1518-03-08 00:28] falls asleep +[1518-08-19 00:11] falls asleep +[1518-11-11 00:04] Guard #1741 begins shift +[1518-03-15 00:30] wakes up +[1518-04-29 00:07] falls asleep +[1518-04-29 00:26] falls asleep +[1518-03-24 00:56] wakes up +[1518-03-27 00:33] falls asleep +[1518-03-23 00:20] falls asleep +[1518-06-01 23:59] Guard #3251 begins shift +[1518-06-11 00:58] wakes up +[1518-07-15 00:59] wakes up +[1518-03-08 00:58] wakes up +[1518-07-12 00:30] wakes up +[1518-04-17 00:34] wakes up +[1518-09-13 00:47] falls asleep +[1518-09-22 00:09] falls asleep +[1518-03-17 00:27] falls asleep +[1518-05-31 23:48] Guard #3001 begins shift +[1518-09-09 00:03] Guard #727 begins shift +[1518-05-30 00:01] Guard #3001 begins shift +[1518-11-11 00:59] wakes up +[1518-06-16 00:11] falls asleep +[1518-11-01 00:03] Guard #1663 begins shift +[1518-10-04 00:25] falls asleep +[1518-07-04 00:36] wakes up +[1518-09-01 00:09] wakes up +[1518-03-14 00:01] Guard #3463 begins shift +[1518-10-01 00:35] wakes up +[1518-07-26 23:56] Guard #2239 begins shift +[1518-07-26 00:00] Guard #503 begins shift +[1518-06-22 00:50] wakes up +[1518-06-25 00:40] falls asleep +[1518-07-24 00:48] wakes up +[1518-11-02 23:52] Guard #349 begins shift +[1518-02-21 00:53] falls asleep +[1518-09-01 00:48] wakes up +[1518-10-10 00:46] falls asleep +[1518-02-05 00:20] falls asleep +[1518-11-14 00:29] falls asleep +[1518-05-17 00:37] wakes up +[1518-02-10 00:52] falls asleep +[1518-08-31 23:51] Guard #1741 begins shift +[1518-03-04 00:19] wakes up +[1518-09-11 00:58] wakes up +[1518-11-22 00:17] falls asleep +[1518-09-06 00:58] wakes up +[1518-08-24 00:02] Guard #2239 begins shift +[1518-05-01 00:06] falls asleep +[1518-11-10 00:47] wakes up +[1518-08-17 00:07] falls asleep +[1518-03-31 00:09] falls asleep +[1518-02-12 00:22] falls asleep +[1518-11-07 00:54] wakes up +[1518-11-02 00:05] falls asleep +[1518-09-26 00:02] Guard #1129 begins shift +[1518-05-22 00:58] wakes up +[1518-10-03 00:07] falls asleep +[1518-04-13 00:03] wakes up +[1518-05-25 00:37] falls asleep +[1518-09-10 00:46] wakes up +[1518-03-12 00:54] wakes up +[1518-02-11 00:55] wakes up +[1518-05-12 00:53] wakes up +[1518-09-05 23:57] Guard #3257 begins shift +[1518-04-05 23:56] Guard #1663 begins shift +[1518-03-29 23:48] Guard #2239 begins shift +[1518-05-05 23:57] Guard #3001 begins shift +[1518-05-18 00:19] falls asleep +[1518-02-19 00:00] Guard #1229 begins shift +[1518-02-20 00:20] falls asleep +[1518-04-26 00:42] wakes up +[1518-08-12 00:59] wakes up +[1518-08-04 00:52] wakes up +[1518-03-16 00:16] falls asleep +[1518-02-22 00:47] falls asleep +[1518-05-21 00:23] wakes up +[1518-06-14 00:31] falls asleep +[1518-05-02 00:04] Guard #3257 begins shift +[1518-04-07 23:52] Guard #691 begins shift +[1518-06-26 00:49] falls asleep +[1518-08-03 23:57] Guard #2239 begins shift +[1518-08-04 00:49] falls asleep +[1518-11-22 00:46] wakes up +[1518-07-06 00:54] wakes up +[1518-10-09 00:01] Guard #1663 begins shift +[1518-11-12 00:24] wakes up +[1518-04-27 00:03] falls asleep +[1518-02-14 00:31] falls asleep +[1518-04-30 00:24] falls asleep +[1518-03-23 00:04] wakes up +[1518-10-01 00:28] falls asleep +[1518-10-08 00:00] Guard #3323 begins shift +[1518-07-21 00:03] falls asleep +[1518-10-28 00:34] wakes up +[1518-09-29 00:05] falls asleep +[1518-03-03 00:58] wakes up +[1518-02-24 00:43] wakes up +[1518-10-30 00:38] wakes up +[1518-08-14 00:29] falls asleep +[1518-06-09 23:56] Guard #2239 begins shift +[1518-11-03 00:51] wakes up +[1518-03-24 00:39] wakes up +[1518-11-19 00:00] Guard #1601 begins shift +[1518-06-29 23:58] Guard #1601 begins shift +[1518-11-20 00:40] falls asleep +[1518-08-03 00:55] wakes up +[1518-07-28 00:44] wakes up +[1518-05-19 00:50] falls asleep +[1518-03-09 00:34] wakes up +[1518-04-08 00:48] wakes up +[1518-08-12 00:00] Guard #1307 begins shift +[1518-02-08 00:15] wakes up +[1518-04-04 00:47] wakes up +[1518-05-23 00:57] wakes up +[1518-05-29 00:58] wakes up +[1518-03-15 23:58] Guard #1229 begins shift +[1518-09-10 00:39] wakes up +[1518-02-05 00:27] wakes up +[1518-07-25 00:41] wakes up +[1518-11-10 00:32] falls asleep +[1518-02-27 00:49] wakes up +[1518-04-01 00:31] wakes up +[1518-09-14 00:24] falls asleep +[1518-04-27 00:57] wakes up +[1518-11-02 00:19] falls asleep +[1518-08-08 00:02] Guard #1051 begins shift +[1518-11-19 00:32] falls asleep +[1518-05-20 00:29] falls asleep +[1518-07-06 00:13] falls asleep +[1518-11-04 23:49] Guard #3251 begins shift +[1518-04-21 00:46] wakes up +[1518-03-20 00:30] falls asleep +[1518-09-01 23:58] Guard #3001 begins shift +[1518-05-16 00:50] wakes up +[1518-02-16 00:00] Guard #983 begins shift +[1518-03-02 00:03] Guard #2239 begins shift +[1518-10-22 00:38] wakes up +[1518-09-03 00:00] falls asleep +[1518-05-19 00:02] Guard #2239 begins shift +[1518-07-21 00:47] wakes up +[1518-04-03 23:57] Guard #1307 begins shift +[1518-04-22 00:09] falls asleep +[1518-09-11 00:56] falls asleep +[1518-05-04 00:31] wakes up +[1518-07-18 23:56] Guard #1051 begins shift +[1518-08-07 00:44] wakes up +[1518-09-03 00:28] wakes up +[1518-09-11 00:14] falls asleep +[1518-07-12 00:45] wakes up +[1518-08-27 00:44] wakes up +[1518-08-29 00:53] wakes up +[1518-07-27 00:57] falls asleep +[1518-03-15 00:14] falls asleep +[1518-09-05 00:01] falls asleep +[1518-03-19 00:48] wakes up +[1518-08-14 00:17] wakes up +[1518-09-14 00:41] wakes up +[1518-06-08 00:01] Guard #1229 begins shift +[1518-05-14 00:23] falls asleep +[1518-10-02 00:37] falls asleep +[1518-09-10 00:25] falls asleep +[1518-11-08 00:56] wakes up +[1518-03-12 00:35] falls asleep +[1518-05-13 00:02] falls asleep +[1518-06-18 00:52] wakes up +[1518-09-24 00:56] wakes up +[1518-05-04 00:36] falls asleep +[1518-08-06 23:57] Guard #349 begins shift +[1518-04-17 00:33] falls asleep +[1518-08-25 23:58] Guard #503 begins shift +[1518-04-10 23:51] Guard #3257 begins shift +[1518-04-16 00:58] wakes up +[1518-09-14 00:02] Guard #3251 begins shift +[1518-05-24 00:40] wakes up +[1518-09-28 00:33] falls asleep +[1518-08-20 00:04] Guard #1601 begins shift +[1518-03-29 00:59] wakes up +[1518-08-25 00:15] falls asleep +[1518-07-22 00:00] Guard #983 begins shift +[1518-11-13 00:37] falls asleep +[1518-04-01 00:54] wakes up +[1518-04-17 00:46] falls asleep +[1518-03-15 00:53] wakes up +[1518-02-07 00:50] wakes up +[1518-07-04 00:26] wakes up +[1518-04-14 23:57] Guard #503 begins shift +[1518-10-01 00:59] wakes up +[1518-08-27 00:49] falls asleep +[1518-03-18 00:56] falls asleep +[1518-11-05 00:50] wakes up +[1518-07-22 00:55] falls asleep +[1518-03-23 00:51] wakes up +[1518-10-14 00:25] falls asleep +[1518-09-17 00:57] falls asleep +[1518-08-22 00:02] Guard #983 begins shift +[1518-04-08 00:02] falls asleep +[1518-09-17 00:59] wakes up +[1518-03-11 00:42] falls asleep +[1518-08-30 00:55] falls asleep +[1518-02-26 00:41] falls asleep +[1518-08-26 00:55] falls asleep +[1518-10-15 00:11] falls asleep +[1518-08-02 23:59] Guard #349 begins shift +[1518-06-21 00:41] wakes up +[1518-04-21 00:18] falls asleep +[1518-10-25 00:52] wakes up +[1518-07-16 23:57] Guard #983 begins shift +[1518-02-11 23:59] Guard #3001 begins shift +[1518-08-01 23:56] Guard #983 begins shift +[1518-04-26 23:53] Guard #1307 begins shift +[1518-07-30 00:56] wakes up +[1518-07-28 00:02] Guard #3001 begins shift +[1518-03-20 00:01] Guard #3251 begins shift +[1518-04-25 00:02] Guard #727 begins shift +[1518-02-12 23:47] Guard #3257 begins shift +[1518-07-04 00:56] wakes up +[1518-09-16 00:59] wakes up +[1518-02-26 00:00] Guard #3001 begins shift +[1518-09-22 00:00] Guard #3463 begins shift +[1518-08-18 00:54] wakes up +[1518-11-08 23:52] Guard #1741 begins shift +[1518-03-03 00:06] falls asleep +[1518-09-27 00:53] falls asleep +[1518-10-24 00:37] falls asleep +[1518-07-17 00:57] falls asleep +[1518-05-12 23:53] Guard #743 begins shift +[1518-07-17 23:58] Guard #3463 begins shift +[1518-08-04 00:56] falls asleep +[1518-02-28 00:48] wakes up +[1518-11-06 00:04] Guard #691 begins shift +[1518-07-23 00:15] falls asleep +[1518-05-17 23:59] Guard #2239 begins shift +[1518-04-08 00:52] falls asleep +[1518-04-01 00:45] falls asleep +[1518-09-14 00:35] falls asleep +[1518-05-14 23:59] Guard #743 begins shift +[1518-08-09 00:33] falls asleep +[1518-10-16 00:28] falls asleep +[1518-05-17 00:21] falls asleep +[1518-10-28 00:21] wakes up +[1518-09-01 00:32] wakes up +[1518-02-17 00:00] falls asleep +[1518-03-18 00:53] wakes up +[1518-06-15 23:57] Guard #1129 begins shift +[1518-11-19 23:49] Guard #3323 begins shift +[1518-06-28 00:56] wakes up +[1518-05-27 00:02] Guard #1129 begins shift +[1518-05-20 00:01] Guard #1229 begins shift +[1518-04-17 00:01] Guard #503 begins shift +[1518-06-04 00:53] falls asleep +[1518-05-06 00:26] wakes up +[1518-02-26 00:14] falls asleep +[1518-06-27 00:27] falls asleep +[1518-05-21 23:57] Guard #503 begins shift +[1518-10-13 00:54] wakes up +[1518-08-22 00:19] falls asleep +[1518-02-18 00:46] wakes up +[1518-02-16 00:33] falls asleep +[1518-11-23 00:20] falls asleep +[1518-10-09 00:35] falls asleep +[1518-02-12 00:12] falls asleep +[1518-10-29 00:40] wakes up +[1518-03-26 00:05] falls asleep +[1518-02-25 00:43] wakes up +[1518-09-14 00:07] falls asleep +[1518-05-21 00:29] falls asleep +[1518-02-19 00:50] wakes up +[1518-06-05 23:59] Guard #3251 begins shift +[1518-07-17 00:59] wakes up +[1518-06-09 00:36] wakes up +[1518-02-06 00:57] wakes up +[1518-08-24 00:58] wakes up +[1518-02-08 00:04] Guard #3463 begins shift +[1518-06-10 00:46] falls asleep +[1518-07-31 23:58] Guard #691 begins shift +[1518-04-07 00:47] wakes up +[1518-06-28 00:08] falls asleep +[1518-04-10 00:00] Guard #1663 begins shift +[1518-09-10 00:42] falls asleep +[1518-09-27 00:03] Guard #1307 begins shift +[1518-06-04 00:03] Guard #503 begins shift +[1518-09-12 00:00] Guard #2441 begins shift +[1518-05-25 00:52] falls asleep +[1518-06-21 00:03] Guard #1129 begins shift +[1518-07-12 00:33] falls asleep +[1518-07-01 00:40] falls asleep +[1518-05-27 00:18] falls asleep +[1518-06-30 23:50] Guard #1229 begins shift +[1518-04-10 00:42] falls asleep +[1518-09-07 23:50] Guard #3257 begins shift +[1518-04-14 00:59] wakes up +[1518-11-22 00:00] Guard #2441 begins shift +[1518-06-02 23:56] Guard #827 begins shift +[1518-06-17 00:58] wakes up +[1518-09-23 00:45] wakes up +[1518-07-14 00:25] falls asleep +[1518-07-08 00:35] falls asleep +[1518-04-23 00:54] falls asleep +[1518-07-31 00:01] Guard #3251 begins shift +[1518-08-14 00:15] falls asleep +[1518-03-18 00:58] wakes up +[1518-09-25 00:04] Guard #1307 begins shift +[1518-04-30 00:54] wakes up +[1518-11-08 00:36] falls asleep +[1518-11-23 00:49] wakes up +[1518-08-13 00:59] wakes up +[1518-07-22 00:08] falls asleep +[1518-04-07 00:15] wakes up +[1518-04-15 00:22] falls asleep +[1518-11-22 00:54] wakes up +[1518-07-03 23:56] Guard #503 begins shift +[1518-08-01 00:17] falls asleep +[1518-04-14 00:27] falls asleep +[1518-09-24 00:28] wakes up +[1518-11-16 00:57] wakes up +[1518-04-26 00:45] falls asleep +[1518-10-31 00:04] Guard #3463 begins shift +[1518-03-07 00:36] wakes up +[1518-08-12 00:42] falls asleep +[1518-08-02 00:29] falls asleep +[1518-08-14 00:00] Guard #1741 begins shift +[1518-07-29 00:01] Guard #2441 begins shift +[1518-06-18 00:37] wakes up +[1518-06-01 00:01] falls asleep +[1518-10-28 00:30] falls asleep +[1518-07-17 00:35] falls asleep +[1518-09-21 00:39] falls asleep +[1518-02-21 23:57] Guard #691 begins shift +[1518-04-24 00:59] wakes up +[1518-11-06 00:49] wakes up +[1518-10-19 00:55] wakes up +[1518-07-04 00:21] falls asleep +[1518-04-29 00:02] Guard #3251 begins shift +[1518-08-15 00:57] wakes up +[1518-07-03 00:04] Guard #3257 begins shift +[1518-02-08 00:09] falls asleep +[1518-02-14 00:00] Guard #743 begins shift +[1518-05-07 00:17] falls asleep +[1518-05-30 00:21] wakes up +[1518-03-04 00:04] falls asleep +[1518-05-18 00:31] wakes up +[1518-09-13 00:25] falls asleep +[1518-02-15 00:43] wakes up +[1518-10-14 00:08] falls asleep +[1518-10-28 00:02] Guard #3323 begins shift +[1518-06-02 00:53] wakes up +[1518-07-07 00:45] wakes up +[1518-02-13 00:37] wakes up +[1518-06-23 00:30] wakes up +[1518-03-27 00:48] wakes up +[1518-03-25 23:47] Guard #503 begins shift +[1518-08-08 00:59] wakes up +[1518-06-25 00:02] Guard #3463 begins shift +[1518-09-30 00:51] wakes up +[1518-11-03 00:17] wakes up +[1518-03-27 23:59] Guard #1307 begins shift +[1518-10-22 00:49] wakes up +[1518-07-29 00:47] wakes up +[1518-10-25 00:45] falls asleep +[1518-05-30 00:38] wakes up +[1518-06-01 00:39] wakes up +[1518-03-18 00:01] Guard #1229 begins shift +[1518-07-27 00:52] wakes up +[1518-10-02 00:49] wakes up +[1518-05-20 00:53] wakes up +[1518-05-29 00:00] Guard #1307 begins shift +[1518-10-09 00:57] wakes up +[1518-08-13 00:04] Guard #3257 begins shift +[1518-04-09 00:02] Guard #2239 begins shift +[1518-02-15 00:29] falls asleep +[1518-06-06 23:59] Guard #1601 begins shift +[1518-05-29 00:43] falls asleep +[1518-06-25 00:25] wakes up +[1518-11-04 00:08] falls asleep +[1518-06-07 00:07] falls asleep +[1518-11-20 23:58] Guard #1229 begins shift +[1518-04-05 00:43] wakes up +[1518-09-25 00:50] wakes up +[1518-10-11 00:45] wakes up +[1518-10-03 00:46] wakes up +[1518-05-21 00:10] falls asleep +[1518-10-11 00:20] falls asleep +[1518-08-11 00:43] wakes up +[1518-02-23 00:58] wakes up +[1518-05-30 00:44] wakes up +[1518-04-18 23:59] Guard #1051 begins shift +[1518-04-27 00:14] wakes up +[1518-08-28 00:01] Guard #3001 begins shift +[1518-06-09 00:06] falls asleep +[1518-04-30 00:35] wakes up +[1518-04-16 00:07] falls asleep +[1518-11-01 00:55] wakes up +[1518-07-04 00:44] falls asleep +[1518-09-24 00:42] falls asleep +[1518-05-31 00:53] wakes up +[1518-10-27 00:57] wakes up +[1518-04-29 00:32] wakes up +[1518-06-17 00:03] Guard #743 begins shift +[1518-08-16 23:59] Guard #3257 begins shift +[1518-08-04 00:58] wakes up +[1518-11-13 23:57] Guard #743 begins shift +[1518-06-29 00:00] falls asleep +[1518-03-20 00:25] wakes up +[1518-06-12 00:58] wakes up +[1518-10-09 00:47] falls asleep +[1518-09-25 00:31] falls asleep +[1518-09-04 23:50] Guard #503 begins shift +[1518-07-23 00:56] wakes up +[1518-04-04 23:59] Guard #727 begins shift +[1518-10-19 00:29] falls asleep +[1518-11-15 00:54] falls asleep +[1518-07-29 00:38] falls asleep +[1518-04-24 00:50] falls asleep +[1518-05-10 00:15] falls asleep +[1518-05-27 00:41] wakes up +[1518-11-06 00:22] falls asleep +[1518-03-28 00:58] wakes up +[1518-08-07 00:39] falls asleep +[1518-05-13 00:49] wakes up +[1518-10-03 23:58] Guard #691 begins shift +[1518-08-11 00:02] falls asleep +[1518-04-02 00:33] falls asleep +[1518-11-15 00:11] falls asleep +[1518-06-25 00:43] wakes up +[1518-08-10 00:58] wakes up +[1518-03-08 00:01] Guard #3257 begins shift +[1518-04-04 00:56] wakes up +[1518-06-18 00:46] falls asleep +[1518-11-11 23:57] Guard #691 begins shift +[1518-05-24 00:58] wakes up +[1518-08-13 00:20] falls asleep +[1518-11-14 00:26] wakes up +[1518-05-12 00:44] falls asleep +[1518-03-12 00:57] falls asleep +[1518-05-30 23:52] Guard #983 begins shift +[1518-02-11 00:00] Guard #743 begins shift +[1518-08-19 00:26] wakes up +[1518-09-11 00:51] wakes up +[1518-06-21 23:57] Guard #2441 begins shift +[1518-02-05 23:58] Guard #727 begins shift +[1518-09-03 00:35] falls asleep +[1518-04-27 00:44] falls asleep +[1518-08-17 00:23] wakes up +[1518-04-24 00:45] wakes up +[1518-08-19 00:37] falls asleep +[1518-06-13 23:56] Guard #1601 begins shift +[1518-09-15 00:59] wakes up +[1518-05-21 00:01] Guard #3323 begins shift +[1518-08-05 00:50] wakes up +[1518-07-17 00:50] wakes up +[1518-03-01 00:37] wakes up +[1518-03-20 00:23] falls asleep +[1518-08-23 00:26] wakes up +[1518-10-17 00:49] wakes up +[1518-02-18 00:12] falls asleep +[1518-07-09 00:33] falls asleep +[1518-06-11 00:07] falls asleep +[1518-10-17 00:24] falls asleep +[1518-03-19 00:45] falls asleep +[1518-08-16 00:42] wakes up +[1518-10-19 00:26] wakes up +[1518-06-24 00:29] wakes up +[1518-10-26 00:11] falls asleep +[1518-05-09 00:46] wakes up +[1518-08-28 23:57] Guard #2441 begins shift +[1518-10-11 00:03] Guard #3323 begins shift +[1518-10-07 00:04] Guard #3251 begins shift +[1518-09-06 00:17] falls asleep +[1518-08-21 00:28] wakes up +[1518-11-16 00:44] falls asleep +[1518-07-02 00:46] wakes up +[1518-09-28 00:48] wakes up +[1518-08-14 23:56] Guard #503 begins shift +[1518-07-23 23:54] Guard #691 begins shift +[1518-10-26 00:59] wakes up +[1518-04-12 00:56] wakes up +[1518-10-25 00:37] wakes up +[1518-10-02 00:00] Guard #983 begins shift +[1518-11-04 00:03] Guard #3323 begins shift +[1518-05-09 00:01] Guard #743 begins shift +[1518-10-23 00:50] falls asleep +[1518-06-14 23:59] Guard #727 begins shift +[1518-07-01 00:00] falls asleep +[1518-07-20 00:49] wakes up +[1518-04-17 00:59] wakes up +[1518-10-20 00:00] Guard #1129 begins shift +[1518-11-02 00:06] wakes up +[1518-06-19 00:56] wakes up +[1518-09-13 00:27] wakes up +[1518-10-18 23:47] Guard #983 begins shift +[1518-08-22 23:58] Guard #1229 begins shift +[1518-05-01 00:22] wakes up +[1518-09-30 23:57] Guard #3323 begins shift +[1518-08-10 00:52] wakes up +[1518-08-12 00:13] falls asleep +[1518-10-10 00:42] wakes up +[1518-11-17 00:04] falls asleep +[1518-03-06 00:04] Guard #1129 begins shift +[1518-08-31 00:53] wakes up +[1518-03-28 23:59] Guard #3257 begins shift +[1518-03-10 00:52] wakes up +[1518-08-06 00:09] falls asleep +[1518-03-12 00:05] falls asleep +[1518-10-21 00:04] Guard #743 begins shift +[1518-07-10 00:48] wakes up +[1518-03-16 00:53] wakes up +[1518-03-27 00:04] Guard #1741 begins shift +[1518-10-05 23:57] Guard #2441 begins shift +[1518-04-03 00:56] falls asleep +[1518-08-30 00:58] wakes up +[1518-11-02 00:30] wakes up +[1518-07-13 23:50] Guard #349 begins shift +[1518-08-26 00:59] wakes up +[1518-07-27 00:59] wakes up +[1518-05-05 00:59] wakes up +[1518-05-07 00:00] Guard #3323 begins shift +[1518-04-30 00:01] Guard #349 begins shift +[1518-07-04 00:29] falls asleep +[1518-06-05 00:27] falls asleep +[1518-02-09 00:01] falls asleep +[1518-05-01 00:50] wakes up +[1518-02-22 00:23] falls asleep +[1518-07-24 00:02] falls asleep +[1518-09-09 00:19] wakes up +[1518-06-19 00:36] falls asleep +[1518-02-09 00:35] wakes up +[1518-06-15 00:56] wakes up +[1518-11-21 00:53] wakes up +[1518-06-19 00:55] falls asleep +[1518-04-07 00:21] falls asleep +[1518-05-11 00:30] falls asleep +[1518-03-05 00:31] falls asleep +[1518-04-20 00:06] falls asleep +[1518-08-22 00:52] wakes up +[1518-03-06 00:07] falls asleep +[1518-09-19 00:38] wakes up +[1518-08-15 00:07] falls asleep +[1518-09-02 00:58] wakes up +[1518-05-10 00:21] wakes up +[1518-07-04 23:59] Guard #983 begins shift +[1518-06-19 00:50] falls asleep +[1518-03-03 23:53] Guard #349 begins shift +[1518-03-04 23:59] Guard #3323 begins shift +[1518-09-23 00:02] Guard #1307 begins shift +[1518-09-26 00:38] wakes up +[1518-02-08 00:26] falls asleep +[1518-07-05 00:57] wakes up +[1518-11-16 00:33] wakes up +[1518-10-25 00:00] Guard #1129 begins shift +[1518-05-09 00:22] falls asleep +[1518-11-16 00:00] Guard #1129 begins shift +[1518-03-01 00:11] falls asleep +[1518-07-29 00:12] wakes up +[1518-07-01 00:54] wakes up +[1518-03-13 00:52] wakes up +[1518-04-14 00:00] Guard #1129 begins shift +[1518-09-10 00:00] Guard #2441 begins shift +[1518-09-13 00:31] falls asleep +[1518-11-03 00:03] falls asleep +[1518-08-28 00:45] wakes up +[1518-10-03 00:31] falls asleep +[1518-06-17 00:39] falls asleep +[1518-04-20 00:41] wakes up +[1518-03-28 00:15] falls asleep +[1518-05-30 00:08] falls asleep +[1518-04-30 23:57] Guard #1229 begins shift +[1518-11-08 00:00] Guard #691 begins shift +[1518-10-14 00:46] wakes up +[1518-10-31 00:54] wakes up +[1518-06-20 00:58] wakes up +[1518-02-24 00:56] wakes up +[1518-03-10 00:40] falls asleep +[1518-08-22 00:22] wakes up +[1518-04-12 00:55] falls asleep +[1518-11-15 00:50] wakes up +[1518-05-24 00:02] falls asleep +[1518-04-02 00:34] wakes up +[1518-03-03 00:04] Guard #3251 begins shift +[1518-11-17 00:41] falls asleep +[1518-07-08 23:56] Guard #743 begins shift +[1518-02-20 00:00] Guard #3463 begins shift +[1518-07-11 00:56] wakes up +[1518-03-09 00:46] falls asleep +[1518-09-03 00:42] wakes up +[1518-05-30 00:41] falls asleep +[1518-02-22 00:59] wakes up +[1518-06-06 00:56] wakes up +[1518-10-03 00:03] Guard #1741 begins shift +[1518-09-28 23:52] Guard #727 begins shift +[1518-10-28 00:42] falls asleep +[1518-09-01 00:58] wakes up +[1518-11-07 00:12] falls asleep +[1518-11-13 00:54] falls asleep +[1518-07-03 00:07] falls asleep +[1518-02-08 00:51] wakes up +[1518-04-11 00:42] wakes up +[1518-07-01 23:56] Guard #983 begins shift +[1518-04-06 00:14] falls asleep +[1518-11-17 00:52] wakes up +[1518-06-06 00:47] falls asleep +[1518-09-25 00:11] falls asleep +[1518-06-18 00:15] falls asleep +[1518-07-15 00:02] Guard #2441 begins shift +[1518-09-11 00:28] wakes up +[1518-05-07 23:52] Guard #2239 begins shift +[1518-07-08 00:59] wakes up +[1518-09-23 00:33] falls asleep +[1518-05-28 00:00] Guard #743 begins shift +[1518-10-03 00:34] wakes up +[1518-03-11 00:56] wakes up +[1518-10-04 23:56] Guard #1129 begins shift +[1518-06-21 00:08] falls asleep +[1518-04-08 00:55] wakes up +[1518-06-27 00:02] Guard #3001 begins shift +[1518-05-26 00:00] Guard #1741 begins shift +[1518-02-12 00:17] wakes up +[1518-02-11 00:34] falls asleep +[1518-03-27 00:55] falls asleep +[1518-11-02 00:57] wakes up +[1518-10-21 00:48] falls asleep +[1518-10-12 00:19] wakes up +[1518-09-28 00:38] wakes up +[1518-03-23 00:03] falls asleep +[1518-03-17 00:54] wakes up +[1518-04-22 00:27] wakes up +[1518-02-10 00:06] falls asleep +[1518-08-10 00:50] falls asleep +[1518-06-01 00:22] falls asleep +[1518-05-04 00:08] falls asleep +[1518-04-26 00:56] wakes up +[1518-05-04 23:59] Guard #349 begins shift +[1518-03-06 23:56] Guard #743 begins shift +[1518-09-14 00:15] wakes up +[1518-03-19 00:55] wakes up +[1518-09-03 23:47] Guard #3257 begins shift +[1518-07-19 00:55] wakes up +[1518-07-07 00:00] Guard #1741 begins shift +[1518-05-03 00:48] wakes up +[1518-04-20 00:00] Guard #1229 begins shift +[1518-08-29 00:26] falls asleep +[1518-06-05 00:29] wakes up +[1518-05-16 00:31] falls asleep +[1518-08-02 00:12] falls asleep +[1518-07-19 23:56] Guard #3323 begins shift +[1518-11-12 23:56] Guard #1741 begins shift +[1518-07-20 00:27] falls asleep +[1518-10-23 00:46] wakes up +[1518-09-13 00:42] wakes up +[1518-03-28 00:54] falls asleep +[1518-03-01 00:03] Guard #3001 begins shift +[1518-06-26 00:55] wakes up +[1518-08-20 00:29] wakes up +[1518-04-10 00:13] falls asleep +[1518-09-08 00:58] wakes up +[1518-05-23 00:00] Guard #3251 begins shift +[1518-04-19 00:47] falls asleep +[1518-02-27 00:03] Guard #3323 begins shift +[1518-06-02 00:48] falls asleep +[1518-05-23 00:28] falls asleep +[1518-05-25 00:42] wakes up +[1518-05-14 00:46] falls asleep +[1518-06-13 00:17] falls asleep +[1518-05-07 00:44] wakes up +[1518-07-27 00:11] falls asleep +[1518-07-13 00:50] wakes up +[1518-10-31 00:12] falls asleep +[1518-03-27 00:58] wakes up +[1518-07-13 00:42] falls asleep +[1518-10-18 00:00] Guard #743 begins shift +[1518-04-28 00:49] wakes up +[1518-03-15 00:40] falls asleep +[1518-02-28 00:21] falls asleep +[1518-06-14 00:32] wakes up +[1518-03-29 00:46] wakes up +[1518-02-13 00:04] falls asleep +[1518-03-25 00:15] falls asleep +[1518-06-17 23:58] Guard #1741 begins shift +[1518-06-08 00:16] falls asleep +[1518-02-16 00:38] wakes up +[1518-03-31 00:55] wakes up +[1518-07-24 00:51] falls asleep +[1518-04-27 00:56] falls asleep +[1518-11-21 00:51] falls asleep +[1518-03-25 00:32] wakes up +[1518-03-14 00:41] falls asleep +[1518-03-31 00:02] Guard #983 begins shift +[1518-07-24 00:03] wakes up +[1518-10-06 00:45] wakes up +[1518-02-12 00:37] wakes up +[1518-06-02 00:25] falls asleep +[1518-08-10 00:01] falls asleep +[1518-04-23 00:00] Guard #3001 begins shift +[1518-09-18 00:00] Guard #1163 begins shift +[1518-02-17 00:28] wakes up +[1518-05-25 00:04] Guard #983 begins shift +[1518-11-05 00:04] falls asleep +[1518-08-28 00:34] falls asleep +[1518-05-21 00:36] wakes up +[1518-08-01 00:58] wakes up +[1518-05-02 00:27] wakes up +[1518-11-21 00:57] falls asleep +[1518-10-17 00:00] Guard #349 begins shift +[1518-02-10 00:54] wakes up +[1518-08-26 00:08] falls asleep +[1518-02-25 00:00] Guard #1229 begins shift +[1518-02-23 00:04] Guard #3001 begins shift +[1518-08-27 00:55] wakes up +[1518-04-01 00:01] Guard #3251 begins shift +[1518-09-19 00:26] wakes up +[1518-08-05 00:01] falls asleep +[1518-06-24 00:01] Guard #691 begins shift +[1518-09-15 00:33] falls asleep +[1518-09-01 00:19] falls asleep +[1518-11-02 00:42] falls asleep +[1518-02-20 00:54] wakes up +[1518-10-14 00:19] wakes up +[1518-08-01 00:50] falls asleep +[1518-09-01 00:44] falls asleep +[1518-10-09 00:37] wakes up +[1518-11-07 00:04] Guard #1129 begins shift +[1518-08-20 00:22] falls asleep +[1518-08-04 23:46] Guard #3323 begins shift +[1518-02-26 00:37] wakes up +[1518-07-24 00:58] wakes up +[1518-07-12 00:06] falls asleep +[1518-08-23 00:22] falls asleep +[1518-05-13 23:56] Guard #1307 begins shift +[1518-10-29 00:20] falls asleep +[1518-08-10 00:41] wakes up +[1518-11-20 00:26] wakes up +[1518-05-03 00:37] falls asleep +[1518-10-03 00:44] falls asleep +[1518-09-29 00:12] wakes up +[1518-10-22 00:02] Guard #349 begins shift +[1518-04-10 00:26] wakes up +[1518-10-23 00:55] wakes up +[1518-03-22 23:53] Guard #3251 begins shift +[1518-06-11 23:58] Guard #3323 begins shift +[1518-05-14 00:53] wakes up +[1518-11-20 00:04] falls asleep +[1518-06-24 00:21] falls asleep +[1518-11-08 00:46] falls asleep +[1518-06-05 00:00] Guard #2239 begins shift +[1518-11-01 00:44] falls asleep +[1518-11-09 00:21] wakes up +[1518-02-25 00:27] falls asleep +[1518-03-24 23:57] Guard #3001 begins shift +[1518-08-05 00:09] wakes up +[1518-04-12 00:42] falls asleep +[1518-03-13 00:03] Guard #1051 begins shift +[1518-03-08 00:35] wakes up +[1518-06-10 00:34] falls asleep +[1518-03-21 00:23] falls asleep +[1518-03-23 23:56] Guard #1307 begins shift +[1518-06-13 00:01] Guard #503 begins shift +[1518-08-14 00:54] wakes up +[1518-08-24 00:51] falls asleep +[1518-05-15 00:12] falls asleep +[1518-09-21 00:42] wakes up +[1518-07-28 00:11] falls asleep +[1518-05-31 00:04] falls asleep +[1518-02-16 00:57] wakes up +[1518-08-05 00:46] falls asleep +[1518-04-17 23:56] Guard #727 begins shift +[1518-03-26 00:55] wakes up +[1518-10-26 23:54] Guard #3001 begins shift +[1518-10-28 00:20] falls asleep +[1518-11-16 23:50] Guard #2441 begins shift +[1518-10-07 00:57] wakes up +[1518-11-15 00:59] wakes up +[1518-09-08 00:00] falls asleep +[1518-02-24 00:26] falls asleep +[1518-03-11 23:52] Guard #691 begins shift +[1518-05-24 00:43] falls asleep +[1518-10-30 00:11] falls asleep +[1518-09-19 00:33] falls asleep +[1518-04-10 00:56] wakes up +[1518-10-25 00:34] falls asleep +[1518-09-20 00:24] falls asleep +[1518-07-11 00:33] falls asleep +[1518-07-11 00:27] wakes up +[1518-09-22 00:26] wakes up +[1518-11-03 00:32] falls asleep +[1518-02-08 23:48] Guard #1601 begins shift +[1518-09-12 23:58] Guard #1601 begins shift +[1518-05-26 00:21] falls asleep +[1518-07-05 00:36] falls asleep +[1518-03-21 00:03] Guard #743 begins shift +[1518-11-22 00:52] falls asleep +[1518-06-19 00:51] wakes up +[1518-02-07 00:22] falls asleep +[1518-09-02 00:15] falls asleep +[1518-08-02 00:51] wakes up +[1518-08-27 00:18] falls asleep +[1518-11-13 00:59] wakes up +[1518-11-01 23:50] Guard #691 begins shift +[1518-05-23 23:50] Guard #2441 begins shift +[1518-03-09 00:57] wakes up +[1518-09-23 23:57] Guard #1741 begins shift +[1518-08-25 00:53] wakes up +[1518-04-07 00:11] falls asleep +[1518-07-17 00:40] wakes up +[1518-09-25 00:20] wakes up +[1518-09-04 00:04] falls asleep +[1518-03-14 00:43] wakes up +[1518-10-14 23:57] Guard #2441 begins shift +[1518-04-03 00:39] wakes up +[1518-10-04 00:45] wakes up +[1518-06-09 00:00] Guard #1601 begins shift +[1518-10-06 00:19] falls asleep +[1518-06-18 23:58] Guard #3251 begins shift +[1518-04-12 00:01] Guard #3257 begins shift +[1518-11-22 00:13] wakes up +[1518-09-05 00:51] wakes up +[1518-02-22 00:34] wakes up +[1518-11-12 00:19] falls asleep +[1518-09-24 00:13] falls asleep +[1518-10-15 23:59] Guard #1051 begins shift +[1518-03-02 00:45] falls asleep +[1518-03-28 00:37] wakes up +[1518-06-23 00:52] wakes up +[1518-09-16 00:08] falls asleep +[1518-04-25 00:26] wakes up +[1518-03-09 23:54] Guard #691 begins shift +[1518-11-14 00:18] falls asleep +[1518-11-22 23:58] Guard #3463 begins shift +[1518-11-14 00:44] wakes up +[1518-05-30 00:33] falls asleep +[1518-09-21 00:03] Guard #691 begins shift +[1518-04-27 00:48] wakes up +[1518-10-01 00:57] falls asleep +[1518-09-30 00:00] Guard #2239 begins shift +[1518-04-27 23:58] Guard #1601 begins shift +[1518-07-22 00:40] wakes up +[1518-06-07 00:54] wakes up +[1518-05-22 00:28] wakes up +[1518-05-02 00:26] falls asleep +[1518-05-02 23:58] Guard #2441 begins shift +[1518-08-12 00:23] wakes up +[1518-06-26 00:41] falls asleep +[1518-07-26 00:51] wakes up +[1518-02-16 23:50] Guard #2239 begins shift +[1518-10-28 23:58] Guard #691 begins shift +[1518-08-09 00:49] wakes up +[1518-04-24 00:44] falls asleep +[1518-03-24 00:15] falls asleep +[1518-03-12 00:08] wakes up +[1518-05-11 23:58] Guard #1051 begins shift +[1518-03-19 00:52] falls asleep +[1518-02-19 00:21] falls asleep +[1518-05-04 00:43] wakes up +[1518-06-10 00:47] wakes up +[1518-04-13 00:02] falls asleep +[1518-04-06 23:57] Guard #1229 begins shift +[1518-07-10 00:40] falls asleep +[1518-07-30 00:29] falls asleep +[1518-09-12 00:49] wakes up +[1518-07-29 00:09] falls asleep +[1518-10-22 00:34] falls asleep +[1518-05-06 00:25] falls asleep +[1518-06-23 00:24] falls asleep +[1518-06-10 23:58] Guard #3323 begins shift +[1518-09-28 00:00] Guard #349 begins shift +[1518-11-11 00:35] falls asleep +[1518-08-19 00:03] Guard #1601 begins shift +[1518-11-17 00:21] wakes up +[1518-05-25 00:55] wakes up +[1518-05-28 00:19] falls asleep +[1518-07-26 00:43] falls asleep +[1518-11-16 00:31] falls asleep +[1518-06-23 00:33] falls asleep +[1518-06-08 00:29] wakes up +[1518-07-23 00:00] Guard #743 begins shift +[1518-09-26 00:20] falls asleep +[1518-07-24 23:59] Guard #691 begins shift +[1518-05-26 00:56] wakes up +[1518-11-18 00:44] falls asleep +[1518-08-21 00:00] falls asleep +[1518-06-25 23:57] Guard #1663 begins shift +[1518-04-29 00:14] wakes up +[1518-11-05 00:29] falls asleep +[1518-11-05 00:24] wakes up +[1518-02-21 00:54] wakes up +[1518-02-27 00:09] falls asleep +[1518-06-06 00:55] falls asleep +[1518-08-30 00:03] Guard #1307 begins shift diff --git a/2018/src/bin/day4.rs b/2018/src/bin/day4.rs new file mode 100644 index 0000000..f342527 --- /dev/null +++ b/2018/src/bin/day4.rs @@ -0,0 +1,70 @@ +#[macro_use] +extern crate lazy_static; +extern crate chrono; +extern crate regex; + +use chrono::{DateTime, TimeZone, Utc}; +use regex::Regex; +use std::fs; + +#[derive(Debug)] +enum Action { + WakeUp, + BeginShift(u32), + FallAsleep, +} + +#[derive(Debug)] +struct Entry { + time: DateTime, + action: Action, +} + +fn main() { + let input = fs::read_to_string("input/2018/day4.txt").expect("input"); + + let entries = { + let mut entries = input + .lines() + .map(parse_entry) + .collect::>>() + .expect("error parsing input"); + entries.sort_unstable_by(|a, b| a.time.cmp(&b.time)); + entries + }; + + part1(&entries); +} + +fn part1(entries: &[Entry]) { + for entry in entries { + println!("{:?}", entry); + } +} + +fn parse_entry(line: &str) -> Option { + lazy_static! { + static ref RE: Regex = Regex::new(r#"\A\[([^\]]+)\] (.+)\z"#).unwrap(); + static ref SHIFT: Regex = Regex::new(r#"\AGuard #(\d+) begins shift\z"#).unwrap(); + } + let captures = RE.captures(line)?; + let time = Utc.datetime_from_str(&captures[1], "%Y-%m-%d %H:%M").ok()?; + + match &captures[2] { + "wakes up" => Some(Entry::new(time, Action::WakeUp)), + "falls asleep" => Some(Entry::new(time, Action::FallAsleep)), + other => { + let captures = SHIFT.captures(other)?; + Some(Entry::new( + time, + Action::BeginShift(captures[1].parse().ok()?), + )) + } + } +} + +impl Entry { + fn new(time: DateTime, action: Action) -> Self { + Self { time, action } + } +}