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