| ofs | hex dump | ascii | 
|---|
| 0000 |  66 2d 32 30 32 34 31 30 30 33 2e 31 31 33 31 2f    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | f-20241003.1131/................ | 
| 0020 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 0040 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 0060 |  00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30    30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30  | ....0000755.0000000.0000000.0000 | 
| 0080 |  30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 31 32 31 37 00 20 35 00 00 00  | 0000000.00000000000.011217..5... | 
| 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 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | .ustar...root................... | 
| 0120 |  00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | .........root................... | 
| 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 |  66 2d 32 30 32 34 31 30 30 33 2e 31 31 33 31 2f    66 2d 70 6b 67 2e 65 6c 00 00 00 00 00 00 00 00  | f-20241003.1131/f-pkg.el........ | 
| 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 30 30 30 30 36 34 34 00 30 30 30 30    30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30  | ....0000644.0000000.0000000.0000 | 
| 0280 |  30 30 30 30 37 34 37 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 32 35 35 35 00 20 30 00 00 00  | 0000747.00000000000.012555..0... | 
| 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 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | .ustar...root................... | 
| 0320 |  00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | .........root................... | 
| 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 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 0400 |  3b 3b 20 2d 2a 2d 20 6e 6f 2d 62 79 74 65 2d 63    6f 6d 70 69 6c 65 3a 20 74 3b 20 6c 65 78 69 63  | ;;.-*-.no-byte-compile:.t;.lexic | 
| 0420 |  61 6c 2d 62 69 6e 64 69 6e 67 3a 20 6e 69 6c 20    2d 2a 2d 0a 28 64 65 66 69 6e 65 2d 70 61 63 6b  | al-binding:.nil.-*-.(define-pack | 
| 0440 |  61 67 65 20 22 66 22 20 22 32 30 32 34 31 30 30    33 2e 31 31 33 31 22 0a 20 20 22 4d 6f 64 65 72  | age."f"."20241003.1131"..."Moder | 
| 0460 |  6e 20 41 50 49 20 66 6f 72 20 77 6f 72 6b 69 6e    67 20 77 69 74 68 20 66 69 6c 65 73 20 61 6e 64  | n.API.for.working.with.files.and | 
| 0480 |  20 64 69 72 65 63 74 6f 72 69 65 73 2e 22 0a 20    20 27 28 28 65 6d 61 63 73 20 22 32 34 2e 31 22  | .directories."...'((emacs."24.1" | 
| 04a0 |  29 0a 20 20 20 20 28 73 20 20 20 20 20 22 31 2e    37 2e 30 22 29 0a 20 20 20 20 28 64 61 73 68 20  | ).....(s....."1.7.0").....(dash. | 
| 04c0 |  20 22 32 2e 32 2e 30 22 29 29 0a 20 20 3a 75 72    6c 20 22 68 74 74 70 3a 2f 2f 67 69 74 68 75 62  | ."2.2.0"))...:url."http://github | 
| 04e0 |  2e 63 6f 6d 2f 72 65 6a 65 65 70 2f 66 2e 65 6c    22 0a 20 20 3a 63 6f 6d 6d 69 74 20 22 39 33 31  | .com/rejeep/f.el"...:commit."931 | 
| 0500 |  62 36 64 30 36 36 37 66 65 30 33 65 37 62 66 31    63 36 63 32 38 32 64 36 64 38 64 37 30 30 36 31  | b6d0667fe03e7bf1c6c282d6d8d70061 | 
| 0520 |  34 33 63 35 32 22 0a 20 20 3a 72 65 76 64 65 73    63 20 22 39 33 31 62 36 64 30 36 36 37 66 65 22  | 43c52"...:revdesc."931b6d0667fe" | 
| 0540 |  0a 20 20 3a 6b 65 79 77 6f 72 64 73 20 27 28 22    66 69 6c 65 73 22 20 22 64 69 72 65 63 74 6f 72  | ...:keywords.'("files"."director | 
| 0560 |  69 65 73 22 29 0a 20 20 3a 61 75 74 68 6f 72 73    20 27 28 28 22 4a 6f 68 61 6e 20 41 6e 64 65 72  | ies")...:authors.'(("Johan.Ander | 
| 0580 |  73 73 6f 6e 22 20 2e 20 22 6a 6f 68 61 6e 2e 72    65 6a 65 65 70 40 67 6d 61 69 6c 2e 63 6f 6d 22  | sson"..."johan.rejeep@gmail.com" | 
| 05a0 |  29 29 0a 20 20 3a 6d 61 69 6e 74 61 69 6e 65 72    73 20 27 28 28 22 4c 75 63 69 65 6e 20 43 61 72  | ))...:maintainers.'(("Lucien.Car | 
| 05c0 |  74 69 65 72 2d 54 69 6c 65 74 22 20 2e 20 22 6c    75 63 69 65 6e 40 70 68 75 6e 64 72 61 6b 2e 63  | tier-Tilet"..."lucien@phundrak.c | 
| 05e0 |  6f 6d 22 29 29 29 0a 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | om"))).......................... | 
| 0600 |  66 2d 32 30 32 34 31 30 30 33 2e 31 31 33 31 2f    66 2d 73 68 6f 72 74 64 6f 63 2e 65 6c 00 00 00  | f-20241003.1131/f-shortdoc.el... | 
| 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 30 30 30 30 36 34 34 00 30 30 30 30    30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30  | ....0000644.0000000.0000000.0000 | 
| 0680 |  30 30 33 33 36 37 36 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 33 36 33 30 00 20 30 00 00 00  | 0033676.00000000000.013630..0... | 
| 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 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | .ustar...root................... | 
| 0720 |  00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | .........root................... | 
| 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 |  3b 3b 3b 20 66 2d 73 68 6f 72 74 64 6f 63 2e 65    6c 20 2d 2d 2d 20 53 68 6f 72 74 64 6f 63 20 66  | ;;;.f-shortdoc.el.---.Shortdoc.f | 
| 0820 |  6f 72 20 66 2e 65 6c 20 2d 2a 2d 20 6c 65 78 69    63 61 6c 2d 62 69 6e 64 69 6e 67 3a 20 74 3b 20  | or.f.el.-*-.lexical-binding:.t;. | 
| 0840 |  6e 6f 2d 62 79 74 65 2d 63 6f 6d 70 69 6c 65 3a    20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 41 75 74 68  | no-byte-compile:.t;.-*-..;;.Auth | 
| 0860 |  6f 72 3a 20 4c 75 63 69 65 6e 20 43 61 72 74 69    65 72 2d 54 69 6c 65 74 20 3c 6c 75 63 69 65 6e  | or:.Lucien.Cartier-Tilet.<lucien | 
| 0880 |  40 70 68 75 6e 64 72 61 6b 2e 63 6f 6d 3e 0a 3b    3b 20 4d 61 69 6e 74 61 69 6e 65 72 3a 20 4c 75  | @phundrak.com>.;;.Maintainer:.Lu | 
| 08a0 |  63 69 65 6e 20 43 61 72 74 69 65 72 2d 54 69 6c    65 74 20 3c 6c 75 63 69 65 6e 40 70 68 75 6e 64  | cien.Cartier-Tilet.<lucien@phund | 
| 08c0 |  72 61 6b 2e 63 6f 6d 3e 0a 3b 3b 20 50 61 63 6b    61 67 65 2d 52 65 71 75 69 72 65 73 3a 20 28 28  | rak.com>.;;.Package-Requires:.(( | 
| 08e0 |  65 6d 61 63 73 20 22 32 38 2e 31 22 29 29 0a 3b    3b 20 48 6f 6d 65 70 61 67 65 3a 20 68 74 74 70  | emacs."28.1")).;;.Homepage:.http | 
| 0900 |  73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 72    65 6a 65 65 70 2f 66 2e 65 6c 0a 0a 3b 3b 20 54  | s://github.com/rejeep/f.el..;;.T | 
| 0920 |  68 69 73 20 66 69 6c 65 20 69 73 20 6e 6f 74 20    70 61 72 74 20 6f 66 20 47 4e 55 20 45 6d 61 63  | his.file.is.not.part.of.GNU.Emac | 
| 0940 |  73 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72    61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77  | s..;;.This.program.is.free.softw | 
| 0960 |  61 72 65 3a 20 79 6f 75 20 63 61 6e 20 72 65 64    69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64  | are:.you.can.redistribute.it.and | 
| 0980 |  2f 6f 72 20 6d 6f 64 69 66 79 0a 3b 3b 20 69 74    20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73  | /or.modify.;;.it.under.the.terms | 
| 09a0 |  20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65    72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e  | .of.the.GNU.General.Public.Licen | 
| 09c0 |  73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20    62 79 0a 3b 3b 20 74 68 65 20 46 72 65 65 20 53  | se.as.published.by.;;.the.Free.S | 
| 09e0 |  6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69    6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69  | oftware.Foundation,.either.versi | 
| 0a00 |  6f 6e 20 33 20 6f 66 20 74 68 65 20 4c 69 63 65    6e 73 65 2c 20 6f 72 0a 3b 3b 20 28 61 74 20 79  | on.3.of.the.License,.or.;;.(at.y | 
| 0a20 |  6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20    6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a  | our.option).any.later.version... | 
| 0a40 |  3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20    69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69  | ;;.This.program.is.distributed.i | 
| 0a60 |  6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20    69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75  | n.the.hope.that.it.will.be.usefu | 
| 0a80 |  6c 2c 0a 3b 3b 20 62 75 74 20 57 49 54 48 4f 55    54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20  | l,.;;.but.WITHOUT.ANY.WARRANTY;. | 
| 0aa0 |  77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65    20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74  | without.even.the.implied.warrant | 
| 0ac0 |  79 20 6f 66 0a 3b 3b 20 4d 45 52 43 48 41 4e 54    41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45  | y.of.;;.MERCHANTABILITY.or.FITNE | 
| 0ae0 |  53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55    4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65  | SS.FOR.A.PARTICULAR.PURPOSE...Se | 
| 0b00 |  65 20 74 68 65 0a 3b 3b 20 47 4e 55 20 47 65 6e    65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65  | e.the.;;.GNU.General.Public.Lice | 
| 0b20 |  6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74    61 69 6c 73 2e 0a 0a 3b 3b 20 59 6f 75 20 73 68  | nse.for.more.details...;;.You.sh | 
| 0b40 |  6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76    65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65  | ould.have.received.a.copy.of.the | 
| 0b60 |  20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62    6c 69 63 20 4c 69 63 65 6e 73 65 0a 3b 3b 20 61  | .GNU.General.Public.License.;;.a | 
| 0b80 |  6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70    72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c  | long.with.this.program...If.not, | 
| 0ba0 |  20 73 65 65 20 3c 68 74 74 70 73 3a 2f 2f 77 77    77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73  | .see.<https://www.gnu.org/licens | 
| 0bc0 |  65 73 2f 3e 2e 0a 0a 0a 3b 3b 3b 20 43 6f 6d 6d    65 6e 74 61 72 79 3a 0a 0a 3b 3b 20 53 68 6f 72  | es/>....;;;.Commentary:..;;.Shor | 
| 0be0 |  74 64 6f 63 20 69 6d 70 6c 65 6d 65 6e 74 61 74    69 6f 6e 20 66 6f 72 20 66 2e 65 6c 0a 0a 3b 3b  | tdoc.implementation.for.f.el..;; | 
| 0c00 |  3b 20 43 6f 64 65 3a 0a 0a 28 77 68 65 6e 20 28    76 65 72 73 69 6f 6e 3c 3d 20 22 32 38 2e 31 22  | ;.Code:..(when.(version<=."28.1" | 
| 0c20 |  20 65 6d 61 63 73 2d 76 65 72 73 69 6f 6e 29 0a    20 20 28 72 65 71 75 69 72 65 20 27 73 68 6f 72  | .emacs-version)...(require.'shor | 
| 0c40 |  74 64 6f 63 29 0a 0a 20 20 28 64 65 66 69 6e 65    2d 73 68 6f 72 74 2d 64 6f 63 75 6d 65 6e 74 61  | tdoc)....(define-short-documenta | 
| 0c60 |  74 69 6f 6e 2d 67 72 6f 75 70 20 66 0a 20 20 20    20 22 50 61 74 68 73 22 0a 20 20 20 20 28 66 2d  | tion-group.f....."Paths".....(f- | 
| 0c80 |  6a 6f 69 6e 0a 20 20 20 20 20 3a 65 76 61 6c 20    28 66 2d 6a 6f 69 6e 20 22 70 61 74 68 22 29 0a  | join......:eval.(f-join."path"). | 
| 0ca0 |  20 20 20 20 20 3a 65 76 61 6c 20 28 66 2d 6a 6f    69 6e 20 22 70 61 74 68 22 20 22 74 6f 22 29 0a  | .....:eval.(f-join."path"."to"). | 
| 0cc0 |  20 20 20 20 20 3a 65 76 61 6c 20 28 66 2d 6a 6f    69 6e 20 22 2f 22 20 22 70 61 74 68 22 20 22 74  | .....:eval.(f-join."/"."path"."t | 
| 0ce0 |  6f 22 20 22 68 65 61 76 65 6e 22 29 0a 20 20 20    20 20 3a 65 76 61 6c 20 28 66 2d 6a 6f 69 6e 20  | o"."heaven")......:eval.(f-join. | 
| 0d00 |  22 70 61 74 68 22 20 22 2f 74 6f 22 20 22 66 69    6c 65 22 29 29 0a 0a 20 20 20 20 28 66 2d 73 70  | "path"."/to"."file"))......(f-sp | 
| 0d20 |  6c 69 74 0a 20 20 20 20 20 3a 65 76 61 6c 20 28    66 2d 73 70 6c 69 74 20 22 70 61 74 68 22 29 0a  | lit......:eval.(f-split."path"). | 
| 0d40 |  20 20 20 20 20 3a 65 76 61 6c 20 28 66 2d 73 70    6c 69 74 20 22 70 61 74 68 2f 74 6f 22 29 0a 20  | .....:eval.(f-split."path/to").. | 
| 0d60 |  20 20 20 20 3a 65 76 61 6c 20 28 66 2d 73 70 6c    69 74 20 22 2f 70 61 74 68 2f 74 6f 2f 68 65 61  | ....:eval.(f-split."/path/to/hea | 
| 0d80 |  76 65 6e 22 29 0a 20 20 20 20 20 3a 65 76 61 6c    20 28 66 2d 73 70 6c 69 74 20 22 7e 2f 62 61 63  | ven")......:eval.(f-split."~/bac | 
| 0da0 |  6b 2f 74 6f 2f 65 61 72 74 68 22 29 29 0a 0a 20    20 20 20 28 66 2d 65 78 70 61 6e 64 0a 20 20 20  | k/to/earth"))......(f-expand.... | 
| 0dc0 |  20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d 65 78    70 61 6e 64 20 22 6e 61 6d 65 22 29 0a 20 20 20  | ..:no-eval.(f-expand."name").... | 
| 0de0 |  20 20 3a 72 65 73 75 6c 74 2d 73 74 72 69 6e 67    20 22 2f 64 65 66 61 75 6c 74 2f 64 69 72 65 63  | ..:result-string."/default/direc | 
| 0e00 |  74 6f 72 79 2f 6e 61 6d 65 22 0a 20 20 20 20 20    3a 6e 6f 2d 65 76 61 6c 20 28 66 2d 65 78 70 61  | tory/name"......:no-eval.(f-expa | 
| 0e20 |  6e 64 20 22 6e 61 6d 65 22 20 22 6f 74 68 65 72    2f 64 69 72 65 63 74 6f 72 79 22 29 0a 20 20 20  | nd."name"."other/directory").... | 
| 0e40 |  20 20 3a 72 65 73 75 6c 74 2d 73 74 72 69 6e 67    20 22 6f 74 68 65 72 2f 64 69 72 65 63 74 6f 72  | ..:result-string."other/director | 
| 0e60 |  79 2f 6e 61 6d 65 22 29 0a 0a 20 20 20 20 28 66    2d 66 69 6c 65 6e 61 6d 65 0a 20 20 20 20 20 3a  | y/name")......(f-filename......: | 
| 0e80 |  65 76 61 6c 20 28 66 2d 66 69 6c 65 6e 61 6d 65    20 22 70 61 74 68 2f 74 6f 2f 66 69 6c 65 2e 65  | eval.(f-filename."path/to/file.e | 
| 0ea0 |  78 74 22 29 0a 20 20 20 20 20 3a 65 76 61 6c 20    28 66 2d 66 69 6c 65 6e 61 6d 65 20 22 70 61 74  | xt")......:eval.(f-filename."pat | 
| 0ec0 |  68 2f 74 6f 2f 64 69 72 65 63 74 6f 72 79 22 29    29 0a 0a 20 20 20 20 28 66 2d 64 69 72 6e 61 6d  | h/to/directory"))......(f-dirnam | 
| 0ee0 |  65 0a 20 20 20 20 20 3a 65 76 61 6c 20 28 66 2d    64 69 72 6e 61 6d 65 20 22 70 61 74 68 2f 74 6f  | e......:eval.(f-dirname."path/to | 
| 0f00 |  2f 66 69 6c 65 2e 65 78 74 22 29 0a 20 20 20 20    20 3a 65 76 61 6c 20 28 66 2d 64 69 72 6e 61 6d  | /file.ext")......:eval.(f-dirnam | 
| 0f20 |  65 20 22 70 61 74 68 2f 74 6f 2f 64 69 72 65 63    74 6f 72 79 22 29 0a 20 20 20 20 20 3a 65 76 61  | e."path/to/directory")......:eva | 
| 0f40 |  6c 20 28 66 2d 64 69 72 6e 61 6d 65 20 22 2f 22    29 29 0a 0a 20 20 20 20 28 66 2d 63 6f 6d 6d 6f  | l.(f-dirname."/"))......(f-commo | 
| 0f60 |  6e 2d 70 61 72 65 6e 74 0a 20 20 20 20 20 3a 65    76 61 6c 20 28 66 2d 63 6f 6d 6d 6f 6e 2d 70 61  | n-parent......:eval.(f-common-pa | 
| 0f80 |  72 65 6e 74 20 27 28 22 66 6f 6f 2f 62 61 72 2f    62 61 7a 22 20 22 66 6f 6f 2f 62 61 72 2f 71 75  | rent.'("foo/bar/baz"."foo/bar/qu | 
| 0fa0 |  78 22 20 22 66 6f 6f 2f 62 61 72 2f 6d 75 78 22    29 29 0a 20 20 20 20 20 3a 65 76 61 6c 20 28 66  | x"."foo/bar/mux"))......:eval.(f | 
| 0fc0 |  2d 63 6f 6d 6d 6f 6e 2d 70 61 72 65 6e 74 20 27    28 22 2f 66 6f 6f 2f 62 61 72 2f 62 61 7a 22 20  | -common-parent.'("/foo/bar/baz". | 
| 0fe0 |  22 2f 66 6f 6f 2f 62 61 72 2f 71 75 78 22 20 22    2f 66 6f 6f 2f 62 61 78 2f 6d 75 78 22 29 29 0a  | "/foo/bar/qux"."/foo/bax/mux")). | 
| 1000 |  20 20 20 20 20 3a 65 76 61 6c 20 28 66 2d 63 6f    6d 6d 6f 6e 2d 70 61 72 65 6e 74 20 27 28 22 66  | .....:eval.(f-common-parent.'("f | 
| 1020 |  6f 6f 2f 62 61 72 2f 62 61 7a 22 20 22 71 75 61    63 6b 2f 62 61 72 2f 71 75 78 22 20 22 6c 61 63  | oo/bar/baz"."quack/bar/qux"."lac | 
| 1040 |  6b 2f 62 61 72 2f 6d 75 78 22 29 29 29 0a 0a 20    20 20 20 28 66 2d 65 78 74 0a 20 20 20 20 20 3a  | k/bar/mux")))......(f-ext......: | 
| 1060 |  65 76 61 6c 20 28 66 2d 65 78 74 20 22 70 61 74    68 2f 74 6f 2f 66 69 6c 65 22 29 0a 20 20 20 20  | eval.(f-ext."path/to/file")..... | 
| 1080 |  20 3a 65 76 61 6c 20 28 66 2d 65 78 74 20 22 70    61 74 68 2f 74 6f 2f 66 69 6c 65 2e 74 78 74 22  | .:eval.(f-ext."path/to/file.txt" | 
| 10a0 |  29 0a 20 20 20 20 20 3a 65 76 61 6c 20 28 66 2d    65 78 74 20 22 70 61 74 68 2f 74 6f 2f 66 69 6c  | )......:eval.(f-ext."path/to/fil | 
| 10c0 |  65 2e 74 78 74 2e 6f 72 67 22 29 29 0a 0a 20 20    20 20 28 66 2d 6e 6f 2d 65 78 74 0a 20 20 20 20  | e.txt.org"))......(f-no-ext..... | 
| 10e0 |  20 3a 65 76 61 6c 20 28 66 2d 6e 6f 2d 65 78 74    20 22 70 61 74 68 2f 74 6f 2f 66 69 6c 65 22 29  | .:eval.(f-no-ext."path/to/file") | 
| 1100 |  0a 20 20 20 20 20 3a 65 76 61 6c 20 28 66 2d 6e    6f 2d 65 78 74 20 22 70 61 74 68 2f 74 6f 2f 66  | ......:eval.(f-no-ext."path/to/f | 
| 1120 |  69 6c 65 2e 74 78 74 22 29 0a 20 20 20 20 20 3a    65 76 61 6c 20 28 66 2d 6e 6f 2d 65 78 74 20 22  | ile.txt")......:eval.(f-no-ext." | 
| 1140 |  70 61 74 68 2f 74 6f 2f 66 69 6c 65 2e 74 78 74    2e 6f 72 67 22 29 29 0a 0a 20 20 20 20 28 66 2d  | path/to/file.txt.org"))......(f- | 
| 1160 |  73 77 61 70 2d 65 78 74 0a 20 20 20 20 20 3a 65    76 61 6c 20 28 66 2d 73 77 61 70 2d 65 78 74 20  | swap-ext......:eval.(f-swap-ext. | 
| 1180 |  22 70 61 74 68 2f 74 6f 2f 66 69 6c 65 2e 65 78    74 22 20 22 6f 72 67 22 29 29 0a 0a 20 20 20 20  | "path/to/file.ext"."org"))...... | 
| 11a0 |  28 66 2d 62 61 73 65 0a 20 20 20 20 20 3a 65 76    61 6c 20 28 66 2d 62 61 73 65 20 22 70 61 74 68  | (f-base......:eval.(f-base."path | 
| 11c0 |  2f 74 6f 2f 66 69 6c 65 2e 65 78 74 22 29 0a 20    20 20 20 20 3a 65 76 61 6c 20 28 66 2d 62 61 73  | /to/file.ext")......:eval.(f-bas | 
| 11e0 |  65 20 22 70 61 74 68 2f 74 6f 2f 64 69 72 65 63    74 6f 72 79 22 29 29 0a 0a 20 20 20 20 28 66 2d  | e."path/to/directory"))......(f- | 
| 1200 |  72 65 6c 61 74 69 76 65 0a 20 20 20 20 20 3a 65    76 61 6c 20 28 66 2d 72 65 6c 61 74 69 76 65 20  | relative......:eval.(f-relative. | 
| 1220 |  22 2f 73 6f 6d 65 2f 70 61 74 68 2f 72 65 6c 61    74 69 76 65 2f 74 6f 2f 6d 79 2f 66 69 6c 65 2e  | "/some/path/relative/to/my/file. | 
| 1240 |  74 78 74 22 20 22 2f 73 6f 6d 65 2f 70 61 74 68    2f 22 29 0a 20 20 20 20 20 3a 65 76 61 6c 20 28  | txt"."/some/path/")......:eval.( | 
| 1260 |  66 2d 72 65 6c 61 74 69 76 65 20 22 2f 64 65 66    61 75 6c 74 2f 64 69 72 65 63 74 6f 72 79 2f 6d  | f-relative."/default/directory/m | 
| 1280 |  79 2f 66 69 6c 65 2e 74 78 74 22 29 29 0a 0a 20    20 20 20 28 66 2d 73 68 6f 72 74 0a 20 20 20 20  | y/file.txt"))......(f-short..... | 
| 12a0 |  20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d 73 68 6f    72 74 20 22 2f 55 73 65 72 73 2f 66 6f 6f 2f 43  | .:no-eval.(f-short."/Users/foo/C | 
| 12c0 |  6f 64 65 2f 6f 6e 2f 6d 61 63 4f 53 22 29 0a 20    20 20 20 20 3a 72 65 73 75 6c 74 2d 73 74 72 69  | ode/on/macOS")......:result-stri | 
| 12e0 |  6e 67 20 22 7e 2f 43 6f 64 65 2f 6f 6e 2f 6d 61    63 4f 53 22 0a 20 20 20 20 20 3a 6e 6f 2d 65 76  | ng."~/Code/on/macOS"......:no-ev | 
| 1300 |  61 6c 20 28 66 2d 73 68 6f 72 74 20 22 2f 68 6f    6d 65 2f 66 6f 6f 2f 43 6f 64 65 2f 6f 6e 2f 6c  | al.(f-short."/home/foo/Code/on/l | 
| 1320 |  69 6e 75 78 22 29 0a 20 20 20 20 20 3a 72 65 73    75 6c 74 2d 73 74 72 69 6e 67 20 22 7e 2f 43 6f  | inux")......:result-string."~/Co | 
| 1340 |  64 65 2f 6f 6e 2f 6c 69 6e 75 78 22 0a 20 20 20    20 20 3a 65 76 61 6c 20 28 66 2d 73 68 6f 72 74  | de/on/linux"......:eval.(f-short | 
| 1360 |  20 22 2f 70 61 74 68 2f 74 6f 2f 43 6f 64 65 2f    62 61 72 22 29 29 0a 0a 20 20 20 20 28 66 2d 6c  | ."/path/to/Code/bar"))......(f-l | 
| 1380 |  6f 6e 67 0a 20 20 20 20 20 3a 65 76 61 6c 20 28    66 2d 6c 6f 6e 67 20 22 7e 2f 43 6f 64 65 2f 62  | ong......:eval.(f-long."~/Code/b | 
| 13a0 |  61 72 22 29 0a 20 20 20 20 20 3a 65 76 61 6c 20    28 66 2d 6c 6f 6e 67 20 22 2f 70 61 74 68 2f 74  | ar")......:eval.(f-long."/path/t | 
| 13c0 |  6f 2f 43 6f 64 65 2f 62 61 72 22 29 29 0a 0a 20    20 20 20 28 66 2d 63 61 6e 6f 6e 69 63 61 6c 0a  | o/Code/bar"))......(f-canonical. | 
| 13e0 |  20 20 20 20 20 3a 65 76 61 6c 20 28 66 2d 63 61    6e 6f 6e 69 63 61 6c 20 22 2f 70 61 74 68 2f 74  | .....:eval.(f-canonical."/path/t | 
| 1400 |  6f 2f 72 65 61 6c 2f 66 69 6c 65 22 29 0a 20 20    20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d 63  | o/real/file")......:no-eval.(f-c | 
| 1420 |  61 6e 6f 6e 69 63 61 6c 20 22 2f 6c 69 6e 6b 2f    74 6f 2f 66 69 6c 65 22 29 0a 20 20 20 20 20 3a  | anonical."/link/to/file")......: | 
| 1440 |  72 65 73 75 6c 74 2d 73 74 72 69 6e 67 20 22 2f    70 61 74 68 2f 74 6f 2f 72 65 61 6c 2f 66 69 6c  | result-string."/path/to/real/fil | 
| 1460 |  65 22 29 0a 0a 20 20 20 20 28 66 2d 73 6c 61 73    68 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20  | e")......(f-slash......:no-eval. | 
| 1480 |  28 66 2d 73 6c 61 73 68 20 22 2f 70 61 74 68 2f    74 6f 2f 66 69 6c 65 22 29 0a 20 20 20 20 20 3a  | (f-slash."/path/to/file")......: | 
| 14a0 |  72 65 73 75 6c 74 2d 73 74 72 69 6e 67 20 22 2f    70 61 74 68 2f 74 6f 2f 66 69 6c 65 22 0a 20 20  | result-string."/path/to/file"... | 
| 14c0 |  20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d 73    6c 61 73 68 20 22 2f 70 61 74 68 2f 74 6f 2f 64  | ...:no-eval.(f-slash."/path/to/d | 
| 14e0 |  69 72 22 29 0a 20 20 20 20 20 3a 72 65 73 75 6c    74 2d 73 74 72 69 6e 67 20 22 2f 70 61 74 68 2f  | ir")......:result-string."/path/ | 
| 1500 |  74 6f 2f 64 69 72 2f 22 0a 20 20 20 20 20 3a 6e    6f 2d 65 76 61 6c 20 28 66 2d 73 6c 61 73 68 20  | to/dir/"......:no-eval.(f-slash. | 
| 1520 |  22 2f 70 61 74 68 2f 74 6f 2f 64 69 72 2f 22 29    0a 20 20 20 20 20 3a 72 65 73 75 6c 74 2d 73 74  | "/path/to/dir/")......:result-st | 
| 1540 |  72 69 6e 67 20 22 2f 70 61 74 68 2f 74 6f 2f 64    69 72 2f 22 29 0a 0a 20 20 20 20 28 66 2d 66 75  | ring."/path/to/dir/")......(f-fu | 
| 1560 |  6c 6c 0a 20 20 20 20 20 3a 65 76 61 6c 20 28 66    2d 66 75 6c 6c 20 22 7e 2f 70 61 74 68 2f 74 6f  | ll......:eval.(f-full."~/path/to | 
| 1580 |  2f 66 69 6c 65 22 29 0a 20 20 20 20 20 3a 65 76    61 6c 20 28 66 2d 66 75 6c 6c 20 22 7e 2f 70 61  | /file")......:eval.(f-full."~/pa | 
| 15a0 |  74 68 2f 74 6f 2f 64 69 72 22 29 0a 20 20 20 20    20 3a 65 76 61 6c 20 28 66 2d 66 75 6c 6c 20 22  | th/to/dir")......:eval.(f-full." | 
| 15c0 |  7e 2f 70 61 74 68 2f 74 6f 2f 64 69 72 2f 22 29    29 0a 0a 20 20 20 20 28 66 2d 75 6e 69 71 75 69  | ~/path/to/dir/"))......(f-uniqui | 
| 15e0 |  66 79 0a 20 20 20 20 20 3a 65 76 61 6c 20 28 66    2d 75 6e 69 71 75 69 66 79 20 27 28 22 2f 66 6f  | fy......:eval.(f-uniquify.'("/fo | 
| 1600 |  6f 2f 62 61 72 22 20 22 2f 66 6f 6f 2f 62 61 7a    22 20 22 2f 66 6f 6f 2f 71 75 75 78 22 29 29 0a  | o/bar"."/foo/baz"."/foo/quux")). | 
| 1620 |  20 20 20 20 20 3a 65 76 61 6c 20 28 66 2d 75 6e    69 71 75 69 66 79 20 27 28 22 2f 66 6f 6f 2f 62  | .....:eval.(f-uniquify.'("/foo/b | 
| 1640 |  61 72 22 20 22 2f 77 77 77 2f 62 61 72 22 20 22    2f 66 6f 6f 2f 71 75 75 78 22 29 29 0a 20 20 20  | ar"."/www/bar"."/foo/quux")).... | 
| 1660 |  20 20 3a 65 76 61 6c 20 28 66 2d 75 6e 69 71 75    69 66 79 20 27 28 22 2f 66 6f 6f 2f 62 61 72 22  | ..:eval.(f-uniquify.'("/foo/bar" | 
| 1680 |  20 22 2f 77 77 77 2f 62 61 72 22 20 22 2f 77 77    77 2f 62 61 72 2f 71 75 75 78 22 29 29 0a 20 20  | ."/www/bar"."/www/bar/quux"))... | 
| 16a0 |  20 20 20 3a 65 76 61 6c 20 28 66 2d 75 6e 69 71    75 69 66 79 20 27 28 22 2f 66 6f 6f 2f 62 61 72  | ...:eval.(f-uniquify.'("/foo/bar | 
| 16c0 |  22 20 22 2f 66 6f 6f 2f 62 61 7a 22 20 22 2f 68    6f 6d 65 2f 77 77 77 2f 62 61 72 22 20 22 2f 68  | "."/foo/baz"."/home/www/bar"."/h | 
| 16e0 |  6f 6d 65 2f 77 77 77 2f 62 61 7a 22 20 22 2f 76    61 72 2f 66 6f 6f 22 20 22 2f 6f 70 74 2f 66 6f  | ome/www/baz"."/var/foo"."/opt/fo | 
| 1700 |  6f 2f 77 77 77 2f 62 61 7a 22 29 29 29 0a 0a 20    20 20 20 28 66 2d 75 6e 69 71 75 69 66 79 2d 61  | o/www/baz")))......(f-uniquify-a | 
| 1720 |  6c 69 73 74 0a 20 20 20 20 20 3a 65 76 61 6c 20    28 66 2d 75 6e 69 71 75 69 66 79 2d 61 6c 69 73  | list......:eval.(f-uniquify-alis | 
| 1740 |  74 20 27 28 22 2f 66 6f 6f 2f 62 61 72 22 20 22    2f 66 6f 6f 2f 62 61 7a 22 20 22 2f 66 6f 6f 2f  | t.'("/foo/bar"."/foo/baz"."/foo/ | 
| 1760 |  71 75 75 78 22 29 29 0a 20 20 20 20 20 3a 65 76    61 6c 20 28 66 2d 75 6e 69 71 75 69 66 79 2d 61  | quux"))......:eval.(f-uniquify-a | 
| 1780 |  6c 69 73 74 20 27 28 22 2f 66 6f 6f 2f 62 61 72    22 20 22 2f 77 77 77 2f 62 61 72 22 20 22 2f 66  | list.'("/foo/bar"."/www/bar"."/f | 
| 17a0 |  6f 6f 2f 71 75 75 78 22 29 29 0a 20 20 20 20 20    3a 65 76 61 6c 20 28 66 2d 75 6e 69 71 75 69 66  | oo/quux"))......:eval.(f-uniquif | 
| 17c0 |  79 2d 61 6c 69 73 74 20 27 28 22 2f 66 6f 6f 2f    62 61 72 22 20 22 2f 77 77 77 2f 62 61 72 22 20  | y-alist.'("/foo/bar"."/www/bar". | 
| 17e0 |  22 2f 77 77 77 2f 62 61 72 2f 71 75 75 78 22 29    29 0a 20 20 20 20 20 3a 65 76 61 6c 20 28 66 2d  | "/www/bar/quux"))......:eval.(f- | 
| 1800 |  75 6e 69 71 75 69 66 79 2d 61 6c 69 73 74 20 27    28 22 2f 66 6f 6f 2f 62 61 72 22 20 22 2f 66 6f  | uniquify-alist.'("/foo/bar"."/fo | 
| 1820 |  6f 2f 62 61 7a 22 20 22 2f 68 6f 6d 65 2f 77 77    77 2f 62 61 72 22 20 22 2f 68 6f 6d 65 2f 77 77  | o/baz"."/home/www/bar"."/home/ww | 
| 1840 |  77 2f 62 61 7a 22 20 22 2f 76 61 72 2f 66 6f 6f    22 20 22 2f 6f 70 74 2f 66 6f 6f 2f 77 77 77 2f  | w/baz"."/var/foo"."/opt/foo/www/ | 
| 1860 |  62 61 7a 22 29 29 29 0a 0a 20 20 20 20 22 49 2f    4f 22 0a 20 20 20 20 28 66 2d 72 65 61 64 2d 62  | baz")))......"I/O".....(f-read-b | 
| 1880 |  79 74 65 73 0a 20 20 20 20 20 3a 6e 6f 2d 65 76    61 6c 2a 20 28 66 2d 72 65 61 64 2d 62 79 74 65  | ytes......:no-eval*.(f-read-byte | 
| 18a0 |  73 20 22 70 61 74 68 2f 74 6f 2f 62 69 6e 61 72    79 2f 64 61 74 61 22 29 29 0a 0a 20 20 20 20 28  | s."path/to/binary/data"))......( | 
| 18c0 |  66 2d 77 72 69 74 65 2d 62 79 74 65 73 0a 20 20    20 20 20 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d  | f-write-bytes......:no-eval*.(f- | 
| 18e0 |  77 72 69 74 65 2d 62 79 74 65 73 20 28 75 6e 69    62 79 74 65 2d 73 74 72 69 6e 67 20 37 32 20 31  | write-bytes.(unibyte-string.72.1 | 
| 1900 |  30 31 20 31 30 38 20 31 30 38 20 31 31 31 20 33    32 20 31 31 39 20 31 31 31 20 31 31 34 20 31 30  | 01.108.108.111.32.119.111.114.10 | 
| 1920 |  38 20 31 30 30 29 20 22 70 61 74 68 2f 74 6f 2f    62 69 6e 61 72 79 2f 64 61 74 61 22 29 29 0a 0a  | 8.100)."path/to/binary/data")).. | 
| 1940 |  20 20 20 20 28 66 2d 61 70 70 65 6e 64 2d 62 79    74 65 73 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61  | ....(f-append-bytes......:no-eva | 
| 1960 |  6c 2a 20 28 66 2d 61 70 70 65 6e 64 2d 62 79 74    65 73 20 22 70 61 74 68 2f 74 6f 2f 66 69 6c 65  | l*.(f-append-bytes."path/to/file | 
| 1980 |  22 20 28 75 6e 69 62 79 74 65 2d 73 74 72 69 6e    67 20 37 32 20 31 30 31 20 31 30 38 20 31 30 38  | ".(unibyte-string.72.101.108.108 | 
| 19a0 |  20 31 31 31 20 33 32 20 31 31 39 20 31 31 31 20    31 31 34 20 31 30 38 20 31 30 30 29 29 29 0a 0a  | .111.32.119.111.114.108.100))).. | 
| 19c0 |  20 20 20 20 28 66 2d 72 65 61 64 2d 74 65 78 74    0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 2a 20  | ....(f-read-text......:no-eval*. | 
| 19e0 |  28 66 2d 72 65 61 64 2d 74 65 78 74 20 22 70 61    74 68 2f 74 6f 2f 66 69 6c 65 2e 74 78 74 22 20  | (f-read-text."path/to/file.txt". | 
| 1a00 |  27 75 74 66 2d 38 29 0a 20 20 20 20 20 3a 6e 6f    2d 65 76 61 6c 2a 20 28 66 2d 72 65 61 64 20 22  | 'utf-8)......:no-eval*.(f-read." | 
| 1a20 |  70 61 74 68 2f 74 6f 2f 66 69 6c 65 2e 74 78 74    22 20 27 75 74 66 2d 38 29 29 0a 0a 20 20 20 20  | path/to/file.txt".'utf-8))...... | 
| 1a40 |  28 66 2d 77 72 69 74 65 2d 74 65 78 74 0a 20 20    20 20 20 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d  | (f-write-text......:no-eval*.(f- | 
| 1a60 |  77 72 69 74 65 2d 74 65 78 74 20 22 48 65 6c 6c    6f 20 77 6f 72 6c 64 22 20 27 75 74 66 2d 38 20  | write-text."Hello.world".'utf-8. | 
| 1a80 |  22 70 61 74 68 2f 74 6f 2f 66 69 6c 65 2e 74 78    74 22 29 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61  | "path/to/file.txt")......:no-eva | 
| 1aa0 |  6c 2a 20 28 66 2d 77 72 69 74 65 20 22 48 65 6c    6c 6f 20 77 6f 72 6c 64 22 20 27 75 74 66 2d 38  | l*.(f-write."Hello.world".'utf-8 | 
| 1ac0 |  20 22 70 61 74 68 2f 74 6f 2f 66 69 6c 65 2e 74    78 74 22 29 29 0a 0a 20 20 20 20 28 66 2d 61 70  | ."path/to/file.txt"))......(f-ap | 
| 1ae0 |  70 65 6e 64 2d 74 65 78 74 0a 20 20 20 20 20 3a    6e 6f 2d 65 76 61 6c 2a 20 28 66 2d 61 70 70 65  | pend-text......:no-eval*.(f-appe | 
| 1b00 |  6e 64 2d 74 65 78 74 20 22 48 65 6c 6c 6f 20 77    6f 72 6c 64 22 20 27 75 74 66 2d 38 20 22 70 61  | nd-text."Hello.world".'utf-8."pa | 
| 1b20 |  74 68 2f 74 6f 2f 66 69 6c 65 2e 74 78 74 22 29    0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 2a 20  | th/to/file.txt")......:no-eval*. | 
| 1b40 |  28 66 2d 61 70 70 65 6e 64 20 22 48 65 6c 6c 6f    20 77 6f 72 6c 64 22 20 27 75 74 66 2d 38 20 22  | (f-append."Hello.world".'utf-8." | 
| 1b60 |  70 61 74 68 2f 74 6f 2f 66 69 6c 65 2e 74 78 74    22 29 29 0a 0a 20 20 20 20 22 44 65 73 74 72 75  | path/to/file.txt"))......"Destru | 
| 1b80 |  63 74 69 76 65 22 0a 20 20 20 20 28 66 2d 6d 6b    64 69 72 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61  | ctive".....(f-mkdir......:no-eva | 
| 1ba0 |  6c 20 28 66 2d 6d 6b 64 69 72 20 22 64 69 72 22    29 0a 20 20 20 20 20 3a 72 65 73 75 6c 74 2d 73  | l.(f-mkdir."dir")......:result-s | 
| 1bc0 |  74 72 69 6e 67 20 22 63 72 65 61 74 65 73 20 2f    64 65 66 61 75 6c 74 2f 64 69 72 65 63 74 6f 72  | tring."creates./default/director | 
| 1be0 |  79 2f 64 69 72 22 0a 20 20 20 20 20 3a 6e 6f 2d    65 76 61 6c 20 28 66 2d 6d 6b 64 69 72 20 22 6f  | y/dir"......:no-eval.(f-mkdir."o | 
| 1c00 |  74 68 65 72 22 20 22 64 69 72 22 29 0a 20 20 20    20 20 3a 72 65 73 75 6c 74 2d 73 74 72 69 6e 67  | ther"."dir")......:result-string | 
| 1c20 |  20 22 63 72 65 61 74 65 73 20 2f 64 65 66 61 75    6c 74 2f 64 69 72 65 63 74 6f 72 79 2f 6f 74 68  | ."creates./default/directory/oth | 
| 1c40 |  65 72 2f 64 69 72 22 0a 20 20 20 20 20 3a 6e 6f    2d 65 76 61 6c 20 28 66 2d 6d 6b 64 69 72 20 22  | er/dir"......:no-eval.(f-mkdir." | 
| 1c60 |  2f 22 20 22 73 6f 6d 65 22 20 22 70 61 74 68 22    29 0a 20 20 20 20 20 3a 72 65 73 75 6c 74 2d 73  | /"."some"."path")......:result-s | 
| 1c80 |  74 72 69 6e 67 20 22 63 72 65 61 74 65 73 20 2f    73 6f 6d 65 2f 70 61 74 68 22 0a 20 20 20 20 20  | tring."creates./some/path"...... | 
| 1ca0 |  3a 6e 6f 2d 65 76 61 6c 20 28 66 2d 6d 6b 64 69    72 20 22 7e 22 20 22 79 65 74 22 20 22 61 6e 6f  | :no-eval.(f-mkdir."~"."yet"."ano | 
| 1cc0 |  74 68 65 72 22 20 22 64 69 72 22 29 0a 20 20 20    20 20 3a 72 65 73 75 6c 74 2d 73 74 72 69 6e 67  | ther"."dir")......:result-string | 
| 1ce0 |  20 22 63 72 65 61 74 65 73 20 7e 2f 79 65 74 2f    61 6e 6f 74 68 65 72 2f 64 69 72 22 29 0a 0a 20  | ."creates.~/yet/another/dir")... | 
| 1d00 |  20 20 20 28 66 2d 6d 6b 64 69 72 2d 66 75 6c 6c    2d 70 61 74 68 0a 20 20 20 20 20 3a 6e 6f 2d 65  | ...(f-mkdir-full-path......:no-e | 
| 1d20 |  76 61 6c 20 28 66 2d 6d 6b 64 69 72 2d 66 75 6c    6c 2d 70 61 74 68 20 22 64 69 72 22 29 0a 20 20  | val.(f-mkdir-full-path."dir")... | 
| 1d40 |  20 20 20 3a 72 65 73 75 6c 74 2d 73 74 72 69 6e    67 20 22 63 72 65 61 74 65 73 20 2f 64 65 66 61  | ...:result-string."creates./defa | 
| 1d60 |  75 6c 74 2f 64 69 72 65 63 74 6f 72 79 2f 64 69    72 22 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c  | ult/directory/dir"......:no-eval | 
| 1d80 |  20 28 66 2d 6d 6b 64 69 72 2d 66 75 6c 6c 2d 70    61 74 68 20 22 6f 74 68 65 72 2f 64 69 72 22 29  | .(f-mkdir-full-path."other/dir") | 
| 1da0 |  0a 20 20 20 20 20 3a 72 65 73 75 6c 74 2d 73 74    72 69 6e 67 20 22 63 72 65 61 74 65 73 20 2f 64  | ......:result-string."creates./d | 
| 1dc0 |  65 66 61 75 6c 74 2f 64 69 72 65 63 74 6f 72 79    2f 6f 74 68 65 72 2f 64 69 72 22 0a 20 20 20 20  | efault/directory/other/dir"..... | 
| 1de0 |  20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d 6d 6b 64    69 72 2d 66 75 6c 6c 2d 70 61 74 68 20 22 2f 73  | .:no-eval.(f-mkdir-full-path."/s | 
| 1e00 |  6f 6d 65 2f 70 61 74 68 22 29 0a 20 20 20 20 20    3a 72 65 73 75 6c 74 2d 73 74 72 69 6e 67 20 22  | ome/path")......:result-string." | 
| 1e20 |  63 72 65 61 74 65 73 20 2f 73 6f 6d 65 2f 70 61    74 68 22 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61  | creates./some/path"......:no-eva | 
| 1e40 |  6c 20 28 66 2d 6d 6b 64 69 72 2d 66 75 6c 6c 2d    70 61 74 68 20 22 7e 2f 79 65 74 2f 61 6e 6f 74  | l.(f-mkdir-full-path."~/yet/anot | 
| 1e60 |  68 65 72 2f 64 69 72 22 29 0a 20 20 20 20 20 3a    72 65 73 75 6c 74 2d 73 74 72 69 6e 67 20 22 63  | her/dir")......:result-string."c | 
| 1e80 |  72 65 61 74 65 73 20 7e 2f 79 65 74 2f 61 6e 6f    74 68 65 72 2f 64 69 72 22 29 0a 0a 20 20 20 20  | reates.~/yet/another/dir")...... | 
| 1ea0 |  28 66 2d 64 65 6c 65 74 65 0a 20 20 20 20 20 3a    6e 6f 2d 65 76 61 6c 2a 20 28 66 2d 64 65 6c 65  | (f-delete......:no-eval*.(f-dele | 
| 1ec0 |  74 65 20 22 64 69 72 22 29 0a 20 20 20 20 20 3a    6e 6f 2d 65 76 61 6c 2a 20 28 66 2d 64 65 6c 65  | te."dir")......:no-eval*.(f-dele | 
| 1ee0 |  74 65 20 22 6f 74 68 65 72 2f 64 69 72 22 20 74    29 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 2a  | te."other/dir".t)......:no-eval* | 
| 1f00 |  20 28 66 2d 64 65 6c 65 74 65 20 22 70 61 74 68    2f 74 6f 2f 66 69 6c 65 2e 74 78 74 22 29 29 0a  | .(f-delete."path/to/file.txt")). | 
| 1f20 |  0a 20 20 20 20 28 66 2d 73 79 6d 6c 69 6e 6b 0a    20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 2a 20 28  | .....(f-symlink......:no-eval*.( | 
| 1f40 |  66 2d 73 79 6d 6c 69 6e 6b 20 22 70 61 74 68 2f    74 6f 2f 73 6f 75 72 63 65 22 20 22 70 61 74 68  | f-symlink."path/to/source"."path | 
| 1f60 |  2f 74 6f 2f 6c 69 6e 6b 22 29 29 0a 0a 20 20 20    20 28 66 2d 6d 6f 76 65 0a 20 20 20 20 20 3a 6e  | /to/link"))......(f-move......:n | 
| 1f80 |  6f 2d 65 76 61 6c 2a 20 28 66 2d 6d 6f 76 65 20    22 70 61 74 68 2f 74 6f 2f 66 69 6c 65 2e 74 78  | o-eval*.(f-move."path/to/file.tx | 
| 1fa0 |  74 22 20 22 6e 65 77 2d 66 69 6c 65 2e 74 78 74    22 29 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c  | t"."new-file.txt")......:no-eval | 
| 1fc0 |  2a 20 28 66 2d 6d 6f 76 65 20 22 70 61 74 68 2f    74 6f 2f 66 69 6c 65 2e 74 78 74 22 20 22 6f 74  | *.(f-move."path/to/file.txt"."ot | 
| 1fe0 |  68 65 72 2f 70 61 74 68 22 29 29 0a 0a 20 20 20    20 28 66 2d 63 6f 70 79 0a 20 20 20 20 20 3a 6e  | her/path"))......(f-copy......:n | 
| 2000 |  6f 2d 65 76 61 6c 2a 20 28 66 2d 63 6f 70 79 20    22 70 61 74 68 2f 74 6f 2f 66 69 6c 65 2e 74 78  | o-eval*.(f-copy."path/to/file.tx | 
| 2020 |  74 22 20 22 6e 65 77 2d 66 69 6c 65 2e 74 78 74    22 29 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c  | t"."new-file.txt")......:no-eval | 
| 2040 |  2a 20 28 66 2d 63 6f 70 79 20 22 70 61 74 68 2f    74 6f 2f 64 69 72 22 20 22 6f 74 68 65 72 2f 64  | *.(f-copy."path/to/dir"."other/d | 
| 2060 |  69 72 22 29 29 0a 0a 20 20 20 20 28 66 2d 63 6f    70 79 2d 63 6f 6e 74 65 6e 74 73 0a 20 20 20 20  | ir"))......(f-copy-contents..... | 
| 2080 |  20 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d 63 6f    70 79 2d 63 6f 6e 74 65 6e 74 73 20 22 70 61 74  | .:no-eval*.(f-copy-contents."pat | 
| 20a0 |  68 2f 74 6f 2f 64 69 72 22 20 22 70 61 74 68 2f    74 6f 2f 6f 74 68 65 72 2f 64 69 72 22 29 29 0a  | h/to/dir"."path/to/other/dir")). | 
| 20c0 |  0a 20 20 20 20 28 66 2d 74 6f 75 63 68 0a 20 20    20 20 20 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d  | .....(f-touch......:no-eval*.(f- | 
| 20e0 |  74 6f 75 63 68 20 22 70 61 74 68 2f 74 6f 2f 65    78 69 73 74 69 6e 67 2f 66 69 6c 65 2e 74 78 74  | touch."path/to/existing/file.txt | 
| 2100 |  22 29 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c    2a 20 28 66 2d 74 6f 75 63 68 20 22 70 61 74 68  | ")......:no-eval*.(f-touch."path | 
| 2120 |  2f 74 6f 2f 6e 6f 6e 2f 65 78 69 73 74 69 6e 67    2f 66 69 6c 65 2e 74 78 74 22 29 29 0a 0a 20 20  | /to/non/existing/file.txt")).... | 
| 2140 |  20 20 22 50 72 65 64 69 63 61 74 65 73 22 0a 20    20 20 20 28 66 2d 65 78 69 73 74 73 2d 70 0a 20  | .."Predicates".....(f-exists-p.. | 
| 2160 |  20 20 20 20 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66    2d 65 78 69 73 74 73 2d 70 20 22 70 61 74 68 2f  | ....:no-eval*.(f-exists-p."path/ | 
| 2180 |  74 6f 2f 66 69 6c 65 2e 74 78 74 22 29 0a 20 20    20 20 20 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d  | to/file.txt")......:no-eval*.(f- | 
| 21a0 |  65 78 69 73 74 73 2d 70 20 22 70 61 74 68 2f 74    6f 2f 64 69 72 22 29 29 0a 0a 20 20 20 20 28 66  | exists-p."path/to/dir"))......(f | 
| 21c0 |  2d 64 69 72 65 63 74 6f 72 79 2d 70 0a 20 20 20    20 20 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d 64  | -directory-p......:no-eval*.(f-d | 
| 21e0 |  69 72 65 63 74 6f 72 79 2d 70 20 22 70 61 74 68    2f 74 6f 2f 66 69 6c 65 2e 74 78 74 22 29 0a 20  | irectory-p."path/to/file.txt").. | 
| 2200 |  20 20 20 20 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66    2d 64 69 72 65 63 74 6f 72 79 2d 70 20 22 70 61  | ....:no-eval*.(f-directory-p."pa | 
| 2220 |  74 68 2f 74 6f 2f 64 69 72 22 29 29 0a 0a 20 20    20 20 28 66 2d 66 69 6c 65 2d 70 0a 20 20 20 20  | th/to/dir"))......(f-file-p..... | 
| 2240 |  20 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d 66 69    6c 65 2d 70 20 22 70 61 74 68 2f 74 6f 2f 66 69  | .:no-eval*.(f-file-p."path/to/fi | 
| 2260 |  6c 65 2e 74 78 74 22 29 0a 20 20 20 20 20 3a 6e    6f 2d 65 76 61 6c 2a 20 28 66 2d 66 69 6c 65 2d  | le.txt")......:no-eval*.(f-file- | 
| 2280 |  70 20 22 70 61 74 68 2f 74 6f 2f 64 69 72 22 29    29 0a 0a 20 20 20 20 28 66 2d 73 79 6d 6c 69 6e  | p."path/to/dir"))......(f-symlin | 
| 22a0 |  6b 2d 70 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61    6c 2a 20 28 66 2d 73 79 6d 6c 69 6e 6b 2d 70 20  | k-p......:no-eval*.(f-symlink-p. | 
| 22c0 |  22 70 61 74 68 2f 74 6f 2f 66 69 6c 65 2e 74 78    74 22 29 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61  | "path/to/file.txt")......:no-eva | 
| 22e0 |  6c 2a 20 28 66 2d 73 79 6d 6c 69 6e 6b 2d 70 20    22 70 61 74 68 2f 74 6f 2f 64 69 72 22 29 0a 20  | l*.(f-symlink-p."path/to/dir").. | 
| 2300 |  20 20 20 20 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66    2d 73 79 6d 6c 69 6e 6b 2d 70 20 22 70 61 74 68  | ....:no-eval*.(f-symlink-p."path | 
| 2320 |  2f 74 6f 2f 6c 69 6e 6b 22 29 29 0a 0a 20 20 20    20 28 66 2d 72 65 61 64 61 62 6c 65 2d 70 0a 20  | /to/link"))......(f-readable-p.. | 
| 2340 |  20 20 20 20 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66    2d 72 65 61 64 61 62 6c 65 2d 70 20 22 70 61 74  | ....:no-eval*.(f-readable-p."pat | 
| 2360 |  68 2f 74 6f 2f 66 69 6c 65 2e 74 78 74 22 29 0a    20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 2a 20 28  | h/to/file.txt")......:no-eval*.( | 
| 2380 |  66 2d 72 65 61 64 61 62 6c 65 2d 70 20 22 70 61    74 68 2f 74 6f 2f 64 69 72 22 29 29 0a 0a 20 20  | f-readable-p."path/to/dir")).... | 
| 23a0 |  20 20 28 66 2d 77 72 69 74 61 62 6c 65 2d 70 0a    20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 2a 20 28  | ..(f-writable-p......:no-eval*.( | 
| 23c0 |  66 2d 77 72 69 74 61 62 6c 65 2d 70 20 22 70 61    74 68 2f 74 6f 2f 66 69 6c 65 2e 74 78 74 22 29  | f-writable-p."path/to/file.txt") | 
| 23e0 |  0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 2a 20    28 66 2d 77 72 69 74 61 62 6c 65 2d 70 20 22 70  | ......:no-eval*.(f-writable-p."p | 
| 2400 |  61 74 68 2f 74 6f 2f 64 69 72 22 29 29 0a 0a 20    20 20 20 28 66 2d 65 78 65 63 75 74 61 62 6c 65  | ath/to/dir"))......(f-executable | 
| 2420 |  2d 70 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c    2a 20 28 66 2d 65 78 65 63 75 74 61 62 6c 65 2d  | -p......:no-eval*.(f-executable- | 
| 2440 |  70 20 22 70 61 74 68 2f 74 6f 2f 66 69 6c 65 2e    74 78 74 22 29 0a 20 20 20 20 20 3a 6e 6f 2d 65  | p."path/to/file.txt")......:no-e | 
| 2460 |  76 61 6c 2a 20 28 66 2d 65 78 65 63 75 74 61 62    6c 65 2d 70 20 22 70 61 74 68 2f 74 6f 2f 64 69  | val*.(f-executable-p."path/to/di | 
| 2480 |  72 22 29 29 0a 0a 20 20 20 20 28 66 2d 61 62 73    6f 6c 75 74 65 2d 70 0a 20 20 20 20 20 3a 65 76  | r"))......(f-absolute-p......:ev | 
| 24a0 |  61 6c 20 28 66 2d 61 62 73 6f 6c 75 74 65 2d 70    20 22 70 61 74 68 2f 74 6f 2f 64 69 72 22 29 0a  | al.(f-absolute-p."path/to/dir"). | 
| 24c0 |  20 20 20 20 20 3a 65 76 61 6c 20 28 66 2d 61 62    73 6f 6c 75 74 65 2d 70 20 22 2f 66 75 6c 6c 2f  | .....:eval.(f-absolute-p."/full/ | 
| 24e0 |  70 61 74 68 2f 74 6f 2f 64 69 72 22 29 29 0a 0a    20 20 20 20 28 66 2d 72 65 6c 61 74 69 76 65 2d  | path/to/dir"))......(f-relative- | 
| 2500 |  70 0a 20 20 20 20 20 3a 65 76 61 6c 20 28 66 2d    72 65 6c 61 74 69 76 65 2d 70 20 22 70 61 74 68  | p......:eval.(f-relative-p."path | 
| 2520 |  2f 74 6f 2f 64 69 72 22 29 0a 20 20 20 20 20 3a    65 76 61 6c 20 28 66 2d 72 65 6c 61 74 69 76 65  | /to/dir")......:eval.(f-relative | 
| 2540 |  2d 70 20 22 2f 66 75 6c 6c 2f 70 61 74 68 2f 74    6f 2f 64 69 72 22 29 29 0a 0a 20 20 20 20 28 66  | -p."/full/path/to/dir"))......(f | 
| 2560 |  2d 72 6f 6f 74 2d 70 0a 20 20 20 20 20 3a 65 76    61 6c 20 28 66 2d 72 6f 6f 74 2d 70 20 22 2f 22  | -root-p......:eval.(f-root-p."/" | 
| 2580 |  29 0a 20 20 20 20 20 3a 65 76 61 6c 20 28 66 2d    72 6f 6f 74 2d 70 20 22 2f 6e 6f 74 2f 72 6f 6f  | )......:eval.(f-root-p."/not/roo | 
| 25a0 |  74 22 29 29 0a 0a 20 20 20 20 28 66 2d 65 78 74    2d 70 0a 20 20 20 20 20 3a 65 76 61 6c 20 28 66  | t"))......(f-ext-p......:eval.(f | 
| 25c0 |  2d 65 78 74 2d 70 20 22 70 61 74 68 2f 74 6f 2f    66 69 6c 65 2e 65 6c 22 20 22 65 6c 22 29 0a 20  | -ext-p."path/to/file.el"."el").. | 
| 25e0 |  20 20 20 20 3a 65 76 61 6c 20 28 66 2d 65 78 74    2d 70 20 22 70 61 74 68 2f 74 6f 2f 66 69 6c 65  | ....:eval.(f-ext-p."path/to/file | 
| 2600 |  2e 65 6c 22 20 22 74 78 74 22 29 0a 20 20 20 20    20 3a 65 76 61 6c 20 28 66 2d 65 78 74 2d 70 20  | .el"."txt")......:eval.(f-ext-p. | 
| 2620 |  22 70 61 74 68 2f 74 6f 2f 66 69 6c 65 2e 65 6c    22 29 0a 20 20 20 20 20 3a 65 76 61 6c 20 28 66  | "path/to/file.el")......:eval.(f | 
| 2640 |  2d 65 78 74 2d 70 20 22 70 61 74 68 2f 74 6f 2f    66 69 6c 65 22 29 29 0a 0a 20 20 20 20 28 66 2d  | -ext-p."path/to/file"))......(f- | 
| 2660 |  73 61 6d 65 2d 70 0a 20 20 20 20 20 3a 65 76 61    6c 20 28 66 2d 73 61 6d 65 2d 70 20 22 66 6f 6f  | same-p......:eval.(f-same-p."foo | 
| 2680 |  2e 74 78 74 22 20 22 66 6f 6f 2e 74 78 74 22 29    0a 20 20 20 20 20 3a 65 76 61 6c 20 28 66 2d 73  | .txt"."foo.txt")......:eval.(f-s | 
| 26a0 |  61 6d 65 2d 70 20 22 66 6f 6f 2f 62 61 72 2f 2e    2e 2f 62 61 7a 22 20 22 66 6f 6f 2f 62 61 7a 22  | ame-p."foo/bar/../baz"."foo/baz" | 
| 26c0 |  29 0a 20 20 20 20 20 3a 65 76 61 6c 20 28 66 2d    73 61 6d 65 2d 70 20 22 2f 70 61 74 68 2f 74 6f  | )......:eval.(f-same-p."/path/to | 
| 26e0 |  2f 66 6f 6f 2e 74 78 74 22 20 22 2f 70 61 74 68    2f 74 6f 2f 62 61 72 2e 74 78 74 22 29 29 0a 0a  | /foo.txt"."/path/to/bar.txt")).. | 
| 2700 |  20 20 20 20 28 66 2d 70 61 72 65 6e 74 2d 6f 66    2d 70 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c  | ....(f-parent-of-p......:no-eval | 
| 2720 |  20 28 66 2d 70 61 72 65 6e 74 2d 6f 66 2d 70 20    22 2f 70 61 74 68 2f 74 6f 22 20 22 2f 70 61 74  | .(f-parent-of-p."/path/to"."/pat | 
| 2740 |  68 2f 74 6f 2f 64 69 72 22 29 0a 20 20 20 20 20    3a 72 65 73 75 6c 74 20 74 0a 20 20 20 20 20 3a  | h/to/dir")......:result.t......: | 
| 2760 |  6e 6f 2d 65 76 61 6c 20 28 66 2d 70 61 72 65 6e    74 2d 6f 66 2d 70 20 22 2f 70 61 74 68 2f 74 6f  | no-eval.(f-parent-of-p."/path/to | 
| 2780 |  2f 64 69 72 22 20 22 2f 70 61 74 68 2f 74 6f 22    29 0a 20 20 20 20 20 3a 72 65 73 75 6c 74 20 6e  | /dir"."/path/to")......:result.n | 
| 27a0 |  69 6c 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c    20 28 66 2d 70 61 72 65 6e 74 2d 6f 66 2d 70 20  | il......:no-eval.(f-parent-of-p. | 
| 27c0 |  22 2f 70 61 74 68 2f 74 6f 22 20 22 2f 70 61 74    68 2f 74 6f 22 29 0a 20 20 20 20 20 3a 72 65 73  | "/path/to"."/path/to")......:res | 
| 27e0 |  75 6c 74 20 6e 69 6c 29 0a 0a 20 20 20 20 28 66    2d 63 68 69 6c 64 2d 6f 66 2d 70 0a 20 20 20 20  | ult.nil)......(f-child-of-p..... | 
| 2800 |  20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d 63 68 69    6c 64 2d 6f 66 2d 70 20 22 2f 70 61 74 68 2f 74  | .:no-eval.(f-child-of-p."/path/t | 
| 2820 |  6f 22 20 22 2f 70 61 74 68 2f 74 6f 2f 64 69 72    22 29 0a 20 20 20 20 20 3a 72 65 73 75 6c 74 20  | o"."/path/to/dir")......:result. | 
| 2840 |  6e 69 6c 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61    6c 20 28 66 2d 63 68 69 6c 64 2d 6f 66 2d 70 20  | nil......:no-eval.(f-child-of-p. | 
| 2860 |  22 2f 70 61 74 68 2f 74 6f 2f 64 69 72 22 20 22    2f 70 61 74 68 2f 74 6f 22 29 0a 20 20 20 20 20  | "/path/to/dir"."/path/to")...... | 
| 2880 |  3a 72 65 73 75 6c 74 20 74 0a 20 20 20 20 20 3a    6e 6f 2d 65 76 61 6c 20 28 66 2d 63 68 69 6c 64  | :result.t......:no-eval.(f-child | 
| 28a0 |  2d 6f 66 2d 70 20 22 2f 70 61 74 68 2f 74 6f 22    20 22 2f 70 61 74 68 2f 74 6f 22 29 0a 20 20 20  | -of-p."/path/to"."/path/to").... | 
| 28c0 |  20 20 3a 72 65 73 75 6c 74 20 6e 69 6c 29 0a 0a    20 20 20 20 28 66 2d 61 6e 63 65 73 74 6f 72 2d  | ..:result.nil)......(f-ancestor- | 
| 28e0 |  6f 66 2d 70 0a 20 20 20 20 20 3a 6e 6f 2d 65 76    61 6c 20 28 66 2d 61 6e 63 65 73 74 6f 72 2d 6f  | of-p......:no-eval.(f-ancestor-o | 
| 2900 |  66 2d 70 20 22 2f 70 61 74 68 2f 74 6f 22 20 22    2f 70 61 74 68 2f 74 6f 2f 64 69 72 22 29 0a 20  | f-p."/path/to"."/path/to/dir").. | 
| 2920 |  20 20 20 20 3a 72 65 73 75 6c 74 20 74 0a 20 20    20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d 61  | ....:result.t......:no-eval.(f-a | 
| 2940 |  6e 63 65 73 74 6f 72 2d 6f 66 2d 70 20 22 2f 70    61 74 68 22 20 22 2f 70 61 74 68 2f 74 6f 2f 64  | ncestor-of-p."/path"."/path/to/d | 
| 2960 |  69 72 22 29 0a 20 20 20 20 20 3a 72 65 73 75 6c    74 20 74 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61  | ir")......:result.t......:no-eva | 
| 2980 |  6c 20 28 66 2d 61 6e 63 65 73 74 6f 72 2d 6f 66    2d 70 20 22 2f 70 61 74 68 2f 74 6f 2f 64 69 72  | l.(f-ancestor-of-p."/path/to/dir | 
| 29a0 |  22 20 22 2f 70 61 74 68 2f 74 6f 22 29 0a 20 20    20 20 20 3a 72 65 73 75 6c 74 20 6e 69 6c 0a 20  | "."/path/to")......:result.nil.. | 
| 29c0 |  20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d    61 6e 63 65 73 74 6f 72 2d 6f 66 2d 70 20 22 2f  | ....:no-eval.(f-ancestor-of-p."/ | 
| 29e0 |  70 61 74 68 2f 74 6f 22 20 22 2f 70 61 74 68 2f    74 6f 22 29 0a 20 20 20 20 20 3a 72 65 73 75 6c  | path/to"."/path/to")......:resul | 
| 2a00 |  74 20 6e 69 6c 29 0a 0a 20 20 20 20 28 66 2d 64    65 73 63 65 6e 64 61 6e 74 2d 6f 66 2d 70 0a 20  | t.nil)......(f-descendant-of-p.. | 
| 2a20 |  20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d    64 65 73 63 65 6e 64 61 6e 74 2d 6f 66 2d 70 20  | ....:no-eval.(f-descendant-of-p. | 
| 2a40 |  22 2f 70 61 74 68 2f 74 6f 2f 64 69 72 22 20 22    2f 70 61 74 68 2f 74 6f 22 29 0a 20 20 20 20 20  | "/path/to/dir"."/path/to")...... | 
| 2a60 |  3a 72 65 73 75 6c 74 20 74 0a 20 20 20 20 20 3a    6e 6f 2d 65 76 61 6c 20 28 66 2d 64 65 73 63 65  | :result.t......:no-eval.(f-desce | 
| 2a80 |  6e 64 61 6e 74 2d 6f 66 2d 70 20 22 2f 70 61 74    68 2f 74 6f 2f 64 69 72 22 20 22 2f 70 61 74 68  | ndant-of-p."/path/to/dir"."/path | 
| 2aa0 |  22 29 0a 20 20 20 20 20 3a 72 65 73 75 6c 74 20    74 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20  | ")......:result.t......:no-eval. | 
| 2ac0 |  28 66 2d 64 65 73 63 65 6e 64 61 6e 74 2d 6f 66    2d 70 20 22 2f 70 61 74 68 2f 74 6f 22 20 22 2f  | (f-descendant-of-p."/path/to"."/ | 
| 2ae0 |  70 61 74 68 2f 74 6f 2f 64 69 72 22 29 0a 20 20    20 20 20 3a 72 65 73 75 6c 74 20 6e 69 6c 0a 20  | path/to/dir")......:result.nil.. | 
| 2b00 |  20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d    64 65 73 63 65 6e 64 61 6e 74 2d 6f 66 2d 70 20  | ....:no-eval.(f-descendant-of-p. | 
| 2b20 |  22 2f 70 61 74 68 2f 74 6f 22 20 22 2f 70 61 74    68 2f 74 6f 22 29 0a 20 20 20 20 20 3a 72 65 73  | "/path/to"."/path/to")......:res | 
| 2b40 |  75 6c 74 20 6e 69 6c 29 0a 0a 20 20 20 20 28 66    2d 68 69 64 64 65 6e 2d 70 0a 20 20 20 20 20 3a  | ult.nil)......(f-hidden-p......: | 
| 2b60 |  65 76 61 6c 20 28 66 2d 68 69 64 64 65 6e 2d 70    20 22 70 61 74 68 2f 74 6f 2f 66 6f 6f 22 29 0a  | eval.(f-hidden-p."path/to/foo"). | 
| 2b80 |  20 20 20 20 20 3a 65 76 61 6c 20 28 66 2d 68 69    64 64 65 6e 2d 70 20 22 2e 70 61 74 68 2f 74 6f  | .....:eval.(f-hidden-p.".path/to | 
| 2ba0 |  2f 66 6f 6f 22 29 0a 20 20 20 20 20 3a 65 76 61    6c 20 28 66 2d 68 69 64 64 65 6e 2d 70 20 22 70  | /foo")......:eval.(f-hidden-p."p | 
| 2bc0 |  61 74 68 2f 2e 74 6f 2f 66 6f 6f 22 29 0a 20 20    20 20 20 3a 65 76 61 6c 20 28 66 2d 68 69 64 64  | ath/.to/foo")......:eval.(f-hidd | 
| 2be0 |  65 6e 2d 70 20 22 70 61 74 68 2f 74 6f 2f 2e 66    6f 6f 22 29 0a 20 20 20 20 20 3a 65 76 61 6c 20  | en-p."path/to/.foo")......:eval. | 
| 2c00 |  28 66 2d 68 69 64 64 65 6e 2d 70 20 22 2e 70 61    74 68 2f 74 6f 2f 66 6f 6f 22 20 27 61 6e 79 29  | (f-hidden-p.".path/to/foo".'any) | 
| 2c20 |  0a 20 20 20 20 20 3a 65 76 61 6c 20 28 66 2d 68    69 64 64 65 6e 2d 70 20 22 70 61 74 68 2f 2e 74  | ......:eval.(f-hidden-p."path/.t | 
| 2c40 |  6f 2f 66 6f 6f 22 20 27 61 6e 79 29 0a 20 20 20    20 20 3a 65 76 61 6c 20 28 66 2d 68 69 64 64 65  | o/foo".'any)......:eval.(f-hidde | 
| 2c60 |  6e 2d 70 20 22 70 61 74 68 2f 74 6f 2f 2e 66 6f    6f 22 20 27 61 6e 79 29 0a 20 20 20 20 20 3a 65  | n-p."path/to/.foo".'any)......:e | 
| 2c80 |  76 61 6c 20 28 66 2d 68 69 64 64 65 6e 2d 70 20    22 2e 70 61 74 68 2f 74 6f 2f 66 6f 6f 22 20 27  | val.(f-hidden-p.".path/to/foo".' | 
| 2ca0 |  6c 61 73 74 29 0a 20 20 20 20 20 3a 65 76 61 6c    20 28 66 2d 68 69 64 64 65 6e 2d 70 20 22 70 61  | last)......:eval.(f-hidden-p."pa | 
| 2cc0 |  74 68 2f 2e 74 6f 2f 66 6f 6f 22 20 27 6c 61 73    74 29 0a 20 20 20 20 20 3a 65 76 61 6c 20 28 66  | th/.to/foo".'last)......:eval.(f | 
| 2ce0 |  2d 68 69 64 64 65 6e 2d 70 20 22 70 61 74 68 2f    74 6f 2f 2e 66 6f 6f 22 20 27 6c 61 73 74 29 29  | -hidden-p."path/to/.foo".'last)) | 
| 2d00 |  0a 0a 20 20 20 20 28 66 2d 65 6d 70 74 79 2d 70    0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28  | ......(f-empty-p......:no-eval.( | 
| 2d20 |  66 2d 65 6d 70 74 79 2d 70 20 22 2f 70 61 74 68    2f 74 6f 2f 65 6d 70 74 79 2d 66 69 6c 65 22 29  | f-empty-p."/path/to/empty-file") | 
| 2d40 |  0a 20 20 20 20 20 3a 72 65 73 75 6c 74 20 74 0a    20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66  | ......:result.t......:no-eval.(f | 
| 2d60 |  2d 65 6d 70 74 79 2d 70 20 22 2f 70 61 74 68 2f    74 6f 2f 66 69 6c 65 2d 77 69 74 68 2d 63 6f 6e  | -empty-p."/path/to/file-with-con | 
| 2d80 |  74 65 6e 74 73 22 29 0a 20 20 20 20 20 3a 72 65    73 75 6c 74 20 6e 69 6c 0a 20 20 20 20 20 3a 6e  | tents")......:result.nil......:n | 
| 2da0 |  6f 2d 65 76 61 6c 20 28 66 2d 65 6d 70 74 79 2d    70 20 22 2f 70 61 74 68 2f 74 6f 2f 65 6d 70 74  | o-eval.(f-empty-p."/path/to/empt | 
| 2dc0 |  79 2d 64 69 72 2f 22 29 0a 20 20 20 20 20 3a 72    65 73 75 6c 74 20 74 0a 20 20 20 20 20 3a 6e 6f  | y-dir/")......:result.t......:no | 
| 2de0 |  2d 65 76 61 6c 20 28 66 2d 65 6d 70 74 79 2d 70    20 22 2f 70 61 74 68 2f 74 6f 2f 64 69 72 2d 77  | -eval.(f-empty-p."/path/to/dir-w | 
| 2e00 |  69 74 68 2d 63 6f 6e 74 65 6e 74 73 2f 22 29 0a    20 20 20 20 20 3a 72 65 73 75 6c 74 20 6e 69 6c  | ith-contents/")......:result.nil | 
| 2e20 |  29 0a 0a 20 20 20 20 28 66 2d 6f 6c 64 65 72 2d    70 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20  | )......(f-older-p......:no-eval. | 
| 2e40 |  28 66 2d 6f 6c 64 65 72 2d 70 20 22 6f 6c 64 65    72 2d 66 69 6c 65 2e 74 78 74 22 20 22 6e 65 77  | (f-older-p."older-file.txt"."new | 
| 2e60 |  65 72 2d 66 69 6c 65 2e 74 78 74 22 29 0a 20 20    20 20 20 3a 72 65 73 75 6c 74 20 74 0a 20 20 20  | er-file.txt")......:result.t.... | 
| 2e80 |  20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d 6f 6c    64 65 72 2d 70 20 22 6e 65 77 65 72 2d 66 69 6c  | ..:no-eval.(f-older-p."newer-fil | 
| 2ea0 |  65 2e 74 78 74 22 20 22 6f 6c 64 65 72 2d 66 69    6c 65 2e 74 78 74 22 29 0a 20 20 20 20 20 3a 72  | e.txt"."older-file.txt")......:r | 
| 2ec0 |  65 73 75 6c 74 20 6e 69 6c 0a 20 20 20 20 20 3a    6e 6f 2d 65 76 61 6c 20 28 66 2d 6f 6c 64 65 72  | esult.nil......:no-eval.(f-older | 
| 2ee0 |  2d 70 20 22 73 61 6d 65 2d 74 69 6d 65 31 2e 74    78 74 22 20 22 73 61 6d 65 2d 74 69 6d 65 32 2e  | -p."same-time1.txt"."same-time2. | 
| 2f00 |  74 78 74 22 29 0a 20 20 20 20 20 3a 72 65 73 75    6c 74 20 6e 69 6c 29 0a 0a 20 20 20 20 28 66 2d  | txt")......:result.nil)......(f- | 
| 2f20 |  6e 65 77 65 72 2d 70 0a 20 20 20 20 20 3a 6e 6f    2d 65 76 61 6c 20 28 66 2d 6e 65 77 65 72 2d 70  | newer-p......:no-eval.(f-newer-p | 
| 2f40 |  20 22 6e 65 77 65 72 2d 66 69 6c 65 2e 74 78 74    22 20 22 6f 6c 64 65 72 2d 66 69 6c 65 2e 74 78  | ."newer-file.txt"."older-file.tx | 
| 2f60 |  74 22 29 0a 20 20 20 20 20 3a 72 65 73 75 6c 74    20 74 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c  | t")......:result.t......:no-eval | 
| 2f80 |  20 28 66 2d 6e 65 77 65 72 2d 70 20 22 6f 6c 64    65 72 2d 66 69 6c 65 2e 74 78 74 22 20 22 6e 65  | .(f-newer-p."older-file.txt"."ne | 
| 2fa0 |  77 65 72 2d 66 69 6c 65 2e 74 78 74 22 29 0a 20    20 20 20 20 3a 72 65 73 75 6c 74 20 6e 69 6c 0a  | wer-file.txt")......:result.nil. | 
| 2fc0 |  20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66    2d 6e 65 77 65 72 2d 70 20 22 73 61 6d 65 2d 74  | .....:no-eval.(f-newer-p."same-t | 
| 2fe0 |  69 6d 65 31 2e 74 78 74 22 20 22 73 61 6d 65 2d    74 69 6d 65 32 2e 74 78 74 22 29 0a 20 20 20 20  | ime1.txt"."same-time2.txt")..... | 
| 3000 |  20 3a 72 65 73 75 6c 74 20 6e 69 6c 29 0a 0a 20    20 20 20 28 66 2d 73 61 6d 65 2d 74 69 6d 65 2d  | .:result.nil)......(f-same-time- | 
| 3020 |  70 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20    28 66 2d 73 61 6d 65 2d 74 69 6d 65 2d 70 20 22  | p......:no-eval.(f-same-time-p." | 
| 3040 |  73 61 6d 65 2d 74 69 6d 65 31 2e 74 78 74 22 20    22 73 61 6d 65 2d 74 69 6d 65 32 2e 74 78 74 22  | same-time1.txt"."same-time2.txt" | 
| 3060 |  29 0a 20 20 20 20 20 3a 72 65 73 75 6c 74 20 74    0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28  | )......:result.t......:no-eval.( | 
| 3080 |  66 2d 73 61 6d 65 2d 74 69 6d 65 2d 70 20 22 6e    65 77 65 72 2d 66 69 6c 65 2e 74 78 74 22 20 22  | f-same-time-p."newer-file.txt"." | 
| 30a0 |  6f 6c 64 65 72 2d 66 69 6c 65 2e 74 78 74 22 29    0a 20 20 20 20 20 3a 72 65 73 75 6c 74 20 6e 69  | older-file.txt")......:result.ni | 
| 30c0 |  6c 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20    28 66 2d 73 61 6d 65 2d 74 69 6d 65 2d 70 20 22  | l......:no-eval.(f-same-time-p." | 
| 30e0 |  6f 6c 64 65 72 2d 66 69 6c 65 2e 74 78 74 22 20    22 6e 65 77 65 72 2d 66 69 6c 65 2e 74 78 74 22  | older-file.txt"."newer-file.txt" | 
| 3100 |  29 0a 20 20 20 20 20 3a 72 65 73 75 6c 74 20 6e    69 6c 29 0a 0a 20 20 20 20 22 53 74 61 74 73 22  | )......:result.nil)......"Stats" | 
| 3120 |  0a 20 20 20 20 28 66 2d 73 69 7a 65 0a 20 20 20    20 20 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d 73  | .....(f-size......:no-eval*.(f-s | 
| 3140 |  69 7a 65 20 22 70 61 74 68 2f 74 6f 2f 66 69 6c    65 2e 74 78 74 22 29 0a 20 20 20 20 20 3a 6e 6f  | ize."path/to/file.txt")......:no | 
| 3160 |  2d 65 76 61 6c 2a 20 28 66 2d 73 69 7a 65 20 22    70 61 74 68 2f 74 6f 2f 64 69 72 22 29 29 0a 0a  | -eval*.(f-size."path/to/dir")).. | 
| 3180 |  20 20 20 20 28 66 2d 64 65 70 74 68 0a 20 20 20    20 20 3a 65 76 61 6c 20 28 66 2d 64 65 70 74 68  | ....(f-depth......:eval.(f-depth | 
| 31a0 |  20 22 2f 22 29 0a 20 20 20 20 20 3a 65 76 61 6c    20 28 66 2d 64 65 70 74 68 20 22 2f 76 61 72 2f  | ."/")......:eval.(f-depth."/var/ | 
| 31c0 |  22 29 0a 20 20 20 20 20 3a 65 76 61 6c 20 28 66    2d 64 65 70 74 68 20 22 2f 75 73 72 2f 6c 6f 63  | ")......:eval.(f-depth."/usr/loc | 
| 31e0 |  61 6c 2f 62 69 6e 22 29 29 0a 0a 20 20 20 20 28    66 2d 63 68 61 6e 67 65 2d 74 69 6d 65 0a 20 20  | al/bin"))......(f-change-time... | 
| 3200 |  20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d 63    68 61 6e 67 65 2d 74 69 6d 65 20 22 70 61 74 68  | ...:no-eval.(f-change-time."path | 
| 3220 |  2f 74 6f 2f 66 69 6c 65 2e 74 78 74 22 29 0a 20    20 20 20 20 3a 72 65 73 75 6c 74 20 28 32 35 35  | /to/file.txt")......:result.(255 | 
| 3240 |  31 37 20 34 38 37 35 36 20 32 36 33 33 37 20 31    31 31 30 30 30 29 0a 20 20 20 20 20 3a 6e 6f 2d  | 17.48756.26337.111000)......:no- | 
| 3260 |  65 76 61 6c 20 28 66 2d 63 68 61 6e 67 65 2d 74    69 6d 65 20 22 70 61 74 68 2f 74 6f 2f 64 69 72  | eval.(f-change-time."path/to/dir | 
| 3280 |  22 29 0a 20 20 20 20 20 3a 72 65 73 75 6c 74 20    28 32 35 35 31 37 20 35 37 38 38 37 20 33 34 34  | ")......:result.(25517.57887.344 | 
| 32a0 |  36 35 37 20 32 31 30 30 30 30 29 0a 20 20 20 20    20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d 63 68 61  | 657.210000)......:no-eval.(f-cha | 
| 32c0 |  6e 67 65 2d 74 69 6d 65 20 22 70 61 74 68 2f 74    6f 2f 66 69 6c 65 2e 74 78 74 22 20 74 29 0a 20  | nge-time."path/to/file.txt".t).. | 
| 32e0 |  20 20 20 20 3a 72 65 73 75 6c 74 20 28 31 36 37    32 33 33 30 38 36 38 30 32 36 33 33 37 31 31 31  | ....:result.(1672330868026337111 | 
| 3300 |  20 2e 20 31 30 30 30 30 30 30 30 30 30 29 0a 20    20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d  | ...1000000000)......:no-eval.(f- | 
| 3320 |  63 68 61 6e 67 65 2d 74 69 6d 65 20 22 70 61 74    68 2f 74 6f 2f 64 69 72 22 20 74 29 0a 20 20 20  | change-time."path/to/dir".t).... | 
| 3340 |  20 20 3a 72 65 73 75 6c 74 20 28 31 36 37 32 33    33 39 39 39 39 33 34 34 36 35 37 32 31 30 20 2e  | ..:result.(1672339999344657210.. | 
| 3360 |  20 31 30 30 30 30 30 30 30 30 30 29 0a 20 20 20    20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d 63 68  | .1000000000)......:no-eval.(f-ch | 
| 3380 |  61 6e 67 65 2d 74 69 6d 65 20 22 70 61 74 68 2f    74 6f 2f 66 69 6c 65 2e 74 78 74 22 20 27 73 65  | ange-time."path/to/file.txt".'se | 
| 33a0 |  63 6f 6e 64 73 29 0a 20 20 20 20 20 3a 72 65 73    75 6c 74 20 31 36 37 32 33 33 30 38 36 38 0a 20  | conds)......:result.1672330868.. | 
| 33c0 |  20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d    63 68 61 6e 67 65 2d 74 69 6d 65 20 22 70 61 74  | ....:no-eval.(f-change-time."pat | 
| 33e0 |  68 2f 74 6f 2f 64 69 72 22 20 27 73 65 63 6f 6e    64 73 29 0a 20 20 20 20 20 3a 72 65 73 75 6c 74  | h/to/dir".'seconds)......:result | 
| 3400 |  20 31 36 37 32 33 33 39 39 39 39 29 0a 0a 20 20    20 20 28 66 2d 6d 6f 64 69 66 69 63 61 74 69 6f  | .1672339999)......(f-modificatio | 
| 3420 |  6e 2d 74 69 6d 65 0a 20 20 20 20 20 3a 6e 6f 2d    65 76 61 6c 20 28 66 2d 6d 6f 64 69 66 69 63 61  | n-time......:no-eval.(f-modifica | 
| 3440 |  74 69 6f 6e 2d 74 69 6d 65 20 22 70 61 74 68 2f    74 6f 2f 66 69 6c 65 2e 74 78 74 22 29 0a 20 20  | tion-time."path/to/file.txt")... | 
| 3460 |  20 20 20 3a 72 65 73 75 6c 74 20 28 32 35 35 31    37 20 34 38 37 35 36 20 32 36 33 33 37 20 31 31  | ...:result.(25517.48756.26337.11 | 
| 3480 |  31 30 30 30 29 0a 20 20 20 20 20 3a 6e 6f 2d 65    76 61 6c 20 28 66 2d 6d 6f 64 69 66 69 63 61 74  | 1000)......:no-eval.(f-modificat | 
| 34a0 |  69 6f 6e 2d 74 69 6d 65 20 22 70 61 74 68 2f 74    6f 2f 64 69 72 22 29 0a 20 20 20 20 20 3a 72 65  | ion-time."path/to/dir")......:re | 
| 34c0 |  73 75 6c 74 20 28 32 35 35 31 37 20 35 37 38 38    37 20 33 34 34 36 35 37 20 32 31 30 30 30 30 29  | sult.(25517.57887.344657.210000) | 
| 34e0 |  0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28    66 2d 6d 6f 64 69 66 69 63 61 74 69 6f 6e 2d 74  | ......:no-eval.(f-modification-t | 
| 3500 |  69 6d 65 20 22 70 61 74 68 2f 74 6f 2f 66 69 6c    65 2e 74 78 74 22 20 74 29 0a 20 20 20 20 20 3a  | ime."path/to/file.txt".t)......: | 
| 3520 |  72 65 73 75 6c 74 20 28 31 36 37 32 33 33 30 38    36 38 30 32 36 33 33 37 31 31 31 20 2e 20 31 30  | result.(1672330868026337111...10 | 
| 3540 |  30 30 30 30 30 30 30 30 29 0a 20 20 20 20 20 3a    6e 6f 2d 65 76 61 6c 20 28 66 2d 6d 6f 64 69 66  | 00000000)......:no-eval.(f-modif | 
| 3560 |  69 63 61 74 69 6f 6e 2d 74 69 6d 65 20 22 70 61    74 68 2f 74 6f 2f 64 69 72 22 20 74 29 0a 20 20  | ication-time."path/to/dir".t)... | 
| 3580 |  20 20 20 3a 72 65 73 75 6c 74 20 28 31 36 37 32    33 33 39 39 39 39 33 34 34 36 35 37 32 31 30 20  | ...:result.(1672339999344657210. | 
| 35a0 |  2e 20 31 30 30 30 30 30 30 30 30 30 29 0a 20 20    20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d 6d  | ..1000000000)......:no-eval.(f-m | 
| 35c0 |  6f 64 69 66 69 63 61 74 69 6f 6e 2d 74 69 6d 65    20 22 70 61 74 68 2f 74 6f 2f 66 69 6c 65 2e 74  | odification-time."path/to/file.t | 
| 35e0 |  78 74 22 20 27 73 65 63 6f 6e 64 73 29 0a 20 20    20 20 20 3a 72 65 73 75 6c 74 20 31 36 37 32 33  | xt".'seconds)......:result.16723 | 
| 3600 |  33 30 38 36 38 0a 20 20 20 20 20 3a 6e 6f 2d 65    76 61 6c 20 28 66 2d 6d 6f 64 69 66 69 63 61 74  | 30868......:no-eval.(f-modificat | 
| 3620 |  69 6f 6e 2d 74 69 6d 65 20 22 70 61 74 68 2f 74    6f 2f 64 69 72 22 20 27 73 65 63 6f 6e 64 73 29  | ion-time."path/to/dir".'seconds) | 
| 3640 |  0a 20 20 20 20 20 3a 72 65 73 75 6c 74 20 31 36    37 32 33 33 39 39 39 39 29 0a 0a 20 20 20 20 28  | ......:result.1672339999)......( | 
| 3660 |  66 2d 61 63 63 65 73 73 2d 74 69 6d 65 0a 20 20    20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d 61  | f-access-time......:no-eval.(f-a | 
| 3680 |  63 63 65 73 73 2d 74 69 6d 65 20 22 70 61 74 68    2f 74 6f 2f 66 69 6c 65 2e 74 78 74 22 29 0a 20  | ccess-time."path/to/file.txt").. | 
| 36a0 |  20 20 20 20 3a 72 65 73 75 6c 74 20 28 32 35 35    31 37 20 34 38 37 35 36 20 32 36 33 33 37 20 31  | ....:result.(25517.48756.26337.1 | 
| 36c0 |  31 31 30 30 30 29 0a 20 20 20 20 20 3a 6e 6f 2d    65 76 61 6c 20 28 66 2d 61 63 63 65 73 73 2d 74  | 11000)......:no-eval.(f-access-t | 
| 36e0 |  69 6d 65 20 22 70 61 74 68 2f 74 6f 2f 64 69 72    22 29 0a 20 20 20 20 20 3a 72 65 73 75 6c 74 20  | ime."path/to/dir")......:result. | 
| 3700 |  28 32 35 35 31 37 20 35 37 38 38 37 20 33 34 34    36 35 37 20 32 31 30 30 30 30 29 0a 20 20 20 20  | (25517.57887.344657.210000)..... | 
| 3720 |  20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d 61 63 63    65 73 73 2d 74 69 6d 65 20 22 70 61 74 68 2f 74  | .:no-eval.(f-access-time."path/t | 
| 3740 |  6f 2f 66 69 6c 65 2e 74 78 74 22 20 74 29 0a 20    20 20 20 20 3a 72 65 73 75 6c 74 20 28 31 36 37  | o/file.txt".t)......:result.(167 | 
| 3760 |  32 33 33 30 38 36 38 30 32 36 33 33 37 31 31 31    20 2e 20 31 30 30 30 30 30 30 30 30 30 29 0a 20  | 2330868026337111...1000000000).. | 
| 3780 |  20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d    61 63 63 65 73 73 2d 74 69 6d 65 20 22 70 61 74  | ....:no-eval.(f-access-time."pat | 
| 37a0 |  68 2f 74 6f 2f 64 69 72 22 20 74 29 0a 20 20 20    20 20 3a 72 65 73 75 6c 74 20 28 31 36 37 32 33  | h/to/dir".t)......:result.(16723 | 
| 37c0 |  33 39 39 39 39 33 34 34 36 35 37 32 31 30 20 2e    20 31 30 30 30 30 30 30 30 30 30 29 0a 20 20 20  | 39999344657210...1000000000).... | 
| 37e0 |  20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d 61 63    63 65 73 73 2d 74 69 6d 65 20 22 70 61 74 68 2f  | ..:no-eval.(f-access-time."path/ | 
| 3800 |  74 6f 2f 66 69 6c 65 2e 74 78 74 22 20 27 73 65    63 6f 6e 64 73 29 0a 20 20 20 20 20 3a 72 65 73  | to/file.txt".'seconds)......:res | 
| 3820 |  75 6c 74 20 31 36 37 32 33 33 30 38 36 38 0a 20    20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d  | ult.1672330868......:no-eval.(f- | 
| 3840 |  61 63 63 65 73 73 2d 74 69 6d 65 20 22 70 61 74    68 2f 74 6f 2f 64 69 72 22 20 27 73 65 63 6f 6e  | access-time."path/to/dir".'secon | 
| 3860 |  64 73 29 0a 20 20 20 20 20 3a 72 65 73 75 6c 74    20 31 36 37 32 33 33 39 39 39 39 29 0a 0a 20 20  | ds)......:result.1672339999).... | 
| 3880 |  20 20 22 4d 69 73 63 22 0a 20 20 20 20 28 66 2d    74 68 69 73 2d 66 69 6c 65 0a 20 20 20 20 20 3a  | .."Misc".....(f-this-file......: | 
| 38a0 |  6e 6f 2d 65 76 61 6c 2a 20 28 66 2d 74 68 69 73    2d 66 69 6c 65 29 29 0a 0a 20 20 20 20 28 66 2d  | no-eval*.(f-this-file))......(f- | 
| 38c0 |  70 61 74 68 2d 73 65 70 61 72 61 74 6f 72 0a 20    20 20 20 20 3a 65 76 61 6c 20 28 66 2d 70 61 74  | path-separator......:eval.(f-pat | 
| 38e0 |  68 2d 73 65 70 61 72 61 74 6f 72 29 29 0a 0a 20    20 20 20 28 66 2d 67 6c 6f 62 0a 20 20 20 20 20  | h-separator))......(f-glob...... | 
| 3900 |  3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d 67 6c 6f    62 20 22 70 61 74 68 2f 74 6f 2f 2a 2e 65 6c 22  | :no-eval*.(f-glob."path/to/*.el" | 
| 3920 |  29 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 2a    20 28 66 2d 67 6c 6f 62 20 22 2a 2e 65 6c 22 20  | )......:no-eval*.(f-glob."*.el". | 
| 3940 |  22 70 61 74 68 2f 74 6f 22 29 29 0a 0a 20 20 20    20 28 66 2d 65 6e 74 72 69 65 73 0a 20 20 20 20  | "path/to"))......(f-entries..... | 
| 3960 |  20 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d 65 6e    74 72 69 65 73 20 22 70 61 74 68 2f 74 6f 2f 64  | .:no-eval*.(f-entries."path/to/d | 
| 3980 |  69 72 22 29 0a 20 20 20 20 20 3a 6e 6f 2d 65 76    61 6c 2a 20 28 66 2d 65 6e 74 72 69 65 73 20 22  | ir")......:no-eval*.(f-entries." | 
| 39a0 |  70 61 74 68 2f 74 6f 2f 64 69 72 22 20 28 6c 61    6d 62 64 61 20 28 66 69 6c 65 29 20 28 73 2d 6d  | path/to/dir".(lambda.(file).(s-m | 
| 39c0 |  61 74 63 68 65 73 3f 20 22 74 65 73 74 22 20 66    69 6c 65 29 29 29 0a 20 20 20 20 20 3a 6e 6f 2d  | atches?."test".file)))......:no- | 
| 39e0 |  65 76 61 6c 2a 20 28 66 2d 65 6e 74 72 69 65 73    20 22 70 61 74 68 2f 74 6f 2f 64 69 72 22 20 6e  | eval*.(f-entries."path/to/dir".n | 
| 3a00 |  69 6c 20 74 29 0a 20 20 20 20 20 3a 6e 6f 2d 65    76 61 6c 2a 20 28 66 2d 2d 65 6e 74 72 69 65 73  | il.t)......:no-eval*.(f--entries | 
| 3a20 |  20 22 70 61 74 68 2f 74 6f 2f 64 69 72 22 20 28    73 2d 6d 61 74 63 68 65 73 3f 20 22 74 65 73 74  | ."path/to/dir".(s-matches?."test | 
| 3a40 |  22 20 69 74 29 29 29 0a 0a 20 20 20 20 28 66 2d    64 69 72 65 63 74 6f 72 69 65 73 0a 20 20 20 20  | ".it)))......(f-directories..... | 
| 3a60 |  20 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d 64 69    72 65 63 74 6f 72 69 65 73 20 22 70 61 74 68 2f  | .:no-eval*.(f-directories."path/ | 
| 3a80 |  74 6f 2f 64 69 72 22 29 0a 20 20 20 20 20 3a 6e    6f 2d 65 76 61 6c 2a 20 28 66 2d 64 69 72 65 63  | to/dir")......:no-eval*.(f-direc | 
| 3aa0 |  74 6f 72 69 65 73 20 22 70 61 74 68 2f 74 6f 2f    64 69 72 22 20 28 6c 61 6d 62 64 61 20 28 64 69  | tories."path/to/dir".(lambda.(di | 
| 3ac0 |  72 29 20 28 65 71 75 61 6c 20 28 66 2d 66 69 6c    65 6e 61 6d 65 20 64 69 72 29 20 22 74 65 73 74  | r).(equal.(f-filename.dir)."test | 
| 3ae0 |  22 29 29 29 0a 20 20 20 20 20 3a 6e 6f 2d 65 76    61 6c 2a 20 28 66 2d 64 69 72 65 63 74 6f 72 69  | ")))......:no-eval*.(f-directori | 
| 3b00 |  65 73 20 22 70 61 74 68 2f 74 6f 2f 64 69 72 22    20 6e 69 6c 20 74 29 0a 20 20 20 20 20 3a 6e 6f  | es."path/to/dir".nil.t)......:no | 
| 3b20 |  2d 65 76 61 6c 2a 20 28 66 2d 2d 64 69 72 65 63    74 6f 72 69 65 73 20 22 70 61 74 68 2f 74 6f 2f  | -eval*.(f--directories."path/to/ | 
| 3b40 |  64 69 72 22 20 28 65 71 75 61 6c 20 28 66 2d 66    69 6c 65 6e 61 6d 65 20 69 74 29 20 22 74 65 73  | dir".(equal.(f-filename.it)."tes | 
| 3b60 |  74 22 29 29 29 0a 0a 20 20 20 20 28 66 2d 66 69    6c 65 73 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61  | t")))......(f-files......:no-eva | 
| 3b80 |  6c 2a 20 28 66 2d 66 69 6c 65 73 20 22 70 61 74    68 2f 74 6f 2f 64 69 72 22 29 0a 20 20 20 20 20  | l*.(f-files."path/to/dir")...... | 
| 3ba0 |  3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d 66 69 6c    65 73 20 22 70 61 74 68 2f 74 6f 2f 64 69 72 22  | :no-eval*.(f-files."path/to/dir" | 
| 3bc0 |  20 28 6c 61 6d 62 64 61 20 28 66 69 6c 65 29 20    28 65 71 75 61 6c 20 28 66 2d 65 78 74 20 66 69  | .(lambda.(file).(equal.(f-ext.fi | 
| 3be0 |  6c 65 29 20 22 65 6c 22 29 29 29 0a 20 20 20 20    20 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d 66 69  | le)."el")))......:no-eval*.(f-fi | 
| 3c00 |  6c 65 73 20 22 70 61 74 68 2f 74 6f 2f 64 69 72    22 20 6e 69 6c 20 74 29 0a 20 20 20 20 20 3a 6e  | les."path/to/dir".nil.t)......:n | 
| 3c20 |  6f 2d 65 76 61 6c 2a 20 28 66 2d 2d 66 69 6c 65    73 20 22 70 61 74 68 2f 74 6f 2f 64 69 72 22 20  | o-eval*.(f--files."path/to/dir". | 
| 3c40 |  28 65 71 75 61 6c 20 28 66 2d 65 78 74 20 69 74    29 20 22 65 6c 22 29 29 29 0a 0a 20 20 20 20 28  | (equal.(f-ext.it)."el")))......( | 
| 3c60 |  66 2d 72 6f 6f 74 0a 20 20 20 20 20 3a 65 76 61    6c 20 28 66 2d 72 6f 6f 74 29 29 0a 0a 20 20 20  | f-root......:eval.(f-root))..... | 
| 3c80 |  20 28 66 2d 74 72 61 76 65 72 73 65 2d 75 70 77    61 72 64 73 0a 20 20 20 20 20 3a 6e 6f 2d 65 76  | .(f-traverse-upwards......:no-ev | 
| 3ca0 |  61 6c 2a 20 28 66 2d 74 72 61 76 65 72 73 65 2d    75 70 77 61 72 64 73 0a 20 20 20 20 20 20 20 20  | al*.(f-traverse-upwards......... | 
| 3cc0 |  20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20    28 70 61 74 68 29 0a 20 20 20 20 20 20 20 20 20  | ........(lambda.(path).......... | 
| 3ce0 |  20 20 20 20 20 20 20 20 20 28 66 2d 65 78 69 73    74 73 3f 20 28 66 2d 65 78 70 61 6e 64 20 22 2e  | .........(f-exists?.(f-expand.". | 
| 3d00 |  67 69 74 22 20 70 61 74 68 29 29 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61  | git".path))).................sta | 
| 3d20 |  72 74 2d 70 61 74 68 29 0a 0a 20 20 20 20 20 3a    6e 6f 2d 65 76 61 6c 2a 20 28 66 2d 2d 74 72 61  | rt-path).......:no-eval*.(f--tra | 
| 3d40 |  76 65 72 73 65 2d 75 70 77 61 72 64 73 20 28 66    2d 65 78 69 73 74 73 3f 20 28 66 2d 65 78 70 61  | verse-upwards.(f-exists?.(f-expa | 
| 3d60 |  6e 64 20 22 2e 67 69 74 22 20 69 74 29 29 20 73    74 61 72 74 2d 70 61 74 68 29 29 0a 0a 20 20 20  | nd.".git".it)).start-path))..... | 
| 3d80 |  20 28 66 2d 77 69 74 68 2d 73 61 6e 64 62 6f 78    0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28  | .(f-with-sandbox......:no-eval.( | 
| 3da0 |  66 2d 77 69 74 68 2d 73 61 6e 64 62 6f 78 20 66    6f 6f 2d 70 61 74 68 0a 20 20 20 20 20 20 20 20  | f-with-sandbox.foo-path......... | 
| 3dc0 |  20 20 20 20 20 20 20 20 28 66 2d 74 6f 75 63 68    20 28 66 2d 65 78 70 61 6e 64 20 22 66 6f 6f 22  | ........(f-touch.(f-expand."foo" | 
| 3de0 |  20 66 6f 6f 2d 70 61 74 68 29 29 29 0a 20 20 20    20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d 77 69  | .foo-path)))......:no-eval.(f-wi | 
| 3e00 |  74 68 2d 73 61 6e 64 62 6f 78 20 28 6c 69 73 74    20 66 6f 6f 2d 70 61 74 68 20 62 61 72 2d 70 61  | th-sandbox.(list.foo-path.bar-pa | 
| 3e20 |  74 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 66 2d 74 6f 75 63 68 20 28 66 2d  | th).................(f-touch.(f- | 
| 3e40 |  65 78 70 61 6e 64 20 22 66 6f 6f 22 20 66 6f 6f    2d 70 61 74 68 29 29 0a 20 20 20 20 20 20 20 20  | expand."foo".foo-path))......... | 
| 3e60 |  20 20 20 20 20 20 20 20 28 66 2d 74 6f 75 63 68    20 28 66 2d 65 78 70 61 6e 64 20 22 62 61 72 22  | ........(f-touch.(f-expand."bar" | 
| 3e80 |  20 62 61 72 2d 70 61 74 68 29 29 29 0a 20 20 20    20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d 77 69  | .bar-path)))......:no-eval.(f-wi | 
| 3ea0 |  74 68 2d 73 61 6e 64 62 6f 78 20 66 6f 6f 2d 70    61 74 68 0a 20 20 20 20 20 20 20 20 20 20 20 20  | th-sandbox.foo-path............. | 
| 3ec0 |  20 20 20 20 28 66 2d 74 6f 75 63 68 20 28 66 2d    65 78 70 61 6e 64 20 22 62 61 72 22 20 62 61 72  | ....(f-touch.(f-expand."bar".bar | 
| 3ee0 |  2d 70 61 74 68 29 29 29 29 29 29 20 3b 3b 20 22    44 65 73 74 72 75 63 74 69 76 65 20 6f 70 65 72  | -path)))))).;;."Destructive.oper | 
| 3f00 |  61 74 69 6f 6e 20 6f 75 74 73 69 64 65 20 73 61    6e 64 62 6f 78 22 0a 0a 28 65 76 61 6c 2d 77 68  | ation.outside.sandbox"..(eval-wh | 
| 3f20 |  65 6e 2d 63 6f 6d 70 69 6c 65 0a 20 20 28 77 68    65 6e 20 28 76 65 72 73 69 6f 6e 3c 20 65 6d 61  | en-compile...(when.(version<.ema | 
| 3f40 |  63 73 2d 76 65 72 73 69 6f 6e 20 22 32 38 2e 31    22 29 0a 20 20 20 20 28 77 61 72 6e 20 22 45 6d  | cs-version."28.1").....(warn."Em | 
| 3f60 |  61 63 73 20 73 68 6f 75 6c 64 20 6e 6f 74 20 62    65 20 63 6f 6d 70 69 6c 69 6e 67 20 74 68 69 73  | acs.should.not.be.compiling.this | 
| 3f80 |  20 66 69 6c 65 22 29 29 29 0a 0a 28 70 72 6f 76    69 64 65 20 27 66 2d 73 68 6f 72 74 64 6f 63 29  | .file")))..(provide.'f-shortdoc) | 
| 3fa0 |  0a 0a 3b 3b 3b 20 66 2d 73 68 6f 72 74 64 6f 63    2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00  | ..;;;.f-shortdoc.el.ends.here... | 
| 3fc0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3fe0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4000 |  66 2d 32 30 32 34 31 30 30 33 2e 31 31 33 31 2f    66 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00  | f-20241003.1131/f.el............ | 
| 4020 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4040 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4060 |  00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30    30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30  | ....0000644.0000000.0000000.0000 | 
| 4080 |  30 30 36 32 32 30 30 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 31 37 36 36 00 20 30 00 00 00  | 0062200.00000000000.011766..0... | 
| 40a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 40c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 40e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4100 |  00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | .ustar...root................... | 
| 4120 |  00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | .........root................... | 
| 4140 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4160 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4180 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 41a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 41c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 41e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4200 |  3b 3b 3b 20 66 2e 65 6c 20 2d 2d 2d 20 4d 6f 64    65 72 6e 20 41 50 49 20 66 6f 72 20 77 6f 72 6b  | ;;;.f.el.---.Modern.API.for.work | 
| 4220 |  69 6e 67 20 77 69 74 68 20 66 69 6c 65 73 20 61    6e 64 20 64 69 72 65 63 74 6f 72 69 65 73 20 2d  | ing.with.files.and.directories.- | 
| 4240 |  2a 2d 20 6c 65 78 69 63 61 6c 2d 62 69 6e 64 69    6e 67 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 43  | *-.lexical-binding:.t;.-*-..;;.C | 
| 4260 |  6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 31    33 20 4a 6f 68 61 6e 20 41 6e 64 65 72 73 73 6f  | opyright.(C).2013.Johan.Andersso | 
| 4280 |  6e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 4a 6f    68 61 6e 20 41 6e 64 65 72 73 73 6f 6e 20 3c 6a  | n..;;.Author:.Johan.Andersson.<j | 
| 42a0 |  6f 68 61 6e 2e 72 65 6a 65 65 70 40 67 6d 61 69    6c 2e 63 6f 6d 3e 0a 3b 3b 20 4d 61 69 6e 74 61  | ohan.rejeep@gmail.com>.;;.Mainta | 
| 42c0 |  69 6e 65 72 3a 20 4c 75 63 69 65 6e 20 43 61 72    74 69 65 72 2d 54 69 6c 65 74 20 3c 6c 75 63 69  | iner:.Lucien.Cartier-Tilet.<luci | 
| 42e0 |  65 6e 40 70 68 75 6e 64 72 61 6b 2e 63 6f 6d 3e    0a 3b 3b 20 50 61 63 6b 61 67 65 2d 56 65 72 73  | en@phundrak.com>.;;.Package-Vers | 
| 4300 |  69 6f 6e 3a 20 32 30 32 34 31 30 30 33 2e 31 31    33 31 0a 3b 3b 20 50 61 63 6b 61 67 65 2d 52 65  | ion:.20241003.1131.;;.Package-Re | 
| 4320 |  76 69 73 69 6f 6e 3a 20 39 33 31 62 36 64 30 36    36 37 66 65 0a 3b 3b 20 50 61 63 6b 61 67 65 2d  | vision:.931b6d0667fe.;;.Package- | 
| 4340 |  52 65 71 75 69 72 65 73 3a 20 28 28 65 6d 61 63    73 20 22 32 34 2e 31 22 29 20 28 73 20 22 31 2e  | Requires:.((emacs."24.1").(s."1. | 
| 4360 |  37 2e 30 22 29 20 28 64 61 73 68 20 22 32 2e 32    2e 30 22 29 29 0a 3b 3b 20 4b 65 79 77 6f 72 64  | 7.0").(dash."2.2.0")).;;.Keyword | 
| 4380 |  73 3a 20 66 69 6c 65 73 2c 20 64 69 72 65 63 74    6f 72 69 65 73 0a 3b 3b 20 48 6f 6d 65 70 61 67  | s:.files,.directories.;;.Homepag | 
| 43a0 |  65 3a 20 68 74 74 70 3a 2f 2f 67 69 74 68 75 62    2e 63 6f 6d 2f 72 65 6a 65 65 70 2f 66 2e 65 6c  | e:.http://github.com/rejeep/f.el | 
| 43c0 |  0a 0a 3b 3b 20 54 68 69 73 20 66 69 6c 65 20 69    73 20 4e 4f 54 20 70 61 72 74 20 6f 66 20 47 4e  | ..;;.This.file.is.NOT.part.of.GN | 
| 43e0 |  55 20 45 6d 61 63 73 2e 0a 0a 3b 3b 3b 20 4c 69    63 65 6e 73 65 3a 0a 0a 3b 3b 20 54 68 69 73 20  | U.Emacs...;;;.License:..;;.This. | 
| 4400 |  70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20    73 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61  | program.is.free.software;.you.ca | 
| 4420 |  6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69    74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a  | n.redistribute.it.and/or.modify. | 
| 4440 |  3b 3b 20 69 74 20 75 6e 64 65 72 20 74 68 65 20    74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55  | ;;.it.under.the.terms.of.the.GNU | 
| 4460 |  20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20    4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69  | .General.Public.License.as.publi | 
| 4480 |  73 68 65 64 20 62 79 0a 3b 3b 20 74 68 65 20 46    72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75  | shed.by.;;.the.Free.Software.Fou | 
| 44a0 |  6e 64 61 74 69 6f 6e 3b 20 65 69 74 68 65 72 20    76 65 72 73 69 6f 6e 20 33 2c 20 6f 72 20 28 61  | ndation;.either.version.3,.or.(a | 
| 44c0 |  74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 0a 3b    3b 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73  | t.your.option).;;.any.later.vers | 
| 44e0 |  69 6f 6e 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72    6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62  | ion...;;.This.program.is.distrib | 
| 4500 |  75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65    20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65  | uted.in.the.hope.that.it.will.be | 
| 4520 |  20 75 73 65 66 75 6c 2c 0a 3b 3b 20 62 75 74 20    57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52  | .useful,.;;.but.WITHOUT.ANY.WARR | 
| 4540 |  41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76    65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77  | ANTY;.without.even.the.implied.w | 
| 4560 |  61 72 72 61 6e 74 79 20 6f 66 0a 3b 3b 20 4d 45    52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72  | arranty.of.;;.MERCHANTABILITY.or | 
| 4580 |  20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50    41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53  | .FITNESS.FOR.A.PARTICULAR.PURPOS | 
| 45a0 |  45 2e 20 20 53 65 65 20 74 68 65 0a 3b 3b 20 47    4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69  | E...See.the.;;.GNU.General.Publi | 
| 45c0 |  63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f    72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 3b 3b 20  | c.License.for.more.details...;;. | 
| 45e0 |  59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20    72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20  | You.should.have.received.a.copy. | 
| 4600 |  6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72    61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73  | of.the.GNU.General.Public.Licens | 
| 4620 |  65 0a 3b 3b 20 61 6c 6f 6e 67 20 77 69 74 68 20    47 4e 55 20 45 6d 61 63 73 3b 20 73 65 65 20 74  | e.;;.along.with.GNU.Emacs;.see.t | 
| 4640 |  68 65 20 66 69 6c 65 20 43 4f 50 59 49 4e 47 2e    20 20 49 66 20 6e 6f 74 2c 20 77 72 69 74 65 20  | he.file.COPYING...If.not,.write. | 
| 4660 |  74 6f 20 74 68 65 0a 3b 3b 20 46 72 65 65 20 53    6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69  | to.the.;;.Free.Software.Foundati | 
| 4680 |  6f 6e 2c 20 49 6e 63 2e 2c 20 35 31 20 46 72 61    6e 6b 6c 69 6e 20 53 74 72 65 65 74 2c 20 46 69  | on,.Inc.,.51.Franklin.Street,.Fi | 
| 46a0 |  66 74 68 20 46 6c 6f 6f 72 2c 0a 3b 3b 20 42 6f    73 74 6f 6e 2c 20 4d 41 20 30 32 31 31 30 2d 31  | fth.Floor,.;;.Boston,.MA.02110-1 | 
| 46c0 |  33 30 31 2c 20 55 53 41 2e 0a 0a 3b 3b 3b 20 43    6f 6d 6d 65 6e 74 61 72 79 3a 0a 3b 3b 0a 3b 3b  | 301,.USA...;;;.Commentary:.;;.;; | 
| 46e0 |  20 4d 75 63 68 20 69 6e 73 70 69 72 65 64 20 62    79 20 6d 61 67 6e 61 72 27 73 20 65 78 63 65 6c  | .Much.inspired.by.magnar's.excel | 
| 4700 |  6c 65 6e 74 20 73 2e 65 6c 20 61 6e 64 20 64 61    73 68 2e 65 6c 2c 20 66 2e 65 6c 20 69 73 20 61  | lent.s.el.and.dash.el,.f.el.is.a | 
| 4720 |  0a 3b 3b 20 6d 6f 64 65 72 6e 20 41 50 49 20 66    6f 72 20 77 6f 72 6b 69 6e 67 20 77 69 74 68 20  | .;;.modern.API.for.working.with. | 
| 4740 |  66 69 6c 65 73 20 61 6e 64 20 64 69 72 65 63 74    6f 72 69 65 73 20 69 6e 20 45 6d 61 63 73 2e 0a  | files.and.directories.in.Emacs.. | 
| 4760 |  0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 0c 0a 0a 28    72 65 71 75 69 72 65 20 27 73 29 0a 28 72 65 71  | .;;;.Code:.....(require.'s).(req | 
| 4780 |  75 69 72 65 20 27 64 61 73 68 29 0a 28 77 68 65    6e 20 28 76 65 72 73 69 6f 6e 3c 3d 20 22 32 38  | uire.'dash).(when.(version<=."28 | 
| 47a0 |  2e 31 22 20 65 6d 61 63 73 2d 76 65 72 73 69 6f    6e 29 0a 20 20 28 77 68 65 6e 20 28 3c 20 65 6d  | .1".emacs-version)...(when.(<.em | 
| 47c0 |  61 63 73 2d 6d 61 6a 6f 72 2d 76 65 72 73 69 6f    6e 20 32 39 29 0a 20 20 20 28 72 65 71 75 69 72  | acs-major-version.29)....(requir | 
| 47e0 |  65 20 27 66 2d 73 68 6f 72 74 64 6f 63 20 6e 69    6c 20 74 29 29 29 0a 0a 28 70 75 74 20 27 66 2d  | e.'f-shortdoc.nil.t)))..(put.'f- | 
| 4800 |  67 75 61 72 64 2d 65 72 72 6f 72 20 27 65 72 72    6f 72 2d 63 6f 6e 64 69 74 69 6f 6e 73 20 27 28  | guard-error.'error-conditions.'( | 
| 4820 |  65 72 72 6f 72 20 66 2d 67 75 61 72 64 2d 65 72    72 6f 72 29 29 0a 28 70 75 74 20 27 66 2d 67 75  | error.f-guard-error)).(put.'f-gu | 
| 4840 |  61 72 64 2d 65 72 72 6f 72 20 27 65 72 72 6f 72    2d 6d 65 73 73 61 67 65 20 22 44 65 73 74 72 75  | ard-error.'error-message."Destru | 
| 4860 |  63 74 69 76 65 20 6f 70 65 72 61 74 69 6f 6e 20    6f 75 74 73 69 64 65 20 73 61 6e 64 62 6f 78 22  | ctive.operation.outside.sandbox" | 
| 4880 |  29 0a 0a 28 64 65 66 76 61 72 20 66 2d 2d 67 75    61 72 64 2d 70 61 74 68 73 20 6e 69 6c 0a 20 20  | )..(defvar.f--guard-paths.nil... | 
| 48a0 |  22 4c 69 73 74 20 6f 66 20 61 6c 6c 6f 77 65 64    20 70 61 74 68 73 20 74 6f 20 6d 6f 64 69 66 79  | "List.of.allowed.paths.to.modify | 
| 48c0 |  20 77 68 65 6e 20 67 75 61 72 64 65 64 2e 0a 0a    44 6f 20 6e 6f 74 20 6d 6f 64 69 66 79 20 74 68  | .when.guarded...Do.not.modify.th | 
| 48e0 |  69 73 20 76 61 72 69 61 62 6c 65 2e 22 29 0a 0a    28 64 65 66 6d 61 63 72 6f 20 66 2d 2d 64 65 73  | is.variable.")..(defmacro.f--des | 
| 4900 |  74 72 75 63 74 69 76 65 20 28 70 61 74 68 20 26    72 65 73 74 20 62 6f 64 79 29 0a 20 20 22 49 66  | tructive.(path.&rest.body)..."If | 
| 4920 |  20 50 41 54 48 20 69 73 20 61 6c 6c 6f 77 65 64    20 74 6f 20 62 65 20 6d 6f 64 69 66 69 65 64 2c  | .PATH.is.allowed.to.be.modified, | 
| 4940 |  20 79 69 65 6c 64 20 42 4f 44 59 2e 0a 0a 49 66    20 50 41 54 48 20 69 73 20 6e 6f 74 20 61 6c 6c  | .yield.BODY...If.PATH.is.not.all | 
| 4960 |  6f 77 65 64 20 74 6f 20 62 65 20 6d 6f 64 69 66    69 65 64 2c 20 74 68 72 6f 77 20 65 72 72 6f 72  | owed.to.be.modified,.throw.error | 
| 4980 |  2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69    6e 64 65 6e 74 20 31 29 29 0a 20 20 60 28 69 66  | ."...(declare.(indent.1))...`(if | 
| 49a0 |  20 66 2d 2d 67 75 61 72 64 2d 70 61 74 68 73 0a    20 20 20 20 20 20 20 28 69 66 20 28 2d 2d 61 6e  | .f--guard-paths........(if.(--an | 
| 49c0 |  79 3f 20 28 6f 72 20 28 66 2d 73 61 6d 65 2d 70    20 69 74 20 2c 70 61 74 68 29 0a 20 20 20 20 20  | y?.(or.(f-same-p.it.,path)...... | 
| 49e0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 66 2d 61 6e 63 65 73 74 6f 72 2d 6f 66  | ..................(f-ancestor-of | 
| 4a00 |  2d 70 20 69 74 20 2c 70 61 74 68 29 29 20 66 2d    2d 67 75 61 72 64 2d 70 61 74 68 73 29 0a 20 20  | -p.it.,path)).f--guard-paths)... | 
| 4a20 |  20 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 20    2c 40 62 6f 64 79 29 0a 20 20 20 20 20 20 20 20  | .........(progn.,@body)......... | 
| 4a40 |  20 28 73 69 67 6e 61 6c 20 27 66 2d 67 75 61 72    64 2d 65 72 72 6f 72 20 28 6c 69 73 74 20 2c 70  | .(signal.'f-guard-error.(list.,p | 
| 4a60 |  61 74 68 20 66 2d 2d 67 75 61 72 64 2d 70 61 74    68 73 29 29 29 0a 20 20 20 20 20 2c 40 62 6f 64  | ath.f--guard-paths)))......,@bod | 
| 4a80 |  79 29 29 0a 0a 0c 0a 3b 3b 3b 3b 20 50 61 74 68    73 0a 0a 28 64 65 66 75 6e 20 66 2d 6a 6f 69 6e  | y))....;;;;.Paths..(defun.f-join | 
| 4aa0 |  20 28 26 72 65 73 74 20 61 72 67 73 29 0a 20 20    22 4a 6f 69 6e 20 41 52 47 53 20 74 6f 20 61 20  | .(&rest.args)..."Join.ARGS.to.a. | 
| 4ac0 |  73 69 6e 67 6c 65 20 70 61 74 68 2e 0a 0a 42 65    20 61 77 61 72 65 20 69 66 20 6f 6e 65 20 6f 66  | single.path...Be.aware.if.one.of | 
| 4ae0 |  20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 69    73 20 61 6e 20 61 62 73 6f 6c 75 74 65 20 70 61  | .the.arguments.is.an.absolute.pa | 
| 4b00 |  74 68 2c 20 60 66 2d 6a 6f 69 6e 27 0a 77 69 6c    6c 20 64 69 73 63 61 72 64 20 61 6c 6c 20 74 68  | th,.`f-join'.will.discard.all.th | 
| 4b20 |  65 20 70 72 65 63 65 65 64 69 6e 67 20 61 72 67    75 6d 65 6e 74 73 20 61 6e 64 20 6d 61 6b 65 20  | e.preceeding.arguments.and.make. | 
| 4b40 |  74 68 69 73 20 61 62 73 6f 6c 75 74 65 0a 70 61    74 68 20 74 68 65 20 6e 65 77 20 72 6f 6f 74 20  | this.absolute.path.the.new.root. | 
| 4b60 |  6f 66 20 74 68 65 20 67 65 6e 65 72 61 74 65 64    20 70 61 74 68 2e 22 0a 20 20 28 6c 65 74 20 28  | of.the.generated.path."...(let.( | 
| 4b80 |  70 61 74 68 0a 20 20 20 20 20 20 20 20 28 72 65    6c 61 74 69 76 65 20 28 66 2d 72 65 6c 61 74 69  | path.........(relative.(f-relati | 
| 4ba0 |  76 65 2d 70 20 28 63 61 72 20 61 72 67 73 29 29    29 29 0a 20 20 20 20 28 6d 61 70 63 0a 20 20 20  | ve-p.(car.args)))).....(mapc.... | 
| 4bc0 |  20 20 28 6c 61 6d 62 64 61 20 28 61 72 67 29 0a    20 20 20 20 20 20 20 28 73 65 74 71 20 70 61 74  | ..(lambda.(arg)........(setq.pat | 
| 4be0 |  68 20 28 63 6f 6e 64 20 28 28 6e 6f 74 20 70 61    74 68 29 20 61 72 67 29 0a 20 20 20 20 20 20 20  | h.(cond.((not.path).arg)........ | 
| 4c00 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 28 66 2d 61 62 73 6f 6c 75 74 65 2d 70 20  | .................((f-absolute-p. | 
| 4c20 |  61 72 67 29 0a 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 28 70  | arg)..........................(p | 
| 4c40 |  72 6f 67 6e 0a 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  | rogn............................ | 
| 4c60 |  28 73 65 74 71 20 72 65 6c 61 74 69 76 65 20 6e    69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  | (setq.relative.nil)............. | 
| 4c80 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61    72 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20  | ...............arg))............ | 
| 4ca0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 20    28 66 2d 65 78 70 61 6e 64 20 61 72 67 20 70 61  | .............(t.(f-expand.arg.pa | 
| 4cc0 |  74 68 29 29 29 29 29 0a 20 20 20 20 20 61 72 67    73 29 0a 20 20 20 20 28 69 66 20 72 65 6c 61 74  | th)))))......args).....(if.relat | 
| 4ce0 |  69 76 65 20 28 66 2d 72 65 6c 61 74 69 76 65 20    70 61 74 68 29 20 70 61 74 68 29 29 29 0a 0a 28  | ive.(f-relative.path).path)))..( | 
| 4d00 |  64 65 66 75 6e 20 66 2d 73 70 6c 69 74 20 28 70    61 74 68 29 0a 20 20 22 53 70 6c 69 74 20 50 41  | defun.f-split.(path)..."Split.PA | 
| 4d20 |  54 48 20 61 6e 64 20 72 65 74 75 72 6e 20 6c 69    73 74 20 63 6f 6e 74 61 69 6e 69 6e 67 20 70 61  | TH.and.return.list.containing.pa | 
| 4d40 |  72 74 73 2e 22 0a 20 20 28 6c 65 74 20 28 28 70    61 72 74 73 20 28 73 70 6c 69 74 2d 73 74 72 69  | rts."...(let.((parts.(split-stri | 
| 4d60 |  6e 67 20 70 61 74 68 20 28 66 2d 70 61 74 68 2d    73 65 70 61 72 61 74 6f 72 29 20 27 6f 6d 69 74  | ng.path.(f-path-separator).'omit | 
| 4d80 |  2d 6e 75 6c 6c 73 29 29 29 0a 20 20 20 20 28 69    66 20 28 73 74 72 69 6e 67 3d 20 28 73 2d 6c 65  | -nulls))).....(if.(string=.(s-le | 
| 4da0 |  66 74 20 31 20 70 61 74 68 29 20 28 66 2d 70 61    74 68 2d 73 65 70 61 72 61 74 6f 72 29 29 0a 20  | ft.1.path).(f-path-separator)).. | 
| 4dc0 |  20 20 20 20 20 20 20 28 70 75 73 68 20 28 66 2d    70 61 74 68 2d 73 65 70 61 72 61 74 6f 72 29 20  | .......(push.(f-path-separator). | 
| 4de0 |  70 61 72 74 73 29 0a 20 20 20 20 20 20 70 61 72    74 73 29 29 29 0a 0a 28 64 65 66 75 6e 20 66 2d  | parts).......parts)))..(defun.f- | 
| 4e00 |  65 78 70 61 6e 64 20 28 70 61 74 68 20 26 6f 70    74 69 6f 6e 61 6c 20 64 69 72 29 0a 20 20 22 45  | expand.(path.&optional.dir)..."E | 
| 4e20 |  78 70 61 6e 64 20 50 41 54 48 20 72 65 6c 61 74    69 76 65 20 74 6f 20 44 49 52 20 28 6f 72 20 60  | xpand.PATH.relative.to.DIR.(or.` | 
| 4e40 |  64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72    79 27 29 2e 0a 50 41 54 48 20 61 6e 64 20 44 49  | default-directory')..PATH.and.DI | 
| 4e60 |  52 20 63 61 6e 20 62 65 20 65 69 74 68 65 72 20    61 20 64 69 72 65 63 74 6f 72 79 20 6e 61 6d 65  | R.can.be.either.a.directory.name | 
| 4e80 |  73 20 6f 72 20 64 69 72 65 63 74 6f 72 79 20 66    69 6c 65 0a 6e 61 6d 65 73 2e 20 20 52 65 74 75  | s.or.directory.file.names...Retu | 
| 4ea0 |  72 6e 20 61 20 64 69 72 65 63 74 6f 72 79 20 6e    61 6d 65 20 69 66 20 50 41 54 48 20 69 73 20 61  | rn.a.directory.name.if.PATH.is.a | 
| 4ec0 |  20 64 69 72 65 63 74 6f 72 79 20 6e 61 6d 65 2c    20 61 6e 64 0a 61 20 64 69 72 65 63 74 6f 72 79  | .directory.name,.and.a.directory | 
| 4ee0 |  20 66 69 6c 65 20 6e 61 6d 65 20 6f 74 68 65 72    77 69 73 65 2e 20 20 46 69 6c 65 20 6e 61 6d 65  | .file.name.otherwise...File.name | 
| 4f00 |  20 68 61 6e 64 6c 65 72 73 20 61 72 65 0a 69 67    6e 6f 72 65 64 2e 22 0a 20 20 28 6c 65 74 20 28  | .handlers.are.ignored."...(let.( | 
| 4f20 |  66 69 6c 65 2d 6e 61 6d 65 2d 68 61 6e 64 6c 65    72 2d 61 6c 69 73 74 29 0a 20 20 20 20 28 65 78  | file-name-handler-alist).....(ex | 
| 4f40 |  70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 70    61 74 68 20 64 69 72 29 29 29 0a 0a 28 64 65 66  | pand-file-name.path.dir)))..(def | 
| 4f60 |  75 6e 20 66 2d 66 69 6c 65 6e 61 6d 65 20 28 70    61 74 68 29 0a 20 20 22 52 65 74 75 72 6e 20 74  | un.f-filename.(path)..."Return.t | 
| 4f80 |  68 65 20 6e 61 6d 65 20 6f 66 20 50 41 54 48 2e    22 0a 20 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 6e  | he.name.of.PATH."...(file-name-n | 
| 4fa0 |  6f 6e 64 69 72 65 63 74 6f 72 79 20 28 64 69 72    65 63 74 6f 72 79 2d 66 69 6c 65 2d 6e 61 6d 65  | ondirectory.(directory-file-name | 
| 4fc0 |  20 70 61 74 68 29 29 29 0a 0a 28 64 65 66 61 6c    69 61 73 20 27 66 2d 70 61 72 65 6e 74 20 27 66  | .path)))..(defalias.'f-parent.'f | 
| 4fe0 |  2d 64 69 72 6e 61 6d 65 29 0a 0a 28 64 65 66 75    6e 20 66 2d 64 69 72 6e 61 6d 65 20 28 70 61 74  | -dirname)..(defun.f-dirname.(pat | 
| 5000 |  68 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65    20 70 61 72 65 6e 74 20 64 69 72 65 63 74 6f 72  | h)..."Return.the.parent.director | 
| 5020 |  79 20 74 6f 20 50 41 54 48 2e 22 0a 20 20 28 6c    65 74 20 28 28 70 61 72 65 6e 74 20 28 66 69 6c  | y.to.PATH."...(let.((parent.(fil | 
| 5040 |  65 2d 6e 61 6d 65 2d 64 69 72 65 63 74 6f 72 79    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | e-name-directory................ | 
| 5060 |  20 20 28 64 69 72 65 63 74 6f 72 79 2d 66 69 6c    65 2d 6e 61 6d 65 20 28 66 2d 65 78 70 61 6e 64  | ..(directory-file-name.(f-expand | 
| 5080 |  20 70 61 74 68 20 64 65 66 61 75 6c 74 2d 64 69    72 65 63 74 6f 72 79 29 29 29 29 29 0a 20 20 20  | .path.default-directory))))).... | 
| 50a0 |  20 28 75 6e 6c 65 73 73 20 28 66 2d 73 61 6d 65    2d 70 20 70 61 74 68 20 70 61 72 65 6e 74 29 0a  | .(unless.(f-same-p.path.parent). | 
| 50c0 |  20 20 20 20 20 20 28 69 66 20 28 66 2d 72 65 6c    61 74 69 76 65 2d 70 20 70 61 74 68 29 0a 20 20  | ......(if.(f-relative-p.path)... | 
| 50e0 |  20 20 20 20 20 20 20 20 28 66 2d 72 65 6c 61 74    69 76 65 20 70 61 72 65 6e 74 29 0a 20 20 20 20  | ........(f-relative.parent)..... | 
| 5100 |  20 20 20 20 28 64 69 72 65 63 74 6f 72 79 2d 66    69 6c 65 2d 6e 61 6d 65 20 70 61 72 65 6e 74 29  | ....(directory-file-name.parent) | 
| 5120 |  29 29 29 29 0a 0a 28 64 65 66 75 6e 20 66 2d 63    6f 6d 6d 6f 6e 2d 70 61 72 65 6e 74 20 28 70 61  | ))))..(defun.f-common-parent.(pa | 
| 5140 |  74 68 73 29 0a 20 20 22 52 65 74 75 72 6e 20 74    68 65 20 64 65 65 70 65 73 74 20 63 6f 6d 6d 6f  | ths)..."Return.the.deepest.commo | 
| 5160 |  6e 20 70 61 72 65 6e 74 20 64 69 72 65 63 74 6f    72 79 20 6f 66 20 50 41 54 48 53 2e 22 0a 20 20  | n.parent.directory.of.PATHS."... | 
| 5180 |  28 63 6f 6e 64 0a 20 20 20 28 28 6e 6f 74 20 70    61 74 68 73 29 20 6e 69 6c 29 0a 20 20 20 28 28  | (cond....((not.paths).nil)....(( | 
| 51a0 |  6e 6f 74 20 28 63 64 72 20 70 61 74 68 73 29 29    20 28 66 2d 70 61 72 65 6e 74 20 28 63 61 72 20  | not.(cdr.paths)).(f-parent.(car. | 
| 51c0 |  70 61 74 68 73 29 29 29 0a 20 20 20 28 3a 6f 74    68 65 72 77 69 73 65 0a 20 20 20 20 28 6c 65 74  | paths)))....(:otherwise.....(let | 
| 51e0 |  2a 20 28 28 70 61 74 68 73 20 28 2d 6d 61 70 20    27 66 2d 73 70 6c 69 74 20 70 61 74 68 73 29 29  | *.((paths.(-map.'f-split.paths)) | 
| 5200 |  0a 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6d    6d 6f 6e 20 28 63 61 61 72 20 70 61 74 68 73 29  | ............(common.(caar.paths) | 
| 5220 |  29 0a 20 20 20 20 20 20 20 20 20 20 20 28 72 65    20 6e 69 6c 29 29 0a 20 20 20 20 20 20 28 77 68  | )............(re.nil)).......(wh | 
| 5240 |  69 6c 65 20 28 61 6e 64 20 28 6e 6f 74 20 28 6e    75 6c 6c 20 28 63 61 72 20 70 61 74 68 73 29 29  | ile.(and.(not.(null.(car.paths)) | 
| 5260 |  29 20 28 2d 2d 61 6c 6c 3f 20 28 65 71 75 61 6c    20 28 63 61 72 20 69 74 29 20 63 6f 6d 6d 6f 6e  | ).(--all?.(equal.(car.it).common | 
| 5280 |  29 20 70 61 74 68 73 29 29 0a 20 20 20 20 20 20    20 20 28 73 65 74 71 20 70 61 74 68 73 20 28 2d  | ).paths)).........(setq.paths.(- | 
| 52a0 |  6d 61 70 20 27 63 64 72 20 70 61 74 68 73 29 29    0a 20 20 20 20 20 20 20 20 28 70 75 73 68 20 63  | map.'cdr.paths)).........(push.c | 
| 52c0 |  6f 6d 6d 6f 6e 20 72 65 29 0a 20 20 20 20 20 20    20 20 28 73 65 74 71 20 63 6f 6d 6d 6f 6e 20 28  | ommon.re).........(setq.common.( | 
| 52e0 |  63 61 61 72 20 70 61 74 68 73 29 29 29 0a 20 20    20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20  | caar.paths))).......(cond....... | 
| 5300 |  20 28 28 6e 75 6c 6c 20 72 65 29 20 22 22 29 0a    20 20 20 20 20 20 20 28 28 61 6e 64 20 28 3d 20  | .((null.re)."")........((and.(=. | 
| 5320 |  28 6c 65 6e 67 74 68 20 72 65 29 20 31 29 20 28    66 2d 72 6f 6f 74 2d 70 20 28 63 61 72 20 72 65  | (length.re).1).(f-root-p.(car.re | 
| 5340 |  29 29 29 0a 20 20 20 20 20 20 20 20 28 66 2d 72    6f 6f 74 29 29 0a 20 20 20 20 20 20 20 28 3a 6f  | ))).........(f-root))........(:o | 
| 5360 |  74 68 65 72 77 69 73 65 0a 20 20 20 20 20 20 20    20 28 63 6f 6e 63 61 74 20 28 61 70 70 6c 79 20  | therwise.........(concat.(apply. | 
| 5380 |  27 66 2d 6a 6f 69 6e 20 28 6e 72 65 76 65 72 73    65 20 72 65 29 29 20 22 2f 22 29 29 29 29 29 29  | 'f-join.(nreverse.re))."/")))))) | 
| 53a0 |  29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 66 2d    65 78 74 20 27 66 69 6c 65 2d 6e 61 6d 65 2d 65  | )..(defalias.'f-ext.'file-name-e | 
| 53c0 |  78 74 65 6e 73 69 6f 6e 29 0a 0a 28 64 65 66 61    6c 69 61 73 20 27 66 2d 6e 6f 2d 65 78 74 20 27  | xtension)..(defalias.'f-no-ext.' | 
| 53e0 |  66 69 6c 65 2d 6e 61 6d 65 2d 73 61 6e 73 2d 65    78 74 65 6e 73 69 6f 6e 29 0a 0a 28 64 65 66 75  | file-name-sans-extension)..(defu | 
| 5400 |  6e 20 66 2d 73 77 61 70 2d 65 78 74 20 28 70 61    74 68 20 65 78 74 29 0a 20 20 22 52 65 74 75 72  | n.f-swap-ext.(path.ext)..."Retur | 
| 5420 |  6e 20 50 41 54 48 20 62 75 74 20 77 69 74 68 20    45 58 54 20 61 73 20 74 68 65 20 6e 65 77 20 65  | n.PATH.but.with.EXT.as.the.new.e | 
| 5440 |  78 74 65 6e 73 69 6f 6e 2e 0a 45 58 54 20 6d 75    73 74 20 6e 6f 74 20 62 65 20 6e 69 6c 20 6f 72  | xtension..EXT.must.not.be.nil.or | 
| 5460 |  20 65 6d 70 74 79 2e 22 0a 20 20 28 69 66 20 28    73 2d 62 6c 61 6e 6b 2d 70 20 65 78 74 29 0a 20  | .empty."...(if.(s-blank-p.ext).. | 
| 5480 |  20 20 20 20 20 28 65 72 72 6f 72 20 22 45 78 74    65 6e 73 69 6f 6e 20 63 61 6e 6e 6f 74 20 62 65  | .....(error."Extension.cannot.be | 
| 54a0 |  20 65 6d 70 74 79 20 6f 72 20 6e 69 6c 22 29 0a    20 20 20 20 28 63 6f 6e 63 61 74 20 28 66 2d 6e  | .empty.or.nil").....(concat.(f-n | 
| 54c0 |  6f 2d 65 78 74 20 70 61 74 68 29 20 22 2e 22 20    65 78 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 66  | o-ext.path).".".ext)))..(defun.f | 
| 54e0 |  2d 62 61 73 65 20 28 70 61 74 68 29 0a 20 20 22    52 65 74 75 72 6e 20 74 68 65 20 6e 61 6d 65 20  | -base.(path)..."Return.the.name. | 
| 5500 |  6f 66 20 50 41 54 48 2c 20 65 78 63 6c 75 64 69    6e 67 20 74 68 65 20 65 78 74 65 6e 73 69 6f 6e  | of.PATH,.excluding.the.extension | 
| 5520 |  20 6f 66 20 66 69 6c 65 2e 22 0a 20 20 28 66 2d    6e 6f 2d 65 78 74 20 28 66 2d 66 69 6c 65 6e 61  | .of.file."...(f-no-ext.(f-filena | 
| 5540 |  6d 65 20 70 61 74 68 29 29 29 0a 0a 28 64 65 66    61 6c 69 61 73 20 27 66 2d 72 65 6c 61 74 69 76  | me.path)))..(defalias.'f-relativ | 
| 5560 |  65 20 27 66 69 6c 65 2d 72 65 6c 61 74 69 76 65    2d 6e 61 6d 65 29 0a 0a 28 64 65 66 61 6c 69 61  | e.'file-relative-name)..(defalia | 
| 5580 |  73 20 27 66 2d 73 68 6f 72 74 20 27 61 62 62 72    65 76 69 61 74 65 2d 66 69 6c 65 2d 6e 61 6d 65  | s.'f-short.'abbreviate-file-name | 
| 55a0 |  29 0a 28 64 65 66 61 6c 69 61 73 20 27 66 2d 61    62 62 72 65 76 20 27 61 62 62 72 65 76 69 61 74  | ).(defalias.'f-abbrev.'abbreviat | 
| 55c0 |  65 2d 66 69 6c 65 2d 6e 61 6d 65 29 0a 0a 28 64    65 66 75 6e 20 66 2d 6c 6f 6e 67 20 28 70 61 74  | e-file-name)..(defun.f-long.(pat | 
| 55e0 |  68 29 0a 20 20 22 52 65 74 75 72 6e 20 6c 6f 6e    67 20 76 65 72 73 69 6f 6e 20 6f 66 20 50 41 54  | h)..."Return.long.version.of.PAT | 
| 5600 |  48 2e 22 0a 20 20 28 66 2d 65 78 70 61 6e 64 20    70 61 74 68 29 29 0a 0a 28 64 65 66 61 6c 69 61  | H."...(f-expand.path))..(defalia | 
| 5620 |  73 20 27 66 2d 63 61 6e 6f 6e 69 63 61 6c 20 27    66 69 6c 65 2d 74 72 75 65 6e 61 6d 65 29 0a 0a  | s.'f-canonical.'file-truename).. | 
| 5640 |  28 64 65 66 75 6e 20 66 2d 73 6c 61 73 68 20 28    70 61 74 68 29 0a 20 20 22 41 70 70 65 6e 64 20  | (defun.f-slash.(path)..."Append. | 
| 5660 |  73 6c 61 73 68 20 74 6f 20 50 41 54 48 20 75 6e    6c 65 73 73 20 6f 6e 65 20 61 6c 72 65 61 64 79  | slash.to.PATH.unless.one.already | 
| 5680 |  2e 0a 0a 53 6f 6d 65 20 66 75 6e 63 74 69 6f 6e    73 2c 20 73 75 63 68 20 61 73 20 60 63 61 6c 6c  | ...Some.functions,.such.as.`call | 
| 56a0 |  2d 70 72 6f 63 65 73 73 27 20 72 65 71 75 69 72    65 73 20 74 68 65 72 65 20 74 6f 20 62 65 20 61  | -process'.requires.there.to.be.a | 
| 56c0 |  6e 0a 65 6e 64 69 6e 67 20 73 6c 61 73 68 2e 22    0a 20 20 28 69 66 20 28 66 2d 64 69 72 2d 70 20  | n.ending.slash."...(if.(f-dir-p. | 
| 56e0 |  70 61 74 68 29 0a 20 20 20 20 20 20 28 66 69 6c    65 2d 6e 61 6d 65 2d 61 73 2d 64 69 72 65 63 74  | path).......(file-name-as-direct | 
| 5700 |  6f 72 79 20 70 61 74 68 29 0a 20 20 20 20 70 61    74 68 29 29 0a 0a 28 64 65 66 75 6e 20 66 2d 66  | ory.path).....path))..(defun.f-f | 
| 5720 |  75 6c 6c 20 28 70 61 74 68 29 0a 20 20 22 52 65    74 75 72 6e 20 61 62 73 6f 6c 75 74 65 20 70 61  | ull.(path)..."Return.absolute.pa | 
| 5740 |  74 68 20 74 6f 20 50 41 54 48 2c 20 77 69 74 68    20 65 6e 64 69 6e 67 20 73 6c 61 73 68 2e 22 0a  | th.to.PATH,.with.ending.slash.". | 
| 5760 |  20 20 28 66 2d 73 6c 61 73 68 20 28 66 2d 6c 6f    6e 67 20 70 61 74 68 29 29 29 0a 0a 28 64 65 66  | ..(f-slash.(f-long.path)))..(def | 
| 5780 |  75 6e 20 66 2d 2d 75 6e 69 71 75 69 66 79 20 28    70 61 74 68 73 29 0a 20 20 22 48 65 6c 70 65 72  | un.f--uniquify.(paths)..."Helper | 
| 57a0 |  20 66 6f 72 20 60 66 2d 75 6e 69 71 75 69 66 79    27 20 61 6e 64 20 60 66 2d 75 6e 69 71 75 69 66  | .for.`f-uniquify'.and.`f-uniquif | 
| 57c0 |  79 2d 61 6c 69 73 74 27 2e 22 0a 20 20 28 6c 65    74 2a 20 28 28 66 69 6c 65 73 2d 6c 65 6e 67 74  | y-alist'."...(let*.((files-lengt | 
| 57e0 |  68 20 28 6c 65 6e 67 74 68 20 70 61 74 68 73 29    29 0a 20 20 20 20 20 20 20 20 20 28 75 6e 69 71  | h.(length.paths))..........(uniq | 
| 5800 |  2d 66 69 6c 65 6e 61 6d 65 73 20 28 2d 2d 6d 61    70 20 28 63 6f 6e 73 20 69 74 20 28 66 2d 66 69  | -filenames.(--map.(cons.it.(f-fi | 
| 5820 |  6c 65 6e 61 6d 65 20 69 74 29 29 20 70 61 74 68    73 29 29 0a 20 20 20 20 20 20 20 20 20 28 75 6e  | lename.it)).paths))..........(un | 
| 5840 |  69 71 2d 66 69 6c 65 6e 61 6d 65 73 2d 6e 65 78    74 20 28 2d 67 72 6f 75 70 2d 62 79 20 27 63 64  | iq-filenames-next.(-group-by.'cd | 
| 5860 |  72 20 75 6e 69 71 2d 66 69 6c 65 6e 61 6d 65 73    29 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28  | r.uniq-filenames))).....(while.( | 
| 5880 |  2f 3d 20 66 69 6c 65 73 2d 6c 65 6e 67 74 68 20    28 6c 65 6e 67 74 68 20 75 6e 69 71 2d 66 69 6c  | /=.files-length.(length.uniq-fil | 
| 58a0 |  65 6e 61 6d 65 73 2d 6e 65 78 74 29 29 0a 20 20    20 20 20 20 28 73 65 74 71 20 75 6e 69 71 2d 66  | enames-next)).......(setq.uniq-f | 
| 58c0 |  69 6c 65 6e 61 6d 65 73 2d 6e 65 78 74 0a 20 20    20 20 20 20 20 20 20 20 20 20 28 2d 67 72 6f 75  | ilenames-next.............(-grou | 
| 58e0 |  70 2d 62 79 20 27 63 64 72 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | p-by.'cdr....................... | 
| 5900 |  20 28 2d 2d 6d 61 70 63 61 74 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | .(--mapcat...................... | 
| 5920 |  20 20 20 28 6c 65 74 20 28 28 63 6f 6e 66 2d 66    69 6c 65 73 20 28 63 64 72 20 69 74 29 29 29 0a  | ...(let.((conf-files.(cdr.it))). | 
| 5940 |  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 28 69 66 20 28 3e  | ..........................(if.(> | 
| 5960 |  20 28 6c 65 6e 67 74 68 20 63 6f 6e 66 2d 66 69    6c 65 73 29 20 31 29 0a 20 20 20 20 20 20 20 20  | .(length.conf-files).1)......... | 
| 5980 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 2d 2d 6d 61 70 20 28 63 6f  | ......................(--map.(co | 
| 59a0 |  6e 73 0a 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  | ns.............................. | 
| 59c0 |  20 20 20 20 20 20 20 20 20 28 63 61 72 20 69 74    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | .........(car.it)............... | 
| 59e0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 0a  | ........................(concat. | 
| 5a00 |  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  | ................................ | 
| 5a20 |  20 20 20 20 20 20 20 28 66 2d 66 69 6c 65 6e 61    6d 65 20 28 73 2d 63 68 6f 70 2d 73 75 66 66 69  | .......(f-filename.(s-chop-suffi | 
| 5a40 |  78 20 28 63 64 72 20 69 74 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | x.(cdr.it)...................... | 
| 5a60 |  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  | ................................ | 
| 5a80 |  20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61    72 20 69 74 29 29 29 0a 20 20 20 20 20 20 20 20  | .............(car.it)))......... | 
| 5aa0 |  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 28  | ...............................( | 
| 5ac0 |  66 2d 70 61 74 68 2d 73 65 70 61 72 61 74 6f 72    29 20 28 63 64 72 20 69 74 29 29 29 0a 20 20 20  | f-path-separator).(cdr.it))).... | 
| 5ae0 |  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  | ................................ | 
| 5b00 |  20 20 63 6f 6e 66 2d 66 69 6c 65 73 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ..conf-files)................... | 
| 5b20 |  20 20 20 20 20 20 20 20 20 20 63 6f 6e 66 2d 66    69 6c 65 73 29 29 0a 20 20 20 20 20 20 20 20 20  | ..........conf-files)).......... | 
| 5b40 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75    6e 69 71 2d 66 69 6c 65 6e 61 6d 65 73 2d 6e 65  | ...............uniq-filenames-ne | 
| 5b60 |  78 74 29 29 29 29 0a 20 20 20 20 75 6e 69 71 2d    66 69 6c 65 6e 61 6d 65 73 2d 6e 65 78 74 29 29  | xt)))).....uniq-filenames-next)) | 
| 5b80 |  0a 0a 28 64 65 66 75 6e 20 66 2d 75 6e 69 71 75    69 66 79 20 28 66 69 6c 65 73 29 0a 20 20 22 52  | ..(defun.f-uniquify.(files)..."R | 
| 5ba0 |  65 74 75 72 6e 20 75 6e 69 71 75 65 20 73 75 66    66 69 78 65 73 20 6f 66 20 46 49 4c 45 53 2e 0a  | eturn.unique.suffixes.of.FILES.. | 
| 5bc0 |  0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 65    78 70 65 63 74 73 20 6e 6f 20 64 75 70 6c 69 63  | .This.function.expects.no.duplic | 
| 5be0 |  61 74 65 20 70 61 74 68 73 2e 22 0a 20 20 28 2d    6d 61 70 20 27 63 61 72 20 28 66 2d 2d 75 6e 69  | ate.paths."...(-map.'car.(f--uni | 
| 5c00 |  71 75 69 66 79 20 66 69 6c 65 73 29 29 29 0a 0a    28 64 65 66 75 6e 20 66 2d 75 6e 69 71 75 69 66  | quify.files)))..(defun.f-uniquif | 
| 5c20 |  79 2d 61 6c 69 73 74 20 28 66 69 6c 65 73 29 0a    20 20 22 52 65 74 75 72 6e 20 61 6c 69 73 74 20  | y-alist.(files)..."Return.alist. | 
| 5c40 |  6d 61 70 70 69 6e 67 20 46 49 4c 45 53 20 74 6f    20 75 6e 69 71 75 65 20 73 75 66 66 69 78 65 73  | mapping.FILES.to.unique.suffixes | 
| 5c60 |  20 6f 66 20 46 49 4c 45 53 2e 0a 0a 54 68 69 73    20 66 75 6e 63 74 69 6f 6e 20 65 78 70 65 63 74  | .of.FILES...This.function.expect | 
| 5c80 |  73 20 6e 6f 20 64 75 70 6c 69 63 61 74 65 20 70    61 74 68 73 2e 22 0a 20 20 28 2d 6d 61 70 20 27  | s.no.duplicate.paths."...(-map.' | 
| 5ca0 |  63 61 64 72 20 28 66 2d 2d 75 6e 69 71 75 69 66    79 20 66 69 6c 65 73 29 29 29 0a 0a 0c 0a 3b 3b  | cadr.(f--uniquify.files)))....;; | 
| 5cc0 |  3b 3b 20 49 2f 4f 0a 0a 28 64 65 66 75 6e 20 66    2d 72 65 61 64 2d 62 79 74 65 73 20 28 70 61 74  | ;;.I/O..(defun.f-read-bytes.(pat | 
| 5ce0 |  68 20 26 6f 70 74 69 6f 6e 61 6c 20 62 65 67 20    65 6e 64 29 0a 20 20 22 52 65 61 64 20 62 69 6e  | h.&optional.beg.end)..."Read.bin | 
| 5d00 |  61 72 79 20 64 61 74 61 20 66 72 6f 6d 20 50 41    54 48 2e 0a 0a 52 65 74 75 72 6e 20 74 68 65 20  | ary.data.from.PATH...Return.the. | 
| 5d20 |  62 69 6e 61 72 79 20 64 61 74 61 20 61 73 20 75    6e 69 62 79 74 65 20 73 74 72 69 6e 67 2e 20 20  | binary.data.as.unibyte.string... | 
| 5d40 |  54 68 65 20 6f 70 74 69 6f 6e 61 6c 20 73 65 63    6f 6e 64 0a 61 6e 64 20 74 68 69 72 64 20 61 72  | The.optional.second.and.third.ar | 
| 5d60 |  67 75 6d 65 6e 74 73 20 42 45 47 20 61 6e 64 20    45 4e 44 20 73 70 65 63 69 66 79 20 77 68 61 74  | guments.BEG.and.END.specify.what | 
| 5d80 |  20 70 6f 72 74 69 6f 6e 20 6f 66 20 74 68 65 20    66 69 6c 65 0a 74 6f 20 72 65 61 64 2e 22 0a 20  | .portion.of.the.file.to.read.".. | 
| 5da0 |  20 28 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66    65 72 0a 20 20 20 20 28 73 65 74 2d 62 75 66 66  | .(with-temp-buffer.....(set-buff | 
| 5dc0 |  65 72 2d 6d 75 6c 74 69 62 79 74 65 20 6e 69 6c    29 0a 20 20 20 20 28 73 65 74 71 20 62 75 66 66  | er-multibyte.nil).....(setq.buff | 
| 5de0 |  65 72 2d 66 69 6c 65 2d 63 6f 64 69 6e 67 2d 73    79 73 74 65 6d 20 27 62 69 6e 61 72 79 29 0a 20  | er-file-coding-system.'binary).. | 
| 5e00 |  20 20 20 28 69 6e 73 65 72 74 2d 66 69 6c 65 2d    63 6f 6e 74 65 6e 74 73 2d 6c 69 74 65 72 61 6c  | ...(insert-file-contents-literal | 
| 5e20 |  6c 79 20 70 61 74 68 20 6e 69 6c 20 62 65 67 20    65 6e 64 29 0a 20 20 20 20 28 62 75 66 66 65 72  | ly.path.nil.beg.end).....(buffer | 
| 5e40 |  2d 73 75 62 73 74 72 69 6e 67 2d 6e 6f 2d 70 72    6f 70 65 72 74 69 65 73 20 28 70 6f 69 6e 74 2d  | -substring-no-properties.(point- | 
| 5e60 |  6d 69 6e 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29    29 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27  | min).(point-max))))..(defalias.' | 
| 5e80 |  66 2d 72 65 61 64 20 27 66 2d 72 65 61 64 2d 74    65 78 74 29 0a 28 64 65 66 75 6e 20 66 2d 72 65  | f-read.'f-read-text).(defun.f-re | 
| 5ea0 |  61 64 2d 74 65 78 74 20 28 70 61 74 68 20 26 6f    70 74 69 6f 6e 61 6c 20 63 6f 64 69 6e 67 29 0a  | ad-text.(path.&optional.coding). | 
| 5ec0 |  20 20 22 52 65 61 64 20 74 65 78 74 20 77 69 74    68 20 50 41 54 48 2c 20 75 73 69 6e 67 20 43 4f  | .."Read.text.with.PATH,.using.CO | 
| 5ee0 |  44 49 4e 47 2e 0a 0a 43 4f 44 49 4e 47 20 64 65    66 61 75 6c 74 73 20 74 6f 20 60 75 74 66 2d 38  | DING...CODING.defaults.to.`utf-8 | 
| 5f00 |  27 2e 0a 0a 52 65 74 75 72 6e 20 74 68 65 20 64    65 63 6f 64 65 64 20 74 65 78 74 20 61 73 20 6d  | '...Return.the.decoded.text.as.m | 
| 5f20 |  75 6c 74 69 62 79 74 65 20 73 74 72 69 6e 67 2e    22 0a 20 20 28 64 65 63 6f 64 65 2d 63 6f 64 69  | ultibyte.string."...(decode-codi | 
| 5f40 |  6e 67 2d 73 74 72 69 6e 67 20 28 66 2d 72 65 61    64 2d 62 79 74 65 73 20 70 61 74 68 29 20 28 6f  | ng-string.(f-read-bytes.path).(o | 
| 5f60 |  72 20 63 6f 64 69 6e 67 20 27 75 74 66 2d 38 29    29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 66  | r.coding.'utf-8)))..(defalias.'f | 
| 5f80 |  2d 77 72 69 74 65 20 27 66 2d 77 72 69 74 65 2d    74 65 78 74 29 0a 28 64 65 66 75 6e 20 66 2d 77  | -write.'f-write-text).(defun.f-w | 
| 5fa0 |  72 69 74 65 2d 74 65 78 74 20 28 74 65 78 74 20    63 6f 64 69 6e 67 20 70 61 74 68 29 0a 20 20 22  | rite-text.(text.coding.path)..." | 
| 5fc0 |  57 72 69 74 65 20 54 45 58 54 20 77 69 74 68 20    43 4f 44 49 4e 47 20 74 6f 20 50 41 54 48 2e 0a  | Write.TEXT.with.CODING.to.PATH.. | 
| 5fe0 |  0a 54 45 58 54 20 69 73 20 61 20 6d 75 6c 74 69    62 79 74 65 20 73 74 72 69 6e 67 2e 20 20 43 4f  | .TEXT.is.a.multibyte.string...CO | 
| 6000 |  44 49 4e 47 20 69 73 20 61 20 63 6f 64 69 6e 67    20 73 79 73 74 65 6d 20 74 6f 20 65 6e 63 6f 64  | DING.is.a.coding.system.to.encod | 
| 6020 |  65 0a 54 45 58 54 20 77 69 74 68 2e 20 20 50 41    54 48 20 69 73 20 61 20 66 69 6c 65 20 6e 61 6d  | e.TEXT.with...PATH.is.a.file.nam | 
| 6040 |  65 20 74 6f 20 77 72 69 74 65 20 74 6f 2e 22 0a    20 20 28 66 2d 77 72 69 74 65 2d 62 79 74 65 73  | e.to.write.to."...(f-write-bytes | 
| 6060 |  20 28 65 6e 63 6f 64 65 2d 63 6f 64 69 6e 67 2d    73 74 72 69 6e 67 20 74 65 78 74 20 63 6f 64 69  | .(encode-coding-string.text.codi | 
| 6080 |  6e 67 29 20 70 61 74 68 29 29 0a 0a 28 64 65 66    75 6e 20 66 2d 75 6e 69 62 79 74 65 2d 73 74 72  | ng).path))..(defun.f-unibyte-str | 
| 60a0 |  69 6e 67 2d 70 20 28 73 29 0a 20 20 22 44 65 74    65 72 6d 69 6e 65 20 77 68 65 74 68 65 72 20 53  | ing-p.(s)..."Determine.whether.S | 
| 60c0 |  20 69 73 20 61 20 75 6e 69 62 79 74 65 20 73 74    72 69 6e 67 2e 22 0a 20 20 28 6e 6f 74 20 28 6d  | .is.a.unibyte.string."...(not.(m | 
| 60e0 |  75 6c 74 69 62 79 74 65 2d 73 74 72 69 6e 67 2d    70 20 73 29 29 29 0a 0a 28 64 65 66 75 6e 20 66  | ultibyte-string-p.s)))..(defun.f | 
| 6100 |  2d 77 72 69 74 65 2d 62 79 74 65 73 20 28 64 61    74 61 20 70 61 74 68 29 0a 20 20 22 57 72 69 74  | -write-bytes.(data.path)..."Writ | 
| 6120 |  65 20 62 69 6e 61 72 79 20 44 41 54 41 20 74 6f    20 50 41 54 48 2e 0a 0a 44 41 54 41 20 69 73 20  | e.binary.DATA.to.PATH...DATA.is. | 
| 6140 |  61 20 75 6e 69 62 79 74 65 20 73 74 72 69 6e 67    2e 20 20 50 41 54 48 20 69 73 20 61 20 66 69 6c  | a.unibyte.string...PATH.is.a.fil | 
| 6160 |  65 20 6e 61 6d 65 20 74 6f 20 77 72 69 74 65 20    74 6f 2e 22 0a 20 20 28 66 2d 2d 77 72 69 74 65  | e.name.to.write.to."...(f--write | 
| 6180 |  2d 62 79 74 65 73 20 64 61 74 61 20 70 61 74 68    20 6e 69 6c 29 29 0a 0a 28 64 65 66 61 6c 69 61  | -bytes.data.path.nil))..(defalia | 
| 61a0 |  73 20 27 66 2d 61 70 70 65 6e 64 20 27 66 2d 61    70 70 65 6e 64 2d 74 65 78 74 29 0a 28 64 65 66  | s.'f-append.'f-append-text).(def | 
| 61c0 |  75 6e 20 66 2d 61 70 70 65 6e 64 2d 74 65 78 74    20 28 74 65 78 74 20 63 6f 64 69 6e 67 20 70 61  | un.f-append-text.(text.coding.pa | 
| 61e0 |  74 68 29 0a 20 20 22 41 70 70 65 6e 64 20 54 45    58 54 20 77 69 74 68 20 43 4f 44 49 4e 47 20 74  | th)..."Append.TEXT.with.CODING.t | 
| 6200 |  6f 20 50 41 54 48 2e 0a 0a 49 66 20 50 41 54 48    20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2c  | o.PATH...If.PATH.does.not.exist, | 
| 6220 |  20 69 74 20 69 73 20 63 72 65 61 74 65 64 2e 22    0a 20 20 28 66 2d 61 70 70 65 6e 64 2d 62 79 74  | .it.is.created."...(f-append-byt | 
| 6240 |  65 73 20 28 65 6e 63 6f 64 65 2d 63 6f 64 69 6e    67 2d 73 74 72 69 6e 67 20 74 65 78 74 20 63 6f  | es.(encode-coding-string.text.co | 
| 6260 |  64 69 6e 67 29 20 70 61 74 68 29 29 0a 0a 28 64    65 66 75 6e 20 66 2d 61 70 70 65 6e 64 2d 62 79  | ding).path))..(defun.f-append-by | 
| 6280 |  74 65 73 20 28 64 61 74 61 20 70 61 74 68 29 0a    20 20 22 41 70 70 65 6e 64 20 62 69 6e 61 72 79  | tes.(data.path)..."Append.binary | 
| 62a0 |  20 44 41 54 41 20 74 6f 20 50 41 54 48 2e 0a 0a    49 66 20 50 41 54 48 20 64 6f 65 73 20 6e 6f 74  | .DATA.to.PATH...If.PATH.does.not | 
| 62c0 |  20 65 78 69 73 74 2c 20 69 74 20 69 73 20 63 72    65 61 74 65 64 2e 22 0a 20 20 28 66 2d 2d 77 72  | .exist,.it.is.created."...(f--wr | 
| 62e0 |  69 74 65 2d 62 79 74 65 73 20 64 61 74 61 20 70    61 74 68 20 3a 61 70 70 65 6e 64 29 29 0a 0a 28  | ite-bytes.data.path.:append))..( | 
| 6300 |  64 65 66 75 6e 20 66 2d 2d 77 72 69 74 65 2d 62    79 74 65 73 20 28 64 61 74 61 20 66 69 6c 65 6e  | defun.f--write-bytes.(data.filen | 
| 6320 |  61 6d 65 20 61 70 70 65 6e 64 29 0a 20 20 22 57    72 69 74 65 20 62 69 6e 61 72 79 20 44 41 54 41  | ame.append)..."Write.binary.DATA | 
| 6340 |  20 74 6f 20 46 49 4c 45 4e 41 4d 45 2e 0a 49 66    20 41 50 50 45 4e 44 20 69 73 20 6e 6f 6e 2d 6e  | .to.FILENAME..If.APPEND.is.non-n | 
| 6360 |  69 6c 2c 20 61 70 70 65 6e 64 20 74 68 65 20 44    41 54 41 20 74 6f 20 74 68 65 20 65 78 69 73 74  | il,.append.the.DATA.to.the.exist | 
| 6380 |  69 6e 67 20 63 6f 6e 74 65 6e 74 73 2e 22 0a 20    20 28 66 2d 2d 64 65 73 74 72 75 63 74 69 76 65  | ing.contents."...(f--destructive | 
| 63a0 |  20 66 69 6c 65 6e 61 6d 65 0a 20 20 20 20 28 75    6e 6c 65 73 73 20 28 66 2d 75 6e 69 62 79 74 65  | .filename.....(unless.(f-unibyte | 
| 63c0 |  2d 73 74 72 69 6e 67 2d 70 20 64 61 74 61 29 0a    20 20 20 20 20 20 28 73 69 67 6e 61 6c 20 27 77  | -string-p.data).......(signal.'w | 
| 63e0 |  72 6f 6e 67 2d 74 79 70 65 2d 61 72 67 75 6d 65    6e 74 20 28 6c 69 73 74 20 27 66 2d 75 6e 69 62  | rong-type-argument.(list.'f-unib | 
| 6400 |  79 74 65 2d 73 74 72 69 6e 67 2d 70 20 64 61 74    61 29 29 29 0a 20 20 20 20 28 6c 65 74 20 28 28  | yte-string-p.data))).....(let.(( | 
| 6420 |  63 6f 64 69 6e 67 2d 73 79 73 74 65 6d 2d 66 6f    72 2d 77 72 69 74 65 20 27 62 69 6e 61 72 79 29  | coding-system-for-write.'binary) | 
| 6440 |  0a 20 20 20 20 20 20 20 20 20 20 28 77 72 69 74    65 2d 72 65 67 69 6f 6e 2d 61 6e 6e 6f 74 61 74  | ...........(write-region-annotat | 
| 6460 |  65 2d 66 75 6e 63 74 69 6f 6e 73 20 6e 69 6c 29    0a 20 20 20 20 20 20 20 20 20 20 28 77 72 69 74  | e-functions.nil)...........(writ | 
| 6480 |  65 2d 72 65 67 69 6f 6e 2d 70 6f 73 74 2d 61 6e    6e 6f 74 61 74 69 6f 6e 2d 66 75 6e 63 74 69 6f  | e-region-post-annotation-functio | 
| 64a0 |  6e 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 28 77    72 69 74 65 2d 72 65 67 69 6f 6e 20 64 61 74 61  | n.nil)).......(write-region.data | 
| 64c0 |  20 6e 69 6c 20 66 69 6c 65 6e 61 6d 65 20 61 70    70 65 6e 64 20 3a 73 69 6c 65 6e 74 29 0a 20 20  | .nil.filename.append.:silent)... | 
| 64e0 |  20 20 20 20 6e 69 6c 29 29 29 0a 0a 0c 0a 3b 3b    3b 3b 20 44 65 73 74 72 75 63 74 69 76 65 0a 0a  | ....nil)))....;;;;.Destructive.. | 
| 6500 |  28 64 65 66 75 6e 20 66 2d 6d 6b 64 69 72 20 28    26 72 65 73 74 20 64 69 72 73 29 0a 20 20 22 43  | (defun.f-mkdir.(&rest.dirs)..."C | 
| 6520 |  72 65 61 74 65 20 64 69 72 65 63 74 6f 72 69 65    73 20 44 49 52 53 2e 0a 0a 44 49 52 53 20 73 68  | reate.directories.DIRS...DIRS.sh | 
| 6540 |  6f 75 6c 64 20 62 65 20 61 20 73 75 63 63 65 73    73 69 76 65 20 6c 69 73 74 20 6f 66 20 64 69 72  | ould.be.a.successive.list.of.dir | 
| 6560 |  65 63 74 6f 72 69 65 73 20 66 6f 72 6d 69 6e 67    20 74 6f 67 65 74 68 65 72 0a 61 20 66 75 6c 6c  | ectories.forming.together.a.full | 
| 6580 |  20 70 61 74 68 2e 20 20 54 68 65 20 65 61 73 69    65 73 74 20 77 61 79 20 74 6f 20 63 61 6c 6c 20  | .path...The.easiest.way.to.call. | 
| 65a0 |  74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 77 69    74 68 20 61 20 66 75 6c 6c 79 0a 66 6f 72 6d 65  | this.function.with.a.fully.forme | 
| 65c0 |  64 20 70 61 74 68 20 69 73 20 75 73 69 6e 67 20    60 66 2d 73 70 6c 69 74 27 20 61 6c 6f 6e 67 73  | d.path.is.using.`f-split'.alongs | 
| 65e0 |  69 64 65 20 69 74 3a 0a 0a 20 20 20 20 28 61 70    70 6c 79 20 23 5c 5c 3d 27 66 2d 6d 6b 64 69 72  | ide.it:......(apply.#\\='f-mkdir | 
| 6600 |  20 28 66 2d 73 70 6c 69 74 20 5c 22 70 61 74 68    2f 74 6f 2f 66 69 6c 65 5c 22 29 29 0a 0a 41 6c  | .(f-split.\"path/to/file\"))..Al | 
| 6620 |  74 68 6f 75 67 68 20 69 74 20 77 6f 72 6b 73 20    73 6f 6d 65 74 69 6d 65 73 2c 20 69 74 20 69 73  | though.it.works.sometimes,.it.is | 
| 6640 |  20 6e 6f 74 20 72 65 63 6f 6d 6d 65 6e 64 65 64    20 74 6f 20 75 73 65 20 66 75 6c 6c 79 0a 66 6f  | .not.recommended.to.use.fully.fo | 
| 6660 |  72 6d 65 64 20 70 61 74 68 73 20 69 6e 20 74 68    65 20 66 75 6e 63 74 69 6f 6e 2e 20 49 6e 20 74  | rmed.paths.in.the.function..In.t | 
| 6680 |  68 69 73 20 63 61 73 65 2c 20 69 74 20 69 73 20    72 65 63 6f 6d 6d 65 6e 64 65 64 20 74 6f 0a 75  | his.case,.it.is.recommended.to.u | 
| 66a0 |  73 65 20 60 66 2d 6d 6b 64 69 72 2d 66 75 6c 6c    2d 70 61 74 68 27 20 69 6e 73 74 65 61 64 2e 22  | se.`f-mkdir-full-path'.instead." | 
| 66c0 |  0a 20 20 28 6c 65 74 20 28 70 61 74 68 29 0a 20    20 20 20 28 2d 65 61 63 68 0a 20 20 20 20 20 20  | ...(let.(path).....(-each....... | 
| 66e0 |  20 20 64 69 72 73 0a 20 20 20 20 20 20 28 6c 61    6d 62 64 61 20 28 64 69 72 29 0a 20 20 20 20 20  | ..dirs.......(lambda.(dir)...... | 
| 6700 |  20 20 20 28 73 65 74 71 20 70 61 74 68 20 28 66    2d 65 78 70 61 6e 64 20 64 69 72 20 70 61 74 68  | ...(setq.path.(f-expand.dir.path | 
| 6720 |  29 29 0a 20 20 20 20 20 20 20 20 28 75 6e 6c 65    73 73 20 28 66 2d 64 69 72 65 63 74 6f 72 79 2d  | )).........(unless.(f-directory- | 
| 6740 |  70 20 70 61 74 68 29 0a 20 20 20 20 20 20 20 20    20 20 28 66 2d 2d 64 65 73 74 72 75 63 74 69 76  | p.path)...........(f--destructiv | 
| 6760 |  65 20 70 61 74 68 20 28 6d 61 6b 65 2d 64 69 72    65 63 74 6f 72 79 20 70 61 74 68 29 29 29 29 29  | e.path.(make-directory.path))))) | 
| 6780 |  29 29 0a 0a 28 64 65 66 75 6e 20 66 2d 6d 6b 64    69 72 2d 66 75 6c 6c 2d 70 61 74 68 20 28 64 69  | ))..(defun.f-mkdir-full-path.(di | 
| 67a0 |  72 29 0a 20 20 22 43 72 65 61 74 65 20 44 49 52    20 66 72 6f 6d 20 61 20 66 75 6c 6c 20 70 61 74  | r)..."Create.DIR.from.a.full.pat | 
| 67c0 |  68 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f    6e 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20  | h...This.function.is.similar.to. | 
| 67e0 |  60 66 2d 6d 6b 64 69 72 27 20 65 78 63 65 70 74    20 69 74 20 63 61 6e 20 61 63 63 65 70 74 20 61  | `f-mkdir'.except.it.can.accept.a | 
| 6800 |  20 66 75 6c 6c 0a 70 61 74 68 20 69 6e 73 74 65    61 64 20 6f 66 20 72 65 71 75 69 72 69 6e 67 20  | .full.path.instead.of.requiring. | 
| 6820 |  73 65 76 65 72 61 6c 20 73 75 63 63 65 73 73 69    76 65 20 64 69 72 65 63 74 6f 72 79 20 6e 61 6d  | several.successive.directory.nam | 
| 6840 |  65 73 2e 22 0a 20 20 28 61 70 70 6c 79 20 23 27    66 2d 6d 6b 64 69 72 20 28 66 2d 73 70 6c 69 74  | es."...(apply.#'f-mkdir.(f-split | 
| 6860 |  20 64 69 72 29 29 29 0a 0a 28 64 65 66 75 6e 20    66 2d 64 65 6c 65 74 65 20 28 70 61 74 68 20 26  | .dir)))..(defun.f-delete.(path.& | 
| 6880 |  6f 70 74 69 6f 6e 61 6c 20 66 6f 72 63 65 29 0a    20 20 22 44 65 6c 65 74 65 20 50 41 54 48 2c 20  | optional.force)..."Delete.PATH,. | 
| 68a0 |  77 68 69 63 68 20 63 61 6e 20 62 65 20 66 69 6c    65 20 6f 72 20 64 69 72 65 63 74 6f 72 79 2e 0a  | which.can.be.file.or.directory.. | 
| 68c0 |  0a 49 66 20 46 4f 52 43 45 20 69 73 20 74 2c 20    61 20 64 69 72 65 63 74 6f 72 79 20 77 69 6c 6c  | .If.FORCE.is.t,.a.directory.will | 
| 68e0 |  20 62 65 20 64 65 6c 65 74 65 64 20 72 65 63 75    72 73 69 76 65 6c 79 2e 22 0a 20 20 28 66 2d 2d  | .be.deleted.recursively."...(f-- | 
| 6900 |  64 65 73 74 72 75 63 74 69 76 65 20 70 61 74 68    0a 20 20 20 20 28 69 66 20 28 6f 72 20 28 66 2d  | destructive.path.....(if.(or.(f- | 
| 6920 |  66 69 6c 65 2d 70 20 70 61 74 68 29 20 28 66 2d    73 79 6d 6c 69 6e 6b 2d 70 20 70 61 74 68 29 29  | file-p.path).(f-symlink-p.path)) | 
| 6940 |  0a 20 20 20 20 20 20 20 20 28 64 65 6c 65 74 65    2d 66 69 6c 65 20 70 61 74 68 29 0a 20 20 20 20  | .........(delete-file.path)..... | 
| 6960 |  20 20 28 64 65 6c 65 74 65 2d 64 69 72 65 63 74    6f 72 79 20 70 61 74 68 20 66 6f 72 63 65 29 29  | ..(delete-directory.path.force)) | 
| 6980 |  29 29 0a 0a 28 64 65 66 75 6e 20 66 2d 73 79 6d    6c 69 6e 6b 20 28 73 6f 75 72 63 65 20 70 61 74  | ))..(defun.f-symlink.(source.pat | 
| 69a0 |  68 29 0a 20 20 22 43 72 65 61 74 65 20 61 20 73    79 6d 6c 69 6e 6b 20 74 6f 20 53 4f 55 52 43 45  | h)..."Create.a.symlink.to.SOURCE | 
| 69c0 |  20 66 72 6f 6d 20 50 41 54 48 2e 22 0a 20 20 28    66 2d 2d 64 65 73 74 72 75 63 74 69 76 65 20 70  | .from.PATH."...(f--destructive.p | 
| 69e0 |  61 74 68 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c    69 63 2d 6c 69 6e 6b 20 73 6f 75 72 63 65 20 70  | ath.(make-symbolic-link.source.p | 
| 6a00 |  61 74 68 29 29 29 0a 0a 28 64 65 66 75 6e 20 66    2d 6d 6f 76 65 20 28 66 72 6f 6d 20 74 6f 29 0a  | ath)))..(defun.f-move.(from.to). | 
| 6a20 |  20 20 22 4d 6f 76 65 20 6f 72 20 72 65 6e 61 6d    65 20 46 52 4f 4d 20 74 6f 20 54 4f 2e 0a 49 66  | .."Move.or.rename.FROM.to.TO..If | 
| 6a40 |  20 54 4f 20 69 73 20 61 20 64 69 72 65 63 74 6f    72 79 20 6e 61 6d 65 2c 20 6d 6f 76 65 20 46 52  | .TO.is.a.directory.name,.move.FR | 
| 6a60 |  4f 4d 20 69 6e 74 6f 20 54 4f 2e 22 0a 20 20 28    66 2d 2d 64 65 73 74 72 75 63 74 69 76 65 20 74  | OM.into.TO."...(f--destructive.t | 
| 6a80 |  6f 20 28 72 65 6e 61 6d 65 2d 66 69 6c 65 20 66    72 6f 6d 20 74 6f 20 74 29 29 29 0a 0a 28 64 65  | o.(rename-file.from.to.t)))..(de | 
| 6aa0 |  66 75 6e 20 66 2d 63 6f 70 79 20 28 66 72 6f 6d    20 74 6f 29 0a 20 20 22 43 6f 70 79 20 66 69 6c  | fun.f-copy.(from.to)..."Copy.fil | 
| 6ac0 |  65 20 6f 72 20 64 69 72 65 63 74 6f 72 79 20 46    52 4f 4d 20 74 6f 20 54 4f 2e 0a 49 66 20 46 52  | e.or.directory.FROM.to.TO..If.FR | 
| 6ae0 |  4f 4d 20 6e 61 6d 65 73 20 61 20 64 69 72 65 63    74 6f 72 79 20 61 6e 64 20 54 4f 20 69 73 20 61  | OM.names.a.directory.and.TO.is.a | 
| 6b00 |  20 64 69 72 65 63 74 6f 72 79 20 6e 61 6d 65 2c    20 63 6f 70 79 20 46 52 4f 4d 0a 69 6e 74 6f 20  | .directory.name,.copy.FROM.into. | 
| 6b20 |  54 4f 20 61 73 20 61 20 73 75 62 64 69 72 65 63    74 6f 72 79 2e 22 0a 20 20 28 66 2d 2d 64 65 73  | TO.as.a.subdirectory."...(f--des | 
| 6b40 |  74 72 75 63 74 69 76 65 20 74 6f 0a 20 20 20 20    28 69 66 20 28 66 2d 66 69 6c 65 2d 70 20 66 72  | tructive.to.....(if.(f-file-p.fr | 
| 6b60 |  6f 6d 29 0a 20 20 20 20 20 20 20 20 28 63 6f 70    79 2d 66 69 6c 65 20 66 72 6f 6d 20 74 6f 29 0a  | om).........(copy-file.from.to). | 
| 6b80 |  20 20 20 20 20 20 3b 3b 20 54 68 65 20 62 65 68    61 76 69 6f 72 20 6f 66 20 60 63 6f 70 79 2d 64  | ......;;.The.behavior.of.`copy-d | 
| 6ba0 |  69 72 65 63 74 6f 72 79 27 20 64 69 66 66 65 72    73 20 62 65 74 77 65 65 6e 20 45 6d 61 63 73 20  | irectory'.differs.between.Emacs. | 
| 6bc0 |  32 33 20 61 6e 64 0a 20 20 20 20 20 20 3b 3b 20    32 34 20 69 6e 20 74 68 61 74 20 69 6e 20 45 6d  | 23.and.......;;.24.in.that.in.Em | 
| 6be0 |  61 63 73 20 32 33 2c 20 74 68 65 20 63 6f 6e 74    65 6e 74 73 20 6f 66 20 60 66 72 6f 6d 27 20 69  | acs.23,.the.contents.of.`from'.i | 
| 6c00 |  73 20 63 6f 70 69 65 64 20 74 6f 0a 20 20 20 20    20 20 3b 3b 20 60 74 6f 27 2c 20 77 68 69 6c 65  | s.copied.to.......;;.`to',.while | 
| 6c20 |  20 69 6e 20 45 6d 61 63 73 20 32 34 20 74 68 65    20 64 69 72 65 63 74 6f 72 79 20 60 66 72 6f 6d  | .in.Emacs.24.the.directory.`from | 
| 6c40 |  27 20 69 73 20 63 6f 70 69 65 64 20 74 6f 0a 20    20 20 20 20 20 3b 3b 20 60 74 6f 27 2e 20 57 65  | '.is.copied.to.......;;.`to'..We | 
| 6c60 |  20 77 61 6e 74 20 74 68 65 20 45 6d 61 63 73 20    32 34 20 62 65 68 61 76 69 6f 72 2e 0a 20 20 20  | .want.the.Emacs.24.behavior..... | 
| 6c80 |  20 20 20 28 69 66 20 28 3e 20 65 6d 61 63 73 2d    6d 61 6a 6f 72 2d 76 65 72 73 69 6f 6e 20 32 33  | ...(if.(>.emacs-major-version.23 | 
| 6ca0 |  29 0a 20 20 20 20 20 20 20 20 20 20 28 63 6f 70    79 2d 64 69 72 65 63 74 6f 72 79 20 66 72 6f 6d  | )...........(copy-directory.from | 
| 6cc0 |  20 74 6f 29 0a 20 20 20 20 20 20 20 20 28 69 66    20 28 66 2d 64 69 72 2d 70 20 74 6f 29 0a 20 20  | .to).........(if.(f-dir-p.to)... | 
| 6ce0 |  20 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28  | ..........(progn...............( | 
| 6d00 |  61 70 70 6c 79 20 27 66 2d 6d 6b 64 69 72 20 28    66 2d 73 70 6c 69 74 20 74 6f 29 29 0a 20 20 20  | apply.'f-mkdir.(f-split.to)).... | 
| 6d20 |  20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20    28 28 6e 65 77 2d 74 6f 20 28 66 2d 65 78 70 61  | ...........(let.((new-to.(f-expa | 
| 6d40 |  6e 64 20 28 66 2d 66 69 6c 65 6e 61 6d 65 20 66    72 6f 6d 29 20 74 6f 29 29 29 0a 20 20 20 20 20  | nd.(f-filename.from).to)))...... | 
| 6d60 |  20 20 20 20 20 20 20 20 20 20 20 28 63 6f 70 79    2d 64 69 72 65 63 74 6f 72 79 20 66 72 6f 6d 20  | ...........(copy-directory.from. | 
| 6d80 |  6e 65 77 2d 74 6f 29 29 29 0a 20 20 20 20 20 20    20 20 20 20 28 63 6f 70 79 2d 64 69 72 65 63 74  | new-to)))...........(copy-direct | 
| 6da0 |  6f 72 79 20 66 72 6f 6d 20 74 6f 29 29 29 29 29    29 0a 0a 28 64 65 66 75 6e 20 66 2d 63 6f 70 79  | ory.from.to))))))..(defun.f-copy | 
| 6dc0 |  2d 63 6f 6e 74 65 6e 74 73 20 28 66 72 6f 6d 20    74 6f 29 0a 20 20 22 43 6f 70 79 20 63 6f 6e 74  | -contents.(from.to)..."Copy.cont | 
| 6de0 |  65 6e 74 73 20 69 6e 20 64 69 72 65 63 74 6f 72    79 20 46 52 4f 4d 2c 20 74 6f 20 64 69 72 65 63  | ents.in.directory.FROM,.to.direc | 
| 6e00 |  74 6f 72 79 20 54 4f 2e 22 0a 20 20 28 75 6e 6c    65 73 73 20 28 66 2d 65 78 69 73 74 73 2d 70 20  | tory.TO."...(unless.(f-exists-p. | 
| 6e20 |  74 6f 29 0a 20 20 20 20 28 65 72 72 6f 72 20 22    43 61 6e 6e 6f 74 20 63 6f 70 79 20 63 6f 6e 74  | to).....(error."Cannot.copy.cont | 
| 6e40 |  65 6e 74 73 20 74 6f 20 6e 6f 6e 20 65 78 69 73    74 69 6e 67 20 64 69 72 65 63 74 6f 72 79 20 25  | ents.to.non.existing.directory.% | 
| 6e60 |  73 22 20 74 6f 29 29 0a 20 20 28 75 6e 6c 65 73    73 20 28 66 2d 64 69 72 2d 70 20 66 72 6f 6d 29  | s".to))...(unless.(f-dir-p.from) | 
| 6e80 |  0a 20 20 20 20 28 65 72 72 6f 72 20 22 43 61 6e    6e 6f 74 20 63 6f 70 79 20 63 6f 6e 74 65 6e 74  | .....(error."Cannot.copy.content | 
| 6ea0 |  73 20 61 73 20 25 73 20 69 73 20 61 20 66 69 6c    65 22 20 66 72 6f 6d 29 29 0a 20 20 28 2d 2d 65  | s.as.%s.is.a.file".from))...(--e | 
| 6ec0 |  61 63 68 20 28 66 2d 65 6e 74 72 69 65 73 20 66    72 6f 6d 29 0a 20 20 20 20 28 66 2d 63 6f 70 79  | ach.(f-entries.from).....(f-copy | 
| 6ee0 |  20 69 74 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 61    73 2d 64 69 72 65 63 74 6f 72 79 20 74 6f 29 29  | .it.(file-name-as-directory.to)) | 
| 6f00 |  29 29 0a 0a 28 64 65 66 75 6e 20 66 2d 74 6f 75    63 68 20 28 70 61 74 68 29 0a 20 20 22 55 70 64  | ))..(defun.f-touch.(path)..."Upd | 
| 6f20 |  61 74 65 20 50 41 54 48 20 6c 61 73 74 20 6d 6f    64 69 66 69 63 61 74 69 6f 6e 20 64 61 74 65 20  | ate.PATH.last.modification.date. | 
| 6f40 |  6f 72 20 63 72 65 61 74 65 20 69 66 20 69 74 20    64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 22  | or.create.if.it.does.not.exist." | 
| 6f60 |  0a 20 20 28 66 2d 2d 64 65 73 74 72 75 63 74 69    76 65 20 70 61 74 68 0a 20 20 20 20 28 69 66 20  | ...(f--destructive.path.....(if. | 
| 6f80 |  28 66 2d 66 69 6c 65 2d 70 20 70 61 74 68 29 0a    20 20 20 20 20 20 20 20 28 73 65 74 2d 66 69 6c  | (f-file-p.path).........(set-fil | 
| 6fa0 |  65 2d 74 69 6d 65 73 20 70 61 74 68 29 0a 20 20    20 20 20 20 28 66 2d 77 72 69 74 65 2d 62 79 74  | e-times.path).......(f-write-byt | 
| 6fc0 |  65 73 20 22 22 20 70 61 74 68 29 29 29 29 0a 0a    0c 0a 3b 3b 3b 3b 20 50 72 65 64 69 63 61 74 65  | es."".path))))....;;;;.Predicate | 
| 6fe0 |  73 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 66 2d    65 78 69 73 74 73 2d 70 20 27 66 69 6c 65 2d 65  | s..(defalias.'f-exists-p.'file-e | 
| 7000 |  78 69 73 74 73 2d 70 29 0a 28 64 65 66 61 6c 69    61 73 20 27 66 2d 65 78 69 73 74 73 3f 20 27 66  | xists-p).(defalias.'f-exists?.'f | 
| 7020 |  69 6c 65 2d 65 78 69 73 74 73 2d 70 29 0a 0a 28    64 65 66 61 6c 69 61 73 20 27 66 2d 64 69 72 65  | ile-exists-p)..(defalias.'f-dire | 
| 7040 |  63 74 6f 72 79 2d 70 20 27 66 69 6c 65 2d 64 69    72 65 63 74 6f 72 79 2d 70 29 0a 28 64 65 66 61  | ctory-p.'file-directory-p).(defa | 
| 7060 |  6c 69 61 73 20 27 66 2d 64 69 72 65 63 74 6f 72    79 3f 20 27 66 69 6c 65 2d 64 69 72 65 63 74 6f  | lias.'f-directory?.'file-directo | 
| 7080 |  72 79 2d 70 29 0a 28 64 65 66 61 6c 69 61 73 20    27 66 2d 64 69 72 2d 70 20 27 66 69 6c 65 2d 64  | ry-p).(defalias.'f-dir-p.'file-d | 
| 70a0 |  69 72 65 63 74 6f 72 79 2d 70 29 0a 28 64 65 66    61 6c 69 61 73 20 27 66 2d 64 69 72 3f 20 27 66  | irectory-p).(defalias.'f-dir?.'f | 
| 70c0 |  69 6c 65 2d 64 69 72 65 63 74 6f 72 79 2d 70 29    0a 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 66 2d  | ile-directory-p)...(defalias.'f- | 
| 70e0 |  66 69 6c 65 2d 70 20 27 66 69 6c 65 2d 72 65 67    75 6c 61 72 2d 70 29 0a 28 64 65 66 61 6c 69 61  | file-p.'file-regular-p).(defalia | 
| 7100 |  73 20 27 66 2d 66 69 6c 65 3f 20 27 66 69 6c 65    2d 72 65 67 75 6c 61 72 2d 70 29 0a 0a 28 64 65  | s.'f-file?.'file-regular-p)..(de | 
| 7120 |  66 75 6e 20 66 2d 73 79 6d 6c 69 6e 6b 2d 70 20    28 70 61 74 68 29 0a 20 20 22 52 65 74 75 72 6e  | fun.f-symlink-p.(path)..."Return | 
| 7140 |  20 74 20 69 66 20 50 41 54 48 20 69 73 20 73 79    6d 6c 69 6e 6b 2c 20 66 61 6c 73 65 20 6f 74 68  | .t.if.PATH.is.symlink,.false.oth | 
| 7160 |  65 72 77 69 73 65 2e 22 0a 20 20 28 6e 6f 74 20    28 6e 6f 74 20 28 66 69 6c 65 2d 73 79 6d 6c 69  | erwise."...(not.(not.(file-symli | 
| 7180 |  6e 6b 2d 70 20 70 61 74 68 29 29 29 29 0a 0a 28    64 65 66 61 6c 69 61 73 20 27 66 2d 73 79 6d 6c  | nk-p.path))))..(defalias.'f-syml | 
| 71a0 |  69 6e 6b 3f 20 27 66 2d 73 79 6d 6c 69 6e 6b 2d    70 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 66  | ink?.'f-symlink-p)..(defalias.'f | 
| 71c0 |  2d 72 65 61 64 61 62 6c 65 2d 70 20 27 66 69 6c    65 2d 72 65 61 64 61 62 6c 65 2d 70 29 0a 28 64  | -readable-p.'file-readable-p).(d | 
| 71e0 |  65 66 61 6c 69 61 73 20 27 66 2d 72 65 61 64 61    62 6c 65 3f 20 27 66 69 6c 65 2d 72 65 61 64 61  | efalias.'f-readable?.'file-reada | 
| 7200 |  62 6c 65 2d 70 29 0a 0a 28 64 65 66 61 6c 69 61    73 20 27 66 2d 77 72 69 74 61 62 6c 65 2d 70 20  | ble-p)..(defalias.'f-writable-p. | 
| 7220 |  27 66 69 6c 65 2d 77 72 69 74 61 62 6c 65 2d 70    29 0a 28 64 65 66 61 6c 69 61 73 20 27 66 2d 77  | 'file-writable-p).(defalias.'f-w | 
| 7240 |  72 69 74 61 62 6c 65 3f 20 27 66 69 6c 65 2d 77    72 69 74 61 62 6c 65 2d 70 29 0a 0a 28 64 65 66  | ritable?.'file-writable-p)..(def | 
| 7260 |  61 6c 69 61 73 20 27 66 2d 65 78 65 63 75 74 61    62 6c 65 2d 70 20 27 66 69 6c 65 2d 65 78 65 63  | alias.'f-executable-p.'file-exec | 
| 7280 |  75 74 61 62 6c 65 2d 70 29 0a 28 64 65 66 61 6c    69 61 73 20 27 66 2d 65 78 65 63 75 74 61 62 6c  | utable-p).(defalias.'f-executabl | 
| 72a0 |  65 3f 20 27 66 69 6c 65 2d 65 78 65 63 75 74 61    62 6c 65 2d 70 29 0a 0a 28 64 65 66 61 6c 69 61  | e?.'file-executable-p)..(defalia | 
| 72c0 |  73 20 27 66 2d 61 62 73 6f 6c 75 74 65 2d 70 20    27 66 69 6c 65 2d 6e 61 6d 65 2d 61 62 73 6f 6c  | s.'f-absolute-p.'file-name-absol | 
| 72e0 |  75 74 65 2d 70 29 0a 28 64 65 66 61 6c 69 61 73    20 27 66 2d 61 62 73 6f 6c 75 74 65 3f 20 27 66  | ute-p).(defalias.'f-absolute?.'f | 
| 7300 |  69 6c 65 2d 6e 61 6d 65 2d 61 62 73 6f 6c 75 74    65 2d 70 29 0a 0a 28 64 65 66 75 6e 20 66 2d 72  | ile-name-absolute-p)..(defun.f-r | 
| 7320 |  65 6c 61 74 69 76 65 2d 70 20 28 70 61 74 68 29    0a 20 20 22 52 65 74 75 72 6e 20 74 20 69 66 20  | elative-p.(path)..."Return.t.if. | 
| 7340 |  50 41 54 48 20 69 73 20 72 65 6c 61 74 69 76 65    2c 20 66 61 6c 73 65 20 6f 74 68 65 72 77 69 73  | PATH.is.relative,.false.otherwis | 
| 7360 |  65 2e 22 0a 20 20 28 6e 6f 74 20 28 66 2d 61 62    73 6f 6c 75 74 65 2d 70 20 70 61 74 68 29 29 29  | e."...(not.(f-absolute-p.path))) | 
| 7380 |  0a 0a 28 64 65 66 61 6c 69 61 73 20 27 66 2d 72    65 6c 61 74 69 76 65 3f 20 27 66 2d 72 65 6c 61  | ..(defalias.'f-relative?.'f-rela | 
| 73a0 |  74 69 76 65 2d 70 29 0a 0a 28 64 65 66 75 6e 20    66 2d 72 6f 6f 74 2d 70 20 28 70 61 74 68 29 0a  | tive-p)..(defun.f-root-p.(path). | 
| 73c0 |  20 20 22 52 65 74 75 72 6e 20 74 20 69 66 20 50    41 54 48 20 69 73 20 72 6f 6f 74 20 64 69 72 65  | .."Return.t.if.PATH.is.root.dire | 
| 73e0 |  63 74 6f 72 79 2c 20 66 61 6c 73 65 20 6f 74 68    65 72 77 69 73 65 2e 22 0a 20 20 28 6e 6f 74 20  | ctory,.false.otherwise."...(not. | 
| 7400 |  28 66 2d 70 61 72 65 6e 74 20 70 61 74 68 29 29    29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 66 2d  | (f-parent.path)))..(defalias.'f- | 
| 7420 |  72 6f 6f 74 3f 20 27 66 2d 72 6f 6f 74 2d 70 29    0a 0a 28 64 65 66 75 6e 20 66 2d 65 78 74 2d 70  | root?.'f-root-p)..(defun.f-ext-p | 
| 7440 |  20 28 70 61 74 68 20 26 6f 70 74 69 6f 6e 61 6c    20 65 78 74 29 0a 20 20 22 52 65 74 75 72 6e 20  | .(path.&optional.ext)..."Return. | 
| 7460 |  74 20 69 66 20 65 78 74 65 6e 73 69 6f 6e 20 6f    66 20 50 41 54 48 20 69 73 20 45 58 54 2c 20 66  | t.if.extension.of.PATH.is.EXT,.f | 
| 7480 |  61 6c 73 65 20 6f 74 68 65 72 77 69 73 65 2e 0a    0a 49 66 20 45 58 54 20 69 73 20 6e 69 6c 20 6f  | alse.otherwise...If.EXT.is.nil.o | 
| 74a0 |  72 20 6f 6d 69 74 74 65 64 2c 20 72 65 74 75 72    6e 20 74 20 69 66 20 50 41 54 48 20 68 61 73 20  | r.omitted,.return.t.if.PATH.has. | 
| 74c0 |  61 6e 79 20 65 78 74 65 6e 73 69 6f 6e 2c 0a 66    61 6c 73 65 20 6f 74 68 65 72 77 69 73 65 2e 0a  | any.extension,.false.otherwise.. | 
| 74e0 |  0a 54 68 65 20 65 78 74 65 6e 73 69 6f 6e 2c 20    69 6e 20 61 20 66 69 6c 65 20 6e 61 6d 65 2c 20  | .The.extension,.in.a.file.name,. | 
| 7500 |  69 73 20 74 68 65 20 70 61 72 74 20 74 68 61 74    20 66 6f 6c 6c 6f 77 73 20 74 68 65 20 6c 61 73  | is.the.part.that.follows.the.las | 
| 7520 |  74 0a 27 2e 27 2c 20 65 78 63 6c 75 64 69 6e 67    20 76 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 73  | t.'.',.excluding.version.numbers | 
| 7540 |  20 61 6e 64 20 62 61 63 6b 75 70 20 73 75 66 66    69 78 65 73 2e 22 0a 20 20 28 69 66 20 65 78 74  | .and.backup.suffixes."...(if.ext | 
| 7560 |  0a 20 20 20 20 20 20 28 73 74 72 69 6e 67 3d 20    28 66 2d 65 78 74 20 70 61 74 68 29 20 65 78 74  | .......(string=.(f-ext.path).ext | 
| 7580 |  29 0a 20 20 20 20 28 6e 6f 74 20 28 65 71 20 28    66 2d 65 78 74 20 70 61 74 68 29 20 6e 69 6c 29  | ).....(not.(eq.(f-ext.path).nil) | 
| 75a0 |  29 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27    66 2d 65 78 74 3f 20 27 66 2d 65 78 74 2d 70 29  | )))..(defalias.'f-ext?.'f-ext-p) | 
| 75c0 |  0a 0a 28 64 65 66 61 6c 69 61 73 20 27 66 2d 65    71 75 61 6c 2d 70 20 27 66 2d 73 61 6d 65 2d 70  | ..(defalias.'f-equal-p.'f-same-p | 
| 75e0 |  29 0a 28 64 65 66 61 6c 69 61 73 20 27 66 2d 65    71 75 61 6c 3f 20 27 66 2d 73 61 6d 65 2d 70 29  | ).(defalias.'f-equal?.'f-same-p) | 
| 7600 |  0a 0a 28 64 65 66 75 6e 20 66 2d 73 61 6d 65 2d    70 20 28 70 61 74 68 2d 61 20 70 61 74 68 2d 62  | ..(defun.f-same-p.(path-a.path-b | 
| 7620 |  29 0a 20 20 22 52 65 74 75 72 6e 20 74 20 69 66    20 50 41 54 48 2d 41 20 61 6e 64 20 50 41 54 48  | )..."Return.t.if.PATH-A.and.PATH | 
| 7640 |  2d 42 20 61 72 65 20 72 65 66 65 72 65 6e 63 65    73 20 74 6f 20 73 61 6d 65 20 66 69 6c 65 2e 22  | -B.are.references.to.same.file." | 
| 7660 |  0a 20 20 28 65 71 75 61 6c 0a 20 20 20 28 66 2d    63 61 6e 6f 6e 69 63 61 6c 20 28 64 69 72 65 63  | ...(equal....(f-canonical.(direc | 
| 7680 |  74 6f 72 79 2d 66 69 6c 65 2d 6e 61 6d 65 20 28    66 2d 65 78 70 61 6e 64 20 70 61 74 68 2d 61 29  | tory-file-name.(f-expand.path-a) | 
| 76a0 |  29 29 0a 20 20 20 28 66 2d 63 61 6e 6f 6e 69 63    61 6c 20 28 64 69 72 65 63 74 6f 72 79 2d 66 69  | ))....(f-canonical.(directory-fi | 
| 76c0 |  6c 65 2d 6e 61 6d 65 20 28 66 2d 65 78 70 61 6e    64 20 70 61 74 68 2d 62 29 29 29 29 29 0a 0a 28  | le-name.(f-expand.path-b)))))..( | 
| 76e0 |  64 65 66 61 6c 69 61 73 20 27 66 2d 73 61 6d 65    3f 20 27 66 2d 73 61 6d 65 2d 70 29 0a 0a 28 64  | defalias.'f-same?.'f-same-p)..(d | 
| 7700 |  65 66 75 6e 20 66 2d 70 61 72 65 6e 74 2d 6f 66    2d 70 20 28 70 61 74 68 2d 61 20 70 61 74 68 2d  | efun.f-parent-of-p.(path-a.path- | 
| 7720 |  62 29 0a 20 20 22 52 65 74 75 72 6e 20 74 20 69    66 20 50 41 54 48 2d 41 20 69 73 20 70 61 72 65  | b)..."Return.t.if.PATH-A.is.pare | 
| 7740 |  6e 74 20 6f 66 20 50 41 54 48 2d 42 2e 22 0a 20    20 28 2d 2d 77 68 65 6e 2d 6c 65 74 20 28 66 2d  | nt.of.PATH-B."...(--when-let.(f- | 
| 7760 |  70 61 72 65 6e 74 20 70 61 74 68 2d 62 29 0a 20    20 20 20 28 66 2d 73 61 6d 65 2d 70 20 70 61 74  | parent.path-b).....(f-same-p.pat | 
| 7780 |  68 2d 61 20 69 74 29 29 29 0a 0a 28 64 65 66 61    6c 69 61 73 20 27 66 2d 70 61 72 65 6e 74 2d 6f  | h-a.it)))..(defalias.'f-parent-o | 
| 77a0 |  66 3f 20 27 66 2d 70 61 72 65 6e 74 2d 6f 66 2d    70 29 0a 0a 28 64 65 66 75 6e 20 66 2d 63 68 69  | f?.'f-parent-of-p)..(defun.f-chi | 
| 77c0 |  6c 64 2d 6f 66 2d 70 20 28 70 61 74 68 2d 61 20    70 61 74 68 2d 62 29 0a 20 20 22 52 65 74 75 72  | ld-of-p.(path-a.path-b)..."Retur | 
| 77e0 |  6e 20 74 20 69 66 20 50 41 54 48 2d 41 20 69 73    20 63 68 69 6c 64 20 6f 66 20 50 41 54 48 2d 42  | n.t.if.PATH-A.is.child.of.PATH-B | 
| 7800 |  2e 22 0a 20 20 28 2d 2d 77 68 65 6e 2d 6c 65 74    20 28 66 2d 70 61 72 65 6e 74 20 70 61 74 68 2d  | ."...(--when-let.(f-parent.path- | 
| 7820 |  61 29 0a 20 20 20 20 28 66 2d 73 61 6d 65 2d 70    20 69 74 20 70 61 74 68 2d 62 29 29 29 0a 0a 28  | a).....(f-same-p.it.path-b)))..( | 
| 7840 |  64 65 66 61 6c 69 61 73 20 27 66 2d 63 68 69 6c    64 2d 6f 66 3f 20 27 66 2d 63 68 69 6c 64 2d 6f  | defalias.'f-child-of?.'f-child-o | 
| 7860 |  66 2d 70 29 0a 0a 28 64 65 66 75 6e 20 66 2d 61    6e 63 65 73 74 6f 72 2d 6f 66 2d 70 20 28 70 61  | f-p)..(defun.f-ancestor-of-p.(pa | 
| 7880 |  74 68 2d 61 20 70 61 74 68 2d 62 29 0a 20 20 22    52 65 74 75 72 6e 20 74 20 69 66 20 50 41 54 48  | th-a.path-b)..."Return.t.if.PATH | 
| 78a0 |  2d 41 20 69 73 20 61 6e 63 65 73 74 6f 72 20 6f    66 20 50 41 54 48 2d 42 2e 22 0a 20 20 28 75 6e  | -A.is.ancestor.of.PATH-B."...(un | 
| 78c0 |  6c 65 73 73 20 28 66 2d 73 61 6d 65 2d 70 20 70    61 74 68 2d 61 20 70 61 74 68 2d 62 29 0a 20 20  | less.(f-same-p.path-a.path-b)... | 
| 78e0 |  20 20 28 73 74 72 69 6e 67 2d 70 72 65 66 69 78    2d 70 20 28 66 2d 66 75 6c 6c 20 70 61 74 68 2d  | ..(string-prefix-p.(f-full.path- | 
| 7900 |  61 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 28 66 2d 66 75 6c 6c 20  | a)......................(f-full. | 
| 7920 |  70 61 74 68 2d 62 29 29 29 29 0a 0a 28 64 65 66    61 6c 69 61 73 20 27 66 2d 61 6e 63 65 73 74 6f  | path-b))))..(defalias.'f-ancesto | 
| 7940 |  72 2d 6f 66 3f 20 27 66 2d 61 6e 63 65 73 74 6f    72 2d 6f 66 2d 70 29 0a 0a 28 64 65 66 75 6e 20  | r-of?.'f-ancestor-of-p)..(defun. | 
| 7960 |  66 2d 64 65 73 63 65 6e 64 61 6e 74 2d 6f 66 2d    70 20 28 70 61 74 68 2d 61 20 70 61 74 68 2d 62  | f-descendant-of-p.(path-a.path-b | 
| 7980 |  29 0a 20 20 22 52 65 74 75 72 6e 20 74 20 69 66    20 50 41 54 48 2d 41 20 69 73 20 64 65 73 65 6e  | )..."Return.t.if.PATH-A.is.desen | 
| 79a0 |  64 61 6e 74 20 6f 66 20 50 41 54 48 2d 42 2e 22    0a 20 20 28 75 6e 6c 65 73 73 20 28 66 2d 73 61  | dant.of.PATH-B."...(unless.(f-sa | 
| 79c0 |  6d 65 2d 70 20 70 61 74 68 2d 61 20 70 61 74 68    2d 62 29 0a 20 20 20 20 28 6c 65 74 20 28 28 70  | me-p.path-a.path-b).....(let.((p | 
| 79e0 |  61 74 68 2d 61 20 28 66 2d 73 70 6c 69 74 20 28    66 2d 66 75 6c 6c 20 70 61 74 68 2d 61 29 29 29  | ath-a.(f-split.(f-full.path-a))) | 
| 7a00 |  0a 20 20 20 20 20 20 20 20 20 20 28 70 61 74 68    2d 62 20 28 66 2d 73 70 6c 69 74 20 28 66 2d 66  | ...........(path-b.(f-split.(f-f | 
| 7a20 |  75 6c 6c 20 70 61 74 68 2d 62 29 29 29 0a 20 20    20 20 20 20 20 20 20 20 28 70 61 72 65 6e 74 2d  | ull.path-b)))...........(parent- | 
| 7a40 |  70 20 74 29 29 0a 20 20 20 20 20 20 28 77 68 69    6c 65 20 28 61 6e 64 20 70 61 74 68 2d 62 20 70  | p.t)).......(while.(and.path-b.p | 
| 7a60 |  61 72 65 6e 74 2d 70 29 0a 20 20 20 20 20 20 20    20 28 69 66 20 28 73 74 72 69 6e 67 3d 20 28 63  | arent-p).........(if.(string=.(c | 
| 7a80 |  61 72 20 70 61 74 68 2d 61 29 20 28 63 61 72 20    70 61 74 68 2d 62 29 29 0a 20 20 20 20 20 20 20  | ar.path-a).(car.path-b))........ | 
| 7aa0 |  20 20 20 20 20 28 73 65 74 71 20 70 61 74 68 2d    61 20 28 63 64 72 20 70 61 74 68 2d 61 29 0a 20  | .....(setq.path-a.(cdr.path-a).. | 
| 7ac0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 70 61 74 68 2d 62 20 28 63 64 72 20 70 61 74  | .................path-b.(cdr.pat | 
| 7ae0 |  68 2d 62 29 29 0a 20 20 20 20 20 20 20 20 20 20    28 73 65 74 71 20 70 61 72 65 6e 74 2d 70 20 6e  | h-b))...........(setq.parent-p.n | 
| 7b00 |  69 6c 29 29 29 0a 20 20 20 20 20 20 70 61 72 65    6e 74 2d 70 29 29 29 0a 0a 28 64 65 66 61 6c 69  | il))).......parent-p)))..(defali | 
| 7b20 |  61 73 20 27 66 2d 64 65 73 63 65 6e 64 61 6e 74    2d 6f 66 3f 20 27 66 2d 64 65 73 63 65 6e 64 61  | as.'f-descendant-of?.'f-descenda | 
| 7b40 |  6e 74 2d 6f 66 2d 70 29 0a 0a 28 64 65 66 75 6e    20 66 2d 68 69 64 64 65 6e 2d 70 20 28 70 61 74  | nt-of-p)..(defun.f-hidden-p.(pat | 
| 7b60 |  68 20 26 6f 70 74 69 6f 6e 61 6c 20 62 65 68 61    76 69 6f 72 29 0a 20 20 22 52 65 74 75 72 6e 20  | h.&optional.behavior)..."Return. | 
| 7b80 |  74 20 69 66 20 50 41 54 48 20 69 73 20 68 69 64    64 65 6e 2c 20 6e 69 6c 20 6f 74 68 65 72 77 69  | t.if.PATH.is.hidden,.nil.otherwi | 
| 7ba0 |  73 65 2e 0a 0a 42 45 48 41 56 49 4f 52 20 63 6f    6e 74 72 6f 6c 73 20 77 68 65 6e 20 61 20 70 61  | se...BEHAVIOR.controls.when.a.pa | 
| 7bc0 |  74 68 20 73 68 6f 75 6c 64 20 62 65 20 63 6f 6e    73 69 64 65 72 65 64 20 61 73 20 68 69 64 64 65  | th.should.be.considered.as.hidde | 
| 7be0 |  6e 0a 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 69    74 73 20 76 61 6c 75 65 2e 20 20 42 65 77 61 72  | n.depending.on.its.value...Bewar | 
| 7c00 |  65 2c 20 69 66 20 50 41 54 48 20 62 65 67 69 6e    73 20 77 69 74 68 20 5c 22 2e 2f 5c 22 2c 20 74  | e,.if.PATH.begins.with.\"./\",.t | 
| 7c20 |  68 65 0a 63 75 72 72 65 6e 74 20 64 69 72 20 5c    22 2e 5c 22 20 77 69 6c 6c 20 6e 6f 74 20 62 65  | he.current.dir.\".\".will.not.be | 
| 7c40 |  20 63 6f 6e 73 69 64 65 72 65 64 20 61 73 20 68    69 64 64 65 6e 2e 0a 0a 57 68 65 6e 20 42 45 48  | .considered.as.hidden...When.BEH | 
| 7c60 |  41 56 49 4f 52 20 69 73 20 6e 69 6c 2c 20 69 74    20 77 69 6c 6c 20 6f 6e 6c 79 20 63 68 65 63 6b  | AVIOR.is.nil,.it.will.only.check | 
| 7c80 |  20 69 66 20 74 68 65 20 70 61 74 68 20 62 65 67    69 6e 73 20 77 69 74 68 0a 61 20 64 6f 74 2c 20  | .if.the.path.begins.with.a.dot,. | 
| 7ca0 |  61 73 20 69 6e 20 2e 61 2f 62 2f 63 2c 20 61 6e    64 20 72 65 74 75 72 6e 20 74 20 69 66 20 74 68  | as.in..a/b/c,.and.return.t.if.th | 
| 7cc0 |  65 72 65 20 69 73 20 6f 6e 65 2e 20 20 54 68 69    73 20 69 73 20 74 68 65 0a 6f 6c 64 20 62 65 68  | ere.is.one...This.is.the.old.beh | 
| 7ce0 |  61 76 69 6f 72 20 6f 66 20 66 2e 65 6c 20 6c 65    66 74 20 61 73 20 64 65 66 61 75 6c 74 20 66 6f  | avior.of.f.el.left.as.default.fo | 
| 7d00 |  72 20 62 61 63 6b 77 61 72 64 2d 63 6f 6d 70 61    74 69 62 69 6c 69 74 79 0a 70 75 72 70 6f 73 65  | r.backward-compatibility.purpose | 
| 7d20 |  73 2e 0a 0a 57 68 65 6e 20 42 45 48 41 56 49 4f    52 20 69 73 20 41 4e 59 2c 20 72 65 74 75 72 6e  | s...When.BEHAVIOR.is.ANY,.return | 
| 7d40 |  20 74 20 69 66 20 61 6e 79 20 6f 66 20 74 68 65    20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 50 41 54  | .t.if.any.of.the.elements.of.PAT | 
| 7d60 |  48 20 69 73 0a 68 69 64 64 65 6e 2c 20 6e 69 6c    20 6f 74 68 65 72 77 69 73 65 2e 0a 0a 57 68 65  | H.is.hidden,.nil.otherwise...Whe | 
| 7d80 |  6e 20 42 45 48 41 56 49 4f 52 20 69 73 20 4c 41    53 54 2c 20 72 65 74 75 72 6e 20 74 20 6f 6e 6c  | n.BEHAVIOR.is.LAST,.return.t.onl | 
| 7da0 |  79 20 69 66 20 74 68 65 20 6c 61 73 74 20 65 6c    65 6d 65 6e 74 20 6f 66 20 50 41 54 48 0a 69 73  | y.if.the.last.element.of.PATH.is | 
| 7dc0 |  20 68 69 64 64 65 6e 2c 20 6e 69 6c 20 6f 74 68    65 72 77 69 73 65 2e 0a 0a 54 4f 44 4f 3a 20 48  | .hidden,.nil.otherwise...TODO:.H | 
| 7de0 |  69 64 64 65 6e 20 64 69 72 65 63 74 6f 72 69 65    73 20 61 6e 64 20 66 69 6c 65 73 20 6f 6e 20 57  | idden.directories.and.files.on.W | 
| 7e00 |  69 6e 64 6f 77 73 20 61 72 65 20 6d 61 72 6b 65    64 0a 64 69 66 66 65 72 65 6e 74 6c 79 20 74 68  | indows.are.marked.differently.th | 
| 7e20 |  61 6e 20 6f 6e 20 2a 4e 49 58 20 73 79 73 74 65    6d 73 2e 20 20 54 68 69 73 20 73 68 6f 75 6c 64  | an.on.*NIX.systems...This.should | 
| 7e40 |  20 62 65 20 70 72 6f 70 65 72 6c 79 0a 69 6d 70    6c 65 6d 65 6e 74 65 64 2e 22 0a 20 20 28 6c 65  | .be.properly.implemented."...(le | 
| 7e60 |  74 20 28 28 73 70 6c 69 74 2d 70 61 74 68 20 28    66 2d 73 70 6c 69 74 20 70 61 74 68 29 29 0a 20  | t.((split-path.(f-split.path)).. | 
| 7e80 |  20 20 20 20 20 20 20 28 63 68 65 63 6b 2d 68 69    64 64 65 6e 20 28 6c 61 6d 62 64 61 20 28 65 6c  | .......(check-hidden.(lambda.(el | 
| 7ea0 |  74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20  | t).........................(and. | 
| 7ec0 |  28 73 74 72 69 6e 67 3d 20 28 73 75 62 73 74 72    69 6e 67 20 65 6c 74 20 30 20 31 29 20 22 2e 22  | (string=.(substring.elt.0.1)."." | 
| 7ee0 |  29 0a 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 28  | )..............................( | 
| 7f00 |  6e 6f 74 20 28 6d 65 6d 62 65 72 20 65 6c 74 20    27 28 22 2e 22 20 22 2e 2e 22 29 29 29 29 29 29  | not.(member.elt.'("."."..")))))) | 
| 7f20 |  29 0a 20 20 20 20 28 70 63 61 73 65 20 62 65 68    61 76 69 6f 72 0a 20 20 20 20 20 20 28 27 61 6e  | ).....(pcase.behavior.......('an | 
| 7f40 |  79 20 20 28 2d 61 6e 79 20 63 68 65 63 6b 2d 68    69 64 64 65 6e 20 73 70 6c 69 74 2d 70 61 74 68  | y..(-any.check-hidden.split-path | 
| 7f60 |  29 29 0a 20 20 20 20 20 20 28 27 6c 61 73 74 20    28 61 70 70 6c 79 20 63 68 65 63 6b 2d 68 69 64  | )).......('last.(apply.check-hid | 
| 7f80 |  64 65 6e 20 28 6c 61 73 74 20 73 70 6c 69 74 2d    70 61 74 68 29 29 29 0a 20 20 20 20 20 20 28 6f  | den.(last.split-path))).......(o | 
| 7fa0 |  74 68 65 72 77 69 73 65 20 28 69 66 20 28 6e 75    6c 6c 20 6f 74 68 65 72 77 69 73 65 29 0a 20 20  | therwise.(if.(null.otherwise)... | 
| 7fc0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 66 75 6e 63 61 6c 6c 20 63 68 65 63  | ...................(funcall.chec | 
| 7fe0 |  6b 2d 68 69 64 64 65 6e 20 28 63 61 72 20 73 70    6c 69 74 2d 70 61 74 68 29 29 0a 20 20 20 20 20  | k-hidden.(car.split-path))...... | 
| 8000 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65    72 72 6f 72 20 22 49 6e 76 61 6c 69 64 20 76 61  | ..............(error."Invalid.va | 
| 8020 |  6c 75 65 20 25 53 20 66 6f 72 20 61 72 67 75 6d    65 6e 74 20 42 45 48 41 56 49 4f 52 22 20 6f 74  | lue.%S.for.argument.BEHAVIOR".ot | 
| 8040 |  68 65 72 77 69 73 65 29 29 29 29 29 29 0a 0a 28    64 65 66 61 6c 69 61 73 20 27 66 2d 68 69 64 64  | herwise))))))..(defalias.'f-hidd | 
| 8060 |  65 6e 3f 20 27 66 2d 68 69 64 64 65 6e 2d 70 29    0a 0a 28 64 65 66 75 6e 20 66 2d 65 6d 70 74 79  | en?.'f-hidden-p)..(defun.f-empty | 
| 8080 |  2d 70 20 28 70 61 74 68 29 0a 20 20 22 49 66 20    50 41 54 48 20 69 73 20 61 20 66 69 6c 65 2c 20  | -p.(path)..."If.PATH.is.a.file,. | 
| 80a0 |  72 65 74 75 72 6e 20 74 20 69 66 20 74 68 65 20    66 69 6c 65 20 69 6e 20 50 41 54 48 20 69 73 20  | return.t.if.the.file.in.PATH.is. | 
| 80c0 |  65 6d 70 74 79 2c 20 6e 69 6c 20 6f 74 68 65 72    77 69 73 65 2e 0a 49 66 20 50 41 54 48 20 69 73  | empty,.nil.otherwise..If.PATH.is | 
| 80e0 |  20 64 69 72 65 63 74 6f 72 79 2c 20 72 65 74 75    72 6e 20 74 20 69 66 20 64 69 72 65 63 74 6f 72  | .directory,.return.t.if.director | 
| 8100 |  79 20 68 61 73 20 6e 6f 20 66 69 6c 65 73 2c 20    6e 69 6c 20 6f 74 68 65 72 77 69 73 65 2e 22 0a  | y.has.no.files,.nil.otherwise.". | 
| 8120 |  20 20 28 69 66 20 28 66 2d 64 69 72 65 63 74 6f    72 79 2d 70 20 70 61 74 68 29 0a 20 20 20 20 20  | ..(if.(f-directory-p.path)...... | 
| 8140 |  20 28 65 71 75 61 6c 20 28 66 2d 66 69 6c 65 73    20 70 61 74 68 20 6e 69 6c 20 74 29 20 6e 69 6c  | .(equal.(f-files.path.nil.t).nil | 
| 8160 |  29 0a 20 20 20 20 28 3d 20 28 66 2d 73 69 7a 65    20 70 61 74 68 29 20 30 29 29 29 0a 0a 28 64 65  | ).....(=.(f-size.path).0)))..(de | 
| 8180 |  66 61 6c 69 61 73 20 27 66 2d 65 6d 70 74 79 3f    20 27 66 2d 65 6d 70 74 79 2d 70 29 0a 0a 0c 0a  | falias.'f-empty?.'f-empty-p).... | 
| 81a0 |  3b 3b 3b 3b 20 53 74 61 74 73 0a 0a 28 64 65 66    75 6e 20 66 2d 73 69 7a 65 20 28 70 61 74 68 29  | ;;;;.Stats..(defun.f-size.(path) | 
| 81c0 |  0a 20 20 22 52 65 74 75 72 6e 20 73 69 7a 65 20    6f 66 20 50 41 54 48 2e 0a 0a 49 66 20 50 41 54  | ..."Return.size.of.PATH...If.PAT | 
| 81e0 |  48 20 69 73 20 61 20 66 69 6c 65 2c 20 72 65 74    75 72 6e 20 73 69 7a 65 20 6f 66 20 74 68 61 74  | H.is.a.file,.return.size.of.that | 
| 8200 |  20 66 69 6c 65 2e 20 20 49 66 20 50 41 54 48 20    69 73 0a 64 69 72 65 63 74 6f 72 79 2c 20 72 65  | .file...If.PATH.is.directory,.re | 
| 8220 |  74 75 72 6e 20 73 75 6d 20 6f 66 20 61 6c 6c 20    66 69 6c 65 73 20 69 6e 20 50 41 54 48 2e 22 0a  | turn.sum.of.all.files.in.PATH.". | 
| 8240 |  20 20 28 69 66 20 28 66 2d 64 69 72 65 63 74 6f    72 79 2d 70 20 70 61 74 68 29 0a 20 20 20 20 20  | ..(if.(f-directory-p.path)...... | 
| 8260 |  20 28 2d 73 75 6d 20 28 2d 6d 61 70 20 27 66 2d    73 69 7a 65 20 28 66 2d 66 69 6c 65 73 20 70 61  | .(-sum.(-map.'f-size.(f-files.pa | 
| 8280 |  74 68 20 6e 69 6c 20 74 29 29 29 0a 20 20 20 20    28 6e 74 68 20 37 20 28 66 69 6c 65 2d 61 74 74  | th.nil.t))).....(nth.7.(file-att | 
| 82a0 |  72 69 62 75 74 65 73 20 70 61 74 68 29 29 29 29    0a 0a 28 64 65 66 75 6e 20 66 2d 64 65 70 74 68  | ributes.path))))..(defun.f-depth | 
| 82c0 |  20 28 70 61 74 68 29 0a 20 20 22 52 65 74 75 72    6e 20 74 68 65 20 64 65 70 74 68 20 6f 66 20 50  | .(path)..."Return.the.depth.of.P | 
| 82e0 |  41 54 48 2e 0a 0a 41 74 20 66 69 72 73 74 2c 20    50 41 54 48 20 69 73 20 65 78 70 61 6e 64 65 64  | ATH...At.first,.PATH.is.expanded | 
| 8300 |  20 77 69 74 68 20 60 66 2d 65 78 70 61 6e 64 27    2e 20 20 54 68 65 6e 20 74 68 65 20 66 75 6c 6c  | .with.`f-expand'...Then.the.full | 
| 8320 |  20 70 61 74 68 20 69 73 20 75 73 65 64 20 74 6f    0a 64 65 74 65 63 74 20 74 68 65 20 64 65 70 74  | .path.is.used.to.detect.the.dept | 
| 8340 |  68 2e 0a 27 2f 27 20 77 69 6c 6c 20 62 65 20 7a    65 72 6f 20 64 65 70 74 68 2c 20 20 27 2f 75 73  | h..'/'.will.be.zero.depth,..'/us | 
| 8360 |  72 27 20 77 69 6c 6c 20 62 65 20 6f 6e 65 20 64    65 70 74 68 2e 20 20 41 6e 64 20 73 6f 20 6f 6e  | r'.will.be.one.depth...And.so.on | 
| 8380 |  2e 22 0a 20 20 28 2d 20 28 6c 65 6e 67 74 68 20    28 66 2d 73 70 6c 69 74 20 28 66 2d 65 78 70 61  | ."...(-.(length.(f-split.(f-expa | 
| 83a0 |  6e 64 20 70 61 74 68 29 29 29 20 31 29 29 0a 0a    3b 3b 20 46 6f 72 20 45 6d 61 63 73 20 32 38 20  | nd.path))).1))..;;.For.Emacs.28. | 
| 83c0 |  61 6e 64 20 62 65 6c 6f 77 2c 20 66 6f 72 77 61    72 64 2d 64 65 63 6c 61 72 65 20 e2 80 98 63 75  | and.below,.forward-declare....cu | 
| 83e0 |  72 72 65 6e 74 2d 74 69 6d 65 2d 6c 69 73 74 e2    80 99 2c 20 77 68 69 63 68 20 77 61 73 0a 3b 3b  | rrent-time-list...,.which.was.;; | 
| 8400 |  20 69 6e 74 72 6f 64 75 63 65 64 20 69 6e 20 45    6d 61 63 73 20 32 39 2e 0a 28 64 65 66 76 61 72  | .introduced.in.Emacs.29..(defvar | 
| 8420 |  20 63 75 72 72 65 6e 74 2d 74 69 6d 65 2d 6c 69    73 74 29 0a 0a 28 64 65 66 75 6e 20 66 2d 2d 67  | .current-time-list)..(defun.f--g | 
| 8440 |  65 74 2d 74 69 6d 65 20 28 70 61 74 68 20 74 69    6d 65 73 74 61 6d 70 2d 70 20 66 6e 29 0a 20 20  | et-time.(path.timestamp-p.fn)... | 
| 8460 |  22 48 65 6c 70 65 72 20 66 75 6e 63 74 69 6f 6e    2c 20 67 65 74 20 74 69 6d 65 2d 72 65 6c 61 74  | "Helper.function,.get.time-relat | 
| 8480 |  65 64 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 66    6f 72 20 50 41 54 48 2e 0a 48 65 6c 70 65 72 20  | ed.information.for.PATH..Helper. | 
| 84a0 |  66 6f 72 20 60 66 2d 63 68 61 6e 67 65 2d 74 69    6d 65 27 2c 20 60 66 2d 6d 6f 64 69 66 69 63 61  | for.`f-change-time',.`f-modifica | 
| 84c0 |  74 69 6f 6e 2d 74 69 6d 65 27 2c 0a 60 66 2d 61    63 63 65 73 73 2d 74 69 6d 65 27 2e 20 20 49 74  | tion-time',.`f-access-time'...It | 
| 84e0 |  20 69 73 20 6d 65 61 6e 74 20 74 6f 20 62 65 20    63 61 6c 6c 65 64 20 69 6e 74 65 72 6e 61 6c 6c  | .is.meant.to.be.called.internall | 
| 8500 |  79 2c 20 61 76 6f 69 64 0a 63 61 6c 6c 69 6e 67    20 69 74 20 6d 61 6e 75 61 6c 6c 79 20 75 6e 6c  | y,.avoid.calling.it.manually.unl | 
| 8520 |  65 73 73 20 79 6f 75 20 68 61 76 65 20 74 6f 2e    0a 0a 49 66 20 54 49 4d 45 53 54 41 4d 50 2d 50  | ess.you.have.to...If.TIMESTAMP-P | 
| 8540 |  20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 72 65 74    75 72 6e 20 74 68 65 20 64 61 74 65 20 72 65 71  | .is.non-nil,.return.the.date.req | 
| 8560 |  75 65 73 74 65 64 20 61 73 20 61 0a 74 69 6d 65    73 74 61 6d 70 2e 20 20 49 66 20 74 68 65 20 76  | uested.as.a.timestamp...If.the.v | 
| 8580 |  61 6c 75 65 20 69 73 20 5c 5c 3d 27 73 65 63 6f    6e 64 73 2c 20 72 65 74 75 72 6e 20 74 68 65 20  | alue.is.\\='seconds,.return.the. | 
| 85a0 |  74 69 6d 65 73 74 61 6d 70 20 61 73 0a 61 20 74    69 6d 65 73 74 61 6d 70 20 77 69 74 68 20 61 20  | timestamp.as.a.timestamp.with.a. | 
| 85c0 |  6f 6e 65 2d 73 65 63 6f 6e 64 20 70 72 65 63 69    73 69 6f 6e 2e 20 20 4f 74 68 65 72 77 69 73 65  | one-second.precision...Otherwise | 
| 85e0 |  2c 20 74 68 65 0a 74 69 6d 65 73 74 61 6d 70 20    69 73 20 72 65 74 75 72 6e 65 64 20 69 6e 20 61  | ,.the.timestamp.is.returned.in.a | 
| 8600 |  20 28 54 49 43 4b 53 20 2e 20 48 5a 29 20 66 6f    72 6d 61 74 2c 20 73 65 65 0a 60 63 75 72 72 65  | .(TICKS...HZ).format,.see.`curre | 
| 8620 |  6e 74 2d 74 69 6d 65 27 20 69 66 20 75 73 69 6e    67 20 45 6d 61 63 73 20 32 39 20 6f 72 20 6e 65  | nt-time'.if.using.Emacs.29.or.ne | 
| 8640 |  77 65 72 2e 0a 0a 4f 74 68 65 72 77 69 73 65 2c    20 69 66 20 54 49 4d 45 53 54 41 4d 50 2d 50 20  | wer...Otherwise,.if.TIMESTAMP-P. | 
| 8660 |  69 73 20 6e 69 6c 2c 20 72 65 74 75 72 6e 20 74    68 65 20 64 65 66 61 75 6c 74 20 73 74 79 6c 65  | is.nil,.return.the.default.style | 
| 8680 |  20 6f 66 0a 60 63 75 72 72 65 6e 74 2d 74 69 6d    65 27 2e 0a 0a 46 4e 20 69 73 20 74 68 65 20 66  | .of.`current-time'...FN.is.the.f | 
| 86a0 |  75 6e 63 74 69 6f 6e 20 73 70 65 63 69 66 69 65    64 20 62 79 20 74 68 65 20 63 61 6c 6c 65 72 20  | unction.specified.by.the.caller. | 
| 86c0 |  66 75 6e 63 74 69 6f 6e 20 74 6f 20 72 65 74 72    69 65 76 65 0a 74 68 65 20 63 6f 72 72 65 63 74  | function.to.retrieve.the.correct | 
| 86e0 |  20 64 61 74 61 20 66 72 6f 6d 20 50 41 54 48 2e    22 0a 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28  | .data.from.PATH.".......(let*.(( | 
| 8700 |  63 75 72 72 65 6e 74 2d 74 69 6d 65 2d 6c 69 73    74 20 28 6e 6f 74 20 74 69 6d 65 73 74 61 6d 70  | current-time-list.(not.timestamp | 
| 8720 |  2d 70 29 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 28 64 61 74 65 20 28 61 70 70 6c 79 20 66  | -p))..............(date.(apply.f | 
| 8740 |  6e 20 28 6c 69 73 74 20 28 66 69 6c 65 2d 61 74    74 72 69 62 75 74 65 73 20 70 61 74 68 29 29 29  | n.(list.(file-attributes.path))) | 
| 8760 |  29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28    65 6d 61 63 73 32 39 2d 6f 72 2d 6e 65 77 65 72  | )..............(emacs29-or-newer | 
| 8780 |  2d 70 20 28 76 65 72 73 69 6f 6e 3c 3d 20 22 32    39 22 20 65 6d 61 63 73 2d 76 65 72 73 69 6f 6e  | -p.(version<=."29".emacs-version | 
| 87a0 |  29 29 29 0a 20 20 20 20 20 20 20 20 28 63 6f 6e    64 0a 20 20 20 20 20 20 20 20 20 28 28 61 6e 64  | ))).........(cond..........((and | 
| 87c0 |  20 28 65 71 20 74 69 6d 65 73 74 61 6d 70 2d 70    20 27 73 65 63 6f 6e 64 73 29 20 65 6d 61 63 73  | .(eq.timestamp-p.'seconds).emacs | 
| 87e0 |  32 39 2d 6f 72 2d 6e 65 77 65 72 2d 70 29 0a 20    20 20 20 20 20 20 20 20 20 28 2f 20 28 63 61 72  | 29-or-newer-p)...........(/.(car | 
| 8800 |  20 64 61 74 65 29 20 28 63 64 72 20 64 61 74 65    29 29 29 0a 20 20 20 20 20 20 20 20 20 28 28 6f  | .date).(cdr.date)))..........((o | 
| 8820 |  72 20 28 61 6e 64 20 28 6e 6f 74 20 28 65 71 20    74 69 6d 65 73 74 61 6d 70 2d 70 20 27 73 65 63  | r.(and.(not.(eq.timestamp-p.'sec | 
| 8840 |  6f 6e 64 73 29 29 20 65 6d 61 63 73 32 39 2d 6f    72 2d 6e 65 77 65 72 2d 70 29 0a 20 20 20 20 20  | onds)).emacs29-or-newer-p)...... | 
| 8860 |  20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 6e    6f 74 20 74 69 6d 65 73 74 61 6d 70 2d 70 29 20  | .........(and.(not.timestamp-p). | 
| 8880 |  28 6e 6f 74 20 65 6d 61 63 73 32 39 2d 6f 72 2d    6e 65 77 65 72 2d 70 29 29 29 0a 20 20 20 20 20  | (not.emacs29-or-newer-p)))...... | 
| 88a0 |  20 20 20 20 20 64 61 74 65 29 0a 20 20 20 20 20    20 20 20 20 28 28 61 6e 64 20 28 65 71 20 74 69  | .....date)..........((and.(eq.ti | 
| 88c0 |  6d 65 73 74 61 6d 70 2d 70 20 27 73 65 63 6f 6e    64 73 29 20 28 6e 6f 74 20 65 6d 61 63 73 32 39  | mestamp-p.'seconds).(not.emacs29 | 
| 88e0 |  2d 6f 72 2d 6e 65 77 65 72 2d 70 29 29 0a 20 20    20 20 20 20 20 20 20 20 28 2b 20 28 2a 20 28 6e  | -or-newer-p))...........(+.(*.(n | 
| 8900 |  74 68 20 30 20 64 61 74 65 29 20 28 65 78 70 74    20 32 20 31 36 29 29 0a 20 20 20 20 20 20 20 20  | th.0.date).(expt.2.16))......... | 
| 8920 |  20 20 20 20 20 28 6e 74 68 20 31 20 64 61 74 65    29 29 29 0a 20 20 20 20 20 20 20 20 20 28 28 61  | .....(nth.1.date)))..........((a | 
| 8940 |  6e 64 20 74 69 6d 65 73 74 61 6d 70 2d 70 20 28    6e 6f 74 20 65 6d 61 63 73 32 39 2d 6f 72 2d 6e  | nd.timestamp-p.(not.emacs29-or-n | 
| 8960 |  65 77 65 72 2d 70 29 29 0a 20 20 20 20 20 20 20    20 20 20 60 28 2c 28 2b 20 28 2a 20 28 6e 74 68  | ewer-p))...........`(,(+.(*.(nth | 
| 8980 |  20 30 20 64 61 74 65 29 20 28 65 78 70 74 20 32    20 31 36 29 20 31 30 30 30 29 0a 20 20 20 20 20  | .0.date).(expt.2.16).1000)...... | 
| 89a0 |  20 20 20 20 20 20 20 20 20 20 20 28 2a 20 28 6e    74 68 20 31 20 64 61 74 65 29 20 31 30 30 30 29  | ...........(*.(nth.1.date).1000) | 
| 89c0 |  0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 6e 74 68 20 33 20 64 61 74 65 29 29 0a 20  | .................(nth.3.date)).. | 
| 89e0 |  20 20 20 20 20 20 20 20 20 20 20 2e 20 31 30 30    30 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 66  | .............1000)))))..(defun.f | 
| 8a00 |  2d 63 68 61 6e 67 65 2d 74 69 6d 65 20 28 70 61    74 68 20 26 6f 70 74 69 6f 6e 61 6c 20 74 69 6d  | -change-time.(path.&optional.tim | 
| 8a20 |  65 73 74 61 6d 70 2d 70 29 0a 20 20 22 52 65 74    75 72 6e 20 74 68 65 20 6c 61 73 74 20 73 74 61  | estamp-p)..."Return.the.last.sta | 
| 8a40 |  74 75 73 20 63 68 61 6e 67 65 20 74 69 6d 65 20    6f 66 20 50 41 54 48 2e 0a 0a 54 68 65 20 73 74  | tus.change.time.of.PATH...The.st | 
| 8a60 |  61 74 75 73 20 63 68 61 6e 67 65 20 74 69 6d 65    20 28 63 74 69 6d 65 29 20 6f 66 20 50 41 54 48  | atus.change.time.(ctime).of.PATH | 
| 8a80 |  20 69 6e 20 74 68 65 20 73 61 6d 65 20 66 6f 72    6d 61 74 20 61 73 0a 60 63 75 72 72 65 6e 74 2d  | .in.the.same.format.as.`current- | 
| 8aa0 |  74 69 6d 65 27 2e 20 20 46 6f 72 20 64 65 74 61    69 6c 73 20 6f 6e 20 54 49 4d 45 53 54 41 4d 50  | time'...For.details.on.TIMESTAMP | 
| 8ac0 |  2d 50 20 61 6e 64 20 74 68 65 20 66 6f 72 6d 61    74 20 6f 66 20 74 68 65 0a 72 65 74 75 72 6e 65  | -P.and.the.format.of.the.returne | 
| 8ae0 |  64 20 76 61 6c 75 65 2c 20 73 65 65 20 60 66 2d    2d 67 65 74 2d 74 69 6d 65 27 2e 22 0a 20 20 28  | d.value,.see.`f--get-time'."...( | 
| 8b00 |  66 2d 2d 67 65 74 2d 74 69 6d 65 20 70 61 74 68    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | f--get-time.path................ | 
| 8b20 |  74 69 6d 65 73 74 61 6d 70 2d 70 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28  | timestamp-p................(if.( | 
| 8b40 |  66 62 6f 75 6e 64 70 20 27 66 69 6c 65 2d 61 74    74 72 69 62 75 74 65 2d 73 74 61 74 75 73 2d 63  | fboundp.'file-attribute-status-c | 
| 8b60 |  68 61 6e 67 65 2d 74 69 6d 65 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23  | hange-time)....................# | 
| 8b80 |  27 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 2d    73 74 61 74 75 73 2d 63 68 61 6e 67 65 2d 74 69  | 'file-attribute-status-change-ti | 
| 8ba0 |  6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 6c 61 6d 62 64 61 20 28 66 29 20  | me..................(lambda.(f). | 
| 8bc0 |  28 6e 74 68 20 36 20 66 29 29 29 29 29 0a 0a 28    64 65 66 75 6e 20 66 2d 6d 6f 64 69 66 69 63 61  | (nth.6.f)))))..(defun.f-modifica | 
| 8be0 |  74 69 6f 6e 2d 74 69 6d 65 20 28 70 61 74 68 20    26 6f 70 74 69 6f 6e 61 6c 20 74 69 6d 65 73 74  | tion-time.(path.&optional.timest | 
| 8c00 |  61 6d 70 2d 70 29 0a 20 20 22 52 65 74 75 72 6e    20 74 68 65 20 6c 61 73 74 20 6d 6f 64 69 66 69  | amp-p)..."Return.the.last.modifi | 
| 8c20 |  63 61 74 69 6f 6e 20 74 69 6d 65 20 6f 66 20 50    41 54 48 2e 0a 54 68 65 20 6d 6f 64 69 66 69 63  | cation.time.of.PATH..The.modific | 
| 8c40 |  61 74 69 6f 6e 20 74 69 6d 65 20 28 6d 74 69 6d    65 29 20 6f 66 20 50 41 54 48 20 69 6e 20 74 68  | ation.time.(mtime).of.PATH.in.th | 
| 8c60 |  65 20 73 61 6d 65 20 66 6f 72 6d 61 74 20 61 73    0a 60 63 75 72 72 65 6e 74 2d 74 69 6d 65 27 2e  | e.same.format.as.`current-time'. | 
| 8c80 |  20 20 46 6f 72 20 64 65 74 61 69 6c 73 20 6f 6e    20 54 49 4d 45 53 54 41 4d 50 2d 50 20 61 6e 64  | ..For.details.on.TIMESTAMP-P.and | 
| 8ca0 |  20 74 68 65 20 66 6f 72 6d 61 74 20 6f 66 20 74    68 65 0a 72 65 74 75 72 6e 65 64 20 76 61 6c 75  | .the.format.of.the.returned.valu | 
| 8cc0 |  65 2c 20 73 65 65 20 60 66 2d 2d 67 65 74 2d 74    69 6d 65 27 2e 22 0a 20 20 28 66 2d 2d 67 65 74  | e,.see.`f--get-time'."...(f--get | 
| 8ce0 |  2d 74 69 6d 65 20 70 61 74 68 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 74 69 6d 65 73 74  | -time.path................timest | 
| 8d00 |  61 6d 70 2d 70 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 69 66 20 28 66 62 6f 75 6e 64  | amp-p................(if.(fbound | 
| 8d20 |  70 20 27 66 69 6c 65 2d 61 74 74 72 69 62 75 74    65 2d 6d 6f 64 69 66 69 63 61 74 69 6f 6e 2d 74  | p.'file-attribute-modification-t | 
| 8d40 |  69 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 23 27 66 69 6c 65 2d 61  | ime)....................#'file-a | 
| 8d60 |  74 74 72 69 62 75 74 65 2d 6d 6f 64 69 66 69 63    61 74 69 6f 6e 2d 74 69 6d 65 0a 20 20 20 20 20  | ttribute-modification-time...... | 
| 8d80 |  20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d    62 64 61 20 28 66 29 20 28 6e 74 68 20 35 20 66  | ............(lambda.(f).(nth.5.f | 
| 8da0 |  29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 66 2d    61 63 63 65 73 73 2d 74 69 6d 65 20 28 70 61 74  | )))))..(defun.f-access-time.(pat | 
| 8dc0 |  68 20 26 6f 70 74 69 6f 6e 61 6c 20 74 69 6d 65    73 74 61 6d 70 2d 70 29 0a 20 20 22 52 65 74 75  | h.&optional.timestamp-p)..."Retu | 
| 8de0 |  72 6e 20 74 68 65 20 6c 61 73 74 20 61 63 63 65    73 73 20 74 69 6d 65 20 6f 66 20 50 41 54 48 2e  | rn.the.last.access.time.of.PATH. | 
| 8e00 |  0a 54 68 65 20 61 63 63 65 73 73 20 74 69 6d 65    20 28 61 74 69 6d 65 29 20 6f 66 20 50 41 54 48  | .The.access.time.(atime).of.PATH | 
| 8e20 |  20 69 73 20 69 6e 20 74 68 65 20 73 61 6d 65 20    66 6f 72 6d 61 74 20 61 73 0a 60 63 75 72 72 65  | .is.in.the.same.format.as.`curre | 
| 8e40 |  6e 74 2d 74 69 6d 65 27 2e 20 20 46 6f 72 20 64    65 74 61 69 6c 73 20 6f 6e 20 54 49 4d 45 53 54  | nt-time'...For.details.on.TIMEST | 
| 8e60 |  41 4d 50 2d 50 20 61 6e 64 20 74 68 65 20 66 6f    72 6d 61 74 20 6f 66 20 74 68 65 0a 72 65 74 75  | AMP-P.and.the.format.of.the.retu | 
| 8e80 |  72 6e 65 64 20 76 61 6c 75 65 2c 20 73 65 65 20    60 66 2d 2d 67 65 74 2d 74 69 6d 65 27 2e 22 0a  | rned.value,.see.`f--get-time'.". | 
| 8ea0 |  20 20 28 66 2d 2d 67 65 74 2d 74 69 6d 65 20 70    61 74 68 0a 20 20 20 20 20 20 20 20 20 20 20 20  | ..(f--get-time.path............. | 
| 8ec0 |  20 20 20 74 69 6d 65 73 74 61 6d 70 2d 70 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69  | ...timestamp-p................(i | 
| 8ee0 |  66 20 28 66 62 6f 75 6e 64 70 20 27 66 69 6c 65    2d 61 74 74 72 69 62 75 74 65 2d 61 63 63 65 73  | f.(fboundp.'file-attribute-acces | 
| 8f00 |  73 2d 74 69 6d 65 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 23 27 66 69 6c  | s-time)....................#'fil | 
| 8f20 |  65 2d 61 74 74 72 69 62 75 74 65 2d 61 63 63 65    73 73 2d 74 69 6d 65 0a 20 20 20 20 20 20 20 20  | e-attribute-access-time......... | 
| 8f40 |  20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61    20 28 66 29 20 28 6e 74 68 20 34 20 66 29 29 29  | .........(lambda.(f).(nth.4.f))) | 
| 8f60 |  29 29 0a 0a 28 64 65 66 75 6e 20 66 2d 2d 74 68    72 65 65 2d 77 61 79 2d 63 6f 6d 70 61 72 65 20  | ))..(defun.f--three-way-compare. | 
| 8f80 |  28 61 20 62 29 0a 20 20 22 54 68 72 65 65 20 77    61 79 20 63 6f 6d 70 61 72 69 73 6f 6e 2e 0a 0a  | (a.b)..."Three.way.comparison... | 
| 8fa0 |  52 65 74 75 72 6e 20 2d 31 20 69 66 20 41 20 3c    20 42 2e 0a 52 65 74 75 72 6e 20 30 20 69 66 20  | Return.-1.if.A.<.B..Return.0.if. | 
| 8fc0 |  41 20 3d 20 42 2e 0a 52 65 74 75 72 6e 20 31 20    69 66 20 41 20 3e 20 42 2e 22 0a 20 20 28 63 6f  | A.=.B..Return.1.if.A.>.B."...(co | 
| 8fe0 |  6e 64 20 28 28 3c 20 61 20 62 29 20 2d 31 29 0a    20 20 20 20 20 20 20 20 28 28 3d 20 61 20 62 29  | nd.((<.a.b).-1).........((=.a.b) | 
| 9000 |  20 30 29 0a 20 20 20 20 20 20 20 20 28 28 3e 20    61 20 62 29 20 31 29 29 29 0a 0a 3b 3b 20 54 4f  | .0).........((>.a.b).1)))..;;.TO | 
| 9020 |  44 4f 3a 20 48 6f 77 20 74 6f 20 70 72 6f 70 65    72 6c 79 20 74 65 73 74 20 74 68 69 73 20 66 75  | DO:.How.to.properly.test.this.fu | 
| 9040 |  6e 63 74 69 6f 6e 3f 0a 28 64 65 66 75 6e 20 66    2d 2d 64 61 74 65 2d 63 6f 6d 70 61 72 65 20 28  | nction?.(defun.f--date-compare.( | 
| 9060 |  66 69 6c 65 20 6f 74 68 65 72 20 6d 65 74 68 6f    64 29 0a 20 20 22 54 68 72 65 65 2d 77 61 79 20  | file.other.method)..."Three-way. | 
| 9080 |  63 6f 6d 70 61 72 69 73 6f 6e 20 6f 66 20 74 68    65 20 64 61 74 65 20 6f 66 20 46 49 4c 45 20 61  | comparison.of.the.date.of.FILE.a | 
| 90a0 |  6e 64 20 4f 54 48 45 52 2e 0a 0a 54 68 69 73 20    66 75 6e 63 74 69 6f 6e 20 63 61 6e 20 72 65 74  | nd.OTHER...This.function.can.ret | 
| 90c0 |  75 72 6e 20 74 68 72 65 65 20 76 61 6c 75 65 73    3a 0a 2a 20 31 20 6d 65 61 6e 73 20 46 49 4c 45  | urn.three.values:.*.1.means.FILE | 
| 90e0 |  20 69 73 20 6e 65 77 65 72 20 74 68 61 6e 20 4f    54 48 45 52 0a 2a 20 30 20 6d 65 61 6e 73 20 46  | .is.newer.than.OTHER.*.0.means.F | 
| 9100 |  49 4c 45 20 61 6e 64 20 4e 45 57 45 52 20 73 68    61 72 65 20 74 68 65 20 73 61 6d 65 20 64 61 74  | ILE.and.NEWER.share.the.same.dat | 
| 9120 |  65 0a 2a 20 2d 31 20 6d 65 61 6e 73 20 46 49 4c    45 20 69 73 20 6f 6c 64 65 72 20 74 68 61 6e 20  | e.*.-1.means.FILE.is.older.than. | 
| 9140 |  4f 54 48 45 52 0a 0a 54 68 65 20 73 74 61 74 69    73 74 69 63 73 20 75 73 65 64 20 66 6f 72 20 74  | OTHER..The.statistics.used.for.t | 
| 9160 |  68 65 20 64 61 74 65 20 63 6f 6d 70 61 72 69 73    6f 6e 20 64 65 70 65 6e 64 73 20 6f 6e 20 4d 45  | he.date.comparison.depends.on.ME | 
| 9180 |  54 48 4f 44 2e 0a 57 68 65 6e 20 4d 45 54 48 4f    44 20 69 73 20 6e 75 6c 6c 2c 20 63 6f 6d 70 61  | THOD..When.METHOD.is.null,.compa | 
| 91a0 |  72 65 20 74 68 65 69 72 20 6d 6f 64 69 66 69 63    61 74 69 6f 6e 20 74 69 6d 65 2e 20 20 4f 74 68  | re.their.modification.time...Oth | 
| 91c0 |  65 72 77 69 73 65 2c 0a 63 6f 6d 70 61 72 65 20    74 68 65 69 72 20 63 68 61 6e 67 65 20 74 69 6d  | erwise,.compare.their.change.tim | 
| 91e0 |  65 20 77 68 65 6e 20 4d 45 54 48 4f 44 20 69 73    20 5c 5c 3d 27 63 68 61 6e 67 65 2c 20 6f 72 20  | e.when.METHOD.is.\\='change,.or. | 
| 9200 |  63 6f 6d 70 61 72 65 0a 74 68 65 69 72 20 6c 61    73 74 20 61 63 63 65 73 73 20 74 69 6d 65 20 77  | compare.their.last.access.time.w | 
| 9220 |  68 65 6e 20 4d 45 54 48 4f 44 20 69 73 20 5c 5c    3d 27 61 63 63 65 73 73 2e 22 0a 20 20 28 6c 65  | hen.METHOD.is.\\='access."...(le | 
| 9240 |  74 2a 20 28 28 66 6e 2d 6d 65 74 68 6f 64 20 28    63 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20  | t*.((fn-method.(cond............ | 
| 9260 |  20 20 20 20 20 20 20 20 20 20 28 28 65 71 20 27    63 68 61 6e 67 65 20 6d 65 74 68 6f 64 29 20 23  | ..........((eq.'change.method).# | 
| 9280 |  27 66 2d 63 68 61 6e 67 65 2d 74 69 6d 65 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | 'f-change-time)................. | 
| 92a0 |  20 20 20 20 20 28 28 65 71 20 27 61 63 63 65 73    73 20 6d 65 74 68 6f 64 29 20 23 27 66 2d 61 63  | .....((eq.'access.method).#'f-ac | 
| 92c0 |  63 65 73 73 2d 74 69 6d 65 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | cess-time)...................... | 
| 92e0 |  28 28 6e 75 6c 6c 20 6d 65 74 68 6f 64 29 20 20    20 20 20 20 20 23 27 66 2d 6d 6f 64 69 66 69 63  | ((null.method).......#'f-modific | 
| 9300 |  61 74 69 6f 6e 2d 74 69 6d 65 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ation-time)..................... | 
| 9320 |  20 28 74 20 28 65 72 72 6f 72 20 22 55 6e 6b 6e    6f 77 6e 20 6d 65 74 68 6f 64 20 25 53 22 20 6d  | .(t.(error."Unknown.method.%S".m | 
| 9340 |  65 74 68 6f 64 29 29 29 29 0a 20 20 20 20 20 20    20 20 20 28 64 61 74 65 2d 66 69 6c 65 20 28 61  | ethod))))..........(date-file.(a | 
| 9360 |  70 70 6c 79 20 66 6e 2d 6d 65 74 68 6f 64 20 28    6c 69 73 74 20 66 69 6c 65 29 29 29 0a 20 20 20  | pply.fn-method.(list.file))).... | 
| 9380 |  20 20 20 20 20 20 28 64 61 74 65 2d 6f 74 68 65    72 20 28 61 70 70 6c 79 20 66 6e 2d 6d 65 74 68  | ......(date-other.(apply.fn-meth | 
| 93a0 |  6f 64 20 28 6c 69 73 74 20 6f 74 68 65 72 29 29    29 0a 20 20 20 20 20 20 20 20 20 28 64 61 74 65  | od.(list.other)))..........(date | 
| 93c0 |  73 20 20 20 20 20 20 28 2d 7a 69 70 2d 70 61 69    72 20 64 61 74 65 2d 66 69 6c 65 20 64 61 74 65  | s......(-zip-pair.date-file.date | 
| 93e0 |  2d 6f 74 68 65 72 29 29 29 0a 20 20 20 20 28 2d    72 65 64 75 63 65 2d 66 72 6f 6d 20 28 6c 61 6d  | -other))).....(-reduce-from.(lam | 
| 9400 |  62 64 61 20 28 61 63 63 20 65 6c 74 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | bda.(acc.elt)................... | 
| 9420 |  20 20 28 69 66 20 28 3d 20 61 63 63 20 30 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ..(if.(=.acc.0)................. | 
| 9440 |  20 20 20 20 20 20 20 20 28 66 2d 2d 74 68 72 65    65 2d 77 61 79 2d 63 6f 6d 70 61 72 65 20 28 63  | ........(f--three-way-compare.(c | 
| 9460 |  61 72 20 65 6c 74 29 20 28 63 64 72 20 65 6c 74    29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  | ar.elt).(cdr.elt)).............. | 
| 9480 |  20 20 20 20 20 20 20 20 20 61 63 63 29 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | .........acc)).................. | 
| 94a0 |  20 30 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 64 61 74 65 73 29 29 29 0a 0a 28  | .0...................dates)))..( | 
| 94c0 |  64 65 66 75 6e 20 66 2d 6f 6c 64 65 72 2d 70 20    28 66 69 6c 65 20 6f 74 68 65 72 20 26 6f 70 74  | defun.f-older-p.(file.other.&opt | 
| 94e0 |  69 6f 6e 61 6c 20 6d 65 74 68 6f 64 29 0a 20 20    22 43 6f 6d 70 61 72 65 20 69 66 20 46 49 4c 45  | ional.method)..."Compare.if.FILE | 
| 9500 |  20 69 73 20 6f 6c 64 65 72 20 74 68 61 6e 20 4f    54 48 45 52 2e 0a 0a 46 6f 72 20 6d 6f 72 65 20  | .is.older.than.OTHER...For.more. | 
| 9520 |  69 6e 66 6f 20 6f 6e 20 4d 45 54 48 4f 44 2c 20    73 65 65 20 60 66 2d 2d 64 61 74 65 2d 63 6f 6d  | info.on.METHOD,.see.`f--date-com | 
| 9540 |  70 61 72 65 27 2e 22 0a 20 20 28 3c 20 28 66 2d    2d 64 61 74 65 2d 63 6f 6d 70 61 72 65 20 66 69  | pare'."...(<.(f--date-compare.fi | 
| 9560 |  6c 65 20 6f 74 68 65 72 20 6d 65 74 68 6f 64 29    20 30 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20  | le.other.method).0))..(defalias. | 
| 9580 |  27 66 2d 6f 6c 64 65 72 3f 20 23 27 66 2d 6f 6c    64 65 72 2d 70 29 0a 0a 28 64 65 66 75 6e 20 66  | 'f-older?.#'f-older-p)..(defun.f | 
| 95a0 |  2d 6e 65 77 65 72 2d 70 20 28 66 69 6c 65 20 6f    74 68 65 72 20 26 6f 70 74 69 6f 6e 61 6c 20 6d  | -newer-p.(file.other.&optional.m | 
| 95c0 |  65 74 68 6f 64 29 0a 20 20 22 43 6f 6d 70 61 72    65 20 69 66 20 46 49 4c 45 20 69 73 20 6e 65 77  | ethod)..."Compare.if.FILE.is.new | 
| 95e0 |  65 72 20 74 68 61 6e 20 4f 54 48 45 52 2e 0a 0a    46 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 20 6f 6e  | er.than.OTHER...For.more.info.on | 
| 9600 |  20 4d 45 54 48 4f 44 2c 20 73 65 65 20 60 66 2d    2d 64 61 74 65 2d 63 6f 6d 70 61 72 65 27 2e 22  | .METHOD,.see.`f--date-compare'." | 
| 9620 |  0a 20 20 28 3e 20 28 66 2d 2d 64 61 74 65 2d 63    6f 6d 70 61 72 65 20 66 69 6c 65 20 6f 74 68 65  | ...(>.(f--date-compare.file.othe | 
| 9640 |  72 20 6d 65 74 68 6f 64 29 20 30 29 29 0a 0a 28    64 65 66 61 6c 69 61 73 20 27 66 2d 6e 65 77 65  | r.method).0))..(defalias.'f-newe | 
| 9660 |  72 3f 20 23 27 66 2d 6e 65 77 65 72 2d 70 29 0a    0a 28 64 65 66 75 6e 20 66 2d 73 61 6d 65 2d 74  | r?.#'f-newer-p)..(defun.f-same-t | 
| 9680 |  69 6d 65 2d 70 20 28 66 69 6c 65 20 6f 74 68 65    72 20 26 6f 70 74 69 6f 6e 61 6c 20 6d 65 74 68  | ime-p.(file.other.&optional.meth | 
| 96a0 |  6f 64 29 0a 20 20 22 43 68 65 63 6b 20 69 66 20    46 49 4c 45 20 61 6e 64 20 4f 54 48 45 52 20 73  | od)..."Check.if.FILE.and.OTHER.s | 
| 96c0 |  68 61 72 65 20 74 68 65 20 73 61 6d 65 20 61 63    63 65 73 73 20 6f 72 20 6d 6f 64 69 66 69 63 61  | hare.the.same.access.or.modifica | 
| 96e0 |  74 69 6f 6e 20 74 69 6d 65 2e 0a 0a 46 6f 72 20    6d 6f 72 65 20 69 6e 66 6f 20 6f 6e 20 4d 45 54  | tion.time...For.more.info.on.MET | 
| 9700 |  48 4f 44 2c 20 73 65 65 20 60 66 2d 2d 64 61 74    65 2d 63 6f 6d 70 61 72 65 27 2e 22 0a 20 20 28  | HOD,.see.`f--date-compare'."...( | 
| 9720 |  3d 20 28 66 2d 2d 64 61 74 65 2d 63 6f 6d 70 61    72 65 20 66 69 6c 65 20 6f 74 68 65 72 20 6d 65  | =.(f--date-compare.file.other.me | 
| 9740 |  74 68 6f 64 29 20 30 29 29 0a 0a 28 64 65 66 61    6c 69 61 73 20 27 66 2d 73 61 6d 65 2d 74 69 6d  | thod).0))..(defalias.'f-same-tim | 
| 9760 |  65 3f 20 23 27 66 2d 73 61 6d 65 2d 74 69 6d 65    2d 70 29 0a 0a 0c 0a 3b 3b 3b 3b 20 4d 69 73 63  | e?.#'f-same-time-p)....;;;;.Misc | 
| 9780 |  0a 0a 28 64 65 66 75 6e 20 66 2d 74 68 69 73 2d    66 69 6c 65 20 28 29 0a 20 20 22 52 65 74 75 72  | ..(defun.f-this-file.()..."Retur | 
| 97a0 |  6e 20 70 61 74 68 20 74 6f 20 74 68 69 73 20 66    69 6c 65 2e 22 0a 20 20 28 63 6f 6e 64 0a 20 20  | n.path.to.this.file."...(cond... | 
| 97c0 |  20 28 6c 6f 61 64 2d 69 6e 2d 70 72 6f 67 72 65    73 73 20 6c 6f 61 64 2d 66 69 6c 65 2d 6e 61 6d  | .(load-in-progress.load-file-nam | 
| 97e0 |  65 29 0a 20 20 20 28 28 61 6e 64 20 28 62 6f 75    6e 64 70 20 27 62 79 74 65 2d 63 6f 6d 70 69 6c  | e)....((and.(boundp.'byte-compil | 
| 9800 |  65 2d 63 75 72 72 65 6e 74 2d 66 69 6c 65 29 20    62 79 74 65 2d 63 6f 6d 70 69 6c 65 2d 63 75 72  | e-current-file).byte-compile-cur | 
| 9820 |  72 65 6e 74 2d 66 69 6c 65 29 0a 20 20 20 20 62    79 74 65 2d 63 6f 6d 70 69 6c 65 2d 63 75 72 72  | rent-file).....byte-compile-curr | 
| 9840 |  65 6e 74 2d 66 69 6c 65 29 0a 20 20 20 28 3a 65    6c 73 65 20 28 62 75 66 66 65 72 2d 66 69 6c 65  | ent-file)....(:else.(buffer-file | 
| 9860 |  2d 6e 61 6d 65 29 29 29 29 0a 0a 28 64 65 66 76    61 72 20 66 2d 2d 70 61 74 68 2d 73 65 70 61 72  | -name))))..(defvar.f--path-separ | 
| 9880 |  61 74 6f 72 20 6e 69 6c 0a 20 20 22 41 20 76 61    72 69 61 62 6c 65 20 74 6f 20 63 61 63 68 65 20  | ator.nil..."A.variable.to.cache. | 
| 98a0 |  72 65 73 75 6c 74 20 6f 66 20 60 66 2d 70 61 74    68 2d 73 65 70 61 72 61 74 6f 72 27 2e 22 29 0a  | result.of.`f-path-separator'."). | 
| 98c0 |  0a 28 64 65 66 75 6e 20 66 2d 70 61 74 68 2d 73    65 70 61 72 61 74 6f 72 20 28 29 0a 20 20 22 52  | .(defun.f-path-separator.()..."R | 
| 98e0 |  65 74 75 72 6e 20 70 61 74 68 20 73 65 70 61 72    61 74 6f 72 2e 22 0a 20 20 28 6f 72 20 66 2d 2d  | eturn.path.separator."...(or.f-- | 
| 9900 |  70 61 74 68 2d 73 65 70 61 72 61 74 6f 72 0a 20    20 20 20 20 20 28 73 65 74 71 20 66 2d 2d 70 61  | path-separator.......(setq.f--pa | 
| 9920 |  74 68 2d 73 65 70 61 72 61 74 6f 72 20 28 73 75    62 73 74 72 69 6e 67 20 28 66 2d 6a 6f 69 6e 20  | th-separator.(substring.(f-join. | 
| 9940 |  22 78 22 20 22 79 22 29 20 31 20 32 29 29 29 29    0a 0a 28 64 65 66 75 6e 20 66 2d 67 6c 6f 62 20  | "x"."y").1.2))))..(defun.f-glob. | 
| 9960 |  28 70 61 74 74 65 72 6e 20 26 6f 70 74 69 6f 6e    61 6c 20 70 61 74 68 29 0a 20 20 22 46 69 6e 64  | (pattern.&optional.path)..."Find | 
| 9980 |  20 50 41 54 54 45 52 4e 20 69 6e 20 50 41 54 48    2e 22 0a 20 20 28 66 69 6c 65 2d 65 78 70 61 6e  | .PATTERN.in.PATH."...(file-expan | 
| 99a0 |  64 2d 77 69 6c 64 63 61 72 64 73 0a 20 20 20 28    66 2d 6a 6f 69 6e 20 28 6f 72 20 70 61 74 68 20  | d-wildcards....(f-join.(or.path. | 
| 99c0 |  64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72    79 29 20 70 61 74 74 65 72 6e 29 29 29 0a 0a 28  | default-directory).pattern)))..( | 
| 99e0 |  64 65 66 75 6e 20 66 2d 2d 63 6f 6c 6c 65 63 74    2d 65 6e 74 72 69 65 73 20 28 70 61 74 68 20 72  | defun.f--collect-entries.(path.r | 
| 9a00 |  65 63 75 72 73 69 76 65 29 0a 20 20 28 6c 65 74    20 28 72 65 73 75 6c 74 0a 20 20 20 20 20 20 20  | ecursive)...(let.(result........ | 
| 9a20 |  20 28 65 6e 74 72 69 65 73 0a 20 20 20 20 20 20    20 20 20 28 2d 72 65 6a 65 63 74 0a 20 20 20 20  | .(entries..........(-reject..... | 
| 9a40 |  20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 66    69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20  | ......(lambda.(file)............ | 
| 9a60 |  20 28 6d 65 6d 62 65 72 20 28 66 2d 66 69 6c 65    6e 61 6d 65 20 66 69 6c 65 29 20 27 28 22 2e 22  | .(member.(f-filename.file).'("." | 
| 9a80 |  20 22 2e 2e 22 29 29 29 0a 20 20 20 20 20 20 20    20 20 20 28 64 69 72 65 63 74 6f 72 79 2d 66 69  | ."..")))...........(directory-fi | 
| 9aa0 |  6c 65 73 20 70 61 74 68 20 74 29 29 29 29 0a 20    20 20 20 28 63 6f 6e 64 20 28 72 65 63 75 72 73  | les.path.t)))).....(cond.(recurs | 
| 9ac0 |  69 76 65 0a 20 20 20 20 20 20 20 20 20 20 20 28    6d 61 70 63 0a 20 20 20 20 20 20 20 20 20 20 20  | ive............(mapc............ | 
| 9ae0 |  20 28 6c 61 6d 62 64 61 20 28 65 6e 74 72 79 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28  | .(lambda.(entry)...............( | 
| 9b00 |  69 66 20 28 66 2d 66 69 6c 65 2d 70 20 65 6e 74    72 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  | if.(f-file-p.entry)............. | 
| 9b20 |  20 20 20 20 20 20 28 73 65 74 71 20 72 65 73 75    6c 74 20 28 63 6f 6e 73 20 65 6e 74 72 79 20 72  | ......(setq.result.(cons.entry.r | 
| 9b40 |  65 73 75 6c 74 29 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 66  | esult)).................(when.(f | 
| 9b60 |  2d 64 69 72 65 63 74 6f 72 79 2d 70 20 65 6e 74    72 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  | -directory-p.entry)............. | 
| 9b80 |  20 20 20 20 20 20 28 73 65 74 71 20 72 65 73 75    6c 74 20 28 63 6f 6e 73 20 65 6e 74 72 79 20 72  | ......(setq.result.(cons.entry.r | 
| 9ba0 |  65 73 75 6c 74 29 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 66  | esult))...................(if.(f | 
| 9bc0 |  2d 72 65 61 64 61 62 6c 65 2d 70 20 65 6e 74 72    79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  | -readable-p.entry).............. | 
| 9be0 |  20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 72    65 73 75 6c 74 20 28 61 70 70 65 6e 64 20 72 65  | .........(setq.result.(append.re | 
| 9c00 |  73 75 6c 74 20 28 66 2d 2d 63 6f 6c 6c 65 63 74    2d 65 6e 74 72 69 65 73 20 65 6e 74 72 79 20 72  | sult.(f--collect-entries.entry.r | 
| 9c20 |  65 63 75 72 73 69 76 65 29 29 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ecursive)))..................... | 
| 9c40 |  72 65 73 75 6c 74 29 29 29 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 65 6e 74 72 69 65 73 29 29  | result)))).............entries)) | 
| 9c60 |  0a 20 20 20 20 20 20 20 20 20 20 28 74 20 28 73    65 74 71 20 72 65 73 75 6c 74 20 65 6e 74 72 69  | ...........(t.(setq.result.entri | 
| 9c80 |  65 73 29 29 29 0a 20 20 20 20 72 65 73 75 6c 74    29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 66 2d  | es))).....result))..(defmacro.f- | 
| 9ca0 |  2d 65 6e 74 72 69 65 73 20 28 70 61 74 68 20 62    6f 64 79 20 26 6f 70 74 69 6f 6e 61 6c 20 72 65  | -entries.(path.body.&optional.re | 
| 9cc0 |  63 75 72 73 69 76 65 29 0a 20 20 22 41 6e 61 70    68 6f 72 69 63 20 76 65 72 73 69 6f 6e 20 6f 66  | cursive)..."Anaphoric.version.of | 
| 9ce0 |  20 60 66 2d 65 6e 74 72 69 65 73 27 2e 22 0a 20    20 60 28 66 2d 65 6e 74 72 69 65 73 0a 20 20 20  | .`f-entries'."...`(f-entries.... | 
| 9d00 |  20 2c 70 61 74 68 0a 20 20 20 20 28 6c 61 6d 62    64 61 20 28 70 61 74 68 29 0a 20 20 20 20 20 20  | .,path.....(lambda.(path)....... | 
| 9d20 |  28 6c 65 74 20 28 28 69 74 20 70 61 74 68 29 29    0a 20 20 20 20 20 20 20 20 2c 62 6f 64 79 29 29  | (let.((it.path)).........,body)) | 
| 9d40 |  0a 20 20 20 20 2c 72 65 63 75 72 73 69 76 65 29    29 0a 0a 28 64 65 66 75 6e 20 66 2d 65 6e 74 72  | .....,recursive))..(defun.f-entr | 
| 9d60 |  69 65 73 20 28 70 61 74 68 20 26 6f 70 74 69 6f    6e 61 6c 20 66 6e 20 72 65 63 75 72 73 69 76 65  | ies.(path.&optional.fn.recursive | 
| 9d80 |  29 0a 20 20 22 46 69 6e 64 20 61 6c 6c 20 66 69    6c 65 73 20 61 6e 64 20 64 69 72 65 63 74 6f 72  | )..."Find.all.files.and.director | 
| 9da0 |  69 65 73 20 69 6e 20 50 41 54 48 2e 0a 0a 46 4e    20 2d 20 63 61 6c 6c 65 64 20 66 6f 72 20 65 61  | ies.in.PATH...FN.-.called.for.ea | 
| 9dc0 |  63 68 20 66 6f 75 6e 64 20 66 69 6c 65 20 61 6e    64 20 64 69 72 65 63 74 6f 72 79 2e 20 20 49 66  | ch.found.file.and.directory...If | 
| 9de0 |  20 46 4e 20 72 65 74 75 72 6e 73 20 61 20 74 68    72 75 74 68 79 0a 76 61 6c 75 65 2c 20 66 69 6c  | .FN.returns.a.thruthy.value,.fil | 
| 9e00 |  65 20 6f 72 20 64 69 72 65 63 74 6f 72 79 20 77    69 6c 6c 20 62 65 20 69 6e 63 6c 75 64 65 64 2e  | e.or.directory.will.be.included. | 
| 9e20 |  0a 52 45 43 55 52 53 49 56 45 20 2d 20 53 65 61    72 63 68 20 66 6f 72 20 66 69 6c 65 73 20 61 6e  | .RECURSIVE.-.Search.for.files.an | 
| 9e40 |  64 20 64 69 72 65 63 74 6f 72 69 65 73 20 72 65    63 75 72 73 69 76 65 2e 22 0a 20 20 28 6c 65 74  | d.directories.recursive."...(let | 
| 9e60 |  20 28 28 65 6e 74 72 69 65 73 20 28 66 2d 2d 63    6f 6c 6c 65 63 74 2d 65 6e 74 72 69 65 73 20 70  | .((entries.(f--collect-entries.p | 
| 9e80 |  61 74 68 20 72 65 63 75 72 73 69 76 65 29 29 29    0a 20 20 20 20 28 69 66 20 66 6e 20 28 2d 73 65  | ath.recursive))).....(if.fn.(-se | 
| 9ea0 |  6c 65 63 74 20 66 6e 20 65 6e 74 72 69 65 73 29    20 65 6e 74 72 69 65 73 29 29 29 0a 0a 28 64 65  | lect.fn.entries).entries)))..(de | 
| 9ec0 |  66 6d 61 63 72 6f 20 66 2d 2d 64 69 72 65 63 74    6f 72 69 65 73 20 28 70 61 74 68 20 62 6f 64 79  | fmacro.f--directories.(path.body | 
| 9ee0 |  20 26 6f 70 74 69 6f 6e 61 6c 20 72 65 63 75 72    73 69 76 65 29 0a 20 20 22 41 6e 61 70 68 6f 72  | .&optional.recursive)..."Anaphor | 
| 9f00 |  69 63 20 76 65 72 73 69 6f 6e 20 6f 66 20 60 66    2d 64 69 72 65 63 74 6f 72 69 65 73 27 2e 22 0a  | ic.version.of.`f-directories'.". | 
| 9f20 |  20 20 60 28 66 2d 64 69 72 65 63 74 6f 72 69 65    73 0a 20 20 20 20 2c 70 61 74 68 0a 20 20 20 20  | ..`(f-directories.....,path..... | 
| 9f40 |  28 6c 61 6d 62 64 61 20 28 70 61 74 68 29 0a 20    20 20 20 20 20 28 6c 65 74 20 28 28 69 74 20 70  | (lambda.(path).......(let.((it.p | 
| 9f60 |  61 74 68 29 29 0a 20 20 20 20 20 20 20 20 2c 62    6f 64 79 29 29 0a 20 20 20 20 2c 72 65 63 75 72  | ath)).........,body)).....,recur | 
| 9f80 |  73 69 76 65 29 29 0a 0a 28 64 65 66 75 6e 20 66    2d 64 69 72 65 63 74 6f 72 69 65 73 20 28 70 61  | sive))..(defun.f-directories.(pa | 
| 9fa0 |  74 68 20 26 6f 70 74 69 6f 6e 61 6c 20 66 6e 20    72 65 63 75 72 73 69 76 65 29 0a 20 20 22 46 69  | th.&optional.fn.recursive)..."Fi | 
| 9fc0 |  6e 64 20 61 6c 6c 20 64 69 72 65 63 74 6f 72 69    65 73 20 69 6e 20 50 41 54 48 2e 20 20 53 65 65  | nd.all.directories.in.PATH...See | 
| 9fe0 |  20 60 66 2d 65 6e 74 72 69 65 73 27 2e 22 0a 20    20 28 6c 65 74 20 28 28 64 69 72 65 63 74 6f 72  | .`f-entries'."...(let.((director | 
| a000 |  69 65 73 20 28 2d 73 65 6c 65 63 74 20 27 66 2d    64 69 72 65 63 74 6f 72 79 2d 70 20 28 66 2d 2d  | ies.(-select.'f-directory-p.(f-- | 
| a020 |  63 6f 6c 6c 65 63 74 2d 65 6e 74 72 69 65 73 20    70 61 74 68 20 72 65 63 75 72 73 69 76 65 29 29  | collect-entries.path.recursive)) | 
| a040 |  29 29 0a 20 20 20 20 28 69 66 20 66 6e 20 28 2d    73 65 6c 65 63 74 20 66 6e 20 64 69 72 65 63 74  | )).....(if.fn.(-select.fn.direct | 
| a060 |  6f 72 69 65 73 29 20 64 69 72 65 63 74 6f 72 69    65 73 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f  | ories).directories)))..(defmacro | 
| a080 |  20 66 2d 2d 66 69 6c 65 73 20 28 70 61 74 68 20    62 6f 64 79 20 26 6f 70 74 69 6f 6e 61 6c 20 72  | .f--files.(path.body.&optional.r | 
| a0a0 |  65 63 75 72 73 69 76 65 29 0a 20 20 22 41 6e 61    70 68 6f 72 69 63 20 76 65 72 73 69 6f 6e 20 6f  | ecursive)..."Anaphoric.version.o | 
| a0c0 |  66 20 60 66 2d 66 69 6c 65 73 27 2e 22 0a 20 20    60 28 66 2d 66 69 6c 65 73 0a 20 20 20 20 2c 70  | f.`f-files'."...`(f-files.....,p | 
| a0e0 |  61 74 68 0a 20 20 20 20 28 6c 61 6d 62 64 61 20    28 70 61 74 68 29 0a 20 20 20 20 20 20 28 6c 65  | ath.....(lambda.(path).......(le | 
| a100 |  74 20 28 28 69 74 20 70 61 74 68 29 29 0a 20 20    20 20 20 20 20 20 2c 62 6f 64 79 29 29 0a 20 20  | t.((it.path)).........,body))... | 
| a120 |  20 20 2c 72 65 63 75 72 73 69 76 65 29 29 0a 0a    28 64 65 66 75 6e 20 66 2d 66 69 6c 65 73 20 28  | ..,recursive))..(defun.f-files.( | 
| a140 |  70 61 74 68 20 26 6f 70 74 69 6f 6e 61 6c 20 66    6e 20 72 65 63 75 72 73 69 76 65 29 0a 20 20 22  | path.&optional.fn.recursive)..." | 
| a160 |  46 69 6e 64 20 61 6c 6c 20 66 69 6c 65 73 20 69    6e 20 50 41 54 48 2e 20 20 53 65 65 20 60 66 2d  | Find.all.files.in.PATH...See.`f- | 
| a180 |  65 6e 74 72 69 65 73 27 2e 22 0a 20 20 28 6c 65    74 20 28 28 66 69 6c 65 73 20 28 2d 73 65 6c 65  | entries'."...(let.((files.(-sele | 
| a1a0 |  63 74 20 27 66 2d 66 69 6c 65 2d 70 20 28 66 2d    2d 63 6f 6c 6c 65 63 74 2d 65 6e 74 72 69 65 73  | ct.'f-file-p.(f--collect-entries | 
| a1c0 |  20 70 61 74 68 20 72 65 63 75 72 73 69 76 65 29    29 29 29 0a 20 20 20 20 28 69 66 20 66 6e 20 28  | .path.recursive)))).....(if.fn.( | 
| a1e0 |  2d 73 65 6c 65 63 74 20 66 6e 20 66 69 6c 65 73    29 20 66 69 6c 65 73 29 29 29 0a 0a 28 64 65 66  | -select.fn.files).files)))..(def | 
| a200 |  6d 61 63 72 6f 20 66 2d 2d 74 72 61 76 65 72 73    65 2d 75 70 77 61 72 64 73 20 28 62 6f 64 79 20  | macro.f--traverse-upwards.(body. | 
| a220 |  26 6f 70 74 69 6f 6e 61 6c 20 70 61 74 68 29 0a    20 20 22 41 6e 61 70 68 6f 72 69 63 20 76 65 72  | &optional.path)..."Anaphoric.ver | 
| a240 |  73 69 6f 6e 20 6f 66 20 60 66 2d 74 72 61 76 65    72 73 65 2d 75 70 77 61 72 64 73 27 2e 22 0a 20  | sion.of.`f-traverse-upwards'.".. | 
| a260 |  20 60 28 66 2d 74 72 61 76 65 72 73 65 2d 75 70    77 61 72 64 73 0a 20 20 20 20 28 6c 61 6d 62 64  | .`(f-traverse-upwards.....(lambd | 
| a280 |  61 20 28 64 69 72 29 0a 20 20 20 20 20 20 28 6c    65 74 20 28 28 69 74 20 64 69 72 29 29 0a 20 20  | a.(dir).......(let.((it.dir))... | 
| a2a0 |  20 20 20 20 20 20 2c 62 6f 64 79 29 29 0a 20 20    20 20 2c 70 61 74 68 29 29 0a 0a 28 64 65 66 75  | ......,body)).....,path))..(defu | 
| a2c0 |  6e 20 66 2d 74 72 61 76 65 72 73 65 2d 75 70 77    61 72 64 73 20 28 66 6e 20 26 6f 70 74 69 6f 6e  | n.f-traverse-upwards.(fn.&option | 
| a2e0 |  61 6c 20 70 61 74 68 29 0a 20 20 22 54 72 61 76    65 72 73 65 20 75 70 20 61 73 20 6c 6f 6e 67 20  | al.path)..."Traverse.up.as.long. | 
| a300 |  61 73 20 46 4e 20 72 65 74 75 72 6e 20 6e 69 6c    2c 20 73 74 61 72 74 69 6e 67 20 61 74 20 50 41  | as.FN.return.nil,.starting.at.PA | 
| a320 |  54 48 2e 0a 0a 49 66 20 46 4e 20 72 65 74 75 72    6e 73 20 61 20 6e 6f 6e 2d 6e 69 6c 20 76 61 6c  | TH...If.FN.returns.a.non-nil.val | 
| a340 |  75 65 2c 20 74 68 65 20 70 61 74 68 20 73 65 6e    74 20 61 73 20 61 72 67 75 6d 65 6e 74 20 74 6f  | ue,.the.path.sent.as.argument.to | 
| a360 |  20 46 4e 20 69 73 0a 72 65 74 75 72 6e 65 64 2e    20 20 49 66 20 6e 6f 20 66 75 6e 63 74 69 6f 6e  | .FN.is.returned...If.no.function | 
| a380 |  20 63 61 6c 6c 62 61 63 6b 20 72 65 74 75 72 6e    20 61 20 6e 6f 6e 2d 6e 69 6c 20 76 61 6c 75 65  | .callback.return.a.non-nil.value | 
| a3a0 |  2c 20 6e 69 6c 20 69 73 0a 72 65 74 75 72 6e 65    64 2e 22 0a 20 20 28 75 6e 6c 65 73 73 20 70 61  | ,.nil.is.returned."...(unless.pa | 
| a3c0 |  74 68 0a 20 20 20 20 28 73 65 74 71 20 70 61 74    68 20 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74  | th.....(setq.path.default-direct | 
| a3e0 |  6f 72 79 29 29 0a 20 20 28 77 68 65 6e 20 28 66    2d 72 65 6c 61 74 69 76 65 2d 70 20 70 61 74 68  | ory))...(when.(f-relative-p.path | 
| a400 |  29 0a 20 20 20 20 28 73 65 74 71 20 70 61 74 68    20 28 66 2d 65 78 70 61 6e 64 20 70 61 74 68 29  | ).....(setq.path.(f-expand.path) | 
| a420 |  29 29 0a 20 20 28 69 66 20 28 66 75 6e 63 61 6c    6c 20 66 6e 20 70 61 74 68 29 0a 20 20 20 20 20  | ))...(if.(funcall.fn.path)...... | 
| a440 |  20 70 61 74 68 0a 20 20 20 20 28 75 6e 6c 65 73    73 20 28 66 2d 72 6f 6f 74 2d 70 20 70 61 74 68  | .path.....(unless.(f-root-p.path | 
| a460 |  29 0a 20 20 20 20 20 20 28 66 2d 74 72 61 76 65    72 73 65 2d 75 70 77 61 72 64 73 20 66 6e 20 28  | ).......(f-traverse-upwards.fn.( | 
| a480 |  66 2d 70 61 72 65 6e 74 20 70 61 74 68 29 29 29    29 29 0a 0a 28 64 65 66 75 6e 20 66 2d 72 6f 6f  | f-parent.path)))))..(defun.f-roo | 
| a4a0 |  74 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 61    62 73 6f 6c 75 74 65 20 72 6f 6f 74 2e 22 0a 20  | t.()..."Return.absolute.root.".. | 
| a4c0 |  20 28 66 2d 74 72 61 76 65 72 73 65 2d 75 70 77    61 72 64 73 20 27 66 2d 72 6f 6f 74 2d 70 29 29  | .(f-traverse-upwards.'f-root-p)) | 
| a4e0 |  0a 0a 28 64 65 66 6d 61 63 72 6f 20 66 2d 77 69    74 68 2d 73 61 6e 64 62 6f 78 20 28 70 61 74 68  | ..(defmacro.f-with-sandbox.(path | 
| a500 |  2d 6f 72 2d 70 61 74 68 73 20 26 72 65 73 74 20    62 6f 64 79 29 0a 20 20 22 4f 6e 6c 79 20 61 6c  | -or-paths.&rest.body)..."Only.al | 
| a520 |  6c 6f 77 20 50 41 54 48 2d 4f 52 2d 50 41 54 48    53 20 61 6e 64 20 64 65 73 63 65 6e 64 61 6e 74  | low.PATH-OR-PATHS.and.descendant | 
| a540 |  73 20 74 6f 20 62 65 20 6d 6f 64 69 66 69 65 64    20 69 6e 20 42 4f 44 59 2e 22 0a 20 20 28 64 65  | s.to.be.modified.in.BODY."...(de | 
| a560 |  63 6c 61 72 65 20 28 69 6e 64 65 6e 74 20 31 29    29 0a 20 20 60 28 6c 65 74 20 28 28 70 61 74 68  | clare.(indent.1))...`(let.((path | 
| a580 |  73 20 28 69 66 20 28 6c 69 73 74 70 20 2c 70 61    74 68 2d 6f 72 2d 70 61 74 68 73 29 0a 20 20 20  | s.(if.(listp.,path-or-paths).... | 
| a5a0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 2c 70 61 74 68 2d 6f 72 2d 70 61 74 68 73 0a  | .................,path-or-paths. | 
| a5c0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 6c 69 73 74 20 2c 70 61 74 68 2d 6f 72  | ..................(list.,path-or | 
| a5e0 |  2d 70 61 74 68 73 29 29 29 29 0a 20 20 20 20 20    28 75 6e 77 69 6e 64 2d 70 72 6f 74 65 63 74 0a  | -paths))))......(unwind-protect. | 
| a600 |  20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28    66 2d 2d 67 75 61 72 64 2d 70 61 74 68 73 20 70  | .........(let.((f--guard-paths.p | 
| a620 |  61 74 68 73 29 29 0a 20 20 20 20 20 20 20 20 20    20 20 2c 40 62 6f 64 79 29 0a 20 20 20 20 20 20  | aths))............,@body)....... | 
| a640 |  20 28 73 65 74 71 20 66 2d 2d 67 75 61 72 64 2d    70 61 74 68 73 20 6e 69 6c 29 29 29 29 0a 0a 28  | .(setq.f--guard-paths.nil))))..( | 
| a660 |  70 72 6f 76 69 64 65 20 27 66 29 0a 0a 3b 3b 3b    20 66 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a  | provide.'f)..;;;.f.el.ends.here. | 
| a680 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| a6a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| a6c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| a6e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| a700 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| a720 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| a740 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| a760 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| a780 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| a7a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| a7c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| a7e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| a800 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| a820 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| a840 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| a860 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| a880 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| a8a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| a8c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| a8e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| a900 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| a920 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| a940 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| a960 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| a980 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| a9a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| a9c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| a9e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| aa00 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| aa20 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| aa40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| aa60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| aa80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| aaa0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| aac0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| aae0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| ab00 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| ab20 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| ab40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| ab60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| ab80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| aba0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| abc0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| abe0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| ac00 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| ac20 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| ac40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| ac60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| ac80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| aca0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| acc0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| ace0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| ad00 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| ad20 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| ad40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| ad60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| ad80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| ada0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| adc0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| ade0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| ae00 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| ae20 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| ae40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| ae60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| ae80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| aea0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| aec0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| aee0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| af00 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| af20 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| af40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| af60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| af80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| afa0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| afc0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| afe0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b000 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b020 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b040 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b060 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b080 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b0a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b0c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b0e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b100 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b120 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b140 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b160 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b180 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b1a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b1c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b1e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b200 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b220 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b240 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b260 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b280 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b2a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b2c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b2e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b300 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b320 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b340 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b360 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b380 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b3a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b3c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b3e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b400 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b420 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b440 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b460 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b480 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b4a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b4c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b4e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b500 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b520 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b540 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b560 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b580 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b5a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b5c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b5e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b600 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b620 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b640 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b660 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b680 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b6a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b6c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b6e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b700 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b720 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b740 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b760 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b780 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b7a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b7c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b7e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b800 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b820 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b840 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b860 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b880 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b8a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b8c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b8e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b900 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b920 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b940 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b960 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b980 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b9a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b9c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| b9e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| ba00 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| ba20 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| ba40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| ba60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| ba80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| baa0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| bac0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| bae0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| bb00 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| bb20 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| bb40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| bb60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| bb80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| bba0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| bbc0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| bbe0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| bc00 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| bc20 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| bc40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| bc60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| bc80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| bca0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| bcc0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| bce0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| bd00 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| bd20 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| bd40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| bd60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| bd80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| bda0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| bdc0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| bde0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| be00 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| be20 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| be40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| be60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| be80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| bea0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| bec0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| bee0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| bf00 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| bf20 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| bf40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| bf60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| bf80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| bfa0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| bfc0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| bfe0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| c000 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| c020 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| c040 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| c060 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| c080 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| c0a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| c0c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| c0e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| c100 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| c120 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| c140 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| c160 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| c180 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| c1a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| c1c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| c1e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| c200 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| c220 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| c240 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| c260 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| c280 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| c2a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| c2c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| c2e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| c300 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| c320 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| c340 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| c360 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| c380 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| c3a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| c3c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| c3e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| c400 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| c420 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| c440 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| c460 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| c480 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| c4a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| c4c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| c4e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| c500 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| c520 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| c540 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| c560 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| c580 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| c5a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| c5c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| c5e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| c600 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| c620 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| c640 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| c660 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| c680 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| c6a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| c6c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| c6e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| c700 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| c720 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| c740 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| c760 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| c780 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| c7a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| c7c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| c7e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ |