aboutsummaryrefslogtreecommitdiffstats
path: root/.server.py.swp
blob: 700dc05e6f684995edf4f9966c6a1d39edd83f29 (plain)
ofshex dumpascii
0000 62 30 56 49 4d 20 38 2e 32 00 00 00 00 10 00 00 26 85 bf 60 57 0d 68 02 47 12 00 00 68 61 6c 39 b0VIM.8.2.......&..`W.h.G...hal9
0020 30 30 31 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 001.............................
0040 00 00 00 00 68 61 6c 39 30 30 31 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ....hal9001.....................
0060 00 00 00 00 00 00 00 00 00 00 00 00 2f 6d 65 64 69 61 2f 53 53 44 31 54 42 2f 66 69 6c 65 73 2f ............/media/SSD1TB/files/
0080 6c 69 6c 62 69 74 73 2f 6d 79 5f 67 69 74 2f 65 7a 63 6d 73 2f 73 65 72 76 65 72 2e 70 79 00 00 lilbits/my_git/ezcms/server.py..
00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03e0 00 00 00 00 00 00 00 00 00 75 74 66 2d 38 0d 00 33 32 31 30 00 00 00 00 23 22 21 20 13 12 55 00 .........utf-8..3210....#"!...U.
0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1000 74 70 02 00 7f 00 00 00 02 00 00 00 00 00 00 00 77 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 tp..............w...............
1020 01 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 50 00 00 00 00 00 00 00 78 00 00 00 00 00 00 00 ................P.......x.......
1040 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2000 61 64 00 00 0a 00 00 00 02 02 00 00 00 10 00 00 77 00 00 00 00 00 00 00 f6 0f 00 00 de 0f 00 00 ad..............w...............
2020 a8 0f 00 00 6e 0f 00 00 4c 0f 00 00 4b 0f 00 00 35 0f 00 00 34 0f 00 00 23 0f 00 00 de 0e 00 00 ....n...L...K...5...4...#.......
2040 b4 0e 00 00 a2 0e 00 00 7e 0e 00 00 60 0e 00 00 54 0e 00 00 3b 0e 00 00 39 0e 00 00 38 0e 00 00 ........~...`...T...;...9...8...
2060 37 0e 00 00 20 0e 00 00 18 0e 00 00 c8 0d 00 00 7b 0d 00 00 64 0d 00 00 5c 0d 00 00 4f 0d 00 00 7...............{...d...\...O...
2080 23 0d 00 00 e8 0c 00 00 e2 0c 00 00 e1 0c 00 00 e0 0c 00 00 cb 0c 00 00 c3 0c 00 00 82 0c 00 00 #...............................
20a0 51 0c 00 00 50 0c 00 00 2a 0c 00 00 fb 0b 00 00 d2 0b 00 00 7d 0b 00 00 67 0b 00 00 0f 0b 00 00 Q...P...*...........}...g.......
20c0 0e 0b 00 00 ea 0a 00 00 e2 0a 00 00 d4 0a 00 00 c5 0a 00 00 b6 0a 00 00 a1 0a 00 00 81 0a 00 00 ................................
20e0 68 0a 00 00 3b 0a 00 00 0e 0a 00 00 dc 09 00 00 b2 09 00 00 84 09 00 00 52 09 00 00 27 09 00 00 h...;...................R...'...
2100 01 09 00 00 e8 08 00 00 d6 08 00 00 b4 08 00 00 86 08 00 00 62 08 00 00 49 08 00 00 37 08 00 00 ....................b...I...7...
2120 16 08 00 00 15 08 00 00 d2 07 00 00 d1 07 00 00 d0 07 00 00 b6 07 00 00 ae 07 00 00 76 07 00 00 ............................v...
2140 2a 07 00 00 fb 06 00 00 f3 06 00 00 c4 06 00 00 c3 06 00 00 c2 06 00 00 b2 06 00 00 a6 06 00 00 *...............................
2160 9e 06 00 00 5b 06 00 00 5a 06 00 00 0e 06 00 00 c8 05 00 00 c0 05 00 00 a0 05 00 00 8c 05 00 00 ....[...Z.......................
2180 82 05 00 00 53 05 00 00 35 05 00 00 2b 05 00 00 25 05 00 00 ed 04 00 00 ec 04 00 00 eb 04 00 00 ....S...5...+...%...............
21a0 9e 04 00 00 83 04 00 00 6c 04 00 00 64 04 00 00 23 04 00 00 22 04 00 00 db 03 00 00 8c 03 00 00 ........l...d...#..."...........
21c0 3d 03 00 00 22 03 00 00 1a 03 00 00 fd 02 00 00 ea 02 00 00 c0 02 00 00 a0 02 00 00 8c 02 00 00 =..."...........................
21e0 82 02 00 00 51 02 00 00 12 02 00 00 08 02 00 00 02 02 00 00 01 02 00 00 00 00 00 00 00 00 00 00 ....Q...........................
2200 00 00 20 20 20 20 29 00 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 20 20 20 27 70 ......).........}.............'p
2220 61 72 65 6e 74 5f 64 69 72 27 3a 20 27 2f 27 20 2b 20 27 2f 27 2e 6a 6f 69 6e 28 70 61 74 68 2e arent_dir':.'/'.+.'/'.join(path.
2240 73 70 6c 69 74 28 27 2f 27 29 5b 3a 2d 31 5d 29 00 20 20 20 20 20 20 20 20 20 20 20 20 27 74 69 split('/')[:-1]).............'ti
2260 74 6c 65 27 3a 20 70 61 74 68 2e 73 70 6c 69 74 28 27 2e 27 29 5b 30 5d 2e 75 70 70 65 72 28 29 tle':.path.split('.')[0].upper()
2280 2c 00 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 63 6f 6e 74 65 78 74 2e 75 70 64 61 74 65 28 00 ,.........{.....context.update(.
22a0 20 20 20 20 63 6f 6e 74 65 78 74 20 3d 20 64 65 66 61 75 6c 74 5f 63 6f 6e 74 65 78 74 28 29 00 ....context.=.default_context().
22c0 20 20 20 20 61 62 73 5f 70 61 74 68 20 3d 20 22 2e 2f 74 65 6d 70 6c 61 74 65 73 2f 73 69 74 65 ....abs_path.=."./templates/site
22e0 2f 22 20 2b 20 70 61 74 68 00 20 20 20 20 20 20 20 20 61 62 6f 72 74 28 34 30 34 29 00 20 20 20 /".+.path.........abort(404)....
2300 20 69 66 20 69 73 5f 68 69 64 64 65 6e 5f 70 61 74 68 28 70 61 74 68 29 3a 00 20 20 20 20 22 22 .if.is_hidden_path(path):.....""
2320 22 00 20 20 20 20 6c 69 6e 6b 73 2c 20 61 6e 64 20 6f 74 68 65 72 20 69 6e 66 6f 2e 00 20 20 20 ".....links,.and.other.info.....
2340 20 66 75 6e 63 74 69 6f 6e 20 69 6e 73 74 65 61 64 20 63 72 65 61 74 65 73 20 61 6e 20 69 6e 64 .function.instead.creates.an.ind
2360 65 78 20 66 6f 72 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 20 63 6f 6e 74 61 69 6e 69 6e 67 20 ex.for.the.directory.containing.
2380 69 74 27 73 20 66 69 6c 65 73 2c 00 20 20 20 20 6f 74 68 65 72 77 69 73 65 2c 20 74 68 65 20 72 it's.files,.....otherwise,.the.r
23a0 61 77 20 66 69 6c 65 20 69 73 20 72 65 74 75 72 6e 65 64 2e 20 49 66 20 60 70 61 74 68 60 20 70 aw.file.is.returned..If.`path`.p
23c0 6f 69 6e 74 73 20 74 6f 20 61 20 64 69 72 65 63 74 6f 72 79 2c 20 74 68 69 73 00 20 20 20 20 49 oints.to.a.directory,.this.....I
23e0 66 20 60 70 61 74 68 60 20 69 73 20 61 6e 20 48 54 4d 4c 20 66 69 6c 65 20 69 74 20 69 73 20 72 f.`path`.is.an.HTML.file.it.is.r
2400 65 6e 64 65 72 65 64 20 77 69 74 68 69 6e 20 74 68 65 20 62 61 73 65 20 74 65 6d 70 6c 61 74 65 endered.within.the.base.template
2420 2c 00 00 20 20 20 20 72 65 6e 64 65 72 5f 66 69 6c 65 20 2d 20 72 65 6e 64 65 72 73 20 61 6e 20 ,......render_file.-.renders.an.
2440 48 54 4d 4c 20 64 6f 63 75 6d 65 6e 74 20 66 6f 72 20 74 68 65 20 67 69 76 65 6e 20 60 70 61 74 HTML.document.for.the.given.`pat
2460 68 60 2e 00 20 20 20 20 22 22 22 00 64 65 66 20 72 65 6e 64 65 72 5f 66 69 6c 65 28 70 61 74 68 h`......""".def.render_file(path
2480 29 3a 00 40 61 70 70 2e 72 6f 75 74 65 28 22 2f 3c 70 61 74 68 3a 70 61 74 68 3e 22 29 00 23 20 ):.@app.route("/<path:path>").#.
24a0 66 72 6f 6d 3a 20 68 74 74 70 73 3a 2f 2f 70 79 74 68 6f 6e 69 73 65 2e 63 6f 6d 2f 73 65 72 69 from:.https://pythonise.com/seri
24c0 65 73 2f 6c 65 61 72 6e 69 6e 67 2d 66 6c 61 73 6b 2f 73 65 6e 64 69 6e 67 2d 66 69 6c 65 73 2d es/learning-flask/sending-files-
24e0 77 69 74 68 2d 66 6c 61 73 6b 00 00 00 20 20 20 20 72 65 74 75 72 6e 20 72 65 6e 64 65 72 5f 74 with-flask.......return.render_t
2500 65 6d 70 6c 61 74 65 28 22 73 69 74 65 2f 68 6f 6d 65 2e 68 74 6d 6c 22 2c 20 2a 2a 63 6f 6e 74 emplate("site/home.html",.**cont
2520 65 78 74 29 00 20 20 20 20 29 00 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 20 20 ext).....).........}............
2540 20 27 70 61 72 65 6e 74 5f 64 69 72 27 3a 20 27 2f 27 00 20 20 20 20 20 20 20 20 20 20 20 20 27 .'parent_dir':.'/'.............'
2560 74 69 74 6c 65 27 3a 20 61 70 70 2e 63 6f 6e 66 69 67 5b 27 48 4f 4d 45 5f 54 49 54 4c 45 27 5d title':.app.config['HOME_TITLE']
2580 2c 00 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 63 6f 6e 74 65 78 74 2e 75 70 64 61 74 65 28 00 ,.........{.....context.update(.
25a0 20 20 20 20 63 6f 6e 74 65 78 74 20 3d 20 64 65 66 61 75 6c 74 5f 63 6f 6e 74 65 78 74 28 29 00 ....context.=.default_context().
25c0 20 20 20 20 22 22 22 00 20 20 20 20 65 64 69 74 2c 20 74 68 6f 75 67 68 20 79 6f 75 20 63 61 6e ....""".....edit,.though.you.can
25e0 20 6f 70 74 69 6f 6e 61 6c 6c 79 20 63 68 61 6e 67 65 20 74 68 65 20 74 69 74 6c 65 20 68 65 72 .optionally.change.the.title.her
2600 65 20 69 66 20 79 6f 75 20 77 69 73 68 00 20 20 20 20 49 66 20 79 6f 75 27 64 20 6c 69 6b 65 20 e.if.you.wish.....If.you'd.like.
2620 74 6f 20 63 75 73 74 6f 6d 69 7a 65 20 79 6f 75 72 20 68 6f 6d 65 20 70 61 67 65 2c 20 74 68 61 to.customize.your.home.page,.tha
2640 74 20 69 73 20 74 68 65 20 66 69 6c 65 20 79 6f 75 20 77 61 6e 74 20 74 6f 00 00 20 20 20 20 68 t.is.the.file.you.want.to......h
2660 6f 6d 65 20 2d 20 72 65 6e 64 65 72 73 20 74 68 65 20 74 65 6d 70 6c 61 74 65 20 60 68 6f 6d 65 ome.-.renders.the.template.`home
2680 2e 68 74 6d 6c 60 20 61 73 20 74 68 65 20 6d 61 69 6e 20 69 6e 64 65 78 20 66 69 6c 65 00 20 20 .html`.as.the.main.index.file...
26a0 20 20 22 22 22 00 64 65 66 20 68 6f 6d 65 28 29 3a 00 40 61 70 70 2e 72 6f 75 74 65 28 22 2f 22 ..""".def.home():.@app.route("/"
26c0 29 00 00 00 20 20 20 20 72 65 74 75 72 6e 20 70 61 74 68 2e 73 70 6c 69 74 28 27 2f 27 29 5b 2d ).......return.path.split('/')[-
26e0 31 5d 2e 73 74 61 72 74 73 77 69 74 68 28 27 2e 27 29 00 20 20 20 20 22 22 22 00 20 20 20 20 74 1].startswith('.').....""".....t
2700 68 65 79 20 61 72 65 20 73 74 69 6c 6c 20 6e 6f 74 20 69 6e 64 65 78 65 64 20 62 79 20 74 68 69 hey.are.still.not.indexed.by.thi
2720 73 20 70 72 6f 67 72 61 6d 00 20 20 20 20 49 6e 73 70 69 72 65 64 20 62 79 20 55 6e 69 78 2e 20 s.program.....Inspired.by.Unix..
2740 4f 6e 20 57 69 6e 64 6f 77 73 2c 20 64 69 72 65 74 6f 72 69 65 73 20 77 6f 6e 27 74 20 61 63 74 On.Windows,.diretories.won't.act
2760 75 61 6c 6c 79 20 62 65 20 22 68 69 64 64 65 6e 22 20 62 75 74 00 20 20 20 20 54 65 73 74 73 20 ually.be."hidden".but.....Tests.
2780 69 66 20 6c 61 73 74 20 6f 62 6a 65 63 74 20 73 70 65 63 69 66 69 65 64 20 69 6e 20 60 70 61 74 if.last.object.specified.in.`pat
27a0 68 60 20 69 73 20 68 69 64 64 65 6e 2e 00 20 20 20 20 22 22 22 00 64 65 66 20 69 73 5f 68 69 64 h`.is.hidden......""".def.is_hid
27c0 64 65 6e 5f 70 61 74 68 28 70 61 74 68 29 3a 00 00 00 20 20 20 20 72 65 74 75 72 6e 20 73 6f 72 den_path(path):.......return.sor
27e0 74 65 64 28 64 69 72 73 29 2c 20 73 6f 72 74 65 64 28 66 69 6c 65 73 29 2c 20 73 6f 72 74 65 64 ted(dirs),.sorted(files),.sorted
2800 28 6c 69 6e 6b 73 29 2c 20 64 65 73 63 72 69 70 74 69 6f 6e 00 00 20 20 20 20 20 20 20 20 20 20 (links),.description............
2820 20 20 20 20 20 20 64 69 72 73 2e 61 70 70 65 6e 64 28 6f 62 6a 29 00 20 20 20 20 20 20 20 20 20 ......dirs.append(obj)..........
2840 20 20 20 65 6c 73 65 3a 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 ...else:.................continu
2860 65 00 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 6f 62 6a 2e 73 74 61 72 74 73 77 69 74 68 28 e.............if.obj.startswith(
2880 27 2e 27 29 3a 00 20 20 20 20 20 20 20 20 65 6c 69 66 20 6f 73 2e 70 61 74 68 2e 69 73 64 69 72 '.'):.........elif.os.path.isdir
28a0 28 70 61 74 68 20 2b 20 27 2f 27 20 2b 20 6f 62 6a 29 3a 00 20 20 20 20 20 20 20 20 20 20 20 20 (path.+.'/'.+.obj):.............
28c0 20 20 20 20 66 69 6c 65 73 2e 61 70 70 65 6e 64 28 6f 62 6a 29 00 20 20 20 20 20 20 20 20 20 20 ....files.append(obj)...........
28e0 20 20 65 6c 73 65 3a 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 ..else:.................continue
2900 00 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 69 66 20 6f 62 6a 2e 73 74 61 72 74 73 77 69 74 68 .............elif.obj.startswith
2920 28 27 2e 27 29 3a 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 73 63 72 ('.'):.....................descr
2940 69 70 74 69 6f 6e 20 3d 20 66 2e 72 65 61 64 28 29 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 iption.=.f.read()...............
2960 20 20 77 69 74 68 20 6f 70 65 6e 28 70 61 74 68 20 2b 20 27 2f 27 20 2b 20 6f 62 6a 29 20 61 73 ..with.open(path.+.'/'.+.obj).as
2980 20 66 3a 00 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 69 66 20 6f 62 6a 20 3d 3d 20 73 69 74 65 .f:.............elif.obj.==.site
29a0 63 6f 6e 66 69 67 2e 44 45 53 43 5f 46 49 4c 45 3a 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 config.DESC_FILE:...............
29c0 20 20 20 20 20 20 6c 69 6e 6b 73 20 3d 20 66 2e 72 65 61 64 6c 69 6e 65 73 28 29 00 20 20 20 20 ......links.=.f.readlines().....
29e0 20 20 20 20 20 20 20 20 20 20 20 20 77 69 74 68 20 6f 70 65 6e 28 70 61 74 68 20 2b 20 27 2f 27 ............with.open(path.+.'/'
2a00 20 2b 20 6f 62 6a 29 20 61 73 20 66 3a 00 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 6f 62 6a .+.obj).as.f:.............if.obj
2a20 20 3d 3d 20 73 69 74 65 63 6f 6e 66 69 67 2e 4c 49 4e 4b 53 5f 46 49 4c 45 3a 00 20 20 20 20 20 .==.siteconfig.LINKS_FILE:......
2a40 20 20 20 69 66 20 6f 73 2e 70 61 74 68 2e 69 73 66 69 6c 65 28 70 61 74 68 20 2b 20 27 2f 27 20 ...if.os.path.isfile(path.+.'/'.
2a60 2b 20 6f 62 6a 29 3a 00 20 20 20 20 66 6f 72 20 6f 62 6a 20 69 6e 20 63 6f 6e 74 65 6e 74 73 3a +.obj):.....for.obj.in.contents:
2a80 00 20 20 20 20 63 6f 6e 74 65 6e 74 73 20 3d 20 6f 73 2e 6c 69 73 74 64 69 72 28 70 61 74 68 29 .....contents.=.os.listdir(path)
2aa0 00 20 20 20 20 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 22 22 00 20 20 20 20 6c 69 6e 6b 73 20 .....description.=."".....links.
2ac0 3d 20 5b 5d 00 20 20 20 20 66 69 6c 65 73 20 3d 20 5b 5d 00 20 20 20 20 64 69 72 73 20 3d 20 5b =.[].....files.=.[].....dirs.=.[
2ae0 5d 00 20 20 20 20 22 22 22 00 20 20 20 20 4c 69 73 74 73 20 61 72 65 20 73 6f 72 74 65 64 20 61 ].....""".....Lists.are.sorted.a
2b00 6c 70 68 61 62 65 74 69 63 61 6c 6c 79 00 00 20 20 20 20 20 20 20 20 20 20 20 20 3e 20 28 69 66 lphabetically..............>.(if
2b20 20 70 72 65 73 65 6e 74 29 2c 20 61 20 73 68 6f 72 74 20 64 65 73 63 72 69 70 74 69 6f 6e 20 28 .present),.a.short.description.(
2b40 73 74 72 69 6e 67 29 20 6f 66 20 77 68 61 74 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 20 63 6f string).of.what.the.directory.co
2b60 6e 74 61 69 6e 73 00 20 20 20 20 20 20 20 20 20 20 20 20 64 69 72 65 63 74 6f 72 79 00 20 20 20 ntains.............directory....
2b80 20 20 20 20 20 20 20 20 20 3e 20 28 69 66 20 70 72 65 73 65 6e 74 29 2c 20 61 20 6c 69 73 74 20 .........>.(if.present),.a.list.
2ba0 6f 66 20 65 78 74 65 72 6e 61 6c 20 6c 69 6e 6b 73 20 74 6f 20 61 64 64 20 74 6f 20 74 68 65 20 of.external.links.to.add.to.the.
2bc0 69 6e 64 65 78 2e 68 74 6d 6c 20 6f 66 20 74 68 65 00 20 20 20 20 20 20 20 20 20 20 20 20 3e 20 index.html.of.the.............>.
2be0 61 20 6c 69 73 74 20 6f 66 20 66 69 6c 65 73 20 69 6e 20 60 70 61 74 68 60 2c 00 20 20 20 20 20 a.list.of.files.in.`path`,......
2c00 20 20 20 20 20 20 20 3e 20 61 20 6c 69 73 74 20 6f 66 20 64 69 72 65 63 74 6f 72 69 65 73 20 69 .......>.a.list.of.directories.i
2c20 6e 20 60 70 61 74 68 60 2c 00 20 20 20 20 72 65 74 75 72 6e 20 2d 20 61 20 74 75 70 6c 65 20 77 n.`path`,.....return.-.a.tuple.w
2c40 69 74 68 20 74 68 65 20 76 61 6c 75 65 73 3a 00 00 20 20 20 20 61 6e 64 20 73 6f 72 74 20 65 61 ith.the.values:......and.sort.ea
2c60 63 68 20 69 74 65 6d 20 61 73 20 61 20 66 69 6c 65 20 6f 72 20 61 20 64 69 72 65 63 74 6f 72 79 ch.item.as.a.file.or.a.directory
2c80 2e 00 20 20 20 20 69 6e 64 65 78 5f 64 69 72 20 2d 20 47 69 76 65 6e 20 61 20 64 69 72 65 63 74 ......index_dir.-.Given.a.direct
2ca0 6f 72 79 20 61 74 20 60 70 61 74 68 60 2c 20 6c 69 73 74 20 69 74 27 73 20 63 6f 6e 74 65 6e 74 ory.at.`path`,.list.it's.content
2cc0 73 2c 00 20 20 20 20 22 22 22 00 64 65 66 20 69 6e 64 65 78 5f 64 69 72 28 70 61 74 68 29 3a 00 s,.....""".def.index_dir(path):.
2ce0 00 00 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 20 20 20 27 6e 61 76 62 61 72 27 3a 20 73 6f ......}.............'navbar':.so
2d00 72 74 65 64 28 61 70 70 2e 63 6f 6e 66 69 67 5b 27 4d 41 49 4e 5f 53 49 54 45 5f 44 49 52 53 27 rted(app.config['MAIN_SITE_DIRS'
2d20 5d 29 00 20 20 20 20 20 20 20 20 20 20 20 20 27 64 6f 6d 61 69 6e 27 3a 20 61 70 70 2e 63 6f 6e ]).............'domain':.app.con
2d40 66 69 67 5b 27 44 4f 4d 41 49 4e 27 5d 2c 00 20 20 20 20 72 65 74 75 72 6e 20 7b 00 20 20 20 20 fig['DOMAIN'],.....return.{.....
2d60 22 22 22 00 20 20 20 20 6d 61 6b 65 20 75 70 20 74 68 65 20 6e 61 76 62 61 72 00 20 20 20 20 64 """.....make.up.the.navbar.....d
2d80 6f 6d 61 69 6e 20 6e 61 6d 65 20 28 66 6f 72 20 74 68 65 20 68 6f 6d 65 20 64 69 72 65 63 74 6f omain.name.(for.the.home.directo
2da0 72 79 29 2c 20 61 6e 64 20 74 68 65 20 74 6f 70 20 73 69 74 65 20 64 69 72 65 63 74 6f 72 69 65 ry),.and.the.top.site.directorie
2dc0 73 20 77 68 69 63 68 00 20 20 20 20 64 65 66 61 75 6c 74 5f 63 6f 6e 74 65 78 74 20 2d 20 72 65 s.which.....default_context.-.re
2de0 74 75 72 6e 73 20 74 68 65 20 6d 69 6e 69 6d 75 6d 20 69 6e 66 6f 20 6e 65 65 64 65 64 20 74 6f turns.the.minimum.info.needed.to
2e00 20 72 65 6e 64 65 72 20 61 20 74 65 6d 70 6c 61 74 65 2d 2d 74 68 65 00 20 20 20 20 22 22 22 00 .render.a.template--the.....""".
2e20 64 65 66 20 64 65 66 61 75 6c 74 5f 63 6f 6e 74 65 78 74 28 29 3a 00 00 00 29 00 20 20 20 20 20 def.default_context():...)......
2e40 20 20 20 22 7b 25 20 65 6e 64 62 6c 6f 63 6b 20 25 7d 22 00 20 20 20 20 20 20 20 20 22 24 22 00 ..."{%.endblock.%}"........."$".
2e60 20 20 20 20 20 20 20 20 22 7b 25 20 62 6c 6f 63 6b 20 63 6f 6e 74 65 6e 74 20 25 7d 22 00 20 20 ........"{%.block.content.%}"...
2e80 20 20 20 20 20 20 22 7b 25 20 65 78 74 65 6e 64 73 20 27 62 61 73 65 2e 68 74 6d 6c 27 20 25 7d ......"{%.extends.'base.html'.%}
2ea0 22 00 43 4f 4e 54 45 4e 54 5f 42 4c 4f 43 4b 20 3d 20 28 00 23 20 77 65 20 6a 75 73 74 20 72 65 ".CONTENT_BLOCK.=.(.#.we.just.re
2ec0 70 6c 61 63 65 20 74 68 65 20 73 70 65 63 69 61 6c 20 63 68 61 72 63 61 74 65 72 20 24 00 23 20 place.the.special.charcater.$.#.
2ee0 42 72 61 63 6b 65 74 73 20 64 6f 6e 27 74 20 70 6c 61 79 20 6e 69 63 65 6c 79 20 77 69 74 68 20 Brackets.don't.play.nicely.with.
2f00 4a 69 6e 6a 61 20 73 6f 20 69 6e 73 74 65 61 64 20 6f 66 20 75 73 69 6e 67 20 2e 66 6f 72 6d 61 Jinja.so.instead.of.using..forma
2f20 74 2c 00 23 20 62 69 74 20 6f 66 20 61 20 68 61 63 6b 2e 00 00 61 70 70 20 3d 20 46 6c 61 73 6b t,.#.bit.of.a.hack...app.=.Flask
2f40 28 5f 5f 6e 61 6d 65 5f 5f 29 00 00 66 72 6f 6d 20 73 69 74 65 63 6f 6e 66 69 67 20 69 6d 70 6f (__name__)..from.siteconfig.impo
2f60 72 74 20 73 69 74 65 63 6f 6e 66 69 67 00 66 72 6f 6d 20 66 6c 61 73 6b 20 69 6d 70 6f 72 74 20 rt.siteconfig.from.flask.import.
2f80 72 65 6e 64 65 72 5f 74 65 6d 70 6c 61 74 65 2c 20 72 65 6e 64 65 72 5f 74 65 6d 70 6c 61 74 65 render_template,.render_template
2fa0 5f 73 74 72 69 6e 67 00 66 72 6f 6d 20 66 6c 61 73 6b 20 69 6d 70 6f 72 74 20 72 65 71 75 65 73 _string.from.flask.import.reques
2fc0 74 2c 20 73 65 6e 64 5f 66 72 6f 6d 5f 64 69 72 65 63 74 6f 72 79 2c 20 61 62 6f 72 74 00 66 72 t,.send_from_directory,.abort.fr
2fe0 6f 6d 20 66 6c 61 73 6b 20 69 6d 70 6f 72 74 20 46 6c 61 73 6b 00 69 6d 70 6f 72 74 20 6f 73 00 om.flask.import.Flask.import.os.
3000 61 64 00 00 28 03 00 00 84 04 00 00 00 10 00 00 50 00 00 00 00 00 00 00 df 0f 00 00 b8 0f 00 00 ad..(...........P...............
3020 92 0f 00 00 6f 0f 00 00 15 0f 00 00 eb 0e 00 00 ad 0e 00 00 9f 0e 00 00 6c 0e 00 00 2c 0e 00 00 ....o...................l...,...
3040 e2 0d 00 00 7e 0d 00 00 51 0d 00 00 28 0d 00 00 06 0d 00 00 c8 0c 00 00 b0 0c 00 00 a2 0c 00 00 ....~...Q...(...................
3060 6c 0c 00 00 4e 0c 00 00 2e 0c 00 00 0e 0c 00 00 e3 0b 00 00 d5 0b 00 00 cb 0b 00 00 93 0b 00 00 l...N...........................
3080 89 0b 00 00 50 0b 00 00 19 0b 00 00 18 0b 00 00 17 0b 00 00 f8 0a 00 00 d9 0a 00 00 d1 0a 00 00 ....P...........................
30a0 8b 0a 00 00 5a 0a 00 00 52 0a 00 00 1b 0a 00 00 d9 09 00 00 7d 09 00 00 58 09 00 00 37 09 00 00 ....Z...R...........}...X...7...
30c0 36 09 00 00 35 09 00 00 13 09 00 00 f2 08 00 00 ea 08 00 00 a4 08 00 00 73 08 00 00 6b 08 00 00 6...5...................s...k...
30e0 3b 08 00 00 f9 07 00 00 9d 07 00 00 78 07 00 00 57 07 00 00 56 07 00 00 55 07 00 00 48 07 00 00 ;...........x...W...V...U...H...
3100 40 07 00 00 f8 06 00 00 da 06 00 00 d2 06 00 00 b4 06 00 00 7b 06 00 00 71 06 00 00 4d 06 00 00 @...................{...q...M...
3120 1f 06 00 00 1e 06 00 00 fc 05 00 00 b3 05 00 00 a9 05 00 00 59 05 00 00 58 05 00 00 23 05 00 00 ....................Y...X...#...
3140 e6 04 00 00 e5 04 00 00 b5 04 00 00 ad 04 00 00 92 04 00 00 84 04 00 00 45 04 00 00 1f 04 00 00 ........................E.......
3160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
32a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
32c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
32e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
33a0 00 00 00 00 00 20 20 20 20 61 70 70 2e 72 75 6e 28 29 00 69 66 20 5f 5f 6e 61 6d 65 5f 5f 20 3d .........app.run().if.__name__.=
33c0 3d 20 27 5f 5f 6d 61 69 6e 5f 5f 27 3a 00 73 65 74 20 20 20 20 61 70 70 2e 72 75 6e 28 29 00 69 =.'__main__':.set....app.run().i
33e0 66 20 5f 5f 6e 61 6d 65 5f 5f 20 3d 3d 20 27 5f 5f 6d 61 69 6e 5f 5f 27 3a 00 73 65 74 75 70 28 f.__name__.==.'__main__':.setup(
3400 20 20 20 20 61 20 20 20 20 61 70 70 2e 72 75 6e 28 29 00 69 66 20 5f 5f 6e 61 6d 65 5f 5f 20 20 ....a....app.run().if.__name__..
3420 20 20 20 61 70 70 2e 72 75 6e 28 29 00 69 66 20 5f 5f 6e 61 6d 65 5f 5f 20 3d 3d 20 27 5f 5f 6d ...app.run().if.__name__.==.'__m
3440 61 69 6e 5f 5f 27 3a 00 73 65 74 75 70 28 29 00 23 20 4e 65 65 64 20 74 6f 20 63 6f 6d 65 20 66 ain__':.setup().#.Need.to.come.f
3460 69 72 73 74 20 74 6f 20 62 65 20 63 6f 6d 70 61 74 69 62 6c 65 20 77 69 74 68 20 77 73 67 69 00 irst.to.be.compatible.with.wsgi.
3480 00 20 20 20 20 20 20 20 61 70 70 2e 72 75 6e 28 29 00 69 66 20 5f 5f 6e 61 6d 65 5f 5f 20 3d 3d ........app.run().if.__name__.==
34a0 20 27 5f 5f 6d 61 69 6e 5f 5f 27 3a 00 73 65 74 75 70 28 29 00 23 20 4e 65 65 64 20 74 6f 20 63 .'__main__':.setup().#.Need.to.c
34c0 6f 6d 65 20 66 69 72 73 74 20 74 6f 20 62 65 20 63 6f 6d 70 61 74 69 62 6c 65 20 77 69 74 68 20 ome.first.to.be.compatible.with.
34e0 77 73 67 69 00 00 20 20 20 20 61 70 70 2e 63 6f 6e 66 69 67 2e 75 70 64 61 74 65 28 7b 27 48 4f wsgi......app.config.update({'HO
3500 4d 45 5f 54 49 54 4c 45 27 3a 20 73 69 74 65 63 6f 6e 66 69 67 2e 48 4f 4d 45 5f 54 49 54 4c 45 ME_TITLE':.siteconfig.HOME_TITLE
3520 7d 29 00 20 20 20 20 61 70 70 2e 63 6f 6e 66 69 67 2e 75 70 64 61 74 65 28 7b 27 44 4f 4d 41 49 }).....app.config.update({'DOMAI
3540 4e 27 3a 20 73 69 74 65 63 6f 6e 66 69 67 2e 44 4f 4d 41 49 4e 7d 29 00 00 20 20 20 20 20 20 20 N':.siteconfig.DOMAIN}).........
3560 20 61 70 70 2e 63 6f 6e 66 69 67 2e 75 70 64 61 74 65 28 7b 27 4d 41 49 4e 5f 53 49 54 45 5f 44 .app.config.update({'MAIN_SITE_D
3580 49 52 53 27 3a 20 69 6e 64 65 78 5f 64 69 72 28 27 2e 2f 74 65 6d 70 6c 61 74 65 73 2f 73 69 74 IRS':.index_dir('./templates/sit
35a0 65 27 29 5b 30 5d 7d 29 00 20 20 20 20 65 6c 73 65 3a 00 20 20 20 20 20 20 20 20 61 70 70 2e 63 e')[0]}).....else:.........app.c
35c0 6f 6e 66 69 67 2e 75 70 64 61 74 65 28 7b 27 4d 41 49 4e 5f 53 49 54 45 5f 44 49 52 53 27 3a 20 onfig.update({'MAIN_SITE_DIRS':.
35e0 73 69 74 65 63 6f 6e 66 69 67 2e 4d 41 49 4e 5f 53 49 54 45 5f 44 49 52 53 7d 29 00 20 20 20 20 siteconfig.MAIN_SITE_DIRS}).....
3600 69 66 20 73 69 74 65 63 6f 6e 66 69 67 2e 4d 41 49 4e 5f 53 49 54 45 5f 44 49 52 53 3a 00 00 20 if.siteconfig.MAIN_SITE_DIRS:...
3620 20 20 20 20 20 20 20 61 70 70 2e 63 6f 6e 66 69 67 5b 27 53 45 43 52 45 54 5f 4b 45 59 27 5d 20 .......app.config['SECRET_KEY'].
3640 3d 20 53 45 43 52 45 54 5f 4b 45 59 00 20 20 20 20 20 20 20 20 53 45 43 52 45 54 5f 4b 45 59 20 =.SECRET_KEY.........SECRET_KEY.
3660 3d 20 6f 73 2e 75 72 61 6e 64 6f 6d 28 33 32 29 00 20 20 20 20 65 6c 73 65 3a 00 20 20 20 20 20 =.os.urandom(32).....else:......
3680 20 20 20 61 70 70 2e 63 6f 6e 66 69 67 5b 27 53 45 43 52 45 54 5f 4b 45 59 27 5d 20 3d 20 73 69 ...app.config['SECRET_KEY'].=.si
36a0 74 65 63 6f 6e 66 69 67 2e 53 45 43 52 45 54 5f 4b 45 59 00 20 20 20 20 69 66 20 73 69 74 65 63 teconfig.SECRET_KEY.....if.sitec
36c0 6f 6e 66 69 67 2e 53 45 43 52 45 54 5f 4b 45 59 3a 00 20 20 20 20 22 22 22 00 20 20 20 20 73 70 onfig.SECRET_KEY:.....""".....sp
36e0 65 69 66 69 65 64 29 20 69 6e 20 60 73 69 74 65 63 6f 6e 66 69 67 60 00 20 20 20 20 73 65 74 75 eified).in.`siteconfig`.....setu
3700 70 20 2d 20 73 65 74 73 20 75 70 20 74 68 65 20 61 70 70 20 61 63 63 6f 72 64 69 6e 67 20 74 6f p.-.sets.up.the.app.according.to
3720 20 74 68 65 20 73 65 74 74 69 6e 67 73 20 73 70 65 63 69 66 69 65 64 20 28 6f 72 20 6e 6f 74 00 .the.settings.specified.(or.not.
3740 20 20 20 20 22 22 22 00 64 65 66 20 73 65 74 75 70 28 29 3a 00 00 00 20 20 20 20 20 20 20 20 20 ....""".def.setup():............
3760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 29 00 20 20 20 20 20 20 20 20 ......................).........
3780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 29 00 20 20 20 ...........................)....
37a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
37c0 66 22 2e 7b 20 70 61 74 68 2e 73 70 6c 69 74 28 27 2e 27 29 5b 2d 31 5d 20 7d 22 2c 20 73 69 74 f".{.path.split('.')[-1].}",.sit
37e0 65 63 6f 6e 66 69 67 2e 44 45 46 41 55 4c 54 5f 4d 49 4d 45 54 59 50 45 00 20 20 20 20 20 20 20 econfig.DEFAULT_MIMETYPE........
3800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 69 6d 65 74 79 70 65 ........................mimetype
3820 3d 73 69 74 65 63 6f 6e 66 69 67 2e 4d 49 4d 45 54 59 50 45 53 2e 67 65 74 28 00 20 20 20 20 72 =siteconfig.MIMETYPES.get(.....r
3840 65 74 75 72 6e 20 73 65 6e 64 5f 66 72 6f 6d 5f 64 69 72 65 63 74 6f 72 79 28 27 73 74 61 74 69 eturn.send_from_directory('stati
3860 63 2f 27 2c 20 70 61 74 68 2c 00 20 20 20 20 22 22 22 00 20 20 20 20 60 72 65 6e 64 65 72 5f 66 c/',.path,.....""".....`render_f
3880 69 6c 65 60 2c 20 73 65 6e 64 20 74 68 65 20 72 61 77 20 66 69 6c 65 20 74 6f 20 74 68 65 20 75 ile`,.send.the.raw.file.to.the.u
38a0 73 65 72 00 20 20 20 20 73 65 6e 64 5f 66 69 6c 65 20 2d 20 69 6e 73 74 65 61 64 20 6f 66 20 72 ser.....send_file.-.instead.of.r
38c0 65 6e 64 65 72 69 6e 67 20 61 20 66 69 6c 65 20 77 69 74 68 69 6e 20 61 20 74 65 6d 70 6c 61 74 endering.a.file.within.a.templat
38e0 65 20 61 73 20 77 69 74 68 00 20 20 20 20 22 22 22 00 64 65 66 20 73 65 6e 64 5f 66 69 6c 65 5f e.as.with.....""".def.send_file_
3900 66 72 6f 6d 5f 73 74 61 74 69 63 28 70 61 74 68 29 3a 00 40 61 70 70 2e 72 6f 75 74 65 28 22 2f from_static(path):.@app.route("/
3920 73 74 61 74 69 63 2f 3c 70 61 74 68 3a 70 61 74 68 3e 22 29 00 00 00 20 20 20 20 20 20 20 20 20 static/<path:path>")............
3940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 29 00 20 20 20 20 20 20 20 20 ......................).........
3960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 29 00 20 20 20 ...........................)....
3980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
39a0 66 22 2e 7b 20 70 61 74 68 2e 73 70 6c 69 74 28 27 2e 27 29 5b 2d 31 5d 20 7d 22 2c 20 73 69 74 f".{.path.split('.')[-1].}",.sit
39c0 65 63 6f 6e 66 69 67 2e 44 45 46 41 55 4c 54 5f 4d 49 4d 45 54 59 50 45 00 20 20 20 20 20 20 20 econfig.DEFAULT_MIMETYPE........
39e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 69 6d 65 74 79 70 65 ........................mimetype
3a00 3d 73 69 74 65 63 6f 6e 66 69 67 2e 4d 49 4d 45 54 59 50 45 53 2e 67 65 74 28 00 20 20 20 20 72 =siteconfig.MIMETYPES.get(.....r
3a20 65 74 75 72 6e 20 73 65 6e 64 5f 66 72 6f 6d 5f 64 69 72 65 63 74 6f 72 79 28 27 74 65 6d 70 6c eturn.send_from_directory('templ
3a40 61 74 65 2f 73 69 74 65 2f 27 2c 20 70 61 74 68 2c 00 20 20 20 20 22 22 22 00 20 20 20 20 60 72 ate/site/',.path,.....""".....`r
3a60 65 6e 64 65 72 5f 66 69 6c 65 60 2c 20 73 65 6e 64 20 74 68 65 20 72 61 77 20 66 69 6c 65 20 74 ender_file`,.send.the.raw.file.t
3a80 6f 20 74 68 65 20 75 73 65 72 00 20 20 20 20 73 65 6e 64 5f 66 69 6c 65 20 2d 20 69 6e 73 74 65 o.the.user.....send_file.-.inste
3aa0 61 64 20 6f 66 20 72 65 6e 64 65 72 69 6e 67 20 61 20 66 69 6c 65 20 77 69 74 68 69 6e 20 61 20 ad.of.rendering.a.file.within.a.
3ac0 74 65 6d 70 6c 61 74 65 20 61 73 20 77 69 74 68 00 20 20 20 20 22 22 22 00 64 65 66 20 73 65 6e template.as.with.....""".def.sen
3ae0 64 5f 66 69 6c 65 5f 66 72 6f 6d 5f 73 69 74 65 28 70 61 74 68 29 3a 00 40 61 70 70 2e 72 6f 75 d_file_from_site(path):.@app.rou
3b00 74 65 28 22 2f 72 61 77 2f 3c 70 61 74 68 3a 70 61 74 68 3e 22 29 00 00 00 20 20 20 20 20 20 20 te("/raw/<path:path>")..........
3b20 20 72 65 74 75 72 6e 20 72 65 6e 64 65 72 5f 74 65 6d 70 6c 61 74 65 28 22 62 61 73 65 2e 68 74 .return.render_template("base.ht
3b40 6d 6c 22 2c 20 2a 2a 63 6f 6e 74 65 78 74 29 00 20 20 20 20 20 20 20 20 63 6f 6e 74 65 78 74 2e ml",.**context).........context.
3b60 75 70 64 61 74 65 28 7b 27 65 72 72 6f 72 73 27 3a 20 22 34 30 34 20 46 69 6c 65 20 6e 6f 74 20 update({'errors':."404.File.not.
3b80 66 6f 75 6e 64 22 7d 29 00 20 20 20 20 65 6c 73 65 3a 00 20 20 20 20 20 20 20 20 72 65 74 75 72 found"}).....else:.........retur
3ba0 6e 20 72 65 6e 64 65 72 5f 74 65 6d 70 6c 61 74 65 28 22 69 6e 64 65 78 2e 68 74 6d 6c 22 2c 20 n.render_template("index.html",.
3bc0 2a 2a 63 6f 6e 74 65 78 74 29 00 20 20 20 20 20 20 20 20 29 00 20 20 20 20 20 20 20 20 20 20 20 **context).........)............
3be0 20 7d 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 64 65 73 63 72 69 70 74 69 6f 6e 27 .}.................'description'
3c00 3a 20 64 65 73 63 72 69 70 74 69 6f 6e 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 6c :.description.................'l
3c20 69 6e 6b 73 27 3a 20 6c 69 6e 6b 73 2c 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 66 inks':.links,.................'f
3c40 69 6c 65 73 27 3a 20 66 69 6c 65 73 2c 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 64 iles':.files,.................'d
3c60 69 72 73 27 3a 20 64 69 72 73 2c 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 63 75 72 irs':.dirs,.................'cur
3c80 5f 64 69 72 27 3a 20 70 61 74 68 2e 73 70 6c 69 74 28 27 2f 27 29 5b 2d 31 5d 20 2b 20 27 2f 27 _dir':.path.split('/')[-1].+.'/'
3ca0 2c 00 20 20 20 20 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 63 6f 6e 74 65 78 74 2e ,.............{.........context.
3cc0 75 70 64 61 74 65 28 00 20 20 20 20 20 20 20 20 64 69 72 73 2c 20 66 69 6c 65 73 2c 20 6c 69 6e update(.........dirs,.files,.lin
3ce0 6b 73 2c 20 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 69 6e 64 65 78 5f 64 69 72 28 61 62 73 5f ks,.description.=.index_dir(abs_
3d00 70 61 74 68 29 00 20 20 20 20 65 6c 69 66 20 6f 73 2e 70 61 74 68 2e 69 73 64 69 72 28 61 62 73 path).....elif.os.path.isdir(abs
3d20 5f 70 61 74 68 29 3a 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 _path):.........................
3d40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 29 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...............)................
3d60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 29 00 20 20 ............................)...
3d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3da0 20 20 20 20 20 20 20 20 20 66 22 2e 7b 20 70 61 74 68 2e 73 70 6c 69 74 28 27 2e 27 29 5b 2d 31 .........f".{.path.split('.')[-1
3dc0 5d 20 7d 22 2c 20 73 69 74 65 63 6f 6e 66 69 67 2e 44 45 46 41 55 4c 54 5f 4d 49 4d 45 54 59 50 ].}",.siteconfig.DEFAULT_MIMETYP
3de0 45 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 E...............................
3e00 20 20 20 20 20 20 20 20 20 6d 69 6d 65 74 79 70 65 3d 73 69 74 65 63 6f 6e 66 69 67 2e 4d 49 4d .........mimetype=siteconfig.MIM
3e20 45 54 59 50 45 53 2e 67 65 74 28 00 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 ETYPES.get(.............return.s
3e40 65 6e 64 5f 66 72 6f 6d 5f 64 69 72 65 63 74 6f 72 79 28 27 74 65 6d 70 6c 61 74 65 73 2f 73 69 end_from_directory('templates/si
3e60 74 65 2f 27 2c 20 70 61 74 68 2c 00 20 20 20 20 20 20 20 20 20 20 20 20 23 20 6e 6f 74 20 61 6e te/',.path,.............#.not.an
3e80 20 68 74 6d 6c 20 66 69 6c 65 2c 20 73 6f 20 64 6f 6e 27 74 20 72 65 6e 64 65 72 20 69 74 00 20 .html.file,.so.don't.render.it..
3ea0 20 20 20 20 20 20 20 65 6c 73 65 3a 00 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 .......else:.............return.
3ec0 72 65 6e 64 65 72 5f 74 65 6d 70 6c 61 74 65 28 22 73 69 74 65 2f 22 20 2b 20 70 61 74 68 2c 20 render_template("site/".+.path,.
3ee0 2a 2a 63 6f 6e 74 65 78 74 29 00 20 20 20 20 20 20 20 20 65 6c 69 66 20 61 62 73 5f 70 61 74 68 **context).........elif.abs_path
3f00 2e 65 6e 64 73 77 69 74 68 28 27 2e 68 74 6d 6c 21 27 29 3a 00 20 20 20 20 20 20 20 20 20 20 20 .endswith('.html!'):............
3f20 20 72 65 74 75 72 6e 20 72 65 6e 64 65 72 5f 74 65 6d 70 6c 61 74 65 5f 73 74 72 69 6e 67 28 43 .return.render_template_string(C
3f40 4f 4e 54 45 4e 54 5f 42 4c 4f 43 4b 2e 72 65 70 6c 61 63 65 28 27 24 27 2c 20 63 6f 6e 74 65 6e ONTENT_BLOCK.replace('$',.conten
3f60 74 29 2c 20 2a 2a 63 6f 6e 74 65 78 74 29 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 t),.**context).................c
3f80 6f 6e 74 65 6e 74 20 3d 20 66 2e 72 65 61 64 28 29 00 20 20 20 20 20 20 20 20 20 20 20 20 77 69 ontent.=.f.read().............wi
3fa0 74 68 20 6f 70 65 6e 28 61 62 73 5f 70 61 74 68 29 20 61 73 20 66 3a 00 20 20 20 20 20 20 20 20 th.open(abs_path).as.f:.........
3fc0 69 66 20 61 62 73 5f 70 61 74 68 2e 65 6e 64 73 77 69 74 68 28 27 2e 68 74 6d 6c 27 29 3a 00 20 if.abs_path.endswith('.html'):..
3fe0 20 20 20 69 66 20 6f 73 2e 70 61 74 68 2e 69 73 66 69 6c 65 28 61 62 73 5f 70 61 74 68 29 3a 00 ...if.os.path.isfile(abs_path):.