## #### ###### # # # ######### # # ###### # # # ########## ###########
# # # # # # # # # # # # # #
# # # # # # # # # # # # # ######
###### # #### # # # # # # #### # # # ###### #
# # # # # # # # # # # # # #
# # #### ###### # # ######### # # ###### # # # ########