Just to shorten this monster a bit...

...