Whew!  This one took a while!

 

Enjoy!