import std.stdio;
import std.ascii;
import std.algorithm;
import std.array;
import std.typecons;
import std.string;
void main()
{
string[] lines = [
"key1: valueA",
"key2: valueB",
"key3: valueC", "\tvalueD", " valueE",
"key4: valueF",
];
auto aa = lines
.fold!((a, b) => b.startsWith!isWhite ? a[0..$-1] ~ (a[$-1] ~ b) : a ~ b)(string[].init)
.map!(a => a.findSplit(`:`))
.map!(a => tuple(a[0], a[2]))
.assocArray;
aa.writeln;
}
aW1wb3J0IHN0ZC5zdGRpbzsKaW1wb3J0IHN0ZC5hc2NpaTsKaW1wb3J0IHN0ZC5hbGdvcml0aG07CmltcG9ydCBzdGQuYXJyYXk7CmltcG9ydCBzdGQudHlwZWNvbnM7CmltcG9ydCBzdGQuc3RyaW5nOwogCnZvaWQgbWFpbigpCnsKICAgIHN0cmluZ1tdIGxpbmVzID0gWwogICAgICAgICJrZXkxOiB2YWx1ZUEiLCAKICAgICAgICAia2V5MjogdmFsdWVCIiwgCiAgICAgICAgImtleTM6IHZhbHVlQyIsICJcdHZhbHVlRCIsICIgICB2YWx1ZUUiLAogICAgICAgICJrZXk0OiB2YWx1ZUYiLAogICAgXTsKIAogICAgYXV0byBhYSA9IGxpbmVzCiAgICAJCQkJLmZvbGQhKChhLCBiKSA9PiBiLnN0YXJ0c1dpdGghaXNXaGl0ZSA/IGFbMC4uJC0xXSB+IChhWyQtMV0gfiBiKSA6IGEgfiBiKShzdHJpbmdbXS5pbml0KQoJCQkJCS5tYXAhKGEgPT4gYS5maW5kU3BsaXQoYDpgKSkKCQkJCQkubWFwIShhID0+IHR1cGxlKGFbMF0sIGFbMl0pKQoJCQkJCS5hc3NvY0FycmF5OwoJYWEud3JpdGVsbjsKfQ==