| ofs | hex dump | ascii | 
|---|
| 0000 |  66 2d 32 30 32 34 30 33 30 38 2e 39 30 36 2f 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | f-20240308.906/................. | 
| 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 31 35 37 00 20 35 00 00 00  | 0000000.00000000000.011157..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 30 33 30 38 2e 39 30 36 2f 66    2d 73 68 6f 72 74 64 6f 63 2e 65 6c 00 00 00 00  | f-20240308.906/f-shortdoc.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 33 33 37 32 30 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 33 35 35 36 00 20 30 00 00 00  | 0033720.00000000000.013556..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 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 | 
| 0420 |  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;. | 
| 0440 |  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 | 
| 0460 |  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 | 
| 0480 |  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 | 
| 04a0 |  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 | 
| 04c0 |  72 61 6b 2e 63 6f 6d 3e 0a 3b 3b 20 56 65 72 73    69 6f 6e 3a 20 30 2e 31 2e 30 0a 3b 3b 20 50 61  | rak.com>.;;.Version:.0.1.0.;;.Pa | 
| 04e0 |  63 6b 61 67 65 2d 52 65 71 75 69 72 65 73 3a 20    28 28 65 6d 61 63 73 20 22 32 38 2e 31 22 29 29  | ckage-Requires:.((emacs."28.1")) | 
| 0500 |  0a 3b 3b 20 48 6f 6d 65 70 61 67 65 3a 20 68 74    74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d  | .;;.Homepage:.https://github.com | 
| 0520 |  2f 72 65 6a 65 65 70 2f 66 2e 65 6c 0a 0a 3b 3b    20 54 68 69 73 20 66 69 6c 65 20 69 73 20 6e 6f  | /rejeep/f.el..;;.This.file.is.no | 
| 0540 |  74 20 70 61 72 74 20 6f 66 20 47 4e 55 20 45 6d    61 63 73 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f  | t.part.of.GNU.Emacs..;;.This.pro | 
| 0560 |  67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66    74 77 61 72 65 3a 20 79 6f 75 20 63 61 6e 20 72  | gram.is.free.software:.you.can.r | 
| 0580 |  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 3b 3b 20  | edistribute.it.and/or.modify.;;. | 
| 05a0 |  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 20 47 65  | it.under.the.terms.of.the.GNU.Ge | 
| 05c0 |  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 73 68 65  | neral.Public.License.as.publishe | 
| 05e0 |  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 6e 64 61  | d.by.;;.the.Free.Software.Founda | 
| 0600 |  74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72    73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20 4c 69  | tion,.either.version.3.of.the.Li | 
| 0620 |  63 65 6e 73 65 2c 20 6f 72 0a 3b 3b 20 28 61 74    20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e  | cense,.or.;;.(at.your.option).an | 
| 0640 |  79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e    0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61  | y.later.version...;;.This.progra | 
| 0660 |  6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64    20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61  | m.is.distributed.in.the.hope.tha | 
| 0680 |  74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65    66 75 6c 2c 0a 3b 3b 20 62 75 74 20 57 49 54 48  | t.it.will.be.useful,.;;.but.WITH | 
| 06a0 |  4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59    3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74  | OUT.ANY.WARRANTY;.without.even.t | 
| 06c0 |  68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61    6e 74 79 20 6f 66 0a 3b 3b 20 4d 45 52 43 48 41  | he.implied.warranty.of.;;.MERCHA | 
| 06e0 |  4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54    4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49  | NTABILITY.or.FITNESS.FOR.A.PARTI | 
| 0700 |  43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20    53 65 65 20 74 68 65 0a 3b 3b 20 47 4e 55 20 47  | CULAR.PURPOSE...See.the.;;.GNU.G | 
| 0720 |  65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69    63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64  | eneral.Public.License.for.more.d | 
| 0740 |  65 74 61 69 6c 73 2e 0a 0a 3b 3b 20 59 6f 75 20    73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65  | etails...;;.You.should.have.rece | 
| 0760 |  69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74    68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50  | ived.a.copy.of.the.GNU.General.P | 
| 0780 |  75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 3b 3b    20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73  | ublic.License.;;.along.with.this | 
| 07a0 |  20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f    74 2c 20 73 65 65 20 3c 68 74 74 70 73 3a 2f 2f  | .program...If.not,.see.<https:// | 
| 07c0 |  77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65    6e 73 65 73 2f 3e 2e 0a 0a 0a 3b 3b 3b 20 43 6f  | www.gnu.org/licenses/>....;;;.Co | 
| 07e0 |  6d 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b 20 53 68    6f 72 74 64 6f 63 20 69 6d 70 6c 65 6d 65 6e 74  | mmentary:..;;.Shortdoc.implement | 
| 0800 |  61 74 69 6f 6e 20 66 6f 72 20 66 2e 65 6c 0a 0a    3b 3b 3b 20 43 6f 64 65 3a 0a 0a 28 77 68 65 6e  | ation.for.f.el..;;;.Code:..(when | 
| 0820 |  20 28 76 65 72 73 69 6f 6e 3c 3d 20 22 32 38 2e    31 22 20 65 6d 61 63 73 2d 76 65 72 73 69 6f 6e  | .(version<=."28.1".emacs-version | 
| 0840 |  29 0a 20 20 28 72 65 71 75 69 72 65 20 27 73 68    6f 72 74 64 6f 63 29 0a 0a 20 20 28 64 65 66 69  | )...(require.'shortdoc)....(defi | 
| 0860 |  6e 65 2d 73 68 6f 72 74 2d 64 6f 63 75 6d 65 6e    74 61 74 69 6f 6e 2d 67 72 6f 75 70 20 66 0a 20  | ne-short-documentation-group.f.. | 
| 0880 |  20 20 20 22 50 61 74 68 73 22 0a 20 20 20 20 28    66 2d 6a 6f 69 6e 0a 20 20 20 20 20 3a 65 76 61  | ..."Paths".....(f-join......:eva | 
| 08a0 |  6c 20 28 66 2d 6a 6f 69 6e 20 22 70 61 74 68 22    29 0a 20 20 20 20 20 3a 65 76 61 6c 20 28 66 2d  | l.(f-join."path")......:eval.(f- | 
| 08c0 |  6a 6f 69 6e 20 22 70 61 74 68 22 20 22 74 6f 22    29 0a 20 20 20 20 20 3a 65 76 61 6c 20 28 66 2d  | join."path"."to")......:eval.(f- | 
| 08e0 |  6a 6f 69 6e 20 22 2f 22 20 22 70 61 74 68 22 20    22 74 6f 22 20 22 68 65 61 76 65 6e 22 29 0a 20  | join."/"."path"."to"."heaven").. | 
| 0900 |  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 2f 74 6f 22 20 22  | ....:eval.(f-join."path"."/to"." | 
| 0920 |  66 69 6c 65 22 29 29 0a 0a 20 20 20 20 28 66 2d    73 70 6c 69 74 0a 20 20 20 20 20 3a 65 76 61 6c  | file"))......(f-split......:eval | 
| 0940 |  20 28 66 2d 73 70 6c 69 74 20 22 70 61 74 68 22    29 0a 20 20 20 20 20 3a 65 76 61 6c 20 28 66 2d  | .(f-split."path")......:eval.(f- | 
| 0960 |  73 70 6c 69 74 20 22 70 61 74 68 2f 74 6f 22 29    0a 20 20 20 20 20 3a 65 76 61 6c 20 28 66 2d 73  | split."path/to")......:eval.(f-s | 
| 0980 |  70 6c 69 74 20 22 2f 70 61 74 68 2f 74 6f 2f 68    65 61 76 65 6e 22 29 0a 20 20 20 20 20 3a 65 76  | plit."/path/to/heaven")......:ev | 
| 09a0 |  61 6c 20 28 66 2d 73 70 6c 69 74 20 22 7e 2f 62    61 63 6b 2f 74 6f 2f 65 61 72 74 68 22 29 29 0a  | al.(f-split."~/back/to/earth")). | 
| 09c0 |  0a 20 20 20 20 28 66 2d 65 78 70 61 6e 64 0a 20    20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d  | .....(f-expand......:no-eval.(f- | 
| 09e0 |  65 78 70 61 6e 64 20 22 6e 61 6d 65 22 29 0a 20    20 20 20 20 3a 72 65 73 75 6c 74 2d 73 74 72 69  | expand."name")......:result-stri | 
| 0a00 |  6e 67 20 22 2f 64 65 66 61 75 6c 74 2f 64 69 72    65 63 74 6f 72 79 2f 6e 61 6d 65 22 0a 20 20 20  | ng."/default/directory/name".... | 
| 0a20 |  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 20 22 6f 74 68  | ..:no-eval.(f-expand."name"."oth | 
| 0a40 |  65 72 2f 64 69 72 65 63 74 6f 72 79 22 29 0a 20    20 20 20 20 3a 72 65 73 75 6c 74 2d 73 74 72 69  | er/directory")......:result-stri | 
| 0a60 |  6e 67 20 22 6f 74 68 65 72 2f 64 69 72 65 63 74    6f 72 79 2f 6e 61 6d 65 22 29 0a 0a 20 20 20 20  | ng."other/directory/name")...... | 
| 0a80 |  28 66 2d 66 69 6c 65 6e 61 6d 65 0a 20 20 20 20    20 3a 65 76 61 6c 20 28 66 2d 66 69 6c 65 6e 61  | (f-filename......:eval.(f-filena | 
| 0aa0 |  6d 65 20 22 70 61 74 68 2f 74 6f 2f 66 69 6c 65    2e 65 78 74 22 29 0a 20 20 20 20 20 3a 65 76 61  | me."path/to/file.ext")......:eva | 
| 0ac0 |  6c 20 28 66 2d 66 69 6c 65 6e 61 6d 65 20 22 70    61 74 68 2f 74 6f 2f 64 69 72 65 63 74 6f 72 79  | l.(f-filename."path/to/directory | 
| 0ae0 |  22 29 29 0a 0a 20 20 20 20 28 66 2d 64 69 72 6e    61 6d 65 0a 20 20 20 20 20 3a 65 76 61 6c 20 28  | "))......(f-dirname......:eval.( | 
| 0b00 |  66 2d 64 69 72 6e 61 6d 65 20 22 70 61 74 68 2f    74 6f 2f 66 69 6c 65 2e 65 78 74 22 29 0a 20 20  | f-dirname."path/to/file.ext")... | 
| 0b20 |  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 2f 64 69 72  | ...:eval.(f-dirname."path/to/dir | 
| 0b40 |  65 63 74 6f 72 79 22 29 0a 20 20 20 20 20 3a 65    76 61 6c 20 28 66 2d 64 69 72 6e 61 6d 65 20 22  | ectory")......:eval.(f-dirname." | 
| 0b60 |  2f 22 29 29 0a 0a 20 20 20 20 28 66 2d 63 6f 6d    6d 6f 6e 2d 70 61 72 65 6e 74 0a 20 20 20 20 20  | /"))......(f-common-parent...... | 
| 0b80 |  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 6f 6f 2f 62 61  | :eval.(f-common-parent.'("foo/ba | 
| 0ba0 |  72 2f 62 61 7a 22 20 22 66 6f 6f 2f 62 61 72 2f    71 75 78 22 20 22 66 6f 6f 2f 62 61 72 2f 6d 75  | r/baz"."foo/bar/qux"."foo/bar/mu | 
| 0bc0 |  78 22 29 29 0a 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  | x"))......:eval.(f-common-parent | 
| 0be0 |  20 27 28 22 2f 66 6f 6f 2f 62 61 72 2f 62 61 7a    22 20 22 2f 66 6f 6f 2f 62 61 72 2f 71 75 78 22  | .'("/foo/bar/baz"."/foo/bar/qux" | 
| 0c00 |  20 22 2f 66 6f 6f 2f 62 61 78 2f 6d 75 78 22 29    29 0a 20 20 20 20 20 3a 65 76 61 6c 20 28 66 2d  | ."/foo/bax/mux"))......:eval.(f- | 
| 0c20 |  63 6f 6d 6d 6f 6e 2d 70 61 72 65 6e 74 20 27 28    22 66 6f 6f 2f 62 61 72 2f 62 61 7a 22 20 22 71  | common-parent.'("foo/bar/baz"."q | 
| 0c40 |  75 61 63 6b 2f 62 61 72 2f 71 75 78 22 20 22 6c    61 63 6b 2f 62 61 72 2f 6d 75 78 22 29 29 29 0a  | uack/bar/qux"."lack/bar/mux"))). | 
| 0c60 |  0a 20 20 20 20 28 66 2d 65 78 74 0a 20 20 20 20    20 3a 65 76 61 6c 20 28 66 2d 65 78 74 20 22 70  | .....(f-ext......:eval.(f-ext."p | 
| 0c80 |  61 74 68 2f 74 6f 2f 66 69 6c 65 22 29 0a 20 20    20 20 20 3a 65 76 61 6c 20 28 66 2d 65 78 74 20  | ath/to/file")......:eval.(f-ext. | 
| 0ca0 |  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 65 76 61 6c 20 28  | "path/to/file.txt")......:eval.( | 
| 0cc0 |  66 2d 65 78 74 20 22 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  | f-ext."path/to/file.txt.org")).. | 
| 0ce0 |  20 20 20 20 28 66 2d 6e 6f 2d 65 78 74 0a 20 20    20 20 20 3a 65 76 61 6c 20 28 66 2d 6e 6f 2d 65  | ....(f-no-ext......:eval.(f-no-e | 
| 0d00 |  78 74 20 22 70 61 74 68 2f 74 6f 2f 66 69 6c 65    22 29 0a 20 20 20 20 20 3a 65 76 61 6c 20 28 66  | xt."path/to/file")......:eval.(f | 
| 0d20 |  2d 6e 6f 2d 65 78 74 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  | -no-ext."path/to/file.txt")..... | 
| 0d40 |  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 2e 74  | .:eval.(f-no-ext."path/to/file.t | 
| 0d60 |  78 74 2e 6f 72 67 22 29 29 0a 0a 20 20 20 20 28    66 2d 73 77 61 70 2d 65 78 74 0a 20 20 20 20 20  | xt.org"))......(f-swap-ext...... | 
| 0d80 |  3a 65 76 61 6c 20 28 66 2d 73 77 61 70 2d 65 78    74 20 22 70 61 74 68 2f 74 6f 2f 66 69 6c 65 2e  | :eval.(f-swap-ext."path/to/file. | 
| 0da0 |  65 78 74 22 20 22 6f 72 67 22 29 29 0a 0a 20 20    20 20 28 66 2d 62 61 73 65 0a 20 20 20 20 20 3a  | ext"."org"))......(f-base......: | 
| 0dc0 |  65 76 61 6c 20 28 66 2d 62 61 73 65 20 22 70 61    74 68 2f 74 6f 2f 66 69 6c 65 2e 65 78 74 22 29  | eval.(f-base."path/to/file.ext") | 
| 0de0 |  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 2f 74 6f 2f 64 69 72  | ......:eval.(f-base."path/to/dir | 
| 0e00 |  65 63 74 6f 72 79 22 29 29 0a 0a 20 20 20 20 28    66 2d 72 65 6c 61 74 69 76 65 0a 20 20 20 20 20  | ectory"))......(f-relative...... | 
| 0e20 |  3a 65 76 61 6c 20 28 66 2d 72 65 6c 61 74 69 76    65 20 22 2f 73 6f 6d 65 2f 70 61 74 68 2f 72 65  | :eval.(f-relative."/some/path/re | 
| 0e40 |  6c 61 74 69 76 65 2f 74 6f 2f 6d 79 2f 66 69 6c    65 2e 74 78 74 22 20 22 2f 73 6f 6d 65 2f 70 61  | lative/to/my/file.txt"."/some/pa | 
| 0e60 |  74 68 2f 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 20 22 2f 64  | th/")......:eval.(f-relative."/d | 
| 0e80 |  65 66 61 75 6c 74 2f 64 69 72 65 63 74 6f 72 79    2f 6d 79 2f 66 69 6c 65 2e 74 78 74 22 29 29 0a  | efault/directory/my/file.txt")). | 
| 0ea0 |  0a 20 20 20 20 28 66 2d 73 68 6f 72 74 0a 20 20    20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d 73  | .....(f-short......:no-eval.(f-s | 
| 0ec0 |  68 6f 72 74 20 22 2f 55 73 65 72 73 2f 66 6f 6f    2f 43 6f 64 65 2f 6f 6e 2f 6d 61 63 4f 53 22 29  | hort."/Users/foo/Code/on/macOS") | 
| 0ee0 |  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 64 65 2f 6f 6e 2f  | ......:result-string."~/Code/on/ | 
| 0f00 |  6d 61 63 4f 53 22 0a 20 20 20 20 20 3a 6e 6f 2d    65 76 61 6c 20 28 66 2d 73 68 6f 72 74 20 22 2f  | macOS"......:no-eval.(f-short."/ | 
| 0f20 |  68 6f 6d 65 2f 66 6f 6f 2f 43 6f 64 65 2f 6f 6e    2f 6c 69 6e 75 78 22 29 0a 20 20 20 20 20 3a 72  | home/foo/Code/on/linux")......:r | 
| 0f40 |  65 73 75 6c 74 2d 73 74 72 69 6e 67 20 22 7e 2f    43 6f 64 65 2f 6f 6e 2f 6c 69 6e 75 78 22 0a 20  | esult-string."~/Code/on/linux".. | 
| 0f60 |  20 20 20 20 3a 65 76 61 6c 20 28 66 2d 73 68 6f    72 74 20 22 2f 70 61 74 68 2f 74 6f 2f 43 6f 64  | ....:eval.(f-short."/path/to/Cod | 
| 0f80 |  65 2f 62 61 72 22 29 29 0a 0a 20 20 20 20 28 66    2d 6c 6f 6e 67 0a 20 20 20 20 20 3a 65 76 61 6c  | e/bar"))......(f-long......:eval | 
| 0fa0 |  20 28 66 2d 6c 6f 6e 67 20 22 7e 2f 43 6f 64 65    2f 62 61 72 22 29 0a 20 20 20 20 20 3a 65 76 61  | .(f-long."~/Code/bar")......:eva | 
| 0fc0 |  6c 20 28 66 2d 6c 6f 6e 67 20 22 2f 70 61 74 68    2f 74 6f 2f 43 6f 64 65 2f 62 61 72 22 29 29 0a  | l.(f-long."/path/to/Code/bar")). | 
| 0fe0 |  0a 20 20 20 20 28 66 2d 63 61 6e 6f 6e 69 63 61    6c 0a 20 20 20 20 20 3a 65 76 61 6c 20 28 66 2d  | .....(f-canonical......:eval.(f- | 
| 1000 |  63 61 6e 6f 6e 69 63 61 6c 20 22 2f 70 61 74 68    2f 74 6f 2f 72 65 61 6c 2f 66 69 6c 65 22 29 0a  | canonical."/path/to/real/file"). | 
| 1020 |  20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66    2d 63 61 6e 6f 6e 69 63 61 6c 20 22 2f 6c 69 6e  | .....:no-eval.(f-canonical."/lin | 
| 1040 |  6b 2f 74 6f 2f 66 69 6c 65 22 29 0a 20 20 20 20    20 3a 72 65 73 75 6c 74 2d 73 74 72 69 6e 67 20  | k/to/file")......:result-string. | 
| 1060 |  22 2f 70 61 74 68 2f 74 6f 2f 72 65 61 6c 2f 66    69 6c 65 22 29 0a 0a 20 20 20 20 28 66 2d 73 6c  | "/path/to/real/file")......(f-sl | 
| 1080 |  61 73 68 0a 20 20 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  | ash......:no-eval.(f-slash."/pat | 
| 10a0 |  68 2f 74 6f 2f 66 69 6c 65 22 29 0a 20 20 20 20    20 3a 72 65 73 75 6c 74 2d 73 74 72 69 6e 67 20  | h/to/file")......:result-string. | 
| 10c0 |  22 2f 70 61 74 68 2f 74 6f 2f 66 69 6c 65 22 0a    20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66  | "/path/to/file"......:no-eval.(f | 
| 10e0 |  2d 73 6c 61 73 68 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  | -slash."/path/to/dir")......:res | 
| 1100 |  75 6c 74 2d 73 74 72 69 6e 67 20 22 2f 70 61 74    68 2f 74 6f 2f 64 69 72 2f 22 0a 20 20 20 20 20  | ult-string."/path/to/dir/"...... | 
| 1120 |  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 69 72 2f  | :no-eval.(f-slash."/path/to/dir/ | 
| 1140 |  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 74 6f  | ")......:result-string."/path/to | 
| 1160 |  2f 64 69 72 2f 22 29 0a 0a 20 20 20 20 28 66 2d    66 75 6c 6c 0a 20 20 20 20 20 3a 65 76 61 6c 20  | /dir/")......(f-full......:eval. | 
| 1180 |  28 66 2d 66 75 6c 6c 20 22 7e 2f 70 61 74 68 2f    74 6f 2f 66 69 6c 65 22 29 0a 20 20 20 20 20 3a  | (f-full."~/path/to/file")......: | 
| 11a0 |  65 76 61 6c 20 28 66 2d 66 75 6c 6c 20 22 7e 2f    70 61 74 68 2f 74 6f 2f 64 69 72 22 29 0a 20 20  | eval.(f-full."~/path/to/dir")... | 
| 11c0 |  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 2f 64 69 72 2f  | ...:eval.(f-full."~/path/to/dir/ | 
| 11e0 |  22 29 29 0a 0a 20 20 20 20 28 66 2d 75 6e 69 71    75 69 66 79 0a 20 20 20 20 20 3a 65 76 61 6c 20  | "))......(f-uniquify......:eval. | 
| 1200 |  28 66 2d 75 6e 69 71 75 69 66 79 20 27 28 22 2f    66 6f 6f 2f 62 61 72 22 20 22 2f 66 6f 6f 2f 62  | (f-uniquify.'("/foo/bar"."/foo/b | 
| 1220 |  61 7a 22 20 22 2f 66 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  | az"."/foo/quux"))......:eval.(f- | 
| 1240 |  75 6e 69 71 75 69 66 79 20 27 28 22 2f 66 6f 6f    2f 62 61 72 22 20 22 2f 77 77 77 2f 62 61 72 22  | uniquify.'("/foo/bar"."/www/bar" | 
| 1260 |  20 22 2f 66 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  | ."/foo/quux"))......:eval.(f-uni | 
| 1280 |  71 75 69 66 79 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  | quify.'("/foo/bar"."/www/bar"."/ | 
| 12a0 |  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 75 6e  | www/bar/quux"))......:eval.(f-un | 
| 12c0 |  69 71 75 69 66 79 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  | iquify.'("/foo/bar"."/foo/baz"." | 
| 12e0 |  2f 68 6f 6d 65 2f 77 77 77 2f 62 61 72 22 20 22    2f 68 6f 6d 65 2f 77 77 77 2f 62 61 7a 22 20 22  | /home/www/bar"."/home/www/baz"." | 
| 1300 |  2f 76 61 72 2f 66 6f 6f 22 20 22 2f 6f 70 74 2f    66 6f 6f 2f 77 77 77 2f 62 61 7a 22 29 29 29 0a  | /var/foo"."/opt/foo/www/baz"))). | 
| 1320 |  0a 20 20 20 20 28 66 2d 75 6e 69 71 75 69 66 79    2d 61 6c 69 73 74 0a 20 20 20 20 20 3a 65 76 61  | .....(f-uniquify-alist......:eva | 
| 1340 |  6c 20 28 66 2d 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  | l.(f-uniquify-alist.'("/foo/bar" | 
| 1360 |  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 20 20 20 20 20 3a  | ."/foo/baz"."/foo/quux"))......: | 
| 1380 |  65 76 61 6c 20 28 66 2d 75 6e 69 71 75 69 66 79    2d 61 6c 69 73 74 20 27 28 22 2f 66 6f 6f 2f 62  | eval.(f-uniquify-alist.'("/foo/b | 
| 13a0 |  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")).... | 
| 13c0 |  20 20 3a 65 76 61 6c 20 28 66 2d 75 6e 69 71 75    69 66 79 2d 61 6c 69 73 74 20 27 28 22 2f 66 6f  | ..:eval.(f-uniquify-alist.'("/fo | 
| 13e0 |  6f 2f 62 61 72 22 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  | o/bar"."/www/bar"."/www/bar/quux | 
| 1400 |  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 6c 69 73 74  | "))......:eval.(f-uniquify-alist | 
| 1420 |  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 68 6f 6d 65 2f  | .'("/foo/bar"."/foo/baz"."/home/ | 
| 1440 |  77 77 77 2f 62 61 72 22 20 22 2f 68 6f 6d 65 2f    77 77 77 2f 62 61 7a 22 20 22 2f 76 61 72 2f 66  | www/bar"."/home/www/baz"."/var/f | 
| 1460 |  6f 6f 22 20 22 2f 6f 70 74 2f 66 6f 6f 2f 77 77    77 2f 62 61 7a 22 29 29 29 0a 0a 20 20 20 20 22  | oo"."/opt/foo/www/baz")))......" | 
| 1480 |  49 2f 4f 22 0a 20 20 20 20 28 66 2d 72 65 61 64    2d 62 79 74 65 73 0a 20 20 20 20 20 3a 6e 6f 2d  | I/O".....(f-read-bytes......:no- | 
| 14a0 |  65 76 61 6c 2a 20 28 66 2d 72 65 61 64 2d 62 79    74 65 73 20 22 70 61 74 68 2f 74 6f 2f 62 69 6e  | eval*.(f-read-bytes."path/to/bin | 
| 14c0 |  61 72 79 2f 64 61 74 61 22 29 29 0a 0a 20 20 20    20 28 66 2d 77 72 69 74 65 2d 62 79 74 65 73 0a  | ary/data"))......(f-write-bytes. | 
| 14e0 |  20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 2a 20 28    66 2d 77 72 69 74 65 2d 62 79 74 65 73 20 28 75  | .....:no-eval*.(f-write-bytes.(u | 
| 1500 |  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 20 31 31 31  | nibyte-string.72.101.108.108.111 | 
| 1520 |  20 33 32 20 31 31 39 20 31 31 31 20 31 31 34 20    31 30 38 20 31 30 30 29 20 22 70 61 74 68 2f 74  | .32.119.111.114.108.100)."path/t | 
| 1540 |  6f 2f 62 69 6e 61 72 79 2f 64 61 74 61 22 29 29    0a 0a 20 20 20 20 28 66 2d 61 70 70 65 6e 64 2d  | o/binary/data"))......(f-append- | 
| 1560 |  62 79 74 65 73 0a 20 20 20 20 20 3a 6e 6f 2d 65    76 61 6c 2a 20 28 66 2d 61 70 70 65 6e 64 2d 62  | bytes......:no-eval*.(f-append-b | 
| 1580 |  79 74 65 73 20 22 70 61 74 68 2f 74 6f 2f 66 69    6c 65 22 20 28 75 6e 69 62 79 74 65 2d 73 74 72  | ytes."path/to/file".(unibyte-str | 
| 15a0 |  69 6e 67 20 37 32 20 31 30 31 20 31 30 38 20 31    30 38 20 31 31 31 20 33 32 20 31 31 39 20 31 31  | ing.72.101.108.108.111.32.119.11 | 
| 15c0 |  31 20 31 31 34 20 31 30 38 20 31 30 30 29 29 29    0a 0a 20 20 20 20 28 66 2d 72 65 61 64 2d 74 65  | 1.114.108.100)))......(f-read-te | 
| 15e0 |  78 74 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c    2a 20 28 66 2d 72 65 61 64 2d 74 65 78 74 20 22  | xt......:no-eval*.(f-read-text." | 
| 1600 |  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 0a 20 20 20 20 20 3a  | path/to/file.txt".'utf-8)......: | 
| 1620 |  6e 6f 2d 65 76 61 6c 2a 20 28 66 2d 72 65 61 64    20 22 70 61 74 68 2f 74 6f 2f 66 69 6c 65 2e 74  | no-eval*.(f-read."path/to/file.t | 
| 1640 |  78 74 22 20 27 75 74 66 2d 38 29 29 0a 0a 20 20    20 20 28 66 2d 77 72 69 74 65 2d 74 65 78 74 0a  | xt".'utf-8))......(f-write-text. | 
| 1660 |  20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 2a 20 28    66 2d 77 72 69 74 65 2d 74 65 78 74 20 22 48 65  | .....:no-eval*.(f-write-text."He | 
| 1680 |  6c 6c 6f 20 77 6f 72 6c 64 22 20 27 75 74 66 2d    38 20 22 70 61 74 68 2f 74 6f 2f 66 69 6c 65 2e  | llo.world".'utf-8."path/to/file. | 
| 16a0 |  74 78 74 22 29 0a 20 20 20 20 20 3a 6e 6f 2d 65    76 61 6c 2a 20 28 66 2d 77 72 69 74 65 20 22 48  | txt")......:no-eval*.(f-write."H | 
| 16c0 |  65 6c 6c 6f 20 77 6f 72 6c 64 22 20 27 75 74 66    2d 38 20 22 70 61 74 68 2f 74 6f 2f 66 69 6c 65  | ello.world".'utf-8."path/to/file | 
| 16e0 |  2e 74 78 74 22 29 29 0a 0a 20 20 20 20 28 66 2d    61 70 70 65 6e 64 2d 74 65 78 74 0a 20 20 20 20  | .txt"))......(f-append-text..... | 
| 1700 |  20 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d 61 70    70 65 6e 64 2d 74 65 78 74 20 22 48 65 6c 6c 6f  | .:no-eval*.(f-append-text."Hello | 
| 1720 |  20 77 6f 72 6c 64 22 20 27 75 74 66 2d 38 20 22    70 61 74 68 2f 74 6f 2f 66 69 6c 65 2e 74 78 74  | .world".'utf-8."path/to/file.txt | 
| 1740 |  22 29 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c    2a 20 28 66 2d 61 70 70 65 6e 64 20 22 48 65 6c  | ")......:no-eval*.(f-append."Hel | 
| 1760 |  6c 6f 20 77 6f 72 6c 64 22 20 27 75 74 66 2d 38    20 22 70 61 74 68 2f 74 6f 2f 66 69 6c 65 2e 74  | lo.world".'utf-8."path/to/file.t | 
| 1780 |  78 74 22 29 29 0a 0a 20 20 20 20 22 44 65 73 74    72 75 63 74 69 76 65 22 0a 20 20 20 20 28 66 2d  | xt"))......"Destructive".....(f- | 
| 17a0 |  6d 6b 64 69 72 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 64 69  | mkdir......:no-eval.(f-mkdir."di | 
| 17c0 |  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 72 65 61 74 65 73  | r")......:result-string."creates | 
| 17e0 |  20 2f 64 65 66 61 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  | ./default/directory/dir"......:n | 
| 1800 |  6f 2d 65 76 61 6c 20 28 66 2d 6d 6b 64 69 72 20    22 6f 74 68 65 72 22 20 22 64 69 72 22 29 0a 20  | o-eval.(f-mkdir."other"."dir").. | 
| 1820 |  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 65 66  | ....:result-string."creates./def | 
| 1840 |  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 20 3a  | ault/directory/other/dir"......: | 
| 1860 |  6e 6f 2d 65 76 61 6c 20 28 66 2d 6d 6b 64 69 72    20 22 2f 22 20 22 73 6f 6d 65 22 20 22 70 61 74  | no-eval.(f-mkdir."/"."some"."pat | 
| 1880 |  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 63 72 65 61 74 65 73  | h")......:result-string."creates | 
| 18a0 |  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 6c 20 28 66 2d 6d 6b  | ./some/path"......:no-eval.(f-mk | 
| 18c0 |  64 69 72 20 22 7e 22 20 22 79 65 74 22 20 22 61    6e 6f 74 68 65 72 22 20 22 64 69 72 22 29 0a 20  | dir."~"."yet"."another"."dir").. | 
| 18e0 |  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 7e 2f 79 65  | ....:result-string."creates.~/ye | 
| 1900 |  74 2f 61 6e 6f 74 68 65 72 2f 64 69 72 22 29 0a    0a 20 20 20 20 28 66 2d 6d 6b 64 69 72 2d 66 75  | t/another/dir")......(f-mkdir-fu | 
| 1920 |  6c 6c 2d 70 61 74 68 0a 20 20 20 20 20 3a 6e 6f    2d 65 76 61 6c 20 28 66 2d 6d 6b 64 69 72 2d 66  | ll-path......:no-eval.(f-mkdir-f | 
| 1940 |  75 6c 6c 2d 70 61 74 68 20 22 64 69 72 22 29 0a    20 20 20 20 20 3a 72 65 73 75 6c 74 2d 73 74 72  | ull-path."dir")......:result-str | 
| 1960 |  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 79 2f  | ing."creates./default/directory/ | 
| 1980 |  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 2d 66 75 6c 6c  | dir"......:no-eval.(f-mkdir-full | 
| 19a0 |  2d 70 61 74 68 20 22 6f 74 68 65 72 2f 64 69 72    22 29 0a 20 20 20 20 20 3a 72 65 73 75 6c 74 2d  | -path."other/dir")......:result- | 
| 19c0 |  73 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  | string."creates./default/directo | 
| 19e0 |  72 79 2f 6f 74 68 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  | ry/other/dir"......:no-eval.(f-m | 
| 1a00 |  6b 64 69 72 2d 66 75 6c 6c 2d 70 61 74 68 20 22    2f 73 6f 6d 65 2f 70 61 74 68 22 29 0a 20 20 20  | kdir-full-path."/some/path").... | 
| 1a20 |  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 73 6f 6d 65 2f  | ..:result-string."creates./some/ | 
| 1a40 |  70 61 74 68 22 0a 20 20 20 20 20 3a 6e 6f 2d 65    76 61 6c 20 28 66 2d 6d 6b 64 69 72 2d 66 75 6c  | path"......:no-eval.(f-mkdir-ful | 
| 1a60 |  6c 2d 70 61 74 68 20 22 7e 2f 79 65 74 2f 61 6e    6f 74 68 65 72 2f 64 69 72 22 29 0a 20 20 20 20  | l-path."~/yet/another/dir")..... | 
| 1a80 |  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 7e 2f 79 65 74 2f 61  | .:result-string."creates.~/yet/a | 
| 1aa0 |  6e 6f 74 68 65 72 2f 64 69 72 22 29 0a 0a 20 20    20 20 28 66 2d 64 65 6c 65 74 65 0a 20 20 20 20  | nother/dir")......(f-delete..... | 
| 1ac0 |  20 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d 64 65    6c 65 74 65 20 22 64 69 72 22 29 0a 20 20 20 20  | .:no-eval*.(f-delete."dir")..... | 
| 1ae0 |  20 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d 64 65    6c 65 74 65 20 22 6f 74 68 65 72 2f 64 69 72 22  | .:no-eval*.(f-delete."other/dir" | 
| 1b00 |  20 74 29 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61    6c 2a 20 28 66 2d 64 65 6c 65 74 65 20 22 70 61  | .t)......:no-eval*.(f-delete."pa | 
| 1b20 |  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 73 79 6d 6c 69 6e  | th/to/file.txt"))......(f-symlin | 
| 1b40 |  6b 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 20 22 70 61 74  | k......:no-eval*.(f-symlink."pat | 
| 1b60 |  68 2f 74 6f 2f 73 6f 75 72 63 65 22 20 22 70 61    74 68 2f 74 6f 2f 6c 69 6e 6b 22 29 29 0a 0a 20  | h/to/source"."path/to/link"))... | 
| 1b80 |  20 20 20 28 66 2d 6d 6f 76 65 0a 20 20 20 20 20    3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d 6d 6f 76  | ...(f-move......:no-eval*.(f-mov | 
| 1ba0 |  65 20 22 70 61 74 68 2f 74 6f 2f 66 69 6c 65 2e    74 78 74 22 20 22 6e 65 77 2d 66 69 6c 65 2e 74  | e."path/to/file.txt"."new-file.t | 
| 1bc0 |  78 74 22 29 0a 20 20 20 20 20 3a 6e 6f 2d 65 76    61 6c 2a 20 28 66 2d 6d 6f 76 65 20 22 70 61 74  | xt")......:no-eval*.(f-move."pat | 
| 1be0 |  68 2f 74 6f 2f 66 69 6c 65 2e 74 78 74 22 20 22    6f 74 68 65 72 2f 70 61 74 68 22 29 29 0a 0a 20  | h/to/file.txt"."other/path"))... | 
| 1c00 |  20 20 20 28 66 2d 63 6f 70 79 0a 20 20 20 20 20    3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d 63 6f 70  | ...(f-copy......:no-eval*.(f-cop | 
| 1c20 |  79 20 22 70 61 74 68 2f 74 6f 2f 66 69 6c 65 2e    74 78 74 22 20 22 6e 65 77 2d 66 69 6c 65 2e 74  | y."path/to/file.txt"."new-file.t | 
| 1c40 |  78 74 22 29 0a 20 20 20 20 20 3a 6e 6f 2d 65 76    61 6c 2a 20 28 66 2d 63 6f 70 79 20 22 70 61 74  | xt")......:no-eval*.(f-copy."pat | 
| 1c60 |  68 2f 74 6f 2f 64 69 72 22 20 22 6f 74 68 65 72    2f 64 69 72 22 29 29 0a 0a 20 20 20 20 28 66 2d  | h/to/dir"."other/dir"))......(f- | 
| 1c80 |  63 6f 70 79 2d 63 6f 6e 74 65 6e 74 73 0a 20 20    20 20 20 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d  | copy-contents......:no-eval*.(f- | 
| 1ca0 |  63 6f 70 79 2d 63 6f 6e 74 65 6e 74 73 20 22 70    61 74 68 2f 74 6f 2f 64 69 72 22 20 22 70 61 74  | copy-contents."path/to/dir"."pat | 
| 1cc0 |  68 2f 74 6f 2f 6f 74 68 65 72 2f 64 69 72 22 29    29 0a 0a 20 20 20 20 28 66 2d 74 6f 75 63 68 0a  | h/to/other/dir"))......(f-touch. | 
| 1ce0 |  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 2f 74 6f  | .....:no-eval*.(f-touch."path/to | 
| 1d00 |  2f 65 78 69 73 74 69 6e 67 2f 66 69 6c 65 2e 74    78 74 22 29 0a 20 20 20 20 20 3a 6e 6f 2d 65 76  | /existing/file.txt")......:no-ev | 
| 1d20 |  61 6c 2a 20 28 66 2d 74 6f 75 63 68 20 22 70 61    74 68 2f 74 6f 2f 6e 6f 6e 2f 65 78 69 73 74 69  | al*.(f-touch."path/to/non/existi | 
| 1d40 |  6e 67 2f 66 69 6c 65 2e 74 78 74 22 29 29 0a 0a    20 20 20 20 22 50 72 65 64 69 63 61 74 65 73 22  | ng/file.txt"))......"Predicates" | 
| 1d60 |  0a 20 20 20 20 28 66 2d 65 78 69 73 74 73 2d 70    0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 2a 20  | .....(f-exists-p......:no-eval*. | 
| 1d80 |  28 66 2d 65 78 69 73 74 73 2d 70 20 22 70 61 74    68 2f 74 6f 2f 66 69 6c 65 2e 74 78 74 22 29 0a  | (f-exists-p."path/to/file.txt"). | 
| 1da0 |  20 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  | .....:no-eval*.(f-exists-p."path | 
| 1dc0 |  2f 74 6f 2f 64 69 72 22 29 29 0a 0a 20 20 20 20    28 66 2d 64 69 72 65 63 74 6f 72 79 2d 70 0a 20  | /to/dir"))......(f-directory-p.. | 
| 1de0 |  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 | 
| 1e00 |  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*. | 
| 1e20 |  28 66 2d 64 69 72 65 63 74 6f 72 79 2d 70 20 22    70 61 74 68 2f 74 6f 2f 64 69 72 22 29 29 0a 0a  | (f-directory-p."path/to/dir")).. | 
| 1e40 |  20 20 20 20 28 66 2d 66 69 6c 65 2d 70 0a 20 20    20 20 20 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d  | ....(f-file-p......:no-eval*.(f- | 
| 1e60 |  66 69 6c 65 2d 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  | file-p."path/to/file.txt")...... | 
| 1e80 |  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 64 69 72  | :no-eval*.(f-file-p."path/to/dir | 
| 1ea0 |  22 29 29 0a 0a 20 20 20 20 28 66 2d 73 79 6d 6c    69 6e 6b 2d 70 0a 20 20 20 20 20 3a 6e 6f 2d 65  | "))......(f-symlink-p......:no-e | 
| 1ec0 |  76 61 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 66 69 6c 65 2e  | val*.(f-symlink-p."path/to/file. | 
| 1ee0 |  74 78 74 22 29 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  | txt")......:no-eval*.(f-symlink- | 
| 1f00 |  70 20 22 70 61 74 68 2f 74 6f 2f 64 69 72 22 29    0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 2a 20  | p."path/to/dir")......:no-eval*. | 
| 1f20 |  28 66 2d 73 79 6d 6c 69 6e 6b 2d 70 20 22 70 61    74 68 2f 74 6f 2f 6c 69 6e 6b 22 29 29 0a 0a 20  | (f-symlink-p."path/to/link"))... | 
| 1f40 |  20 20 20 28 66 2d 72 65 61 64 61 62 6c 65 2d 70    0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 2a 20  | ...(f-readable-p......:no-eval*. | 
| 1f60 |  28 66 2d 72 65 61 64 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  | (f-readable-p."path/to/file.txt" | 
| 1f80 |  29 0a 20 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  | )......:no-eval*.(f-readable-p." | 
| 1fa0 |  70 61 74 68 2f 74 6f 2f 64 69 72 22 29 29 0a 0a    20 20 20 20 28 66 2d 77 72 69 74 61 62 6c 65 2d  | path/to/dir"))......(f-writable- | 
| 1fc0 |  70 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  | p......:no-eval*.(f-writable-p." | 
| 1fe0 |  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 6c  | path/to/file.txt")......:no-eval | 
| 2000 |  2a 20 28 66 2d 77 72 69 74 61 62 6c 65 2d 70 20    22 70 61 74 68 2f 74 6f 2f 64 69 72 22 29 29 0a  | *.(f-writable-p."path/to/dir")). | 
| 2020 |  0a 20 20 20 20 28 66 2d 65 78 65 63 75 74 61 62    6c 65 2d 70 0a 20 20 20 20 20 3a 6e 6f 2d 65 76  | .....(f-executable-p......:no-ev | 
| 2040 |  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 66 69 6c  | al*.(f-executable-p."path/to/fil | 
| 2060 |  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 65 78 65 63 75 74  | e.txt")......:no-eval*.(f-execut | 
| 2080 |  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 20 20 28 66 2d 61  | able-p."path/to/dir"))......(f-a | 
| 20a0 |  62 73 6f 6c 75 74 65 2d 70 0a 20 20 20 20 20 3a    65 76 61 6c 20 28 66 2d 61 62 73 6f 6c 75 74 65  | bsolute-p......:eval.(f-absolute | 
| 20c0 |  2d 70 20 22 70 61 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  | -p."path/to/dir")......:eval.(f- | 
| 20e0 |  61 62 73 6f 6c 75 74 65 2d 70 20 22 2f 66 75 6c    6c 2f 70 61 74 68 2f 74 6f 2f 64 69 72 22 29 29  | absolute-p."/full/path/to/dir")) | 
| 2100 |  0a 0a 20 20 20 20 28 66 2d 72 65 6c 61 74 69 76    65 2d 70 0a 20 20 20 20 20 3a 65 76 61 6c 20 28  | ......(f-relative-p......:eval.( | 
| 2120 |  66 2d 72 65 6c 61 74 69 76 65 2d 70 20 22 70 61    74 68 2f 74 6f 2f 64 69 72 22 29 0a 20 20 20 20  | f-relative-p."path/to/dir")..... | 
| 2140 |  20 3a 65 76 61 6c 20 28 66 2d 72 65 6c 61 74 69    76 65 2d 70 20 22 2f 66 75 6c 6c 2f 70 61 74 68  | .:eval.(f-relative-p."/full/path | 
| 2160 |  2f 74 6f 2f 64 69 72 22 29 29 0a 0a 20 20 20 20    28 66 2d 72 6f 6f 74 2d 70 0a 20 20 20 20 20 3a  | /to/dir"))......(f-root-p......: | 
| 2180 |  65 76 61 6c 20 28 66 2d 72 6f 6f 74 2d 70 20 22    2f 22 29 0a 20 20 20 20 20 3a 65 76 61 6c 20 28  | eval.(f-root-p."/")......:eval.( | 
| 21a0 |  66 2d 72 6f 6f 74 2d 70 20 22 2f 6e 6f 74 2f 72    6f 6f 74 22 29 29 0a 0a 20 20 20 20 28 66 2d 65  | f-root-p."/not/root"))......(f-e | 
| 21c0 |  78 74 2d 70 0a 20 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  | xt-p......:eval.(f-ext-p."path/t | 
| 21e0 |  6f 2f 66 69 6c 65 2e 65 6c 22 20 22 65 6c 22 29    0a 20 20 20 20 20 3a 65 76 61 6c 20 28 66 2d 65  | o/file.el"."el")......:eval.(f-e | 
| 2200 |  78 74 2d 70 20 22 70 61 74 68 2f 74 6f 2f 66 69    6c 65 2e 65 6c 22 20 22 74 78 74 22 29 0a 20 20  | xt-p."path/to/file.el"."txt")... | 
| 2220 |  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 2e  | ...:eval.(f-ext-p."path/to/file. | 
| 2240 |  65 6c 22 29 0a 20 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  | el")......:eval.(f-ext-p."path/t | 
| 2260 |  6f 2f 66 69 6c 65 22 29 29 0a 0a 20 20 20 20 28    66 2d 73 61 6d 65 2d 70 0a 20 20 20 20 20 3a 65  | o/file"))......(f-same-p......:e | 
| 2280 |  76 61 6c 20 28 66 2d 73 61 6d 65 2d 70 20 22 66    6f 6f 2e 74 78 74 22 20 22 66 6f 6f 2e 74 78 74  | val.(f-same-p."foo.txt"."foo.txt | 
| 22a0 |  22 29 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 2f 62 61 72  | ")......:eval.(f-same-p."foo/bar | 
| 22c0 |  2f 2e 2e 2f 62 61 7a 22 20 22 66 6f 6f 2f 62 61    7a 22 29 0a 20 20 20 20 20 3a 65 76 61 6c 20 28  | /../baz"."foo/baz")......:eval.( | 
| 22e0 |  66 2d 73 61 6d 65 2d 70 20 22 2f 70 61 74 68 2f    74 6f 2f 66 6f 6f 2e 74 78 74 22 20 22 2f 70 61  | f-same-p."/path/to/foo.txt"."/pa | 
| 2300 |  74 68 2f 74 6f 2f 62 61 72 2e 74 78 74 22 29 29    0a 0a 20 20 20 20 28 66 2d 70 61 72 65 6e 74 2d  | th/to/bar.txt"))......(f-parent- | 
| 2320 |  6f 66 2d 70 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  | of-p......:no-eval.(f-parent-of- | 
| 2340 |  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 20 20  | p."/path/to"."/path/to/dir").... | 
| 2360 |  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 70 61 72  | ..:result.t......:no-eval.(f-par | 
| 2380 |  65 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 2f 74  | ent-of-p."/path/to/dir"."/path/t | 
| 23a0 |  6f 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 6f 2d 65 76  | o")......:result.nil......:no-ev | 
| 23c0 |  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 22 20 22 2f 70  | al.(f-parent-of-p."/path/to"."/p | 
| 23e0 |  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 29 0a 0a 20 20 20 20  | ath/to")......:result.nil)...... | 
| 2400 |  28 66 2d 63 68 69 6c 64 2d 6f 66 2d 70 0a 20 20    20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d 63  | (f-child-of-p......:no-eval.(f-c | 
| 2420 |  68 69 6c 64 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 2f 64  | hild-of-p."/path/to"."/path/to/d | 
| 2440 |  69 72 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 6f 2d 65  | ir")......:result.nil......:no-e | 
| 2460 |  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 6f 2f 64 69 72 22  | val.(f-child-of-p."/path/to/dir" | 
| 2480 |  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 74 0a 20 20 20 20  | ."/path/to")......:result.t..... | 
| 24a0 |  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 | 
| 24c0 |  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 74 20 6e 69 6c 29  | o"."/path/to")......:result.nil) | 
| 24e0 |  0a 0a 20 20 20 20 28 66 2d 61 6e 63 65 73 74 6f    72 2d 6f 66 2d 70 0a 20 20 20 20 20 3a 6e 6f 2d  | ......(f-ancestor-of-p......:no- | 
| 2500 |  65 76 61 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 22  | eval.(f-ancestor-of-p."/path/to" | 
| 2520 |  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 74 0a  | ."/path/to/dir")......:result.t. | 
| 2540 |  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 66 2d 70 20 22  | .....:no-eval.(f-ancestor-of-p." | 
| 2560 |  2f 70 61 74 68 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  | /path"."/path/to/dir")......:res | 
| 2580 |  75 6c 74 20 74 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  | ult.t......:no-eval.(f-ancestor- | 
| 25a0 |  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 2f 74 6f 22 29 0a  | of-p."/path/to/dir"."/path/to"). | 
| 25c0 |  20 20 20 20 20 3a 72 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  | .....:result.nil......:no-eval.( | 
| 25e0 |  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 22 20 22 2f 70 61 74  | f-ancestor-of-p."/path/to"."/pat | 
| 2600 |  68 2f 74 6f 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  | h/to")......:result.nil)......(f | 
| 2620 |  2d 64 65 73 63 65 6e 64 61 6e 74 2d 6f 66 2d 70    0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28  | -descendant-of-p......:no-eval.( | 
| 2640 |  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 2f 64 69 72 22  | f-descendant-of-p."/path/to/dir" | 
| 2660 |  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 74 0a 20 20 20 20  | ."/path/to")......:result.t..... | 
| 2680 |  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 22 2f 70  | .:no-eval.(f-descendant-of-p."/p | 
| 26a0 |  61 74 68 2f 74 6f 2f 64 69 72 22 20 22 2f 70 61    74 68 22 29 0a 20 20 20 20 20 3a 72 65 73 75 6c  | ath/to/dir"."/path")......:resul | 
| 26c0 |  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 6e 64 61 6e 74 2d  | t.t......:no-eval.(f-descendant- | 
| 26e0 |  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 2f 64 69 72 22 29 0a  | of-p."/path/to"."/path/to/dir"). | 
| 2700 |  20 20 20 20 20 3a 72 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  | .....:result.nil......:no-eval.( | 
| 2720 |  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 70  | f-descendant-of-p."/path/to"."/p | 
| 2740 |  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 29 0a 0a 20 20 20 20  | ath/to")......:result.nil)...... | 
| 2760 |  28 66 2d 68 69 64 64 65 6e 2d 70 0a 20 20 20 20    20 3a 65 76 61 6c 20 28 66 2d 68 69 64 64 65 6e  | (f-hidden-p......:eval.(f-hidden | 
| 2780 |  2d 70 20 22 70 61 74 68 2f 74 6f 2f 66 6f 6f 22    29 0a 20 20 20 20 20 3a 65 76 61 6c 20 28 66 2d  | -p."path/to/foo")......:eval.(f- | 
| 27a0 |  68 69 64 64 65 6e 2d 70 20 22 2e 70 61 74 68 2f    74 6f 2f 66 6f 6f 22 29 0a 20 20 20 20 20 3a 65  | hidden-p.".path/to/foo")......:e | 
| 27c0 |  76 61 6c 20 28 66 2d 68 69 64 64 65 6e 2d 70 20    22 70 61 74 68 2f 2e 74 6f 2f 66 6f 6f 22 29 0a  | val.(f-hidden-p."path/.to/foo"). | 
| 27e0 |  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 74 6f 2f  | .....:eval.(f-hidden-p."path/to/ | 
| 2800 |  2e 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 2e  | .foo")......:eval.(f-hidden-p.". | 
| 2820 |  70 61 74 68 2f 74 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  | path/to/foo".'any)......:eval.(f | 
| 2840 |  2d 68 69 64 64 65 6e 2d 70 20 22 70 61 74 68 2f    2e 74 6f 2f 66 6f 6f 22 20 27 61 6e 79 29 0a 20  | -hidden-p."path/.to/foo".'any).. | 
| 2860 |  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 74 6f 2f 2e  | ....:eval.(f-hidden-p."path/to/. | 
| 2880 |  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 6e 2d  | foo".'any)......:eval.(f-hidden- | 
| 28a0 |  70 20 22 2e 70 61 74 68 2f 74 6f 2f 66 6f 6f 22    20 27 6c 61 73 74 29 0a 20 20 20 20 20 3a 65 76  | p.".path/to/foo".'last)......:ev | 
| 28c0 |  61 6c 20 28 66 2d 68 69 64 64 65 6e 2d 70 20 22    70 61 74 68 2f 2e 74 6f 2f 66 6f 6f 22 20 27 6c  | al.(f-hidden-p."path/.to/foo".'l | 
| 28e0 |  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 74  | ast)......:eval.(f-hidden-p."pat | 
| 2900 |  68 2f 74 6f 2f 2e 66 6f 6f 22 20 27 6c 61 73 74    29 29 0a 0a 20 20 20 20 28 66 2d 65 6d 70 74 79  | h/to/.foo".'last))......(f-empty | 
| 2920 |  2d 70 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c    20 28 66 2d 65 6d 70 74 79 2d 70 20 22 2f 70 61  | -p......:no-eval.(f-empty-p."/pa | 
| 2940 |  74 68 2f 74 6f 2f 65 6d 70 74 79 2d 66 69 6c 65    22 29 0a 20 20 20 20 20 3a 72 65 73 75 6c 74 20  | th/to/empty-file")......:result. | 
| 2960 |  74 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20    28 66 2d 65 6d 70 74 79 2d 70 20 22 2f 70 61 74  | t......:no-eval.(f-empty-p."/pat | 
| 2980 |  68 2f 74 6f 2f 66 69 6c 65 2d 77 69 74 68 2d 63    6f 6e 74 65 6e 74 73 22 29 0a 20 20 20 20 20 3a  | h/to/file-with-contents")......: | 
| 29a0 |  72 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 65 6d 70 74  | result.nil......:no-eval.(f-empt | 
| 29c0 |  79 2d 70 20 22 2f 70 61 74 68 2f 74 6f 2f 65 6d    70 74 79 2d 64 69 72 2f 22 29 0a 20 20 20 20 20  | y-p."/path/to/empty-dir/")...... | 
| 29e0 |  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 65 6d 70 74 79  | :result.t......:no-eval.(f-empty | 
| 2a00 |  2d 70 20 22 2f 70 61 74 68 2f 74 6f 2f 64 69 72    2d 77 69 74 68 2d 63 6f 6e 74 65 6e 74 73 2f 22  | -p."/path/to/dir-with-contents/" | 
| 2a20 |  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 6f 6c 64 65  | )......:result.nil)......(f-olde | 
| 2a40 |  72 2d 70 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61    6c 20 28 66 2d 6f 6c 64 65 72 2d 70 20 22 6f 6c  | r-p......:no-eval.(f-older-p."ol | 
| 2a60 |  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 29 0a  | der-file.txt"."newer-file.txt"). | 
| 2a80 |  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 2d  | .....:result.t......:no-eval.(f- | 
| 2aa0 |  6f 6c 64 65 72 2d 70 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  | older-p."newer-file.txt"."older- | 
| 2ac0 |  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 20 20 20 20  | file.txt")......:result.nil..... | 
| 2ae0 |  20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d 6f 6c 64    65 72 2d 70 20 22 73 61 6d 65 2d 74 69 6d 65 31  | .:no-eval.(f-older-p."same-time1 | 
| 2b00 |  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 20 3a 72 65  | .txt"."same-time2.txt")......:re | 
| 2b20 |  73 75 6c 74 20 6e 69 6c 29 0a 0a 20 20 20 20 28    66 2d 6e 65 77 65 72 2d 70 0a 20 20 20 20 20 3a  | sult.nil)......(f-newer-p......: | 
| 2b40 |  6e 6f 2d 65 76 61 6c 20 28 66 2d 6e 65 77 65 72    2d 70 20 22 6e 65 77 65 72 2d 66 69 6c 65 2e 74  | no-eval.(f-newer-p."newer-file.t | 
| 2b60 |  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 65 73 75  | xt"."older-file.txt")......:resu | 
| 2b80 |  6c 74 20 74 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 20 22 6f  | lt.t......:no-eval.(f-newer-p."o | 
| 2ba0 |  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 29  | lder-file.txt"."newer-file.txt") | 
| 2bc0 |  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 6f 2d 65 76 61 6c 20  | ......:result.nil......:no-eval. | 
| 2be0 |  28 66 2d 6e 65 77 65 72 2d 70 20 22 73 61 6d 65    2d 74 69 6d 65 31 2e 74 78 74 22 20 22 73 61 6d  | (f-newer-p."same-time1.txt"."sam | 
| 2c00 |  65 2d 74 69 6d 65 32 2e 74 78 74 22 29 0a 20 20    20 20 20 3a 72 65 73 75 6c 74 20 6e 69 6c 29 0a  | e-time2.txt")......:result.nil). | 
| 2c20 |  0a 20 20 20 20 28 66 2d 73 61 6d 65 2d 74 69 6d    65 2d 70 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61  | .....(f-same-time-p......:no-eva | 
| 2c40 |  6c 20 28 66 2d 73 61 6d 65 2d 74 69 6d 65 2d 70    20 22 73 61 6d 65 2d 74 69 6d 65 31 2e 74 78 74  | l.(f-same-time-p."same-time1.txt | 
| 2c60 |  22 20 22 73 61 6d 65 2d 74 69 6d 65 32 2e 74 78    74 22 29 0a 20 20 20 20 20 3a 72 65 73 75 6c 74  | "."same-time2.txt")......:result | 
| 2c80 |  20 74 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  | .t......:no-eval.(f-same-time-p. | 
| 2ca0 |  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 74  | "newer-file.txt"."older-file.txt | 
| 2cc0 |  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 6f 2d 65 76 61  | ")......:result.nil......:no-eva | 
| 2ce0 |  6c 20 28 66 2d 73 61 6d 65 2d 74 69 6d 65 2d 70    20 22 6f 6c 64 65 72 2d 66 69 6c 65 2e 74 78 74  | l.(f-same-time-p."older-file.txt | 
| 2d00 |  22 20 22 6e 65 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  | "."newer-file.txt")......:result | 
| 2d20 |  20 6e 69 6c 29 0a 0a 20 20 20 20 22 53 74 61 74    73 22 0a 20 20 20 20 28 66 2d 73 69 7a 65 0a 20  | .nil)......"Stats".....(f-size.. | 
| 2d40 |  20 20 20 20 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66    2d 73 69 7a 65 20 22 70 61 74 68 2f 74 6f 2f 66  | ....:no-eval*.(f-size."path/to/f | 
| 2d60 |  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 73 69 7a 65  | ile.txt")......:no-eval*.(f-size | 
| 2d80 |  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 64 65 70 74 68 0a 20  | ."path/to/dir"))......(f-depth.. | 
| 2da0 |  20 20 20 20 3a 65 76 61 6c 20 28 66 2d 64 65 70    74 68 20 22 2f 22 29 0a 20 20 20 20 20 3a 65 76  | ....:eval.(f-depth."/")......:ev | 
| 2dc0 |  61 6c 20 28 66 2d 64 65 70 74 68 20 22 2f 76 61    72 2f 22 29 0a 20 20 20 20 20 3a 65 76 61 6c 20  | al.(f-depth."/var/")......:eval. | 
| 2de0 |  28 66 2d 64 65 70 74 68 20 22 2f 75 73 72 2f 6c    6f 63 61 6c 2f 62 69 6e 22 29 29 0a 0a 20 20 20  | (f-depth."/usr/local/bin"))..... | 
| 2e00 |  20 28 66 2d 63 68 61 6e 67 65 2d 74 69 6d 65 0a    20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66  | .(f-change-time......:no-eval.(f | 
| 2e20 |  2d 63 68 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 29  | -change-time."path/to/file.txt") | 
| 2e40 |  0a 20 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  | ......:result.(25517.48756.26337 | 
| 2e60 |  20 31 31 31 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 6e 67 65  | .111000)......:no-eval.(f-change | 
| 2e80 |  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 73 75 6c  | -time."path/to/dir")......:resul | 
| 2ea0 |  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 0a 20 20  | t.(25517.57887.344657.210000)... | 
| 2ec0 |  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 | 
| 2ee0 |  2f 74 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  | /to/file.txt".t)......:result.(1 | 
| 2f00 |  36 37 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  | 672330868026337111...1000000000) | 
| 2f20 |  0a 20 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  | ......:no-eval.(f-change-time."p | 
| 2f40 |  61 74 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  | ath/to/dir".t)......:result.(167 | 
| 2f60 |  32 33 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  | 2339999344657210...1000000000).. | 
| 2f80 |  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 | 
| 2fa0 |  68 2f 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  | h/to/file.txt".'seconds)......:r | 
| 2fc0 |  65 73 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  | esult.1672330868......:no-eval.( | 
| 2fe0 |  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 22 20 27 73 65 63  | f-change-time."path/to/dir".'sec | 
| 3000 |  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 39 39 39 39 29 0a 0a  | onds)......:result.1672339999).. | 
| 3020 |  20 20 20 20 28 66 2d 6d 6f 64 69 66 69 63 61 74    69 6f 6e 2d 74 69 6d 65 0a 20 20 20 20 20 3a 6e  | ....(f-modification-time......:n | 
| 3040 |  6f 2d 65 76 61 6c 20 28 66 2d 6d 6f 64 69 66 69    63 61 74 69 6f 6e 2d 74 69 6d 65 20 22 70 61 74  | o-eval.(f-modification-time."pat | 
| 3060 |  68 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  | h/to/file.txt")......:result.(25 | 
| 3080 |  35 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  | 517.48756.26337.111000)......:no | 
| 30a0 |  2d 65 76 61 6c 20 28 66 2d 6d 6f 64 69 66 69 63    61 74 69 6f 6e 2d 74 69 6d 65 20 22 70 61 74 68  | -eval.(f-modification-time."path | 
| 30c0 |  2f 74 6f 2f 64 69 72 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  | /to/dir")......:result.(25517.57 | 
| 30e0 |  38 38 37 20 33 34 34 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  | 887.344657.210000)......:no-eval | 
| 3100 |  20 28 66 2d 6d 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  | .(f-modification-time."path/to/f | 
| 3120 |  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 32 33 33  | ile.txt".t)......:result.(167233 | 
| 3140 |  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 20 20 20  | 0868026337111...1000000000)..... | 
| 3160 |  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 69 6d 65 20 22  | .:no-eval.(f-modification-time." | 
| 3180 |  70 61 74 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  | path/to/dir".t)......:result.(16 | 
| 31a0 |  37 32 33 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  | 72339999344657210...1000000000). | 
| 31c0 |  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 69  | .....:no-eval.(f-modification-ti | 
| 31e0 |  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 63 6f 6e 64 73 29 0a  | me."path/to/file.txt".'seconds). | 
| 3200 |  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 20 20 20 20 3a 6e 6f  | .....:result.1672330868......:no | 
| 3220 |  2d 65 76 61 6c 20 28 66 2d 6d 6f 64 69 66 69 63    61 74 69 6f 6e 2d 74 69 6d 65 20 22 70 61 74 68  | -eval.(f-modification-time."path | 
| 3240 |  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 20  | /to/dir".'seconds)......:result. | 
| 3260 |  31 36 37 32 33 33 39 39 39 39 29 0a 0a 20 20 20    20 28 66 2d 61 63 63 65 73 73 2d 74 69 6d 65 0a  | 1672339999)......(f-access-time. | 
| 3280 |  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 69 6d 65 20 22 70 61  | .....:no-eval.(f-access-time."pa | 
| 32a0 |  74 68 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  | th/to/file.txt")......:result.(2 | 
| 32c0 |  35 35 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  | 5517.48756.26337.111000)......:n | 
| 32e0 |  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 6f 2f 64  | o-eval.(f-access-time."path/to/d | 
| 3300 |  69 72 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  | ir")......:result.(25517.57887.3 | 
| 3320 |  34 34 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 61  | 44657.210000)......:no-eval.(f-a | 
| 3340 |  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 20 74 29  | ccess-time."path/to/file.txt".t) | 
| 3360 |  0a 20 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  | ......:result.(16723308680263371 | 
| 3380 |  31 31 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  | 11...1000000000)......:no-eval.( | 
| 33a0 |  66 2d 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 74 29 0a 20  | f-access-time."path/to/dir".t).. | 
| 33c0 |  20 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  | ....:result.(1672339999344657210 | 
| 33e0 |  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- | 
| 3400 |  61 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 20 27  | access-time."path/to/file.txt".' | 
| 3420 |  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 33 30 38 36 38  | seconds)......:result.1672330868 | 
| 3440 |  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 69 6d 65 20 22 70  | ......:no-eval.(f-access-time."p | 
| 3460 |  61 74 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  | ath/to/dir".'seconds)......:resu | 
| 3480 |  6c 74 20 31 36 37 32 33 33 39 39 39 39 29 0a 0a    20 20 20 20 22 4d 69 73 63 22 0a 20 20 20 20 28  | lt.1672339999)......"Misc".....( | 
| 34a0 |  66 2d 74 68 69 73 2d 66 69 6c 65 0a 20 20 20 20    20 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d 74 68  | f-this-file......:no-eval*.(f-th | 
| 34c0 |  69 73 2d 66 69 6c 65 29 29 0a 0a 20 20 20 20 28    66 2d 70 61 74 68 2d 73 65 70 61 72 61 74 6f 72  | is-file))......(f-path-separator | 
| 34e0 |  0a 20 20 20 20 20 3a 65 76 61 6c 20 28 66 2d 70    61 74 68 2d 73 65 70 61 72 61 74 6f 72 29 29 0a  | ......:eval.(f-path-separator)). | 
| 3500 |  0a 20 20 20 20 28 66 2d 67 6c 6f 62 0a 20 20 20    20 20 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d 67  | .....(f-glob......:no-eval*.(f-g | 
| 3520 |  6c 6f 62 20 22 70 61 74 68 2f 74 6f 2f 2a 2e 65    6c 22 29 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61  | lob."path/to/*.el")......:no-eva | 
| 3540 |  6c 2a 20 28 66 2d 67 6c 6f 62 20 22 2a 2e 65 6c    22 20 22 70 61 74 68 2f 74 6f 22 29 29 0a 0a 20  | l*.(f-glob."*.el"."path/to"))... | 
| 3560 |  20 20 20 28 66 2d 65 6e 74 72 69 65 73 0a 20 20    20 20 20 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d  | ...(f-entries......:no-eval*.(f- | 
| 3580 |  65 6e 74 72 69 65 73 20 22 70 61 74 68 2f 74 6f    2f 64 69 72 22 29 0a 20 20 20 20 20 3a 6e 6f 2d  | entries."path/to/dir")......:no- | 
| 35a0 |  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 28  | eval*.(f-entries."path/to/dir".( | 
| 35c0 |  6c 61 6d 62 64 61 20 28 66 69 6c 65 29 20 28 73    2d 6d 61 74 63 68 65 73 3f 20 22 74 65 73 74 22  | lambda.(file).(s-matches?."test" | 
| 35e0 |  20 66 69 6c 65 29 29 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  | .file)))......:no-eval*.(f-entri | 
| 3600 |  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 | 
| 3620 |  2d 65 76 61 6c 2a 20 28 66 2d 2d 65 6e 74 72 69    65 73 20 22 70 61 74 68 2f 74 6f 2f 64 69 72 22  | -eval*.(f--entries."path/to/dir" | 
| 3640 |  20 28 73 2d 6d 61 74 63 68 65 73 3f 20 22 74 65    73 74 22 20 69 74 29 29 29 0a 0a 20 20 20 20 28  | .(s-matches?."test".it)))......( | 
| 3660 |  66 2d 64 69 72 65 63 74 6f 72 69 65 73 0a 20 20    20 20 20 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d  | f-directories......:no-eval*.(f- | 
| 3680 |  64 69 72 65 63 74 6f 72 69 65 73 20 22 70 61 74    68 2f 74 6f 2f 64 69 72 22 29 0a 20 20 20 20 20  | directories."path/to/dir")...... | 
| 36a0 |  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 74  | :no-eval*.(f-directories."path/t | 
| 36c0 |  6f 2f 64 69 72 22 20 28 6c 61 6d 62 64 61 20 28    64 69 72 29 20 28 65 71 75 61 6c 20 28 66 2d 66  | o/dir".(lambda.(dir).(equal.(f-f | 
| 36e0 |  69 6c 65 6e 61 6d 65 20 64 69 72 29 20 22 74 65    73 74 22 29 29 29 0a 20 20 20 20 20 3a 6e 6f 2d  | ilename.dir)."test")))......:no- | 
| 3700 |  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 74 6f 2f 64 69  | eval*.(f-directories."path/to/di | 
| 3720 |  72 22 20 6e 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 64 69 72  | r".nil.t)......:no-eval*.(f--dir | 
| 3740 |  65 63 74 6f 72 69 65 73 20 22 70 61 74 68 2f 74    6f 2f 64 69 72 22 20 28 65 71 75 61 6c 20 28 66  | ectories."path/to/dir".(equal.(f | 
| 3760 |  2d 66 69 6c 65 6e 61 6d 65 20 69 74 29 20 22 74    65 73 74 22 29 29 29 0a 0a 20 20 20 20 28 66 2d  | -filename.it)."test")))......(f- | 
| 3780 |  66 69 6c 65 73 0a 20 20 20 20 20 3a 6e 6f 2d 65    76 61 6c 2a 20 28 66 2d 66 69 6c 65 73 20 22 70  | files......:no-eval*.(f-files."p | 
| 37a0 |  61 74 68 2f 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 66  | ath/to/dir")......:no-eval*.(f-f | 
| 37c0 |  69 6c 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 66 69 6c 65  | iles."path/to/dir".(lambda.(file | 
| 37e0 |  29 20 28 65 71 75 61 6c 20 28 66 2d 65 78 74 20    66 69 6c 65 29 20 22 65 6c 22 29 29 29 0a 20 20  | ).(equal.(f-ext.file)."el")))... | 
| 3800 |  20 20 20 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  | ...:no-eval*.(f-files."path/to/d | 
| 3820 |  69 72 22 20 6e 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 66 69  | ir".nil.t)......:no-eval*.(f--fi | 
| 3840 |  6c 65 73 20 22 70 61 74 68 2f 74 6f 2f 64 69 72    22 20 28 65 71 75 61 6c 20 28 66 2d 65 78 74 20  | les."path/to/dir".(equal.(f-ext. | 
| 3860 |  69 74 29 20 22 65 6c 22 29 29 29 0a 0a 20 20 20    20 28 66 2d 72 6f 6f 74 0a 20 20 20 20 20 3a 65  | it)."el")))......(f-root......:e | 
| 3880 |  76 61 6c 20 28 66 2d 72 6f 6f 74 29 29 0a 0a 20    20 20 20 28 66 2d 74 72 61 76 65 72 73 65 2d 75  | val.(f-root))......(f-traverse-u | 
| 38a0 |  70 77 61 72 64 73 0a 20 20 20 20 20 3a 6e 6f 2d    65 76 61 6c 2a 20 28 66 2d 74 72 61 76 65 72 73  | pwards......:no-eval*.(f-travers | 
| 38c0 |  65 2d 75 70 77 61 72 64 73 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64  | e-upwards.................(lambd | 
| 38e0 |  61 20 28 70 61 74 68 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 28 66 2d 65 78  | a.(path)...................(f-ex | 
| 3900 |  69 73 74 73 3f 20 28 66 2d 65 78 70 61 6e 64 20    22 2e 67 69 74 22 20 70 61 74 68 29 29 29 0a 20  | ists?.(f-expand.".git".path))).. | 
| 3920 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73    74 61 72 74 2d 70 61 74 68 29 0a 0a 20 20 20 20  | ...............start-path)...... | 
| 3940 |  20 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d 2d 74    72 61 76 65 72 73 65 2d 75 70 77 61 72 64 73 20  | .:no-eval*.(f--traverse-upwards. | 
| 3960 |  28 66 2d 65 78 69 73 74 73 3f 20 28 66 2d 65 78    70 61 6e 64 20 22 2e 67 69 74 22 20 69 74 29 29  | (f-exists?.(f-expand.".git".it)) | 
| 3980 |  20 73 74 61 72 74 2d 70 61 74 68 29 29 0a 0a 20    20 20 20 28 66 2d 77 69 74 68 2d 73 61 6e 64 62  | .start-path))......(f-with-sandb | 
| 39a0 |  6f 78 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c    20 28 66 2d 77 69 74 68 2d 73 61 6e 64 62 6f 78  | ox......:no-eval.(f-with-sandbox | 
| 39c0 |  20 66 6f 6f 2d 70 61 74 68 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 28 66 2d 74 6f 75  | .foo-path.................(f-tou | 
| 39e0 |  63 68 20 28 66 2d 65 78 70 61 6e 64 20 22 66 6f    6f 22 20 66 6f 6f 2d 70 61 74 68 29 29 29 0a 20  | ch.(f-expand."foo".foo-path))).. | 
| 3a00 |  20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d    77 69 74 68 2d 73 61 6e 64 62 6f 78 20 28 6c 69  | ....:no-eval.(f-with-sandbox.(li | 
| 3a20 |  73 74 20 66 6f 6f 2d 70 61 74 68 20 62 61 72 2d    70 61 74 68 29 0a 20 20 20 20 20 20 20 20 20 20  | st.foo-path.bar-path)........... | 
| 3a40 |  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 20 66  | ......(f-touch.(f-expand."foo".f | 
| 3a60 |  6f 6f 2d 70 61 74 68 29 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 28 66 2d 74 6f 75  | oo-path)).................(f-tou | 
| 3a80 |  63 68 20 28 66 2d 65 78 70 61 6e 64 20 22 62 61    72 22 20 62 61 72 2d 70 61 74 68 29 29 29 0a 20  | ch.(f-expand."bar".bar-path))).. | 
| 3aa0 |  20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d    77 69 74 68 2d 73 61 6e 64 62 6f 78 20 66 6f 6f  | ....:no-eval.(f-with-sandbox.foo | 
| 3ac0 |  2d 70 61 74 68 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  | -path.................(f-touch.( | 
| 3ae0 |  66 2d 65 78 70 61 6e 64 20 22 62 61 72 22 20 62    61 72 2d 70 61 74 68 29 29 29 29 29 29 20 3b 3b  | f-expand."bar".bar-path)))))).;; | 
| 3b00 |  20 22 44 65 73 74 72 75 63 74 69 76 65 20 6f 70    65 72 61 74 69 6f 6e 20 6f 75 74 73 69 64 65 20  | ."Destructive.operation.outside. | 
| 3b20 |  73 61 6e 64 62 6f 78 22 0a 0a 28 65 76 61 6c 2d    77 68 65 6e 2d 63 6f 6d 70 69 6c 65 0a 20 20 28  | sandbox"..(eval-when-compile...( | 
| 3b40 |  77 68 65 6e 20 28 76 65 72 73 69 6f 6e 3c 20 65    6d 61 63 73 2d 76 65 72 73 69 6f 6e 20 22 32 38  | when.(version<.emacs-version."28 | 
| 3b60 |  2e 31 22 29 0a 20 20 20 20 28 77 61 72 6e 20 22    45 6d 61 63 73 20 73 68 6f 75 6c 64 20 6e 6f 74  | .1").....(warn."Emacs.should.not | 
| 3b80 |  20 62 65 20 63 6f 6d 70 69 6c 69 6e 67 20 74 68    69 73 20 66 69 6c 65 22 29 29 29 0a 0a 28 70 72  | .be.compiling.this.file")))..(pr | 
| 3ba0 |  6f 76 69 64 65 20 27 66 2d 73 68 6f 72 74 64 6f    63 29 0a 0a 3b 3b 3b 20 66 2d 73 68 6f 72 74 64  | ovide.'f-shortdoc)..;;;.f-shortd | 
| 3bc0 |  6f 63 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | oc.el.ends.here................. | 
| 3be0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3c00 |  66 2d 32 30 32 34 30 33 30 38 2e 39 30 36 2f 66    2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00  | f-20240308.906/f.el............. | 
| 3c20 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3c40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3c60 |  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 | 
| 3c80 |  30 30 36 32 31 31 37 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 31 37 33 35 00 20 30 00 00 00  | 0062117.00000000000.011735..0... | 
| 3ca0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3cc0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3ce0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3d00 |  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................... | 
| 3d20 |  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................... | 
| 3d40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3d60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3d80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3da0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3dc0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3de0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3e00 |  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 | 
| 3e20 |  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.- | 
| 3e40 |  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 | 
| 3e60 |  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 | 
| 3e80 |  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 | 
| 3ea0 |  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 | 
| 3ec0 |  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 | 
| 3ee0 |  65 6e 40 70 68 75 6e 64 72 61 6b 2e 63 6f 6d 3e    0a 3b 3b 20 56 65 72 73 69 6f 6e 3a 20 30 2e 32  | en@phundrak.com>.;;.Version:.0.2 | 
| 3f00 |  30 2e 30 0a 3b 3b 20 50 61 63 6b 61 67 65 2d 52    65 71 75 69 72 65 73 3a 20 28 28 65 6d 61 63 73  | 0.0.;;.Package-Requires:.((emacs | 
| 3f20 |  20 22 32 34 2e 31 22 29 20 28 73 20 22 31 2e 37    2e 30 22 29 20 28 64 61 73 68 20 22 32 2e 32 2e  | ."24.1").(s."1.7.0").(dash."2.2. | 
| 3f40 |  30 22 29 29 0a 3b 3b 20 4b 65 79 77 6f 72 64 73    3a 20 66 69 6c 65 73 2c 20 64 69 72 65 63 74 6f  | 0")).;;.Keywords:.files,.directo | 
| 3f60 |  72 69 65 73 0a 3b 3b 20 48 6f 6d 65 70 61 67 65    3a 20 68 74 74 70 3a 2f 2f 67 69 74 68 75 62 2e  | ries.;;.Homepage:.http://github. | 
| 3f80 |  63 6f 6d 2f 72 65 6a 65 65 70 2f 66 2e 65 6c 0a    0a 3b 3b 20 54 68 69 73 20 66 69 6c 65 20 69 73  | com/rejeep/f.el..;;.This.file.is | 
| 3fa0 |  20 4e 4f 54 20 70 61 72 74 20 6f 66 20 47 4e 55    20 45 6d 61 63 73 2e 0a 0a 3b 3b 3b 20 4c 69 63  | .NOT.part.of.GNU.Emacs...;;;.Lic | 
| 3fc0 |  65 6e 73 65 3a 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  | ense:..;;.This.program.is.free.s | 
| 3fe0 |  6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e    20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74  | oftware;.you.can.redistribute.it | 
| 4000 |  20 61 6e 64 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  | .and/or.modify.;;.it.under.the.t | 
| 4020 |  65 72 6d 73 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  | erms.of.the.GNU.General.Public.L | 
| 4040 |  69 63 65 6e 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  | icense.as.published.by.;;.the.Fr | 
| 4060 |  65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e    64 61 74 69 6f 6e 3b 20 65 69 74 68 65 72 20 76  | ee.Software.Foundation;.either.v | 
| 4080 |  65 72 73 69 6f 6e 20 33 2c 20 6f 72 20 28 61 74    20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 0a 3b 3b  | ersion.3,.or.(at.your.option).;; | 
| 40a0 |  20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69    6f 6e 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f  | .any.later.version...;;.This.pro | 
| 40c0 |  67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75    74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20  | gram.is.distributed.in.the.hope. | 
| 40e0 |  74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20    75 73 65 66 75 6c 2c 0a 3b 3b 20 62 75 74 20 57  | that.it.will.be.useful,.;;.but.W | 
| 4100 |  49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41    4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65  | ITHOUT.ANY.WARRANTY;.without.eve | 
| 4120 |  6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61    72 72 61 6e 74 79 20 6f 66 0a 3b 3b 20 4d 45 52  | n.the.implied.warranty.of.;;.MER | 
| 4140 |  43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20    46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41  | CHANTABILITY.or.FITNESS.FOR.A.PA | 
| 4160 |  52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45    2e 20 20 53 65 65 20 74 68 65 0a 3b 3b 20 47 4e  | RTICULAR.PURPOSE...See.the.;;.GN | 
| 4180 |  55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63    20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72  | U.General.Public.License.for.mor | 
| 41a0 |  65 20 64 65 74 61 69 6c 73 2e 0a 0a 3b 3b 20 59    6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72  | e.details...;;.You.should.have.r | 
| 41c0 |  65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f    66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61  | eceived.a.copy.of.the.GNU.Genera | 
| 41e0 |  6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65    0a 3b 3b 20 61 6c 6f 6e 67 20 77 69 74 68 20 47  | l.Public.License.;;.along.with.G | 
| 4200 |  4e 55 20 45 6d 61 63 73 3b 20 73 65 65 20 74 68    65 20 66 69 6c 65 20 43 4f 50 59 49 4e 47 2e 20  | NU.Emacs;.see.the.file.COPYING.. | 
| 4220 |  20 49 66 20 6e 6f 74 2c 20 77 72 69 74 65 20 74    6f 20 74 68 65 0a 3b 3b 20 46 72 65 65 20 53 6f  | .If.not,.write.to.the.;;.Free.So | 
| 4240 |  66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f    6e 2c 20 49 6e 63 2e 2c 20 35 31 20 46 72 61 6e  | ftware.Foundation,.Inc.,.51.Fran | 
| 4260 |  6b 6c 69 6e 20 53 74 72 65 65 74 2c 20 46 69 66    74 68 20 46 6c 6f 6f 72 2c 0a 3b 3b 20 42 6f 73  | klin.Street,.Fifth.Floor,.;;.Bos | 
| 4280 |  74 6f 6e 2c 20 4d 41 20 30 32 31 31 30 2d 31 33    30 31 2c 20 55 53 41 2e 0a 0a 3b 3b 3b 20 43 6f  | ton,.MA.02110-1301,.USA...;;;.Co | 
| 42a0 |  6d 6d 65 6e 74 61 72 79 3a 0a 3b 3b 0a 3b 3b 20    4d 75 63 68 20 69 6e 73 70 69 72 65 64 20 62 79  | mmentary:.;;.;;.Much.inspired.by | 
| 42c0 |  20 6d 61 67 6e 61 72 27 73 20 65 78 63 65 6c 6c    65 6e 74 20 73 2e 65 6c 20 61 6e 64 20 64 61 73  | .magnar's.excellent.s.el.and.das | 
| 42e0 |  68 2e 65 6c 2c 20 66 2e 65 6c 20 69 73 20 61 0a    3b 3b 20 6d 6f 64 65 72 6e 20 41 50 49 20 66 6f  | h.el,.f.el.is.a.;;.modern.API.fo | 
| 4300 |  72 20 77 6f 72 6b 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  | r.working.with.files.and.directo | 
| 4320 |  72 69 65 73 20 69 6e 20 45 6d 61 63 73 2e 0a 0a    3b 3b 3b 20 43 6f 64 65 3a 0a 0a 0c 0a 0a 28 72  | ries.in.Emacs...;;;.Code:.....(r | 
| 4340 |  65 71 75 69 72 65 20 27 73 29 0a 28 72 65 71 75    69 72 65 20 27 64 61 73 68 29 0a 28 77 68 65 6e  | equire.'s).(require.'dash).(when | 
| 4360 |  20 28 76 65 72 73 69 6f 6e 3c 3d 20 22 32 38 2e    31 22 20 65 6d 61 63 73 2d 76 65 72 73 69 6f 6e  | .(version<=."28.1".emacs-version | 
| 4380 |  29 0a 20 20 28 77 68 65 6e 20 28 3c 20 65 6d 61    63 73 2d 6d 61 6a 6f 72 2d 76 65 72 73 69 6f 6e  | )...(when.(<.emacs-major-version | 
| 43a0 |  20 32 39 29 0a 20 20 20 28 72 65 71 75 69 72 65    20 27 66 2d 73 68 6f 72 74 64 6f 63 20 6e 69 6c  | .29)....(require.'f-shortdoc.nil | 
| 43c0 |  20 74 29 29 29 0a 0a 28 70 75 74 20 27 66 2d 67    75 61 72 64 2d 65 72 72 6f 72 20 27 65 72 72 6f  | .t)))..(put.'f-guard-error.'erro | 
| 43e0 |  72 2d 63 6f 6e 64 69 74 69 6f 6e 73 20 27 28 65    72 72 6f 72 20 66 2d 67 75 61 72 64 2d 65 72 72  | r-conditions.'(error.f-guard-err | 
| 4400 |  6f 72 29 29 0a 28 70 75 74 20 27 66 2d 67 75 61    72 64 2d 65 72 72 6f 72 20 27 65 72 72 6f 72 2d  | or)).(put.'f-guard-error.'error- | 
| 4420 |  6d 65 73 73 61 67 65 20 22 44 65 73 74 72 75 63    74 69 76 65 20 6f 70 65 72 61 74 69 6f 6e 20 6f  | message."Destructive.operation.o | 
| 4440 |  75 74 73 69 64 65 20 73 61 6e 64 62 6f 78 22 29    0a 0a 28 64 65 66 76 61 72 20 66 2d 2d 67 75 61  | utside.sandbox")..(defvar.f--gua | 
| 4460 |  72 64 2d 70 61 74 68 73 20 6e 69 6c 0a 20 20 22    4c 69 73 74 20 6f 66 20 61 6c 6c 6f 77 65 64 20  | rd-paths.nil..."List.of.allowed. | 
| 4480 |  70 61 74 68 73 20 74 6f 20 6d 6f 64 69 66 79 20    77 68 65 6e 20 67 75 61 72 64 65 64 2e 0a 0a 44  | paths.to.modify.when.guarded...D | 
| 44a0 |  6f 20 6e 6f 74 20 6d 6f 64 69 66 79 20 74 68 69    73 20 76 61 72 69 61 62 6c 65 2e 22 29 0a 0a 28  | o.not.modify.this.variable.")..( | 
| 44c0 |  64 65 66 6d 61 63 72 6f 20 66 2d 2d 64 65 73 74    72 75 63 74 69 76 65 20 28 70 61 74 68 20 26 72  | defmacro.f--destructive.(path.&r | 
| 44e0 |  65 73 74 20 62 6f 64 79 29 0a 20 20 22 49 66 20    50 41 54 48 20 69 73 20 61 6c 6c 6f 77 65 64 20  | est.body)..."If.PATH.is.allowed. | 
| 4500 |  74 6f 20 62 65 20 6d 6f 64 69 66 69 65 64 2c 20    79 69 65 6c 64 20 42 4f 44 59 2e 0a 0a 49 66 20  | to.be.modified,.yield.BODY...If. | 
| 4520 |  50 41 54 48 20 69 73 20 6e 6f 74 20 61 6c 6c 6f    77 65 64 20 74 6f 20 62 65 20 6d 6f 64 69 66 69  | PATH.is.not.allowed.to.be.modifi | 
| 4540 |  65 64 2c 20 74 68 72 6f 77 20 65 72 72 6f 72 2e    22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6e  | ed,.throw.error."...(declare.(in | 
| 4560 |  64 65 6e 74 20 31 29 29 0a 20 20 60 28 69 66 20    66 2d 2d 67 75 61 72 64 2d 70 61 74 68 73 0a 20  | dent.1))...`(if.f--guard-paths.. | 
| 4580 |  20 20 20 20 20 20 28 69 66 20 28 2d 2d 61 6e 79    3f 20 28 6f 72 20 28 66 2d 73 61 6d 65 2d 70 20  | ......(if.(--any?.(or.(f-same-p. | 
| 45a0 |  69 74 20 2c 70 61 74 68 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | it.,path)....................... | 
| 45c0 |  20 28 66 2d 61 6e 63 65 73 74 6f 72 2d 6f 66 2d    70 20 69 74 20 2c 70 61 74 68 29 29 20 66 2d 2d  | .(f-ancestor-of-p.it.,path)).f-- | 
| 45e0 |  67 75 61 72 64 2d 70 61 74 68 73 29 0a 20 20 20    20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 20 2c  | guard-paths)............(progn., | 
| 4600 |  40 62 6f 64 79 29 0a 20 20 20 20 20 20 20 20 20    28 73 69 67 6e 61 6c 20 27 66 2d 67 75 61 72 64  | @body)..........(signal.'f-guard | 
| 4620 |  2d 65 72 72 6f 72 20 28 6c 69 73 74 20 2c 70 61    74 68 20 66 2d 2d 67 75 61 72 64 2d 70 61 74 68  | -error.(list.,path.f--guard-path | 
| 4640 |  73 29 29 29 0a 20 20 20 20 20 2c 40 62 6f 64 79    29 29 0a 0a 0c 0a 3b 3b 3b 3b 20 50 61 74 68 73  | s)))......,@body))....;;;;.Paths | 
| 4660 |  0a 0a 28 64 65 66 75 6e 20 66 2d 6a 6f 69 6e 20    28 26 72 65 73 74 20 61 72 67 73 29 0a 20 20 22  | ..(defun.f-join.(&rest.args)..." | 
| 4680 |  4a 6f 69 6e 20 41 52 47 53 20 74 6f 20 61 20 73    69 6e 67 6c 65 20 70 61 74 68 2e 0a 0a 42 65 20  | Join.ARGS.to.a.single.path...Be. | 
| 46a0 |  61 77 61 72 65 20 69 66 20 6f 6e 65 20 6f 66 20    74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 69 73  | aware.if.one.of.the.arguments.is | 
| 46c0 |  20 61 6e 20 61 62 73 6f 6c 75 74 65 20 70 61 74    68 2c 20 60 66 2d 6a 6f 69 6e 27 0a 77 69 6c 6c  | .an.absolute.path,.`f-join'.will | 
| 46e0 |  20 64 69 73 63 61 72 64 20 61 6c 6c 20 74 68 65    20 70 72 65 63 65 65 64 69 6e 67 20 61 72 67 75  | .discard.all.the.preceeding.argu | 
| 4700 |  6d 65 6e 74 73 20 61 6e 64 20 6d 61 6b 65 20 74    68 69 73 20 61 62 73 6f 6c 75 74 65 0a 70 61 74  | ments.and.make.this.absolute.pat | 
| 4720 |  68 20 74 68 65 20 6e 65 77 20 72 6f 6f 74 20 6f    66 20 74 68 65 20 67 65 6e 65 72 61 74 65 64 20  | h.the.new.root.of.the.generated. | 
| 4740 |  70 61 74 68 2e 22 0a 20 20 28 6c 65 74 20 28 70    61 74 68 0a 20 20 20 20 20 20 20 20 28 72 65 6c  | path."...(let.(path.........(rel | 
| 4760 |  61 74 69 76 65 20 28 66 2d 72 65 6c 61 74 69 76    65 2d 70 20 28 63 61 72 20 61 72 67 73 29 29 29  | ative.(f-relative-p.(car.args))) | 
| 4780 |  29 0a 20 20 20 20 28 6d 61 70 63 0a 20 20 20 20    20 28 6c 61 6d 62 64 61 20 28 61 72 67 29 0a 20  | ).....(mapc......(lambda.(arg).. | 
| 47a0 |  20 20 20 20 20 20 28 73 65 74 71 20 70 61 74 68    20 28 63 6f 6e 64 20 28 28 6e 6f 74 20 70 61 74  | ......(setq.path.(cond.((not.pat | 
| 47c0 |  68 29 20 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  | h).arg)......................... | 
| 47e0 |  28 28 66 2d 61 62 73 6f 6c 75 74 65 2d 70 20 61    72 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  | ((f-absolute-p.arg)............. | 
| 4800 |  20 20 20 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  | .............(progn............. | 
| 4820 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    73 65 74 71 20 72 65 6c 61 74 69 76 65 20 6e 69  | ...............(setq.relative.ni | 
| 4840 |  6c 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 61 72  | l)............................ar | 
| 4860 |  67 29 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 74 20 28  | g)).........................(t.( | 
| 4880 |  66 2d 65 78 70 61 6e 64 20 61 72 67 20 70 61 74    68 29 29 29 29 29 0a 20 20 20 20 20 61 72 67 73  | f-expand.arg.path)))))......args | 
| 48a0 |  29 0a 20 20 20 20 28 69 66 20 72 65 6c 61 74 69    76 65 20 28 66 2d 72 65 6c 61 74 69 76 65 20 70  | ).....(if.relative.(f-relative.p | 
| 48c0 |  61 74 68 29 20 70 61 74 68 29 29 29 0a 0a 28 64    65 66 75 6e 20 66 2d 73 70 6c 69 74 20 28 70 61  | ath).path)))..(defun.f-split.(pa | 
| 48e0 |  74 68 29 0a 20 20 22 53 70 6c 69 74 20 50 41 54    48 20 61 6e 64 20 72 65 74 75 72 6e 20 6c 69 73  | th)..."Split.PATH.and.return.lis | 
| 4900 |  74 20 63 6f 6e 74 61 69 6e 69 6e 67 20 70 61 72    74 73 2e 22 0a 20 20 28 6c 65 74 20 28 28 70 61  | t.containing.parts."...(let.((pa | 
| 4920 |  72 74 73 20 28 73 70 6c 69 74 2d 73 74 72 69 6e    67 20 70 61 74 68 20 28 66 2d 70 61 74 68 2d 73  | rts.(split-string.path.(f-path-s | 
| 4940 |  65 70 61 72 61 74 6f 72 29 20 27 6f 6d 69 74 2d    6e 75 6c 6c 73 29 29 29 0a 20 20 20 20 28 69 66  | eparator).'omit-nulls))).....(if | 
| 4960 |  20 28 73 74 72 69 6e 67 3d 20 28 73 2d 6c 65 66    74 20 31 20 70 61 74 68 29 20 28 66 2d 70 61 74  | .(string=.(s-left.1.path).(f-pat | 
| 4980 |  68 2d 73 65 70 61 72 61 74 6f 72 29 29 0a 20 20    20 20 20 20 20 20 28 70 75 73 68 20 28 66 2d 70  | h-separator)).........(push.(f-p | 
| 49a0 |  61 74 68 2d 73 65 70 61 72 61 74 6f 72 29 20 70    61 72 74 73 29 0a 20 20 20 20 20 20 70 61 72 74  | ath-separator).parts).......part | 
| 49c0 |  73 29 29 29 0a 0a 28 64 65 66 75 6e 20 66 2d 65    78 70 61 6e 64 20 28 70 61 74 68 20 26 6f 70 74  | s)))..(defun.f-expand.(path.&opt | 
| 49e0 |  69 6f 6e 61 6c 20 64 69 72 29 0a 20 20 22 45 78    70 61 6e 64 20 50 41 54 48 20 72 65 6c 61 74 69  | ional.dir)..."Expand.PATH.relati | 
| 4a00 |  76 65 20 74 6f 20 44 49 52 20 28 6f 72 20 60 64    65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79  | ve.to.DIR.(or.`default-directory | 
| 4a20 |  27 29 2e 0a 50 41 54 48 20 61 6e 64 20 44 49 52    20 63 61 6e 20 62 65 20 65 69 74 68 65 72 20 61  | ')..PATH.and.DIR.can.be.either.a | 
| 4a40 |  20 64 69 72 65 63 74 6f 72 79 20 6e 61 6d 65 73    20 6f 72 20 64 69 72 65 63 74 6f 72 79 20 66 69  | .directory.names.or.directory.fi | 
| 4a60 |  6c 65 0a 6e 61 6d 65 73 2e 20 20 52 65 74 75 72    6e 20 61 20 64 69 72 65 63 74 6f 72 79 20 6e 61  | le.names...Return.a.directory.na | 
| 4a80 |  6d 65 20 69 66 20 50 41 54 48 20 69 73 20 61 20    64 69 72 65 63 74 6f 72 79 20 6e 61 6d 65 2c 20  | me.if.PATH.is.a.directory.name,. | 
| 4aa0 |  61 6e 64 0a 61 20 64 69 72 65 63 74 6f 72 79 20    66 69 6c 65 20 6e 61 6d 65 20 6f 74 68 65 72 77  | and.a.directory.file.name.otherw | 
| 4ac0 |  69 73 65 2e 20 20 46 69 6c 65 20 6e 61 6d 65 20    68 61 6e 64 6c 65 72 73 20 61 72 65 0a 69 67 6e  | ise...File.name.handlers.are.ign | 
| 4ae0 |  6f 72 65 64 2e 22 0a 20 20 28 6c 65 74 20 28 66    69 6c 65 2d 6e 61 6d 65 2d 68 61 6e 64 6c 65 72  | ored."...(let.(file-name-handler | 
| 4b00 |  2d 61 6c 69 73 74 29 0a 20 20 20 20 28 65 78 70    61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 70 61  | -alist).....(expand-file-name.pa | 
| 4b20 |  74 68 20 64 69 72 29 29 29 0a 0a 28 64 65 66 75    6e 20 66 2d 66 69 6c 65 6e 61 6d 65 20 28 70 61  | th.dir)))..(defun.f-filename.(pa | 
| 4b40 |  74 68 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68    65 20 6e 61 6d 65 20 6f 66 20 50 41 54 48 2e 22  | th)..."Return.the.name.of.PATH." | 
| 4b60 |  0a 20 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 6e 6f    6e 64 69 72 65 63 74 6f 72 79 20 28 64 69 72 65  | ...(file-name-nondirectory.(dire | 
| 4b80 |  63 74 6f 72 79 2d 66 69 6c 65 2d 6e 61 6d 65 20    70 61 74 68 29 29 29 0a 0a 28 64 65 66 61 6c 69  | ctory-file-name.path)))..(defali | 
| 4ba0 |  61 73 20 27 66 2d 70 61 72 65 6e 74 20 27 66 2d    64 69 72 6e 61 6d 65 29 0a 0a 28 64 65 66 75 6e  | as.'f-parent.'f-dirname)..(defun | 
| 4bc0 |  20 66 2d 64 69 72 6e 61 6d 65 20 28 70 61 74 68    29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20  | .f-dirname.(path)..."Return.the. | 
| 4be0 |  70 61 72 65 6e 74 20 64 69 72 65 63 74 6f 72 79    20 74 6f 20 50 41 54 48 2e 22 0a 20 20 28 6c 65  | parent.directory.to.PATH."...(le | 
| 4c00 |  74 20 28 28 70 61 72 65 6e 74 20 28 66 69 6c 65    2d 6e 61 6d 65 2d 64 69 72 65 63 74 6f 72 79 0a  | t.((parent.(file-name-directory. | 
| 4c20 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 64 69 72 65 63 74 6f 72 79 2d 66 69 6c 65  | .................(directory-file | 
| 4c40 |  2d 6e 61 6d 65 20 28 66 2d 65 78 70 61 6e 64 20    70 61 74 68 20 64 65 66 61 75 6c 74 2d 64 69 72  | -name.(f-expand.path.default-dir | 
| 4c60 |  65 63 74 6f 72 79 29 29 29 29 29 0a 20 20 20 20    28 75 6e 6c 65 73 73 20 28 66 2d 73 61 6d 65 2d  | ectory))))).....(unless.(f-same- | 
| 4c80 |  70 20 70 61 74 68 20 70 61 72 65 6e 74 29 0a 20    20 20 20 20 20 28 69 66 20 28 66 2d 72 65 6c 61  | p.path.parent).......(if.(f-rela | 
| 4ca0 |  74 69 76 65 2d 70 20 70 61 74 68 29 0a 20 20 20    20 20 20 20 20 20 20 28 66 2d 72 65 6c 61 74 69  | tive-p.path)...........(f-relati | 
| 4cc0 |  76 65 20 70 61 72 65 6e 74 29 0a 20 20 20 20 20    20 20 20 28 64 69 72 65 63 74 6f 72 79 2d 66 69  | ve.parent).........(directory-fi | 
| 4ce0 |  6c 65 2d 6e 61 6d 65 20 70 61 72 65 6e 74 29 29    29 29 29 0a 0a 28 64 65 66 75 6e 20 66 2d 63 6f  | le-name.parent)))))..(defun.f-co | 
| 4d00 |  6d 6d 6f 6e 2d 70 61 72 65 6e 74 20 28 70 61 74    68 73 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68  | mmon-parent.(paths)..."Return.th | 
| 4d20 |  65 20 64 65 65 70 65 73 74 20 63 6f 6d 6d 6f 6e    20 70 61 72 65 6e 74 20 64 69 72 65 63 74 6f 72  | e.deepest.common.parent.director | 
| 4d40 |  79 20 6f 66 20 50 41 54 48 53 2e 22 0a 20 20 28    63 6f 6e 64 0a 20 20 20 28 28 6e 6f 74 20 70 61  | y.of.PATHS."...(cond....((not.pa | 
| 4d60 |  74 68 73 29 20 6e 69 6c 29 0a 20 20 20 28 28 6e    6f 74 20 28 63 64 72 20 70 61 74 68 73 29 29 20  | ths).nil)....((not.(cdr.paths)). | 
| 4d80 |  28 66 2d 70 61 72 65 6e 74 20 28 63 61 72 20 70    61 74 68 73 29 29 29 0a 20 20 20 28 3a 6f 74 68  | (f-parent.(car.paths)))....(:oth | 
| 4da0 |  65 72 77 69 73 65 0a 20 20 20 20 28 6c 65 74 2a    20 28 28 70 61 74 68 73 20 28 2d 6d 61 70 20 27  | erwise.....(let*.((paths.(-map.' | 
| 4dc0 |  66 2d 73 70 6c 69 74 20 70 61 74 68 73 29 29 0a    20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6d 6d  | f-split.paths))............(comm | 
| 4de0 |  6f 6e 20 28 63 61 61 72 20 70 61 74 68 73 29 29    0a 20 20 20 20 20 20 20 20 20 20 20 28 72 65 20  | on.(caar.paths))............(re. | 
| 4e00 |  6e 69 6c 29 29 0a 20 20 20 20 20 20 28 77 68 69    6c 65 20 28 61 6e 64 20 28 6e 6f 74 20 28 6e 75  | nil)).......(while.(and.(not.(nu | 
| 4e20 |  6c 6c 20 28 63 61 72 20 70 61 74 68 73 29 29 29    20 28 2d 2d 61 6c 6c 3f 20 28 65 71 75 61 6c 20  | ll.(car.paths))).(--all?.(equal. | 
| 4e40 |  28 63 61 72 20 69 74 29 20 63 6f 6d 6d 6f 6e 29    20 70 61 74 68 73 29 29 0a 20 20 20 20 20 20 20  | (car.it).common).paths))........ | 
| 4e60 |  20 28 73 65 74 71 20 70 61 74 68 73 20 28 2d 6d    61 70 20 27 63 64 72 20 70 61 74 68 73 29 29 0a  | .(setq.paths.(-map.'cdr.paths)). | 
| 4e80 |  20 20 20 20 20 20 20 20 28 70 75 73 68 20 63 6f    6d 6d 6f 6e 20 72 65 29 0a 20 20 20 20 20 20 20  | ........(push.common.re)........ | 
| 4ea0 |  20 28 73 65 74 71 20 63 6f 6d 6d 6f 6e 20 28 63    61 61 72 20 70 61 74 68 73 29 29 29 0a 20 20 20  | .(setq.common.(caar.paths))).... | 
| 4ec0 |  20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20    28 28 6e 75 6c 6c 20 72 65 29 20 22 22 29 0a 20  | ...(cond........((null.re)."").. | 
| 4ee0 |  20 20 20 20 20 20 28 28 61 6e 64 20 28 3d 20 28    6c 65 6e 67 74 68 20 72 65 29 20 31 29 20 28 66  | ......((and.(=.(length.re).1).(f | 
| 4f00 |  2d 72 6f 6f 74 2d 70 20 28 63 61 72 20 72 65 29    29 29 0a 20 20 20 20 20 20 20 20 28 66 2d 72 6f  | -root-p.(car.re))).........(f-ro | 
| 4f20 |  6f 74 29 29 0a 20 20 20 20 20 20 20 28 3a 6f 74    68 65 72 77 69 73 65 0a 20 20 20 20 20 20 20 20  | ot))........(:otherwise......... | 
| 4f40 |  28 63 6f 6e 63 61 74 20 28 61 70 70 6c 79 20 27    66 2d 6a 6f 69 6e 20 28 6e 72 65 76 65 72 73 65  | (concat.(apply.'f-join.(nreverse | 
| 4f60 |  20 72 65 29 29 20 22 2f 22 29 29 29 29 29 29 29    0a 0a 28 64 65 66 61 6c 69 61 73 20 27 66 2d 65  | .re))."/")))))))..(defalias.'f-e | 
| 4f80 |  78 74 20 27 66 69 6c 65 2d 6e 61 6d 65 2d 65 78    74 65 6e 73 69 6f 6e 29 0a 0a 28 64 65 66 61 6c  | xt.'file-name-extension)..(defal | 
| 4fa0 |  69 61 73 20 27 66 2d 6e 6f 2d 65 78 74 20 27 66    69 6c 65 2d 6e 61 6d 65 2d 73 61 6e 73 2d 65 78  | ias.'f-no-ext.'file-name-sans-ex | 
| 4fc0 |  74 65 6e 73 69 6f 6e 29 0a 0a 28 64 65 66 75 6e    20 66 2d 73 77 61 70 2d 65 78 74 20 28 70 61 74  | tension)..(defun.f-swap-ext.(pat | 
| 4fe0 |  68 20 65 78 74 29 0a 20 20 22 52 65 74 75 72 6e    20 50 41 54 48 20 62 75 74 20 77 69 74 68 20 45  | h.ext)..."Return.PATH.but.with.E | 
| 5000 |  58 54 20 61 73 20 74 68 65 20 6e 65 77 20 65 78    74 65 6e 73 69 6f 6e 2e 0a 45 58 54 20 6d 75 73  | XT.as.the.new.extension..EXT.mus | 
| 5020 |  74 20 6e 6f 74 20 62 65 20 6e 69 6c 20 6f 72 20    65 6d 70 74 79 2e 22 0a 20 20 28 69 66 20 28 73  | t.not.be.nil.or.empty."...(if.(s | 
| 5040 |  2d 62 6c 61 6e 6b 2d 70 20 65 78 74 29 0a 20 20    20 20 20 20 28 65 72 72 6f 72 20 22 45 78 74 65  | -blank-p.ext).......(error."Exte | 
| 5060 |  6e 73 69 6f 6e 20 63 61 6e 6e 6f 74 20 62 65 20    65 6d 70 74 79 20 6f 72 20 6e 69 6c 22 29 0a 20  | nsion.cannot.be.empty.or.nil").. | 
| 5080 |  20 20 20 28 63 6f 6e 63 61 74 20 28 66 2d 6e 6f    2d 65 78 74 20 70 61 74 68 29 20 22 2e 22 20 65  | ...(concat.(f-no-ext.path).".".e | 
| 50a0 |  78 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 66 2d    62 61 73 65 20 28 70 61 74 68 29 0a 20 20 22 52  | xt)))..(defun.f-base.(path)..."R | 
| 50c0 |  65 74 75 72 6e 20 74 68 65 20 6e 61 6d 65 20 6f    66 20 50 41 54 48 2c 20 65 78 63 6c 75 64 69 6e  | eturn.the.name.of.PATH,.excludin | 
| 50e0 |  67 20 74 68 65 20 65 78 74 65 6e 73 69 6f 6e 20    6f 66 20 66 69 6c 65 2e 22 0a 20 20 28 66 2d 6e  | g.the.extension.of.file."...(f-n | 
| 5100 |  6f 2d 65 78 74 20 28 66 2d 66 69 6c 65 6e 61 6d    65 20 70 61 74 68 29 29 29 0a 0a 28 64 65 66 61  | o-ext.(f-filename.path)))..(defa | 
| 5120 |  6c 69 61 73 20 27 66 2d 72 65 6c 61 74 69 76 65    20 27 66 69 6c 65 2d 72 65 6c 61 74 69 76 65 2d  | lias.'f-relative.'file-relative- | 
| 5140 |  6e 61 6d 65 29 0a 0a 28 64 65 66 61 6c 69 61 73    20 27 66 2d 73 68 6f 72 74 20 27 61 62 62 72 65  | name)..(defalias.'f-short.'abbre | 
| 5160 |  76 69 61 74 65 2d 66 69 6c 65 2d 6e 61 6d 65 29    0a 28 64 65 66 61 6c 69 61 73 20 27 66 2d 61 62  | viate-file-name).(defalias.'f-ab | 
| 5180 |  62 72 65 76 20 27 61 62 62 72 65 76 69 61 74 65    2d 66 69 6c 65 2d 6e 61 6d 65 29 0a 0a 28 64 65  | brev.'abbreviate-file-name)..(de | 
| 51a0 |  66 75 6e 20 66 2d 6c 6f 6e 67 20 28 70 61 74 68    29 0a 20 20 22 52 65 74 75 72 6e 20 6c 6f 6e 67  | fun.f-long.(path)..."Return.long | 
| 51c0 |  20 76 65 72 73 69 6f 6e 20 6f 66 20 50 41 54 48    2e 22 0a 20 20 28 66 2d 65 78 70 61 6e 64 20 70  | .version.of.PATH."...(f-expand.p | 
| 51e0 |  61 74 68 29 29 0a 0a 28 64 65 66 61 6c 69 61 73    20 27 66 2d 63 61 6e 6f 6e 69 63 61 6c 20 27 66  | ath))..(defalias.'f-canonical.'f | 
| 5200 |  69 6c 65 2d 74 72 75 65 6e 61 6d 65 29 0a 0a 28    64 65 66 75 6e 20 66 2d 73 6c 61 73 68 20 28 70  | ile-truename)..(defun.f-slash.(p | 
| 5220 |  61 74 68 29 0a 20 20 22 41 70 70 65 6e 64 20 73    6c 61 73 68 20 74 6f 20 50 41 54 48 20 75 6e 6c  | ath)..."Append.slash.to.PATH.unl | 
| 5240 |  65 73 73 20 6f 6e 65 20 61 6c 72 65 61 64 79 2e    0a 0a 53 6f 6d 65 20 66 75 6e 63 74 69 6f 6e 73  | ess.one.already...Some.functions | 
| 5260 |  2c 20 73 75 63 68 20 61 73 20 60 63 61 6c 6c 2d    70 72 6f 63 65 73 73 27 20 72 65 71 75 69 72 65  | ,.such.as.`call-process'.require | 
| 5280 |  73 20 74 68 65 72 65 20 74 6f 20 62 65 20 61 6e    0a 65 6e 64 69 6e 67 20 73 6c 61 73 68 2e 22 0a  | s.there.to.be.an.ending.slash.". | 
| 52a0 |  20 20 28 69 66 20 28 66 2d 64 69 72 2d 70 20 70    61 74 68 29 0a 20 20 20 20 20 20 28 66 69 6c 65  | ..(if.(f-dir-p.path).......(file | 
| 52c0 |  2d 6e 61 6d 65 2d 61 73 2d 64 69 72 65 63 74 6f    72 79 20 70 61 74 68 29 0a 20 20 20 20 70 61 74  | -name-as-directory.path).....pat | 
| 52e0 |  68 29 29 0a 0a 28 64 65 66 75 6e 20 66 2d 66 75    6c 6c 20 28 70 61 74 68 29 0a 20 20 22 52 65 74  | h))..(defun.f-full.(path)..."Ret | 
| 5300 |  75 72 6e 20 61 62 73 6f 6c 75 74 65 20 70 61 74    68 20 74 6f 20 50 41 54 48 2c 20 77 69 74 68 20  | urn.absolute.path.to.PATH,.with. | 
| 5320 |  65 6e 64 69 6e 67 20 73 6c 61 73 68 2e 22 0a 20    20 28 66 2d 73 6c 61 73 68 20 28 66 2d 6c 6f 6e  | ending.slash."...(f-slash.(f-lon | 
| 5340 |  67 20 70 61 74 68 29 29 29 0a 0a 28 64 65 66 75    6e 20 66 2d 2d 75 6e 69 71 75 69 66 79 20 28 70  | g.path)))..(defun.f--uniquify.(p | 
| 5360 |  61 74 68 73 29 0a 20 20 22 48 65 6c 70 65 72 20    66 6f 72 20 60 66 2d 75 6e 69 71 75 69 66 79 27  | aths)..."Helper.for.`f-uniquify' | 
| 5380 |  20 61 6e 64 20 60 66 2d 75 6e 69 71 75 69 66 79    2d 61 6c 69 73 74 27 2e 22 0a 20 20 28 6c 65 74  | .and.`f-uniquify-alist'."...(let | 
| 53a0 |  2a 20 28 28 66 69 6c 65 73 2d 6c 65 6e 67 74 68    20 28 6c 65 6e 67 74 68 20 70 61 74 68 73 29 29  | *.((files-length.(length.paths)) | 
| 53c0 |  0a 20 20 20 20 20 20 20 20 20 28 75 6e 69 71 2d    66 69 6c 65 6e 61 6d 65 73 20 28 2d 2d 6d 61 70  | ..........(uniq-filenames.(--map | 
| 53e0 |  20 28 63 6f 6e 73 20 69 74 20 28 66 2d 66 69 6c    65 6e 61 6d 65 20 69 74 29 29 20 70 61 74 68 73  | .(cons.it.(f-filename.it)).paths | 
| 5400 |  29 29 0a 20 20 20 20 20 20 20 20 20 28 75 6e 69    71 2d 66 69 6c 65 6e 61 6d 65 73 2d 6e 65 78 74  | ))..........(uniq-filenames-next | 
| 5420 |  20 28 2d 67 72 6f 75 70 2d 62 79 20 27 63 64 72    20 75 6e 69 71 2d 66 69 6c 65 6e 61 6d 65 73 29  | .(-group-by.'cdr.uniq-filenames) | 
| 5440 |  29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 2f    3d 20 66 69 6c 65 73 2d 6c 65 6e 67 74 68 20 28  | )).....(while.(/=.files-length.( | 
| 5460 |  6c 65 6e 67 74 68 20 75 6e 69 71 2d 66 69 6c 65    6e 61 6d 65 73 2d 6e 65 78 74 29 29 0a 20 20 20  | length.uniq-filenames-next)).... | 
| 5480 |  20 20 20 28 73 65 74 71 20 75 6e 69 71 2d 66 69    6c 65 6e 61 6d 65 73 2d 6e 65 78 74 0a 20 20 20  | ...(setq.uniq-filenames-next.... | 
| 54a0 |  20 20 20 20 20 20 20 20 20 28 2d 67 72 6f 75 70    2d 62 79 20 27 63 64 72 0a 20 20 20 20 20 20 20  | .........(-group-by.'cdr........ | 
| 54c0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 2d 2d 6d 61 70 63 61 74 0a 20 20 20 20 20 20  | ................(--mapcat....... | 
| 54e0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 6c 65 74 20 28 28 63 6f 6e 66 2d 66 69  | ..................(let.((conf-fi | 
| 5500 |  6c 65 73 20 28 63 64 72 20 69 74 29 29 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | les.(cdr.it))).................. | 
| 5520 |  20 20 20 20 20 20 20 20 20 28 69 66 20 28 3e 20    28 6c 65 6e 67 74 68 20 63 6f 6e 66 2d 66 69 6c  | .........(if.(>.(length.conf-fil | 
| 5540 |  65 73 29 20 31 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  | es).1).......................... | 
| 5560 |  20 20 20 20 20 28 2d 2d 6d 61 70 20 28 63 6f 6e    73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | .....(--map.(cons............... | 
| 5580 |  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 61 72 20 69 74 29  | ........................(car.it) | 
| 55a0 |  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 20 20  | ................................ | 
| 55c0 |  20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | .......(concat.................. | 
| 55e0 |  20 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 69 6c 65 6e 61 6d  | ......................(f-filenam | 
| 5600 |  65 20 28 73 2d 63 68 6f 70 2d 73 75 66 66 69 78    20 28 63 64 72 20 69 74 29 0a 20 20 20 20 20 20  | e.(s-chop-suffix.(cdr.it)....... | 
| 5620 |  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  | ................................ | 
| 5640 |  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 63 61 72  | ............................(car | 
| 5660 |  20 69 74 29 29 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  | .it))).......................... | 
| 5680 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66    2d 70 61 74 68 2d 73 65 70 61 72 61 74 6f 72 29  | ..............(f-path-separator) | 
| 56a0 |  20 28 63 64 72 20 69 74 29 29 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | .(cdr.it)))..................... | 
| 56c0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 63 6f 6e 66 2d 66 69 6c 65 73 29 0a 20 20 20  | .................conf-files).... | 
| 56e0 |  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 63 6f 6e 66 2d 66 69  | .........................conf-fi | 
| 5700 |  6c 65 73 29 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 75 6e  | les)).........................un | 
| 5720 |  69 71 2d 66 69 6c 65 6e 61 6d 65 73 2d 6e 65 78    74 29 29 29 29 0a 20 20 20 20 75 6e 69 71 2d 66  | iq-filenames-next)))).....uniq-f | 
| 5740 |  69 6c 65 6e 61 6d 65 73 2d 6e 65 78 74 29 29 0a    0a 28 64 65 66 75 6e 20 66 2d 75 6e 69 71 75 69  | ilenames-next))..(defun.f-uniqui | 
| 5760 |  66 79 20 28 66 69 6c 65 73 29 0a 20 20 22 52 65    74 75 72 6e 20 75 6e 69 71 75 65 20 73 75 66 66  | fy.(files)..."Return.unique.suff | 
| 5780 |  69 78 65 73 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  | ixes.of.FILES...This.function.ex | 
| 57a0 |  70 65 63 74 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  | pects.no.duplicate.paths."...(-m | 
| 57c0 |  61 70 20 27 63 61 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 28  | ap.'car.(f--uniquify.files)))..( | 
| 57e0 |  64 65 66 75 6e 20 66 2d 75 6e 69 71 75 69 66 79    2d 61 6c 69 73 74 20 28 66 69 6c 65 73 29 0a 20  | defun.f-uniquify-alist.(files).. | 
| 5800 |  20 22 52 65 74 75 72 6e 20 61 6c 69 73 74 20 6d    61 70 70 69 6e 67 20 46 49 4c 45 53 20 74 6f 20  | ."Return.alist.mapping.FILES.to. | 
| 5820 |  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 0a 54 68 69 73 20  | unique.suffixes.of.FILES...This. | 
| 5840 |  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 61 74 65 20 70 61  | function.expects.no.duplicate.pa | 
| 5860 |  74 68 73 2e 22 0a 20 20 28 2d 6d 61 70 20 27 63    61 64 72 20 28 66 2d 2d 75 6e 69 71 75 69 66 79  | ths."...(-map.'cadr.(f--uniquify | 
| 5880 |  20 66 69 6c 65 73 29 29 29 0a 0a 0c 0a 3b 3b 3b    3b 20 49 2f 4f 0a 0a 28 64 65 66 75 6e 20 66 2d  | .files)))....;;;;.I/O..(defun.f- | 
| 58a0 |  72 65 61 64 2d 62 79 74 65 73 20 28 70 61 74 68    20 26 6f 70 74 69 6f 6e 61 6c 20 62 65 67 20 65  | read-bytes.(path.&optional.beg.e | 
| 58c0 |  6e 64 29 0a 20 20 22 52 65 61 64 20 62 69 6e 61    72 79 20 64 61 74 61 20 66 72 6f 6d 20 50 41 54  | nd)..."Read.binary.data.from.PAT | 
| 58e0 |  48 2e 0a 0a 52 65 74 75 72 6e 20 74 68 65 20 62    69 6e 61 72 79 20 64 61 74 61 20 61 73 20 75 6e  | H...Return.the.binary.data.as.un | 
| 5900 |  69 62 79 74 65 20 73 74 72 69 6e 67 2e 20 20 54    68 65 20 6f 70 74 69 6f 6e 61 6c 20 73 65 63 6f  | ibyte.string...The.optional.seco | 
| 5920 |  6e 64 0a 61 6e 64 20 74 68 69 72 64 20 61 72 67    75 6d 65 6e 74 73 20 42 45 47 20 61 6e 64 20 45  | nd.and.third.arguments.BEG.and.E | 
| 5940 |  4e 44 20 73 70 65 63 69 66 79 20 77 68 61 74 20    70 6f 72 74 69 6f 6e 20 6f 66 20 74 68 65 20 66  | ND.specify.what.portion.of.the.f | 
| 5960 |  69 6c 65 0a 74 6f 20 72 65 61 64 2e 22 0a 20 20    28 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 65  | ile.to.read."...(with-temp-buffe | 
| 5980 |  72 0a 20 20 20 20 28 73 65 74 2d 62 75 66 66 65    72 2d 6d 75 6c 74 69 62 79 74 65 20 6e 69 6c 29  | r.....(set-buffer-multibyte.nil) | 
| 59a0 |  0a 20 20 20 20 28 73 65 74 71 20 62 75 66 66 65    72 2d 66 69 6c 65 2d 63 6f 64 69 6e 67 2d 73 79  | .....(setq.buffer-file-coding-sy | 
| 59c0 |  73 74 65 6d 20 27 62 69 6e 61 72 79 29 0a 20 20    20 20 28 69 6e 73 65 72 74 2d 66 69 6c 65 2d 63  | stem.'binary).....(insert-file-c | 
| 59e0 |  6f 6e 74 65 6e 74 73 2d 6c 69 74 65 72 61 6c 6c    79 20 70 61 74 68 20 6e 69 6c 20 62 65 67 20 65  | ontents-literally.path.nil.beg.e | 
| 5a00 |  6e 64 29 0a 20 20 20 20 28 62 75 66 66 65 72 2d    73 75 62 73 74 72 69 6e 67 2d 6e 6f 2d 70 72 6f  | nd).....(buffer-substring-no-pro | 
| 5a20 |  70 65 72 74 69 65 73 20 28 70 6f 69 6e 74 2d 6d    69 6e 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29  | perties.(point-min).(point-max)) | 
| 5a40 |  29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 66    2d 72 65 61 64 20 27 66 2d 72 65 61 64 2d 74 65  | ))..(defalias.'f-read.'f-read-te | 
| 5a60 |  78 74 29 0a 28 64 65 66 75 6e 20 66 2d 72 65 61    64 2d 74 65 78 74 20 28 70 61 74 68 20 26 6f 70  | xt).(defun.f-read-text.(path.&op | 
| 5a80 |  74 69 6f 6e 61 6c 20 63 6f 64 69 6e 67 29 0a 20    20 22 52 65 61 64 20 74 65 78 74 20 77 69 74 68  | tional.coding)..."Read.text.with | 
| 5aa0 |  20 50 41 54 48 2c 20 75 73 69 6e 67 20 43 4f 44    49 4e 47 2e 0a 0a 43 4f 44 49 4e 47 20 64 65 66  | .PATH,.using.CODING...CODING.def | 
| 5ac0 |  61 75 6c 74 73 20 74 6f 20 60 75 74 66 2d 38 27    2e 0a 0a 52 65 74 75 72 6e 20 74 68 65 20 64 65  | aults.to.`utf-8'...Return.the.de | 
| 5ae0 |  63 6f 64 65 64 20 74 65 78 74 20 61 73 20 6d 75    6c 74 69 62 79 74 65 20 73 74 72 69 6e 67 2e 22  | coded.text.as.multibyte.string." | 
| 5b00 |  0a 20 20 28 64 65 63 6f 64 65 2d 63 6f 64 69 6e    67 2d 73 74 72 69 6e 67 20 28 66 2d 72 65 61 64  | ...(decode-coding-string.(f-read | 
| 5b20 |  2d 62 79 74 65 73 20 70 61 74 68 29 20 28 6f 72    20 63 6f 64 69 6e 67 20 27 75 74 66 2d 38 29 29  | -bytes.path).(or.coding.'utf-8)) | 
| 5b40 |  29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 66 2d    77 72 69 74 65 20 27 66 2d 77 72 69 74 65 2d 74  | )..(defalias.'f-write.'f-write-t | 
| 5b60 |  65 78 74 29 0a 28 64 65 66 75 6e 20 66 2d 77 72    69 74 65 2d 74 65 78 74 20 28 74 65 78 74 20 63  | ext).(defun.f-write-text.(text.c | 
| 5b80 |  6f 64 69 6e 67 20 70 61 74 68 29 0a 20 20 22 57    72 69 74 65 20 54 45 58 54 20 77 69 74 68 20 43  | oding.path)..."Write.TEXT.with.C | 
| 5ba0 |  4f 44 49 4e 47 20 74 6f 20 50 41 54 48 2e 0a 0a    54 45 58 54 20 69 73 20 61 20 6d 75 6c 74 69 62  | ODING.to.PATH...TEXT.is.a.multib | 
| 5bc0 |  79 74 65 20 73 74 72 69 6e 67 2e 20 20 43 4f 44    49 4e 47 20 69 73 20 61 20 63 6f 64 69 6e 67 20  | yte.string...CODING.is.a.coding. | 
| 5be0 |  73 79 73 74 65 6d 20 74 6f 20 65 6e 63 6f 64 65    0a 54 45 58 54 20 77 69 74 68 2e 20 20 50 41 54  | system.to.encode.TEXT.with...PAT | 
| 5c00 |  48 20 69 73 20 61 20 66 69 6c 65 20 6e 61 6d 65    20 74 6f 20 77 72 69 74 65 20 74 6f 2e 22 0a 20  | H.is.a.file.name.to.write.to.".. | 
| 5c20 |  20 28 66 2d 77 72 69 74 65 2d 62 79 74 65 73 20    28 65 6e 63 6f 64 65 2d 63 6f 64 69 6e 67 2d 73  | .(f-write-bytes.(encode-coding-s | 
| 5c40 |  74 72 69 6e 67 20 74 65 78 74 20 63 6f 64 69 6e    67 29 20 70 61 74 68 29 29 0a 0a 28 64 65 66 75  | tring.text.coding).path))..(defu | 
| 5c60 |  6e 20 66 2d 75 6e 69 62 79 74 65 2d 73 74 72 69    6e 67 2d 70 20 28 73 29 0a 20 20 22 44 65 74 65  | n.f-unibyte-string-p.(s)..."Dete | 
| 5c80 |  72 6d 69 6e 65 20 77 68 65 74 68 65 72 20 53 20    69 73 20 61 20 75 6e 69 62 79 74 65 20 73 74 72  | rmine.whether.S.is.a.unibyte.str | 
| 5ca0 |  69 6e 67 2e 22 0a 20 20 28 6e 6f 74 20 28 6d 75    6c 74 69 62 79 74 65 2d 73 74 72 69 6e 67 2d 70  | ing."...(not.(multibyte-string-p | 
| 5cc0 |  20 73 29 29 29 0a 0a 28 64 65 66 75 6e 20 66 2d    77 72 69 74 65 2d 62 79 74 65 73 20 28 64 61 74  | .s)))..(defun.f-write-bytes.(dat | 
| 5ce0 |  61 20 70 61 74 68 29 0a 20 20 22 57 72 69 74 65    20 62 69 6e 61 72 79 20 44 41 54 41 20 74 6f 20  | a.path)..."Write.binary.DATA.to. | 
| 5d00 |  50 41 54 48 2e 0a 0a 44 41 54 41 20 69 73 20 61    20 75 6e 69 62 79 74 65 20 73 74 72 69 6e 67 2e  | PATH...DATA.is.a.unibyte.string. | 
| 5d20 |  20 20 50 41 54 48 20 69 73 20 61 20 66 69 6c 65    20 6e 61 6d 65 20 74 6f 20 77 72 69 74 65 20 74  | ..PATH.is.a.file.name.to.write.t | 
| 5d40 |  6f 2e 22 0a 20 20 28 66 2d 2d 77 72 69 74 65 2d    62 79 74 65 73 20 64 61 74 61 20 70 61 74 68 20  | o."...(f--write-bytes.data.path. | 
| 5d60 |  6e 69 6c 29 29 0a 0a 28 64 65 66 61 6c 69 61 73    20 27 66 2d 61 70 70 65 6e 64 20 27 66 2d 61 70  | nil))..(defalias.'f-append.'f-ap | 
| 5d80 |  70 65 6e 64 2d 74 65 78 74 29 0a 28 64 65 66 75    6e 20 66 2d 61 70 70 65 6e 64 2d 74 65 78 74 20  | pend-text).(defun.f-append-text. | 
| 5da0 |  28 74 65 78 74 20 63 6f 64 69 6e 67 20 70 61 74    68 29 0a 20 20 22 41 70 70 65 6e 64 20 54 45 58  | (text.coding.path)..."Append.TEX | 
| 5dc0 |  54 20 77 69 74 68 20 43 4f 44 49 4e 47 20 74 6f    20 50 41 54 48 2e 0a 0a 49 66 20 50 41 54 48 20  | T.with.CODING.to.PATH...If.PATH. | 
| 5de0 |  64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2c 20    69 74 20 69 73 20 63 72 65 61 74 65 64 2e 22 0a  | does.not.exist,.it.is.created.". | 
| 5e00 |  20 20 28 66 2d 61 70 70 65 6e 64 2d 62 79 74 65    73 20 28 65 6e 63 6f 64 65 2d 63 6f 64 69 6e 67  | ..(f-append-bytes.(encode-coding | 
| 5e20 |  2d 73 74 72 69 6e 67 20 74 65 78 74 20 63 6f 64    69 6e 67 29 20 70 61 74 68 29 29 0a 0a 28 64 65  | -string.text.coding).path))..(de | 
| 5e40 |  66 75 6e 20 66 2d 61 70 70 65 6e 64 2d 62 79 74    65 73 20 28 64 61 74 61 20 70 61 74 68 29 0a 20  | fun.f-append-bytes.(data.path).. | 
| 5e60 |  20 22 41 70 70 65 6e 64 20 62 69 6e 61 72 79 20    44 41 54 41 20 74 6f 20 50 41 54 48 2e 0a 0a 49  | ."Append.binary.DATA.to.PATH...I | 
| 5e80 |  66 20 50 41 54 48 20 64 6f 65 73 20 6e 6f 74 20    65 78 69 73 74 2c 20 69 74 20 69 73 20 63 72 65  | f.PATH.does.not.exist,.it.is.cre | 
| 5ea0 |  61 74 65 64 2e 22 0a 20 20 28 66 2d 2d 77 72 69    74 65 2d 62 79 74 65 73 20 64 61 74 61 20 70 61  | ated."...(f--write-bytes.data.pa | 
| 5ec0 |  74 68 20 3a 61 70 70 65 6e 64 29 29 0a 0a 28 64    65 66 75 6e 20 66 2d 2d 77 72 69 74 65 2d 62 79  | th.:append))..(defun.f--write-by | 
| 5ee0 |  74 65 73 20 28 64 61 74 61 20 66 69 6c 65 6e 61    6d 65 20 61 70 70 65 6e 64 29 0a 20 20 22 57 72  | tes.(data.filename.append)..."Wr | 
| 5f00 |  69 74 65 20 62 69 6e 61 72 79 20 44 41 54 41 20    74 6f 20 46 49 4c 45 4e 41 4d 45 2e 0a 49 66 20  | ite.binary.DATA.to.FILENAME..If. | 
| 5f20 |  41 50 50 45 4e 44 20 69 73 20 6e 6f 6e 2d 6e 69    6c 2c 20 61 70 70 65 6e 64 20 74 68 65 20 44 41  | APPEND.is.non-nil,.append.the.DA | 
| 5f40 |  54 41 20 74 6f 20 74 68 65 20 65 78 69 73 74 69    6e 67 20 63 6f 6e 74 65 6e 74 73 2e 22 0a 20 20  | TA.to.the.existing.contents."... | 
| 5f60 |  28 66 2d 2d 64 65 73 74 72 75 63 74 69 76 65 20    66 69 6c 65 6e 61 6d 65 0a 20 20 20 20 28 75 6e  | (f--destructive.filename.....(un | 
| 5f80 |  6c 65 73 73 20 28 66 2d 75 6e 69 62 79 74 65 2d    73 74 72 69 6e 67 2d 70 20 64 61 74 61 29 0a 20  | less.(f-unibyte-string-p.data).. | 
| 5fa0 |  20 20 20 20 20 28 73 69 67 6e 61 6c 20 27 77 72    6f 6e 67 2d 74 79 70 65 2d 61 72 67 75 6d 65 6e  | .....(signal.'wrong-type-argumen | 
| 5fc0 |  74 20 28 6c 69 73 74 20 27 66 2d 75 6e 69 62 79    74 65 2d 73 74 72 69 6e 67 2d 70 20 64 61 74 61  | t.(list.'f-unibyte-string-p.data | 
| 5fe0 |  29 29 29 0a 20 20 20 20 28 6c 65 74 20 28 28 63    6f 64 69 6e 67 2d 73 79 73 74 65 6d 2d 66 6f 72  | ))).....(let.((coding-system-for | 
| 6000 |  2d 77 72 69 74 65 20 27 62 69 6e 61 72 79 29 0a    20 20 20 20 20 20 20 20 20 20 28 77 72 69 74 65  | -write.'binary)...........(write | 
| 6020 |  2d 72 65 67 69 6f 6e 2d 61 6e 6e 6f 74 61 74 65    2d 66 75 6e 63 74 69 6f 6e 73 20 6e 69 6c 29 0a  | -region-annotate-functions.nil). | 
| 6040 |  20 20 20 20 20 20 20 20 20 20 28 77 72 69 74 65    2d 72 65 67 69 6f 6e 2d 70 6f 73 74 2d 61 6e 6e  | ..........(write-region-post-ann | 
| 6060 |  6f 74 61 74 69 6f 6e 2d 66 75 6e 63 74 69 6f 6e    20 6e 69 6c 29 29 0a 20 20 20 20 20 20 28 77 72  | otation-function.nil)).......(wr | 
| 6080 |  69 74 65 2d 72 65 67 69 6f 6e 20 64 61 74 61 20    6e 69 6c 20 66 69 6c 65 6e 61 6d 65 20 61 70 70  | ite-region.data.nil.filename.app | 
| 60a0 |  65 6e 64 20 3a 73 69 6c 65 6e 74 29 0a 20 20 20    20 20 20 6e 69 6c 29 29 29 0a 0a 0c 0a 3b 3b 3b  | end.:silent).......nil)))....;;; | 
| 60c0 |  3b 20 44 65 73 74 72 75 63 74 69 76 65 0a 0a 28    64 65 66 75 6e 20 66 2d 6d 6b 64 69 72 20 28 26  | ;.Destructive..(defun.f-mkdir.(& | 
| 60e0 |  72 65 73 74 20 64 69 72 73 29 0a 20 20 22 43 72    65 61 74 65 20 64 69 72 65 63 74 6f 72 69 65 73  | rest.dirs)..."Create.directories | 
| 6100 |  20 44 49 52 53 2e 0a 0a 44 49 52 53 20 73 68 6f    75 6c 64 20 62 65 20 61 20 73 75 63 63 65 73 73  | .DIRS...DIRS.should.be.a.success | 
| 6120 |  69 76 65 20 6c 69 73 74 20 6f 66 20 64 69 72 65    63 74 6f 72 69 65 73 20 66 6f 72 6d 69 6e 67 20  | ive.list.of.directories.forming. | 
| 6140 |  74 6f 67 65 74 68 65 72 0a 61 20 66 75 6c 6c 20    70 61 74 68 2e 20 20 54 68 65 20 65 61 73 69 65  | together.a.full.path...The.easie | 
| 6160 |  73 74 20 77 61 79 20 74 6f 20 63 61 6c 6c 20 74    68 69 73 20 66 75 6e 63 74 69 6f 6e 20 77 69 74  | st.way.to.call.this.function.wit | 
| 6180 |  68 20 61 20 66 75 6c 6c 79 0a 66 6f 72 6d 65 64    20 70 61 74 68 20 69 73 20 75 73 69 6e 67 20 60  | h.a.fully.formed.path.is.using.` | 
| 61a0 |  66 2d 73 70 6c 69 74 27 20 61 6c 6f 6e 67 73 69    64 65 20 69 74 3a 0a 0a 20 20 20 20 28 61 70 70  | f-split'.alongside.it:......(app | 
| 61c0 |  6c 79 20 23 5c 5c 3d 27 66 2d 6d 6b 64 69 72 20    28 66 2d 73 70 6c 69 74 20 5c 22 70 61 74 68 2f  | ly.#\\='f-mkdir.(f-split.\"path/ | 
| 61e0 |  74 6f 2f 66 69 6c 65 5c 22 29 29 0a 0a 41 6c 74    68 6f 75 67 68 20 69 74 20 77 6f 72 6b 73 20 73  | to/file\"))..Although.it.works.s | 
| 6200 |  6f 6d 65 74 69 6d 65 73 2c 20 69 74 20 69 73 20    6e 6f 74 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20  | ometimes,.it.is.not.recommended. | 
| 6220 |  74 6f 20 75 73 65 20 66 75 6c 6c 79 0a 66 6f 72    6d 65 64 20 70 61 74 68 73 20 69 6e 20 74 68 65  | to.use.fully.formed.paths.in.the | 
| 6240 |  20 66 75 6e 63 74 69 6f 6e 2e 20 49 6e 20 74 68    69 73 20 63 61 73 65 2c 20 69 74 20 69 73 20 72  | .function..In.this.case,.it.is.r | 
| 6260 |  65 63 6f 6d 6d 65 6e 64 65 64 20 74 6f 0a 75 73    65 20 60 66 2d 6d 6b 64 69 72 2d 66 75 6c 6c 2d  | ecommended.to.use.`f-mkdir-full- | 
| 6280 |  70 61 74 68 27 20 69 6e 73 74 65 61 64 2e 22 0a    20 20 28 6c 65 74 20 28 70 61 74 68 29 0a 20 20  | path'.instead."...(let.(path)... | 
| 62a0 |  20 20 28 2d 65 61 63 68 0a 20 20 20 20 20 20 20    20 64 69 72 73 0a 20 20 20 20 20 20 28 6c 61 6d  | ..(-each.........dirs.......(lam | 
| 62c0 |  62 64 61 20 28 64 69 72 29 0a 20 20 20 20 20 20    20 20 28 73 65 74 71 20 70 61 74 68 20 28 66 2d  | bda.(dir).........(setq.path.(f- | 
| 62e0 |  65 78 70 61 6e 64 20 64 69 72 20 70 61 74 68 29    29 0a 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73  | expand.dir.path)).........(unles | 
| 6300 |  73 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 20 20 20 20  | s.(f-directory-p.path).......... | 
| 6320 |  20 28 66 2d 2d 64 65 73 74 72 75 63 74 69 76 65    20 70 61 74 68 20 28 6d 61 6b 65 2d 64 69 72 65  | .(f--destructive.path.(make-dire | 
| 6340 |  63 74 6f 72 79 20 70 61 74 68 29 29 29 29 29 29    29 0a 0a 28 64 65 66 75 6e 20 66 2d 6d 6b 64 69  | ctory.path)))))))..(defun.f-mkdi | 
| 6360 |  72 2d 66 75 6c 6c 2d 70 61 74 68 20 28 64 69 72    29 0a 20 20 22 43 72 65 61 74 65 20 44 49 52 20  | r-full-path.(dir)..."Create.DIR. | 
| 6380 |  66 72 6f 6d 20 61 20 66 75 6c 6c 20 70 61 74 68    2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e  | from.a.full.path...This.function | 
| 63a0 |  20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 60    66 2d 6d 6b 64 69 72 27 20 65 78 63 65 70 74 20  | .is.similar.to.`f-mkdir'.except. | 
| 63c0 |  69 74 20 63 61 6e 20 61 63 63 65 70 74 20 61 20    66 75 6c 6c 0a 70 61 74 68 20 69 6e 73 74 65 61  | it.can.accept.a.full.path.instea | 
| 63e0 |  64 20 6f 66 20 72 65 71 75 69 72 69 6e 67 20 73    65 76 65 72 61 6c 20 73 75 63 63 65 73 73 69 76  | d.of.requiring.several.successiv | 
| 6400 |  65 20 64 69 72 65 63 74 6f 72 79 20 6e 61 6d 65    73 2e 22 0a 20 20 28 61 70 70 6c 79 20 23 27 66  | e.directory.names."...(apply.#'f | 
| 6420 |  2d 6d 6b 64 69 72 20 28 66 2d 73 70 6c 69 74 20    64 69 72 29 29 29 0a 0a 28 64 65 66 75 6e 20 66  | -mkdir.(f-split.dir)))..(defun.f | 
| 6440 |  2d 64 65 6c 65 74 65 20 28 70 61 74 68 20 26 6f    70 74 69 6f 6e 61 6c 20 66 6f 72 63 65 29 0a 20  | -delete.(path.&optional.force).. | 
| 6460 |  20 22 44 65 6c 65 74 65 20 50 41 54 48 2c 20 77    68 69 63 68 20 63 61 6e 20 62 65 20 66 69 6c 65  | ."Delete.PATH,.which.can.be.file | 
| 6480 |  20 6f 72 20 64 69 72 65 63 74 6f 72 79 2e 0a 0a    49 66 20 46 4f 52 43 45 20 69 73 20 74 2c 20 61  | .or.directory...If.FORCE.is.t,.a | 
| 64a0 |  20 64 69 72 65 63 74 6f 72 79 20 77 69 6c 6c 20    62 65 20 64 65 6c 65 74 65 64 20 72 65 63 75 72  | .directory.will.be.deleted.recur | 
| 64c0 |  73 69 76 65 6c 79 2e 22 0a 20 20 28 66 2d 2d 64    65 73 74 72 75 63 74 69 76 65 20 70 61 74 68 0a  | sively."...(f--destructive.path. | 
| 64e0 |  20 20 20 20 28 69 66 20 28 6f 72 20 28 66 2d 66    69 6c 65 2d 70 20 70 61 74 68 29 20 28 66 2d 73  | ....(if.(or.(f-file-p.path).(f-s | 
| 6500 |  79 6d 6c 69 6e 6b 2d 70 20 70 61 74 68 29 29 0a    20 20 20 20 20 20 20 20 28 64 65 6c 65 74 65 2d  | ymlink-p.path)).........(delete- | 
| 6520 |  66 69 6c 65 20 70 61 74 68 29 0a 20 20 20 20 20    20 28 64 65 6c 65 74 65 2d 64 69 72 65 63 74 6f  | file.path).......(delete-directo | 
| 6540 |  72 79 20 70 61 74 68 20 66 6f 72 63 65 29 29 29    29 0a 0a 28 64 65 66 75 6e 20 66 2d 73 79 6d 6c  | ry.path.force))))..(defun.f-syml | 
| 6560 |  69 6e 6b 20 28 73 6f 75 72 63 65 20 70 61 74 68    29 0a 20 20 22 43 72 65 61 74 65 20 61 20 73 79  | ink.(source.path)..."Create.a.sy | 
| 6580 |  6d 6c 69 6e 6b 20 74 6f 20 53 4f 55 52 43 45 20    66 72 6f 6d 20 50 41 54 48 2e 22 0a 20 20 28 66  | mlink.to.SOURCE.from.PATH."...(f | 
| 65a0 |  2d 2d 64 65 73 74 72 75 63 74 69 76 65 20 70 61    74 68 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 69  | --destructive.path.(make-symboli | 
| 65c0 |  63 2d 6c 69 6e 6b 20 73 6f 75 72 63 65 20 70 61    74 68 29 29 29 0a 0a 28 64 65 66 75 6e 20 66 2d  | c-link.source.path)))..(defun.f- | 
| 65e0 |  6d 6f 76 65 20 28 66 72 6f 6d 20 74 6f 29 0a 20    20 22 4d 6f 76 65 20 6f 72 20 72 65 6e 61 6d 65  | move.(from.to)..."Move.or.rename | 
| 6600 |  20 46 52 4f 4d 20 74 6f 20 54 4f 2e 0a 49 66 20    54 4f 20 69 73 20 61 20 64 69 72 65 63 74 6f 72  | .FROM.to.TO..If.TO.is.a.director | 
| 6620 |  79 20 6e 61 6d 65 2c 20 6d 6f 76 65 20 46 52 4f    4d 20 69 6e 74 6f 20 54 4f 2e 22 0a 20 20 28 66  | y.name,.move.FROM.into.TO."...(f | 
| 6640 |  2d 2d 64 65 73 74 72 75 63 74 69 76 65 20 74 6f    20 28 72 65 6e 61 6d 65 2d 66 69 6c 65 20 66 72  | --destructive.to.(rename-file.fr | 
| 6660 |  6f 6d 20 74 6f 20 74 29 29 29 0a 0a 28 64 65 66    75 6e 20 66 2d 63 6f 70 79 20 28 66 72 6f 6d 20  | om.to.t)))..(defun.f-copy.(from. | 
| 6680 |  74 6f 29 0a 20 20 22 43 6f 70 79 20 66 69 6c 65    20 6f 72 20 64 69 72 65 63 74 6f 72 79 20 46 52  | to)..."Copy.file.or.directory.FR | 
| 66a0 |  4f 4d 20 74 6f 20 54 4f 2e 0a 49 66 20 46 52 4f    4d 20 6e 61 6d 65 73 20 61 20 64 69 72 65 63 74  | OM.to.TO..If.FROM.names.a.direct | 
| 66c0 |  6f 72 79 20 61 6e 64 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  | ory.and.TO.is.a.directory.name,. | 
| 66e0 |  63 6f 70 79 20 46 52 4f 4d 0a 69 6e 74 6f 20 54    4f 20 61 73 20 61 20 73 75 62 64 69 72 65 63 74  | copy.FROM.into.TO.as.a.subdirect | 
| 6700 |  6f 72 79 2e 22 0a 20 20 28 66 2d 2d 64 65 73 74    72 75 63 74 69 76 65 20 74 6f 0a 20 20 20 20 28  | ory."...(f--destructive.to.....( | 
| 6720 |  69 66 20 28 66 2d 66 69 6c 65 2d 70 20 66 72 6f    6d 29 0a 20 20 20 20 20 20 20 20 28 63 6f 70 79  | if.(f-file-p.from).........(copy | 
| 6740 |  2d 66 69 6c 65 20 66 72 6f 6d 20 74 6f 29 0a 20    20 20 20 20 20 3b 3b 20 54 68 65 20 62 65 68 61  | -file.from.to).......;;.The.beha | 
| 6760 |  76 69 6f 72 20 6f 66 20 60 63 6f 70 79 2d 64 69    72 65 63 74 6f 72 79 27 20 64 69 66 66 65 72 73  | vior.of.`copy-directory'.differs | 
| 6780 |  20 62 65 74 77 65 65 6e 20 45 6d 61 63 73 20 32    33 20 61 6e 64 0a 20 20 20 20 20 20 3b 3b 20 32  | .between.Emacs.23.and.......;;.2 | 
| 67a0 |  34 20 69 6e 20 74 68 61 74 20 69 6e 20 45 6d 61    63 73 20 32 33 2c 20 74 68 65 20 63 6f 6e 74 65  | 4.in.that.in.Emacs.23,.the.conte | 
| 67c0 |  6e 74 73 20 6f 66 20 60 66 72 6f 6d 27 20 69 73    20 63 6f 70 69 65 64 20 74 6f 0a 20 20 20 20 20  | nts.of.`from'.is.copied.to...... | 
| 67e0 |  20 3b 3b 20 60 74 6f 27 2c 20 77 68 69 6c 65 20    69 6e 20 45 6d 61 63 73 20 32 34 20 74 68 65 20  | .;;.`to',.while.in.Emacs.24.the. | 
| 6800 |  64 69 72 65 63 74 6f 72 79 20 60 66 72 6f 6d 27    20 69 73 20 63 6f 70 69 65 64 20 74 6f 0a 20 20  | directory.`from'.is.copied.to... | 
| 6820 |  20 20 20 20 3b 3b 20 60 74 6f 27 2e 20 57 65 20    77 61 6e 74 20 74 68 65 20 45 6d 61 63 73 20 32  | ....;;.`to'..We.want.the.Emacs.2 | 
| 6840 |  34 20 62 65 68 61 76 69 6f 72 2e 0a 20 20 20 20    20 20 28 69 66 20 28 3e 20 65 6d 61 63 73 2d 6d  | 4.behavior........(if.(>.emacs-m | 
| 6860 |  61 6a 6f 72 2d 76 65 72 73 69 6f 6e 20 32 33 29    0a 20 20 20 20 20 20 20 20 20 20 28 63 6f 70 79  | ajor-version.23)...........(copy | 
| 6880 |  2d 64 69 72 65 63 74 6f 72 79 20 66 72 6f 6d 20    74 6f 29 0a 20 20 20 20 20 20 20 20 28 69 66 20  | -directory.from.to).........(if. | 
| 68a0 |  28 66 2d 64 69 72 2d 70 20 74 6f 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 0a  | (f-dir-p.to).............(progn. | 
| 68c0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61    70 70 6c 79 20 27 66 2d 6d 6b 64 69 72 20 28 66  | ..............(apply.'f-mkdir.(f | 
| 68e0 |  2d 73 70 6c 69 74 20 74 6f 29 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28  | -split.to))...............(let.( | 
| 6900 |  28 6e 65 77 2d 74 6f 20 28 66 2d 65 78 70 61 6e    64 20 28 66 2d 66 69 6c 65 6e 61 6d 65 20 66 72  | (new-to.(f-expand.(f-filename.fr | 
| 6920 |  6f 6d 29 20 74 6f 29 29 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 28 63 6f 70 79 2d  | om).to))).................(copy- | 
| 6940 |  64 69 72 65 63 74 6f 72 79 20 66 72 6f 6d 20 6e    65 77 2d 74 6f 29 29 29 0a 20 20 20 20 20 20 20  | directory.from.new-to)))........ | 
| 6960 |  20 20 20 28 63 6f 70 79 2d 64 69 72 65 63 74 6f    72 79 20 66 72 6f 6d 20 74 6f 29 29 29 29 29 29  | ...(copy-directory.from.to)))))) | 
| 6980 |  0a 0a 28 64 65 66 75 6e 20 66 2d 63 6f 70 79 2d    63 6f 6e 74 65 6e 74 73 20 28 66 72 6f 6d 20 74  | ..(defun.f-copy-contents.(from.t | 
| 69a0 |  6f 29 0a 20 20 22 43 6f 70 79 20 63 6f 6e 74 65    6e 74 73 20 69 6e 20 64 69 72 65 63 74 6f 72 79  | o)..."Copy.contents.in.directory | 
| 69c0 |  20 46 52 4f 4d 2c 20 74 6f 20 64 69 72 65 63 74    6f 72 79 20 54 4f 2e 22 0a 20 20 28 75 6e 6c 65  | .FROM,.to.directory.TO."...(unle | 
| 69e0 |  73 73 20 28 66 2d 65 78 69 73 74 73 2d 70 20 74    6f 29 0a 20 20 20 20 28 65 72 72 6f 72 20 22 43  | ss.(f-exists-p.to).....(error."C | 
| 6a00 |  61 6e 6e 6f 74 20 63 6f 70 79 20 63 6f 6e 74 65    6e 74 73 20 74 6f 20 6e 6f 6e 20 65 78 69 73 74  | annot.copy.contents.to.non.exist | 
| 6a20 |  69 6e 67 20 64 69 72 65 63 74 6f 72 79 20 25 73    22 20 74 6f 29 29 0a 20 20 28 75 6e 6c 65 73 73  | ing.directory.%s".to))...(unless | 
| 6a40 |  20 28 66 2d 64 69 72 2d 70 20 66 72 6f 6d 29 0a    20 20 20 20 28 65 72 72 6f 72 20 22 43 61 6e 6e  | .(f-dir-p.from).....(error."Cann | 
| 6a60 |  6f 74 20 63 6f 70 79 20 63 6f 6e 74 65 6e 74 73    20 61 73 20 25 73 20 69 73 20 61 20 66 69 6c 65  | ot.copy.contents.as.%s.is.a.file | 
| 6a80 |  22 20 66 72 6f 6d 29 29 0a 20 20 28 2d 2d 65 61    63 68 20 28 66 2d 65 6e 74 72 69 65 73 20 66 72  | ".from))...(--each.(f-entries.fr | 
| 6aa0 |  6f 6d 29 0a 20 20 20 20 28 66 2d 63 6f 70 79 20    69 74 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 61 73  | om).....(f-copy.it.(file-name-as | 
| 6ac0 |  2d 64 69 72 65 63 74 6f 72 79 20 74 6f 29 29 29    29 0a 0a 28 64 65 66 75 6e 20 66 2d 74 6f 75 63  | -directory.to))))..(defun.f-touc | 
| 6ae0 |  68 20 28 70 61 74 68 29 0a 20 20 22 55 70 64 61    74 65 20 50 41 54 48 20 6c 61 73 74 20 6d 6f 64  | h.(path)..."Update.PATH.last.mod | 
| 6b00 |  69 66 69 63 61 74 69 6f 6e 20 64 61 74 65 20 6f    72 20 63 72 65 61 74 65 20 69 66 20 69 74 20 64  | ification.date.or.create.if.it.d | 
| 6b20 |  6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 22 0a    20 20 28 66 2d 2d 64 65 73 74 72 75 63 74 69 76  | oes.not.exist."...(f--destructiv | 
| 6b40 |  65 20 70 61 74 68 0a 20 20 20 20 28 69 66 20 28    66 2d 66 69 6c 65 2d 70 20 70 61 74 68 29 0a 20  | e.path.....(if.(f-file-p.path).. | 
| 6b60 |  20 20 20 20 20 20 20 28 73 65 74 2d 66 69 6c 65    2d 74 69 6d 65 73 20 70 61 74 68 29 0a 20 20 20  | .......(set-file-times.path).... | 
| 6b80 |  20 20 20 28 66 2d 77 72 69 74 65 2d 62 79 74 65    73 20 22 22 20 70 61 74 68 29 29 29 29 0a 0a 0c  | ...(f-write-bytes."".path))))... | 
| 6ba0 |  0a 3b 3b 3b 3b 20 50 72 65 64 69 63 61 74 65 73    0a 0a 28 64 65 66 61 6c 69 61 73 20 27 66 2d 65  | .;;;;.Predicates..(defalias.'f-e | 
| 6bc0 |  78 69 73 74 73 2d 70 20 27 66 69 6c 65 2d 65 78    69 73 74 73 2d 70 29 0a 28 64 65 66 61 6c 69 61  | xists-p.'file-exists-p).(defalia | 
| 6be0 |  73 20 27 66 2d 65 78 69 73 74 73 3f 20 27 66 69    6c 65 2d 65 78 69 73 74 73 2d 70 29 0a 0a 28 64  | s.'f-exists?.'file-exists-p)..(d | 
| 6c00 |  65 66 61 6c 69 61 73 20 27 66 2d 64 69 72 65 63    74 6f 72 79 2d 70 20 27 66 69 6c 65 2d 64 69 72  | efalias.'f-directory-p.'file-dir | 
| 6c20 |  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 65 63 74 6f 72 79  | ectory-p).(defalias.'f-directory | 
| 6c40 |  3f 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 6c 69 61 73 20 27  | ?.'file-directory-p).(defalias.' | 
| 6c60 |  66 2d 64 69 72 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  | f-dir-p.'file-directory-p).(defa | 
| 6c80 |  6c 69 61 73 20 27 66 2d 64 69 72 3f 20 27 66 69    6c 65 2d 64 69 72 65 63 74 6f 72 79 2d 70 29 0a  | lias.'f-dir?.'file-directory-p). | 
| 6ca0 |  0a 0a 28 64 65 66 61 6c 69 61 73 20 27 66 2d 66    69 6c 65 2d 70 20 27 66 69 6c 65 2d 72 65 67 75  | ..(defalias.'f-file-p.'file-regu | 
| 6cc0 |  6c 61 72 2d 70 29 0a 28 64 65 66 61 6c 69 61 73    20 27 66 2d 66 69 6c 65 3f 20 27 66 69 6c 65 2d  | lar-p).(defalias.'f-file?.'file- | 
| 6ce0 |  72 65 67 75 6c 61 72 2d 70 29 0a 0a 28 64 65 66    75 6e 20 66 2d 73 79 6d 6c 69 6e 6b 2d 70 20 28  | regular-p)..(defun.f-symlink-p.( | 
| 6d00 |  70 61 74 68 29 0a 20 20 22 52 65 74 75 72 6e 20    74 20 69 66 20 50 41 54 48 20 69 73 20 73 79 6d  | path)..."Return.t.if.PATH.is.sym | 
| 6d20 |  6c 69 6e 6b 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 28  | link,.false.otherwise."...(not.( | 
| 6d40 |  6e 6f 74 20 28 66 69 6c 65 2d 73 79 6d 6c 69 6e    6b 2d 70 20 70 61 74 68 29 29 29 29 0a 0a 28 64  | not.(file-symlink-p.path))))..(d | 
| 6d60 |  65 66 61 6c 69 61 73 20 27 66 2d 73 79 6d 6c 69    6e 6b 3f 20 27 66 2d 73 79 6d 6c 69 6e 6b 2d 70  | efalias.'f-symlink?.'f-symlink-p | 
| 6d80 |  29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 66 2d    72 65 61 64 61 62 6c 65 2d 70 20 27 66 69 6c 65  | )..(defalias.'f-readable-p.'file | 
| 6da0 |  2d 72 65 61 64 61 62 6c 65 2d 70 29 0a 28 64 65    66 61 6c 69 61 73 20 27 66 2d 72 65 61 64 61 62  | -readable-p).(defalias.'f-readab | 
| 6dc0 |  6c 65 3f 20 27 66 69 6c 65 2d 72 65 61 64 61 62    6c 65 2d 70 29 0a 0a 28 64 65 66 61 6c 69 61 73  | le?.'file-readable-p)..(defalias | 
| 6de0 |  20 27 66 2d 77 72 69 74 61 62 6c 65 2d 70 20 27    66 69 6c 65 2d 77 72 69 74 61 62 6c 65 2d 70 29  | .'f-writable-p.'file-writable-p) | 
| 6e00 |  0a 28 64 65 66 61 6c 69 61 73 20 27 66 2d 77 72    69 74 61 62 6c 65 3f 20 27 66 69 6c 65 2d 77 72  | .(defalias.'f-writable?.'file-wr | 
| 6e20 |  69 74 61 62 6c 65 2d 70 29 0a 0a 28 64 65 66 61    6c 69 61 73 20 27 66 2d 65 78 65 63 75 74 61 62  | itable-p)..(defalias.'f-executab | 
| 6e40 |  6c 65 2d 70 20 27 66 69 6c 65 2d 65 78 65 63 75    74 61 62 6c 65 2d 70 29 0a 28 64 65 66 61 6c 69  | le-p.'file-executable-p).(defali | 
| 6e60 |  61 73 20 27 66 2d 65 78 65 63 75 74 61 62 6c 65    3f 20 27 66 69 6c 65 2d 65 78 65 63 75 74 61 62  | as.'f-executable?.'file-executab | 
| 6e80 |  6c 65 2d 70 29 0a 0a 28 64 65 66 61 6c 69 61 73    20 27 66 2d 61 62 73 6f 6c 75 74 65 2d 70 20 27  | le-p)..(defalias.'f-absolute-p.' | 
| 6ea0 |  66 69 6c 65 2d 6e 61 6d 65 2d 61 62 73 6f 6c 75    74 65 2d 70 29 0a 28 64 65 66 61 6c 69 61 73 20  | file-name-absolute-p).(defalias. | 
| 6ec0 |  27 66 2d 61 62 73 6f 6c 75 74 65 3f 20 27 66 69    6c 65 2d 6e 61 6d 65 2d 61 62 73 6f 6c 75 74 65  | 'f-absolute?.'file-name-absolute | 
| 6ee0 |  2d 70 29 0a 0a 28 64 65 66 75 6e 20 66 2d 72 65    6c 61 74 69 76 65 2d 70 20 28 70 61 74 68 29 0a  | -p)..(defun.f-relative-p.(path). | 
| 6f00 |  20 20 22 52 65 74 75 72 6e 20 74 20 69 66 20 50    41 54 48 20 69 73 20 72 65 6c 61 74 69 76 65 2c  | .."Return.t.if.PATH.is.relative, | 
| 6f20 |  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 28 66 2d 61 62 73  | .false.otherwise."...(not.(f-abs | 
| 6f40 |  6f 6c 75 74 65 2d 70 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  | olute-p.path)))..(defalias.'f-re | 
| 6f60 |  6c 61 74 69 76 65 3f 20 27 66 2d 72 65 6c 61 74    69 76 65 2d 70 29 0a 0a 28 64 65 66 75 6e 20 66  | lative?.'f-relative-p)..(defun.f | 
| 6f80 |  2d 72 6f 6f 74 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 50 41  | -root-p.(path)..."Return.t.if.PA | 
| 6fa0 |  54 48 20 69 73 20 72 6f 6f 74 20 64 69 72 65 63    74 6f 72 79 2c 20 66 61 6c 73 65 20 6f 74 68 65  | TH.is.root.directory,.false.othe | 
| 6fc0 |  72 77 69 73 65 2e 22 0a 20 20 28 6e 6f 74 20 28    66 2d 70 61 72 65 6e 74 20 70 61 74 68 29 29 29  | rwise."...(not.(f-parent.path))) | 
| 6fe0 |  0a 0a 28 64 65 66 61 6c 69 61 73 20 27 66 2d 72    6f 6f 74 3f 20 27 66 2d 72 6f 6f 74 2d 70 29 0a  | ..(defalias.'f-root?.'f-root-p). | 
| 7000 |  0a 28 64 65 66 75 6e 20 66 2d 65 78 74 2d 70 20    28 70 61 74 68 20 26 6f 70 74 69 6f 6e 61 6c 20  | .(defun.f-ext-p.(path.&optional. | 
| 7020 |  65 78 74 29 0a 20 20 22 52 65 74 75 72 6e 20 74    20 69 66 20 65 78 74 65 6e 73 69 6f 6e 20 6f 66  | ext)..."Return.t.if.extension.of | 
| 7040 |  20 50 41 54 48 20 69 73 20 45 58 54 2c 20 66 61    6c 73 65 20 6f 74 68 65 72 77 69 73 65 2e 0a 0a  | .PATH.is.EXT,.false.otherwise... | 
| 7060 |  49 66 20 45 58 54 20 69 73 20 6e 69 6c 20 6f 72    20 6f 6d 69 74 74 65 64 2c 20 72 65 74 75 72 6e  | If.EXT.is.nil.or.omitted,.return | 
| 7080 |  20 74 20 69 66 20 50 41 54 48 20 68 61 73 20 61    6e 79 20 65 78 74 65 6e 73 69 6f 6e 2c 0a 66 61  | .t.if.PATH.has.any.extension,.fa | 
| 70a0 |  6c 73 65 20 6f 74 68 65 72 77 69 73 65 2e 0a 0a    54 68 65 20 65 78 74 65 6e 73 69 6f 6e 2c 20 69  | lse.otherwise...The.extension,.i | 
| 70c0 |  6e 20 61 20 66 69 6c 65 20 6e 61 6d 65 2c 20 69    73 20 74 68 65 20 70 61 72 74 20 74 68 61 74 20  | n.a.file.name,.is.the.part.that. | 
| 70e0 |  66 6f 6c 6c 6f 77 73 20 74 68 65 20 6c 61 73 74    0a 27 2e 27 2c 20 65 78 63 6c 75 64 69 6e 67 20  | follows.the.last.'.',.excluding. | 
| 7100 |  76 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 73 20    61 6e 64 20 62 61 63 6b 75 70 20 73 75 66 66 69  | version.numbers.and.backup.suffi | 
| 7120 |  78 65 73 2e 22 0a 20 20 28 69 66 20 65 78 74 0a    20 20 20 20 20 20 28 73 74 72 69 6e 67 3d 20 28  | xes."...(if.ext.......(string=.( | 
| 7140 |  66 2d 65 78 74 20 70 61 74 68 29 20 65 78 74 29    0a 20 20 20 20 28 6e 6f 74 20 28 65 71 20 28 66  | f-ext.path).ext).....(not.(eq.(f | 
| 7160 |  2d 65 78 74 20 70 61 74 68 29 20 6e 69 6c 29 29    29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 66  | -ext.path).nil))))..(defalias.'f | 
| 7180 |  2d 65 78 74 3f 20 27 66 2d 65 78 74 2d 70 29 0a    0a 28 64 65 66 61 6c 69 61 73 20 27 66 2d 65 71  | -ext?.'f-ext-p)..(defalias.'f-eq | 
| 71a0 |  75 61 6c 2d 70 20 27 66 2d 73 61 6d 65 2d 70 29    0a 28 64 65 66 61 6c 69 61 73 20 27 66 2d 65 71  | ual-p.'f-same-p).(defalias.'f-eq | 
| 71c0 |  75 61 6c 3f 20 27 66 2d 73 61 6d 65 2d 70 29 0a    0a 28 64 65 66 75 6e 20 66 2d 73 61 6d 65 2d 70  | ual?.'f-same-p)..(defun.f-same-p | 
| 71e0 |  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 6e 20 74 20 69 66 20  | .(path-a.path-b)..."Return.t.if. | 
| 7200 |  50 41 54 48 2d 41 20 61 6e 64 20 50 41 54 48 2d    42 20 61 72 65 20 72 65 66 65 72 65 6e 63 65 73  | PATH-A.and.PATH-B.are.references | 
| 7220 |  20 74 6f 20 73 61 6d 65 20 66 69 6c 65 2e 22 0a    20 20 28 65 71 75 61 6c 0a 20 20 20 28 66 2d 63  | .to.same.file."...(equal....(f-c | 
| 7240 |  61 6e 6f 6e 69 63 61 6c 20 28 64 69 72 65 63 74    6f 72 79 2d 66 69 6c 65 2d 6e 61 6d 65 20 28 66  | anonical.(directory-file-name.(f | 
| 7260 |  2d 65 78 70 61 6e 64 20 70 61 74 68 2d 61 29 29    29 0a 20 20 20 28 66 2d 63 61 6e 6f 6e 69 63 61  | -expand.path-a)))....(f-canonica | 
| 7280 |  6c 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  | l.(directory-file-name.(f-expand | 
| 72a0 |  20 70 61 74 68 2d 62 29 29 29 29 29 0a 0a 28 64    65 66 61 6c 69 61 73 20 27 66 2d 73 61 6d 65 3f  | .path-b)))))..(defalias.'f-same? | 
| 72c0 |  20 27 66 2d 73 61 6d 65 2d 70 29 0a 0a 28 64 65    66 75 6e 20 66 2d 70 61 72 65 6e 74 2d 6f 66 2d  | .'f-same-p)..(defun.f-parent-of- | 
| 72e0 |  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 6e 20 74 20 69 66  | p.(path-a.path-b)..."Return.t.if | 
| 7300 |  20 50 41 54 48 2d 41 20 69 73 20 70 61 72 65 6e    74 20 6f 66 20 50 41 54 48 2d 42 2e 22 0a 20 20  | .PATH-A.is.parent.of.PATH-B."... | 
| 7320 |  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 62 29 0a 20 20  | (--when-let.(f-parent.path-b)... | 
| 7340 |  20 20 28 66 2d 73 61 6d 65 2d 70 20 70 61 74 68    2d 61 20 69 74 29 29 29 0a 0a 28 64 65 66 61 6c  | ..(f-same-p.path-a.it)))..(defal | 
| 7360 |  69 61 73 20 27 66 2d 70 61 72 65 6e 74 2d 6f 66    3f 20 27 66 2d 70 61 72 65 6e 74 2d 6f 66 2d 70  | ias.'f-parent-of?.'f-parent-of-p | 
| 7380 |  29 0a 0a 28 64 65 66 75 6e 20 66 2d 63 68 69 6c    64 2d 6f 66 2d 70 20 28 70 61 74 68 2d 61 20 70  | )..(defun.f-child-of-p.(path-a.p | 
| 73a0 |  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 2d 41 20 69 73 20  | ath-b)..."Return.t.if.PATH-A.is. | 
| 73c0 |  63 68 69 6c 64 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  | child.of.PATH-B."...(--when-let. | 
| 73e0 |  28 66 2d 70 61 72 65 6e 74 20 70 61 74 68 2d 61    29 0a 20 20 20 20 28 66 2d 73 61 6d 65 2d 70 20  | (f-parent.path-a).....(f-same-p. | 
| 7400 |  69 74 20 70 61 74 68 2d 62 29 29 29 0a 0a 28 64    65 66 61 6c 69 61 73 20 27 66 2d 63 68 69 6c 64  | it.path-b)))..(defalias.'f-child | 
| 7420 |  2d 6f 66 3f 20 27 66 2d 63 68 69 6c 64 2d 6f 66    2d 70 29 0a 0a 28 64 65 66 75 6e 20 66 2d 61 6e  | -of?.'f-child-of-p)..(defun.f-an | 
| 7440 |  63 65 73 74 6f 72 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  | cestor-of-p.(path-a.path-b)..."R | 
| 7460 |  65 74 75 72 6e 20 74 20 69 66 20 50 41 54 48 2d    41 20 69 73 20 61 6e 63 65 73 74 6f 72 20 6f 66  | eturn.t.if.PATH-A.is.ancestor.of | 
| 7480 |  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 6d 65 2d 70 20 70 61  | .PATH-B."...(unless.(f-same-p.pa | 
| 74a0 |  74 68 2d 61 20 70 61 74 68 2d 62 29 0a 20 20 20    20 28 73 74 72 69 6e 67 2d 70 72 65 66 69 78 2d  | th-a.path-b).....(string-prefix- | 
| 74c0 |  70 20 28 66 2d 66 75 6c 6c 20 70 61 74 68 2d 61    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | p.(f-full.path-a)............... | 
| 74e0 |  20 20 20 20 20 20 20 28 66 2d 66 75 6c 6c 20 70    61 74 68 2d 62 29 29 29 29 0a 0a 28 64 65 66 61  | .......(f-full.path-b))))..(defa | 
| 7500 |  6c 69 61 73 20 27 66 2d 61 6e 63 65 73 74 6f 72    2d 6f 66 3f 20 27 66 2d 61 6e 63 65 73 74 6f 72  | lias.'f-ancestor-of?.'f-ancestor | 
| 7520 |  2d 6f 66 2d 70 29 0a 0a 28 64 65 66 75 6e 20 66    2d 64 65 73 63 65 6e 64 61 6e 74 2d 6f 66 2d 70  | -of-p)..(defun.f-descendant-of-p | 
| 7540 |  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 6e 20 74 20 69 66 20  | .(path-a.path-b)..."Return.t.if. | 
| 7560 |  50 41 54 48 2d 41 20 69 73 20 64 65 73 65 6e 64    61 6e 74 20 6f 66 20 50 41 54 48 2d 42 2e 22 0a  | PATH-A.is.desendant.of.PATH-B.". | 
| 7580 |  20 20 28 75 6e 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  | ..(unless.(f-same-p.path-a.path- | 
| 75a0 |  62 29 0a 20 20 20 20 28 6c 65 74 20 28 28 70 61    74 68 2d 61 20 28 66 2d 73 70 6c 69 74 20 28 66  | b).....(let.((path-a.(f-split.(f | 
| 75c0 |  2d 66 75 6c 6c 20 70 61 74 68 2d 61 29 29 29 0a    20 20 20 20 20 20 20 20 20 20 28 70 61 74 68 2d  | -full.path-a)))...........(path- | 
| 75e0 |  62 20 28 66 2d 73 70 6c 69 74 20 28 66 2d 66 75    6c 6c 20 70 61 74 68 2d 62 29 29 29 0a 20 20 20  | b.(f-split.(f-full.path-b))).... | 
| 7600 |  20 20 20 20 20 20 20 28 70 61 72 65 6e 74 2d 70    20 74 29 29 0a 20 20 20 20 20 20 28 77 68 69 6c  | .......(parent-p.t)).......(whil | 
| 7620 |  65 20 28 61 6e 64 20 70 61 74 68 2d 62 20 70 61    72 65 6e 74 2d 70 29 0a 20 20 20 20 20 20 20 20  | e.(and.path-b.parent-p)......... | 
| 7640 |  28 69 66 20 28 73 74 72 69 6e 67 3d 20 28 63 61    72 20 70 61 74 68 2d 61 29 20 28 63 61 72 20 70  | (if.(string=.(car.path-a).(car.p | 
| 7660 |  61 74 68 2d 62 29 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 28 73 65 74 71 20 70 61 74 68 2d 61  | ath-b)).............(setq.path-a | 
| 7680 |  20 28 63 64 72 20 70 61 74 68 2d 61 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | .(cdr.path-a)................... | 
| 76a0 |  70 61 74 68 2d 62 20 28 63 64 72 20 70 61 74 68    2d 62 29 29 0a 20 20 20 20 20 20 20 20 20 20 28  | path-b.(cdr.path-b))...........( | 
| 76c0 |  73 65 74 71 20 70 61 72 65 6e 74 2d 70 20 6e 69    6c 29 29 29 0a 20 20 20 20 20 20 70 61 72 65 6e  | setq.parent-p.nil))).......paren | 
| 76e0 |  74 2d 70 29 29 29 0a 0a 28 64 65 66 61 6c 69 61    73 20 27 66 2d 64 65 73 63 65 6e 64 61 6e 74 2d  | t-p)))..(defalias.'f-descendant- | 
| 7700 |  6f 66 3f 20 27 66 2d 64 65 73 63 65 6e 64 61 6e    74 2d 6f 66 2d 70 29 0a 0a 28 64 65 66 75 6e 20  | of?.'f-descendant-of-p)..(defun. | 
| 7720 |  66 2d 68 69 64 64 65 6e 2d 70 20 28 70 61 74 68    20 26 6f 70 74 69 6f 6e 61 6c 20 62 65 68 61 76  | f-hidden-p.(path.&optional.behav | 
| 7740 |  69 6f 72 29 0a 20 20 22 52 65 74 75 72 6e 20 74    20 69 66 20 50 41 54 48 20 69 73 20 68 69 64 64  | ior)..."Return.t.if.PATH.is.hidd | 
| 7760 |  65 6e 2c 20 6e 69 6c 20 6f 74 68 65 72 77 69 73    65 2e 0a 0a 42 45 48 41 56 49 4f 52 20 63 6f 6e  | en,.nil.otherwise...BEHAVIOR.con | 
| 7780 |  74 72 6f 6c 73 20 77 68 65 6e 20 61 20 70 61 74    68 20 73 68 6f 75 6c 64 20 62 65 20 63 6f 6e 73  | trols.when.a.path.should.be.cons | 
| 77a0 |  69 64 65 72 65 64 20 61 73 20 68 69 64 64 65 6e    0a 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 69 74  | idered.as.hidden.depending.on.it | 
| 77c0 |  73 20 76 61 6c 75 65 2e 20 20 42 65 77 61 72 65    2c 20 69 66 20 50 41 54 48 20 62 65 67 69 6e 73  | s.value...Beware,.if.PATH.begins | 
| 77e0 |  20 77 69 74 68 20 5c 22 2e 2f 5c 22 2c 20 74 68    65 0a 63 75 72 72 65 6e 74 20 64 69 72 20 5c 22  | .with.\"./\",.the.current.dir.\" | 
| 7800 |  2e 5c 22 20 77 69 6c 6c 20 6e 6f 74 20 62 65 20    63 6f 6e 73 69 64 65 72 65 64 20 61 73 20 68 69  | .\".will.not.be.considered.as.hi | 
| 7820 |  64 64 65 6e 2e 0a 0a 57 68 65 6e 20 42 45 48 41    56 49 4f 52 20 69 73 20 6e 69 6c 2c 20 69 74 20  | dden...When.BEHAVIOR.is.nil,.it. | 
| 7840 |  77 69 6c 6c 20 6f 6e 6c 79 20 63 68 65 63 6b 20    69 66 20 74 68 65 20 70 61 74 68 20 62 65 67 69  | will.only.check.if.the.path.begi | 
| 7860 |  6e 73 20 77 69 74 68 0a 61 20 64 6f 74 2c 20 61    73 20 69 6e 20 2e 61 2f 62 2f 63 2c 20 61 6e 64  | ns.with.a.dot,.as.in..a/b/c,.and | 
| 7880 |  20 72 65 74 75 72 6e 20 74 20 69 66 20 74 68 65    72 65 20 69 73 20 6f 6e 65 2e 20 20 54 68 69 73  | .return.t.if.there.is.one...This | 
| 78a0 |  20 69 73 20 74 68 65 0a 6f 6c 64 20 62 65 68 61    76 69 6f 72 20 6f 66 20 66 2e 65 6c 20 6c 65 66  | .is.the.old.behavior.of.f.el.lef | 
| 78c0 |  74 20 61 73 20 64 65 66 61 75 6c 74 20 66 6f 72    20 62 61 63 6b 77 61 72 64 2d 63 6f 6d 70 61 74  | t.as.default.for.backward-compat | 
| 78e0 |  69 62 69 6c 69 74 79 0a 70 75 72 70 6f 73 65 73    2e 0a 0a 57 68 65 6e 20 42 45 48 41 56 49 4f 52  | ibility.purposes...When.BEHAVIOR | 
| 7900 |  20 69 73 20 41 4e 59 2c 20 72 65 74 75 72 6e 20    74 20 69 66 20 61 6e 79 20 6f 66 20 74 68 65 20  | .is.ANY,.return.t.if.any.of.the. | 
| 7920 |  65 6c 65 6d 65 6e 74 73 20 6f 66 20 50 41 54 48    20 69 73 0a 68 69 64 64 65 6e 2c 20 6e 69 6c 20  | elements.of.PATH.is.hidden,.nil. | 
| 7940 |  6f 74 68 65 72 77 69 73 65 2e 0a 0a 57 68 65 6e    20 42 45 48 41 56 49 4f 52 20 69 73 20 4c 41 53  | otherwise...When.BEHAVIOR.is.LAS | 
| 7960 |  54 2c 20 72 65 74 75 72 6e 20 74 20 6f 6e 6c 79    20 69 66 20 74 68 65 20 6c 61 73 74 20 65 6c 65  | T,.return.t.only.if.the.last.ele | 
| 7980 |  6d 65 6e 74 20 6f 66 20 50 41 54 48 0a 69 73 20    68 69 64 64 65 6e 2c 20 6e 69 6c 20 6f 74 68 65  | ment.of.PATH.is.hidden,.nil.othe | 
| 79a0 |  72 77 69 73 65 2e 0a 0a 54 4f 44 4f 3a 20 48 69    64 64 65 6e 20 64 69 72 65 63 74 6f 72 69 65 73  | rwise...TODO:.Hidden.directories | 
| 79c0 |  20 61 6e 64 20 66 69 6c 65 73 20 6f 6e 20 57 69    6e 64 6f 77 73 20 61 72 65 20 6d 61 72 6b 65 64  | .and.files.on.Windows.are.marked | 
| 79e0 |  0a 64 69 66 66 65 72 65 6e 74 6c 79 20 74 68 61    6e 20 6f 6e 20 2a 4e 49 58 20 73 79 73 74 65 6d  | .differently.than.on.*NIX.system | 
| 7a00 |  73 2e 20 20 54 68 69 73 20 73 68 6f 75 6c 64 20    62 65 20 70 72 6f 70 65 72 6c 79 0a 69 6d 70 6c  | s...This.should.be.properly.impl | 
| 7a20 |  65 6d 65 6e 74 65 64 2e 22 0a 20 20 28 6c 65 74    20 28 28 73 70 6c 69 74 2d 70 61 74 68 20 28 66  | emented."...(let.((split-path.(f | 
| 7a40 |  2d 73 70 6c 69 74 20 70 61 74 68 29 29 0a 20 20    20 20 20 20 20 20 28 63 68 65 63 6b 2d 68 69 64  | -split.path)).........(check-hid | 
| 7a60 |  64 65 6e 20 28 6c 61 6d 62 64 61 20 28 65 6c 74    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | den.(lambda.(elt)............... | 
| 7a80 |  20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28    73 74 72 69 6e 67 3d 20 28 73 75 62 73 74 72 69  | ..........(and.(string=.(substri | 
| 7aa0 |  6e 67 20 65 6c 74 20 30 20 31 29 20 22 2e 22 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ng.elt.0.1).".")................ | 
| 7ac0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e    6f 74 20 28 6d 65 6d 62 65 72 20 65 6c 74 20 27  | ..............(not.(member.elt.' | 
| 7ae0 |  28 22 2e 22 20 22 2e 2e 22 29 29 29 29 29 29 29    0a 20 20 20 20 28 70 63 61 73 65 20 62 65 68 61  | (".".".."))))))).....(pcase.beha | 
| 7b00 |  76 69 6f 72 0a 20 20 20 20 20 20 28 27 61 6e 79    20 20 28 2d 61 6e 79 20 63 68 65 63 6b 2d 68 69  | vior.......('any..(-any.check-hi | 
| 7b20 |  64 64 65 6e 20 73 70 6c 69 74 2d 70 61 74 68 29    29 0a 20 20 20 20 20 20 28 27 6c 61 73 74 20 28  | dden.split-path)).......('last.( | 
| 7b40 |  61 70 70 6c 79 20 63 68 65 63 6b 2d 68 69 64 64    65 6e 20 28 6c 61 73 74 20 73 70 6c 69 74 2d 70  | apply.check-hidden.(last.split-p | 
| 7b60 |  61 74 68 29 29 29 0a 20 20 20 20 20 20 28 6f 74    68 65 72 77 69 73 65 20 28 69 66 20 28 6e 75 6c  | ath))).......(otherwise.(if.(nul | 
| 7b80 |  6c 20 6f 74 68 65 72 77 69 73 65 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | l.otherwise).................... | 
| 7ba0 |  20 20 28 66 75 6e 63 61 6c 6c 20 63 68 65 63 6b    2d 68 69 64 64 65 6e 20 28 63 61 72 20 73 70 6c  | ..(funcall.check-hidden.(car.spl | 
| 7bc0 |  69 74 2d 70 61 74 68 29 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 72  | it-path))....................(er | 
| 7be0 |  72 6f 72 20 22 49 6e 76 61 6c 69 64 20 76 61 6c    75 65 20 25 53 20 66 6f 72 20 61 72 67 75 6d 65  | ror."Invalid.value.%S.for.argume | 
| 7c00 |  6e 74 20 42 45 48 41 56 49 4f 52 22 20 6f 74 68    65 72 77 69 73 65 29 29 29 29 29 29 0a 0a 28 64  | nt.BEHAVIOR".otherwise))))))..(d | 
| 7c20 |  65 66 61 6c 69 61 73 20 27 66 2d 68 69 64 64 65    6e 3f 20 27 66 2d 68 69 64 64 65 6e 2d 70 29 0a  | efalias.'f-hidden?.'f-hidden-p). | 
| 7c40 |  0a 28 64 65 66 75 6e 20 66 2d 65 6d 70 74 79 2d    70 20 28 70 61 74 68 29 0a 20 20 22 49 66 20 50  | .(defun.f-empty-p.(path)..."If.P | 
| 7c60 |  41 54 48 20 69 73 20 61 20 66 69 6c 65 2c 20 72    65 74 75 72 6e 20 74 20 69 66 20 74 68 65 20 66  | ATH.is.a.file,.return.t.if.the.f | 
| 7c80 |  69 6c 65 20 69 6e 20 50 41 54 48 20 69 73 20 65    6d 70 74 79 2c 20 6e 69 6c 20 6f 74 68 65 72 77  | ile.in.PATH.is.empty,.nil.otherw | 
| 7ca0 |  69 73 65 2e 0a 49 66 20 50 41 54 48 20 69 73 20    64 69 72 65 63 74 6f 72 79 2c 20 72 65 74 75 72  | ise..If.PATH.is.directory,.retur | 
| 7cc0 |  6e 20 74 20 69 66 20 64 69 72 65 63 74 6f 72 79    20 68 61 73 20 6e 6f 20 66 69 6c 65 73 2c 20 6e  | n.t.if.directory.has.no.files,.n | 
| 7ce0 |  69 6c 20 6f 74 68 65 72 77 69 73 65 2e 22 0a 20    20 28 69 66 20 28 66 2d 64 69 72 65 63 74 6f 72  | il.otherwise."...(if.(f-director | 
| 7d00 |  79 2d 70 20 70 61 74 68 29 0a 20 20 20 20 20 20    28 65 71 75 61 6c 20 28 66 2d 66 69 6c 65 73 20  | y-p.path).......(equal.(f-files. | 
| 7d20 |  70 61 74 68 20 6e 69 6c 20 74 29 20 6e 69 6c 29    0a 20 20 20 20 28 3d 20 28 66 2d 73 69 7a 65 20  | path.nil.t).nil).....(=.(f-size. | 
| 7d40 |  70 61 74 68 29 20 30 29 29 29 0a 0a 28 64 65 66    61 6c 69 61 73 20 27 66 2d 65 6d 70 74 79 3f 20  | path).0)))..(defalias.'f-empty?. | 
| 7d60 |  27 66 2d 65 6d 70 74 79 2d 70 29 0a 0a 0c 0a 3b    3b 3b 3b 20 53 74 61 74 73 0a 0a 28 64 65 66 75  | 'f-empty-p)....;;;;.Stats..(defu | 
| 7d80 |  6e 20 66 2d 73 69 7a 65 20 28 70 61 74 68 29 0a    20 20 22 52 65 74 75 72 6e 20 73 69 7a 65 20 6f  | n.f-size.(path)..."Return.size.o | 
| 7da0 |  66 20 50 41 54 48 2e 0a 0a 49 66 20 50 41 54 48    20 69 73 20 61 20 66 69 6c 65 2c 20 72 65 74 75  | f.PATH...If.PATH.is.a.file,.retu | 
| 7dc0 |  72 6e 20 73 69 7a 65 20 6f 66 20 74 68 61 74 20    66 69 6c 65 2e 20 20 49 66 20 50 41 54 48 20 69  | rn.size.of.that.file...If.PATH.i | 
| 7de0 |  73 0a 64 69 72 65 63 74 6f 72 79 2c 20 72 65 74    75 72 6e 20 73 75 6d 20 6f 66 20 61 6c 6c 20 66  | s.directory,.return.sum.of.all.f | 
| 7e00 |  69 6c 65 73 20 69 6e 20 50 41 54 48 2e 22 0a 20    20 28 69 66 20 28 66 2d 64 69 72 65 63 74 6f 72  | iles.in.PATH."...(if.(f-director | 
| 7e20 |  79 2d 70 20 70 61 74 68 29 0a 20 20 20 20 20 20    28 2d 73 75 6d 20 28 2d 6d 61 70 20 27 66 2d 73  | y-p.path).......(-sum.(-map.'f-s | 
| 7e40 |  69 7a 65 20 28 66 2d 66 69 6c 65 73 20 70 61 74    68 20 6e 69 6c 20 74 29 29 29 0a 20 20 20 20 28  | ize.(f-files.path.nil.t))).....( | 
| 7e60 |  6e 74 68 20 37 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 29 0a  | nth.7.(file-attributes.path)))). | 
| 7e80 |  0a 28 64 65 66 75 6e 20 66 2d 64 65 70 74 68 20    28 70 61 74 68 29 0a 20 20 22 52 65 74 75 72 6e  | .(defun.f-depth.(path)..."Return | 
| 7ea0 |  20 74 68 65 20 64 65 70 74 68 20 6f 66 20 50 41    54 48 2e 0a 0a 41 74 20 66 69 72 73 74 2c 20 50  | .the.depth.of.PATH...At.first,.P | 
| 7ec0 |  41 54 48 20 69 73 20 65 78 70 61 6e 64 65 64 20    77 69 74 68 20 60 66 2d 65 78 70 61 6e 64 27 2e  | ATH.is.expanded.with.`f-expand'. | 
| 7ee0 |  20 20 54 68 65 6e 20 74 68 65 20 66 75 6c 6c 20    70 61 74 68 20 69 73 20 75 73 65 64 20 74 6f 0a  | ..Then.the.full.path.is.used.to. | 
| 7f00 |  64 65 74 65 63 74 20 74 68 65 20 64 65 70 74 68    2e 0a 27 2f 27 20 77 69 6c 6c 20 62 65 20 7a 65  | detect.the.depth..'/'.will.be.ze | 
| 7f20 |  72 6f 20 64 65 70 74 68 2c 20 20 27 2f 75 73 72    27 20 77 69 6c 6c 20 62 65 20 6f 6e 65 20 64 65  | ro.depth,..'/usr'.will.be.one.de | 
| 7f40 |  70 74 68 2e 20 20 41 6e 64 20 73 6f 20 6f 6e 2e    22 0a 20 20 28 2d 20 28 6c 65 6e 67 74 68 20 28  | pth...And.so.on."...(-.(length.( | 
| 7f60 |  66 2d 73 70 6c 69 74 20 28 66 2d 65 78 70 61 6e    64 20 70 61 74 68 29 29 29 20 31 29 29 0a 0a 3b  | f-split.(f-expand.path))).1))..; | 
| 7f80 |  3b 20 46 6f 72 20 45 6d 61 63 73 20 32 38 20 61    6e 64 20 62 65 6c 6f 77 2c 20 66 6f 72 77 61 72  | ;.For.Emacs.28.and.below,.forwar | 
| 7fa0 |  64 2d 64 65 63 6c 61 72 65 20 e2 80 98 63 75 72    72 65 6e 74 2d 74 69 6d 65 2d 6c 69 73 74 e2 80  | d-declare....current-time-list.. | 
| 7fc0 |  99 2c 20 77 68 69 63 68 20 77 61 73 0a 3b 3b 20    69 6e 74 72 6f 64 75 63 65 64 20 69 6e 20 45 6d  | .,.which.was.;;.introduced.in.Em | 
| 7fe0 |  61 63 73 20 32 39 2e 0a 28 64 65 66 76 61 72 20    63 75 72 72 65 6e 74 2d 74 69 6d 65 2d 6c 69 73  | acs.29..(defvar.current-time-lis | 
| 8000 |  74 29 0a 0a 28 64 65 66 75 6e 20 66 2d 2d 67 65    74 2d 74 69 6d 65 20 28 70 61 74 68 20 74 69 6d  | t)..(defun.f--get-time.(path.tim | 
| 8020 |  65 73 74 61 6d 70 2d 70 20 66 6e 29 0a 20 20 22    48 65 6c 70 65 72 20 66 75 6e 63 74 69 6f 6e 2c  | estamp-p.fn)..."Helper.function, | 
| 8040 |  20 67 65 74 20 74 69 6d 65 2d 72 65 6c 61 74 65    64 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 66 6f  | .get.time-related.information.fo | 
| 8060 |  72 20 50 41 54 48 2e 0a 48 65 6c 70 65 72 20 66    6f 72 20 60 66 2d 63 68 61 6e 67 65 2d 74 69 6d  | r.PATH..Helper.for.`f-change-tim | 
| 8080 |  65 27 2c 20 60 66 2d 6d 6f 64 69 66 69 63 61 74    69 6f 6e 2d 74 69 6d 65 27 2c 0a 60 66 2d 61 63  | e',.`f-modification-time',.`f-ac | 
| 80a0 |  63 65 73 73 2d 74 69 6d 65 27 2e 20 20 49 74 20    69 73 20 6d 65 61 6e 74 20 74 6f 20 62 65 20 63  | cess-time'...It.is.meant.to.be.c | 
| 80c0 |  61 6c 6c 65 64 20 69 6e 74 65 72 6e 61 6c 6c 79    2c 20 61 76 6f 69 64 0a 63 61 6c 6c 69 6e 67 20  | alled.internally,.avoid.calling. | 
| 80e0 |  69 74 20 6d 61 6e 75 61 6c 6c 79 20 75 6e 6c 65    73 73 20 79 6f 75 20 68 61 76 65 20 74 6f 2e 0a  | it.manually.unless.you.have.to.. | 
| 8100 |  0a 49 66 20 54 49 4d 45 53 54 41 4d 50 2d 50 20    69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 72 65 74 75  | .If.TIMESTAMP-P.is.non-nil,.retu | 
| 8120 |  72 6e 20 74 68 65 20 64 61 74 65 20 72 65 71 75    65 73 74 65 64 20 61 73 20 61 0a 74 69 6d 65 73  | rn.the.date.requested.as.a.times | 
| 8140 |  74 61 6d 70 2e 20 20 49 66 20 74 68 65 20 76 61    6c 75 65 20 69 73 20 5c 5c 3d 27 73 65 63 6f 6e  | tamp...If.the.value.is.\\='secon | 
| 8160 |  64 73 2c 20 72 65 74 75 72 6e 20 74 68 65 20 74    69 6d 65 73 74 61 6d 70 20 61 73 0a 61 20 74 69  | ds,.return.the.timestamp.as.a.ti | 
| 8180 |  6d 65 73 74 61 6d 70 20 77 69 74 68 20 61 20 6f    6e 65 2d 73 65 63 6f 6e 64 20 70 72 65 63 69 73  | mestamp.with.a.one-second.precis | 
| 81a0 |  69 6f 6e 2e 20 20 4f 74 68 65 72 77 69 73 65 2c    20 74 68 65 0a 74 69 6d 65 73 74 61 6d 70 20 69  | ion...Otherwise,.the.timestamp.i | 
| 81c0 |  73 20 72 65 74 75 72 6e 65 64 20 69 6e 20 61 20    28 54 49 43 4b 53 20 2e 20 48 5a 29 20 66 6f 72  | s.returned.in.a.(TICKS...HZ).for | 
| 81e0 |  6d 61 74 2c 20 73 65 65 0a 60 63 75 72 72 65 6e    74 2d 74 69 6d 65 27 20 69 66 20 75 73 69 6e 67  | mat,.see.`current-time'.if.using | 
| 8200 |  20 45 6d 61 63 73 20 32 39 20 6f 72 20 6e 65 77    65 72 2e 0a 0a 4f 74 68 65 72 77 69 73 65 2c 20  | .Emacs.29.or.newer...Otherwise,. | 
| 8220 |  69 66 20 54 49 4d 45 53 54 41 4d 50 2d 50 20 69    73 20 6e 69 6c 2c 20 72 65 74 75 72 6e 20 74 68  | if.TIMESTAMP-P.is.nil,.return.th | 
| 8240 |  65 20 64 65 66 61 75 6c 74 20 73 74 79 6c 65 20    6f 66 0a 60 63 75 72 72 65 6e 74 2d 74 69 6d 65  | e.default.style.of.`current-time | 
| 8260 |  27 2e 0a 0a 46 4e 20 69 73 20 74 68 65 20 66 75    6e 63 74 69 6f 6e 20 73 70 65 63 69 66 69 65 64  | '...FN.is.the.function.specified | 
| 8280 |  20 62 79 20 74 68 65 20 63 61 6c 6c 65 72 20 66    75 6e 63 74 69 6f 6e 20 74 6f 20 72 65 74 72 69  | .by.the.caller.function.to.retri | 
| 82a0 |  65 76 65 0a 74 68 65 20 63 6f 72 72 65 63 74 20    64 61 74 61 20 66 72 6f 6d 20 50 41 54 48 2e 22  | eve.the.correct.data.from.PATH." | 
| 82c0 |  0a 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 63    75 72 72 65 6e 74 2d 74 69 6d 65 2d 6c 69 73 74  | .......(let*.((current-time-list | 
| 82e0 |  20 28 6e 6f 74 20 74 69 6d 65 73 74 61 6d 70 2d    70 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  | .(not.timestamp-p))............. | 
| 8300 |  20 28 64 61 74 65 20 28 61 70 70 6c 79 20 66 6e    20 28 6c 69 73 74 20 28 66 69 6c 65 2d 61 74 74  | .(date.(apply.fn.(list.(file-att | 
| 8320 |  72 69 62 75 74 65 73 20 70 61 74 68 29 29 29 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65  | ributes.path))))..............(e | 
| 8340 |  6d 61 63 73 32 39 2d 6f 72 2d 6e 65 77 65 72 2d    70 20 28 76 65 72 73 69 6f 6e 3c 3d 20 22 32 39  | macs29-or-newer-p.(version<=."29 | 
| 8360 |  22 20 65 6d 61 63 73 2d 76 65 72 73 69 6f 6e 29    29 29 0a 20 20 20 20 20 20 20 20 28 63 6f 6e 64  | ".emacs-version))).........(cond | 
| 8380 |  0a 20 20 20 20 20 20 20 20 20 28 28 61 6e 64 20    28 65 71 20 74 69 6d 65 73 74 61 6d 70 2d 70 20  | ..........((and.(eq.timestamp-p. | 
| 83a0 |  27 73 65 63 6f 6e 64 73 29 20 65 6d 61 63 73 32    39 2d 6f 72 2d 6e 65 77 65 72 2d 70 29 0a 20 20  | 'seconds).emacs29-or-newer-p)... | 
| 83c0 |  20 20 20 20 20 20 20 20 28 2f 20 28 63 61 72 20    64 61 74 65 29 20 28 63 64 72 20 64 61 74 65 29  | ........(/.(car.date).(cdr.date) | 
| 83e0 |  29 29 0a 20 20 20 20 20 20 20 20 20 28 28 6f 72    20 28 61 6e 64 20 28 6e 6f 74 20 28 65 71 20 74  | ))..........((or.(and.(not.(eq.t | 
| 8400 |  69 6d 65 73 74 61 6d 70 2d 70 20 27 73 65 63 6f    6e 64 73 29 29 20 65 6d 61 63 73 32 39 2d 6f 72  | imestamp-p.'seconds)).emacs29-or | 
| 8420 |  2d 6e 65 77 65 72 2d 70 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 28 61 6e 64 20 28 6e 6f  | -newer-p)...............(and.(no | 
| 8440 |  74 20 74 69 6d 65 73 74 61 6d 70 2d 70 29 20 28    6e 6f 74 20 65 6d 61 63 73 32 39 2d 6f 72 2d 6e  | t.timestamp-p).(not.emacs29-or-n | 
| 8460 |  65 77 65 72 2d 70 29 29 29 0a 20 20 20 20 20 20    20 20 20 20 64 61 74 65 29 0a 20 20 20 20 20 20  | ewer-p)))...........date)....... | 
| 8480 |  20 20 20 28 28 61 6e 64 20 28 65 71 20 74 69 6d    65 73 74 61 6d 70 2d 70 20 27 73 65 63 6f 6e 64  | ...((and.(eq.timestamp-p.'second | 
| 84a0 |  73 29 20 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 0a 20 20 20  | s).(not.emacs29-or-newer-p)).... | 
| 84c0 |  20 20 20 20 20 20 20 28 2b 20 28 2a 20 28 6e 74    68 20 30 20 64 61 74 65 29 20 28 65 78 70 74 20  | .......(+.(*.(nth.0.date).(expt. | 
| 84e0 |  32 20 31 36 29 29 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 28 6e 74 68 20 31 20 64 61 74 65 29  | 2.16))..............(nth.1.date) | 
| 8500 |  29 29 0a 20 20 20 20 20 20 20 20 20 28 28 61 6e    64 20 74 69 6d 65 73 74 61 6d 70 2d 70 20 28 6e  | ))..........((and.timestamp-p.(n | 
| 8520 |  6f 74 20 65 6d 61 63 73 32 39 2d 6f 72 2d 6e 65    77 65 72 2d 70 29 29 0a 20 20 20 20 20 20 20 20  | ot.emacs29-or-newer-p))......... | 
| 8540 |  20 20 60 28 2c 28 2b 20 28 2a 20 28 6e 74 68 20    30 20 64 61 74 65 29 20 28 65 78 70 74 20 32 20  | ..`(,(+.(*.(nth.0.date).(expt.2. | 
| 8560 |  31 36 29 20 31 30 30 30 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 28 2a 20 28 6e 74  | 16).1000).................(*.(nt | 
| 8580 |  68 20 31 20 64 61 74 65 29 20 31 30 30 30 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | h.1.date).1000)................. | 
| 85a0 |  28 6e 74 68 20 33 20 64 61 74 65 29 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 2e 20 31 30 30 30  | (nth.3.date))...............1000 | 
| 85c0 |  29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 66 2d    63 68 61 6e 67 65 2d 74 69 6d 65 20 28 70 61 74  | )))))..(defun.f-change-time.(pat | 
| 85e0 |  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 | 
| 8600 |  72 6e 20 74 68 65 20 6c 61 73 74 20 73 74 61 74    75 73 20 63 68 61 6e 67 65 20 74 69 6d 65 20 6f  | rn.the.last.status.change.time.o | 
| 8620 |  66 20 50 41 54 48 2e 0a 0a 54 68 65 20 73 74 61    74 75 73 20 63 68 61 6e 67 65 20 74 69 6d 65 20  | f.PATH...The.status.change.time. | 
| 8640 |  28 63 74 69 6d 65 29 20 6f 66 20 50 41 54 48 20    69 6e 20 74 68 65 20 73 61 6d 65 20 66 6f 72 6d  | (ctime).of.PATH.in.the.same.form | 
| 8660 |  61 74 20 61 73 0a 60 63 75 72 72 65 6e 74 2d 74    69 6d 65 27 2e 20 20 46 6f 72 20 64 65 74 61 69  | at.as.`current-time'...For.detai | 
| 8680 |  6c 73 20 6f 6e 20 54 49 4d 45 53 54 41 4d 50 2d    50 20 61 6e 64 20 74 68 65 20 66 6f 72 6d 61 74  | ls.on.TIMESTAMP-P.and.the.format | 
| 86a0 |  20 6f 66 20 74 68 65 0a 72 65 74 75 72 6e 65 64    20 76 61 6c 75 65 2c 20 73 65 65 20 60 66 2d 2d  | .of.the.returned.value,.see.`f-- | 
| 86c0 |  67 65 74 2d 74 69 6d 65 27 2e 22 0a 20 20 28 66    2d 2d 67 65 74 2d 74 69 6d 65 20 70 61 74 68 0a  | get-time'."...(f--get-time.path. | 
| 86e0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74    69 6d 65 73 74 61 6d 70 2d 70 0a 20 20 20 20 20  | ...............timestamp-p...... | 
| 8700 |  20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 66    62 6f 75 6e 64 70 20 27 66 69 6c 65 2d 61 74 74  | ..........(if.(fboundp.'file-att | 
| 8720 |  72 69 62 75 74 65 2d 73 74 61 74 75 73 2d 63 68    61 6e 67 65 2d 74 69 6d 65 29 0a 20 20 20 20 20  | ribute-status-change-time)...... | 
| 8740 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 27    66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 2d 73  | ..............#'file-attribute-s | 
| 8760 |  74 61 74 75 73 2d 63 68 61 6e 67 65 2d 74 69 6d    65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | tatus-change-time............... | 
| 8780 |  20 20 20 28 6c 61 6d 62 64 61 20 28 66 29 20 28    6e 74 68 20 36 20 66 29 29 29 29 29 0a 0a 28 64  | ...(lambda.(f).(nth.6.f)))))..(d | 
| 87a0 |  65 66 75 6e 20 66 2d 6d 6f 64 69 66 69 63 61 74    69 6f 6e 2d 74 69 6d 65 20 28 70 61 74 68 20 26  | efun.f-modification-time.(path.& | 
| 87c0 |  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 72 6e 20  | optional.timestamp-p)..."Return. | 
| 87e0 |  74 68 65 20 6c 61 73 74 20 6d 6f 64 69 66 69 63    61 74 69 6f 6e 20 74 69 6d 65 20 6f 66 20 50 41  | the.last.modification.time.of.PA | 
| 8800 |  54 48 2e 0a 54 68 65 20 6d 6f 64 69 66 69 63 61    74 69 6f 6e 20 74 69 6d 65 20 28 6d 74 69 6d 65  | TH..The.modification.time.(mtime | 
| 8820 |  29 20 6f 66 20 50 41 54 48 20 69 6e 20 74 68 65    20 73 61 6d 65 20 66 6f 72 6d 61 74 20 61 73 0a  | ).of.PATH.in.the.same.format.as. | 
| 8840 |  60 63 75 72 72 65 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  | `current-time'...For.details.on. | 
| 8860 |  54 49 4d 45 53 54 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  | TIMESTAMP-P.and.the.format.of.th | 
| 8880 |  65 0a 72 65 74 75 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  | e.returned.value,.see.`f--get-ti | 
| 88a0 |  6d 65 27 2e 22 0a 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  | me'."...(f--get-time.path....... | 
| 88c0 |  20 20 20 20 20 20 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  | .........timestamp-p............ | 
| 88e0 |  20 20 20 20 28 69 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  | ....(if.(fboundp.'file-attribute | 
| 8900 |  2d 6d 6f 64 69 66 69 63 61 74 69 6f 6e 2d 74 69    6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  | -modification-time)............. | 
| 8920 |  20 20 20 20 20 20 20 23 27 66 69 6c 65 2d 61 74    74 72 69 62 75 74 65 2d 6d 6f 64 69 66 69 63 61  | .......#'file-attribute-modifica | 
| 8940 |  74 69 6f 6e 2d 74 69 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  | tion-time..................(lamb | 
| 8960 |  64 61 20 28 66 29 20 28 6e 74 68 20 35 20 66 29    29 29 29 29 0a 0a 28 64 65 66 75 6e 20 66 2d 61  | da.(f).(nth.5.f)))))..(defun.f-a | 
| 8980 |  63 63 65 73 73 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  | ccess-time.(path.&optional.times | 
| 89a0 |  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 61 63 63 65 73  | tamp-p)..."Return.the.last.acces | 
| 89c0 |  73 20 74 69 6d 65 20 6f 66 20 50 41 54 48 2e 0a    54 68 65 20 61 63 63 65 73 73 20 74 69 6d 65 20  | s.time.of.PATH..The.access.time. | 
| 89e0 |  28 61 74 69 6d 65 29 20 6f 66 20 50 41 54 48 20    69 73 20 69 6e 20 74 68 65 20 73 61 6d 65 20 66  | (atime).of.PATH.is.in.the.same.f | 
| 8a00 |  6f 72 6d 61 74 20 61 73 0a 60 63 75 72 72 65 6e    74 2d 74 69 6d 65 27 2e 20 20 46 6f 72 20 64 65  | ormat.as.`current-time'...For.de | 
| 8a20 |  74 61 69 6c 73 20 6f 6e 20 54 49 4d 45 53 54 41    4d 50 2d 50 20 61 6e 64 20 74 68 65 20 66 6f 72  | tails.on.TIMESTAMP-P.and.the.for | 
| 8a40 |  6d 61 74 20 6f 66 20 74 68 65 0a 72 65 74 75 72    6e 65 64 20 76 61 6c 75 65 2c 20 73 65 65 20 60  | mat.of.the.returned.value,.see.` | 
| 8a60 |  66 2d 2d 67 65 74 2d 74 69 6d 65 27 2e 22 0a 20    20 28 66 2d 2d 67 65 74 2d 74 69 6d 65 20 70 61  | f--get-time'."...(f--get-time.pa | 
| 8a80 |  74 68 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 74 69 6d 65 73 74 61 6d 70 2d 70 0a 20 20  | th................timestamp-p... | 
| 8aa0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66    20 28 66 62 6f 75 6e 64 70 20 27 66 69 6c 65 2d  | .............(if.(fboundp.'file- | 
| 8ac0 |  61 74 74 72 69 62 75 74 65 2d 61 63 63 65 73 73    2d 74 69 6d 65 29 0a 20 20 20 20 20 20 20 20 20  | attribute-access-time).......... | 
| 8ae0 |  20 20 20 20 20 20 20 20 20 20 23 27 66 69 6c 65    2d 61 74 74 72 69 62 75 74 65 2d 61 63 63 65 73  | ..........#'file-attribute-acces | 
| 8b00 |  73 2d 74 69 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  | s-time..................(lambda. | 
| 8b20 |  28 66 29 20 28 6e 74 68 20 34 20 66 29 29 29 29    29 0a 0a 28 64 65 66 75 6e 20 66 2d 2d 74 68 72  | (f).(nth.4.f)))))..(defun.f--thr | 
| 8b40 |  65 65 2d 77 61 79 2d 63 6f 6d 70 61 72 65 20 28    61 20 62 29 0a 20 20 22 54 68 72 65 65 20 77 61  | ee-way-compare.(a.b)..."Three.wa | 
| 8b60 |  79 20 63 6f 6d 70 61 72 69 73 6f 6e 2e 0a 0a 52    65 74 75 72 6e 20 2d 31 20 69 66 20 41 20 3c 20  | y.comparison...Return.-1.if.A.<. | 
| 8b80 |  42 2e 0a 52 65 74 75 72 6e 20 30 20 69 66 20 41    20 3d 20 42 2e 0a 52 65 74 75 72 6e 20 31 20 69  | B..Return.0.if.A.=.B..Return.1.i | 
| 8ba0 |  66 20 41 20 3e 20 42 2e 22 0a 20 20 28 63 6f 6e    64 20 28 28 3c 20 61 20 62 29 20 2d 31 29 0a 20  | f.A.>.B."...(cond.((<.a.b).-1).. | 
| 8bc0 |  20 20 20 20 20 20 20 28 28 3d 20 61 20 62 29 20    30 29 0a 20 20 20 20 20 20 20 20 28 28 3e 20 61  | .......((=.a.b).0).........((>.a | 
| 8be0 |  20 62 29 20 31 29 29 29 0a 0a 3b 3b 20 54 4f 44    4f 3a 20 48 6f 77 20 74 6f 20 70 72 6f 70 65 72  | .b).1)))..;;.TODO:.How.to.proper | 
| 8c00 |  6c 79 20 74 65 73 74 20 74 68 69 73 20 66 75 6e    63 74 69 6f 6e 3f 0a 28 64 65 66 75 6e 20 66 2d  | ly.test.this.function?.(defun.f- | 
| 8c20 |  2d 64 61 74 65 2d 63 6f 6d 70 61 72 65 20 28 66    69 6c 65 20 6f 74 68 65 72 20 6d 65 74 68 6f 64  | -date-compare.(file.other.method | 
| 8c40 |  29 0a 20 20 22 54 68 72 65 65 2d 77 61 79 20 63    6f 6d 70 61 72 69 73 6f 6e 20 6f 66 20 74 68 65  | )..."Three-way.comparison.of.the | 
| 8c60 |  20 64 61 74 65 20 6f 66 20 46 49 4c 45 20 61 6e    64 20 4f 54 48 45 52 2e 0a 0a 54 68 69 73 20 66  | .date.of.FILE.and.OTHER...This.f | 
| 8c80 |  75 6e 63 74 69 6f 6e 20 63 61 6e 20 72 65 74 75    72 6e 20 74 68 72 65 65 20 76 61 6c 75 65 73 3a  | unction.can.return.three.values: | 
| 8ca0 |  0a 2a 20 31 20 6d 65 61 6e 73 20 46 49 4c 45 20    69 73 20 6e 65 77 65 72 20 74 68 61 6e 20 4f 54  | .*.1.means.FILE.is.newer.than.OT | 
| 8cc0 |  48 45 52 0a 2a 20 30 20 6d 65 61 6e 73 20 46 49    4c 45 20 61 6e 64 20 4e 45 57 45 52 20 73 68 61  | HER.*.0.means.FILE.and.NEWER.sha | 
| 8ce0 |  72 65 20 74 68 65 20 73 61 6d 65 20 64 61 74 65    0a 2a 20 2d 31 20 6d 65 61 6e 73 20 46 49 4c 45  | re.the.same.date.*.-1.means.FILE | 
| 8d00 |  20 69 73 20 6f 6c 64 65 72 20 74 68 61 6e 20 4f    54 48 45 52 0a 0a 54 68 65 20 73 74 61 74 69 73  | .is.older.than.OTHER..The.statis | 
| 8d20 |  74 69 63 73 20 75 73 65 64 20 66 6f 72 20 74 68    65 20 64 61 74 65 20 63 6f 6d 70 61 72 69 73 6f  | tics.used.for.the.date.compariso | 
| 8d40 |  6e 20 64 65 70 65 6e 64 73 20 6f 6e 20 4d 45 54    48 4f 44 2e 0a 57 68 65 6e 20 4d 45 54 48 4f 44  | n.depends.on.METHOD..When.METHOD | 
| 8d60 |  20 69 73 20 6e 75 6c 6c 2c 20 63 6f 6d 70 61 72    65 20 74 68 65 69 72 20 6d 6f 64 69 66 69 63 61  | .is.null,.compare.their.modifica | 
| 8d80 |  74 69 6f 6e 20 74 69 6d 65 2e 20 20 4f 74 68 65    72 77 69 73 65 2c 0a 63 6f 6d 70 61 72 65 20 74  | tion.time...Otherwise,.compare.t | 
| 8da0 |  68 65 69 72 20 63 68 61 6e 67 65 20 74 69 6d 65    20 77 68 65 6e 20 4d 45 54 48 4f 44 20 69 73 20  | heir.change.time.when.METHOD.is. | 
| 8dc0 |  5c 5c 3d 27 63 68 61 6e 67 65 2c 20 6f 72 20 63    6f 6d 70 61 72 65 0a 74 68 65 69 72 20 6c 61 73  | \\='change,.or.compare.their.las | 
| 8de0 |  74 20 61 63 63 65 73 73 20 74 69 6d 65 20 77 68    65 6e 20 4d 45 54 48 4f 44 20 69 73 20 5c 5c 3d  | t.access.time.when.METHOD.is.\\= | 
| 8e00 |  27 61 63 63 65 73 73 2e 22 0a 20 20 28 6c 65 74    2a 20 28 28 66 6e 2d 6d 65 74 68 6f 64 20 28 63  | 'access."...(let*.((fn-method.(c | 
| 8e20 |  6f 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 28 28 65 71 20 27 63  | ond......................((eq.'c | 
| 8e40 |  68 61 6e 67 65 20 6d 65 74 68 6f 64 29 20 23 27    66 2d 63 68 61 6e 67 65 2d 74 69 6d 65 29 0a 20  | hange.method).#'f-change-time).. | 
| 8e60 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 28 65 71 20 27 61 63 63 65 73 73  | ....................((eq.'access | 
| 8e80 |  20 6d 65 74 68 6f 64 29 20 23 27 66 2d 61 63 63    65 73 73 2d 74 69 6d 65 29 0a 20 20 20 20 20 20  | .method).#'f-access-time)....... | 
| 8ea0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    28 6e 75 6c 6c 20 6d 65 74 68 6f 64 29 20 20 20  | ...............((null.method)... | 
| 8ec0 |  20 20 20 20 23 27 66 2d 6d 6f 64 69 66 69 63 61    74 69 6f 6e 2d 74 69 6d 65 29 0a 20 20 20 20 20  | ....#'f-modification-time)...... | 
| 8ee0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 74 20 28 65 72 72 6f 72 20 22 55 6e 6b 6e 6f  | ................(t.(error."Unkno | 
| 8f00 |  77 6e 20 6d 65 74 68 6f 64 20 25 53 22 20 6d 65    74 68 6f 64 29 29 29 29 0a 20 20 20 20 20 20 20  | wn.method.%S".method))))........ | 
| 8f20 |  20 20 28 64 61 74 65 2d 66 69 6c 65 20 28 61 70    70 6c 79 20 66 6e 2d 6d 65 74 68 6f 64 20 28 6c  | ..(date-file.(apply.fn-method.(l | 
| 8f40 |  69 73 74 20 66 69 6c 65 29 29 29 0a 20 20 20 20    20 20 20 20 20 28 64 61 74 65 2d 6f 74 68 65 72  | ist.file)))..........(date-other | 
| 8f60 |  20 28 61 70 70 6c 79 20 66 6e 2d 6d 65 74 68 6f    64 20 28 6c 69 73 74 20 6f 74 68 65 72 29 29 29  | .(apply.fn-method.(list.other))) | 
| 8f80 |  0a 20 20 20 20 20 20 20 20 20 28 64 61 74 65 73    20 20 20 20 20 20 28 2d 7a 69 70 2d 70 61 69 72  | ..........(dates......(-zip-pair | 
| 8fa0 |  20 64 61 74 65 2d 66 69 6c 65 20 64 61 74 65 2d    6f 74 68 65 72 29 29 29 0a 20 20 20 20 28 2d 72  | .date-file.date-other))).....(-r | 
| 8fc0 |  65 64 75 63 65 2d 66 72 6f 6d 20 28 6c 61 6d 62    64 61 20 28 61 63 63 20 65 6c 74 29 0a 20 20 20  | educe-from.(lambda.(acc.elt).... | 
| 8fe0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 69 66 20 28 3d 20 61 63 63 20 30 29 0a 20  | .................(if.(=.acc.0).. | 
| 9000 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 28 66 2d 2d 74 68 72 65 65  | .......................(f--three | 
| 9020 |  2d 77 61 79 2d 63 6f 6d 70 61 72 65 20 28 63 61    72 20 65 6c 74 29 20 28 63 64 72 20 65 6c 74 29  | -way-compare.(car.elt).(cdr.elt) | 
| 9040 |  29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 61 63 63 29 29 0a 20 20  | ).......................acc))... | 
| 9060 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    30 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ................0............... | 
| 9080 |  20 20 20 20 64 61 74 65 73 29 29 29 0a 0a 28 64    65 66 75 6e 20 66 2d 6f 6c 64 65 72 2d 70 20 28  | ....dates)))..(defun.f-older-p.( | 
| 90a0 |  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 6f 64 29 0a 20 20 22  | file.other.&optional.method)..." | 
| 90c0 |  43 6f 6d 70 61 72 65 20 69 66 20 46 49 4c 45 20    69 73 20 6f 6c 64 65 72 20 74 68 61 6e 20 4f 54  | Compare.if.FILE.is.older.than.OT | 
| 90e0 |  48 45 52 2e 0a 0a 46 6f 72 20 6d 6f 72 65 20 69    6e 66 6f 20 6f 6e 20 4d 45 54 48 4f 44 2c 20 73  | HER...For.more.info.on.METHOD,.s | 
| 9100 |  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 3c 20 28 66 2d 2d  | ee.`f--date-compare'."...(<.(f-- | 
| 9120 |  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 74 68 6f 64 29 20  | date-compare.file.other.method). | 
| 9140 |  30 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27    66 2d 6f 6c 64 65 72 3f 20 23 27 66 2d 6f 6c 64  | 0))..(defalias.'f-older?.#'f-old | 
| 9160 |  65 72 2d 70 29 0a 0a 28 64 65 66 75 6e 20 66 2d    6e 65 77 65 72 2d 70 20 28 66 69 6c 65 20 6f 74  | er-p)..(defun.f-newer-p.(file.ot | 
| 9180 |  68 65 72 20 26 6f 70 74 69 6f 6e 61 6c 20 6d 65    74 68 6f 64 29 0a 20 20 22 43 6f 6d 70 61 72 65  | her.&optional.method)..."Compare | 
| 91a0 |  20 69 66 20 46 49 4c 45 20 69 73 20 6e 65 77 65    72 20 74 68 61 6e 20 4f 54 48 45 52 2e 0a 0a 46  | .if.FILE.is.newer.than.OTHER...F | 
| 91c0 |  6f 72 20 6d 6f 72 65 20 69 6e 66 6f 20 6f 6e 20    4d 45 54 48 4f 44 2c 20 73 65 65 20 60 66 2d 2d  | or.more.info.on.METHOD,.see.`f-- | 
| 91e0 |  64 61 74 65 2d 63 6f 6d 70 61 72 65 27 2e 22 0a    20 20 28 3e 20 28 66 2d 2d 64 61 74 65 2d 63 6f  | date-compare'."...(>.(f--date-co | 
| 9200 |  6d 70 61 72 65 20 66 69 6c 65 20 6f 74 68 65 72    20 6d 65 74 68 6f 64 29 20 30 29 29 0a 0a 28 64  | mpare.file.other.method).0))..(d | 
| 9220 |  65 66 61 6c 69 61 73 20 27 66 2d 6e 65 77 65 72    3f 20 23 27 66 2d 6e 65 77 65 72 2d 70 29 0a 0a  | efalias.'f-newer?.#'f-newer-p).. | 
| 9240 |  28 64 65 66 75 6e 20 66 2d 73 61 6d 65 2d 74 69    6d 65 2d 70 20 28 66 69 6c 65 20 6f 74 68 65 72  | (defun.f-same-time-p.(file.other | 
| 9260 |  20 26 6f 70 74 69 6f 6e 61 6c 20 6d 65 74 68 6f    64 29 0a 20 20 22 43 68 65 63 6b 20 69 66 20 46  | .&optional.method)..."Check.if.F | 
| 9280 |  49 4c 45 20 61 6e 64 20 4f 54 48 45 52 20 73 68    61 72 65 20 74 68 65 20 73 61 6d 65 20 61 63 63  | ILE.and.OTHER.share.the.same.acc | 
| 92a0 |  65 73 73 20 6f 72 20 6d 6f 64 69 66 69 63 61 74    69 6f 6e 20 74 69 6d 65 2e 0a 0a 46 6f 72 20 6d  | ess.or.modification.time...For.m | 
| 92c0 |  6f 72 65 20 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  | ore.info.on.METHOD,.see.`f--date | 
| 92e0 |  2d 63 6f 6d 70 61 72 65 27 2e 22 0a 20 20 28 3d    20 28 66 2d 2d 64 61 74 65 2d 63 6f 6d 70 61 72  | -compare'."...(=.(f--date-compar | 
| 9300 |  65 20 66 69 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  | e.file.other.method).0))..(defal | 
| 9320 |  69 61 73 20 27 66 2d 73 61 6d 65 2d 74 69 6d 65    3f 20 23 27 66 2d 73 61 6d 65 2d 74 69 6d 65 2d  | ias.'f-same-time?.#'f-same-time- | 
| 9340 |  70 29 0a 0a 0c 0a 3b 3b 3b 3b 20 4d 69 73 63 0a    0a 28 64 65 66 75 6e 20 66 2d 74 68 69 73 2d 66  | p)....;;;;.Misc..(defun.f-this-f | 
| 9360 |  69 6c 65 20 28 29 0a 20 20 22 52 65 74 75 72 6e    20 70 61 74 68 20 74 6f 20 74 68 69 73 20 66 69  | ile.()..."Return.path.to.this.fi | 
| 9380 |  6c 65 2e 22 0a 20 20 28 63 6f 6e 64 0a 20 20 20    28 6c 6f 61 64 2d 69 6e 2d 70 72 6f 67 72 65 73  | le."...(cond....(load-in-progres | 
| 93a0 |  73 20 6c 6f 61 64 2d 66 69 6c 65 2d 6e 61 6d 65    29 0a 20 20 20 28 28 61 6e 64 20 28 62 6f 75 6e  | s.load-file-name)....((and.(boun | 
| 93c0 |  64 70 20 27 62 79 74 65 2d 63 6f 6d 70 69 6c 65    2d 63 75 72 72 65 6e 74 2d 66 69 6c 65 29 20 62  | dp.'byte-compile-current-file).b | 
| 93e0 |  79 74 65 2d 63 6f 6d 70 69 6c 65 2d 63 75 72 72    65 6e 74 2d 66 69 6c 65 29 0a 20 20 20 20 62 79  | yte-compile-current-file).....by | 
| 9400 |  74 65 2d 63 6f 6d 70 69 6c 65 2d 63 75 72 72 65    6e 74 2d 66 69 6c 65 29 0a 20 20 20 28 3a 65 6c  | te-compile-current-file)....(:el | 
| 9420 |  73 65 20 28 62 75 66 66 65 72 2d 66 69 6c 65 2d    6e 61 6d 65 29 29 29 29 0a 0a 28 64 65 66 76 61  | se.(buffer-file-name))))..(defva | 
| 9440 |  72 20 66 2d 2d 70 61 74 68 2d 73 65 70 61 72 61    74 6f 72 20 6e 69 6c 0a 20 20 22 41 20 76 61 72  | r.f--path-separator.nil..."A.var | 
| 9460 |  69 61 62 6c 65 20 74 6f 20 63 61 63 68 65 20 72    65 73 75 6c 74 20 6f 66 20 60 66 2d 70 61 74 68  | iable.to.cache.result.of.`f-path | 
| 9480 |  2d 73 65 70 61 72 61 74 6f 72 27 2e 22 29 0a 0a    28 64 65 66 75 6e 20 66 2d 70 61 74 68 2d 73 65  | -separator'.")..(defun.f-path-se | 
| 94a0 |  70 61 72 61 74 6f 72 20 28 29 0a 20 20 22 52 65    74 75 72 6e 20 70 61 74 68 20 73 65 70 61 72 61  | parator.()..."Return.path.separa | 
| 94c0 |  74 6f 72 2e 22 0a 20 20 28 6f 72 20 66 2d 2d 70    61 74 68 2d 73 65 70 61 72 61 74 6f 72 0a 20 20  | tor."...(or.f--path-separator... | 
| 94e0 |  20 20 20 20 28 73 65 74 71 20 66 2d 2d 70 61 74    68 2d 73 65 70 61 72 61 74 6f 72 20 28 73 75 62  | ....(setq.f--path-separator.(sub | 
| 9500 |  73 74 72 69 6e 67 20 28 66 2d 6a 6f 69 6e 20 22    78 22 20 22 79 22 29 20 31 20 32 29 29 29 29 0a  | string.(f-join."x"."y").1.2)))). | 
| 9520 |  0a 28 64 65 66 75 6e 20 66 2d 67 6c 6f 62 20 28    70 61 74 74 65 72 6e 20 26 6f 70 74 69 6f 6e 61  | .(defun.f-glob.(pattern.&optiona | 
| 9540 |  6c 20 70 61 74 68 29 0a 20 20 22 46 69 6e 64 20    50 41 54 54 45 52 4e 20 69 6e 20 50 41 54 48 2e  | l.path)..."Find.PATTERN.in.PATH. | 
| 9560 |  22 0a 20 20 28 66 69 6c 65 2d 65 78 70 61 6e 64    2d 77 69 6c 64 63 61 72 64 73 0a 20 20 20 28 66  | "...(file-expand-wildcards....(f | 
| 9580 |  2d 6a 6f 69 6e 20 28 6f 72 20 70 61 74 68 20 64    65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79  | -join.(or.path.default-directory | 
| 95a0 |  29 20 70 61 74 74 65 72 6e 29 29 29 0a 0a 28 64    65 66 75 6e 20 66 2d 2d 63 6f 6c 6c 65 63 74 2d  | ).pattern)))..(defun.f--collect- | 
| 95c0 |  65 6e 74 72 69 65 73 20 28 70 61 74 68 20 72 65    63 75 72 73 69 76 65 29 0a 20 20 28 6c 65 74 20  | entries.(path.recursive)...(let. | 
| 95e0 |  28 72 65 73 75 6c 74 0a 20 20 20 20 20 20 20 20    28 65 6e 74 72 69 65 73 0a 20 20 20 20 20 20 20  | (result.........(entries........ | 
| 9600 |  20 20 28 2d 72 65 6a 65 63 74 0a 20 20 20 20 20    20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 66 69  | ..(-reject...........(lambda.(fi | 
| 9620 |  6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20    28 6d 65 6d 62 65 72 20 28 66 2d 66 69 6c 65 6e  | le).............(member.(f-filen | 
| 9640 |  61 6d 65 20 66 69 6c 65 29 20 27 28 22 2e 22 20    22 2e 2e 22 29 29 29 0a 20 20 20 20 20 20 20 20  | ame.file).'("."."..")))......... | 
| 9660 |  20 20 28 64 69 72 65 63 74 6f 72 79 2d 66 69 6c    65 73 20 70 61 74 68 20 74 29 29 29 29 0a 20 20  | ..(directory-files.path.t))))... | 
| 9680 |  20 20 28 63 6f 6e 64 20 28 72 65 63 75 72 73 69    76 65 0a 20 20 20 20 20 20 20 20 20 20 20 28 6d  | ..(cond.(recursive............(m | 
| 96a0 |  61 70 63 0a 20 20 20 20 20 20 20 20 20 20 20 20    28 6c 61 6d 62 64 61 20 28 65 6e 74 72 79 29 0a  | apc.............(lambda.(entry). | 
| 96c0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69    66 20 28 66 2d 66 69 6c 65 2d 70 20 65 6e 74 72  | ..............(if.(f-file-p.entr | 
| 96e0 |  79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 73 65 74 71 20 72 65 73 75 6c  | y)...................(setq.resul | 
| 9700 |  74 20 28 63 6f 6e 73 20 65 6e 74 72 79 20 72 65    73 75 6c 74 29 29 0a 20 20 20 20 20 20 20 20 20  | t.(cons.entry.result)).......... | 
| 9720 |  20 20 20 20 20 20 20 28 77 68 65 6e 20 28 66 2d    64 69 72 65 63 74 6f 72 79 2d 70 20 65 6e 74 72  | .......(when.(f-directory-p.entr | 
| 9740 |  79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 73 65 74 71 20 72 65 73 75 6c  | y)...................(setq.resul | 
| 9760 |  74 20 28 63 6f 6e 73 20 65 6e 74 72 79 20 72 65    73 75 6c 74 29 29 0a 20 20 20 20 20 20 20 20 20  | t.(cons.entry.result)).......... | 
| 9780 |  20 20 20 20 20 20 20 20 20 28 69 66 20 28 66 2d    72 65 61 64 61 62 6c 65 2d 70 20 65 6e 74 72 79  | .........(if.(f-readable-p.entry | 
| 97a0 |  29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 28 73 65 74 71 20 72 65  | ).......................(setq.re | 
| 97c0 |  73 75 6c 74 20 28 61 70 70 65 6e 64 20 72 65 73    75 6c 74 20 28 66 2d 2d 63 6f 6c 6c 65 63 74 2d  | sult.(append.result.(f--collect- | 
| 97e0 |  65 6e 74 72 69 65 73 20 65 6e 74 72 79 20 72 65    63 75 72 73 69 76 65 29 29 29 0a 20 20 20 20 20  | entries.entry.recursive)))...... | 
| 9800 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72    65 73 75 6c 74 29 29 29 29 0a 20 20 20 20 20 20  | ...............result))))....... | 
| 9820 |  20 20 20 20 20 20 65 6e 74 72 69 65 73 29 29 0a    20 20 20 20 20 20 20 20 20 20 28 74 20 28 73 65  | ......entries))...........(t.(se | 
| 9840 |  74 71 20 72 65 73 75 6c 74 20 65 6e 74 72 69 65    73 29 29 29 0a 20 20 20 20 72 65 73 75 6c 74 29  | tq.result.entries))).....result) | 
| 9860 |  29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 66 2d 2d    65 6e 74 72 69 65 73 20 28 70 61 74 68 20 62 6f  | )..(defmacro.f--entries.(path.bo | 
| 9880 |  64 79 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  | dy.&optional.recursive)..."Anaph | 
| 98a0 |  6f 72 69 63 20 76 65 72 73 69 6f 6e 20 6f 66 20    60 66 2d 65 6e 74 72 69 65 73 27 2e 22 0a 20 20  | oric.version.of.`f-entries'."... | 
| 98c0 |  60 28 66 2d 65 6e 74 72 69 65 73 0a 20 20 20 20    2c 70 61 74 68 0a 20 20 20 20 28 6c 61 6d 62 64  | `(f-entries.....,path.....(lambd | 
| 98e0 |  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 61 74 68 29 29 0a  | a.(path).......(let.((it.path)). | 
| 9900 |  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 73 69 76 65 29 29  | ........,body)).....,recursive)) | 
| 9920 |  0a 0a 28 64 65 66 75 6e 20 66 2d 65 6e 74 72 69    65 73 20 28 70 61 74 68 20 26 6f 70 74 69 6f 6e  | ..(defun.f-entries.(path.&option | 
| 9940 |  61 6c 20 66 6e 20 72 65 63 75 72 73 69 76 65 29    0a 20 20 22 46 69 6e 64 20 61 6c 6c 20 66 69 6c  | al.fn.recursive)..."Find.all.fil | 
| 9960 |  65 73 20 61 6e 64 20 64 69 72 65 63 74 6f 72 69    65 73 20 69 6e 20 50 41 54 48 2e 0a 0a 46 4e 20  | es.and.directories.in.PATH...FN. | 
| 9980 |  2d 20 63 61 6c 6c 65 64 20 66 6f 72 20 65 61 63    68 20 66 6f 75 6e 64 20 66 69 6c 65 20 61 6e 64  | -.called.for.each.found.file.and | 
| 99a0 |  20 64 69 72 65 63 74 6f 72 79 2e 20 20 49 66 20    46 4e 20 72 65 74 75 72 6e 73 20 61 20 74 68 72  | .directory...If.FN.returns.a.thr | 
| 99c0 |  75 74 68 79 0a 76 61 6c 75 65 2c 20 66 69 6c 65    20 6f 72 20 64 69 72 65 63 74 6f 72 79 20 77 69  | uthy.value,.file.or.directory.wi | 
| 99e0 |  6c 6c 20 62 65 20 69 6e 63 6c 75 64 65 64 2e 0a    52 45 43 55 52 53 49 56 45 20 2d 20 53 65 61 72  | ll.be.included..RECURSIVE.-.Sear | 
| 9a00 |  63 68 20 66 6f 72 20 66 69 6c 65 73 20 61 6e 64    20 64 69 72 65 63 74 6f 72 69 65 73 20 72 65 63  | ch.for.files.and.directories.rec | 
| 9a20 |  75 72 73 69 76 65 2e 22 0a 20 20 28 6c 65 74 20    28 28 65 6e 74 72 69 65 73 20 28 66 2d 2d 63 6f  | ursive."...(let.((entries.(f--co | 
| 9a40 |  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 29 0a  | llect-entries.path.recursive))). | 
| 9a60 |  20 20 20 20 28 69 66 20 66 6e 20 28 2d 73 65 6c    65 63 74 20 66 6e 20 65 6e 74 72 69 65 73 29 20  | ....(if.fn.(-select.fn.entries). | 
| 9a80 |  65 6e 74 72 69 65 73 29 29 29 0a 0a 28 64 65 66    6d 61 63 72 6f 20 66 2d 2d 64 69 72 65 63 74 6f  | entries)))..(defmacro.f--directo | 
| 9aa0 |  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 63 75 72 73  | ries.(path.body.&optional.recurs | 
| 9ac0 |  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 20 60 66 2d  | ive)..."Anaphoric.version.of.`f- | 
| 9ae0 |  64 69 72 65 63 74 6f 72 69 65 73 27 2e 22 0a 20    20 60 28 66 2d 64 69 72 65 63 74 6f 72 69 65 73  | directories'."...`(f-directories | 
| 9b00 |  0a 20 20 20 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  | .....,path.....(lambda.(path)... | 
| 9b20 |  20 20 20 20 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  | ....(let.((it.path)).........,bo | 
| 9b40 |  64 79 29 29 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  | dy)).....,recursive))..(defun.f- | 
| 9b60 |  64 69 72 65 63 74 6f 72 69 65 73 20 28 70 61 74    68 20 26 6f 70 74 69 6f 6e 61 6c 20 66 6e 20 72  | directories.(path.&optional.fn.r | 
| 9b80 |  65 63 75 72 73 69 76 65 29 0a 20 20 22 46 69 6e    64 20 61 6c 6c 20 64 69 72 65 63 74 6f 72 69 65  | ecursive)..."Find.all.directorie | 
| 9ba0 |  73 20 69 6e 20 50 41 54 48 2e 20 20 53 65 65 20    60 66 2d 65 6e 74 72 69 65 73 27 2e 22 0a 20 20  | s.in.PATH...See.`f-entries'."... | 
| 9bc0 |  28 6c 65 74 20 28 28 64 69 72 65 63 74 6f 72 69    65 73 20 28 2d 73 65 6c 65 63 74 20 27 66 2d 64  | (let.((directories.(-select.'f-d | 
| 9be0 |  69 72 65 63 74 6f 72 79 2d 70 20 28 66 2d 2d 63    6f 6c 6c 65 63 74 2d 65 6e 74 72 69 65 73 20 70  | irectory-p.(f--collect-entries.p | 
| 9c00 |  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 2d 73  | ath.recursive)))).....(if.fn.(-s | 
| 9c20 |  65 6c 65 63 74 20 66 6e 20 64 69 72 65 63 74 6f    72 69 65 73 29 20 64 69 72 65 63 74 6f 72 69 65  | elect.fn.directories).directorie | 
| 9c40 |  73 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20    66 2d 2d 66 69 6c 65 73 20 28 70 61 74 68 20 62  | s)))..(defmacro.f--files.(path.b | 
| 9c60 |  6f 64 79 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  | ody.&optional.recursive)..."Anap | 
| 9c80 |  68 6f 72 69 63 20 76 65 72 73 69 6f 6e 20 6f 66    20 60 66 2d 66 69 6c 65 73 27 2e 22 0a 20 20 60  | horic.version.of.`f-files'."...` | 
| 9ca0 |  28 66 2d 66 69 6c 65 73 0a 20 20 20 20 2c 70 61    74 68 0a 20 20 20 20 28 6c 61 6d 62 64 61 20 28  | (f-files.....,path.....(lambda.( | 
| 9cc0 |  70 61 74 68 29 0a 20 20 20 20 20 20 28 6c 65 74    20 28 28 69 74 20 70 61 74 68 29 29 0a 20 20 20  | path).......(let.((it.path)).... | 
| 9ce0 |  20 20 20 20 20 2c 62 6f 64 79 29 29 0a 20 20 20    20 2c 72 65 63 75 72 73 69 76 65 29 29 0a 0a 28  | .....,body)).....,recursive))..( | 
| 9d00 |  64 65 66 75 6e 20 66 2d 66 69 6c 65 73 20 28 70    61 74 68 20 26 6f 70 74 69 6f 6e 61 6c 20 66 6e  | defun.f-files.(path.&optional.fn | 
| 9d20 |  20 72 65 63 75 72 73 69 76 65 29 0a 20 20 22 46    69 6e 64 20 61 6c 6c 20 66 69 6c 65 73 20 69 6e  | .recursive)..."Find.all.files.in | 
| 9d40 |  20 50 41 54 48 2e 20 20 53 65 65 20 60 66 2d 65    6e 74 72 69 65 73 27 2e 22 0a 20 20 28 6c 65 74  | .PATH...See.`f-entries'."...(let | 
| 9d60 |  20 28 28 66 69 6c 65 73 20 28 2d 73 65 6c 65 63    74 20 27 66 2d 66 69 6c 65 2d 70 20 28 66 2d 2d  | .((files.(-select.'f-file-p.(f-- | 
| 9d80 |  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)) | 
| 9da0 |  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 66 69 6c 65 73 29  | )).....(if.fn.(-select.fn.files) | 
| 9dc0 |  20 66 69 6c 65 73 29 29 29 0a 0a 28 64 65 66 6d    61 63 72 6f 20 66 2d 2d 74 72 61 76 65 72 73 65  | .files)))..(defmacro.f--traverse | 
| 9de0 |  2d 75 70 77 61 72 64 73 20 28 62 6f 64 79 20 26    6f 70 74 69 6f 6e 61 6c 20 70 61 74 68 29 0a 20  | -upwards.(body.&optional.path).. | 
| 9e00 |  20 22 41 6e 61 70 68 6f 72 69 63 20 76 65 72 73    69 6f 6e 20 6f 66 20 60 66 2d 74 72 61 76 65 72  | ."Anaphoric.version.of.`f-traver | 
| 9e20 |  73 65 2d 75 70 77 61 72 64 73 27 2e 22 0a 20 20    60 28 66 2d 74 72 61 76 65 72 73 65 2d 75 70 77  | se-upwards'."...`(f-traverse-upw | 
| 9e40 |  61 72 64 73 0a 20 20 20 20 28 6c 61 6d 62 64 61    20 28 64 69 72 29 0a 20 20 20 20 20 20 28 6c 65  | ards.....(lambda.(dir).......(le | 
| 9e60 |  74 20 28 28 69 74 20 64 69 72 29 29 0a 20 20 20    20 20 20 20 20 2c 62 6f 64 79 29 29 0a 20 20 20  | t.((it.dir)).........,body)).... | 
| 9e80 |  20 2c 70 61 74 68 29 29 0a 0a 28 64 65 66 75 6e    20 66 2d 74 72 61 76 65 72 73 65 2d 75 70 77 61  | .,path))..(defun.f-traverse-upwa | 
| 9ea0 |  72 64 73 20 28 66 6e 20 26 6f 70 74 69 6f 6e 61    6c 20 70 61 74 68 29 0a 20 20 22 54 72 61 76 65  | rds.(fn.&optional.path)..."Trave | 
| 9ec0 |  72 73 65 20 75 70 20 61 73 20 6c 6f 6e 67 20 61    73 20 46 4e 20 72 65 74 75 72 6e 20 6e 69 6c 2c  | rse.up.as.long.as.FN.return.nil, | 
| 9ee0 |  20 73 74 61 72 74 69 6e 67 20 61 74 20 50 41 54    48 2e 0a 0a 49 66 20 46 4e 20 72 65 74 75 72 6e  | .starting.at.PATH...If.FN.return | 
| 9f00 |  73 20 61 20 6e 6f 6e 2d 6e 69 6c 20 76 61 6c 75    65 2c 20 74 68 65 20 70 61 74 68 20 73 65 6e 74  | s.a.non-nil.value,.the.path.sent | 
| 9f20 |  20 61 73 20 61 72 67 75 6d 65 6e 74 20 74 6f 20    46 4e 20 69 73 0a 72 65 74 75 72 6e 65 64 2e 20  | .as.argument.to.FN.is.returned.. | 
| 9f40 |  20 49 66 20 6e 6f 20 66 75 6e 63 74 69 6f 6e 20    63 61 6c 6c 62 61 63 6b 20 72 65 74 75 72 6e 20  | .If.no.function.callback.return. | 
| 9f60 |  61 20 6e 6f 6e 2d 6e 69 6c 20 76 61 6c 75 65 2c    20 6e 69 6c 20 69 73 0a 72 65 74 75 72 6e 65 64  | a.non-nil.value,.nil.is.returned | 
| 9f80 |  2e 22 0a 20 20 28 75 6e 6c 65 73 73 20 70 61 74    68 0a 20 20 20 20 28 73 65 74 71 20 70 61 74 68  | ."...(unless.path.....(setq.path | 
| 9fa0 |  20 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f    72 79 29 29 0a 20 20 28 77 68 65 6e 20 28 66 2d  | .default-directory))...(when.(f- | 
| 9fc0 |  72 65 6c 61 74 69 76 65 2d 70 20 70 61 74 68 29    0a 20 20 20 20 28 73 65 74 71 20 70 61 74 68 20  | relative-p.path).....(setq.path. | 
| 9fe0 |  28 66 2d 65 78 70 61 6e 64 20 70 61 74 68 29 29    29 0a 20 20 28 69 66 20 28 66 75 6e 63 61 6c 6c  | (f-expand.path)))...(if.(funcall | 
| a000 |  20 66 6e 20 70 61 74 68 29 0a 20 20 20 20 20 20    70 61 74 68 0a 20 20 20 20 28 75 6e 6c 65 73 73  | .fn.path).......path.....(unless | 
| a020 |  20 28 66 2d 72 6f 6f 74 2d 70 20 70 61 74 68 29    0a 20 20 20 20 20 20 28 66 2d 74 72 61 76 65 72  | .(f-root-p.path).......(f-traver | 
| a040 |  73 65 2d 75 70 77 61 72 64 73 20 66 6e 20 28 66    2d 70 61 72 65 6e 74 20 70 61 74 68 29 29 29 29  | se-upwards.fn.(f-parent.path)))) | 
| a060 |  29 0a 0a 28 64 65 66 75 6e 20 66 2d 72 6f 6f 74    20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 61 62  | )..(defun.f-root.()..."Return.ab | 
| a080 |  73 6f 6c 75 74 65 20 72 6f 6f 74 2e 22 0a 20 20    28 66 2d 74 72 61 76 65 72 73 65 2d 75 70 77 61  | solute.root."...(f-traverse-upwa | 
| a0a0 |  72 64 73 20 27 66 2d 72 6f 6f 74 2d 70 29 29 0a    0a 28 64 65 66 6d 61 63 72 6f 20 66 2d 77 69 74  | rds.'f-root-p))..(defmacro.f-wit | 
| a0c0 |  68 2d 73 61 6e 64 62 6f 78 20 28 70 61 74 68 2d    6f 72 2d 70 61 74 68 73 20 26 72 65 73 74 20 62  | h-sandbox.(path-or-paths.&rest.b | 
| a0e0 |  6f 64 79 29 0a 20 20 22 4f 6e 6c 79 20 61 6c 6c    6f 77 20 50 41 54 48 2d 4f 52 2d 50 41 54 48 53  | ody)..."Only.allow.PATH-OR-PATHS | 
| a100 |  20 61 6e 64 20 64 65 73 63 65 6e 64 61 6e 74 73    20 74 6f 20 62 65 20 6d 6f 64 69 66 69 65 64 20  | .and.descendants.to.be.modified. | 
| a120 |  69 6e 20 42 4f 44 59 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  | in.BODY."...(declare.(indent.1)) | 
| a140 |  0a 20 20 60 28 6c 65 74 20 28 28 70 61 74 68 73    20 28 69 66 20 28 6c 69 73 74 70 20 2c 70 61 74  | ...`(let.((paths.(if.(listp.,pat | 
| a160 |  68 2d 6f 72 2d 70 61 74 68 73 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | h-or-paths)..................... | 
| a180 |  2c 70 61 74 68 2d 6f 72 2d 70 61 74 68 73 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ,path-or-paths.................. | 
| a1a0 |  20 28 6c 69 73 74 20 2c 70 61 74 68 2d 6f 72 2d    70 61 74 68 73 29 29 29 29 0a 20 20 20 20 20 28  | .(list.,path-or-paths))))......( | 
| a1c0 |  75 6e 77 69 6e 64 2d 70 72 6f 74 65 63 74 0a 20    20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 66  | unwind-protect..........(let.((f | 
| a1e0 |  2d 2d 67 75 61 72 64 2d 70 61 74 68 73 20 70 61    74 68 73 29 29 0a 20 20 20 20 20 20 20 20 20 20  | --guard-paths.paths))........... | 
| a200 |  20 2c 40 62 6f 64 79 29 0a 20 20 20 20 20 20 20    28 73 65 74 71 20 66 2d 2d 67 75 61 72 64 2d 70  | .,@body)........(setq.f--guard-p | 
| a220 |  61 74 68 73 20 6e 69 6c 29 29 29 29 0a 0a 28 70    72 6f 76 69 64 65 20 27 66 29 0a 0a 3b 3b 3b 20  | aths.nil))))..(provide.'f)..;;;. | 
| a240 |  66 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | f.el.ends.here.................. | 
| a260 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| a280 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| a2a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| a2c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| a2e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| a300 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| a320 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| a340 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| a360 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| a380 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| a3a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| a3c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| a3e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| a400 |  66 2d 32 30 32 34 30 33 30 38 2e 39 30 36 2f 66    2d 70 6b 67 2e 65 6c 00 00 00 00 00 00 00 00 00  | f-20240308.906/f-pkg.el......... | 
| a420 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| a440 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| a460 |  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 | 
| a480 |  30 30 30 31 30 31 30 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 32 34 37 35 00 20 30 00 00 00  | 0001010.00000000000.012475..0... | 
| a4a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| a4c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| a4e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| a500 |  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................... | 
| a520 |  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................... | 
| a540 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| a560 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| a580 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| a5a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| a5c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| a5e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| a600 |  28 64 65 66 69 6e 65 2d 70 61 63 6b 61 67 65 20    22 66 22 20 22 32 30 32 34 30 33 30 38 2e 39 30  | (define-package."f"."20240308.90 | 
| a620 |  36 22 20 22 4d 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  | 6"."Modern.API.for.working.with. | 
| a640 |  66 69 6c 65 73 20 61 6e 64 20 64 69 72 65 63 74    6f 72 69 65 73 22 0a 20 20 27 28 28 65 6d 61 63  | files.and.directories"...'((emac | 
| a660 |  73 20 22 32 34 2e 31 22 29 0a 20 20 20 20 28 73    20 22 31 2e 37 2e 30 22 29 0a 20 20 20 20 28 64  | s."24.1").....(s."1.7.0").....(d | 
| a680 |  61 73 68 20 22 32 2e 32 2e 30 22 29 29 0a 20 20    3a 63 6f 6d 6d 69 74 20 22 31 65 37 30 32 30 64  | ash."2.2.0"))...:commit."1e7020d | 
| a6a0 |  63 30 64 34 63 35 32 64 33 64 61 39 62 64 36 31    30 64 34 33 31 63 61 62 31 33 61 61 30 32 64 38  | c0d4c52d3da9bd610d431cab13aa02d8 | 
| a6c0 |  63 22 20 3a 61 75 74 68 6f 72 73 0a 20 20 27 28    28 22 4a 6f 68 61 6e 20 41 6e 64 65 72 73 73 6f  | c".:authors...'(("Johan.Andersso | 
| a6e0 |  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 29 29 0a  | n"..."johan.rejeep@gmail.com")). | 
| a700 |  20 20 3a 6d 61 69 6e 74 61 69 6e 65 72 73 0a 20    20 27 28 28 22 4c 75 63 69 65 6e 20 43 61 72 74  | ..:maintainers...'(("Lucien.Cart | 
| a720 |  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 6f  | ier-Tilet"..."lucien@phundrak.co | 
| a740 |  6d 22 29 29 0a 20 20 3a 6d 61 69 6e 74 61 69 6e    65 72 0a 20 20 27 28 22 4c 75 63 69 65 6e 20 43  | m"))...:maintainer...'("Lucien.C | 
| a760 |  61 72 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  | artier-Tilet"..."lucien@phundrak | 
| a780 |  2e 63 6f 6d 22 29 0a 20 20 3a 6b 65 79 77 6f 72    64 73 0a 20 20 27 28 22 66 69 6c 65 73 22 20 22  | .com")...:keywords...'("files"." | 
| a7a0 |  64 69 72 65 63 74 6f 72 69 65 73 22 29 0a 20 20    3a 75 72 6c 20 22 68 74 74 70 3a 2f 2f 67 69 74  | directories")...:url."http://git | 
| a7c0 |  68 75 62 2e 63 6f 6d 2f 72 65 6a 65 65 70 2f 66    2e 65 6c 22 29 0a 3b 3b 20 4c 6f 63 61 6c 20 56  | hub.com/rejeep/f.el").;;.Local.V | 
| a7e0 |  61 72 69 61 62 6c 65 73 3a 0a 3b 3b 20 6e 6f 2d    62 79 74 65 2d 63 6f 6d 70 69 6c 65 3a 20 74 0a  | ariables:.;;.no-byte-compile:.t. | 
| a800 |  3b 3b 20 45 6e 64 3a 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  | ;;.End:......................... | 
| 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  | ................................ |