[Question]
  [
I don't like typing, so I draw my mazes in a very simple format:
```
# #####
#     #
# ### #
# # # #
#   # #
##### #
```
Isn't it a-*maze*-ing? Of course, I think all mazes should look 3d, similar but not he same as [this challenge](https://codegolf.stackexchange.com/questions/36299/print-ascii-voxels), for maximum a-*maze*-ingness, so I (grudgingly) manually updated the maze to look like this:
```
+-----+     +-----------------------------+
|\     \    |\                             \
+ \     \   + \                             \
 \ \     \   \ +-----------------------+     \
  \ \     \   \|                       |\     \
   \ \     \   +-----------------------+ \     \
    \ \     \     +-----------------+   \ \     \
     \ \     \    |\                 \   \ \     \
      \ \     \   + \                 \   \ \     \
       \ \     \   \ \     +-----+     \   \ \     \
        \ \     \   \ \     \    |\     \   \ \     \
         \ \     \   \ \     \---+ \     \   \ \     \
          \ \     \   \ +-----+   \ \     \   \ \     \
           \ \     \   \|     |    \ \     \   \ \     \
            \ \     \   +-----+     \ \     \   \ \     \
             \ \     +-----------------+     \   \ \     \
              \ \                             \   \ \     \
               \ \                             \   \ \     \
                \ +-----------------------------+   \ +-----+
                 \|                             |    \|     |
                  +-----------------------------+     +-----+
```
Unfortunately, it's difficult to work with mazes in that format, and after all that manual typing, I don't want to just retype the original, so I need you to write a program to do the reversal for me.
## Rules
* Input will be a multiline string or character matrix consisting only of `" "`, `"|"`, `"\"`, `"+"`, `"-"`, and newlines.
* Output consists of `" "` and `"#"`, in the pattern described by the maze.
* Due to my amazing maze designing skills, you can assume nothing about the structure of the maze, other than that is has a valid deconstruction.
* In the 3d-ification, (the process you must now undo,) each `#` was converted to this 3x4x7 character block:
```
+-----+
|\     \
+ \     \
 \ +-----+
  \|     |
   +-----+
```
* Adjacent blocks were joined together, like this:
```
+-----+-----+
|\     \     \
+ \     \     \
 \ +-----+-----+
  \|\     \     \
   + \     \     \
    \ +-----+-----+
     \|     |     |
      +-----+-----+
```
but without joining lines, so it actually looks like this:
```
+-----------+
|\           \
+ \           \
 \ \           \
  \ \           \
   \ \           \
    \ +-----------+
     \|           |
      +-----------+
```
* Concave spaces sometimes block parts of other walls.
```
+-----------+
|\           \
+ \           \
 \ \     +-----+
  \ \     \    |
   \ \     \---+
    \ +-----+
     \|     |
      +-----+
```
* Trailing whitespace in the input or output is acceptable. (You must specify if your answer *requires* trailing whitespace in the input.)
* Leading whitespace must correspond to empty spaces in the input.
* I still don't like typing, so shortest code wins
### Test cases:
```
Input:
+-----+     +-----------------------------+
|\     \    |\                             \
+ \     \   + \                             \
 \ \     \   \ +-----------------------+     \
  \ \     \   \|                       |\     \
   \ \     \   +-----------------------+ \     \
    \ \     \     +-----------------+   \ \     \
     \ \     \    |\                 \   \ \     \
      \ \     \   + \                 \   \ \     \
       \ \     \   \ \     +-----+     \   \ \     \
        \ \     \   \ \     \    |\     \   \ \     \
         \ \     \   \ \     \---+ \     \   \ \     \
          \ \     \   \ +-----+   \ \     \   \ \     \
           \ \     \   \|     |    \ \     \   \ \     \
            \ \     \   +-----+     \ \     \   \ \     \
             \ \     +-----------------+     \   \ \     \
              \ \                             \   \ \     \
               \ \                             \   \ \     \
                \ +-----------------------------+   \ +-----+
                 \|                             |    \|     |
                  +-----------------------------+     +-----+
Output:
# #####
#     #
# ### #
# # # #
#   # #
##### #
Input:
+-----+
|\     \
+ \     \
 \ +-----+
  \|     |
   +-----+
Output:
#
Input:
      +-----------------+
      |\                 \
      + \                 \
   +-----+     +-----+     +-----+
   |\           \    |\           \
   + \           \---+ \           \
    \ \     +-----+   \ +-----+     \
     \ \     \    |    \|     |\     \
      \ \     \---+     +-----+ \     \
       \ \     +-----+     +-----+     \
        \ \           \    |\           \
         \ \           \   + \           \
          \ +-----+     +-----+     +-----+
           \|     |\                 \    |
            +-----+ \                 \---+
                   \ +-----------------+
                    \|                 |
                     +-----------------+
Output:
 ###
## ##
#   #
## ##
 ###
Input:
+-----------------------------------------------------------------------------------------------------+
|\                                                                                                     \
+ \                                                                                                     \
 \ +-----------------------------------------------+     +-----------------------------------------+     \
  \|                                               |\     \                                        |\     \
   +-----------------------------------------------+ \     \---------------------------------------+ \     \
      +-----+     +-----------------------------+   \ \     \     +-----------------------------+   \ \     \
      |\     \    |\                             \   \ \     \    |\                             \   \ \     \
      + \     \   + \                             \   \ \     \   + \                             \   \ \     \
       \ \     \   \ +-----------+     +-----+     \   \ \     \   \ +-----------------------+     \   \ \     \
        \ \     \   \|           |\     \    |\     \   \ \     \   \|                       |\     \   \ \     \
         \ \     \   +-----------+ \     \---+ \     \   \ \     \   +-----------------------+ \     \   \ \     \
          \ \     \     +-----+   \ \     \   \ \     \   \ \     +-----------------------+   \ \     \   \ \     \
           \ \     \    |\     \   \ \     \   \ \     \   \ \                             \   \ \     \   \ \     \
            \ \     \   + \     \   \ \     \   \ \     \   \ \                             \   \ \     \   \ \     \
             \ \     \   \ +-----+   \ \     \   \ \     \   \ +-----------------------------+   \ \     \   \ \     \
              \ \     \   \|     |    \ \     \   \ \     \   \|                             |    \ \     \   \ \     \
               \ \     \   +-----+     \ \     \   \ \     \   +-----------------------------+     \ \     \   \ \     \
                \ \     +-----------+   \ \     \   \ \     +-----------------------------------+   \ \     \   \ \     \
                 \ \                 \   \ \     \   \ \                                         \   \ \     \   \ \     \
                  \ \                 \   \ \     \   \ \                                         \   \ \     \   \ \     \
                   \ \     +-----------+   \ \     \   \ \     +-----------------------+     +-----+   \ \     \   \ \     \
                    \ \     \          |    \ \     \   \ \     \                      |\     \    |    \ \     \   \ \     \
                     \ \     \---------+     \ \     \   \ \     \---------------------+ \     \---+     \ \     \   \ \     \
                      \ \     \     +-----------+     \   \ \     \     +-----------+   \ \     \     +-----+     \   \ +-----+
                       \ \     \    |\                 \   \ \     \    |\           \   \ \     \    |\           \   \|     | 
                        \ \     \   + \                 \   \ \     \   + \           \   \ \     \   + \           \   +-----+  
                         \ \     \   \ +-----------------+   \ \     \   \ \           \   \ +-----+   \ +-----+     \            
                          \ \     \   \|                 |    \ \     \   \ \           \   \|     |    \|     |\     \            
                           \ \     \   +-----------------+     \ \     \   \ \           \   +-----+     +-----+ \     \            
                            \ \     +-----------------------------+     +-----+           +-----------------------+     +-----------+
                             \ \                                                                                                     \
                              \ \                                                                                                     \
                               \ +-----------------------------------------------------------------------------------------------------+
                                \|                                                                                                     | 
                                 +-----------------------------------------------------------------------------------------------------+  
Output:
#################
        #       #
# ##### # ##### #
#   # # #     # #
# # # # ##### # #
#   # #       # # 
### # ####### # #
#   # #    #  # # 
# ### # ## # ##
#     # ##    #  
#################
Input:
+-----------------+
|\                 \
+ \                 \
 \ \                 \
  \ \                 \
   \ \                 \
    \ \                 \
     \ \                 \
      \ \                 \
       \ +-----------------+
        \|                 | 
         +-----------------+
Output:
###
###
###
Input: (Note leading whitespace)
      +-----+     +-----+
      |\     \    |\     \
      + \     \   + \     \
   +-----+-----+-----+-----+
   |\     \    |\     \    | 
   + \     \---+ \     \---+  
    \ +-----+-----+-----+-----+
     \|     |\     \    |\     \
      +-----+ \     \---+ \     \
         +-----+-----+-----+-----+
         |\     \    |\     \    | 
         + \     \---+ \     \---+  
          \ +-----+   \ +-----+      
           \|     |    \|     |       
            +-----+     +-----+        
Output:
 # #
# #
 # #
# #
```
  
[Answer]
# [Python 2](https://docs.python.org/2/), 81 bytes
```
def f(M,k=1,r='',b=0):
 for c in M[k][k::6]:b^=c>' ';r+=' #'[b]
 print r;f(M,k+3)
```
[Try it online!](https://tio.run/##1VnNjuIwDD7jp7DYA6DAaIGZOTDq3vawhz4BZaWFAS1iBFXpYUbKu7PlP23sxOkOrDZSq4rYjuPYzmeTfuS/N@vBLu5HWbPZBNXbD4X7cfzmhgKdHMgO79M3NxJQeKU@f/PUBcGVPGE1UWfyMr1m5J4VBiwz8OINhhIHxaNMGkCLhTBRYrOUFUMZT8VcpoaKZyK5TFVpLprNNBfNRp6p4uQBMozHw9UoYSROWaGMs2JGwut41svvrIM7eP@O2REsppeebAG2cO1cWxs02uYWrH05ByjSzcM2z5Zpu/OwTd@W@dtyPd@2OwDxoJSMLokGjIA092AqJJA@PErnND5bhYrXMxMyc3b6LO@5KtZODEcxJflmbCGRkJR9sHwSMg@QSTzWDphkw23WTjDOzXKk1JbLPu60c8Wjmexb8eLyjrF6CECGI@9C3tjSJCEp0eHQj2a43HpcwvHW4xrut1/JmzbdyUxOn4A3x/K4JZQeghSsYJ5QekAmGt03kRtTefAVhkBQAR7zXbNBIFaA5QJxneLuUnJBL2z2Y0LNOKGmcaMXePvxpGJcUTFQ1QvdBVgUfVjUiQZ79XAsa0PiW@piAgyM91o1DO2Lgat32bBiQYp4BeuG1RpCrCxamHROFejAdUzNOEuoQ9Vwrn@@9qfYXEmSDw0l0YIETif3gAq5k9ulgtddvTAjxNX57N1zXIXuY6KuUeXA8aGNHaSqPs/sOXEBCjRQgkBQmATNXkwCKFEh8TXEyBIv4WtXcyFAmQ5anr2RviM0i7cBZUqogEyO5H2hLAAjUkKY4W3ciOIc1XMHhax99YlF23@hR43Ssm5h7lVV38UiGr2a3MskRcg4@iZPXN@E7HHQ/Qjjv4qqV3C/8xOOGdeUc87ToCKTJtTtRD3brVWqMUfVko4S22yt2m/gi9PTVshC0rjdErdw8l7QdNuDWKhqTHYV9G6kYiJmO3aTtHy3ItUerX5Xbxuu48p6w@51vsBFO@6uon43i1qt7jT62hkBLjYZznC5xni8moxXo9HzZDT9Gc2@tbD1kqmohV9a4@kEMM2W6xyzl4MQNezs9pzxnnMc97sYD4pnWDyPxfNUPIUcaOTZR/FuFDwdaMzfZ/M0xx/r1/n79yzbZPup9Nd2u/sD "Python 2 – Try It Online")
Takes input as a list of strings (or a list of lists of characters). Prints the output, terminating with error.
The idea is similar to [tsh's](https://codegolf.stackexchange.com/a/191271/20260). We look at the characters marked as `?` below to see which are spaces and which are `\`:
```
+-----------+
|?     ?     ?
+ \           \
 \ \     +-----+
  \ ?     ?    |?
   \ \     \---+
    \ +-----+
     \|?    |?
      +-----+
```
Within each row with `?`'s, a `\` marks a vertical ridge between a filled cell and an empty cell of the maze. Because these ridges are in top layer of the maze, their `\` characters are never obscured by another maze element.
To look at the `?` positions, the code iterates through rows `k=1,4,7,...` (zero-indexed), and in each row looks at every 6th position starting with position `k`. It tracks whether we're in an empty or full cell in the bit `b`, and flips that bit whenever a `\` is encountered. After each character read, it appends the character for empty () or full (`#`) according to `b`, and prints the resulting string after the row is complete.
[Answer]
# [JavaScript (Node.js)](https://nodejs.org), 85 bytes
```
a=>a.flatMap(u=(l,y)=>y%3?[]:[l.flatMap((c,x)=>x<y|(x-=y+3)%6?[]:' #'[u[x]^=c+1<0])])
```
[Try it online!](https://tio.run/##1VnBbtswDL3rKwgMhW0oMTYU2GGrs9OOO@0YZ6iRJV0Kzwlsd0sA/XuWNLUrS6REZWmH@RAoFilSFEk90vfFr6KZ16tNO67W3xf7ZbYvskmRLsui/VJs4ocsLke7JJvsrq4/TWcfpmU/Fc9H28PE9man4u0428nr5Or9kSaCN9H0Ybqdfcvm8t3N21kyS/btommzJpss4yZtNuWqjaO8ipJ0uSrbRR2X2aRM0p@HZQ@jaZqm5Szp/5fp/XpVxVF0eHUaHVk/ivqharKp@NrWq@ourYvft0KOj4@E43MaU48UKn8ke/x9GlNPLiQ8U3djmvpA8Eyek5rIjnxIr4h1O4UFDBno5TWGAQfGI3UaARYLYqLcZhkqBjwew1y6hpJmQrl0VXEunE03F86Gnqmk1hNAMJ4OVwGHETllCTxOw4yI19Gs/XvSwR28f8fsCBbdS59sIezFlVO20miUzc2Q3Z@DuB0NMk@Xevq0IrTw0zXWxVNrUdp0O8ZisWMCYs5OjcP9mMvaQX9aZrC@HjeAJBtpHxqdYPTDIZKKtQMikVCbtZOHc7MUKbblof867Wx4K5FZDQ8d7hjMQxBoqNEu5I0bhRKiKxru646iSz19pL308xzJLy/Jm//cWYlPnwtvsqQBSCi9CFLQAC@h9AKI0HNfKW5w5AFKEIIlGcDKd18GoVEGKAsEaJK6FFGBXvzrB3eKcEKFA0AvgvYDQ0m4oiQwpxeDM0Al@EClE9aNzwOkpA2RMdfFGGAWXktqGGxnI1Cv2DDUz4WuDLlhRQMT9LIEo84pAx34HFMTzhLqUGc41z@XfRGbS07ywXEjWJDA6eQeUMF3crsu8LqrF2aEuDqdvceOq9B9TNg1Kh2gPbRDA1iJ55ntEpcAhgaSEQgS8qDZ3iQCOCrkvs4WWs/ldKGqCxLA00Hxszfgd4Qi8bYAnhIyIJMDel9IC8CwlGBmeBs3AjtHjd1BwetDXbBo@y/0OKO0PLcw96qqXsUiCryavJZJDiHjbZKgDQ28@aB9YTBdgHpPTzhmXFPOOU/rCc2QIqTHBJ7@GlYlOopnvUNq/wq67HzSGy0RtXsrdy@OZnyFNzQQQablSCng3YhhImI7dq9zeGsC1uU0x@Y9Iul7QdyK2ePnvnS5rj8X8x9xnU3m66pZl4u0XN/Fx8@LcZ3IKK@O3waT/R8 "JavaScript (Node.js) – Try It Online")
Basic idea is: we only care about the characters on \$ (6x+3y+3,3y) \$. If it is a dash (`-`), current cell has the different value with the one on its top, and if it is a space (), current cell has the same value.
Thanks @[Arnauld](https://codegolf.stackexchange.com/users/58563/arnauld), saved 7 bytes
[Answer]
# [Jelly](https://github.com/DennisMitchell/jelly), ~~22~~ 20 bytes
```
ṫ"J‘$m3n⁶m€6Ż^\ị⁾# Ḋ
```
[Try it online!](https://tio.run/##pZM9CgIxEIX7nGJQu8FK8BDeQAh2NrJrL6RwbQS9gHfQUkRZsBEPklwkuv@JmVkCThGG8L7JY2ayWibJxlr9OA9mZnsapZO1yW6p2V2m73whdX402XMI@n6wOr@@9nNrcVwEQhFVzgUKJUtZedY5F1IgdOom59VfQSeXrBNs5L5eMXUbwwJ8gC/vAB5BMehqBAQI0SIZIr4xiGN@2uU6RB4iKdcqTdGY2y4aI2eKXD0BDFgNV0EMSEwZIY78aSOxdTza3rML3sP@B/d8FndL616IsLjqfVs5GhXSEW@3c/gA "Jelly – Try It Online")
A monadic link taking a Jelly string as input and returning the processed maze as a Jelly string including one row of trailing whitespace.
1 byte `Ḋ` could be saved if a single line of leading whitespace were acceptable. 
Took some inspiration from [@tsh’s formula](https://codegolf.stackexchange.com/a/191271/42248), so be sure to upvote that one too!
## Explanation
```
ṫ"  $                | Tail each string using a paired member of the following:
  J                  | - Sequence along the list of strings
   ‘                 | - Incremented by 1
     m3              | Take every 3rd string (1st, 4th, 7th, ...)
       n⁶            | Not equal to space character
         m€6         | Within each list take every 6th item (1st, 7th, ...)
            Ż        | Prepend a zero to the list
             ^\      | Reduce using xor, collecting up results; vectorised across lists (so starts with 0 xor first list, then output of that xor second list, and so on)
               ị⁾#   | Index into "#", " "
                   Ḋ | Remove first list
```
[Answer]
# [05AB1E](https://github.com/Adriandmen/05AB1E), ~~25~~ 22 bytes
*-1 byte thanks to Kevin Cruijssen*
```
εN3%iN.$6ιнηðÊO„ #sèJ,
```
[Try it online!](https://tio.run/##yy9OTMpM/V/zqGlN8P9zW/2MVTP99FTMzu28sPfc9sMbDnf5P2qYp6BcfHiFl87//9q6IKCtAAIQNi6gzVUTA1YGJqFsXCCGS1sBoRrGxq0aqAChPAanS7RhylHV1@AwF@ZgLgVUDbiNR9KAogObHm1kNVwKGFqwBFEMphZUhykQpwctuJBdqI1bE1ZdyE7Frgu7NuTgwq4Na5xq4zKPSwGHRkjk1igQoxFLLGsrEKcTLRixpDrcWuHiOBM4Hr2UacaTWZBTKTQsuDANr8Frdw2SmhpM3UTYDY@H/7q6efm6OYlVlQA "05AB1E – Try It Online")
Port of [xnor's Python answer](https://codegolf.stackexchange.com/a/191275/6484). Takes input as a character matrix. The TIO link shows input as a multiline string for readability, with the `|€S` header converting that to the character matrix format.
[Answer]
# [Retina 0.8.2](https://github.com/m-ender/retina/wiki/The-Language/a950ad7d925ec9316e3e2fb2cf5d49fd15d23e3d), 72 bytes
```
¶(?<=(.|(¶))+)(?<-2>.)+
¶
-4G`
.+¶(.+)¶.+
$1
T` `#`\\  +\\
.(.)....|.
$1
```
[Try it online!](https://tio.run/##jZI7DsIwEET7PcVKUNhaZSUQJZ@SC1BuYQoKGgpE6XPlAL6YseIk8hexlbPzNJOJ8358nq@7925Ul@NJsVVu1Jp0eBr2Z9YEboThcDXAFBgm7UYm2O7gZtBsjAgiiQAr1hzGctC8x2loKIcgKlawHJklwo4W3Shxzs5Q2koVFG0yf5lsKihspAiSLHR@2wWLWdPJpgWXUitXNci5Ri62chPyZ9ke2qq8qH985xW23duc9ilbNMbyEgCx4dL/hQrSVivbBFuOXw "Retina 0.8.2 – Try It Online") Explanation:
```
¶(?<=(.|(¶))+)(?<-2>.)+
¶
```
De-skew all of the lines.
```
-4G`
```
Delete the last three lines as I don't need them.
```
.+¶(.+)¶.+
$1
```
Keep only the middle of each group of three lines. (In Retina 1, I believe the above two stages can be done in a single stage: `,G1,3,-5``.)
```
T` `#`\\  +\\
```
Fill in the faces of the blocks.
```
.(.)....|.
$1
```
Keep only the second character of each block.
[Answer]
# [C (clang)](http://clang.llvm.org/), [~~120~~](https://tio.run/##fZLRboMgFIbvfQpq0gUEE5xbLyTEBxmLMaZuTQY2SBMzca/uQOtcY7dzA/7ff36OgSquPkr1NlbvpQay/Dy@vPI@xPFaWCgrBFhLCKEw2EheuYp4aQS/xHmxhVdvZWctZvlGL6aa9b/BP8Tr11HWgRZip9X@tK5s6QH32CZ5y9bw4g5c@vyY4cDGhlTEkJZoVkN/CZFEfd1o2PKGUxZJttO54ZGM08d8ZzJn5SZPn7OnQ0ZRhLHkPKG5jPkXxi6LG06dJaEZJdrasz4pU8OHFhHNK4z3B9vs0zhhw@gAmPB8bIf6wJ/Loo5h3KHzxUxvAjrCgiEIAt8gy5OCCDgr9I/FEedrAQxDv/VpYALAfQb@b/XRXLQC1EWM3w "C (clang) – Try It Online") 117 bytes
```
o,c,t,s,r;f(char*m){for(s=o=0;*m;!r?t^=*m!=32,s=t?35:46:0)*++m==10?m-=~++o,c=t=0,s=10:0,r||printf(&s),r=c++%6|o%3-1;}
```
[Try it online!](https://tio.run/##fZLRboMgFIbvfQpq0gUEEzq3XkiIDzI2Y0zdmgxskCZm4l7dgda5xnbnBvy/8/8cA2VcfhbqfSg/Cg1k8XV4eeVdiOOlsFBWCLCUEEJhsJK8chHxbAR/xGmxuVevZdeaT/KVno816ffBP8Trl1GWgWZix9X@Whc2e8AttkpesyU8vwFnnx8z7NlQk5IY0hDNKugvIZKoq2oNG15zyiLJNjozbzySG548koabLHlOn/YpRRHGkvMdzWTMvzF2Qdxw6lp2NKVEW3vSR2Uq@NAgonmJ8XZv620S71g/OABGPJ3Zoi7wh7KoZRi36HQ244OAjrCgD4LAG2RxVBAB1wr9S3HE9TUAhqHf@jQwAuA@A/@r@mDOWgHqIoYf "C (clang) – Try It Online")
Inspired by the others answers.
```
'\'=92   ' '=32=>46='.'  '#'=35   '\n'=10 
// o offset == // l line 
// c line counter 
// t toggle 
// r => ? test, point to inspect 
for(o=s=0;*m;
!r?t=*m-32?!t:t,s=t?35:46:0) // t^=*m!=32 @ceilingcat 
// if test(r) is enabled: toggle(t) and sets (s)
*++m==10?m-=~++o,c=t=0,s=10:0,
// next char => if it's \n overwrites (s)
// and increments offset(o) and move pointer(m)
r || printf (&s)
// r or print! Thanks to @ceilingcat
// instead of 
    *++m-10?0:(m-=~++o,c=t=0,s=10),
    !r*s?putchar(s):0, 
 Saved 5 !
r=c++%6|o%3-1;// enable test every 6 x 3+1 positions
```
]