summaryrefslogtreecommitdiff
path: root/.localrepo/dash-2.19.1.tar
blob: a54b0337cb6214f159f66bf3dba1c30b40e6fd72 (plain)
ofshex dumpascii
0000 64 61 73 68 2d 32 2e 31 39 2e 31 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 dash-2.19.1/....................
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 36 32 00 20 35 00 00 00 0000000.00000000000.011162..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 64 61 73 68 2d 32 2e 31 39 2e 31 2f 2e 67 69 74 68 75 62 2f 00 00 00 00 00 00 00 00 00 00 00 00 dash-2.19.1/.github/............
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 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
0280 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 32 35 32 32 00 20 35 00 00 00 0000000.00000000000.012522..5...
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 64 61 73 68 2d 32 2e 31 39 2e 31 2f 2e 67 69 74 68 75 62 2f 77 6f 72 6b 66 6c 6f 77 73 2f 00 00 dash-2.19.1/.github/workflows/..
0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0460 00 00 00 00 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
0480 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 35 35 37 00 20 35 00 00 00 0000000.00000000000.014557..5...
04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0500 00 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...................
0520 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...................
0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0600 64 61 73 68 2d 32 2e 31 39 2e 31 2f 2e 67 69 74 68 75 62 2f 77 6f 72 6b 66 6c 6f 77 73 2f 74 65 dash-2.19.1/.github/workflows/te
0620 73 74 2e 79 6d 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 st.yml..........................
0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0660 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
0680 30 30 30 31 34 34 31 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 36 32 36 31 00 20 30 00 00 00 0001441.00000000000.016261..0...
06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0700 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
0720 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0800 6e 61 6d 65 3a 20 43 49 0a 6f 6e 3a 20 5b 70 75 73 68 2c 20 70 75 6c 6c 5f 72 65 71 75 65 73 74 name:.CI.on:.[push,.pull_request
0820 5d 0a 0a 6a 6f 62 73 3a 0a 20 20 62 75 69 6c 64 3a 0a 20 20 20 20 72 75 6e 73 2d 6f 6e 3a 20 75 ]..jobs:...build:.....runs-on:.u
0840 62 75 6e 74 75 2d 6c 61 74 65 73 74 0a 20 20 20 20 73 74 72 61 74 65 67 79 3a 0a 20 20 20 20 20 buntu-latest.....strategy:......
0860 20 6d 61 74 72 69 78 3a 0a 20 20 20 20 20 20 20 20 65 6d 61 63 73 5f 76 65 72 73 69 6f 6e 3a 0a .matrix:.........emacs_version:.
0880 20 20 20 20 20 20 20 20 20 20 2d 20 27 32 34 2e 31 27 0a 20 20 20 20 20 20 20 20 20 20 2d 20 27 ..........-.'24.1'...........-.'
08a0 32 34 2e 32 27 0a 20 20 20 20 20 20 20 20 20 20 2d 20 27 32 34 2e 33 27 0a 20 20 20 20 20 20 20 24.2'...........-.'24.3'........
08c0 20 20 20 2d 20 27 32 34 2e 34 27 0a 20 20 20 20 20 20 20 20 20 20 2d 20 27 32 34 2e 35 27 0a 20 ...-.'24.4'...........-.'24.5'..
08e0 20 20 20 20 20 20 20 20 20 2d 20 27 32 35 2e 31 27 0a 20 20 20 20 20 20 20 20 20 20 2d 20 27 32 .........-.'25.1'...........-.'2
0900 35 2e 32 27 0a 20 20 20 20 20 20 20 20 20 20 2d 20 27 32 35 2e 33 27 0a 20 20 20 20 20 20 20 20 5.2'...........-.'25.3'.........
0920 20 20 2d 20 27 32 36 2e 31 27 0a 20 20 20 20 20 20 20 20 20 20 2d 20 27 32 36 2e 32 27 0a 20 20 ..-.'26.1'...........-.'26.2'...
0940 20 20 20 20 20 20 20 20 2d 20 27 32 36 2e 33 27 0a 20 20 20 20 20 20 20 20 20 20 2d 20 27 32 37 ........-.'26.3'...........-.'27
0960 2e 31 27 0a 20 20 20 20 20 20 20 20 20 20 2d 20 27 73 6e 61 70 73 68 6f 74 27 0a 20 20 20 20 20 .1'...........-.'snapshot'......
0980 20 20 20 69 6e 63 6c 75 64 65 3a 0a 20 20 20 20 20 20 20 20 20 20 2d 20 65 6d 61 63 73 5f 76 65 ...include:...........-.emacs_ve
09a0 72 73 69 6f 6e 3a 20 27 73 6e 61 70 73 68 6f 74 27 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 6c rsion:.'snapshot'.............al
09c0 6c 6f 77 5f 66 61 69 6c 75 72 65 3a 20 74 72 75 65 0a 20 20 20 20 73 74 65 70 73 3a 0a 20 20 20 low_failure:.true.....steps:....
09e0 20 2d 20 75 73 65 73 3a 20 61 63 74 69 6f 6e 73 2f 63 68 65 63 6b 6f 75 74 40 76 32 0a 20 20 20 .-.uses:.actions/checkout@v2....
0a00 20 2d 20 75 73 65 73 3a 20 70 75 72 63 65 6c 6c 2f 73 65 74 75 70 2d 65 6d 61 63 73 40 6d 61 73 .-.uses:.purcell/setup-emacs@mas
0a20 74 65 72 0a 20 20 20 20 20 20 77 69 74 68 3a 0a 20 20 20 20 20 20 20 20 76 65 72 73 69 6f 6e 3a ter.......with:.........version:
0a40 20 24 7b 7b 20 6d 61 74 72 69 78 2e 65 6d 61 63 73 5f 76 65 72 73 69 6f 6e 20 7d 7d 0a 0a 20 20 .${{.matrix.emacs_version.}}....
0a60 20 20 2d 20 6e 61 6d 65 3a 20 52 75 6e 20 74 65 73 74 73 0a 20 20 20 20 20 20 69 66 3a 20 6d 61 ..-.name:.Run.tests.......if:.ma
0a80 74 72 69 78 2e 61 6c 6c 6f 77 5f 66 61 69 6c 75 72 65 20 21 3d 20 74 72 75 65 0a 20 20 20 20 20 trix.allow_failure.!=.true......
0aa0 20 72 75 6e 3a 20 27 6d 61 6b 65 20 63 68 65 63 6b 27 0a 0a 20 20 20 20 2d 20 6e 61 6d 65 3a 20 .run:.'make.check'......-.name:.
0ac0 52 75 6e 20 74 65 73 74 73 20 28 61 6c 6c 6f 77 20 66 61 69 6c 75 72 65 29 0a 20 20 20 20 20 20 Run.tests.(allow.failure).......
0ae0 69 66 3a 20 6d 61 74 72 69 78 2e 61 6c 6c 6f 77 5f 66 61 69 6c 75 72 65 20 3d 3d 20 74 72 75 65 if:.matrix.allow_failure.==.true
0b00 0a 20 20 20 20 20 20 72 75 6e 3a 20 27 6d 61 6b 65 20 63 68 65 63 6b 20 7c 7c 20 74 72 75 65 27 .......run:.'make.check.||.true'
0b20 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0c00 64 61 73 68 2d 32 2e 31 39 2e 31 2f 64 61 73 68 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 dash-2.19.1/dash.el.............
0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0c60 00 00 00 00 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
0c80 30 33 36 32 37 37 32 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 32 34 34 34 00 20 30 00 00 00 0362772.00000000000.012444..0...
0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0d00 00 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...................
0d20 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...................
0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0e00 3b 3b 3b 20 64 61 73 68 2e 65 6c 20 2d 2d 2d 20 41 20 6d 6f 64 65 72 6e 20 6c 69 73 74 20 6c 69 ;;;.dash.el.---.A.modern.list.li
0e20 62 72 61 72 79 20 66 6f 72 20 45 6d 61 63 73 20 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 69 6e brary.for.Emacs..-*-.lexical-bin
0e40 64 69 6e 67 3a 20 74 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 ding:.t.-*-..;;.Copyright.(C).20
0e60 31 32 2d 32 30 32 31 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 12-2021.Free.Software.Foundation
0e80 2c 20 49 6e 63 2e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 4d 61 67 6e 61 72 20 53 76 65 65 6e 20 ,.Inc...;;.Author:.Magnar.Sveen.
0ea0 3c 6d 61 67 6e 61 72 73 40 67 6d 61 69 6c 2e 63 6f 6d 3e 0a 3b 3b 20 56 65 72 73 69 6f 6e 3a 20 <magnars@gmail.com>.;;.Version:.
0ec0 32 2e 31 39 2e 31 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 2.19.1.;;.Package-Requires:.((em
0ee0 61 63 73 20 22 32 34 22 29 29 0a 3b 3b 20 4b 65 79 77 6f 72 64 73 3a 20 65 78 74 65 6e 73 69 6f acs."24")).;;.Keywords:.extensio
0f00 6e 73 2c 20 6c 69 73 70 0a 3b 3b 20 48 6f 6d 65 70 61 67 65 3a 20 68 74 74 70 73 3a 2f 2f 67 69 ns,.lisp.;;.Homepage:.https://gi
0f20 74 68 75 62 2e 63 6f 6d 2f 6d 61 67 6e 61 72 73 2f 64 61 73 68 2e 65 6c 0a 0a 3b 3b 20 54 68 69 thub.com/magnars/dash.el..;;.Thi
0f40 73 20 70 72 6f 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 s.program.is.free.software:.you.
0f60 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 can.redistribute.it.and/or.modif
0f80 79 0a 3b 3b 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 y.;;.it.under.the.terms.of.the.G
0fa0 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 NU.General.Public.License.as.pub
0fc0 6c 69 73 68 65 64 20 62 79 0a 3b 3b 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 lished.by.;;.the.Free.Software.F
0fe0 6f 75 6e 64 61 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 oundation,.either.version.3.of.t
1000 68 65 20 4c 69 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 he.License,.or.;;.(at.your.optio
1020 6e 29 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 n).any.later.version...;;.This.p
1040 72 6f 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 rogram.is.distributed.in.the.hop
1060 65 20 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 e.that.it.will.be.useful,.;;.but
1080 20 57 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 .WITHOUT.ANY.WARRANTY;.without.e
10a0 76 65 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 ven.the.implied.warranty.of.;;.M
10c0 45 52 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 ERCHANTABILITY.or.FITNESS.FOR.A.
10e0 50 41 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 PARTICULAR.PURPOSE...See.the.;;.
1100 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d GNU.General.Public.License.for.m
1120 6f 72 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 ore.details...;;.You.should.have
1140 20 72 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 .received.a.copy.of.the.GNU.Gene
1160 72 61 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 ral.Public.License.;;.along.with
1180 20 74 68 69 73 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 .this.program...If.not,.see.<htt
11a0 70 73 3a 2f 2f 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 3b 3b ps://www.gnu.org/licenses/>...;;
11c0 3b 20 43 6f 6d 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b 20 41 20 6d 6f 64 65 72 6e 20 6c 69 73 74 20 ;.Commentary:..;;.A.modern.list.
11e0 41 50 49 20 66 6f 72 20 45 6d 61 63 73 2e 0a 3b 3b 0a 3b 3b 20 53 65 65 20 69 74 73 20 6f 76 65 API.for.Emacs..;;.;;.See.its.ove
1200 72 76 69 65 77 20 61 74 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6d 61 67 6e rview.at.https://github.com/magn
1220 61 72 73 2f 64 61 73 68 2e 65 6c 23 66 75 6e 63 74 69 6f 6e 73 2e 0a 0a 3b 3b 3b 20 43 6f 64 65 ars/dash.el#functions...;;;.Code
1240 3a 0a 0a 3b 3b 20 54 4f 44 4f 3a 20 60 67 76 27 20 77 61 73 20 69 6e 74 72 6f 64 75 63 65 64 20 :..;;.TODO:.`gv'.was.introduced.
1260 69 6e 20 45 6d 61 63 73 20 32 34 2e 33 2c 20 73 6f 20 72 65 6d 6f 76 65 20 74 68 69 73 20 61 6e in.Emacs.24.3,.so.remove.this.an
1280 64 20 61 6c 6c 0a 3b 3b 20 63 61 6c 6c 73 20 74 6f 20 60 64 65 66 73 65 74 66 27 20 77 68 65 6e d.all.;;.calls.to.`defsetf'.when
12a0 20 73 75 70 70 6f 72 74 20 66 6f 72 20 65 61 72 6c 69 65 72 20 76 65 72 73 69 6f 6e 73 20 69 73 .support.for.earlier.versions.is
12c0 20 64 72 6f 70 70 65 64 2e 0a 28 65 76 61 6c 2d 77 68 65 6e 2d 63 6f 6d 70 69 6c 65 0a 20 20 28 .dropped..(eval-when-compile...(
12e0 75 6e 6c 65 73 73 20 28 66 62 6f 75 6e 64 70 20 27 67 76 2d 64 65 66 69 6e 65 2d 73 65 74 74 65 unless.(fboundp.'gv-define-sette
1300 72 29 0a 20 20 20 20 28 72 65 71 75 69 72 65 20 27 63 6c 29 29 29 0a 0a 28 64 65 66 67 72 6f 75 r).....(require.'cl)))..(defgrou
1320 70 20 64 61 73 68 20 28 29 0a 20 20 22 43 75 73 74 6f 6d 69 7a 65 20 67 72 6f 75 70 20 66 6f 72 p.dash.()..."Customize.group.for
1340 20 44 61 73 68 2c 20 61 20 6d 6f 64 65 72 6e 20 6c 69 73 74 20 6c 69 62 72 61 72 79 2e 22 0a 20 .Dash,.a.modern.list.library."..
1360 20 3a 67 72 6f 75 70 20 27 65 78 74 65 6e 73 69 6f 6e 73 0a 20 20 3a 67 72 6f 75 70 20 27 6c 69 .:group.'extensions...:group.'li
1380 73 70 0a 20 20 3a 70 72 65 66 69 78 20 22 64 61 73 68 2d 22 29 0a 0a 28 64 65 66 6d 61 63 72 6f sp...:prefix."dash-")..(defmacro
13a0 20 21 63 6f 6e 73 20 28 63 61 72 20 63 64 72 29 0a 20 20 22 44 65 73 74 72 75 63 74 69 76 65 3a .!cons.(car.cdr)..."Destructive:
13c0 20 53 65 74 20 43 44 52 20 74 6f 20 74 68 65 20 63 6f 6e 73 20 6f 66 20 43 41 52 20 61 6e 64 20 .Set.CDR.to.the.cons.of.CAR.and.
13e0 43 44 52 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 73 79 CDR."...(declare.(debug.(form.sy
1400 6d 62 6f 6c 70 29 29 29 0a 20 20 60 28 73 65 74 71 20 2c 63 64 72 20 28 63 6f 6e 73 20 2c 63 61 mbolp)))...`(setq.,cdr.(cons.,ca
1420 72 20 2c 63 64 72 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 21 63 64 72 20 28 6c 69 73 74 29 r.,cdr)))..(defmacro.!cdr.(list)
1440 0a 20 20 22 44 65 73 74 72 75 63 74 69 76 65 3a 20 53 65 74 20 4c 49 53 54 20 74 6f 20 74 68 65 ..."Destructive:.Set.LIST.to.the
1460 20 63 64 72 20 6f 66 20 4c 49 53 54 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 .cdr.of.LIST."...(declare.(debug
1480 20 28 73 79 6d 62 6f 6c 70 29 29 29 0a 20 20 60 28 73 65 74 71 20 2c 6c 69 73 74 20 28 63 64 72 .(symbolp)))...`(setq.,list.(cdr
14a0 20 2c 6c 69 73 74 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 65 61 63 68 20 28 6c 69 73 .,list)))..(defmacro.--each.(lis
14c0 74 20 26 72 65 73 74 20 62 6f 64 79 29 0a 20 20 22 45 76 61 6c 75 61 74 65 20 42 4f 44 59 20 66 t.&rest.body)..."Evaluate.BODY.f
14e0 6f 72 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 20 61 6e 64 20 72 65 74 75 or.each.element.of.LIST.and.retu
1500 72 6e 20 6e 69 6c 2e 0a 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 20 69 6e 20 rn.nil..Each.element.of.LIST.in.
1520 74 75 72 6e 20 69 73 20 62 6f 75 6e 64 20 74 6f 20 60 69 74 27 20 61 6e 64 20 69 74 73 20 69 6e turn.is.bound.to.`it'.and.its.in
1540 64 65 78 0a 77 69 74 68 69 6e 20 4c 49 53 54 20 74 6f 20 60 69 74 2d 69 6e 64 65 78 27 20 62 65 dex.within.LIST.to.`it-index'.be
1560 66 6f 72 65 20 65 76 61 6c 75 61 74 69 6e 67 20 42 4f 44 59 2e 0a 54 68 69 73 20 69 73 20 74 68 fore.evaluating.BODY..This.is.th
1580 65 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 74 6f 20 60 2d 65 61 63 e.anaphoric.counterpart.to.`-eac
15a0 68 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 62 6f 64 h'."...(declare.(debug.(form.bod
15c0 79 29 29 20 28 69 6e 64 65 6e 74 20 31 29 29 0a 20 20 28 6c 65 74 20 28 28 6c 20 28 6d 61 6b 65 y)).(indent.1))...(let.((l.(make
15e0 2d 73 79 6d 62 6f 6c 20 22 6c 69 73 74 22 29 29 0a 20 20 20 20 20 20 20 20 28 69 20 28 6d 61 6b -symbol."list")).........(i.(mak
1600 65 2d 73 79 6d 62 6f 6c 20 22 69 22 29 29 29 0a 20 20 20 20 60 28 6c 65 74 20 28 28 2c 6c 20 2c e-symbol."i"))).....`(let.((,l.,
1620 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 2c 69 20 30 29 0a 20 20 20 20 20 20 20 20 list)............(,i.0).........
1640 20 20 20 69 74 20 69 74 2d 69 6e 64 65 78 29 0a 20 20 20 20 20 20 20 28 69 67 6e 6f 72 65 20 69 ...it.it-index)........(ignore.i
1660 74 20 69 74 2d 69 6e 64 65 78 29 0a 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 2c 6c 0a 20 20 20 t.it-index)........(while.,l....
1680 20 20 20 20 20 20 28 73 65 74 71 20 69 74 20 28 70 6f 70 20 2c 6c 29 20 69 74 2d 69 6e 64 65 78 ......(setq.it.(pop.,l).it-index
16a0 20 2c 69 20 2c 69 20 28 31 2b 20 2c 69 29 29 0a 20 20 20 20 20 20 20 20 20 2c 40 62 6f 64 79 29 .,i.,i.(1+.,i))..........,@body)
16c0 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 65 61 63 68 20 28 6c 69 73 74 20 66 6e 29 0a 20 20 22 43 )))..(defun.-each.(list.fn)..."C
16e0 61 6c 6c 20 46 4e 20 6f 6e 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 2e 0a all.FN.on.each.element.of.LIST..
1700 52 65 74 75 72 6e 20 6e 69 6c 3b 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 69 6e 74 Return.nil;.this.function.is.int
1720 65 6e 64 65 64 20 66 6f 72 20 73 69 64 65 20 65 66 66 65 63 74 73 2e 0a 0a 49 74 73 20 61 6e 61 ended.for.side.effects...Its.ana
1740 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 65 61 63 68 27 2e 0a phoric.counterpart.is.`--each'..
1760 0a 46 6f 72 20 61 63 63 65 73 73 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 65 6c 65 6d 65 .For.access.to.the.current.eleme
1780 6e 74 27 73 20 69 6e 64 65 78 20 69 6e 20 4c 49 53 54 2c 20 73 65 65 0a 60 2d 65 61 63 68 2d 69 nt's.index.in.LIST,.see.`-each-i
17a0 6e 64 65 78 65 64 27 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 ndexed'."...(declare.(indent.1))
17c0 0a 20 20 28 69 67 6e 6f 72 65 20 28 6d 61 70 63 20 66 6e 20 6c 69 73 74 29 29 29 0a 0a 28 64 65 ...(ignore.(mapc.fn.list)))..(de
17e0 66 61 6c 69 61 73 20 27 2d 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 20 27 2d 2d 65 61 63 68 29 0a falias.'--each-indexed.'--each).
1800 0a 28 64 65 66 75 6e 20 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 20 28 6c 69 73 74 20 66 6e 29 0a .(defun.-each-indexed.(list.fn).
1820 20 20 22 43 61 6c 6c 20 46 4e 20 6f 6e 20 65 61 63 68 20 69 6e 64 65 78 20 61 6e 64 20 65 6c 65 .."Call.FN.on.each.index.and.ele
1840 6d 65 6e 74 20 6f 66 20 4c 49 53 54 2e 0a 46 6f 72 20 65 61 63 68 20 49 54 45 4d 20 61 74 20 49 ment.of.LIST..For.each.ITEM.at.I
1860 4e 44 45 58 20 69 6e 20 4c 49 53 54 2c 20 63 61 6c 6c 20 28 66 75 6e 63 61 6c 6c 20 46 4e 20 49 NDEX.in.LIST,.call.(funcall.FN.I
1880 4e 44 45 58 20 49 54 45 4d 29 2e 0a 52 65 74 75 72 6e 20 6e 69 6c 3b 20 74 68 69 73 20 66 75 6e NDEX.ITEM)..Return.nil;.this.fun
18a0 63 74 69 6f 6e 20 69 73 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 20 73 69 64 65 20 65 66 66 65 63 ction.is.intended.for.side.effec
18c0 74 73 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 6d 61 70 2d 69 6e 64 65 78 65 64 27 2e 22 0a ts...See.also:.`-map-indexed'.".
18e0 20 20 28 64 65 63 6c 61 72 65 20 28 69 6e 64 65 6e 74 20 31 29 29 0a 20 20 28 2d 2d 65 61 63 68 ..(declare.(indent.1))...(--each
1900 20 6c 69 73 74 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 69 74 2d 69 6e 64 65 78 20 69 74 29 29 29 .list.(funcall.fn.it-index.it)))
1920 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 65 61 63 68 2d 77 68 69 6c 65 20 28 6c 69 73 74 20 70 ..(defmacro.--each-while.(list.p
1940 72 65 64 20 26 72 65 73 74 20 62 6f 64 79 29 0a 20 20 22 45 76 61 6c 75 61 74 65 20 42 4f 44 59 red.&rest.body)..."Evaluate.BODY
1960 20 66 6f 72 20 65 61 63 68 20 69 74 65 6d 20 69 6e 20 4c 49 53 54 2c 20 77 68 69 6c 65 20 50 52 .for.each.item.in.LIST,.while.PR
1980 45 44 20 65 76 61 6c 75 61 74 65 73 20 74 6f 20 6e 6f 6e 2d 6e 69 6c 2e 0a 45 61 63 68 20 65 6c ED.evaluates.to.non-nil..Each.el
19a0 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 20 69 6e 20 74 75 72 6e 20 69 73 20 62 6f 75 6e 64 20 74 ement.of.LIST.in.turn.is.bound.t
19c0 6f 20 60 69 74 27 20 61 6e 64 20 69 74 73 20 69 6e 64 65 78 0a 77 69 74 68 69 6e 20 4c 49 53 54 o.`it'.and.its.index.within.LIST
19e0 20 74 6f 20 60 69 74 2d 69 6e 64 65 78 27 20 62 65 66 6f 72 65 20 65 76 61 6c 75 61 74 69 6e 67 .to.`it-index'.before.evaluating
1a00 20 50 52 45 44 20 6f 72 20 42 4f 44 59 2e 20 20 4f 6e 63 65 0a 61 6e 20 65 6c 65 6d 65 6e 74 20 .PRED.or.BODY...Once.an.element.
1a20 69 73 20 72 65 61 63 68 65 64 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 44 20 65 76 61 6c 75 61 is.reached.for.which.PRED.evalua
1a40 74 65 73 20 74 6f 20 6e 69 6c 2c 20 6e 6f 20 66 75 72 74 68 65 72 0a 42 4f 44 59 20 69 73 20 65 tes.to.nil,.no.further.BODY.is.e
1a60 76 61 6c 75 61 74 65 64 2e 20 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 61 valuated...The.return.value.is.a
1a80 6c 77 61 79 73 20 6e 69 6c 2e 0a 54 68 69 73 20 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 63 lways.nil..This.is.the.anaphoric
1aa0 20 63 6f 75 6e 74 65 72 70 61 72 74 20 74 6f 20 60 2d 65 61 63 68 2d 77 68 69 6c 65 27 2e 22 0a .counterpart.to.`-each-while'.".
1ac0 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 20 62 6f 64 ..(declare.(debug.(form.form.bod
1ae0 79 29 29 20 28 69 6e 64 65 6e 74 20 32 29 29 0a 20 20 28 6c 65 74 20 28 28 6c 20 28 6d 61 6b 65 y)).(indent.2))...(let.((l.(make
1b00 2d 73 79 6d 62 6f 6c 20 22 6c 69 73 74 22 29 29 0a 20 20 20 20 20 20 20 20 28 69 20 28 6d 61 6b -symbol."list")).........(i.(mak
1b20 65 2d 73 79 6d 62 6f 6c 20 22 69 22 29 29 0a 20 20 20 20 20 20 20 20 28 65 6c 74 20 28 6d 61 6b e-symbol."i")).........(elt.(mak
1b40 65 2d 73 79 6d 62 6f 6c 20 22 65 6c 74 22 29 29 29 0a 20 20 20 20 60 28 6c 65 74 20 28 28 2c 6c e-symbol."elt"))).....`(let.((,l
1b60 20 2c 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 2c 69 20 30 29 0a 20 20 20 20 20 20 .,list)............(,i.0).......
1b80 20 20 20 20 20 2c 65 6c 74 20 69 74 20 69 74 2d 69 6e 64 65 78 29 0a 20 20 20 20 20 20 20 28 69 .....,elt.it.it-index)........(i
1ba0 67 6e 6f 72 65 20 69 74 20 69 74 2d 69 6e 64 65 78 29 0a 20 20 20 20 20 20 20 28 77 68 69 6c 65 gnore.it.it-index)........(while
1bc0 20 28 61 6e 64 20 2c 6c 20 28 73 65 74 71 20 2c 65 6c 74 20 28 70 6f 70 20 2c 6c 29 20 69 74 20 .(and.,l.(setq.,elt.(pop.,l).it.
1be0 2c 65 6c 74 20 69 74 2d 69 6e 64 65 78 20 2c 69 29 20 2c 70 72 65 64 29 0a 20 20 20 20 20 20 20 ,elt.it-index.,i).,pred)........
1c00 20 20 28 73 65 74 71 20 69 74 20 2c 65 6c 74 20 69 74 2d 69 6e 64 65 78 20 2c 69 20 2c 69 20 28 ..(setq.it.,elt.it-index.,i.,i.(
1c20 31 2b 20 2c 69 29 29 0a 20 20 20 20 20 20 20 20 20 2c 40 62 6f 64 79 29 29 29 29 0a 0a 28 64 65 1+.,i))..........,@body))))..(de
1c40 66 75 6e 20 2d 65 61 63 68 2d 77 68 69 6c 65 20 28 6c 69 73 74 20 70 72 65 64 20 66 6e 29 0a 20 fun.-each-while.(list.pred.fn)..
1c60 20 22 43 61 6c 6c 20 46 4e 20 6f 6e 20 65 61 63 68 20 49 54 45 4d 20 69 6e 20 4c 49 53 54 2c 20 ."Call.FN.on.each.ITEM.in.LIST,.
1c80 77 68 69 6c 65 20 28 50 52 45 44 20 49 54 45 4d 29 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 4f 6e while.(PRED.ITEM).is.non-nil..On
1ca0 63 65 20 61 6e 20 49 54 45 4d 20 69 73 20 72 65 61 63 68 65 64 20 66 6f 72 20 77 68 69 63 68 20 ce.an.ITEM.is.reached.for.which.
1cc0 50 52 45 44 20 72 65 74 75 72 6e 73 20 6e 69 6c 2c 20 46 4e 20 69 73 20 6e 6f 0a 6c 6f 6e 67 65 PRED.returns.nil,.FN.is.no.longe
1ce0 72 20 63 61 6c 6c 65 64 2e 20 20 52 65 74 75 72 6e 20 6e 69 6c 3b 20 74 68 69 73 20 66 75 6e 63 r.called...Return.nil;.this.func
1d00 74 69 6f 6e 20 69 73 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 20 73 69 64 65 0a 65 66 66 65 63 74 tion.is.intended.for.side.effect
1d20 73 2e 0a 0a 49 74 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 s...Its.anaphoric.counterpart.is
1d40 20 60 2d 2d 65 61 63 68 2d 77 68 69 6c 65 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6e .`--each-while'."...(declare.(in
1d60 64 65 6e 74 20 32 29 29 0a 20 20 28 2d 2d 65 61 63 68 2d 77 68 69 6c 65 20 6c 69 73 74 20 28 66 dent.2))...(--each-while.list.(f
1d80 75 6e 63 61 6c 6c 20 70 72 65 64 20 69 74 29 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 69 74 29 29 uncall.pred.it).(funcall.fn.it))
1da0 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 65 61 63 68 2d 72 20 28 6c 69 73 74 20 26 72 65 73 )..(defmacro.--each-r.(list.&res
1dc0 74 20 62 6f 64 79 29 0a 20 20 22 45 76 61 6c 75 61 74 65 20 42 4f 44 59 20 66 6f 72 20 65 61 63 t.body)..."Evaluate.BODY.for.eac
1de0 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 20 69 6e 20 72 65 76 65 72 73 65 64 20 6f 72 h.element.of.LIST.in.reversed.or
1e00 64 65 72 2e 0a 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 20 69 6e 20 74 75 72 der..Each.element.of.LIST.in.tur
1e20 6e 2c 20 73 74 61 72 74 69 6e 67 20 61 74 20 69 74 73 20 65 6e 64 2c 20 69 73 20 62 6f 75 6e 64 n,.starting.at.its.end,.is.bound
1e40 20 74 6f 0a 60 69 74 27 20 61 6e 64 20 69 74 73 20 69 6e 64 65 78 20 77 69 74 68 69 6e 20 4c 49 .to.`it'.and.its.index.within.LI
1e60 53 54 20 74 6f 20 60 69 74 2d 69 6e 64 65 78 27 20 62 65 66 6f 72 65 20 65 76 61 6c 75 61 74 69 ST.to.`it-index'.before.evaluati
1e80 6e 67 0a 42 4f 44 59 2e 20 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 61 6c ng.BODY...The.return.value.is.al
1ea0 77 61 79 73 20 6e 69 6c 2e 0a 54 68 69 73 20 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 63 20 ways.nil..This.is.the.anaphoric.
1ec0 63 6f 75 6e 74 65 72 70 61 72 74 20 74 6f 20 60 2d 65 61 63 68 2d 72 27 2e 22 0a 20 20 28 64 65 counterpart.to.`-each-r'."...(de
1ee0 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 62 6f 64 79 29 29 20 28 69 6e 64 65 6e clare.(debug.(form.body)).(inden
1f00 74 20 31 29 29 0a 20 20 28 6c 65 74 20 28 28 76 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 76 t.1))...(let.((v.(make-symbol."v
1f20 65 63 74 6f 72 22 29 29 0a 20 20 20 20 20 20 20 20 28 69 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c ector")).........(i.(make-symbol
1f40 20 22 69 22 29 29 29 0a 20 20 20 20 3b 3b 20 49 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 6e 6f ."i"))).....;;.Implementation.no
1f60 74 65 3a 20 62 75 69 6c 64 69 6e 67 20 61 20 76 65 63 74 6f 72 20 69 73 20 63 6f 6e 73 69 64 65 te:.building.a.vector.is.conside
1f80 72 61 62 6c 79 20 66 61 73 74 65 72 0a 20 20 20 20 3b 3b 20 74 68 61 6e 20 62 75 69 6c 64 69 6e rably.faster.....;;.than.buildin
1fa0 67 20 61 20 72 65 76 65 72 73 65 64 20 6c 69 73 74 20 28 76 65 63 74 6f 72 20 74 61 6b 65 73 20 g.a.reversed.list.(vector.takes.
1fc0 6c 65 73 73 20 6d 65 6d 6f 72 79 2c 20 73 6f 0a 20 20 20 20 3b 3b 20 74 68 65 72 65 20 69 73 20 less.memory,.so.....;;.there.is.
1fe0 6c 65 73 73 20 47 43 29 2c 20 70 6c 75 73 20 60 6c 65 6e 67 74 68 27 20 63 6f 6d 65 73 20 6e 61 less.GC),.plus.`length'.comes.na
2000 74 75 72 61 6c 6c 79 2e 20 20 49 6e 2d 70 6c 61 63 65 0a 20 20 20 20 3b 3b 20 60 6e 72 65 76 65 turally...In-place.....;;.`nreve
2020 72 73 65 27 20 77 6f 75 6c 64 20 62 65 20 66 61 73 74 65 72 20 73 74 69 6c 6c 2c 20 62 75 74 20 rse'.would.be.faster.still,.but.
2040 42 4f 44 59 20 77 6f 75 6c 64 20 62 65 20 61 62 6c 65 20 74 6f 20 73 65 65 0a 20 20 20 20 3b 3b BODY.would.be.able.to.see.....;;
2060 20 74 68 61 74 2c 20 65 76 65 6e 20 69 66 20 74 68 65 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 .that,.even.if.the.modification.
2080 77 61 73 20 75 6e 64 6f 6e 65 20 62 65 66 6f 72 65 20 77 65 20 72 65 74 75 72 6e 2e 0a 20 20 20 was.undone.before.we.return.....
20a0 20 60 28 6c 65 74 2a 20 28 28 2c 76 20 28 76 63 6f 6e 63 61 74 20 2c 6c 69 73 74 29 29 0a 20 20 .`(let*.((,v.(vconcat.,list))...
20c0 20 20 20 20 20 20 20 20 20 20 28 2c 69 20 28 6c 65 6e 67 74 68 20 2c 76 29 29 0a 20 20 20 20 20 ..........(,i.(length.,v))......
20e0 20 20 20 20 20 20 20 69 74 20 69 74 2d 69 6e 64 65 78 29 0a 20 20 20 20 20 20 20 28 69 67 6e 6f .......it.it-index)........(igno
2100 72 65 20 69 74 20 69 74 2d 69 6e 64 65 78 29 0a 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 3e re.it.it-index)........(while.(>
2120 20 2c 69 20 30 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 2c 69 20 28 31 2d 20 2c 69 29 .,i.0)..........(setq.,i.(1-.,i)
2140 20 69 74 2d 69 6e 64 65 78 20 2c 69 20 69 74 20 28 61 72 65 66 20 2c 76 20 2c 69 29 29 0a 20 20 .it-index.,i.it.(aref.,v.,i))...
2160 20 20 20 20 20 20 20 2c 40 62 6f 64 79 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 65 61 63 68 2d .......,@body))))..(defun.-each-
2180 72 20 28 6c 69 73 74 20 66 6e 29 0a 20 20 22 43 61 6c 6c 20 46 4e 20 6f 6e 20 65 61 63 68 20 65 r.(list.fn)..."Call.FN.on.each.e
21a0 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 20 69 6e 20 72 65 76 65 72 73 65 64 20 6f 72 64 65 72 lement.of.LIST.in.reversed.order
21c0 2e 0a 52 65 74 75 72 6e 20 6e 69 6c 3b 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 69 ..Return.nil;.this.function.is.i
21e0 6e 74 65 6e 64 65 64 20 66 6f 72 20 73 69 64 65 20 65 66 66 65 63 74 73 2e 0a 0a 49 74 73 20 61 ntended.for.side.effects...Its.a
2200 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 65 61 63 68 2d naphoric.counterpart.is.`--each-
2220 72 27 2e 22 0a 20 20 28 2d 2d 65 61 63 68 2d 72 20 6c 69 73 74 20 28 66 75 6e 63 61 6c 6c 20 66 r'."...(--each-r.list.(funcall.f
2240 6e 20 69 74 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 65 61 63 68 2d 72 2d 77 68 69 6c n.it)))..(defmacro.--each-r-whil
2260 65 20 28 6c 69 73 74 20 70 72 65 64 20 26 72 65 73 74 20 62 6f 64 79 29 0a 20 20 22 45 76 61 6c e.(list.pred.&rest.body)..."Eval
2280 20 42 4f 44 59 20 66 6f 72 20 65 61 63 68 20 69 74 65 6d 20 69 6e 20 72 65 76 65 72 73 65 64 20 .BODY.for.each.item.in.reversed.
22a0 4c 49 53 54 2c 20 77 68 69 6c 65 20 50 52 45 44 20 65 76 61 6c 73 20 74 6f 20 6e 6f 6e 2d 6e 69 LIST,.while.PRED.evals.to.non-ni
22c0 6c 2e 0a 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 20 69 6e 20 74 75 72 6e 2c l..Each.element.of.LIST.in.turn,
22e0 20 73 74 61 72 74 69 6e 67 20 61 74 20 69 74 73 20 65 6e 64 2c 20 69 73 20 62 6f 75 6e 64 20 74 .starting.at.its.end,.is.bound.t
2300 6f 0a 60 69 74 27 20 61 6e 64 20 69 74 73 20 69 6e 64 65 78 20 77 69 74 68 69 6e 20 4c 49 53 54 o.`it'.and.its.index.within.LIST
2320 20 74 6f 20 60 69 74 2d 69 6e 64 65 78 27 20 62 65 66 6f 72 65 20 65 76 61 6c 75 61 74 69 6e 67 .to.`it-index'.before.evaluating
2340 0a 50 52 45 44 20 6f 72 20 42 4f 44 59 2e 20 20 4f 6e 63 65 20 61 6e 20 65 6c 65 6d 65 6e 74 20 .PRED.or.BODY...Once.an.element.
2360 69 73 20 72 65 61 63 68 65 64 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 44 0a 65 76 61 6c 75 61 is.reached.for.which.PRED.evalua
2380 74 65 73 20 74 6f 20 6e 69 6c 2c 20 6e 6f 20 66 75 72 74 68 65 72 20 42 4f 44 59 20 69 73 20 65 tes.to.nil,.no.further.BODY.is.e
23a0 76 61 6c 75 61 74 65 64 2e 20 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 0a 69 73 20 61 valuated...The.return.value.is.a
23c0 6c 77 61 79 73 20 6e 69 6c 2e 0a 54 68 69 73 20 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 63 lways.nil..This.is.the.anaphoric
23e0 20 63 6f 75 6e 74 65 72 70 61 72 74 20 74 6f 20 60 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 27 2e .counterpart.to.`-each-r-while'.
2400 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 20 62 "...(declare.(debug.(form.form.b
2420 6f 64 79 29 29 20 28 69 6e 64 65 6e 74 20 32 29 29 0a 20 20 28 6c 65 74 20 28 28 76 20 28 6d 61 ody)).(indent.2))...(let.((v.(ma
2440 6b 65 2d 73 79 6d 62 6f 6c 20 22 76 65 63 74 6f 72 22 29 29 0a 20 20 20 20 20 20 20 20 28 69 20 ke-symbol."vector")).........(i.
2460 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 69 22 29 29 0a 20 20 20 20 20 20 20 20 28 65 6c 74 20 (make-symbol."i")).........(elt.
2480 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 65 6c 74 22 29 29 29 0a 20 20 20 20 60 28 6c 65 74 2a (make-symbol."elt"))).....`(let*
24a0 20 28 28 2c 76 20 28 76 63 6f 6e 63 61 74 20 2c 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 .((,v.(vconcat.,list))..........
24c0 20 20 20 28 2c 69 20 28 6c 65 6e 67 74 68 20 2c 76 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ...(,i.(length.,v)).............
24e0 2c 65 6c 74 20 69 74 20 69 74 2d 69 6e 64 65 78 29 0a 20 20 20 20 20 20 20 28 69 67 6e 6f 72 65 ,elt.it.it-index)........(ignore
2500 20 69 74 20 69 74 2d 69 6e 64 65 78 29 0a 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 77 68 65 .it.it-index)........(while.(whe
2520 6e 20 28 3e 20 2c 69 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 n.(>.,i.0).................(setq
2540 20 2c 69 20 28 31 2d 20 2c 69 29 20 69 74 2d 69 6e 64 65 78 20 2c 69 29 0a 20 20 20 20 20 20 20 .,i.(1-.,i).it-index.,i)........
2560 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 2c 65 6c 74 20 28 61 72 65 66 20 2c 76 20 2c 69 29 .........(setq.,elt.(aref.,v.,i)
2580 20 69 74 20 2c 65 6c 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 70 72 65 64 29 .it.,elt).................,pred)
25a0 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 69 74 2d 69 6e 64 65 78 20 2c 69 20 69 74 20 2c ..........(setq.it-index.,i.it.,
25c0 65 6c 74 29 0a 20 20 20 20 20 20 20 20 20 2c 40 62 6f 64 79 29 29 29 29 0a 0a 28 64 65 66 75 6e elt)..........,@body))))..(defun
25e0 20 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 20 28 6c 69 73 74 20 70 72 65 64 20 66 6e 29 0a 20 20 .-each-r-while.(list.pred.fn)...
2600 22 43 61 6c 6c 20 46 4e 20 6f 6e 20 65 61 63 68 20 49 54 45 4d 20 69 6e 20 72 65 76 65 72 73 65 "Call.FN.on.each.ITEM.in.reverse
2620 64 20 4c 49 53 54 2c 20 77 68 69 6c 65 20 28 50 52 45 44 20 49 54 45 4d 29 20 69 73 20 6e 6f 6e d.LIST,.while.(PRED.ITEM).is.non
2640 2d 6e 69 6c 2e 0a 4f 6e 63 65 20 61 6e 20 49 54 45 4d 20 69 73 20 72 65 61 63 68 65 64 20 66 6f -nil..Once.an.ITEM.is.reached.fo
2660 72 20 77 68 69 63 68 20 50 52 45 44 20 72 65 74 75 72 6e 73 20 6e 69 6c 2c 20 46 4e 20 69 73 20 r.which.PRED.returns.nil,.FN.is.
2680 6e 6f 0a 6c 6f 6e 67 65 72 20 63 61 6c 6c 65 64 2e 20 20 52 65 74 75 72 6e 20 6e 69 6c 3b 20 74 no.longer.called...Return.nil;.t
26a0 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 20 73 69 64 his.function.is.intended.for.sid
26c0 65 0a 65 66 66 65 63 74 73 2e 0a 0a 49 74 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 e.effects...Its.anaphoric.counte
26e0 72 70 61 72 74 20 69 73 20 60 2d 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 27 2e 22 0a 20 20 28 2d rpart.is.`--each-r-while'."...(-
2700 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 20 6c 69 73 74 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 -each-r-while.list.(funcall.pred
2720 20 69 74 29 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 69 74 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 .it).(funcall.fn.it)))..(defmacr
2740 6f 20 2d 2d 64 6f 74 69 6d 65 73 20 28 6e 75 6d 20 26 72 65 73 74 20 62 6f 64 79 29 0a 20 20 22 o.--dotimes.(num.&rest.body)..."
2760 45 76 61 6c 75 61 74 65 20 42 4f 44 59 20 4e 55 4d 20 74 69 6d 65 73 2c 20 70 72 65 73 75 6d 61 Evaluate.BODY.NUM.times,.presuma
2780 62 6c 79 20 66 6f 72 20 73 69 64 65 20 65 66 66 65 63 74 73 2e 0a 42 4f 44 59 20 69 73 20 65 76 bly.for.side.effects..BODY.is.ev
27a0 61 6c 75 61 74 65 64 20 77 69 74 68 20 74 68 65 20 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 20 aluated.with.the.local.variable.
27c0 60 69 74 27 20 74 65 6d 70 6f 72 61 72 69 6c 79 20 62 6f 75 6e 64 0a 74 6f 20 73 75 63 63 65 73 `it'.temporarily.bound.to.succes
27e0 73 69 76 65 20 69 6e 74 65 67 65 72 73 20 72 75 6e 6e 69 6e 67 20 66 72 6f 6d 20 30 2c 20 69 6e sive.integers.running.from.0,.in
2800 63 6c 75 73 69 76 65 2c 20 74 6f 20 4e 55 4d 2c 0a 65 78 63 6c 75 73 69 76 65 2e 20 20 42 4f 44 clusive,.to.NUM,.exclusive...BOD
2820 59 20 69 73 20 6e 6f 74 20 65 76 61 6c 75 61 74 65 64 20 69 66 20 4e 55 4d 20 69 73 20 6c 65 73 Y.is.not.evaluated.if.NUM.is.les
2840 73 20 74 68 61 6e 20 31 2e 0a 54 68 69 73 20 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 63 20 s.than.1..This.is.the.anaphoric.
2860 63 6f 75 6e 74 65 72 70 61 72 74 20 74 6f 20 60 2d 64 6f 74 69 6d 65 73 27 2e 22 0a 20 20 28 64 counterpart.to.`-dotimes'."...(d
2880 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 62 6f 64 79 29 29 20 28 69 6e 64 65 eclare.(debug.(form.body)).(inde
28a0 6e 74 20 31 29 29 0a 20 20 28 6c 65 74 20 28 28 6e 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 nt.1))...(let.((n.(make-symbol."
28c0 6e 75 6d 22 29 29 0a 20 20 20 20 20 20 20 20 28 69 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 num")).........(i.(make-symbol."
28e0 69 22 29 29 29 0a 20 20 20 20 60 28 6c 65 74 20 28 28 2c 6e 20 2c 6e 75 6d 29 0a 20 20 20 20 20 i"))).....`(let.((,n.,num)......
2900 20 20 20 20 20 20 28 2c 69 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 69 74 29 0a 20 20 20 20 ......(,i.0)............it).....
2920 20 20 20 28 69 67 6e 6f 72 65 20 69 74 29 0a 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 ...(ignore.it)........(while.(<.
2940 2c 69 20 2c 6e 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 69 74 20 2c 69 20 2c 69 20 28 ,i.,n)..........(setq.it.,i.,i.(
2960 31 2b 20 2c 69 29 29 0a 20 20 20 20 20 20 20 20 20 2c 40 62 6f 64 79 29 29 29 29 0a 0a 28 64 65 1+.,i))..........,@body))))..(de
2980 66 75 6e 20 2d 64 6f 74 69 6d 65 73 20 28 6e 75 6d 20 66 6e 29 0a 20 20 22 43 61 6c 6c 20 46 4e fun.-dotimes.(num.fn)..."Call.FN
29a0 20 4e 55 4d 20 74 69 6d 65 73 2c 20 70 72 65 73 75 6d 61 62 6c 79 20 66 6f 72 20 73 69 64 65 20 .NUM.times,.presumably.for.side.
29c0 65 66 66 65 63 74 73 2e 0a 46 4e 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 61 20 73 69 6e effects..FN.is.called.with.a.sin
29e0 67 6c 65 20 61 72 67 75 6d 65 6e 74 20 6f 6e 20 73 75 63 63 65 73 73 69 76 65 20 69 6e 74 65 67 gle.argument.on.successive.integ
2a00 65 72 73 0a 72 75 6e 6e 69 6e 67 20 66 72 6f 6d 20 30 2c 20 69 6e 63 6c 75 73 69 76 65 2c 20 74 ers.running.from.0,.inclusive,.t
2a20 6f 20 4e 55 4d 2c 20 65 78 63 6c 75 73 69 76 65 2e 20 20 46 4e 20 69 73 20 6e 6f 74 20 63 61 6c o.NUM,.exclusive...FN.is.not.cal
2a40 6c 65 64 0a 69 66 20 4e 55 4d 20 69 73 20 6c 65 73 73 20 74 68 61 6e 20 31 2e 0a 0a 54 68 69 73 led.if.NUM.is.less.than.1...This
2a60 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 .function's.anaphoric.counterpar
2a80 74 20 69 73 20 60 2d 2d 64 6f 74 69 6d 65 73 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 t.is.`--dotimes'."...(declare.(i
2aa0 6e 64 65 6e 74 20 31 29 29 0a 20 20 28 2d 2d 64 6f 74 69 6d 65 73 20 6e 75 6d 20 28 66 75 6e 63 ndent.1))...(--dotimes.num.(func
2ac0 61 6c 6c 20 66 6e 20 69 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 6d 61 70 20 28 66 6e 20 6c 69 all.fn.it)))..(defun.-map.(fn.li
2ae0 73 74 29 0a 20 20 22 41 70 70 6c 79 20 46 4e 20 74 6f 20 65 61 63 68 20 69 74 65 6d 20 69 6e 20 st)..."Apply.FN.to.each.item.in.
2b00 4c 49 53 54 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 20 6c 69 73 74 20 6f 66 20 72 65 73 75 LIST.and.return.the.list.of.resu
2b20 6c 74 73 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 lts...This.function's.anaphoric.
2b40 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 6d 61 70 27 2e 22 0a 20 20 28 6d 61 70 63 counterpart.is.`--map'."...(mapc
2b60 61 72 20 66 6e 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 6d 61 70 20 28 66 ar.fn.list))..(defmacro.--map.(f
2b80 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 45 76 61 6c 20 46 4f 52 4d 20 66 6f 72 20 65 61 63 68 20 orm.list)..."Eval.FORM.for.each.
2ba0 69 74 65 6d 20 69 6e 20 4c 49 53 54 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 20 6c 69 73 74 item.in.LIST.and.return.the.list
2bc0 20 6f 66 20 72 65 73 75 6c 74 73 2e 0a 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 .of.results..Each.element.of.LIS
2be0 54 20 69 6e 20 74 75 72 6e 20 69 73 20 62 6f 75 6e 64 20 74 6f 20 60 69 74 27 20 62 65 66 6f 72 T.in.turn.is.bound.to.`it'.befor
2c00 65 20 65 76 61 6c 75 61 74 69 6e 67 0a 46 4f 52 4d 2e 0a 54 68 69 73 20 69 73 20 74 68 65 20 61 e.evaluating.FORM..This.is.the.a
2c20 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 74 6f 20 60 2d 6d 61 70 27 2e 22 naphoric.counterpart.to.`-map'."
2c40 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 64 65 66 2d 66 6f 72 6d 20 66 6f 72 ...(declare.(debug.(def-form.for
2c60 6d 29 29 29 0a 20 20 60 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 69 74 29 20 28 69 67 m)))...`(mapcar.(lambda.(it).(ig
2c80 6e 6f 72 65 20 69 74 29 20 2c 66 6f 72 6d 29 20 2c 6c 69 73 74 29 29 0a 0a 28 64 65 66 6d 61 63 nore.it).,form).,list))..(defmac
2ca0 72 6f 20 2d 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 28 66 6f 72 6d 20 69 6e 69 74 20 6c 69 73 74 ro.--reduce-from.(form.init.list
2cc0 29 0a 20 20 22 41 63 63 75 6d 75 6c 61 74 65 20 61 20 76 61 6c 75 65 20 62 79 20 65 76 61 6c 75 )..."Accumulate.a.value.by.evalu
2ce0 61 74 69 6e 67 20 46 4f 52 4d 20 61 63 72 6f 73 73 20 4c 49 53 54 2e 0a 54 68 69 73 20 6d 61 63 ating.FORM.across.LIST..This.mac
2d00 72 6f 20 69 73 20 6c 69 6b 65 20 60 2d 2d 65 61 63 68 27 20 28 77 68 69 63 68 20 73 65 65 29 2c ro.is.like.`--each'.(which.see),
2d20 20 62 75 74 20 69 74 20 61 64 64 69 74 69 6f 6e 61 6c 6c 79 0a 70 72 6f 76 69 64 65 73 20 61 6e .but.it.additionally.provides.an
2d40 20 61 63 63 75 6d 75 6c 61 74 6f 72 20 76 61 72 69 61 62 6c 65 20 60 61 63 63 27 20 77 68 69 63 .accumulator.variable.`acc'.whic
2d60 68 20 69 74 20 73 75 63 63 65 73 73 69 76 65 6c 79 0a 62 69 6e 64 73 20 74 6f 20 74 68 65 20 72 h.it.successively.binds.to.the.r
2d80 65 73 75 6c 74 20 6f 66 20 65 76 61 6c 75 61 74 69 6e 67 20 46 4f 52 4d 20 66 6f 72 20 74 68 65 esult.of.evaluating.FORM.for.the
2da0 20 63 75 72 72 65 6e 74 20 4c 49 53 54 0a 65 6c 65 6d 65 6e 74 20 62 65 66 6f 72 65 20 70 72 6f .current.LIST.element.before.pro
2dc0 63 65 73 73 69 6e 67 20 74 68 65 20 6e 65 78 74 20 65 6c 65 6d 65 6e 74 2e 20 20 46 6f 72 20 74 cessing.the.next.element...For.t
2de0 68 65 20 66 69 72 73 74 0a 65 6c 65 6d 65 6e 74 2c 20 60 61 63 63 27 20 69 73 20 69 6e 69 74 69 he.first.element,.`acc'.is.initi
2e00 61 6c 69 7a 65 64 20 77 69 74 68 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 65 76 61 6c 75 61 alized.with.the.result.of.evalua
2e20 74 69 6e 67 20 49 4e 49 54 2e 0a 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 74 ting.INIT..The.return.value.is.t
2e40 68 65 20 72 65 73 75 6c 74 69 6e 67 20 76 61 6c 75 65 20 6f 66 20 60 61 63 63 27 2e 20 20 49 66 he.resulting.value.of.`acc'...If
2e60 20 4c 49 53 54 20 69 73 0a 65 6d 70 74 79 2c 20 46 4f 52 4d 20 69 73 20 6e 6f 74 20 65 76 61 6c .LIST.is.empty,.FORM.is.not.eval
2e80 75 61 74 65 64 2c 20 61 6e 64 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 74 uated,.and.the.return.value.is.t
2ea0 68 65 20 72 65 73 75 6c 74 0a 6f 66 20 49 4e 49 54 2e 0a 54 68 69 73 20 69 73 20 74 68 65 20 61 he.result.of.INIT..This.is.the.a
2ec0 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 74 6f 20 60 2d 72 65 64 75 63 65 naphoric.counterpart.to.`-reduce
2ee0 2d 66 72 6f 6d 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d -from'."...(declare.(debug.(form
2f00 20 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 60 28 6c 65 74 20 28 28 61 63 63 20 2c 69 6e 69 .form.form)))...`(let.((acc.,ini
2f20 74 29 29 0a 20 20 20 20 20 28 2d 2d 65 61 63 68 20 2c 6c 69 73 74 20 28 73 65 74 71 20 61 63 63 t))......(--each.,list.(setq.acc
2f40 20 2c 66 6f 72 6d 29 29 0a 20 20 20 20 20 61 63 63 29 29 0a 0a 28 64 65 66 75 6e 20 2d 72 65 64 .,form))......acc))..(defun.-red
2f60 75 63 65 2d 66 72 6f 6d 20 28 66 6e 20 69 6e 69 74 20 6c 69 73 74 29 0a 20 20 22 52 65 64 75 63 uce-from.(fn.init.list)..."Reduc
2f80 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 46 4e 20 61 63 72 6f 73 73 20 4c 49 53 54 2c 20 73 e.the.function.FN.across.LIST,.s
2fa0 74 61 72 74 69 6e 67 20 77 69 74 68 20 49 4e 49 54 2e 0a 52 65 74 75 72 6e 20 74 68 65 20 72 65 tarting.with.INIT..Return.the.re
2fc0 73 75 6c 74 20 6f 66 20 61 70 70 6c 79 69 6e 67 20 46 4e 20 74 6f 20 49 4e 49 54 20 61 6e 64 20 sult.of.applying.FN.to.INIT.and.
2fe0 74 68 65 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 6f 66 0a 4c 49 53 54 2c 20 74 68 65 6e 20 the.first.element.of.LIST,.then.
3000 61 70 70 6c 79 69 6e 67 20 46 4e 20 74 6f 20 74 68 61 74 20 72 65 73 75 6c 74 20 61 6e 64 20 74 applying.FN.to.that.result.and.t
3020 68 65 20 73 65 63 6f 6e 64 20 65 6c 65 6d 65 6e 74 2c 0a 65 74 63 2e 20 20 49 66 20 4c 49 53 54 he.second.element,.etc...If.LIST
3040 20 69 73 20 65 6d 70 74 79 2c 20 72 65 74 75 72 6e 20 49 4e 49 54 20 77 69 74 68 6f 75 74 20 63 .is.empty,.return.INIT.without.c
3060 61 6c 6c 69 6e 67 20 46 4e 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 alling.FN...This.function's.anap
3080 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 72 65 64 75 63 65 2d 66 horic.counterpart.is.`--reduce-f
30a0 72 6f 6d 27 2e 0a 0a 46 6f 72 20 6f 74 68 65 72 20 66 6f 6c 64 73 2c 20 73 65 65 20 61 6c 73 6f rom'...For.other.folds,.see.also
30c0 20 60 2d 72 65 64 75 63 65 27 20 61 6e 64 20 60 2d 72 65 64 75 63 65 2d 72 27 2e 22 0a 20 20 28 .`-reduce'.and.`-reduce-r'."...(
30e0 2d 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 61 63 63 20 69 74 --reduce-from.(funcall.fn.acc.it
3100 29 20 69 6e 69 74 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 72 65 64 75 63 ).init.list))..(defmacro.--reduc
3120 65 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 41 63 63 75 6d 75 6c 61 74 65 20 61 20 76 61 e.(form.list)..."Accumulate.a.va
3140 6c 75 65 20 62 79 20 65 76 61 6c 75 61 74 69 6e 67 20 46 4f 52 4d 20 61 63 72 6f 73 73 20 4c 49 lue.by.evaluating.FORM.across.LI
3160 53 54 2e 0a 54 68 69 73 20 6d 61 63 72 6f 20 69 73 20 6c 69 6b 65 20 60 2d 2d 72 65 64 75 63 65 ST..This.macro.is.like.`--reduce
3180 2d 66 72 6f 6d 27 20 28 77 68 69 63 68 20 73 65 65 29 2c 20 65 78 63 65 70 74 20 74 68 65 20 66 -from'.(which.see),.except.the.f
31a0 69 72 73 74 0a 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 20 69 73 20 74 61 6b 65 6e 20 61 73 irst.element.of.LIST.is.taken.as
31c0 20 49 4e 49 54 2e 20 20 54 68 75 73 20 69 66 20 4c 49 53 54 20 63 6f 6e 74 61 69 6e 73 20 61 20 .INIT...Thus.if.LIST.contains.a.
31e0 73 69 6e 67 6c 65 0a 69 74 65 6d 2c 20 69 74 20 69 73 20 72 65 74 75 72 6e 65 64 20 77 69 74 68 single.item,.it.is.returned.with
3200 6f 75 74 20 65 76 61 6c 75 61 74 69 6e 67 20 46 4f 52 4d 2e 20 20 49 66 20 4c 49 53 54 20 69 73 out.evaluating.FORM...If.LIST.is
3220 20 65 6d 70 74 79 2c 0a 46 4f 52 4d 20 69 73 20 65 76 61 6c 75 61 74 65 64 20 77 69 74 68 20 60 .empty,.FORM.is.evaluated.with.`
3240 69 74 27 20 61 6e 64 20 60 61 63 63 27 20 62 6f 75 6e 64 20 74 6f 20 6e 69 6c 2e 0a 54 68 69 73 it'.and.`acc'.bound.to.nil..This
3260 20 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 74 6f .is.the.anaphoric.counterpart.to
3280 20 60 2d 72 65 64 75 63 65 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 .`-reduce'."...(declare.(debug.(
32a0 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 28 6c 65 74 20 28 28 6c 76 20 28 6d 61 6b 65 2d 73 form.form)))...(let.((lv.(make-s
32c0 79 6d 62 6f 6c 20 22 6c 69 73 74 2d 76 61 6c 75 65 22 29 29 29 0a 20 20 20 20 60 28 6c 65 74 20 ymbol."list-value"))).....`(let.
32e0 28 28 2c 6c 76 20 2c 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 28 69 66 20 2c 6c 76 0a 20 20 20 ((,lv.,list))........(if.,lv....
3300 20 20 20 20 20 20 20 20 28 2d 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 2c 66 6f 72 6d 20 28 63 61 ........(--reduce-from.,form.(ca
3320 72 20 2c 6c 76 29 20 28 63 64 72 20 2c 6c 76 29 29 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 45 78 r.,lv).(cdr.,lv))..........;;.Ex
3340 70 6c 69 63 69 74 20 6e 69 6c 20 62 69 6e 64 69 6e 67 20 70 61 63 69 66 69 65 73 20 6c 65 78 69 plicit.nil.binding.pacifies.lexi
3360 63 61 6c 20 22 76 61 72 69 61 62 6c 65 20 6c 65 66 74 20 75 6e 69 6e 69 74 69 61 6c 69 7a 65 64 cal."variable.left.uninitialized
3380 22 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 77 61 72 6e 69 6e 67 2e 20 20 53 65 65 20 69 73 73 75 "..........;;.warning...See.issu
33a0 65 20 23 33 37 37 20 61 6e 64 20 75 70 73 74 72 65 61 6d 20 68 74 74 70 73 3a 2f 2f 62 75 67 73 e.#377.and.upstream.https://bugs
33c0 2e 67 6e 75 2e 6f 72 67 2f 34 37 30 38 30 2e 0a 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 .gnu.org/47080...........(let.((
33e0 61 63 63 20 6e 69 6c 29 20 28 69 74 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 acc.nil).(it.nil))............(i
3400 67 6e 6f 72 65 20 61 63 63 20 69 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 2c 66 6f 72 6d 29 29 gnore.acc.it)............,form))
3420 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 72 65 64 75 63 65 20 28 66 6e 20 6c 69 73 74 29 0a 20 20 )))..(defun.-reduce.(fn.list)...
3440 22 52 65 64 75 63 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 46 4e 20 61 63 72 6f 73 73 20 4c "Reduce.the.function.FN.across.L
3460 49 53 54 2e 0a 52 65 74 75 72 6e 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 61 70 70 6c 79 69 IST..Return.the.result.of.applyi
3480 6e 67 20 46 4e 20 74 6f 20 74 68 65 20 66 69 72 73 74 20 74 77 6f 20 65 6c 65 6d 65 6e 74 73 20 ng.FN.to.the.first.two.elements.
34a0 6f 66 0a 4c 49 53 54 2c 20 74 68 65 6e 20 61 70 70 6c 79 69 6e 67 20 46 4e 20 74 6f 20 74 68 61 of.LIST,.then.applying.FN.to.tha
34c0 74 20 72 65 73 75 6c 74 20 61 6e 64 20 74 68 65 20 74 68 69 72 64 20 65 6c 65 6d 65 6e 74 2c 20 t.result.and.the.third.element,.
34e0 65 74 63 2e 0a 49 66 20 4c 49 53 54 20 63 6f 6e 74 61 69 6e 73 20 61 20 73 69 6e 67 6c 65 20 65 etc..If.LIST.contains.a.single.e
3500 6c 65 6d 65 6e 74 2c 20 72 65 74 75 72 6e 20 69 74 20 77 69 74 68 6f 75 74 20 63 61 6c 6c 69 6e lement,.return.it.without.callin
3520 67 20 46 4e 2e 0a 49 66 20 4c 49 53 54 20 69 73 20 65 6d 70 74 79 2c 20 72 65 74 75 72 6e 20 74 g.FN..If.LIST.is.empty,.return.t
3540 68 65 20 72 65 73 75 6c 74 20 6f 66 20 63 61 6c 6c 69 6e 67 20 46 4e 20 77 69 74 68 20 6e 6f 0a he.result.of.calling.FN.with.no.
3560 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 arguments...This.function's.anap
3580 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 72 65 64 75 63 65 27 2e horic.counterpart.is.`--reduce'.
35a0 0a 0a 46 6f 72 20 6f 74 68 65 72 20 66 6f 6c 64 73 2c 20 73 65 65 20 61 6c 73 6f 20 60 2d 72 65 ..For.other.folds,.see.also.`-re
35c0 64 75 63 65 2d 66 72 6f 6d 27 20 61 6e 64 20 60 2d 72 65 64 75 63 65 2d 72 27 2e 22 0a 20 20 28 duce-from'.and.`-reduce-r'."...(
35e0 69 66 20 6c 69 73 74 0a 20 20 20 20 20 20 28 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 66 6e 20 28 if.list.......(-reduce-from.fn.(
3600 63 61 72 20 6c 69 73 74 29 20 28 63 64 72 20 6c 69 73 74 29 29 0a 20 20 20 20 28 66 75 6e 63 61 car.list).(cdr.list)).....(funca
3620 6c 6c 20 66 6e 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 72 65 64 75 63 65 2d 72 2d 66 ll.fn)))..(defmacro.--reduce-r-f
3640 72 6f 6d 20 28 66 6f 72 6d 20 69 6e 69 74 20 6c 69 73 74 29 0a 20 20 22 41 63 63 75 6d 75 6c 61 rom.(form.init.list)..."Accumula
3660 74 65 20 61 20 76 61 6c 75 65 20 62 79 20 65 76 61 6c 75 61 74 69 6e 67 20 46 4f 52 4d 20 61 63 te.a.value.by.evaluating.FORM.ac
3680 72 6f 73 73 20 4c 49 53 54 20 69 6e 20 72 65 76 65 72 73 65 2e 0a 54 68 69 73 20 6d 61 63 72 6f ross.LIST.in.reverse..This.macro
36a0 20 69 73 20 6c 69 6b 65 20 60 2d 2d 72 65 64 75 63 65 2d 66 72 6f 6d 27 2c 20 65 78 63 65 70 74 .is.like.`--reduce-from',.except
36c0 20 69 74 20 73 74 61 72 74 73 20 66 72 6f 6d 20 74 68 65 20 65 6e 64 0a 6f 66 20 4c 49 53 54 2e .it.starts.from.the.end.of.LIST.
36e0 0a 54 68 69 73 20 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 .This.is.the.anaphoric.counterpa
3700 72 74 20 74 6f 20 60 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 27 2e 22 0a 20 20 28 64 65 63 6c rt.to.`-reduce-r-from'."...(decl
3720 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 are.(debug.(form.form.form)))...
3740 60 28 6c 65 74 20 28 28 61 63 63 20 2c 69 6e 69 74 29 29 0a 20 20 20 20 20 28 2d 2d 65 61 63 68 `(let.((acc.,init))......(--each
3760 2d 72 20 2c 6c 69 73 74 20 28 73 65 74 71 20 61 63 63 20 2c 66 6f 72 6d 29 29 0a 20 20 20 20 20 -r.,list.(setq.acc.,form))......
3780 61 63 63 29 29 0a 0a 28 64 65 66 75 6e 20 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 20 28 66 6e acc))..(defun.-reduce-r-from.(fn
37a0 20 69 6e 69 74 20 6c 69 73 74 29 0a 20 20 22 52 65 64 75 63 65 20 74 68 65 20 66 75 6e 63 74 69 .init.list)..."Reduce.the.functi
37c0 6f 6e 20 46 4e 20 61 63 72 6f 73 73 20 4c 49 53 54 20 69 6e 20 72 65 76 65 72 73 65 2c 20 73 74 on.FN.across.LIST.in.reverse,.st
37e0 61 72 74 69 6e 67 20 77 69 74 68 20 49 4e 49 54 2e 0a 52 65 74 75 72 6e 20 74 68 65 20 72 65 73 arting.with.INIT..Return.the.res
3800 75 6c 74 20 6f 66 20 61 70 70 6c 79 69 6e 67 20 46 4e 20 74 6f 20 74 68 65 20 6c 61 73 74 20 65 ult.of.applying.FN.to.the.last.e
3820 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 20 61 6e 64 0a 49 4e 49 54 2c 20 74 68 65 6e 20 61 70 lement.of.LIST.and.INIT,.then.ap
3840 70 6c 79 69 6e 67 20 46 4e 20 74 6f 20 74 68 65 20 73 65 63 6f 6e 64 2d 74 6f 2d 6c 61 73 74 20 plying.FN.to.the.second-to-last.
3860 65 6c 65 6d 65 6e 74 20 61 6e 64 20 74 68 65 0a 70 72 65 76 69 6f 75 73 20 72 65 73 75 6c 74 20 element.and.the.previous.result.
3880 6f 66 20 46 4e 2c 20 65 74 63 2e 20 20 54 68 61 74 20 69 73 2c 20 74 68 65 20 66 69 72 73 74 20 of.FN,.etc...That.is,.the.first.
38a0 61 72 67 75 6d 65 6e 74 20 6f 66 20 46 4e 20 69 73 0a 74 68 65 20 63 75 72 72 65 6e 74 20 65 6c argument.of.FN.is.the.current.el
38c0 65 6d 65 6e 74 2c 20 61 6e 64 20 69 74 73 20 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e 74 20 74 ement,.and.its.second.argument.t
38e0 68 65 20 61 63 63 75 6d 75 6c 61 74 65 64 0a 76 61 6c 75 65 2e 20 20 49 66 20 4c 49 53 54 20 69 he.accumulated.value...If.LIST.i
3900 73 20 65 6d 70 74 79 2c 20 72 65 74 75 72 6e 20 49 4e 49 54 20 77 69 74 68 6f 75 74 20 63 61 6c s.empty,.return.INIT.without.cal
3920 6c 69 6e 67 20 46 4e 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6c 69 6b 65 20 ling.FN...This.function.is.like.
3940 60 2d 72 65 64 75 63 65 2d 66 72 6f 6d 27 20 62 75 74 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e `-reduce-from'.but.the.operation
3960 20 61 73 73 6f 63 69 61 74 65 73 0a 66 72 6f 6d 20 74 68 65 20 72 69 67 68 74 20 72 61 74 68 65 .associates.from.the.right.rathe
3980 72 20 74 68 61 6e 20 6c 65 66 74 2e 20 20 49 6e 20 6f 74 68 65 72 20 77 6f 72 64 73 2c 20 69 74 r.than.left...In.other.words,.it
39a0 20 73 74 61 72 74 73 20 66 72 6f 6d 0a 74 68 65 20 65 6e 64 20 6f 66 20 4c 49 53 54 20 61 6e 64 .starts.from.the.end.of.LIST.and
39c0 20 66 6c 69 70 73 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 46 4e 2e 20 20 43 6f 6e .flips.the.arguments.to.FN...Con
39e0 63 65 70 74 75 61 6c 6c 79 2c 20 69 74 0a 69 73 20 6c 69 6b 65 20 72 65 70 6c 61 63 69 6e 67 20 ceptually,.it.is.like.replacing.
3a00 74 68 65 20 63 6f 6e 73 65 73 20 69 6e 20 4c 49 53 54 20 77 69 74 68 20 61 70 70 6c 69 63 61 74 the.conses.in.LIST.with.applicat
3a20 69 6f 6e 73 20 6f 66 20 46 4e 2c 20 61 6e 64 0a 69 74 73 20 6c 61 73 74 20 6c 69 6e 6b 20 77 69 ions.of.FN,.and.its.last.link.wi
3a40 74 68 20 49 4e 49 54 2c 20 61 6e 64 20 65 76 61 6c 75 61 74 69 6e 67 20 74 68 65 20 72 65 73 75 th.INIT,.and.evaluating.the.resu
3a60 6c 74 69 6e 67 20 65 78 70 72 65 73 73 69 6f 6e 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e lting.expression...This.function
3a80 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 72 's.anaphoric.counterpart.is.`--r
3aa0 65 64 75 63 65 2d 72 2d 66 72 6f 6d 27 2e 0a 0a 46 6f 72 20 6f 74 68 65 72 20 66 6f 6c 64 73 2c educe-r-from'...For.other.folds,
3ac0 20 73 65 65 20 61 6c 73 6f 20 60 2d 72 65 64 75 63 65 2d 72 27 20 61 6e 64 20 60 2d 72 65 64 75 .see.also.`-reduce-r'.and.`-redu
3ae0 63 65 27 2e 22 0a 20 20 28 2d 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 20 28 66 75 6e 63 61 6c ce'."...(--reduce-r-from.(funcal
3b00 6c 20 66 6e 20 69 74 20 61 63 63 29 20 69 6e 69 74 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 6d 61 l.fn.it.acc).init.list))..(defma
3b20 63 72 6f 20 2d 2d 72 65 64 75 63 65 2d 72 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 41 63 cro.--reduce-r.(form.list)..."Ac
3b40 63 75 6d 75 6c 61 74 65 20 61 20 76 61 6c 75 65 20 62 79 20 65 76 61 6c 75 61 74 69 6e 67 20 46 cumulate.a.value.by.evaluating.F
3b60 4f 52 4d 20 61 63 72 6f 73 73 20 4c 49 53 54 20 69 6e 20 72 65 76 65 72 73 65 20 6f 72 64 65 72 ORM.across.LIST.in.reverse.order
3b80 2e 0a 54 68 69 73 20 6d 61 63 72 6f 20 69 73 20 6c 69 6b 65 20 60 2d 2d 72 65 64 75 63 65 27 2c ..This.macro.is.like.`--reduce',
3ba0 20 65 78 63 65 70 74 20 69 74 20 73 74 61 72 74 73 20 66 72 6f 6d 20 74 68 65 20 65 6e 64 20 6f .except.it.starts.from.the.end.o
3bc0 66 0a 4c 49 53 54 2e 0a 54 68 69 73 20 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 63 20 63 6f f.LIST..This.is.the.anaphoric.co
3be0 75 6e 74 65 72 70 61 72 74 20 74 6f 20 60 2d 72 65 64 75 63 65 2d 72 27 2e 22 0a 20 20 28 64 65 unterpart.to.`-reduce-r'."...(de
3c00 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 60 28 2d clare.(debug.(form.form)))...`(-
3c20 2d 72 65 64 75 63 65 20 2c 66 6f 72 6d 20 28 72 65 76 65 72 73 65 20 2c 6c 69 73 74 29 29 29 0a -reduce.,form.(reverse.,list))).
3c40 0a 28 64 65 66 75 6e 20 2d 72 65 64 75 63 65 2d 72 20 28 66 6e 20 6c 69 73 74 29 0a 20 20 22 52 .(defun.-reduce-r.(fn.list)..."R
3c60 65 64 75 63 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 46 4e 20 61 63 72 6f 73 73 20 4c 49 53 educe.the.function.FN.across.LIS
3c80 54 20 69 6e 20 72 65 76 65 72 73 65 2e 0a 52 65 74 75 72 6e 20 74 68 65 20 72 65 73 75 6c 74 20 T.in.reverse..Return.the.result.
3ca0 6f 66 20 61 70 70 6c 79 69 6e 67 20 46 4e 20 74 6f 20 74 68 65 20 6c 61 73 74 20 74 77 6f 20 65 of.applying.FN.to.the.last.two.e
3cc0 6c 65 6d 65 6e 74 73 20 6f 66 0a 4c 49 53 54 2c 20 74 68 65 6e 20 61 70 70 6c 79 69 6e 67 20 46 lements.of.LIST,.then.applying.F
3ce0 4e 20 74 6f 20 74 68 65 20 74 68 69 72 64 2d 74 6f 2d 6c 61 73 74 20 65 6c 65 6d 65 6e 74 20 61 N.to.the.third-to-last.element.a
3d00 6e 64 20 74 68 65 0a 70 72 65 76 69 6f 75 73 20 72 65 73 75 6c 74 20 6f 66 20 46 4e 2c 20 65 74 nd.the.previous.result.of.FN,.et
3d20 63 2e 20 20 54 68 61 74 20 69 73 2c 20 74 68 65 20 66 69 72 73 74 20 61 72 67 75 6d 65 6e 74 20 c...That.is,.the.first.argument.
3d40 6f 66 20 46 4e 20 69 73 0a 74 68 65 20 63 75 72 72 65 6e 74 20 65 6c 65 6d 65 6e 74 2c 20 61 6e of.FN.is.the.current.element,.an
3d60 64 20 69 74 73 20 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e 74 20 74 68 65 20 61 63 63 75 6d 75 d.its.second.argument.the.accumu
3d80 6c 61 74 65 64 0a 76 61 6c 75 65 2e 20 20 49 66 20 4c 49 53 54 20 63 6f 6e 74 61 69 6e 73 20 61 lated.value...If.LIST.contains.a
3da0 20 73 69 6e 67 6c 65 20 65 6c 65 6d 65 6e 74 2c 20 72 65 74 75 72 6e 20 69 74 20 77 69 74 68 6f .single.element,.return.it.witho
3dc0 75 74 0a 63 61 6c 6c 69 6e 67 20 46 4e 2e 20 20 49 66 20 4c 49 53 54 20 69 73 20 65 6d 70 74 79 ut.calling.FN...If.LIST.is.empty
3de0 2c 20 72 65 74 75 72 6e 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 63 61 6c 6c 69 6e 67 20 46 ,.return.the.result.of.calling.F
3e00 4e 0a 77 69 74 68 20 6e 6f 20 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 N.with.no.arguments...This.funct
3e20 69 6f 6e 20 69 73 20 6c 69 6b 65 20 60 2d 72 65 64 75 63 65 27 20 62 75 74 20 74 68 65 20 6f 70 ion.is.like.`-reduce'.but.the.op
3e40 65 72 61 74 69 6f 6e 20 61 73 73 6f 63 69 61 74 65 73 20 66 72 6f 6d 0a 74 68 65 20 72 69 67 68 eration.associates.from.the.righ
3e60 74 20 72 61 74 68 65 72 20 74 68 61 6e 20 6c 65 66 74 2e 20 20 49 6e 20 6f 74 68 65 72 20 77 6f t.rather.than.left...In.other.wo
3e80 72 64 73 2c 20 69 74 20 73 74 61 72 74 73 20 66 72 6f 6d 20 74 68 65 0a 65 6e 64 20 6f 66 20 4c rds,.it.starts.from.the.end.of.L
3ea0 49 53 54 20 61 6e 64 20 66 6c 69 70 73 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 46 IST.and.flips.the.arguments.to.F
3ec0 4e 2e 20 20 43 6f 6e 63 65 70 74 75 61 6c 6c 79 2c 20 69 74 20 69 73 0a 6c 69 6b 65 20 72 65 70 N...Conceptually,.it.is.like.rep
3ee0 6c 61 63 69 6e 67 20 74 68 65 20 63 6f 6e 73 65 73 20 69 6e 20 4c 49 53 54 20 77 69 74 68 20 61 lacing.the.conses.in.LIST.with.a
3f00 70 70 6c 69 63 61 74 69 6f 6e 73 20 6f 66 20 46 4e 2c 0a 69 67 6e 6f 72 69 6e 67 20 69 74 73 20 pplications.of.FN,.ignoring.its.
3f20 6c 61 73 74 20 6c 69 6e 6b 2c 20 61 6e 64 20 65 76 61 6c 75 61 74 69 6e 67 20 74 68 65 20 72 65 last.link,.and.evaluating.the.re
3f40 73 75 6c 74 69 6e 67 20 65 78 70 72 65 73 73 69 6f 6e 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 sulting.expression...This.functi
3f60 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d on's.anaphoric.counterpart.is.`-
3f80 2d 72 65 64 75 63 65 2d 72 27 2e 0a 0a 46 6f 72 20 6f 74 68 65 72 20 66 6f 6c 64 73 2c 20 73 65 -reduce-r'...For.other.folds,.se
3fa0 65 20 61 6c 73 6f 20 60 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 27 20 61 6e 64 20 60 2d 72 65 e.also.`-reduce-r-from'.and.`-re
3fc0 64 75 63 65 27 2e 22 0a 20 20 28 69 66 20 6c 69 73 74 0a 20 20 20 20 20 20 28 2d 2d 72 65 64 75 duce'."...(if.list.......(--redu
3fe0 63 65 2d 72 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 69 74 20 61 63 63 29 20 6c 69 73 74 29 0a 20 ce-r.(funcall.fn.it.acc).list)..
4000 20 20 20 28 66 75 6e 63 61 6c 6c 20 66 6e 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 72 ...(funcall.fn)))..(defmacro.--r
4020 65 64 75 63 74 69 6f 6e 73 2d 66 72 6f 6d 20 28 66 6f 72 6d 20 69 6e 69 74 20 6c 69 73 74 29 0a eductions-from.(form.init.list).
4040 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 46 4f 52 4d 27 73 20 69 6e 74 65 72 .."Return.a.list.of.FORM's.inter
4060 6d 65 64 69 61 74 65 20 72 65 64 75 63 74 69 6f 6e 73 20 61 63 72 6f 73 73 20 4c 49 53 54 2e 0a mediate.reductions.across.LIST..
4080 54 68 61 74 20 69 73 2c 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 69 6e 74 65 72 6d 65 64 69 That.is,.a.list.of.the.intermedi
40a0 61 74 65 20 76 61 6c 75 65 73 20 6f 66 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 0a 77 68 ate.values.of.the.accumulator.wh
40c0 65 6e 20 60 2d 2d 72 65 64 75 63 65 2d 66 72 6f 6d 27 20 28 77 68 69 63 68 20 73 65 65 29 20 69 en.`--reduce-from'.(which.see).i
40e0 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 0a 61 72 67 75 6d 65 6e 74 73 s.called.with.the.same.arguments
4100 2e 0a 54 68 69 73 20 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 ..This.is.the.anaphoric.counterp
4120 61 72 74 20 74 6f 20 60 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 72 6f 6d 27 2e 22 0a 20 20 28 64 art.to.`-reductions-from'."...(d
4140 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 20 66 6f 72 6d 29 29 29 eclare.(debug.(form.form.form)))
4160 0a 20 20 60 28 6e 72 65 76 65 72 73 65 0a 20 20 20 20 28 2d 2d 72 65 64 75 63 65 2d 66 72 6f 6d ...`(nreverse.....(--reduce-from
4180 20 28 63 6f 6e 73 20 28 6c 65 74 20 28 28 61 63 63 20 28 63 61 72 20 61 63 63 29 29 29 20 28 69 .(cons.(let.((acc.(car.acc))).(i
41a0 67 6e 6f 72 65 20 61 63 63 29 20 2c 66 6f 72 6d 29 20 61 63 63 29 0a 20 20 20 20 20 20 20 20 20 gnore.acc).,form).acc)..........
41c0 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 2c 69 6e 69 74 29 0a 20 20 20 20 20 20 20 20 20 ..........(list.,init)..........
41e0 20 20 20 20 20 20 20 20 20 20 2c 6c 69 73 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 72 65 64 75 ..........,list)))..(defun.-redu
4200 63 74 69 6f 6e 73 2d 66 72 6f 6d 20 28 66 6e 20 69 6e 69 74 20 6c 69 73 74 29 0a 20 20 22 52 65 ctions-from.(fn.init.list)..."Re
4220 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 46 4e 27 73 20 69 6e 74 65 72 6d 65 64 69 61 74 65 turn.a.list.of.FN's.intermediate
4240 20 72 65 64 75 63 74 69 6f 6e 73 20 61 63 72 6f 73 73 20 4c 49 53 54 2e 0a 54 68 61 74 20 69 73 .reductions.across.LIST..That.is
4260 2c 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 76 61 6c ,.a.list.of.the.intermediate.val
4280 75 65 73 20 6f 66 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 0a 77 68 65 6e 20 60 2d 72 65 ues.of.the.accumulator.when.`-re
42a0 64 75 63 65 2d 66 72 6f 6d 27 20 28 77 68 69 63 68 20 73 65 65 29 20 69 73 20 63 61 6c 6c 65 64 duce-from'.(which.see).is.called
42c0 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 0a 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 54 68 69 73 20 .with.the.same.arguments...This.
42e0 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 function's.anaphoric.counterpart
4300 20 69 73 20 60 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 72 6f 6d 27 2e 0a 0a 46 6f 72 20 6f 74 .is.`--reductions-from'...For.ot
4320 68 65 72 20 66 6f 6c 64 73 2c 20 73 65 65 20 61 6c 73 6f 20 60 2d 72 65 64 75 63 74 69 6f 6e 73 her.folds,.see.also.`-reductions
4340 27 20 61 6e 64 20 60 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 27 2e 22 0a 20 20 28 2d 2d 72 65 64 '.and.`-reductions-r'."...(--red
4360 75 63 74 69 6f 6e 73 2d 66 72 6f 6d 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 61 63 63 20 69 74 29 uctions-from.(funcall.fn.acc.it)
4380 20 69 6e 69 74 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 72 65 64 75 63 74 .init.list))..(defmacro.--reduct
43a0 69 6f 6e 73 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 ions.(form.list)..."Return.a.lis
43c0 74 20 6f 66 20 46 4f 52 4d 27 73 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 72 65 64 75 63 74 69 t.of.FORM's.intermediate.reducti
43e0 6f 6e 73 20 61 63 72 6f 73 73 20 4c 49 53 54 2e 0a 54 68 61 74 20 69 73 2c 20 61 20 6c 69 73 74 ons.across.LIST..That.is,.a.list
4400 20 6f 66 20 74 68 65 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 76 61 6c 75 65 73 20 6f 66 20 74 .of.the.intermediate.values.of.t
4420 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 0a 77 68 65 6e 20 60 2d 2d 72 65 64 75 63 65 27 20 28 he.accumulator.when.`--reduce'.(
4440 77 68 69 63 68 20 73 65 65 29 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 74 68 65 20 73 61 which.see).is.called.with.the.sa
4460 6d 65 20 61 72 67 75 6d 65 6e 74 73 2e 0a 54 68 69 73 20 69 73 20 74 68 65 20 61 6e 61 70 68 6f me.arguments..This.is.the.anapho
4480 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 74 6f 20 60 2d 72 65 64 75 63 74 69 6f 6e 73 27 ric.counterpart.to.`-reductions'
44a0 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 29 ."...(declare.(debug.(form.form)
44c0 29 29 0a 20 20 28 6c 65 74 20 28 28 6c 76 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 6c 69 73 ))...(let.((lv.(make-symbol."lis
44e0 74 2d 76 61 6c 75 65 22 29 29 29 0a 20 20 20 20 60 28 6c 65 74 20 28 28 2c 6c 76 20 2c 6c 69 73 t-value"))).....`(let.((,lv.,lis
4500 74 29 29 0a 20 20 20 20 20 20 20 28 69 66 20 2c 6c 76 0a 20 20 20 20 20 20 20 20 20 20 20 28 2d t))........(if.,lv............(-
4520 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 72 6f 6d 20 2c 66 6f 72 6d 20 28 63 61 72 20 2c 6c 76 29 -reductions-from.,form.(car.,lv)
4540 20 28 63 64 72 20 2c 6c 76 29 29 0a 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 61 63 63 20 69 .(cdr.,lv))..........(let.(acc.i
4560 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 67 6e 6f 72 65 20 61 63 63 20 69 74 29 0a 20 20 t)............(ignore.acc.it)...
4580 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 2c 66 6f 72 6d 29 29 29 29 29 29 0a 0a 28 64 65 66 .........(list.,form))))))..(def
45a0 75 6e 20 2d 72 65 64 75 63 74 69 6f 6e 73 20 28 66 6e 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 un.-reductions.(fn.list)..."Retu
45c0 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 46 4e 27 73 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 72 rn.a.list.of.FN's.intermediate.r
45e0 65 64 75 63 74 69 6f 6e 73 20 61 63 72 6f 73 73 20 4c 49 53 54 2e 0a 54 68 61 74 20 69 73 2c 20 eductions.across.LIST..That.is,.
4600 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 76 61 6c 75 65 a.list.of.the.intermediate.value
4620 73 20 6f 66 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 0a 77 68 65 6e 20 60 2d 72 65 64 75 s.of.the.accumulator.when.`-redu
4640 63 65 27 20 28 77 68 69 63 68 20 73 65 65 29 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 74 ce'.(which.see).is.called.with.t
4660 68 65 20 73 61 6d 65 20 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f he.same.arguments...This.functio
4680 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d n's.anaphoric.counterpart.is.`--
46a0 72 65 64 75 63 74 69 6f 6e 73 27 2e 0a 0a 46 6f 72 20 6f 74 68 65 72 20 66 6f 6c 64 73 2c 20 73 reductions'...For.other.folds,.s
46c0 65 65 20 61 6c 73 6f 20 60 2d 72 65 64 75 63 74 69 6f 6e 73 27 20 61 6e 64 20 60 2d 72 65 64 75 ee.also.`-reductions'.and.`-redu
46e0 63 74 69 6f 6e 73 2d 72 27 2e 22 0a 20 20 28 69 66 20 6c 69 73 74 0a 20 20 20 20 20 20 28 2d 2d ctions-r'."...(if.list.......(--
4700 72 65 64 75 63 74 69 6f 6e 73 2d 66 72 6f 6d 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 61 63 63 20 reductions-from.(funcall.fn.acc.
4720 69 74 29 20 28 63 61 72 20 6c 69 73 74 29 20 28 63 64 72 20 6c 69 73 74 29 29 0a 20 20 20 20 28 it).(car.list).(cdr.list)).....(
4740 6c 69 73 74 20 28 66 75 6e 63 61 6c 6c 20 66 6e 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 list.(funcall.fn))))..(defmacro.
4760 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 20 28 66 6f 72 6d 20 69 6e 69 74 20 6c --reductions-r-from.(form.init.l
4780 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 46 4f 52 4d 27 73 20 ist)..."Return.a.list.of.FORM's.
47a0 69 6e 74 65 72 6d 65 64 69 61 74 65 20 72 65 64 75 63 74 69 6f 6e 73 20 61 63 72 6f 73 73 20 72 intermediate.reductions.across.r
47c0 65 76 65 72 73 65 64 20 4c 49 53 54 2e 0a 54 68 61 74 20 69 73 2c 20 61 20 6c 69 73 74 20 6f 66 eversed.LIST..That.is,.a.list.of
47e0 20 74 68 65 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 76 61 6c 75 65 73 20 6f 66 20 74 68 65 20 .the.intermediate.values.of.the.
4800 61 63 63 75 6d 75 6c 61 74 6f 72 0a 77 68 65 6e 20 60 2d 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f accumulator.when.`--reduce-r-fro
4820 6d 27 20 28 77 68 69 63 68 20 73 65 65 29 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 74 68 m'.(which.see).is.called.with.th
4840 65 20 73 61 6d 65 0a 61 72 67 75 6d 65 6e 74 73 2e 0a 54 68 69 73 20 69 73 20 74 68 65 20 61 6e e.same.arguments..This.is.the.an
4860 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 74 6f 20 60 2d 72 65 64 75 63 74 69 aphoric.counterpart.to.`-reducti
4880 6f 6e 73 2d 72 2d 66 72 6f 6d 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 ons-r-from'."...(declare.(debug.
48a0 28 66 6f 72 6d 20 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 60 28 2d 2d 72 65 64 75 63 65 2d (form.form.form)))...`(--reduce-
48c0 72 2d 66 72 6f 6d 20 28 63 6f 6e 73 20 28 6c 65 74 20 28 28 61 63 63 20 28 63 61 72 20 61 63 63 r-from.(cons.(let.((acc.(car.acc
48e0 29 29 29 20 28 69 67 6e 6f 72 65 20 61 63 63 29 20 2c 66 6f 72 6d 29 20 61 63 63 29 0a 20 20 20 ))).(ignore.acc).,form).acc)....
4900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 2c 69 6e 69 74 29 0a 20 20 .................(list.,init)...
4920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 ..................,list))..(defu
4940 6e 20 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 20 28 66 6e 20 69 6e 69 74 20 6c 69 n.-reductions-r-from.(fn.init.li
4960 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 46 4e 27 73 20 69 6e 74 st)..."Return.a.list.of.FN's.int
4980 65 72 6d 65 64 69 61 74 65 20 72 65 64 75 63 74 69 6f 6e 73 20 61 63 72 6f 73 73 20 72 65 76 65 ermediate.reductions.across.reve
49a0 72 73 65 64 20 4c 49 53 54 2e 0a 54 68 61 74 20 69 73 2c 20 61 20 6c 69 73 74 20 6f 66 20 74 68 rsed.LIST..That.is,.a.list.of.th
49c0 65 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 76 61 6c 75 65 73 20 6f 66 20 74 68 65 20 61 63 63 e.intermediate.values.of.the.acc
49e0 75 6d 75 6c 61 74 6f 72 0a 77 68 65 6e 20 60 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 27 20 28 umulator.when.`-reduce-r-from'.(
4a00 77 68 69 63 68 20 73 65 65 29 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 74 68 65 20 73 61 which.see).is.called.with.the.sa
4a20 6d 65 0a 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 me.arguments...This.function's.a
4a40 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 72 65 64 75 63 naphoric.counterpart.is.`--reduc
4a60 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 27 2e 0a 0a 46 6f 72 20 6f 74 68 65 72 20 66 6f 6c 64 73 2c tions-r-from'...For.other.folds,
4a80 20 73 65 65 20 61 6c 73 6f 20 60 2d 72 65 64 75 63 74 69 6f 6e 73 27 20 61 6e 64 20 60 2d 72 65 .see.also.`-reductions'.and.`-re
4aa0 64 75 63 74 69 6f 6e 73 2d 72 27 2e 22 0a 20 20 28 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d ductions-r'."...(--reductions-r-
4ac0 66 72 6f 6d 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 69 74 20 61 63 63 29 20 69 6e 69 74 20 6c 69 from.(funcall.fn.it.acc).init.li
4ae0 73 74 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 20 28 st))..(defmacro.--reductions-r.(
4b00 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 46 form.list)..."Return.a.list.of.F
4b20 4f 52 4d 27 73 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 72 65 64 75 63 74 69 6f 6e 73 20 61 63 ORM's.intermediate.reductions.ac
4b40 72 6f 73 73 20 72 65 76 65 72 73 65 64 20 4c 49 53 54 2e 0a 54 68 61 74 20 69 73 2c 20 61 20 6c ross.reversed.LIST..That.is,.a.l
4b60 69 73 74 20 6f 66 20 74 68 65 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 76 61 6c 75 65 73 20 6f ist.of.the.intermediate.values.o
4b80 66 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 0a 77 68 65 6e 20 60 2d 2d 72 65 64 75 63 65 f.the.accumulator.when.`--reduce
4ba0 2d 72 65 27 20 28 77 68 69 63 68 20 73 65 65 29 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 -re'.(which.see).is.called.with.
4bc0 74 68 65 20 73 61 6d 65 20 61 72 67 75 6d 65 6e 74 73 2e 0a 54 68 69 73 20 69 73 20 74 68 65 20 the.same.arguments..This.is.the.
4be0 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 74 6f 20 60 2d 72 65 64 75 63 anaphoric.counterpart.to.`-reduc
4c00 74 69 6f 6e 73 2d 72 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f tions-r'."...(declare.(debug.(fo
4c20 72 6d 20 6c 69 73 74 29 29 29 0a 20 20 28 6c 65 74 20 28 28 6c 76 20 28 6d 61 6b 65 2d 73 79 6d rm.list)))...(let.((lv.(make-sym
4c40 62 6f 6c 20 22 6c 69 73 74 2d 76 61 6c 75 65 22 29 29 29 0a 20 20 20 20 60 28 6c 65 74 20 28 28 bol."list-value"))).....`(let.((
4c60 2c 6c 76 20 28 72 65 76 65 72 73 65 20 2c 6c 69 73 74 29 29 29 0a 20 20 20 20 20 20 20 28 69 66 ,lv.(reverse.,list)))........(if
4c80 20 2c 6c 76 0a 20 20 20 20 20 20 20 20 20 20 20 28 2d 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 28 .,lv............(--reduce-from.(
4ca0 63 6f 6e 73 20 28 6c 65 74 20 28 28 61 63 63 20 28 63 61 72 20 61 63 63 29 29 29 20 28 69 67 6e cons.(let.((acc.(car.acc))).(ign
4cc0 6f 72 65 20 61 63 63 29 20 2c 66 6f 72 6d 29 20 61 63 63 29 0a 20 20 20 20 20 20 20 20 20 20 20 ore.acc).,form).acc)............
4ce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 28 63 61 72 20 2c 6c 76 29 29 0a ...............(list.(car.,lv)).
4d00 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 64 72 20 2c ..........................(cdr.,
4d20 6c 76 29 29 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 45 78 70 6c 69 63 69 74 20 6e 69 6c 20 62 69 lv))..........;;.Explicit.nil.bi
4d40 6e 64 69 6e 67 20 70 61 63 69 66 69 65 73 20 6c 65 78 69 63 61 6c 20 22 76 61 72 69 61 62 6c 65 nding.pacifies.lexical."variable
4d60 20 6c 65 66 74 20 75 6e 69 6e 69 74 69 61 6c 69 7a 65 64 22 0a 20 20 20 20 20 20 20 20 20 3b 3b .left.uninitialized"..........;;
4d80 20 77 61 72 6e 69 6e 67 2e 20 20 53 65 65 20 69 73 73 75 65 20 23 33 37 37 20 61 6e 64 20 75 70 .warning...See.issue.#377.and.up
4da0 73 74 72 65 61 6d 20 68 74 74 70 73 3a 2f 2f 62 75 67 73 2e 67 6e 75 2e 6f 72 67 2f 34 37 30 38 stream.https://bugs.gnu.org/4708
4dc0 30 2e 0a 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 61 63 63 20 6e 69 6c 29 20 28 69 74 20 0...........(let.((acc.nil).(it.
4de0 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 67 6e 6f 72 65 20 61 63 63 20 69 74 29 nil))............(ignore.acc.it)
4e00 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 2c 66 6f 72 6d 29 29 29 29 29 29 0a 0a 28 ............(list.,form))))))..(
4e20 64 65 66 75 6e 20 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 20 28 66 6e 20 6c 69 73 74 29 0a 20 20 defun.-reductions-r.(fn.list)...
4e40 22 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 46 4e 27 73 20 69 6e 74 65 72 6d 65 64 69 "Return.a.list.of.FN's.intermedi
4e60 61 74 65 20 72 65 64 75 63 74 69 6f 6e 73 20 61 63 72 6f 73 73 20 72 65 76 65 72 73 65 64 20 4c ate.reductions.across.reversed.L
4e80 49 53 54 2e 0a 54 68 61 74 20 69 73 2c 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 69 6e 74 65 IST..That.is,.a.list.of.the.inte
4ea0 72 6d 65 64 69 61 74 65 20 76 61 6c 75 65 73 20 6f 66 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 rmediate.values.of.the.accumulat
4ec0 6f 72 0a 77 68 65 6e 20 60 2d 72 65 64 75 63 65 2d 72 27 20 28 77 68 69 63 68 20 73 65 65 29 20 or.when.`-reduce-r'.(which.see).
4ee0 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 20 61 72 67 75 6d 65 6e 74 is.called.with.the.same.argument
4f00 73 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f s...This.function's.anaphoric.co
4f20 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 27 2e 0a 0a unterpart.is.`--reductions-r'...
4f40 46 6f 72 20 6f 74 68 65 72 20 66 6f 6c 64 73 2c 20 73 65 65 20 61 6c 73 6f 20 60 2d 72 65 64 75 For.other.folds,.see.also.`-redu
4f60 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 27 20 61 6e 64 0a 60 2d 72 65 64 75 63 74 69 6f 6e 73 27 ctions-r-from'.and.`-reductions'
4f80 2e 22 0a 20 20 28 69 66 20 6c 69 73 74 0a 20 20 20 20 20 20 28 2d 2d 72 65 64 75 63 74 69 6f 6e ."...(if.list.......(--reduction
4fa0 73 2d 72 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 69 74 20 61 63 63 29 20 6c 69 73 74 29 0a 20 20 s-r.(funcall.fn.it.acc).list)...
4fc0 20 20 28 6c 69 73 74 20 28 66 75 6e 63 61 6c 6c 20 66 6e 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 ..(list.(funcall.fn))))..(defmac
4fe0 72 6f 20 2d 2d 66 69 6c 74 65 72 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 ro.--filter.(form.list)..."Retur
5000 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 6f 66 20 74 68 65 20 69 74 65 6d 73 20 69 6e 20 4c 49 53 n.a.new.list.of.the.items.in.LIS
5020 54 20 66 6f 72 20 77 68 69 63 68 20 46 4f 52 4d 20 65 76 61 6c 73 20 74 6f 20 6e 6f 6e 2d 6e 69 T.for.which.FORM.evals.to.non-ni
5040 6c 2e 0a 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 20 69 6e 20 74 75 72 6e 20 l..Each.element.of.LIST.in.turn.
5060 69 73 20 62 6f 75 6e 64 20 74 6f 20 60 69 74 27 20 61 6e 64 20 69 74 73 20 69 6e 64 65 78 0a 77 is.bound.to.`it'.and.its.index.w
5080 69 74 68 69 6e 20 4c 49 53 54 20 74 6f 20 60 69 74 2d 69 6e 64 65 78 27 20 62 65 66 6f 72 65 20 ithin.LIST.to.`it-index'.before.
50a0 65 76 61 6c 75 61 74 69 6e 67 20 46 4f 52 4d 2e 0a 54 68 69 73 20 69 73 20 74 68 65 20 61 6e 61 evaluating.FORM..This.is.the.ana
50c0 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 74 6f 20 60 2d 66 69 6c 74 65 72 27 2e phoric.counterpart.to.`-filter'.
50e0 0a 46 6f 72 20 74 68 65 20 6f 70 70 6f 73 69 74 65 20 6f 70 65 72 61 74 69 6f 6e 2c 20 73 65 65 .For.the.opposite.operation,.see
5100 20 61 6c 73 6f 20 60 2d 2d 72 65 6d 6f 76 65 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 .also.`--remove'."...(declare.(d
5120 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 28 6c 65 74 20 28 28 72 20 28 6d ebug.(form.form)))...(let.((r.(m
5140 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 72 65 73 75 6c 74 22 29 29 29 0a 20 20 20 20 60 28 6c 65 74 ake-symbol."result"))).....`(let
5160 20 28 2c 72 29 0a 20 20 20 20 20 20 20 28 2d 2d 65 61 63 68 20 2c 6c 69 73 74 20 28 77 68 65 6e .(,r)........(--each.,list.(when
5180 20 2c 66 6f 72 6d 20 28 70 75 73 68 20 69 74 20 2c 72 29 29 29 0a 20 20 20 20 20 20 20 28 6e 72 .,form.(push.it.,r)))........(nr
51a0 65 76 65 72 73 65 20 2c 72 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 66 69 6c 74 65 72 20 28 70 everse.,r))))..(defun.-filter.(p
51c0 72 65 64 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 6f red.list)..."Return.a.new.list.o
51e0 66 20 74 68 65 20 69 74 65 6d 73 20 69 6e 20 4c 49 53 54 20 66 6f 72 20 77 68 69 63 68 20 50 52 f.the.items.in.LIST.for.which.PR
5200 45 44 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 73 65 ED.returns.non-nil...Alias:.`-se
5220 6c 65 63 74 27 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 lect'...This.function's.anaphori
5240 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 66 69 6c 74 65 72 27 2e 0a 0a 46 6f c.counterpart.is.`--filter'...Fo
5260 72 20 73 69 6d 69 6c 61 72 20 6f 70 65 72 61 74 69 6f 6e 73 2c 20 73 65 65 20 61 6c 73 6f 20 60 r.similar.operations,.see.also.`
5280 2d 6b 65 65 70 27 20 61 6e 64 20 60 2d 72 65 6d 6f 76 65 27 2e 22 0a 20 20 28 2d 2d 66 69 6c 74 -keep'.and.`-remove'."...(--filt
52a0 65 72 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 er.(funcall.pred.it).list))..(de
52c0 66 61 6c 69 61 73 20 27 2d 73 65 6c 65 63 74 20 27 2d 66 69 6c 74 65 72 29 0a 28 64 65 66 61 6c falias.'-select.'-filter).(defal
52e0 69 61 73 20 27 2d 2d 73 65 6c 65 63 74 20 27 2d 2d 66 69 6c 74 65 72 29 0a 0a 28 64 65 66 6d 61 ias.'--select.'--filter)..(defma
5300 63 72 6f 20 2d 2d 72 65 6d 6f 76 65 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 cro.--remove.(form.list)..."Retu
5320 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 6f 66 20 74 68 65 20 69 74 65 6d 73 20 69 6e 20 4c 49 rn.a.new.list.of.the.items.in.LI
5340 53 54 20 66 6f 72 20 77 68 69 63 68 20 46 4f 52 4d 20 65 76 61 6c 73 20 74 6f 20 6e 69 6c 2e 0a ST.for.which.FORM.evals.to.nil..
5360 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 20 69 6e 20 74 75 72 6e 20 69 73 20 Each.element.of.LIST.in.turn.is.
5380 62 6f 75 6e 64 20 74 6f 20 60 69 74 27 20 61 6e 64 20 69 74 73 20 69 6e 64 65 78 0a 77 69 74 68 bound.to.`it'.and.its.index.with
53a0 69 6e 20 4c 49 53 54 20 74 6f 20 60 69 74 2d 69 6e 64 65 78 27 20 62 65 66 6f 72 65 20 65 76 61 in.LIST.to.`it-index'.before.eva
53c0 6c 75 61 74 69 6e 67 20 46 4f 52 4d 2e 0a 54 68 69 73 20 69 73 20 74 68 65 20 61 6e 61 70 68 6f luating.FORM..This.is.the.anapho
53e0 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 74 6f 20 60 2d 72 65 6d 6f 76 65 27 2e 0a 46 6f ric.counterpart.to.`-remove'..Fo
5400 72 20 74 68 65 20 6f 70 70 6f 73 69 74 65 20 6f 70 65 72 61 74 69 6f 6e 2c 20 73 65 65 20 61 6c r.the.opposite.operation,.see.al
5420 73 6f 20 60 2d 2d 66 69 6c 74 65 72 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 so.`--filter'."...(declare.(debu
5440 67 20 28 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 60 28 2d 2d 66 69 6c 74 65 72 20 28 6e 6f g.(form.form)))...`(--filter.(no
5460 74 20 2c 66 6f 72 6d 29 20 2c 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 72 65 6d 6f 76 65 t.,form).,list))..(defun.-remove
5480 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 .(pred.list)..."Return.a.new.lis
54a0 74 20 6f 66 20 74 68 65 20 69 74 65 6d 73 20 69 6e 20 4c 49 53 54 20 66 6f 72 20 77 68 69 63 68 t.of.the.items.in.LIST.for.which
54c0 20 50 52 45 44 20 72 65 74 75 72 6e 73 20 6e 69 6c 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 72 65 6a .PRED.returns.nil...Alias:.`-rej
54e0 65 63 74 27 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 ect'...This.function's.anaphoric
5500 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 72 65 6d 6f 76 65 27 2e 0a 0a 46 6f 72 .counterpart.is.`--remove'...For
5520 20 73 69 6d 69 6c 61 72 20 6f 70 65 72 61 74 69 6f 6e 73 2c 20 73 65 65 20 61 6c 73 6f 20 60 2d .similar.operations,.see.also.`-
5540 6b 65 65 70 27 20 61 6e 64 20 60 2d 66 69 6c 74 65 72 27 2e 22 0a 20 20 28 2d 2d 72 65 6d 6f 76 keep'.and.`-filter'."...(--remov
5560 65 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 e.(funcall.pred.it).list))..(def
5580 61 6c 69 61 73 20 27 2d 72 65 6a 65 63 74 20 27 2d 72 65 6d 6f 76 65 29 0a 28 64 65 66 61 6c 69 alias.'-reject.'-remove).(defali
55a0 61 73 20 27 2d 2d 72 65 6a 65 63 74 20 27 2d 2d 72 65 6d 6f 76 65 29 0a 0a 28 64 65 66 6d 61 63 as.'--reject.'--remove)..(defmac
55c0 72 6f 20 2d 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 ro.--remove-first.(form.list)...
55e0 22 52 65 6d 6f 76 65 20 74 68 65 20 66 69 72 73 74 20 69 74 65 6d 20 66 72 6f 6d 20 4c 49 53 54 "Remove.the.first.item.from.LIST
5600 20 66 6f 72 20 77 68 69 63 68 20 46 4f 52 4d 20 65 76 61 6c 73 20 74 6f 20 6e 6f 6e 2d 6e 69 6c .for.which.FORM.evals.to.non-nil
5620 2e 0a 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 20 69 6e 20 74 75 72 6e 20 69 ..Each.element.of.LIST.in.turn.i
5640 73 20 62 6f 75 6e 64 20 74 6f 20 60 69 74 27 20 61 6e 64 20 69 74 73 20 69 6e 64 65 78 0a 77 69 s.bound.to.`it'.and.its.index.wi
5660 74 68 69 6e 20 4c 49 53 54 20 74 6f 20 60 69 74 2d 69 6e 64 65 78 27 20 62 65 66 6f 72 65 20 65 thin.LIST.to.`it-index'.before.e
5680 76 61 6c 75 61 74 69 6e 67 20 46 4f 52 4d 2e 20 20 54 68 69 73 20 69 73 20 61 0a 6e 6f 6e 2d 64 valuating.FORM...This.is.a.non-d
56a0 65 73 74 72 75 63 74 69 76 65 20 6f 70 65 72 61 74 69 6f 6e 2c 20 62 75 74 20 6f 6e 6c 79 20 74 estructive.operation,.but.only.t
56c0 68 65 20 66 72 6f 6e 74 20 6f 66 20 4c 49 53 54 20 6c 65 61 64 69 6e 67 20 75 70 0a 74 6f 20 74 he.front.of.LIST.leading.up.to.t
56e0 68 65 20 72 65 6d 6f 76 65 64 20 69 74 65 6d 20 69 73 20 61 20 63 6f 70 79 3b 20 74 68 65 20 72 he.removed.item.is.a.copy;.the.r
5700 65 73 74 20 69 73 20 4c 49 53 54 27 73 20 6f 72 69 67 69 6e 61 6c 20 74 61 69 6c 2e 0a 49 66 20 est.is.LIST's.original.tail..If.
5720 6e 6f 20 69 74 65 6d 20 69 73 20 72 65 6d 6f 76 65 64 2c 20 74 68 65 6e 20 74 68 65 20 72 65 73 no.item.is.removed,.then.the.res
5740 75 6c 74 20 69 73 20 61 20 63 6f 6d 70 6c 65 74 65 20 63 6f 70 79 2e 0a 54 68 69 73 20 69 73 20 ult.is.a.complete.copy..This.is.
5760 74 68 65 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 74 6f 20 60 2d 72 the.anaphoric.counterpart.to.`-r
5780 65 6d 6f 76 65 2d 66 69 72 73 74 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 emove-first'."...(declare.(debug
57a0 20 28 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 28 6c 65 74 20 28 28 66 72 6f 6e 74 20 28 6d .(form.form)))...(let.((front.(m
57c0 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 66 72 6f 6e 74 22 29 29 0a 20 20 20 20 20 20 20 20 28 74 61 ake-symbol."front")).........(ta
57e0 69 6c 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 74 61 69 6c 22 29 29 29 0a 20 20 20 20 60 28 il.(make-symbol."tail"))).....`(
5800 6c 65 74 20 28 28 2c 74 61 69 6c 20 2c 6c 69 73 74 29 20 2c 66 72 6f 6e 74 29 0a 20 20 20 20 20 let.((,tail.,list).,front)......
5820 20 20 28 2d 2d 65 61 63 68 2d 77 68 69 6c 65 20 2c 74 61 69 6c 20 28 6e 6f 74 20 2c 66 6f 72 6d ..(--each-while.,tail.(not.,form
5840 29 0a 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 70 6f 70 20 2c 74 61 69 6c 29 20 2c 66 72 )..........(push.(pop.,tail).,fr
5860 6f 6e 74 29 29 0a 20 20 20 20 20 20 20 28 69 66 20 2c 74 61 69 6c 0a 20 20 20 20 20 20 20 20 20 ont))........(if.,tail..........
5880 20 20 28 6e 63 6f 6e 63 20 28 6e 72 65 76 65 72 73 65 20 2c 66 72 6f 6e 74 29 20 28 63 64 72 20 ..(nconc.(nreverse.,front).(cdr.
58a0 2c 74 61 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 2c 66 72 6f 6e ,tail))..........(nreverse.,fron
58c0 74 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 20 28 70 72 t)))))..(defun.-remove-first.(pr
58e0 65 64 20 6c 69 73 74 29 0a 20 20 22 52 65 6d 6f 76 65 20 74 68 65 20 66 69 72 73 74 20 69 74 65 ed.list)..."Remove.the.first.ite
5900 6d 20 66 72 6f 6d 20 4c 49 53 54 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 44 20 72 65 74 75 72 m.from.LIST.for.which.PRED.retur
5920 6e 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 54 68 69 73 20 69 73 20 61 20 6e 6f 6e 2d 64 65 73 74 72 75 ns.non-nil..This.is.a.non-destru
5940 63 74 69 76 65 20 6f 70 65 72 61 74 69 6f 6e 2c 20 62 75 74 20 6f 6e 6c 79 20 74 68 65 20 66 72 ctive.operation,.but.only.the.fr
5960 6f 6e 74 20 6f 66 20 4c 49 53 54 0a 6c 65 61 64 69 6e 67 20 75 70 20 74 6f 20 74 68 65 20 72 65 ont.of.LIST.leading.up.to.the.re
5980 6d 6f 76 65 64 20 69 74 65 6d 20 69 73 20 61 20 63 6f 70 79 3b 20 74 68 65 20 72 65 73 74 20 69 moved.item.is.a.copy;.the.rest.i
59a0 73 20 4c 49 53 54 27 73 0a 6f 72 69 67 69 6e 61 6c 20 74 61 69 6c 2e 20 20 49 66 20 6e 6f 20 69 s.LIST's.original.tail...If.no.i
59c0 74 65 6d 20 69 73 20 72 65 6d 6f 76 65 64 2c 20 74 68 65 6e 20 74 68 65 20 72 65 73 75 6c 74 20 tem.is.removed,.then.the.result.
59e0 69 73 20 61 0a 63 6f 6d 70 6c 65 74 65 20 63 6f 70 79 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 72 65 is.a.complete.copy...Alias:.`-re
5a00 6a 65 63 74 2d 66 69 72 73 74 27 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e ject-first'...This.function's.an
5a20 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 72 65 6d 6f 76 65 aphoric.counterpart.is.`--remove
5a40 2d 66 69 72 73 74 27 2e 0a 0a 53 65 65 20 61 6c 73 6f 20 60 2d 6d 61 70 2d 66 69 72 73 74 27 2c -first'...See.also.`-map-first',
5a60 20 60 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 27 2c 20 61 6e 64 20 60 2d 72 65 6d 6f 76 65 2d 6c 61 .`-remove-item',.and.`-remove-la
5a80 73 74 27 2e 22 0a 20 20 28 2d 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 20 28 66 75 6e 63 61 6c 6c st'."...(--remove-first.(funcall
5aa0 20 70 72 65 64 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 72 65 .pred.it).list))..(defalias.'-re
5ac0 6a 65 63 74 2d 66 69 72 73 74 20 27 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 29 0a 28 64 65 66 61 ject-first.'-remove-first).(defa
5ae0 6c 69 61 73 20 27 2d 2d 72 65 6a 65 63 74 2d 66 69 72 73 74 20 27 2d 2d 72 65 6d 6f 76 65 2d 66 lias.'--reject-first.'--remove-f
5b00 69 72 73 74 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 20 28 irst)..(defmacro.--remove-last.(
5b20 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 52 65 6d 6f 76 65 20 74 68 65 20 6c 61 73 74 20 69 74 form.list)..."Remove.the.last.it
5b40 65 6d 20 66 72 6f 6d 20 4c 49 53 54 20 66 6f 72 20 77 68 69 63 68 20 46 4f 52 4d 20 65 76 61 6c em.from.LIST.for.which.FORM.eval
5b60 73 20 74 6f 20 6e 6f 6e 2d 6e 69 6c 2e 0a 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 s.to.non-nil..Each.element.of.LI
5b80 53 54 20 69 6e 20 74 75 72 6e 20 69 73 20 62 6f 75 6e 64 20 74 6f 20 60 69 74 27 20 62 65 66 6f ST.in.turn.is.bound.to.`it'.befo
5ba0 72 65 20 65 76 61 6c 75 61 74 69 6e 67 0a 46 4f 52 4d 2e 20 20 54 68 65 20 72 65 73 75 6c 74 20 re.evaluating.FORM...The.result.
5bc0 69 73 20 61 20 63 6f 70 79 20 6f 66 20 4c 49 53 54 20 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 is.a.copy.of.LIST.regardless.of.
5be0 77 68 65 74 68 65 72 20 61 6e 0a 65 6c 65 6d 65 6e 74 20 69 73 20 72 65 6d 6f 76 65 64 2e 0a 54 whether.an.element.is.removed..T
5c00 68 69 73 20 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 his.is.the.anaphoric.counterpart
5c20 20 74 6f 20 60 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 .to.`-remove-last'."...(declare.
5c40 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 60 28 6e 72 65 76 65 72 73 (debug.(form.form)))...`(nrevers
5c60 65 20 28 2d 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 20 2c 66 6f 72 6d 20 28 72 65 76 65 72 73 65 e.(--remove-first.,form.(reverse
5c80 20 2c 6c 69 73 74 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 20 .,list))))..(defun.-remove-last.
5ca0 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 22 52 65 6d 6f 76 65 20 74 68 65 20 6c 61 73 74 20 69 (pred.list)..."Remove.the.last.i
5cc0 74 65 6d 20 66 72 6f 6d 20 4c 49 53 54 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 44 20 72 65 74 tem.from.LIST.for.which.PRED.ret
5ce0 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 20 63 6f urns.non-nil..The.result.is.a.co
5d00 70 79 20 6f 66 20 4c 49 53 54 20 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 77 68 65 74 68 65 72 py.of.LIST.regardless.of.whether
5d20 20 61 6e 20 65 6c 65 6d 65 6e 74 20 69 73 0a 72 65 6d 6f 76 65 64 2e 0a 0a 41 6c 69 61 73 3a 20 .an.element.is.removed...Alias:.
5d40 60 2d 72 65 6a 65 63 74 2d 6c 61 73 74 27 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 `-reject-last'...This.function's
5d60 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 72 65 6d .anaphoric.counterpart.is.`--rem
5d80 6f 76 65 2d 6c 61 73 74 27 2e 0a 0a 53 65 65 20 61 6c 73 6f 20 60 2d 6d 61 70 2d 6c 61 73 74 27 ove-last'...See.also.`-map-last'
5da0 2c 20 60 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 27 2c 20 61 6e 64 20 60 2d 72 65 6d 6f 76 65 2d 66 ,.`-remove-item',.and.`-remove-f
5dc0 69 72 73 74 27 2e 22 0a 20 20 28 2d 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 20 28 66 75 6e 63 61 6c irst'."...(--remove-last.(funcal
5de0 6c 20 70 72 65 64 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 72 l.pred.it).list))..(defalias.'-r
5e00 65 6a 65 63 74 2d 6c 61 73 74 20 27 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 29 0a 28 64 65 66 61 6c eject-last.'-remove-last).(defal
5e20 69 61 73 20 27 2d 2d 72 65 6a 65 63 74 2d 6c 61 73 74 20 27 2d 2d 72 65 6d 6f 76 65 2d 6c 61 73 ias.'--reject-last.'--remove-las
5e40 74 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 20 23 27 72 65 t)..(defalias.'-remove-item.#'re
5e60 6d 6f 76 65 0a 20 20 22 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 4c 49 53 54 20 77 69 move..."Return.a.copy.of.LIST.wi
5e80 74 68 20 61 6c 6c 20 6f 63 63 75 72 72 65 6e 63 65 73 20 6f 66 20 49 54 45 4d 20 72 65 6d 6f 76 th.all.occurrences.of.ITEM.remov
5ea0 65 64 2e 0a 54 68 65 20 63 6f 6d 70 61 72 69 73 6f 6e 20 69 73 20 64 6f 6e 65 20 77 69 74 68 20 ed..The.comparison.is.done.with.
5ec0 60 65 71 75 61 6c 27 2e 0a 5c 6e 28 66 6e 20 49 54 45 4d 20 4c 49 53 54 29 22 29 0a 0a 28 64 65 `equal'..\n(fn.ITEM.LIST)")..(de
5ee0 66 6d 61 63 72 6f 20 2d 2d 6b 65 65 70 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 45 76 61 fmacro.--keep.(form.list)..."Eva
5f00 6c 20 46 4f 52 4d 20 66 6f 72 20 65 61 63 68 20 69 74 65 6d 20 69 6e 20 4c 49 53 54 20 61 6e 64 l.FORM.for.each.item.in.LIST.and
5f20 20 72 65 74 75 72 6e 20 74 68 65 20 6e 6f 6e 2d 6e 69 6c 20 72 65 73 75 6c 74 73 2e 0a 4c 69 6b .return.the.non-nil.results..Lik
5f40 65 20 60 2d 2d 66 69 6c 74 65 72 27 2c 20 62 75 74 20 72 65 74 75 72 6e 73 20 74 68 65 20 6e 6f e.`--filter',.but.returns.the.no
5f60 6e 2d 6e 69 6c 20 72 65 73 75 6c 74 73 20 6f 66 20 46 4f 52 4d 20 69 6e 73 74 65 61 64 0a 6f 66 n-nil.results.of.FORM.instead.of
5f80 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 4c .the.corresponding.elements.of.L
5fa0 49 53 54 2e 20 20 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 20 69 6e 0a 74 75 IST...Each.element.of.LIST.in.tu
5fc0 72 6e 20 69 73 20 62 6f 75 6e 64 20 74 6f 20 60 69 74 27 20 61 6e 64 20 69 74 73 20 69 6e 64 65 rn.is.bound.to.`it'.and.its.inde
5fe0 78 20 77 69 74 68 69 6e 20 4c 49 53 54 20 74 6f 20 60 69 74 2d 69 6e 64 65 78 27 0a 62 65 66 6f x.within.LIST.to.`it-index'.befo
6000 72 65 20 65 76 61 6c 75 61 74 69 6e 67 20 46 4f 52 4d 2e 0a 54 68 69 73 20 69 73 20 74 68 65 20 re.evaluating.FORM..This.is.the.
6020 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 74 6f 20 60 2d 6b 65 65 70 27 anaphoric.counterpart.to.`-keep'
6040 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 29 ."...(declare.(debug.(form.form)
6060 29 29 0a 20 20 28 6c 65 74 20 28 28 72 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 72 65 73 75 ))...(let.((r.(make-symbol."resu
6080 6c 74 22 29 29 0a 20 20 20 20 20 20 20 20 28 6d 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 6d lt")).........(m.(make-symbol."m
60a0 61 70 70 65 64 22 29 29 29 0a 20 20 20 20 60 28 6c 65 74 20 28 2c 72 29 0a 20 20 20 20 20 20 20 apped"))).....`(let.(,r)........
60c0 28 2d 2d 65 61 63 68 20 2c 6c 69 73 74 20 28 6c 65 74 20 28 28 2c 6d 20 2c 66 6f 72 6d 29 29 20 (--each.,list.(let.((,m.,form)).
60e0 28 77 68 65 6e 20 2c 6d 20 28 70 75 73 68 20 2c 6d 20 2c 72 29 29 29 29 0a 20 20 20 20 20 20 20 (when.,m.(push.,m.,r))))........
6100 28 6e 72 65 76 65 72 73 65 20 2c 72 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 6b 65 65 70 20 28 (nreverse.,r))))..(defun.-keep.(
6120 66 6e 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 6f 66 fn.list)..."Return.a.new.list.of
6140 20 74 68 65 20 6e 6f 6e 2d 6e 69 6c 20 72 65 73 75 6c 74 73 20 6f 66 20 61 70 70 6c 79 69 6e 67 .the.non-nil.results.of.applying
6160 20 46 4e 20 74 6f 20 65 61 63 68 20 69 74 65 6d 20 69 6e 20 4c 49 53 54 2e 0a 4c 69 6b 65 20 60 .FN.to.each.item.in.LIST..Like.`
6180 2d 66 69 6c 74 65 72 27 2c 20 62 75 74 20 72 65 74 75 72 6e 73 20 74 68 65 20 6e 6f 6e 2d 6e 69 -filter',.but.returns.the.non-ni
61a0 6c 20 72 65 73 75 6c 74 73 20 6f 66 20 46 4e 20 69 6e 73 74 65 61 64 20 6f 66 0a 74 68 65 20 63 l.results.of.FN.instead.of.the.c
61c0 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 4c 49 53 54 2e 0a 0a orresponding.elements.of.LIST...
61e0 49 74 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d Its.anaphoric.counterpart.is.`--
6200 6b 65 65 70 27 2e 22 0a 20 20 28 2d 2d 6b 65 65 70 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 69 74 keep'."...(--keep.(funcall.fn.it
6220 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 6e 6f 6e 2d 6e 69 6c 20 28 6c 69 73 74 29 ).list))..(defun.-non-nil.(list)
6240 0a 20 20 22 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 4c 49 53 54 20 77 69 74 68 20 61 ..."Return.a.copy.of.LIST.with.a
6260 6c 6c 20 6e 69 6c 20 69 74 65 6d 73 20 72 65 6d 6f 76 65 64 2e 22 0a 20 20 28 64 65 63 6c 61 72 ll.nil.items.removed."...(declar
6280 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 e.(pure.t).(side-effect-free.t))
62a0 0a 20 20 28 2d 2d 66 69 6c 74 65 72 20 69 74 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 6d 61 63 72 ...(--filter.it.list))..(defmacr
62c0 6f 20 2d 2d 6d 61 70 2d 69 6e 64 65 78 65 64 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 45 o.--map-indexed.(form.list)..."E
62e0 76 61 6c 20 46 4f 52 4d 20 66 6f 72 20 65 61 63 68 20 69 74 65 6d 20 69 6e 20 4c 49 53 54 20 61 val.FORM.for.each.item.in.LIST.a
6300 6e 64 20 72 65 74 75 72 6e 20 74 68 65 20 6c 69 73 74 20 6f 66 20 72 65 73 75 6c 74 73 2e 0a 45 nd.return.the.list.of.results..E
6320 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 20 69 6e 20 74 75 72 6e 20 69 73 20 62 ach.element.of.LIST.in.turn.is.b
6340 6f 75 6e 64 20 74 6f 20 60 69 74 27 20 61 6e 64 20 69 74 73 20 69 6e 64 65 78 0a 77 69 74 68 69 ound.to.`it'.and.its.index.withi
6360 6e 20 4c 49 53 54 20 74 6f 20 60 69 74 2d 69 6e 64 65 78 27 20 62 65 66 6f 72 65 20 65 76 61 6c n.LIST.to.`it-index'.before.eval
6380 75 61 74 69 6e 67 20 46 4f 52 4d 2e 20 20 54 68 69 73 20 69 73 20 6c 69 6b 65 0a 60 2d 2d 6d 61 uating.FORM...This.is.like.`--ma
63a0 70 27 2c 20 62 75 74 20 61 64 64 69 74 69 6f 6e 61 6c 6c 79 20 6d 61 6b 65 73 20 60 69 74 2d 69 p',.but.additionally.makes.`it-i
63c0 6e 64 65 78 27 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 46 4f 52 4d 2e 0a 0a 54 68 69 73 20 69 ndex'.available.to.FORM...This.i
63e0 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 74 6f 20 60 s.the.anaphoric.counterpart.to.`
6400 2d 6d 61 70 2d 69 6e 64 65 78 65 64 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 -map-indexed'."...(declare.(debu
6420 67 20 28 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 28 6c 65 74 20 28 28 72 20 28 6d 61 6b 65 g.(form.form)))...(let.((r.(make
6440 2d 73 79 6d 62 6f 6c 20 22 72 65 73 75 6c 74 22 29 29 29 0a 20 20 20 20 60 28 6c 65 74 20 28 2c -symbol."result"))).....`(let.(,
6460 72 29 0a 20 20 20 20 20 20 20 28 2d 2d 65 61 63 68 20 2c 6c 69 73 74 0a 20 20 20 20 20 20 20 20 r)........(--each.,list.........
6480 20 28 70 75 73 68 20 2c 66 6f 72 6d 20 2c 72 29 29 0a 20 20 20 20 20 20 20 28 6e 72 65 76 65 72 .(push.,form.,r))........(nrever
64a0 73 65 20 2c 72 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 6d 61 70 2d 69 6e 64 65 78 65 64 20 28 se.,r))))..(defun.-map-indexed.(
64c0 66 6e 20 6c 69 73 74 29 0a 20 20 22 41 70 70 6c 79 20 46 4e 20 74 6f 20 65 61 63 68 20 69 6e 64 fn.list)..."Apply.FN.to.each.ind
64e0 65 78 20 61 6e 64 20 69 74 65 6d 20 69 6e 20 4c 49 53 54 20 61 6e 64 20 72 65 74 75 72 6e 20 74 ex.and.item.in.LIST.and.return.t
6500 68 65 20 6c 69 73 74 20 6f 66 20 72 65 73 75 6c 74 73 2e 0a 54 68 69 73 20 69 73 20 6c 69 6b 65 he.list.of.results..This.is.like
6520 20 60 2d 6d 61 70 27 2c 20 62 75 74 20 46 4e 20 74 61 6b 65 73 20 74 77 6f 20 61 72 67 75 6d 65 .`-map',.but.FN.takes.two.argume
6540 6e 74 73 3a 20 74 68 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 0a 63 75 72 72 65 6e 74 20 65 6c nts:.the.index.of.the.current.el
6560 65 6d 65 6e 74 20 77 69 74 68 69 6e 20 4c 49 53 54 2c 20 61 6e 64 20 74 68 65 20 65 6c 65 6d 65 ement.within.LIST,.and.the.eleme
6580 6e 74 20 69 74 73 65 6c 66 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 nt.itself...This.function's.anap
65a0 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 6d 61 70 2d 69 6e 64 65 horic.counterpart.is.`--map-inde
65c0 78 65 64 27 2e 0a 0a 46 6f 72 20 61 20 73 69 64 65 2d 65 66 66 65 63 74 69 6e 67 20 76 61 72 69 xed'...For.a.side-effecting.vari
65e0 61 6e 74 2c 20 73 65 65 20 61 6c 73 6f 20 60 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 27 2e 22 0a ant,.see.also.`-each-indexed'.".
6600 20 20 28 2d 2d 6d 61 70 2d 69 6e 64 65 78 65 64 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 69 74 2d ..(--map-indexed.(funcall.fn.it-
6620 69 6e 64 65 78 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 6d 61 index.it).list))..(defmacro.--ma
6640 70 2d 77 68 65 6e 20 28 70 72 65 64 20 72 65 70 20 6c 69 73 74 29 0a 20 20 22 41 6e 61 70 68 6f p-when.(pred.rep.list)..."Anapho
6660 72 69 63 20 66 6f 72 6d 20 6f 66 20 60 2d 6d 61 70 2d 77 68 65 6e 27 2e 22 0a 20 20 28 64 65 63 ric.form.of.`-map-when'."...(dec
6680 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 lare.(debug.(form.form.form)))..
66a0 20 28 6c 65 74 20 28 28 72 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 72 65 73 75 6c 74 22 29 .(let.((r.(make-symbol."result")
66c0 29 29 0a 20 20 20 20 60 28 6c 65 74 20 28 2c 72 29 0a 20 20 20 20 20 20 20 28 2d 2d 65 61 63 68 )).....`(let.(,r)........(--each
66e0 20 2c 6c 69 73 74 20 28 21 63 6f 6e 73 20 28 69 66 20 2c 70 72 65 64 20 2c 72 65 70 20 69 74 29 .,list.(!cons.(if.,pred.,rep.it)
6700 20 2c 72 29 29 0a 20 20 20 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 2c 72 29 29 29 29 0a 0a 28 .,r))........(nreverse.,r))))..(
6720 64 65 66 75 6e 20 2d 6d 61 70 2d 77 68 65 6e 20 28 70 72 65 64 20 72 65 70 20 6c 69 73 74 29 0a defun.-map-when.(pred.rep.list).
6740 20 20 22 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 77 68 65 72 65 20 74 68 65 20 65 .."Return.a.new.list.where.the.e
6760 6c 65 6d 65 6e 74 73 20 69 6e 20 4c 49 53 54 20 74 68 61 74 20 64 6f 20 6e 6f 74 20 6d 61 74 63 lements.in.LIST.that.do.not.matc
6780 68 20 74 68 65 20 50 52 45 44 20 66 75 6e 63 74 69 6f 6e 0a 61 72 65 20 75 6e 63 68 61 6e 67 65 h.the.PRED.function.are.unchange
67a0 64 2c 20 61 6e 64 20 77 68 65 72 65 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 69 6e 20 4c 49 53 d,.and.where.the.elements.in.LIS
67c0 54 20 74 68 61 74 20 64 6f 20 6d 61 74 63 68 20 74 68 65 20 50 52 45 44 20 66 75 6e 63 74 69 6f T.that.do.match.the.PRED.functio
67e0 6e 20 61 72 65 20 6d 61 70 70 65 64 0a 74 68 72 6f 75 67 68 20 74 68 65 20 52 45 50 20 66 75 6e n.are.mapped.through.the.REP.fun
6800 63 74 69 6f 6e 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 72 65 70 6c 61 63 65 2d 77 68 65 72 65 27 0a ction...Alias:.`-replace-where'.
6820 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 75 70 64 61 74 65 2d 61 74 27 22 0a 20 20 28 2d 2d 6d 61 .See.also:.`-update-at'"...(--ma
6840 70 2d 77 68 65 6e 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 69 74 29 20 28 66 75 6e 63 61 6c p-when.(funcall.pred.it).(funcal
6860 6c 20 72 65 70 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 72 65 l.rep.it).list))..(defalias.'-re
6880 70 6c 61 63 65 2d 77 68 65 72 65 20 27 2d 6d 61 70 2d 77 68 65 6e 29 0a 28 64 65 66 61 6c 69 61 place-where.'-map-when).(defalia
68a0 73 20 27 2d 2d 72 65 70 6c 61 63 65 2d 77 68 65 72 65 20 27 2d 2d 6d 61 70 2d 77 68 65 6e 29 0a s.'--replace-where.'--map-when).
68c0 0a 28 64 65 66 75 6e 20 2d 6d 61 70 2d 66 69 72 73 74 20 28 70 72 65 64 20 72 65 70 20 6c 69 73 .(defun.-map-first.(pred.rep.lis
68e0 74 29 0a 20 20 22 52 65 70 6c 61 63 65 20 66 69 72 73 74 20 69 74 65 6d 20 69 6e 20 4c 49 53 54 t)..."Replace.first.item.in.LIST
6900 20 73 61 74 69 73 66 79 69 6e 67 20 50 52 45 44 20 77 69 74 68 20 72 65 73 75 6c 74 20 6f 66 20 .satisfying.PRED.with.result.of.
6920 52 45 50 20 63 61 6c 6c 65 64 20 6f 6e 20 74 68 69 73 20 69 74 65 6d 2e 0a 0a 53 65 65 20 61 6c REP.called.on.this.item...See.al
6940 73 6f 3a 20 60 2d 6d 61 70 2d 77 68 65 6e 27 2c 20 60 2d 72 65 70 6c 61 63 65 2d 66 69 72 73 74 so:.`-map-when',.`-replace-first
6960 27 22 0a 20 20 28 6c 65 74 20 28 66 72 6f 6e 74 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 61 6e '"...(let.(front).....(while.(an
6980 64 20 6c 69 73 74 20 28 6e 6f 74 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 28 63 61 72 20 6c d.list.(not.(funcall.pred.(car.l
69a0 69 73 74 29 29 29 29 0a 20 20 20 20 20 20 28 70 75 73 68 20 28 63 61 72 20 6c 69 73 74 29 20 66 ist)))).......(push.(car.list).f
69c0 72 6f 6e 74 29 0a 20 20 20 20 20 20 28 21 63 64 72 20 6c 69 73 74 29 29 0a 20 20 20 20 28 69 66 ront).......(!cdr.list)).....(if
69e0 20 6c 69 73 74 0a 20 20 20 20 20 20 20 20 28 2d 63 6f 6e 63 61 74 20 28 6e 72 65 76 65 72 73 65 .list.........(-concat.(nreverse
6a00 20 66 72 6f 6e 74 29 20 28 63 6f 6e 73 20 28 66 75 6e 63 61 6c 6c 20 72 65 70 20 28 63 61 72 20 .front).(cons.(funcall.rep.(car.
6a20 6c 69 73 74 29 29 20 28 63 64 72 20 6c 69 73 74 29 29 29 0a 20 20 20 20 20 20 28 6e 72 65 76 65 list)).(cdr.list))).......(nreve
6a40 72 73 65 20 66 72 6f 6e 74 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 6d 61 70 2d 66 rse.front))))..(defmacro.--map-f
6a60 69 72 73 74 20 28 70 72 65 64 20 72 65 70 20 6c 69 73 74 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 irst.(pred.rep.list)..."Anaphori
6a80 63 20 66 6f 72 6d 20 6f 66 20 60 2d 6d 61 70 2d 66 69 72 73 74 27 2e 22 0a 20 20 28 64 65 63 6c c.form.of.`-map-first'."...(decl
6aa0 61 72 65 20 28 64 65 62 75 67 20 28 64 65 66 2d 66 6f 72 6d 20 64 65 66 2d 66 6f 72 6d 20 66 6f are.(debug.(def-form.def-form.fo
6ac0 72 6d 29 29 29 0a 20 20 60 28 2d 6d 61 70 2d 66 69 72 73 74 20 28 6c 61 6d 62 64 61 20 28 69 74 rm)))...`(-map-first.(lambda.(it
6ae0 29 20 2c 70 72 65 64 29 20 28 6c 61 6d 62 64 61 20 28 69 74 29 20 28 69 67 6e 6f 72 65 20 69 74 ).,pred).(lambda.(it).(ignore.it
6b00 29 20 2c 72 65 70 29 20 2c 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 6d 61 70 2d 6c 61 73 ).,rep).,list))..(defun.-map-las
6b20 74 20 28 70 72 65 64 20 72 65 70 20 6c 69 73 74 29 0a 20 20 22 52 65 70 6c 61 63 65 20 6c 61 73 t.(pred.rep.list)..."Replace.las
6b40 74 20 69 74 65 6d 20 69 6e 20 4c 49 53 54 20 73 61 74 69 73 66 79 69 6e 67 20 50 52 45 44 20 77 t.item.in.LIST.satisfying.PRED.w
6b60 69 74 68 20 72 65 73 75 6c 74 20 6f 66 20 52 45 50 20 63 61 6c 6c 65 64 20 6f 6e 20 74 68 69 73 ith.result.of.REP.called.on.this
6b80 20 69 74 65 6d 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 6d 61 70 2d 77 68 65 6e 27 2c 20 60 .item...See.also:.`-map-when',.`
6ba0 2d 72 65 70 6c 61 63 65 2d 6c 61 73 74 27 22 0a 20 20 28 6e 72 65 76 65 72 73 65 20 28 2d 6d 61 -replace-last'"...(nreverse.(-ma
6bc0 70 2d 66 69 72 73 74 20 70 72 65 64 20 72 65 70 20 28 72 65 76 65 72 73 65 20 6c 69 73 74 29 29 p-first.pred.rep.(reverse.list))
6be0 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 6d 61 70 2d 6c 61 73 74 20 28 70 72 65 64 20 72 ))..(defmacro.--map-last.(pred.r
6c00 65 70 20 6c 69 73 74 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 20 66 6f 72 6d 20 6f 66 20 60 2d ep.list)..."Anaphoric.form.of.`-
6c20 6d 61 70 2d 6c 61 73 74 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 64 map-last'."...(declare.(debug.(d
6c40 65 66 2d 66 6f 72 6d 20 64 65 66 2d 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 60 28 2d 6d 61 ef-form.def-form.form)))...`(-ma
6c60 70 2d 6c 61 73 74 20 28 6c 61 6d 62 64 61 20 28 69 74 29 20 2c 70 72 65 64 29 20 28 6c 61 6d 62 p-last.(lambda.(it).,pred).(lamb
6c80 64 61 20 28 69 74 29 20 28 69 67 6e 6f 72 65 20 69 74 29 20 2c 72 65 70 29 20 2c 6c 69 73 74 29 da.(it).(ignore.it).,rep).,list)
6ca0 29 0a 0a 28 64 65 66 75 6e 20 2d 72 65 70 6c 61 63 65 20 28 6f 6c 64 20 6e 65 77 20 6c 69 73 74 )..(defun.-replace.(old.new.list
6cc0 29 0a 20 20 22 52 65 70 6c 61 63 65 20 61 6c 6c 20 4f 4c 44 20 69 74 65 6d 73 20 69 6e 20 4c 49 )..."Replace.all.OLD.items.in.LI
6ce0 53 54 20 77 69 74 68 20 4e 45 57 2e 0a 0a 45 6c 65 6d 65 6e 74 73 20 61 72 65 20 63 6f 6d 70 61 ST.with.NEW...Elements.are.compa
6d00 72 65 64 20 75 73 69 6e 67 20 60 65 71 75 61 6c 27 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d red.using.`equal'...See.also:.`-
6d20 72 65 70 6c 61 63 65 2d 61 74 27 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 replace-at'"...(declare.(pure.t)
6d40 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 2d 2d 6d 61 70 2d .(side-effect-free.t))...(--map-
6d60 77 68 65 6e 20 28 65 71 75 61 6c 20 69 74 20 6f 6c 64 29 20 6e 65 77 20 6c 69 73 74 29 29 0a 0a when.(equal.it.old).new.list))..
6d80 28 64 65 66 75 6e 20 2d 72 65 70 6c 61 63 65 2d 66 69 72 73 74 20 28 6f 6c 64 20 6e 65 77 20 6c (defun.-replace-first.(old.new.l
6da0 69 73 74 29 0a 20 20 22 52 65 70 6c 61 63 65 20 74 68 65 20 66 69 72 73 74 20 6f 63 63 75 72 72 ist)..."Replace.the.first.occurr
6dc0 65 6e 63 65 20 6f 66 20 4f 4c 44 20 77 69 74 68 20 4e 45 57 20 69 6e 20 4c 49 53 54 2e 0a 0a 45 ence.of.OLD.with.NEW.in.LIST...E
6de0 6c 65 6d 65 6e 74 73 20 61 72 65 20 63 6f 6d 70 61 72 65 64 20 75 73 69 6e 67 20 60 65 71 75 61 lements.are.compared.using.`equa
6e00 6c 27 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 6d 61 70 2d 66 69 72 73 74 27 22 0a 20 20 28 l'...See.also:.`-map-first'"...(
6e20 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 declare.(pure.t).(side-effect-fr
6e40 65 65 20 74 29 29 0a 20 20 28 2d 2d 6d 61 70 2d 66 69 72 73 74 20 28 65 71 75 61 6c 20 6f 6c 64 ee.t))...(--map-first.(equal.old
6e60 20 69 74 29 20 6e 65 77 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 72 65 70 6c 61 63 65 .it).new.list))..(defun.-replace
6e80 2d 6c 61 73 74 20 28 6f 6c 64 20 6e 65 77 20 6c 69 73 74 29 0a 20 20 22 52 65 70 6c 61 63 65 20 -last.(old.new.list)..."Replace.
6ea0 74 68 65 20 6c 61 73 74 20 6f 63 63 75 72 72 65 6e 63 65 20 6f 66 20 4f 4c 44 20 77 69 74 68 20 the.last.occurrence.of.OLD.with.
6ec0 4e 45 57 20 69 6e 20 4c 49 53 54 2e 0a 0a 45 6c 65 6d 65 6e 74 73 20 61 72 65 20 63 6f 6d 70 61 NEW.in.LIST...Elements.are.compa
6ee0 72 65 64 20 75 73 69 6e 67 20 60 65 71 75 61 6c 27 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d red.using.`equal'...See.also:.`-
6f00 6d 61 70 2d 6c 61 73 74 27 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 map-last'"...(declare.(pure.t).(
6f20 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 2d 2d 6d 61 70 2d 6c 61 side-effect-free.t))...(--map-la
6f40 73 74 20 28 65 71 75 61 6c 20 6f 6c 64 20 69 74 29 20 6e 65 77 20 6c 69 73 74 29 29 0a 0a 28 64 st.(equal.old.it).new.list))..(d
6f60 65 66 6d 61 63 72 6f 20 2d 2d 6d 61 70 63 61 74 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 efmacro.--mapcat.(form.list)..."
6f80 41 6e 61 70 68 6f 72 69 63 20 66 6f 72 6d 20 6f 66 20 60 2d 6d 61 70 63 61 74 27 2e 22 0a 20 20 Anaphoric.form.of.`-mapcat'."...
6fa0 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 (declare.(debug.(form.form)))...
6fc0 60 28 61 70 70 6c 79 20 27 61 70 70 65 6e 64 20 28 2d 2d 6d 61 70 20 2c 66 6f 72 6d 20 2c 6c 69 `(apply.'append.(--map.,form.,li
6fe0 73 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 6d 61 70 63 61 74 20 28 66 6e 20 6c 69 73 74 29 0a st)))..(defun.-mapcat.(fn.list).
7000 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 63 6f 6e 63 61 74 65 6e 61 74 69 6f 6e 20 6f 66 20 74 .."Return.the.concatenation.of.t
7020 68 65 20 72 65 73 75 6c 74 20 6f 66 20 6d 61 70 70 69 6e 67 20 46 4e 20 6f 76 65 72 20 4c 49 53 he.result.of.mapping.FN.over.LIS
7040 54 2e 0a 54 68 75 73 20 66 75 6e 63 74 69 6f 6e 20 46 4e 20 73 68 6f 75 6c 64 20 72 65 74 75 72 T..Thus.function.FN.should.retur
7060 6e 20 61 20 6c 69 73 74 2e 22 0a 20 20 28 2d 2d 6d 61 70 63 61 74 20 28 66 75 6e 63 61 6c 6c 20 n.a.list."...(--mapcat.(funcall.
7080 66 6e 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 69 74 65 72 61 fn.it).list))..(defmacro.--itera
70a0 74 65 20 28 66 6f 72 6d 20 69 6e 69 74 20 6e 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 20 76 65 te.(form.init.n)..."Anaphoric.ve
70c0 72 73 69 6f 6e 20 6f 66 20 60 2d 69 74 65 72 61 74 65 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 rsion.of.`-iterate'."...(declare
70e0 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 28 6c 65 .(debug.(form.form.form)))...(le
7100 74 20 28 28 72 65 73 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 72 65 73 75 6c 74 22 29 29 0a t.((res.(make-symbol."result")).
7120 20 20 20 20 20 20 20 20 28 6c 65 6e 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 6e 22 29 29 29 ........(len.(make-symbol."n")))
7140 0a 20 20 20 20 60 28 6c 65 74 20 28 28 2c 6c 65 6e 20 2c 6e 29 29 0a 20 20 20 20 20 20 20 28 77 .....`(let.((,len.,n))........(w
7160 68 65 6e 20 28 3e 20 2c 6c 65 6e 20 30 29 0a 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 hen.(>.,len.0)..........(let*.((
7180 69 74 20 2c 69 6e 69 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2c 72 65 73 20 it.,init).................(,res.
71a0 28 6c 69 73 74 20 69 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 64 6f 74 69 6d 65 73 20 (list.it)))............(dotimes.
71c0 28 5f 20 28 31 2d 20 2c 6c 65 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 (_.(1-.,len))..............(push
71e0 20 28 73 65 74 71 20 69 74 20 2c 66 6f 72 6d 29 20 2c 72 65 73 29 29 0a 20 20 20 20 20 20 20 20 .(setq.it.,form).,res)).........
7200 20 20 20 28 6e 72 65 76 65 72 73 65 20 2c 72 65 73 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 ...(nreverse.,res))))))..(defun.
7220 2d 69 74 65 72 61 74 65 20 28 66 75 6e 20 69 6e 69 74 20 6e 29 0a 20 20 22 52 65 74 75 72 6e 20 -iterate.(fun.init.n)..."Return.
7240 61 20 6c 69 73 74 20 6f 66 20 69 74 65 72 61 74 65 64 20 61 70 70 6c 69 63 61 74 69 6f 6e 73 20 a.list.of.iterated.applications.
7260 6f 66 20 46 55 4e 20 74 6f 20 49 4e 49 54 2e 0a 0a 54 68 69 73 20 6d 65 61 6e 73 20 61 20 6c 69 of.FUN.to.INIT...This.means.a.li
7280 73 74 20 6f 66 20 74 68 65 20 66 6f 72 6d 3a 0a 0a 20 20 28 49 4e 49 54 20 28 46 55 4e 20 49 4e st.of.the.form:....(INIT.(FUN.IN
72a0 49 54 29 20 28 46 55 4e 20 28 46 55 4e 20 49 4e 49 54 29 29 20 2e 2e 2e 29 0a 0a 4e 20 69 73 20 IT).(FUN.(FUN.INIT))....)..N.is.
72c0 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 72 65 74 75 72 6e 65 64 20 6c 69 73 74 2e the.length.of.the.returned.list.
72e0 22 0a 20 20 28 2d 2d 69 74 65 72 61 74 65 20 28 66 75 6e 63 61 6c 6c 20 66 75 6e 20 69 74 29 20 "...(--iterate.(funcall.fun.it).
7300 69 6e 69 74 20 6e 29 29 0a 0a 28 64 65 66 75 6e 20 2d 66 6c 61 74 74 65 6e 20 28 6c 29 0a 20 20 init.n))..(defun.-flatten.(l)...
7320 22 54 61 6b 65 20 61 20 6e 65 73 74 65 64 20 6c 69 73 74 20 4c 20 61 6e 64 20 72 65 74 75 72 6e "Take.a.nested.list.L.and.return
7340 20 69 74 73 20 63 6f 6e 74 65 6e 74 73 20 61 73 20 61 20 73 69 6e 67 6c 65 2c 20 66 6c 61 74 20 .its.contents.as.a.single,.flat.
7360 6c 69 73 74 2e 0a 0a 4e 6f 74 65 20 74 68 61 74 20 62 65 63 61 75 73 65 20 60 6e 69 6c 27 20 72 list...Note.that.because.`nil'.r
7380 65 70 72 65 73 65 6e 74 73 20 61 20 6c 69 73 74 20 6f 66 20 7a 65 72 6f 20 65 6c 65 6d 65 6e 74 epresents.a.list.of.zero.element
73a0 73 20 28 61 6e 0a 65 6d 70 74 79 20 6c 69 73 74 29 2c 20 61 6e 79 20 6d 65 6e 74 69 6f 6e 20 6f s.(an.empty.list),.any.mention.o
73c0 66 20 6e 69 6c 20 69 6e 20 4c 20 77 69 6c 6c 20 64 69 73 61 70 70 65 61 72 20 61 66 74 65 72 0a f.nil.in.L.will.disappear.after.
73e0 66 6c 61 74 74 65 6e 69 6e 67 2e 20 20 49 66 20 79 6f 75 20 6e 65 65 64 20 74 6f 20 70 72 65 73 flattening...If.you.need.to.pres
7400 65 72 76 65 20 6e 69 6c 73 2c 20 63 6f 6e 73 69 64 65 72 20 60 2d 66 6c 61 74 74 65 6e 2d 6e 27 erve.nils,.consider.`-flatten-n'
7420 0a 6f 72 20 6d 61 70 20 74 68 65 6d 20 74 6f 20 73 6f 6d 65 20 75 6e 69 71 75 65 20 73 79 6d 62 .or.map.them.to.some.unique.symb
7440 6f 6c 20 61 6e 64 20 74 68 65 6e 20 6d 61 70 20 74 68 65 6d 20 62 61 63 6b 2e 0a 0a 43 6f 6e 73 ol.and.then.map.them.back...Cons
7460 65 73 20 6f 66 20 74 77 6f 20 61 74 6f 6d 73 20 61 72 65 20 63 6f 6e 73 69 64 65 72 65 64 20 5c es.of.two.atoms.are.considered.\
7480 22 74 65 72 6d 69 6e 61 6c 73 5c 22 2c 20 74 68 61 74 20 69 73 2c 20 74 68 65 79 0a 61 72 65 6e "terminals\",.that.is,.they.aren
74a0 27 74 20 66 6c 61 74 74 65 6e 65 64 20 66 75 72 74 68 65 72 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 't.flattened.further...See.also:
74c0 20 60 2d 66 6c 61 74 74 65 6e 2d 6e 27 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 .`-flatten-n'"...(declare.(pure.
74e0 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 69 66 20 28 t).(side-effect-free.t))...(if.(
7500 61 6e 64 20 28 6c 69 73 74 70 20 6c 29 20 28 6c 69 73 74 70 20 28 63 64 72 20 6c 29 29 29 0a 20 and.(listp.l).(listp.(cdr.l)))..
7520 20 20 20 20 20 28 2d 6d 61 70 63 61 74 20 27 2d 66 6c 61 74 74 65 6e 20 6c 29 0a 20 20 20 20 28 .....(-mapcat.'-flatten.l).....(
7540 6c 69 73 74 20 6c 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 66 6c 61 74 74 65 6e 2d 6e 20 28 6e 75 list.l)))..(defun.-flatten-n.(nu
7560 6d 20 6c 69 73 74 29 0a 20 20 22 46 6c 61 74 74 65 6e 20 4e 55 4d 20 6c 65 76 65 6c 73 20 6f 66 m.list)..."Flatten.NUM.levels.of
7580 20 61 20 6e 65 73 74 65 64 20 4c 49 53 54 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 66 6c 61 .a.nested.LIST...See.also:.`-fla
75a0 74 74 65 6e 27 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 tten'"...(declare.(pure.t).(side
75c0 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 64 6f 74 69 6d 65 73 20 28 5f 20 6e -effect-free.t))...(dotimes.(_.n
75e0 75 6d 29 0a 20 20 20 20 28 73 65 74 71 20 6c 69 73 74 20 28 61 70 70 6c 79 20 23 27 61 70 70 65 um).....(setq.list.(apply.#'appe
7600 6e 64 20 28 6d 61 70 63 61 72 20 23 27 2d 6c 69 73 74 20 6c 69 73 74 29 29 29 29 0a 20 20 6c 69 nd.(mapcar.#'-list.list))))...li
7620 73 74 29 0a 0a 28 64 65 66 75 6e 20 2d 63 6f 6e 63 61 74 20 28 26 72 65 73 74 20 6c 69 73 74 73 st)..(defun.-concat.(&rest.lists
7640 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 77 69 74 68 20 74 68 65 20 )..."Return.a.new.list.with.the.
7660 63 6f 6e 63 61 74 65 6e 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 69 6e concatenation.of.the.elements.in
7680 20 74 68 65 20 73 75 70 70 6c 69 65 64 20 4c 49 53 54 53 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 .the.supplied.LISTS."...(declare
76a0 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a .(pure.t).(side-effect-free.t)).
76c0 20 20 28 61 70 70 6c 79 20 27 61 70 70 65 6e 64 20 6c 69 73 74 73 29 29 0a 0a 28 64 65 66 61 6c ..(apply.'append.lists))..(defal
76e0 69 61 73 20 27 2d 63 6f 70 79 20 27 63 6f 70 79 2d 73 65 71 75 65 6e 63 65 0a 20 20 22 43 72 65 ias.'-copy.'copy-sequence..."Cre
7700 61 74 65 20 61 20 73 68 61 6c 6c 6f 77 20 63 6f 70 79 20 6f 66 20 4c 49 53 54 2e 0a 0a 5c 28 66 ate.a.shallow.copy.of.LIST...\(f
7720 6e 20 4c 49 53 54 29 22 29 0a 0a 28 64 65 66 75 6e 20 2d 73 70 6c 69 63 65 20 28 70 72 65 64 20 n.LIST)")..(defun.-splice.(pred.
7740 66 75 6e 20 6c 69 73 74 29 0a 20 20 22 53 70 6c 69 63 65 20 6c 69 73 74 73 20 67 65 6e 65 72 61 fun.list)..."Splice.lists.genera
7760 74 65 64 20 62 79 20 46 55 4e 20 69 6e 20 70 6c 61 63 65 20 6f 66 20 65 6c 65 6d 65 6e 74 73 20 ted.by.FUN.in.place.of.elements.
7780 6d 61 74 63 68 69 6e 67 20 50 52 45 44 20 69 6e 20 4c 49 53 54 2e 0a 0a 46 55 4e 20 74 61 6b 65 matching.PRED.in.LIST...FUN.take
77a0 73 20 74 68 65 20 65 6c 65 6d 65 6e 74 20 6d 61 74 63 68 69 6e 67 20 50 52 45 44 20 61 73 20 69 s.the.element.matching.PRED.as.i
77c0 6e 70 75 74 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 20 62 65 20 75 73 65 64 nput...This.function.can.be.used
77e0 20 61 73 20 72 65 70 6c 61 63 65 6d 65 6e 74 20 66 6f 72 20 60 2c 40 27 20 69 6e 20 63 61 73 65 .as.replacement.for.`,@'.in.case
7800 20 79 6f 75 0a 6e 65 65 64 20 74 6f 20 73 70 6c 69 63 65 20 73 65 76 65 72 61 6c 20 6c 69 73 74 .you.need.to.splice.several.list
7820 73 20 61 74 20 6d 61 72 6b 65 64 20 70 6f 73 69 74 69 6f 6e 73 20 28 66 6f 72 20 65 78 61 6d 70 s.at.marked.positions.(for.examp
7840 6c 65 0a 77 69 74 68 20 6b 65 79 77 6f 72 64 73 29 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d le.with.keywords)...See.also:.`-
7860 73 70 6c 69 63 65 2d 6c 69 73 74 27 2c 20 60 2d 69 6e 73 65 72 74 2d 61 74 27 22 0a 20 20 28 6c splice-list',.`-insert-at'"...(l
7880 65 74 20 28 72 29 0a 20 20 20 20 28 2d 2d 65 61 63 68 20 6c 69 73 74 0a 20 20 20 20 20 20 28 69 et.(r).....(--each.list.......(i
78a0 66 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 69 74 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c f.(funcall.pred.it)...........(l
78c0 65 74 20 28 28 6e 65 77 20 28 66 75 6e 63 61 6c 6c 20 66 75 6e 20 69 74 29 29 29 0a 20 20 20 20 et.((new.(funcall.fun.it))).....
78e0 20 20 20 20 20 20 20 20 28 2d 2d 65 61 63 68 20 6e 65 77 20 28 21 63 6f 6e 73 20 69 74 20 72 29 ........(--each.new.(!cons.it.r)
7900 29 29 0a 20 20 20 20 20 20 20 20 28 21 63 6f 6e 73 20 69 74 20 72 29 29 29 0a 20 20 20 20 28 6e )).........(!cons.it.r))).....(n
7920 72 65 76 65 72 73 65 20 72 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 73 70 6c 69 63 65 reverse.r)))..(defmacro.--splice
7940 20 28 70 72 65 64 20 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 20 66 .(pred.form.list)..."Anaphoric.f
7960 6f 72 6d 20 6f 66 20 60 2d 73 70 6c 69 63 65 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 orm.of.`-splice'."...(declare.(d
7980 65 62 75 67 20 28 64 65 66 2d 66 6f 72 6d 20 64 65 66 2d 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a ebug.(def-form.def-form.form))).
79a0 20 20 60 28 2d 73 70 6c 69 63 65 20 28 6c 61 6d 62 64 61 20 28 69 74 29 20 2c 70 72 65 64 29 20 ..`(-splice.(lambda.(it).,pred).
79c0 28 6c 61 6d 62 64 61 20 28 69 74 29 20 2c 66 6f 72 6d 29 20 2c 6c 69 73 74 29 29 0a 0a 28 64 65 (lambda.(it).,form).,list))..(de
79e0 66 75 6e 20 2d 73 70 6c 69 63 65 2d 6c 69 73 74 20 28 70 72 65 64 20 6e 65 77 2d 6c 69 73 74 20 fun.-splice-list.(pred.new-list.
7a00 6c 69 73 74 29 0a 20 20 22 53 70 6c 69 63 65 20 4e 45 57 2d 4c 49 53 54 20 69 6e 20 70 6c 61 63 list)..."Splice.NEW-LIST.in.plac
7a20 65 20 6f 66 20 65 6c 65 6d 65 6e 74 73 20 6d 61 74 63 68 69 6e 67 20 50 52 45 44 20 69 6e 20 4c e.of.elements.matching.PRED.in.L
7a40 49 53 54 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 73 70 6c 69 63 65 27 2c 20 60 2d 69 6e 73 IST...See.also:.`-splice',.`-ins
7a60 65 72 74 2d 61 74 27 22 0a 20 20 28 2d 73 70 6c 69 63 65 20 70 72 65 64 20 28 6c 61 6d 62 64 61 ert-at'"...(-splice.pred.(lambda
7a80 20 28 5f 29 20 6e 65 77 2d 6c 69 73 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f .(_).new-list).list))..(defmacro
7aa0 20 2d 2d 73 70 6c 69 63 65 2d 6c 69 73 74 20 28 70 72 65 64 20 6e 65 77 2d 6c 69 73 74 20 6c 69 .--splice-list.(pred.new-list.li
7ac0 73 74 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 20 66 6f 72 6d 20 6f 66 20 60 2d 73 70 6c 69 63 st)..."Anaphoric.form.of.`-splic
7ae0 65 2d 6c 69 73 74 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 64 65 66 e-list'."...(declare.(debug.(def
7b00 2d 66 6f 72 6d 20 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 60 28 2d 73 70 6c 69 63 65 2d 6c -form.form.form)))...`(-splice-l
7b20 69 73 74 20 28 6c 61 6d 62 64 61 20 28 69 74 29 20 2c 70 72 65 64 29 20 2c 6e 65 77 2d 6c 69 73 ist.(lambda.(it).,pred).,new-lis
7b40 74 20 2c 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 63 6f 6e 73 2a 20 28 26 72 65 73 74 20 t.,list))..(defun.-cons*.(&rest.
7b60 61 72 67 73 29 0a 20 20 22 4d 61 6b 65 20 61 20 6e 65 77 20 6c 69 73 74 20 66 72 6f 6d 20 74 68 args)..."Make.a.new.list.from.th
7b80 65 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 41 52 47 53 2e 0a 54 68 65 20 6c 61 73 74 20 32 20 65 e.elements.of.ARGS..The.last.2.e
7ba0 6c 65 6d 65 6e 74 73 20 6f 66 20 41 52 47 53 20 61 72 65 20 75 73 65 64 20 61 73 20 74 68 65 20 lements.of.ARGS.are.used.as.the.
7bc0 66 69 6e 61 6c 20 63 6f 6e 73 20 6f 66 20 74 68 65 0a 72 65 73 75 6c 74 2c 20 73 6f 20 69 66 20 final.cons.of.the.result,.so.if.
7be0 74 68 65 20 66 69 6e 61 6c 20 65 6c 65 6d 65 6e 74 20 6f 66 20 41 52 47 53 20 69 73 20 6e 6f 74 the.final.element.of.ARGS.is.not
7c00 20 61 20 6c 69 73 74 2c 20 74 68 65 20 72 65 73 75 6c 74 0a 69 73 20 61 20 64 6f 74 74 65 64 20 .a.list,.the.result.is.a.dotted.
7c20 6c 69 73 74 2e 20 20 57 69 74 68 20 6e 6f 20 41 52 47 53 2c 20 72 65 74 75 72 6e 20 6e 69 6c 2e list...With.no.ARGS,.return.nil.
7c40 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 "...(declare.(pure.t).(side-effe
7c60 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 6c 65 74 2a 20 28 28 6c 65 6e 20 28 6c 65 6e 67 74 ct-free.t))...(let*.((len.(lengt
7c80 68 20 61 72 67 73 29 29 0a 20 20 20 20 20 20 20 20 20 28 74 61 69 6c 20 28 6e 74 68 63 64 72 20 h.args))..........(tail.(nthcdr.
7ca0 28 2d 20 6c 65 6e 20 32 29 20 61 72 67 73 29 29 0a 20 20 20 20 20 20 20 20 20 28 6c 61 73 74 20 (-.len.2).args))..........(last.
7cc0 28 63 64 72 20 74 61 69 6c 29 29 29 0a 20 20 20 20 28 69 66 20 28 6e 75 6c 6c 20 6c 61 73 74 29 (cdr.tail))).....(if.(null.last)
7ce0 0a 20 20 20 20 20 20 20 20 28 63 61 72 20 61 72 67 73 29 0a 20 20 20 20 20 20 28 73 65 74 63 64 .........(car.args).......(setcd
7d00 72 20 74 61 69 6c 20 28 63 61 72 20 6c 61 73 74 29 29 0a 20 20 20 20 20 20 61 72 67 73 29 29 29 r.tail.(car.last)).......args)))
7d20 0a 0a 28 64 65 66 75 6e 20 2d 73 6e 6f 63 20 28 6c 69 73 74 20 65 6c 65 6d 20 26 72 65 73 74 20 ..(defun.-snoc.(list.elem.&rest.
7d40 65 6c 65 6d 65 6e 74 73 29 0a 20 20 22 41 70 70 65 6e 64 20 45 4c 45 4d 20 74 6f 20 74 68 65 20 elements)..."Append.ELEM.to.the.
7d60 65 6e 64 20 6f 66 20 74 68 65 20 6c 69 73 74 2e 0a 0a 54 68 69 73 20 69 73 20 6c 69 6b 65 20 60 end.of.the.list...This.is.like.`
7d80 63 6f 6e 73 27 2c 20 62 75 74 20 6f 70 65 72 61 74 65 73 20 6f 6e 20 74 68 65 20 65 6e 64 20 6f cons',.but.operates.on.the.end.o
7da0 66 20 6c 69 73 74 2e 0a 0a 49 66 20 45 4c 45 4d 45 4e 54 53 20 69 73 20 6e 6f 6e 20 6e 69 6c 2c f.list...If.ELEMENTS.is.non.nil,
7dc0 20 61 70 70 65 6e 64 20 74 68 65 73 65 20 74 6f 20 74 68 65 20 6c 69 73 74 20 61 73 20 77 65 6c .append.these.to.the.list.as.wel
7de0 6c 2e 22 0a 20 20 28 2d 63 6f 6e 63 61 74 20 6c 69 73 74 20 28 6c 69 73 74 20 65 6c 65 6d 29 20 l."...(-concat.list.(list.elem).
7e00 65 6c 65 6d 65 6e 74 73 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 66 69 72 73 74 20 28 66 elements))..(defmacro.--first.(f
7e20 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 66 69 72 73 74 20 69 74 orm.list)..."Return.the.first.it
7e40 65 6d 20 69 6e 20 4c 49 53 54 20 66 6f 72 20 77 68 69 63 68 20 46 4f 52 4d 20 65 76 61 6c 73 20 em.in.LIST.for.which.FORM.evals.
7e60 74 6f 20 6e 6f 6e 2d 6e 69 6c 2e 0a 52 65 74 75 72 6e 20 6e 69 6c 20 69 66 20 6e 6f 20 73 75 63 to.non-nil..Return.nil.if.no.suc
7e80 68 20 65 6c 65 6d 65 6e 74 20 69 73 20 66 6f 75 6e 64 2e 0a 45 61 63 68 20 65 6c 65 6d 65 6e 74 h.element.is.found..Each.element
7ea0 20 6f 66 20 4c 49 53 54 20 69 6e 20 74 75 72 6e 20 69 73 20 62 6f 75 6e 64 20 74 6f 20 60 69 74 .of.LIST.in.turn.is.bound.to.`it
7ec0 27 20 61 6e 64 20 69 74 73 20 69 6e 64 65 78 0a 77 69 74 68 69 6e 20 4c 49 53 54 20 74 6f 20 60 '.and.its.index.within.LIST.to.`
7ee0 69 74 2d 69 6e 64 65 78 27 20 62 65 66 6f 72 65 20 65 76 61 6c 75 61 74 69 6e 67 20 46 4f 52 4d it-index'.before.evaluating.FORM
7f00 2e 0a 54 68 69 73 20 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 ..This.is.the.anaphoric.counterp
7f20 61 72 74 20 74 6f 20 60 2d 66 69 72 73 74 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 art.to.`-first'."...(declare.(de
7f40 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 28 6c 65 74 20 28 28 6e 20 28 6d 61 bug.(form.form)))...(let.((n.(ma
7f60 6b 65 2d 73 79 6d 62 6f 6c 20 22 6e 65 65 64 6c 65 22 29 29 29 0a 20 20 20 20 60 28 6c 65 74 20 ke-symbol."needle"))).....`(let.
7f80 28 2c 6e 29 0a 20 20 20 20 20 20 20 28 2d 2d 65 61 63 68 2d 77 68 69 6c 65 20 2c 6c 69 73 74 20 (,n)........(--each-while.,list.
7fa0 28 6f 72 20 28 6e 6f 74 20 2c 66 6f 72 6d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (or.(not.,form).................
7fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 67 6e 6f 72 65 20 28 73 65 74 71 20 2c 6e 20 ...............(ignore.(setq.,n.
7fe0 69 74 29 29 29 29 0a 20 20 20 20 20 20 20 2c 6e 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 66 69 72 it))))........,n)))..(defun.-fir
8000 73 74 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 66 69 72 st.(pred.list)..."Return.the.fir
8020 73 74 20 69 74 65 6d 20 69 6e 20 4c 49 53 54 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 44 20 72 st.item.in.LIST.for.which.PRED.r
8040 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 52 65 74 75 72 6e 20 6e 69 6c 20 69 66 20 6e 6f eturns.non-nil..Return.nil.if.no
8060 20 73 75 63 68 20 65 6c 65 6d 65 6e 74 20 69 73 20 66 6f 75 6e 64 2e 0a 54 6f 20 67 65 74 20 74 .such.element.is.found..To.get.t
8080 68 65 20 66 69 72 73 74 20 69 74 65 6d 20 69 6e 20 74 68 65 20 6c 69 73 74 20 6e 6f 20 71 75 65 he.first.item.in.the.list.no.que
80a0 73 74 69 6f 6e 73 20 61 73 6b 65 64 2c 20 75 73 65 20 60 63 61 72 27 2e 0a 0a 41 6c 69 61 73 3a stions.asked,.use.`car'...Alias:
80c0 20 60 2d 66 69 6e 64 27 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 .`-find'...This.function's.anaph
80e0 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 66 69 72 73 74 27 2e 22 0a oric.counterpart.is.`--first'.".
8100 20 20 28 2d 2d 66 69 72 73 74 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 69 74 29 20 6c 69 73 ..(--first.(funcall.pred.it).lis
8120 74 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 66 69 6e 64 20 27 2d 66 69 72 73 74 29 0a 28 t))..(defalias.'-find.'-first).(
8140 64 65 66 61 6c 69 61 73 20 27 2d 2d 66 69 6e 64 20 27 2d 2d 66 69 72 73 74 29 0a 0a 28 64 65 66 defalias.'--find.'--first)..(def
8160 6d 61 63 72 6f 20 2d 2d 73 6f 6d 65 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 macro.--some.(form.list)..."Retu
8180 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 46 4f 52 4d 20 65 76 61 6c 73 20 74 6f 20 6e 6f 6e 2d rn.non-nil.if.FORM.evals.to.non-
81a0 6e 69 6c 20 66 6f 72 20 61 74 20 6c 65 61 73 74 20 6f 6e 65 20 69 74 65 6d 20 69 6e 20 4c 49 53 nil.for.at.least.one.item.in.LIS
81c0 54 2e 0a 49 66 20 73 6f 2c 20 72 65 74 75 72 6e 20 74 68 65 20 66 69 72 73 74 20 73 75 63 68 20 T..If.so,.return.the.first.such.
81e0 72 65 73 75 6c 74 20 6f 66 20 46 4f 52 4d 2e 0a 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 result.of.FORM..Each.element.of.
8200 4c 49 53 54 20 69 6e 20 74 75 72 6e 20 69 73 20 62 6f 75 6e 64 20 74 6f 20 60 69 74 27 20 61 6e LIST.in.turn.is.bound.to.`it'.an
8220 64 20 69 74 73 20 69 6e 64 65 78 0a 77 69 74 68 69 6e 20 4c 49 53 54 20 74 6f 20 60 69 74 2d 69 d.its.index.within.LIST.to.`it-i
8240 6e 64 65 78 27 20 62 65 66 6f 72 65 20 65 76 61 6c 75 61 74 69 6e 67 20 46 4f 52 4d 2e 0a 54 68 ndex'.before.evaluating.FORM..Th
8260 69 73 20 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 is.is.the.anaphoric.counterpart.
8280 74 6f 20 60 2d 73 6f 6d 65 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 to.`-some'."...(declare.(debug.(
82a0 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 28 6c 65 74 20 28 28 6e 20 28 6d 61 6b 65 2d 73 79 form.form)))...(let.((n.(make-sy
82c0 6d 62 6f 6c 20 22 6e 65 65 64 6c 65 22 29 29 29 0a 20 20 20 20 60 28 6c 65 74 20 28 2c 6e 29 0a mbol."needle"))).....`(let.(,n).
82e0 20 20 20 20 20 20 20 28 2d 2d 65 61 63 68 2d 77 68 69 6c 65 20 2c 6c 69 73 74 20 28 6e 6f 74 20 .......(--each-while.,list.(not.
8300 28 73 65 74 71 20 2c 6e 20 2c 66 6f 72 6d 29 29 29 0a 20 20 20 20 20 20 20 2c 6e 29 29 29 0a 0a (setq.,n.,form)))........,n)))..
8320 28 64 65 66 75 6e 20 2d 73 6f 6d 65 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 (defun.-some.(pred.list)..."Retu
8340 72 6e 20 28 50 52 45 44 20 78 29 20 66 6f 72 20 74 68 65 20 66 69 72 73 74 20 4c 49 53 54 20 69 rn.(PRED.x).for.the.first.LIST.i
8360 74 65 6d 20 77 68 65 72 65 20 28 50 52 45 44 20 78 29 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 65 tem.where.(PRED.x).is.non-nil,.e
8380 6c 73 65 20 6e 69 6c 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 61 6e 79 27 2e 0a 0a 54 68 69 73 20 66 lse.nil...Alias:.`-any'...This.f
83a0 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 unction's.anaphoric.counterpart.
83c0 69 73 20 60 2d 2d 73 6f 6d 65 27 2e 22 0a 20 20 28 2d 2d 73 6f 6d 65 20 28 66 75 6e 63 61 6c 6c is.`--some'."...(--some.(funcall
83e0 20 70 72 65 64 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 61 6e .pred.it).list))..(defalias.'-an
8400 79 20 27 2d 73 6f 6d 65 29 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 2d 61 6e 79 20 27 2d 2d 73 6f y.'-some).(defalias.'--any.'--so
8420 6d 65 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 65 76 65 72 79 20 28 66 6f 72 6d 20 6c 69 73 me)..(defmacro.--every.(form.lis
8440 74 29 0a 20 20 22 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 46 4f 52 4d 20 65 76 61 t)..."Return.non-nil.if.FORM.eva
8460 6c 73 20 74 6f 20 6e 6f 6e 2d 6e 69 6c 20 66 6f 72 20 61 6c 6c 20 69 74 65 6d 73 20 69 6e 20 4c ls.to.non-nil.for.all.items.in.L
8480 49 53 54 2e 0a 49 66 20 73 6f 2c 20 72 65 74 75 72 6e 20 74 68 65 20 6c 61 73 74 20 73 75 63 68 IST..If.so,.return.the.last.such
84a0 20 72 65 73 75 6c 74 20 6f 66 20 46 4f 52 4d 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 6f 6e 63 .result.of.FORM...Otherwise,.onc
84c0 65 20 61 6e 0a 69 74 65 6d 20 69 73 20 72 65 61 63 68 65 64 20 66 6f 72 20 77 68 69 63 68 20 46 e.an.item.is.reached.for.which.F
84e0 4f 52 4d 20 79 69 65 6c 64 73 20 6e 69 6c 2c 20 72 65 74 75 72 6e 20 6e 69 6c 20 77 69 74 68 6f ORM.yields.nil,.return.nil.witho
8500 75 74 0a 65 76 61 6c 75 61 74 69 6e 67 20 46 4f 52 4d 20 66 6f 72 20 61 6e 79 20 66 75 72 74 68 ut.evaluating.FORM.for.any.furth
8520 65 72 20 4c 49 53 54 20 65 6c 65 6d 65 6e 74 73 2e 0a 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f er.LIST.elements..Each.element.o
8540 66 20 4c 49 53 54 20 69 6e 20 74 75 72 6e 20 69 73 20 62 6f 75 6e 64 20 74 6f 20 60 69 74 27 20 f.LIST.in.turn.is.bound.to.`it'.
8560 61 6e 64 20 69 74 73 20 69 6e 64 65 78 0a 77 69 74 68 69 6e 20 4c 49 53 54 20 74 6f 20 60 69 74 and.its.index.within.LIST.to.`it
8580 2d 69 6e 64 65 78 27 20 62 65 66 6f 72 65 20 65 76 61 6c 75 61 74 69 6e 67 20 46 4f 52 4d 2e 0a -index'.before.evaluating.FORM..
85a0 0a 54 68 69 73 20 6d 61 63 72 6f 20 69 73 20 6c 69 6b 65 20 60 2d 2d 65 76 65 72 79 2d 70 27 2c .This.macro.is.like.`--every-p',
85c0 20 62 75 74 20 6f 6e 20 73 75 63 63 65 73 73 20 72 65 74 75 72 6e 73 20 74 68 65 20 6c 61 73 74 .but.on.success.returns.the.last
85e0 0a 6e 6f 6e 2d 6e 69 6c 20 72 65 73 75 6c 74 20 6f 66 20 46 4f 52 4d 20 69 6e 73 74 65 61 64 20 .non-nil.result.of.FORM.instead.
8600 6f 66 20 6a 75 73 74 20 74 2e 0a 0a 54 68 69 73 20 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 of.just.t...This.is.the.anaphori
8620 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 74 6f 20 60 2d 65 76 65 72 79 27 2e 22 0a 20 20 28 64 c.counterpart.to.`-every'."...(d
8640 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 28 6c eclare.(debug.(form.form)))...(l
8660 65 74 20 28 28 61 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 61 6c 6c 22 29 29 29 0a 20 20 20 et.((a.(make-symbol."all")))....
8680 20 60 28 6c 65 74 20 28 28 2c 61 20 74 29 29 0a 20 20 20 20 20 20 20 28 2d 2d 65 61 63 68 2d 77 .`(let.((,a.t))........(--each-w
86a0 68 69 6c 65 20 2c 6c 69 73 74 20 28 73 65 74 71 20 2c 61 20 2c 66 6f 72 6d 29 29 0a 20 20 20 20 hile.,list.(setq.,a.,form)).....
86c0 20 20 20 2c 61 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 65 76 65 72 79 20 28 70 72 65 64 20 6c 69 ...,a)))..(defun.-every.(pred.li
86e0 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 50 52 45 44 20 72 65 st)..."Return.non-nil.if.PRED.re
8700 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 20 66 6f 72 20 61 6c 6c 20 69 74 65 6d 73 20 69 6e 20 4c turns.non-nil.for.all.items.in.L
8720 49 53 54 2e 0a 49 66 20 73 6f 2c 20 72 65 74 75 72 6e 20 74 68 65 20 6c 61 73 74 20 73 75 63 68 IST..If.so,.return.the.last.such
8740 20 72 65 73 75 6c 74 20 6f 66 20 50 52 45 44 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 6f 6e 63 .result.of.PRED...Otherwise,.onc
8760 65 20 61 6e 0a 69 74 65 6d 20 69 73 20 72 65 61 63 68 65 64 20 66 6f 72 20 77 68 69 63 68 20 50 e.an.item.is.reached.for.which.P
8780 52 45 44 20 72 65 74 75 72 6e 73 20 6e 69 6c 2c 20 72 65 74 75 72 6e 20 6e 69 6c 20 77 69 74 68 RED.returns.nil,.return.nil.with
87a0 6f 75 74 0a 63 61 6c 6c 69 6e 67 20 50 52 45 44 20 6f 6e 20 61 6e 79 20 66 75 72 74 68 65 72 20 out.calling.PRED.on.any.further.
87c0 4c 49 53 54 20 65 6c 65 6d 65 6e 74 73 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 LIST.elements...This.function.is
87e0 20 6c 69 6b 65 20 60 2d 65 76 65 72 79 2d 70 27 2c 20 62 75 74 20 6f 6e 20 73 75 63 63 65 73 73 .like.`-every-p',.but.on.success
8800 20 72 65 74 75 72 6e 73 20 74 68 65 20 6c 61 73 74 0a 6e 6f 6e 2d 6e 69 6c 20 72 65 73 75 6c 74 .returns.the.last.non-nil.result
8820 20 6f 66 20 50 52 45 44 20 69 6e 73 74 65 61 64 20 6f 66 20 6a 75 73 74 20 74 2e 0a 0a 54 68 69 .of.PRED.instead.of.just.t...Thi
8840 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 s.function's.anaphoric.counterpa
8860 72 74 20 69 73 20 60 2d 2d 65 76 65 72 79 27 2e 22 0a 20 20 28 2d 2d 65 76 65 72 79 20 28 66 75 rt.is.`--every'."...(--every.(fu
8880 6e 63 61 6c 6c 20 70 72 65 64 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f ncall.pred.it).list))..(defmacro
88a0 20 2d 2d 6c 61 73 74 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 .--last.(form.list)..."Anaphoric
88c0 20 66 6f 72 6d 20 6f 66 20 60 2d 6c 61 73 74 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 .form.of.`-last'."...(declare.(d
88e0 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 28 6c 65 74 20 28 28 6e 20 28 6d ebug.(form.form)))...(let.((n.(m
8900 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 6e 65 65 64 6c 65 22 29 29 29 0a 20 20 20 20 60 28 6c 65 74 ake-symbol."needle"))).....`(let
8920 20 28 2c 6e 29 0a 20 20 20 20 20 20 20 28 2d 2d 65 61 63 68 20 2c 6c 69 73 74 0a 20 20 20 20 20 .(,n)........(--each.,list......
8940 20 20 20 20 28 77 68 65 6e 20 2c 66 6f 72 6d 20 28 73 65 74 71 20 2c 6e 20 69 74 29 29 29 0a 20 ....(when.,form.(setq.,n.it)))..
8960 20 20 20 20 20 20 2c 6e 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 6c 61 73 74 20 28 70 72 65 64 20 ......,n)))..(defun.-last.(pred.
8980 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 6c 61 73 74 20 78 20 69 6e 20 4c 49 list)..."Return.the.last.x.in.LI
89a0 53 54 20 77 68 65 72 65 20 28 50 52 45 44 20 78 29 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 65 6c ST.where.(PRED.x).is.non-nil,.el
89c0 73 65 20 6e 69 6c 2e 22 0a 20 20 28 2d 2d 6c 61 73 74 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 se.nil."...(--last.(funcall.pred
89e0 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 66 69 72 73 74 2d 69 .it).list))..(defalias.'-first-i
8a00 74 65 6d 20 27 63 61 72 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 66 69 72 73 74 20 69 74 65 tem.'car..."Return.the.first.ite
8a20 6d 20 6f 66 20 4c 49 53 54 2c 20 6f 72 20 6e 69 6c 20 6f 6e 20 61 6e 20 65 6d 70 74 79 20 6c 69 m.of.LIST,.or.nil.on.an.empty.li
8a40 73 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 73 65 63 6f 6e 64 2d 69 74 65 6d 27 2c 20 60 st...See.also:.`-second-item',.`
8a60 2d 6c 61 73 74 2d 69 74 65 6d 27 2e 0a 0a 5c 28 66 6e 20 4c 49 53 54 29 22 29 0a 0a 3b 3b 20 45 -last-item'...\(fn.LIST)")..;;.E
8a80 6e 73 75 72 65 20 74 68 61 74 20 63 61 6c 6c 73 20 74 6f 20 60 2d 66 69 72 73 74 2d 69 74 65 6d nsure.that.calls.to.`-first-item
8aa0 27 20 61 72 65 20 63 6f 6d 70 69 6c 65 64 20 74 6f 20 61 20 73 69 6e 67 6c 65 20 6f 70 63 6f 64 '.are.compiled.to.a.single.opcod
8ac0 65 2c 0a 3b 3b 20 6a 75 73 74 20 6c 69 6b 65 20 60 63 61 72 27 2e 0a 28 70 75 74 20 27 2d 66 69 e,.;;.just.like.`car'..(put.'-fi
8ae0 72 73 74 2d 69 74 65 6d 20 27 62 79 74 65 2d 6f 70 63 6f 64 65 20 27 62 79 74 65 2d 63 61 72 29 rst-item.'byte-opcode.'byte-car)
8b00 0a 28 70 75 74 20 27 2d 66 69 72 73 74 2d 69 74 65 6d 20 27 62 79 74 65 2d 63 6f 6d 70 69 6c 65 .(put.'-first-item.'byte-compile
8b20 20 27 62 79 74 65 2d 63 6f 6d 70 69 6c 65 2d 6f 6e 65 2d 61 72 67 29 0a 0a 28 64 65 66 61 6c 69 .'byte-compile-one-arg)..(defali
8b40 61 73 20 27 2d 73 65 63 6f 6e 64 2d 69 74 65 6d 20 27 63 61 64 72 0a 20 20 22 52 65 74 75 72 6e as.'-second-item.'cadr..."Return
8b60 20 74 68 65 20 73 65 63 6f 6e 64 20 69 74 65 6d 20 6f 66 20 4c 49 53 54 2c 20 6f 72 20 6e 69 6c .the.second.item.of.LIST,.or.nil
8b80 20 69 66 20 4c 49 53 54 20 69 73 20 74 6f 6f 20 73 68 6f 72 74 2e 0a 0a 53 65 65 20 61 6c 73 6f .if.LIST.is.too.short...See.also
8ba0 3a 20 60 2d 74 68 69 72 64 2d 69 74 65 6d 27 2e 0a 0a 5c 28 66 6e 20 4c 49 53 54 29 22 29 0a 0a :.`-third-item'...\(fn.LIST)")..
8bc0 28 64 65 66 61 6c 69 61 73 20 27 2d 74 68 69 72 64 2d 69 74 65 6d 0a 20 20 28 69 66 20 28 66 62 (defalias.'-third-item...(if.(fb
8be0 6f 75 6e 64 70 20 27 63 61 64 64 72 29 0a 20 20 20 20 20 20 23 27 63 61 64 64 72 0a 20 20 20 20 oundp.'caddr).......#'caddr.....
8c00 28 6c 61 6d 62 64 61 20 28 6c 69 73 74 29 20 28 63 61 72 20 28 63 64 64 72 20 6c 69 73 74 29 29 (lambda.(list).(car.(cddr.list))
8c20 29 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 74 68 69 72 64 20 69 74 65 6d 20 6f 66 20 4c ))..."Return.the.third.item.of.L
8c40 49 53 54 2c 20 6f 72 20 6e 69 6c 20 69 66 20 4c 49 53 54 20 69 73 20 74 6f 6f 20 73 68 6f 72 74 IST,.or.nil.if.LIST.is.too.short
8c60 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 66 6f 75 72 74 68 2d 69 74 65 6d 27 2e 0a 0a 5c 28 ...See.also:.`-fourth-item'...\(
8c80 66 6e 20 4c 49 53 54 29 22 29 0a 0a 28 64 65 66 75 6e 20 2d 66 6f 75 72 74 68 2d 69 74 65 6d 20 fn.LIST)")..(defun.-fourth-item.
8ca0 28 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 66 6f 75 72 74 68 20 69 74 65 6d (list)..."Return.the.fourth.item
8cc0 20 6f 66 20 4c 49 53 54 2c 20 6f 72 20 6e 69 6c 20 69 66 20 4c 49 53 54 20 69 73 20 74 6f 6f 20 .of.LIST,.or.nil.if.LIST.is.too.
8ce0 73 68 6f 72 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 66 69 66 74 68 2d 69 74 65 6d 27 2e short...See.also:.`-fifth-item'.
8d00 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 "...(declare.(pure.t).(side-effe
8d20 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 63 61 72 20 28 63 64 72 20 28 63 64 72 20 28 63 64 ct-free.t))...(car.(cdr.(cdr.(cd
8d40 72 20 6c 69 73 74 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 66 69 66 74 68 2d 69 74 65 6d 20 r.list)))))..(defun.-fifth-item.
8d60 28 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 66 69 66 74 68 20 69 74 65 6d 20 (list)..."Return.the.fifth.item.
8d80 6f 66 20 4c 49 53 54 2c 20 6f 72 20 6e 69 6c 20 69 66 20 4c 49 53 54 20 69 73 20 74 6f 6f 20 73 of.LIST,.or.nil.if.LIST.is.too.s
8da0 68 6f 72 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 6c 61 73 74 2d 69 74 65 6d 27 2e 22 0a hort...See.also:.`-last-item'.".
8dc0 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 ..(declare.(pure.t).(side-effect
8de0 2d 66 72 65 65 20 74 29 29 0a 20 20 28 63 61 72 20 28 63 64 72 20 28 63 64 72 20 28 63 64 72 20 -free.t))...(car.(cdr.(cdr.(cdr.
8e00 28 63 64 72 20 6c 69 73 74 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 6c 61 73 74 2d 69 74 (cdr.list))))))..(defun.-last-it
8e20 65 6d 20 28 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 6c 61 73 74 20 69 74 65 em.(list)..."Return.the.last.ite
8e40 6d 20 6f 66 20 4c 49 53 54 2c 20 6f 72 20 6e 69 6c 20 6f 6e 20 61 6e 20 65 6d 70 74 79 20 6c 69 m.of.LIST,.or.nil.on.an.empty.li
8e60 73 74 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 st."...(declare.(pure.t).(side-e
8e80 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 63 61 72 20 28 6c 61 73 74 20 6c 69 73 74 ffect-free.t))...(car.(last.list
8ea0 29 29 29 0a 0a 3b 3b 20 55 73 65 20 60 77 69 74 68 2d 6e 6f 2d 77 61 72 6e 69 6e 67 73 27 20 74 )))..;;.Use.`with-no-warnings'.t
8ec0 6f 20 73 75 70 70 72 65 73 73 20 75 6e 62 6f 75 6e 64 20 60 2d 6c 61 73 74 2d 69 74 65 6d 27 20 o.suppress.unbound.`-last-item'.
8ee0 6f 72 0a 3b 3b 20 75 6e 64 65 66 69 6e 65 64 20 60 67 76 2d 2d 64 65 66 73 65 74 74 65 72 27 20 or.;;.undefined.`gv--defsetter'.
8f00 77 61 72 6e 69 6e 67 73 20 61 72 69 73 69 6e 67 20 66 72 6f 6d 20 62 6f 74 68 0a 3b 3b 20 60 67 warnings.arising.from.both.;;.`g
8f20 76 2d 64 65 66 69 6e 65 2d 73 65 74 74 65 72 27 20 61 6e 64 20 60 64 65 66 73 65 74 66 27 20 69 v-define-setter'.and.`defsetf'.i
8f40 6e 20 63 65 72 74 61 69 6e 20 45 6d 61 63 73 20 76 65 72 73 69 6f 6e 73 2e 0a 28 77 69 74 68 2d n.certain.Emacs.versions..(with-
8f60 6e 6f 2d 77 61 72 6e 69 6e 67 73 0a 20 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 67 76 2d 64 no-warnings...(if.(fboundp.'gv-d
8f80 65 66 69 6e 65 2d 73 65 74 74 65 72 29 0a 20 20 20 20 20 20 28 67 76 2d 64 65 66 69 6e 65 2d 73 efine-setter).......(gv-define-s
8fa0 65 74 74 65 72 20 2d 6c 61 73 74 2d 69 74 65 6d 20 28 76 61 6c 20 78 29 20 60 28 73 65 74 63 61 etter.-last-item.(val.x).`(setca
8fc0 72 20 28 6c 61 73 74 20 2c 78 29 20 2c 76 61 6c 29 29 0a 20 20 20 20 28 64 65 66 73 65 74 66 20 r.(last.,x).,val)).....(defsetf.
8fe0 2d 6c 61 73 74 2d 69 74 65 6d 20 28 78 29 20 28 76 61 6c 29 20 60 28 73 65 74 63 61 72 20 28 6c -last-item.(x).(val).`(setcar.(l
9000 61 73 74 20 2c 78 29 20 2c 76 61 6c 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 62 75 74 6c 61 73 ast.,x).,val))))..(defun.-butlas
9020 74 20 28 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 61 6c 6c t.(list)..."Return.a.list.of.all
9040 20 69 74 65 6d 73 20 69 6e 20 6c 69 73 74 20 65 78 63 65 70 74 20 66 6f 72 20 74 68 65 20 6c 61 .items.in.list.except.for.the.la
9060 73 74 2e 22 0a 20 20 3b 3b 20 6e 6f 20 61 6c 69 61 73 20 61 73 20 77 65 20 64 6f 6e 27 74 20 77 st."...;;.no.alias.as.we.don't.w
9080 61 6e 74 20 6d 61 67 69 63 20 6f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 0a 20 20 28 64 ant.magic.optional.argument...(d
90a0 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 eclare.(pure.t).(side-effect-fre
90c0 65 20 74 29 29 0a 20 20 28 62 75 74 6c 61 73 74 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 6d 61 63 e.t))...(butlast.list))..(defmac
90e0 72 6f 20 2d 2d 63 6f 75 6e 74 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 22 41 6e 61 70 68 6f ro.--count.(pred.list)..."Anapho
9100 72 69 63 20 66 6f 72 6d 20 6f 66 20 60 2d 63 6f 75 6e 74 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 ric.form.of.`-count'."...(declar
9120 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 28 6c 65 74 20 28 28 e.(debug.(form.form)))...(let.((
9140 72 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 72 65 73 75 6c 74 22 29 29 29 0a 20 20 20 20 60 r.(make-symbol."result"))).....`
9160 28 6c 65 74 20 28 28 2c 72 20 30 29 29 0a 20 20 20 20 20 20 20 28 2d 2d 65 61 63 68 20 2c 6c 69 (let.((,r.0))........(--each.,li
9180 73 74 20 28 77 68 65 6e 20 2c 70 72 65 64 20 28 73 65 74 71 20 2c 72 20 28 31 2b 20 2c 72 29 29 st.(when.,pred.(setq.,r.(1+.,r))
91a0 29 29 0a 20 20 20 20 20 20 20 2c 72 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 63 6f 75 6e 74 20 28 ))........,r)))..(defun.-count.(
91c0 70 72 65 64 20 6c 69 73 74 29 0a 20 20 22 43 6f 75 6e 74 73 20 74 68 65 20 6e 75 6d 62 65 72 20 pred.list)..."Counts.the.number.
91e0 6f 66 20 69 74 65 6d 73 20 69 6e 20 4c 49 53 54 20 77 68 65 72 65 20 28 50 52 45 44 20 69 74 65 of.items.in.LIST.where.(PRED.ite
9200 6d 29 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2e 22 0a 20 20 28 2d 2d 63 6f 75 6e 74 20 28 66 75 6e 63 m).is.non-nil."...(--count.(func
9220 61 6c 6c 20 70 72 65 64 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 2d 2d 74 all.pred.it).list))..(defun.---t
9240 72 75 74 68 79 3f 20 28 6f 62 6a 29 0a 20 20 22 52 65 74 75 72 6e 20 4f 42 4a 20 61 73 20 61 20 ruthy?.(obj)..."Return.OBJ.as.a.
9260 62 6f 6f 6c 65 61 6e 20 76 61 6c 75 65 20 28 74 20 6f 72 20 6e 69 6c 29 2e 22 0a 20 20 28 64 65 boolean.value.(t.or.nil)."...(de
9280 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 clare.(pure.t).(side-effect-free
92a0 20 74 29 29 0a 20 20 28 61 6e 64 20 6f 62 6a 20 74 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d .t))...(and.obj.t))..(defmacro.-
92c0 2d 61 6e 79 3f 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 20 66 -any?.(form.list)..."Anaphoric.f
92e0 6f 72 6d 20 6f 66 20 60 2d 61 6e 79 3f 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 orm.of.`-any?'."...(declare.(deb
9300 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 60 28 61 6e 64 20 28 2d 2d 73 6f 6d 65 ug.(form.form)))...`(and.(--some
9320 20 2c 66 6f 72 6d 20 2c 6c 69 73 74 29 20 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 61 6e 79 3f 20 .,form.,list).t))..(defun.-any?.
9340 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 74 20 69 66 20 28 50 52 45 44 (pred.list)..."Return.t.if.(PRED
9360 20 78 29 20 69 73 20 6e 6f 6e 2d 6e 69 6c 20 66 6f 72 20 61 6e 79 20 78 20 69 6e 20 4c 49 53 54 .x).is.non-nil.for.any.x.in.LIST
9380 2c 20 65 6c 73 65 20 6e 69 6c 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 61 6e 79 2d 70 27 2c 20 60 2d ,.else.nil...Alias:.`-any-p',.`-
93a0 73 6f 6d 65 3f 27 2c 20 60 2d 73 6f 6d 65 2d 70 27 22 0a 20 20 28 2d 2d 61 6e 79 3f 20 28 66 75 some?',.`-some-p'"...(--any?.(fu
93c0 6e 63 61 6c 6c 20 70 72 65 64 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 ncall.pred.it).list))..(defalias
93e0 20 27 2d 73 6f 6d 65 3f 20 27 2d 61 6e 79 3f 29 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 2d 73 6f .'-some?.'-any?).(defalias.'--so
9400 6d 65 3f 20 27 2d 2d 61 6e 79 3f 29 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 61 6e 79 2d 70 20 27 me?.'--any?).(defalias.'-any-p.'
9420 2d 61 6e 79 3f 29 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 2d 61 6e 79 2d 70 20 27 2d 2d 61 6e 79 -any?).(defalias.'--any-p.'--any
9440 3f 29 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 73 6f 6d 65 2d 70 20 27 2d 61 6e 79 3f 29 0a 28 64 ?).(defalias.'-some-p.'-any?).(d
9460 65 66 61 6c 69 61 73 20 27 2d 2d 73 6f 6d 65 2d 70 20 27 2d 2d 61 6e 79 3f 29 0a 0a 28 64 65 66 efalias.'--some-p.'--any?)..(def
9480 6d 61 63 72 6f 20 2d 2d 61 6c 6c 3f 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 macro.--all?.(form.list)..."Retu
94a0 72 6e 20 74 20 69 66 20 46 4f 52 4d 20 65 76 61 6c 73 20 74 6f 20 6e 6f 6e 2d 6e 69 6c 20 66 6f rn.t.if.FORM.evals.to.non-nil.fo
94c0 72 20 61 6c 6c 20 69 74 65 6d 73 20 69 6e 20 4c 49 53 54 2e 0a 4f 74 68 65 72 77 69 73 65 2c 20 r.all.items.in.LIST..Otherwise,.
94e0 6f 6e 63 65 20 61 6e 20 69 74 65 6d 20 69 73 20 72 65 61 63 68 65 64 20 66 6f 72 20 77 68 69 63 once.an.item.is.reached.for.whic
9500 68 20 46 4f 52 4d 20 79 69 65 6c 64 73 20 6e 69 6c 2c 0a 72 65 74 75 72 6e 20 6e 69 6c 20 77 69 h.FORM.yields.nil,.return.nil.wi
9520 74 68 6f 75 74 20 65 76 61 6c 75 61 74 69 6e 67 20 46 4f 52 4d 20 66 6f 72 20 61 6e 79 20 66 75 thout.evaluating.FORM.for.any.fu
9540 72 74 68 65 72 20 4c 49 53 54 20 65 6c 65 6d 65 6e 74 73 2e 0a 45 61 63 68 20 65 6c 65 6d 65 6e rther.LIST.elements..Each.elemen
9560 74 20 6f 66 20 4c 49 53 54 20 69 6e 20 74 75 72 6e 20 69 73 20 62 6f 75 6e 64 20 74 6f 20 60 69 t.of.LIST.in.turn.is.bound.to.`i
9580 74 27 20 61 6e 64 20 69 74 73 20 69 6e 64 65 78 0a 77 69 74 68 69 6e 20 4c 49 53 54 20 74 6f 20 t'.and.its.index.within.LIST.to.
95a0 60 69 74 2d 69 6e 64 65 78 27 20 62 65 66 6f 72 65 20 65 76 61 6c 75 61 74 69 6e 67 20 46 4f 52 `it-index'.before.evaluating.FOR
95c0 4d 2e 0a 0a 54 68 65 20 73 69 6d 69 6c 61 72 20 6d 61 63 72 6f 20 60 2d 2d 65 76 65 72 79 27 20 M...The.similar.macro.`--every'.
95e0 69 73 20 6d 6f 72 65 20 77 69 64 65 6c 79 20 75 73 65 66 75 6c 2c 20 73 69 6e 63 65 20 69 74 0a is.more.widely.useful,.since.it.
9600 72 65 74 75 72 6e 73 20 74 68 65 20 6c 61 73 74 20 6e 6f 6e 2d 6e 69 6c 20 72 65 73 75 6c 74 20 returns.the.last.non-nil.result.
9620 6f 66 20 46 4f 52 4d 20 69 6e 73 74 65 61 64 20 6f 66 20 6a 75 73 74 20 74 20 6f 6e 0a 73 75 63 of.FORM.instead.of.just.t.on.suc
9640 63 65 73 73 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 2d 61 6c 6c 2d 70 27 2c 20 60 2d 2d 65 76 65 72 cess...Alias:.`--all-p',.`--ever
9660 79 2d 70 27 2c 20 60 2d 2d 65 76 65 72 79 3f 27 2e 0a 0a 54 68 69 73 20 69 73 20 74 68 65 20 61 y-p',.`--every?'...This.is.the.a
9680 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 74 6f 20 60 2d 61 6c 6c 3f 27 2e naphoric.counterpart.to.`-all?'.
96a0 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 29 29 "...(declare.(debug.(form.form))
96c0 29 0a 20 20 60 28 61 6e 64 20 28 2d 2d 65 76 65 72 79 20 2c 66 6f 72 6d 20 2c 6c 69 73 74 29 20 )...`(and.(--every.,form.,list).
96e0 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 61 6c 6c 3f 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 t))..(defun.-all?.(pred.list)...
9700 22 52 65 74 75 72 6e 20 74 20 69 66 20 28 50 52 45 44 20 58 29 20 69 73 20 6e 6f 6e 2d 6e 69 6c "Return.t.if.(PRED.X).is.non-nil
9720 20 66 6f 72 20 61 6c 6c 20 58 20 69 6e 20 4c 49 53 54 2c 20 65 6c 73 65 20 6e 69 6c 2e 0a 49 6e .for.all.X.in.LIST,.else.nil..In
9740 20 74 68 65 20 6c 61 74 74 65 72 20 63 61 73 65 2c 20 73 74 6f 70 20 61 66 74 65 72 20 74 68 65 .the.latter.case,.stop.after.the
9760 20 66 69 72 73 74 20 58 20 66 6f 72 20 77 68 69 63 68 20 28 50 52 45 44 20 58 29 20 69 73 0a 6e .first.X.for.which.(PRED.X).is.n
9780 69 6c 2c 20 77 69 74 68 6f 75 74 20 63 61 6c 6c 69 6e 67 20 50 52 45 44 20 6f 6e 20 61 6e 79 20 il,.without.calling.PRED.on.any.
97a0 73 75 62 73 65 71 75 65 6e 74 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 4c 49 53 54 2e 0a 0a 54 68 subsequent.elements.of.LIST...Th
97c0 65 20 73 69 6d 69 6c 61 72 20 66 75 6e 63 74 69 6f 6e 20 60 2d 65 76 65 72 79 27 20 69 73 20 6d e.similar.function.`-every'.is.m
97e0 6f 72 65 20 77 69 64 65 6c 79 20 75 73 65 66 75 6c 2c 20 73 69 6e 63 65 20 69 74 0a 72 65 74 75 ore.widely.useful,.since.it.retu
9800 72 6e 73 20 74 68 65 20 6c 61 73 74 20 6e 6f 6e 2d 6e 69 6c 20 72 65 73 75 6c 74 20 6f 66 20 50 rns.the.last.non-nil.result.of.P
9820 52 45 44 20 69 6e 73 74 65 61 64 20 6f 66 20 6a 75 73 74 20 74 20 6f 6e 0a 73 75 63 63 65 73 73 RED.instead.of.just.t.on.success
9840 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 61 6c 6c 2d 70 27 2c 20 60 2d 65 76 65 72 79 2d 70 27 2c 20 ...Alias:.`-all-p',.`-every-p',.
9860 60 2d 65 76 65 72 79 3f 27 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 `-every?'...This.function's.anap
9880 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 61 6c 6c 3f 27 2e 22 0a horic.counterpart.is.`--all?'.".
98a0 20 20 28 2d 2d 61 6c 6c 3f 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 69 74 29 20 6c 69 73 74 ..(--all?.(funcall.pred.it).list
98c0 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 65 76 65 72 79 3f 20 27 2d 61 6c 6c 3f 29 0a 28 ))..(defalias.'-every?.'-all?).(
98e0 64 65 66 61 6c 69 61 73 20 27 2d 2d 65 76 65 72 79 3f 20 27 2d 2d 61 6c 6c 3f 29 0a 28 64 65 66 defalias.'--every?.'--all?).(def
9900 61 6c 69 61 73 20 27 2d 61 6c 6c 2d 70 20 27 2d 61 6c 6c 3f 29 0a 28 64 65 66 61 6c 69 61 73 20 alias.'-all-p.'-all?).(defalias.
9920 27 2d 2d 61 6c 6c 2d 70 20 27 2d 2d 61 6c 6c 3f 29 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 65 76 '--all-p.'--all?).(defalias.'-ev
9940 65 72 79 2d 70 20 27 2d 61 6c 6c 3f 29 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 2d 65 76 65 72 79 ery-p.'-all?).(defalias.'--every
9960 2d 70 20 27 2d 2d 61 6c 6c 3f 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 6e 6f 6e 65 3f 20 28 -p.'--all?)..(defmacro.--none?.(
9980 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 20 66 6f 72 6d 20 6f 66 20 form.list)..."Anaphoric.form.of.
99a0 60 2d 6e 6f 6e 65 3f 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f `-none?'."...(declare.(debug.(fo
99c0 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 60 28 2d 2d 61 6c 6c 3f 20 28 6e 6f 74 20 2c 66 6f 72 6d rm.form)))...`(--all?.(not.,form
99e0 29 20 2c 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 6e 6f 6e 65 3f 20 28 70 72 65 64 20 6c ).,list))..(defun.-none?.(pred.l
9a00 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 74 20 69 66 20 28 50 52 45 44 20 78 29 20 69 73 20 ist)..."Return.t.if.(PRED.x).is.
9a20 6e 69 6c 20 66 6f 72 20 61 6c 6c 20 78 20 69 6e 20 4c 49 53 54 2c 20 65 6c 73 65 20 6e 69 6c 2e nil.for.all.x.in.LIST,.else.nil.
9a40 0a 0a 41 6c 69 61 73 3a 20 60 2d 6e 6f 6e 65 2d 70 27 22 0a 20 20 28 2d 2d 6e 6f 6e 65 3f 20 28 ..Alias:.`-none-p'"...(--none?.(
9a60 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 61 6c 69 funcall.pred.it).list))..(defali
9a80 61 73 20 27 2d 6e 6f 6e 65 2d 70 20 27 2d 6e 6f 6e 65 3f 29 0a 28 64 65 66 61 6c 69 61 73 20 27 as.'-none-p.'-none?).(defalias.'
9aa0 2d 2d 6e 6f 6e 65 2d 70 20 27 2d 2d 6e 6f 6e 65 3f 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d --none-p.'--none?)..(defmacro.--
9ac0 6f 6e 6c 79 2d 73 6f 6d 65 3f 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 41 6e 61 70 68 6f only-some?.(form.list)..."Anapho
9ae0 72 69 63 20 66 6f 72 6d 20 6f 66 20 60 2d 6f 6e 6c 79 2d 73 6f 6d 65 3f 27 2e 22 0a 20 20 28 64 ric.form.of.`-only-some?'."...(d
9b00 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 28 6c eclare.(debug.(form.form)))...(l
9b20 65 74 20 28 28 79 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 79 65 73 22 29 29 0a 20 20 20 20 et.((y.(make-symbol."yes")).....
9b40 20 20 20 20 28 6e 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 6e 6f 22 29 29 29 0a 20 20 20 20 ....(n.(make-symbol."no"))).....
9b60 60 28 6c 65 74 20 28 2c 79 20 2c 6e 29 0a 20 20 20 20 20 20 20 28 2d 2d 65 61 63 68 2d 77 68 69 `(let.(,y.,n)........(--each-whi
9b80 6c 65 20 2c 6c 69 73 74 20 28 6e 6f 74 20 28 61 6e 64 20 2c 79 20 2c 6e 29 29 0a 20 20 20 20 20 le.,list.(not.(and.,y.,n))......
9ba0 20 20 20 20 28 69 66 20 2c 66 6f 72 6d 20 28 73 65 74 71 20 2c 79 20 74 29 20 28 73 65 74 71 20 ....(if.,form.(setq.,y.t).(setq.
9bc0 2c 6e 20 74 29 29 29 0a 20 20 20 20 20 20 20 28 2d 2d 2d 74 72 75 74 68 79 3f 20 28 61 6e 64 20 ,n.t)))........(---truthy?.(and.
9be0 2c 79 20 2c 6e 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 6f 6e 6c 79 2d 73 6f 6d 65 3f 20 28 ,y.,n)))))..(defun.-only-some?.(
9c00 70 72 65 64 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 60 74 60 20 69 66 20 61 74 20 6c pred.list)..."Return.`t`.if.at.l
9c20 65 61 73 74 20 6f 6e 65 20 69 74 65 6d 20 6f 66 20 4c 49 53 54 20 6d 61 74 63 68 65 73 20 50 52 east.one.item.of.LIST.matches.PR
9c40 45 44 20 61 6e 64 20 61 74 20 6c 65 61 73 74 20 6f 6e 65 20 69 74 65 6d 20 6f 66 20 4c 49 53 54 ED.and.at.least.one.item.of.LIST
9c60 20 64 6f 65 73 20 6e 6f 74 20 6d 61 74 63 68 20 50 52 45 44 2e 0a 52 65 74 75 72 6e 20 60 6e 69 .does.not.match.PRED..Return.`ni
9c80 6c 60 20 62 6f 74 68 20 69 66 20 61 6c 6c 20 69 74 65 6d 73 20 6d 61 74 63 68 20 74 68 65 20 70 l`.both.if.all.items.match.the.p
9ca0 72 65 64 69 63 61 74 65 20 6f 72 20 69 66 20 6e 6f 6e 65 20 6f 66 20 74 68 65 20 69 74 65 6d 73 redicate.or.if.none.of.the.items
9cc0 20 6d 61 74 63 68 20 74 68 65 20 70 72 65 64 69 63 61 74 65 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d .match.the.predicate...Alias:.`-
9ce0 6f 6e 6c 79 2d 73 6f 6d 65 2d 70 27 22 0a 20 20 28 2d 2d 6f 6e 6c 79 2d 73 6f 6d 65 3f 20 28 66 only-some-p'"...(--only-some?.(f
9d00 75 6e 63 61 6c 6c 20 70 72 65 64 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 61 6c 69 61 uncall.pred.it).list))..(defalia
9d20 73 20 27 2d 6f 6e 6c 79 2d 73 6f 6d 65 2d 70 20 27 2d 6f 6e 6c 79 2d 73 6f 6d 65 3f 29 0a 28 64 s.'-only-some-p.'-only-some?).(d
9d40 65 66 61 6c 69 61 73 20 27 2d 2d 6f 6e 6c 79 2d 73 6f 6d 65 2d 70 20 27 2d 2d 6f 6e 6c 79 2d 73 efalias.'--only-some-p.'--only-s
9d60 6f 6d 65 3f 29 0a 0a 28 64 65 66 75 6e 20 2d 73 6c 69 63 65 20 28 6c 69 73 74 20 66 72 6f 6d 20 ome?)..(defun.-slice.(list.from.
9d80 26 6f 70 74 69 6f 6e 61 6c 20 74 6f 20 73 74 65 70 29 0a 20 20 22 52 65 74 75 72 6e 20 63 6f 70 &optional.to.step)..."Return.cop
9da0 79 20 6f 66 20 4c 49 53 54 2c 20 73 74 61 72 74 69 6e 67 20 66 72 6f 6d 20 69 6e 64 65 78 20 46 y.of.LIST,.starting.from.index.F
9dc0 52 4f 4d 20 74 6f 20 69 6e 64 65 78 20 54 4f 2e 0a 0a 46 52 4f 4d 20 6f 72 20 54 4f 20 6d 61 79 ROM.to.index.TO...FROM.or.TO.may
9de0 20 62 65 20 6e 65 67 61 74 69 76 65 2e 20 20 54 68 65 73 65 20 76 61 6c 75 65 73 20 61 72 65 20 .be.negative...These.values.are.
9e00 74 68 65 6e 20 69 6e 74 65 72 70 72 65 74 65 64 0a 6d 6f 64 75 6c 6f 20 74 68 65 20 6c 65 6e 67 then.interpreted.modulo.the.leng
9e20 74 68 20 6f 66 20 74 68 65 20 6c 69 73 74 2e 0a 0a 49 66 20 53 54 45 50 20 69 73 20 61 20 6e 75 th.of.the.list...If.STEP.is.a.nu
9e40 6d 62 65 72 2c 20 6f 6e 6c 79 20 65 61 63 68 20 53 54 45 50 74 68 20 69 74 65 6d 20 69 6e 20 74 mber,.only.each.STEPth.item.in.t
9e60 68 65 20 72 65 73 75 6c 74 69 6e 67 0a 73 65 63 74 69 6f 6e 20 69 73 20 72 65 74 75 72 6e 65 64 he.resulting.section.is.returned
9e80 2e 20 20 44 65 66 61 75 6c 74 73 20 74 6f 20 31 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 ...Defaults.to.1."...(declare.(p
9ea0 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 ure.t).(side-effect-free.t))...(
9ec0 6c 65 74 20 28 28 6c 65 6e 67 74 68 20 28 6c 65 6e 67 74 68 20 6c 69 73 74 29 29 0a 20 20 20 20 let.((length.(length.list)).....
9ee0 20 20 20 20 28 6e 65 77 2d 6c 69 73 74 20 6e 69 6c 29 29 0a 20 20 20 20 3b 3b 20 74 6f 20 64 65 ....(new-list.nil)).....;;.to.de
9f00 66 61 75 6c 74 73 20 74 6f 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 6c 69 73 74 0a 20 20 faults.to.the.end.of.the.list...
9f20 20 20 28 73 65 74 71 20 74 6f 20 28 6f 72 20 74 6f 20 6c 65 6e 67 74 68 29 29 0a 20 20 20 20 28 ..(setq.to.(or.to.length)).....(
9f40 73 65 74 71 20 73 74 65 70 20 28 6f 72 20 73 74 65 70 20 31 29 29 0a 20 20 20 20 3b 3b 20 68 61 setq.step.(or.step.1)).....;;.ha
9f60 6e 64 6c 65 20 6e 65 67 61 74 69 76 65 20 69 6e 64 69 63 65 73 0a 20 20 20 20 28 77 68 65 6e 20 ndle.negative.indices.....(when.
9f80 28 3c 20 66 72 6f 6d 20 30 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 66 72 6f 6d 20 28 6d 6f 64 (<.from.0).......(setq.from.(mod
9fa0 20 66 72 6f 6d 20 6c 65 6e 67 74 68 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 3c 20 74 6f 20 .from.length))).....(when.(<.to.
9fc0 30 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 74 6f 20 28 6d 6f 64 20 74 6f 20 6c 65 6e 67 74 68 0).......(setq.to.(mod.to.length
9fe0 29 29 29 0a 0a 20 20 20 20 3b 3b 20 69 74 65 72 61 74 65 20 74 68 72 6f 75 67 68 20 74 68 65 20 )))......;;.iterate.through.the.
a000 6c 69 73 74 2c 20 6b 65 65 70 69 6e 67 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 77 65 20 77 61 list,.keeping.the.elements.we.wa
a020 6e 74 0a 20 20 20 20 28 2d 2d 65 61 63 68 2d 77 68 69 6c 65 20 6c 69 73 74 20 28 3c 20 69 74 2d nt.....(--each-while.list.(<.it-
a040 69 6e 64 65 78 20 74 6f 29 0a 20 20 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 20 28 3e 3d 20 69 index.to).......(when.(and.(>=.i
a060 74 2d 69 6e 64 65 78 20 66 72 6f 6d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 t-index.from)..................(
a080 3d 20 28 6d 6f 64 20 28 2d 20 66 72 6f 6d 20 69 74 2d 69 6e 64 65 78 29 20 73 74 65 70 29 20 30 =.(mod.(-.from.it-index).step).0
a0a0 29 29 0a 20 20 20 20 20 20 20 20 28 70 75 73 68 20 69 74 20 6e 65 77 2d 6c 69 73 74 29 29 29 0a )).........(push.it.new-list))).
a0c0 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 6e 65 77 2d 6c 69 73 74 29 29 29 0a 0a 28 64 65 66 6d ....(nreverse.new-list)))..(defm
a0e0 61 63 72 6f 20 2d 2d 74 61 6b 65 2d 77 68 69 6c 65 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 acro.--take-while.(form.list)...
a100 22 54 61 6b 65 20 73 75 63 63 65 73 73 69 76 65 20 69 74 65 6d 73 20 66 72 6f 6d 20 4c 49 53 54 "Take.successive.items.from.LIST
a120 20 66 6f 72 20 77 68 69 63 68 20 46 4f 52 4d 20 65 76 61 6c 73 20 74 6f 20 6e 6f 6e 2d 6e 69 6c .for.which.FORM.evals.to.non-nil
a140 2e 0a 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 20 69 6e 20 74 75 72 6e 20 69 ..Each.element.of.LIST.in.turn.i
a160 73 20 62 6f 75 6e 64 20 74 6f 20 60 69 74 27 20 61 6e 64 20 69 74 73 20 69 6e 64 65 78 0a 77 69 s.bound.to.`it'.and.its.index.wi
a180 74 68 69 6e 20 4c 49 53 54 20 74 6f 20 60 69 74 2d 69 6e 64 65 78 27 20 62 65 66 6f 72 65 20 65 thin.LIST.to.`it-index'.before.e
a1a0 76 61 6c 75 61 74 69 6e 67 20 46 4f 52 4d 2e 20 20 52 65 74 75 72 6e 20 61 20 6e 65 77 0a 6c 69 valuating.FORM...Return.a.new.li
a1c0 73 74 20 6f 66 20 74 68 65 20 73 75 63 63 65 73 73 69 76 65 20 65 6c 65 6d 65 6e 74 73 20 66 72 st.of.the.successive.elements.fr
a1e0 6f 6d 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 4c 49 53 54 20 66 6f 72 20 77 68 69 63 68 0a 46 om.the.start.of.LIST.for.which.F
a200 4f 52 4d 20 65 76 61 6c 75 61 74 65 73 20 74 6f 20 6e 6f 6e 2d 6e 69 6c 2e 0a 54 68 69 73 20 69 ORM.evaluates.to.non-nil..This.i
a220 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 74 6f 20 60 s.the.anaphoric.counterpart.to.`
a240 2d 74 61 6b 65 2d 77 68 69 6c 65 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 -take-while'."...(declare.(debug
a260 20 28 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 28 6c 65 74 20 28 28 72 20 28 6d 61 6b 65 2d .(form.form)))...(let.((r.(make-
a280 73 79 6d 62 6f 6c 20 22 72 65 73 75 6c 74 22 29 29 29 0a 20 20 20 20 60 28 6c 65 74 20 28 2c 72 symbol."result"))).....`(let.(,r
a2a0 29 0a 20 20 20 20 20 20 20 28 2d 2d 65 61 63 68 2d 77 68 69 6c 65 20 2c 6c 69 73 74 20 2c 66 6f )........(--each-while.,list.,fo
a2c0 72 6d 20 28 70 75 73 68 20 69 74 20 2c 72 29 29 0a 20 20 20 20 20 20 20 28 6e 72 65 76 65 72 73 rm.(push.it.,r))........(nrevers
a2e0 65 20 2c 72 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 74 61 6b 65 2d 77 68 69 6c 65 20 28 70 72 e.,r))))..(defun.-take-while.(pr
a300 65 64 20 6c 69 73 74 29 0a 20 20 22 54 61 6b 65 20 73 75 63 63 65 73 73 69 76 65 20 69 74 65 6d ed.list)..."Take.successive.item
a320 73 20 66 72 6f 6d 20 4c 49 53 54 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 44 20 72 65 74 75 72 s.from.LIST.for.which.PRED.retur
a340 6e 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 50 52 45 44 20 69 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 6f ns.non-nil..PRED.is.a.function.o
a360 66 20 6f 6e 65 20 61 72 67 75 6d 65 6e 74 2e 20 20 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 f.one.argument...Return.a.new.li
a380 73 74 20 6f 66 20 74 68 65 0a 73 75 63 63 65 73 73 69 76 65 20 65 6c 65 6d 65 6e 74 73 20 66 72 st.of.the.successive.elements.fr
a3a0 6f 6d 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 4c 49 53 54 20 66 6f 72 20 77 68 69 63 68 20 50 om.the.start.of.LIST.for.which.P
a3c0 52 45 44 20 72 65 74 75 72 6e 73 0a 6e 6f 6e 2d 6e 69 6c 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 RED.returns.non-nil...This.funct
a3e0 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 ion's.anaphoric.counterpart.is.`
a400 2d 2d 74 61 6b 65 2d 77 68 69 6c 65 27 2e 0a 0a 46 6f 72 20 61 6e 6f 74 68 65 72 20 76 61 72 69 --take-while'...For.another.vari
a420 61 6e 74 2c 20 73 65 65 20 61 6c 73 6f 20 60 2d 64 72 6f 70 2d 77 68 69 6c 65 27 2e 22 0a 20 20 ant,.see.also.`-drop-while'."...
a440 28 2d 2d 74 61 6b 65 2d 77 68 69 6c 65 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 69 74 29 20 (--take-while.(funcall.pred.it).
a460 6c 69 73 74 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 64 72 6f 70 2d 77 68 69 6c 65 20 28 list))..(defmacro.--drop-while.(
a480 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 44 72 6f 70 20 73 75 63 63 65 73 73 69 76 65 20 69 74 form.list)..."Drop.successive.it
a4a0 65 6d 73 20 66 72 6f 6d 20 4c 49 53 54 20 66 6f 72 20 77 68 69 63 68 20 46 4f 52 4d 20 65 76 61 ems.from.LIST.for.which.FORM.eva
a4c0 6c 73 20 74 6f 20 6e 6f 6e 2d 6e 69 6c 2e 0a 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c ls.to.non-nil..Each.element.of.L
a4e0 49 53 54 20 69 6e 20 74 75 72 6e 20 69 73 20 62 6f 75 6e 64 20 74 6f 20 60 69 74 27 20 61 6e 64 IST.in.turn.is.bound.to.`it'.and
a500 20 69 74 73 20 69 6e 64 65 78 0a 77 69 74 68 69 6e 20 4c 49 53 54 20 74 6f 20 60 69 74 2d 69 6e .its.index.within.LIST.to.`it-in
a520 64 65 78 27 20 62 65 66 6f 72 65 20 65 76 61 6c 75 61 74 69 6e 67 20 46 4f 52 4d 2e 20 20 52 65 dex'.before.evaluating.FORM...Re
a540 74 75 72 6e 20 74 68 65 0a 74 61 69 6c 20 28 6e 6f 74 20 61 20 63 6f 70 79 29 20 6f 66 20 4c 49 turn.the.tail.(not.a.copy).of.LI
a560 53 54 20 73 74 61 72 74 69 6e 67 20 66 72 6f 6d 20 69 74 73 20 66 69 72 73 74 20 65 6c 65 6d 65 ST.starting.from.its.first.eleme
a580 6e 74 20 66 6f 72 0a 77 68 69 63 68 20 46 4f 52 4d 20 65 76 61 6c 75 61 74 65 73 20 74 6f 20 6e nt.for.which.FORM.evaluates.to.n
a5a0 69 6c 2e 0a 54 68 69 73 20 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 il..This.is.the.anaphoric.counte
a5c0 72 70 61 72 74 20 74 6f 20 60 2d 64 72 6f 70 2d 77 68 69 6c 65 27 2e 22 0a 20 20 28 64 65 63 6c rpart.to.`-drop-while'."...(decl
a5e0 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 28 6c 65 74 20 are.(debug.(form.form)))...(let.
a600 28 28 6c 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 6c 69 73 74 22 29 29 29 0a 20 20 20 20 60 ((l.(make-symbol."list"))).....`
a620 28 6c 65 74 20 28 28 2c 6c 20 2c 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 28 2d 2d 65 61 63 68 (let.((,l.,list))........(--each
a640 2d 77 68 69 6c 65 20 2c 6c 20 2c 66 6f 72 6d 20 28 70 6f 70 20 2c 6c 29 29 0a 20 20 20 20 20 20 -while.,l.,form.(pop.,l)).......
a660 20 2c 6c 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 64 72 6f 70 2d 77 68 69 6c 65 20 28 70 72 65 64 .,l)))..(defun.-drop-while.(pred
a680 20 6c 69 73 74 29 0a 20 20 22 44 72 6f 70 20 73 75 63 63 65 73 73 69 76 65 20 69 74 65 6d 73 20 .list)..."Drop.successive.items.
a6a0 66 72 6f 6d 20 4c 49 53 54 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 44 20 72 65 74 75 72 6e 73 from.LIST.for.which.PRED.returns
a6c0 20 6e 6f 6e 2d 6e 69 6c 2e 0a 50 52 45 44 20 69 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 6f 66 20 .non-nil..PRED.is.a.function.of.
a6e0 6f 6e 65 20 61 72 67 75 6d 65 6e 74 2e 20 20 52 65 74 75 72 6e 20 74 68 65 20 74 61 69 6c 20 28 one.argument...Return.the.tail.(
a700 6e 6f 74 20 61 20 63 6f 70 79 29 0a 6f 66 20 4c 49 53 54 20 73 74 61 72 74 69 6e 67 20 66 72 6f not.a.copy).of.LIST.starting.fro
a720 6d 20 69 74 73 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 66 6f 72 20 77 68 69 63 68 20 50 52 m.its.first.element.for.which.PR
a740 45 44 20 72 65 74 75 72 6e 73 0a 6e 69 6c 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 ED.returns.nil...This.function's
a760 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 64 72 6f .anaphoric.counterpart.is.`--dro
a780 70 2d 77 68 69 6c 65 27 2e 0a 0a 46 6f 72 20 61 6e 6f 74 68 65 72 20 76 61 72 69 61 6e 74 2c 20 p-while'...For.another.variant,.
a7a0 73 65 65 20 61 6c 73 6f 20 60 2d 74 61 6b 65 2d 77 68 69 6c 65 27 2e 22 0a 20 20 28 2d 2d 64 72 see.also.`-take-while'."...(--dr
a7c0 6f 70 2d 77 68 69 6c 65 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 69 74 29 20 6c 69 73 74 29 op-while.(funcall.pred.it).list)
a7e0 29 0a 0a 28 64 65 66 75 6e 20 2d 74 61 6b 65 20 28 6e 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 )..(defun.-take.(n.list)..."Retu
a800 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 4e 20 69 74 65 6d 73 20 69 rn.a.copy.of.the.first.N.items.i
a820 6e 20 4c 49 53 54 2e 0a 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 4c 49 53 54 20 69 66 n.LIST..Return.a.copy.of.LIST.if
a840 20 69 74 20 63 6f 6e 74 61 69 6e 73 20 4e 20 69 74 65 6d 73 20 6f 72 20 66 65 77 65 72 2e 0a 52 .it.contains.N.items.or.fewer..R
a860 65 74 75 72 6e 20 6e 69 6c 20 69 66 20 4e 20 69 73 20 7a 65 72 6f 20 6f 72 20 6c 65 73 73 2e 0a eturn.nil.if.N.is.zero.or.less..
a880 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 74 61 6b 65 2d 6c 61 73 74 27 2e 22 0a 20 20 28 64 65 63 .See.also:.`-take-last'."...(dec
a8a0 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 lare.(pure.t).(side-effect-free.
a8c0 74 29 29 0a 20 20 28 2d 2d 74 61 6b 65 2d 77 68 69 6c 65 20 28 3c 20 69 74 2d 69 6e 64 65 78 20 t))...(--take-while.(<.it-index.
a8e0 6e 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 74 61 6b 65 2d 6c 61 73 74 20 28 6e 20 n).list))..(defun.-take-last.(n.
a900 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 6c 61 list)..."Return.a.copy.of.the.la
a920 73 74 20 4e 20 69 74 65 6d 73 20 6f 66 20 4c 49 53 54 20 69 6e 20 6f 72 64 65 72 2e 0a 52 65 74 st.N.items.of.LIST.in.order..Ret
a940 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 4c 49 53 54 20 69 66 20 69 74 20 63 6f 6e 74 61 69 6e urn.a.copy.of.LIST.if.it.contain
a960 73 20 4e 20 69 74 65 6d 73 20 6f 72 20 66 65 77 65 72 2e 0a 52 65 74 75 72 6e 20 6e 69 6c 20 69 s.N.items.or.fewer..Return.nil.i
a980 66 20 4e 20 69 73 20 7a 65 72 6f 20 6f 72 20 6c 65 73 73 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 f.N.is.zero.or.less...See.also:.
a9a0 60 2d 74 61 6b 65 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 `-take'."...(declare.(pure.t).(s
a9c0 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 63 6f 70 79 2d 73 65 71 75 ide-effect-free.t))...(copy-sequ
a9e0 65 6e 63 65 20 28 6c 61 73 74 20 6c 69 73 74 20 6e 29 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 ence.(last.list.n)))..(defalias.
aa00 27 2d 64 72 6f 70 20 23 27 6e 74 68 63 64 72 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 74 61 '-drop.#'nthcdr..."Return.the.ta
aa20 69 6c 20 28 6e 6f 74 20 61 20 63 6f 70 79 29 20 6f 66 20 4c 49 53 54 20 77 69 74 68 6f 75 74 20 il.(not.a.copy).of.LIST.without.
aa40 74 68 65 20 66 69 72 73 74 20 4e 20 69 74 65 6d 73 2e 0a 52 65 74 75 72 6e 20 6e 69 6c 20 69 66 the.first.N.items..Return.nil.if
aa60 20 4c 49 53 54 20 63 6f 6e 74 61 69 6e 73 20 4e 20 69 74 65 6d 73 20 6f 72 20 66 65 77 65 72 2e .LIST.contains.N.items.or.fewer.
aa80 0a 52 65 74 75 72 6e 20 4c 49 53 54 20 69 66 20 4e 20 69 73 20 7a 65 72 6f 20 6f 72 20 6c 65 73 .Return.LIST.if.N.is.zero.or.les
aaa0 73 2e 0a 0a 46 6f 72 20 61 6e 6f 74 68 65 72 20 76 61 72 69 61 6e 74 2c 20 73 65 65 20 61 6c 73 s...For.another.variant,.see.als
aac0 6f 20 60 2d 64 72 6f 70 2d 6c 61 73 74 27 2e 0a 5c 6e 28 66 6e 20 4e 20 4c 49 53 54 29 22 29 0a o.`-drop-last'..\n(fn.N.LIST)").
aae0 0a 28 64 65 66 75 6e 20 2d 64 72 6f 70 2d 6c 61 73 74 20 28 6e 20 6c 69 73 74 29 0a 20 20 22 52 .(defun.-drop-last.(n.list)..."R
ab00 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 4c 49 53 54 20 77 69 74 68 6f 75 74 20 69 74 73 eturn.a.copy.of.LIST.without.its
ab20 20 6c 61 73 74 20 4e 20 69 74 65 6d 73 2e 0a 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 .last.N.items..Return.a.copy.of.
ab40 4c 49 53 54 20 69 66 20 4e 20 69 73 20 7a 65 72 6f 20 6f 72 20 6c 65 73 73 2e 0a 52 65 74 75 72 LIST.if.N.is.zero.or.less..Retur
ab60 6e 20 6e 69 6c 20 69 66 20 4c 49 53 54 20 63 6f 6e 74 61 69 6e 73 20 4e 20 69 74 65 6d 73 20 6f n.nil.if.LIST.contains.N.items.o
ab80 72 20 66 65 77 65 72 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 64 72 6f 70 27 2e 22 0a 20 20 r.fewer...See.also:.`-drop'."...
aba0 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 (declare.(pure.t).(side-effect-f
abc0 72 65 65 20 74 29 29 0a 20 20 28 6e 62 75 74 6c 61 73 74 20 28 63 6f 70 79 2d 73 65 71 75 65 6e ree.t))...(nbutlast.(copy-sequen
abe0 63 65 20 6c 69 73 74 29 20 6e 29 29 0a 0a 28 64 65 66 75 6e 20 2d 73 70 6c 69 74 2d 61 74 20 28 ce.list).n))..(defun.-split-at.(
ac00 6e 20 6c 69 73 74 29 0a 20 20 22 53 70 6c 69 74 20 4c 49 53 54 20 69 6e 74 6f 20 74 77 6f 20 73 n.list)..."Split.LIST.into.two.s
ac20 75 62 6c 69 73 74 73 20 61 66 74 65 72 20 74 68 65 20 4e 74 68 20 65 6c 65 6d 65 6e 74 2e 0a 54 ublists.after.the.Nth.element..T
ac40 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 74 77 6f 20 65 6c 65 6d 65 he.result.is.a.list.of.two.eleme
ac60 6e 74 73 20 28 54 41 4b 45 20 44 52 4f 50 29 20 77 68 65 72 65 20 54 41 4b 45 20 69 73 20 61 0a nts.(TAKE.DROP).where.TAKE.is.a.
ac80 6e 65 77 20 6c 69 73 74 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 4e 20 65 6c 65 6d 65 6e 74 73 new.list.of.the.first.N.elements
aca0 20 6f 66 20 4c 49 53 54 2c 20 61 6e 64 20 44 52 4f 50 20 69 73 20 74 68 65 0a 72 65 6d 61 69 6e .of.LIST,.and.DROP.is.the.remain
acc0 69 6e 67 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 4c 49 53 54 20 28 6e 6f 74 20 61 20 63 6f 70 79 ing.elements.of.LIST.(not.a.copy
ace0 29 2e 20 20 54 41 4b 45 20 61 6e 64 20 44 52 4f 50 20 61 72 65 20 6c 69 6b 65 0a 74 68 65 20 72 )...TAKE.and.DROP.are.like.the.r
ad00 65 73 75 6c 74 73 20 6f 66 20 60 2d 74 61 6b 65 27 20 61 6e 64 20 60 2d 64 72 6f 70 27 2c 20 72 esults.of.`-take'.and.`-drop',.r
ad20 65 73 70 65 63 74 69 76 65 6c 79 2c 20 62 75 74 20 74 68 65 20 73 70 6c 69 74 0a 69 73 20 64 6f espectively,.but.the.split.is.do
ad40 6e 65 20 69 6e 20 61 20 73 69 6e 67 6c 65 20 6c 69 73 74 20 74 72 61 76 65 72 73 61 6c 2e 22 0a ne.in.a.single.list.traversal.".
ad60 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 ..(declare.(pure.t).(side-effect
ad80 2d 66 72 65 65 20 74 29 29 0a 20 20 28 6c 65 74 20 28 72 65 73 75 6c 74 29 0a 20 20 20 20 28 2d -free.t))...(let.(result).....(-
ada0 2d 65 61 63 68 2d 77 68 69 6c 65 20 6c 69 73 74 20 28 3c 20 69 74 2d 69 6e 64 65 78 20 6e 29 0a -each-while.list.(<.it-index.n).
adc0 20 20 20 20 20 20 28 70 75 73 68 20 28 70 6f 70 20 6c 69 73 74 29 20 72 65 73 75 6c 74 29 29 0a ......(push.(pop.list).result)).
ade0 20 20 20 20 28 6c 69 73 74 20 28 6e 72 65 76 65 72 73 65 20 72 65 73 75 6c 74 29 20 6c 69 73 74 ....(list.(nreverse.result).list
ae00 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 72 6f 74 61 74 65 20 28 6e 20 6c 69 73 74 29 0a 20 20 22 )))..(defun.-rotate.(n.list)..."
ae20 52 6f 74 61 74 65 20 4c 49 53 54 20 4e 20 70 6c 61 63 65 73 20 74 6f 20 74 68 65 20 72 69 67 68 Rotate.LIST.N.places.to.the.righ
ae40 74 20 28 6c 65 66 74 20 69 66 20 4e 20 69 73 20 6e 65 67 61 74 69 76 65 29 2e 0a 54 68 65 20 74 t.(left.if.N.is.negative)..The.t
ae60 69 6d 65 20 63 6f 6d 70 6c 65 78 69 74 79 20 69 73 20 4f 28 6e 29 2e 22 0a 20 20 28 64 65 63 6c ime.complexity.is.O(n)."...(decl
ae80 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 are.(pure.t).(side-effect-free.t
aea0 29 29 0a 20 20 28 63 6f 6e 64 20 28 28 6e 75 6c 6c 20 6c 69 73 74 29 20 28 29 29 0a 20 20 20 20 ))...(cond.((null.list).()).....
aec0 20 20 20 20 28 28 7a 65 72 6f 70 20 6e 29 20 28 63 6f 70 79 2d 73 65 71 75 65 6e 63 65 20 6c 69 ....((zerop.n).(copy-sequence.li
aee0 73 74 29 29 0a 20 20 20 20 20 20 20 20 28 28 6c 65 74 2a 20 28 28 6c 65 6e 20 28 6c 65 6e 67 74 st)).........((let*.((len.(lengt
af00 68 20 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 2d 6d 6f 64 2d h.list)).................(n-mod-
af20 6c 65 6e 20 28 6d 6f 64 20 6e 20 6c 65 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 len.(mod.n.len))................
af40 20 28 6e 65 77 2d 74 61 69 6c 2d 6c 65 6e 20 28 2d 20 6c 65 6e 20 6e 2d 6d 6f 64 2d 6c 65 6e 29 .(new-tail-len.(-.len.n-mod-len)
af60 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 61 70 70 65 6e 64 20 28 6e 74 68 63 64 72 20 6e 65 ))............(append.(nthcdr.ne
af80 77 2d 74 61 69 6c 2d 6c 65 6e 20 6c 69 73 74 29 20 28 2d 74 61 6b 65 20 6e 65 77 2d 74 61 69 6c w-tail-len.list).(-take.new-tail
afa0 2d 6c 65 6e 20 6c 69 73 74 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 69 6e 73 65 72 74 2d -len.list))))))..(defun.-insert-
afc0 61 74 20 28 6e 20 78 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 77 at.(n.x.list)..."Return.a.list.w
afe0 69 74 68 20 58 20 69 6e 73 65 72 74 65 64 20 69 6e 74 6f 20 4c 49 53 54 20 61 74 20 70 6f 73 69 ith.X.inserted.into.LIST.at.posi
b000 74 69 6f 6e 20 4e 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 73 70 6c 69 63 65 27 2c 20 60 2d tion.N...See.also:.`-splice',.`-
b020 73 70 6c 69 63 65 2d 6c 69 73 74 27 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 splice-list'"...(declare.(pure.t
b040 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 6c 65 74 20 28 ).(side-effect-free.t))...(let.(
b060 28 73 70 6c 69 74 2d 6c 69 73 74 20 28 2d 73 70 6c 69 74 2d 61 74 20 6e 20 6c 69 73 74 29 29 29 (split-list.(-split-at.n.list)))
b080 0a 20 20 20 20 28 6e 63 6f 6e 63 20 28 63 61 72 20 73 70 6c 69 74 2d 6c 69 73 74 29 20 28 63 6f .....(nconc.(car.split-list).(co
b0a0 6e 73 20 78 20 28 63 61 64 72 20 73 70 6c 69 74 2d 6c 69 73 74 29 29 29 29 29 0a 0a 28 64 65 66 ns.x.(cadr.split-list)))))..(def
b0c0 75 6e 20 2d 72 65 70 6c 61 63 65 2d 61 74 20 28 6e 20 78 20 6c 69 73 74 29 0a 20 20 22 52 65 74 un.-replace-at.(n.x.list)..."Ret
b0e0 75 72 6e 20 61 20 6c 69 73 74 20 77 69 74 68 20 65 6c 65 6d 65 6e 74 20 61 74 20 4e 74 68 20 70 urn.a.list.with.element.at.Nth.p
b100 6f 73 69 74 69 6f 6e 20 69 6e 20 4c 49 53 54 20 72 65 70 6c 61 63 65 64 20 77 69 74 68 20 58 2e osition.in.LIST.replaced.with.X.
b120 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 72 65 70 6c 61 63 65 27 22 0a 20 20 28 64 65 63 6c 61 ..See.also:.`-replace'"...(decla
b140 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 re.(pure.t).(side-effect-free.t)
b160 29 0a 20 20 28 6c 65 74 20 28 28 73 70 6c 69 74 2d 6c 69 73 74 20 28 2d 73 70 6c 69 74 2d 61 74 )...(let.((split-list.(-split-at
b180 20 6e 20 6c 69 73 74 29 29 29 0a 20 20 20 20 28 6e 63 6f 6e 63 20 28 63 61 72 20 73 70 6c 69 74 .n.list))).....(nconc.(car.split
b1a0 2d 6c 69 73 74 29 20 28 63 6f 6e 73 20 78 20 28 63 64 72 20 28 63 61 64 72 20 73 70 6c 69 74 2d -list).(cons.x.(cdr.(cadr.split-
b1c0 6c 69 73 74 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 75 70 64 61 74 65 2d 61 74 20 28 6e list))))))..(defun.-update-at.(n
b1e0 20 66 75 6e 63 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 77 69 74 .func.list)..."Return.a.list.wit
b200 68 20 65 6c 65 6d 65 6e 74 20 61 74 20 4e 74 68 20 70 6f 73 69 74 69 6f 6e 20 69 6e 20 4c 49 53 h.element.at.Nth.position.in.LIS
b220 54 20 72 65 70 6c 61 63 65 64 20 77 69 74 68 20 60 28 66 75 6e 63 20 28 6e 74 68 20 6e 20 6c 69 T.replaced.with.`(func.(nth.n.li
b240 73 74 29 29 60 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 6d 61 70 2d 77 68 65 6e 27 22 0a 20 st))`...See.also:.`-map-when'"..
b260 20 28 6c 65 74 20 28 28 73 70 6c 69 74 2d 6c 69 73 74 20 28 2d 73 70 6c 69 74 2d 61 74 20 6e 20 .(let.((split-list.(-split-at.n.
b280 6c 69 73 74 29 29 29 0a 20 20 20 20 28 6e 63 6f 6e 63 20 28 63 61 72 20 73 70 6c 69 74 2d 6c 69 list))).....(nconc.(car.split-li
b2a0 73 74 29 20 28 63 6f 6e 73 20 28 66 75 6e 63 61 6c 6c 20 66 75 6e 63 20 28 63 61 72 20 28 63 61 st).(cons.(funcall.func.(car.(ca
b2c0 64 72 20 73 70 6c 69 74 2d 6c 69 73 74 29 29 29 20 28 63 64 72 20 28 63 61 64 72 20 73 70 6c 69 dr.split-list))).(cdr.(cadr.spli
b2e0 74 2d 6c 69 73 74 29 29 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 75 70 64 61 74 65 t-list))))))..(defmacro.--update
b300 2d 61 74 20 28 6e 20 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 20 76 -at.(n.form.list)..."Anaphoric.v
b320 65 72 73 69 6f 6e 20 6f 66 20 60 2d 75 70 64 61 74 65 2d 61 74 27 2e 22 0a 20 20 28 64 65 63 6c ersion.of.`-update-at'."...(decl
b340 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 64 65 66 2d 66 6f 72 6d 20 66 6f 72 6d 29 29 are.(debug.(form.def-form.form))
b360 29 0a 20 20 60 28 2d 75 70 64 61 74 65 2d 61 74 20 2c 6e 20 28 6c 61 6d 62 64 61 20 28 69 74 29 )...`(-update-at.,n.(lambda.(it)
b380 20 2c 66 6f 72 6d 29 20 2c 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 72 65 6d 6f 76 65 2d .,form).,list))..(defun.-remove-
b3a0 61 74 20 28 6e 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 77 69 74 at.(n.list)..."Return.a.list.wit
b3c0 68 20 65 6c 65 6d 65 6e 74 20 61 74 20 4e 74 68 20 70 6f 73 69 74 69 6f 6e 20 69 6e 20 4c 49 53 h.element.at.Nth.position.in.LIS
b3e0 54 20 72 65 6d 6f 76 65 64 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 72 65 6d 6f 76 65 2d 61 T.removed...See.also:.`-remove-a
b400 74 2d 69 6e 64 69 63 65 73 27 2c 20 60 2d 72 65 6d 6f 76 65 27 22 0a 20 20 28 64 65 63 6c 61 72 t-indices',.`-remove'"...(declar
b420 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 e.(pure.t).(side-effect-free.t))
b440 0a 20 20 28 2d 72 65 6d 6f 76 65 2d 61 74 2d 69 6e 64 69 63 65 73 20 28 6c 69 73 74 20 6e 29 20 ...(-remove-at-indices.(list.n).
b460 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 72 65 6d 6f 76 65 2d 61 74 2d 69 6e 64 69 63 65 list))..(defun.-remove-at-indice
b480 73 20 28 69 6e 64 69 63 65 73 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 s.(indices.list)..."Return.a.lis
b4a0 74 20 77 68 6f 73 65 20 65 6c 65 6d 65 6e 74 73 20 61 72 65 20 65 6c 65 6d 65 6e 74 73 20 66 72 t.whose.elements.are.elements.fr
b4c0 6f 6d 20 4c 49 53 54 20 77 69 74 68 6f 75 74 0a 65 6c 65 6d 65 6e 74 73 20 73 65 6c 65 63 74 65 om.LIST.without.elements.selecte
b4e0 64 20 61 73 20 60 28 6e 74 68 20 69 20 6c 69 73 74 29 60 20 66 6f 72 20 61 6c 6c 20 69 0a 66 72 d.as.`(nth.i.list)`.for.all.i.fr
b500 6f 6d 20 49 4e 44 49 43 45 53 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 72 65 6d 6f 76 65 2d om.INDICES...See.also:.`-remove-
b520 61 74 27 2c 20 60 2d 72 65 6d 6f 76 65 27 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 at',.`-remove'"...(declare.(pure
b540 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 6c 65 74 .t).(side-effect-free.t))...(let
b560 2a 20 28 28 69 6e 64 69 63 65 73 20 28 2d 73 6f 72 74 20 27 3c 20 69 6e 64 69 63 65 73 29 29 0a *.((indices.(-sort.'<.indices)).
b580 20 20 20 20 20 20 20 20 20 28 64 69 66 66 73 20 28 63 6f 6e 73 20 28 63 61 72 20 69 6e 64 69 63 .........(diffs.(cons.(car.indic
b5a0 65 73 29 20 28 2d 6d 61 70 20 27 31 2d 20 28 2d 7a 69 70 2d 77 69 74 68 20 27 2d 20 28 63 64 72 es).(-map.'1-.(-zip-with.'-.(cdr
b5c0 20 69 6e 64 69 63 65 73 29 20 69 6e 64 69 63 65 73 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 72 .indices).indices))))..........r
b5e0 29 0a 20 20 20 20 28 2d 2d 65 61 63 68 20 64 69 66 66 73 0a 20 20 20 20 20 20 28 6c 65 74 20 28 ).....(--each.diffs.......(let.(
b600 28 73 70 6c 69 74 20 28 2d 73 70 6c 69 74 2d 61 74 20 69 74 20 6c 69 73 74 29 29 29 0a 20 20 20 (split.(-split-at.it.list)))....
b620 20 20 20 20 20 28 21 63 6f 6e 73 20 28 63 61 72 20 73 70 6c 69 74 29 20 72 29 0a 20 20 20 20 20 .....(!cons.(car.split).r)......
b640 20 20 20 28 73 65 74 71 20 6c 69 73 74 20 28 63 64 72 20 28 63 61 64 72 20 73 70 6c 69 74 29 29 ...(setq.list.(cdr.(cadr.split))
b660 29 29 29 0a 20 20 20 20 28 21 63 6f 6e 73 20 6c 69 73 74 20 72 29 0a 20 20 20 20 28 61 70 70 6c ))).....(!cons.list.r).....(appl
b680 79 20 27 2d 63 6f 6e 63 61 74 20 28 6e 72 65 76 65 72 73 65 20 72 29 29 29 29 0a 0a 28 64 65 66 y.'-concat.(nreverse.r))))..(def
b6a0 6d 61 63 72 6f 20 2d 2d 73 70 6c 69 74 2d 77 69 74 68 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 macro.--split-with.(pred.list)..
b6c0 20 22 41 6e 61 70 68 6f 72 69 63 20 66 6f 72 6d 20 6f 66 20 60 2d 73 70 6c 69 74 2d 77 69 74 68 ."Anaphoric.form.of.`-split-with
b6e0 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d '."...(declare.(debug.(form.form
b700 29 29 29 0a 20 20 28 6c 65 74 20 28 28 6c 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 6c 69 73 )))...(let.((l.(make-symbol."lis
b720 74 22 29 29 0a 20 20 20 20 20 20 20 20 28 72 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 72 65 t")).........(r.(make-symbol."re
b740 73 75 6c 74 22 29 29 0a 20 20 20 20 20 20 20 20 28 63 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 sult")).........(c.(make-symbol.
b760 22 63 6f 6e 74 69 6e 75 65 22 29 29 29 0a 20 20 20 20 60 28 6c 65 74 20 28 28 2c 6c 20 2c 6c 69 "continue"))).....`(let.((,l.,li
b780 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 2c 72 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 st)............(,r.nil).........
b7a0 20 20 20 28 2c 63 20 74 29 29 0a 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 61 6e 64 20 2c 6c ...(,c.t))........(while.(and.,l
b7c0 20 2c 63 29 0a 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 69 74 20 28 63 61 72 20 2c 6c 29 .,c)..........(let.((it.(car.,l)
b7e0 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 6e 6f 74 20 2c 70 72 65 64 29 0a 20 20 ))............(if.(not.,pred)...
b800 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 2c 63 20 6e 69 6c 29 0a 20 20 20 20 20 .............(setq.,c.nil)......
b820 20 20 20 20 20 20 20 20 28 21 63 6f 6e 73 20 69 74 20 2c 72 29 0a 20 20 20 20 20 20 20 20 20 20 ........(!cons.it.,r)...........
b840 20 20 20 28 21 63 64 72 20 2c 6c 29 29 29 29 0a 20 20 20 20 20 20 20 28 6c 69 73 74 20 28 6e 72 ...(!cdr.,l))))........(list.(nr
b860 65 76 65 72 73 65 20 2c 72 29 20 2c 6c 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 73 70 6c 69 74 everse.,r).,l))))..(defun.-split
b880 2d 77 69 74 68 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69 -with.(pred.list)..."Return.a.li
b8a0 73 74 20 6f 66 20 28 28 2d 74 61 6b 65 2d 77 68 69 6c 65 20 50 52 45 44 20 4c 49 53 54 29 20 28 st.of.((-take-while.PRED.LIST).(
b8c0 2d 64 72 6f 70 2d 77 68 69 6c 65 20 50 52 45 44 20 4c 49 53 54 29 29 2c 20 69 6e 20 6e 6f 20 6d -drop-while.PRED.LIST)),.in.no.m
b8e0 6f 72 65 20 74 68 61 6e 20 6f 6e 65 20 70 61 73 73 20 74 68 72 6f 75 67 68 20 74 68 65 20 6c 69 ore.than.one.pass.through.the.li
b900 73 74 2e 22 0a 20 20 28 2d 2d 73 70 6c 69 74 2d 77 69 74 68 20 28 66 75 6e 63 61 6c 6c 20 70 72 st."...(--split-with.(funcall.pr
b920 65 64 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 73 70 6c 69 74 2d ed.it).list))..(defmacro.-split-
b940 6f 6e 20 28 69 74 65 6d 20 6c 69 73 74 29 0a 20 20 22 53 70 6c 69 74 20 74 68 65 20 4c 49 53 54 on.(item.list)..."Split.the.LIST
b960 20 65 61 63 68 20 74 69 6d 65 20 49 54 45 4d 20 69 73 20 66 6f 75 6e 64 2e 0a 0a 55 6e 6c 69 6b .each.time.ITEM.is.found...Unlik
b980 65 20 60 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 27 2c 20 74 68 65 20 49 54 45 4d 20 69 73 20 64 e.`-partition-by',.the.ITEM.is.d
b9a0 69 73 63 61 72 64 65 64 20 66 72 6f 6d 20 74 68 65 20 72 65 73 75 6c 74 73 2e 0a 45 6d 70 74 79 iscarded.from.the.results..Empty
b9c0 20 6c 69 73 74 73 20 61 72 65 20 61 6c 73 6f 20 72 65 6d 6f 76 65 64 20 66 72 6f 6d 20 74 68 65 .lists.are.also.removed.from.the
b9e0 20 72 65 73 75 6c 74 2e 0a 0a 43 6f 6d 70 61 72 69 73 6f 6e 20 69 73 20 64 6f 6e 65 20 62 79 20 .result...Comparison.is.done.by.
ba00 60 65 71 75 61 6c 27 2e 0a 0a 53 65 65 20 61 6c 73 6f 20 60 2d 73 70 6c 69 74 2d 77 68 65 6e 27 `equal'...See.also.`-split-when'
ba20 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 64 65 66 2d 66 6f 72 6d 20 66 6f "...(declare.(debug.(def-form.fo
ba40 72 6d 29 29 29 0a 20 20 60 28 2d 73 70 6c 69 74 2d 77 68 65 6e 20 28 6c 61 6d 62 64 61 20 28 69 rm)))...`(-split-when.(lambda.(i
ba60 74 29 20 28 65 71 75 61 6c 20 69 74 20 2c 69 74 65 6d 29 29 20 2c 6c 69 73 74 29 29 0a 0a 28 64 t).(equal.it.,item)).,list))..(d
ba80 65 66 6d 61 63 72 6f 20 2d 2d 73 70 6c 69 74 2d 77 68 65 6e 20 28 66 6f 72 6d 20 6c 69 73 74 29 efmacro.--split-when.(form.list)
baa0 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 2d 73 70 6c 69 74 ..."Anaphoric.version.of.`-split
bac0 2d 77 68 65 6e 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 64 65 66 2d -when'."...(declare.(debug.(def-
bae0 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 60 28 2d 73 70 6c 69 74 2d 77 68 65 6e 20 28 6c 61 form.form)))...`(-split-when.(la
bb00 6d 62 64 61 20 28 69 74 29 20 2c 66 6f 72 6d 29 20 2c 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e mbda.(it).,form).,list))..(defun
bb20 20 2d 73 70 6c 69 74 2d 77 68 65 6e 20 28 66 6e 20 6c 69 73 74 29 0a 20 20 22 53 70 6c 69 74 20 .-split-when.(fn.list)..."Split.
bb40 74 68 65 20 4c 49 53 54 20 6f 6e 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 77 68 65 72 65 20 46 the.LIST.on.each.element.where.F
bb60 4e 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 0a 55 6e 6c 69 6b 65 20 60 2d 70 61 72 N.returns.non-nil...Unlike.`-par
bb80 74 69 74 69 6f 6e 2d 62 79 27 2c 20 74 68 65 20 5c 22 6d 61 74 63 68 65 64 5c 22 20 65 6c 65 6d tition-by',.the.\"matched\".elem
bba0 65 6e 74 20 69 73 20 64 69 73 63 61 72 64 65 64 20 66 72 6f 6d 0a 74 68 65 20 72 65 73 75 6c 74 ent.is.discarded.from.the.result
bbc0 73 2e 20 20 45 6d 70 74 79 20 6c 69 73 74 73 20 61 72 65 20 61 6c 73 6f 20 72 65 6d 6f 76 65 64 s...Empty.lists.are.also.removed
bbe0 20 66 72 6f 6d 20 74 68 65 20 72 65 73 75 6c 74 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e .from.the.result...This.function
bc00 20 63 61 6e 20 62 65 20 74 68 6f 75 67 68 74 20 6f 66 20 61 73 20 61 20 67 65 6e 65 72 61 6c 69 .can.be.thought.of.as.a.generali
bc20 7a 61 74 69 6f 6e 20 6f 66 0a 60 73 70 6c 69 74 2d 73 74 72 69 6e 67 27 2e 22 0a 20 20 28 6c 65 zation.of.`split-string'."...(le
bc40 74 20 28 72 20 73 29 0a 20 20 20 20 28 77 68 69 6c 65 20 6c 69 73 74 0a 20 20 20 20 20 20 28 69 t.(r.s).....(while.list.......(i
bc60 66 20 28 6e 6f 74 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 28 63 61 72 20 6c 69 73 74 29 29 29 0a f.(not.(funcall.fn.(car.list))).
bc80 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 63 61 72 20 6c 69 73 74 29 20 73 29 0a 20 20 ..........(push.(car.list).s)...
bca0 20 20 20 20 20 20 28 77 68 65 6e 20 73 20 28 70 75 73 68 20 28 6e 72 65 76 65 72 73 65 20 73 29 ......(when.s.(push.(nreverse.s)
bcc0 20 72 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 73 20 6e 69 6c 29 29 0a 20 20 20 20 20 .r)).........(setq.s.nil))......
bce0 20 28 21 63 64 72 20 6c 69 73 74 29 29 0a 20 20 20 20 28 77 68 65 6e 20 73 20 28 70 75 73 68 20 .(!cdr.list)).....(when.s.(push.
bd00 28 6e 72 65 76 65 72 73 65 20 73 29 20 72 29 29 0a 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 72 (nreverse.s).r)).....(nreverse.r
bd20 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 73 65 70 61 72 61 74 65 20 28 66 6f 72 6d 20 )))..(defmacro.--separate.(form.
bd40 6c 69 73 74 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 20 66 6f 72 6d 20 6f 66 20 60 2d 73 65 70 list)..."Anaphoric.form.of.`-sep
bd60 61 72 61 74 65 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d arate'."...(declare.(debug.(form
bd80 20 66 6f 72 6d 29 29 29 0a 20 20 28 6c 65 74 20 28 28 79 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c .form)))...(let.((y.(make-symbol
bda0 20 22 79 65 73 22 29 29 0a 20 20 20 20 20 20 20 20 28 6e 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c ."yes")).........(n.(make-symbol
bdc0 20 22 6e 6f 22 29 29 29 0a 20 20 20 20 60 28 6c 65 74 20 28 2c 79 20 2c 6e 29 0a 20 20 20 20 20 ."no"))).....`(let.(,y.,n)......
bde0 20 20 28 2d 2d 65 61 63 68 20 2c 6c 69 73 74 20 28 69 66 20 2c 66 6f 72 6d 20 28 21 63 6f 6e 73 ..(--each.,list.(if.,form.(!cons
be00 20 69 74 20 2c 79 29 20 28 21 63 6f 6e 73 20 69 74 20 2c 6e 29 29 29 0a 20 20 20 20 20 20 20 28 .it.,y).(!cons.it.,n)))........(
be20 6c 69 73 74 20 28 6e 72 65 76 65 72 73 65 20 2c 79 29 20 28 6e 72 65 76 65 72 73 65 20 2c 6e 29 list.(nreverse.,y).(nreverse.,n)
be40 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 73 65 70 61 72 61 74 65 20 28 70 72 65 64 20 6c 69 73 ))))..(defun.-separate.(pred.lis
be60 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 28 28 2d 66 69 6c 74 65 72 t)..."Return.a.list.of.((-filter
be80 20 50 52 45 44 20 4c 49 53 54 29 20 28 2d 72 65 6d 6f 76 65 20 50 52 45 44 20 4c 49 53 54 29 29 .PRED.LIST).(-remove.PRED.LIST))
bea0 2c 20 69 6e 20 6f 6e 65 20 70 61 73 73 20 74 68 72 6f 75 67 68 20 74 68 65 20 6c 69 73 74 2e 22 ,.in.one.pass.through.the.list."
bec0 0a 20 20 28 2d 2d 73 65 70 61 72 61 74 65 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 69 74 29 ...(--separate.(funcall.pred.it)
bee0 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 2d 70 61 72 74 69 74 69 6f 6e 2d .list))..(defun.dash--partition-
bf00 61 6c 6c 2d 69 6e 2d 73 74 65 70 73 2d 72 65 76 65 72 73 65 64 20 28 6e 20 73 74 65 70 20 6c 69 all-in-steps-reversed.(n.step.li
bf20 73 74 29 0a 20 20 22 55 73 65 64 20 62 79 20 60 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 2d 69 st)..."Used.by.`-partition-all-i
bf40 6e 2d 73 74 65 70 73 27 20 61 6e 64 20 60 2d 70 61 72 74 69 74 69 6f 6e 2d 69 6e 2d 73 74 65 70 n-steps'.and.`-partition-in-step
bf60 73 27 2e 22 0a 20 20 28 77 68 65 6e 20 28 3c 20 73 74 65 70 20 31 29 0a 20 20 20 20 28 73 69 67 s'."...(when.(<.step.1).....(sig
bf80 6e 61 6c 20 27 77 72 6f 6e 67 2d 74 79 70 65 2d 61 72 67 75 6d 65 6e 74 0a 20 20 20 20 20 20 20 nal.'wrong-type-argument........
bfa0 20 20 20 20 20 60 28 22 53 74 65 70 20 73 69 7a 65 20 3c 20 31 20 72 65 73 75 6c 74 73 20 69 6e .....`("Step.size.<.1.results.in
bfc0 20 6a 75 69 63 79 20 69 6e 66 69 6e 69 74 65 20 6c 6f 6f 70 73 22 20 2c 73 74 65 70 29 29 29 0a .juicy.infinite.loops".,step))).
bfe0 20 20 28 6c 65 74 20 28 72 65 73 75 6c 74 29 0a 20 20 20 20 28 77 68 69 6c 65 20 6c 69 73 74 0a ..(let.(result).....(while.list.
c000 20 20 20 20 20 20 28 70 75 73 68 20 28 2d 74 61 6b 65 20 6e 20 6c 69 73 74 29 20 72 65 73 75 6c ......(push.(-take.n.list).resul
c020 74 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6c 69 73 74 20 28 6e 74 68 63 64 72 20 73 74 65 70 t).......(setq.list.(nthcdr.step
c040 20 6c 69 73 74 29 29 29 0a 20 20 20 20 72 65 73 75 6c 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 70 .list))).....result))..(defun.-p
c060 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 2d 69 6e 2d 73 74 65 70 73 20 28 6e 20 73 74 65 70 20 6c 69 artition-all-in-steps.(n.step.li
c080 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 77 69 74 68 20 74 68 st)..."Return.a.new.list.with.th
c0a0 65 20 69 74 65 6d 73 20 69 6e 20 4c 49 53 54 20 67 72 6f 75 70 65 64 20 69 6e 74 6f 20 4e 2d 73 e.items.in.LIST.grouped.into.N-s
c0c0 69 7a 65 64 20 73 75 62 6c 69 73 74 73 20 61 74 20 6f 66 66 73 65 74 73 20 53 54 45 50 20 61 70 ized.sublists.at.offsets.STEP.ap
c0e0 61 72 74 2e 0a 54 68 65 20 6c 61 73 74 20 67 72 6f 75 70 73 20 6d 61 79 20 63 6f 6e 74 61 69 6e art..The.last.groups.may.contain
c100 20 6c 65 73 73 20 74 68 61 6e 20 4e 20 69 74 65 6d 73 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 .less.than.N.items."...(declare.
c120 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 (pure.t).(side-effect-free.t))..
c140 20 28 6e 72 65 76 65 72 73 65 20 28 64 61 73 68 2d 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 2d .(nreverse.(dash--partition-all-
c160 69 6e 2d 73 74 65 70 73 2d 72 65 76 65 72 73 65 64 20 6e 20 73 74 65 70 20 6c 69 73 74 29 29 29 in-steps-reversed.n.step.list)))
c180 0a 0a 28 64 65 66 75 6e 20 2d 70 61 72 74 69 74 69 6f 6e 2d 69 6e 2d 73 74 65 70 73 20 28 6e 20 ..(defun.-partition-in-steps.(n.
c1a0 73 74 65 70 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 step.list)..."Return.a.new.list.
c1c0 77 69 74 68 20 74 68 65 20 69 74 65 6d 73 20 69 6e 20 4c 49 53 54 20 67 72 6f 75 70 65 64 20 69 with.the.items.in.LIST.grouped.i
c1e0 6e 74 6f 20 4e 2d 73 69 7a 65 64 20 73 75 62 6c 69 73 74 73 20 61 74 20 6f 66 66 73 65 74 73 20 nto.N-sized.sublists.at.offsets.
c200 53 54 45 50 20 61 70 61 72 74 2e 0a 49 66 20 74 68 65 72 65 20 61 72 65 20 6e 6f 74 20 65 6e 6f STEP.apart..If.there.are.not.eno
c220 75 67 68 20 69 74 65 6d 73 20 74 6f 20 6d 61 6b 65 20 74 68 65 20 6c 61 73 74 20 67 72 6f 75 70 ugh.items.to.make.the.last.group
c240 20 4e 2d 73 69 7a 65 64 2c 0a 74 68 6f 73 65 20 69 74 65 6d 73 20 61 72 65 20 64 69 73 63 61 72 .N-sized,.those.items.are.discar
c260 64 65 64 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d ded."...(declare.(pure.t).(side-
c280 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 6c 65 74 20 28 28 72 65 73 75 6c 74 20 effect-free.t))...(let.((result.
c2a0 28 64 61 73 68 2d 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 2d 69 6e 2d 73 74 65 70 73 2d 72 65 (dash--partition-all-in-steps-re
c2c0 76 65 72 73 65 64 20 6e 20 73 74 65 70 20 6c 69 73 74 29 29 29 0a 20 20 20 20 28 77 68 69 6c 65 versed.n.step.list))).....(while
c2e0 20 28 61 6e 64 20 72 65 73 75 6c 74 20 28 3c 20 28 6c 65 6e 67 74 68 20 28 63 61 72 20 72 65 73 .(and.result.(<.(length.(car.res
c300 75 6c 74 29 29 20 6e 29 29 0a 20 20 20 20 20 20 28 21 63 64 72 20 72 65 73 75 6c 74 29 29 0a 20 ult)).n)).......(!cdr.result))..
c320 20 20 20 28 6e 72 65 76 65 72 73 65 20 72 65 73 75 6c 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d ...(nreverse.result)))..(defun.-
c340 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 20 28 6e 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e partition-all.(n.list)..."Return
c360 20 61 20 6e 65 77 20 6c 69 73 74 20 77 69 74 68 20 74 68 65 20 69 74 65 6d 73 20 69 6e 20 4c 49 .a.new.list.with.the.items.in.LI
c380 53 54 20 67 72 6f 75 70 65 64 20 69 6e 74 6f 20 4e 2d 73 69 7a 65 64 20 73 75 62 6c 69 73 74 73 ST.grouped.into.N-sized.sublists
c3a0 2e 0a 54 68 65 20 6c 61 73 74 20 67 72 6f 75 70 20 6d 61 79 20 63 6f 6e 74 61 69 6e 20 6c 65 73 ..The.last.group.may.contain.les
c3c0 73 20 74 68 61 6e 20 4e 20 69 74 65 6d 73 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 s.than.N.items."...(declare.(pur
c3e0 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 2d 70 e.t).(side-effect-free.t))...(-p
c400 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 2d 69 6e 2d 73 74 65 70 73 20 6e 20 6e 20 6c 69 73 74 29 29 artition-all-in-steps.n.n.list))
c420 0a 0a 28 64 65 66 75 6e 20 2d 70 61 72 74 69 74 69 6f 6e 20 28 6e 20 6c 69 73 74 29 0a 20 20 22 ..(defun.-partition.(n.list)..."
c440 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 77 69 74 68 20 74 68 65 20 69 74 65 6d 73 Return.a.new.list.with.the.items
c460 20 69 6e 20 4c 49 53 54 20 67 72 6f 75 70 65 64 20 69 6e 74 6f 20 4e 2d 73 69 7a 65 64 20 73 75 .in.LIST.grouped.into.N-sized.su
c480 62 6c 69 73 74 73 2e 0a 49 66 20 74 68 65 72 65 20 61 72 65 20 6e 6f 74 20 65 6e 6f 75 67 68 20 blists..If.there.are.not.enough.
c4a0 69 74 65 6d 73 20 74 6f 20 6d 61 6b 65 20 74 68 65 20 6c 61 73 74 20 67 72 6f 75 70 20 4e 2d 73 items.to.make.the.last.group.N-s
c4c0 69 7a 65 64 2c 0a 74 68 6f 73 65 20 69 74 65 6d 73 20 61 72 65 20 64 69 73 63 61 72 64 65 64 2e ized,.those.items.are.discarded.
c4e0 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 "...(declare.(pure.t).(side-effe
c500 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 2d 70 61 72 74 69 74 69 6f 6e 2d 69 6e 2d 73 74 65 ct-free.t))...(-partition-in-ste
c520 70 73 20 6e 20 6e 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 70 61 72 74 69 ps.n.n.list))..(defmacro.--parti
c540 74 69 6f 6e 2d 62 79 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 tion-by.(form.list)..."Anaphoric
c560 20 66 6f 72 6d 20 6f 66 20 60 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 27 2e 22 0a 20 20 28 64 65 .form.of.`-partition-by'."...(de
c580 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 28 6c 65 clare.(debug.(form.form)))...(le
c5a0 74 20 28 28 72 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 72 65 73 75 6c 74 22 29 29 0a 20 20 t.((r.(make-symbol."result"))...
c5c0 20 20 20 20 20 20 28 73 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 73 75 62 6c 69 73 74 22 29 ......(s.(make-symbol."sublist")
c5e0 29 0a 20 20 20 20 20 20 20 20 28 76 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 76 61 6c 75 65 ).........(v.(make-symbol."value
c600 22 29 29 0a 20 20 20 20 20 20 20 20 28 6e 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 6e 65 77 ")).........(n.(make-symbol."new
c620 2d 76 61 6c 75 65 22 29 29 0a 20 20 20 20 20 20 20 20 28 6c 20 28 6d 61 6b 65 2d 73 79 6d 62 6f -value")).........(l.(make-symbo
c640 6c 20 22 6c 69 73 74 22 29 29 29 0a 20 20 20 20 60 28 6c 65 74 20 28 28 2c 6c 20 2c 6c 69 73 74 l."list"))).....`(let.((,l.,list
c660 29 29 0a 20 20 20 20 20 20 20 28 77 68 65 6e 20 2c 6c 0a 20 20 20 20 20 20 20 20 20 28 6c 65 74 ))........(when.,l..........(let
c680 2a 20 28 28 2c 72 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 74 20 *.((,r.nil).................(it.
c6a0 28 63 61 72 20 2c 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2c 73 20 28 6c (car.,l)).................(,s.(l
c6c0 69 73 74 20 69 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2c 76 20 2c 66 6f ist.it)).................(,v.,fo
c6e0 72 6d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2c 6c 20 28 63 64 72 20 2c 6c 29 rm).................(,l.(cdr.,l)
c700 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 2c 6c 0a 20 20 20 20 20 20 20 20 ))............(while.,l.........
c720 20 20 20 20 20 28 6c 65 74 2a 20 28 28 69 74 20 28 63 61 72 20 2c 6c 29 29 0a 20 20 20 20 20 20 .....(let*.((it.(car.,l)).......
c740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2c 6e 20 2c 66 6f 72 6d 29 29 0a 20 20 20 20 20 20 ..............(,n.,form)).......
c760 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 75 61 6c 20 2c 76 20 2c 6e 29 0a 20 .........(unless.(equal.,v.,n)..
c780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 21 63 6f 6e 73 20 28 6e 72 65 76 65 72 73 65 ................(!cons.(nreverse
c7a0 20 2c 73 29 20 2c 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 .,s).,r)..................(setq.
c7c0 2c 73 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 2c ,s.nil)..................(setq.,
c7e0 76 20 2c 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 21 63 6f 6e 73 20 69 74 20 v.,n))................(!cons.it.
c800 2c 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 21 63 64 72 20 2c 6c 29 29 29 0a 20 ,s)................(!cdr.,l)))..
c820 20 20 20 20 20 20 20 20 20 20 28 21 63 6f 6e 73 20 28 6e 72 65 76 65 72 73 65 20 2c 73 29 20 2c ..........(!cons.(nreverse.,s).,
c840 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 2c 72 29 29 29 29 29 29 r)............(nreverse.,r))))))
c860 0a 0a 28 64 65 66 75 6e 20 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 20 28 66 6e 20 6c 69 73 74 29 ..(defun.-partition-by.(fn.list)
c880 0a 20 20 22 41 70 70 6c 79 20 46 4e 20 74 6f 20 65 61 63 68 20 69 74 65 6d 20 69 6e 20 4c 49 53 ..."Apply.FN.to.each.item.in.LIS
c8a0 54 2c 20 73 70 6c 69 74 74 69 6e 67 20 69 74 20 65 61 63 68 20 74 69 6d 65 20 46 4e 20 72 65 74 T,.splitting.it.each.time.FN.ret
c8c0 75 72 6e 73 20 61 20 6e 65 77 20 76 61 6c 75 65 2e 22 0a 20 20 28 2d 2d 70 61 72 74 69 74 69 6f urns.a.new.value."...(--partitio
c8e0 6e 2d 62 79 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 n-by.(funcall.fn.it).list))..(de
c900 66 6d 61 63 72 6f 20 2d 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 2d 68 65 61 64 65 72 20 28 66 6f fmacro.--partition-by-header.(fo
c920 72 6d 20 6c 69 73 74 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 20 66 6f 72 6d 20 6f 66 20 60 2d rm.list)..."Anaphoric.form.of.`-
c940 70 61 72 74 69 74 69 6f 6e 2d 62 79 2d 68 65 61 64 65 72 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 partition-by-header'."...(declar
c960 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 28 6c 65 74 20 28 28 e.(debug.(form.form)))...(let.((
c980 72 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 72 65 73 75 6c 74 22 29 29 0a 20 20 20 20 20 20 r.(make-symbol."result")).......
c9a0 20 20 28 73 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 73 75 62 6c 69 73 74 22 29 29 0a 20 20 ..(s.(make-symbol."sublist"))...
c9c0 20 20 20 20 20 20 28 68 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 68 65 61 64 65 72 2d 76 61 ......(h.(make-symbol."header-va
c9e0 6c 75 65 22 29 29 0a 20 20 20 20 20 20 20 20 28 62 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 lue")).........(b.(make-symbol."
ca00 73 65 65 6e 2d 62 6f 64 79 3f 22 29 29 0a 20 20 20 20 20 20 20 20 28 6e 20 28 6d 61 6b 65 2d 73 seen-body?")).........(n.(make-s
ca20 79 6d 62 6f 6c 20 22 6e 65 77 2d 76 61 6c 75 65 22 29 29 0a 20 20 20 20 20 20 20 20 28 6c 20 28 ymbol."new-value")).........(l.(
ca40 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 6c 69 73 74 22 29 29 29 0a 20 20 20 20 60 28 6c 65 74 20 make-symbol."list"))).....`(let.
ca60 28 28 2c 6c 20 2c 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 28 77 68 65 6e 20 2c 6c 0a 20 20 20 ((,l.,list))........(when.,l....
ca80 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 2c 72 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 ......(let*.((,r.nil)...........
caa0 20 20 20 20 20 20 28 69 74 20 28 63 61 72 20 2c 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ......(it.(car.,l)).............
cac0 20 20 20 20 28 2c 73 20 28 6c 69 73 74 20 69 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ....(,s.(list.it))..............
cae0 20 20 20 28 2c 68 20 2c 66 6f 72 6d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2c ...(,h.,form).................(,
cb00 62 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2c 6c 20 28 63 64 72 20 b.nil).................(,l.(cdr.
cb20 2c 6c 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 2c 6c 0a 20 20 20 20 20 ,l)))............(while.,l......
cb40 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 69 74 20 28 63 61 72 20 2c 6c 29 29 0a 20 20 20 ........(let*.((it.(car.,l))....
cb60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2c 6e 20 2c 66 6f 72 6d 29 29 0a 20 20 20 .................(,n.,form))....
cb80 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 65 71 75 61 6c 20 2c 68 20 2c 6e 29 0a 20 20 ............(if.(equal.,h.,n)...
cba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 2c 62 0a 20 20 20 20 20 20 .................(when.,b.......
cbc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 21 63 6f 6e 73 20 28 6e 72 65 76 65 72 73 65 20 ...............(!cons.(nreverse.
cbe0 2c 73 29 20 2c 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 ,s).,r)......................(se
cc00 74 71 20 2c 73 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tq.,s.nil)......................
cc20 28 73 65 74 71 20 2c 62 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (setq.,b.nil))..................
cc40 28 73 65 74 71 20 2c 62 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 21 63 6f (setq.,b.t))................(!co
cc60 6e 73 20 69 74 20 2c 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 21 63 64 72 20 2c ns.it.,s)................(!cdr.,
cc80 6c 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 21 63 6f 6e 73 20 28 6e 72 65 76 65 72 73 65 l)))............(!cons.(nreverse
cca0 20 2c 73 29 20 2c 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 2c 72 .,s).,r)............(nreverse.,r
ccc0 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 2d 68 65 61 ))))))..(defun.-partition-by-hea
cce0 64 65 72 20 28 66 6e 20 6c 69 73 74 29 0a 20 20 22 41 70 70 6c 79 20 46 4e 20 74 6f 20 74 68 65 der.(fn.list)..."Apply.FN.to.the
cd00 20 66 69 72 73 74 20 69 74 65 6d 20 69 6e 20 4c 49 53 54 2e 20 54 68 61 74 20 69 73 20 74 68 65 .first.item.in.LIST..That.is.the
cd20 20 68 65 61 64 65 72 0a 76 61 6c 75 65 2e 20 41 70 70 6c 79 20 46 4e 20 74 6f 20 65 61 63 68 20 .header.value..Apply.FN.to.each.
cd40 69 74 65 6d 20 69 6e 20 4c 49 53 54 2c 20 73 70 6c 69 74 74 69 6e 67 20 69 74 20 65 61 63 68 20 item.in.LIST,.splitting.it.each.
cd60 74 69 6d 65 20 46 4e 0a 72 65 74 75 72 6e 73 20 74 68 65 20 68 65 61 64 65 72 20 76 61 6c 75 65 time.FN.returns.the.header.value
cd80 2c 20 62 75 74 20 6f 6e 6c 79 20 61 66 74 65 72 20 73 65 65 69 6e 67 20 61 74 20 6c 65 61 73 74 ,.but.only.after.seeing.at.least
cda0 20 6f 6e 65 0a 6f 74 68 65 72 20 76 61 6c 75 65 20 28 74 68 65 20 62 6f 64 79 29 2e 22 0a 20 20 .one.other.value.(the.body)."...
cdc0 28 2d 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 2d 68 65 61 64 65 72 20 28 66 75 6e 63 61 6c 6c 20 (--partition-by-header.(funcall.
cde0 66 6e 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 70 61 72 74 69 fn.it).list))..(defmacro.--parti
ce00 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 50 tion-after-pred.(form.list)..."P
ce20 61 72 74 69 74 69 6f 6e 20 4c 49 53 54 20 61 66 74 65 72 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 artition.LIST.after.each.element
ce40 20 66 6f 72 20 77 68 69 63 68 20 46 4f 52 4d 20 65 76 61 6c 75 61 74 65 73 20 74 6f 20 6e 6f 6e .for.which.FORM.evaluates.to.non
ce60 2d 6e 69 6c 2e 0a 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 20 69 6e 20 74 75 -nil..Each.element.of.LIST.in.tu
ce80 72 6e 20 69 73 20 62 6f 75 6e 64 20 74 6f 20 60 69 74 27 20 62 65 66 6f 72 65 20 65 76 61 6c 75 rn.is.bound.to.`it'.before.evalu
cea0 61 74 69 6e 67 0a 46 4f 52 4d 2e 0a 0a 54 68 69 73 20 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 ating.FORM...This.is.the.anaphor
cec0 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 74 6f 20 60 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 ic.counterpart.to.`-partition-af
cee0 74 65 72 2d 70 72 65 64 27 2e 22 0a 20 20 28 6c 65 74 20 28 28 6c 20 28 6d 61 6b 65 2d 73 79 6d ter-pred'."...(let.((l.(make-sym
cf00 62 6f 6c 20 22 6c 69 73 74 22 29 29 0a 20 20 20 20 20 20 20 20 28 72 20 28 6d 61 6b 65 2d 73 79 bol."list")).........(r.(make-sy
cf20 6d 62 6f 6c 20 22 72 65 73 75 6c 74 22 29 29 0a 20 20 20 20 20 20 20 20 28 73 20 28 6d 61 6b 65 mbol."result")).........(s.(make
cf40 2d 73 79 6d 62 6f 6c 20 22 73 75 62 6c 69 73 74 22 29 29 29 0a 20 20 20 20 60 28 6c 65 74 20 28 -symbol."sublist"))).....`(let.(
cf60 28 2c 6c 20 2c 6c 69 73 74 29 20 2c 72 20 2c 73 29 0a 20 20 20 20 20 20 20 28 77 68 65 6e 20 2c (,l.,list).,r.,s)........(when.,
cf80 6c 0a 20 20 20 20 20 20 20 20 20 28 2d 2d 65 61 63 68 20 2c 6c 0a 20 20 20 20 20 20 20 20 20 20 l..........(--each.,l...........
cfa0 20 28 70 75 73 68 20 69 74 20 2c 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 2c .(push.it.,s)............(when.,
cfc0 66 6f 72 6d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 6e 72 65 76 65 72 73 form..............(push.(nrevers
cfe0 65 20 2c 73 29 20 2c 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 2c 73 20 e.,s).,r)..............(setq.,s.
d000 28 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 2c 73 0a 20 20 20 20 20 20 20 20 ())))..........(when.,s.........
d020 20 20 20 28 70 75 73 68 20 28 6e 72 65 76 65 72 73 65 20 2c 73 29 20 2c 72 29 29 0a 20 20 20 20 ...(push.(nreverse.,s).,r)).....
d040 20 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 2c 72 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d .....(nreverse.,r)))))..(defun.-
d060 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 20 28 70 72 65 64 20 6c 69 73 74 29 partition-after-pred.(pred.list)
d080 0a 20 20 22 50 61 72 74 69 74 69 6f 6e 20 4c 49 53 54 20 61 66 74 65 72 20 65 61 63 68 20 65 6c ..."Partition.LIST.after.each.el
d0a0 65 6d 65 6e 74 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 44 20 72 65 74 75 72 6e 73 20 6e 6f 6e ement.for.which.PRED.returns.non
d0c0 2d 6e 69 6c 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 -nil...This.function's.anaphoric
d0e0 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 .counterpart.is.`--partition-aft
d100 65 72 2d 70 72 65 64 27 2e 22 0a 20 20 28 2d 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d er-pred'."...(--partition-after-
d120 70 72 65 64 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 pred.(funcall.pred.it).list))..(
d140 64 65 66 75 6e 20 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 70 72 65 64 20 28 70 72 defun.-partition-before-pred.(pr
d160 65 64 20 6c 69 73 74 29 0a 20 20 22 50 61 72 74 69 74 69 6f 6e 20 64 69 72 65 63 74 6c 79 20 62 ed.list)..."Partition.directly.b
d180 65 66 6f 72 65 20 65 61 63 68 20 74 69 6d 65 20 50 52 45 44 20 69 73 20 74 72 75 65 20 6f 6e 20 efore.each.time.PRED.is.true.on.
d1a0 61 6e 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 2e 22 0a 20 20 28 6e 72 65 76 65 72 73 65 an.element.of.LIST."...(nreverse
d1c0 20 28 2d 6d 61 70 20 23 27 72 65 76 65 72 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(-map.#'reverse................
d1e0 20 20 20 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 20 70 72 65 64 20 28 ...(-partition-after-pred.pred.(
d200 72 65 76 65 72 73 65 20 6c 69 73 74 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 70 61 72 74 69 reverse.list)))))..(defun.-parti
d220 74 69 6f 6e 2d 61 66 74 65 72 2d 69 74 65 6d 20 28 69 74 65 6d 20 6c 69 73 74 29 0a 20 20 22 50 tion-after-item.(item.list)..."P
d240 61 72 74 69 74 69 6f 6e 20 64 69 72 65 63 74 6c 79 20 61 66 74 65 72 20 65 61 63 68 20 74 69 6d artition.directly.after.each.tim
d260 65 20 49 54 45 4d 20 61 70 70 65 61 72 73 20 69 6e 20 4c 49 53 54 2e 22 0a 20 20 28 2d 70 61 72 e.ITEM.appears.in.LIST."...(-par
d280 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 20 28 6c 61 6d 62 64 61 20 28 65 6c 65 29 20 tition-after-pred.(lambda.(ele).
d2a0 28 65 71 75 61 6c 20 65 6c 65 20 69 74 65 6d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (equal.ele.item))...............
d2c0 20 20 20 20 20 20 20 20 20 20 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 70 61 72 74 69 ...........list))..(defun.-parti
d2e0 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 69 74 65 6d 20 28 69 74 65 6d 20 6c 69 73 74 29 0a 20 20 22 tion-before-item.(item.list)..."
d300 50 61 72 74 69 74 69 6f 6e 20 64 69 72 65 63 74 6c 79 20 62 65 66 6f 72 65 20 65 61 63 68 20 74 Partition.directly.before.each.t
d320 69 6d 65 20 49 54 45 4d 20 61 70 70 65 61 72 73 20 69 6e 20 4c 49 53 54 2e 22 0a 20 20 28 2d 70 ime.ITEM.appears.in.LIST."...(-p
d340 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 70 72 65 64 20 28 6c 61 6d 62 64 61 20 28 65 6c artition-before-pred.(lambda.(el
d360 65 29 20 28 65 71 75 61 6c 20 65 6c 65 20 69 74 65 6d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 e).(equal.ele.item))............
d380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f ...............list))..(defmacro
d3a0 20 2d 2d 67 72 6f 75 70 2d 62 79 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 41 6e 61 70 68 .--group-by.(form.list)..."Anaph
d3c0 6f 72 69 63 20 66 6f 72 6d 20 6f 66 20 60 2d 67 72 6f 75 70 2d 62 79 27 2e 22 0a 20 20 28 64 65 oric.form.of.`-group-by'."...(de
d3e0 63 6c 61 72 65 20 28 64 65 62 75 67 20 74 29 29 0a 20 20 28 6c 65 74 20 28 28 6e 20 28 6d 61 6b clare.(debug.t))...(let.((n.(mak
d400 65 2d 73 79 6d 62 6f 6c 20 22 6e 22 29 29 0a 20 20 20 20 20 20 20 20 28 6b 20 28 6d 61 6b 65 2d e-symbol."n")).........(k.(make-
d420 73 79 6d 62 6f 6c 20 22 6b 22 29 29 0a 20 20 20 20 20 20 20 20 28 67 72 70 20 28 6d 61 6b 65 2d symbol."k")).........(grp.(make-
d440 73 79 6d 62 6f 6c 20 22 67 72 70 22 29 29 29 0a 20 20 20 20 60 28 6e 72 65 76 65 72 73 65 0a 20 symbol."grp"))).....`(nreverse..
d460 20 20 20 20 20 28 2d 6d 61 70 0a 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 2c 6e 29 0a 20 .....(-map........(lambda.(,n)..
d480 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 28 63 61 72 20 2c 6e 29 0a 20 20 20 20 20 20 20 20 20 ........(cons.(car.,n)..........
d4a0 20 20 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 28 63 64 72 20 2c 6e 29 29 29 29 0a 20 20 20 20 ......(nreverse.(cdr.,n)))).....
d4c0 20 20 20 28 2d 2d 72 65 64 75 63 65 2d 66 72 6f 6d 0a 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 ...(--reduce-from.........(let*.
d4e0 28 28 2c 6b 20 28 2c 40 66 6f 72 6d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2c ((,k.(,@form))................(,
d500 67 72 70 20 28 61 73 73 6f 63 20 2c 6b 20 61 63 63 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 grp.(assoc.,k.acc)))...........(
d520 69 66 20 2c 67 72 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 63 64 72 20 2c 67 if.,grp...............(setcdr.,g
d540 72 70 20 28 63 6f 6e 73 20 69 74 20 28 63 64 72 20 2c 67 72 70 29 29 29 0a 20 20 20 20 20 20 20 rp.(cons.it.(cdr.,grp)))........
d560 20 20 20 20 20 28 70 75 73 68 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 2c 6b .....(push..............(list.,k
d580 20 69 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63 63 29 29 0a 20 20 20 20 20 20 20 20 .it)..............acc)).........
d5a0 20 20 61 63 63 29 0a 20 20 20 20 20 20 20 20 6e 69 6c 20 2c 6c 69 73 74 29 29 29 29 29 0a 0a 28 ..acc).........nil.,list)))))..(
d5c0 64 65 66 75 6e 20 2d 67 72 6f 75 70 2d 62 79 20 28 66 6e 20 6c 69 73 74 29 0a 20 20 22 53 65 70 defun.-group-by.(fn.list)..."Sep
d5e0 61 72 61 74 65 20 4c 49 53 54 20 69 6e 74 6f 20 61 6e 20 61 6c 69 73 74 20 77 68 6f 73 65 20 6b arate.LIST.into.an.alist.whose.k
d600 65 79 73 20 61 72 65 20 46 4e 20 61 70 70 6c 69 65 64 20 74 6f 20 74 68 65 0a 65 6c 65 6d 65 6e eys.are.FN.applied.to.the.elemen
d620 74 73 20 6f 66 20 4c 49 53 54 2e 20 20 4b 65 79 73 20 61 72 65 20 63 6f 6d 70 61 72 65 64 20 62 ts.of.LIST...Keys.are.compared.b
d640 79 20 60 65 71 75 61 6c 27 2e 22 0a 20 20 28 2d 2d 67 72 6f 75 70 2d 62 79 20 28 66 75 6e 63 61 y.`equal'."...(--group-by.(funca
d660 6c 6c 20 66 6e 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 69 6e 74 65 72 70 ll.fn.it).list))..(defun.-interp
d680 6f 73 65 20 28 73 65 70 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c ose.(sep.list)..."Return.a.new.l
d6a0 69 73 74 20 6f 66 20 61 6c 6c 20 65 6c 65 6d 65 6e 74 73 20 69 6e 20 4c 49 53 54 20 73 65 70 61 ist.of.all.elements.in.LIST.sepa
d6c0 72 61 74 65 64 20 62 79 20 53 45 50 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 rated.by.SEP."...(declare.(pure.
d6e0 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 6c 65 74 20 t).(side-effect-free.t))...(let.
d700 28 72 65 73 75 6c 74 29 0a 20 20 20 20 28 77 68 65 6e 20 6c 69 73 74 0a 20 20 20 20 20 20 28 21 (result).....(when.list.......(!
d720 63 6f 6e 73 20 28 63 61 72 20 6c 69 73 74 29 20 72 65 73 75 6c 74 29 0a 20 20 20 20 20 20 28 21 cons.(car.list).result).......(!
d740 63 64 72 20 6c 69 73 74 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 6c 69 73 74 0a 20 20 20 20 20 cdr.list)).....(while.list......
d760 20 28 73 65 74 71 20 72 65 73 75 6c 74 20 28 63 6f 6e 73 20 28 63 61 72 20 6c 69 73 74 29 20 28 .(setq.result.(cons.(car.list).(
d780 63 6f 6e 73 20 73 65 70 20 72 65 73 75 6c 74 29 29 29 0a 20 20 20 20 20 20 28 21 63 64 72 20 6c cons.sep.result))).......(!cdr.l
d7a0 69 73 74 29 29 0a 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 72 65 73 75 6c 74 29 29 29 0a 0a 28 ist)).....(nreverse.result)))..(
d7c0 64 65 66 75 6e 20 2d 69 6e 74 65 72 6c 65 61 76 65 20 28 26 72 65 73 74 20 6c 69 73 74 73 29 0a defun.-interleave.(&rest.lists).
d7e0 20 20 22 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 6f 66 20 74 68 65 20 66 69 72 73 .."Return.a.new.list.of.the.firs
d800 74 20 69 74 65 6d 20 69 6e 20 65 61 63 68 20 6c 69 73 74 2c 20 74 68 65 6e 20 74 68 65 20 73 65 t.item.in.each.list,.then.the.se
d820 63 6f 6e 64 20 65 74 63 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 cond.etc."...(declare.(pure.t).(
d840 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 77 68 65 6e 20 6c 69 73 side-effect-free.t))...(when.lis
d860 74 73 0a 20 20 20 20 28 6c 65 74 20 28 72 65 73 75 6c 74 29 0a 20 20 20 20 20 20 28 77 68 69 6c ts.....(let.(result).......(whil
d880 65 20 28 2d 6e 6f 6e 65 3f 20 27 6e 75 6c 6c 20 6c 69 73 74 73 29 0a 20 20 20 20 20 20 20 20 28 e.(-none?.'null.lists).........(
d8a0 2d 2d 65 61 63 68 20 6c 69 73 74 73 20 28 21 63 6f 6e 73 20 28 63 61 72 20 69 74 29 20 72 65 73 --each.lists.(!cons.(car.it).res
d8c0 75 6c 74 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6c 69 73 74 73 20 28 2d 6d 61 70 20 ult)).........(setq.lists.(-map.
d8e0 27 63 64 72 20 6c 69 73 74 73 29 29 29 0a 20 20 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 72 65 'cdr.lists))).......(nreverse.re
d900 73 75 6c 74 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 7a 69 70 2d 77 69 74 68 20 28 sult))))..(defmacro.--zip-with.(
d920 66 6f 72 6d 20 6c 69 73 74 31 20 6c 69 73 74 32 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 20 66 form.list1.list2)..."Anaphoric.f
d940 6f 72 6d 20 6f 66 20 60 2d 7a 69 70 2d 77 69 74 68 27 2e 0a 0a 54 68 65 20 65 6c 65 6d 65 6e 74 orm.of.`-zip-with'...The.element
d960 73 20 69 6e 20 6c 69 73 74 31 20 61 72 65 20 62 6f 75 6e 64 20 61 73 20 73 79 6d 62 6f 6c 20 60 s.in.list1.are.bound.as.symbol.`
d980 69 74 27 2c 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 69 6e 20 6c 69 73 74 32 20 61 73 20 73 79 it',.the.elements.in.list2.as.sy
d9a0 6d 62 6f 6c 20 60 6f 74 68 65 72 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 mbol.`other'."...(declare.(debug
d9c0 20 28 66 6f 72 6d 20 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 28 6c 65 74 20 28 28 72 20 28 .(form.form.form)))...(let.((r.(
d9e0 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 72 65 73 75 6c 74 22 29 29 0a 20 20 20 20 20 20 20 20 28 make-symbol."result")).........(
da00 6c 31 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 6c 69 73 74 31 22 29 29 0a 20 20 20 20 20 20 l1.(make-symbol."list1")).......
da20 20 20 28 6c 32 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 6c 69 73 74 32 22 29 29 29 0a 20 20 ..(l2.(make-symbol."list2")))...
da40 20 20 60 28 6c 65 74 20 28 28 2c 72 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 2c 6c ..`(let.((,r.nil)............(,l
da60 31 20 2c 6c 69 73 74 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 2c 6c 32 20 2c 6c 69 73 74 32 1.,list1)............(,l2.,list2
da80 29 29 0a 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 61 6e 64 20 2c 6c 31 20 2c 6c 32 29 0a 20 ))........(while.(and.,l1.,l2)..
daa0 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 69 74 20 28 63 61 72 20 2c 6c 31 29 29 0a 20 20 20 ........(let.((it.(car.,l1))....
dac0 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 74 68 65 72 20 28 63 61 72 20 2c 6c 32 29 29 29 0a 20 ............(other.(car.,l2)))..
dae0 20 20 20 20 20 20 20 20 20 20 28 21 63 6f 6e 73 20 2c 66 6f 72 6d 20 2c 72 29 0a 20 20 20 20 20 ..........(!cons.,form.,r)......
db00 20 20 20 20 20 20 28 21 63 64 72 20 2c 6c 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 21 63 64 ......(!cdr.,l1)............(!cd
db20 72 20 2c 6c 32 29 29 29 0a 20 20 20 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 2c 72 29 29 29 29 r.,l2)))........(nreverse.,r))))
db40 0a 0a 28 64 65 66 75 6e 20 2d 7a 69 70 2d 77 69 74 68 20 28 66 6e 20 6c 69 73 74 31 20 6c 69 73 ..(defun.-zip-with.(fn.list1.lis
db60 74 32 29 0a 20 20 22 5a 69 70 20 74 68 65 20 74 77 6f 20 6c 69 73 74 73 20 4c 49 53 54 31 20 61 t2)..."Zip.the.two.lists.LIST1.a
db80 6e 64 20 4c 49 53 54 32 20 75 73 69 6e 67 20 61 20 66 75 6e 63 74 69 6f 6e 20 46 4e 2e 20 20 54 nd.LIST2.using.a.function.FN...T
dba0 68 69 73 0a 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 70 70 6c 69 65 64 20 70 61 69 72 77 69 73 65 his.function.is.applied.pairwise
dbc0 20 74 61 6b 69 6e 67 20 61 73 20 66 69 72 73 74 20 61 72 67 75 6d 65 6e 74 20 65 6c 65 6d 65 6e .taking.as.first.argument.elemen
dbe0 74 20 6f 66 0a 4c 49 53 54 31 20 61 6e 64 20 61 73 20 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e t.of.LIST1.and.as.second.argumen
dc00 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 32 20 61 74 20 63 6f 72 72 65 73 70 6f 6e 64 t.element.of.LIST2.at.correspond
dc20 69 6e 67 0a 70 6f 73 69 74 69 6f 6e 2e 0a 0a 54 68 65 20 61 6e 61 70 68 6f 72 69 63 20 66 6f 72 ing.position...The.anaphoric.for
dc40 6d 20 60 2d 2d 7a 69 70 2d 77 69 74 68 27 20 62 69 6e 64 73 20 74 68 65 20 65 6c 65 6d 65 6e 74 m.`--zip-with'.binds.the.element
dc60 73 20 66 72 6f 6d 20 4c 49 53 54 31 20 61 73 20 73 79 6d 62 6f 6c 20 60 69 74 27 2c 0a 61 6e 64 s.from.LIST1.as.symbol.`it',.and
dc80 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 66 72 6f 6d 20 4c 49 53 54 32 20 61 73 20 73 79 6d 62 .the.elements.from.LIST2.as.symb
dca0 6f 6c 20 60 6f 74 68 65 72 27 2e 22 0a 20 20 28 2d 2d 7a 69 70 2d 77 69 74 68 20 28 66 75 6e 63 ol.`other'."...(--zip-with.(func
dcc0 61 6c 6c 20 66 6e 20 69 74 20 6f 74 68 65 72 29 20 6c 69 73 74 31 20 6c 69 73 74 32 29 29 0a 0a all.fn.it.other).list1.list2))..
dce0 28 64 65 66 75 6e 20 2d 7a 69 70 2d 6c 69 73 74 73 20 28 26 72 65 73 74 20 6c 69 73 74 73 29 0a (defun.-zip-lists.(&rest.lists).
dd00 20 20 22 5a 69 70 20 4c 49 53 54 53 20 74 6f 67 65 74 68 65 72 2e 20 20 47 72 6f 75 70 20 74 68 .."Zip.LISTS.together...Group.th
dd20 65 20 68 65 61 64 20 6f 66 20 65 61 63 68 20 6c 69 73 74 2c 20 66 6f 6c 6c 6f 77 65 64 20 62 79 e.head.of.each.list,.followed.by
dd40 20 74 68 65 0a 73 65 63 6f 6e 64 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 65 61 63 68 20 6c 69 73 .the.second.elements.of.each.lis
dd60 74 2c 20 61 6e 64 20 73 6f 20 6f 6e 2e 20 54 68 65 20 6c 65 6e 67 74 68 73 20 6f 66 20 74 68 65 t,.and.so.on..The.lengths.of.the
dd80 20 72 65 74 75 72 6e 65 64 0a 67 72 6f 75 70 69 6e 67 73 20 61 72 65 20 65 71 75 61 6c 20 74 6f .returned.groupings.are.equal.to
dda0 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 73 68 6f 72 74 65 73 74 20 69 6e 70 75 .the.length.of.the.shortest.inpu
ddc0 74 20 6c 69 73 74 2e 0a 0a 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 61 6c 77 t.list...The.return.value.is.alw
dde0 61 79 73 20 6c 69 73 74 20 6f 66 20 6c 69 73 74 73 2c 20 77 68 69 63 68 20 69 73 20 61 20 64 69 ays.list.of.lists,.which.is.a.di
de00 66 66 65 72 65 6e 63 65 0a 66 72 6f 6d 20 60 2d 7a 69 70 2d 70 61 69 72 27 20 77 68 69 63 68 20 fference.from.`-zip-pair'.which.
de20 72 65 74 75 72 6e 73 20 61 20 63 6f 6e 73 2d 63 65 6c 6c 20 69 6e 20 63 61 73 65 20 74 77 6f 20 returns.a.cons-cell.in.case.two.
de40 69 6e 70 75 74 0a 6c 69 73 74 73 20 61 72 65 20 70 72 6f 76 69 64 65 64 2e 0a 0a 53 65 65 20 61 input.lists.are.provided...See.a
de60 6c 73 6f 3a 20 60 2d 7a 69 70 27 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 lso:.`-zip'"...(declare.(pure.t)
de80 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 77 68 65 6e 20 6c .(side-effect-free.t))...(when.l
dea0 69 73 74 73 0a 20 20 20 20 28 6c 65 74 20 28 72 65 73 75 6c 74 73 29 0a 20 20 20 20 20 20 28 77 ists.....(let.(results).......(w
dec0 68 69 6c 65 20 28 2d 6e 6f 6e 65 3f 20 27 6e 75 6c 6c 20 6c 69 73 74 73 29 0a 20 20 20 20 20 20 hile.(-none?.'null.lists).......
dee0 20 20 28 73 65 74 71 20 72 65 73 75 6c 74 73 20 28 63 6f 6e 73 20 28 6d 61 70 63 61 72 20 27 63 ..(setq.results.(cons.(mapcar.'c
df00 61 72 20 6c 69 73 74 73 29 20 72 65 73 75 6c 74 73 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 ar.lists).results)).........(set
df20 71 20 6c 69 73 74 73 20 28 6d 61 70 63 61 72 20 27 63 64 72 20 6c 69 73 74 73 29 29 29 0a 20 20 q.lists.(mapcar.'cdr.lists)))...
df40 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 72 65 73 75 6c 74 73 29 29 29 29 0a 0a 28 64 65 66 75 ....(nreverse.results))))..(defu
df60 6e 20 2d 7a 69 70 20 28 26 72 65 73 74 20 6c 69 73 74 73 29 0a 20 20 22 5a 69 70 20 4c 49 53 54 n.-zip.(&rest.lists)..."Zip.LIST
df80 53 20 74 6f 67 65 74 68 65 72 2e 20 20 47 72 6f 75 70 20 74 68 65 20 68 65 61 64 20 6f 66 20 65 S.together...Group.the.head.of.e
dfa0 61 63 68 20 6c 69 73 74 2c 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 74 68 65 0a 73 65 63 6f 6e 64 ach.list,.followed.by.the.second
dfc0 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 65 61 63 68 20 6c 69 73 74 2c 20 61 6e 64 20 73 6f 20 6f .elements.of.each.list,.and.so.o
dfe0 6e 2e 20 54 68 65 20 6c 65 6e 67 74 68 73 20 6f 66 20 74 68 65 20 72 65 74 75 72 6e 65 64 0a 67 n..The.lengths.of.the.returned.g
e000 72 6f 75 70 69 6e 67 73 20 61 72 65 20 65 71 75 61 6c 20 74 6f 20 74 68 65 20 6c 65 6e 67 74 68 roupings.are.equal.to.the.length
e020 20 6f 66 20 74 68 65 20 73 68 6f 72 74 65 73 74 20 69 6e 70 75 74 20 6c 69 73 74 2e 0a 0a 49 66 .of.the.shortest.input.list...If
e040 20 74 77 6f 20 6c 69 73 74 73 20 61 72 65 20 70 72 6f 76 69 64 65 64 20 61 73 20 61 72 67 75 6d .two.lists.are.provided.as.argum
e060 65 6e 74 73 2c 20 72 65 74 75 72 6e 20 74 68 65 20 67 72 6f 75 70 69 6e 67 73 20 61 73 20 61 20 ents,.return.the.groupings.as.a.
e080 6c 69 73 74 0a 6f 66 20 63 6f 6e 73 20 63 65 6c 6c 73 2e 20 4f 74 68 65 72 77 69 73 65 2c 20 72 list.of.cons.cells..Otherwise,.r
e0a0 65 74 75 72 6e 20 74 68 65 20 67 72 6f 75 70 69 6e 67 73 20 61 73 20 61 20 6c 69 73 74 20 6f 66 eturn.the.groupings.as.a.list.of
e0c0 20 6c 69 73 74 73 2e 0a 0a 55 73 65 20 60 2d 7a 69 70 2d 6c 69 73 74 73 27 20 69 66 20 79 6f 75 .lists...Use.`-zip-lists'.if.you
e0e0 20 6e 65 65 64 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 74 6f 20 61 6c 77 61 79 73 .need.the.return.value.to.always
e100 20 62 65 20 61 20 6c 69 73 74 0a 6f 66 20 6c 69 73 74 73 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 7a .be.a.list.of.lists...Alias:.`-z
e120 69 70 2d 70 61 69 72 27 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 7a 69 70 2d 6c 69 73 74 73 27 ip-pair'..See.also:.`-zip-lists'
e140 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 "...(declare.(pure.t).(side-effe
e160 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 77 68 65 6e 20 6c 69 73 74 73 0a 20 20 20 20 28 6c ct-free.t))...(when.lists.....(l
e180 65 74 20 28 72 65 73 75 6c 74 73 29 0a 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 2d 6e 6f 6e 65 et.(results).......(while.(-none
e1a0 3f 20 27 6e 75 6c 6c 20 6c 69 73 74 73 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 72 65 73 ?.'null.lists).........(setq.res
e1c0 75 6c 74 73 20 28 63 6f 6e 73 20 28 6d 61 70 63 61 72 20 27 63 61 72 20 6c 69 73 74 73 29 20 72 ults.(cons.(mapcar.'car.lists).r
e1e0 65 73 75 6c 74 73 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6c 69 73 74 73 20 28 6d 61 esults)).........(setq.lists.(ma
e200 70 63 61 72 20 27 63 64 72 20 6c 69 73 74 73 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 72 pcar.'cdr.lists))).......(setq.r
e220 65 73 75 6c 74 73 20 28 6e 72 65 76 65 72 73 65 20 72 65 73 75 6c 74 73 29 29 0a 20 20 20 20 20 esults.(nreverse.results))......
e240 20 28 69 66 20 28 3d 20 28 6c 65 6e 67 74 68 20 6c 69 73 74 73 29 20 32 29 0a 20 20 20 20 20 20 .(if.(=.(length.lists).2).......
e260 20 20 20 20 3b 3b 20 74 6f 20 73 75 70 70 6f 72 74 20 62 61 63 6b 77 61 72 64 20 63 6f 6d 70 61 ....;;.to.support.backward.compa
e280 74 69 62 69 6c 69 74 79 2c 20 72 65 74 75 72 6e 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 61 20 tibility,.return...........;;.a.
e2a0 63 6f 6e 73 20 63 65 6c 6c 20 69 66 20 74 77 6f 20 6c 69 73 74 73 20 77 65 72 65 20 70 72 6f 76 cons.cell.if.two.lists.were.prov
e2c0 69 64 65 64 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 6d 61 70 20 28 63 6f 6e 73 20 28 63 61 72 ided...........(--map.(cons.(car
e2e0 20 69 74 29 20 28 63 61 64 72 20 69 74 29 29 20 72 65 73 75 6c 74 73 29 0a 20 20 20 20 20 20 20 .it).(cadr.it)).results)........
e300 20 72 65 73 75 6c 74 73 29 29 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 7a 69 70 2d 70 61 .results))))..(defalias.'-zip-pa
e320 69 72 20 27 2d 7a 69 70 29 0a 0a 28 64 65 66 75 6e 20 2d 7a 69 70 2d 66 69 6c 6c 20 28 66 69 6c ir.'-zip)..(defun.-zip-fill.(fil
e340 6c 2d 76 61 6c 75 65 20 26 72 65 73 74 20 6c 69 73 74 73 29 0a 20 20 22 5a 69 70 20 4c 49 53 54 l-value.&rest.lists)..."Zip.LIST
e360 53 2c 20 77 69 74 68 20 46 49 4c 4c 2d 56 41 4c 55 45 20 70 61 64 64 65 64 20 6f 6e 74 6f 20 74 S,.with.FILL-VALUE.padded.onto.t
e380 68 65 20 73 68 6f 72 74 65 72 20 6c 69 73 74 73 2e 20 54 68 65 0a 6c 65 6e 67 74 68 73 20 6f 66 he.shorter.lists..The.lengths.of
e3a0 20 74 68 65 20 72 65 74 75 72 6e 65 64 20 67 72 6f 75 70 69 6e 67 73 20 61 72 65 20 65 71 75 61 .the.returned.groupings.are.equa
e3c0 6c 20 74 6f 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 0a 6c 6f 6e 67 65 73 74 20 69 l.to.the.length.of.the.longest.i
e3e0 6e 70 75 74 20 6c 69 73 74 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 nput.list."...(declare.(pure.t).
e400 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 61 70 70 6c 79 20 27 (side-effect-free.t))...(apply.'
e420 2d 7a 69 70 20 28 61 70 70 6c 79 20 27 2d 70 61 64 20 28 63 6f 6e 73 20 66 69 6c 6c 2d 76 61 6c -zip.(apply.'-pad.(cons.fill-val
e440 75 65 20 6c 69 73 74 73 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 75 6e 7a 69 70 20 28 6c 69 73 ue.lists))))..(defun.-unzip.(lis
e460 74 73 29 0a 20 20 22 55 6e 7a 69 70 20 4c 49 53 54 53 2e 0a 0a 54 68 69 73 20 77 6f 72 6b 73 20 ts)..."Unzip.LISTS...This.works.
e480 6a 75 73 74 20 6c 69 6b 65 20 60 2d 7a 69 70 27 20 62 75 74 20 74 61 6b 65 73 20 61 20 6c 69 73 just.like.`-zip'.but.takes.a.lis
e4a0 74 20 6f 66 20 6c 69 73 74 73 20 69 6e 73 74 65 61 64 20 6f 66 0a 61 20 76 61 72 69 61 62 6c 65 t.of.lists.instead.of.a.variable
e4c0 20 6e 75 6d 62 65 72 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 2c 20 73 75 63 68 20 74 68 61 74 0a .number.of.arguments,.such.that.
e4e0 0a 20 20 28 2d 75 6e 7a 69 70 20 28 2d 7a 69 70 20 4c 31 20 4c 32 20 4c 33 20 2e 2e 2e 29 29 0a ...(-unzip.(-zip.L1.L2.L3....)).
e500 0a 69 73 20 69 64 65 6e 74 69 74 79 20 28 67 69 76 65 6e 20 74 68 61 74 20 74 68 65 20 6c 69 73 .is.identity.(given.that.the.lis
e520 74 73 20 61 72 65 20 74 68 65 20 73 61 6d 65 20 6c 65 6e 67 74 68 29 2e 0a 0a 4e 6f 74 65 20 69 ts.are.the.same.length)...Note.i
e540 6e 20 70 61 72 74 69 63 75 6c 61 72 20 74 68 61 74 20 63 61 6c 6c 69 6e 67 20 74 68 69 73 20 6f n.particular.that.calling.this.o
e560 6e 20 61 20 6c 69 73 74 20 6f 66 20 74 77 6f 20 6c 69 73 74 73 20 77 69 6c 6c 0a 72 65 74 75 72 n.a.list.of.two.lists.will.retur
e580 6e 20 61 20 6c 69 73 74 20 6f 66 20 63 6f 6e 73 2d 63 65 6c 6c 73 20 73 75 63 68 20 74 68 61 74 n.a.list.of.cons-cells.such.that
e5a0 20 74 68 65 20 61 62 6f 76 65 20 69 64 65 6e 74 69 74 79 20 77 6f 72 6b 73 2e 0a 0a 53 65 65 20 .the.above.identity.works...See.
e5c0 61 6c 73 6f 3a 20 60 2d 7a 69 70 27 22 0a 20 20 28 61 70 70 6c 79 20 27 2d 7a 69 70 20 6c 69 73 also:.`-zip'"...(apply.'-zip.lis
e5e0 74 73 29 29 0a 0a 28 64 65 66 75 6e 20 2d 63 79 63 6c 65 20 28 6c 69 73 74 29 0a 20 20 22 52 65 ts))..(defun.-cycle.(list)..."Re
e600 74 75 72 6e 20 61 6e 20 69 6e 66 69 6e 69 74 65 20 63 69 72 63 75 6c 61 72 20 63 6f 70 79 20 6f turn.an.infinite.circular.copy.o
e620 66 20 4c 49 53 54 2e 0a 54 68 65 20 72 65 74 75 72 6e 65 64 20 6c 69 73 74 20 63 79 63 6c 65 73 f.LIST..The.returned.list.cycles
e640 20 74 68 72 6f 75 67 68 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 4c 49 53 54 20 61 6e .through.the.elements.of.LIST.an
e660 64 20 72 65 70 65 61 74 73 0a 66 72 6f 6d 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 2e 22 0a 20 d.repeats.from.the.beginning."..
e680 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d .(declare.(pure.t).(side-effect-
e6a0 66 72 65 65 20 74 29 29 0a 20 20 3b 3b 20 41 6c 73 6f 20 77 6f 72 6b 73 20 77 69 74 68 20 73 65 free.t))...;;.Also.works.with.se
e6c0 71 75 65 6e 63 65 73 20 74 68 61 74 20 61 72 65 6e 27 74 20 6c 69 73 74 73 2e 0a 20 20 28 6c 65 quences.that.aren't.lists....(le
e6e0 74 20 28 28 6e 65 77 6c 69 73 74 20 28 61 70 70 65 6e 64 20 6c 69 73 74 20 28 29 29 29 29 0a 20 t.((newlist.(append.list.())))..
e700 20 20 20 28 6e 63 6f 6e 63 20 6e 65 77 6c 69 73 74 20 6e 65 77 6c 69 73 74 29 29 29 0a 0a 28 64 ...(nconc.newlist.newlist)))..(d
e720 65 66 75 6e 20 2d 70 61 64 20 28 66 69 6c 6c 2d 76 61 6c 75 65 20 26 72 65 73 74 20 6c 69 73 74 efun.-pad.(fill-value.&rest.list
e740 73 29 0a 20 20 22 41 70 70 65 6e 64 73 20 46 49 4c 4c 2d 56 41 4c 55 45 20 74 6f 20 74 68 65 20 s)..."Appends.FILL-VALUE.to.the.
e760 65 6e 64 20 6f 66 20 65 61 63 68 20 6c 69 73 74 20 69 6e 20 4c 49 53 54 53 20 73 75 63 68 20 74 end.of.each.list.in.LISTS.such.t
e780 68 61 74 20 74 68 65 79 0a 77 69 6c 6c 20 61 6c 6c 20 68 61 76 65 20 74 68 65 20 73 61 6d 65 20 hat.they.will.all.have.the.same.
e7a0 6c 65 6e 67 74 68 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 61 6e 6e 6f 74 61 74 69 6f 6e 73 20 28 length."...(let*.((annotations.(
e7c0 2d 61 6e 6e 6f 74 61 74 65 20 27 6c 65 6e 67 74 68 20 6c 69 73 74 73 29 29 0a 20 20 20 20 20 20 -annotate.'length.lists)).......
e7e0 20 20 20 28 6e 20 28 2d 6d 61 78 20 28 2d 6d 61 70 20 27 63 61 72 20 61 6e 6e 6f 74 61 74 69 6f ...(n.(-max.(-map.'car.annotatio
e800 6e 73 29 29 29 29 0a 20 20 20 20 28 2d 2d 6d 61 70 20 28 61 70 70 65 6e 64 20 28 63 64 72 20 69 ns)))).....(--map.(append.(cdr.i
e820 74 29 20 28 2d 72 65 70 65 61 74 20 28 2d 20 6e 20 28 63 61 72 20 69 74 29 29 20 66 69 6c 6c 2d t).(-repeat.(-.n.(car.it)).fill-
e840 76 61 6c 75 65 29 29 20 61 6e 6e 6f 74 61 74 69 6f 6e 73 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d value)).annotations)))..(defun.-
e860 61 6e 6e 6f 74 61 74 65 20 28 66 6e 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c annotate.(fn.list)..."Return.a.l
e880 69 73 74 20 6f 66 20 63 6f 6e 73 20 63 65 6c 6c 73 20 77 68 65 72 65 20 65 61 63 68 20 63 65 6c ist.of.cons.cells.where.each.cel
e8a0 6c 20 69 73 20 46 4e 20 61 70 70 6c 69 65 64 20 74 6f 20 65 61 63 68 0a 65 6c 65 6d 65 6e 74 20 l.is.FN.applied.to.each.element.
e8c0 6f 66 20 4c 49 53 54 20 70 61 69 72 65 64 20 77 69 74 68 20 74 68 65 20 75 6e 6d 6f 64 69 66 69 of.LIST.paired.with.the.unmodifi
e8e0 65 64 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 2e 22 0a 20 20 28 2d 7a 69 70 20 28 2d 6d ed.element.of.LIST."...(-zip.(-m
e900 61 70 20 66 6e 20 6c 69 73 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d ap.fn.list).list))..(defmacro.--
e920 61 6e 6e 6f 74 61 74 65 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 annotate.(form.list)..."Anaphori
e940 63 20 76 65 72 73 69 6f 6e 20 6f 66 20 60 2d 61 6e 6e 6f 74 61 74 65 27 2e 22 0a 20 20 28 64 65 c.version.of.`-annotate'."...(de
e960 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 64 65 66 2d 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 clare.(debug.(def-form.form)))..
e980 20 60 28 2d 61 6e 6e 6f 74 61 74 65 20 28 6c 61 6d 62 64 61 20 28 69 74 29 20 2c 66 6f 72 6d 29 .`(-annotate.(lambda.(it).,form)
e9a0 20 2c 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 2d 74 61 62 6c 65 2d 63 61 72 .,list))..(defun.dash--table-car
e9c0 72 79 20 28 6c 69 73 74 73 20 72 65 73 74 6f 72 65 2d 6c 69 73 74 73 20 26 6f 70 74 69 6f 6e 61 ry.(lists.restore-lists.&optiona
e9e0 6c 20 72 65 29 0a 20 20 22 48 65 6c 70 65 72 20 66 6f 72 20 60 2d 74 61 62 6c 65 27 20 61 6e 64 l.re)..."Helper.for.`-table'.and
ea00 20 60 2d 74 61 62 6c 65 2d 66 6c 61 74 27 2e 0a 0a 49 66 20 61 20 6c 69 73 74 20 6f 76 65 72 66 .`-table-flat'...If.a.list.overf
ea20 6c 6f 77 73 2c 20 63 61 72 72 79 20 74 6f 20 74 68 65 20 72 69 67 68 74 20 61 6e 64 20 72 65 73 lows,.carry.to.the.right.and.res
ea40 65 74 20 74 68 65 20 6c 69 73 74 2e 22 0a 20 20 28 77 68 69 6c 65 20 28 6e 6f 74 20 28 6f 72 20 et.the.list."...(while.(not.(or.
ea60 28 63 61 72 20 6c 69 73 74 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 (car.lists)...................(e
ea80 71 75 61 6c 20 6c 69 73 74 73 20 27 28 6e 69 6c 29 29 29 29 0a 20 20 20 20 28 73 65 74 63 61 72 qual.lists.'(nil)))).....(setcar
eaa0 20 6c 69 73 74 73 20 28 63 61 72 20 72 65 73 74 6f 72 65 2d 6c 69 73 74 73 29 29 0a 20 20 20 20 .lists.(car.restore-lists)).....
eac0 28 70 6f 70 20 28 63 61 64 72 20 6c 69 73 74 73 29 29 0a 20 20 20 20 28 21 63 64 72 20 6c 69 73 (pop.(cadr.lists)).....(!cdr.lis
eae0 74 73 29 0a 20 20 20 20 28 21 63 64 72 20 72 65 73 74 6f 72 65 2d 6c 69 73 74 73 29 0a 20 20 20 ts).....(!cdr.restore-lists)....
eb00 20 28 77 68 65 6e 20 72 65 0a 20 20 20 20 20 20 28 70 75 73 68 20 28 6e 72 65 76 65 72 73 65 20 .(when.re.......(push.(nreverse.
eb20 28 63 61 72 20 72 65 29 29 20 28 63 61 64 72 20 72 65 29 29 0a 20 20 20 20 20 20 28 73 65 74 63 (car.re)).(cadr.re)).......(setc
eb40 61 72 20 72 65 20 6e 69 6c 29 0a 20 20 20 20 20 20 28 21 63 64 72 20 72 65 29 29 29 29 0a 0a 28 ar.re.nil).......(!cdr.re))))..(
eb60 64 65 66 75 6e 20 2d 74 61 62 6c 65 20 28 66 6e 20 26 72 65 73 74 20 6c 69 73 74 73 29 0a 20 20 defun.-table.(fn.&rest.lists)...
eb80 22 43 6f 6d 70 75 74 65 20 6f 75 74 65 72 20 70 72 6f 64 75 63 74 20 6f 66 20 4c 49 53 54 53 20 "Compute.outer.product.of.LISTS.
eba0 75 73 69 6e 67 20 66 75 6e 63 74 69 6f 6e 20 46 4e 2e 0a 0a 54 68 65 20 66 75 6e 63 74 69 6f 6e using.function.FN...The.function
ebc0 20 46 4e 20 73 68 6f 75 6c 64 20 68 61 76 65 20 74 68 65 20 73 61 6d 65 20 61 72 69 74 79 20 61 .FN.should.have.the.same.arity.a
ebe0 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 0a 73 75 70 70 6c 69 65 64 20 6c 69 73 74 73 2e 0a s.the.number.of.supplied.lists..
ec00 0a 54 68 65 20 6f 75 74 65 72 20 70 72 6f 64 75 63 74 20 69 73 20 63 6f 6d 70 75 74 65 64 20 62 .The.outer.product.is.computed.b
ec20 79 20 61 70 70 6c 79 69 6e 67 20 66 6e 20 74 6f 20 61 6c 6c 20 70 6f 73 73 69 62 6c 65 0a 63 6f y.applying.fn.to.all.possible.co
ec40 6d 62 69 6e 61 74 69 6f 6e 73 20 63 72 65 61 74 65 64 20 62 79 20 74 61 6b 69 6e 67 20 6f 6e 65 mbinations.created.by.taking.one
ec60 20 65 6c 65 6d 65 6e 74 20 66 72 6f 6d 20 65 61 63 68 20 6c 69 73 74 20 69 6e 0a 6f 72 64 65 72 .element.from.each.list.in.order
ec80 2e 20 20 54 68 65 20 64 69 6d 65 6e 73 69 6f 6e 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 20 69 ...The.dimension.of.the.result.i
eca0 73 20 28 6c 65 6e 67 74 68 20 6c 69 73 74 73 29 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 74 s.(length.lists)...See.also:.`-t
ecc0 61 62 6c 65 2d 66 6c 61 74 27 22 0a 20 20 28 6c 65 74 20 28 28 72 65 73 74 6f 72 65 2d 6c 69 73 able-flat'"...(let.((restore-lis
ece0 74 73 20 28 63 6f 70 79 2d 73 65 71 75 65 6e 63 65 20 6c 69 73 74 73 29 29 0a 20 20 20 20 20 20 ts.(copy-sequence.lists)).......
ed00 20 20 28 6c 61 73 74 2d 6c 69 73 74 20 28 6c 61 73 74 20 6c 69 73 74 73 29 29 0a 20 20 20 20 20 ..(last-list.(last.lists))......
ed20 20 20 20 28 72 65 20 28 6d 61 6b 65 2d 6c 69 73 74 20 28 6c 65 6e 67 74 68 20 6c 69 73 74 73 29 ...(re.(make-list.(length.lists)
ed40 20 6e 69 6c 29 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 63 61 72 20 6c 61 73 74 2d 6c 69 73 .nil))).....(while.(car.last-lis
ed60 74 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 69 74 65 6d 20 28 61 70 70 6c 79 20 66 6e 20 28 t).......(let.((item.(apply.fn.(
ed80 2d 6d 61 70 20 27 63 61 72 20 6c 69 73 74 73 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 70 75 73 -map.'car.lists)))).........(pus
eda0 68 20 69 74 65 6d 20 28 63 61 72 20 72 65 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 63 61 72 h.item.(car.re)).........(setcar
edc0 20 6c 69 73 74 73 20 28 63 64 61 72 20 6c 69 73 74 73 29 29 20 3b 3b 20 73 69 6c 65 6e 63 65 20 .lists.(cdar.lists)).;;.silence.
ede0 62 79 74 65 20 63 6f 6d 70 69 6c 65 72 0a 20 20 20 20 20 20 20 20 28 64 61 73 68 2d 2d 74 61 62 byte.compiler.........(dash--tab
ee00 6c 65 2d 63 61 72 72 79 20 6c 69 73 74 73 20 72 65 73 74 6f 72 65 2d 6c 69 73 74 73 20 72 65 29 le-carry.lists.restore-lists.re)
ee20 29 29 0a 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 28 63 61 72 20 28 6c 61 73 74 20 72 65 29 29 )).....(nreverse.(car.(last.re))
ee40 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 74 61 62 6c 65 2d 66 6c 61 74 20 28 66 6e 20 26 72 65 73 )))..(defun.-table-flat.(fn.&res
ee60 74 20 6c 69 73 74 73 29 0a 20 20 22 43 6f 6d 70 75 74 65 20 66 6c 61 74 20 6f 75 74 65 72 20 70 t.lists)..."Compute.flat.outer.p
ee80 72 6f 64 75 63 74 20 6f 66 20 4c 49 53 54 53 20 75 73 69 6e 67 20 66 75 6e 63 74 69 6f 6e 20 46 roduct.of.LISTS.using.function.F
eea0 4e 2e 0a 0a 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 46 4e 20 73 68 6f 75 6c 64 20 68 61 76 65 20 N...The.function.FN.should.have.
eec0 74 68 65 20 73 61 6d 65 20 61 72 69 74 79 20 61 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 0a the.same.arity.as.the.number.of.
eee0 73 75 70 70 6c 69 65 64 20 6c 69 73 74 73 2e 0a 0a 54 68 65 20 6f 75 74 65 72 20 70 72 6f 64 75 supplied.lists...The.outer.produ
ef00 63 74 20 69 73 20 63 6f 6d 70 75 74 65 64 20 62 79 20 61 70 70 6c 79 69 6e 67 20 66 6e 20 74 6f ct.is.computed.by.applying.fn.to
ef20 20 61 6c 6c 20 70 6f 73 73 69 62 6c 65 0a 63 6f 6d 62 69 6e 61 74 69 6f 6e 73 20 63 72 65 61 74 .all.possible.combinations.creat
ef40 65 64 20 62 79 20 74 61 6b 69 6e 67 20 6f 6e 65 20 65 6c 65 6d 65 6e 74 20 66 72 6f 6d 20 65 61 ed.by.taking.one.element.from.ea
ef60 63 68 20 6c 69 73 74 20 69 6e 0a 6f 72 64 65 72 2e 20 20 54 68 65 20 72 65 73 75 6c 74 73 20 61 ch.list.in.order...The.results.a
ef80 72 65 20 66 6c 61 74 74 65 6e 65 64 2c 20 69 67 6e 6f 72 69 6e 67 20 74 68 65 20 74 65 6e 73 6f re.flattened,.ignoring.the.tenso
efa0 72 20 73 74 72 75 63 74 75 72 65 0a 6f 66 20 74 68 65 20 72 65 73 75 6c 74 2e 20 20 54 68 69 73 r.structure.of.the.result...This
efc0 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 63 61 6c 6c 69 6e 67 3a 0a 0a 20 20 28 2d .is.equivalent.to.calling:....(-
efe0 66 6c 61 74 74 65 6e 2d 6e 20 28 31 2d 20 28 6c 65 6e 67 74 68 20 6c 69 73 74 73 29 29 20 28 61 flatten-n.(1-.(length.lists)).(a
f000 70 70 6c 79 20 5c 5c 3d 27 2d 74 61 62 6c 65 20 66 6e 20 6c 69 73 74 73 29 29 0a 0a 62 75 74 20 pply.\\='-table.fn.lists))..but.
f020 74 68 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 68 65 72 65 20 69 73 20 6d 75 63 68 20 the.implementation.here.is.much.
f040 6d 6f 72 65 20 65 66 66 69 63 69 65 6e 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 66 6c 61 more.efficient...See.also:.`-fla
f060 74 74 65 6e 2d 6e 27 2c 20 60 2d 74 61 62 6c 65 27 22 0a 20 20 28 6c 65 74 20 28 28 72 65 73 74 tten-n',.`-table'"...(let.((rest
f080 6f 72 65 2d 6c 69 73 74 73 20 28 63 6f 70 79 2d 73 65 71 75 65 6e 63 65 20 6c 69 73 74 73 29 29 ore-lists.(copy-sequence.lists))
f0a0 0a 20 20 20 20 20 20 20 20 28 6c 61 73 74 2d 6c 69 73 74 20 28 6c 61 73 74 20 6c 69 73 74 73 29 .........(last-list.(last.lists)
f0c0 29 0a 20 20 20 20 20 20 20 20 72 65 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 63 61 72 20 6c 61 ).........re).....(while.(car.la
f0e0 73 74 2d 6c 69 73 74 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 69 74 65 6d 20 28 61 70 70 6c st-list).......(let.((item.(appl
f100 79 20 66 6e 20 28 2d 6d 61 70 20 27 63 61 72 20 6c 69 73 74 73 29 29 29 29 0a 20 20 20 20 20 20 y.fn.(-map.'car.lists)))).......
f120 20 20 28 70 75 73 68 20 69 74 65 6d 20 72 65 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 63 61 72 ..(push.item.re).........(setcar
f140 20 6c 69 73 74 73 20 28 63 64 61 72 20 6c 69 73 74 73 29 29 20 3b 3b 20 73 69 6c 65 6e 63 65 20 .lists.(cdar.lists)).;;.silence.
f160 62 79 74 65 20 63 6f 6d 70 69 6c 65 72 0a 20 20 20 20 20 20 20 20 28 64 61 73 68 2d 2d 74 61 62 byte.compiler.........(dash--tab
f180 6c 65 2d 63 61 72 72 79 20 6c 69 73 74 73 20 72 65 73 74 6f 72 65 2d 6c 69 73 74 73 29 29 29 0a le-carry.lists.restore-lists))).
f1a0 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 72 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 65 6c 65 ....(nreverse.re)))..(defun.-ele
f1c0 6d 2d 69 6e 64 65 78 20 28 65 6c 65 6d 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 m-index.(elem.list)..."Return.th
f1e0 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 69 6e 20 e.index.of.the.first.element.in.
f200 74 68 65 20 67 69 76 65 6e 20 4c 49 53 54 20 77 68 69 63 68 0a 69 73 20 65 71 75 61 6c 20 74 6f the.given.LIST.which.is.equal.to
f220 20 74 68 65 20 71 75 65 72 79 20 65 6c 65 6d 65 6e 74 20 45 4c 45 4d 2c 20 6f 72 20 6e 69 6c 20 .the.query.element.ELEM,.or.nil.
f240 69 66 20 74 68 65 72 65 20 69 73 20 6e 6f 0a 73 75 63 68 20 65 6c 65 6d 65 6e 74 2e 22 0a 20 20 if.there.is.no.such.element."...
f260 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 (declare.(pure.t).(side-effect-f
f280 72 65 65 20 74 29 29 0a 20 20 28 63 61 72 20 28 2d 65 6c 65 6d 2d 69 6e 64 69 63 65 73 20 65 6c ree.t))...(car.(-elem-indices.el
f2a0 65 6d 20 6c 69 73 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 65 6c 65 6d 2d 69 6e 64 69 63 65 73 em.list)))..(defun.-elem-indices
f2c0 20 28 65 6c 65 6d 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 69 6e 64 69 63 .(elem.list)..."Return.the.indic
f2e0 65 73 20 6f 66 20 61 6c 6c 20 65 6c 65 6d 65 6e 74 73 20 69 6e 20 4c 49 53 54 20 65 71 75 61 6c es.of.all.elements.in.LIST.equal
f300 20 74 6f 20 74 68 65 20 71 75 65 72 79 0a 65 6c 65 6d 65 6e 74 20 45 4c 45 4d 2c 20 69 6e 20 61 .to.the.query.element.ELEM,.in.a
f320 73 63 65 6e 64 69 6e 67 20 6f 72 64 65 72 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 scending.order."...(declare.(pur
f340 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 2d 66 e.t).(side-effect-free.t))...(-f
f360 69 6e 64 2d 69 6e 64 69 63 65 73 20 28 2d 70 61 72 74 69 61 6c 20 27 65 71 75 61 6c 20 65 6c 65 ind-indices.(-partial.'equal.ele
f380 6d 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 66 69 6e 64 2d 69 6e 64 69 63 65 73 20 m).list))..(defun.-find-indices.
f3a0 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 69 6e 64 69 63 65 (pred.list)..."Return.the.indice
f3c0 73 20 6f 66 20 61 6c 6c 20 65 6c 65 6d 65 6e 74 73 20 69 6e 20 4c 49 53 54 20 73 61 74 69 73 66 s.of.all.elements.in.LIST.satisf
f3e0 79 69 6e 67 20 74 68 65 0a 70 72 65 64 69 63 61 74 65 20 50 52 45 44 2c 20 69 6e 20 61 73 63 65 ying.the.predicate.PRED,.in.asce
f400 6e 64 69 6e 67 20 6f 72 64 65 72 2e 22 0a 20 20 28 61 70 70 6c 79 20 27 61 70 70 65 6e 64 20 28 nding.order."...(apply.'append.(
f420 2d 2d 6d 61 70 2d 69 6e 64 65 78 65 64 20 28 77 68 65 6e 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 --map-indexed.(when.(funcall.pre
f440 64 20 69 74 29 20 28 6c 69 73 74 20 69 74 2d 69 6e 64 65 78 29 29 20 6c 69 73 74 29 29 29 0a 0a d.it).(list.it-index)).list)))..
f460 28 64 65 66 6d 61 63 72 6f 20 2d 2d 66 69 6e 64 2d 69 6e 64 69 63 65 73 20 28 66 6f 72 6d 20 6c (defmacro.--find-indices.(form.l
f480 69 73 74 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 2d 66 ist)..."Anaphoric.version.of.`-f
f4a0 69 6e 64 2d 69 6e 64 69 63 65 73 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 ind-indices'."...(declare.(debug
f4c0 20 28 64 65 66 2d 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 60 28 2d 66 69 6e 64 2d 69 6e 64 .(def-form.form)))...`(-find-ind
f4e0 69 63 65 73 20 28 6c 61 6d 62 64 61 20 28 69 74 29 20 2c 66 6f 72 6d 29 20 2c 6c 69 73 74 29 29 ices.(lambda.(it).,form).,list))
f500 0a 0a 28 64 65 66 75 6e 20 2d 66 69 6e 64 2d 69 6e 64 65 78 20 28 70 72 65 64 20 6c 69 73 74 29 ..(defun.-find-index.(pred.list)
f520 0a 20 20 22 54 61 6b 65 20 61 20 70 72 65 64 69 63 61 74 65 20 50 52 45 44 20 61 6e 64 20 61 20 ..."Take.a.predicate.PRED.and.a.
f540 4c 49 53 54 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 LIST.and.return.the.index.of.the
f560 0a 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 69 6e 20 74 68 65 20 6c 69 73 74 20 73 61 74 69 73 .first.element.in.the.list.satis
f580 66 79 69 6e 67 20 74 68 65 20 70 72 65 64 69 63 61 74 65 2c 20 6f 72 20 6e 69 6c 20 69 66 0a 74 fying.the.predicate,.or.nil.if.t
f5a0 68 65 72 65 20 69 73 20 6e 6f 20 73 75 63 68 20 65 6c 65 6d 65 6e 74 2e 0a 0a 53 65 65 20 61 6c here.is.no.such.element...See.al
f5c0 73 6f 20 60 2d 66 69 72 73 74 27 2e 22 0a 20 20 28 63 61 72 20 28 2d 66 69 6e 64 2d 69 6e 64 69 so.`-first'."...(car.(-find-indi
f5e0 63 65 73 20 70 72 65 64 20 6c 69 73 74 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 66 69 ces.pred.list)))..(defmacro.--fi
f600 6e 64 2d 69 6e 64 65 78 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 nd-index.(form.list)..."Anaphori
f620 63 20 76 65 72 73 69 6f 6e 20 6f 66 20 60 2d 66 69 6e 64 2d 69 6e 64 65 78 27 2e 22 0a 20 20 28 c.version.of.`-find-index'."...(
f640 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 64 65 66 2d 66 6f 72 6d 20 66 6f 72 6d 29 29 29 declare.(debug.(def-form.form)))
f660 0a 20 20 60 28 2d 66 69 6e 64 2d 69 6e 64 65 78 20 28 6c 61 6d 62 64 61 20 28 69 74 29 20 2c 66 ...`(-find-index.(lambda.(it).,f
f680 6f 72 6d 29 20 2c 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 66 69 6e 64 2d 6c 61 73 74 2d orm).,list))..(defun.-find-last-
f6a0 69 6e 64 65 78 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 22 54 61 6b 65 20 61 20 70 72 65 64 index.(pred.list)..."Take.a.pred
f6c0 69 63 61 74 65 20 50 52 45 44 20 61 6e 64 20 61 20 4c 49 53 54 20 61 6e 64 20 72 65 74 75 72 6e icate.PRED.and.a.LIST.and.return
f6e0 20 74 68 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 0a 6c 61 73 74 20 65 6c 65 6d 65 6e 74 20 69 .the.index.of.the.last.element.i
f700 6e 20 74 68 65 20 6c 69 73 74 20 73 61 74 69 73 66 79 69 6e 67 20 74 68 65 20 70 72 65 64 69 63 n.the.list.satisfying.the.predic
f720 61 74 65 2c 20 6f 72 20 6e 69 6c 20 69 66 0a 74 68 65 72 65 20 69 73 20 6e 6f 20 73 75 63 68 20 ate,.or.nil.if.there.is.no.such.
f740 65 6c 65 6d 65 6e 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 20 60 2d 6c 61 73 74 27 2e 22 0a 20 20 28 element...See.also.`-last'."...(
f760 2d 6c 61 73 74 2d 69 74 65 6d 20 28 2d 66 69 6e 64 2d 69 6e 64 69 63 65 73 20 70 72 65 64 20 6c -last-item.(-find-indices.pred.l
f780 69 73 74 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e ist)))..(defmacro.--find-last-in
f7a0 64 65 78 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 20 76 65 72 dex.(form.list)..."Anaphoric.ver
f7c0 73 69 6f 6e 20 6f 66 20 60 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 78 27 2e 22 0a 20 20 28 sion.of.`-find-last-index'."...(
f7e0 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 64 65 66 2d 66 6f 72 6d 20 66 6f 72 6d 29 29 29 declare.(debug.(def-form.form)))
f800 0a 20 20 60 28 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 78 20 28 6c 61 6d 62 64 61 20 28 69 ...`(-find-last-index.(lambda.(i
f820 74 29 20 2c 66 6f 72 6d 29 20 2c 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 73 65 6c 65 63 t).,form).,list))..(defun.-selec
f840 74 2d 62 79 2d 69 6e 64 69 63 65 73 20 28 69 6e 64 69 63 65 73 20 6c 69 73 74 29 0a 20 20 22 52 t-by-indices.(indices.list)..."R
f860 65 74 75 72 6e 20 61 20 6c 69 73 74 20 77 68 6f 73 65 20 65 6c 65 6d 65 6e 74 73 20 61 72 65 20 eturn.a.list.whose.elements.are.
f880 65 6c 65 6d 65 6e 74 73 20 66 72 6f 6d 20 4c 49 53 54 20 73 65 6c 65 63 74 65 64 0a 61 73 20 60 elements.from.LIST.selected.as.`
f8a0 28 6e 74 68 20 69 20 6c 69 73 74 29 60 20 66 6f 72 20 61 6c 6c 20 69 20 66 72 6f 6d 20 49 4e 44 (nth.i.list)`.for.all.i.from.IND
f8c0 49 43 45 53 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 ICES."...(declare.(pure.t).(side
f8e0 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 6c 65 74 20 28 72 29 0a 20 20 20 20 -effect-free.t))...(let.(r).....
f900 28 2d 2d 65 61 63 68 20 69 6e 64 69 63 65 73 0a 20 20 20 20 20 20 28 21 63 6f 6e 73 20 28 6e 74 (--each.indices.......(!cons.(nt
f920 68 20 69 74 20 6c 69 73 74 29 20 72 29 29 0a 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 72 29 29 h.it.list).r)).....(nreverse.r))
f940 29 0a 0a 28 64 65 66 75 6e 20 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 73 20 28 63 6f 6c 75 6d )..(defun.-select-columns.(colum
f960 6e 73 20 74 61 62 6c 65 29 0a 20 20 22 53 65 6c 65 63 74 20 43 4f 4c 55 4d 4e 53 20 66 72 6f 6d ns.table)..."Select.COLUMNS.from
f980 20 54 41 42 4c 45 2e 0a 0a 54 41 42 4c 45 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 6c 69 73 74 .TABLE...TABLE.is.a.list.of.list
f9a0 73 20 77 68 65 72 65 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 72 65 70 72 65 73 65 6e 74 73 20 s.where.each.element.represents.
f9c0 6f 6e 65 20 72 6f 77 2e 0a 49 74 20 69 73 20 61 73 73 75 6d 65 64 20 65 61 63 68 20 72 6f 77 20 one.row..It.is.assumed.each.row.
f9e0 68 61 73 20 74 68 65 20 73 61 6d 65 20 6c 65 6e 67 74 68 2e 0a 0a 45 61 63 68 20 72 6f 77 20 69 has.the.same.length...Each.row.i
fa00 73 20 74 72 61 6e 73 66 6f 72 6d 65 64 20 73 75 63 68 20 74 68 61 74 20 6f 6e 6c 79 20 74 68 65 s.transformed.such.that.only.the
fa20 20 73 70 65 63 69 66 69 65 64 20 43 4f 4c 55 4d 4e 53 20 61 72 65 0a 73 65 6c 65 63 74 65 64 2e .specified.COLUMNS.are.selected.
fa40 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 27 2c 20 60 2d ..See.also:.`-select-column',.`-
fa60 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 27 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 select-by-indices'"...(declare.(
fa80 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 pure.t).(side-effect-free.t))...
faa0 28 2d 2d 6d 61 70 20 28 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 20 63 6f 6c 75 6d (--map.(-select-by-indices.colum
fac0 6e 73 20 69 74 29 20 74 61 62 6c 65 29 29 0a 0a 28 64 65 66 75 6e 20 2d 73 65 6c 65 63 74 2d 63 ns.it).table))..(defun.-select-c
fae0 6f 6c 75 6d 6e 20 28 63 6f 6c 75 6d 6e 20 74 61 62 6c 65 29 0a 20 20 22 53 65 6c 65 63 74 20 43 olumn.(column.table)..."Select.C
fb00 4f 4c 55 4d 4e 20 66 72 6f 6d 20 54 41 42 4c 45 2e 0a 0a 54 41 42 4c 45 20 69 73 20 61 20 6c 69 OLUMN.from.TABLE...TABLE.is.a.li
fb20 73 74 20 6f 66 20 6c 69 73 74 73 20 77 68 65 72 65 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 72 st.of.lists.where.each.element.r
fb40 65 70 72 65 73 65 6e 74 73 20 6f 6e 65 20 72 6f 77 2e 0a 49 74 20 69 73 20 61 73 73 75 6d 65 64 epresents.one.row..It.is.assumed
fb60 20 65 61 63 68 20 72 6f 77 20 68 61 73 20 74 68 65 20 73 61 6d 65 20 6c 65 6e 67 74 68 2e 0a 0a .each.row.has.the.same.length...
fb80 54 68 65 20 73 69 6e 67 6c 65 20 73 65 6c 65 63 74 65 64 20 63 6f 6c 75 6d 6e 20 69 73 20 72 65 The.single.selected.column.is.re
fba0 74 75 72 6e 65 64 20 61 73 20 61 20 6c 69 73 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 73 turned.as.a.list...See.also:.`-s
fbc0 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 73 27 2c 20 60 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 elect-columns',.`-select-by-indi
fbe0 63 65 73 27 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d ces'"...(declare.(pure.t).(side-
fc00 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 2d 2d 6d 61 70 63 61 74 20 28 2d 73 65 effect-free.t))...(--mapcat.(-se
fc20 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 20 28 6c 69 73 74 20 63 6f 6c 75 6d 6e 29 20 69 74 lect-by-indices.(list.column).it
fc40 29 20 74 61 62 6c 65 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 3e 20 28 78 20 26 6f 70 74 69 ).table))..(defmacro.->.(x.&opti
fc60 6f 6e 61 6c 20 66 6f 72 6d 20 26 72 65 73 74 20 6d 6f 72 65 29 0a 20 20 22 54 68 72 65 61 64 20 onal.form.&rest.more)..."Thread.
fc80 74 68 65 20 65 78 70 72 20 74 68 72 6f 75 67 68 20 74 68 65 20 66 6f 72 6d 73 2e 20 49 6e 73 65 the.expr.through.the.forms..Inse
fca0 72 74 20 58 20 61 73 20 74 68 65 20 73 65 63 6f 6e 64 20 69 74 65 6d 0a 69 6e 20 74 68 65 20 66 rt.X.as.the.second.item.in.the.f
fcc0 69 72 73 74 20 66 6f 72 6d 2c 20 6d 61 6b 69 6e 67 20 61 20 6c 69 73 74 20 6f 66 20 69 74 20 69 irst.form,.making.a.list.of.it.i
fce0 66 20 69 74 20 69 73 20 6e 6f 74 20 61 20 6c 69 73 74 0a 61 6c 72 65 61 64 79 2e 20 49 66 20 74 f.it.is.not.a.list.already..If.t
fd00 68 65 72 65 20 61 72 65 20 6d 6f 72 65 20 66 6f 72 6d 73 2c 20 69 6e 73 65 72 74 20 74 68 65 20 here.are.more.forms,.insert.the.
fd20 66 69 72 73 74 20 66 6f 72 6d 20 61 73 20 74 68 65 0a 73 65 63 6f 6e 64 20 69 74 65 6d 20 69 6e first.form.as.the.second.item.in
fd40 20 73 65 63 6f 6e 64 20 66 6f 72 6d 2c 20 65 74 63 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 .second.form,.etc."...(declare.(
fd60 64 65 62 75 67 20 28 66 6f 72 6d 20 26 72 65 73 74 20 5b 26 6f 72 20 73 79 6d 62 6f 6c 70 20 28 debug.(form.&rest.[&or.symbolp.(
fd80 73 65 78 70 20 26 72 65 73 74 20 66 6f 72 6d 29 5d 29 29 29 0a 20 20 28 63 6f 6e 64 0a 20 20 20 sexp.&rest.form)])))...(cond....
fda0 28 28 6e 75 6c 6c 20 66 6f 72 6d 29 20 78 29 0a 20 20 20 28 28 6e 75 6c 6c 20 6d 6f 72 65 29 20 ((null.form).x)....((null.more).
fdc0 28 69 66 20 28 6c 69 73 74 70 20 66 6f 72 6d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (if.(listp.form)................
fde0 20 20 20 20 20 60 28 2c 28 63 61 72 20 66 6f 72 6d 29 20 2c 78 20 2c 40 28 63 64 72 20 66 6f 72 .....`(,(car.form).,x.,@(cdr.for
fe00 6d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 66 6f 72 6d m))...................(list.form
fe20 20 78 29 29 29 0a 20 20 20 28 3a 65 6c 73 65 20 60 28 2d 3e 20 28 2d 3e 20 2c 78 20 2c 66 6f 72 .x)))....(:else.`(->.(->.,x.,for
fe40 6d 29 20 2c 40 6d 6f 72 65 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 3e 3e 20 28 78 20 m).,@more))))..(defmacro.->>.(x.
fe60 26 6f 70 74 69 6f 6e 61 6c 20 66 6f 72 6d 20 26 72 65 73 74 20 6d 6f 72 65 29 0a 20 20 22 54 68 &optional.form.&rest.more)..."Th
fe80 72 65 61 64 20 74 68 65 20 65 78 70 72 20 74 68 72 6f 75 67 68 20 74 68 65 20 66 6f 72 6d 73 2e read.the.expr.through.the.forms.
fea0 20 49 6e 73 65 72 74 20 58 20 61 73 20 74 68 65 20 6c 61 73 74 20 69 74 65 6d 0a 69 6e 20 74 68 .Insert.X.as.the.last.item.in.th
fec0 65 20 66 69 72 73 74 20 66 6f 72 6d 2c 20 6d 61 6b 69 6e 67 20 61 20 6c 69 73 74 20 6f 66 20 69 e.first.form,.making.a.list.of.i
fee0 74 20 69 66 20 69 74 20 69 73 20 6e 6f 74 20 61 20 6c 69 73 74 0a 61 6c 72 65 61 64 79 2e 20 49 t.if.it.is.not.a.list.already..I
ff00 66 20 74 68 65 72 65 20 61 72 65 20 6d 6f 72 65 20 66 6f 72 6d 73 2c 20 69 6e 73 65 72 74 20 74 f.there.are.more.forms,.insert.t
ff20 68 65 20 66 69 72 73 74 20 66 6f 72 6d 20 61 73 20 74 68 65 0a 6c 61 73 74 20 69 74 65 6d 20 69 he.first.form.as.the.last.item.i
ff40 6e 20 73 65 63 6f 6e 64 20 66 6f 72 6d 2c 20 65 74 63 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 n.second.form,.etc."...(declare.
ff60 28 64 65 62 75 67 20 2d 3e 29 29 0a 20 20 28 63 6f 6e 64 0a 20 20 20 28 28 6e 75 6c 6c 20 66 6f (debug.->))...(cond....((null.fo
ff80 72 6d 29 20 78 29 0a 20 20 20 28 28 6e 75 6c 6c 20 6d 6f 72 65 29 20 28 69 66 20 28 6c 69 73 74 rm).x)....((null.more).(if.(list
ffa0 70 20 66 6f 72 6d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 2c 40 p.form).....................`(,@
ffc0 66 6f 72 6d 20 2c 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 form.,x)...................(list
ffe0 20 66 6f 72 6d 20 78 29 29 29 0a 20 20 20 28 3a 65 6c 73 65 20 60 28 2d 3e 3e 20 28 2d 3e 3e 20 .form.x)))....(:else.`(->>.(->>.
10000 2c 78 20 2c 66 6f 72 6d 29 20 2c 40 6d 6f 72 65 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 ,x.,form).,@more))))..(defmacro.
10020 2d 2d 3e 20 28 78 20 26 72 65 73 74 20 66 6f 72 6d 73 29 0a 20 20 22 53 74 61 72 74 69 6e 67 20 -->.(x.&rest.forms)..."Starting.
10040 77 69 74 68 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 58 2c 20 74 68 72 65 61 64 20 65 61 63 68 with.the.value.of.X,.thread.each
10060 20 65 78 70 72 65 73 73 69 6f 6e 20 74 68 72 6f 75 67 68 20 46 4f 52 4d 53 2e 0a 0a 49 6e 73 65 .expression.through.FORMS...Inse
10080 72 74 20 58 20 61 74 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 20 73 69 67 6e 69 66 69 65 64 20 62 rt.X.at.the.position.signified.b
100a0 79 20 74 68 65 20 73 79 6d 62 6f 6c 20 60 69 74 27 20 69 6e 20 74 68 65 20 66 69 72 73 74 0a 66 y.the.symbol.`it'.in.the.first.f
100c0 6f 72 6d 2e 20 20 49 66 20 74 68 65 72 65 20 61 72 65 20 6d 6f 72 65 20 66 6f 72 6d 73 2c 20 69 orm...If.there.are.more.forms,.i
100e0 6e 73 65 72 74 20 74 68 65 20 66 69 72 73 74 20 66 6f 72 6d 20 61 74 20 74 68 65 20 70 6f 73 69 nsert.the.first.form.at.the.posi
10100 74 69 6f 6e 0a 73 69 67 6e 69 66 69 65 64 20 62 79 20 60 69 74 27 20 69 6e 20 69 6e 20 73 65 63 tion.signified.by.`it'.in.in.sec
10120 6f 6e 64 20 66 6f 72 6d 2c 20 65 74 63 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 ond.form,.etc."...(declare.(debu
10140 67 20 28 66 6f 72 6d 20 62 6f 64 79 29 29 29 0a 20 20 60 28 2d 61 73 2d 3e 20 2c 78 20 69 74 20 g.(form.body)))...`(-as->.,x.it.
10160 2c 40 66 6f 72 6d 73 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 61 73 2d 3e 20 28 76 61 6c 75 ,@forms))..(defmacro.-as->.(valu
10180 65 20 76 61 72 69 61 62 6c 65 20 26 72 65 73 74 20 66 6f 72 6d 73 29 0a 20 20 22 53 74 61 72 74 e.variable.&rest.forms)..."Start
101a0 69 6e 67 20 77 69 74 68 20 56 41 4c 55 45 2c 20 74 68 72 65 61 64 20 56 41 52 49 41 42 4c 45 20 ing.with.VALUE,.thread.VARIABLE.
101c0 74 68 72 6f 75 67 68 20 46 4f 52 4d 53 2e 0a 0a 49 6e 20 74 68 65 20 66 69 72 73 74 20 66 6f 72 through.FORMS...In.the.first.for
101e0 6d 2c 20 62 69 6e 64 20 56 41 52 49 41 42 4c 45 20 74 6f 20 56 41 4c 55 45 2e 20 20 49 6e 20 74 m,.bind.VARIABLE.to.VALUE...In.t
10200 68 65 20 73 65 63 6f 6e 64 20 66 6f 72 6d 2c 20 62 69 6e 64 0a 56 41 52 49 41 42 4c 45 20 74 6f he.second.form,.bind.VARIABLE.to
10220 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 66 6f 72 6d 2c 20 61 .the.result.of.the.first.form,.a
10240 6e 64 20 73 6f 20 66 6f 72 74 68 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 nd.so.forth."...(declare.(debug.
10260 28 66 6f 72 6d 20 73 79 6d 62 6f 6c 70 20 62 6f 64 79 29 29 29 0a 20 20 28 69 66 20 28 6e 75 6c (form.symbolp.body)))...(if.(nul
10280 6c 20 66 6f 72 6d 73 29 0a 20 20 20 20 20 20 60 2c 76 61 6c 75 65 0a 20 20 20 20 60 28 6c 65 74 l.forms).......`,value.....`(let
102a0 20 28 28 2c 76 61 72 69 61 62 6c 65 20 2c 76 61 6c 75 65 29 29 0a 20 20 20 20 20 20 20 28 2d 61 .((,variable.,value))........(-a
102c0 73 2d 3e 20 2c 28 69 66 20 28 73 79 6d 62 6f 6c 70 20 28 63 61 72 20 66 6f 72 6d 73 29 29 0a 20 s->.,(if.(symbolp.(car.forms))..
102e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 28 63 61 72 20 66 6f 72 ..................(list.(car.for
10300 6d 73 29 20 76 61 72 69 61 62 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ms).variable)..................(
10320 63 61 72 20 66 6f 72 6d 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 76 61 72 69 61 car.forms))...............,varia
10340 62 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 40 28 63 64 72 20 66 6f 72 6d 73 29 29 ble...............,@(cdr.forms))
10360 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 73 6f 6d 65 2d 3e 20 28 78 20 26 6f 70 74 69 6f )))..(defmacro.-some->.(x.&optio
10380 6e 61 6c 20 66 6f 72 6d 20 26 72 65 73 74 20 6d 6f 72 65 29 0a 20 20 22 57 68 65 6e 20 65 78 70 nal.form.&rest.more)..."When.exp
103a0 72 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 72 65 61 64 20 69 74 20 74 68 72 6f 75 67 68 20 r.is.non-nil,.thread.it.through.
103c0 74 68 65 20 66 69 72 73 74 20 66 6f 72 6d 20 28 76 69 61 20 60 2d 3e 27 29 2c 0a 61 6e 64 20 77 the.first.form.(via.`->'),.and.w
103e0 68 65 6e 20 74 68 61 74 20 72 65 73 75 6c 74 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 72 6f hen.that.result.is.non-nil,.thro
10400 75 67 68 20 74 68 65 20 6e 65 78 74 20 66 6f 72 6d 2c 20 65 74 63 2e 22 0a 20 20 28 64 65 63 6c ugh.the.next.form,.etc."...(decl
10420 61 72 65 20 28 64 65 62 75 67 20 2d 3e 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 64 65 6e are.(debug.->)............(inden
10440 74 20 31 29 29 0a 20 20 28 69 66 20 28 6e 75 6c 6c 20 66 6f 72 6d 29 20 78 0a 20 20 20 20 28 6c t.1))...(if.(null.form).x.....(l
10460 65 74 20 28 28 72 65 73 75 6c 74 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 72 65 73 75 6c 74 et.((result.(make-symbol."result
10480 22 29 29 29 0a 20 20 20 20 20 20 60 28 2d 73 6f 6d 65 2d 3e 20 28 2d 77 68 65 6e 2d 6c 65 74 20 "))).......`(-some->.(-when-let.
104a0 28 2c 72 65 73 75 6c 74 20 2c 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 (,result.,x)...................(
104c0 2d 3e 20 2c 72 65 73 75 6c 74 20 2c 66 6f 72 6d 29 29 0a 20 20 20 20 20 20 20 20 20 2c 40 6d 6f ->.,result.,form))..........,@mo
104e0 72 65 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 73 6f 6d 65 2d 3e 3e 20 28 78 20 26 6f re))))..(defmacro.-some->>.(x.&o
10500 70 74 69 6f 6e 61 6c 20 66 6f 72 6d 20 26 72 65 73 74 20 6d 6f 72 65 29 0a 20 20 22 57 68 65 6e ptional.form.&rest.more)..."When
10520 20 65 78 70 72 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 72 65 61 64 20 69 74 20 74 68 72 6f .expr.is.non-nil,.thread.it.thro
10540 75 67 68 20 74 68 65 20 66 69 72 73 74 20 66 6f 72 6d 20 28 76 69 61 20 60 2d 3e 3e 27 29 2c 0a ugh.the.first.form.(via.`->>'),.
10560 61 6e 64 20 77 68 65 6e 20 74 68 61 74 20 72 65 73 75 6c 74 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c and.when.that.result.is.non-nil,
10580 20 74 68 72 6f 75 67 68 20 74 68 65 20 6e 65 78 74 20 66 6f 72 6d 2c 20 65 74 63 2e 22 0a 20 20 .through.the.next.form,.etc."...
105a0 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 2d 3e 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 (declare.(debug.->)............(
105c0 69 6e 64 65 6e 74 20 31 29 29 0a 20 20 28 69 66 20 28 6e 75 6c 6c 20 66 6f 72 6d 29 20 78 0a 20 indent.1))...(if.(null.form).x..
105e0 20 20 20 28 6c 65 74 20 28 28 72 65 73 75 6c 74 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 72 ...(let.((result.(make-symbol."r
10600 65 73 75 6c 74 22 29 29 29 0a 20 20 20 20 20 20 60 28 2d 73 6f 6d 65 2d 3e 3e 20 28 2d 77 68 65 esult"))).......`(-some->>.(-whe
10620 6e 2d 6c 65 74 20 28 2c 72 65 73 75 6c 74 20 2c 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 n-let.(,result.,x)..............
10640 20 20 20 20 20 20 28 2d 3e 3e 20 2c 72 65 73 75 6c 74 20 2c 66 6f 72 6d 29 29 0a 20 20 20 20 20 ......(->>.,result.,form))......
10660 20 20 20 20 2c 40 6d 6f 72 65 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 73 6f 6d 65 2d ....,@more))))..(defmacro.-some-
10680 2d 3e 20 28 65 78 70 72 20 26 72 65 73 74 20 66 6f 72 6d 73 29 0a 20 20 22 54 68 72 65 61 64 20 ->.(expr.&rest.forms)..."Thread.
106a0 45 58 50 52 20 74 68 72 6f 75 67 68 20 46 4f 52 4d 53 20 76 69 61 20 60 2d 2d 3e 27 2c 20 77 68 EXPR.through.FORMS.via.`-->',.wh
106c0 69 6c 65 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 57 68 65 6e 20 ile.the.result.is.non-nil..When.
106e0 45 58 50 52 20 65 76 61 6c 75 61 74 65 73 20 74 6f 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 72 65 61 EXPR.evaluates.to.non-nil,.threa
10700 64 20 74 68 65 20 72 65 73 75 6c 74 20 74 68 72 6f 75 67 68 20 74 68 65 0a 66 69 72 73 74 20 6f d.the.result.through.the.first.o
10720 66 20 46 4f 52 4d 53 2c 20 61 6e 64 20 77 68 65 6e 20 74 68 61 74 20 72 65 73 75 6c 74 20 69 73 f.FORMS,.and.when.that.result.is
10740 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 72 65 61 64 20 69 74 0a 74 68 72 6f 75 67 68 20 74 68 65 20 .non-nil,.thread.it.through.the.
10760 6e 65 78 74 20 66 6f 72 6d 2c 20 65 74 63 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 next.form,.etc."...(declare.(deb
10780 75 67 20 28 66 6f 72 6d 20 26 72 65 73 74 20 26 6f 72 20 73 79 6d 62 6f 6c 70 20 63 6f 6e 73 70 ug.(form.&rest.&or.symbolp.consp
107a0 29 29 20 28 69 6e 64 65 6e 74 20 31 29 29 0a 20 20 28 69 66 20 28 6e 75 6c 6c 20 66 6f 72 6d 73 )).(indent.1))...(if.(null.forms
107c0 29 20 65 78 70 72 0a 20 20 20 20 28 6c 65 74 20 28 28 72 65 73 75 6c 74 20 28 6d 61 6b 65 2d 73 ).expr.....(let.((result.(make-s
107e0 79 6d 62 6f 6c 20 22 72 65 73 75 6c 74 22 29 29 29 0a 20 20 20 20 20 20 60 28 2d 73 6f 6d 65 2d ymbol."result"))).......`(-some-
10800 2d 3e 20 28 2d 77 68 65 6e 2d 6c 65 74 20 28 2c 72 65 73 75 6c 74 20 2c 65 78 70 72 29 0a 20 20 ->.(-when-let.(,result.,expr)...
10820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 2d 3e 20 2c 72 65 73 75 6c 74 20 2c 28 .................(-->.,result.,(
10840 63 61 72 20 66 6f 72 6d 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 2c 40 28 63 64 72 20 66 6f 72 car.forms)))..........,@(cdr.for
10860 6d 73 29 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 64 6f 74 6f 20 28 69 6e 69 74 20 26 ms)))))..(defmacro.-doto.(init.&
10880 72 65 73 74 20 66 6f 72 6d 73 29 0a 20 20 22 45 76 61 6c 75 61 74 65 20 49 4e 49 54 20 61 6e 64 rest.forms)..."Evaluate.INIT.and
108a0 20 70 61 73 73 20 69 74 20 61 73 20 61 72 67 75 6d 65 6e 74 20 74 6f 20 46 4f 52 4d 53 20 77 69 .pass.it.as.argument.to.FORMS.wi
108c0 74 68 20 60 2d 3e 27 2e 0a 54 68 65 20 52 45 53 55 4c 54 20 6f 66 20 65 76 61 6c 75 61 74 69 6e th.`->'..The.RESULT.of.evaluatin
108e0 67 20 49 4e 49 54 20 69 73 20 74 68 72 65 61 64 65 64 20 74 68 72 6f 75 67 68 20 65 61 63 68 20 g.INIT.is.threaded.through.each.
10900 6f 66 20 46 4f 52 4d 53 0a 69 6e 64 69 76 69 64 75 61 6c 6c 79 20 75 73 69 6e 67 20 60 2d 3e 27 of.FORMS.individually.using.`->'
10920 2c 20 77 68 69 63 68 20 73 65 65 2e 20 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 ,.which.see...The.return.value.i
10940 73 20 52 45 53 55 4c 54 2c 0a 77 68 69 63 68 20 46 4f 52 4d 53 20 6d 61 79 20 68 61 76 65 20 6d s.RESULT,.which.FORMS.may.have.m
10960 6f 64 69 66 69 65 64 20 62 79 20 73 69 64 65 20 65 66 66 65 63 74 2e 22 0a 20 20 28 64 65 63 6c odified.by.side.effect."...(decl
10980 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 26 72 65 73 74 20 26 6f 72 20 73 79 6d 62 6f are.(debug.(form.&rest.&or.symbo
109a0 6c 70 20 63 6f 6e 73 70 29 29 20 28 69 6e 64 65 6e 74 20 31 29 29 0a 20 20 28 6c 65 74 20 28 28 lp.consp)).(indent.1))...(let.((
109c0 72 65 74 76 61 6c 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 72 65 73 75 6c 74 22 29 29 29 0a retval.(make-symbol."result"))).
109e0 20 20 20 20 60 28 6c 65 74 20 28 28 2c 72 65 74 76 61 6c 20 2c 69 6e 69 74 29 29 0a 20 20 20 20 ....`(let.((,retval.,init)).....
10a00 20 20 20 2c 40 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 66 6f 72 6d 29 20 60 28 2d 3e ...,@(mapcar.(lambda.(form).`(->
10a20 20 2c 72 65 74 76 61 6c 20 2c 66 6f 72 6d 29 29 20 66 6f 72 6d 73 29 0a 20 20 20 20 20 20 20 2c .,retval.,form)).forms)........,
10a40 72 65 74 76 61 6c 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 64 6f 74 6f 20 28 69 6e 69 retval)))..(defmacro.--doto.(ini
10a60 74 20 26 72 65 73 74 20 66 6f 72 6d 73 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 20 66 6f 72 6d t.&rest.forms)..."Anaphoric.form
10a80 20 6f 66 20 60 2d 64 6f 74 6f 27 2e 0a 54 68 69 73 20 6a 75 73 74 20 65 76 61 6c 75 61 74 65 73 .of.`-doto'..This.just.evaluates
10aa0 20 49 4e 49 54 2c 20 62 69 6e 64 73 20 74 68 65 20 72 65 73 75 6c 74 20 74 6f 20 60 69 74 27 2c .INIT,.binds.the.result.to.`it',
10ac0 20 65 76 61 6c 75 61 74 65 73 0a 46 4f 52 4d 53 2c 20 61 6e 64 20 72 65 74 75 72 6e 73 20 74 68 .evaluates.FORMS,.and.returns.th
10ae0 65 20 66 69 6e 61 6c 20 76 61 6c 75 65 20 6f 66 20 60 69 74 27 2e 0a 4e 6f 74 65 3a 20 60 69 74 e.final.value.of.`it'..Note:.`it
10b00 27 20 6e 65 65 64 20 6e 6f 74 20 62 65 20 75 73 65 64 20 69 6e 20 65 61 63 68 20 66 6f 72 6d 2e '.need.not.be.used.in.each.form.
10b20 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 62 6f 64 79 29 29 "...(declare.(debug.(form.body))
10b40 20 28 69 6e 64 65 6e 74 20 31 29 29 0a 20 20 60 28 6c 65 74 20 28 28 69 74 20 2c 69 6e 69 74 29 .(indent.1))...`(let.((it.,init)
10b60 29 0a 20 20 20 20 20 2c 40 66 6f 72 6d 73 0a 20 20 20 20 20 69 74 29 29 0a 0a 28 64 65 66 75 6e )......,@forms......it))..(defun
10b80 20 2d 67 72 61 64 65 2d 75 70 20 28 63 6f 6d 70 61 72 61 74 6f 72 20 6c 69 73 74 29 0a 20 20 22 .-grade-up.(comparator.list)..."
10ba0 47 72 61 64 65 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 4c 49 53 54 20 75 73 69 6e 67 20 43 4f 4d Grade.elements.of.LIST.using.COM
10bc0 50 41 52 41 54 4f 52 20 72 65 6c 61 74 69 6f 6e 2e 0a 54 68 69 73 20 79 69 65 6c 64 73 20 61 20 PARATOR.relation..This.yields.a.
10be0 70 65 72 6d 75 74 61 74 69 6f 6e 20 76 65 63 74 6f 72 20 73 75 63 68 20 74 68 61 74 20 61 70 70 permutation.vector.such.that.app
10c00 6c 79 69 6e 67 20 74 68 69 73 0a 70 65 72 6d 75 74 61 74 69 6f 6e 20 74 6f 20 4c 49 53 54 20 73 lying.this.permutation.to.LIST.s
10c20 6f 72 74 73 20 69 74 20 69 6e 20 61 73 63 65 6e 64 69 6e 67 20 6f 72 64 65 72 2e 22 0a 20 20 28 orts.it.in.ascending.order."...(
10c40 2d 3e 3e 20 28 2d 2d 6d 61 70 2d 69 6e 64 65 78 65 64 20 28 63 6f 6e 73 20 69 74 20 69 74 2d 69 ->>.(--map-indexed.(cons.it.it-i
10c60 6e 64 65 78 29 20 6c 69 73 74 29 0a 20 20 20 20 20 20 20 28 2d 73 6f 72 74 20 28 6c 61 6d 62 64 ndex).list)........(-sort.(lambd
10c80 61 20 28 69 74 20 6f 74 68 65 72 29 20 28 66 75 6e 63 61 6c 6c 20 63 6f 6d 70 61 72 61 74 6f 72 a.(it.other).(funcall.comparator
10ca0 20 28 63 61 72 20 69 74 29 20 28 63 61 72 20 6f 74 68 65 72 29 29 29 29 0a 20 20 20 20 20 20 20 .(car.it).(car.other))))........
10cc0 28 6d 61 70 63 61 72 20 23 27 63 64 72 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 67 72 61 64 65 2d (mapcar.#'cdr)))..(defun.-grade-
10ce0 64 6f 77 6e 20 28 63 6f 6d 70 61 72 61 74 6f 72 20 6c 69 73 74 29 0a 20 20 22 47 72 61 64 65 20 down.(comparator.list)..."Grade.
10d00 65 6c 65 6d 65 6e 74 73 20 6f 66 20 4c 49 53 54 20 75 73 69 6e 67 20 43 4f 4d 50 41 52 41 54 4f elements.of.LIST.using.COMPARATO
10d20 52 20 72 65 6c 61 74 69 6f 6e 2e 0a 54 68 69 73 20 79 69 65 6c 64 73 20 61 20 70 65 72 6d 75 74 R.relation..This.yields.a.permut
10d40 61 74 69 6f 6e 20 76 65 63 74 6f 72 20 73 75 63 68 20 74 68 61 74 20 61 70 70 6c 79 69 6e 67 20 ation.vector.such.that.applying.
10d60 74 68 69 73 0a 70 65 72 6d 75 74 61 74 69 6f 6e 20 74 6f 20 4c 49 53 54 20 73 6f 72 74 73 20 69 this.permutation.to.LIST.sorts.i
10d80 74 20 69 6e 20 64 65 73 63 65 6e 64 69 6e 67 20 6f 72 64 65 72 2e 22 0a 20 20 28 2d 3e 3e 20 28 t.in.descending.order."...(->>.(
10da0 2d 2d 6d 61 70 2d 69 6e 64 65 78 65 64 20 28 63 6f 6e 73 20 69 74 20 69 74 2d 69 6e 64 65 78 29 --map-indexed.(cons.it.it-index)
10dc0 20 6c 69 73 74 29 0a 20 20 20 20 20 20 20 28 2d 73 6f 72 74 20 28 6c 61 6d 62 64 61 20 28 69 74 .list)........(-sort.(lambda.(it
10de0 20 6f 74 68 65 72 29 20 28 66 75 6e 63 61 6c 6c 20 63 6f 6d 70 61 72 61 74 6f 72 20 28 63 61 72 .other).(funcall.comparator.(car
10e00 20 6f 74 68 65 72 29 20 28 63 61 72 20 69 74 29 29 29 29 0a 20 20 20 20 20 20 20 28 6d 61 70 63 .other).(car.it))))........(mapc
10e20 61 72 20 23 27 63 64 72 29 29 29 0a 0a 28 64 65 66 76 61 72 20 64 61 73 68 2d 2d 73 6f 75 72 63 ar.#'cdr)))..(defvar.dash--sourc
10e40 65 2d 63 6f 75 6e 74 65 72 20 30 0a 20 20 22 4d 6f 6e 6f 74 6f 6e 69 63 20 63 6f 75 6e 74 65 72 e-counter.0..."Monotonic.counter
10e60 20 66 6f 72 20 67 65 6e 65 72 61 74 65 64 20 73 79 6d 62 6f 6c 73 2e 22 29 0a 0a 28 64 65 66 75 .for.generated.symbols.")..(defu
10e80 6e 20 64 61 73 68 2d 2d 6d 61 74 63 68 2d 6d 61 6b 65 2d 73 6f 75 72 63 65 2d 73 79 6d 62 6f 6c n.dash--match-make-source-symbol
10ea0 20 28 29 0a 20 20 22 47 65 6e 65 72 61 74 65 20 61 20 6e 65 77 20 64 61 73 68 2d 73 6f 75 72 63 .()..."Generate.a.new.dash-sourc
10ec0 65 20 73 79 6d 62 6f 6c 2e 0a 0a 41 6c 6c 20 72 65 74 75 72 6e 65 64 20 73 79 6d 62 6f 6c 73 20 e.symbol...All.returned.symbols.
10ee0 61 72 65 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 62 65 20 75 6e 69 71 75 65 2e 22 0a 20 20 are.guaranteed.to.be.unique."...
10f00 28 70 72 6f 67 31 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 28 66 6f 72 6d 61 74 20 22 2d 2d 64 (prog1.(make-symbol.(format."--d
10f20 61 73 68 2d 73 6f 75 72 63 65 2d 25 64 2d 2d 22 20 64 61 73 68 2d 2d 73 6f 75 72 63 65 2d 63 6f ash-source-%d--".dash--source-co
10f40 75 6e 74 65 72 29 29 0a 20 20 20 20 28 73 65 74 71 20 64 61 73 68 2d 2d 73 6f 75 72 63 65 2d 63 unter)).....(setq.dash--source-c
10f60 6f 75 6e 74 65 72 20 28 31 2b 20 64 61 73 68 2d 2d 73 6f 75 72 63 65 2d 63 6f 75 6e 74 65 72 29 ounter.(1+.dash--source-counter)
10f80 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 2d 6d 61 74 63 68 2d 69 67 6e 6f 72 65 2d 70 )))..(defun.dash--match-ignore-p
10fa0 6c 61 63 65 2d 70 20 28 73 79 6d 62 6f 6c 29 0a 20 20 22 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 lace-p.(symbol)..."Return.non-ni
10fc0 6c 20 69 66 20 53 59 4d 42 4f 4c 20 69 73 20 61 20 73 79 6d 62 6f 6c 20 61 6e 64 20 73 74 61 72 l.if.SYMBOL.is.a.symbol.and.star
10fe0 74 73 20 77 69 74 68 20 5f 2e 22 0a 20 20 28 61 6e 64 20 28 73 79 6d 62 6f 6c 70 20 73 79 6d 62 ts.with._."...(and.(symbolp.symb
11000 6f 6c 29 0a 20 20 20 20 20 20 20 28 65 71 20 28 61 72 65 66 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d ol)........(eq.(aref.(symbol-nam
11020 65 20 73 79 6d 62 6f 6c 29 20 30 29 20 3f 5f 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 68 2d e.symbol).0).?_)))..(defun.dash-
11040 2d 6d 61 74 63 68 2d 63 6f 6e 73 2d 73 6b 69 70 2d 63 64 72 20 28 73 6b 69 70 2d 63 64 72 20 73 -match-cons-skip-cdr.(skip-cdr.s
11060 6f 75 72 63 65 29 0a 20 20 22 48 65 6c 70 65 72 20 66 75 6e 63 74 69 6f 6e 20 67 65 6e 65 72 61 ource)..."Helper.function.genera
11080 74 69 6e 67 20 69 64 69 6f 6d 61 74 69 63 20 73 68 69 66 74 69 6e 67 20 63 6f 64 65 2e 22 0a 20 ting.idiomatic.shifting.code."..
110a0 20 28 63 6f 6e 64 0a 20 20 20 28 28 3d 20 73 6b 69 70 2d 63 64 72 20 30 29 0a 20 20 20 20 60 28 .(cond....((=.skip-cdr.0).....`(
110c0 70 6f 70 20 2c 73 6f 75 72 63 65 29 29 0a 20 20 20 28 74 0a 20 20 20 20 60 28 70 72 6f 67 31 20 pop.,source))....(t.....`(prog1.
110e0 2c 28 64 61 73 68 2d 2d 6d 61 74 63 68 2d 63 6f 6e 73 2d 67 65 74 2d 63 61 72 20 73 6b 69 70 2d ,(dash--match-cons-get-car.skip-
11100 63 64 72 20 73 6f 75 72 63 65 29 0a 20 20 20 20 20 20 20 28 73 65 74 71 20 2c 73 6f 75 72 63 65 cdr.source)........(setq.,source
11120 20 2c 28 64 61 73 68 2d 2d 6d 61 74 63 68 2d 63 6f 6e 73 2d 67 65 74 2d 63 64 72 20 28 31 2b 20 .,(dash--match-cons-get-cdr.(1+.
11140 73 6b 69 70 2d 63 64 72 29 20 73 6f 75 72 63 65 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 skip-cdr).source))))))..(defun.d
11160 61 73 68 2d 2d 6d 61 74 63 68 2d 63 6f 6e 73 2d 67 65 74 2d 63 61 72 20 28 73 6b 69 70 2d 63 64 ash--match-cons-get-car.(skip-cd
11180 72 20 73 6f 75 72 63 65 29 0a 20 20 22 48 65 6c 70 65 72 20 66 75 6e 63 74 69 6f 6e 20 67 65 6e r.source)..."Helper.function.gen
111a0 65 72 61 74 69 6e 67 20 69 64 69 6f 6d 61 74 69 63 20 63 6f 64 65 20 74 6f 20 67 65 74 20 6e 74 erating.idiomatic.code.to.get.nt
111c0 68 20 63 61 72 2e 22 0a 20 20 28 63 6f 6e 64 0a 20 20 20 28 28 3d 20 73 6b 69 70 2d 63 64 72 20 h.car."...(cond....((=.skip-cdr.
111e0 30 29 0a 20 20 20 20 60 28 63 61 72 20 2c 73 6f 75 72 63 65 29 29 0a 20 20 20 28 28 3d 20 73 6b 0).....`(car.,source))....((=.sk
11200 69 70 2d 63 64 72 20 31 29 0a 20 20 20 20 60 28 63 61 64 72 20 2c 73 6f 75 72 63 65 29 29 0a 20 ip-cdr.1).....`(cadr.,source))..
11220 20 20 28 74 0a 20 20 20 20 60 28 6e 74 68 20 2c 73 6b 69 70 2d 63 64 72 20 2c 73 6f 75 72 63 65 ..(t.....`(nth.,skip-cdr.,source
11240 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 2d 6d 61 74 63 68 2d 63 6f 6e 73 2d 67 65 ))))..(defun.dash--match-cons-ge
11260 74 2d 63 64 72 20 28 73 6b 69 70 2d 63 64 72 20 73 6f 75 72 63 65 29 0a 20 20 22 48 65 6c 70 65 t-cdr.(skip-cdr.source)..."Helpe
11280 72 20 66 75 6e 63 74 69 6f 6e 20 67 65 6e 65 72 61 74 69 6e 67 20 69 64 69 6f 6d 61 74 69 63 20 r.function.generating.idiomatic.
112a0 63 6f 64 65 20 74 6f 20 67 65 74 20 6e 74 68 20 63 64 72 2e 22 0a 20 20 28 63 6f 6e 64 0a 20 20 code.to.get.nth.cdr."...(cond...
112c0 20 28 28 3d 20 73 6b 69 70 2d 63 64 72 20 30 29 0a 20 20 20 20 73 6f 75 72 63 65 29 0a 20 20 20 .((=.skip-cdr.0).....source)....
112e0 28 28 3d 20 73 6b 69 70 2d 63 64 72 20 31 29 0a 20 20 20 20 60 28 63 64 72 20 2c 73 6f 75 72 63 ((=.skip-cdr.1).....`(cdr.,sourc
11300 65 29 29 0a 20 20 20 28 74 0a 20 20 20 20 60 28 6e 74 68 63 64 72 20 2c 73 6b 69 70 2d 63 64 72 e))....(t.....`(nthcdr.,skip-cdr
11320 20 2c 73 6f 75 72 63 65 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 2d 6d 61 74 63 68 .,source))))..(defun.dash--match
11340 2d 63 6f 6e 73 20 28 6d 61 74 63 68 2d 66 6f 72 6d 20 73 6f 75 72 63 65 29 0a 20 20 22 53 65 74 -cons.(match-form.source)..."Set
11360 75 70 20 61 20 63 6f 6e 73 20 6d 61 74 63 68 69 6e 67 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 61 up.a.cons.matching.environment.a
11380 6e 64 20 63 61 6c 6c 20 74 68 65 20 72 65 61 6c 20 6d 61 74 63 68 65 72 2e 22 0a 20 20 28 6c 65 nd.call.the.real.matcher."...(le
113a0 74 20 28 28 73 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 2d 6d 61 6b 65 2d 73 6f 75 72 63 65 2d 73 t.((s.(dash--match-make-source-s
113c0 79 6d 62 6f 6c 29 29 0a 20 20 20 20 20 20 20 20 28 6e 20 30 29 0a 20 20 20 20 20 20 20 20 28 6d ymbol)).........(n.0).........(m
113e0 20 6d 61 74 63 68 2d 66 6f 72 6d 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 61 6e 64 20 28 63 .match-form)).....(while.(and.(c
11400 6f 6e 73 70 20 6d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 61 73 68 2d 2d 6d onsp.m).................(dash--m
11420 61 74 63 68 2d 69 67 6e 6f 72 65 2d 70 6c 61 63 65 2d 70 20 28 63 61 72 20 6d 29 29 29 0a 20 20 atch-ignore-place-p.(car.m)))...
11440 20 20 20 20 28 73 65 74 71 20 6e 20 28 31 2b 20 6e 29 29 20 28 21 63 64 72 20 6d 29 29 0a 20 20 ....(setq.n.(1+.n)).(!cdr.m))...
11460 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 3b 3b 20 77 68 65 6e 20 77 65 20 6f 6e 6c 79 20 68 61 76 ..(cond......;;.when.we.only.hav
11480 65 20 6f 6e 65 20 70 61 74 74 65 72 6e 20 69 6e 20 74 68 65 20 6c 69 73 74 2c 20 77 65 20 64 6f e.one.pattern.in.the.list,.we.do
114a0 6e 27 74 20 68 61 76 65 20 74 6f 0a 20 20 20 20 20 3b 3b 20 63 72 65 61 74 65 20 61 20 74 65 6d n't.have.to......;;.create.a.tem
114c0 70 6f 72 61 72 79 20 62 69 6e 64 69 6e 67 20 28 2d 2d 64 61 73 68 2d 73 6f 75 72 63 65 2d 2d 29 porary.binding.(--dash-source--)
114e0 20 66 6f 72 20 74 68 65 20 73 6f 75 72 63 65 0a 20 20 20 20 20 3b 3b 20 61 6e 64 20 6a 75 73 74 .for.the.source......;;.and.just
11500 20 75 73 65 20 74 68 65 20 69 6e 70 75 74 20 64 69 72 65 63 74 6c 79 0a 20 20 20 20 20 28 28 61 .use.the.input.directly......((a
11520 6e 64 20 28 63 6f 6e 73 70 20 6d 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 63 64 nd.(consp.m)............(not.(cd
11540 72 20 6d 29 29 29 0a 20 20 20 20 20 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 20 28 63 61 72 20 6d r.m))).......(dash--match.(car.m
11560 29 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 2d 63 6f 6e 73 2d 67 65 74 2d 63 61 72 20 6e 20 73 6f ).(dash--match-cons-get-car.n.so
11580 75 72 63 65 29 29 29 0a 20 20 20 20 20 3b 3b 20 68 61 6e 64 6c 65 20 6f 74 68 65 72 20 73 70 65 urce)))......;;.handle.other.spe
115a0 63 69 61 6c 20 74 79 70 65 73 0a 20 20 20 20 20 28 28 3e 20 6e 20 30 29 0a 20 20 20 20 20 20 28 cial.types......((>.n.0).......(
115c0 64 61 73 68 2d 2d 6d 61 74 63 68 20 6d 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 2d 63 6f 6e 73 2d dash--match.m.(dash--match-cons-
115e0 67 65 74 2d 63 64 72 20 6e 20 73 6f 75 72 63 65 29 29 29 0a 20 20 20 20 20 3b 3b 20 74 68 69 73 get-cdr.n.source)))......;;.this
11600 20 69 73 20 74 68 65 20 6f 6e 6c 79 20 65 6e 74 72 79 2d 70 6f 69 6e 74 20 66 6f 72 20 64 61 73 .is.the.only.entry-point.for.das
11620 68 2d 2d 6d 61 74 63 68 2d 63 6f 6e 73 2d 31 2c 20 74 68 61 74 27 73 0a 20 20 20 20 20 3b 3b 20 h--match-cons-1,.that's......;;.
11640 77 68 79 20 77 65 20 63 61 6e 27 74 20 73 69 6d 70 6c 79 20 75 73 65 20 74 68 65 20 61 62 6f 76 why.we.can't.simply.use.the.abov
11660 65 20 62 72 61 6e 63 68 2c 20 69 74 20 77 6f 75 6c 64 20 70 72 6f 64 75 63 65 0a 20 20 20 20 20 e.branch,.it.would.produce......
11680 3b 3b 20 69 6e 66 69 6e 69 74 65 20 72 65 63 75 72 73 69 6f 6e 0a 20 20 20 20 20 28 74 0a 20 20 ;;.infinite.recursion......(t...
116a0 20 20 20 20 28 63 6f 6e 73 20 28 6c 69 73 74 20 73 20 73 6f 75 72 63 65 29 20 28 64 61 73 68 2d ....(cons.(list.s.source).(dash-
116c0 2d 6d 61 74 63 68 2d 63 6f 6e 73 2d 31 20 6d 61 74 63 68 2d 66 6f 72 6d 20 73 29 29 29 29 29 29 -match-cons-1.match-form.s))))))
116e0 0a 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 2d 67 65 74 2d 65 78 70 61 6e 64 2d 66 75 6e 63 74 69 ..(defun.dash--get-expand-functi
11700 6f 6e 20 28 74 79 70 65 29 0a 20 20 22 47 65 74 20 65 78 70 61 6e 64 20 66 75 6e 63 74 69 6f 6e on.(type)..."Get.expand.function
11720 20 6e 61 6d 65 20 66 6f 72 20 54 59 50 45 2e 22 0a 20 20 28 69 6e 74 65 72 6e 2d 73 6f 66 74 20 .name.for.TYPE."...(intern-soft.
11740 28 66 6f 72 6d 61 74 20 22 64 61 73 68 2d 65 78 70 61 6e 64 3a 25 73 22 20 74 79 70 65 29 29 29 (format."dash-expand:%s".type)))
11760 0a 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 2d 6d 61 74 63 68 2d 63 6f 6e 73 2d 31 20 28 6d 61 74 ..(defun.dash--match-cons-1.(mat
11780 63 68 2d 66 6f 72 6d 20 73 6f 75 72 63 65 20 26 6f 70 74 69 6f 6e 61 6c 20 70 72 6f 70 73 29 0a ch-form.source.&optional.props).
117a0 20 20 22 4d 61 74 63 68 20 4d 41 54 43 48 2d 46 4f 52 4d 20 61 67 61 69 6e 73 74 20 53 4f 55 52 .."Match.MATCH-FORM.against.SOUR
117c0 43 45 2e 0a 0a 4d 41 54 43 48 2d 46 4f 52 4d 20 69 73 20 61 20 70 72 6f 70 65 72 20 6f 72 20 69 CE...MATCH-FORM.is.a.proper.or.i
117e0 6d 70 72 6f 70 65 72 20 6c 69 73 74 2e 20 20 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 0a 4d mproper.list...Each.element.of.M
11800 41 54 43 48 2d 46 4f 52 4d 20 69 73 20 65 69 74 68 65 72 20 61 20 73 79 6d 62 6f 6c 2c 20 77 68 ATCH-FORM.is.either.a.symbol,.wh
11820 69 63 68 20 67 65 74 73 20 62 6f 75 6e 64 20 74 6f 20 74 68 65 20 72 65 73 70 65 63 74 69 76 65 ich.gets.bound.to.the.respective
11840 0a 76 61 6c 75 65 20 69 6e 20 73 6f 75 72 63 65 20 6f 72 20 61 6e 6f 74 68 65 72 20 6d 61 74 63 .value.in.source.or.another.matc
11860 68 20 66 6f 72 6d 20 77 68 69 63 68 20 67 65 74 73 20 64 65 73 74 72 75 63 74 75 72 65 64 0a 72 h.form.which.gets.destructured.r
11880 65 63 75 72 73 69 76 65 6c 79 2e 0a 0a 49 66 20 74 68 65 20 63 64 72 20 6f 66 20 6c 61 73 74 20 ecursively...If.the.cdr.of.last.
118a0 63 6f 6e 73 20 63 65 6c 6c 20 69 6e 20 74 68 65 20 6c 69 73 74 20 69 73 20 60 6e 69 6c 27 2c 20 cons.cell.in.the.list.is.`nil',.
118c0 6d 61 74 63 68 69 6e 67 20 73 74 6f 70 73 0a 74 68 65 72 65 2e 0a 0a 53 4f 55 52 43 45 20 69 73 matching.stops.there...SOURCE.is
118e0 20 61 20 70 72 6f 70 65 72 20 6f 72 20 69 6d 70 72 6f 70 65 72 20 6c 69 73 74 2e 22 0a 20 20 28 .a.proper.or.improper.list."...(
11900 6c 65 74 20 28 28 73 6b 69 70 2d 63 64 72 20 28 6f 72 20 28 70 6c 69 73 74 2d 67 65 74 20 70 72 let.((skip-cdr.(or.(plist-get.pr
11920 6f 70 73 20 3a 73 6b 69 70 2d 63 64 72 29 20 30 29 29 29 0a 20 20 20 20 28 63 6f 6e 64 0a 20 20 ops.:skip-cdr).0))).....(cond...
11940 20 20 20 28 28 63 6f 6e 73 70 20 6d 61 74 63 68 2d 66 6f 72 6d 29 0a 20 20 20 20 20 20 28 63 6f ...((consp.match-form).......(co
11960 6e 64 0a 20 20 20 20 20 20 20 28 28 63 64 72 20 6d 61 74 63 68 2d 66 6f 72 6d 29 0a 20 20 20 20 nd........((cdr.match-form).....
11980 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 28 28 61 6e 64 20 28 73 79 6d 62 6f 6c ....(cond..........((and.(symbol
119a0 70 20 28 63 61 72 20 6d 61 74 63 68 2d 66 6f 72 6d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 p.(car.match-form)).............
119c0 20 20 20 28 66 75 6e 63 74 69 6f 6e 70 20 28 64 61 73 68 2d 2d 67 65 74 2d 65 78 70 61 6e 64 2d ...(functionp.(dash--get-expand-
119e0 66 75 6e 63 74 69 6f 6e 20 28 63 61 72 20 6d 61 74 63 68 2d 66 6f 72 6d 29 29 29 29 0a 20 20 20 function.(car.match-form))))....
11a00 20 20 20 20 20 20 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 2d 6b 76 20 28 64 61 73 68 2d 2d 6d 61 .......(dash--match-kv.(dash--ma
11a20 74 63 68 2d 6b 76 2d 6e 6f 72 6d 61 6c 69 7a 65 2d 6d 61 74 63 68 2d 66 6f 72 6d 20 6d 61 74 63 tch-kv-normalize-match-form.matc
11a40 68 2d 66 6f 72 6d 29 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 2d 63 6f 6e 73 2d 67 65 74 2d 63 64 h-form).(dash--match-cons-get-cd
11a60 72 20 73 6b 69 70 2d 63 64 72 20 73 6f 75 72 63 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 28 r.skip-cdr.source)))..........((
11a80 64 61 73 68 2d 2d 6d 61 74 63 68 2d 69 67 6e 6f 72 65 2d 70 6c 61 63 65 2d 70 20 28 63 61 72 20 dash--match-ignore-place-p.(car.
11aa0 6d 61 74 63 68 2d 66 6f 72 6d 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 64 61 73 68 2d 2d 6d 61 match-form))...........(dash--ma
11ac0 74 63 68 2d 63 6f 6e 73 2d 31 20 28 63 64 72 20 6d 61 74 63 68 2d 66 6f 72 6d 29 20 73 6f 75 72 tch-cons-1.(cdr.match-form).sour
11ae0 63 65 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 ce..............................
11b00 20 28 70 6c 69 73 74 2d 70 75 74 20 70 72 6f 70 73 20 3a 73 6b 69 70 2d 63 64 72 20 28 31 2b 20 .(plist-put.props.:skip-cdr.(1+.
11b20 73 6b 69 70 2d 63 64 72 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 20 skip-cdr))))..........(t........
11b40 20 20 20 28 2d 63 6f 6e 63 61 74 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 20 28 63 61 72 20 6d 61 ...(-concat.(dash--match.(car.ma
11b60 74 63 68 2d 66 6f 72 6d 29 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 2d 63 6f 6e 73 2d 73 6b 69 70 tch-form).(dash--match-cons-skip
11b80 2d 63 64 72 20 73 6b 69 70 2d 63 64 72 20 73 6f 75 72 63 65 29 29 0a 20 20 20 20 20 20 20 20 20 -cdr.skip-cdr.source))..........
11ba0 20 20 20 20 20 20 20 20 20 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 2d 63 6f 6e 73 2d 31 20 28 63 ..........(dash--match-cons-1.(c
11bc0 64 72 20 6d 61 74 63 68 2d 66 6f 72 6d 29 20 73 6f 75 72 63 65 29 29 29 29 29 0a 20 20 20 20 20 dr.match-form).source)))))......
11be0 20 20 28 74 20 3b 3b 20 4c 61 73 74 20 6d 61 74 63 68 69 6e 67 20 70 6c 61 63 65 2c 20 6e 6f 20 ..(t.;;.Last.matching.place,.no.
11c00 6e 65 65 64 20 66 6f 72 20 73 68 69 66 74 0a 20 20 20 20 20 20 20 20 28 64 61 73 68 2d 2d 6d 61 need.for.shift.........(dash--ma
11c20 74 63 68 20 28 63 61 72 20 6d 61 74 63 68 2d 66 6f 72 6d 29 20 28 64 61 73 68 2d 2d 6d 61 74 63 tch.(car.match-form).(dash--matc
11c40 68 2d 63 6f 6e 73 2d 67 65 74 2d 63 61 72 20 73 6b 69 70 2d 63 64 72 20 73 6f 75 72 63 65 29 29 h-cons-get-car.skip-cdr.source))
11c60 29 29 29 0a 20 20 20 20 20 28 28 65 71 20 6d 61 74 63 68 2d 66 6f 72 6d 20 6e 69 6c 29 0a 20 20 )))......((eq.match-form.nil)...
11c80 20 20 20 20 6e 69 6c 29 0a 20 20 20 20 20 28 74 20 3b 3b 20 48 61 6e 64 6c 65 20 69 6d 70 72 6f ....nil)......(t.;;.Handle.impro
11ca0 70 65 72 20 6c 69 73 74 73 2e 20 20 4c 61 73 74 20 6d 61 74 63 68 69 6e 67 20 70 6c 61 63 65 2c per.lists...Last.matching.place,
11cc0 20 6e 6f 20 6e 65 65 64 20 66 6f 72 20 73 68 69 66 74 0a 20 20 20 20 20 20 28 64 61 73 68 2d 2d .no.need.for.shift.......(dash--
11ce0 6d 61 74 63 68 20 6d 61 74 63 68 2d 66 6f 72 6d 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 2d 63 6f match.match-form.(dash--match-co
11d00 6e 73 2d 67 65 74 2d 63 64 72 20 73 6b 69 70 2d 63 64 72 20 73 6f 75 72 63 65 29 29 29 29 29 29 ns-get-cdr.skip-cdr.source))))))
11d20 0a 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 2d 6d 61 74 63 68 2d 76 65 63 74 6f 72 20 28 6d 61 74 ..(defun.dash--match-vector.(mat
11d40 63 68 2d 66 6f 72 6d 20 73 6f 75 72 63 65 29 0a 20 20 22 53 65 74 75 70 20 61 20 76 65 63 74 6f ch-form.source)..."Setup.a.vecto
11d60 72 20 6d 61 74 63 68 69 6e 67 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 61 6e 64 20 63 61 6c 6c 20 r.matching.environment.and.call.
11d80 74 68 65 20 72 65 61 6c 20 6d 61 74 63 68 65 72 2e 22 0a 20 20 28 6c 65 74 20 28 28 73 20 28 64 the.real.matcher."...(let.((s.(d
11da0 61 73 68 2d 2d 6d 61 74 63 68 2d 6d 61 6b 65 2d 73 6f 75 72 63 65 2d 73 79 6d 62 6f 6c 29 29 29 ash--match-make-source-symbol)))
11dc0 0a 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 3b 3b 20 64 6f 6e 27 74 20 62 69 6e 64 20 60 73 .....(cond......;;.don't.bind.`s
11de0 27 20 69 66 20 77 65 20 6f 6e 6c 79 20 68 61 76 65 20 6f 6e 65 20 73 75 62 2d 70 61 74 74 65 72 '.if.we.only.have.one.sub-patter
11e00 6e 0a 20 20 20 20 20 28 28 3d 20 28 6c 65 6e 67 74 68 20 6d 61 74 63 68 2d 66 6f 72 6d 29 20 31 n......((=.(length.match-form).1
11e20 29 0a 20 20 20 20 20 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 20 28 61 72 65 66 20 6d 61 74 63 68 ).......(dash--match.(aref.match
11e40 2d 66 6f 72 6d 20 30 29 20 60 28 61 72 65 66 20 2c 73 6f 75 72 63 65 20 30 29 29 29 0a 20 20 20 -form.0).`(aref.,source.0)))....
11e60 20 20 3b 3b 20 69 66 20 74 68 65 20 73 6f 75 72 63 65 20 69 73 20 61 20 73 79 6d 62 6f 6c 2c 20 ..;;.if.the.source.is.a.symbol,.
11e80 77 65 20 64 6f 6e 27 74 20 6e 65 65 64 20 74 6f 20 72 65 2d 62 69 6e 64 20 69 74 0a 20 20 20 20 we.don't.need.to.re-bind.it.....
11ea0 20 28 28 73 79 6d 62 6f 6c 70 20 73 6f 75 72 63 65 29 0a 20 20 20 20 20 20 28 64 61 73 68 2d 2d .((symbolp.source).......(dash--
11ec0 6d 61 74 63 68 2d 76 65 63 74 6f 72 2d 31 20 6d 61 74 63 68 2d 66 6f 72 6d 20 73 6f 75 72 63 65 match-vector-1.match-form.source
11ee0 29 29 0a 20 20 20 20 20 3b 3b 20 64 6f 6e 27 74 20 62 69 6e 64 20 60 73 27 20 69 66 20 77 65 20 ))......;;.don't.bind.`s'.if.we.
11f00 6f 6e 6c 79 20 68 61 76 65 20 6f 6e 65 20 73 75 62 2d 70 61 74 74 65 72 6e 20 77 68 69 63 68 20 only.have.one.sub-pattern.which.
11f20 69 73 20 6e 6f 74 20 69 67 6e 6f 72 65 64 0a 20 20 20 20 20 28 28 6c 65 74 2a 20 28 28 69 67 6e is.not.ignored......((let*.((ign
11f40 6f 72 65 64 2d 70 6c 61 63 65 73 20 28 6d 61 70 63 61 72 20 27 64 61 73 68 2d 2d 6d 61 74 63 68 ored-places.(mapcar.'dash--match
11f60 2d 69 67 6e 6f 72 65 2d 70 6c 61 63 65 2d 70 20 6d 61 74 63 68 2d 66 6f 72 6d 29 29 0a 20 20 20 -ignore-place-p.match-form))....
11f80 20 20 20 20 20 20 20 20 20 20 28 69 67 6e 6f 72 65 64 2d 70 6c 61 63 65 73 2d 6e 20 28 6c 65 6e ..........(ignored-places-n.(len
11fa0 67 74 68 20 28 2d 72 65 6d 6f 76 65 20 27 6e 75 6c 6c 20 69 67 6e 6f 72 65 64 2d 70 6c 61 63 65 gth.(-remove.'null.ignored-place
11fc0 73 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 3d 20 69 67 6e 6f 72 65 64 2d 70 s)))).........(when.(=.ignored-p
11fe0 6c 61 63 65 73 2d 6e 20 28 31 2d 20 28 6c 65 6e 67 74 68 20 6d 61 74 63 68 2d 66 6f 72 6d 29 29 laces-n.(1-.(length.match-form))
12000 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6e 20 28 2d 66 69 6e 64 2d 69 6e 64 65 )...........(let.((n.(-find-inde
12020 78 20 27 6e 75 6c 6c 20 69 67 6e 6f 72 65 64 2d 70 6c 61 63 65 73 29 29 29 0a 20 20 20 20 20 20 x.'null.ignored-places))).......
12040 20 20 20 20 20 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 20 28 61 72 65 66 20 6d 61 74 63 68 2d 66 ......(dash--match.(aref.match-f
12060 6f 72 6d 20 6e 29 20 60 28 61 72 65 66 20 2c 73 6f 75 72 63 65 20 2c 6e 29 29 29 29 29 29 0a 20 orm.n).`(aref.,source.,n))))))..
12080 20 20 20 20 28 74 0a 20 20 20 20 20 20 28 63 6f 6e 73 20 28 6c 69 73 74 20 73 20 73 6f 75 72 63 ....(t.......(cons.(list.s.sourc
120a0 65 29 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 2d 76 65 63 74 6f 72 2d 31 20 6d 61 74 63 68 2d 66 e).(dash--match-vector-1.match-f
120c0 6f 72 6d 20 73 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 2d 6d 61 74 63 68 2d orm.s))))))..(defun.dash--match-
120e0 76 65 63 74 6f 72 2d 31 20 28 6d 61 74 63 68 2d 66 6f 72 6d 20 73 6f 75 72 63 65 29 0a 20 20 22 vector-1.(match-form.source)..."
12100 4d 61 74 63 68 20 4d 41 54 43 48 2d 46 4f 52 4d 20 61 67 61 69 6e 73 74 20 53 4f 55 52 43 45 2e Match.MATCH-FORM.against.SOURCE.
12120 0a 0a 4d 41 54 43 48 2d 46 4f 52 4d 20 69 73 20 61 20 76 65 63 74 6f 72 2e 20 20 45 61 63 68 20 ..MATCH-FORM.is.a.vector...Each.
12140 65 6c 65 6d 65 6e 74 20 6f 66 20 4d 41 54 43 48 2d 46 4f 52 4d 20 69 73 20 65 69 74 68 65 72 20 element.of.MATCH-FORM.is.either.
12160 61 0a 73 79 6d 62 6f 6c 2c 20 77 68 69 63 68 20 67 65 74 73 20 62 6f 75 6e 64 20 74 6f 20 74 68 a.symbol,.which.gets.bound.to.th
12180 65 20 72 65 73 70 65 63 74 69 76 65 20 76 61 6c 75 65 20 69 6e 20 73 6f 75 72 63 65 20 6f 72 0a e.respective.value.in.source.or.
121a0 61 6e 6f 74 68 65 72 20 6d 61 74 63 68 20 66 6f 72 6d 20 77 68 69 63 68 20 67 65 74 73 20 64 65 another.match.form.which.gets.de
121c0 73 74 72 75 63 74 75 72 65 64 20 72 65 63 75 72 73 69 76 65 6c 79 2e 0a 0a 49 66 20 73 65 63 6f structured.recursively...If.seco
121e0 6e 64 2d 66 72 6f 6d 2d 6c 61 73 74 20 70 6c 61 63 65 20 69 6e 20 4d 41 54 43 48 2d 46 4f 52 4d nd-from-last.place.in.MATCH-FORM
12200 20 69 73 20 74 68 65 20 73 79 6d 62 6f 6c 20 26 72 65 73 74 2c 20 74 68 65 0a 6e 65 78 74 20 65 .is.the.symbol.&rest,.the.next.e
12220 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 4d 41 54 43 48 2d 46 4f 52 4d 20 69 73 20 6d 61 74 63 lement.of.the.MATCH-FORM.is.matc
12240 68 65 64 20 61 67 61 69 6e 73 74 20 74 68 65 20 74 61 69 6c 20 6f 66 0a 53 4f 55 52 43 45 2c 20 hed.against.the.tail.of.SOURCE,.
12260 73 74 61 72 74 69 6e 67 20 61 74 20 69 6e 64 65 78 20 6f 66 20 74 68 65 20 26 72 65 73 74 20 73 starting.at.index.of.the.&rest.s
12280 79 6d 62 6f 6c 2e 20 20 54 68 69 73 20 69 73 0a 63 6f 6e 63 65 70 74 75 61 6c 6c 79 20 74 68 65 ymbol...This.is.conceptually.the
122a0 20 73 61 6d 65 20 61 73 20 74 68 65 20 28 68 65 61 64 20 2e 20 74 61 69 6c 29 20 6d 61 74 63 68 .same.as.the.(head...tail).match
122c0 20 66 6f 72 20 69 6d 70 72 6f 70 65 72 0a 6c 69 73 74 73 2c 20 77 68 65 72 65 20 64 6f 74 20 70 .for.improper.lists,.where.dot.p
122e0 6c 61 79 73 20 74 68 65 20 72 6f 6c 65 20 6f 66 20 26 72 65 73 74 2e 0a 0a 53 4f 55 52 43 45 20 lays.the.role.of.&rest...SOURCE.
12300 69 73 20 61 20 76 65 63 74 6f 72 2e 0a 0a 49 66 20 74 68 65 20 4d 41 54 43 48 2d 46 4f 52 4d 20 is.a.vector...If.the.MATCH-FORM.
12320 76 65 63 74 6f 72 20 69 73 20 73 68 6f 72 74 65 72 20 74 68 61 6e 20 53 4f 55 52 43 45 20 76 65 vector.is.shorter.than.SOURCE.ve
12340 63 74 6f 72 2c 20 6f 6e 6c 79 0a 74 68 65 20 28 6c 65 6e 67 74 68 20 4d 41 54 43 48 2d 46 4f 52 ctor,.only.the.(length.MATCH-FOR
12360 4d 29 20 70 6c 61 63 65 73 20 61 72 65 20 62 6f 75 6e 64 2c 20 74 68 65 20 72 65 73 74 20 6f 66 M).places.are.bound,.the.rest.of
12380 20 74 68 65 20 53 4f 55 52 43 45 0a 69 73 20 64 69 73 63 61 72 64 65 64 2e 22 0a 20 20 28 6c 65 .the.SOURCE.is.discarded."...(le
123a0 74 20 28 28 69 20 30 29 0a 20 20 20 20 20 20 20 20 28 6c 20 28 6c 65 6e 67 74 68 20 6d 61 74 63 t.((i.0).........(l.(length.matc
123c0 68 2d 66 6f 72 6d 29 29 0a 20 20 20 20 20 20 20 20 28 72 65 29 29 0a 20 20 20 20 28 77 68 69 6c h-form)).........(re)).....(whil
123e0 65 20 28 3c 20 69 20 6c 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 6d 20 28 61 72 65 66 20 6d e.(<.i.l).......(let.((m.(aref.m
12400 61 74 63 68 2d 66 6f 72 6d 20 69 29 29 29 0a 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 63 6f atch-form.i))).........(push.(co
12420 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 61 6e 64 20 28 73 79 6d 62 6f 6c 70 nd................((and.(symbolp
12440 20 6d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 71 20 6d 20 27 .m)......................(eq.m.'
12460 26 72 65 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 31 20 28 &rest)).................(prog1.(
12480 64 61 73 68 2d 2d 6d 61 74 63 68 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 dash--match.....................
124a0 20 20 20 20 28 61 72 65 66 20 6d 61 74 63 68 2d 66 6f 72 6d 20 28 31 2b 20 69 29 29 0a 20 20 20 ....(aref.match-form.(1+.i))....
124c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 73 75 62 73 74 72 69 6e 67 .....................`(substring
124e0 20 2c 73 6f 75 72 63 65 20 2c 69 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .,source.,i))...................
12500 28 73 65 74 71 20 69 20 6c 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 61 6e (setq.i.l)))................((an
12520 64 20 28 73 79 6d 62 6f 6c 70 20 6d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 d.(symbolp.m)...................
12540 20 20 20 3b 3b 20 64 6f 20 6e 6f 74 20 6d 61 74 63 68 20 73 79 6d 62 6f 6c 73 20 73 74 61 72 74 ...;;.do.not.match.symbols.start
12560 69 6e 67 20 77 69 74 68 20 5f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ing.with._......................
12580 28 6e 6f 74 20 28 65 71 20 28 61 72 65 66 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 6d 29 20 30 (not.(eq.(aref.(symbol-name.m).0
125a0 29 20 3f 5f 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 28 6c ).?_))).................(list.(l
125c0 69 73 74 20 6d 20 60 28 61 72 65 66 20 2c 73 6f 75 72 63 65 20 2c 69 29 29 29 29 0a 20 20 20 20 ist.m.`(aref.,source.,i)))).....
125e0 20 20 20 20 20 20 20 20 20 20 20 28 28 6e 6f 74 20 28 73 79 6d 62 6f 6c 70 20 6d 29 29 0a 20 20 ...........((not.(symbolp.m))...
12600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 20 6d 20 60 28 61 ..............(dash--match.m.`(a
12620 72 65 66 20 2c 73 6f 75 72 63 65 20 2c 69 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ref.,source.,i))))..............
12640 20 72 65 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 69 20 28 31 2b 20 69 29 29 29 29 0a 20 .re).........(setq.i.(1+.i))))..
12660 20 20 20 28 2d 66 6c 61 74 74 65 6e 2d 6e 20 31 20 28 6e 72 65 76 65 72 73 65 20 72 65 29 29 29 ...(-flatten-n.1.(nreverse.re)))
12680 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 2d 6d 61 74 63 68 2d 6b 76 2d 6e 6f 72 6d 61 6c 69 )..(defun.dash--match-kv-normali
126a0 7a 65 2d 6d 61 74 63 68 2d 66 6f 72 6d 20 28 70 61 74 74 65 72 6e 29 0a 20 20 22 4e 6f 72 6d 61 ze-match-form.(pattern)..."Norma
126c0 6c 69 7a 65 20 6b 76 20 50 41 54 54 45 52 4e 2e 0a 0a 54 68 69 73 20 6d 65 74 68 6f 64 20 6e 6f lize.kv.PATTERN...This.method.no
126e0 72 6d 61 6c 69 7a 65 73 20 50 41 54 54 45 52 4e 20 74 6f 20 74 68 65 20 66 6f 72 6d 61 74 20 65 rmalizes.PATTERN.to.the.format.e
12700 78 70 65 63 74 65 64 20 62 79 0a 60 64 61 73 68 2d 2d 6d 61 74 63 68 2d 6b 76 27 2e 20 20 53 65 xpected.by.`dash--match-kv'...Se
12720 65 20 60 2d 6c 65 74 27 20 66 6f 72 20 74 68 65 20 73 70 65 63 69 66 69 63 61 74 69 6f 6e 2e 22 e.`-let'.for.the.specification."
12740 0a 20 20 28 6c 65 74 20 28 28 6e 6f 72 6d 61 6c 69 7a 65 64 20 28 6c 69 73 74 20 28 63 61 72 20 ...(let.((normalized.(list.(car.
12760 70 61 74 74 65 72 6e 29 29 29 0a 20 20 20 20 20 20 20 20 28 73 6b 69 70 20 6e 69 6c 29 0a 20 20 pattern))).........(skip.nil)...
12780 20 20 20 20 20 20 28 66 69 6c 6c 2d 70 6c 61 63 65 68 6f 6c 64 65 72 20 28 6d 61 6b 65 2d 73 79 ......(fill-placeholder.(make-sy
127a0 6d 62 6f 6c 20 22 2d 2d 64 61 73 68 2d 66 69 6c 6c 2d 70 6c 61 63 65 68 6f 6c 64 65 72 2d 2d 22 mbol."--dash-fill-placeholder--"
127c0 29 29 29 0a 20 20 20 20 28 2d 65 61 63 68 20 28 61 70 70 6c 79 20 27 2d 7a 69 70 20 28 2d 70 61 ))).....(-each.(apply.'-zip.(-pa
127e0 64 20 66 69 6c 6c 2d 70 6c 61 63 65 68 6f 6c 64 65 72 20 28 63 64 72 20 70 61 74 74 65 72 6e 29 d.fill-placeholder.(cdr.pattern)
12800 20 28 63 64 64 72 20 70 61 74 74 65 72 6e 29 29 29 0a 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 .(cddr.pattern))).......(lambda.
12820 28 70 61 69 72 29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 63 75 72 72 65 6e 74 20 28 63 (pair).........(let.((current.(c
12840 61 72 20 70 61 69 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 65 78 74 20 28 63 ar.pair))...............(next.(c
12860 64 72 20 70 61 69 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 66 20 73 6b 69 70 0a 20 20 dr.pair)))...........(if.skip...
12880 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 73 6b 69 70 20 6e 69 6c 29 0a 20 20 20 20 ............(setq.skip.nil).....
128a0 20 20 20 20 20 20 20 20 28 69 66 20 28 6f 72 20 28 65 71 20 66 69 6c 6c 2d 70 6c 61 63 65 68 6f ........(if.(or.(eq.fill-placeho
128c0 6c 64 65 72 20 6e 65 78 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 lder.next).....................(
128e0 6e 6f 74 20 28 6f 72 20 28 61 6e 64 20 28 73 79 6d 62 6f 6c 70 20 6e 65 78 74 29 0a 20 20 20 20 not.(or.(and.(symbolp.next).....
12900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e ..............................(n
12920 6f 74 20 28 6b 65 79 77 6f 72 64 70 20 6e 65 78 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ot.(keywordp.next)).............
12940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 65 71 20 6e ......................(not.(eq.n
12960 65 78 74 20 74 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 ext.t)).........................
12980 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 65 71 20 6e 65 78 74 20 6e 69 6c 29 29 29 0a 20 ..........(not.(eq.next.nil)))..
129a0 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 61 6e 64 ............................(and
129c0 20 28 63 6f 6e 73 70 20 6e 65 78 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(consp.next)...................
129e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 65 71 20 28 63 61 72 20 6e 65 ................(not.(eq.(car.ne
12a00 78 74 29 20 27 71 75 6f 74 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 xt).'quote)))...................
12a20 20 20 20 20 20 20 20 20 20 20 20 28 76 65 63 74 6f 72 70 20 6e 65 78 74 29 29 29 29 0a 20 20 20 ...........(vectorp.next))))....
12a40 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.............
12a60 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ......(cond....................(
12a80 28 6b 65 79 77 6f 72 64 70 20 63 75 72 72 65 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 (keywordp.current)..............
12aa0 20 20 20 20 20 20 20 28 70 75 73 68 20 63 75 72 72 65 6e 74 20 6e 6f 72 6d 61 6c 69 7a 65 64 29 .......(push.current.normalized)
12ac0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 69 6e 74 65 .....................(push.(inte
12ae0 72 6e 20 28 73 75 62 73 74 72 69 6e 67 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 63 75 72 72 65 rn.(substring.(symbol-name.curre
12b00 6e 74 29 20 31 29 29 20 6e 6f 72 6d 61 6c 69 7a 65 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 nt).1)).normalized))............
12b20 20 20 20 20 20 20 20 20 28 28 73 74 72 69 6e 67 70 20 63 75 72 72 65 6e 74 29 0a 20 20 20 20 20 ........((stringp.current)......
12b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 63 75 72 72 65 6e 74 20 6e 6f 72 ...............(push.current.nor
12b60 6d 61 6c 69 7a 65 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 malized).....................(pu
12b80 73 68 20 28 69 6e 74 65 72 6e 20 63 75 72 72 65 6e 74 29 20 6e 6f 72 6d 61 6c 69 7a 65 64 29 29 sh.(intern.current).normalized))
12ba0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 61 6e 64 20 28 63 6f 6e 73 70 ....................((and.(consp
12bc0 20 63 75 72 72 65 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .current).......................
12be0 20 20 20 28 65 71 20 28 63 61 72 20 63 75 72 72 65 6e 74 29 20 27 71 75 6f 74 65 29 29 0a 20 20 ...(eq.(car.current).'quote))...
12c00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 63 75 72 72 65 6e 74 20 ..................(push.current.
12c20 6e 6f 72 6d 61 6c 69 7a 65 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 normalized).....................
12c40 28 70 75 73 68 20 28 63 61 64 72 20 63 75 72 72 65 6e 74 29 20 6e 6f 72 6d 61 6c 69 7a 65 64 29 (push.(cadr.current).normalized)
12c60 29 0a 20 20 20 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 )....................(t.(error."
12c80 2d 6c 65 74 3a 20 66 6f 75 6e 64 20 6b 65 79 20 60 25 73 27 20 69 6e 20 6b 76 20 64 65 73 74 72 -let:.found.key.`%s'.in.kv.destr
12ca0 75 63 74 75 72 69 6e 67 20 62 75 74 20 69 74 73 20 70 61 74 74 65 72 6e 20 60 25 73 27 20 69 73 ucturing.but.its.pattern.`%s'.is
12cc0 20 69 6e 76 61 6c 69 64 20 61 6e 64 20 63 61 6e 20 6e 6f 74 20 62 65 20 64 65 72 69 76 65 64 20 .invalid.and.can.not.be.derived.
12ce0 66 72 6f 6d 20 74 68 65 20 6b 65 79 22 20 63 75 72 72 65 6e 74 20 6e 65 78 74 29 29 29 0a 20 20 from.the.key".current.next)))...
12d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 73 6b 69 70 20 6e 69 6c 29 29 ................(setq.skip.nil))
12d20 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 63 75 72 72 65 6e 74 20 6e 6f 72 ...............(push.current.nor
12d40 6d 61 6c 69 7a 65 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 6e 65 78 malized)...............(push.nex
12d60 74 20 6e 6f 72 6d 61 6c 69 7a 65 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 t.normalized)...............(set
12d80 71 20 73 6b 69 70 20 74 29 29 29 29 29 29 0a 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 6e 6f 72 q.skip.t)))))).....(nreverse.nor
12da0 6d 61 6c 69 7a 65 64 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 2d 6d 61 74 63 68 2d 6b malized)))..(defun.dash--match-k
12dc0 76 20 28 6d 61 74 63 68 2d 66 6f 72 6d 20 73 6f 75 72 63 65 29 0a 20 20 22 53 65 74 75 70 20 61 v.(match-form.source)..."Setup.a
12de0 20 6b 76 20 6d 61 74 63 68 69 6e 67 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 61 6e 64 20 63 61 6c .kv.matching.environment.and.cal
12e00 6c 20 74 68 65 20 72 65 61 6c 20 6d 61 74 63 68 65 72 2e 0a 0a 6b 76 20 63 61 6e 20 62 65 20 61 l.the.real.matcher...kv.can.be.a
12e20 6e 79 20 6b 65 79 2d 76 61 6c 75 65 20 73 74 6f 72 65 2c 20 73 75 63 68 20 61 73 20 70 6c 69 73 ny.key-value.store,.such.as.plis
12e40 74 2c 20 61 6c 69 73 74 20 6f 72 20 68 61 73 68 2d 74 61 62 6c 65 2e 22 0a 20 20 28 6c 65 74 20 t,.alist.or.hash-table."...(let.
12e60 28 28 73 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 2d 6d 61 6b 65 2d 73 6f 75 72 63 65 2d 73 79 6d ((s.(dash--match-make-source-sym
12e80 62 6f 6c 29 29 29 0a 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 3b 3b 20 64 6f 6e 27 74 20 62 bol))).....(cond......;;.don't.b
12ea0 69 6e 64 20 60 73 27 20 69 66 20 77 65 20 6f 6e 6c 79 20 68 61 76 65 20 6f 6e 65 20 73 75 62 2d ind.`s'.if.we.only.have.one.sub-
12ec0 70 61 74 74 65 72 6e 20 28 26 74 79 70 65 20 6b 65 79 20 76 61 6c 29 0a 20 20 20 20 20 28 28 3d pattern.(&type.key.val)......((=
12ee0 20 28 6c 65 6e 67 74 68 20 6d 61 74 63 68 2d 66 6f 72 6d 29 20 33 29 0a 20 20 20 20 20 20 28 64 .(length.match-form).3).......(d
12f00 61 73 68 2d 2d 6d 61 74 63 68 2d 6b 76 2d 31 20 28 63 64 72 20 6d 61 74 63 68 2d 66 6f 72 6d 29 ash--match-kv-1.(cdr.match-form)
12f20 20 73 6f 75 72 63 65 20 28 63 61 72 20 6d 61 74 63 68 2d 66 6f 72 6d 29 29 29 0a 20 20 20 20 20 .source.(car.match-form)))......
12f40 3b 3b 20 69 66 20 74 68 65 20 73 6f 75 72 63 65 20 69 73 20 61 20 73 79 6d 62 6f 6c 2c 20 77 65 ;;.if.the.source.is.a.symbol,.we
12f60 20 64 6f 6e 27 74 20 6e 65 65 64 20 74 6f 20 72 65 2d 62 69 6e 64 20 69 74 0a 20 20 20 20 20 28 .don't.need.to.re-bind.it......(
12f80 28 73 79 6d 62 6f 6c 70 20 73 6f 75 72 63 65 29 0a 20 20 20 20 20 20 28 64 61 73 68 2d 2d 6d 61 (symbolp.source).......(dash--ma
12fa0 74 63 68 2d 6b 76 2d 31 20 28 63 64 72 20 6d 61 74 63 68 2d 66 6f 72 6d 29 20 73 6f 75 72 63 65 tch-kv-1.(cdr.match-form).source
12fc0 20 28 63 61 72 20 6d 61 74 63 68 2d 66 6f 72 6d 29 29 29 0a 20 20 20 20 20 28 74 0a 20 20 20 20 .(car.match-form)))......(t.....
12fe0 20 20 28 63 6f 6e 73 20 28 6c 69 73 74 20 73 20 73 6f 75 72 63 65 29 20 28 64 61 73 68 2d 2d 6d ..(cons.(list.s.source).(dash--m
13000 61 74 63 68 2d 6b 76 2d 31 20 28 63 64 72 20 6d 61 74 63 68 2d 66 6f 72 6d 29 20 73 20 28 63 61 atch-kv-1.(cdr.match-form).s.(ca
13020 72 20 6d 61 74 63 68 2d 66 6f 72 6d 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 68 r.match-form)))))))..(defun.dash
13040 2d 65 78 70 61 6e 64 3a 26 68 61 73 68 20 28 6b 65 79 20 73 6f 75 72 63 65 29 0a 20 20 22 47 65 -expand:&hash.(key.source)..."Ge
13060 6e 65 72 61 74 65 20 65 78 74 72 61 63 74 69 6e 67 20 4b 45 59 20 66 72 6f 6d 20 53 4f 55 52 43 nerate.extracting.KEY.from.SOURC
13080 45 20 66 6f 72 20 26 68 61 73 68 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 2e 22 0a 20 20 60 28 E.for.&hash.destructuring."...`(
130a0 67 65 74 68 61 73 68 20 2c 6b 65 79 20 2c 73 6f 75 72 63 65 29 29 0a 0a 28 64 65 66 75 6e 20 64 gethash.,key.,source))..(defun.d
130c0 61 73 68 2d 65 78 70 61 6e 64 3a 26 70 6c 69 73 74 20 28 6b 65 79 20 73 6f 75 72 63 65 29 0a 20 ash-expand:&plist.(key.source)..
130e0 20 22 47 65 6e 65 72 61 74 65 20 65 78 74 72 61 63 74 69 6e 67 20 4b 45 59 20 66 72 6f 6d 20 53 ."Generate.extracting.KEY.from.S
13100 4f 55 52 43 45 20 66 6f 72 20 26 70 6c 69 73 74 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 2e 22 OURCE.for.&plist.destructuring."
13120 0a 20 20 60 28 70 6c 69 73 74 2d 67 65 74 20 2c 73 6f 75 72 63 65 20 2c 6b 65 79 29 29 0a 0a 28 ...`(plist-get.,source.,key))..(
13140 64 65 66 75 6e 20 64 61 73 68 2d 65 78 70 61 6e 64 3a 26 61 6c 69 73 74 20 28 6b 65 79 20 73 6f defun.dash-expand:&alist.(key.so
13160 75 72 63 65 29 0a 20 20 22 47 65 6e 65 72 61 74 65 20 65 78 74 72 61 63 74 69 6e 67 20 4b 45 59 urce)..."Generate.extracting.KEY
13180 20 66 72 6f 6d 20 53 4f 55 52 43 45 20 66 6f 72 20 26 61 6c 69 73 74 20 64 65 73 74 72 75 63 74 .from.SOURCE.for.&alist.destruct
131a0 75 72 69 6e 67 2e 22 0a 20 20 60 28 63 64 72 20 28 61 73 73 6f 63 20 2c 6b 65 79 20 2c 73 6f 75 uring."...`(cdr.(assoc.,key.,sou
131c0 72 63 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 65 78 70 61 6e 64 3a 26 68 61 73 68 rce)))..(defun.dash-expand:&hash
131e0 3f 20 28 6b 65 79 20 73 6f 75 72 63 65 29 0a 20 20 22 47 65 6e 65 72 61 74 65 20 65 78 74 72 61 ?.(key.source)..."Generate.extra
13200 63 74 69 6e 67 20 4b 45 59 20 66 72 6f 6d 20 53 4f 55 52 43 45 20 66 6f 72 20 26 68 61 73 68 3f cting.KEY.from.SOURCE.for.&hash?
13220 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 2e 0a 53 69 6d 69 6c 61 72 20 74 6f 20 26 68 61 73 68 .destructuring..Similar.to.&hash
13240 20 62 75 74 20 63 68 65 63 6b 20 77 68 65 74 68 65 72 20 74 68 65 20 6d 61 70 20 69 73 20 6e 6f .but.check.whether.the.map.is.no
13260 74 20 6e 69 6c 2e 22 0a 20 20 28 6c 65 74 20 28 28 73 72 63 20 28 6d 61 6b 65 2d 73 79 6d 62 6f t.nil."...(let.((src.(make-symbo
13280 6c 20 22 73 72 63 22 29 29 29 0a 20 20 20 20 60 28 6c 65 74 20 28 28 2c 73 72 63 20 2c 73 6f 75 l."src"))).....`(let.((,src.,sou
132a0 72 63 65 29 29 0a 20 20 20 20 20 20 20 28 77 68 65 6e 20 2c 73 72 63 20 28 67 65 74 68 61 73 68 rce))........(when.,src.(gethash
132c0 20 2c 6b 65 79 20 2c 73 72 63 29 29 29 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 64 61 73 68 .,key.,src)))))..(defalias.'dash
132e0 2d 65 78 70 61 6e 64 3a 26 6b 65 79 73 20 27 64 61 73 68 2d 65 78 70 61 6e 64 3a 26 70 6c 69 73 -expand:&keys.'dash-expand:&plis
13300 74 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 2d 6d 61 74 63 68 2d 6b 76 2d 31 20 28 6d 61 74 t)..(defun.dash--match-kv-1.(mat
13320 63 68 2d 66 6f 72 6d 20 73 6f 75 72 63 65 20 74 79 70 65 29 0a 20 20 22 4d 61 74 63 68 20 4d 41 ch-form.source.type)..."Match.MA
13340 54 43 48 2d 46 4f 52 4d 20 61 67 61 69 6e 73 74 20 53 4f 55 52 43 45 20 6f 66 20 74 79 70 65 20 TCH-FORM.against.SOURCE.of.type.
13360 54 59 50 45 2e 0a 0a 4d 41 54 43 48 2d 46 4f 52 4d 20 69 73 20 61 20 70 72 6f 70 65 72 20 6c 69 TYPE...MATCH-FORM.is.a.proper.li
13380 73 74 20 6f 66 20 74 68 65 20 66 6f 72 6d 20 28 6b 65 79 31 20 70 6c 61 63 65 31 20 2e 2e 2e 20 st.of.the.form.(key1.place1.....
133a0 6b 65 79 4e 0a 70 6c 61 63 65 4e 29 2e 20 20 45 61 63 68 20 70 6c 61 63 65 4b 20 69 73 20 65 69 keyN.placeN)...Each.placeK.is.ei
133c0 74 68 65 72 20 61 20 73 79 6d 62 6f 6c 2c 20 77 68 69 63 68 20 67 65 74 73 20 62 6f 75 6e 64 20 ther.a.symbol,.which.gets.bound.
133e0 74 6f 20 74 68 65 0a 76 61 6c 75 65 20 6f 66 20 6b 65 79 4b 20 72 65 74 72 69 65 76 65 64 20 66 to.the.value.of.keyK.retrieved.f
13400 72 6f 6d 20 74 68 65 20 6b 65 79 2d 76 61 6c 75 65 20 73 74 6f 72 65 2c 20 6f 72 20 61 6e 6f 74 rom.the.key-value.store,.or.anot
13420 68 65 72 0a 6d 61 74 63 68 20 66 6f 72 6d 20 77 68 69 63 68 20 67 65 74 73 20 64 65 73 74 72 75 her.match.form.which.gets.destru
13440 63 74 75 72 65 64 20 72 65 63 75 72 73 69 76 65 6c 79 2e 0a 0a 53 4f 55 52 43 45 20 69 73 20 61 ctured.recursively...SOURCE.is.a
13460 20 6b 65 79 2d 76 61 6c 75 65 20 73 74 6f 72 65 20 6f 66 20 74 79 70 65 20 54 59 50 45 2c 20 77 .key-value.store.of.type.TYPE,.w
13480 68 69 63 68 20 63 61 6e 20 62 65 20 61 20 70 6c 69 73 74 2c 0a 61 6e 20 61 6c 69 73 74 20 6f 72 hich.can.be.a.plist,.an.alist.or
134a0 20 61 20 68 61 73 68 20 74 61 62 6c 65 2e 0a 0a 54 59 50 45 20 69 73 20 61 20 74 6f 6b 65 6e 20 .a.hash.table...TYPE.is.a.token.
134c0 73 70 65 63 69 66 79 69 6e 67 20 74 68 65 20 74 79 70 65 20 6f 66 20 74 68 65 20 6b 65 79 2d 76 specifying.the.type.of.the.key-v
134e0 61 6c 75 65 20 73 74 6f 72 65 2e 0a 56 61 6c 69 64 20 76 61 6c 75 65 73 20 61 72 65 20 26 70 6c alue.store..Valid.values.are.&pl
13500 69 73 74 2c 20 26 61 6c 69 73 74 20 61 6e 64 20 26 68 61 73 68 2e 22 0a 20 20 28 2d 66 6c 61 74 ist,.&alist.and.&hash."...(-flat
13520 74 65 6e 2d 6e 20 31 20 28 2d 6d 61 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ten-n.1.(-map..................(
13540 6c 61 6d 62 64 61 20 28 6b 76 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 lambda.(kv)....................(
13560 6c 65 74 2a 20 28 28 6b 20 28 63 61 72 20 6b 76 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 let*.((k.(car.kv))..............
13580 20 20 20 20 20 20 20 20 20 20 20 20 20 28 76 20 28 63 61 64 72 20 6b 76 29 29 0a 20 20 20 20 20 .............(v.(cadr.kv))......
135a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 65 74 74 65 72 0a 20 20 20 .....................(getter....
135c0 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 66 75 6e 63 61 6c 6c ........................(funcall
135e0 20 28 64 61 73 68 2d 2d 67 65 74 2d 65 78 70 61 6e 64 2d 66 75 6e 63 74 69 6f 6e 20 74 79 70 65 .(dash--get-expand-function.type
13600 29 20 6b 20 73 6f 75 72 63 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).k.source)))...................
13620 20 20 20 28 63 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 20 28 ...(cond.......................(
13640 28 73 79 6d 62 6f 6c 70 20 76 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (symbolp.v).....................
13660 20 20 20 28 6c 69 73 74 20 28 6c 69 73 74 20 76 20 67 65 74 74 65 72 29 29 29 0a 20 20 20 20 20 ...(list.(list.v.getter)))......
13680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 .................(t.(dash--match
136a0 20 76 20 67 65 74 74 65 72 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .v.getter)))))..................
136c0 28 2d 70 61 72 74 69 74 69 6f 6e 20 32 20 6d 61 74 63 68 2d 66 6f 72 6d 29 29 29 29 0a 0a 28 64 (-partition.2.match-form))))..(d
136e0 65 66 75 6e 20 64 61 73 68 2d 2d 6d 61 74 63 68 2d 73 79 6d 62 6f 6c 20 28 6d 61 74 63 68 2d 66 efun.dash--match-symbol.(match-f
13700 6f 72 6d 20 73 6f 75 72 63 65 29 0a 20 20 22 42 69 6e 64 20 61 20 73 79 6d 62 6f 6c 2e 0a 0a 54 orm.source)..."Bind.a.symbol...T
13720 68 69 73 20 77 6f 72 6b 73 20 6a 75 73 74 20 6c 69 6b 65 20 60 6c 65 74 27 2c 20 74 68 65 72 65 his.works.just.like.`let',.there
13740 20 69 73 20 6e 6f 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 2e 22 0a 20 20 28 6c 69 73 74 20 28 .is.no.destructuring."...(list.(
13760 6c 69 73 74 20 6d 61 74 63 68 2d 66 6f 72 6d 20 73 6f 75 72 63 65 29 29 29 0a 0a 28 64 65 66 75 list.match-form.source)))..(defu
13780 6e 20 64 61 73 68 2d 2d 6d 61 74 63 68 20 28 6d 61 74 63 68 2d 66 6f 72 6d 20 73 6f 75 72 63 65 n.dash--match.(match-form.source
137a0 29 0a 20 20 22 4d 61 74 63 68 20 4d 41 54 43 48 2d 46 4f 52 4d 20 61 67 61 69 6e 73 74 20 53 4f )..."Match.MATCH-FORM.against.SO
137c0 55 52 43 45 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 74 65 73 74 73 20 74 68 65 20 4d URCE...This.function.tests.the.M
137e0 41 54 43 48 2d 46 4f 52 4d 20 61 6e 64 20 64 69 73 70 61 74 63 68 65 73 20 74 6f 20 73 70 65 63 ATCH-FORM.and.dispatches.to.spec
13800 69 66 69 63 0a 6d 61 74 63 68 65 72 73 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 74 79 70 65 20 ific.matchers.based.on.the.type.
13820 6f 66 20 74 68 65 20 65 78 70 72 65 73 73 69 6f 6e 2e 0a 0a 4b 65 79 2d 76 61 6c 75 65 20 73 74 of.the.expression...Key-value.st
13840 6f 72 65 73 20 61 72 65 20 64 69 73 61 6d 62 69 67 75 61 74 65 64 20 62 79 20 70 6c 61 63 69 6e ores.are.disambiguated.by.placin
13860 67 20 61 20 74 6f 6b 65 6e 20 26 70 6c 69 73 74 2c 0a 26 61 6c 69 73 74 20 6f 72 20 26 68 61 73 g.a.token.&plist,.&alist.or.&has
13880 68 20 61 73 20 61 20 66 69 72 73 74 20 69 74 65 6d 20 69 6e 20 74 68 65 20 4d 41 54 43 48 2d 46 h.as.a.first.item.in.the.MATCH-F
138a0 4f 52 4d 2e 22 0a 20 20 28 63 6f 6e 64 0a 20 20 20 28 28 73 79 6d 62 6f 6c 70 20 6d 61 74 63 68 ORM."...(cond....((symbolp.match
138c0 2d 66 6f 72 6d 29 0a 20 20 20 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 2d 73 79 6d 62 6f 6c 20 6d -form).....(dash--match-symbol.m
138e0 61 74 63 68 2d 66 6f 72 6d 20 73 6f 75 72 63 65 29 29 0a 20 20 20 28 28 63 6f 6e 73 70 20 6d 61 atch-form.source))....((consp.ma
13900 74 63 68 2d 66 6f 72 6d 29 0a 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 3b 3b 20 48 61 6e 64 tch-form).....(cond......;;.Hand
13920 6c 65 20 74 68 65 20 22 78 20 26 61 73 22 20 62 69 6e 64 69 6e 67 73 20 66 69 72 73 74 2e 0a 20 le.the."x.&as".bindings.first...
13940 20 20 20 20 28 28 61 6e 64 20 28 63 6f 6e 73 70 20 28 63 64 72 20 6d 61 74 63 68 2d 66 6f 72 6d ....((and.(consp.(cdr.match-form
13960 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 79 6d 62 6f 6c 70 20 28 63 61 72 20 6d 61 74 63 ))............(symbolp.(car.matc
13980 68 2d 66 6f 72 6d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 65 71 20 27 26 61 73 20 28 63 61 h-form))............(eq.'&as.(ca
139a0 64 72 20 6d 61 74 63 68 2d 66 6f 72 6d 29 29 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 73 20 dr.match-form))).......(let.((s.
139c0 28 63 61 72 20 6d 61 74 63 68 2d 66 6f 72 6d 29 29 29 0a 20 20 20 20 20 20 20 20 28 63 6f 6e 73 (car.match-form))).........(cons
139e0 20 28 6c 69 73 74 20 73 20 73 6f 75 72 63 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 .(list.s.source)...............(
13a00 64 61 73 68 2d 2d 6d 61 74 63 68 20 28 63 64 64 72 20 6d 61 74 63 68 2d 66 6f 72 6d 29 20 73 29 dash--match.(cddr.match-form).s)
13a20 29 29 29 0a 20 20 20 20 20 28 28 66 75 6e 63 74 69 6f 6e 70 20 28 64 61 73 68 2d 2d 67 65 74 2d )))......((functionp.(dash--get-
13a40 65 78 70 61 6e 64 2d 66 75 6e 63 74 69 6f 6e 20 28 63 61 72 20 6d 61 74 63 68 2d 66 6f 72 6d 29 expand-function.(car.match-form)
13a60 29 29 0a 20 20 20 20 20 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 2d 6b 76 20 28 64 61 73 68 2d 2d )).......(dash--match-kv.(dash--
13a80 6d 61 74 63 68 2d 6b 76 2d 6e 6f 72 6d 61 6c 69 7a 65 2d 6d 61 74 63 68 2d 66 6f 72 6d 20 6d 61 match-kv-normalize-match-form.ma
13aa0 74 63 68 2d 66 6f 72 6d 29 20 73 6f 75 72 63 65 29 29 0a 20 20 20 20 20 28 74 20 28 64 61 73 68 tch-form).source))......(t.(dash
13ac0 2d 2d 6d 61 74 63 68 2d 63 6f 6e 73 20 6d 61 74 63 68 2d 66 6f 72 6d 20 73 6f 75 72 63 65 29 29 --match-cons.match-form.source))
13ae0 29 29 0a 20 20 20 28 28 76 65 63 74 6f 72 70 20 6d 61 74 63 68 2d 66 6f 72 6d 29 0a 20 20 20 20 ))....((vectorp.match-form).....
13b00 3b 3b 20 57 65 20 73 75 70 70 6f 72 74 20 74 68 65 20 26 61 73 20 62 69 6e 64 69 6e 67 20 69 6e ;;.We.support.the.&as.binding.in
13b20 20 76 65 63 74 6f 72 73 20 74 6f 6f 0a 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 28 28 61 6e .vectors.too.....(cond......((an
13b40 64 20 28 3e 20 28 6c 65 6e 67 74 68 20 6d 61 74 63 68 2d 66 6f 72 6d 29 20 32 29 0a 20 20 20 20 d.(>.(length.match-form).2).....
13b60 20 20 20 20 20 20 20 28 73 79 6d 62 6f 6c 70 20 28 61 72 65 66 20 6d 61 74 63 68 2d 66 6f 72 6d .......(symbolp.(aref.match-form
13b80 20 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 65 71 20 27 26 61 73 20 28 61 72 65 66 20 6d .0))............(eq.'&as.(aref.m
13ba0 61 74 63 68 2d 66 6f 72 6d 20 31 29 29 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 73 20 28 61 atch-form.1))).......(let.((s.(a
13bc0 72 65 66 20 6d 61 74 63 68 2d 66 6f 72 6d 20 30 29 29 29 0a 20 20 20 20 20 20 20 20 28 63 6f 6e ref.match-form.0))).........(con
13be0 73 20 28 6c 69 73 74 20 73 20 73 6f 75 72 63 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 s.(list.s.source)...............
13c00 28 64 61 73 68 2d 2d 6d 61 74 63 68 20 28 73 75 62 73 74 72 69 6e 67 20 6d 61 74 63 68 2d 66 6f (dash--match.(substring.match-fo
13c20 72 6d 20 32 29 20 73 29 29 29 29 0a 20 20 20 20 20 28 74 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 rm.2).s))))......(t.(dash--match
13c40 2d 76 65 63 74 6f 72 20 6d 61 74 63 68 2d 66 6f 72 6d 20 73 6f 75 72 63 65 29 29 29 29 29 29 0a -vector.match-form.source)))))).
13c60 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 2d 6e 6f 72 6d 61 6c 69 7a 65 2d 6c 65 74 2d 76 61 72 6c .(defun.dash--normalize-let-varl
13c80 69 73 74 20 28 76 61 72 6c 69 73 74 29 0a 20 20 22 4e 6f 72 6d 61 6c 69 7a 65 20 56 41 52 4c 49 ist.(varlist)..."Normalize.VARLI
13ca0 53 54 20 73 6f 20 74 68 61 74 20 65 76 65 72 79 20 62 69 6e 64 69 6e 67 20 69 73 20 61 20 6c 69 ST.so.that.every.binding.is.a.li
13cc0 73 74 2e 0a 0a 60 6c 65 74 27 20 61 6c 6c 6f 77 73 20 73 70 65 63 69 66 79 69 6e 67 20 61 20 62 st...`let'.allows.specifying.a.b
13ce0 69 6e 64 69 6e 67 20 77 68 69 63 68 20 69 73 20 6e 6f 74 20 61 20 6c 69 73 74 20 62 75 74 20 73 inding.which.is.not.a.list.but.s
13d00 69 6d 70 6c 79 0a 74 68 65 20 70 6c 61 63 65 20 77 68 69 63 68 20 69 73 20 74 68 65 6e 20 61 75 imply.the.place.which.is.then.au
13d20 74 6f 6d 61 74 69 63 61 6c 6c 79 20 62 6f 75 6e 64 20 74 6f 20 6e 69 6c 2c 20 73 75 63 68 20 74 tomatically.bound.to.nil,.such.t
13d40 68 61 74 20 61 6c 6c 0a 74 68 72 65 65 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 61 hat.all.three.of.the.following.a
13d60 72 65 20 69 64 65 6e 74 69 63 61 6c 20 61 6e 64 20 65 76 61 6c 75 61 74 65 20 74 6f 20 6e 69 6c re.identical.and.evaluate.to.nil
13d80 2e 0a 0a 20 20 28 6c 65 74 20 28 61 29 20 61 29 0a 20 20 28 6c 65 74 20 28 28 61 29 29 20 61 29 .....(let.(a).a)...(let.((a)).a)
13da0 0a 20 20 28 6c 65 74 20 28 28 61 20 6e 69 6c 29 29 20 61 29 0a 0a 54 68 69 73 20 66 75 6e 63 74 ...(let.((a.nil)).a)..This.funct
13dc0 69 6f 6e 20 6e 6f 72 6d 61 6c 69 7a 65 73 20 61 6c 6c 20 6f 66 20 74 68 65 73 65 20 74 6f 20 74 ion.normalizes.all.of.these.to.t
13de0 68 65 20 6c 61 73 74 20 66 6f 72 6d 2e 22 0a 20 20 28 2d 2d 6d 61 70 20 28 69 66 20 28 63 6f 6e he.last.form."...(--map.(if.(con
13e00 73 70 20 69 74 29 20 69 74 20 28 6c 69 73 74 20 69 74 20 6e 69 6c 29 29 20 76 61 72 6c 69 73 74 sp.it).it.(list.it.nil)).varlist
13e20 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 6c 65 74 2a 20 28 76 61 72 6c 69 73 74 20 26 72 65 ))..(defmacro.-let*.(varlist.&re
13e40 73 74 20 62 6f 64 79 29 0a 20 20 22 42 69 6e 64 20 76 61 72 69 61 62 6c 65 73 20 61 63 63 6f 72 st.body)..."Bind.variables.accor
13e60 64 69 6e 67 20 74 6f 20 56 41 52 4c 49 53 54 20 74 68 65 6e 20 65 76 61 6c 20 42 4f 44 59 2e 0a ding.to.VARLIST.then.eval.BODY..
13e80 0a 56 41 52 4c 49 53 54 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 6c 69 73 74 73 20 6f 66 20 74 .VARLIST.is.a.list.of.lists.of.t
13ea0 68 65 20 66 6f 72 6d 20 28 50 41 54 54 45 52 4e 20 53 4f 55 52 43 45 29 2e 20 20 45 61 63 68 0a he.form.(PATTERN.SOURCE)...Each.
13ec0 50 41 54 54 45 52 4e 20 69 73 20 6d 61 74 63 68 65 64 20 61 67 61 69 6e 73 74 20 74 68 65 20 53 PATTERN.is.matched.against.the.S
13ee0 4f 55 52 43 45 20 73 74 72 75 63 74 75 72 61 6c 6c 79 2e 20 20 53 4f 55 52 43 45 20 69 73 0a 6f OURCE.structurally...SOURCE.is.o
13f00 6e 6c 79 20 65 76 61 6c 75 61 74 65 64 20 6f 6e 63 65 20 66 6f 72 20 65 61 63 68 20 50 41 54 54 nly.evaluated.once.for.each.PATT
13f20 45 52 4e 2e 0a 0a 45 61 63 68 20 53 4f 55 52 43 45 20 63 61 6e 20 72 65 66 65 72 20 74 6f 20 74 ERN...Each.SOURCE.can.refer.to.t
13f40 68 65 20 73 79 6d 62 6f 6c 73 20 61 6c 72 65 61 64 79 20 62 6f 75 6e 64 20 62 79 20 74 68 69 73 he.symbols.already.bound.by.this
13f60 0a 56 41 52 4c 49 53 54 2e 20 20 54 68 69 73 20 69 73 20 75 73 65 66 75 6c 20 69 66 20 79 6f 75 .VARLIST...This.is.useful.if.you
13f80 20 77 61 6e 74 20 74 6f 20 64 65 73 74 72 75 63 74 75 72 65 20 53 4f 55 52 43 45 0a 72 65 63 75 .want.to.destructure.SOURCE.recu
13fa0 72 73 69 76 65 6c 79 20 62 75 74 20 61 6c 73 6f 20 77 61 6e 74 20 74 6f 20 6e 61 6d 65 20 74 68 rsively.but.also.want.to.name.th
13fc0 65 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 73 74 72 75 63 74 75 72 65 73 2e 0a 0a 53 65 65 20 e.intermediate.structures...See.
13fe0 60 2d 6c 65 74 27 20 66 6f 72 20 74 68 65 20 6c 69 73 74 20 6f 66 20 61 6c 6c 20 70 6f 73 73 69 `-let'.for.the.list.of.all.possi
14000 62 6c 65 20 70 61 74 74 65 72 6e 73 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 ble.patterns."...(declare.(debug
14020 20 28 28 26 72 65 73 74 20 5b 26 6f 72 20 28 73 65 78 70 20 66 6f 72 6d 29 20 73 65 78 70 5d 29 .((&rest.[&or.(sexp.form).sexp])
14040 20 62 6f 64 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 64 65 6e 74 20 31 29 29 0a 20 .body))............(indent.1))..
14060 20 28 6c 65 74 2a 20 28 28 76 61 72 6c 69 73 74 20 28 64 61 73 68 2d 2d 6e 6f 72 6d 61 6c 69 7a .(let*.((varlist.(dash--normaliz
14080 65 2d 6c 65 74 2d 76 61 72 6c 69 73 74 20 76 61 72 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 e-let-varlist.varlist)).........
140a0 20 28 62 69 6e 64 69 6e 67 73 20 28 2d 2d 6d 61 70 63 61 74 20 28 64 61 73 68 2d 2d 6d 61 74 63 .(bindings.(--mapcat.(dash--matc
140c0 68 20 28 63 61 72 20 69 74 29 20 28 63 61 64 72 20 69 74 29 29 20 76 61 72 6c 69 73 74 29 29 29 h.(car.it).(cadr.it)).varlist)))
140e0 0a 20 20 20 20 60 28 6c 65 74 2a 20 2c 62 69 6e 64 69 6e 67 73 0a 20 20 20 20 20 20 20 2c 40 62 .....`(let*.,bindings........,@b
14100 6f 64 79 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 6c 65 74 20 28 76 61 72 6c 69 73 74 20 ody)))..(defmacro.-let.(varlist.
14120 26 72 65 73 74 20 62 6f 64 79 29 0a 20 20 22 42 69 6e 64 20 76 61 72 69 61 62 6c 65 73 20 61 63 &rest.body)..."Bind.variables.ac
14140 63 6f 72 64 69 6e 67 20 74 6f 20 56 41 52 4c 49 53 54 20 74 68 65 6e 20 65 76 61 6c 20 42 4f 44 cording.to.VARLIST.then.eval.BOD
14160 59 2e 0a 0a 56 41 52 4c 49 53 54 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 6c 69 73 74 73 20 6f Y...VARLIST.is.a.list.of.lists.o
14180 66 20 74 68 65 20 66 6f 72 6d 20 28 50 41 54 54 45 52 4e 20 53 4f 55 52 43 45 29 2e 20 20 45 61 f.the.form.(PATTERN.SOURCE)...Ea
141a0 63 68 0a 50 41 54 54 45 52 4e 20 69 73 20 6d 61 74 63 68 65 64 20 61 67 61 69 6e 73 74 20 74 68 ch.PATTERN.is.matched.against.th
141c0 65 20 53 4f 55 52 43 45 20 5c 22 73 74 72 75 63 74 75 72 61 6c 6c 79 5c 22 2e 20 20 53 4f 55 52 e.SOURCE.\"structurally\"...SOUR
141e0 43 45 0a 69 73 20 6f 6e 6c 79 20 65 76 61 6c 75 61 74 65 64 20 6f 6e 63 65 20 66 6f 72 20 65 61 CE.is.only.evaluated.once.for.ea
14200 63 68 20 50 41 54 54 45 52 4e 2e 20 20 45 61 63 68 20 50 41 54 54 45 52 4e 20 69 73 20 6d 61 74 ch.PATTERN...Each.PATTERN.is.mat
14220 63 68 65 64 0a 72 65 63 75 72 73 69 76 65 6c 79 2c 20 61 6e 64 20 63 61 6e 20 74 68 65 72 65 66 ched.recursively,.and.can.theref
14240 6f 72 65 20 63 6f 6e 74 61 69 6e 20 73 75 62 2d 70 61 74 74 65 72 6e 73 20 77 68 69 63 68 20 61 ore.contain.sub-patterns.which.a
14260 72 65 0a 6d 61 74 63 68 65 64 20 61 67 61 69 6e 73 74 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 re.matched.against.corresponding
14280 20 73 75 62 2d 65 78 70 72 65 73 73 69 6f 6e 73 20 6f 66 20 53 4f 55 52 43 45 2e 0a 0a 41 6c 6c .sub-expressions.of.SOURCE...All
142a0 20 74 68 65 20 53 4f 55 52 43 45 73 20 61 72 65 20 65 76 61 6c 6c 65 64 20 62 65 66 6f 72 65 20 .the.SOURCEs.are.evalled.before.
142c0 61 6e 79 20 73 79 6d 62 6f 6c 73 20 61 72 65 0a 62 6f 75 6e 64 20 28 69 2e 65 2e 20 5c 22 69 6e any.symbols.are.bound.(i.e..\"in
142e0 20 70 61 72 61 6c 6c 65 6c 5c 22 29 2e 0a 0a 49 66 20 56 41 52 4c 49 53 54 20 6f 6e 6c 79 20 63 .parallel\")...If.VARLIST.only.c
14300 6f 6e 74 61 69 6e 73 20 6f 6e 65 20 28 50 41 54 54 45 52 4e 20 53 4f 55 52 43 45 29 20 65 6c 65 ontains.one.(PATTERN.SOURCE).ele
14320 6d 65 6e 74 2c 20 79 6f 75 20 63 61 6e 0a 6f 70 74 69 6f 6e 61 6c 6c 79 20 73 70 65 63 69 66 79 ment,.you.can.optionally.specify
14340 20 69 74 20 75 73 69 6e 67 20 61 20 76 65 63 74 6f 72 20 61 6e 64 20 64 69 73 63 61 72 64 69 6e .it.using.a.vector.and.discardin
14360 67 20 74 68 65 0a 6f 75 74 65 72 2d 6d 6f 73 74 20 70 61 72 65 6e 73 2e 20 20 54 68 75 73 0a 0a g.the.outer-most.parens...Thus..
14380 20 20 28 2d 6c 65 74 20 28 28 50 41 54 54 45 52 4e 20 53 4f 55 52 43 45 29 29 20 2e 2e 2e 29 0a ..(-let.((PATTERN.SOURCE))....).
143a0 0a 62 65 63 6f 6d 65 73 0a 0a 20 20 28 2d 6c 65 74 20 5b 50 41 54 54 45 52 4e 20 53 4f 55 52 43 .becomes....(-let.[PATTERN.SOURC
143c0 45 5d 20 2e 2e 2e 29 2e 0a 0a 60 2d 6c 65 74 27 20 75 73 65 73 20 61 20 63 6f 6e 76 65 6e 74 69 E]....)...`-let'.uses.a.conventi
143e0 6f 6e 20 6f 66 20 6e 6f 74 20 62 69 6e 64 69 6e 67 20 70 6c 61 63 65 73 20 28 73 79 6d 62 6f 6c on.of.not.binding.places.(symbol
14400 73 29 20 73 74 61 72 74 69 6e 67 0a 77 69 74 68 20 5f 20 77 68 65 6e 65 76 65 72 20 69 74 27 73 s).starting.with._.whenever.it's
14420 20 70 6f 73 73 69 62 6c 65 2e 20 20 59 6f 75 20 63 61 6e 20 75 73 65 20 74 68 69 73 20 74 6f 20 .possible...You.can.use.this.to.
14440 73 6b 69 70 20 6f 76 65 72 0a 65 6e 74 72 69 65 73 20 79 6f 75 20 64 6f 6e 27 74 20 63 61 72 65 skip.over.entries.you.don't.care
14460 20 61 62 6f 75 74 2e 20 20 48 6f 77 65 76 65 72 2c 20 74 68 69 73 20 69 73 20 6e 6f 74 20 2a 61 .about...However,.this.is.not.*a
14480 6c 77 61 79 73 2a 0a 70 6f 73 73 69 62 6c 65 20 28 61 73 20 61 20 72 65 73 75 6c 74 20 6f 66 20 lways*.possible.(as.a.result.of.
144a0 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 29 20 61 6e 64 20 74 68 65 73 65 20 73 79 6d 62 6f 6c implementation).and.these.symbol
144c0 73 20 6d 69 67 68 74 0a 67 65 74 20 62 6f 75 6e 64 20 74 6f 20 75 6e 64 65 66 69 6e 65 64 20 76 s.might.get.bound.to.undefined.v
144e0 61 6c 75 65 73 2e 0a 0a 46 6f 6c 6c 6f 77 69 6e 67 20 69 73 20 74 68 65 20 6f 76 65 72 76 69 65 alues...Following.is.the.overvie
14500 77 20 6f 66 20 73 75 70 70 6f 72 74 65 64 20 70 61 74 74 65 72 6e 73 2e 20 20 52 65 6d 65 6d 62 w.of.supported.patterns...Rememb
14520 65 72 20 74 68 61 74 0a 70 61 74 74 65 72 6e 73 20 63 61 6e 20 62 65 20 6d 61 74 63 68 65 64 20 er.that.patterns.can.be.matched.
14540 72 65 63 75 72 73 69 76 65 6c 79 2c 20 73 6f 20 65 76 65 72 79 20 61 2c 20 62 2c 20 61 4b 20 69 recursively,.so.every.a,.b,.aK.i
14560 6e 20 74 68 65 0a 66 6f 6c 6c 6f 77 69 6e 67 20 63 61 6e 20 62 65 20 61 20 6d 61 74 63 68 69 6e n.the.following.can.be.a.matchin
14580 67 20 63 6f 6e 73 74 72 75 63 74 20 61 6e 64 20 6e 6f 74 20 6e 65 63 65 73 73 61 72 69 6c 79 20 g.construct.and.not.necessarily.
145a0 61 0a 73 79 6d 62 6f 6c 2f 76 61 72 69 61 62 6c 65 2e 0a 0a 53 79 6d 62 6f 6c 3a 0a 0a 20 20 61 a.symbol/variable...Symbol:....a
145c0 20 2d 20 62 69 6e 64 20 74 68 65 20 53 4f 55 52 43 45 20 74 6f 20 41 2e 20 20 54 68 69 73 20 69 .-.bind.the.SOURCE.to.A...This.i
145e0 73 20 6a 75 73 74 20 6c 69 6b 65 20 72 65 67 75 6c 61 72 20 60 6c 65 74 27 2e 0a 0a 43 6f 6e 73 s.just.like.regular.`let'...Cons
14600 65 73 20 61 6e 64 20 6c 69 73 74 73 3a 0a 0a 20 20 28 61 29 20 2d 20 62 69 6e 64 20 60 63 61 72 es.and.lists:....(a).-.bind.`car
14620 27 20 6f 66 20 63 6f 6e 73 2f 6c 69 73 74 20 74 6f 20 41 0a 0a 20 20 28 61 20 2e 20 62 29 20 2d '.of.cons/list.to.A....(a...b).-
14640 20 62 69 6e 64 20 63 61 72 20 6f 66 20 63 6f 6e 73 20 74 6f 20 41 20 61 6e 64 20 60 63 64 72 27 .bind.car.of.cons.to.A.and.`cdr'
14660 20 74 6f 20 42 0a 0a 20 20 28 61 20 62 29 20 2d 20 62 69 6e 64 20 63 61 72 20 6f 66 20 6c 69 73 .to.B....(a.b).-.bind.car.of.lis
14680 74 20 74 6f 20 41 20 61 6e 64 20 60 63 61 64 72 27 20 74 6f 20 42 0a 0a 20 20 28 61 31 20 61 32 t.to.A.and.`cadr'.to.B....(a1.a2
146a0 20 61 33 20 2e 2e 2e 29 20 2d 20 62 69 6e 64 20 30 74 68 20 63 61 72 20 6f 66 20 6c 69 73 74 20 .a3....).-.bind.0th.car.of.list.
146c0 74 6f 20 41 31 2c 20 31 73 74 20 74 6f 20 41 32 2c 20 32 6e 64 20 74 6f 20 41 33 2e 2e 2e 0a 0a to.A1,.1st.to.A2,.2nd.to.A3.....
146e0 20 20 28 61 31 20 61 32 20 61 33 20 2e 2e 2e 20 61 4e 20 2e 20 72 65 73 74 29 20 2d 20 61 73 20 ..(a1.a2.a3.....aN...rest).-.as.
14700 61 62 6f 76 65 2c 20 62 75 74 20 62 69 6e 64 20 74 68 65 20 4e 74 68 20 63 64 72 20 74 6f 20 52 above,.but.bind.the.Nth.cdr.to.R
14720 45 53 54 2e 0a 0a 56 65 63 74 6f 72 73 3a 0a 0a 20 20 5b 61 5d 20 2d 20 62 69 6e 64 20 30 74 68 EST...Vectors:....[a].-.bind.0th
14740 20 65 6c 65 6d 65 6e 74 20 6f 66 20 61 20 6e 6f 6e 2d 6c 69 73 74 20 73 65 71 75 65 6e 63 65 20 .element.of.a.non-list.sequence.
14760 74 6f 20 41 20 28 77 6f 72 6b 73 20 77 69 74 68 0a 20 20 20 20 20 20 20 20 76 65 63 74 6f 72 73 to.A.(works.with.........vectors
14780 2c 20 73 74 72 69 6e 67 73 2c 20 62 69 74 20 61 72 72 61 79 73 2e 2e 2e 29 0a 0a 20 20 5b 61 31 ,.strings,.bit.arrays...)....[a1
147a0 20 61 32 20 61 33 20 2e 2e 2e 5d 20 2d 20 62 69 6e 64 20 30 74 68 20 65 6c 65 6d 65 6e 74 20 6f .a2.a3....].-.bind.0th.element.o
147c0 66 20 6e 6f 6e 2d 6c 69 73 74 20 73 65 71 75 65 6e 63 65 20 74 6f 20 41 30 2c 20 31 73 74 20 74 f.non-list.sequence.to.A0,.1st.t
147e0 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 31 2c 20 32 6e 64 20 74 6f 20 o....................A1,.2nd.to.
14800 41 32 2c 20 2e 2e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 66 20 74 68 A2,........................If.th
14820 65 20 50 41 54 54 45 52 4e 20 69 73 20 73 68 6f 72 74 65 72 20 74 68 61 6e 20 53 4f 55 52 43 45 e.PATTERN.is.shorter.than.SOURCE
14840 2c 20 74 68 65 20 76 61 6c 75 65 73 20 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ,.the.values.at.................
14860 20 20 20 70 6c 61 63 65 73 20 6e 6f 74 20 69 6e 20 50 41 54 54 45 52 4e 20 61 72 65 20 69 67 6e ...places.not.in.PATTERN.are.ign
14880 6f 72 65 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 66 20 74 68 65 20 ored.....................If.the.
148a0 50 41 54 54 45 52 4e 20 69 73 20 6c 6f 6e 67 65 72 20 74 68 61 6e 20 53 4f 55 52 43 45 2c 20 61 PATTERN.is.longer.than.SOURCE,.a
148c0 6e 20 60 65 72 72 6f 72 27 20 69 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 n.`error'.is....................
148e0 74 68 72 6f 77 6e 2e 0a 0a 20 20 5b 61 31 20 61 32 20 61 33 20 2e 2e 2e 20 26 72 65 73 74 20 72 thrown.....[a1.a2.a3.....&rest.r
14900 65 73 74 5d 20 2d 20 61 73 20 61 62 6f 76 65 2c 20 62 75 74 20 62 69 6e 64 20 74 68 65 20 72 65 est].-.as.above,.but.bind.the.re
14920 73 74 20 6f 66 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 st.of...........................
14940 20 20 20 20 74 68 65 20 73 65 71 75 65 6e 63 65 20 74 6f 20 52 45 53 54 2e 20 20 54 68 69 73 20 ....the.sequence.to.REST...This.
14960 69 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 is..............................
14980 20 63 6f 6e 63 65 70 74 75 61 6c 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 69 6d 70 72 6f 70 .conceptually.the.same.as.improp
149a0 65 72 20 6c 69 73 74 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 er.list.........................
149c0 20 20 20 20 20 20 6d 61 74 63 68 69 6e 67 20 28 61 31 20 61 32 20 2e 2e 2e 20 61 4e 20 2e 20 72 ......matching.(a1.a2.....aN...r
149e0 65 73 74 29 0a 0a 4b 65 79 2f 76 61 6c 75 65 20 73 74 6f 72 65 73 3a 0a 0a 20 20 28 26 70 6c 69 est)..Key/value.stores:....(&pli
14a00 73 74 20 6b 65 79 30 20 61 30 20 2e 2e 2e 20 6b 65 79 4e 20 61 4e 29 20 2d 20 62 69 6e 64 20 76 st.key0.a0.....keyN.aN).-.bind.v
14a20 61 6c 75 65 20 6d 61 70 70 65 64 20 62 79 20 6b 65 79 4b 20 69 6e 20 74 68 65 0a 20 20 20 20 20 alue.mapped.by.keyK.in.the......
14a40 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 53 4f 55 52 ............................SOUR
14a60 43 45 20 70 6c 69 73 74 20 74 6f 20 61 4b 2e 20 20 49 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 CE.plist.to.aK...If.the.........
14a80 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 76 61 6c 75 65 20 69 .........................value.i
14aa0 73 20 6e 6f 74 20 66 6f 75 6e 64 2c 20 61 4b 20 69 73 20 6e 69 6c 2e 0a 20 20 20 20 20 20 20 20 s.not.found,.aK.is.nil..........
14ac0 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 55 73 65 73 20 60 70 .........................Uses.`p
14ae0 6c 69 73 74 2d 67 65 74 27 20 74 6f 20 66 65 74 63 68 20 76 61 6c 75 65 73 2e 0a 0a 20 20 28 26 list-get'.to.fetch.values.....(&
14b00 61 6c 69 73 74 20 6b 65 79 30 20 61 30 20 2e 2e 2e 20 6b 65 79 4e 20 61 4e 29 20 2d 20 62 69 6e alist.key0.a0.....keyN.aN).-.bin
14b20 64 20 76 61 6c 75 65 20 6d 61 70 70 65 64 20 62 79 20 6b 65 79 4b 20 69 6e 20 74 68 65 0a 20 20 d.value.mapped.by.keyK.in.the...
14b40 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 53 ...............................S
14b60 4f 55 52 43 45 20 61 6c 69 73 74 20 74 6f 20 61 4b 2e 20 20 49 66 20 74 68 65 0a 20 20 20 20 20 OURCE.alist.to.aK...If.the......
14b80 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 76 61 6c 75 ............................valu
14ba0 65 20 69 73 20 6e 6f 74 20 66 6f 75 6e 64 2c 20 61 4b 20 69 73 20 6e 69 6c 2e 0a 20 20 20 20 20 e.is.not.found,.aK.is.nil.......
14bc0 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 55 73 65 73 ............................Uses
14be0 20 60 61 73 73 6f 63 27 20 74 6f 20 66 65 74 63 68 20 76 61 6c 75 65 73 2e 0a 0a 20 20 28 26 68 .`assoc'.to.fetch.values.....(&h
14c00 61 73 68 20 6b 65 79 30 20 61 30 20 2e 2e 2e 20 6b 65 79 4e 20 61 4e 29 20 2d 20 62 69 6e 64 20 ash.key0.a0.....keyN.aN).-.bind.
14c20 76 61 6c 75 65 20 6d 61 70 70 65 64 20 62 79 20 6b 65 79 4b 20 69 6e 20 74 68 65 0a 20 20 20 20 value.mapped.by.keyK.in.the.....
14c40 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 53 4f 55 52 ............................SOUR
14c60 43 45 20 68 61 73 68 20 74 61 62 6c 65 20 74 6f 20 61 4b 2e 20 20 49 66 20 74 68 65 0a 20 20 20 CE.hash.table.to.aK...If.the....
14c80 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 76 61 6c .............................val
14ca0 75 65 20 69 73 20 6e 6f 74 20 66 6f 75 6e 64 2c 20 61 4b 20 69 73 20 6e 69 6c 2e 0a 20 20 20 20 ue.is.not.found,.aK.is.nil......
14cc0 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 55 73 65 73 ............................Uses
14ce0 20 60 67 65 74 68 61 73 68 27 20 74 6f 20 66 65 74 63 68 20 76 61 6c 75 65 73 2e 0a 0a 46 75 72 .`gethash'.to.fetch.values...Fur
14d00 74 68 65 72 2c 20 73 70 65 63 69 61 6c 20 6b 65 79 77 6f 72 64 20 26 6b 65 79 73 20 73 75 70 70 ther,.special.keyword.&keys.supp
14d20 6f 72 74 73 20 5c 22 69 6e 6c 69 6e 65 5c 22 20 6d 61 74 63 68 69 6e 67 20 6f 66 0a 70 6c 69 73 orts.\"inline\".matching.of.plis
14d40 74 2d 6c 69 6b 65 20 6b 65 79 2d 76 61 6c 75 65 20 70 61 69 72 73 2c 20 73 69 6d 69 6c 61 72 6c t-like.key-value.pairs,.similarl
14d60 79 20 74 6f 20 26 6b 65 79 73 20 6b 65 79 77 6f 72 64 20 6f 66 0a 60 63 6c 2d 64 65 66 75 6e 27 y.to.&keys.keyword.of.`cl-defun'
14d80 2e 0a 0a 20 20 28 61 31 20 61 32 20 2e 2e 2e 20 61 4e 20 26 6b 65 79 73 20 6b 65 79 31 20 62 31 .....(a1.a2.....aN.&keys.key1.b1
14da0 20 2e 2e 2e 20 6b 65 79 4e 20 62 4b 29 0a 0a 54 68 69 73 20 62 69 6e 64 73 20 4e 20 76 61 6c 75 .....keyN.bK)..This.binds.N.valu
14dc0 65 73 20 66 72 6f 6d 20 74 68 65 20 6c 69 73 74 20 74 6f 20 61 31 20 2e 2e 2e 20 61 4e 2c 20 74 es.from.the.list.to.a1.....aN,.t
14de0 68 65 6e 20 69 6e 74 65 72 70 72 65 74 73 0a 74 68 65 20 63 64 72 20 61 73 20 61 20 70 6c 69 73 hen.interprets.the.cdr.as.a.plis
14e00 74 20 28 73 65 65 20 6b 65 79 2f 76 61 6c 75 65 20 6d 61 74 63 68 69 6e 67 20 61 62 6f 76 65 29 t.(see.key/value.matching.above)
14e20 2e 0a 0a 41 20 73 68 6f 72 74 68 61 6e 64 20 6e 6f 74 61 74 69 6f 6e 20 66 6f 72 20 6b 76 2d 64 ...A.shorthand.notation.for.kv-d
14e40 65 73 74 72 75 63 74 75 72 69 6e 67 20 65 78 69 73 74 73 20 77 68 69 63 68 20 61 6c 6c 6f 77 73 estructuring.exists.which.allows
14e60 20 74 68 65 0a 70 61 74 74 65 72 6e 73 20 62 65 20 6f 70 74 69 6f 6e 61 6c 6c 79 20 6c 65 66 74 .the.patterns.be.optionally.left
14e80 20 6f 75 74 20 61 6e 64 20 64 65 72 69 76 65 64 20 66 72 6f 6d 20 74 68 65 20 6b 65 79 20 6e 61 .out.and.derived.from.the.key.na
14ea0 6d 65 20 69 6e 0a 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 61 73 68 69 6f 6e 3a 0a 0a 2d 20 me.in.the.following.fashion:..-.
14ec0 61 20 6b 65 79 20 3a 66 6f 6f 20 69 73 20 63 6f 6e 76 65 72 74 65 64 20 69 6e 74 6f 20 60 66 6f a.key.:foo.is.converted.into.`fo
14ee0 6f 27 20 70 61 74 74 65 72 6e 2c 0a 2d 20 61 20 6b 65 79 20 27 62 61 72 20 69 73 20 63 6f 6e 76 o'.pattern,.-.a.key.'bar.is.conv
14f00 65 72 74 65 64 20 69 6e 74 6f 20 60 62 61 72 27 20 70 61 74 74 65 72 6e 2c 0a 2d 20 61 20 6b 65 erted.into.`bar'.pattern,.-.a.ke
14f20 79 20 5c 22 62 61 7a 5c 22 20 69 73 20 63 6f 6e 76 65 72 74 65 64 20 69 6e 74 6f 20 60 62 61 7a y.\"baz\".is.converted.into.`baz
14f40 27 20 70 61 74 74 65 72 6e 2e 0a 0a 54 68 61 74 20 69 73 2c 20 74 68 65 20 65 6e 74 69 72 65 20 '.pattern...That.is,.the.entire.
14f60 76 61 6c 75 65 20 75 6e 64 65 72 20 74 68 65 20 6b 65 79 20 69 73 20 62 6f 75 6e 64 20 74 6f 20 value.under.the.key.is.bound.to.
14f80 74 68 65 20 64 65 72 69 76 65 64 0a 76 61 72 69 61 62 6c 65 20 77 69 74 68 6f 75 74 20 61 6e 79 the.derived.variable.without.any
14fa0 20 66 75 72 74 68 65 72 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 2e 0a 0a 54 68 69 73 20 69 73 .further.destructuring...This.is
14fc0 20 70 6f 73 73 69 62 6c 65 20 6f 6e 6c 79 20 77 68 65 6e 20 74 68 65 20 66 6f 72 6d 20 66 6f 6c .possible.only.when.the.form.fol
14fe0 6c 6f 77 69 6e 67 20 74 68 65 20 6b 65 79 20 69 73 20 6e 6f 74 20 61 0a 76 61 6c 69 64 20 70 61 lowing.the.key.is.not.a.valid.pa
15000 74 74 65 72 6e 20 28 69 2e 65 2e 20 6e 6f 74 20 61 20 73 79 6d 62 6f 6c 2c 20 61 20 63 6f 6e 73 ttern.(i.e..not.a.symbol,.a.cons
15020 20 63 65 6c 6c 20 6f 72 20 61 20 76 65 63 74 6f 72 29 2e 0a 4f 74 68 65 72 77 69 73 65 20 74 68 .cell.or.a.vector)..Otherwise.th
15040 65 20 6d 61 74 63 68 69 6e 67 20 70 72 6f 63 65 65 64 73 20 61 73 20 75 73 75 61 6c 20 61 6e 64 e.matching.proceeds.as.usual.and
15060 20 69 6e 20 63 61 73 65 20 6f 66 20 61 6e 0a 69 6e 76 61 6c 69 64 20 73 70 65 63 20 66 61 69 6c .in.case.of.an.invalid.spec.fail
15080 73 20 77 69 74 68 20 61 6e 20 65 72 72 6f 72 2e 0a 0a 54 68 75 73 20 74 68 65 20 70 61 74 74 65 s.with.an.error...Thus.the.patte
150a0 72 6e 73 20 61 72 65 20 6e 6f 72 6d 61 6c 69 7a 65 64 20 61 73 20 66 6f 6c 6c 6f 77 73 3a 0a 0a rns.are.normalized.as.follows:..
150c0 20 20 20 3b 3b 20 64 65 72 69 76 65 20 61 6c 6c 20 74 68 65 20 6d 69 73 73 69 6e 67 20 70 61 74 ...;;.derive.all.the.missing.pat
150e0 74 65 72 6e 73 0a 20 20 20 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 27 62 61 72 20 5c 22 62 61 7a terns....(&plist.:foo.'bar.\"baz
15100 5c 22 29 20 3d 3e 20 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 66 6f 6f 20 27 62 61 72 20 62 61 72 \").=>.(&plist.:foo.foo.'bar.bar
15120 20 5c 22 62 61 7a 5c 22 20 62 61 7a 29 0a 0a 20 20 20 3b 3b 20 77 65 20 63 61 6e 20 73 70 65 63 .\"baz\".baz).....;;.we.can.spec
15140 69 66 79 20 73 6f 6d 65 20 62 75 74 20 6e 6f 74 20 6f 74 68 65 72 73 0a 20 20 20 28 26 70 6c 69 ify.some.but.not.others....(&pli
15160 73 74 20 3a 66 6f 6f 20 27 62 61 72 20 65 78 70 6c 69 63 69 74 2d 62 61 72 29 20 3d 3e 20 28 26 st.:foo.'bar.explicit-bar).=>.(&
15180 70 6c 69 73 74 20 3a 66 6f 6f 20 66 6f 6f 20 27 62 61 72 20 65 78 70 6c 69 63 69 74 2d 62 61 72 plist.:foo.foo.'bar.explicit-bar
151a0 29 0a 0a 20 20 20 3b 3b 20 6e 6f 74 68 69 6e 67 20 68 61 70 70 65 6e 73 2c 20 77 65 20 73 74 6f ).....;;.nothing.happens,.we.sto
151c0 72 65 20 3a 66 6f 6f 20 69 6e 20 78 0a 20 20 20 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 78 29 20 re.:foo.in.x....(&plist.:foo.x).
151e0 3d 3e 20 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 78 29 0a 0a 20 20 20 3b 3b 20 6e 6f 74 68 69 6e =>.(&plist.:foo.x).....;;.nothin
15200 67 20 68 61 70 70 65 6e 73 2c 20 77 65 20 6d 61 74 63 68 20 72 65 63 75 72 73 69 76 65 6c 79 0a g.happens,.we.match.recursively.
15220 20 20 20 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 28 61 20 62 20 63 29 29 20 3d 3e 20 28 26 70 6c ...(&plist.:foo.(a.b.c)).=>.(&pl
15240 69 73 74 20 3a 66 6f 6f 20 28 61 20 62 20 63 29 29 0a 0a 59 6f 75 20 63 61 6e 20 6e 61 6d 65 20 ist.:foo.(a.b.c))..You.can.name.
15260 74 68 65 20 73 6f 75 72 63 65 20 75 73 69 6e 67 20 74 68 65 20 73 79 6e 74 61 78 20 53 59 4d 42 the.source.using.the.syntax.SYMB
15280 4f 4c 20 26 61 73 20 50 41 54 54 45 52 4e 2e 0a 54 68 69 73 20 73 79 6e 74 61 78 20 77 6f 72 6b OL.&as.PATTERN..This.syntax.work
152a0 73 20 77 69 74 68 20 6c 69 73 74 73 20 28 70 72 6f 70 65 72 20 6f 72 20 69 6d 70 72 6f 70 65 72 s.with.lists.(proper.or.improper
152c0 29 2c 20 76 65 63 74 6f 72 73 20 61 6e 64 0a 61 6c 6c 20 74 79 70 65 73 20 6f 66 20 6d 61 70 73 ),.vectors.and.all.types.of.maps
152e0 2e 0a 0a 20 20 28 6c 69 73 74 20 26 61 73 20 61 20 62 20 63 29 20 28 6c 69 73 74 20 31 20 32 20 .....(list.&as.a.b.c).(list.1.2.
15300 33 29 0a 0a 62 69 6e 64 73 20 41 20 74 6f 20 31 2c 20 42 20 74 6f 20 32 2c 20 43 20 74 6f 20 33 3)..binds.A.to.1,.B.to.2,.C.to.3
15320 20 61 6e 64 20 4c 49 53 54 20 74 6f 20 28 31 20 32 20 33 29 2e 0a 0a 53 69 6d 69 6c 61 72 6c 79 .and.LIST.to.(1.2.3)...Similarly
15340 3a 0a 0a 20 20 28 62 6f 75 6e 64 73 20 26 61 73 20 62 65 67 20 2e 20 65 6e 64 29 20 28 63 6f 6e :....(bounds.&as.beg...end).(con
15360 73 20 31 20 32 29 0a 0a 62 69 6e 64 73 20 42 45 47 20 74 6f 20 31 2c 20 45 4e 44 20 74 6f 20 32 s.1.2)..binds.BEG.to.1,.END.to.2
15380 20 61 6e 64 20 42 4f 55 4e 44 53 20 74 6f 20 28 31 20 2e 20 32 29 2e 0a 0a 20 20 28 69 74 65 6d .and.BOUNDS.to.(1...2).....(item
153a0 73 20 26 61 73 20 66 69 72 73 74 20 2e 20 72 65 73 74 29 20 28 6c 69 73 74 20 31 20 32 20 33 29 s.&as.first...rest).(list.1.2.3)
153c0 0a 0a 62 69 6e 64 73 20 46 49 52 53 54 20 74 6f 20 31 2c 20 52 45 53 54 20 74 6f 20 28 32 20 33 ..binds.FIRST.to.1,.REST.to.(2.3
153e0 29 20 61 6e 64 20 49 54 45 4d 53 20 74 6f 20 28 31 20 32 20 33 29 0a 0a 20 20 5b 76 65 63 74 20 ).and.ITEMS.to.(1.2.3)....[vect.
15400 26 61 73 20 5f 20 62 20 63 5d 20 5b 31 20 32 20 33 5d 0a 0a 62 69 6e 64 73 20 42 20 74 6f 20 32 &as._.b.c].[1.2.3]..binds.B.to.2
15420 2c 20 43 20 74 6f 20 33 20 61 6e 64 20 56 45 43 54 20 74 6f 20 5b 31 20 32 20 33 5d 20 28 5f 20 ,.C.to.3.and.VECT.to.[1.2.3].(_.
15440 61 76 6f 69 64 73 20 62 69 6e 64 69 6e 67 20 61 73 20 75 73 75 61 6c 29 2e 0a 0a 20 20 28 70 6c avoids.binding.as.usual).....(pl
15460 69 73 74 20 26 61 73 20 26 70 6c 69 73 74 20 3a 62 20 62 29 20 28 6c 69 73 74 20 3a 61 20 31 20 ist.&as.&plist.:b.b).(list.:a.1.
15480 3a 62 20 32 20 3a 63 20 33 29 0a 0a 62 69 6e 64 73 20 42 20 74 6f 20 32 20 61 6e 64 20 50 4c 49 :b.2.:c.3)..binds.B.to.2.and.PLI
154a0 53 54 20 74 6f 20 28 3a 61 20 31 20 3a 62 20 32 20 3a 63 20 33 29 2e 20 20 53 61 6d 65 20 66 6f ST.to.(:a.1.:b.2.:c.3)...Same.fo
154c0 72 20 26 61 6c 69 73 74 20 61 6e 64 20 26 68 61 73 68 2e 0a 0a 54 68 69 73 20 69 73 20 65 73 70 r.&alist.and.&hash...This.is.esp
154e0 65 63 69 61 6c 6c 79 20 75 73 65 66 75 6c 20 77 68 65 6e 20 77 65 20 77 61 6e 74 20 74 6f 20 63 ecially.useful.when.we.want.to.c
15500 61 70 74 75 72 65 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 61 0a 63 6f 6d 70 75 74 61 74 69 apture.the.result.of.a.computati
15520 6f 6e 20 61 6e 64 20 64 65 73 74 72 75 63 74 75 72 65 20 61 74 20 74 68 65 20 73 61 6d 65 20 74 on.and.destructure.at.the.same.t
15540 69 6d 65 2e 20 20 43 6f 6e 73 69 64 65 72 20 74 68 65 0a 66 6f 72 6d 20 28 66 75 6e 63 74 69 6f ime...Consider.the.form.(functio
15560 6e 2d 72 65 74 75 72 6e 69 6e 67 2d 63 6f 6d 70 6c 65 78 2d 73 74 72 75 63 74 75 72 65 29 20 72 n-returning-complex-structure).r
15580 65 74 75 72 6e 69 6e 67 20 61 20 6c 69 73 74 20 6f 66 0a 74 77 6f 20 76 65 63 74 6f 72 73 20 77 eturning.a.list.of.two.vectors.w
155a0 69 74 68 20 74 77 6f 20 69 74 65 6d 73 20 65 61 63 68 2e 20 20 57 65 20 77 61 6e 74 20 74 6f 20 ith.two.items.each...We.want.to.
155c0 63 61 70 74 75 72 65 20 74 68 69 73 20 65 6e 74 69 72 65 0a 72 65 73 75 6c 74 20 61 6e 64 20 70 capture.this.entire.result.and.p
155e0 61 73 73 20 69 74 20 74 6f 20 61 6e 6f 74 68 65 72 20 63 6f 6d 70 75 74 61 74 69 6f 6e 2c 20 62 ass.it.to.another.computation,.b
15600 75 74 20 61 74 20 74 68 65 20 73 61 6d 65 20 74 69 6d 65 0a 77 65 20 77 61 6e 74 20 74 6f 20 67 ut.at.the.same.time.we.want.to.g
15620 65 74 20 74 68 65 20 73 65 63 6f 6e 64 20 69 74 65 6d 20 66 72 6f 6d 20 65 61 63 68 20 76 65 63 et.the.second.item.from.each.vec
15640 74 6f 72 2e 20 20 57 65 20 63 61 6e 20 61 63 68 69 65 76 65 0a 69 74 20 77 69 74 68 20 70 61 74 tor...We.can.achieve.it.with.pat
15660 74 65 72 6e 0a 0a 20 20 28 72 65 73 75 6c 74 20 26 61 73 20 5b 5f 20 61 5d 20 5b 5f 20 62 5d 29 tern....(result.&as.[_.a].[_.b])
15680 20 28 66 75 6e 63 74 69 6f 6e 2d 72 65 74 75 72 6e 69 6e 67 2d 63 6f 6d 70 6c 65 78 2d 73 74 72 .(function-returning-complex-str
156a0 75 63 74 75 72 65 29 0a 0a 4e 6f 74 65 3a 20 43 6c 6f 6a 75 72 65 20 70 72 6f 67 72 61 6d 6d 65 ucture)..Note:.Clojure.programme
156c0 72 73 20 6d 61 79 20 6b 6e 6f 77 20 74 68 69 73 20 66 65 61 74 75 72 65 20 61 73 20 74 68 65 20 rs.may.know.this.feature.as.the.
156e0 5c 22 3a 61 73 0a 62 69 6e 64 69 6e 67 5c 22 2e 20 20 54 68 65 20 64 69 66 66 65 72 65 6e 63 65 \":as.binding\"...The.difference
15700 20 69 73 20 74 68 61 74 20 77 65 20 70 75 74 20 74 68 65 20 26 61 73 20 61 74 20 74 68 65 20 66 .is.that.we.put.the.&as.at.the.f
15720 72 6f 6e 74 0a 62 65 63 61 75 73 65 20 77 65 20 6e 65 65 64 20 74 6f 20 73 75 70 70 6f 72 74 20 ront.because.we.need.to.support.
15740 69 6d 70 72 6f 70 65 72 20 6c 69 73 74 20 62 69 6e 64 69 6e 67 2e 22 0a 20 20 28 64 65 63 6c 61 improper.list.binding."...(decla
15760 72 65 20 28 64 65 62 75 67 20 28 5b 26 6f 72 20 28 26 72 65 73 74 20 5b 26 6f 72 20 28 73 65 78 re.(debug.([&or.(&rest.[&or.(sex
15780 70 20 66 6f 72 6d 29 20 73 65 78 70 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 p.form).sexp])..................
157a0 20 20 20 20 20 20 20 28 76 65 63 74 6f 72 20 5b 26 72 65 73 74 20 5b 73 65 78 70 20 66 6f 72 6d .......(vector.[&rest.[sexp.form
157c0 5d 5d 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 6f 64 79 29 29 0a 20 ]])]....................body))..
157e0 20 20 20 20 20 20 20 20 20 20 28 69 6e 64 65 6e 74 20 31 29 29 0a 20 20 28 69 66 20 28 76 65 63 ..........(indent.1))...(if.(vec
15800 74 6f 72 70 20 76 61 72 6c 69 73 74 29 0a 20 20 20 20 20 20 60 28 6c 65 74 2a 20 2c 28 64 61 73 torp.varlist).......`(let*.,(das
15820 68 2d 2d 6d 61 74 63 68 20 28 61 72 65 66 20 76 61 72 6c 69 73 74 20 30 29 20 28 61 72 65 66 20 h--match.(aref.varlist.0).(aref.
15840 76 61 72 6c 69 73 74 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 2c 40 62 6f 64 79 29 0a 20 20 20 varlist.1))..........,@body)....
15860 20 28 6c 65 74 2a 20 28 28 76 61 72 6c 69 73 74 20 28 64 61 73 68 2d 2d 6e 6f 72 6d 61 6c 69 7a .(let*.((varlist.(dash--normaliz
15880 65 2d 6c 65 74 2d 76 61 72 6c 69 73 74 20 76 61 72 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 e-let-varlist.varlist)).........
158a0 20 20 20 28 69 6e 70 75 74 73 20 28 2d 2d 6d 61 70 2d 69 6e 64 65 78 65 64 20 28 6c 69 73 74 20 ...(inputs.(--map-indexed.(list.
158c0 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 28 66 6f 72 6d 61 74 20 22 69 6e 70 75 74 25 64 22 20 69 (make-symbol.(format."input%d".i
158e0 74 2d 69 6e 64 65 78 29 29 20 28 63 61 64 72 20 69 74 29 29 20 76 61 72 6c 69 73 74 29 29 0a 20 t-index)).(cadr.it)).varlist))..
15900 20 20 20 20 20 20 20 20 20 20 28 6e 65 77 2d 76 61 72 6c 69 73 74 20 28 2d 2d 6d 61 70 20 28 6c ..........(new-varlist.(--map.(l
15920 69 73 74 20 28 63 61 61 72 20 69 74 29 20 28 63 61 64 72 20 69 74 29 29 20 28 2d 7a 69 70 20 76 ist.(caar.it).(cadr.it)).(-zip.v
15940 61 72 6c 69 73 74 20 69 6e 70 75 74 73 29 29 29 29 0a 20 20 20 20 20 20 60 28 6c 65 74 20 2c 69 arlist.inputs)))).......`(let.,i
15960 6e 70 75 74 73 0a 20 20 20 20 20 20 20 20 20 28 2d 6c 65 74 2a 20 2c 6e 65 77 2d 76 61 72 6c 69 nputs..........(-let*.,new-varli
15980 73 74 20 2c 40 62 6f 64 79 29 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 6c 61 6d 62 64 st.,@body)))))..(defmacro.-lambd
159a0 61 20 28 6d 61 74 63 68 2d 66 6f 72 6d 20 26 72 65 73 74 20 62 6f 64 79 29 0a 20 20 22 52 65 74 a.(match-form.&rest.body)..."Ret
159c0 75 72 6e 20 61 20 6c 61 6d 62 64 61 20 77 68 69 63 68 20 64 65 73 74 72 75 63 74 75 72 65 73 20 urn.a.lambda.which.destructures.
159e0 69 74 73 20 69 6e 70 75 74 20 61 73 20 4d 41 54 43 48 2d 46 4f 52 4d 20 61 6e 64 20 65 78 65 63 its.input.as.MATCH-FORM.and.exec
15a00 75 74 65 73 20 42 4f 44 59 2e 0a 0a 4e 6f 74 65 20 74 68 61 74 20 79 6f 75 20 68 61 76 65 20 74 utes.BODY...Note.that.you.have.t
15a20 6f 20 65 6e 63 6c 6f 73 65 20 74 68 65 20 4d 41 54 43 48 2d 46 4f 52 4d 20 69 6e 20 61 20 70 61 o.enclose.the.MATCH-FORM.in.a.pa
15a40 69 72 20 6f 66 20 70 61 72 65 6e 73 2c 0a 73 75 63 68 20 74 68 61 74 3a 0a 0a 20 20 28 2d 6c 61 ir.of.parens,.such.that:....(-la
15a60 6d 62 64 61 20 28 78 29 20 62 6f 64 79 29 0a 20 20 28 2d 6c 61 6d 62 64 61 20 28 78 20 79 20 2e mbda.(x).body)...(-lambda.(x.y..
15a80 2e 2e 29 20 62 6f 64 79 29 0a 0a 68 61 73 20 74 68 65 20 75 73 75 61 6c 20 73 65 6d 61 6e 74 69 ..).body)..has.the.usual.semanti
15aa0 63 73 20 6f 66 20 60 6c 61 6d 62 64 61 27 2e 20 20 46 75 72 74 68 65 72 6d 6f 72 65 2c 20 74 68 cs.of.`lambda'...Furthermore,.th
15ac0 65 73 65 20 67 65 74 0a 74 72 61 6e 73 6c 61 74 65 64 20 69 6e 74 6f 20 6e 6f 72 6d 61 6c 20 60 ese.get.translated.into.normal.`
15ae0 6c 61 6d 62 64 61 27 2c 20 73 6f 20 74 68 65 72 65 20 69 73 20 6e 6f 20 70 65 72 66 6f 72 6d 61 lambda',.so.there.is.no.performa
15b00 6e 63 65 0a 70 65 6e 61 6c 74 79 2e 0a 0a 53 65 65 20 60 2d 6c 65 74 27 20 66 6f 72 20 61 20 64 nce.penalty...See.`-let'.for.a.d
15b20 65 73 63 72 69 70 74 69 6f 6e 20 6f 66 20 74 68 65 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 20 escription.of.the.destructuring.
15b40 6d 65 63 68 61 6e 69 73 6d 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 6f 63 2d 73 74 72 69 mechanism."...(declare.(doc-stri
15b60 6e 67 20 32 29 20 28 69 6e 64 65 6e 74 20 64 65 66 75 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 ng.2).(indent.defun)............
15b80 28 64 65 62 75 67 20 28 26 64 65 66 69 6e 65 20 73 65 78 70 0a 20 20 20 20 20 20 20 20 20 20 20 (debug.(&define.sexp............
15ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 26 6f 70 74 69 6f 6e 61 6c 20 73 74 72 69 6e ................[&optional.strin
15bc0 67 70 5d 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 5b gp]............................[
15be0 26 6f 70 74 69 6f 6e 61 6c 20 28 22 69 6e 74 65 72 61 63 74 69 76 65 22 20 69 6e 74 65 72 61 63 &optional.("interactive".interac
15c00 74 69 76 65 29 5d 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 tive)]..........................
15c20 20 20 64 65 66 2d 62 6f 64 79 29 29 29 0a 20 20 28 63 6f 6e 64 0a 20 20 20 28 28 6e 6c 69 73 74 ..def-body)))...(cond....((nlist
15c40 70 20 6d 61 74 63 68 2d 66 6f 72 6d 29 0a 20 20 20 20 28 73 69 67 6e 61 6c 20 27 77 72 6f 6e 67 p.match-form).....(signal.'wrong
15c60 2d 74 79 70 65 2d 61 72 67 75 6d 65 6e 74 20 28 6c 69 73 74 20 23 27 6c 69 73 74 70 20 6d 61 74 -type-argument.(list.#'listp.mat
15c80 63 68 2d 66 6f 72 6d 29 29 29 0a 20 20 20 3b 3b 20 4e 6f 20 64 65 73 74 72 75 63 74 75 72 69 6e ch-form)))....;;.No.destructurin
15ca0 67 2c 20 73 6f 20 6a 75 73 74 20 72 65 74 75 72 6e 20 72 65 67 75 6c 61 72 20 60 6c 61 6d 62 64 g,.so.just.return.regular.`lambd
15cc0 61 27 20 66 6f 72 20 73 70 65 65 64 2e 0a 20 20 20 28 28 2d 61 6c 6c 3f 20 23 27 73 79 6d 62 6f a'.for.speed.....((-all?.#'symbo
15ce0 6c 70 20 6d 61 74 63 68 2d 66 6f 72 6d 29 0a 20 20 20 20 60 28 6c 61 6d 62 64 61 20 2c 6d 61 74 lp.match-form).....`(lambda.,mat
15d00 63 68 2d 66 6f 72 6d 20 2c 40 62 6f 64 79 29 29 0a 20 20 20 28 28 6c 65 74 20 28 28 69 6e 70 75 ch-form.,@body))....((let.((inpu
15d20 74 73 20 28 2d 2d 6d 61 70 2d 69 6e 64 65 78 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ts.(--map-indexed...............
15d40 20 20 20 20 20 28 6c 69 73 74 20 69 74 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 28 66 6f 72 6d .....(list.it.(make-symbol.(form
15d60 61 74 20 22 69 6e 70 75 74 25 64 22 20 69 74 2d 69 6e 64 65 78 29 29 29 0a 20 20 20 20 20 20 20 at."input%d".it-index)))........
15d80 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 74 63 68 2d 66 6f 72 6d 29 29 29 0a 20 20 20 20 20 20 ............match-form))).......
15da0 3b 3b 20 54 4f 44 4f 3a 20 62 65 63 61 75 73 65 20 69 6e 70 75 74 73 20 74 6f 20 74 68 65 20 60 ;;.TODO:.because.inputs.to.the.`
15dc0 6c 61 6d 62 64 61 27 20 61 72 65 20 65 76 61 6c 75 61 74 65 64 20 6f 6e 6c 79 20 6f 6e 63 65 2c lambda'.are.evaluated.only.once,
15de0 0a 20 20 20 20 20 20 3b 3b 20 60 2d 6c 65 74 2a 27 20 6e 65 65 64 20 6e 6f 74 20 63 72 65 61 74 .......;;.`-let*'.need.not.creat
15e00 65 20 74 68 65 20 65 78 74 72 61 20 62 69 6e 64 69 6e 67 73 20 74 6f 20 65 6e 73 75 72 65 20 74 e.the.extra.bindings.to.ensure.t
15e20 68 61 74 2e 0a 20 20 20 20 20 20 3b 3b 20 57 65 20 73 68 6f 75 6c 64 20 66 69 6e 64 20 61 20 77 hat........;;.We.should.find.a.w
15e40 61 79 20 74 6f 20 6f 70 74 69 6d 69 7a 65 20 74 68 61 74 2e 20 20 4e 6f 74 20 63 72 69 74 69 63 ay.to.optimize.that...Not.critic
15e60 61 6c 20 68 6f 77 65 76 65 72 2e 0a 20 20 20 20 20 20 60 28 6c 61 6d 62 64 61 20 2c 28 6d 61 70 al.however........`(lambda.,(map
15e80 63 61 72 20 23 27 63 61 64 72 20 69 6e 70 75 74 73 29 0a 20 20 20 20 20 20 20 20 20 28 2d 6c 65 car.#'cadr.inputs)..........(-le
15ea0 74 2a 20 2c 69 6e 70 75 74 73 20 2c 40 62 6f 64 79 29 29 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 t*.,inputs.,@body))))))..(defmac
15ec0 72 6f 20 2d 73 65 74 71 20 28 26 72 65 73 74 20 66 6f 72 6d 73 29 0a 20 20 22 42 69 6e 64 20 65 ro.-setq.(&rest.forms)..."Bind.e
15ee0 61 63 68 20 4d 41 54 43 48 2d 46 4f 52 4d 20 74 6f 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 69 ach.MATCH-FORM.to.the.value.of.i
15f00 74 73 20 56 41 4c 2e 0a 0a 4d 41 54 43 48 2d 46 4f 52 4d 20 64 65 73 74 72 75 63 74 75 72 69 6e ts.VAL...MATCH-FORM.destructurin
15f20 67 20 69 73 20 64 6f 6e 65 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 74 68 65 20 72 75 6c 65 73 g.is.done.according.to.the.rules
15f40 20 6f 66 20 60 2d 6c 65 74 27 2e 0a 0a 54 68 69 73 20 6d 61 63 72 6f 20 61 6c 6c 6f 77 73 20 79 .of.`-let'...This.macro.allows.y
15f60 6f 75 20 74 6f 20 62 69 6e 64 20 6d 75 6c 74 69 70 6c 65 20 76 61 72 69 61 62 6c 65 73 20 62 79 ou.to.bind.multiple.variables.by
15f80 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 0a 74 68 65 20 76 61 6c 75 65 2c 20 73 6f 20 66 6f 72 .destructuring.the.value,.so.for
15fa0 20 65 78 61 6d 70 6c 65 3a 0a 0a 20 20 28 2d 73 65 74 71 20 28 61 20 62 29 20 78 0a 20 20 20 20 .example:....(-setq.(a.b).x.....
15fc0 20 20 20 20 20 28 26 70 6c 69 73 74 20 3a 63 20 63 29 20 70 6c 69 73 74 29 0a 0a 65 78 70 61 6e .....(&plist.:c.c).plist)..expan
15fe0 64 73 20 72 6f 75 67 68 6c 79 20 73 70 65 61 6b 69 6e 67 20 74 6f 20 74 68 65 20 66 6f 6c 6c 6f ds.roughly.speaking.to.the.follo
16000 77 69 6e 67 20 63 6f 64 65 0a 0a 20 20 28 73 65 74 71 20 61 20 28 63 61 72 20 78 29 0a 20 20 20 wing.code....(setq.a.(car.x)....
16020 20 20 20 20 20 62 20 28 63 61 64 72 20 78 29 0a 20 20 20 20 20 20 20 20 63 20 28 70 6c 69 73 74 .....b.(cadr.x).........c.(plist
16040 2d 67 65 74 20 70 6c 69 73 74 20 3a 63 29 29 0a 0a 43 61 72 65 20 69 73 20 74 61 6b 65 6e 20 74 -get.plist.:c))..Care.is.taken.t
16060 6f 20 6f 6e 6c 79 20 65 76 61 6c 75 61 74 65 20 65 61 63 68 20 56 41 4c 20 6f 6e 63 65 20 73 6f o.only.evaluate.each.VAL.once.so
16080 20 74 68 61 74 20 69 6e 20 63 61 73 65 20 6f 66 0a 6d 75 6c 74 69 70 6c 65 20 61 73 73 69 67 6e .that.in.case.of.multiple.assign
160a0 6d 65 6e 74 73 20 69 74 20 64 6f 65 73 20 6e 6f 74 20 63 61 75 73 65 20 75 6e 65 78 70 65 63 74 ments.it.does.not.cause.unexpect
160c0 65 64 20 73 69 64 65 20 65 66 66 65 63 74 73 2e 0a 0a 5c 28 66 6e 20 5b 4d 41 54 43 48 2d 46 4f ed.side.effects...\(fn.[MATCH-FO
160e0 52 4d 20 56 41 4c 5d 2e 2e 2e 29 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 RM.VAL]...)"...(declare.(debug.(
16100 26 72 65 73 74 20 73 65 78 70 20 66 6f 72 6d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 6e &rest.sexp.form))............(in
16120 64 65 6e 74 20 31 29 29 0a 20 20 28 77 68 65 6e 20 28 3d 20 28 6d 6f 64 20 28 6c 65 6e 67 74 68 dent.1))...(when.(=.(mod.(length
16140 20 66 6f 72 6d 73 29 20 32 29 20 31 29 0a 20 20 20 20 28 73 69 67 6e 61 6c 20 27 77 72 6f 6e 67 .forms).2).1).....(signal.'wrong
16160 2d 6e 75 6d 62 65 72 2d 6f 66 2d 61 72 67 75 6d 65 6e 74 73 20 28 6c 69 73 74 20 27 2d 73 65 74 -number-of-arguments.(list.'-set
16180 71 20 28 31 2b 20 28 6c 65 6e 67 74 68 20 66 6f 72 6d 73 29 29 29 29 29 0a 20 20 28 6c 65 74 2a q.(1+.(length.forms)))))...(let*
161a0 20 28 28 66 6f 72 6d 73 2d 61 6e 64 2d 73 6f 75 72 63 65 73 0a 20 20 20 20 20 20 20 20 20 20 3b .((forms-and-sources...........;
161c0 3b 20 46 69 72 73 74 20 67 65 74 20 61 6c 6c 20 74 68 65 20 6e 65 63 65 73 73 61 72 79 20 6d 61 ;.First.get.all.the.necessary.ma
161e0 70 70 69 6e 67 73 20 77 69 74 68 20 61 6c 6c 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 3b 3b ppings.with.all.the...........;;
16200 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 62 69 6e 64 69 6e 67 73 2e 0a 20 20 20 20 20 20 20 20 .intermediate.bindings..........
16220 20 20 28 2d 6d 61 70 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 ..(-map.(lambda.(x).(dash--match
16240 20 28 63 61 72 20 78 29 20 28 63 61 64 72 20 78 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 .(car.x).(cadr.x))).............
16260 20 20 20 20 28 2d 70 61 72 74 69 74 69 6f 6e 20 32 20 66 6f 72 6d 73 29 29 29 0a 20 20 20 20 20 ....(-partition.2.forms)))......
16280 20 20 20 20 3b 3b 20 54 6f 20 70 72 65 73 65 72 76 65 20 74 68 65 20 6c 6f 67 69 63 20 6f 66 20 ....;;.To.preserve.the.logic.of.
162a0 64 79 6e 61 6d 69 63 20 73 63 6f 70 69 6e 67 20 77 65 20 6d 75 73 74 20 65 6e 73 75 72 65 0a 20 dynamic.scoping.we.must.ensure..
162c0 20 20 20 20 20 20 20 20 3b 3b 20 74 68 61 74 20 77 65 20 60 73 65 74 71 27 20 74 68 65 20 76 61 ........;;.that.we.`setq'.the.va
162e0 72 69 61 62 6c 65 73 20 6f 75 74 73 69 64 65 20 6f 66 20 74 68 65 20 60 6c 65 74 2a 27 20 66 6f riables.outside.of.the.`let*'.fo
16300 72 6d 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 77 68 69 63 68 20 68 6f 6c 64 73 20 74 68 65 20 64 rm..........;;.which.holds.the.d
16320 65 73 74 72 75 63 74 75 72 65 64 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 76 61 6c 75 65 73 2e estructured.intermediate.values.
16340 20 20 46 6f 72 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 74 68 69 73 20 77 65 20 67 65 6e 65 72 61 ..For..........;;.this.we.genera
16360 74 65 20 66 6f 72 20 65 61 63 68 20 76 61 72 69 61 62 6c 65 20 61 20 70 6c 61 63 65 68 6f 6c 64 te.for.each.variable.a.placehold
16380 65 72 20 77 68 69 63 68 20 69 73 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 62 6f 75 6e 64 20 74 6f er.which.is..........;;.bound.to
163a0 20 28 6c 65 78 69 63 61 6c 6c 79 29 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 74 68 65 20 64 .(lexically).the.result.of.the.d
163c0 65 73 74 72 75 63 74 75 72 69 6e 67 2e 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 54 68 65 6e 20 6f estructuring...........;;.Then.o
163e0 75 74 73 69 64 65 20 6f 66 20 74 68 65 20 68 65 6c 70 65 72 20 60 6c 65 74 2a 27 20 66 6f 72 6d utside.of.the.helper.`let*'.form
16400 20 77 65 20 62 69 6e 64 20 61 6c 6c 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 6f 72 69 .we.bind.all.the..........;;.ori
16420 67 69 6e 61 6c 20 76 61 72 69 61 62 6c 65 73 20 74 6f 20 74 68 65 69 72 20 72 65 73 70 65 63 74 ginal.variables.to.their.respect
16440 69 76 65 20 70 6c 61 63 65 68 6f 6c 64 65 72 73 2e 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 54 4f ive.placeholders...........;;.TO
16460 44 4f 3a 20 54 68 65 72 65 20 69 73 20 61 20 6c 6f 74 20 6f 66 20 72 6f 6f 6d 20 66 6f 72 20 70 DO:.There.is.a.lot.of.room.for.p
16480 6f 73 73 69 62 6c 65 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2c 0a 20 20 20 20 20 20 20 20 20 3b ossible.optimization,..........;
164a0 3b 20 66 6f 72 20 73 74 61 72 74 20 70 6c 61 79 69 6e 67 20 77 69 74 68 20 60 73 70 65 63 69 61 ;.for.start.playing.with.`specia
164c0 6c 2d 76 61 72 69 61 62 6c 65 2d 70 27 20 74 6f 20 65 6c 69 6d 69 6e 61 74 65 0a 20 20 20 20 20 l-variable-p'.to.eliminate......
164e0 20 20 20 20 3b 3b 20 75 6e 6e 65 63 65 73 73 61 72 79 20 72 65 2d 62 69 6e 64 69 6e 67 2e 0a 20 ....;;.unnecessary.re-binding...
16500 20 20 20 20 20 20 20 20 28 76 61 72 69 61 62 6c 65 73 2d 74 6f 2d 70 6c 61 63 65 68 6f 6c 64 65 ........(variables-to-placeholde
16520 72 73 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6d 61 70 63 61 74 0a 20 20 20 20 20 20 20 20 20 20 rs...........(-mapcat...........
16540 20 28 6c 61 6d 62 64 61 20 28 62 69 6e 64 69 6e 67 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 .(lambda.(bindings).............
16560 20 28 2d 6d 61 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 62 69 .(-map...............(lambda.(bi
16580 6e 64 69 6e 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 76 61 nding).................(let.((va
165a0 72 20 28 63 61 72 20 62 69 6e 64 69 6e 67 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 r.(car.binding)))...............
165c0 20 20 20 20 28 6c 69 73 74 20 76 61 72 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 28 63 6f 6e 63 ....(list.var.(make-symbol.(conc
165e0 61 74 20 22 2d 2d 64 61 73 68 2d 62 69 6e 64 69 6e 67 2d 22 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d at."--dash-binding-".(symbol-nam
16600 65 20 76 61 72 29 20 22 2d 2d 22 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 e.var)."--")))))...............(
16620 2d 2d 66 69 6c 74 65 72 20 28 6e 6f 74 20 28 73 74 72 69 6e 67 2d 70 72 65 66 69 78 2d 70 20 22 --filter.(not.(string-prefix-p."
16640 2d 2d 22 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 28 63 61 72 20 69 74 29 29 29 29 20 62 69 6e --".(symbol-name.(car.it)))).bin
16660 64 69 6e 67 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 6d 73 2d 61 6e 64 2d 73 6f dings)))............forms-and-so
16680 75 72 63 65 73 29 29 29 0a 20 20 20 20 60 28 6c 65 74 20 2c 28 2d 6d 61 70 20 27 63 61 64 72 20 urces))).....`(let.,(-map.'cadr.
166a0 76 61 72 69 61 62 6c 65 73 2d 74 6f 2d 70 6c 61 63 65 68 6f 6c 64 65 72 73 29 0a 20 20 20 20 20 variables-to-placeholders)......
166c0 20 20 28 6c 65 74 2a 20 2c 28 2d 66 6c 61 74 74 65 6e 2d 6e 20 31 20 66 6f 72 6d 73 2d 61 6e 64 ..(let*.,(-flatten-n.1.forms-and
166e0 2d 73 6f 75 72 63 65 73 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 2c 40 28 2d 66 6c 61 -sources)..........(setq.,@(-fla
16700 74 74 65 6e 20 28 2d 6d 61 70 20 27 72 65 76 65 72 73 65 20 76 61 72 69 61 62 6c 65 73 2d 74 6f tten.(-map.'reverse.variables-to
16720 2d 70 6c 61 63 65 68 6f 6c 64 65 72 73 29 29 29 29 0a 20 20 20 20 20 20 20 28 73 65 74 71 20 2c -placeholders))))........(setq.,
16740 40 28 2d 66 6c 61 74 74 65 6e 20 76 61 72 69 61 62 6c 65 73 2d 74 6f 2d 70 6c 61 63 65 68 6f 6c @(-flatten.variables-to-placehol
16760 64 65 72 73 29 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 69 66 2d 6c 65 74 2a 20 28 76 ders)))))..(defmacro.-if-let*.(v
16780 61 72 73 2d 76 61 6c 73 20 74 68 65 6e 20 26 72 65 73 74 20 65 6c 73 65 29 0a 20 20 22 49 66 20 ars-vals.then.&rest.else)..."If.
167a0 61 6c 6c 20 56 41 4c 53 20 65 76 61 6c 75 61 74 65 20 74 6f 20 74 72 75 65 2c 20 62 69 6e 64 20 all.VALS.evaluate.to.true,.bind.
167c0 74 68 65 6d 20 74 6f 20 74 68 65 69 72 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 0a 56 41 52 53 them.to.their.corresponding.VARS
167e0 20 61 6e 64 20 64 6f 20 54 48 45 4e 2c 20 6f 74 68 65 72 77 69 73 65 20 64 6f 20 45 4c 53 45 2e .and.do.THEN,.otherwise.do.ELSE.
16800 20 56 41 52 53 2d 56 41 4c 53 20 73 68 6f 75 6c 64 20 62 65 20 61 20 6c 69 73 74 0a 6f 66 20 28 .VARS-VALS.should.be.a.list.of.(
16820 56 41 52 20 56 41 4c 29 20 70 61 69 72 73 2e 0a 0a 4e 6f 74 65 3a 20 62 69 6e 64 69 6e 67 20 69 VAR.VAL).pairs...Note:.binding.i
16840 73 20 64 6f 6e 65 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 60 2d 6c 65 74 2a 27 2e 20 20 56 41 s.done.according.to.`-let*'...VA
16860 4c 53 20 61 72 65 20 65 76 61 6c 75 61 74 65 64 0a 73 65 71 75 65 6e 74 69 61 6c 6c 79 2c 20 61 LS.are.evaluated.sequentially,.a
16880 6e 64 20 65 76 61 6c 75 61 74 69 6f 6e 20 73 74 6f 70 73 20 61 66 74 65 72 20 74 68 65 20 66 69 nd.evaluation.stops.after.the.fi
168a0 72 73 74 20 6e 69 6c 20 56 41 4c 20 69 73 0a 65 6e 63 6f 75 6e 74 65 72 65 64 2e 22 0a 20 20 28 rst.nil.VAL.is.encountered."...(
168c0 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 28 26 72 65 73 74 20 28 73 65 78 70 20 66 6f 72 declare.(debug.((&rest.(sexp.for
168e0 6d 29 29 20 66 6f 72 6d 20 62 6f 64 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 64 65 m)).form.body))............(inde
16900 6e 74 20 32 29 29 0a 20 20 28 2d 3e 3e 20 76 61 72 73 2d 76 61 6c 73 0a 20 20 20 20 20 20 20 28 nt.2))...(->>.vars-vals........(
16920 2d 2d 6d 61 70 63 61 74 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 20 28 63 61 72 20 69 74 29 20 28 --mapcat.(dash--match.(car.it).(
16940 63 61 64 72 20 69 74 29 29 29 0a 20 20 20 20 20 20 20 28 2d 2d 72 65 64 75 63 65 2d 72 2d 66 72 cadr.it)))........(--reduce-r-fr
16960 6f 6d 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 76 61 72 20 28 63 61 72 20 69 74 29 29 0a om.........(let.((var.(car.it)).
16980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 76 61 6c 20 28 63 61 64 72 20 69 74 29 29 29 0a 20 ..............(val.(cadr.it)))..
169a0 20 20 20 20 20 20 20 20 20 60 28 6c 65 74 20 28 28 2c 76 61 72 20 2c 76 61 6c 29 29 0a 20 20 20 .........`(let.((,var.,val))....
169c0 20 20 20 20 20 20 20 20 20 20 28 69 66 20 2c 76 61 72 20 2c 61 63 63 20 2c 40 65 6c 73 65 29 29 ..........(if.,var.,acc.,@else))
169e0 29 0a 20 20 20 20 20 20 20 20 74 68 65 6e 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 69 66 ).........then)))..(defmacro.-if
16a00 2d 6c 65 74 20 28 76 61 72 2d 76 61 6c 20 74 68 65 6e 20 26 72 65 73 74 20 65 6c 73 65 29 0a 20 -let.(var-val.then.&rest.else)..
16a20 20 22 49 66 20 56 41 4c 20 65 76 61 6c 75 61 74 65 73 20 74 6f 20 6e 6f 6e 2d 6e 69 6c 2c 20 62 ."If.VAL.evaluates.to.non-nil,.b
16a40 69 6e 64 20 69 74 20 74 6f 20 56 41 52 20 61 6e 64 20 64 6f 20 54 48 45 4e 2c 0a 6f 74 68 65 72 ind.it.to.VAR.and.do.THEN,.other
16a60 77 69 73 65 20 64 6f 20 45 4c 53 45 2e 0a 0a 4e 6f 74 65 3a 20 62 69 6e 64 69 6e 67 20 69 73 20 wise.do.ELSE...Note:.binding.is.
16a80 64 6f 6e 65 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 60 2d 6c 65 74 27 2e 0a 0a 5c 28 66 6e 20 done.according.to.`-let'...\(fn.
16aa0 28 56 41 52 20 56 41 4c 29 20 54 48 45 4e 20 26 72 65 73 74 20 45 4c 53 45 29 22 0a 20 20 28 64 (VAR.VAL).THEN.&rest.ELSE)"...(d
16ac0 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 28 73 65 78 70 20 66 6f 72 6d 29 20 66 6f 72 6d 20 eclare.(debug.((sexp.form).form.
16ae0 62 6f 64 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 64 65 6e 74 20 32 29 29 0a 20 20 body))............(indent.2))...
16b00 60 28 2d 69 66 2d 6c 65 74 2a 20 28 2c 76 61 72 2d 76 61 6c 29 20 2c 74 68 65 6e 20 2c 40 65 6c `(-if-let*.(,var-val).,then.,@el
16b20 73 65 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 69 66 2d 6c 65 74 20 28 76 61 6c 20 74 68 se))..(defmacro.--if-let.(val.th
16b40 65 6e 20 26 72 65 73 74 20 65 6c 73 65 29 0a 20 20 22 49 66 20 56 41 4c 20 65 76 61 6c 75 61 74 en.&rest.else)..."If.VAL.evaluat
16b60 65 73 20 74 6f 20 6e 6f 6e 2d 6e 69 6c 2c 20 62 69 6e 64 20 69 74 20 74 6f 20 73 79 6d 62 6f 6c es.to.non-nil,.bind.it.to.symbol
16b80 20 60 69 74 27 20 61 6e 64 20 64 6f 20 54 48 45 4e 2c 0a 6f 74 68 65 72 77 69 73 65 20 64 6f 20 .`it'.and.do.THEN,.otherwise.do.
16ba0 45 4c 53 45 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 ELSE."...(declare.(debug.(form.f
16bc0 6f 72 6d 20 62 6f 64 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 64 65 6e 74 20 32 29 orm.body))............(indent.2)
16be0 29 0a 20 20 60 28 2d 69 66 2d 6c 65 74 20 28 69 74 20 2c 76 61 6c 29 20 2c 74 68 65 6e 20 2c 40 )...`(-if-let.(it.,val).,then.,@
16c00 65 6c 73 65 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 77 68 65 6e 2d 6c 65 74 2a 20 28 76 61 else))..(defmacro.-when-let*.(va
16c20 72 73 2d 76 61 6c 73 20 26 72 65 73 74 20 62 6f 64 79 29 0a 20 20 22 49 66 20 61 6c 6c 20 56 41 rs-vals.&rest.body)..."If.all.VA
16c40 4c 53 20 65 76 61 6c 75 61 74 65 20 74 6f 20 74 72 75 65 2c 20 62 69 6e 64 20 74 68 65 6d 20 74 LS.evaluate.to.true,.bind.them.t
16c60 6f 20 74 68 65 69 72 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 0a 56 41 52 53 20 61 6e 64 20 65 o.their.corresponding.VARS.and.e
16c80 78 65 63 75 74 65 20 62 6f 64 79 2e 20 56 41 52 53 2d 56 41 4c 53 20 73 68 6f 75 6c 64 20 62 65 xecute.body..VARS-VALS.should.be
16ca0 20 61 20 6c 69 73 74 20 6f 66 20 28 56 41 52 20 56 41 4c 29 0a 70 61 69 72 73 2e 0a 0a 4e 6f 74 .a.list.of.(VAR.VAL).pairs...Not
16cc0 65 3a 20 62 69 6e 64 69 6e 67 20 69 73 20 64 6f 6e 65 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 e:.binding.is.done.according.to.
16ce0 60 2d 6c 65 74 2a 27 2e 20 20 56 41 4c 53 20 61 72 65 20 65 76 61 6c 75 61 74 65 64 0a 73 65 71 `-let*'...VALS.are.evaluated.seq
16d00 75 65 6e 74 69 61 6c 6c 79 2c 20 61 6e 64 20 65 76 61 6c 75 61 74 69 6f 6e 20 73 74 6f 70 73 20 uentially,.and.evaluation.stops.
16d20 61 66 74 65 72 20 74 68 65 20 66 69 72 73 74 20 6e 69 6c 20 56 41 4c 20 69 73 0a 65 6e 63 6f 75 after.the.first.nil.VAL.is.encou
16d40 6e 74 65 72 65 64 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 28 26 72 65 ntered."...(declare.(debug.((&re
16d60 73 74 20 28 73 65 78 70 20 66 6f 72 6d 29 29 20 62 6f 64 79 29 29 0a 20 20 20 20 20 20 20 20 20 st.(sexp.form)).body))..........
16d80 20 20 28 69 6e 64 65 6e 74 20 31 29 29 0a 20 20 60 28 2d 69 66 2d 6c 65 74 2a 20 2c 76 61 72 73 ..(indent.1))...`(-if-let*.,vars
16da0 2d 76 61 6c 73 20 28 70 72 6f 67 6e 20 2c 40 62 6f 64 79 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 -vals.(progn.,@body)))..(defmacr
16dc0 6f 20 2d 77 68 65 6e 2d 6c 65 74 20 28 76 61 72 2d 76 61 6c 20 26 72 65 73 74 20 62 6f 64 79 29 o.-when-let.(var-val.&rest.body)
16de0 0a 20 20 22 49 66 20 56 41 4c 20 65 76 61 6c 75 61 74 65 73 20 74 6f 20 6e 6f 6e 2d 6e 69 6c 2c ..."If.VAL.evaluates.to.non-nil,
16e00 20 62 69 6e 64 20 69 74 20 74 6f 20 56 41 52 20 61 6e 64 20 65 78 65 63 75 74 65 20 62 6f 64 79 .bind.it.to.VAR.and.execute.body
16e20 2e 0a 0a 4e 6f 74 65 3a 20 62 69 6e 64 69 6e 67 20 69 73 20 64 6f 6e 65 20 61 63 63 6f 72 64 69 ...Note:.binding.is.done.accordi
16e40 6e 67 20 74 6f 20 60 2d 6c 65 74 27 2e 0a 0a 5c 28 66 6e 20 28 56 41 52 20 56 41 4c 29 20 26 72 ng.to.`-let'...\(fn.(VAR.VAL).&r
16e60 65 73 74 20 42 4f 44 59 29 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 28 73 est.BODY)"...(declare.(debug.((s
16e80 65 78 70 20 66 6f 72 6d 29 20 62 6f 64 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 64 exp.form).body))............(ind
16ea0 65 6e 74 20 31 29 29 0a 20 20 60 28 2d 69 66 2d 6c 65 74 20 2c 76 61 72 2d 76 61 6c 20 28 70 72 ent.1))...`(-if-let.,var-val.(pr
16ec0 6f 67 6e 20 2c 40 62 6f 64 79 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 77 68 65 6e 2d ogn.,@body)))..(defmacro.--when-
16ee0 6c 65 74 20 28 76 61 6c 20 26 72 65 73 74 20 62 6f 64 79 29 0a 20 20 22 49 66 20 56 41 4c 20 65 let.(val.&rest.body)..."If.VAL.e
16f00 76 61 6c 75 61 74 65 73 20 74 6f 20 6e 6f 6e 2d 6e 69 6c 2c 20 62 69 6e 64 20 69 74 20 74 6f 20 valuates.to.non-nil,.bind.it.to.
16f20 73 79 6d 62 6f 6c 20 60 69 74 27 20 61 6e 64 0a 65 78 65 63 75 74 65 20 62 6f 64 79 2e 22 0a 20 symbol.`it'.and.execute.body."..
16f40 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 62 6f 64 79 29 29 0a 20 20 .(declare.(debug.(form.body))...
16f60 20 20 20 20 20 20 20 20 20 28 69 6e 64 65 6e 74 20 31 29 29 0a 20 20 60 28 2d 2d 69 66 2d 6c 65 .........(indent.1))...`(--if-le
16f80 74 20 2c 76 61 6c 20 28 70 72 6f 67 6e 20 2c 40 62 6f 64 79 29 29 29 0a 0a 28 64 65 66 76 61 72 t.,val.(progn.,@body)))..(defvar
16fa0 20 2d 63 6f 6d 70 61 72 65 2d 66 6e 20 6e 69 6c 0a 20 20 22 54 65 73 74 73 20 66 6f 72 20 65 71 .-compare-fn.nil..."Tests.for.eq
16fc0 75 61 6c 69 74 79 20 75 73 65 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 6f 72 20 60 65 71 75 uality.use.this.function.or.`equ
16fe0 61 6c 27 20 69 66 20 74 68 69 73 20 69 73 20 6e 69 6c 2e 0a 49 74 20 73 68 6f 75 6c 64 20 6f 6e al'.if.this.is.nil..It.should.on
17000 6c 79 20 62 65 20 73 65 74 20 75 73 69 6e 67 20 64 79 6e 61 6d 69 63 20 73 63 6f 70 65 20 77 69 ly.be.set.using.dynamic.scope.wi
17020 74 68 20 61 20 6c 65 74 2c 20 6c 69 6b 65 3a 0a 0a 20 20 28 6c 65 74 20 28 28 2d 63 6f 6d 70 61 th.a.let,.like:....(let.((-compa
17040 72 65 2d 66 6e 20 23 5c 5c 3d 27 3d 29 29 20 28 2d 75 6e 69 6f 6e 20 6e 75 6d 62 65 72 73 31 20 re-fn.#\\='=)).(-union.numbers1.
17060 6e 75 6d 62 65 72 73 32 20 6e 75 6d 62 65 72 73 33 29 22 29 0a 0a 28 64 65 66 75 6e 20 2d 64 69 numbers2.numbers3)")..(defun.-di
17080 73 74 69 6e 63 74 20 28 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 stinct.(list)..."Return.a.new.li
170a0 73 74 20 77 69 74 68 20 61 6c 6c 20 64 75 70 6c 69 63 61 74 65 73 20 72 65 6d 6f 76 65 64 2e 0a st.with.all.duplicates.removed..
170c0 54 68 65 20 74 65 73 74 20 66 6f 72 20 65 71 75 61 6c 69 74 79 20 69 73 20 64 6f 6e 65 20 77 69 The.test.for.equality.is.done.wi
170e0 74 68 20 60 65 71 75 61 6c 27 2c 0a 6f 72 20 77 69 74 68 20 60 2d 63 6f 6d 70 61 72 65 2d 66 6e th.`equal',.or.with.`-compare-fn
17100 27 20 69 66 20 74 68 61 74 27 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 75 '.if.that's.non-nil...Alias:.`-u
17120 6e 69 71 27 22 0a 20 20 3b 3b 20 49 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 6e 6f 74 65 3a 20 niq'"...;;.Implementation.note:.
17140 54 68 65 20 73 70 65 65 64 75 70 20 67 61 69 6e 65 64 20 66 72 6f 6d 20 68 61 73 68 20 74 61 62 The.speedup.gained.from.hash.tab
17160 6c 65 20 6c 6f 6f 6b 75 70 0a 20 20 3b 3b 20 73 74 61 72 74 73 20 74 6f 20 6f 75 74 77 65 69 67 le.lookup...;;.starts.to.outweig
17180 68 20 69 74 73 20 6f 76 65 72 68 65 61 64 20 66 6f 72 20 6c 69 73 74 73 20 6f 66 20 6c 65 6e 67 h.its.overhead.for.lists.of.leng
171a0 74 68 20 67 72 65 61 74 65 72 20 74 68 61 6e 0a 20 20 3b 3b 20 33 32 2e 20 20 53 65 65 20 64 69 th.greater.than...;;.32...See.di
171c0 73 63 75 73 73 69 6f 6e 20 69 6e 20 50 52 20 23 33 30 35 2e 0a 20 20 28 6c 65 74 2a 20 28 28 6c scussion.in.PR.#305....(let*.((l
171e0 65 6e 20 28 6c 65 6e 67 74 68 20 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 6c 75 74 20 en.(length.list))..........(lut.
17200 28 61 6e 64 20 28 3e 20 6c 65 6e 20 33 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (and.(>.len.32).................
17220 20 20 20 3b 3b 20 43 68 65 63 6b 20 74 68 61 74 20 60 2d 63 6f 6d 70 61 72 65 2d 66 6e 27 20 69 ...;;.Check.that.`-compare-fn'.i
17240 73 20 61 20 76 61 6c 69 64 20 68 61 73 68 2d 74 61 62 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 s.a.valid.hash-table............
17260 20 20 20 20 20 20 20 20 3b 3b 20 6c 6f 6f 6b 75 70 20 66 75 6e 63 74 69 6f 6e 20 6f 72 20 60 6e ........;;.lookup.function.or.`n
17280 69 6c 27 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 65 6d 71 20 2d 63 il'.....................(memq.-c
172a0 6f 6d 70 61 72 65 2d 66 6e 20 27 28 6e 69 6c 20 65 71 75 61 6c 20 65 71 20 65 71 6c 29 29 0a 20 ompare-fn.'(nil.equal.eq.eql))..
172c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6b 65 2d 68 61 73 68 2d 74 61 62 ..................(make-hash-tab
172e0 6c 65 20 3a 74 65 73 74 20 28 6f 72 20 2d 63 6f 6d 70 61 72 65 2d 66 6e 20 23 27 65 71 75 61 6c le.:test.(or.-compare-fn.#'equal
17300 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 )...............................
17320 20 20 20 20 20 20 3a 73 69 7a 65 20 6c 65 6e 29 29 29 29 0a 20 20 20 20 28 69 66 20 6c 75 74 0a ......:size.len)))).....(if.lut.
17340 20 20 20 20 20 20 20 20 28 2d 2d 66 69 6c 74 65 72 20 28 75 6e 6c 65 73 73 20 28 67 65 74 68 61 ........(--filter.(unless.(getha
17360 73 68 20 69 74 20 6c 75 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 sh.it.lut).....................(
17380 70 75 74 68 61 73 68 20 69 74 20 74 20 6c 75 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 puthash.it.t.lut))..............
173a0 20 20 20 20 20 6c 69 73 74 29 0a 20 20 20 20 20 20 28 2d 2d 65 61 63 68 20 6c 69 73 74 20 28 75 .....list).......(--each.list.(u
173c0 6e 6c 65 73 73 20 28 2d 63 6f 6e 74 61 69 6e 73 3f 20 6c 75 74 20 69 74 29 20 28 21 63 6f 6e 73 nless.(-contains?.lut.it).(!cons
173e0 20 69 74 20 6c 75 74 29 29 29 0a 20 20 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 6c 75 74 29 29 .it.lut))).......(nreverse.lut))
17400 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 75 6e 69 71 20 27 2d 64 69 73 74 69 6e 63 74 29 ))..(defalias.'-uniq.'-distinct)
17420 0a 0a 28 64 65 66 75 6e 20 2d 75 6e 69 6f 6e 20 28 6c 69 73 74 20 6c 69 73 74 32 29 0a 20 20 22 ..(defun.-union.(list.list2)..."
17440 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 Return.a.new.list.containing.the
17460 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 4c 49 53 54 20 61 6e 64 20 65 6c 65 6d 65 6e 74 73 20 6f .elements.of.LIST.and.elements.o
17480 66 20 4c 49 53 54 32 20 74 68 61 74 20 61 72 65 20 6e 6f 74 20 69 6e 20 4c 49 53 54 2e 0a 54 68 f.LIST2.that.are.not.in.LIST..Th
174a0 65 20 74 65 73 74 20 66 6f 72 20 65 71 75 61 6c 69 74 79 20 69 73 20 64 6f 6e 65 20 77 69 74 68 e.test.for.equality.is.done.with
174c0 20 60 65 71 75 61 6c 27 2c 0a 6f 72 20 77 69 74 68 20 60 2d 63 6f 6d 70 61 72 65 2d 66 6e 27 20 .`equal',.or.with.`-compare-fn'.
174e0 69 66 20 74 68 61 74 27 73 20 6e 6f 6e 2d 6e 69 6c 2e 22 0a 20 20 3b 3b 20 57 65 20 66 61 6c 6c if.that's.non-nil."...;;.We.fall
17500 20 62 61 63 6b 20 74 6f 20 69 74 65 72 61 74 69 6f 6e 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f .back.to.iteration.implementatio
17520 6e 20 69 66 20 74 68 65 20 63 6f 6d 70 61 72 69 73 6f 6e 0a 20 20 3b 3b 20 66 75 6e 63 74 69 6f n.if.the.comparison...;;.functio
17540 6e 20 69 73 6e 27 74 20 6f 6e 65 20 6f 66 20 60 65 71 27 2c 20 60 65 71 6c 27 20 6f 72 20 60 65 n.isn't.one.of.`eq',.`eql'.or.`e
17560 71 75 61 6c 27 2e 0a 20 20 28 6c 65 74 2a 20 28 28 72 65 73 75 6c 74 20 28 72 65 76 65 72 73 65 qual'....(let*.((result.(reverse
17580 20 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 54 4f 44 4f 3a 20 67 65 74 20 72 69 .list))..........;;.TODO:.get.ri
175a0 64 20 6f 66 20 74 68 69 73 20 64 79 6e 61 6d 69 63 20 76 61 72 69 61 62 6c 65 2c 20 70 61 73 73 d.of.this.dynamic.variable,.pass
175c0 20 69 74 20 61 73 20 61 6e 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 61 72 67 75 6d 65 6e 74 20 69 .it.as.an..........;;.argument.i
175e0 6e 73 74 65 61 64 2e 0a 20 20 20 20 20 20 20 20 20 28 2d 63 6f 6d 70 61 72 65 2d 66 6e 20 28 69 nstead...........(-compare-fn.(i
17600 66 20 28 62 6f 75 6e 64 2d 61 6e 64 2d 74 72 75 65 2d 70 20 2d 63 6f 6d 70 61 72 65 2d 66 6e 29 f.(bound-and-true-p.-compare-fn)
17620 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 2d 63 6f 6d 70 ...........................-comp
17640 61 72 65 2d 66 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 are-fn.........................'
17660 65 71 75 61 6c 29 29 29 0a 20 20 20 20 28 69 66 20 28 6d 65 6d 71 20 2d 63 6f 6d 70 61 72 65 2d equal))).....(if.(memq.-compare-
17680 66 6e 20 27 28 65 71 20 65 71 6c 20 65 71 75 61 6c 29 29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 fn.'(eq.eql.equal)).........(let
176a0 20 28 28 68 74 20 28 6d 61 6b 65 2d 68 61 73 68 2d 74 61 62 6c 65 20 3a 74 65 73 74 20 2d 63 6f .((ht.(make-hash-table.:test.-co
176c0 6d 70 61 72 65 2d 66 6e 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 65 61 63 68 20 6c 69 mpare-fn)))...........(--each.li
176e0 73 74 20 28 70 75 74 68 61 73 68 20 69 74 20 74 20 68 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 st.(puthash.it.t.ht))...........
17700 28 2d 2d 65 61 63 68 20 6c 69 73 74 32 20 28 75 6e 6c 65 73 73 20 28 67 65 74 68 61 73 68 20 69 (--each.list2.(unless.(gethash.i
17720 74 20 68 74 29 20 28 21 63 6f 6e 73 20 69 74 20 72 65 73 75 6c 74 29 29 29 29 0a 20 20 20 20 20 t.ht).(!cons.it.result))))......
17740 20 28 2d 2d 65 61 63 68 20 6c 69 73 74 32 20 28 75 6e 6c 65 73 73 20 28 2d 63 6f 6e 74 61 69 6e .(--each.list2.(unless.(-contain
17760 73 3f 20 72 65 73 75 6c 74 20 69 74 29 20 28 21 63 6f 6e 73 20 69 74 20 72 65 73 75 6c 74 29 29 s?.result.it).(!cons.it.result))
17780 29 29 0a 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 72 65 73 75 6c 74 29 29 29 0a 0a 28 64 65 66 )).....(nreverse.result)))..(def
177a0 75 6e 20 2d 69 6e 74 65 72 73 65 63 74 69 6f 6e 20 28 6c 69 73 74 20 6c 69 73 74 32 29 0a 20 20 un.-intersection.(list.list2)...
177c0 22 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 63 6f 6e 74 61 69 6e 69 6e 67 20 6f 6e "Return.a.new.list.containing.on
177e0 6c 79 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 74 68 61 74 20 61 72 65 20 6d 65 6d 62 65 72 73 ly.the.elements.that.are.members
17800 20 6f 66 20 62 6f 74 68 20 4c 49 53 54 20 61 6e 64 20 4c 49 53 54 32 2e 0a 54 68 65 20 74 65 73 .of.both.LIST.and.LIST2..The.tes
17820 74 20 66 6f 72 20 65 71 75 61 6c 69 74 79 20 69 73 20 64 6f 6e 65 20 77 69 74 68 20 60 65 71 75 t.for.equality.is.done.with.`equ
17840 61 6c 27 2c 0a 6f 72 20 77 69 74 68 20 60 2d 63 6f 6d 70 61 72 65 2d 66 6e 27 20 69 66 20 74 68 al',.or.with.`-compare-fn'.if.th
17860 61 74 27 73 20 6e 6f 6e 2d 6e 69 6c 2e 22 0a 20 20 28 2d 2d 66 69 6c 74 65 72 20 28 2d 63 6f 6e at's.non-nil."...(--filter.(-con
17880 74 61 69 6e 73 3f 20 6c 69 73 74 32 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 tains?.list2.it).list))..(defun.
178a0 2d 64 69 66 66 65 72 65 6e 63 65 20 28 6c 69 73 74 20 6c 69 73 74 32 29 0a 20 20 22 52 65 74 75 -difference.(list.list2)..."Retu
178c0 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 77 69 74 68 20 6f 6e 6c 79 20 74 68 65 20 6d 65 6d 62 rn.a.new.list.with.only.the.memb
178e0 65 72 73 20 6f 66 20 4c 49 53 54 20 74 68 61 74 20 61 72 65 20 6e 6f 74 20 69 6e 20 4c 49 53 54 ers.of.LIST.that.are.not.in.LIST
17900 32 2e 0a 54 68 65 20 74 65 73 74 20 66 6f 72 20 65 71 75 61 6c 69 74 79 20 69 73 20 64 6f 6e 65 2..The.test.for.equality.is.done
17920 20 77 69 74 68 20 60 65 71 75 61 6c 27 2c 0a 6f 72 20 77 69 74 68 20 60 2d 63 6f 6d 70 61 72 65 .with.`equal',.or.with.`-compare
17940 2d 66 6e 27 20 69 66 20 74 68 61 74 27 73 20 6e 6f 6e 2d 6e 69 6c 2e 22 0a 20 20 28 2d 2d 66 69 -fn'.if.that's.non-nil."...(--fi
17960 6c 74 65 72 20 28 6e 6f 74 20 28 2d 63 6f 6e 74 61 69 6e 73 3f 20 6c 69 73 74 32 20 69 74 29 29 lter.(not.(-contains?.list2.it))
17980 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 70 6f 77 65 72 73 65 74 20 28 6c 69 73 74 29 .list))..(defun.-powerset.(list)
179a0 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 70 6f 77 65 72 20 73 65 74 20 6f 66 20 4c 49 53 54 ..."Return.the.power.set.of.LIST
179c0 2e 22 0a 20 20 28 69 66 20 28 6e 75 6c 6c 20 6c 69 73 74 29 20 27 28 28 29 29 0a 20 20 20 20 28 ."...(if.(null.list).'(()).....(
179e0 6c 65 74 20 28 28 6c 61 73 74 20 28 2d 70 6f 77 65 72 73 65 74 20 28 63 64 72 20 6c 69 73 74 29 let.((last.(-powerset.(cdr.list)
17a00 29 29 29 0a 20 20 20 20 20 20 28 61 70 70 65 6e 64 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 ))).......(append.(mapcar.(lambd
17a20 61 20 28 78 29 20 28 63 6f 6e 73 20 28 63 61 72 20 6c 69 73 74 29 20 78 29 29 20 6c 61 73 74 29 a.(x).(cons.(car.list).x)).last)
17a40 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 61 73 74 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 ...............last))))..(defun.
17a60 2d 70 65 72 6d 75 74 61 74 69 6f 6e 73 20 28 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 74 -permutations.(list)..."Return.t
17a80 68 65 20 70 65 72 6d 75 74 61 74 69 6f 6e 73 20 6f 66 20 4c 49 53 54 2e 22 0a 20 20 28 69 66 20 he.permutations.of.LIST."...(if.
17aa0 28 6e 75 6c 6c 20 6c 69 73 74 29 20 27 28 28 29 29 0a 20 20 20 20 28 61 70 70 6c 79 20 23 27 61 (null.list).'(()).....(apply.#'a
17ac0 70 70 65 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 ppend............(mapcar.(lambda
17ae0 20 28 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 61 .(x)......................(mapca
17b00 72 20 28 6c 61 6d 62 64 61 20 28 70 65 72 6d 29 20 28 63 6f 6e 73 20 78 20 70 65 72 6d 29 29 0a r.(lambda.(perm).(cons.x.perm)).
17b20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 70 .............................(-p
17b40 65 72 6d 75 74 61 74 69 6f 6e 73 20 28 72 65 6d 6f 76 65 20 78 20 6c 69 73 74 29 29 29 29 0a 20 ermutations.(remove.x.list))))..
17b60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 69 73 74 29 29 29 29 0a 0a 28 64 65 66 ..................list))))..(def
17b80 75 6e 20 2d 69 6e 69 74 73 20 28 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 6c 6c 20 70 un.-inits.(list)..."Return.all.p
17ba0 72 65 66 69 78 65 73 20 6f 66 20 4c 49 53 54 2e 22 0a 20 20 28 6c 65 74 20 28 28 72 65 73 20 28 refixes.of.LIST."...(let.((res.(
17bc0 6c 69 73 74 20 6c 69 73 74 29 29 29 0a 20 20 20 20 28 73 65 74 71 20 6c 69 73 74 20 28 72 65 76 list.list))).....(setq.list.(rev
17be0 65 72 73 65 20 6c 69 73 74 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 6c 69 73 74 0a 20 20 20 20 erse.list)).....(while.list.....
17c00 20 20 28 70 75 73 68 20 28 72 65 76 65 72 73 65 20 28 21 63 64 72 20 6c 69 73 74 29 29 20 72 65 ..(push.(reverse.(!cdr.list)).re
17c20 73 29 29 0a 20 20 20 20 72 65 73 29 29 0a 0a 28 64 65 66 75 6e 20 2d 74 61 69 6c 73 20 28 6c 69 s)).....res))..(defun.-tails.(li
17c40 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 6c 6c 20 73 75 66 66 69 78 65 73 20 6f 66 20 4c 49 st)..."Return.all.suffixes.of.LI
17c60 53 54 22 0a 20 20 28 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 20 27 63 6f 6e 73 20 ST"...(-reductions-r-from.'cons.
17c80 6e 69 6c 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 63 6f 6d 6d 6f 6e 2d 70 72 65 66 69 nil.list))..(defun.-common-prefi
17ca0 78 20 28 26 72 65 73 74 20 6c 69 73 74 73 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 6c 6f x.(&rest.lists)..."Return.the.lo
17cc0 6e 67 65 73 74 20 63 6f 6d 6d 6f 6e 20 70 72 65 66 69 78 20 6f 66 20 4c 49 53 54 53 2e 22 0a 20 ngest.common.prefix.of.LISTS."..
17ce0 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d .(declare.(pure.t).(side-effect-
17d00 66 72 65 65 20 74 29 29 0a 20 20 28 2d 2d 72 65 64 75 63 65 20 28 2d 2d 74 61 6b 65 2d 77 68 69 free.t))...(--reduce.(--take-whi
17d20 6c 65 20 28 61 6e 64 20 61 63 63 20 28 65 71 75 61 6c 20 28 70 6f 70 20 61 63 63 29 20 69 74 29 le.(and.acc.(equal.(pop.acc).it)
17d40 29 20 69 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 6c 69 73 74 73 29 29 0a 0a 28 64 65 66 75 ).it).............lists))..(defu
17d60 6e 20 2d 63 6f 6d 6d 6f 6e 2d 73 75 66 66 69 78 20 28 26 72 65 73 74 20 6c 69 73 74 73 29 0a 20 n.-common-suffix.(&rest.lists)..
17d80 20 22 52 65 74 75 72 6e 20 74 68 65 20 6c 6f 6e 67 65 73 74 20 63 6f 6d 6d 6f 6e 20 73 75 66 66 ."Return.the.longest.common.suff
17da0 69 78 20 6f 66 20 4c 49 53 54 53 2e 22 0a 20 20 28 6e 72 65 76 65 72 73 65 20 28 61 70 70 6c 79 ix.of.LISTS."...(nreverse.(apply
17dc0 20 23 27 2d 63 6f 6d 6d 6f 6e 2d 70 72 65 66 69 78 20 28 6d 61 70 63 61 72 20 23 27 72 65 76 65 .#'-common-prefix.(mapcar.#'reve
17de0 72 73 65 20 6c 69 73 74 73 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 63 6f 6e 74 61 69 6e 73 3f rse.lists))))..(defun.-contains?
17e00 20 28 6c 69 73 74 20 65 6c 65 6d 65 6e 74 29 0a 20 20 22 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 .(list.element)..."Return.non-ni
17e20 6c 20 69 66 20 4c 49 53 54 20 63 6f 6e 74 61 69 6e 73 20 45 4c 45 4d 45 4e 54 2e 0a 0a 54 68 65 l.if.LIST.contains.ELEMENT...The
17e40 20 74 65 73 74 20 66 6f 72 20 65 71 75 61 6c 69 74 79 20 69 73 20 64 6f 6e 65 20 77 69 74 68 20 .test.for.equality.is.done.with.
17e60 60 65 71 75 61 6c 27 2c 20 6f 72 20 77 69 74 68 20 60 2d 63 6f 6d 70 61 72 65 2d 66 6e 27 0a 69 `equal',.or.with.`-compare-fn'.i
17e80 66 20 74 68 61 74 27 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 63 6f 6e 74 f.that's.non-nil...Alias:.`-cont
17ea0 61 69 6e 73 2d 70 27 22 0a 20 20 28 6e 6f 74 0a 20 20 20 28 6e 75 6c 6c 0a 20 20 20 20 28 63 6f ains-p'"...(not....(null.....(co
17ec0 6e 64 0a 20 20 20 20 20 28 28 6e 75 6c 6c 20 2d 63 6f 6d 70 61 72 65 2d 66 6e 29 20 20 20 20 28 nd......((null.-compare-fn)....(
17ee0 6d 65 6d 62 65 72 20 65 6c 65 6d 65 6e 74 20 6c 69 73 74 29 29 0a 20 20 20 20 20 28 28 65 71 20 member.element.list))......((eq.
17f00 2d 63 6f 6d 70 61 72 65 2d 66 6e 20 27 65 71 29 20 20 28 6d 65 6d 71 20 65 6c 65 6d 65 6e 74 20 -compare-fn.'eq)..(memq.element.
17f20 6c 69 73 74 29 29 0a 20 20 20 20 20 28 28 65 71 20 2d 63 6f 6d 70 61 72 65 2d 66 6e 20 27 65 71 list))......((eq.-compare-fn.'eq
17f40 6c 29 20 28 6d 65 6d 71 6c 20 65 6c 65 6d 65 6e 74 20 6c 69 73 74 29 29 0a 20 20 20 20 20 28 74 l).(memql.element.list))......(t
17f60 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 6c 73 74 20 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 .......(let.((lst.list))........
17f80 20 28 77 68 69 6c 65 20 28 61 6e 64 20 6c 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(while.(and.lst................
17fa0 20 20 20 20 20 28 6e 6f 74 20 28 66 75 6e 63 61 6c 6c 20 2d 63 6f 6d 70 61 72 65 2d 66 6e 20 65 .....(not.(funcall.-compare-fn.e
17fc0 6c 65 6d 65 6e 74 20 28 63 61 72 20 6c 73 74 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 lement.(car.lst))))...........(s
17fe0 65 74 71 20 6c 73 74 20 28 63 64 72 20 6c 73 74 29 29 29 0a 20 20 20 20 20 20 20 20 6c 73 74 29 etq.lst.(cdr.lst))).........lst)
18000 29 29 29 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 63 6f 6e 74 61 69 6e 73 2d 70 20 27 2d )))))..(defalias.'-contains-p.'-
18020 63 6f 6e 74 61 69 6e 73 3f 29 0a 0a 28 64 65 66 75 6e 20 2d 73 61 6d 65 2d 69 74 65 6d 73 3f 20 contains?)..(defun.-same-items?.
18040 28 6c 69 73 74 20 6c 69 73 74 32 29 0a 20 20 22 52 65 74 75 72 6e 20 74 72 75 65 20 69 66 20 4c (list.list2)..."Return.true.if.L
18060 49 53 54 20 61 6e 64 20 4c 49 53 54 32 20 68 61 73 20 74 68 65 20 73 61 6d 65 20 69 74 65 6d 73 IST.and.LIST2.has.the.same.items
18080 2e 0a 0a 54 68 65 20 6f 72 64 65 72 20 6f 66 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 69 6e 20 ...The.order.of.the.elements.in.
180a0 74 68 65 20 6c 69 73 74 73 20 64 6f 65 73 20 6e 6f 74 20 6d 61 74 74 65 72 2e 0a 0a 41 6c 69 61 the.lists.does.not.matter...Alia
180c0 73 3a 20 60 2d 73 61 6d 65 2d 69 74 65 6d 73 2d 70 27 22 0a 20 20 28 6c 65 74 20 28 28 6c 65 6e s:.`-same-items-p'"...(let.((len
180e0 67 74 68 2d 61 20 28 6c 65 6e 67 74 68 20 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 28 6c 65 gth-a.(length.list)).........(le
18100 6e 67 74 68 2d 62 20 28 6c 65 6e 67 74 68 20 6c 69 73 74 32 29 29 29 0a 20 20 20 20 28 61 6e 64 ngth-b.(length.list2))).....(and
18120 0a 20 20 20 20 20 28 3d 20 6c 65 6e 67 74 68 2d 61 20 6c 65 6e 67 74 68 2d 62 29 0a 20 20 20 20 ......(=.length-a.length-b).....
18140 20 28 3d 20 6c 65 6e 67 74 68 2d 61 20 28 6c 65 6e 67 74 68 20 28 2d 69 6e 74 65 72 73 65 63 74 .(=.length-a.(length.(-intersect
18160 69 6f 6e 20 6c 69 73 74 20 6c 69 73 74 32 29 29 29 29 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 ion.list.list2))))))..(defalias.
18180 27 2d 73 61 6d 65 2d 69 74 65 6d 73 2d 70 20 27 2d 73 61 6d 65 2d 69 74 65 6d 73 3f 29 0a 0a 28 '-same-items-p.'-same-items?)..(
181a0 64 65 66 75 6e 20 2d 69 73 2d 70 72 65 66 69 78 3f 20 28 70 72 65 66 69 78 20 6c 69 73 74 29 0a defun.-is-prefix?.(prefix.list).
181c0 20 20 22 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 50 52 45 46 49 58 20 69 73 20 61 .."Return.non-nil.if.PREFIX.is.a
181e0 20 70 72 65 66 69 78 20 6f 66 20 4c 49 53 54 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 69 73 2d 70 72 .prefix.of.LIST...Alias:.`-is-pr
18200 65 66 69 78 2d 70 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 efix-p'."...(declare.(pure.t).(s
18220 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 2d 2d 65 61 63 68 2d 77 68 ide-effect-free.t))...(--each-wh
18240 69 6c 65 20 6c 69 73 74 20 28 61 6e 64 20 28 65 71 75 61 6c 20 28 63 61 72 20 70 72 65 66 69 78 ile.list.(and.(equal.(car.prefix
18260 29 20 69 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).it)...........................
18280 28 21 63 64 72 20 70 72 65 66 69 78 29 29 29 0a 20 20 28 6e 75 6c 6c 20 70 72 65 66 69 78 29 29 (!cdr.prefix)))...(null.prefix))
182a0 0a 0a 28 64 65 66 75 6e 20 2d 69 73 2d 73 75 66 66 69 78 3f 20 28 73 75 66 66 69 78 20 6c 69 73 ..(defun.-is-suffix?.(suffix.lis
182c0 74 29 0a 20 20 22 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 53 55 46 46 49 58 20 69 t)..."Return.non-nil.if.SUFFIX.i
182e0 73 20 61 20 73 75 66 66 69 78 20 6f 66 20 4c 49 53 54 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 69 73 s.a.suffix.of.LIST...Alias:.`-is
18300 2d 73 75 66 66 69 78 2d 70 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 -suffix-p'."...(declare.(pure.t)
18320 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 65 71 75 61 6c 20 .(side-effect-free.t))...(equal.
18340 73 75 66 66 69 78 20 28 6c 61 73 74 20 6c 69 73 74 20 28 6c 65 6e 67 74 68 20 73 75 66 66 69 78 suffix.(last.list.(length.suffix
18360 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 69 73 2d 69 6e 66 69 78 3f 20 28 69 6e 66 69 78 20 6c ))))..(defun.-is-infix?.(infix.l
18380 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 49 4e 46 49 58 20 ist)..."Return.non-nil.if.INFIX.
183a0 69 73 20 69 6e 66 69 78 20 6f 66 20 4c 49 53 54 2e 0a 0a 54 68 69 73 20 6f 70 65 72 61 74 69 6f is.infix.of.LIST...This.operatio
183c0 6e 20 72 75 6e 73 20 69 6e 20 4f 28 6e 5e 32 29 20 74 69 6d 65 0a 0a 41 6c 69 61 73 3a 20 60 2d n.runs.in.O(n^2).time..Alias:.`-
183e0 69 73 2d 69 6e 66 69 78 2d 70 27 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 is-infix-p'"...(declare.(pure.t)
18400 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 6c 65 74 20 28 64 .(side-effect-free.t))...(let.(d
18420 6f 6e 65 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 61 6e 64 20 28 6e 6f 74 20 64 6f 6e 65 29 20 one).....(while.(and.(not.done).
18440 6c 69 73 74 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 64 6f 6e 65 20 28 2d 69 73 2d 70 72 65 66 list).......(setq.done.(-is-pref
18460 69 78 3f 20 69 6e 66 69 78 20 6c 69 73 74 29 29 0a 20 20 20 20 20 20 28 21 63 64 72 20 6c 69 73 ix?.infix.list)).......(!cdr.lis
18480 74 29 29 0a 20 20 20 20 64 6f 6e 65 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 69 73 2d 70 t)).....done))..(defalias.'-is-p
184a0 72 65 66 69 78 2d 70 20 27 2d 69 73 2d 70 72 65 66 69 78 3f 29 0a 28 64 65 66 61 6c 69 61 73 20 refix-p.'-is-prefix?).(defalias.
184c0 27 2d 69 73 2d 73 75 66 66 69 78 2d 70 20 27 2d 69 73 2d 73 75 66 66 69 78 3f 29 0a 28 64 65 66 '-is-suffix-p.'-is-suffix?).(def
184e0 61 6c 69 61 73 20 27 2d 69 73 2d 69 6e 66 69 78 2d 70 20 27 2d 69 73 2d 69 6e 66 69 78 3f 29 0a alias.'-is-infix-p.'-is-infix?).
18500 0a 28 64 65 66 75 6e 20 2d 73 6f 72 74 20 28 63 6f 6d 70 61 72 61 74 6f 72 20 6c 69 73 74 29 0a .(defun.-sort.(comparator.list).
18520 20 20 22 53 6f 72 74 20 4c 49 53 54 2c 20 73 74 61 62 6c 79 2c 20 63 6f 6d 70 61 72 69 6e 67 20 .."Sort.LIST,.stably,.comparing.
18540 65 6c 65 6d 65 6e 74 73 20 75 73 69 6e 67 20 43 4f 4d 50 41 52 41 54 4f 52 2e 0a 52 65 74 75 72 elements.using.COMPARATOR..Retur
18560 6e 20 74 68 65 20 73 6f 72 74 65 64 20 6c 69 73 74 2e 20 20 4c 49 53 54 20 69 73 20 4e 4f 54 20 n.the.sorted.list...LIST.is.NOT.
18580 6d 6f 64 69 66 69 65 64 20 62 79 20 73 69 64 65 20 65 66 66 65 63 74 73 2e 0a 43 4f 4d 50 41 52 modified.by.side.effects..COMPAR
185a0 41 54 4f 52 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 74 77 6f 20 65 6c 65 6d 65 6e 74 73 ATOR.is.called.with.two.elements
185c0 20 6f 66 20 4c 49 53 54 2c 20 61 6e 64 20 73 68 6f 75 6c 64 20 72 65 74 75 72 6e 20 6e 6f 6e 2d .of.LIST,.and.should.return.non-
185e0 6e 69 6c 0a 69 66 20 74 68 65 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 73 68 6f 75 6c 64 20 nil.if.the.first.element.should.
18600 73 6f 72 74 20 62 65 66 6f 72 65 20 74 68 65 20 73 65 63 6f 6e 64 2e 22 0a 20 20 28 73 6f 72 74 sort.before.the.second."...(sort
18620 20 28 63 6f 70 79 2d 73 65 71 75 65 6e 63 65 20 6c 69 73 74 29 20 63 6f 6d 70 61 72 61 74 6f 72 .(copy-sequence.list).comparator
18640 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 73 6f 72 74 20 28 66 6f 72 6d 20 6c 69 73 74 29 ))..(defmacro.--sort.(form.list)
18660 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 20 66 6f 72 6d 20 6f 66 20 60 2d 73 6f 72 74 27 2e 22 0a ..."Anaphoric.form.of.`-sort'.".
18680 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 64 65 66 2d 66 6f 72 6d 20 66 6f 72 6d ..(declare.(debug.(def-form.form
186a0 29 29 29 0a 20 20 60 28 2d 73 6f 72 74 20 28 6c 61 6d 62 64 61 20 28 69 74 20 6f 74 68 65 72 29 )))...`(-sort.(lambda.(it.other)
186c0 20 2c 66 6f 72 6d 29 20 2c 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 6c 69 73 74 20 28 26 .,form).,list))..(defun.-list.(&
186e0 6f 70 74 69 6f 6e 61 6c 20 61 72 67 20 26 72 65 73 74 20 61 72 67 73 29 0a 20 20 22 45 6e 73 75 optional.arg.&rest.args)..."Ensu
18700 72 65 20 41 52 47 20 69 73 20 61 20 6c 69 73 74 2e 0a 49 66 20 41 52 47 20 69 73 20 61 6c 72 65 re.ARG.is.a.list..If.ARG.is.alre
18720 61 64 79 20 61 20 6c 69 73 74 2c 20 72 65 74 75 72 6e 20 69 74 20 61 73 20 69 73 20 28 6e 6f 74 ady.a.list,.return.it.as.is.(not
18740 20 61 20 63 6f 70 79 29 2e 0a 4f 74 68 65 72 77 69 73 65 2c 20 72 65 74 75 72 6e 20 61 20 6e 65 .a.copy)..Otherwise,.return.a.ne
18760 77 20 6c 69 73 74 20 77 69 74 68 20 41 52 47 20 61 73 20 69 74 73 20 6f 6e 6c 79 20 65 6c 65 6d w.list.with.ARG.as.its.only.elem
18780 65 6e 74 2e 0a 0a 41 6e 6f 74 68 65 72 20 73 75 70 70 6f 72 74 65 64 20 63 61 6c 6c 69 6e 67 20 ent...Another.supported.calling.
187a0 63 6f 6e 76 65 6e 74 69 6f 6e 20 69 73 20 28 2d 6c 69 73 74 20 26 72 65 73 74 20 41 52 47 53 29 convention.is.(-list.&rest.ARGS)
187c0 2e 0a 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 69 66 20 41 52 47 20 69 73 20 6e 6f 74 20 61 20 ..In.this.case,.if.ARG.is.not.a.
187e0 6c 69 73 74 2c 20 61 20 6e 65 77 20 6c 69 73 74 20 77 69 74 68 20 61 6c 6c 20 6f 66 0a 41 52 47 list,.a.new.list.with.all.of.ARG
18800 53 20 61 73 20 65 6c 65 6d 65 6e 74 73 20 69 73 20 72 65 74 75 72 6e 65 64 2e 20 20 54 68 69 73 S.as.elements.is.returned...This
18820 20 75 73 65 20 69 73 20 73 75 70 70 6f 72 74 65 64 20 66 6f 72 0a 62 61 63 6b 77 61 72 64 20 63 .use.is.supported.for.backward.c
18840 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 61 6e 64 20 69 73 20 6f 74 68 65 72 77 69 73 65 20 64 65 ompatibility.and.is.otherwise.de
18860 70 72 65 63 61 74 65 64 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 61 64 76 65 72 74 69 73 65 precated."...(declare.(advertise
18880 64 2d 63 61 6c 6c 69 6e 67 2d 63 6f 6e 76 65 6e 74 69 6f 6e 20 28 61 72 67 29 20 22 32 2e 31 38 d-calling-convention.(arg)."2.18
188a0 2e 30 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 .0")............(pure.t).(side-e
188c0 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 69 66 20 28 6c 69 73 74 70 20 61 72 67 29 ffect-free.t))...(if.(listp.arg)
188e0 20 61 72 67 20 28 63 6f 6e 73 20 61 72 67 20 61 72 67 73 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d .arg.(cons.arg.args)))..(defun.-
18900 72 65 70 65 61 74 20 28 6e 20 78 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 repeat.(n.x)..."Return.a.new.lis
18920 74 20 6f 66 20 6c 65 6e 67 74 68 20 4e 20 77 69 74 68 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 t.of.length.N.with.each.element.
18940 62 65 69 6e 67 20 58 2e 0a 52 65 74 75 72 6e 20 6e 69 6c 20 69 66 20 4e 20 69 73 20 6c 65 73 73 being.X..Return.nil.if.N.is.less
18960 20 74 68 61 6e 20 31 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 .than.1."...(declare.(pure.t).(s
18980 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 61 6e 64 20 28 6e 61 74 6e ide-effect-free.t))...(and.(natn
189a0 75 6d 70 20 6e 29 20 28 6d 61 6b 65 2d 6c 69 73 74 20 6e 20 78 29 29 29 0a 0a 28 64 65 66 75 6e ump.n).(make-list.n.x)))..(defun
189c0 20 2d 73 75 6d 20 28 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 73 75 6d 20 6f .-sum.(list)..."Return.the.sum.o
189e0 66 20 4c 49 53 54 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 f.LIST."...(declare.(pure.t).(si
18a00 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 61 70 70 6c 79 20 27 2b 20 6c de-effect-free.t))...(apply.'+.l
18a20 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 72 75 6e 6e 69 6e 67 2d 73 75 6d 20 28 6c 69 73 74 ist))..(defun.-running-sum.(list
18a40 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 77 69 74 68 20 72 75 6e 6e 69 6e 67 20 )..."Return.a.list.with.running.
18a60 73 75 6d 73 20 6f 66 20 69 74 65 6d 73 20 69 6e 20 4c 49 53 54 2e 0a 4c 49 53 54 20 6d 75 73 74 sums.of.items.in.LIST..LIST.must
18a80 20 62 65 20 6e 6f 6e 2d 65 6d 70 74 79 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 .be.non-empty."...(declare.(pure
18aa0 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 6f 72 20 .t).(side-effect-free.t))...(or.
18ac0 6c 69 73 74 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 list.(signal.'wrong-type-argumen
18ae0 74 20 28 6c 69 73 74 20 23 27 63 6f 6e 73 70 20 6c 69 73 74 29 29 29 0a 20 20 28 2d 72 65 64 75 t.(list.#'consp.list)))...(-redu
18b00 63 74 69 6f 6e 73 20 23 27 2b 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 70 72 6f 64 75 ctions.#'+.list))..(defun.-produ
18b20 63 74 20 28 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 70 72 6f 64 75 63 74 20 ct.(list)..."Return.the.product.
18b40 6f 66 20 4c 49 53 54 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 of.LIST."...(declare.(pure.t).(s
18b60 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 61 70 70 6c 79 20 27 2a 20 ide-effect-free.t))...(apply.'*.
18b80 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 72 75 6e 6e 69 6e 67 2d 70 72 6f 64 75 63 74 20 list))..(defun.-running-product.
18ba0 28 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 77 69 74 68 20 72 75 6e (list)..."Return.a.list.with.run
18bc0 6e 69 6e 67 20 70 72 6f 64 75 63 74 73 20 6f 66 20 69 74 65 6d 73 20 69 6e 20 4c 49 53 54 2e 0a ning.products.of.items.in.LIST..
18be0 4c 49 53 54 20 6d 75 73 74 20 62 65 20 6e 6f 6e 2d 65 6d 70 74 79 2e 22 0a 20 20 28 64 65 63 6c LIST.must.be.non-empty."...(decl
18c00 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 are.(pure.t).(side-effect-free.t
18c20 29 29 0a 20 20 28 6f 72 20 6c 69 73 74 20 28 73 69 67 6e 61 6c 20 27 77 72 6f 6e 67 2d 74 79 70 ))...(or.list.(signal.'wrong-typ
18c40 65 2d 61 72 67 75 6d 65 6e 74 20 28 6c 69 73 74 20 23 27 63 6f 6e 73 70 20 6c 69 73 74 29 29 29 e-argument.(list.#'consp.list)))
18c60 0a 20 20 28 2d 72 65 64 75 63 74 69 6f 6e 73 20 23 27 2a 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 ...(-reductions.#'*.list))..(def
18c80 75 6e 20 2d 6d 61 78 20 28 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 6c 61 72 un.-max.(list)..."Return.the.lar
18ca0 67 65 73 74 20 76 61 6c 75 65 20 66 72 6f 6d 20 4c 49 53 54 20 6f 66 20 6e 75 6d 62 65 72 73 20 gest.value.from.LIST.of.numbers.
18cc0 6f 72 20 6d 61 72 6b 65 72 73 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 or.markers."...(declare.(pure.t)
18ce0 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 61 70 70 6c 79 20 .(side-effect-free.t))...(apply.
18d00 27 6d 61 78 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 6d 69 6e 20 28 6c 69 73 74 29 0a 'max.list))..(defun.-min.(list).
18d20 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 73 6d 61 6c 6c 65 73 74 20 76 61 6c 75 65 20 66 72 6f .."Return.the.smallest.value.fro
18d40 6d 20 4c 49 53 54 20 6f 66 20 6e 75 6d 62 65 72 73 20 6f 72 20 6d 61 72 6b 65 72 73 2e 22 0a 20 m.LIST.of.numbers.or.markers."..
18d60 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d .(declare.(pure.t).(side-effect-
18d80 66 72 65 65 20 74 29 29 0a 20 20 28 61 70 70 6c 79 20 27 6d 69 6e 20 6c 69 73 74 29 29 0a 0a 28 free.t))...(apply.'min.list))..(
18da0 64 65 66 75 6e 20 2d 6d 61 78 2d 62 79 20 28 63 6f 6d 70 61 72 61 74 6f 72 20 6c 69 73 74 29 0a defun.-max-by.(comparator.list).
18dc0 20 20 22 54 61 6b 65 20 61 20 63 6f 6d 70 61 72 69 73 6f 6e 20 66 75 6e 63 74 69 6f 6e 20 43 4f .."Take.a.comparison.function.CO
18de0 4d 50 41 52 41 54 4f 52 20 61 6e 64 20 61 20 4c 49 53 54 20 61 6e 64 20 72 65 74 75 72 6e 0a 74 MPARATOR.and.a.LIST.and.return.t
18e00 68 65 20 67 72 65 61 74 65 73 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 6c 69 73 74 20 he.greatest.element.of.the.list.
18e20 62 79 20 74 68 65 20 63 6f 6d 70 61 72 69 73 6f 6e 20 66 75 6e 63 74 69 6f 6e 2e 0a 0a 53 65 65 by.the.comparison.function...See
18e40 20 61 6c 73 6f 20 63 6f 6d 62 69 6e 61 74 6f 72 20 60 2d 6f 6e 27 20 77 68 69 63 68 20 63 61 6e .also.combinator.`-on'.which.can
18e60 20 74 72 61 6e 73 66 6f 72 6d 20 74 68 65 20 76 61 6c 75 65 73 20 62 65 66 6f 72 65 0a 63 6f 6d .transform.the.values.before.com
18e80 70 61 72 69 6e 67 20 74 68 65 6d 2e 22 0a 20 20 28 2d 2d 72 65 64 75 63 65 20 28 69 66 20 28 66 paring.them."...(--reduce.(if.(f
18ea0 75 6e 63 61 6c 6c 20 63 6f 6d 70 61 72 61 74 6f 72 20 69 74 20 61 63 63 29 20 69 74 20 61 63 63 uncall.comparator.it.acc).it.acc
18ec0 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 6d 69 6e 2d 62 79 20 28 63 6f 6d 70 61 72 ).list))..(defun.-min-by.(compar
18ee0 61 74 6f 72 20 6c 69 73 74 29 0a 20 20 22 54 61 6b 65 20 61 20 63 6f 6d 70 61 72 69 73 6f 6e 20 ator.list)..."Take.a.comparison.
18f00 66 75 6e 63 74 69 6f 6e 20 43 4f 4d 50 41 52 41 54 4f 52 20 61 6e 64 20 61 20 4c 49 53 54 20 61 function.COMPARATOR.and.a.LIST.a
18f20 6e 64 20 72 65 74 75 72 6e 0a 74 68 65 20 6c 65 61 73 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 nd.return.the.least.element.of.t
18f40 68 65 20 6c 69 73 74 20 62 79 20 74 68 65 20 63 6f 6d 70 61 72 69 73 6f 6e 20 66 75 6e 63 74 69 he.list.by.the.comparison.functi
18f60 6f 6e 2e 0a 0a 53 65 65 20 61 6c 73 6f 20 63 6f 6d 62 69 6e 61 74 6f 72 20 60 2d 6f 6e 27 20 77 on...See.also.combinator.`-on'.w
18f80 68 69 63 68 20 63 61 6e 20 74 72 61 6e 73 66 6f 72 6d 20 74 68 65 20 76 61 6c 75 65 73 20 62 65 hich.can.transform.the.values.be
18fa0 66 6f 72 65 0a 63 6f 6d 70 61 72 69 6e 67 20 74 68 65 6d 2e 22 0a 20 20 28 2d 2d 72 65 64 75 63 fore.comparing.them."...(--reduc
18fc0 65 20 28 69 66 20 28 66 75 6e 63 61 6c 6c 20 63 6f 6d 70 61 72 61 74 6f 72 20 69 74 20 61 63 63 e.(if.(funcall.comparator.it.acc
18fe0 29 20 61 63 63 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 6d 61 ).acc.it).list))..(defmacro.--ma
19000 78 2d 62 79 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 20 76 65 x-by.(form.list)..."Anaphoric.ve
19020 72 73 69 6f 6e 20 6f 66 20 60 2d 6d 61 78 2d 62 79 27 2e 0a 0a 54 68 65 20 69 74 65 6d 73 20 66 rsion.of.`-max-by'...The.items.f
19040 6f 72 20 74 68 65 20 63 6f 6d 70 61 72 61 74 6f 72 20 66 6f 72 6d 20 61 72 65 20 65 78 70 6f 73 or.the.comparator.form.are.expos
19060 65 64 20 61 73 20 5c 22 69 74 5c 22 20 61 6e 64 20 5c 22 6f 74 68 65 72 5c 22 2e 22 0a 20 20 28 ed.as.\"it\".and.\"other\"."...(
19080 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 64 65 66 2d 66 6f 72 6d 20 66 6f 72 6d 29 29 29 declare.(debug.(def-form.form)))
190a0 0a 20 20 60 28 2d 6d 61 78 2d 62 79 20 28 6c 61 6d 62 64 61 20 28 69 74 20 6f 74 68 65 72 29 20 ...`(-max-by.(lambda.(it.other).
190c0 2c 66 6f 72 6d 29 20 2c 6c 69 73 74 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 6d 69 6e 2d ,form).,list))..(defmacro.--min-
190e0 62 79 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 20 76 65 72 73 by.(form.list)..."Anaphoric.vers
19100 69 6f 6e 20 6f 66 20 60 2d 6d 69 6e 2d 62 79 27 2e 0a 0a 54 68 65 20 69 74 65 6d 73 20 66 6f 72 ion.of.`-min-by'...The.items.for
19120 20 74 68 65 20 63 6f 6d 70 61 72 61 74 6f 72 20 66 6f 72 6d 20 61 72 65 20 65 78 70 6f 73 65 64 .the.comparator.form.are.exposed
19140 20 61 73 20 5c 22 69 74 5c 22 20 61 6e 64 20 5c 22 6f 74 68 65 72 5c 22 2e 22 0a 20 20 28 64 65 .as.\"it\".and.\"other\"."...(de
19160 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 64 65 66 2d 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 clare.(debug.(def-form.form)))..
19180 20 60 28 2d 6d 69 6e 2d 62 79 20 28 6c 61 6d 62 64 61 20 28 69 74 20 6f 74 68 65 72 29 20 2c 66 .`(-min-by.(lambda.(it.other).,f
191a0 6f 72 6d 29 20 2c 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 69 6f 74 61 20 28 63 6f 75 6e orm).,list))..(defun.-iota.(coun
191c0 74 20 26 6f 70 74 69 6f 6e 61 6c 20 73 74 61 72 74 20 73 74 65 70 29 0a 20 20 22 52 65 74 75 72 t.&optional.start.step)..."Retur
191e0 6e 20 61 20 6c 69 73 74 20 63 6f 6e 74 61 69 6e 69 6e 67 20 43 4f 55 4e 54 20 6e 75 6d 62 65 72 n.a.list.containing.COUNT.number
19200 73 2e 0a 53 74 61 72 74 73 20 66 72 6f 6d 20 53 54 41 52 54 20 61 6e 64 20 61 64 64 73 20 53 54 s..Starts.from.START.and.adds.ST
19220 45 50 20 65 61 63 68 20 74 69 6d 65 2e 20 20 54 68 65 20 64 65 66 61 75 6c 74 20 53 54 41 52 54 EP.each.time...The.default.START
19240 20 69 73 0a 7a 65 72 6f 2c 20 74 68 65 20 64 65 66 61 75 6c 74 20 53 54 45 50 20 69 73 20 31 2e .is.zero,.the.default.STEP.is.1.
19260 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 74 61 6b 65 73 20 69 74 73 20 6e 61 6d 65 20 66 72 .This.function.takes.its.name.fr
19280 6f 6d 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 70 72 69 6d 69 74 69 76 65 20 69 om.the.corresponding.primitive.i
192a0 6e 0a 74 68 65 20 41 50 4c 20 6c 61 6e 67 75 61 67 65 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 n.the.APL.language."...(declare.
192c0 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 (pure.t).(side-effect-free.t))..
192e0 20 28 75 6e 6c 65 73 73 20 28 6e 61 74 6e 75 6d 70 20 63 6f 75 6e 74 29 0a 20 20 20 20 28 73 69 .(unless.(natnump.count).....(si
19300 67 6e 61 6c 20 27 77 72 6f 6e 67 2d 74 79 70 65 2d 61 72 67 75 6d 65 6e 74 20 28 6c 69 73 74 20 gnal.'wrong-type-argument.(list.
19320 23 27 6e 61 74 6e 75 6d 70 20 63 6f 75 6e 74 29 29 29 0a 20 20 28 6f 72 20 73 74 61 72 74 20 28 #'natnump.count)))...(or.start.(
19340 73 65 74 71 20 73 74 61 72 74 20 30 29 29 0a 20 20 28 6f 72 20 73 74 65 70 20 28 73 65 74 71 20 setq.start.0))...(or.step.(setq.
19360 73 74 65 70 20 31 29 29 0a 20 20 28 69 66 20 28 7a 65 72 6f 70 20 73 74 65 70 29 0a 20 20 20 20 step.1))...(if.(zerop.step).....
19380 20 20 28 6d 61 6b 65 2d 6c 69 73 74 20 63 6f 75 6e 74 20 73 74 61 72 74 29 0a 20 20 20 20 28 2d ..(make-list.count.start).....(-
193a0 2d 69 74 65 72 61 74 65 20 28 2b 20 69 74 20 73 74 65 70 29 20 73 74 61 72 74 20 63 6f 75 6e 74 -iterate.(+.it.step).start.count
193c0 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 66 69 78 20 28 66 6e 20 6c 69 73 74 29 0a 20 20 22 43 6f )))..(defun.-fix.(fn.list)..."Co
193e0 6d 70 75 74 65 20 74 68 65 20 28 6c 65 61 73 74 29 20 66 69 78 70 6f 69 6e 74 20 6f 66 20 46 4e mpute.the.(least).fixpoint.of.FN
19400 20 77 69 74 68 20 69 6e 69 74 69 61 6c 20 69 6e 70 75 74 20 4c 49 53 54 2e 0a 0a 46 4e 20 69 73 .with.initial.input.LIST...FN.is
19420 20 63 61 6c 6c 65 64 20 61 74 20 6c 65 61 73 74 20 6f 6e 63 65 2c 20 72 65 73 75 6c 74 73 20 61 .called.at.least.once,.results.a
19440 72 65 20 63 6f 6d 70 61 72 65 64 20 77 69 74 68 20 60 65 71 75 61 6c 27 2e 22 0a 20 20 28 6c 65 re.compared.with.`equal'."...(le
19460 74 20 28 28 72 65 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 6c 69 73 74 29 29 29 0a 20 20 20 20 28 t.((re.(funcall.fn.list))).....(
19480 77 68 69 6c 65 20 28 6e 6f 74 20 28 65 71 75 61 6c 20 6c 69 73 74 20 72 65 29 29 0a 20 20 20 20 while.(not.(equal.list.re)).....
194a0 20 20 28 73 65 74 71 20 6c 69 73 74 20 72 65 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 72 65 20 ..(setq.list.re).......(setq.re.
194c0 28 66 75 6e 63 61 6c 6c 20 66 6e 20 72 65 29 29 29 0a 20 20 20 20 72 65 29 29 0a 0a 28 64 65 66 (funcall.fn.re))).....re))..(def
194e0 6d 61 63 72 6f 20 2d 2d 66 69 78 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 41 6e 61 70 68 macro.--fix.(form.list)..."Anaph
19500 6f 72 69 63 20 66 6f 72 6d 20 6f 66 20 60 2d 66 69 78 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 oric.form.of.`-fix'."...(declare
19520 20 28 64 65 62 75 67 20 28 64 65 66 2d 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 60 28 2d 66 .(debug.(def-form.form)))...`(-f
19540 69 78 20 28 6c 61 6d 62 64 61 20 28 69 74 29 20 2c 66 6f 72 6d 29 20 2c 6c 69 73 74 29 29 0a 0a ix.(lambda.(it).,form).,list))..
19560 28 64 65 66 75 6e 20 2d 75 6e 66 6f 6c 64 20 28 66 75 6e 20 73 65 65 64 29 0a 20 20 22 42 75 69 (defun.-unfold.(fun.seed)..."Bui
19580 6c 64 20 61 20 6c 69 73 74 20 66 72 6f 6d 20 53 45 45 44 20 75 73 69 6e 67 20 46 55 4e 2e 0a 0a ld.a.list.from.SEED.using.FUN...
195a0 54 68 69 73 20 69 73 20 5c 22 64 75 61 6c 5c 22 20 6f 70 65 72 61 74 69 6f 6e 20 74 6f 20 60 2d This.is.\"dual\".operation.to.`-
195c0 72 65 64 75 63 65 2d 72 27 3a 20 77 68 69 6c 65 20 2d 72 65 64 75 63 65 2d 72 0a 63 6f 6e 73 75 reduce-r':.while.-reduce-r.consu
195e0 6d 65 73 20 61 20 6c 69 73 74 20 74 6f 20 70 72 6f 64 75 63 65 20 61 20 73 69 6e 67 6c 65 20 76 mes.a.list.to.produce.a.single.v
19600 61 6c 75 65 2c 20 60 2d 75 6e 66 6f 6c 64 27 20 74 61 6b 65 73 20 61 0a 73 65 65 64 20 76 61 6c alue,.`-unfold'.takes.a.seed.val
19620 75 65 20 61 6e 64 20 62 75 69 6c 64 73 20 61 20 28 70 6f 74 65 6e 74 69 61 6c 6c 79 20 69 6e 66 ue.and.builds.a.(potentially.inf
19640 69 6e 69 74 65 21 29 20 6c 69 73 74 2e 0a 0a 46 55 4e 20 73 68 6f 75 6c 64 20 72 65 74 75 72 6e inite!).list...FUN.should.return
19660 20 60 6e 69 6c 27 20 74 6f 20 73 74 6f 70 20 74 68 65 20 67 65 6e 65 72 61 74 69 6e 67 20 70 72 .`nil'.to.stop.the.generating.pr
19680 6f 63 65 73 73 2c 20 6f 72 20 61 0a 63 6f 6e 73 20 28 41 20 2e 20 42 29 2c 20 77 68 65 72 65 20 ocess,.or.a.cons.(A...B),.where.
196a0 41 20 77 69 6c 6c 20 62 65 20 70 72 65 70 65 6e 64 65 64 20 74 6f 20 74 68 65 20 72 65 73 75 6c A.will.be.prepended.to.the.resul
196c0 74 20 61 6e 64 20 42 20 69 73 0a 74 68 65 20 6e 65 77 20 73 65 65 64 2e 22 0a 20 20 28 6c 65 74 t.and.B.is.the.new.seed."...(let
196e0 20 28 28 6c 61 73 74 20 28 66 75 6e 63 61 6c 6c 20 66 75 6e 20 73 65 65 64 29 29 20 72 29 0a 20 .((last.(funcall.fun.seed)).r)..
19700 20 20 20 28 77 68 69 6c 65 20 6c 61 73 74 0a 20 20 20 20 20 20 28 70 75 73 68 20 28 63 61 72 20 ...(while.last.......(push.(car.
19720 6c 61 73 74 29 20 72 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6c 61 73 74 20 28 66 75 6e 63 61 last).r).......(setq.last.(funca
19740 6c 6c 20 66 75 6e 20 28 63 64 72 20 6c 61 73 74 29 29 29 29 0a 20 20 20 20 28 6e 72 65 76 65 72 ll.fun.(cdr.last)))).....(nrever
19760 73 65 20 72 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 75 6e 66 6f 6c 64 20 28 66 6f 72 se.r)))..(defmacro.--unfold.(for
19780 6d 20 73 65 65 64 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 m.seed)..."Anaphoric.version.of.
197a0 60 2d 75 6e 66 6f 6c 64 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 64 `-unfold'."...(declare.(debug.(d
197c0 65 66 2d 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 60 28 2d 75 6e 66 6f 6c 64 20 28 6c 61 6d ef-form.form)))...`(-unfold.(lam
197e0 62 64 61 20 28 69 74 29 20 2c 66 6f 72 6d 29 20 2c 73 65 65 64 29 29 0a 0a 28 64 65 66 75 6e 20 bda.(it).,form).,seed))..(defun.
19800 2d 63 6f 6e 73 2d 70 61 69 72 3f 20 28 6f 62 6a 29 0a 20 20 22 52 65 74 75 72 6e 20 6e 6f 6e 2d -cons-pair?.(obj)..."Return.non-
19820 6e 69 6c 20 69 66 20 4f 42 4a 20 69 73 20 61 20 74 72 75 65 20 63 6f 6e 73 20 70 61 69 72 2e 0a nil.if.OBJ.is.a.true.cons.pair..
19840 54 68 61 74 20 69 73 2c 20 61 20 63 6f 6e 73 20 28 41 20 2e 20 42 29 20 77 68 65 72 65 20 42 20 That.is,.a.cons.(A...B).where.B.
19860 69 73 20 6e 6f 74 20 61 20 6c 69 73 74 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 63 6f 6e 73 2d 70 61 is.not.a.list...Alias:.`-cons-pa
19880 69 72 2d 70 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 ir-p'."...(declare.(pure.t).(sid
198a0 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 6e 6c 69 73 74 70 20 28 63 64 72 e-effect-free.t))...(nlistp.(cdr
198c0 2d 73 61 66 65 20 6f 62 6a 29 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 63 6f 6e 73 2d 70 -safe.obj)))..(defalias.'-cons-p
198e0 61 69 72 2d 70 20 27 2d 63 6f 6e 73 2d 70 61 69 72 3f 29 0a 0a 28 64 65 66 75 6e 20 2d 63 6f 6e air-p.'-cons-pair?)..(defun.-con
19900 73 2d 74 6f 2d 6c 69 73 74 20 28 63 6f 6e 29 0a 20 20 22 43 6f 6e 76 65 72 74 20 61 20 63 6f 6e s-to-list.(con)..."Convert.a.con
19920 73 20 70 61 69 72 20 74 6f 20 61 20 6c 69 73 74 20 77 69 74 68 20 60 63 61 72 27 20 61 6e 64 20 s.pair.to.a.list.with.`car'.and.
19940 60 63 64 72 27 20 6f 66 20 74 68 65 20 70 61 69 72 20 72 65 73 70 65 63 74 69 76 65 6c 79 2e 22 `cdr'.of.the.pair.respectively."
19960 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 ...(declare.(pure.t).(side-effec
19980 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 6c 69 73 74 20 28 63 61 72 20 63 6f 6e 29 20 28 63 64 t-free.t))...(list.(car.con).(cd
199a0 72 20 63 6f 6e 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 76 61 6c 75 65 2d 74 6f 2d 6c 69 73 74 20 r.con)))..(defun.-value-to-list.
199c0 28 76 61 6c 29 0a 20 20 22 43 6f 6e 76 65 72 74 20 61 20 76 61 6c 75 65 20 74 6f 20 61 20 6c 69 (val)..."Convert.a.value.to.a.li
199e0 73 74 2e 0a 0a 49 66 20 74 68 65 20 76 61 6c 75 65 20 69 73 20 61 20 63 6f 6e 73 20 70 61 69 72 st...If.the.value.is.a.cons.pair
19a00 2c 20 6d 61 6b 65 20 61 20 6c 69 73 74 20 77 69 74 68 20 74 77 6f 20 65 6c 65 6d 65 6e 74 73 2c ,.make.a.list.with.two.elements,
19a20 20 60 63 61 72 27 0a 61 6e 64 20 60 63 64 72 27 20 6f 66 20 74 68 65 20 70 61 69 72 20 72 65 73 .`car'.and.`cdr'.of.the.pair.res
19a40 70 65 63 74 69 76 65 6c 79 2e 0a 0a 49 66 20 74 68 65 20 76 61 6c 75 65 20 69 73 20 61 6e 79 74 pectively...If.the.value.is.anyt
19a60 68 69 6e 67 20 65 6c 73 65 2c 20 77 72 61 70 20 69 74 20 69 6e 20 61 20 6c 69 73 74 2e 22 0a 20 hing.else,.wrap.it.in.a.list."..
19a80 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d .(declare.(pure.t).(side-effect-
19aa0 66 72 65 65 20 74 29 29 0a 20 20 28 63 6f 6e 64 0a 20 20 20 28 28 2d 63 6f 6e 73 2d 70 61 69 72 free.t))...(cond....((-cons-pair
19ac0 3f 20 76 61 6c 29 20 28 2d 63 6f 6e 73 2d 74 6f 2d 6c 69 73 74 20 76 61 6c 29 29 0a 20 20 20 28 ?.val).(-cons-to-list.val))....(
19ae0 74 20 28 6c 69 73 74 20 76 61 6c 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 74 72 65 65 2d 6d 61 t.(list.val))))..(defun.-tree-ma
19b00 70 72 65 64 75 63 65 2d 66 72 6f 6d 20 28 66 6e 20 66 6f 6c 64 65 72 20 69 6e 69 74 2d 76 61 6c preduce-from.(fn.folder.init-val
19b20 75 65 20 74 72 65 65 29 0a 20 20 22 41 70 70 6c 79 20 46 4e 20 74 6f 20 65 61 63 68 20 65 6c 65 ue.tree)..."Apply.FN.to.each.ele
19b40 6d 65 6e 74 20 6f 66 20 54 52 45 45 2c 20 61 6e 64 20 6d 61 6b 65 20 61 20 6c 69 73 74 20 6f 66 ment.of.TREE,.and.make.a.list.of
19b60 20 74 68 65 20 72 65 73 75 6c 74 73 2e 0a 49 66 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 54 52 45 .the.results..If.elements.of.TRE
19b80 45 20 61 72 65 20 6c 69 73 74 73 20 74 68 65 6d 73 65 6c 76 65 73 2c 20 61 70 70 6c 79 20 46 4e E.are.lists.themselves,.apply.FN
19ba0 20 72 65 63 75 72 73 69 76 65 6c 79 20 74 6f 0a 65 6c 65 6d 65 6e 74 73 20 6f 66 20 74 68 65 73 .recursively.to.elements.of.thes
19bc0 65 20 6e 65 73 74 65 64 20 6c 69 73 74 73 2e 0a 0a 54 68 65 6e 20 72 65 64 75 63 65 20 74 68 65 e.nested.lists...Then.reduce.the
19be0 20 72 65 73 75 6c 74 69 6e 67 20 6c 69 73 74 73 20 75 73 69 6e 67 20 46 4f 4c 44 45 52 20 61 6e .resulting.lists.using.FOLDER.an
19c00 64 20 69 6e 69 74 69 61 6c 20 76 61 6c 75 65 0a 49 4e 49 54 2d 56 41 4c 55 45 2e 20 53 65 65 20 d.initial.value.INIT-VALUE..See.
19c20 60 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 27 2e 0a 0a 54 68 69 73 20 69 73 20 74 68 65 20 73 `-reduce-r-from'...This.is.the.s
19c40 61 6d 65 20 61 73 20 63 61 6c 6c 69 6e 67 20 60 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 72 6f ame.as.calling.`-tree-reduce-fro
19c60 6d 27 20 61 66 74 65 72 20 60 2d 74 72 65 65 2d 6d 61 70 27 0a 62 75 74 20 69 73 20 74 77 69 63 m'.after.`-tree-map'.but.is.twic
19c80 65 20 61 73 20 66 61 73 74 20 61 73 20 69 74 20 6f 6e 6c 79 20 74 72 61 76 65 72 73 65 20 74 68 e.as.fast.as.it.only.traverse.th
19ca0 65 20 73 74 72 75 63 74 75 72 65 20 6f 6e 63 65 2e 22 0a 20 20 28 63 6f 6e 64 0a 20 20 20 28 28 e.structure.once."...(cond....((
19cc0 6e 6f 74 20 74 72 65 65 29 20 6e 69 6c 29 0a 20 20 20 28 28 2d 63 6f 6e 73 2d 70 61 69 72 3f 20 not.tree).nil)....((-cons-pair?.
19ce0 74 72 65 65 29 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 74 72 65 65 29 29 0a 20 20 20 28 28 6c 69 tree).(funcall.fn.tree))....((li
19d00 73 74 70 20 74 72 65 65 29 0a 20 20 20 20 28 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 20 66 6f stp.tree).....(-reduce-r-from.fo
19d20 6c 64 65 72 20 69 6e 69 74 2d 76 61 6c 75 65 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 lder.init-value.(mapcar.(lambda.
19d40 28 78 29 20 28 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 2d 66 72 6f 6d 20 66 6e 20 66 6f 6c (x).(-tree-mapreduce-from.fn.fol
19d60 64 65 72 20 69 6e 69 74 2d 76 61 6c 75 65 20 78 29 29 20 74 72 65 65 29 29 29 0a 20 20 20 28 74 der.init-value.x)).tree)))....(t
19d80 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 74 72 65 65 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f .(funcall.fn.tree))))..(defmacro
19da0 20 2d 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 2d 66 72 6f 6d 20 28 66 6f 72 6d 20 66 6f 6c .--tree-mapreduce-from.(form.fol
19dc0 64 65 72 20 69 6e 69 74 2d 76 61 6c 75 65 20 74 72 65 65 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 der.init-value.tree)..."Anaphori
19de0 63 20 66 6f 72 6d 20 6f 66 20 60 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 2d 66 72 6f 6d 27 c.form.of.`-tree-mapreduce-from'
19e00 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 64 65 66 2d 66 6f 72 6d 20 64 ."...(declare.(debug.(def-form.d
19e20 65 66 2d 66 6f 72 6d 20 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 60 28 2d 74 72 65 65 2d 6d ef-form.form.form)))...`(-tree-m
19e40 61 70 72 65 64 75 63 65 2d 66 72 6f 6d 20 28 6c 61 6d 62 64 61 20 28 69 74 29 20 2c 66 6f 72 6d apreduce-from.(lambda.(it).,form
19e60 29 20 28 6c 61 6d 62 64 61 20 28 69 74 20 61 63 63 29 20 2c 66 6f 6c 64 65 72 29 20 2c 69 6e 69 ).(lambda.(it.acc).,folder).,ini
19e80 74 2d 76 61 6c 75 65 20 2c 74 72 65 65 29 29 0a 0a 28 64 65 66 75 6e 20 2d 74 72 65 65 2d 6d 61 t-value.,tree))..(defun.-tree-ma
19ea0 70 72 65 64 75 63 65 20 28 66 6e 20 66 6f 6c 64 65 72 20 74 72 65 65 29 0a 20 20 22 41 70 70 6c preduce.(fn.folder.tree)..."Appl
19ec0 79 20 46 4e 20 74 6f 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 54 52 45 45 2c 20 61 6e y.FN.to.each.element.of.TREE,.an
19ee0 64 20 6d 61 6b 65 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 73 2e 0a 49 66 d.make.a.list.of.the.results..If
19f00 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 54 52 45 45 20 61 72 65 20 6c 69 73 74 73 20 74 68 65 6d .elements.of.TREE.are.lists.them
19f20 73 65 6c 76 65 73 2c 20 61 70 70 6c 79 20 46 4e 20 72 65 63 75 72 73 69 76 65 6c 79 20 74 6f 0a selves,.apply.FN.recursively.to.
19f40 65 6c 65 6d 65 6e 74 73 20 6f 66 20 74 68 65 73 65 20 6e 65 73 74 65 64 20 6c 69 73 74 73 2e 0a elements.of.these.nested.lists..
19f60 0a 54 68 65 6e 20 72 65 64 75 63 65 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 20 6c 69 73 74 73 .Then.reduce.the.resulting.lists
19f80 20 75 73 69 6e 67 20 46 4f 4c 44 45 52 20 61 6e 64 20 69 6e 69 74 69 61 6c 20 76 61 6c 75 65 0a .using.FOLDER.and.initial.value.
19fa0 49 4e 49 54 2d 56 41 4c 55 45 2e 20 53 65 65 20 60 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 27 INIT-VALUE..See.`-reduce-r-from'
19fc0 2e 0a 0a 54 68 69 73 20 69 73 20 74 68 65 20 73 61 6d 65 20 61 73 20 63 61 6c 6c 69 6e 67 20 60 ...This.is.the.same.as.calling.`
19fe0 2d 74 72 65 65 2d 72 65 64 75 63 65 27 20 61 66 74 65 72 20 60 2d 74 72 65 65 2d 6d 61 70 27 0a -tree-reduce'.after.`-tree-map'.
1a000 62 75 74 20 69 73 20 74 77 69 63 65 20 61 73 20 66 61 73 74 20 61 73 20 69 74 20 6f 6e 6c 79 20 but.is.twice.as.fast.as.it.only.
1a020 74 72 61 76 65 72 73 65 20 74 68 65 20 73 74 72 75 63 74 75 72 65 20 6f 6e 63 65 2e 22 0a 20 20 traverse.the.structure.once."...
1a040 28 63 6f 6e 64 0a 20 20 20 28 28 6e 6f 74 20 74 72 65 65 29 20 6e 69 6c 29 0a 20 20 20 28 28 2d (cond....((not.tree).nil)....((-
1a060 63 6f 6e 73 2d 70 61 69 72 3f 20 74 72 65 65 29 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 74 72 65 cons-pair?.tree).(funcall.fn.tre
1a080 65 29 29 0a 20 20 20 28 28 6c 69 73 74 70 20 74 72 65 65 29 0a 20 20 20 20 28 2d 72 65 64 75 63 e))....((listp.tree).....(-reduc
1a0a0 65 2d 72 20 66 6f 6c 64 65 72 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 e-r.folder.(mapcar.(lambda.(x).(
1a0c0 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 20 66 6e 20 66 6f 6c 64 65 72 20 78 29 29 20 74 72 -tree-mapreduce.fn.folder.x)).tr
1a0e0 65 65 29 29 29 0a 20 20 20 28 74 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 74 72 65 65 29 29 29 29 ee)))....(t.(funcall.fn.tree))))
1a100 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 20 28 66 6f ..(defmacro.--tree-mapreduce.(fo
1a120 72 6d 20 66 6f 6c 64 65 72 20 74 72 65 65 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 20 66 6f 72 rm.folder.tree)..."Anaphoric.for
1a140 6d 20 6f 66 20 60 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 27 2e 22 0a 20 20 28 64 65 63 6c m.of.`-tree-mapreduce'."...(decl
1a160 61 72 65 20 28 64 65 62 75 67 20 28 64 65 66 2d 66 6f 72 6d 20 64 65 66 2d 66 6f 72 6d 20 66 6f are.(debug.(def-form.def-form.fo
1a180 72 6d 29 29 29 0a 20 20 60 28 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 20 28 6c 61 6d 62 64 rm)))...`(-tree-mapreduce.(lambd
1a1a0 61 20 28 69 74 29 20 2c 66 6f 72 6d 29 20 28 6c 61 6d 62 64 61 20 28 69 74 20 61 63 63 29 20 2c a.(it).,form).(lambda.(it.acc).,
1a1c0 66 6f 6c 64 65 72 29 20 2c 74 72 65 65 29 29 0a 0a 28 64 65 66 75 6e 20 2d 74 72 65 65 2d 6d 61 folder).,tree))..(defun.-tree-ma
1a1e0 70 20 28 66 6e 20 74 72 65 65 29 0a 20 20 22 41 70 70 6c 79 20 46 4e 20 74 6f 20 65 61 63 68 20 p.(fn.tree)..."Apply.FN.to.each.
1a200 65 6c 65 6d 65 6e 74 20 6f 66 20 54 52 45 45 20 77 68 69 6c 65 20 70 72 65 73 65 72 76 69 6e 67 element.of.TREE.while.preserving
1a220 20 74 68 65 20 74 72 65 65 20 73 74 72 75 63 74 75 72 65 2e 22 0a 20 20 28 63 6f 6e 64 0a 20 20 .the.tree.structure."...(cond...
1a240 20 28 28 6e 6f 74 20 74 72 65 65 29 20 6e 69 6c 29 0a 20 20 20 28 28 2d 63 6f 6e 73 2d 70 61 69 .((not.tree).nil)....((-cons-pai
1a260 72 3f 20 74 72 65 65 29 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 74 72 65 65 29 29 0a 20 20 20 28 r?.tree).(funcall.fn.tree))....(
1a280 28 6c 69 73 74 70 20 74 72 65 65 29 0a 20 20 20 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 (listp.tree).....(mapcar.(lambda
1a2a0 20 28 78 29 20 28 2d 74 72 65 65 2d 6d 61 70 20 66 6e 20 78 29 29 20 74 72 65 65 29 29 0a 20 20 .(x).(-tree-map.fn.x)).tree))...
1a2c0 20 28 74 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 74 72 65 65 29 29 29 29 0a 0a 28 64 65 66 6d 61 .(t.(funcall.fn.tree))))..(defma
1a2e0 63 72 6f 20 2d 2d 74 72 65 65 2d 6d 61 70 20 28 66 6f 72 6d 20 74 72 65 65 29 0a 20 20 22 41 6e cro.--tree-map.(form.tree)..."An
1a300 61 70 68 6f 72 69 63 20 66 6f 72 6d 20 6f 66 20 60 2d 74 72 65 65 2d 6d 61 70 27 2e 22 0a 20 20 aphoric.form.of.`-tree-map'."...
1a320 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 64 65 66 2d 66 6f 72 6d 20 66 6f 72 6d 29 29 (declare.(debug.(def-form.form))
1a340 29 0a 20 20 60 28 2d 74 72 65 65 2d 6d 61 70 20 28 6c 61 6d 62 64 61 20 28 69 74 29 20 2c 66 6f )...`(-tree-map.(lambda.(it).,fo
1a360 72 6d 29 20 2c 74 72 65 65 29 29 0a 0a 28 64 65 66 75 6e 20 2d 74 72 65 65 2d 72 65 64 75 63 65 rm).,tree))..(defun.-tree-reduce
1a380 2d 66 72 6f 6d 20 28 66 6e 20 69 6e 69 74 2d 76 61 6c 75 65 20 74 72 65 65 29 0a 20 20 22 55 73 -from.(fn.init-value.tree)..."Us
1a3a0 65 20 46 4e 20 74 6f 20 72 65 64 75 63 65 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 6c 69 73 74 20 e.FN.to.reduce.elements.of.list.
1a3c0 54 52 45 45 2e 0a 49 66 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 54 52 45 45 20 61 72 65 20 6c 69 TREE..If.elements.of.TREE.are.li
1a3e0 73 74 73 20 74 68 65 6d 73 65 6c 76 65 73 2c 20 61 70 70 6c 79 20 74 68 65 20 72 65 64 75 63 74 sts.themselves,.apply.the.reduct
1a400 69 6f 6e 20 72 65 63 75 72 73 69 76 65 6c 79 2e 0a 0a 46 4e 20 69 73 20 66 69 72 73 74 20 61 70 ion.recursively...FN.is.first.ap
1a420 70 6c 69 65 64 20 74 6f 20 49 4e 49 54 2d 56 41 4c 55 45 20 61 6e 64 20 66 69 72 73 74 20 65 6c plied.to.INIT-VALUE.and.first.el
1a440 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 6c 69 73 74 2c 0a 74 68 65 6e 20 6f 6e 20 74 68 69 73 20 ement.of.the.list,.then.on.this.
1a460 72 65 73 75 6c 74 20 61 6e 64 20 73 65 63 6f 6e 64 20 65 6c 65 6d 65 6e 74 20 66 72 6f 6d 20 74 result.and.second.element.from.t
1a480 68 65 20 6c 69 73 74 20 65 74 63 2e 0a 0a 54 68 65 20 69 6e 69 74 69 61 6c 20 76 61 6c 75 65 20 he.list.etc...The.initial.value.
1a4a0 69 73 20 69 67 6e 6f 72 65 64 20 6f 6e 20 63 6f 6e 73 20 70 61 69 72 73 20 61 73 20 74 68 65 79 is.ignored.on.cons.pairs.as.they
1a4c0 20 61 6c 77 61 79 73 20 63 6f 6e 74 61 69 6e 0a 74 77 6f 20 65 6c 65 6d 65 6e 74 73 2e 22 0a 20 .always.contain.two.elements."..
1a4e0 20 28 63 6f 6e 64 0a 20 20 20 28 28 6e 6f 74 20 74 72 65 65 29 20 6e 69 6c 29 0a 20 20 20 28 28 .(cond....((not.tree).nil)....((
1a500 2d 63 6f 6e 73 2d 70 61 69 72 3f 20 74 72 65 65 29 20 74 72 65 65 29 0a 20 20 20 28 28 6c 69 73 -cons-pair?.tree).tree)....((lis
1a520 74 70 20 74 72 65 65 29 0a 20 20 20 20 28 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 20 66 6e 20 tp.tree).....(-reduce-r-from.fn.
1a540 69 6e 69 74 2d 76 61 6c 75 65 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 init-value.(mapcar.(lambda.(x).(
1a560 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 66 6e 20 69 6e 69 74 2d 76 61 6c 75 65 20 -tree-reduce-from.fn.init-value.
1a580 78 29 29 20 74 72 65 65 29 29 29 0a 20 20 20 28 74 20 74 72 65 65 29 29 29 0a 0a 28 64 65 66 6d x)).tree)))....(t.tree)))..(defm
1a5a0 61 63 72 6f 20 2d 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 28 66 6f 72 6d 20 69 6e acro.--tree-reduce-from.(form.in
1a5c0 69 74 2d 76 61 6c 75 65 20 74 72 65 65 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 20 66 6f 72 6d it-value.tree)..."Anaphoric.form
1a5e0 20 6f 66 20 60 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 72 6f 6d 27 2e 22 0a 20 20 28 64 65 63 .of.`-tree-reduce-from'."...(dec
1a600 6c 61 72 65 20 28 64 65 62 75 67 20 28 64 65 66 2d 66 6f 72 6d 20 66 6f 72 6d 20 66 6f 72 6d 29 lare.(debug.(def-form.form.form)
1a620 29 29 0a 20 20 60 28 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 28 6c 61 6d 62 64 61 ))...`(-tree-reduce-from.(lambda
1a640 20 28 69 74 20 61 63 63 29 20 2c 66 6f 72 6d 29 20 2c 69 6e 69 74 2d 76 61 6c 75 65 20 2c 74 72 .(it.acc).,form).,init-value.,tr
1a660 65 65 29 29 0a 0a 28 64 65 66 75 6e 20 2d 74 72 65 65 2d 72 65 64 75 63 65 20 28 66 6e 20 74 72 ee))..(defun.-tree-reduce.(fn.tr
1a680 65 65 29 0a 20 20 22 55 73 65 20 46 4e 20 74 6f 20 72 65 64 75 63 65 20 65 6c 65 6d 65 6e 74 73 ee)..."Use.FN.to.reduce.elements
1a6a0 20 6f 66 20 6c 69 73 74 20 54 52 45 45 2e 0a 49 66 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 54 52 .of.list.TREE..If.elements.of.TR
1a6c0 45 45 20 61 72 65 20 6c 69 73 74 73 20 74 68 65 6d 73 65 6c 76 65 73 2c 20 61 70 70 6c 79 20 74 EE.are.lists.themselves,.apply.t
1a6e0 68 65 20 72 65 64 75 63 74 69 6f 6e 20 72 65 63 75 72 73 69 76 65 6c 79 2e 0a 0a 46 4e 20 69 73 he.reduction.recursively...FN.is
1a700 20 66 69 72 73 74 20 61 70 70 6c 69 65 64 20 74 6f 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 .first.applied.to.first.element.
1a720 6f 66 20 74 68 65 20 6c 69 73 74 20 61 6e 64 20 73 65 63 6f 6e 64 0a 65 6c 65 6d 65 6e 74 2c 20 of.the.list.and.second.element,.
1a740 74 68 65 6e 20 6f 6e 20 74 68 69 73 20 72 65 73 75 6c 74 20 61 6e 64 20 74 68 69 72 64 20 65 6c then.on.this.result.and.third.el
1a760 65 6d 65 6e 74 20 66 72 6f 6d 20 74 68 65 20 6c 69 73 74 20 65 74 63 2e 0a 0a 53 65 65 20 60 2d ement.from.the.list.etc...See.`-
1a780 72 65 64 75 63 65 2d 72 27 20 66 6f 72 20 68 6f 77 20 65 78 61 63 74 6c 79 20 61 72 65 20 6c 69 reduce-r'.for.how.exactly.are.li
1a7a0 73 74 73 20 6f 66 20 7a 65 72 6f 20 6f 72 20 6f 6e 65 20 65 6c 65 6d 65 6e 74 20 68 61 6e 64 6c sts.of.zero.or.one.element.handl
1a7c0 65 64 2e 22 0a 20 20 28 63 6f 6e 64 0a 20 20 20 28 28 6e 6f 74 20 74 72 65 65 29 20 6e 69 6c 29 ed."...(cond....((not.tree).nil)
1a7e0 0a 20 20 20 28 28 2d 63 6f 6e 73 2d 70 61 69 72 3f 20 74 72 65 65 29 20 74 72 65 65 29 0a 20 20 ....((-cons-pair?.tree).tree)...
1a800 20 28 28 6c 69 73 74 70 20 74 72 65 65 29 0a 20 20 20 20 28 2d 72 65 64 75 63 65 2d 72 20 66 6e .((listp.tree).....(-reduce-r.fn
1a820 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 2d 74 72 65 65 2d 72 65 64 75 .(mapcar.(lambda.(x).(-tree-redu
1a840 63 65 20 66 6e 20 78 29 29 20 74 72 65 65 29 29 29 0a 20 20 20 28 74 20 74 72 65 65 29 29 29 0a ce.fn.x)).tree)))....(t.tree))).
1a860 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 74 72 65 65 2d 72 65 64 75 63 65 20 28 66 6f 72 6d 20 74 .(defmacro.--tree-reduce.(form.t
1a880 72 65 65 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 20 66 6f 72 6d 20 6f 66 20 60 2d 74 72 65 65 ree)..."Anaphoric.form.of.`-tree
1a8a0 2d 72 65 64 75 63 65 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 64 65 -reduce'."...(declare.(debug.(de
1a8c0 66 2d 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 60 28 2d 74 72 65 65 2d 72 65 64 75 63 65 20 f-form.form)))...`(-tree-reduce.
1a8e0 28 6c 61 6d 62 64 61 20 28 69 74 20 61 63 63 29 20 2c 66 6f 72 6d 29 20 2c 74 72 65 65 29 29 0a (lambda.(it.acc).,form).,tree)).
1a900 0a 28 64 65 66 75 6e 20 2d 74 72 65 65 2d 6d 61 70 2d 6e 6f 64 65 73 20 28 70 72 65 64 20 66 75 .(defun.-tree-map-nodes.(pred.fu
1a920 6e 20 74 72 65 65 29 0a 20 20 22 43 61 6c 6c 20 46 55 4e 20 6f 6e 20 65 61 63 68 20 6e 6f 64 65 n.tree)..."Call.FUN.on.each.node
1a940 20 6f 66 20 54 52 45 45 20 74 68 61 74 20 73 61 74 69 73 66 69 65 73 20 50 52 45 44 2e 0a 0a 49 .of.TREE.that.satisfies.PRED...I
1a960 66 20 50 52 45 44 20 72 65 74 75 72 6e 73 20 6e 69 6c 2c 20 63 6f 6e 74 69 6e 75 65 20 64 65 73 f.PRED.returns.nil,.continue.des
1a980 63 65 6e 64 69 6e 67 20 64 6f 77 6e 20 74 68 69 73 20 6e 6f 64 65 2e 20 20 49 66 20 50 52 45 44 cending.down.this.node...If.PRED
1a9a0 0a 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 61 70 70 6c 79 20 46 55 4e 20 74 6f 20 74 .returns.non-nil,.apply.FUN.to.t
1a9c0 68 69 73 20 6e 6f 64 65 20 61 6e 64 20 64 6f 20 6e 6f 74 20 64 65 73 63 65 6e 64 0a 66 75 72 74 his.node.and.do.not.descend.furt
1a9e0 68 65 72 2e 22 0a 20 20 28 69 66 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 74 72 65 65 29 0a her."...(if.(funcall.pred.tree).
1aa00 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 66 75 6e 20 74 72 65 65 29 0a 20 20 20 20 28 69 66 ......(funcall.fun.tree).....(if
1aa20 20 28 61 6e 64 20 28 6c 69 73 74 70 20 74 72 65 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .(and.(listp.tree)..............
1aa40 28 6e 6f 74 20 28 2d 63 6f 6e 73 2d 70 61 69 72 3f 20 74 72 65 65 29 29 29 0a 20 20 20 20 20 20 (not.(-cons-pair?.tree))).......
1aa60 20 20 28 2d 6d 61 70 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 2d 74 72 65 65 2d 6d 61 70 2d 6e ..(-map.(lambda.(x).(-tree-map-n
1aa80 6f 64 65 73 20 70 72 65 64 20 66 75 6e 20 78 29 29 20 74 72 65 65 29 0a 20 20 20 20 20 20 74 72 odes.pred.fun.x)).tree).......tr
1aaa0 65 65 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 74 72 65 65 2d 6d 61 70 2d 6e 6f 64 65 ee)))..(defmacro.--tree-map-node
1aac0 73 20 28 70 72 65 64 20 66 6f 72 6d 20 74 72 65 65 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 20 s.(pred.form.tree)..."Anaphoric.
1aae0 66 6f 72 6d 20 6f 66 20 60 2d 74 72 65 65 2d 6d 61 70 2d 6e 6f 64 65 73 27 2e 22 0a 20 20 28 64 form.of.`-tree-map-nodes'."...(d
1ab00 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 64 65 66 2d 66 6f 72 6d 20 64 65 66 2d 66 6f 72 6d eclare.(debug.(def-form.def-form
1ab20 20 66 6f 72 6d 29 29 29 0a 20 20 60 28 2d 74 72 65 65 2d 6d 61 70 2d 6e 6f 64 65 73 20 28 6c 61 .form)))...`(-tree-map-nodes.(la
1ab40 6d 62 64 61 20 28 69 74 29 20 2c 70 72 65 64 29 20 28 6c 61 6d 62 64 61 20 28 69 74 29 20 2c 66 mbda.(it).,pred).(lambda.(it).,f
1ab60 6f 72 6d 29 20 2c 74 72 65 65 29 29 0a 0a 28 64 65 66 75 6e 20 2d 74 72 65 65 2d 73 65 71 20 28 orm).,tree))..(defun.-tree-seq.(
1ab80 62 72 61 6e 63 68 20 63 68 69 6c 64 72 65 6e 20 74 72 65 65 29 0a 20 20 22 52 65 74 75 72 6e 20 branch.children.tree)..."Return.
1aba0 61 20 73 65 71 75 65 6e 63 65 20 6f 66 20 74 68 65 20 6e 6f 64 65 73 20 69 6e 20 54 52 45 45 2c a.sequence.of.the.nodes.in.TREE,
1abc0 20 69 6e 20 64 65 70 74 68 2d 66 69 72 73 74 20 73 65 61 72 63 68 20 6f 72 64 65 72 2e 0a 0a 42 .in.depth-first.search.order...B
1abe0 52 41 4e 43 48 20 69 73 20 61 20 70 72 65 64 69 63 61 74 65 20 6f 66 20 6f 6e 65 20 61 72 67 75 RANCH.is.a.predicate.of.one.argu
1ac00 6d 65 6e 74 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 74 68 65 ment.that.returns.non-nil.if.the
1ac20 0a 70 61 73 73 65 64 20 61 72 67 75 6d 65 6e 74 20 69 73 20 61 20 62 72 61 6e 63 68 2c 20 74 68 .passed.argument.is.a.branch,.th
1ac40 61 74 20 69 73 2c 20 61 20 6e 6f 64 65 20 74 68 61 74 20 63 61 6e 20 68 61 76 65 20 63 68 69 6c at.is,.a.node.that.can.have.chil
1ac60 64 72 65 6e 2e 0a 0a 43 48 49 4c 44 52 45 4e 20 69 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 6f 66 dren...CHILDREN.is.a.function.of
1ac80 20 6f 6e 65 20 61 72 67 75 6d 65 6e 74 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 74 68 65 20 63 .one.argument.that.returns.the.c
1aca0 68 69 6c 64 72 65 6e 0a 6f 66 20 74 68 65 20 70 61 73 73 65 64 20 62 72 61 6e 63 68 20 6e 6f 64 hildren.of.the.passed.branch.nod
1acc0 65 2e 0a 0a 4e 6f 6e 2d 62 72 61 6e 63 68 20 6e 6f 64 65 73 20 61 72 65 20 73 69 6d 70 6c 79 20 e...Non-branch.nodes.are.simply.
1ace0 63 6f 70 69 65 64 2e 22 0a 20 20 28 63 6f 6e 73 20 74 72 65 65 0a 20 20 20 20 20 20 20 20 28 77 copied."...(cons.tree.........(w
1ad00 68 65 6e 20 28 66 75 6e 63 61 6c 6c 20 62 72 61 6e 63 68 20 74 72 65 65 29 0a 20 20 20 20 20 20 hen.(funcall.branch.tree).......
1ad20 20 20 20 20 28 2d 6d 61 70 63 61 74 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 2d 74 72 65 65 2d ....(-mapcat.(lambda.(x).(-tree-
1ad40 73 65 71 20 62 72 61 6e 63 68 20 63 68 69 6c 64 72 65 6e 20 78 29 29 0a 20 20 20 20 20 20 20 20 seq.branch.children.x)).........
1ad60 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 63 68 69 6c 64 72 65 6e 20 74 72 65 ...........(funcall.children.tre
1ad80 65 29 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 74 72 65 65 2d 73 65 71 20 28 62 72 e)))))..(defmacro.--tree-seq.(br
1ada0 61 6e 63 68 20 63 68 69 6c 64 72 65 6e 20 74 72 65 65 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 anch.children.tree)..."Anaphoric
1adc0 20 66 6f 72 6d 20 6f 66 20 60 2d 74 72 65 65 2d 73 65 71 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 .form.of.`-tree-seq'."...(declar
1ade0 65 20 28 64 65 62 75 67 20 28 64 65 66 2d 66 6f 72 6d 20 64 65 66 2d 66 6f 72 6d 20 66 6f 72 6d e.(debug.(def-form.def-form.form
1ae00 29 29 29 0a 20 20 60 28 2d 74 72 65 65 2d 73 65 71 20 28 6c 61 6d 62 64 61 20 28 69 74 29 20 2c )))...`(-tree-seq.(lambda.(it).,
1ae20 62 72 61 6e 63 68 29 20 28 6c 61 6d 62 64 61 20 28 69 74 29 20 2c 63 68 69 6c 64 72 65 6e 29 20 branch).(lambda.(it).,children).
1ae40 2c 74 72 65 65 29 29 0a 0a 28 64 65 66 75 6e 20 2d 63 6c 6f 6e 65 20 28 6c 69 73 74 29 0a 20 20 ,tree))..(defun.-clone.(list)...
1ae60 22 43 72 65 61 74 65 20 61 20 64 65 65 70 20 63 6f 70 79 20 6f 66 20 4c 49 53 54 2e 0a 54 68 65 "Create.a.deep.copy.of.LIST..The
1ae80 20 6e 65 77 20 6c 69 73 74 20 68 61 73 20 74 68 65 20 73 61 6d 65 20 65 6c 65 6d 65 6e 74 73 20 .new.list.has.the.same.elements.
1aea0 61 6e 64 20 73 74 72 75 63 74 75 72 65 20 62 75 74 20 61 6c 6c 20 63 6f 6e 73 20 61 72 65 0a 72 and.structure.but.all.cons.are.r
1aec0 65 70 6c 61 63 65 64 20 77 69 74 68 20 6e 65 77 20 6f 6e 65 73 2e 20 20 54 68 69 73 20 69 73 20 eplaced.with.new.ones...This.is.
1aee0 75 73 65 66 75 6c 20 77 68 65 6e 20 79 6f 75 20 6e 65 65 64 20 74 6f 20 63 6c 6f 6e 65 20 61 0a useful.when.you.need.to.clone.a.
1af00 73 74 72 75 63 74 75 72 65 20 73 75 63 68 20 61 73 20 70 6c 69 73 74 20 6f 72 20 61 6c 69 73 74 structure.such.as.plist.or.alist
1af20 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 ."...(declare.(pure.t).(side-eff
1af40 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 2d 74 72 65 65 2d 6d 61 70 20 27 69 64 65 6e 74 ect-free.t))...(-tree-map.'ident
1af60 69 74 79 20 6c 69 73 74 29 29 0a 0c 0a 3b 3b 3b 20 43 6f 6d 62 69 6e 61 74 6f 72 73 0a 0a 28 64 ity.list))...;;;.Combinators..(d
1af80 65 66 61 6c 69 61 73 20 27 2d 70 61 72 74 69 61 6c 20 23 27 61 70 70 6c 79 2d 70 61 72 74 69 61 efalias.'-partial.#'apply-partia
1afa0 6c 6c 79 29 0a 0a 28 64 65 66 75 6e 20 2d 72 70 61 72 74 69 61 6c 20 28 66 6e 20 26 72 65 73 74 lly)..(defun.-rpartial.(fn.&rest
1afc0 20 61 72 67 73 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 .args)..."Return.a.function.that
1afe0 20 69 73 20 61 20 70 61 72 74 69 61 6c 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 6f 66 20 46 4e 20 .is.a.partial.application.of.FN.
1b000 74 6f 20 41 52 47 53 2e 0a 41 52 47 53 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 6c to.ARGS..ARGS.is.a.list.of.the.l
1b020 61 73 74 20 4e 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 70 61 73 73 20 74 6f 20 46 4e 2e 20 20 ast.N.arguments.to.pass.to.FN...
1b040 54 68 65 20 72 65 73 75 6c 74 0a 69 73 20 61 20 6e 65 77 20 66 75 6e 63 74 69 6f 6e 20 77 68 69 The.result.is.a.new.function.whi
1b060 63 68 20 64 6f 65 73 20 74 68 65 20 73 61 6d 65 20 61 73 20 46 4e 2c 20 65 78 63 65 70 74 20 74 ch.does.the.same.as.FN,.except.t
1b080 68 61 74 20 74 68 65 20 6c 61 73 74 0a 4e 20 61 72 67 75 6d 65 6e 74 73 20 61 72 65 20 66 69 78 hat.the.last.N.arguments.are.fix
1b0a0 65 64 20 61 74 20 74 68 65 20 76 61 6c 75 65 73 20 77 69 74 68 20 77 68 69 63 68 20 74 68 69 73 ed.at.the.values.with.which.this
1b0c0 20 66 75 6e 63 74 69 6f 6e 20 77 61 73 0a 63 61 6c 6c 65 64 2e 20 20 54 68 69 73 20 69 73 20 6c .function.was.called...This.is.l
1b0e0 69 6b 65 20 60 2d 70 61 72 74 69 61 6c 27 2c 20 65 78 63 65 70 74 20 74 68 65 20 61 72 67 75 6d ike.`-partial',.except.the.argum
1b100 65 6e 74 73 20 61 72 65 20 66 69 78 65 64 0a 73 74 61 72 74 69 6e 67 20 66 72 6f 6d 20 74 68 65 ents.are.fixed.starting.from.the
1b120 20 72 69 67 68 74 20 72 61 74 68 65 72 20 74 68 61 6e 20 74 68 65 20 6c 65 66 74 2e 22 0a 20 20 .right.rather.than.the.left."...
1b140 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 (declare.(pure.t).(side-effect-f
1b160 72 65 65 20 74 29 29 0a 20 20 28 6c 61 6d 62 64 61 20 28 26 72 65 73 74 20 61 72 67 73 2d 62 65 ree.t))...(lambda.(&rest.args-be
1b180 66 6f 72 65 29 20 28 61 70 70 6c 79 20 66 6e 20 28 61 70 70 65 6e 64 20 61 72 67 73 2d 62 65 66 fore).(apply.fn.(append.args-bef
1b1a0 6f 72 65 20 61 72 67 73 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 6a 75 78 74 20 28 26 72 65 73 ore.args))))..(defun.-juxt.(&res
1b1c0 74 20 66 6e 73 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 t.fns)..."Return.a.function.that
1b1e0 20 69 73 20 74 68 65 20 6a 75 78 74 61 70 6f 73 69 74 69 6f 6e 20 6f 66 20 46 4e 53 2e 0a 54 68 .is.the.juxtaposition.of.FNS..Th
1b200 65 20 72 65 74 75 72 6e 65 64 20 66 75 6e 63 74 69 6f 6e 20 74 61 6b 65 73 20 61 20 76 61 72 69 e.returned.function.takes.a.vari
1b220 61 62 6c 65 20 6e 75 6d 62 65 72 20 6f 66 20 41 52 47 53 2c 20 61 70 70 6c 69 65 73 0a 65 61 63 able.number.of.ARGS,.applies.eac
1b240 68 20 6f 66 20 46 4e 53 20 69 6e 20 74 75 72 6e 20 74 6f 20 41 52 47 53 2c 20 61 6e 64 20 72 65 h.of.FNS.in.turn.to.ARGS,.and.re
1b260 74 75 72 6e 73 20 74 68 65 20 6c 69 73 74 20 6f 66 20 72 65 73 75 6c 74 73 2e 22 0a 20 20 28 64 turns.the.list.of.results."...(d
1b280 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 eclare.(pure.t).(side-effect-fre
1b2a0 65 20 74 29 29 0a 20 20 28 6c 61 6d 62 64 61 20 28 26 72 65 73 74 20 61 72 67 73 29 20 28 6d 61 e.t))...(lambda.(&rest.args).(ma
1b2c0 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 61 70 70 6c 79 20 78 20 61 72 67 73 29 29 pcar.(lambda.(x).(apply.x.args))
1b2e0 20 66 6e 73 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 63 6f 6d 70 6f 73 65 20 28 26 72 65 73 74 20 .fns)))..(defun.-compose.(&rest.
1b300 66 6e 73 29 0a 20 20 22 43 6f 6d 70 6f 73 65 20 46 4e 53 20 69 6e 74 6f 20 61 20 73 69 6e 67 6c fns)..."Compose.FNS.into.a.singl
1b320 65 20 63 6f 6d 70 6f 73 69 74 65 20 66 75 6e 63 74 69 6f 6e 2e 0a 52 65 74 75 72 6e 20 61 20 66 e.composite.function..Return.a.f
1b340 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 74 61 6b 65 73 20 61 20 76 61 72 69 61 62 6c 65 20 6e 75 unction.that.takes.a.variable.nu
1b360 6d 62 65 72 20 6f 66 20 41 52 47 53 2c 20 61 70 70 6c 69 65 73 0a 74 68 65 20 6c 61 73 74 20 66 mber.of.ARGS,.applies.the.last.f
1b380 75 6e 63 74 69 6f 6e 20 69 6e 20 46 4e 53 20 74 6f 20 41 52 47 53 2c 20 61 6e 64 20 72 65 74 75 unction.in.FNS.to.ARGS,.and.retu
1b3a0 72 6e 73 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 0a 63 61 6c 6c 69 6e 67 20 65 61 63 68 20 72 rns.the.result.of.calling.each.r
1b3c0 65 6d 61 69 6e 69 6e 67 20 66 75 6e 63 74 69 6f 6e 20 6f 6e 20 74 68 65 20 72 65 73 75 6c 74 20 emaining.function.on.the.result.
1b3e0 6f 66 20 74 68 65 20 70 72 65 76 69 6f 75 73 0a 66 75 6e 63 74 69 6f 6e 2c 20 72 69 67 68 74 2d of.the.previous.function,.right-
1b400 74 6f 2d 6c 65 66 74 2e 20 20 49 66 20 6e 6f 20 46 4e 53 20 61 72 65 20 67 69 76 65 6e 2c 20 72 to-left...If.no.FNS.are.given,.r
1b420 65 74 75 72 6e 20 61 20 76 61 72 69 61 64 69 63 0a 60 69 64 65 6e 74 69 74 79 27 20 66 75 6e 63 eturn.a.variadic.`identity'.func
1b440 74 69 6f 6e 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 tion."...(declare.(pure.t).(side
1b460 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 6c 65 74 2a 20 28 28 66 6e 73 20 28 -effect-free.t))...(let*.((fns.(
1b480 6e 72 65 76 65 72 73 65 20 66 6e 73 29 29 0a 20 20 20 20 20 20 20 20 20 28 68 65 61 64 20 28 63 nreverse.fns))..........(head.(c
1b4a0 61 72 20 66 6e 73 29 29 0a 20 20 20 20 20 20 20 20 20 28 74 61 69 6c 20 28 63 64 72 20 66 6e 73 ar.fns))..........(tail.(cdr.fns
1b4c0 29 29 29 0a 20 20 20 20 28 63 6f 6e 64 20 28 74 61 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 28 ))).....(cond.(tail............(
1b4e0 6c 61 6d 62 64 61 20 28 26 72 65 73 74 20 61 72 67 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 lambda.(&rest.args).............
1b500 20 28 2d 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 28 66 75 6e 63 61 6c 6c 20 69 74 20 61 63 63 29 .(--reduce-from.(funcall.it.acc)
1b520 20 28 61 70 70 6c 79 20 68 65 61 64 20 61 72 67 73 29 20 74 61 69 6c 29 29 29 0a 20 20 20 20 20 .(apply.head.args).tail)))......
1b540 20 20 20 20 20 28 66 6e 73 20 68 65 61 64 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 6c 61 6d 62 .....(fns.head)...........((lamb
1b560 64 61 20 28 26 6f 70 74 69 6f 6e 61 6c 20 61 72 67 20 26 72 65 73 74 20 5f 29 20 61 72 67 29 29 da.(&optional.arg.&rest._).arg))
1b580 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 61 70 70 6c 69 66 79 20 28 66 6e 29 0a 20 20 22 52 65 74 )))..(defun.-applify.(fn)..."Ret
1b5a0 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 61 70 70 6c 69 65 73 20 46 4e 20 74 urn.a.function.that.applies.FN.t
1b5c0 6f 20 61 20 73 69 6e 67 6c 65 20 6c 69 73 74 20 6f 66 20 61 72 67 73 2e 0a 54 68 69 73 20 63 68 o.a.single.list.of.args..This.ch
1b5e0 61 6e 67 65 73 20 74 68 65 20 61 72 69 74 79 20 6f 66 20 46 4e 20 66 72 6f 6d 20 74 61 6b 69 6e anges.the.arity.of.FN.from.takin
1b600 67 20 4e 20 64 69 73 74 69 6e 63 74 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 0a 74 61 6b 69 6e 67 g.N.distinct.arguments.to.taking
1b620 20 31 20 61 72 67 75 6d 65 6e 74 20 77 68 69 63 68 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 4e .1.argument.which.is.a.list.of.N
1b640 20 61 72 67 75 6d 65 6e 74 73 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 .arguments."...(declare.(pure.t)
1b660 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 6c 61 6d 62 64 61 .(side-effect-free.t))...(lambda
1b680 20 28 61 72 67 73 29 20 28 61 70 70 6c 79 20 66 6e 20 61 72 67 73 29 29 29 0a 0a 28 64 65 66 75 .(args).(apply.fn.args)))..(defu
1b6a0 6e 20 2d 6f 6e 20 28 6f 70 20 74 72 61 6e 73 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 66 75 6e n.-on.(op.trans)..."Return.a.fun
1b6c0 63 74 69 6f 6e 20 74 68 61 74 20 63 61 6c 6c 73 20 54 52 41 4e 53 20 6f 6e 20 65 61 63 68 20 61 ction.that.calls.TRANS.on.each.a
1b6e0 72 67 20 61 6e 64 20 4f 50 20 6f 6e 20 74 68 65 20 72 65 73 75 6c 74 73 2e 0a 54 68 65 20 72 65 rg.and.OP.on.the.results..The.re
1b700 74 75 72 6e 65 64 20 66 75 6e 63 74 69 6f 6e 20 74 61 6b 65 73 20 61 20 76 61 72 69 61 62 6c 65 turned.function.takes.a.variable
1b720 20 6e 75 6d 62 65 72 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 2c 20 63 61 6c 6c 73 0a 74 68 65 20 .number.of.arguments,.calls.the.
1b740 66 75 6e 63 74 69 6f 6e 20 54 52 41 4e 53 20 6f 6e 20 65 61 63 68 20 6f 6e 65 20 69 6e 20 74 75 function.TRANS.on.each.one.in.tu
1b760 72 6e 2c 20 61 6e 64 20 74 68 65 6e 20 70 61 73 73 65 73 20 74 68 6f 73 65 0a 72 65 73 75 6c 74 rn,.and.then.passes.those.result
1b780 73 20 61 73 20 74 68 65 20 6c 69 73 74 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 4f 50 s.as.the.list.of.arguments.to.OP
1b7a0 2c 20 69 6e 20 74 68 65 20 73 61 6d 65 20 6f 72 64 65 72 2e 0a 0a 46 6f 72 20 65 78 61 6d 70 6c ,.in.the.same.order...For.exampl
1b7c0 65 2c 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 70 61 69 72 73 20 6f 66 20 65 78 70 72 65 73 e,.the.following.pairs.of.expres
1b7e0 73 69 6f 6e 73 20 61 72 65 20 6d 6f 72 61 6c 6c 79 0a 65 71 75 69 76 61 6c 65 6e 74 3a 0a 0a 20 sions.are.morally.equivalent:...
1b800 20 28 66 75 6e 63 61 6c 6c 20 28 2d 6f 6e 20 23 5c 5c 3d 27 2b 20 23 5c 5c 3d 27 31 2b 29 20 31 .(funcall.(-on.#\\='+.#\\='1+).1
1b820 20 32 20 33 29 20 3d 20 28 2b 20 28 31 2b 20 31 29 20 28 31 2b 20 32 29 20 28 31 2b 20 33 29 29 .2.3).=.(+.(1+.1).(1+.2).(1+.3))
1b840 0a 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 6f 6e 20 23 5c 5c 3d 27 2b 20 23 5c 5c 3d 27 31 2b 29 ...(funcall.(-on.#\\='+.#\\='1+)
1b860 29 20 20 20 20 20 20 20 3d 20 28 2b 29 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 ).......=.(+)"...(declare.(pure.
1b880 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 6c 61 6d 62 t).(side-effect-free.t))...(lamb
1b8a0 64 61 20 28 26 72 65 73 74 20 61 72 67 73 29 0a 20 20 20 20 3b 3b 20 54 68 69 73 20 75 6e 72 6f da.(&rest.args).....;;.This.unro
1b8c0 6c 6c 69 6e 67 20 73 65 65 6d 73 20 74 6f 20 62 65 20 61 20 72 65 6c 61 74 69 76 65 6c 79 20 63 lling.seems.to.be.a.relatively.c
1b8e0 68 65 61 70 20 77 61 79 20 74 6f 20 6b 65 65 70 20 74 68 65 0a 20 20 20 20 3b 3b 20 6f 76 65 72 heap.way.to.keep.the.....;;.over
1b900 68 65 61 64 20 6f 66 20 60 6d 61 70 63 61 72 27 20 2b 20 60 61 70 70 6c 79 27 20 69 6e 20 63 68 head.of.`mapcar'.+.`apply'.in.ch
1b920 65 63 6b 2e 0a 20 20 20 20 28 63 6f 6e 64 20 28 28 63 64 64 72 20 61 72 67 73 29 0a 20 20 20 20 eck......(cond.((cddr.args).....
1b940 20 20 20 20 20 20 20 28 61 70 70 6c 79 20 6f 70 20 28 6d 61 70 63 61 72 20 74 72 61 6e 73 20 61 .......(apply.op.(mapcar.trans.a
1b960 72 67 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 63 64 72 20 61 72 67 73 29 0a 20 20 20 rgs)))...........((cdr.args)....
1b980 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 6f 70 20 28 66 75 6e 63 61 6c 6c 20 74 72 61 ........(funcall.op.(funcall.tra
1b9a0 6e 73 20 28 63 61 72 20 61 72 67 73 29 29 20 28 66 75 6e 63 61 6c 6c 20 74 72 61 6e 73 20 28 63 ns.(car.args)).(funcall.trans.(c
1b9c0 61 64 72 20 61 72 67 73 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 61 72 67 73 0a 20 20 20 adr.args))))...........(args....
1b9e0 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 6f 70 20 28 66 75 6e 63 61 6c 6c 20 74 72 61 ........(funcall.op.(funcall.tra
1ba00 6e 73 20 28 63 61 72 20 61 72 67 73 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 66 75 6e ns.(car.args))))...........((fun
1ba20 63 61 6c 6c 20 6f 70 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 66 6c 69 70 20 28 66 6e 29 0a call.op)))))..(defun.-flip.(fn).
1ba40 20 20 22 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 63 61 6c 6c 73 20 .."Return.a.function.that.calls.
1ba60 46 4e 20 77 69 74 68 20 69 74 73 20 61 72 67 75 6d 65 6e 74 73 20 72 65 76 65 72 73 65 64 2e 0a FN.with.its.arguments.reversed..
1ba80 54 68 65 20 72 65 74 75 72 6e 65 64 20 66 75 6e 63 74 69 6f 6e 20 74 61 6b 65 73 20 74 68 65 20 The.returned.function.takes.the.
1baa0 73 61 6d 65 20 6e 75 6d 62 65 72 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 20 61 73 20 46 4e 2e 0a same.number.of.arguments.as.FN..
1bac0 0a 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 77 6f 20 .For.example,.the.following.two.
1bae0 65 78 70 72 65 73 73 69 6f 6e 73 20 61 72 65 20 6d 6f 72 61 6c 6c 79 0a 65 71 75 69 76 61 6c 65 expressions.are.morally.equivale
1bb00 6e 74 3a 0a 0a 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 66 6c 69 70 20 23 5c 5c 3d 27 2d 29 20 31 nt:....(funcall.(-flip.#\\='-).1
1bb20 20 32 29 20 3d 20 28 2d 20 32 20 31 29 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 72 6f 74 61 74 .2).=.(-.2.1)..See.also:.`-rotat
1bb40 65 2d 61 72 67 73 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 e-args'."...(declare.(pure.t).(s
1bb60 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 6c 61 6d 62 64 61 20 28 26 ide-effect-free.t))...(lambda.(&
1bb80 72 65 73 74 20 61 72 67 73 29 20 3b 3b 20 4f 70 65 6e 2d 63 6f 64 65 20 66 6f 72 20 73 70 65 65 rest.args).;;.Open-code.for.spee
1bba0 64 2e 0a 20 20 20 20 28 63 6f 6e 64 20 28 28 63 64 64 72 20 61 72 67 73 29 20 28 61 70 70 6c 79 d......(cond.((cddr.args).(apply
1bbc0 20 66 6e 20 28 6e 72 65 76 65 72 73 65 20 61 72 67 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 .fn.(nreverse.args)))...........
1bbe0 28 28 63 64 72 20 61 72 67 73 29 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 28 63 61 64 72 20 61 72 ((cdr.args).(funcall.fn.(cadr.ar
1bc00 67 73 29 20 28 63 61 72 20 61 72 67 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 61 72 67 73 gs).(car.args)))...........(args
1bc20 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 28 63 61 72 20 61 72 67 73 29 29 29 0a 20 20 20 20 20 20 .(funcall.fn.(car.args))).......
1bc40 20 20 20 20 28 28 66 75 6e 63 61 6c 6c 20 66 6e 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 72 ....((funcall.fn)))))..(defun.-r
1bc60 6f 74 61 74 65 2d 61 72 67 73 20 28 6e 20 66 6e 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 66 75 otate-args.(n.fn)..."Return.a.fu
1bc80 6e 63 74 69 6f 6e 20 74 68 61 74 20 63 61 6c 6c 73 20 46 4e 20 77 69 74 68 20 61 72 67 73 20 72 nction.that.calls.FN.with.args.r
1bca0 6f 74 61 74 65 64 20 4e 20 70 6c 61 63 65 73 20 74 6f 20 74 68 65 20 72 69 67 68 74 2e 0a 54 68 otated.N.places.to.the.right..Th
1bcc0 65 20 72 65 74 75 72 6e 65 64 20 66 75 6e 63 74 69 6f 6e 20 74 61 6b 65 73 20 74 68 65 20 73 61 e.returned.function.takes.the.sa
1bce0 6d 65 20 6e 75 6d 62 65 72 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 20 61 73 20 46 4e 2c 0a 72 6f me.number.of.arguments.as.FN,.ro
1bd00 74 61 74 65 73 20 74 68 65 20 6c 69 73 74 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 20 4e 20 70 6c tates.the.list.of.arguments.N.pl
1bd20 61 63 65 73 20 74 6f 20 74 68 65 20 72 69 67 68 74 20 28 6c 65 66 74 20 69 66 20 4e 20 69 73 0a aces.to.the.right.(left.if.N.is.
1bd40 6e 65 67 61 74 69 76 65 29 20 6a 75 73 74 20 6c 69 6b 65 20 60 2d 72 6f 74 61 74 65 27 2c 20 61 negative).just.like.`-rotate',.a
1bd60 6e 64 20 61 70 70 6c 69 65 73 20 46 4e 20 74 6f 20 74 68 65 20 72 65 73 75 6c 74 2e 0a 0a 53 65 nd.applies.FN.to.the.result...Se
1bd80 65 20 61 6c 73 6f 3a 20 60 2d 66 6c 69 70 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 e.also:.`-flip'."...(declare.(pu
1bda0 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 69 re.t).(side-effect-free.t))...(i
1bdc0 66 20 28 7a 65 72 6f 70 20 6e 29 0a 20 20 20 20 20 20 66 6e 0a 20 20 20 20 28 6c 65 74 20 28 28 f.(zerop.n).......fn.....(let.((
1bde0 65 76 65 6e 20 28 3d 20 28 25 20 6e 20 32 29 20 30 29 29 29 0a 20 20 20 20 20 20 28 6c 61 6d 62 even.(=.(%.n.2).0))).......(lamb
1be00 64 61 20 28 26 72 65 73 74 20 61 72 67 73 29 0a 20 20 20 20 20 20 20 20 28 63 6f 6e 64 20 28 28 da.(&rest.args).........(cond.((
1be20 63 64 64 72 20 61 72 67 73 29 20 3b 3b 20 4f 70 65 6e 2d 63 6f 64 65 20 66 6f 72 20 73 70 65 65 cddr.args).;;.Open-code.for.spee
1be40 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 70 70 6c 79 20 66 6e 20 28 2d 72 6f d.................(apply.fn.(-ro
1be60 74 61 74 65 20 6e 20 61 72 67 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 63 tate.n.args)))...............((c
1be80 64 72 20 61 72 67 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 66 dr.args)................(let.((f
1bea0 73 74 20 28 63 61 72 20 61 72 67 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 st.(car.args))..................
1bec0 20 20 20 20 28 73 6e 64 20 28 63 61 64 72 20 61 72 67 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 ....(snd.(cadr.args)))..........
1bee0 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 28 69 66 20 65 76 65 6e 20 66 73 74 ........(funcall.fn.(if.even.fst
1bf00 20 73 6e 64 29 20 28 69 66 20 65 76 65 6e 20 73 6e 64 20 66 73 74 29 29 29 29 0a 20 20 20 20 20 .snd).(if.even.snd.fst))))......
1bf20 20 20 20 20 20 20 20 20 20 28 61 72 67 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 .........(args................(f
1bf40 75 6e 63 61 6c 6c 20 66 6e 20 28 63 61 72 20 61 72 67 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 uncall.fn.(car.args)))..........
1bf60 20 20 20 20 20 28 28 66 75 6e 63 61 6c 6c 20 66 6e 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e .....((funcall.fn)))))))..(defun
1bf80 20 2d 63 6f 6e 73 74 20 28 63 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e .-const.(c)..."Return.a.function
1bfa0 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 43 20 69 67 6e 6f 72 69 6e 67 20 61 6e 79 20 61 64 64 .that.returns.C.ignoring.any.add
1bfc0 69 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 49 6e 20 74 79 70 65 73 3a 20 61 20 itional.arguments...In.types:.a.
1bfe0 2d 3e 20 62 20 2d 3e 20 61 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 ->.b.->.a"...(declare.(pure.t).(
1c000 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 6c 61 6d 62 64 61 20 28 side-effect-free.t))...(lambda.(
1c020 26 72 65 73 74 20 5f 29 20 63 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 63 75 74 20 28 26 72 &rest._).c))..(defmacro.-cut.(&r
1c040 65 73 74 20 70 61 72 61 6d 73 29 0a 20 20 22 54 61 6b 65 20 6e 2d 61 72 79 20 66 75 6e 63 74 69 est.params)..."Take.n-ary.functi
1c060 6f 6e 20 61 6e 64 20 6e 20 61 72 67 75 6d 65 6e 74 73 20 61 6e 64 20 73 70 65 63 69 61 6c 69 7a on.and.n.arguments.and.specializ
1c080 65 20 73 6f 6d 65 20 6f 66 20 74 68 65 6d 2e 0a 41 72 67 75 6d 65 6e 74 73 20 64 65 6e 6f 74 65 e.some.of.them..Arguments.denote
1c0a0 64 20 62 79 20 3c 3e 20 77 69 6c 6c 20 62 65 20 6c 65 66 74 20 75 6e 73 70 65 63 69 61 6c 69 7a d.by.<>.will.be.left.unspecializ
1c0c0 65 64 2e 0a 0a 53 65 65 20 53 52 46 49 2d 32 36 20 66 6f 72 20 64 65 74 61 69 6c 65 64 20 64 65 ed...See.SRFI-26.for.detailed.de
1c0e0 73 63 72 69 70 74 69 6f 6e 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 26 scription."...(declare.(debug.(&
1c100 6f 70 74 69 6f 6e 61 6c 20 73 65 78 70 20 26 72 65 73 74 20 26 6f 72 20 22 3c 3e 22 20 66 6f 72 optional.sexp.&rest.&or."<>".for
1c120 6d 29 29 29 0a 20 20 28 6c 65 74 2a 20 28 28 69 20 30 29 0a 20 20 20 20 20 20 20 20 20 28 61 72 m)))...(let*.((i.0)..........(ar
1c140 67 73 20 28 2d 2d 6b 65 65 70 20 28 77 68 65 6e 20 28 65 71 20 69 74 20 27 3c 3e 29 0a 20 20 20 gs.(--keep.(when.(eq.it.'<>)....
1c160 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 69 20 28 31 ......................(setq.i.(1
1c180 2b 20 69 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 28 +.i))..........................(
1c1a0 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 28 66 6f 72 6d 61 74 20 22 44 25 64 22 20 69 29 29 29 0a 20 make-symbol.(format."D%d".i)))..
1c1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 72 61 6d 73 29 29 29 0a ......................params))).
1c1e0 20 20 20 20 60 28 6c 61 6d 62 64 61 20 2c 61 72 67 73 0a 20 20 20 20 20 20 20 2c 28 6c 65 74 20 ....`(lambda.,args........,(let.
1c200 28 28 62 6f 64 79 20 28 2d 2d 6d 61 70 20 28 69 66 20 28 65 71 20 69 74 20 27 3c 3e 29 20 28 70 ((body.(--map.(if.(eq.it.'<>).(p
1c220 6f 70 20 61 72 67 73 29 20 69 74 29 20 70 61 72 61 6d 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 op.args).it).params)))..........
1c240 20 28 69 66 20 28 65 71 20 28 63 61 72 20 70 61 72 61 6d 73 29 20 27 3c 3e 29 0a 20 20 20 20 20 .(if.(eq.(car.params).'<>)......
1c260 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 23 27 66 75 6e 63 61 6c 6c 20 62 6f 64 79 29 0a 20 .........(cons.#'funcall.body)..
1c280 20 20 20 20 20 20 20 20 20 20 20 62 6f 64 79 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 6e 6f ...........body)))))..(defun.-no
1c2a0 74 20 28 70 72 65 64 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 70 72 65 64 69 63 61 74 65 20 74 t.(pred)..."Return.a.predicate.t
1c2c0 68 61 74 20 6e 65 67 61 74 65 73 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 50 52 45 44 2e 0a hat.negates.the.result.of.PRED..
1c2e0 54 68 65 20 72 65 74 75 72 6e 65 64 20 70 72 65 64 69 63 61 74 65 20 70 61 73 73 65 73 20 69 74 The.returned.predicate.passes.it
1c300 73 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 50 52 45 44 2e 20 20 49 66 20 50 52 45 44 0a 72 65 s.arguments.to.PRED...If.PRED.re
1c320 74 75 72 6e 73 20 6e 69 6c 2c 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 6e 6f 6e 2d 6e 69 6c turns.nil,.the.result.is.non-nil
1c340 3b 20 6f 74 68 65 72 77 69 73 65 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 6e 69 6c 2e 0a 0a ;.otherwise.the.result.is.nil...
1c360 53 65 65 20 61 6c 73 6f 3a 20 60 2d 61 6e 64 66 6e 27 20 61 6e 64 20 60 2d 6f 72 66 6e 27 2e 22 See.also:.`-andfn'.and.`-orfn'."
1c380 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 ...(declare.(pure.t).(side-effec
1c3a0 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 6c 61 6d 62 64 61 20 28 26 72 65 73 74 20 61 72 67 73 t-free.t))...(lambda.(&rest.args
1c3c0 29 20 28 6e 6f 74 20 28 61 70 70 6c 79 20 70 72 65 64 20 61 72 67 73 29 29 29 29 0a 0a 28 64 65 ).(not.(apply.pred.args))))..(de
1c3e0 66 75 6e 20 2d 6f 72 66 6e 20 28 26 72 65 73 74 20 70 72 65 64 73 29 0a 20 20 22 52 65 74 75 72 fun.-orfn.(&rest.preds)..."Retur
1c400 6e 20 61 20 70 72 65 64 69 63 61 74 65 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 74 68 65 20 66 n.a.predicate.that.returns.the.f
1c420 69 72 73 74 20 6e 6f 6e 2d 6e 69 6c 20 72 65 73 75 6c 74 20 6f 66 20 50 52 45 44 53 2e 0a 54 68 irst.non-nil.result.of.PREDS..Th
1c440 65 20 72 65 74 75 72 6e 65 64 20 70 72 65 64 69 63 61 74 65 20 74 61 6b 65 73 20 61 20 76 61 72 e.returned.predicate.takes.a.var
1c460 69 61 62 6c 65 20 6e 75 6d 62 65 72 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 2c 0a 70 61 73 73 65 iable.number.of.arguments,.passe
1c480 73 20 74 68 65 6d 20 74 6f 20 65 61 63 68 20 70 72 65 64 69 63 61 74 65 20 69 6e 20 50 52 45 44 s.them.to.each.predicate.in.PRED
1c4a0 53 20 69 6e 20 74 75 72 6e 20 75 6e 74 69 6c 20 6f 6e 65 20 6f 66 20 74 68 65 6d 0a 72 65 74 75 S.in.turn.until.one.of.them.retu
1c4c0 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 61 6e 64 20 72 65 74 75 72 6e 73 20 74 68 61 74 20 6e 6f rns.non-nil,.and.returns.that.no
1c4e0 6e 2d 6e 69 6c 20 72 65 73 75 6c 74 20 77 69 74 68 6f 75 74 20 63 61 6c 6c 69 6e 67 0a 74 68 65 n-nil.result.without.calling.the
1c500 20 72 65 6d 61 69 6e 69 6e 67 20 50 52 45 44 53 2e 20 20 49 66 20 61 6c 6c 20 50 52 45 44 53 20 .remaining.PREDS...If.all.PREDS.
1c520 72 65 74 75 72 6e 20 6e 69 6c 2c 20 6f 72 20 69 66 20 6e 6f 20 50 52 45 44 53 20 61 72 65 0a 67 return.nil,.or.if.no.PREDS.are.g
1c540 69 76 65 6e 2c 20 74 68 65 20 72 65 74 75 72 6e 65 64 20 70 72 65 64 69 63 61 74 65 20 72 65 74 iven,.the.returned.predicate.ret
1c560 75 72 6e 73 20 6e 69 6c 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 61 6e 64 66 6e 27 20 61 6e urns.nil...See.also:.`-andfn'.an
1c580 64 20 60 2d 6e 6f 74 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 d.`-not'."...(declare.(pure.t).(
1c5a0 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 3b 3b 20 4f 70 65 6e 2d 63 side-effect-free.t))...;;.Open-c
1c5c0 6f 64 65 20 66 6f 72 20 73 70 65 65 64 2e 0a 20 20 28 63 6f 6e 64 20 28 28 63 64 72 20 70 72 65 ode.for.speed....(cond.((cdr.pre
1c5e0 64 73 29 20 28 6c 61 6d 62 64 61 20 28 26 72 65 73 74 20 61 72 67 73 29 20 28 2d 2d 73 6f 6d 65 ds).(lambda.(&rest.args).(--some
1c600 20 28 61 70 70 6c 79 20 69 74 20 61 72 67 73 29 20 70 72 65 64 73 29 29 29 0a 20 20 20 20 20 20 .(apply.it.args).preds))).......
1c620 20 20 28 70 72 65 64 73 20 28 63 61 72 20 70 72 65 64 73 29 29 0a 20 20 20 20 20 20 20 20 28 23 ..(preds.(car.preds)).........(#
1c640 27 69 67 6e 6f 72 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 61 6e 64 66 6e 20 28 26 72 65 73 74 'ignore)))..(defun.-andfn.(&rest
1c660 20 70 72 65 64 73 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 70 72 65 64 69 63 61 74 65 20 74 68 .preds)..."Return.a.predicate.th
1c680 61 74 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 61 6c 6c 20 50 52 45 44 53 20 at.returns.non-nil.if.all.PREDS.
1c6a0 64 6f 20 73 6f 2e 0a 54 68 65 20 72 65 74 75 72 6e 65 64 20 70 72 65 64 69 63 61 74 65 20 50 20 do.so..The.returned.predicate.P.
1c6c0 74 61 6b 65 73 20 61 20 76 61 72 69 61 62 6c 65 20 6e 75 6d 62 65 72 20 6f 66 20 61 72 67 75 6d takes.a.variable.number.of.argum
1c6e0 65 6e 74 73 20 61 6e 64 0a 70 61 73 73 65 73 20 74 68 65 6d 20 74 6f 20 65 61 63 68 20 70 72 65 ents.and.passes.them.to.each.pre
1c700 64 69 63 61 74 65 20 69 6e 20 50 52 45 44 53 20 69 6e 20 74 75 72 6e 2e 20 20 49 66 20 61 6e 79 dicate.in.PREDS.in.turn...If.any
1c720 20 6f 6e 65 20 6f 66 0a 50 52 45 44 53 20 72 65 74 75 72 6e 73 20 6e 69 6c 2c 20 50 20 61 6c 73 .one.of.PREDS.returns.nil,.P.als
1c740 6f 20 72 65 74 75 72 6e 73 20 6e 69 6c 20 77 69 74 68 6f 75 74 20 63 61 6c 6c 69 6e 67 20 74 68 o.returns.nil.without.calling.th
1c760 65 0a 72 65 6d 61 69 6e 69 6e 67 20 50 52 45 44 53 2e 20 20 49 66 20 61 6c 6c 20 50 52 45 44 53 e.remaining.PREDS...If.all.PREDS
1c780 20 72 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 2c 20 50 20 72 65 74 75 72 6e 73 20 74 68 65 20 6c .return.non-nil,.P.returns.the.l
1c7a0 61 73 74 0a 73 75 63 68 20 76 61 6c 75 65 2e 20 20 49 66 20 6e 6f 20 50 52 45 44 53 20 61 72 65 ast.such.value...If.no.PREDS.are
1c7c0 20 67 69 76 65 6e 2c 20 50 20 61 6c 77 61 79 73 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c .given,.P.always.returns.non-nil
1c7e0 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 6f 72 66 6e 27 20 61 6e 64 20 60 2d 6e 6f 74 27 2e ...See.also:.`-orfn'.and.`-not'.
1c800 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 "...(declare.(pure.t).(side-effe
1c820 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 3b 3b 20 4f 70 65 6e 2d 63 6f 64 65 20 66 6f 72 20 73 ct-free.t))...;;.Open-code.for.s
1c840 70 65 65 64 2e 0a 20 20 28 63 6f 6e 64 20 28 28 63 64 72 20 70 72 65 64 73 29 20 28 6c 61 6d 62 peed....(cond.((cdr.preds).(lamb
1c860 64 61 20 28 26 72 65 73 74 20 61 72 67 73 29 20 28 2d 2d 65 76 65 72 79 20 28 61 70 70 6c 79 20 da.(&rest.args).(--every.(apply.
1c880 69 74 20 61 72 67 73 29 20 70 72 65 64 73 29 29 29 0a 20 20 20 20 20 20 20 20 28 70 72 65 64 73 it.args).preds))).........(preds
1c8a0 20 28 63 61 72 20 70 72 65 64 73 29 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 41 73 20 61 20 60 70 .(car.preds)).........;;.As.a.`p
1c8c0 75 72 65 27 20 66 75 6e 63 74 69 6f 6e 2c 20 74 68 69 73 20 72 75 6e 74 69 6d 65 20 63 68 65 63 ure'.function,.this.runtime.chec
1c8e0 6b 20 6d 61 79 20 67 65 6e 65 72 61 74 65 0a 20 20 20 20 20 20 20 20 3b 3b 20 62 61 63 6b 77 61 k.may.generate.........;;.backwa
1c900 72 64 2d 69 6e 63 6f 6d 70 61 74 69 62 6c 65 20 62 79 74 65 63 6f 64 65 20 66 6f 72 20 60 28 2d rd-incompatible.bytecode.for.`(-
1c920 61 6e 64 66 6e 29 27 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2c 0a 20 20 20 20 20 20 20 andfn)'.at.compile-time,........
1c940 20 3b 3b 20 62 75 74 20 49 20 64 6f 75 62 74 20 74 68 61 74 27 73 20 61 20 70 72 6f 62 6c 65 6d .;;.but.I.doubt.that's.a.problem
1c960 20 69 6e 20 70 72 61 63 74 69 63 65 20 28 66 61 6d 6f 75 73 20 6c 61 73 74 20 77 6f 72 64 73 29 .in.practice.(famous.last.words)
1c980 2e 0a 20 20 20 20 20 20 20 20 28 28 66 62 6f 75 6e 64 70 20 27 61 6c 77 61 79 73 29 20 23 27 61 ..........((fboundp.'always).#'a
1c9a0 6c 77 61 79 73 29 0a 20 20 20 20 20 20 20 20 28 28 6c 61 6d 62 64 61 20 28 26 72 65 73 74 20 5f lways).........((lambda.(&rest._
1c9c0 29 20 74 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 69 74 65 72 61 74 65 66 6e 20 28 66 6e 20 6e ).t))))..(defun.-iteratefn.(fn.n
1c9e0 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 46 4e 20 63 6f 6d 70 6f 73 )..."Return.a.function.FN.compos
1ca00 65 64 20 4e 20 74 69 6d 65 73 20 77 69 74 68 20 69 74 73 65 6c 66 2e 0a 0a 46 4e 20 69 73 20 61 ed.N.times.with.itself...FN.is.a
1ca20 20 75 6e 61 72 79 20 66 75 6e 63 74 69 6f 6e 2e 20 20 49 66 20 79 6f 75 20 6e 65 65 64 20 74 6f .unary.function...If.you.need.to
1ca40 20 75 73 65 20 61 20 66 75 6e 63 74 69 6f 6e 20 6f 66 20 68 69 67 68 65 72 0a 61 72 69 74 79 2c .use.a.function.of.higher.arity,
1ca60 20 75 73 65 20 60 2d 61 70 70 6c 69 66 79 27 20 66 69 72 73 74 20 74 6f 20 74 75 72 6e 20 69 74 .use.`-applify'.first.to.turn.it
1ca80 20 69 6e 74 6f 20 61 20 75 6e 61 72 79 20 66 75 6e 63 74 69 6f 6e 2e 0a 0a 57 69 74 68 20 6e 20 .into.a.unary.function...With.n.
1caa0 3d 20 30 2c 20 74 68 69 73 20 61 63 74 73 20 61 73 20 69 64 65 6e 74 69 74 79 20 66 75 6e 63 74 =.0,.this.acts.as.identity.funct
1cac0 69 6f 6e 2e 0a 0a 49 6e 20 74 79 70 65 73 3a 20 28 61 20 2d 3e 20 61 29 20 2d 3e 20 49 6e 74 20 ion...In.types:.(a.->.a).->.Int.
1cae0 2d 3e 20 61 20 2d 3e 20 61 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 73 61 74 69 73 66 ->.a.->.a...This.function.satisf
1cb00 69 65 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6c 61 77 3a 0a 0a 20 20 28 66 75 6e 63 61 ies.the.following.law:....(funca
1cb20 6c 6c 20 28 2d 69 74 65 72 61 74 65 66 6e 20 66 6e 20 6e 29 20 69 6e 69 74 29 20 3d 20 28 2d 6c ll.(-iteratefn.fn.n).init).=.(-l
1cb40 61 73 74 2d 69 74 65 6d 20 28 2d 69 74 65 72 61 74 65 20 66 6e 20 69 6e 69 74 20 28 31 2b 20 6e ast-item.(-iterate.fn.init.(1+.n
1cb60 29 29 29 2e 22 0a 20 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 2d 2d 64 6f 74 69 6d 65 73 20 6e )))."...(lambda.(x).(--dotimes.n
1cb80 20 28 73 65 74 71 20 78 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 78 29 29 29 20 78 29 29 0a 0a 28 .(setq.x.(funcall.fn.x))).x))..(
1cba0 64 65 66 75 6e 20 2d 63 6f 75 6e 74 65 72 20 28 26 6f 70 74 69 6f 6e 61 6c 20 62 65 67 20 65 6e defun.-counter.(&optional.beg.en
1cbc0 64 20 69 6e 63 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 63 6c 6f 73 75 72 65 20 74 68 61 74 20 d.inc)..."Return.a.closure.that.
1cbe0 63 6f 75 6e 74 73 20 66 72 6f 6d 20 42 45 47 20 74 6f 20 45 4e 44 2c 20 77 69 74 68 20 69 6e 63 counts.from.BEG.to.END,.with.inc
1cc00 72 65 6d 65 6e 74 20 49 4e 43 2e 0a 0a 54 68 65 20 63 6c 6f 73 75 72 65 20 77 69 6c 6c 20 72 65 rement.INC...The.closure.will.re
1cc20 74 75 72 6e 20 74 68 65 20 6e 65 78 74 20 76 61 6c 75 65 20 69 6e 20 74 68 65 20 63 6f 75 6e 74 turn.the.next.value.in.the.count
1cc40 69 6e 67 20 73 65 71 75 65 6e 63 65 0a 65 61 63 68 20 74 69 6d 65 20 69 74 20 69 73 20 63 61 6c ing.sequence.each.time.it.is.cal
1cc60 6c 65 64 2c 20 61 6e 64 20 6e 69 6c 20 61 66 74 65 72 20 45 4e 44 20 69 73 20 72 65 61 63 68 65 led,.and.nil.after.END.is.reache
1cc80 64 2e 20 42 45 47 0a 64 65 66 61 75 6c 74 73 20 74 6f 20 30 2c 20 49 4e 43 20 64 65 66 61 75 6c d..BEG.defaults.to.0,.INC.defaul
1cca0 74 73 20 74 6f 20 31 2c 20 61 6e 64 20 69 66 20 45 4e 44 20 69 73 20 6e 69 6c 2c 20 74 68 65 20 ts.to.1,.and.if.END.is.nil,.the.
1ccc0 63 6f 75 6e 74 65 72 0a 77 69 6c 6c 20 69 6e 63 72 65 6d 65 6e 74 20 69 6e 64 65 66 69 6e 69 74 counter.will.increment.indefinit
1cce0 65 6c 79 2e 0a 0a 54 68 65 20 63 6c 6f 73 75 72 65 20 61 63 63 65 70 74 73 20 61 6e 79 20 6e 75 ely...The.closure.accepts.any.nu
1cd00 6d 62 65 72 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 2c 20 77 68 69 63 68 20 61 72 65 20 64 69 73 mber.of.arguments,.which.are.dis
1cd20 63 61 72 64 65 64 2e 22 0a 20 20 28 6c 65 74 20 28 28 69 6e 63 20 28 6f 72 20 69 6e 63 20 31 29 carded."...(let.((inc.(or.inc.1)
1cd40 29 0a 20 20 20 20 20 20 20 20 28 6e 20 28 6f 72 20 62 65 67 20 30 29 29 29 0a 20 20 20 20 28 6c ).........(n.(or.beg.0))).....(l
1cd60 61 6d 62 64 61 20 28 26 72 65 73 74 20 5f 29 0a 20 20 20 20 20 20 28 77 68 65 6e 20 28 6f 72 20 ambda.(&rest._).......(when.(or.
1cd80 28 6e 6f 74 20 65 6e 64 29 20 28 3c 20 6e 20 65 6e 64 29 29 0a 20 20 20 20 20 20 20 20 28 70 72 (not.end).(<.n.end)).........(pr
1cda0 6f 67 31 20 6e 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6e 20 28 2b 20 6e 20 69 6e 63 og1.n...........(setq.n.(+.n.inc
1cdc0 29 29 29 29 29 29 29 0a 0a 28 64 65 66 76 61 72 20 2d 66 69 78 66 6e 2d 6d 61 78 2d 69 74 65 72 )))))))..(defvar.-fixfn-max-iter
1cde0 61 74 69 6f 6e 73 20 31 30 30 30 0a 20 20 22 54 68 65 20 64 65 66 61 75 6c 74 20 6d 61 78 69 6d ations.1000..."The.default.maxim
1ce00 75 6d 20 6e 75 6d 62 65 72 20 6f 66 20 69 74 65 72 61 74 69 6f 6e 73 20 70 65 72 66 6f 72 6d 65 um.number.of.iterations.performe
1ce20 64 20 62 79 20 60 2d 66 69 78 66 6e 27 0a 20 20 75 6e 6c 65 73 73 20 6f 74 68 65 72 77 69 73 65 d.by.`-fixfn'...unless.otherwise
1ce40 20 73 70 65 63 69 66 69 65 64 2e 22 29 0a 0a 28 64 65 66 75 6e 20 2d 66 69 78 66 6e 20 28 66 6e .specified.")..(defun.-fixfn.(fn
1ce60 20 26 6f 70 74 69 6f 6e 61 6c 20 65 71 75 61 6c 2d 74 65 73 74 20 68 61 6c 74 2d 74 65 73 74 29 .&optional.equal-test.halt-test)
1ce80 0a 20 20 22 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 63 6f 6d 70 75 ..."Return.a.function.that.compu
1cea0 74 65 73 20 74 68 65 20 28 6c 65 61 73 74 29 20 66 69 78 70 6f 69 6e 74 20 6f 66 20 46 4e 2e 0a tes.the.(least).fixpoint.of.FN..
1cec0 0a 46 4e 20 6d 75 73 74 20 62 65 20 61 20 75 6e 61 72 79 20 66 75 6e 63 74 69 6f 6e 2e 20 54 68 .FN.must.be.a.unary.function..Th
1cee0 65 20 72 65 74 75 72 6e 65 64 20 6c 61 6d 62 64 61 20 74 61 6b 65 73 20 61 20 73 69 6e 67 6c 65 e.returned.lambda.takes.a.single
1cf00 0a 61 72 67 75 6d 65 6e 74 2c 20 58 2c 20 74 68 65 20 69 6e 69 74 69 61 6c 20 76 61 6c 75 65 20 .argument,.X,.the.initial.value.
1cf20 66 6f 72 20 74 68 65 20 66 69 78 70 6f 69 6e 74 20 69 74 65 72 61 74 69 6f 6e 2e 20 54 68 65 0a for.the.fixpoint.iteration..The.
1cf40 69 74 65 72 61 74 69 6f 6e 20 68 61 6c 74 73 20 77 68 65 6e 20 65 69 74 68 65 72 20 6f 66 20 74 iteration.halts.when.either.of.t
1cf60 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6e 64 69 74 69 6f 6e 73 20 69 73 20 73 61 74 69 73 he.following.conditions.is.satis
1cf80 66 69 65 64 3a 0a 0a 20 31 2e 20 49 74 65 72 61 74 69 6f 6e 20 63 6f 6e 76 65 72 67 65 73 20 74 fied:...1..Iteration.converges.t
1cfa0 6f 20 74 68 65 20 66 69 78 70 6f 69 6e 74 2c 20 77 69 74 68 20 65 71 75 61 6c 69 74 79 20 62 65 o.the.fixpoint,.with.equality.be
1cfc0 69 6e 67 0a 20 20 20 20 74 65 73 74 65 64 20 75 73 69 6e 67 20 45 51 55 41 4c 2d 54 45 53 54 2e ing.....tested.using.EQUAL-TEST.
1cfe0 20 49 66 20 45 51 55 41 4c 2d 54 45 53 54 20 69 73 20 6e 6f 74 20 73 70 65 63 69 66 69 65 64 2c .If.EQUAL-TEST.is.not.specified,
1d000 0a 20 20 20 20 60 65 71 75 61 6c 27 20 69 73 20 75 73 65 64 2e 20 46 6f 72 20 66 75 6e 63 74 69 .....`equal'.is.used..For.functi
1d020 6f 6e 73 20 6f 76 65 72 20 74 68 65 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 0a 20 20 20 20 ons.over.the.floating.point.....
1d040 6e 75 6d 62 65 72 73 2c 20 69 74 20 6d 61 79 20 62 65 20 6e 65 63 65 73 73 61 72 79 20 74 6f 20 numbers,.it.may.be.necessary.to.
1d060 70 72 6f 76 69 64 65 20 61 6e 20 61 70 70 72 6f 70 72 69 61 74 65 0a 20 20 20 20 61 70 70 72 6f provide.an.appropriate.....appro
1d080 78 69 6d 61 74 65 20 63 6f 6d 70 61 72 69 73 6f 6e 20 74 65 73 74 2e 0a 0a 20 32 2e 20 48 41 4c ximate.comparison.test....2..HAL
1d0a0 54 2d 54 45 53 54 20 72 65 74 75 72 6e 73 20 61 20 6e 6f 6e 2d 6e 69 6c 20 76 61 6c 75 65 2e 20 T-TEST.returns.a.non-nil.value..
1d0c0 48 41 4c 54 2d 54 45 53 54 20 64 65 66 61 75 6c 74 73 20 74 6f 20 61 0a 20 20 20 20 73 69 6d 70 HALT-TEST.defaults.to.a.....simp
1d0e0 6c 65 20 63 6f 75 6e 74 65 72 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 74 20 61 66 74 65 72 20 le.counter.that.returns.t.after.
1d100 60 2d 66 69 78 66 6e 2d 6d 61 78 2d 69 74 65 72 61 74 69 6f 6e 73 27 2c 0a 20 20 20 20 74 6f 20 `-fixfn-max-iterations',.....to.
1d120 67 75 61 72 64 20 61 67 61 69 6e 73 74 20 69 6e 66 69 6e 69 74 65 20 69 74 65 72 61 74 69 6f 6e guard.against.infinite.iteration
1d140 2e 20 4f 74 68 65 72 77 69 73 65 2c 20 48 41 4c 54 2d 54 45 53 54 0a 20 20 20 20 6d 75 73 74 20 ..Otherwise,.HALT-TEST.....must.
1d160 62 65 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 61 63 63 65 70 74 73 20 61 20 73 69 6e be.a.function.that.accepts.a.sin
1d180 67 6c 65 20 61 72 67 75 6d 65 6e 74 2c 20 74 68 65 0a 20 20 20 20 63 75 72 72 65 6e 74 20 76 61 gle.argument,.the.....current.va
1d1a0 6c 75 65 20 6f 66 20 58 2c 20 61 6e 64 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 20 61 73 lue.of.X,.and.returns.non-nil.as
1d1c0 20 6c 6f 6e 67 20 61 73 20 69 74 65 72 61 74 69 6f 6e 0a 20 20 20 20 73 68 6f 75 6c 64 20 63 6f .long.as.iteration.....should.co
1d1e0 6e 74 69 6e 75 65 2e 20 49 6e 20 74 68 69 73 20 77 61 79 2c 20 61 20 6d 6f 72 65 20 73 6f 70 68 ntinue..In.this.way,.a.more.soph
1d200 69 73 74 69 63 61 74 65 64 0a 20 20 20 20 63 6f 6e 76 65 72 67 65 6e 63 65 20 74 65 73 74 20 6d isticated.....convergence.test.m
1d220 61 79 20 62 65 20 73 75 70 70 6c 69 65 64 20 62 79 20 74 68 65 20 63 61 6c 6c 65 72 2e 0a 0a 54 ay.be.supplied.by.the.caller...T
1d240 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 6c 61 6d 62 64 61 20 69 73 he.return.value.of.the.lambda.is
1d260 20 65 69 74 68 65 72 20 74 68 65 20 66 69 78 70 6f 69 6e 74 20 6f 72 2c 20 69 66 0a 69 74 65 72 .either.the.fixpoint.or,.if.iter
1d280 61 74 69 6f 6e 20 68 61 6c 74 65 64 20 62 65 66 6f 72 65 20 63 6f 6e 76 65 72 67 69 6e 67 2c 20 ation.halted.before.converging,.
1d2a0 61 20 63 6f 6e 73 20 77 69 74 68 20 63 61 72 20 60 68 61 6c 74 65 64 27 20 61 6e 64 0a 63 64 72 a.cons.with.car.`halted'.and.cdr
1d2c0 20 74 68 65 20 66 69 6e 61 6c 20 6f 75 74 70 75 74 20 66 72 6f 6d 20 48 41 4c 54 2d 54 45 53 54 .the.final.output.from.HALT-TEST
1d2e0 2e 0a 0a 49 6e 20 74 79 70 65 73 3a 20 28 61 20 2d 3e 20 61 29 20 2d 3e 20 61 20 2d 3e 20 61 2e ...In.types:.(a.->.a).->.a.->.a.
1d300 22 0a 20 20 28 6c 65 74 20 28 28 65 71 66 6e 20 20 20 28 6f 72 20 65 71 75 61 6c 2d 74 65 73 74 "...(let.((eqfn...(or.equal-test
1d320 20 27 65 71 75 61 6c 29 29 0a 20 20 20 20 20 20 20 20 28 68 61 6c 74 66 6e 20 28 6f 72 20 68 61 .'equal)).........(haltfn.(or.ha
1d340 6c 74 2d 74 65 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 6e 6f lt-test.....................(-no
1d360 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 63 6f 75 6e 74 65 72 t......................(-counter
1d380 20 30 20 2d 66 69 78 66 6e 2d 6d 61 78 2d 69 74 65 72 61 74 69 6f 6e 73 29 29 29 29 29 0a 20 20 .0.-fixfn-max-iterations)))))...
1d3a0 20 20 28 6c 61 6d 62 64 61 20 28 78 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 72 65 20 28 66 ..(lambda.(x).......(let.((re.(f
1d3c0 75 6e 63 61 6c 6c 20 66 6e 20 78 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 68 61 6c 74 3f uncall.fn.x)).............(halt?
1d3e0 20 28 66 75 6e 63 61 6c 6c 20 68 61 6c 74 66 6e 20 78 29 29 29 0a 20 20 20 20 20 20 20 20 28 77 .(funcall.haltfn.x))).........(w
1d400 68 69 6c 65 20 28 61 6e 64 20 28 6e 6f 74 20 68 61 6c 74 3f 29 20 28 6e 6f 74 20 28 66 75 6e 63 hile.(and.(not.halt?).(not.(func
1d420 61 6c 6c 20 65 71 66 6e 20 78 20 72 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 all.eqfn.x.re)))...........(setq
1d440 20 78 20 20 20 20 20 72 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 20 20 20 20 .x.....re.................re....
1d460 28 66 75 6e 63 61 6c 6c 20 66 6e 20 72 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (funcall.fn.re).................
1d480 68 61 6c 74 3f 20 28 66 75 6e 63 61 6c 6c 20 68 61 6c 74 66 6e 20 72 65 29 29 29 0a 20 20 20 20 halt?.(funcall.haltfn.re))).....
1d4a0 20 20 20 20 28 69 66 20 68 61 6c 74 3f 20 28 63 6f 6e 73 20 27 68 61 6c 74 65 64 20 68 61 6c 74 ....(if.halt?.(cons.'halted.halt
1d4c0 3f 29 0a 20 20 20 20 20 20 20 20 20 20 72 65 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 70 72 ?)...........re)))))..(defun.-pr
1d4e0 6f 64 66 6e 20 28 26 72 65 73 74 20 66 6e 73 29 0a 20 20 22 54 61 6b 65 20 61 20 6c 69 73 74 20 odfn.(&rest.fns)..."Take.a.list.
1d500 6f 66 20 6e 20 66 75 6e 63 74 69 6f 6e 73 20 61 6e 64 20 72 65 74 75 72 6e 20 61 20 66 75 6e 63 of.n.functions.and.return.a.func
1d520 74 69 6f 6e 20 74 68 61 74 20 74 61 6b 65 73 20 61 0a 6c 69 73 74 20 6f 66 20 6c 65 6e 67 74 68 tion.that.takes.a.list.of.length
1d540 20 6e 2c 20 61 70 70 6c 79 69 6e 67 20 69 2d 74 68 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 69 2d .n,.applying.i-th.function.to.i-
1d560 74 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 0a 69 6e 70 75 74 20 6c 69 73 74 2e 20 20 52 th.element.of.the.input.list...R
1d580 65 74 75 72 6e 73 20 61 20 6c 69 73 74 20 6f 66 20 6c 65 6e 67 74 68 20 6e 2e 0a 0a 49 6e 20 74 eturns.a.list.of.length.n...In.t
1d5a0 79 70 65 73 20 28 66 6f 72 20 6e 3d 32 29 3a 20 28 28 61 20 2d 3e 20 62 29 2c 20 28 63 20 2d 3e ypes.(for.n=2):.((a.->.b),.(c.->
1d5c0 20 64 29 29 20 2d 3e 20 28 61 2c 20 63 29 20 2d 3e 20 28 62 2c 20 64 29 0a 0a 54 68 69 73 20 66 .d)).->.(a,.c).->.(b,.d)..This.f
1d5e0 75 6e 63 74 69 6f 6e 20 73 61 74 69 73 66 69 65 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 unction.satisfies.the.following.
1d600 6c 61 77 73 3a 0a 0a 20 20 28 2d 63 6f 6d 70 6f 73 65 20 28 2d 70 72 6f 64 66 6e 20 66 20 67 20 laws:....(-compose.(-prodfn.f.g.
1d620 2e 2e 2e 29 20 28 2d 70 72 6f 64 66 6e 20 66 5c 5c 3d 27 20 67 5c 5c 3d 27 20 2e 2e 2e 29 29 20 ...).(-prodfn.f\\='.g\\='....)).
1d640 3d 20 28 2d 70 72 6f 64 66 6e 20 28 2d 63 6f 6d 70 6f 73 65 20 66 20 66 5c 5c 3d 27 29 20 28 2d =.(-prodfn.(-compose.f.f\\=').(-
1d660 63 6f 6d 70 6f 73 65 20 67 20 67 5c 5c 3d 27 29 20 2e 2e 2e 29 0a 20 20 28 2d 70 72 6f 64 66 6e compose.g.g\\=')....)...(-prodfn
1d680 20 66 20 67 20 2e 2e 2e 29 20 3d 20 28 2d 6a 75 78 74 20 28 2d 63 6f 6d 70 6f 73 65 20 66 20 28 .f.g....).=.(-juxt.(-compose.f.(
1d6a0 2d 70 61 72 74 69 61 6c 20 5c 5c 3d 27 6e 74 68 20 30 29 29 20 28 2d 63 6f 6d 70 6f 73 65 20 67 -partial.\\='nth.0)).(-compose.g
1d6c0 20 28 2d 70 61 72 74 69 61 6c 20 5c 5c 3d 27 6e 74 68 20 31 29 29 20 2e 2e 2e 29 0a 20 20 28 2d .(-partial.\\='nth.1))....)...(-
1d6e0 63 6f 6d 70 6f 73 65 20 28 2d 70 72 6f 64 66 6e 20 66 20 67 20 2e 2e 2e 29 20 28 2d 6a 75 78 74 compose.(-prodfn.f.g....).(-juxt
1d700 20 66 5c 5c 3d 27 20 67 5c 5c 3d 27 20 2e 2e 2e 29 29 20 3d 20 28 2d 6a 75 78 74 20 28 2d 63 6f .f\\='.g\\='....)).=.(-juxt.(-co
1d720 6d 70 6f 73 65 20 66 20 66 5c 5c 3d 27 29 20 28 2d 63 6f 6d 70 6f 73 65 20 67 20 67 5c 5c 3d 27 mpose.f.f\\=').(-compose.g.g\\='
1d740 29 20 2e 2e 2e 29 0a 20 20 28 2d 63 6f 6d 70 6f 73 65 20 28 2d 70 61 72 74 69 61 6c 20 5c 5c 3d )....)...(-compose.(-partial.\\=
1d760 27 6e 74 68 20 6e 29 20 28 2d 70 72 6f 64 20 66 31 20 66 32 20 2e 2e 2e 29 29 20 3d 20 28 2d 63 'nth.n).(-prod.f1.f2....)).=.(-c
1d780 6f 6d 70 6f 73 65 20 66 6e 20 28 2d 70 61 72 74 69 61 6c 20 5c 5c 3d 27 6e 74 68 20 6e 29 29 22 ompose.fn.(-partial.\\='nth.n))"
1d7a0 0a 20 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 2d 7a 69 70 2d 77 69 74 68 20 27 66 75 6e 63 61 ...(lambda.(x).(-zip-with.'funca
1d7c0 6c 6c 20 66 6e 73 20 78 29 29 29 0a 0c 0a 3b 3b 3b 20 46 6f 6e 74 20 6c 6f 63 6b 0a 0a 28 64 65 ll.fns.x)))...;;;.Font.lock..(de
1d7e0 66 76 61 72 20 64 61 73 68 2d 2d 6b 65 79 77 6f 72 64 73 0a 20 20 60 28 3b 3b 20 54 4f 44 4f 3a fvar.dash--keywords...`(;;.TODO:
1d800 20 44 6f 20 6e 6f 74 20 66 6f 6e 74 69 66 79 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 61 75 .Do.not.fontify.the.following.au
1d820 74 6f 6d 61 74 69 63 20 76 61 72 69 61 62 6c 65 73 0a 20 20 20 20 3b 3b 20 67 6c 6f 62 61 6c 6c tomatic.variables.....;;.globall
1d840 79 3b 20 64 65 74 65 63 74 20 61 6e 64 20 6c 69 6d 69 74 20 74 6f 20 74 68 65 69 72 20 6c 6f 63 y;.detect.and.limit.to.their.loc
1d860 61 6c 20 61 6e 61 70 68 6f 72 69 63 20 73 63 6f 70 65 2e 0a 20 20 20 20 28 2c 28 72 78 20 73 79 al.anaphoric.scope......(,(rx.sy
1d880 6d 62 6f 6c 2d 73 74 61 72 74 20 28 7c 20 22 61 63 63 22 20 22 69 74 22 20 22 69 74 2d 69 6e 64 mbol-start.(|."acc"."it"."it-ind
1d8a0 65 78 22 20 22 6f 74 68 65 72 22 29 20 73 79 6d 62 6f 6c 2d 65 6e 64 29 0a 20 20 20 20 20 30 20 ex"."other").symbol-end)......0.
1d8c0 66 6f 6e 74 2d 6c 6f 63 6b 2d 76 61 72 69 61 62 6c 65 2d 6e 61 6d 65 2d 66 61 63 65 29 0a 20 20 font-lock-variable-name-face)...
1d8e0 20 20 3b 3b 20 4d 61 63 72 6f 73 20 69 6e 20 64 65 76 2f 65 78 61 6d 70 6c 65 73 2e 65 6c 2e 20 ..;;.Macros.in.dev/examples.el..
1d900 20 42 61 73 65 64 20 6f 6e 20 60 6c 69 73 70 2d 6d 6f 64 65 2d 73 79 6d 62 6f 6c 2d 72 65 67 65 .Based.on.`lisp-mode-symbol-rege
1d920 78 70 27 2e 0a 20 20 20 20 28 2c 28 72 78 20 3f 5c 28 20 28 67 72 6f 75 70 20 28 7c 20 22 64 65 xp'......(,(rx.?\(.(group.(|."de
1d940 66 65 78 61 6d 70 6c 65 73 22 20 22 64 65 66 2d 65 78 61 6d 70 6c 65 2d 67 72 6f 75 70 22 29 29 fexamples"."def-example-group"))
1d960 20 73 79 6d 62 6f 6c 2d 65 6e 64 0a 20 20 20 20 20 20 20 20 20 20 28 2b 20 28 69 6e 20 22 5c 74 .symbol-end...........(+.(in."\t
1d980 20 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 67 72 6f 75 70 20 28 2a 20 28 7c 20 28 73 79 6e ."))...........(group.(*.(|.(syn
1d9a0 74 61 78 20 77 6f 72 64 29 20 28 73 79 6e 74 61 78 20 73 79 6d 62 6f 6c 29 20 28 3a 20 3f 5c 5c tax.word).(syntax.symbol).(:.?\\
1d9c0 20 6e 6f 6e 6c 29 29 29 29 29 0a 20 20 20 20 20 28 31 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 6b 65 79 .nonl)))))......(1.font-lock-key
1d9e0 77 6f 72 64 2d 66 61 63 65 29 0a 20 20 20 20 20 28 32 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 66 75 6e word-face)......(2.font-lock-fun
1da00 63 74 69 6f 6e 2d 6e 61 6d 65 2d 66 61 63 65 29 29 0a 20 20 20 20 3b 3b 20 53 79 6d 62 6f 6c 73 ction-name-face)).....;;.Symbols
1da20 20 69 6e 20 64 65 76 2f 65 78 61 6d 70 6c 65 73 2e 65 6c 2e 0a 20 20 20 20 2c 28 72 78 20 73 79 .in.dev/examples.el......,(rx.sy
1da40 6d 62 6f 6c 2d 73 74 61 72 74 20 28 7c 20 22 3d 3e 22 20 22 7e 3e 22 20 22 21 21 3e 22 29 20 73 mbol-start.(|."=>"."~>"."!!>").s
1da60 79 6d 62 6f 6c 2d 65 6e 64 29 0a 20 20 20 20 3b 3b 20 45 6c 69 73 70 20 6d 61 63 72 6f 20 66 6f ymbol-end).....;;.Elisp.macro.fo
1da80 6e 74 69 66 69 63 61 74 69 6f 6e 20 77 61 73 20 73 74 61 74 69 63 20 70 72 69 6f 72 20 74 6f 20 ntification.was.static.prior.to.
1daa0 45 6d 61 63 73 20 32 35 2e 0a 20 20 20 20 2c 40 28 77 68 65 6e 20 28 3c 20 65 6d 61 63 73 2d 6d Emacs.25......,@(when.(<.emacs-m
1dac0 61 6a 6f 72 2d 76 65 72 73 69 6f 6e 20 32 35 29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 ajor-version.25).........(let.((
1dae0 6d 61 63 73 20 27 28 22 21 63 64 72 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 macs.'("!cdr"...................
1db00 20 20 20 20 22 21 63 6f 6e 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...."!cons".....................
1db20 20 20 22 2d 2d 3e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d .."-->"......................."-
1db40 2d 61 6c 6c 3f 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d -all?"......................."--
1db60 61 6e 6e 6f 74 61 74 65 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 annotate".......................
1db80 22 2d 2d 61 6e 79 3f 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 "--any?"......................."
1dba0 2d 2d 63 6f 75 6e 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 --count"......................."
1dbc0 2d 2d 64 6f 74 69 6d 65 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 --dotimes"......................
1dbe0 20 22 2d 2d 64 6f 74 6f 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ."--doto".......................
1dc00 22 2d 2d 64 72 6f 70 2d 77 68 69 6c 65 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 "--drop-while"..................
1dc20 20 20 20 20 20 22 2d 2d 65 61 63 68 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....."--each"...................
1dc40 20 20 20 20 22 2d 2d 65 61 63 68 2d 72 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...."--each-r"..................
1dc60 20 20 20 20 20 22 2d 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 22 0a 20 20 20 20 20 20 20 20 20 20 ....."--each-r-while"...........
1dc80 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 65 61 63 68 2d 77 68 69 6c 65 22 0a 20 20 20 20 20 ............"--each-while"......
1dca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 66 69 6c 74 65 72 22 0a 20 20 20 20 ................."--filter".....
1dcc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 66 69 6e 64 2d 69 6e 64 65 78 22 .................."--find-index"
1dce0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 66 69 6e 64 2d 69 ......................."--find-i
1dd00 6e 64 69 63 65 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d ndices"......................."-
1dd20 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 78 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -find-last-index"...............
1dd40 20 20 20 20 20 20 20 20 22 2d 2d 66 69 72 73 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........"--first"...............
1dd60 20 20 20 20 20 20 20 20 22 2d 2d 66 69 78 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........"--fix".................
1dd80 20 20 20 20 20 20 22 2d 2d 67 72 6f 75 70 2d 62 79 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ......"--group-by"..............
1dda0 20 20 20 20 20 20 20 20 20 22 2d 2d 69 66 2d 6c 65 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 ........."--if-let".............
1ddc0 20 20 20 20 20 20 20 20 20 20 22 2d 2d 69 74 65 72 61 74 65 22 0a 20 20 20 20 20 20 20 20 20 20 .........."--iterate"...........
1dde0 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 6b 65 65 70 22 0a 20 20 20 20 20 20 20 20 20 20 20 ............"--keep"............
1de00 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 6c 61 73 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 ..........."--last".............
1de20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 6d 61 70 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .........."--map"...............
1de40 20 20 20 20 20 20 20 20 22 2d 2d 6d 61 70 2d 66 69 72 73 74 22 0a 20 20 20 20 20 20 20 20 20 20 ........"--map-first"...........
1de60 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 6d 61 70 2d 69 6e 64 65 78 65 64 22 0a 20 20 20 20 ............"--map-indexed".....
1de80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 6d 61 70 2d 6c 61 73 74 22 0a 20 .................."--map-last"..
1dea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 6d 61 70 2d 77 68 65 6e ....................."--map-when
1dec0 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 6d 61 70 63 61 "......................."--mapca
1dee0 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 6d 61 78 2d t"......................."--max-
1df00 62 79 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 6d 69 6e by"......................."--min
1df20 2d 62 79 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 6e 6f -by"......................."--no
1df40 6e 65 3f 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 6f 6e ne?"......................."--on
1df60 6c 79 2d 73 6f 6d 65 3f 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ly-some?".......................
1df80 22 2d 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 "--partition-by"................
1dfa0 20 20 20 20 20 20 20 22 2d 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 2d 68 65 61 64 65 72 22 0a 20 ......."--partition-by-header"..
1dfc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 72 65 64 75 63 65 22 0a ....................."--reduce".
1dfe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 72 65 64 75 63 65 2d ......................"--reduce-
1e000 66 72 6f 6d 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 72 from"......................."--r
1e020 65 64 75 63 65 2d 72 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 educe-r"......................."
1e040 2d 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 --reduce-r-from"................
1e060 20 20 20 20 20 20 20 22 2d 2d 72 65 64 75 63 74 69 6f 6e 73 22 0a 20 20 20 20 20 20 20 20 20 20 ......."--reductions"...........
1e080 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 72 6f 6d 22 0a ............"--reductions-from".
1e0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 72 65 64 75 63 74 69 ......................"--reducti
1e0c0 6f 6e 73 2d 72 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d ons-r"......................."--
1e0e0 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 reductions-r-from"..............
1e100 20 20 20 20 20 20 20 20 20 22 2d 2d 72 65 6d 6f 76 65 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 ........."--remove".............
1e120 20 20 20 20 20 20 20 20 20 20 22 2d 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 22 0a 20 20 20 20 20 .........."--remove-first"......
1e140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 22 ................."--remove-last"
1e160 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 73 65 70 61 72 61 ......................."--separa
1e180 74 65 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 73 6f 6d te"......................."--som
1e1a0 65 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 73 6f 72 74 e"......................."--sort
1e1c0 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 73 70 6c 69 63 "......................."--splic
1e1e0 65 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 73 70 6c 69 e"......................."--spli
1e200 63 65 2d 6c 69 73 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 ce-list"......................."
1e220 2d 2d 73 70 6c 69 74 2d 77 68 65 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 --split-when"...................
1e240 20 20 20 20 22 2d 2d 73 70 6c 69 74 2d 77 69 74 68 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ...."--split-with"..............
1e260 20 20 20 20 20 20 20 20 20 22 2d 2d 74 61 6b 65 2d 77 68 69 6c 65 22 0a 20 20 20 20 20 20 20 20 ........."--take-while".........
1e280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 74 72 65 65 2d 6d 61 70 22 0a 20 20 20 20 20 .............."--tree-map"......
1e2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 74 72 65 65 2d 6d 61 70 2d 6e 6f 64 ................."--tree-map-nod
1e2c0 65 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 74 72 65 es"......................."--tre
1e2e0 65 2d 6d 61 70 72 65 64 75 63 65 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e-mapreduce"....................
1e300 20 20 20 22 2d 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 2d 66 72 6f 6d 22 0a 20 20 20 20 20 ..."--tree-mapreduce-from"......
1e320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 74 72 65 65 2d 72 65 64 75 63 65 22 ................."--tree-reduce"
1e340 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 74 72 65 65 2d 72 ......................."--tree-r
1e360 65 64 75 63 65 2d 66 72 6f 6d 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 educe-from".....................
1e380 20 20 22 2d 2d 74 72 65 65 2d 73 65 71 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .."--tree-seq"..................
1e3a0 20 20 20 20 20 22 2d 2d 75 6e 66 6f 6c 64 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....."--unfold".................
1e3c0 20 20 20 20 20 20 22 2d 2d 75 70 64 61 74 65 2d 61 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 ......"--update-at".............
1e3e0 20 20 20 20 20 20 20 20 20 20 22 2d 2d 77 68 65 6e 2d 6c 65 74 22 0a 20 20 20 20 20 20 20 20 20 .........."--when-let"..........
1e400 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 7a 69 70 2d 77 69 74 68 22 0a 20 20 20 20 20 20 ............."--zip-with".......
1e420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 3e 22 0a 20 20 20 20 20 20 20 20 20 20 20 ................"->"............
1e440 20 20 20 20 20 20 20 20 20 20 20 22 2d 3e 3e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..........."->>"................
1e460 20 20 20 20 20 20 20 22 2d 61 73 2d 3e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......."-as->"..................
1e480 20 20 20 20 20 22 2d 64 6f 74 6f 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....."-doto"....................
1e4a0 20 20 20 22 2d 69 66 2d 6c 65 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..."-if-let"....................
1e4c0 20 20 20 22 2d 69 66 2d 6c 65 74 2a 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..."-if-let*"...................
1e4e0 20 20 20 20 22 2d 6c 61 6d 62 64 61 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...."-lambda"...................
1e500 20 20 20 20 22 2d 6c 65 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...."-let"......................
1e520 20 22 2d 6c 65 74 2a 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 ."-let*"......................."
1e540 2d 73 65 74 71 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 73 -setq"......................."-s
1e560 6f 6d 65 2d 2d 3e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d ome-->"......................."-
1e580 73 6f 6d 65 2d 3e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d some->"......................."-
1e5a0 73 6f 6d 65 2d 3e 3e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 some->>"......................."
1e5c0 2d 73 70 6c 69 74 2d 6f 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -split-on"......................
1e5e0 20 22 2d 77 68 65 6e 2d 6c 65 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ."-when-let"....................
1e600 20 20 20 22 2d 77 68 65 6e 2d 6c 65 74 2a 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 60 28 28 ..."-when-let*")))...........`((
1e620 2c 28 63 6f 6e 63 61 74 20 22 28 22 20 28 72 65 67 65 78 70 2d 6f 70 74 20 6d 61 63 73 20 27 73 ,(concat."(".(regexp-opt.macs.'s
1e640 79 6d 62 6f 6c 73 29 29 20 2e 20 31 29 29 29 29 29 0a 20 20 22 46 6f 6e 74 20 6c 6f 63 6b 20 6b ymbols))...1)))))..."Font.lock.k
1e660 65 79 77 6f 72 64 73 20 66 6f 72 20 60 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 27 2e eywords.for.`dash-fontify-mode'.
1e680 22 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 ")..(defcustom.dash-fontify-mode
1e6a0 2d 6c 69 67 68 74 65 72 20 6e 69 6c 0a 20 20 22 4d 6f 64 65 20 6c 69 6e 65 20 6c 69 67 68 74 65 -lighter.nil..."Mode.line.lighte
1e6c0 72 20 66 6f 72 20 60 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 27 2e 0a 45 69 74 68 65 r.for.`dash-fontify-mode'..Eithe
1e6e0 72 20 61 20 73 74 72 69 6e 67 20 74 6f 20 64 69 73 70 6c 61 79 20 69 6e 20 74 68 65 20 6d 6f 64 r.a.string.to.display.in.the.mod
1e700 65 20 6c 69 6e 65 20 77 68 65 6e 0a 60 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 27 20 e.line.when.`dash-fontify-mode'.
1e720 69 73 20 6f 6e 2c 20 6f 72 20 6e 69 6c 20 74 6f 20 64 69 73 70 6c 61 79 0a 6e 6f 74 68 69 6e 67 is.on,.or.nil.to.display.nothing
1e740 20 28 74 68 65 20 64 65 66 61 75 6c 74 29 2e 22 0a 20 20 3a 70 61 63 6b 61 67 65 2d 76 65 72 73 .(the.default)."...:package-vers
1e760 69 6f 6e 20 27 28 64 61 73 68 20 2e 20 22 32 2e 31 38 2e 30 22 29 0a 20 20 3a 67 72 6f 75 70 20 ion.'(dash..."2.18.0")...:group.
1e780 27 64 61 73 68 0a 20 20 3a 74 79 70 65 20 27 28 63 68 6f 69 63 65 20 28 73 74 72 69 6e 67 20 3a 'dash...:type.'(choice.(string.:
1e7a0 74 61 67 20 22 4c 69 67 68 74 65 72 22 20 3a 76 61 6c 75 65 20 22 20 44 61 73 68 22 29 0a 20 20 tag."Lighter".:value.".Dash")...
1e7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 74 20 3a 74 61 67 20 22 4e 6f 74 68 ...............(const.:tag."Noth
1e7e0 69 6e 67 22 20 6e 69 6c 29 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 ing".nil)))..;;;###autoload.(def
1e800 69 6e 65 2d 6d 69 6e 6f 72 2d 6d 6f 64 65 20 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 ine-minor-mode.dash-fontify-mode
1e820 0a 20 20 22 54 6f 67 67 6c 65 20 66 6f 6e 74 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 44 61 73 68 ..."Toggle.fontification.of.Dash
1e840 20 73 70 65 63 69 61 6c 20 76 61 72 69 61 62 6c 65 73 2e 0a 0a 44 61 73 68 2d 46 6f 6e 74 69 66 .special.variables...Dash-Fontif
1e860 79 20 6d 6f 64 65 20 69 73 20 61 20 62 75 66 66 65 72 2d 6c 6f 63 61 6c 20 6d 69 6e 6f 72 20 6d y.mode.is.a.buffer-local.minor.m
1e880 6f 64 65 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 20 45 6d 61 63 73 0a 4c 69 73 70 20 62 75 66 66 ode.intended.for.Emacs.Lisp.buff
1e8a0 65 72 73 2e 20 20 45 6e 61 62 6c 69 6e 67 20 69 74 20 63 61 75 73 65 73 20 74 68 65 20 73 70 65 ers...Enabling.it.causes.the.spe
1e8c0 63 69 61 6c 20 76 61 72 69 61 62 6c 65 73 20 62 6f 75 6e 64 20 69 6e 0a 61 6e 61 70 68 6f 72 69 cial.variables.bound.in.anaphori
1e8e0 63 20 44 61 73 68 20 6d 61 63 72 6f 73 20 74 6f 20 62 65 20 66 6f 6e 74 69 66 69 65 64 2e 20 20 c.Dash.macros.to.be.fontified...
1e900 54 68 65 73 65 20 61 6e 61 70 68 6f 72 61 73 20 69 6e 63 6c 75 64 65 0a 60 69 74 27 2c 20 60 69 These.anaphoras.include.`it',.`i
1e920 74 2d 69 6e 64 65 78 27 2c 20 60 61 63 63 27 2c 20 61 6e 64 20 60 6f 74 68 65 72 27 2e 20 20 49 t-index',.`acc',.and.`other'...I
1e940 6e 20 6f 6c 64 65 72 20 45 6d 61 63 73 20 76 65 72 73 69 6f 6e 73 0a 77 68 69 63 68 20 64 6f 20 n.older.Emacs.versions.which.do.
1e960 6e 6f 74 20 64 79 6e 61 6d 69 63 61 6c 6c 79 20 64 65 74 65 63 74 20 6d 61 63 72 6f 73 2c 20 44 not.dynamically.detect.macros,.D
1e980 61 73 68 2d 46 6f 6e 74 69 66 79 20 6d 6f 64 65 0a 61 64 64 69 74 69 6f 6e 61 6c 6c 79 20 66 6f ash-Fontify.mode.additionally.fo
1e9a0 6e 74 69 66 69 65 73 20 44 61 73 68 20 6d 61 63 72 6f 20 63 61 6c 6c 73 2e 0a 0a 53 65 65 20 61 ntifies.Dash.macro.calls...See.a
1e9c0 6c 73 6f 20 60 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 2d 6c 69 67 68 74 65 72 27 20 lso.`dash-fontify-mode-lighter'.
1e9e0 61 6e 64 0a 60 67 6c 6f 62 61 6c 2d 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 27 2e 22 and.`global-dash-fontify-mode'."
1ea00 0a 20 20 3a 67 72 6f 75 70 20 27 64 61 73 68 20 3a 6c 69 67 68 74 65 72 20 64 61 73 68 2d 66 6f ...:group.'dash.:lighter.dash-fo
1ea20 6e 74 69 66 79 2d 6d 6f 64 65 2d 6c 69 67 68 74 65 72 0a 20 20 28 69 66 20 64 61 73 68 2d 66 6f ntify-mode-lighter...(if.dash-fo
1ea40 6e 74 69 66 79 2d 6d 6f 64 65 0a 20 20 20 20 20 20 28 66 6f 6e 74 2d 6c 6f 63 6b 2d 61 64 64 2d ntify-mode.......(font-lock-add-
1ea60 6b 65 79 77 6f 72 64 73 20 6e 69 6c 20 64 61 73 68 2d 2d 6b 65 79 77 6f 72 64 73 20 74 29 0a 20 keywords.nil.dash--keywords.t)..
1ea80 20 20 20 28 66 6f 6e 74 2d 6c 6f 63 6b 2d 72 65 6d 6f 76 65 2d 6b 65 79 77 6f 72 64 73 20 6e 69 ...(font-lock-remove-keywords.ni
1eaa0 6c 20 64 61 73 68 2d 2d 6b 65 79 77 6f 72 64 73 29 29 0a 20 20 28 63 6f 6e 64 20 28 28 66 62 6f l.dash--keywords))...(cond.((fbo
1eac0 75 6e 64 70 20 27 66 6f 6e 74 2d 6c 6f 63 6b 2d 66 6c 75 73 68 29 20 3b 3b 20 41 64 64 65 64 20 undp.'font-lock-flush).;;.Added.
1eae0 69 6e 20 45 6d 61 63 73 20 32 35 2e 0a 20 20 20 20 20 20 20 20 20 28 66 6f 6e 74 2d 6c 6f 63 6b in.Emacs.25...........(font-lock
1eb00 2d 66 6c 75 73 68 29 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 60 66 6f 6e 74 2d 6c 6f 63 6b 2d 66 -flush)).........;;.`font-lock-f
1eb20 6f 6e 74 69 66 79 2d 62 75 66 66 65 72 27 20 75 6e 63 6f 6e 64 69 74 69 6f 6e 61 6c 6c 79 20 65 ontify-buffer'.unconditionally.e
1eb40 6e 61 62 6c 65 73 0a 20 20 20 20 20 20 20 20 3b 3b 20 60 66 6f 6e 74 2d 6c 6f 63 6b 2d 6d 6f 64 nables.........;;.`font-lock-mod
1eb60 65 27 20 61 6e 64 20 69 73 20 6d 61 72 6b 65 64 20 60 69 6e 74 65 72 61 63 74 69 76 65 2d 6f 6e e'.and.is.marked.`interactive-on
1eb80 6c 79 27 20 69 6e 20 6c 61 74 65 72 0a 20 20 20 20 20 20 20 20 3b 3b 20 45 6d 61 63 73 20 76 65 ly'.in.later.........;;.Emacs.ve
1eba0 72 73 69 6f 6e 73 20 77 68 69 63 68 20 68 61 76 65 20 60 66 6f 6e 74 2d 6c 6f 63 6b 2d 66 6c 75 rsions.which.have.`font-lock-flu
1ebc0 73 68 27 2c 20 73 6f 20 77 65 20 67 75 61 72 64 0a 20 20 20 20 20 20 20 20 3b 3b 20 61 6e 64 20 sh',.so.we.guard.........;;.and.
1ebe0 70 61 63 69 66 79 20 61 73 20 6e 65 65 64 65 64 2c 20 72 65 73 70 65 63 74 69 76 65 6c 79 2e 0a pacify.as.needed,.respectively..
1ec00 20 20 20 20 20 20 20 20 28 66 6f 6e 74 2d 6c 6f 63 6b 2d 6d 6f 64 65 0a 20 20 20 20 20 20 20 20 ........(font-lock-mode.........
1ec20 20 28 77 69 74 68 2d 6e 6f 2d 77 61 72 6e 69 6e 67 73 0a 20 20 20 20 20 20 20 20 20 20 20 28 66 .(with-no-warnings............(f
1ec40 6f 6e 74 2d 6c 6f 63 6b 2d 66 6f 6e 74 69 66 79 2d 62 75 66 66 65 72 29 29 29 29 29 0a 0a 28 64 ont-lock-fontify-buffer)))))..(d
1ec60 65 66 75 6e 20 64 61 73 68 2d 2d 74 75 72 6e 2d 6f 6e 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 20 efun.dash--turn-on-fontify-mode.
1ec80 28 29 0a 20 20 22 45 6e 61 62 6c 65 20 60 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 27 ()..."Enable.`dash-fontify-mode'
1eca0 20 69 66 20 69 6e 20 61 6e 20 45 6d 61 63 73 20 4c 69 73 70 20 62 75 66 66 65 72 2e 22 0a 20 20 .if.in.an.Emacs.Lisp.buffer."...
1ecc0 28 77 68 65 6e 20 28 64 65 72 69 76 65 64 2d 6d 6f 64 65 2d 70 20 23 27 65 6d 61 63 73 2d 6c 69 (when.(derived-mode-p.#'emacs-li
1ece0 73 70 2d 6d 6f 64 65 29 0a 20 20 20 20 28 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 29 sp-mode).....(dash-fontify-mode)
1ed00 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 69 6e 65 2d 67 6c 6f 62 61 ))..;;;###autoload.(define-globa
1ed20 6c 69 7a 65 64 2d 6d 69 6e 6f 72 2d 6d 6f 64 65 20 67 6c 6f 62 61 6c 2d 64 61 73 68 2d 66 6f 6e lized-minor-mode.global-dash-fon
1ed40 74 69 66 79 2d 6d 6f 64 65 0a 20 20 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 20 64 61 tify-mode...dash-fontify-mode.da
1ed60 73 68 2d 2d 74 75 72 6e 2d 6f 6e 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 0a 20 20 3a 67 72 6f 75 sh--turn-on-fontify-mode...:grou
1ed80 70 20 27 64 61 73 68 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 64 61 73 68 2d 65 6e 61 62 6c 65 p.'dash)..(defcustom.dash-enable
1eda0 2d 66 6f 6e 74 6c 6f 63 6b 20 6e 69 6c 0a 20 20 22 49 66 20 6e 6f 6e 2d 6e 69 6c 2c 20 66 6f 6e -fontlock.nil..."If.non-nil,.fon
1edc0 74 69 66 79 20 44 61 73 68 20 6d 61 63 72 6f 20 63 61 6c 6c 73 20 61 6e 64 20 73 70 65 63 69 61 tify.Dash.macro.calls.and.specia
1ede0 6c 20 76 61 72 69 61 62 6c 65 73 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 64 61 73 68 0a 20 20 3a l.variables."...:group.'dash...:
1ee00 73 65 74 20 28 6c 61 6d 62 64 61 20 28 73 79 6d 20 76 61 6c 29 0a 20 20 20 20 20 20 20 20 20 28 set.(lambda.(sym.val)..........(
1ee20 73 65 74 2d 64 65 66 61 75 6c 74 20 73 79 6d 20 76 61 6c 29 0a 20 20 20 20 20 20 20 20 20 28 67 set-default.sym.val)..........(g
1ee40 6c 6f 62 61 6c 2d 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 20 28 69 66 20 76 61 6c 20 lobal-dash-fontify-mode.(if.val.
1ee60 31 20 30 29 29 29 0a 20 20 3a 74 79 70 65 20 27 62 6f 6f 6c 65 61 6e 29 0a 0a 28 6d 61 6b 65 2d 1.0)))...:type.'boolean)..(make-
1ee80 6f 62 73 6f 6c 65 74 65 2d 76 61 72 69 61 62 6c 65 0a 20 27 64 61 73 68 2d 65 6e 61 62 6c 65 2d obsolete-variable..'dash-enable-
1eea0 66 6f 6e 74 6c 6f 63 6b 20 23 27 67 6c 6f 62 61 6c 2d 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d fontlock.#'global-dash-fontify-m
1eec0 6f 64 65 20 22 32 2e 31 38 2e 30 22 29 0a 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d ode."2.18.0")..(define-obsolete-
1eee0 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 0a 20 20 27 64 61 73 68 2d 65 6e 61 62 6c 65 2d 66 6f function-alias...'dash-enable-fo
1ef00 6e 74 2d 6c 6f 63 6b 20 23 27 67 6c 6f 62 61 6c 2d 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f nt-lock.#'global-dash-fontify-mo
1ef20 64 65 20 22 32 2e 31 38 2e 30 22 29 0a 0c 0a 3b 3b 3b 20 49 6e 66 6f 0a 0a 28 64 65 66 76 61 72 de."2.18.0")...;;;.Info..(defvar
1ef40 20 64 61 73 68 2d 2d 69 6e 66 6f 2d 64 6f 63 2d 73 70 65 63 20 27 28 22 28 64 61 73 68 29 20 49 .dash--info-doc-spec.'("(dash).I
1ef60 6e 64 65 78 22 20 6e 69 6c 20 22 5e 20 2d 2b 20 2e 2a 3a 20 22 20 22 5c 5c 28 20 5c 5c 7c 24 5c ndex".nil."^.-+..*:."."\\(.\\|$\
1ef80 5c 29 22 29 0a 20 20 22 54 68 65 20 44 61 73 68 20 3a 64 6f 63 2d 73 70 65 63 20 65 6e 74 72 79 \)")..."The.Dash.:doc-spec.entry
1efa0 20 66 6f 72 20 60 69 6e 66 6f 2d 6c 6f 6f 6b 75 70 2d 61 6c 69 73 74 27 2e 0a 49 74 20 69 73 20 .for.`info-lookup-alist'..It.is.
1efc0 62 61 73 65 64 20 6f 6e 20 74 68 61 74 20 66 6f 72 20 60 65 6d 61 63 73 2d 6c 69 73 70 2d 6d 6f based.on.that.for.`emacs-lisp-mo
1efe0 64 65 27 2e 22 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 2d 69 6e 66 6f 2d 65 6c 69 73 70 2d de'.")..(defun.dash--info-elisp-
1f000 64 6f 63 73 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 60 65 6d 61 63 73 2d 6c 69 73 docs.()..."Return.the.`emacs-lis
1f020 70 2d 6d 6f 64 65 27 20 73 79 6d 62 6f 6c 20 64 6f 63 73 20 66 72 6f 6d 20 60 69 6e 66 6f 2d 6c p-mode'.symbol.docs.from.`info-l
1f040 6f 6f 6b 75 70 2d 61 6c 69 73 74 27 2e 0a 53 70 65 63 69 66 69 63 61 6c 6c 79 2c 20 72 65 74 75 ookup-alist'..Specifically,.retu
1f060 72 6e 20 74 68 65 20 63 6f 6e 73 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 69 72 0a 60 69 6e rn.the.cons.containing.their.`in
1f080 66 6f 2d 6c 6f 6f 6b 75 70 2d 3e 64 6f 63 2d 73 70 65 63 27 20 73 6f 20 74 68 61 74 20 77 65 20 fo-lookup->doc-spec'.so.that.we.
1f0a0 63 61 6e 20 6d 6f 64 69 66 79 20 69 74 2e 22 0a 20 20 28 64 65 66 76 61 72 20 69 6e 66 6f 2d 6c can.modify.it."...(defvar.info-l
1f0c0 6f 6f 6b 75 70 2d 61 6c 69 73 74 29 0a 20 20 28 6e 74 68 63 64 72 20 33 20 28 61 73 73 71 20 23 ookup-alist)...(nthcdr.3.(assq.#
1f0e0 27 65 6d 61 63 73 2d 6c 69 73 70 2d 6d 6f 64 65 20 28 63 64 72 20 28 61 73 73 71 20 27 73 79 6d 'emacs-lisp-mode.(cdr.(assq.'sym
1f100 62 6f 6c 20 69 6e 66 6f 2d 6c 6f 6f 6b 75 70 2d 61 6c 69 73 74 29 29 29 29 29 0a 0a 3b 3b 3b 23 bol.info-lookup-alist)))))..;;;#
1f120 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 72 65 67 69 73 74 65 72 2d ##autoload.(defun.dash-register-
1f140 69 6e 66 6f 2d 6c 6f 6f 6b 75 70 20 28 29 0a 20 20 22 52 65 67 69 73 74 65 72 20 74 68 65 20 44 info-lookup.()..."Register.the.D
1f160 61 73 68 20 49 6e 66 6f 20 6d 61 6e 75 61 6c 20 77 69 74 68 20 60 69 6e 66 6f 2d 6c 6f 6f 6b 75 ash.Info.manual.with.`info-looku
1f180 70 2d 73 79 6d 62 6f 6c 27 2e 0a 54 68 69 73 20 61 6c 6c 6f 77 73 20 44 61 73 68 20 73 79 6d 62 p-symbol'..This.allows.Dash.symb
1f1a0 6f 6c 73 20 74 6f 20 62 65 20 6c 6f 6f 6b 65 64 20 75 70 20 77 69 74 68 20 5c 5c 5b 69 6e 66 6f ols.to.be.looked.up.with.\\[info
1f1c0 2d 6c 6f 6f 6b 75 70 2d 73 79 6d 62 6f 6c 5d 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 -lookup-symbol]."...(interactive
1f1e0 29 0a 20 20 28 72 65 71 75 69 72 65 20 27 69 6e 66 6f 2d 6c 6f 6f 6b 29 0a 20 20 28 6c 65 74 20 )...(require.'info-look)...(let.
1f200 28 28 64 6f 63 73 20 28 64 61 73 68 2d 2d 69 6e 66 6f 2d 65 6c 69 73 70 2d 64 6f 63 73 29 29 29 ((docs.(dash--info-elisp-docs)))
1f220 0a 20 20 20 20 28 73 65 74 63 61 72 20 64 6f 63 73 20 28 61 70 70 65 6e 64 20 28 63 61 72 20 64 .....(setcar.docs.(append.(car.d
1f240 6f 63 73 29 20 28 6c 69 73 74 20 64 61 73 68 2d 2d 69 6e 66 6f 2d 64 6f 63 2d 73 70 65 63 29 29 ocs).(list.dash--info-doc-spec))
1f260 29 0a 20 20 20 20 28 69 6e 66 6f 2d 6c 6f 6f 6b 75 70 2d 72 65 73 65 74 29 29 29 0a 0a 28 64 65 ).....(info-lookup-reset)))..(de
1f280 66 75 6e 20 64 61 73 68 2d 75 6e 6c 6f 61 64 2d 66 75 6e 63 74 69 6f 6e 20 28 29 0a 20 20 22 52 fun.dash-unload-function.()..."R
1f2a0 65 6d 6f 76 65 20 44 61 73 68 20 66 72 6f 6d 20 60 69 6e 66 6f 2d 6c 6f 6f 6b 75 70 2d 61 6c 69 emove.Dash.from.`info-lookup-ali
1f2c0 73 74 27 2e 0a 55 73 65 64 20 62 79 20 60 75 6e 6c 6f 61 64 2d 66 65 61 74 75 72 65 27 2c 20 77 st'..Used.by.`unload-feature',.w
1f2e0 68 69 63 68 20 73 65 65 2e 22 0a 20 20 28 6c 65 74 20 28 28 64 6f 63 73 20 28 61 6e 64 20 28 66 hich.see."...(let.((docs.(and.(f
1f300 65 61 74 75 72 65 70 20 27 69 6e 66 6f 2d 6c 6f 6f 6b 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 eaturep.'info-look).............
1f320 20 20 20 20 20 20 20 28 64 61 73 68 2d 2d 69 6e 66 6f 2d 65 6c 69 73 70 2d 64 6f 63 73 29 29 29 .......(dash--info-elisp-docs)))
1f340 29 0a 20 20 20 20 28 77 68 65 6e 20 28 6d 65 6d 62 65 72 20 64 61 73 68 2d 2d 69 6e 66 6f 2d 64 ).....(when.(member.dash--info-d
1f360 6f 63 2d 73 70 65 63 20 28 63 61 72 20 64 6f 63 73 29 29 0a 20 20 20 20 20 20 28 73 65 74 63 61 oc-spec.(car.docs)).......(setca
1f380 72 20 64 6f 63 73 20 28 72 65 6d 6f 76 65 20 64 61 73 68 2d 2d 69 6e 66 6f 2d 64 6f 63 2d 73 70 r.docs.(remove.dash--info-doc-sp
1f3a0 65 63 20 28 63 61 72 20 64 6f 63 73 29 29 29 0a 20 20 20 20 20 20 28 69 6e 66 6f 2d 6c 6f 6f 6b ec.(car.docs))).......(info-look
1f3c0 75 70 2d 72 65 73 65 74 29 29 29 0a 20 20 6e 69 6c 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 64 61 up-reset)))...nil)..(provide.'da
1f3e0 73 68 29 0a 3b 3b 3b 20 64 61 73 68 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 sh).;;;.dash.el.ends.here.......
1f400 64 61 73 68 2d 32 2e 31 39 2e 31 2f 64 61 73 68 2d 70 6b 67 2e 65 6c 00 00 00 00 00 00 00 00 00 dash-2.19.1/dash-pkg.el.........
1f420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f460 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
1f480 30 30 30 30 35 31 37 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 32 30 35 00 20 30 00 00 00 0000517.00000000000.013205..0...
1f4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f500 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...................
1f520 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...................
1f540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f600 3b 3b 20 47 65 6e 65 72 61 74 65 64 20 70 61 63 6b 61 67 65 20 64 65 73 63 72 69 70 74 69 6f 6e ;;.Generated.package.description
1f620 20 66 72 6f 6d 20 64 61 73 68 2e 65 6c 20 20 2d 2a 2d 20 6e 6f 2d 62 79 74 65 2d 63 6f 6d 70 69 .from.dash.el..-*-.no-byte-compi
1f640 6c 65 3a 20 74 20 2d 2a 2d 0a 28 64 65 66 69 6e 65 2d 70 61 63 6b 61 67 65 20 22 64 61 73 68 22 le:.t.-*-.(define-package."dash"
1f660 20 22 32 2e 31 39 2e 31 22 20 22 41 20 6d 6f 64 65 72 6e 20 6c 69 73 74 20 6c 69 62 72 61 72 79 ."2.19.1"."A.modern.list.library
1f680 20 66 6f 72 20 45 6d 61 63 73 22 20 27 28 28 65 6d 61 63 73 20 22 32 34 22 29 29 20 3a 6b 65 79 .for.Emacs".'((emacs."24")).:key
1f6a0 77 6f 72 64 73 20 27 28 22 65 78 74 65 6e 73 69 6f 6e 73 22 20 22 6c 69 73 70 22 29 20 3a 61 75 words.'("extensions"."lisp").:au
1f6c0 74 68 6f 72 73 20 27 28 28 22 4d 61 67 6e 61 72 20 53 76 65 65 6e 22 20 2e 20 22 6d 61 67 6e 61 thors.'(("Magnar.Sveen"..."magna
1f6e0 72 73 40 67 6d 61 69 6c 2e 63 6f 6d 22 29 29 20 3a 6d 61 69 6e 74 61 69 6e 65 72 20 27 28 22 4d rs@gmail.com")).:maintainer.'("M
1f700 61 67 6e 61 72 20 53 76 65 65 6e 22 20 2e 20 22 6d 61 67 6e 61 72 73 40 67 6d 61 69 6c 2e 63 6f agnar.Sveen"..."magnars@gmail.co
1f720 6d 22 29 20 3a 75 72 6c 20 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6d 61 67 m").:url."https://github.com/mag
1f740 6e 61 72 73 2f 64 61 73 68 2e 65 6c 22 29 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 nars/dash.el")..................
1f760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f800 64 61 73 68 2d 32 2e 31 39 2e 31 2f 4d 61 6b 65 66 69 6c 65 00 00 00 00 00 00 00 00 00 00 00 00 dash-2.19.1/Makefile............
1f820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f860 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
1f880 30 30 30 33 37 36 32 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 32 36 33 32 00 20 30 00 00 00 0003762.00000000000.012632..0...
1f8a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f8c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f900 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...................
1f920 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...................
1f940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fa00 23 20 4d 61 6b 65 66 69 6c 65 20 66 6f 72 20 44 61 73 68 2e 0a 0a 23 20 43 6f 70 79 72 69 67 68 #.Makefile.for.Dash...#.Copyrigh
1fa20 74 20 28 43 29 20 32 30 32 31 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 t.(C).2021.Free.Software.Foundat
1fa40 69 6f 6e 2c 20 49 6e 63 2e 0a 23 0a 23 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 ion,.Inc..#.#.This.program.is.fr
1fa60 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 ee.software:.you.can.redistribut
1fa80 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 23 20 69 74 20 75 6e 64 65 72 20 74 68 e.it.and/or.modify.#.it.under.th
1faa0 65 20 74 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 e.terms.of.the.GNU.General.Publi
1fac0 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 23 20 74 68 65 20 c.License.as.published.by.#.the.
1fae0 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 Free.Software.Foundation,.either
1fb00 20 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 23 20 .version.3.of.the.License,.or.#.
1fb20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 (at.your.option).any.later.versi
1fb40 6f 6e 2e 0a 23 0a 23 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 on..#.#.This.program.is.distribu
1fb60 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 ted.in.the.hope.that.it.will.be.
1fb80 75 73 65 66 75 6c 2c 0a 23 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e useful,.#.but.WITHOUT.ANY.WARRAN
1fba0 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 TY;.without.even.the.implied.war
1fbc0 72 61 6e 74 79 20 6f 66 0a 23 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 ranty.of.#.MERCHANTABILITY.or.FI
1fbe0 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 TNESS.FOR.A.PARTICULAR.PURPOSE..
1fc00 20 53 65 65 20 74 68 65 0a 23 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 .See.the.#.GNU.General.Public.Li
1fc20 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 23 0a 23 20 59 6f 75 20 cense.for.more.details..#.#.You.
1fc40 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 should.have.received.a.copy.of.t
1fc60 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 23 20 he.GNU.General.Public.License.#.
1fc80 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 along.with.this.program...If.not
1fca0 2c 20 73 65 65 20 3c 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e ,.see.<https://www.gnu.org/licen
1fcc0 73 65 73 2f 3e 2e 0a 0a 23 20 56 61 72 69 61 62 6c 65 73 2e 0a 0a 45 4d 41 43 53 20 3f 3d 20 65 ses/>...#.Variables...EMACS.?=.e
1fce0 6d 61 63 73 0a 62 61 74 63 68 20 3a 3d 20 24 28 45 4d 41 43 53 29 20 2d 51 20 2d 62 61 74 63 68 macs.batch.:=.$(EMACS).-Q.-batch
1fd00 20 2d 4c 20 2e 0a 65 6c 73 20 3a 3d 20 64 61 73 68 2e 65 6c 20 64 65 76 2f 64 61 73 68 2d 64 65 .-L...els.:=.dash.el.dev/dash-de
1fd20 66 73 2e 65 6c 0a 65 6c 63 73 20 3a 3d 20 24 28 61 64 64 73 75 66 66 69 78 20 63 2c 24 28 65 6c fs.el.elcs.:=.$(addsuffix.c,$(el
1fd40 73 29 29 0a 64 6f 63 73 20 3a 3d 20 52 45 41 44 4d 45 2e 6d 64 20 64 61 73 68 2e 74 65 78 69 0a s)).docs.:=.README.md.dash.texi.
1fd60 74 6d 70 6c 73 20 3a 3d 20 72 65 61 64 6d 65 2d 74 65 6d 70 6c 61 74 65 2e 6d 64 20 64 61 73 68 tmpls.:=.readme-template.md.dash
1fd80 2d 74 65 6d 70 6c 61 74 65 2e 74 65 78 69 20 24 28 77 69 6c 64 63 61 72 64 20 64 6f 63 2f 2a 2e -template.texi.$(wildcard.doc/*.
1fda0 74 65 78 69 29 0a 0a 23 20 54 61 72 67 65 74 73 2e 0a 0a 6c 69 73 70 3a 20 24 28 65 6c 63 73 29 texi)..#.Targets...lisp:.$(elcs)
1fdc0 0a 2e 50 48 4f 4e 59 3a 20 6c 69 73 70 0a 0a 64 6f 63 73 3a 20 24 28 64 6f 63 73 29 0a 2e 50 48 ..PHONY:.lisp..docs:.$(docs)..PH
1fde0 4f 4e 59 3a 20 64 6f 63 73 0a 0a 66 6f 72 63 65 2d 64 6f 63 73 3a 20 6d 61 69 6e 74 61 69 6e 65 ONY:.docs..force-docs:.maintaine
1fe00 72 2d 63 6c 65 61 6e 20 64 6f 63 73 0a 2e 50 48 4f 4e 59 3a 20 66 6f 72 63 65 2d 64 6f 63 73 0a r-clean.docs..PHONY:.force-docs.
1fe20 0a 23 20 45 52 54 5f 53 45 4c 45 43 54 4f 52 20 69 73 20 61 20 4c 69 73 70 20 65 78 70 72 65 73 .#.ERT_SELECTOR.is.a.Lisp.expres
1fe40 73 69 6f 6e 20 64 65 74 65 72 6d 69 6e 69 6e 67 20 77 68 69 63 68 20 74 65 73 74 73 20 74 6f 20 sion.determining.which.tests.to.
1fe60 72 75 6e 2e 0a 23 20 49 74 73 20 66 6f 72 6d 61 74 20 69 73 20 64 65 73 63 72 69 62 65 64 20 69 run..#.Its.format.is.described.i
1fe80 6e 20 28 69 6e 66 6f 20 22 28 65 72 74 29 20 54 65 73 74 20 53 65 6c 65 63 74 6f 72 73 22 29 2e n.(info."(ert).Test.Selectors").
1fea0 20 20 49 74 0a 23 20 64 65 66 61 75 6c 74 73 20 74 6f 20 73 65 6c 65 63 74 69 6e 67 20 61 6c 6c ..It.#.defaults.to.selecting.all
1fec0 20 74 65 73 74 73 2e 20 20 4e 6f 74 65 20 74 68 61 74 20 69 6e 20 62 61 74 63 68 20 6d 6f 64 65 .tests...Note.that.in.batch.mode
1fee0 2c 20 61 20 6e 69 6c 0a 23 20 73 65 6c 65 63 74 6f 72 20 69 73 20 74 68 65 20 73 61 6d 65 20 61 ,.a.nil.#.selector.is.the.same.a
1ff00 73 20 74 2e 0a 63 68 65 63 6b 3a 20 45 52 54 5f 53 45 4c 45 43 54 4f 52 20 3f 3d 20 74 0a 63 68 s.t..check:.ERT_SELECTOR.?=.t.ch
1ff20 65 63 6b 3a 20 72 75 6e 20 3a 3d 20 27 28 65 72 74 2d 72 75 6e 2d 74 65 73 74 73 2d 62 61 74 63 eck:.run.:=.'(ert-run-tests-batc
1ff40 68 2d 61 6e 64 2d 65 78 69 74 20 28 71 75 6f 74 65 20 24 28 45 52 54 5f 53 45 4c 45 43 54 4f 52 h-and-exit.(quote.$(ERT_SELECTOR
1ff60 29 29 29 27 0a 63 68 65 63 6b 3a 20 6c 69 73 70 0a 09 45 4d 41 43 53 5f 54 45 53 54 5f 56 45 52 )))'.check:.lisp..EMACS_TEST_VER
1ff80 42 4f 53 45 3d 20 24 28 62 61 74 63 68 29 20 2d 6c 20 64 65 76 2f 65 78 61 6d 70 6c 65 73 2e 65 BOSE=.$(batch).-l.dev/examples.e
1ffa0 6c 20 2d 65 76 61 6c 20 24 28 72 75 6e 29 0a 2e 50 48 4f 4e 59 3a 20 63 68 65 63 6b 0a 0a 61 6c l.-eval.$(run)..PHONY:.check..al
1ffc0 6c 3a 20 6c 69 73 70 20 64 6f 63 73 20 63 68 65 63 6b 0a 2e 50 48 4f 4e 59 3a 20 61 6c 6c 0a 0a l:.lisp.docs.check..PHONY:.all..
1ffe0 66 6f 72 63 65 2d 61 6c 6c 3a 20 6d 61 69 6e 74 61 69 6e 65 72 2d 63 6c 65 61 6e 20 6c 69 73 70 force-all:.maintainer-clean.lisp
20000 20 64 6f 63 73 20 63 68 65 63 6b 0a 2e 50 48 4f 4e 59 3a 20 66 6f 72 63 65 2d 61 6c 6c 0a 0a 63 .docs.check..PHONY:.force-all..c
20020 6c 65 61 6e 3a 0a 09 24 28 52 4d 29 20 24 28 65 6c 63 73 29 0a 2e 50 48 4f 4e 59 3a 20 63 6c 65 lean:..$(RM).$(elcs)..PHONY:.cle
20040 61 6e 0a 0a 6d 61 69 6e 74 61 69 6e 65 72 2d 63 6c 65 61 6e 3a 20 76 65 72 20 3a 3d 20 32 36 0a an..maintainer-clean:.ver.:=.26.
20060 6d 61 69 6e 74 61 69 6e 65 72 2d 63 6c 65 61 6e 3a 20 6d 73 67 20 3a 3d 20 44 6f 63 20 72 65 67 maintainer-clean:.msg.:=.Doc.reg
20080 65 6e 65 72 61 74 69 6f 6e 20 72 65 71 75 69 72 65 73 20 24 28 76 65 72 29 2b 0a 6d 61 69 6e 74 eneration.requires.$(ver)+.maint
200a0 61 69 6e 65 72 2d 63 6c 65 61 6e 3a 20 63 6c 65 61 6e 0a 09 24 28 62 61 74 63 68 29 20 2d 65 76 ainer-clean:.clean..$(batch).-ev
200c0 61 6c 20 27 28 69 66 20 28 3c 20 65 6d 61 63 73 2d 6d 61 6a 6f 72 2d 76 65 72 73 69 6f 6e 20 24 al.'(if.(<.emacs-major-version.$
200e0 28 76 65 72 29 29 20 28 65 72 72 6f 72 20 22 24 28 6d 73 67 29 22 29 29 27 0a 09 24 28 52 4d 29 (ver)).(error."$(msg)"))'..$(RM)
20100 20 24 28 64 6f 63 73 29 0a 2e 50 48 4f 4e 59 3a 20 6d 61 69 6e 74 61 69 6e 65 72 2d 63 6c 65 61 .$(docs)..PHONY:.maintainer-clea
20120 6e 0a 0a 23 20 46 69 6c 65 73 2e 0a 0a 25 2e 65 6c 63 3a 20 57 45 52 52 4f 52 20 3a 3d 20 27 28 n..#.Files...%.elc:.WERROR.:=.'(
20140 73 65 74 71 20 62 79 74 65 2d 63 6f 6d 70 69 6c 65 2d 65 72 72 6f 72 2d 6f 6e 2d 77 61 72 6e 20 setq.byte-compile-error-on-warn.
20160 74 29 27 0a 25 2e 65 6c 63 3a 20 25 2e 65 6c 0a 09 24 28 62 61 74 63 68 29 20 2d 65 76 61 6c 20 t)'.%.elc:.%.el..$(batch).-eval.
20180 24 28 57 45 52 52 4f 52 29 20 2d 66 20 62 61 74 63 68 2d 62 79 74 65 2d 63 6f 6d 70 69 6c 65 20 $(WERROR).-f.batch-byte-compile.
201a0 24 3c 0a 0a 24 28 64 6f 63 73 29 20 26 3a 20 64 65 76 2f 65 78 61 6d 70 6c 65 73 2e 65 6c 20 24 $<..$(docs).&:.dev/examples.el.$
201c0 28 65 6c 63 73 29 20 24 28 74 6d 70 6c 73 29 0a 09 24 28 62 61 74 63 68 29 20 2d 6c 20 24 3c 20 (elcs).$(tmpls)..$(batch).-l.$<.
201e0 2d 66 20 64 61 73 68 2d 6d 61 6b 65 2d 64 6f 63 73 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -f.dash-make-docs...............
20200 64 61 73 68 2d 32 2e 31 39 2e 31 2f 43 61 73 6b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 dash-2.19.1/Cask................
20220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20260 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
20280 30 30 30 30 30 33 31 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 31 37 36 30 00 20 30 00 00 00 0000031.00000000000.011760..0...
202a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
202c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
202e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20300 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...................
20320 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...................
20340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
203a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
203c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
203e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20400 28 70 61 63 6b 61 67 65 2d 66 69 6c 65 20 22 64 61 73 68 2e 65 6c 22 29 0a 00 00 00 00 00 00 00 (package-file."dash.el")........
20420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
204a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
204c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
204e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
205a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
205c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
205e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20600 64 61 73 68 2d 32 2e 31 39 2e 31 2f 64 65 76 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 dash-2.19.1/dev/................
20620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20660 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
20680 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 31 37 34 30 00 20 35 00 00 00 0000000.00000000000.011740..5...
206a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
206c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
206e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20700 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...................
20720 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...................
20740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
207a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
207c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
207e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20800 64 61 73 68 2d 32 2e 31 39 2e 31 2f 4c 49 43 45 4e 53 45 00 00 00 00 00 00 00 00 00 00 00 00 00 dash-2.19.1/LICENSE.............
20820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20860 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
20880 30 31 30 34 35 31 35 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 32 31 37 35 00 20 30 00 00 00 0104515.00000000000.012175..0...
208a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
208c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
208e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20900 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...................
20920 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...................
20940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
209a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
209c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
209e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 47 4e 55 20 47 45 4e 45 52 41 4c 20 ....................GNU.GENERAL.
20a20 50 55 42 4c 49 43 20 4c 49 43 45 4e 53 45 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 PUBLIC.LICENSE..................
20a40 20 20 20 20 20 20 56 65 72 73 69 6f 6e 20 33 2c 20 32 39 20 4a 75 6e 65 20 32 30 30 37 0a 0a 20 ......Version.3,.29.June.2007...
20a60 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 37 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 Copyright.(C).2007.Free.Software
20a80 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 20 3c 68 74 74 70 73 3a 2f 2f 66 73 66 2e 6f .Foundation,.Inc..<https://fsf.o
20aa0 72 67 2f 3e 0a 20 45 76 65 72 79 6f 6e 65 20 69 73 20 70 65 72 6d 69 74 74 65 64 20 74 6f 20 63 rg/>..Everyone.is.permitted.to.c
20ac0 6f 70 79 20 61 6e 64 20 64 69 73 74 72 69 62 75 74 65 20 76 65 72 62 61 74 69 6d 20 63 6f 70 69 opy.and.distribute.verbatim.copi
20ae0 65 73 0a 20 6f 66 20 74 68 69 73 20 6c 69 63 65 6e 73 65 20 64 6f 63 75 6d 65 6e 74 2c 20 62 75 es..of.this.license.document,.bu
20b00 74 20 63 68 61 6e 67 69 6e 67 20 69 74 20 69 73 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 2e 0a 0a 20 t.changing.it.is.not.allowed....
20b20 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 50 72 65 61 6d ...........................Pream
20b40 62 6c 65 0a 0a 20 20 54 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 ble....The.GNU.General.Public.Li
20b60 63 65 6e 73 65 20 69 73 20 61 20 66 72 65 65 2c 20 63 6f 70 79 6c 65 66 74 20 6c 69 63 65 6e 73 cense.is.a.free,.copyleft.licens
20b80 65 20 66 6f 72 0a 73 6f 66 74 77 61 72 65 20 61 6e 64 20 6f 74 68 65 72 20 6b 69 6e 64 73 20 6f e.for.software.and.other.kinds.o
20ba0 66 20 77 6f 72 6b 73 2e 0a 0a 20 20 54 68 65 20 6c 69 63 65 6e 73 65 73 20 66 6f 72 20 6d 6f 73 f.works.....The.licenses.for.mos
20bc0 74 20 73 6f 66 74 77 61 72 65 20 61 6e 64 20 6f 74 68 65 72 20 70 72 61 63 74 69 63 61 6c 20 77 t.software.and.other.practical.w
20be0 6f 72 6b 73 20 61 72 65 20 64 65 73 69 67 6e 65 64 0a 74 6f 20 74 61 6b 65 20 61 77 61 79 20 79 orks.are.designed.to.take.away.y
20c00 6f 75 72 20 66 72 65 65 64 6f 6d 20 74 6f 20 73 68 61 72 65 20 61 6e 64 20 63 68 61 6e 67 65 20 our.freedom.to.share.and.change.
20c20 74 68 65 20 77 6f 72 6b 73 2e 20 20 42 79 20 63 6f 6e 74 72 61 73 74 2c 0a 74 68 65 20 47 4e 55 the.works...By.contrast,.the.GNU
20c40 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 69 73 20 69 6e 74 65 6e .General.Public.License.is.inten
20c60 64 65 64 20 74 6f 20 67 75 61 72 61 6e 74 65 65 20 79 6f 75 72 20 66 72 65 65 64 6f 6d 20 74 6f ded.to.guarantee.your.freedom.to
20c80 0a 73 68 61 72 65 20 61 6e 64 20 63 68 61 6e 67 65 20 61 6c 6c 20 76 65 72 73 69 6f 6e 73 20 6f .share.and.change.all.versions.o
20ca0 66 20 61 20 70 72 6f 67 72 61 6d 2d 2d 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 69 74 20 72 65 6d f.a.program--to.make.sure.it.rem
20cc0 61 69 6e 73 20 66 72 65 65 0a 73 6f 66 74 77 61 72 65 20 66 6f 72 20 61 6c 6c 20 69 74 73 20 75 ains.free.software.for.all.its.u
20ce0 73 65 72 73 2e 20 20 57 65 2c 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 sers...We,.the.Free.Software.Fou
20d00 6e 64 61 74 69 6f 6e 2c 20 75 73 65 20 74 68 65 0a 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 ndation,.use.the.GNU.General.Pub
20d20 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 73 74 20 6f 66 20 6f 75 72 20 73 6f 66 74 lic.License.for.most.of.our.soft
20d40 77 61 72 65 3b 20 69 74 20 61 70 70 6c 69 65 73 20 61 6c 73 6f 20 74 6f 0a 61 6e 79 20 6f 74 68 ware;.it.applies.also.to.any.oth
20d60 65 72 20 77 6f 72 6b 20 72 65 6c 65 61 73 65 64 20 74 68 69 73 20 77 61 79 20 62 79 20 69 74 73 er.work.released.this.way.by.its
20d80 20 61 75 74 68 6f 72 73 2e 20 20 59 6f 75 20 63 61 6e 20 61 70 70 6c 79 20 69 74 20 74 6f 0a 79 .authors...You.can.apply.it.to.y
20da0 6f 75 72 20 70 72 6f 67 72 61 6d 73 2c 20 74 6f 6f 2e 0a 0a 20 20 57 68 65 6e 20 77 65 20 73 70 our.programs,.too.....When.we.sp
20dc0 65 61 6b 20 6f 66 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 2c 20 77 65 20 61 72 65 20 72 65 66 eak.of.free.software,.we.are.ref
20de0 65 72 72 69 6e 67 20 74 6f 20 66 72 65 65 64 6f 6d 2c 20 6e 6f 74 0a 70 72 69 63 65 2e 20 20 4f erring.to.freedom,.not.price...O
20e00 75 72 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 73 20 61 72 65 20 64 ur.General.Public.Licenses.are.d
20e20 65 73 69 67 6e 65 64 20 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 74 68 61 74 20 79 6f 75 0a 68 61 esigned.to.make.sure.that.you.ha
20e40 76 65 20 74 68 65 20 66 72 65 65 64 6f 6d 20 74 6f 20 64 69 73 74 72 69 62 75 74 65 20 63 6f 70 ve.the.freedom.to.distribute.cop
20e60 69 65 73 20 6f 66 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 20 28 61 6e 64 20 63 68 61 72 67 65 ies.of.free.software.(and.charge
20e80 20 66 6f 72 0a 74 68 65 6d 20 69 66 20 79 6f 75 20 77 69 73 68 29 2c 20 74 68 61 74 20 79 6f 75 .for.them.if.you.wish),.that.you
20ea0 20 72 65 63 65 69 76 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 6f 72 20 63 61 6e 20 67 65 74 20 .receive.source.code.or.can.get.
20ec0 69 74 20 69 66 20 79 6f 75 0a 77 61 6e 74 20 69 74 2c 20 74 68 61 74 20 79 6f 75 20 63 61 6e 20 it.if.you.want.it,.that.you.can.
20ee0 63 68 61 6e 67 65 20 74 68 65 20 73 6f 66 74 77 61 72 65 20 6f 72 20 75 73 65 20 70 69 65 63 65 change.the.software.or.use.piece
20f00 73 20 6f 66 20 69 74 20 69 6e 20 6e 65 77 0a 66 72 65 65 20 70 72 6f 67 72 61 6d 73 2c 20 61 6e s.of.it.in.new.free.programs,.an
20f20 64 20 74 68 61 74 20 79 6f 75 20 6b 6e 6f 77 20 79 6f 75 20 63 61 6e 20 64 6f 20 74 68 65 73 65 d.that.you.know.you.can.do.these
20f40 20 74 68 69 6e 67 73 2e 0a 0a 20 20 54 6f 20 70 72 6f 74 65 63 74 20 79 6f 75 72 20 72 69 67 68 .things.....To.protect.your.righ
20f60 74 73 2c 20 77 65 20 6e 65 65 64 20 74 6f 20 70 72 65 76 65 6e 74 20 6f 74 68 65 72 73 20 66 72 ts,.we.need.to.prevent.others.fr
20f80 6f 6d 20 64 65 6e 79 69 6e 67 20 79 6f 75 0a 74 68 65 73 65 20 72 69 67 68 74 73 20 6f 72 20 61 om.denying.you.these.rights.or.a
20fa0 73 6b 69 6e 67 20 79 6f 75 20 74 6f 20 73 75 72 72 65 6e 64 65 72 20 74 68 65 20 72 69 67 68 74 sking.you.to.surrender.the.right
20fc0 73 2e 20 20 54 68 65 72 65 66 6f 72 65 2c 20 79 6f 75 20 68 61 76 65 0a 63 65 72 74 61 69 6e 20 s...Therefore,.you.have.certain.
20fe0 72 65 73 70 6f 6e 73 69 62 69 6c 69 74 69 65 73 20 69 66 20 79 6f 75 20 64 69 73 74 72 69 62 75 responsibilities.if.you.distribu
21000 74 65 20 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 73 6f 66 74 77 61 72 65 2c 20 6f 72 20 69 66 te.copies.of.the.software,.or.if
21020 0a 79 6f 75 20 6d 6f 64 69 66 79 20 69 74 3a 20 72 65 73 70 6f 6e 73 69 62 69 6c 69 74 69 65 73 .you.modify.it:.responsibilities
21040 20 74 6f 20 72 65 73 70 65 63 74 20 74 68 65 20 66 72 65 65 64 6f 6d 20 6f 66 20 6f 74 68 65 72 .to.respect.the.freedom.of.other
21060 73 2e 0a 0a 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 69 66 20 79 6f 75 20 64 69 73 74 72 69 s.....For.example,.if.you.distri
21080 62 75 74 65 20 63 6f 70 69 65 73 20 6f 66 20 73 75 63 68 20 61 20 70 72 6f 67 72 61 6d 2c 20 77 bute.copies.of.such.a.program,.w
210a0 68 65 74 68 65 72 0a 67 72 61 74 69 73 20 6f 72 20 66 6f 72 20 61 20 66 65 65 2c 20 79 6f 75 20 hether.gratis.or.for.a.fee,.you.
210c0 6d 75 73 74 20 70 61 73 73 20 6f 6e 20 74 6f 20 74 68 65 20 72 65 63 69 70 69 65 6e 74 73 20 74 must.pass.on.to.the.recipients.t
210e0 68 65 20 73 61 6d 65 0a 66 72 65 65 64 6f 6d 73 20 74 68 61 74 20 79 6f 75 20 72 65 63 65 69 76 he.same.freedoms.that.you.receiv
21100 65 64 2e 20 20 59 6f 75 20 6d 75 73 74 20 6d 61 6b 65 20 73 75 72 65 20 74 68 61 74 20 74 68 65 ed...You.must.make.sure.that.the
21120 79 2c 20 74 6f 6f 2c 20 72 65 63 65 69 76 65 0a 6f 72 20 63 61 6e 20 67 65 74 20 74 68 65 20 73 y,.too,.receive.or.can.get.the.s
21140 6f 75 72 63 65 20 63 6f 64 65 2e 20 20 41 6e 64 20 79 6f 75 20 6d 75 73 74 20 73 68 6f 77 20 74 ource.code...And.you.must.show.t
21160 68 65 6d 20 74 68 65 73 65 20 74 65 72 6d 73 20 73 6f 20 74 68 65 79 0a 6b 6e 6f 77 20 74 68 65 hem.these.terms.so.they.know.the
21180 69 72 20 72 69 67 68 74 73 2e 0a 0a 20 20 44 65 76 65 6c 6f 70 65 72 73 20 74 68 61 74 20 75 73 ir.rights.....Developers.that.us
211a0 65 20 74 68 65 20 47 4e 55 20 47 50 4c 20 70 72 6f 74 65 63 74 20 79 6f 75 72 20 72 69 67 68 74 e.the.GNU.GPL.protect.your.right
211c0 73 20 77 69 74 68 20 74 77 6f 20 73 74 65 70 73 3a 0a 28 31 29 20 61 73 73 65 72 74 20 63 6f 70 s.with.two.steps:.(1).assert.cop
211e0 79 72 69 67 68 74 20 6f 6e 20 74 68 65 20 73 6f 66 74 77 61 72 65 2c 20 61 6e 64 20 28 32 29 20 yright.on.the.software,.and.(2).
21200 6f 66 66 65 72 20 79 6f 75 20 74 68 69 73 20 4c 69 63 65 6e 73 65 0a 67 69 76 69 6e 67 20 79 6f offer.you.this.License.giving.yo
21220 75 20 6c 65 67 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 63 6f 70 79 2c 20 64 69 73 74 u.legal.permission.to.copy,.dist
21240 72 69 62 75 74 65 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 20 69 74 2e 0a 0a 20 20 46 6f 72 20 ribute.and/or.modify.it.....For.
21260 74 68 65 20 64 65 76 65 6c 6f 70 65 72 73 27 20 61 6e 64 20 61 75 74 68 6f 72 73 27 20 70 72 6f the.developers'.and.authors'.pro
21280 74 65 63 74 69 6f 6e 2c 20 74 68 65 20 47 50 4c 20 63 6c 65 61 72 6c 79 20 65 78 70 6c 61 69 6e tection,.the.GPL.clearly.explain
212a0 73 0a 74 68 61 74 20 74 68 65 72 65 20 69 73 20 6e 6f 20 77 61 72 72 61 6e 74 79 20 66 6f 72 20 s.that.there.is.no.warranty.for.
212c0 74 68 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 2e 20 20 46 6f 72 20 62 6f 74 68 20 75 73 this.free.software...For.both.us
212e0 65 72 73 27 20 61 6e 64 0a 61 75 74 68 6f 72 73 27 20 73 61 6b 65 2c 20 74 68 65 20 47 50 4c 20 ers'.and.authors'.sake,.the.GPL.
21300 72 65 71 75 69 72 65 73 20 74 68 61 74 20 6d 6f 64 69 66 69 65 64 20 76 65 72 73 69 6f 6e 73 20 requires.that.modified.versions.
21320 62 65 20 6d 61 72 6b 65 64 20 61 73 0a 63 68 61 6e 67 65 64 2c 20 73 6f 20 74 68 61 74 20 74 68 be.marked.as.changed,.so.that.th
21340 65 69 72 20 70 72 6f 62 6c 65 6d 73 20 77 69 6c 6c 20 6e 6f 74 20 62 65 20 61 74 74 72 69 62 75 eir.problems.will.not.be.attribu
21360 74 65 64 20 65 72 72 6f 6e 65 6f 75 73 6c 79 20 74 6f 0a 61 75 74 68 6f 72 73 20 6f 66 20 70 72 ted.erroneously.to.authors.of.pr
21380 65 76 69 6f 75 73 20 76 65 72 73 69 6f 6e 73 2e 0a 0a 20 20 53 6f 6d 65 20 64 65 76 69 63 65 73 evious.versions.....Some.devices
213a0 20 61 72 65 20 64 65 73 69 67 6e 65 64 20 74 6f 20 64 65 6e 79 20 75 73 65 72 73 20 61 63 63 65 .are.designed.to.deny.users.acce
213c0 73 73 20 74 6f 20 69 6e 73 74 61 6c 6c 20 6f 72 20 72 75 6e 0a 6d 6f 64 69 66 69 65 64 20 76 65 ss.to.install.or.run.modified.ve
213e0 72 73 69 6f 6e 73 20 6f 66 20 74 68 65 20 73 6f 66 74 77 61 72 65 20 69 6e 73 69 64 65 20 74 68 rsions.of.the.software.inside.th
21400 65 6d 2c 20 61 6c 74 68 6f 75 67 68 20 74 68 65 20 6d 61 6e 75 66 61 63 74 75 72 65 72 0a 63 61 em,.although.the.manufacturer.ca
21420 6e 20 64 6f 20 73 6f 2e 20 20 54 68 69 73 20 69 73 20 66 75 6e 64 61 6d 65 6e 74 61 6c 6c 79 20 n.do.so...This.is.fundamentally.
21440 69 6e 63 6f 6d 70 61 74 69 62 6c 65 20 77 69 74 68 20 74 68 65 20 61 69 6d 20 6f 66 0a 70 72 6f incompatible.with.the.aim.of.pro
21460 74 65 63 74 69 6e 67 20 75 73 65 72 73 27 20 66 72 65 65 64 6f 6d 20 74 6f 20 63 68 61 6e 67 65 tecting.users'.freedom.to.change
21480 20 74 68 65 20 73 6f 66 74 77 61 72 65 2e 20 20 54 68 65 20 73 79 73 74 65 6d 61 74 69 63 0a 70 .the.software...The.systematic.p
214a0 61 74 74 65 72 6e 20 6f 66 20 73 75 63 68 20 61 62 75 73 65 20 6f 63 63 75 72 73 20 69 6e 20 74 attern.of.such.abuse.occurs.in.t
214c0 68 65 20 61 72 65 61 20 6f 66 20 70 72 6f 64 75 63 74 73 20 66 6f 72 20 69 6e 64 69 76 69 64 75 he.area.of.products.for.individu
214e0 61 6c 73 20 74 6f 0a 75 73 65 2c 20 77 68 69 63 68 20 69 73 20 70 72 65 63 69 73 65 6c 79 20 77 als.to.use,.which.is.precisely.w
21500 68 65 72 65 20 69 74 20 69 73 20 6d 6f 73 74 20 75 6e 61 63 63 65 70 74 61 62 6c 65 2e 20 20 54 here.it.is.most.unacceptable...T
21520 68 65 72 65 66 6f 72 65 2c 20 77 65 0a 68 61 76 65 20 64 65 73 69 67 6e 65 64 20 74 68 69 73 20 herefore,.we.have.designed.this.
21540 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 65 20 47 50 4c 20 74 6f 20 70 72 6f 68 69 62 69 74 20 74 version.of.the.GPL.to.prohibit.t
21560 68 65 20 70 72 61 63 74 69 63 65 20 66 6f 72 20 74 68 6f 73 65 0a 70 72 6f 64 75 63 74 73 2e 20 he.practice.for.those.products..
21580 20 49 66 20 73 75 63 68 20 70 72 6f 62 6c 65 6d 73 20 61 72 69 73 65 20 73 75 62 73 74 61 6e 74 .If.such.problems.arise.substant
215a0 69 61 6c 6c 79 20 69 6e 20 6f 74 68 65 72 20 64 6f 6d 61 69 6e 73 2c 20 77 65 0a 73 74 61 6e 64 ially.in.other.domains,.we.stand
215c0 20 72 65 61 64 79 20 74 6f 20 65 78 74 65 6e 64 20 74 68 69 73 20 70 72 6f 76 69 73 69 6f 6e 20 .ready.to.extend.this.provision.
215e0 74 6f 20 74 68 6f 73 65 20 64 6f 6d 61 69 6e 73 20 69 6e 20 66 75 74 75 72 65 20 76 65 72 73 69 to.those.domains.in.future.versi
21600 6f 6e 73 0a 6f 66 20 74 68 65 20 47 50 4c 2c 20 61 73 20 6e 65 65 64 65 64 20 74 6f 20 70 72 6f ons.of.the.GPL,.as.needed.to.pro
21620 74 65 63 74 20 74 68 65 20 66 72 65 65 64 6f 6d 20 6f 66 20 75 73 65 72 73 2e 0a 0a 20 20 46 69 tect.the.freedom.of.users.....Fi
21640 6e 61 6c 6c 79 2c 20 65 76 65 72 79 20 70 72 6f 67 72 61 6d 20 69 73 20 74 68 72 65 61 74 65 6e nally,.every.program.is.threaten
21660 65 64 20 63 6f 6e 73 74 61 6e 74 6c 79 20 62 79 20 73 6f 66 74 77 61 72 65 20 70 61 74 65 6e 74 ed.constantly.by.software.patent
21680 73 2e 0a 53 74 61 74 65 73 20 73 68 6f 75 6c 64 20 6e 6f 74 20 61 6c 6c 6f 77 20 70 61 74 65 6e s..States.should.not.allow.paten
216a0 74 73 20 74 6f 20 72 65 73 74 72 69 63 74 20 64 65 76 65 6c 6f 70 6d 65 6e 74 20 61 6e 64 20 75 ts.to.restrict.development.and.u
216c0 73 65 20 6f 66 0a 73 6f 66 74 77 61 72 65 20 6f 6e 20 67 65 6e 65 72 61 6c 2d 70 75 72 70 6f 73 se.of.software.on.general-purpos
216e0 65 20 63 6f 6d 70 75 74 65 72 73 2c 20 62 75 74 20 69 6e 20 74 68 6f 73 65 20 74 68 61 74 20 64 e.computers,.but.in.those.that.d
21700 6f 2c 20 77 65 20 77 69 73 68 20 74 6f 0a 61 76 6f 69 64 20 74 68 65 20 73 70 65 63 69 61 6c 20 o,.we.wish.to.avoid.the.special.
21720 64 61 6e 67 65 72 20 74 68 61 74 20 70 61 74 65 6e 74 73 20 61 70 70 6c 69 65 64 20 74 6f 20 61 danger.that.patents.applied.to.a
21740 20 66 72 65 65 20 70 72 6f 67 72 61 6d 20 63 6f 75 6c 64 0a 6d 61 6b 65 20 69 74 20 65 66 66 65 .free.program.could.make.it.effe
21760 63 74 69 76 65 6c 79 20 70 72 6f 70 72 69 65 74 61 72 79 2e 20 20 54 6f 20 70 72 65 76 65 6e 74 ctively.proprietary...To.prevent
21780 20 74 68 69 73 2c 20 74 68 65 20 47 50 4c 20 61 73 73 75 72 65 73 20 74 68 61 74 0a 70 61 74 65 .this,.the.GPL.assures.that.pate
217a0 6e 74 73 20 63 61 6e 6e 6f 74 20 62 65 20 75 73 65 64 20 74 6f 20 72 65 6e 64 65 72 20 74 68 65 nts.cannot.be.used.to.render.the
217c0 20 70 72 6f 67 72 61 6d 20 6e 6f 6e 2d 66 72 65 65 2e 0a 0a 20 20 54 68 65 20 70 72 65 63 69 73 .program.non-free.....The.precis
217e0 65 20 74 65 72 6d 73 20 61 6e 64 20 63 6f 6e 64 69 74 69 6f 6e 73 20 66 6f 72 20 63 6f 70 79 69 e.terms.and.conditions.for.copyi
21800 6e 67 2c 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 61 6e 64 0a 6d 6f 64 69 66 69 63 61 74 69 6f ng,.distribution.and.modificatio
21820 6e 20 66 6f 6c 6c 6f 77 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 n.follow........................
21840 20 20 54 45 52 4d 53 20 41 4e 44 20 43 4f 4e 44 49 54 49 4f 4e 53 0a 0a 20 20 30 2e 20 44 65 66 ..TERMS.AND.CONDITIONS....0..Def
21860 69 6e 69 74 69 6f 6e 73 2e 0a 0a 20 20 22 54 68 69 73 20 4c 69 63 65 6e 73 65 22 20 72 65 66 65 initions....."This.License".refe
21880 72 73 20 74 6f 20 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 rs.to.version.3.of.the.GNU.Gener
218a0 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 22 43 6f 70 79 72 69 67 68 74 al.Public.License....."Copyright
218c0 22 20 61 6c 73 6f 20 6d 65 61 6e 73 20 63 6f 70 79 72 69 67 68 74 2d 6c 69 6b 65 20 6c 61 77 73 ".also.means.copyright-like.laws
218e0 20 74 68 61 74 20 61 70 70 6c 79 20 74 6f 20 6f 74 68 65 72 20 6b 69 6e 64 73 20 6f 66 0a 77 6f .that.apply.to.other.kinds.of.wo
21900 72 6b 73 2c 20 73 75 63 68 20 61 73 20 73 65 6d 69 63 6f 6e 64 75 63 74 6f 72 20 6d 61 73 6b 73 rks,.such.as.semiconductor.masks
21920 2e 0a 0a 20 20 22 54 68 65 20 50 72 6f 67 72 61 6d 22 20 72 65 66 65 72 73 20 74 6f 20 61 6e 79 ....."The.Program".refers.to.any
21940 20 63 6f 70 79 72 69 67 68 74 61 62 6c 65 20 77 6f 72 6b 20 6c 69 63 65 6e 73 65 64 20 75 6e 64 .copyrightable.work.licensed.und
21960 65 72 20 74 68 69 73 0a 4c 69 63 65 6e 73 65 2e 20 20 45 61 63 68 20 6c 69 63 65 6e 73 65 65 20 er.this.License...Each.licensee.
21980 69 73 20 61 64 64 72 65 73 73 65 64 20 61 73 20 22 79 6f 75 22 2e 20 20 22 4c 69 63 65 6e 73 65 is.addressed.as."you"..."License
219a0 65 73 22 20 61 6e 64 0a 22 72 65 63 69 70 69 65 6e 74 73 22 20 6d 61 79 20 62 65 20 69 6e 64 69 es".and."recipients".may.be.indi
219c0 76 69 64 75 61 6c 73 20 6f 72 20 6f 72 67 61 6e 69 7a 61 74 69 6f 6e 73 2e 0a 0a 20 20 54 6f 20 viduals.or.organizations.....To.
219e0 22 6d 6f 64 69 66 79 22 20 61 20 77 6f 72 6b 20 6d 65 61 6e 73 20 74 6f 20 63 6f 70 79 20 66 72 "modify".a.work.means.to.copy.fr
21a00 6f 6d 20 6f 72 20 61 64 61 70 74 20 61 6c 6c 20 6f 72 20 70 61 72 74 20 6f 66 20 74 68 65 20 77 om.or.adapt.all.or.part.of.the.w
21a20 6f 72 6b 0a 69 6e 20 61 20 66 61 73 68 69 6f 6e 20 72 65 71 75 69 72 69 6e 67 20 63 6f 70 79 72 ork.in.a.fashion.requiring.copyr
21a40 69 67 68 74 20 70 65 72 6d 69 73 73 69 6f 6e 2c 20 6f 74 68 65 72 20 74 68 61 6e 20 74 68 65 20 ight.permission,.other.than.the.
21a60 6d 61 6b 69 6e 67 20 6f 66 20 61 6e 0a 65 78 61 63 74 20 63 6f 70 79 2e 20 20 54 68 65 20 72 65 making.of.an.exact.copy...The.re
21a80 73 75 6c 74 69 6e 67 20 77 6f 72 6b 20 69 73 20 63 61 6c 6c 65 64 20 61 20 22 6d 6f 64 69 66 69 sulting.work.is.called.a."modifi
21aa0 65 64 20 76 65 72 73 69 6f 6e 22 20 6f 66 20 74 68 65 0a 65 61 72 6c 69 65 72 20 77 6f 72 6b 20 ed.version".of.the.earlier.work.
21ac0 6f 72 20 61 20 77 6f 72 6b 20 22 62 61 73 65 64 20 6f 6e 22 20 74 68 65 20 65 61 72 6c 69 65 72 or.a.work."based.on".the.earlier
21ae0 20 77 6f 72 6b 2e 0a 0a 20 20 41 20 22 63 6f 76 65 72 65 64 20 77 6f 72 6b 22 20 6d 65 61 6e 73 .work.....A."covered.work".means
21b00 20 65 69 74 68 65 72 20 74 68 65 20 75 6e 6d 6f 64 69 66 69 65 64 20 50 72 6f 67 72 61 6d 20 6f .either.the.unmodified.Program.o
21b20 72 20 61 20 77 6f 72 6b 20 62 61 73 65 64 0a 6f 6e 20 74 68 65 20 50 72 6f 67 72 61 6d 2e 0a 0a r.a.work.based.on.the.Program...
21b40 20 20 54 6f 20 22 70 72 6f 70 61 67 61 74 65 22 20 61 20 77 6f 72 6b 20 6d 65 61 6e 73 20 74 6f ..To."propagate".a.work.means.to
21b60 20 64 6f 20 61 6e 79 74 68 69 6e 67 20 77 69 74 68 20 69 74 20 74 68 61 74 2c 20 77 69 74 68 6f .do.anything.with.it.that,.witho
21b80 75 74 0a 70 65 72 6d 69 73 73 69 6f 6e 2c 20 77 6f 75 6c 64 20 6d 61 6b 65 20 79 6f 75 20 64 69 ut.permission,.would.make.you.di
21ba0 72 65 63 74 6c 79 20 6f 72 20 73 65 63 6f 6e 64 61 72 69 6c 79 20 6c 69 61 62 6c 65 20 66 6f 72 rectly.or.secondarily.liable.for
21bc0 0a 69 6e 66 72 69 6e 67 65 6d 65 6e 74 20 75 6e 64 65 72 20 61 70 70 6c 69 63 61 62 6c 65 20 63 .infringement.under.applicable.c
21be0 6f 70 79 72 69 67 68 74 20 6c 61 77 2c 20 65 78 63 65 70 74 20 65 78 65 63 75 74 69 6e 67 20 69 opyright.law,.except.executing.i
21c00 74 20 6f 6e 20 61 0a 63 6f 6d 70 75 74 65 72 20 6f 72 20 6d 6f 64 69 66 79 69 6e 67 20 61 20 70 t.on.a.computer.or.modifying.a.p
21c20 72 69 76 61 74 65 20 63 6f 70 79 2e 20 20 50 72 6f 70 61 67 61 74 69 6f 6e 20 69 6e 63 6c 75 64 rivate.copy...Propagation.includ
21c40 65 73 20 63 6f 70 79 69 6e 67 2c 0a 64 69 73 74 72 69 62 75 74 69 6f 6e 20 28 77 69 74 68 20 6f es.copying,.distribution.(with.o
21c60 72 20 77 69 74 68 6f 75 74 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 29 2c 20 6d 61 6b 69 6e 67 20 r.without.modification),.making.
21c80 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 74 68 65 0a 70 75 62 6c 69 63 2c 20 61 6e 64 20 69 6e 20 available.to.the.public,.and.in.
21ca0 73 6f 6d 65 20 63 6f 75 6e 74 72 69 65 73 20 6f 74 68 65 72 20 61 63 74 69 76 69 74 69 65 73 20 some.countries.other.activities.
21cc0 61 73 20 77 65 6c 6c 2e 0a 0a 20 20 54 6f 20 22 63 6f 6e 76 65 79 22 20 61 20 77 6f 72 6b 20 6d as.well.....To."convey".a.work.m
21ce0 65 61 6e 73 20 61 6e 79 20 6b 69 6e 64 20 6f 66 20 70 72 6f 70 61 67 61 74 69 6f 6e 20 74 68 61 eans.any.kind.of.propagation.tha
21d00 74 20 65 6e 61 62 6c 65 73 20 6f 74 68 65 72 0a 70 61 72 74 69 65 73 20 74 6f 20 6d 61 6b 65 20 t.enables.other.parties.to.make.
21d20 6f 72 20 72 65 63 65 69 76 65 20 63 6f 70 69 65 73 2e 20 20 4d 65 72 65 20 69 6e 74 65 72 61 63 or.receive.copies...Mere.interac
21d40 74 69 6f 6e 20 77 69 74 68 20 61 20 75 73 65 72 20 74 68 72 6f 75 67 68 0a 61 20 63 6f 6d 70 75 tion.with.a.user.through.a.compu
21d60 74 65 72 20 6e 65 74 77 6f 72 6b 2c 20 77 69 74 68 20 6e 6f 20 74 72 61 6e 73 66 65 72 20 6f 66 ter.network,.with.no.transfer.of
21d80 20 61 20 63 6f 70 79 2c 20 69 73 20 6e 6f 74 20 63 6f 6e 76 65 79 69 6e 67 2e 0a 0a 20 20 41 6e .a.copy,.is.not.conveying.....An
21da0 20 69 6e 74 65 72 61 63 74 69 76 65 20 75 73 65 72 20 69 6e 74 65 72 66 61 63 65 20 64 69 73 70 .interactive.user.interface.disp
21dc0 6c 61 79 73 20 22 41 70 70 72 6f 70 72 69 61 74 65 20 4c 65 67 61 6c 20 4e 6f 74 69 63 65 73 22 lays."Appropriate.Legal.Notices"
21de0 0a 74 6f 20 74 68 65 20 65 78 74 65 6e 74 20 74 68 61 74 20 69 74 20 69 6e 63 6c 75 64 65 73 20 .to.the.extent.that.it.includes.
21e00 61 20 63 6f 6e 76 65 6e 69 65 6e 74 20 61 6e 64 20 70 72 6f 6d 69 6e 65 6e 74 6c 79 20 76 69 73 a.convenient.and.prominently.vis
21e20 69 62 6c 65 0a 66 65 61 74 75 72 65 20 74 68 61 74 20 28 31 29 20 64 69 73 70 6c 61 79 73 20 61 ible.feature.that.(1).displays.a
21e40 6e 20 61 70 70 72 6f 70 72 69 61 74 65 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 2c 20 n.appropriate.copyright.notice,.
21e60 61 6e 64 20 28 32 29 0a 74 65 6c 6c 73 20 74 68 65 20 75 73 65 72 20 74 68 61 74 20 74 68 65 72 and.(2).tells.the.user.that.ther
21e80 65 20 69 73 20 6e 6f 20 77 61 72 72 61 6e 74 79 20 66 6f 72 20 74 68 65 20 77 6f 72 6b 20 28 65 e.is.no.warranty.for.the.work.(e
21ea0 78 63 65 70 74 20 74 6f 20 74 68 65 0a 65 78 74 65 6e 74 20 74 68 61 74 20 77 61 72 72 61 6e 74 xcept.to.the.extent.that.warrant
21ec0 69 65 73 20 61 72 65 20 70 72 6f 76 69 64 65 64 29 2c 20 74 68 61 74 20 6c 69 63 65 6e 73 65 65 ies.are.provided),.that.licensee
21ee0 73 20 6d 61 79 20 63 6f 6e 76 65 79 20 74 68 65 0a 77 6f 72 6b 20 75 6e 64 65 72 20 74 68 69 73 s.may.convey.the.work.under.this
21f00 20 4c 69 63 65 6e 73 65 2c 20 61 6e 64 20 68 6f 77 20 74 6f 20 76 69 65 77 20 61 20 63 6f 70 79 .License,.and.how.to.view.a.copy
21f20 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 49 66 0a 74 68 65 20 69 6e 74 65 72 66 .of.this.License...If.the.interf
21f40 61 63 65 20 70 72 65 73 65 6e 74 73 20 61 20 6c 69 73 74 20 6f 66 20 75 73 65 72 20 63 6f 6d 6d ace.presents.a.list.of.user.comm
21f60 61 6e 64 73 20 6f 72 20 6f 70 74 69 6f 6e 73 2c 20 73 75 63 68 20 61 73 20 61 0a 6d 65 6e 75 2c ands.or.options,.such.as.a.menu,
21f80 20 61 20 70 72 6f 6d 69 6e 65 6e 74 20 69 74 65 6d 20 69 6e 20 74 68 65 20 6c 69 73 74 20 6d 65 .a.prominent.item.in.the.list.me
21fa0 65 74 73 20 74 68 69 73 20 63 72 69 74 65 72 69 6f 6e 2e 0a 0a 20 20 31 2e 20 53 6f 75 72 63 65 ets.this.criterion.....1..Source
21fc0 20 43 6f 64 65 2e 0a 0a 20 20 54 68 65 20 22 73 6f 75 72 63 65 20 63 6f 64 65 22 20 66 6f 72 20 .Code.....The."source.code".for.
21fe0 61 20 77 6f 72 6b 20 6d 65 61 6e 73 20 74 68 65 20 70 72 65 66 65 72 72 65 64 20 66 6f 72 6d 20 a.work.means.the.preferred.form.
22000 6f 66 20 74 68 65 20 77 6f 72 6b 0a 66 6f 72 20 6d 61 6b 69 6e 67 20 6d 6f 64 69 66 69 63 61 74 of.the.work.for.making.modificat
22020 69 6f 6e 73 20 74 6f 20 69 74 2e 20 20 22 4f 62 6a 65 63 74 20 63 6f 64 65 22 20 6d 65 61 6e 73 ions.to.it..."Object.code".means
22040 20 61 6e 79 20 6e 6f 6e 2d 73 6f 75 72 63 65 0a 66 6f 72 6d 20 6f 66 20 61 20 77 6f 72 6b 2e 0a .any.non-source.form.of.a.work..
22060 0a 20 20 41 20 22 53 74 61 6e 64 61 72 64 20 49 6e 74 65 72 66 61 63 65 22 20 6d 65 61 6e 73 20 ...A."Standard.Interface".means.
22080 61 6e 20 69 6e 74 65 72 66 61 63 65 20 74 68 61 74 20 65 69 74 68 65 72 20 69 73 20 61 6e 20 6f an.interface.that.either.is.an.o
220a0 66 66 69 63 69 61 6c 0a 73 74 61 6e 64 61 72 64 20 64 65 66 69 6e 65 64 20 62 79 20 61 20 72 65 fficial.standard.defined.by.a.re
220c0 63 6f 67 6e 69 7a 65 64 20 73 74 61 6e 64 61 72 64 73 20 62 6f 64 79 2c 20 6f 72 2c 20 69 6e 20 cognized.standards.body,.or,.in.
220e0 74 68 65 20 63 61 73 65 20 6f 66 0a 69 6e 74 65 72 66 61 63 65 73 20 73 70 65 63 69 66 69 65 64 the.case.of.interfaces.specified
22100 20 66 6f 72 20 61 20 70 61 72 74 69 63 75 6c 61 72 20 70 72 6f 67 72 61 6d 6d 69 6e 67 20 6c 61 .for.a.particular.programming.la
22120 6e 67 75 61 67 65 2c 20 6f 6e 65 20 74 68 61 74 0a 69 73 20 77 69 64 65 6c 79 20 75 73 65 64 20 nguage,.one.that.is.widely.used.
22140 61 6d 6f 6e 67 20 64 65 76 65 6c 6f 70 65 72 73 20 77 6f 72 6b 69 6e 67 20 69 6e 20 74 68 61 74 among.developers.working.in.that
22160 20 6c 61 6e 67 75 61 67 65 2e 0a 0a 20 20 54 68 65 20 22 53 79 73 74 65 6d 20 4c 69 62 72 61 72 .language.....The."System.Librar
22180 69 65 73 22 20 6f 66 20 61 6e 20 65 78 65 63 75 74 61 62 6c 65 20 77 6f 72 6b 20 69 6e 63 6c 75 ies".of.an.executable.work.inclu
221a0 64 65 20 61 6e 79 74 68 69 6e 67 2c 20 6f 74 68 65 72 0a 74 68 61 6e 20 74 68 65 20 77 6f 72 6b de.anything,.other.than.the.work
221c0 20 61 73 20 61 20 77 68 6f 6c 65 2c 20 74 68 61 74 20 28 61 29 20 69 73 20 69 6e 63 6c 75 64 65 .as.a.whole,.that.(a).is.include
221e0 64 20 69 6e 20 74 68 65 20 6e 6f 72 6d 61 6c 20 66 6f 72 6d 20 6f 66 0a 70 61 63 6b 61 67 69 6e d.in.the.normal.form.of.packagin
22200 67 20 61 20 4d 61 6a 6f 72 20 43 6f 6d 70 6f 6e 65 6e 74 2c 20 62 75 74 20 77 68 69 63 68 20 69 g.a.Major.Component,.but.which.i
22220 73 20 6e 6f 74 20 70 61 72 74 20 6f 66 20 74 68 61 74 20 4d 61 6a 6f 72 0a 43 6f 6d 70 6f 6e 65 s.not.part.of.that.Major.Compone
22240 6e 74 2c 20 61 6e 64 20 28 62 29 20 73 65 72 76 65 73 20 6f 6e 6c 79 20 74 6f 20 65 6e 61 62 6c nt,.and.(b).serves.only.to.enabl
22260 65 20 75 73 65 20 6f 66 20 74 68 65 20 77 6f 72 6b 20 77 69 74 68 20 74 68 61 74 0a 4d 61 6a 6f e.use.of.the.work.with.that.Majo
22280 72 20 43 6f 6d 70 6f 6e 65 6e 74 2c 20 6f 72 20 74 6f 20 69 6d 70 6c 65 6d 65 6e 74 20 61 20 53 r.Component,.or.to.implement.a.S
222a0 74 61 6e 64 61 72 64 20 49 6e 74 65 72 66 61 63 65 20 66 6f 72 20 77 68 69 63 68 20 61 6e 0a 69 tandard.Interface.for.which.an.i
222c0 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 74 68 mplementation.is.available.to.th
222e0 65 20 70 75 62 6c 69 63 20 69 6e 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 6f 72 6d 2e 20 20 41 e.public.in.source.code.form...A
22300 0a 22 4d 61 6a 6f 72 20 43 6f 6d 70 6f 6e 65 6e 74 22 2c 20 69 6e 20 74 68 69 73 20 63 6f 6e 74 ."Major.Component",.in.this.cont
22320 65 78 74 2c 20 6d 65 61 6e 73 20 61 20 6d 61 6a 6f 72 20 65 73 73 65 6e 74 69 61 6c 20 63 6f 6d ext,.means.a.major.essential.com
22340 70 6f 6e 65 6e 74 0a 28 6b 65 72 6e 65 6c 2c 20 77 69 6e 64 6f 77 20 73 79 73 74 65 6d 2c 20 61 ponent.(kernel,.window.system,.a
22360 6e 64 20 73 6f 20 6f 6e 29 20 6f 66 20 74 68 65 20 73 70 65 63 69 66 69 63 20 6f 70 65 72 61 74 nd.so.on).of.the.specific.operat
22380 69 6e 67 20 73 79 73 74 65 6d 0a 28 69 66 20 61 6e 79 29 20 6f 6e 20 77 68 69 63 68 20 74 68 65 ing.system.(if.any).on.which.the
223a0 20 65 78 65 63 75 74 61 62 6c 65 20 77 6f 72 6b 20 72 75 6e 73 2c 20 6f 72 20 61 20 63 6f 6d 70 .executable.work.runs,.or.a.comp
223c0 69 6c 65 72 20 75 73 65 64 20 74 6f 0a 70 72 6f 64 75 63 65 20 74 68 65 20 77 6f 72 6b 2c 20 6f iler.used.to.produce.the.work,.o
223e0 72 20 61 6e 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 69 6e 74 65 72 70 72 65 74 65 72 20 75 73 65 r.an.object.code.interpreter.use
22400 64 20 74 6f 20 72 75 6e 20 69 74 2e 0a 0a 20 20 54 68 65 20 22 43 6f 72 72 65 73 70 6f 6e 64 69 d.to.run.it.....The."Correspondi
22420 6e 67 20 53 6f 75 72 63 65 22 20 66 6f 72 20 61 20 77 6f 72 6b 20 69 6e 20 6f 62 6a 65 63 74 20 ng.Source".for.a.work.in.object.
22440 63 6f 64 65 20 66 6f 72 6d 20 6d 65 61 6e 73 20 61 6c 6c 0a 74 68 65 20 73 6f 75 72 63 65 20 63 code.form.means.all.the.source.c
22460 6f 64 65 20 6e 65 65 64 65 64 20 74 6f 20 67 65 6e 65 72 61 74 65 2c 20 69 6e 73 74 61 6c 6c 2c ode.needed.to.generate,.install,
22480 20 61 6e 64 20 28 66 6f 72 20 61 6e 20 65 78 65 63 75 74 61 62 6c 65 0a 77 6f 72 6b 29 20 72 75 .and.(for.an.executable.work).ru
224a0 6e 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 61 6e 64 20 74 6f 20 6d 6f 64 69 66 79 20 n.the.object.code.and.to.modify.
224c0 74 68 65 20 77 6f 72 6b 2c 20 69 6e 63 6c 75 64 69 6e 67 20 73 63 72 69 70 74 73 20 74 6f 0a 63 the.work,.including.scripts.to.c
224e0 6f 6e 74 72 6f 6c 20 74 68 6f 73 65 20 61 63 74 69 76 69 74 69 65 73 2e 20 20 48 6f 77 65 76 65 ontrol.those.activities...Howeve
22500 72 2c 20 69 74 20 64 6f 65 73 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 74 68 65 20 77 6f 72 6b 27 r,.it.does.not.include.the.work'
22520 73 0a 53 79 73 74 65 6d 20 4c 69 62 72 61 72 69 65 73 2c 20 6f 72 20 67 65 6e 65 72 61 6c 2d 70 s.System.Libraries,.or.general-p
22540 75 72 70 6f 73 65 20 74 6f 6f 6c 73 20 6f 72 20 67 65 6e 65 72 61 6c 6c 79 20 61 76 61 69 6c 61 urpose.tools.or.generally.availa
22560 62 6c 65 20 66 72 65 65 0a 70 72 6f 67 72 61 6d 73 20 77 68 69 63 68 20 61 72 65 20 75 73 65 64 ble.free.programs.which.are.used
22580 20 75 6e 6d 6f 64 69 66 69 65 64 20 69 6e 20 70 65 72 66 6f 72 6d 69 6e 67 20 74 68 6f 73 65 20 .unmodified.in.performing.those.
225a0 61 63 74 69 76 69 74 69 65 73 20 62 75 74 0a 77 68 69 63 68 20 61 72 65 20 6e 6f 74 20 70 61 72 activities.but.which.are.not.par
225c0 74 20 6f 66 20 74 68 65 20 77 6f 72 6b 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 43 6f 72 t.of.the.work...For.example,.Cor
225e0 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 0a 69 6e 63 6c 75 64 65 73 20 69 6e 74 65 72 responding.Source.includes.inter
22600 66 61 63 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 66 69 6c 65 73 20 61 73 73 6f 63 69 61 74 65 64 face.definition.files.associated
22620 20 77 69 74 68 20 73 6f 75 72 63 65 20 66 69 6c 65 73 20 66 6f 72 0a 74 68 65 20 77 6f 72 6b 2c .with.source.files.for.the.work,
22640 20 61 6e 64 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 6f 72 20 73 68 61 72 65 64 20 .and.the.source.code.for.shared.
22660 6c 69 62 72 61 72 69 65 73 20 61 6e 64 20 64 79 6e 61 6d 69 63 61 6c 6c 79 0a 6c 69 6e 6b 65 64 libraries.and.dynamically.linked
22680 20 73 75 62 70 72 6f 67 72 61 6d 73 20 74 68 61 74 20 74 68 65 20 77 6f 72 6b 20 69 73 20 73 70 .subprograms.that.the.work.is.sp
226a0 65 63 69 66 69 63 61 6c 6c 79 20 64 65 73 69 67 6e 65 64 20 74 6f 20 72 65 71 75 69 72 65 2c 0a ecifically.designed.to.require,.
226c0 73 75 63 68 20 61 73 20 62 79 20 69 6e 74 69 6d 61 74 65 20 64 61 74 61 20 63 6f 6d 6d 75 6e 69 such.as.by.intimate.data.communi
226e0 63 61 74 69 6f 6e 20 6f 72 20 63 6f 6e 74 72 6f 6c 20 66 6c 6f 77 20 62 65 74 77 65 65 6e 20 74 cation.or.control.flow.between.t
22700 68 6f 73 65 0a 73 75 62 70 72 6f 67 72 61 6d 73 20 61 6e 64 20 6f 74 68 65 72 20 70 61 72 74 73 hose.subprograms.and.other.parts
22720 20 6f 66 20 74 68 65 20 77 6f 72 6b 2e 0a 0a 20 20 54 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 .of.the.work.....The.Correspondi
22740 6e 67 20 53 6f 75 72 63 65 20 6e 65 65 64 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 61 6e 79 74 68 ng.Source.need.not.include.anyth
22760 69 6e 67 20 74 68 61 74 20 75 73 65 72 73 0a 63 61 6e 20 72 65 67 65 6e 65 72 61 74 65 20 61 75 ing.that.users.can.regenerate.au
22780 74 6f 6d 61 74 69 63 61 6c 6c 79 20 66 72 6f 6d 20 6f 74 68 65 72 20 70 61 72 74 73 20 6f 66 20 tomatically.from.other.parts.of.
227a0 74 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 0a 53 6f 75 72 63 65 2e 0a 0a 20 20 54 68 65 the.Corresponding.Source.....The
227c0 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 66 6f 72 20 61 20 77 6f 72 6b .Corresponding.Source.for.a.work
227e0 20 69 6e 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 6f 72 6d 20 69 73 20 74 68 61 74 0a 73 61 6d .in.source.code.form.is.that.sam
22800 65 20 77 6f 72 6b 2e 0a 0a 20 20 32 2e 20 42 61 73 69 63 20 50 65 72 6d 69 73 73 69 6f 6e 73 2e e.work.....2..Basic.Permissions.
22820 0a 0a 20 20 41 6c 6c 20 72 69 67 68 74 73 20 67 72 61 6e 74 65 64 20 75 6e 64 65 72 20 74 68 69 ....All.rights.granted.under.thi
22840 73 20 4c 69 63 65 6e 73 65 20 61 72 65 20 67 72 61 6e 74 65 64 20 66 6f 72 20 74 68 65 20 74 65 s.License.are.granted.for.the.te
22860 72 6d 20 6f 66 0a 63 6f 70 79 72 69 67 68 74 20 6f 6e 20 74 68 65 20 50 72 6f 67 72 61 6d 2c 20 rm.of.copyright.on.the.Program,.
22880 61 6e 64 20 61 72 65 20 69 72 72 65 76 6f 63 61 62 6c 65 20 70 72 6f 76 69 64 65 64 20 74 68 65 and.are.irrevocable.provided.the
228a0 20 73 74 61 74 65 64 0a 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 6d 65 74 2e 20 20 54 68 69 .stated.conditions.are.met...Thi
228c0 73 20 4c 69 63 65 6e 73 65 20 65 78 70 6c 69 63 69 74 6c 79 20 61 66 66 69 72 6d 73 20 79 6f 75 s.License.explicitly.affirms.you
228e0 72 20 75 6e 6c 69 6d 69 74 65 64 0a 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 72 75 6e 20 74 68 r.unlimited.permission.to.run.th
22900 65 20 75 6e 6d 6f 64 69 66 69 65 64 20 50 72 6f 67 72 61 6d 2e 20 20 54 68 65 20 6f 75 74 70 75 e.unmodified.Program...The.outpu
22920 74 20 66 72 6f 6d 20 72 75 6e 6e 69 6e 67 20 61 0a 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 69 73 t.from.running.a.covered.work.is
22940 20 63 6f 76 65 72 65 64 20 62 79 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 6f 6e 6c 79 20 69 66 .covered.by.this.License.only.if
22960 20 74 68 65 20 6f 75 74 70 75 74 2c 20 67 69 76 65 6e 20 69 74 73 0a 63 6f 6e 74 65 6e 74 2c 20 .the.output,.given.its.content,.
22980 63 6f 6e 73 74 69 74 75 74 65 73 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2e 20 20 54 68 69 constitutes.a.covered.work...Thi
229a0 73 20 4c 69 63 65 6e 73 65 20 61 63 6b 6e 6f 77 6c 65 64 67 65 73 20 79 6f 75 72 0a 72 69 67 68 s.License.acknowledges.your.righ
229c0 74 73 20 6f 66 20 66 61 69 72 20 75 73 65 20 6f 72 20 6f 74 68 65 72 20 65 71 75 69 76 61 6c 65 ts.of.fair.use.or.other.equivale
229e0 6e 74 2c 20 61 73 20 70 72 6f 76 69 64 65 64 20 62 79 20 63 6f 70 79 72 69 67 68 74 20 6c 61 77 nt,.as.provided.by.copyright.law
22a00 2e 0a 0a 20 20 59 6f 75 20 6d 61 79 20 6d 61 6b 65 2c 20 72 75 6e 20 61 6e 64 20 70 72 6f 70 61 .....You.may.make,.run.and.propa
22a20 67 61 74 65 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 73 20 74 68 61 74 20 79 6f 75 20 64 6f 20 6e gate.covered.works.that.you.do.n
22a40 6f 74 0a 63 6f 6e 76 65 79 2c 20 77 69 74 68 6f 75 74 20 63 6f 6e 64 69 74 69 6f 6e 73 20 73 6f ot.convey,.without.conditions.so
22a60 20 6c 6f 6e 67 20 61 73 20 79 6f 75 72 20 6c 69 63 65 6e 73 65 20 6f 74 68 65 72 77 69 73 65 20 .long.as.your.license.otherwise.
22a80 72 65 6d 61 69 6e 73 0a 69 6e 20 66 6f 72 63 65 2e 20 20 59 6f 75 20 6d 61 79 20 63 6f 6e 76 65 remains.in.force...You.may.conve
22aa0 79 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 73 20 74 6f 20 6f 74 68 65 72 73 20 66 6f 72 20 74 68 y.covered.works.to.others.for.th
22ac0 65 20 73 6f 6c 65 20 70 75 72 70 6f 73 65 0a 6f 66 20 68 61 76 69 6e 67 20 74 68 65 6d 20 6d 61 e.sole.purpose.of.having.them.ma
22ae0 6b 65 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 73 20 65 78 63 6c 75 73 69 76 65 6c 79 20 66 6f 72 ke.modifications.exclusively.for
22b00 20 79 6f 75 2c 20 6f 72 20 70 72 6f 76 69 64 65 20 79 6f 75 0a 77 69 74 68 20 66 61 63 69 6c 69 .you,.or.provide.you.with.facili
22b20 74 69 65 73 20 66 6f 72 20 72 75 6e 6e 69 6e 67 20 74 68 6f 73 65 20 77 6f 72 6b 73 2c 20 70 72 ties.for.running.those.works,.pr
22b40 6f 76 69 64 65 64 20 74 68 61 74 20 79 6f 75 20 63 6f 6d 70 6c 79 20 77 69 74 68 0a 74 68 65 20 ovided.that.you.comply.with.the.
22b60 74 65 72 6d 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 69 6e 20 63 6f 6e 76 65 79 69 terms.of.this.License.in.conveyi
22b80 6e 67 20 61 6c 6c 20 6d 61 74 65 72 69 61 6c 20 66 6f 72 20 77 68 69 63 68 20 79 6f 75 20 64 6f ng.all.material.for.which.you.do
22ba0 0a 6e 6f 74 20 63 6f 6e 74 72 6f 6c 20 63 6f 70 79 72 69 67 68 74 2e 20 20 54 68 6f 73 65 20 74 .not.control.copyright...Those.t
22bc0 68 75 73 20 6d 61 6b 69 6e 67 20 6f 72 20 72 75 6e 6e 69 6e 67 20 74 68 65 20 63 6f 76 65 72 65 hus.making.or.running.the.covere
22be0 64 20 77 6f 72 6b 73 0a 66 6f 72 20 79 6f 75 20 6d 75 73 74 20 64 6f 20 73 6f 20 65 78 63 6c 75 d.works.for.you.must.do.so.exclu
22c00 73 69 76 65 6c 79 20 6f 6e 20 79 6f 75 72 20 62 65 68 61 6c 66 2c 20 75 6e 64 65 72 20 79 6f 75 sively.on.your.behalf,.under.you
22c20 72 20 64 69 72 65 63 74 69 6f 6e 0a 61 6e 64 20 63 6f 6e 74 72 6f 6c 2c 20 6f 6e 20 74 65 72 6d r.direction.and.control,.on.term
22c40 73 20 74 68 61 74 20 70 72 6f 68 69 62 69 74 20 74 68 65 6d 20 66 72 6f 6d 20 6d 61 6b 69 6e 67 s.that.prohibit.them.from.making
22c60 20 61 6e 79 20 63 6f 70 69 65 73 20 6f 66 0a 79 6f 75 72 20 63 6f 70 79 72 69 67 68 74 65 64 20 .any.copies.of.your.copyrighted.
22c80 6d 61 74 65 72 69 61 6c 20 6f 75 74 73 69 64 65 20 74 68 65 69 72 20 72 65 6c 61 74 69 6f 6e 73 material.outside.their.relations
22ca0 68 69 70 20 77 69 74 68 20 79 6f 75 2e 0a 0a 20 20 43 6f 6e 76 65 79 69 6e 67 20 75 6e 64 65 72 hip.with.you.....Conveying.under
22cc0 20 61 6e 79 20 6f 74 68 65 72 20 63 69 72 63 75 6d 73 74 61 6e 63 65 73 20 69 73 20 70 65 72 6d .any.other.circumstances.is.perm
22ce0 69 74 74 65 64 20 73 6f 6c 65 6c 79 20 75 6e 64 65 72 0a 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e itted.solely.under.the.condition
22d00 73 20 73 74 61 74 65 64 20 62 65 6c 6f 77 2e 20 20 53 75 62 6c 69 63 65 6e 73 69 6e 67 20 69 73 s.stated.below...Sublicensing.is
22d20 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 3b 20 73 65 63 74 69 6f 6e 20 31 30 0a 6d 61 6b 65 73 20 69 .not.allowed;.section.10.makes.i
22d40 74 20 75 6e 6e 65 63 65 73 73 61 72 79 2e 0a 0a 20 20 33 2e 20 50 72 6f 74 65 63 74 69 6e 67 20 t.unnecessary.....3..Protecting.
22d60 55 73 65 72 73 27 20 4c 65 67 61 6c 20 52 69 67 68 74 73 20 46 72 6f 6d 20 41 6e 74 69 2d 43 69 Users'.Legal.Rights.From.Anti-Ci
22d80 72 63 75 6d 76 65 6e 74 69 6f 6e 20 4c 61 77 2e 0a 0a 20 20 4e 6f 20 63 6f 76 65 72 65 64 20 77 rcumvention.Law.....No.covered.w
22da0 6f 72 6b 20 73 68 61 6c 6c 20 62 65 20 64 65 65 6d 65 64 20 70 61 72 74 20 6f 66 20 61 6e 20 65 ork.shall.be.deemed.part.of.an.e
22dc0 66 66 65 63 74 69 76 65 20 74 65 63 68 6e 6f 6c 6f 67 69 63 61 6c 0a 6d 65 61 73 75 72 65 20 75 ffective.technological.measure.u
22de0 6e 64 65 72 20 61 6e 79 20 61 70 70 6c 69 63 61 62 6c 65 20 6c 61 77 20 66 75 6c 66 69 6c 6c 69 nder.any.applicable.law.fulfilli
22e00 6e 67 20 6f 62 6c 69 67 61 74 69 6f 6e 73 20 75 6e 64 65 72 20 61 72 74 69 63 6c 65 0a 31 31 20 ng.obligations.under.article.11.
22e20 6f 66 20 74 68 65 20 57 49 50 4f 20 63 6f 70 79 72 69 67 68 74 20 74 72 65 61 74 79 20 61 64 6f of.the.WIPO.copyright.treaty.ado
22e40 70 74 65 64 20 6f 6e 20 32 30 20 44 65 63 65 6d 62 65 72 20 31 39 39 36 2c 20 6f 72 0a 73 69 6d pted.on.20.December.1996,.or.sim
22e60 69 6c 61 72 20 6c 61 77 73 20 70 72 6f 68 69 62 69 74 69 6e 67 20 6f 72 20 72 65 73 74 72 69 63 ilar.laws.prohibiting.or.restric
22e80 74 69 6e 67 20 63 69 72 63 75 6d 76 65 6e 74 69 6f 6e 20 6f 66 20 73 75 63 68 0a 6d 65 61 73 75 ting.circumvention.of.such.measu
22ea0 72 65 73 2e 0a 0a 20 20 57 68 65 6e 20 79 6f 75 20 63 6f 6e 76 65 79 20 61 20 63 6f 76 65 72 65 res.....When.you.convey.a.covere
22ec0 64 20 77 6f 72 6b 2c 20 79 6f 75 20 77 61 69 76 65 20 61 6e 79 20 6c 65 67 61 6c 20 70 6f 77 65 d.work,.you.waive.any.legal.powe
22ee0 72 20 74 6f 20 66 6f 72 62 69 64 0a 63 69 72 63 75 6d 76 65 6e 74 69 6f 6e 20 6f 66 20 74 65 63 r.to.forbid.circumvention.of.tec
22f00 68 6e 6f 6c 6f 67 69 63 61 6c 20 6d 65 61 73 75 72 65 73 20 74 6f 20 74 68 65 20 65 78 74 65 6e hnological.measures.to.the.exten
22f20 74 20 73 75 63 68 20 63 69 72 63 75 6d 76 65 6e 74 69 6f 6e 0a 69 73 20 65 66 66 65 63 74 65 64 t.such.circumvention.is.effected
22f40 20 62 79 20 65 78 65 72 63 69 73 69 6e 67 20 72 69 67 68 74 73 20 75 6e 64 65 72 20 74 68 69 73 .by.exercising.rights.under.this
22f60 20 4c 69 63 65 6e 73 65 20 77 69 74 68 20 72 65 73 70 65 63 74 20 74 6f 0a 74 68 65 20 63 6f 76 .License.with.respect.to.the.cov
22f80 65 72 65 64 20 77 6f 72 6b 2c 20 61 6e 64 20 79 6f 75 20 64 69 73 63 6c 61 69 6d 20 61 6e 79 20 ered.work,.and.you.disclaim.any.
22fa0 69 6e 74 65 6e 74 69 6f 6e 20 74 6f 20 6c 69 6d 69 74 20 6f 70 65 72 61 74 69 6f 6e 20 6f 72 0a intention.to.limit.operation.or.
22fc0 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 77 6f 72 6b 20 61 73 20 61 20 6d 65 modification.of.the.work.as.a.me
22fe0 61 6e 73 20 6f 66 20 65 6e 66 6f 72 63 69 6e 67 2c 20 61 67 61 69 6e 73 74 20 74 68 65 20 77 6f ans.of.enforcing,.against.the.wo
23000 72 6b 27 73 0a 75 73 65 72 73 2c 20 79 6f 75 72 20 6f 72 20 74 68 69 72 64 20 70 61 72 74 69 65 rk's.users,.your.or.third.partie
23020 73 27 20 6c 65 67 61 6c 20 72 69 67 68 74 73 20 74 6f 20 66 6f 72 62 69 64 20 63 69 72 63 75 6d s'.legal.rights.to.forbid.circum
23040 76 65 6e 74 69 6f 6e 20 6f 66 0a 74 65 63 68 6e 6f 6c 6f 67 69 63 61 6c 20 6d 65 61 73 75 72 65 vention.of.technological.measure
23060 73 2e 0a 0a 20 20 34 2e 20 43 6f 6e 76 65 79 69 6e 67 20 56 65 72 62 61 74 69 6d 20 43 6f 70 69 s.....4..Conveying.Verbatim.Copi
23080 65 73 2e 0a 0a 20 20 59 6f 75 20 6d 61 79 20 63 6f 6e 76 65 79 20 76 65 72 62 61 74 69 6d 20 63 es.....You.may.convey.verbatim.c
230a0 6f 70 69 65 73 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 6d 27 73 20 73 6f 75 72 63 65 20 63 6f opies.of.the.Program's.source.co
230c0 64 65 20 61 73 20 79 6f 75 0a 72 65 63 65 69 76 65 20 69 74 2c 20 69 6e 20 61 6e 79 20 6d 65 64 de.as.you.receive.it,.in.any.med
230e0 69 75 6d 2c 20 70 72 6f 76 69 64 65 64 20 74 68 61 74 20 79 6f 75 20 63 6f 6e 73 70 69 63 75 6f ium,.provided.that.you.conspicuo
23100 75 73 6c 79 20 61 6e 64 0a 61 70 70 72 6f 70 72 69 61 74 65 6c 79 20 70 75 62 6c 69 73 68 20 6f usly.and.appropriately.publish.o
23120 6e 20 65 61 63 68 20 63 6f 70 79 20 61 6e 20 61 70 70 72 6f 70 72 69 61 74 65 20 63 6f 70 79 72 n.each.copy.an.appropriate.copyr
23140 69 67 68 74 20 6e 6f 74 69 63 65 3b 0a 6b 65 65 70 20 69 6e 74 61 63 74 20 61 6c 6c 20 6e 6f 74 ight.notice;.keep.intact.all.not
23160 69 63 65 73 20 73 74 61 74 69 6e 67 20 74 68 61 74 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 61 ices.stating.that.this.License.a
23180 6e 64 20 61 6e 79 0a 6e 6f 6e 2d 70 65 72 6d 69 73 73 69 76 65 20 74 65 72 6d 73 20 61 64 64 65 nd.any.non-permissive.terms.adde
231a0 64 20 69 6e 20 61 63 63 6f 72 64 20 77 69 74 68 20 73 65 63 74 69 6f 6e 20 37 20 61 70 70 6c 79 d.in.accord.with.section.7.apply
231c0 20 74 6f 20 74 68 65 20 63 6f 64 65 3b 0a 6b 65 65 70 20 69 6e 74 61 63 74 20 61 6c 6c 20 6e 6f .to.the.code;.keep.intact.all.no
231e0 74 69 63 65 73 20 6f 66 20 74 68 65 20 61 62 73 65 6e 63 65 20 6f 66 20 61 6e 79 20 77 61 72 72 tices.of.the.absence.of.any.warr
23200 61 6e 74 79 3b 20 61 6e 64 20 67 69 76 65 20 61 6c 6c 0a 72 65 63 69 70 69 65 6e 74 73 20 61 20 anty;.and.give.all.recipients.a.
23220 63 6f 70 79 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 61 6c 6f 6e 67 20 77 69 74 68 20 copy.of.this.License.along.with.
23240 74 68 65 20 50 72 6f 67 72 61 6d 2e 0a 0a 20 20 59 6f 75 20 6d 61 79 20 63 68 61 72 67 65 20 61 the.Program.....You.may.charge.a
23260 6e 79 20 70 72 69 63 65 20 6f 72 20 6e 6f 20 70 72 69 63 65 20 66 6f 72 20 65 61 63 68 20 63 6f ny.price.or.no.price.for.each.co
23280 70 79 20 74 68 61 74 20 79 6f 75 20 63 6f 6e 76 65 79 2c 0a 61 6e 64 20 79 6f 75 20 6d 61 79 20 py.that.you.convey,.and.you.may.
232a0 6f 66 66 65 72 20 73 75 70 70 6f 72 74 20 6f 72 20 77 61 72 72 61 6e 74 79 20 70 72 6f 74 65 63 offer.support.or.warranty.protec
232c0 74 69 6f 6e 20 66 6f 72 20 61 20 66 65 65 2e 0a 0a 20 20 35 2e 20 43 6f 6e 76 65 79 69 6e 67 20 tion.for.a.fee.....5..Conveying.
232e0 4d 6f 64 69 66 69 65 64 20 53 6f 75 72 63 65 20 56 65 72 73 69 6f 6e 73 2e 0a 0a 20 20 59 6f 75 Modified.Source.Versions.....You
23300 20 6d 61 79 20 63 6f 6e 76 65 79 20 61 20 77 6f 72 6b 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 .may.convey.a.work.based.on.the.
23320 50 72 6f 67 72 61 6d 2c 20 6f 72 20 74 68 65 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 73 20 74 6f Program,.or.the.modifications.to
23340 0a 70 72 6f 64 75 63 65 20 69 74 20 66 72 6f 6d 20 74 68 65 20 50 72 6f 67 72 61 6d 2c 20 69 6e .produce.it.from.the.Program,.in
23360 20 74 68 65 20 66 6f 72 6d 20 6f 66 20 73 6f 75 72 63 65 20 63 6f 64 65 20 75 6e 64 65 72 20 74 .the.form.of.source.code.under.t
23380 68 65 0a 74 65 72 6d 73 20 6f 66 20 73 65 63 74 69 6f 6e 20 34 2c 20 70 72 6f 76 69 64 65 64 20 he.terms.of.section.4,.provided.
233a0 74 68 61 74 20 79 6f 75 20 61 6c 73 6f 20 6d 65 65 74 20 61 6c 6c 20 6f 66 20 74 68 65 73 65 20 that.you.also.meet.all.of.these.
233c0 63 6f 6e 64 69 74 69 6f 6e 73 3a 0a 0a 20 20 20 20 61 29 20 54 68 65 20 77 6f 72 6b 20 6d 75 73 conditions:......a).The.work.mus
233e0 74 20 63 61 72 72 79 20 70 72 6f 6d 69 6e 65 6e 74 20 6e 6f 74 69 63 65 73 20 73 74 61 74 69 6e t.carry.prominent.notices.statin
23400 67 20 74 68 61 74 20 79 6f 75 20 6d 6f 64 69 66 69 65 64 0a 20 20 20 20 69 74 2c 20 61 6e 64 20 g.that.you.modified.....it,.and.
23420 67 69 76 69 6e 67 20 61 20 72 65 6c 65 76 61 6e 74 20 64 61 74 65 2e 0a 0a 20 20 20 20 62 29 20 giving.a.relevant.date.......b).
23440 54 68 65 20 77 6f 72 6b 20 6d 75 73 74 20 63 61 72 72 79 20 70 72 6f 6d 69 6e 65 6e 74 20 6e 6f The.work.must.carry.prominent.no
23460 74 69 63 65 73 20 73 74 61 74 69 6e 67 20 74 68 61 74 20 69 74 20 69 73 0a 20 20 20 20 72 65 6c tices.stating.that.it.is.....rel
23480 65 61 73 65 64 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 61 6e 64 20 61 6e 79 eased.under.this.License.and.any
234a0 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 64 64 65 64 20 75 6e 64 65 72 20 73 65 63 74 69 6f 6e 0a .conditions.added.under.section.
234c0 20 20 20 20 37 2e 20 20 54 68 69 73 20 72 65 71 75 69 72 65 6d 65 6e 74 20 6d 6f 64 69 66 69 65 ....7...This.requirement.modifie
234e0 73 20 74 68 65 20 72 65 71 75 69 72 65 6d 65 6e 74 20 69 6e 20 73 65 63 74 69 6f 6e 20 34 20 74 s.the.requirement.in.section.4.t
23500 6f 0a 20 20 20 20 22 6b 65 65 70 20 69 6e 74 61 63 74 20 61 6c 6c 20 6e 6f 74 69 63 65 73 22 2e o....."keep.intact.all.notices".
23520 0a 0a 20 20 20 20 63 29 20 59 6f 75 20 6d 75 73 74 20 6c 69 63 65 6e 73 65 20 74 68 65 20 65 6e ......c).You.must.license.the.en
23540 74 69 72 65 20 77 6f 72 6b 2c 20 61 73 20 61 20 77 68 6f 6c 65 2c 20 75 6e 64 65 72 20 74 68 69 tire.work,.as.a.whole,.under.thi
23560 73 0a 20 20 20 20 4c 69 63 65 6e 73 65 20 74 6f 20 61 6e 79 6f 6e 65 20 77 68 6f 20 63 6f 6d 65 s.....License.to.anyone.who.come
23580 73 20 69 6e 74 6f 20 70 6f 73 73 65 73 73 69 6f 6e 20 6f 66 20 61 20 63 6f 70 79 2e 20 20 54 68 s.into.possession.of.a.copy...Th
235a0 69 73 0a 20 20 20 20 4c 69 63 65 6e 73 65 20 77 69 6c 6c 20 74 68 65 72 65 66 6f 72 65 20 61 70 is.....License.will.therefore.ap
235c0 70 6c 79 2c 20 61 6c 6f 6e 67 20 77 69 74 68 20 61 6e 79 20 61 70 70 6c 69 63 61 62 6c 65 20 73 ply,.along.with.any.applicable.s
235e0 65 63 74 69 6f 6e 20 37 0a 20 20 20 20 61 64 64 69 74 69 6f 6e 61 6c 20 74 65 72 6d 73 2c 20 74 ection.7.....additional.terms,.t
23600 6f 20 74 68 65 20 77 68 6f 6c 65 20 6f 66 20 74 68 65 20 77 6f 72 6b 2c 20 61 6e 64 20 61 6c 6c o.the.whole.of.the.work,.and.all
23620 20 69 74 73 20 70 61 72 74 73 2c 0a 20 20 20 20 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 68 6f .its.parts,.....regardless.of.ho
23640 77 20 74 68 65 79 20 61 72 65 20 70 61 63 6b 61 67 65 64 2e 20 20 54 68 69 73 20 4c 69 63 65 6e w.they.are.packaged...This.Licen
23660 73 65 20 67 69 76 65 73 20 6e 6f 0a 20 20 20 20 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 6c 69 se.gives.no.....permission.to.li
23680 63 65 6e 73 65 20 74 68 65 20 77 6f 72 6b 20 69 6e 20 61 6e 79 20 6f 74 68 65 72 20 77 61 79 2c cense.the.work.in.any.other.way,
236a0 20 62 75 74 20 69 74 20 64 6f 65 73 20 6e 6f 74 0a 20 20 20 20 69 6e 76 61 6c 69 64 61 74 65 20 .but.it.does.not.....invalidate.
236c0 73 75 63 68 20 70 65 72 6d 69 73 73 69 6f 6e 20 69 66 20 79 6f 75 20 68 61 76 65 20 73 65 70 61 such.permission.if.you.have.sepa
236e0 72 61 74 65 6c 79 20 72 65 63 65 69 76 65 64 20 69 74 2e 0a 0a 20 20 20 20 64 29 20 49 66 20 74 rately.received.it.......d).If.t
23700 68 65 20 77 6f 72 6b 20 68 61 73 20 69 6e 74 65 72 61 63 74 69 76 65 20 75 73 65 72 20 69 6e 74 he.work.has.interactive.user.int
23720 65 72 66 61 63 65 73 2c 20 65 61 63 68 20 6d 75 73 74 20 64 69 73 70 6c 61 79 0a 20 20 20 20 41 erfaces,.each.must.display.....A
23740 70 70 72 6f 70 72 69 61 74 65 20 4c 65 67 61 6c 20 4e 6f 74 69 63 65 73 3b 20 68 6f 77 65 76 65 ppropriate.Legal.Notices;.howeve
23760 72 2c 20 69 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 68 61 73 20 69 6e 74 65 72 61 63 74 69 76 r,.if.the.Program.has.interactiv
23780 65 0a 20 20 20 20 69 6e 74 65 72 66 61 63 65 73 20 74 68 61 74 20 64 6f 20 6e 6f 74 20 64 69 73 e.....interfaces.that.do.not.dis
237a0 70 6c 61 79 20 41 70 70 72 6f 70 72 69 61 74 65 20 4c 65 67 61 6c 20 4e 6f 74 69 63 65 73 2c 20 play.Appropriate.Legal.Notices,.
237c0 79 6f 75 72 0a 20 20 20 20 77 6f 72 6b 20 6e 65 65 64 20 6e 6f 74 20 6d 61 6b 65 20 74 68 65 6d your.....work.need.not.make.them
237e0 20 64 6f 20 73 6f 2e 0a 0a 20 20 41 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 66 20 61 20 63 6f .do.so.....A.compilation.of.a.co
23800 76 65 72 65 64 20 77 6f 72 6b 20 77 69 74 68 20 6f 74 68 65 72 20 73 65 70 61 72 61 74 65 20 61 vered.work.with.other.separate.a
23820 6e 64 20 69 6e 64 65 70 65 6e 64 65 6e 74 0a 77 6f 72 6b 73 2c 20 77 68 69 63 68 20 61 72 65 20 nd.independent.works,.which.are.
23840 6e 6f 74 20 62 79 20 74 68 65 69 72 20 6e 61 74 75 72 65 20 65 78 74 65 6e 73 69 6f 6e 73 20 6f not.by.their.nature.extensions.o
23860 66 20 74 68 65 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 0a 61 6e 64 20 77 68 69 63 68 20 61 72 f.the.covered.work,.and.which.ar
23880 65 20 6e 6f 74 20 63 6f 6d 62 69 6e 65 64 20 77 69 74 68 20 69 74 20 73 75 63 68 20 61 73 20 74 e.not.combined.with.it.such.as.t
238a0 6f 20 66 6f 72 6d 20 61 20 6c 61 72 67 65 72 20 70 72 6f 67 72 61 6d 2c 0a 69 6e 20 6f 72 20 6f o.form.a.larger.program,.in.or.o
238c0 6e 20 61 20 76 6f 6c 75 6d 65 20 6f 66 20 61 20 73 74 6f 72 61 67 65 20 6f 72 20 64 69 73 74 72 n.a.volume.of.a.storage.or.distr
238e0 69 62 75 74 69 6f 6e 20 6d 65 64 69 75 6d 2c 20 69 73 20 63 61 6c 6c 65 64 20 61 6e 0a 22 61 67 ibution.medium,.is.called.an."ag
23900 67 72 65 67 61 74 65 22 20 69 66 20 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 61 6e 64 20 gregate".if.the.compilation.and.
23920 69 74 73 20 72 65 73 75 6c 74 69 6e 67 20 63 6f 70 79 72 69 67 68 74 20 61 72 65 20 6e 6f 74 0a its.resulting.copyright.are.not.
23940 75 73 65 64 20 74 6f 20 6c 69 6d 69 74 20 74 68 65 20 61 63 63 65 73 73 20 6f 72 20 6c 65 67 61 used.to.limit.the.access.or.lega
23960 6c 20 72 69 67 68 74 73 20 6f 66 20 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 27 73 20 75 73 l.rights.of.the.compilation's.us
23980 65 72 73 0a 62 65 79 6f 6e 64 20 77 68 61 74 20 74 68 65 20 69 6e 64 69 76 69 64 75 61 6c 20 77 ers.beyond.what.the.individual.w
239a0 6f 72 6b 73 20 70 65 72 6d 69 74 2e 20 20 49 6e 63 6c 75 73 69 6f 6e 20 6f 66 20 61 20 63 6f 76 orks.permit...Inclusion.of.a.cov
239c0 65 72 65 64 20 77 6f 72 6b 0a 69 6e 20 61 6e 20 61 67 67 72 65 67 61 74 65 20 64 6f 65 73 20 6e ered.work.in.an.aggregate.does.n
239e0 6f 74 20 63 61 75 73 65 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 74 6f 20 61 70 70 6c 79 20 74 ot.cause.this.License.to.apply.t
23a00 6f 20 74 68 65 20 6f 74 68 65 72 0a 70 61 72 74 73 20 6f 66 20 74 68 65 20 61 67 67 72 65 67 61 o.the.other.parts.of.the.aggrega
23a20 74 65 2e 0a 0a 20 20 36 2e 20 43 6f 6e 76 65 79 69 6e 67 20 4e 6f 6e 2d 53 6f 75 72 63 65 20 46 te.....6..Conveying.Non-Source.F
23a40 6f 72 6d 73 2e 0a 0a 20 20 59 6f 75 20 6d 61 79 20 63 6f 6e 76 65 79 20 61 20 63 6f 76 65 72 65 orms.....You.may.convey.a.covere
23a60 64 20 77 6f 72 6b 20 69 6e 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 66 6f 72 6d 20 75 6e 64 65 72 d.work.in.object.code.form.under
23a80 20 74 68 65 20 74 65 72 6d 73 0a 6f 66 20 73 65 63 74 69 6f 6e 73 20 34 20 61 6e 64 20 35 2c 20 .the.terms.of.sections.4.and.5,.
23aa0 70 72 6f 76 69 64 65 64 20 74 68 61 74 20 79 6f 75 20 61 6c 73 6f 20 63 6f 6e 76 65 79 20 74 68 provided.that.you.also.convey.th
23ac0 65 0a 6d 61 63 68 69 6e 65 2d 72 65 61 64 61 62 6c 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 e.machine-readable.Corresponding
23ae0 20 53 6f 75 72 63 65 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 69 73 20 .Source.under.the.terms.of.this.
23b00 4c 69 63 65 6e 73 65 2c 0a 69 6e 20 6f 6e 65 20 6f 66 20 74 68 65 73 65 20 77 61 79 73 3a 0a 0a License,.in.one.of.these.ways:..
23b20 20 20 20 20 61 29 20 43 6f 6e 76 65 79 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 69 6e ....a).Convey.the.object.code.in
23b40 2c 20 6f 72 20 65 6d 62 6f 64 69 65 64 20 69 6e 2c 20 61 20 70 68 79 73 69 63 61 6c 20 70 72 6f ,.or.embodied.in,.a.physical.pro
23b60 64 75 63 74 0a 20 20 20 20 28 69 6e 63 6c 75 64 69 6e 67 20 61 20 70 68 79 73 69 63 61 6c 20 64 duct.....(including.a.physical.d
23b80 69 73 74 72 69 62 75 74 69 6f 6e 20 6d 65 64 69 75 6d 29 2c 20 61 63 63 6f 6d 70 61 6e 69 65 64 istribution.medium),.accompanied
23ba0 20 62 79 20 74 68 65 0a 20 20 20 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 .by.the.....Corresponding.Source
23bc0 20 66 69 78 65 64 20 6f 6e 20 61 20 64 75 72 61 62 6c 65 20 70 68 79 73 69 63 61 6c 20 6d 65 64 .fixed.on.a.durable.physical.med
23be0 69 75 6d 0a 20 20 20 20 63 75 73 74 6f 6d 61 72 69 6c 79 20 75 73 65 64 20 66 6f 72 20 73 6f 66 ium.....customarily.used.for.sof
23c00 74 77 61 72 65 20 69 6e 74 65 72 63 68 61 6e 67 65 2e 0a 0a 20 20 20 20 62 29 20 43 6f 6e 76 65 tware.interchange.......b).Conve
23c20 79 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 69 6e 2c 20 6f 72 20 65 6d 62 6f 64 69 65 y.the.object.code.in,.or.embodie
23c40 64 20 69 6e 2c 20 61 20 70 68 79 73 69 63 61 6c 20 70 72 6f 64 75 63 74 0a 20 20 20 20 28 69 6e d.in,.a.physical.product.....(in
23c60 63 6c 75 64 69 6e 67 20 61 20 70 68 79 73 69 63 61 6c 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 cluding.a.physical.distribution.
23c80 6d 65 64 69 75 6d 29 2c 20 61 63 63 6f 6d 70 61 6e 69 65 64 20 62 79 20 61 0a 20 20 20 20 77 72 medium),.accompanied.by.a.....wr
23ca0 69 74 74 65 6e 20 6f 66 66 65 72 2c 20 76 61 6c 69 64 20 66 6f 72 20 61 74 20 6c 65 61 73 74 20 itten.offer,.valid.for.at.least.
23cc0 74 68 72 65 65 20 79 65 61 72 73 20 61 6e 64 20 76 61 6c 69 64 20 66 6f 72 20 61 73 0a 20 20 20 three.years.and.valid.for.as....
23ce0 20 6c 6f 6e 67 20 61 73 20 79 6f 75 20 6f 66 66 65 72 20 73 70 61 72 65 20 70 61 72 74 73 20 6f .long.as.you.offer.spare.parts.o
23d00 72 20 63 75 73 74 6f 6d 65 72 20 73 75 70 70 6f 72 74 20 66 6f 72 20 74 68 61 74 20 70 72 6f 64 r.customer.support.for.that.prod
23d20 75 63 74 0a 20 20 20 20 6d 6f 64 65 6c 2c 20 74 6f 20 67 69 76 65 20 61 6e 79 6f 6e 65 20 77 68 uct.....model,.to.give.anyone.wh
23d40 6f 20 70 6f 73 73 65 73 73 65 73 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 65 69 74 68 o.possesses.the.object.code.eith
23d60 65 72 20 28 31 29 20 61 0a 20 20 20 20 63 6f 70 79 20 6f 66 20 74 68 65 20 43 6f 72 72 65 73 70 er.(1).a.....copy.of.the.Corresp
23d80 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 66 6f 72 20 61 6c 6c 20 74 68 65 20 73 6f 66 74 77 61 onding.Source.for.all.the.softwa
23da0 72 65 20 69 6e 20 74 68 65 0a 20 20 20 20 70 72 6f 64 75 63 74 20 74 68 61 74 20 69 73 20 63 6f re.in.the.....product.that.is.co
23dc0 76 65 72 65 64 20 62 79 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 6f 6e 20 61 20 64 75 72 61 vered.by.this.License,.on.a.dura
23de0 62 6c 65 20 70 68 79 73 69 63 61 6c 0a 20 20 20 20 6d 65 64 69 75 6d 20 63 75 73 74 6f 6d 61 72 ble.physical.....medium.customar
23e00 69 6c 79 20 75 73 65 64 20 66 6f 72 20 73 6f 66 74 77 61 72 65 20 69 6e 74 65 72 63 68 61 6e 67 ily.used.for.software.interchang
23e20 65 2c 20 66 6f 72 20 61 20 70 72 69 63 65 20 6e 6f 0a 20 20 20 20 6d 6f 72 65 20 74 68 61 6e 20 e,.for.a.price.no.....more.than.
23e40 79 6f 75 72 20 72 65 61 73 6f 6e 61 62 6c 65 20 63 6f 73 74 20 6f 66 20 70 68 79 73 69 63 61 6c your.reasonable.cost.of.physical
23e60 6c 79 20 70 65 72 66 6f 72 6d 69 6e 67 20 74 68 69 73 0a 20 20 20 20 63 6f 6e 76 65 79 69 6e 67 ly.performing.this.....conveying
23e80 20 6f 66 20 73 6f 75 72 63 65 2c 20 6f 72 20 28 32 29 20 61 63 63 65 73 73 20 74 6f 20 63 6f 70 .of.source,.or.(2).access.to.cop
23ea0 79 20 74 68 65 0a 20 20 20 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 66 y.the.....Corresponding.Source.f
23ec0 72 6f 6d 20 61 20 6e 65 74 77 6f 72 6b 20 73 65 72 76 65 72 20 61 74 20 6e 6f 20 63 68 61 72 67 rom.a.network.server.at.no.charg
23ee0 65 2e 0a 0a 20 20 20 20 63 29 20 43 6f 6e 76 65 79 20 69 6e 64 69 76 69 64 75 61 6c 20 63 6f 70 e.......c).Convey.individual.cop
23f00 69 65 73 20 6f 66 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 77 69 74 68 20 61 20 63 6f ies.of.the.object.code.with.a.co
23f20 70 79 20 6f 66 20 74 68 65 0a 20 20 20 20 77 72 69 74 74 65 6e 20 6f 66 66 65 72 20 74 6f 20 70 py.of.the.....written.offer.to.p
23f40 72 6f 76 69 64 65 20 74 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 2e rovide.the.Corresponding.Source.
23f60 20 20 54 68 69 73 0a 20 20 20 20 61 6c 74 65 72 6e 61 74 69 76 65 20 69 73 20 61 6c 6c 6f 77 65 ..This.....alternative.is.allowe
23f80 64 20 6f 6e 6c 79 20 6f 63 63 61 73 69 6f 6e 61 6c 6c 79 20 61 6e 64 20 6e 6f 6e 63 6f 6d 6d 65 d.only.occasionally.and.noncomme
23fa0 72 63 69 61 6c 6c 79 2c 20 61 6e 64 0a 20 20 20 20 6f 6e 6c 79 20 69 66 20 79 6f 75 20 72 65 63 rcially,.and.....only.if.you.rec
23fc0 65 69 76 65 64 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 77 69 74 68 20 73 75 63 68 20 eived.the.object.code.with.such.
23fe0 61 6e 20 6f 66 66 65 72 2c 20 69 6e 20 61 63 63 6f 72 64 0a 20 20 20 20 77 69 74 68 20 73 75 62 an.offer,.in.accord.....with.sub
24000 73 65 63 74 69 6f 6e 20 36 62 2e 0a 0a 20 20 20 20 64 29 20 43 6f 6e 76 65 79 20 74 68 65 20 6f section.6b.......d).Convey.the.o
24020 62 6a 65 63 74 20 63 6f 64 65 20 62 79 20 6f 66 66 65 72 69 6e 67 20 61 63 63 65 73 73 20 66 72 bject.code.by.offering.access.fr
24040 6f 6d 20 61 20 64 65 73 69 67 6e 61 74 65 64 0a 20 20 20 20 70 6c 61 63 65 20 28 67 72 61 74 69 om.a.designated.....place.(grati
24060 73 20 6f 72 20 66 6f 72 20 61 20 63 68 61 72 67 65 29 2c 20 61 6e 64 20 6f 66 66 65 72 20 65 71 s.or.for.a.charge),.and.offer.eq
24080 75 69 76 61 6c 65 6e 74 20 61 63 63 65 73 73 20 74 6f 20 74 68 65 0a 20 20 20 20 43 6f 72 72 65 uivalent.access.to.the.....Corre
240a0 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 69 6e 20 74 68 65 20 73 61 6d 65 20 77 61 79 20 sponding.Source.in.the.same.way.
240c0 74 68 72 6f 75 67 68 20 74 68 65 20 73 61 6d 65 20 70 6c 61 63 65 20 61 74 20 6e 6f 0a 20 20 20 through.the.same.place.at.no....
240e0 20 66 75 72 74 68 65 72 20 63 68 61 72 67 65 2e 20 20 59 6f 75 20 6e 65 65 64 20 6e 6f 74 20 72 .further.charge...You.need.not.r
24100 65 71 75 69 72 65 20 72 65 63 69 70 69 65 6e 74 73 20 74 6f 20 63 6f 70 79 20 74 68 65 0a 20 20 equire.recipients.to.copy.the...
24120 20 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 61 6c 6f 6e 67 20 77 69 74 ..Corresponding.Source.along.wit
24140 68 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 2e 20 20 49 66 20 74 68 65 20 70 6c 61 63 65 h.the.object.code...If.the.place
24160 20 74 6f 0a 20 20 20 20 63 6f 70 79 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 69 73 20 .to.....copy.the.object.code.is.
24180 61 20 6e 65 74 77 6f 72 6b 20 73 65 72 76 65 72 2c 20 74 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 a.network.server,.the.Correspond
241a0 69 6e 67 20 53 6f 75 72 63 65 0a 20 20 20 20 6d 61 79 20 62 65 20 6f 6e 20 61 20 64 69 66 66 65 ing.Source.....may.be.on.a.diffe
241c0 72 65 6e 74 20 73 65 72 76 65 72 20 28 6f 70 65 72 61 74 65 64 20 62 79 20 79 6f 75 20 6f 72 20 rent.server.(operated.by.you.or.
241e0 61 20 74 68 69 72 64 20 70 61 72 74 79 29 0a 20 20 20 20 74 68 61 74 20 73 75 70 70 6f 72 74 73 a.third.party).....that.supports
24200 20 65 71 75 69 76 61 6c 65 6e 74 20 63 6f 70 79 69 6e 67 20 66 61 63 69 6c 69 74 69 65 73 2c 20 .equivalent.copying.facilities,.
24220 70 72 6f 76 69 64 65 64 20 79 6f 75 20 6d 61 69 6e 74 61 69 6e 0a 20 20 20 20 63 6c 65 61 72 20 provided.you.maintain.....clear.
24240 64 69 72 65 63 74 69 6f 6e 73 20 6e 65 78 74 20 74 6f 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f directions.next.to.the.object.co
24260 64 65 20 73 61 79 69 6e 67 20 77 68 65 72 65 20 74 6f 20 66 69 6e 64 20 74 68 65 0a 20 20 20 20 de.saying.where.to.find.the.....
24280 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 2e 20 20 52 65 67 61 72 64 6c 65 73 Corresponding.Source...Regardles
242a0 73 20 6f 66 20 77 68 61 74 20 73 65 72 76 65 72 20 68 6f 73 74 73 20 74 68 65 0a 20 20 20 20 43 s.of.what.server.hosts.the.....C
242c0 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 2c 20 79 6f 75 20 72 65 6d 61 69 6e 20 orresponding.Source,.you.remain.
242e0 6f 62 6c 69 67 61 74 65 64 20 74 6f 20 65 6e 73 75 72 65 20 74 68 61 74 20 69 74 20 69 73 0a 20 obligated.to.ensure.that.it.is..
24300 20 20 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 61 73 20 6c 6f 6e 67 20 61 73 20 6e 65 65 64 ...available.for.as.long.as.need
24320 65 64 20 74 6f 20 73 61 74 69 73 66 79 20 74 68 65 73 65 20 72 65 71 75 69 72 65 6d 65 6e 74 73 ed.to.satisfy.these.requirements
24340 2e 0a 0a 20 20 20 20 65 29 20 43 6f 6e 76 65 79 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 .......e).Convey.the.object.code
24360 20 75 73 69 6e 67 20 70 65 65 72 2d 74 6f 2d 70 65 65 72 20 74 72 61 6e 73 6d 69 73 73 69 6f 6e .using.peer-to-peer.transmission
24380 2c 20 70 72 6f 76 69 64 65 64 0a 20 20 20 20 79 6f 75 20 69 6e 66 6f 72 6d 20 6f 74 68 65 72 20 ,.provided.....you.inform.other.
243a0 70 65 65 72 73 20 77 68 65 72 65 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 61 6e 64 20 peers.where.the.object.code.and.
243c0 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 0a 20 20 20 20 53 6f 75 72 63 65 20 6f 66 20 74 68 65 20 Corresponding.....Source.of.the.
243e0 77 6f 72 6b 20 61 72 65 20 62 65 69 6e 67 20 6f 66 66 65 72 65 64 20 74 6f 20 74 68 65 20 67 65 work.are.being.offered.to.the.ge
24400 6e 65 72 61 6c 20 70 75 62 6c 69 63 20 61 74 20 6e 6f 0a 20 20 20 20 63 68 61 72 67 65 20 75 6e neral.public.at.no.....charge.un
24420 64 65 72 20 73 75 62 73 65 63 74 69 6f 6e 20 36 64 2e 0a 0a 20 20 41 20 73 65 70 61 72 61 62 6c der.subsection.6d.....A.separabl
24440 65 20 70 6f 72 74 69 6f 6e 20 6f 66 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 2c 20 77 68 e.portion.of.the.object.code,.wh
24460 6f 73 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 69 73 20 65 78 63 6c 75 64 65 64 0a 66 72 6f 6d ose.source.code.is.excluded.from
24480 20 74 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 61 73 20 61 20 53 .the.Corresponding.Source.as.a.S
244a0 79 73 74 65 6d 20 4c 69 62 72 61 72 79 2c 20 6e 65 65 64 20 6e 6f 74 20 62 65 0a 69 6e 63 6c 75 ystem.Library,.need.not.be.inclu
244c0 64 65 64 20 69 6e 20 63 6f 6e 76 65 79 69 6e 67 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 ded.in.conveying.the.object.code
244e0 20 77 6f 72 6b 2e 0a 0a 20 20 41 20 22 55 73 65 72 20 50 72 6f 64 75 63 74 22 20 69 73 20 65 69 .work.....A."User.Product".is.ei
24500 74 68 65 72 20 28 31 29 20 61 20 22 63 6f 6e 73 75 6d 65 72 20 70 72 6f 64 75 63 74 22 2c 20 77 ther.(1).a."consumer.product",.w
24520 68 69 63 68 20 6d 65 61 6e 73 20 61 6e 79 0a 74 61 6e 67 69 62 6c 65 20 70 65 72 73 6f 6e 61 6c hich.means.any.tangible.personal
24540 20 70 72 6f 70 65 72 74 79 20 77 68 69 63 68 20 69 73 20 6e 6f 72 6d 61 6c 6c 79 20 75 73 65 64 .property.which.is.normally.used
24560 20 66 6f 72 20 70 65 72 73 6f 6e 61 6c 2c 20 66 61 6d 69 6c 79 2c 0a 6f 72 20 68 6f 75 73 65 68 .for.personal,.family,.or.househ
24580 6f 6c 64 20 70 75 72 70 6f 73 65 73 2c 20 6f 72 20 28 32 29 20 61 6e 79 74 68 69 6e 67 20 64 65 old.purposes,.or.(2).anything.de
245a0 73 69 67 6e 65 64 20 6f 72 20 73 6f 6c 64 20 66 6f 72 20 69 6e 63 6f 72 70 6f 72 61 74 69 6f 6e signed.or.sold.for.incorporation
245c0 0a 69 6e 74 6f 20 61 20 64 77 65 6c 6c 69 6e 67 2e 20 20 49 6e 20 64 65 74 65 72 6d 69 6e 69 6e .into.a.dwelling...In.determinin
245e0 67 20 77 68 65 74 68 65 72 20 61 20 70 72 6f 64 75 63 74 20 69 73 20 61 20 63 6f 6e 73 75 6d 65 g.whether.a.product.is.a.consume
24600 72 20 70 72 6f 64 75 63 74 2c 0a 64 6f 75 62 74 66 75 6c 20 63 61 73 65 73 20 73 68 61 6c 6c 20 r.product,.doubtful.cases.shall.
24620 62 65 20 72 65 73 6f 6c 76 65 64 20 69 6e 20 66 61 76 6f 72 20 6f 66 20 63 6f 76 65 72 61 67 65 be.resolved.in.favor.of.coverage
24640 2e 20 20 46 6f 72 20 61 20 70 61 72 74 69 63 75 6c 61 72 0a 70 72 6f 64 75 63 74 20 72 65 63 65 ...For.a.particular.product.rece
24660 69 76 65 64 20 62 79 20 61 20 70 61 72 74 69 63 75 6c 61 72 20 75 73 65 72 2c 20 22 6e 6f 72 6d ived.by.a.particular.user,."norm
24680 61 6c 6c 79 20 75 73 65 64 22 20 72 65 66 65 72 73 20 74 6f 20 61 0a 74 79 70 69 63 61 6c 20 6f ally.used".refers.to.a.typical.o
246a0 72 20 63 6f 6d 6d 6f 6e 20 75 73 65 20 6f 66 20 74 68 61 74 20 63 6c 61 73 73 20 6f 66 20 70 72 r.common.use.of.that.class.of.pr
246c0 6f 64 75 63 74 2c 20 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 74 68 65 20 73 74 61 74 75 73 0a oduct,.regardless.of.the.status.
246e0 6f 66 20 74 68 65 20 70 61 72 74 69 63 75 6c 61 72 20 75 73 65 72 20 6f 72 20 6f 66 20 74 68 65 of.the.particular.user.or.of.the
24700 20 77 61 79 20 69 6e 20 77 68 69 63 68 20 74 68 65 20 70 61 72 74 69 63 75 6c 61 72 20 75 73 65 .way.in.which.the.particular.use
24720 72 0a 61 63 74 75 61 6c 6c 79 20 75 73 65 73 2c 20 6f 72 20 65 78 70 65 63 74 73 20 6f 72 20 69 r.actually.uses,.or.expects.or.i
24740 73 20 65 78 70 65 63 74 65 64 20 74 6f 20 75 73 65 2c 20 74 68 65 20 70 72 6f 64 75 63 74 2e 20 s.expected.to.use,.the.product..
24760 20 41 20 70 72 6f 64 75 63 74 0a 69 73 20 61 20 63 6f 6e 73 75 6d 65 72 20 70 72 6f 64 75 63 74 .A.product.is.a.consumer.product
24780 20 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 77 68 65 74 68 65 72 20 74 68 65 20 70 72 6f 64 75 .regardless.of.whether.the.produ
247a0 63 74 20 68 61 73 20 73 75 62 73 74 61 6e 74 69 61 6c 0a 63 6f 6d 6d 65 72 63 69 61 6c 2c 20 69 ct.has.substantial.commercial,.i
247c0 6e 64 75 73 74 72 69 61 6c 20 6f 72 20 6e 6f 6e 2d 63 6f 6e 73 75 6d 65 72 20 75 73 65 73 2c 20 ndustrial.or.non-consumer.uses,.
247e0 75 6e 6c 65 73 73 20 73 75 63 68 20 75 73 65 73 20 72 65 70 72 65 73 65 6e 74 0a 74 68 65 20 6f unless.such.uses.represent.the.o
24800 6e 6c 79 20 73 69 67 6e 69 66 69 63 61 6e 74 20 6d 6f 64 65 20 6f 66 20 75 73 65 20 6f 66 20 74 nly.significant.mode.of.use.of.t
24820 68 65 20 70 72 6f 64 75 63 74 2e 0a 0a 20 20 22 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 49 6e 66 he.product....."Installation.Inf
24840 6f 72 6d 61 74 69 6f 6e 22 20 66 6f 72 20 61 20 55 73 65 72 20 50 72 6f 64 75 63 74 20 6d 65 61 ormation".for.a.User.Product.mea
24860 6e 73 20 61 6e 79 20 6d 65 74 68 6f 64 73 2c 0a 70 72 6f 63 65 64 75 72 65 73 2c 20 61 75 74 68 ns.any.methods,.procedures,.auth
24880 6f 72 69 7a 61 74 69 6f 6e 20 6b 65 79 73 2c 20 6f 72 20 6f 74 68 65 72 20 69 6e 66 6f 72 6d 61 orization.keys,.or.other.informa
248a0 74 69 6f 6e 20 72 65 71 75 69 72 65 64 20 74 6f 20 69 6e 73 74 61 6c 6c 0a 61 6e 64 20 65 78 65 tion.required.to.install.and.exe
248c0 63 75 74 65 20 6d 6f 64 69 66 69 65 64 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 61 20 63 6f 76 65 cute.modified.versions.of.a.cove
248e0 72 65 64 20 77 6f 72 6b 20 69 6e 20 74 68 61 74 20 55 73 65 72 20 50 72 6f 64 75 63 74 20 66 72 red.work.in.that.User.Product.fr
24900 6f 6d 0a 61 20 6d 6f 64 69 66 69 65 64 20 76 65 72 73 69 6f 6e 20 6f 66 20 69 74 73 20 43 6f 72 om.a.modified.version.of.its.Cor
24920 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 2e 20 20 54 68 65 20 69 6e 66 6f 72 6d 61 74 responding.Source...The.informat
24940 69 6f 6e 20 6d 75 73 74 0a 73 75 66 66 69 63 65 20 74 6f 20 65 6e 73 75 72 65 20 74 68 61 74 20 ion.must.suffice.to.ensure.that.
24960 74 68 65 20 63 6f 6e 74 69 6e 75 65 64 20 66 75 6e 63 74 69 6f 6e 69 6e 67 20 6f 66 20 74 68 65 the.continued.functioning.of.the
24980 20 6d 6f 64 69 66 69 65 64 20 6f 62 6a 65 63 74 0a 63 6f 64 65 20 69 73 20 69 6e 20 6e 6f 20 63 .modified.object.code.is.in.no.c
249a0 61 73 65 20 70 72 65 76 65 6e 74 65 64 20 6f 72 20 69 6e 74 65 72 66 65 72 65 64 20 77 69 74 68 ase.prevented.or.interfered.with
249c0 20 73 6f 6c 65 6c 79 20 62 65 63 61 75 73 65 0a 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 68 61 73 .solely.because.modification.has
249e0 20 62 65 65 6e 20 6d 61 64 65 2e 0a 0a 20 20 49 66 20 79 6f 75 20 63 6f 6e 76 65 79 20 61 6e 20 .been.made.....If.you.convey.an.
24a00 6f 62 6a 65 63 74 20 63 6f 64 65 20 77 6f 72 6b 20 75 6e 64 65 72 20 74 68 69 73 20 73 65 63 74 object.code.work.under.this.sect
24a20 69 6f 6e 20 69 6e 2c 20 6f 72 20 77 69 74 68 2c 20 6f 72 0a 73 70 65 63 69 66 69 63 61 6c 6c 79 ion.in,.or.with,.or.specifically
24a40 20 66 6f 72 20 75 73 65 20 69 6e 2c 20 61 20 55 73 65 72 20 50 72 6f 64 75 63 74 2c 20 61 6e 64 .for.use.in,.a.User.Product,.and
24a60 20 74 68 65 20 63 6f 6e 76 65 79 69 6e 67 20 6f 63 63 75 72 73 20 61 73 0a 70 61 72 74 20 6f 66 .the.conveying.occurs.as.part.of
24a80 20 61 20 74 72 61 6e 73 61 63 74 69 6f 6e 20 69 6e 20 77 68 69 63 68 20 74 68 65 20 72 69 67 68 .a.transaction.in.which.the.righ
24aa0 74 20 6f 66 20 70 6f 73 73 65 73 73 69 6f 6e 20 61 6e 64 20 75 73 65 20 6f 66 20 74 68 65 0a 55 t.of.possession.and.use.of.the.U
24ac0 73 65 72 20 50 72 6f 64 75 63 74 20 69 73 20 74 72 61 6e 73 66 65 72 72 65 64 20 74 6f 20 74 68 ser.Product.is.transferred.to.th
24ae0 65 20 72 65 63 69 70 69 65 6e 74 20 69 6e 20 70 65 72 70 65 74 75 69 74 79 20 6f 72 20 66 6f 72 e.recipient.in.perpetuity.or.for
24b00 20 61 0a 66 69 78 65 64 20 74 65 72 6d 20 28 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 68 6f 77 .a.fixed.term.(regardless.of.how
24b20 20 74 68 65 20 74 72 61 6e 73 61 63 74 69 6f 6e 20 69 73 20 63 68 61 72 61 63 74 65 72 69 7a 65 .the.transaction.is.characterize
24b40 64 29 2c 20 74 68 65 0a 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 63 6f 6e d),.the.Corresponding.Source.con
24b60 76 65 79 65 64 20 75 6e 64 65 72 20 74 68 69 73 20 73 65 63 74 69 6f 6e 20 6d 75 73 74 20 62 65 veyed.under.this.section.must.be
24b80 20 61 63 63 6f 6d 70 61 6e 69 65 64 0a 62 79 20 74 68 65 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e .accompanied.by.the.Installation
24ba0 20 49 6e 66 6f 72 6d 61 74 69 6f 6e 2e 20 20 42 75 74 20 74 68 69 73 20 72 65 71 75 69 72 65 6d .Information...But.this.requirem
24bc0 65 6e 74 20 64 6f 65 73 20 6e 6f 74 20 61 70 70 6c 79 0a 69 66 20 6e 65 69 74 68 65 72 20 79 6f ent.does.not.apply.if.neither.yo
24be0 75 20 6e 6f 72 20 61 6e 79 20 74 68 69 72 64 20 70 61 72 74 79 20 72 65 74 61 69 6e 73 20 74 68 u.nor.any.third.party.retains.th
24c00 65 20 61 62 69 6c 69 74 79 20 74 6f 20 69 6e 73 74 61 6c 6c 0a 6d 6f 64 69 66 69 65 64 20 6f 62 e.ability.to.install.modified.ob
24c20 6a 65 63 74 20 63 6f 64 65 20 6f 6e 20 74 68 65 20 55 73 65 72 20 50 72 6f 64 75 63 74 20 28 66 ject.code.on.the.User.Product.(f
24c40 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 77 6f 72 6b 20 68 61 73 0a 62 65 65 6e 20 69 6e or.example,.the.work.has.been.in
24c60 73 74 61 6c 6c 65 64 20 69 6e 20 52 4f 4d 29 2e 0a 0a 20 20 54 68 65 20 72 65 71 75 69 72 65 6d stalled.in.ROM).....The.requirem
24c80 65 6e 74 20 74 6f 20 70 72 6f 76 69 64 65 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 49 6e 66 6f ent.to.provide.Installation.Info
24ca0 72 6d 61 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 61 0a 72 65 71 75 69 rmation.does.not.include.a.requi
24cc0 72 65 6d 65 6e 74 20 74 6f 20 63 6f 6e 74 69 6e 75 65 20 74 6f 20 70 72 6f 76 69 64 65 20 73 75 rement.to.continue.to.provide.su
24ce0 70 70 6f 72 74 20 73 65 72 76 69 63 65 2c 20 77 61 72 72 61 6e 74 79 2c 20 6f 72 20 75 70 64 61 pport.service,.warranty,.or.upda
24d00 74 65 73 0a 66 6f 72 20 61 20 77 6f 72 6b 20 74 68 61 74 20 68 61 73 20 62 65 65 6e 20 6d 6f 64 tes.for.a.work.that.has.been.mod
24d20 69 66 69 65 64 20 6f 72 20 69 6e 73 74 61 6c 6c 65 64 20 62 79 20 74 68 65 20 72 65 63 69 70 69 ified.or.installed.by.the.recipi
24d40 65 6e 74 2c 20 6f 72 20 66 6f 72 0a 74 68 65 20 55 73 65 72 20 50 72 6f 64 75 63 74 20 69 6e 20 ent,.or.for.the.User.Product.in.
24d60 77 68 69 63 68 20 69 74 20 68 61 73 20 62 65 65 6e 20 6d 6f 64 69 66 69 65 64 20 6f 72 20 69 6e which.it.has.been.modified.or.in
24d80 73 74 61 6c 6c 65 64 2e 20 20 41 63 63 65 73 73 20 74 6f 20 61 0a 6e 65 74 77 6f 72 6b 20 6d 61 stalled...Access.to.a.network.ma
24da0 79 20 62 65 20 64 65 6e 69 65 64 20 77 68 65 6e 20 74 68 65 20 6d 6f 64 69 66 69 63 61 74 69 6f y.be.denied.when.the.modificatio
24dc0 6e 20 69 74 73 65 6c 66 20 6d 61 74 65 72 69 61 6c 6c 79 20 61 6e 64 0a 61 64 76 65 72 73 65 6c n.itself.materially.and.adversel
24de0 79 20 61 66 66 65 63 74 73 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 6e y.affects.the.operation.of.the.n
24e00 65 74 77 6f 72 6b 20 6f 72 20 76 69 6f 6c 61 74 65 73 20 74 68 65 20 72 75 6c 65 73 20 61 6e 64 etwork.or.violates.the.rules.and
24e20 0a 70 72 6f 74 6f 63 6f 6c 73 20 66 6f 72 20 63 6f 6d 6d 75 6e 69 63 61 74 69 6f 6e 20 61 63 72 .protocols.for.communication.acr
24e40 6f 73 73 20 74 68 65 20 6e 65 74 77 6f 72 6b 2e 0a 0a 20 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e oss.the.network.....Correspondin
24e60 67 20 53 6f 75 72 63 65 20 63 6f 6e 76 65 79 65 64 2c 20 61 6e 64 20 49 6e 73 74 61 6c 6c 61 74 g.Source.conveyed,.and.Installat
24e80 69 6f 6e 20 49 6e 66 6f 72 6d 61 74 69 6f 6e 20 70 72 6f 76 69 64 65 64 2c 0a 69 6e 20 61 63 63 ion.Information.provided,.in.acc
24ea0 6f 72 64 20 77 69 74 68 20 74 68 69 73 20 73 65 63 74 69 6f 6e 20 6d 75 73 74 20 62 65 20 69 6e ord.with.this.section.must.be.in
24ec0 20 61 20 66 6f 72 6d 61 74 20 74 68 61 74 20 69 73 20 70 75 62 6c 69 63 6c 79 0a 64 6f 63 75 6d .a.format.that.is.publicly.docum
24ee0 65 6e 74 65 64 20 28 61 6e 64 20 77 69 74 68 20 61 6e 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f ented.(and.with.an.implementatio
24f00 6e 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 74 68 65 20 70 75 62 6c 69 63 20 69 6e 0a 73 6f 75 n.available.to.the.public.in.sou
24f20 72 63 65 20 63 6f 64 65 20 66 6f 72 6d 29 2c 20 61 6e 64 20 6d 75 73 74 20 72 65 71 75 69 72 65 rce.code.form),.and.must.require
24f40 20 6e 6f 20 73 70 65 63 69 61 6c 20 70 61 73 73 77 6f 72 64 20 6f 72 20 6b 65 79 20 66 6f 72 0a .no.special.password.or.key.for.
24f60 75 6e 70 61 63 6b 69 6e 67 2c 20 72 65 61 64 69 6e 67 20 6f 72 20 63 6f 70 79 69 6e 67 2e 0a 0a unpacking,.reading.or.copying...
24f80 20 20 37 2e 20 41 64 64 69 74 69 6f 6e 61 6c 20 54 65 72 6d 73 2e 0a 0a 20 20 22 41 64 64 69 74 ..7..Additional.Terms....."Addit
24fa0 69 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 22 20 61 72 65 20 74 65 72 6d 73 20 74 68 61 ional.permissions".are.terms.tha
24fc0 74 20 73 75 70 70 6c 65 6d 65 6e 74 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 69 73 0a 4c t.supplement.the.terms.of.this.L
24fe0 69 63 65 6e 73 65 20 62 79 20 6d 61 6b 69 6e 67 20 65 78 63 65 70 74 69 6f 6e 73 20 66 72 6f 6d icense.by.making.exceptions.from
25000 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 6f 66 20 69 74 73 20 63 6f 6e 64 69 74 69 6f 6e 73 2e 0a .one.or.more.of.its.conditions..
25020 41 64 64 69 74 69 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 74 68 61 74 20 61 72 65 20 Additional.permissions.that.are.
25040 61 70 70 6c 69 63 61 62 6c 65 20 74 6f 20 74 68 65 20 65 6e 74 69 72 65 20 50 72 6f 67 72 61 6d applicable.to.the.entire.Program
25060 20 73 68 61 6c 6c 0a 62 65 20 74 72 65 61 74 65 64 20 61 73 20 74 68 6f 75 67 68 20 74 68 65 79 .shall.be.treated.as.though.they
25080 20 77 65 72 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 .were.included.in.this.License,.
250a0 74 6f 20 74 68 65 20 65 78 74 65 6e 74 0a 74 68 61 74 20 74 68 65 79 20 61 72 65 20 76 61 6c 69 to.the.extent.that.they.are.vali
250c0 64 20 75 6e 64 65 72 20 61 70 70 6c 69 63 61 62 6c 65 20 6c 61 77 2e 20 20 49 66 20 61 64 64 69 d.under.applicable.law...If.addi
250e0 74 69 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 0a 61 70 70 6c 79 20 6f 6e 6c 79 20 74 6f tional.permissions.apply.only.to
25100 20 70 61 72 74 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 6d 2c 20 74 68 61 74 20 70 61 72 74 20 .part.of.the.Program,.that.part.
25120 6d 61 79 20 62 65 20 75 73 65 64 20 73 65 70 61 72 61 74 65 6c 79 0a 75 6e 64 65 72 20 74 68 6f may.be.used.separately.under.tho
25140 73 65 20 70 65 72 6d 69 73 73 69 6f 6e 73 2c 20 62 75 74 20 74 68 65 20 65 6e 74 69 72 65 20 50 se.permissions,.but.the.entire.P
25160 72 6f 67 72 61 6d 20 72 65 6d 61 69 6e 73 20 67 6f 76 65 72 6e 65 64 20 62 79 0a 74 68 69 73 20 rogram.remains.governed.by.this.
25180 4c 69 63 65 6e 73 65 20 77 69 74 68 6f 75 74 20 72 65 67 61 72 64 20 74 6f 20 74 68 65 20 61 64 License.without.regard.to.the.ad
251a0 64 69 74 69 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 2e 0a 0a 20 20 57 68 65 6e 20 79 6f ditional.permissions.....When.yo
251c0 75 20 63 6f 6e 76 65 79 20 61 20 63 6f 70 79 20 6f 66 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 u.convey.a.copy.of.a.covered.wor
251e0 6b 2c 20 79 6f 75 20 6d 61 79 20 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 0a 72 65 6d 6f 76 65 k,.you.may.at.your.option.remove
25200 20 61 6e 79 20 61 64 64 69 74 69 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 66 72 6f 6d .any.additional.permissions.from
25220 20 74 68 61 74 20 63 6f 70 79 2c 20 6f 72 20 66 72 6f 6d 20 61 6e 79 20 70 61 72 74 20 6f 66 0a .that.copy,.or.from.any.part.of.
25240 69 74 2e 20 20 28 41 64 64 69 74 69 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 6d 61 79 it...(Additional.permissions.may
25260 20 62 65 20 77 72 69 74 74 65 6e 20 74 6f 20 72 65 71 75 69 72 65 20 74 68 65 69 72 20 6f 77 6e .be.written.to.require.their.own
25280 0a 72 65 6d 6f 76 61 6c 20 69 6e 20 63 65 72 74 61 69 6e 20 63 61 73 65 73 20 77 68 65 6e 20 79 .removal.in.certain.cases.when.y
252a0 6f 75 20 6d 6f 64 69 66 79 20 74 68 65 20 77 6f 72 6b 2e 29 20 20 59 6f 75 20 6d 61 79 20 70 6c ou.modify.the.work.)..You.may.pl
252c0 61 63 65 0a 61 64 64 69 74 69 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 6f 6e 20 6d 61 ace.additional.permissions.on.ma
252e0 74 65 72 69 61 6c 2c 20 61 64 64 65 64 20 62 79 20 79 6f 75 20 74 6f 20 61 20 63 6f 76 65 72 65 terial,.added.by.you.to.a.covere
25300 64 20 77 6f 72 6b 2c 0a 66 6f 72 20 77 68 69 63 68 20 79 6f 75 20 68 61 76 65 20 6f 72 20 63 61 d.work,.for.which.you.have.or.ca
25320 6e 20 67 69 76 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 63 6f 70 79 72 69 67 68 74 20 70 65 72 n.give.appropriate.copyright.per
25340 6d 69 73 73 69 6f 6e 2e 0a 0a 20 20 4e 6f 74 77 69 74 68 73 74 61 6e 64 69 6e 67 20 61 6e 79 20 mission.....Notwithstanding.any.
25360 6f 74 68 65 72 20 70 72 6f 76 69 73 69 6f 6e 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c other.provision.of.this.License,
25380 20 66 6f 72 20 6d 61 74 65 72 69 61 6c 20 79 6f 75 0a 61 64 64 20 74 6f 20 61 20 63 6f 76 65 72 .for.material.you.add.to.a.cover
253a0 65 64 20 77 6f 72 6b 2c 20 79 6f 75 20 6d 61 79 20 28 69 66 20 61 75 74 68 6f 72 69 7a 65 64 20 ed.work,.you.may.(if.authorized.
253c0 62 79 20 74 68 65 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 73 20 6f 66 0a 74 68 61 74 by.the.copyright.holders.of.that
253e0 20 6d 61 74 65 72 69 61 6c 29 20 73 75 70 70 6c 65 6d 65 6e 74 20 74 68 65 20 74 65 72 6d 73 20 .material).supplement.the.terms.
25400 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 77 69 74 68 20 74 65 72 6d 73 3a 0a 0a 20 20 20 of.this.License.with.terms:.....
25420 20 61 29 20 44 69 73 63 6c 61 69 6d 69 6e 67 20 77 61 72 72 61 6e 74 79 20 6f 72 20 6c 69 6d 69 .a).Disclaiming.warranty.or.limi
25440 74 69 6e 67 20 6c 69 61 62 69 6c 69 74 79 20 64 69 66 66 65 72 65 6e 74 6c 79 20 66 72 6f 6d 20 ting.liability.differently.from.
25460 74 68 65 0a 20 20 20 20 74 65 72 6d 73 20 6f 66 20 73 65 63 74 69 6f 6e 73 20 31 35 20 61 6e 64 the.....terms.of.sections.15.and
25480 20 31 36 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 3b 20 6f 72 0a 0a 20 20 20 20 62 29 20 .16.of.this.License;.or......b).
254a0 52 65 71 75 69 72 69 6e 67 20 70 72 65 73 65 72 76 61 74 69 6f 6e 20 6f 66 20 73 70 65 63 69 66 Requiring.preservation.of.specif
254c0 69 65 64 20 72 65 61 73 6f 6e 61 62 6c 65 20 6c 65 67 61 6c 20 6e 6f 74 69 63 65 73 20 6f 72 0a ied.reasonable.legal.notices.or.
254e0 20 20 20 20 61 75 74 68 6f 72 20 61 74 74 72 69 62 75 74 69 6f 6e 73 20 69 6e 20 74 68 61 74 20 ....author.attributions.in.that.
25500 6d 61 74 65 72 69 61 6c 20 6f 72 20 69 6e 20 74 68 65 20 41 70 70 72 6f 70 72 69 61 74 65 20 4c material.or.in.the.Appropriate.L
25520 65 67 61 6c 0a 20 20 20 20 4e 6f 74 69 63 65 73 20 64 69 73 70 6c 61 79 65 64 20 62 79 20 77 6f egal.....Notices.displayed.by.wo
25540 72 6b 73 20 63 6f 6e 74 61 69 6e 69 6e 67 20 69 74 3b 20 6f 72 0a 0a 20 20 20 20 63 29 20 50 72 rks.containing.it;.or......c).Pr
25560 6f 68 69 62 69 74 69 6e 67 20 6d 69 73 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 74 ohibiting.misrepresentation.of.t
25580 68 65 20 6f 72 69 67 69 6e 20 6f 66 20 74 68 61 74 20 6d 61 74 65 72 69 61 6c 2c 20 6f 72 0a 20 he.origin.of.that.material,.or..
255a0 20 20 20 72 65 71 75 69 72 69 6e 67 20 74 68 61 74 20 6d 6f 64 69 66 69 65 64 20 76 65 72 73 69 ...requiring.that.modified.versi
255c0 6f 6e 73 20 6f 66 20 73 75 63 68 20 6d 61 74 65 72 69 61 6c 20 62 65 20 6d 61 72 6b 65 64 20 69 ons.of.such.material.be.marked.i
255e0 6e 0a 20 20 20 20 72 65 61 73 6f 6e 61 62 6c 65 20 77 61 79 73 20 61 73 20 64 69 66 66 65 72 65 n.....reasonable.ways.as.differe
25600 6e 74 20 66 72 6f 6d 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 76 65 72 73 69 6f 6e 3b 20 6f 72 nt.from.the.original.version;.or
25620 0a 0a 20 20 20 20 64 29 20 4c 69 6d 69 74 69 6e 67 20 74 68 65 20 75 73 65 20 66 6f 72 20 70 75 ......d).Limiting.the.use.for.pu
25640 62 6c 69 63 69 74 79 20 70 75 72 70 6f 73 65 73 20 6f 66 20 6e 61 6d 65 73 20 6f 66 20 6c 69 63 blicity.purposes.of.names.of.lic
25660 65 6e 73 6f 72 73 20 6f 72 0a 20 20 20 20 61 75 74 68 6f 72 73 20 6f 66 20 74 68 65 20 6d 61 74 ensors.or.....authors.of.the.mat
25680 65 72 69 61 6c 3b 20 6f 72 0a 0a 20 20 20 20 65 29 20 44 65 63 6c 69 6e 69 6e 67 20 74 6f 20 67 erial;.or......e).Declining.to.g
256a0 72 61 6e 74 20 72 69 67 68 74 73 20 75 6e 64 65 72 20 74 72 61 64 65 6d 61 72 6b 20 6c 61 77 20 rant.rights.under.trademark.law.
256c0 66 6f 72 20 75 73 65 20 6f 66 20 73 6f 6d 65 0a 20 20 20 20 74 72 61 64 65 20 6e 61 6d 65 73 2c for.use.of.some.....trade.names,
256e0 20 74 72 61 64 65 6d 61 72 6b 73 2c 20 6f 72 20 73 65 72 76 69 63 65 20 6d 61 72 6b 73 3b 20 6f .trademarks,.or.service.marks;.o
25700 72 0a 0a 20 20 20 20 66 29 20 52 65 71 75 69 72 69 6e 67 20 69 6e 64 65 6d 6e 69 66 69 63 61 74 r......f).Requiring.indemnificat
25720 69 6f 6e 20 6f 66 20 6c 69 63 65 6e 73 6f 72 73 20 61 6e 64 20 61 75 74 68 6f 72 73 20 6f 66 20 ion.of.licensors.and.authors.of.
25740 74 68 61 74 0a 20 20 20 20 6d 61 74 65 72 69 61 6c 20 62 79 20 61 6e 79 6f 6e 65 20 77 68 6f 20 that.....material.by.anyone.who.
25760 63 6f 6e 76 65 79 73 20 74 68 65 20 6d 61 74 65 72 69 61 6c 20 28 6f 72 20 6d 6f 64 69 66 69 65 conveys.the.material.(or.modifie
25780 64 20 76 65 72 73 69 6f 6e 73 20 6f 66 0a 20 20 20 20 69 74 29 20 77 69 74 68 20 63 6f 6e 74 72 d.versions.of.....it).with.contr
257a0 61 63 74 75 61 6c 20 61 73 73 75 6d 70 74 69 6f 6e 73 20 6f 66 20 6c 69 61 62 69 6c 69 74 79 20 actual.assumptions.of.liability.
257c0 74 6f 20 74 68 65 20 72 65 63 69 70 69 65 6e 74 2c 20 66 6f 72 0a 20 20 20 20 61 6e 79 20 6c 69 to.the.recipient,.for.....any.li
257e0 61 62 69 6c 69 74 79 20 74 68 61 74 20 74 68 65 73 65 20 63 6f 6e 74 72 61 63 74 75 61 6c 20 61 ability.that.these.contractual.a
25800 73 73 75 6d 70 74 69 6f 6e 73 20 64 69 72 65 63 74 6c 79 20 69 6d 70 6f 73 65 20 6f 6e 0a 20 20 ssumptions.directly.impose.on...
25820 20 20 74 68 6f 73 65 20 6c 69 63 65 6e 73 6f 72 73 20 61 6e 64 20 61 75 74 68 6f 72 73 2e 0a 0a ..those.licensors.and.authors...
25840 20 20 41 6c 6c 20 6f 74 68 65 72 20 6e 6f 6e 2d 70 65 72 6d 69 73 73 69 76 65 20 61 64 64 69 74 ..All.other.non-permissive.addit
25860 69 6f 6e 61 6c 20 74 65 72 6d 73 20 61 72 65 20 63 6f 6e 73 69 64 65 72 65 64 20 22 66 75 72 74 ional.terms.are.considered."furt
25880 68 65 72 0a 72 65 73 74 72 69 63 74 69 6f 6e 73 22 20 77 69 74 68 69 6e 20 74 68 65 20 6d 65 61 her.restrictions".within.the.mea
258a0 6e 69 6e 67 20 6f 66 20 73 65 63 74 69 6f 6e 20 31 30 2e 20 20 49 66 20 74 68 65 20 50 72 6f 67 ning.of.section.10...If.the.Prog
258c0 72 61 6d 20 61 73 20 79 6f 75 0a 72 65 63 65 69 76 65 64 20 69 74 2c 20 6f 72 20 61 6e 79 20 70 ram.as.you.received.it,.or.any.p
258e0 61 72 74 20 6f 66 20 69 74 2c 20 63 6f 6e 74 61 69 6e 73 20 61 20 6e 6f 74 69 63 65 20 73 74 61 art.of.it,.contains.a.notice.sta
25900 74 69 6e 67 20 74 68 61 74 20 69 74 20 69 73 0a 67 6f 76 65 72 6e 65 64 20 62 79 20 74 68 69 73 ting.that.it.is.governed.by.this
25920 20 4c 69 63 65 6e 73 65 20 61 6c 6f 6e 67 20 77 69 74 68 20 61 20 74 65 72 6d 20 74 68 61 74 20 .License.along.with.a.term.that.
25940 69 73 20 61 20 66 75 72 74 68 65 72 0a 72 65 73 74 72 69 63 74 69 6f 6e 2c 20 79 6f 75 20 6d 61 is.a.further.restriction,.you.ma
25960 79 20 72 65 6d 6f 76 65 20 74 68 61 74 20 74 65 72 6d 2e 20 20 49 66 20 61 20 6c 69 63 65 6e 73 y.remove.that.term...If.a.licens
25980 65 20 64 6f 63 75 6d 65 6e 74 20 63 6f 6e 74 61 69 6e 73 0a 61 20 66 75 72 74 68 65 72 20 72 65 e.document.contains.a.further.re
259a0 73 74 72 69 63 74 69 6f 6e 20 62 75 74 20 70 65 72 6d 69 74 73 20 72 65 6c 69 63 65 6e 73 69 6e striction.but.permits.relicensin
259c0 67 20 6f 72 20 63 6f 6e 76 65 79 69 6e 67 20 75 6e 64 65 72 20 74 68 69 73 0a 4c 69 63 65 6e 73 g.or.conveying.under.this.Licens
259e0 65 2c 20 79 6f 75 20 6d 61 79 20 61 64 64 20 74 6f 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b e,.you.may.add.to.a.covered.work
25a00 20 6d 61 74 65 72 69 61 6c 20 67 6f 76 65 72 6e 65 64 20 62 79 20 74 68 65 20 74 65 72 6d 73 0a .material.governed.by.the.terms.
25a20 6f 66 20 74 68 61 74 20 6c 69 63 65 6e 73 65 20 64 6f 63 75 6d 65 6e 74 2c 20 70 72 6f 76 69 64 of.that.license.document,.provid
25a40 65 64 20 74 68 61 74 20 74 68 65 20 66 75 72 74 68 65 72 20 72 65 73 74 72 69 63 74 69 6f 6e 20 ed.that.the.further.restriction.
25a60 64 6f 65 73 0a 6e 6f 74 20 73 75 72 76 69 76 65 20 73 75 63 68 20 72 65 6c 69 63 65 6e 73 69 6e does.not.survive.such.relicensin
25a80 67 20 6f 72 20 63 6f 6e 76 65 79 69 6e 67 2e 0a 0a 20 20 49 66 20 79 6f 75 20 61 64 64 20 74 65 g.or.conveying.....If.you.add.te
25aa0 72 6d 73 20 74 6f 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 69 6e 20 61 63 63 6f 72 64 20 rms.to.a.covered.work.in.accord.
25ac0 77 69 74 68 20 74 68 69 73 20 73 65 63 74 69 6f 6e 2c 20 79 6f 75 0a 6d 75 73 74 20 70 6c 61 63 with.this.section,.you.must.plac
25ae0 65 2c 20 69 6e 20 74 68 65 20 72 65 6c 65 76 61 6e 74 20 73 6f 75 72 63 65 20 66 69 6c 65 73 2c e,.in.the.relevant.source.files,
25b00 20 61 20 73 74 61 74 65 6d 65 6e 74 20 6f 66 20 74 68 65 0a 61 64 64 69 74 69 6f 6e 61 6c 20 74 .a.statement.of.the.additional.t
25b20 65 72 6d 73 20 74 68 61 74 20 61 70 70 6c 79 20 74 6f 20 74 68 6f 73 65 20 66 69 6c 65 73 2c 20 erms.that.apply.to.those.files,.
25b40 6f 72 20 61 20 6e 6f 74 69 63 65 20 69 6e 64 69 63 61 74 69 6e 67 0a 77 68 65 72 65 20 74 6f 20 or.a.notice.indicating.where.to.
25b60 66 69 6e 64 20 74 68 65 20 61 70 70 6c 69 63 61 62 6c 65 20 74 65 72 6d 73 2e 0a 0a 20 20 41 64 find.the.applicable.terms.....Ad
25b80 64 69 74 69 6f 6e 61 6c 20 74 65 72 6d 73 2c 20 70 65 72 6d 69 73 73 69 76 65 20 6f 72 20 6e 6f ditional.terms,.permissive.or.no
25ba0 6e 2d 70 65 72 6d 69 73 73 69 76 65 2c 20 6d 61 79 20 62 65 20 73 74 61 74 65 64 20 69 6e 20 74 n-permissive,.may.be.stated.in.t
25bc0 68 65 0a 66 6f 72 6d 20 6f 66 20 61 20 73 65 70 61 72 61 74 65 6c 79 20 77 72 69 74 74 65 6e 20 he.form.of.a.separately.written.
25be0 6c 69 63 65 6e 73 65 2c 20 6f 72 20 73 74 61 74 65 64 20 61 73 20 65 78 63 65 70 74 69 6f 6e 73 license,.or.stated.as.exceptions
25c00 3b 0a 74 68 65 20 61 62 6f 76 65 20 72 65 71 75 69 72 65 6d 65 6e 74 73 20 61 70 70 6c 79 20 65 ;.the.above.requirements.apply.e
25c20 69 74 68 65 72 20 77 61 79 2e 0a 0a 20 20 38 2e 20 54 65 72 6d 69 6e 61 74 69 6f 6e 2e 0a 0a 20 ither.way.....8..Termination....
25c40 20 59 6f 75 20 6d 61 79 20 6e 6f 74 20 70 72 6f 70 61 67 61 74 65 20 6f 72 20 6d 6f 64 69 66 79 .You.may.not.propagate.or.modify
25c60 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 65 78 63 65 70 74 20 61 73 20 65 78 70 72 65 73 .a.covered.work.except.as.expres
25c80 73 6c 79 0a 70 72 6f 76 69 64 65 64 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e sly.provided.under.this.License.
25ca0 20 20 41 6e 79 20 61 74 74 65 6d 70 74 20 6f 74 68 65 72 77 69 73 65 20 74 6f 20 70 72 6f 70 61 ..Any.attempt.otherwise.to.propa
25cc0 67 61 74 65 20 6f 72 0a 6d 6f 64 69 66 79 20 69 74 20 69 73 20 76 6f 69 64 2c 20 61 6e 64 20 77 gate.or.modify.it.is.void,.and.w
25ce0 69 6c 6c 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 74 65 72 6d 69 6e 61 74 65 20 79 6f 75 72 ill.automatically.terminate.your
25d00 20 72 69 67 68 74 73 20 75 6e 64 65 72 0a 74 68 69 73 20 4c 69 63 65 6e 73 65 20 28 69 6e 63 6c .rights.under.this.License.(incl
25d20 75 64 69 6e 67 20 61 6e 79 20 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 73 20 67 72 61 6e 74 65 uding.any.patent.licenses.grante
25d40 64 20 75 6e 64 65 72 20 74 68 65 20 74 68 69 72 64 0a 70 61 72 61 67 72 61 70 68 20 6f 66 20 73 d.under.the.third.paragraph.of.s
25d60 65 63 74 69 6f 6e 20 31 31 29 2e 0a 0a 20 20 48 6f 77 65 76 65 72 2c 20 69 66 20 79 6f 75 20 63 ection.11).....However,.if.you.c
25d80 65 61 73 65 20 61 6c 6c 20 76 69 6f 6c 61 74 69 6f 6e 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e ease.all.violation.of.this.Licen
25da0 73 65 2c 20 74 68 65 6e 20 79 6f 75 72 0a 6c 69 63 65 6e 73 65 20 66 72 6f 6d 20 61 20 70 61 72 se,.then.your.license.from.a.par
25dc0 74 69 63 75 6c 61 72 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 69 73 20 72 65 69 6e ticular.copyright.holder.is.rein
25de0 73 74 61 74 65 64 20 28 61 29 0a 70 72 6f 76 69 73 69 6f 6e 61 6c 6c 79 2c 20 75 6e 6c 65 73 73 stated.(a).provisionally,.unless
25e00 20 61 6e 64 20 75 6e 74 69 6c 20 74 68 65 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 .and.until.the.copyright.holder.
25e20 65 78 70 6c 69 63 69 74 6c 79 20 61 6e 64 0a 66 69 6e 61 6c 6c 79 20 74 65 72 6d 69 6e 61 74 65 explicitly.and.finally.terminate
25e40 73 20 79 6f 75 72 20 6c 69 63 65 6e 73 65 2c 20 61 6e 64 20 28 62 29 20 70 65 72 6d 61 6e 65 6e s.your.license,.and.(b).permanen
25e60 74 6c 79 2c 20 69 66 20 74 68 65 20 63 6f 70 79 72 69 67 68 74 0a 68 6f 6c 64 65 72 20 66 61 69 tly,.if.the.copyright.holder.fai
25e80 6c 73 20 74 6f 20 6e 6f 74 69 66 79 20 79 6f 75 20 6f 66 20 74 68 65 20 76 69 6f 6c 61 74 69 6f ls.to.notify.you.of.the.violatio
25ea0 6e 20 62 79 20 73 6f 6d 65 20 72 65 61 73 6f 6e 61 62 6c 65 20 6d 65 61 6e 73 0a 70 72 69 6f 72 n.by.some.reasonable.means.prior
25ec0 20 74 6f 20 36 30 20 64 61 79 73 20 61 66 74 65 72 20 74 68 65 20 63 65 73 73 61 74 69 6f 6e 2e .to.60.days.after.the.cessation.
25ee0 0a 0a 20 20 4d 6f 72 65 6f 76 65 72 2c 20 79 6f 75 72 20 6c 69 63 65 6e 73 65 20 66 72 6f 6d 20 ....Moreover,.your.license.from.
25f00 61 20 70 61 72 74 69 63 75 6c 61 72 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 69 73 a.particular.copyright.holder.is
25f20 0a 72 65 69 6e 73 74 61 74 65 64 20 70 65 72 6d 61 6e 65 6e 74 6c 79 20 69 66 20 74 68 65 20 63 .reinstated.permanently.if.the.c
25f40 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 6e 6f 74 69 66 69 65 73 20 79 6f 75 20 6f 66 20 opyright.holder.notifies.you.of.
25f60 74 68 65 0a 76 69 6f 6c 61 74 69 6f 6e 20 62 79 20 73 6f 6d 65 20 72 65 61 73 6f 6e 61 62 6c 65 the.violation.by.some.reasonable
25f80 20 6d 65 61 6e 73 2c 20 74 68 69 73 20 69 73 20 74 68 65 20 66 69 72 73 74 20 74 69 6d 65 20 79 .means,.this.is.the.first.time.y
25fa0 6f 75 20 68 61 76 65 0a 72 65 63 65 69 76 65 64 20 6e 6f 74 69 63 65 20 6f 66 20 76 69 6f 6c 61 ou.have.received.notice.of.viola
25fc0 74 69 6f 6e 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 28 66 6f 72 20 61 6e 79 20 77 6f tion.of.this.License.(for.any.wo
25fe0 72 6b 29 20 66 72 6f 6d 20 74 68 61 74 0a 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 2c 20 rk).from.that.copyright.holder,.
26000 61 6e 64 20 79 6f 75 20 63 75 72 65 20 74 68 65 20 76 69 6f 6c 61 74 69 6f 6e 20 70 72 69 6f 72 and.you.cure.the.violation.prior
26020 20 74 6f 20 33 30 20 64 61 79 73 20 61 66 74 65 72 0a 79 6f 75 72 20 72 65 63 65 69 70 74 20 6f .to.30.days.after.your.receipt.o
26040 66 20 74 68 65 20 6e 6f 74 69 63 65 2e 0a 0a 20 20 54 65 72 6d 69 6e 61 74 69 6f 6e 20 6f 66 20 f.the.notice.....Termination.of.
26060 79 6f 75 72 20 72 69 67 68 74 73 20 75 6e 64 65 72 20 74 68 69 73 20 73 65 63 74 69 6f 6e 20 64 your.rights.under.this.section.d
26080 6f 65 73 20 6e 6f 74 20 74 65 72 6d 69 6e 61 74 65 20 74 68 65 0a 6c 69 63 65 6e 73 65 73 20 6f oes.not.terminate.the.licenses.o
260a0 66 20 70 61 72 74 69 65 73 20 77 68 6f 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 63 6f 70 69 f.parties.who.have.received.copi
260c0 65 73 20 6f 72 20 72 69 67 68 74 73 20 66 72 6f 6d 20 79 6f 75 20 75 6e 64 65 72 0a 74 68 69 73 es.or.rights.from.you.under.this
260e0 20 4c 69 63 65 6e 73 65 2e 20 20 49 66 20 79 6f 75 72 20 72 69 67 68 74 73 20 68 61 76 65 20 62 .License...If.your.rights.have.b
26100 65 65 6e 20 74 65 72 6d 69 6e 61 74 65 64 20 61 6e 64 20 6e 6f 74 20 70 65 72 6d 61 6e 65 6e 74 een.terminated.and.not.permanent
26120 6c 79 0a 72 65 69 6e 73 74 61 74 65 64 2c 20 79 6f 75 20 64 6f 20 6e 6f 74 20 71 75 61 6c 69 66 ly.reinstated,.you.do.not.qualif
26140 79 20 74 6f 20 72 65 63 65 69 76 65 20 6e 65 77 20 6c 69 63 65 6e 73 65 73 20 66 6f 72 20 74 68 y.to.receive.new.licenses.for.th
26160 65 20 73 61 6d 65 0a 6d 61 74 65 72 69 61 6c 20 75 6e 64 65 72 20 73 65 63 74 69 6f 6e 20 31 30 e.same.material.under.section.10
26180 2e 0a 0a 20 20 39 2e 20 41 63 63 65 70 74 61 6e 63 65 20 4e 6f 74 20 52 65 71 75 69 72 65 64 20 .....9..Acceptance.Not.Required.
261a0 66 6f 72 20 48 61 76 69 6e 67 20 43 6f 70 69 65 73 2e 0a 0a 20 20 59 6f 75 20 61 72 65 20 6e 6f for.Having.Copies.....You.are.no
261c0 74 20 72 65 71 75 69 72 65 64 20 74 6f 20 61 63 63 65 70 74 20 74 68 69 73 20 4c 69 63 65 6e 73 t.required.to.accept.this.Licens
261e0 65 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 72 65 63 65 69 76 65 20 6f 72 0a 72 75 6e 20 61 20 63 e.in.order.to.receive.or.run.a.c
26200 6f 70 79 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 6d 2e 20 20 41 6e 63 69 6c 6c 61 72 79 20 70 opy.of.the.Program...Ancillary.p
26220 72 6f 70 61 67 61 74 69 6f 6e 20 6f 66 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 0a 6f 63 63 ropagation.of.a.covered.work.occ
26240 75 72 72 69 6e 67 20 73 6f 6c 65 6c 79 20 61 73 20 61 20 63 6f 6e 73 65 71 75 65 6e 63 65 20 6f urring.solely.as.a.consequence.o
26260 66 20 75 73 69 6e 67 20 70 65 65 72 2d 74 6f 2d 70 65 65 72 20 74 72 61 6e 73 6d 69 73 73 69 6f f.using.peer-to-peer.transmissio
26280 6e 0a 74 6f 20 72 65 63 65 69 76 65 20 61 20 63 6f 70 79 20 6c 69 6b 65 77 69 73 65 20 64 6f 65 n.to.receive.a.copy.likewise.doe
262a0 73 20 6e 6f 74 20 72 65 71 75 69 72 65 20 61 63 63 65 70 74 61 6e 63 65 2e 20 20 48 6f 77 65 76 s.not.require.acceptance...Howev
262c0 65 72 2c 0a 6e 6f 74 68 69 6e 67 20 6f 74 68 65 72 20 74 68 61 6e 20 74 68 69 73 20 4c 69 63 65 er,.nothing.other.than.this.Lice
262e0 6e 73 65 20 67 72 61 6e 74 73 20 79 6f 75 20 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 70 72 6f nse.grants.you.permission.to.pro
26300 70 61 67 61 74 65 20 6f 72 0a 6d 6f 64 69 66 79 20 61 6e 79 20 63 6f 76 65 72 65 64 20 77 6f 72 pagate.or.modify.any.covered.wor
26320 6b 2e 20 20 54 68 65 73 65 20 61 63 74 69 6f 6e 73 20 69 6e 66 72 69 6e 67 65 20 63 6f 70 79 72 k...These.actions.infringe.copyr
26340 69 67 68 74 20 69 66 20 79 6f 75 20 64 6f 0a 6e 6f 74 20 61 63 63 65 70 74 20 74 68 69 73 20 4c ight.if.you.do.not.accept.this.L
26360 69 63 65 6e 73 65 2e 20 20 54 68 65 72 65 66 6f 72 65 2c 20 62 79 20 6d 6f 64 69 66 79 69 6e 67 icense...Therefore,.by.modifying
26380 20 6f 72 20 70 72 6f 70 61 67 61 74 69 6e 67 20 61 0a 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 20 .or.propagating.a.covered.work,.
263a0 79 6f 75 20 69 6e 64 69 63 61 74 65 20 79 6f 75 72 20 61 63 63 65 70 74 61 6e 63 65 20 6f 66 20 you.indicate.your.acceptance.of.
263c0 74 68 69 73 20 4c 69 63 65 6e 73 65 20 74 6f 20 64 6f 20 73 6f 2e 0a 0a 20 20 31 30 2e 20 41 75 this.License.to.do.so.....10..Au
263e0 74 6f 6d 61 74 69 63 20 4c 69 63 65 6e 73 69 6e 67 20 6f 66 20 44 6f 77 6e 73 74 72 65 61 6d 20 tomatic.Licensing.of.Downstream.
26400 52 65 63 69 70 69 65 6e 74 73 2e 0a 0a 20 20 45 61 63 68 20 74 69 6d 65 20 79 6f 75 20 63 6f 6e Recipients.....Each.time.you.con
26420 76 65 79 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 20 74 68 65 20 72 65 63 69 70 69 65 6e vey.a.covered.work,.the.recipien
26440 74 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 0a 72 65 63 65 69 76 65 73 20 61 20 6c 69 63 65 6e t.automatically.receives.a.licen
26460 73 65 20 66 72 6f 6d 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 6c 69 63 65 6e 73 6f 72 73 2c 20 se.from.the.original.licensors,.
26480 74 6f 20 72 75 6e 2c 20 6d 6f 64 69 66 79 20 61 6e 64 0a 70 72 6f 70 61 67 61 74 65 20 74 68 61 to.run,.modify.and.propagate.tha
264a0 74 20 77 6f 72 6b 2c 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e t.work,.subject.to.this.License.
264c0 20 20 59 6f 75 20 61 72 65 20 6e 6f 74 20 72 65 73 70 6f 6e 73 69 62 6c 65 0a 66 6f 72 20 65 6e ..You.are.not.responsible.for.en
264e0 66 6f 72 63 69 6e 67 20 63 6f 6d 70 6c 69 61 6e 63 65 20 62 79 20 74 68 69 72 64 20 70 61 72 74 forcing.compliance.by.third.part
26500 69 65 73 20 77 69 74 68 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 41 6e 20 22 65 6e ies.with.this.License.....An."en
26520 74 69 74 79 20 74 72 61 6e 73 61 63 74 69 6f 6e 22 20 69 73 20 61 20 74 72 61 6e 73 61 63 74 69 tity.transaction".is.a.transacti
26540 6f 6e 20 74 72 61 6e 73 66 65 72 72 69 6e 67 20 63 6f 6e 74 72 6f 6c 20 6f 66 20 61 6e 0a 6f 72 on.transferring.control.of.an.or
26560 67 61 6e 69 7a 61 74 69 6f 6e 2c 20 6f 72 20 73 75 62 73 74 61 6e 74 69 61 6c 6c 79 20 61 6c 6c ganization,.or.substantially.all
26580 20 61 73 73 65 74 73 20 6f 66 20 6f 6e 65 2c 20 6f 72 20 73 75 62 64 69 76 69 64 69 6e 67 20 61 .assets.of.one,.or.subdividing.a
265a0 6e 0a 6f 72 67 61 6e 69 7a 61 74 69 6f 6e 2c 20 6f 72 20 6d 65 72 67 69 6e 67 20 6f 72 67 61 6e n.organization,.or.merging.organ
265c0 69 7a 61 74 69 6f 6e 73 2e 20 20 49 66 20 70 72 6f 70 61 67 61 74 69 6f 6e 20 6f 66 20 61 20 63 izations...If.propagation.of.a.c
265e0 6f 76 65 72 65 64 0a 77 6f 72 6b 20 72 65 73 75 6c 74 73 20 66 72 6f 6d 20 61 6e 20 65 6e 74 69 overed.work.results.from.an.enti
26600 74 79 20 74 72 61 6e 73 61 63 74 69 6f 6e 2c 20 65 61 63 68 20 70 61 72 74 79 20 74 6f 20 74 68 ty.transaction,.each.party.to.th
26620 61 74 0a 74 72 61 6e 73 61 63 74 69 6f 6e 20 77 68 6f 20 72 65 63 65 69 76 65 73 20 61 20 63 6f at.transaction.who.receives.a.co
26640 70 79 20 6f 66 20 74 68 65 20 77 6f 72 6b 20 61 6c 73 6f 20 72 65 63 65 69 76 65 73 20 77 68 61 py.of.the.work.also.receives.wha
26660 74 65 76 65 72 0a 6c 69 63 65 6e 73 65 73 20 74 6f 20 74 68 65 20 77 6f 72 6b 20 74 68 65 20 70 tever.licenses.to.the.work.the.p
26680 61 72 74 79 27 73 20 70 72 65 64 65 63 65 73 73 6f 72 20 69 6e 20 69 6e 74 65 72 65 73 74 20 68 arty's.predecessor.in.interest.h
266a0 61 64 20 6f 72 20 63 6f 75 6c 64 0a 67 69 76 65 20 75 6e 64 65 72 20 74 68 65 20 70 72 65 76 69 ad.or.could.give.under.the.previ
266c0 6f 75 73 20 70 61 72 61 67 72 61 70 68 2c 20 70 6c 75 73 20 61 20 72 69 67 68 74 20 74 6f 20 70 ous.paragraph,.plus.a.right.to.p
266e0 6f 73 73 65 73 73 69 6f 6e 20 6f 66 20 74 68 65 0a 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 ossession.of.the.Corresponding.S
26700 6f 75 72 63 65 20 6f 66 20 74 68 65 20 77 6f 72 6b 20 66 72 6f 6d 20 74 68 65 20 70 72 65 64 65 ource.of.the.work.from.the.prede
26720 63 65 73 73 6f 72 20 69 6e 20 69 6e 74 65 72 65 73 74 2c 20 69 66 0a 74 68 65 20 70 72 65 64 65 cessor.in.interest,.if.the.prede
26740 63 65 73 73 6f 72 20 68 61 73 20 69 74 20 6f 72 20 63 61 6e 20 67 65 74 20 69 74 20 77 69 74 68 cessor.has.it.or.can.get.it.with
26760 20 72 65 61 73 6f 6e 61 62 6c 65 20 65 66 66 6f 72 74 73 2e 0a 0a 20 20 59 6f 75 20 6d 61 79 20 .reasonable.efforts.....You.may.
26780 6e 6f 74 20 69 6d 70 6f 73 65 20 61 6e 79 20 66 75 72 74 68 65 72 20 72 65 73 74 72 69 63 74 69 not.impose.any.further.restricti
267a0 6f 6e 73 20 6f 6e 20 74 68 65 20 65 78 65 72 63 69 73 65 20 6f 66 20 74 68 65 0a 72 69 67 68 74 ons.on.the.exercise.of.the.right
267c0 73 20 67 72 61 6e 74 65 64 20 6f 72 20 61 66 66 69 72 6d 65 64 20 75 6e 64 65 72 20 74 68 69 73 s.granted.or.affirmed.under.this
267e0 20 4c 69 63 65 6e 73 65 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 79 6f 75 20 6d 61 79 0a .License...For.example,.you.may.
26800 6e 6f 74 20 69 6d 70 6f 73 65 20 61 20 6c 69 63 65 6e 73 65 20 66 65 65 2c 20 72 6f 79 61 6c 74 not.impose.a.license.fee,.royalt
26820 79 2c 20 6f 72 20 6f 74 68 65 72 20 63 68 61 72 67 65 20 66 6f 72 20 65 78 65 72 63 69 73 65 20 y,.or.other.charge.for.exercise.
26840 6f 66 0a 72 69 67 68 74 73 20 67 72 61 6e 74 65 64 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 of.rights.granted.under.this.Lic
26860 65 6e 73 65 2c 20 61 6e 64 20 79 6f 75 20 6d 61 79 20 6e 6f 74 20 69 6e 69 74 69 61 74 65 20 6c ense,.and.you.may.not.initiate.l
26880 69 74 69 67 61 74 69 6f 6e 0a 28 69 6e 63 6c 75 64 69 6e 67 20 61 20 63 72 6f 73 73 2d 63 6c 61 itigation.(including.a.cross-cla
268a0 69 6d 20 6f 72 20 63 6f 75 6e 74 65 72 63 6c 61 69 6d 20 69 6e 20 61 20 6c 61 77 73 75 69 74 29 im.or.counterclaim.in.a.lawsuit)
268c0 20 61 6c 6c 65 67 69 6e 67 20 74 68 61 74 0a 61 6e 79 20 70 61 74 65 6e 74 20 63 6c 61 69 6d 20 .alleging.that.any.patent.claim.
268e0 69 73 20 69 6e 66 72 69 6e 67 65 64 20 62 79 20 6d 61 6b 69 6e 67 2c 20 75 73 69 6e 67 2c 20 73 is.infringed.by.making,.using,.s
26900 65 6c 6c 69 6e 67 2c 20 6f 66 66 65 72 69 6e 67 20 66 6f 72 0a 73 61 6c 65 2c 20 6f 72 20 69 6d elling,.offering.for.sale,.or.im
26920 70 6f 72 74 69 6e 67 20 74 68 65 20 50 72 6f 67 72 61 6d 20 6f 72 20 61 6e 79 20 70 6f 72 74 69 porting.the.Program.or.any.porti
26940 6f 6e 20 6f 66 20 69 74 2e 0a 0a 20 20 31 31 2e 20 50 61 74 65 6e 74 73 2e 0a 0a 20 20 41 20 22 on.of.it.....11..Patents.....A."
26960 63 6f 6e 74 72 69 62 75 74 6f 72 22 20 69 73 20 61 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 contributor".is.a.copyright.hold
26980 65 72 20 77 68 6f 20 61 75 74 68 6f 72 69 7a 65 73 20 75 73 65 20 75 6e 64 65 72 20 74 68 69 73 er.who.authorizes.use.under.this
269a0 0a 4c 69 63 65 6e 73 65 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 6f 72 20 61 20 77 6f 72 .License.of.the.Program.or.a.wor
269c0 6b 20 6f 6e 20 77 68 69 63 68 20 74 68 65 20 50 72 6f 67 72 61 6d 20 69 73 20 62 61 73 65 64 2e k.on.which.the.Program.is.based.
269e0 20 20 54 68 65 0a 77 6f 72 6b 20 74 68 75 73 20 6c 69 63 65 6e 73 65 64 20 69 73 20 63 61 6c 6c ..The.work.thus.licensed.is.call
26a00 65 64 20 74 68 65 20 63 6f 6e 74 72 69 62 75 74 6f 72 27 73 20 22 63 6f 6e 74 72 69 62 75 74 6f ed.the.contributor's."contributo
26a20 72 20 76 65 72 73 69 6f 6e 22 2e 0a 0a 20 20 41 20 63 6f 6e 74 72 69 62 75 74 6f 72 27 73 20 22 r.version".....A.contributor's."
26a40 65 73 73 65 6e 74 69 61 6c 20 70 61 74 65 6e 74 20 63 6c 61 69 6d 73 22 20 61 72 65 20 61 6c 6c essential.patent.claims".are.all
26a60 20 70 61 74 65 6e 74 20 63 6c 61 69 6d 73 0a 6f 77 6e 65 64 20 6f 72 20 63 6f 6e 74 72 6f 6c 6c .patent.claims.owned.or.controll
26a80 65 64 20 62 79 20 74 68 65 20 63 6f 6e 74 72 69 62 75 74 6f 72 2c 20 77 68 65 74 68 65 72 20 61 ed.by.the.contributor,.whether.a
26aa0 6c 72 65 61 64 79 20 61 63 71 75 69 72 65 64 20 6f 72 0a 68 65 72 65 61 66 74 65 72 20 61 63 71 lready.acquired.or.hereafter.acq
26ac0 75 69 72 65 64 2c 20 74 68 61 74 20 77 6f 75 6c 64 20 62 65 20 69 6e 66 72 69 6e 67 65 64 20 62 uired,.that.would.be.infringed.b
26ae0 79 20 73 6f 6d 65 20 6d 61 6e 6e 65 72 2c 20 70 65 72 6d 69 74 74 65 64 0a 62 79 20 74 68 69 73 y.some.manner,.permitted.by.this
26b00 20 4c 69 63 65 6e 73 65 2c 20 6f 66 20 6d 61 6b 69 6e 67 2c 20 75 73 69 6e 67 2c 20 6f 72 20 73 .License,.of.making,.using,.or.s
26b20 65 6c 6c 69 6e 67 20 69 74 73 20 63 6f 6e 74 72 69 62 75 74 6f 72 20 76 65 72 73 69 6f 6e 2c 0a elling.its.contributor.version,.
26b40 62 75 74 20 64 6f 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 63 6c 61 69 6d 73 20 74 68 61 74 20 77 but.do.not.include.claims.that.w
26b60 6f 75 6c 64 20 62 65 20 69 6e 66 72 69 6e 67 65 64 20 6f 6e 6c 79 20 61 73 20 61 0a 63 6f 6e 73 ould.be.infringed.only.as.a.cons
26b80 65 71 75 65 6e 63 65 20 6f 66 20 66 75 72 74 68 65 72 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 equence.of.further.modification.
26ba0 6f 66 20 74 68 65 20 63 6f 6e 74 72 69 62 75 74 6f 72 20 76 65 72 73 69 6f 6e 2e 20 20 46 6f 72 of.the.contributor.version...For
26bc0 0a 70 75 72 70 6f 73 65 73 20 6f 66 20 74 68 69 73 20 64 65 66 69 6e 69 74 69 6f 6e 2c 20 22 63 .purposes.of.this.definition,."c
26be0 6f 6e 74 72 6f 6c 22 20 69 6e 63 6c 75 64 65 73 20 74 68 65 20 72 69 67 68 74 20 74 6f 20 67 72 ontrol".includes.the.right.to.gr
26c00 61 6e 74 0a 70 61 74 65 6e 74 20 73 75 62 6c 69 63 65 6e 73 65 73 20 69 6e 20 61 20 6d 61 6e 6e ant.patent.sublicenses.in.a.mann
26c20 65 72 20 63 6f 6e 73 69 73 74 65 6e 74 20 77 69 74 68 20 74 68 65 20 72 65 71 75 69 72 65 6d 65 er.consistent.with.the.requireme
26c40 6e 74 73 20 6f 66 0a 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 45 61 63 68 20 63 6f 6e nts.of.this.License.....Each.con
26c60 74 72 69 62 75 74 6f 72 20 67 72 61 6e 74 73 20 79 6f 75 20 61 20 6e 6f 6e 2d 65 78 63 6c 75 73 tributor.grants.you.a.non-exclus
26c80 69 76 65 2c 20 77 6f 72 6c 64 77 69 64 65 2c 20 72 6f 79 61 6c 74 79 2d 66 72 65 65 0a 70 61 74 ive,.worldwide,.royalty-free.pat
26ca0 65 6e 74 20 6c 69 63 65 6e 73 65 20 75 6e 64 65 72 20 74 68 65 20 63 6f 6e 74 72 69 62 75 74 6f ent.license.under.the.contributo
26cc0 72 27 73 20 65 73 73 65 6e 74 69 61 6c 20 70 61 74 65 6e 74 20 63 6c 61 69 6d 73 2c 20 74 6f 0a r's.essential.patent.claims,.to.
26ce0 6d 61 6b 65 2c 20 75 73 65 2c 20 73 65 6c 6c 2c 20 6f 66 66 65 72 20 66 6f 72 20 73 61 6c 65 2c make,.use,.sell,.offer.for.sale,
26d00 20 69 6d 70 6f 72 74 20 61 6e 64 20 6f 74 68 65 72 77 69 73 65 20 72 75 6e 2c 20 6d 6f 64 69 66 .import.and.otherwise.run,.modif
26d20 79 20 61 6e 64 0a 70 72 6f 70 61 67 61 74 65 20 74 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 y.and.propagate.the.contents.of.
26d40 69 74 73 20 63 6f 6e 74 72 69 62 75 74 6f 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 49 6e 20 74 its.contributor.version.....In.t
26d60 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 68 72 65 65 20 70 61 72 61 67 72 61 70 68 73 2c 20 61 he.following.three.paragraphs,.a
26d80 20 22 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 22 20 69 73 20 61 6e 79 20 65 78 70 72 65 73 73 ."patent.license".is.any.express
26da0 0a 61 67 72 65 65 6d 65 6e 74 20 6f 72 20 63 6f 6d 6d 69 74 6d 65 6e 74 2c 20 68 6f 77 65 76 65 .agreement.or.commitment,.howeve
26dc0 72 20 64 65 6e 6f 6d 69 6e 61 74 65 64 2c 20 6e 6f 74 20 74 6f 20 65 6e 66 6f 72 63 65 20 61 20 r.denominated,.not.to.enforce.a.
26de0 70 61 74 65 6e 74 0a 28 73 75 63 68 20 61 73 20 61 6e 20 65 78 70 72 65 73 73 20 70 65 72 6d 69 patent.(such.as.an.express.permi
26e00 73 73 69 6f 6e 20 74 6f 20 70 72 61 63 74 69 63 65 20 61 20 70 61 74 65 6e 74 20 6f 72 20 63 6f ssion.to.practice.a.patent.or.co
26e20 76 65 6e 61 6e 74 20 6e 6f 74 20 74 6f 0a 73 75 65 20 66 6f 72 20 70 61 74 65 6e 74 20 69 6e 66 venant.not.to.sue.for.patent.inf
26e40 72 69 6e 67 65 6d 65 6e 74 29 2e 20 20 54 6f 20 22 67 72 61 6e 74 22 20 73 75 63 68 20 61 20 70 ringement)...To."grant".such.a.p
26e60 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 20 74 6f 20 61 0a 70 61 72 74 79 20 6d 65 61 6e 73 20 74 atent.license.to.a.party.means.t
26e80 6f 20 6d 61 6b 65 20 73 75 63 68 20 61 6e 20 61 67 72 65 65 6d 65 6e 74 20 6f 72 20 63 6f 6d 6d o.make.such.an.agreement.or.comm
26ea0 69 74 6d 65 6e 74 20 6e 6f 74 20 74 6f 20 65 6e 66 6f 72 63 65 20 61 0a 70 61 74 65 6e 74 20 61 itment.not.to.enforce.a.patent.a
26ec0 67 61 69 6e 73 74 20 74 68 65 20 70 61 72 74 79 2e 0a 0a 20 20 49 66 20 79 6f 75 20 63 6f 6e 76 gainst.the.party.....If.you.conv
26ee0 65 79 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 20 6b 6e 6f 77 69 6e 67 6c 79 20 72 65 6c ey.a.covered.work,.knowingly.rel
26f00 79 69 6e 67 20 6f 6e 20 61 20 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 2c 0a 61 6e 64 20 74 68 ying.on.a.patent.license,.and.th
26f20 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 6f 66 20 74 68 65 20 77 6f e.Corresponding.Source.of.the.wo
26f40 72 6b 20 69 73 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 61 6e 79 6f 6e 65 0a 74 rk.is.not.available.for.anyone.t
26f60 6f 20 63 6f 70 79 2c 20 66 72 65 65 20 6f 66 20 63 68 61 72 67 65 20 61 6e 64 20 75 6e 64 65 72 o.copy,.free.of.charge.and.under
26f80 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 74 68 72 6f .the.terms.of.this.License,.thro
26fa0 75 67 68 20 61 0a 70 75 62 6c 69 63 6c 79 20 61 76 61 69 6c 61 62 6c 65 20 6e 65 74 77 6f 72 6b ugh.a.publicly.available.network
26fc0 20 73 65 72 76 65 72 20 6f 72 20 6f 74 68 65 72 20 72 65 61 64 69 6c 79 20 61 63 63 65 73 73 69 .server.or.other.readily.accessi
26fe0 62 6c 65 20 6d 65 61 6e 73 2c 0a 74 68 65 6e 20 79 6f 75 20 6d 75 73 74 20 65 69 74 68 65 72 20 ble.means,.then.you.must.either.
27000 28 31 29 20 63 61 75 73 65 20 74 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 (1).cause.the.Corresponding.Sour
27020 63 65 20 74 6f 20 62 65 20 73 6f 0a 61 76 61 69 6c 61 62 6c 65 2c 20 6f 72 20 28 32 29 20 61 72 ce.to.be.so.available,.or.(2).ar
27040 72 61 6e 67 65 20 74 6f 20 64 65 70 72 69 76 65 20 79 6f 75 72 73 65 6c 66 20 6f 66 20 74 68 65 range.to.deprive.yourself.of.the
27060 20 62 65 6e 65 66 69 74 20 6f 66 20 74 68 65 0a 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 20 66 .benefit.of.the.patent.license.f
27080 6f 72 20 74 68 69 73 20 70 61 72 74 69 63 75 6c 61 72 20 77 6f 72 6b 2c 20 6f 72 20 28 33 29 20 or.this.particular.work,.or.(3).
270a0 61 72 72 61 6e 67 65 2c 20 69 6e 20 61 20 6d 61 6e 6e 65 72 0a 63 6f 6e 73 69 73 74 65 6e 74 20 arrange,.in.a.manner.consistent.
270c0 77 69 74 68 20 74 68 65 20 72 65 71 75 69 72 65 6d 65 6e 74 73 20 6f 66 20 74 68 69 73 20 4c 69 with.the.requirements.of.this.Li
270e0 63 65 6e 73 65 2c 20 74 6f 20 65 78 74 65 6e 64 20 74 68 65 20 70 61 74 65 6e 74 0a 6c 69 63 65 cense,.to.extend.the.patent.lice
27100 6e 73 65 20 74 6f 20 64 6f 77 6e 73 74 72 65 61 6d 20 72 65 63 69 70 69 65 6e 74 73 2e 20 20 22 nse.to.downstream.recipients..."
27120 4b 6e 6f 77 69 6e 67 6c 79 20 72 65 6c 79 69 6e 67 22 20 6d 65 61 6e 73 20 79 6f 75 20 68 61 76 Knowingly.relying".means.you.hav
27140 65 0a 61 63 74 75 61 6c 20 6b 6e 6f 77 6c 65 64 67 65 20 74 68 61 74 2c 20 62 75 74 20 66 6f 72 e.actual.knowledge.that,.but.for
27160 20 74 68 65 20 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 2c 20 79 6f 75 72 20 63 6f 6e 76 65 79 .the.patent.license,.your.convey
27180 69 6e 67 20 74 68 65 0a 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 69 6e 20 61 20 63 6f 75 6e 74 72 ing.the.covered.work.in.a.countr
271a0 79 2c 20 6f 72 20 79 6f 75 72 20 72 65 63 69 70 69 65 6e 74 27 73 20 75 73 65 20 6f 66 20 74 68 y,.or.your.recipient's.use.of.th
271c0 65 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 0a 69 6e 20 61 20 63 6f 75 6e 74 72 79 2c 20 77 6f 75 e.covered.work.in.a.country,.wou
271e0 6c 64 20 69 6e 66 72 69 6e 67 65 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 69 64 65 6e 74 69 66 69 ld.infringe.one.or.more.identifi
27200 61 62 6c 65 20 70 61 74 65 6e 74 73 20 69 6e 20 74 68 61 74 0a 63 6f 75 6e 74 72 79 20 74 68 61 able.patents.in.that.country.tha
27220 74 20 79 6f 75 20 68 61 76 65 20 72 65 61 73 6f 6e 20 74 6f 20 62 65 6c 69 65 76 65 20 61 72 65 t.you.have.reason.to.believe.are
27240 20 76 61 6c 69 64 2e 0a 0a 20 20 49 66 2c 20 70 75 72 73 75 61 6e 74 20 74 6f 20 6f 72 20 69 6e .valid.....If,.pursuant.to.or.in
27260 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 77 69 74 68 20 61 20 73 69 6e 67 6c 65 20 74 72 61 6e 73 61 .connection.with.a.single.transa
27280 63 74 69 6f 6e 20 6f 72 0a 61 72 72 61 6e 67 65 6d 65 6e 74 2c 20 79 6f 75 20 63 6f 6e 76 65 79 ction.or.arrangement,.you.convey
272a0 2c 20 6f 72 20 70 72 6f 70 61 67 61 74 65 20 62 79 20 70 72 6f 63 75 72 69 6e 67 20 63 6f 6e 76 ,.or.propagate.by.procuring.conv
272c0 65 79 61 6e 63 65 20 6f 66 2c 20 61 0a 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 20 61 6e 64 20 67 eyance.of,.a.covered.work,.and.g
272e0 72 61 6e 74 20 61 20 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 20 74 6f 20 73 6f 6d 65 20 6f 66 rant.a.patent.license.to.some.of
27300 20 74 68 65 20 70 61 72 74 69 65 73 0a 72 65 63 65 69 76 69 6e 67 20 74 68 65 20 63 6f 76 65 72 .the.parties.receiving.the.cover
27320 65 64 20 77 6f 72 6b 20 61 75 74 68 6f 72 69 7a 69 6e 67 20 74 68 65 6d 20 74 6f 20 75 73 65 2c ed.work.authorizing.them.to.use,
27340 20 70 72 6f 70 61 67 61 74 65 2c 20 6d 6f 64 69 66 79 0a 6f 72 20 63 6f 6e 76 65 79 20 61 20 73 .propagate,.modify.or.convey.a.s
27360 70 65 63 69 66 69 63 20 63 6f 70 79 20 6f 66 20 74 68 65 20 63 6f 76 65 72 65 64 20 77 6f 72 6b pecific.copy.of.the.covered.work
27380 2c 20 74 68 65 6e 20 74 68 65 20 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 0a 79 6f 75 20 67 72 ,.then.the.patent.license.you.gr
273a0 61 6e 74 20 69 73 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 65 78 74 65 6e 64 65 64 20 74 6f ant.is.automatically.extended.to
273c0 20 61 6c 6c 20 72 65 63 69 70 69 65 6e 74 73 20 6f 66 20 74 68 65 20 63 6f 76 65 72 65 64 0a 77 .all.recipients.of.the.covered.w
273e0 6f 72 6b 20 61 6e 64 20 77 6f 72 6b 73 20 62 61 73 65 64 20 6f 6e 20 69 74 2e 0a 0a 20 20 41 20 ork.and.works.based.on.it.....A.
27400 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 20 69 73 20 22 64 69 73 63 72 69 6d 69 6e 61 74 6f 72 patent.license.is."discriminator
27420 79 22 20 69 66 20 69 74 20 64 6f 65 73 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 77 69 74 68 69 6e y".if.it.does.not.include.within
27440 0a 74 68 65 20 73 63 6f 70 65 20 6f 66 20 69 74 73 20 63 6f 76 65 72 61 67 65 2c 20 70 72 6f 68 .the.scope.of.its.coverage,.proh
27460 69 62 69 74 73 20 74 68 65 20 65 78 65 72 63 69 73 65 20 6f 66 2c 20 6f 72 20 69 73 0a 63 6f 6e ibits.the.exercise.of,.or.is.con
27480 64 69 74 69 6f 6e 65 64 20 6f 6e 20 74 68 65 20 6e 6f 6e 2d 65 78 65 72 63 69 73 65 20 6f 66 20 ditioned.on.the.non-exercise.of.
274a0 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 6f 66 20 74 68 65 20 72 69 67 68 74 73 20 74 68 61 74 20 61 one.or.more.of.the.rights.that.a
274c0 72 65 0a 73 70 65 63 69 66 69 63 61 6c 6c 79 20 67 72 61 6e 74 65 64 20 75 6e 64 65 72 20 74 68 re.specifically.granted.under.th
274e0 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 59 6f 75 20 6d 61 79 20 6e 6f 74 20 63 6f 6e 76 65 79 20 is.License...You.may.not.convey.
27500 61 20 63 6f 76 65 72 65 64 0a 77 6f 72 6b 20 69 66 20 79 6f 75 20 61 72 65 20 61 20 70 61 72 74 a.covered.work.if.you.are.a.part
27520 79 20 74 6f 20 61 6e 20 61 72 72 61 6e 67 65 6d 65 6e 74 20 77 69 74 68 20 61 20 74 68 69 72 64 y.to.an.arrangement.with.a.third
27540 20 70 61 72 74 79 20 74 68 61 74 20 69 73 0a 69 6e 20 74 68 65 20 62 75 73 69 6e 65 73 73 20 6f .party.that.is.in.the.business.o
27560 66 20 64 69 73 74 72 69 62 75 74 69 6e 67 20 73 6f 66 74 77 61 72 65 2c 20 75 6e 64 65 72 20 77 f.distributing.software,.under.w
27580 68 69 63 68 20 79 6f 75 20 6d 61 6b 65 20 70 61 79 6d 65 6e 74 0a 74 6f 20 74 68 65 20 74 68 69 hich.you.make.payment.to.the.thi
275a0 72 64 20 70 61 72 74 79 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 65 78 74 65 6e 74 20 6f 66 20 rd.party.based.on.the.extent.of.
275c0 79 6f 75 72 20 61 63 74 69 76 69 74 79 20 6f 66 20 63 6f 6e 76 65 79 69 6e 67 0a 74 68 65 20 77 your.activity.of.conveying.the.w
275e0 6f 72 6b 2c 20 61 6e 64 20 75 6e 64 65 72 20 77 68 69 63 68 20 74 68 65 20 74 68 69 72 64 20 70 ork,.and.under.which.the.third.p
27600 61 72 74 79 20 67 72 61 6e 74 73 2c 20 74 6f 20 61 6e 79 20 6f 66 20 74 68 65 0a 70 61 72 74 69 arty.grants,.to.any.of.the.parti
27620 65 73 20 77 68 6f 20 77 6f 75 6c 64 20 72 65 63 65 69 76 65 20 74 68 65 20 63 6f 76 65 72 65 64 es.who.would.receive.the.covered
27640 20 77 6f 72 6b 20 66 72 6f 6d 20 79 6f 75 2c 20 61 20 64 69 73 63 72 69 6d 69 6e 61 74 6f 72 79 .work.from.you,.a.discriminatory
27660 0a 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 20 28 61 29 20 69 6e 20 63 6f 6e 6e 65 63 74 69 6f .patent.license.(a).in.connectio
27680 6e 20 77 69 74 68 20 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 63 6f 76 65 72 65 64 20 77 6f 72 n.with.copies.of.the.covered.wor
276a0 6b 0a 63 6f 6e 76 65 79 65 64 20 62 79 20 79 6f 75 20 28 6f 72 20 63 6f 70 69 65 73 20 6d 61 64 k.conveyed.by.you.(or.copies.mad
276c0 65 20 66 72 6f 6d 20 74 68 6f 73 65 20 63 6f 70 69 65 73 29 2c 20 6f 72 20 28 62 29 20 70 72 69 e.from.those.copies),.or.(b).pri
276e0 6d 61 72 69 6c 79 0a 66 6f 72 20 61 6e 64 20 69 6e 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 77 69 74 marily.for.and.in.connection.wit
27700 68 20 73 70 65 63 69 66 69 63 20 70 72 6f 64 75 63 74 73 20 6f 72 20 63 6f 6d 70 69 6c 61 74 69 h.specific.products.or.compilati
27720 6f 6e 73 20 74 68 61 74 0a 63 6f 6e 74 61 69 6e 20 74 68 65 20 63 6f 76 65 72 65 64 20 77 6f 72 ons.that.contain.the.covered.wor
27740 6b 2c 20 75 6e 6c 65 73 73 20 79 6f 75 20 65 6e 74 65 72 65 64 20 69 6e 74 6f 20 74 68 61 74 20 k,.unless.you.entered.into.that.
27760 61 72 72 61 6e 67 65 6d 65 6e 74 2c 0a 6f 72 20 74 68 61 74 20 70 61 74 65 6e 74 20 6c 69 63 65 arrangement,.or.that.patent.lice
27780 6e 73 65 20 77 61 73 20 67 72 61 6e 74 65 64 2c 20 70 72 69 6f 72 20 74 6f 20 32 38 20 4d 61 72 nse.was.granted,.prior.to.28.Mar
277a0 63 68 20 32 30 30 37 2e 0a 0a 20 20 4e 6f 74 68 69 6e 67 20 69 6e 20 74 68 69 73 20 4c 69 63 65 ch.2007.....Nothing.in.this.Lice
277c0 6e 73 65 20 73 68 61 6c 6c 20 62 65 20 63 6f 6e 73 74 72 75 65 64 20 61 73 20 65 78 63 6c 75 64 nse.shall.be.construed.as.exclud
277e0 69 6e 67 20 6f 72 20 6c 69 6d 69 74 69 6e 67 0a 61 6e 79 20 69 6d 70 6c 69 65 64 20 6c 69 63 65 ing.or.limiting.any.implied.lice
27800 6e 73 65 20 6f 72 20 6f 74 68 65 72 20 64 65 66 65 6e 73 65 73 20 74 6f 20 69 6e 66 72 69 6e 67 nse.or.other.defenses.to.infring
27820 65 6d 65 6e 74 20 74 68 61 74 20 6d 61 79 0a 6f 74 68 65 72 77 69 73 65 20 62 65 20 61 76 61 69 ement.that.may.otherwise.be.avai
27840 6c 61 62 6c 65 20 74 6f 20 79 6f 75 20 75 6e 64 65 72 20 61 70 70 6c 69 63 61 62 6c 65 20 70 61 lable.to.you.under.applicable.pa
27860 74 65 6e 74 20 6c 61 77 2e 0a 0a 20 20 31 32 2e 20 4e 6f 20 53 75 72 72 65 6e 64 65 72 20 6f 66 tent.law.....12..No.Surrender.of
27880 20 4f 74 68 65 72 73 27 20 46 72 65 65 64 6f 6d 2e 0a 0a 20 20 49 66 20 63 6f 6e 64 69 74 69 6f .Others'.Freedom.....If.conditio
278a0 6e 73 20 61 72 65 20 69 6d 70 6f 73 65 64 20 6f 6e 20 79 6f 75 20 28 77 68 65 74 68 65 72 20 62 ns.are.imposed.on.you.(whether.b
278c0 79 20 63 6f 75 72 74 20 6f 72 64 65 72 2c 20 61 67 72 65 65 6d 65 6e 74 20 6f 72 0a 6f 74 68 65 y.court.order,.agreement.or.othe
278e0 72 77 69 73 65 29 20 74 68 61 74 20 63 6f 6e 74 72 61 64 69 63 74 20 74 68 65 20 63 6f 6e 64 69 rwise).that.contradict.the.condi
27900 74 69 6f 6e 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 74 68 65 79 20 64 6f 20 6e tions.of.this.License,.they.do.n
27920 6f 74 0a 65 78 63 75 73 65 20 79 6f 75 20 66 72 6f 6d 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e ot.excuse.you.from.the.condition
27940 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 49 66 20 79 6f 75 20 63 61 6e 6e 6f s.of.this.License...If.you.canno
27960 74 20 63 6f 6e 76 65 79 20 61 0a 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 73 6f 20 61 73 20 74 6f t.convey.a.covered.work.so.as.to
27980 20 73 61 74 69 73 66 79 20 73 69 6d 75 6c 74 61 6e 65 6f 75 73 6c 79 20 79 6f 75 72 20 6f 62 6c .satisfy.simultaneously.your.obl
279a0 69 67 61 74 69 6f 6e 73 20 75 6e 64 65 72 20 74 68 69 73 0a 4c 69 63 65 6e 73 65 20 61 6e 64 20 igations.under.this.License.and.
279c0 61 6e 79 20 6f 74 68 65 72 20 70 65 72 74 69 6e 65 6e 74 20 6f 62 6c 69 67 61 74 69 6f 6e 73 2c any.other.pertinent.obligations,
279e0 20 74 68 65 6e 20 61 73 20 61 20 63 6f 6e 73 65 71 75 65 6e 63 65 20 79 6f 75 20 6d 61 79 0a 6e .then.as.a.consequence.you.may.n
27a00 6f 74 20 63 6f 6e 76 65 79 20 69 74 20 61 74 20 61 6c 6c 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c ot.convey.it.at.all...For.exampl
27a20 65 2c 20 69 66 20 79 6f 75 20 61 67 72 65 65 20 74 6f 20 74 65 72 6d 73 20 74 68 61 74 20 6f 62 e,.if.you.agree.to.terms.that.ob
27a40 6c 69 67 61 74 65 20 79 6f 75 0a 74 6f 20 63 6f 6c 6c 65 63 74 20 61 20 72 6f 79 61 6c 74 79 20 ligate.you.to.collect.a.royalty.
27a60 66 6f 72 20 66 75 72 74 68 65 72 20 63 6f 6e 76 65 79 69 6e 67 20 66 72 6f 6d 20 74 68 6f 73 65 for.further.conveying.from.those
27a80 20 74 6f 20 77 68 6f 6d 20 79 6f 75 20 63 6f 6e 76 65 79 0a 74 68 65 20 50 72 6f 67 72 61 6d 2c .to.whom.you.convey.the.Program,
27aa0 20 74 68 65 20 6f 6e 6c 79 20 77 61 79 20 79 6f 75 20 63 6f 75 6c 64 20 73 61 74 69 73 66 79 20 .the.only.way.you.could.satisfy.
27ac0 62 6f 74 68 20 74 68 6f 73 65 20 74 65 72 6d 73 20 61 6e 64 20 74 68 69 73 0a 4c 69 63 65 6e 73 both.those.terms.and.this.Licens
27ae0 65 20 77 6f 75 6c 64 20 62 65 20 74 6f 20 72 65 66 72 61 69 6e 20 65 6e 74 69 72 65 6c 79 20 66 e.would.be.to.refrain.entirely.f
27b00 72 6f 6d 20 63 6f 6e 76 65 79 69 6e 67 20 74 68 65 20 50 72 6f 67 72 61 6d 2e 0a 0a 20 20 31 33 rom.conveying.the.Program.....13
27b20 2e 20 55 73 65 20 77 69 74 68 20 74 68 65 20 47 4e 55 20 41 66 66 65 72 6f 20 47 65 6e 65 72 61 ..Use.with.the.GNU.Affero.Genera
27b40 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 4e 6f 74 77 69 74 68 73 74 61 6e l.Public.License.....Notwithstan
27b60 64 69 6e 67 20 61 6e 79 20 6f 74 68 65 72 20 70 72 6f 76 69 73 69 6f 6e 20 6f 66 20 74 68 69 73 ding.any.other.provision.of.this
27b80 20 4c 69 63 65 6e 73 65 2c 20 79 6f 75 20 68 61 76 65 0a 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f .License,.you.have.permission.to
27ba0 20 6c 69 6e 6b 20 6f 72 20 63 6f 6d 62 69 6e 65 20 61 6e 79 20 63 6f 76 65 72 65 64 20 77 6f 72 .link.or.combine.any.covered.wor
27bc0 6b 20 77 69 74 68 20 61 20 77 6f 72 6b 20 6c 69 63 65 6e 73 65 64 0a 75 6e 64 65 72 20 76 65 72 k.with.a.work.licensed.under.ver
27be0 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20 47 4e 55 20 41 66 66 65 72 6f 20 47 65 6e 65 72 61 6c sion.3.of.the.GNU.Affero.General
27c00 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 69 6e 74 6f 20 61 20 73 69 6e 67 6c 65 0a 63 6f .Public.License.into.a.single.co
27c20 6d 62 69 6e 65 64 20 77 6f 72 6b 2c 20 61 6e 64 20 74 6f 20 63 6f 6e 76 65 79 20 74 68 65 20 72 mbined.work,.and.to.convey.the.r
27c40 65 73 75 6c 74 69 6e 67 20 77 6f 72 6b 2e 20 20 54 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 69 esulting.work...The.terms.of.thi
27c60 73 0a 4c 69 63 65 6e 73 65 20 77 69 6c 6c 20 63 6f 6e 74 69 6e 75 65 20 74 6f 20 61 70 70 6c 79 s.License.will.continue.to.apply
27c80 20 74 6f 20 74 68 65 20 70 61 72 74 20 77 68 69 63 68 20 69 73 20 74 68 65 20 63 6f 76 65 72 65 .to.the.part.which.is.the.covere
27ca0 64 20 77 6f 72 6b 2c 0a 62 75 74 20 74 68 65 20 73 70 65 63 69 61 6c 20 72 65 71 75 69 72 65 6d d.work,.but.the.special.requirem
27cc0 65 6e 74 73 20 6f 66 20 74 68 65 20 47 4e 55 20 41 66 66 65 72 6f 20 47 65 6e 65 72 61 6c 20 50 ents.of.the.GNU.Affero.General.P
27ce0 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 2c 0a 73 65 63 74 69 6f 6e 20 31 33 2c 20 63 6f 6e 63 65 ublic.License,.section.13,.conce
27d00 72 6e 69 6e 67 20 69 6e 74 65 72 61 63 74 69 6f 6e 20 74 68 72 6f 75 67 68 20 61 20 6e 65 74 77 rning.interaction.through.a.netw
27d20 6f 72 6b 20 77 69 6c 6c 20 61 70 70 6c 79 20 74 6f 20 74 68 65 0a 63 6f 6d 62 69 6e 61 74 69 6f ork.will.apply.to.the.combinatio
27d40 6e 20 61 73 20 73 75 63 68 2e 0a 0a 20 20 31 34 2e 20 52 65 76 69 73 65 64 20 56 65 72 73 69 6f n.as.such.....14..Revised.Versio
27d60 6e 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 54 68 65 20 46 72 65 65 20 ns.of.this.License.....The.Free.
27d80 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 20 6d 61 79 20 70 75 62 6c 69 73 68 20 Software.Foundation.may.publish.
27da0 72 65 76 69 73 65 64 20 61 6e 64 2f 6f 72 20 6e 65 77 20 76 65 72 73 69 6f 6e 73 20 6f 66 0a 74 revised.and/or.new.versions.of.t
27dc0 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 72 he.GNU.General.Public.License.fr
27de0 6f 6d 20 74 69 6d 65 20 74 6f 20 74 69 6d 65 2e 20 20 53 75 63 68 20 6e 65 77 20 76 65 72 73 69 om.time.to.time...Such.new.versi
27e00 6f 6e 73 20 77 69 6c 6c 0a 62 65 20 73 69 6d 69 6c 61 72 20 69 6e 20 73 70 69 72 69 74 20 74 6f ons.will.be.similar.in.spirit.to
27e20 20 74 68 65 20 70 72 65 73 65 6e 74 20 76 65 72 73 69 6f 6e 2c 20 62 75 74 20 6d 61 79 20 64 69 .the.present.version,.but.may.di
27e40 66 66 65 72 20 69 6e 20 64 65 74 61 69 6c 20 74 6f 0a 61 64 64 72 65 73 73 20 6e 65 77 20 70 72 ffer.in.detail.to.address.new.pr
27e60 6f 62 6c 65 6d 73 20 6f 72 20 63 6f 6e 63 65 72 6e 73 2e 0a 0a 20 20 45 61 63 68 20 76 65 72 73 oblems.or.concerns.....Each.vers
27e80 69 6f 6e 20 69 73 20 67 69 76 65 6e 20 61 20 64 69 73 74 69 6e 67 75 69 73 68 69 6e 67 20 76 65 ion.is.given.a.distinguishing.ve
27ea0 72 73 69 6f 6e 20 6e 75 6d 62 65 72 2e 20 20 49 66 20 74 68 65 0a 50 72 6f 67 72 61 6d 20 73 70 rsion.number...If.the.Program.sp
27ec0 65 63 69 66 69 65 73 20 74 68 61 74 20 61 20 63 65 72 74 61 69 6e 20 6e 75 6d 62 65 72 65 64 20 ecifies.that.a.certain.numbered.
27ee0 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 0a 50 75 62 6c 69 version.of.the.GNU.General.Publi
27f00 63 20 4c 69 63 65 6e 73 65 20 22 6f 72 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 22 c.License."or.any.later.version"
27f20 20 61 70 70 6c 69 65 73 20 74 6f 20 69 74 2c 20 79 6f 75 20 68 61 76 65 20 74 68 65 0a 6f 70 74 .applies.to.it,.you.have.the.opt
27f40 69 6f 6e 20 6f 66 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 68 65 20 74 65 72 6d 73 20 61 6e 64 20 63 ion.of.following.the.terms.and.c
27f60 6f 6e 64 69 74 69 6f 6e 73 20 65 69 74 68 65 72 20 6f 66 20 74 68 61 74 20 6e 75 6d 62 65 72 65 onditions.either.of.that.numbere
27f80 64 0a 76 65 72 73 69 6f 6e 20 6f 72 20 6f 66 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f d.version.or.of.any.later.versio
27fa0 6e 20 70 75 62 6c 69 73 68 65 64 20 62 79 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 n.published.by.the.Free.Software
27fc0 0a 46 6f 75 6e 64 61 74 69 6f 6e 2e 20 20 49 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 64 6f 65 .Foundation...If.the.Program.doe
27fe0 73 20 6e 6f 74 20 73 70 65 63 69 66 79 20 61 20 76 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 20 6f s.not.specify.a.version.number.o
28000 66 20 74 68 65 0a 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 f.the.GNU.General.Public.License
28020 2c 20 79 6f 75 20 6d 61 79 20 63 68 6f 6f 73 65 20 61 6e 79 20 76 65 72 73 69 6f 6e 20 65 76 65 ,.you.may.choose.any.version.eve
28040 72 20 70 75 62 6c 69 73 68 65 64 0a 62 79 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 r.published.by.the.Free.Software
28060 20 46 6f 75 6e 64 61 74 69 6f 6e 2e 0a 0a 20 20 49 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 73 .Foundation.....If.the.Program.s
28080 70 65 63 69 66 69 65 73 20 74 68 61 74 20 61 20 70 72 6f 78 79 20 63 61 6e 20 64 65 63 69 64 65 pecifies.that.a.proxy.can.decide
280a0 20 77 68 69 63 68 20 66 75 74 75 72 65 0a 76 65 72 73 69 6f 6e 73 20 6f 66 20 74 68 65 20 47 4e .which.future.versions.of.the.GN
280c0 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 63 61 6e 20 62 65 20 U.General.Public.License.can.be.
280e0 75 73 65 64 2c 20 74 68 61 74 20 70 72 6f 78 79 27 73 0a 70 75 62 6c 69 63 20 73 74 61 74 65 6d used,.that.proxy's.public.statem
28100 65 6e 74 20 6f 66 20 61 63 63 65 70 74 61 6e 63 65 20 6f 66 20 61 20 76 65 72 73 69 6f 6e 20 70 ent.of.acceptance.of.a.version.p
28120 65 72 6d 61 6e 65 6e 74 6c 79 20 61 75 74 68 6f 72 69 7a 65 73 20 79 6f 75 0a 74 6f 20 63 68 6f ermanently.authorizes.you.to.cho
28140 6f 73 65 20 74 68 61 74 20 76 65 72 73 69 6f 6e 20 66 6f 72 20 74 68 65 20 50 72 6f 67 72 61 6d ose.that.version.for.the.Program
28160 2e 0a 0a 20 20 4c 61 74 65 72 20 6c 69 63 65 6e 73 65 20 76 65 72 73 69 6f 6e 73 20 6d 61 79 20 .....Later.license.versions.may.
28180 67 69 76 65 20 79 6f 75 20 61 64 64 69 74 69 6f 6e 61 6c 20 6f 72 20 64 69 66 66 65 72 65 6e 74 give.you.additional.or.different
281a0 0a 70 65 72 6d 69 73 73 69 6f 6e 73 2e 20 20 48 6f 77 65 76 65 72 2c 20 6e 6f 20 61 64 64 69 74 .permissions...However,.no.addit
281c0 69 6f 6e 61 6c 20 6f 62 6c 69 67 61 74 69 6f 6e 73 20 61 72 65 20 69 6d 70 6f 73 65 64 20 6f 6e ional.obligations.are.imposed.on
281e0 20 61 6e 79 0a 61 75 74 68 6f 72 20 6f 72 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 .any.author.or.copyright.holder.
28200 61 73 20 61 20 72 65 73 75 6c 74 20 6f 66 20 79 6f 75 72 20 63 68 6f 6f 73 69 6e 67 20 74 6f 20 as.a.result.of.your.choosing.to.
28220 66 6f 6c 6c 6f 77 20 61 0a 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 31 35 2e 20 44 follow.a.later.version.....15..D
28240 69 73 63 6c 61 69 6d 65 72 20 6f 66 20 57 61 72 72 61 6e 74 79 2e 0a 0a 20 20 54 48 45 52 45 20 isclaimer.of.Warranty.....THERE.
28260 49 53 20 4e 4f 20 57 41 52 52 41 4e 54 59 20 46 4f 52 20 54 48 45 20 50 52 4f 47 52 41 4d 2c 20 IS.NO.WARRANTY.FOR.THE.PROGRAM,.
28280 54 4f 20 54 48 45 20 45 58 54 45 4e 54 20 50 45 52 4d 49 54 54 45 44 20 42 59 0a 41 50 50 4c 49 TO.THE.EXTENT.PERMITTED.BY.APPLI
282a0 43 41 42 4c 45 20 4c 41 57 2e 20 20 45 58 43 45 50 54 20 57 48 45 4e 20 4f 54 48 45 52 57 49 53 CABLE.LAW...EXCEPT.WHEN.OTHERWIS
282c0 45 20 53 54 41 54 45 44 20 49 4e 20 57 52 49 54 49 4e 47 20 54 48 45 20 43 4f 50 59 52 49 47 48 E.STATED.IN.WRITING.THE.COPYRIGH
282e0 54 0a 48 4f 4c 44 45 52 53 20 41 4e 44 2f 4f 52 20 4f 54 48 45 52 20 50 41 52 54 49 45 53 20 50 T.HOLDERS.AND/OR.OTHER.PARTIES.P
28300 52 4f 56 49 44 45 20 54 48 45 20 50 52 4f 47 52 41 4d 20 22 41 53 20 49 53 22 20 57 49 54 48 4f ROVIDE.THE.PROGRAM."AS.IS".WITHO
28320 55 54 20 57 41 52 52 41 4e 54 59 0a 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 45 49 54 48 45 52 20 UT.WARRANTY.OF.ANY.KIND,.EITHER.
28340 45 58 50 52 45 53 53 45 44 20 4f 52 20 49 4d 50 4c 49 45 44 2c 20 49 4e 43 4c 55 44 49 4e 47 2c EXPRESSED.OR.IMPLIED,.INCLUDING,
28360 20 42 55 54 20 4e 4f 54 20 4c 49 4d 49 54 45 44 20 54 4f 2c 0a 54 48 45 20 49 4d 50 4c 49 45 44 .BUT.NOT.LIMITED.TO,.THE.IMPLIED
28380 20 57 41 52 52 41 4e 54 49 45 53 20 4f 46 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 41 .WARRANTIES.OF.MERCHANTABILITY.A
283a0 4e 44 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 0a 50 55 52 50 ND.FITNESS.FOR.A.PARTICULAR.PURP
283c0 4f 53 45 2e 20 20 54 48 45 20 45 4e 54 49 52 45 20 52 49 53 4b 20 41 53 20 54 4f 20 54 48 45 20 OSE...THE.ENTIRE.RISK.AS.TO.THE.
283e0 51 55 41 4c 49 54 59 20 41 4e 44 20 50 45 52 46 4f 52 4d 41 4e 43 45 20 4f 46 20 54 48 45 20 50 QUALITY.AND.PERFORMANCE.OF.THE.P
28400 52 4f 47 52 41 4d 0a 49 53 20 57 49 54 48 20 59 4f 55 2e 20 20 53 48 4f 55 4c 44 20 54 48 45 20 ROGRAM.IS.WITH.YOU...SHOULD.THE.
28420 50 52 4f 47 52 41 4d 20 50 52 4f 56 45 20 44 45 46 45 43 54 49 56 45 2c 20 59 4f 55 20 41 53 53 PROGRAM.PROVE.DEFECTIVE,.YOU.ASS
28440 55 4d 45 20 54 48 45 20 43 4f 53 54 20 4f 46 0a 41 4c 4c 20 4e 45 43 45 53 53 41 52 59 20 53 45 UME.THE.COST.OF.ALL.NECESSARY.SE
28460 52 56 49 43 49 4e 47 2c 20 52 45 50 41 49 52 20 4f 52 20 43 4f 52 52 45 43 54 49 4f 4e 2e 0a 0a RVICING,.REPAIR.OR.CORRECTION...
28480 20 20 31 36 2e 20 4c 69 6d 69 74 61 74 69 6f 6e 20 6f 66 20 4c 69 61 62 69 6c 69 74 79 2e 0a 0a ..16..Limitation.of.Liability...
284a0 20 20 49 4e 20 4e 4f 20 45 56 45 4e 54 20 55 4e 4c 45 53 53 20 52 45 51 55 49 52 45 44 20 42 59 ..IN.NO.EVENT.UNLESS.REQUIRED.BY
284c0 20 41 50 50 4c 49 43 41 42 4c 45 20 4c 41 57 20 4f 52 20 41 47 52 45 45 44 20 54 4f 20 49 4e 20 .APPLICABLE.LAW.OR.AGREED.TO.IN.
284e0 57 52 49 54 49 4e 47 0a 57 49 4c 4c 20 41 4e 59 20 43 4f 50 59 52 49 47 48 54 20 48 4f 4c 44 45 WRITING.WILL.ANY.COPYRIGHT.HOLDE
28500 52 2c 20 4f 52 20 41 4e 59 20 4f 54 48 45 52 20 50 41 52 54 59 20 57 48 4f 20 4d 4f 44 49 46 49 R,.OR.ANY.OTHER.PARTY.WHO.MODIFI
28520 45 53 20 41 4e 44 2f 4f 52 20 43 4f 4e 56 45 59 53 0a 54 48 45 20 50 52 4f 47 52 41 4d 20 41 53 ES.AND/OR.CONVEYS.THE.PROGRAM.AS
28540 20 50 45 52 4d 49 54 54 45 44 20 41 42 4f 56 45 2c 20 42 45 20 4c 49 41 42 4c 45 20 54 4f 20 59 .PERMITTED.ABOVE,.BE.LIABLE.TO.Y
28560 4f 55 20 46 4f 52 20 44 41 4d 41 47 45 53 2c 20 49 4e 43 4c 55 44 49 4e 47 20 41 4e 59 0a 47 45 OU.FOR.DAMAGES,.INCLUDING.ANY.GE
28580 4e 45 52 41 4c 2c 20 53 50 45 43 49 41 4c 2c 20 49 4e 43 49 44 45 4e 54 41 4c 20 4f 52 20 43 4f NERAL,.SPECIAL,.INCIDENTAL.OR.CO
285a0 4e 53 45 51 55 45 4e 54 49 41 4c 20 44 41 4d 41 47 45 53 20 41 52 49 53 49 4e 47 20 4f 55 54 20 NSEQUENTIAL.DAMAGES.ARISING.OUT.
285c0 4f 46 20 54 48 45 0a 55 53 45 20 4f 52 20 49 4e 41 42 49 4c 49 54 59 20 54 4f 20 55 53 45 20 54 OF.THE.USE.OR.INABILITY.TO.USE.T
285e0 48 45 20 50 52 4f 47 52 41 4d 20 28 49 4e 43 4c 55 44 49 4e 47 20 42 55 54 20 4e 4f 54 20 4c 49 HE.PROGRAM.(INCLUDING.BUT.NOT.LI
28600 4d 49 54 45 44 20 54 4f 20 4c 4f 53 53 20 4f 46 0a 44 41 54 41 20 4f 52 20 44 41 54 41 20 42 45 MITED.TO.LOSS.OF.DATA.OR.DATA.BE
28620 49 4e 47 20 52 45 4e 44 45 52 45 44 20 49 4e 41 43 43 55 52 41 54 45 20 4f 52 20 4c 4f 53 53 45 ING.RENDERED.INACCURATE.OR.LOSSE
28640 53 20 53 55 53 54 41 49 4e 45 44 20 42 59 20 59 4f 55 20 4f 52 20 54 48 49 52 44 0a 50 41 52 54 S.SUSTAINED.BY.YOU.OR.THIRD.PART
28660 49 45 53 20 4f 52 20 41 20 46 41 49 4c 55 52 45 20 4f 46 20 54 48 45 20 50 52 4f 47 52 41 4d 20 IES.OR.A.FAILURE.OF.THE.PROGRAM.
28680 54 4f 20 4f 50 45 52 41 54 45 20 57 49 54 48 20 41 4e 59 20 4f 54 48 45 52 20 50 52 4f 47 52 41 TO.OPERATE.WITH.ANY.OTHER.PROGRA
286a0 4d 53 29 2c 0a 45 56 45 4e 20 49 46 20 53 55 43 48 20 48 4f 4c 44 45 52 20 4f 52 20 4f 54 48 45 MS),.EVEN.IF.SUCH.HOLDER.OR.OTHE
286c0 52 20 50 41 52 54 59 20 48 41 53 20 42 45 45 4e 20 41 44 56 49 53 45 44 20 4f 46 20 54 48 45 20 R.PARTY.HAS.BEEN.ADVISED.OF.THE.
286e0 50 4f 53 53 49 42 49 4c 49 54 59 20 4f 46 0a 53 55 43 48 20 44 41 4d 41 47 45 53 2e 0a 0a 20 20 POSSIBILITY.OF.SUCH.DAMAGES.....
28700 31 37 2e 20 49 6e 74 65 72 70 72 65 74 61 74 69 6f 6e 20 6f 66 20 53 65 63 74 69 6f 6e 73 20 31 17..Interpretation.of.Sections.1
28720 35 20 61 6e 64 20 31 36 2e 0a 0a 20 20 49 66 20 74 68 65 20 64 69 73 63 6c 61 69 6d 65 72 20 6f 5.and.16.....If.the.disclaimer.o
28740 66 20 77 61 72 72 61 6e 74 79 20 61 6e 64 20 6c 69 6d 69 74 61 74 69 6f 6e 20 6f 66 20 6c 69 61 f.warranty.and.limitation.of.lia
28760 62 69 6c 69 74 79 20 70 72 6f 76 69 64 65 64 0a 61 62 6f 76 65 20 63 61 6e 6e 6f 74 20 62 65 20 bility.provided.above.cannot.be.
28780 67 69 76 65 6e 20 6c 6f 63 61 6c 20 6c 65 67 61 6c 20 65 66 66 65 63 74 20 61 63 63 6f 72 64 69 given.local.legal.effect.accordi
287a0 6e 67 20 74 6f 20 74 68 65 69 72 20 74 65 72 6d 73 2c 0a 72 65 76 69 65 77 69 6e 67 20 63 6f 75 ng.to.their.terms,.reviewing.cou
287c0 72 74 73 20 73 68 61 6c 6c 20 61 70 70 6c 79 20 6c 6f 63 61 6c 20 6c 61 77 20 74 68 61 74 20 6d rts.shall.apply.local.law.that.m
287e0 6f 73 74 20 63 6c 6f 73 65 6c 79 20 61 70 70 72 6f 78 69 6d 61 74 65 73 0a 61 6e 20 61 62 73 6f ost.closely.approximates.an.abso
28800 6c 75 74 65 20 77 61 69 76 65 72 20 6f 66 20 61 6c 6c 20 63 69 76 69 6c 20 6c 69 61 62 69 6c 69 lute.waiver.of.all.civil.liabili
28820 74 79 20 69 6e 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 77 69 74 68 20 74 68 65 0a 50 72 6f 67 72 61 ty.in.connection.with.the.Progra
28840 6d 2c 20 75 6e 6c 65 73 73 20 61 20 77 61 72 72 61 6e 74 79 20 6f 72 20 61 73 73 75 6d 70 74 69 m,.unless.a.warranty.or.assumpti
28860 6f 6e 20 6f 66 20 6c 69 61 62 69 6c 69 74 79 20 61 63 63 6f 6d 70 61 6e 69 65 73 20 61 0a 63 6f on.of.liability.accompanies.a.co
28880 70 79 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 69 6e 20 72 65 74 75 72 6e 20 66 6f 72 20 py.of.the.Program.in.return.for.
288a0 61 20 66 65 65 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 4e 44 a.fee........................END
288c0 20 4f 46 20 54 45 52 4d 53 20 41 4e 44 20 43 4f 4e 44 49 54 49 4f 4e 53 0a 0a 20 20 20 20 20 20 .OF.TERMS.AND.CONDITIONS........
288e0 20 20 20 20 20 20 48 6f 77 20 74 6f 20 41 70 70 6c 79 20 54 68 65 73 65 20 54 65 72 6d 73 20 74 ......How.to.Apply.These.Terms.t
28900 6f 20 59 6f 75 72 20 4e 65 77 20 50 72 6f 67 72 61 6d 73 0a 0a 20 20 49 66 20 79 6f 75 20 64 65 o.Your.New.Programs....If.you.de
28920 76 65 6c 6f 70 20 61 20 6e 65 77 20 70 72 6f 67 72 61 6d 2c 20 61 6e 64 20 79 6f 75 20 77 61 6e velop.a.new.program,.and.you.wan
28940 74 20 69 74 20 74 6f 20 62 65 20 6f 66 20 74 68 65 20 67 72 65 61 74 65 73 74 0a 70 6f 73 73 69 t.it.to.be.of.the.greatest.possi
28960 62 6c 65 20 75 73 65 20 74 6f 20 74 68 65 20 70 75 62 6c 69 63 2c 20 74 68 65 20 62 65 73 74 20 ble.use.to.the.public,.the.best.
28980 77 61 79 20 74 6f 20 61 63 68 69 65 76 65 20 74 68 69 73 20 69 73 20 74 6f 20 6d 61 6b 65 20 69 way.to.achieve.this.is.to.make.i
289a0 74 0a 66 72 65 65 20 73 6f 66 74 77 61 72 65 20 77 68 69 63 68 20 65 76 65 72 79 6f 6e 65 20 63 t.free.software.which.everyone.c
289c0 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 61 6e 64 20 63 68 61 6e 67 65 20 75 6e 64 65 72 an.redistribute.and.change.under
289e0 20 74 68 65 73 65 20 74 65 72 6d 73 2e 0a 0a 20 20 54 6f 20 64 6f 20 73 6f 2c 20 61 74 74 61 63 .these.terms.....To.do.so,.attac
28a00 68 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6e 6f 74 69 63 65 73 20 74 6f 20 74 68 65 20 70 h.the.following.notices.to.the.p
28a20 72 6f 67 72 61 6d 2e 20 20 49 74 20 69 73 20 73 61 66 65 73 74 0a 74 6f 20 61 74 74 61 63 68 20 rogram...It.is.safest.to.attach.
28a40 74 68 65 6d 20 74 6f 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 65 61 63 68 20 73 6f 75 72 63 65 them.to.the.start.of.each.source
28a60 20 66 69 6c 65 20 74 6f 20 6d 6f 73 74 20 65 66 66 65 63 74 69 76 65 6c 79 0a 73 74 61 74 65 20 .file.to.most.effectively.state.
28a80 74 68 65 20 65 78 63 6c 75 73 69 6f 6e 20 6f 66 20 77 61 72 72 61 6e 74 79 3b 20 61 6e 64 20 65 the.exclusion.of.warranty;.and.e
28aa0 61 63 68 20 66 69 6c 65 20 73 68 6f 75 6c 64 20 68 61 76 65 20 61 74 20 6c 65 61 73 74 0a 74 68 ach.file.should.have.at.least.th
28ac0 65 20 22 63 6f 70 79 72 69 67 68 74 22 20 6c 69 6e 65 20 61 6e 64 20 61 20 70 6f 69 6e 74 65 72 e."copyright".line.and.a.pointer
28ae0 20 74 6f 20 77 68 65 72 65 20 74 68 65 20 66 75 6c 6c 20 6e 6f 74 69 63 65 20 69 73 20 66 6f 75 .to.where.the.full.notice.is.fou
28b00 6e 64 2e 0a 0a 20 20 20 20 3c 6f 6e 65 20 6c 69 6e 65 20 74 6f 20 67 69 76 65 20 74 68 65 20 70 nd.......<one.line.to.give.the.p
28b20 72 6f 67 72 61 6d 27 73 20 6e 61 6d 65 20 61 6e 64 20 61 20 62 72 69 65 66 20 69 64 65 61 20 6f rogram's.name.and.a.brief.idea.o
28b40 66 20 77 68 61 74 20 69 74 20 64 6f 65 73 2e 3e 0a 20 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 f.what.it.does.>.....Copyright.(
28b60 43 29 20 3c 79 65 61 72 3e 20 20 3c 6e 61 6d 65 20 6f 66 20 61 75 74 68 6f 72 3e 0a 0a 20 20 20 C).<year>..<name.of.author>.....
28b80 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 .This.program.is.free.software:.
28ba0 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d you.can.redistribute.it.and/or.m
28bc0 6f 64 69 66 79 0a 20 20 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 odify.....it.under.the.terms.of.
28be0 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 the.GNU.General.Public.License.a
28c00 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 20 20 20 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 s.published.by.....the.Free.Soft
28c20 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 ware.Foundation,.either.version.
28c40 33 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 20 20 20 20 28 61 74 20 79 6f 75 3.of.the.License,.or.....(at.you
28c60 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 r.option).any.later.version.....
28c80 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e ..This.program.is.distributed.in
28ca0 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c .the.hope.that.it.will.be.useful
28cc0 2c 0a 20 20 20 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 ,.....but.WITHOUT.ANY.WARRANTY;.
28ce0 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 without.even.the.implied.warrant
28d00 79 20 6f 66 0a 20 20 20 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e y.of.....MERCHANTABILITY.or.FITN
28d20 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 ESS.FOR.A.PARTICULAR.PURPOSE...S
28d40 65 65 20 74 68 65 0a 20 20 20 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 ee.the.....GNU.General.Public.Li
28d60 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 20 20 20 20 59 6f 75 cense.for.more.details.......You
28d80 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 .should.have.received.a.copy.of.
28da0 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 20 the.GNU.General.Public.License..
28dc0 20 20 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 ...along.with.this.program...If.
28de0 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 not,.see.<https://www.gnu.org/li
28e00 63 65 6e 73 65 73 2f 3e 2e 0a 0a 41 6c 73 6f 20 61 64 64 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 censes/>...Also.add.information.
28e20 6f 6e 20 68 6f 77 20 74 6f 20 63 6f 6e 74 61 63 74 20 79 6f 75 20 62 79 20 65 6c 65 63 74 72 6f on.how.to.contact.you.by.electro
28e40 6e 69 63 20 61 6e 64 20 70 61 70 65 72 20 6d 61 69 6c 2e 0a 0a 20 20 49 66 20 74 68 65 20 70 72 nic.and.paper.mail.....If.the.pr
28e60 6f 67 72 61 6d 20 64 6f 65 73 20 74 65 72 6d 69 6e 61 6c 20 69 6e 74 65 72 61 63 74 69 6f 6e 2c ogram.does.terminal.interaction,
28e80 20 6d 61 6b 65 20 69 74 20 6f 75 74 70 75 74 20 61 20 73 68 6f 72 74 0a 6e 6f 74 69 63 65 20 6c .make.it.output.a.short.notice.l
28ea0 69 6b 65 20 74 68 69 73 20 77 68 65 6e 20 69 74 20 73 74 61 72 74 73 20 69 6e 20 61 6e 20 69 6e ike.this.when.it.starts.in.an.in
28ec0 74 65 72 61 63 74 69 76 65 20 6d 6f 64 65 3a 0a 0a 20 20 20 20 3c 70 72 6f 67 72 61 6d 3e 20 20 teractive.mode:......<program>..
28ee0 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 3c 79 65 61 72 3e 20 20 3c 6e 61 6d 65 20 6f 66 20 61 Copyright.(C).<year>..<name.of.a
28f00 75 74 68 6f 72 3e 0a 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 63 6f 6d 65 73 20 77 69 uthor>.....This.program.comes.wi
28f20 74 68 20 41 42 53 4f 4c 55 54 45 4c 59 20 4e 4f 20 57 41 52 52 41 4e 54 59 3b 20 66 6f 72 20 64 th.ABSOLUTELY.NO.WARRANTY;.for.d
28f40 65 74 61 69 6c 73 20 74 79 70 65 20 60 73 68 6f 77 20 77 27 2e 0a 20 20 20 20 54 68 69 73 20 69 etails.type.`show.w'......This.i
28f60 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 2c 20 61 6e 64 20 79 6f 75 20 61 72 65 20 77 65 6c s.free.software,.and.you.are.wel
28f80 63 6f 6d 65 20 74 6f 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 0a 20 20 20 20 75 6e 64 65 come.to.redistribute.it.....unde
28fa0 72 20 63 65 72 74 61 69 6e 20 63 6f 6e 64 69 74 69 6f 6e 73 3b 20 74 79 70 65 20 60 73 68 6f 77 r.certain.conditions;.type.`show
28fc0 20 63 27 20 66 6f 72 20 64 65 74 61 69 6c 73 2e 0a 0a 54 68 65 20 68 79 70 6f 74 68 65 74 69 63 .c'.for.details...The.hypothetic
28fe0 61 6c 20 63 6f 6d 6d 61 6e 64 73 20 60 73 68 6f 77 20 77 27 20 61 6e 64 20 60 73 68 6f 77 20 63 al.commands.`show.w'.and.`show.c
29000 27 20 73 68 6f 75 6c 64 20 73 68 6f 77 20 74 68 65 20 61 70 70 72 6f 70 72 69 61 74 65 0a 70 61 '.should.show.the.appropriate.pa
29020 72 74 73 20 6f 66 20 74 68 65 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 rts.of.the.General.Public.Licens
29040 65 2e 20 20 4f 66 20 63 6f 75 72 73 65 2c 20 79 6f 75 72 20 70 72 6f 67 72 61 6d 27 73 20 63 6f e...Of.course,.your.program's.co
29060 6d 6d 61 6e 64 73 0a 6d 69 67 68 74 20 62 65 20 64 69 66 66 65 72 65 6e 74 3b 20 66 6f 72 20 61 mmands.might.be.different;.for.a
29080 20 47 55 49 20 69 6e 74 65 72 66 61 63 65 2c 20 79 6f 75 20 77 6f 75 6c 64 20 75 73 65 20 61 6e .GUI.interface,.you.would.use.an
290a0 20 22 61 62 6f 75 74 20 62 6f 78 22 2e 0a 0a 20 20 59 6f 75 20 73 68 6f 75 6c 64 20 61 6c 73 6f ."about.box".....You.should.also
290c0 20 67 65 74 20 79 6f 75 72 20 65 6d 70 6c 6f 79 65 72 20 28 69 66 20 79 6f 75 20 77 6f 72 6b 20 .get.your.employer.(if.you.work.
290e0 61 73 20 61 20 70 72 6f 67 72 61 6d 6d 65 72 29 20 6f 72 20 73 63 68 6f 6f 6c 2c 0a 69 66 20 61 as.a.programmer).or.school,.if.a
29100 6e 79 2c 20 74 6f 20 73 69 67 6e 20 61 20 22 63 6f 70 79 72 69 67 68 74 20 64 69 73 63 6c 61 69 ny,.to.sign.a."copyright.disclai
29120 6d 65 72 22 20 66 6f 72 20 74 68 65 20 70 72 6f 67 72 61 6d 2c 20 69 66 20 6e 65 63 65 73 73 61 mer".for.the.program,.if.necessa
29140 72 79 2e 0a 46 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 74 68 69 73 ry..For.more.information.on.this
29160 2c 20 61 6e 64 20 68 6f 77 20 74 6f 20 61 70 70 6c 79 20 61 6e 64 20 66 6f 6c 6c 6f 77 20 74 68 ,.and.how.to.apply.and.follow.th
29180 65 20 47 4e 55 20 47 50 4c 2c 20 73 65 65 0a 3c 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e 75 2e e.GNU.GPL,.see.<https://www.gnu.
291a0 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 0a 20 20 54 68 65 20 47 4e 55 20 47 65 6e 65 72 org/licenses/>.....The.GNU.Gener
291c0 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 64 6f 65 73 20 6e 6f 74 20 70 65 72 6d 69 al.Public.License.does.not.permi
291e0 74 20 69 6e 63 6f 72 70 6f 72 61 74 69 6e 67 20 79 6f 75 72 20 70 72 6f 67 72 61 6d 0a 69 6e 74 t.incorporating.your.program.int
29200 6f 20 70 72 6f 70 72 69 65 74 61 72 79 20 70 72 6f 67 72 61 6d 73 2e 20 20 49 66 20 79 6f 75 72 o.proprietary.programs...If.your
29220 20 70 72 6f 67 72 61 6d 20 69 73 20 61 20 73 75 62 72 6f 75 74 69 6e 65 20 6c 69 62 72 61 72 79 .program.is.a.subroutine.library
29240 2c 20 79 6f 75 0a 6d 61 79 20 63 6f 6e 73 69 64 65 72 20 69 74 20 6d 6f 72 65 20 75 73 65 66 75 ,.you.may.consider.it.more.usefu
29260 6c 20 74 6f 20 70 65 72 6d 69 74 20 6c 69 6e 6b 69 6e 67 20 70 72 6f 70 72 69 65 74 61 72 79 20 l.to.permit.linking.proprietary.
29280 61 70 70 6c 69 63 61 74 69 6f 6e 73 20 77 69 74 68 0a 74 68 65 20 6c 69 62 72 61 72 79 2e 20 20 applications.with.the.library...
292a0 49 66 20 74 68 69 73 20 69 73 20 77 68 61 74 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 64 6f 2c 20 If.this.is.what.you.want.to.do,.
292c0 75 73 65 20 74 68 65 20 47 4e 55 20 4c 65 73 73 65 72 20 47 65 6e 65 72 61 6c 0a 50 75 62 6c 69 use.the.GNU.Lesser.General.Publi
292e0 63 20 4c 69 63 65 6e 73 65 20 69 6e 73 74 65 61 64 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 c.License.instead.of.this.Licens
29300 65 2e 20 20 42 75 74 20 66 69 72 73 74 2c 20 70 6c 65 61 73 65 20 72 65 61 64 0a 3c 68 74 74 70 e...But.first,.please.read.<http
29320 73 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 77 68 79 2d 6e 6f 74 s://www.gnu.org/licenses/why-not
29340 2d 6c 67 70 6c 2e 68 74 6d 6c 3e 2e 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -lgpl.html>.....................
29360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
293a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
293c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
293e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29400 64 61 73 68 2d 32 2e 31 39 2e 31 2f 64 69 72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 dash-2.19.1/dir.................
29420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29460 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
29480 30 30 30 31 31 35 31 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 31 36 36 31 00 20 30 00 00 00 0001151.00000000000.011661..0...
294a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
294c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
294e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29500 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...................
29520 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...................
29540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
295a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
295c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
295e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29600 54 68 69 73 20 69 73 20 74 68 65 20 66 69 6c 65 20 2e 2e 2e 2f 69 6e 66 6f 2f 64 69 72 2c 20 77 This.is.the.file..../info/dir,.w
29620 68 69 63 68 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 0a 74 6f 70 6d 6f 73 74 20 6e 6f 64 65 20 6f hich.contains.the.topmost.node.o
29640 66 20 74 68 65 20 49 6e 66 6f 20 68 69 65 72 61 72 63 68 79 2c 20 63 61 6c 6c 65 64 20 28 64 69 f.the.Info.hierarchy,.called.(di
29660 72 29 54 6f 70 2e 0a 54 68 65 20 66 69 72 73 74 20 74 69 6d 65 20 79 6f 75 20 69 6e 76 6f 6b 65 r)Top..The.first.time.you.invoke
29680 20 49 6e 66 6f 20 79 6f 75 20 73 74 61 72 74 20 6f 66 66 20 6c 6f 6f 6b 69 6e 67 20 61 74 20 74 .Info.you.start.off.looking.at.t
296a0 68 69 73 20 6e 6f 64 65 2e 0a 1f 0a 46 69 6c 65 3a 20 64 69 72 2c 09 4e 6f 64 65 3a 20 54 6f 70 his.node....File:.dir,.Node:.Top
296c0 09 54 68 69 73 20 69 73 20 74 68 65 20 74 6f 70 20 6f 66 20 74 68 65 20 49 4e 46 4f 20 74 72 65 .This.is.the.top.of.the.INFO.tre
296e0 65 0a 0a 20 20 54 68 69 73 20 28 74 68 65 20 44 69 72 65 63 74 6f 72 79 20 6e 6f 64 65 29 20 67 e....This.(the.Directory.node).g
29700 69 76 65 73 20 61 20 6d 65 6e 75 20 6f 66 20 6d 61 6a 6f 72 20 74 6f 70 69 63 73 2e 0a 20 20 54 ives.a.menu.of.major.topics....T
29720 79 70 69 6e 67 20 22 71 22 20 65 78 69 74 73 2c 20 22 48 22 20 6c 69 73 74 73 20 61 6c 6c 20 49 yping."q".exits,."H".lists.all.I
29740 6e 66 6f 20 63 6f 6d 6d 61 6e 64 73 2c 20 22 64 22 20 72 65 74 75 72 6e 73 20 68 65 72 65 2c 0a nfo.commands,."d".returns.here,.
29760 20 20 22 68 22 20 67 69 76 65 73 20 61 20 70 72 69 6d 65 72 20 66 6f 72 20 66 69 72 73 74 2d 74 .."h".gives.a.primer.for.first-t
29780 69 6d 65 72 73 2c 0a 20 20 22 6d 45 6d 61 63 73 3c 52 65 74 75 72 6e 3e 22 20 76 69 73 69 74 73 imers,..."mEmacs<Return>".visits
297a0 20 74 68 65 20 45 6d 61 63 73 20 6d 61 6e 75 61 6c 2c 20 65 74 63 2e 0a 0a 20 20 49 6e 20 45 6d .the.Emacs.manual,.etc.....In.Em
297c0 61 63 73 2c 20 79 6f 75 20 63 61 6e 20 63 6c 69 63 6b 20 6d 6f 75 73 65 20 62 75 74 74 6f 6e 20 acs,.you.can.click.mouse.button.
297e0 32 20 6f 6e 20 61 20 6d 65 6e 75 20 69 74 65 6d 20 6f 72 20 63 72 6f 73 73 20 72 65 66 65 72 65 2.on.a.menu.item.or.cross.refere
29800 6e 63 65 0a 20 20 74 6f 20 73 65 6c 65 63 74 20 69 74 2e 0a 0a 2a 20 4d 65 6e 75 3a 0a 0a 45 6d nce...to.select.it...*.Menu:..Em
29820 61 63 73 0a 2a 20 44 61 73 68 3a 20 28 64 61 73 68 2e 69 6e 66 6f 29 2e 20 20 20 20 20 20 20 20 acs.*.Dash:.(dash.info).........
29840 20 20 20 20 41 20 6d 6f 64 65 72 6e 20 6c 69 73 74 20 6c 69 62 72 61 72 79 20 66 6f 72 20 47 4e ....A.modern.list.library.for.GN
29860 55 20 45 6d 61 63 73 2e 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 U.Emacs.........................
29880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
298a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
298c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
298e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
299a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
299c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
299e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29a00 64 61 73 68 2d 32 2e 31 39 2e 31 2f 64 61 73 68 2e 69 6e 66 6f 00 00 00 00 00 00 00 00 00 00 00 dash-2.19.1/dash.info...........
29a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29a60 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
29a80 30 35 37 32 35 37 36 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 30 30 34 00 20 30 00 00 00 0572576.00000000000.013004..0...
29aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29b00 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...................
29b20 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...................
29b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29c00 54 68 69 73 20 69 73 20 64 61 73 68 2e 69 6e 66 6f 2c 20 70 72 6f 64 75 63 65 64 20 62 79 20 6d This.is.dash.info,.produced.by.m
29c20 61 6b 65 69 6e 66 6f 20 76 65 72 73 69 6f 6e 20 36 2e 35 20 66 72 6f 6d 20 64 61 73 68 2e 74 65 akeinfo.version.6.5.from.dash.te
29c40 78 69 2e 0a 0a 54 68 69 73 20 6d 61 6e 75 61 6c 20 69 73 20 66 6f 72 20 44 61 73 68 20 76 65 72 xi...This.manual.is.for.Dash.ver
29c60 73 69 6f 6e 20 32 2e 31 39 2e 31 2e 0a 0a 20 20 20 43 6f 70 79 72 69 67 68 74 20 c2 a9 20 32 30 sion.2.19.1......Copyright....20
29c80 31 32 e2 80 93 32 30 32 31 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 12...2021.Free.Software.Foundati
29ca0 6f 6e 2c 20 49 6e 63 2e 0a 0a 20 20 20 20 20 50 65 72 6d 69 73 73 69 6f 6e 20 69 73 20 67 72 61 on,.Inc........Permission.is.gra
29cc0 6e 74 65 64 20 74 6f 20 63 6f 70 79 2c 20 64 69 73 74 72 69 62 75 74 65 20 61 6e 64 2f 6f 72 20 nted.to.copy,.distribute.and/or.
29ce0 6d 6f 64 69 66 79 20 74 68 69 73 0a 20 20 20 20 20 64 6f 63 75 6d 65 6e 74 20 75 6e 64 65 72 20 modify.this......document.under.
29d00 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 46 72 65 65 20 44 6f 63 75 6d 65 the.terms.of.the.GNU.Free.Docume
29d20 6e 74 61 74 69 6f 6e 20 4c 69 63 65 6e 73 65 2c 0a 20 20 20 20 20 56 65 72 73 69 6f 6e 20 31 2e ntation.License,......Version.1.
29d40 33 20 6f 72 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 20 70 75 62 6c 69 73 68 65 64 3.or.any.later.version.published
29d60 20 62 79 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 0a 20 20 20 20 20 46 6f 75 6e 64 .by.the.Free.Software......Found
29d80 61 74 69 6f 6e 3b 20 77 69 74 68 20 74 68 65 20 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f ation;.with.the.Invariant.Sectio
29da0 6e 73 20 62 65 69 6e 67 20 e2 80 9c 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 0a 20 ns.being....GNU.General.Public..
29dc0 20 20 20 20 4c 69 63 65 6e 73 65 2c e2 80 9d 20 61 6e 64 20 6e 6f 20 46 72 6f 6e 74 2d 43 6f 76 ....License,....and.no.Front-Cov
29de0 65 72 20 54 65 78 74 73 20 6f 72 20 42 61 63 6b 2d 43 6f 76 65 72 20 54 65 78 74 73 2e 20 20 41 er.Texts.or.Back-Cover.Texts...A
29e00 20 63 6f 70 79 20 6f 66 0a 20 20 20 20 20 74 68 65 20 6c 69 63 65 6e 73 65 20 69 73 20 69 6e 63 .copy.of......the.license.is.inc
29e20 6c 75 64 65 64 20 69 6e 20 74 68 65 20 73 65 63 74 69 6f 6e 20 65 6e 74 69 74 6c 65 64 20 e2 80 luded.in.the.section.entitled...
29e40 9c 47 4e 55 20 46 72 65 65 0a 20 20 20 20 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 4c 69 63 .GNU.Free......Documentation.Lic
29e60 65 6e 73 65 e2 80 9d 2e 0a 49 4e 46 4f 2d 44 49 52 2d 53 45 43 54 49 4f 4e 20 45 6d 61 63 73 0a ense.....INFO-DIR-SECTION.Emacs.
29e80 53 54 41 52 54 2d 49 4e 46 4f 2d 44 49 52 2d 45 4e 54 52 59 0a 2a 20 44 61 73 68 3a 20 28 64 61 START-INFO-DIR-ENTRY.*.Dash:.(da
29ea0 73 68 2e 69 6e 66 6f 29 2e 20 20 20 20 41 20 6d 6f 64 65 72 6e 20 6c 69 73 74 20 6c 69 62 72 61 sh.info).....A.modern.list.libra
29ec0 72 79 20 66 6f 72 20 47 4e 55 20 45 6d 61 63 73 2e 0a 45 4e 44 2d 49 4e 46 4f 2d 44 49 52 2d 45 ry.for.GNU.Emacs..END-INFO-DIR-E
29ee0 4e 54 52 59 0a 0a 1f 0a 46 69 6c 65 3a 20 64 61 73 68 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 NTRY....File:.dash.info,..Node:.
29f00 54 6f 70 2c 20 20 4e 65 78 74 3a 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 2c 20 20 55 70 3a 20 28 Top,..Next:.Installation,..Up:.(
29f20 64 69 72 29 0a 0a 44 61 73 68 0a 2a 2a 2a 2a 0a 0a 54 68 69 73 20 6d 61 6e 75 61 6c 20 69 73 20 dir)..Dash.****..This.manual.is.
29f40 66 6f 72 20 44 61 73 68 20 76 65 72 73 69 6f 6e 20 32 2e 31 39 2e 31 2e 0a 0a 20 20 20 43 6f 70 for.Dash.version.2.19.1......Cop
29f60 79 72 69 67 68 74 20 c2 a9 20 32 30 31 32 e2 80 93 32 30 32 31 20 46 72 65 65 20 53 6f 66 74 77 yright....2012...2021.Free.Softw
29f80 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 0a 20 20 20 20 20 50 65 72 6d 69 are.Foundation,.Inc........Permi
29fa0 73 73 69 6f 6e 20 69 73 20 67 72 61 6e 74 65 64 20 74 6f 20 63 6f 70 79 2c 20 64 69 73 74 72 69 ssion.is.granted.to.copy,.distri
29fc0 62 75 74 65 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 20 74 68 69 73 0a 20 20 20 20 20 64 6f 63 bute.and/or.modify.this......doc
29fe0 75 6d 65 6e 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 ument.under.the.terms.of.the.GNU
2a000 20 46 72 65 65 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 4c 69 63 65 6e 73 65 2c 0a 20 20 20 .Free.Documentation.License,....
2a020 20 20 56 65 72 73 69 6f 6e 20 31 2e 33 20 6f 72 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 ..Version.1.3.or.any.later.versi
2a040 6f 6e 20 70 75 62 6c 69 73 68 65 64 20 62 79 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 on.published.by.the.Free.Softwar
2a060 65 0a 20 20 20 20 20 46 6f 75 6e 64 61 74 69 6f 6e 3b 20 77 69 74 68 20 74 68 65 20 49 6e 76 61 e......Foundation;.with.the.Inva
2a080 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 20 62 65 69 6e 67 20 e2 80 9c 47 4e 55 20 47 65 6e 65 riant.Sections.being....GNU.Gene
2a0a0 72 61 6c 20 50 75 62 6c 69 63 0a 20 20 20 20 20 4c 69 63 65 6e 73 65 2c e2 80 9d 20 61 6e 64 20 ral.Public......License,....and.
2a0c0 6e 6f 20 46 72 6f 6e 74 2d 43 6f 76 65 72 20 54 65 78 74 73 20 6f 72 20 42 61 63 6b 2d 43 6f 76 no.Front-Cover.Texts.or.Back-Cov
2a0e0 65 72 20 54 65 78 74 73 2e 20 20 41 20 63 6f 70 79 20 6f 66 0a 20 20 20 20 20 74 68 65 20 6c 69 er.Texts...A.copy.of......the.li
2a100 63 65 6e 73 65 20 69 73 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 68 65 20 73 65 63 74 69 6f 6e cense.is.included.in.the.section
2a120 20 65 6e 74 69 74 6c 65 64 20 e2 80 9c 47 4e 55 20 46 72 65 65 0a 20 20 20 20 20 44 6f 63 75 6d .entitled....GNU.Free......Docum
2a140 65 6e 74 61 74 69 6f 6e 20 4c 69 63 65 6e 73 65 e2 80 9d 2e 0a 0a 2a 20 4d 65 6e 75 3a 0a 0a 2a entation.License......*.Menu:..*
2a160 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 3a 3a 20 20 20 20 20 20 20 20 49 6e 73 74 61 6c 6c 69 6e .Installation::........Installin
2a180 67 20 61 6e 64 20 63 6f 6e 66 69 67 75 72 69 6e 67 20 44 61 73 68 2e 0a 2a 20 46 75 6e 63 74 69 g.and.configuring.Dash..*.Functi
2a1a0 6f 6e 73 3a 3a 20 20 20 20 20 20 20 20 20 20 20 44 61 73 68 20 41 50 49 20 72 65 66 65 72 65 6e ons::...........Dash.API.referen
2a1c0 63 65 2e 0a 2a 20 44 65 76 65 6c 6f 70 6d 65 6e 74 3a 3a 20 20 20 20 20 20 20 20 20 43 6f 6e 74 ce..*.Development::.........Cont
2a1e0 72 69 62 75 74 69 6e 67 20 74 6f 20 44 61 73 68 20 64 65 76 65 6c 6f 70 6d 65 6e 74 2e 0a 0a 41 ributing.to.Dash.development...A
2a200 70 70 65 6e 64 69 63 65 73 0a 0a 2a 20 46 44 4c 3a 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ppendices..*.FDL::..............
2a220 20 20 20 54 68 65 20 6c 69 63 65 6e 73 65 20 66 6f 72 20 74 68 69 73 20 64 6f 63 75 6d 65 6e 74 ...The.license.for.this.document
2a240 61 74 69 6f 6e 2e 0a 2a 20 47 50 4c 3a 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 ation..*.GPL::.................C
2a260 6f 6e 64 69 74 69 6f 6e 73 20 66 6f 72 20 63 6f 70 79 69 6e 67 20 61 6e 64 20 63 68 61 6e 67 69 onditions.for.copying.and.changi
2a280 6e 67 20 44 61 73 68 2e 0a 2a 20 49 6e 64 65 78 3a 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ng.Dash..*.Index::..............
2a2a0 20 49 6e 64 65 78 20 69 6e 63 6c 75 64 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73 20 61 6e 64 20 6d .Index.including.functions.and.m
2a2c0 61 63 72 6f 73 2e 0a 0a 20 e2 80 94 20 54 68 65 20 44 65 74 61 69 6c 65 64 20 4e 6f 64 65 20 4c acros........The.Detailed.Node.L
2a2e0 69 73 74 69 6e 67 20 e2 80 94 0a 0a 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 0a 0a 2a 20 55 73 69 6e isting......Installation..*.Usin
2a300 67 20 69 6e 20 61 20 70 61 63 6b 61 67 65 3a 3a 20 20 4c 69 73 74 69 6e 67 20 44 61 73 68 20 61 g.in.a.package::..Listing.Dash.a
2a320 73 20 61 20 70 61 63 6b 61 67 65 20 64 65 70 65 6e 64 65 6e 63 79 2e 0a 2a 20 46 6f 6e 74 69 66 s.a.package.dependency..*.Fontif
2a340 69 63 61 74 69 6f 6e 20 6f 66 20 73 70 65 63 69 61 6c 20 76 61 72 69 61 62 6c 65 73 3a 3a 20 20 ication.of.special.variables::..
2a360 46 6f 6e 74 20 4c 6f 63 6b 20 6f 66 20 61 6e 61 70 68 6f 72 69 63 20 6d 61 63 72 6f 20 76 61 72 Font.Lock.of.anaphoric.macro.var
2a380 69 61 62 6c 65 73 2e 0a 2a 20 49 6e 66 6f 20 73 79 6d 62 6f 6c 20 6c 6f 6f 6b 75 70 3a 3a 20 20 iables..*.Info.symbol.lookup::..
2a3a0 4c 6f 6f 6b 69 6e 67 20 75 70 20 44 61 73 68 20 73 79 6d 62 6f 6c 73 20 69 6e 20 74 68 69 73 20 Looking.up.Dash.symbols.in.this.
2a3c0 6d 61 6e 75 61 6c 2e 0a 0a 46 75 6e 63 74 69 6f 6e 73 0a 0a 2a 20 4d 61 70 73 3a 3a 0a 2a 20 53 manual...Functions..*.Maps::.*.S
2a3e0 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 3a 3a 0a 2a 20 4c 69 73 74 20 74 6f 20 6c 69 73 ublist.selection::.*.List.to.lis
2a400 74 3a 3a 0a 2a 20 52 65 64 75 63 74 69 6f 6e 73 3a 3a 0a 2a 20 55 6e 66 6f 6c 64 69 6e 67 3a 3a t::.*.Reductions::.*.Unfolding::
2a420 0a 2a 20 50 72 65 64 69 63 61 74 65 73 3a 3a 0a 2a 20 50 61 72 74 69 74 69 6f 6e 69 6e 67 3a 3a .*.Predicates::.*.Partitioning::
2a440 0a 2a 20 49 6e 64 65 78 69 6e 67 3a 3a 0a 2a 20 53 65 74 20 6f 70 65 72 61 74 69 6f 6e 73 3a 3a .*.Indexing::.*.Set.operations::
2a460 0a 2a 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 3a 3a 0a 2a 20 54 72 65 .*.Other.list.operations::.*.Tre
2a480 65 20 6f 70 65 72 61 74 69 6f 6e 73 3a 3a 0a 2a 20 54 68 72 65 61 64 69 6e 67 20 6d 61 63 72 6f e.operations::.*.Threading.macro
2a4a0 73 3a 3a 0a 2a 20 42 69 6e 64 69 6e 67 3a 3a 0a 2a 20 53 69 64 65 20 65 66 66 65 63 74 73 3a 3a s::.*.Binding::.*.Side.effects::
2a4c0 0a 2a 20 44 65 73 74 72 75 63 74 69 76 65 20 6f 70 65 72 61 74 69 6f 6e 73 3a 3a 0a 2a 20 46 75 .*.Destructive.operations::.*.Fu
2a4e0 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 73 3a 3a 0a 0a 44 65 76 65 6c 6f 70 6d 65 6e nction.combinators::..Developmen
2a500 74 0a 0a 2a 20 43 6f 6e 74 72 69 62 75 74 65 3a 3a 20 20 20 20 20 20 20 20 20 20 48 6f 77 20 74 t..*.Contribute::..........How.t
2a520 6f 20 63 6f 6e 74 72 69 62 75 74 65 2e 0a 2a 20 43 6f 6e 74 72 69 62 75 74 6f 72 73 3a 3a 20 20 o.contribute..*.Contributors::..
2a540 20 20 20 20 20 20 4c 69 73 74 20 6f 66 20 63 6f 6e 74 72 69 62 75 74 6f 72 73 2e 0a 0a 1f 0a 46 ......List.of.contributors.....F
2a560 69 6c 65 3a 20 64 61 73 68 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 49 6e 73 74 61 6c 6c 61 74 ile:.dash.info,..Node:.Installat
2a580 69 6f 6e 2c 20 20 4e 65 78 74 3a 20 46 75 6e 63 74 69 6f 6e 73 2c 20 20 50 72 65 76 3a 20 54 6f ion,..Next:.Functions,..Prev:.To
2a5a0 70 2c 20 20 55 70 3a 20 54 6f 70 0a 0a 31 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 0a 2a 2a 2a 2a p,..Up:.Top..1.Installation.****
2a5c0 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a 44 61 73 68 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 6f 6e **********..Dash.is.available.on
2a5e0 20 47 4e 55 20 45 4c 50 41 20 28 68 74 74 70 73 3a 2f 2f 65 6c 70 61 2e 67 6e 75 2e 6f 72 67 2f .GNU.ELPA.(https://elpa.gnu.org/
2a600 29 2c 20 47 4e 55 2d 64 65 76 65 6c 20 45 4c 50 41 0a 28 68 74 74 70 73 3a 2f 2f 65 6c 70 61 2e ),.GNU-devel.ELPA.(https://elpa.
2a620 67 6e 75 2e 6f 72 67 2f 64 65 76 65 6c 2f 29 2c 20 61 6e 64 20 4d 45 4c 50 41 20 28 68 74 74 70 gnu.org/devel/),.and.MELPA.(http
2a640 73 3a 2f 2f 6d 65 6c 70 61 2e 6f 72 67 2f 29 2c 20 61 6e 64 20 63 61 6e 0a 62 65 20 69 6e 73 74 s://melpa.org/),.and.can.be.inst
2a660 61 6c 6c 65 64 20 77 69 74 68 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 63 6f 6d 6d 61 6e 64 20 alled.with.the.standard.command.
2a680 e2 80 98 70 61 63 6b 61 67 65 2d 69 6e 73 74 61 6c 6c e2 80 99 20 28 2a 6e 6f 74 65 0a 28 65 6d ...package-install....(*note.(em
2a6a0 61 63 73 29 50 61 63 6b 61 67 65 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 3a 3a 29 2e 0a 0a e2 80 acs)Package.Installation::).....
2a6c0 98 4d 2d 78 20 70 61 63 6b 61 67 65 2d 69 6e 73 74 61 6c 6c 20 3c 52 45 54 3e 20 64 61 73 68 20 .M-x.package-install.<RET>.dash.
2a6e0 3c 52 45 54 3e e2 80 99 0a 20 20 20 20 20 49 6e 73 74 61 6c 6c 20 74 68 65 20 44 61 73 68 20 6c <RET>.........Install.the.Dash.l
2a700 69 62 72 61 72 79 2e 0a 0a 20 20 20 41 6c 74 65 72 6e 61 74 69 76 65 6c 79 2c 20 79 6f 75 20 63 ibrary......Alternatively,.you.c
2a720 61 6e 20 6a 75 73 74 20 64 75 6d 70 20 e2 80 98 64 61 73 68 2e 65 6c e2 80 99 20 69 6e 20 79 6f an.just.dump....dash.el....in.yo
2a740 75 72 20 e2 80 98 6c 6f 61 64 2d 70 61 74 68 e2 80 99 0a 73 6f 6d 65 77 68 65 72 65 20 28 2a 6e ur....load-path....somewhere.(*n
2a760 6f 74 65 20 28 65 6d 61 63 73 29 4c 69 73 70 20 4c 69 62 72 61 72 69 65 73 3a 3a 29 2e 0a 0a 2a ote.(emacs)Lisp.Libraries::)...*
2a780 20 4d 65 6e 75 3a 0a 0a 2a 20 55 73 69 6e 67 20 69 6e 20 61 20 70 61 63 6b 61 67 65 3a 3a 20 20 .Menu:..*.Using.in.a.package::..
2a7a0 4c 69 73 74 69 6e 67 20 44 61 73 68 20 61 73 20 61 20 70 61 63 6b 61 67 65 20 64 65 70 65 6e 64 Listing.Dash.as.a.package.depend
2a7c0 65 6e 63 79 2e 0a 2a 20 46 6f 6e 74 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 73 70 65 63 69 61 6c ency..*.Fontification.of.special
2a7e0 20 76 61 72 69 61 62 6c 65 73 3a 3a 20 20 46 6f 6e 74 20 4c 6f 63 6b 20 6f 66 20 61 6e 61 70 68 .variables::..Font.Lock.of.anaph
2a800 6f 72 69 63 20 6d 61 63 72 6f 20 76 61 72 69 61 62 6c 65 73 2e 0a 2a 20 49 6e 66 6f 20 73 79 6d oric.macro.variables..*.Info.sym
2a820 62 6f 6c 20 6c 6f 6f 6b 75 70 3a 3a 20 20 4c 6f 6f 6b 69 6e 67 20 75 70 20 44 61 73 68 20 73 79 bol.lookup::..Looking.up.Dash.sy
2a840 6d 62 6f 6c 73 20 69 6e 20 74 68 69 73 20 6d 61 6e 75 61 6c 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 mbols.in.this.manual.....File:.d
2a860 61 73 68 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 55 73 69 6e 67 20 69 6e 20 61 20 70 61 63 6b ash.info,..Node:.Using.in.a.pack
2a880 61 67 65 2c 20 20 4e 65 78 74 3a 20 46 6f 6e 74 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 73 70 65 age,..Next:.Fontification.of.spe
2a8a0 63 69 61 6c 20 76 61 72 69 61 62 6c 65 73 2c 20 20 55 70 3a 20 49 6e 73 74 61 6c 6c 61 74 69 6f cial.variables,..Up:.Installatio
2a8c0 6e 0a 0a 31 2e 31 20 55 73 69 6e 67 20 69 6e 20 61 20 70 61 63 6b 61 67 65 0a 3d 3d 3d 3d 3d 3d n..1.1.Using.in.a.package.======
2a8e0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 49 66 20 79 6f 75 20 75 73 65 20 44 61 73 ================..If.you.use.Das
2a900 68 20 69 6e 20 79 6f 75 72 20 6f 77 6e 20 70 61 63 6b 61 67 65 2c 20 62 65 20 73 75 72 65 20 74 h.in.your.own.package,.be.sure.t
2a920 6f 20 6c 69 73 74 20 69 74 20 61 73 20 61 20 64 65 70 65 6e 64 65 6e 63 79 0a 69 6e 20 74 68 65 o.list.it.as.a.dependency.in.the
2a940 20 6c 69 62 72 61 72 79 e2 80 99 73 20 68 65 61 64 65 72 73 20 61 73 20 66 6f 6c 6c 6f 77 73 20 .library...s.headers.as.follows.
2a960 28 2a 6e 6f 74 65 20 28 65 6c 69 73 70 29 4c 69 62 72 61 72 79 20 48 65 61 64 65 72 73 3a 3a 29 (*note.(elisp)Library.Headers::)
2a980 2e 0a 0a 20 20 20 20 20 3b 3b 20 50 61 63 6b 61 67 65 2d 52 65 71 75 69 72 65 73 3a 20 28 28 64 ........;;.Package-Requires:.((d
2a9a0 61 73 68 20 22 32 2e 31 39 2e 31 22 29 29 0a 0a 1f 0a 46 69 6c 65 3a 20 64 61 73 68 2e 69 6e 66 ash."2.19.1"))....File:.dash.inf
2a9c0 6f 2c 20 20 4e 6f 64 65 3a 20 46 6f 6e 74 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 73 70 65 63 69 o,..Node:.Fontification.of.speci
2a9e0 61 6c 20 76 61 72 69 61 62 6c 65 73 2c 20 20 4e 65 78 74 3a 20 49 6e 66 6f 20 73 79 6d 62 6f 6c al.variables,..Next:.Info.symbol
2aa00 20 6c 6f 6f 6b 75 70 2c 20 20 50 72 65 76 3a 20 55 73 69 6e 67 20 69 6e 20 61 20 70 61 63 6b 61 .lookup,..Prev:.Using.in.a.packa
2aa20 67 65 2c 20 20 55 70 3a 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 0a 0a 31 2e 32 20 46 6f 6e 74 69 ge,..Up:.Installation..1.2.Fonti
2aa40 66 69 63 61 74 69 6f 6e 20 6f 66 20 73 70 65 63 69 61 6c 20 76 61 72 69 61 62 6c 65 73 0a 3d 3d fication.of.special.variables.==
2aa60 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================================
2aa80 3d 3d 3d 3d 0a 0a 54 68 65 20 61 75 74 6f 6c 6f 61 64 65 64 20 6d 69 6e 6f 72 20 6d 6f 64 65 20 ====..The.autoloaded.minor.mode.
2aaa0 e2 80 98 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 e2 80 99 20 69 73 20 70 72 6f 76 69 ...dash-fontify-mode....is.provi
2aac0 64 65 64 20 66 6f 72 20 6f 70 74 69 6f 6e 61 6c 0a 66 6f 6e 74 69 66 69 63 61 74 69 6f 6e 20 6f ded.for.optional.fontification.o
2aae0 66 20 61 6e 61 70 68 6f 72 69 63 20 44 61 73 68 20 76 61 72 69 61 62 6c 65 73 20 28 e2 80 98 69 f.anaphoric.Dash.variables.(...i
2ab00 74 e2 80 99 2c 20 e2 80 98 61 63 63 e2 80 99 2c 20 65 74 63 2e 29 20 69 6e 20 45 6d 61 63 73 0a t...,....acc...,.etc.).in.Emacs.
2ab20 4c 69 73 70 20 62 75 66 66 65 72 73 20 75 73 69 6e 67 20 73 65 61 72 63 68 2d 62 61 73 65 64 20 Lisp.buffers.using.search-based.
2ab40 46 6f 6e 74 20 4c 6f 63 6b 20 28 2a 6e 6f 74 65 20 28 65 6d 61 63 73 29 46 6f 6e 74 20 4c 6f 63 Font.Lock.(*note.(emacs)Font.Loc
2ab60 6b 3a 3a 29 2e 0a 49 6e 20 6f 6c 64 65 72 20 45 6d 61 63 73 20 76 65 72 73 69 6f 6e 73 20 77 68 k::)..In.older.Emacs.versions.wh
2ab80 69 63 68 20 64 6f 20 6e 6f 74 20 64 79 6e 61 6d 69 63 61 6c 6c 79 20 64 65 74 65 63 74 20 6d 61 ich.do.not.dynamically.detect.ma
2aba0 63 72 6f 73 2c 20 74 68 65 0a 6d 69 6e 6f 72 20 6d 6f 64 65 20 61 6c 73 6f 20 66 6f 6e 74 69 66 cros,.the.minor.mode.also.fontif
2abc0 69 65 73 20 63 61 6c 6c 73 20 74 6f 20 44 61 73 68 20 6d 61 63 72 6f 73 2e 0a 0a 20 20 20 54 6f ies.calls.to.Dash.macros......To
2abe0 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 65 6e 61 62 6c 65 20 74 68 65 20 6d 69 6e 6f 72 20 .automatically.enable.the.minor.
2ac00 6d 6f 64 65 20 69 6e 20 61 6c 6c 20 45 6d 61 63 73 20 4c 69 73 70 20 62 75 66 66 65 72 73 2c 0a mode.in.all.Emacs.Lisp.buffers,.
2ac20 6a 75 73 74 20 63 61 6c 6c 20 69 74 73 20 61 75 74 6f 6c 6f 61 64 65 64 20 67 6c 6f 62 61 6c 20 just.call.its.autoloaded.global.
2ac40 63 6f 75 6e 74 65 72 70 61 72 74 20 e2 80 98 67 6c 6f 62 61 6c 2d 64 61 73 68 2d 66 6f 6e 74 69 counterpart....global-dash-fonti
2ac60 66 79 2d 6d 6f 64 65 e2 80 99 2c 0a 65 69 74 68 65 72 20 69 6e 74 65 72 61 63 74 69 76 65 6c 79 fy-mode...,.either.interactively
2ac80 20 6f 72 20 66 72 6f 6d 20 79 6f 75 72 20 e2 80 98 75 73 65 72 2d 69 6e 69 74 2d 66 69 6c 65 e2 .or.from.your....user-init-file.
2aca0 80 99 3a 0a 0a 20 20 20 20 20 28 67 6c 6f 62 61 6c 2d 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d ..:.......(global-dash-fontify-m
2acc0 6f 64 65 29 0a 0a 1f 0a 46 69 6c 65 3a 20 64 61 73 68 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 ode)....File:.dash.info,..Node:.
2ace0 49 6e 66 6f 20 73 79 6d 62 6f 6c 20 6c 6f 6f 6b 75 70 2c 20 20 50 72 65 76 3a 20 46 6f 6e 74 69 Info.symbol.lookup,..Prev:.Fonti
2ad00 66 69 63 61 74 69 6f 6e 20 6f 66 20 73 70 65 63 69 61 6c 20 76 61 72 69 61 62 6c 65 73 2c 20 20 fication.of.special.variables,..
2ad20 55 70 3a 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 0a 0a 31 2e 33 20 49 6e 66 6f 20 73 79 6d 62 6f Up:.Installation..1.3.Info.symbo
2ad40 6c 20 6c 6f 6f 6b 75 70 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a l.lookup.======================.
2ad60 0a 57 68 69 6c 65 20 65 64 69 74 69 6e 67 20 45 6c 69 73 70 20 66 69 6c 65 73 2c 20 79 6f 75 20 .While.editing.Elisp.files,.you.
2ad80 63 61 6e 20 75 73 65 20 e2 80 98 43 2d 68 20 53 e2 80 99 20 28 e2 80 98 69 6e 66 6f 2d 6c 6f 6f can.use....C-h.S....(...info-loo
2ada0 6b 75 70 2d 73 79 6d 62 6f 6c e2 80 99 29 20 74 6f 0a 6c 6f 6f 6b 20 75 70 20 45 6c 69 73 70 20 kup-symbol...).to.look.up.Elisp.
2adc0 73 79 6d 62 6f 6c 73 20 69 6e 20 74 68 65 20 72 65 6c 65 76 61 6e 74 20 49 6e 66 6f 20 6d 61 6e symbols.in.the.relevant.Info.man
2ade0 75 61 6c 73 20 28 2a 6e 6f 74 65 20 28 65 6d 61 63 73 29 49 6e 66 6f 0a 4c 6f 6f 6b 75 70 3a 3a uals.(*note.(emacs)Info.Lookup::
2ae00 29 2e 20 20 54 6f 20 65 6e 61 62 6c 65 20 74 68 65 20 73 61 6d 65 20 66 6f 72 20 44 61 73 68 20 )...To.enable.the.same.for.Dash.
2ae20 73 79 6d 62 6f 6c 73 2c 20 75 73 65 20 74 68 65 20 63 6f 6d 6d 61 6e 64 0a e2 80 98 64 61 73 68 symbols,.use.the.command....dash
2ae40 2d 72 65 67 69 73 74 65 72 2d 69 6e 66 6f 2d 6c 6f 6f 6b 75 70 e2 80 99 2e 20 20 49 74 20 63 61 -register-info-lookup......It.ca
2ae60 6e 20 62 65 20 63 61 6c 6c 65 64 20 64 69 72 65 63 74 6c 79 20 77 68 65 6e 20 6e 65 65 64 65 64 n.be.called.directly.when.needed
2ae80 2c 20 6f 72 0a 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 66 72 6f 6d 20 79 6f 75 72 20 e2 80 98 ,.or.automatically.from.your....
2aea0 75 73 65 72 2d 69 6e 69 74 2d 66 69 6c 65 e2 80 99 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 3a user-init-file......For.example:
2aec0 0a 0a 20 20 20 20 20 28 77 69 74 68 2d 65 76 61 6c 2d 61 66 74 65 72 2d 6c 6f 61 64 20 27 69 6e .......(with-eval-after-load.'in
2aee0 66 6f 2d 6c 6f 6f 6b 0a 20 20 20 20 20 20 20 28 64 61 73 68 2d 72 65 67 69 73 74 65 72 2d 69 6e fo-look........(dash-register-in
2af00 66 6f 2d 6c 6f 6f 6b 75 70 29 29 0a 0a 1f 0a 46 69 6c 65 3a 20 64 61 73 68 2e 69 6e 66 6f 2c 20 fo-lookup))....File:.dash.info,.
2af20 20 4e 6f 64 65 3a 20 46 75 6e 63 74 69 6f 6e 73 2c 20 20 4e 65 78 74 3a 20 44 65 76 65 6c 6f 70 .Node:.Functions,..Next:.Develop
2af40 6d 65 6e 74 2c 20 20 50 72 65 76 3a 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 2c 20 20 55 70 3a 20 ment,..Prev:.Installation,..Up:.
2af60 54 6f 70 0a 0a 32 20 46 75 6e 63 74 69 6f 6e 73 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a 54 68 Top..2.Functions.***********..Th
2af80 69 73 20 63 68 61 70 74 65 72 20 63 6f 6e 74 61 69 6e 73 20 72 65 66 65 72 65 6e 63 65 20 64 6f is.chapter.contains.reference.do
2afa0 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 6f 72 20 74 68 65 20 44 61 73 68 20 41 50 49 0a 28 41 70 cumentation.for.the.Dash.API.(Ap
2afc0 70 6c 69 63 61 74 69 6f 6e 20 50 72 6f 67 72 61 6d 6d 69 6e 67 20 49 6e 74 65 72 66 61 63 65 29 plication.Programming.Interface)
2afe0 2e 20 20 54 68 65 20 6e 61 6d 65 73 20 6f 66 20 61 6c 6c 20 70 75 62 6c 69 63 20 66 75 6e 63 74 ...The.names.of.all.public.funct
2b000 69 6f 6e 73 0a 64 65 66 69 6e 65 64 20 69 6e 20 74 68 65 20 6c 69 62 72 61 72 79 20 61 72 65 20 ions.defined.in.the.library.are.
2b020 70 72 65 66 69 78 65 64 20 77 69 74 68 20 61 20 64 61 73 68 20 63 68 61 72 61 63 74 65 72 20 28 prefixed.with.a.dash.character.(
2b040 e2 80 98 2d e2 80 99 29 2e 0a 0a 20 20 20 54 68 65 20 6c 69 62 72 61 72 79 20 61 6c 73 6f 20 70 ...-...)......The.library.also.p
2b060 72 6f 76 69 64 65 73 20 61 6e 61 70 68 6f 72 69 63 20 6d 61 63 72 6f 20 76 65 72 73 69 6f 6e 73 rovides.anaphoric.macro.versions
2b080 20 6f 66 20 66 75 6e 63 74 69 6f 6e 73 20 77 68 65 72 65 0a 74 68 61 74 20 6d 61 6b 65 73 20 73 .of.functions.where.that.makes.s
2b0a0 65 6e 73 65 2e 20 20 54 68 65 20 6e 61 6d 65 73 20 6f 66 20 74 68 65 73 65 20 6d 61 63 72 6f 73 ense...The.names.of.these.macros
2b0c0 20 61 72 65 20 70 72 65 66 69 78 65 64 20 77 69 74 68 20 74 77 6f 0a 64 61 73 68 65 73 20 28 e2 .are.prefixed.with.two.dashes.(.
2b0e0 80 98 2d 2d e2 80 99 29 20 69 6e 73 74 65 61 64 20 6f 66 20 6f 6e 65 2e 0a 0a 20 20 20 46 6f 72 ..--...).instead.of.one......For
2b100 20 69 6e 73 74 61 6e 63 65 2c 20 77 68 69 6c 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 e2 80 .instance,.while.the.function...
2b120 98 2d 6d 61 70 e2 80 99 20 61 70 70 6c 69 65 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 65 .-map....applies.a.function.to.e
2b140 61 63 68 0a 65 6c 65 6d 65 6e 74 20 6f 66 20 61 20 6c 69 73 74 2c 20 69 74 73 20 61 6e 61 70 68 ach.element.of.a.list,.its.anaph
2b160 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 e2 80 98 2d 2d 6d 61 70 e2 80 99 20 65 76 61 oric.counterpart....--map....eva
2b180 6c 75 61 74 65 73 20 61 20 66 6f 72 6d 0a 77 69 74 68 20 74 68 65 20 6c 6f 63 61 6c 20 76 61 72 luates.a.form.with.the.local.var
2b1a0 69 61 62 6c 65 20 e2 80 98 69 74 e2 80 99 20 74 65 6d 70 6f 72 61 72 69 6c 79 20 62 6f 75 6e 64 iable....it....temporarily.bound
2b1c0 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 6c 69 73 74 0a 65 6c 65 6d 65 6e 74 20 69 6e 73 .to.the.current.list.element.ins
2b1e0 74 65 61 64 2e 0a 0a 20 20 20 20 20 3b 3b 20 4e 6f 72 6d 61 6c 20 76 65 72 73 69 6f 6e 2e 0a 20 tead........;;.Normal.version...
2b200 20 20 20 20 28 2d 6d 61 70 20 28 6c 61 6d 62 64 61 20 28 6e 29 20 28 2a 20 6e 20 6e 29 29 20 27 ....(-map.(lambda.(n).(*.n.n)).'
2b220 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 34 20 39 20 31 (1.2.3.4))..............(1.4.9.1
2b240 36 29 0a 0a 20 20 20 20 20 3b 3b 20 41 6e 61 70 68 6f 72 69 63 20 76 65 72 73 69 6f 6e 2e 0a 20 6).......;;.Anaphoric.version...
2b260 20 20 20 20 28 2d 2d 6d 61 70 20 28 2a 20 69 74 20 69 74 29 20 27 28 31 20 32 20 33 20 34 29 29 ....(--map.(*.it.it).'(1.2.3.4))
2b280 0a 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 34 20 39 20 31 36 29 0a 0a 20 20 20 54 68 65 ..............(1.4.9.16).....The
2b2a0 20 6e 6f 72 6d 61 6c 20 76 65 72 73 69 6f 6e 20 63 61 6e 2c 20 6f 66 20 63 6f 75 72 73 65 2c 20 .normal.version.can,.of.course,.
2b2c0 61 6c 73 6f 20 62 65 20 77 72 69 74 74 65 6e 20 61 73 20 69 6e 20 74 68 65 0a 66 6f 6c 6c 6f 77 also.be.written.as.in.the.follow
2b2e0 69 6e 67 20 65 78 61 6d 70 6c 65 2c 20 77 68 69 63 68 20 64 65 6d 6f 6e 73 74 72 61 74 65 73 20 ing.example,.which.demonstrates.
2b300 74 68 65 20 75 74 69 6c 69 74 79 20 6f 66 20 62 6f 74 68 20 76 65 72 73 69 6f 6e 73 2e 0a 0a 20 the.utility.of.both.versions....
2b320 20 20 20 20 28 64 65 66 75 6e 20 6d 79 2d 73 71 75 61 72 65 20 28 6e 29 0a 20 20 20 20 20 20 20 ....(defun.my-square.(n)........
2b340 22 52 65 74 75 72 6e 20 4e 20 6d 75 6c 74 69 70 6c 69 65 64 20 62 79 20 69 74 73 65 6c 66 2e 22 "Return.N.multiplied.by.itself."
2b360 0a 20 20 20 20 20 20 20 28 2a 20 6e 20 6e 29 29 0a 0a 20 20 20 20 20 28 2d 6d 61 70 20 23 27 6d ........(*.n.n)).......(-map.#'m
2b380 79 2d 73 71 75 61 72 65 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 e2 87 y-square.'(1.2.3.4))............
2b3a0 92 20 28 31 20 34 20 39 20 31 36 29 0a 0a 2a 20 4d 65 6e 75 3a 0a 0a 2a 20 4d 61 70 73 3a 3a 0a ..(1.4.9.16)..*.Menu:..*.Maps::.
2b3c0 2a 20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 3a 3a 0a 2a 20 4c 69 73 74 20 74 6f 20 *.Sublist.selection::.*.List.to.
2b3e0 6c 69 73 74 3a 3a 0a 2a 20 52 65 64 75 63 74 69 6f 6e 73 3a 3a 0a 2a 20 55 6e 66 6f 6c 64 69 6e list::.*.Reductions::.*.Unfoldin
2b400 67 3a 3a 0a 2a 20 50 72 65 64 69 63 61 74 65 73 3a 3a 0a 2a 20 50 61 72 74 69 74 69 6f 6e 69 6e g::.*.Predicates::.*.Partitionin
2b420 67 3a 3a 0a 2a 20 49 6e 64 65 78 69 6e 67 3a 3a 0a 2a 20 53 65 74 20 6f 70 65 72 61 74 69 6f 6e g::.*.Indexing::.*.Set.operation
2b440 73 3a 3a 0a 2a 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 3a 3a 0a 2a 20 s::.*.Other.list.operations::.*.
2b460 54 72 65 65 20 6f 70 65 72 61 74 69 6f 6e 73 3a 3a 0a 2a 20 54 68 72 65 61 64 69 6e 67 20 6d 61 Tree.operations::.*.Threading.ma
2b480 63 72 6f 73 3a 3a 0a 2a 20 42 69 6e 64 69 6e 67 3a 3a 0a 2a 20 53 69 64 65 20 65 66 66 65 63 74 cros::.*.Binding::.*.Side.effect
2b4a0 73 3a 3a 0a 2a 20 44 65 73 74 72 75 63 74 69 76 65 20 6f 70 65 72 61 74 69 6f 6e 73 3a 3a 0a 2a s::.*.Destructive.operations::.*
2b4c0 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 73 3a 3a 0a 0a 1f 0a 46 69 6c 65 3a .Function.combinators::....File:
2b4e0 20 64 61 73 68 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 4d 61 70 73 2c 20 20 4e 65 78 74 3a 20 .dash.info,..Node:.Maps,..Next:.
2b500 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 2c 20 20 55 70 3a 20 46 75 6e 63 74 69 6f 6e Sublist.selection,..Up:.Function
2b520 73 0a 0a 32 2e 31 20 4d 61 70 73 0a 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 46 75 6e 63 74 69 6f 6e 73 20 s..2.1.Maps.========..Functions.
2b540 69 6e 20 74 68 69 73 20 63 61 74 65 67 6f 72 79 20 74 61 6b 65 20 61 20 74 72 61 6e 73 66 6f 72 in.this.category.take.a.transfor
2b560 6d 69 6e 67 20 66 75 6e 63 74 69 6f 6e 2c 20 77 68 69 63 68 20 69 73 20 74 68 65 6e 0a 61 70 70 ming.function,.which.is.then.app
2b580 6c 69 65 64 20 73 65 71 75 65 6e 74 69 61 6c 6c 79 20 74 6f 20 65 61 63 68 20 6f 72 20 73 65 6c lied.sequentially.to.each.or.sel
2b5a0 65 63 74 65 64 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 74 68 65 20 69 6e 70 75 74 20 6c 69 73 74 ected.elements.of.the.input.list
2b5c0 2e 0a 54 68 65 20 72 65 73 75 6c 74 73 20 61 72 65 20 63 6f 6c 6c 65 63 74 65 64 20 69 6e 20 6f ..The.results.are.collected.in.o
2b5e0 72 64 65 72 20 61 6e 64 20 72 65 74 75 72 6e 65 64 20 61 73 20 61 20 6e 65 77 20 6c 69 73 74 2e rder.and.returned.as.a.new.list.
2b600 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 6d 61 70 20 28 66 6e 20 6c 69 73 74 29 0a 20 ...--.Function:.-map.(fn.list)..
2b620 20 20 20 20 41 70 70 6c 79 20 46 4e 20 74 6f 20 65 61 63 68 20 69 74 65 6d 20 69 6e 20 4c 49 53 ....Apply.FN.to.each.item.in.LIS
2b640 54 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 20 6c 69 73 74 20 6f 66 20 72 65 73 75 6c 74 73 T.and.return.the.list.of.results
2b660 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e e2 80 99 73 20 61 6e 61 70 68 6f ........This.function...s.anapho
2b680 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 2d 2d 6d 61 70 e2 80 99 2e 0a ric.counterpart.is....--map.....
2b6a0 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6d 61 70 20 28 6c 61 6d 62 64 61 20 28 6e 75 6d 29 20 28 ...........(-map.(lambda.(num).(
2b6c0 2a 20 6e 75 6d 20 6e 75 6d 29 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 *.num.num)).'(1.2.3.4)).........
2b6e0 20 20 20 20 20 20 e2 87 92 20 28 31 20 34 20 39 20 31 36 29 0a 20 20 20 20 20 20 20 20 20 20 28 ..........(1.4.9.16)...........(
2b700 2d 6d 61 70 20 23 27 31 2b 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 -map.#'1+.'(1.2.3.4))...........
2b720 20 20 20 20 e2 87 92 20 28 32 20 33 20 34 20 35 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 6d ........(2.3.4.5)...........(--m
2b740 61 70 20 28 2a 20 69 74 20 69 74 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 ap.(*.it.it).'(1.2.3.4))........
2b760 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 34 20 39 20 31 36 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 ...........(1.4.9.16)...--.Funct
2b780 69 6f 6e 3a 20 2d 6d 61 70 2d 77 68 65 6e 20 28 70 72 65 64 20 72 65 70 20 6c 69 73 74 29 0a 20 ion:.-map-when.(pred.rep.list)..
2b7a0 20 20 20 20 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 77 68 65 72 65 20 74 68 65 20 ....Return.a.new.list.where.the.
2b7c0 65 6c 65 6d 65 6e 74 73 20 69 6e 20 4c 49 53 54 20 74 68 61 74 20 64 6f 20 6e 6f 74 20 6d 61 74 elements.in.LIST.that.do.not.mat
2b7e0 63 68 20 74 68 65 0a 20 20 20 20 20 50 52 45 44 20 66 75 6e 63 74 69 6f 6e 20 61 72 65 20 75 6e ch.the......PRED.function.are.un
2b800 63 68 61 6e 67 65 64 2c 20 61 6e 64 20 77 68 65 72 65 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 changed,.and.where.the.elements.
2b820 69 6e 20 4c 49 53 54 20 74 68 61 74 20 64 6f 0a 20 20 20 20 20 6d 61 74 63 68 20 74 68 65 20 50 in.LIST.that.do......match.the.P
2b840 52 45 44 20 66 75 6e 63 74 69 6f 6e 20 61 72 65 20 6d 61 70 70 65 64 20 74 68 72 6f 75 67 68 20 RED.function.are.mapped.through.
2b860 74 68 65 20 52 45 50 20 66 75 6e 63 74 69 6f 6e 2e 0a 0a 20 20 20 20 20 41 6c 69 61 73 3a 20 e2 the.REP.function........Alias:..
2b880 80 98 2d 72 65 70 6c 61 63 65 2d 77 68 65 72 65 e2 80 99 0a 0a 20 20 20 20 20 53 65 65 20 61 6c ..-replace-where..........See.al
2b8a0 73 6f 3a 20 e2 80 98 2d 75 70 64 61 74 65 2d 61 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 75 70 64 so:....-update-at....(*note.-upd
2b8c0 61 74 65 2d 61 74 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6d 61 70 2d 77 68 65 6e 20 ate-at::)............(-map-when.
2b8e0 27 65 76 65 6e 3f 20 27 73 71 75 61 72 65 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 'even?.'square.'(1.2.3.4))......
2b900 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 34 20 33 20 31 36 29 0a 20 20 20 20 20 20 20 20 .............(1.4.3.16).........
2b920 20 20 28 2d 2d 6d 61 70 2d 77 68 65 6e 20 28 3e 20 69 74 20 32 29 20 28 2a 20 69 74 20 69 74 29 ..(--map-when.(>.it.2).(*.it.it)
2b940 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 .'(1.2.3.4))...................(
2b960 31 20 32 20 39 20 31 36 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 6d 61 70 2d 77 68 65 6e 20 1.2.9.16)...........(--map-when.
2b980 28 3d 20 69 74 20 32 29 20 31 37 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 (=.it.2).17.'(1.2.3.4)).........
2b9a0 20 20 20 20 20 20 e2 87 92 20 28 31 20 31 37 20 33 20 34 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 ..........(1.17.3.4)...--.Functi
2b9c0 6f 6e 3a 20 2d 6d 61 70 2d 66 69 72 73 74 20 28 70 72 65 64 20 72 65 70 20 6c 69 73 74 29 0a 20 on:.-map-first.(pred.rep.list)..
2b9e0 20 20 20 20 52 65 70 6c 61 63 65 20 66 69 72 73 74 20 69 74 65 6d 20 69 6e 20 4c 49 53 54 20 73 ....Replace.first.item.in.LIST.s
2ba00 61 74 69 73 66 79 69 6e 67 20 50 52 45 44 20 77 69 74 68 20 72 65 73 75 6c 74 20 6f 66 20 52 45 atisfying.PRED.with.result.of.RE
2ba20 50 0a 20 20 20 20 20 63 61 6c 6c 65 64 20 6f 6e 20 74 68 69 73 20 69 74 65 6d 2e 0a 0a 20 20 20 P......called.on.this.item......
2ba40 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 6d 61 70 2d 77 68 65 6e e2 80 99 20 28 2a 6e 6f ..See.also:....-map-when....(*no
2ba60 74 65 20 2d 6d 61 70 2d 77 68 65 6e 3a 3a 29 2c 20 e2 80 98 2d 72 65 70 6c 61 63 65 2d 66 69 72 te.-map-when::),....-replace-fir
2ba80 73 74 e2 80 99 20 28 2a 6e 6f 74 65 0a 20 20 20 20 20 2d 72 65 70 6c 61 63 65 2d 66 69 72 73 74 st....(*note......-replace-first
2baa0 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6d 61 70 2d 66 69 72 73 74 20 27 65 76 65 6e ::)............(-map-first.'even
2bac0 3f 20 27 73 71 75 61 72 65 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 ?.'square.'(1.2.3.4))...........
2bae0 20 20 20 20 e2 87 92 20 28 31 20 34 20 33 20 34 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 6d ........(1.4.3.4)...........(--m
2bb00 61 70 2d 66 69 72 73 74 20 28 3e 20 69 74 20 32 29 20 28 2a 20 69 74 20 69 74 29 20 27 28 31 20 ap-first.(>.it.2).(*.it.it).'(1.
2bb20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 39 2.3.4))...................(1.2.9
2bb40 20 34 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 6d 61 70 2d 66 69 72 73 74 20 28 3d 20 69 74 .4)...........(--map-first.(=.it
2bb60 20 32 29 20 31 37 20 27 28 31 20 32 20 33 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .2).17.'(1.2.3.2))..............
2bb80 20 e2 87 92 20 28 31 20 31 37 20 33 20 32 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d .....(1.17.3.2)...--.Function:.-
2bba0 6d 61 70 2d 6c 61 73 74 20 28 70 72 65 64 20 72 65 70 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 map-last.(pred.rep.list)......Re
2bbc0 70 6c 61 63 65 20 6c 61 73 74 20 69 74 65 6d 20 69 6e 20 4c 49 53 54 20 73 61 74 69 73 66 79 69 place.last.item.in.LIST.satisfyi
2bbe0 6e 67 20 50 52 45 44 20 77 69 74 68 20 72 65 73 75 6c 74 20 6f 66 20 52 45 50 20 63 61 6c 6c 65 ng.PRED.with.result.of.REP.calle
2bc00 64 0a 20 20 20 20 20 6f 6e 20 74 68 69 73 20 69 74 65 6d 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 d......on.this.item........See.a
2bc20 6c 73 6f 3a 20 e2 80 98 2d 6d 61 70 2d 77 68 65 6e e2 80 99 20 28 2a 6e 6f 74 65 20 2d 6d 61 70 lso:....-map-when....(*note.-map
2bc40 2d 77 68 65 6e 3a 3a 29 2c 20 e2 80 98 2d 72 65 70 6c 61 63 65 2d 6c 61 73 74 e2 80 99 20 28 2a -when::),....-replace-last....(*
2bc60 6e 6f 74 65 0a 20 20 20 20 20 2d 72 65 70 6c 61 63 65 2d 6c 61 73 74 3a 3a 29 0a 0a 20 20 20 20 note......-replace-last::)......
2bc80 20 20 20 20 20 20 28 2d 6d 61 70 2d 6c 61 73 74 20 27 65 76 65 6e 3f 20 27 73 71 75 61 72 65 20 ......(-map-last.'even?.'square.
2bca0 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 '(1.2.3.4))...................(1
2bcc0 20 32 20 33 20 31 36 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 6d 61 70 2d 6c 61 73 74 20 28 .2.3.16)...........(--map-last.(
2bce0 3e 20 69 74 20 32 29 20 28 2a 20 69 74 20 69 74 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 >.it.2).(*.it.it).'(1.2.3.4))...
2bd00 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 31 36 29 0a 20 20 20 20 20 ................(1.2.3.16)......
2bd20 20 20 20 20 20 28 2d 2d 6d 61 70 2d 6c 61 73 74 20 28 3d 20 69 74 20 32 29 20 31 37 20 27 28 31 .....(--map-last.(=.it.2).17.'(1
2bd40 20 32 20 33 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 .2.3.2))...................(1.2.
2bd60 33 20 31 37 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 6d 61 70 2d 69 6e 64 65 78 65 3.17)...--.Function:.-map-indexe
2bd80 64 20 28 66 6e 20 6c 69 73 74 29 0a 20 20 20 20 20 41 70 70 6c 79 20 46 4e 20 74 6f 20 65 61 63 d.(fn.list)......Apply.FN.to.eac
2bda0 68 20 69 6e 64 65 78 20 61 6e 64 20 69 74 65 6d 20 69 6e 20 4c 49 53 54 20 61 6e 64 20 72 65 74 h.index.and.item.in.LIST.and.ret
2bdc0 75 72 6e 20 74 68 65 20 6c 69 73 74 20 6f 66 0a 20 20 20 20 20 72 65 73 75 6c 74 73 2e 20 20 54 urn.the.list.of......results...T
2bde0 68 69 73 20 69 73 20 6c 69 6b 65 20 e2 80 98 2d 6d 61 70 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 6d his.is.like....-map....(*note.-m
2be00 61 70 3a 3a 29 2c 20 62 75 74 20 46 4e 20 74 61 6b 65 73 20 74 77 6f 0a 20 20 20 20 20 61 72 67 ap::),.but.FN.takes.two......arg
2be20 75 6d 65 6e 74 73 3a 20 74 68 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 uments:.the.index.of.the.current
2be40 20 65 6c 65 6d 65 6e 74 20 77 69 74 68 69 6e 20 4c 49 53 54 2c 20 61 6e 64 20 74 68 65 0a 20 20 .element.within.LIST,.and.the...
2be60 20 20 20 65 6c 65 6d 65 6e 74 20 69 74 73 65 6c 66 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 ...element.itself........This.fu
2be80 6e 63 74 69 6f 6e e2 80 99 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 nction...s.anaphoric.counterpart
2bea0 20 69 73 20 e2 80 98 2d 2d 6d 61 70 2d 69 6e 64 65 78 65 64 e2 80 99 2e 0a 0a 20 20 20 20 20 46 .is....--map-indexed...........F
2bec0 6f 72 20 61 20 73 69 64 65 2d 65 66 66 65 63 74 69 6e 67 20 76 61 72 69 61 6e 74 2c 20 73 65 65 or.a.side-effecting.variant,.see
2bee0 20 61 6c 73 6f 20 e2 80 98 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 e2 80 99 20 28 2a 6e 6f 74 65 .also....-each-indexed....(*note
2bf00 0a 20 20 20 20 20 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 ......-each-indexed::)..........
2bf20 20 20 20 28 2d 6d 61 70 2d 69 6e 64 65 78 65 64 20 28 6c 61 6d 62 64 61 20 28 69 6e 64 65 78 20 ...(-map-indexed.(lambda.(index.
2bf40 69 74 65 6d 29 20 28 2d 20 69 74 65 6d 20 69 6e 64 65 78 29 29 20 27 28 31 20 32 20 33 20 34 29 item).(-.item.index)).'(1.2.3.4)
2bf60 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 31 20 31 20 31 29 0a 20 20 )...................(1.1.1.1)...
2bf80 20 20 20 20 20 20 20 20 28 2d 2d 6d 61 70 2d 69 6e 64 65 78 65 64 20 28 2d 20 69 74 20 69 74 2d ........(--map-indexed.(-.it.it-
2bfa0 69 6e 64 65 78 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 index).'(1.2.3.4))..............
2bfc0 20 e2 87 92 20 28 31 20 31 20 31 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6d 61 70 2d 69 .....(1.1.1.1)...........(-map-i
2bfe0 6e 64 65 78 65 64 20 23 27 2a 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 ndexed.#'*.'(1.2.3.4))..........
2c000 20 20 20 20 20 e2 87 92 20 28 30 20 32 20 36 20 31 32 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f .........(0.2.6.12)...--.Functio
2c020 6e 3a 20 2d 61 6e 6e 6f 74 61 74 65 20 28 66 6e 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 n:.-annotate.(fn.list)......Retu
2c040 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 63 6f 6e 73 20 63 65 6c 6c 73 20 77 68 65 72 65 20 65 61 rn.a.list.of.cons.cells.where.ea
2c060 63 68 20 63 65 6c 6c 20 69 73 20 46 4e 20 61 70 70 6c 69 65 64 20 74 6f 20 65 61 63 68 0a 20 20 ch.cell.is.FN.applied.to.each...
2c080 20 20 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 20 70 61 69 72 65 64 20 77 69 74 68 20 74 ...element.of.LIST.paired.with.t
2c0a0 68 65 20 75 6e 6d 6f 64 69 66 69 65 64 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 2e 0a 0a he.unmodified.element.of.LIST...
2c0c0 20 20 20 20 20 20 20 20 20 20 28 2d 61 6e 6e 6f 74 61 74 65 20 27 31 2b 20 27 28 31 20 32 20 33 ..........(-annotate.'1+.'(1.2.3
2c0e0 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 32 20 2e 20 31 29 20 28 33 ))...................((2...1).(3
2c100 20 2e 20 32 29 20 28 34 20 2e 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 61 6e 6e 6f 74 ...2).(4...3))...........(-annot
2c120 61 74 65 20 27 6c 65 6e 67 74 68 20 27 28 28 22 68 22 20 22 65 22 20 22 6c 22 20 22 6c 22 20 22 ate.'length.'(("h"."e"."l"."l"."
2c140 6f 22 29 20 28 22 68 65 6c 6c 6f 22 20 22 77 6f 72 6c 64 22 29 29 29 0a 20 20 20 20 20 20 20 20 o").("hello"."world"))).........
2c160 20 20 20 20 20 20 e2 87 92 20 28 28 35 20 22 68 22 20 22 65 22 20 22 6c 22 20 22 6c 22 20 22 6f ..........((5."h"."e"."l"."l"."o
2c180 22 29 20 28 32 20 22 68 65 6c 6c 6f 22 20 22 77 6f 72 6c 64 22 29 29 0a 20 20 20 20 20 20 20 20 ").(2."hello"."world")).........
2c1a0 20 20 28 2d 2d 61 6e 6e 6f 74 61 74 65 20 28 3c 20 31 20 69 74 29 20 27 28 30 20 31 20 32 20 33 ..(--annotate.(<.1.it).'(0.1.2.3
2c1c0 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 6e 69 6c 20 2e 20 30 29 20 ))...................((nil...0).
2c1e0 28 6e 69 6c 20 2e 20 31 29 20 28 74 20 2e 20 32 29 20 28 74 20 2e 20 33 29 29 0a 0a 20 2d 2d 20 (nil...1).(t...2).(t...3))...--.
2c200 46 75 6e 63 74 69 6f 6e 3a 20 2d 73 70 6c 69 63 65 20 28 70 72 65 64 20 66 75 6e 20 6c 69 73 74 Function:.-splice.(pred.fun.list
2c220 29 0a 20 20 20 20 20 53 70 6c 69 63 65 20 6c 69 73 74 73 20 67 65 6e 65 72 61 74 65 64 20 62 79 )......Splice.lists.generated.by
2c240 20 46 55 4e 20 69 6e 20 70 6c 61 63 65 20 6f 66 20 65 6c 65 6d 65 6e 74 73 20 6d 61 74 63 68 69 .FUN.in.place.of.elements.matchi
2c260 6e 67 20 50 52 45 44 20 69 6e 0a 20 20 20 20 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 46 55 4e 20 ng.PRED.in......LIST........FUN.
2c280 74 61 6b 65 73 20 74 68 65 20 65 6c 65 6d 65 6e 74 20 6d 61 74 63 68 69 6e 67 20 50 52 45 44 20 takes.the.element.matching.PRED.
2c2a0 61 73 20 69 6e 70 75 74 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 61 as.input........This.function.ca
2c2c0 6e 20 62 65 20 75 73 65 64 20 61 73 20 72 65 70 6c 61 63 65 6d 65 6e 74 20 66 6f 72 20 e2 80 98 n.be.used.as.replacement.for....
2c2e0 2c 40 e2 80 99 20 69 6e 20 63 61 73 65 20 79 6f 75 20 6e 65 65 64 0a 20 20 20 20 20 74 6f 20 73 ,@....in.case.you.need......to.s
2c300 70 6c 69 63 65 20 73 65 76 65 72 61 6c 20 6c 69 73 74 73 20 61 74 20 6d 61 72 6b 65 64 20 70 6f plice.several.lists.at.marked.po
2c320 73 69 74 69 6f 6e 73 20 28 66 6f 72 20 65 78 61 6d 70 6c 65 20 77 69 74 68 0a 20 20 20 20 20 6b sitions.(for.example.with......k
2c340 65 79 77 6f 72 64 73 29 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 73 70 eywords)........See.also:....-sp
2c360 6c 69 63 65 2d 6c 69 73 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 73 70 6c 69 63 65 2d 6c 69 73 74 lice-list....(*note.-splice-list
2c380 3a 3a 29 2c 20 e2 80 98 2d 69 6e 73 65 72 74 2d 61 74 e2 80 99 0a 20 20 20 20 20 28 2a 6e 6f 74 ::),....-insert-at.........(*not
2c3a0 65 20 2d 69 6e 73 65 72 74 2d 61 74 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 70 6c e.-insert-at::)............(-spl
2c3c0 69 63 65 20 27 65 76 65 6e 3f 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 6c 69 73 74 20 78 20 78 ice.'even?.(lambda.(x).(list.x.x
2c3e0 29 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 )).'(1.2.3.4))..................
2c400 20 28 31 20 32 20 32 20 33 20 34 20 34 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 73 70 6c 69 .(1.2.2.3.4.4)...........(--spli
2c420 63 65 20 27 74 20 28 6c 69 73 74 20 69 74 20 69 74 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 ce.'t.(list.it.it).'(1.2.3.4))..
2c440 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 31 20 32 20 32 20 33 20 33 20 34 20 .................(1.1.2.2.3.3.4.
2c460 34 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 73 70 6c 69 63 65 20 28 65 71 75 61 6c 20 69 74 4)...........(--splice.(equal.it
2c480 20 3a 6d 61 67 69 63 29 20 27 28 28 6c 69 73 74 20 6f 66 29 20 28 6d 61 67 69 63 61 6c 29 20 28 .:magic).'((list.of).(magical).(
2c4a0 63 6f 64 65 29 29 20 27 28 28 66 6f 6f 29 20 28 62 61 72 29 20 3a 6d 61 67 69 63 20 28 62 61 7a code)).'((foo).(bar).:magic.(baz
2c4c0 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 66 6f 6f 29 20 28 62 61 )))...................((foo).(ba
2c4e0 72 29 20 28 6c 69 73 74 20 6f 66 29 20 28 6d 61 67 69 63 61 6c 29 20 28 63 6f 64 65 29 20 28 62 r).(list.of).(magical).(code).(b
2c500 61 7a 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 73 70 6c 69 63 65 2d 6c 69 73 74 az))...--.Function:.-splice-list
2c520 20 28 70 72 65 64 20 6e 65 77 2d 6c 69 73 74 20 6c 69 73 74 29 0a 20 20 20 20 20 53 70 6c 69 63 .(pred.new-list.list)......Splic
2c540 65 20 4e 45 57 2d 4c 49 53 54 20 69 6e 20 70 6c 61 63 65 20 6f 66 20 65 6c 65 6d 65 6e 74 73 20 e.NEW-LIST.in.place.of.elements.
2c560 6d 61 74 63 68 69 6e 67 20 50 52 45 44 20 69 6e 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 53 65 65 matching.PRED.in.LIST........See
2c580 20 61 6c 73 6f 3a 20 e2 80 98 2d 73 70 6c 69 63 65 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 73 70 6c .also:....-splice....(*note.-spl
2c5a0 69 63 65 3a 3a 29 2c 20 e2 80 98 2d 69 6e 73 65 72 74 2d 61 74 e2 80 99 20 28 2a 6e 6f 74 65 0a ice::),....-insert-at....(*note.
2c5c0 20 20 20 20 20 2d 69 6e 73 65 72 74 2d 61 74 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d .....-insert-at::)............(-
2c5e0 73 70 6c 69 63 65 2d 6c 69 73 74 20 27 6b 65 79 77 6f 72 64 70 20 27 28 61 20 62 20 63 29 20 27 splice-list.'keywordp.'(a.b.c).'
2c600 28 31 20 3a 66 6f 6f 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 (1.:foo.2))...................(1
2c620 20 61 20 62 20 63 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 70 6c 69 63 65 2d 6c 69 73 .a.b.c.2)...........(-splice-lis
2c640 74 20 27 6b 65 79 77 6f 72 64 70 20 6e 69 6c 20 27 28 31 20 3a 66 6f 6f 20 32 29 29 0a 20 20 20 t.'keywordp.nil.'(1.:foo.2))....
2c660 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 28 ...............(1.2)...........(
2c680 2d 2d 73 70 6c 69 63 65 2d 6c 69 73 74 20 28 6b 65 79 77 6f 72 64 70 20 69 74 29 20 27 28 61 20 --splice-list.(keywordp.it).'(a.
2c6a0 62 20 63 29 20 27 28 31 20 3a 66 6f 6f 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 b.c).'(1.:foo.2))...............
2c6c0 e2 87 92 20 28 31 20 61 20 62 20 63 20 32 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d ....(1.a.b.c.2)...--.Function:.-
2c6e0 6d 61 70 63 61 74 20 28 66 6e 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 mapcat.(fn.list)......Return.the
2c700 20 63 6f 6e 63 61 74 65 6e 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 .concatenation.of.the.result.of.
2c720 6d 61 70 70 69 6e 67 20 46 4e 20 6f 76 65 72 20 4c 49 53 54 2e 0a 20 20 20 20 20 54 68 75 73 20 mapping.FN.over.LIST.......Thus.
2c740 66 75 6e 63 74 69 6f 6e 20 46 4e 20 73 68 6f 75 6c 64 20 72 65 74 75 72 6e 20 61 20 6c 69 73 74 function.FN.should.return.a.list
2c760 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6d 61 70 63 61 74 20 27 6c 69 73 74 20 27 28 31 20 .............(-mapcat.'list.'(1.
2c780 32 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 29 0a 2.3))...................(1.2.3).
2c7a0 20 20 20 20 20 20 20 20 20 20 28 2d 6d 61 70 63 61 74 20 28 6c 61 6d 62 64 61 20 28 69 74 65 6d ..........(-mapcat.(lambda.(item
2c7c0 29 20 28 6c 69 73 74 20 30 20 69 74 65 6d 29 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 ).(list.0.item)).'(1.2.3))......
2c7e0 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 30 20 31 20 30 20 32 20 30 20 33 29 0a 20 20 20 20 20 .............(0.1.0.2.0.3)......
2c800 20 20 20 20 20 28 2d 2d 6d 61 70 63 61 74 20 28 6c 69 73 74 20 30 20 69 74 29 20 27 28 31 20 32 .....(--mapcat.(list.0.it).'(1.2
2c820 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 30 20 31 20 30 20 32 20 .3))...................(0.1.0.2.
2c840 30 20 33 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 63 6f 70 79 20 28 6c 69 73 74 29 0.3)...--.Function:.-copy.(list)
2c860 0a 20 20 20 20 20 43 72 65 61 74 65 20 61 20 73 68 61 6c 6c 6f 77 20 63 6f 70 79 20 6f 66 20 4c ......Create.a.shallow.copy.of.L
2c880 49 53 54 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 63 6f 70 79 20 27 28 31 20 32 20 33 29 29 IST.............(-copy.'(1.2.3))
2c8a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 29 0a 20 20 20 20 20 ...................(1.2.3)......
2c8c0 20 20 20 20 20 28 6c 65 74 20 28 28 61 20 27 28 31 20 32 20 33 29 29 29 20 28 65 71 20 61 20 28 .....(let.((a.'(1.2.3))).(eq.a.(
2c8e0 2d 63 6f 70 79 20 61 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c -copy.a)))...................nil
2c900 0a 0a 1f 0a 46 69 6c 65 3a 20 64 61 73 68 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 53 75 62 6c ....File:.dash.info,..Node:.Subl
2c920 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 2c 20 20 4e 65 78 74 3a 20 4c 69 73 74 20 74 6f 20 6c 69 ist.selection,..Next:.List.to.li
2c940 73 74 2c 20 20 50 72 65 76 3a 20 4d 61 70 73 2c 20 20 55 70 3a 20 46 75 6e 63 74 69 6f 6e 73 0a st,..Prev:.Maps,..Up:.Functions.
2c960 0a 32 2e 32 20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d .2.2.Sublist.selection.=========
2c980 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 46 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 69 6e ============..Functions.returnin
2c9a0 67 20 61 20 73 75 62 6c 69 73 74 20 6f 66 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 6c 69 73 74 g.a.sublist.of.the.original.list
2c9c0 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 66 69 6c 74 65 72 20 28 70 72 65 64 20 6c ....--.Function:.-filter.(pred.l
2c9e0 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 6f 66 20 74 ist)......Return.a.new.list.of.t
2ca00 68 65 20 69 74 65 6d 73 20 69 6e 20 4c 49 53 54 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 44 20 he.items.in.LIST.for.which.PRED.
2ca20 72 65 74 75 72 6e 73 0a 20 20 20 20 20 6e 6f 6e 2d 6e 69 6c 2e 0a 0a 20 20 20 20 20 41 6c 69 61 returns......non-nil........Alia
2ca40 73 3a 20 e2 80 98 2d 73 65 6c 65 63 74 e2 80 99 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e s:....-select...........This.fun
2ca60 63 74 69 6f 6e e2 80 99 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 ction...s.anaphoric.counterpart.
2ca80 69 73 20 e2 80 98 2d 2d 66 69 6c 74 65 72 e2 80 99 2e 0a 0a 20 20 20 20 20 46 6f 72 20 73 69 6d is....--filter...........For.sim
2caa0 69 6c 61 72 20 6f 70 65 72 61 74 69 6f 6e 73 2c 20 73 65 65 20 61 6c 73 6f 20 e2 80 98 2d 6b 65 ilar.operations,.see.also....-ke
2cac0 65 70 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 6b 65 65 70 3a 3a 29 20 61 6e 64 0a 20 20 20 20 20 e2 ep....(*note.-keep::).and.......
2cae0 80 98 2d 72 65 6d 6f 76 65 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 6d 6f 76 65 3a 3a 29 2e 0a ..-remove....(*note.-remove::)..
2cb00 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 69 6c 74 65 72 20 28 6c 61 6d 62 64 61 20 28 6e 75 6d ...........(-filter.(lambda.(num
2cb20 29 20 28 3d 20 30 20 28 25 20 6e 75 6d 20 32 29 29 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 ).(=.0.(%.num.2))).'(1.2.3.4))..
2cb40 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 32 20 34 29 0a 20 20 20 20 20 20 20 20 20 .................(2.4)..........
2cb60 20 28 2d 66 69 6c 74 65 72 20 23 27 6e 61 74 6e 75 6d 70 20 27 28 2d 32 20 2d 31 20 30 20 31 20 .(-filter.#'natnump.'(-2.-1.0.1.
2cb80 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 30 20 31 20 32 29 0a 20 20 2))...................(0.1.2)...
2cba0 20 20 20 20 20 20 20 20 28 2d 2d 66 69 6c 74 65 72 20 28 3d 20 30 20 28 25 20 69 74 20 32 29 29 ........(--filter.(=.0.(%.it.2))
2cbc0 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 .'(1.2.3.4))...................(
2cbe0 32 20 34 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 72 65 6d 6f 76 65 20 28 70 72 65 2.4)...--.Function:.-remove.(pre
2cc00 64 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 6f d.list)......Return.a.new.list.o
2cc20 66 20 74 68 65 20 69 74 65 6d 73 20 69 6e 20 4c 49 53 54 20 66 6f 72 20 77 68 69 63 68 20 50 52 f.the.items.in.LIST.for.which.PR
2cc40 45 44 20 72 65 74 75 72 6e 73 20 6e 69 6c 2e 0a 0a 20 20 20 20 20 41 6c 69 61 73 3a 20 e2 80 98 ED.returns.nil........Alias:....
2cc60 2d 72 65 6a 65 63 74 e2 80 99 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e e2 -reject...........This.function.
2cc80 80 99 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 ..s.anaphoric.counterpart.is....
2cca0 2d 2d 72 65 6d 6f 76 65 e2 80 99 2e 0a 0a 20 20 20 20 20 46 6f 72 20 73 69 6d 69 6c 61 72 20 6f --remove...........For.similar.o
2ccc0 70 65 72 61 74 69 6f 6e 73 2c 20 73 65 65 20 61 6c 73 6f 20 e2 80 98 2d 6b 65 65 70 e2 80 99 20 perations,.see.also....-keep....
2cce0 28 2a 6e 6f 74 65 20 2d 6b 65 65 70 3a 3a 29 20 61 6e 64 0a 20 20 20 20 20 e2 80 98 2d 66 69 6c (*note.-keep::).and.........-fil
2cd00 74 65 72 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 66 69 6c 74 65 72 3a 3a 29 2e 0a 0a 20 20 20 20 20 ter....(*note.-filter::)........
2cd20 20 20 20 20 20 28 2d 72 65 6d 6f 76 65 20 28 6c 61 6d 62 64 61 20 28 6e 75 6d 29 20 28 3d 20 30 .....(-remove.(lambda.(num).(=.0
2cd40 20 28 25 20 6e 75 6d 20 32 29 29 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 .(%.num.2))).'(1.2.3.4))........
2cd60 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 6d ...........(1.3)...........(-rem
2cd80 6f 76 65 20 23 27 6e 61 74 6e 75 6d 70 20 27 28 2d 32 20 2d 31 20 30 20 31 20 32 29 29 0a 20 20 ove.#'natnump.'(-2.-1.0.1.2))...
2cda0 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 2d 32 20 2d 31 29 0a 20 20 20 20 20 20 20 20 ................(-2.-1).........
2cdc0 20 20 28 2d 2d 72 65 6d 6f 76 65 20 28 3d 20 30 20 28 25 20 69 74 20 32 29 29 20 27 28 31 20 32 ..(--remove.(=.0.(%.it.2)).'(1.2
2cde0 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 33 29 0a 0a .3.4))...................(1.3)..
2ce00 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 20 28 70 72 65 .--.Function:.-remove-first.(pre
2ce20 64 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 6d 6f 76 65 20 74 68 65 20 66 69 72 73 74 20 69 74 d.list)......Remove.the.first.it
2ce40 65 6d 20 66 72 6f 6d 20 4c 49 53 54 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 44 20 72 65 74 75 em.from.LIST.for.which.PRED.retu
2ce60 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 20 20 20 20 20 54 68 69 73 20 69 73 20 61 20 6e 6f 6e 2d rns.non-nil.......This.is.a.non-
2ce80 64 65 73 74 72 75 63 74 69 76 65 20 6f 70 65 72 61 74 69 6f 6e 2c 20 62 75 74 20 6f 6e 6c 79 20 destructive.operation,.but.only.
2cea0 74 68 65 20 66 72 6f 6e 74 20 6f 66 20 4c 49 53 54 0a 20 20 20 20 20 6c 65 61 64 69 6e 67 20 75 the.front.of.LIST......leading.u
2cec0 70 20 74 6f 20 74 68 65 20 72 65 6d 6f 76 65 64 20 69 74 65 6d 20 69 73 20 61 20 63 6f 70 79 3b p.to.the.removed.item.is.a.copy;
2cee0 20 74 68 65 20 72 65 73 74 20 69 73 20 4c 49 53 54 e2 80 99 73 0a 20 20 20 20 20 6f 72 69 67 69 .the.rest.is.LIST...s......origi
2cf00 6e 61 6c 20 74 61 69 6c 2e 20 20 49 66 20 6e 6f 20 69 74 65 6d 20 69 73 20 72 65 6d 6f 76 65 64 nal.tail...If.no.item.is.removed
2cf20 2c 20 74 68 65 6e 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 0a 20 20 20 20 20 63 6f 6d 70 ,.then.the.result.is.a......comp
2cf40 6c 65 74 65 20 63 6f 70 79 2e 0a 0a 20 20 20 20 20 41 6c 69 61 73 3a 20 e2 80 98 2d 72 65 6a 65 lete.copy........Alias:....-reje
2cf60 63 74 2d 66 69 72 73 74 e2 80 99 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e ct-first...........This.function
2cf80 e2 80 99 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 ...s.anaphoric.counterpart.is...
2cfa0 98 2d 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 e2 80 99 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c .--remove-first...........See.al
2cfc0 73 6f 20 e2 80 98 2d 6d 61 70 2d 66 69 72 73 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 6d 61 70 2d so....-map-first....(*note.-map-
2cfe0 66 69 72 73 74 3a 3a 29 2c 20 e2 80 98 2d 72 65 6d 6f 76 65 2d 69 74 65 6d e2 80 99 20 28 2a 6e first::),....-remove-item....(*n
2d000 6f 74 65 0a 20 20 20 20 20 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 3a 3a 29 2c 20 61 6e 64 20 e2 80 ote......-remove-item::),.and...
2d020 98 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 6d 6f 76 65 2d .-remove-last....(*note.-remove-
2d040 6c 61 73 74 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 6d 6f 76 65 2d 66 69 72 last::).............(-remove-fir
2d060 73 74 20 23 27 6e 61 74 6e 75 6d 70 20 27 28 2d 32 20 2d 31 20 30 20 31 20 32 29 29 0a 20 20 20 st.#'natnump.'(-2.-1.0.1.2))....
2d080 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 2d 32 20 2d 31 20 31 20 32 29 0a 20 20 20 20 20 ...............(-2.-1.1.2)......
2d0a0 20 20 20 20 20 28 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 20 23 27 73 74 72 69 6e 67 70 20 27 28 .....(-remove-first.#'stringp.'(
2d0c0 31 20 32 20 22 66 69 72 73 74 22 20 22 73 65 63 6f 6e 64 22 29 29 0a 20 20 20 20 20 20 20 20 20 1.2."first"."second"))..........
2d0e0 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 22 73 65 63 6f 6e 64 22 29 0a 20 20 20 20 20 20 20 20 .........(1.2."second").........
2d100 20 20 28 2d 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 20 28 3e 20 69 74 20 33 29 20 27 28 31 20 32 ..(--remove-first.(>.it.3).'(1.2
2d120 20 33 20 34 20 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 .3.4.5.6))...................(1.
2d140 32 20 33 20 35 20 36 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 72 65 6d 6f 76 65 2d 2.3.5.6)...--.Function:.-remove-
2d160 6c 61 73 74 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 6d 6f 76 65 20 74 68 65 last.(pred.list)......Remove.the
2d180 20 6c 61 73 74 20 69 74 65 6d 20 66 72 6f 6d 20 4c 49 53 54 20 66 6f 72 20 77 68 69 63 68 20 50 .last.item.from.LIST.for.which.P
2d1a0 52 45 44 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2e 20 20 54 68 65 0a 20 20 20 20 20 72 RED.returns.non-nil...The......r
2d1c0 65 73 75 6c 74 20 69 73 20 61 20 63 6f 70 79 20 6f 66 20 4c 49 53 54 20 72 65 67 61 72 64 6c 65 esult.is.a.copy.of.LIST.regardle
2d1e0 73 73 20 6f 66 20 77 68 65 74 68 65 72 20 61 6e 20 65 6c 65 6d 65 6e 74 20 69 73 0a 20 20 20 20 ss.of.whether.an.element.is.....
2d200 20 72 65 6d 6f 76 65 64 2e 0a 0a 20 20 20 20 20 41 6c 69 61 73 3a 20 e2 80 98 2d 72 65 6a 65 63 .removed........Alias:....-rejec
2d220 74 2d 6c 61 73 74 e2 80 99 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e e2 80 t-last...........This.function..
2d240 99 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 2d .s.anaphoric.counterpart.is....-
2d260 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 e2 80 99 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 20 -remove-last...........See.also.
2d280 e2 80 98 2d 6d 61 70 2d 6c 61 73 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 6d 61 70 2d 6c 61 73 74 ...-map-last....(*note.-map-last
2d2a0 3a 3a 29 2c 20 e2 80 98 2d 72 65 6d 6f 76 65 2d 69 74 65 6d e2 80 99 20 28 2a 6e 6f 74 65 0a 20 ::),....-remove-item....(*note..
2d2c0 20 20 20 20 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 3a 3a 29 2c 20 61 6e 64 20 e2 80 98 2d 72 65 6d ....-remove-item::),.and....-rem
2d2e0 6f 76 65 2d 66 69 72 73 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 6d 6f 76 65 2d 66 69 72 73 ove-first....(*note.-remove-firs
2d300 74 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 20 23 t::).............(-remove-last.#
2d320 27 6e 61 74 6e 75 6d 70 20 27 28 31 20 33 20 35 20 34 20 37 20 38 20 31 30 20 2d 31 31 29 29 0a 'natnump.'(1.3.5.4.7.8.10.-11)).
2d340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 33 20 35 20 34 20 37 20 38 20 2d ..................(1.3.5.4.7.8.-
2d360 31 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 20 23 27 73 74 11)...........(-remove-last.#'st
2d380 72 69 6e 67 70 20 27 28 31 20 32 20 22 6c 61 73 74 22 20 22 73 65 63 6f 6e 64 22 29 29 0a 20 20 ringp.'(1.2."last"."second"))...
2d3a0 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 22 6c 61 73 74 22 29 0a 20 20 20 ................(1.2."last")....
2d3c0 20 20 20 20 20 20 20 28 2d 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 20 28 3e 20 69 74 20 33 29 20 27 .......(--remove-last.(>.it.3).'
2d3e0 28 31 20 32 20 33 20 34 20 35 20 36 20 37 20 38 20 39 20 31 30 29 29 0a 20 20 20 20 20 20 20 20 (1.2.3.4.5.6.7.8.9.10)).........
2d400 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 34 20 35 20 36 20 37 20 38 20 39 29 0a 0a 20 ..........(1.2.3.4.5.6.7.8.9)...
2d420 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 20 28 69 74 65 6d 20 --.Function:.-remove-item.(item.
2d440 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 4c 49 53 54 list)......Return.a.copy.of.LIST
2d460 20 77 69 74 68 20 61 6c 6c 20 6f 63 63 75 72 72 65 6e 63 65 73 20 6f 66 20 49 54 45 4d 20 72 65 .with.all.occurrences.of.ITEM.re
2d480 6d 6f 76 65 64 2e 20 20 54 68 65 0a 20 20 20 20 20 63 6f 6d 70 61 72 69 73 6f 6e 20 69 73 20 64 moved...The......comparison.is.d
2d4a0 6f 6e 65 20 77 69 74 68 20 e2 80 98 65 71 75 61 6c e2 80 99 2e 0a 0a 20 20 20 20 20 20 20 20 20 one.with....equal...............
2d4c0 20 28 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 20 33 20 27 28 31 20 32 20 33 20 32 20 33 20 34 20 35 .(-remove-item.3.'(1.2.3.2.3.4.5
2d4e0 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 32 20 34 20 .3))...................(1.2.2.4.
2d500 35 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 20 27 66 6f 6f 20 5)...........(-remove-item.'foo.
2d520 27 28 66 6f 6f 20 62 61 72 20 62 61 7a 20 66 6f 6f 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 '(foo.bar.baz.foo)).............
2d540 20 20 e2 87 92 20 28 62 61 72 20 62 61 7a 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 6d 6f ......(bar.baz)...........(-remo
2d560 76 65 2d 69 74 65 6d 20 22 62 6f 62 22 20 27 28 22 61 6c 69 63 65 22 20 22 62 6f 62 22 20 22 65 ve-item."bob".'("alice"."bob"."e
2d580 76 65 22 20 22 62 6f 62 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 22 ve"."bob"))...................("
2d5a0 61 6c 69 63 65 22 20 22 65 76 65 22 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 6e 6f alice"."eve")...--.Function:.-no
2d5c0 6e 2d 6e 69 6c 20 28 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 n-nil.(list)......Return.a.copy.
2d5e0 6f 66 20 4c 49 53 54 20 77 69 74 68 20 61 6c 6c 20 6e 69 6c 20 69 74 65 6d 73 20 72 65 6d 6f 76 of.LIST.with.all.nil.items.remov
2d600 65 64 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6e 6f 6e 2d 6e 69 6c 20 27 28 6e 69 6c 20 31 ed.............(-non-nil.'(nil.1
2d620 20 6e 69 6c 20 32 20 6e 69 6c 20 6e 69 6c 20 33 20 34 20 6e 69 6c 20 35 20 6e 69 6c 29 29 0a 20 .nil.2.nil.nil.3.4.nil.5.nil))..
2d640 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 34 20 35 29 0a 20 20 20 .................(1.2.3.4.5)....
2d660 20 20 20 20 20 20 20 28 2d 6e 6f 6e 2d 6e 69 6c 20 27 28 28 6e 69 6c 29 29 29 0a 20 20 20 20 20 .......(-non-nil.'((nil)))......
2d680 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 .............((nil))...........(
2d6a0 2d 6e 6f 6e 2d 6e 69 6c 20 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 -non-nil.())...................(
2d6c0 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 73 6c 69 63 65 20 28 6c 69 73 74 20 66 72 )...--.Function:.-slice.(list.fr
2d6e0 6f 6d 20 26 6f 70 74 69 6f 6e 61 6c 20 74 6f 20 73 74 65 70 29 0a 20 20 20 20 20 52 65 74 75 72 om.&optional.to.step)......Retur
2d700 6e 20 63 6f 70 79 20 6f 66 20 4c 49 53 54 2c 20 73 74 61 72 74 69 6e 67 20 66 72 6f 6d 20 69 6e n.copy.of.LIST,.starting.from.in
2d720 64 65 78 20 46 52 4f 4d 20 74 6f 20 69 6e 64 65 78 20 54 4f 2e 0a 0a 20 20 20 20 20 46 52 4f 4d dex.FROM.to.index.TO........FROM
2d740 20 6f 72 20 54 4f 20 6d 61 79 20 62 65 20 6e 65 67 61 74 69 76 65 2e 20 20 54 68 65 73 65 20 76 .or.TO.may.be.negative...These.v
2d760 61 6c 75 65 73 20 61 72 65 20 74 68 65 6e 20 69 6e 74 65 72 70 72 65 74 65 64 0a 20 20 20 20 20 alues.are.then.interpreted......
2d780 6d 6f 64 75 6c 6f 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 6c 69 73 74 2e 0a 0a modulo.the.length.of.the.list...
2d7a0 20 20 20 20 20 49 66 20 53 54 45 50 20 69 73 20 61 20 6e 75 6d 62 65 72 2c 20 6f 6e 6c 79 20 65 .....If.STEP.is.a.number,.only.e
2d7c0 61 63 68 20 53 54 45 50 74 68 20 69 74 65 6d 20 69 6e 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 ach.STEPth.item.in.the.resulting
2d7e0 20 73 65 63 74 69 6f 6e 0a 20 20 20 20 20 69 73 20 72 65 74 75 72 6e 65 64 2e 20 20 44 65 66 61 .section......is.returned...Defa
2d800 75 6c 74 73 20 74 6f 20 31 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 6c 69 63 65 20 27 28 ults.to.1.............(-slice.'(
2d820 31 20 32 20 33 20 34 20 35 29 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 1.2.3.4.5).1)...................
2d840 28 32 20 33 20 34 20 35 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 6c 69 63 65 20 27 28 31 20 (2.3.4.5)...........(-slice.'(1.
2d860 32 20 33 20 34 20 35 29 20 30 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 2.3.4.5).0.3)...................
2d880 28 31 20 32 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 6c 69 63 65 20 27 28 31 20 32 20 (1.2.3)...........(-slice.'(1.2.
2d8a0 33 20 34 20 35 20 36 20 37 20 38 20 39 29 20 31 20 2d 31 20 32 29 0a 20 20 20 20 20 20 20 20 20 3.4.5.6.7.8.9).1.-1.2)..........
2d8c0 20 20 20 20 20 e2 87 92 20 28 32 20 34 20 36 20 38 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e .........(2.4.6.8)...--.Function
2d8e0 3a 20 2d 74 61 6b 65 20 28 6e 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 63 :.-take.(n.list)......Return.a.c
2d900 6f 70 79 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 4e 20 69 74 65 6d 73 20 69 6e 20 4c 49 53 54 opy.of.the.first.N.items.in.LIST
2d920 2e 20 20 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 4c 49 53 54 0a 20 20 20 20 20 69 66 ...Return.a.copy.of.LIST......if
2d940 20 69 74 20 63 6f 6e 74 61 69 6e 73 20 4e 20 69 74 65 6d 73 20 6f 72 20 66 65 77 65 72 2e 20 20 .it.contains.N.items.or.fewer...
2d960 52 65 74 75 72 6e 20 6e 69 6c 20 69 66 20 4e 20 69 73 20 7a 65 72 6f 20 6f 72 20 6c 65 73 73 2e Return.nil.if.N.is.zero.or.less.
2d980 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 74 61 6b 65 2d 6c 61 73 74 e2 80 .......See.also:....-take-last..
2d9a0 99 20 28 2a 6e 6f 74 65 20 2d 74 61 6b 65 2d 6c 61 73 74 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 ..(*note.-take-last::)..........
2d9c0 20 20 20 28 2d 74 61 6b 65 20 33 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 ...(-take.3.'(1.2.3.4.5)).......
2d9e0 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d ............(1.2.3)...........(-
2da00 74 61 6b 65 20 31 37 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 take.17.'(1.2.3.4.5))...........
2da20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 34 20 35 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d ........(1.2.3.4.5)...........(-
2da40 74 61 6b 65 20 30 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 take.0.'(1.2.3.4.5))............
2da60 20 20 20 e2 87 92 20 28 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 74 61 6b 65 2d 6c .......()...--.Function:.-take-l
2da80 61 73 74 20 28 6e 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 ast.(n.list)......Return.a.copy.
2daa0 6f 66 20 74 68 65 20 6c 61 73 74 20 4e 20 69 74 65 6d 73 20 6f 66 20 4c 49 53 54 20 69 6e 20 6f of.the.last.N.items.of.LIST.in.o
2dac0 72 64 65 72 2e 20 20 52 65 74 75 72 6e 20 61 20 63 6f 70 79 0a 20 20 20 20 20 6f 66 20 4c 49 53 rder...Return.a.copy......of.LIS
2dae0 54 20 69 66 20 69 74 20 63 6f 6e 74 61 69 6e 73 20 4e 20 69 74 65 6d 73 20 6f 72 20 66 65 77 65 T.if.it.contains.N.items.or.fewe
2db00 72 2e 20 20 52 65 74 75 72 6e 20 6e 69 6c 20 69 66 20 4e 20 69 73 20 7a 65 72 6f 0a 20 20 20 20 r...Return.nil.if.N.is.zero.....
2db20 20 6f 72 20 6c 65 73 73 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 74 61 .or.less........See.also:....-ta
2db40 6b 65 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 74 61 6b 65 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 ke....(*note.-take::)...........
2db60 20 20 28 2d 74 61 6b 65 2d 6c 61 73 74 20 33 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 ..(-take-last.3.'(1.2.3.4.5))...
2db80 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 33 20 34 20 35 29 0a 20 20 20 20 20 20 20 20 ................(3.4.5).........
2dba0 20 20 28 2d 74 61 6b 65 2d 6c 61 73 74 20 31 37 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 ..(-take-last.17.'(1.2.3.4.5))..
2dbc0 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 34 20 35 29 0a 20 20 20 .................(1.2.3.4.5)....
2dbe0 20 20 20 20 20 20 20 28 2d 74 61 6b 65 2d 6c 61 73 74 20 31 20 27 28 31 20 32 20 33 20 34 20 35 .......(-take-last.1.'(1.2.3.4.5
2dc00 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 35 29 0a 0a 20 2d 2d 20 46 75 ))...................(5)...--.Fu
2dc20 6e 63 74 69 6f 6e 3a 20 2d 64 72 6f 70 20 28 6e 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 nction:.-drop.(n.list)......Retu
2dc40 72 6e 20 74 68 65 20 74 61 69 6c 20 28 6e 6f 74 20 61 20 63 6f 70 79 29 20 6f 66 20 4c 49 53 54 rn.the.tail.(not.a.copy).of.LIST
2dc60 20 77 69 74 68 6f 75 74 20 74 68 65 20 66 69 72 73 74 20 4e 20 69 74 65 6d 73 2e 0a 20 20 20 20 .without.the.first.N.items......
2dc80 20 52 65 74 75 72 6e 20 6e 69 6c 20 69 66 20 4c 49 53 54 20 63 6f 6e 74 61 69 6e 73 20 4e 20 69 .Return.nil.if.LIST.contains.N.i
2dca0 74 65 6d 73 20 6f 72 20 66 65 77 65 72 2e 20 20 52 65 74 75 72 6e 20 4c 49 53 54 20 69 66 20 4e tems.or.fewer...Return.LIST.if.N
2dcc0 20 69 73 0a 20 20 20 20 20 7a 65 72 6f 20 6f 72 20 6c 65 73 73 2e 0a 0a 20 20 20 20 20 46 6f 72 .is......zero.or.less........For
2dce0 20 61 6e 6f 74 68 65 72 20 76 61 72 69 61 6e 74 2c 20 73 65 65 20 61 6c 73 6f 20 e2 80 98 2d 64 .another.variant,.see.also....-d
2dd00 72 6f 70 2d 6c 61 73 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 64 72 6f 70 2d 6c 61 73 74 3a 3a 29 rop-last....(*note.-drop-last::)
2dd20 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 64 72 6f 70 20 33 20 27 28 31 20 32 20 33 20 34 20 .............(-drop.3.'(1.2.3.4.
2dd40 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 34 20 35 29 0a 20 20 20 20 5))...................(4.5).....
2dd60 20 20 20 20 20 20 28 2d 64 72 6f 70 20 31 37 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 ......(-drop.17.'(1.2.3.4.5))...
2dd80 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 64 ................()...........(-d
2dda0 72 6f 70 20 30 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 rop.0.'(1.2.3.4.5)).............
2ddc0 20 20 e2 87 92 20 28 31 20 32 20 33 20 34 20 35 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a ......(1.2.3.4.5)...--.Function:
2dde0 20 2d 64 72 6f 70 2d 6c 61 73 74 20 28 6e 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e .-drop-last.(n.list)......Return
2de00 20 61 20 63 6f 70 79 20 6f 66 20 4c 49 53 54 20 77 69 74 68 6f 75 74 20 69 74 73 20 6c 61 73 74 .a.copy.of.LIST.without.its.last
2de20 20 4e 20 69 74 65 6d 73 2e 20 20 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 0a 20 20 20 20 .N.items...Return.a.copy.of.....
2de40 20 4c 49 53 54 20 69 66 20 4e 20 69 73 20 7a 65 72 6f 20 6f 72 20 6c 65 73 73 2e 20 20 52 65 74 .LIST.if.N.is.zero.or.less...Ret
2de60 75 72 6e 20 6e 69 6c 20 69 66 20 4c 49 53 54 20 63 6f 6e 74 61 69 6e 73 20 4e 20 69 74 65 6d 73 urn.nil.if.LIST.contains.N.items
2de80 20 6f 72 0a 20 20 20 20 20 66 65 77 65 72 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 .or......fewer........See.also:.
2dea0 e2 80 98 2d 64 72 6f 70 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 64 72 6f 70 3a 3a 29 2e 0a 0a 20 20 ...-drop....(*note.-drop::).....
2dec0 20 20 20 20 20 20 20 20 28 2d 64 72 6f 70 2d 6c 61 73 74 20 33 20 27 28 31 20 32 20 33 20 34 20 ........(-drop-last.3.'(1.2.3.4.
2dee0 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 29 0a 20 20 20 20 5))...................(1.2).....
2df00 20 20 20 20 20 20 28 2d 64 72 6f 70 2d 6c 61 73 74 20 31 37 20 27 28 31 20 32 20 33 20 34 20 35 ......(-drop-last.17.'(1.2.3.4.5
2df20 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 29 0a 20 20 20 20 20 20 20 20 ))...................().........
2df40 20 20 28 2d 64 72 6f 70 2d 6c 61 73 74 20 30 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 ..(-drop-last.0.'(1.2.3.4.5))...
2df60 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 34 20 35 29 0a 0a 20 2d 2d ................(1.2.3.4.5)...--
2df80 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 74 61 6b 65 2d 77 68 69 6c 65 20 28 70 72 65 64 20 6c 69 73 .Function:.-take-while.(pred.lis
2dfa0 74 29 0a 20 20 20 20 20 54 61 6b 65 20 73 75 63 63 65 73 73 69 76 65 20 69 74 65 6d 73 20 66 72 t)......Take.successive.items.fr
2dfc0 6f 6d 20 4c 49 53 54 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 44 20 72 65 74 75 72 6e 73 20 6e om.LIST.for.which.PRED.returns.n
2dfe0 6f 6e 2d 6e 69 6c 2e 0a 20 20 20 20 20 50 52 45 44 20 69 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 on-nil.......PRED.is.a.function.
2e000 6f 66 20 6f 6e 65 20 61 72 67 75 6d 65 6e 74 2e 20 20 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c of.one.argument...Return.a.new.l
2e020 69 73 74 20 6f 66 20 74 68 65 0a 20 20 20 20 20 73 75 63 63 65 73 73 69 76 65 20 65 6c 65 6d 65 ist.of.the......successive.eleme
2e040 6e 74 73 20 66 72 6f 6d 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 4c 49 53 54 20 66 6f 72 20 77 nts.from.the.start.of.LIST.for.w
2e060 68 69 63 68 20 50 52 45 44 20 72 65 74 75 72 6e 73 0a 20 20 20 20 20 6e 6f 6e 2d 6e 69 6c 2e 0a hich.PRED.returns......non-nil..
2e080 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e e2 80 99 73 20 61 6e 61 70 68 6f 72 69 ......This.function...s.anaphori
2e0a0 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 2d 2d 74 61 6b 65 2d 77 68 69 6c 65 c.counterpart.is....--take-while
2e0c0 e2 80 99 2e 0a 0a 20 20 20 20 20 46 6f 72 20 61 6e 6f 74 68 65 72 20 76 61 72 69 61 6e 74 2c 20 ...........For.another.variant,.
2e0e0 73 65 65 20 61 6c 73 6f 20 e2 80 98 2d 64 72 6f 70 2d 77 68 69 6c 65 e2 80 99 20 28 2a 6e 6f 74 see.also....-drop-while....(*not
2e100 65 20 2d 64 72 6f 70 2d 77 68 69 6c 65 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 e.-drop-while::).............(-t
2e120 61 6b 65 2d 77 68 69 6c 65 20 23 27 65 76 65 6e 3f 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 ake-while.#'even?.'(1.2.3.4))...
2e140 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 ................()...........(-t
2e160 61 6b 65 2d 77 68 69 6c 65 20 23 27 65 76 65 6e 3f 20 27 28 32 20 34 20 35 20 36 29 29 0a 20 20 ake-while.#'even?.'(2.4.5.6))...
2e180 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 32 20 34 29 0a 20 20 20 20 20 20 20 20 20 20 ................(2.4)...........
2e1a0 28 2d 2d 74 61 6b 65 2d 77 68 69 6c 65 20 28 3c 20 69 74 20 34 29 20 27 28 31 20 32 20 33 20 34 (--take-while.(<.it.4).'(1.2.3.4
2e1c0 20 33 20 32 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 .3.2.1))...................(1.2.
2e1e0 33 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 64 72 6f 70 2d 77 68 69 6c 65 20 28 70 3)...--.Function:.-drop-while.(p
2e200 72 65 64 20 6c 69 73 74 29 0a 20 20 20 20 20 44 72 6f 70 20 73 75 63 63 65 73 73 69 76 65 20 69 red.list)......Drop.successive.i
2e220 74 65 6d 73 20 66 72 6f 6d 20 4c 49 53 54 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 44 20 72 65 tems.from.LIST.for.which.PRED.re
2e240 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 20 20 20 20 20 50 52 45 44 20 69 73 20 61 20 66 75 turns.non-nil.......PRED.is.a.fu
2e260 6e 63 74 69 6f 6e 20 6f 66 20 6f 6e 65 20 61 72 67 75 6d 65 6e 74 2e 20 20 52 65 74 75 72 6e 20 nction.of.one.argument...Return.
2e280 74 68 65 20 74 61 69 6c 20 28 6e 6f 74 20 61 20 63 6f 70 79 29 0a 20 20 20 20 20 6f 66 20 4c 49 the.tail.(not.a.copy)......of.LI
2e2a0 53 54 20 73 74 61 72 74 69 6e 67 20 66 72 6f 6d 20 69 74 73 20 66 69 72 73 74 20 65 6c 65 6d 65 ST.starting.from.its.first.eleme
2e2c0 6e 74 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 44 20 72 65 74 75 72 6e 73 20 6e 69 6c 2e 0a 0a nt.for.which.PRED.returns.nil...
2e2e0 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e e2 80 99 73 20 61 6e 61 70 68 6f 72 69 63 .....This.function...s.anaphoric
2e300 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 2d 2d 64 72 6f 70 2d 77 68 69 6c 65 e2 .counterpart.is....--drop-while.
2e320 80 99 2e 0a 0a 20 20 20 20 20 46 6f 72 20 61 6e 6f 74 68 65 72 20 76 61 72 69 61 6e 74 2c 20 73 ..........For.another.variant,.s
2e340 65 65 20 61 6c 73 6f 20 e2 80 98 2d 74 61 6b 65 2d 77 68 69 6c 65 e2 80 99 20 28 2a 6e 6f 74 65 ee.also....-take-while....(*note
2e360 20 2d 74 61 6b 65 2d 77 68 69 6c 65 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 64 72 .-take-while::).............(-dr
2e380 6f 70 2d 77 68 69 6c 65 20 23 27 65 76 65 6e 3f 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 op-while.#'even?.'(1.2.3.4))....
2e3a0 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 34 29 0a 20 20 20 20 20 20 20 ...............(1.2.3.4)........
2e3c0 20 20 20 28 2d 64 72 6f 70 2d 77 68 69 6c 65 20 23 27 65 76 65 6e 3f 20 27 28 32 20 34 20 35 20 ...(-drop-while.#'even?.'(2.4.5.
2e3e0 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 35 20 36 29 0a 20 20 20 20 6))...................(5.6).....
2e400 20 20 20 20 20 20 28 2d 2d 64 72 6f 70 2d 77 68 69 6c 65 20 28 3c 20 69 74 20 34 29 20 27 28 31 ......(--drop-while.(<.it.4).'(1
2e420 20 32 20 33 20 34 20 33 20 32 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 .2.3.4.3.2.1))..................
2e440 20 28 34 20 33 20 32 20 31 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 73 65 6c 65 63 .(4.3.2.1)...--.Function:.-selec
2e460 74 2d 62 79 2d 69 6e 64 69 63 65 73 20 28 69 6e 64 69 63 65 73 20 6c 69 73 74 29 0a 20 20 20 20 t-by-indices.(indices.list).....
2e480 20 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 77 68 6f 73 65 20 65 6c 65 6d 65 6e 74 73 20 61 72 .Return.a.list.whose.elements.ar
2e4a0 65 20 65 6c 65 6d 65 6e 74 73 20 66 72 6f 6d 20 4c 49 53 54 20 73 65 6c 65 63 74 65 64 20 61 73 e.elements.from.LIST.selected.as
2e4c0 0a 20 20 20 20 20 e2 80 98 28 6e 74 68 20 69 20 6c 69 73 74 29 e2 80 98 20 66 6f 72 20 61 6c 6c .........(nth.i.list)....for.all
2e4e0 20 69 20 66 72 6f 6d 20 49 4e 44 49 43 45 53 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 65 .i.from.INDICES.............(-se
2e500 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 20 27 28 34 20 31 30 20 32 20 33 20 36 29 20 27 28 lect-by-indices.'(4.10.2.3.6).'(
2e520 22 76 22 20 22 65 22 20 22 6c 22 20 22 6f 22 20 22 63 22 20 22 69 22 20 22 72 22 20 22 61 22 20 "v"."e"."l"."o"."c"."i"."r"."a".
2e540 22 70 22 20 22 74 22 20 22 6f 22 20 22 72 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 "p"."t"."o"."r"))...............
2e560 e2 87 92 20 28 22 63 22 20 22 6f 22 20 22 6c 22 20 22 6f 22 20 22 72 22 29 0a 20 20 20 20 20 20 ....("c"."o"."l"."o"."r").......
2e580 20 20 20 20 28 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 20 27 28 32 20 31 20 30 29 ....(-select-by-indices.'(2.1.0)
2e5a0 20 27 28 22 61 22 20 22 62 22 20 22 63 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 .'("a"."b"."c"))................
2e5c0 87 92 20 28 22 63 22 20 22 62 22 20 22 61 22 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 65 6c ...("c"."b"."a")...........(-sel
2e5e0 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 20 27 28 30 20 31 20 32 20 30 20 31 20 33 20 33 20 31 ect-by-indices.'(0.1.2.0.1.3.3.1
2e600 29 20 27 28 22 66 22 20 22 61 22 20 22 72 22 20 22 6c 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 ).'("f"."a"."r"."l"))...........
2e620 20 20 20 20 e2 87 92 20 28 22 66 22 20 22 61 22 20 22 72 22 20 22 66 22 20 22 61 22 20 22 6c 22 ........("f"."a"."r"."f"."a"."l"
2e640 20 22 6c 22 20 22 61 22 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 73 65 6c 65 63 74 ."l"."a")...--.Function:.-select
2e660 2d 63 6f 6c 75 6d 6e 73 20 28 63 6f 6c 75 6d 6e 73 20 74 61 62 6c 65 29 0a 20 20 20 20 20 53 65 -columns.(columns.table)......Se
2e680 6c 65 63 74 20 43 4f 4c 55 4d 4e 53 20 66 72 6f 6d 20 54 41 42 4c 45 2e 0a 0a 20 20 20 20 20 54 lect.COLUMNS.from.TABLE........T
2e6a0 41 42 4c 45 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 6c 69 73 74 73 20 77 68 65 72 65 20 65 61 ABLE.is.a.list.of.lists.where.ea
2e6c0 63 68 20 65 6c 65 6d 65 6e 74 20 72 65 70 72 65 73 65 6e 74 73 20 6f 6e 65 20 72 6f 77 2e 20 20 ch.element.represents.one.row...
2e6e0 49 74 0a 20 20 20 20 20 69 73 20 61 73 73 75 6d 65 64 20 65 61 63 68 20 72 6f 77 20 68 61 73 20 It......is.assumed.each.row.has.
2e700 74 68 65 20 73 61 6d 65 20 6c 65 6e 67 74 68 2e 0a 0a 20 20 20 20 20 45 61 63 68 20 72 6f 77 20 the.same.length........Each.row.
2e720 69 73 20 74 72 61 6e 73 66 6f 72 6d 65 64 20 73 75 63 68 20 74 68 61 74 20 6f 6e 6c 79 20 74 68 is.transformed.such.that.only.th
2e740 65 20 73 70 65 63 69 66 69 65 64 20 43 4f 4c 55 4d 4e 53 20 61 72 65 0a 20 20 20 20 20 73 65 6c e.specified.COLUMNS.are......sel
2e760 65 63 74 65 64 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 73 65 6c 65 63 ected........See.also:....-selec
2e780 74 2d 63 6f 6c 75 6d 6e e2 80 99 20 28 2a 6e 6f 74 65 20 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d t-column....(*note.-select-colum
2e7a0 6e 3a 3a 29 2c 0a 20 20 20 20 20 e2 80 98 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 n::),.........-select-by-indices
2e7c0 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 3a 3a 29 ....(*note.-select-by-indices::)
2e7e0 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 73 20 27 28 30 ............(-select-columns.'(0
2e800 20 32 29 20 27 28 28 31 20 32 20 33 29 20 28 61 20 62 20 63 29 20 28 3a 61 20 3a 62 20 3a 63 29 .2).'((1.2.3).(a.b.c).(:a.:b.:c)
2e820 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 33 29 20 28 61 20 63 ))...................((1.3).(a.c
2e840 29 20 28 3a 61 20 3a 63 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 65 6c 65 63 74 2d 63 6f ).(:a.:c))...........(-select-co
2e860 6c 75 6d 6e 73 20 27 28 31 29 20 27 28 28 31 20 32 20 33 29 20 28 61 20 62 20 63 29 20 28 3a 61 lumns.'(1).'((1.2.3).(a.b.c).(:a
2e880 20 3a 62 20 3a 63 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 32 29 .:b.:c)))...................((2)
2e8a0 20 28 62 29 20 28 3a 62 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 65 6c 65 63 74 2d 63 6f .(b).(:b))...........(-select-co
2e8c0 6c 75 6d 6e 73 20 6e 69 6c 20 27 28 28 31 20 32 20 33 29 20 28 61 20 62 20 63 29 20 28 3a 61 20 lumns.nil.'((1.2.3).(a.b.c).(:a.
2e8e0 3a 62 20 3a 63 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 6e 69 6c 20 :b.:c)))...................(nil.
2e900 6e 69 6c 20 6e 69 6c 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 73 65 6c 65 63 74 2d nil.nil)...--.Function:.-select-
2e920 63 6f 6c 75 6d 6e 20 28 63 6f 6c 75 6d 6e 20 74 61 62 6c 65 29 0a 20 20 20 20 20 53 65 6c 65 63 column.(column.table)......Selec
2e940 74 20 43 4f 4c 55 4d 4e 20 66 72 6f 6d 20 54 41 42 4c 45 2e 0a 0a 20 20 20 20 20 54 41 42 4c 45 t.COLUMN.from.TABLE........TABLE
2e960 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 6c 69 73 74 73 20 77 68 65 72 65 20 65 61 63 68 20 65 .is.a.list.of.lists.where.each.e
2e980 6c 65 6d 65 6e 74 20 72 65 70 72 65 73 65 6e 74 73 20 6f 6e 65 20 72 6f 77 2e 20 20 49 74 0a 20 lement.represents.one.row...It..
2e9a0 20 20 20 20 69 73 20 61 73 73 75 6d 65 64 20 65 61 63 68 20 72 6f 77 20 68 61 73 20 74 68 65 20 ....is.assumed.each.row.has.the.
2e9c0 73 61 6d 65 20 6c 65 6e 67 74 68 2e 0a 0a 20 20 20 20 20 54 68 65 20 73 69 6e 67 6c 65 20 73 65 same.length........The.single.se
2e9e0 6c 65 63 74 65 64 20 63 6f 6c 75 6d 6e 20 69 73 20 72 65 74 75 72 6e 65 64 20 61 73 20 61 20 6c lected.column.is.returned.as.a.l
2ea00 69 73 74 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 73 65 6c 65 63 74 2d ist........See.also:....-select-
2ea20 63 6f 6c 75 6d 6e 73 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e columns....(*note.-select-column
2ea40 73 3a 3a 29 2c 0a 20 20 20 20 20 e2 80 98 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 s::),.........-select-by-indices
2ea60 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 3a 3a 29 ....(*note.-select-by-indices::)
2ea80 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 20 31 20 27 28 ............(-select-column.1.'(
2eaa0 28 31 20 32 20 33 29 20 28 61 20 62 20 63 29 20 28 3a 61 20 3a 62 20 3a 63 29 29 29 0a 20 20 20 (1.2.3).(a.b.c).(:a.:b.:c)))....
2eac0 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 32 20 62 20 3a 62 29 0a 0a 1f 0a 46 69 6c 65 3a ...............(2.b.:b)....File:
2eae0 20 64 61 73 68 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 4c 69 73 74 20 74 6f 20 6c 69 73 74 2c .dash.info,..Node:.List.to.list,
2eb00 20 20 4e 65 78 74 3a 20 52 65 64 75 63 74 69 6f 6e 73 2c 20 20 50 72 65 76 3a 20 53 75 62 6c 69 ..Next:.Reductions,..Prev:.Subli
2eb20 73 74 20 73 65 6c 65 63 74 69 6f 6e 2c 20 20 55 70 3a 20 46 75 6e 63 74 69 6f 6e 73 0a 0a 32 2e st.selection,..Up:.Functions..2.
2eb40 33 20 4c 69 73 74 20 74 6f 20 6c 69 73 74 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 3.List.to.list.================.
2eb60 0a 46 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 69 6e 67 20 61 20 6d 6f 64 69 66 69 65 64 20 .Functions.returning.a.modified.
2eb80 63 6f 70 79 20 6f 66 20 74 68 65 20 69 6e 70 75 74 20 6c 69 73 74 2e 0a 0a 20 2d 2d 20 46 75 6e copy.of.the.input.list....--.Fun
2eba0 63 74 69 6f 6e 3a 20 2d 6b 65 65 70 20 28 66 6e 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 ction:.-keep.(fn.list)......Retu
2ebc0 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 6f 66 20 74 68 65 20 6e 6f 6e 2d 6e 69 6c 20 72 65 73 rn.a.new.list.of.the.non-nil.res
2ebe0 75 6c 74 73 20 6f 66 20 61 70 70 6c 79 69 6e 67 20 46 4e 20 74 6f 20 65 61 63 68 0a 20 20 20 20 ults.of.applying.FN.to.each.....
2ec00 20 69 74 65 6d 20 69 6e 20 4c 49 53 54 2e 20 20 4c 69 6b 65 20 e2 80 98 2d 66 69 6c 74 65 72 e2 .item.in.LIST...Like....-filter.
2ec20 80 99 20 28 2a 6e 6f 74 65 20 2d 66 69 6c 74 65 72 3a 3a 29 2c 20 62 75 74 20 72 65 74 75 72 6e ...(*note.-filter::),.but.return
2ec40 73 20 74 68 65 0a 20 20 20 20 20 6e 6f 6e 2d 6e 69 6c 20 72 65 73 75 6c 74 73 20 6f 66 20 46 4e s.the......non-nil.results.of.FN
2ec60 20 69 6e 73 74 65 61 64 20 6f 66 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 65 6c .instead.of.the.corresponding.el
2ec80 65 6d 65 6e 74 73 20 6f 66 0a 20 20 20 20 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 49 74 73 20 61 ements.of......LIST........Its.a
2eca0 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 2d 2d 6b 65 65 naphoric.counterpart.is....--kee
2ecc0 70 e2 80 99 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6b 65 65 70 20 23 27 63 64 72 20 27 28 p................(-keep.#'cdr.'(
2ece0 28 31 20 32 20 33 29 20 28 34 20 35 29 20 28 36 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 (1.2.3).(4.5).(6))).............
2ed00 20 20 e2 87 92 20 28 28 32 20 33 29 20 28 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6b 65 ......((2.3).(5))...........(-ke
2ed20 65 70 20 28 6c 61 6d 62 64 61 20 28 6e 29 20 28 61 6e 64 20 28 3e 20 6e 20 33 29 20 28 2a 20 31 ep.(lambda.(n).(and.(>.n.3).(*.1
2ed40 30 20 6e 29 29 29 20 27 28 31 20 32 20 33 20 34 20 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 0.n))).'(1.2.3.4.5.6))..........
2ed60 20 20 20 20 20 e2 87 92 20 28 34 30 20 35 30 20 36 30 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d .........(40.50.60)...........(-
2ed80 2d 6b 65 65 70 20 28 61 6e 64 20 28 3e 20 69 74 20 33 29 20 28 2a 20 31 30 20 69 74 29 29 20 27 -keep.(and.(>.it.3).(*.10.it)).'
2eda0 28 31 20 32 20 33 20 34 20 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 (1.2.3.4.5.6))..................
2edc0 20 28 34 30 20 35 30 20 36 30 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 63 6f 6e 63 .(40.50.60)...--.Function:.-conc
2ede0 61 74 20 28 26 72 65 73 74 20 6c 69 73 74 73 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 6e at.(&rest.lists)......Return.a.n
2ee00 65 77 20 6c 69 73 74 20 77 69 74 68 20 74 68 65 20 63 6f 6e 63 61 74 65 6e 61 74 69 6f 6e 20 6f ew.list.with.the.concatenation.o
2ee20 66 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 69 6e 20 74 68 65 0a 20 20 20 20 20 73 75 70 70 6c f.the.elements.in.the......suppl
2ee40 69 65 64 20 4c 49 53 54 53 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 63 6f 6e 63 61 74 20 27 ied.LISTS.............(-concat.'
2ee60 28 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 29 0a 20 20 20 20 20 (1))...................(1)......
2ee80 20 20 20 20 20 28 2d 63 6f 6e 63 61 74 20 27 28 31 29 20 27 28 32 29 29 0a 20 20 20 20 20 20 20 .....(-concat.'(1).'(2))........
2eea0 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 63 6f 6e ...........(1.2)...........(-con
2eec0 63 61 74 20 27 28 31 29 20 27 28 32 20 33 29 20 27 28 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 cat.'(1).'(2.3).'(4))...........
2eee0 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 34 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a ........(1.2.3.4)...--.Function:
2ef00 20 2d 66 6c 61 74 74 65 6e 20 28 6c 29 0a 20 20 20 20 20 54 61 6b 65 20 61 20 6e 65 73 74 65 64 .-flatten.(l)......Take.a.nested
2ef20 20 6c 69 73 74 20 4c 20 61 6e 64 20 72 65 74 75 72 6e 20 69 74 73 20 63 6f 6e 74 65 6e 74 73 20 .list.L.and.return.its.contents.
2ef40 61 73 20 61 20 73 69 6e 67 6c 65 2c 20 66 6c 61 74 0a 20 20 20 20 20 6c 69 73 74 2e 0a 0a 20 20 as.a.single,.flat......list.....
2ef60 20 20 20 4e 6f 74 65 20 74 68 61 74 20 62 65 63 61 75 73 65 20 e2 80 98 6e 69 6c e2 80 99 20 72 ...Note.that.because....nil....r
2ef80 65 70 72 65 73 65 6e 74 73 20 61 20 6c 69 73 74 20 6f 66 20 7a 65 72 6f 20 65 6c 65 6d 65 6e 74 epresents.a.list.of.zero.element
2efa0 73 20 28 61 6e 0a 20 20 20 20 20 65 6d 70 74 79 20 6c 69 73 74 29 2c 20 61 6e 79 20 6d 65 6e 74 s.(an......empty.list),.any.ment
2efc0 69 6f 6e 20 6f 66 20 6e 69 6c 20 69 6e 20 4c 20 77 69 6c 6c 20 64 69 73 61 70 70 65 61 72 20 61 ion.of.nil.in.L.will.disappear.a
2efe0 66 74 65 72 0a 20 20 20 20 20 66 6c 61 74 74 65 6e 69 6e 67 2e 20 20 49 66 20 79 6f 75 20 6e 65 fter......flattening...If.you.ne
2f000 65 64 20 74 6f 20 70 72 65 73 65 72 76 65 20 6e 69 6c 73 2c 20 63 6f 6e 73 69 64 65 72 20 e2 80 ed.to.preserve.nils,.consider...
2f020 98 2d 66 6c 61 74 74 65 6e 2d 6e e2 80 99 0a 20 20 20 20 20 28 2a 6e 6f 74 65 20 2d 66 6c 61 74 .-flatten-n.........(*note.-flat
2f040 74 65 6e 2d 6e 3a 3a 29 20 6f 72 20 6d 61 70 20 74 68 65 6d 20 74 6f 20 73 6f 6d 65 20 75 6e 69 ten-n::).or.map.them.to.some.uni
2f060 71 75 65 20 73 79 6d 62 6f 6c 20 61 6e 64 20 74 68 65 6e 20 6d 61 70 0a 20 20 20 20 20 74 68 65 que.symbol.and.then.map......the
2f080 6d 20 62 61 63 6b 2e 0a 0a 20 20 20 20 20 43 6f 6e 73 65 73 20 6f 66 20 74 77 6f 20 61 74 6f 6d m.back........Conses.of.two.atom
2f0a0 73 20 61 72 65 20 63 6f 6e 73 69 64 65 72 65 64 20 22 74 65 72 6d 69 6e 61 6c 73 22 2c 20 74 68 s.are.considered."terminals",.th
2f0c0 61 74 20 69 73 2c 20 74 68 65 79 0a 20 20 20 20 20 61 72 65 6e e2 80 99 74 20 66 6c 61 74 74 65 at.is,.they......aren...t.flatte
2f0e0 6e 65 64 20 66 75 72 74 68 65 72 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 ned.further........See.also:....
2f100 2d 66 6c 61 74 74 65 6e 2d 6e e2 80 99 20 28 2a 6e 6f 74 65 20 2d 66 6c 61 74 74 65 6e 2d 6e 3a -flatten-n....(*note.-flatten-n:
2f120 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 6c 61 74 74 65 6e 20 27 28 28 31 29 29 29 0a :)............(-flatten.'((1))).
2f140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 29 0a 20 20 20 20 20 20 20 20 20 20 ..................(1)...........
2f160 28 2d 66 6c 61 74 74 65 6e 20 27 28 28 31 20 28 32 20 33 29 20 28 28 28 34 20 28 35 29 29 29 29 (-flatten.'((1.(2.3).(((4.(5))))
2f180 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 34 20 35 )))...................(1.2.3.4.5
2f1a0 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 6c 61 74 74 65 6e 20 27 28 31 20 32 20 28 33 20 2e )...........(-flatten.'(1.2.(3..
2f1c0 20 34 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 28 33 20 .4)))...................(1.2.(3.
2f1e0 2e 20 34 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 66 6c 61 74 74 65 6e 2d 6e 20 ..4))...--.Function:.-flatten-n.
2f200 28 6e 75 6d 20 6c 69 73 74 29 0a 20 20 20 20 20 46 6c 61 74 74 65 6e 20 4e 55 4d 20 6c 65 76 65 (num.list)......Flatten.NUM.leve
2f220 6c 73 20 6f 66 20 61 20 6e 65 73 74 65 64 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 ls.of.a.nested.LIST........See.a
2f240 6c 73 6f 3a 20 e2 80 98 2d 66 6c 61 74 74 65 6e e2 80 99 20 28 2a 6e 6f 74 65 20 2d 66 6c 61 74 lso:....-flatten....(*note.-flat
2f260 74 65 6e 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 6c 61 74 74 65 6e 2d 6e 20 31 20 ten::)............(-flatten-n.1.
2f280 27 28 28 31 20 32 29 20 28 28 33 20 34 29 20 28 28 35 20 36 29 29 29 29 29 0a 20 20 20 20 20 20 '((1.2).((3.4).((5.6))))).......
2f2a0 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 28 33 20 34 29 20 28 28 35 20 36 29 29 29 0a ............(1.2.(3.4).((5.6))).
2f2c0 20 20 20 20 20 20 20 20 20 20 28 2d 66 6c 61 74 74 65 6e 2d 6e 20 32 20 27 28 28 31 20 32 29 20 ..........(-flatten-n.2.'((1.2).
2f2e0 28 28 33 20 34 29 20 28 28 35 20 36 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ((3.4).((5.6)))))...............
2f300 e2 87 92 20 28 31 20 32 20 33 20 34 20 28 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d ....(1.2.3.4.(5.6))...........(-
2f320 66 6c 61 74 74 65 6e 2d 6e 20 33 20 27 28 28 31 20 32 29 20 28 28 33 20 34 29 20 28 28 35 20 36 flatten-n.3.'((1.2).((3.4).((5.6
2f340 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 34 )))))...................(1.2.3.4
2f360 20 35 20 36 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 72 65 70 6c 61 63 65 20 28 6f .5.6)...--.Function:.-replace.(o
2f380 6c 64 20 6e 65 77 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 70 6c 61 63 65 20 61 6c 6c 20 4f 4c ld.new.list)......Replace.all.OL
2f3a0 44 20 69 74 65 6d 73 20 69 6e 20 4c 49 53 54 20 77 69 74 68 20 4e 45 57 2e 0a 0a 20 20 20 20 20 D.items.in.LIST.with.NEW........
2f3c0 45 6c 65 6d 65 6e 74 73 20 61 72 65 20 63 6f 6d 70 61 72 65 64 20 75 73 69 6e 67 20 e2 80 98 65 Elements.are.compared.using....e
2f3e0 71 75 61 6c e2 80 99 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 72 65 70 qual...........See.also:....-rep
2f400 6c 61 63 65 2d 61 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 70 6c 61 63 65 2d 61 74 3a 3a 29 lace-at....(*note.-replace-at::)
2f420 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 70 6c 61 63 65 20 31 20 22 31 22 20 27 28 31 20 ............(-replace.1."1".'(1.
2f440 32 20 33 20 34 20 33 20 32 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 2.3.4.3.2.1))...................
2f460 28 22 31 22 20 32 20 33 20 34 20 33 20 32 20 22 31 22 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d ("1".2.3.4.3.2."1")...........(-
2f480 72 65 70 6c 61 63 65 20 22 66 6f 6f 22 20 22 62 61 72 22 20 27 28 22 61 22 20 22 6e 69 63 65 22 replace."foo"."bar".'("a"."nice"
2f4a0 20 22 66 6f 6f 22 20 22 73 65 6e 74 65 6e 63 65 22 20 22 61 62 6f 75 74 22 20 22 66 6f 6f 22 29 ."foo"."sentence"."about"."foo")
2f4c0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 22 61 22 20 22 6e 69 63 65 22 20 )...................("a"."nice".
2f4e0 22 62 61 72 22 20 22 73 65 6e 74 65 6e 63 65 22 20 22 61 62 6f 75 74 22 20 22 62 61 72 22 29 0a "bar"."sentence"."about"."bar").
2f500 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 70 6c 61 63 65 20 31 20 32 20 6e 69 6c 29 0a 20 20 20 ..........(-replace.1.2.nil)....
2f520 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e ...............nil...--.Function
2f540 3a 20 2d 72 65 70 6c 61 63 65 2d 66 69 72 73 74 20 28 6f 6c 64 20 6e 65 77 20 6c 69 73 74 29 0a :.-replace-first.(old.new.list).
2f560 20 20 20 20 20 52 65 70 6c 61 63 65 20 74 68 65 20 66 69 72 73 74 20 6f 63 63 75 72 72 65 6e 63 .....Replace.the.first.occurrenc
2f580 65 20 6f 66 20 4f 4c 44 20 77 69 74 68 20 4e 45 57 20 69 6e 20 4c 49 53 54 2e 0a 0a 20 20 20 20 e.of.OLD.with.NEW.in.LIST.......
2f5a0 20 45 6c 65 6d 65 6e 74 73 20 61 72 65 20 63 6f 6d 70 61 72 65 64 20 75 73 69 6e 67 20 e2 80 98 .Elements.are.compared.using....
2f5c0 65 71 75 61 6c e2 80 99 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 6d 61 equal...........See.also:....-ma
2f5e0 70 2d 66 69 72 73 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 6d 61 70 2d 66 69 72 73 74 3a 3a 29 0a p-first....(*note.-map-first::).
2f600 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 70 6c 61 63 65 2d 66 69 72 73 74 20 31 20 22 31 22 ...........(-replace-first.1."1"
2f620 20 27 28 31 20 32 20 33 20 34 20 33 20 32 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .'(1.2.3.4.3.2.1))..............
2f640 20 e2 87 92 20 28 22 31 22 20 32 20 33 20 34 20 33 20 32 20 31 29 0a 20 20 20 20 20 20 20 20 20 .....("1".2.3.4.3.2.1)..........
2f660 20 28 2d 72 65 70 6c 61 63 65 2d 66 69 72 73 74 20 22 66 6f 6f 22 20 22 62 61 72 22 20 27 28 22 .(-replace-first."foo"."bar".'("
2f680 61 22 20 22 6e 69 63 65 22 20 22 66 6f 6f 22 20 22 73 65 6e 74 65 6e 63 65 22 20 22 61 62 6f 75 a"."nice"."foo"."sentence"."abou
2f6a0 74 22 20 22 66 6f 6f 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 22 61 t"."foo"))...................("a
2f6c0 22 20 22 6e 69 63 65 22 20 22 62 61 72 22 20 22 73 65 6e 74 65 6e 63 65 22 20 22 61 62 6f 75 74 "."nice"."bar"."sentence"."about
2f6e0 22 20 22 66 6f 6f 22 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 70 6c 61 63 65 2d 66 69 72 "."foo")...........(-replace-fir
2f700 73 74 20 31 20 32 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 st.1.2.nil)...................ni
2f720 6c 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 72 65 70 6c 61 63 65 2d 6c 61 73 74 20 28 l...--.Function:.-replace-last.(
2f740 6f 6c 64 20 6e 65 77 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 70 6c 61 63 65 20 74 68 65 20 6c old.new.list)......Replace.the.l
2f760 61 73 74 20 6f 63 63 75 72 72 65 6e 63 65 20 6f 66 20 4f 4c 44 20 77 69 74 68 20 4e 45 57 20 69 ast.occurrence.of.OLD.with.NEW.i
2f780 6e 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 45 6c 65 6d 65 6e 74 73 20 61 72 65 20 63 6f 6d 70 61 n.LIST........Elements.are.compa
2f7a0 72 65 64 20 75 73 69 6e 67 20 e2 80 98 65 71 75 61 6c e2 80 99 2e 0a 0a 20 20 20 20 20 53 65 65 red.using....equal...........See
2f7c0 20 61 6c 73 6f 3a 20 e2 80 98 2d 6d 61 70 2d 6c 61 73 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 6d .also:....-map-last....(*note.-m
2f7e0 61 70 2d 6c 61 73 74 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 70 6c 61 63 65 2d ap-last::)............(-replace-
2f800 6c 61 73 74 20 31 20 22 31 22 20 27 28 31 20 32 20 33 20 34 20 33 20 32 20 31 29 29 0a 20 20 20 last.1."1".'(1.2.3.4.3.2.1))....
2f820 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 34 20 33 20 32 20 22 31 22 29 ...............(1.2.3.4.3.2."1")
2f840 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 70 6c 61 63 65 2d 6c 61 73 74 20 22 66 6f 6f 22 20 ...........(-replace-last."foo".
2f860 22 62 61 72 22 20 27 28 22 61 22 20 22 6e 69 63 65 22 20 22 66 6f 6f 22 20 22 73 65 6e 74 65 6e "bar".'("a"."nice"."foo"."senten
2f880 63 65 22 20 22 61 62 6f 75 74 22 20 22 66 6f 6f 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ce"."about"."foo")).............
2f8a0 20 20 e2 87 92 20 28 22 61 22 20 22 6e 69 63 65 22 20 22 66 6f 6f 22 20 22 73 65 6e 74 65 6e 63 ......("a"."nice"."foo"."sentenc
2f8c0 65 22 20 22 61 62 6f 75 74 22 20 22 62 61 72 22 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 e"."about"."bar")...........(-re
2f8e0 70 6c 61 63 65 2d 6c 61 73 74 20 31 20 32 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 place-last.1.2.nil).............
2f900 20 20 e2 87 92 20 6e 69 6c 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 69 6e 73 65 72 74 ......nil...--.Function:.-insert
2f920 2d 61 74 20 28 6e 20 78 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 6c 69 73 -at.(n.x.list)......Return.a.lis
2f940 74 20 77 69 74 68 20 58 20 69 6e 73 65 72 74 65 64 20 69 6e 74 6f 20 4c 49 53 54 20 61 74 20 70 t.with.X.inserted.into.LIST.at.p
2f960 6f 73 69 74 69 6f 6e 20 4e 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 73 osition.N........See.also:....-s
2f980 70 6c 69 63 65 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 73 70 6c 69 63 65 3a 3a 29 2c 20 e2 80 98 2d plice....(*note.-splice::),....-
2f9a0 73 70 6c 69 63 65 2d 6c 69 73 74 e2 80 99 20 28 2a 6e 6f 74 65 0a 20 20 20 20 20 2d 73 70 6c 69 splice-list....(*note......-spli
2f9c0 63 65 2d 6c 69 73 74 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 6e 73 65 72 74 2d 61 ce-list::)............(-insert-a
2f9e0 74 20 31 20 27 78 20 27 28 61 20 62 20 63 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 t.1.'x.'(a.b.c))................
2fa00 87 92 20 28 61 20 78 20 62 20 63 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 6e 73 65 72 74 2d ...(a.x.b.c)...........(-insert-
2fa20 61 74 20 31 32 20 27 78 20 27 28 61 20 62 20 63 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 at.12.'x.'(a.b.c))..............
2fa40 20 e2 87 92 20 28 61 20 62 20 63 20 78 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 72 .....(a.b.c.x)...--.Function:.-r
2fa60 65 70 6c 61 63 65 2d 61 74 20 28 6e 20 78 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e eplace-at.(n.x.list)......Return
2fa80 20 61 20 6c 69 73 74 20 77 69 74 68 20 65 6c 65 6d 65 6e 74 20 61 74 20 4e 74 68 20 70 6f 73 69 .a.list.with.element.at.Nth.posi
2faa0 74 69 6f 6e 20 69 6e 20 4c 49 53 54 20 72 65 70 6c 61 63 65 64 20 77 69 74 68 20 58 2e 0a 0a 20 tion.in.LIST.replaced.with.X....
2fac0 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 72 65 70 6c 61 63 65 e2 80 99 20 28 2a 6e ....See.also:....-replace....(*n
2fae0 6f 74 65 20 2d 72 65 70 6c 61 63 65 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 70 ote.-replace::)............(-rep
2fb00 6c 61 63 65 2d 61 74 20 30 20 39 20 27 28 30 20 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 lace-at.0.9.'(0.1.2.3.4.5)).....
2fb20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 39 20 31 20 32 20 33 20 34 20 35 29 0a 20 20 20 20 ..............(9.1.2.3.4.5).....
2fb40 20 20 20 20 20 20 28 2d 72 65 70 6c 61 63 65 2d 61 74 20 31 20 39 20 27 28 30 20 31 20 32 20 33 ......(-replace-at.1.9.'(0.1.2.3
2fb60 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 30 20 39 20 32 20 .4.5))...................(0.9.2.
2fb80 33 20 34 20 35 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 70 6c 61 63 65 2d 61 74 20 34 20 3.4.5)...........(-replace-at.4.
2fba0 39 20 27 28 30 20 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 9.'(0.1.2.3.4.5))...............
2fbc0 e2 87 92 20 28 30 20 31 20 32 20 33 20 39 20 35 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a ....(0.1.2.3.9.5)...--.Function:
2fbe0 20 2d 75 70 64 61 74 65 2d 61 74 20 28 6e 20 66 75 6e 63 20 6c 69 73 74 29 0a 20 20 20 20 20 52 .-update-at.(n.func.list)......R
2fc00 65 74 75 72 6e 20 61 20 6c 69 73 74 20 77 69 74 68 20 65 6c 65 6d 65 6e 74 20 61 74 20 4e 74 68 eturn.a.list.with.element.at.Nth
2fc20 20 70 6f 73 69 74 69 6f 6e 20 69 6e 20 4c 49 53 54 20 72 65 70 6c 61 63 65 64 20 77 69 74 68 0a .position.in.LIST.replaced.with.
2fc40 20 20 20 20 20 e2 80 98 28 66 75 6e 63 20 28 6e 74 68 20 6e 20 6c 69 73 74 29 29 e2 80 98 2e 0a ........(func.(nth.n.list)).....
2fc60 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 6d 61 70 2d 77 68 65 6e e2 80 99 20 ......See.also:....-map-when....
2fc80 28 2a 6e 6f 74 65 20 2d 6d 61 70 2d 77 68 65 6e 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 (*note.-map-when::)............(
2fca0 2d 75 70 64 61 74 65 2d 61 74 20 30 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 2b 20 78 20 39 29 -update-at.0.(lambda.(x).(+.x.9)
2fcc0 29 20 27 28 30 20 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).'(0.1.2.3.4.5))...............
2fce0 e2 87 92 20 28 39 20 31 20 32 20 33 20 34 20 35 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 75 70 ....(9.1.2.3.4.5)...........(-up
2fd00 64 61 74 65 2d 61 74 20 31 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 2b 20 78 20 38 29 29 20 27 date-at.1.(lambda.(x).(+.x.8)).'
2fd20 28 30 20 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 (0.1.2.3.4.5))..................
2fd40 20 28 30 20 39 20 32 20 33 20 34 20 35 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 75 70 64 61 .(0.9.2.3.4.5)...........(--upda
2fd60 74 65 2d 61 74 20 32 20 28 6c 65 6e 67 74 68 20 69 74 29 20 27 28 22 66 6f 6f 22 20 22 62 61 72 te-at.2.(length.it).'("foo"."bar
2fd80 22 20 22 62 61 7a 22 20 22 71 75 75 78 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 "."baz"."quux"))................
2fda0 87 92 20 28 22 66 6f 6f 22 20 22 62 61 72 22 20 33 20 22 71 75 75 78 22 29 0a 0a 20 2d 2d 20 46 ...("foo"."bar".3."quux")...--.F
2fdc0 75 6e 63 74 69 6f 6e 3a 20 2d 72 65 6d 6f 76 65 2d 61 74 20 28 6e 20 6c 69 73 74 29 0a 20 20 20 unction:.-remove-at.(n.list)....
2fde0 20 20 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 77 69 74 68 20 65 6c 65 6d 65 6e 74 20 61 74 20 ..Return.a.list.with.element.at.
2fe00 4e 74 68 20 70 6f 73 69 74 69 6f 6e 20 69 6e 20 4c 49 53 54 20 72 65 6d 6f 76 65 64 2e 0a 0a 20 Nth.position.in.LIST.removed....
2fe20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 72 65 6d 6f 76 65 2d 61 74 2d 69 6e 64 69 ....See.also:....-remove-at-indi
2fe40 63 65 73 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 6d 6f 76 65 2d 61 74 2d 69 6e 64 69 63 65 73 ces....(*note.-remove-at-indices
2fe60 3a 3a 29 2c 0a 20 20 20 20 20 e2 80 98 2d 72 65 6d 6f 76 65 e2 80 99 20 28 2a 6e 6f 74 65 20 2d ::),.........-remove....(*note.-
2fe80 72 65 6d 6f 76 65 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 6d 6f 76 65 2d 61 74 remove::)............(-remove-at
2fea0 20 30 20 27 28 22 30 22 20 22 31 22 20 22 32 22 20 22 33 22 20 22 34 22 20 22 35 22 29 29 0a 20 .0.'("0"."1"."2"."3"."4"."5"))..
2fec0 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 22 31 22 20 22 32 22 20 22 33 22 20 22 34 .................("1"."2"."3"."4
2fee0 22 20 22 35 22 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 6d 6f 76 65 2d 61 74 20 31 20 27 "."5")...........(-remove-at.1.'
2ff00 28 22 30 22 20 22 31 22 20 22 32 22 20 22 33 22 20 22 34 22 20 22 35 22 29 29 0a 20 20 20 20 20 ("0"."1"."2"."3"."4"."5"))......
2ff20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 22 30 22 20 22 32 22 20 22 33 22 20 22 34 22 20 22 35 .............("0"."2"."3"."4"."5
2ff40 22 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 6d 6f 76 65 2d 61 74 20 32 20 27 28 22 30 22 ")...........(-remove-at.2.'("0"
2ff60 20 22 31 22 20 22 32 22 20 22 33 22 20 22 34 22 20 22 35 22 29 29 0a 20 20 20 20 20 20 20 20 20 ."1"."2"."3"."4"."5"))..........
2ff80 20 20 20 20 20 e2 87 92 20 28 22 30 22 20 22 31 22 20 22 33 22 20 22 34 22 20 22 35 22 29 0a 0a .........("0"."1"."3"."4"."5")..
2ffa0 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 72 65 6d 6f 76 65 2d 61 74 2d 69 6e 64 69 63 65 73 .--.Function:.-remove-at-indices
2ffc0 20 28 69 6e 64 69 63 65 73 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 6c 69 .(indices.list)......Return.a.li
2ffe0 73 74 20 77 68 6f 73 65 20 65 6c 65 6d 65 6e 74 73 20 61 72 65 20 65 6c 65 6d 65 6e 74 73 20 66 st.whose.elements.are.elements.f
30000 72 6f 6d 20 4c 49 53 54 20 77 69 74 68 6f 75 74 0a 20 20 20 20 20 65 6c 65 6d 65 6e 74 73 20 73 rom.LIST.without......elements.s
30020 65 6c 65 63 74 65 64 20 61 73 20 e2 80 98 28 6e 74 68 20 69 20 6c 69 73 74 29 e2 80 98 20 66 6f elected.as....(nth.i.list)....fo
30040 72 20 61 6c 6c 20 69 20 66 72 6f 6d 20 49 4e 44 49 43 45 53 2e 0a 0a 20 20 20 20 20 53 65 65 20 r.all.i.from.INDICES........See.
30060 61 6c 73 6f 3a 20 e2 80 98 2d 72 65 6d 6f 76 65 2d 61 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 also:....-remove-at....(*note.-r
30080 65 6d 6f 76 65 2d 61 74 3a 3a 29 2c 20 e2 80 98 2d 72 65 6d 6f 76 65 e2 80 99 20 28 2a 6e 6f 74 emove-at::),....-remove....(*not
300a0 65 0a 20 20 20 20 20 2d 72 65 6d 6f 76 65 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 e......-remove::)............(-r
300c0 65 6d 6f 76 65 2d 61 74 2d 69 6e 64 69 63 65 73 20 27 28 30 29 20 27 28 22 30 22 20 22 31 22 20 emove-at-indices.'(0).'("0"."1".
300e0 22 32 22 20 22 33 22 20 22 34 22 20 22 35 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 "2"."3"."4"."5"))...............
30100 e2 87 92 20 28 22 31 22 20 22 32 22 20 22 33 22 20 22 34 22 20 22 35 22 29 0a 20 20 20 20 20 20 ....("1"."2"."3"."4"."5").......
30120 20 20 20 20 28 2d 72 65 6d 6f 76 65 2d 61 74 2d 69 6e 64 69 63 65 73 20 27 28 30 20 32 20 34 29 ....(-remove-at-indices.'(0.2.4)
30140 20 27 28 22 30 22 20 22 31 22 20 22 32 22 20 22 33 22 20 22 34 22 20 22 35 22 29 29 0a 20 20 20 .'("0"."1"."2"."3"."4"."5"))....
30160 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 22 31 22 20 22 33 22 20 22 35 22 29 0a 20 20 20 ...............("1"."3"."5")....
30180 20 20 20 20 20 20 20 28 2d 72 65 6d 6f 76 65 2d 61 74 2d 69 6e 64 69 63 65 73 20 27 28 30 20 35 .......(-remove-at-indices.'(0.5
301a0 29 20 27 28 22 30 22 20 22 31 22 20 22 32 22 20 22 33 22 20 22 34 22 20 22 35 22 29 29 0a 20 20 ).'("0"."1"."2"."3"."4"."5"))...
301c0 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 22 31 22 20 22 32 22 20 22 33 22 20 22 34 22 ................("1"."2"."3"."4"
301e0 29 0a 0a 1f 0a 46 69 6c 65 3a 20 64 61 73 68 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 52 65 64 )....File:.dash.info,..Node:.Red
30200 75 63 74 69 6f 6e 73 2c 20 20 4e 65 78 74 3a 20 55 6e 66 6f 6c 64 69 6e 67 2c 20 20 50 72 65 76 uctions,..Next:.Unfolding,..Prev
30220 3a 20 4c 69 73 74 20 74 6f 20 6c 69 73 74 2c 20 20 55 70 3a 20 46 75 6e 63 74 69 6f 6e 73 0a 0a :.List.to.list,..Up:.Functions..
30240 32 2e 34 20 52 65 64 75 63 74 69 6f 6e 73 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 46 2.4.Reductions.==============..F
30260 75 6e 63 74 69 6f 6e 73 20 72 65 64 75 63 69 6e 67 20 6c 69 73 74 73 20 74 6f 20 61 20 73 69 6e unctions.reducing.lists.to.a.sin
30280 67 6c 65 20 76 61 6c 75 65 20 28 77 68 69 63 68 20 6d 61 79 20 61 6c 73 6f 20 62 65 20 61 20 6c gle.value.(which.may.also.be.a.l
302a0 69 73 74 29 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 72 65 64 75 63 65 2d 66 72 6f ist)....--.Function:.-reduce-fro
302c0 6d 20 28 66 6e 20 69 6e 69 74 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 64 75 63 65 20 74 68 65 m.(fn.init.list)......Reduce.the
302e0 20 66 75 6e 63 74 69 6f 6e 20 46 4e 20 61 63 72 6f 73 73 20 4c 49 53 54 2c 20 73 74 61 72 74 69 .function.FN.across.LIST,.starti
30300 6e 67 20 77 69 74 68 20 49 4e 49 54 2e 20 20 52 65 74 75 72 6e 20 74 68 65 0a 20 20 20 20 20 72 ng.with.INIT...Return.the......r
30320 65 73 75 6c 74 20 6f 66 20 61 70 70 6c 79 69 6e 67 20 46 4e 20 74 6f 20 49 4e 49 54 20 61 6e 64 esult.of.applying.FN.to.INIT.and
30340 20 74 68 65 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 2c 20 74 68 65 6e .the.first.element.of.LIST,.then
30360 0a 20 20 20 20 20 61 70 70 6c 79 69 6e 67 20 46 4e 20 74 6f 20 74 68 61 74 20 72 65 73 75 6c 74 ......applying.FN.to.that.result
30380 20 61 6e 64 20 74 68 65 20 73 65 63 6f 6e 64 20 65 6c 65 6d 65 6e 74 2c 20 65 74 63 2e 20 20 49 .and.the.second.element,.etc...I
303a0 66 20 4c 49 53 54 20 69 73 0a 20 20 20 20 20 65 6d 70 74 79 2c 20 72 65 74 75 72 6e 20 49 4e 49 f.LIST.is......empty,.return.INI
303c0 54 20 77 69 74 68 6f 75 74 20 63 61 6c 6c 69 6e 67 20 46 4e 2e 0a 0a 20 20 20 20 20 54 68 69 73 T.without.calling.FN........This
303e0 20 66 75 6e 63 74 69 6f 6e e2 80 99 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 .function...s.anaphoric.counterp
30400 61 72 74 20 69 73 20 e2 80 98 2d 2d 72 65 64 75 63 65 2d 66 72 6f 6d e2 80 99 2e 0a 0a 20 20 20 art.is....--reduce-from.........
30420 20 20 46 6f 72 20 6f 74 68 65 72 20 66 6f 6c 64 73 2c 20 73 65 65 20 61 6c 73 6f 20 e2 80 98 2d ..For.other.folds,.see.also....-
30440 72 65 64 75 63 65 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 64 75 63 65 3a 3a 29 20 61 6e 64 0a reduce....(*note.-reduce::).and.
30460 20 20 20 20 20 e2 80 98 2d 72 65 64 75 63 65 2d 72 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 64 ........-reduce-r....(*note.-red
30480 75 63 65 2d 72 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 64 75 63 65 2d 66 72 uce-r::).............(-reduce-fr
304a0 6f 6d 20 23 27 2d 20 31 30 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 om.#'-.10.'(1.2.3)).............
304c0 20 20 e2 87 92 20 34 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 ......4...........(-reduce-from.
304e0 23 27 6c 69 73 74 20 31 30 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 #'list.10.'(1.2.3)).............
30500 20 20 e2 87 92 20 28 28 28 31 30 20 31 29 20 32 29 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 28 ......(((10.1).2).3)...........(
30520 2d 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 28 63 6f 6e 63 61 74 20 61 63 63 20 22 20 22 20 69 74 --reduce-from.(concat.acc.".".it
30540 29 20 22 53 54 41 52 54 22 20 27 28 22 61 22 20 22 62 22 20 22 63 22 29 29 0a 20 20 20 20 20 20 )."START".'("a"."b"."c")).......
30560 20 20 20 20 20 20 20 20 e2 87 92 20 22 53 54 41 52 54 20 61 20 62 20 63 22 0a 0a 20 2d 2d 20 46 ............"START.a.b.c"...--.F
30580 75 6e 63 74 69 6f 6e 3a 20 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 20 28 66 6e 20 69 6e 69 74 unction:.-reduce-r-from.(fn.init
305a0 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 64 75 63 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 .list)......Reduce.the.function.
305c0 46 4e 20 61 63 72 6f 73 73 20 4c 49 53 54 20 69 6e 20 72 65 76 65 72 73 65 2c 20 73 74 61 72 74 FN.across.LIST.in.reverse,.start
305e0 69 6e 67 20 77 69 74 68 20 49 4e 49 54 2e 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 72 ing.with.INIT.......Return.the.r
30600 65 73 75 6c 74 20 6f 66 20 61 70 70 6c 79 69 6e 67 20 46 4e 20 74 6f 20 74 68 65 20 6c 61 73 74 esult.of.applying.FN.to.the.last
30620 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 20 61 6e 64 0a 20 20 20 20 20 49 4e 49 54 2c 20 .element.of.LIST.and......INIT,.
30640 74 68 65 6e 20 61 70 70 6c 79 69 6e 67 20 46 4e 20 74 6f 20 74 68 65 20 73 65 63 6f 6e 64 2d 74 then.applying.FN.to.the.second-t
30660 6f 2d 6c 61 73 74 20 65 6c 65 6d 65 6e 74 20 61 6e 64 20 74 68 65 0a 20 20 20 20 20 70 72 65 76 o-last.element.and.the......prev
30680 69 6f 75 73 20 72 65 73 75 6c 74 20 6f 66 20 46 4e 2c 20 65 74 63 2e 20 20 54 68 61 74 20 69 73 ious.result.of.FN,.etc...That.is
306a0 2c 20 74 68 65 20 66 69 72 73 74 20 61 72 67 75 6d 65 6e 74 20 6f 66 20 46 4e 20 69 73 0a 20 20 ,.the.first.argument.of.FN.is...
306c0 20 20 20 74 68 65 20 63 75 72 72 65 6e 74 20 65 6c 65 6d 65 6e 74 2c 20 61 6e 64 20 69 74 73 20 ...the.current.element,.and.its.
306e0 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e 74 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 65 64 20 second.argument.the.accumulated.
30700 76 61 6c 75 65 2e 0a 20 20 20 20 20 49 66 20 4c 49 53 54 20 69 73 20 65 6d 70 74 79 2c 20 72 65 value.......If.LIST.is.empty,.re
30720 74 75 72 6e 20 49 4e 49 54 20 77 69 74 68 6f 75 74 20 63 61 6c 6c 69 6e 67 20 46 4e 2e 0a 0a 20 turn.INIT.without.calling.FN....
30740 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6c 69 6b 65 20 e2 80 98 2d 72 65 ....This.function.is.like....-re
30760 64 75 63 65 2d 66 72 6f 6d e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 64 75 63 65 2d 66 72 6f 6d duce-from....(*note.-reduce-from
30780 3a 3a 29 20 62 75 74 20 74 68 65 0a 20 20 20 20 20 6f 70 65 72 61 74 69 6f 6e 20 61 73 73 6f 63 ::).but.the......operation.assoc
307a0 69 61 74 65 73 20 66 72 6f 6d 20 74 68 65 20 72 69 67 68 74 20 72 61 74 68 65 72 20 74 68 61 6e iates.from.the.right.rather.than
307c0 20 6c 65 66 74 2e 20 20 49 6e 20 6f 74 68 65 72 0a 20 20 20 20 20 77 6f 72 64 73 2c 20 69 74 20 .left...In.other......words,.it.
307e0 73 74 61 72 74 73 20 66 72 6f 6d 20 74 68 65 20 65 6e 64 20 6f 66 20 4c 49 53 54 20 61 6e 64 20 starts.from.the.end.of.LIST.and.
30800 66 6c 69 70 73 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 0a 20 20 20 20 20 46 4e 2e 20 flips.the.arguments.to......FN..
30820 20 43 6f 6e 63 65 70 74 75 61 6c 6c 79 2c 20 69 74 20 69 73 20 6c 69 6b 65 20 72 65 70 6c 61 63 .Conceptually,.it.is.like.replac
30840 69 6e 67 20 74 68 65 20 63 6f 6e 73 65 73 20 69 6e 20 4c 49 53 54 20 77 69 74 68 0a 20 20 20 20 ing.the.conses.in.LIST.with.....
30860 20 61 70 70 6c 69 63 61 74 69 6f 6e 73 20 6f 66 20 46 4e 2c 20 61 6e 64 20 69 74 73 20 6c 61 73 .applications.of.FN,.and.its.las
30880 74 20 6c 69 6e 6b 20 77 69 74 68 20 49 4e 49 54 2c 20 61 6e 64 20 65 76 61 6c 75 61 74 69 6e 67 t.link.with.INIT,.and.evaluating
308a0 20 74 68 65 0a 20 20 20 20 20 72 65 73 75 6c 74 69 6e 67 20 65 78 70 72 65 73 73 69 6f 6e 2e 0a .the......resulting.expression..
308c0 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e e2 80 99 73 20 61 6e 61 70 68 6f 72 69 ......This.function...s.anaphori
308e0 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 2d 2d 72 65 64 75 63 65 2d 72 2d 66 c.counterpart.is....--reduce-r-f
30900 72 6f 6d e2 80 99 2e 0a 0a 20 20 20 20 20 46 6f 72 20 6f 74 68 65 72 20 66 6f 6c 64 73 2c 20 73 rom...........For.other.folds,.s
30920 65 65 20 61 6c 73 6f 20 e2 80 98 2d 72 65 64 75 63 65 2d 72 e2 80 99 20 28 2a 6e 6f 74 65 20 2d ee.also....-reduce-r....(*note.-
30940 72 65 64 75 63 65 2d 72 3a 3a 29 20 61 6e 64 0a 20 20 20 20 20 e2 80 98 2d 72 65 64 75 63 65 e2 reduce-r::).and.........-reduce.
30960 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 64 75 63 65 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 ...(*note.-reduce::)............
30980 20 28 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 20 23 27 2d 20 31 30 20 27 28 31 20 32 20 33 29 .(-reduce-r-from.#'-.10.'(1.2.3)
309a0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 2d 38 0a 20 20 20 20 20 20 20 20 20 )...................-8..........
309c0 20 28 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 20 23 27 6c 69 73 74 20 31 30 20 27 28 31 20 32 .(-reduce-r-from.#'list.10.'(1.2
309e0 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 28 32 20 28 33 20 .3))...................(1.(2.(3.
30a00 31 30 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 10)))...........(--reduce-r-from
30a20 20 28 63 6f 6e 63 61 74 20 69 74 20 22 20 22 20 61 63 63 29 20 22 45 4e 44 22 20 27 28 22 61 22 .(concat.it.".".acc)."END".'("a"
30a40 20 22 62 22 20 22 63 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 22 61 20 ."b"."c"))..................."a.
30a60 62 20 63 20 45 4e 44 22 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 72 65 64 75 63 65 20 b.c.END"...--.Function:.-reduce.
30a80 28 66 6e 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 64 75 63 65 20 74 68 65 20 66 75 6e 63 74 69 (fn.list)......Reduce.the.functi
30aa0 6f 6e 20 46 4e 20 61 63 72 6f 73 73 20 4c 49 53 54 2e 20 20 52 65 74 75 72 6e 20 74 68 65 20 72 on.FN.across.LIST...Return.the.r
30ac0 65 73 75 6c 74 20 6f 66 20 61 70 70 6c 79 69 6e 67 0a 20 20 20 20 20 46 4e 20 74 6f 20 74 68 65 esult.of.applying......FN.to.the
30ae0 20 66 69 72 73 74 20 74 77 6f 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 4c 49 53 54 2c 20 74 68 65 .first.two.elements.of.LIST,.the
30b00 6e 20 61 70 70 6c 79 69 6e 67 20 46 4e 20 74 6f 20 74 68 61 74 0a 20 20 20 20 20 72 65 73 75 6c n.applying.FN.to.that......resul
30b20 74 20 61 6e 64 20 74 68 65 20 74 68 69 72 64 20 65 6c 65 6d 65 6e 74 2c 20 65 74 63 2e 20 20 49 t.and.the.third.element,.etc...I
30b40 66 20 4c 49 53 54 20 63 6f 6e 74 61 69 6e 73 20 61 20 73 69 6e 67 6c 65 0a 20 20 20 20 20 65 6c f.LIST.contains.a.single......el
30b60 65 6d 65 6e 74 2c 20 72 65 74 75 72 6e 20 69 74 20 77 69 74 68 6f 75 74 20 63 61 6c 6c 69 6e 67 ement,.return.it.without.calling
30b80 20 46 4e 2e 20 20 49 66 20 4c 49 53 54 20 69 73 20 65 6d 70 74 79 2c 20 72 65 74 75 72 6e 0a 20 .FN...If.LIST.is.empty,.return..
30ba0 20 20 20 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 63 61 6c 6c 69 6e 67 20 46 4e 20 77 69 74 ....the.result.of.calling.FN.wit
30bc0 68 20 6e 6f 20 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 h.no.arguments........This.funct
30be0 69 6f 6e e2 80 99 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 ion...s.anaphoric.counterpart.is
30c00 20 e2 80 98 2d 2d 72 65 64 75 63 65 e2 80 99 2e 0a 0a 20 20 20 20 20 46 6f 72 20 6f 74 68 65 72 ....--reduce...........For.other
30c20 20 66 6f 6c 64 73 2c 20 73 65 65 20 61 6c 73 6f 20 e2 80 98 2d 72 65 64 75 63 65 2d 66 72 6f 6d .folds,.see.also....-reduce-from
30c40 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 64 75 63 65 2d 66 72 6f 6d 3a 3a 29 20 61 6e 64 0a 20 ....(*note.-reduce-from::).and..
30c60 20 20 20 20 e2 80 98 2d 72 65 64 75 63 65 2d 72 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 64 75 .......-reduce-r....(*note.-redu
30c80 63 65 2d 72 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 64 75 63 65 20 23 27 2d ce-r::).............(-reduce.#'-
30ca0 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 2d .'(1.2.3.4))...................-
30cc0 38 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 64 75 63 65 20 23 27 6c 69 73 74 20 27 28 31 20 8...........(-reduce.#'list.'(1.
30ce0 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 28 31 20 32 2.3.4))...................(((1.2
30d00 29 20 33 29 20 34 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 72 65 64 75 63 65 20 28 66 6f 72 ).3).4)...........(--reduce.(for
30d20 6d 61 74 20 22 25 73 2d 25 64 22 20 61 63 63 20 69 74 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 mat."%s-%d".acc.it).'(1.2.3))...
30d40 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 22 31 2d 32 2d 33 22 0a 0a 20 2d 2d 20 46 75 6e ................"1-2-3"...--.Fun
30d60 63 74 69 6f 6e 3a 20 2d 72 65 64 75 63 65 2d 72 20 28 66 6e 20 6c 69 73 74 29 0a 20 20 20 20 20 ction:.-reduce-r.(fn.list)......
30d80 52 65 64 75 63 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 46 4e 20 61 63 72 6f 73 73 20 4c 49 Reduce.the.function.FN.across.LI
30da0 53 54 20 69 6e 20 72 65 76 65 72 73 65 2e 20 20 52 65 74 75 72 6e 20 74 68 65 20 72 65 73 75 6c ST.in.reverse...Return.the.resul
30dc0 74 0a 20 20 20 20 20 6f 66 20 61 70 70 6c 79 69 6e 67 20 46 4e 20 74 6f 20 74 68 65 20 6c 61 73 t......of.applying.FN.to.the.las
30de0 74 20 74 77 6f 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 4c 49 53 54 2c 20 74 68 65 6e 20 61 70 70 t.two.elements.of.LIST,.then.app
30e00 6c 79 69 6e 67 20 46 4e 0a 20 20 20 20 20 74 6f 20 74 68 65 20 74 68 69 72 64 2d 74 6f 2d 6c 61 lying.FN......to.the.third-to-la
30e20 73 74 20 65 6c 65 6d 65 6e 74 20 61 6e 64 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 72 65 73 75 st.element.and.the.previous.resu
30e40 6c 74 20 6f 66 20 46 4e 2c 20 65 74 63 2e 0a 20 20 20 20 20 54 68 61 74 20 69 73 2c 20 74 68 65 lt.of.FN,.etc.......That.is,.the
30e60 20 66 69 72 73 74 20 61 72 67 75 6d 65 6e 74 20 6f 66 20 46 4e 20 69 73 20 74 68 65 20 63 75 72 .first.argument.of.FN.is.the.cur
30e80 72 65 6e 74 20 65 6c 65 6d 65 6e 74 2c 20 61 6e 64 20 69 74 73 0a 20 20 20 20 20 73 65 63 6f 6e rent.element,.and.its......secon
30ea0 64 20 61 72 67 75 6d 65 6e 74 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 65 64 20 76 61 6c 75 65 d.argument.the.accumulated.value
30ec0 2e 20 20 49 66 20 4c 49 53 54 20 63 6f 6e 74 61 69 6e 73 20 61 20 73 69 6e 67 6c 65 0a 20 20 20 ...If.LIST.contains.a.single....
30ee0 20 20 65 6c 65 6d 65 6e 74 2c 20 72 65 74 75 72 6e 20 69 74 20 77 69 74 68 6f 75 74 20 63 61 6c ..element,.return.it.without.cal
30f00 6c 69 6e 67 20 46 4e 2e 20 20 49 66 20 4c 49 53 54 20 69 73 20 65 6d 70 74 79 2c 20 72 65 74 75 ling.FN...If.LIST.is.empty,.retu
30f20 72 6e 0a 20 20 20 20 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 63 61 6c 6c 69 6e 67 20 46 4e rn......the.result.of.calling.FN
30f40 20 77 69 74 68 20 6e 6f 20 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 .with.no.arguments........This.f
30f60 75 6e 63 74 69 6f 6e 20 69 73 20 6c 69 6b 65 20 e2 80 98 2d 72 65 64 75 63 65 e2 80 99 20 28 2a unction.is.like....-reduce....(*
30f80 6e 6f 74 65 20 2d 72 65 64 75 63 65 3a 3a 29 20 62 75 74 20 74 68 65 20 6f 70 65 72 61 74 69 6f note.-reduce::).but.the.operatio
30fa0 6e 0a 20 20 20 20 20 61 73 73 6f 63 69 61 74 65 73 20 66 72 6f 6d 20 74 68 65 20 72 69 67 68 74 n......associates.from.the.right
30fc0 20 72 61 74 68 65 72 20 74 68 61 6e 20 6c 65 66 74 2e 20 20 49 6e 20 6f 74 68 65 72 20 77 6f 72 .rather.than.left...In.other.wor
30fe0 64 73 2c 20 69 74 0a 20 20 20 20 20 73 74 61 72 74 73 20 66 72 6f 6d 20 74 68 65 20 65 6e 64 20 ds,.it......starts.from.the.end.
31000 6f 66 20 4c 49 53 54 20 61 6e 64 20 66 6c 69 70 73 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 of.LIST.and.flips.the.arguments.
31020 74 6f 20 46 4e 2e 0a 20 20 20 20 20 43 6f 6e 63 65 70 74 75 61 6c 6c 79 2c 20 69 74 20 69 73 20 to.FN.......Conceptually,.it.is.
31040 6c 69 6b 65 20 72 65 70 6c 61 63 69 6e 67 20 74 68 65 20 63 6f 6e 73 65 73 20 69 6e 20 4c 49 53 like.replacing.the.conses.in.LIS
31060 54 20 77 69 74 68 0a 20 20 20 20 20 61 70 70 6c 69 63 61 74 69 6f 6e 73 20 6f 66 20 46 4e 2c 20 T.with......applications.of.FN,.
31080 69 67 6e 6f 72 69 6e 67 20 69 74 73 20 6c 61 73 74 20 6c 69 6e 6b 2c 20 61 6e 64 20 65 76 61 6c ignoring.its.last.link,.and.eval
310a0 75 61 74 69 6e 67 20 74 68 65 0a 20 20 20 20 20 72 65 73 75 6c 74 69 6e 67 20 65 78 70 72 65 73 uating.the......resulting.expres
310c0 73 69 6f 6e 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e e2 80 99 73 20 61 6e sion........This.function...s.an
310e0 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 2d 2d 72 65 64 75 aphoric.counterpart.is....--redu
31100 63 65 2d 72 e2 80 99 2e 0a 0a 20 20 20 20 20 46 6f 72 20 6f 74 68 65 72 20 66 6f 6c 64 73 2c 20 ce-r...........For.other.folds,.
31120 73 65 65 20 61 6c 73 6f 20 e2 80 98 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d e2 80 99 20 28 2a see.also....-reduce-r-from....(*
31140 6e 6f 74 65 20 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 3a 3a 29 0a 20 20 20 20 20 61 6e 64 20 note.-reduce-r-from::)......and.
31160 e2 80 98 2d 72 65 64 75 63 65 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 64 75 63 65 3a 3a 29 2e ...-reduce....(*note.-reduce::).
31180 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 64 75 63 65 2d 72 20 23 27 2d 20 27 28 31 20 32 ............(-reduce-r.#'-.'(1.2
311a0 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 2d 32 0a 20 20 20 20 .3.4))...................-2.....
311c0 20 20 20 20 20 20 28 2d 72 65 64 75 63 65 2d 72 20 23 27 6c 69 73 74 20 27 28 31 20 32 20 33 20 ......(-reduce-r.#'list.'(1.2.3.
311e0 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 28 32 20 28 33 20 34 4))...................(1.(2.(3.4
31200 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 72 65 64 75 63 65 2d 72 20 28 66 6f 72 6d 61 )))...........(--reduce-r.(forma
31220 74 20 22 25 73 2d 25 64 22 20 61 63 63 20 69 74 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 t."%s-%d".acc.it).'(1.2.3)).....
31240 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 22 33 2d 32 2d 31 22 0a 0a 20 2d 2d 20 46 75 6e 63 74 .............."3-2-1"...--.Funct
31260 69 6f 6e 3a 20 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 72 6f 6d 20 28 66 6e 20 69 6e 69 74 20 6c ion:.-reductions-from.(fn.init.l
31280 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 46 4e e2 80 99 ist)......Return.a.list.of.FN...
312a0 73 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 72 65 64 75 63 74 69 6f 6e 73 20 61 63 72 6f 73 73 s.intermediate.reductions.across
312c0 20 4c 49 53 54 2e 20 20 54 68 61 74 0a 20 20 20 20 20 69 73 2c 20 61 20 6c 69 73 74 20 6f 66 20 .LIST...That......is,.a.list.of.
312e0 74 68 65 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 76 61 6c 75 65 73 20 6f 66 20 74 68 65 20 61 the.intermediate.values.of.the.a
31300 63 63 75 6d 75 6c 61 74 6f 72 20 77 68 65 6e 0a 20 20 20 20 20 e2 80 98 2d 72 65 64 75 63 65 2d ccumulator.when.........-reduce-
31320 66 72 6f 6d e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 64 75 63 65 2d 66 72 6f 6d 3a 3a 29 20 28 from....(*note.-reduce-from::).(
31340 77 68 69 63 68 20 73 65 65 29 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 0a 20 20 20 20 20 74 which.see).is.called.with......t
31360 68 65 20 73 61 6d 65 20 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 he.same.arguments........This.fu
31380 6e 63 74 69 6f 6e e2 80 99 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 nction...s.anaphoric.counterpart
313a0 20 69 73 20 e2 80 98 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 72 6f 6d e2 80 99 2e 0a 0a 20 20 .is....--reductions-from........
313c0 20 20 20 46 6f 72 20 6f 74 68 65 72 20 66 6f 6c 64 73 2c 20 73 65 65 20 61 6c 73 6f 20 e2 80 98 ...For.other.folds,.see.also....
313e0 2d 72 65 64 75 63 74 69 6f 6e 73 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 64 75 63 74 69 6f 6e -reductions....(*note.-reduction
31400 73 3a 3a 29 20 61 6e 64 0a 20 20 20 20 20 e2 80 98 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 e2 80 s::).and.........-reductions-r..
31420 99 20 28 2a 6e 6f 74 65 20 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 3a 3a 29 2e 0a 0a 20 20 20 20 ..(*note.-reductions-r::).......
31440 20 20 20 20 20 20 28 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 72 6f 6d 20 23 27 6d 61 78 20 30 20 ......(-reductions-from.#'max.0.
31460 27 28 32 20 31 20 34 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 30 '(2.1.4.3))...................(0
31480 20 32 20 32 20 34 20 34 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 64 75 63 74 69 6f 6e 73 .2.2.4.4)...........(-reductions
314a0 2d 66 72 6f 6d 20 23 27 2a 20 31 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 -from.#'*.1.'(1.2.3.4)).........
314c0 20 20 20 20 20 20 e2 87 92 20 28 31 20 31 20 32 20 36 20 32 34 29 0a 20 20 20 20 20 20 20 20 20 ..........(1.1.2.6.24)..........
314e0 20 28 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 72 6f 6d 20 28 66 6f 72 6d 61 74 20 22 28 46 4e .(--reductions-from.(format."(FN
31500 20 25 73 20 25 64 29 22 20 61 63 63 20 69 74 29 20 22 49 4e 49 54 22 20 27 28 31 20 32 20 33 29 .%s.%d)".acc.it)."INIT".'(1.2.3)
31520 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 22 49 4e 49 54 22 20 22 28 46 4e )...................("INIT"."(FN
31540 20 49 4e 49 54 20 31 29 22 20 22 28 46 4e 20 28 46 4e 20 49 4e 49 54 20 31 29 20 32 29 22 20 22 .INIT.1)"."(FN.(FN.INIT.1).2)"."
31560 28 46 4e 20 28 46 4e 20 28 46 4e 20 49 4e 49 54 20 31 29 20 32 29 20 33 29 22 29 0a 0a 20 2d 2d (FN.(FN.(FN.INIT.1).2).3)")...--
31580 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 20 28 66 .Function:.-reductions-r-from.(f
315a0 6e 20 69 6e 69 74 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 n.init.list)......Return.a.list.
315c0 6f 66 20 46 4e e2 80 99 73 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 72 65 64 75 63 74 69 6f 6e of.FN...s.intermediate.reduction
315e0 73 20 61 63 72 6f 73 73 20 72 65 76 65 72 73 65 64 20 4c 49 53 54 2e 0a 20 20 20 20 20 54 68 61 s.across.reversed.LIST.......Tha
31600 74 20 69 73 2c 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 69 6e 74 65 72 6d 65 64 69 61 74 65 t.is,.a.list.of.the.intermediate
31620 20 76 61 6c 75 65 73 20 6f 66 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 20 77 68 65 6e 0a .values.of.the.accumulator.when.
31640 20 20 20 20 20 e2 80 98 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d e2 80 99 20 28 2a 6e 6f 74 65 ........-reduce-r-from....(*note
31660 20 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 3a 3a 29 20 28 77 68 69 63 68 20 73 65 65 29 20 69 .-reduce-r-from::).(which.see).i
31680 73 20 63 61 6c 6c 65 64 0a 20 20 20 20 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 20 61 72 67 75 s.called......with.the.same.argu
316a0 6d 65 6e 74 73 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e e2 80 99 73 20 61 ments........This.function...s.a
316c0 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 2d 2d 72 65 64 naphoric.counterpart.is....--red
316e0 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d e2 80 99 2e 0a 0a 20 20 20 20 20 46 6f 72 20 6f 74 68 uctions-r-from...........For.oth
31700 65 72 20 66 6f 6c 64 73 2c 20 73 65 65 20 61 6c 73 6f 20 e2 80 98 2d 72 65 64 75 63 74 69 6f 6e er.folds,.see.also....-reduction
31720 73 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 64 75 63 74 69 6f 6e 73 3a 3a 29 20 61 6e 64 0a 20 s....(*note.-reductions::).and..
31740 20 20 20 20 e2 80 98 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 e2 80 99 20 28 2a 6e 6f 74 65 20 2d .......-reductions-r....(*note.-
31760 72 65 64 75 63 74 69 6f 6e 73 2d 72 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 reductions-r::).............(-re
31780 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 20 23 27 6d 61 78 20 30 20 27 28 32 20 31 20 34 20 ductions-r-from.#'max.0.'(2.1.4.
317a0 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 34 20 34 20 34 20 33 20 30 3))...................(4.4.4.3.0
317c0 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 20 )...........(-reductions-r-from.
317e0 23 27 2a 20 31 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 #'*.1.'(1.2.3.4))...............
31800 e2 87 92 20 28 32 34 20 32 34 20 31 32 20 34 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d ....(24.24.12.4.1)...........(--
31820 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 20 28 66 6f 72 6d 61 74 20 22 28 46 4e 20 25 reductions-r-from.(format."(FN.%
31840 64 20 25 73 29 22 20 69 74 20 61 63 63 29 20 22 49 4e 49 54 22 20 27 28 31 20 32 20 33 29 29 0a d.%s)".it.acc)."INIT".'(1.2.3)).
31860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 22 28 46 4e 20 31 20 28 46 4e 20 32 20 ..................("(FN.1.(FN.2.
31880 28 46 4e 20 33 20 49 4e 49 54 29 29 29 22 20 22 28 46 4e 20 32 20 28 46 4e 20 33 20 49 4e 49 54 (FN.3.INIT)))"."(FN.2.(FN.3.INIT
318a0 29 29 22 20 22 28 46 4e 20 33 20 49 4e 49 54 29 22 20 22 49 4e 49 54 22 29 0a 0a 20 2d 2d 20 46 ))"."(FN.3.INIT)"."INIT")...--.F
318c0 75 6e 63 74 69 6f 6e 3a 20 2d 72 65 64 75 63 74 69 6f 6e 73 20 28 66 6e 20 6c 69 73 74 29 0a 20 unction:.-reductions.(fn.list)..
318e0 20 20 20 20 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 46 4e e2 80 99 73 20 69 6e 74 65 ....Return.a.list.of.FN...s.inte
31900 72 6d 65 64 69 61 74 65 20 72 65 64 75 63 74 69 6f 6e 73 20 61 63 72 6f 73 73 20 4c 49 53 54 2e rmediate.reductions.across.LIST.
31920 20 20 54 68 61 74 0a 20 20 20 20 20 69 73 2c 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 69 6e ..That......is,.a.list.of.the.in
31940 74 65 72 6d 65 64 69 61 74 65 20 76 61 6c 75 65 73 20 6f 66 20 74 68 65 20 61 63 63 75 6d 75 6c termediate.values.of.the.accumul
31960 61 74 6f 72 20 77 68 65 6e 0a 20 20 20 20 20 e2 80 98 2d 72 65 64 75 63 65 e2 80 99 20 28 2a 6e ator.when.........-reduce....(*n
31980 6f 74 65 20 2d 72 65 64 75 63 65 3a 3a 29 20 28 77 68 69 63 68 20 73 65 65 29 20 69 73 20 63 61 ote.-reduce::).(which.see).is.ca
319a0 6c 6c 65 64 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 0a 20 20 20 20 20 61 72 67 75 6d 65 6e 74 lled.with.the.same......argument
319c0 73 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e e2 80 99 73 20 61 6e 61 70 68 s........This.function...s.anaph
319e0 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 2d 2d 72 65 64 75 63 74 69 oric.counterpart.is....--reducti
31a00 6f 6e 73 e2 80 99 2e 0a 0a 20 20 20 20 20 46 6f 72 20 6f 74 68 65 72 20 66 6f 6c 64 73 2c 20 73 ons...........For.other.folds,.s
31a20 65 65 20 61 6c 73 6f 20 e2 80 98 2d 72 65 64 75 63 74 69 6f 6e 73 e2 80 99 20 28 2a 6e 6f 74 65 ee.also....-reductions....(*note
31a40 20 2d 72 65 64 75 63 74 69 6f 6e 73 3a 3a 29 20 61 6e 64 0a 20 20 20 20 20 e2 80 98 2d 72 65 64 .-reductions::).and.........-red
31a60 75 63 74 69 6f 6e 73 2d 72 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 64 75 63 74 69 6f 6e 73 2d uctions-r....(*note.-reductions-
31a80 72 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 64 75 63 74 69 6f 6e 73 20 23 27 r::).............(-reductions.#'
31aa0 2b 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 +.'(1.2.3.4))...................
31ac0 28 31 20 33 20 36 20 31 30 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 64 75 63 74 69 6f 6e (1.3.6.10)...........(-reduction
31ae0 73 20 23 27 2a 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 s.#'*.'(1.2.3.4))...............
31b00 e2 87 92 20 28 31 20 32 20 36 20 32 34 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 72 65 64 75 ....(1.2.6.24)...........(--redu
31b20 63 74 69 6f 6e 73 20 28 66 6f 72 6d 61 74 20 22 28 46 4e 20 25 73 20 25 64 29 22 20 61 63 63 20 ctions.(format."(FN.%s.%d)".acc.
31b40 69 74 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 it).'(1.2.3))...................
31b60 28 31 20 22 28 46 4e 20 31 20 32 29 22 20 22 28 46 4e 20 28 46 4e 20 31 20 32 29 20 33 29 22 29 (1."(FN.1.2)"."(FN.(FN.1.2).3)")
31b80 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 20 28 66 ...--.Function:.-reductions-r.(f
31ba0 6e 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 46 4e n.list)......Return.a.list.of.FN
31bc0 e2 80 99 73 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 72 65 64 75 63 74 69 6f 6e 73 20 61 63 72 ...s.intermediate.reductions.acr
31be0 6f 73 73 20 72 65 76 65 72 73 65 64 20 4c 49 53 54 2e 0a 20 20 20 20 20 54 68 61 74 20 69 73 2c oss.reversed.LIST.......That.is,
31c00 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 76 61 6c 75 .a.list.of.the.intermediate.valu
31c20 65 73 20 6f 66 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 20 77 68 65 6e 0a 20 20 20 20 20 es.of.the.accumulator.when......
31c40 e2 80 98 2d 72 65 64 75 63 65 2d 72 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 64 75 63 65 2d 72 ...-reduce-r....(*note.-reduce-r
31c60 3a 3a 29 20 28 77 68 69 63 68 20 73 65 65 29 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 74 ::).(which.see).is.called.with.t
31c80 68 65 20 73 61 6d 65 0a 20 20 20 20 20 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 20 20 20 20 20 54 68 he.same......arguments........Th
31ca0 69 73 20 66 75 6e 63 74 69 6f 6e e2 80 99 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 is.function...s.anaphoric.counte
31cc0 72 70 61 72 74 20 69 73 20 e2 80 98 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 e2 80 99 2e 0a 0a rpart.is....--reductions-r......
31ce0 20 20 20 20 20 46 6f 72 20 6f 74 68 65 72 20 66 6f 6c 64 73 2c 20 73 65 65 20 61 6c 73 6f 20 e2 .....For.other.folds,.see.also..
31d00 80 98 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d e2 80 99 20 28 2a 6e 6f 74 65 0a 20 ..-reductions-r-from....(*note..
31d20 20 20 20 20 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 3a 3a 29 20 61 6e 64 20 e2 80 ....-reductions-r-from::).and...
31d40 98 2d 72 65 64 75 63 74 69 6f 6e 73 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 64 75 63 74 69 6f .-reductions....(*note.-reductio
31d60 6e 73 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 ns::).............(-reductions-r
31d80 20 23 27 2b 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 .#'+.'(1.2.3.4))................
31da0 87 92 20 28 31 30 20 39 20 37 20 34 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 64 75 63 74 ...(10.9.7.4)...........(-reduct
31dc0 69 6f 6e 73 2d 72 20 23 27 2a 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 ions-r.#'*.'(1.2.3.4))..........
31de0 20 20 20 20 20 e2 87 92 20 28 32 34 20 32 34 20 31 32 20 34 29 0a 20 20 20 20 20 20 20 20 20 20 .........(24.24.12.4)...........
31e00 28 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 20 28 66 6f 72 6d 61 74 20 22 28 46 4e 20 25 64 20 (--reductions-r.(format."(FN.%d.
31e20 25 73 29 22 20 69 74 20 61 63 63 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 %s)".it.acc).'(1.2.3))..........
31e40 20 20 20 20 20 e2 87 92 20 28 22 28 46 4e 20 31 20 28 46 4e 20 32 20 33 29 29 22 20 22 28 46 4e .........("(FN.1.(FN.2.3))"."(FN
31e60 20 32 20 33 29 22 20 33 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 63 6f 75 6e 74 20 .2.3)".3)...--.Function:.-count.
31e80 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 20 20 20 43 6f 75 6e 74 73 20 74 68 65 20 6e 75 6d 62 (pred.list)......Counts.the.numb
31ea0 65 72 20 6f 66 20 69 74 65 6d 73 20 69 6e 20 4c 49 53 54 20 77 68 65 72 65 20 28 50 52 45 44 20 er.of.items.in.LIST.where.(PRED.
31ec0 69 74 65 6d 29 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 63 item).is.non-nil.............(-c
31ee0 6f 75 6e 74 20 27 65 76 65 6e 3f 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 ount.'even?.'(1.2.3.4.5)).......
31f00 20 20 20 20 20 20 20 20 e2 87 92 20 32 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 63 6f 75 6e 74 ............2...........(--count
31f20 20 28 3c 20 69 74 20 34 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 .(<.it.4).'(1.2.3.4))...........
31f40 20 20 20 20 e2 87 92 20 33 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 73 75 6d 20 28 6c ........3...--.Function:.-sum.(l
31f60 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 73 75 6d 20 6f 66 20 4c 49 53 54 ist)......Return.the.sum.of.LIST
31f80 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 75 6d 20 28 29 29 0a 20 20 20 20 20 20 20 20 20 .............(-sum.())..........
31fa0 20 20 20 20 20 e2 87 92 20 30 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 75 6d 20 27 28 31 29 29 .........0...........(-sum.'(1))
31fc0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 31 0a 20 20 20 20 20 20 20 20 20 20 28 ...................1...........(
31fe0 2d 73 75 6d 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 -sum.'(1.2.3.4))................
32000 87 92 20 31 30 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 72 75 6e 6e 69 6e 67 2d 73 75 ...10...--.Function:.-running-su
32020 6d 20 28 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 77 69 74 68 m.(list)......Return.a.list.with
32040 20 72 75 6e 6e 69 6e 67 20 73 75 6d 73 20 6f 66 20 69 74 65 6d 73 20 69 6e 20 4c 49 53 54 2e 20 .running.sums.of.items.in.LIST..
32060 20 4c 49 53 54 20 6d 75 73 74 20 62 65 0a 20 20 20 20 20 6e 6f 6e 2d 65 6d 70 74 79 2e 0a 0a 20 .LIST.must.be......non-empty....
32080 20 20 20 20 20 20 20 20 20 28 2d 72 75 6e 6e 69 6e 67 2d 73 75 6d 20 27 28 31 20 32 20 33 20 34 .........(-running-sum.'(1.2.3.4
320a0 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 33 20 36 20 31 30 29 0a ))...................(1.3.6.10).
320c0 20 20 20 20 20 20 20 20 20 20 28 2d 72 75 6e 6e 69 6e 67 2d 73 75 6d 20 27 28 31 29 29 0a 20 20 ..........(-running-sum.'(1))...
320e0 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d ................(1)...........(-
32100 72 75 6e 6e 69 6e 67 2d 73 75 6d 20 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 72 running-sum.())...............er
32120 72 6f 72 e2 86 92 20 57 72 6f 6e 67 20 74 79 70 65 20 61 72 67 75 6d 65 6e 74 3a 20 63 6f 6e 73 ror....Wrong.type.argument:.cons
32140 70 2c 20 6e 69 6c 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 70 72 6f 64 75 63 74 20 28 p,.nil...--.Function:.-product.(
32160 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 70 72 6f 64 75 63 74 20 6f 66 list)......Return.the.product.of
32180 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 72 6f 64 75 63 74 20 28 29 29 0a .LIST.............(-product.()).
321a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 31 0a 20 20 20 20 20 20 20 20 20 20 28 2d ..................1...........(-
321c0 70 72 6f 64 75 63 74 20 27 28 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 product.'(1))...................
321e0 31 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 72 6f 64 75 63 74 20 27 28 31 20 32 20 33 20 34 29 1...........(-product.'(1.2.3.4)
32200 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 32 34 0a 0a 20 2d 2d 20 46 75 6e 63 )...................24...--.Func
32220 74 69 6f 6e 3a 20 2d 72 75 6e 6e 69 6e 67 2d 70 72 6f 64 75 63 74 20 28 6c 69 73 74 29 0a 20 20 tion:.-running-product.(list)...
32240 20 20 20 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 77 69 74 68 20 72 75 6e 6e 69 6e 67 20 70 72 ...Return.a.list.with.running.pr
32260 6f 64 75 63 74 73 20 6f 66 20 69 74 65 6d 73 20 69 6e 20 4c 49 53 54 2e 20 20 4c 49 53 54 20 6d oducts.of.items.in.LIST...LIST.m
32280 75 73 74 20 62 65 0a 20 20 20 20 20 6e 6f 6e 2d 65 6d 70 74 79 2e 0a 0a 20 20 20 20 20 20 20 20 ust.be......non-empty...........
322a0 20 20 28 2d 72 75 6e 6e 69 6e 67 2d 70 72 6f 64 75 63 74 20 27 28 31 20 32 20 33 20 34 29 29 0a ..(-running-product.'(1.2.3.4)).
322c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 36 20 32 34 29 0a 20 20 20 ..................(1.2.6.24)....
322e0 20 20 20 20 20 20 20 28 2d 72 75 6e 6e 69 6e 67 2d 70 72 6f 64 75 63 74 20 27 28 31 29 29 0a 20 .......(-running-product.'(1))..
32300 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 .................(1)...........(
32320 2d 72 75 6e 6e 69 6e 67 2d 70 72 6f 64 75 63 74 20 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 -running-product.())............
32340 20 20 20 65 72 72 6f 72 e2 86 92 20 57 72 6f 6e 67 20 74 79 70 65 20 61 72 67 75 6d 65 6e 74 3a ...error....Wrong.type.argument:
32360 20 63 6f 6e 73 70 2c 20 6e 69 6c 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 69 6e 69 74 .consp,.nil...--.Function:.-init
32380 73 20 28 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 6c 6c 20 70 72 65 66 69 78 65 s.(list)......Return.all.prefixe
323a0 73 20 6f 66 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 6e 69 74 73 20 27 28 s.of.LIST.............(-inits.'(
323c0 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 6e 69 6c 1.2.3.4))...................(nil
323e0 20 28 31 29 20 28 31 20 32 29 20 28 31 20 32 20 33 29 20 28 31 20 32 20 33 20 34 29 29 0a 20 20 .(1).(1.2).(1.2.3).(1.2.3.4))...
32400 20 20 20 20 20 20 20 20 28 2d 69 6e 69 74 73 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 ........(-inits.nil)............
32420 20 20 20 e2 87 92 20 28 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 6e 69 74 73 20 27 .......(nil)...........(-inits.'
32440 28 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 6e 69 6c 20 28 31 29 29 (1))...................(nil.(1))
32460 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 74 61 69 6c 73 20 28 6c 69 73 74 29 0a 20 20 ...--.Function:.-tails.(list)...
32480 20 20 20 52 65 74 75 72 6e 20 61 6c 6c 20 73 75 66 66 69 78 65 73 20 6f 66 20 4c 49 53 54 0a 0a ...Return.all.suffixes.of.LIST..
324a0 20 20 20 20 20 20 20 20 20 20 28 2d 74 61 69 6c 73 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 ..........(-tails.'(1.2.3.4))...
324c0 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 32 20 33 20 34 29 20 28 32 20 33 20 ................((1.2.3.4).(2.3.
324e0 34 29 20 28 33 20 34 29 20 28 34 29 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 61 4).(3.4).(4).nil)...........(-ta
32500 69 6c 73 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 6e 69 6c 29 ils.nil)...................(nil)
32520 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 61 69 6c 73 20 27 28 31 29 29 0a 20 20 20 20 20 20 20 ...........(-tails.'(1))........
32540 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 29 20 6e 69 6c 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 ...........((1).nil)...--.Functi
32560 6f 6e 3a 20 2d 63 6f 6d 6d 6f 6e 2d 70 72 65 66 69 78 20 28 26 72 65 73 74 20 6c 69 73 74 73 29 on:.-common-prefix.(&rest.lists)
32580 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 6c 6f 6e 67 65 73 74 20 63 6f 6d 6d 6f 6e 20 ......Return.the.longest.common.
325a0 70 72 65 66 69 78 20 6f 66 20 4c 49 53 54 53 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 63 6f prefix.of.LISTS.............(-co
325c0 6d 6d 6f 6e 2d 70 72 65 66 69 78 20 27 28 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 mmon-prefix.'(1))...............
325e0 e2 87 92 20 28 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 63 6f 6d 6d 6f 6e 2d 70 72 65 66 69 ....(1)...........(-common-prefi
32600 78 20 27 28 31 20 32 29 20 27 28 33 20 34 29 20 27 28 31 20 32 29 29 0a 20 20 20 20 20 20 20 20 x.'(1.2).'(3.4).'(1.2)).........
32620 20 20 20 20 20 20 e2 87 92 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 63 6f 6d 6d 6f 6e 2d ..........()...........(-common-
32640 70 72 65 66 69 78 20 27 28 31 20 32 29 20 27 28 31 20 32 20 33 29 20 27 28 31 20 32 20 33 20 34 prefix.'(1.2).'(1.2.3).'(1.2.3.4
32660 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 29 0a 0a 20 2d 2d 20 ))...................(1.2)...--.
32680 46 75 6e 63 74 69 6f 6e 3a 20 2d 63 6f 6d 6d 6f 6e 2d 73 75 66 66 69 78 20 28 26 72 65 73 74 20 Function:.-common-suffix.(&rest.
326a0 6c 69 73 74 73 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 6c 6f 6e 67 65 73 74 20 63 lists)......Return.the.longest.c
326c0 6f 6d 6d 6f 6e 20 73 75 66 66 69 78 20 6f 66 20 4c 49 53 54 53 2e 0a 0a 20 20 20 20 20 20 20 20 ommon.suffix.of.LISTS...........
326e0 20 20 28 2d 63 6f 6d 6d 6f 6e 2d 73 75 66 66 69 78 20 27 28 31 29 29 0a 20 20 20 20 20 20 20 20 ..(-common-suffix.'(1)).........
32700 20 20 20 20 20 20 e2 87 92 20 28 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 63 6f 6d 6d 6f 6e ..........(1)...........(-common
32720 2d 73 75 66 66 69 78 20 27 28 31 20 32 29 20 27 28 33 20 34 29 20 27 28 31 20 32 29 29 0a 20 20 -suffix.'(1.2).'(3.4).'(1.2))...
32740 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 63 ................()...........(-c
32760 6f 6d 6d 6f 6e 2d 73 75 66 66 69 78 20 27 28 31 20 32 20 33 20 34 29 20 27 28 32 20 33 20 34 29 ommon-suffix.'(1.2.3.4).'(2.3.4)
32780 20 27 28 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 33 20 34 29 .'(3.4))...................(3.4)
327a0 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 6d 69 6e 20 28 6c 69 73 74 29 0a 20 20 20 20 ...--.Function:.-min.(list).....
327c0 20 52 65 74 75 72 6e 20 74 68 65 20 73 6d 61 6c 6c 65 73 74 20 76 61 6c 75 65 20 66 72 6f 6d 20 .Return.the.smallest.value.from.
327e0 4c 49 53 54 20 6f 66 20 6e 75 6d 62 65 72 73 20 6f 72 20 6d 61 72 6b 65 72 73 2e 0a 0a 20 20 20 LIST.of.numbers.or.markers......
32800 20 20 20 20 20 20 20 28 2d 6d 69 6e 20 27 28 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .......(-min.'(0))..............
32820 20 e2 87 92 20 30 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6d 69 6e 20 27 28 33 20 32 20 31 29 29 .....0...........(-min.'(3.2.1))
32840 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 31 0a 20 20 20 20 20 20 20 20 20 20 28 ...................1...........(
32860 2d 6d 69 6e 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 -min.'(1.2.3))..................
32880 20 31 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 6d 69 6e 2d 62 79 20 28 63 6f 6d 70 61 .1...--.Function:.-min-by.(compa
328a0 72 61 74 6f 72 20 6c 69 73 74 29 0a 20 20 20 20 20 54 61 6b 65 20 61 20 63 6f 6d 70 61 72 69 73 rator.list)......Take.a.comparis
328c0 6f 6e 20 66 75 6e 63 74 69 6f 6e 20 43 4f 4d 50 41 52 41 54 4f 52 20 61 6e 64 20 61 20 4c 49 53 on.function.COMPARATOR.and.a.LIS
328e0 54 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 0a 20 20 20 20 20 6c 65 61 73 74 20 65 6c 65 6d T.and.return.the......least.elem
32900 65 6e 74 20 6f 66 20 74 68 65 20 6c 69 73 74 20 62 79 20 74 68 65 20 63 6f 6d 70 61 72 69 73 6f ent.of.the.list.by.the.compariso
32920 6e 20 66 75 6e 63 74 69 6f 6e 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 20 63 6f 6d 62 69 n.function........See.also.combi
32940 6e 61 74 6f 72 20 e2 80 98 2d 6f 6e e2 80 99 20 28 2a 6e 6f 74 65 20 2d 6f 6e 3a 3a 29 20 77 68 nator....-on....(*note.-on::).wh
32960 69 63 68 20 63 61 6e 20 74 72 61 6e 73 66 6f 72 6d 20 74 68 65 0a 20 20 20 20 20 76 61 6c 75 65 ich.can.transform.the......value
32980 73 20 62 65 66 6f 72 65 20 63 6f 6d 70 61 72 69 6e 67 20 74 68 65 6d 2e 0a 0a 20 20 20 20 20 20 s.before.comparing.them.........
329a0 20 20 20 20 28 2d 6d 69 6e 2d 62 79 20 27 3e 20 27 28 34 20 33 20 36 20 31 29 29 0a 20 20 20 20 ....(-min-by.'>.'(4.3.6.1)).....
329c0 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 31 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 6d 69 6e ..............1...........(--min
329e0 2d 62 79 20 28 3e 20 28 63 61 72 20 69 74 29 20 28 63 61 72 20 6f 74 68 65 72 29 29 20 27 28 28 -by.(>.(car.it).(car.other)).'((
32a00 31 20 32 20 33 29 20 28 32 29 20 28 33 20 32 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 1.2.3).(2).(3.2)))..............
32a20 20 e2 87 92 20 28 31 20 32 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 6d 69 6e 2d 62 79 .....(1.2.3)...........(--min-by
32a40 20 28 3e 20 28 6c 65 6e 67 74 68 20 69 74 29 20 28 6c 65 6e 67 74 68 20 6f 74 68 65 72 29 29 20 .(>.(length.it).(length.other)).
32a60 27 28 28 31 20 32 20 33 29 20 28 32 29 20 28 33 20 32 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 '((1.2.3).(2).(3.2)))...........
32a80 20 20 20 20 e2 87 92 20 28 32 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 6d 61 78 20 ........(2)...--.Function:.-max.
32aa0 28 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 6c 61 72 67 65 73 74 20 76 (list)......Return.the.largest.v
32ac0 61 6c 75 65 20 66 72 6f 6d 20 4c 49 53 54 20 6f 66 20 6e 75 6d 62 65 72 73 20 6f 72 20 6d 61 72 alue.from.LIST.of.numbers.or.mar
32ae0 6b 65 72 73 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6d 61 78 20 27 28 30 29 29 0a 20 20 20 kers.............(-max.'(0))....
32b00 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 30 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6d 61 78 ...............0...........(-max
32b20 20 27 28 33 20 32 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 33 0a 20 .'(3.2.1))...................3..
32b40 20 20 20 20 20 20 20 20 20 28 2d 6d 61 78 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 .........(-max.'(1.2.3))........
32b60 20 20 20 20 20 20 20 e2 87 92 20 33 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 6d 61 78 ...........3...--.Function:.-max
32b80 2d 62 79 20 28 63 6f 6d 70 61 72 61 74 6f 72 20 6c 69 73 74 29 0a 20 20 20 20 20 54 61 6b 65 20 -by.(comparator.list)......Take.
32ba0 61 20 63 6f 6d 70 61 72 69 73 6f 6e 20 66 75 6e 63 74 69 6f 6e 20 43 4f 4d 50 41 52 41 54 4f 52 a.comparison.function.COMPARATOR
32bc0 20 61 6e 64 20 61 20 4c 49 53 54 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 0a 20 20 20 20 20 .and.a.LIST.and.return.the......
32be0 67 72 65 61 74 65 73 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 6c 69 73 74 20 62 79 20 greatest.element.of.the.list.by.
32c00 74 68 65 20 63 6f 6d 70 61 72 69 73 6f 6e 20 66 75 6e 63 74 69 6f 6e 2e 0a 0a 20 20 20 20 20 53 the.comparison.function........S
32c20 65 65 20 61 6c 73 6f 20 63 6f 6d 62 69 6e 61 74 6f 72 20 e2 80 98 2d 6f 6e e2 80 99 20 28 2a 6e ee.also.combinator....-on....(*n
32c40 6f 74 65 20 2d 6f 6e 3a 3a 29 20 77 68 69 63 68 20 63 61 6e 20 74 72 61 6e 73 66 6f 72 6d 20 74 ote.-on::).which.can.transform.t
32c60 68 65 0a 20 20 20 20 20 76 61 6c 75 65 73 20 62 65 66 6f 72 65 20 63 6f 6d 70 61 72 69 6e 67 20 he......values.before.comparing.
32c80 74 68 65 6d 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6d 61 78 2d 62 79 20 27 3e 20 27 28 34 them.............(-max-by.'>.'(4
32ca0 20 33 20 36 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 36 0a 20 20 20 .3.6.1))...................6....
32cc0 20 20 20 20 20 20 20 28 2d 2d 6d 61 78 2d 62 79 20 28 3e 20 28 63 61 72 20 69 74 29 20 28 63 61 .......(--max-by.(>.(car.it).(ca
32ce0 72 20 6f 74 68 65 72 29 29 20 27 28 28 31 20 32 20 33 29 20 28 32 29 20 28 33 20 32 29 29 29 0a r.other)).'((1.2.3).(2).(3.2))).
32d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 33 20 32 29 0a 20 20 20 20 20 20 20 20 ..................(3.2).........
32d20 20 20 28 2d 2d 6d 61 78 2d 62 79 20 28 3e 20 28 6c 65 6e 67 74 68 20 69 74 29 20 28 6c 65 6e 67 ..(--max-by.(>.(length.it).(leng
32d40 74 68 20 6f 74 68 65 72 29 29 20 27 28 28 31 20 32 20 33 29 20 28 32 29 20 28 33 20 32 29 29 29 th.other)).'((1.2.3).(2).(3.2)))
32d60 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 29 0a 0a 1f 0a 46 69 ...................(1.2.3)....Fi
32d80 6c 65 3a 20 64 61 73 68 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 55 6e 66 6f 6c 64 69 6e 67 2c le:.dash.info,..Node:.Unfolding,
32da0 20 20 4e 65 78 74 3a 20 50 72 65 64 69 63 61 74 65 73 2c 20 20 50 72 65 76 3a 20 52 65 64 75 63 ..Next:.Predicates,..Prev:.Reduc
32dc0 74 69 6f 6e 73 2c 20 20 55 70 3a 20 46 75 6e 63 74 69 6f 6e 73 0a 0a 32 2e 35 20 55 6e 66 6f 6c tions,..Up:.Functions..2.5.Unfol
32de0 64 69 6e 67 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 4f 70 65 72 61 74 69 6f 6e 73 20 64 ding.=============..Operations.d
32e00 75 61 6c 20 74 6f 20 72 65 64 75 63 74 69 6f 6e 73 2c 20 62 75 69 6c 64 69 6e 67 20 6c 69 73 74 ual.to.reductions,.building.list
32e20 73 20 66 72 6f 6d 20 61 20 73 65 65 64 20 76 61 6c 75 65 20 72 61 74 68 65 72 0a 74 68 61 6e 20 s.from.a.seed.value.rather.than.
32e40 63 6f 6e 73 75 6d 69 6e 67 20 61 20 6c 69 73 74 20 74 6f 20 70 72 6f 64 75 63 65 20 61 20 73 69 consuming.a.list.to.produce.a.si
32e60 6e 67 6c 65 20 76 61 6c 75 65 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 69 74 65 72 ngle.value....--.Function:.-iter
32e80 61 74 65 20 28 66 75 6e 20 69 6e 69 74 20 6e 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 6c ate.(fun.init.n)......Return.a.l
32ea0 69 73 74 20 6f 66 20 69 74 65 72 61 74 65 64 20 61 70 70 6c 69 63 61 74 69 6f 6e 73 20 6f 66 20 ist.of.iterated.applications.of.
32ec0 46 55 4e 20 74 6f 20 49 4e 49 54 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 6d 65 61 6e 73 20 61 20 FUN.to.INIT........This.means.a.
32ee0 6c 69 73 74 20 6f 66 20 74 68 65 20 66 6f 72 6d 3a 0a 0a 20 20 20 20 20 28 49 4e 49 54 20 28 46 list.of.the.form:.......(INIT.(F
32f00 55 4e 20 49 4e 49 54 29 20 28 46 55 4e 20 28 46 55 4e 20 49 4e 49 54 29 29 20 2e 2e 2e 29 0a 0a UN.INIT).(FUN.(FUN.INIT))....)..
32f20 20 20 20 20 20 4e 20 69 73 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 72 65 74 75 .....N.is.the.length.of.the.retu
32f40 72 6e 65 64 20 6c 69 73 74 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 74 65 72 61 74 65 20 rned.list.............(-iterate.
32f60 23 27 31 2b 20 31 20 31 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 #'1+.1.10)...................(1.
32f80 32 20 33 20 34 20 35 20 36 20 37 20 38 20 39 20 31 30 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2.3.4.5.6.7.8.9.10)...........(-
32fa0 69 74 65 72 61 74 65 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 2b 20 78 20 78 29 29 20 32 20 35 iterate.(lambda.(x).(+.x.x)).2.5
32fc0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 32 20 34 20 38 20 31 36 20 33 32 )...................(2.4.8.16.32
32fe0 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 69 74 65 72 61 74 65 20 28 2a 20 69 74 20 69 74 29 )...........(--iterate.(*.it.it)
33000 20 32 20 35 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 32 20 34 20 31 36 20 .2.5)...................(2.4.16.
33020 32 35 36 20 36 35 35 33 36 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 75 6e 66 6f 6c 256.65536)...--.Function:.-unfol
33040 64 20 28 66 75 6e 20 73 65 65 64 29 0a 20 20 20 20 20 42 75 69 6c 64 20 61 20 6c 69 73 74 20 66 d.(fun.seed)......Build.a.list.f
33060 72 6f 6d 20 53 45 45 44 20 75 73 69 6e 67 20 46 55 4e 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 69 rom.SEED.using.FUN........This.i
33080 73 20 22 64 75 61 6c 22 20 6f 70 65 72 61 74 69 6f 6e 20 74 6f 20 e2 80 98 2d 72 65 64 75 63 65 s."dual".operation.to....-reduce
330a0 2d 72 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 64 75 63 65 2d 72 3a 3a 29 3a 20 77 68 69 6c 65 -r....(*note.-reduce-r::):.while
330c0 0a 20 20 20 20 20 2d 72 65 64 75 63 65 2d 72 20 63 6f 6e 73 75 6d 65 73 20 61 20 6c 69 73 74 20 ......-reduce-r.consumes.a.list.
330e0 74 6f 20 70 72 6f 64 75 63 65 20 61 20 73 69 6e 67 6c 65 20 76 61 6c 75 65 2c 20 e2 80 98 2d 75 to.produce.a.single.value,....-u
33100 6e 66 6f 6c 64 e2 80 99 0a 20 20 20 20 20 28 2a 6e 6f 74 65 20 2d 75 6e 66 6f 6c 64 3a 3a 29 20 nfold.........(*note.-unfold::).
33120 74 61 6b 65 73 20 61 20 73 65 65 64 20 76 61 6c 75 65 20 61 6e 64 20 62 75 69 6c 64 73 20 61 20 takes.a.seed.value.and.builds.a.
33140 28 70 6f 74 65 6e 74 69 61 6c 6c 79 0a 20 20 20 20 20 69 6e 66 69 6e 69 74 65 21 29 20 20 6c 69 (potentially......infinite!)..li
33160 73 74 2e 0a 0a 20 20 20 20 20 46 55 4e 20 73 68 6f 75 6c 64 20 72 65 74 75 72 6e 20 e2 80 98 6e st........FUN.should.return....n
33180 69 6c e2 80 99 20 74 6f 20 73 74 6f 70 20 74 68 65 20 67 65 6e 65 72 61 74 69 6e 67 20 70 72 6f il....to.stop.the.generating.pro
331a0 63 65 73 73 2c 20 6f 72 20 61 20 63 6f 6e 73 0a 20 20 20 20 20 28 41 20 2e 20 20 42 29 2c 20 77 cess,.or.a.cons......(A....B),.w
331c0 68 65 72 65 20 41 20 77 69 6c 6c 20 62 65 20 70 72 65 70 65 6e 64 65 64 20 74 6f 20 74 68 65 20 here.A.will.be.prepended.to.the.
331e0 72 65 73 75 6c 74 20 61 6e 64 20 42 20 69 73 20 74 68 65 20 6e 65 77 0a 20 20 20 20 20 73 65 65 result.and.B.is.the.new......see
33200 64 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 75 6e 66 6f 6c 64 20 28 6c 61 6d 62 64 61 20 28 d.............(-unfold.(lambda.(
33220 78 29 20 28 75 6e 6c 65 73 73 20 28 3d 20 78 20 30 29 20 28 63 6f 6e 73 20 78 20 28 31 2d 20 78 x).(unless.(=.x.0).(cons.x.(1-.x
33240 29 29 29 29 20 31 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 30 20 39 )))).10)...................(10.9
33260 20 38 20 37 20 36 20 35 20 34 20 33 20 32 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 75 .8.7.6.5.4.3.2.1)...........(--u
33280 6e 66 6f 6c 64 20 28 77 68 65 6e 20 69 74 20 28 63 6f 6e 73 20 69 74 20 28 63 64 72 20 69 74 29 nfold.(when.it.(cons.it.(cdr.it)
332a0 29 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 )).'(1.2.3.4))..................
332c0 20 28 28 31 20 32 20 33 20 34 29 20 28 32 20 33 20 34 29 20 28 33 20 34 29 20 28 34 29 29 0a 20 .((1.2.3.4).(2.3.4).(3.4).(4))..
332e0 20 20 20 20 20 20 20 20 20 28 2d 2d 75 6e 66 6f 6c 64 20 28 77 68 65 6e 20 69 74 20 28 63 6f 6e .........(--unfold.(when.it.(con
33300 73 20 69 74 20 28 62 75 74 6c 61 73 74 20 69 74 29 29 29 20 27 28 31 20 32 20 33 20 34 29 29 0a s.it.(butlast.it))).'(1.2.3.4)).
33320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 32 20 33 20 34 29 20 28 31 20 ..................((1.2.3.4).(1.
33340 32 20 33 29 20 28 31 20 32 29 20 28 31 29 29 0a 0a 1f 0a 46 69 6c 65 3a 20 64 61 73 68 2e 69 6e 2.3).(1.2).(1))....File:.dash.in
33360 66 6f 2c 20 20 4e 6f 64 65 3a 20 50 72 65 64 69 63 61 74 65 73 2c 20 20 4e 65 78 74 3a 20 50 61 fo,..Node:.Predicates,..Next:.Pa
33380 72 74 69 74 69 6f 6e 69 6e 67 2c 20 20 50 72 65 76 3a 20 55 6e 66 6f 6c 64 69 6e 67 2c 20 20 55 rtitioning,..Prev:.Unfolding,..U
333a0 70 3a 20 46 75 6e 63 74 69 6f 6e 73 0a 0a 32 2e 36 20 50 72 65 64 69 63 61 74 65 73 0a 3d 3d 3d p:.Functions..2.6.Predicates.===
333c0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 52 65 64 75 63 74 69 6f 6e 73 20 6f 66 20 6f 6e 65 20 6f ===========..Reductions.of.one.o
333e0 72 20 6d 6f 72 65 20 6c 69 73 74 73 20 74 6f 20 61 20 62 6f 6f 6c 65 61 6e 20 76 61 6c 75 65 2e r.more.lists.to.a.boolean.value.
33400 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 73 6f 6d 65 20 28 70 72 65 64 20 6c 69 73 74 ...--.Function:.-some.(pred.list
33420 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 28 50 52 45 44 20 78 29 20 66 6f 72 20 74 68 65 20 66 )......Return.(PRED.x).for.the.f
33440 69 72 73 74 20 4c 49 53 54 20 69 74 65 6d 20 77 68 65 72 65 20 28 50 52 45 44 20 78 29 20 69 73 irst.LIST.item.where.(PRED.x).is
33460 20 6e 6f 6e 2d 6e 69 6c 2c 0a 20 20 20 20 20 65 6c 73 65 20 6e 69 6c 2e 0a 0a 20 20 20 20 20 41 .non-nil,......else.nil........A
33480 6c 69 61 73 3a 20 e2 80 98 2d 61 6e 79 e2 80 99 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e lias:....-any...........This.fun
334a0 63 74 69 6f 6e e2 80 99 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 ction...s.anaphoric.counterpart.
334c0 69 73 20 e2 80 98 2d 2d 73 6f 6d 65 e2 80 99 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 6f is....--some................(-so
334e0 6d 65 20 23 27 73 74 72 69 6e 67 70 20 27 28 31 20 22 32 22 20 33 29 29 0a 20 20 20 20 20 20 20 me.#'stringp.'(1."2".3))........
33500 20 20 20 20 20 20 20 e2 87 92 20 74 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 73 6f 6d 65 20 28 ...........t...........(--some.(
33520 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 22 78 22 20 69 74 29 20 27 28 22 66 6f 6f 22 20 22 string-match-p."x".it).'("foo"."
33540 61 78 65 22 20 22 78 6f 72 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 31 axe"."xor"))...................1
33560 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 73 6f 6d 65 20 28 3d 20 69 74 2d 69 6e 64 65 78 20 33 ...........(--some.(=.it-index.3
33580 29 20 27 28 30 20 31 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 ).'(0.1.2))...................ni
335a0 6c 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 65 76 65 72 79 20 28 70 72 65 64 20 6c 69 l...--.Function:.-every.(pred.li
335c0 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 50 52 45 44 20 st)......Return.non-nil.if.PRED.
335e0 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 20 66 6f 72 20 61 6c 6c 20 69 74 65 6d 73 20 69 6e returns.non-nil.for.all.items.in
33600 20 4c 49 53 54 2e 20 20 49 66 0a 20 20 20 20 20 73 6f 2c 20 72 65 74 75 72 6e 20 74 68 65 20 6c .LIST...If......so,.return.the.l
33620 61 73 74 20 73 75 63 68 20 72 65 73 75 6c 74 20 6f 66 20 50 52 45 44 2e 20 20 4f 74 68 65 72 77 ast.such.result.of.PRED...Otherw
33640 69 73 65 2c 20 6f 6e 63 65 20 61 6e 20 69 74 65 6d 0a 20 20 20 20 20 69 73 20 72 65 61 63 68 65 ise,.once.an.item......is.reache
33660 64 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 44 20 72 65 74 75 72 6e 73 20 6e 69 6c 2c 20 72 65 d.for.which.PRED.returns.nil,.re
33680 74 75 72 6e 20 6e 69 6c 20 77 69 74 68 6f 75 74 20 63 61 6c 6c 69 6e 67 0a 20 20 20 20 20 50 52 turn.nil.without.calling......PR
336a0 45 44 20 6f 6e 20 61 6e 79 20 66 75 72 74 68 65 72 20 4c 49 53 54 20 65 6c 65 6d 65 6e 74 73 2e ED.on.any.further.LIST.elements.
336c0 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6c 69 6b 65 20 e2 80 98 .......This.function.is.like....
336e0 2d 65 76 65 72 79 2d 70 e2 80 99 2c 20 62 75 74 20 6f 6e 20 73 75 63 63 65 73 73 20 72 65 74 75 -every-p...,.but.on.success.retu
33700 72 6e 73 20 74 68 65 20 6c 61 73 74 0a 20 20 20 20 20 6e 6f 6e 2d 6e 69 6c 20 72 65 73 75 6c 74 rns.the.last......non-nil.result
33720 20 6f 66 20 50 52 45 44 20 69 6e 73 74 65 61 64 20 6f 66 20 6a 75 73 74 20 74 2e 0a 0a 20 20 20 .of.PRED.instead.of.just.t......
33740 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e e2 80 99 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f ..This.function...s.anaphoric.co
33760 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 2d 2d 65 76 65 72 79 e2 80 99 2e 0a 0a 20 20 20 unterpart.is....--every.........
33780 20 20 20 20 20 20 20 28 2d 65 76 65 72 79 20 23 27 6e 75 6d 62 65 72 70 20 27 28 31 20 32 20 33 .......(-every.#'numberp.'(1.2.3
337a0 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 74 0a 20 20 20 20 20 20 20 20 20 ))...................t..........
337c0 20 28 2d 2d 65 76 65 72 79 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 22 78 22 20 69 74 .(--every.(string-match-p."x".it
337e0 29 20 27 28 22 61 78 65 22 20 22 78 6f 72 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).'("axe"."xor"))...............
33800 e2 87 92 20 30 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 65 76 65 72 79 20 28 3d 20 69 74 20 69 ....0...........(--every.(=.it.i
33820 74 2d 69 6e 64 65 78 29 20 27 28 30 20 31 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 t-index).'(0.1.3))..............
33840 20 e2 87 92 20 6e 69 6c 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 61 6e 79 3f 20 28 70 .....nil...--.Function:.-any?.(p
33860 72 65 64 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 20 69 66 20 28 50 52 45 44 red.list)......Return.t.if.(PRED
33880 20 78 29 20 69 73 20 6e 6f 6e 2d 6e 69 6c 20 66 6f 72 20 61 6e 79 20 78 20 69 6e 20 4c 49 53 54 .x).is.non-nil.for.any.x.in.LIST
338a0 2c 20 65 6c 73 65 20 6e 69 6c 2e 0a 0a 20 20 20 20 20 41 6c 69 61 73 3a 20 e2 80 98 2d 61 6e 79 ,.else.nil........Alias:....-any
338c0 2d 70 e2 80 99 2c 20 e2 80 98 2d 73 6f 6d 65 3f e2 80 99 2c 20 e2 80 98 2d 73 6f 6d 65 2d 70 e2 -p...,....-some?...,....-some-p.
338e0 80 99 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 61 6e 79 3f 20 23 27 6e 75 6d 62 65 72 70 20 27 ..............(-any?.#'numberp.'
33900 28 6e 69 6c 20 30 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 74 0a 20 (nil.0.t))...................t..
33920 20 20 20 20 20 20 20 20 20 28 2d 61 6e 79 3f 20 23 27 6e 75 6d 62 65 72 70 20 27 28 6e 69 6c 20 .........(-any?.#'numberp.'(nil.
33940 74 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 20 20 20 20 t.t))...................nil.....
33960 20 20 20 20 20 20 28 2d 61 6e 79 3f 20 23 27 6e 75 6c 6c 20 27 28 31 20 33 20 35 29 29 0a 20 20 ......(-any?.#'null.'(1.3.5))...
33980 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f ................nil...--.Functio
339a0 6e 3a 20 2d 61 6c 6c 3f 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e n:.-all?.(pred.list)......Return
339c0 20 74 20 69 66 20 28 50 52 45 44 20 58 29 20 69 73 20 6e 6f 6e 2d 6e 69 6c 20 66 6f 72 20 61 6c .t.if.(PRED.X).is.non-nil.for.al
339e0 6c 20 58 20 69 6e 20 4c 49 53 54 2c 20 65 6c 73 65 20 6e 69 6c 2e 20 20 49 6e 0a 20 20 20 20 20 l.X.in.LIST,.else.nil...In......
33a00 74 68 65 20 6c 61 74 74 65 72 20 63 61 73 65 2c 20 73 74 6f 70 20 61 66 74 65 72 20 74 68 65 20 the.latter.case,.stop.after.the.
33a20 66 69 72 73 74 20 58 20 66 6f 72 20 77 68 69 63 68 20 28 50 52 45 44 20 58 29 20 69 73 20 6e 69 first.X.for.which.(PRED.X).is.ni
33a40 6c 2c 0a 20 20 20 20 20 77 69 74 68 6f 75 74 20 63 61 6c 6c 69 6e 67 20 50 52 45 44 20 6f 6e 20 l,......without.calling.PRED.on.
33a60 61 6e 79 20 73 75 62 73 65 71 75 65 6e 74 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 4c 49 53 54 2e any.subsequent.elements.of.LIST.
33a80 0a 0a 20 20 20 20 20 54 68 65 20 73 69 6d 69 6c 61 72 20 66 75 6e 63 74 69 6f 6e 20 e2 80 98 2d .......The.similar.function....-
33aa0 65 76 65 72 79 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 65 76 65 72 79 3a 3a 29 20 69 73 20 6d 6f 72 every....(*note.-every::).is.mor
33ac0 65 20 77 69 64 65 6c 79 0a 20 20 20 20 20 75 73 65 66 75 6c 2c 20 73 69 6e 63 65 20 69 74 20 72 e.widely......useful,.since.it.r
33ae0 65 74 75 72 6e 73 20 74 68 65 20 6c 61 73 74 20 6e 6f 6e 2d 6e 69 6c 20 72 65 73 75 6c 74 20 6f eturns.the.last.non-nil.result.o
33b00 66 20 50 52 45 44 20 69 6e 73 74 65 61 64 20 6f 66 0a 20 20 20 20 20 6a 75 73 74 20 74 20 6f 6e f.PRED.instead.of......just.t.on
33b20 20 73 75 63 63 65 73 73 2e 0a 0a 20 20 20 20 20 41 6c 69 61 73 3a 20 e2 80 98 2d 61 6c 6c 2d 70 .success........Alias:....-all-p
33b40 e2 80 99 2c 20 e2 80 98 2d 65 76 65 72 79 2d 70 e2 80 99 2c 20 e2 80 98 2d 65 76 65 72 79 3f e2 ...,....-every-p...,....-every?.
33b60 80 99 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e e2 80 99 73 20 61 6e 61 70 ..........This.function...s.anap
33b80 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 2d 2d 61 6c 6c 3f e2 80 horic.counterpart.is....--all?..
33ba0 99 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 61 6c 6c 3f 20 23 27 6e 75 6d 62 65 72 70 20 27 ..............(-all?.#'numberp.'
33bc0 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 74 0a 20 20 20 (1.2.3))...................t....
33be0 20 20 20 20 20 20 20 28 2d 61 6c 6c 3f 20 23 27 6e 75 6d 62 65 72 70 20 27 28 32 20 74 20 36 29 .......(-all?.#'numberp.'(2.t.6)
33c00 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 )...................nil.........
33c20 20 20 28 2d 2d 61 6c 6c 3f 20 28 3d 20 30 20 28 25 20 69 74 20 32 29 29 20 27 28 32 20 34 20 36 ..(--all?.(=.0.(%.it.2)).'(2.4.6
33c40 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 74 0a 0a 20 2d 2d 20 46 75 6e 63 ))...................t...--.Func
33c60 74 69 6f 6e 3a 20 2d 6e 6f 6e 65 3f 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 tion:.-none?.(pred.list)......Re
33c80 74 75 72 6e 20 74 20 69 66 20 28 50 52 45 44 20 78 29 20 69 73 20 6e 69 6c 20 66 6f 72 20 61 6c turn.t.if.(PRED.x).is.nil.for.al
33ca0 6c 20 78 20 69 6e 20 4c 49 53 54 2c 20 65 6c 73 65 20 6e 69 6c 2e 0a 0a 20 20 20 20 20 41 6c 69 l.x.in.LIST,.else.nil........Ali
33cc0 61 73 3a 20 e2 80 98 2d 6e 6f 6e 65 2d 70 e2 80 99 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6e as:....-none-p...............(-n
33ce0 6f 6e 65 3f 20 27 65 76 65 6e 3f 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 one?.'even?.'(1.2.3))...........
33d00 20 20 20 20 e2 87 92 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6e 6f 6e 65 3f 20 27 65 ........nil...........(-none?.'e
33d20 76 65 6e 3f 20 27 28 31 20 33 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 ven?.'(1.3.5))..................
33d40 20 74 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 6e 6f 6e 65 3f 20 28 3d 20 30 20 28 25 20 69 74 .t...........(--none?.(=.0.(%.it
33d60 20 32 29 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 .2)).'(1.2.3))..................
33d80 20 6e 69 6c 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 6f 6e 6c 79 2d 73 6f 6d 65 3f 20 .nil...--.Function:.-only-some?.
33da0 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 e2 80 98 74 e2 80 98 20 (pred.list)......Return....t....
33dc0 69 66 20 61 74 20 6c 65 61 73 74 20 6f 6e 65 20 69 74 65 6d 20 6f 66 20 4c 49 53 54 20 6d 61 74 if.at.least.one.item.of.LIST.mat
33de0 63 68 65 73 20 50 52 45 44 20 61 6e 64 20 61 74 20 6c 65 61 73 74 0a 20 20 20 20 20 6f 6e 65 20 ches.PRED.and.at.least......one.
33e00 69 74 65 6d 20 6f 66 20 4c 49 53 54 20 64 6f 65 73 20 6e 6f 74 20 6d 61 74 63 68 20 50 52 45 44 item.of.LIST.does.not.match.PRED
33e20 2e 20 20 52 65 74 75 72 6e 20 e2 80 98 6e 69 6c e2 80 98 20 62 6f 74 68 20 69 66 20 61 6c 6c 0a ...Return....nil....both.if.all.
33e40 20 20 20 20 20 69 74 65 6d 73 20 6d 61 74 63 68 20 74 68 65 20 70 72 65 64 69 63 61 74 65 20 6f .....items.match.the.predicate.o
33e60 72 20 69 66 20 6e 6f 6e 65 20 6f 66 20 74 68 65 20 69 74 65 6d 73 20 6d 61 74 63 68 20 74 68 65 r.if.none.of.the.items.match.the
33e80 0a 20 20 20 20 20 70 72 65 64 69 63 61 74 65 2e 0a 0a 20 20 20 20 20 41 6c 69 61 73 3a 20 e2 80 ......predicate........Alias:...
33ea0 98 2d 6f 6e 6c 79 2d 73 6f 6d 65 2d 70 e2 80 99 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6f 6e .-only-some-p...............(-on
33ec0 6c 79 2d 73 6f 6d 65 3f 20 27 65 76 65 6e 3f 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 ly-some?.'even?.'(1.2.3)).......
33ee0 20 20 20 20 20 20 20 20 e2 87 92 20 74 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6f 6e 6c 79 2d 73 ............t...........(-only-s
33f00 6f 6d 65 3f 20 27 65 76 65 6e 3f 20 27 28 31 20 33 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 ome?.'even?.'(1.3.5))...........
33f20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6f 6e 6c 79 2d 73 6f 6d ........nil...........(-only-som
33f40 65 3f 20 27 65 76 65 6e 3f 20 27 28 32 20 34 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 e?.'even?.'(2.4.6)).............
33f60 20 20 e2 87 92 20 6e 69 6c 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 63 6f 6e 74 61 69 ......nil...--.Function:.-contai
33f80 6e 73 3f 20 28 6c 69 73 74 20 65 6c 65 6d 65 6e 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 6e ns?.(list.element)......Return.n
33fa0 6f 6e 2d 6e 69 6c 20 69 66 20 4c 49 53 54 20 63 6f 6e 74 61 69 6e 73 20 45 4c 45 4d 45 4e 54 2e on-nil.if.LIST.contains.ELEMENT.
33fc0 0a 0a 20 20 20 20 20 54 68 65 20 74 65 73 74 20 66 6f 72 20 65 71 75 61 6c 69 74 79 20 69 73 20 .......The.test.for.equality.is.
33fe0 64 6f 6e 65 20 77 69 74 68 20 e2 80 98 65 71 75 61 6c e2 80 99 2c 20 6f 72 20 77 69 74 68 20 e2 done.with....equal...,.or.with..
34000 80 98 2d 63 6f 6d 70 61 72 65 2d 66 6e e2 80 99 0a 20 20 20 20 20 69 66 20 74 68 61 74 e2 80 99 ..-compare-fn.........if.that...
34020 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 0a 20 20 20 20 20 41 6c 69 61 73 3a 20 e2 80 98 2d 63 6f 6e 74 s.non-nil........Alias:....-cont
34040 61 69 6e 73 2d 70 e2 80 99 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 63 6f 6e 74 61 69 6e 73 3f ains-p...............(-contains?
34060 20 27 28 31 20 32 20 33 29 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 74 .'(1.2.3).1)...................t
34080 0a 20 20 20 20 20 20 20 20 20 20 28 2d 63 6f 6e 74 61 69 6e 73 3f 20 27 28 31 20 32 20 33 29 20 ...........(-contains?.'(1.2.3).
340a0 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 74 0a 20 20 20 20 20 20 20 20 20 2)...................t..........
340c0 20 28 2d 63 6f 6e 74 61 69 6e 73 3f 20 27 28 31 20 32 20 33 29 20 34 29 0a 20 20 20 20 20 20 20 .(-contains?.'(1.2.3).4)........
340e0 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 73 ...........nil...--.Function:.-s
34100 61 6d 65 2d 69 74 65 6d 73 3f 20 28 6c 69 73 74 20 6c 69 73 74 32 29 0a 20 20 20 20 20 52 65 74 ame-items?.(list.list2)......Ret
34120 75 72 6e 20 74 72 75 65 20 69 66 20 4c 49 53 54 20 61 6e 64 20 4c 49 53 54 32 20 68 61 73 20 74 urn.true.if.LIST.and.LIST2.has.t
34140 68 65 20 73 61 6d 65 20 69 74 65 6d 73 2e 0a 0a 20 20 20 20 20 54 68 65 20 6f 72 64 65 72 20 6f he.same.items........The.order.o
34160 66 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 69 6e 20 74 68 65 20 6c 69 73 74 73 20 64 6f 65 73 f.the.elements.in.the.lists.does
34180 20 6e 6f 74 20 6d 61 74 74 65 72 2e 0a 0a 20 20 20 20 20 41 6c 69 61 73 3a 20 e2 80 98 2d 73 61 .not.matter........Alias:....-sa
341a0 6d 65 2d 69 74 65 6d 73 2d 70 e2 80 99 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 61 6d 65 2d me-items-p...............(-same-
341c0 69 74 65 6d 73 3f 20 27 28 31 20 32 20 33 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 items?.'(1.2.3).'(1.2.3)).......
341e0 20 20 20 20 20 20 20 20 e2 87 92 20 74 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 61 6d 65 2d 69 ............t...........(-same-i
34200 74 65 6d 73 3f 20 27 28 31 20 32 20 33 29 20 27 28 33 20 32 20 31 29 29 0a 20 20 20 20 20 20 20 tems?.'(1.2.3).'(3.2.1))........
34220 20 20 20 20 20 20 20 e2 87 92 20 74 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 61 6d 65 2d 69 74 ...........t...........(-same-it
34240 65 6d 73 3f 20 27 28 31 20 32 20 33 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 ems?.'(1.2.3).'(1.2.3.4)).......
34260 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d ............nil...--.Function:.-
34280 69 73 2d 70 72 65 66 69 78 3f 20 28 70 72 65 66 69 78 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 is-prefix?.(prefix.list)......Re
342a0 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 50 52 45 46 49 58 20 69 73 20 61 20 70 72 65 66 turn.non-nil.if.PREFIX.is.a.pref
342c0 69 78 20 6f 66 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 41 6c 69 61 73 3a 20 e2 80 98 2d 69 73 2d ix.of.LIST........Alias:....-is-
342e0 70 72 65 66 69 78 2d 70 e2 80 99 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 73 2d 70 72 65 prefix-p................(-is-pre
34300 66 69 78 3f 20 27 28 31 20 32 20 33 29 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 fix?.'(1.2.3).'(1.2.3.4.5)).....
34320 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 74 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 73 2d 70 ..............t...........(-is-p
34340 72 65 66 69 78 3f 20 27 28 31 20 32 20 33 20 34 20 35 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 refix?.'(1.2.3.4.5).'(1.2.3))...
34360 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 28 2d ................nil...........(-
34380 69 73 2d 70 72 65 66 69 78 3f 20 27 28 31 20 33 29 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a is-prefix?.'(1.3).'(1.2.3.4.5)).
343a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 0a 20 2d 2d 20 46 75 6e 63 74 ..................nil...--.Funct
343c0 69 6f 6e 3a 20 2d 69 73 2d 73 75 66 66 69 78 3f 20 28 73 75 66 66 69 78 20 6c 69 73 74 29 0a 20 ion:.-is-suffix?.(suffix.list)..
343e0 20 20 20 20 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 53 55 46 46 49 58 20 69 73 20 ....Return.non-nil.if.SUFFIX.is.
34400 61 20 73 75 66 66 69 78 20 6f 66 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 41 6c 69 61 73 3a 20 e2 a.suffix.of.LIST........Alias:..
34420 80 98 2d 69 73 2d 73 75 66 66 69 78 2d 70 e2 80 99 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d ..-is-suffix-p................(-
34440 69 73 2d 73 75 66 66 69 78 3f 20 27 28 33 20 34 20 35 29 20 27 28 31 20 32 20 33 20 34 20 35 29 is-suffix?.'(3.4.5).'(1.2.3.4.5)
34460 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 74 0a 20 20 20 20 20 20 20 20 20 20 )...................t...........
34480 28 2d 69 73 2d 73 75 66 66 69 78 3f 20 27 28 31 20 32 20 33 20 34 20 35 29 20 27 28 33 20 34 20 (-is-suffix?.'(1.2.3.4.5).'(3.4.
344a0 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 20 20 20 20 20 20 5))...................nil.......
344c0 20 20 20 20 28 2d 69 73 2d 73 75 66 66 69 78 3f 20 27 28 33 20 35 29 20 27 28 31 20 32 20 33 20 ....(-is-suffix?.'(3.5).'(1.2.3.
344e0 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 0a 20 2d 2d 4.5))...................nil...--
34500 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 69 73 2d 69 6e 66 69 78 3f 20 28 69 6e 66 69 78 20 6c 69 73 .Function:.-is-infix?.(infix.lis
34520 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 49 4e 46 49 58 20 t)......Return.non-nil.if.INFIX.
34540 69 73 20 69 6e 66 69 78 20 6f 66 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 6f 70 65 is.infix.of.LIST........This.ope
34560 72 61 74 69 6f 6e 20 72 75 6e 73 20 69 6e 20 4f 28 6e 5e 32 29 20 74 69 6d 65 0a 0a 20 20 20 20 ration.runs.in.O(n^2).time......
34580 20 41 6c 69 61 73 3a 20 e2 80 98 2d 69 73 2d 69 6e 66 69 78 2d 70 e2 80 99 0a 0a 20 20 20 20 20 .Alias:....-is-infix-p..........
345a0 20 20 20 20 20 28 2d 69 73 2d 69 6e 66 69 78 3f 20 27 28 31 20 32 20 33 29 20 27 28 31 20 32 20 .....(-is-infix?.'(1.2.3).'(1.2.
345c0 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 74 0a 20 20 20 20 3.4.5))...................t.....
345e0 20 20 20 20 20 20 28 2d 69 73 2d 69 6e 66 69 78 3f 20 27 28 32 20 33 20 34 29 20 27 28 31 20 32 ......(-is-infix?.'(2.3.4).'(1.2
34600 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 74 0a 20 20 20 .3.4.5))...................t....
34620 20 20 20 20 20 20 20 28 2d 69 73 2d 69 6e 66 69 78 3f 20 27 28 33 20 34 20 35 29 20 27 28 31 20 .......(-is-infix?.'(3.4.5).'(1.
34640 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 74 0a 0a 20 2.3.4.5))...................t...
34660 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 63 6f 6e 73 2d 70 61 69 72 3f 20 28 6f 62 6a 29 0a 20 --.Function:.-cons-pair?.(obj)..
34680 20 20 20 20 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 4f 42 4a 20 69 73 20 61 20 74 ....Return.non-nil.if.OBJ.is.a.t
346a0 72 75 65 20 63 6f 6e 73 20 70 61 69 72 2e 20 20 54 68 61 74 20 69 73 2c 20 61 20 63 6f 6e 73 20 rue.cons.pair...That.is,.a.cons.
346c0 28 41 20 2e 0a 20 20 20 20 20 42 29 20 77 68 65 72 65 20 42 20 69 73 20 6e 6f 74 20 61 20 6c 69 (A........B).where.B.is.not.a.li
346e0 73 74 2e 0a 0a 20 20 20 20 20 41 6c 69 61 73 3a 20 e2 80 98 2d 63 6f 6e 73 2d 70 61 69 72 2d 70 st........Alias:....-cons-pair-p
34700 e2 80 99 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 63 6f 6e 73 2d 70 61 69 72 3f 20 27 28 31 ................(-cons-pair?.'(1
34720 20 2e 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 74 0a 20 20 20 20 20 ...2))...................t......
34740 20 20 20 20 20 28 2d 63 6f 6e 73 2d 70 61 69 72 3f 20 27 28 31 20 32 29 29 0a 20 20 20 20 20 20 .....(-cons-pair?.'(1.2)).......
34760 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 28 2d 63 6f 6e 73 ............nil...........(-cons
34780 2d 70 61 69 72 3f 20 27 28 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e -pair?.'(1))...................n
347a0 69 6c 0a 0a 1f 0a 46 69 6c 65 3a 20 64 61 73 68 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 50 61 il....File:.dash.info,..Node:.Pa
347c0 72 74 69 74 69 6f 6e 69 6e 67 2c 20 20 4e 65 78 74 3a 20 49 6e 64 65 78 69 6e 67 2c 20 20 50 72 rtitioning,..Next:.Indexing,..Pr
347e0 65 76 3a 20 50 72 65 64 69 63 61 74 65 73 2c 20 20 55 70 3a 20 46 75 6e 63 74 69 6f 6e 73 0a 0a ev:.Predicates,..Up:.Functions..
34800 32 2e 37 20 50 61 72 74 69 74 69 6f 6e 69 6e 67 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 2.7.Partitioning.===============
34820 3d 0a 0a 46 75 6e 63 74 69 6f 6e 73 20 70 61 72 74 69 74 69 6f 6e 69 6e 67 20 74 68 65 20 69 6e =..Functions.partitioning.the.in
34840 70 75 74 20 6c 69 73 74 20 69 6e 74 6f 20 61 20 6c 69 73 74 20 6f 66 20 6c 69 73 74 73 2e 0a 0a put.list.into.a.list.of.lists...
34860 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 73 70 6c 69 74 2d 61 74 20 28 6e 20 6c 69 73 74 29 .--.Function:.-split-at.(n.list)
34880 0a 20 20 20 20 20 53 70 6c 69 74 20 4c 49 53 54 20 69 6e 74 6f 20 74 77 6f 20 73 75 62 6c 69 73 ......Split.LIST.into.two.sublis
348a0 74 73 20 61 66 74 65 72 20 74 68 65 20 4e 74 68 20 65 6c 65 6d 65 6e 74 2e 20 20 54 68 65 20 72 ts.after.the.Nth.element...The.r
348c0 65 73 75 6c 74 20 69 73 0a 20 20 20 20 20 61 20 6c 69 73 74 20 6f 66 20 74 77 6f 20 65 6c 65 6d esult.is......a.list.of.two.elem
348e0 65 6e 74 73 20 28 54 41 4b 45 20 44 52 4f 50 29 20 77 68 65 72 65 20 54 41 4b 45 20 69 73 20 61 ents.(TAKE.DROP).where.TAKE.is.a
34900 20 6e 65 77 20 6c 69 73 74 20 6f 66 20 74 68 65 0a 20 20 20 20 20 66 69 72 73 74 20 4e 20 65 6c .new.list.of.the......first.N.el
34920 65 6d 65 6e 74 73 20 6f 66 20 4c 49 53 54 2c 20 61 6e 64 20 44 52 4f 50 20 69 73 20 74 68 65 20 ements.of.LIST,.and.DROP.is.the.
34940 72 65 6d 61 69 6e 69 6e 67 20 65 6c 65 6d 65 6e 74 73 20 6f 66 0a 20 20 20 20 20 4c 49 53 54 20 remaining.elements.of......LIST.
34960 28 6e 6f 74 20 61 20 63 6f 70 79 29 2e 20 20 54 41 4b 45 20 61 6e 64 20 44 52 4f 50 20 61 72 65 (not.a.copy)...TAKE.and.DROP.are
34980 20 6c 69 6b 65 20 74 68 65 20 72 65 73 75 6c 74 73 20 6f 66 20 e2 80 98 2d 74 61 6b 65 e2 80 99 .like.the.results.of....-take...
349a0 0a 20 20 20 20 20 28 2a 6e 6f 74 65 20 2d 74 61 6b 65 3a 3a 29 20 61 6e 64 20 e2 80 98 2d 64 72 ......(*note.-take::).and....-dr
349c0 6f 70 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 64 72 6f 70 3a 3a 29 2c 20 72 65 73 70 65 63 74 69 76 op....(*note.-drop::),.respectiv
349e0 65 6c 79 2c 20 62 75 74 20 74 68 65 0a 20 20 20 20 20 73 70 6c 69 74 20 69 73 20 64 6f 6e 65 20 ely,.but.the......split.is.done.
34a00 69 6e 20 61 20 73 69 6e 67 6c 65 20 6c 69 73 74 20 74 72 61 76 65 72 73 61 6c 2e 0a 0a 20 20 20 in.a.single.list.traversal......
34a20 20 20 20 20 20 20 20 28 2d 73 70 6c 69 74 2d 61 74 20 33 20 27 28 31 20 32 20 33 20 34 20 35 29 .......(-split-at.3.'(1.2.3.4.5)
34a40 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 32 20 33 29 20 28 34 20 )...................((1.2.3).(4.
34a60 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 70 6c 69 74 2d 61 74 20 31 37 20 27 28 31 20 5))...........(-split-at.17.'(1.
34a80 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 2.3.4.5))...................((1.
34aa0 32 20 33 20 34 20 35 29 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 70 6c 69 74 2d 2.3.4.5).nil)...........(-split-
34ac0 61 74 20 30 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 at.0.'(1.2.3.4.5))..............
34ae0 20 e2 87 92 20 28 6e 69 6c 20 28 31 20 32 20 33 20 34 20 35 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 .....(nil.(1.2.3.4.5))...--.Func
34b00 74 69 6f 6e 3a 20 2d 73 70 6c 69 74 2d 77 69 74 68 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 tion:.-split-with.(pred.list)...
34b20 20 20 20 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 28 28 2d 74 61 6b 65 2d 77 68 69 6c ...Return.a.list.of.((-take-whil
34b40 65 20 50 52 45 44 20 4c 49 53 54 29 20 28 2d 64 72 6f 70 2d 77 68 69 6c 65 20 50 52 45 44 20 4c e.PRED.LIST).(-drop-while.PRED.L
34b60 49 53 54 29 29 2c 0a 20 20 20 20 20 69 6e 20 6e 6f 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 65 20 IST)),......in.no.more.than.one.
34b80 70 61 73 73 20 74 68 72 6f 75 67 68 20 74 68 65 20 6c 69 73 74 2e 0a 0a 20 20 20 20 20 20 20 20 pass.through.the.list...........
34ba0 20 20 28 2d 73 70 6c 69 74 2d 77 69 74 68 20 27 65 76 65 6e 3f 20 27 28 31 20 32 20 33 20 34 29 ..(-split-with.'even?.'(1.2.3.4)
34bc0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 6e 69 6c 20 28 31 20 32 20 33 20 )...................(nil.(1.2.3.
34be0 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 70 6c 69 74 2d 77 69 74 68 20 27 65 76 65 6e 4))...........(-split-with.'even
34c00 3f 20 27 28 32 20 34 20 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 ?.'(2.4.5.6))...................
34c20 28 28 32 20 34 29 20 28 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 73 70 6c 69 74 ((2.4).(5.6))...........(--split
34c40 2d 77 69 74 68 20 28 3c 20 69 74 20 34 29 20 27 28 31 20 32 20 33 20 34 20 33 20 32 20 31 29 29 -with.(<.it.4).'(1.2.3.4.3.2.1))
34c60 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 32 20 33 29 20 28 34 20 33 ...................((1.2.3).(4.3
34c80 20 32 20 31 29 29 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 2d 73 70 6c 69 74 2d 6f 6e 20 28 69 74 .2.1))...--.Macro:.-split-on.(it
34ca0 65 6d 20 6c 69 73 74 29 0a 20 20 20 20 20 53 70 6c 69 74 20 74 68 65 20 4c 49 53 54 20 65 61 63 em.list)......Split.the.LIST.eac
34cc0 68 20 74 69 6d 65 20 49 54 45 4d 20 69 73 20 66 6f 75 6e 64 2e 0a 0a 20 20 20 20 20 55 6e 6c 69 h.time.ITEM.is.found........Unli
34ce0 6b 65 20 e2 80 98 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 70 ke....-partition-by....(*note.-p
34d00 61 72 74 69 74 69 6f 6e 2d 62 79 3a 3a 29 2c 20 74 68 65 20 49 54 45 4d 20 69 73 0a 20 20 20 20 artition-by::),.the.ITEM.is.....
34d20 20 64 69 73 63 61 72 64 65 64 20 66 72 6f 6d 20 74 68 65 20 72 65 73 75 6c 74 73 2e 20 20 45 6d .discarded.from.the.results...Em
34d40 70 74 79 20 6c 69 73 74 73 20 61 72 65 20 61 6c 73 6f 20 72 65 6d 6f 76 65 64 20 66 72 6f 6d 20 pty.lists.are.also.removed.from.
34d60 74 68 65 0a 20 20 20 20 20 72 65 73 75 6c 74 2e 0a 0a 20 20 20 20 20 43 6f 6d 70 61 72 69 73 6f the......result........Compariso
34d80 6e 20 69 73 20 64 6f 6e 65 20 62 79 20 e2 80 98 65 71 75 61 6c e2 80 99 2e 0a 0a 20 20 20 20 20 n.is.done.by....equal...........
34da0 53 65 65 20 61 6c 73 6f 20 e2 80 98 2d 73 70 6c 69 74 2d 77 68 65 6e e2 80 99 20 28 2a 6e 6f 74 See.also....-split-when....(*not
34dc0 65 20 2d 73 70 6c 69 74 2d 77 68 65 6e 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 70 e.-split-when::)............(-sp
34de0 6c 69 74 2d 6f 6e 20 27 7c 20 27 28 4e 69 6c 20 7c 20 4c 65 61 66 20 61 20 7c 20 4e 6f 64 65 20 lit-on.'|.'(Nil.|.Leaf.a.|.Node.
34e00 5b 54 72 65 65 20 61 5d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 4e [Tree.a]))...................((N
34e20 69 6c 29 20 28 4c 65 61 66 20 61 29 20 28 4e 6f 64 65 20 5b 54 72 65 65 20 61 5d 29 29 0a 20 20 il).(Leaf.a).(Node.[Tree.a]))...
34e40 20 20 20 20 20 20 20 20 28 2d 73 70 6c 69 74 2d 6f 6e 20 3a 65 6e 64 67 72 6f 75 70 20 27 28 22 ........(-split-on.:endgroup.'("
34e60 61 22 20 22 62 22 20 3a 65 6e 64 67 72 6f 75 70 20 22 63 22 20 3a 65 6e 64 67 72 6f 75 70 20 22 a"."b".:endgroup."c".:endgroup."
34e80 64 22 20 22 65 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 22 61 22 d"."e"))...................(("a"
34ea0 20 22 62 22 29 20 28 22 63 22 29 20 28 22 64 22 20 22 65 22 29 29 0a 20 20 20 20 20 20 20 20 20 ."b").("c").("d"."e"))..........
34ec0 20 28 2d 73 70 6c 69 74 2d 6f 6e 20 3a 65 6e 64 67 72 6f 75 70 20 27 28 22 61 22 20 22 62 22 20 .(-split-on.:endgroup.'("a"."b".
34ee0 3a 65 6e 64 67 72 6f 75 70 20 3a 65 6e 64 67 72 6f 75 70 20 22 64 22 20 22 65 22 29 29 0a 20 20 :endgroup.:endgroup."d"."e"))...
34f00 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 22 61 22 20 22 62 22 29 20 28 22 64 22 20 ................(("a"."b").("d".
34f20 22 65 22 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 73 70 6c 69 74 2d 77 68 65 6e "e"))...--.Function:.-split-when
34f40 20 28 66 6e 20 6c 69 73 74 29 0a 20 20 20 20 20 53 70 6c 69 74 20 74 68 65 20 4c 49 53 54 20 6f .(fn.list)......Split.the.LIST.o
34f60 6e 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 77 68 65 72 65 20 46 4e 20 72 65 74 75 72 6e 73 20 n.each.element.where.FN.returns.
34f80 6e 6f 6e 2d 6e 69 6c 2e 0a 0a 20 20 20 20 20 55 6e 6c 69 6b 65 20 e2 80 98 2d 70 61 72 74 69 74 non-nil........Unlike....-partit
34fa0 69 6f 6e 2d 62 79 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 3a 3a ion-by....(*note.-partition-by::
34fc0 29 2c 20 74 68 65 20 22 6d 61 74 63 68 65 64 22 0a 20 20 20 20 20 65 6c 65 6d 65 6e 74 20 69 73 ),.the."matched"......element.is
34fe0 20 64 69 73 63 61 72 64 65 64 20 66 72 6f 6d 20 74 68 65 20 72 65 73 75 6c 74 73 2e 20 20 45 6d .discarded.from.the.results...Em
35000 70 74 79 20 6c 69 73 74 73 20 61 72 65 20 61 6c 73 6f 0a 20 20 20 20 20 72 65 6d 6f 76 65 64 20 pty.lists.are.also......removed.
35020 66 72 6f 6d 20 74 68 65 20 72 65 73 75 6c 74 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 from.the.result........This.func
35040 74 69 6f 6e 20 63 61 6e 20 62 65 20 74 68 6f 75 67 68 74 20 6f 66 20 61 73 20 61 20 67 65 6e 65 tion.can.be.thought.of.as.a.gene
35060 72 61 6c 69 7a 61 74 69 6f 6e 20 6f 66 0a 20 20 20 20 20 e2 80 98 73 70 6c 69 74 2d 73 74 72 69 ralization.of.........split-stri
35080 6e 67 e2 80 99 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 70 6c 69 74 2d 77 68 65 6e 20 27 ng................(-split-when.'
350a0 65 76 65 6e 3f 20 27 28 31 20 32 20 33 20 34 20 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 even?.'(1.2.3.4.5.6))...........
350c0 20 20 20 20 e2 87 92 20 28 28 31 29 20 28 33 29 20 28 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 ........((1).(3).(5))...........
350e0 28 2d 73 70 6c 69 74 2d 77 68 65 6e 20 27 65 76 65 6e 3f 20 27 28 31 20 32 20 33 20 34 20 36 20 (-split-when.'even?.'(1.2.3.4.6.
35100 38 20 39 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 29 20 28 33 29 8.9))...................((1).(3)
35120 20 28 39 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 73 70 6c 69 74 2d 77 68 65 6e 20 28 6d .(9))...........(--split-when.(m
35140 65 6d 71 20 69 74 20 27 28 26 6f 70 74 69 6f 6e 61 6c 20 26 72 65 73 74 29 29 20 27 28 61 20 62 emq.it.'(&optional.&rest)).'(a.b
35160 20 26 6f 70 74 69 6f 6e 61 6c 20 63 20 64 20 26 72 65 73 74 20 61 72 67 73 29 29 0a 20 20 20 20 .&optional.c.d.&rest.args)).....
35180 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 61 20 62 29 20 28 63 20 64 29 20 28 61 72 67 73 ..............((a.b).(c.d).(args
351a0 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 73 65 70 61 72 61 74 65 20 28 70 72 65 ))...--.Function:.-separate.(pre
351c0 64 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 28 28 d.list)......Return.a.list.of.((
351e0 2d 66 69 6c 74 65 72 20 50 52 45 44 20 4c 49 53 54 29 20 28 2d 72 65 6d 6f 76 65 20 50 52 45 44 -filter.PRED.LIST).(-remove.PRED
35200 20 4c 49 53 54 29 29 2c 20 69 6e 20 6f 6e 65 0a 20 20 20 20 20 70 61 73 73 20 74 68 72 6f 75 67 .LIST)),.in.one......pass.throug
35220 68 20 74 68 65 20 6c 69 73 74 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 65 70 61 72 61 74 h.the.list.............(-separat
35240 65 20 28 6c 61 6d 62 64 61 20 28 6e 75 6d 29 20 28 3d 20 30 20 28 25 20 6e 75 6d 20 32 29 29 29 e.(lambda.(num).(=.0.(%.num.2)))
35260 20 27 28 31 20 32 20 33 20 34 20 35 20 36 20 37 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .'(1.2.3.4.5.6.7))..............
35280 20 e2 87 92 20 28 28 32 20 34 20 36 29 20 28 31 20 33 20 35 20 37 29 29 0a 20 20 20 20 20 20 20 .....((2.4.6).(1.3.5.7))........
352a0 20 20 20 28 2d 2d 73 65 70 61 72 61 74 65 20 28 3c 20 69 74 20 35 29 20 27 28 33 20 37 20 35 20 ...(--separate.(<.it.5).'(3.7.5.
352c0 39 20 33 20 32 20 31 20 34 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 9.3.2.1.4.6))...................
352e0 28 28 33 20 33 20 32 20 31 20 34 29 20 28 37 20 35 20 39 20 36 29 29 0a 20 20 20 20 20 20 20 20 ((3.3.2.1.4).(7.5.9.6)).........
35300 20 20 28 2d 73 65 70 61 72 61 74 65 20 27 63 64 72 20 27 28 28 31 20 32 29 20 28 31 29 20 28 31 ..(-separate.'cdr.'((1.2).(1).(1
35320 20 32 20 33 29 20 28 34 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 .2.3).(4)))...................((
35340 28 31 20 32 29 20 28 31 20 32 20 33 29 29 20 28 28 31 29 20 28 34 29 29 29 0a 0a 20 2d 2d 20 46 (1.2).(1.2.3)).((1).(4)))...--.F
35360 75 6e 63 74 69 6f 6e 3a 20 2d 70 61 72 74 69 74 69 6f 6e 20 28 6e 20 6c 69 73 74 29 0a 20 20 20 unction:.-partition.(n.list)....
35380 20 20 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 77 69 74 68 20 74 68 65 20 69 74 65 ..Return.a.new.list.with.the.ite
353a0 6d 73 20 69 6e 20 4c 49 53 54 20 67 72 6f 75 70 65 64 20 69 6e 74 6f 20 4e 2d 73 69 7a 65 64 0a ms.in.LIST.grouped.into.N-sized.
353c0 20 20 20 20 20 73 75 62 6c 69 73 74 73 2e 20 20 49 66 20 74 68 65 72 65 20 61 72 65 20 6e 6f 74 .....sublists...If.there.are.not
353e0 20 65 6e 6f 75 67 68 20 69 74 65 6d 73 20 74 6f 20 6d 61 6b 65 20 74 68 65 20 6c 61 73 74 20 67 .enough.items.to.make.the.last.g
35400 72 6f 75 70 0a 20 20 20 20 20 4e 2d 73 69 7a 65 64 2c 20 74 68 6f 73 65 20 69 74 65 6d 73 20 61 roup......N-sized,.those.items.a
35420 72 65 20 64 69 73 63 61 72 64 65 64 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 72 74 69 re.discarded.............(-parti
35440 74 69 6f 6e 20 32 20 27 28 31 20 32 20 33 20 34 20 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 tion.2.'(1.2.3.4.5.6))..........
35460 20 20 20 20 20 e2 87 92 20 28 28 31 20 32 29 20 28 33 20 34 29 20 28 35 20 36 29 29 0a 20 20 20 .........((1.2).(3.4).(5.6))....
35480 20 20 20 20 20 20 20 28 2d 70 61 72 74 69 74 69 6f 6e 20 32 20 27 28 31 20 32 20 33 20 34 20 35 .......(-partition.2.'(1.2.3.4.5
354a0 20 36 20 37 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 32 29 20 .6.7))...................((1.2).
354c0 28 33 20 34 29 20 28 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 72 74 69 74 69 (3.4).(5.6))...........(-partiti
354e0 6f 6e 20 33 20 27 28 31 20 32 20 33 20 34 20 35 20 36 20 37 29 29 0a 20 20 20 20 20 20 20 20 20 on.3.'(1.2.3.4.5.6.7))..........
35500 20 20 20 20 20 e2 87 92 20 28 28 31 20 32 20 33 29 20 28 34 20 35 20 36 29 29 0a 0a 20 2d 2d 20 .........((1.2.3).(4.5.6))...--.
35520 46 75 6e 63 74 69 6f 6e 3a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 20 28 6e 20 6c 69 73 74 Function:.-partition-all.(n.list
35540 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 77 69 74 68 20 74 68 )......Return.a.new.list.with.th
35560 65 20 69 74 65 6d 73 20 69 6e 20 4c 49 53 54 20 67 72 6f 75 70 65 64 20 69 6e 74 6f 20 4e 2d 73 e.items.in.LIST.grouped.into.N-s
35580 69 7a 65 64 0a 20 20 20 20 20 73 75 62 6c 69 73 74 73 2e 20 20 54 68 65 20 6c 61 73 74 20 67 72 ized......sublists...The.last.gr
355a0 6f 75 70 20 6d 61 79 20 63 6f 6e 74 61 69 6e 20 6c 65 73 73 20 74 68 61 6e 20 4e 20 69 74 65 6d oup.may.contain.less.than.N.item
355c0 73 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 20 32 20 s.............(-partition-all.2.
355e0 27 28 31 20 32 20 33 20 34 20 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 '(1.2.3.4.5.6)).................
35600 92 20 28 28 31 20 32 29 20 28 33 20 34 29 20 28 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 ..((1.2).(3.4).(5.6))...........
35620 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 20 32 20 27 28 31 20 32 20 33 20 34 20 35 20 36 20 (-partition-all.2.'(1.2.3.4.5.6.
35640 37 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 32 29 20 28 33 20 7))...................((1.2).(3.
35660 34 29 20 28 35 20 36 29 20 28 37 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 72 74 69 74 4).(5.6).(7))...........(-partit
35680 69 6f 6e 2d 61 6c 6c 20 33 20 27 28 31 20 32 20 33 20 34 20 35 20 36 20 37 29 29 0a 20 20 20 20 ion-all.3.'(1.2.3.4.5.6.7)).....
356a0 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 32 20 33 29 20 28 34 20 35 20 36 29 20 28 ..............((1.2.3).(4.5.6).(
356c0 37 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 69 6e 7))...--.Function:.-partition-in
356e0 2d 73 74 65 70 73 20 28 6e 20 73 74 65 70 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e -steps.(n.step.list)......Return
35700 20 61 20 6e 65 77 20 6c 69 73 74 20 77 69 74 68 20 74 68 65 20 69 74 65 6d 73 20 69 6e 20 4c 49 .a.new.list.with.the.items.in.LI
35720 53 54 20 67 72 6f 75 70 65 64 20 69 6e 74 6f 20 4e 2d 73 69 7a 65 64 0a 20 20 20 20 20 73 75 62 ST.grouped.into.N-sized......sub
35740 6c 69 73 74 73 20 61 74 20 6f 66 66 73 65 74 73 20 53 54 45 50 20 61 70 61 72 74 2e 20 20 49 66 lists.at.offsets.STEP.apart...If
35760 20 74 68 65 72 65 20 61 72 65 20 6e 6f 74 20 65 6e 6f 75 67 68 20 69 74 65 6d 73 20 74 6f 0a 20 .there.are.not.enough.items.to..
35780 20 20 20 20 6d 61 6b 65 20 74 68 65 20 6c 61 73 74 20 67 72 6f 75 70 20 4e 2d 73 69 7a 65 64 2c ....make.the.last.group.N-sized,
357a0 20 74 68 6f 73 65 20 69 74 65 6d 73 20 61 72 65 20 64 69 73 63 61 72 64 65 64 2e 0a 0a 20 20 20 .those.items.are.discarded......
357c0 20 20 20 20 20 20 20 28 2d 70 61 72 74 69 74 69 6f 6e 2d 69 6e 2d 73 74 65 70 73 20 32 20 31 20 .......(-partition-in-steps.2.1.
357e0 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 '(1.2.3.4))...................((
35800 31 20 32 29 20 28 32 20 33 29 20 28 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 1.2).(2.3).(3.4))...........(-pa
35820 72 74 69 74 69 6f 6e 2d 69 6e 2d 73 74 65 70 73 20 33 20 32 20 27 28 31 20 32 20 33 20 34 29 29 rtition-in-steps.3.2.'(1.2.3.4))
35840 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 32 20 33 29 29 0a 20 20 20 ...................((1.2.3))....
35860 20 20 20 20 20 20 20 28 2d 70 61 72 74 69 74 69 6f 6e 2d 69 6e 2d 73 74 65 70 73 20 33 20 32 20 .......(-partition-in-steps.3.2.
35880 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 '(1.2.3.4.5))...................
358a0 28 28 31 20 32 20 33 29 20 28 33 20 34 20 35 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a ((1.2.3).(3.4.5))...--.Function:
358c0 20 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 2d 69 6e 2d 73 74 65 70 73 20 28 6e 20 73 74 65 70 .-partition-all-in-steps.(n.step
358e0 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 77 69 .list)......Return.a.new.list.wi
35900 74 68 20 74 68 65 20 69 74 65 6d 73 20 69 6e 20 4c 49 53 54 20 67 72 6f 75 70 65 64 20 69 6e 74 th.the.items.in.LIST.grouped.int
35920 6f 20 4e 2d 73 69 7a 65 64 0a 20 20 20 20 20 73 75 62 6c 69 73 74 73 20 61 74 20 6f 66 66 73 65 o.N-sized......sublists.at.offse
35940 74 73 20 53 54 45 50 20 61 70 61 72 74 2e 20 20 54 68 65 20 6c 61 73 74 20 67 72 6f 75 70 73 20 ts.STEP.apart...The.last.groups.
35960 6d 61 79 20 63 6f 6e 74 61 69 6e 20 6c 65 73 73 0a 20 20 20 20 20 74 68 61 6e 20 4e 20 69 74 65 may.contain.less......than.N.ite
35980 6d 73 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 2d 69 ms.............(-partition-all-i
359a0 6e 2d 73 74 65 70 73 20 32 20 31 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 n-steps.2.1.'(1.2.3.4)).........
359c0 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 32 29 20 28 32 20 33 29 20 28 33 20 34 29 20 28 34 29 ..........((1.2).(2.3).(3.4).(4)
359e0 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 2d 69 6e 2d 73 )...........(-partition-all-in-s
35a00 74 65 70 73 20 33 20 32 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 teps.3.2.'(1.2.3.4))............
35a20 20 20 20 e2 87 92 20 28 28 31 20 32 20 33 29 20 28 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 .......((1.2.3).(3.4))..........
35a40 20 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 2d 69 6e 2d 73 74 65 70 73 20 33 20 32 20 27 28 .(-partition-all-in-steps.3.2.'(
35a60 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 1.2.3.4.5))...................((
35a80 31 20 32 20 33 29 20 28 33 20 34 20 35 29 20 28 35 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 1.2.3).(3.4.5).(5))...--.Functio
35aa0 6e 3a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 20 28 66 6e 20 6c 69 73 74 29 0a 20 20 20 20 20 n:.-partition-by.(fn.list)......
35ac0 41 70 70 6c 79 20 46 4e 20 74 6f 20 65 61 63 68 20 69 74 65 6d 20 69 6e 20 4c 49 53 54 2c 20 73 Apply.FN.to.each.item.in.LIST,.s
35ae0 70 6c 69 74 74 69 6e 67 20 69 74 20 65 61 63 68 20 74 69 6d 65 20 46 4e 20 72 65 74 75 72 6e 73 plitting.it.each.time.FN.returns
35b00 20 61 0a 20 20 20 20 20 6e 65 77 20 76 61 6c 75 65 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d .a......new.value.............(-
35b20 70 61 72 74 69 74 69 6f 6e 2d 62 79 20 27 65 76 65 6e 3f 20 28 29 29 0a 20 20 20 20 20 20 20 20 partition-by.'even?.()).........
35b40 20 20 20 20 20 20 e2 87 92 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 72 74 69 74 69 ..........()...........(-partiti
35b60 6f 6e 2d 62 79 20 27 65 76 65 6e 3f 20 27 28 31 20 31 20 32 20 32 20 32 20 33 20 34 20 36 20 38 on-by.'even?.'(1.1.2.2.2.3.4.6.8
35b80 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 31 29 20 28 32 20 32 ))...................((1.1).(2.2
35ba0 20 32 29 20 28 33 29 20 28 34 20 36 20 38 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 70 61 .2).(3).(4.6.8))...........(--pa
35bc0 72 74 69 74 69 6f 6e 2d 62 79 20 28 3c 20 69 74 20 33 29 20 27 28 31 20 32 20 33 20 34 20 33 20 rtition-by.(<.it.3).'(1.2.3.4.3.
35be0 32 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 32 29 20 28 2.1))...................((1.2).(
35c00 33 20 34 20 33 29 20 28 32 20 31 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 70 61 3.4.3).(2.1))...--.Function:.-pa
35c20 72 74 69 74 69 6f 6e 2d 62 79 2d 68 65 61 64 65 72 20 28 66 6e 20 6c 69 73 74 29 0a 20 20 20 20 rtition-by-header.(fn.list).....
35c40 20 41 70 70 6c 79 20 46 4e 20 74 6f 20 74 68 65 20 66 69 72 73 74 20 69 74 65 6d 20 69 6e 20 4c .Apply.FN.to.the.first.item.in.L
35c60 49 53 54 2e 20 20 54 68 61 74 20 69 73 20 74 68 65 20 68 65 61 64 65 72 20 76 61 6c 75 65 2e 0a IST...That.is.the.header.value..
35c80 20 20 20 20 20 41 70 70 6c 79 20 46 4e 20 74 6f 20 65 61 63 68 20 69 74 65 6d 20 69 6e 20 4c 49 .....Apply.FN.to.each.item.in.LI
35ca0 53 54 2c 20 73 70 6c 69 74 74 69 6e 67 20 69 74 20 65 61 63 68 20 74 69 6d 65 20 46 4e 20 72 65 ST,.splitting.it.each.time.FN.re
35cc0 74 75 72 6e 73 0a 20 20 20 20 20 74 68 65 20 68 65 61 64 65 72 20 76 61 6c 75 65 2c 20 62 75 74 turns......the.header.value,.but
35ce0 20 6f 6e 6c 79 20 61 66 74 65 72 20 73 65 65 69 6e 67 20 61 74 20 6c 65 61 73 74 20 6f 6e 65 20 .only.after.seeing.at.least.one.
35d00 6f 74 68 65 72 20 76 61 6c 75 65 0a 20 20 20 20 20 28 74 68 65 20 62 6f 64 79 29 2e 0a 0a 20 20 other.value......(the.body).....
35d20 20 20 20 20 20 20 20 20 28 2d 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 2d 68 65 61 64 65 72 20 28 ........(--partition-by-header.(
35d40 3d 20 69 74 20 31 29 20 27 28 31 20 32 20 33 20 31 20 32 20 31 20 32 20 33 20 34 29 29 0a 20 20 =.it.1).'(1.2.3.1.2.1.2.3.4))...
35d60 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 32 20 33 29 20 28 31 20 32 29 20 28 ................((1.2.3).(1.2).(
35d80 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 70 61 72 74 69 74 69 6f 6e 1.2.3.4))...........(--partition
35da0 2d 62 79 2d 68 65 61 64 65 72 20 28 3e 20 69 74 20 30 29 20 27 28 31 20 32 20 30 20 31 20 30 20 -by-header.(>.it.0).'(1.2.0.1.0.
35dc0 31 20 32 20 33 20 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 1.2.3.0))...................((1.
35de0 32 20 30 29 20 28 31 20 30 29 20 28 31 20 32 20 33 20 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 2.0).(1.0).(1.2.3.0))...........
35e00 28 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 2d 68 65 61 64 65 72 20 27 65 76 65 6e 3f 20 27 28 32 (-partition-by-header.'even?.'(2
35e20 20 31 20 31 20 31 20 34 20 31 20 33 20 35 20 36 20 36 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 .1.1.1.4.1.3.5.6.6.1))..........
35e40 20 20 20 20 20 e2 87 92 20 28 28 32 20 31 20 31 20 31 29 20 28 34 20 31 20 33 20 35 29 20 28 36 .........((2.1.1.1).(4.1.3.5).(6
35e60 20 36 20 31 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 70 61 72 74 69 74 69 6f 6e .6.1))...--.Function:.-partition
35e80 2d 61 66 74 65 72 2d 70 72 65 64 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 20 20 20 50 61 72 -after-pred.(pred.list)......Par
35ea0 74 69 74 69 6f 6e 20 4c 49 53 54 20 61 66 74 65 72 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 66 tition.LIST.after.each.element.f
35ec0 6f 72 20 77 68 69 63 68 20 50 52 45 44 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 0a or.which.PRED.returns.non-nil...
35ee0 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e e2 80 99 73 20 61 6e 61 70 68 6f 72 69 63 .....This.function...s.anaphoric
35f00 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 2d 2d 70 61 72 74 69 74 69 6f 6e 2d 61 .counterpart.is....--partition-a
35f20 66 74 65 72 2d 70 72 65 64 e2 80 99 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 72 74 69 fter-pred................(-parti
35f40 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 20 23 27 62 6f 6f 6c 65 61 6e 70 20 28 29 29 0a 20 tion-after-pred.#'booleanp.())..
35f60 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d .................()...........(-
35f80 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 20 23 27 62 6f 6f 6c 65 61 6e 70 20 partition-after-pred.#'booleanp.
35fa0 27 28 74 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 74 29 20 28 '(t.t))...................((t).(
35fc0 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d t))...........(-partition-after-
35fe0 70 72 65 64 20 23 27 62 6f 6f 6c 65 61 6e 70 20 27 28 30 20 30 20 74 20 74 20 30 20 74 29 29 0a pred.#'booleanp.'(0.0.t.t.0.t)).
36000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 30 20 30 20 74 29 20 28 74 29 20 28 ..................((0.0.t).(t).(
36020 30 20 74 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 0.t))...--.Function:.-partition-
36040 62 65 66 6f 72 65 2d 70 72 65 64 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 20 20 20 50 61 72 before-pred.(pred.list)......Par
36060 74 69 74 69 6f 6e 20 64 69 72 65 63 74 6c 79 20 62 65 66 6f 72 65 20 65 61 63 68 20 74 69 6d 65 tition.directly.before.each.time
36080 20 50 52 45 44 20 69 73 20 74 72 75 65 20 6f 6e 20 61 6e 20 65 6c 65 6d 65 6e 74 20 6f 66 0a 20 .PRED.is.true.on.an.element.of..
360a0 20 20 20 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 72 74 69 74 69 6f 6e ....LIST.............(-partition
360c0 2d 62 65 66 6f 72 65 2d 70 72 65 64 20 23 27 62 6f 6f 6c 65 61 6e 70 20 28 29 29 0a 20 20 20 20 -before-pred.#'booleanp.()).....
360e0 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 72 ..............()...........(-par
36100 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 70 72 65 64 20 23 27 62 6f 6f 6c 65 61 6e 70 20 27 28 tition-before-pred.#'booleanp.'(
36120 30 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 30 29 20 28 74 29 0.t))...................((0).(t)
36140 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 70 )...........(-partition-before-p
36160 72 65 64 20 23 27 62 6f 6f 6c 65 61 6e 70 20 27 28 30 20 30 20 74 20 30 20 74 20 74 29 29 0a 20 red.#'booleanp.'(0.0.t.0.t.t))..
36180 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 30 20 30 29 20 28 74 20 30 29 20 28 74 .................((0.0).(t.0).(t
361a0 29 20 28 74 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 70 61 72 74 69 74 69 6f 6e ).(t))...--.Function:.-partition
361c0 2d 62 65 66 6f 72 65 2d 69 74 65 6d 20 28 69 74 65 6d 20 6c 69 73 74 29 0a 20 20 20 20 20 50 61 -before-item.(item.list)......Pa
361e0 72 74 69 74 69 6f 6e 20 64 69 72 65 63 74 6c 79 20 62 65 66 6f 72 65 20 65 61 63 68 20 74 69 6d rtition.directly.before.each.tim
36200 65 20 49 54 45 4d 20 61 70 70 65 61 72 73 20 69 6e 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 20 20 e.ITEM.appears.in.LIST..........
36220 20 20 20 28 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 69 74 65 6d 20 33 20 28 29 29 ...(-partition-before-item.3.())
36240 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 ...................()...........
36260 28 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 69 74 65 6d 20 33 20 27 28 31 29 29 0a (-partition-before-item.3.'(1)).
36280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 29 29 0a 20 20 20 20 20 20 20 20 ..................((1)).........
362a0 20 20 28 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 69 74 65 6d 20 33 20 27 28 33 29 ..(-partition-before-item.3.'(3)
362c0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 33 29 29 0a 0a 20 2d 2d 20 46 )...................((3))...--.F
362e0 75 6e 63 74 69 6f 6e 3a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 69 74 65 6d 20 28 unction:.-partition-after-item.(
36300 69 74 65 6d 20 6c 69 73 74 29 0a 20 20 20 20 20 50 61 72 74 69 74 69 6f 6e 20 64 69 72 65 63 74 item.list)......Partition.direct
36320 6c 79 20 61 66 74 65 72 20 65 61 63 68 20 74 69 6d 65 20 49 54 45 4d 20 61 70 70 65 61 72 73 20 ly.after.each.time.ITEM.appears.
36340 69 6e 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 72 74 69 74 69 6f 6e 2d in.LIST.............(-partition-
36360 61 66 74 65 72 2d 69 74 65 6d 20 33 20 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 after-item.3.())................
36380 87 92 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 ...()...........(-partition-afte
363a0 72 2d 69 74 65 6d 20 33 20 27 28 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 r-item.3.'(1))..................
363c0 20 28 28 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 .((1))...........(-partition-aft
363e0 65 72 2d 69 74 65 6d 20 33 20 27 28 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 er-item.3.'(3)).................
36400 92 20 28 28 33 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 67 72 6f 75 70 2d 62 79 ..((3))...--.Function:.-group-by
36420 20 28 66 6e 20 6c 69 73 74 29 0a 20 20 20 20 20 53 65 70 61 72 61 74 65 20 4c 49 53 54 20 69 6e .(fn.list)......Separate.LIST.in
36440 74 6f 20 61 6e 20 61 6c 69 73 74 20 77 68 6f 73 65 20 6b 65 79 73 20 61 72 65 20 46 4e 20 61 70 to.an.alist.whose.keys.are.FN.ap
36460 70 6c 69 65 64 20 74 6f 20 74 68 65 0a 20 20 20 20 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 4c 49 plied.to.the......elements.of.LI
36480 53 54 2e 20 20 4b 65 79 73 20 61 72 65 20 63 6f 6d 70 61 72 65 64 20 62 79 20 e2 80 98 65 71 75 ST...Keys.are.compared.by....equ
364a0 61 6c e2 80 99 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 67 72 6f 75 70 2d 62 79 20 27 65 76 al................(-group-by.'ev
364c0 65 6e 3f 20 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 29 0a 20 20 20 en?.())...................()....
364e0 20 20 20 20 20 20 20 28 2d 67 72 6f 75 70 2d 62 79 20 27 65 76 65 6e 3f 20 27 28 31 20 31 20 32 .......(-group-by.'even?.'(1.1.2
36500 20 32 20 32 20 33 20 34 20 36 20 38 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 .2.2.3.4.6.8))..................
36520 20 28 28 6e 69 6c 20 31 20 31 20 33 29 20 28 74 20 32 20 32 20 32 20 34 20 36 20 38 29 29 0a 20 .((nil.1.1.3).(t.2.2.2.4.6.8))..
36540 20 20 20 20 20 20 20 20 20 28 2d 2d 67 72 6f 75 70 2d 62 79 20 28 63 61 72 20 28 73 70 6c 69 74 .........(--group-by.(car.(split
36560 2d 73 74 72 69 6e 67 20 69 74 20 22 2f 22 29 29 20 27 28 22 61 2f 62 22 20 22 63 2f 64 22 20 22 -string.it."/")).'("a/b"."c/d"."
36580 61 2f 65 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 22 61 22 20 22 a/e"))...................(("a"."
365a0 61 2f 62 22 20 22 61 2f 65 22 29 20 28 22 63 22 20 22 63 2f 64 22 29 29 0a 0a 1f 0a 46 69 6c 65 a/b"."a/e").("c"."c/d"))....File
365c0 3a 20 64 61 73 68 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 49 6e 64 65 78 69 6e 67 2c 20 20 4e :.dash.info,..Node:.Indexing,..N
365e0 65 78 74 3a 20 53 65 74 20 6f 70 65 72 61 74 69 6f 6e 73 2c 20 20 50 72 65 76 3a 20 50 61 72 74 ext:.Set.operations,..Prev:.Part
36600 69 74 69 6f 6e 69 6e 67 2c 20 20 55 70 3a 20 46 75 6e 63 74 69 6f 6e 73 0a 0a 32 2e 38 20 49 6e itioning,..Up:.Functions..2.8.In
36620 64 65 78 69 6e 67 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 46 75 6e 63 74 69 6f 6e 73 20 72 dexing.============..Functions.r
36640 65 74 72 69 65 76 69 6e 67 20 6f 72 20 73 6f 72 74 69 6e 67 20 62 61 73 65 64 20 6f 6e 20 6c 69 etrieving.or.sorting.based.on.li
36660 73 74 20 69 6e 64 69 63 65 73 20 61 6e 64 20 72 65 6c 61 74 65 64 0a 70 72 65 64 69 63 61 74 65 st.indices.and.related.predicate
36680 73 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 65 6c 65 6d 2d 69 6e 64 65 78 20 28 65 s....--.Function:.-elem-index.(e
366a0 6c 65 6d 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 69 6e 64 65 78 20 lem.list)......Return.the.index.
366c0 6f 66 20 74 68 65 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 69 6e 20 74 68 65 20 67 69 76 65 of.the.first.element.in.the.give
366e0 6e 20 4c 49 53 54 20 77 68 69 63 68 20 69 73 0a 20 20 20 20 20 65 71 75 61 6c 20 74 6f 20 74 68 n.LIST.which.is......equal.to.th
36700 65 20 71 75 65 72 79 20 65 6c 65 6d 65 6e 74 20 45 4c 45 4d 2c 20 6f 72 20 6e 69 6c 20 69 66 20 e.query.element.ELEM,.or.nil.if.
36720 74 68 65 72 65 20 69 73 20 6e 6f 20 73 75 63 68 0a 20 20 20 20 20 65 6c 65 6d 65 6e 74 2e 0a 0a there.is.no.such......element...
36740 20 20 20 20 20 20 20 20 20 20 28 2d 65 6c 65 6d 2d 69 6e 64 65 78 20 32 20 27 28 36 20 37 20 38 ..........(-elem-index.2.'(6.7.8
36760 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 33 0a 20 20 20 .2.3.4))...................3....
36780 20 20 20 20 20 20 20 28 2d 65 6c 65 6d 2d 69 6e 64 65 78 20 22 62 61 72 22 20 27 28 22 66 6f 6f .......(-elem-index."bar".'("foo
367a0 22 20 22 62 61 72 22 20 22 62 61 7a 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 "."bar"."baz")).................
367c0 92 20 31 0a 20 20 20 20 20 20 20 20 20 20 28 2d 65 6c 65 6d 2d 69 6e 64 65 78 20 27 28 31 20 32 ..1...........(-elem-index.'(1.2
367e0 29 20 27 28 28 33 29 20 28 35 20 36 29 20 28 31 20 32 29 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 ).'((3).(5.6).(1.2).nil)).......
36800 20 20 20 20 20 20 20 20 e2 87 92 20 32 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 65 6c ............2...--.Function:.-el
36820 65 6d 2d 69 6e 64 69 63 65 73 20 28 65 6c 65 6d 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 em-indices.(elem.list)......Retu
36840 72 6e 20 74 68 65 20 69 6e 64 69 63 65 73 20 6f 66 20 61 6c 6c 20 65 6c 65 6d 65 6e 74 73 20 69 rn.the.indices.of.all.elements.i
36860 6e 20 4c 49 53 54 20 65 71 75 61 6c 20 74 6f 20 74 68 65 20 71 75 65 72 79 0a 20 20 20 20 20 65 n.LIST.equal.to.the.query......e
36880 6c 65 6d 65 6e 74 20 45 4c 45 4d 2c 20 69 6e 20 61 73 63 65 6e 64 69 6e 67 20 6f 72 64 65 72 2e lement.ELEM,.in.ascending.order.
368a0 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 65 6c 65 6d 2d 69 6e 64 69 63 65 73 20 32 20 27 28 36 ............(-elem-indices.2.'(6
368c0 20 37 20 38 20 32 20 33 20 34 20 32 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 .7.8.2.3.4.2.1))................
368e0 87 92 20 28 33 20 36 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 65 6c 65 6d 2d 69 6e 64 69 63 65 ...(3.6)...........(-elem-indice
36900 73 20 22 62 61 72 22 20 27 28 22 66 6f 6f 22 20 22 62 61 72 22 20 22 62 61 7a 22 29 29 0a 20 20 s."bar".'("foo"."bar"."baz"))...
36920 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d ................(1)...........(-
36940 65 6c 65 6d 2d 69 6e 64 69 63 65 73 20 27 28 31 20 32 29 20 27 28 28 33 29 20 28 31 20 32 29 20 elem-indices.'(1.2).'((3).(1.2).
36960 28 35 20 36 29 20 28 31 20 32 29 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (5.6).(1.2).nil))...............
36980 e2 87 92 20 28 31 20 33 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 66 69 6e 64 2d 69 ....(1.3)...--.Function:.-find-i
369a0 6e 64 65 78 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 20 20 20 54 61 6b 65 20 61 20 70 72 65 ndex.(pred.list)......Take.a.pre
369c0 64 69 63 61 74 65 20 50 52 45 44 20 61 6e 64 20 61 20 4c 49 53 54 20 61 6e 64 20 72 65 74 75 72 dicate.PRED.and.a.LIST.and.retur
369e0 6e 20 74 68 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 20 66 69 72 73 74 0a 20 20 20 20 20 65 6c n.the.index.of.the.first......el
36a00 65 6d 65 6e 74 20 69 6e 20 74 68 65 20 6c 69 73 74 20 73 61 74 69 73 66 79 69 6e 67 20 74 68 65 ement.in.the.list.satisfying.the
36a20 20 70 72 65 64 69 63 61 74 65 2c 20 6f 72 20 6e 69 6c 20 69 66 20 74 68 65 72 65 20 69 73 20 6e .predicate,.or.nil.if.there.is.n
36a40 6f 0a 20 20 20 20 20 73 75 63 68 20 65 6c 65 6d 65 6e 74 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 o......such.element........See.a
36a60 6c 73 6f 20 e2 80 98 2d 66 69 72 73 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 66 69 72 73 74 3a 3a lso....-first....(*note.-first::
36a80 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 69 6e 64 2d 69 6e 64 65 78 20 27 65 76 65 6e ).............(-find-index.'even
36aa0 3f 20 27 28 32 20 34 20 31 20 36 20 33 20 33 20 35 20 38 29 29 0a 20 20 20 20 20 20 20 20 20 20 ?.'(2.4.1.6.3.3.5.8))...........
36ac0 20 20 20 20 e2 87 92 20 30 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 66 69 6e 64 2d 69 6e 64 65 ........0...........(--find-inde
36ae0 78 20 28 3c 20 35 20 69 74 29 20 27 28 32 20 34 20 31 20 36 20 33 20 33 20 35 20 38 29 29 0a 20 x.(<.5.it).'(2.4.1.6.3.3.5.8))..
36b00 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 33 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 .................3...........(-f
36b20 69 6e 64 2d 69 6e 64 65 78 20 28 2d 70 61 72 74 69 61 6c 20 27 73 74 72 69 6e 67 2d 6c 65 73 73 ind-index.(-partial.'string-less
36b40 70 20 22 62 61 7a 22 29 20 27 28 22 62 61 72 22 20 22 66 6f 6f 22 20 22 62 61 7a 22 29 29 0a 20 p."baz").'("bar"."foo"."baz"))..
36b60 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 31 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e .................1...--.Function
36b80 3a 20 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 78 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 :.-find-last-index.(pred.list)..
36ba0 20 20 20 20 54 61 6b 65 20 61 20 70 72 65 64 69 63 61 74 65 20 50 52 45 44 20 61 6e 64 20 61 20 ....Take.a.predicate.PRED.and.a.
36bc0 4c 49 53 54 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 LIST.and.return.the.index.of.the
36be0 20 6c 61 73 74 0a 20 20 20 20 20 65 6c 65 6d 65 6e 74 20 69 6e 20 74 68 65 20 6c 69 73 74 20 73 .last......element.in.the.list.s
36c00 61 74 69 73 66 79 69 6e 67 20 74 68 65 20 70 72 65 64 69 63 61 74 65 2c 20 6f 72 20 6e 69 6c 20 atisfying.the.predicate,.or.nil.
36c20 69 66 20 74 68 65 72 65 20 69 73 20 6e 6f 0a 20 20 20 20 20 73 75 63 68 20 65 6c 65 6d 65 6e 74 if.there.is.no......such.element
36c40 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 20 e2 80 98 2d 6c 61 73 74 e2 80 99 20 28 2a 6e ........See.also....-last....(*n
36c60 6f 74 65 20 2d 6c 61 73 74 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 69 6e 64 2d ote.-last::).............(-find-
36c80 6c 61 73 74 2d 69 6e 64 65 78 20 27 65 76 65 6e 3f 20 27 28 32 20 34 20 31 20 36 20 33 20 33 20 last-index.'even?.'(2.4.1.6.3.3.
36ca0 35 20 38 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 37 0a 20 20 20 20 20 20 5.8))...................7.......
36cc0 20 20 20 20 28 2d 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 78 20 28 3c 20 35 20 69 74 29 20 ....(--find-last-index.(<.5.it).
36ce0 27 28 32 20 37 20 31 20 36 20 33 20 38 20 35 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 '(2.7.1.6.3.8.5.2)).............
36d00 20 20 e2 87 92 20 35 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e ......5...........(-find-last-in
36d20 64 65 78 20 28 2d 70 61 72 74 69 61 6c 20 27 73 74 72 69 6e 67 2d 6c 65 73 73 70 20 22 62 61 7a dex.(-partial.'string-lessp."baz
36d40 22 29 20 27 28 22 71 22 20 22 66 6f 6f 22 20 22 62 61 7a 22 29 29 0a 20 20 20 20 20 20 20 20 20 ").'("q"."foo"."baz"))..........
36d60 20 20 20 20 20 e2 87 92 20 31 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 66 69 6e 64 2d .........1...--.Function:.-find-
36d80 69 6e 64 69 63 65 73 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 indices.(pred.list)......Return.
36da0 74 68 65 20 69 6e 64 69 63 65 73 20 6f 66 20 61 6c 6c 20 65 6c 65 6d 65 6e 74 73 20 69 6e 20 4c the.indices.of.all.elements.in.L
36dc0 49 53 54 20 73 61 74 69 73 66 79 69 6e 67 20 74 68 65 20 70 72 65 64 69 63 61 74 65 0a 20 20 20 IST.satisfying.the.predicate....
36de0 20 20 50 52 45 44 2c 20 69 6e 20 61 73 63 65 6e 64 69 6e 67 20 6f 72 64 65 72 2e 0a 0a 20 20 20 ..PRED,.in.ascending.order......
36e00 20 20 20 20 20 20 20 28 2d 66 69 6e 64 2d 69 6e 64 69 63 65 73 20 27 65 76 65 6e 3f 20 27 28 32 .......(-find-indices.'even?.'(2
36e20 20 34 20 31 20 36 20 33 20 33 20 35 20 38 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 .4.1.6.3.3.5.8))................
36e40 87 92 20 28 30 20 31 20 33 20 37 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 66 69 6e 64 2d 69 ...(0.1.3.7)...........(--find-i
36e60 6e 64 69 63 65 73 20 28 3c 20 35 20 69 74 29 20 27 28 32 20 34 20 31 20 36 20 33 20 33 20 35 20 ndices.(<.5.it).'(2.4.1.6.3.3.5.
36e80 38 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 33 20 37 29 0a 20 20 20 20 8))...................(3.7).....
36ea0 20 20 20 20 20 20 28 2d 66 69 6e 64 2d 69 6e 64 69 63 65 73 20 28 2d 70 61 72 74 69 61 6c 20 27 ......(-find-indices.(-partial.'
36ec0 73 74 72 69 6e 67 2d 6c 65 73 73 70 20 22 62 61 7a 22 29 20 27 28 22 62 61 72 22 20 22 66 6f 6f string-lessp."baz").'("bar"."foo
36ee0 22 20 22 62 61 7a 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 29 0a "."baz"))...................(1).
36f00 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 67 72 61 64 65 2d 75 70 20 28 63 6f 6d 70 61 72 ..--.Function:.-grade-up.(compar
36f20 61 74 6f 72 20 6c 69 73 74 29 0a 20 20 20 20 20 47 72 61 64 65 20 65 6c 65 6d 65 6e 74 73 20 6f ator.list)......Grade.elements.o
36f40 66 20 4c 49 53 54 20 75 73 69 6e 67 20 43 4f 4d 50 41 52 41 54 4f 52 20 72 65 6c 61 74 69 6f 6e f.LIST.using.COMPARATOR.relation
36f60 2e 20 20 54 68 69 73 20 79 69 65 6c 64 73 20 61 0a 20 20 20 20 20 70 65 72 6d 75 74 61 74 69 6f ...This.yields.a......permutatio
36f80 6e 20 76 65 63 74 6f 72 20 73 75 63 68 20 74 68 61 74 20 61 70 70 6c 79 69 6e 67 20 74 68 69 73 n.vector.such.that.applying.this
36fa0 20 70 65 72 6d 75 74 61 74 69 6f 6e 20 74 6f 20 4c 49 53 54 0a 20 20 20 20 20 73 6f 72 74 73 20 .permutation.to.LIST......sorts.
36fc0 69 74 20 69 6e 20 61 73 63 65 6e 64 69 6e 67 20 6f 72 64 65 72 2e 0a 0a 20 20 20 20 20 20 20 20 it.in.ascending.order...........
36fe0 20 20 28 2d 67 72 61 64 65 2d 75 70 20 23 27 3c 20 27 28 33 20 31 20 34 20 32 20 31 20 33 20 33 ..(-grade-up.#'<.'(3.1.4.2.1.3.3
37000 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 34 20 33 20 30 20 35 20 ))...................(1.4.3.0.5.
37020 36 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6c 20 27 28 33 20 31 20 34 20 6.2)...........(let.((l.'(3.1.4.
37040 32 20 31 20 33 20 33 29 29 29 20 28 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 20 28 2.1.3.3))).(-select-by-indices.(
37060 2d 67 72 61 64 65 2d 75 70 20 23 27 3c 20 6c 29 20 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 -grade-up.#'<.l).l))............
37080 20 20 20 e2 87 92 20 28 31 20 31 20 32 20 33 20 33 20 33 20 34 29 0a 0a 20 2d 2d 20 46 75 6e 63 .......(1.1.2.3.3.3.4)...--.Func
370a0 74 69 6f 6e 3a 20 2d 67 72 61 64 65 2d 64 6f 77 6e 20 28 63 6f 6d 70 61 72 61 74 6f 72 20 6c 69 tion:.-grade-down.(comparator.li
370c0 73 74 29 0a 20 20 20 20 20 47 72 61 64 65 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 4c 49 53 54 20 st)......Grade.elements.of.LIST.
370e0 75 73 69 6e 67 20 43 4f 4d 50 41 52 41 54 4f 52 20 72 65 6c 61 74 69 6f 6e 2e 20 20 54 68 69 73 using.COMPARATOR.relation...This
37100 20 79 69 65 6c 64 73 20 61 0a 20 20 20 20 20 70 65 72 6d 75 74 61 74 69 6f 6e 20 76 65 63 74 6f .yields.a......permutation.vecto
37120 72 20 73 75 63 68 20 74 68 61 74 20 61 70 70 6c 79 69 6e 67 20 74 68 69 73 20 70 65 72 6d 75 74 r.such.that.applying.this.permut
37140 61 74 69 6f 6e 20 74 6f 20 4c 49 53 54 0a 20 20 20 20 20 73 6f 72 74 73 20 69 74 20 69 6e 20 64 ation.to.LIST......sorts.it.in.d
37160 65 73 63 65 6e 64 69 6e 67 20 6f 72 64 65 72 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 67 72 escending.order.............(-gr
37180 61 64 65 2d 64 6f 77 6e 20 23 27 3c 20 27 28 33 20 31 20 34 20 32 20 31 20 33 20 33 29 29 0a 20 ade-down.#'<.'(3.1.4.2.1.3.3))..
371a0 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 32 20 30 20 35 20 36 20 33 20 31 20 34 29 .................(2.0.5.6.3.1.4)
371c0 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6c 20 27 28 33 20 31 20 34 20 32 20 31 20 ...........(let.((l.'(3.1.4.2.1.
371e0 33 20 33 29 29 29 20 28 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 20 28 2d 67 72 61 3.3))).(-select-by-indices.(-gra
37200 64 65 2d 64 6f 77 6e 20 23 27 3c 20 6c 29 20 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 de-down.#'<.l).l))..............
37220 20 e2 87 92 20 28 34 20 33 20 33 20 33 20 32 20 31 20 31 29 0a 0a 1f 0a 46 69 6c 65 3a 20 64 61 .....(4.3.3.3.2.1.1)....File:.da
37240 73 68 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 53 65 74 20 6f 70 65 72 61 74 69 6f 6e 73 2c 20 sh.info,..Node:.Set.operations,.
37260 20 4e 65 78 74 3a 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 2c 20 20 50 .Next:.Other.list.operations,..P
37280 72 65 76 3a 20 49 6e 64 65 78 69 6e 67 2c 20 20 55 70 3a 20 46 75 6e 63 74 69 6f 6e 73 0a 0a 32 rev:.Indexing,..Up:.Functions..2
372a0 2e 39 20 53 65 74 20 6f 70 65 72 61 74 69 6f 6e 73 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d .9.Set.operations.==============
372c0 3d 3d 3d 3d 0a 0a 4f 70 65 72 61 74 69 6f 6e 73 20 70 72 65 74 65 6e 64 69 6e 67 20 6c 69 73 74 ====..Operations.pretending.list
372e0 73 20 61 72 65 20 73 65 74 73 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 75 6e 69 6f s.are.sets....--.Function:.-unio
37300 6e 20 28 6c 69 73 74 20 6c 69 73 74 32 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 6e 65 77 n.(list.list2)......Return.a.new
37320 20 6c 69 73 74 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 6f 66 .list.containing.the.elements.of
37340 20 4c 49 53 54 20 61 6e 64 20 65 6c 65 6d 65 6e 74 73 20 6f 66 0a 20 20 20 20 20 4c 49 53 54 32 .LIST.and.elements.of......LIST2
37360 20 74 68 61 74 20 61 72 65 20 6e 6f 74 20 69 6e 20 4c 49 53 54 2e 20 20 54 68 65 20 74 65 73 74 .that.are.not.in.LIST...The.test
37380 20 66 6f 72 20 65 71 75 61 6c 69 74 79 20 69 73 20 64 6f 6e 65 20 77 69 74 68 0a 20 20 20 20 20 .for.equality.is.done.with......
373a0 e2 80 98 65 71 75 61 6c e2 80 99 2c 20 6f 72 20 77 69 74 68 20 e2 80 98 2d 63 6f 6d 70 61 72 65 ...equal...,.or.with....-compare
373c0 2d 66 6e e2 80 99 20 69 66 20 74 68 61 74 e2 80 99 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 0a 20 20 20 -fn....if.that...s.non-nil......
373e0 20 20 20 20 20 20 20 28 2d 75 6e 69 6f 6e 20 27 28 31 20 32 20 33 29 20 27 28 33 20 34 20 35 29 .......(-union.'(1.2.3).'(3.4.5)
37400 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 34 20 35 29 0a )...................(1.2.3.4.5).
37420 20 20 20 20 20 20 20 20 20 20 28 2d 75 6e 69 6f 6e 20 27 28 31 20 32 20 33 20 34 29 20 28 29 29 ..........(-union.'(1.2.3.4).())
37440 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 34 29 0a 20 20 20 ...................(1.2.3.4)....
37460 20 20 20 20 20 20 20 28 2d 75 6e 69 6f 6e 20 27 28 31 20 31 20 32 20 32 29 20 27 28 33 20 32 20 .......(-union.'(1.1.2.2).'(3.2.
37480 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 31 20 32 20 32 20 33 1))...................(1.1.2.2.3
374a0 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 64 69 66 66 65 72 65 6e 63 65 20 28 6c 69 )...--.Function:.-difference.(li
374c0 73 74 20 6c 69 73 74 32 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 st.list2)......Return.a.new.list
374e0 20 77 69 74 68 20 6f 6e 6c 79 20 74 68 65 20 6d 65 6d 62 65 72 73 20 6f 66 20 4c 49 53 54 20 74 .with.only.the.members.of.LIST.t
37500 68 61 74 20 61 72 65 20 6e 6f 74 20 69 6e 0a 20 20 20 20 20 4c 49 53 54 32 2e 20 20 54 68 65 20 hat.are.not.in......LIST2...The.
37520 74 65 73 74 20 66 6f 72 20 65 71 75 61 6c 69 74 79 20 69 73 20 64 6f 6e 65 20 77 69 74 68 20 e2 test.for.equality.is.done.with..
37540 80 98 65 71 75 61 6c e2 80 99 2c 20 6f 72 20 77 69 74 68 0a 20 20 20 20 20 e2 80 98 2d 63 6f 6d ..equal...,.or.with.........-com
37560 70 61 72 65 2d 66 6e e2 80 99 20 69 66 20 74 68 61 74 e2 80 99 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a pare-fn....if.that...s.non-nil..
37580 0a 20 20 20 20 20 20 20 20 20 20 28 2d 64 69 66 66 65 72 65 6e 63 65 20 28 29 20 28 29 29 0a 20 ...........(-difference.().())..
375a0 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d .................()...........(-
375c0 64 69 66 66 65 72 65 6e 63 65 20 27 28 31 20 32 20 33 29 20 27 28 34 20 35 20 36 29 29 0a 20 20 difference.'(1.2.3).'(4.5.6))...
375e0 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 29 0a 20 20 20 20 20 20 20 20 ................(1.2.3).........
37600 20 20 28 2d 64 69 66 66 65 72 65 6e 63 65 20 27 28 31 20 32 20 33 20 34 29 20 27 28 33 20 34 20 ..(-difference.'(1.2.3.4).'(3.4.
37620 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 29 0a 0a 20 5.6))...................(1.2)...
37640 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 69 6e 74 65 72 73 65 63 74 69 6f 6e 20 28 6c 69 73 74 --.Function:.-intersection.(list
37660 20 6c 69 73 74 32 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 63 .list2)......Return.a.new.list.c
37680 6f 6e 74 61 69 6e 69 6e 67 20 6f 6e 6c 79 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 74 68 61 74 ontaining.only.the.elements.that
376a0 20 61 72 65 20 6d 65 6d 62 65 72 73 20 6f 66 0a 20 20 20 20 20 62 6f 74 68 20 4c 49 53 54 20 61 .are.members.of......both.LIST.a
376c0 6e 64 20 4c 49 53 54 32 2e 20 20 54 68 65 20 74 65 73 74 20 66 6f 72 20 65 71 75 61 6c 69 74 79 nd.LIST2...The.test.for.equality
376e0 20 69 73 20 64 6f 6e 65 20 77 69 74 68 20 e2 80 98 65 71 75 61 6c e2 80 99 2c 0a 20 20 20 20 20 .is.done.with....equal...,......
37700 6f 72 20 77 69 74 68 20 e2 80 98 2d 63 6f 6d 70 61 72 65 2d 66 6e e2 80 99 20 69 66 20 74 68 61 or.with....-compare-fn....if.tha
37720 74 e2 80 99 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 6e 74 65 t...s.non-nil.............(-inte
37740 72 73 65 63 74 69 6f 6e 20 28 29 20 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 rsection.().()).................
37760 92 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 6e 74 65 72 73 65 63 74 69 6f 6e 20 27 28 ..()...........(-intersection.'(
37780 31 20 32 20 33 29 20 27 28 34 20 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 1.2.3).'(4.5.6))................
377a0 87 92 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 6e 74 65 72 73 65 63 74 69 6f 6e 20 27 ...()...........(-intersection.'
377c0 28 31 20 32 20 33 20 34 29 20 27 28 33 20 34 20 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 (1.2.3.4).'(3.4.5.6))...........
377e0 20 20 20 20 e2 87 92 20 28 33 20 34 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 70 6f ........(3.4)...--.Function:.-po
37800 77 65 72 73 65 74 20 28 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 70 6f werset.(list)......Return.the.po
37820 77 65 72 20 73 65 74 20 6f 66 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 6f wer.set.of.LIST.............(-po
37840 77 65 72 73 65 74 20 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 6e 69 werset.())...................(ni
37860 6c 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 6f 77 65 72 73 65 74 20 27 28 78 20 79 20 7a 29 l)...........(-powerset.'(x.y.z)
37880 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 78 20 79 20 7a 29 20 28 78 20 )...................((x.y.z).(x.
378a0 79 29 20 28 78 20 7a 29 20 28 78 29 20 28 79 20 7a 29 20 28 79 29 20 28 7a 29 20 6e 69 6c 29 0a y).(x.z).(x).(y.z).(y).(z).nil).
378c0 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 70 65 72 6d 75 74 61 74 69 6f 6e 73 20 28 6c 69 ..--.Function:.-permutations.(li
378e0 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 70 65 72 6d 75 74 61 74 69 6f 6e 73 st)......Return.the.permutations
37900 20 6f 66 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 65 72 6d 75 74 61 74 69 .of.LIST.............(-permutati
37920 6f 6e 73 20 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 6e 69 6c 29 0a ons.())...................(nil).
37940 20 20 20 20 20 20 20 20 20 20 28 2d 70 65 72 6d 75 74 61 74 69 6f 6e 73 20 27 28 31 20 32 29 29 ..........(-permutations.'(1.2))
37960 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 32 29 20 28 32 20 31 29 29 ...................((1.2).(2.1))
37980 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 65 72 6d 75 74 61 74 69 6f 6e 73 20 27 28 61 20 62 20 ...........(-permutations.'(a.b.
379a0 63 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 61 20 62 20 63 29 20 28 c))...................((a.b.c).(
379c0 61 20 63 20 62 29 20 28 62 20 61 20 63 29 20 28 62 20 63 20 61 29 20 28 63 20 61 20 62 29 20 28 a.c.b).(b.a.c).(b.c.a).(c.a.b).(
379e0 63 20 62 20 61 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 64 69 73 74 69 6e 63 74 c.b.a))...--.Function:.-distinct
37a00 20 28 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 77 .(list)......Return.a.new.list.w
37a20 69 74 68 20 61 6c 6c 20 64 75 70 6c 69 63 61 74 65 73 20 72 65 6d 6f 76 65 64 2e 20 20 54 68 65 ith.all.duplicates.removed...The
37a40 20 74 65 73 74 20 66 6f 72 0a 20 20 20 20 20 65 71 75 61 6c 69 74 79 20 69 73 20 64 6f 6e 65 20 .test.for......equality.is.done.
37a60 77 69 74 68 20 e2 80 98 65 71 75 61 6c e2 80 99 2c 20 6f 72 20 77 69 74 68 20 e2 80 98 2d 63 6f with....equal...,.or.with....-co
37a80 6d 70 61 72 65 2d 66 6e e2 80 99 20 69 66 20 74 68 61 74 e2 80 99 73 0a 20 20 20 20 20 6e 6f 6e mpare-fn....if.that...s......non
37aa0 2d 6e 69 6c 2e 0a 0a 20 20 20 20 20 41 6c 69 61 73 3a 20 e2 80 98 2d 75 6e 69 71 e2 80 99 0a 0a -nil........Alias:....-uniq.....
37ac0 20 20 20 20 20 20 20 20 20 20 28 2d 64 69 73 74 69 6e 63 74 20 28 29 29 0a 20 20 20 20 20 20 20 ..........(-distinct.())........
37ae0 20 20 20 20 20 20 20 e2 87 92 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 64 69 73 74 69 6e ...........()...........(-distin
37b00 63 74 20 27 28 31 20 32 20 32 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 ct.'(1.2.2.4))..................
37b20 20 28 31 20 32 20 34 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 64 69 73 74 69 6e 63 74 20 27 28 .(1.2.4)...........(-distinct.'(
37b40 74 20 74 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 74 29 0a 0a 1f t.t.t))...................(t)...
37b60 0a 46 69 6c 65 3a 20 64 61 73 68 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 4f 74 68 65 72 20 6c .File:.dash.info,..Node:.Other.l
37b80 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 2c 20 20 4e 65 78 74 3a 20 54 72 65 65 20 6f 70 65 72 ist.operations,..Next:.Tree.oper
37ba0 61 74 69 6f 6e 73 2c 20 20 50 72 65 76 3a 20 53 65 74 20 6f 70 65 72 61 74 69 6f 6e 73 2c 20 20 ations,..Prev:.Set.operations,..
37bc0 55 70 3a 20 46 75 6e 63 74 69 6f 6e 73 0a 0a 32 2e 31 30 20 4f 74 68 65 72 20 6c 69 73 74 20 6f Up:.Functions..2.10.Other.list.o
37be0 70 65 72 61 74 69 6f 6e 73 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d perations.======================
37c00 3d 3d 3d 3d 0a 0a 4f 74 68 65 72 20 6c 69 73 74 20 66 75 6e 63 74 69 6f 6e 73 20 6e 6f 74 20 66 ====..Other.list.functions.not.f
37c20 69 74 20 74 6f 20 62 65 20 63 6c 61 73 73 69 66 69 65 64 20 65 6c 73 65 77 68 65 72 65 2e 0a 0a it.to.be.classified.elsewhere...
37c40 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 72 6f 74 61 74 65 20 28 6e 20 6c 69 73 74 29 0a 20 .--.Function:.-rotate.(n.list)..
37c60 20 20 20 20 52 6f 74 61 74 65 20 4c 49 53 54 20 4e 20 70 6c 61 63 65 73 20 74 6f 20 74 68 65 20 ....Rotate.LIST.N.places.to.the.
37c80 72 69 67 68 74 20 28 6c 65 66 74 20 69 66 20 4e 20 69 73 20 6e 65 67 61 74 69 76 65 29 2e 20 20 right.(left.if.N.is.negative)...
37ca0 54 68 65 0a 20 20 20 20 20 74 69 6d 65 20 63 6f 6d 70 6c 65 78 69 74 79 20 69 73 20 4f 28 6e 29 The......time.complexity.is.O(n)
37cc0 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 6f 74 61 74 65 20 33 20 27 28 31 20 32 20 33 20 .............(-rotate.3.'(1.2.3.
37ce0 34 20 35 20 36 20 37 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 35 20 36 4.5.6.7))...................(5.6
37d00 20 37 20 31 20 32 20 33 20 34 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 6f 74 61 74 65 20 2d .7.1.2.3.4)...........(-rotate.-
37d20 33 20 27 28 31 20 32 20 33 20 34 20 35 20 36 20 37 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 3.'(1.2.3.4.5.6.7)).............
37d40 20 20 e2 87 92 20 28 34 20 35 20 36 20 37 20 31 20 32 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 ......(4.5.6.7.1.2.3)...........
37d60 28 2d 72 6f 74 61 74 65 20 31 36 20 27 28 31 20 32 20 33 20 34 20 35 20 36 20 37 29 29 0a 20 20 (-rotate.16.'(1.2.3.4.5.6.7))...
37d80 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 36 20 37 20 31 20 32 20 33 20 34 20 35 29 0a ................(6.7.1.2.3.4.5).
37da0 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 72 65 70 65 61 74 20 28 6e 20 78 29 0a 20 20 20 ..--.Function:.-repeat.(n.x)....
37dc0 20 20 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 6f 66 20 6c 65 6e 67 74 68 20 4e 20 ..Return.a.new.list.of.length.N.
37de0 77 69 74 68 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 62 65 69 6e 67 20 58 2e 20 20 52 65 74 75 with.each.element.being.X...Retu
37e00 72 6e 0a 20 20 20 20 20 6e 69 6c 20 69 66 20 4e 20 69 73 20 6c 65 73 73 20 74 68 61 6e 20 31 2e rn......nil.if.N.is.less.than.1.
37e20 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 70 65 61 74 20 33 20 3a 61 29 0a 20 20 20 20 20 ............(-repeat.3.:a)......
37e40 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 3a 61 20 3a 61 20 3a 61 29 0a 20 20 20 20 20 20 20 20 .............(:a.:a.:a).........
37e60 20 20 28 2d 72 65 70 65 61 74 20 31 20 3a 61 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 ..(-repeat.1.:a)................
37e80 87 92 20 28 3a 61 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 70 65 61 74 20 30 20 3a 61 29 ...(:a)...........(-repeat.0.:a)
37ea0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 0a 20 2d 2d 20 46 75 6e 63 ...................nil...--.Func
37ec0 74 69 6f 6e 3a 20 2d 63 6f 6e 73 2a 20 28 26 72 65 73 74 20 61 72 67 73 29 0a 20 20 20 20 20 4d tion:.-cons*.(&rest.args)......M
37ee0 61 6b 65 20 61 20 6e 65 77 20 6c 69 73 74 20 66 72 6f 6d 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 ake.a.new.list.from.the.elements
37f00 20 6f 66 20 41 52 47 53 2e 20 20 54 68 65 20 6c 61 73 74 20 32 20 65 6c 65 6d 65 6e 74 73 20 6f .of.ARGS...The.last.2.elements.o
37f20 66 0a 20 20 20 20 20 41 52 47 53 20 61 72 65 20 75 73 65 64 20 61 73 20 74 68 65 20 66 69 6e 61 f......ARGS.are.used.as.the.fina
37f40 6c 20 63 6f 6e 73 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 2c 20 73 6f 20 69 66 20 74 68 65 20 l.cons.of.the.result,.so.if.the.
37f60 66 69 6e 61 6c 0a 20 20 20 20 20 65 6c 65 6d 65 6e 74 20 6f 66 20 41 52 47 53 20 69 73 20 6e 6f final......element.of.ARGS.is.no
37f80 74 20 61 20 6c 69 73 74 2c 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 20 64 6f 74 74 65 64 t.a.list,.the.result.is.a.dotted
37fa0 20 6c 69 73 74 2e 20 20 57 69 74 68 0a 20 20 20 20 20 6e 6f 20 41 52 47 53 2c 20 72 65 74 75 72 .list...With......no.ARGS,.retur
37fc0 6e 20 6e 69 6c 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 63 6f 6e 73 2a 20 31 20 32 29 0a 20 n.nil.............(-cons*.1.2)..
37fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 2e 20 32 29 0a 20 20 20 20 20 20 20 .................(1...2)........
38000 20 20 20 28 2d 63 6f 6e 73 2a 20 31 20 32 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...(-cons*.1.2.3)...............
38020 e2 87 92 20 28 31 20 32 20 2e 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 63 6f 6e 73 2a 20 ....(1.2...3)...........(-cons*.
38040 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 31 0a 0a 20 2d 2d 20 46 75 6e 63 1)...................1...--.Func
38060 74 69 6f 6e 3a 20 2d 73 6e 6f 63 20 28 6c 69 73 74 20 65 6c 65 6d 20 26 72 65 73 74 20 65 6c 65 tion:.-snoc.(list.elem.&rest.ele
38080 6d 65 6e 74 73 29 0a 20 20 20 20 20 41 70 70 65 6e 64 20 45 4c 45 4d 20 74 6f 20 74 68 65 20 65 ments)......Append.ELEM.to.the.e
380a0 6e 64 20 6f 66 20 74 68 65 20 6c 69 73 74 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 69 73 20 6c 69 nd.of.the.list........This.is.li
380c0 6b 65 20 e2 80 98 63 6f 6e 73 e2 80 99 2c 20 62 75 74 20 6f 70 65 72 61 74 65 73 20 6f 6e 20 74 ke....cons...,.but.operates.on.t
380e0 68 65 20 65 6e 64 20 6f 66 20 6c 69 73 74 2e 0a 0a 20 20 20 20 20 49 66 20 45 4c 45 4d 45 4e 54 he.end.of.list........If.ELEMENT
38100 53 20 69 73 20 6e 6f 6e 20 6e 69 6c 2c 20 61 70 70 65 6e 64 20 74 68 65 73 65 20 74 6f 20 74 68 S.is.non.nil,.append.these.to.th
38120 65 20 6c 69 73 74 20 61 73 20 77 65 6c 6c 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 6e 6f e.list.as.well.............(-sno
38140 63 20 27 28 31 20 32 20 33 29 20 34 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 c.'(1.2.3).4)...................
38160 28 31 20 32 20 33 20 34 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 6e 6f 63 20 27 28 31 20 32 (1.2.3.4)...........(-snoc.'(1.2
38180 20 33 29 20 34 20 35 20 36 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 .3).4.5.6)...................(1.
381a0 32 20 33 20 34 20 35 20 36 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 6e 6f 63 20 27 28 31 20 2.3.4.5.6)...........(-snoc.'(1.
381c0 32 20 33 29 20 27 28 34 20 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 2.3).'(4.5.6))..................
381e0 20 28 31 20 32 20 33 20 28 34 20 35 20 36 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 .(1.2.3.(4.5.6))...--.Function:.
38200 2d 69 6e 74 65 72 70 6f 73 65 20 28 73 65 70 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 -interpose.(sep.list)......Retur
38220 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 6f 66 20 61 6c 6c 20 65 6c 65 6d 65 6e 74 73 20 69 6e 20 n.a.new.list.of.all.elements.in.
38240 4c 49 53 54 20 73 65 70 61 72 61 74 65 64 20 62 79 20 53 45 50 2e 0a 0a 20 20 20 20 20 20 20 20 LIST.separated.by.SEP...........
38260 20 20 28 2d 69 6e 74 65 72 70 6f 73 65 20 22 2d 22 20 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 ..(-interpose."-".())...........
38280 20 20 20 20 e2 87 92 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 6e 74 65 72 70 6f 73 65 ........()...........(-interpose
382a0 20 22 2d 22 20 27 28 22 61 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 ."-".'("a"))...................(
382c0 22 61 22 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 6e 74 65 72 70 6f 73 65 20 22 2d 22 20 27 "a")...........(-interpose."-".'
382e0 28 22 61 22 20 22 62 22 20 22 63 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 ("a"."b"."c"))..................
38300 20 28 22 61 22 20 22 2d 22 20 22 62 22 20 22 2d 22 20 22 63 22 29 0a 0a 20 2d 2d 20 46 75 6e 63 .("a"."-"."b"."-"."c")...--.Func
38320 74 69 6f 6e 3a 20 2d 69 6e 74 65 72 6c 65 61 76 65 20 28 26 72 65 73 74 20 6c 69 73 74 73 29 0a tion:.-interleave.(&rest.lists).
38340 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 6f 66 20 74 68 65 20 66 69 .....Return.a.new.list.of.the.fi
38360 72 73 74 20 69 74 65 6d 20 69 6e 20 65 61 63 68 20 6c 69 73 74 2c 20 74 68 65 6e 20 74 68 65 20 rst.item.in.each.list,.then.the.
38380 73 65 63 6f 6e 64 0a 20 20 20 20 20 65 74 63 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 6e second......etc.............(-in
383a0 74 65 72 6c 65 61 76 65 20 27 28 31 20 32 29 20 27 28 22 61 22 20 22 62 22 29 29 0a 20 20 20 20 terleave.'(1.2).'("a"."b")).....
383c0 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 22 61 22 20 32 20 22 62 22 29 0a 20 20 20 20 ..............(1."a".2."b").....
383e0 20 20 20 20 20 20 28 2d 69 6e 74 65 72 6c 65 61 76 65 20 27 28 31 20 32 29 20 27 28 22 61 22 20 ......(-interleave.'(1.2).'("a".
38400 22 62 22 29 20 27 28 22 41 22 20 22 42 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 "b").'("A"."B"))................
38420 87 92 20 28 31 20 22 61 22 20 22 41 22 20 32 20 22 62 22 20 22 42 22 29 0a 20 20 20 20 20 20 20 ...(1."a"."A".2."b"."B")........
38440 20 20 20 28 2d 69 6e 74 65 72 6c 65 61 76 65 20 27 28 31 20 32 20 33 29 20 27 28 22 61 22 20 22 ...(-interleave.'(1.2.3).'("a"."
38460 62 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 22 61 22 20 32 20 b"))...................(1."a".2.
38480 22 62 22 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 69 6f 74 61 20 28 63 6f 75 6e 74 "b")...--.Function:.-iota.(count
384a0 20 26 6f 70 74 69 6f 6e 61 6c 20 73 74 61 72 74 20 73 74 65 70 29 0a 20 20 20 20 20 52 65 74 75 .&optional.start.step)......Retu
384c0 72 6e 20 61 20 6c 69 73 74 20 63 6f 6e 74 61 69 6e 69 6e 67 20 43 4f 55 4e 54 20 6e 75 6d 62 65 rn.a.list.containing.COUNT.numbe
384e0 72 73 2e 20 20 53 74 61 72 74 73 20 66 72 6f 6d 20 53 54 41 52 54 20 61 6e 64 20 61 64 64 73 0a rs...Starts.from.START.and.adds.
38500 20 20 20 20 20 53 54 45 50 20 65 61 63 68 20 74 69 6d 65 2e 20 20 54 68 65 20 64 65 66 61 75 6c .....STEP.each.time...The.defaul
38520 74 20 53 54 41 52 54 20 69 73 20 7a 65 72 6f 2c 20 74 68 65 20 64 65 66 61 75 6c 74 20 53 54 45 t.START.is.zero,.the.default.STE
38540 50 20 69 73 20 31 2e 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 74 61 6b 65 73 P.is.1.......This.function.takes
38560 20 69 74 73 20 6e 61 6d 65 20 66 72 6f 6d 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 .its.name.from.the.corresponding
38580 20 70 72 69 6d 69 74 69 76 65 20 69 6e 0a 20 20 20 20 20 74 68 65 20 41 50 4c 20 6c 61 6e 67 75 .primitive.in......the.APL.langu
385a0 61 67 65 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 6f 74 61 20 36 29 0a 20 20 20 20 20 20 age.............(-iota.6).......
385c0 20 20 20 20 20 20 20 20 e2 87 92 20 28 30 20 31 20 32 20 33 20 34 20 35 29 0a 20 20 20 20 20 20 ............(0.1.2.3.4.5).......
385e0 20 20 20 20 28 2d 69 6f 74 61 20 34 20 32 2e 35 20 2d 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 ....(-iota.4.2.5.-2)............
38600 20 20 20 e2 87 92 20 28 32 2e 35 20 30 2e 35 20 2d 31 2e 35 20 2d 33 2e 35 29 0a 20 20 20 20 20 .......(2.5.0.5.-1.5.-3.5)......
38620 20 20 20 20 20 28 2d 69 6f 74 61 20 2d 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 72 .....(-iota.-1)...............er
38640 72 6f 72 e2 86 92 20 57 72 6f 6e 67 20 74 79 70 65 20 61 72 67 75 6d 65 6e 74 3a 20 6e 61 74 6e ror....Wrong.type.argument:.natn
38660 75 6d 70 2c 20 2d 31 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 7a 69 70 2d 77 69 74 68 ump,.-1...--.Function:.-zip-with
38680 20 28 66 6e 20 6c 69 73 74 31 20 6c 69 73 74 32 29 0a 20 20 20 20 20 5a 69 70 20 74 68 65 20 74 .(fn.list1.list2)......Zip.the.t
386a0 77 6f 20 6c 69 73 74 73 20 4c 49 53 54 31 20 61 6e 64 20 4c 49 53 54 32 20 75 73 69 6e 67 20 61 wo.lists.LIST1.and.LIST2.using.a
386c0 20 66 75 6e 63 74 69 6f 6e 20 46 4e 2e 20 20 54 68 69 73 0a 20 20 20 20 20 66 75 6e 63 74 69 6f .function.FN...This......functio
386e0 6e 20 69 73 20 61 70 70 6c 69 65 64 20 70 61 69 72 77 69 73 65 20 74 61 6b 69 6e 67 20 61 73 20 n.is.applied.pairwise.taking.as.
38700 66 69 72 73 74 20 61 72 67 75 6d 65 6e 74 20 65 6c 65 6d 65 6e 74 20 6f 66 0a 20 20 20 20 20 4c first.argument.element.of......L
38720 49 53 54 31 20 61 6e 64 20 61 73 20 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e 74 20 65 6c 65 6d IST1.and.as.second.argument.elem
38740 65 6e 74 20 6f 66 20 4c 49 53 54 32 20 61 74 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 0a 20 20 ent.of.LIST2.at.corresponding...
38760 20 20 20 70 6f 73 69 74 69 6f 6e 2e 0a 0a 20 20 20 20 20 54 68 65 20 61 6e 61 70 68 6f 72 69 63 ...position........The.anaphoric
38780 20 66 6f 72 6d 20 e2 80 98 2d 2d 7a 69 70 2d 77 69 74 68 e2 80 99 20 62 69 6e 64 73 20 74 68 65 .form....--zip-with....binds.the
387a0 20 65 6c 65 6d 65 6e 74 73 20 66 72 6f 6d 20 4c 49 53 54 31 20 61 73 0a 20 20 20 20 20 73 79 6d .elements.from.LIST1.as......sym
387c0 62 6f 6c 20 e2 80 98 69 74 e2 80 99 2c 20 61 6e 64 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 66 bol....it...,.and.the.elements.f
387e0 72 6f 6d 20 4c 49 53 54 32 20 61 73 20 73 79 6d 62 6f 6c 20 e2 80 98 6f 74 68 65 72 e2 80 99 2e rom.LIST2.as.symbol....other....
38800 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 7a 69 70 2d 77 69 74 68 20 27 2b 20 27 28 31 20 32 20 ............(-zip-with.'+.'(1.2.
38820 33 29 20 27 28 34 20 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 3).'(4.5.6))...................(
38840 35 20 37 20 39 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 7a 69 70 2d 77 69 74 68 20 27 63 6f 6e 5.7.9)...........(-zip-with.'con
38860 73 20 27 28 31 20 32 20 33 29 20 27 28 34 20 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 s.'(1.2.3).'(4.5.6))............
38880 20 20 20 e2 87 92 20 28 28 31 20 2e 20 34 29 20 28 32 20 2e 20 35 29 20 28 33 20 2e 20 36 29 29 .......((1...4).(2...5).(3...6))
388a0 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 7a 69 70 2d 77 69 74 68 20 28 63 6f 6e 63 61 74 20 69 ...........(--zip-with.(concat.i
388c0 74 20 22 20 61 6e 64 20 22 20 6f 74 68 65 72 29 20 27 28 22 42 61 74 6d 61 6e 22 20 22 4a 65 6b t.".and.".other).'("Batman"."Jek
388e0 79 6c 6c 22 29 20 27 28 22 52 6f 62 69 6e 22 20 22 48 79 64 65 22 29 29 0a 20 20 20 20 20 20 20 yll").'("Robin"."Hyde"))........
38900 20 20 20 20 20 20 20 e2 87 92 20 28 22 42 61 74 6d 61 6e 20 61 6e 64 20 52 6f 62 69 6e 22 20 22 ...........("Batman.and.Robin"."
38920 4a 65 6b 79 6c 6c 20 61 6e 64 20 48 79 64 65 22 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a Jekyll.and.Hyde")...--.Function:
38940 20 2d 7a 69 70 20 28 26 72 65 73 74 20 6c 69 73 74 73 29 0a 20 20 20 20 20 5a 69 70 20 4c 49 53 .-zip.(&rest.lists)......Zip.LIS
38960 54 53 20 74 6f 67 65 74 68 65 72 2e 20 20 47 72 6f 75 70 20 74 68 65 20 68 65 61 64 20 6f 66 20 TS.together...Group.the.head.of.
38980 65 61 63 68 20 6c 69 73 74 2c 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 74 68 65 0a 20 20 20 20 20 each.list,.followed.by.the......
389a0 73 65 63 6f 6e 64 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 65 61 63 68 20 6c 69 73 74 2c 20 61 6e second.elements.of.each.list,.an
389c0 64 20 73 6f 20 6f 6e 2e 20 20 54 68 65 20 6c 65 6e 67 74 68 73 20 6f 66 20 74 68 65 0a 20 20 20 d.so.on...The.lengths.of.the....
389e0 20 20 72 65 74 75 72 6e 65 64 20 67 72 6f 75 70 69 6e 67 73 20 61 72 65 20 65 71 75 61 6c 20 74 ..returned.groupings.are.equal.t
38a00 6f 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 73 68 6f 72 74 65 73 74 20 69 6e 70 o.the.length.of.the.shortest.inp
38a20 75 74 0a 20 20 20 20 20 6c 69 73 74 2e 0a 0a 20 20 20 20 20 49 66 20 74 77 6f 20 6c 69 73 74 73 ut......list........If.two.lists
38a40 20 61 72 65 20 70 72 6f 76 69 64 65 64 20 61 73 20 61 72 67 75 6d 65 6e 74 73 2c 20 72 65 74 75 .are.provided.as.arguments,.retu
38a60 72 6e 20 74 68 65 20 67 72 6f 75 70 69 6e 67 73 20 61 73 20 61 0a 20 20 20 20 20 6c 69 73 74 20 rn.the.groupings.as.a......list.
38a80 6f 66 20 63 6f 6e 73 20 63 65 6c 6c 73 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 72 65 74 75 72 of.cons.cells...Otherwise,.retur
38aa0 6e 20 74 68 65 20 67 72 6f 75 70 69 6e 67 73 20 61 73 20 61 20 6c 69 73 74 20 6f 66 0a 20 20 20 n.the.groupings.as.a.list.of....
38ac0 20 20 6c 69 73 74 73 2e 0a 0a 20 20 20 20 20 55 73 65 20 e2 80 98 2d 7a 69 70 2d 6c 69 73 74 73 ..lists........Use....-zip-lists
38ae0 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 7a 69 70 2d 6c 69 73 74 73 3a 3a 29 20 69 66 20 79 6f 75 20 ....(*note.-zip-lists::).if.you.
38b00 6e 65 65 64 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 0a 20 20 20 20 20 74 6f 20 61 6c need.the.return.value......to.al
38b20 77 61 79 73 20 62 65 20 61 20 6c 69 73 74 20 6f 66 20 6c 69 73 74 73 2e 0a 0a 20 20 20 20 20 41 ways.be.a.list.of.lists........A
38b40 6c 69 61 73 3a 20 e2 80 98 2d 7a 69 70 2d 70 61 69 72 e2 80 99 0a 0a 20 20 20 20 20 53 65 65 20 lias:....-zip-pair..........See.
38b60 61 6c 73 6f 3a 20 e2 80 98 2d 7a 69 70 2d 6c 69 73 74 73 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 7a also:....-zip-lists....(*note.-z
38b80 69 70 2d 6c 69 73 74 73 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 7a 69 70 20 27 28 31 ip-lists::)............(-zip.'(1
38ba0 20 32 20 33 29 20 27 28 34 20 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 .2.3).'(4.5.6)).................
38bc0 92 20 28 28 31 20 2e 20 34 29 20 28 32 20 2e 20 35 29 20 28 33 20 2e 20 36 29 29 0a 20 20 20 20 ..((1...4).(2...5).(3...6)).....
38be0 20 20 20 20 20 20 28 2d 7a 69 70 20 27 28 31 20 32 20 33 29 20 27 28 34 20 35 20 36 20 37 29 29 ......(-zip.'(1.2.3).'(4.5.6.7))
38c00 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 2e 20 34 29 20 28 32 20 2e ...................((1...4).(2..
38c20 20 35 29 20 28 33 20 2e 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 7a 69 70 20 27 28 31 .5).(3...6))...........(-zip.'(1
38c40 20 32 29 20 27 28 33 20 34 20 35 29 20 27 28 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .2).'(3.4.5).'(6))..............
38c60 20 e2 87 92 20 28 28 31 20 33 20 36 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 7a .....((1.3.6))...--.Function:.-z
38c80 69 70 2d 6c 69 73 74 73 20 28 26 72 65 73 74 20 6c 69 73 74 73 29 0a 20 20 20 20 20 5a 69 70 20 ip-lists.(&rest.lists)......Zip.
38ca0 4c 49 53 54 53 20 74 6f 67 65 74 68 65 72 2e 20 20 47 72 6f 75 70 20 74 68 65 20 68 65 61 64 20 LISTS.together...Group.the.head.
38cc0 6f 66 20 65 61 63 68 20 6c 69 73 74 2c 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 74 68 65 0a 20 20 of.each.list,.followed.by.the...
38ce0 20 20 20 73 65 63 6f 6e 64 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 65 61 63 68 20 6c 69 73 74 2c ...second.elements.of.each.list,
38d00 20 61 6e 64 20 73 6f 20 6f 6e 2e 20 20 54 68 65 20 6c 65 6e 67 74 68 73 20 6f 66 20 74 68 65 0a .and.so.on...The.lengths.of.the.
38d20 20 20 20 20 20 72 65 74 75 72 6e 65 64 20 67 72 6f 75 70 69 6e 67 73 20 61 72 65 20 65 71 75 61 .....returned.groupings.are.equa
38d40 6c 20 74 6f 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 73 68 6f 72 74 65 73 74 20 l.to.the.length.of.the.shortest.
38d60 69 6e 70 75 74 0a 20 20 20 20 20 6c 69 73 74 2e 0a 0a 20 20 20 20 20 54 68 65 20 72 65 74 75 72 input......list........The.retur
38d80 6e 20 76 61 6c 75 65 20 69 73 20 61 6c 77 61 79 73 20 6c 69 73 74 20 6f 66 20 6c 69 73 74 73 2c n.value.is.always.list.of.lists,
38da0 20 77 68 69 63 68 20 69 73 20 61 20 64 69 66 66 65 72 65 6e 63 65 0a 20 20 20 20 20 66 72 6f 6d .which.is.a.difference......from
38dc0 20 e2 80 98 2d 7a 69 70 2d 70 61 69 72 e2 80 99 20 77 68 69 63 68 20 72 65 74 75 72 6e 73 20 61 ....-zip-pair....which.returns.a
38de0 20 63 6f 6e 73 2d 63 65 6c 6c 20 69 6e 20 63 61 73 65 20 74 77 6f 20 69 6e 70 75 74 20 6c 69 73 .cons-cell.in.case.two.input.lis
38e00 74 73 0a 20 20 20 20 20 61 72 65 20 70 72 6f 76 69 64 65 64 2e 0a 0a 20 20 20 20 20 53 65 65 20 ts......are.provided........See.
38e20 61 6c 73 6f 3a 20 e2 80 98 2d 7a 69 70 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 7a 69 70 3a 3a 29 0a also:....-zip....(*note.-zip::).
38e40 0a 20 20 20 20 20 20 20 20 20 20 28 2d 7a 69 70 2d 6c 69 73 74 73 20 27 28 31 20 32 20 33 29 20 ...........(-zip-lists.'(1.2.3).
38e60 27 28 34 20 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 '(4.5.6))...................((1.
38e80 34 29 20 28 32 20 35 29 20 28 33 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 7a 69 70 2d 4).(2.5).(3.6))...........(-zip-
38ea0 6c 69 73 74 73 20 27 28 31 20 32 20 33 29 20 27 28 34 20 35 20 36 20 37 29 29 0a 20 20 20 20 20 lists.'(1.2.3).'(4.5.6.7))......
38ec0 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 34 29 20 28 32 20 35 29 20 28 33 20 36 29 29 .............((1.4).(2.5).(3.6))
38ee0 0a 20 20 20 20 20 20 20 20 20 20 28 2d 7a 69 70 2d 6c 69 73 74 73 20 27 28 31 20 32 29 20 27 28 ...........(-zip-lists.'(1.2).'(
38f00 33 20 34 20 35 29 20 27 28 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 3.4.5).'(6))...................(
38f20 28 31 20 33 20 36 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 7a 69 70 2d 66 69 6c (1.3.6))...--.Function:.-zip-fil
38f40 6c 20 28 66 69 6c 6c 2d 76 61 6c 75 65 20 26 72 65 73 74 20 6c 69 73 74 73 29 0a 20 20 20 20 20 l.(fill-value.&rest.lists)......
38f60 5a 69 70 20 4c 49 53 54 53 2c 20 77 69 74 68 20 46 49 4c 4c 2d 56 41 4c 55 45 20 70 61 64 64 65 Zip.LISTS,.with.FILL-VALUE.padde
38f80 64 20 6f 6e 74 6f 20 74 68 65 20 73 68 6f 72 74 65 72 20 6c 69 73 74 73 2e 20 20 54 68 65 0a 20 d.onto.the.shorter.lists...The..
38fa0 20 20 20 20 6c 65 6e 67 74 68 73 20 6f 66 20 74 68 65 20 72 65 74 75 72 6e 65 64 20 67 72 6f 75 ....lengths.of.the.returned.grou
38fc0 70 69 6e 67 73 20 61 72 65 20 65 71 75 61 6c 20 74 6f 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 pings.are.equal.to.the.length.of
38fe0 20 74 68 65 0a 20 20 20 20 20 6c 6f 6e 67 65 73 74 20 69 6e 70 75 74 20 6c 69 73 74 2e 0a 0a 20 .the......longest.input.list....
39000 20 20 20 20 20 20 20 20 20 28 2d 7a 69 70 2d 66 69 6c 6c 20 30 20 27 28 31 20 32 20 33 20 34 20 .........(-zip-fill.0.'(1.2.3.4.
39020 35 29 20 27 28 36 20 37 20 38 20 39 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 5).'(6.7.8.9))..................
39040 20 28 28 31 20 2e 20 36 29 20 28 32 20 2e 20 37 29 20 28 33 20 2e 20 38 29 20 28 34 20 2e 20 39 .((1...6).(2...7).(3...8).(4...9
39060 29 20 28 35 20 2e 20 30 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 75 6e 7a 69 70 ).(5...0))...--.Function:.-unzip
39080 20 28 6c 69 73 74 73 29 0a 20 20 20 20 20 55 6e 7a 69 70 20 4c 49 53 54 53 2e 0a 0a 20 20 20 20 .(lists)......Unzip.LISTS.......
390a0 20 54 68 69 73 20 77 6f 72 6b 73 20 6a 75 73 74 20 6c 69 6b 65 20 e2 80 98 2d 7a 69 70 e2 80 99 .This.works.just.like....-zip...
390c0 20 28 2a 6e 6f 74 65 20 2d 7a 69 70 3a 3a 29 20 62 75 74 20 74 61 6b 65 73 20 61 20 6c 69 73 74 .(*note.-zip::).but.takes.a.list
390e0 20 6f 66 0a 20 20 20 20 20 6c 69 73 74 73 20 69 6e 73 74 65 61 64 20 6f 66 20 61 20 76 61 72 69 .of......lists.instead.of.a.vari
39100 61 62 6c 65 20 6e 75 6d 62 65 72 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 2c 20 73 75 63 68 20 74 able.number.of.arguments,.such.t
39120 68 61 74 0a 0a 20 20 20 20 20 28 2d 75 6e 7a 69 70 20 28 2d 7a 69 70 20 4c 31 20 4c 32 20 4c 33 hat.......(-unzip.(-zip.L1.L2.L3
39140 20 2e 2e 2e 29 29 0a 0a 20 20 20 20 20 69 73 20 69 64 65 6e 74 69 74 79 20 28 67 69 76 65 6e 20 ....)).......is.identity.(given.
39160 74 68 61 74 20 74 68 65 20 6c 69 73 74 73 20 61 72 65 20 74 68 65 20 73 61 6d 65 20 6c 65 6e 67 that.the.lists.are.the.same.leng
39180 74 68 29 2e 0a 0a 20 20 20 20 20 4e 6f 74 65 20 69 6e 20 70 61 72 74 69 63 75 6c 61 72 20 74 68 th)........Note.in.particular.th
391a0 61 74 20 63 61 6c 6c 69 6e 67 20 74 68 69 73 20 6f 6e 20 61 20 6c 69 73 74 20 6f 66 20 74 77 6f at.calling.this.on.a.list.of.two
391c0 20 6c 69 73 74 73 20 77 69 6c 6c 0a 20 20 20 20 20 72 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f .lists.will......return.a.list.o
391e0 66 20 63 6f 6e 73 2d 63 65 6c 6c 73 20 73 75 63 68 20 74 68 61 74 20 74 68 65 20 61 62 6f 76 65 f.cons-cells.such.that.the.above
39200 20 69 64 65 6e 74 69 74 79 20 77 6f 72 6b 73 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a .identity.works........See.also:
39220 20 e2 80 98 2d 7a 69 70 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 7a 69 70 3a 3a 29 0a 0a 20 20 20 20 ....-zip....(*note.-zip::)......
39240 20 20 20 20 20 20 28 2d 75 6e 7a 69 70 20 28 2d 7a 69 70 20 27 28 31 20 32 20 33 29 20 27 28 61 ......(-unzip.(-zip.'(1.2.3).'(a
39260 20 62 20 63 29 20 27 28 22 65 22 20 22 66 22 20 22 67 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 .b.c).'("e"."f"."g")))..........
39280 20 20 20 20 20 e2 87 92 20 28 28 31 20 32 20 33 29 20 28 61 20 62 20 63 29 20 28 22 65 22 20 22 .........((1.2.3).(a.b.c).("e"."
392a0 66 22 20 22 67 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 75 6e 7a 69 70 20 27 28 28 31 20 f"."g"))...........(-unzip.'((1.
392c0 32 29 20 28 33 20 34 29 20 28 35 20 36 29 20 28 37 20 38 29 20 28 39 20 31 30 29 29 29 0a 20 20 2).(3.4).(5.6).(7.8).(9.10)))...
392e0 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 33 20 35 20 37 20 39 29 20 28 32 20 ................((1.3.5.7.9).(2.
39300 34 20 36 20 38 20 31 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 75 6e 7a 69 70 20 27 28 28 4.6.8.10))...........(-unzip.'((
39320 31 20 32 29 20 28 33 20 34 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 1.2).(3.4)))...................(
39340 28 31 20 2e 20 33 29 20 28 32 20 2e 20 34 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 (1...3).(2...4))...--.Function:.
39360 2d 63 79 63 6c 65 20 28 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 6e 20 69 6e 66 -cycle.(list)......Return.an.inf
39380 69 6e 69 74 65 20 63 69 72 63 75 6c 61 72 20 63 6f 70 79 20 6f 66 20 4c 49 53 54 2e 20 20 54 68 inite.circular.copy.of.LIST...Th
393a0 65 20 72 65 74 75 72 6e 65 64 20 6c 69 73 74 20 63 79 63 6c 65 73 0a 20 20 20 20 20 74 68 72 6f e.returned.list.cycles......thro
393c0 75 67 68 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 4c 49 53 54 20 61 6e 64 20 72 65 70 ugh.the.elements.of.LIST.and.rep
393e0 65 61 74 73 20 66 72 6f 6d 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 2e 0a 0a 20 20 20 20 20 20 eats.from.the.beginning.........
39400 20 20 20 20 28 2d 74 61 6b 65 20 35 20 28 2d 63 79 63 6c 65 20 27 28 31 20 32 20 33 29 29 29 0a ....(-take.5.(-cycle.'(1.2.3))).
39420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 31 20 32 29 0a 20 20 ..................(1.2.3.1.2)...
39440 20 20 20 20 20 20 20 20 28 2d 74 61 6b 65 20 37 20 28 2d 63 79 63 6c 65 20 27 28 31 20 22 61 6e ........(-take.7.(-cycle.'(1."an
39460 64 22 20 33 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 22 61 6e d".3)))...................(1."an
39480 64 22 20 33 20 31 20 22 61 6e 64 22 20 33 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 7a 69 d".3.1."and".3.1)...........(-zi
394a0 70 20 28 2d 63 79 63 6c 65 20 27 28 31 20 32 20 33 29 29 20 27 28 31 20 32 29 29 0a 20 20 20 20 p.(-cycle.'(1.2.3)).'(1.2)).....
394c0 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 2e 20 31 29 20 28 32 20 2e 20 32 29 29 0a ..............((1...1).(2...2)).
394e0 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 70 61 64 20 28 66 69 6c 6c 2d 76 61 6c 75 65 20 ..--.Function:.-pad.(fill-value.
39500 26 72 65 73 74 20 6c 69 73 74 73 29 0a 20 20 20 20 20 41 70 70 65 6e 64 73 20 46 49 4c 4c 2d 56 &rest.lists)......Appends.FILL-V
39520 41 4c 55 45 20 74 6f 20 74 68 65 20 65 6e 64 20 6f 66 20 65 61 63 68 20 6c 69 73 74 20 69 6e 20 ALUE.to.the.end.of.each.list.in.
39540 4c 49 53 54 53 20 73 75 63 68 20 74 68 61 74 20 74 68 65 79 0a 20 20 20 20 20 77 69 6c 6c 20 61 LISTS.such.that.they......will.a
39560 6c 6c 20 68 61 76 65 20 74 68 65 20 73 61 6d 65 20 6c 65 6e 67 74 68 2e 0a 0a 20 20 20 20 20 20 ll.have.the.same.length.........
39580 20 20 20 20 28 2d 70 61 64 20 30 20 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 ....(-pad.0.()).................
395a0 92 20 28 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 64 20 30 20 27 28 31 29 29 0a ..(nil)...........(-pad.0.'(1)).
395c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 29 29 0a 20 20 20 20 20 20 20 20 ..................((1)).........
395e0 20 20 28 2d 70 61 64 20 30 20 27 28 31 20 32 20 33 29 20 27 28 34 20 35 29 29 0a 20 20 20 20 20 ..(-pad.0.'(1.2.3).'(4.5))......
39600 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 32 20 33 29 20 28 34 20 35 20 30 29 29 0a 0a .............((1.2.3).(4.5.0))..
39620 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 74 61 62 6c 65 20 28 66 6e 20 26 72 65 73 74 20 6c .--.Function:.-table.(fn.&rest.l
39640 69 73 74 73 29 0a 20 20 20 20 20 43 6f 6d 70 75 74 65 20 6f 75 74 65 72 20 70 72 6f 64 75 63 74 ists)......Compute.outer.product
39660 20 6f 66 20 4c 49 53 54 53 20 75 73 69 6e 67 20 66 75 6e 63 74 69 6f 6e 20 46 4e 2e 0a 0a 20 20 .of.LISTS.using.function.FN.....
39680 20 20 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 46 4e 20 73 68 6f 75 6c 64 20 68 61 76 65 20 74 ...The.function.FN.should.have.t
396a0 68 65 20 73 61 6d 65 20 61 72 69 74 79 20 61 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 0a 20 he.same.arity.as.the.number.of..
396c0 20 20 20 20 73 75 70 70 6c 69 65 64 20 6c 69 73 74 73 2e 0a 0a 20 20 20 20 20 54 68 65 20 6f 75 ....supplied.lists........The.ou
396e0 74 65 72 20 70 72 6f 64 75 63 74 20 69 73 20 63 6f 6d 70 75 74 65 64 20 62 79 20 61 70 70 6c 79 ter.product.is.computed.by.apply
39700 69 6e 67 20 66 6e 20 74 6f 20 61 6c 6c 20 70 6f 73 73 69 62 6c 65 0a 20 20 20 20 20 63 6f 6d 62 ing.fn.to.all.possible......comb
39720 69 6e 61 74 69 6f 6e 73 20 63 72 65 61 74 65 64 20 62 79 20 74 61 6b 69 6e 67 20 6f 6e 65 20 65 inations.created.by.taking.one.e
39740 6c 65 6d 65 6e 74 20 66 72 6f 6d 20 65 61 63 68 20 6c 69 73 74 20 69 6e 20 6f 72 64 65 72 2e 0a lement.from.each.list.in.order..
39760 20 20 20 20 20 54 68 65 20 64 69 6d 65 6e 73 69 6f 6e 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 .....The.dimension.of.the.result
39780 20 69 73 20 28 6c 65 6e 67 74 68 20 6c 69 73 74 73 29 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c .is.(length.lists)........See.al
397a0 73 6f 3a 20 e2 80 98 2d 74 61 62 6c 65 2d 66 6c 61 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 74 61 so:....-table-flat....(*note.-ta
397c0 62 6c 65 2d 66 6c 61 74 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 61 62 6c 65 20 27 ble-flat::)............(-table.'
397e0 2a 20 27 28 31 20 32 20 33 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 *.'(1.2.3).'(1.2.3))............
39800 20 20 20 e2 87 92 20 28 28 31 20 32 20 33 29 20 28 32 20 34 20 36 29 20 28 33 20 36 20 39 29 29 .......((1.2.3).(2.4.6).(3.6.9))
39820 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 61 62 6c 65 20 28 6c 61 6d 62 64 61 20 28 61 20 62 29 ...........(-table.(lambda.(a.b)
39840 20 28 2d 73 75 6d 20 28 2d 7a 69 70 2d 77 69 74 68 20 27 2a 20 61 20 62 29 29 29 20 27 28 28 31 .(-sum.(-zip-with.'*.a.b))).'((1
39860 20 32 29 20 28 33 20 34 29 29 20 27 28 28 31 20 33 29 20 28 32 20 34 29 29 29 0a 20 20 20 20 20 .2).(3.4)).'((1.3).(2.4)))......
39880 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 37 20 31 35 29 20 28 31 30 20 32 32 29 29 0a 20 20 .............((7.15).(10.22))...
398a0 20 20 20 20 20 20 20 20 28 61 70 70 6c 79 20 27 2d 74 61 62 6c 65 20 27 6c 69 73 74 20 28 2d 72 ........(apply.'-table.'list.(-r
398c0 65 70 65 61 74 20 33 20 27 28 31 20 32 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 epeat.3.'(1.2)))................
398e0 87 92 20 28 28 28 28 31 20 31 20 31 29 20 28 32 20 31 20 31 29 29 20 28 28 31 20 32 20 31 29 20 ...((((1.1.1).(2.1.1)).((1.2.1).
39900 28 32 20 32 20 31 29 29 29 20 28 28 28 31 20 31 20 32 29 20 28 32 20 31 20 32 29 29 20 28 28 31 (2.2.1))).(((1.1.2).(2.1.2)).((1
39920 20 32 20 32 29 20 28 32 20 32 20 32 29 29 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 .2.2).(2.2.2))))...--.Function:.
39940 2d 74 61 62 6c 65 2d 66 6c 61 74 20 28 66 6e 20 26 72 65 73 74 20 6c 69 73 74 73 29 0a 20 20 20 -table-flat.(fn.&rest.lists)....
39960 20 20 43 6f 6d 70 75 74 65 20 66 6c 61 74 20 6f 75 74 65 72 20 70 72 6f 64 75 63 74 20 6f 66 20 ..Compute.flat.outer.product.of.
39980 4c 49 53 54 53 20 75 73 69 6e 67 20 66 75 6e 63 74 69 6f 6e 20 46 4e 2e 0a 0a 20 20 20 20 20 54 LISTS.using.function.FN........T
399a0 68 65 20 66 75 6e 63 74 69 6f 6e 20 46 4e 20 73 68 6f 75 6c 64 20 68 61 76 65 20 74 68 65 20 73 he.function.FN.should.have.the.s
399c0 61 6d 65 20 61 72 69 74 79 20 61 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 0a 20 20 20 20 20 ame.arity.as.the.number.of......
399e0 73 75 70 70 6c 69 65 64 20 6c 69 73 74 73 2e 0a 0a 20 20 20 20 20 54 68 65 20 6f 75 74 65 72 20 supplied.lists........The.outer.
39a00 70 72 6f 64 75 63 74 20 69 73 20 63 6f 6d 70 75 74 65 64 20 62 79 20 61 70 70 6c 79 69 6e 67 20 product.is.computed.by.applying.
39a20 66 6e 20 74 6f 20 61 6c 6c 20 70 6f 73 73 69 62 6c 65 0a 20 20 20 20 20 63 6f 6d 62 69 6e 61 74 fn.to.all.possible......combinat
39a40 69 6f 6e 73 20 63 72 65 61 74 65 64 20 62 79 20 74 61 6b 69 6e 67 20 6f 6e 65 20 65 6c 65 6d 65 ions.created.by.taking.one.eleme
39a60 6e 74 20 66 72 6f 6d 20 65 61 63 68 20 6c 69 73 74 20 69 6e 20 6f 72 64 65 72 2e 0a 20 20 20 20 nt.from.each.list.in.order......
39a80 20 54 68 65 20 72 65 73 75 6c 74 73 20 61 72 65 20 66 6c 61 74 74 65 6e 65 64 2c 20 69 67 6e 6f .The.results.are.flattened,.igno
39aa0 72 69 6e 67 20 74 68 65 20 74 65 6e 73 6f 72 20 73 74 72 75 63 74 75 72 65 20 6f 66 20 74 68 65 ring.the.tensor.structure.of.the
39ac0 0a 20 20 20 20 20 72 65 73 75 6c 74 2e 20 20 54 68 69 73 20 69 73 20 65 71 75 69 76 61 6c 65 6e ......result...This.is.equivalen
39ae0 74 20 74 6f 20 63 61 6c 6c 69 6e 67 3a 0a 0a 20 20 20 20 20 28 2d 66 6c 61 74 74 65 6e 2d 6e 20 t.to.calling:.......(-flatten-n.
39b00 28 31 2d 20 28 6c 65 6e 67 74 68 20 6c 69 73 74 73 29 29 20 28 61 70 70 6c 79 20 e2 80 99 2d 74 (1-.(length.lists)).(apply....-t
39b20 61 62 6c 65 20 66 6e 20 6c 69 73 74 73 29 29 0a 0a 20 20 20 20 20 62 75 74 20 74 68 65 20 69 6d able.fn.lists)).......but.the.im
39b40 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 68 65 72 65 20 69 73 20 6d 75 63 68 20 6d 6f 72 65 20 65 plementation.here.is.much.more.e
39b60 66 66 69 63 69 65 6e 74 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 66 6c fficient........See.also:....-fl
39b80 61 74 74 65 6e 2d 6e e2 80 99 20 28 2a 6e 6f 74 65 20 2d 66 6c 61 74 74 65 6e 2d 6e 3a 3a 29 2c atten-n....(*note.-flatten-n::),
39ba0 20 e2 80 98 2d 74 61 62 6c 65 e2 80 99 20 28 2a 6e 6f 74 65 0a 20 20 20 20 20 2d 74 61 62 6c 65 ....-table....(*note......-table
39bc0 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 61 62 6c 65 2d 66 6c 61 74 20 27 6c 69 73 ::)............(-table-flat.'lis
39be0 74 20 27 28 31 20 32 20 33 29 20 27 28 61 20 62 20 63 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 t.'(1.2.3).'(a.b.c))............
39c00 20 20 20 e2 87 92 20 28 28 31 20 61 29 20 28 32 20 61 29 20 28 33 20 61 29 20 28 31 20 62 29 20 .......((1.a).(2.a).(3.a).(1.b).
39c20 28 32 20 62 29 20 28 33 20 62 29 20 28 31 20 63 29 20 28 32 20 63 29 20 28 33 20 63 29 29 0a 20 (2.b).(3.b).(1.c).(2.c).(3.c))..
39c40 20 20 20 20 20 20 20 20 20 28 2d 74 61 62 6c 65 2d 66 6c 61 74 20 27 2a 20 27 28 31 20 32 20 33 .........(-table-flat.'*.'(1.2.3
39c60 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 ).'(1.2.3))...................(1
39c80 20 32 20 33 20 32 20 34 20 36 20 33 20 36 20 39 29 0a 20 20 20 20 20 20 20 20 20 20 28 61 70 70 .2.3.2.4.6.3.6.9)...........(app
39ca0 6c 79 20 27 2d 74 61 62 6c 65 2d 66 6c 61 74 20 27 6c 69 73 74 20 28 2d 72 65 70 65 61 74 20 33 ly.'-table-flat.'list.(-repeat.3
39cc0 20 27 28 31 20 32 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 .'(1.2)))...................((1.
39ce0 31 20 31 29 20 28 32 20 31 20 31 29 20 28 31 20 32 20 31 29 20 28 32 20 32 20 31 29 20 28 31 20 1.1).(2.1.1).(1.2.1).(2.2.1).(1.
39d00 31 20 32 29 20 28 32 20 31 20 32 29 20 28 31 20 32 20 32 29 20 28 32 20 32 20 32 29 29 0a 0a 20 1.2).(2.1.2).(1.2.2).(2.2.2))...
39d20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 66 69 72 73 74 20 28 70 72 65 64 20 6c 69 73 74 29 0a --.Function:.-first.(pred.list).
39d40 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 66 69 72 73 74 20 69 74 65 6d 20 69 6e 20 4c 49 .....Return.the.first.item.in.LI
39d60 53 54 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 44 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 ST.for.which.PRED.returns.non-ni
39d80 6c 2e 0a 20 20 20 20 20 52 65 74 75 72 6e 20 6e 69 6c 20 69 66 20 6e 6f 20 73 75 63 68 20 65 6c l.......Return.nil.if.no.such.el
39da0 65 6d 65 6e 74 20 69 73 20 66 6f 75 6e 64 2e 20 20 54 6f 20 67 65 74 20 74 68 65 20 66 69 72 73 ement.is.found...To.get.the.firs
39dc0 74 20 69 74 65 6d 20 69 6e 0a 20 20 20 20 20 74 68 65 20 6c 69 73 74 20 6e 6f 20 71 75 65 73 74 t.item.in......the.list.no.quest
39de0 69 6f 6e 73 20 61 73 6b 65 64 2c 20 75 73 65 20 e2 80 98 63 61 72 e2 80 99 2e 0a 0a 20 20 20 20 ions.asked,.use....car..........
39e00 20 41 6c 69 61 73 3a 20 e2 80 98 2d 66 69 6e 64 e2 80 99 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 .Alias:....-find...........This.
39e20 66 75 6e 63 74 69 6f 6e e2 80 99 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 function...s.anaphoric.counterpa
39e40 72 74 20 69 73 20 e2 80 98 2d 2d 66 69 72 73 74 e2 80 99 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 rt.is....--first................
39e60 28 2d 66 69 72 73 74 20 23 27 6e 61 74 6e 75 6d 70 20 27 28 2d 31 20 30 20 31 29 29 0a 20 20 20 (-first.#'natnump.'(-1.0.1))....
39e80 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 30 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 69 72 ...............0...........(-fir
39ea0 73 74 20 23 27 6e 75 6c 6c 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 st.#'null.'(1.2.3)).............
39ec0 20 20 e2 87 92 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 66 69 72 73 74 20 28 3e 20 ......nil...........(--first.(>.
39ee0 69 74 20 32 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 it.2).'(1.2.3)).................
39f00 92 20 33 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 6c 61 73 74 20 28 70 72 65 64 20 6c ..3...--.Function:.-last.(pred.l
39f20 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 6c 61 73 74 20 78 20 69 6e 20 4c ist)......Return.the.last.x.in.L
39f40 49 53 54 20 77 68 65 72 65 20 28 50 52 45 44 20 78 29 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 65 IST.where.(PRED.x).is.non-nil,.e
39f60 6c 73 65 20 6e 69 6c 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6c 61 73 74 20 27 65 76 65 6e lse.nil.............(-last.'even
39f80 3f 20 27 28 31 20 32 20 33 20 34 20 35 20 36 20 33 20 33 20 33 29 29 0a 20 20 20 20 20 20 20 20 ?.'(1.2.3.4.5.6.3.3.3)).........
39fa0 20 20 20 20 20 20 e2 87 92 20 36 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6c 61 73 74 20 27 65 76 ..........6...........(-last.'ev
39fc0 65 6e 3f 20 27 28 31 20 33 20 37 20 35 20 39 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 en?.'(1.3.7.5.9))...............
39fe0 e2 87 92 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 6c 61 73 74 20 28 3e 20 28 6c 65 ....nil...........(--last.(>.(le
3a000 6e 67 74 68 20 69 74 29 20 33 29 20 27 28 22 61 22 20 22 6c 6f 6f 6f 6e 67 22 20 22 77 6f 72 64 ngth.it).3).'("a"."looong"."word
3a020 22 20 22 61 6e 64 22 20 22 73 68 6f 72 74 22 20 22 6f 6e 65 22 29 29 0a 20 20 20 20 20 20 20 20 "."and"."short"."one")).........
3a040 20 20 20 20 20 20 e2 87 92 20 22 73 68 6f 72 74 22 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a .........."short"...--.Function:
3a060 20 2d 66 69 72 73 74 2d 69 74 65 6d 20 28 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 .-first-item.(list)......Return.
3a080 74 68 65 20 66 69 72 73 74 20 69 74 65 6d 20 6f 66 20 4c 49 53 54 2c 20 6f 72 20 6e 69 6c 20 6f the.first.item.of.LIST,.or.nil.o
3a0a0 6e 20 61 6e 20 65 6d 70 74 79 20 6c 69 73 74 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a n.an.empty.list........See.also:
3a0c0 20 e2 80 98 2d 73 65 63 6f 6e 64 2d 69 74 65 6d e2 80 99 20 28 2a 6e 6f 74 65 20 2d 73 65 63 6f ....-second-item....(*note.-seco
3a0e0 6e 64 2d 69 74 65 6d 3a 3a 29 2c 20 e2 80 98 2d 6c 61 73 74 2d 69 74 65 6d e2 80 99 0a 20 20 20 nd-item::),....-last-item.......
3a100 20 20 28 2a 6e 6f 74 65 20 2d 6c 61 73 74 2d 69 74 65 6d 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 ..(*note.-last-item::)..........
3a120 20 20 20 28 2d 66 69 72 73 74 2d 69 74 65 6d 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 ...(-first-item.'(1.2.3)).......
3a140 20 20 20 20 20 20 20 20 e2 87 92 20 31 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 69 72 73 74 2d ............1...........(-first-
3a160 69 74 65 6d 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a item.nil)...................nil.
3a180 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6c 69 73 74 20 28 6c 69 73 74 20 31 20 32 20 ..........(let.((list.(list.1.2.
3a1a0 33 29 29 29 20 28 73 65 74 66 20 28 2d 66 69 72 73 74 2d 69 74 65 6d 20 6c 69 73 74 29 20 35 29 3))).(setf.(-first-item.list).5)
3a1c0 20 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 35 20 32 20 33 29 .list)...................(5.2.3)
3a1e0 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 73 65 63 6f 6e 64 2d 69 74 65 6d 20 28 6c 69 ...--.Function:.-second-item.(li
3a200 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 73 65 63 6f 6e 64 20 69 74 65 6d 20 st)......Return.the.second.item.
3a220 6f 66 20 4c 49 53 54 2c 20 6f 72 20 6e 69 6c 20 69 66 20 4c 49 53 54 20 69 73 20 74 6f 6f 20 73 of.LIST,.or.nil.if.LIST.is.too.s
3a240 68 6f 72 74 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 74 68 69 72 64 2d hort........See.also:....-third-
3a260 69 74 65 6d e2 80 99 20 28 2a 6e 6f 74 65 20 2d 74 68 69 72 64 2d 69 74 65 6d 3a 3a 29 2e 0a 0a item....(*note.-third-item::)...
3a280 20 20 20 20 20 20 20 20 20 20 28 2d 73 65 63 6f 6e 64 2d 69 74 65 6d 20 27 28 31 20 32 20 33 29 ..........(-second-item.'(1.2.3)
3a2a0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 32 0a 20 20 20 20 20 20 20 20 20 20 )...................2...........
3a2c0 28 2d 73 65 63 6f 6e 64 2d 69 74 65 6d 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 (-second-item.nil)..............
3a2e0 20 e2 87 92 20 6e 69 6c 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 74 68 69 72 64 2d 69 .....nil...--.Function:.-third-i
3a300 74 65 6d 20 28 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 74 68 69 72 64 tem.(list)......Return.the.third
3a320 20 69 74 65 6d 20 6f 66 20 4c 49 53 54 2c 20 6f 72 20 6e 69 6c 20 69 66 20 4c 49 53 54 20 69 73 .item.of.LIST,.or.nil.if.LIST.is
3a340 20 74 6f 6f 20 73 68 6f 72 74 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d .too.short........See.also:....-
3a360 66 6f 75 72 74 68 2d 69 74 65 6d e2 80 99 20 28 2a 6e 6f 74 65 20 2d 66 6f 75 72 74 68 2d 69 74 fourth-item....(*note.-fourth-it
3a380 65 6d 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 68 69 72 64 2d 69 74 65 6d 20 27 em::).............(-third-item.'
3a3a0 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 33 0a 20 20 20 (1.2.3))...................3....
3a3c0 20 20 20 20 20 20 20 28 2d 74 68 69 72 64 2d 69 74 65 6d 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 .......(-third-item.nil)........
3a3e0 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 66 ...........nil...--.Function:.-f
3a400 6f 75 72 74 68 2d 69 74 65 6d 20 28 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 ourth-item.(list)......Return.th
3a420 65 20 66 6f 75 72 74 68 20 69 74 65 6d 20 6f 66 20 4c 49 53 54 2c 20 6f 72 20 6e 69 6c 20 69 66 e.fourth.item.of.LIST,.or.nil.if
3a440 20 4c 49 53 54 20 69 73 20 74 6f 6f 20 73 68 6f 72 74 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c .LIST.is.too.short........See.al
3a460 73 6f 3a 20 e2 80 98 2d 66 69 66 74 68 2d 69 74 65 6d e2 80 99 20 28 2a 6e 6f 74 65 20 2d 66 69 so:....-fifth-item....(*note.-fi
3a480 66 74 68 2d 69 74 65 6d 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 6f 75 72 74 68 fth-item::).............(-fourth
3a4a0 2d 69 74 65 6d 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -item.'(1.2.3.4))...............
3a4c0 e2 87 92 20 34 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 6f 75 72 74 68 2d 69 74 65 6d 20 6e 69 ....4...........(-fourth-item.ni
3a4e0 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 0a 20 2d 2d 20 46 75 l)...................nil...--.Fu
3a500 6e 63 74 69 6f 6e 3a 20 2d 66 69 66 74 68 2d 69 74 65 6d 20 28 6c 69 73 74 29 0a 20 20 20 20 20 nction:.-fifth-item.(list)......
3a520 52 65 74 75 72 6e 20 74 68 65 20 66 69 66 74 68 20 69 74 65 6d 20 6f 66 20 4c 49 53 54 2c 20 6f Return.the.fifth.item.of.LIST,.o
3a540 72 20 6e 69 6c 20 69 66 20 4c 49 53 54 20 69 73 20 74 6f 6f 20 73 68 6f 72 74 2e 0a 0a 20 20 20 r.nil.if.LIST.is.too.short......
3a560 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 6c 61 73 74 2d 69 74 65 6d e2 80 99 20 28 2a 6e ..See.also:....-last-item....(*n
3a580 6f 74 65 20 2d 6c 61 73 74 2d 69 74 65 6d 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d ote.-last-item::).............(-
3a5a0 66 69 66 74 68 2d 69 74 65 6d 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 fifth-item.'(1.2.3.4.5))........
3a5c0 20 20 20 20 20 20 20 e2 87 92 20 35 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 69 66 74 68 2d 69 ...........5...........(-fifth-i
3a5e0 74 65 6d 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 0a tem.nil)...................nil..
3a600 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 6c 61 73 74 2d 69 74 65 6d 20 28 6c 69 73 74 29 0a .--.Function:.-last-item.(list).
3a620 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 6c 61 73 74 20 69 74 65 6d 20 6f 66 20 4c 49 53 .....Return.the.last.item.of.LIS
3a640 54 2c 20 6f 72 20 6e 69 6c 20 6f 6e 20 61 6e 20 65 6d 70 74 79 20 6c 69 73 74 2e 0a 0a 20 20 20 T,.or.nil.on.an.empty.list......
3a660 20 20 20 20 20 20 20 28 2d 6c 61 73 74 2d 69 74 65 6d 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 .......(-last-item.'(1.2.3))....
3a680 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 33 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6c 61 73 ...............3...........(-las
3a6a0 74 2d 69 74 65 6d 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 t-item.nil)...................ni
3a6c0 6c 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6c 69 73 74 20 28 6c 69 73 74 20 31 20 l...........(let.((list.(list.1.
3a6e0 32 20 33 29 29 29 20 28 73 65 74 66 20 28 2d 6c 61 73 74 2d 69 74 65 6d 20 6c 69 73 74 29 20 35 2.3))).(setf.(-last-item.list).5
3a700 29 20 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 35 ).list)...................(1.2.5
3a720 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 62 75 74 6c 61 73 74 20 28 6c 69 73 74 29 )...--.Function:.-butlast.(list)
3a740 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 61 6c 6c 20 69 74 65 6d 73 ......Return.a.list.of.all.items
3a760 20 69 6e 20 6c 69 73 74 20 65 78 63 65 70 74 20 66 6f 72 20 74 68 65 20 6c 61 73 74 2e 0a 0a 20 .in.list.except.for.the.last....
3a780 20 20 20 20 20 20 20 20 20 28 2d 62 75 74 6c 61 73 74 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 .........(-butlast.'(1.2.3))....
3a7a0 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 28 ...............(1.2)...........(
3a7c0 2d 62 75 74 6c 61 73 74 20 27 28 31 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 -butlast.'(1.2))................
3a7e0 87 92 20 28 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 62 75 74 6c 61 73 74 20 27 28 31 29 29 ...(1)...........(-butlast.'(1))
3a800 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 0a 20 2d 2d 20 46 75 6e 63 ...................nil...--.Func
3a820 74 69 6f 6e 3a 20 2d 73 6f 72 74 20 28 63 6f 6d 70 61 72 61 74 6f 72 20 6c 69 73 74 29 0a 20 20 tion:.-sort.(comparator.list)...
3a840 20 20 20 53 6f 72 74 20 4c 49 53 54 2c 20 73 74 61 62 6c 79 2c 20 63 6f 6d 70 61 72 69 6e 67 20 ...Sort.LIST,.stably,.comparing.
3a860 65 6c 65 6d 65 6e 74 73 20 75 73 69 6e 67 20 43 4f 4d 50 41 52 41 54 4f 52 2e 20 20 52 65 74 75 elements.using.COMPARATOR...Retu
3a880 72 6e 20 74 68 65 0a 20 20 20 20 20 73 6f 72 74 65 64 20 6c 69 73 74 2e 20 20 4c 49 53 54 20 69 rn.the......sorted.list...LIST.i
3a8a0 73 20 4e 4f 54 20 6d 6f 64 69 66 69 65 64 20 62 79 20 73 69 64 65 20 65 66 66 65 63 74 73 2e 20 s.NOT.modified.by.side.effects..
3a8c0 20 43 4f 4d 50 41 52 41 54 4f 52 20 69 73 0a 20 20 20 20 20 63 61 6c 6c 65 64 20 77 69 74 68 20 .COMPARATOR.is......called.with.
3a8e0 74 77 6f 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 4c 49 53 54 2c 20 61 6e 64 20 73 68 6f 75 6c 64 two.elements.of.LIST,.and.should
3a900 20 72 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 74 68 65 0a 20 20 20 20 20 66 69 72 73 .return.non-nil.if.the......firs
3a920 74 20 65 6c 65 6d 65 6e 74 20 73 68 6f 75 6c 64 20 73 6f 72 74 20 62 65 66 6f 72 65 20 74 68 65 t.element.should.sort.before.the
3a940 20 73 65 63 6f 6e 64 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 6f 72 74 20 27 3c 20 27 28 .second.............(-sort.'<.'(
3a960 33 20 31 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 3.1.2))...................(1.2.3
3a980 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 6f 72 74 20 27 3e 20 27 28 33 20 31 20 32 29 29 0a )...........(-sort.'>.'(3.1.2)).
3a9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 33 20 32 20 31 29 0a 20 20 20 20 20 20 ..................(3.2.1).......
3a9c0 20 20 20 20 28 2d 2d 73 6f 72 74 20 28 3c 20 69 74 20 6f 74 68 65 72 29 20 27 28 33 20 31 20 32 ....(--sort.(<.it.other).'(3.1.2
3a9e0 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 29 0a 0a 20 2d ))...................(1.2.3)...-
3aa00 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 6c 69 73 74 20 28 61 72 67 29 0a 20 20 20 20 20 45 6e 73 -.Function:.-list.(arg)......Ens
3aa20 75 72 65 20 41 52 47 20 69 73 20 61 20 6c 69 73 74 2e 20 20 49 66 20 41 52 47 20 69 73 20 61 6c ure.ARG.is.a.list...If.ARG.is.al
3aa40 72 65 61 64 79 20 61 20 6c 69 73 74 2c 20 72 65 74 75 72 6e 20 69 74 20 61 73 20 69 73 0a 20 20 ready.a.list,.return.it.as.is...
3aa60 20 20 20 28 6e 6f 74 20 61 20 63 6f 70 79 29 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 72 65 74 ...(not.a.copy)...Otherwise,.ret
3aa80 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 77 69 74 68 20 41 52 47 20 61 73 20 69 74 73 20 6f urn.a.new.list.with.ARG.as.its.o
3aaa0 6e 6c 79 0a 20 20 20 20 20 65 6c 65 6d 65 6e 74 2e 0a 0a 20 20 20 20 20 41 6e 6f 74 68 65 72 20 nly......element........Another.
3aac0 73 75 70 70 6f 72 74 65 64 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 69 73 20 supported.calling.convention.is.
3aae0 28 2d 6c 69 73 74 20 26 72 65 73 74 20 41 52 47 53 29 2e 20 20 49 6e 0a 20 20 20 20 20 74 68 69 (-list.&rest.ARGS)...In......thi
3ab00 73 20 63 61 73 65 2c 20 69 66 20 41 52 47 20 69 73 20 6e 6f 74 20 61 20 6c 69 73 74 2c 20 61 20 s.case,.if.ARG.is.not.a.list,.a.
3ab20 6e 65 77 20 6c 69 73 74 20 77 69 74 68 20 61 6c 6c 20 6f 66 20 41 52 47 53 20 61 73 0a 20 20 20 new.list.with.all.of.ARGS.as....
3ab40 20 20 65 6c 65 6d 65 6e 74 73 20 69 73 20 72 65 74 75 72 6e 65 64 2e 20 20 54 68 69 73 20 75 73 ..elements.is.returned...This.us
3ab60 65 20 69 73 20 73 75 70 70 6f 72 74 65 64 20 66 6f 72 20 62 61 63 6b 77 61 72 64 0a 20 20 20 20 e.is.supported.for.backward.....
3ab80 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 61 6e 64 20 69 73 20 6f 74 68 65 72 77 69 73 65 20 .compatibility.and.is.otherwise.
3aba0 64 65 70 72 65 63 61 74 65 64 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6c 69 73 74 20 31 29 deprecated.............(-list.1)
3abc0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 29 0a 20 20 20 20 20 20 20 20 20 ...................(1)..........
3abe0 20 28 2d 6c 69 73 74 20 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 29 .(-list.())...................()
3ac00 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6c 69 73 74 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 ...........(-list.'(1.2.3)).....
3ac20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 ..............(1.2.3)...--.Funct
3ac40 69 6f 6e 3a 20 2d 66 69 78 20 28 66 6e 20 6c 69 73 74 29 0a 20 20 20 20 20 43 6f 6d 70 75 74 65 ion:.-fix.(fn.list)......Compute
3ac60 20 74 68 65 20 28 6c 65 61 73 74 29 20 66 69 78 70 6f 69 6e 74 20 6f 66 20 46 4e 20 77 69 74 68 .the.(least).fixpoint.of.FN.with
3ac80 20 69 6e 69 74 69 61 6c 20 69 6e 70 75 74 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 46 4e 20 69 73 .initial.input.LIST........FN.is
3aca0 20 63 61 6c 6c 65 64 20 61 74 20 6c 65 61 73 74 20 6f 6e 63 65 2c 20 72 65 73 75 6c 74 73 20 61 .called.at.least.once,.results.a
3acc0 72 65 20 63 6f 6d 70 61 72 65 64 20 77 69 74 68 20 e2 80 98 65 71 75 61 6c e2 80 99 2e 0a 0a 20 re.compared.with....equal.......
3ace0 20 20 20 20 20 20 20 20 20 28 2d 66 69 78 20 28 6c 61 6d 62 64 61 20 28 6c 29 20 28 2d 6e 6f 6e .........(-fix.(lambda.(l).(-non
3ad00 2d 6e 69 6c 20 28 2d 2d 6d 61 70 63 61 74 20 28 2d 73 70 6c 69 74 2d 61 74 20 28 2f 20 28 6c 65 -nil.(--mapcat.(-split-at.(/.(le
3ad20 6e 67 74 68 20 69 74 29 20 32 29 20 69 74 29 20 6c 29 29 29 20 27 28 28 31 20 32 20 33 29 29 29 ngth.it).2).it).l))).'((1.2.3)))
3ad40 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 29 20 28 32 29 20 28 33 29 29 ...................((1).(2).(3))
3ad60 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6c 20 27 28 28 73 74 61 72 77 61 72 73 20 ...........(let.((l.'((starwars.
3ad80 73 63 69 66 69 29 20 28 6a 65 64 69 20 73 74 61 72 77 61 72 73 20 77 61 72 72 69 6f 72 29 29 29 scifi).(jedi.starwars.warrior)))
3ada0 29 20 28 2d 2d 66 69 78 20 28 2d 75 6e 69 71 20 28 2d 2d 6d 61 70 63 61 74 20 28 63 6f 6e 73 20 ).(--fix.(-uniq.(--mapcat.(cons.
3adc0 69 74 20 28 63 64 72 20 28 61 73 73 71 20 69 74 20 6c 29 29 29 20 69 74 29 29 20 27 28 6a 65 64 it.(cdr.(assq.it.l))).it)).'(jed
3ade0 69 20 62 6f 6f 6b 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 6a 65 64 i.book)))...................(jed
3ae00 69 20 73 74 61 72 77 61 72 73 20 77 61 72 72 69 6f 72 20 73 63 69 66 69 20 62 6f 6f 6b 29 0a 0a i.starwars.warrior.scifi.book)..
3ae20 1f 0a 46 69 6c 65 3a 20 64 61 73 68 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 54 72 65 65 20 6f ..File:.dash.info,..Node:.Tree.o
3ae40 70 65 72 61 74 69 6f 6e 73 2c 20 20 4e 65 78 74 3a 20 54 68 72 65 61 64 69 6e 67 20 6d 61 63 72 perations,..Next:.Threading.macr
3ae60 6f 73 2c 20 20 50 72 65 76 3a 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 os,..Prev:.Other.list.operations
3ae80 2c 20 20 55 70 3a 20 46 75 6e 63 74 69 6f 6e 73 0a 0a 32 2e 31 31 20 54 72 65 65 20 6f 70 65 72 ,..Up:.Functions..2.11.Tree.oper
3aea0 61 74 69 6f 6e 73 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 46 75 6e ations.====================..Fun
3aec0 63 74 69 6f 6e 73 20 70 72 65 74 65 6e 64 69 6e 67 20 6c 69 73 74 73 20 61 72 65 20 74 72 65 65 ctions.pretending.lists.are.tree
3aee0 73 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 74 72 65 65 2d 73 65 71 20 28 62 72 61 s....--.Function:.-tree-seq.(bra
3af00 6e 63 68 20 63 68 69 6c 64 72 65 6e 20 74 72 65 65 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 nch.children.tree)......Return.a
3af20 20 73 65 71 75 65 6e 63 65 20 6f 66 20 74 68 65 20 6e 6f 64 65 73 20 69 6e 20 54 52 45 45 2c 20 .sequence.of.the.nodes.in.TREE,.
3af40 69 6e 20 64 65 70 74 68 2d 66 69 72 73 74 20 73 65 61 72 63 68 0a 20 20 20 20 20 6f 72 64 65 72 in.depth-first.search......order
3af60 2e 0a 0a 20 20 20 20 20 42 52 41 4e 43 48 20 69 73 20 61 20 70 72 65 64 69 63 61 74 65 20 6f 66 ........BRANCH.is.a.predicate.of
3af80 20 6f 6e 65 20 61 72 67 75 6d 65 6e 74 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e .one.argument.that.returns.non-n
3afa0 69 6c 20 69 66 20 74 68 65 0a 20 20 20 20 20 70 61 73 73 65 64 20 61 72 67 75 6d 65 6e 74 20 69 il.if.the......passed.argument.i
3afc0 73 20 61 20 62 72 61 6e 63 68 2c 20 74 68 61 74 20 69 73 2c 20 61 20 6e 6f 64 65 20 74 68 61 74 s.a.branch,.that.is,.a.node.that
3afe0 20 63 61 6e 20 68 61 76 65 0a 20 20 20 20 20 63 68 69 6c 64 72 65 6e 2e 0a 0a 20 20 20 20 20 43 .can.have......children........C
3b000 48 49 4c 44 52 45 4e 20 69 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 6f 66 20 6f 6e 65 20 61 72 67 HILDREN.is.a.function.of.one.arg
3b020 75 6d 65 6e 74 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 74 68 65 20 63 68 69 6c 64 72 65 6e 20 ument.that.returns.the.children.
3b040 6f 66 0a 20 20 20 20 20 74 68 65 20 70 61 73 73 65 64 20 62 72 61 6e 63 68 20 6e 6f 64 65 2e 0a of......the.passed.branch.node..
3b060 0a 20 20 20 20 20 4e 6f 6e 2d 62 72 61 6e 63 68 20 6e 6f 64 65 73 20 61 72 65 20 73 69 6d 70 6c ......Non-branch.nodes.are.simpl
3b080 79 20 63 6f 70 69 65 64 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 72 65 65 2d 73 65 71 20 y.copied.............(-tree-seq.
3b0a0 27 6c 69 73 74 70 20 27 69 64 65 6e 74 69 74 79 20 27 28 31 20 28 32 20 33 29 20 34 20 28 35 20 'listp.'identity.'(1.(2.3).4.(5.
3b0c0 28 36 20 37 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 28 (6.7))))...................((1.(
3b0e0 32 20 33 29 20 34 20 28 35 20 28 36 20 37 29 29 29 20 31 20 28 32 20 33 29 20 32 20 33 20 34 20 2.3).4.(5.(6.7))).1.(2.3).2.3.4.
3b100 28 35 20 28 36 20 37 29 29 20 35 20 28 36 20 37 29 20 36 20 37 29 0a 20 20 20 20 20 20 20 20 20 (5.(6.7)).5.(6.7).6.7)..........
3b120 20 28 2d 74 72 65 65 2d 73 65 71 20 27 6c 69 73 74 70 20 27 72 65 76 65 72 73 65 20 27 28 31 20 .(-tree-seq.'listp.'reverse.'(1.
3b140 28 32 20 33 29 20 34 20 28 35 20 28 36 20 37 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 (2.3).4.(5.(6.7)))).............
3b160 20 20 e2 87 92 20 28 28 31 20 28 32 20 33 29 20 34 20 28 35 20 28 36 20 37 29 29 29 20 28 35 20 ......((1.(2.3).4.(5.(6.7))).(5.
3b180 28 36 20 37 29 29 20 28 36 20 37 29 20 37 20 36 20 35 20 34 20 28 32 20 33 29 20 33 20 32 20 31 (6.7)).(6.7).7.6.5.4.(2.3).3.2.1
3b1a0 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 74 72 65 65 2d 73 65 71 20 28 76 65 63 74 6f 72 70 )...........(--tree-seq.(vectorp
3b1c0 20 69 74 29 20 28 61 70 70 65 6e 64 20 69 74 20 6e 69 6c 29 20 5b 31 20 5b 32 20 33 5d 20 34 20 .it).(append.it.nil).[1.[2.3].4.
3b1e0 5b 35 20 5b 36 20 37 5d 5d 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 5b [5.[6.7]]])...................([
3b200 31 20 5b 32 20 33 5d 20 34 20 5b 35 20 5b 36 20 37 5d 5d 5d 20 31 20 5b 32 20 33 5d 20 32 20 33 1.[2.3].4.[5.[6.7]]].1.[2.3].2.3
3b220 20 34 20 5b 35 20 5b 36 20 37 5d 5d 20 35 20 5b 36 20 37 5d 20 36 20 37 29 0a 0a 20 2d 2d 20 46 .4.[5.[6.7]].5.[6.7].6.7)...--.F
3b240 75 6e 63 74 69 6f 6e 3a 20 2d 74 72 65 65 2d 6d 61 70 20 28 66 6e 20 74 72 65 65 29 0a 20 20 20 unction:.-tree-map.(fn.tree)....
3b260 20 20 41 70 70 6c 79 20 46 4e 20 74 6f 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 54 52 ..Apply.FN.to.each.element.of.TR
3b280 45 45 20 77 68 69 6c 65 20 70 72 65 73 65 72 76 69 6e 67 20 74 68 65 20 74 72 65 65 0a 20 20 20 EE.while.preserving.the.tree....
3b2a0 20 20 73 74 72 75 63 74 75 72 65 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 72 65 65 2d 6d ..structure.............(-tree-m
3b2c0 61 70 20 27 31 2b 20 27 28 31 20 28 32 20 33 29 20 28 34 20 28 35 20 36 29 20 37 29 29 29 0a 20 ap.'1+.'(1.(2.3).(4.(5.6).7)))..
3b2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 32 20 28 33 20 34 29 20 28 35 20 28 36 20 .................(2.(3.4).(5.(6.
3b300 37 29 20 38 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 72 65 65 2d 6d 61 70 20 27 28 6c 61 7).8))...........(-tree-map.'(la
3b320 6d 62 64 61 20 28 78 29 20 28 63 6f 6e 73 20 78 20 28 65 78 70 74 20 32 20 78 29 29 29 20 27 28 mbda.(x).(cons.x.(expt.2.x))).'(
3b340 31 20 28 32 20 33 29 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 1.(2.3).4))...................((
3b360 31 20 2e 20 32 29 20 28 28 32 20 2e 20 34 29 20 28 33 20 2e 20 38 29 29 20 28 34 20 2e 20 31 36 1...2).((2...4).(3...8)).(4...16
3b380 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 74 72 65 65 2d 6d 61 70 20 28 6c 65 6e 67 74 68 ))...........(--tree-map.(length
3b3a0 20 69 74 29 20 27 28 22 3c 62 6f 64 79 3e 22 20 28 22 3c 70 3e 22 20 22 74 65 78 74 22 20 22 3c .it).'("<body>".("<p>"."text"."<
3b3c0 2f 70 3e 22 29 20 22 3c 2f 62 6f 64 79 3e 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 /p>")."</body>"))...............
3b3e0 e2 87 92 20 28 36 20 28 33 20 34 20 34 29 20 37 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a ....(6.(3.4.4).7)...--.Function:
3b400 20 2d 74 72 65 65 2d 6d 61 70 2d 6e 6f 64 65 73 20 28 70 72 65 64 20 66 75 6e 20 74 72 65 65 29 .-tree-map-nodes.(pred.fun.tree)
3b420 0a 20 20 20 20 20 43 61 6c 6c 20 46 55 4e 20 6f 6e 20 65 61 63 68 20 6e 6f 64 65 20 6f 66 20 54 ......Call.FUN.on.each.node.of.T
3b440 52 45 45 20 74 68 61 74 20 73 61 74 69 73 66 69 65 73 20 50 52 45 44 2e 0a 0a 20 20 20 20 20 49 REE.that.satisfies.PRED........I
3b460 66 20 50 52 45 44 20 72 65 74 75 72 6e 73 20 6e 69 6c 2c 20 63 6f 6e 74 69 6e 75 65 20 64 65 73 f.PRED.returns.nil,.continue.des
3b480 63 65 6e 64 69 6e 67 20 64 6f 77 6e 20 74 68 69 73 20 6e 6f 64 65 2e 20 20 49 66 20 50 52 45 44 cending.down.this.node...If.PRED
3b4a0 0a 20 20 20 20 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 61 70 70 6c 79 20 46 55 4e ......returns.non-nil,.apply.FUN
3b4c0 20 74 6f 20 74 68 69 73 20 6e 6f 64 65 20 61 6e 64 20 64 6f 20 6e 6f 74 20 64 65 73 63 65 6e 64 .to.this.node.and.do.not.descend
3b4e0 20 66 75 72 74 68 65 72 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 72 65 65 2d 6d 61 70 2d .further.............(-tree-map-
3b500 6e 6f 64 65 73 20 27 76 65 63 74 6f 72 70 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 2d 73 75 6d nodes.'vectorp.(lambda.(x).(-sum
3b520 20 28 61 70 70 65 6e 64 20 78 20 6e 69 6c 29 29 29 20 27 28 31 20 5b 32 20 33 5d 20 34 20 28 35 .(append.x.nil))).'(1.[2.3].4.(5
3b540 20 5b 36 20 37 5d 20 38 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 .[6.7].8)))...................(1
3b560 20 35 20 34 20 28 35 20 31 33 20 38 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 72 65 65 2d .5.4.(5.13.8))...........(-tree-
3b580 6d 61 70 2d 6e 6f 64 65 73 20 27 6b 65 79 77 6f 72 64 70 20 28 6c 61 6d 62 64 61 20 28 78 29 20 map-nodes.'keywordp.(lambda.(x).
3b5a0 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 78 29 29 20 27 28 31 20 3a 66 6f 6f 20 34 20 28 28 35 20 (symbol-name.x)).'(1.:foo.4.((5.
3b5c0 36 20 3a 62 61 72 29 20 3a 62 61 7a 20 38 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6.:bar).:baz.8)))...............
3b5e0 e2 87 92 20 28 31 20 22 3a 66 6f 6f 22 20 34 20 28 28 35 20 36 20 22 3a 62 61 72 22 29 20 22 3a ....(1.":foo".4.((5.6.":bar").":
3b600 62 61 7a 22 20 38 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 74 72 65 65 2d 6d 61 70 2d 6e baz".8))...........(--tree-map-n
3b620 6f 64 65 73 20 28 65 71 20 28 63 61 72 2d 73 61 66 65 20 69 74 29 20 27 61 64 64 2d 6d 6f 64 65 odes.(eq.(car-safe.it).'add-mode
3b640 29 20 28 2d 63 6f 6e 63 61 74 20 69 74 20 28 6c 69 73 74 20 3a 6d 6f 64 65 20 27 65 6d 61 63 73 ).(-concat.it.(list.:mode.'emacs
3b660 2d 6c 69 73 70 2d 6d 6f 64 65 29 29 20 27 28 77 69 74 68 2d 6d 6f 64 65 20 65 6d 61 63 73 2d 6c -lisp-mode)).'(with-mode.emacs-l
3b680 69 73 70 2d 6d 6f 64 65 20 28 66 6f 6f 20 62 61 72 29 20 28 61 64 64 2d 6d 6f 64 65 20 61 20 62 isp-mode.(foo.bar).(add-mode.a.b
3b6a0 29 20 28 62 61 7a 20 28 61 64 64 2d 6d 6f 64 65 20 63 20 64 29 29 29 29 0a 20 20 20 20 20 20 20 ).(baz.(add-mode.c.d))))........
3b6c0 20 20 20 20 20 20 20 e2 87 92 20 28 77 69 74 68 2d 6d 6f 64 65 20 65 6d 61 63 73 2d 6c 69 73 70 ...........(with-mode.emacs-lisp
3b6e0 2d 6d 6f 64 65 20 28 66 6f 6f 20 62 61 72 29 20 28 61 64 64 2d 6d 6f 64 65 20 61 20 62 20 3a 6d -mode.(foo.bar).(add-mode.a.b.:m
3b700 6f 64 65 20 65 6d 61 63 73 2d 6c 69 73 70 2d 6d 6f 64 65 29 20 28 62 61 7a 20 28 61 64 64 2d 6d ode.emacs-lisp-mode).(baz.(add-m
3b720 6f 64 65 20 63 20 64 20 3a 6d 6f 64 65 20 65 6d 61 63 73 2d 6c 69 73 70 2d 6d 6f 64 65 29 29 29 ode.c.d.:mode.emacs-lisp-mode)))
3b740 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 74 72 65 65 2d 72 65 64 75 63 65 20 28 66 6e ...--.Function:.-tree-reduce.(fn
3b760 20 74 72 65 65 29 0a 20 20 20 20 20 55 73 65 20 46 4e 20 74 6f 20 72 65 64 75 63 65 20 65 6c 65 .tree)......Use.FN.to.reduce.ele
3b780 6d 65 6e 74 73 20 6f 66 20 6c 69 73 74 20 54 52 45 45 2e 20 20 49 66 20 65 6c 65 6d 65 6e 74 73 ments.of.list.TREE...If.elements
3b7a0 20 6f 66 20 54 52 45 45 20 61 72 65 0a 20 20 20 20 20 6c 69 73 74 73 20 74 68 65 6d 73 65 6c 76 .of.TREE.are......lists.themselv
3b7c0 65 73 2c 20 61 70 70 6c 79 20 74 68 65 20 72 65 64 75 63 74 69 6f 6e 20 72 65 63 75 72 73 69 76 es,.apply.the.reduction.recursiv
3b7e0 65 6c 79 2e 0a 0a 20 20 20 20 20 46 4e 20 69 73 20 66 69 72 73 74 20 61 70 70 6c 69 65 64 20 74 ely........FN.is.first.applied.t
3b800 6f 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 6c 69 73 74 20 61 6e 64 20 o.first.element.of.the.list.and.
3b820 73 65 63 6f 6e 64 0a 20 20 20 20 20 65 6c 65 6d 65 6e 74 2c 20 74 68 65 6e 20 6f 6e 20 74 68 69 second......element,.then.on.thi
3b840 73 20 72 65 73 75 6c 74 20 61 6e 64 20 74 68 69 72 64 20 65 6c 65 6d 65 6e 74 20 66 72 6f 6d 20 s.result.and.third.element.from.
3b860 74 68 65 20 6c 69 73 74 20 65 74 63 2e 0a 0a 20 20 20 20 20 53 65 65 20 e2 80 98 2d 72 65 64 75 the.list.etc........See....-redu
3b880 63 65 2d 72 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 64 75 63 65 2d 72 3a 3a 29 20 66 6f 72 20 ce-r....(*note.-reduce-r::).for.
3b8a0 68 6f 77 20 65 78 61 63 74 6c 79 20 61 72 65 20 6c 69 73 74 73 20 6f 66 0a 20 20 20 20 20 7a 65 how.exactly.are.lists.of......ze
3b8c0 72 6f 20 6f 72 20 6f 6e 65 20 65 6c 65 6d 65 6e 74 20 68 61 6e 64 6c 65 64 2e 0a 0a 20 20 20 20 ro.or.one.element.handled.......
3b8e0 20 20 20 20 20 20 28 2d 74 72 65 65 2d 72 65 64 75 63 65 20 27 2b 20 27 28 31 20 28 32 20 33 29 ......(-tree-reduce.'+.'(1.(2.3)
3b900 20 28 34 20 35 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 31 35 0a 20 20 .(4.5)))...................15...
3b920 20 20 20 20 20 20 20 20 28 2d 74 72 65 65 2d 72 65 64 75 63 65 20 27 63 6f 6e 63 61 74 20 27 28 ........(-tree-reduce.'concat.'(
3b940 22 73 74 72 69 6e 67 73 22 20 28 22 20 6f 6e 22 20 22 20 76 61 72 69 6f 75 73 22 29 20 28 28 22 "strings".(".on".".various").(("
3b960 20 6c 65 76 65 6c 73 22 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 22 .levels"))))..................."
3b980 73 74 72 69 6e 67 73 20 6f 6e 20 76 61 72 69 6f 75 73 20 6c 65 76 65 6c 73 22 0a 20 20 20 20 20 strings.on.various.levels"......
3b9a0 20 20 20 20 20 28 2d 2d 74 72 65 65 2d 72 65 64 75 63 65 20 28 63 6f 6e 64 20 28 28 73 74 72 69 .....(--tree-reduce.(cond.((stri
3b9c0 6e 67 70 20 69 74 29 20 28 63 6f 6e 63 61 74 20 69 74 20 22 20 22 20 61 63 63 29 29 20 28 74 20 ngp.it).(concat.it.".".acc)).(t.
3b9e0 28 6c 65 74 20 28 28 73 6e 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 69 74 29 29 29 20 28 63 6f (let.((sn.(symbol-name.it))).(co
3ba00 6e 63 61 74 20 22 3c 22 20 73 6e 20 22 3e 22 20 61 63 63 20 22 3c 2f 22 20 73 6e 20 22 3e 22 29 ncat."<".sn.">".acc."</".sn.">")
3ba20 29 29 29 20 27 28 62 6f 64 79 20 28 70 20 22 73 6f 6d 65 20 77 6f 72 64 73 22 29 20 28 64 69 76 ))).'(body.(p."some.words").(div
3ba40 20 22 6d 6f 72 65 22 20 28 62 20 22 62 6f 6c 64 22 29 20 22 77 6f 72 64 73 22 29 29 29 0a 20 20 ."more".(b."bold")."words")))...
3ba60 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 22 3c 62 6f 64 79 3e 3c 70 3e 73 6f 6d 65 20 77 ................"<body><p>some.w
3ba80 6f 72 64 73 3c 2f 70 3e 20 3c 64 69 76 3e 6d 6f 72 65 20 3c 62 3e 62 6f 6c 64 3c 2f 62 3e 20 77 ords</p>.<div>more.<b>bold</b>.w
3baa0 6f 72 64 73 3c 2f 64 69 76 3e 3c 2f 62 6f 64 79 3e 22 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e ords</div></body>"...--.Function
3bac0 3a 20 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 28 66 6e 20 69 6e 69 74 2d 76 61 6c :.-tree-reduce-from.(fn.init-val
3bae0 75 65 20 74 72 65 65 29 0a 20 20 20 20 20 55 73 65 20 46 4e 20 74 6f 20 72 65 64 75 63 65 20 65 ue.tree)......Use.FN.to.reduce.e
3bb00 6c 65 6d 65 6e 74 73 20 6f 66 20 6c 69 73 74 20 54 52 45 45 2e 20 20 49 66 20 65 6c 65 6d 65 6e lements.of.list.TREE...If.elemen
3bb20 74 73 20 6f 66 20 54 52 45 45 20 61 72 65 0a 20 20 20 20 20 6c 69 73 74 73 20 74 68 65 6d 73 65 ts.of.TREE.are......lists.themse
3bb40 6c 76 65 73 2c 20 61 70 70 6c 79 20 74 68 65 20 72 65 64 75 63 74 69 6f 6e 20 72 65 63 75 72 73 lves,.apply.the.reduction.recurs
3bb60 69 76 65 6c 79 2e 0a 0a 20 20 20 20 20 46 4e 20 69 73 20 66 69 72 73 74 20 61 70 70 6c 69 65 64 ively........FN.is.first.applied
3bb80 20 74 6f 20 49 4e 49 54 2d 56 41 4c 55 45 20 61 6e 64 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 .to.INIT-VALUE.and.first.element
3bba0 20 6f 66 20 74 68 65 20 6c 69 73 74 2c 0a 20 20 20 20 20 74 68 65 6e 20 6f 6e 20 74 68 69 73 20 .of.the.list,......then.on.this.
3bbc0 72 65 73 75 6c 74 20 61 6e 64 20 73 65 63 6f 6e 64 20 65 6c 65 6d 65 6e 74 20 66 72 6f 6d 20 74 result.and.second.element.from.t
3bbe0 68 65 20 6c 69 73 74 20 65 74 63 2e 0a 0a 20 20 20 20 20 54 68 65 20 69 6e 69 74 69 61 6c 20 76 he.list.etc........The.initial.v
3bc00 61 6c 75 65 20 69 73 20 69 67 6e 6f 72 65 64 20 6f 6e 20 63 6f 6e 73 20 70 61 69 72 73 20 61 73 alue.is.ignored.on.cons.pairs.as
3bc20 20 74 68 65 79 20 61 6c 77 61 79 73 20 63 6f 6e 74 61 69 6e 0a 20 20 20 20 20 74 77 6f 20 65 6c .they.always.contain......two.el
3bc40 65 6d 65 6e 74 73 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 72 65 65 2d 72 65 64 75 63 65 ements.............(-tree-reduce
3bc60 2d 66 72 6f 6d 20 27 2b 20 31 20 27 28 31 20 28 31 20 31 29 20 28 28 31 29 29 29 29 0a 20 20 20 -from.'+.1.'(1.(1.1).((1))))....
3bc80 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 38 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 74 72 ...............8...........(--tr
3bca0 65 65 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 28 2d 63 6f 6e 63 61 74 20 61 63 63 20 28 6c 69 73 ee-reduce-from.(-concat.acc.(lis
3bcc0 74 20 69 74 29 29 20 6e 69 6c 20 27 28 31 20 28 32 20 33 20 28 34 20 35 29 29 20 28 36 20 37 29 t.it)).nil.'(1.(2.3.(4.5)).(6.7)
3bce0 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 37 20 36 29 20 28 28 35 20 ))...................((7.6).((5.
3bd00 34 29 20 33 20 32 29 20 31 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 74 72 65 65 2d 4).3.2).1)...--.Function:.-tree-
3bd20 6d 61 70 72 65 64 75 63 65 20 28 66 6e 20 66 6f 6c 64 65 72 20 74 72 65 65 29 0a 20 20 20 20 20 mapreduce.(fn.folder.tree)......
3bd40 41 70 70 6c 79 20 46 4e 20 74 6f 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 54 52 45 45 Apply.FN.to.each.element.of.TREE
3bd60 2c 20 61 6e 64 20 6d 61 6b 65 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 73 ,.and.make.a.list.of.the.results
3bd80 2e 0a 20 20 20 20 20 49 66 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 54 52 45 45 20 61 72 65 20 6c .......If.elements.of.TREE.are.l
3bda0 69 73 74 73 20 74 68 65 6d 73 65 6c 76 65 73 2c 20 61 70 70 6c 79 20 46 4e 20 72 65 63 75 72 73 ists.themselves,.apply.FN.recurs
3bdc0 69 76 65 6c 79 20 74 6f 0a 20 20 20 20 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 74 68 65 73 65 20 ively.to......elements.of.these.
3bde0 6e 65 73 74 65 64 20 6c 69 73 74 73 2e 0a 0a 20 20 20 20 20 54 68 65 6e 20 72 65 64 75 63 65 20 nested.lists........Then.reduce.
3be00 74 68 65 20 72 65 73 75 6c 74 69 6e 67 20 6c 69 73 74 73 20 75 73 69 6e 67 20 46 4f 4c 44 45 52 the.resulting.lists.using.FOLDER
3be20 20 61 6e 64 20 69 6e 69 74 69 61 6c 20 76 61 6c 75 65 0a 20 20 20 20 20 49 4e 49 54 2d 56 41 4c .and.initial.value......INIT-VAL
3be40 55 45 2e 20 20 53 65 65 20 e2 80 98 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d e2 80 99 20 28 2a UE...See....-reduce-r-from....(*
3be60 6e 6f 74 65 20 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 3a 3a 29 2e 0a 0a 20 20 20 20 20 54 68 note.-reduce-r-from::)........Th
3be80 69 73 20 69 73 20 74 68 65 20 73 61 6d 65 20 61 73 20 63 61 6c 6c 69 6e 67 20 e2 80 98 2d 74 72 is.is.the.same.as.calling....-tr
3bea0 65 65 2d 72 65 64 75 63 65 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 74 72 65 65 2d 72 65 64 75 63 65 ee-reduce....(*note.-tree-reduce
3bec0 3a 3a 29 0a 20 20 20 20 20 61 66 74 65 72 20 e2 80 98 2d 74 72 65 65 2d 6d 61 70 e2 80 99 20 28 ::)......after....-tree-map....(
3bee0 2a 6e 6f 74 65 20 2d 74 72 65 65 2d 6d 61 70 3a 3a 29 20 62 75 74 20 69 73 20 74 77 69 63 65 20 *note.-tree-map::).but.is.twice.
3bf00 61 73 20 66 61 73 74 20 61 73 20 69 74 0a 20 20 20 20 20 6f 6e 6c 79 20 74 72 61 76 65 72 73 65 as.fast.as.it......only.traverse
3bf20 20 74 68 65 20 73 74 72 75 63 74 75 72 65 20 6f 6e 63 65 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 .the.structure.once.............
3bf40 28 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 20 27 6c 69 73 74 20 27 61 70 70 65 6e 64 20 27 (-tree-mapreduce.'list.'append.'
3bf60 28 31 20 28 32 20 28 33 20 34 29 20 28 35 20 36 29 29 20 28 37 20 28 38 20 39 29 29 29 29 0a 20 (1.(2.(3.4).(5.6)).(7.(8.9))))..
3bf80 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 34 20 35 20 36 20 37 20 .................(1.2.3.4.5.6.7.
3bfa0 38 20 39 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 8.9)...........(--tree-mapreduce
3bfc0 20 31 20 28 2b 20 69 74 20 61 63 63 29 20 27 28 31 20 28 32 20 28 34 20 39 29 20 28 32 20 31 29 .1.(+.it.acc).'(1.(2.(4.9).(2.1)
3bfe0 29 20 28 37 20 28 34 20 33 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 ).(7.(4.3))))...................
3c000 39 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 20 30 20 9...........(--tree-mapreduce.0.
3c020 28 6d 61 78 20 61 63 63 20 28 31 2b 20 69 74 29 29 20 27 28 31 20 28 32 20 28 34 20 39 29 20 28 (max.acc.(1+.it)).'(1.(2.(4.9).(
3c040 32 20 31 29 29 20 28 37 20 28 34 20 33 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2.1)).(7.(4.3))))...............
3c060 e2 87 92 20 33 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 74 72 65 65 2d 6d 61 70 72 65 ....3...--.Function:.-tree-mapre
3c080 64 75 63 65 2d 66 72 6f 6d 20 28 66 6e 20 66 6f 6c 64 65 72 20 69 6e 69 74 2d 76 61 6c 75 65 20 duce-from.(fn.folder.init-value.
3c0a0 74 72 65 65 29 0a 20 20 20 20 20 41 70 70 6c 79 20 46 4e 20 74 6f 20 65 61 63 68 20 65 6c 65 6d tree)......Apply.FN.to.each.elem
3c0c0 65 6e 74 20 6f 66 20 54 52 45 45 2c 20 61 6e 64 20 6d 61 6b 65 20 61 20 6c 69 73 74 20 6f 66 20 ent.of.TREE,.and.make.a.list.of.
3c0e0 74 68 65 20 72 65 73 75 6c 74 73 2e 0a 20 20 20 20 20 49 66 20 65 6c 65 6d 65 6e 74 73 20 6f 66 the.results.......If.elements.of
3c100 20 54 52 45 45 20 61 72 65 20 6c 69 73 74 73 20 74 68 65 6d 73 65 6c 76 65 73 2c 20 61 70 70 6c .TREE.are.lists.themselves,.appl
3c120 79 20 46 4e 20 72 65 63 75 72 73 69 76 65 6c 79 20 74 6f 0a 20 20 20 20 20 65 6c 65 6d 65 6e 74 y.FN.recursively.to......element
3c140 73 20 6f 66 20 74 68 65 73 65 20 6e 65 73 74 65 64 20 6c 69 73 74 73 2e 0a 0a 20 20 20 20 20 54 s.of.these.nested.lists........T
3c160 68 65 6e 20 72 65 64 75 63 65 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 20 6c 69 73 74 73 20 75 hen.reduce.the.resulting.lists.u
3c180 73 69 6e 67 20 46 4f 4c 44 45 52 20 61 6e 64 20 69 6e 69 74 69 61 6c 20 76 61 6c 75 65 0a 20 20 sing.FOLDER.and.initial.value...
3c1a0 20 20 20 49 4e 49 54 2d 56 41 4c 55 45 2e 20 20 53 65 65 20 e2 80 98 2d 72 65 64 75 63 65 2d 72 ...INIT-VALUE...See....-reduce-r
3c1c0 2d 66 72 6f 6d e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 3a 3a -from....(*note.-reduce-r-from::
3c1e0 29 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 69 73 20 74 68 65 20 73 61 6d 65 20 61 73 20 63 61 6c )........This.is.the.same.as.cal
3c200 6c 69 6e 67 20 e2 80 98 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 72 6f 6d e2 80 99 20 28 2a 6e ling....-tree-reduce-from....(*n
3c220 6f 74 65 0a 20 20 20 20 20 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 72 6f 6d 3a 3a 29 20 61 66 ote......-tree-reduce-from::).af
3c240 74 65 72 20 e2 80 98 2d 74 72 65 65 2d 6d 61 70 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 74 72 65 65 ter....-tree-map....(*note.-tree
3c260 2d 6d 61 70 3a 3a 29 20 62 75 74 20 69 73 0a 20 20 20 20 20 74 77 69 63 65 20 61 73 20 66 61 73 -map::).but.is......twice.as.fas
3c280 74 20 61 73 20 69 74 20 6f 6e 6c 79 20 74 72 61 76 65 72 73 65 20 74 68 65 20 73 74 72 75 63 74 t.as.it.only.traverse.the.struct
3c2a0 75 72 65 20 6f 6e 63 65 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 72 65 65 2d 6d 61 70 72 ure.once.............(-tree-mapr
3c2c0 65 64 75 63 65 2d 66 72 6f 6d 20 27 69 64 65 6e 74 69 74 79 20 27 2a 20 31 20 27 28 31 20 28 32 educe-from.'identity.'*.1.'(1.(2
3c2e0 20 28 33 20 34 29 20 28 35 20 36 29 29 20 28 37 20 28 38 20 39 29 29 29 29 0a 20 20 20 20 20 20 .(3.4).(5.6)).(7.(8.9)))).......
3c300 20 20 20 20 20 20 20 20 e2 87 92 20 33 36 32 38 38 30 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d ............362880...........(--
3c320 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 2d 66 72 6f 6d 20 28 2b 20 69 74 20 69 74 29 20 28 63 tree-mapreduce-from.(+.it.it).(c
3c340 6f 6e 73 20 69 74 20 61 63 63 29 20 6e 69 6c 20 27 28 31 20 28 32 20 28 34 20 39 29 20 28 32 20 ons.it.acc).nil.'(1.(2.(4.9).(2.
3c360 31 29 29 20 28 37 20 28 34 20 33 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 1)).(7.(4.3)))).................
3c380 92 20 28 32 20 28 34 20 28 38 20 31 38 29 20 28 34 20 32 29 29 20 28 31 34 20 28 38 20 36 29 29 ..(2.(4.(8.18).(4.2)).(14.(8.6))
3c3a0 29 0a 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 22 7b 22 20 28 2d 2d 74 72 65 65 2d )...........(concat."{".(--tree-
3c3c0 6d 61 70 72 65 64 75 63 65 2d 66 72 6f 6d 20 28 63 6f 6e 64 20 28 28 2d 63 6f 6e 73 2d 70 61 69 mapreduce-from.(cond.((-cons-pai
3c3e0 72 3f 20 69 74 29 20 28 63 6f 6e 63 61 74 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 28 63 61 72 r?.it).(concat.(symbol-name.(car
3c400 20 69 74 29 29 20 22 20 2d 3e 20 22 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 28 63 64 72 20 69 .it)).".->.".(symbol-name.(cdr.i
3c420 74 29 29 29 29 20 28 74 20 28 63 6f 6e 63 61 74 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 69 74 t)))).(t.(concat.(symbol-name.it
3c440 29 20 22 20 3a 20 7b 22 29 29 29 20 28 63 6f 6e 63 61 74 20 69 74 20 28 75 6e 6c 65 73 73 20 28 ).".:.{"))).(concat.it.(unless.(
3c460 6f 72 20 28 65 71 75 61 6c 20 61 63 63 20 22 7d 22 29 20 28 65 71 75 61 6c 20 28 73 75 62 73 74 or.(equal.acc."}").(equal.(subst
3c480 72 69 6e 67 20 69 74 20 28 31 2d 20 28 6c 65 6e 67 74 68 20 69 74 29 29 29 20 22 7b 22 29 29 20 ring.it.(1-.(length.it)))."{")).
3c4a0 22 2c 20 22 29 20 61 63 63 29 20 22 7d 22 20 27 28 28 65 6c 69 73 70 2d 6d 6f 64 65 20 28 66 6f ",.").acc)."}".'((elisp-mode.(fo
3c4c0 6f 20 28 62 61 72 20 2e 20 62 6f 6f 7a 65 29 29 20 28 62 61 7a 20 2e 20 71 75 78 29 29 20 28 63 o.(bar...booze)).(baz...qux)).(c
3c4e0 2d 6d 6f 64 65 20 28 66 6f 6f 20 2e 20 62 6c 61 29 20 28 62 75 6d 20 2e 20 62 61 6d 29 29 29 29 -mode.(foo...bla).(bum...bam))))
3c500 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 22 7b 65 6c 69 73 70 2d 6d 6f 64 65 )..................."{elisp-mode
3c520 20 3a 20 7b 66 6f 6f 20 3a 20 7b 62 61 72 20 2d 3e 20 62 6f 6f 7a 65 7d 2c 20 62 61 7a 20 2d 3e .:.{foo.:.{bar.->.booze},.baz.->
3c540 20 71 75 78 7d 2c 20 63 2d 6d 6f 64 65 20 3a 20 7b 66 6f 6f 20 2d 3e 20 62 6c 61 2c 20 62 75 6d .qux},.c-mode.:.{foo.->.bla,.bum
3c560 20 2d 3e 20 62 61 6d 7d 7d 22 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 63 6c 6f 6e 65 .->.bam}}"...--.Function:.-clone
3c580 20 28 6c 69 73 74 29 0a 20 20 20 20 20 43 72 65 61 74 65 20 61 20 64 65 65 70 20 63 6f 70 79 20 .(list)......Create.a.deep.copy.
3c5a0 6f 66 20 4c 49 53 54 2e 20 20 54 68 65 20 6e 65 77 20 6c 69 73 74 20 68 61 73 20 74 68 65 20 73 of.LIST...The.new.list.has.the.s
3c5c0 61 6d 65 20 65 6c 65 6d 65 6e 74 73 20 61 6e 64 0a 20 20 20 20 20 73 74 72 75 63 74 75 72 65 20 ame.elements.and......structure.
3c5e0 62 75 74 20 61 6c 6c 20 63 6f 6e 73 20 61 72 65 20 72 65 70 6c 61 63 65 64 20 77 69 74 68 20 6e but.all.cons.are.replaced.with.n
3c600 65 77 20 6f 6e 65 73 2e 20 20 54 68 69 73 20 69 73 20 75 73 65 66 75 6c 0a 20 20 20 20 20 77 68 ew.ones...This.is.useful......wh
3c620 65 6e 20 79 6f 75 20 6e 65 65 64 20 74 6f 20 63 6c 6f 6e 65 20 61 20 73 74 72 75 63 74 75 72 65 en.you.need.to.clone.a.structure
3c640 20 73 75 63 68 20 61 73 20 70 6c 69 73 74 20 6f 72 20 61 6c 69 73 74 2e 0a 0a 20 20 20 20 20 20 .such.as.plist.or.alist.........
3c660 20 20 20 20 28 6c 65 74 2a 20 28 28 61 20 27 28 31 20 32 20 33 29 29 20 28 62 20 28 2d 63 6c 6f ....(let*.((a.'(1.2.3)).(b.(-clo
3c680 6e 65 20 61 29 29 29 20 28 6e 72 65 76 65 72 73 65 20 61 29 20 62 29 0a 20 20 20 20 20 20 20 20 ne.a))).(nreverse.a).b).........
3c6a0 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 29 0a 0a 1f 0a 46 69 6c 65 3a 20 64 61 73 68 2e ..........(1.2.3)....File:.dash.
3c6c0 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 54 68 72 65 61 64 69 6e 67 20 6d 61 63 72 6f 73 2c 20 20 info,..Node:.Threading.macros,..
3c6e0 4e 65 78 74 3a 20 42 69 6e 64 69 6e 67 2c 20 20 50 72 65 76 3a 20 54 72 65 65 20 6f 70 65 72 61 Next:.Binding,..Prev:.Tree.opera
3c700 74 69 6f 6e 73 2c 20 20 55 70 3a 20 46 75 6e 63 74 69 6f 6e 73 0a 0a 32 2e 31 32 20 54 68 72 65 tions,..Up:.Functions..2.12.Thre
3c720 61 64 69 6e 67 20 6d 61 63 72 6f 73 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ading.macros.===================
3c740 3d 3d 0a 0a 4d 61 63 72 6f 73 20 74 68 61 74 20 63 6f 6e 64 69 74 69 6f 6e 61 6c 6c 79 20 63 6f ==..Macros.that.conditionally.co
3c760 6d 62 69 6e 65 20 73 65 71 75 65 6e 74 69 61 6c 20 66 6f 72 6d 73 20 66 6f 72 20 62 72 65 76 69 mbine.sequential.forms.for.brevi
3c780 74 79 20 6f 72 0a 72 65 61 64 61 62 69 6c 69 74 79 2e 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 2d ty.or.readability....--.Macro:.-
3c7a0 3e 20 28 78 20 26 6f 70 74 69 6f 6e 61 6c 20 66 6f 72 6d 20 26 72 65 73 74 20 6d 6f 72 65 29 0a >.(x.&optional.form.&rest.more).
3c7c0 20 20 20 20 20 54 68 72 65 61 64 20 74 68 65 20 65 78 70 72 20 74 68 72 6f 75 67 68 20 74 68 65 .....Thread.the.expr.through.the
3c7e0 20 66 6f 72 6d 73 2e 20 20 49 6e 73 65 72 74 20 58 20 61 73 20 74 68 65 20 73 65 63 6f 6e 64 20 .forms...Insert.X.as.the.second.
3c800 69 74 65 6d 20 69 6e 0a 20 20 20 20 20 74 68 65 20 66 69 72 73 74 20 66 6f 72 6d 2c 20 6d 61 6b item.in......the.first.form,.mak
3c820 69 6e 67 20 61 20 6c 69 73 74 20 6f 66 20 69 74 20 69 66 20 69 74 20 69 73 20 6e 6f 74 20 61 20 ing.a.list.of.it.if.it.is.not.a.
3c840 6c 69 73 74 20 61 6c 72 65 61 64 79 2e 0a 20 20 20 20 20 49 66 20 74 68 65 72 65 20 61 72 65 20 list.already.......If.there.are.
3c860 6d 6f 72 65 20 66 6f 72 6d 73 2c 20 69 6e 73 65 72 74 20 74 68 65 20 66 69 72 73 74 20 66 6f 72 more.forms,.insert.the.first.for
3c880 6d 20 61 73 20 74 68 65 20 73 65 63 6f 6e 64 20 69 74 65 6d 0a 20 20 20 20 20 69 6e 20 73 65 63 m.as.the.second.item......in.sec
3c8a0 6f 6e 64 20 66 6f 72 6d 2c 20 65 74 63 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 3e 20 27 28 ond.form,.etc.............(->.'(
3c8c0 32 20 33 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 32 20 33 20 35 2.3.5))...................(2.3.5
3c8e0 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 3e 20 27 28 32 20 33 20 35 29 20 28 61 70 70 65 6e 64 )...........(->.'(2.3.5).(append
3c900 20 27 28 38 20 31 33 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 32 20 .'(8.13)))...................(2.
3c920 33 20 35 20 38 20 31 33 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 3e 20 27 28 32 20 33 20 35 29 3.5.8.13)...........(->.'(2.3.5)
3c940 20 28 61 70 70 65 6e 64 20 27 28 38 20 31 33 29 29 20 28 2d 73 6c 69 63 65 20 31 20 2d 31 29 29 .(append.'(8.13)).(-slice.1.-1))
3c960 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 33 20 35 20 38 29 0a 0a 20 2d 2d 20 ...................(3.5.8)...--.
3c980 4d 61 63 72 6f 3a 20 2d 3e 3e 20 28 78 20 26 6f 70 74 69 6f 6e 61 6c 20 66 6f 72 6d 20 26 72 65 Macro:.->>.(x.&optional.form.&re
3c9a0 73 74 20 6d 6f 72 65 29 0a 20 20 20 20 20 54 68 72 65 61 64 20 74 68 65 20 65 78 70 72 20 74 68 st.more)......Thread.the.expr.th
3c9c0 72 6f 75 67 68 20 74 68 65 20 66 6f 72 6d 73 2e 20 20 49 6e 73 65 72 74 20 58 20 61 73 20 74 68 rough.the.forms...Insert.X.as.th
3c9e0 65 20 6c 61 73 74 20 69 74 65 6d 20 69 6e 0a 20 20 20 20 20 74 68 65 20 66 69 72 73 74 20 66 6f e.last.item.in......the.first.fo
3ca00 72 6d 2c 20 6d 61 6b 69 6e 67 20 61 20 6c 69 73 74 20 6f 66 20 69 74 20 69 66 20 69 74 20 69 73 rm,.making.a.list.of.it.if.it.is
3ca20 20 6e 6f 74 20 61 20 6c 69 73 74 20 61 6c 72 65 61 64 79 2e 0a 20 20 20 20 20 49 66 20 74 68 65 .not.a.list.already.......If.the
3ca40 72 65 20 61 72 65 20 6d 6f 72 65 20 66 6f 72 6d 73 2c 20 69 6e 73 65 72 74 20 74 68 65 20 66 69 re.are.more.forms,.insert.the.fi
3ca60 72 73 74 20 66 6f 72 6d 20 61 73 20 74 68 65 20 6c 61 73 74 20 69 74 65 6d 20 69 6e 0a 20 20 20 rst.form.as.the.last.item.in....
3ca80 20 20 73 65 63 6f 6e 64 20 66 6f 72 6d 2c 20 65 74 63 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 ..second.form,.etc.............(
3caa0 2d 3e 3e 20 27 28 31 20 32 20 33 29 20 28 2d 6d 61 70 20 27 73 71 75 61 72 65 29 29 0a 20 20 20 ->>.'(1.2.3).(-map.'square))....
3cac0 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 34 20 39 29 0a 20 20 20 20 20 20 20 20 20 ...............(1.4.9)..........
3cae0 20 28 2d 3e 3e 20 27 28 31 20 32 20 33 29 20 28 2d 6d 61 70 20 27 73 71 75 61 72 65 29 20 28 2d .(->>.'(1.2.3).(-map.'square).(-
3cb00 72 65 6d 6f 76 65 20 27 65 76 65 6e 3f 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 remove.'even?)).................
3cb20 92 20 28 31 20 39 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 3e 3e 20 27 28 31 20 32 20 33 29 20 ..(1.9)...........(->>.'(1.2.3).
3cb40 28 2d 6d 61 70 20 27 73 71 75 61 72 65 29 20 28 2d 72 65 64 75 63 65 20 27 2b 29 29 0a 20 20 20 (-map.'square).(-reduce.'+))....
3cb60 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 31 34 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 2d 2d ...............14...--.Macro:.--
3cb80 3e 20 28 78 20 26 72 65 73 74 20 66 6f 72 6d 73 29 0a 20 20 20 20 20 53 74 61 72 74 69 6e 67 20 >.(x.&rest.forms)......Starting.
3cba0 77 69 74 68 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 58 2c 20 74 68 72 65 61 64 20 65 61 63 68 with.the.value.of.X,.thread.each
3cbc0 20 65 78 70 72 65 73 73 69 6f 6e 20 74 68 72 6f 75 67 68 20 46 4f 52 4d 53 2e 0a 0a 20 20 20 20 .expression.through.FORMS.......
3cbe0 20 49 6e 73 65 72 74 20 58 20 61 74 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 20 73 69 67 6e 69 66 .Insert.X.at.the.position.signif
3cc00 69 65 64 20 62 79 20 74 68 65 20 73 79 6d 62 6f 6c 20 e2 80 98 69 74 e2 80 99 20 69 6e 20 74 68 ied.by.the.symbol....it....in.th
3cc20 65 20 66 69 72 73 74 0a 20 20 20 20 20 66 6f 72 6d 2e 20 20 49 66 20 74 68 65 72 65 20 61 72 65 e.first......form...If.there.are
3cc40 20 6d 6f 72 65 20 66 6f 72 6d 73 2c 20 69 6e 73 65 72 74 20 74 68 65 20 66 69 72 73 74 20 66 6f .more.forms,.insert.the.first.fo
3cc60 72 6d 20 61 74 20 74 68 65 0a 20 20 20 20 20 70 6f 73 69 74 69 6f 6e 20 73 69 67 6e 69 66 69 65 rm.at.the......position.signifie
3cc80 64 20 62 79 20 e2 80 98 69 74 e2 80 99 20 69 6e 20 69 6e 20 73 65 63 6f 6e 64 20 66 6f 72 6d 2c d.by....it....in.in.second.form,
3cca0 20 65 74 63 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 3e 20 22 64 65 66 22 20 28 63 6f 6e .etc.............(-->."def".(con
3ccc0 63 61 74 20 22 61 62 63 22 20 69 74 20 22 67 68 69 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 cat."abc".it."ghi"))............
3cce0 20 20 20 e2 87 92 20 22 61 62 63 64 65 66 67 68 69 22 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d ......."abcdefghi"...........(--
3cd00 3e 20 22 64 65 66 22 20 28 63 6f 6e 63 61 74 20 22 61 62 63 22 20 69 74 20 22 67 68 69 22 29 20 >."def".(concat."abc".it."ghi").
3cd20 28 75 70 63 61 73 65 20 69 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 22 (upcase.it))..................."
3cd40 41 42 43 44 45 46 47 48 49 22 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 3e 20 22 64 65 66 22 20 ABCDEFGHI"...........(-->."def".
3cd60 28 63 6f 6e 63 61 74 20 22 61 62 63 22 20 69 74 20 22 67 68 69 22 29 20 75 70 63 61 73 65 29 0a (concat."abc".it."ghi").upcase).
3cd80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 22 41 42 43 44 45 46 47 48 49 22 0a 0a 20 .................."ABCDEFGHI"...
3cda0 2d 2d 20 4d 61 63 72 6f 3a 20 2d 61 73 2d 3e 20 28 76 61 6c 75 65 20 76 61 72 69 61 62 6c 65 20 --.Macro:.-as->.(value.variable.
3cdc0 26 72 65 73 74 20 66 6f 72 6d 73 29 0a 20 20 20 20 20 53 74 61 72 74 69 6e 67 20 77 69 74 68 20 &rest.forms)......Starting.with.
3cde0 56 41 4c 55 45 2c 20 74 68 72 65 61 64 20 56 41 52 49 41 42 4c 45 20 74 68 72 6f 75 67 68 20 46 VALUE,.thread.VARIABLE.through.F
3ce00 4f 52 4d 53 2e 0a 0a 20 20 20 20 20 49 6e 20 74 68 65 20 66 69 72 73 74 20 66 6f 72 6d 2c 20 62 ORMS........In.the.first.form,.b
3ce20 69 6e 64 20 56 41 52 49 41 42 4c 45 20 74 6f 20 56 41 4c 55 45 2e 20 20 49 6e 20 74 68 65 20 73 ind.VARIABLE.to.VALUE...In.the.s
3ce40 65 63 6f 6e 64 20 66 6f 72 6d 2c 0a 20 20 20 20 20 62 69 6e 64 20 56 41 52 49 41 42 4c 45 20 74 econd.form,......bind.VARIABLE.t
3ce60 6f 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 66 6f 72 6d 2c 20 o.the.result.of.the.first.form,.
3ce80 61 6e 64 20 73 6f 20 66 6f 72 74 68 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 61 73 2d 3e 20 and.so.forth.............(-as->.
3cea0 33 20 6d 79 2d 76 61 72 20 28 31 2b 20 6d 79 2d 76 61 72 29 20 28 6c 69 73 74 20 6d 79 2d 76 61 3.my-var.(1+.my-var).(list.my-va
3cec0 72 29 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 65 6c 65 29 20 28 2a 20 32 20 65 6c r).(mapcar.(lambda.(ele).(*.2.el
3cee0 65 29 29 20 6d 79 2d 76 61 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 e)).my-var))...................(
3cf00 38 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 61 73 2d 3e 20 33 20 6d 79 2d 76 61 72 20 31 2b 29 8)...........(-as->.3.my-var.1+)
3cf20 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 34 0a 20 20 20 20 20 20 20 20 20 20 28 ...................4...........(
3cf40 2d 61 73 2d 3e 20 33 20 6d 79 2d 76 61 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 -as->.3.my-var).................
3cf60 92 20 33 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 2d 73 6f 6d 65 2d 3e 20 28 78 20 26 6f 70 74 69 ..3...--.Macro:.-some->.(x.&opti
3cf80 6f 6e 61 6c 20 66 6f 72 6d 20 26 72 65 73 74 20 6d 6f 72 65 29 0a 20 20 20 20 20 57 68 65 6e 20 onal.form.&rest.more)......When.
3cfa0 65 78 70 72 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 72 65 61 64 20 69 74 20 74 68 72 6f 75 expr.is.non-nil,.thread.it.throu
3cfc0 67 68 20 74 68 65 20 66 69 72 73 74 20 66 6f 72 6d 20 28 76 69 61 20 e2 80 98 2d 3e e2 80 99 0a gh.the.first.form.(via....->....
3cfe0 20 20 20 20 20 28 2a 6e 6f 74 65 20 2d 3e 3a 3a 29 29 2c 20 61 6e 64 20 77 68 65 6e 20 74 68 61 .....(*note.->::)),.and.when.tha
3d000 74 20 72 65 73 75 6c 74 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 72 6f 75 67 68 20 74 68 65 t.result.is.non-nil,.through.the
3d020 20 6e 65 78 74 0a 20 20 20 20 20 66 6f 72 6d 2c 20 65 74 63 2e 0a 0a 20 20 20 20 20 20 20 20 20 .next......form,.etc............
3d040 20 28 2d 73 6f 6d 65 2d 3e 20 27 28 32 20 33 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 .(-some->.'(2.3.5)).............
3d060 20 20 e2 87 92 20 28 32 20 33 20 35 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 6f 6d 65 2d 3e ......(2.3.5)...........(-some->
3d080 20 35 20 73 71 75 61 72 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 32 35 0a .5.square)...................25.
3d0a0 20 20 20 20 20 20 20 20 20 20 28 2d 73 6f 6d 65 2d 3e 20 35 20 65 76 65 6e 3f 20 73 71 75 61 72 ..........(-some->.5.even?.squar
3d0c0 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 0a 20 2d 2d 20 4d 61 e)...................nil...--.Ma
3d0e0 63 72 6f 3a 20 2d 73 6f 6d 65 2d 3e 3e 20 28 78 20 26 6f 70 74 69 6f 6e 61 6c 20 66 6f 72 6d 20 cro:.-some->>.(x.&optional.form.
3d100 26 72 65 73 74 20 6d 6f 72 65 29 0a 20 20 20 20 20 57 68 65 6e 20 65 78 70 72 20 69 73 20 6e 6f &rest.more)......When.expr.is.no
3d120 6e 2d 6e 69 6c 2c 20 74 68 72 65 61 64 20 69 74 20 74 68 72 6f 75 67 68 20 74 68 65 20 66 69 72 n-nil,.thread.it.through.the.fir
3d140 73 74 20 66 6f 72 6d 20 28 76 69 61 20 e2 80 98 2d 3e 3e e2 80 99 0a 20 20 20 20 20 28 2a 6e 6f st.form.(via....->>.........(*no
3d160 74 65 20 2d 3e 3e 3a 3a 29 29 2c 20 61 6e 64 20 77 68 65 6e 20 74 68 61 74 20 72 65 73 75 6c 74 te.->>::)),.and.when.that.result
3d180 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 72 6f 75 67 68 20 74 68 65 20 6e 65 78 74 0a 20 20 .is.non-nil,.through.the.next...
3d1a0 20 20 20 66 6f 72 6d 2c 20 65 74 63 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 6f 6d 65 2d ...form,.etc.............(-some-
3d1c0 3e 3e 20 27 28 31 20 32 20 33 29 20 28 2d 6d 61 70 20 27 73 71 75 61 72 65 29 29 0a 20 20 20 20 >>.'(1.2.3).(-map.'square)).....
3d1e0 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 34 20 39 29 0a 20 20 20 20 20 20 20 20 20 20 ..............(1.4.9)...........
3d200 28 2d 73 6f 6d 65 2d 3e 3e 20 27 28 31 20 33 20 35 29 20 28 2d 6c 61 73 74 20 27 65 76 65 6e 3f (-some->>.'(1.3.5).(-last.'even?
3d220 29 20 28 2b 20 31 30 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c ).(+.100))...................nil
3d240 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 6f 6d 65 2d 3e 3e 20 27 28 32 20 34 20 36 29 20 28 2d ...........(-some->>.'(2.4.6).(-
3d260 6c 61 73 74 20 27 65 76 65 6e 3f 29 20 28 2b 20 31 30 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 last.'even?).(+.100))...........
3d280 20 20 20 20 e2 87 92 20 31 30 36 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 2d 73 6f 6d 65 2d 2d 3e ........106...--.Macro:.-some-->
3d2a0 20 28 65 78 70 72 20 26 72 65 73 74 20 66 6f 72 6d 73 29 0a 20 20 20 20 20 54 68 72 65 61 64 20 .(expr.&rest.forms)......Thread.
3d2c0 45 58 50 52 20 74 68 72 6f 75 67 68 20 46 4f 52 4d 53 20 76 69 61 20 e2 80 98 2d 2d 3e e2 80 99 EXPR.through.FORMS.via....-->...
3d2e0 20 28 2a 6e 6f 74 65 20 2d 2d 3e 3a 3a 29 2c 20 77 68 69 6c 65 20 74 68 65 20 72 65 73 75 6c 74 .(*note.-->::),.while.the.result
3d300 0a 20 20 20 20 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2e 20 20 57 68 65 6e 20 45 58 50 52 20 65 76 61 ......is.non-nil...When.EXPR.eva
3d320 6c 75 61 74 65 73 20 74 6f 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 72 65 61 64 20 74 68 65 20 72 65 luates.to.non-nil,.thread.the.re
3d340 73 75 6c 74 0a 20 20 20 20 20 74 68 72 6f 75 67 68 20 74 68 65 20 66 69 72 73 74 20 6f 66 20 46 sult......through.the.first.of.F
3d360 4f 52 4d 53 2c 20 61 6e 64 20 77 68 65 6e 20 74 68 61 74 20 72 65 73 75 6c 74 20 69 73 20 6e 6f ORMS,.and.when.that.result.is.no
3d380 6e 2d 6e 69 6c 2c 20 74 68 72 65 61 64 0a 20 20 20 20 20 69 74 20 74 68 72 6f 75 67 68 20 74 68 n-nil,.thread......it.through.th
3d3a0 65 20 6e 65 78 74 20 66 6f 72 6d 2c 20 65 74 63 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 e.next.form,.etc.............(-s
3d3c0 6f 6d 65 2d 2d 3e 20 22 64 65 66 22 20 28 63 6f 6e 63 61 74 20 22 61 62 63 22 20 69 74 20 22 67 ome-->."def".(concat."abc".it."g
3d3e0 68 69 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 22 61 62 63 64 65 66 67 hi"))..................."abcdefg
3d400 68 69 22 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 6f 6d 65 2d 2d 3e 20 6e 69 6c 20 28 63 6f 6e hi"...........(-some-->.nil.(con
3d420 63 61 74 20 22 61 62 63 22 20 69 74 20 22 67 68 69 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 cat."abc".it."ghi"))............
3d440 20 20 20 e2 87 92 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 6f 6d 65 2d 2d 3e 20 27 .......nil...........(-some-->.'
3d460 28 30 20 31 29 20 28 2d 72 65 6d 6f 76 65 20 23 27 6e 61 74 6e 75 6d 70 20 69 74 29 20 28 61 70 (0.1).(-remove.#'natnump.it).(ap
3d480 70 65 6e 64 20 69 74 20 69 74 29 20 28 2d 6d 61 70 20 23 27 31 2b 20 69 74 29 29 0a 20 20 20 20 pend.it.it).(-map.#'1+.it)).....
3d4a0 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 29 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 2d 64 6f ..............()...--.Macro:.-do
3d4c0 74 6f 20 28 69 6e 69 74 20 26 72 65 73 74 20 66 6f 72 6d 73 29 0a 20 20 20 20 20 45 76 61 6c 75 to.(init.&rest.forms)......Evalu
3d4e0 61 74 65 20 49 4e 49 54 20 61 6e 64 20 70 61 73 73 20 69 74 20 61 73 20 61 72 67 75 6d 65 6e 74 ate.INIT.and.pass.it.as.argument
3d500 20 74 6f 20 46 4f 52 4d 53 20 77 69 74 68 20 e2 80 98 2d 3e e2 80 99 20 28 2a 6e 6f 74 65 0a 20 .to.FORMS.with....->....(*note..
3d520 20 20 20 20 2d 3e 3a 3a 29 2e 20 20 54 68 65 20 52 45 53 55 4c 54 20 6f 66 20 65 76 61 6c 75 61 ....->::)...The.RESULT.of.evalua
3d540 74 69 6e 67 20 49 4e 49 54 20 69 73 20 74 68 72 65 61 64 65 64 20 74 68 72 6f 75 67 68 20 65 61 ting.INIT.is.threaded.through.ea
3d560 63 68 20 6f 66 0a 20 20 20 20 20 46 4f 52 4d 53 20 69 6e 64 69 76 69 64 75 61 6c 6c 79 20 75 73 ch.of......FORMS.individually.us
3d580 69 6e 67 20 e2 80 98 2d 3e e2 80 99 20 28 2a 6e 6f 74 65 20 2d 3e 3a 3a 29 2c 20 77 68 69 63 68 ing....->....(*note.->::),.which
3d5a0 20 73 65 65 2e 20 20 54 68 65 20 72 65 74 75 72 6e 0a 20 20 20 20 20 76 61 6c 75 65 20 69 73 20 .see...The.return......value.is.
3d5c0 52 45 53 55 4c 54 2c 20 77 68 69 63 68 20 46 4f 52 4d 53 20 6d 61 79 20 68 61 76 65 20 6d 6f 64 RESULT,.which.FORMS.may.have.mod
3d5e0 69 66 69 65 64 20 62 79 20 73 69 64 65 20 65 66 66 65 63 74 2e 0a 0a 20 20 20 20 20 20 20 20 20 ified.by.side.effect............
3d600 20 28 2d 64 6f 74 6f 20 28 6c 69 73 74 20 31 20 32 20 33 29 20 70 6f 70 20 70 6f 70 29 0a 20 20 .(-doto.(list.1.2.3).pop.pop)...
3d620 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 33 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d ................(3)...........(-
3d640 64 6f 74 6f 20 28 63 6f 6e 73 20 31 20 32 29 20 28 73 65 74 63 61 72 20 33 29 20 28 73 65 74 63 doto.(cons.1.2).(setcar.3).(setc
3d660 64 72 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 33 20 2e 20 34 29 dr.4))...................(3...4)
3d680 0a 20 20 20 20 20 20 20 20 20 20 28 67 65 74 68 61 73 68 20 27 6b 20 28 2d 2d 64 6f 74 6f 20 28 ...........(gethash.'k.(--doto.(
3d6a0 6d 61 6b 65 2d 68 61 73 68 2d 74 61 62 6c 65 29 20 28 70 75 74 68 61 73 68 20 27 6b 20 27 76 20 make-hash-table).(puthash.'k.'v.
3d6c0 69 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 76 0a 0a 1f 0a 46 69 6c it)))...................v....Fil
3d6e0 65 3a 20 64 61 73 68 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 42 69 6e 64 69 6e 67 2c 20 20 4e e:.dash.info,..Node:.Binding,..N
3d700 65 78 74 3a 20 53 69 64 65 20 65 66 66 65 63 74 73 2c 20 20 50 72 65 76 3a 20 54 68 72 65 61 64 ext:.Side.effects,..Prev:.Thread
3d720 69 6e 67 20 6d 61 63 72 6f 73 2c 20 20 55 70 3a 20 46 75 6e 63 74 69 6f 6e 73 0a 0a 32 2e 31 33 ing.macros,..Up:.Functions..2.13
3d740 20 42 69 6e 64 69 6e 67 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 4d 61 63 72 6f 73 20 74 68 .Binding.============..Macros.th
3d760 61 74 20 63 6f 6d 62 69 6e 65 20 e2 80 98 6c 65 74 e2 80 99 20 61 6e 64 20 e2 80 98 6c 65 74 2a at.combine....let....and....let*
3d780 e2 80 99 20 77 69 74 68 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 20 61 6e 64 20 66 6c 6f 77 0a ....with.destructuring.and.flow.
3d7a0 63 6f 6e 74 72 6f 6c 2e 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 2d 77 68 65 6e 2d 6c 65 74 20 28 control....--.Macro:.-when-let.(
3d7c0 28 76 61 72 20 76 61 6c 29 20 26 72 65 73 74 20 62 6f 64 79 29 0a 20 20 20 20 20 49 66 20 56 41 (var.val).&rest.body)......If.VA
3d7e0 4c 20 65 76 61 6c 75 61 74 65 73 20 74 6f 20 6e 6f 6e 2d 6e 69 6c 2c 20 62 69 6e 64 20 69 74 20 L.evaluates.to.non-nil,.bind.it.
3d800 74 6f 20 56 41 52 20 61 6e 64 20 65 78 65 63 75 74 65 20 62 6f 64 79 2e 0a 0a 20 20 20 20 20 4e to.VAR.and.execute.body........N
3d820 6f 74 65 3a 20 62 69 6e 64 69 6e 67 20 69 73 20 64 6f 6e 65 20 61 63 63 6f 72 64 69 6e 67 20 74 ote:.binding.is.done.according.t
3d840 6f 20 e2 80 98 2d 6c 65 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 6c 65 74 3a 3a 29 2e 0a 0a 20 20 o....-let....(*note.-let::).....
3d860 20 20 20 20 20 20 20 20 28 2d 77 68 65 6e 2d 6c 65 74 20 28 6d 61 74 63 68 2d 69 6e 64 65 78 20 ........(-when-let.(match-index.
3d880 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 64 22 20 22 61 62 63 64 22 29 29 20 28 2b 20 6d 61 (string-match."d"."abcd")).(+.ma
3d8a0 74 63 68 2d 69 6e 64 65 78 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 tch-index.2))...................
3d8c0 35 0a 20 20 20 20 20 20 20 20 20 20 28 2d 77 68 65 6e 2d 6c 65 74 20 28 28 26 70 6c 69 73 74 20 5...........(-when-let.((&plist.
3d8e0 3a 66 6f 6f 20 66 6f 6f 29 20 28 6c 69 73 74 20 3a 66 6f 6f 20 22 66 6f 6f 22 29 29 20 66 6f 6f :foo.foo).(list.:foo."foo")).foo
3d900 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 22 66 6f 6f 22 0a 20 20 20 20 20 20 )..................."foo".......
3d920 20 20 20 20 28 2d 77 68 65 6e 2d 6c 65 74 20 28 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 66 6f 6f ....(-when-let.((&plist.:foo.foo
3d940 29 20 28 6c 69 73 74 20 3a 62 61 72 20 22 62 61 72 22 29 29 20 66 6f 6f 29 0a 20 20 20 20 20 20 ).(list.:bar."bar")).foo).......
3d960 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 2d 77 68 65 ............nil...--.Macro:.-whe
3d980 6e 2d 6c 65 74 2a 20 28 76 61 72 73 2d 76 61 6c 73 20 26 72 65 73 74 20 62 6f 64 79 29 0a 20 20 n-let*.(vars-vals.&rest.body)...
3d9a0 20 20 20 49 66 20 61 6c 6c 20 56 41 4c 53 20 65 76 61 6c 75 61 74 65 20 74 6f 20 74 72 75 65 2c ...If.all.VALS.evaluate.to.true,
3d9c0 20 62 69 6e 64 20 74 68 65 6d 20 74 6f 20 74 68 65 69 72 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e .bind.them.to.their.correspondin
3d9e0 67 20 56 41 52 53 0a 20 20 20 20 20 61 6e 64 20 65 78 65 63 75 74 65 20 62 6f 64 79 2e 20 20 56 g.VARS......and.execute.body...V
3da00 41 52 53 2d 56 41 4c 53 20 73 68 6f 75 6c 64 20 62 65 20 61 20 6c 69 73 74 20 6f 66 20 28 56 41 ARS-VALS.should.be.a.list.of.(VA
3da20 52 20 56 41 4c 29 20 70 61 69 72 73 2e 0a 0a 20 20 20 20 20 4e 6f 74 65 3a 20 62 69 6e 64 69 6e R.VAL).pairs........Note:.bindin
3da40 67 20 69 73 20 64 6f 6e 65 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 e2 80 98 2d 6c 65 74 2a e2 g.is.done.according.to....-let*.
3da60 80 99 20 28 2a 6e 6f 74 65 20 2d 6c 65 74 2a 3a 3a 29 2e 20 20 56 41 4c 53 0a 20 20 20 20 20 61 ...(*note.-let*::)...VALS......a
3da80 72 65 20 65 76 61 6c 75 61 74 65 64 20 73 65 71 75 65 6e 74 69 61 6c 6c 79 2c 20 61 6e 64 20 65 re.evaluated.sequentially,.and.e
3daa0 76 61 6c 75 61 74 69 6f 6e 20 73 74 6f 70 73 20 61 66 74 65 72 20 74 68 65 20 66 69 72 73 74 0a valuation.stops.after.the.first.
3dac0 20 20 20 20 20 6e 69 6c 20 56 41 4c 20 69 73 20 65 6e 63 6f 75 6e 74 65 72 65 64 2e 0a 0a 20 20 .....nil.VAL.is.encountered.....
3dae0 20 20 20 20 20 20 20 20 28 2d 77 68 65 6e 2d 6c 65 74 2a 20 28 28 78 20 35 29 20 28 79 20 33 29 ........(-when-let*.((x.5).(y.3)
3db00 20 28 7a 20 28 2b 20 79 20 34 29 29 29 20 28 2b 20 78 20 79 20 7a 29 29 0a 20 20 20 20 20 20 20 .(z.(+.y.4))).(+.x.y.z))........
3db20 20 20 20 20 20 20 20 e2 87 92 20 31 35 0a 20 20 20 20 20 20 20 20 20 20 28 2d 77 68 65 6e 2d 6c ...........15...........(-when-l
3db40 65 74 2a 20 28 28 78 20 35 29 20 28 79 20 6e 69 6c 29 20 28 7a 20 37 29 29 20 28 2b 20 78 20 79 et*.((x.5).(y.nil).(z.7)).(+.x.y
3db60 20 7a 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 0a 20 2d 2d 20 .z))...................nil...--.
3db80 4d 61 63 72 6f 3a 20 2d 69 66 2d 6c 65 74 20 28 28 76 61 72 20 76 61 6c 29 20 74 68 65 6e 20 26 Macro:.-if-let.((var.val).then.&
3dba0 72 65 73 74 20 65 6c 73 65 29 0a 20 20 20 20 20 49 66 20 56 41 4c 20 65 76 61 6c 75 61 74 65 73 rest.else)......If.VAL.evaluates
3dbc0 20 74 6f 20 6e 6f 6e 2d 6e 69 6c 2c 20 62 69 6e 64 20 69 74 20 74 6f 20 56 41 52 20 61 6e 64 20 .to.non-nil,.bind.it.to.VAR.and.
3dbe0 64 6f 20 54 48 45 4e 2c 20 6f 74 68 65 72 77 69 73 65 0a 20 20 20 20 20 64 6f 20 45 4c 53 45 2e do.THEN,.otherwise......do.ELSE.
3dc00 0a 0a 20 20 20 20 20 4e 6f 74 65 3a 20 62 69 6e 64 69 6e 67 20 69 73 20 64 6f 6e 65 20 61 63 63 .......Note:.binding.is.done.acc
3dc20 6f 72 64 69 6e 67 20 74 6f 20 e2 80 98 2d 6c 65 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 6c 65 74 ording.to....-let....(*note.-let
3dc40 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 66 2d 6c 65 74 20 28 6d 61 74 63 68 2d ::).............(-if-let.(match-
3dc60 69 6e 64 65 78 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 64 22 20 22 61 62 63 22 29 29 20 index.(string-match."d"."abc")).
3dc80 28 2b 20 6d 61 74 63 68 2d 69 6e 64 65 78 20 33 29 20 37 29 0a 20 20 20 20 20 20 20 20 20 20 20 (+.match-index.3).7)............
3dca0 20 20 20 e2 87 92 20 37 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 69 66 2d 6c 65 74 20 28 65 76 .......7...........(--if-let.(ev
3dcc0 65 6e 3f 20 34 29 20 69 74 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 en?.4).it.nil)..................
3dce0 20 74 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 2d 69 66 2d 6c 65 74 2a 20 28 76 61 72 73 2d 76 61 .t...--.Macro:.-if-let*.(vars-va
3dd00 6c 73 20 74 68 65 6e 20 26 72 65 73 74 20 65 6c 73 65 29 0a 20 20 20 20 20 49 66 20 61 6c 6c 20 ls.then.&rest.else)......If.all.
3dd20 56 41 4c 53 20 65 76 61 6c 75 61 74 65 20 74 6f 20 74 72 75 65 2c 20 62 69 6e 64 20 74 68 65 6d VALS.evaluate.to.true,.bind.them
3dd40 20 74 6f 20 74 68 65 69 72 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 56 41 52 53 0a 20 20 20 .to.their.corresponding.VARS....
3dd60 20 20 61 6e 64 20 64 6f 20 54 48 45 4e 2c 20 6f 74 68 65 72 77 69 73 65 20 64 6f 20 45 4c 53 45 ..and.do.THEN,.otherwise.do.ELSE
3dd80 2e 20 20 56 41 52 53 2d 56 41 4c 53 20 73 68 6f 75 6c 64 20 62 65 20 61 20 6c 69 73 74 20 6f 66 ...VARS-VALS.should.be.a.list.of
3dda0 20 28 56 41 52 0a 20 20 20 20 20 56 41 4c 29 20 70 61 69 72 73 2e 0a 0a 20 20 20 20 20 4e 6f 74 .(VAR......VAL).pairs........Not
3ddc0 65 3a 20 62 69 6e 64 69 6e 67 20 69 73 20 64 6f 6e 65 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 e:.binding.is.done.according.to.
3dde0 e2 80 98 2d 6c 65 74 2a e2 80 99 20 28 2a 6e 6f 74 65 20 2d 6c 65 74 2a 3a 3a 29 2e 20 20 56 41 ...-let*....(*note.-let*::)...VA
3de00 4c 53 0a 20 20 20 20 20 61 72 65 20 65 76 61 6c 75 61 74 65 64 20 73 65 71 75 65 6e 74 69 61 6c LS......are.evaluated.sequential
3de20 6c 79 2c 20 61 6e 64 20 65 76 61 6c 75 61 74 69 6f 6e 20 73 74 6f 70 73 20 61 66 74 65 72 20 74 ly,.and.evaluation.stops.after.t
3de40 68 65 20 66 69 72 73 74 0a 20 20 20 20 20 6e 69 6c 20 56 41 4c 20 69 73 20 65 6e 63 6f 75 6e 74 he.first......nil.VAL.is.encount
3de60 65 72 65 64 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 66 2d 6c 65 74 2a 20 28 28 78 20 35 ered.............(-if-let*.((x.5
3de80 29 20 28 79 20 33 29 20 28 7a 20 37 29 29 20 28 2b 20 78 20 79 20 7a 29 20 22 66 6f 6f 22 29 0a ).(y.3).(z.7)).(+.x.y.z)."foo").
3dea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 31 35 0a 20 20 20 20 20 20 20 20 20 20 28 ..................15...........(
3dec0 2d 69 66 2d 6c 65 74 2a 20 28 28 78 20 35 29 20 28 79 20 6e 69 6c 29 20 28 7a 20 37 29 29 20 28 -if-let*.((x.5).(y.nil).(z.7)).(
3dee0 2b 20 78 20 79 20 7a 29 20 22 66 6f 6f 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 +.x.y.z)."foo").................
3df00 92 20 22 66 6f 6f 22 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 66 2d 6c 65 74 2a 20 28 28 28 5f .."foo"...........(-if-let*.(((_
3df20 20 5f 20 78 29 20 27 28 6e 69 6c 20 6e 69 6c 20 37 29 29 29 20 78 29 0a 20 20 20 20 20 20 20 20 ._.x).'(nil.nil.7))).x).........
3df40 20 20 20 20 20 20 e2 87 92 20 37 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 2d 6c 65 74 20 28 76 61 ..........7...--.Macro:.-let.(va
3df60 72 6c 69 73 74 20 26 72 65 73 74 20 62 6f 64 79 29 0a 20 20 20 20 20 42 69 6e 64 20 76 61 72 69 rlist.&rest.body)......Bind.vari
3df80 61 62 6c 65 73 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 56 41 52 4c 49 53 54 20 74 68 65 6e 20 ables.according.to.VARLIST.then.
3dfa0 65 76 61 6c 20 42 4f 44 59 2e 0a 0a 20 20 20 20 20 56 41 52 4c 49 53 54 20 69 73 20 61 20 6c 69 eval.BODY........VARLIST.is.a.li
3dfc0 73 74 20 6f 66 20 6c 69 73 74 73 20 6f 66 20 74 68 65 20 66 6f 72 6d 20 28 50 41 54 54 45 52 4e st.of.lists.of.the.form.(PATTERN
3dfe0 20 53 4f 55 52 43 45 29 2e 20 20 45 61 63 68 0a 20 20 20 20 20 50 41 54 54 45 52 4e 20 69 73 20 .SOURCE)...Each......PATTERN.is.
3e000 6d 61 74 63 68 65 64 20 61 67 61 69 6e 73 74 20 74 68 65 20 53 4f 55 52 43 45 20 22 73 74 72 75 matched.against.the.SOURCE."stru
3e020 63 74 75 72 61 6c 6c 79 22 2e 20 20 53 4f 55 52 43 45 20 69 73 0a 20 20 20 20 20 6f 6e 6c 79 20 cturally"...SOURCE.is......only.
3e040 65 76 61 6c 75 61 74 65 64 20 6f 6e 63 65 20 66 6f 72 20 65 61 63 68 20 50 41 54 54 45 52 4e 2e evaluated.once.for.each.PATTERN.
3e060 20 20 45 61 63 68 20 50 41 54 54 45 52 4e 20 69 73 20 6d 61 74 63 68 65 64 0a 20 20 20 20 20 72 ..Each.PATTERN.is.matched......r
3e080 65 63 75 72 73 69 76 65 6c 79 2c 20 61 6e 64 20 63 61 6e 20 74 68 65 72 65 66 6f 72 65 20 63 6f ecursively,.and.can.therefore.co
3e0a0 6e 74 61 69 6e 20 73 75 62 2d 70 61 74 74 65 72 6e 73 20 77 68 69 63 68 20 61 72 65 0a 20 20 20 ntain.sub-patterns.which.are....
3e0c0 20 20 6d 61 74 63 68 65 64 20 61 67 61 69 6e 73 74 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 ..matched.against.corresponding.
3e0e0 73 75 62 2d 65 78 70 72 65 73 73 69 6f 6e 73 20 6f 66 20 53 4f 55 52 43 45 2e 0a 0a 20 20 20 20 sub-expressions.of.SOURCE.......
3e100 20 41 6c 6c 20 74 68 65 20 53 4f 55 52 43 45 73 20 61 72 65 20 65 76 61 6c 6c 65 64 20 62 65 66 .All.the.SOURCEs.are.evalled.bef
3e120 6f 72 65 20 61 6e 79 20 73 79 6d 62 6f 6c 73 20 61 72 65 20 62 6f 75 6e 64 20 28 69 2e 65 2e 20 ore.any.symbols.are.bound.(i.e..
3e140 20 22 69 6e 0a 20 20 20 20 20 70 61 72 61 6c 6c 65 6c 22 29 2e 0a 0a 20 20 20 20 20 49 66 20 56 ."in......parallel")........If.V
3e160 41 52 4c 49 53 54 20 6f 6e 6c 79 20 63 6f 6e 74 61 69 6e 73 20 6f 6e 65 20 28 50 41 54 54 45 52 ARLIST.only.contains.one.(PATTER
3e180 4e 20 53 4f 55 52 43 45 29 20 65 6c 65 6d 65 6e 74 2c 20 79 6f 75 20 63 61 6e 0a 20 20 20 20 20 N.SOURCE).element,.you.can......
3e1a0 6f 70 74 69 6f 6e 61 6c 6c 79 20 73 70 65 63 69 66 79 20 69 74 20 75 73 69 6e 67 20 61 20 76 65 optionally.specify.it.using.a.ve
3e1c0 63 74 6f 72 20 61 6e 64 20 64 69 73 63 61 72 64 69 6e 67 20 74 68 65 20 6f 75 74 65 72 2d 6d 6f ctor.and.discarding.the.outer-mo
3e1e0 73 74 0a 20 20 20 20 20 70 61 72 65 6e 73 2e 20 20 54 68 75 73 0a 0a 20 20 20 20 20 28 2d 6c 65 st......parens...Thus.......(-le
3e200 74 20 28 28 50 41 54 54 45 52 4e 20 53 4f 55 52 43 45 29 29 20 2e 2e 2e 29 0a 0a 20 20 20 20 20 t.((PATTERN.SOURCE))....).......
3e220 62 65 63 6f 6d 65 73 0a 0a 20 20 20 20 20 28 2d 6c 65 74 20 5b 50 41 54 54 45 52 4e 20 53 4f 55 becomes.......(-let.[PATTERN.SOU
3e240 52 43 45 5d 20 2e 2e 2e 29 2e 0a 0a 20 20 20 20 20 e2 80 98 2d 6c 65 74 e2 80 99 20 28 2a 6e 6f RCE]....)...........-let....(*no
3e260 74 65 20 2d 6c 65 74 3a 3a 29 20 75 73 65 73 20 61 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 6f 66 20 te.-let::).uses.a.convention.of.
3e280 6e 6f 74 20 62 69 6e 64 69 6e 67 20 70 6c 61 63 65 73 0a 20 20 20 20 20 28 73 79 6d 62 6f 6c 73 not.binding.places......(symbols
3e2a0 29 20 73 74 61 72 74 69 6e 67 20 77 69 74 68 20 5f 20 77 68 65 6e 65 76 65 72 20 69 74 e2 80 99 ).starting.with._.whenever.it...
3e2c0 73 20 70 6f 73 73 69 62 6c 65 2e 20 20 59 6f 75 20 63 61 6e 20 75 73 65 20 74 68 69 73 0a 20 20 s.possible...You.can.use.this...
3e2e0 20 20 20 74 6f 20 73 6b 69 70 20 6f 76 65 72 20 65 6e 74 72 69 65 73 20 79 6f 75 20 64 6f 6e e2 ...to.skip.over.entries.you.don.
3e300 80 99 74 20 63 61 72 65 20 61 62 6f 75 74 2e 20 20 48 6f 77 65 76 65 72 2c 20 74 68 69 73 20 69 ..t.care.about...However,.this.i
3e320 73 20 6e 6f 74 0a 20 20 20 20 20 2a 61 6c 77 61 79 73 2a 20 70 6f 73 73 69 62 6c 65 20 28 61 73 s.not......*always*.possible.(as
3e340 20 61 20 72 65 73 75 6c 74 20 6f 66 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 29 20 61 6e 64 .a.result.of.implementation).and
3e360 20 74 68 65 73 65 20 73 79 6d 62 6f 6c 73 0a 20 20 20 20 20 6d 69 67 68 74 20 67 65 74 20 62 6f .these.symbols......might.get.bo
3e380 75 6e 64 20 74 6f 20 75 6e 64 65 66 69 6e 65 64 20 76 61 6c 75 65 73 2e 0a 0a 20 20 20 20 20 46 und.to.undefined.values........F
3e3a0 6f 6c 6c 6f 77 69 6e 67 20 69 73 20 74 68 65 20 6f 76 65 72 76 69 65 77 20 6f 66 20 73 75 70 70 ollowing.is.the.overview.of.supp
3e3c0 6f 72 74 65 64 20 70 61 74 74 65 72 6e 73 2e 20 20 52 65 6d 65 6d 62 65 72 20 74 68 61 74 0a 20 orted.patterns...Remember.that..
3e3e0 20 20 20 20 70 61 74 74 65 72 6e 73 20 63 61 6e 20 62 65 20 6d 61 74 63 68 65 64 20 72 65 63 75 ....patterns.can.be.matched.recu
3e400 72 73 69 76 65 6c 79 2c 20 73 6f 20 65 76 65 72 79 20 61 2c 20 62 2c 20 61 4b 20 69 6e 20 74 68 rsively,.so.every.a,.b,.aK.in.th
3e420 65 0a 20 20 20 20 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 61 6e 20 62 65 20 61 20 6d 61 74 63 68 69 e......following.can.be.a.matchi
3e440 6e 67 20 63 6f 6e 73 74 72 75 63 74 20 61 6e 64 20 6e 6f 74 20 6e 65 63 65 73 73 61 72 69 6c 79 ng.construct.and.not.necessarily
3e460 20 61 0a 20 20 20 20 20 73 79 6d 62 6f 6c 2f 76 61 72 69 61 62 6c 65 2e 0a 0a 20 20 20 20 20 53 .a......symbol/variable........S
3e480 79 6d 62 6f 6c 3a 0a 0a 20 20 20 20 20 61 20 2d 20 62 69 6e 64 20 74 68 65 20 53 4f 55 52 43 45 ymbol:.......a.-.bind.the.SOURCE
3e4a0 20 74 6f 20 41 2e 20 20 54 68 69 73 20 69 73 20 6a 75 73 74 20 6c 69 6b 65 20 72 65 67 75 6c 61 .to.A...This.is.just.like.regula
3e4c0 72 20 e2 80 98 6c 65 74 e2 80 99 2e 0a 0a 20 20 20 20 20 43 6f 6e 73 65 73 20 61 6e 64 20 6c 69 r....let...........Conses.and.li
3e4e0 73 74 73 3a 0a 0a 20 20 20 20 20 28 61 29 20 2d 20 62 69 6e 64 20 e2 80 98 63 61 72 e2 80 99 20 sts:.......(a).-.bind....car....
3e500 6f 66 20 63 6f 6e 73 2f 6c 69 73 74 20 74 6f 20 41 0a 0a 20 20 20 20 20 28 61 20 2e 20 20 62 29 of.cons/list.to.A.......(a....b)
3e520 20 2d 20 62 69 6e 64 20 63 61 72 20 6f 66 20 63 6f 6e 73 20 74 6f 20 41 20 61 6e 64 20 e2 80 98 .-.bind.car.of.cons.to.A.and....
3e540 63 64 72 e2 80 99 20 74 6f 20 42 0a 0a 20 20 20 20 20 28 61 20 62 29 20 2d 20 62 69 6e 64 20 63 cdr....to.B.......(a.b).-.bind.c
3e560 61 72 20 6f 66 20 6c 69 73 74 20 74 6f 20 41 20 61 6e 64 20 e2 80 98 63 61 64 72 e2 80 99 20 74 ar.of.list.to.A.and....cadr....t
3e580 6f 20 42 0a 0a 20 20 20 20 20 28 61 31 20 61 32 20 61 33 20 2e 2e 2e 29 20 2d 20 62 69 6e 64 20 o.B.......(a1.a2.a3....).-.bind.
3e5a0 30 74 68 20 63 61 72 20 6f 66 20 6c 69 73 74 20 74 6f 20 41 31 2c 20 31 73 74 20 74 6f 20 41 32 0th.car.of.list.to.A1,.1st.to.A2
3e5c0 2c 20 32 6e 64 20 74 6f 0a 20 20 20 20 20 41 33 2e 2e 2e 0a 0a 20 20 20 20 20 28 61 31 20 61 32 ,.2nd.to......A3..........(a1.a2
3e5e0 20 61 33 20 2e 2e 2e 20 61 4e 20 2e 20 20 72 65 73 74 29 20 2d 20 61 73 20 61 62 6f 76 65 2c 20 .a3.....aN....rest).-.as.above,.
3e600 62 75 74 20 62 69 6e 64 20 74 68 65 20 4e 74 68 20 63 64 72 20 74 6f 20 52 45 53 54 2e 0a 0a 20 but.bind.the.Nth.cdr.to.REST....
3e620 20 20 20 20 56 65 63 74 6f 72 73 3a 0a 0a 20 20 20 20 20 5b 61 5d 20 2d 20 62 69 6e 64 20 30 74 ....Vectors:.......[a].-.bind.0t
3e640 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 61 20 6e 6f 6e 2d 6c 69 73 74 20 73 65 71 75 65 6e 63 65 h.element.of.a.non-list.sequence
3e660 20 74 6f 20 41 20 28 77 6f 72 6b 73 20 77 69 74 68 0a 20 20 20 20 20 76 65 63 74 6f 72 73 2c 20 .to.A.(works.with......vectors,.
3e680 73 74 72 69 6e 67 73 2c 20 62 69 74 20 61 72 72 61 79 73 2e 2e 2e 29 0a 0a 20 20 20 20 20 5b 61 strings,.bit.arrays...).......[a
3e6a0 31 20 61 32 20 61 33 20 2e 2e 2e 5d 20 2d 20 62 69 6e 64 20 30 74 68 20 65 6c 65 6d 65 6e 74 20 1.a2.a3....].-.bind.0th.element.
3e6c0 6f 66 20 6e 6f 6e 2d 6c 69 73 74 20 73 65 71 75 65 6e 63 65 20 74 6f 20 41 30 2c 20 31 73 74 0a of.non-list.sequence.to.A0,.1st.
3e6e0 20 20 20 20 20 74 6f 20 41 31 2c 20 32 6e 64 20 74 6f 20 41 32 2c 20 2e 2e 2e 20 20 49 66 20 74 .....to.A1,.2nd.to.A2,......If.t
3e700 68 65 20 50 41 54 54 45 52 4e 20 69 73 20 73 68 6f 72 74 65 72 20 74 68 61 6e 20 53 4f 55 52 43 he.PATTERN.is.shorter.than.SOURC
3e720 45 2c 20 74 68 65 0a 20 20 20 20 20 76 61 6c 75 65 73 20 61 74 20 70 6c 61 63 65 73 20 6e 6f 74 E,.the......values.at.places.not
3e740 20 69 6e 20 50 41 54 54 45 52 4e 20 61 72 65 20 69 67 6e 6f 72 65 64 2e 20 20 49 66 20 74 68 65 .in.PATTERN.are.ignored...If.the
3e760 20 50 41 54 54 45 52 4e 20 69 73 0a 20 20 20 20 20 6c 6f 6e 67 65 72 20 74 68 61 6e 20 53 4f 55 .PATTERN.is......longer.than.SOU
3e780 52 43 45 2c 20 61 6e 20 e2 80 98 65 72 72 6f 72 e2 80 99 20 69 73 20 74 68 72 6f 77 6e 2e 0a 0a RCE,.an....error....is.thrown...
3e7a0 20 20 20 20 20 5b 61 31 20 61 32 20 61 33 20 2e 2e 2e 20 26 72 65 73 74 20 72 65 73 74 5d 20 2d .....[a1.a2.a3.....&rest.rest].-
3e7c0 20 61 73 20 61 62 6f 76 65 2c 20 62 75 74 20 62 69 6e 64 20 74 68 65 20 72 65 73 74 20 6f 66 20 .as.above,.but.bind.the.rest.of.
3e7e0 74 68 65 0a 20 20 20 20 20 73 65 71 75 65 6e 63 65 20 74 6f 20 52 45 53 54 2e 20 20 54 68 69 73 the......sequence.to.REST...This
3e800 20 69 73 20 63 6f 6e 63 65 70 74 75 61 6c 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 69 6d 70 .is.conceptually.the.same.as.imp
3e820 72 6f 70 65 72 20 6c 69 73 74 0a 20 20 20 20 20 6d 61 74 63 68 69 6e 67 20 28 61 31 20 61 32 20 roper.list......matching.(a1.a2.
3e840 2e 2e 2e 20 61 4e 20 2e 20 20 72 65 73 74 29 0a 0a 20 20 20 20 20 4b 65 79 2f 76 61 6c 75 65 20 ....aN....rest).......Key/value.
3e860 73 74 6f 72 65 73 3a 0a 0a 20 20 20 20 20 28 26 70 6c 69 73 74 20 6b 65 79 30 20 61 30 20 2e 2e stores:.......(&plist.key0.a0...
3e880 2e 20 6b 65 79 4e 20 61 4e 29 20 2d 20 62 69 6e 64 20 76 61 6c 75 65 20 6d 61 70 70 65 64 20 62 ..keyN.aN).-.bind.value.mapped.b
3e8a0 79 20 6b 65 79 4b 20 69 6e 20 74 68 65 0a 20 20 20 20 20 53 4f 55 52 43 45 20 70 6c 69 73 74 20 y.keyK.in.the......SOURCE.plist.
3e8c0 74 6f 20 61 4b 2e 20 49 66 20 74 68 65 20 76 61 6c 75 65 20 69 73 20 6e 6f 74 20 66 6f 75 6e 64 to.aK..If.the.value.is.not.found
3e8e0 2c 20 61 4b 20 69 73 20 6e 69 6c 2e 20 20 55 73 65 73 0a 20 20 20 20 20 e2 80 98 70 6c 69 73 74 ,.aK.is.nil...Uses.........plist
3e900 2d 67 65 74 e2 80 99 20 74 6f 20 66 65 74 63 68 20 76 61 6c 75 65 73 2e 0a 0a 20 20 20 20 20 28 -get....to.fetch.values........(
3e920 26 61 6c 69 73 74 20 6b 65 79 30 20 61 30 20 2e 2e 2e 20 6b 65 79 4e 20 61 4e 29 20 2d 20 62 69 &alist.key0.a0.....keyN.aN).-.bi
3e940 6e 64 20 76 61 6c 75 65 20 6d 61 70 70 65 64 20 62 79 20 6b 65 79 4b 20 69 6e 20 74 68 65 0a 20 nd.value.mapped.by.keyK.in.the..
3e960 20 20 20 20 53 4f 55 52 43 45 20 61 6c 69 73 74 20 74 6f 20 61 4b 2e 20 49 66 20 74 68 65 20 76 ....SOURCE.alist.to.aK..If.the.v
3e980 61 6c 75 65 20 69 73 20 6e 6f 74 20 66 6f 75 6e 64 2c 20 61 4b 20 69 73 20 6e 69 6c 2e 20 20 55 alue.is.not.found,.aK.is.nil...U
3e9a0 73 65 73 0a 20 20 20 20 20 e2 80 98 61 73 73 6f 63 e2 80 99 20 74 6f 20 66 65 74 63 68 20 76 61 ses.........assoc....to.fetch.va
3e9c0 6c 75 65 73 2e 0a 0a 20 20 20 20 20 28 26 68 61 73 68 20 6b 65 79 30 20 61 30 20 2e 2e 2e 20 6b lues........(&hash.key0.a0.....k
3e9e0 65 79 4e 20 61 4e 29 20 2d 20 62 69 6e 64 20 76 61 6c 75 65 20 6d 61 70 70 65 64 20 62 79 20 6b eyN.aN).-.bind.value.mapped.by.k
3ea00 65 79 4b 20 69 6e 20 74 68 65 0a 20 20 20 20 20 53 4f 55 52 43 45 20 68 61 73 68 20 74 61 62 6c eyK.in.the......SOURCE.hash.tabl
3ea20 65 20 74 6f 20 61 4b 2e 20 49 66 20 74 68 65 20 76 61 6c 75 65 20 69 73 20 6e 6f 74 20 66 6f 75 e.to.aK..If.the.value.is.not.fou
3ea40 6e 64 2c 20 61 4b 20 69 73 20 6e 69 6c 2e 0a 20 20 20 20 20 55 73 65 73 20 e2 80 98 67 65 74 68 nd,.aK.is.nil.......Uses....geth
3ea60 61 73 68 e2 80 99 20 74 6f 20 66 65 74 63 68 20 76 61 6c 75 65 73 2e 0a 0a 20 20 20 20 20 46 75 ash....to.fetch.values........Fu
3ea80 72 74 68 65 72 2c 20 73 70 65 63 69 61 6c 20 6b 65 79 77 6f 72 64 20 26 6b 65 79 73 20 73 75 70 rther,.special.keyword.&keys.sup
3eaa0 70 6f 72 74 73 20 22 69 6e 6c 69 6e 65 22 20 6d 61 74 63 68 69 6e 67 20 6f 66 0a 20 20 20 20 20 ports."inline".matching.of......
3eac0 70 6c 69 73 74 2d 6c 69 6b 65 20 6b 65 79 2d 76 61 6c 75 65 20 70 61 69 72 73 2c 20 73 69 6d 69 plist-like.key-value.pairs,.simi
3eae0 6c 61 72 6c 79 20 74 6f 20 26 6b 65 79 73 20 6b 65 79 77 6f 72 64 20 6f 66 0a 20 20 20 20 20 e2 larly.to.&keys.keyword.of.......
3eb00 80 98 63 6c 2d 64 65 66 75 6e e2 80 99 2e 0a 0a 20 20 20 20 20 28 61 31 20 61 32 20 2e 2e 2e 20 ..cl-defun...........(a1.a2.....
3eb20 61 4e 20 26 6b 65 79 73 20 6b 65 79 31 20 62 31 20 2e 2e 2e 20 6b 65 79 4e 20 62 4b 29 0a 0a 20 aN.&keys.key1.b1.....keyN.bK)...
3eb40 20 20 20 20 54 68 69 73 20 62 69 6e 64 73 20 4e 20 76 61 6c 75 65 73 20 66 72 6f 6d 20 74 68 65 ....This.binds.N.values.from.the
3eb60 20 6c 69 73 74 20 74 6f 20 61 31 20 2e 2e 2e 20 61 4e 2c 20 74 68 65 6e 20 69 6e 74 65 72 70 72 .list.to.a1.....aN,.then.interpr
3eb80 65 74 73 20 74 68 65 0a 20 20 20 20 20 63 64 72 20 61 73 20 61 20 70 6c 69 73 74 20 28 73 65 65 ets.the......cdr.as.a.plist.(see
3eba0 20 6b 65 79 2f 76 61 6c 75 65 20 6d 61 74 63 68 69 6e 67 20 61 62 6f 76 65 29 2e 0a 0a 20 20 20 .key/value.matching.above)......
3ebc0 20 20 41 20 73 68 6f 72 74 68 61 6e 64 20 6e 6f 74 61 74 69 6f 6e 20 66 6f 72 20 6b 76 2d 64 65 ..A.shorthand.notation.for.kv-de
3ebe0 73 74 72 75 63 74 75 72 69 6e 67 20 65 78 69 73 74 73 20 77 68 69 63 68 20 61 6c 6c 6f 77 73 20 structuring.exists.which.allows.
3ec00 74 68 65 0a 20 20 20 20 20 70 61 74 74 65 72 6e 73 20 62 65 20 6f 70 74 69 6f 6e 61 6c 6c 79 20 the......patterns.be.optionally.
3ec20 6c 65 66 74 20 6f 75 74 20 61 6e 64 20 64 65 72 69 76 65 64 20 66 72 6f 6d 20 74 68 65 20 6b 65 left.out.and.derived.from.the.ke
3ec40 79 20 6e 61 6d 65 20 69 6e 0a 20 20 20 20 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 61 73 y.name.in......the.following.fas
3ec60 68 69 6f 6e 3a 0a 0a 20 20 20 20 20 2d 20 61 20 6b 65 79 20 3a 66 6f 6f 20 69 73 20 63 6f 6e 76 hion:.......-.a.key.:foo.is.conv
3ec80 65 72 74 65 64 20 69 6e 74 6f 20 e2 80 98 66 6f 6f e2 80 99 20 70 61 74 74 65 72 6e 2c 20 2d 20 erted.into....foo....pattern,.-.
3eca0 61 20 6b 65 79 20 e2 80 99 62 61 72 20 69 73 0a 20 20 20 20 20 63 6f 6e 76 65 72 74 65 64 20 69 a.key....bar.is......converted.i
3ecc0 6e 74 6f 20 e2 80 98 62 61 72 e2 80 99 20 70 61 74 74 65 72 6e 2c 20 2d 20 61 20 6b 65 79 20 22 nto....bar....pattern,.-.a.key."
3ece0 62 61 7a 22 20 69 73 20 63 6f 6e 76 65 72 74 65 64 20 69 6e 74 6f 20 e2 80 98 62 61 7a e2 80 99 baz".is.converted.into....baz...
3ed00 0a 20 20 20 20 20 70 61 74 74 65 72 6e 2e 0a 0a 20 20 20 20 20 54 68 61 74 20 69 73 2c 20 74 68 ......pattern........That.is,.th
3ed20 65 20 65 6e 74 69 72 65 20 76 61 6c 75 65 20 75 6e 64 65 72 20 74 68 65 20 6b 65 79 20 69 73 20 e.entire.value.under.the.key.is.
3ed40 62 6f 75 6e 64 20 74 6f 20 74 68 65 20 64 65 72 69 76 65 64 0a 20 20 20 20 20 76 61 72 69 61 62 bound.to.the.derived......variab
3ed60 6c 65 20 77 69 74 68 6f 75 74 20 61 6e 79 20 66 75 72 74 68 65 72 20 64 65 73 74 72 75 63 74 75 le.without.any.further.destructu
3ed80 72 69 6e 67 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 69 73 20 70 6f 73 73 69 62 6c 65 20 6f 6e 6c ring........This.is.possible.onl
3eda0 79 20 77 68 65 6e 20 74 68 65 20 66 6f 72 6d 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 68 65 20 6b 65 y.when.the.form.following.the.ke
3edc0 79 20 69 73 20 6e 6f 74 20 61 0a 20 20 20 20 20 76 61 6c 69 64 20 70 61 74 74 65 72 6e 20 28 69 y.is.not.a......valid.pattern.(i
3ede0 2e 65 2e 20 20 6e 6f 74 20 61 20 73 79 6d 62 6f 6c 2c 20 61 20 63 6f 6e 73 20 63 65 6c 6c 20 6f .e...not.a.symbol,.a.cons.cell.o
3ee00 72 20 61 20 76 65 63 74 6f 72 29 2e 0a 20 20 20 20 20 4f 74 68 65 72 77 69 73 65 20 74 68 65 20 r.a.vector).......Otherwise.the.
3ee20 6d 61 74 63 68 69 6e 67 20 70 72 6f 63 65 65 64 73 20 61 73 20 75 73 75 61 6c 20 61 6e 64 20 69 matching.proceeds.as.usual.and.i
3ee40 6e 20 63 61 73 65 20 6f 66 20 61 6e 20 69 6e 76 61 6c 69 64 0a 20 20 20 20 20 73 70 65 63 20 66 n.case.of.an.invalid......spec.f
3ee60 61 69 6c 73 20 77 69 74 68 20 61 6e 20 65 72 72 6f 72 2e 0a 0a 20 20 20 20 20 54 68 75 73 20 74 ails.with.an.error........Thus.t
3ee80 68 65 20 70 61 74 74 65 72 6e 73 20 61 72 65 20 6e 6f 72 6d 61 6c 69 7a 65 64 20 61 73 20 66 6f he.patterns.are.normalized.as.fo
3eea0 6c 6c 6f 77 73 3a 0a 0a 20 20 20 20 20 3b 3b 20 64 65 72 69 76 65 20 61 6c 6c 20 74 68 65 20 6d llows:.......;;.derive.all.the.m
3eec0 69 73 73 69 6e 67 20 70 61 74 74 65 72 6e 73 20 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 e2 80 99 issing.patterns.(&plist.:foo....
3eee0 62 61 72 20 22 62 61 7a 22 29 20 3d 3e 0a 20 20 20 20 20 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 bar."baz").=>......(&plist.:foo.
3ef00 66 6f 6f 20 e2 80 99 62 61 72 20 62 61 72 20 22 62 61 7a 22 20 62 61 7a 29 0a 0a 20 20 20 20 20 foo....bar.bar."baz".baz).......
3ef20 3b 3b 20 77 65 20 63 61 6e 20 73 70 65 63 69 66 79 20 73 6f 6d 65 20 62 75 74 20 6e 6f 74 20 6f ;;.we.can.specify.some.but.not.o
3ef40 74 68 65 72 73 20 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 e2 80 99 62 61 72 0a 20 20 20 20 20 65 thers.(&plist.:foo....bar......e
3ef60 78 70 6c 69 63 69 74 2d 62 61 72 29 20 3d 3e 20 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 66 6f 6f xplicit-bar).=>.(&plist.:foo.foo
3ef80 20 e2 80 99 62 61 72 20 65 78 70 6c 69 63 69 74 2d 62 61 72 29 0a 0a 20 20 20 20 20 3b 3b 20 6e ....bar.explicit-bar).......;;.n
3efa0 6f 74 68 69 6e 67 20 68 61 70 70 65 6e 73 2c 20 77 65 20 73 74 6f 72 65 20 3a 66 6f 6f 20 69 6e othing.happens,.we.store.:foo.in
3efc0 20 78 20 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 78 29 20 3d 3e 20 28 26 70 6c 69 73 74 0a 20 20 .x.(&plist.:foo.x).=>.(&plist...
3efe0 20 20 20 3a 66 6f 6f 20 78 29 0a 0a 20 20 20 20 20 3b 3b 20 6e 6f 74 68 69 6e 67 20 68 61 70 70 ...:foo.x).......;;.nothing.happ
3f000 65 6e 73 2c 20 77 65 20 6d 61 74 63 68 20 72 65 63 75 72 73 69 76 65 6c 79 20 28 26 70 6c 69 73 ens,.we.match.recursively.(&plis
3f020 74 20 3a 66 6f 6f 20 28 61 20 62 20 63 29 29 20 3d 3e 0a 20 20 20 20 20 28 26 70 6c 69 73 74 20 t.:foo.(a.b.c)).=>......(&plist.
3f040 3a 66 6f 6f 20 28 61 20 62 20 63 29 29 0a 0a 20 20 20 20 20 59 6f 75 20 63 61 6e 20 6e 61 6d 65 :foo.(a.b.c)).......You.can.name
3f060 20 74 68 65 20 73 6f 75 72 63 65 20 75 73 69 6e 67 20 74 68 65 20 73 79 6e 74 61 78 20 53 59 4d .the.source.using.the.syntax.SYM
3f080 42 4f 4c 20 26 61 73 20 50 41 54 54 45 52 4e 2e 20 20 54 68 69 73 0a 20 20 20 20 20 73 79 6e 74 BOL.&as.PATTERN...This......synt
3f0a0 61 78 20 77 6f 72 6b 73 20 77 69 74 68 20 6c 69 73 74 73 20 28 70 72 6f 70 65 72 20 6f 72 20 69 ax.works.with.lists.(proper.or.i
3f0c0 6d 70 72 6f 70 65 72 29 2c 20 76 65 63 74 6f 72 73 20 61 6e 64 20 61 6c 6c 20 74 79 70 65 73 0a mproper),.vectors.and.all.types.
3f0e0 20 20 20 20 20 6f 66 20 6d 61 70 73 2e 0a 0a 20 20 20 20 20 28 6c 69 73 74 20 26 61 73 20 61 20 .....of.maps........(list.&as.a.
3f100 62 20 63 29 20 28 6c 69 73 74 20 31 20 32 20 33 29 0a 0a 20 20 20 20 20 62 69 6e 64 73 20 41 20 b.c).(list.1.2.3).......binds.A.
3f120 74 6f 20 31 2c 20 42 20 74 6f 20 32 2c 20 43 20 74 6f 20 33 20 61 6e 64 20 4c 49 53 54 20 74 6f to.1,.B.to.2,.C.to.3.and.LIST.to
3f140 20 28 31 20 32 20 33 29 2e 0a 0a 20 20 20 20 20 53 69 6d 69 6c 61 72 6c 79 3a 0a 0a 20 20 20 20 .(1.2.3)........Similarly:......
3f160 20 28 62 6f 75 6e 64 73 20 26 61 73 20 62 65 67 20 2e 20 20 65 6e 64 29 20 28 63 6f 6e 73 20 31 .(bounds.&as.beg....end).(cons.1
3f180 20 32 29 0a 0a 20 20 20 20 20 62 69 6e 64 73 20 42 45 47 20 74 6f 20 31 2c 20 45 4e 44 20 74 6f .2).......binds.BEG.to.1,.END.to
3f1a0 20 32 20 61 6e 64 20 42 4f 55 4e 44 53 20 74 6f 20 28 31 20 2e 20 20 32 29 2e 0a 0a 20 20 20 20 .2.and.BOUNDS.to.(1....2).......
3f1c0 20 28 69 74 65 6d 73 20 26 61 73 20 66 69 72 73 74 20 2e 20 20 72 65 73 74 29 20 28 6c 69 73 74 .(items.&as.first....rest).(list
3f1e0 20 31 20 32 20 33 29 0a 0a 20 20 20 20 20 62 69 6e 64 73 20 46 49 52 53 54 20 74 6f 20 31 2c 20 .1.2.3).......binds.FIRST.to.1,.
3f200 52 45 53 54 20 74 6f 20 28 32 20 33 29 20 61 6e 64 20 49 54 45 4d 53 20 74 6f 20 28 31 20 32 20 REST.to.(2.3).and.ITEMS.to.(1.2.
3f220 33 29 0a 0a 20 20 20 20 20 5b 76 65 63 74 20 26 61 73 20 5f 20 62 20 63 5d 20 5b 31 20 32 20 33 3).......[vect.&as._.b.c].[1.2.3
3f240 5d 0a 0a 20 20 20 20 20 62 69 6e 64 73 20 42 20 74 6f 20 32 2c 20 43 20 74 6f 20 33 20 61 6e 64 ].......binds.B.to.2,.C.to.3.and
3f260 20 56 45 43 54 20 74 6f 20 5b 31 20 32 20 33 5d 20 28 5f 20 61 76 6f 69 64 73 20 62 69 6e 64 69 .VECT.to.[1.2.3].(_.avoids.bindi
3f280 6e 67 20 61 73 0a 20 20 20 20 20 75 73 75 61 6c 29 2e 0a 0a 20 20 20 20 20 28 70 6c 69 73 74 20 ng.as......usual)........(plist.
3f2a0 26 61 73 20 26 70 6c 69 73 74 20 3a 62 20 62 29 20 28 6c 69 73 74 20 3a 61 20 31 20 3a 62 20 32 &as.&plist.:b.b).(list.:a.1.:b.2
3f2c0 20 3a 63 20 33 29 0a 0a 20 20 20 20 20 62 69 6e 64 73 20 42 20 74 6f 20 32 20 61 6e 64 20 50 4c .:c.3).......binds.B.to.2.and.PL
3f2e0 49 53 54 20 74 6f 20 28 3a 61 20 31 20 3a 62 20 32 20 3a 63 20 33 29 2e 20 20 53 61 6d 65 20 66 IST.to.(:a.1.:b.2.:c.3)...Same.f
3f300 6f 72 20 26 61 6c 69 73 74 20 61 6e 64 0a 20 20 20 20 20 26 68 61 73 68 2e 0a 0a 20 20 20 20 20 or.&alist.and......&hash........
3f320 54 68 69 73 20 69 73 20 65 73 70 65 63 69 61 6c 6c 79 20 75 73 65 66 75 6c 20 77 68 65 6e 20 77 This.is.especially.useful.when.w
3f340 65 20 77 61 6e 74 20 74 6f 20 63 61 70 74 75 72 65 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 e.want.to.capture.the.result.of.
3f360 61 0a 20 20 20 20 20 63 6f 6d 70 75 74 61 74 69 6f 6e 20 61 6e 64 20 64 65 73 74 72 75 63 74 75 a......computation.and.destructu
3f380 72 65 20 61 74 20 74 68 65 20 73 61 6d 65 20 74 69 6d 65 2e 20 20 43 6f 6e 73 69 64 65 72 20 74 re.at.the.same.time...Consider.t
3f3a0 68 65 20 66 6f 72 6d 0a 20 20 20 20 20 28 66 75 6e 63 74 69 6f 6e 2d 72 65 74 75 72 6e 69 6e 67 he.form......(function-returning
3f3c0 2d 63 6f 6d 70 6c 65 78 2d 73 74 72 75 63 74 75 72 65 29 20 72 65 74 75 72 6e 69 6e 67 20 61 20 -complex-structure).returning.a.
3f3e0 6c 69 73 74 20 6f 66 20 74 77 6f 0a 20 20 20 20 20 76 65 63 74 6f 72 73 20 77 69 74 68 20 74 77 list.of.two......vectors.with.tw
3f400 6f 20 69 74 65 6d 73 20 65 61 63 68 2e 20 20 57 65 20 77 61 6e 74 20 74 6f 20 63 61 70 74 75 72 o.items.each...We.want.to.captur
3f420 65 20 74 68 69 73 20 65 6e 74 69 72 65 20 72 65 73 75 6c 74 0a 20 20 20 20 20 61 6e 64 20 70 61 e.this.entire.result......and.pa
3f440 73 73 20 69 74 20 74 6f 20 61 6e 6f 74 68 65 72 20 63 6f 6d 70 75 74 61 74 69 6f 6e 2c 20 62 75 ss.it.to.another.computation,.bu
3f460 74 20 61 74 20 74 68 65 20 73 61 6d 65 20 74 69 6d 65 20 77 65 20 77 61 6e 74 20 74 6f 0a 20 20 t.at.the.same.time.we.want.to...
3f480 20 20 20 67 65 74 20 74 68 65 20 73 65 63 6f 6e 64 20 69 74 65 6d 20 66 72 6f 6d 20 65 61 63 68 ...get.the.second.item.from.each
3f4a0 20 76 65 63 74 6f 72 2e 20 20 57 65 20 63 61 6e 20 61 63 68 69 65 76 65 20 69 74 20 77 69 74 68 .vector...We.can.achieve.it.with
3f4c0 0a 20 20 20 20 20 70 61 74 74 65 72 6e 0a 0a 20 20 20 20 20 28 72 65 73 75 6c 74 20 26 61 73 20 ......pattern.......(result.&as.
3f4e0 5b 5f 20 61 5d 20 5b 5f 20 62 5d 29 20 28 66 75 6e 63 74 69 6f 6e 2d 72 65 74 75 72 6e 69 6e 67 [_.a].[_.b]).(function-returning
3f500 2d 63 6f 6d 70 6c 65 78 2d 73 74 72 75 63 74 75 72 65 29 0a 0a 20 20 20 20 20 4e 6f 74 65 3a 20 -complex-structure).......Note:.
3f520 43 6c 6f 6a 75 72 65 20 70 72 6f 67 72 61 6d 6d 65 72 73 20 6d 61 79 20 6b 6e 6f 77 20 74 68 69 Clojure.programmers.may.know.thi
3f540 73 20 66 65 61 74 75 72 65 20 61 73 20 74 68 65 20 22 3a 61 73 0a 20 20 20 20 20 62 69 6e 64 69 s.feature.as.the.":as......bindi
3f560 6e 67 22 2e 20 20 54 68 65 20 64 69 66 66 65 72 65 6e 63 65 20 69 73 20 74 68 61 74 20 77 65 20 ng"...The.difference.is.that.we.
3f580 70 75 74 20 74 68 65 20 26 61 73 20 61 74 20 74 68 65 20 66 72 6f 6e 74 0a 20 20 20 20 20 62 65 put.the.&as.at.the.front......be
3f5a0 63 61 75 73 65 20 77 65 20 6e 65 65 64 20 74 6f 20 73 75 70 70 6f 72 74 20 69 6d 70 72 6f 70 65 cause.we.need.to.support.imprope
3f5c0 72 20 6c 69 73 74 20 62 69 6e 64 69 6e 67 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6c 65 74 r.list.binding.............(-let
3f5e0 20 28 28 5b 61 20 28 62 20 63 29 20 64 5d 20 5b 31 20 28 32 20 33 29 20 34 5d 29 29 20 28 6c 69 .(([a.(b.c).d].[1.(2.3).4])).(li
3f600 73 74 20 61 20 62 20 63 20 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 st.a.b.c.d))...................(
3f620 31 20 32 20 33 20 34 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6c 65 74 20 5b 28 61 20 62 20 63 1.2.3.4)...........(-let.[(a.b.c
3f640 20 2e 20 64 29 20 28 6c 69 73 74 20 31 20 32 20 33 20 34 20 35 20 36 29 5d 20 28 6c 69 73 74 20 ...d).(list.1.2.3.4.5.6)].(list.
3f660 61 20 62 20 63 20 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 a.b.c.d))...................(1.2
3f680 20 33 20 28 34 20 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6c 65 74 20 5b 28 26 70 .3.(4.5.6))...........(-let.[(&p
3f6a0 6c 69 73 74 20 3a 66 6f 6f 20 66 6f 6f 20 3a 62 61 72 20 62 61 72 29 20 28 6c 69 73 74 20 3a 62 list.:foo.foo.:bar.bar).(list.:b
3f6c0 61 7a 20 33 20 3a 66 6f 6f 20 31 20 3a 71 75 78 20 34 20 3a 62 61 72 20 32 29 5d 20 28 6c 69 73 az.3.:foo.1.:qux.4.:bar.2)].(lis
3f6e0 74 20 66 6f 6f 20 62 61 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 t.foo.bar))...................(1
3f700 20 32 29 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 2d 6c 65 74 2a 20 28 76 61 72 6c 69 73 74 20 26 .2)...--.Macro:.-let*.(varlist.&
3f720 72 65 73 74 20 62 6f 64 79 29 0a 20 20 20 20 20 42 69 6e 64 20 76 61 72 69 61 62 6c 65 73 20 61 rest.body)......Bind.variables.a
3f740 63 63 6f 72 64 69 6e 67 20 74 6f 20 56 41 52 4c 49 53 54 20 74 68 65 6e 20 65 76 61 6c 20 42 4f ccording.to.VARLIST.then.eval.BO
3f760 44 59 2e 0a 0a 20 20 20 20 20 56 41 52 4c 49 53 54 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 6c DY........VARLIST.is.a.list.of.l
3f780 69 73 74 73 20 6f 66 20 74 68 65 20 66 6f 72 6d 20 28 50 41 54 54 45 52 4e 20 53 4f 55 52 43 45 ists.of.the.form.(PATTERN.SOURCE
3f7a0 29 2e 20 20 45 61 63 68 0a 20 20 20 20 20 50 41 54 54 45 52 4e 20 69 73 20 6d 61 74 63 68 65 64 )...Each......PATTERN.is.matched
3f7c0 20 61 67 61 69 6e 73 74 20 74 68 65 20 53 4f 55 52 43 45 20 73 74 72 75 63 74 75 72 61 6c 6c 79 .against.the.SOURCE.structurally
3f7e0 2e 20 20 53 4f 55 52 43 45 20 69 73 20 6f 6e 6c 79 0a 20 20 20 20 20 65 76 61 6c 75 61 74 65 64 ...SOURCE.is.only......evaluated
3f800 20 6f 6e 63 65 20 66 6f 72 20 65 61 63 68 20 50 41 54 54 45 52 4e 2e 0a 0a 20 20 20 20 20 45 61 .once.for.each.PATTERN........Ea
3f820 63 68 20 53 4f 55 52 43 45 20 63 61 6e 20 72 65 66 65 72 20 74 6f 20 74 68 65 20 73 79 6d 62 6f ch.SOURCE.can.refer.to.the.symbo
3f840 6c 73 20 61 6c 72 65 61 64 79 20 62 6f 75 6e 64 20 62 79 20 74 68 69 73 20 56 41 52 4c 49 53 54 ls.already.bound.by.this.VARLIST
3f860 2e 0a 20 20 20 20 20 54 68 69 73 20 69 73 20 75 73 65 66 75 6c 20 69 66 20 79 6f 75 20 77 61 6e .......This.is.useful.if.you.wan
3f880 74 20 74 6f 20 64 65 73 74 72 75 63 74 75 72 65 20 53 4f 55 52 43 45 20 72 65 63 75 72 73 69 76 t.to.destructure.SOURCE.recursiv
3f8a0 65 6c 79 20 62 75 74 0a 20 20 20 20 20 61 6c 73 6f 20 77 61 6e 74 20 74 6f 20 6e 61 6d 65 20 74 ely.but......also.want.to.name.t
3f8c0 68 65 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 73 74 72 75 63 74 75 72 65 73 2e 0a 0a 20 20 20 he.intermediate.structures......
3f8e0 20 20 53 65 65 20 e2 80 98 2d 6c 65 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 6c 65 74 3a 3a 29 20 ..See....-let....(*note.-let::).
3f900 66 6f 72 20 74 68 65 20 6c 69 73 74 20 6f 66 20 61 6c 6c 20 70 6f 73 73 69 62 6c 65 20 70 61 74 for.the.list.of.all.possible.pat
3f920 74 65 72 6e 73 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6c 65 74 2a 20 28 28 28 61 20 2e 20 terns.............(-let*.(((a...
3f940 62 29 20 28 63 6f 6e 73 20 31 20 32 29 29 20 28 28 63 20 2e 20 64 29 20 28 63 6f 6e 73 20 33 20 b).(cons.1.2)).((c...d).(cons.3.
3f960 34 29 29 29 20 28 6c 69 73 74 20 61 20 62 20 63 20 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 4))).(list.a.b.c.d))............
3f980 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 34 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6c 65 74 .......(1.2.3.4)...........(-let
3f9a0 2a 20 28 28 28 61 20 2e 20 62 29 20 28 63 6f 6e 73 20 31 20 28 63 6f 6e 73 20 32 20 33 29 29 29 *.(((a...b).(cons.1.(cons.2.3)))
3f9c0 20 28 28 63 20 2e 20 64 29 20 62 29 29 20 28 6c 69 73 74 20 61 20 62 20 63 20 64 29 29 0a 20 20 .((c...d).b)).(list.a.b.c.d))...
3f9e0 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 28 32 20 2e 20 33 29 20 32 20 33 29 0a ................(1.(2...3).2.3).
3fa00 20 20 20 20 20 20 20 20 20 20 28 2d 6c 65 74 2a 20 28 28 28 26 61 6c 69 73 74 20 22 66 6f 6f 22 ..........(-let*.(((&alist."foo"
3fa20 20 66 6f 6f 20 22 62 61 72 22 20 62 61 72 29 20 28 6c 69 73 74 20 28 63 6f 6e 73 20 22 66 6f 6f .foo."bar".bar).(list.(cons."foo
3fa40 22 20 31 29 20 28 63 6f 6e 73 20 22 62 61 72 22 20 28 6c 69 73 74 20 27 61 20 27 62 20 27 63 29 ".1).(cons."bar".(list.'a.'b.'c)
3fa60 29 29 29 20 28 28 61 20 62 20 63 29 20 62 61 72 29 29 20 28 6c 69 73 74 20 66 6f 6f 20 61 20 62 ))).((a.b.c).bar)).(list.foo.a.b
3fa80 20 63 20 62 61 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 61 20 .c.bar))...................(1.a.
3faa0 62 20 63 20 28 61 20 62 20 63 29 29 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 2d 6c 61 6d 62 64 61 b.c.(a.b.c))...--.Macro:.-lambda
3fac0 20 28 6d 61 74 63 68 2d 66 6f 72 6d 20 26 72 65 73 74 20 62 6f 64 79 29 0a 20 20 20 20 20 52 65 .(match-form.&rest.body)......Re
3fae0 74 75 72 6e 20 61 20 6c 61 6d 62 64 61 20 77 68 69 63 68 20 64 65 73 74 72 75 63 74 75 72 65 73 turn.a.lambda.which.destructures
3fb00 20 69 74 73 20 69 6e 70 75 74 20 61 73 20 4d 41 54 43 48 2d 46 4f 52 4d 20 61 6e 64 0a 20 20 20 .its.input.as.MATCH-FORM.and....
3fb20 20 20 65 78 65 63 75 74 65 73 20 42 4f 44 59 2e 0a 0a 20 20 20 20 20 4e 6f 74 65 20 74 68 61 74 ..executes.BODY........Note.that
3fb40 20 79 6f 75 20 68 61 76 65 20 74 6f 20 65 6e 63 6c 6f 73 65 20 74 68 65 20 4d 41 54 43 48 2d 46 .you.have.to.enclose.the.MATCH-F
3fb60 4f 52 4d 20 69 6e 20 61 20 70 61 69 72 20 6f 66 20 70 61 72 65 6e 73 2c 0a 20 20 20 20 20 73 75 ORM.in.a.pair.of.parens,......su
3fb80 63 68 20 74 68 61 74 3a 0a 0a 20 20 20 20 20 28 2d 6c 61 6d 62 64 61 20 28 78 29 20 62 6f 64 79 ch.that:.......(-lambda.(x).body
3fba0 29 20 28 2d 6c 61 6d 62 64 61 20 28 78 20 79 20 2e 2e 2e 29 20 62 6f 64 79 29 0a 0a 20 20 20 20 ).(-lambda.(x.y....).body)......
3fbc0 20 68 61 73 20 74 68 65 20 75 73 75 61 6c 20 73 65 6d 61 6e 74 69 63 73 20 6f 66 20 e2 80 98 6c .has.the.usual.semantics.of....l
3fbe0 61 6d 62 64 61 e2 80 99 2e 20 20 46 75 72 74 68 65 72 6d 6f 72 65 2c 20 74 68 65 73 65 20 67 65 ambda......Furthermore,.these.ge
3fc00 74 0a 20 20 20 20 20 74 72 61 6e 73 6c 61 74 65 64 20 69 6e 74 6f 20 6e 6f 72 6d 61 6c 20 e2 80 t......translated.into.normal...
3fc20 98 6c 61 6d 62 64 61 e2 80 99 2c 20 73 6f 20 74 68 65 72 65 20 69 73 20 6e 6f 20 70 65 72 66 6f .lambda...,.so.there.is.no.perfo
3fc40 72 6d 61 6e 63 65 0a 20 20 20 20 20 70 65 6e 61 6c 74 79 2e 0a 0a 20 20 20 20 20 53 65 65 20 e2 rmance......penalty........See..
3fc60 80 98 2d 6c 65 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 6c 65 74 3a 3a 29 20 66 6f 72 20 61 20 64 ..-let....(*note.-let::).for.a.d
3fc80 65 73 63 72 69 70 74 69 6f 6e 20 6f 66 20 74 68 65 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 0a escription.of.the.destructuring.
3fca0 20 20 20 20 20 6d 65 63 68 61 6e 69 73 6d 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6d 61 70 .....mechanism.............(-map
3fcc0 20 28 2d 6c 61 6d 62 64 61 20 28 28 78 20 79 29 29 20 28 2b 20 78 20 79 29 29 20 27 28 28 31 20 .(-lambda.((x.y)).(+.x.y)).'((1.
3fce0 32 29 20 28 33 20 34 29 20 28 35 20 36 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 2).(3.4).(5.6)))................
3fd00 87 92 20 28 33 20 37 20 31 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6d 61 70 20 28 2d 6c 61 ...(3.7.11)...........(-map.(-la
3fd20 6d 62 64 61 20 28 5b 78 20 79 5d 29 20 28 2b 20 78 20 79 29 29 20 27 28 5b 31 20 32 5d 20 5b 33 mbda.([x.y]).(+.x.y)).'([1.2].[3
3fd40 20 34 5d 20 5b 35 20 36 5d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 33 .4].[5.6]))...................(3
3fd60 20 37 20 31 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 6c 61 6d 62 .7.11)...........(funcall.(-lamb
3fd80 64 61 20 28 28 5f 20 2e 20 61 29 20 28 5f 20 2e 20 62 29 29 20 28 2d 63 6f 6e 63 61 74 20 61 20 da.((_...a).(_...b)).(-concat.a.
3fda0 62 29 29 20 27 28 31 20 32 20 33 29 20 27 28 34 20 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 b)).'(1.2.3).'(4.5.6))..........
3fdc0 20 20 20 20 20 e2 87 92 20 28 32 20 33 20 35 20 36 29 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 2d .........(2.3.5.6)...--.Macro:.-
3fde0 73 65 74 71 20 28 5b 6d 61 74 63 68 2d 66 6f 72 6d 20 76 61 6c 5d 20 2e 2e 2e 29 0a 20 20 20 20 setq.([match-form.val]....).....
3fe00 20 42 69 6e 64 20 65 61 63 68 20 4d 41 54 43 48 2d 46 4f 52 4d 20 74 6f 20 74 68 65 20 76 61 6c .Bind.each.MATCH-FORM.to.the.val
3fe20 75 65 20 6f 66 20 69 74 73 20 56 41 4c 2e 0a 0a 20 20 20 20 20 4d 41 54 43 48 2d 46 4f 52 4d 20 ue.of.its.VAL........MATCH-FORM.
3fe40 64 65 73 74 72 75 63 74 75 72 69 6e 67 20 69 73 20 64 6f 6e 65 20 61 63 63 6f 72 64 69 6e 67 20 destructuring.is.done.according.
3fe60 74 6f 20 74 68 65 20 72 75 6c 65 73 20 6f 66 20 e2 80 98 2d 6c 65 74 e2 80 99 0a 20 20 20 20 20 to.the.rules.of....-let.........
3fe80 28 2a 6e 6f 74 65 20 2d 6c 65 74 3a 3a 29 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 6d 61 63 72 6f (*note.-let::)........This.macro
3fea0 20 61 6c 6c 6f 77 73 20 79 6f 75 20 74 6f 20 62 69 6e 64 20 6d 75 6c 74 69 70 6c 65 20 76 61 72 .allows.you.to.bind.multiple.var
3fec0 69 61 62 6c 65 73 20 62 79 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 0a 20 20 20 20 20 74 68 65 iables.by.destructuring......the
3fee0 20 76 61 6c 75 65 2c 20 73 6f 20 66 6f 72 20 65 78 61 6d 70 6c 65 3a 0a 0a 20 20 20 20 20 28 2d .value,.so.for.example:.......(-
3ff00 73 65 74 71 20 28 61 20 62 29 20 78 20 28 26 70 6c 69 73 74 20 3a 63 20 63 29 20 70 6c 69 73 74 setq.(a.b).x.(&plist.:c.c).plist
3ff20 29 0a 0a 20 20 20 20 20 65 78 70 61 6e 64 73 20 72 6f 75 67 68 6c 79 20 73 70 65 61 6b 69 6e 67 ).......expands.roughly.speaking
3ff40 20 74 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 64 65 0a 0a 20 20 20 20 20 28 73 65 .to.the.following.code.......(se
3ff60 74 71 20 61 20 28 63 61 72 20 78 29 20 62 20 28 63 61 64 72 20 78 29 20 63 20 28 70 6c 69 73 74 tq.a.(car.x).b.(cadr.x).c.(plist
3ff80 2d 67 65 74 20 70 6c 69 73 74 20 3a 63 29 29 0a 0a 20 20 20 20 20 43 61 72 65 20 69 73 20 74 61 -get.plist.:c)).......Care.is.ta
3ffa0 6b 65 6e 20 74 6f 20 6f 6e 6c 79 20 65 76 61 6c 75 61 74 65 20 65 61 63 68 20 56 41 4c 20 6f 6e ken.to.only.evaluate.each.VAL.on
3ffc0 63 65 20 73 6f 20 74 68 61 74 20 69 6e 20 63 61 73 65 20 6f 66 0a 20 20 20 20 20 6d 75 6c 74 69 ce.so.that.in.case.of......multi
3ffe0 70 6c 65 20 61 73 73 69 67 6e 6d 65 6e 74 73 20 69 74 20 64 6f 65 73 20 6e 6f 74 20 63 61 75 73 ple.assignments.it.does.not.caus
40000 65 20 75 6e 65 78 70 65 63 74 65 64 20 73 69 64 65 20 65 66 66 65 63 74 73 2e 0a 0a 20 20 20 20 e.unexpected.side.effects.......
40020 20 20 20 20 20 20 28 6c 65 74 20 28 61 29 20 28 2d 73 65 74 71 20 61 20 31 29 20 61 29 0a 20 20 ......(let.(a).(-setq.a.1).a)...
40040 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 31 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 ................1...........(let
40060 20 28 61 20 62 29 20 28 2d 73 65 74 71 20 28 61 20 62 29 20 28 6c 69 73 74 20 31 20 32 29 29 20 .(a.b).(-setq.(a.b).(list.1.2)).
40080 28 6c 69 73 74 20 61 20 62 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 (list.a.b))...................(1
400a0 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 63 29 20 28 2d 73 65 74 71 20 28 26 .2)...........(let.(c).(-setq.(&
400c0 70 6c 69 73 74 20 3a 63 20 63 29 20 28 6c 69 73 74 20 3a 63 20 22 63 22 29 29 20 63 29 0a 20 20 plist.:c.c).(list.:c."c")).c)...
400e0 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 22 63 22 0a 0a 1f 0a 46 69 6c 65 3a 20 64 61 73 ................"c"....File:.das
40100 68 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 53 69 64 65 20 65 66 66 65 63 74 73 2c 20 20 4e 65 h.info,..Node:.Side.effects,..Ne
40120 78 74 3a 20 44 65 73 74 72 75 63 74 69 76 65 20 6f 70 65 72 61 74 69 6f 6e 73 2c 20 20 50 72 65 xt:.Destructive.operations,..Pre
40140 76 3a 20 42 69 6e 64 69 6e 67 2c 20 20 55 70 3a 20 46 75 6e 63 74 69 6f 6e 73 0a 0a 32 2e 31 34 v:.Binding,..Up:.Functions..2.14
40160 20 53 69 64 65 20 65 66 66 65 63 74 73 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a .Side.effects.=================.
40180 0a 46 75 6e 63 74 69 6f 6e 73 20 69 74 65 72 61 74 69 6e 67 20 6f 76 65 72 20 6c 69 73 74 73 20 .Functions.iterating.over.lists.
401a0 66 6f 72 20 73 69 64 65 20 65 66 66 65 63 74 20 6f 6e 6c 79 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 for.side.effect.only....--.Funct
401c0 69 6f 6e 3a 20 2d 65 61 63 68 20 28 6c 69 73 74 20 66 6e 29 0a 20 20 20 20 20 43 61 6c 6c 20 46 ion:.-each.(list.fn)......Call.F
401e0 4e 20 6f 6e 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 2e 20 20 52 65 74 75 N.on.each.element.of.LIST...Retu
40200 72 6e 20 6e 69 6c 3b 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 0a 20 20 20 20 20 69 6e rn.nil;.this.function.is......in
40220 74 65 6e 64 65 64 20 66 6f 72 20 73 69 64 65 20 65 66 66 65 63 74 73 2e 0a 0a 20 20 20 20 20 49 tended.for.side.effects........I
40240 74 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 2d ts.anaphoric.counterpart.is....-
40260 2d 65 61 63 68 e2 80 99 2e 0a 0a 20 20 20 20 20 46 6f 72 20 61 63 63 65 73 73 20 74 6f 20 74 68 -each...........For.access.to.th
40280 65 20 63 75 72 72 65 6e 74 20 65 6c 65 6d 65 6e 74 e2 80 99 73 20 69 6e 64 65 78 20 69 6e 20 4c e.current.element...s.index.in.L
402a0 49 53 54 2c 20 73 65 65 0a 20 20 20 20 20 e2 80 98 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 e2 80 IST,.see.........-each-indexed..
402c0 99 20 28 2a 6e 6f 74 65 20 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 3a 3a 29 2e 0a 0a 20 20 20 20 ..(*note.-each-indexed::).......
402e0 20 20 20 20 20 20 28 6c 65 74 20 28 6c 29 20 28 2d 65 61 63 68 20 27 28 31 20 32 20 33 29 20 28 ......(let.(l).(-each.'(1.2.3).(
40300 6c 61 6d 62 64 61 20 28 78 29 20 28 70 75 73 68 20 78 20 6c 29 29 29 20 6c 29 0a 20 20 20 20 20 lambda.(x).(push.x.l))).l)......
40320 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 33 20 32 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 .............(3.2.1)...........(
40340 6c 65 74 20 28 6c 29 20 28 2d 2d 65 61 63 68 20 27 28 31 20 32 20 33 29 20 28 70 75 73 68 20 69 let.(l).(--each.'(1.2.3).(push.i
40360 74 20 6c 29 29 20 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 33 20 32 20 t.l)).l)...................(3.2.
40380 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 65 61 63 68 20 27 28 31 20 32 20 33 29 20 23 27 69 1)...........(-each.'(1.2.3).#'i
403a0 64 65 6e 74 69 74 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 0a dentity)...................nil..
403c0 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 65 61 63 68 2d 77 68 69 6c 65 20 28 6c 69 73 74 20 .--.Function:.-each-while.(list.
403e0 70 72 65 64 20 66 6e 29 0a 20 20 20 20 20 43 61 6c 6c 20 46 4e 20 6f 6e 20 65 61 63 68 20 49 54 pred.fn)......Call.FN.on.each.IT
40400 45 4d 20 69 6e 20 4c 49 53 54 2c 20 77 68 69 6c 65 20 28 50 52 45 44 20 49 54 45 4d 29 20 69 73 EM.in.LIST,.while.(PRED.ITEM).is
40420 20 6e 6f 6e 2d 6e 69 6c 2e 20 20 4f 6e 63 65 0a 20 20 20 20 20 61 6e 20 49 54 45 4d 20 69 73 20 .non-nil...Once......an.ITEM.is.
40440 72 65 61 63 68 65 64 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 44 20 72 65 74 75 72 6e 73 20 6e reached.for.which.PRED.returns.n
40460 69 6c 2c 20 46 4e 20 69 73 20 6e 6f 20 6c 6f 6e 67 65 72 0a 20 20 20 20 20 63 61 6c 6c 65 64 2e il,.FN.is.no.longer......called.
40480 20 20 52 65 74 75 72 6e 20 6e 69 6c 3b 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 69 ..Return.nil;.this.function.is.i
404a0 6e 74 65 6e 64 65 64 20 66 6f 72 20 73 69 64 65 20 65 66 66 65 63 74 73 2e 0a 0a 20 20 20 20 20 ntended.for.side.effects........
404c0 49 74 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 Its.anaphoric.counterpart.is....
404e0 2d 2d 65 61 63 68 2d 77 68 69 6c 65 e2 80 99 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 --each-while................(let
40500 20 28 6c 29 20 28 2d 65 61 63 68 2d 77 68 69 6c 65 20 27 28 32 20 34 20 35 20 36 29 20 23 27 65 .(l).(-each-while.'(2.4.5.6).#'e
40520 76 65 6e 3f 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 70 75 73 68 20 78 20 6c 29 29 29 20 6c 29 ven?.(lambda.(x).(push.x.l))).l)
40540 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 34 20 32 29 0a 20 20 20 20 20 20 20 ...................(4.2)........
40560 20 20 20 28 6c 65 74 20 28 6c 29 20 28 2d 2d 65 61 63 68 2d 77 68 69 6c 65 20 27 28 31 20 32 20 ...(let.(l).(--each-while.'(1.2.
40580 33 20 34 29 20 28 3c 20 69 74 20 33 29 20 28 70 75 73 68 20 69 74 20 6c 29 29 20 6c 29 0a 20 20 3.4).(<.it.3).(push.it.l)).l)...
405a0 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 32 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 ................(2.1)...........
405c0 28 6c 65 74 20 28 28 73 20 30 29 29 20 28 2d 2d 65 61 63 68 2d 77 68 69 6c 65 20 27 28 31 20 33 (let.((s.0)).(--each-while.'(1.3
405e0 20 34 20 35 29 20 28 3c 20 69 74 20 35 29 20 28 73 65 74 71 20 73 20 28 2b 20 73 20 69 74 29 29 .4.5).(<.it.5).(setq.s.(+.s.it))
40600 29 20 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 38 0a 0a 20 2d 2d 20 46 75 ).s)...................8...--.Fu
40620 6e 63 74 69 6f 6e 3a 20 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 20 28 6c 69 73 74 20 66 6e 29 0a nction:.-each-indexed.(list.fn).
40640 20 20 20 20 20 43 61 6c 6c 20 46 4e 20 6f 6e 20 65 61 63 68 20 69 6e 64 65 78 20 61 6e 64 20 65 .....Call.FN.on.each.index.and.e
40660 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 2e 20 20 46 6f 72 20 65 61 63 68 20 49 54 45 4d 20 61 lement.of.LIST...For.each.ITEM.a
40680 74 20 49 4e 44 45 58 0a 20 20 20 20 20 69 6e 20 4c 49 53 54 2c 20 63 61 6c 6c 20 28 66 75 6e 63 t.INDEX......in.LIST,.call.(func
406a0 61 6c 6c 20 46 4e 20 49 4e 44 45 58 20 49 54 45 4d 29 2e 20 20 52 65 74 75 72 6e 20 6e 69 6c 3b all.FN.INDEX.ITEM)...Return.nil;
406c0 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 69 73 20 69 6e 74 65 6e 64 65 64 20 .this.function......is.intended.
406e0 66 6f 72 20 73 69 64 65 20 65 66 66 65 63 74 73 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f for.side.effects........See.also
40700 3a 20 e2 80 98 2d 6d 61 70 2d 69 6e 64 65 78 65 64 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 6d 61 70 :....-map-indexed....(*note.-map
40720 2d 69 6e 64 65 78 65 64 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 6c 29 -indexed::).............(let.(l)
40740 20 28 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 20 27 28 61 20 62 20 63 29 20 28 6c 61 6d 62 64 61 .(-each-indexed.'(a.b.c).(lambda
40760 20 28 69 20 78 29 20 28 70 75 73 68 20 28 6c 69 73 74 20 78 20 69 29 20 6c 29 29 29 20 6c 29 0a .(i.x).(push.(list.x.i).l))).l).
40780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 63 20 32 29 20 28 62 20 31 29 20 28 ..................((c.2).(b.1).(
407a0 61 20 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 6c 29 20 28 2d 2d 65 61 63 68 a.0))...........(let.(l).(--each
407c0 2d 69 6e 64 65 78 65 64 20 27 28 61 20 62 20 63 29 20 28 70 75 73 68 20 28 6c 69 73 74 20 69 74 -indexed.'(a.b.c).(push.(list.it
407e0 20 69 74 2d 69 6e 64 65 78 29 20 6c 29 29 20 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .it-index).l)).l)...............
40800 e2 87 92 20 28 28 63 20 32 29 20 28 62 20 31 29 20 28 61 20 30 29 29 0a 20 20 20 20 20 20 20 20 ....((c.2).(b.1).(a.0)).........
40820 20 20 28 6c 65 74 20 28 6c 29 20 28 2d 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 20 28 29 20 28 70 ..(let.(l).(--each-indexed.().(p
40840 75 73 68 20 69 74 20 6c 29 29 20 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 ush.it.l)).l)...................
40860 28 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 65 61 63 68 2d 72 20 28 6c 69 73 74 20 ()...--.Function:.-each-r.(list.
40880 66 6e 29 0a 20 20 20 20 20 43 61 6c 6c 20 46 4e 20 6f 6e 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 fn)......Call.FN.on.each.element
408a0 20 6f 66 20 4c 49 53 54 20 69 6e 20 72 65 76 65 72 73 65 64 20 6f 72 64 65 72 2e 20 20 52 65 74 .of.LIST.in.reversed.order...Ret
408c0 75 72 6e 20 6e 69 6c 3b 0a 20 20 20 20 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 69 urn.nil;......this.function.is.i
408e0 6e 74 65 6e 64 65 64 20 66 6f 72 20 73 69 64 65 20 65 66 66 65 63 74 73 2e 0a 0a 20 20 20 20 20 ntended.for.side.effects........
40900 49 74 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 Its.anaphoric.counterpart.is....
40920 2d 2d 65 61 63 68 2d 72 e2 80 99 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 6c 29 --each-r................(let.(l)
40940 20 28 2d 65 61 63 68 2d 72 20 27 28 31 20 32 20 33 29 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 .(-each-r.'(1.2.3).(lambda.(x).(
40960 70 75 73 68 20 78 20 6c 29 29 29 20 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 push.x.l))).l)..................
40980 20 28 31 20 32 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 6c 29 20 28 2d 2d 65 .(1.2.3)...........(let.(l).(--e
409a0 61 63 68 2d 72 20 27 28 31 20 32 20 33 29 20 28 70 75 73 68 20 69 74 20 6c 29 29 20 6c 29 0a 20 ach-r.'(1.2.3).(push.it.l)).l)..
409c0 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 29 0a 20 20 20 20 20 20 20 .................(1.2.3)........
409e0 20 20 20 28 2d 65 61 63 68 2d 72 20 27 28 31 20 32 20 33 29 20 23 27 69 64 65 6e 74 69 74 79 29 ...(-each-r.'(1.2.3).#'identity)
40a00 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 0a 20 2d 2d 20 46 75 6e 63 ...................nil...--.Func
40a20 74 69 6f 6e 3a 20 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 20 28 6c 69 73 74 20 70 72 65 64 20 66 tion:.-each-r-while.(list.pred.f
40a40 6e 29 0a 20 20 20 20 20 43 61 6c 6c 20 46 4e 20 6f 6e 20 65 61 63 68 20 49 54 45 4d 20 69 6e 20 n)......Call.FN.on.each.ITEM.in.
40a60 72 65 76 65 72 73 65 64 20 4c 49 53 54 2c 20 77 68 69 6c 65 20 28 50 52 45 44 20 49 54 45 4d 29 reversed.LIST,.while.(PRED.ITEM)
40a80 20 69 73 0a 20 20 20 20 20 6e 6f 6e 2d 6e 69 6c 2e 20 20 4f 6e 63 65 20 61 6e 20 49 54 45 4d 20 .is......non-nil...Once.an.ITEM.
40aa0 69 73 20 72 65 61 63 68 65 64 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 44 20 72 65 74 75 72 6e is.reached.for.which.PRED.return
40ac0 73 20 6e 69 6c 2c 20 46 4e 20 69 73 0a 20 20 20 20 20 6e 6f 20 6c 6f 6e 67 65 72 20 63 61 6c 6c s.nil,.FN.is......no.longer.call
40ae0 65 64 2e 20 20 52 65 74 75 72 6e 20 6e 69 6c 3b 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 ed...Return.nil;.this.function.i
40b00 73 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 20 73 69 64 65 0a 20 20 20 20 20 65 66 66 65 63 74 73 s.intended.for.side......effects
40b20 2e 0a 0a 20 20 20 20 20 49 74 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 ........Its.anaphoric.counterpar
40b40 74 20 69 73 20 e2 80 98 2d 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 e2 80 99 2e 0a 0a 20 20 20 20 t.is....--each-r-while..........
40b60 20 20 20 20 20 20 28 6c 65 74 20 28 6c 29 20 28 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 20 27 28 ......(let.(l).(-each-r-while.'(
40b80 32 20 34 20 35 20 36 29 20 23 27 65 76 65 6e 3f 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 70 75 2.4.5.6).#'even?.(lambda.(x).(pu
40ba0 73 68 20 78 20 6c 29 29 29 20 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 sh.x.l))).l)...................(
40bc0 36 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 6c 29 20 28 2d 2d 65 61 63 68 2d 72 2d 6)...........(let.(l).(--each-r-
40be0 77 68 69 6c 65 20 27 28 31 20 32 20 33 20 34 29 20 28 3e 3d 20 69 74 20 33 29 20 28 70 75 73 68 while.'(1.2.3.4).(>=.it.3).(push
40c00 20 69 74 20 6c 29 29 20 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 33 20 .it.l)).l)...................(3.
40c20 34 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 73 20 30 29 29 20 28 2d 2d 65 61 63 4)...........(let.((s.0)).(--eac
40c40 68 2d 72 2d 77 68 69 6c 65 20 27 28 31 20 32 20 33 20 35 29 20 28 3e 20 69 74 20 31 29 20 28 73 h-r-while.'(1.2.3.5).(>.it.1).(s
40c60 65 74 71 20 73 20 28 2b 20 73 20 69 74 29 29 29 20 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 etq.s.(+.s.it))).s).............
40c80 20 20 e2 87 92 20 31 30 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 64 6f 74 69 6d 65 73 ......10...--.Function:.-dotimes
40ca0 20 28 6e 75 6d 20 66 6e 29 0a 20 20 20 20 20 43 61 6c 6c 20 46 4e 20 4e 55 4d 20 74 69 6d 65 73 .(num.fn)......Call.FN.NUM.times
40cc0 2c 20 70 72 65 73 75 6d 61 62 6c 79 20 66 6f 72 20 73 69 64 65 20 65 66 66 65 63 74 73 2e 20 20 ,.presumably.for.side.effects...
40ce0 46 4e 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 0a 20 20 20 20 20 61 20 73 69 6e 67 6c 65 20 FN.is.called.with......a.single.
40d00 61 72 67 75 6d 65 6e 74 20 6f 6e 20 73 75 63 63 65 73 73 69 76 65 20 69 6e 74 65 67 65 72 73 20 argument.on.successive.integers.
40d20 72 75 6e 6e 69 6e 67 20 66 72 6f 6d 20 30 2c 20 69 6e 63 6c 75 73 69 76 65 2c 0a 20 20 20 20 20 running.from.0,.inclusive,......
40d40 74 6f 20 4e 55 4d 2c 20 65 78 63 6c 75 73 69 76 65 2e 20 20 46 4e 20 69 73 20 6e 6f 74 20 63 61 to.NUM,.exclusive...FN.is.not.ca
40d60 6c 6c 65 64 20 69 66 20 4e 55 4d 20 69 73 20 6c 65 73 73 20 74 68 61 6e 20 31 2e 0a 0a 20 20 20 lled.if.NUM.is.less.than.1......
40d80 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e e2 80 99 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f ..This.function...s.anaphoric.co
40da0 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 2d 2d 64 6f 74 69 6d 65 73 e2 80 99 2e 0a 0a 20 unterpart.is....--dotimes.......
40dc0 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 73 29 20 28 2d 64 6f 74 69 6d 65 73 20 33 20 28 6c .........(let.(s).(-dotimes.3.(l
40de0 61 6d 62 64 61 20 28 6e 29 20 28 70 75 73 68 20 6e 20 73 29 29 29 20 73 29 0a 20 20 20 20 20 20 ambda.(n).(push.n.s))).s).......
40e00 20 20 20 20 20 20 20 20 e2 87 92 20 28 32 20 31 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c ............(2.1.0)...........(l
40e20 65 74 20 28 73 29 20 28 2d 64 6f 74 69 6d 65 73 20 30 20 28 6c 61 6d 62 64 61 20 28 6e 29 20 28 et.(s).(-dotimes.0.(lambda.(n).(
40e40 70 75 73 68 20 6e 20 73 29 29 29 20 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 push.n.s))).s)..................
40e60 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 73 29 20 28 2d 2d 64 6f 74 69 6d 65 .()...........(let.(s).(--dotime
40e80 73 20 35 20 28 70 75 73 68 20 69 74 20 73 29 29 20 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 s.5.(push.it.s)).s).............
40ea0 20 20 e2 87 92 20 28 34 20 33 20 32 20 31 20 30 29 0a 0a 1f 0a 46 69 6c 65 3a 20 64 61 73 68 2e ......(4.3.2.1.0)....File:.dash.
40ec0 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 44 65 73 74 72 75 63 74 69 76 65 20 6f 70 65 72 61 74 69 info,..Node:.Destructive.operati
40ee0 6f 6e 73 2c 20 20 4e 65 78 74 3a 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 73 ons,..Next:.Function.combinators
40f00 2c 20 20 50 72 65 76 3a 20 53 69 64 65 20 65 66 66 65 63 74 73 2c 20 20 55 70 3a 20 46 75 6e 63 ,..Prev:.Side.effects,..Up:.Func
40f20 74 69 6f 6e 73 0a 0a 32 2e 31 35 20 44 65 73 74 72 75 63 74 69 76 65 20 6f 70 65 72 61 74 69 6f tions..2.15.Destructive.operatio
40f40 6e 73 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a ns.===========================..
40f60 4d 61 63 72 6f 73 20 74 68 61 74 20 6d 6f 64 69 66 79 20 76 61 72 69 61 62 6c 65 73 20 68 6f 6c Macros.that.modify.variables.hol
40f80 64 69 6e 67 20 6c 69 73 74 73 2e 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 21 63 6f 6e 73 20 28 63 ding.lists....--.Macro:.!cons.(c
40fa0 61 72 20 63 64 72 29 0a 20 20 20 20 20 44 65 73 74 72 75 63 74 69 76 65 3a 20 53 65 74 20 43 44 ar.cdr)......Destructive:.Set.CD
40fc0 52 20 74 6f 20 74 68 65 20 63 6f 6e 73 20 6f 66 20 43 41 52 20 61 6e 64 20 43 44 52 2e 0a 0a 20 R.to.the.cons.of.CAR.and.CDR....
40fe0 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 6c 29 20 28 21 63 6f 6e 73 20 35 20 6c 29 20 6c 29 .........(let.(l).(!cons.5.l).l)
41000 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 35 29 0a 20 20 20 20 20 20 20 20 20 ...................(5)..........
41020 20 28 6c 65 74 20 28 28 6c 20 27 28 33 29 29 29 20 28 21 63 6f 6e 73 20 35 20 6c 29 20 6c 29 0a .(let.((l.'(3))).(!cons.5.l).l).
41040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 35 20 33 29 0a 0a 20 2d 2d 20 4d 61 63 ..................(5.3)...--.Mac
41060 72 6f 3a 20 21 63 64 72 20 28 6c 69 73 74 29 0a 20 20 20 20 20 44 65 73 74 72 75 63 74 69 76 65 ro:.!cdr.(list)......Destructive
41080 3a 20 53 65 74 20 4c 49 53 54 20 74 6f 20 74 68 65 20 63 64 72 20 6f 66 20 4c 49 53 54 2e 0a 0a :.Set.LIST.to.the.cdr.of.LIST...
410a0 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6c 20 27 28 33 29 29 29 20 28 21 63 64 72 20 ..........(let.((l.'(3))).(!cdr.
410c0 6c 29 20 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 29 0a 20 20 20 20 20 l).l)...................()......
410e0 20 20 20 20 20 28 6c 65 74 20 28 28 6c 20 27 28 33 20 35 29 29 29 20 28 21 63 64 72 20 6c 29 20 .....(let.((l.'(3.5))).(!cdr.l).
41100 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 35 29 0a 0a 1f 0a 46 69 6c 65 l)...................(5)....File
41120 3a 20 64 61 73 68 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d :.dash.info,..Node:.Function.com
41140 62 69 6e 61 74 6f 72 73 2c 20 20 50 72 65 76 3a 20 44 65 73 74 72 75 63 74 69 76 65 20 6f 70 65 binators,..Prev:.Destructive.ope
41160 72 61 74 69 6f 6e 73 2c 20 20 55 70 3a 20 46 75 6e 63 74 69 6f 6e 73 0a 0a 32 2e 31 36 20 46 75 rations,..Up:.Functions..2.16.Fu
41180 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 73 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d nction.combinators.=============
411a0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 46 75 6e 63 74 69 6f 6e 73 20 74 68 61 74 20 6d 61 6e ============..Functions.that.man
411c0 69 70 75 6c 61 74 65 20 61 6e 64 20 63 6f 6d 70 6f 73 65 20 6f 74 68 65 72 20 66 75 6e 63 74 69 ipulate.and.compose.other.functi
411e0 6f 6e 73 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 70 61 72 74 69 61 6c 20 28 66 75 ons....--.Function:.-partial.(fu
41200 6e 20 26 72 65 73 74 20 61 72 67 73 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 66 75 6e 63 n.&rest.args)......Return.a.func
41220 74 69 6f 6e 20 74 68 61 74 20 69 73 20 61 20 70 61 72 74 69 61 6c 20 61 70 70 6c 69 63 61 74 69 tion.that.is.a.partial.applicati
41240 6f 6e 20 6f 66 20 46 55 4e 20 74 6f 20 41 52 47 53 2e 0a 20 20 20 20 20 41 52 47 53 20 69 73 20 on.of.FUN.to.ARGS.......ARGS.is.
41260 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 4e 20 61 72 67 75 6d 65 6e 74 73 20 a.list.of.the.first.N.arguments.
41280 74 6f 20 70 61 73 73 20 74 6f 20 46 55 4e 2e 20 20 54 68 65 20 72 65 73 75 6c 74 0a 20 20 20 20 to.pass.to.FUN...The.result.....
412a0 20 69 73 20 61 20 6e 65 77 20 66 75 6e 63 74 69 6f 6e 20 77 68 69 63 68 20 64 6f 65 73 20 74 68 .is.a.new.function.which.does.th
412c0 65 20 73 61 6d 65 20 61 73 20 46 55 4e 2c 20 65 78 63 65 70 74 20 74 68 61 74 20 74 68 65 20 66 e.same.as.FUN,.except.that.the.f
412e0 69 72 73 74 0a 20 20 20 20 20 4e 20 61 72 67 75 6d 65 6e 74 73 20 61 72 65 20 66 69 78 65 64 20 irst......N.arguments.are.fixed.
41300 61 74 20 74 68 65 20 76 61 6c 75 65 73 20 77 69 74 68 20 77 68 69 63 68 20 74 68 69 73 20 66 75 at.the.values.with.which.this.fu
41320 6e 63 74 69 6f 6e 20 77 61 73 0a 20 20 20 20 20 63 61 6c 6c 65 64 2e 0a 0a 20 20 20 20 20 20 20 nction.was......called..........
41340 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 70 61 72 74 69 61 6c 20 23 27 2b 20 35 29 29 0a 20 20 ...(funcall.(-partial.#'+.5))...
41360 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 35 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e ................5...........(fun
41380 63 61 6c 6c 20 28 2d 70 61 72 74 69 61 6c 20 23 27 2d 20 35 29 20 33 29 0a 20 20 20 20 20 20 20 call.(-partial.#'-.5).3)........
413a0 20 20 20 20 20 20 20 e2 87 92 20 32 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 ...........2...........(funcall.
413c0 28 2d 70 61 72 74 69 61 6c 20 23 27 2b 20 35 20 32 29 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 (-partial.#'+.5.2).3)...........
413e0 20 20 20 20 e2 87 92 20 31 30 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 72 70 61 72 74 ........10...--.Function:.-rpart
41400 69 61 6c 20 28 66 6e 20 26 72 65 73 74 20 61 72 67 73 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 ial.(fn.&rest.args)......Return.
41420 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 69 73 20 61 20 70 61 72 74 69 61 6c 20 61 70 70 a.function.that.is.a.partial.app
41440 6c 69 63 61 74 69 6f 6e 20 6f 66 20 46 4e 20 74 6f 20 41 52 47 53 2e 0a 20 20 20 20 20 41 52 47 lication.of.FN.to.ARGS.......ARG
41460 53 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 6c 61 73 74 20 4e 20 61 72 67 75 6d 65 S.is.a.list.of.the.last.N.argume
41480 6e 74 73 20 74 6f 20 70 61 73 73 20 74 6f 20 46 4e 2e 20 20 54 68 65 20 72 65 73 75 6c 74 0a 20 nts.to.pass.to.FN...The.result..
414a0 20 20 20 20 69 73 20 61 20 6e 65 77 20 66 75 6e 63 74 69 6f 6e 20 77 68 69 63 68 20 64 6f 65 73 ....is.a.new.function.which.does
414c0 20 74 68 65 20 73 61 6d 65 20 61 73 20 46 4e 2c 20 65 78 63 65 70 74 20 74 68 61 74 20 74 68 65 .the.same.as.FN,.except.that.the
414e0 20 6c 61 73 74 20 4e 0a 20 20 20 20 20 61 72 67 75 6d 65 6e 74 73 20 61 72 65 20 66 69 78 65 64 .last.N......arguments.are.fixed
41500 20 61 74 20 74 68 65 20 76 61 6c 75 65 73 20 77 69 74 68 20 77 68 69 63 68 20 74 68 69 73 20 66 .at.the.values.with.which.this.f
41520 75 6e 63 74 69 6f 6e 20 77 61 73 0a 20 20 20 20 20 63 61 6c 6c 65 64 2e 20 20 54 68 69 73 20 69 unction.was......called...This.i
41540 73 20 6c 69 6b 65 20 e2 80 98 2d 70 61 72 74 69 61 6c e2 80 99 20 28 2a 6e 6f 74 65 20 2d 70 61 s.like....-partial....(*note.-pa
41560 72 74 69 61 6c 3a 3a 29 2c 20 65 78 63 65 70 74 20 74 68 65 0a 20 20 20 20 20 61 72 67 75 6d 65 rtial::),.except.the......argume
41580 6e 74 73 20 61 72 65 20 66 69 78 65 64 20 73 74 61 72 74 69 6e 67 20 66 72 6f 6d 20 74 68 65 20 nts.are.fixed.starting.from.the.
415a0 72 69 67 68 74 20 72 61 74 68 65 72 20 74 68 61 6e 20 74 68 65 20 6c 65 66 74 2e 0a 0a 20 20 20 right.rather.than.the.left......
415c0 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 72 70 61 72 74 69 61 6c 20 23 27 2d 20 35 .......(funcall.(-rpartial.#'-.5
415e0 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 2d 35 0a 20 20 20 20 20 20 20 20 ))...................-5.........
41600 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 72 70 61 72 74 69 61 6c 20 23 27 2d 20 35 29 20 38 29 0a ..(funcall.(-rpartial.#'-.5).8).
41620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 33 0a 20 20 20 20 20 20 20 20 20 20 28 66 ..................3...........(f
41640 75 6e 63 61 6c 6c 20 28 2d 72 70 61 72 74 69 61 6c 20 23 27 2d 20 35 20 32 29 20 31 30 29 0a 20 uncall.(-rpartial.#'-.5.2).10)..
41660 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 33 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e .................3...--.Function
41680 3a 20 2d 6a 75 78 74 20 28 26 72 65 73 74 20 66 6e 73 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 :.-juxt.(&rest.fns)......Return.
416a0 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 69 73 20 74 68 65 20 6a 75 78 74 61 70 6f 73 69 a.function.that.is.the.juxtaposi
416c0 74 69 6f 6e 20 6f 66 20 46 4e 53 2e 20 20 54 68 65 20 72 65 74 75 72 6e 65 64 0a 20 20 20 20 20 tion.of.FNS...The.returned......
416e0 66 75 6e 63 74 69 6f 6e 20 74 61 6b 65 73 20 61 20 76 61 72 69 61 62 6c 65 20 6e 75 6d 62 65 72 function.takes.a.variable.number
41700 20 6f 66 20 41 52 47 53 2c 20 61 70 70 6c 69 65 73 20 65 61 63 68 20 6f 66 20 46 4e 53 20 69 6e .of.ARGS,.applies.each.of.FNS.in
41720 0a 20 20 20 20 20 74 75 72 6e 20 74 6f 20 41 52 47 53 2c 20 61 6e 64 20 72 65 74 75 72 6e 73 20 ......turn.to.ARGS,.and.returns.
41740 74 68 65 20 6c 69 73 74 20 6f 66 20 72 65 73 75 6c 74 73 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 the.list.of.results.............
41760 28 66 75 6e 63 61 6c 6c 20 28 2d 6a 75 78 74 29 20 31 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 (funcall.(-juxt).1.2)...........
41780 20 20 20 20 e2 87 92 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d ........()...........(funcall.(-
417a0 6a 75 78 74 20 23 27 2b 20 23 27 2d 20 23 27 2a 20 23 27 2f 29 20 37 20 35 29 0a 20 20 20 20 20 juxt.#'+.#'-.#'*.#'/).7.5)......
417c0 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 32 20 32 20 33 35 20 31 29 0a 20 20 20 20 20 20 20 .............(12.2.35.1)........
417e0 20 20 20 28 6d 61 70 63 61 72 20 28 2d 6a 75 78 74 20 23 27 6e 75 6d 62 65 72 2d 74 6f 2d 73 74 ...(mapcar.(-juxt.#'number-to-st
41800 72 69 6e 67 20 23 27 31 2b 29 20 27 28 31 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ring.#'1+).'(1.2))..............
41820 20 e2 87 92 20 28 28 22 31 22 20 32 29 20 28 22 32 22 20 33 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 .....(("1".2).("2".3))...--.Func
41840 74 69 6f 6e 3a 20 2d 63 6f 6d 70 6f 73 65 20 28 26 72 65 73 74 20 66 6e 73 29 0a 20 20 20 20 20 tion:.-compose.(&rest.fns)......
41860 43 6f 6d 70 6f 73 65 20 46 4e 53 20 69 6e 74 6f 20 61 20 73 69 6e 67 6c 65 20 63 6f 6d 70 6f 73 Compose.FNS.into.a.single.compos
41880 69 74 65 20 66 75 6e 63 74 69 6f 6e 2e 20 20 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e ite.function...Return.a.function
418a0 0a 20 20 20 20 20 74 68 61 74 20 74 61 6b 65 73 20 61 20 76 61 72 69 61 62 6c 65 20 6e 75 6d 62 ......that.takes.a.variable.numb
418c0 65 72 20 6f 66 20 41 52 47 53 2c 20 61 70 70 6c 69 65 73 20 74 68 65 20 6c 61 73 74 20 66 75 6e er.of.ARGS,.applies.the.last.fun
418e0 63 74 69 6f 6e 20 69 6e 0a 20 20 20 20 20 46 4e 53 20 74 6f 20 41 52 47 53 2c 20 61 6e 64 20 72 ction.in......FNS.to.ARGS,.and.r
41900 65 74 75 72 6e 73 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 63 61 6c 6c 69 6e 67 20 65 61 63 eturns.the.result.of.calling.eac
41920 68 20 72 65 6d 61 69 6e 69 6e 67 0a 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 6f 6e 20 74 68 65 h.remaining......function.on.the
41940 20 72 65 73 75 6c 74 20 6f 66 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 66 75 6e 63 74 69 6f 6e .result.of.the.previous.function
41960 2c 20 72 69 67 68 74 2d 74 6f 2d 6c 65 66 74 2e 20 20 49 66 0a 20 20 20 20 20 6e 6f 20 46 4e 53 ,.right-to-left...If......no.FNS
41980 20 61 72 65 20 67 69 76 65 6e 2c 20 72 65 74 75 72 6e 20 61 20 76 61 72 69 61 64 69 63 20 e2 80 .are.given,.return.a.variadic...
419a0 98 69 64 65 6e 74 69 74 79 e2 80 99 20 66 75 6e 63 74 69 6f 6e 2e 0a 0a 20 20 20 20 20 20 20 20 .identity....function...........
419c0 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 63 6f 6d 70 6f 73 65 20 23 27 2d 20 23 27 31 2b 20 23 27 ..(funcall.(-compose.#'-.#'1+.#'
419e0 2b 29 20 31 20 32 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 2d 37 0a 20 +).1.2.3)...................-7..
41a00 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 63 6f 6d 70 6f 73 65 20 23 27 69 64 .........(funcall.(-compose.#'id
41a20 65 6e 74 69 74 79 20 23 27 31 2b 29 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 entity.#'1+).3).................
41a40 92 20 34 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 61 72 20 28 2d 63 6f 6d 70 6f 73 65 20 ..4...........(mapcar.(-compose.
41a60 23 27 6e 6f 74 20 23 27 73 74 72 69 6e 67 70 29 20 27 28 6e 69 6c 20 22 22 29 29 0a 20 20 20 20 #'not.#'stringp).'(nil."")).....
41a80 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 74 20 6e 69 6c 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 ..............(t.nil)...--.Funct
41aa0 69 6f 6e 3a 20 2d 61 70 70 6c 69 66 79 20 28 66 6e 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 ion:.-applify.(fn)......Return.a
41ac0 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 61 70 70 6c 69 65 73 20 46 4e 20 74 6f 20 61 20 73 .function.that.applies.FN.to.a.s
41ae0 69 6e 67 6c 65 20 6c 69 73 74 20 6f 66 20 61 72 67 73 2e 20 20 54 68 69 73 0a 20 20 20 20 20 63 ingle.list.of.args...This......c
41b00 68 61 6e 67 65 73 20 74 68 65 20 61 72 69 74 79 20 6f 66 20 46 4e 20 66 72 6f 6d 20 74 61 6b 69 hanges.the.arity.of.FN.from.taki
41b20 6e 67 20 4e 20 64 69 73 74 69 6e 63 74 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 74 61 6b 69 6e ng.N.distinct.arguments.to.takin
41b40 67 0a 20 20 20 20 20 31 20 61 72 67 75 6d 65 6e 74 20 77 68 69 63 68 20 69 73 20 61 20 6c 69 73 g......1.argument.which.is.a.lis
41b60 74 20 6f 66 20 4e 20 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 t.of.N.arguments.............(fu
41b80 6e 63 61 6c 6c 20 28 2d 61 70 70 6c 69 66 79 20 23 27 2b 29 20 6e 69 6c 29 0a 20 20 20 20 20 20 ncall.(-applify.#'+).nil).......
41ba0 20 20 20 20 20 20 20 20 e2 87 92 20 30 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 61 72 20 ............0...........(mapcar.
41bc0 28 2d 61 70 70 6c 69 66 79 20 23 27 2b 29 20 27 28 28 31 20 31 20 31 29 20 28 31 20 32 20 33 29 (-applify.#'+).'((1.1.1).(1.2.3)
41be0 20 28 35 20 35 20 35 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 33 20 .(5.5.5)))...................(3.
41c00 36 20 31 35 29 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 61 70 70 6c 69 6.15)...........(funcall.(-appli
41c20 66 79 20 23 27 3c 29 20 27 28 33 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 fy.#'<).'(3.6)).................
41c40 92 20 74 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 6f 6e 20 28 6f 70 20 74 72 61 6e 73 ..t...--.Function:.-on.(op.trans
41c60 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 63 61 )......Return.a.function.that.ca
41c80 6c 6c 73 20 54 52 41 4e 53 20 6f 6e 20 65 61 63 68 20 61 72 67 20 61 6e 64 20 4f 50 20 6f 6e 20 lls.TRANS.on.each.arg.and.OP.on.
41ca0 74 68 65 0a 20 20 20 20 20 72 65 73 75 6c 74 73 2e 20 20 54 68 65 20 72 65 74 75 72 6e 65 64 20 the......results...The.returned.
41cc0 66 75 6e 63 74 69 6f 6e 20 74 61 6b 65 73 20 61 20 76 61 72 69 61 62 6c 65 20 6e 75 6d 62 65 72 function.takes.a.variable.number
41ce0 20 6f 66 0a 20 20 20 20 20 61 72 67 75 6d 65 6e 74 73 2c 20 63 61 6c 6c 73 20 74 68 65 20 66 75 .of......arguments,.calls.the.fu
41d00 6e 63 74 69 6f 6e 20 54 52 41 4e 53 20 6f 6e 20 65 61 63 68 20 6f 6e 65 20 69 6e 20 74 75 72 6e nction.TRANS.on.each.one.in.turn
41d20 2c 20 61 6e 64 20 74 68 65 6e 0a 20 20 20 20 20 70 61 73 73 65 73 20 74 68 6f 73 65 20 72 65 73 ,.and.then......passes.those.res
41d40 75 6c 74 73 20 61 73 20 74 68 65 20 6c 69 73 74 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 20 74 6f ults.as.the.list.of.arguments.to
41d60 20 4f 50 2c 20 69 6e 20 74 68 65 20 73 61 6d 65 0a 20 20 20 20 20 6f 72 64 65 72 2e 0a 0a 20 20 .OP,.in.the.same......order.....
41d80 20 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 70 61 ...For.example,.the.following.pa
41da0 69 72 73 20 6f 66 20 65 78 70 72 65 73 73 69 6f 6e 73 20 61 72 65 20 6d 6f 72 61 6c 6c 79 0a 20 irs.of.expressions.are.morally..
41dc0 20 20 20 20 65 71 75 69 76 61 6c 65 6e 74 3a 0a 0a 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 ....equivalent:.......(funcall.(
41de0 2d 6f 6e 20 23 e2 80 99 2b 20 23 e2 80 99 31 2b 29 20 31 20 32 20 33 29 20 3d 20 28 2b 20 28 31 -on.#...+.#...1+).1.2.3).=.(+.(1
41e00 2b 20 31 29 20 28 31 2b 20 32 29 20 28 31 2b 20 33 29 29 20 28 66 75 6e 63 61 6c 6c 0a 20 20 20 +.1).(1+.2).(1+.3)).(funcall....
41e20 20 20 28 2d 6f 6e 20 23 e2 80 99 2b 20 23 e2 80 99 31 2b 29 29 20 3d 20 28 2b 29 0a 0a 20 20 20 ..(-on.#...+.#...1+)).=.(+).....
41e40 20 20 20 20 20 20 20 28 2d 73 6f 72 74 20 28 2d 6f 6e 20 23 27 3c 20 23 27 6c 65 6e 67 74 68 29 .......(-sort.(-on.#'<.#'length)
41e60 20 27 28 28 31 20 32 20 33 29 20 28 31 29 20 28 31 20 32 29 29 29 0a 20 20 20 20 20 20 20 20 20 .'((1.2.3).(1).(1.2)))..........
41e80 20 20 20 20 20 e2 87 92 20 28 28 31 29 20 28 31 20 32 29 20 28 31 20 32 20 33 29 29 0a 20 20 20 .........((1).(1.2).(1.2.3))....
41ea0 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 6f 6e 20 23 27 6d 69 6e 20 23 27 73 74 72 .......(funcall.(-on.#'min.#'str
41ec0 69 6e 67 2d 74 6f 2d 6e 75 6d 62 65 72 29 20 22 32 32 22 20 22 32 22 20 22 31 22 20 22 31 32 22 ing-to-number)."22"."2"."1"."12"
41ee0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 31 0a 20 20 20 20 20 20 20 20 20 20 )...................1...........
41f00 28 2d 6d 69 6e 2d 62 79 20 28 2d 6f 6e 20 23 27 3e 20 23 27 6c 65 6e 67 74 68 29 20 27 28 28 31 (-min-by.(-on.#'>.#'length).'((1
41f20 20 32 20 33 29 20 28 34 29 20 28 31 20 32 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .2.3).(4).(1.2)))...............
41f40 e2 87 92 20 28 34 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 66 6c 69 70 20 28 66 6e ....(4)...--.Function:.-flip.(fn
41f60 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 63 61 )......Return.a.function.that.ca
41f80 6c 6c 73 20 46 4e 20 77 69 74 68 20 69 74 73 20 61 72 67 75 6d 65 6e 74 73 20 72 65 76 65 72 73 lls.FN.with.its.arguments.revers
41fa0 65 64 2e 20 20 54 68 65 0a 20 20 20 20 20 72 65 74 75 72 6e 65 64 20 66 75 6e 63 74 69 6f 6e 20 ed...The......returned.function.
41fc0 74 61 6b 65 73 20 74 68 65 20 73 61 6d 65 20 6e 75 6d 62 65 72 20 6f 66 20 61 72 67 75 6d 65 6e takes.the.same.number.of.argumen
41fe0 74 73 20 61 73 20 46 4e 2e 0a 0a 20 20 20 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 ts.as.FN........For.example,.the
42000 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 77 6f 20 65 78 70 72 65 73 73 69 6f 6e 73 20 61 72 65 20 6d .following.two.expressions.are.m
42020 6f 72 61 6c 6c 79 20 65 71 75 69 76 61 6c 65 6e 74 3a 0a 0a 20 20 20 20 20 28 66 75 6e 63 61 6c orally.equivalent:.......(funcal
42040 6c 20 28 2d 66 6c 69 70 20 23 e2 80 99 2d 29 20 31 20 32 29 20 3d 20 28 2d 20 32 20 31 29 0a 0a l.(-flip.#...-).1.2).=.(-.2.1)..
42060 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 72 6f 74 61 74 65 2d 61 72 67 73 e2 80 .....See.also:....-rotate-args..
42080 99 20 28 2a 6e 6f 74 65 20 2d 72 6f 74 61 74 65 2d 61 72 67 73 3a 3a 29 2e 0a 0a 20 20 20 20 20 ..(*note.-rotate-args::)........
420a0 20 20 20 20 20 28 2d 73 6f 72 74 20 28 2d 66 6c 69 70 20 23 27 3c 29 20 27 28 34 20 33 20 36 20 .....(-sort.(-flip.#'<).'(4.3.6.
420c0 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 36 20 34 20 33 20 31 29 0a 1))...................(6.4.3.1).
420e0 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 66 6c 69 70 20 23 27 2d 29 20 33 ..........(funcall.(-flip.#'-).3
42100 20 32 20 31 20 31 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 34 0a 20 20 20 .2.1.10)...................4....
42120 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 66 6c 69 70 20 23 27 31 2b 29 20 31 29 0a .......(funcall.(-flip.#'1+).1).
42140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 32 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f ..................2...--.Functio
42160 6e 3a 20 2d 72 6f 74 61 74 65 2d 61 72 67 73 20 28 6e 20 66 6e 29 0a 20 20 20 20 20 52 65 74 75 n:.-rotate-args.(n.fn)......Retu
42180 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 63 61 6c 6c 73 20 46 4e 20 77 69 74 68 rn.a.function.that.calls.FN.with
421a0 20 61 72 67 73 20 72 6f 74 61 74 65 64 20 4e 20 70 6c 61 63 65 73 20 74 6f 20 74 68 65 0a 20 20 .args.rotated.N.places.to.the...
421c0 20 20 20 72 69 67 68 74 2e 20 20 54 68 65 20 72 65 74 75 72 6e 65 64 20 66 75 6e 63 74 69 6f 6e ...right...The.returned.function
421e0 20 74 61 6b 65 73 20 74 68 65 20 73 61 6d 65 20 6e 75 6d 62 65 72 20 6f 66 20 61 72 67 75 6d 65 .takes.the.same.number.of.argume
42200 6e 74 73 20 61 73 0a 20 20 20 20 20 46 4e 2c 20 72 6f 74 61 74 65 73 20 74 68 65 20 6c 69 73 74 nts.as......FN,.rotates.the.list
42220 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 20 4e 20 70 6c 61 63 65 73 20 74 6f 20 74 68 65 20 72 69 .of.arguments.N.places.to.the.ri
42240 67 68 74 20 28 6c 65 66 74 20 69 66 20 4e 0a 20 20 20 20 20 69 73 20 6e 65 67 61 74 69 76 65 29 ght.(left.if.N......is.negative)
42260 20 6a 75 73 74 20 6c 69 6b 65 20 e2 80 98 2d 72 6f 74 61 74 65 e2 80 99 20 28 2a 6e 6f 74 65 20 .just.like....-rotate....(*note.
42280 2d 72 6f 74 61 74 65 3a 3a 29 2c 20 61 6e 64 20 61 70 70 6c 69 65 73 20 46 4e 0a 20 20 20 20 20 -rotate::),.and.applies.FN......
422a0 74 6f 20 74 68 65 20 72 65 73 75 6c 74 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 to.the.result........See.also:..
422c0 80 98 2d 66 6c 69 70 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 66 6c 69 70 3a 3a 29 2e 0a 0a 20 20 20 ..-flip....(*note.-flip::)......
422e0 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 72 6f 74 61 74 65 2d 61 72 67 73 20 2d 31 .......(funcall.(-rotate-args.-1
42300 20 23 27 6c 69 73 74 29 20 31 20 32 20 33 20 34 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .#'list).1.2.3.4)...............
42320 e2 87 92 20 28 32 20 33 20 34 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c ....(2.3.4.1)...........(funcall
42340 20 28 2d 72 6f 74 61 74 65 2d 61 72 67 73 20 31 20 23 27 2d 29 20 31 20 31 30 20 31 30 30 29 0a .(-rotate-args.1.#'-).1.10.100).
42360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 38 39 0a 20 20 20 20 20 20 20 20 20 20 28 ..................89...........(
42380 66 75 6e 63 61 6c 6c 20 28 2d 72 6f 74 61 74 65 2d 61 72 67 73 20 32 20 23 27 6c 69 73 74 29 20 funcall.(-rotate-args.2.#'list).
423a0 33 20 34 20 35 20 31 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 3.4.5.1.2)...................(1.
423c0 32 20 33 20 34 20 35 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 63 6f 6e 73 74 20 28 2.3.4.5)...--.Function:.-const.(
423e0 63 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 72 c)......Return.a.function.that.r
42400 65 74 75 72 6e 73 20 43 20 69 67 6e 6f 72 69 6e 67 20 61 6e 79 20 61 64 64 69 74 69 6f 6e 61 6c eturns.C.ignoring.any.additional
42420 20 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 20 20 20 20 20 49 6e 20 74 79 70 65 73 3a 20 61 20 2d 3e .arguments........In.types:.a.->
42440 20 62 20 2d 3e 20 61 0a 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 63 6f .b.->.a............(funcall.(-co
42460 6e 73 74 20 32 29 20 31 20 33 20 22 66 6f 6f 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nst.2).1.3."foo")...............
42480 e2 87 92 20 32 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 61 72 20 28 2d 63 6f 6e 73 74 20 ....2...........(mapcar.(-const.
424a0 31 29 20 27 28 22 61 22 20 22 62 22 20 22 63 22 20 22 64 22 29 29 0a 20 20 20 20 20 20 20 20 20 1).'("a"."b"."c"."d"))..........
424c0 20 20 20 20 20 e2 87 92 20 28 31 20 31 20 31 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 .........(1.1.1.1)...........(-s
424e0 75 6d 20 28 6d 61 70 63 61 72 20 28 2d 63 6f 6e 73 74 20 31 29 20 27 28 22 61 22 20 22 62 22 20 um.(mapcar.(-const.1).'("a"."b".
42500 22 63 22 20 22 64 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 34 0a 0a "c"."d")))...................4..
42520 20 2d 2d 20 4d 61 63 72 6f 3a 20 2d 63 75 74 20 28 26 72 65 73 74 20 70 61 72 61 6d 73 29 0a 20 .--.Macro:.-cut.(&rest.params)..
42540 20 20 20 20 54 61 6b 65 20 6e 2d 61 72 79 20 66 75 6e 63 74 69 6f 6e 20 61 6e 64 20 6e 20 61 72 ....Take.n-ary.function.and.n.ar
42560 67 75 6d 65 6e 74 73 20 61 6e 64 20 73 70 65 63 69 61 6c 69 7a 65 20 73 6f 6d 65 20 6f 66 20 74 guments.and.specialize.some.of.t
42580 68 65 6d 2e 0a 20 20 20 20 20 41 72 67 75 6d 65 6e 74 73 20 64 65 6e 6f 74 65 64 20 62 79 20 3c hem.......Arguments.denoted.by.<
425a0 3e 20 77 69 6c 6c 20 62 65 20 6c 65 66 74 20 75 6e 73 70 65 63 69 61 6c 69 7a 65 64 2e 0a 0a 20 >.will.be.left.unspecialized....
425c0 20 20 20 20 53 65 65 20 53 52 46 49 2d 32 36 20 66 6f 72 20 64 65 74 61 69 6c 65 64 20 64 65 73 ....See.SRFI-26.for.detailed.des
425e0 63 72 69 70 74 69 6f 6e 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d cription.............(funcall.(-
42600 63 75 74 20 6c 69 73 74 20 31 20 3c 3e 20 33 20 3c 3e 20 35 29 20 32 20 34 29 0a 20 20 20 20 20 cut.list.1.<>.3.<>.5).2.4)......
42620 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 34 20 35 29 0a 20 20 20 20 20 20 20 .............(1.2.3.4.5)........
42640 20 20 20 28 2d 6d 61 70 20 28 2d 63 75 74 20 66 75 6e 63 61 6c 6c 20 3c 3e 20 35 29 20 60 28 31 ...(-map.(-cut.funcall.<>.5).`(1
42660 2b 20 31 2d 20 2c 28 6c 61 6d 62 64 61 20 28 78 29 20 28 2f 20 31 2e 30 20 78 29 29 29 29 0a 20 +.1-.,(lambda.(x).(/.1.0.x))))..
42680 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 36 20 34 20 30 2e 32 29 0a 20 20 20 20 20 .................(6.4.0.2)......
426a0 20 20 20 20 20 28 2d 6d 61 70 20 28 2d 63 75 74 20 3c 3e 20 31 20 32 20 33 29 20 27 28 6c 69 73 .....(-map.(-cut.<>.1.2.3).'(lis
426c0 74 20 76 65 63 74 6f 72 20 73 74 72 69 6e 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t.vector.string))...............
426e0 e2 87 92 20 28 28 31 20 32 20 33 29 20 5b 31 20 32 20 33 5d 20 22 5c 31 5c 32 5c 33 22 29 0a 0a ....((1.2.3).[1.2.3]."\1\2\3")..
42700 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 6e 6f 74 20 28 70 72 65 64 29 0a 20 20 20 20 20 52 .--.Function:.-not.(pred)......R
42720 65 74 75 72 6e 20 61 20 70 72 65 64 69 63 61 74 65 20 74 68 61 74 20 6e 65 67 61 74 65 73 20 74 eturn.a.predicate.that.negates.t
42740 68 65 20 72 65 73 75 6c 74 20 6f 66 20 50 52 45 44 2e 20 20 54 68 65 20 72 65 74 75 72 6e 65 64 he.result.of.PRED...The.returned
42760 0a 20 20 20 20 20 70 72 65 64 69 63 61 74 65 20 70 61 73 73 65 73 20 69 74 73 20 61 72 67 75 6d ......predicate.passes.its.argum
42780 65 6e 74 73 20 74 6f 20 50 52 45 44 2e 20 20 49 66 20 50 52 45 44 20 72 65 74 75 72 6e 73 20 6e ents.to.PRED...If.PRED.returns.n
427a0 69 6c 2c 20 74 68 65 0a 20 20 20 20 20 72 65 73 75 6c 74 20 69 73 20 6e 6f 6e 2d 6e 69 6c 3b 20 il,.the......result.is.non-nil;.
427c0 6f 74 68 65 72 77 69 73 65 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 6e 69 6c 2e 0a 0a 20 20 otherwise.the.result.is.nil.....
427e0 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 61 6e 64 66 6e e2 80 99 20 28 2a 6e 6f 74 65 ...See.also:....-andfn....(*note
42800 20 2d 61 6e 64 66 6e 3a 3a 29 20 61 6e 64 20 e2 80 98 2d 6f 72 66 6e e2 80 99 20 28 2a 6e 6f 74 .-andfn::).and....-orfn....(*not
42820 65 20 2d 6f 72 66 6e 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 e.-orfn::).............(funcall.
42840 28 2d 6e 6f 74 20 23 27 6e 75 6d 62 65 72 70 29 20 22 35 22 29 0a 20 20 20 20 20 20 20 20 20 20 (-not.#'numberp)."5")...........
42860 20 20 20 20 e2 87 92 20 74 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 6f 72 74 20 28 2d 6e 6f 74 ........t...........(-sort.(-not
42880 20 23 27 3c 29 20 27 28 35 20 32 20 31 20 30 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 .#'<).'(5.2.1.0.6)).............
428a0 20 20 e2 87 92 20 28 36 20 35 20 32 20 31 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 69 ......(6.5.2.1.0)...........(-fi
428c0 6c 74 65 72 20 28 2d 6e 6f 74 20 28 2d 70 61 72 74 69 61 6c 20 23 27 3c 20 34 29 29 20 27 28 31 lter.(-not.(-partial.#'<.4)).'(1
428e0 20 32 20 33 20 34 20 35 20 36 20 37 20 38 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 .2.3.4.5.6.7.8))................
42900 87 92 20 28 31 20 32 20 33 20 34 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 6f 72 66 ...(1.2.3.4)...--.Function:.-orf
42920 6e 20 28 26 72 65 73 74 20 70 72 65 64 73 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 70 72 n.(&rest.preds)......Return.a.pr
42940 65 64 69 63 61 74 65 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 74 68 65 20 66 69 72 73 74 20 6e edicate.that.returns.the.first.n
42960 6f 6e 2d 6e 69 6c 20 72 65 73 75 6c 74 20 6f 66 20 50 52 45 44 53 2e 0a 20 20 20 20 20 54 68 65 on-nil.result.of.PREDS.......The
42980 20 72 65 74 75 72 6e 65 64 20 70 72 65 64 69 63 61 74 65 20 74 61 6b 65 73 20 61 20 76 61 72 69 .returned.predicate.takes.a.vari
429a0 61 62 6c 65 20 6e 75 6d 62 65 72 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 2c 20 70 61 73 73 65 73 able.number.of.arguments,.passes
429c0 0a 20 20 20 20 20 74 68 65 6d 20 74 6f 20 65 61 63 68 20 70 72 65 64 69 63 61 74 65 20 69 6e 20 ......them.to.each.predicate.in.
429e0 50 52 45 44 53 20 69 6e 20 74 75 72 6e 20 75 6e 74 69 6c 20 6f 6e 65 20 6f 66 20 74 68 65 6d 20 PREDS.in.turn.until.one.of.them.
42a00 72 65 74 75 72 6e 73 0a 20 20 20 20 20 6e 6f 6e 2d 6e 69 6c 2c 20 61 6e 64 20 72 65 74 75 72 6e returns......non-nil,.and.return
42a20 73 20 74 68 61 74 20 6e 6f 6e 2d 6e 69 6c 20 72 65 73 75 6c 74 20 77 69 74 68 6f 75 74 20 63 61 s.that.non-nil.result.without.ca
42a40 6c 6c 69 6e 67 20 74 68 65 0a 20 20 20 20 20 72 65 6d 61 69 6e 69 6e 67 20 50 52 45 44 53 2e 20 lling.the......remaining.PREDS..
42a60 20 49 66 20 61 6c 6c 20 50 52 45 44 53 20 72 65 74 75 72 6e 20 6e 69 6c 2c 20 6f 72 20 69 66 20 .If.all.PREDS.return.nil,.or.if.
42a80 6e 6f 20 50 52 45 44 53 20 61 72 65 0a 20 20 20 20 20 67 69 76 65 6e 2c 20 74 68 65 20 72 65 74 no.PREDS.are......given,.the.ret
42aa0 75 72 6e 65 64 20 70 72 65 64 69 63 61 74 65 20 72 65 74 75 72 6e 73 20 6e 69 6c 2e 0a 0a 20 20 urned.predicate.returns.nil.....
42ac0 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 61 6e 64 66 6e e2 80 99 20 28 2a 6e 6f 74 65 ...See.also:....-andfn....(*note
42ae0 20 2d 61 6e 64 66 6e 3a 3a 29 20 61 6e 64 20 e2 80 98 2d 6e 6f 74 e2 80 99 20 28 2a 6e 6f 74 65 .-andfn::).and....-not....(*note
42b00 20 2d 6e 6f 74 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 69 6c 74 65 72 20 28 2d .-not::).............(-filter.(-
42b20 6f 72 66 6e 20 23 27 6e 61 74 6e 75 6d 70 20 23 27 62 6f 6f 6c 65 61 6e 70 29 20 27 28 31 20 6e orfn.#'natnump.#'booleanp).'(1.n
42b40 69 6c 20 22 61 22 20 2d 34 20 62 20 63 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 il."a".-4.b.c.t))...............
42b60 e2 87 92 20 28 31 20 6e 69 6c 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c ....(1.nil.t)...........(funcall
42b80 20 28 2d 6f 72 66 6e 20 23 27 73 79 6d 62 6f 6c 70 20 28 2d 63 75 74 20 73 74 72 69 6e 67 2d 6d .(-orfn.#'symbolp.(-cut.string-m
42ba0 61 74 63 68 2d 70 20 22 78 22 20 3c 3e 29 29 20 22 61 78 65 22 29 0a 20 20 20 20 20 20 20 20 20 atch-p."x".<>))."axe")..........
42bc0 20 20 20 20 20 e2 87 92 20 31 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d .........1...........(funcall.(-
42be0 6f 72 66 6e 20 23 27 3d 20 23 27 2b 29 20 31 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 orfn.#'=.#'+).1.1)..............
42c00 20 e2 87 92 20 74 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 61 6e 64 66 6e 20 28 26 72 .....t...--.Function:.-andfn.(&r
42c20 65 73 74 20 70 72 65 64 73 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 70 72 65 64 69 63 61 est.preds)......Return.a.predica
42c40 74 65 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 61 6c 6c 20 50 te.that.returns.non-nil.if.all.P
42c60 52 45 44 53 20 64 6f 20 73 6f 2e 20 20 54 68 65 0a 20 20 20 20 20 72 65 74 75 72 6e 65 64 20 70 REDS.do.so...The......returned.p
42c80 72 65 64 69 63 61 74 65 20 50 20 74 61 6b 65 73 20 61 20 76 61 72 69 61 62 6c 65 20 6e 75 6d 62 redicate.P.takes.a.variable.numb
42ca0 65 72 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 20 61 6e 64 0a 20 20 20 20 20 70 61 73 73 65 73 20 er.of.arguments.and......passes.
42cc0 74 68 65 6d 20 74 6f 20 65 61 63 68 20 70 72 65 64 69 63 61 74 65 20 69 6e 20 50 52 45 44 53 20 them.to.each.predicate.in.PREDS.
42ce0 69 6e 20 74 75 72 6e 2e 20 20 49 66 20 61 6e 79 20 6f 6e 65 20 6f 66 0a 20 20 20 20 20 50 52 45 in.turn...If.any.one.of......PRE
42d00 44 53 20 72 65 74 75 72 6e 73 20 6e 69 6c 2c 20 50 20 61 6c 73 6f 20 72 65 74 75 72 6e 73 20 6e DS.returns.nil,.P.also.returns.n
42d20 69 6c 20 77 69 74 68 6f 75 74 20 63 61 6c 6c 69 6e 67 20 74 68 65 20 72 65 6d 61 69 6e 69 6e 67 il.without.calling.the.remaining
42d40 0a 20 20 20 20 20 50 52 45 44 53 2e 20 20 49 66 20 61 6c 6c 20 50 52 45 44 53 20 72 65 74 75 72 ......PREDS...If.all.PREDS.retur
42d60 6e 20 6e 6f 6e 2d 6e 69 6c 2c 20 50 20 72 65 74 75 72 6e 73 20 74 68 65 20 6c 61 73 74 20 73 75 n.non-nil,.P.returns.the.last.su
42d80 63 68 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 49 66 20 6e 6f 20 50 52 45 44 53 20 61 72 65 20 67 ch.value.......If.no.PREDS.are.g
42da0 69 76 65 6e 2c 20 50 20 61 6c 77 61 79 73 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a iven,.P.always.returns.non-nil..
42dc0 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 6f 72 66 6e e2 80 99 20 28 2a 6e 6f ......See.also:....-orfn....(*no
42de0 74 65 20 2d 6f 72 66 6e 3a 3a 29 20 61 6e 64 20 e2 80 98 2d 6e 6f 74 e2 80 99 20 28 2a 6e 6f 74 te.-orfn::).and....-not....(*not
42e00 65 20 2d 6e 6f 74 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 69 6c 74 65 72 20 28 e.-not::).............(-filter.(
42e20 2d 61 6e 64 66 6e 20 23 27 6e 75 6d 62 65 72 70 20 28 2d 63 75 74 20 3c 20 3c 3e 20 35 29 29 20 -andfn.#'numberp.(-cut.<.<>.5)).
42e40 27 28 61 20 31 20 62 20 36 20 63 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 '(a.1.b.6.c.2)).................
42e60 92 20 28 31 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 61 72 20 28 2d 61 6e 64 66 ..(1.2)...........(mapcar.(-andf
42e80 6e 20 23 27 6e 75 6d 62 65 72 70 20 23 27 31 2b 29 20 27 28 61 20 31 20 62 20 36 29 29 0a 20 20 n.#'numberp.#'1+).'(a.1.b.6))...
42ea0 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 6e 69 6c 20 32 20 6e 69 6c 20 37 29 0a 20 20 ................(nil.2.nil.7)...
42ec0 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 61 6e 64 66 6e 20 23 27 3d 20 23 27 2b ........(funcall.(-andfn.#'=.#'+
42ee0 29 20 31 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 32 0a 0a 20 2d 2d 20 ).1.1)...................2...--.
42f00 46 75 6e 63 74 69 6f 6e 3a 20 2d 69 74 65 72 61 74 65 66 6e 20 28 66 6e 20 6e 29 0a 20 20 20 20 Function:.-iteratefn.(fn.n).....
42f20 20 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 46 4e 20 63 6f 6d 70 6f 73 65 64 20 4e .Return.a.function.FN.composed.N
42f40 20 74 69 6d 65 73 20 77 69 74 68 20 69 74 73 65 6c 66 2e 0a 0a 20 20 20 20 20 46 4e 20 69 73 20 .times.with.itself........FN.is.
42f60 61 20 75 6e 61 72 79 20 66 75 6e 63 74 69 6f 6e 2e 20 20 49 66 20 79 6f 75 20 6e 65 65 64 20 74 a.unary.function...If.you.need.t
42f80 6f 20 75 73 65 20 61 20 66 75 6e 63 74 69 6f 6e 20 6f 66 20 68 69 67 68 65 72 0a 20 20 20 20 20 o.use.a.function.of.higher......
42fa0 61 72 69 74 79 2c 20 75 73 65 20 e2 80 98 2d 61 70 70 6c 69 66 79 e2 80 99 20 28 2a 6e 6f 74 65 arity,.use....-applify....(*note
42fc0 20 2d 61 70 70 6c 69 66 79 3a 3a 29 20 66 69 72 73 74 20 74 6f 20 74 75 72 6e 20 69 74 20 69 6e .-applify::).first.to.turn.it.in
42fe0 74 6f 20 61 0a 20 20 20 20 20 75 6e 61 72 79 20 66 75 6e 63 74 69 6f 6e 2e 0a 0a 20 20 20 20 20 to.a......unary.function........
43000 57 69 74 68 20 6e 20 3d 20 30 2c 20 74 68 69 73 20 61 63 74 73 20 61 73 20 69 64 65 6e 74 69 74 With.n.=.0,.this.acts.as.identit
43020 79 20 66 75 6e 63 74 69 6f 6e 2e 0a 0a 20 20 20 20 20 49 6e 20 74 79 70 65 73 3a 20 28 61 20 2d y.function........In.types:.(a.-
43040 3e 20 61 29 20 2d 3e 20 49 6e 74 20 2d 3e 20 61 20 2d 3e 20 61 2e 0a 0a 20 20 20 20 20 54 68 69 >.a).->.Int.->.a.->.a........Thi
43060 73 20 66 75 6e 63 74 69 6f 6e 20 73 61 74 69 73 66 69 65 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 s.function.satisfies.the.followi
43080 6e 67 20 6c 61 77 3a 0a 0a 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 69 74 65 72 61 74 65 ng.law:.......(funcall.(-iterate
430a0 66 6e 20 66 6e 20 6e 29 20 69 6e 69 74 29 20 3d 20 28 2d 6c 61 73 74 2d 69 74 65 6d 20 28 2d 69 fn.fn.n).init).=.(-last-item.(-i
430c0 74 65 72 61 74 65 20 66 6e 20 69 6e 69 74 0a 20 20 20 20 20 28 31 2b 20 6e 29 29 29 2e 0a 0a 20 terate.fn.init......(1+.n)))....
430e0 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 69 74 65 72 61 74 65 66 6e 20 28 6c .........(funcall.(-iteratefn.(l
43100 61 6d 62 64 61 20 28 78 29 20 28 2a 20 78 20 78 29 29 20 33 29 20 32 29 0a 20 20 20 20 20 20 20 ambda.(x).(*.x.x)).3).2)........
43120 20 20 20 20 20 20 20 e2 87 92 20 32 35 36 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c ...........256...........(funcal
43140 6c 20 28 2d 69 74 65 72 61 74 65 66 6e 20 27 31 2b 20 33 29 20 31 29 0a 20 20 20 20 20 20 20 20 l.(-iteratefn.'1+.3).1).........
43160 20 20 20 20 20 20 e2 87 92 20 34 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 ..........4...........(funcall.(
43180 2d 69 74 65 72 61 74 65 66 6e 20 27 63 64 72 20 33 29 20 27 28 31 20 32 20 33 20 34 20 35 29 29 -iteratefn.'cdr.3).'(1.2.3.4.5))
431a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 34 20 35 29 0a 0a 20 2d 2d 20 46 75 ...................(4.5)...--.Fu
431c0 6e 63 74 69 6f 6e 3a 20 2d 66 69 78 66 6e 20 28 66 6e 20 26 6f 70 74 69 6f 6e 61 6c 20 65 71 75 nction:.-fixfn.(fn.&optional.equ
431e0 61 6c 2d 74 65 73 74 20 68 61 6c 74 2d 74 65 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 al-test.halt-test)......Return.a
43200 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 63 6f 6d 70 75 74 65 73 20 74 68 65 20 28 6c 65 61 .function.that.computes.the.(lea
43220 73 74 29 20 66 69 78 70 6f 69 6e 74 20 6f 66 20 46 4e 2e 0a 0a 20 20 20 20 20 46 4e 20 6d 75 73 st).fixpoint.of.FN........FN.mus
43240 74 20 62 65 20 61 20 75 6e 61 72 79 20 66 75 6e 63 74 69 6f 6e 2e 20 20 54 68 65 20 72 65 74 75 t.be.a.unary.function...The.retu
43260 72 6e 65 64 20 6c 61 6d 62 64 61 20 74 61 6b 65 73 20 61 20 73 69 6e 67 6c 65 0a 20 20 20 20 20 rned.lambda.takes.a.single......
43280 61 72 67 75 6d 65 6e 74 2c 20 58 2c 20 74 68 65 20 69 6e 69 74 69 61 6c 20 76 61 6c 75 65 20 66 argument,.X,.the.initial.value.f
432a0 6f 72 20 74 68 65 20 66 69 78 70 6f 69 6e 74 20 69 74 65 72 61 74 69 6f 6e 2e 20 20 54 68 65 0a or.the.fixpoint.iteration...The.
432c0 20 20 20 20 20 69 74 65 72 61 74 69 6f 6e 20 68 61 6c 74 73 20 77 68 65 6e 20 65 69 74 68 65 72 .....iteration.halts.when.either
432e0 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6e 64 69 74 69 6f 6e 73 20 69 73 0a .of.the.following.conditions.is.
43300 20 20 20 20 20 73 61 74 69 73 66 69 65 64 3a 0a 0a 20 20 20 20 20 31 2e 20 20 49 74 65 72 61 74 .....satisfied:.......1...Iterat
43320 69 6f 6e 20 63 6f 6e 76 65 72 67 65 73 20 74 6f 20 74 68 65 20 66 69 78 70 6f 69 6e 74 2c 20 77 ion.converges.to.the.fixpoint,.w
43340 69 74 68 20 65 71 75 61 6c 69 74 79 20 62 65 69 6e 67 20 74 65 73 74 65 64 0a 20 20 20 20 20 75 ith.equality.being.tested......u
43360 73 69 6e 67 20 45 51 55 41 4c 2d 54 45 53 54 2e 20 20 49 66 20 45 51 55 41 4c 2d 54 45 53 54 20 sing.EQUAL-TEST...If.EQUAL-TEST.
43380 69 73 20 6e 6f 74 20 73 70 65 63 69 66 69 65 64 2c 20 e2 80 98 65 71 75 61 6c e2 80 99 20 69 73 is.not.specified,....equal....is
433a0 20 75 73 65 64 2e 0a 20 20 20 20 20 46 6f 72 20 66 75 6e 63 74 69 6f 6e 73 20 6f 76 65 72 20 74 .used.......For.functions.over.t
433c0 68 65 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 73 2c 20 69 74 20 6d 61 he.floating.point.numbers,.it.ma
433e0 79 20 62 65 20 6e 65 63 65 73 73 61 72 79 0a 20 20 20 20 20 74 6f 20 70 72 6f 76 69 64 65 20 61 y.be.necessary......to.provide.a
43400 6e 20 61 70 70 72 6f 70 72 69 61 74 65 20 61 70 70 72 6f 78 69 6d 61 74 65 20 63 6f 6d 70 61 72 n.appropriate.approximate.compar
43420 69 73 6f 6e 20 74 65 73 74 2e 0a 0a 20 20 20 20 20 32 2e 20 20 48 41 4c 54 2d 54 45 53 54 20 72 ison.test........2...HALT-TEST.r
43440 65 74 75 72 6e 73 20 61 20 6e 6f 6e 2d 6e 69 6c 20 76 61 6c 75 65 2e 20 20 48 41 4c 54 2d 54 45 eturns.a.non-nil.value...HALT-TE
43460 53 54 20 64 65 66 61 75 6c 74 73 20 74 6f 20 61 0a 20 20 20 20 20 73 69 6d 70 6c 65 20 63 6f 75 ST.defaults.to.a......simple.cou
43480 6e 74 65 72 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 74 20 61 66 74 65 72 20 e2 80 98 2d 66 69 nter.that.returns.t.after....-fi
434a0 78 66 6e 2d 6d 61 78 2d 69 74 65 72 61 74 69 6f 6e 73 e2 80 99 2c 20 74 6f 0a 20 20 20 20 20 67 xfn-max-iterations...,.to......g
434c0 75 61 72 64 20 61 67 61 69 6e 73 74 20 69 6e 66 69 6e 69 74 65 20 69 74 65 72 61 74 69 6f 6e 2e uard.against.infinite.iteration.
434e0 20 20 4f 74 68 65 72 77 69 73 65 2c 20 48 41 4c 54 2d 54 45 53 54 20 6d 75 73 74 20 62 65 20 61 ..Otherwise,.HALT-TEST.must.be.a
43500 0a 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 61 63 63 65 70 74 73 20 61 20 73 69 ......function.that.accepts.a.si
43520 6e 67 6c 65 20 61 72 67 75 6d 65 6e 74 2c 20 74 68 65 20 63 75 72 72 65 6e 74 20 76 61 6c 75 65 ngle.argument,.the.current.value
43540 20 6f 66 20 58 2c 0a 20 20 20 20 20 61 6e 64 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 20 .of.X,......and.returns.non-nil.
43560 61 73 20 6c 6f 6e 67 20 61 73 20 69 74 65 72 61 74 69 6f 6e 20 73 68 6f 75 6c 64 20 63 6f 6e 74 as.long.as.iteration.should.cont
43580 69 6e 75 65 2e 20 20 49 6e 20 74 68 69 73 0a 20 20 20 20 20 77 61 79 2c 20 61 20 6d 6f 72 65 20 inue...In.this......way,.a.more.
435a0 73 6f 70 68 69 73 74 69 63 61 74 65 64 20 63 6f 6e 76 65 72 67 65 6e 63 65 20 74 65 73 74 20 6d sophisticated.convergence.test.m
435c0 61 79 20 62 65 20 73 75 70 70 6c 69 65 64 20 62 79 20 74 68 65 0a 20 20 20 20 20 63 61 6c 6c 65 ay.be.supplied.by.the......calle
435e0 72 2e 0a 0a 20 20 20 20 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 6f 66 20 74 68 65 r........The.return.value.of.the
43600 20 6c 61 6d 62 64 61 20 69 73 20 65 69 74 68 65 72 20 74 68 65 20 66 69 78 70 6f 69 6e 74 20 6f .lambda.is.either.the.fixpoint.o
43620 72 2c 20 69 66 0a 20 20 20 20 20 69 74 65 72 61 74 69 6f 6e 20 68 61 6c 74 65 64 20 62 65 66 6f r,.if......iteration.halted.befo
43640 72 65 20 63 6f 6e 76 65 72 67 69 6e 67 2c 20 61 20 63 6f 6e 73 20 77 69 74 68 20 63 61 72 20 e2 re.converging,.a.cons.with.car..
43660 80 98 68 61 6c 74 65 64 e2 80 99 20 61 6e 64 0a 20 20 20 20 20 63 64 72 20 74 68 65 20 66 69 6e ..halted....and......cdr.the.fin
43680 61 6c 20 6f 75 74 70 75 74 20 66 72 6f 6d 20 48 41 4c 54 2d 54 45 53 54 2e 0a 0a 20 20 20 20 20 al.output.from.HALT-TEST........
436a0 49 6e 20 74 79 70 65 73 3a 20 28 61 20 2d 3e 20 61 29 20 2d 3e 20 61 20 2d 3e 20 61 2e 0a 0a 20 In.types:.(a.->.a).->.a.->.a....
436c0 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 66 69 78 66 6e 20 23 27 63 6f 73 20 .........(funcall.(-fixfn.#'cos.
436e0 23 27 61 70 70 72 6f 78 3d 29 20 30 2e 37 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 #'approx=).0.7).................
43700 92 20 30 2e 37 33 39 30 38 35 31 33 33 32 31 35 31 36 30 37 0a 20 20 20 20 20 20 20 20 20 20 28 ..0.7390851332151607...........(
43720 66 75 6e 63 61 6c 6c 20 28 2d 66 69 78 66 6e 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 65 78 70 funcall.(-fixfn.(lambda.(x).(exp
43740 74 20 28 2b 20 78 20 31 30 29 20 30 2e 32 35 29 29 29 20 32 2e 30 29 0a 20 20 20 20 20 20 20 20 t.(+.x.10).0.25))).2.0).........
43760 20 20 20 20 20 20 e2 87 92 20 31 2e 38 35 35 35 38 34 35 32 38 36 34 30 39 33 37 38 0a 20 20 20 ..........1.8555845286409378....
43780 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 66 69 78 66 6e 20 23 27 73 69 6e 20 23 27 .......(funcall.(-fixfn.#'sin.#'
437a0 61 70 70 72 6f 78 3d 29 20 30 2e 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 approx=).0.1)...................
437c0 28 68 61 6c 74 65 64 20 2e 20 74 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 70 72 6f (halted...t)...--.Function:.-pro
437e0 64 66 6e 20 28 26 72 65 73 74 20 66 6e 73 29 0a 20 20 20 20 20 54 61 6b 65 20 61 20 6c 69 73 74 dfn.(&rest.fns)......Take.a.list
43800 20 6f 66 20 6e 20 66 75 6e 63 74 69 6f 6e 73 20 61 6e 64 20 72 65 74 75 72 6e 20 61 20 66 75 6e .of.n.functions.and.return.a.fun
43820 63 74 69 6f 6e 20 74 68 61 74 20 74 61 6b 65 73 20 61 20 6c 69 73 74 0a 20 20 20 20 20 6f 66 20 ction.that.takes.a.list......of.
43840 6c 65 6e 67 74 68 20 6e 2c 20 61 70 70 6c 79 69 6e 67 20 69 2d 74 68 20 66 75 6e 63 74 69 6f 6e length.n,.applying.i-th.function
43860 20 74 6f 20 69 2d 74 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 69 6e 70 75 74 0a 20 20 .to.i-th.element.of.the.input...
43880 20 20 20 6c 69 73 74 2e 20 20 52 65 74 75 72 6e 73 20 61 20 6c 69 73 74 20 6f 66 20 6c 65 6e 67 ...list...Returns.a.list.of.leng
438a0 74 68 20 6e 2e 0a 0a 20 20 20 20 20 49 6e 20 74 79 70 65 73 20 28 66 6f 72 20 6e 3d 32 29 3a 20 th.n........In.types.(for.n=2):.
438c0 28 28 61 20 2d 3e 20 62 29 2c 20 28 63 20 2d 3e 20 64 29 29 20 2d 3e 20 28 61 2c 20 63 29 20 2d ((a.->.b),.(c.->.d)).->.(a,.c).-
438e0 3e 20 28 62 2c 20 64 29 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 73 61 74 >.(b,.d).......This.function.sat
43900 69 73 66 69 65 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6c 61 77 73 3a 0a 0a 20 20 20 20 isfies.the.following.laws:......
43920 20 28 2d 63 6f 6d 70 6f 73 65 20 28 2d 70 72 6f 64 66 6e 20 66 20 67 20 2e 2e 2e 29 20 28 2d 70 .(-compose.(-prodfn.f.g....).(-p
43940 72 6f 64 66 6e 20 66 e2 80 99 20 67 e2 80 99 20 2e 2e 2e 29 29 20 3d 20 28 2d 70 72 6f 64 66 6e rodfn.f....g.......)).=.(-prodfn
43960 0a 20 20 20 20 20 28 2d 63 6f 6d 70 6f 73 65 20 66 20 66 e2 80 99 29 20 28 2d 63 6f 6d 70 6f 73 ......(-compose.f.f...).(-compos
43980 65 20 67 20 67 e2 80 99 29 20 2e 2e 2e 29 20 28 2d 70 72 6f 64 66 6e 20 66 20 67 20 2e 2e 2e 29 e.g.g...)....).(-prodfn.f.g....)
439a0 20 3d 20 28 2d 6a 75 78 74 0a 20 20 20 20 20 28 2d 63 6f 6d 70 6f 73 65 20 66 20 28 2d 70 61 72 .=.(-juxt......(-compose.f.(-par
439c0 74 69 61 6c 20 e2 80 99 6e 74 68 20 30 29 29 20 28 2d 63 6f 6d 70 6f 73 65 20 67 20 28 2d 70 61 tial....nth.0)).(-compose.g.(-pa
439e0 72 74 69 61 6c 20 e2 80 99 6e 74 68 20 31 29 29 20 2e 2e 2e 29 0a 20 20 20 20 20 28 2d 63 6f 6d rtial....nth.1))....)......(-com
43a00 70 6f 73 65 20 28 2d 70 72 6f 64 66 6e 20 66 20 67 20 2e 2e 2e 29 20 28 2d 6a 75 78 74 20 66 e2 pose.(-prodfn.f.g....).(-juxt.f.
43a20 80 99 20 67 e2 80 99 20 2e 2e 2e 29 29 20 3d 20 28 2d 6a 75 78 74 20 28 2d 63 6f 6d 70 6f 73 65 ...g.......)).=.(-juxt.(-compose
43a40 20 66 0a 20 20 20 20 20 66 e2 80 99 29 20 28 2d 63 6f 6d 70 6f 73 65 20 67 20 67 e2 80 99 29 20 .f......f...).(-compose.g.g...).
43a60 2e 2e 2e 29 20 28 2d 63 6f 6d 70 6f 73 65 20 28 2d 70 61 72 74 69 61 6c 20 e2 80 99 6e 74 68 20 ...).(-compose.(-partial....nth.
43a80 6e 29 20 28 2d 70 72 6f 64 20 66 31 20 66 32 0a 20 20 20 20 20 2e 2e 2e 29 29 20 3d 20 28 2d 63 n).(-prod.f1.f2.........)).=.(-c
43aa0 6f 6d 70 6f 73 65 20 66 6e 20 28 2d 70 61 72 74 69 61 6c 20 e2 80 99 6e 74 68 20 6e 29 29 0a 0a ompose.fn.(-partial....nth.n))..
43ac0 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 70 72 6f 64 66 6e 20 27 31 2b 20 ..........(funcall.(-prodfn.'1+.
43ae0 27 31 2d 20 27 6e 75 6d 62 65 72 2d 74 6f 2d 73 74 72 69 6e 67 29 20 27 28 31 20 32 20 33 29 29 '1-.'number-to-string).'(1.2.3))
43b00 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 32 20 31 20 22 33 22 29 0a 20 20 20 ...................(2.1."3")....
43b20 20 20 20 20 20 20 20 28 2d 6d 61 70 20 28 2d 70 72 6f 64 66 6e 20 27 31 2b 20 27 31 2d 29 20 27 .......(-map.(-prodfn.'1+.'1-).'
43b40 28 28 31 20 32 29 20 28 33 20 34 29 20 28 35 20 36 29 20 28 37 20 38 29 29 29 0a 20 20 20 20 20 ((1.2).(3.4).(5.6).(7.8)))......
43b60 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 32 20 31 29 20 28 34 20 33 29 20 28 36 20 35 29 20 .............((2.1).(4.3).(6.5).
43b80 28 38 20 37 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 61 70 70 6c 79 20 27 2b 20 28 66 75 6e 63 (8.7))...........(apply.'+.(func
43ba0 61 6c 6c 20 28 2d 70 72 6f 64 66 6e 20 27 6c 65 6e 67 74 68 20 27 73 74 72 69 6e 67 2d 74 6f 2d all.(-prodfn.'length.'string-to-
43bc0 6e 75 6d 62 65 72 29 20 27 28 28 31 20 32 20 33 29 20 22 31 35 22 29 29 29 0a 20 20 20 20 20 20 number).'((1.2.3)."15"))).......
43be0 20 20 20 20 20 20 20 20 e2 87 92 20 31 38 0a 0a 1f 0a 46 69 6c 65 3a 20 64 61 73 68 2e 69 6e 66 ............18....File:.dash.inf
43c00 6f 2c 20 20 4e 6f 64 65 3a 20 44 65 76 65 6c 6f 70 6d 65 6e 74 2c 20 20 4e 65 78 74 3a 20 46 44 o,..Node:.Development,..Next:.FD
43c20 4c 2c 20 20 50 72 65 76 3a 20 46 75 6e 63 74 69 6f 6e 73 2c 20 20 55 70 3a 20 54 6f 70 0a 0a 33 L,..Prev:.Functions,..Up:.Top..3
43c40 20 44 65 76 65 6c 6f 70 6d 65 6e 74 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a 54 68 65 20 .Development.*************..The.
43c60 44 61 73 68 20 72 65 70 6f 73 69 74 6f 72 79 20 69 73 20 68 6f 73 74 65 64 20 6f 6e 20 47 69 74 Dash.repository.is.hosted.on.Git
43c80 48 75 62 20 61 74 0a 3c 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6d 61 67 6e 61 Hub.at.<https://github.com/magna
43ca0 72 73 2f 64 61 73 68 2e 65 6c 3e 2e 0a 0a 2a 20 4d 65 6e 75 3a 0a 0a 2a 20 43 6f 6e 74 72 69 62 rs/dash.el>...*.Menu:..*.Contrib
43cc0 75 74 65 3a 3a 20 20 20 20 20 20 20 20 20 20 48 6f 77 20 74 6f 20 63 6f 6e 74 72 69 62 75 74 65 ute::..........How.to.contribute
43ce0 2e 0a 2a 20 43 6f 6e 74 72 69 62 75 74 6f 72 73 3a 3a 20 20 20 20 20 20 20 20 4c 69 73 74 20 6f ..*.Contributors::........List.o
43d00 66 20 63 6f 6e 74 72 69 62 75 74 6f 72 73 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 61 73 68 2e 69 6e f.contributors.....File:.dash.in
43d20 66 6f 2c 20 20 4e 6f 64 65 3a 20 43 6f 6e 74 72 69 62 75 74 65 2c 20 20 4e 65 78 74 3a 20 43 6f fo,..Node:.Contribute,..Next:.Co
43d40 6e 74 72 69 62 75 74 6f 72 73 2c 20 20 55 70 3a 20 44 65 76 65 6c 6f 70 6d 65 6e 74 0a 0a 33 2e ntributors,..Up:.Development..3.
43d60 31 20 43 6f 6e 74 72 69 62 75 74 65 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 59 65 73 1.Contribute.==============..Yes
43d80 2c 20 70 6c 65 61 73 65 20 64 6f 2e 20 20 50 75 72 65 20 66 75 6e 63 74 69 6f 6e 73 20 69 6e 20 ,.please.do...Pure.functions.in.
43da0 74 68 65 20 6c 69 73 74 20 6d 61 6e 69 70 75 6c 61 74 69 6f 6e 20 72 65 61 6c 6d 20 6f 6e 6c 79 the.list.manipulation.realm.only
43dc0 2c 0a 70 6c 65 61 73 65 2e 20 20 54 68 65 72 65 e2 80 99 73 20 61 20 73 75 69 74 65 20 6f 66 20 ,.please...There...s.a.suite.of.
43de0 65 78 61 6d 70 6c 65 73 2f 74 65 73 74 73 20 69 6e 20 e2 80 98 64 65 76 2f 65 78 61 6d 70 6c 65 examples/tests.in....dev/example
43e00 73 2e 65 6c e2 80 99 2c 20 73 6f 0a 72 65 6d 65 6d 62 65 72 20 74 6f 20 61 64 64 20 74 65 73 74 s.el...,.so.remember.to.add.test
43e20 73 20 66 6f 72 20 79 6f 75 72 20 61 64 64 69 74 69 6f 6e 73 2c 20 6f 72 20 74 68 65 79 20 6d 61 s.for.your.additions,.or.they.ma
43e40 79 20 67 65 74 20 62 72 6f 6b 65 6e 20 6c 61 74 65 72 2e 0a 0a 20 20 20 52 75 6e 20 74 68 65 20 y.get.broken.later......Run.the.
43e60 74 65 73 74 73 20 77 69 74 68 20 e2 80 98 6d 61 6b 65 20 63 68 65 63 6b e2 80 99 2e 20 20 52 65 tests.with....make.check......Re
43e80 67 65 6e 65 72 61 74 65 20 74 68 65 20 64 6f 63 73 20 77 69 74 68 20 e2 80 98 6d 61 6b 65 0a 64 generate.the.docs.with....make.d
43ea0 6f 63 73 e2 80 99 2e 20 20 43 6f 6e 74 72 69 62 75 74 6f 72 73 20 61 72 65 20 65 6e 63 6f 75 72 ocs......Contributors.are.encour
43ec0 61 67 65 64 20 74 6f 20 69 6e 73 74 61 6c 6c 20 74 68 65 73 65 20 63 6f 6d 6d 61 6e 64 73 20 61 aged.to.install.these.commands.a
43ee0 73 20 61 20 47 69 74 0a 70 72 65 2d 63 6f 6d 6d 69 74 20 68 6f 6f 6b 2c 20 73 6f 20 74 68 61 74 s.a.Git.pre-commit.hook,.so.that
43f00 20 74 68 65 20 74 65 73 74 73 20 61 72 65 20 61 6c 77 61 79 73 20 72 75 6e 6e 69 6e 67 20 61 6e .the.tests.are.always.running.an
43f20 64 20 74 68 65 20 64 6f 63 73 20 61 72 65 0a 61 6c 77 61 79 73 20 69 6e 20 73 79 6e 63 3a 0a 0a d.the.docs.are.always.in.sync:..
43f40 20 20 20 20 20 24 20 63 70 20 64 65 76 2f 70 72 65 2d 63 6f 6d 6d 69 74 2e 73 68 20 2e 67 69 74 .....$.cp.dev/pre-commit.sh..git
43f60 2f 68 6f 6f 6b 73 2f 70 72 65 2d 63 6f 6d 6d 69 74 0a 0a 20 20 20 4f 68 2c 20 61 6e 64 20 64 6f /hooks/pre-commit.....Oh,.and.do
43f80 6e e2 80 99 74 20 65 64 69 74 20 e2 80 98 52 45 41 44 4d 45 2e 6d 64 e2 80 99 20 6f 72 20 e2 80 n...t.edit....README.md....or...
43fa0 98 64 61 73 68 2e 74 65 78 69 e2 80 99 20 64 69 72 65 63 74 6c 79 2c 20 61 73 20 74 68 65 79 20 .dash.texi....directly,.as.they.
43fc0 61 72 65 0a 61 75 74 6f 2d 67 65 6e 65 72 61 74 65 64 2e 20 20 49 6e 73 74 65 61 64 2c 20 63 68 are.auto-generated...Instead,.ch
43fe0 61 6e 67 65 20 74 68 65 69 72 20 72 65 73 70 65 63 74 69 76 65 20 74 65 6d 70 6c 61 74 65 73 0a ange.their.respective.templates.
44000 e2 80 98 72 65 61 64 6d 65 2d 74 65 6d 70 6c 61 74 65 2e 6d 64 e2 80 99 20 6f 72 20 e2 80 98 64 ...readme-template.md....or....d
44020 61 73 68 2d 74 65 6d 70 6c 61 74 65 2e 74 65 78 69 e2 80 99 2e 0a 0a 20 20 20 54 6f 20 65 6e 73 ash-template.texi.........To.ens
44040 75 72 65 20 74 68 61 74 20 44 61 73 68 20 63 61 6e 20 62 65 20 64 69 73 74 72 69 62 75 74 65 64 ure.that.Dash.can.be.distributed
44060 20 77 69 74 68 20 47 4e 55 20 45 4c 50 41 20 6f 72 20 45 6d 61 63 73 2c 20 77 65 0a 72 65 71 75 .with.GNU.ELPA.or.Emacs,.we.requ
44080 69 72 65 20 74 68 61 74 20 61 6c 6c 20 63 6f 6e 74 72 69 62 75 74 6f 72 73 20 61 73 73 69 67 6e ire.that.all.contributors.assign
440a0 20 63 6f 70 79 72 69 67 68 74 20 74 6f 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 0a .copyright.to.the.Free.Software.
440c0 46 6f 75 6e 64 61 74 69 6f 6e 2e 20 20 46 6f 72 20 6d 6f 72 65 20 6f 6e 20 74 68 69 73 2c 20 2a Foundation...For.more.on.this,.*
440e0 6e 6f 74 65 20 28 65 6d 61 63 73 29 43 6f 70 79 72 69 67 68 74 20 41 73 73 69 67 6e 6d 65 6e 74 note.(emacs)Copyright.Assignment
44100 3a 3a 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 61 73 68 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 43 ::.....File:.dash.info,..Node:.C
44120 6f 6e 74 72 69 62 75 74 6f 72 73 2c 20 20 50 72 65 76 3a 20 43 6f 6e 74 72 69 62 75 74 65 2c 20 ontributors,..Prev:.Contribute,.
44140 20 55 70 3a 20 44 65 76 65 6c 6f 70 6d 65 6e 74 0a 0a 33 2e 32 20 43 6f 6e 74 72 69 62 75 74 6f .Up:.Development..3.2.Contributo
44160 72 73 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 20 20 20 e2 80 a2 20 4d 61 74 75 rs.================.........Matu
44180 73 20 47 6f 6c 6a 65 72 20 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 46 75 63 s.Goljer.(https://github.com/Fuc
441a0 6f 31 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 6c 6f 74 73 20 6f 66 0a 20 20 20 20 20 66 65 61 o1).contributed.lots.of......fea
441c0 74 75 72 65 73 20 61 6e 64 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 20 20 20 e2 80 a2 20 54 61 6b 61 tures.and.functions.........Taka
441e0 66 75 6d 69 20 41 72 61 6b 61 6b 69 20 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d fumi.Arakaki.(https://github.com
44200 2f 74 6b 66 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 e2 80 98 2d 67 72 6f 75 70 2d 62 79 e2 80 /tkf).contributed....-group-by..
44220 99 2e 0a 20 20 20 e2 80 a2 20 74 61 6c 69 37 31 33 20 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 ..........tali713.(https://githu
44240 62 2e 63 6f 6d 2f 74 61 6c 69 37 31 33 29 20 69 73 20 74 68 65 20 61 75 74 68 6f 72 20 6f 66 20 b.com/tali713).is.the.author.of.
44260 e2 80 98 2d 61 70 70 6c 69 66 79 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 56 c3 ad 63 74 6f 72 20 4d ...-applify............V..ctor.M
44280 2e 20 56 61 6c 65 6e 7a 75 65 6c 61 20 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d ..Valenzuela.(https://github.com
442a0 2f 76 65 6d 76 29 20 63 6f 6e 74 72 69 62 75 74 65 64 0a 20 20 20 20 20 e2 80 98 2d 72 65 70 65 /vemv).contributed.........-repe
442c0 61 74 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 4e 69 63 20 46 65 72 72 69 65 72 20 28 68 74 74 70 73 at............Nic.Ferrier.(https
442e0 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6e 69 63 66 65 72 72 69 65 72 29 20 63 6f 6e 74 72 69 ://github.com/nicferrier).contri
44300 62 75 74 65 64 20 e2 80 98 2d 63 6f 6e 73 2a e2 80 99 2e 0a 20 20 20 e2 80 a2 20 57 69 6c 66 72 buted....-cons*............Wilfr
44320 65 64 20 48 75 67 68 65 73 20 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 57 69 ed.Hughes.(https://github.com/Wi
44340 6c 66 72 65 64 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 e2 80 98 2d 73 6c 69 63 65 e2 80 99 2c lfred).contributed....-slice...,
44360 0a 20 20 20 20 20 e2 80 98 2d 66 69 72 73 74 2d 69 74 65 6d e2 80 99 2c 20 61 6e 64 20 e2 80 98 .........-first-item...,.and....
44380 2d 6c 61 73 74 2d 69 74 65 6d e2 80 99 2e 0a 20 20 20 e2 80 a2 20 45 6d 61 6e 75 65 6c 20 45 76 -last-item............Emanuel.Ev
443a0 61 6e 73 20 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 73 68 6f 73 74 69 29 20 ans.(https://github.com/shosti).
443c0 63 6f 6e 74 72 69 62 75 74 65 64 20 e2 80 98 2d 69 66 2d 6c 65 74 e2 80 99 2c 0a 20 20 20 20 20 contributed....-if-let...,......
443e0 e2 80 98 2d 77 68 65 6e 2d 6c 65 74 e2 80 99 2c 20 61 6e 64 20 e2 80 98 2d 69 6e 73 65 72 74 2d ...-when-let...,.and....-insert-
44400 61 74 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 4a 6f 68 61 6e 20 41 6e 64 65 72 73 73 6f 6e 20 28 68 at............Johan.Andersson.(h
44420 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 72 65 6a 65 65 70 29 20 63 6f 6e 74 72 69 ttps://github.com/rejeep).contri
44440 62 75 74 65 64 20 e2 80 98 2d 73 75 6d e2 80 99 2c 0a 20 20 20 20 20 e2 80 98 2d 70 72 6f 64 75 buted....-sum...,.........-produ
44460 63 74 e2 80 99 2c 20 61 6e 64 20 e2 80 98 2d 73 61 6d 65 2d 69 74 65 6d 73 3f e2 80 99 2e 0a 20 ct...,.and....-same-items?......
44480 20 20 e2 80 a2 20 43 68 72 69 73 74 69 6e 61 20 57 68 79 74 65 20 28 68 74 74 70 73 3a 2f 2f 67 ......Christina.Whyte.(https://g
444a0 69 74 68 75 62 2e 63 6f 6d 2f 6b 75 72 69 73 75 77 68 79 74 65 29 20 63 6f 6e 74 72 69 62 75 74 ithub.com/kurisuwhyte).contribut
444c0 65 64 0a 20 20 20 20 20 e2 80 98 2d 63 6f 6d 70 6f 73 65 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 53 ed.........-compose............S
444e0 74 65 76 65 20 4c 61 6d 62 20 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 73 74 teve.Lamb.(https://github.com/st
44500 65 76 65 6e 74 6c 61 6d 62 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 e2 80 98 2d 63 79 63 6c 65 eventlamb).contributed....-cycle
44520 e2 80 99 2c 0a 20 20 20 20 20 e2 80 98 2d 70 61 64 e2 80 99 2c 20 e2 80 98 2d 61 6e 6e 6f 74 61 ...,.........-pad...,....-annota
44540 74 65 e2 80 99 2c 20 e2 80 98 2d 7a 69 70 2d 66 69 6c 6c e2 80 99 2c 20 61 6e 64 20 61 20 76 61 te...,....-zip-fill...,.and.a.va
44560 72 69 61 64 69 63 20 76 65 72 73 69 6f 6e 20 6f 66 20 e2 80 98 2d 7a 69 70 e2 80 99 2e 0a 20 20 riadic.version.of....-zip.......
44580 20 e2 80 a2 20 46 72 65 64 72 69 6b 20 42 65 72 67 72 6f 74 68 20 28 68 74 74 70 73 3a 2f 2f 67 .....Fredrik.Bergroth.(https://g
445a0 69 74 68 75 62 2e 63 6f 6d 2f 66 62 65 72 67 72 6f 74 68 29 20 6d 61 64 65 20 74 68 65 20 e2 80 ithub.com/fbergroth).made.the...
445c0 98 2d 69 66 2d 6c 65 74 e2 80 99 0a 20 20 20 20 20 66 61 6d 69 6c 79 20 75 73 65 20 e2 80 98 2d .-if-let.........family.use....-
445e0 6c 65 74 e2 80 99 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 20 61 6e 64 20 69 6d 70 72 6f 76 65 let....destructuring.and.improve
44600 64 20 74 68 65 20 73 63 72 69 70 74 20 66 6f 72 0a 20 20 20 20 20 67 65 6e 65 72 61 74 69 6e 67 d.the.script.for......generating
44620 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2e 0a 20 20 20 e2 80 a2 20 4d 61 72 6b 20 4f 74 65 69 .documentation.........Mark.Otei
44640 7a 61 20 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 68 6f 6c 6f 6d 6f 72 70 68 za.(https://github.com/holomorph
44660 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 e2 80 98 2d 69 6f 74 61 e2 80 99 20 61 6e 64 0a 20 20 ).contributed....-iota....and...
44680 20 20 20 74 68 65 20 73 63 72 69 70 74 20 74 6f 20 63 72 65 61 74 65 20 61 6e 20 49 6e 66 6f 20 ...the.script.to.create.an.Info.
446a0 6d 61 6e 75 61 6c 2e 0a 20 20 20 e2 80 a2 20 56 61 73 69 6c 69 6a 20 53 63 68 6e 65 69 64 65 72 manual.........Vasilij.Schneider
446c0 6d 61 6e 6e 20 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 77 61 73 61 6d 61 73 mann.(https://github.com/wasamas
446e0 61 29 20 63 6f 6e 74 72 69 62 75 74 65 64 0a 20 20 20 20 20 e2 80 98 2d 73 6f 6d 65 e2 80 99 2e a).contributed.........-some....
44700 0a 20 20 20 e2 80 a2 20 57 69 6c 6c 69 61 6d 20 57 65 73 74 20 28 68 74 74 70 73 3a 2f 2f 67 69 ........William.West.(https://gi
44720 74 68 75 62 2e 63 6f 6d 2f 6f 63 63 69 64 65 6e 73 29 20 6d 61 64 65 20 e2 80 98 2d 66 69 78 66 thub.com/occidens).made....-fixf
44740 6e e2 80 99 20 6d 6f 72 65 0a 20 20 20 20 20 72 6f 62 75 73 74 20 61 74 20 68 61 6e 64 6c 69 6e n....more......robust.at.handlin
44760 67 20 66 6c 6f 61 74 73 2e 0a 20 20 20 e2 80 a2 20 43 61 6d 20 53 61 75 6c 20 28 68 74 74 70 73 g.floats.........Cam.Saul.(https
44780 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 63 61 6d 73 61 75 6c 29 20 63 6f 6e 74 72 69 62 75 74 ://github.com/camsaul).contribut
447a0 65 64 20 e2 80 98 2d 73 6f 6d 65 2d 3e e2 80 99 2c 0a 20 20 20 20 20 e2 80 98 2d 73 6f 6d 65 2d ed....-some->...,.........-some-
447c0 3e 3e e2 80 99 2c 20 61 6e 64 20 e2 80 98 2d 73 6f 6d 65 2d 2d 3e e2 80 99 2e 0a 20 20 20 e2 80 >>...,.and....-some-->..........
447e0 a2 20 42 61 73 69 6c 20 4c 2e 20 43 6f 6e 74 6f 76 6f 75 6e 65 73 69 6f 73 20 28 68 74 74 70 73 ..Basil.L..Contovounesios.(https
44800 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 62 61 73 69 6c 2d 63 6f 6e 74 6f 29 0a 20 20 20 20 20 ://github.com/basil-conto)......
44820 63 6f 6e 74 72 69 62 75 74 65 64 20 e2 80 98 2d 63 6f 6d 6d 6f 6e 2d 70 72 65 66 69 78 e2 80 99 contributed....-common-prefix...
44840 2c 20 e2 80 98 2d 63 6f 6d 6d 6f 6e 2d 73 75 66 66 69 78 e2 80 99 2c 20 61 6e 64 20 76 61 72 69 ,....-common-suffix...,.and.vari
44860 6f 75 73 20 6f 74 68 65 72 0a 20 20 20 20 20 69 6d 70 72 6f 76 65 6d 65 6e 74 73 2e 0a 20 20 20 ous.other......improvements.....
44880 e2 80 a2 20 50 61 75 6c 20 50 6f 67 6f 6e 79 73 68 65 76 20 28 68 74 74 70 73 3a 2f 2f 67 69 74 ....Paul.Pogonyshev.(https://git
448a0 68 75 62 2e 63 6f 6d 2f 64 6f 75 62 6c 65 70 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 e2 80 98 hub.com/doublep).contributed....
448c0 2d 65 61 63 68 2d 72 e2 80 99 0a 20 20 20 20 20 61 6e 64 20 e2 80 98 2d 65 61 63 68 2d 72 2d 77 -each-r.........and....-each-r-w
448e0 68 69 6c 65 e2 80 99 2e 0a 0a 20 20 20 54 68 61 6e 6b 73 21 0a 0a 20 20 20 4e 65 77 20 63 6f 6e hile.........Thanks!.....New.con
44900 74 72 69 62 75 74 6f 72 73 20 61 72 65 20 76 65 72 79 20 77 65 6c 63 6f 6d 65 2e 20 20 2a 4e 6f tributors.are.very.welcome...*No
44920 74 65 20 43 6f 6e 74 72 69 62 75 74 65 3a 3a 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 61 73 68 2e 69 te.Contribute::.....File:.dash.i
44940 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 46 44 4c 2c 20 20 4e 65 78 74 3a 20 47 50 4c 2c 20 20 50 72 nfo,..Node:.FDL,..Next:.GPL,..Pr
44960 65 76 3a 20 44 65 76 65 6c 6f 70 6d 65 6e 74 2c 20 20 55 70 3a 20 54 6f 70 0a 0a 41 70 70 65 6e ev:.Development,..Up:.Top..Appen
44980 64 69 78 20 41 20 47 4e 55 20 46 72 65 65 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 4c 69 63 dix.A.GNU.Free.Documentation.Lic
449a0 65 6e 73 65 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ense.***************************
449c0 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 **************..................
449e0 20 20 20 20 20 56 65 72 73 69 6f 6e 20 31 2e 33 2c 20 33 20 4e 6f 76 65 6d 62 65 72 20 32 30 30 .....Version.1.3,.3.November.200
44a00 38 0a 0a 20 20 20 20 20 43 6f 70 79 72 69 67 68 74 20 c2 a9 20 32 30 30 30 2c 20 32 30 30 31 2c 8.......Copyright....2000,.2001,
44a20 20 32 30 30 32 2c 20 32 30 30 37 2c 20 32 30 30 38 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 .2002,.2007,.2008.Free.Software.
44a40 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 20 20 20 20 20 3c 68 74 74 70 73 3a 2f 2f 66 Foundation,.Inc.......<https://f
44a60 73 66 2e 6f 72 67 2f 3e 0a 0a 20 20 20 20 20 45 76 65 72 79 6f 6e 65 20 69 73 20 70 65 72 6d 69 sf.org/>.......Everyone.is.permi
44a80 74 74 65 64 20 74 6f 20 63 6f 70 79 20 61 6e 64 20 64 69 73 74 72 69 62 75 74 65 20 76 65 72 62 tted.to.copy.and.distribute.verb
44aa0 61 74 69 6d 20 63 6f 70 69 65 73 0a 20 20 20 20 20 6f 66 20 74 68 69 73 20 6c 69 63 65 6e 73 65 atim.copies......of.this.license
44ac0 20 64 6f 63 75 6d 65 6e 74 2c 20 62 75 74 20 63 68 61 6e 67 69 6e 67 20 69 74 20 69 73 20 6e 6f .document,.but.changing.it.is.no
44ae0 74 20 61 6c 6c 6f 77 65 64 2e 0a 0a 20 20 30 2e 20 50 52 45 41 4d 42 4c 45 0a 0a 20 20 20 20 20 t.allowed.....0..PREAMBLE.......
44b00 54 68 65 20 70 75 72 70 6f 73 65 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 69 73 20 74 The.purpose.of.this.License.is.t
44b20 6f 20 6d 61 6b 65 20 61 20 6d 61 6e 75 61 6c 2c 20 74 65 78 74 62 6f 6f 6b 2c 20 6f 72 20 6f 74 o.make.a.manual,.textbook,.or.ot
44b40 68 65 72 0a 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 61 6c 20 61 6e 64 20 75 73 65 66 75 6c 20 64 her......functional.and.useful.d
44b60 6f 63 75 6d 65 6e 74 20 e2 80 9c 66 72 65 65 e2 80 9d 20 69 6e 20 74 68 65 20 73 65 6e 73 65 20 ocument....free....in.the.sense.
44b80 6f 66 20 66 72 65 65 64 6f 6d 3a 20 74 6f 0a 20 20 20 20 20 61 73 73 75 72 65 20 65 76 65 72 79 of.freedom:.to......assure.every
44ba0 6f 6e 65 20 74 68 65 20 65 66 66 65 63 74 69 76 65 20 66 72 65 65 64 6f 6d 20 74 6f 20 63 6f 70 one.the.effective.freedom.to.cop
44bc0 79 20 61 6e 64 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 2c 0a 20 20 20 20 20 77 69 74 68 y.and.redistribute.it,......with
44be0 20 6f 72 20 77 69 74 68 6f 75 74 20 6d 6f 64 69 66 79 69 6e 67 20 69 74 2c 20 65 69 74 68 65 72 .or.without.modifying.it,.either
44c00 20 63 6f 6d 6d 65 72 63 69 61 6c 6c 79 20 6f 72 0a 20 20 20 20 20 6e 6f 6e 63 6f 6d 6d 65 72 63 .commercially.or......noncommerc
44c20 69 61 6c 6c 79 2e 20 20 53 65 63 6f 6e 64 61 72 69 6c 79 2c 20 74 68 69 73 20 4c 69 63 65 6e 73 ially...Secondarily,.this.Licens
44c40 65 20 70 72 65 73 65 72 76 65 73 20 66 6f 72 20 74 68 65 0a 20 20 20 20 20 61 75 74 68 6f 72 20 e.preserves.for.the......author.
44c60 61 6e 64 20 70 75 62 6c 69 73 68 65 72 20 61 20 77 61 79 20 74 6f 20 67 65 74 20 63 72 65 64 69 and.publisher.a.way.to.get.credi
44c80 74 20 66 6f 72 20 74 68 65 69 72 20 77 6f 72 6b 2c 20 77 68 69 6c 65 20 6e 6f 74 0a 20 20 20 20 t.for.their.work,.while.not.....
44ca0 20 62 65 69 6e 67 20 63 6f 6e 73 69 64 65 72 65 64 20 72 65 73 70 6f 6e 73 69 62 6c 65 20 66 6f .being.considered.responsible.fo
44cc0 72 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 73 20 6d 61 64 65 20 62 79 20 6f 74 68 65 72 73 2e 0a r.modifications.made.by.others..
44ce0 0a 20 20 20 20 20 54 68 69 73 20 4c 69 63 65 6e 73 65 20 69 73 20 61 20 6b 69 6e 64 20 6f 66 20 ......This.License.is.a.kind.of.
44d00 e2 80 9c 63 6f 70 79 6c 65 66 74 e2 80 9d 2c 20 77 68 69 63 68 20 6d 65 61 6e 73 20 74 68 61 74 ...copyleft...,.which.means.that
44d20 20 64 65 72 69 76 61 74 69 76 65 0a 20 20 20 20 20 77 6f 72 6b 73 20 6f 66 20 74 68 65 20 64 6f .derivative......works.of.the.do
44d40 63 75 6d 65 6e 74 20 6d 75 73 74 20 74 68 65 6d 73 65 6c 76 65 73 20 62 65 20 66 72 65 65 20 69 cument.must.themselves.be.free.i
44d60 6e 20 74 68 65 20 73 61 6d 65 20 73 65 6e 73 65 2e 0a 20 20 20 20 20 49 74 20 63 6f 6d 70 6c 65 n.the.same.sense.......It.comple
44d80 6d 65 6e 74 73 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 ments.the.GNU.General.Public.Lic
44da0 65 6e 73 65 2c 20 77 68 69 63 68 20 69 73 20 61 20 63 6f 70 79 6c 65 66 74 0a 20 20 20 20 20 6c ense,.which.is.a.copyleft......l
44dc0 69 63 65 6e 73 65 20 64 65 73 69 67 6e 65 64 20 66 6f 72 20 66 72 65 65 20 73 6f 66 74 77 61 72 icense.designed.for.free.softwar
44de0 65 2e 0a 0a 20 20 20 20 20 57 65 20 68 61 76 65 20 64 65 73 69 67 6e 65 64 20 74 68 69 73 20 4c e........We.have.designed.this.L
44e00 69 63 65 6e 73 65 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 75 73 65 20 69 74 20 66 6f 72 20 6d 61 icense.in.order.to.use.it.for.ma
44e20 6e 75 61 6c 73 20 66 6f 72 0a 20 20 20 20 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 2c 20 62 65 nuals.for......free.software,.be
44e40 63 61 75 73 65 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 20 6e 65 65 64 73 20 66 72 65 65 20 64 cause.free.software.needs.free.d
44e60 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 3a 20 61 0a 20 20 20 20 20 66 72 65 65 20 70 72 6f 67 72 61 ocumentation:.a......free.progra
44e80 6d 20 73 68 6f 75 6c 64 20 63 6f 6d 65 20 77 69 74 68 20 6d 61 6e 75 61 6c 73 20 70 72 6f 76 69 m.should.come.with.manuals.provi
44ea0 64 69 6e 67 20 74 68 65 20 73 61 6d 65 20 66 72 65 65 64 6f 6d 73 0a 20 20 20 20 20 74 68 61 74 ding.the.same.freedoms......that
44ec0 20 74 68 65 20 73 6f 66 74 77 61 72 65 20 64 6f 65 73 2e 20 20 42 75 74 20 74 68 69 73 20 4c 69 .the.software.does...But.this.Li
44ee0 63 65 6e 73 65 20 69 73 20 6e 6f 74 20 6c 69 6d 69 74 65 64 20 74 6f 0a 20 20 20 20 20 73 6f 66 cense.is.not.limited.to......sof
44f00 74 77 61 72 65 20 6d 61 6e 75 61 6c 73 3b 20 69 74 20 63 61 6e 20 62 65 20 75 73 65 64 20 66 6f tware.manuals;.it.can.be.used.fo
44f20 72 20 61 6e 79 20 74 65 78 74 75 61 6c 20 77 6f 72 6b 2c 20 72 65 67 61 72 64 6c 65 73 73 0a 20 r.any.textual.work,.regardless..
44f40 20 20 20 20 6f 66 20 73 75 62 6a 65 63 74 20 6d 61 74 74 65 72 20 6f 72 20 77 68 65 74 68 65 72 ....of.subject.matter.or.whether
44f60 20 69 74 20 69 73 20 70 75 62 6c 69 73 68 65 64 20 61 73 20 61 20 70 72 69 6e 74 65 64 20 62 6f .it.is.published.as.a.printed.bo
44f80 6f 6b 2e 20 20 57 65 0a 20 20 20 20 20 72 65 63 6f 6d 6d 65 6e 64 20 74 68 69 73 20 4c 69 63 65 ok...We......recommend.this.Lice
44fa0 6e 73 65 20 70 72 69 6e 63 69 70 61 6c 6c 79 20 66 6f 72 20 77 6f 72 6b 73 20 77 68 6f 73 65 20 nse.principally.for.works.whose.
44fc0 70 75 72 70 6f 73 65 20 69 73 0a 20 20 20 20 20 69 6e 73 74 72 75 63 74 69 6f 6e 20 6f 72 20 72 purpose.is......instruction.or.r
44fe0 65 66 65 72 65 6e 63 65 2e 0a 0a 20 20 31 2e 20 41 50 50 4c 49 43 41 42 49 4c 49 54 59 20 41 4e eference.....1..APPLICABILITY.AN
45000 44 20 44 45 46 49 4e 49 54 49 4f 4e 53 0a 0a 20 20 20 20 20 54 68 69 73 20 4c 69 63 65 6e 73 65 D.DEFINITIONS.......This.License
45020 20 61 70 70 6c 69 65 73 20 74 6f 20 61 6e 79 20 6d 61 6e 75 61 6c 20 6f 72 20 6f 74 68 65 72 20 .applies.to.any.manual.or.other.
45040 77 6f 72 6b 2c 20 69 6e 20 61 6e 79 20 6d 65 64 69 75 6d 2c 0a 20 20 20 20 20 74 68 61 74 20 63 work,.in.any.medium,......that.c
45060 6f 6e 74 61 69 6e 73 20 61 20 6e 6f 74 69 63 65 20 70 6c 61 63 65 64 20 62 79 20 74 68 65 20 63 ontains.a.notice.placed.by.the.c
45080 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 73 61 79 69 6e 67 20 69 74 20 63 61 6e 0a 20 20 opyright.holder.saying.it.can...
450a0 20 20 20 62 65 20 64 69 73 74 72 69 62 75 74 65 64 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d ...be.distributed.under.the.term
450c0 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 53 75 63 68 20 61 20 6e 6f 74 69 63 s.of.this.License...Such.a.notic
450e0 65 0a 20 20 20 20 20 67 72 61 6e 74 73 20 61 20 77 6f 72 6c 64 2d 77 69 64 65 2c 20 72 6f 79 61 e......grants.a.world-wide,.roya
45100 6c 74 79 2d 66 72 65 65 20 6c 69 63 65 6e 73 65 2c 20 75 6e 6c 69 6d 69 74 65 64 20 69 6e 20 64 lty-free.license,.unlimited.in.d
45120 75 72 61 74 69 6f 6e 2c 0a 20 20 20 20 20 74 6f 20 75 73 65 20 74 68 61 74 20 77 6f 72 6b 20 75 uration,......to.use.that.work.u
45140 6e 64 65 72 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 73 20 73 74 61 74 65 64 20 68 65 72 65 69 nder.the.conditions.stated.herei
45160 6e 2e 20 20 54 68 65 0a 20 20 20 20 20 e2 80 9c 44 6f 63 75 6d 65 6e 74 e2 80 9d 2c 20 62 65 6c n...The.........Document...,.bel
45180 6f 77 2c 20 72 65 66 65 72 73 20 74 6f 20 61 6e 79 20 73 75 63 68 20 6d 61 6e 75 61 6c 20 6f 72 ow,.refers.to.any.such.manual.or
451a0 20 77 6f 72 6b 2e 20 20 41 6e 79 20 6d 65 6d 62 65 72 0a 20 20 20 20 20 6f 66 20 74 68 65 20 70 .work...Any.member......of.the.p
451c0 75 62 6c 69 63 20 69 73 20 61 20 6c 69 63 65 6e 73 65 65 2c 20 61 6e 64 20 69 73 20 61 64 64 72 ublic.is.a.licensee,.and.is.addr
451e0 65 73 73 65 64 20 61 73 20 e2 80 9c 79 6f 75 e2 80 9d 2e 20 20 59 6f 75 20 61 63 63 65 70 74 0a essed.as....you......You.accept.
45200 20 20 20 20 20 74 68 65 20 6c 69 63 65 6e 73 65 20 69 66 20 79 6f 75 20 63 6f 70 79 2c 20 6d 6f .....the.license.if.you.copy,.mo
45220 64 69 66 79 20 6f 72 20 64 69 73 74 72 69 62 75 74 65 20 74 68 65 20 77 6f 72 6b 20 69 6e 20 61 dify.or.distribute.the.work.in.a
45240 20 77 61 79 0a 20 20 20 20 20 72 65 71 75 69 72 69 6e 67 20 70 65 72 6d 69 73 73 69 6f 6e 20 75 .way......requiring.permission.u
45260 6e 64 65 72 20 63 6f 70 79 72 69 67 68 74 20 6c 61 77 2e 0a 0a 20 20 20 20 20 41 20 e2 80 9c 4d nder.copyright.law........A....M
45280 6f 64 69 66 69 65 64 20 56 65 72 73 69 6f 6e e2 80 9d 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 odified.Version....of.the.Docume
452a0 6e 74 20 6d 65 61 6e 73 20 61 6e 79 20 77 6f 72 6b 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 nt.means.any.work.containing.the
452c0 0a 20 20 20 20 20 44 6f 63 75 6d 65 6e 74 20 6f 72 20 61 20 70 6f 72 74 69 6f 6e 20 6f 66 20 69 ......Document.or.a.portion.of.i
452e0 74 2c 20 65 69 74 68 65 72 20 63 6f 70 69 65 64 20 76 65 72 62 61 74 69 6d 2c 20 6f 72 20 77 69 t,.either.copied.verbatim,.or.wi
45300 74 68 0a 20 20 20 20 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 73 20 61 6e 64 2f 6f 72 20 74 72 61 th......modifications.and/or.tra
45320 6e 73 6c 61 74 65 64 20 69 6e 74 6f 20 61 6e 6f 74 68 65 72 20 6c 61 6e 67 75 61 67 65 2e 0a 0a nslated.into.another.language...
45340 20 20 20 20 20 41 20 e2 80 9c 53 65 63 6f 6e 64 61 72 79 20 53 65 63 74 69 6f 6e e2 80 9d 20 69 .....A....Secondary.Section....i
45360 73 20 61 20 6e 61 6d 65 64 20 61 70 70 65 6e 64 69 78 20 6f 72 20 61 20 66 72 6f 6e 74 2d 6d 61 s.a.named.appendix.or.a.front-ma
45380 74 74 65 72 20 73 65 63 74 69 6f 6e 0a 20 20 20 20 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e tter.section......of.the.Documen
453a0 74 20 74 68 61 74 20 64 65 61 6c 73 20 65 78 63 6c 75 73 69 76 65 6c 79 20 77 69 74 68 20 74 68 t.that.deals.exclusively.with.th
453c0 65 20 72 65 6c 61 74 69 6f 6e 73 68 69 70 20 6f 66 20 74 68 65 0a 20 20 20 20 20 70 75 62 6c 69 e.relationship.of.the......publi
453e0 73 68 65 72 73 20 6f 72 20 61 75 74 68 6f 72 73 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 shers.or.authors.of.the.Document
45400 20 74 6f 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 e2 80 99 73 20 6f 76 65 72 61 6c 6c 0a 20 20 20 .to.the.Document...s.overall....
45420 20 20 73 75 62 6a 65 63 74 20 28 6f 72 20 74 6f 20 72 65 6c 61 74 65 64 20 6d 61 74 74 65 72 73 ..subject.(or.to.related.matters
45440 29 20 61 6e 64 20 63 6f 6e 74 61 69 6e 73 20 6e 6f 74 68 69 6e 67 20 74 68 61 74 20 63 6f 75 6c ).and.contains.nothing.that.coul
45460 64 0a 20 20 20 20 20 66 61 6c 6c 20 64 69 72 65 63 74 6c 79 20 77 69 74 68 69 6e 20 74 68 61 74 d......fall.directly.within.that
45480 20 6f 76 65 72 61 6c 6c 20 73 75 62 6a 65 63 74 2e 20 20 28 54 68 75 73 2c 20 69 66 20 74 68 65 .overall.subject...(Thus,.if.the
454a0 20 44 6f 63 75 6d 65 6e 74 0a 20 20 20 20 20 69 73 20 69 6e 20 70 61 72 74 20 61 20 74 65 78 74 .Document......is.in.part.a.text
454c0 62 6f 6f 6b 20 6f 66 20 6d 61 74 68 65 6d 61 74 69 63 73 2c 20 61 20 53 65 63 6f 6e 64 61 72 79 book.of.mathematics,.a.Secondary
454e0 20 53 65 63 74 69 6f 6e 20 6d 61 79 20 6e 6f 74 0a 20 20 20 20 20 65 78 70 6c 61 69 6e 20 61 6e .Section.may.not......explain.an
45500 79 20 6d 61 74 68 65 6d 61 74 69 63 73 2e 29 20 20 54 68 65 20 72 65 6c 61 74 69 6f 6e 73 68 69 y.mathematics.)..The.relationshi
45520 70 20 63 6f 75 6c 64 20 62 65 20 61 20 6d 61 74 74 65 72 20 6f 66 0a 20 20 20 20 20 68 69 73 74 p.could.be.a.matter.of......hist
45540 6f 72 69 63 61 6c 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 77 69 74 68 20 74 68 65 20 73 75 62 6a 65 orical.connection.with.the.subje
45560 63 74 20 6f 72 20 77 69 74 68 20 72 65 6c 61 74 65 64 20 6d 61 74 74 65 72 73 2c 20 6f 72 0a 20 ct.or.with.related.matters,.or..
45580 20 20 20 20 6f 66 20 6c 65 67 61 6c 2c 20 63 6f 6d 6d 65 72 63 69 61 6c 2c 20 70 68 69 6c 6f 73 ....of.legal,.commercial,.philos
455a0 6f 70 68 69 63 61 6c 2c 20 65 74 68 69 63 61 6c 20 6f 72 20 70 6f 6c 69 74 69 63 61 6c 20 70 6f ophical,.ethical.or.political.po
455c0 73 69 74 69 6f 6e 0a 20 20 20 20 20 72 65 67 61 72 64 69 6e 67 20 74 68 65 6d 2e 0a 0a 20 20 20 sition......regarding.them......
455e0 20 20 54 68 65 20 e2 80 9c 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 e2 80 9d 20 61 ..The....Invariant.Sections....a
45600 72 65 20 63 65 72 74 61 69 6e 20 53 65 63 6f 6e 64 61 72 79 20 53 65 63 74 69 6f 6e 73 20 77 68 re.certain.Secondary.Sections.wh
45620 6f 73 65 0a 20 20 20 20 20 74 69 74 6c 65 73 20 61 72 65 20 64 65 73 69 67 6e 61 74 65 64 2c 20 ose......titles.are.designated,.
45640 61 73 20 62 65 69 6e 67 20 74 68 6f 73 65 20 6f 66 20 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 as.being.those.of.Invariant.Sect
45660 69 6f 6e 73 2c 20 69 6e 20 74 68 65 0a 20 20 20 20 20 6e 6f 74 69 63 65 20 74 68 61 74 20 73 61 ions,.in.the......notice.that.sa
45680 79 73 20 74 68 61 74 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 69 73 20 72 65 6c 65 61 73 65 64 ys.that.the.Document.is.released
456a0 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0a 20 20 20 20 20 49 66 20 61 20 73 .under.this.License.......If.a.s
456c0 65 63 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 66 69 74 20 74 68 65 20 61 62 6f 76 65 20 64 65 ection.does.not.fit.the.above.de
456e0 66 69 6e 69 74 69 6f 6e 20 6f 66 20 53 65 63 6f 6e 64 61 72 79 20 74 68 65 6e 20 69 74 0a 20 20 finition.of.Secondary.then.it...
45700 20 20 20 69 73 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 20 74 6f 20 62 65 20 64 65 73 69 67 6e 61 74 ...is.not.allowed.to.be.designat
45720 65 64 20 61 73 20 49 6e 76 61 72 69 61 6e 74 2e 20 20 54 68 65 20 44 6f 63 75 6d 65 6e 74 20 6d ed.as.Invariant...The.Document.m
45740 61 79 0a 20 20 20 20 20 63 6f 6e 74 61 69 6e 20 7a 65 72 6f 20 49 6e 76 61 72 69 61 6e 74 20 53 ay......contain.zero.Invariant.S
45760 65 63 74 69 6f 6e 73 2e 20 20 49 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 64 6f 65 73 20 6e ections...If.the.Document.does.n
45780 6f 74 20 69 64 65 6e 74 69 66 79 0a 20 20 20 20 20 61 6e 79 20 49 6e 76 61 72 69 61 6e 74 20 53 ot.identify......any.Invariant.S
457a0 65 63 74 69 6f 6e 73 20 74 68 65 6e 20 74 68 65 72 65 20 61 72 65 20 6e 6f 6e 65 2e 0a 0a 20 20 ections.then.there.are.none.....
457c0 20 20 20 54 68 65 20 e2 80 9c 43 6f 76 65 72 20 54 65 78 74 73 e2 80 9d 20 61 72 65 20 63 65 72 ...The....Cover.Texts....are.cer
457e0 74 61 69 6e 20 73 68 6f 72 74 20 70 61 73 73 61 67 65 73 20 6f 66 20 74 65 78 74 20 74 68 61 74 tain.short.passages.of.text.that
45800 20 61 72 65 0a 20 20 20 20 20 6c 69 73 74 65 64 2c 20 61 73 20 46 72 6f 6e 74 2d 43 6f 76 65 72 .are......listed,.as.Front-Cover
45820 20 54 65 78 74 73 20 6f 72 20 42 61 63 6b 2d 43 6f 76 65 72 20 54 65 78 74 73 2c 20 69 6e 20 74 .Texts.or.Back-Cover.Texts,.in.t
45840 68 65 20 6e 6f 74 69 63 65 0a 20 20 20 20 20 74 68 61 74 20 73 61 79 73 20 74 68 61 74 20 74 68 he.notice......that.says.that.th
45860 65 20 44 6f 63 75 6d 65 6e 74 20 69 73 20 72 65 6c 65 61 73 65 64 20 75 6e 64 65 72 20 74 68 69 e.Document.is.released.under.thi
45880 73 20 4c 69 63 65 6e 73 65 2e 20 20 41 0a 20 20 20 20 20 46 72 6f 6e 74 2d 43 6f 76 65 72 20 54 s.License...A......Front-Cover.T
458a0 65 78 74 20 6d 61 79 20 62 65 20 61 74 20 6d 6f 73 74 20 35 20 77 6f 72 64 73 2c 20 61 6e 64 20 ext.may.be.at.most.5.words,.and.
458c0 61 20 42 61 63 6b 2d 43 6f 76 65 72 20 54 65 78 74 20 6d 61 79 0a 20 20 20 20 20 62 65 20 61 74 a.Back-Cover.Text.may......be.at
458e0 20 6d 6f 73 74 20 32 35 20 77 6f 72 64 73 2e 0a 0a 20 20 20 20 20 41 20 e2 80 9c 54 72 61 6e 73 .most.25.words........A....Trans
45900 70 61 72 65 6e 74 e2 80 9d 20 63 6f 70 79 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 6d parent....copy.of.the.Document.m
45920 65 61 6e 73 20 61 20 6d 61 63 68 69 6e 65 2d 72 65 61 64 61 62 6c 65 20 63 6f 70 79 2c 0a 20 20 eans.a.machine-readable.copy,...
45940 20 20 20 72 65 70 72 65 73 65 6e 74 65 64 20 69 6e 20 61 20 66 6f 72 6d 61 74 20 77 68 6f 73 65 ...represented.in.a.format.whose
45960 20 73 70 65 63 69 66 69 63 61 74 69 6f 6e 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 74 .specification.is.available.to.t
45980 68 65 0a 20 20 20 20 20 67 65 6e 65 72 61 6c 20 70 75 62 6c 69 63 2c 20 74 68 61 74 20 69 73 20 he......general.public,.that.is.
459a0 73 75 69 74 61 62 6c 65 20 66 6f 72 20 72 65 76 69 73 69 6e 67 20 74 68 65 20 64 6f 63 75 6d 65 suitable.for.revising.the.docume
459c0 6e 74 0a 20 20 20 20 20 73 74 72 61 69 67 68 74 66 6f 72 77 61 72 64 6c 79 20 77 69 74 68 20 67 nt......straightforwardly.with.g
459e0 65 6e 65 72 69 63 20 74 65 78 74 20 65 64 69 74 6f 72 73 20 6f 72 20 28 66 6f 72 20 69 6d 61 67 eneric.text.editors.or.(for.imag
45a00 65 73 20 63 6f 6d 70 6f 73 65 64 0a 20 20 20 20 20 6f 66 20 70 69 78 65 6c 73 29 20 67 65 6e 65 es.composed......of.pixels).gene
45a20 72 69 63 20 70 61 69 6e 74 20 70 72 6f 67 72 61 6d 73 20 6f 72 20 28 66 6f 72 20 64 72 61 77 69 ric.paint.programs.or.(for.drawi
45a40 6e 67 73 29 20 73 6f 6d 65 20 77 69 64 65 6c 79 0a 20 20 20 20 20 61 76 61 69 6c 61 62 6c 65 20 ngs).some.widely......available.
45a60 64 72 61 77 69 6e 67 20 65 64 69 74 6f 72 2c 20 61 6e 64 20 74 68 61 74 20 69 73 20 73 75 69 74 drawing.editor,.and.that.is.suit
45a80 61 62 6c 65 20 66 6f 72 20 69 6e 70 75 74 20 74 6f 20 74 65 78 74 0a 20 20 20 20 20 66 6f 72 6d able.for.input.to.text......form
45aa0 61 74 74 65 72 73 20 6f 72 20 66 6f 72 20 61 75 74 6f 6d 61 74 69 63 20 74 72 61 6e 73 6c 61 74 atters.or.for.automatic.translat
45ac0 69 6f 6e 20 74 6f 20 61 20 76 61 72 69 65 74 79 20 6f 66 20 66 6f 72 6d 61 74 73 0a 20 20 20 20 ion.to.a.variety.of.formats.....
45ae0 20 73 75 69 74 61 62 6c 65 20 66 6f 72 20 69 6e 70 75 74 20 74 6f 20 74 65 78 74 20 66 6f 72 6d .suitable.for.input.to.text.form
45b00 61 74 74 65 72 73 2e 20 20 41 20 63 6f 70 79 20 6d 61 64 65 20 69 6e 20 61 6e 20 6f 74 68 65 72 atters...A.copy.made.in.an.other
45b20 77 69 73 65 0a 20 20 20 20 20 54 72 61 6e 73 70 61 72 65 6e 74 20 66 69 6c 65 20 66 6f 72 6d 61 wise......Transparent.file.forma
45b40 74 20 77 68 6f 73 65 20 6d 61 72 6b 75 70 2c 20 6f 72 20 61 62 73 65 6e 63 65 20 6f 66 20 6d 61 t.whose.markup,.or.absence.of.ma
45b60 72 6b 75 70 2c 20 68 61 73 0a 20 20 20 20 20 62 65 65 6e 20 61 72 72 61 6e 67 65 64 20 74 6f 20 rkup,.has......been.arranged.to.
45b80 74 68 77 61 72 74 20 6f 72 20 64 69 73 63 6f 75 72 61 67 65 20 73 75 62 73 65 71 75 65 6e 74 20 thwart.or.discourage.subsequent.
45ba0 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 62 79 0a 20 20 20 20 20 72 65 61 64 65 72 73 20 69 73 20 modification.by......readers.is.
45bc0 6e 6f 74 20 54 72 61 6e 73 70 61 72 65 6e 74 2e 20 20 41 6e 20 69 6d 61 67 65 20 66 6f 72 6d 61 not.Transparent...An.image.forma
45be0 74 20 69 73 20 6e 6f 74 20 54 72 61 6e 73 70 61 72 65 6e 74 20 69 66 0a 20 20 20 20 20 75 73 65 t.is.not.Transparent.if......use
45c00 64 20 66 6f 72 20 61 6e 79 20 73 75 62 73 74 61 6e 74 69 61 6c 20 61 6d 6f 75 6e 74 20 6f 66 20 d.for.any.substantial.amount.of.
45c20 74 65 78 74 2e 20 20 41 20 63 6f 70 79 20 74 68 61 74 20 69 73 20 6e 6f 74 0a 20 20 20 20 20 e2 text...A.copy.that.is.not.......
45c40 80 9c 54 72 61 6e 73 70 61 72 65 6e 74 e2 80 9d 20 69 73 20 63 61 6c 6c 65 64 20 e2 80 9c 4f 70 ..Transparent....is.called....Op
45c60 61 71 75 65 e2 80 9d 2e 0a 0a 20 20 20 20 20 45 78 61 6d 70 6c 65 73 20 6f 66 20 73 75 69 74 61 aque...........Examples.of.suita
45c80 62 6c 65 20 66 6f 72 6d 61 74 73 20 66 6f 72 20 54 72 61 6e 73 70 61 72 65 6e 74 20 63 6f 70 69 ble.formats.for.Transparent.copi
45ca0 65 73 20 69 6e 63 6c 75 64 65 20 70 6c 61 69 6e 0a 20 20 20 20 20 41 53 43 49 49 20 77 69 74 68 es.include.plain......ASCII.with
45cc0 6f 75 74 20 6d 61 72 6b 75 70 2c 20 54 65 78 69 6e 66 6f 20 69 6e 70 75 74 20 66 6f 72 6d 61 74 out.markup,.Texinfo.input.format
45ce0 2c 20 4c 61 54 65 58 20 69 6e 70 75 74 20 66 6f 72 6d 61 74 2c 0a 20 20 20 20 20 53 47 4d 4c 20 ,.LaTeX.input.format,......SGML.
45d00 6f 72 20 58 4d 4c 20 75 73 69 6e 67 20 61 20 70 75 62 6c 69 63 6c 79 20 61 76 61 69 6c 61 62 6c or.XML.using.a.publicly.availabl
45d20 65 20 44 54 44 2c 20 61 6e 64 20 73 74 61 6e 64 61 72 64 2d 63 6f 6e 66 6f 72 6d 69 6e 67 0a 20 e.DTD,.and.standard-conforming..
45d40 20 20 20 20 73 69 6d 70 6c 65 20 48 54 4d 4c 2c 20 50 6f 73 74 53 63 72 69 70 74 20 6f 72 20 50 ....simple.HTML,.PostScript.or.P
45d60 44 46 20 64 65 73 69 67 6e 65 64 20 66 6f 72 20 68 75 6d 61 6e 20 6d 6f 64 69 66 69 63 61 74 69 DF.designed.for.human.modificati
45d80 6f 6e 2e 0a 20 20 20 20 20 45 78 61 6d 70 6c 65 73 20 6f 66 20 74 72 61 6e 73 70 61 72 65 6e 74 on.......Examples.of.transparent
45da0 20 69 6d 61 67 65 20 66 6f 72 6d 61 74 73 20 69 6e 63 6c 75 64 65 20 50 4e 47 2c 20 58 43 46 20 .image.formats.include.PNG,.XCF.
45dc0 61 6e 64 20 4a 50 47 2e 0a 20 20 20 20 20 4f 70 61 71 75 65 20 66 6f 72 6d 61 74 73 20 69 6e 63 and.JPG.......Opaque.formats.inc
45de0 6c 75 64 65 20 70 72 6f 70 72 69 65 74 61 72 79 20 66 6f 72 6d 61 74 73 20 74 68 61 74 20 63 61 lude.proprietary.formats.that.ca
45e00 6e 20 62 65 20 72 65 61 64 20 61 6e 64 0a 20 20 20 20 20 65 64 69 74 65 64 20 6f 6e 6c 79 20 62 n.be.read.and......edited.only.b
45e20 79 20 70 72 6f 70 72 69 65 74 61 72 79 20 77 6f 72 64 20 70 72 6f 63 65 73 73 6f 72 73 2c 20 53 y.proprietary.word.processors,.S
45e40 47 4d 4c 20 6f 72 20 58 4d 4c 20 66 6f 72 20 77 68 69 63 68 0a 20 20 20 20 20 74 68 65 20 44 54 GML.or.XML.for.which......the.DT
45e60 44 20 61 6e 64 2f 6f 72 20 70 72 6f 63 65 73 73 69 6e 67 20 74 6f 6f 6c 73 20 61 72 65 20 6e 6f D.and/or.processing.tools.are.no
45e80 74 20 67 65 6e 65 72 61 6c 6c 79 20 61 76 61 69 6c 61 62 6c 65 2c 20 61 6e 64 0a 20 20 20 20 20 t.generally.available,.and......
45ea0 74 68 65 20 6d 61 63 68 69 6e 65 2d 67 65 6e 65 72 61 74 65 64 20 48 54 4d 4c 2c 20 50 6f 73 74 the.machine-generated.HTML,.Post
45ec0 53 63 72 69 70 74 20 6f 72 20 50 44 46 20 70 72 6f 64 75 63 65 64 20 62 79 20 73 6f 6d 65 20 77 Script.or.PDF.produced.by.some.w
45ee0 6f 72 64 0a 20 20 20 20 20 70 72 6f 63 65 73 73 6f 72 73 20 66 6f 72 20 6f 75 74 70 75 74 20 70 ord......processors.for.output.p
45f00 75 72 70 6f 73 65 73 20 6f 6e 6c 79 2e 0a 0a 20 20 20 20 20 54 68 65 20 e2 80 9c 54 69 74 6c 65 urposes.only........The....Title
45f20 20 50 61 67 65 e2 80 9d 20 6d 65 61 6e 73 2c 20 66 6f 72 20 61 20 70 72 69 6e 74 65 64 20 62 6f .Page....means,.for.a.printed.bo
45f40 6f 6b 2c 20 74 68 65 20 74 69 74 6c 65 20 70 61 67 65 20 69 74 73 65 6c 66 2c 0a 20 20 20 20 20 ok,.the.title.page.itself,......
45f60 70 6c 75 73 20 73 75 63 68 20 66 6f 6c 6c 6f 77 69 6e 67 20 70 61 67 65 73 20 61 73 20 61 72 65 plus.such.following.pages.as.are
45f80 20 6e 65 65 64 65 64 20 74 6f 20 68 6f 6c 64 2c 20 6c 65 67 69 62 6c 79 2c 20 74 68 65 0a 20 20 .needed.to.hold,.legibly,.the...
45fa0 20 20 20 6d 61 74 65 72 69 61 6c 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 72 65 71 75 69 72 65 ...material.this.License.require
45fc0 73 20 74 6f 20 61 70 70 65 61 72 20 69 6e 20 74 68 65 20 74 69 74 6c 65 20 70 61 67 65 2e 20 20 s.to.appear.in.the.title.page...
45fe0 46 6f 72 0a 20 20 20 20 20 77 6f 72 6b 73 20 69 6e 20 66 6f 72 6d 61 74 73 20 77 68 69 63 68 20 For......works.in.formats.which.
46000 64 6f 20 6e 6f 74 20 68 61 76 65 20 61 6e 79 20 74 69 74 6c 65 20 70 61 67 65 20 61 73 20 73 75 do.not.have.any.title.page.as.su
46020 63 68 2c 20 e2 80 9c 54 69 74 6c 65 0a 20 20 20 20 20 50 61 67 65 e2 80 9d 20 6d 65 61 6e 73 20 ch,....Title......Page....means.
46040 74 68 65 20 74 65 78 74 20 6e 65 61 72 20 74 68 65 20 6d 6f 73 74 20 70 72 6f 6d 69 6e 65 6e 74 the.text.near.the.most.prominent
46060 20 61 70 70 65 61 72 61 6e 63 65 20 6f 66 20 74 68 65 0a 20 20 20 20 20 77 6f 72 6b e2 80 99 73 .appearance.of.the......work...s
46080 20 74 69 74 6c 65 2c 20 70 72 65 63 65 64 69 6e 67 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 .title,.preceding.the.beginning.
460a0 6f 66 20 74 68 65 20 62 6f 64 79 20 6f 66 20 74 68 65 20 74 65 78 74 2e 0a 0a 20 20 20 20 20 54 of.the.body.of.the.text........T
460c0 68 65 20 e2 80 9c 70 75 62 6c 69 73 68 65 72 e2 80 9d 20 6d 65 61 6e 73 20 61 6e 79 20 70 65 72 he....publisher....means.any.per
460e0 73 6f 6e 20 6f 72 20 65 6e 74 69 74 79 20 74 68 61 74 20 64 69 73 74 72 69 62 75 74 65 73 20 63 son.or.entity.that.distributes.c
46100 6f 70 69 65 73 0a 20 20 20 20 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 74 6f 20 74 68 opies......of.the.Document.to.th
46120 65 20 70 75 62 6c 69 63 2e 0a 0a 20 20 20 20 20 41 20 73 65 63 74 69 6f 6e 20 e2 80 9c 45 6e 74 e.public........A.section....Ent
46140 69 74 6c 65 64 20 58 59 5a e2 80 9d 20 6d 65 61 6e 73 20 61 20 6e 61 6d 65 64 20 73 75 62 75 6e itled.XYZ....means.a.named.subun
46160 69 74 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 0a 20 20 20 20 20 77 68 6f 73 65 20 74 69 it.of.the.Document......whose.ti
46180 74 6c 65 20 65 69 74 68 65 72 20 69 73 20 70 72 65 63 69 73 65 6c 79 20 58 59 5a 20 6f 72 20 63 tle.either.is.precisely.XYZ.or.c
461a0 6f 6e 74 61 69 6e 73 20 58 59 5a 20 69 6e 20 70 61 72 65 6e 74 68 65 73 65 73 0a 20 20 20 20 20 ontains.XYZ.in.parentheses......
461c0 66 6f 6c 6c 6f 77 69 6e 67 20 74 65 78 74 20 74 68 61 74 20 74 72 61 6e 73 6c 61 74 65 73 20 58 following.text.that.translates.X
461e0 59 5a 20 69 6e 20 61 6e 6f 74 68 65 72 20 6c 61 6e 67 75 61 67 65 2e 20 20 28 48 65 72 65 20 58 YZ.in.another.language...(Here.X
46200 59 5a 0a 20 20 20 20 20 73 74 61 6e 64 73 20 66 6f 72 20 61 20 73 70 65 63 69 66 69 63 20 73 65 YZ......stands.for.a.specific.se
46220 63 74 69 6f 6e 20 6e 61 6d 65 20 6d 65 6e 74 69 6f 6e 65 64 20 62 65 6c 6f 77 2c 20 73 75 63 68 ction.name.mentioned.below,.such
46240 20 61 73 0a 20 20 20 20 20 e2 80 9c 41 63 6b 6e 6f 77 6c 65 64 67 65 6d 65 6e 74 73 e2 80 9d 2c .as.........Acknowledgements...,
46260 20 e2 80 9c 44 65 64 69 63 61 74 69 6f 6e 73 e2 80 9d 2c 20 e2 80 9c 45 6e 64 6f 72 73 65 6d 65 ....Dedications...,....Endorseme
46280 6e 74 73 e2 80 9d 2c 20 6f 72 20 e2 80 9c 48 69 73 74 6f 72 79 e2 80 9d 2e 29 0a 20 20 20 20 20 nts...,.or....History....)......
462a0 54 6f 20 e2 80 9c 50 72 65 73 65 72 76 65 20 74 68 65 20 54 69 74 6c 65 e2 80 9d 20 6f 66 20 73 To....Preserve.the.Title....of.s
462c0 75 63 68 20 61 20 73 65 63 74 69 6f 6e 20 77 68 65 6e 20 79 6f 75 20 6d 6f 64 69 66 79 20 74 68 uch.a.section.when.you.modify.th
462e0 65 0a 20 20 20 20 20 44 6f 63 75 6d 65 6e 74 20 6d 65 61 6e 73 20 74 68 61 74 20 69 74 20 72 65 e......Document.means.that.it.re
46300 6d 61 69 6e 73 20 61 20 73 65 63 74 69 6f 6e 20 e2 80 9c 45 6e 74 69 74 6c 65 64 20 58 59 5a e2 mains.a.section....Entitled.XYZ.
46320 80 9d 20 61 63 63 6f 72 64 69 6e 67 0a 20 20 20 20 20 74 6f 20 74 68 69 73 20 64 65 66 69 6e 69 ...according......to.this.defini
46340 74 69 6f 6e 2e 0a 0a 20 20 20 20 20 54 68 65 20 44 6f 63 75 6d 65 6e 74 20 6d 61 79 20 69 6e 63 tion........The.Document.may.inc
46360 6c 75 64 65 20 57 61 72 72 61 6e 74 79 20 44 69 73 63 6c 61 69 6d 65 72 73 20 6e 65 78 74 20 74 lude.Warranty.Disclaimers.next.t
46380 6f 20 74 68 65 20 6e 6f 74 69 63 65 0a 20 20 20 20 20 77 68 69 63 68 20 73 74 61 74 65 73 20 74 o.the.notice......which.states.t
463a0 68 61 74 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 61 70 70 6c 69 65 73 20 74 6f 20 74 68 65 20 hat.this.License.applies.to.the.
463c0 44 6f 63 75 6d 65 6e 74 2e 20 20 54 68 65 73 65 0a 20 20 20 20 20 57 61 72 72 61 6e 74 79 20 44 Document...These......Warranty.D
463e0 69 73 63 6c 61 69 6d 65 72 73 20 61 72 65 20 63 6f 6e 73 69 64 65 72 65 64 20 74 6f 20 62 65 20 isclaimers.are.considered.to.be.
46400 69 6e 63 6c 75 64 65 64 20 62 79 20 72 65 66 65 72 65 6e 63 65 20 69 6e 0a 20 20 20 20 20 74 68 included.by.reference.in......th
46420 69 73 20 4c 69 63 65 6e 73 65 2c 20 62 75 74 20 6f 6e 6c 79 20 61 73 20 72 65 67 61 72 64 73 20 is.License,.but.only.as.regards.
46440 64 69 73 63 6c 61 69 6d 69 6e 67 20 77 61 72 72 61 6e 74 69 65 73 3a 20 61 6e 79 20 6f 74 68 65 disclaiming.warranties:.any.othe
46460 72 0a 20 20 20 20 20 69 6d 70 6c 69 63 61 74 69 6f 6e 20 74 68 61 74 20 74 68 65 73 65 20 57 61 r......implication.that.these.Wa
46480 72 72 61 6e 74 79 20 44 69 73 63 6c 61 69 6d 65 72 73 20 6d 61 79 20 68 61 76 65 20 69 73 20 76 rranty.Disclaimers.may.have.is.v
464a0 6f 69 64 20 61 6e 64 0a 20 20 20 20 20 68 61 73 20 6e 6f 20 65 66 66 65 63 74 20 6f 6e 20 74 68 oid.and......has.no.effect.on.th
464c0 65 20 6d 65 61 6e 69 6e 67 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 32 2e e.meaning.of.this.License.....2.
464e0 20 56 45 52 42 41 54 49 4d 20 43 4f 50 59 49 4e 47 0a 0a 20 20 20 20 20 59 6f 75 20 6d 61 79 20 .VERBATIM.COPYING.......You.may.
46500 63 6f 70 79 20 61 6e 64 20 64 69 73 74 72 69 62 75 74 65 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 copy.and.distribute.the.Document
46520 20 69 6e 20 61 6e 79 20 6d 65 64 69 75 6d 2c 20 65 69 74 68 65 72 0a 20 20 20 20 20 63 6f 6d 6d .in.any.medium,.either......comm
46540 65 72 63 69 61 6c 6c 79 20 6f 72 20 6e 6f 6e 63 6f 6d 6d 65 72 63 69 61 6c 6c 79 2c 20 70 72 6f ercially.or.noncommercially,.pro
46560 76 69 64 65 64 20 74 68 61 74 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 74 68 65 0a 20 20 20 vided.that.this.License,.the....
46580 20 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 73 2c 20 61 6e 64 20 74 68 65 20 6c 69 63 ..copyright.notices,.and.the.lic
465a0 65 6e 73 65 20 6e 6f 74 69 63 65 20 73 61 79 69 6e 67 20 74 68 69 73 20 4c 69 63 65 6e 73 65 0a ense.notice.saying.this.License.
465c0 20 20 20 20 20 61 70 70 6c 69 65 73 20 74 6f 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 61 72 65 .....applies.to.the.Document.are
465e0 20 72 65 70 72 6f 64 75 63 65 64 20 69 6e 20 61 6c 6c 20 63 6f 70 69 65 73 2c 20 61 6e 64 20 74 .reproduced.in.all.copies,.and.t
46600 68 61 74 20 79 6f 75 0a 20 20 20 20 20 61 64 64 20 6e 6f 20 6f 74 68 65 72 20 63 6f 6e 64 69 74 hat.you......add.no.other.condit
46620 69 6f 6e 73 20 77 68 61 74 73 6f 65 76 65 72 20 74 6f 20 74 68 6f 73 65 20 6f 66 20 74 68 69 73 ions.whatsoever.to.those.of.this
46640 20 4c 69 63 65 6e 73 65 2e 20 20 59 6f 75 0a 20 20 20 20 20 6d 61 79 20 6e 6f 74 20 75 73 65 20 .License...You......may.not.use.
46660 74 65 63 68 6e 69 63 61 6c 20 6d 65 61 73 75 72 65 73 20 74 6f 20 6f 62 73 74 72 75 63 74 20 6f technical.measures.to.obstruct.o
46680 72 20 63 6f 6e 74 72 6f 6c 20 74 68 65 20 72 65 61 64 69 6e 67 0a 20 20 20 20 20 6f 72 20 66 75 r.control.the.reading......or.fu
466a0 72 74 68 65 72 20 63 6f 70 79 69 6e 67 20 6f 66 20 74 68 65 20 63 6f 70 69 65 73 20 79 6f 75 20 rther.copying.of.the.copies.you.
466c0 6d 61 6b 65 20 6f 72 20 64 69 73 74 72 69 62 75 74 65 2e 20 20 48 6f 77 65 76 65 72 2c 0a 20 20 make.or.distribute...However,...
466e0 20 20 20 79 6f 75 20 6d 61 79 20 61 63 63 65 70 74 20 63 6f 6d 70 65 6e 73 61 74 69 6f 6e 20 69 ...you.may.accept.compensation.i
46700 6e 20 65 78 63 68 61 6e 67 65 20 66 6f 72 20 63 6f 70 69 65 73 2e 20 20 49 66 20 79 6f 75 0a 20 n.exchange.for.copies...If.you..
46720 20 20 20 20 64 69 73 74 72 69 62 75 74 65 20 61 20 6c 61 72 67 65 20 65 6e 6f 75 67 68 20 6e 75 ....distribute.a.large.enough.nu
46740 6d 62 65 72 20 6f 66 20 63 6f 70 69 65 73 20 79 6f 75 20 6d 75 73 74 20 61 6c 73 6f 20 66 6f 6c mber.of.copies.you.must.also.fol
46760 6c 6f 77 20 74 68 65 0a 20 20 20 20 20 63 6f 6e 64 69 74 69 6f 6e 73 20 69 6e 20 73 65 63 74 69 low.the......conditions.in.secti
46780 6f 6e 20 33 2e 0a 0a 20 20 20 20 20 59 6f 75 20 6d 61 79 20 61 6c 73 6f 20 6c 65 6e 64 20 63 6f on.3........You.may.also.lend.co
467a0 70 69 65 73 2c 20 75 6e 64 65 72 20 74 68 65 20 73 61 6d 65 20 63 6f 6e 64 69 74 69 6f 6e 73 20 pies,.under.the.same.conditions.
467c0 73 74 61 74 65 64 20 61 62 6f 76 65 2c 0a 20 20 20 20 20 61 6e 64 20 79 6f 75 20 6d 61 79 20 70 stated.above,......and.you.may.p
467e0 75 62 6c 69 63 6c 79 20 64 69 73 70 6c 61 79 20 63 6f 70 69 65 73 2e 0a 0a 20 20 33 2e 20 43 4f ublicly.display.copies.....3..CO
46800 50 59 49 4e 47 20 49 4e 20 51 55 41 4e 54 49 54 59 0a 0a 20 20 20 20 20 49 66 20 79 6f 75 20 70 PYING.IN.QUANTITY.......If.you.p
46820 75 62 6c 69 73 68 20 70 72 69 6e 74 65 64 20 63 6f 70 69 65 73 20 28 6f 72 20 63 6f 70 69 65 73 ublish.printed.copies.(or.copies
46840 20 69 6e 20 6d 65 64 69 61 20 74 68 61 74 20 63 6f 6d 6d 6f 6e 6c 79 0a 20 20 20 20 20 68 61 76 .in.media.that.commonly......hav
46860 65 20 70 72 69 6e 74 65 64 20 63 6f 76 65 72 73 29 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e e.printed.covers).of.the.Documen
46880 74 2c 20 6e 75 6d 62 65 72 69 6e 67 20 6d 6f 72 65 20 74 68 61 6e 20 31 30 30 2c 20 61 6e 64 0a t,.numbering.more.than.100,.and.
468a0 20 20 20 20 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 e2 80 99 73 20 6c 69 63 65 6e 73 65 20 6e 6f .....the.Document...s.license.no
468c0 74 69 63 65 20 72 65 71 75 69 72 65 73 20 43 6f 76 65 72 20 54 65 78 74 73 2c 20 79 6f 75 20 6d tice.requires.Cover.Texts,.you.m
468e0 75 73 74 0a 20 20 20 20 20 65 6e 63 6c 6f 73 65 20 74 68 65 20 63 6f 70 69 65 73 20 69 6e 20 63 ust......enclose.the.copies.in.c
46900 6f 76 65 72 73 20 74 68 61 74 20 63 61 72 72 79 2c 20 63 6c 65 61 72 6c 79 20 61 6e 64 20 6c 65 overs.that.carry,.clearly.and.le
46920 67 69 62 6c 79 2c 20 61 6c 6c 0a 20 20 20 20 20 74 68 65 73 65 20 43 6f 76 65 72 20 54 65 78 74 gibly,.all......these.Cover.Text
46940 73 3a 20 46 72 6f 6e 74 2d 43 6f 76 65 72 20 54 65 78 74 73 20 6f 6e 20 74 68 65 20 66 72 6f 6e s:.Front-Cover.Texts.on.the.fron
46960 74 20 63 6f 76 65 72 2c 20 61 6e 64 0a 20 20 20 20 20 42 61 63 6b 2d 43 6f 76 65 72 20 54 65 78 t.cover,.and......Back-Cover.Tex
46980 74 73 20 6f 6e 20 74 68 65 20 62 61 63 6b 20 63 6f 76 65 72 2e 20 20 42 6f 74 68 20 63 6f 76 65 ts.on.the.back.cover...Both.cove
469a0 72 73 20 6d 75 73 74 20 61 6c 73 6f 20 63 6c 65 61 72 6c 79 0a 20 20 20 20 20 61 6e 64 20 6c 65 rs.must.also.clearly......and.le
469c0 67 69 62 6c 79 20 69 64 65 6e 74 69 66 79 20 79 6f 75 20 61 73 20 74 68 65 20 70 75 62 6c 69 73 gibly.identify.you.as.the.publis
469e0 68 65 72 20 6f 66 20 74 68 65 73 65 20 63 6f 70 69 65 73 2e 20 20 54 68 65 0a 20 20 20 20 20 66 her.of.these.copies...The......f
46a00 72 6f 6e 74 20 63 6f 76 65 72 20 6d 75 73 74 20 70 72 65 73 65 6e 74 20 74 68 65 20 66 75 6c 6c ront.cover.must.present.the.full
46a20 20 74 69 74 6c 65 20 77 69 74 68 20 61 6c 6c 20 77 6f 72 64 73 20 6f 66 20 74 68 65 20 74 69 74 .title.with.all.words.of.the.tit
46a40 6c 65 0a 20 20 20 20 20 65 71 75 61 6c 6c 79 20 70 72 6f 6d 69 6e 65 6e 74 20 61 6e 64 20 76 69 le......equally.prominent.and.vi
46a60 73 69 62 6c 65 2e 20 20 59 6f 75 20 6d 61 79 20 61 64 64 20 6f 74 68 65 72 20 6d 61 74 65 72 69 sible...You.may.add.other.materi
46a80 61 6c 20 6f 6e 20 74 68 65 0a 20 20 20 20 20 63 6f 76 65 72 73 20 69 6e 20 61 64 64 69 74 69 6f al.on.the......covers.in.additio
46aa0 6e 2e 20 20 43 6f 70 79 69 6e 67 20 77 69 74 68 20 63 68 61 6e 67 65 73 20 6c 69 6d 69 74 65 64 n...Copying.with.changes.limited
46ac0 20 74 6f 20 74 68 65 20 63 6f 76 65 72 73 2c 20 61 73 0a 20 20 20 20 20 6c 6f 6e 67 20 61 73 20 .to.the.covers,.as......long.as.
46ae0 74 68 65 79 20 70 72 65 73 65 72 76 65 20 74 68 65 20 74 69 74 6c 65 20 6f 66 20 74 68 65 20 44 they.preserve.the.title.of.the.D
46b00 6f 63 75 6d 65 6e 74 20 61 6e 64 20 73 61 74 69 73 66 79 20 74 68 65 73 65 0a 20 20 20 20 20 63 ocument.and.satisfy.these......c
46b20 6f 6e 64 69 74 69 6f 6e 73 2c 20 63 61 6e 20 62 65 20 74 72 65 61 74 65 64 20 61 73 20 76 65 72 onditions,.can.be.treated.as.ver
46b40 62 61 74 69 6d 20 63 6f 70 79 69 6e 67 20 69 6e 20 6f 74 68 65 72 20 72 65 73 70 65 63 74 73 2e batim.copying.in.other.respects.
46b60 0a 0a 20 20 20 20 20 49 66 20 74 68 65 20 72 65 71 75 69 72 65 64 20 74 65 78 74 73 20 66 6f 72 .......If.the.required.texts.for
46b80 20 65 69 74 68 65 72 20 63 6f 76 65 72 20 61 72 65 20 74 6f 6f 20 76 6f 6c 75 6d 69 6e 6f 75 73 .either.cover.are.too.voluminous
46ba0 20 74 6f 20 66 69 74 0a 20 20 20 20 20 6c 65 67 69 62 6c 79 2c 20 79 6f 75 20 73 68 6f 75 6c 64 .to.fit......legibly,.you.should
46bc0 20 70 75 74 20 74 68 65 20 66 69 72 73 74 20 6f 6e 65 73 20 6c 69 73 74 65 64 20 28 61 73 20 6d .put.the.first.ones.listed.(as.m
46be0 61 6e 79 20 61 73 20 66 69 74 0a 20 20 20 20 20 72 65 61 73 6f 6e 61 62 6c 79 29 20 6f 6e 20 74 any.as.fit......reasonably).on.t
46c00 68 65 20 61 63 74 75 61 6c 20 63 6f 76 65 72 2c 20 61 6e 64 20 63 6f 6e 74 69 6e 75 65 20 74 68 he.actual.cover,.and.continue.th
46c20 65 20 72 65 73 74 20 6f 6e 74 6f 0a 20 20 20 20 20 61 64 6a 61 63 65 6e 74 20 70 61 67 65 73 2e e.rest.onto......adjacent.pages.
46c40 0a 0a 20 20 20 20 20 49 66 20 79 6f 75 20 70 75 62 6c 69 73 68 20 6f 72 20 64 69 73 74 72 69 62 .......If.you.publish.or.distrib
46c60 75 74 65 20 4f 70 61 71 75 65 20 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e ute.Opaque.copies.of.the.Documen
46c80 74 0a 20 20 20 20 20 6e 75 6d 62 65 72 69 6e 67 20 6d 6f 72 65 20 74 68 61 6e 20 31 30 30 2c 20 t......numbering.more.than.100,.
46ca0 79 6f 75 20 6d 75 73 74 20 65 69 74 68 65 72 20 69 6e 63 6c 75 64 65 20 61 20 6d 61 63 68 69 6e you.must.either.include.a.machin
46cc0 65 2d 72 65 61 64 61 62 6c 65 0a 20 20 20 20 20 54 72 61 6e 73 70 61 72 65 6e 74 20 63 6f 70 79 e-readable......Transparent.copy
46ce0 20 61 6c 6f 6e 67 20 77 69 74 68 20 65 61 63 68 20 4f 70 61 71 75 65 20 63 6f 70 79 2c 20 6f 72 .along.with.each.Opaque.copy,.or
46d00 20 73 74 61 74 65 20 69 6e 20 6f 72 20 77 69 74 68 0a 20 20 20 20 20 65 61 63 68 20 4f 70 61 71 .state.in.or.with......each.Opaq
46d20 75 65 20 63 6f 70 79 20 61 20 63 6f 6d 70 75 74 65 72 2d 6e 65 74 77 6f 72 6b 20 6c 6f 63 61 74 ue.copy.a.computer-network.locat
46d40 69 6f 6e 20 66 72 6f 6d 20 77 68 69 63 68 20 74 68 65 20 67 65 6e 65 72 61 6c 0a 20 20 20 20 20 ion.from.which.the.general......
46d60 6e 65 74 77 6f 72 6b 2d 75 73 69 6e 67 20 70 75 62 6c 69 63 20 68 61 73 20 61 63 63 65 73 73 20 network-using.public.has.access.
46d80 74 6f 20 64 6f 77 6e 6c 6f 61 64 20 75 73 69 6e 67 20 70 75 62 6c 69 63 2d 73 74 61 6e 64 61 72 to.download.using.public-standar
46da0 64 0a 20 20 20 20 20 6e 65 74 77 6f 72 6b 20 70 72 6f 74 6f 63 6f 6c 73 20 61 20 63 6f 6d 70 6c d......network.protocols.a.compl
46dc0 65 74 65 20 54 72 61 6e 73 70 61 72 65 6e 74 20 63 6f 70 79 20 6f 66 20 74 68 65 20 44 6f 63 75 ete.Transparent.copy.of.the.Docu
46de0 6d 65 6e 74 2c 20 66 72 65 65 0a 20 20 20 20 20 6f 66 20 61 64 64 65 64 20 6d 61 74 65 72 69 61 ment,.free......of.added.materia
46e00 6c 2e 20 20 49 66 20 79 6f 75 20 75 73 65 20 74 68 65 20 6c 61 74 74 65 72 20 6f 70 74 69 6f 6e l...If.you.use.the.latter.option
46e20 2c 20 79 6f 75 20 6d 75 73 74 20 74 61 6b 65 0a 20 20 20 20 20 72 65 61 73 6f 6e 61 62 6c 79 20 ,.you.must.take......reasonably.
46e40 70 72 75 64 65 6e 74 20 73 74 65 70 73 2c 20 77 68 65 6e 20 79 6f 75 20 62 65 67 69 6e 20 64 69 prudent.steps,.when.you.begin.di
46e60 73 74 72 69 62 75 74 69 6f 6e 20 6f 66 20 4f 70 61 71 75 65 0a 20 20 20 20 20 63 6f 70 69 65 73 stribution.of.Opaque......copies
46e80 20 69 6e 20 71 75 61 6e 74 69 74 79 2c 20 74 6f 20 65 6e 73 75 72 65 20 74 68 61 74 20 74 68 69 .in.quantity,.to.ensure.that.thi
46ea0 73 20 54 72 61 6e 73 70 61 72 65 6e 74 20 63 6f 70 79 20 77 69 6c 6c 0a 20 20 20 20 20 72 65 6d s.Transparent.copy.will......rem
46ec0 61 69 6e 20 74 68 75 73 20 61 63 63 65 73 73 69 62 6c 65 20 61 74 20 74 68 65 20 73 74 61 74 65 ain.thus.accessible.at.the.state
46ee0 64 20 6c 6f 63 61 74 69 6f 6e 20 75 6e 74 69 6c 20 61 74 20 6c 65 61 73 74 20 6f 6e 65 0a 20 20 d.location.until.at.least.one...
46f00 20 20 20 79 65 61 72 20 61 66 74 65 72 20 74 68 65 20 6c 61 73 74 20 74 69 6d 65 20 79 6f 75 20 ...year.after.the.last.time.you.
46f20 64 69 73 74 72 69 62 75 74 65 20 61 6e 20 4f 70 61 71 75 65 20 63 6f 70 79 20 28 64 69 72 65 63 distribute.an.Opaque.copy.(direc
46f40 74 6c 79 20 6f 72 0a 20 20 20 20 20 74 68 72 6f 75 67 68 20 79 6f 75 72 20 61 67 65 6e 74 73 20 tly.or......through.your.agents.
46f60 6f 72 20 72 65 74 61 69 6c 65 72 73 29 20 6f 66 20 74 68 61 74 20 65 64 69 74 69 6f 6e 20 74 6f or.retailers).of.that.edition.to
46f80 20 74 68 65 20 70 75 62 6c 69 63 2e 0a 0a 20 20 20 20 20 49 74 20 69 73 20 72 65 71 75 65 73 74 .the.public........It.is.request
46fa0 65 64 2c 20 62 75 74 20 6e 6f 74 20 72 65 71 75 69 72 65 64 2c 20 74 68 61 74 20 79 6f 75 20 63 ed,.but.not.required,.that.you.c
46fc0 6f 6e 74 61 63 74 20 74 68 65 20 61 75 74 68 6f 72 73 20 6f 66 0a 20 20 20 20 20 74 68 65 20 44 ontact.the.authors.of......the.D
46fe0 6f 63 75 6d 65 6e 74 20 77 65 6c 6c 20 62 65 66 6f 72 65 20 72 65 64 69 73 74 72 69 62 75 74 69 ocument.well.before.redistributi
47000 6e 67 20 61 6e 79 20 6c 61 72 67 65 20 6e 75 6d 62 65 72 20 6f 66 20 63 6f 70 69 65 73 2c 0a 20 ng.any.large.number.of.copies,..
47020 20 20 20 20 74 6f 20 67 69 76 65 20 74 68 65 6d 20 61 20 63 68 61 6e 63 65 20 74 6f 20 70 72 6f ....to.give.them.a.chance.to.pro
47040 76 69 64 65 20 79 6f 75 20 77 69 74 68 20 61 6e 20 75 70 64 61 74 65 64 20 76 65 72 73 69 6f 6e vide.you.with.an.updated.version
47060 20 6f 66 20 74 68 65 0a 20 20 20 20 20 44 6f 63 75 6d 65 6e 74 2e 0a 0a 20 20 34 2e 20 4d 4f 44 .of.the......Document.....4..MOD
47080 49 46 49 43 41 54 49 4f 4e 53 0a 0a 20 20 20 20 20 59 6f 75 20 6d 61 79 20 63 6f 70 79 20 61 6e IFICATIONS.......You.may.copy.an
470a0 64 20 64 69 73 74 72 69 62 75 74 65 20 61 20 4d 6f 64 69 66 69 65 64 20 56 65 72 73 69 6f 6e 20 d.distribute.a.Modified.Version.
470c0 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 0a 20 20 20 20 20 75 6e 64 65 72 20 74 68 65 20 63 of.the.Document......under.the.c
470e0 6f 6e 64 69 74 69 6f 6e 73 20 6f 66 20 73 65 63 74 69 6f 6e 73 20 32 20 61 6e 64 20 33 20 61 62 onditions.of.sections.2.and.3.ab
47100 6f 76 65 2c 20 70 72 6f 76 69 64 65 64 20 74 68 61 74 20 79 6f 75 0a 20 20 20 20 20 72 65 6c 65 ove,.provided.that.you......rele
47120 61 73 65 20 74 68 65 20 4d 6f 64 69 66 69 65 64 20 56 65 72 73 69 6f 6e 20 75 6e 64 65 72 20 70 ase.the.Modified.Version.under.p
47140 72 65 63 69 73 65 6c 79 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 77 69 74 68 20 74 68 65 0a recisely.this.License,.with.the.
47160 20 20 20 20 20 4d 6f 64 69 66 69 65 64 20 56 65 72 73 69 6f 6e 20 66 69 6c 6c 69 6e 67 20 74 68 .....Modified.Version.filling.th
47180 65 20 72 6f 6c 65 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 2c 20 74 68 75 73 20 6c 69 63 e.role.of.the.Document,.thus.lic
471a0 65 6e 73 69 6e 67 0a 20 20 20 20 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 61 6e 64 20 6d 6f 64 ensing......distribution.and.mod
471c0 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 4d 6f 64 69 66 69 65 64 20 56 65 72 73 69 6f ification.of.the.Modified.Versio
471e0 6e 20 74 6f 20 77 68 6f 65 76 65 72 0a 20 20 20 20 20 70 6f 73 73 65 73 73 65 73 20 61 20 63 6f n.to.whoever......possesses.a.co
47200 70 79 20 6f 66 20 69 74 2e 20 20 49 6e 20 61 64 64 69 74 69 6f 6e 2c 20 79 6f 75 20 6d 75 73 74 py.of.it...In.addition,.you.must
47220 20 64 6f 20 74 68 65 73 65 20 74 68 69 6e 67 73 20 69 6e 0a 20 20 20 20 20 74 68 65 20 4d 6f 64 .do.these.things.in......the.Mod
47240 69 66 69 65 64 20 56 65 72 73 69 6f 6e 3a 0a 0a 20 20 20 20 20 20 20 41 2e 20 55 73 65 20 69 6e ified.Version:.........A..Use.in
47260 20 74 68 65 20 54 69 74 6c 65 20 50 61 67 65 20 28 61 6e 64 20 6f 6e 20 74 68 65 20 63 6f 76 65 .the.Title.Page.(and.on.the.cove
47280 72 73 2c 20 69 66 20 61 6e 79 29 20 61 20 74 69 74 6c 65 0a 20 20 20 20 20 20 20 20 20 20 64 69 rs,.if.any).a.title...........di
472a0 73 74 69 6e 63 74 20 66 72 6f 6d 20 74 68 61 74 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 stinct.from.that.of.the.Document
472c0 2c 20 61 6e 64 20 66 72 6f 6d 20 74 68 6f 73 65 20 6f 66 20 70 72 65 76 69 6f 75 73 0a 20 20 20 ,.and.from.those.of.previous....
472e0 20 20 20 20 20 20 20 76 65 72 73 69 6f 6e 73 20 28 77 68 69 63 68 20 73 68 6f 75 6c 64 2c 20 69 .......versions.(which.should,.i
47300 66 20 74 68 65 72 65 20 77 65 72 65 20 61 6e 79 2c 20 62 65 20 6c 69 73 74 65 64 20 69 6e 20 74 f.there.were.any,.be.listed.in.t
47320 68 65 0a 20 20 20 20 20 20 20 20 20 20 48 69 73 74 6f 72 79 20 73 65 63 74 69 6f 6e 20 6f 66 20 he...........History.section.of.
47340 74 68 65 20 44 6f 63 75 6d 65 6e 74 29 2e 20 20 59 6f 75 20 6d 61 79 20 75 73 65 20 74 68 65 20 the.Document)...You.may.use.the.
47360 73 61 6d 65 20 74 69 74 6c 65 0a 20 20 20 20 20 20 20 20 20 20 61 73 20 61 20 70 72 65 76 69 6f same.title...........as.a.previo
47380 75 73 20 76 65 72 73 69 6f 6e 20 69 66 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 70 75 62 6c 69 us.version.if.the.original.publi
473a0 73 68 65 72 20 6f 66 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 20 20 76 65 72 73 69 6f 6e 20 67 sher.of.that...........version.g
473c0 69 76 65 73 20 70 65 72 6d 69 73 73 69 6f 6e 2e 0a 0a 20 20 20 20 20 20 20 42 2e 20 4c 69 73 74 ives.permission..........B..List
473e0 20 6f 6e 20 74 68 65 20 54 69 74 6c 65 20 50 61 67 65 2c 20 61 73 20 61 75 74 68 6f 72 73 2c 20 .on.the.Title.Page,.as.authors,.
47400 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 70 65 72 73 6f 6e 73 20 6f 72 0a 20 20 20 20 20 20 20 20 20 one.or.more.persons.or..........
47420 20 65 6e 74 69 74 69 65 73 20 72 65 73 70 6f 6e 73 69 62 6c 65 20 66 6f 72 20 61 75 74 68 6f 72 .entities.responsible.for.author
47440 73 68 69 70 20 6f 66 20 74 68 65 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 73 20 69 6e 0a 20 20 20 ship.of.the.modifications.in....
47460 20 20 20 20 20 20 20 74 68 65 20 4d 6f 64 69 66 69 65 64 20 56 65 72 73 69 6f 6e 2c 20 74 6f 67 .......the.Modified.Version,.tog
47480 65 74 68 65 72 20 77 69 74 68 20 61 74 20 6c 65 61 73 74 20 66 69 76 65 20 6f 66 20 74 68 65 0a ether.with.at.least.five.of.the.
474a0 20 20 20 20 20 20 20 20 20 20 70 72 69 6e 63 69 70 61 6c 20 61 75 74 68 6f 72 73 20 6f 66 20 74 ..........principal.authors.of.t
474c0 68 65 20 44 6f 63 75 6d 65 6e 74 20 28 61 6c 6c 20 6f 66 20 69 74 73 20 70 72 69 6e 63 69 70 61 he.Document.(all.of.its.principa
474e0 6c 0a 20 20 20 20 20 20 20 20 20 20 61 75 74 68 6f 72 73 2c 20 69 66 20 69 74 20 68 61 73 20 66 l...........authors,.if.it.has.f
47500 65 77 65 72 20 74 68 61 6e 20 66 69 76 65 29 2c 20 75 6e 6c 65 73 73 20 74 68 65 79 20 72 65 6c ewer.than.five),.unless.they.rel
47520 65 61 73 65 20 79 6f 75 0a 20 20 20 20 20 20 20 20 20 20 66 72 6f 6d 20 74 68 69 73 20 72 65 71 ease.you...........from.this.req
47540 75 69 72 65 6d 65 6e 74 2e 0a 0a 20 20 20 20 20 20 20 43 2e 20 53 74 61 74 65 20 6f 6e 20 74 68 uirement..........C..State.on.th
47560 65 20 54 69 74 6c 65 20 70 61 67 65 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 70 75 62 e.Title.page.the.name.of.the.pub
47580 6c 69 73 68 65 72 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 4d 6f 64 69 66 69 65 64 lisher.of.the...........Modified
475a0 20 56 65 72 73 69 6f 6e 2c 20 61 73 20 74 68 65 20 70 75 62 6c 69 73 68 65 72 2e 0a 0a 20 20 20 .Version,.as.the.publisher......
475c0 20 20 20 20 44 2e 20 50 72 65 73 65 72 76 65 20 61 6c 6c 20 74 68 65 20 63 6f 70 79 72 69 67 68 ....D..Preserve.all.the.copyrigh
475e0 74 20 6e 6f 74 69 63 65 73 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 2e 0a 0a 20 20 20 20 t.notices.of.the.Document.......
47600 20 20 20 45 2e 20 41 64 64 20 61 6e 20 61 70 70 72 6f 70 72 69 61 74 65 20 63 6f 70 79 72 69 67 ...E..Add.an.appropriate.copyrig
47620 68 74 20 6e 6f 74 69 63 65 20 66 6f 72 20 79 6f 75 72 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 73 ht.notice.for.your.modifications
47640 0a 20 20 20 20 20 20 20 20 20 20 61 64 6a 61 63 65 6e 74 20 74 6f 20 74 68 65 20 6f 74 68 65 72 ...........adjacent.to.the.other
47660 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 73 2e 0a 0a 20 20 20 20 20 20 20 46 2e 20 49 .copyright.notices..........F..I
47680 6e 63 6c 75 64 65 2c 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 61 66 74 65 72 20 74 68 65 20 63 6f nclude,.immediately.after.the.co
476a0 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 73 2c 20 61 20 6c 69 63 65 6e 73 65 0a 20 20 20 20 20 pyright.notices,.a.license......
476c0 20 20 20 20 20 6e 6f 74 69 63 65 20 67 69 76 69 6e 67 20 74 68 65 20 70 75 62 6c 69 63 20 70 65 .....notice.giving.the.public.pe
476e0 72 6d 69 73 73 69 6f 6e 20 74 6f 20 75 73 65 20 74 68 65 20 4d 6f 64 69 66 69 65 64 0a 20 20 20 rmission.to.use.the.Modified....
47700 20 20 20 20 20 20 20 56 65 72 73 69 6f 6e 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f .......Version.under.the.terms.o
47720 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 69 6e 20 74 68 65 20 66 6f 72 6d 20 73 68 6f 77 f.this.License,.in.the.form.show
47740 6e 20 69 6e 0a 20 20 20 20 20 20 20 20 20 20 74 68 65 20 41 64 64 65 6e 64 75 6d 20 62 65 6c 6f n.in...........the.Addendum.belo
47760 77 2e 0a 0a 20 20 20 20 20 20 20 47 2e 20 50 72 65 73 65 72 76 65 20 69 6e 20 74 68 61 74 20 6c w..........G..Preserve.in.that.l
47780 69 63 65 6e 73 65 20 6e 6f 74 69 63 65 20 74 68 65 20 66 75 6c 6c 20 6c 69 73 74 73 20 6f 66 20 icense.notice.the.full.lists.of.
477a0 49 6e 76 61 72 69 61 6e 74 0a 20 20 20 20 20 20 20 20 20 20 53 65 63 74 69 6f 6e 73 20 61 6e 64 Invariant...........Sections.and
477c0 20 72 65 71 75 69 72 65 64 20 43 6f 76 65 72 20 54 65 78 74 73 20 67 69 76 65 6e 20 69 6e 20 74 .required.Cover.Texts.given.in.t
477e0 68 65 20 44 6f 63 75 6d 65 6e 74 e2 80 99 73 0a 20 20 20 20 20 20 20 20 20 20 6c 69 63 65 6e 73 he.Document...s...........licens
47800 65 20 6e 6f 74 69 63 65 2e 0a 0a 20 20 20 20 20 20 20 48 2e 20 49 6e 63 6c 75 64 65 20 61 6e 20 e.notice..........H..Include.an.
47820 75 6e 61 6c 74 65 72 65 64 20 63 6f 70 79 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0a unaltered.copy.of.this.License..
47840 0a 20 20 20 20 20 20 20 49 2e 20 50 72 65 73 65 72 76 65 20 74 68 65 20 73 65 63 74 69 6f 6e 20 ........I..Preserve.the.section.
47860 45 6e 74 69 74 6c 65 64 20 e2 80 9c 48 69 73 74 6f 72 79 e2 80 9d 2c 20 50 72 65 73 65 72 76 65 Entitled....History...,.Preserve
47880 20 69 74 73 20 54 69 74 6c 65 2c 0a 20 20 20 20 20 20 20 20 20 20 61 6e 64 20 61 64 64 20 74 6f .its.Title,...........and.add.to
478a0 20 69 74 20 61 6e 20 69 74 65 6d 20 73 74 61 74 69 6e 67 20 61 74 20 6c 65 61 73 74 20 74 68 65 .it.an.item.stating.at.least.the
478c0 20 74 69 74 6c 65 2c 20 79 65 61 72 2c 20 6e 65 77 0a 20 20 20 20 20 20 20 20 20 20 61 75 74 68 .title,.year,.new...........auth
478e0 6f 72 73 2c 20 61 6e 64 20 70 75 62 6c 69 73 68 65 72 20 6f 66 20 74 68 65 20 4d 6f 64 69 66 69 ors,.and.publisher.of.the.Modifi
47900 65 64 20 56 65 72 73 69 6f 6e 20 61 73 20 67 69 76 65 6e 20 6f 6e 20 74 68 65 0a 20 20 20 20 20 ed.Version.as.given.on.the......
47920 20 20 20 20 20 54 69 74 6c 65 20 50 61 67 65 2e 20 20 49 66 20 74 68 65 72 65 20 69 73 20 6e 6f .....Title.Page...If.there.is.no
47940 20 73 65 63 74 69 6f 6e 20 45 6e 74 69 74 6c 65 64 20 e2 80 9c 48 69 73 74 6f 72 79 e2 80 9d 20 .section.Entitled....History....
47960 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 44 6f 63 75 6d 65 6e 74 2c 20 63 72 65 61 74 in.the...........Document,.creat
47980 65 20 6f 6e 65 20 73 74 61 74 69 6e 67 20 74 68 65 20 74 69 74 6c 65 2c 20 79 65 61 72 2c 20 61 e.one.stating.the.title,.year,.a
479a0 75 74 68 6f 72 73 2c 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 73 68 65 72 20 uthors,.and...........publisher.
479c0 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 61 73 20 67 69 76 65 6e 20 6f 6e 20 69 74 73 20 of.the.Document.as.given.on.its.
479e0 54 69 74 6c 65 20 50 61 67 65 2c 20 74 68 65 6e 20 61 64 64 0a 20 20 20 20 20 20 20 20 20 20 61 Title.Page,.then.add...........a
47a00 6e 20 69 74 65 6d 20 64 65 73 63 72 69 62 69 6e 67 20 74 68 65 20 4d 6f 64 69 66 69 65 64 20 56 n.item.describing.the.Modified.V
47a20 65 72 73 69 6f 6e 20 61 73 20 73 74 61 74 65 64 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 ersion.as.stated.in.the.........
47a40 20 20 70 72 65 76 69 6f 75 73 20 73 65 6e 74 65 6e 63 65 2e 0a 0a 20 20 20 20 20 20 20 4a 2e 20 ..previous.sentence..........J..
47a60 50 72 65 73 65 72 76 65 20 74 68 65 20 6e 65 74 77 6f 72 6b 20 6c 6f 63 61 74 69 6f 6e 2c 20 69 Preserve.the.network.location,.i
47a80 66 20 61 6e 79 2c 20 67 69 76 65 6e 20 69 6e 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 0a 20 20 20 f.any,.given.in.the.Document....
47aa0 20 20 20 20 20 20 20 66 6f 72 20 70 75 62 6c 69 63 20 61 63 63 65 73 73 20 74 6f 20 61 20 54 72 .......for.public.access.to.a.Tr
47ac0 61 6e 73 70 61 72 65 6e 74 20 63 6f 70 79 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 2c 20 ansparent.copy.of.the.Document,.
47ae0 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 6c 69 6b 65 77 69 73 65 20 74 68 65 20 6e 65 74 77 6f and...........likewise.the.netwo
47b00 72 6b 20 6c 6f 63 61 74 69 6f 6e 73 20 67 69 76 65 6e 20 69 6e 20 74 68 65 20 44 6f 63 75 6d 65 rk.locations.given.in.the.Docume
47b20 6e 74 20 66 6f 72 0a 20 20 20 20 20 20 20 20 20 20 70 72 65 76 69 6f 75 73 20 76 65 72 73 69 6f nt.for...........previous.versio
47b40 6e 73 20 69 74 20 77 61 73 20 62 61 73 65 64 20 6f 6e 2e 20 20 54 68 65 73 65 20 6d 61 79 20 62 ns.it.was.based.on...These.may.b
47b60 65 20 70 6c 61 63 65 64 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 e2 80 9c 48 69 73 e.placed.in.the..............His
47b80 74 6f 72 79 e2 80 9d 20 73 65 63 74 69 6f 6e 2e 20 20 59 6f 75 20 6d 61 79 20 6f 6d 69 74 20 61 tory....section...You.may.omit.a
47ba0 20 6e 65 74 77 6f 72 6b 20 6c 6f 63 61 74 69 6f 6e 20 66 6f 72 20 61 20 77 6f 72 6b 0a 20 20 20 .network.location.for.a.work....
47bc0 20 20 20 20 20 20 20 74 68 61 74 20 77 61 73 20 70 75 62 6c 69 73 68 65 64 20 61 74 20 6c 65 61 .......that.was.published.at.lea
47be0 73 74 20 66 6f 75 72 20 79 65 61 72 73 20 62 65 66 6f 72 65 20 74 68 65 20 44 6f 63 75 6d 65 6e st.four.years.before.the.Documen
47c00 74 0a 20 20 20 20 20 20 20 20 20 20 69 74 73 65 6c 66 2c 20 6f 72 20 69 66 20 74 68 65 20 6f 72 t...........itself,.or.if.the.or
47c20 69 67 69 6e 61 6c 20 70 75 62 6c 69 73 68 65 72 20 6f 66 20 74 68 65 20 76 65 72 73 69 6f 6e 20 iginal.publisher.of.the.version.
47c40 69 74 20 72 65 66 65 72 73 0a 20 20 20 20 20 20 20 20 20 20 74 6f 20 67 69 76 65 73 20 70 65 72 it.refers...........to.gives.per
47c60 6d 69 73 73 69 6f 6e 2e 0a 0a 20 20 20 20 20 20 20 4b 2e 20 46 6f 72 20 61 6e 79 20 73 65 63 74 mission..........K..For.any.sect
47c80 69 6f 6e 20 45 6e 74 69 74 6c 65 64 20 e2 80 9c 41 63 6b 6e 6f 77 6c 65 64 67 65 6d 65 6e 74 73 ion.Entitled....Acknowledgements
47ca0 e2 80 9d 20 6f 72 20 e2 80 9c 44 65 64 69 63 61 74 69 6f 6e 73 e2 80 9d 2c 0a 20 20 20 20 20 20 ....or....Dedications...,.......
47cc0 20 20 20 20 50 72 65 73 65 72 76 65 20 74 68 65 20 54 69 74 6c 65 20 6f 66 20 74 68 65 20 73 65 ....Preserve.the.Title.of.the.se
47ce0 63 74 69 6f 6e 2c 20 61 6e 64 20 70 72 65 73 65 72 76 65 20 69 6e 20 74 68 65 20 73 65 63 74 69 ction,.and.preserve.in.the.secti
47d00 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 61 6c 6c 20 74 68 65 20 73 75 62 73 74 61 6e 63 65 20 61 on...........all.the.substance.a
47d20 6e 64 20 74 6f 6e 65 20 6f 66 20 65 61 63 68 20 6f 66 20 74 68 65 20 63 6f 6e 74 72 69 62 75 74 nd.tone.of.each.of.the.contribut
47d40 6f 72 0a 20 20 20 20 20 20 20 20 20 20 61 63 6b 6e 6f 77 6c 65 64 67 65 6d 65 6e 74 73 20 61 6e or...........acknowledgements.an
47d60 64 2f 6f 72 20 64 65 64 69 63 61 74 69 6f 6e 73 20 67 69 76 65 6e 20 74 68 65 72 65 69 6e 2e 0a d/or.dedications.given.therein..
47d80 0a 20 20 20 20 20 20 20 4c 2e 20 50 72 65 73 65 72 76 65 20 61 6c 6c 20 74 68 65 20 49 6e 76 61 ........L..Preserve.all.the.Inva
47da0 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 2c 20 riant.Sections.of.the.Document,.
47dc0 75 6e 61 6c 74 65 72 65 64 0a 20 20 20 20 20 20 20 20 20 20 69 6e 20 74 68 65 69 72 20 74 65 78 unaltered...........in.their.tex
47de0 74 20 61 6e 64 20 69 6e 20 74 68 65 69 72 20 74 69 74 6c 65 73 2e 20 20 53 65 63 74 69 6f 6e 20 t.and.in.their.titles...Section.
47e00 6e 75 6d 62 65 72 73 20 6f 72 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 65 71 75 69 76 61 6c numbers.or.the...........equival
47e20 65 6e 74 20 61 72 65 20 6e 6f 74 20 63 6f 6e 73 69 64 65 72 65 64 20 70 61 72 74 20 6f 66 20 74 ent.are.not.considered.part.of.t
47e40 68 65 20 73 65 63 74 69 6f 6e 20 74 69 74 6c 65 73 2e 0a 0a 20 20 20 20 20 20 20 4d 2e 20 44 65 he.section.titles..........M..De
47e60 6c 65 74 65 20 61 6e 79 20 73 65 63 74 69 6f 6e 20 45 6e 74 69 74 6c 65 64 20 e2 80 9c 45 6e 64 lete.any.section.Entitled....End
47e80 6f 72 73 65 6d 65 6e 74 73 e2 80 9d 2e 20 20 53 75 63 68 20 61 20 73 65 63 74 69 6f 6e 0a 20 20 orsements......Such.a.section...
47ea0 20 20 20 20 20 20 20 20 6d 61 79 20 6e 6f 74 20 62 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 ........may.not.be.included.in.t
47ec0 68 65 20 4d 6f 64 69 66 69 65 64 20 56 65 72 73 69 6f 6e 2e 0a 0a 20 20 20 20 20 20 20 4e 2e 20 he.Modified.Version..........N..
47ee0 44 6f 20 6e 6f 74 20 72 65 74 69 74 6c 65 20 61 6e 79 20 65 78 69 73 74 69 6e 67 20 73 65 63 74 Do.not.retitle.any.existing.sect
47f00 69 6f 6e 20 74 6f 20 62 65 20 45 6e 74 69 74 6c 65 64 0a 20 20 20 20 20 20 20 20 20 20 e2 80 9c ion.to.be.Entitled..............
47f20 45 6e 64 6f 72 73 65 6d 65 6e 74 73 e2 80 9d 20 6f 72 20 74 6f 20 63 6f 6e 66 6c 69 63 74 20 69 Endorsements....or.to.conflict.i
47f40 6e 20 74 69 74 6c 65 20 77 69 74 68 20 61 6e 79 20 49 6e 76 61 72 69 61 6e 74 0a 20 20 20 20 20 n.title.with.any.Invariant......
47f60 20 20 20 20 20 53 65 63 74 69 6f 6e 2e 0a 0a 20 20 20 20 20 20 20 4f 2e 20 50 72 65 73 65 72 76 .....Section..........O..Preserv
47f80 65 20 61 6e 79 20 57 61 72 72 61 6e 74 79 20 44 69 73 63 6c 61 69 6d 65 72 73 2e 0a 0a 20 20 20 e.any.Warranty.Disclaimers......
47fa0 20 20 49 66 20 74 68 65 20 4d 6f 64 69 66 69 65 64 20 56 65 72 73 69 6f 6e 20 69 6e 63 6c 75 64 ..If.the.Modified.Version.includ
47fc0 65 73 20 6e 65 77 20 66 72 6f 6e 74 2d 6d 61 74 74 65 72 20 73 65 63 74 69 6f 6e 73 20 6f 72 0a es.new.front-matter.sections.or.
47fe0 20 20 20 20 20 61 70 70 65 6e 64 69 63 65 73 20 74 68 61 74 20 71 75 61 6c 69 66 79 20 61 73 20 .....appendices.that.qualify.as.
48000 53 65 63 6f 6e 64 61 72 79 20 53 65 63 74 69 6f 6e 73 20 61 6e 64 20 63 6f 6e 74 61 69 6e 20 6e Secondary.Sections.and.contain.n
48020 6f 0a 20 20 20 20 20 6d 61 74 65 72 69 61 6c 20 63 6f 70 69 65 64 20 66 72 6f 6d 20 74 68 65 20 o......material.copied.from.the.
48040 44 6f 63 75 6d 65 6e 74 2c 20 79 6f 75 20 6d 61 79 20 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e Document,.you.may.at.your.option
48060 20 64 65 73 69 67 6e 61 74 65 0a 20 20 20 20 20 73 6f 6d 65 20 6f 72 20 61 6c 6c 20 6f 66 20 74 .designate......some.or.all.of.t
48080 68 65 73 65 20 73 65 63 74 69 6f 6e 73 20 61 73 20 69 6e 76 61 72 69 61 6e 74 2e 20 20 54 6f 20 hese.sections.as.invariant...To.
480a0 64 6f 20 74 68 69 73 2c 20 61 64 64 20 74 68 65 69 72 0a 20 20 20 20 20 74 69 74 6c 65 73 20 74 do.this,.add.their......titles.t
480c0 6f 20 74 68 65 20 6c 69 73 74 20 6f 66 20 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 o.the.list.of.Invariant.Sections
480e0 20 69 6e 20 74 68 65 20 4d 6f 64 69 66 69 65 64 20 56 65 72 73 69 6f 6e e2 80 99 73 0a 20 20 20 .in.the.Modified.Version...s....
48100 20 20 6c 69 63 65 6e 73 65 20 6e 6f 74 69 63 65 2e 20 20 54 68 65 73 65 20 74 69 74 6c 65 73 20 ..license.notice...These.titles.
48120 6d 75 73 74 20 62 65 20 64 69 73 74 69 6e 63 74 20 66 72 6f 6d 20 61 6e 79 20 6f 74 68 65 72 0a must.be.distinct.from.any.other.
48140 20 20 20 20 20 73 65 63 74 69 6f 6e 20 74 69 74 6c 65 73 2e 0a 0a 20 20 20 20 20 59 6f 75 20 6d .....section.titles........You.m
48160 61 79 20 61 64 64 20 61 20 73 65 63 74 69 6f 6e 20 45 6e 74 69 74 6c 65 64 20 e2 80 9c 45 6e 64 ay.add.a.section.Entitled....End
48180 6f 72 73 65 6d 65 6e 74 73 e2 80 9d 2c 20 70 72 6f 76 69 64 65 64 20 69 74 20 63 6f 6e 74 61 69 orsements...,.provided.it.contai
481a0 6e 73 0a 20 20 20 20 20 6e 6f 74 68 69 6e 67 20 62 75 74 20 65 6e 64 6f 72 73 65 6d 65 6e 74 73 ns......nothing.but.endorsements
481c0 20 6f 66 20 79 6f 75 72 20 4d 6f 64 69 66 69 65 64 20 56 65 72 73 69 6f 6e 20 62 79 20 76 61 72 .of.your.Modified.Version.by.var
481e0 69 6f 75 73 0a 20 20 20 20 20 70 61 72 74 69 65 73 e2 80 94 66 6f 72 20 65 78 61 6d 70 6c 65 2c ious......parties...for.example,
48200 20 73 74 61 74 65 6d 65 6e 74 73 20 6f 66 20 70 65 65 72 20 72 65 76 69 65 77 20 6f 72 20 74 68 .statements.of.peer.review.or.th
48220 61 74 20 74 68 65 20 74 65 78 74 20 68 61 73 0a 20 20 20 20 20 62 65 65 6e 20 61 70 70 72 6f 76 at.the.text.has......been.approv
48240 65 64 20 62 79 20 61 6e 20 6f 72 67 61 6e 69 7a 61 74 69 6f 6e 20 61 73 20 74 68 65 20 61 75 74 ed.by.an.organization.as.the.aut
48260 68 6f 72 69 74 61 74 69 76 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 0a 20 20 20 20 20 61 20 horitative.definition.of......a.
48280 73 74 61 6e 64 61 72 64 2e 0a 0a 20 20 20 20 20 59 6f 75 20 6d 61 79 20 61 64 64 20 61 20 70 61 standard........You.may.add.a.pa
482a0 73 73 61 67 65 20 6f 66 20 75 70 20 74 6f 20 66 69 76 65 20 77 6f 72 64 73 20 61 73 20 61 20 46 ssage.of.up.to.five.words.as.a.F
482c0 72 6f 6e 74 2d 43 6f 76 65 72 20 54 65 78 74 2c 0a 20 20 20 20 20 61 6e 64 20 61 20 70 61 73 73 ront-Cover.Text,......and.a.pass
482e0 61 67 65 20 6f 66 20 75 70 20 74 6f 20 32 35 20 77 6f 72 64 73 20 61 73 20 61 20 42 61 63 6b 2d age.of.up.to.25.words.as.a.Back-
48300 43 6f 76 65 72 20 54 65 78 74 2c 20 74 6f 20 74 68 65 20 65 6e 64 20 6f 66 0a 20 20 20 20 20 74 Cover.Text,.to.the.end.of......t
48320 68 65 20 6c 69 73 74 20 6f 66 20 43 6f 76 65 72 20 54 65 78 74 73 20 69 6e 20 74 68 65 20 4d 6f he.list.of.Cover.Texts.in.the.Mo
48340 64 69 66 69 65 64 20 56 65 72 73 69 6f 6e 2e 20 20 4f 6e 6c 79 20 6f 6e 65 20 70 61 73 73 61 67 dified.Version...Only.one.passag
48360 65 0a 20 20 20 20 20 6f 66 20 46 72 6f 6e 74 2d 43 6f 76 65 72 20 54 65 78 74 20 61 6e 64 20 6f e......of.Front-Cover.Text.and.o
48380 6e 65 20 6f 66 20 42 61 63 6b 2d 43 6f 76 65 72 20 54 65 78 74 20 6d 61 79 20 62 65 20 61 64 64 ne.of.Back-Cover.Text.may.be.add
483a0 65 64 20 62 79 20 28 6f 72 0a 20 20 20 20 20 74 68 72 6f 75 67 68 20 61 72 72 61 6e 67 65 6d 65 ed.by.(or......through.arrangeme
483c0 6e 74 73 20 6d 61 64 65 20 62 79 29 20 61 6e 79 20 6f 6e 65 20 65 6e 74 69 74 79 2e 20 20 49 66 nts.made.by).any.one.entity...If
483e0 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 0a 20 20 20 20 20 61 6c 72 65 61 64 79 20 69 6e 63 6c 75 .the.Document......already.inclu
48400 64 65 73 20 61 20 63 6f 76 65 72 20 74 65 78 74 20 66 6f 72 20 74 68 65 20 73 61 6d 65 20 63 6f des.a.cover.text.for.the.same.co
48420 76 65 72 2c 20 70 72 65 76 69 6f 75 73 6c 79 20 61 64 64 65 64 0a 20 20 20 20 20 62 79 20 79 6f ver,.previously.added......by.yo
48440 75 20 6f 72 20 62 79 20 61 72 72 61 6e 67 65 6d 65 6e 74 20 6d 61 64 65 20 62 79 20 74 68 65 20 u.or.by.arrangement.made.by.the.
48460 73 61 6d 65 20 65 6e 74 69 74 79 20 79 6f 75 20 61 72 65 20 61 63 74 69 6e 67 20 6f 6e 0a 20 20 same.entity.you.are.acting.on...
48480 20 20 20 62 65 68 61 6c 66 20 6f 66 2c 20 79 6f 75 20 6d 61 79 20 6e 6f 74 20 61 64 64 20 61 6e ...behalf.of,.you.may.not.add.an
484a0 6f 74 68 65 72 3b 20 62 75 74 20 79 6f 75 20 6d 61 79 20 72 65 70 6c 61 63 65 20 74 68 65 20 6f other;.but.you.may.replace.the.o
484c0 6c 64 0a 20 20 20 20 20 6f 6e 65 2c 20 6f 6e 20 65 78 70 6c 69 63 69 74 20 70 65 72 6d 69 73 73 ld......one,.on.explicit.permiss
484e0 69 6f 6e 20 66 72 6f 6d 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 70 75 62 6c 69 73 68 65 72 20 ion.from.the.previous.publisher.
48500 74 68 61 74 20 61 64 64 65 64 0a 20 20 20 20 20 74 68 65 20 6f 6c 64 20 6f 6e 65 2e 0a 0a 20 20 that.added......the.old.one.....
48520 20 20 20 54 68 65 20 61 75 74 68 6f 72 28 73 29 20 61 6e 64 20 70 75 62 6c 69 73 68 65 72 28 73 ...The.author(s).and.publisher(s
48540 29 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 64 6f 20 6e 6f 74 20 62 79 20 74 68 69 73 ).of.the.Document.do.not.by.this
48560 0a 20 20 20 20 20 4c 69 63 65 6e 73 65 20 67 69 76 65 20 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f ......License.give.permission.to
48580 20 75 73 65 20 74 68 65 69 72 20 6e 61 6d 65 73 20 66 6f 72 20 70 75 62 6c 69 63 69 74 79 20 66 .use.their.names.for.publicity.f
485a0 6f 72 20 6f 72 20 74 6f 0a 20 20 20 20 20 61 73 73 65 72 74 20 6f 72 20 69 6d 70 6c 79 20 65 6e or.or.to......assert.or.imply.en
485c0 64 6f 72 73 65 6d 65 6e 74 20 6f 66 20 61 6e 79 20 4d 6f 64 69 66 69 65 64 20 56 65 72 73 69 6f dorsement.of.any.Modified.Versio
485e0 6e 2e 0a 0a 20 20 35 2e 20 43 4f 4d 42 49 4e 49 4e 47 20 44 4f 43 55 4d 45 4e 54 53 0a 0a 20 20 n.....5..COMBINING.DOCUMENTS....
48600 20 20 20 59 6f 75 20 6d 61 79 20 63 6f 6d 62 69 6e 65 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 ...You.may.combine.the.Document.
48620 77 69 74 68 20 6f 74 68 65 72 20 64 6f 63 75 6d 65 6e 74 73 20 72 65 6c 65 61 73 65 64 20 75 6e with.other.documents.released.un
48640 64 65 72 0a 20 20 20 20 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 75 6e 64 65 72 20 74 68 65 der......this.License,.under.the
48660 20 74 65 72 6d 73 20 64 65 66 69 6e 65 64 20 69 6e 20 73 65 63 74 69 6f 6e 20 34 20 61 62 6f 76 .terms.defined.in.section.4.abov
48680 65 20 66 6f 72 0a 20 20 20 20 20 6d 6f 64 69 66 69 65 64 20 76 65 72 73 69 6f 6e 73 2c 20 70 72 e.for......modified.versions,.pr
486a0 6f 76 69 64 65 64 20 74 68 61 74 20 79 6f 75 20 69 6e 63 6c 75 64 65 20 69 6e 20 74 68 65 20 63 ovided.that.you.include.in.the.c
486c0 6f 6d 62 69 6e 61 74 69 6f 6e 20 61 6c 6c 0a 20 20 20 20 20 6f 66 20 74 68 65 20 49 6e 76 61 72 ombination.all......of.the.Invar
486e0 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 20 6f 66 20 61 6c 6c 20 6f 66 20 74 68 65 20 6f 72 69 67 iant.Sections.of.all.of.the.orig
48700 69 6e 61 6c 20 64 6f 63 75 6d 65 6e 74 73 2c 0a 20 20 20 20 20 75 6e 6d 6f 64 69 66 69 65 64 2c inal.documents,......unmodified,
48720 20 61 6e 64 20 6c 69 73 74 20 74 68 65 6d 20 61 6c 6c 20 61 73 20 49 6e 76 61 72 69 61 6e 74 20 .and.list.them.all.as.Invariant.
48740 53 65 63 74 69 6f 6e 73 20 6f 66 20 79 6f 75 72 0a 20 20 20 20 20 63 6f 6d 62 69 6e 65 64 20 77 Sections.of.your......combined.w
48760 6f 72 6b 20 69 6e 20 69 74 73 20 6c 69 63 65 6e 73 65 20 6e 6f 74 69 63 65 2c 20 61 6e 64 20 74 ork.in.its.license.notice,.and.t
48780 68 61 74 20 79 6f 75 20 70 72 65 73 65 72 76 65 20 61 6c 6c 0a 20 20 20 20 20 74 68 65 69 72 20 hat.you.preserve.all......their.
487a0 57 61 72 72 61 6e 74 79 20 44 69 73 63 6c 61 69 6d 65 72 73 2e 0a 0a 20 20 20 20 20 54 68 65 20 Warranty.Disclaimers........The.
487c0 63 6f 6d 62 69 6e 65 64 20 77 6f 72 6b 20 6e 65 65 64 20 6f 6e 6c 79 20 63 6f 6e 74 61 69 6e 20 combined.work.need.only.contain.
487e0 6f 6e 65 20 63 6f 70 79 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 61 6e 64 0a 20 20 one.copy.of.this.License,.and...
48800 20 20 20 6d 75 6c 74 69 70 6c 65 20 69 64 65 6e 74 69 63 61 6c 20 49 6e 76 61 72 69 61 6e 74 20 ...multiple.identical.Invariant.
48820 53 65 63 74 69 6f 6e 73 20 6d 61 79 20 62 65 20 72 65 70 6c 61 63 65 64 20 77 69 74 68 20 61 20 Sections.may.be.replaced.with.a.
48840 73 69 6e 67 6c 65 0a 20 20 20 20 20 63 6f 70 79 2e 20 20 49 66 20 74 68 65 72 65 20 61 72 65 20 single......copy...If.there.are.
48860 6d 75 6c 74 69 70 6c 65 20 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 20 77 69 74 68 multiple.Invariant.Sections.with
48880 20 74 68 65 20 73 61 6d 65 20 6e 61 6d 65 0a 20 20 20 20 20 62 75 74 20 64 69 66 66 65 72 65 6e .the.same.name......but.differen
488a0 74 20 63 6f 6e 74 65 6e 74 73 2c 20 6d 61 6b 65 20 74 68 65 20 74 69 74 6c 65 20 6f 66 20 65 61 t.contents,.make.the.title.of.ea
488c0 63 68 20 73 75 63 68 20 73 65 63 74 69 6f 6e 20 75 6e 69 71 75 65 0a 20 20 20 20 20 62 79 20 61 ch.such.section.unique......by.a
488e0 64 64 69 6e 67 20 61 74 20 74 68 65 20 65 6e 64 20 6f 66 20 69 74 2c 20 69 6e 20 70 61 72 65 6e dding.at.the.end.of.it,.in.paren
48900 74 68 65 73 65 73 2c 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 0a 20 20 20 20 20 6f 72 69 theses,.the.name.of.the......ori
48920 67 69 6e 61 6c 20 61 75 74 68 6f 72 20 6f 72 20 70 75 62 6c 69 73 68 65 72 20 6f 66 20 74 68 61 ginal.author.or.publisher.of.tha
48940 74 20 73 65 63 74 69 6f 6e 20 69 66 20 6b 6e 6f 77 6e 2c 20 6f 72 20 65 6c 73 65 20 61 0a 20 20 t.section.if.known,.or.else.a...
48960 20 20 20 75 6e 69 71 75 65 20 6e 75 6d 62 65 72 2e 20 20 4d 61 6b 65 20 74 68 65 20 73 61 6d 65 ...unique.number...Make.the.same
48980 20 61 64 6a 75 73 74 6d 65 6e 74 20 74 6f 20 74 68 65 20 73 65 63 74 69 6f 6e 20 74 69 74 6c 65 .adjustment.to.the.section.title
489a0 73 20 69 6e 0a 20 20 20 20 20 74 68 65 20 6c 69 73 74 20 6f 66 20 49 6e 76 61 72 69 61 6e 74 20 s.in......the.list.of.Invariant.
489c0 53 65 63 74 69 6f 6e 73 20 69 6e 20 74 68 65 20 6c 69 63 65 6e 73 65 20 6e 6f 74 69 63 65 20 6f Sections.in.the.license.notice.o
489e0 66 20 74 68 65 0a 20 20 20 20 20 63 6f 6d 62 69 6e 65 64 20 77 6f 72 6b 2e 0a 0a 20 20 20 20 20 f.the......combined.work........
48a00 49 6e 20 74 68 65 20 63 6f 6d 62 69 6e 61 74 69 6f 6e 2c 20 79 6f 75 20 6d 75 73 74 20 63 6f 6d In.the.combination,.you.must.com
48a20 62 69 6e 65 20 61 6e 79 20 73 65 63 74 69 6f 6e 73 20 45 6e 74 69 74 6c 65 64 0a 20 20 20 20 20 bine.any.sections.Entitled......
48a40 e2 80 9c 48 69 73 74 6f 72 79 e2 80 9d 20 69 6e 20 74 68 65 20 76 61 72 69 6f 75 73 20 6f 72 69 ...History....in.the.various.ori
48a60 67 69 6e 61 6c 20 64 6f 63 75 6d 65 6e 74 73 2c 20 66 6f 72 6d 69 6e 67 20 6f 6e 65 20 73 65 63 ginal.documents,.forming.one.sec
48a80 74 69 6f 6e 0a 20 20 20 20 20 45 6e 74 69 74 6c 65 64 20 e2 80 9c 48 69 73 74 6f 72 79 e2 80 9d tion......Entitled....History...
48aa0 3b 20 6c 69 6b 65 77 69 73 65 20 63 6f 6d 62 69 6e 65 20 61 6e 79 20 73 65 63 74 69 6f 6e 73 20 ;.likewise.combine.any.sections.
48ac0 45 6e 74 69 74 6c 65 64 0a 20 20 20 20 20 e2 80 9c 41 63 6b 6e 6f 77 6c 65 64 67 65 6d 65 6e 74 Entitled.........Acknowledgement
48ae0 73 e2 80 9d 2c 20 61 6e 64 20 61 6e 79 20 73 65 63 74 69 6f 6e 73 20 45 6e 74 69 74 6c 65 64 20 s...,.and.any.sections.Entitled.
48b00 e2 80 9c 44 65 64 69 63 61 74 69 6f 6e 73 e2 80 9d 2e 20 20 59 6f 75 0a 20 20 20 20 20 6d 75 73 ...Dedications......You......mus
48b20 74 20 64 65 6c 65 74 65 20 61 6c 6c 20 73 65 63 74 69 6f 6e 73 20 45 6e 74 69 74 6c 65 64 20 e2 t.delete.all.sections.Entitled..
48b40 80 9c 45 6e 64 6f 72 73 65 6d 65 6e 74 73 2e e2 80 9d 0a 0a 20 20 36 2e 20 43 4f 4c 4c 45 43 54 ..Endorsements........6..COLLECT
48b60 49 4f 4e 53 20 4f 46 20 44 4f 43 55 4d 45 4e 54 53 0a 0a 20 20 20 20 20 59 6f 75 20 6d 61 79 20 IONS.OF.DOCUMENTS.......You.may.
48b80 6d 61 6b 65 20 61 20 63 6f 6c 6c 65 63 74 69 6f 6e 20 63 6f 6e 73 69 73 74 69 6e 67 20 6f 66 20 make.a.collection.consisting.of.
48ba0 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 61 6e 64 20 6f 74 68 65 72 0a 20 20 20 20 20 64 6f 63 75 the.Document.and.other......docu
48bc0 6d 65 6e 74 73 20 72 65 6c 65 61 73 65 64 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 ments.released.under.this.Licens
48be0 65 2c 20 61 6e 64 20 72 65 70 6c 61 63 65 20 74 68 65 20 69 6e 64 69 76 69 64 75 61 6c 0a 20 20 e,.and.replace.the.individual...
48c00 20 20 20 63 6f 70 69 65 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 69 6e 20 74 68 65 ...copies.of.this.License.in.the
48c20 20 76 61 72 69 6f 75 73 20 64 6f 63 75 6d 65 6e 74 73 20 77 69 74 68 20 61 20 73 69 6e 67 6c 65 .various.documents.with.a.single
48c40 20 63 6f 70 79 0a 20 20 20 20 20 74 68 61 74 20 69 73 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 .copy......that.is.included.in.t
48c60 68 65 20 63 6f 6c 6c 65 63 74 69 6f 6e 2c 20 70 72 6f 76 69 64 65 64 20 74 68 61 74 20 79 6f 75 he.collection,.provided.that.you
48c80 20 66 6f 6c 6c 6f 77 20 74 68 65 0a 20 20 20 20 20 72 75 6c 65 73 20 6f 66 20 74 68 69 73 20 4c .follow.the......rules.of.this.L
48ca0 69 63 65 6e 73 65 20 66 6f 72 20 76 65 72 62 61 74 69 6d 20 63 6f 70 79 69 6e 67 20 6f 66 20 65 icense.for.verbatim.copying.of.e
48cc0 61 63 68 20 6f 66 20 74 68 65 20 64 6f 63 75 6d 65 6e 74 73 0a 20 20 20 20 20 69 6e 20 61 6c 6c ach.of.the.documents......in.all
48ce0 20 6f 74 68 65 72 20 72 65 73 70 65 63 74 73 2e 0a 0a 20 20 20 20 20 59 6f 75 20 6d 61 79 20 65 .other.respects........You.may.e
48d00 78 74 72 61 63 74 20 61 20 73 69 6e 67 6c 65 20 64 6f 63 75 6d 65 6e 74 20 66 72 6f 6d 20 73 75 xtract.a.single.document.from.su
48d20 63 68 20 61 20 63 6f 6c 6c 65 63 74 69 6f 6e 2c 20 61 6e 64 0a 20 20 20 20 20 64 69 73 74 72 69 ch.a.collection,.and......distri
48d40 62 75 74 65 20 69 74 20 69 6e 64 69 76 69 64 75 61 6c 6c 79 20 75 6e 64 65 72 20 74 68 69 73 20 bute.it.individually.under.this.
48d60 4c 69 63 65 6e 73 65 2c 20 70 72 6f 76 69 64 65 64 20 79 6f 75 20 69 6e 73 65 72 74 0a 20 20 20 License,.provided.you.insert....
48d80 20 20 61 20 63 6f 70 79 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 69 6e 74 6f 20 74 68 ..a.copy.of.this.License.into.th
48da0 65 20 65 78 74 72 61 63 74 65 64 20 64 6f 63 75 6d 65 6e 74 2c 20 61 6e 64 20 66 6f 6c 6c 6f 77 e.extracted.document,.and.follow
48dc0 20 74 68 69 73 0a 20 20 20 20 20 4c 69 63 65 6e 73 65 20 69 6e 20 61 6c 6c 20 6f 74 68 65 72 20 .this......License.in.all.other.
48de0 72 65 73 70 65 63 74 73 20 72 65 67 61 72 64 69 6e 67 20 76 65 72 62 61 74 69 6d 20 63 6f 70 79 respects.regarding.verbatim.copy
48e00 69 6e 67 20 6f 66 20 74 68 61 74 0a 20 20 20 20 20 64 6f 63 75 6d 65 6e 74 2e 0a 0a 20 20 37 2e ing.of.that......document.....7.
48e20 20 41 47 47 52 45 47 41 54 49 4f 4e 20 57 49 54 48 20 49 4e 44 45 50 45 4e 44 45 4e 54 20 57 4f .AGGREGATION.WITH.INDEPENDENT.WO
48e40 52 4b 53 0a 0a 20 20 20 20 20 41 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 44 RKS.......A.compilation.of.the.D
48e60 6f 63 75 6d 65 6e 74 20 6f 72 20 69 74 73 20 64 65 72 69 76 61 74 69 76 65 73 20 77 69 74 68 20 ocument.or.its.derivatives.with.
48e80 6f 74 68 65 72 0a 20 20 20 20 20 73 65 70 61 72 61 74 65 20 61 6e 64 20 69 6e 64 65 70 65 6e 64 other......separate.and.independ
48ea0 65 6e 74 20 64 6f 63 75 6d 65 6e 74 73 20 6f 72 20 77 6f 72 6b 73 2c 20 69 6e 20 6f 72 20 6f 6e ent.documents.or.works,.in.or.on
48ec0 20 61 20 76 6f 6c 75 6d 65 20 6f 66 20 61 0a 20 20 20 20 20 73 74 6f 72 61 67 65 20 6f 72 20 64 .a.volume.of.a......storage.or.d
48ee0 69 73 74 72 69 62 75 74 69 6f 6e 20 6d 65 64 69 75 6d 2c 20 69 73 20 63 61 6c 6c 65 64 20 61 6e istribution.medium,.is.called.an
48f00 20 e2 80 9c 61 67 67 72 65 67 61 74 65 e2 80 9d 20 69 66 20 74 68 65 0a 20 20 20 20 20 63 6f 70 ....aggregate....if.the......cop
48f20 79 72 69 67 68 74 20 72 65 73 75 6c 74 69 6e 67 20 66 72 6f 6d 20 74 68 65 20 63 6f 6d 70 69 6c yright.resulting.from.the.compil
48f40 61 74 69 6f 6e 20 69 73 20 6e 6f 74 20 75 73 65 64 20 74 6f 20 6c 69 6d 69 74 20 74 68 65 0a 20 ation.is.not.used.to.limit.the..
48f60 20 20 20 20 6c 65 67 61 6c 20 72 69 67 68 74 73 20 6f 66 20 74 68 65 20 63 6f 6d 70 69 6c 61 74 ....legal.rights.of.the.compilat
48f80 69 6f 6e e2 80 99 73 20 75 73 65 72 73 20 62 65 79 6f 6e 64 20 77 68 61 74 20 74 68 65 20 69 6e ion...s.users.beyond.what.the.in
48fa0 64 69 76 69 64 75 61 6c 0a 20 20 20 20 20 77 6f 72 6b 73 20 70 65 72 6d 69 74 2e 20 20 57 68 65 dividual......works.permit...Whe
48fc0 6e 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 69 73 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 61 6e n.the.Document.is.included.in.an
48fe0 20 61 67 67 72 65 67 61 74 65 2c 20 74 68 69 73 0a 20 20 20 20 20 4c 69 63 65 6e 73 65 20 64 6f .aggregate,.this......License.do
49000 65 73 20 6e 6f 74 20 61 70 70 6c 79 20 74 6f 20 74 68 65 20 6f 74 68 65 72 20 77 6f 72 6b 73 20 es.not.apply.to.the.other.works.
49020 69 6e 20 74 68 65 20 61 67 67 72 65 67 61 74 65 20 77 68 69 63 68 0a 20 20 20 20 20 61 72 65 20 in.the.aggregate.which......are.
49040 6e 6f 74 20 74 68 65 6d 73 65 6c 76 65 73 20 64 65 72 69 76 61 74 69 76 65 20 77 6f 72 6b 73 20 not.themselves.derivative.works.
49060 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 2e 0a 0a 20 20 20 20 20 49 66 20 74 68 65 20 43 6f of.the.Document........If.the.Co
49080 76 65 72 20 54 65 78 74 20 72 65 71 75 69 72 65 6d 65 6e 74 20 6f 66 20 73 65 63 74 69 6f 6e 20 ver.Text.requirement.of.section.
490a0 33 20 69 73 20 61 70 70 6c 69 63 61 62 6c 65 20 74 6f 20 74 68 65 73 65 0a 20 20 20 20 20 63 6f 3.is.applicable.to.these......co
490c0 70 69 65 73 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 2c 20 74 68 65 6e 20 69 66 20 74 68 pies.of.the.Document,.then.if.th
490e0 65 20 44 6f 63 75 6d 65 6e 74 20 69 73 20 6c 65 73 73 20 74 68 61 6e 20 6f 6e 65 20 68 61 6c 66 e.Document.is.less.than.one.half
49100 0a 20 20 20 20 20 6f 66 20 74 68 65 20 65 6e 74 69 72 65 20 61 67 67 72 65 67 61 74 65 2c 20 74 ......of.the.entire.aggregate,.t
49120 68 65 20 44 6f 63 75 6d 65 6e 74 e2 80 99 73 20 43 6f 76 65 72 20 54 65 78 74 73 20 6d 61 79 20 he.Document...s.Cover.Texts.may.
49140 62 65 20 70 6c 61 63 65 64 0a 20 20 20 20 20 6f 6e 20 63 6f 76 65 72 73 20 74 68 61 74 20 62 72 be.placed......on.covers.that.br
49160 61 63 6b 65 74 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 77 69 74 68 69 6e 20 74 68 65 20 61 67 acket.the.Document.within.the.ag
49180 67 72 65 67 61 74 65 2c 20 6f 72 20 74 68 65 0a 20 20 20 20 20 65 6c 65 63 74 72 6f 6e 69 63 20 gregate,.or.the......electronic.
491a0 65 71 75 69 76 61 6c 65 6e 74 20 6f 66 20 63 6f 76 65 72 73 20 69 66 20 74 68 65 20 44 6f 63 75 equivalent.of.covers.if.the.Docu
491c0 6d 65 6e 74 20 69 73 20 69 6e 20 65 6c 65 63 74 72 6f 6e 69 63 0a 20 20 20 20 20 66 6f 72 6d 2e ment.is.in.electronic......form.
491e0 20 20 4f 74 68 65 72 77 69 73 65 20 74 68 65 79 20 6d 75 73 74 20 61 70 70 65 61 72 20 6f 6e 20 ..Otherwise.they.must.appear.on.
49200 70 72 69 6e 74 65 64 20 63 6f 76 65 72 73 20 74 68 61 74 20 62 72 61 63 6b 65 74 0a 20 20 20 20 printed.covers.that.bracket.....
49220 20 74 68 65 20 77 68 6f 6c 65 20 61 67 67 72 65 67 61 74 65 2e 0a 0a 20 20 38 2e 20 54 52 41 4e .the.whole.aggregate.....8..TRAN
49240 53 4c 41 54 49 4f 4e 0a 0a 20 20 20 20 20 54 72 61 6e 73 6c 61 74 69 6f 6e 20 69 73 20 63 6f 6e SLATION.......Translation.is.con
49260 73 69 64 65 72 65 64 20 61 20 6b 69 6e 64 20 6f 66 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 2c 20 sidered.a.kind.of.modification,.
49280 73 6f 20 79 6f 75 20 6d 61 79 0a 20 20 20 20 20 64 69 73 74 72 69 62 75 74 65 20 74 72 61 6e 73 so.you.may......distribute.trans
492a0 6c 61 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 75 6e 64 65 72 20 74 68 lations.of.the.Document.under.th
492c0 65 20 74 65 72 6d 73 20 6f 66 20 73 65 63 74 69 6f 6e 0a 20 20 20 20 20 34 2e 20 20 52 65 70 6c e.terms.of.section......4...Repl
492e0 61 63 69 6e 67 20 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 20 77 69 74 68 20 74 72 acing.Invariant.Sections.with.tr
49300 61 6e 73 6c 61 74 69 6f 6e 73 20 72 65 71 75 69 72 65 73 20 73 70 65 63 69 61 6c 0a 20 20 20 20 anslations.requires.special.....
49320 20 70 65 72 6d 69 73 73 69 6f 6e 20 66 72 6f 6d 20 74 68 65 69 72 20 63 6f 70 79 72 69 67 68 74 .permission.from.their.copyright
49340 20 68 6f 6c 64 65 72 73 2c 20 62 75 74 20 79 6f 75 20 6d 61 79 20 69 6e 63 6c 75 64 65 0a 20 20 .holders,.but.you.may.include...
49360 20 20 20 74 72 61 6e 73 6c 61 74 69 6f 6e 73 20 6f 66 20 73 6f 6d 65 20 6f 72 20 61 6c 6c 20 49 ...translations.of.some.or.all.I
49380 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 20 69 6e 20 61 64 64 69 74 69 6f 6e 20 74 6f nvariant.Sections.in.addition.to
493a0 20 74 68 65 0a 20 20 20 20 20 6f 72 69 67 69 6e 61 6c 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 74 .the......original.versions.of.t
493c0 68 65 73 65 20 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 2e 20 20 59 6f 75 20 6d 61 hese.Invariant.Sections...You.ma
493e0 79 20 69 6e 63 6c 75 64 65 20 61 0a 20 20 20 20 20 74 72 61 6e 73 6c 61 74 69 6f 6e 20 6f 66 20 y.include.a......translation.of.
49400 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 61 6e 64 20 61 6c 6c 20 74 68 65 20 6c 69 63 65 6e 73 this.License,.and.all.the.licens
49420 65 20 6e 6f 74 69 63 65 73 20 69 6e 20 74 68 65 0a 20 20 20 20 20 44 6f 63 75 6d 65 6e 74 2c 20 e.notices.in.the......Document,.
49440 61 6e 64 20 61 6e 79 20 57 61 72 72 61 6e 74 79 20 44 69 73 63 6c 61 69 6d 65 72 73 2c 20 70 72 and.any.Warranty.Disclaimers,.pr
49460 6f 76 69 64 65 64 20 74 68 61 74 20 79 6f 75 20 61 6c 73 6f 0a 20 20 20 20 20 69 6e 63 6c 75 64 ovided.that.you.also......includ
49480 65 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 45 6e 67 6c 69 73 68 20 76 65 72 73 69 6f 6e 20 6f e.the.original.English.version.o
494a0 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 61 6e 64 20 74 68 65 0a 20 20 20 20 20 6f 72 69 67 f.this.License.and.the......orig
494c0 69 6e 61 6c 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 74 68 6f 73 65 20 6e 6f 74 69 63 65 73 20 61 inal.versions.of.those.notices.a
494e0 6e 64 20 64 69 73 63 6c 61 69 6d 65 72 73 2e 20 20 49 6e 20 63 61 73 65 20 6f 66 20 61 0a 20 20 nd.disclaimers...In.case.of.a...
49500 20 20 20 64 69 73 61 67 72 65 65 6d 65 6e 74 20 62 65 74 77 65 65 6e 20 74 68 65 20 74 72 61 6e ...disagreement.between.the.tran
49520 73 6c 61 74 69 6f 6e 20 61 6e 64 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 76 65 72 73 69 6f 6e slation.and.the.original.version
49540 20 6f 66 0a 20 20 20 20 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 6f 72 20 61 20 6e 6f 74 69 63 .of......this.License.or.a.notic
49560 65 20 6f 72 20 64 69 73 63 6c 61 69 6d 65 72 2c 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 76 65 e.or.disclaimer,.the.original.ve
49580 72 73 69 6f 6e 20 77 69 6c 6c 0a 20 20 20 20 20 70 72 65 76 61 69 6c 2e 0a 0a 20 20 20 20 20 49 rsion.will......prevail........I
495a0 66 20 61 20 73 65 63 74 69 6f 6e 20 69 6e 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 69 73 20 45 f.a.section.in.the.Document.is.E
495c0 6e 74 69 74 6c 65 64 20 e2 80 9c 41 63 6b 6e 6f 77 6c 65 64 67 65 6d 65 6e 74 73 e2 80 9d 2c 0a ntitled....Acknowledgements...,.
495e0 20 20 20 20 20 e2 80 9c 44 65 64 69 63 61 74 69 6f 6e 73 e2 80 9d 2c 20 6f 72 20 e2 80 9c 48 69 ........Dedications...,.or....Hi
49600 73 74 6f 72 79 e2 80 9d 2c 20 74 68 65 20 72 65 71 75 69 72 65 6d 65 6e 74 20 28 73 65 63 74 69 story...,.the.requirement.(secti
49620 6f 6e 20 34 29 20 74 6f 0a 20 20 20 20 20 50 72 65 73 65 72 76 65 20 69 74 73 20 54 69 74 6c 65 on.4).to......Preserve.its.Title
49640 20 28 73 65 63 74 69 6f 6e 20 31 29 20 77 69 6c 6c 20 74 79 70 69 63 61 6c 6c 79 20 72 65 71 75 .(section.1).will.typically.requ
49660 69 72 65 20 63 68 61 6e 67 69 6e 67 20 74 68 65 0a 20 20 20 20 20 61 63 74 75 61 6c 20 74 69 74 ire.changing.the......actual.tit
49680 6c 65 2e 0a 0a 20 20 39 2e 20 54 45 52 4d 49 4e 41 54 49 4f 4e 0a 0a 20 20 20 20 20 59 6f 75 20 le.....9..TERMINATION.......You.
496a0 6d 61 79 20 6e 6f 74 20 63 6f 70 79 2c 20 6d 6f 64 69 66 79 2c 20 73 75 62 6c 69 63 65 6e 73 65 may.not.copy,.modify,.sublicense
496c0 2c 20 6f 72 20 64 69 73 74 72 69 62 75 74 65 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 0a 20 20 20 ,.or.distribute.the.Document....
496e0 20 20 65 78 63 65 70 74 20 61 73 20 65 78 70 72 65 73 73 6c 79 20 70 72 6f 76 69 64 65 64 20 75 ..except.as.expressly.provided.u
49700 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 41 6e 79 20 61 74 74 65 6d 70 74 0a nder.this.License...Any.attempt.
49720 20 20 20 20 20 6f 74 68 65 72 77 69 73 65 20 74 6f 20 63 6f 70 79 2c 20 6d 6f 64 69 66 79 2c 20 .....otherwise.to.copy,.modify,.
49740 73 75 62 6c 69 63 65 6e 73 65 2c 20 6f 72 20 64 69 73 74 72 69 62 75 74 65 20 69 74 20 69 73 20 sublicense,.or.distribute.it.is.
49760 76 6f 69 64 2c 0a 20 20 20 20 20 61 6e 64 20 77 69 6c 6c 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c void,......and.will.automaticall
49780 79 20 74 65 72 6d 69 6e 61 74 65 20 79 6f 75 72 20 72 69 67 68 74 73 20 75 6e 64 65 72 20 74 68 y.terminate.your.rights.under.th
497a0 69 73 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 20 20 20 48 6f 77 65 76 65 72 2c 20 69 66 20 79 6f is.License........However,.if.yo
497c0 75 20 63 65 61 73 65 20 61 6c 6c 20 76 69 6f 6c 61 74 69 6f 6e 20 6f 66 20 74 68 69 73 20 4c 69 u.cease.all.violation.of.this.Li
497e0 63 65 6e 73 65 2c 20 74 68 65 6e 20 79 6f 75 72 0a 20 20 20 20 20 6c 69 63 65 6e 73 65 20 66 72 cense,.then.your......license.fr
49800 6f 6d 20 61 20 70 61 72 74 69 63 75 6c 61 72 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 om.a.particular.copyright.holder
49820 20 69 73 20 72 65 69 6e 73 74 61 74 65 64 20 28 61 29 0a 20 20 20 20 20 70 72 6f 76 69 73 69 6f .is.reinstated.(a)......provisio
49840 6e 61 6c 6c 79 2c 20 75 6e 6c 65 73 73 20 61 6e 64 20 75 6e 74 69 6c 20 74 68 65 20 63 6f 70 79 nally,.unless.and.until.the.copy
49860 72 69 67 68 74 20 68 6f 6c 64 65 72 20 65 78 70 6c 69 63 69 74 6c 79 20 61 6e 64 0a 20 20 20 20 right.holder.explicitly.and.....
49880 20 66 69 6e 61 6c 6c 79 20 74 65 72 6d 69 6e 61 74 65 73 20 79 6f 75 72 20 6c 69 63 65 6e 73 65 .finally.terminates.your.license
498a0 2c 20 61 6e 64 20 28 62 29 20 70 65 72 6d 61 6e 65 6e 74 6c 79 2c 20 69 66 20 74 68 65 0a 20 20 ,.and.(b).permanently,.if.the...
498c0 20 20 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 66 61 69 6c 73 20 74 6f 20 6e 6f 74 ...copyright.holder.fails.to.not
498e0 69 66 79 20 79 6f 75 20 6f 66 20 74 68 65 20 76 69 6f 6c 61 74 69 6f 6e 20 62 79 20 73 6f 6d 65 ify.you.of.the.violation.by.some
49900 0a 20 20 20 20 20 72 65 61 73 6f 6e 61 62 6c 65 20 6d 65 61 6e 73 20 70 72 69 6f 72 20 74 6f 20 ......reasonable.means.prior.to.
49920 36 30 20 64 61 79 73 20 61 66 74 65 72 20 74 68 65 20 63 65 73 73 61 74 69 6f 6e 2e 0a 0a 20 20 60.days.after.the.cessation.....
49940 20 20 20 4d 6f 72 65 6f 76 65 72 2c 20 79 6f 75 72 20 6c 69 63 65 6e 73 65 20 66 72 6f 6d 20 61 ...Moreover,.your.license.from.a
49960 20 70 61 72 74 69 63 75 6c 61 72 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 69 73 0a .particular.copyright.holder.is.
49980 20 20 20 20 20 72 65 69 6e 73 74 61 74 65 64 20 70 65 72 6d 61 6e 65 6e 74 6c 79 20 69 66 20 74 .....reinstated.permanently.if.t
499a0 68 65 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 6e 6f 74 69 66 69 65 73 20 79 6f 75 he.copyright.holder.notifies.you
499c0 20 6f 66 20 74 68 65 0a 20 20 20 20 20 76 69 6f 6c 61 74 69 6f 6e 20 62 79 20 73 6f 6d 65 20 72 .of.the......violation.by.some.r
499e0 65 61 73 6f 6e 61 62 6c 65 20 6d 65 61 6e 73 2c 20 74 68 69 73 20 69 73 20 74 68 65 20 66 69 72 easonable.means,.this.is.the.fir
49a00 73 74 20 74 69 6d 65 20 79 6f 75 20 68 61 76 65 0a 20 20 20 20 20 72 65 63 65 69 76 65 64 20 6e st.time.you.have......received.n
49a20 6f 74 69 63 65 20 6f 66 20 76 69 6f 6c 61 74 69 6f 6e 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e otice.of.violation.of.this.Licen
49a40 73 65 20 28 66 6f 72 20 61 6e 79 20 77 6f 72 6b 29 20 66 72 6f 6d 0a 20 20 20 20 20 74 68 61 74 se.(for.any.work).from......that
49a60 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 2c 20 61 6e 64 20 79 6f 75 20 63 75 72 65 20 .copyright.holder,.and.you.cure.
49a80 74 68 65 20 76 69 6f 6c 61 74 69 6f 6e 20 70 72 69 6f 72 20 74 6f 20 33 30 20 64 61 79 73 0a 20 the.violation.prior.to.30.days..
49aa0 20 20 20 20 61 66 74 65 72 20 79 6f 75 72 20 72 65 63 65 69 70 74 20 6f 66 20 74 68 65 20 6e 6f ....after.your.receipt.of.the.no
49ac0 74 69 63 65 2e 0a 0a 20 20 20 20 20 54 65 72 6d 69 6e 61 74 69 6f 6e 20 6f 66 20 79 6f 75 72 20 tice........Termination.of.your.
49ae0 72 69 67 68 74 73 20 75 6e 64 65 72 20 74 68 69 73 20 73 65 63 74 69 6f 6e 20 64 6f 65 73 20 6e rights.under.this.section.does.n
49b00 6f 74 20 74 65 72 6d 69 6e 61 74 65 0a 20 20 20 20 20 74 68 65 20 6c 69 63 65 6e 73 65 73 20 6f ot.terminate......the.licenses.o
49b20 66 20 70 61 72 74 69 65 73 20 77 68 6f 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 63 6f 70 69 f.parties.who.have.received.copi
49b40 65 73 20 6f 72 20 72 69 67 68 74 73 20 66 72 6f 6d 20 79 6f 75 0a 20 20 20 20 20 75 6e 64 65 72 es.or.rights.from.you......under
49b60 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 49 66 20 79 6f 75 72 20 72 69 67 68 74 73 20 68 .this.License...If.your.rights.h
49b80 61 76 65 20 62 65 65 6e 20 74 65 72 6d 69 6e 61 74 65 64 20 61 6e 64 20 6e 6f 74 0a 20 20 20 20 ave.been.terminated.and.not.....
49ba0 20 70 65 72 6d 61 6e 65 6e 74 6c 79 20 72 65 69 6e 73 74 61 74 65 64 2c 20 72 65 63 65 69 70 74 .permanently.reinstated,.receipt
49bc0 20 6f 66 20 61 20 63 6f 70 79 20 6f 66 20 73 6f 6d 65 20 6f 72 20 61 6c 6c 20 6f 66 20 74 68 65 .of.a.copy.of.some.or.all.of.the
49be0 0a 20 20 20 20 20 73 61 6d 65 20 6d 61 74 65 72 69 61 6c 20 64 6f 65 73 20 6e 6f 74 20 67 69 76 ......same.material.does.not.giv
49c00 65 20 79 6f 75 20 61 6e 79 20 72 69 67 68 74 73 20 74 6f 20 75 73 65 20 69 74 2e 0a 0a 20 20 31 e.you.any.rights.to.use.it.....1
49c20 30 2e 20 46 55 54 55 52 45 20 52 45 56 49 53 49 4f 4e 53 20 4f 46 20 54 48 49 53 20 4c 49 43 45 0..FUTURE.REVISIONS.OF.THIS.LICE
49c40 4e 53 45 0a 0a 20 20 20 20 20 54 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e NSE.......The.Free.Software.Foun
49c60 64 61 74 69 6f 6e 20 6d 61 79 20 70 75 62 6c 69 73 68 20 6e 65 77 2c 20 72 65 76 69 73 65 64 20 dation.may.publish.new,.revised.
49c80 76 65 72 73 69 6f 6e 73 20 6f 66 0a 20 20 20 20 20 74 68 65 20 47 4e 55 20 46 72 65 65 20 44 6f versions.of......the.GNU.Free.Do
49ca0 63 75 6d 65 6e 74 61 74 69 6f 6e 20 4c 69 63 65 6e 73 65 20 66 72 6f 6d 20 74 69 6d 65 20 74 6f cumentation.License.from.time.to
49cc0 20 74 69 6d 65 2e 20 20 53 75 63 68 20 6e 65 77 0a 20 20 20 20 20 76 65 72 73 69 6f 6e 73 20 77 .time...Such.new......versions.w
49ce0 69 6c 6c 20 62 65 20 73 69 6d 69 6c 61 72 20 69 6e 20 73 70 69 72 69 74 20 74 6f 20 74 68 65 20 ill.be.similar.in.spirit.to.the.
49d00 70 72 65 73 65 6e 74 20 76 65 72 73 69 6f 6e 2c 20 62 75 74 20 6d 61 79 0a 20 20 20 20 20 64 69 present.version,.but.may......di
49d20 66 66 65 72 20 69 6e 20 64 65 74 61 69 6c 20 74 6f 20 61 64 64 72 65 73 73 20 6e 65 77 20 70 72 ffer.in.detail.to.address.new.pr
49d40 6f 62 6c 65 6d 73 20 6f 72 20 63 6f 6e 63 65 72 6e 73 2e 20 20 53 65 65 0a 20 20 20 20 20 3c 68 oblems.or.concerns...See......<h
49d60 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 0a ttps://www.gnu.org/licenses/>...
49d80 20 20 20 20 20 45 61 63 68 20 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 .....Each.version.of.the.License
49da0 20 69 73 20 67 69 76 65 6e 20 61 20 64 69 73 74 69 6e 67 75 69 73 68 69 6e 67 20 76 65 72 73 69 .is.given.a.distinguishing.versi
49dc0 6f 6e 0a 20 20 20 20 20 6e 75 6d 62 65 72 2e 20 20 49 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 on......number...If.the.Document
49de0 20 73 70 65 63 69 66 69 65 73 20 74 68 61 74 20 61 20 70 61 72 74 69 63 75 6c 61 72 20 6e 75 6d .specifies.that.a.particular.num
49e00 62 65 72 65 64 0a 20 20 20 20 20 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e bered......version.of.this.Licen
49e20 73 65 20 e2 80 9c 6f 72 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e e2 80 9d 20 61 70 se....or.any.later.version....ap
49e40 70 6c 69 65 73 20 74 6f 20 69 74 2c 20 79 6f 75 0a 20 20 20 20 20 68 61 76 65 20 74 68 65 20 6f plies.to.it,.you......have.the.o
49e60 70 74 69 6f 6e 20 6f 66 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 68 65 20 74 65 72 6d 73 20 61 6e 64 ption.of.following.the.terms.and
49e80 20 63 6f 6e 64 69 74 69 6f 6e 73 20 65 69 74 68 65 72 20 6f 66 0a 20 20 20 20 20 74 68 61 74 20 .conditions.either.of......that.
49ea0 73 70 65 63 69 66 69 65 64 20 76 65 72 73 69 6f 6e 20 6f 72 20 6f 66 20 61 6e 79 20 6c 61 74 65 specified.version.or.of.any.late
49ec0 72 20 76 65 72 73 69 6f 6e 20 74 68 61 74 20 68 61 73 20 62 65 65 6e 0a 20 20 20 20 20 70 75 62 r.version.that.has.been......pub
49ee0 6c 69 73 68 65 64 20 28 6e 6f 74 20 61 73 20 61 20 64 72 61 66 74 29 20 62 79 20 74 68 65 20 46 lished.(not.as.a.draft).by.the.F
49f00 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2e 20 20 49 66 20 74 68 65 ree.Software.Foundation...If.the
49f20 0a 20 20 20 20 20 44 6f 63 75 6d 65 6e 74 20 64 6f 65 73 20 6e 6f 74 20 73 70 65 63 69 66 79 20 ......Document.does.not.specify.
49f40 61 20 76 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 a.version.number.of.this.License
49f60 2c 20 79 6f 75 20 6d 61 79 0a 20 20 20 20 20 63 68 6f 6f 73 65 20 61 6e 79 20 76 65 72 73 69 6f ,.you.may......choose.any.versio
49f80 6e 20 65 76 65 72 20 70 75 62 6c 69 73 68 65 64 20 28 6e 6f 74 20 61 73 20 61 20 64 72 61 66 74 n.ever.published.(not.as.a.draft
49fa0 29 20 62 79 20 74 68 65 20 46 72 65 65 0a 20 20 20 20 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e ).by.the.Free......Software.Foun
49fc0 64 61 74 69 6f 6e 2e 20 20 49 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 73 70 65 63 69 66 69 dation...If.the.Document.specifi
49fe0 65 73 20 74 68 61 74 20 61 20 70 72 6f 78 79 20 63 61 6e 0a 20 20 20 20 20 64 65 63 69 64 65 20 es.that.a.proxy.can......decide.
4a000 77 68 69 63 68 20 66 75 74 75 72 65 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 74 68 69 73 20 4c 69 which.future.versions.of.this.Li
4a020 63 65 6e 73 65 20 63 61 6e 20 62 65 20 75 73 65 64 2c 20 74 68 61 74 0a 20 20 20 20 20 70 72 6f cense.can.be.used,.that......pro
4a040 78 79 e2 80 99 73 20 70 75 62 6c 69 63 20 73 74 61 74 65 6d 65 6e 74 20 6f 66 20 61 63 63 65 70 xy...s.public.statement.of.accep
4a060 74 61 6e 63 65 20 6f 66 20 61 20 76 65 72 73 69 6f 6e 20 70 65 72 6d 61 6e 65 6e 74 6c 79 0a 20 tance.of.a.version.permanently..
4a080 20 20 20 20 61 75 74 68 6f 72 69 7a 65 73 20 79 6f 75 20 74 6f 20 63 68 6f 6f 73 65 20 74 68 61 ....authorizes.you.to.choose.tha
4a0a0 74 20 76 65 72 73 69 6f 6e 20 66 6f 72 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 2e 0a 0a 20 20 31 t.version.for.the.Document.....1
4a0c0 31 2e 20 52 45 4c 49 43 45 4e 53 49 4e 47 0a 0a 20 20 20 20 20 e2 80 9c 4d 61 73 73 69 76 65 20 1..RELICENSING..........Massive.
4a0e0 4d 75 6c 74 69 61 75 74 68 6f 72 20 43 6f 6c 6c 61 62 6f 72 61 74 69 6f 6e 20 53 69 74 65 e2 80 Multiauthor.Collaboration.Site..
4a100 9d 20 28 6f 72 20 e2 80 9c 4d 4d 43 20 53 69 74 65 e2 80 9d 29 20 6d 65 61 6e 73 20 61 6e 79 0a ..(or....MMC.Site...).means.any.
4a120 20 20 20 20 20 57 6f 72 6c 64 20 57 69 64 65 20 57 65 62 20 73 65 72 76 65 72 20 74 68 61 74 20 .....World.Wide.Web.server.that.
4a140 70 75 62 6c 69 73 68 65 73 20 63 6f 70 79 72 69 67 68 74 61 62 6c 65 20 77 6f 72 6b 73 20 61 6e publishes.copyrightable.works.an
4a160 64 20 61 6c 73 6f 0a 20 20 20 20 20 70 72 6f 76 69 64 65 73 20 70 72 6f 6d 69 6e 65 6e 74 20 66 d.also......provides.prominent.f
4a180 61 63 69 6c 69 74 69 65 73 20 66 6f 72 20 61 6e 79 62 6f 64 79 20 74 6f 20 65 64 69 74 20 74 68 acilities.for.anybody.to.edit.th
4a1a0 6f 73 65 20 77 6f 72 6b 73 2e 20 20 41 0a 20 20 20 20 20 70 75 62 6c 69 63 20 77 69 6b 69 20 74 ose.works...A......public.wiki.t
4a1c0 68 61 74 20 61 6e 79 62 6f 64 79 20 63 61 6e 20 65 64 69 74 20 69 73 20 61 6e 20 65 78 61 6d 70 hat.anybody.can.edit.is.an.examp
4a1e0 6c 65 20 6f 66 20 73 75 63 68 20 61 20 73 65 72 76 65 72 2e 0a 20 20 20 20 20 41 20 e2 80 9c 4d le.of.such.a.server.......A....M
4a200 61 73 73 69 76 65 20 4d 75 6c 74 69 61 75 74 68 6f 72 20 43 6f 6c 6c 61 62 6f 72 61 74 69 6f 6e assive.Multiauthor.Collaboration
4a220 e2 80 9d 20 28 6f 72 20 e2 80 9c 4d 4d 43 e2 80 9d 29 20 63 6f 6e 74 61 69 6e 65 64 20 69 6e 20 ....(or....MMC...).contained.in.
4a240 74 68 65 0a 20 20 20 20 20 73 69 74 65 20 6d 65 61 6e 73 20 61 6e 79 20 73 65 74 20 6f 66 20 63 the......site.means.any.set.of.c
4a260 6f 70 79 72 69 67 68 74 61 62 6c 65 20 77 6f 72 6b 73 20 74 68 75 73 20 70 75 62 6c 69 73 68 65 opyrightable.works.thus.publishe
4a280 64 20 6f 6e 20 74 68 65 20 4d 4d 43 0a 20 20 20 20 20 73 69 74 65 2e 0a 0a 20 20 20 20 20 e2 80 d.on.the.MMC......site..........
4a2a0 9c 43 43 2d 42 59 2d 53 41 e2 80 9d 20 6d 65 61 6e 73 20 74 68 65 20 43 72 65 61 74 69 76 65 20 .CC-BY-SA....means.the.Creative.
4a2c0 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e 2d 53 68 61 72 65 20 41 6c 69 6b 65 20 Commons.Attribution-Share.Alike.
4a2e0 33 2e 30 0a 20 20 20 20 20 6c 69 63 65 6e 73 65 20 70 75 62 6c 69 73 68 65 64 20 62 79 20 43 72 3.0......license.published.by.Cr
4a300 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 43 6f 72 70 6f 72 61 74 69 6f 6e 2c 20 61 20 6e 6f eative.Commons.Corporation,.a.no
4a320 74 2d 66 6f 72 2d 70 72 6f 66 69 74 0a 20 20 20 20 20 63 6f 72 70 6f 72 61 74 69 6f 6e 20 77 69 t-for-profit......corporation.wi
4a340 74 68 20 61 20 70 72 69 6e 63 69 70 61 6c 20 70 6c 61 63 65 20 6f 66 20 62 75 73 69 6e 65 73 73 th.a.principal.place.of.business
4a360 20 69 6e 20 53 61 6e 20 46 72 61 6e 63 69 73 63 6f 2c 0a 20 20 20 20 20 43 61 6c 69 66 6f 72 6e .in.San.Francisco,......Californ
4a380 69 61 2c 20 61 73 20 77 65 6c 6c 20 61 73 20 66 75 74 75 72 65 20 63 6f 70 79 6c 65 66 74 20 76 ia,.as.well.as.future.copyleft.v
4a3a0 65 72 73 69 6f 6e 73 20 6f 66 20 74 68 61 74 20 6c 69 63 65 6e 73 65 0a 20 20 20 20 20 70 75 62 ersions.of.that.license......pub
4a3c0 6c 69 73 68 65 64 20 62 79 20 74 68 61 74 20 73 61 6d 65 20 6f 72 67 61 6e 69 7a 61 74 69 6f 6e lished.by.that.same.organization
4a3e0 2e 0a 0a 20 20 20 20 20 e2 80 9c 49 6e 63 6f 72 70 6f 72 61 74 65 e2 80 9d 20 6d 65 61 6e 73 20 ...........Incorporate....means.
4a400 74 6f 20 70 75 62 6c 69 73 68 20 6f 72 20 72 65 70 75 62 6c 69 73 68 20 61 20 44 6f 63 75 6d 65 to.publish.or.republish.a.Docume
4a420 6e 74 2c 20 69 6e 20 77 68 6f 6c 65 20 6f 72 0a 20 20 20 20 20 69 6e 20 70 61 72 74 2c 20 61 73 nt,.in.whole.or......in.part,.as
4a440 20 70 61 72 74 20 6f 66 20 61 6e 6f 74 68 65 72 20 44 6f 63 75 6d 65 6e 74 2e 0a 0a 20 20 20 20 .part.of.another.Document.......
4a460 20 41 6e 20 4d 4d 43 20 69 73 20 e2 80 9c 65 6c 69 67 69 62 6c 65 20 66 6f 72 20 72 65 6c 69 63 .An.MMC.is....eligible.for.relic
4a480 65 6e 73 69 6e 67 e2 80 9d 20 69 66 20 69 74 20 69 73 20 6c 69 63 65 6e 73 65 64 20 75 6e 64 65 ensing....if.it.is.licensed.unde
4a4a0 72 20 74 68 69 73 0a 20 20 20 20 20 4c 69 63 65 6e 73 65 2c 20 61 6e 64 20 69 66 20 61 6c 6c 20 r.this......License,.and.if.all.
4a4c0 77 6f 72 6b 73 20 74 68 61 74 20 77 65 72 65 20 66 69 72 73 74 20 70 75 62 6c 69 73 68 65 64 20 works.that.were.first.published.
4a4e0 75 6e 64 65 72 20 74 68 69 73 0a 20 20 20 20 20 4c 69 63 65 6e 73 65 20 73 6f 6d 65 77 68 65 72 under.this......License.somewher
4a500 65 20 6f 74 68 65 72 20 74 68 61 6e 20 74 68 69 73 20 4d 4d 43 2c 20 61 6e 64 20 73 75 62 73 65 e.other.than.this.MMC,.and.subse
4a520 71 75 65 6e 74 6c 79 0a 20 20 20 20 20 69 6e 63 6f 72 70 6f 72 61 74 65 64 20 69 6e 20 77 68 6f quently......incorporated.in.who
4a540 6c 65 20 6f 72 20 69 6e 20 70 61 72 74 20 69 6e 74 6f 20 74 68 65 20 4d 4d 43 2c 20 28 31 29 20 le.or.in.part.into.the.MMC,.(1).
4a560 68 61 64 20 6e 6f 20 63 6f 76 65 72 0a 20 20 20 20 20 74 65 78 74 73 20 6f 72 20 69 6e 76 61 72 had.no.cover......texts.or.invar
4a580 69 61 6e 74 20 73 65 63 74 69 6f 6e 73 2c 20 61 6e 64 20 28 32 29 20 77 65 72 65 20 74 68 75 73 iant.sections,.and.(2).were.thus
4a5a0 20 69 6e 63 6f 72 70 6f 72 61 74 65 64 20 70 72 69 6f 72 0a 20 20 20 20 20 74 6f 20 4e 6f 76 65 .incorporated.prior......to.Nove
4a5c0 6d 62 65 72 20 31 2c 20 32 30 30 38 2e 0a 0a 20 20 20 20 20 54 68 65 20 6f 70 65 72 61 74 6f 72 mber.1,.2008........The.operator
4a5e0 20 6f 66 20 61 6e 20 4d 4d 43 20 53 69 74 65 20 6d 61 79 20 72 65 70 75 62 6c 69 73 68 20 61 6e .of.an.MMC.Site.may.republish.an
4a600 20 4d 4d 43 20 63 6f 6e 74 61 69 6e 65 64 20 69 6e 20 74 68 65 0a 20 20 20 20 20 73 69 74 65 20 .MMC.contained.in.the......site.
4a620 75 6e 64 65 72 20 43 43 2d 42 59 2d 53 41 20 6f 6e 20 74 68 65 20 73 61 6d 65 20 73 69 74 65 20 under.CC-BY-SA.on.the.same.site.
4a640 61 74 20 61 6e 79 20 74 69 6d 65 20 62 65 66 6f 72 65 20 41 75 67 75 73 74 20 31 2c 0a 20 20 20 at.any.time.before.August.1,....
4a660 20 20 32 30 30 39 2c 20 70 72 6f 76 69 64 65 64 20 74 68 65 20 4d 4d 43 20 69 73 20 65 6c 69 67 ..2009,.provided.the.MMC.is.elig
4a680 69 62 6c 65 20 66 6f 72 20 72 65 6c 69 63 65 6e 73 69 6e 67 2e 0a 0a 41 44 44 45 4e 44 55 4d 3a ible.for.relicensing...ADDENDUM:
4a6a0 20 48 6f 77 20 74 6f 20 75 73 65 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 79 6f 75 .How.to.use.this.License.for.you
4a6c0 72 20 64 6f 63 75 6d 65 6e 74 73 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d r.documents.====================
4a6e0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================================
4a700 0a 0a 54 6f 20 75 73 65 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 69 6e 20 61 20 64 6f 63 75 6d ..To.use.this.License.in.a.docum
4a720 65 6e 74 20 79 6f 75 20 68 61 76 65 20 77 72 69 74 74 65 6e 2c 20 69 6e 63 6c 75 64 65 20 61 20 ent.you.have.written,.include.a.
4a740 63 6f 70 79 20 6f 66 0a 74 68 65 20 4c 69 63 65 6e 73 65 20 69 6e 20 74 68 65 20 64 6f 63 75 6d copy.of.the.License.in.the.docum
4a760 65 6e 74 20 61 6e 64 20 70 75 74 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 70 79 72 69 ent.and.put.the.following.copyri
4a780 67 68 74 20 61 6e 64 20 6c 69 63 65 6e 73 65 0a 6e 6f 74 69 63 65 73 20 6a 75 73 74 20 61 66 74 ght.and.license.notices.just.aft
4a7a0 65 72 20 74 68 65 20 74 69 74 6c 65 20 70 61 67 65 3a 0a 0a 20 20 20 20 20 20 20 43 6f 70 79 72 er.the.title.page:.........Copyr
4a7c0 69 67 68 74 20 28 43 29 20 20 59 45 41 52 20 20 59 4f 55 52 20 4e 41 4d 45 2e 0a 20 20 20 20 20 ight.(C)..YEAR..YOUR.NAME.......
4a7e0 20 20 50 65 72 6d 69 73 73 69 6f 6e 20 69 73 20 67 72 61 6e 74 65 64 20 74 6f 20 63 6f 70 79 2c ..Permission.is.granted.to.copy,
4a800 20 64 69 73 74 72 69 62 75 74 65 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 20 74 68 69 73 20 64 .distribute.and/or.modify.this.d
4a820 6f 63 75 6d 65 6e 74 0a 20 20 20 20 20 20 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f ocument........under.the.terms.o
4a840 66 20 74 68 65 20 47 4e 55 20 46 72 65 65 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 4c 69 63 f.the.GNU.Free.Documentation.Lic
4a860 65 6e 73 65 2c 20 56 65 72 73 69 6f 6e 20 31 2e 33 0a 20 20 20 20 20 20 20 6f 72 20 61 6e 79 20 ense,.Version.1.3........or.any.
4a880 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 20 70 75 62 6c 69 73 68 65 64 20 62 79 20 74 68 65 20 46 later.version.published.by.the.F
4a8a0 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 3b 0a 20 20 20 20 20 20 20 ree.Software.Foundation;........
4a8c0 77 69 74 68 20 6e 6f 20 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 2c 20 6e 6f 20 46 with.no.Invariant.Sections,.no.F
4a8e0 72 6f 6e 74 2d 43 6f 76 65 72 20 54 65 78 74 73 2c 20 61 6e 64 20 6e 6f 20 42 61 63 6b 2d 43 6f ront-Cover.Texts,.and.no.Back-Co
4a900 76 65 72 0a 20 20 20 20 20 20 20 54 65 78 74 73 2e 20 20 41 20 63 6f 70 79 20 6f 66 20 74 68 65 ver........Texts...A.copy.of.the
4a920 20 6c 69 63 65 6e 73 65 20 69 73 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 68 65 20 73 65 63 74 .license.is.included.in.the.sect
4a940 69 6f 6e 20 65 6e 74 69 74 6c 65 64 20 60 60 47 4e 55 0a 20 20 20 20 20 20 20 46 72 65 65 20 44 ion.entitled.``GNU........Free.D
4a960 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 4c 69 63 65 6e 73 65 27 27 2e 0a 0a 20 20 20 49 66 20 79 ocumentation.License''......If.y
4a980 6f 75 20 68 61 76 65 20 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 2c 20 46 72 6f 6e ou.have.Invariant.Sections,.Fron
4a9a0 74 2d 43 6f 76 65 72 20 54 65 78 74 73 20 61 6e 64 20 42 61 63 6b 2d 43 6f 76 65 72 0a 54 65 78 t-Cover.Texts.and.Back-Cover.Tex
4a9c0 74 73 2c 20 72 65 70 6c 61 63 65 20 74 68 65 20 e2 80 9c 77 69 74 68 2e 2e 2e 54 65 78 74 73 2e ts,.replace.the....with...Texts.
4a9e0 e2 80 9d 20 6c 69 6e 65 20 77 69 74 68 20 74 68 69 73 3a 0a 0a 20 20 20 20 20 20 20 20 20 77 69 ....line.with.this:...........wi
4aa00 74 68 20 74 68 65 20 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 20 62 65 69 6e 67 20 th.the.Invariant.Sections.being.
4aa20 4c 49 53 54 20 54 48 45 49 52 20 54 49 54 4c 45 53 2c 20 77 69 74 68 0a 20 20 20 20 20 20 20 20 LIST.THEIR.TITLES,.with.........
4aa40 20 74 68 65 20 46 72 6f 6e 74 2d 43 6f 76 65 72 20 54 65 78 74 73 20 62 65 69 6e 67 20 4c 49 53 .the.Front-Cover.Texts.being.LIS
4aa60 54 2c 20 61 6e 64 20 77 69 74 68 20 74 68 65 20 42 61 63 6b 2d 43 6f 76 65 72 20 54 65 78 74 73 T,.and.with.the.Back-Cover.Texts
4aa80 0a 20 20 20 20 20 20 20 20 20 62 65 69 6e 67 20 4c 49 53 54 2e 0a 0a 20 20 20 49 66 20 79 6f 75 ..........being.LIST......If.you
4aaa0 20 68 61 76 65 20 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 20 77 69 74 68 6f 75 74 .have.Invariant.Sections.without
4aac0 20 43 6f 76 65 72 20 54 65 78 74 73 2c 20 6f 72 20 73 6f 6d 65 20 6f 74 68 65 72 0a 63 6f 6d 62 .Cover.Texts,.or.some.other.comb
4aae0 69 6e 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 74 68 72 65 65 2c 20 6d 65 72 67 65 20 74 68 6f 73 ination.of.the.three,.merge.thos
4ab00 65 20 74 77 6f 20 61 6c 74 65 72 6e 61 74 69 76 65 73 20 74 6f 20 73 75 69 74 20 74 68 65 0a 73 e.two.alternatives.to.suit.the.s
4ab20 69 74 75 61 74 69 6f 6e 2e 0a 0a 20 20 20 49 66 20 79 6f 75 72 20 64 6f 63 75 6d 65 6e 74 20 63 ituation......If.your.document.c
4ab40 6f 6e 74 61 69 6e 73 20 6e 6f 6e 74 72 69 76 69 61 6c 20 65 78 61 6d 70 6c 65 73 20 6f 66 20 70 ontains.nontrivial.examples.of.p
4ab60 72 6f 67 72 61 6d 20 63 6f 64 65 2c 20 77 65 0a 72 65 63 6f 6d 6d 65 6e 64 20 72 65 6c 65 61 73 rogram.code,.we.recommend.releas
4ab80 69 6e 67 20 74 68 65 73 65 20 65 78 61 6d 70 6c 65 73 20 69 6e 20 70 61 72 61 6c 6c 65 6c 20 75 ing.these.examples.in.parallel.u
4aba0 6e 64 65 72 20 79 6f 75 72 20 63 68 6f 69 63 65 20 6f 66 20 66 72 65 65 0a 73 6f 66 74 77 61 72 nder.your.choice.of.free.softwar
4abc0 65 20 6c 69 63 65 6e 73 65 2c 20 73 75 63 68 20 61 73 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 e.license,.such.as.the.GNU.Gener
4abe0 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 2c 20 74 6f 20 70 65 72 6d 69 74 0a 74 68 65 al.Public.License,.to.permit.the
4ac00 69 72 20 75 73 65 20 69 6e 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 2e 0a 0a 1f 0a 46 69 6c 65 ir.use.in.free.software.....File
4ac20 3a 20 64 61 73 68 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 47 50 4c 2c 20 20 4e 65 78 74 3a 20 :.dash.info,..Node:.GPL,..Next:.
4ac40 49 6e 64 65 78 2c 20 20 50 72 65 76 3a 20 46 44 4c 2c 20 20 55 70 3a 20 54 6f 70 0a 0a 41 70 70 Index,..Prev:.FDL,..Up:.Top..App
4ac60 65 6e 64 69 78 20 42 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e endix.B.GNU.General.Public.Licen
4ac80 73 65 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a se.*****************************
4aca0 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ********........................
4acc0 20 20 56 65 72 73 69 6f 6e 20 33 2c 20 32 39 20 4a 75 6e 65 20 32 30 30 37 0a 0a 20 20 20 20 20 ..Version.3,.29.June.2007.......
4ace0 43 6f 70 79 72 69 67 68 74 20 c2 a9 20 32 30 30 37 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 Copyright....2007.Free.Software.
4ad00 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 20 3c 68 74 74 70 73 3a 2f 2f 66 73 66 2e 6f 72 Foundation,.Inc..<https://fsf.or
4ad20 67 2f 3e 0a 0a 20 20 20 20 20 45 76 65 72 79 6f 6e 65 20 69 73 20 70 65 72 6d 69 74 74 65 64 20 g/>.......Everyone.is.permitted.
4ad40 74 6f 20 63 6f 70 79 20 61 6e 64 20 64 69 73 74 72 69 62 75 74 65 20 76 65 72 62 61 74 69 6d 20 to.copy.and.distribute.verbatim.
4ad60 63 6f 70 69 65 73 20 6f 66 20 74 68 69 73 0a 20 20 20 20 20 6c 69 63 65 6e 73 65 20 64 6f 63 75 copies.of.this......license.docu
4ad80 6d 65 6e 74 2c 20 62 75 74 20 63 68 61 6e 67 69 6e 67 20 69 74 20 69 73 20 6e 6f 74 20 61 6c 6c ment,.but.changing.it.is.not.all
4ada0 6f 77 65 64 2e 0a 0a 50 72 65 61 6d 62 6c 65 0a 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 54 68 65 20 47 4e owed...Preamble.========..The.GN
4adc0 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 69 73 20 61 20 66 72 U.General.Public.License.is.a.fr
4ade0 65 65 2c 20 63 6f 70 79 6c 65 66 74 20 6c 69 63 65 6e 73 65 20 66 6f 72 20 73 6f 66 74 77 61 72 ee,.copyleft.license.for.softwar
4ae00 65 0a 61 6e 64 20 6f 74 68 65 72 20 6b 69 6e 64 73 20 6f 66 20 77 6f 72 6b 73 2e 0a 0a 20 20 20 e.and.other.kinds.of.works......
4ae20 54 68 65 20 6c 69 63 65 6e 73 65 73 20 66 6f 72 20 6d 6f 73 74 20 73 6f 66 74 77 61 72 65 20 61 The.licenses.for.most.software.a
4ae40 6e 64 20 6f 74 68 65 72 20 70 72 61 63 74 69 63 61 6c 20 77 6f 72 6b 73 20 61 72 65 20 64 65 73 nd.other.practical.works.are.des
4ae60 69 67 6e 65 64 0a 74 6f 20 74 61 6b 65 20 61 77 61 79 20 79 6f 75 72 20 66 72 65 65 64 6f 6d 20 igned.to.take.away.your.freedom.
4ae80 74 6f 20 73 68 61 72 65 20 61 6e 64 20 63 68 61 6e 67 65 20 74 68 65 20 77 6f 72 6b 73 2e 20 20 to.share.and.change.the.works...
4aea0 42 79 20 63 6f 6e 74 72 61 73 74 2c 0a 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 By.contrast,.the.GNU.General.Pub
4aec0 6c 69 63 20 4c 69 63 65 6e 73 65 20 69 73 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 67 75 61 72 61 lic.License.is.intended.to.guara
4aee0 6e 74 65 65 20 79 6f 75 72 20 66 72 65 65 64 6f 6d 20 74 6f 0a 73 68 61 72 65 20 61 6e 64 20 63 ntee.your.freedom.to.share.and.c
4af00 68 61 6e 67 65 20 61 6c 6c 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 61 20 70 72 6f 67 72 61 6d e2 hange.all.versions.of.a.program.
4af20 80 94 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 69 74 20 72 65 6d 61 69 6e 73 20 66 72 65 65 0a 73 ..to.make.sure.it.remains.free.s
4af40 6f 66 74 77 61 72 65 20 66 6f 72 20 61 6c 6c 20 69 74 73 20 75 73 65 72 73 2e 20 20 57 65 2c 20 oftware.for.all.its.users...We,.
4af60 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 75 73 the.Free.Software.Foundation,.us
4af80 65 20 74 68 65 0a 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 e.the.GNU.General.Public.License
4afa0 20 66 6f 72 20 6d 6f 73 74 20 6f 66 20 6f 75 72 20 73 6f 66 74 77 61 72 65 3b 20 69 74 20 61 70 .for.most.of.our.software;.it.ap
4afc0 70 6c 69 65 73 20 61 6c 73 6f 20 74 6f 0a 61 6e 79 20 6f 74 68 65 72 20 77 6f 72 6b 20 72 65 6c plies.also.to.any.other.work.rel
4afe0 65 61 73 65 64 20 74 68 69 73 20 77 61 79 20 62 79 20 69 74 73 20 61 75 74 68 6f 72 73 2e 20 20 eased.this.way.by.its.authors...
4b000 59 6f 75 20 63 61 6e 20 61 70 70 6c 79 20 69 74 20 74 6f 0a 79 6f 75 72 20 70 72 6f 67 72 61 6d You.can.apply.it.to.your.program
4b020 73 2c 20 74 6f 6f 2e 0a 0a 20 20 20 57 68 65 6e 20 77 65 20 73 70 65 61 6b 20 6f 66 20 66 72 65 s,.too......When.we.speak.of.fre
4b040 65 20 73 6f 66 74 77 61 72 65 2c 20 77 65 20 61 72 65 20 72 65 66 65 72 72 69 6e 67 20 74 6f 20 e.software,.we.are.referring.to.
4b060 66 72 65 65 64 6f 6d 2c 20 6e 6f 74 0a 70 72 69 63 65 2e 20 20 4f 75 72 20 47 65 6e 65 72 61 6c freedom,.not.price...Our.General
4b080 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 73 20 61 72 65 20 64 65 73 69 67 6e 65 64 20 74 6f .Public.Licenses.are.designed.to
4b0a0 20 6d 61 6b 65 20 73 75 72 65 20 74 68 61 74 20 79 6f 75 0a 68 61 76 65 20 74 68 65 20 66 72 65 .make.sure.that.you.have.the.fre
4b0c0 65 64 6f 6d 20 74 6f 20 64 69 73 74 72 69 62 75 74 65 20 63 6f 70 69 65 73 20 6f 66 20 66 72 65 edom.to.distribute.copies.of.fre
4b0e0 65 20 73 6f 66 74 77 61 72 65 20 28 61 6e 64 20 63 68 61 72 67 65 20 66 6f 72 0a 74 68 65 6d 20 e.software.(and.charge.for.them.
4b100 69 66 20 79 6f 75 20 77 69 73 68 29 2c 20 74 68 61 74 20 79 6f 75 20 72 65 63 65 69 76 65 20 73 if.you.wish),.that.you.receive.s
4b120 6f 75 72 63 65 20 63 6f 64 65 20 6f 72 20 63 61 6e 20 67 65 74 20 69 74 20 69 66 20 79 6f 75 0a ource.code.or.can.get.it.if.you.
4b140 77 61 6e 74 20 69 74 2c 20 74 68 61 74 20 79 6f 75 20 63 61 6e 20 63 68 61 6e 67 65 20 74 68 65 want.it,.that.you.can.change.the
4b160 20 73 6f 66 74 77 61 72 65 20 6f 72 20 75 73 65 20 70 69 65 63 65 73 20 6f 66 20 69 74 20 69 6e .software.or.use.pieces.of.it.in
4b180 20 6e 65 77 0a 66 72 65 65 20 70 72 6f 67 72 61 6d 73 2c 20 61 6e 64 20 74 68 61 74 20 79 6f 75 .new.free.programs,.and.that.you
4b1a0 20 6b 6e 6f 77 20 79 6f 75 20 63 61 6e 20 64 6f 20 74 68 65 73 65 20 74 68 69 6e 67 73 2e 0a 0a .know.you.can.do.these.things...
4b1c0 20 20 20 54 6f 20 70 72 6f 74 65 63 74 20 79 6f 75 72 20 72 69 67 68 74 73 2c 20 77 65 20 6e 65 ...To.protect.your.rights,.we.ne
4b1e0 65 64 20 74 6f 20 70 72 65 76 65 6e 74 20 6f 74 68 65 72 73 20 66 72 6f 6d 20 64 65 6e 79 69 6e ed.to.prevent.others.from.denyin
4b200 67 20 79 6f 75 0a 74 68 65 73 65 20 72 69 67 68 74 73 20 6f 72 20 61 73 6b 69 6e 67 20 79 6f 75 g.you.these.rights.or.asking.you
4b220 20 74 6f 20 73 75 72 72 65 6e 64 65 72 20 74 68 65 20 72 69 67 68 74 73 2e 20 20 54 68 65 72 65 .to.surrender.the.rights...There
4b240 66 6f 72 65 2c 20 79 6f 75 20 68 61 76 65 0a 63 65 72 74 61 69 6e 20 72 65 73 70 6f 6e 73 69 62 fore,.you.have.certain.responsib
4b260 69 6c 69 74 69 65 73 20 69 66 20 79 6f 75 20 64 69 73 74 72 69 62 75 74 65 20 63 6f 70 69 65 73 ilities.if.you.distribute.copies
4b280 20 6f 66 20 74 68 65 20 73 6f 66 74 77 61 72 65 2c 20 6f 72 20 69 66 0a 79 6f 75 20 6d 6f 64 69 .of.the.software,.or.if.you.modi
4b2a0 66 79 20 69 74 3a 20 72 65 73 70 6f 6e 73 69 62 69 6c 69 74 69 65 73 20 74 6f 20 72 65 73 70 65 fy.it:.responsibilities.to.respe
4b2c0 63 74 20 74 68 65 20 66 72 65 65 64 6f 6d 20 6f 66 20 6f 74 68 65 72 73 2e 0a 0a 20 20 20 46 6f ct.the.freedom.of.others......Fo
4b2e0 72 20 65 78 61 6d 70 6c 65 2c 20 69 66 20 79 6f 75 20 64 69 73 74 72 69 62 75 74 65 20 63 6f 70 r.example,.if.you.distribute.cop
4b300 69 65 73 20 6f 66 20 73 75 63 68 20 61 20 70 72 6f 67 72 61 6d 2c 20 77 68 65 74 68 65 72 0a 67 ies.of.such.a.program,.whether.g
4b320 72 61 74 69 73 20 6f 72 20 66 6f 72 20 61 20 66 65 65 2c 20 79 6f 75 20 6d 75 73 74 20 70 61 73 ratis.or.for.a.fee,.you.must.pas
4b340 73 20 6f 6e 20 74 6f 20 74 68 65 20 72 65 63 69 70 69 65 6e 74 73 20 74 68 65 20 73 61 6d 65 0a s.on.to.the.recipients.the.same.
4b360 66 72 65 65 64 6f 6d 73 20 74 68 61 74 20 79 6f 75 20 72 65 63 65 69 76 65 64 2e 20 20 59 6f 75 freedoms.that.you.received...You
4b380 20 6d 75 73 74 20 6d 61 6b 65 20 73 75 72 65 20 74 68 61 74 20 74 68 65 79 2c 20 74 6f 6f 2c 20 .must.make.sure.that.they,.too,.
4b3a0 72 65 63 65 69 76 65 0a 6f 72 20 63 61 6e 20 67 65 74 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f receive.or.can.get.the.source.co
4b3c0 64 65 2e 20 20 41 6e 64 20 79 6f 75 20 6d 75 73 74 20 73 68 6f 77 20 74 68 65 6d 20 74 68 65 73 de...And.you.must.show.them.thes
4b3e0 65 20 74 65 72 6d 73 20 73 6f 20 74 68 65 79 0a 6b 6e 6f 77 20 74 68 65 69 72 20 72 69 67 68 74 e.terms.so.they.know.their.right
4b400 73 2e 0a 0a 20 20 20 44 65 76 65 6c 6f 70 65 72 73 20 74 68 61 74 20 75 73 65 20 74 68 65 20 47 s......Developers.that.use.the.G
4b420 4e 55 20 47 50 4c 20 70 72 6f 74 65 63 74 20 79 6f 75 72 20 72 69 67 68 74 73 20 77 69 74 68 20 NU.GPL.protect.your.rights.with.
4b440 74 77 6f 20 73 74 65 70 73 3a 0a 28 31 29 20 61 73 73 65 72 74 20 63 6f 70 79 72 69 67 68 74 20 two.steps:.(1).assert.copyright.
4b460 6f 6e 20 74 68 65 20 73 6f 66 74 77 61 72 65 2c 20 61 6e 64 20 28 32 29 20 6f 66 66 65 72 20 79 on.the.software,.and.(2).offer.y
4b480 6f 75 20 74 68 69 73 20 4c 69 63 65 6e 73 65 0a 67 69 76 69 6e 67 20 79 6f 75 20 6c 65 67 61 6c ou.this.License.giving.you.legal
4b4a0 20 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 63 6f 70 79 2c 20 64 69 73 74 72 69 62 75 74 65 20 .permission.to.copy,.distribute.
4b4c0 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 20 69 74 2e 0a 0a 20 20 20 46 6f 72 20 74 68 65 20 64 65 and/or.modify.it......For.the.de
4b4e0 76 65 6c 6f 70 65 72 73 e2 80 99 20 61 6e 64 20 61 75 74 68 6f 72 73 e2 80 99 20 70 72 6f 74 65 velopers....and.authors....prote
4b500 63 74 69 6f 6e 2c 20 74 68 65 20 47 50 4c 20 63 6c 65 61 72 6c 79 20 65 78 70 6c 61 69 6e 73 0a ction,.the.GPL.clearly.explains.
4b520 74 68 61 74 20 74 68 65 72 65 20 69 73 20 6e 6f 20 77 61 72 72 61 6e 74 79 20 66 6f 72 20 74 68 that.there.is.no.warranty.for.th
4b540 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 2e 20 20 46 6f 72 20 62 6f 74 68 20 75 73 65 72 is.free.software...For.both.user
4b560 73 e2 80 99 20 61 6e 64 0a 61 75 74 68 6f 72 73 e2 80 99 20 73 61 6b 65 2c 20 74 68 65 20 47 50 s....and.authors....sake,.the.GP
4b580 4c 20 72 65 71 75 69 72 65 73 20 74 68 61 74 20 6d 6f 64 69 66 69 65 64 20 76 65 72 73 69 6f 6e L.requires.that.modified.version
4b5a0 73 20 62 65 20 6d 61 72 6b 65 64 20 61 73 0a 63 68 61 6e 67 65 64 2c 20 73 6f 20 74 68 61 74 20 s.be.marked.as.changed,.so.that.
4b5c0 74 68 65 69 72 20 70 72 6f 62 6c 65 6d 73 20 77 69 6c 6c 20 6e 6f 74 20 62 65 20 61 74 74 72 69 their.problems.will.not.be.attri
4b5e0 62 75 74 65 64 20 65 72 72 6f 6e 65 6f 75 73 6c 79 20 74 6f 0a 61 75 74 68 6f 72 73 20 6f 66 20 buted.erroneously.to.authors.of.
4b600 70 72 65 76 69 6f 75 73 20 76 65 72 73 69 6f 6e 73 2e 0a 0a 20 20 20 53 6f 6d 65 20 64 65 76 69 previous.versions......Some.devi
4b620 63 65 73 20 61 72 65 20 64 65 73 69 67 6e 65 64 20 74 6f 20 64 65 6e 79 20 75 73 65 72 73 20 61 ces.are.designed.to.deny.users.a
4b640 63 63 65 73 73 20 74 6f 20 69 6e 73 74 61 6c 6c 20 6f 72 20 72 75 6e 0a 6d 6f 64 69 66 69 65 64 ccess.to.install.or.run.modified
4b660 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 74 68 65 20 73 6f 66 74 77 61 72 65 20 69 6e 73 69 64 65 .versions.of.the.software.inside
4b680 20 74 68 65 6d 2c 20 61 6c 74 68 6f 75 67 68 20 74 68 65 20 6d 61 6e 75 66 61 63 74 75 72 65 72 .them,.although.the.manufacturer
4b6a0 0a 63 61 6e 20 64 6f 20 73 6f 2e 20 20 54 68 69 73 20 69 73 20 66 75 6e 64 61 6d 65 6e 74 61 6c .can.do.so...This.is.fundamental
4b6c0 6c 79 20 69 6e 63 6f 6d 70 61 74 69 62 6c 65 20 77 69 74 68 20 74 68 65 20 61 69 6d 20 6f 66 0a ly.incompatible.with.the.aim.of.
4b6e0 70 72 6f 74 65 63 74 69 6e 67 20 75 73 65 72 73 e2 80 99 20 66 72 65 65 64 6f 6d 20 74 6f 20 63 protecting.users....freedom.to.c
4b700 68 61 6e 67 65 20 74 68 65 20 73 6f 66 74 77 61 72 65 2e 20 20 54 68 65 20 73 79 73 74 65 6d 61 hange.the.software...The.systema
4b720 74 69 63 0a 70 61 74 74 65 72 6e 20 6f 66 20 73 75 63 68 20 61 62 75 73 65 20 6f 63 63 75 72 73 tic.pattern.of.such.abuse.occurs
4b740 20 69 6e 20 74 68 65 20 61 72 65 61 20 6f 66 20 70 72 6f 64 75 63 74 73 20 66 6f 72 20 69 6e 64 .in.the.area.of.products.for.ind
4b760 69 76 69 64 75 61 6c 73 20 74 6f 0a 75 73 65 2c 20 77 68 69 63 68 20 69 73 20 70 72 65 63 69 73 ividuals.to.use,.which.is.precis
4b780 65 6c 79 20 77 68 65 72 65 20 69 74 20 69 73 20 6d 6f 73 74 20 75 6e 61 63 63 65 70 74 61 62 6c ely.where.it.is.most.unacceptabl
4b7a0 65 2e 20 20 54 68 65 72 65 66 6f 72 65 2c 20 77 65 0a 68 61 76 65 20 64 65 73 69 67 6e 65 64 20 e...Therefore,.we.have.designed.
4b7c0 74 68 69 73 20 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 65 20 47 50 4c 20 74 6f 20 70 72 6f 68 69 this.version.of.the.GPL.to.prohi
4b7e0 62 69 74 20 74 68 65 20 70 72 61 63 74 69 63 65 20 66 6f 72 20 74 68 6f 73 65 0a 70 72 6f 64 75 bit.the.practice.for.those.produ
4b800 63 74 73 2e 20 20 49 66 20 73 75 63 68 20 70 72 6f 62 6c 65 6d 73 20 61 72 69 73 65 20 73 75 62 cts...If.such.problems.arise.sub
4b820 73 74 61 6e 74 69 61 6c 6c 79 20 69 6e 20 6f 74 68 65 72 20 64 6f 6d 61 69 6e 73 2c 20 77 65 0a stantially.in.other.domains,.we.
4b840 73 74 61 6e 64 20 72 65 61 64 79 20 74 6f 20 65 78 74 65 6e 64 20 74 68 69 73 20 70 72 6f 76 69 stand.ready.to.extend.this.provi
4b860 73 69 6f 6e 20 74 6f 20 74 68 6f 73 65 20 64 6f 6d 61 69 6e 73 20 69 6e 20 66 75 74 75 72 65 20 sion.to.those.domains.in.future.
4b880 76 65 72 73 69 6f 6e 73 0a 6f 66 20 74 68 65 20 47 50 4c 2c 20 61 73 20 6e 65 65 64 65 64 20 74 versions.of.the.GPL,.as.needed.t
4b8a0 6f 20 70 72 6f 74 65 63 74 20 74 68 65 20 66 72 65 65 64 6f 6d 20 6f 66 20 75 73 65 72 73 2e 0a o.protect.the.freedom.of.users..
4b8c0 0a 20 20 20 46 69 6e 61 6c 6c 79 2c 20 65 76 65 72 79 20 70 72 6f 67 72 61 6d 20 69 73 20 74 68 ....Finally,.every.program.is.th
4b8e0 72 65 61 74 65 6e 65 64 20 63 6f 6e 73 74 61 6e 74 6c 79 20 62 79 20 73 6f 66 74 77 61 72 65 20 reatened.constantly.by.software.
4b900 70 61 74 65 6e 74 73 2e 0a 53 74 61 74 65 73 20 73 68 6f 75 6c 64 20 6e 6f 74 20 61 6c 6c 6f 77 patents..States.should.not.allow
4b920 20 70 61 74 65 6e 74 73 20 74 6f 20 72 65 73 74 72 69 63 74 20 64 65 76 65 6c 6f 70 6d 65 6e 74 .patents.to.restrict.development
4b940 20 61 6e 64 20 75 73 65 20 6f 66 0a 73 6f 66 74 77 61 72 65 20 6f 6e 20 67 65 6e 65 72 61 6c 2d .and.use.of.software.on.general-
4b960 70 75 72 70 6f 73 65 20 63 6f 6d 70 75 74 65 72 73 2c 20 62 75 74 20 69 6e 20 74 68 6f 73 65 20 purpose.computers,.but.in.those.
4b980 74 68 61 74 20 64 6f 2c 20 77 65 20 77 69 73 68 20 74 6f 0a 61 76 6f 69 64 20 74 68 65 20 73 70 that.do,.we.wish.to.avoid.the.sp
4b9a0 65 63 69 61 6c 20 64 61 6e 67 65 72 20 74 68 61 74 20 70 61 74 65 6e 74 73 20 61 70 70 6c 69 65 ecial.danger.that.patents.applie
4b9c0 64 20 74 6f 20 61 20 66 72 65 65 20 70 72 6f 67 72 61 6d 20 63 6f 75 6c 64 0a 6d 61 6b 65 20 69 d.to.a.free.program.could.make.i
4b9e0 74 20 65 66 66 65 63 74 69 76 65 6c 79 20 70 72 6f 70 72 69 65 74 61 72 79 2e 20 20 54 6f 20 70 t.effectively.proprietary...To.p
4ba00 72 65 76 65 6e 74 20 74 68 69 73 2c 20 74 68 65 20 47 50 4c 20 61 73 73 75 72 65 73 20 74 68 61 revent.this,.the.GPL.assures.tha
4ba20 74 0a 70 61 74 65 6e 74 73 20 63 61 6e 6e 6f 74 20 62 65 20 75 73 65 64 20 74 6f 20 72 65 6e 64 t.patents.cannot.be.used.to.rend
4ba40 65 72 20 74 68 65 20 70 72 6f 67 72 61 6d 20 6e 6f 6e 2d 66 72 65 65 2e 0a 0a 20 20 20 54 68 65 er.the.program.non-free......The
4ba60 20 70 72 65 63 69 73 65 20 74 65 72 6d 73 20 61 6e 64 20 63 6f 6e 64 69 74 69 6f 6e 73 20 66 6f .precise.terms.and.conditions.fo
4ba80 72 20 63 6f 70 79 69 6e 67 2c 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 61 6e 64 0a 6d 6f 64 69 r.copying,.distribution.and.modi
4baa0 66 69 63 61 74 69 6f 6e 20 66 6f 6c 6c 6f 77 2e 0a 0a 54 45 52 4d 53 20 41 4e 44 20 43 4f 4e 44 fication.follow...TERMS.AND.COND
4bac0 49 54 49 4f 4e 53 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 20 20 30 ITIONS.====================....0
4bae0 2e 20 44 65 66 69 6e 69 74 69 6f 6e 73 2e 0a 0a 20 20 20 20 20 e2 80 9c 54 68 69 73 20 4c 69 63 ..Definitions...........This.Lic
4bb00 65 6e 73 65 e2 80 9d 20 72 65 66 65 72 73 20 74 6f 20 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 ense....refers.to.version.3.of.t
4bb20 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 0a 20 20 20 20 20 4c 69 63 65 6e he.GNU.General.Public......Licen
4bb40 73 65 2e 0a 0a 20 20 20 20 20 e2 80 9c 43 6f 70 79 72 69 67 68 74 e2 80 9d 20 61 6c 73 6f 20 6d se...........Copyright....also.m
4bb60 65 61 6e 73 20 63 6f 70 79 72 69 67 68 74 2d 6c 69 6b 65 20 6c 61 77 73 20 74 68 61 74 20 61 70 eans.copyright-like.laws.that.ap
4bb80 70 6c 79 20 74 6f 20 6f 74 68 65 72 0a 20 20 20 20 20 6b 69 6e 64 73 20 6f 66 20 77 6f 72 6b 73 ply.to.other......kinds.of.works
4bba0 2c 20 73 75 63 68 20 61 73 20 73 65 6d 69 63 6f 6e 64 75 63 74 6f 72 20 6d 61 73 6b 73 2e 0a 0a ,.such.as.semiconductor.masks...
4bbc0 20 20 20 20 20 e2 80 9c 54 68 65 20 50 72 6f 67 72 61 6d e2 80 9d 20 72 65 66 65 72 73 20 74 6f ........The.Program....refers.to
4bbe0 20 61 6e 79 20 63 6f 70 79 72 69 67 68 74 61 62 6c 65 20 77 6f 72 6b 20 6c 69 63 65 6e 73 65 64 .any.copyrightable.work.licensed
4bc00 20 75 6e 64 65 72 20 74 68 69 73 0a 20 20 20 20 20 4c 69 63 65 6e 73 65 2e 20 20 45 61 63 68 20 .under.this......License...Each.
4bc20 6c 69 63 65 6e 73 65 65 20 69 73 20 61 64 64 72 65 73 73 65 64 20 61 73 20 e2 80 9c 79 6f 75 e2 licensee.is.addressed.as....you.
4bc40 80 9d 2e 20 20 e2 80 9c 4c 69 63 65 6e 73 65 65 73 e2 80 9d 20 61 6e 64 0a 20 20 20 20 20 e2 80 ........Licensees....and........
4bc60 9c 72 65 63 69 70 69 65 6e 74 73 e2 80 9d 20 6d 61 79 20 62 65 20 69 6e 64 69 76 69 64 75 61 6c .recipients....may.be.individual
4bc80 73 20 6f 72 20 6f 72 67 61 6e 69 7a 61 74 69 6f 6e 73 2e 0a 0a 20 20 20 20 20 54 6f 20 e2 80 9c s.or.organizations........To....
4bca0 6d 6f 64 69 66 79 e2 80 9d 20 61 20 77 6f 72 6b 20 6d 65 61 6e 73 20 74 6f 20 63 6f 70 79 20 66 modify....a.work.means.to.copy.f
4bcc0 72 6f 6d 20 6f 72 20 61 64 61 70 74 20 61 6c 6c 20 6f 72 20 70 61 72 74 20 6f 66 20 74 68 65 0a rom.or.adapt.all.or.part.of.the.
4bce0 20 20 20 20 20 77 6f 72 6b 20 69 6e 20 61 20 66 61 73 68 69 6f 6e 20 72 65 71 75 69 72 69 6e 67 .....work.in.a.fashion.requiring
4bd00 20 63 6f 70 79 72 69 67 68 74 20 70 65 72 6d 69 73 73 69 6f 6e 2c 20 6f 74 68 65 72 20 74 68 61 .copyright.permission,.other.tha
4bd20 6e 20 74 68 65 0a 20 20 20 20 20 6d 61 6b 69 6e 67 20 6f 66 20 61 6e 20 65 78 61 63 74 20 63 6f n.the......making.of.an.exact.co
4bd40 70 79 2e 20 20 54 68 65 20 72 65 73 75 6c 74 69 6e 67 20 77 6f 72 6b 20 69 73 20 63 61 6c 6c 65 py...The.resulting.work.is.calle
4bd60 64 20 61 20 e2 80 9c 6d 6f 64 69 66 69 65 64 0a 20 20 20 20 20 76 65 72 73 69 6f 6e e2 80 9d 20 d.a....modified......version....
4bd80 6f 66 20 74 68 65 20 65 61 72 6c 69 65 72 20 77 6f 72 6b 20 6f 72 20 61 20 77 6f 72 6b 20 e2 80 of.the.earlier.work.or.a.work...
4bda0 9c 62 61 73 65 64 20 6f 6e e2 80 9d 20 74 68 65 20 65 61 72 6c 69 65 72 20 77 6f 72 6b 2e 0a 0a .based.on....the.earlier.work...
4bdc0 20 20 20 20 20 41 20 e2 80 9c 63 6f 76 65 72 65 64 20 77 6f 72 6b e2 80 9d 20 6d 65 61 6e 73 20 .....A....covered.work....means.
4bde0 65 69 74 68 65 72 20 74 68 65 20 75 6e 6d 6f 64 69 66 69 65 64 20 50 72 6f 67 72 61 6d 20 6f 72 either.the.unmodified.Program.or
4be00 20 61 20 77 6f 72 6b 0a 20 20 20 20 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 50 72 6f 67 72 61 .a.work......based.on.the.Progra
4be20 6d 2e 0a 0a 20 20 20 20 20 54 6f 20 e2 80 9c 70 72 6f 70 61 67 61 74 65 e2 80 9d 20 61 20 77 6f m........To....propagate....a.wo
4be40 72 6b 20 6d 65 61 6e 73 20 74 6f 20 64 6f 20 61 6e 79 74 68 69 6e 67 20 77 69 74 68 20 69 74 20 rk.means.to.do.anything.with.it.
4be60 74 68 61 74 2c 20 77 69 74 68 6f 75 74 0a 20 20 20 20 20 70 65 72 6d 69 73 73 69 6f 6e 2c 20 77 that,.without......permission,.w
4be80 6f 75 6c 64 20 6d 61 6b 65 20 79 6f 75 20 64 69 72 65 63 74 6c 79 20 6f 72 20 73 65 63 6f 6e 64 ould.make.you.directly.or.second
4bea0 61 72 69 6c 79 20 6c 69 61 62 6c 65 20 66 6f 72 0a 20 20 20 20 20 69 6e 66 72 69 6e 67 65 6d 65 arily.liable.for......infringeme
4bec0 6e 74 20 75 6e 64 65 72 20 61 70 70 6c 69 63 61 62 6c 65 20 63 6f 70 79 72 69 67 68 74 20 6c 61 nt.under.applicable.copyright.la
4bee0 77 2c 20 65 78 63 65 70 74 20 65 78 65 63 75 74 69 6e 67 20 69 74 20 6f 6e 0a 20 20 20 20 20 61 w,.except.executing.it.on......a
4bf00 20 63 6f 6d 70 75 74 65 72 20 6f 72 20 6d 6f 64 69 66 79 69 6e 67 20 61 20 70 72 69 76 61 74 65 .computer.or.modifying.a.private
4bf20 20 63 6f 70 79 2e 20 20 50 72 6f 70 61 67 61 74 69 6f 6e 20 69 6e 63 6c 75 64 65 73 0a 20 20 20 .copy...Propagation.includes....
4bf40 20 20 63 6f 70 79 69 6e 67 2c 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 28 77 69 74 68 20 6f 72 ..copying,.distribution.(with.or
4bf60 20 77 69 74 68 6f 75 74 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 29 2c 20 6d 61 6b 69 6e 67 0a 20 .without.modification),.making..
4bf80 20 20 20 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 74 68 65 20 70 75 62 6c 69 63 2c 20 61 6e 64 ....available.to.the.public,.and
4bfa0 20 69 6e 20 73 6f 6d 65 20 63 6f 75 6e 74 72 69 65 73 20 6f 74 68 65 72 20 61 63 74 69 76 69 74 .in.some.countries.other.activit
4bfc0 69 65 73 20 61 73 0a 20 20 20 20 20 77 65 6c 6c 2e 0a 0a 20 20 20 20 20 54 6f 20 e2 80 9c 63 6f ies.as......well........To....co
4bfe0 6e 76 65 79 e2 80 9d 20 61 20 77 6f 72 6b 20 6d 65 61 6e 73 20 61 6e 79 20 6b 69 6e 64 20 6f 66 nvey....a.work.means.any.kind.of
4c000 20 70 72 6f 70 61 67 61 74 69 6f 6e 20 74 68 61 74 20 65 6e 61 62 6c 65 73 20 6f 74 68 65 72 0a .propagation.that.enables.other.
4c020 20 20 20 20 20 70 61 72 74 69 65 73 20 74 6f 20 6d 61 6b 65 20 6f 72 20 72 65 63 65 69 76 65 20 .....parties.to.make.or.receive.
4c040 63 6f 70 69 65 73 2e 20 20 4d 65 72 65 20 69 6e 74 65 72 61 63 74 69 6f 6e 20 77 69 74 68 20 61 copies...Mere.interaction.with.a
4c060 20 75 73 65 72 0a 20 20 20 20 20 74 68 72 6f 75 67 68 20 61 20 63 6f 6d 70 75 74 65 72 20 6e 65 .user......through.a.computer.ne
4c080 74 77 6f 72 6b 2c 20 77 69 74 68 20 6e 6f 20 74 72 61 6e 73 66 65 72 20 6f 66 20 61 20 63 6f 70 twork,.with.no.transfer.of.a.cop
4c0a0 79 2c 20 69 73 20 6e 6f 74 0a 20 20 20 20 20 63 6f 6e 76 65 79 69 6e 67 2e 0a 0a 20 20 20 20 20 y,.is.not......conveying........
4c0c0 41 6e 20 69 6e 74 65 72 61 63 74 69 76 65 20 75 73 65 72 20 69 6e 74 65 72 66 61 63 65 20 64 69 An.interactive.user.interface.di
4c0e0 73 70 6c 61 79 73 20 e2 80 9c 41 70 70 72 6f 70 72 69 61 74 65 20 4c 65 67 61 6c 20 4e 6f 74 69 splays....Appropriate.Legal.Noti
4c100 63 65 73 e2 80 9d 0a 20 20 20 20 20 74 6f 20 74 68 65 20 65 78 74 65 6e 74 20 74 68 61 74 20 69 ces.........to.the.extent.that.i
4c120 74 20 69 6e 63 6c 75 64 65 73 20 61 20 63 6f 6e 76 65 6e 69 65 6e 74 20 61 6e 64 20 70 72 6f 6d t.includes.a.convenient.and.prom
4c140 69 6e 65 6e 74 6c 79 20 76 69 73 69 62 6c 65 0a 20 20 20 20 20 66 65 61 74 75 72 65 20 74 68 61 inently.visible......feature.tha
4c160 74 20 28 31 29 20 64 69 73 70 6c 61 79 73 20 61 6e 20 61 70 70 72 6f 70 72 69 61 74 65 20 63 6f t.(1).displays.an.appropriate.co
4c180 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 2c 20 61 6e 64 20 28 32 29 0a 20 20 20 20 20 74 65 6c pyright.notice,.and.(2)......tel
4c1a0 6c 73 20 74 68 65 20 75 73 65 72 20 74 68 61 74 20 74 68 65 72 65 20 69 73 20 6e 6f 20 77 61 72 ls.the.user.that.there.is.no.war
4c1c0 72 61 6e 74 79 20 66 6f 72 20 74 68 65 20 77 6f 72 6b 20 28 65 78 63 65 70 74 20 74 6f 0a 20 20 ranty.for.the.work.(except.to...
4c1e0 20 20 20 74 68 65 20 65 78 74 65 6e 74 20 74 68 61 74 20 77 61 72 72 61 6e 74 69 65 73 20 61 72 ...the.extent.that.warranties.ar
4c200 65 20 70 72 6f 76 69 64 65 64 29 2c 20 74 68 61 74 20 6c 69 63 65 6e 73 65 65 73 20 6d 61 79 20 e.provided),.that.licensees.may.
4c220 63 6f 6e 76 65 79 0a 20 20 20 20 20 74 68 65 20 77 6f 72 6b 20 75 6e 64 65 72 20 74 68 69 73 20 convey......the.work.under.this.
4c240 4c 69 63 65 6e 73 65 2c 20 61 6e 64 20 68 6f 77 20 74 6f 20 76 69 65 77 20 61 20 63 6f 70 79 20 License,.and.how.to.view.a.copy.
4c260 6f 66 20 74 68 69 73 0a 20 20 20 20 20 4c 69 63 65 6e 73 65 2e 20 20 49 66 20 74 68 65 20 69 6e of.this......License...If.the.in
4c280 74 65 72 66 61 63 65 20 70 72 65 73 65 6e 74 73 20 61 20 6c 69 73 74 20 6f 66 20 75 73 65 72 20 terface.presents.a.list.of.user.
4c2a0 63 6f 6d 6d 61 6e 64 73 20 6f 72 0a 20 20 20 20 20 6f 70 74 69 6f 6e 73 2c 20 73 75 63 68 20 61 commands.or......options,.such.a
4c2c0 73 20 61 20 6d 65 6e 75 2c 20 61 20 70 72 6f 6d 69 6e 65 6e 74 20 69 74 65 6d 20 69 6e 20 74 68 s.a.menu,.a.prominent.item.in.th
4c2e0 65 20 6c 69 73 74 20 6d 65 65 74 73 20 74 68 69 73 0a 20 20 20 20 20 63 72 69 74 65 72 69 6f 6e e.list.meets.this......criterion
4c300 2e 0a 0a 20 20 31 2e 20 53 6f 75 72 63 65 20 43 6f 64 65 2e 0a 0a 20 20 20 20 20 54 68 65 20 e2 .....1..Source.Code........The..
4c320 80 9c 73 6f 75 72 63 65 20 63 6f 64 65 e2 80 9d 20 66 6f 72 20 61 20 77 6f 72 6b 20 6d 65 61 6e ..source.code....for.a.work.mean
4c340 73 20 74 68 65 20 70 72 65 66 65 72 72 65 64 20 66 6f 72 6d 20 6f 66 20 74 68 65 20 77 6f 72 6b s.the.preferred.form.of.the.work
4c360 0a 20 20 20 20 20 66 6f 72 20 6d 61 6b 69 6e 67 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 73 20 74 ......for.making.modifications.t
4c380 6f 20 69 74 2e 20 20 e2 80 9c 4f 62 6a 65 63 74 20 63 6f 64 65 e2 80 9d 20 6d 65 61 6e 73 20 61 o.it......Object.code....means.a
4c3a0 6e 79 20 6e 6f 6e 2d 73 6f 75 72 63 65 0a 20 20 20 20 20 66 6f 72 6d 20 6f 66 20 61 20 77 6f 72 ny.non-source......form.of.a.wor
4c3c0 6b 2e 0a 0a 20 20 20 20 20 41 20 e2 80 9c 53 74 61 6e 64 61 72 64 20 49 6e 74 65 72 66 61 63 65 k........A....Standard.Interface
4c3e0 e2 80 9d 20 6d 65 61 6e 73 20 61 6e 20 69 6e 74 65 72 66 61 63 65 20 74 68 61 74 20 65 69 74 68 ....means.an.interface.that.eith
4c400 65 72 20 69 73 20 61 6e 0a 20 20 20 20 20 6f 66 66 69 63 69 61 6c 20 73 74 61 6e 64 61 72 64 20 er.is.an......official.standard.
4c420 64 65 66 69 6e 65 64 20 62 79 20 61 20 72 65 63 6f 67 6e 69 7a 65 64 20 73 74 61 6e 64 61 72 64 defined.by.a.recognized.standard
4c440 73 20 62 6f 64 79 2c 20 6f 72 2c 20 69 6e 0a 20 20 20 20 20 74 68 65 20 63 61 73 65 20 6f 66 20 s.body,.or,.in......the.case.of.
4c460 69 6e 74 65 72 66 61 63 65 73 20 73 70 65 63 69 66 69 65 64 20 66 6f 72 20 61 20 70 61 72 74 69 interfaces.specified.for.a.parti
4c480 63 75 6c 61 72 20 70 72 6f 67 72 61 6d 6d 69 6e 67 0a 20 20 20 20 20 6c 61 6e 67 75 61 67 65 2c cular.programming......language,
4c4a0 20 6f 6e 65 20 74 68 61 74 20 69 73 20 77 69 64 65 6c 79 20 75 73 65 64 20 61 6d 6f 6e 67 20 64 .one.that.is.widely.used.among.d
4c4c0 65 76 65 6c 6f 70 65 72 73 20 77 6f 72 6b 69 6e 67 20 69 6e 20 74 68 61 74 0a 20 20 20 20 20 6c evelopers.working.in.that......l
4c4e0 61 6e 67 75 61 67 65 2e 0a 0a 20 20 20 20 20 54 68 65 20 e2 80 9c 53 79 73 74 65 6d 20 4c 69 62 anguage........The....System.Lib
4c500 72 61 72 69 65 73 e2 80 9d 20 6f 66 20 61 6e 20 65 78 65 63 75 74 61 62 6c 65 20 77 6f 72 6b 20 raries....of.an.executable.work.
4c520 69 6e 63 6c 75 64 65 20 61 6e 79 74 68 69 6e 67 2c 0a 20 20 20 20 20 6f 74 68 65 72 20 74 68 61 include.anything,......other.tha
4c540 6e 20 74 68 65 20 77 6f 72 6b 20 61 73 20 61 20 77 68 6f 6c 65 2c 20 74 68 61 74 20 28 61 29 20 n.the.work.as.a.whole,.that.(a).
4c560 69 73 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 68 65 20 6e 6f 72 6d 61 6c 0a 20 20 20 20 20 66 is.included.in.the.normal......f
4c580 6f 72 6d 20 6f 66 20 70 61 63 6b 61 67 69 6e 67 20 61 20 4d 61 6a 6f 72 20 43 6f 6d 70 6f 6e 65 orm.of.packaging.a.Major.Compone
4c5a0 6e 74 2c 20 62 75 74 20 77 68 69 63 68 20 69 73 20 6e 6f 74 20 70 61 72 74 20 6f 66 20 74 68 61 nt,.but.which.is.not.part.of.tha
4c5c0 74 0a 20 20 20 20 20 4d 61 6a 6f 72 20 43 6f 6d 70 6f 6e 65 6e 74 2c 20 61 6e 64 20 28 62 29 20 t......Major.Component,.and.(b).
4c5e0 73 65 72 76 65 73 20 6f 6e 6c 79 20 74 6f 20 65 6e 61 62 6c 65 20 75 73 65 20 6f 66 20 74 68 65 serves.only.to.enable.use.of.the
4c600 20 77 6f 72 6b 20 77 69 74 68 0a 20 20 20 20 20 74 68 61 74 20 4d 61 6a 6f 72 20 43 6f 6d 70 6f .work.with......that.Major.Compo
4c620 6e 65 6e 74 2c 20 6f 72 20 74 6f 20 69 6d 70 6c 65 6d 65 6e 74 20 61 20 53 74 61 6e 64 61 72 64 nent,.or.to.implement.a.Standard
4c640 20 49 6e 74 65 72 66 61 63 65 20 66 6f 72 0a 20 20 20 20 20 77 68 69 63 68 20 61 6e 20 69 6d 70 .Interface.for......which.an.imp
4c660 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 74 68 65 20 lementation.is.available.to.the.
4c680 70 75 62 6c 69 63 20 69 6e 20 73 6f 75 72 63 65 20 63 6f 64 65 0a 20 20 20 20 20 66 6f 72 6d 2e public.in.source.code......form.
4c6a0 20 20 41 20 e2 80 9c 4d 61 6a 6f 72 20 43 6f 6d 70 6f 6e 65 6e 74 e2 80 9d 2c 20 69 6e 20 74 68 ..A....Major.Component...,.in.th
4c6c0 69 73 20 63 6f 6e 74 65 78 74 2c 20 6d 65 61 6e 73 20 61 20 6d 61 6a 6f 72 0a 20 20 20 20 20 65 is.context,.means.a.major......e
4c6e0 73 73 65 6e 74 69 61 6c 20 63 6f 6d 70 6f 6e 65 6e 74 20 28 6b 65 72 6e 65 6c 2c 20 77 69 6e 64 ssential.component.(kernel,.wind
4c700 6f 77 20 73 79 73 74 65 6d 2c 20 61 6e 64 20 73 6f 20 6f 6e 29 20 6f 66 20 74 68 65 0a 20 20 20 ow.system,.and.so.on).of.the....
4c720 20 20 73 70 65 63 69 66 69 63 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 20 28 69 66 20 ..specific.operating.system.(if.
4c740 61 6e 79 29 20 6f 6e 20 77 68 69 63 68 20 74 68 65 20 65 78 65 63 75 74 61 62 6c 65 20 77 6f 72 any).on.which.the.executable.wor
4c760 6b 0a 20 20 20 20 20 72 75 6e 73 2c 20 6f 72 20 61 20 63 6f 6d 70 69 6c 65 72 20 75 73 65 64 20 k......runs,.or.a.compiler.used.
4c780 74 6f 20 70 72 6f 64 75 63 65 20 74 68 65 20 77 6f 72 6b 2c 20 6f 72 20 61 6e 20 6f 62 6a 65 63 to.produce.the.work,.or.an.objec
4c7a0 74 20 63 6f 64 65 0a 20 20 20 20 20 69 6e 74 65 72 70 72 65 74 65 72 20 75 73 65 64 20 74 6f 20 t.code......interpreter.used.to.
4c7c0 72 75 6e 20 69 74 2e 0a 0a 20 20 20 20 20 54 68 65 20 e2 80 9c 43 6f 72 72 65 73 70 6f 6e 64 69 run.it........The....Correspondi
4c7e0 6e 67 20 53 6f 75 72 63 65 e2 80 9d 20 66 6f 72 20 61 20 77 6f 72 6b 20 69 6e 20 6f 62 6a 65 63 ng.Source....for.a.work.in.objec
4c800 74 20 63 6f 64 65 20 66 6f 72 6d 20 6d 65 61 6e 73 20 61 6c 6c 0a 20 20 20 20 20 74 68 65 20 73 t.code.form.means.all......the.s
4c820 6f 75 72 63 65 20 63 6f 64 65 20 6e 65 65 64 65 64 20 74 6f 20 67 65 6e 65 72 61 74 65 2c 20 69 ource.code.needed.to.generate,.i
4c840 6e 73 74 61 6c 6c 2c 20 61 6e 64 20 28 66 6f 72 20 61 6e 20 65 78 65 63 75 74 61 62 6c 65 0a 20 nstall,.and.(for.an.executable..
4c860 20 20 20 20 77 6f 72 6b 29 20 72 75 6e 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 61 6e ....work).run.the.object.code.an
4c880 64 20 74 6f 20 6d 6f 64 69 66 79 20 74 68 65 20 77 6f 72 6b 2c 20 69 6e 63 6c 75 64 69 6e 67 20 d.to.modify.the.work,.including.
4c8a0 73 63 72 69 70 74 73 0a 20 20 20 20 20 74 6f 20 63 6f 6e 74 72 6f 6c 20 74 68 6f 73 65 20 61 63 scripts......to.control.those.ac
4c8c0 74 69 76 69 74 69 65 73 2e 20 20 48 6f 77 65 76 65 72 2c 20 69 74 20 64 6f 65 73 20 6e 6f 74 20 tivities...However,.it.does.not.
4c8e0 69 6e 63 6c 75 64 65 20 74 68 65 0a 20 20 20 20 20 77 6f 72 6b e2 80 99 73 20 53 79 73 74 65 6d include.the......work...s.System
4c900 20 4c 69 62 72 61 72 69 65 73 2c 20 6f 72 20 67 65 6e 65 72 61 6c 2d 70 75 72 70 6f 73 65 20 74 .Libraries,.or.general-purpose.t
4c920 6f 6f 6c 73 20 6f 72 20 67 65 6e 65 72 61 6c 6c 79 0a 20 20 20 20 20 61 76 61 69 6c 61 62 6c 65 ools.or.generally......available
4c940 20 66 72 65 65 20 70 72 6f 67 72 61 6d 73 20 77 68 69 63 68 20 61 72 65 20 75 73 65 64 20 75 6e .free.programs.which.are.used.un
4c960 6d 6f 64 69 66 69 65 64 20 69 6e 20 70 65 72 66 6f 72 6d 69 6e 67 0a 20 20 20 20 20 74 68 6f 73 modified.in.performing......thos
4c980 65 20 61 63 74 69 76 69 74 69 65 73 20 62 75 74 20 77 68 69 63 68 20 61 72 65 20 6e 6f 74 20 70 e.activities.but.which.are.not.p
4c9a0 61 72 74 20 6f 66 20 74 68 65 20 77 6f 72 6b 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 0a 20 art.of.the.work...For.example,..
4c9c0 20 20 20 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 69 6e 63 6c 75 64 65 ....Corresponding.Source.include
4c9e0 73 20 69 6e 74 65 72 66 61 63 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 66 69 6c 65 73 20 61 73 73 s.interface.definition.files.ass
4ca00 6f 63 69 61 74 65 64 0a 20 20 20 20 20 77 69 74 68 20 73 6f 75 72 63 65 20 66 69 6c 65 73 20 66 ociated......with.source.files.f
4ca20 6f 72 20 74 68 65 20 77 6f 72 6b 2c 20 61 6e 64 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 or.the.work,.and.the.source.code
4ca40 20 66 6f 72 20 73 68 61 72 65 64 0a 20 20 20 20 20 6c 69 62 72 61 72 69 65 73 20 61 6e 64 20 64 .for.shared......libraries.and.d
4ca60 79 6e 61 6d 69 63 61 6c 6c 79 20 6c 69 6e 6b 65 64 20 73 75 62 70 72 6f 67 72 61 6d 73 20 74 68 ynamically.linked.subprograms.th
4ca80 61 74 20 74 68 65 20 77 6f 72 6b 20 69 73 0a 20 20 20 20 20 73 70 65 63 69 66 69 63 61 6c 6c 79 at.the.work.is......specifically
4caa0 20 64 65 73 69 67 6e 65 64 20 74 6f 20 72 65 71 75 69 72 65 2c 20 73 75 63 68 20 61 73 20 62 79 .designed.to.require,.such.as.by
4cac0 20 69 6e 74 69 6d 61 74 65 20 64 61 74 61 0a 20 20 20 20 20 63 6f 6d 6d 75 6e 69 63 61 74 69 6f .intimate.data......communicatio
4cae0 6e 20 6f 72 20 63 6f 6e 74 72 6f 6c 20 66 6c 6f 77 20 62 65 74 77 65 65 6e 20 74 68 6f 73 65 20 n.or.control.flow.between.those.
4cb00 73 75 62 70 72 6f 67 72 61 6d 73 20 61 6e 64 20 6f 74 68 65 72 0a 20 20 20 20 20 70 61 72 74 73 subprograms.and.other......parts
4cb20 20 6f 66 20 74 68 65 20 77 6f 72 6b 2e 0a 0a 20 20 20 20 20 54 68 65 20 43 6f 72 72 65 73 70 6f .of.the.work........The.Correspo
4cb40 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 6e 65 65 64 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 61 6e nding.Source.need.not.include.an
4cb60 79 74 68 69 6e 67 20 74 68 61 74 20 75 73 65 72 73 20 63 61 6e 0a 20 20 20 20 20 72 65 67 65 6e ything.that.users.can......regen
4cb80 65 72 61 74 65 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 66 72 6f 6d 20 6f 74 68 65 72 20 70 erate.automatically.from.other.p
4cba0 61 72 74 73 20 6f 66 20 74 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 0a 20 20 20 20 20 53 arts.of.the.Corresponding......S
4cbc0 6f 75 72 63 65 2e 0a 0a 20 20 20 20 20 54 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 ource........The.Corresponding.S
4cbe0 6f 75 72 63 65 20 66 6f 72 20 61 20 77 6f 72 6b 20 69 6e 20 73 6f 75 72 63 65 20 63 6f 64 65 20 ource.for.a.work.in.source.code.
4cc00 66 6f 72 6d 20 69 73 20 74 68 61 74 0a 20 20 20 20 20 73 61 6d 65 20 77 6f 72 6b 2e 0a 0a 20 20 form.is.that......same.work.....
4cc20 32 2e 20 42 61 73 69 63 20 50 65 72 6d 69 73 73 69 6f 6e 73 2e 0a 0a 20 20 20 20 20 41 6c 6c 20 2..Basic.Permissions........All.
4cc40 72 69 67 68 74 73 20 67 72 61 6e 74 65 64 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 rights.granted.under.this.Licens
4cc60 65 20 61 72 65 20 67 72 61 6e 74 65 64 20 66 6f 72 20 74 68 65 20 74 65 72 6d 20 6f 66 0a 20 20 e.are.granted.for.the.term.of...
4cc80 20 20 20 63 6f 70 79 72 69 67 68 74 20 6f 6e 20 74 68 65 20 50 72 6f 67 72 61 6d 2c 20 61 6e 64 ...copyright.on.the.Program,.and
4cca0 20 61 72 65 20 69 72 72 65 76 6f 63 61 62 6c 65 20 70 72 6f 76 69 64 65 64 20 74 68 65 20 73 74 .are.irrevocable.provided.the.st
4ccc0 61 74 65 64 0a 20 20 20 20 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 6d 65 74 2e 20 20 54 ated......conditions.are.met...T
4cce0 68 69 73 20 4c 69 63 65 6e 73 65 20 65 78 70 6c 69 63 69 74 6c 79 20 61 66 66 69 72 6d 73 20 79 his.License.explicitly.affirms.y
4cd00 6f 75 72 20 75 6e 6c 69 6d 69 74 65 64 0a 20 20 20 20 20 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f our.unlimited......permission.to
4cd20 20 72 75 6e 20 74 68 65 20 75 6e 6d 6f 64 69 66 69 65 64 20 50 72 6f 67 72 61 6d 2e 20 20 54 68 .run.the.unmodified.Program...Th
4cd40 65 20 6f 75 74 70 75 74 20 66 72 6f 6d 20 72 75 6e 6e 69 6e 67 0a 20 20 20 20 20 61 20 63 6f 76 e.output.from.running......a.cov
4cd60 65 72 65 64 20 77 6f 72 6b 20 69 73 20 63 6f 76 65 72 65 64 20 62 79 20 74 68 69 73 20 4c 69 63 ered.work.is.covered.by.this.Lic
4cd80 65 6e 73 65 20 6f 6e 6c 79 20 69 66 20 74 68 65 20 6f 75 74 70 75 74 2c 20 67 69 76 65 6e 0a 20 ense.only.if.the.output,.given..
4cda0 20 20 20 20 69 74 73 20 63 6f 6e 74 65 6e 74 2c 20 63 6f 6e 73 74 69 74 75 74 65 73 20 61 20 63 ....its.content,.constitutes.a.c
4cdc0 6f 76 65 72 65 64 20 77 6f 72 6b 2e 20 20 54 68 69 73 20 4c 69 63 65 6e 73 65 20 61 63 6b 6e 6f overed.work...This.License.ackno
4cde0 77 6c 65 64 67 65 73 0a 20 20 20 20 20 79 6f 75 72 20 72 69 67 68 74 73 20 6f 66 20 66 61 69 72 wledges......your.rights.of.fair
4ce00 20 75 73 65 20 6f 72 20 6f 74 68 65 72 20 65 71 75 69 76 61 6c 65 6e 74 2c 20 61 73 20 70 72 6f .use.or.other.equivalent,.as.pro
4ce20 76 69 64 65 64 20 62 79 0a 20 20 20 20 20 63 6f 70 79 72 69 67 68 74 20 6c 61 77 2e 0a 0a 20 20 vided.by......copyright.law.....
4ce40 20 20 20 59 6f 75 20 6d 61 79 20 6d 61 6b 65 2c 20 72 75 6e 20 61 6e 64 20 70 72 6f 70 61 67 61 ...You.may.make,.run.and.propaga
4ce60 74 65 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 73 20 74 68 61 74 20 79 6f 75 20 64 6f 20 6e 6f 74 te.covered.works.that.you.do.not
4ce80 0a 20 20 20 20 20 63 6f 6e 76 65 79 2c 20 77 69 74 68 6f 75 74 20 63 6f 6e 64 69 74 69 6f 6e 73 ......convey,.without.conditions
4cea0 20 73 6f 20 6c 6f 6e 67 20 61 73 20 79 6f 75 72 20 6c 69 63 65 6e 73 65 20 6f 74 68 65 72 77 69 .so.long.as.your.license.otherwi
4cec0 73 65 0a 20 20 20 20 20 72 65 6d 61 69 6e 73 20 69 6e 20 66 6f 72 63 65 2e 20 20 59 6f 75 20 6d se......remains.in.force...You.m
4cee0 61 79 20 63 6f 6e 76 65 79 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 73 20 74 6f 20 6f 74 68 65 72 ay.convey.covered.works.to.other
4cf00 73 20 66 6f 72 20 74 68 65 0a 20 20 20 20 20 73 6f 6c 65 20 70 75 72 70 6f 73 65 20 6f 66 20 68 s.for.the......sole.purpose.of.h
4cf20 61 76 69 6e 67 20 74 68 65 6d 20 6d 61 6b 65 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 73 20 65 78 aving.them.make.modifications.ex
4cf40 63 6c 75 73 69 76 65 6c 79 20 66 6f 72 20 79 6f 75 2c 0a 20 20 20 20 20 6f 72 20 70 72 6f 76 69 clusively.for.you,......or.provi
4cf60 64 65 20 79 6f 75 20 77 69 74 68 20 66 61 63 69 6c 69 74 69 65 73 20 66 6f 72 20 72 75 6e 6e 69 de.you.with.facilities.for.runni
4cf80 6e 67 20 74 68 6f 73 65 20 77 6f 72 6b 73 2c 20 70 72 6f 76 69 64 65 64 0a 20 20 20 20 20 74 68 ng.those.works,.provided......th
4cfa0 61 74 20 79 6f 75 20 63 6f 6d 70 6c 79 20 77 69 74 68 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 at.you.comply.with.the.terms.of.
4cfc0 74 68 69 73 20 4c 69 63 65 6e 73 65 20 69 6e 20 63 6f 6e 76 65 79 69 6e 67 20 61 6c 6c 0a 20 20 this.License.in.conveying.all...
4cfe0 20 20 20 6d 61 74 65 72 69 61 6c 20 66 6f 72 20 77 68 69 63 68 20 79 6f 75 20 64 6f 20 6e 6f 74 ...material.for.which.you.do.not
4d000 20 63 6f 6e 74 72 6f 6c 20 63 6f 70 79 72 69 67 68 74 2e 20 20 54 68 6f 73 65 20 74 68 75 73 20 .control.copyright...Those.thus.
4d020 6d 61 6b 69 6e 67 0a 20 20 20 20 20 6f 72 20 72 75 6e 6e 69 6e 67 20 74 68 65 20 63 6f 76 65 72 making......or.running.the.cover
4d040 65 64 20 77 6f 72 6b 73 20 66 6f 72 20 79 6f 75 20 6d 75 73 74 20 64 6f 20 73 6f 20 65 78 63 6c ed.works.for.you.must.do.so.excl
4d060 75 73 69 76 65 6c 79 20 6f 6e 20 79 6f 75 72 0a 20 20 20 20 20 62 65 68 61 6c 66 2c 20 75 6e 64 usively.on.your......behalf,.und
4d080 65 72 20 79 6f 75 72 20 64 69 72 65 63 74 69 6f 6e 20 61 6e 64 20 63 6f 6e 74 72 6f 6c 2c 20 6f er.your.direction.and.control,.o
4d0a0 6e 20 74 65 72 6d 73 20 74 68 61 74 20 70 72 6f 68 69 62 69 74 0a 20 20 20 20 20 74 68 65 6d 20 n.terms.that.prohibit......them.
4d0c0 66 72 6f 6d 20 6d 61 6b 69 6e 67 20 61 6e 79 20 63 6f 70 69 65 73 20 6f 66 20 79 6f 75 72 20 63 from.making.any.copies.of.your.c
4d0e0 6f 70 79 72 69 67 68 74 65 64 20 6d 61 74 65 72 69 61 6c 20 6f 75 74 73 69 64 65 0a 20 20 20 20 opyrighted.material.outside.....
4d100 20 74 68 65 69 72 20 72 65 6c 61 74 69 6f 6e 73 68 69 70 20 77 69 74 68 20 79 6f 75 2e 0a 0a 20 .their.relationship.with.you....
4d120 20 20 20 20 43 6f 6e 76 65 79 69 6e 67 20 75 6e 64 65 72 20 61 6e 79 20 6f 74 68 65 72 20 63 69 ....Conveying.under.any.other.ci
4d140 72 63 75 6d 73 74 61 6e 63 65 73 20 69 73 20 70 65 72 6d 69 74 74 65 64 20 73 6f 6c 65 6c 79 20 rcumstances.is.permitted.solely.
4d160 75 6e 64 65 72 0a 20 20 20 20 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 73 20 73 74 61 74 65 64 under......the.conditions.stated
4d180 20 62 65 6c 6f 77 2e 20 20 53 75 62 6c 69 63 65 6e 73 69 6e 67 20 69 73 20 6e 6f 74 20 61 6c 6c .below...Sublicensing.is.not.all
4d1a0 6f 77 65 64 3b 20 73 65 63 74 69 6f 6e 0a 20 20 20 20 20 31 30 20 6d 61 6b 65 73 20 69 74 20 75 owed;.section......10.makes.it.u
4d1c0 6e 6e 65 63 65 73 73 61 72 79 2e 0a 0a 20 20 33 2e 20 50 72 6f 74 65 63 74 69 6e 67 20 55 73 65 nnecessary.....3..Protecting.Use
4d1e0 72 73 e2 80 99 20 4c 65 67 61 6c 20 52 69 67 68 74 73 20 46 72 6f 6d 20 41 6e 74 69 2d 43 69 72 rs....Legal.Rights.From.Anti-Cir
4d200 63 75 6d 76 65 6e 74 69 6f 6e 20 4c 61 77 2e 0a 0a 20 20 20 20 20 4e 6f 20 63 6f 76 65 72 65 64 cumvention.Law........No.covered
4d220 20 77 6f 72 6b 20 73 68 61 6c 6c 20 62 65 20 64 65 65 6d 65 64 20 70 61 72 74 20 6f 66 20 61 6e .work.shall.be.deemed.part.of.an
4d240 20 65 66 66 65 63 74 69 76 65 20 74 65 63 68 6e 6f 6c 6f 67 69 63 61 6c 0a 20 20 20 20 20 6d 65 .effective.technological......me
4d260 61 73 75 72 65 20 75 6e 64 65 72 20 61 6e 79 20 61 70 70 6c 69 63 61 62 6c 65 20 6c 61 77 20 66 asure.under.any.applicable.law.f
4d280 75 6c 66 69 6c 6c 69 6e 67 20 6f 62 6c 69 67 61 74 69 6f 6e 73 20 75 6e 64 65 72 0a 20 20 20 20 ulfilling.obligations.under.....
4d2a0 20 61 72 74 69 63 6c 65 20 31 31 20 6f 66 20 74 68 65 20 57 49 50 4f 20 63 6f 70 79 72 69 67 68 .article.11.of.the.WIPO.copyrigh
4d2c0 74 20 74 72 65 61 74 79 20 61 64 6f 70 74 65 64 20 6f 6e 20 32 30 20 44 65 63 65 6d 62 65 72 0a t.treaty.adopted.on.20.December.
4d2e0 20 20 20 20 20 31 39 39 36 2c 20 6f 72 20 73 69 6d 69 6c 61 72 20 6c 61 77 73 20 70 72 6f 68 69 .....1996,.or.similar.laws.prohi
4d300 62 69 74 69 6e 67 20 6f 72 20 72 65 73 74 72 69 63 74 69 6e 67 20 63 69 72 63 75 6d 76 65 6e 74 biting.or.restricting.circumvent
4d320 69 6f 6e 20 6f 66 0a 20 20 20 20 20 73 75 63 68 20 6d 65 61 73 75 72 65 73 2e 0a 0a 20 20 20 20 ion.of......such.measures.......
4d340 20 57 68 65 6e 20 79 6f 75 20 63 6f 6e 76 65 79 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c .When.you.convey.a.covered.work,
4d360 20 79 6f 75 20 77 61 69 76 65 20 61 6e 79 20 6c 65 67 61 6c 20 70 6f 77 65 72 20 74 6f 20 66 6f .you.waive.any.legal.power.to.fo
4d380 72 62 69 64 0a 20 20 20 20 20 63 69 72 63 75 6d 76 65 6e 74 69 6f 6e 20 6f 66 20 74 65 63 68 6e rbid......circumvention.of.techn
4d3a0 6f 6c 6f 67 69 63 61 6c 20 6d 65 61 73 75 72 65 73 20 74 6f 20 74 68 65 20 65 78 74 65 6e 74 20 ological.measures.to.the.extent.
4d3c0 73 75 63 68 0a 20 20 20 20 20 63 69 72 63 75 6d 76 65 6e 74 69 6f 6e 20 69 73 20 65 66 66 65 63 such......circumvention.is.effec
4d3e0 74 65 64 20 62 79 20 65 78 65 72 63 69 73 69 6e 67 20 72 69 67 68 74 73 20 75 6e 64 65 72 20 74 ted.by.exercising.rights.under.t
4d400 68 69 73 20 4c 69 63 65 6e 73 65 0a 20 20 20 20 20 77 69 74 68 20 72 65 73 70 65 63 74 20 74 6f his.License......with.respect.to
4d420 20 74 68 65 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 20 61 6e 64 20 79 6f 75 20 64 69 73 63 6c .the.covered.work,.and.you.discl
4d440 61 69 6d 20 61 6e 79 20 69 6e 74 65 6e 74 69 6f 6e 20 74 6f 0a 20 20 20 20 20 6c 69 6d 69 74 20 aim.any.intention.to......limit.
4d460 6f 70 65 72 61 74 69 6f 6e 20 6f 72 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 74 68 65 operation.or.modification.of.the
4d480 20 77 6f 72 6b 20 61 73 20 61 20 6d 65 61 6e 73 20 6f 66 0a 20 20 20 20 20 65 6e 66 6f 72 63 69 .work.as.a.means.of......enforci
4d4a0 6e 67 2c 20 61 67 61 69 6e 73 74 20 74 68 65 20 77 6f 72 6b e2 80 99 73 20 75 73 65 72 73 2c 20 ng,.against.the.work...s.users,.
4d4c0 79 6f 75 72 20 6f 72 20 74 68 69 72 64 20 70 61 72 74 69 65 73 e2 80 99 20 6c 65 67 61 6c 0a 20 your.or.third.parties....legal..
4d4e0 20 20 20 20 72 69 67 68 74 73 20 74 6f 20 66 6f 72 62 69 64 20 63 69 72 63 75 6d 76 65 6e 74 69 ....rights.to.forbid.circumventi
4d500 6f 6e 20 6f 66 20 74 65 63 68 6e 6f 6c 6f 67 69 63 61 6c 20 6d 65 61 73 75 72 65 73 2e 0a 0a 20 on.of.technological.measures....
4d520 20 34 2e 20 43 6f 6e 76 65 79 69 6e 67 20 56 65 72 62 61 74 69 6d 20 43 6f 70 69 65 73 2e 0a 0a .4..Conveying.Verbatim.Copies...
4d540 20 20 20 20 20 59 6f 75 20 6d 61 79 20 63 6f 6e 76 65 79 20 76 65 72 62 61 74 69 6d 20 63 6f 70 .....You.may.convey.verbatim.cop
4d560 69 65 73 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 6d e2 80 99 73 20 73 6f 75 72 63 65 20 63 6f ies.of.the.Program...s.source.co
4d580 64 65 20 61 73 20 79 6f 75 0a 20 20 20 20 20 72 65 63 65 69 76 65 20 69 74 2c 20 69 6e 20 61 6e de.as.you......receive.it,.in.an
4d5a0 79 20 6d 65 64 69 75 6d 2c 20 70 72 6f 76 69 64 65 64 20 74 68 61 74 20 79 6f 75 20 63 6f 6e 73 y.medium,.provided.that.you.cons
4d5c0 70 69 63 75 6f 75 73 6c 79 20 61 6e 64 0a 20 20 20 20 20 61 70 70 72 6f 70 72 69 61 74 65 6c 79 picuously.and......appropriately
4d5e0 20 70 75 62 6c 69 73 68 20 6f 6e 20 65 61 63 68 20 63 6f 70 79 20 61 6e 20 61 70 70 72 6f 70 72 .publish.on.each.copy.an.appropr
4d600 69 61 74 65 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 3b 0a 20 20 20 20 20 6b 65 65 70 iate.copyright.notice;......keep
4d620 20 69 6e 74 61 63 74 20 61 6c 6c 20 6e 6f 74 69 63 65 73 20 73 74 61 74 69 6e 67 20 74 68 61 74 .intact.all.notices.stating.that
4d640 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 61 6e 64 20 61 6e 79 0a 20 20 20 20 20 6e 6f 6e 2d 70 .this.License.and.any......non-p
4d660 65 72 6d 69 73 73 69 76 65 20 74 65 72 6d 73 20 61 64 64 65 64 20 69 6e 20 61 63 63 6f 72 64 20 ermissive.terms.added.in.accord.
4d680 77 69 74 68 20 73 65 63 74 69 6f 6e 20 37 20 61 70 70 6c 79 20 74 6f 20 74 68 65 0a 20 20 20 20 with.section.7.apply.to.the.....
4d6a0 20 63 6f 64 65 3b 20 6b 65 65 70 20 69 6e 74 61 63 74 20 61 6c 6c 20 6e 6f 74 69 63 65 73 20 6f .code;.keep.intact.all.notices.o
4d6c0 66 20 74 68 65 20 61 62 73 65 6e 63 65 20 6f 66 20 61 6e 79 20 77 61 72 72 61 6e 74 79 3b 20 61 f.the.absence.of.any.warranty;.a
4d6e0 6e 64 0a 20 20 20 20 20 67 69 76 65 20 61 6c 6c 20 72 65 63 69 70 69 65 6e 74 73 20 61 20 63 6f nd......give.all.recipients.a.co
4d700 70 79 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 py.of.this.License.along.with.th
4d720 65 20 50 72 6f 67 72 61 6d 2e 0a 0a 20 20 20 20 20 59 6f 75 20 6d 61 79 20 63 68 61 72 67 65 20 e.Program........You.may.charge.
4d740 61 6e 79 20 70 72 69 63 65 20 6f 72 20 6e 6f 20 70 72 69 63 65 20 66 6f 72 20 65 61 63 68 20 63 any.price.or.no.price.for.each.c
4d760 6f 70 79 20 74 68 61 74 20 79 6f 75 20 63 6f 6e 76 65 79 2c 0a 20 20 20 20 20 61 6e 64 20 79 6f opy.that.you.convey,......and.yo
4d780 75 20 6d 61 79 20 6f 66 66 65 72 20 73 75 70 70 6f 72 74 20 6f 72 20 77 61 72 72 61 6e 74 79 20 u.may.offer.support.or.warranty.
4d7a0 70 72 6f 74 65 63 74 69 6f 6e 20 66 6f 72 20 61 20 66 65 65 2e 0a 0a 20 20 35 2e 20 43 6f 6e 76 protection.for.a.fee.....5..Conv
4d7c0 65 79 69 6e 67 20 4d 6f 64 69 66 69 65 64 20 53 6f 75 72 63 65 20 56 65 72 73 69 6f 6e 73 2e 0a eying.Modified.Source.Versions..
4d7e0 0a 20 20 20 20 20 59 6f 75 20 6d 61 79 20 63 6f 6e 76 65 79 20 61 20 77 6f 72 6b 20 62 61 73 65 ......You.may.convey.a.work.base
4d800 64 20 6f 6e 20 74 68 65 20 50 72 6f 67 72 61 6d 2c 20 6f 72 20 74 68 65 20 6d 6f 64 69 66 69 63 d.on.the.Program,.or.the.modific
4d820 61 74 69 6f 6e 73 20 74 6f 0a 20 20 20 20 20 70 72 6f 64 75 63 65 20 69 74 20 66 72 6f 6d 20 74 ations.to......produce.it.from.t
4d840 68 65 20 50 72 6f 67 72 61 6d 2c 20 69 6e 20 74 68 65 20 66 6f 72 6d 20 6f 66 20 73 6f 75 72 63 he.Program,.in.the.form.of.sourc
4d860 65 20 63 6f 64 65 20 75 6e 64 65 72 20 74 68 65 0a 20 20 20 20 20 74 65 72 6d 73 20 6f 66 20 73 e.code.under.the......terms.of.s
4d880 65 63 74 69 6f 6e 20 34 2c 20 70 72 6f 76 69 64 65 64 20 74 68 61 74 20 79 6f 75 20 61 6c 73 6f ection.4,.provided.that.you.also
4d8a0 20 6d 65 65 74 20 61 6c 6c 20 6f 66 20 74 68 65 73 65 0a 20 20 20 20 20 63 6f 6e 64 69 74 69 6f .meet.all.of.these......conditio
4d8c0 6e 73 3a 0a 0a 20 20 20 20 20 20 20 61 2e 20 54 68 65 20 77 6f 72 6b 20 6d 75 73 74 20 63 61 72 ns:.........a..The.work.must.car
4d8e0 72 79 20 70 72 6f 6d 69 6e 65 6e 74 20 6e 6f 74 69 63 65 73 20 73 74 61 74 69 6e 67 20 74 68 61 ry.prominent.notices.stating.tha
4d900 74 20 79 6f 75 0a 20 20 20 20 20 20 20 20 20 20 6d 6f 64 69 66 69 65 64 20 69 74 2c 20 61 6e 64 t.you...........modified.it,.and
4d920 20 67 69 76 69 6e 67 20 61 20 72 65 6c 65 76 61 6e 74 20 64 61 74 65 2e 0a 0a 20 20 20 20 20 20 .giving.a.relevant.date.........
4d940 20 62 2e 20 54 68 65 20 77 6f 72 6b 20 6d 75 73 74 20 63 61 72 72 79 20 70 72 6f 6d 69 6e 65 6e .b..The.work.must.carry.prominen
4d960 74 20 6e 6f 74 69 63 65 73 20 73 74 61 74 69 6e 67 20 74 68 61 74 20 69 74 20 69 73 0a 20 20 20 t.notices.stating.that.it.is....
4d980 20 20 20 20 20 20 20 72 65 6c 65 61 73 65 64 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e .......released.under.this.Licen
4d9a0 73 65 20 61 6e 64 20 61 6e 79 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 64 64 65 64 20 75 6e 64 65 se.and.any.conditions.added.unde
4d9c0 72 0a 20 20 20 20 20 20 20 20 20 20 73 65 63 74 69 6f 6e 20 37 2e 20 20 54 68 69 73 20 72 65 71 r...........section.7...This.req
4d9e0 75 69 72 65 6d 65 6e 74 20 6d 6f 64 69 66 69 65 73 20 74 68 65 20 72 65 71 75 69 72 65 6d 65 6e uirement.modifies.the.requiremen
4da00 74 20 69 6e 0a 20 20 20 20 20 20 20 20 20 20 73 65 63 74 69 6f 6e 20 34 20 74 6f 20 e2 80 9c 6b t.in...........section.4.to....k
4da20 65 65 70 20 69 6e 74 61 63 74 20 61 6c 6c 20 6e 6f 74 69 63 65 73 e2 80 9d 2e 0a 0a 20 20 20 20 eep.intact.all.notices..........
4da40 20 20 20 63 2e 20 59 6f 75 20 6d 75 73 74 20 6c 69 63 65 6e 73 65 20 74 68 65 20 65 6e 74 69 72 ...c..You.must.license.the.entir
4da60 65 20 77 6f 72 6b 2c 20 61 73 20 61 20 77 68 6f 6c 65 2c 20 75 6e 64 65 72 20 74 68 69 73 0a 20 e.work,.as.a.whole,.under.this..
4da80 20 20 20 20 20 20 20 20 20 4c 69 63 65 6e 73 65 20 74 6f 20 61 6e 79 6f 6e 65 20 77 68 6f 20 63 .........License.to.anyone.who.c
4daa0 6f 6d 65 73 20 69 6e 74 6f 20 70 6f 73 73 65 73 73 69 6f 6e 20 6f 66 20 61 20 63 6f 70 79 2e 20 omes.into.possession.of.a.copy..
4dac0 20 54 68 69 73 0a 20 20 20 20 20 20 20 20 20 20 4c 69 63 65 6e 73 65 20 77 69 6c 6c 20 74 68 65 .This...........License.will.the
4dae0 72 65 66 6f 72 65 20 61 70 70 6c 79 2c 20 61 6c 6f 6e 67 20 77 69 74 68 20 61 6e 79 20 61 70 70 refore.apply,.along.with.any.app
4db00 6c 69 63 61 62 6c 65 0a 20 20 20 20 20 20 20 20 20 20 73 65 63 74 69 6f 6e 20 37 20 61 64 64 69 licable...........section.7.addi
4db20 74 69 6f 6e 61 6c 20 74 65 72 6d 73 2c 20 74 6f 20 74 68 65 20 77 68 6f 6c 65 20 6f 66 20 74 68 tional.terms,.to.the.whole.of.th
4db40 65 20 77 6f 72 6b 2c 20 61 6e 64 20 61 6c 6c 0a 20 20 20 20 20 20 20 20 20 20 69 74 73 20 70 61 e.work,.and.all...........its.pa
4db60 72 74 73 2c 20 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 68 6f 77 20 74 68 65 79 20 61 72 65 20 rts,.regardless.of.how.they.are.
4db80 70 61 63 6b 61 67 65 64 2e 20 20 54 68 69 73 20 4c 69 63 65 6e 73 65 0a 20 20 20 20 20 20 20 20 packaged...This.License.........
4dba0 20 20 67 69 76 65 73 20 6e 6f 20 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 6c 69 63 65 6e 73 65 ..gives.no.permission.to.license
4dbc0 20 74 68 65 20 77 6f 72 6b 20 69 6e 20 61 6e 79 20 6f 74 68 65 72 20 77 61 79 2c 20 62 75 74 0a .the.work.in.any.other.way,.but.
4dbe0 20 20 20 20 20 20 20 20 20 20 69 74 20 64 6f 65 73 20 6e 6f 74 20 69 6e 76 61 6c 69 64 61 74 65 ..........it.does.not.invalidate
4dc00 20 73 75 63 68 20 70 65 72 6d 69 73 73 69 6f 6e 20 69 66 20 79 6f 75 20 68 61 76 65 20 73 65 70 .such.permission.if.you.have.sep
4dc20 61 72 61 74 65 6c 79 0a 20 20 20 20 20 20 20 20 20 20 72 65 63 65 69 76 65 64 20 69 74 2e 0a 0a arately...........received.it...
4dc40 20 20 20 20 20 20 20 64 2e 20 49 66 20 74 68 65 20 77 6f 72 6b 20 68 61 73 20 69 6e 74 65 72 61 .......d..If.the.work.has.intera
4dc60 63 74 69 76 65 20 75 73 65 72 20 69 6e 74 65 72 66 61 63 65 73 2c 20 65 61 63 68 20 6d 75 73 74 ctive.user.interfaces,.each.must
4dc80 20 64 69 73 70 6c 61 79 0a 20 20 20 20 20 20 20 20 20 20 41 70 70 72 6f 70 72 69 61 74 65 20 4c .display...........Appropriate.L
4dca0 65 67 61 6c 20 4e 6f 74 69 63 65 73 3b 20 68 6f 77 65 76 65 72 2c 20 69 66 20 74 68 65 20 50 72 egal.Notices;.however,.if.the.Pr
4dcc0 6f 67 72 61 6d 20 68 61 73 0a 20 20 20 20 20 20 20 20 20 20 69 6e 74 65 72 61 63 74 69 76 65 20 ogram.has...........interactive.
4dce0 69 6e 74 65 72 66 61 63 65 73 20 74 68 61 74 20 64 6f 20 6e 6f 74 20 64 69 73 70 6c 61 79 20 41 interfaces.that.do.not.display.A
4dd00 70 70 72 6f 70 72 69 61 74 65 20 4c 65 67 61 6c 0a 20 20 20 20 20 20 20 20 20 20 4e 6f 74 69 63 ppropriate.Legal...........Notic
4dd20 65 73 2c 20 79 6f 75 72 20 77 6f 72 6b 20 6e 65 65 64 20 6e 6f 74 20 6d 61 6b 65 20 74 68 65 6d es,.your.work.need.not.make.them
4dd40 20 64 6f 20 73 6f 2e 0a 0a 20 20 20 20 20 41 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 66 20 61 .do.so........A.compilation.of.a
4dd60 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 77 69 74 68 20 6f 74 68 65 72 20 73 65 70 61 72 61 74 .covered.work.with.other.separat
4dd80 65 20 61 6e 64 20 69 6e 64 65 70 65 6e 64 65 6e 74 0a 20 20 20 20 20 77 6f 72 6b 73 2c 20 77 68 e.and.independent......works,.wh
4dda0 69 63 68 20 61 72 65 20 6e 6f 74 20 62 79 20 74 68 65 69 72 20 6e 61 74 75 72 65 20 65 78 74 65 ich.are.not.by.their.nature.exte
4ddc0 6e 73 69 6f 6e 73 20 6f 66 20 74 68 65 20 63 6f 76 65 72 65 64 0a 20 20 20 20 20 77 6f 72 6b 2c nsions.of.the.covered......work,
4dde0 20 61 6e 64 20 77 68 69 63 68 20 61 72 65 20 6e 6f 74 20 63 6f 6d 62 69 6e 65 64 20 77 69 74 68 .and.which.are.not.combined.with
4de00 20 69 74 20 73 75 63 68 20 61 73 20 74 6f 20 66 6f 72 6d 20 61 20 6c 61 72 67 65 72 0a 20 20 20 .it.such.as.to.form.a.larger....
4de20 20 20 70 72 6f 67 72 61 6d 2c 20 69 6e 20 6f 72 20 6f 6e 20 61 20 76 6f 6c 75 6d 65 20 6f 66 20 ..program,.in.or.on.a.volume.of.
4de40 61 20 73 74 6f 72 61 67 65 20 6f 72 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 6d 65 64 69 75 6d a.storage.or.distribution.medium
4de60 2c 20 69 73 0a 20 20 20 20 20 63 61 6c 6c 65 64 20 61 6e 20 e2 80 9c 61 67 67 72 65 67 61 74 65 ,.is......called.an....aggregate
4de80 e2 80 9d 20 69 66 20 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 61 6e 64 20 69 74 73 20 72 ....if.the.compilation.and.its.r
4dea0 65 73 75 6c 74 69 6e 67 0a 20 20 20 20 20 63 6f 70 79 72 69 67 68 74 20 61 72 65 20 6e 6f 74 20 esulting......copyright.are.not.
4dec0 75 73 65 64 20 74 6f 20 6c 69 6d 69 74 20 74 68 65 20 61 63 63 65 73 73 20 6f 72 20 6c 65 67 61 used.to.limit.the.access.or.lega
4dee0 6c 20 72 69 67 68 74 73 20 6f 66 20 74 68 65 0a 20 20 20 20 20 63 6f 6d 70 69 6c 61 74 69 6f 6e l.rights.of.the......compilation
4df00 e2 80 99 73 20 75 73 65 72 73 20 62 65 79 6f 6e 64 20 77 68 61 74 20 74 68 65 20 69 6e 64 69 76 ...s.users.beyond.what.the.indiv
4df20 69 64 75 61 6c 20 77 6f 72 6b 73 20 70 65 72 6d 69 74 2e 0a 20 20 20 20 20 49 6e 63 6c 75 73 69 idual.works.permit.......Inclusi
4df40 6f 6e 20 6f 66 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 69 6e 20 61 6e 20 61 67 67 72 65 on.of.a.covered.work.in.an.aggre
4df60 67 61 74 65 20 64 6f 65 73 20 6e 6f 74 20 63 61 75 73 65 20 74 68 69 73 0a 20 20 20 20 20 4c 69 gate.does.not.cause.this......Li
4df80 63 65 6e 73 65 20 74 6f 20 61 70 70 6c 79 20 74 6f 20 74 68 65 20 6f 74 68 65 72 20 70 61 72 74 cense.to.apply.to.the.other.part
4dfa0 73 20 6f 66 20 74 68 65 20 61 67 67 72 65 67 61 74 65 2e 0a 0a 20 20 36 2e 20 43 6f 6e 76 65 79 s.of.the.aggregate.....6..Convey
4dfc0 69 6e 67 20 4e 6f 6e 2d 53 6f 75 72 63 65 20 46 6f 72 6d 73 2e 0a 0a 20 20 20 20 20 59 6f 75 20 ing.Non-Source.Forms........You.
4dfe0 6d 61 79 20 63 6f 6e 76 65 79 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 69 6e 20 6f 62 6a may.convey.a.covered.work.in.obj
4e000 65 63 74 20 63 6f 64 65 20 66 6f 72 6d 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 0a 20 20 ect.code.form.under.the.terms...
4e020 20 20 20 6f 66 20 73 65 63 74 69 6f 6e 73 20 34 20 61 6e 64 20 35 2c 20 70 72 6f 76 69 64 65 64 ...of.sections.4.and.5,.provided
4e040 20 74 68 61 74 20 79 6f 75 20 61 6c 73 6f 20 63 6f 6e 76 65 79 20 74 68 65 0a 20 20 20 20 20 6d .that.you.also.convey.the......m
4e060 61 63 68 69 6e 65 2d 72 65 61 64 61 62 6c 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f achine-readable.Corresponding.So
4e080 75 72 63 65 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 69 73 0a 20 20 20 urce.under.the.terms.of.this....
4e0a0 20 20 4c 69 63 65 6e 73 65 2c 20 69 6e 20 6f 6e 65 20 6f 66 20 74 68 65 73 65 20 77 61 79 73 3a ..License,.in.one.of.these.ways:
4e0c0 0a 0a 20 20 20 20 20 20 20 61 2e 20 43 6f 6e 76 65 79 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f .........a..Convey.the.object.co
4e0e0 64 65 20 69 6e 2c 20 6f 72 20 65 6d 62 6f 64 69 65 64 20 69 6e 2c 20 61 20 70 68 79 73 69 63 61 de.in,.or.embodied.in,.a.physica
4e100 6c 20 70 72 6f 64 75 63 74 0a 20 20 20 20 20 20 20 20 20 20 28 69 6e 63 6c 75 64 69 6e 67 20 61 l.product...........(including.a
4e120 20 70 68 79 73 69 63 61 6c 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 6d 65 64 69 75 6d 29 2c 20 .physical.distribution.medium),.
4e140 61 63 63 6f 6d 70 61 6e 69 65 64 20 62 79 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 43 6f 72 accompanied.by.the...........Cor
4e160 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 66 69 78 65 64 20 6f 6e 20 61 20 64 75 72 responding.Source.fixed.on.a.dur
4e180 61 62 6c 65 20 70 68 79 73 69 63 61 6c 20 6d 65 64 69 75 6d 0a 20 20 20 20 20 20 20 20 20 20 63 able.physical.medium...........c
4e1a0 75 73 74 6f 6d 61 72 69 6c 79 20 75 73 65 64 20 66 6f 72 20 73 6f 66 74 77 61 72 65 20 69 6e 74 ustomarily.used.for.software.int
4e1c0 65 72 63 68 61 6e 67 65 2e 0a 0a 20 20 20 20 20 20 20 62 2e 20 43 6f 6e 76 65 79 20 74 68 65 20 erchange..........b..Convey.the.
4e1e0 6f 62 6a 65 63 74 20 63 6f 64 65 20 69 6e 2c 20 6f 72 20 65 6d 62 6f 64 69 65 64 20 69 6e 2c 20 object.code.in,.or.embodied.in,.
4e200 61 20 70 68 79 73 69 63 61 6c 20 70 72 6f 64 75 63 74 0a 20 20 20 20 20 20 20 20 20 20 28 69 6e a.physical.product...........(in
4e220 63 6c 75 64 69 6e 67 20 61 20 70 68 79 73 69 63 61 6c 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 cluding.a.physical.distribution.
4e240 6d 65 64 69 75 6d 29 2c 20 61 63 63 6f 6d 70 61 6e 69 65 64 20 62 79 20 61 0a 20 20 20 20 20 20 medium),.accompanied.by.a.......
4e260 20 20 20 20 77 72 69 74 74 65 6e 20 6f 66 66 65 72 2c 20 76 61 6c 69 64 20 66 6f 72 20 61 74 20 ....written.offer,.valid.for.at.
4e280 6c 65 61 73 74 20 74 68 72 65 65 20 79 65 61 72 73 20 61 6e 64 20 76 61 6c 69 64 20 66 6f 72 20 least.three.years.and.valid.for.
4e2a0 61 73 0a 20 20 20 20 20 20 20 20 20 20 6c 6f 6e 67 20 61 73 20 79 6f 75 20 6f 66 66 65 72 20 73 as...........long.as.you.offer.s
4e2c0 70 61 72 65 20 70 61 72 74 73 20 6f 72 20 63 75 73 74 6f 6d 65 72 20 73 75 70 70 6f 72 74 20 66 pare.parts.or.customer.support.f
4e2e0 6f 72 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 20 20 70 72 6f 64 75 63 74 20 6d 6f 64 65 6c 2c or.that...........product.model,
4e300 20 74 6f 20 67 69 76 65 20 61 6e 79 6f 6e 65 20 77 68 6f 20 70 6f 73 73 65 73 73 65 73 20 74 68 .to.give.anyone.who.possesses.th
4e320 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 0a 20 20 20 20 20 20 20 20 20 20 65 69 74 68 65 72 20 28 e.object.code...........either.(
4e340 31 29 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 1).a.copy.of.the.Corresponding.S
4e360 6f 75 72 63 65 20 66 6f 72 20 61 6c 6c 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 73 6f 66 74 ource.for.all.the...........soft
4e380 77 61 72 65 20 69 6e 20 74 68 65 20 70 72 6f 64 75 63 74 20 74 68 61 74 20 69 73 20 63 6f 76 65 ware.in.the.product.that.is.cove
4e3a0 72 65 64 20 62 79 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 6f 6e 20 61 0a 20 20 20 20 20 20 red.by.this.License,.on.a.......
4e3c0 20 20 20 20 64 75 72 61 62 6c 65 20 70 68 79 73 69 63 61 6c 20 6d 65 64 69 75 6d 20 63 75 73 74 ....durable.physical.medium.cust
4e3e0 6f 6d 61 72 69 6c 79 20 75 73 65 64 20 66 6f 72 20 73 6f 66 74 77 61 72 65 0a 20 20 20 20 20 20 omarily.used.for.software.......
4e400 20 20 20 20 69 6e 74 65 72 63 68 61 6e 67 65 2c 20 66 6f 72 20 61 20 70 72 69 63 65 20 6e 6f 20 ....interchange,.for.a.price.no.
4e420 6d 6f 72 65 20 74 68 61 6e 20 79 6f 75 72 20 72 65 61 73 6f 6e 61 62 6c 65 20 63 6f 73 74 20 6f more.than.your.reasonable.cost.o
4e440 66 0a 20 20 20 20 20 20 20 20 20 20 70 68 79 73 69 63 61 6c 6c 79 20 70 65 72 66 6f 72 6d 69 6e f...........physically.performin
4e460 67 20 74 68 69 73 20 63 6f 6e 76 65 79 69 6e 67 20 6f 66 20 73 6f 75 72 63 65 2c 20 6f 72 20 28 g.this.conveying.of.source,.or.(
4e480 32 29 20 61 63 63 65 73 73 0a 20 20 20 20 20 20 20 20 20 20 74 6f 20 63 6f 70 79 20 74 68 65 20 2).access...........to.copy.the.
4e4a0 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 66 72 6f 6d 20 61 20 6e 65 74 77 Corresponding.Source.from.a.netw
4e4c0 6f 72 6b 20 73 65 72 76 65 72 20 61 74 20 6e 6f 0a 20 20 20 20 20 20 20 20 20 20 63 68 61 72 67 ork.server.at.no...........charg
4e4e0 65 2e 0a 0a 20 20 20 20 20 20 20 63 2e 20 43 6f 6e 76 65 79 20 69 6e 64 69 76 69 64 75 61 6c 20 e..........c..Convey.individual.
4e500 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 77 69 74 68 20 61 copies.of.the.object.code.with.a
4e520 20 63 6f 70 79 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 77 72 69 74 74 65 6e 20 6f .copy.of.the...........written.o
4e540 66 66 65 72 20 74 6f 20 70 72 6f 76 69 64 65 20 74 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e ffer.to.provide.the.Correspondin
4e560 67 20 53 6f 75 72 63 65 2e 20 20 54 68 69 73 0a 20 20 20 20 20 20 20 20 20 20 61 6c 74 65 72 6e g.Source...This...........altern
4e580 61 74 69 76 65 20 69 73 20 61 6c 6c 6f 77 65 64 20 6f 6e 6c 79 20 6f 63 63 61 73 69 6f 6e 61 6c ative.is.allowed.only.occasional
4e5a0 6c 79 20 61 6e 64 20 6e 6f 6e 63 6f 6d 6d 65 72 63 69 61 6c 6c 79 2c 0a 20 20 20 20 20 20 20 20 ly.and.noncommercially,.........
4e5c0 20 20 61 6e 64 20 6f 6e 6c 79 20 69 66 20 79 6f 75 20 72 65 63 65 69 76 65 64 20 74 68 65 20 6f ..and.only.if.you.received.the.o
4e5e0 62 6a 65 63 74 20 63 6f 64 65 20 77 69 74 68 20 73 75 63 68 20 61 6e 20 6f 66 66 65 72 2c 0a 20 bject.code.with.such.an.offer,..
4e600 20 20 20 20 20 20 20 20 20 69 6e 20 61 63 63 6f 72 64 20 77 69 74 68 20 73 75 62 73 65 63 74 69 .........in.accord.with.subsecti
4e620 6f 6e 20 36 62 2e 0a 0a 20 20 20 20 20 20 20 64 2e 20 43 6f 6e 76 65 79 20 74 68 65 20 6f 62 6a on.6b..........d..Convey.the.obj
4e640 65 63 74 20 63 6f 64 65 20 62 79 20 6f 66 66 65 72 69 6e 67 20 61 63 63 65 73 73 20 66 72 6f 6d ect.code.by.offering.access.from
4e660 20 61 20 64 65 73 69 67 6e 61 74 65 64 0a 20 20 20 20 20 20 20 20 20 20 70 6c 61 63 65 20 28 67 .a.designated...........place.(g
4e680 72 61 74 69 73 20 6f 72 20 66 6f 72 20 61 20 63 68 61 72 67 65 29 2c 20 61 6e 64 20 6f 66 66 65 ratis.or.for.a.charge),.and.offe
4e6a0 72 20 65 71 75 69 76 61 6c 65 6e 74 20 61 63 63 65 73 73 20 74 6f 0a 20 20 20 20 20 20 20 20 20 r.equivalent.access.to..........
4e6c0 20 74 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 69 6e 20 74 68 65 .the.Corresponding.Source.in.the
4e6e0 20 73 61 6d 65 20 77 61 79 20 74 68 72 6f 75 67 68 20 74 68 65 20 73 61 6d 65 0a 20 20 20 20 20 .same.way.through.the.same......
4e700 20 20 20 20 20 70 6c 61 63 65 20 61 74 20 6e 6f 20 66 75 72 74 68 65 72 20 63 68 61 72 67 65 2e .....place.at.no.further.charge.
4e720 20 20 59 6f 75 20 6e 65 65 64 20 6e 6f 74 20 72 65 71 75 69 72 65 20 72 65 63 69 70 69 65 6e 74 ..You.need.not.require.recipient
4e740 73 0a 20 20 20 20 20 20 20 20 20 20 74 6f 20 63 6f 70 79 20 74 68 65 20 43 6f 72 72 65 73 70 6f s...........to.copy.the.Correspo
4e760 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 65 20 6f 62 6a 65 nding.Source.along.with.the.obje
4e780 63 74 20 63 6f 64 65 2e 0a 20 20 20 20 20 20 20 20 20 20 49 66 20 74 68 65 20 70 6c 61 63 65 20 ct.code............If.the.place.
4e7a0 74 6f 20 63 6f 70 79 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 69 73 20 61 20 6e 65 74 to.copy.the.object.code.is.a.net
4e7c0 77 6f 72 6b 20 73 65 72 76 65 72 2c 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 43 6f 72 72 65 work.server,.the...........Corre
4e7e0 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 6d 61 79 20 62 65 20 6f 6e 20 61 20 64 69 66 66 sponding.Source.may.be.on.a.diff
4e800 65 72 65 6e 74 20 73 65 72 76 65 72 20 28 6f 70 65 72 61 74 65 64 20 62 79 0a 20 20 20 20 20 20 erent.server.(operated.by.......
4e820 20 20 20 20 79 6f 75 20 6f 72 20 61 20 74 68 69 72 64 20 70 61 72 74 79 29 20 74 68 61 74 20 73 ....you.or.a.third.party).that.s
4e840 75 70 70 6f 72 74 73 20 65 71 75 69 76 61 6c 65 6e 74 20 63 6f 70 79 69 6e 67 0a 20 20 20 20 20 upports.equivalent.copying......
4e860 20 20 20 20 20 66 61 63 69 6c 69 74 69 65 73 2c 20 70 72 6f 76 69 64 65 64 20 79 6f 75 20 6d 61 .....facilities,.provided.you.ma
4e880 69 6e 74 61 69 6e 20 63 6c 65 61 72 20 64 69 72 65 63 74 69 6f 6e 73 20 6e 65 78 74 20 74 6f 20 intain.clear.directions.next.to.
4e8a0 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 73 61 79 69 6e 67 the...........object.code.saying
4e8c0 20 77 68 65 72 65 20 74 6f 20 66 69 6e 64 20 74 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 .where.to.find.the.Corresponding
4e8e0 20 53 6f 75 72 63 65 2e 0a 20 20 20 20 20 20 20 20 20 20 52 65 67 61 72 64 6c 65 73 73 20 6f 66 .Source............Regardless.of
4e900 20 77 68 61 74 20 73 65 72 76 65 72 20 68 6f 73 74 73 20 74 68 65 20 43 6f 72 72 65 73 70 6f 6e .what.server.hosts.the.Correspon
4e920 64 69 6e 67 20 53 6f 75 72 63 65 2c 20 79 6f 75 0a 20 20 20 20 20 20 20 20 20 20 72 65 6d 61 69 ding.Source,.you...........remai
4e940 6e 20 6f 62 6c 69 67 61 74 65 64 20 74 6f 20 65 6e 73 75 72 65 20 74 68 61 74 20 69 74 20 69 73 n.obligated.to.ensure.that.it.is
4e960 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 61 73 20 6c 6f 6e 67 20 61 73 0a 20 20 20 20 20 20 .available.for.as.long.as.......
4e980 20 20 20 20 6e 65 65 64 65 64 20 74 6f 20 73 61 74 69 73 66 79 20 74 68 65 73 65 20 72 65 71 75 ....needed.to.satisfy.these.requ
4e9a0 69 72 65 6d 65 6e 74 73 2e 0a 0a 20 20 20 20 20 20 20 65 2e 20 43 6f 6e 76 65 79 20 74 68 65 20 irements..........e..Convey.the.
4e9c0 6f 62 6a 65 63 74 20 63 6f 64 65 20 75 73 69 6e 67 20 70 65 65 72 2d 74 6f 2d 70 65 65 72 20 74 object.code.using.peer-to-peer.t
4e9e0 72 61 6e 73 6d 69 73 73 69 6f 6e 2c 0a 20 20 20 20 20 20 20 20 20 20 70 72 6f 76 69 64 65 64 20 ransmission,...........provided.
4ea00 79 6f 75 20 69 6e 66 6f 72 6d 20 6f 74 68 65 72 20 70 65 65 72 73 20 77 68 65 72 65 20 74 68 65 you.inform.other.peers.where.the
4ea20 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 43 6f 72 72 65 .object.code.and...........Corre
4ea40 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 6f 66 20 74 68 65 20 77 6f 72 6b 20 61 72 65 20 sponding.Source.of.the.work.are.
4ea60 62 65 69 6e 67 20 6f 66 66 65 72 65 64 20 74 6f 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 67 being.offered.to.the...........g
4ea80 65 6e 65 72 61 6c 20 70 75 62 6c 69 63 20 61 74 20 6e 6f 20 63 68 61 72 67 65 20 75 6e 64 65 72 eneral.public.at.no.charge.under
4eaa0 20 73 75 62 73 65 63 74 69 6f 6e 20 36 64 2e 0a 0a 20 20 20 20 20 41 20 73 65 70 61 72 61 62 6c .subsection.6d........A.separabl
4eac0 65 20 70 6f 72 74 69 6f 6e 20 6f 66 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 2c 20 77 68 e.portion.of.the.object.code,.wh
4eae0 6f 73 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 69 73 0a 20 20 20 20 20 65 78 63 6c 75 64 65 64 ose.source.code.is......excluded
4eb00 20 66 72 6f 6d 20 74 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 61 .from.the.Corresponding.Source.a
4eb20 73 20 61 20 53 79 73 74 65 6d 20 4c 69 62 72 61 72 79 2c 20 6e 65 65 64 0a 20 20 20 20 20 6e 6f s.a.System.Library,.need......no
4eb40 74 20 62 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 63 6f 6e 76 65 79 69 6e 67 20 74 68 65 20 6f t.be.included.in.conveying.the.o
4eb60 62 6a 65 63 74 20 63 6f 64 65 20 77 6f 72 6b 2e 0a 0a 20 20 20 20 20 41 20 e2 80 9c 55 73 65 72 bject.code.work........A....User
4eb80 20 50 72 6f 64 75 63 74 e2 80 9d 20 69 73 20 65 69 74 68 65 72 20 28 31 29 20 61 20 e2 80 9c 63 .Product....is.either.(1).a....c
4eba0 6f 6e 73 75 6d 65 72 20 70 72 6f 64 75 63 74 e2 80 9d 2c 20 77 68 69 63 68 20 6d 65 61 6e 73 0a onsumer.product...,.which.means.
4ebc0 20 20 20 20 20 61 6e 79 20 74 61 6e 67 69 62 6c 65 20 70 65 72 73 6f 6e 61 6c 20 70 72 6f 70 65 .....any.tangible.personal.prope
4ebe0 72 74 79 20 77 68 69 63 68 20 69 73 20 6e 6f 72 6d 61 6c 6c 79 20 75 73 65 64 20 66 6f 72 20 70 rty.which.is.normally.used.for.p
4ec00 65 72 73 6f 6e 61 6c 2c 0a 20 20 20 20 20 66 61 6d 69 6c 79 2c 20 6f 72 20 68 6f 75 73 65 68 6f ersonal,......family,.or.househo
4ec20 6c 64 20 70 75 72 70 6f 73 65 73 2c 20 6f 72 20 28 32 29 20 61 6e 79 74 68 69 6e 67 20 64 65 73 ld.purposes,.or.(2).anything.des
4ec40 69 67 6e 65 64 20 6f 72 20 73 6f 6c 64 20 66 6f 72 0a 20 20 20 20 20 69 6e 63 6f 72 70 6f 72 61 igned.or.sold.for......incorpora
4ec60 74 69 6f 6e 20 69 6e 74 6f 20 61 20 64 77 65 6c 6c 69 6e 67 2e 20 20 49 6e 20 64 65 74 65 72 6d tion.into.a.dwelling...In.determ
4ec80 69 6e 69 6e 67 20 77 68 65 74 68 65 72 20 61 20 70 72 6f 64 75 63 74 20 69 73 0a 20 20 20 20 20 ining.whether.a.product.is......
4eca0 61 20 63 6f 6e 73 75 6d 65 72 20 70 72 6f 64 75 63 74 2c 20 64 6f 75 62 74 66 75 6c 20 63 61 73 a.consumer.product,.doubtful.cas
4ecc0 65 73 20 73 68 61 6c 6c 20 62 65 20 72 65 73 6f 6c 76 65 64 20 69 6e 20 66 61 76 6f 72 20 6f 66 es.shall.be.resolved.in.favor.of
4ece0 0a 20 20 20 20 20 63 6f 76 65 72 61 67 65 2e 20 20 46 6f 72 20 61 20 70 61 72 74 69 63 75 6c 61 ......coverage...For.a.particula
4ed00 72 20 70 72 6f 64 75 63 74 20 72 65 63 65 69 76 65 64 20 62 79 20 61 20 70 61 72 74 69 63 75 6c r.product.received.by.a.particul
4ed20 61 72 20 75 73 65 72 2c 0a 20 20 20 20 20 e2 80 9c 6e 6f 72 6d 61 6c 6c 79 20 75 73 65 64 e2 80 ar.user,.........normally.used..
4ed40 9d 20 72 65 66 65 72 73 20 74 6f 20 61 20 74 79 70 69 63 61 6c 20 6f 72 20 63 6f 6d 6d 6f 6e 20 ..refers.to.a.typical.or.common.
4ed60 75 73 65 20 6f 66 20 74 68 61 74 20 63 6c 61 73 73 20 6f 66 0a 20 20 20 20 20 70 72 6f 64 75 63 use.of.that.class.of......produc
4ed80 74 2c 20 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 74 68 65 20 73 74 61 74 75 73 20 6f 66 20 74 t,.regardless.of.the.status.of.t
4eda0 68 65 20 70 61 72 74 69 63 75 6c 61 72 20 75 73 65 72 20 6f 72 20 6f 66 20 74 68 65 0a 20 20 20 he.particular.user.or.of.the....
4edc0 20 20 77 61 79 20 69 6e 20 77 68 69 63 68 20 74 68 65 20 70 61 72 74 69 63 75 6c 61 72 20 75 73 ..way.in.which.the.particular.us
4ede0 65 72 20 61 63 74 75 61 6c 6c 79 20 75 73 65 73 2c 20 6f 72 20 65 78 70 65 63 74 73 20 6f 72 20 er.actually.uses,.or.expects.or.
4ee00 69 73 0a 20 20 20 20 20 65 78 70 65 63 74 65 64 20 74 6f 20 75 73 65 2c 20 74 68 65 20 70 72 6f is......expected.to.use,.the.pro
4ee20 64 75 63 74 2e 20 20 41 20 70 72 6f 64 75 63 74 20 69 73 20 61 20 63 6f 6e 73 75 6d 65 72 20 70 duct...A.product.is.a.consumer.p
4ee40 72 6f 64 75 63 74 0a 20 20 20 20 20 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 77 68 65 74 68 65 roduct......regardless.of.whethe
4ee60 72 20 74 68 65 20 70 72 6f 64 75 63 74 20 68 61 73 20 73 75 62 73 74 61 6e 74 69 61 6c 20 63 6f r.the.product.has.substantial.co
4ee80 6d 6d 65 72 63 69 61 6c 2c 0a 20 20 20 20 20 69 6e 64 75 73 74 72 69 61 6c 20 6f 72 20 6e 6f 6e mmercial,......industrial.or.non
4eea0 2d 63 6f 6e 73 75 6d 65 72 20 75 73 65 73 2c 20 75 6e 6c 65 73 73 20 73 75 63 68 20 75 73 65 73 -consumer.uses,.unless.such.uses
4eec0 20 72 65 70 72 65 73 65 6e 74 20 74 68 65 0a 20 20 20 20 20 6f 6e 6c 79 20 73 69 67 6e 69 66 69 .represent.the......only.signifi
4eee0 63 61 6e 74 20 6d 6f 64 65 20 6f 66 20 75 73 65 20 6f 66 20 74 68 65 20 70 72 6f 64 75 63 74 2e cant.mode.of.use.of.the.product.
4ef00 0a 0a 20 20 20 20 20 e2 80 9c 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 49 6e 66 6f 72 6d 61 74 69 ..........Installation.Informati
4ef20 6f 6e e2 80 9d 20 66 6f 72 20 61 20 55 73 65 72 20 50 72 6f 64 75 63 74 20 6d 65 61 6e 73 20 61 on....for.a.User.Product.means.a
4ef40 6e 79 20 6d 65 74 68 6f 64 73 2c 0a 20 20 20 20 20 70 72 6f 63 65 64 75 72 65 73 2c 20 61 75 74 ny.methods,......procedures,.aut
4ef60 68 6f 72 69 7a 61 74 69 6f 6e 20 6b 65 79 73 2c 20 6f 72 20 6f 74 68 65 72 20 69 6e 66 6f 72 6d horization.keys,.or.other.inform
4ef80 61 74 69 6f 6e 20 72 65 71 75 69 72 65 64 20 74 6f 0a 20 20 20 20 20 69 6e 73 74 61 6c 6c 20 61 ation.required.to......install.a
4efa0 6e 64 20 65 78 65 63 75 74 65 20 6d 6f 64 69 66 69 65 64 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 nd.execute.modified.versions.of.
4efc0 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 69 6e 20 74 68 61 74 0a 20 20 20 20 20 55 73 65 72 a.covered.work.in.that......User
4efe0 20 50 72 6f 64 75 63 74 20 66 72 6f 6d 20 61 20 6d 6f 64 69 66 69 65 64 20 76 65 72 73 69 6f 6e .Product.from.a.modified.version
4f000 20 6f 66 20 69 74 73 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 2e 0a 20 20 .of.its.Corresponding.Source....
4f020 20 20 20 54 68 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6d 75 73 74 20 73 75 66 66 69 63 65 20 ...The.information.must.suffice.
4f040 74 6f 20 65 6e 73 75 72 65 20 74 68 61 74 20 74 68 65 20 63 6f 6e 74 69 6e 75 65 64 0a 20 20 20 to.ensure.that.the.continued....
4f060 20 20 66 75 6e 63 74 69 6f 6e 69 6e 67 20 6f 66 20 74 68 65 20 6d 6f 64 69 66 69 65 64 20 6f 62 ..functioning.of.the.modified.ob
4f080 6a 65 63 74 20 63 6f 64 65 20 69 73 20 69 6e 20 6e 6f 20 63 61 73 65 20 70 72 65 76 65 6e 74 65 ject.code.is.in.no.case.prevente
4f0a0 64 20 6f 72 0a 20 20 20 20 20 69 6e 74 65 72 66 65 72 65 64 20 77 69 74 68 20 73 6f 6c 65 6c 79 d.or......interfered.with.solely
4f0c0 20 62 65 63 61 75 73 65 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 68 61 73 20 62 65 65 6e 20 6d .because.modification.has.been.m
4f0e0 61 64 65 2e 0a 0a 20 20 20 20 20 49 66 20 79 6f 75 20 63 6f 6e 76 65 79 20 61 6e 20 6f 62 6a 65 ade........If.you.convey.an.obje
4f100 63 74 20 63 6f 64 65 20 77 6f 72 6b 20 75 6e 64 65 72 20 74 68 69 73 20 73 65 63 74 69 6f 6e 20 ct.code.work.under.this.section.
4f120 69 6e 2c 20 6f 72 20 77 69 74 68 2c 0a 20 20 20 20 20 6f 72 20 73 70 65 63 69 66 69 63 61 6c 6c in,.or.with,......or.specificall
4f140 79 20 66 6f 72 20 75 73 65 20 69 6e 2c 20 61 20 55 73 65 72 20 50 72 6f 64 75 63 74 2c 20 61 6e y.for.use.in,.a.User.Product,.an
4f160 64 20 74 68 65 20 63 6f 6e 76 65 79 69 6e 67 0a 20 20 20 20 20 6f 63 63 75 72 73 20 61 73 20 70 d.the.conveying......occurs.as.p
4f180 61 72 74 20 6f 66 20 61 20 74 72 61 6e 73 61 63 74 69 6f 6e 20 69 6e 20 77 68 69 63 68 20 74 68 art.of.a.transaction.in.which.th
4f1a0 65 20 72 69 67 68 74 20 6f 66 20 70 6f 73 73 65 73 73 69 6f 6e 0a 20 20 20 20 20 61 6e 64 20 75 e.right.of.possession......and.u
4f1c0 73 65 20 6f 66 20 74 68 65 20 55 73 65 72 20 50 72 6f 64 75 63 74 20 69 73 20 74 72 61 6e 73 66 se.of.the.User.Product.is.transf
4f1e0 65 72 72 65 64 20 74 6f 20 74 68 65 20 72 65 63 69 70 69 65 6e 74 20 69 6e 0a 20 20 20 20 20 70 erred.to.the.recipient.in......p
4f200 65 72 70 65 74 75 69 74 79 20 6f 72 20 66 6f 72 20 61 20 66 69 78 65 64 20 74 65 72 6d 20 28 72 erpetuity.or.for.a.fixed.term.(r
4f220 65 67 61 72 64 6c 65 73 73 20 6f 66 20 68 6f 77 20 74 68 65 20 74 72 61 6e 73 61 63 74 69 6f 6e egardless.of.how.the.transaction
4f240 0a 20 20 20 20 20 69 73 20 63 68 61 72 61 63 74 65 72 69 7a 65 64 29 2c 20 74 68 65 20 43 6f 72 ......is.characterized),.the.Cor
4f260 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 63 6f 6e 76 65 79 65 64 20 75 6e 64 65 72 responding.Source.conveyed.under
4f280 20 74 68 69 73 0a 20 20 20 20 20 73 65 63 74 69 6f 6e 20 6d 75 73 74 20 62 65 20 61 63 63 6f 6d .this......section.must.be.accom
4f2a0 70 61 6e 69 65 64 20 62 79 20 74 68 65 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 49 6e 66 6f 72 panied.by.the.Installation.Infor
4f2c0 6d 61 74 69 6f 6e 2e 20 20 42 75 74 0a 20 20 20 20 20 74 68 69 73 20 72 65 71 75 69 72 65 6d 65 mation...But......this.requireme
4f2e0 6e 74 20 64 6f 65 73 20 6e 6f 74 20 61 70 70 6c 79 20 69 66 20 6e 65 69 74 68 65 72 20 79 6f 75 nt.does.not.apply.if.neither.you
4f300 20 6e 6f 72 20 61 6e 79 20 74 68 69 72 64 20 70 61 72 74 79 0a 20 20 20 20 20 72 65 74 61 69 6e .nor.any.third.party......retain
4f320 73 20 74 68 65 20 61 62 69 6c 69 74 79 20 74 6f 20 69 6e 73 74 61 6c 6c 20 6d 6f 64 69 66 69 65 s.the.ability.to.install.modifie
4f340 64 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 6f 6e 20 74 68 65 20 55 73 65 72 0a 20 20 20 20 20 50 d.object.code.on.the.User......P
4f360 72 6f 64 75 63 74 20 28 66 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 77 6f 72 6b 20 68 61 roduct.(for.example,.the.work.ha
4f380 73 20 62 65 65 6e 20 69 6e 73 74 61 6c 6c 65 64 20 69 6e 20 52 4f 4d 29 2e 0a 0a 20 20 20 20 20 s.been.installed.in.ROM)........
4f3a0 54 68 65 20 72 65 71 75 69 72 65 6d 65 6e 74 20 74 6f 20 70 72 6f 76 69 64 65 20 49 6e 73 74 61 The.requirement.to.provide.Insta
4f3c0 6c 6c 61 74 69 6f 6e 20 49 6e 66 6f 72 6d 61 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 0a 20 20 20 llation.Information.does.not....
4f3e0 20 20 69 6e 63 6c 75 64 65 20 61 20 72 65 71 75 69 72 65 6d 65 6e 74 20 74 6f 20 63 6f 6e 74 69 ..include.a.requirement.to.conti
4f400 6e 75 65 20 74 6f 20 70 72 6f 76 69 64 65 20 73 75 70 70 6f 72 74 20 73 65 72 76 69 63 65 2c 0a nue.to.provide.support.service,.
4f420 20 20 20 20 20 77 61 72 72 61 6e 74 79 2c 20 6f 72 20 75 70 64 61 74 65 73 20 66 6f 72 20 61 20 .....warranty,.or.updates.for.a.
4f440 77 6f 72 6b 20 74 68 61 74 20 68 61 73 20 62 65 65 6e 20 6d 6f 64 69 66 69 65 64 20 6f 72 20 69 work.that.has.been.modified.or.i
4f460 6e 73 74 61 6c 6c 65 64 0a 20 20 20 20 20 62 79 20 74 68 65 20 72 65 63 69 70 69 65 6e 74 2c 20 nstalled......by.the.recipient,.
4f480 6f 72 20 66 6f 72 20 74 68 65 20 55 73 65 72 20 50 72 6f 64 75 63 74 20 69 6e 20 77 68 69 63 68 or.for.the.User.Product.in.which
4f4a0 20 69 74 20 68 61 73 20 62 65 65 6e 0a 20 20 20 20 20 6d 6f 64 69 66 69 65 64 20 6f 72 20 69 6e .it.has.been......modified.or.in
4f4c0 73 74 61 6c 6c 65 64 2e 20 20 41 63 63 65 73 73 20 74 6f 20 61 20 6e 65 74 77 6f 72 6b 20 6d 61 stalled...Access.to.a.network.ma
4f4e0 79 20 62 65 20 64 65 6e 69 65 64 20 77 68 65 6e 20 74 68 65 0a 20 20 20 20 20 6d 6f 64 69 66 69 y.be.denied.when.the......modifi
4f500 63 61 74 69 6f 6e 20 69 74 73 65 6c 66 20 6d 61 74 65 72 69 61 6c 6c 79 20 61 6e 64 20 61 64 76 cation.itself.materially.and.adv
4f520 65 72 73 65 6c 79 20 61 66 66 65 63 74 73 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 0a 20 20 20 ersely.affects.the.operation....
4f540 20 20 6f 66 20 74 68 65 20 6e 65 74 77 6f 72 6b 20 6f 72 20 76 69 6f 6c 61 74 65 73 20 74 68 65 ..of.the.network.or.violates.the
4f560 20 72 75 6c 65 73 20 61 6e 64 20 70 72 6f 74 6f 63 6f 6c 73 20 66 6f 72 0a 20 20 20 20 20 63 6f .rules.and.protocols.for......co
4f580 6d 6d 75 6e 69 63 61 74 69 6f 6e 20 61 63 72 6f 73 73 20 74 68 65 20 6e 65 74 77 6f 72 6b 2e 0a mmunication.across.the.network..
4f5a0 0a 20 20 20 20 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 63 6f 6e 76 65 ......Corresponding.Source.conve
4f5c0 79 65 64 2c 20 61 6e 64 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 49 6e 66 6f 72 6d 61 74 69 6f yed,.and.Installation.Informatio
4f5e0 6e 0a 20 20 20 20 20 70 72 6f 76 69 64 65 64 2c 20 69 6e 20 61 63 63 6f 72 64 20 77 69 74 68 20 n......provided,.in.accord.with.
4f600 74 68 69 73 20 73 65 63 74 69 6f 6e 20 6d 75 73 74 20 62 65 20 69 6e 20 61 20 66 6f 72 6d 61 74 this.section.must.be.in.a.format
4f620 20 74 68 61 74 20 69 73 0a 20 20 20 20 20 70 75 62 6c 69 63 6c 79 20 64 6f 63 75 6d 65 6e 74 65 .that.is......publicly.documente
4f640 64 20 28 61 6e 64 20 77 69 74 68 20 61 6e 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 61 76 d.(and.with.an.implementation.av
4f660 61 69 6c 61 62 6c 65 20 74 6f 20 74 68 65 0a 20 20 20 20 20 70 75 62 6c 69 63 20 69 6e 20 73 6f ailable.to.the......public.in.so
4f680 75 72 63 65 20 63 6f 64 65 20 66 6f 72 6d 29 2c 20 61 6e 64 20 6d 75 73 74 20 72 65 71 75 69 72 urce.code.form),.and.must.requir
4f6a0 65 20 6e 6f 20 73 70 65 63 69 61 6c 20 70 61 73 73 77 6f 72 64 0a 20 20 20 20 20 6f 72 20 6b 65 e.no.special.password......or.ke
4f6c0 79 20 66 6f 72 20 75 6e 70 61 63 6b 69 6e 67 2c 20 72 65 61 64 69 6e 67 20 6f 72 20 63 6f 70 79 y.for.unpacking,.reading.or.copy
4f6e0 69 6e 67 2e 0a 0a 20 20 37 2e 20 41 64 64 69 74 69 6f 6e 61 6c 20 54 65 72 6d 73 2e 0a 0a 20 20 ing.....7..Additional.Terms.....
4f700 20 20 20 e2 80 9c 41 64 64 69 74 69 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 e2 80 9d 20 ......Additional.permissions....
4f720 61 72 65 20 74 65 72 6d 73 20 74 68 61 74 20 73 75 70 70 6c 65 6d 65 6e 74 20 74 68 65 20 74 65 are.terms.that.supplement.the.te
4f740 72 6d 73 20 6f 66 0a 20 20 20 20 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 62 79 20 6d 61 6b 69 rms.of......this.License.by.maki
4f760 6e 67 20 65 78 63 65 70 74 69 6f 6e 73 20 66 72 6f 6d 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 6f ng.exceptions.from.one.or.more.o
4f780 66 20 69 74 73 0a 20 20 20 20 20 63 6f 6e 64 69 74 69 6f 6e 73 2e 20 20 41 64 64 69 74 69 6f 6e f.its......conditions...Addition
4f7a0 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 74 68 61 74 20 61 72 65 20 61 70 70 6c 69 63 61 62 al.permissions.that.are.applicab
4f7c0 6c 65 20 74 6f 20 74 68 65 0a 20 20 20 20 20 65 6e 74 69 72 65 20 50 72 6f 67 72 61 6d 20 73 68 le.to.the......entire.Program.sh
4f7e0 61 6c 6c 20 62 65 20 74 72 65 61 74 65 64 20 61 73 20 74 68 6f 75 67 68 20 74 68 65 79 20 77 65 all.be.treated.as.though.they.we
4f800 72 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 0a 20 20 20 20 20 74 68 69 73 20 4c 69 63 65 6e 73 65 re.included.in......this.License
4f820 2c 20 74 6f 20 74 68 65 20 65 78 74 65 6e 74 20 74 68 61 74 20 74 68 65 79 20 61 72 65 20 76 61 ,.to.the.extent.that.they.are.va
4f840 6c 69 64 20 75 6e 64 65 72 20 61 70 70 6c 69 63 61 62 6c 65 0a 20 20 20 20 20 6c 61 77 2e 20 20 lid.under.applicable......law...
4f860 49 66 20 61 64 64 69 74 69 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 61 70 70 6c 79 20 If.additional.permissions.apply.
4f880 6f 6e 6c 79 20 74 6f 20 70 61 72 74 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 6d 2c 0a 20 20 20 only.to.part.of.the.Program,....
4f8a0 20 20 74 68 61 74 20 70 61 72 74 20 6d 61 79 20 62 65 20 75 73 65 64 20 73 65 70 61 72 61 74 65 ..that.part.may.be.used.separate
4f8c0 6c 79 20 75 6e 64 65 72 20 74 68 6f 73 65 20 70 65 72 6d 69 73 73 69 6f 6e 73 2c 20 62 75 74 20 ly.under.those.permissions,.but.
4f8e0 74 68 65 0a 20 20 20 20 20 65 6e 74 69 72 65 20 50 72 6f 67 72 61 6d 20 72 65 6d 61 69 6e 73 20 the......entire.Program.remains.
4f900 67 6f 76 65 72 6e 65 64 20 62 79 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 77 69 74 68 6f 75 74 governed.by.this.License.without
4f920 20 72 65 67 61 72 64 20 74 6f 0a 20 20 20 20 20 74 68 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 70 .regard.to......the.additional.p
4f940 65 72 6d 69 73 73 69 6f 6e 73 2e 0a 0a 20 20 20 20 20 57 68 65 6e 20 79 6f 75 20 63 6f 6e 76 65 ermissions........When.you.conve
4f960 79 20 61 20 63 6f 70 79 20 6f 66 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 20 79 6f 75 20 y.a.copy.of.a.covered.work,.you.
4f980 6d 61 79 20 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 0a 20 20 20 20 20 72 65 6d 6f 76 65 20 61 may.at.your.option......remove.a
4f9a0 6e 79 20 61 64 64 69 74 69 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 66 72 6f 6d 20 74 ny.additional.permissions.from.t
4f9c0 68 61 74 20 63 6f 70 79 2c 20 6f 72 20 66 72 6f 6d 20 61 6e 79 20 70 61 72 74 0a 20 20 20 20 20 hat.copy,.or.from.any.part......
4f9e0 6f 66 20 69 74 2e 20 20 28 41 64 64 69 74 69 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 of.it...(Additional.permissions.
4fa00 6d 61 79 20 62 65 20 77 72 69 74 74 65 6e 20 74 6f 20 72 65 71 75 69 72 65 20 74 68 65 69 72 20 may.be.written.to.require.their.
4fa20 6f 77 6e 0a 20 20 20 20 20 72 65 6d 6f 76 61 6c 20 69 6e 20 63 65 72 74 61 69 6e 20 63 61 73 65 own......removal.in.certain.case
4fa40 73 20 77 68 65 6e 20 79 6f 75 20 6d 6f 64 69 66 79 20 74 68 65 20 77 6f 72 6b 2e 29 20 20 59 6f s.when.you.modify.the.work.)..Yo
4fa60 75 20 6d 61 79 20 70 6c 61 63 65 0a 20 20 20 20 20 61 64 64 69 74 69 6f 6e 61 6c 20 70 65 72 6d u.may.place......additional.perm
4fa80 69 73 73 69 6f 6e 73 20 6f 6e 20 6d 61 74 65 72 69 61 6c 2c 20 61 64 64 65 64 20 62 79 20 79 6f issions.on.material,.added.by.yo
4faa0 75 20 74 6f 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 0a 20 20 20 20 20 66 6f 72 20 77 68 u.to.a.covered.work,......for.wh
4fac0 69 63 68 20 79 6f 75 20 68 61 76 65 20 6f 72 20 63 61 6e 20 67 69 76 65 20 61 70 70 72 6f 70 72 ich.you.have.or.can.give.appropr
4fae0 69 61 74 65 20 63 6f 70 79 72 69 67 68 74 20 70 65 72 6d 69 73 73 69 6f 6e 2e 0a 0a 20 20 20 20 iate.copyright.permission.......
4fb00 20 4e 6f 74 77 69 74 68 73 74 61 6e 64 69 6e 67 20 61 6e 79 20 6f 74 68 65 72 20 70 72 6f 76 69 .Notwithstanding.any.other.provi
4fb20 73 69 6f 6e 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 66 6f 72 20 6d 61 74 65 72 69 sion.of.this.License,.for.materi
4fb40 61 6c 0a 20 20 20 20 20 79 6f 75 20 61 64 64 20 74 6f 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 al......you.add.to.a.covered.wor
4fb60 6b 2c 20 79 6f 75 20 6d 61 79 20 28 69 66 20 61 75 74 68 6f 72 69 7a 65 64 20 62 79 20 74 68 65 k,.you.may.(if.authorized.by.the
4fb80 20 63 6f 70 79 72 69 67 68 74 0a 20 20 20 20 20 68 6f 6c 64 65 72 73 20 6f 66 20 74 68 61 74 20 .copyright......holders.of.that.
4fba0 6d 61 74 65 72 69 61 6c 29 20 73 75 70 70 6c 65 6d 65 6e 74 20 74 68 65 20 74 65 72 6d 73 20 6f material).supplement.the.terms.o
4fbc0 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 77 69 74 68 0a 20 20 20 20 20 74 65 72 6d 73 3a 0a f.this.License.with......terms:.
4fbe0 0a 20 20 20 20 20 20 20 61 2e 20 44 69 73 63 6c 61 69 6d 69 6e 67 20 77 61 72 72 61 6e 74 79 20 ........a..Disclaiming.warranty.
4fc00 6f 72 20 6c 69 6d 69 74 69 6e 67 20 6c 69 61 62 69 6c 69 74 79 20 64 69 66 66 65 72 65 6e 74 6c or.limiting.liability.differentl
4fc20 79 20 66 72 6f 6d 0a 20 20 20 20 20 20 20 20 20 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 73 65 y.from...........the.terms.of.se
4fc40 63 74 69 6f 6e 73 20 31 35 20 61 6e 64 20 31 36 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 ctions.15.and.16.of.this.License
4fc60 3b 20 6f 72 0a 0a 20 20 20 20 20 20 20 62 2e 20 52 65 71 75 69 72 69 6e 67 20 70 72 65 73 65 72 ;.or.........b..Requiring.preser
4fc80 76 61 74 69 6f 6e 20 6f 66 20 73 70 65 63 69 66 69 65 64 20 72 65 61 73 6f 6e 61 62 6c 65 20 6c vation.of.specified.reasonable.l
4fca0 65 67 61 6c 20 6e 6f 74 69 63 65 73 0a 20 20 20 20 20 20 20 20 20 20 6f 72 20 61 75 74 68 6f 72 egal.notices...........or.author
4fcc0 20 61 74 74 72 69 62 75 74 69 6f 6e 73 20 69 6e 20 74 68 61 74 20 6d 61 74 65 72 69 61 6c 20 6f .attributions.in.that.material.o
4fce0 72 20 69 6e 20 74 68 65 20 41 70 70 72 6f 70 72 69 61 74 65 0a 20 20 20 20 20 20 20 20 20 20 4c r.in.the.Appropriate...........L
4fd00 65 67 61 6c 20 4e 6f 74 69 63 65 73 20 64 69 73 70 6c 61 79 65 64 20 62 79 20 77 6f 72 6b 73 20 egal.Notices.displayed.by.works.
4fd20 63 6f 6e 74 61 69 6e 69 6e 67 20 69 74 3b 20 6f 72 0a 0a 20 20 20 20 20 20 20 63 2e 20 50 72 6f containing.it;.or.........c..Pro
4fd40 68 69 62 69 74 69 6e 67 20 6d 69 73 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 74 68 hibiting.misrepresentation.of.th
4fd60 65 20 6f 72 69 67 69 6e 20 6f 66 20 74 68 61 74 20 6d 61 74 65 72 69 61 6c 2c 0a 20 20 20 20 20 e.origin.of.that.material,......
4fd80 20 20 20 20 20 6f 72 20 72 65 71 75 69 72 69 6e 67 20 74 68 61 74 20 6d 6f 64 69 66 69 65 64 20 .....or.requiring.that.modified.
4fda0 76 65 72 73 69 6f 6e 73 20 6f 66 20 73 75 63 68 20 6d 61 74 65 72 69 61 6c 20 62 65 20 6d 61 72 versions.of.such.material.be.mar
4fdc0 6b 65 64 0a 20 20 20 20 20 20 20 20 20 20 69 6e 20 72 65 61 73 6f 6e 61 62 6c 65 20 77 61 79 73 ked...........in.reasonable.ways
4fde0 20 61 73 20 64 69 66 66 65 72 65 6e 74 20 66 72 6f 6d 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 .as.different.from.the.original.
4fe00 76 65 72 73 69 6f 6e 3b 20 6f 72 0a 0a 20 20 20 20 20 20 20 64 2e 20 4c 69 6d 69 74 69 6e 67 20 version;.or.........d..Limiting.
4fe20 74 68 65 20 75 73 65 20 66 6f 72 20 70 75 62 6c 69 63 69 74 79 20 70 75 72 70 6f 73 65 73 20 6f the.use.for.publicity.purposes.o
4fe40 66 20 6e 61 6d 65 73 20 6f 66 20 6c 69 63 65 6e 73 6f 72 73 0a 20 20 20 20 20 20 20 20 20 20 6f f.names.of.licensors...........o
4fe60 72 20 61 75 74 68 6f 72 73 20 6f 66 20 74 68 65 20 6d 61 74 65 72 69 61 6c 3b 20 6f 72 0a 0a 20 r.authors.of.the.material;.or...
4fe80 20 20 20 20 20 20 65 2e 20 44 65 63 6c 69 6e 69 6e 67 20 74 6f 20 67 72 61 6e 74 20 72 69 67 68 ......e..Declining.to.grant.righ
4fea0 74 73 20 75 6e 64 65 72 20 74 72 61 64 65 6d 61 72 6b 20 6c 61 77 20 66 6f 72 20 75 73 65 20 6f ts.under.trademark.law.for.use.o
4fec0 66 20 73 6f 6d 65 0a 20 20 20 20 20 20 20 20 20 20 74 72 61 64 65 20 6e 61 6d 65 73 2c 20 74 72 f.some...........trade.names,.tr
4fee0 61 64 65 6d 61 72 6b 73 2c 20 6f 72 20 73 65 72 76 69 63 65 20 6d 61 72 6b 73 3b 20 6f 72 0a 0a ademarks,.or.service.marks;.or..
4ff00 20 20 20 20 20 20 20 66 2e 20 52 65 71 75 69 72 69 6e 67 20 69 6e 64 65 6d 6e 69 66 69 63 61 74 .......f..Requiring.indemnificat
4ff20 69 6f 6e 20 6f 66 20 6c 69 63 65 6e 73 6f 72 73 20 61 6e 64 20 61 75 74 68 6f 72 73 20 6f 66 20 ion.of.licensors.and.authors.of.
4ff40 74 68 61 74 0a 20 20 20 20 20 20 20 20 20 20 6d 61 74 65 72 69 61 6c 20 62 79 20 61 6e 79 6f 6e that...........material.by.anyon
4ff60 65 20 77 68 6f 20 63 6f 6e 76 65 79 73 20 74 68 65 20 6d 61 74 65 72 69 61 6c 20 28 6f 72 20 6d e.who.conveys.the.material.(or.m
4ff80 6f 64 69 66 69 65 64 0a 20 20 20 20 20 20 20 20 20 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 69 74 odified...........versions.of.it
4ffa0 29 20 77 69 74 68 20 63 6f 6e 74 72 61 63 74 75 61 6c 20 61 73 73 75 6d 70 74 69 6f 6e 73 20 6f ).with.contractual.assumptions.o
4ffc0 66 20 6c 69 61 62 69 6c 69 74 79 20 74 6f 0a 20 20 20 20 20 20 20 20 20 20 74 68 65 20 72 65 63 f.liability.to...........the.rec
4ffe0 69 70 69 65 6e 74 2c 20 66 6f 72 20 61 6e 79 20 6c 69 61 62 69 6c 69 74 79 20 74 68 61 74 20 74 ipient,.for.any.liability.that.t
50000 68 65 73 65 20 63 6f 6e 74 72 61 63 74 75 61 6c 0a 20 20 20 20 20 20 20 20 20 20 61 73 73 75 6d hese.contractual...........assum
50020 70 74 69 6f 6e 73 20 64 69 72 65 63 74 6c 79 20 69 6d 70 6f 73 65 20 6f 6e 20 74 68 6f 73 65 20 ptions.directly.impose.on.those.
50040 6c 69 63 65 6e 73 6f 72 73 20 61 6e 64 20 61 75 74 68 6f 72 73 2e 0a 0a 20 20 20 20 20 41 6c 6c licensors.and.authors........All
50060 20 6f 74 68 65 72 20 6e 6f 6e 2d 70 65 72 6d 69 73 73 69 76 65 20 61 64 64 69 74 69 6f 6e 61 6c .other.non-permissive.additional
50080 20 74 65 72 6d 73 20 61 72 65 20 63 6f 6e 73 69 64 65 72 65 64 20 e2 80 9c 66 75 72 74 68 65 72 .terms.are.considered....further
500a0 0a 20 20 20 20 20 72 65 73 74 72 69 63 74 69 6f 6e 73 e2 80 9d 20 77 69 74 68 69 6e 20 74 68 65 ......restrictions....within.the
500c0 20 6d 65 61 6e 69 6e 67 20 6f 66 20 73 65 63 74 69 6f 6e 20 31 30 2e 20 20 49 66 20 74 68 65 20 .meaning.of.section.10...If.the.
500e0 50 72 6f 67 72 61 6d 20 61 73 0a 20 20 20 20 20 79 6f 75 20 72 65 63 65 69 76 65 64 20 69 74 2c Program.as......you.received.it,
50100 20 6f 72 20 61 6e 79 20 70 61 72 74 20 6f 66 20 69 74 2c 20 63 6f 6e 74 61 69 6e 73 20 61 20 6e .or.any.part.of.it,.contains.a.n
50120 6f 74 69 63 65 20 73 74 61 74 69 6e 67 20 74 68 61 74 0a 20 20 20 20 20 69 74 20 69 73 20 67 6f otice.stating.that......it.is.go
50140 76 65 72 6e 65 64 20 62 79 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 61 6c 6f 6e 67 20 77 69 74 verned.by.this.License.along.wit
50160 68 20 61 20 74 65 72 6d 20 74 68 61 74 20 69 73 20 61 20 66 75 72 74 68 65 72 0a 20 20 20 20 20 h.a.term.that.is.a.further......
50180 72 65 73 74 72 69 63 74 69 6f 6e 2c 20 79 6f 75 20 6d 61 79 20 72 65 6d 6f 76 65 20 74 68 61 74 restriction,.you.may.remove.that
501a0 20 74 65 72 6d 2e 20 20 49 66 20 61 20 6c 69 63 65 6e 73 65 20 64 6f 63 75 6d 65 6e 74 0a 20 20 .term...If.a.license.document...
501c0 20 20 20 63 6f 6e 74 61 69 6e 73 20 61 20 66 75 72 74 68 65 72 20 72 65 73 74 72 69 63 74 69 6f ...contains.a.further.restrictio
501e0 6e 20 62 75 74 20 70 65 72 6d 69 74 73 20 72 65 6c 69 63 65 6e 73 69 6e 67 20 6f 72 20 63 6f 6e n.but.permits.relicensing.or.con
50200 76 65 79 69 6e 67 0a 20 20 20 20 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 veying......under.this.License,.
50220 79 6f 75 20 6d 61 79 20 61 64 64 20 74 6f 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 6d 61 you.may.add.to.a.covered.work.ma
50240 74 65 72 69 61 6c 20 67 6f 76 65 72 6e 65 64 0a 20 20 20 20 20 62 79 20 74 68 65 20 74 65 72 6d terial.governed......by.the.term
50260 73 20 6f 66 20 74 68 61 74 20 6c 69 63 65 6e 73 65 20 64 6f 63 75 6d 65 6e 74 2c 20 70 72 6f 76 s.of.that.license.document,.prov
50280 69 64 65 64 20 74 68 61 74 20 74 68 65 20 66 75 72 74 68 65 72 0a 20 20 20 20 20 72 65 73 74 72 ided.that.the.further......restr
502a0 69 63 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 73 75 72 76 69 76 65 20 73 75 63 68 20 72 65 6c iction.does.not.survive.such.rel
502c0 69 63 65 6e 73 69 6e 67 20 6f 72 20 63 6f 6e 76 65 79 69 6e 67 2e 0a 0a 20 20 20 20 20 49 66 20 icensing.or.conveying........If.
502e0 79 6f 75 20 61 64 64 20 74 65 72 6d 73 20 74 6f 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 you.add.terms.to.a.covered.work.
50300 69 6e 20 61 63 63 6f 72 64 20 77 69 74 68 20 74 68 69 73 20 73 65 63 74 69 6f 6e 2c 20 79 6f 75 in.accord.with.this.section,.you
50320 0a 20 20 20 20 20 6d 75 73 74 20 70 6c 61 63 65 2c 20 69 6e 20 74 68 65 20 72 65 6c 65 76 61 6e ......must.place,.in.the.relevan
50340 74 20 73 6f 75 72 63 65 20 66 69 6c 65 73 2c 20 61 20 73 74 61 74 65 6d 65 6e 74 20 6f 66 20 74 t.source.files,.a.statement.of.t
50360 68 65 0a 20 20 20 20 20 61 64 64 69 74 69 6f 6e 61 6c 20 74 65 72 6d 73 20 74 68 61 74 20 61 70 he......additional.terms.that.ap
50380 70 6c 79 20 74 6f 20 74 68 6f 73 65 20 66 69 6c 65 73 2c 20 6f 72 20 61 20 6e 6f 74 69 63 65 20 ply.to.those.files,.or.a.notice.
503a0 69 6e 64 69 63 61 74 69 6e 67 0a 20 20 20 20 20 77 68 65 72 65 20 74 6f 20 66 69 6e 64 20 74 68 indicating......where.to.find.th
503c0 65 20 61 70 70 6c 69 63 61 62 6c 65 20 74 65 72 6d 73 2e 0a 0a 20 20 20 20 20 41 64 64 69 74 69 e.applicable.terms........Additi
503e0 6f 6e 61 6c 20 74 65 72 6d 73 2c 20 70 65 72 6d 69 73 73 69 76 65 20 6f 72 20 6e 6f 6e 2d 70 65 onal.terms,.permissive.or.non-pe
50400 72 6d 69 73 73 69 76 65 2c 20 6d 61 79 20 62 65 20 73 74 61 74 65 64 20 69 6e 0a 20 20 20 20 20 rmissive,.may.be.stated.in......
50420 74 68 65 20 66 6f 72 6d 20 6f 66 20 61 20 73 65 70 61 72 61 74 65 6c 79 20 77 72 69 74 74 65 6e the.form.of.a.separately.written
50440 20 6c 69 63 65 6e 73 65 2c 20 6f 72 20 73 74 61 74 65 64 20 61 73 20 65 78 63 65 70 74 69 6f 6e .license,.or.stated.as.exception
50460 73 3b 0a 20 20 20 20 20 74 68 65 20 61 62 6f 76 65 20 72 65 71 75 69 72 65 6d 65 6e 74 73 20 61 s;......the.above.requirements.a
50480 70 70 6c 79 20 65 69 74 68 65 72 20 77 61 79 2e 0a 0a 20 20 38 2e 20 54 65 72 6d 69 6e 61 74 69 pply.either.way.....8..Terminati
504a0 6f 6e 2e 0a 0a 20 20 20 20 20 59 6f 75 20 6d 61 79 20 6e 6f 74 20 70 72 6f 70 61 67 61 74 65 20 on........You.may.not.propagate.
504c0 6f 72 20 6d 6f 64 69 66 79 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 65 78 63 65 70 74 20 or.modify.a.covered.work.except.
504e0 61 73 20 65 78 70 72 65 73 73 6c 79 0a 20 20 20 20 20 70 72 6f 76 69 64 65 64 20 75 6e 64 65 72 as.expressly......provided.under
50500 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 41 6e 79 20 61 74 74 65 6d 70 74 20 6f 74 68 65 .this.License...Any.attempt.othe
50520 72 77 69 73 65 20 74 6f 20 70 72 6f 70 61 67 61 74 65 20 6f 72 0a 20 20 20 20 20 6d 6f 64 69 66 rwise.to.propagate.or......modif
50540 79 20 69 74 20 69 73 20 76 6f 69 64 2c 20 61 6e 64 20 77 69 6c 6c 20 61 75 74 6f 6d 61 74 69 63 y.it.is.void,.and.will.automatic
50560 61 6c 6c 79 20 74 65 72 6d 69 6e 61 74 65 20 79 6f 75 72 20 72 69 67 68 74 73 0a 20 20 20 20 20 ally.terminate.your.rights......
50580 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 28 69 6e 63 6c 75 64 69 6e 67 20 61 6e under.this.License.(including.an
505a0 79 20 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 73 20 67 72 61 6e 74 65 64 20 75 6e 64 65 72 20 y.patent.licenses.granted.under.
505c0 74 68 65 0a 20 20 20 20 20 74 68 69 72 64 20 70 61 72 61 67 72 61 70 68 20 6f 66 20 73 65 63 74 the......third.paragraph.of.sect
505e0 69 6f 6e 20 31 31 29 2e 0a 0a 20 20 20 20 20 48 6f 77 65 76 65 72 2c 20 69 66 20 79 6f 75 20 63 ion.11)........However,.if.you.c
50600 65 61 73 65 20 61 6c 6c 20 76 69 6f 6c 61 74 69 6f 6e 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e ease.all.violation.of.this.Licen
50620 73 65 2c 20 74 68 65 6e 20 79 6f 75 72 0a 20 20 20 20 20 6c 69 63 65 6e 73 65 20 66 72 6f 6d 20 se,.then.your......license.from.
50640 61 20 70 61 72 74 69 63 75 6c 61 72 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 69 73 a.particular.copyright.holder.is
50660 20 72 65 69 6e 73 74 61 74 65 64 20 28 61 29 0a 20 20 20 20 20 70 72 6f 76 69 73 69 6f 6e 61 6c .reinstated.(a)......provisional
50680 6c 79 2c 20 75 6e 6c 65 73 73 20 61 6e 64 20 75 6e 74 69 6c 20 74 68 65 20 63 6f 70 79 72 69 67 ly,.unless.and.until.the.copyrig
506a0 68 74 20 68 6f 6c 64 65 72 20 65 78 70 6c 69 63 69 74 6c 79 20 61 6e 64 0a 20 20 20 20 20 66 69 ht.holder.explicitly.and......fi
506c0 6e 61 6c 6c 79 20 74 65 72 6d 69 6e 61 74 65 73 20 79 6f 75 72 20 6c 69 63 65 6e 73 65 2c 20 61 nally.terminates.your.license,.a
506e0 6e 64 20 28 62 29 20 70 65 72 6d 61 6e 65 6e 74 6c 79 2c 20 69 66 20 74 68 65 0a 20 20 20 20 20 nd.(b).permanently,.if.the......
50700 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 66 61 69 6c 73 20 74 6f 20 6e 6f 74 69 66 79 copyright.holder.fails.to.notify
50720 20 79 6f 75 20 6f 66 20 74 68 65 20 76 69 6f 6c 61 74 69 6f 6e 20 62 79 20 73 6f 6d 65 0a 20 20 .you.of.the.violation.by.some...
50740 20 20 20 72 65 61 73 6f 6e 61 62 6c 65 20 6d 65 61 6e 73 20 70 72 69 6f 72 20 74 6f 20 36 30 20 ...reasonable.means.prior.to.60.
50760 64 61 79 73 20 61 66 74 65 72 20 74 68 65 20 63 65 73 73 61 74 69 6f 6e 2e 0a 0a 20 20 20 20 20 days.after.the.cessation........
50780 4d 6f 72 65 6f 76 65 72 2c 20 79 6f 75 72 20 6c 69 63 65 6e 73 65 20 66 72 6f 6d 20 61 20 70 61 Moreover,.your.license.from.a.pa
507a0 72 74 69 63 75 6c 61 72 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 69 73 0a 20 20 20 rticular.copyright.holder.is....
507c0 20 20 72 65 69 6e 73 74 61 74 65 64 20 70 65 72 6d 61 6e 65 6e 74 6c 79 20 69 66 20 74 68 65 20 ..reinstated.permanently.if.the.
507e0 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 6e 6f 74 69 66 69 65 73 20 79 6f 75 20 6f 66 copyright.holder.notifies.you.of
50800 20 74 68 65 0a 20 20 20 20 20 76 69 6f 6c 61 74 69 6f 6e 20 62 79 20 73 6f 6d 65 20 72 65 61 73 .the......violation.by.some.reas
50820 6f 6e 61 62 6c 65 20 6d 65 61 6e 73 2c 20 74 68 69 73 20 69 73 20 74 68 65 20 66 69 72 73 74 20 onable.means,.this.is.the.first.
50840 74 69 6d 65 20 79 6f 75 20 68 61 76 65 0a 20 20 20 20 20 72 65 63 65 69 76 65 64 20 6e 6f 74 69 time.you.have......received.noti
50860 63 65 20 6f 66 20 76 69 6f 6c 61 74 69 6f 6e 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 ce.of.violation.of.this.License.
50880 28 66 6f 72 20 61 6e 79 20 77 6f 72 6b 29 20 66 72 6f 6d 0a 20 20 20 20 20 74 68 61 74 20 63 6f (for.any.work).from......that.co
508a0 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 2c 20 61 6e 64 20 79 6f 75 20 63 75 72 65 20 74 68 65 pyright.holder,.and.you.cure.the
508c0 20 76 69 6f 6c 61 74 69 6f 6e 20 70 72 69 6f 72 20 74 6f 20 33 30 20 64 61 79 73 0a 20 20 20 20 .violation.prior.to.30.days.....
508e0 20 61 66 74 65 72 20 79 6f 75 72 20 72 65 63 65 69 70 74 20 6f 66 20 74 68 65 20 6e 6f 74 69 63 .after.your.receipt.of.the.notic
50900 65 2e 0a 0a 20 20 20 20 20 54 65 72 6d 69 6e 61 74 69 6f 6e 20 6f 66 20 79 6f 75 72 20 72 69 67 e........Termination.of.your.rig
50920 68 74 73 20 75 6e 64 65 72 20 74 68 69 73 20 73 65 63 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 hts.under.this.section.does.not.
50940 74 65 72 6d 69 6e 61 74 65 0a 20 20 20 20 20 74 68 65 20 6c 69 63 65 6e 73 65 73 20 6f 66 20 70 terminate......the.licenses.of.p
50960 61 72 74 69 65 73 20 77 68 6f 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 63 6f 70 69 65 73 20 arties.who.have.received.copies.
50980 6f 72 20 72 69 67 68 74 73 20 66 72 6f 6d 20 79 6f 75 0a 20 20 20 20 20 75 6e 64 65 72 20 74 68 or.rights.from.you......under.th
509a0 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 49 66 20 79 6f 75 72 20 72 69 67 68 74 73 20 68 61 76 65 is.License...If.your.rights.have
509c0 20 62 65 65 6e 20 74 65 72 6d 69 6e 61 74 65 64 20 61 6e 64 20 6e 6f 74 0a 20 20 20 20 20 70 65 .been.terminated.and.not......pe
509e0 72 6d 61 6e 65 6e 74 6c 79 20 72 65 69 6e 73 74 61 74 65 64 2c 20 79 6f 75 20 64 6f 20 6e 6f 74 rmanently.reinstated,.you.do.not
50a00 20 71 75 61 6c 69 66 79 20 74 6f 20 72 65 63 65 69 76 65 20 6e 65 77 20 6c 69 63 65 6e 73 65 73 .qualify.to.receive.new.licenses
50a20 0a 20 20 20 20 20 66 6f 72 20 74 68 65 20 73 61 6d 65 20 6d 61 74 65 72 69 61 6c 20 75 6e 64 65 ......for.the.same.material.unde
50a40 72 20 73 65 63 74 69 6f 6e 20 31 30 2e 0a 0a 20 20 39 2e 20 41 63 63 65 70 74 61 6e 63 65 20 4e r.section.10.....9..Acceptance.N
50a60 6f 74 20 52 65 71 75 69 72 65 64 20 66 6f 72 20 48 61 76 69 6e 67 20 43 6f 70 69 65 73 2e 0a 0a ot.Required.for.Having.Copies...
50a80 20 20 20 20 20 59 6f 75 20 61 72 65 20 6e 6f 74 20 72 65 71 75 69 72 65 64 20 74 6f 20 61 63 63 .....You.are.not.required.to.acc
50aa0 65 70 74 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 72 65 63 ept.this.License.in.order.to.rec
50ac0 65 69 76 65 20 6f 72 0a 20 20 20 20 20 72 75 6e 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 50 eive.or......run.a.copy.of.the.P
50ae0 72 6f 67 72 61 6d 2e 20 20 41 6e 63 69 6c 6c 61 72 79 20 70 72 6f 70 61 67 61 74 69 6f 6e 20 6f rogram...Ancillary.propagation.o
50b00 66 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 0a 20 20 20 20 20 6f 63 63 75 72 72 69 6e 67 20 f.a.covered.work......occurring.
50b20 73 6f 6c 65 6c 79 20 61 73 20 61 20 63 6f 6e 73 65 71 75 65 6e 63 65 20 6f 66 20 75 73 69 6e 67 solely.as.a.consequence.of.using
50b40 20 70 65 65 72 2d 74 6f 2d 70 65 65 72 0a 20 20 20 20 20 74 72 61 6e 73 6d 69 73 73 69 6f 6e 20 .peer-to-peer......transmission.
50b60 74 6f 20 72 65 63 65 69 76 65 20 61 20 63 6f 70 79 20 6c 69 6b 65 77 69 73 65 20 64 6f 65 73 20 to.receive.a.copy.likewise.does.
50b80 6e 6f 74 20 72 65 71 75 69 72 65 0a 20 20 20 20 20 61 63 63 65 70 74 61 6e 63 65 2e 20 20 48 6f not.require......acceptance...Ho
50ba0 77 65 76 65 72 2c 20 6e 6f 74 68 69 6e 67 20 6f 74 68 65 72 20 74 68 61 6e 20 74 68 69 73 20 4c wever,.nothing.other.than.this.L
50bc0 69 63 65 6e 73 65 20 67 72 61 6e 74 73 20 79 6f 75 0a 20 20 20 20 20 70 65 72 6d 69 73 73 69 6f icense.grants.you......permissio
50be0 6e 20 74 6f 20 70 72 6f 70 61 67 61 74 65 20 6f 72 20 6d 6f 64 69 66 79 20 61 6e 79 20 63 6f 76 n.to.propagate.or.modify.any.cov
50c00 65 72 65 64 20 77 6f 72 6b 2e 20 20 54 68 65 73 65 20 61 63 74 69 6f 6e 73 0a 20 20 20 20 20 69 ered.work...These.actions......i
50c20 6e 66 72 69 6e 67 65 20 63 6f 70 79 72 69 67 68 74 20 69 66 20 79 6f 75 20 64 6f 20 6e 6f 74 20 nfringe.copyright.if.you.do.not.
50c40 61 63 63 65 70 74 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 54 68 65 72 65 66 6f 72 65 2c accept.this.License...Therefore,
50c60 0a 20 20 20 20 20 62 79 20 6d 6f 64 69 66 79 69 6e 67 20 6f 72 20 70 72 6f 70 61 67 61 74 69 6e ......by.modifying.or.propagatin
50c80 67 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 20 79 6f 75 20 69 6e 64 69 63 61 74 65 20 79 g.a.covered.work,.you.indicate.y
50ca0 6f 75 72 0a 20 20 20 20 20 61 63 63 65 70 74 61 6e 63 65 20 6f 66 20 74 68 69 73 20 4c 69 63 65 our......acceptance.of.this.Lice
50cc0 6e 73 65 20 74 6f 20 64 6f 20 73 6f 2e 0a 0a 20 20 31 30 2e 20 41 75 74 6f 6d 61 74 69 63 20 4c nse.to.do.so.....10..Automatic.L
50ce0 69 63 65 6e 73 69 6e 67 20 6f 66 20 44 6f 77 6e 73 74 72 65 61 6d 20 52 65 63 69 70 69 65 6e 74 icensing.of.Downstream.Recipient
50d00 73 2e 0a 0a 20 20 20 20 20 45 61 63 68 20 74 69 6d 65 20 79 6f 75 20 63 6f 6e 76 65 79 20 61 20 s........Each.time.you.convey.a.
50d20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 20 74 68 65 20 72 65 63 69 70 69 65 6e 74 20 61 75 74 6f covered.work,.the.recipient.auto
50d40 6d 61 74 69 63 61 6c 6c 79 0a 20 20 20 20 20 72 65 63 65 69 76 65 73 20 61 20 6c 69 63 65 6e 73 matically......receives.a.licens
50d60 65 20 66 72 6f 6d 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 6c 69 63 65 6e 73 6f 72 73 2c 20 74 e.from.the.original.licensors,.t
50d80 6f 20 72 75 6e 2c 20 6d 6f 64 69 66 79 20 61 6e 64 0a 20 20 20 20 20 70 72 6f 70 61 67 61 74 65 o.run,.modify.and......propagate
50da0 20 74 68 61 74 20 77 6f 72 6b 2c 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68 69 73 20 4c 69 63 65 .that.work,.subject.to.this.Lice
50dc0 6e 73 65 2e 20 20 59 6f 75 20 61 72 65 20 6e 6f 74 0a 20 20 20 20 20 72 65 73 70 6f 6e 73 69 62 nse...You.are.not......responsib
50de0 6c 65 20 66 6f 72 20 65 6e 66 6f 72 63 69 6e 67 20 63 6f 6d 70 6c 69 61 6e 63 65 20 62 79 20 74 le.for.enforcing.compliance.by.t
50e00 68 69 72 64 20 70 61 72 74 69 65 73 20 77 69 74 68 20 74 68 69 73 0a 20 20 20 20 20 4c 69 63 65 hird.parties.with.this......Lice
50e20 6e 73 65 2e 0a 0a 20 20 20 20 20 41 6e 20 e2 80 9c 65 6e 74 69 74 79 20 74 72 61 6e 73 61 63 74 nse........An....entity.transact
50e40 69 6f 6e e2 80 9d 20 69 73 20 61 20 74 72 61 6e 73 61 63 74 69 6f 6e 20 74 72 61 6e 73 66 65 72 ion....is.a.transaction.transfer
50e60 72 69 6e 67 20 63 6f 6e 74 72 6f 6c 20 6f 66 20 61 6e 0a 20 20 20 20 20 6f 72 67 61 6e 69 7a 61 ring.control.of.an......organiza
50e80 74 69 6f 6e 2c 20 6f 72 20 73 75 62 73 74 61 6e 74 69 61 6c 6c 79 20 61 6c 6c 20 61 73 73 65 74 tion,.or.substantially.all.asset
50ea0 73 20 6f 66 20 6f 6e 65 2c 20 6f 72 20 73 75 62 64 69 76 69 64 69 6e 67 20 61 6e 0a 20 20 20 20 s.of.one,.or.subdividing.an.....
50ec0 20 6f 72 67 61 6e 69 7a 61 74 69 6f 6e 2c 20 6f 72 20 6d 65 72 67 69 6e 67 20 6f 72 67 61 6e 69 .organization,.or.merging.organi
50ee0 7a 61 74 69 6f 6e 73 2e 20 20 49 66 20 70 72 6f 70 61 67 61 74 69 6f 6e 20 6f 66 20 61 0a 20 20 zations...If.propagation.of.a...
50f00 20 20 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 72 65 73 75 6c 74 73 20 66 72 6f 6d 20 61 6e 20 ...covered.work.results.from.an.
50f20 65 6e 74 69 74 79 20 74 72 61 6e 73 61 63 74 69 6f 6e 2c 20 65 61 63 68 20 70 61 72 74 79 20 74 entity.transaction,.each.party.t
50f40 6f 20 74 68 61 74 0a 20 20 20 20 20 74 72 61 6e 73 61 63 74 69 6f 6e 20 77 68 6f 20 72 65 63 65 o.that......transaction.who.rece
50f60 69 76 65 73 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 77 6f 72 6b 20 61 6c 73 6f 20 72 65 63 ives.a.copy.of.the.work.also.rec
50f80 65 69 76 65 73 20 77 68 61 74 65 76 65 72 0a 20 20 20 20 20 6c 69 63 65 6e 73 65 73 20 74 6f 20 eives.whatever......licenses.to.
50fa0 74 68 65 20 77 6f 72 6b 20 74 68 65 20 70 61 72 74 79 e2 80 99 73 20 70 72 65 64 65 63 65 73 73 the.work.the.party...s.predecess
50fc0 6f 72 20 69 6e 20 69 6e 74 65 72 65 73 74 20 68 61 64 20 6f 72 0a 20 20 20 20 20 63 6f 75 6c 64 or.in.interest.had.or......could
50fe0 20 67 69 76 65 20 75 6e 64 65 72 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 70 61 72 61 67 72 61 .give.under.the.previous.paragra
51000 70 68 2c 20 70 6c 75 73 20 61 20 72 69 67 68 74 20 74 6f 20 70 6f 73 73 65 73 73 69 6f 6e 0a 20 ph,.plus.a.right.to.possession..
51020 20 20 20 20 6f 66 20 74 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 ....of.the.Corresponding.Source.
51040 6f 66 20 74 68 65 20 77 6f 72 6b 20 66 72 6f 6d 20 74 68 65 20 70 72 65 64 65 63 65 73 73 6f 72 of.the.work.from.the.predecessor
51060 20 69 6e 0a 20 20 20 20 20 69 6e 74 65 72 65 73 74 2c 20 69 66 20 74 68 65 20 70 72 65 64 65 63 .in......interest,.if.the.predec
51080 65 73 73 6f 72 20 68 61 73 20 69 74 20 6f 72 20 63 61 6e 20 67 65 74 20 69 74 20 77 69 74 68 20 essor.has.it.or.can.get.it.with.
510a0 72 65 61 73 6f 6e 61 62 6c 65 0a 20 20 20 20 20 65 66 66 6f 72 74 73 2e 0a 0a 20 20 20 20 20 59 reasonable......efforts........Y
510c0 6f 75 20 6d 61 79 20 6e 6f 74 20 69 6d 70 6f 73 65 20 61 6e 79 20 66 75 72 74 68 65 72 20 72 65 ou.may.not.impose.any.further.re
510e0 73 74 72 69 63 74 69 6f 6e 73 20 6f 6e 20 74 68 65 20 65 78 65 72 63 69 73 65 20 6f 66 20 74 68 strictions.on.the.exercise.of.th
51100 65 0a 20 20 20 20 20 72 69 67 68 74 73 20 67 72 61 6e 74 65 64 20 6f 72 20 61 66 66 69 72 6d 65 e......rights.granted.or.affirme
51120 64 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 46 6f 72 20 65 78 61 6d 70 d.under.this.License...For.examp
51140 6c 65 2c 20 79 6f 75 0a 20 20 20 20 20 6d 61 79 20 6e 6f 74 20 69 6d 70 6f 73 65 20 61 20 6c 69 le,.you......may.not.impose.a.li
51160 63 65 6e 73 65 20 66 65 65 2c 20 72 6f 79 61 6c 74 79 2c 20 6f 72 20 6f 74 68 65 72 20 63 68 61 cense.fee,.royalty,.or.other.cha
51180 72 67 65 20 66 6f 72 20 65 78 65 72 63 69 73 65 0a 20 20 20 20 20 6f 66 20 72 69 67 68 74 73 20 rge.for.exercise......of.rights.
511a0 67 72 61 6e 74 65 64 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 61 6e 64 20 granted.under.this.License,.and.
511c0 79 6f 75 20 6d 61 79 20 6e 6f 74 20 69 6e 69 74 69 61 74 65 0a 20 20 20 20 20 6c 69 74 69 67 61 you.may.not.initiate......litiga
511e0 74 69 6f 6e 20 28 69 6e 63 6c 75 64 69 6e 67 20 61 20 63 72 6f 73 73 2d 63 6c 61 69 6d 20 6f 72 tion.(including.a.cross-claim.or
51200 20 63 6f 75 6e 74 65 72 63 6c 61 69 6d 20 69 6e 20 61 20 6c 61 77 73 75 69 74 29 0a 20 20 20 20 .counterclaim.in.a.lawsuit).....
51220 20 61 6c 6c 65 67 69 6e 67 20 74 68 61 74 20 61 6e 79 20 70 61 74 65 6e 74 20 63 6c 61 69 6d 20 .alleging.that.any.patent.claim.
51240 69 73 20 69 6e 66 72 69 6e 67 65 64 20 62 79 20 6d 61 6b 69 6e 67 2c 20 75 73 69 6e 67 2c 0a 20 is.infringed.by.making,.using,..
51260 20 20 20 20 73 65 6c 6c 69 6e 67 2c 20 6f 66 66 65 72 69 6e 67 20 66 6f 72 20 73 61 6c 65 2c 20 ....selling,.offering.for.sale,.
51280 6f 72 20 69 6d 70 6f 72 74 69 6e 67 20 74 68 65 20 50 72 6f 67 72 61 6d 20 6f 72 20 61 6e 79 20 or.importing.the.Program.or.any.
512a0 70 6f 72 74 69 6f 6e 0a 20 20 20 20 20 6f 66 20 69 74 2e 0a 0a 20 20 31 31 2e 20 50 61 74 65 6e portion......of.it.....11..Paten
512c0 74 73 2e 0a 0a 20 20 20 20 20 41 20 e2 80 9c 63 6f 6e 74 72 69 62 75 74 6f 72 e2 80 9d 20 69 73 ts........A....contributor....is
512e0 20 61 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 77 68 6f 20 61 75 74 68 6f 72 69 7a .a.copyright.holder.who.authoriz
51300 65 73 20 75 73 65 20 75 6e 64 65 72 20 74 68 69 73 0a 20 20 20 20 20 4c 69 63 65 6e 73 65 20 6f es.use.under.this......License.o
51320 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 6f 72 20 61 20 77 6f 72 6b 20 6f 6e 20 77 68 69 63 68 f.the.Program.or.a.work.on.which
51340 20 74 68 65 20 50 72 6f 67 72 61 6d 20 69 73 20 62 61 73 65 64 2e 0a 20 20 20 20 20 54 68 65 20 .the.Program.is.based.......The.
51360 77 6f 72 6b 20 74 68 75 73 20 6c 69 63 65 6e 73 65 64 20 69 73 20 63 61 6c 6c 65 64 20 74 68 65 work.thus.licensed.is.called.the
51380 20 63 6f 6e 74 72 69 62 75 74 6f 72 e2 80 99 73 20 e2 80 9c 63 6f 6e 74 72 69 62 75 74 6f 72 0a .contributor...s....contributor.
513a0 20 20 20 20 20 76 65 72 73 69 6f 6e e2 80 9d 2e 0a 0a 20 20 20 20 20 41 20 63 6f 6e 74 72 69 62 .....version...........A.contrib
513c0 75 74 6f 72 e2 80 99 73 20 e2 80 9c 65 73 73 65 6e 74 69 61 6c 20 70 61 74 65 6e 74 20 63 6c 61 utor...s....essential.patent.cla
513e0 69 6d 73 e2 80 9d 20 61 72 65 20 61 6c 6c 20 70 61 74 65 6e 74 20 63 6c 61 69 6d 73 0a 20 20 20 ims....are.all.patent.claims....
51400 20 20 6f 77 6e 65 64 20 6f 72 20 63 6f 6e 74 72 6f 6c 6c 65 64 20 62 79 20 74 68 65 20 63 6f 6e ..owned.or.controlled.by.the.con
51420 74 72 69 62 75 74 6f 72 2c 20 77 68 65 74 68 65 72 20 61 6c 72 65 61 64 79 20 61 63 71 75 69 72 tributor,.whether.already.acquir
51440 65 64 20 6f 72 0a 20 20 20 20 20 68 65 72 65 61 66 74 65 72 20 61 63 71 75 69 72 65 64 2c 20 74 ed.or......hereafter.acquired,.t
51460 68 61 74 20 77 6f 75 6c 64 20 62 65 20 69 6e 66 72 69 6e 67 65 64 20 62 79 20 73 6f 6d 65 20 6d hat.would.be.infringed.by.some.m
51480 61 6e 6e 65 72 2c 0a 20 20 20 20 20 70 65 72 6d 69 74 74 65 64 20 62 79 20 74 68 69 73 20 4c 69 anner,......permitted.by.this.Li
514a0 63 65 6e 73 65 2c 20 6f 66 20 6d 61 6b 69 6e 67 2c 20 75 73 69 6e 67 2c 20 6f 72 20 73 65 6c 6c cense,.of.making,.using,.or.sell
514c0 69 6e 67 20 69 74 73 0a 20 20 20 20 20 63 6f 6e 74 72 69 62 75 74 6f 72 20 76 65 72 73 69 6f 6e ing.its......contributor.version
514e0 2c 20 62 75 74 20 64 6f 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 63 6c 61 69 6d 73 20 74 68 61 74 ,.but.do.not.include.claims.that
51500 20 77 6f 75 6c 64 20 62 65 0a 20 20 20 20 20 69 6e 66 72 69 6e 67 65 64 20 6f 6e 6c 79 20 61 73 .would.be......infringed.only.as
51520 20 61 20 63 6f 6e 73 65 71 75 65 6e 63 65 20 6f 66 20 66 75 72 74 68 65 72 20 6d 6f 64 69 66 69 .a.consequence.of.further.modifi
51540 63 61 74 69 6f 6e 20 6f 66 20 74 68 65 0a 20 20 20 20 20 63 6f 6e 74 72 69 62 75 74 6f 72 20 76 cation.of.the......contributor.v
51560 65 72 73 69 6f 6e 2e 20 20 46 6f 72 20 70 75 72 70 6f 73 65 73 20 6f 66 20 74 68 69 73 20 64 65 ersion...For.purposes.of.this.de
51580 66 69 6e 69 74 69 6f 6e 2c 20 e2 80 9c 63 6f 6e 74 72 6f 6c e2 80 9d 0a 20 20 20 20 20 69 6e 63 finition,....control.........inc
515a0 6c 75 64 65 73 20 74 68 65 20 72 69 67 68 74 20 74 6f 20 67 72 61 6e 74 20 70 61 74 65 6e 74 20 ludes.the.right.to.grant.patent.
515c0 73 75 62 6c 69 63 65 6e 73 65 73 20 69 6e 20 61 20 6d 61 6e 6e 65 72 0a 20 20 20 20 20 63 6f 6e sublicenses.in.a.manner......con
515e0 73 69 73 74 65 6e 74 20 77 69 74 68 20 74 68 65 20 72 65 71 75 69 72 65 6d 65 6e 74 73 20 6f 66 sistent.with.the.requirements.of
51600 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 20 20 20 45 61 63 68 20 63 6f 6e 74 72 69 .this.License........Each.contri
51620 62 75 74 6f 72 20 67 72 61 6e 74 73 20 79 6f 75 20 61 20 6e 6f 6e 2d 65 78 63 6c 75 73 69 76 65 butor.grants.you.a.non-exclusive
51640 2c 20 77 6f 72 6c 64 77 69 64 65 2c 0a 20 20 20 20 20 72 6f 79 61 6c 74 79 2d 66 72 65 65 20 70 ,.worldwide,......royalty-free.p
51660 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 20 75 6e 64 65 72 20 74 68 65 20 63 6f 6e 74 72 69 62 75 atent.license.under.the.contribu
51680 74 6f 72 e2 80 99 73 20 65 73 73 65 6e 74 69 61 6c 0a 20 20 20 20 20 70 61 74 65 6e 74 20 63 6c tor...s.essential......patent.cl
516a0 61 69 6d 73 2c 20 74 6f 20 6d 61 6b 65 2c 20 75 73 65 2c 20 73 65 6c 6c 2c 20 6f 66 66 65 72 20 aims,.to.make,.use,.sell,.offer.
516c0 66 6f 72 20 73 61 6c 65 2c 20 69 6d 70 6f 72 74 20 61 6e 64 0a 20 20 20 20 20 6f 74 68 65 72 77 for.sale,.import.and......otherw
516e0 69 73 65 20 72 75 6e 2c 20 6d 6f 64 69 66 79 20 61 6e 64 20 70 72 6f 70 61 67 61 74 65 20 74 68 ise.run,.modify.and.propagate.th
51700 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 69 74 73 20 63 6f 6e 74 72 69 62 75 74 6f 72 0a 20 20 e.contents.of.its.contributor...
51720 20 20 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 20 20 20 49 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 ...version........In.the.followi
51740 6e 67 20 74 68 72 65 65 20 70 61 72 61 67 72 61 70 68 73 2c 20 61 20 e2 80 9c 70 61 74 65 6e 74 ng.three.paragraphs,.a....patent
51760 20 6c 69 63 65 6e 73 65 e2 80 9d 20 69 73 20 61 6e 79 0a 20 20 20 20 20 65 78 70 72 65 73 73 20 .license....is.any......express.
51780 61 67 72 65 65 6d 65 6e 74 20 6f 72 20 63 6f 6d 6d 69 74 6d 65 6e 74 2c 20 68 6f 77 65 76 65 72 agreement.or.commitment,.however
517a0 20 64 65 6e 6f 6d 69 6e 61 74 65 64 2c 20 6e 6f 74 20 74 6f 0a 20 20 20 20 20 65 6e 66 6f 72 63 .denominated,.not.to......enforc
517c0 65 20 61 20 70 61 74 65 6e 74 20 28 73 75 63 68 20 61 73 20 61 6e 20 65 78 70 72 65 73 73 20 70 e.a.patent.(such.as.an.express.p
517e0 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 70 72 61 63 74 69 63 65 20 61 0a 20 20 20 20 20 70 61 74 ermission.to.practice.a......pat
51800 65 6e 74 20 6f 72 20 63 6f 76 65 6e 61 6e 74 20 6e 6f 74 20 74 6f 20 73 75 65 20 66 6f 72 20 70 ent.or.covenant.not.to.sue.for.p
51820 61 74 65 6e 74 20 69 6e 66 72 69 6e 67 65 6d 65 6e 74 29 2e 20 20 54 6f 20 e2 80 9c 67 72 61 6e atent.infringement)...To....gran
51840 74 e2 80 9d 0a 20 20 20 20 20 73 75 63 68 20 61 20 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 20 t.........such.a.patent.license.
51860 74 6f 20 61 20 70 61 72 74 79 20 6d 65 61 6e 73 20 74 6f 20 6d 61 6b 65 20 73 75 63 68 20 61 6e to.a.party.means.to.make.such.an
51880 20 61 67 72 65 65 6d 65 6e 74 20 6f 72 0a 20 20 20 20 20 63 6f 6d 6d 69 74 6d 65 6e 74 20 6e 6f .agreement.or......commitment.no
518a0 74 20 74 6f 20 65 6e 66 6f 72 63 65 20 61 20 70 61 74 65 6e 74 20 61 67 61 69 6e 73 74 20 74 68 t.to.enforce.a.patent.against.th
518c0 65 20 70 61 72 74 79 2e 0a 0a 20 20 20 20 20 49 66 20 79 6f 75 20 63 6f 6e 76 65 79 20 61 20 63 e.party........If.you.convey.a.c
518e0 6f 76 65 72 65 64 20 77 6f 72 6b 2c 20 6b 6e 6f 77 69 6e 67 6c 79 20 72 65 6c 79 69 6e 67 20 6f overed.work,.knowingly.relying.o
51900 6e 20 61 20 70 61 74 65 6e 74 0a 20 20 20 20 20 6c 69 63 65 6e 73 65 2c 20 61 6e 64 20 74 68 65 n.a.patent......license,.and.the
51920 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 6f 66 20 74 68 65 20 77 6f 72 .Corresponding.Source.of.the.wor
51940 6b 20 69 73 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 0a 20 20 20 20 20 66 6f 72 20 61 6e 79 6f k.is.not.available......for.anyo
51960 6e 65 20 74 6f 20 63 6f 70 79 2c 20 66 72 65 65 20 6f 66 20 63 68 61 72 67 65 20 61 6e 64 20 75 ne.to.copy,.free.of.charge.and.u
51980 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 69 73 0a 20 20 20 20 20 4c 69 63 65 nder.the.terms.of.this......Lice
519a0 6e 73 65 2c 20 74 68 72 6f 75 67 68 20 61 20 70 75 62 6c 69 63 6c 79 20 61 76 61 69 6c 61 62 6c nse,.through.a.publicly.availabl
519c0 65 20 6e 65 74 77 6f 72 6b 20 73 65 72 76 65 72 20 6f 72 20 6f 74 68 65 72 0a 20 20 20 20 20 72 e.network.server.or.other......r
519e0 65 61 64 69 6c 79 20 61 63 63 65 73 73 69 62 6c 65 20 6d 65 61 6e 73 2c 20 74 68 65 6e 20 79 6f eadily.accessible.means,.then.yo
51a00 75 20 6d 75 73 74 20 65 69 74 68 65 72 20 28 31 29 20 63 61 75 73 65 20 74 68 65 0a 20 20 20 20 u.must.either.(1).cause.the.....
51a20 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 74 6f 20 62 65 20 73 6f 20 61 .Corresponding.Source.to.be.so.a
51a40 76 61 69 6c 61 62 6c 65 2c 20 6f 72 20 28 32 29 20 61 72 72 61 6e 67 65 20 74 6f 20 64 65 70 72 vailable,.or.(2).arrange.to.depr
51a60 69 76 65 0a 20 20 20 20 20 79 6f 75 72 73 65 6c 66 20 6f 66 20 74 68 65 20 62 65 6e 65 66 69 74 ive......yourself.of.the.benefit
51a80 20 6f 66 20 74 68 65 20 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 20 66 6f 72 20 74 68 69 73 20 .of.the.patent.license.for.this.
51aa0 70 61 72 74 69 63 75 6c 61 72 0a 20 20 20 20 20 77 6f 72 6b 2c 20 6f 72 20 28 33 29 20 61 72 72 particular......work,.or.(3).arr
51ac0 61 6e 67 65 2c 20 69 6e 20 61 20 6d 61 6e 6e 65 72 20 63 6f 6e 73 69 73 74 65 6e 74 20 77 69 74 ange,.in.a.manner.consistent.wit
51ae0 68 20 74 68 65 20 72 65 71 75 69 72 65 6d 65 6e 74 73 0a 20 20 20 20 20 6f 66 20 74 68 69 73 20 h.the.requirements......of.this.
51b00 4c 69 63 65 6e 73 65 2c 20 74 6f 20 65 78 74 65 6e 64 20 74 68 65 20 70 61 74 65 6e 74 20 6c 69 License,.to.extend.the.patent.li
51b20 63 65 6e 73 65 20 74 6f 20 64 6f 77 6e 73 74 72 65 61 6d 0a 20 20 20 20 20 72 65 63 69 70 69 65 cense.to.downstream......recipie
51b40 6e 74 73 2e 20 20 e2 80 9c 4b 6e 6f 77 69 6e 67 6c 79 20 72 65 6c 79 69 6e 67 e2 80 9d 20 6d 65 nts......Knowingly.relying....me
51b60 61 6e 73 20 79 6f 75 20 68 61 76 65 20 61 63 74 75 61 6c 20 6b 6e 6f 77 6c 65 64 67 65 0a 20 20 ans.you.have.actual.knowledge...
51b80 20 20 20 74 68 61 74 2c 20 62 75 74 20 66 6f 72 20 74 68 65 20 70 61 74 65 6e 74 20 6c 69 63 65 ...that,.but.for.the.patent.lice
51ba0 6e 73 65 2c 20 79 6f 75 72 20 63 6f 6e 76 65 79 69 6e 67 20 74 68 65 20 63 6f 76 65 72 65 64 20 nse,.your.conveying.the.covered.
51bc0 77 6f 72 6b 0a 20 20 20 20 20 69 6e 20 61 20 63 6f 75 6e 74 72 79 2c 20 6f 72 20 79 6f 75 72 20 work......in.a.country,.or.your.
51be0 72 65 63 69 70 69 65 6e 74 e2 80 99 73 20 75 73 65 20 6f 66 20 74 68 65 20 63 6f 76 65 72 65 64 recipient...s.use.of.the.covered
51c00 20 77 6f 72 6b 20 69 6e 20 61 0a 20 20 20 20 20 63 6f 75 6e 74 72 79 2c 20 77 6f 75 6c 64 20 69 .work.in.a......country,.would.i
51c20 6e 66 72 69 6e 67 65 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 69 64 65 6e 74 69 66 69 61 62 6c 65 nfringe.one.or.more.identifiable
51c40 20 70 61 74 65 6e 74 73 20 69 6e 20 74 68 61 74 0a 20 20 20 20 20 63 6f 75 6e 74 72 79 20 74 68 .patents.in.that......country.th
51c60 61 74 20 79 6f 75 20 68 61 76 65 20 72 65 61 73 6f 6e 20 74 6f 20 62 65 6c 69 65 76 65 20 61 72 at.you.have.reason.to.believe.ar
51c80 65 20 76 61 6c 69 64 2e 0a 0a 20 20 20 20 20 49 66 2c 20 70 75 72 73 75 61 6e 74 20 74 6f 20 6f e.valid........If,.pursuant.to.o
51ca0 72 20 69 6e 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 77 69 74 68 20 61 20 73 69 6e 67 6c 65 20 74 72 r.in.connection.with.a.single.tr
51cc0 61 6e 73 61 63 74 69 6f 6e 20 6f 72 0a 20 20 20 20 20 61 72 72 61 6e 67 65 6d 65 6e 74 2c 20 79 ansaction.or......arrangement,.y
51ce0 6f 75 20 63 6f 6e 76 65 79 2c 20 6f 72 20 70 72 6f 70 61 67 61 74 65 20 62 79 20 70 72 6f 63 75 ou.convey,.or.propagate.by.procu
51d00 72 69 6e 67 20 63 6f 6e 76 65 79 61 6e 63 65 20 6f 66 2c 20 61 0a 20 20 20 20 20 63 6f 76 65 72 ring.conveyance.of,.a......cover
51d20 65 64 20 77 6f 72 6b 2c 20 61 6e 64 20 67 72 61 6e 74 20 61 20 70 61 74 65 6e 74 20 6c 69 63 65 ed.work,.and.grant.a.patent.lice
51d40 6e 73 65 20 74 6f 20 73 6f 6d 65 20 6f 66 20 74 68 65 20 70 61 72 74 69 65 73 0a 20 20 20 20 20 nse.to.some.of.the.parties......
51d60 72 65 63 65 69 76 69 6e 67 20 74 68 65 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 61 75 74 68 6f receiving.the.covered.work.autho
51d80 72 69 7a 69 6e 67 20 74 68 65 6d 20 74 6f 20 75 73 65 2c 20 70 72 6f 70 61 67 61 74 65 2c 0a 20 rizing.them.to.use,.propagate,..
51da0 20 20 20 20 6d 6f 64 69 66 79 20 6f 72 20 63 6f 6e 76 65 79 20 61 20 73 70 65 63 69 66 69 63 20 ....modify.or.convey.a.specific.
51dc0 63 6f 70 79 20 6f 66 20 74 68 65 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 20 74 68 65 6e 20 74 copy.of.the.covered.work,.then.t
51de0 68 65 0a 20 20 20 20 20 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 20 79 6f 75 20 67 72 61 6e 74 he......patent.license.you.grant
51e00 20 69 73 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 65 78 74 65 6e 64 65 64 20 74 6f 20 61 6c .is.automatically.extended.to.al
51e20 6c 0a 20 20 20 20 20 72 65 63 69 70 69 65 6e 74 73 20 6f 66 20 74 68 65 20 63 6f 76 65 72 65 64 l......recipients.of.the.covered
51e40 20 77 6f 72 6b 20 61 6e 64 20 77 6f 72 6b 73 20 62 61 73 65 64 20 6f 6e 20 69 74 2e 0a 0a 20 20 .work.and.works.based.on.it.....
51e60 20 20 20 41 20 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 20 69 73 20 e2 80 9c 64 69 73 63 72 69 ...A.patent.license.is....discri
51e80 6d 69 6e 61 74 6f 72 79 e2 80 9d 20 69 66 20 69 74 20 64 6f 65 73 20 6e 6f 74 20 69 6e 63 6c 75 minatory....if.it.does.not.inclu
51ea0 64 65 20 77 69 74 68 69 6e 0a 20 20 20 20 20 74 68 65 20 73 63 6f 70 65 20 6f 66 20 69 74 73 20 de.within......the.scope.of.its.
51ec0 63 6f 76 65 72 61 67 65 2c 20 70 72 6f 68 69 62 69 74 73 20 74 68 65 20 65 78 65 72 63 69 73 65 coverage,.prohibits.the.exercise
51ee0 20 6f 66 2c 20 6f 72 20 69 73 0a 20 20 20 20 20 63 6f 6e 64 69 74 69 6f 6e 65 64 20 6f 6e 20 74 .of,.or.is......conditioned.on.t
51f00 68 65 20 6e 6f 6e 2d 65 78 65 72 63 69 73 65 20 6f 66 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 6f he.non-exercise.of.one.or.more.o
51f20 66 20 74 68 65 20 72 69 67 68 74 73 20 74 68 61 74 0a 20 20 20 20 20 61 72 65 20 73 70 65 63 69 f.the.rights.that......are.speci
51f40 66 69 63 61 6c 6c 79 20 67 72 61 6e 74 65 64 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e fically.granted.under.this.Licen
51f60 73 65 2e 20 20 59 6f 75 20 6d 61 79 20 6e 6f 74 20 63 6f 6e 76 65 79 20 61 0a 20 20 20 20 20 63 se...You.may.not.convey.a......c
51f80 6f 76 65 72 65 64 20 77 6f 72 6b 20 69 66 20 79 6f 75 20 61 72 65 20 61 20 70 61 72 74 79 20 74 overed.work.if.you.are.a.party.t
51fa0 6f 20 61 6e 20 61 72 72 61 6e 67 65 6d 65 6e 74 20 77 69 74 68 20 61 20 74 68 69 72 64 0a 20 20 o.an.arrangement.with.a.third...
51fc0 20 20 20 70 61 72 74 79 20 74 68 61 74 20 69 73 20 69 6e 20 74 68 65 20 62 75 73 69 6e 65 73 73 ...party.that.is.in.the.business
51fe0 20 6f 66 20 64 69 73 74 72 69 62 75 74 69 6e 67 20 73 6f 66 74 77 61 72 65 2c 20 75 6e 64 65 72 .of.distributing.software,.under
52000 20 77 68 69 63 68 0a 20 20 20 20 20 79 6f 75 20 6d 61 6b 65 20 70 61 79 6d 65 6e 74 20 74 6f 20 .which......you.make.payment.to.
52020 74 68 65 20 74 68 69 72 64 20 70 61 72 74 79 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 65 78 74 the.third.party.based.on.the.ext
52040 65 6e 74 20 6f 66 20 79 6f 75 72 0a 20 20 20 20 20 61 63 74 69 76 69 74 79 20 6f 66 20 63 6f 6e ent.of.your......activity.of.con
52060 76 65 79 69 6e 67 20 74 68 65 20 77 6f 72 6b 2c 20 61 6e 64 20 75 6e 64 65 72 20 77 68 69 63 68 veying.the.work,.and.under.which
52080 20 74 68 65 20 74 68 69 72 64 20 70 61 72 74 79 0a 20 20 20 20 20 67 72 61 6e 74 73 2c 20 74 6f .the.third.party......grants,.to
520a0 20 61 6e 79 20 6f 66 20 74 68 65 20 70 61 72 74 69 65 73 20 77 68 6f 20 77 6f 75 6c 64 20 72 65 .any.of.the.parties.who.would.re
520c0 63 65 69 76 65 20 74 68 65 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 0a 20 20 20 20 20 66 72 6f 6d ceive.the.covered.work......from
520e0 20 79 6f 75 2c 20 61 20 64 69 73 63 72 69 6d 69 6e 61 74 6f 72 79 20 70 61 74 65 6e 74 20 6c 69 .you,.a.discriminatory.patent.li
52100 63 65 6e 73 65 20 28 61 29 20 69 6e 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 77 69 74 68 0a 20 20 20 cense.(a).in.connection.with....
52120 20 20 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 63 6f 6e ..copies.of.the.covered.work.con
52140 76 65 79 65 64 20 62 79 20 79 6f 75 20 28 6f 72 20 63 6f 70 69 65 73 20 6d 61 64 65 20 66 72 6f veyed.by.you.(or.copies.made.fro
52160 6d 0a 20 20 20 20 20 74 68 6f 73 65 20 63 6f 70 69 65 73 29 2c 20 6f 72 20 28 62 29 20 70 72 69 m......those.copies),.or.(b).pri
52180 6d 61 72 69 6c 79 20 66 6f 72 20 61 6e 64 20 69 6e 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 77 69 74 marily.for.and.in.connection.wit
521a0 68 20 73 70 65 63 69 66 69 63 0a 20 20 20 20 20 70 72 6f 64 75 63 74 73 20 6f 72 20 63 6f 6d 70 h.specific......products.or.comp
521c0 69 6c 61 74 69 6f 6e 73 20 74 68 61 74 20 63 6f 6e 74 61 69 6e 20 74 68 65 20 63 6f 76 65 72 65 ilations.that.contain.the.covere
521e0 64 20 77 6f 72 6b 2c 20 75 6e 6c 65 73 73 20 79 6f 75 0a 20 20 20 20 20 65 6e 74 65 72 65 64 20 d.work,.unless.you......entered.
52200 69 6e 74 6f 20 74 68 61 74 20 61 72 72 61 6e 67 65 6d 65 6e 74 2c 20 6f 72 20 74 68 61 74 20 70 into.that.arrangement,.or.that.p
52220 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 20 77 61 73 20 67 72 61 6e 74 65 64 2c 0a 20 20 20 20 20 atent.license.was.granted,......
52240 70 72 69 6f 72 20 74 6f 20 32 38 20 4d 61 72 63 68 20 32 30 30 37 2e 0a 0a 20 20 20 20 20 4e 6f prior.to.28.March.2007........No
52260 74 68 69 6e 67 20 69 6e 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 73 68 61 6c 6c 20 62 65 20 63 thing.in.this.License.shall.be.c
52280 6f 6e 73 74 72 75 65 64 20 61 73 20 65 78 63 6c 75 64 69 6e 67 20 6f 72 20 6c 69 6d 69 74 69 6e onstrued.as.excluding.or.limitin
522a0 67 0a 20 20 20 20 20 61 6e 79 20 69 6d 70 6c 69 65 64 20 6c 69 63 65 6e 73 65 20 6f 72 20 6f 74 g......any.implied.license.or.ot
522c0 68 65 72 20 64 65 66 65 6e 73 65 73 20 74 6f 20 69 6e 66 72 69 6e 67 65 6d 65 6e 74 20 74 68 61 her.defenses.to.infringement.tha
522e0 74 20 6d 61 79 0a 20 20 20 20 20 6f 74 68 65 72 77 69 73 65 20 62 65 20 61 76 61 69 6c 61 62 6c t.may......otherwise.be.availabl
52300 65 20 74 6f 20 79 6f 75 20 75 6e 64 65 72 20 61 70 70 6c 69 63 61 62 6c 65 20 70 61 74 65 6e 74 e.to.you.under.applicable.patent
52320 20 6c 61 77 2e 0a 0a 20 20 31 32 2e 20 4e 6f 20 53 75 72 72 65 6e 64 65 72 20 6f 66 20 4f 74 68 .law.....12..No.Surrender.of.Oth
52340 65 72 73 e2 80 99 20 46 72 65 65 64 6f 6d 2e 0a 0a 20 20 20 20 20 49 66 20 63 6f 6e 64 69 74 69 ers....Freedom........If.conditi
52360 6f 6e 73 20 61 72 65 20 69 6d 70 6f 73 65 64 20 6f 6e 20 79 6f 75 20 28 77 68 65 74 68 65 72 20 ons.are.imposed.on.you.(whether.
52380 62 79 20 63 6f 75 72 74 20 6f 72 64 65 72 2c 20 61 67 72 65 65 6d 65 6e 74 0a 20 20 20 20 20 6f by.court.order,.agreement......o
523a0 72 20 6f 74 68 65 72 77 69 73 65 29 20 74 68 61 74 20 63 6f 6e 74 72 61 64 69 63 74 20 74 68 65 r.otherwise).that.contradict.the
523c0 20 63 6f 6e 64 69 74 69 6f 6e 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 74 68 65 .conditions.of.this.License,.the
523e0 79 0a 20 20 20 20 20 64 6f 20 6e 6f 74 20 65 78 63 75 73 65 20 79 6f 75 20 66 72 6f 6d 20 74 68 y......do.not.excuse.you.from.th
52400 65 20 63 6f 6e 64 69 74 69 6f 6e 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 49 e.conditions.of.this.License...I
52420 66 20 79 6f 75 0a 20 20 20 20 20 63 61 6e 6e 6f 74 20 63 6f 6e 76 65 79 20 61 20 63 6f 76 65 72 f.you......cannot.convey.a.cover
52440 65 64 20 77 6f 72 6b 20 73 6f 20 61 73 20 74 6f 20 73 61 74 69 73 66 79 20 73 69 6d 75 6c 74 61 ed.work.so.as.to.satisfy.simulta
52460 6e 65 6f 75 73 6c 79 20 79 6f 75 72 0a 20 20 20 20 20 6f 62 6c 69 67 61 74 69 6f 6e 73 20 75 6e neously.your......obligations.un
52480 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 61 6e 64 20 61 6e 79 20 6f 74 68 65 72 20 70 der.this.License.and.any.other.p
524a0 65 72 74 69 6e 65 6e 74 20 6f 62 6c 69 67 61 74 69 6f 6e 73 2c 0a 20 20 20 20 20 74 68 65 6e 20 ertinent.obligations,......then.
524c0 61 73 20 61 20 63 6f 6e 73 65 71 75 65 6e 63 65 20 79 6f 75 20 6d 61 79 20 6e 6f 74 20 63 6f 6e as.a.consequence.you.may.not.con
524e0 76 65 79 20 69 74 20 61 74 20 61 6c 6c 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 0a 20 20 20 vey.it.at.all...For.example,....
52500 20 20 69 66 20 79 6f 75 20 61 67 72 65 65 20 74 6f 20 74 65 72 6d 73 20 74 68 61 74 20 6f 62 6c ..if.you.agree.to.terms.that.obl
52520 69 67 61 74 65 20 79 6f 75 20 74 6f 20 63 6f 6c 6c 65 63 74 20 61 20 72 6f 79 61 6c 74 79 20 66 igate.you.to.collect.a.royalty.f
52540 6f 72 0a 20 20 20 20 20 66 75 72 74 68 65 72 20 63 6f 6e 76 65 79 69 6e 67 20 66 72 6f 6d 20 74 or......further.conveying.from.t
52560 68 6f 73 65 20 74 6f 20 77 68 6f 6d 20 79 6f 75 20 63 6f 6e 76 65 79 20 74 68 65 20 50 72 6f 67 hose.to.whom.you.convey.the.Prog
52580 72 61 6d 2c 20 74 68 65 0a 20 20 20 20 20 6f 6e 6c 79 20 77 61 79 20 79 6f 75 20 63 6f 75 6c 64 ram,.the......only.way.you.could
525a0 20 73 61 74 69 73 66 79 20 62 6f 74 68 20 74 68 6f 73 65 20 74 65 72 6d 73 20 61 6e 64 20 74 68 .satisfy.both.those.terms.and.th
525c0 69 73 20 4c 69 63 65 6e 73 65 20 77 6f 75 6c 64 0a 20 20 20 20 20 62 65 20 74 6f 20 72 65 66 72 is.License.would......be.to.refr
525e0 61 69 6e 20 65 6e 74 69 72 65 6c 79 20 66 72 6f 6d 20 63 6f 6e 76 65 79 69 6e 67 20 74 68 65 20 ain.entirely.from.conveying.the.
52600 50 72 6f 67 72 61 6d 2e 0a 0a 20 20 31 33 2e 20 55 73 65 20 77 69 74 68 20 74 68 65 20 47 4e 55 Program.....13..Use.with.the.GNU
52620 20 41 66 66 65 72 6f 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 2e 0a .Affero.General.Public.License..
52640 0a 20 20 20 20 20 4e 6f 74 77 69 74 68 73 74 61 6e 64 69 6e 67 20 61 6e 79 20 6f 74 68 65 72 20 ......Notwithstanding.any.other.
52660 70 72 6f 76 69 73 69 6f 6e 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 79 6f 75 20 68 provision.of.this.License,.you.h
52680 61 76 65 0a 20 20 20 20 20 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 6c 69 6e 6b 20 6f 72 20 63 ave......permission.to.link.or.c
526a0 6f 6d 62 69 6e 65 20 61 6e 79 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 77 69 74 68 20 61 20 77 ombine.any.covered.work.with.a.w
526c0 6f 72 6b 20 6c 69 63 65 6e 73 65 64 0a 20 20 20 20 20 75 6e 64 65 72 20 76 65 72 73 69 6f 6e 20 ork.licensed......under.version.
526e0 33 20 6f 66 20 74 68 65 20 47 4e 55 20 41 66 66 65 72 6f 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 3.of.the.GNU.Affero.General.Publ
52700 69 63 20 4c 69 63 65 6e 73 65 20 69 6e 74 6f 20 61 0a 20 20 20 20 20 73 69 6e 67 6c 65 20 63 6f ic.License.into.a......single.co
52720 6d 62 69 6e 65 64 20 77 6f 72 6b 2c 20 61 6e 64 20 74 6f 20 63 6f 6e 76 65 79 20 74 68 65 20 72 mbined.work,.and.to.convey.the.r
52740 65 73 75 6c 74 69 6e 67 20 77 6f 72 6b 2e 20 20 54 68 65 20 74 65 72 6d 73 0a 20 20 20 20 20 6f esulting.work...The.terms......o
52760 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 77 69 6c 6c 20 63 6f 6e 74 69 6e 75 65 20 74 6f 20 f.this.License.will.continue.to.
52780 61 70 70 6c 79 20 74 6f 20 74 68 65 20 70 61 72 74 20 77 68 69 63 68 20 69 73 20 74 68 65 0a 20 apply.to.the.part.which.is.the..
527a0 20 20 20 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 20 62 75 74 20 74 68 65 20 73 70 65 63 69 61 ....covered.work,.but.the.specia
527c0 6c 20 72 65 71 75 69 72 65 6d 65 6e 74 73 20 6f 66 20 74 68 65 20 47 4e 55 20 41 66 66 65 72 6f l.requirements.of.the.GNU.Affero
527e0 0a 20 20 20 20 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 2c 20 73 65 ......General.Public.License,.se
52800 63 74 69 6f 6e 20 31 33 2c 20 63 6f 6e 63 65 72 6e 69 6e 67 20 69 6e 74 65 72 61 63 74 69 6f 6e ction.13,.concerning.interaction
52820 20 74 68 72 6f 75 67 68 0a 20 20 20 20 20 61 20 6e 65 74 77 6f 72 6b 20 77 69 6c 6c 20 61 70 70 .through......a.network.will.app
52840 6c 79 20 74 6f 20 74 68 65 20 63 6f 6d 62 69 6e 61 74 69 6f 6e 20 61 73 20 73 75 63 68 2e 0a 0a ly.to.the.combination.as.such...
52860 20 20 31 34 2e 20 52 65 76 69 73 65 64 20 56 65 72 73 69 6f 6e 73 20 6f 66 20 74 68 69 73 20 4c ..14..Revised.Versions.of.this.L
52880 69 63 65 6e 73 65 2e 0a 0a 20 20 20 20 20 54 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 icense........The.Free.Software.
528a0 46 6f 75 6e 64 61 74 69 6f 6e 20 6d 61 79 20 70 75 62 6c 69 73 68 20 72 65 76 69 73 65 64 20 61 Foundation.may.publish.revised.a
528c0 6e 64 2f 6f 72 20 6e 65 77 0a 20 20 20 20 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 74 68 65 20 47 nd/or.new......versions.of.the.G
528e0 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 72 6f 6d 20 74 NU.General.Public.License.from.t
52900 69 6d 65 20 74 6f 20 74 69 6d 65 2e 20 20 53 75 63 68 0a 20 20 20 20 20 6e 65 77 20 76 65 72 73 ime.to.time...Such......new.vers
52920 69 6f 6e 73 20 77 69 6c 6c 20 62 65 20 73 69 6d 69 6c 61 72 20 69 6e 20 73 70 69 72 69 74 20 74 ions.will.be.similar.in.spirit.t
52940 6f 20 74 68 65 20 70 72 65 73 65 6e 74 20 76 65 72 73 69 6f 6e 2c 20 62 75 74 0a 20 20 20 20 20 o.the.present.version,.but......
52960 6d 61 79 20 64 69 66 66 65 72 20 69 6e 20 64 65 74 61 69 6c 20 74 6f 20 61 64 64 72 65 73 73 20 may.differ.in.detail.to.address.
52980 6e 65 77 20 70 72 6f 62 6c 65 6d 73 20 6f 72 20 63 6f 6e 63 65 72 6e 73 2e 0a 0a 20 20 20 20 20 new.problems.or.concerns........
529a0 45 61 63 68 20 76 65 72 73 69 6f 6e 20 69 73 20 67 69 76 65 6e 20 61 20 64 69 73 74 69 6e 67 75 Each.version.is.given.a.distingu
529c0 69 73 68 69 6e 67 20 76 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 2e 20 20 49 66 20 74 68 65 0a 20 ishing.version.number...If.the..
529e0 20 20 20 20 50 72 6f 67 72 61 6d 20 73 70 65 63 69 66 69 65 73 20 74 68 61 74 20 61 20 63 65 72 ....Program.specifies.that.a.cer
52a00 74 61 69 6e 20 6e 75 6d 62 65 72 65 64 20 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 65 20 47 4e 55 tain.numbered.version.of.the.GNU
52a20 0a 20 20 20 20 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 e2 80 9c ......General.Public.License....
52a40 6f 72 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e e2 80 9d 20 61 70 70 6c 69 65 73 20 or.any.later.version....applies.
52a60 74 6f 20 69 74 2c 20 79 6f 75 0a 20 20 20 20 20 68 61 76 65 20 74 68 65 20 6f 70 74 69 6f 6e 20 to.it,.you......have.the.option.
52a80 6f 66 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 68 65 20 74 65 72 6d 73 20 61 6e 64 20 63 6f 6e 64 69 of.following.the.terms.and.condi
52aa0 74 69 6f 6e 73 20 65 69 74 68 65 72 20 6f 66 0a 20 20 20 20 20 74 68 61 74 20 6e 75 6d 62 65 72 tions.either.of......that.number
52ac0 65 64 20 76 65 72 73 69 6f 6e 20 6f 72 20 6f 66 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 ed.version.or.of.any.later.versi
52ae0 6f 6e 20 70 75 62 6c 69 73 68 65 64 20 62 79 20 74 68 65 20 46 72 65 65 0a 20 20 20 20 20 53 6f on.published.by.the.Free......So
52b00 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2e 20 20 49 66 20 74 68 65 20 50 72 6f 67 72 ftware.Foundation...If.the.Progr
52b20 61 6d 20 64 6f 65 73 20 6e 6f 74 20 73 70 65 63 69 66 79 20 61 20 76 65 72 73 69 6f 6e 0a 20 20 am.does.not.specify.a.version...
52b40 20 20 20 6e 75 6d 62 65 72 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 ...number.of.the.GNU.General.Pub
52b60 6c 69 63 20 4c 69 63 65 6e 73 65 2c 20 79 6f 75 20 6d 61 79 20 63 68 6f 6f 73 65 20 61 6e 79 0a lic.License,.you.may.choose.any.
52b80 20 20 20 20 20 76 65 72 73 69 6f 6e 20 65 76 65 72 20 70 75 62 6c 69 73 68 65 64 20 62 79 20 74 .....version.ever.published.by.t
52ba0 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2e 0a 0a 20 20 he.Free.Software.Foundation.....
52bc0 20 20 20 49 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 73 70 65 63 69 66 69 65 73 20 74 68 61 74 ...If.the.Program.specifies.that
52be0 20 61 20 70 72 6f 78 79 20 63 61 6e 20 64 65 63 69 64 65 20 77 68 69 63 68 20 66 75 74 75 72 65 .a.proxy.can.decide.which.future
52c00 0a 20 20 20 20 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 ......versions.of.the.GNU.Genera
52c20 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 63 61 6e 20 62 65 20 75 73 65 64 2c 20 74 68 l.Public.License.can.be.used,.th
52c40 61 74 0a 20 20 20 20 20 70 72 6f 78 79 e2 80 99 73 20 70 75 62 6c 69 63 20 73 74 61 74 65 6d 65 at......proxy...s.public.stateme
52c60 6e 74 20 6f 66 20 61 63 63 65 70 74 61 6e 63 65 20 6f 66 20 61 20 76 65 72 73 69 6f 6e 20 70 65 nt.of.acceptance.of.a.version.pe
52c80 72 6d 61 6e 65 6e 74 6c 79 0a 20 20 20 20 20 61 75 74 68 6f 72 69 7a 65 73 20 79 6f 75 20 74 6f rmanently......authorizes.you.to
52ca0 20 63 68 6f 6f 73 65 20 74 68 61 74 20 76 65 72 73 69 6f 6e 20 66 6f 72 20 74 68 65 20 50 72 6f .choose.that.version.for.the.Pro
52cc0 67 72 61 6d 2e 0a 0a 20 20 20 20 20 4c 61 74 65 72 20 6c 69 63 65 6e 73 65 20 76 65 72 73 69 6f gram........Later.license.versio
52ce0 6e 73 20 6d 61 79 20 67 69 76 65 20 79 6f 75 20 61 64 64 69 74 69 6f 6e 61 6c 20 6f 72 20 64 69 ns.may.give.you.additional.or.di
52d00 66 66 65 72 65 6e 74 0a 20 20 20 20 20 70 65 72 6d 69 73 73 69 6f 6e 73 2e 20 20 48 6f 77 65 76 fferent......permissions...Howev
52d20 65 72 2c 20 6e 6f 20 61 64 64 69 74 69 6f 6e 61 6c 20 6f 62 6c 69 67 61 74 69 6f 6e 73 20 61 72 er,.no.additional.obligations.ar
52d40 65 20 69 6d 70 6f 73 65 64 20 6f 6e 20 61 6e 79 0a 20 20 20 20 20 61 75 74 68 6f 72 20 6f 72 20 e.imposed.on.any......author.or.
52d60 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 61 73 20 61 20 72 65 73 75 6c 74 20 6f 66 20 copyright.holder.as.a.result.of.
52d80 79 6f 75 72 20 63 68 6f 6f 73 69 6e 67 20 74 6f 20 66 6f 6c 6c 6f 77 20 61 0a 20 20 20 20 20 6c your.choosing.to.follow.a......l
52da0 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 31 35 2e 20 44 69 73 63 6c 61 69 6d 65 72 20 ater.version.....15..Disclaimer.
52dc0 6f 66 20 57 61 72 72 61 6e 74 79 2e 0a 0a 20 20 20 20 20 54 48 45 52 45 20 49 53 20 4e 4f 20 57 of.Warranty........THERE.IS.NO.W
52de0 41 52 52 41 4e 54 59 20 46 4f 52 20 54 48 45 20 50 52 4f 47 52 41 4d 2c 20 54 4f 20 54 48 45 20 ARRANTY.FOR.THE.PROGRAM,.TO.THE.
52e00 45 58 54 45 4e 54 20 50 45 52 4d 49 54 54 45 44 20 42 59 0a 20 20 20 20 20 41 50 50 4c 49 43 41 EXTENT.PERMITTED.BY......APPLICA
52e20 42 4c 45 20 4c 41 57 2e 20 20 45 58 43 45 50 54 20 57 48 45 4e 20 4f 54 48 45 52 57 49 53 45 20 BLE.LAW...EXCEPT.WHEN.OTHERWISE.
52e40 53 54 41 54 45 44 20 49 4e 20 57 52 49 54 49 4e 47 20 54 48 45 0a 20 20 20 20 20 43 4f 50 59 52 STATED.IN.WRITING.THE......COPYR
52e60 49 47 48 54 20 48 4f 4c 44 45 52 53 20 41 4e 44 2f 4f 52 20 4f 54 48 45 52 20 50 41 52 54 49 45 IGHT.HOLDERS.AND/OR.OTHER.PARTIE
52e80 53 20 50 52 4f 56 49 44 45 20 54 48 45 20 50 52 4f 47 52 41 4d 20 e2 80 9c 41 53 20 49 53 e2 80 S.PROVIDE.THE.PROGRAM....AS.IS..
52ea0 9d 0a 20 20 20 20 20 57 49 54 48 4f 55 54 20 57 41 52 52 41 4e 54 59 20 4f 46 20 41 4e 59 20 4b .......WITHOUT.WARRANTY.OF.ANY.K
52ec0 49 4e 44 2c 20 45 49 54 48 45 52 20 45 58 50 52 45 53 53 45 44 20 4f 52 20 49 4d 50 4c 49 45 44 IND,.EITHER.EXPRESSED.OR.IMPLIED
52ee0 2c 0a 20 20 20 20 20 49 4e 43 4c 55 44 49 4e 47 2c 20 42 55 54 20 4e 4f 54 20 4c 49 4d 49 54 45 ,......INCLUDING,.BUT.NOT.LIMITE
52f00 44 20 54 4f 2c 20 54 48 45 20 49 4d 50 4c 49 45 44 20 57 41 52 52 41 4e 54 49 45 53 20 4f 46 0a D.TO,.THE.IMPLIED.WARRANTIES.OF.
52f20 20 20 20 20 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 41 4e 44 20 46 49 54 4e 45 53 53 .....MERCHANTABILITY.AND.FITNESS
52f40 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 54 48 45 20 .FOR.A.PARTICULAR.PURPOSE...THE.
52f60 45 4e 54 49 52 45 0a 20 20 20 20 20 52 49 53 4b 20 41 53 20 54 4f 20 54 48 45 20 51 55 41 4c 49 ENTIRE......RISK.AS.TO.THE.QUALI
52f80 54 59 20 41 4e 44 20 50 45 52 46 4f 52 4d 41 4e 43 45 20 4f 46 20 54 48 45 20 50 52 4f 47 52 41 TY.AND.PERFORMANCE.OF.THE.PROGRA
52fa0 4d 20 49 53 20 57 49 54 48 20 59 4f 55 2e 0a 20 20 20 20 20 53 48 4f 55 4c 44 20 54 48 45 20 50 M.IS.WITH.YOU.......SHOULD.THE.P
52fc0 52 4f 47 52 41 4d 20 50 52 4f 56 45 20 44 45 46 45 43 54 49 56 45 2c 20 59 4f 55 20 41 53 53 55 ROGRAM.PROVE.DEFECTIVE,.YOU.ASSU
52fe0 4d 45 20 54 48 45 20 43 4f 53 54 20 4f 46 20 41 4c 4c 0a 20 20 20 20 20 4e 45 43 45 53 53 41 52 ME.THE.COST.OF.ALL......NECESSAR
53000 59 20 53 45 52 56 49 43 49 4e 47 2c 20 52 45 50 41 49 52 20 4f 52 20 43 4f 52 52 45 43 54 49 4f Y.SERVICING,.REPAIR.OR.CORRECTIO
53020 4e 2e 0a 0a 20 20 31 36 2e 20 4c 69 6d 69 74 61 74 69 6f 6e 20 6f 66 20 4c 69 61 62 69 6c 69 74 N.....16..Limitation.of.Liabilit
53040 79 2e 0a 0a 20 20 20 20 20 49 4e 20 4e 4f 20 45 56 45 4e 54 20 55 4e 4c 45 53 53 20 52 45 51 55 y........IN.NO.EVENT.UNLESS.REQU
53060 49 52 45 44 20 42 59 20 41 50 50 4c 49 43 41 42 4c 45 20 4c 41 57 20 4f 52 20 41 47 52 45 45 44 IRED.BY.APPLICABLE.LAW.OR.AGREED
53080 20 54 4f 20 49 4e 0a 20 20 20 20 20 57 52 49 54 49 4e 47 20 57 49 4c 4c 20 41 4e 59 20 43 4f 50 .TO.IN......WRITING.WILL.ANY.COP
530a0 59 52 49 47 48 54 20 48 4f 4c 44 45 52 2c 20 4f 52 20 41 4e 59 20 4f 54 48 45 52 20 50 41 52 54 YRIGHT.HOLDER,.OR.ANY.OTHER.PART
530c0 59 20 57 48 4f 20 4d 4f 44 49 46 49 45 53 0a 20 20 20 20 20 41 4e 44 2f 4f 52 20 43 4f 4e 56 45 Y.WHO.MODIFIES......AND/OR.CONVE
530e0 59 53 20 54 48 45 20 50 52 4f 47 52 41 4d 20 41 53 20 50 45 52 4d 49 54 54 45 44 20 41 42 4f 56 YS.THE.PROGRAM.AS.PERMITTED.ABOV
53100 45 2c 20 42 45 20 4c 49 41 42 4c 45 20 54 4f 20 59 4f 55 20 46 4f 52 0a 20 20 20 20 20 44 41 4d E,.BE.LIABLE.TO.YOU.FOR......DAM
53120 41 47 45 53 2c 20 49 4e 43 4c 55 44 49 4e 47 20 41 4e 59 20 47 45 4e 45 52 41 4c 2c 20 53 50 45 AGES,.INCLUDING.ANY.GENERAL,.SPE
53140 43 49 41 4c 2c 20 49 4e 43 49 44 45 4e 54 41 4c 20 4f 52 0a 20 20 20 20 20 43 4f 4e 53 45 51 55 CIAL,.INCIDENTAL.OR......CONSEQU
53160 45 4e 54 49 41 4c 20 44 41 4d 41 47 45 53 20 41 52 49 53 49 4e 47 20 4f 55 54 20 4f 46 20 54 48 ENTIAL.DAMAGES.ARISING.OUT.OF.TH
53180 45 20 55 53 45 20 4f 52 20 49 4e 41 42 49 4c 49 54 59 20 54 4f 20 55 53 45 0a 20 20 20 20 20 54 E.USE.OR.INABILITY.TO.USE......T
531a0 48 45 20 50 52 4f 47 52 41 4d 20 28 49 4e 43 4c 55 44 49 4e 47 20 42 55 54 20 4e 4f 54 20 4c 49 HE.PROGRAM.(INCLUDING.BUT.NOT.LI
531c0 4d 49 54 45 44 20 54 4f 20 4c 4f 53 53 20 4f 46 20 44 41 54 41 20 4f 52 20 44 41 54 41 0a 20 20 MITED.TO.LOSS.OF.DATA.OR.DATA...
531e0 20 20 20 42 45 49 4e 47 20 52 45 4e 44 45 52 45 44 20 49 4e 41 43 43 55 52 41 54 45 20 4f 52 20 ...BEING.RENDERED.INACCURATE.OR.
53200 4c 4f 53 53 45 53 20 53 55 53 54 41 49 4e 45 44 20 42 59 20 59 4f 55 20 4f 52 20 54 48 49 52 44 LOSSES.SUSTAINED.BY.YOU.OR.THIRD
53220 0a 20 20 20 20 20 50 41 52 54 49 45 53 20 4f 52 20 41 20 46 41 49 4c 55 52 45 20 4f 46 20 54 48 ......PARTIES.OR.A.FAILURE.OF.TH
53240 45 20 50 52 4f 47 52 41 4d 20 54 4f 20 4f 50 45 52 41 54 45 20 57 49 54 48 20 41 4e 59 20 4f 54 E.PROGRAM.TO.OPERATE.WITH.ANY.OT
53260 48 45 52 0a 20 20 20 20 20 50 52 4f 47 52 41 4d 53 29 2c 20 45 56 45 4e 20 49 46 20 53 55 43 48 HER......PROGRAMS),.EVEN.IF.SUCH
53280 20 48 4f 4c 44 45 52 20 4f 52 20 4f 54 48 45 52 20 50 41 52 54 59 20 48 41 53 20 42 45 45 4e 20 .HOLDER.OR.OTHER.PARTY.HAS.BEEN.
532a0 41 44 56 49 53 45 44 20 4f 46 0a 20 20 20 20 20 54 48 45 20 50 4f 53 53 49 42 49 4c 49 54 59 20 ADVISED.OF......THE.POSSIBILITY.
532c0 4f 46 20 53 55 43 48 20 44 41 4d 41 47 45 53 2e 0a 0a 20 20 31 37 2e 20 49 6e 74 65 72 70 72 65 OF.SUCH.DAMAGES.....17..Interpre
532e0 74 61 74 69 6f 6e 20 6f 66 20 53 65 63 74 69 6f 6e 73 20 31 35 20 61 6e 64 20 31 36 2e 0a 0a 20 tation.of.Sections.15.and.16....
53300 20 20 20 20 49 66 20 74 68 65 20 64 69 73 63 6c 61 69 6d 65 72 20 6f 66 20 77 61 72 72 61 6e 74 ....If.the.disclaimer.of.warrant
53320 79 20 61 6e 64 20 6c 69 6d 69 74 61 74 69 6f 6e 20 6f 66 20 6c 69 61 62 69 6c 69 74 79 20 70 72 y.and.limitation.of.liability.pr
53340 6f 76 69 64 65 64 0a 20 20 20 20 20 61 62 6f 76 65 20 63 61 6e 6e 6f 74 20 62 65 20 67 69 76 65 ovided......above.cannot.be.give
53360 6e 20 6c 6f 63 61 6c 20 6c 65 67 61 6c 20 65 66 66 65 63 74 20 61 63 63 6f 72 64 69 6e 67 20 74 n.local.legal.effect.according.t
53380 6f 20 74 68 65 69 72 20 74 65 72 6d 73 2c 0a 20 20 20 20 20 72 65 76 69 65 77 69 6e 67 20 63 6f o.their.terms,......reviewing.co
533a0 75 72 74 73 20 73 68 61 6c 6c 20 61 70 70 6c 79 20 6c 6f 63 61 6c 20 6c 61 77 20 74 68 61 74 20 urts.shall.apply.local.law.that.
533c0 6d 6f 73 74 20 63 6c 6f 73 65 6c 79 0a 20 20 20 20 20 61 70 70 72 6f 78 69 6d 61 74 65 73 20 61 most.closely......approximates.a
533e0 6e 20 61 62 73 6f 6c 75 74 65 20 77 61 69 76 65 72 20 6f 66 20 61 6c 6c 20 63 69 76 69 6c 20 6c n.absolute.waiver.of.all.civil.l
53400 69 61 62 69 6c 69 74 79 20 69 6e 0a 20 20 20 20 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 77 69 74 68 iability.in......connection.with
53420 20 74 68 65 20 50 72 6f 67 72 61 6d 2c 20 75 6e 6c 65 73 73 20 61 20 77 61 72 72 61 6e 74 79 20 .the.Program,.unless.a.warranty.
53440 6f 72 20 61 73 73 75 6d 70 74 69 6f 6e 20 6f 66 0a 20 20 20 20 20 6c 69 61 62 69 6c 69 74 79 20 or.assumption.of......liability.
53460 61 63 63 6f 6d 70 61 6e 69 65 73 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 accompanies.a.copy.of.the.Progra
53480 6d 20 69 6e 20 72 65 74 75 72 6e 20 66 6f 72 20 61 20 66 65 65 2e 0a 0a 45 4e 44 20 4f 46 20 54 m.in.return.for.a.fee...END.OF.T
534a0 45 52 4d 53 20 41 4e 44 20 43 4f 4e 44 49 54 49 4f 4e 53 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ERMS.AND.CONDITIONS.============
534c0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 48 6f 77 20 74 6f 20 41 70 70 6c 79 20 54 68 ===============..How.to.Apply.Th
534e0 65 73 65 20 54 65 72 6d 73 20 74 6f 20 59 6f 75 72 20 4e 65 77 20 50 72 6f 67 72 61 6d 73 0a 3d ese.Terms.to.Your.New.Programs.=
53500 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================================
53520 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 49 66 20 79 6f 75 20 64 65 76 65 6c 6f 70 20 61 20 6e ============..If.you.develop.a.n
53540 65 77 20 70 72 6f 67 72 61 6d 2c 20 61 6e 64 20 79 6f 75 20 77 61 6e 74 20 69 74 20 74 6f 20 62 ew.program,.and.you.want.it.to.b
53560 65 20 6f 66 20 74 68 65 20 67 72 65 61 74 65 73 74 0a 70 6f 73 73 69 62 6c 65 20 75 73 65 20 74 e.of.the.greatest.possible.use.t
53580 6f 20 74 68 65 20 70 75 62 6c 69 63 2c 20 74 68 65 20 62 65 73 74 20 77 61 79 20 74 6f 20 61 63 o.the.public,.the.best.way.to.ac
535a0 68 69 65 76 65 20 74 68 69 73 20 69 73 20 74 6f 20 6d 61 6b 65 20 69 74 0a 66 72 65 65 20 73 6f hieve.this.is.to.make.it.free.so
535c0 66 74 77 61 72 65 20 77 68 69 63 68 20 65 76 65 72 79 6f 6e 65 20 63 61 6e 20 72 65 64 69 73 74 ftware.which.everyone.can.redist
535e0 72 69 62 75 74 65 20 61 6e 64 20 63 68 61 6e 67 65 20 75 6e 64 65 72 20 74 68 65 73 65 0a 74 65 ribute.and.change.under.these.te
53600 72 6d 73 2e 0a 0a 20 20 20 54 6f 20 64 6f 20 73 6f 2c 20 61 74 74 61 63 68 20 74 68 65 20 66 6f rms......To.do.so,.attach.the.fo
53620 6c 6c 6f 77 69 6e 67 20 6e 6f 74 69 63 65 73 20 74 6f 20 74 68 65 20 70 72 6f 67 72 61 6d 2e 20 llowing.notices.to.the.program..
53640 20 49 74 20 69 73 20 73 61 66 65 73 74 0a 74 6f 20 61 74 74 61 63 68 20 74 68 65 6d 20 74 6f 20 .It.is.safest.to.attach.them.to.
53660 74 68 65 20 73 74 61 72 74 20 6f 66 20 65 61 63 68 20 73 6f 75 72 63 65 20 66 69 6c 65 20 74 6f the.start.of.each.source.file.to
53680 20 6d 6f 73 74 20 65 66 66 65 63 74 69 76 65 6c 79 0a 73 74 61 74 65 20 74 68 65 20 65 78 63 6c .most.effectively.state.the.excl
536a0 75 73 69 6f 6e 20 6f 66 20 77 61 72 72 61 6e 74 79 3b 20 61 6e 64 20 65 61 63 68 20 66 69 6c 65 usion.of.warranty;.and.each.file
536c0 20 73 68 6f 75 6c 64 20 68 61 76 65 20 61 74 20 6c 65 61 73 74 20 74 68 65 0a e2 80 9c 63 6f 70 .should.have.at.least.the....cop
536e0 79 72 69 67 68 74 e2 80 9d 20 6c 69 6e 65 20 61 6e 64 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 yright....line.and.a.pointer.to.
53700 77 68 65 72 65 20 74 68 65 20 66 75 6c 6c 20 6e 6f 74 69 63 65 20 69 73 20 66 6f 75 6e 64 2e 0a where.the.full.notice.is.found..
53720 0a 20 20 20 20 20 4f 4e 45 20 4c 49 4e 45 20 54 4f 20 47 49 56 45 20 54 48 45 20 50 52 4f 47 52 ......ONE.LINE.TO.GIVE.THE.PROGR
53740 41 4d 27 53 20 4e 41 4d 45 20 41 4e 44 20 41 20 42 52 49 45 46 20 49 44 45 41 20 4f 46 20 57 48 AM'S.NAME.AND.A.BRIEF.IDEA.OF.WH
53760 41 54 20 49 54 20 44 4f 45 53 2e 0a 20 20 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 59 AT.IT.DOES.......Copyright.(C).Y
53780 45 41 52 20 4e 41 4d 45 20 4f 46 20 41 55 54 48 4f 52 0a 0a 20 20 20 20 20 54 68 69 73 20 70 72 EAR.NAME.OF.AUTHOR.......This.pr
537a0 6f 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 ogram.is.free.software:.you.can.
537c0 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 20 20 redistribute.it.and/or.modify...
537e0 20 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 ...it.under.the.terms.of.the.GNU
53800 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 .General.Public.License.as.publi
53820 73 68 65 64 20 62 79 0a 20 20 20 20 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 shed.by......the.Free.Software.F
53840 6f 75 6e 64 61 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 oundation,.either.version.3.of.t
53860 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 20 28 61 74 0a 20 20 20 20 20 79 6f 75 72 20 6f 70 74 he.License,.or.(at......your.opt
53880 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 20 20 20 54 68 ion).any.later.version........Th
538a0 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 is.program.is.distributed.in.the
538c0 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 20 62 75 .hope.that.it.will.be.useful,.bu
538e0 74 0a 20 20 20 20 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 t......WITHOUT.ANY.WARRANTY;.wit
53900 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f hout.even.the.implied.warranty.o
53920 66 0a 20 20 20 20 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 f......MERCHANTABILITY.or.FITNES
53940 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 S.FOR.A.PARTICULAR.PURPOSE...See
53960 20 74 68 65 20 47 4e 55 0a 20 20 20 20 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 .the.GNU......General.Public.Lic
53980 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 20 20 20 20 20 59 6f 75 ense.for.more.details........You
539a0 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 .should.have.received.a.copy.of.
539c0 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 20 the.GNU.General.Public.License..
539e0 20 20 20 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 ....along.with.this.program...If
53a00 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c .not,.see.<https://www.gnu.org/l
53a20 69 63 65 6e 73 65 73 2f 3e 2e 0a 0a 20 20 20 41 6c 73 6f 20 61 64 64 20 69 6e 66 6f 72 6d 61 74 icenses/>......Also.add.informat
53a40 69 6f 6e 20 6f 6e 20 68 6f 77 20 74 6f 20 63 6f 6e 74 61 63 74 20 79 6f 75 20 62 79 20 65 6c 65 ion.on.how.to.contact.you.by.ele
53a60 63 74 72 6f 6e 69 63 20 61 6e 64 20 70 61 70 65 72 0a 6d 61 69 6c 2e 0a 0a 20 20 20 49 66 20 74 ctronic.and.paper.mail......If.t
53a80 68 65 20 70 72 6f 67 72 61 6d 20 64 6f 65 73 20 74 65 72 6d 69 6e 61 6c 20 69 6e 74 65 72 61 63 he.program.does.terminal.interac
53aa0 74 69 6f 6e 2c 20 6d 61 6b 65 20 69 74 20 6f 75 74 70 75 74 20 61 20 73 68 6f 72 74 0a 6e 6f 74 tion,.make.it.output.a.short.not
53ac0 69 63 65 20 6c 69 6b 65 20 74 68 69 73 20 77 68 65 6e 20 69 74 20 73 74 61 72 74 73 20 69 6e 20 ice.like.this.when.it.starts.in.
53ae0 61 6e 20 69 6e 74 65 72 61 63 74 69 76 65 20 6d 6f 64 65 3a 0a 0a 20 20 20 20 20 50 52 4f 47 52 an.interactive.mode:.......PROGR
53b00 41 4d 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 59 45 41 52 20 4e 41 4d 45 20 4f 46 20 41 55 AM.Copyright.(C).YEAR.NAME.OF.AU
53b20 54 48 4f 52 0a 20 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 63 6f 6d 65 73 20 77 69 74 THOR......This.program.comes.wit
53b40 68 20 41 42 53 4f 4c 55 54 45 4c 59 20 4e 4f 20 57 41 52 52 41 4e 54 59 3b 20 66 6f 72 20 64 65 h.ABSOLUTELY.NO.WARRANTY;.for.de
53b60 74 61 69 6c 73 20 74 79 70 65 20 e2 80 98 73 68 6f 77 20 77 e2 80 99 2e 0a 20 20 20 20 20 54 68 tails.type....show.w..........Th
53b80 69 73 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 2c 20 61 6e 64 20 79 6f 75 20 61 72 65 is.is.free.software,.and.you.are
53ba0 20 77 65 6c 63 6f 6d 65 20 74 6f 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 0a 20 20 20 20 .welcome.to.redistribute.it.....
53bc0 20 75 6e 64 65 72 20 63 65 72 74 61 69 6e 20 63 6f 6e 64 69 74 69 6f 6e 73 3b 20 74 79 70 65 20 .under.certain.conditions;.type.
53be0 e2 80 98 73 68 6f 77 20 63 e2 80 99 20 66 6f 72 20 64 65 74 61 69 6c 73 2e 0a 0a 20 20 20 54 68 ...show.c....for.details......Th
53c00 65 20 68 79 70 6f 74 68 65 74 69 63 61 6c 20 63 6f 6d 6d 61 6e 64 73 20 e2 80 98 73 68 6f 77 20 e.hypothetical.commands....show.
53c20 77 e2 80 99 20 61 6e 64 20 e2 80 98 73 68 6f 77 20 63 e2 80 99 20 73 68 6f 75 6c 64 20 73 68 6f w....and....show.c....should.sho
53c40 77 20 74 68 65 0a 61 70 70 72 6f 70 72 69 61 74 65 20 70 61 72 74 73 20 6f 66 20 74 68 65 20 47 w.the.appropriate.parts.of.the.G
53c60 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 2e 20 20 4f 66 20 63 6f 75 72 73 eneral.Public.License...Of.cours
53c80 65 2c 20 79 6f 75 72 0a 70 72 6f 67 72 61 6d e2 80 99 73 20 63 6f 6d 6d 61 6e 64 73 20 6d 69 67 e,.your.program...s.commands.mig
53ca0 68 74 20 62 65 20 64 69 66 66 65 72 65 6e 74 3b 20 66 6f 72 20 61 20 47 55 49 20 69 6e 74 65 72 ht.be.different;.for.a.GUI.inter
53cc0 66 61 63 65 2c 20 79 6f 75 20 77 6f 75 6c 64 0a 75 73 65 20 61 6e 20 e2 80 9c 61 62 6f 75 74 20 face,.you.would.use.an....about.
53ce0 62 6f 78 e2 80 9d 2e 0a 0a 20 20 20 59 6f 75 20 73 68 6f 75 6c 64 20 61 6c 73 6f 20 67 65 74 20 box.........You.should.also.get.
53d00 79 6f 75 72 20 65 6d 70 6c 6f 79 65 72 20 28 69 66 20 79 6f 75 20 77 6f 72 6b 20 61 73 20 61 20 your.employer.(if.you.work.as.a.
53d20 70 72 6f 67 72 61 6d 6d 65 72 29 20 6f 72 0a 73 63 68 6f 6f 6c 2c 20 69 66 20 61 6e 79 2c 20 74 programmer).or.school,.if.any,.t
53d40 6f 20 73 69 67 6e 20 61 20 e2 80 9c 63 6f 70 79 72 69 67 68 74 20 64 69 73 63 6c 61 69 6d 65 72 o.sign.a....copyright.disclaimer
53d60 e2 80 9d 20 66 6f 72 20 74 68 65 20 70 72 6f 67 72 61 6d 2c 20 69 66 0a 6e 65 63 65 73 73 61 72 ....for.the.program,.if.necessar
53d80 79 2e 20 20 46 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 74 68 69 73 y...For.more.information.on.this
53da0 2c 20 61 6e 64 20 68 6f 77 20 74 6f 20 61 70 70 6c 79 20 61 6e 64 20 66 6f 6c 6c 6f 77 0a 74 68 ,.and.how.to.apply.and.follow.th
53dc0 65 20 47 4e 55 20 47 50 4c 2c 20 73 65 65 20 3c 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e 75 2e e.GNU.GPL,.see.<https://www.gnu.
53de0 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 0a 20 20 20 54 68 65 20 47 4e 55 20 47 65 6e 65 org/licenses/>......The.GNU.Gene
53e00 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 64 6f 65 73 20 6e 6f 74 20 70 65 72 6d ral.Public.License.does.not.perm
53e20 69 74 20 69 6e 63 6f 72 70 6f 72 61 74 69 6e 67 20 79 6f 75 72 0a 70 72 6f 67 72 61 6d 20 69 6e it.incorporating.your.program.in
53e40 74 6f 20 70 72 6f 70 72 69 65 74 61 72 79 20 70 72 6f 67 72 61 6d 73 2e 20 20 49 66 20 79 6f 75 to.proprietary.programs...If.you
53e60 72 20 70 72 6f 67 72 61 6d 20 69 73 20 61 20 73 75 62 72 6f 75 74 69 6e 65 0a 6c 69 62 72 61 72 r.program.is.a.subroutine.librar
53e80 79 2c 20 79 6f 75 20 6d 61 79 20 63 6f 6e 73 69 64 65 72 20 69 74 20 6d 6f 72 65 20 75 73 65 66 y,.you.may.consider.it.more.usef
53ea0 75 6c 20 74 6f 20 70 65 72 6d 69 74 20 6c 69 6e 6b 69 6e 67 20 70 72 6f 70 72 69 65 74 61 72 79 ul.to.permit.linking.proprietary
53ec0 0a 61 70 70 6c 69 63 61 74 69 6f 6e 73 20 77 69 74 68 20 74 68 65 20 6c 69 62 72 61 72 79 2e 20 .applications.with.the.library..
53ee0 20 49 66 20 74 68 69 73 20 69 73 20 77 68 61 74 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 64 6f 2c .If.this.is.what.you.want.to.do,
53f00 20 75 73 65 20 74 68 65 0a 47 4e 55 20 4c 65 73 73 65 72 20 47 65 6e 65 72 61 6c 20 50 75 62 6c .use.the.GNU.Lesser.General.Publ
53f20 69 63 20 4c 69 63 65 6e 73 65 20 69 6e 73 74 65 61 64 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e ic.License.instead.of.this.Licen
53f40 73 65 2e 20 20 42 75 74 20 66 69 72 73 74 2c 0a 70 6c 65 61 73 65 20 72 65 61 64 20 3c 68 74 74 se...But.first,.please.read.<htt
53f60 70 73 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 77 68 79 2d 6e 6f ps://www.gnu.org/licenses/why-no
53f80 74 2d 6c 67 70 6c 2e 68 74 6d 6c 3e 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 61 73 68 2e 69 6e 66 6f t-lgpl.html>.....File:.dash.info
53fa0 2c 20 20 4e 6f 64 65 3a 20 49 6e 64 65 78 2c 20 20 50 72 65 76 3a 20 47 50 4c 2c 20 20 55 70 3a ,..Node:.Index,..Prev:.GPL,..Up:
53fc0 20 54 6f 70 0a 0a 49 6e 64 65 78 0a 2a 2a 2a 2a 2a 0a 0a 00 08 5b 69 6e 64 65 78 00 08 5d 0a 2a .Top..Index.*****....[index..].*
53fe0 20 4d 65 6e 75 3a 0a 0a 2a 20 21 63 64 72 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .Menu:..*.!cdr:.................
54000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 73 74 72 75 63 74 69 76 65 20 6f 70 65 .................Destructive.ope
54020 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rations.........................
54040 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 ................................
54060 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 31 36 29 0a 2a 20 21 63 6f 6e 73 3a 20 20 20 20 20 20 .......(line..16).*.!cons:......
54080 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 44 65 73 74 72 ...........................Destr
540a0 75 63 74 69 76 65 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 uctive.operations...............
540c0 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 ................................
540e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 20 38 29 0a 2a 20 2d 2d .................(line...8).*.--
54100 3e 3a 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 >:..............................
54120 20 20 20 20 20 54 68 72 65 61 64 69 6e 67 20 6d 61 63 72 6f 73 2e 20 20 20 20 28 6c 69 6e 65 20 .....Threading.macros.....(line.
54140 20 33 35 29 0a 2a 20 2d 3e 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .35).*.->:......................
54160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 68 72 65 61 64 69 6e 67 20 6d 61 63 72 6f 73 2e 20 ..............Threading.macros..
54180 20 20 20 28 6c 69 6e 65 20 20 20 39 29 0a 2a 20 2d 3e 3e 3a 20 20 20 20 20 20 20 20 20 20 20 20 ...(line...9).*.->>:............
541a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 68 72 65 61 64 69 6e 67 .......................Threading
541c0 20 6d 61 63 72 6f 73 2e 20 20 20 20 28 6c 69 6e 65 20 20 32 32 29 0a 2a 20 2d 61 6c 6c 3f 3a 20 .macros.....(line..22).*.-all?:.
541e0 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 ................................
54200 50 72 65 64 69 63 61 74 65 73 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 35 33 29 0a Predicates...........(line..53).
54220 2a 20 2d 61 6e 64 66 6e 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 *.-andfn:.......................
54240 20 20 20 20 20 20 20 20 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 73 2e 0a 20 .........Function.combinators...
54260 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 ................................
54280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 .............................(li
542a0 6e 65 20 31 38 34 29 0a 2a 20 2d 61 6e 6e 6f 74 61 74 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 ne.184).*.-annotate:............
542c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4d 61 70 73 2e 20 20 20 20 20 20 20 20 20 20 .................Maps...........
542e0 20 20 20 20 20 20 28 6c 69 6e 65 20 20 38 34 29 0a 2a 20 2d 61 6e 79 3f 3a 20 20 20 20 20 20 20 ......(line..84).*.-any?:.......
54300 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 50 72 65 64 69 63 ..........................Predic
54320 61 74 65 73 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 34 31 29 0a 2a 20 2d 61 70 70 ates...........(line..41).*.-app
54340 6c 69 66 79 3a 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 lify:...........................
54360 20 20 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 73 2e 0a 20 20 20 20 20 20 20 ...Function.combinators.........
54380 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 ................................
543a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 36 33 .......................(line..63
543c0 29 0a 2a 20 2d 61 73 2d 3e 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).*.-as->:......................
543e0 20 20 20 20 20 20 20 20 20 20 20 54 68 72 65 61 64 69 6e 67 20 6d 61 63 72 6f 73 2e 20 20 20 20 ...........Threading.macros.....
54400 28 6c 69 6e 65 20 20 34 39 29 0a 2a 20 2d 62 75 74 6c 61 73 74 3a 20 20 20 20 20 20 20 20 20 20 (line..49).*.-butlast:..........
54420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 20 6c 69 73 74 20 6f ....................Other.list.o
54440 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 perations.......................
54460 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 ................................
54480 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 33 35 29 0a 2a 20 2d 63 6c 6f 6e 65 3a 20 20 20 .........(line.335).*.-clone:...
544a0 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 54 72 65 .............................Tre
544c0 65 20 6f 70 65 72 61 74 69 6f 6e 73 2e 20 20 20 20 20 28 6c 69 6e 65 20 31 32 32 29 0a 2a 20 2d e.operations......(line.122).*.-
544e0 63 6f 6d 6d 6f 6e 2d 70 72 65 66 69 78 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 common-prefix:..................
54500 20 20 20 20 20 20 52 65 64 75 63 74 69 6f 6e 73 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 ......Reductions...........(line
54520 20 32 34 32 29 0a 2a 20 2d 63 6f 6d 6d 6f 6e 2d 73 75 66 66 69 78 3a 20 20 20 20 20 20 20 20 20 .242).*.-common-suffix:.........
54540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 64 75 63 74 69 6f 6e 73 2e 20 20 20 20 20 20 ...............Reductions.......
54560 20 20 20 20 28 6c 69 6e 65 20 32 35 32 29 0a 2a 20 2d 63 6f 6d 70 6f 73 65 3a 20 20 20 20 20 20 ....(line.252).*.-compose:......
54580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 75 6e 63 74 69 6f 6e ........................Function
545a0 20 63 6f 6d 62 69 6e 61 74 6f 72 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .combinators....................
545c0 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 ................................
545e0 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 34 39 29 0a 2a 20 2d 63 6f 6e 63 61 74 ............(line..49).*.-concat
54600 3a 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 :...............................
54620 4c 69 73 74 20 74 6f 20 6c 69 73 74 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 32 33 29 0a List.to.list.........(line..23).
54640 2a 20 2d 63 6f 6e 73 2a 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 *.-cons*:.......................
54660 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a .........Other.list.operations..
54680 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 ................................
546a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c ..............................(l
546c0 69 6e 65 20 20 33 30 29 0a 2a 20 2d 63 6f 6e 73 2d 70 61 69 72 3f 3a 20 20 20 20 20 20 20 20 20 ine..30).*.-cons-pair?:.........
546e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 72 65 64 69 63 61 74 65 73 2e 20 20 20 ..................Predicates....
54700 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 36 37 29 0a 2a 20 2d 63 6f 6e 73 74 3a 20 20 20 20 20 .......(line.167).*.-const:.....
54720 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 46 75 6e 63 74 ...........................Funct
54740 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ion.combinators.................
54760 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 ................................
54780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 32 38 29 0a 2a 20 2d 63 6f 6e ...............(line.128).*.-con
547a0 74 61 69 6e 73 3f 3a 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 tains?:.........................
547c0 20 20 20 50 72 65 64 69 63 61 74 65 73 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 30 ...Predicates...........(line.10
547e0 30 29 0a 2a 20 2d 63 6f 70 79 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0).*.-copy:.....................
54800 20 20 20 20 20 20 20 20 20 20 20 20 4d 61 70 73 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ............Maps................
54820 20 28 6c 69 6e 65 20 31 33 39 29 0a 2a 20 2d 63 6f 75 6e 74 3a 20 20 20 20 20 20 20 20 20 20 20 .(line.139).*.-count:...........
54840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 64 75 63 74 69 6f 6e 73 2e .....................Reductions.
54860 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 37 32 29 0a 2a 20 2d 63 75 74 3a 20 20 20 20 ..........(line.172).*.-cut:....
54880 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 46 75 ..............................Fu
548a0 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 nction.combinators..............
548c0 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 ................................
548e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 34 30 29 0a 2a 20 2d ..................(line.140).*.-
54900 63 79 63 6c 65 3a 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 cycle:..........................
54920 20 20 20 20 20 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 ......Other.list.operations.....
54940 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 ................................
54960 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 6c 69 6e 65 ...........................(line
54980 20 31 38 30 29 0a 2a 20 2d 64 69 66 66 65 72 65 6e 63 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 .180).*.-difference:............
549a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 65 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 20 20 ...............Set.operations...
549c0 20 20 20 20 28 6c 69 6e 65 20 20 32 30 29 0a 2a 20 2d 64 69 73 74 69 6e 63 74 3a 20 20 20 20 20 ....(line..20).*.-distinct:.....
549e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 65 74 20 6f 70 65 72 ........................Set.oper
54a00 61 74 69 6f 6e 73 2e 20 20 20 20 20 20 28 6c 69 6e 65 20 20 36 32 29 0a 2a 20 2d 64 6f 74 69 6d ations.......(line..62).*.-dotim
54a20 65 73 3a 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 es:.............................
54a40 20 53 69 64 65 20 65 66 66 65 63 74 73 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 38 30 29 .Side.effects.........(line..80)
54a60 0a 2a 20 2d 64 6f 74 6f 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .*.-doto:.......................
54a80 20 20 20 20 20 20 20 20 20 20 54 68 72 65 61 64 69 6e 67 20 6d 61 63 72 6f 73 2e 20 20 20 20 28 ..........Threading.macros.....(
54aa0 6c 69 6e 65 20 20 39 39 29 0a 2a 20 2d 64 72 6f 70 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 line..99).*.-drop:..............
54ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 ...................Sublist.selec
54ae0 74 69 6f 6e 2e 20 20 20 28 6c 69 6e 65 20 31 34 37 29 0a 2a 20 2d 64 72 6f 70 2d 6c 61 73 74 3a tion....(line.147).*.-drop-last:
54b00 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 53 75 62 6c ............................Subl
54b20 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 2e 20 20 20 28 6c 69 6e 65 20 31 36 31 29 0a 2a 20 2d 64 ist.selection....(line.161).*.-d
54b40 72 6f 70 2d 77 68 69 6c 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rop-while:......................
54b60 20 20 20 20 20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 2e 20 20 20 28 6c 69 6e 65 20 .....Sublist.selection....(line.
54b80 31 39 32 29 0a 2a 20 2d 65 61 63 68 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 192).*.-each:...................
54ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 69 64 65 20 65 66 66 65 63 74 73 2e 20 20 20 20 20 ..............Side.effects......
54bc0 20 20 20 28 6c 69 6e 65 20 20 20 38 29 0a 2a 20 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 3a 20 20 ...(line...8).*.-each-indexed:..
54be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 69 64 65 20 65 66 66 65 .......................Side.effe
54c00 63 74 73 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 33 38 29 0a 2a 20 2d 65 61 63 68 2d 72 cts.........(line..38).*.-each-r
54c20 3a 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 :...............................
54c40 53 69 64 65 20 65 66 66 65 63 74 73 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 35 32 29 0a Side.effects.........(line..52).
54c60 2a 20 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 *.-each-r-while:................
54c80 20 20 20 20 20 20 20 20 20 53 69 64 65 20 65 66 66 65 63 74 73 2e 20 20 20 20 20 20 20 20 28 6c .........Side.effects.........(l
54ca0 69 6e 65 20 20 36 35 29 0a 2a 20 2d 65 61 63 68 2d 77 68 69 6c 65 3a 20 20 20 20 20 20 20 20 20 ine..65).*.-each-while:.........
54cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 69 64 65 20 65 66 66 65 63 74 73 2e 20 ..................Side.effects..
54ce0 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 32 34 29 0a 2a 20 2d 65 6c 65 6d 2d 69 6e 64 65 78 3a .......(line..24).*.-elem-index:
54d00 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 49 6e 64 65 78 ...........................Index
54d20 69 6e 67 2e 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 20 39 29 0a 2a 20 2d 65 6c ing.............(line...9).*.-el
54d40 65 6d 2d 69 6e 64 69 63 65 73 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 em-indices:.....................
54d60 20 20 20 20 49 6e 64 65 78 69 6e 67 2e 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 ....Indexing.............(line..
54d80 32 31 29 0a 2a 20 2d 65 76 65 72 79 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 21).*.-every:...................
54da0 20 20 20 20 20 20 20 20 20 20 20 20 20 50 72 65 64 69 63 61 74 65 73 2e 20 20 20 20 20 20 20 20 .............Predicates.........
54dc0 20 20 28 6c 69 6e 65 20 20 32 33 29 0a 2a 20 2d 66 69 66 74 68 2d 69 74 65 6d 3a 20 20 20 20 20 ..(line..23).*.-fifth-item:.....
54de0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 20 6c 69 73 74 ......................Other.list
54e00 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .operations.....................
54e20 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 ................................
54e40 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 31 35 29 0a 2a 20 2d 66 69 6c 74 65 72 3a ...........(line.315).*.-filter:
54e60 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 53 ...............................S
54e80 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 2e 20 20 20 28 6c 69 6e 65 20 20 20 38 29 0a 2a ublist.selection....(line...8).*
54ea0 20 2d 66 69 6e 64 2d 69 6e 64 65 78 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .-find-index:...................
54ec0 20 20 20 20 20 20 20 20 49 6e 64 65 78 69 6e 67 2e 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 ........Indexing.............(li
54ee0 6e 65 20 20 33 32 29 0a 2a 20 2d 66 69 6e 64 2d 69 6e 64 69 63 65 73 3a 20 20 20 20 20 20 20 20 ne..32).*.-find-indices:........
54f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 64 65 78 69 6e 67 2e 20 20 20 20 20 20 .................Indexing.......
54f20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 36 30 29 0a 2a 20 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e ......(line..60).*.-find-last-in
54f40 64 65 78 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 64 65 78 69 dex:......................Indexi
54f60 6e 67 2e 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 34 36 29 0a 2a 20 2d 66 69 72 ng.............(line..46).*.-fir
54f80 73 74 3a 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 st:.............................
54fa0 20 20 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 ...Other.list.operations........
54fc0 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 ................................
54fe0 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 6c 69 6e 65 20 32 34 ........................(line.24
55000 36 29 0a 2a 20 2d 66 69 72 73 74 2d 69 74 65 6d 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6).*.-first-item:...............
55020 20 20 20 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e ............Other.list.operation
55040 73 2e 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 s...............................
55060 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 ................................
55080 20 28 6c 69 6e 65 20 32 37 32 29 0a 2a 20 2d 66 69 78 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 .(line.272).*.-fix:.............
550a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 20 6c 69 73 74 20 .....................Other.list.
550c0 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 operations......................
550e0 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 ................................
55100 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 37 35 29 0a 2a 20 2d 66 69 78 66 6e 3a 20 20 ..........(line.375).*.-fixfn:..
55120 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 46 75 ..............................Fu
55140 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 nction.combinators..............
55160 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 ................................
55180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 32 34 29 0a 2a 20 2d ..................(line.224).*.-
551a0 66 6c 61 74 74 65 6e 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 flatten:........................
551c0 20 20 20 20 20 20 4c 69 73 74 20 74 6f 20 6c 69 73 74 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 ......List.to.list.........(line
551e0 20 20 33 34 29 0a 2a 20 2d 66 6c 61 74 74 65 6e 2d 6e 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..34).*.-flatten-n:.............
55200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4c 69 73 74 20 74 6f 20 6c 69 73 74 2e 20 20 20 20 ...............List.to.list.....
55220 20 20 20 20 28 6c 69 6e 65 20 20 35 36 29 0a 2a 20 2d 66 6c 69 70 3a 20 20 20 20 20 20 20 20 20 ....(line..56).*.-flip:.........
55240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 75 6e 63 74 69 6f 6e ........................Function
55260 20 63 6f 6d 62 69 6e 61 74 6f 72 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .combinators....................
55280 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 ................................
552a0 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 39 35 29 0a 2a 20 2d 66 6f 75 72 74 68 ............(line..95).*.-fourth
552c0 2d 69 74 65 6d 3a 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 -item:..........................
552e0 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 Other.list.operations...........
55300 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 ................................
55320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 30 35 29 0a .....................(line.305).
55340 2a 20 2d 67 72 61 64 65 2d 64 6f 77 6e 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 *.-grade-down:..................
55360 20 20 20 20 20 20 20 20 20 49 6e 64 65 78 69 6e 67 2e 20 20 20 20 20 20 20 20 20 20 20 20 28 6c .........Indexing.............(l
55380 69 6e 65 20 20 38 31 29 0a 2a 20 2d 67 72 61 64 65 2d 75 70 3a 20 20 20 20 20 20 20 20 20 20 20 ine..81).*.-grade-up:...........
553a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 64 65 78 69 6e 67 2e 20 20 20 20 20 ..................Indexing......
553c0 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 37 31 29 0a 2a 20 2d 67 72 6f 75 70 2d 62 79 3a 20 20 .......(line..71).*.-group-by:..
553e0 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 50 61 72 74 69 ...........................Parti
55400 74 69 6f 6e 69 6e 67 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 39 34 29 0a 2a 20 2d 69 66 tioning.........(line.194).*.-if
55420 2d 6c 65 74 3a 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 -let:...........................
55440 20 20 20 20 42 69 6e 64 69 6e 67 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 ....Binding..............(line..
55460 33 34 29 0a 2a 20 2d 69 66 2d 6c 65 74 2a 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 34).*.-if-let*:.................
55480 20 20 20 20 20 20 20 20 20 20 20 20 20 42 69 6e 64 69 6e 67 2e 20 20 20 20 20 20 20 20 20 20 20 .............Binding............
554a0 20 20 28 6c 69 6e 65 20 20 34 35 29 0a 2a 20 2d 69 6e 69 74 73 3a 20 20 20 20 20 20 20 20 20 20 ..(line..45).*.-inits:..........
554c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 64 75 63 74 69 6f 6e 73 ......................Reductions
554e0 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 32 32 29 0a 2a 20 2d 69 6e 73 65 72 74 2d ...........(line.222).*.-insert-
55500 61 74 3a 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 4c at:............................L
55520 69 73 74 20 74 6f 20 6c 69 73 74 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 31 30 29 0a 2a ist.to.list.........(line.110).*
55540 20 2d 69 6e 74 65 72 6c 65 61 76 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .-interleave:...................
55560 20 20 20 20 20 20 20 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 ........Other.list.operations...
55580 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 ................................
555a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 .............................(li
555c0 6e 65 20 20 36 37 29 0a 2a 20 2d 69 6e 74 65 72 70 6f 73 65 3a 20 20 20 20 20 20 20 20 20 20 20 ne..67).*.-interpose:...........
555e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 .................Other.list.oper
55600 61 74 69 6f 6e 73 2e 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 ations..........................
55620 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 ................................
55640 20 20 20 20 20 20 28 6c 69 6e 65 20 20 35 37 29 0a 2a 20 2d 69 6e 74 65 72 73 65 63 74 69 6f 6e ......(line..57).*.-intersection
55660 3a 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 53 65 74 20 6f 70 :.........................Set.op
55680 65 72 61 74 69 6f 6e 73 2e 20 20 20 20 20 20 28 6c 69 6e 65 20 20 33 32 29 0a 2a 20 2d 69 6f 74 erations.......(line..32).*.-iot
556a0 61 3a 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 a:..............................
556c0 20 20 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 ...Other.list.operations........
556e0 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 ................................
55700 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 6c 69 6e 65 20 20 37 ........................(line..7
55720 38 29 0a 2a 20 2d 69 73 2d 69 6e 66 69 78 3f 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 8).*.-is-infix?:................
55740 20 20 20 20 20 20 20 20 20 20 20 20 50 72 65 64 69 63 61 74 65 73 2e 20 20 20 20 20 20 20 20 20 ............Predicates..........
55760 20 28 6c 69 6e 65 20 31 35 33 29 0a 2a 20 2d 69 73 2d 70 72 65 66 69 78 3f 3a 20 20 20 20 20 20 .(line.153).*.-is-prefix?:......
55780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 72 65 64 69 63 61 74 65 73 2e .....................Predicates.
557a0 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 32 39 29 0a 2a 20 2d 69 73 2d 73 75 66 66 69 ..........(line.129).*.-is-suffi
557c0 78 3f 3a 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 50 72 x?:...........................Pr
557e0 65 64 69 63 61 74 65 73 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 34 31 29 0a 2a 20 edicates...........(line.141).*.
55800 2d 69 74 65 72 61 74 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -iterate:.......................
55820 20 20 20 20 20 20 20 55 6e 66 6f 6c 64 69 6e 67 2e 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e .......Unfolding............(lin
55840 65 20 20 20 39 29 0a 2a 20 2d 69 74 65 72 61 74 65 66 6e 3a 20 20 20 20 20 20 20 20 20 20 20 20 e...9).*.-iteratefn:............
55860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 ................Function.combina
55880 74 6f 72 73 2e 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 tors............................
558a0 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 ................................
558c0 20 20 20 20 28 6c 69 6e 65 20 32 30 31 29 0a 2a 20 2d 6a 75 78 74 3a 20 20 20 20 20 20 20 20 20 ....(line.201).*.-juxt:.........
558e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 75 6e 63 74 69 6f 6e ........................Function
55900 20 63 6f 6d 62 69 6e 61 74 6f 72 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .combinators....................
55920 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 ................................
55940 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 33 37 29 0a 2a 20 2d 6b 65 65 70 3a 20 ............(line..37).*.-keep:.
55960 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 ................................
55980 4c 69 73 74 20 74 6f 20 6c 69 73 74 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 20 38 29 0a List.to.list.........(line...8).
559a0 2a 20 2d 6c 61 6d 62 64 61 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 *.-lambda:......................
559c0 20 20 20 20 20 20 20 20 20 42 69 6e 64 69 6e 67 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c .........Binding..............(l
559e0 69 6e 65 20 32 34 37 29 0a 2a 20 2d 6c 61 73 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ine.247).*.-last:...............
55a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 ..................Other.list.ope
55a20 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rations.........................
55a40 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 ................................
55a60 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 36 32 29 0a 2a 20 2d 6c 61 73 74 2d 69 74 65 6d 3a 20 .......(line.262).*.-last-item:.
55a80 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 4f 74 68 65 72 ...........................Other
55aa0 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .list.operations................
55ac0 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 ................................
55ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 32 35 29 0a 2a 20 2d 6c 65 ................(line.325).*.-le
55b00 74 3a 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 t:..............................
55b20 20 20 20 20 42 69 6e 64 69 6e 67 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 ....Binding..............(line..
55b40 36 31 29 0a 2a 20 2d 6c 65 74 2a 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61).*.-let*:....................
55b60 20 20 20 20 20 20 20 20 20 20 20 20 20 42 69 6e 64 69 6e 67 2e 20 20 20 20 20 20 20 20 20 20 20 .............Binding............
55b80 20 20 28 6c 69 6e 65 20 32 32 37 29 0a 2a 20 2d 6c 69 73 74 3a 20 20 20 20 20 20 20 20 20 20 20 ..(line.227).*.-list:...........
55ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 20 6c 69 73 74 ......................Other.list
55bc0 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .operations.....................
55be0 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 ................................
55c00 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 35 38 29 0a 2a 20 2d 6d 61 70 3a 20 20 20 ...........(line.358).*.-map:...
55c20 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 4d ...............................M
55c40 61 70 73 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 31 30 29 0a 2a aps.................(line..10).*
55c60 20 2d 6d 61 70 2d 66 69 72 73 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .-map-first:....................
55c80 20 20 20 20 20 20 20 20 4d 61 70 73 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 ........Maps.................(li
55ca0 6e 65 20 20 33 38 29 0a 2a 20 2d 6d 61 70 2d 69 6e 64 65 78 65 64 3a 20 20 20 20 20 20 20 20 20 ne..38).*.-map-indexed:.........
55cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4d 61 70 73 2e 20 20 20 20 20 20 20 20 20 20 .................Maps...........
55ce0 20 20 20 20 20 20 28 6c 69 6e 65 20 20 36 36 29 0a 2a 20 2d 6d 61 70 2d 6c 61 73 74 3a 20 20 20 ......(line..66).*.-map-last:...
55d00 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 4d 61 70 73 2e 20 ..........................Maps..
55d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 35 32 29 0a 2a 20 2d 6d 61 70 ...............(line..52).*.-map
55d40 2d 77 68 65 6e 3a 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 -when:..........................
55d60 20 20 20 4d 61 70 73 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 32 ...Maps.................(line..2
55d80 32 29 0a 2a 20 2d 6d 61 70 63 61 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2).*.-mapcat:...................
55da0 20 20 20 20 20 20 20 20 20 20 20 20 4d 61 70 73 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ............Maps................
55dc0 20 28 6c 69 6e 65 20 31 32 38 29 0a 2a 20 2d 6d 61 78 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 .(line.128).*.-max:.............
55de0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 64 75 63 74 69 6f 6e 73 2e .....................Reductions.
55e00 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 38 36 29 0a 2a 20 2d 6d 61 78 2d 62 79 3a 20 ..........(line.286).*.-max-by:.
55e20 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 52 65 ..............................Re
55e40 64 75 63 74 69 6f 6e 73 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 39 36 29 0a 2a 20 ductions...........(line.296).*.
55e60 2d 6d 69 6e 3a 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 -min:...........................
55e80 20 20 20 20 20 20 20 52 65 64 75 63 74 69 6f 6e 73 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e .......Reductions...........(lin
55ea0 65 20 32 36 32 29 0a 2a 20 2d 6d 69 6e 2d 62 79 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e.262).*.-min-by:...............
55ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 64 75 63 74 69 6f 6e 73 2e 20 20 20 20 20 ................Reductions......
55ee0 20 20 20 20 20 28 6c 69 6e 65 20 32 37 32 29 0a 2a 20 2d 6e 6f 6e 2d 6e 69 6c 3a 20 20 20 20 20 .....(line.272).*.-non-nil:.....
55f00 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 53 75 62 6c 69 73 74 .........................Sublist
55f20 20 73 65 6c 65 63 74 69 6f 6e 2e 20 20 20 28 6c 69 6e 65 20 20 39 34 29 0a 2a 20 2d 6e 6f 6e 65 .selection....(line..94).*.-none
55f40 3f 3a 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 ?:..............................
55f60 20 20 50 72 65 64 69 63 61 74 65 73 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 37 33 ..Predicates...........(line..73
55f80 29 0a 2a 20 2d 6e 6f 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).*.-not:.......................
55fa0 20 20 20 20 20 20 20 20 20 20 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 73 2e ...........Function.combinators.
55fc0 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 ................................
55fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ...............................(
56000 6c 69 6e 65 20 31 35 33 29 0a 2a 20 2d 6f 6e 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 line.153).*.-on:................
56020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 ...................Function.comb
56040 69 6e 61 74 6f 72 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 inators.........................
56060 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 ................................
56080 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 37 35 29 0a 2a 20 2d 6f 6e 6c 79 2d 73 6f 6d 65 3f 3a .......(line..75).*.-only-some?:
560a0 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 50 72 65 64 69 ...........................Predi
560c0 63 61 74 65 73 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 38 35 29 0a 2a 20 2d 6f 72 cates...........(line..85).*.-or
560e0 66 6e 3a 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 fn:.............................
56100 20 20 20 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 73 2e 0a 20 20 20 20 20 20 ....Function.combinators........
56120 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 ................................
56140 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 6c 69 6e 65 20 31 36 ........................(line.16
56160 37 29 0a 2a 20 2d 70 61 64 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7).*.-pad:......................
56180 20 20 20 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e ............Other.list.operation
561a0 73 2e 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 s...............................
561c0 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 ................................
561e0 20 28 6c 69 6e 65 20 31 39 31 29 0a 2a 20 2d 70 61 72 74 69 61 6c 3a 20 20 20 20 20 20 20 20 20 .(line.191).*.-partial:.........
56200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 75 6e 63 74 69 6f 6e 20 63 6f .....................Function.co
56220 6d 62 69 6e 61 74 6f 72 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 mbinators.......................
56240 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 ................................
56260 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 20 38 29 0a 2a 20 2d 70 61 72 74 69 74 69 6f 6e .........(line...8).*.-partition
56280 3a 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 50 61 72 :............................Par
562a0 74 69 74 69 6f 6e 69 6e 67 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 38 30 29 0a 2a 20 2d titioning.........(line..80).*.-
562c0 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 69 74 65 6d 3a 20 20 20 20 20 20 20 20 20 20 20 partition-after-item:...........
562e0 20 20 20 20 20 20 50 61 72 74 69 74 69 6f 6e 69 6e 67 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 ......Partitioning.........(line
56300 20 31 38 34 29 0a 2a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 3a 20 20 .184).*.-partition-after-pred:..
56320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 61 72 74 69 74 69 6f 6e 69 6e 67 2e 20 20 20 20 ...............Partitioning.....
56340 20 20 20 20 28 6c 69 6e 65 20 31 35 31 29 0a 2a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 3a ....(line.151).*.-partition-all:
56360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 61 72 74 69 74 69 6f ........................Partitio
56380 6e 69 6e 67 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 39 32 29 0a 2a 20 2d 70 61 72 74 69 ning.........(line..92).*.-parti
563a0 74 69 6f 6e 2d 61 6c 6c 2d 69 6e 2d 73 74 65 70 73 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tion-all-in-steps:..............
563c0 20 50 61 72 74 69 74 69 6f 6e 69 6e 67 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 31 35 29 .Partitioning.........(line.115)
563e0 0a 2a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 69 74 65 6d 3a 20 20 20 20 20 20 .*.-partition-before-item:......
56400 20 20 20 20 20 20 20 20 20 20 50 61 72 74 69 74 69 6f 6e 69 6e 67 2e 20 20 20 20 20 20 20 20 28 ..........Partitioning.........(
56420 6c 69 6e 65 20 31 37 34 29 0a 2a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 70 72 line.174).*.-partition-before-pr
56440 65 64 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 61 72 74 69 74 69 6f 6e 69 6e 67 2e ed:................Partitioning.
56460 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 36 33 29 0a 2a 20 2d 70 61 72 74 69 74 69 6f 6e 2d ........(line.163).*.-partition-
56480 62 79 3a 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 50 61 72 74 by:.........................Part
564a0 69 74 69 6f 6e 69 6e 67 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 32 37 29 0a 2a 20 2d 70 itioning.........(line.127).*.-p
564c0 61 72 74 69 74 69 6f 6e 2d 62 79 2d 68 65 61 64 65 72 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 artition-by-header:.............
564e0 20 20 20 20 20 50 61 72 74 69 74 69 6f 6e 69 6e 67 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 .....Partitioning.........(line.
56500 31 33 38 29 0a 2a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 69 6e 2d 73 74 65 70 73 3a 20 20 20 20 20 138).*.-partition-in-steps:.....
56520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 61 72 74 69 74 69 6f 6e 69 6e 67 2e 20 20 20 20 20 ..............Partitioning......
56540 20 20 20 28 6c 69 6e 65 20 31 30 33 29 0a 2a 20 2d 70 65 72 6d 75 74 61 74 69 6f 6e 73 3a 20 20 ...(line.103).*.-permutations:..
56560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 65 74 20 6f 70 65 72 61 .......................Set.opera
56580 74 69 6f 6e 73 2e 20 20 20 20 20 20 28 6c 69 6e 65 20 20 35 32 29 0a 2a 20 2d 70 6f 77 65 72 73 tions.......(line..52).*.-powers
565a0 65 74 3a 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 et:.............................
565c0 53 65 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 20 20 20 20 20 20 28 6c 69 6e 65 20 20 34 34 29 0a Set.operations.......(line..44).
565e0 2a 20 2d 70 72 6f 64 66 6e 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 *.-prodfn:......................
56600 20 20 20 20 20 20 20 20 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 73 2e 0a 20 .........Function.combinators...
56620 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 ................................
56640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 .............................(li
56660 6e 65 20 32 35 38 29 0a 2a 20 2d 70 72 6f 64 75 63 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 ne.258).*.-product:.............
56680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 64 75 63 74 69 6f 6e 73 2e 20 20 20 20 .................Reductions.....
566a0 20 20 20 20 20 20 28 6c 69 6e 65 20 32 30 31 29 0a 2a 20 2d 72 65 64 75 63 65 3a 20 20 20 20 20 ......(line.201).*.-reduce:.....
566c0 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 52 65 64 75 63 74 ..........................Reduct
566e0 69 6f 6e 73 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 35 33 29 0a 2a 20 2d 72 65 64 ions...........(line..53).*.-red
56700 75 63 65 2d 66 72 6f 6d 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 uce-from:.......................
56720 20 20 20 52 65 64 75 63 74 69 6f 6e 73 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 20 ...Reductions...........(line...
56740 38 29 0a 2a 20 2d 72 65 64 75 63 65 2d 72 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 8).*.-reduce-r:.................
56760 20 20 20 20 20 20 20 20 20 20 20 20 52 65 64 75 63 74 69 6f 6e 73 2e 20 20 20 20 20 20 20 20 20 ............Reductions..........
56780 20 28 6c 69 6e 65 20 20 37 32 29 0a 2a 20 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 3a 20 20 20 .(line..72).*.-reduce-r-from:...
567a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 64 75 63 74 69 6f 6e 73 2e .....................Reductions.
567c0 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 32 36 29 0a 2a 20 2d 72 65 64 75 63 74 69 6f ..........(line..26).*.-reductio
567e0 6e 73 3a 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 52 65 ns:...........................Re
56800 64 75 63 74 69 6f 6e 73 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 33 36 29 0a 2a 20 ductions...........(line.136).*.
56820 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 72 6f 6d 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -reductions-from:...............
56840 20 20 20 20 20 20 20 52 65 64 75 63 74 69 6f 6e 73 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e .......Reductions...........(lin
56860 65 20 31 30 30 29 0a 2a 20 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 3a 20 20 20 20 20 20 20 20 20 e.100).*.-reductions-r:.........
56880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 64 75 63 74 69 6f 6e 73 2e 20 20 20 20 20 ................Reductions......
568a0 20 20 20 20 20 28 6c 69 6e 65 20 31 35 34 29 0a 2a 20 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d .....(line.154).*.-reductions-r-
568c0 66 72 6f 6d 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 64 75 63 74 69 from:....................Reducti
568e0 6f 6e 73 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 31 38 29 0a 2a 20 2d 72 65 6d 6f ons...........(line.118).*.-remo
56900 76 65 3a 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 ve:.............................
56920 20 20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 2e 20 20 20 28 6c 69 6e 65 20 20 32 36 ..Sublist.selection....(line..26
56940 29 0a 2a 20 2d 72 65 6d 6f 76 65 2d 61 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).*.-remove-at:.................
56960 20 20 20 20 20 20 20 20 20 20 20 4c 69 73 74 20 74 6f 20 6c 69 73 74 2e 20 20 20 20 20 20 20 20 ...........List.to.list.........
56980 28 6c 69 6e 65 20 31 34 36 29 0a 2a 20 2d 72 65 6d 6f 76 65 2d 61 74 2d 69 6e 64 69 63 65 73 3a (line.146).*.-remove-at-indices:
569a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4c 69 73 74 20 74 6f 20 6c 69 73 74 ....................List.to.list
569c0 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 35 39 29 0a 2a 20 2d 72 65 6d 6f 76 65 2d 66 69 .........(line.159).*.-remove-fi
569e0 72 73 74 3a 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 53 75 62 rst:.........................Sub
56a00 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 2e 20 20 20 28 6c 69 6e 65 20 20 34 33 29 0a 2a 20 2d list.selection....(line..43).*.-
56a20 72 65 6d 6f 76 65 2d 69 74 65 6d 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 remove-item:....................
56a40 20 20 20 20 20 20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 2e 20 20 20 28 6c 69 6e 65 ......Sublist.selection....(line
56a60 20 20 38 33 29 0a 2a 20 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 3a 20 20 20 20 20 20 20 20 20 20 20 ..83).*.-remove-last:...........
56a80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e ...............Sublist.selection
56aa0 2e 20 20 20 28 6c 69 6e 65 20 20 36 34 29 0a 2a 20 2d 72 65 70 65 61 74 3a 20 20 20 20 20 20 20 ....(line..64).*.-repeat:.......
56ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 20 6c 69 ........................Other.li
56ae0 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 st.operations...................
56b00 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 ................................
56b20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 31 39 29 0a 2a 20 2d 72 65 70 6c 61 .............(line..19).*.-repla
56b40 63 65 3a 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 ce:.............................
56b60 20 4c 69 73 74 20 74 6f 20 6c 69 73 74 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 36 38 29 .List.to.list.........(line..68)
56b80 0a 2a 20 2d 72 65 70 6c 61 63 65 2d 61 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .*.-replace-at:.................
56ba0 20 20 20 20 20 20 20 20 20 20 4c 69 73 74 20 74 6f 20 6c 69 73 74 2e 20 20 20 20 20 20 20 20 28 ..........List.to.list.........(
56bc0 6c 69 6e 65 20 31 32 31 29 0a 2a 20 2d 72 65 70 6c 61 63 65 2d 66 69 72 73 74 3a 20 20 20 20 20 line.121).*.-replace-first:.....
56be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4c 69 73 74 20 74 6f 20 6c 69 73 74 2e ...................List.to.list.
56c00 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 38 32 29 0a 2a 20 2d 72 65 70 6c 61 63 65 2d 6c 61 ........(line..82).*.-replace-la
56c20 73 74 3a 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 4c 69 73 74 st:.........................List
56c40 20 74 6f 20 6c 69 73 74 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 39 36 29 0a 2a 20 2d 72 .to.list.........(line..96).*.-r
56c60 6f 74 61 74 65 3a 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 otate:..........................
56c80 20 20 20 20 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 .....Other.list.operations......
56ca0 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 ................................
56cc0 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 6c 69 6e 65 20 ..........................(line.
56ce0 20 20 38 29 0a 2a 20 2d 72 6f 74 61 74 65 2d 61 72 67 73 3a 20 20 20 20 20 20 20 20 20 20 20 20 ..8).*.-rotate-args:............
56d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f ..............Function.combinato
56d20 72 73 2e 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 rs..............................
56d40 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 ................................
56d60 20 20 28 6c 69 6e 65 20 31 31 32 29 0a 2a 20 2d 72 70 61 72 74 69 61 6c 3a 20 20 20 20 20 20 20 ..(line.112).*.-rpartial:.......
56d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 75 6e 63 74 69 6f 6e 20 63 ......................Function.c
56da0 6f 6d 62 69 6e 61 74 6f 72 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ombinators......................
56dc0 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 ................................
56de0 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 32 32 29 0a 2a 20 2d 72 75 6e 6e 69 6e 67 2d ..........(line..22).*.-running-
56e00 70 72 6f 64 75 63 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 product:......................Re
56e20 64 75 63 74 69 6f 6e 73 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 31 31 29 0a 2a 20 ductions...........(line.211).*.
56e40 2d 72 75 6e 6e 69 6e 67 2d 73 75 6d 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -running-sum:...................
56e60 20 20 20 20 20 20 20 52 65 64 75 63 74 69 6f 6e 73 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e .......Reductions...........(lin
56e80 65 20 31 39 30 29 0a 2a 20 2d 73 61 6d 65 2d 69 74 65 6d 73 3f 3a 20 20 20 20 20 20 20 20 20 20 e.190).*.-same-items?:..........
56ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 72 65 64 69 63 61 74 65 73 2e 20 20 20 20 20 ................Predicates......
56ec0 20 20 20 20 20 28 6c 69 6e 65 20 31 31 35 29 0a 2a 20 2d 73 65 63 6f 6e 64 2d 69 74 65 6d 3a 20 .....(line.115).*.-second-item:.
56ee0 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 4f 74 68 65 72 20 6c .........................Other.l
56f00 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ist.operations..................
56f20 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 ................................
56f40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 38 35 29 0a 2a 20 2d 73 65 6c 65 ..............(line.285).*.-sele
56f60 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ct-by-indices:..................
56f80 20 20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 2e 20 20 20 28 6c 69 6e 65 20 32 30 38 ..Sublist.selection....(line.208
56fa0 29 0a 2a 20 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 ).*.-select-column:.............
56fc0 20 20 20 20 20 20 20 20 20 20 20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 2e 20 20 20 ...........Sublist.selection....
56fe0 28 6c 69 6e 65 20 32 33 38 29 0a 2a 20 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 73 3a 20 20 20 (line.238).*.-select-columns:...
57000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 75 62 6c 69 73 74 20 73 65 6c 65 ....................Sublist.sele
57020 63 74 69 6f 6e 2e 20 20 20 28 6c 69 6e 65 20 32 31 39 29 0a 2a 20 2d 73 65 70 61 72 61 74 65 3a ction....(line.219).*.-separate:
57040 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 50 61 72 .............................Par
57060 74 69 74 69 6f 6e 69 6e 67 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 36 39 29 0a 2a 20 2d titioning.........(line..69).*.-
57080 73 65 74 71 3a 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 setq:...........................
570a0 20 20 20 20 20 20 42 69 6e 64 69 6e 67 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 ......Binding..............(line
570c0 20 32 37 30 29 0a 2a 20 2d 73 6c 69 63 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .270).*.-slice:.................
570e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e ...............Sublist.selection
57100 2e 20 20 20 28 6c 69 6e 65 20 31 30 34 29 0a 2a 20 2d 73 6e 6f 63 3a 20 20 20 20 20 20 20 20 20 ....(line.104).*.-snoc:.........
57120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 20 6c 69 ........................Other.li
57140 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 st.operations...................
57160 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 ................................
57180 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 34 33 29 0a 2a 20 2d 73 6f 6d 65 3a .............(line..43).*.-some:
571a0 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 ................................
571c0 20 50 72 65 64 69 63 61 74 65 73 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 20 38 29 .Predicates...........(line...8)
571e0 0a 2a 20 2d 73 6f 6d 65 2d 2d 3e 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .*.-some-->:....................
57200 20 20 20 20 20 20 20 20 20 20 54 68 72 65 61 64 69 6e 67 20 6d 61 63 72 6f 73 2e 20 20 20 20 28 ..........Threading.macros.....(
57220 6c 69 6e 65 20 20 38 36 29 0a 2a 20 2d 73 6f 6d 65 2d 3e 3a 20 20 20 20 20 20 20 20 20 20 20 20 line..86).*.-some->:............
57240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 68 72 65 61 64 69 6e 67 20 6d 61 63 ...................Threading.mac
57260 72 6f 73 2e 20 20 20 20 28 6c 69 6e 65 20 20 36 32 29 0a 2a 20 2d 73 6f 6d 65 2d 3e 3e 3a 20 20 ros.....(line..62).*.-some->>:..
57280 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 54 68 72 65 ............................Thre
572a0 61 64 69 6e 67 20 6d 61 63 72 6f 73 2e 20 20 20 20 28 6c 69 6e 65 20 20 37 34 29 0a 2a 20 2d 73 ading.macros.....(line..74).*.-s
572c0 6f 72 74 3a 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 ort:............................
572e0 20 20 20 20 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 .....Other.list.operations......
57300 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 ................................
57320 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 6c 69 6e 65 20 ..........................(line.
57340 33 34 35 29 0a 2a 20 2d 73 70 6c 69 63 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 345).*.-splice:.................
57360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4d 61 70 73 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 ..............Maps..............
57380 20 20 20 28 6c 69 6e 65 20 20 39 35 29 0a 2a 20 2d 73 70 6c 69 63 65 2d 6c 69 73 74 3a 20 20 20 ...(line..95).*.-splice-list:...
573a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4d 61 70 73 2e 20 20 20 20 .......................Maps.....
573c0 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 31 35 29 0a 2a 20 2d 73 70 6c 69 74 2d ............(line.115).*.-split-
573e0 61 74 3a 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 at:.............................
57400 50 61 72 74 69 74 69 6f 6e 69 6e 67 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 20 38 29 0a Partitioning.........(line...8).
57420 2a 20 2d 73 70 6c 69 74 2d 6f 6e 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 *.-split-on:....................
57440 20 20 20 20 20 20 20 20 20 50 61 72 74 69 74 69 6f 6e 69 6e 67 2e 20 20 20 20 20 20 20 20 28 6c .........Partitioning.........(l
57460 69 6e 65 20 20 33 34 29 0a 2a 20 2d 73 70 6c 69 74 2d 77 68 65 6e 3a 20 20 20 20 20 20 20 20 20 ine..34).*.-split-when:.........
57480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 61 72 74 69 74 69 6f 6e 69 6e 67 2e 20 ..................Partitioning..
574a0 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 35 32 29 0a 2a 20 2d 73 70 6c 69 74 2d 77 69 74 68 3a .......(line..52).*.-split-with:
574c0 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 50 61 72 74 69 ...........................Parti
574e0 74 69 6f 6e 69 6e 67 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 32 33 29 0a 2a 20 2d 73 75 tioning.........(line..23).*.-su
57500 6d 3a 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 m:..............................
57520 20 20 20 20 52 65 64 75 63 74 69 6f 6e 73 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 ....Reductions...........(line.1
57540 38 30 29 0a 2a 20 2d 74 61 62 6c 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 80).*.-table:...................
57560 20 20 20 20 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f .............Other.list.operatio
57580 6e 73 2e 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 ns..............................
575a0 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 ................................
575c0 20 20 28 6c 69 6e 65 20 32 30 32 29 0a 2a 20 2d 74 61 62 6c 65 2d 66 6c 61 74 3a 20 20 20 20 20 ..(line.202).*.-table-flat:.....
575e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 20 6c 69 73 74 ......................Other.list
57600 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .operations.....................
57620 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 ................................
57640 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 32 31 29 0a 2a 20 2d 74 61 69 6c 73 3a 20 ...........(line.221).*.-tails:.
57660 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 52 ...............................R
57680 65 64 75 63 74 69 6f 6e 73 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 33 32 29 0a 2a eductions...........(line.232).*
576a0 20 2d 74 61 6b 65 3a 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 .-take:.........................
576c0 20 20 20 20 20 20 20 20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 2e 20 20 20 28 6c 69 ........Sublist.selection....(li
576e0 6e 65 20 31 32 30 29 0a 2a 20 2d 74 61 6b 65 2d 6c 61 73 74 3a 20 20 20 20 20 20 20 20 20 20 20 ne.120).*.-take-last:...........
57700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 .................Sublist.selecti
57720 6f 6e 2e 20 20 20 28 6c 69 6e 65 20 31 33 33 29 0a 2a 20 2d 74 61 6b 65 2d 77 68 69 6c 65 3a 20 on....(line.133).*.-take-while:.
57740 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 53 75 62 6c 69 73 ..........................Sublis
57760 74 20 73 65 6c 65 63 74 69 6f 6e 2e 20 20 20 28 6c 69 6e 65 20 31 37 35 29 0a 2a 20 2d 74 68 69 t.selection....(line.175).*.-thi
57780 72 64 2d 69 74 65 6d 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rd-item:........................
577a0 20 20 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 ...Other.list.operations........
577c0 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 ................................
577e0 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 6c 69 6e 65 20 32 39 ........................(line.29
57800 35 29 0a 2a 20 2d 74 72 65 65 2d 6d 61 70 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5).*.-tree-map:.................
57820 20 20 20 20 20 20 20 20 20 20 20 20 54 72 65 65 20 6f 70 65 72 61 74 69 6f 6e 73 2e 20 20 20 20 ............Tree.operations.....
57840 20 28 6c 69 6e 65 20 20 32 38 29 0a 2a 20 2d 74 72 65 65 2d 6d 61 70 2d 6e 6f 64 65 73 3a 20 20 .(line..28).*.-tree-map-nodes:..
57860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 72 65 65 20 6f 70 65 72 61 74 .....................Tree.operat
57880 69 6f 6e 73 2e 20 20 20 20 20 28 6c 69 6e 65 20 20 33 39 29 0a 2a 20 2d 74 72 65 65 2d 6d 61 70 ions......(line..39).*.-tree-map
578a0 72 65 64 75 63 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 72 reduce:.......................Tr
578c0 65 65 20 6f 70 65 72 61 74 69 6f 6e 73 2e 20 20 20 20 20 28 6c 69 6e 65 20 20 38 34 29 0a 2a 20 ee.operations......(line..84).*.
578e0 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 2d 66 72 6f 6d 3a 20 20 20 20 20 20 20 20 20 20 20 -tree-mapreduce-from:...........
57900 20 20 20 20 20 20 20 54 72 65 65 20 6f 70 65 72 61 74 69 6f 6e 73 2e 20 20 20 20 20 28 6c 69 6e .......Tree.operations......(lin
57920 65 20 31 30 33 29 0a 2a 20 2d 74 72 65 65 2d 72 65 64 75 63 65 3a 20 20 20 20 20 20 20 20 20 20 e.103).*.-tree-reduce:..........
57940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 72 65 65 20 6f 70 65 72 61 74 69 6f 6e 73 2e ................Tree.operations.
57960 20 20 20 20 20 28 6c 69 6e 65 20 20 35 32 29 0a 2a 20 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 .....(line..52).*.-tree-reduce-f
57980 72 6f 6d 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 72 65 65 20 6f 70 rom:.....................Tree.op
579a0 65 72 61 74 69 6f 6e 73 2e 20 20 20 20 20 28 6c 69 6e 65 20 20 36 39 29 0a 2a 20 2d 74 72 65 65 erations......(line..69).*.-tree
579c0 2d 73 65 71 3a 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 -seq:...........................
579e0 20 20 54 72 65 65 20 6f 70 65 72 61 74 69 6f 6e 73 2e 20 20 20 20 20 28 6c 69 6e 65 20 20 20 38 ..Tree.operations......(line...8
57a00 29 0a 2a 20 2d 75 6e 66 6f 6c 64 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).*.-unfold:....................
57a20 20 20 20 20 20 20 20 20 20 20 20 55 6e 66 6f 6c 64 69 6e 67 2e 20 20 20 20 20 20 20 20 20 20 20 ...........Unfolding............
57a40 28 6c 69 6e 65 20 20 32 35 29 0a 2a 20 2d 75 6e 69 6f 6e 3a 20 20 20 20 20 20 20 20 20 20 20 20 (line..25).*.-union:............
57a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 65 74 20 6f 70 65 72 61 74 69 6f ....................Set.operatio
57a80 6e 73 2e 20 20 20 20 20 20 28 6c 69 6e 65 20 20 20 38 29 0a 2a 20 2d 75 6e 7a 69 70 3a 20 20 20 ns.......(line...8).*.-unzip:...
57aa0 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 4f 74 68 .............................Oth
57ac0 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 er.list.operations..............
57ae0 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 ................................
57b00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 35 38 29 0a 2a 20 2d ..................(line.158).*.-
57b20 75 70 64 61 74 65 2d 61 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 update-at:......................
57b40 20 20 20 20 20 20 4c 69 73 74 20 74 6f 20 6c 69 73 74 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 ......List.to.list.........(line
57b60 20 31 33 33 29 0a 2a 20 2d 77 68 65 6e 2d 6c 65 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .133).*.-when-let:..............
57b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42 69 6e 64 69 6e 67 2e 20 20 20 20 20 20 20 20 20 ...............Binding..........
57ba0 20 20 20 20 28 6c 69 6e 65 20 20 20 39 29 0a 2a 20 2d 77 68 65 6e 2d 6c 65 74 2a 3a 20 20 20 20 ....(line...9).*.-when-let*:....
57bc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42 69 6e 64 69 6e 67 2e ........................Binding.
57be0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 32 31 29 0a 2a 20 2d 7a 69 70 3a 20 .............(line..21).*.-zip:.
57c00 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 ................................
57c20 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 .Other.list.operations..........
57c40 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 ................................
57c60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 30 37 29 ......................(line.107)
57c80 0a 2a 20 2d 7a 69 70 2d 66 69 6c 6c 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .*.-zip-fill:...................
57ca0 20 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e ..........Other.list.operations.
57cc0 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 ................................
57ce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ...............................(
57d00 6c 69 6e 65 20 31 35 30 29 0a 2a 20 2d 7a 69 70 2d 6c 69 73 74 73 3a 20 20 20 20 20 20 20 20 20 line.150).*.-zip-lists:.........
57d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 ...................Other.list.op
57d40 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 erations........................
57d60 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 ................................
57d80 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 33 31 29 0a 2a 20 2d 7a 69 70 2d 77 69 74 68 3a 20 ........(line.131).*.-zip-with:.
57da0 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 4f 74 68 65 ............................Othe
57dc0 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 r.list.operations...............
57de0 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 ................................
57e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 39 31 29 0a 2a 20 64 61 .................(line..91).*.da
57e20 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 sh-fontify-mode:................
57e40 20 20 20 20 20 46 6f 6e 74 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 73 70 65 63 69 61 6c 20 76 61 .....Fontification.of.special.va
57e60 72 69 61 62 6c 65 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 riables.........................
57e80 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 ................................
57ea0 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 20 36 29 0a 2a 20 64 61 73 68 2d 72 65 67 69 73 74 65 .......(line...6).*.dash-registe
57ec0 72 2d 69 6e 66 6f 2d 6c 6f 6f 6b 75 70 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 66 6f 20 r-info-lookup:.............Info.
57ee0 73 79 6d 62 6f 6c 20 6c 6f 6f 6b 75 70 2e 20 20 28 6c 69 6e 65 20 20 20 36 29 0a 2a 20 67 6c 6f symbol.lookup...(line...6).*.glo
57f00 62 61 6c 2d 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 3a 20 20 20 20 20 20 20 20 20 20 bal-dash-fontify-mode:..........
57f20 20 20 20 20 46 6f 6e 74 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 73 70 65 63 69 61 6c 20 76 61 72 ....Fontification.of.special.var
57f40 69 61 62 6c 65 73 2e 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 iables..........................
57f60 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 ................................
57f80 20 20 20 20 20 20 28 6c 69 6e 65 20 20 31 32 29 0a 0a 0a 1f 0a 54 61 67 20 54 61 62 6c 65 3a 0a ......(line..12).....Tag.Table:.
57fa0 4e 6f 64 65 3a 20 54 6f 70 7f 37 34 32 0a 4e 6f 64 65 3a 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e Node:.Top.742.Node:.Installation
57fc0 7f 32 33 39 37 0a 4e 6f 64 65 3a 20 55 73 69 6e 67 20 69 6e 20 61 20 70 61 63 6b 61 67 65 7f 33 .2397.Node:.Using.in.a.package.3
57fe0 31 35 39 0a 4e 6f 64 65 3a 20 46 6f 6e 74 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 73 70 65 63 69 159.Node:.Fontification.of.speci
58000 61 6c 20 76 61 72 69 61 62 6c 65 73 7f 33 35 30 34 0a 4e 6f 64 65 3a 20 49 6e 66 6f 20 73 79 6d al.variables.3504.Node:.Info.sym
58020 62 6f 6c 20 6c 6f 6f 6b 75 70 7f 34 32 39 34 0a 4e 6f 64 65 3a 20 46 75 6e 63 74 69 6f 6e 73 7f bol.lookup.4294.Node:.Functions.
58040 34 38 37 37 0a 4e 6f 64 65 3a 20 4d 61 70 73 7f 36 33 36 31 0a 52 65 66 3a 20 2d 6d 61 70 7f 36 4877.Node:.Maps.6361.Ref:.-map.6
58060 36 35 38 0a 52 65 66 3a 20 2d 6d 61 70 2d 77 68 65 6e 7f 37 30 33 31 0a 52 65 66 3a 20 2d 6d 61 658.Ref:.-map-when.7031.Ref:.-ma
58080 70 2d 66 69 72 73 74 7f 37 36 30 36 0a 52 65 66 3a 20 2d 6d 61 70 2d 6c 61 73 74 7f 38 30 38 31 p-first.7606.Ref:.-map-last.8081
580a0 0a 52 65 66 3a 20 2d 6d 61 70 2d 69 6e 64 65 78 65 64 7f 38 35 35 31 0a 52 65 66 3a 20 2d 61 6e .Ref:.-map-indexed.8551.Ref:.-an
580c0 6e 6f 74 61 74 65 7f 39 32 33 37 0a 52 65 66 3a 20 2d 73 70 6c 69 63 65 7f 39 37 32 34 0a 52 65 notate.9237.Ref:.-splice.9724.Re
580e0 66 3a 20 2d 73 70 6c 69 63 65 2d 6c 69 73 74 7f 31 30 35 30 32 0a 52 65 66 3a 20 2d 6d 61 70 63 f:.-splice-list.10502.Ref:.-mapc
58100 61 74 7f 31 30 39 36 31 0a 52 65 66 3a 20 2d 63 6f 70 79 7f 31 31 33 33 34 0a 4e 6f 64 65 3a 20 at.10961.Ref:.-copy.11334.Node:.
58120 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 7f 31 31 35 32 32 0a 52 65 66 3a 20 2d 66 69 Sublist.selection.11522.Ref:.-fi
58140 6c 74 65 72 7f 31 31 37 31 35 0a 52 65 66 3a 20 2d 72 65 6d 6f 76 65 7f 31 32 32 36 32 0a 52 65 lter.11715.Ref:.-remove.12262.Re
58160 66 3a 20 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 7f 31 32 38 30 30 0a 52 65 66 3a 20 2d 72 65 6d f:.-remove-first.12800.Ref:.-rem
58180 6f 76 65 2d 6c 61 73 74 7f 31 33 36 34 32 0a 52 65 66 3a 20 2d 72 65 6d 6f 76 65 2d 69 74 65 6d ove-last.13642.Ref:.-remove-item
581a0 7f 31 34 33 36 37 0a 52 65 66 3a 20 2d 6e 6f 6e 2d 6e 69 6c 7f 31 34 37 36 37 0a 52 65 66 3a 20 .14367.Ref:.-non-nil.14767.Ref:.
581c0 2d 73 6c 69 63 65 7f 31 35 30 34 33 0a 52 65 66 3a 20 2d 74 61 6b 65 7f 31 35 35 37 32 0a 52 65 -slice.15043.Ref:.-take.15572.Re
581e0 66 3a 20 2d 74 61 6b 65 2d 6c 61 73 74 7f 31 35 39 37 39 0a 52 65 66 3a 20 2d 64 72 6f 70 7f 31 f:.-take-last.15979.Ref:.-drop.1
58200 36 34 31 30 0a 52 65 66 3a 20 2d 64 72 6f 70 2d 6c 61 73 74 7f 31 36 38 35 31 0a 52 65 66 3a 20 6410.Ref:.-drop-last.16851.Ref:.
58220 2d 74 61 6b 65 2d 77 68 69 6c 65 7f 31 37 32 37 37 0a 52 65 66 3a 20 2d 64 72 6f 70 2d 77 68 69 -take-while.17277.Ref:.-drop-whi
58240 6c 65 7f 31 37 38 39 32 0a 52 65 66 3a 20 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 le.17892.Ref:.-select-by-indices
58260 7f 31 38 35 30 38 0a 52 65 66 3a 20 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 73 7f 31 39 30 31 .18508.Ref:.-select-columns.1901
58280 39 0a 52 65 66 3a 20 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 7f 31 39 37 32 32 0a 4e 6f 64 65 9.Ref:.-select-column.19722.Node
582a0 3a 20 4c 69 73 74 20 74 6f 20 6c 69 73 74 7f 32 30 31 38 35 0a 52 65 66 3a 20 2d 6b 65 65 70 7f :.List.to.list.20185.Ref:.-keep.
582c0 32 30 33 37 37 0a 52 65 66 3a 20 2d 63 6f 6e 63 61 74 7f 32 30 39 34 31 0a 52 65 66 3a 20 2d 66 20377.Ref:.-concat.20941.Ref:.-f
582e0 6c 61 74 74 65 6e 7f 32 31 32 33 35 0a 52 65 66 3a 20 2d 66 6c 61 74 74 65 6e 2d 6e 7f 32 31 39 latten.21235.Ref:.-flatten-n.219
58300 39 31 0a 52 65 66 3a 20 2d 72 65 70 6c 61 63 65 7f 32 32 33 37 35 0a 52 65 66 3a 20 2d 72 65 70 91.Ref:.-replace.22375.Ref:.-rep
58320 6c 61 63 65 2d 66 69 72 73 74 7f 32 32 38 33 36 0a 52 65 66 3a 20 2d 72 65 70 6c 61 63 65 2d 6c lace-first.22836.Ref:.-replace-l
58340 61 73 74 7f 32 33 33 33 31 0a 52 65 66 3a 20 2d 69 6e 73 65 72 74 2d 61 74 7f 32 33 38 31 39 0a ast.23331.Ref:.-insert-at.23819.
58360 52 65 66 3a 20 2d 72 65 70 6c 61 63 65 2d 61 74 7f 32 34 31 34 34 0a 52 65 66 3a 20 2d 75 70 64 Ref:.-replace-at.24144.Ref:.-upd
58380 61 74 65 2d 61 74 7f 32 34 35 33 31 0a 52 65 66 3a 20 2d 72 65 6d 6f 76 65 2d 61 74 7f 32 35 30 ate-at.24531.Ref:.-remove-at.250
583a0 31 39 0a 52 65 66 3a 20 2d 72 65 6d 6f 76 65 2d 61 74 2d 69 6e 64 69 63 65 73 7f 32 35 35 30 34 19.Ref:.-remove-at-indices.25504
583c0 0a 4e 6f 64 65 3a 20 52 65 64 75 63 74 69 6f 6e 73 7f 32 36 30 38 33 0a 52 65 66 3a 20 2d 72 65 .Node:.Reductions.26083.Ref:.-re
583e0 64 75 63 65 2d 66 72 6f 6d 7f 32 36 32 37 39 0a 52 65 66 3a 20 2d 72 65 64 75 63 65 2d 72 2d 66 duce-from.26279.Ref:.-reduce-r-f
58400 72 6f 6d 7f 32 37 30 30 33 0a 52 65 66 3a 20 2d 72 65 64 75 63 65 7f 32 38 32 36 36 0a 52 65 66 rom.27003.Ref:.-reduce.28266.Ref
58420 3a 20 2d 72 65 64 75 63 65 2d 72 7f 32 39 30 31 37 0a 52 65 66 3a 20 2d 72 65 64 75 63 74 69 6f :.-reduce-r.29017.Ref:.-reductio
58440 6e 73 2d 66 72 6f 6d 7f 33 30 32 39 35 0a 52 65 66 3a 20 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 ns-from.30295.Ref:.-reductions-r
58460 2d 66 72 6f 6d 7f 33 31 31 30 31 0a 52 65 66 3a 20 2d 72 65 64 75 63 74 69 6f 6e 73 7f 33 31 39 -from.31101.Ref:.-reductions.319
58480 33 31 0a 52 65 66 3a 20 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 7f 33 32 36 34 32 0a 52 65 66 3a 31.Ref:.-reductions-r.32642.Ref:
584a0 20 2d 63 6f 75 6e 74 7f 33 33 33 38 37 0a 52 65 66 3a 20 2d 73 75 6d 7f 33 33 36 31 31 0a 52 65 .-count.33387.Ref:.-sum.33611.Re
584c0 66 3a 20 2d 72 75 6e 6e 69 6e 67 2d 73 75 6d 7f 33 33 37 39 39 0a 52 65 66 3a 20 2d 70 72 6f 64 f:.-running-sum.33799.Ref:.-prod
584e0 75 63 74 7f 33 34 31 32 30 0a 52 65 66 3a 20 2d 72 75 6e 6e 69 6e 67 2d 70 72 6f 64 75 63 74 7f uct.34120.Ref:.-running-product.
58500 33 34 33 32 38 0a 52 65 66 3a 20 2d 69 6e 69 74 73 7f 33 34 36 36 39 0a 52 65 66 3a 20 2d 74 61 34328.Ref:.-inits.34669.Ref:.-ta
58520 69 6c 73 7f 33 34 39 31 34 0a 52 65 66 3a 20 2d 63 6f 6d 6d 6f 6e 2d 70 72 65 66 69 78 7f 33 35 ils.34914.Ref:.-common-prefix.35
58540 31 35 38 0a 52 65 66 3a 20 2d 63 6f 6d 6d 6f 6e 2d 73 75 66 66 69 78 7f 33 35 34 35 32 0a 52 65 158.Ref:.-common-suffix.35452.Re
58560 66 3a 20 2d 6d 69 6e 7f 33 35 37 34 36 0a 52 65 66 3a 20 2d 6d 69 6e 2d 62 79 7f 33 35 39 37 32 f:.-min.35746.Ref:.-min-by.35972
58580 0a 52 65 66 3a 20 2d 6d 61 78 7f 33 36 34 39 33 0a 52 65 66 3a 20 2d 6d 61 78 2d 62 79 7f 33 36 .Ref:.-max.36493.Ref:.-max-by.36
585a0 37 31 38 0a 4e 6f 64 65 3a 20 55 6e 66 6f 6c 64 69 6e 67 7f 33 37 32 34 34 0a 52 65 66 3a 20 2d 718.Node:.Unfolding.37244.Ref:.-
585c0 69 74 65 72 61 74 65 7f 33 37 34 38 35 0a 52 65 66 3a 20 2d 75 6e 66 6f 6c 64 7f 33 37 39 33 32 iterate.37485.Ref:.-unfold.37932
585e0 0a 4e 6f 64 65 3a 20 50 72 65 64 69 63 61 74 65 73 7f 33 38 37 33 37 0a 52 65 66 3a 20 2d 73 6f .Node:.Predicates.38737.Ref:.-so
58600 6d 65 7f 33 38 39 31 34 0a 52 65 66 3a 20 2d 65 76 65 72 79 7f 33 39 33 33 31 0a 52 65 66 3a 20 me.38914.Ref:.-every.39331.Ref:.
58620 2d 61 6e 79 3f 7f 34 30 30 31 30 0a 52 65 66 3a 20 2d 61 6c 6c 3f 7f 34 30 33 34 31 0a 52 65 66 -any?.40010.Ref:.-all?.40341.Ref
58640 3a 20 2d 6e 6f 6e 65 3f 7f 34 31 30 34 38 0a 52 65 66 3a 20 2d 6f 6e 6c 79 2d 73 6f 6d 65 3f 7f :.-none?.41048.Ref:.-only-some?.
58660 34 31 33 35 30 0a 52 65 66 3a 20 2d 63 6f 6e 74 61 69 6e 73 3f 7f 34 31 38 33 35 0a 52 65 66 3a 41350.Ref:.-contains?.41835.Ref:
58680 20 2d 73 61 6d 65 2d 69 74 65 6d 73 3f 7f 34 32 32 32 34 0a 52 65 66 3a 20 2d 69 73 2d 70 72 65 .-same-items?.42224.Ref:.-is-pre
586a0 66 69 78 3f 7f 34 32 36 30 39 0a 52 65 66 3a 20 2d 69 73 2d 73 75 66 66 69 78 3f 7f 34 32 39 33 fix?.42609.Ref:.-is-suffix?.4293
586c0 35 0a 52 65 66 3a 20 2d 69 73 2d 69 6e 66 69 78 3f 7f 34 33 32 36 31 0a 52 65 66 3a 20 2d 63 6f 5.Ref:.-is-infix?.43261.Ref:.-co
586e0 6e 73 2d 70 61 69 72 3f 7f 34 33 36 31 35 0a 4e 6f 64 65 3a 20 50 61 72 74 69 74 69 6f 6e 69 6e ns-pair?.43615.Node:.Partitionin
58700 67 7f 34 33 39 34 30 0a 52 65 66 3a 20 2d 73 70 6c 69 74 2d 61 74 7f 34 34 31 32 38 0a 52 65 66 g.43940.Ref:.-split-at.44128.Ref
58720 3a 20 2d 73 70 6c 69 74 2d 77 69 74 68 7f 34 34 37 39 32 0a 52 65 66 3a 20 2d 73 70 6c 69 74 2d :.-split-with.44792.Ref:.-split-
58740 6f 6e 7f 34 35 31 39 32 0a 52 65 66 3a 20 2d 73 70 6c 69 74 2d 77 68 65 6e 7f 34 35 38 36 33 0a on.45192.Ref:.-split-when.45863.
58760 52 65 66 3a 20 2d 73 65 70 61 72 61 74 65 7f 34 36 35 30 30 0a 52 65 66 3a 20 2d 70 61 72 74 69 Ref:.-separate.46500.Ref:.-parti
58780 74 69 6f 6e 7f 34 36 39 33 39 0a 52 65 66 3a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 7f 34 tion.46939.Ref:.-partition-all.4
587a0 37 33 38 38 0a 52 65 66 3a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 69 6e 2d 73 74 65 70 73 7f 34 37 7388.Ref:.-partition-in-steps.47
587c0 38 31 33 0a 52 65 66 3a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 2d 69 6e 2d 73 74 65 70 73 813.Ref:.-partition-all-in-steps
587e0 7f 34 38 33 30 37 0a 52 65 66 3a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 7f 34 38 37 38 39 0a .48307.Ref:.-partition-by.48789.
58800 52 65 66 3a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 2d 68 65 61 64 65 72 7f 34 39 31 36 37 0a Ref:.-partition-by-header.49167.
58820 52 65 66 3a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 7f 34 39 37 36 38 Ref:.-partition-after-pred.49768
58840 0a 52 65 66 3a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 70 72 65 64 7f 35 30 32 .Ref:.-partition-before-pred.502
58860 31 35 0a 52 65 66 3a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 69 74 65 6d 7f 35 15.Ref:.-partition-before-item.5
58880 30 36 30 30 0a 52 65 66 3a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 69 74 65 6d 7f 0600.Ref:.-partition-after-item.
588a0 35 30 39 30 37 0a 52 65 66 3a 20 2d 67 72 6f 75 70 2d 62 79 7f 35 31 32 30 39 0a 4e 6f 64 65 3a 50907.Ref:.-group-by.51209.Node:
588c0 20 49 6e 64 65 78 69 6e 67 7f 35 31 36 34 32 0a 52 65 66 3a 20 2d 65 6c 65 6d 2d 69 6e 64 65 78 .Indexing.51642.Ref:.-elem-index
588e0 7f 35 31 38 34 34 0a 52 65 66 3a 20 2d 65 6c 65 6d 2d 69 6e 64 69 63 65 73 7f 35 32 32 33 39 0a .51844.Ref:.-elem-indices.52239.
58900 52 65 66 3a 20 2d 66 69 6e 64 2d 69 6e 64 65 78 7f 35 32 36 31 39 0a 52 65 66 3a 20 2d 66 69 6e Ref:.-find-index.52619.Ref:.-fin
58920 64 2d 6c 61 73 74 2d 69 6e 64 65 78 7f 35 33 31 30 38 0a 52 65 66 3a 20 2d 66 69 6e 64 2d 69 6e d-last-index.53108.Ref:.-find-in
58940 64 69 63 65 73 7f 35 33 36 31 32 0a 52 65 66 3a 20 2d 67 72 61 64 65 2d 75 70 7f 35 34 30 31 37 dices.53612.Ref:.-grade-up.54017
58960 0a 52 65 66 3a 20 2d 67 72 61 64 65 2d 64 6f 77 6e 7f 35 34 34 32 34 0a 4e 6f 64 65 3a 20 53 65 .Ref:.-grade-down.54424.Node:.Se
58980 74 20 6f 70 65 72 61 74 69 6f 6e 73 7f 35 34 38 33 38 0a 52 65 66 3a 20 2d 75 6e 69 6f 6e 7f 35 t.operations.54838.Ref:.-union.5
589a0 35 30 32 31 0a 52 65 66 3a 20 2d 64 69 66 66 65 72 65 6e 63 65 7f 35 35 34 35 39 0a 52 65 66 3a 5021.Ref:.-difference.55459.Ref:
589c0 20 2d 69 6e 74 65 72 73 65 63 74 69 6f 6e 7f 35 35 38 37 31 0a 52 65 66 3a 20 2d 70 6f 77 65 72 .-intersection.55871.Ref:.-power
589e0 73 65 74 7f 35 36 33 30 33 0a 52 65 66 3a 20 2d 70 65 72 6d 75 74 61 74 69 6f 6e 73 7f 35 36 35 set.56303.Ref:.-permutations.565
58a00 31 33 0a 52 65 66 3a 20 2d 64 69 73 74 69 6e 63 74 7f 35 36 38 30 39 0a 4e 6f 64 65 3a 20 4f 74 13.Ref:.-distinct.56809.Node:.Ot
58a20 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 7f 35 37 31 38 33 0a 52 65 66 3a 20 2d her.list.operations.57183.Ref:.-
58a40 72 6f 74 61 74 65 7f 35 37 34 30 38 0a 52 65 66 3a 20 2d 72 65 70 65 61 74 7f 35 37 37 36 31 0a rotate.57408.Ref:.-repeat.57761.
58a60 52 65 66 3a 20 2d 63 6f 6e 73 2a 7f 35 38 30 34 30 0a 52 65 66 3a 20 2d 73 6e 6f 63 7f 35 38 34 Ref:.-cons*.58040.Ref:.-snoc.584
58a80 35 36 0a 52 65 66 3a 20 2d 69 6e 74 65 72 70 6f 73 65 7f 35 38 38 36 36 0a 52 65 66 3a 20 2d 69 56.Ref:.-interpose.58866.Ref:.-i
58aa0 6e 74 65 72 6c 65 61 76 65 7f 35 39 31 36 30 0a 52 65 66 3a 20 2d 69 6f 74 61 7f 35 39 35 32 36 nterleave.59160.Ref:.-iota.59526
58ac0 0a 52 65 66 3a 20 2d 7a 69 70 2d 77 69 74 68 7f 36 30 30 30 39 0a 52 65 66 3a 20 2d 7a 69 70 7f .Ref:.-zip-with.60009.Ref:.-zip.
58ae0 36 30 37 32 33 0a 52 65 66 3a 20 2d 7a 69 70 2d 6c 69 73 74 73 7f 36 31 35 35 32 0a 52 65 66 3a 60723.Ref:.-zip-lists.61552.Ref:
58b00 20 2d 7a 69 70 2d 66 69 6c 6c 7f 36 32 32 35 30 0a 52 65 66 3a 20 2d 75 6e 7a 69 70 7f 36 32 35 .-zip-fill.62250.Ref:.-unzip.625
58b20 37 32 0a 52 65 66 3a 20 2d 63 79 63 6c 65 7f 36 33 33 31 34 0a 52 65 66 3a 20 2d 70 61 64 7f 36 72.Ref:.-cycle.63314.Ref:.-pad.6
58b40 33 37 31 33 0a 52 65 66 3a 20 2d 74 61 62 6c 65 7f 36 34 30 33 32 0a 52 65 66 3a 20 2d 74 61 62 3713.Ref:.-table.64032.Ref:.-tab
58b60 6c 65 2d 66 6c 61 74 7f 36 34 38 31 38 0a 52 65 66 3a 20 2d 66 69 72 73 74 7f 36 35 38 32 33 0a le-flat.64818.Ref:.-first.65823.
58b80 52 65 66 3a 20 2d 6c 61 73 74 7f 36 36 33 30 39 0a 52 65 66 3a 20 2d 66 69 72 73 74 2d 69 74 65 Ref:.-last.66309.Ref:.-first-ite
58ba0 6d 7f 36 36 36 34 33 0a 52 65 66 3a 20 2d 73 65 63 6f 6e 64 2d 69 74 65 6d 7f 36 37 30 34 32 0a m.66643.Ref:.-second-item.67042.
58bc0 52 65 66 3a 20 2d 74 68 69 72 64 2d 69 74 65 6d 7f 36 37 33 30 36 0a 52 65 66 3a 20 2d 66 6f 75 Ref:.-third-item.67306.Ref:.-fou
58be0 72 74 68 2d 69 74 65 6d 7f 36 37 35 36 38 0a 52 65 66 3a 20 2d 66 69 66 74 68 2d 69 74 65 6d 7f rth-item.67568.Ref:.-fifth-item.
58c00 36 37 38 33 34 0a 52 65 66 3a 20 2d 6c 61 73 74 2d 69 74 65 6d 7f 36 38 30 39 36 0a 52 65 66 3a 67834.Ref:.-last-item.68096.Ref:
58c20 20 2d 62 75 74 6c 61 73 74 7f 36 38 33 38 37 0a 52 65 66 3a 20 2d 73 6f 72 74 7f 36 38 36 33 32 .-butlast.68387.Ref:.-sort.68632
58c40 0a 52 65 66 3a 20 2d 6c 69 73 74 7f 36 39 31 31 38 0a 52 65 66 3a 20 2d 66 69 78 7f 36 39 36 38 .Ref:.-list.69118.Ref:.-fix.6968
58c60 37 0a 4e 6f 64 65 3a 20 54 72 65 65 20 6f 70 65 72 61 74 69 6f 6e 73 7f 37 30 31 37 36 0a 52 65 7.Node:.Tree.operations.70176.Re
58c80 66 3a 20 2d 74 72 65 65 2d 73 65 71 7f 37 30 33 37 32 0a 52 65 66 3a 20 2d 74 72 65 65 2d 6d 61 f:.-tree-seq.70372.Ref:.-tree-ma
58ca0 70 7f 37 31 32 32 37 0a 52 65 66 3a 20 2d 74 72 65 65 2d 6d 61 70 2d 6e 6f 64 65 73 7f 37 31 36 p.71227.Ref:.-tree-map-nodes.716
58cc0 36 37 0a 52 65 66 3a 20 2d 74 72 65 65 2d 72 65 64 75 63 65 7f 37 32 35 31 34 0a 52 65 66 3a 20 67.Ref:.-tree-reduce.72514.Ref:.
58ce0 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 72 6f 6d 7f 37 33 33 39 36 0a 52 65 66 3a 20 2d 74 72 -tree-reduce-from.73396.Ref:.-tr
58d00 65 65 2d 6d 61 70 72 65 64 75 63 65 7f 37 33 39 39 36 0a 52 65 66 3a 20 2d 74 72 65 65 2d 6d 61 ee-mapreduce.73996.Ref:.-tree-ma
58d20 70 72 65 64 75 63 65 2d 66 72 6f 6d 7f 37 34 38 35 35 0a 52 65 66 3a 20 2d 63 6c 6f 6e 65 7f 37 preduce-from.74855.Ref:.-clone.7
58d40 36 31 34 30 0a 4e 6f 64 65 3a 20 54 68 72 65 61 64 69 6e 67 20 6d 61 63 72 6f 73 7f 37 36 34 36 6140.Node:.Threading.macros.7646
58d60 37 0a 52 65 66 3a 20 2d 3e 7f 37 36 36 39 32 0a 52 65 66 3a 20 2d 3e 3e 7f 37 37 31 38 30 0a 52 7.Ref:.->.76692.Ref:.->>.77180.R
58d80 65 66 3a 20 2d 2d 3e 7f 37 37 36 38 33 0a 52 65 66 3a 20 2d 61 73 2d 3e 7f 37 38 32 33 39 0a 52 ef:.-->.77683.Ref:.-as->.78239.R
58da0 65 66 3a 20 2d 73 6f 6d 65 2d 3e 7f 37 38 36 39 33 0a 52 65 66 3a 20 2d 73 6f 6d 65 2d 3e 3e 7f ef:.-some->.78693.Ref:.-some->>.
58dc0 37 39 30 36 36 0a 52 65 66 3a 20 2d 73 6f 6d 65 2d 2d 3e 7f 37 39 35 30 31 0a 52 65 66 3a 20 2d 79066.Ref:.-some-->.79501.Ref:.-
58de0 64 6f 74 6f 7f 38 30 30 35 30 0a 4e 6f 64 65 3a 20 42 69 6e 64 69 6e 67 7f 38 30 36 30 33 0a 52 doto.80050.Node:.Binding.80603.R
58e00 65 66 3a 20 2d 77 68 65 6e 2d 6c 65 74 7f 38 30 38 31 30 0a 52 65 66 3a 20 2d 77 68 65 6e 2d 6c ef:.-when-let.80810.Ref:.-when-l
58e20 65 74 2a 7f 38 31 32 36 35 0a 52 65 66 3a 20 2d 69 66 2d 6c 65 74 7f 38 31 37 38 38 0a 52 65 66 et*.81265.Ref:.-if-let.81788.Ref
58e40 3a 20 2d 69 66 2d 6c 65 74 2a 7f 38 32 31 34 38 0a 52 65 66 3a 20 2d 6c 65 74 7f 38 32 37 36 35 :.-if-let*.82148.Ref:.-let.82765
58e60 0a 52 65 66 3a 20 2d 6c 65 74 2a 7f 38 38 38 33 37 0a 52 65 66 3a 20 2d 6c 61 6d 62 64 61 7f 38 .Ref:.-let*.88837.Ref:.-lambda.8
58e80 39 37 37 34 0a 52 65 66 3a 20 2d 73 65 74 71 7f 39 30 35 38 30 0a 4e 6f 64 65 3a 20 53 69 64 65 9774.Ref:.-setq.90580.Node:.Side
58ea0 20 65 66 66 65 63 74 73 7f 39 31 33 38 31 0a 52 65 66 3a 20 2d 65 61 63 68 7f 39 31 35 37 35 0a .effects.91381.Ref:.-each.91575.
58ec0 52 65 66 3a 20 2d 65 61 63 68 2d 77 68 69 6c 65 7f 39 32 30 39 36 0a 52 65 66 3a 20 2d 65 61 63 Ref:.-each-while.92096.Ref:.-eac
58ee0 68 2d 69 6e 64 65 78 65 64 7f 39 32 36 39 38 0a 52 65 66 3a 20 2d 65 61 63 68 2d 72 7f 39 33 32 h-indexed.92698.Ref:.-each-r.932
58f00 38 34 0a 52 65 66 3a 20 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 7f 39 33 37 32 30 0a 52 65 66 3a 84.Ref:.-each-r-while.93720.Ref:
58f20 20 2d 64 6f 74 69 6d 65 73 7f 39 34 33 34 36 0a 4e 6f 64 65 3a 20 44 65 73 74 72 75 63 74 69 76 .-dotimes.94346.Node:.Destructiv
58f40 65 20 6f 70 65 72 61 74 69 6f 6e 73 7f 39 34 38 39 39 0a 52 65 66 3a 20 21 63 6f 6e 73 7f 39 35 e.operations.94899.Ref:.!cons.95
58f60 31 31 37 0a 52 65 66 3a 20 21 63 64 72 7f 39 35 33 32 31 0a 4e 6f 64 65 3a 20 46 75 6e 63 74 69 117.Ref:.!cdr.95321.Node:.Functi
58f80 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 73 7f 39 35 35 31 34 0a 52 65 66 3a 20 2d 70 61 72 74 69 on.combinators.95514.Ref:.-parti
58fa0 61 6c 7f 39 35 37 31 38 0a 52 65 66 3a 20 2d 72 70 61 72 74 69 61 6c 7f 39 36 32 33 36 0a 52 65 al.95718.Ref:.-rpartial.96236.Re
58fc0 66 3a 20 2d 6a 75 78 74 7f 39 36 38 38 34 0a 52 65 66 3a 20 2d 63 6f 6d 70 6f 73 65 7f 39 37 33 f:.-juxt.96884.Ref:.-compose.973
58fe0 33 36 0a 52 65 66 3a 20 2d 61 70 70 6c 69 66 79 7f 39 37 39 34 33 0a 52 65 66 3a 20 2d 6f 6e 7f 36.Ref:.-applify.97943.Ref:.-on.
59000 39 38 33 37 33 0a 52 65 66 3a 20 2d 66 6c 69 70 7f 39 39 31 34 35 0a 52 65 66 3a 20 2d 72 6f 74 98373.Ref:.-flip.99145.Ref:.-rot
59020 61 74 65 2d 61 72 67 73 7f 39 39 36 36 39 0a 52 65 66 3a 20 2d 63 6f 6e 73 74 7f 31 30 30 32 39 ate-args.99669.Ref:.-const.10029
59040 38 0a 52 65 66 3a 20 2d 63 75 74 7f 31 30 30 36 34 30 0a 52 65 66 3a 20 2d 6e 6f 74 7f 31 30 31 8.Ref:.-cut.100640.Ref:.-not.101
59060 31 32 30 0a 52 65 66 3a 20 2d 6f 72 66 6e 7f 31 30 31 36 34 36 0a 52 65 66 3a 20 2d 61 6e 64 66 120.Ref:.-orfn.101646.Ref:.-andf
59080 6e 7f 31 30 32 34 30 38 0a 52 65 66 3a 20 2d 69 74 65 72 61 74 65 66 6e 7f 31 30 33 31 36 34 0a n.102408.Ref:.-iteratefn.103164.
590a0 52 65 66 3a 20 2d 66 69 78 66 6e 7f 31 30 33 38 36 36 0a 52 65 66 3a 20 2d 70 72 6f 64 66 6e 7f Ref:.-fixfn.103866.Ref:.-prodfn.
590c0 31 30 35 34 32 32 0a 4e 6f 64 65 3a 20 44 65 76 65 6c 6f 70 6d 65 6e 74 7f 31 30 36 34 38 30 0a 105422.Node:.Development.106480.
590e0 4e 6f 64 65 3a 20 43 6f 6e 74 72 69 62 75 74 65 7f 31 30 36 37 36 39 0a 4e 6f 64 65 3a 20 43 6f Node:.Contribute.106769.Node:.Co
59100 6e 74 72 69 62 75 74 6f 72 73 7f 31 30 37 37 38 31 0a 4e 6f 64 65 3a 20 46 44 4c 7f 31 30 39 38 ntributors.107781.Node:.FDL.1098
59120 37 34 0a 4e 6f 64 65 3a 20 47 50 4c 7f 31 33 35 31 39 34 0a 4e 6f 64 65 3a 20 49 6e 64 65 78 7f 74.Node:.GPL.135194.Node:.Index.
59140 31 37 32 39 34 33 0a 1f 0a 45 6e 64 20 54 61 67 20 54 61 62 6c 65 0a 0a 1f 0a 4c 6f 63 61 6c 20 172943...End.Tag.Table....Local.
59160 56 61 72 69 61 62 6c 65 73 3a 0a 63 6f 64 69 6e 67 3a 20 75 74 66 2d 38 0a 45 6e 64 3a 0a 00 00 Variables:.coding:.utf-8.End:...
59180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
591a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
591c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
591e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59200 64 61 73 68 2d 32 2e 31 39 2e 31 2f 4e 45 57 53 2e 6d 64 00 00 00 00 00 00 00 00 00 00 00 00 00 dash-2.19.1/NEWS.md.............
59220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59260 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
59280 30 30 32 33 37 32 36 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 32 32 37 32 00 20 30 00 00 00 0023726.00000000000.012272..0...
592a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
592c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
592e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59300 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...................
59320 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...................
59340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
593a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
593c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
593e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59400 23 20 44 61 73 68 20 4e 45 57 53 20 2d 2d 20 68 69 73 74 6f 72 79 20 6f 66 20 75 73 65 72 2d 76 #.Dash.NEWS.--.history.of.user-v
59420 69 73 69 62 6c 65 20 63 68 61 6e 67 65 73 0a 0a 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 isible.changes..Copyright.(C).20
59440 31 32 2d 32 30 32 31 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 12-2021.Free.Software.Foundation
59460 2c 20 49 6e 63 2e 0a 0a 53 65 65 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 66 69 6c 65 20 ,.Inc...See.the.end.of.the.file.
59480 66 6f 72 20 6c 69 63 65 6e 73 65 20 63 6f 6e 64 69 74 69 6f 6e 73 2e 0a 0a 23 23 20 43 68 61 6e for.license.conditions...##.Chan
594a0 67 65 20 6c 6f 67 0a 0a 23 23 23 20 46 72 6f 6d 20 32 2e 31 39 2e 30 20 74 6f 20 32 2e 31 39 2e ge.log..###.From.2.19.0.to.2.19.
594c0 31 0a 0a 23 23 23 23 20 46 69 78 65 73 0a 0a 2d 20 46 69 78 65 64 20 61 20 72 65 67 72 65 73 73 1..####.Fixes..-.Fixed.a.regress
594e0 69 6f 6e 20 66 72 6f 6d 20 60 32 2e 31 38 60 20 69 6e 20 60 2d 69 73 2d 73 75 66 66 69 78 2d 70 ion.from.`2.18`.in.`-is-suffix-p
59500 60 20 77 68 69 63 68 20 6c 65 64 20 74 6f 20 66 61 6c 73 65 0a 20 20 6e 65 67 61 74 69 76 65 73 `.which.led.to.false...negatives
59520 20 77 68 65 6e 20 70 61 72 74 73 20 6f 66 20 74 68 65 20 73 75 66 66 69 78 20 61 70 70 65 61 72 .when.parts.of.the.suffix.appear
59540 65 64 20 6d 75 6c 74 69 70 6c 65 20 74 69 6d 65 73 20 69 6e 20 74 68 65 0a 20 20 6c 69 73 74 20 ed.multiple.times.in.the...list.
59560 62 65 69 6e 67 20 73 65 61 72 63 68 65 64 20 28 42 65 6e 6e 65 74 74 20 52 65 6e 6e 69 65 72 2c being.searched.(Bennett.Rennier,
59580 20 23 33 38 34 29 2e 0a 0a 23 23 23 20 46 72 6f 6d 20 32 2e 31 38 2e 31 20 74 6f 20 32 2e 31 39 .#384)...###.From.2.18.1.to.2.19
595a0 2e 30 0a 0a 23 23 23 23 20 46 69 78 65 73 0a 0a 2d 20 52 65 76 65 72 74 65 64 20 61 20 62 72 65 .0..####.Fixes..-.Reverted.a.bre
595c0 61 6b 69 6e 67 20 63 68 61 6e 67 65 20 69 6e 74 72 6f 64 75 63 65 64 20 69 6e 20 60 32 2e 31 38 aking.change.introduced.in.`2.18
595e0 2e 30 60 20 74 68 61 74 20 63 61 75 73 65 64 20 74 68 65 0a 20 20 74 68 72 65 61 64 69 6e 67 20 .0`.that.caused.the...threading.
59600 6d 61 63 72 6f 20 60 2d 2d 3e 60 20 74 6f 20 62 65 20 69 6e 64 65 6e 74 65 64 20 64 69 66 66 65 macro.`-->`.to.be.indented.diffe
59620 72 65 6e 74 6c 79 20 66 72 6f 6d 20 60 2d 3e 60 20 61 6e 64 20 60 2d 3e 3e 60 0a 20 20 28 23 33 rently.from.`->`.and.`->>`...(#3
59640 37 35 29 2e 0a 2d 20 41 64 64 65 64 20 61 6e 64 20 66 69 78 65 64 20 45 64 65 62 75 67 20 73 70 75)..-.Added.and.fixed.Edebug.sp
59660 65 63 69 66 69 63 61 74 69 6f 6e 73 20 66 6f 72 20 6d 61 6e 79 20 44 61 73 68 20 6d 61 63 72 6f ecifications.for.many.Dash.macro
59680 73 20 28 50 68 69 6c 69 70 70 0a 20 20 53 74 65 70 68 61 6e 69 2c 20 23 33 38 30 2c 20 23 33 38 s.(Philipp...Stephani,.#380,.#38
596a0 31 29 2e 0a 0a 23 23 23 23 20 4e 65 77 20 66 65 61 74 75 72 65 73 0a 0a 2d 20 54 68 65 20 63 6f 1)...####.New.features..-.The.co
596c0 6d 62 69 6e 61 74 6f 72 73 20 60 2d 6f 6e 60 2c 20 60 2d 66 6c 69 70 60 2c 20 60 2d 6e 6f 74 60 mbinators.`-on`,.`-flip`,.`-not`
596e0 2c 20 60 2d 61 6e 64 66 6e 60 2c 20 61 6e 64 20 60 2d 6f 72 66 6e 60 20 6e 6f 77 0a 20 20 72 65 ,.`-andfn`,.and.`-orfn`.now...re
59700 74 75 72 6e 20 76 61 72 69 61 64 69 63 20 66 75 6e 63 74 69 6f 6e 73 20 74 68 61 74 20 74 61 6b turn.variadic.functions.that.tak
59720 65 20 61 6e 79 20 6e 75 6d 62 65 72 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 20 28 23 33 30 38 29 e.any.number.of.arguments.(#308)
59740 2e 0a 2d 20 4e 65 77 20 63 6f 6d 62 69 6e 61 74 6f 72 20 60 2d 72 6f 74 61 74 65 2d 61 72 67 73 ..-.New.combinator.`-rotate-args
59760 60 20 73 69 6d 69 6c 61 72 20 74 6f 20 60 2d 66 6c 69 70 60 2c 20 62 75 74 20 66 6f 72 20 61 72 `.similar.to.`-flip`,.but.for.ar
59780 62 69 74 72 61 72 79 0a 20 20 61 72 67 6c 69 73 74 20 72 6f 74 61 74 69 6f 6e 73 20 28 73 75 67 bitrary...arglist.rotations.(sug
597a0 67 65 73 74 65 64 20 62 79 20 40 76 61 70 6e 69 6b 73 2c 20 23 37 32 29 2e 0a 2d 20 4e 65 77 20 gested.by.@vapniks,.#72)..-.New.
597c0 66 75 6e 63 74 69 6f 6e 20 60 2d 65 76 65 72 79 60 20 61 6e 64 20 69 74 73 20 61 6e 61 70 68 6f function.`-every`.and.its.anapho
597e0 72 69 63 20 6d 61 63 72 6f 20 63 6f 75 6e 74 65 72 70 61 72 74 20 60 2d 2d 65 76 65 72 79 60 2e ric.macro.counterpart.`--every`.
59800 0a 20 20 54 68 65 79 20 61 72 65 20 6c 69 6b 65 20 74 68 65 20 65 78 69 73 74 69 6e 67 20 60 2d ...They.are.like.the.existing.`-
59820 65 76 65 72 79 2d 70 60 20 61 6e 64 20 60 2d 2d 65 76 65 72 79 2d 70 60 2c 20 72 65 73 70 65 63 every-p`.and.`--every-p`,.respec
59840 74 69 76 65 6c 79 2c 0a 20 20 62 75 74 20 72 65 74 75 72 6e 20 74 68 65 20 6c 61 73 74 20 6e 6f tively,...but.return.the.last.no
59860 6e 2d 60 6e 69 6c 60 20 72 65 73 75 6c 74 20 69 6e 73 74 65 61 64 20 6f 66 20 6a 75 73 74 20 60 n-`nil`.result.instead.of.just.`
59880 74 60 2e 0a 2d 20 4e 65 77 20 6d 61 63 72 6f 20 60 2d 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 t`..-.New.macro.`--partition-aft
598a0 65 72 2d 70 72 65 64 60 20 77 68 69 63 68 20 61 66 66 6f 72 64 73 0a 20 20 60 2d 70 61 72 74 69 er-pred`.which.affords...`-parti
598c0 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 60 20 62 65 74 74 65 72 20 70 65 72 66 6f 72 6d 61 tion-after-pred`.better.performa
598e0 6e 63 65 20 28 50 65 72 20 57 65 69 6a 6e 69 74 7a 2c 20 23 33 36 32 29 2e 0a 0a 23 23 23 20 46 nce.(Per.Weijnitz,.#362)...###.F
59900 72 6f 6d 20 32 2e 31 38 2e 30 20 74 6f 20 32 2e 31 38 2e 31 0a 0a 2d 20 46 69 78 65 64 20 61 20 rom.2.18.0.to.2.18.1..-.Fixed.a.
59920 72 65 67 72 65 73 73 69 6f 6e 20 66 72 6f 6d 20 60 32 2e 31 37 60 20 61 73 20 77 65 6c 6c 20 61 regression.from.`2.17`.as.well.a
59940 73 20 61 20 6c 6f 6e 67 2d 73 74 61 6e 64 69 6e 67 20 62 75 67 20 69 6e 0a 20 20 60 2d 2d 69 74 s.a.long-standing.bug.in...`--it
59960 65 72 61 74 65 60 2c 20 77 68 69 63 68 20 65 76 61 6c 75 61 74 65 64 20 69 74 73 20 61 72 67 75 erate`,.which.evaluated.its.argu
59980 6d 65 6e 74 73 20 6f 6e 65 20 74 6f 6f 20 6d 61 6e 79 20 74 69 6d 65 73 2e 20 20 54 68 69 73 0a ments.one.too.many.times...This.
599a0 20 20 69 6e 20 74 75 72 6e 20 63 6f 75 6c 64 20 6c 65 61 64 20 74 6f 20 65 72 72 6f 72 73 20 69 ..in.turn.could.lead.to.errors.i
599c0 6e 20 60 2d 66 6c 61 74 74 65 6e 2d 6e 60 20 77 68 65 6e 20 69 74 20 74 72 69 65 64 0a 20 20 66 n.`-flatten-n`.when.it.tried...f
599e0 6c 61 74 74 65 6e 69 6e 67 20 63 65 72 74 61 69 6e 20 73 74 72 75 63 74 75 72 65 73 20 74 6f 6f lattening.certain.structures.too
59a00 20 66 61 72 20 28 23 33 37 33 29 2e 0a 0a 23 23 23 20 46 72 6f 6d 20 32 2e 31 37 20 74 6f 20 32 .far.(#373)...###.From.2.17.to.2
59a20 2e 31 38 0a 0a 54 68 69 73 20 72 65 6c 65 61 73 65 20 61 62 73 6f 72 62 73 20 74 68 65 20 6e 6f .18..This.release.absorbs.the.no
59a40 77 20 6f 62 73 6f 6c 65 74 65 20 60 64 61 73 68 2d 66 75 6e 63 74 69 6f 6e 61 6c 60 20 76 65 72 w.obsolete.`dash-functional`.ver
59a60 73 69 6f 6e 0a 60 31 2e 33 2e 30 60 20 69 6e 74 6f 20 60 64 61 73 68 60 2c 20 61 6e 64 20 62 72 sion.`1.3.0`.into.`dash`,.and.br
59a80 69 6e 67 73 20 74 68 65 20 76 65 72 79 20 6f 6c 64 20 76 65 72 73 69 6f 6e 20 6f 66 20 60 64 61 ings.the.very.old.version.of.`da
59aa0 73 68 60 20 6f 6e 20 47 4e 55 0a 45 4c 50 41 20 75 70 20 74 6f 20 64 61 74 65 2e 0a 0a 50 61 63 sh`.on.GNU.ELPA.up.to.date...Pac
59ac0 6b 61 67 65 20 6d 61 69 6e 74 61 69 6e 65 72 73 20 73 68 6f 75 6c 64 20 72 65 70 6c 61 63 65 20 kage.maintainers.should.replace.
59ae0 61 6c 6c 20 75 73 65 73 20 6f 66 20 60 64 61 73 68 2d 66 75 6e 63 74 69 6f 6e 61 6c 60 2c 0a 77 all.uses.of.`dash-functional`,.w
59b00 68 69 63 68 20 77 69 6c 6c 20 65 76 65 6e 74 75 61 6c 6c 79 20 62 65 20 64 65 6c 65 74 65 64 2c hich.will.eventually.be.deleted,
59b20 20 77 69 74 68 20 60 64 61 73 68 60 20 76 65 72 73 69 6f 6e 20 60 32 2e 31 38 2e 30 60 2e 20 20 .with.`dash`.version.`2.18.0`...
59b40 46 6f 72 0a 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 74 68 69 73 2c 20 73 65 For.more.information.on.this,.se
59b60 65 3a 0a 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6d 61 67 6e 61 72 73 2f 64 61 e:.https://github.com/magnars/da
59b80 73 68 2e 65 6c 2f 77 69 6b 69 2f 4f 62 73 6f 6c 65 74 69 6f 6e 2d 6f 66 2d 64 61 73 68 2d 66 75 sh.el/wiki/Obsoletion-of-dash-fu
59ba0 6e 63 74 69 6f 6e 61 6c 2e 65 6c 0a 0a 2d 20 4e 65 77 20 66 75 6e 63 74 69 6f 6e 20 60 2d 69 6f nctional.el..-.New.function.`-io
59bc0 74 61 60 20 66 6f 72 20 67 65 6e 65 72 61 74 69 6e 67 20 61 72 69 74 68 6d 65 74 69 63 20 73 65 ta`.for.generating.arithmetic.se
59be0 71 75 65 6e 63 65 73 0a 20 20 28 40 68 6f 6c 6f 6d 6f 72 70 68 2c 20 23 32 31 35 29 2e 0a 0a 2d quences...(@holomorph,.#215)...-
59c00 20 43 61 6c 6c 69 6e 67 20 60 2d 6c 69 73 74 60 20 77 69 74 68 20 6d 6f 72 65 20 74 68 61 6e 20 .Calling.`-list`.with.more.than.
59c20 6f 6e 65 20 61 72 67 75 6d 65 6e 74 20 69 73 20 6e 6f 77 20 64 65 70 72 65 63 61 74 65 64 2e 0a one.argument.is.now.deprecated..
59c40 0a 2d 20 60 2d 6c 61 6d 62 64 61 60 20 6e 6f 77 20 61 63 63 65 70 74 73 20 61 6e 20 65 6d 70 74 .-.`-lambda`.now.accepts.an.empt
59c60 79 20 61 72 67 75 6d 65 6e 74 20 6c 69 73 74 2e 0a 0a 2d 20 4e 65 77 20 61 6e 61 70 68 6f 72 69 y.argument.list...-.New.anaphori
59c80 63 20 6d 61 63 72 6f 73 20 60 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 72 6f 6d 60 2c 20 60 2d c.macros.`--reductions-from`,.`-
59ca0 2d 72 65 64 75 63 74 69 6f 6e 73 60 2c 0a 20 20 60 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d -reductions`,...`--reductions-r-
59cc0 66 72 6f 6d 60 2c 20 61 6e 64 20 60 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 60 20 63 6f 72 72 from`,.and.`--reductions-r`.corr
59ce0 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 74 68 65 0a 20 20 61 6e 61 6c 6f 67 6f 75 73 20 6e 6f 6e esponding.to.the...analogous.non
59d00 2d 61 6e 61 70 68 6f 72 69 63 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 0a 2d 20 60 2d 64 6f 74 6f 60 -anaphoric.functions...-.`-doto`
59d20 20 74 68 72 65 61 64 69 6e 67 20 6e 6f 77 20 77 6f 72 6b 73 20 61 73 20 77 69 74 68 20 60 2d 3e .threading.now.works.as.with.`->
59d40 60 2e 0a 0a 2d 20 4e 65 77 20 62 75 66 66 65 72 2d 6c 6f 63 61 6c 20 6d 69 6e 6f 72 20 6d 6f 64 `...-.New.buffer-local.minor.mod
59d60 65 20 60 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 60 20 61 6e 64 20 67 6c 6f 62 61 6c e.`dash-fontify-mode`.and.global
59d80 69 7a 65 64 0a 20 20 63 6f 75 6e 74 65 72 70 61 72 74 20 60 67 6c 6f 62 61 6c 2d 64 61 73 68 2d ized...counterpart.`global-dash-
59da0 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 60 20 66 6f 72 20 66 6f 6e 74 69 66 79 69 6e 67 20 73 70 65 fontify-mode`.for.fontifying.spe
59dc0 63 69 61 6c 20 44 61 73 68 0a 20 20 76 61 72 69 61 62 6c 65 73 20 73 75 63 68 20 61 73 20 60 69 cial.Dash...variables.such.as.`i
59de0 74 60 2c 20 60 69 74 2d 69 6e 64 65 78 60 2c 20 60 61 63 63 60 2c 20 65 74 63 2e 20 20 54 68 65 t`,.`it-index`,.`acc`,.etc...The
59e00 20 6d 69 6e 6f 72 20 6d 6f 64 65 20 61 6c 73 6f 0a 20 20 66 6f 6e 74 69 66 69 65 73 20 63 61 6c .minor.mode.also...fontifies.cal
59e20 6c 73 20 74 6f 20 44 61 73 68 20 6d 61 63 72 6f 73 20 69 6e 20 6f 6c 64 65 72 20 45 6d 61 63 73 ls.to.Dash.macros.in.older.Emacs
59e40 20 76 65 72 73 69 6f 6e 73 20 77 68 69 63 68 20 64 69 64 20 6e 6f 74 0a 20 20 64 79 6e 61 6d 69 .versions.which.did.not...dynami
59e60 63 61 6c 6c 79 20 64 65 74 65 63 74 20 6d 61 63 72 6f 20 63 61 6c 6c 73 2e 0a 0a 20 20 54 68 69 cally.detect.macro.calls.....Thi
59e80 73 20 6f 62 73 6f 6c 65 74 65 73 20 74 68 65 20 75 73 65 72 20 6f 70 74 69 6f 6e 20 60 64 61 73 s.obsoletes.the.user.option.`das
59ea0 68 2d 65 6e 61 62 6c 65 2d 66 6f 6e 74 6c 6f 63 6b 60 20 61 6e 64 20 74 68 65 0a 20 20 66 75 6e h-enable-fontlock`.and.the...fun
59ec0 63 74 69 6f 6e 20 60 64 61 73 68 2d 65 6e 61 62 6c 65 2d 66 6f 6e 74 2d 6c 6f 63 6b 60 2c 20 77 ction.`dash-enable-font-lock`,.w
59ee0 68 69 63 68 20 69 73 20 6e 6f 77 20 61 6e 20 61 6c 69 61 73 20 6f 66 0a 20 20 60 67 6c 6f 62 61 hich.is.now.an.alias.of...`globa
59f00 6c 2d 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 60 2e 0a 0a 2d 20 4e 65 77 20 63 6f 6d l-dash-fontify-mode`...-.New.com
59f20 6d 61 6e 64 20 60 64 61 73 68 2d 72 65 67 69 73 74 65 72 2d 69 6e 66 6f 2d 6c 6f 6f 6b 75 70 60 mand.`dash-register-info-lookup`
59f40 20 66 6f 72 20 69 6e 74 65 67 72 61 74 69 6f 6e 20 77 69 74 68 20 60 43 2d 68 20 53 60 0a 20 20 .for.integration.with.`C-h.S`...
59f60 28 60 69 6e 66 6f 2d 6c 6f 6f 6b 75 70 2d 73 79 6d 62 6f 6c 60 29 2e 20 20 54 68 69 73 20 63 6f (`info-lookup-symbol`)...This.co
59f80 6d 6d 61 6e 64 20 61 6c 6c 6f 77 73 20 44 61 73 68 20 73 79 6d 62 6f 6c 73 20 74 6f 20 62 65 0a mmand.allows.Dash.symbols.to.be.
59fa0 20 20 6c 6f 6f 6b 65 64 20 75 70 20 69 6e 20 74 68 65 20 44 61 73 68 20 6d 61 6e 75 61 6c 20 6a ..looked.up.in.the.Dash.manual.j
59fc0 75 73 74 20 6c 69 6b 65 20 45 6c 69 73 70 20 73 79 6d 62 6f 6c 73 20 61 72 65 20 6c 6f 6f 6b 65 ust.like.Elisp.symbols.are.looke
59fe0 64 20 75 70 0a 20 20 69 6e 20 74 68 65 20 45 6c 69 73 70 20 6d 61 6e 75 61 6c 2e 20 20 54 68 65 d.up...in.the.Elisp.manual...The
5a000 20 63 6f 6d 6d 61 6e 64 20 63 61 6e 20 62 65 20 63 61 6c 6c 65 64 20 64 69 72 65 63 74 6c 79 20 .command.can.be.called.directly.
5a020 77 68 65 6e 0a 20 20 6e 65 65 64 65 64 2c 20 6f 72 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 when...needed,.or.automatically.
5a040 66 72 6f 6d 20 79 6f 75 72 20 60 75 73 65 72 2d 69 6e 69 74 2d 66 69 6c 65 60 2e 20 20 46 6f 72 from.your.`user-init-file`...For
5a060 20 65 78 61 6d 70 6c 65 3a 0a 0a 20 20 60 60 60 65 6c 0a 20 20 28 77 69 74 68 2d 65 76 61 6c 2d .example:....```el...(with-eval-
5a080 61 66 74 65 72 2d 6c 6f 61 64 20 27 69 6e 66 6f 2d 6c 6f 6f 6b 0a 20 20 20 20 28 64 61 73 68 2d after-load.'info-look.....(dash-
5a0a0 72 65 67 69 73 74 65 72 2d 69 6e 66 6f 2d 6c 6f 6f 6b 75 70 29 29 0a 20 20 60 60 60 0a 0a 2d 20 register-info-lookup))...```..-.
5a0c0 44 61 73 68 20 69 73 20 6e 6f 77 20 6c 69 73 74 65 64 20 75 6e 64 65 72 20 74 68 65 20 73 74 61 Dash.is.now.listed.under.the.sta
5a0e0 6e 64 61 72 64 20 5b 43 75 73 74 6f 6d 69 7a 61 74 69 6f 6e 0a 20 20 67 72 6f 75 70 73 5d 28 68 ndard.[Customization...groups](h
5a100 74 74 70 73 3a 2f 2f 67 6e 75 2e 6f 72 67 2f 73 6f 66 74 77 61 72 65 2f 65 6d 61 63 73 2f 6d 61 ttps://gnu.org/software/emacs/ma
5a120 6e 75 61 6c 2f 68 74 6d 6c 5f 6e 6f 64 65 2f 65 6d 61 63 73 2f 43 75 73 74 6f 6d 69 7a 61 74 69 nual/html_node/emacs/Customizati
5a140 6f 6e 2d 47 72 6f 75 70 73 2e 68 74 6d 6c 29 0a 20 20 61 6e 64 20 5b 46 69 6e 64 65 72 0a 20 20 on-Groups.html)...and.[Finder...
5a160 6b 65 79 77 6f 72 64 73 5d 28 68 74 74 70 73 3a 2f 2f 67 6e 75 2e 6f 72 67 2f 73 6f 66 74 77 61 keywords](https://gnu.org/softwa
5a180 72 65 2f 65 6d 61 63 73 2f 6d 61 6e 75 61 6c 2f 68 74 6d 6c 5f 6e 6f 64 65 2f 65 6d 61 63 73 2f re/emacs/manual/html_node/emacs/
5a1a0 50 61 63 6b 61 67 65 2d 4b 65 79 77 6f 72 64 73 2e 68 74 6d 6c 29 0a 20 20 60 65 78 74 65 6e 73 Package-Keywords.html)...`extens
5a1c0 69 6f 6e 73 60 20 61 6e 64 20 60 6c 69 73 70 60 2e 0a 0a 2d 20 54 68 65 20 44 61 73 68 20 6d 61 ions`.and.`lisp`...-.The.Dash.ma
5a1e0 6e 75 61 6c 20 69 73 20 6e 6f 77 20 6c 69 63 65 6e 73 65 64 20 75 6e 64 65 72 20 74 68 65 20 47 nual.is.now.licensed.under.the.G
5a200 4e 55 20 46 72 65 65 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 0a 20 20 4c 69 63 65 6e 73 65 20 NU.Free.Documentation...License.
5a220 76 65 72 73 69 6f 6e 20 31 2e 33 2e 0a 0a 2d 20 56 61 72 69 6f 75 73 20 6f 74 68 65 72 20 62 75 version.1.3...-.Various.other.bu
5a240 67 20 66 69 78 2c 20 70 65 72 66 6f 72 6d 61 6e 63 65 2c 20 62 79 74 65 2d 63 6f 6d 70 69 6c 61 g.fix,.performance,.byte-compila
5a260 74 69 6f 6e 2c 20 61 6e 64 0a 20 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 69 6d 70 72 6f 76 tion,.and...documentation.improv
5a280 65 6d 65 6e 74 73 2e 0a 0a 23 23 23 20 46 72 6f 6d 20 32 2e 31 36 20 74 6f 20 32 2e 31 37 0a 0a ements...###.From.2.16.to.2.17..
5a2a0 2d 20 53 70 65 64 20 75 70 20 60 2d 75 6e 69 71 60 20 62 79 20 75 73 69 6e 67 20 68 61 73 68 2d -.Sped.up.`-uniq`.by.using.hash-
5a2c0 74 61 62 6c 65 73 20 77 68 65 6e 20 70 6f 73 73 69 62 6c 65 20 28 40 63 69 72 65 75 2c 20 23 33 tables.when.possible.(@cireu,.#3
5a2e0 30 35 29 2e 0a 2d 20 46 69 78 65 64 20 60 2d 69 6e 69 74 73 60 20 74 6f 20 62 65 20 6e 6f 6e 2d 05)..-.Fixed.`-inits`.to.be.non-
5a300 64 65 73 74 72 75 63 74 69 76 65 20 28 40 53 77 69 66 74 4c 61 77 6e 47 6e 6f 6d 65 2c 20 23 33 destructive.(@SwiftLawnGnome,.#3
5a320 31 33 29 2e 0a 2d 20 46 69 78 65 64 20 69 6e 64 65 6e 74 20 72 75 6c 65 73 20 66 6f 72 20 60 2d 13)..-.Fixed.indent.rules.for.`-
5a340 73 6f 6d 65 2d 3e 60 20 61 6e 64 20 66 61 6d 69 6c 79 20 28 40 77 62 6f 6c 73 74 65 72 2c 20 23 some->`.and.family.(@wbolster,.#
5a360 33 32 31 29 2e 0a 2d 20 41 64 64 65 64 20 60 2d 7a 69 70 2d 6c 69 73 74 73 60 20 77 68 69 63 68 321)..-.Added.`-zip-lists`.which
5a380 20 61 6c 77 61 79 73 20 72 65 74 75 72 6e 73 20 61 20 6c 69 73 74 20 6f 66 20 70 72 6f 70 65 72 .always.returns.a.list.of.proper
5a3a0 20 6c 69 73 74 73 2c 20 65 76 65 6e 20 66 6f 72 20 74 77 6f 0a 20 20 69 6e 70 75 74 20 6c 69 73 .lists,.even.for.two...input.lis
5a3c0 74 73 20 28 73 65 65 20 69 73 73 75 65 20 23 31 33 35 29 2e 0a 0a 23 23 23 20 46 72 6f 6d 20 32 ts.(see.issue.#135)...###.From.2
5a3e0 2e 31 35 20 74 6f 20 32 2e 31 36 0a 0a 2d 20 41 64 64 65 64 20 60 2d 2d 64 6f 74 6f 60 2c 20 61 .15.to.2.16..-.Added.`--doto`,.a
5a400 6e 61 70 68 6f 72 69 63 20 76 65 72 73 69 6f 6e 20 6f 66 20 60 2d 64 6f 74 6f 60 20 28 23 32 38 naphoric.version.of.`-doto`.(#28
5a420 32 29 2e 0a 2d 20 41 6c 69 61 73 65 64 20 60 2d 63 6f 6e 73 2d 70 61 69 72 2d 70 60 20 74 6f 20 2)..-.Aliased.`-cons-pair-p`.to.
5a440 60 2d 63 6f 6e 73 2d 70 61 69 72 3f 60 20 28 23 32 38 38 29 2e 0a 2d 20 47 65 6e 65 72 61 6c 69 `-cons-pair?`.(#288)..-.Generali
5a460 7a 65 64 20 60 2d 72 6f 74 61 74 65 60 20 66 6f 72 20 60 7c 4e 7c 60 20 67 72 65 61 74 65 72 20 zed.`-rotate`.for.`|N|`.greater.
5a480 74 68 61 6e 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 6c 69 73 74 20 28 40 6c 65 than.the.length.of.the.list.(@le
5a4a0 75 6e 67 62 6b 2c 0a 20 20 23 32 39 30 29 2e 0a 2d 20 41 64 64 65 64 20 61 20 6d 65 63 68 61 6e ungbk,...#290)..-.Added.a.mechan
5a4c0 69 73 6d 20 74 6f 20 65 78 74 65 6e 64 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 20 77 69 74 68 ism.to.extend.destructuring.with
5a4e0 20 63 75 73 74 6f 6d 20 6d 61 74 63 68 65 72 73 20 28 40 79 79 6f 6e 63 68 6f 2c 0a 20 20 23 32 .custom.matchers.(@yyoncho,...#2
5a500 37 37 29 2e 0a 0a 23 23 23 20 46 72 6f 6d 20 32 2e 31 34 20 74 6f 20 32 2e 31 35 0a 0a 54 68 69 77)...###.From.2.14.to.2.15..Thi
5a520 73 20 72 65 6c 65 61 73 65 20 62 72 69 6e 67 73 20 6e 65 77 20 64 65 73 74 72 75 63 74 75 72 69 s.release.brings.new.destructuri
5a540 6e 67 20 66 65 61 74 75 72 65 73 2c 20 73 6f 6d 65 20 6e 65 77 20 63 6f 6e 74 72 6f 6c 20 66 6c ng.features,.some.new.control.fl
5a560 6f 77 0a 66 75 6e 63 74 69 6f 6e 73 20 61 6e 64 20 70 65 72 66 6f 72 6d 61 6e 63 65 20 6f 70 74 ow.functions.and.performance.opt
5a580 69 6d 69 7a 61 74 69 6f 6e 73 2e 0a 0a 2d 20 41 64 64 65 64 20 60 2d 73 65 74 71 60 20 77 69 74 imizations...-.Added.`-setq`.wit
5a5a0 68 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 20 62 69 6e 64 69 6e 67 20 73 75 70 70 6f 72 74 20 h.destructuring.binding.support.
5a5c0 73 69 6d 69 6c 61 72 20 74 6f 20 74 68 65 20 60 2d 6c 65 74 60 20 66 61 6d 69 6c 79 0a 20 20 28 similar.to.the.`-let`.family...(
5a5e0 23 31 31 36 29 2e 0a 2d 20 41 64 64 65 64 20 73 6d 61 72 74 65 72 20 6b 65 79 20 64 65 73 74 72 #116)..-.Added.smarter.key.destr
5a600 75 63 74 75 72 69 6e 67 20 69 6e 20 60 2d 6c 65 74 60 20 61 6e 64 20 66 72 69 65 6e 64 73 20 77 ucturing.in.`-let`.and.friends.w
5a620 68 65 72 65 20 76 61 72 69 61 62 6c 65 73 20 61 72 65 0a 20 20 61 75 74 6f 2d 64 65 72 69 76 65 here.variables.are...auto-derive
5a640 64 20 66 72 6f 6d 20 6b 65 79 73 20 28 23 31 31 31 29 2e 0a 2d 20 41 6c 6c 6f 77 65 64 20 60 2d d.from.keys.(#111)..-.Allowed.`-
5a660 6c 65 74 60 20 62 69 6e 64 69 6e 67 73 20 77 69 74 68 6f 75 74 20 61 20 73 6f 75 72 63 65 20 76 let`.bindings.without.a.source.v
5a680 61 6c 75 65 20 66 6f 72 6d 20 28 23 32 35 36 29 2e 0a 2d 20 41 64 64 65 64 20 60 2d 65 61 63 68 alue.form.(#256)..-.Added.`-each
5a6a0 2d 72 60 20 61 6e 64 20 60 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 60 20 28 40 64 6f 75 62 6c 65 -r`.and.`-each-r-while`.(@double
5a6c0 70 2c 20 23 31 35 39 29 2e 0a 2d 20 41 64 64 65 64 20 60 2d 63 6f 6d 6d 6f 6e 2d 73 75 66 66 69 p,.#159)..-.Added.`-common-suffi
5a6e0 78 60 20 28 40 62 61 73 69 6c 2d 63 6f 6e 74 6f 2c 20 23 32 36 33 29 2e 0a 2d 20 49 6d 70 72 6f x`.(@basil-conto,.#263)..-.Impro
5a700 76 65 64 20 70 65 72 66 6f 72 6d 61 6e 63 65 20 6f 66 20 66 6f 6c 64 73 20 28 60 2d 72 65 64 75 ved.performance.of.folds.(`-redu
5a720 63 65 60 20 61 6e 64 20 66 72 69 65 6e 64 73 29 20 28 40 62 61 73 69 6c 2d 63 6f 6e 74 6f 2c 20 ce`.and.friends).(@basil-conto,.
5a740 23 32 36 34 29 2e 0a 0a 23 23 23 20 46 72 6f 6d 20 32 2e 31 33 20 74 6f 20 32 2e 31 34 0a 0a 54 #264)...###.From.2.13.to.2.14..T
5a760 68 69 73 20 72 65 6c 65 61 73 65 20 72 65 74 69 72 65 64 20 45 6d 61 63 73 20 32 33 20 73 75 70 his.release.retired.Emacs.23.sup
5a780 70 6f 72 74 2e 0a 0a 2d 20 41 64 64 65 64 20 45 64 65 62 75 67 20 73 75 70 70 6f 72 74 20 66 6f port...-.Added.Edebug.support.fo
5a7a0 72 20 74 68 72 65 61 64 69 6e 67 20 6d 61 63 72 6f 73 20 28 40 57 69 6c 66 72 65 64 29 2e 0a 2d r.threading.macros.(@Wilfred)..-
5a7c0 20 41 64 64 65 64 20 60 2d 75 6e 7a 69 70 60 2e 0a 2d 20 41 64 64 65 64 20 73 75 70 70 6f 72 74 .Added.`-unzip`..-.Added.support
5a7e0 20 66 6f 72 20 60 2d 66 69 72 73 74 2d 69 74 65 6d 60 20 61 6e 64 20 60 2d 6c 61 73 74 2d 69 74 .for.`-first-item`.and.`-last-it
5a800 65 6d 60 20 61 73 20 5b 70 6c 61 63 65 0a 20 20 66 6f 72 6d 73 5d 28 68 74 74 70 73 3a 2f 2f 67 em`.as.[place...forms](https://g
5a820 6e 75 2e 6f 72 67 2f 73 6f 66 74 77 61 72 65 2f 65 6d 61 63 73 2f 6d 61 6e 75 61 6c 2f 68 74 6d nu.org/software/emacs/manual/htm
5a840 6c 5f 6e 6f 64 65 2f 65 6c 69 73 70 2f 47 65 6e 65 72 61 6c 69 7a 65 64 2d 56 61 72 69 61 62 6c l_node/elisp/Generalized-Variabl
5a860 65 73 2e 68 74 6d 6c 29 2e 0a 2d 20 41 64 64 65 64 20 60 2d 70 6f 77 65 72 73 65 74 60 20 61 6e es.html)..-.Added.`-powerset`.an
5a880 64 20 60 2d 70 65 72 6d 75 74 61 74 69 6f 6e 73 60 20 28 40 68 6f 6c 6f 6d 6f 72 70 68 29 2e 0a d.`-permutations`.(@holomorph)..
5a8a0 2d 20 41 64 64 65 64 20 60 2d 61 73 2d 3e 60 20 66 6f 72 20 74 68 72 65 61 64 69 6e 67 20 61 20 -.Added.`-as->`.for.threading.a.
5a8c0 6e 61 6d 65 64 20 76 61 72 69 61 62 6c 65 20 28 40 7a 63 6b 29 2e 0a 2d 20 41 64 64 65 64 20 60 named.variable.(@zck)..-.Added.`
5a8e0 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 60 2c 20 60 2d 70 61 72 74 69 74 -partition-after-pred`,.`-partit
5a900 69 6f 6e 2d 62 65 66 6f 72 65 2d 70 72 65 64 60 2c 0a 20 20 60 2d 70 61 72 74 69 74 69 6f 6e 2d ion-before-pred`,...`-partition-
5a920 61 66 74 65 72 2d 69 74 65 6d 60 2c 20 61 6e 64 20 60 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 after-item`,.and.`-partition-bef
5a940 6f 72 65 2d 69 74 65 6d 60 20 28 40 7a 63 6b 29 2e 0a 2d 20 46 69 78 65 64 20 61 20 62 75 67 20 ore-item`.(@zck)..-.Fixed.a.bug.
5a960 69 6e 20 60 2d 61 6e 79 2d 70 60 20 61 6e 64 20 66 72 69 65 6e 64 73 20 74 65 73 74 69 6e 67 20 in.`-any-p`.and.friends.testing.
5a980 66 6f 72 20 60 6e 75 6c 6c 60 20 6f 6e 20 6c 69 73 74 73 20 63 6f 6e 74 61 69 6e 69 6e 67 0a 20 for.`null`.on.lists.containing..
5a9a0 20 60 6e 69 6c 60 20 28 23 32 33 39 29 2e 0a 2d 20 46 69 78 65 64 20 69 6e 66 69 6e 69 74 65 20 .`nil`.(#239)..-.Fixed.infinite.
5a9c0 6c 6f 6f 70 20 62 75 67 20 69 6e 20 60 2d 7a 69 70 60 20 61 6e 64 20 60 2d 69 6e 74 65 72 6c 65 loop.bug.in.`-zip`.and.`-interle
5a9e0 61 76 65 60 20 77 68 65 6e 20 63 61 6c 6c 65 64 20 77 69 74 68 20 65 6d 70 74 79 0a 20 20 69 6e ave`.when.called.with.empty...in
5aa00 70 75 74 2e 0a 2d 20 41 64 64 65 64 20 60 2d 73 65 63 6f 6e 64 2d 69 74 65 6d 60 20 74 68 72 6f put..-.Added.`-second-item`.thro
5aa20 75 67 68 20 60 2d 66 69 66 74 68 2d 69 74 65 6d 60 20 61 73 20 61 6c 74 65 72 6e 61 74 69 76 65 ugh.`-fifth-item`.as.alternative
5aa40 73 20 74 6f 20 60 6e 74 68 60 0a 20 20 28 40 57 69 6c 66 72 65 64 29 2e 0a 2d 20 41 64 64 65 64 s.to.`nth`...(@Wilfred)..-.Added
5aa60 20 60 2d 74 61 69 6c 73 60 20 61 6e 64 20 60 2d 69 6e 69 74 73 60 2e 0a 2d 20 41 64 64 65 64 20 .`-tails`.and.`-inits`..-.Added.
5aa80 60 2d 72 75 6e 6e 69 6e 67 2d 73 75 6d 60 20 61 6e 64 20 60 2d 72 75 6e 6e 69 6e 67 2d 70 72 6f `-running-sum`.and.`-running-pro
5aaa0 64 75 63 74 60 2e 0a 2d 20 41 64 64 65 64 20 74 68 65 20 60 2d 72 65 64 75 63 74 69 6f 6e 73 5b duct`..-.Added.the.`-reductions[
5aac0 2d 72 5d 5b 2d 66 72 6f 6d 5d 60 20 66 61 6d 69 6c 79 20 6f 66 20 66 75 6e 63 74 69 6f 6e 73 20 -r][-from]`.family.of.functions.
5aae0 28 6c 69 6b 65 20 60 2d 72 65 64 75 63 65 60 20 62 75 74 0a 20 20 63 6f 6c 6c 65 63 74 69 6e 67 (like.`-reduce`.but...collecting
5ab00 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 72 65 73 75 6c 74 73 29 2e 0a 2d 20 41 64 64 65 64 20 .intermediate.results)..-.Added.
5ab20 60 2d 63 6f 6d 6d 6f 6e 2d 70 72 65 66 69 78 60 20 28 40 62 61 73 69 6c 2d 63 6f 6e 74 6f 29 2e `-common-prefix`.(@basil-conto).
5ab40 0a 0a 23 23 23 20 46 72 6f 6d 20 32 2e 31 32 20 74 6f 20 32 2e 31 33 0a 0a 2d 20 60 2d 6c 65 74 ..###.From.2.12.to.2.13..-.`-let
5ab60 60 20 6e 6f 77 20 73 75 70 70 6f 72 74 73 20 60 26 61 6c 69 73 74 60 20 64 65 73 74 72 75 63 74 `.now.supports.`&alist`.destruct
5ab80 75 72 69 6e 67 2e 0a 2d 20 56 61 72 69 6f 75 73 20 70 65 72 66 6f 72 6d 61 6e 63 65 20 69 6d 70 uring..-.Various.performance.imp
5aba0 72 6f 76 65 6d 65 6e 74 73 2e 0a 2d 20 60 2d 7a 69 70 60 20 6d 69 67 68 74 20 63 68 61 6e 67 65 rovements..-.`-zip`.might.change
5abc0 20 69 6e 20 61 20 66 75 74 75 72 65 20 72 65 6c 65 61 73 65 20 74 6f 20 61 6c 77 61 79 73 20 72 .in.a.future.release.to.always.r
5abe0 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 70 72 6f 70 65 72 0a 20 20 6c 69 73 74 73 2e 20 eturn.a.list.of.proper...lists..
5ac00 20 41 64 64 65 64 20 60 2d 7a 69 70 2d 70 61 69 72 60 20 66 6f 72 20 75 73 65 72 73 20 77 68 6f .Added.`-zip-pair`.for.users.who
5ac20 20 65 78 70 6c 69 63 69 74 6c 79 20 77 61 6e 74 20 74 68 65 20 6f 6c 64 20 62 65 68 61 76 69 6f .explicitly.want.the.old.behavio
5ac40 72 2e 0a 2d 20 45 6e 61 62 6c 65 64 20 6c 65 78 69 63 61 6c 20 62 69 6e 64 69 6e 67 20 69 6e 20 r..-.Enabled.lexical.binding.in.
5ac60 60 64 61 73 68 2e 65 6c 60 20 66 6f 72 20 45 6d 61 63 73 20 76 65 72 73 69 6f 6e 73 20 32 34 20 `dash.el`.for.Emacs.versions.24.
5ac80 6f 72 20 6e 65 77 65 72 20 28 23 31 33 30 29 2e 0a 2d 20 41 64 64 65 64 20 60 2d 73 65 6c 65 63 or.newer.(#130)..-.Added.`-selec
5aca0 74 2d 63 6f 6c 75 6d 6e 60 20 61 6e 64 20 60 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 73 60 2e t-column`.and.`-select-columns`.
5acc0 0a 2d 20 46 69 78 65 64 20 60 2d 6d 61 70 2d 6c 61 73 74 60 20 61 6e 64 20 60 2d 2d 72 65 6d 6f .-.Fixed.`-map-last`.and.`--remo
5ace0 76 65 2d 6c 61 73 74 60 20 74 6f 20 62 65 20 6e 6f 6e 2d 64 65 73 74 72 75 63 74 69 76 65 20 28 ve-last`.to.be.non-destructive.(
5ad00 23 31 35 38 29 2e 0a 2d 20 41 64 64 65 64 20 60 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 60 20 61 #158)..-.Added.`-each-indexed`.a
5ad20 6e 64 20 60 2d 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 60 2e 0a 2d 20 41 64 64 65 64 20 60 2d 74 nd.`--each-indexed`..-.Added.`-t
5ad40 61 6b 65 2d 6c 61 73 74 60 20 61 6e 64 20 60 2d 64 72 6f 70 2d 6c 61 73 74 60 2e 0a 2d 20 41 64 ake-last`.and.`-drop-last`..-.Ad
5ad60 64 65 64 20 74 68 65 20 60 2d 64 6f 74 6f 60 20 6d 61 63 72 6f 2e 0a 2d 20 60 2d 63 75 74 20 3c ded.the.`-doto`.macro..-.`-cut.<
5ad80 3e 60 20 69 73 20 6e 6f 77 20 74 72 65 61 74 65 64 20 61 73 20 61 20 66 75 6e 63 74 69 6f 6e 2c >`.is.now.treated.as.a.function,
5ada0 20 63 6f 6e 73 69 73 74 65 6e 74 20 77 69 74 68 20 5b 53 52 46 49 0a 20 20 32 36 5d 28 68 74 74 .consistent.with.[SRFI...26](htt
5adc0 70 73 3a 2f 2f 73 72 66 69 2e 73 63 68 65 6d 65 72 73 2e 6f 72 67 2f 73 72 66 69 2d 32 36 2f 73 ps://srfi.schemers.org/srfi-26/s
5ade0 72 66 69 2d 32 36 2e 68 74 6d 6c 29 20 28 23 31 38 35 29 2e 0a 0a 23 23 23 20 46 72 6f 6d 20 32 rfi-26.html).(#185)...###.From.2
5ae00 2e 31 31 20 74 6f 20 32 2e 31 32 0a 0a 2d 20 41 64 64 65 64 20 47 4e 55 20 45 4c 50 41 20 73 75 .11.to.2.12..-.Added.GNU.ELPA.su
5ae20 70 70 6f 72 74 20 28 50 68 69 6c 6c 69 70 20 4c 6f 72 64 29 2e 0a 2d 20 41 64 64 65 64 20 60 2d pport.(Phillip.Lord)..-.Added.`-
5ae40 73 6f 6d 65 2d 3e 60 2c 20 60 2d 73 6f 6d 65 2d 3e 3e 60 2c 20 61 6e 64 20 60 2d 73 6f 6d 65 2d some->`,.`-some->>`,.and.`-some-
5ae60 2d 3e 60 20 6d 61 63 72 6f 73 20 28 43 61 6d 20 53 61 75 6c 29 2e 0a 2d 20 60 2d 69 73 2d 73 75 ->`.macros.(Cam.Saul)..-.`-is-su
5ae80 66 66 69 78 3f 60 20 69 73 20 6e 6f 77 20 6e 6f 6e 2d 64 65 73 74 72 75 63 74 69 76 65 2e 0a 2d ffix?`.is.now.non-destructive..-
5aea0 20 46 61 73 74 65 72 20 68 61 73 68 20 74 61 62 6c 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f .Faster.hash.table.implementatio
5aec0 6e 20 66 6f 72 20 60 2d 75 6e 69 6f 6e 60 2e 0a 2d 20 49 6d 70 72 6f 76 65 6d 65 6e 74 73 20 74 n.for.`-union`..-.Improvements.t
5aee0 6f 20 64 6f 63 73 74 72 69 6e 67 73 20 61 6e 64 20 65 78 61 6d 70 6c 65 73 2e 0a 0a 23 23 23 20 o.docstrings.and.examples...###.
5af00 46 72 6f 6d 20 32 2e 31 30 20 74 6f 20 32 2e 31 31 0a 0a 2d 20 4c 6f 74 73 20 6f 66 20 63 6c 65 From.2.10.to.2.11..-.Lots.of.cle
5af20 61 6e 20 75 70 20 77 2e 72 2e 74 2e 20 62 79 74 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 2c 20 64 an.up.w.r.t..byte.compilation,.d
5af40 65 62 75 67 20 6d 61 63 72 6f 73 2c 20 61 6e 64 20 74 65 73 74 73 2e 0a 0a 23 23 23 20 46 72 6f ebug.macros,.and.tests...###.Fro
5af60 6d 20 32 2e 39 20 74 6f 20 32 2e 31 30 0a 0a 2d 20 41 64 64 65 64 20 60 2d 6c 65 74 60 20 64 65 m.2.9.to.2.10..-.Added.`-let`.de
5af80 73 74 72 75 63 74 75 72 69 6e 67 20 74 6f 20 60 2d 69 66 2d 6c 65 74 60 20 61 6e 64 20 60 2d 77 structuring.to.`-if-let`.and.`-w
5afa0 68 65 6e 2d 6c 65 74 60 20 28 46 72 65 64 72 69 6b 20 42 65 72 67 72 6f 74 68 29 2e 0a 0a 23 23 hen-let`.(Fredrik.Bergroth)...##
5afc0 23 20 46 72 6f 6d 20 32 2e 38 20 74 6f 20 32 2e 39 0a 0a 2d 20 41 64 64 65 64 20 60 2d 6c 65 74 #.From.2.8.to.2.9..-.Added.`-let
5afe0 60 2c 20 60 2d 6c 65 74 2a 60 2c 20 61 6e 64 20 60 2d 6c 61 6d 62 64 61 60 20 77 69 74 68 20 64 `,.`-let*`,.and.`-lambda`.with.d
5b000 65 73 74 72 75 63 74 75 72 69 6e 67 2e 0a 2d 20 41 64 64 65 64 20 60 2d 74 72 65 65 2d 73 65 71 estructuring..-.Added.`-tree-seq
5b020 60 20 61 6e 64 20 60 2d 74 72 65 65 2d 6d 61 70 2d 6e 6f 64 65 73 60 2e 0a 2d 20 41 64 64 65 64 `.and.`-tree-map-nodes`..-.Added
5b040 20 60 2d 6e 6f 6e 2d 6e 69 6c 60 2e 0a 2d 20 41 64 64 65 64 20 60 2d 66 69 78 60 2e 0a 2d 20 41 .`-non-nil`..-.Added.`-fix`..-.A
5b060 64 64 65 64 20 60 2d 66 69 78 66 6e 60 20 28 60 64 61 73 68 2d 66 75 6e 63 74 69 6f 6e 61 6c 60 dded.`-fixfn`.(`dash-functional`
5b080 20 76 65 72 73 69 6f 6e 20 60 31 2e 32 60 29 2e 0a 2d 20 41 64 64 65 64 20 60 2d 63 6f 70 79 60 .version.`1.2`)..-.Added.`-copy`
5b0a0 20 28 57 69 6c 66 72 65 64 20 48 75 67 68 65 73 29 2e 0a 0a 23 23 23 20 46 72 6f 6d 20 32 2e 37 .(Wilfred.Hughes)...###.From.2.7
5b0c0 20 74 6f 20 32 2e 38 0a 0a 2d 20 41 64 64 65 64 20 60 2d 62 75 74 6c 61 73 74 60 2e 0a 0a 23 23 .to.2.8..-.Added.`-butlast`...##
5b0e0 23 20 46 72 6f 6d 20 32 2e 36 20 74 6f 20 32 2e 37 0a 0a 2d 20 60 2d 7a 69 70 60 20 6e 6f 77 20 #.From.2.6.to.2.7..-.`-zip`.now.
5b100 73 75 70 70 6f 72 74 73 20 6d 6f 72 65 20 74 68 61 6e 20 74 77 6f 20 6c 69 73 74 73 20 28 53 74 supports.more.than.two.lists.(St
5b120 65 76 65 20 4c 61 6d 62 29 2e 0a 2d 20 41 64 64 65 64 20 60 2d 63 79 63 6c 65 60 2c 20 60 2d 70 eve.Lamb)..-.Added.`-cycle`,.`-p
5b140 61 64 60 2c 20 60 2d 61 6e 6e 6f 74 61 74 65 60 2c 20 61 6e 64 20 60 2d 7a 69 70 2d 66 69 6c 6c ad`,.`-annotate`,.and.`-zip-fill
5b160 60 20 28 53 74 65 76 65 20 4c 61 6d 62 29 2e 0a 2d 20 41 64 64 65 64 20 60 2d 74 61 62 6c 65 60 `.(Steve.Lamb)..-.Added.`-table`
5b180 2c 20 60 2d 74 61 62 6c 65 2d 66 6c 61 74 60 20 28 66 69 6e 69 74 65 20 43 61 72 74 65 73 69 61 ,.`-table-flat`.(finite.Cartesia
5b1a0 6e 20 70 72 6f 64 75 63 74 29 2e 0a 2d 20 41 64 64 65 64 20 60 2d 66 6c 61 74 74 65 6e 2d 6e 60 n.product)..-.Added.`-flatten-n`
5b1c0 2e 0a 2d 20 60 2d 73 6c 69 63 65 60 20 6e 6f 77 20 73 75 70 70 6f 72 74 73 20 61 20 22 73 74 65 ..-.`-slice`.now.supports.a."ste
5b1e0 70 22 20 61 72 67 75 6d 65 6e 74 2e 0a 2d 20 41 64 64 65 64 20 66 75 6e 63 74 69 6f 6e 61 6c 20 p".argument..-.Added.functional.
5b200 63 6f 6d 62 69 6e 61 74 6f 72 73 20 60 2d 69 74 65 72 61 74 65 66 6e 60 20 61 6e 64 20 60 2d 70 combinators.`-iteratefn`.and.`-p
5b220 72 6f 64 66 6e 60 2e 0a 2d 20 41 64 64 65 64 20 60 2d 72 65 70 6c 61 63 65 60 2c 20 60 2d 73 70 rodfn`..-.Added.`-replace`,.`-sp
5b240 6c 69 63 65 60 2c 20 61 6e 64 20 60 2d 73 70 6c 69 63 65 2d 6c 69 73 74 60 20 77 68 69 63 68 20 lice`,.and.`-splice-list`.which.
5b260 67 65 6e 65 72 61 6c 69 7a 65 20 60 2d 72 65 70 6c 61 63 65 2d 61 74 60 0a 20 20 61 6e 64 20 60 generalize.`-replace-at`...and.`
5b280 2d 69 6e 73 65 72 74 2d 61 74 60 2e 0a 2d 20 41 64 64 65 64 20 60 2d 63 6f 6d 70 6f 73 65 60 2c -insert-at`..-.Added.`-compose`,
5b2a0 20 60 2d 69 74 65 72 61 74 65 66 6e 60 2c 20 61 6e 64 20 60 2d 70 72 6f 64 66 6e 60 20 28 60 64 .`-iteratefn`,.and.`-prodfn`.(`d
5b2c0 61 73 68 2d 66 75 6e 63 74 69 6f 6e 61 6c 60 20 76 65 72 73 69 6f 6e 0a 20 20 60 31 2e 31 60 29 ash-functional`.version...`1.1`)
5b2e0 2e 0a 0a 23 23 23 20 46 72 6f 6d 20 32 2e 35 20 74 6f 20 32 2e 36 0a 0a 2d 20 41 64 64 65 64 20 ...###.From.2.5.to.2.6..-.Added.
5b300 60 2d 69 73 2d 70 72 65 66 69 78 2d 70 60 2c 20 60 2d 69 73 2d 73 75 66 66 69 78 2d 70 60 2c 20 `-is-prefix-p`,.`-is-suffix-p`,.
5b320 61 6e 64 20 60 2d 69 73 2d 69 6e 66 69 78 2d 70 60 20 28 4d 61 74 75 73 20 47 6f 6c 6a 65 72 29 and.`-is-infix-p`.(Matus.Goljer)
5b340 2e 0a 2d 20 41 64 64 65 64 20 60 2d 69 74 65 72 61 74 65 60 20 61 6e 64 20 60 2d 75 6e 66 6f 6c ..-.Added.`-iterate`.and.`-unfol
5b360 64 60 20 28 4d 61 74 75 73 20 47 6f 6c 6a 65 72 29 2e 0a 2d 20 41 64 64 65 64 20 60 2d 73 70 6c d`.(Matus.Goljer)..-.Added.`-spl
5b380 69 74 2d 6f 6e 60 20 61 6e 64 20 60 2d 73 70 6c 69 74 2d 77 68 65 6e 60 20 28 4d 61 74 75 73 20 it-on`.and.`-split-when`.(Matus.
5b3a0 47 6f 6c 6a 65 72 29 2e 0a 2d 20 41 64 64 65 64 20 60 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 Goljer)..-.Added.`-find-last-ind
5b3c0 65 78 60 20 28 4d 61 74 75 73 20 47 6f 6c 6a 65 72 29 2e 0a 2d 20 41 64 64 65 64 20 60 2d 6c 69 ex`.(Matus.Goljer)..-.Added.`-li
5b3e0 73 74 60 20 28 4a 6f 68 61 6e 20 41 6e 64 65 72 73 73 6f 6e 29 2e 0a 0a 23 23 23 20 46 72 6f 6d st`.(Johan.Andersson)...###.From
5b400 20 32 2e 34 20 74 6f 20 32 2e 35 0a 0a 2d 20 41 64 64 65 64 20 60 2d 73 61 6d 65 2d 69 74 65 6d .2.4.to.2.5..-.Added.`-same-item
5b420 73 3f 60 20 28 4a 6f 68 61 6e 20 41 6e 64 65 72 73 73 6f 6e 29 2e 0a 2d 20 56 61 72 69 6f 75 73 s?`.(Johan.Andersson)..-.Various
5b440 20 62 75 67 66 69 78 65 73 2e 0a 0a 23 23 23 20 46 72 6f 6d 20 32 2e 33 20 74 6f 20 32 2e 34 0a .bugfixes...###.From.2.3.to.2.4.
5b460 0a 2d 20 41 64 64 65 64 20 60 2d 73 6e 6f 63 60 20 28 4d 61 74 75 73 20 47 6f 6c 6a 65 72 29 2e .-.Added.`-snoc`.(Matus.Goljer).
5b480 0a 2d 20 41 64 64 65 64 20 60 2d 72 65 70 6c 61 63 65 2d 61 74 60 2c 20 60 2d 75 70 64 61 74 65 .-.Added.`-replace-at`,.`-update
5b4a0 2d 61 74 60 2c 20 60 2d 72 65 6d 6f 76 65 2d 61 74 60 2c 20 61 6e 64 20 60 2d 72 65 6d 6f 76 65 -at`,.`-remove-at`,.and.`-remove
5b4c0 2d 61 74 2d 69 6e 64 69 63 65 73 60 0a 20 20 28 4d 61 74 75 73 20 47 6f 6c 6a 65 72 29 2e 0a 0a -at-indices`...(Matus.Goljer)...
5b4e0 23 23 23 20 46 72 6f 6d 20 32 2e 32 20 74 6f 20 32 2e 33 0a 0a 2d 20 41 64 64 65 64 20 74 72 65 ###.From.2.2.to.2.3..-.Added.tre
5b500 65 20 6f 70 65 72 61 74 69 6f 6e 73 20 28 4d 61 74 75 73 20 47 6f 6c 6a 65 72 29 2e 0a 2d 20 4d e.operations.(Matus.Goljer)..-.M
5b520 61 64 65 20 46 6f 6e 74 20 4c 6f 63 6b 20 6f 70 74 69 6f 6e 61 6c 2e 0a 0a 23 23 23 20 46 72 6f ade.Font.Lock.optional...###.Fro
5b540 6d 20 32 2e 31 20 74 6f 20 32 2e 32 0a 0a 2d 20 41 64 64 65 64 20 60 2d 63 6f 6d 70 6f 73 65 60 m.2.1.to.2.2..-.Added.`-compose`
5b560 20 28 43 68 72 69 73 74 69 6e 61 20 57 68 79 74 65 29 2e 0a 0a 23 23 23 20 46 72 6f 6d 20 32 2e .(Christina.Whyte)...###.From.2.
5b580 30 20 74 6f 20 32 2e 31 0a 0a 2d 20 41 64 64 65 64 20 69 6e 64 65 78 69 6e 67 20 6f 70 65 72 61 0.to.2.1..-.Added.indexing.opera
5b5a0 74 69 6f 6e 73 20 28 4d 61 74 75 73 20 47 6f 6c 6a 65 72 29 2e 0a 0a 23 23 23 20 46 72 6f 6d 20 tions.(Matus.Goljer)...###.From.
5b5c0 31 2e 38 20 74 6f 20 32 2e 30 0a 0a 2d 20 53 70 6c 69 74 20 6f 75 74 20 60 64 61 73 68 2d 66 75 1.8.to.2.0..-.Split.out.`dash-fu
5b5e0 6e 63 74 69 6f 6e 61 6c 2e 65 6c 60 20 28 4d 61 74 75 73 20 47 6f 6c 6a 65 72 29 2e 0a 2d 20 41 nctional.el`.(Matus.Goljer)..-.A
5b600 64 64 65 64 20 60 2d 61 6e 64 66 6e 60 2c 20 60 2d 6f 72 66 6e 60 2c 20 60 2d 6e 6f 74 60 2c 20 dded.`-andfn`,.`-orfn`,.`-not`,.
5b620 60 2d 63 75 74 60 2c 20 60 2d 63 6f 6e 73 74 60 2c 20 60 2d 66 6c 69 70 60 2c 20 61 6e 64 20 60 `-cut`,.`-const`,.`-flip`,.and.`
5b640 2d 6f 6e 60 20 28 4d 61 74 75 73 0a 20 20 47 6f 6c 6a 65 72 29 2e 0a 2d 20 46 69 78 65 64 20 60 -on`.(Matus...Goljer)..-.Fixed.`
5b660 2d 6d 69 6e 60 2c 20 60 2d 6d 61 78 60 2c 20 60 2d 6d 69 6e 2d 62 79 60 2c 20 61 6e 64 20 60 2d -min`,.`-max`,.`-min-by`,.and.`-
5b680 6d 61 78 2d 62 79 60 20 28 4d 61 74 75 73 20 47 6f 6c 6a 65 72 29 2e 0a 0a 23 23 23 20 46 72 6f max-by`.(Matus.Goljer)...###.Fro
5b6a0 6d 20 31 2e 37 20 74 6f 20 31 2e 38 0a 0a 2d 20 41 64 64 65 64 20 60 2d 66 69 72 73 74 2d 69 74 m.1.7.to.1.8..-.Added.`-first-it
5b6c0 65 6d 60 20 61 6e 64 20 60 2d 6c 61 73 74 2d 69 74 65 6d 60 20 28 57 69 6c 66 72 65 64 20 48 75 em`.and.`-last-item`.(Wilfred.Hu
5b6e0 67 68 65 73 29 2e 0a 0a 23 23 23 20 46 72 6f 6d 20 31 2e 36 20 74 6f 20 31 2e 37 0a 0a 2d 20 41 ghes)...###.From.1.6.to.1.7..-.A
5b700 64 64 65 64 20 60 2d 72 6f 74 61 74 65 60 20 28 4d 61 74 75 73 20 47 6f 6c 6a 65 72 29 2e 0a 0a dded.`-rotate`.(Matus.Goljer)...
5b720 23 23 23 20 46 72 6f 6d 20 31 2e 35 20 74 6f 20 31 2e 36 0a 0a 2d 20 41 64 64 65 64 20 60 2d 6d ###.From.1.5.to.1.6..-.Added.`-m
5b740 69 6e 60 2c 20 60 2d 6d 61 78 60 2c 20 60 2d 6d 69 6e 2d 62 79 60 2c 20 61 6e 64 20 60 2d 6d 61 in`,.`-max`,.`-min-by`,.and.`-ma
5b760 78 2d 62 79 60 20 28 4a 6f 68 61 6e 20 41 6e 64 65 72 73 73 6f 6e 29 2e 0a 0a 23 23 23 20 46 72 x-by`.(Johan.Andersson)...###.Fr
5b780 6f 6d 20 31 2e 34 20 74 6f 20 31 2e 35 0a 0a 2d 20 41 64 64 65 64 20 60 2d 73 75 6d 60 20 61 6e om.1.4.to.1.5..-.Added.`-sum`.an
5b7a0 64 20 60 2d 70 72 6f 64 75 63 74 60 20 28 4a 6f 68 61 6e 20 41 6e 64 65 72 73 73 6f 6e 29 2e 0a d.`-product`.(Johan.Andersson)..
5b7c0 0a 23 23 23 20 46 72 6f 6d 20 31 2e 33 20 74 6f 20 31 2e 34 0a 0a 2d 20 41 64 64 65 64 20 60 2d .###.From.1.3.to.1.4..-.Added.`-
5b7e0 73 6f 72 74 60 2e 0a 2d 20 41 64 64 65 64 20 60 2d 72 65 64 75 63 65 2d 72 60 20 28 4d 61 74 75 sort`..-.Added.`-reduce-r`.(Matu
5b800 73 20 47 6f 6c 6a 65 72 29 2e 0a 2d 20 41 64 64 65 64 20 60 2d 72 65 64 75 63 65 2d 72 2d 66 72 s.Goljer)..-.Added.`-reduce-r-fr
5b820 6f 6d 60 20 28 4d 61 74 75 73 20 47 6f 6c 6a 65 72 29 2e 0a 0a 23 23 23 20 46 72 6f 6d 20 31 2e om`.(Matus.Goljer)...###.From.1.
5b840 32 20 74 6f 20 31 2e 33 0a 0a 2d 20 41 64 64 65 64 20 60 2d 70 61 72 74 69 74 69 6f 6e 2d 69 6e 2.to.1.3..-.Added.`-partition-in
5b860 2d 73 74 65 70 73 60 2e 0a 2d 20 41 64 64 65 64 20 60 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c -steps`..-.Added.`-partition-all
5b880 2d 69 6e 2d 73 74 65 70 73 60 2e 0a 0a 23 23 23 20 46 72 6f 6d 20 31 2e 31 20 74 6f 20 31 2e 32 -in-steps`...###.From.1.1.to.1.2
5b8a0 0a 0a 2d 20 41 64 64 65 64 20 60 2d 6c 61 73 74 60 20 28 4d 61 74 75 73 20 47 6f 6c 6a 65 72 29 ..-.Added.`-last`.(Matus.Goljer)
5b8c0 2e 0a 2d 20 41 64 64 65 64 20 60 2d 69 6e 73 65 72 74 2d 61 74 60 20 28 45 6d 61 6e 75 65 6c 20 ..-.Added.`-insert-at`.(Emanuel.
5b8e0 45 76 61 6e 73 29 2e 0a 2d 20 41 64 64 65 64 20 60 2d 77 68 65 6e 2d 6c 65 74 60 20 61 6e 64 20 Evans)..-.Added.`-when-let`.and.
5b900 60 2d 69 66 2d 6c 65 74 60 20 28 45 6d 61 6e 75 65 6c 20 45 76 61 6e 73 29 2e 0a 2d 20 41 64 64 `-if-let`.(Emanuel.Evans)..-.Add
5b920 65 64 20 60 2d 77 68 65 6e 2d 6c 65 74 2a 60 20 61 6e 64 20 60 2d 69 66 2d 6c 65 74 2a 60 20 28 ed.`-when-let*`.and.`-if-let*`.(
5b940 45 6d 61 6e 75 65 6c 20 45 76 61 6e 73 29 2e 0a 2d 20 56 61 72 69 6f 75 73 20 62 75 67 66 69 78 Emanuel.Evans)..-.Various.bugfix
5b960 65 73 2e 0a 0a 23 23 20 4c 69 63 65 6e 73 65 0a 0a 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 es...##.License..This.program.is
5b980 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 65 64 69 73 74 72 69 .free.software:.you.can.redistri
5b9a0 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 69 74 20 75 6e 64 65 72 20 74 bute.it.and/or.modify.it.under.t
5b9c0 68 65 20 74 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 he.terms.of.the.GNU.General.Publ
5b9e0 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 74 68 65 20 46 ic.License.as.published.by.the.F
5ba00 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 ree.Software.Foundation,.either.
5ba20 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 28 61 74 version.3.of.the.License,.or.(at
5ba40 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e .your.option).any.later.version.
5ba60 0a 0a 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e ..This.program.is.distributed.in
5ba80 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c .the.hope.that.it.will.be.useful
5baa0 2c 0a 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 ,.but.WITHOUT.ANY.WARRANTY;.with
5bac0 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 out.even.the.implied.warranty.of
5bae0 0a 4d 45 52 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 .MERCHANTABILITY.or.FITNESS.FOR.
5bb00 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 47 A.PARTICULAR.PURPOSE...See.the.G
5bb20 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f NU.General.Public.License.for.mo
5bb40 72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 re.details...You.should.have.rec
5bb60 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 6c 20 eived.a.copy.of.the.GNU.General.
5bb80 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 Public.License.along.with.this.p
5bba0 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 77 77 rogram...If.not,.see.<https://ww
5bbc0 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 00 00 00 00 00 00 00 00 00 00 w.gnu.org/licenses/>............
5bbe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5bc00 64 61 73 68 2d 32 2e 31 39 2e 31 2f 52 45 41 44 4d 45 2e 6d 64 00 00 00 00 00 00 00 00 00 00 00 dash-2.19.1/README.md...........
5bc20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5bc40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5bc60 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
5bc80 30 33 31 33 31 34 37 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 32 34 35 32 00 20 30 00 00 00 0313147.00000000000.012452..0...
5bca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5bcc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5bce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5bd00 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...................
5bd20 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...................
5bd40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5bd60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5bd80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5bda0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5bdc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5bde0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5be00 5b 21 5b 43 49 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6d 61 67 6e 61 72 [![CI](https://github.com/magnar
5be20 73 2f 64 61 73 68 2e 65 6c 2f 61 63 74 69 6f 6e 73 2f 77 6f 72 6b 66 6c 6f 77 73 2f 74 65 73 74 s/dash.el/actions/workflows/test
5be40 2e 79 6d 6c 2f 62 61 64 67 65 2e 73 76 67 29 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e .yml/badge.svg)](https://github.
5be60 63 6f 6d 2f 6d 61 67 6e 61 72 73 2f 64 61 73 68 2e 65 6c 2f 61 63 74 69 6f 6e 73 2f 77 6f 72 6b com/magnars/dash.el/actions/work
5be80 66 6c 6f 77 73 2f 74 65 73 74 2e 79 6d 6c 29 0a 5b 21 5b 47 4e 55 20 45 4c 50 41 5d 28 68 74 74 flows/test.yml).[![GNU.ELPA](htt
5bea0 70 73 3a 2f 2f 65 6c 70 61 2e 67 6e 75 2e 6f 72 67 2f 70 61 63 6b 61 67 65 73 2f 64 61 73 68 2e ps://elpa.gnu.org/packages/dash.
5bec0 73 76 67 29 5d 28 68 74 74 70 73 3a 2f 2f 65 6c 70 61 2e 67 6e 75 2e 6f 72 67 2f 70 61 63 6b 61 svg)](https://elpa.gnu.org/packa
5bee0 67 65 73 2f 64 61 73 68 2e 68 74 6d 6c 29 0a 5b 21 5b 47 4e 55 2d 64 65 76 65 6c 20 45 4c 50 41 ges/dash.html).[![GNU-devel.ELPA
5bf00 5d 28 68 74 74 70 73 3a 2f 2f 65 6c 70 61 2e 67 6e 75 2e 6f 72 67 2f 64 65 76 65 6c 2f 64 61 73 ](https://elpa.gnu.org/devel/das
5bf20 68 2e 73 76 67 29 5d 28 68 74 74 70 73 3a 2f 2f 65 6c 70 61 2e 67 6e 75 2e 6f 72 67 2f 64 65 76 h.svg)](https://elpa.gnu.org/dev
5bf40 65 6c 2f 64 61 73 68 2e 68 74 6d 6c 29 0a 5b 21 5b 4d 45 4c 50 41 20 53 74 61 62 6c 65 5d 28 68 el/dash.html).[![MELPA.Stable](h
5bf60 74 74 70 73 3a 2f 2f 73 74 61 62 6c 65 2e 6d 65 6c 70 61 2e 6f 72 67 2f 70 61 63 6b 61 67 65 73 ttps://stable.melpa.org/packages
5bf80 2f 64 61 73 68 2d 62 61 64 67 65 2e 73 76 67 29 5d 28 68 74 74 70 73 3a 2f 2f 73 74 61 62 6c 65 /dash-badge.svg)](https://stable
5bfa0 2e 6d 65 6c 70 61 2e 6f 72 67 2f 23 2f 64 61 73 68 29 0a 5b 21 5b 4d 45 4c 50 41 5d 28 68 74 74 .melpa.org/#/dash).[![MELPA](htt
5bfc0 70 73 3a 2f 2f 6d 65 6c 70 61 2e 6f 72 67 2f 70 61 63 6b 61 67 65 73 2f 64 61 73 68 2d 62 61 64 ps://melpa.org/packages/dash-bad
5bfe0 67 65 2e 73 76 67 29 5d 28 68 74 74 70 73 3a 2f 2f 6d 65 6c 70 61 2e 6f 72 67 2f 23 2f 64 61 73 ge.svg)](https://melpa.org/#/das
5c000 68 29 0a 0a 23 20 3c 69 6d 67 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 20 73 72 63 3d 22 72 61 h)..#.<img.align="right".src="ra
5c020 69 6e 62 6f 77 2d 64 61 73 68 2e 70 6e 67 22 3e 20 64 61 73 68 2e 65 6c 0a 0a 41 20 6d 6f 64 65 inbow-dash.png">.dash.el..A.mode
5c040 72 6e 20 6c 69 73 74 20 41 50 49 20 66 6f 72 20 45 6d 61 63 73 2e 20 20 4e 6f 0a 5b 60 27 63 6c rn.list.API.for.Emacs...No.[`'cl
5c060 60 5d 28 68 74 74 70 73 3a 2f 2f 67 6e 75 2e 6f 72 67 2f 73 6f 66 74 77 61 72 65 2f 65 6d 61 63 `](https://gnu.org/software/emac
5c080 73 2f 6d 61 6e 75 61 6c 2f 68 74 6d 6c 5f 6e 6f 64 65 2f 63 6c 2f 29 20 72 65 71 75 69 72 65 64 s/manual/html_node/cl/).required
5c0a0 2e 0a 0a 53 65 65 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 66 69 6c 65 20 66 6f 72 20 6c ...See.the.end.of.the.file.for.l
5c0c0 69 63 65 6e 73 65 20 63 6f 6e 64 69 74 69 6f 6e 73 2e 0a 0a 23 23 20 43 6f 6e 74 65 6e 74 73 0a icense.conditions...##.Contents.
5c0e0 0a 2a 20 5b 43 68 61 6e 67 65 20 6c 6f 67 5d 28 23 63 68 61 6e 67 65 2d 6c 6f 67 29 0a 20 20 2a .*.[Change.log](#change-log)...*
5c100 20 5b 55 70 63 6f 6d 69 6e 67 20 62 72 65 61 6b 69 6e 67 20 63 68 61 6e 67 65 21 5d 28 23 75 70 .[Upcoming.breaking.change!](#up
5c120 63 6f 6d 69 6e 67 2d 62 72 65 61 6b 69 6e 67 2d 63 68 61 6e 67 65 29 0a 2a 20 5b 49 6e 73 74 61 coming-breaking-change).*.[Insta
5c140 6c 6c 61 74 69 6f 6e 5d 28 23 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 29 0a 2a 20 5b 46 75 6e 63 74 llation](#installation).*.[Funct
5c160 69 6f 6e 73 5d 28 23 66 75 6e 63 74 69 6f 6e 73 29 0a 2a 20 5b 43 6f 6e 74 72 69 62 75 74 65 5d ions](#functions).*.[Contribute]
5c180 28 23 63 6f 6e 74 72 69 62 75 74 65 29 0a 2a 20 5b 43 6f 6e 74 72 69 62 75 74 6f 72 73 5d 28 23 (#contribute).*.[Contributors](#
5c1a0 63 6f 6e 74 72 69 62 75 74 6f 72 73 29 0a 2a 20 5b 4c 69 63 65 6e 73 65 5d 28 23 6c 69 63 65 6e contributors).*.[License](#licen
5c1c0 73 65 29 0a 0a 23 23 20 43 68 61 6e 67 65 20 6c 6f 67 0a 0a 53 65 65 20 74 68 65 20 5b 60 4e 45 se)..##.Change.log..See.the.[`NE
5c1e0 57 53 2e 6d 64 60 5d 28 4e 45 57 53 2e 6d 64 29 20 66 69 6c 65 2e 0a 0a 23 23 23 20 55 70 63 6f WS.md`](NEWS.md).file...###.Upco
5c200 6d 69 6e 67 20 62 72 65 61 6b 69 6e 67 20 63 68 61 6e 67 65 21 0a 0a 2d 20 46 6f 72 20 62 61 63 ming.breaking.change!..-.For.bac
5c220 6b 77 61 72 64 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 72 65 61 73 6f 6e 73 2c 20 60 2d 7a kward.compatibility.reasons,.`-z
5c240 69 70 60 20 77 68 65 6e 20 63 61 6c 6c 65 64 20 77 69 74 68 20 74 77 6f 0a 20 20 6c 69 73 74 73 ip`.when.called.with.two...lists
5c260 20 72 65 74 75 72 6e 73 20 61 20 6c 69 73 74 20 6f 66 20 63 6f 6e 73 20 63 65 6c 6c 73 2c 20 72 .returns.a.list.of.cons.cells,.r
5c280 61 74 68 65 72 20 74 68 61 6e 20 61 20 6c 69 73 74 20 6f 66 20 70 72 6f 70 65 72 0a 20 20 6c 69 ather.than.a.list.of.proper...li
5c2a0 73 74 73 2e 20 20 54 68 69 73 20 69 73 20 61 20 63 6c 75 6e 6b 79 20 41 50 49 2c 20 61 6e 64 20 sts...This.is.a.clunky.API,.and.
5c2c0 6d 61 79 20 62 65 20 63 68 61 6e 67 65 64 20 69 6e 20 61 20 66 75 74 75 72 65 20 72 65 6c 65 61 may.be.changed.in.a.future.relea
5c2e0 73 65 0a 20 20 74 6f 20 61 6c 77 61 79 73 20 72 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 se...to.always.return.a.list.of.
5c300 70 72 6f 70 65 72 20 6c 69 73 74 73 2c 20 61 73 20 60 2d 7a 69 70 2d 6c 69 73 74 73 60 20 63 75 proper.lists,.as.`-zip-lists`.cu
5c320 72 72 65 6e 74 6c 79 0a 20 20 64 6f 65 73 2e 0a 0a 20 20 2a 2a 4e 2e 42 2e 3a 2a 2a 20 44 6f 20 rrently...does.....**N.B.:**.Do.
5c340 6e 6f 74 20 72 65 6c 79 20 6f 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 65 68 61 76 69 6f 72 not.rely.on.the.current.behavior
5c360 20 6f 66 20 60 2d 7a 69 70 60 20 66 6f 72 20 74 77 6f 0a 20 20 6c 69 73 74 73 2e 20 20 49 6e 73 .of.`-zip`.for.two...lists...Ins
5c380 74 65 61 64 2c 20 75 73 65 20 60 2d 7a 69 70 2d 70 61 69 72 60 20 66 6f 72 20 61 20 6c 69 73 74 tead,.use.`-zip-pair`.for.a.list
5c3a0 20 6f 66 20 63 6f 6e 73 20 63 65 6c 6c 73 2c 20 61 6e 64 0a 20 20 60 2d 7a 69 70 2d 6c 69 73 74 .of.cons.cells,.and...`-zip-list
5c3c0 73 60 20 66 6f 72 20 61 20 6c 69 73 74 20 6f 66 20 70 72 6f 70 65 72 20 6c 69 73 74 73 2e 0a 0a s`.for.a.list.of.proper.lists...
5c3e0 23 23 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 0a 0a 44 61 73 68 20 69 73 20 61 76 61 69 6c 61 62 ##.Installation..Dash.is.availab
5c400 6c 65 20 6f 6e 20 5b 47 4e 55 20 45 4c 50 41 5d 28 68 74 74 70 73 3a 2f 2f 65 6c 70 61 2e 67 6e le.on.[GNU.ELPA](https://elpa.gn
5c420 75 2e 6f 72 67 2f 29 2c 20 5b 47 4e 55 2d 64 65 76 65 6c 0a 45 4c 50 41 5d 28 68 74 74 70 73 3a u.org/),.[GNU-devel.ELPA](https:
5c440 2f 2f 65 6c 70 61 2e 67 6e 75 2e 6f 72 67 2f 64 65 76 65 6c 2f 29 2c 20 61 6e 64 20 5b 4d 45 4c //elpa.gnu.org/devel/),.and.[MEL
5c460 50 41 5d 28 68 74 74 70 73 3a 2f 2f 6d 65 6c 70 61 2e 6f 72 67 2f 29 2c 0a 61 6e 64 20 63 61 6e PA](https://melpa.org/),.and.can
5c480 20 62 65 20 69 6e 73 74 61 6c 6c 65 64 20 77 69 74 68 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 .be.installed.with.the.standard.
5c4a0 63 6f 6d 6d 61 6e 64 20 60 70 61 63 6b 61 67 65 2d 69 6e 73 74 61 6c 6c 60 3a 0a 0a 20 20 20 20 command.`package-install`:......
5c4c0 4d 2d 78 20 70 61 63 6b 61 67 65 2d 69 6e 73 74 61 6c 6c 20 52 45 54 20 64 61 73 68 20 52 45 54 M-x.package-install.RET.dash.RET
5c4e0 0a 0a 53 65 65 20 5b 60 28 69 6e 66 6f 20 22 28 65 6d 61 63 73 29 20 50 61 63 6b 61 67 65 0a 49 ..See.[`(info."(emacs).Package.I
5c500 6e 73 74 61 6c 6c 61 74 69 6f 6e 22 29 60 5d 28 68 74 74 70 73 3a 2f 2f 67 6e 75 2e 6f 72 67 2f nstallation")`](https://gnu.org/
5c520 73 6f 66 74 77 61 72 65 2f 65 6d 61 63 73 2f 6d 61 6e 75 61 6c 2f 68 74 6d 6c 5f 6e 6f 64 65 2f software/emacs/manual/html_node/
5c540 65 6d 61 63 73 2f 50 61 63 6b 61 67 65 2d 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 2e 68 74 6d 6c 29 emacs/Package-Installation.html)
5c560 2e 0a 0a 41 6c 74 65 72 6e 61 74 69 76 65 6c 79 2c 20 79 6f 75 20 63 61 6e 20 6a 75 73 74 20 64 ...Alternatively,.you.can.just.d
5c580 75 6d 70 20 60 64 61 73 68 2e 65 6c 60 20 69 6e 20 79 6f 75 72 20 60 6c 6f 61 64 2d 70 61 74 68 ump.`dash.el`.in.your.`load-path
5c5a0 60 0a 73 6f 6d 65 77 68 65 72 65 2e 20 20 53 65 65 20 5b 60 28 69 6e 66 6f 20 22 28 65 6d 61 63 `.somewhere...See.[`(info."(emac
5c5c0 73 29 20 4c 69 73 70 0a 4c 69 62 72 61 72 69 65 73 22 29 60 5d 28 68 74 74 70 73 3a 2f 2f 67 6e s).Lisp.Libraries")`](https://gn
5c5e0 75 2e 6f 72 67 2f 73 6f 66 74 77 61 72 65 2f 65 6d 61 63 73 2f 6d 61 6e 75 61 6c 2f 68 74 6d 6c u.org/software/emacs/manual/html
5c600 5f 6e 6f 64 65 2f 65 6d 61 63 73 2f 4c 69 73 70 2d 4c 69 62 72 61 72 69 65 73 2e 68 74 6d 6c 29 _node/emacs/Lisp-Libraries.html)
5c620 2e 0a 0a 23 23 23 20 55 73 69 6e 67 20 69 6e 20 61 20 70 61 63 6b 61 67 65 0a 0a 41 64 64 20 73 ...###.Using.in.a.package..Add.s
5c640 6f 6d 65 74 68 69 6e 67 20 6c 69 6b 65 20 74 68 69 73 20 74 6f 20 74 68 65 20 6c 69 62 72 61 72 omething.like.this.to.the.librar
5c660 79 27 73 20 68 65 61 64 65 72 73 3a 0a 0a 20 20 20 20 3b 3b 20 50 61 63 6b 61 67 65 2d 52 65 71 y's.headers:......;;.Package-Req
5c680 75 69 72 65 73 3a 20 28 28 64 61 73 68 20 22 32 2e 31 39 2e 31 22 29 29 0a 0a 53 65 65 20 5b 60 uires:.((dash."2.19.1"))..See.[`
5c6a0 28 69 6e 66 6f 20 22 28 65 6c 69 73 70 29 20 4c 69 62 72 61 72 79 0a 48 65 61 64 65 72 73 22 29 (info."(elisp).Library.Headers")
5c6c0 60 5d 28 68 74 74 70 73 3a 2f 2f 67 6e 75 2e 6f 72 67 2f 73 6f 66 74 77 61 72 65 2f 65 6d 61 63 `](https://gnu.org/software/emac
5c6e0 73 2f 6d 61 6e 75 61 6c 2f 68 74 6d 6c 5f 6e 6f 64 65 2f 65 6c 69 73 70 2f 4c 69 62 72 61 72 79 s/manual/html_node/elisp/Library
5c700 2d 48 65 61 64 65 72 73 2e 68 74 6d 6c 29 2e 0a 0a 23 23 23 20 46 6f 6e 74 69 66 69 63 61 74 69 -Headers.html)...###.Fontificati
5c720 6f 6e 20 6f 66 20 73 70 65 63 69 61 6c 20 76 61 72 69 61 62 6c 65 73 0a 0a 46 6f 6e 74 20 6c 6f on.of.special.variables..Font.lo
5c740 63 6b 20 6f 66 20 73 70 65 63 69 61 6c 20 44 61 73 68 20 76 61 72 69 61 62 6c 65 73 20 28 60 69 ck.of.special.Dash.variables.(`i
5c760 74 60 2c 20 60 61 63 63 60 2c 20 65 74 63 2e 29 20 69 6e 20 45 6d 61 63 73 20 4c 69 73 70 0a 62 t`,.`acc`,.etc.).in.Emacs.Lisp.b
5c780 75 66 66 65 72 73 20 63 61 6e 20 6f 70 74 69 6f 6e 61 6c 6c 79 20 62 65 20 65 6e 61 62 6c 65 64 uffers.can.optionally.be.enabled
5c7a0 20 77 69 74 68 20 74 68 65 20 61 75 74 6f 6c 6f 61 64 65 64 20 6d 69 6e 6f 72 20 6d 6f 64 65 0a .with.the.autoloaded.minor.mode.
5c7c0 60 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 60 2e 20 20 49 6e 20 6f 6c 64 65 72 20 45 `dash-fontify-mode`...In.older.E
5c7e0 6d 61 63 73 20 76 65 72 73 69 6f 6e 73 20 77 68 69 63 68 20 64 6f 20 6e 6f 74 20 64 79 6e 61 6d macs.versions.which.do.not.dynam
5c800 69 63 61 6c 6c 79 0a 64 65 74 65 63 74 20 6d 61 63 72 6f 73 2c 20 74 68 65 20 6d 69 6e 6f 72 20 ically.detect.macros,.the.minor.
5c820 6d 6f 64 65 20 61 6c 73 6f 20 66 6f 6e 74 69 66 69 65 73 20 44 61 73 68 20 6d 61 63 72 6f 20 63 mode.also.fontifies.Dash.macro.c
5c840 61 6c 6c 73 2e 0a 0a 54 6f 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 65 6e 61 62 6c 65 20 74 alls...To.automatically.enable.t
5c860 68 65 20 6d 69 6e 6f 72 20 6d 6f 64 65 20 69 6e 20 61 6c 6c 20 45 6d 61 63 73 20 4c 69 73 70 20 he.minor.mode.in.all.Emacs.Lisp.
5c880 62 75 66 66 65 72 73 2c 20 6a 75 73 74 0a 63 61 6c 6c 20 69 74 73 20 61 75 74 6f 6c 6f 61 64 65 buffers,.just.call.its.autoloade
5c8a0 64 20 67 6c 6f 62 61 6c 20 63 6f 75 6e 74 65 72 70 61 72 74 20 60 67 6c 6f 62 61 6c 2d 64 61 73 d.global.counterpart.`global-das
5c8c0 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 60 2c 0a 65 69 74 68 65 72 20 69 6e 74 65 72 61 63 74 h-fontify-mode`,.either.interact
5c8e0 69 76 65 6c 79 20 6f 72 20 66 72 6f 6d 20 79 6f 75 72 20 60 75 73 65 72 2d 69 6e 69 74 2d 66 69 ively.or.from.your.`user-init-fi
5c900 6c 65 60 3a 0a 0a 60 60 60 65 6c 0a 28 67 6c 6f 62 61 6c 2d 64 61 73 68 2d 66 6f 6e 74 69 66 79 le`:..```el.(global-dash-fontify
5c920 2d 6d 6f 64 65 29 0a 60 60 60 0a 0a 23 23 23 20 49 6e 66 6f 20 73 79 6d 62 6f 6c 20 6c 6f 6f 6b -mode).```..###.Info.symbol.look
5c940 75 70 0a 0a 57 68 69 6c 65 20 65 64 69 74 69 6e 67 20 45 6c 69 73 70 20 66 69 6c 65 73 2c 20 79 up..While.editing.Elisp.files,.y
5c960 6f 75 20 63 61 6e 20 75 73 65 20 60 43 2d 68 20 53 60 20 28 60 69 6e 66 6f 2d 6c 6f 6f 6b 75 70 ou.can.use.`C-h.S`.(`info-lookup
5c980 2d 73 79 6d 62 6f 6c 60 29 0a 74 6f 20 6c 6f 6f 6b 20 75 70 20 45 6c 69 73 70 20 73 79 6d 62 6f -symbol`).to.look.up.Elisp.symbo
5c9a0 6c 73 20 69 6e 20 74 68 65 20 72 65 6c 65 76 61 6e 74 20 49 6e 66 6f 20 6d 61 6e 75 61 6c 73 20 ls.in.the.relevant.Info.manuals.
5c9c0 28 73 65 65 20 5b 60 28 65 6d 61 63 73 29 0a 49 6e 66 6f 0a 4c 6f 6f 6b 75 70 60 5d 28 68 74 74 (see.[`(emacs).Info.Lookup`](htt
5c9e0 70 73 3a 2f 2f 67 6e 75 2e 6f 72 67 2f 73 6f 66 74 77 61 72 65 2f 65 6d 61 63 73 2f 6d 61 6e 75 ps://gnu.org/software/emacs/manu
5ca00 61 6c 2f 68 74 6d 6c 5f 6e 6f 64 65 2f 65 6d 61 63 73 2f 49 6e 66 6f 2d 4c 6f 6f 6b 75 70 2e 68 al/html_node/emacs/Info-Lookup.h
5ca20 74 6d 6c 29 29 2e 0a 54 6f 20 65 6e 61 62 6c 65 20 74 68 65 20 73 61 6d 65 20 66 6f 72 20 44 61 tml))..To.enable.the.same.for.Da
5ca40 73 68 20 73 79 6d 62 6f 6c 73 2c 20 75 73 65 20 74 68 65 20 63 6f 6d 6d 61 6e 64 0a 60 64 61 73 sh.symbols,.use.the.command.`das
5ca60 68 2d 72 65 67 69 73 74 65 72 2d 69 6e 66 6f 2d 6c 6f 6f 6b 75 70 60 2e 20 20 49 74 20 63 61 6e h-register-info-lookup`...It.can
5ca80 20 62 65 20 63 61 6c 6c 65 64 20 64 69 72 65 63 74 6c 79 20 77 68 65 6e 20 6e 65 65 64 65 64 2c .be.called.directly.when.needed,
5caa0 0a 6f 72 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 66 72 6f 6d 20 79 6f 75 72 20 60 75 73 65 .or.automatically.from.your.`use
5cac0 72 2d 69 6e 69 74 2d 66 69 6c 65 60 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 3a 0a 0a 60 60 60 r-init-file`...For.example:..```
5cae0 65 6c 0a 28 77 69 74 68 2d 65 76 61 6c 2d 61 66 74 65 72 2d 6c 6f 61 64 20 27 69 6e 66 6f 2d 6c el.(with-eval-after-load.'info-l
5cb00 6f 6f 6b 0a 20 20 28 64 61 73 68 2d 72 65 67 69 73 74 65 72 2d 69 6e 66 6f 2d 6c 6f 6f 6b 75 70 ook...(dash-register-info-lookup
5cb20 29 29 0a 60 60 60 0a 0a 23 23 20 46 75 6e 63 74 69 6f 6e 73 0a 0a 41 6c 6c 20 66 75 6e 63 74 69 )).```..##.Functions..All.functi
5cb40 6f 6e 73 20 61 6e 64 20 63 6f 6e 73 74 72 75 63 74 73 20 69 6e 20 74 68 65 20 6c 69 62 72 61 72 ons.and.constructs.in.the.librar
5cb60 79 20 75 73 65 20 61 20 64 61 73 68 20 28 60 2d 60 29 20 70 72 65 66 69 78 2e 0a 0a 54 68 65 20 y.use.a.dash.(`-`).prefix...The.
5cb80 6c 69 62 72 61 72 79 20 61 6c 73 6f 20 70 72 6f 76 69 64 65 73 20 61 6e 61 70 68 6f 72 69 63 20 library.also.provides.anaphoric.
5cba0 6d 61 63 72 6f 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 66 75 6e 63 74 69 6f 6e 73 20 77 68 65 72 macro.versions.of.functions.wher
5cbc0 65 0a 74 68 61 74 20 6d 61 6b 65 73 20 73 65 6e 73 65 2e 20 20 54 68 65 20 6e 61 6d 65 73 20 6f e.that.makes.sense...The.names.o
5cbe0 66 20 74 68 65 73 65 20 6d 61 63 72 6f 73 20 61 72 65 20 70 72 65 66 69 78 65 64 20 77 69 74 68 f.these.macros.are.prefixed.with
5cc00 20 74 77 6f 0a 64 61 73 68 65 73 20 28 60 2d 2d 60 29 20 69 6e 73 74 65 61 64 20 6f 66 20 6f 6e .two.dashes.(`--`).instead.of.on
5cc20 65 2e 0a 0a 57 68 69 6c 65 20 60 2d 6d 61 70 60 20 61 70 70 6c 69 65 73 20 61 20 66 75 6e 63 74 e...While.`-map`.applies.a.funct
5cc40 69 6f 6e 20 74 6f 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 61 20 6c 69 73 74 2c 20 69 ion.to.each.element.of.a.list,.i
5cc60 74 73 0a 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 60 2d 2d 6d 61 70 60 ts.anaphoric.counterpart.`--map`
5cc80 20 65 76 61 6c 75 61 74 65 73 20 61 20 66 6f 72 6d 20 77 69 74 68 20 74 68 65 20 6c 6f 63 61 6c .evaluates.a.form.with.the.local
5cca0 20 76 61 72 69 61 62 6c 65 0a 60 69 74 60 20 74 65 6d 70 6f 72 61 72 69 6c 79 20 62 6f 75 6e 64 .variable.`it`.temporarily.bound
5ccc0 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 6c 69 73 74 20 65 6c 65 6d 65 6e 74 20 69 6e 73 .to.the.current.list.element.ins
5cce0 74 65 61 64 2e 20 20 46 6f 72 0a 65 78 61 6d 70 6c 65 3a 0a 0a 60 60 60 65 6c 0a 28 2d 6d 61 70 tead...For.example:..```el.(-map
5cd00 20 28 6c 61 6d 62 64 61 20 28 6e 29 20 28 2a 20 6e 20 6e 29 29 20 27 28 31 20 32 20 33 20 34 29 .(lambda.(n).(*.n.n)).'(1.2.3.4)
5cd20 29 20 3b 20 4e 6f 72 6d 61 6c 20 76 65 72 73 69 6f 6e 2e 0a 28 2d 2d 6d 61 70 20 28 2a 20 69 74 ).;.Normal.version..(--map.(*.it
5cd40 20 69 74 29 20 27 28 31 20 32 20 33 20 34 29 29 20 20 20 20 20 20 20 20 20 20 20 3b 20 41 6e 61 .it).'(1.2.3.4))...........;.Ana
5cd60 70 68 6f 72 69 63 20 76 65 72 73 69 6f 6e 2e 0a 60 60 60 0a 0a 54 68 65 20 6e 6f 72 6d 61 6c 20 phoric.version..```..The.normal.
5cd80 76 65 72 73 69 6f 6e 20 63 61 6e 20 6f 66 20 63 6f 75 72 73 65 20 61 6c 73 6f 20 62 65 20 77 72 version.can.of.course.also.be.wr
5cda0 69 74 74 65 6e 20 61 73 20 66 6f 6c 6c 6f 77 73 3a 0a 0a 60 60 60 65 6c 0a 28 64 65 66 75 6e 20 itten.as.follows:..```el.(defun.
5cdc0 6d 79 2d 73 71 75 61 72 65 20 28 6e 29 0a 20 20 22 52 65 74 75 72 6e 20 4e 20 6d 75 6c 74 69 70 my-square.(n)..."Return.N.multip
5cde0 6c 69 65 64 20 62 79 20 69 74 73 65 6c 66 2e 22 0a 20 20 28 2a 20 6e 20 6e 29 29 0a 0a 28 2d 6d lied.by.itself."...(*.n.n))..(-m
5ce00 61 70 20 23 27 6d 79 2d 73 71 75 61 72 65 20 27 28 31 20 32 20 33 20 34 29 29 0a 60 60 60 0a 0a ap.#'my-square.'(1.2.3.4)).```..
5ce20 54 68 69 73 20 64 65 6d 6f 6e 73 74 72 61 74 65 73 20 74 68 65 20 75 74 69 6c 69 74 79 20 6f 66 This.demonstrates.the.utility.of
5ce40 20 62 6f 74 68 20 76 65 72 73 69 6f 6e 73 2e 0a 0a 23 23 23 20 4d 61 70 73 0a 0a 46 75 6e 63 74 .both.versions...###.Maps..Funct
5ce60 69 6f 6e 73 20 69 6e 20 74 68 69 73 20 63 61 74 65 67 6f 72 79 20 74 61 6b 65 20 61 20 74 72 61 ions.in.this.category.take.a.tra
5ce80 6e 73 66 6f 72 6d 69 6e 67 20 66 75 6e 63 74 69 6f 6e 2c 20 77 68 69 63 68 0a 69 73 20 74 68 65 nsforming.function,.which.is.the
5cea0 6e 20 61 70 70 6c 69 65 64 20 73 65 71 75 65 6e 74 69 61 6c 6c 79 20 74 6f 20 65 61 63 68 20 6f n.applied.sequentially.to.each.o
5cec0 72 20 73 65 6c 65 63 74 65 64 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 74 68 65 0a 69 6e 70 75 74 r.selected.elements.of.the.input
5cee0 20 6c 69 73 74 2e 20 20 54 68 65 20 72 65 73 75 6c 74 73 20 61 72 65 20 63 6f 6c 6c 65 63 74 65 .list...The.results.are.collecte
5cf00 64 20 69 6e 20 6f 72 64 65 72 20 61 6e 64 20 72 65 74 75 72 6e 65 64 20 61 73 20 61 0a 6e 65 77 d.in.order.and.returned.as.a.new
5cf20 20 6c 69 73 74 2e 0a 0a 2a 20 5b 60 2d 6d 61 70 60 5d 28 23 2d 6d 61 70 2d 66 6e 2d 6c 69 73 74 .list...*.[`-map`](#-map-fn-list
5cf40 29 20 60 28 66 6e 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 6d 61 70 2d 77 68 65 6e 60 5d 28 23 2d ).`(fn.list)`.*.[`-map-when`](#-
5cf60 6d 61 70 2d 77 68 65 6e 2d 70 72 65 64 2d 72 65 70 2d 6c 69 73 74 29 20 60 28 70 72 65 64 20 72 map-when-pred-rep-list).`(pred.r
5cf80 65 70 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 6d 61 70 2d 66 69 72 73 74 60 5d 28 23 2d 6d 61 70 ep.list)`.*.[`-map-first`](#-map
5cfa0 2d 66 69 72 73 74 2d 70 72 65 64 2d 72 65 70 2d 6c 69 73 74 29 20 60 28 70 72 65 64 20 72 65 70 -first-pred-rep-list).`(pred.rep
5cfc0 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 6d 61 70 2d 6c 61 73 74 60 5d 28 23 2d 6d 61 70 2d 6c 61 .list)`.*.[`-map-last`](#-map-la
5cfe0 73 74 2d 70 72 65 64 2d 72 65 70 2d 6c 69 73 74 29 20 60 28 70 72 65 64 20 72 65 70 20 6c 69 73 st-pred-rep-list).`(pred.rep.lis
5d000 74 29 60 0a 2a 20 5b 60 2d 6d 61 70 2d 69 6e 64 65 78 65 64 60 5d 28 23 2d 6d 61 70 2d 69 6e 64 t)`.*.[`-map-indexed`](#-map-ind
5d020 65 78 65 64 2d 66 6e 2d 6c 69 73 74 29 20 60 28 66 6e 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 61 exed-fn-list).`(fn.list)`.*.[`-a
5d040 6e 6e 6f 74 61 74 65 60 5d 28 23 2d 61 6e 6e 6f 74 61 74 65 2d 66 6e 2d 6c 69 73 74 29 20 60 28 nnotate`](#-annotate-fn-list).`(
5d060 66 6e 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 73 70 6c 69 63 65 60 5d 28 23 2d 73 70 6c 69 63 65 fn.list)`.*.[`-splice`](#-splice
5d080 2d 70 72 65 64 2d 66 75 6e 2d 6c 69 73 74 29 20 60 28 70 72 65 64 20 66 75 6e 20 6c 69 73 74 29 -pred-fun-list).`(pred.fun.list)
5d0a0 60 0a 2a 20 5b 60 2d 73 70 6c 69 63 65 2d 6c 69 73 74 60 5d 28 23 2d 73 70 6c 69 63 65 2d 6c 69 `.*.[`-splice-list`](#-splice-li
5d0c0 73 74 2d 70 72 65 64 2d 6e 65 77 2d 6c 69 73 74 2d 6c 69 73 74 29 20 60 28 70 72 65 64 20 6e 65 st-pred-new-list-list).`(pred.ne
5d0e0 77 2d 6c 69 73 74 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 6d 61 70 63 61 74 60 5d 28 23 2d 6d 61 w-list.list)`.*.[`-mapcat`](#-ma
5d100 70 63 61 74 2d 66 6e 2d 6c 69 73 74 29 20 60 28 66 6e 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 63 pcat-fn-list).`(fn.list)`.*.[`-c
5d120 6f 70 79 60 5d 28 23 2d 63 6f 70 79 2d 6c 69 73 74 29 20 60 28 6c 69 73 74 29 60 0a 0a 23 23 23 opy`](#-copy-list).`(list)`..###
5d140 20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 0a 0a 46 75 6e 63 74 69 6f 6e 73 20 72 65 .Sublist.selection..Functions.re
5d160 74 75 72 6e 69 6e 67 20 61 20 73 75 62 6c 69 73 74 20 6f 66 20 74 68 65 20 6f 72 69 67 69 6e 61 turning.a.sublist.of.the.origina
5d180 6c 20 6c 69 73 74 2e 0a 0a 2a 20 5b 60 2d 66 69 6c 74 65 72 60 5d 28 23 2d 66 69 6c 74 65 72 2d l.list...*.[`-filter`](#-filter-
5d1a0 70 72 65 64 2d 6c 69 73 74 29 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 72 65 pred-list).`(pred.list)`.*.[`-re
5d1c0 6d 6f 76 65 60 5d 28 23 2d 72 65 6d 6f 76 65 2d 70 72 65 64 2d 6c 69 73 74 29 20 60 28 70 72 65 move`](#-remove-pred-list).`(pre
5d1e0 64 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 60 5d 28 23 2d 72 d.list)`.*.[`-remove-first`](#-r
5d200 65 6d 6f 76 65 2d 66 69 72 73 74 2d 70 72 65 64 2d 6c 69 73 74 29 20 60 28 70 72 65 64 20 6c 69 emove-first-pred-list).`(pred.li
5d220 73 74 29 60 0a 2a 20 5b 60 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 60 5d 28 23 2d 72 65 6d 6f 76 65 st)`.*.[`-remove-last`](#-remove
5d240 2d 6c 61 73 74 2d 70 72 65 64 2d 6c 69 73 74 29 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 2a -last-pred-list).`(pred.list)`.*
5d260 20 5b 60 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 60 5d 28 23 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 2d .[`-remove-item`](#-remove-item-
5d280 69 74 65 6d 2d 6c 69 73 74 29 20 60 28 69 74 65 6d 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 6e 6f item-list).`(item.list)`.*.[`-no
5d2a0 6e 2d 6e 69 6c 60 5d 28 23 2d 6e 6f 6e 2d 6e 69 6c 2d 6c 69 73 74 29 20 60 28 6c 69 73 74 29 60 n-nil`](#-non-nil-list).`(list)`
5d2c0 0a 2a 20 5b 60 2d 73 6c 69 63 65 60 5d 28 23 2d 73 6c 69 63 65 2d 6c 69 73 74 2d 66 72 6f 6d 2d .*.[`-slice`](#-slice-list-from-
5d2e0 6f 70 74 69 6f 6e 61 6c 2d 74 6f 2d 73 74 65 70 29 20 60 28 6c 69 73 74 20 66 72 6f 6d 20 26 6f optional-to-step).`(list.from.&o
5d300 70 74 69 6f 6e 61 6c 20 74 6f 20 73 74 65 70 29 60 0a 2a 20 5b 60 2d 74 61 6b 65 60 5d 28 23 2d ptional.to.step)`.*.[`-take`](#-
5d320 74 61 6b 65 2d 6e 2d 6c 69 73 74 29 20 60 28 6e 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 74 61 6b take-n-list).`(n.list)`.*.[`-tak
5d340 65 2d 6c 61 73 74 60 5d 28 23 2d 74 61 6b 65 2d 6c 61 73 74 2d 6e 2d 6c 69 73 74 29 20 60 28 6e e-last`](#-take-last-n-list).`(n
5d360 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 64 72 6f 70 60 5d 28 23 2d 64 72 6f 70 2d 6e 2d 6c 69 73 .list)`.*.[`-drop`](#-drop-n-lis
5d380 74 29 20 60 28 6e 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 64 72 6f 70 2d 6c 61 73 74 60 5d 28 23 t).`(n.list)`.*.[`-drop-last`](#
5d3a0 2d 64 72 6f 70 2d 6c 61 73 74 2d 6e 2d 6c 69 73 74 29 20 60 28 6e 20 6c 69 73 74 29 60 0a 2a 20 -drop-last-n-list).`(n.list)`.*.
5d3c0 5b 60 2d 74 61 6b 65 2d 77 68 69 6c 65 60 5d 28 23 2d 74 61 6b 65 2d 77 68 69 6c 65 2d 70 72 65 [`-take-while`](#-take-while-pre
5d3e0 64 2d 6c 69 73 74 29 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 64 72 6f 70 2d d-list).`(pred.list)`.*.[`-drop-
5d400 77 68 69 6c 65 60 5d 28 23 2d 64 72 6f 70 2d 77 68 69 6c 65 2d 70 72 65 64 2d 6c 69 73 74 29 20 while`](#-drop-while-pred-list).
5d420 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 `(pred.list)`.*.[`-select-by-ind
5d440 69 63 65 73 60 5d 28 23 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 2d 69 6e 64 69 63 ices`](#-select-by-indices-indic
5d460 65 73 2d 6c 69 73 74 29 20 60 28 69 6e 64 69 63 65 73 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 73 es-list).`(indices.list)`.*.[`-s
5d480 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 73 60 5d 28 23 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 73 elect-columns`](#-select-columns
5d4a0 2d 63 6f 6c 75 6d 6e 73 2d 74 61 62 6c 65 29 20 60 28 63 6f 6c 75 6d 6e 73 20 74 61 62 6c 65 29 -columns-table).`(columns.table)
5d4c0 60 0a 2a 20 5b 60 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 60 5d 28 23 2d 73 65 6c 65 63 74 2d `.*.[`-select-column`](#-select-
5d4e0 63 6f 6c 75 6d 6e 2d 63 6f 6c 75 6d 6e 2d 74 61 62 6c 65 29 20 60 28 63 6f 6c 75 6d 6e 20 74 61 column-column-table).`(column.ta
5d500 62 6c 65 29 60 0a 0a 23 23 23 20 4c 69 73 74 20 74 6f 20 6c 69 73 74 0a 0a 46 75 6e 63 74 69 6f ble)`..###.List.to.list..Functio
5d520 6e 73 20 72 65 74 75 72 6e 69 6e 67 20 61 20 6d 6f 64 69 66 69 65 64 20 63 6f 70 79 20 6f 66 20 ns.returning.a.modified.copy.of.
5d540 74 68 65 20 69 6e 70 75 74 20 6c 69 73 74 2e 0a 0a 2a 20 5b 60 2d 6b 65 65 70 60 5d 28 23 2d 6b the.input.list...*.[`-keep`](#-k
5d560 65 65 70 2d 66 6e 2d 6c 69 73 74 29 20 60 28 66 6e 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 63 6f eep-fn-list).`(fn.list)`.*.[`-co
5d580 6e 63 61 74 60 5d 28 23 2d 63 6f 6e 63 61 74 2d 72 65 73 74 2d 6c 69 73 74 73 29 20 60 28 26 72 ncat`](#-concat-rest-lists).`(&r
5d5a0 65 73 74 20 6c 69 73 74 73 29 60 0a 2a 20 5b 60 2d 66 6c 61 74 74 65 6e 60 5d 28 23 2d 66 6c 61 est.lists)`.*.[`-flatten`](#-fla
5d5c0 74 74 65 6e 2d 6c 29 20 60 28 6c 29 60 0a 2a 20 5b 60 2d 66 6c 61 74 74 65 6e 2d 6e 60 5d 28 23 tten-l).`(l)`.*.[`-flatten-n`](#
5d5e0 2d 66 6c 61 74 74 65 6e 2d 6e 2d 6e 75 6d 2d 6c 69 73 74 29 20 60 28 6e 75 6d 20 6c 69 73 74 29 -flatten-n-num-list).`(num.list)
5d600 60 0a 2a 20 5b 60 2d 72 65 70 6c 61 63 65 60 5d 28 23 2d 72 65 70 6c 61 63 65 2d 6f 6c 64 2d 6e `.*.[`-replace`](#-replace-old-n
5d620 65 77 2d 6c 69 73 74 29 20 60 28 6f 6c 64 20 6e 65 77 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 72 ew-list).`(old.new.list)`.*.[`-r
5d640 65 70 6c 61 63 65 2d 66 69 72 73 74 60 5d 28 23 2d 72 65 70 6c 61 63 65 2d 66 69 72 73 74 2d 6f eplace-first`](#-replace-first-o
5d660 6c 64 2d 6e 65 77 2d 6c 69 73 74 29 20 60 28 6f 6c 64 20 6e 65 77 20 6c 69 73 74 29 60 0a 2a 20 ld-new-list).`(old.new.list)`.*.
5d680 5b 60 2d 72 65 70 6c 61 63 65 2d 6c 61 73 74 60 5d 28 23 2d 72 65 70 6c 61 63 65 2d 6c 61 73 74 [`-replace-last`](#-replace-last
5d6a0 2d 6f 6c 64 2d 6e 65 77 2d 6c 69 73 74 29 20 60 28 6f 6c 64 20 6e 65 77 20 6c 69 73 74 29 60 0a -old-new-list).`(old.new.list)`.
5d6c0 2a 20 5b 60 2d 69 6e 73 65 72 74 2d 61 74 60 5d 28 23 2d 69 6e 73 65 72 74 2d 61 74 2d 6e 2d 78 *.[`-insert-at`](#-insert-at-n-x
5d6e0 2d 6c 69 73 74 29 20 60 28 6e 20 78 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 72 65 70 6c 61 63 65 -list).`(n.x.list)`.*.[`-replace
5d700 2d 61 74 60 5d 28 23 2d 72 65 70 6c 61 63 65 2d 61 74 2d 6e 2d 78 2d 6c 69 73 74 29 20 60 28 6e -at`](#-replace-at-n-x-list).`(n
5d720 20 78 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 75 70 64 61 74 65 2d 61 74 60 5d 28 23 2d 75 70 64 .x.list)`.*.[`-update-at`](#-upd
5d740 61 74 65 2d 61 74 2d 6e 2d 66 75 6e 63 2d 6c 69 73 74 29 20 60 28 6e 20 66 75 6e 63 20 6c 69 73 ate-at-n-func-list).`(n.func.lis
5d760 74 29 60 0a 2a 20 5b 60 2d 72 65 6d 6f 76 65 2d 61 74 60 5d 28 23 2d 72 65 6d 6f 76 65 2d 61 74 t)`.*.[`-remove-at`](#-remove-at
5d780 2d 6e 2d 6c 69 73 74 29 20 60 28 6e 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 72 65 6d 6f 76 65 2d -n-list).`(n.list)`.*.[`-remove-
5d7a0 61 74 2d 69 6e 64 69 63 65 73 60 5d 28 23 2d 72 65 6d 6f 76 65 2d 61 74 2d 69 6e 64 69 63 65 73 at-indices`](#-remove-at-indices
5d7c0 2d 69 6e 64 69 63 65 73 2d 6c 69 73 74 29 20 60 28 69 6e 64 69 63 65 73 20 6c 69 73 74 29 60 0a -indices-list).`(indices.list)`.
5d7e0 0a 23 23 23 20 52 65 64 75 63 74 69 6f 6e 73 0a 0a 46 75 6e 63 74 69 6f 6e 73 20 72 65 64 75 63 .###.Reductions..Functions.reduc
5d800 69 6e 67 20 6c 69 73 74 73 20 74 6f 20 61 20 73 69 6e 67 6c 65 20 76 61 6c 75 65 20 28 77 68 69 ing.lists.to.a.single.value.(whi
5d820 63 68 20 6d 61 79 20 61 6c 73 6f 20 62 65 20 61 20 6c 69 73 74 29 2e 0a 0a 2a 20 5b 60 2d 72 65 ch.may.also.be.a.list)...*.[`-re
5d840 64 75 63 65 2d 66 72 6f 6d 60 5d 28 23 2d 72 65 64 75 63 65 2d 66 72 6f 6d 2d 66 6e 2d 69 6e 69 duce-from`](#-reduce-from-fn-ini
5d860 74 2d 6c 69 73 74 29 20 60 28 66 6e 20 69 6e 69 74 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 72 65 t-list).`(fn.init.list)`.*.[`-re
5d880 64 75 63 65 2d 72 2d 66 72 6f 6d 60 5d 28 23 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 2d 66 6e duce-r-from`](#-reduce-r-from-fn
5d8a0 2d 69 6e 69 74 2d 6c 69 73 74 29 20 60 28 66 6e 20 69 6e 69 74 20 6c 69 73 74 29 60 0a 2a 20 5b -init-list).`(fn.init.list)`.*.[
5d8c0 60 2d 72 65 64 75 63 65 60 5d 28 23 2d 72 65 64 75 63 65 2d 66 6e 2d 6c 69 73 74 29 20 60 28 66 `-reduce`](#-reduce-fn-list).`(f
5d8e0 6e 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 72 65 64 75 63 65 2d 72 60 5d 28 23 2d 72 65 64 75 63 n.list)`.*.[`-reduce-r`](#-reduc
5d900 65 2d 72 2d 66 6e 2d 6c 69 73 74 29 20 60 28 66 6e 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 72 65 e-r-fn-list).`(fn.list)`.*.[`-re
5d920 64 75 63 74 69 6f 6e 73 2d 66 72 6f 6d 60 5d 28 23 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 72 6f ductions-from`](#-reductions-fro
5d940 6d 2d 66 6e 2d 69 6e 69 74 2d 6c 69 73 74 29 20 60 28 66 6e 20 69 6e 69 74 20 6c 69 73 74 29 60 m-fn-init-list).`(fn.init.list)`
5d960 0a 2a 20 5b 60 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 60 5d 28 23 2d 72 65 64 75 .*.[`-reductions-r-from`](#-redu
5d980 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 2d 66 6e 2d 69 6e 69 74 2d 6c 69 73 74 29 20 60 28 66 6e ctions-r-from-fn-init-list).`(fn
5d9a0 20 69 6e 69 74 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 72 65 64 75 63 74 69 6f 6e 73 60 5d 28 23 .init.list)`.*.[`-reductions`](#
5d9c0 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 6e 2d 6c 69 73 74 29 20 60 28 66 6e 20 6c 69 73 74 29 60 -reductions-fn-list).`(fn.list)`
5d9e0 0a 2a 20 5b 60 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 60 5d 28 23 2d 72 65 64 75 63 74 69 6f 6e .*.[`-reductions-r`](#-reduction
5da00 73 2d 72 2d 66 6e 2d 6c 69 73 74 29 20 60 28 66 6e 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 63 6f s-r-fn-list).`(fn.list)`.*.[`-co
5da20 75 6e 74 60 5d 28 23 2d 63 6f 75 6e 74 2d 70 72 65 64 2d 6c 69 73 74 29 20 60 28 70 72 65 64 20 unt`](#-count-pred-list).`(pred.
5da40 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 73 75 6d 60 5d 28 23 2d 73 75 6d 2d 6c 69 73 74 29 20 60 28 list)`.*.[`-sum`](#-sum-list).`(
5da60 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 72 75 6e 6e 69 6e 67 2d 73 75 6d 60 5d 28 23 2d 72 75 6e 6e list)`.*.[`-running-sum`](#-runn
5da80 69 6e 67 2d 73 75 6d 2d 6c 69 73 74 29 20 60 28 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 70 72 6f 64 ing-sum-list).`(list)`.*.[`-prod
5daa0 75 63 74 60 5d 28 23 2d 70 72 6f 64 75 63 74 2d 6c 69 73 74 29 20 60 28 6c 69 73 74 29 60 0a 2a uct`](#-product-list).`(list)`.*
5dac0 20 5b 60 2d 72 75 6e 6e 69 6e 67 2d 70 72 6f 64 75 63 74 60 5d 28 23 2d 72 75 6e 6e 69 6e 67 2d .[`-running-product`](#-running-
5dae0 70 72 6f 64 75 63 74 2d 6c 69 73 74 29 20 60 28 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 69 6e 69 74 product-list).`(list)`.*.[`-init
5db00 73 60 5d 28 23 2d 69 6e 69 74 73 2d 6c 69 73 74 29 20 60 28 6c 69 73 74 29 60 0a 2a 20 5b 60 2d s`](#-inits-list).`(list)`.*.[`-
5db20 74 61 69 6c 73 60 5d 28 23 2d 74 61 69 6c 73 2d 6c 69 73 74 29 20 60 28 6c 69 73 74 29 60 0a 2a tails`](#-tails-list).`(list)`.*
5db40 20 5b 60 2d 63 6f 6d 6d 6f 6e 2d 70 72 65 66 69 78 60 5d 28 23 2d 63 6f 6d 6d 6f 6e 2d 70 72 65 .[`-common-prefix`](#-common-pre
5db60 66 69 78 2d 72 65 73 74 2d 6c 69 73 74 73 29 20 60 28 26 72 65 73 74 20 6c 69 73 74 73 29 60 0a fix-rest-lists).`(&rest.lists)`.
5db80 2a 20 5b 60 2d 63 6f 6d 6d 6f 6e 2d 73 75 66 66 69 78 60 5d 28 23 2d 63 6f 6d 6d 6f 6e 2d 73 75 *.[`-common-suffix`](#-common-su
5dba0 66 66 69 78 2d 72 65 73 74 2d 6c 69 73 74 73 29 20 60 28 26 72 65 73 74 20 6c 69 73 74 73 29 60 ffix-rest-lists).`(&rest.lists)`
5dbc0 0a 2a 20 5b 60 2d 6d 69 6e 60 5d 28 23 2d 6d 69 6e 2d 6c 69 73 74 29 20 60 28 6c 69 73 74 29 60 .*.[`-min`](#-min-list).`(list)`
5dbe0 0a 2a 20 5b 60 2d 6d 69 6e 2d 62 79 60 5d 28 23 2d 6d 69 6e 2d 62 79 2d 63 6f 6d 70 61 72 61 74 .*.[`-min-by`](#-min-by-comparat
5dc00 6f 72 2d 6c 69 73 74 29 20 60 28 63 6f 6d 70 61 72 61 74 6f 72 20 6c 69 73 74 29 60 0a 2a 20 5b or-list).`(comparator.list)`.*.[
5dc20 60 2d 6d 61 78 60 5d 28 23 2d 6d 61 78 2d 6c 69 73 74 29 20 60 28 6c 69 73 74 29 60 0a 2a 20 5b `-max`](#-max-list).`(list)`.*.[
5dc40 60 2d 6d 61 78 2d 62 79 60 5d 28 23 2d 6d 61 78 2d 62 79 2d 63 6f 6d 70 61 72 61 74 6f 72 2d 6c `-max-by`](#-max-by-comparator-l
5dc60 69 73 74 29 20 60 28 63 6f 6d 70 61 72 61 74 6f 72 20 6c 69 73 74 29 60 0a 0a 23 23 23 20 55 6e ist).`(comparator.list)`..###.Un
5dc80 66 6f 6c 64 69 6e 67 0a 0a 4f 70 65 72 61 74 69 6f 6e 73 20 64 75 61 6c 20 74 6f 20 72 65 64 75 folding..Operations.dual.to.redu
5dca0 63 74 69 6f 6e 73 2c 20 62 75 69 6c 64 69 6e 67 20 6c 69 73 74 73 20 66 72 6f 6d 20 61 20 73 65 ctions,.building.lists.from.a.se
5dcc0 65 64 0a 76 61 6c 75 65 20 72 61 74 68 65 72 20 74 68 61 6e 20 63 6f 6e 73 75 6d 69 6e 67 20 61 ed.value.rather.than.consuming.a
5dce0 20 6c 69 73 74 20 74 6f 20 70 72 6f 64 75 63 65 20 61 20 73 69 6e 67 6c 65 20 76 61 6c 75 65 2e .list.to.produce.a.single.value.
5dd00 0a 0a 2a 20 5b 60 2d 69 74 65 72 61 74 65 60 5d 28 23 2d 69 74 65 72 61 74 65 2d 66 75 6e 2d 69 ..*.[`-iterate`](#-iterate-fun-i
5dd20 6e 69 74 2d 6e 29 20 60 28 66 75 6e 20 69 6e 69 74 20 6e 29 60 0a 2a 20 5b 60 2d 75 6e 66 6f 6c nit-n).`(fun.init.n)`.*.[`-unfol
5dd40 64 60 5d 28 23 2d 75 6e 66 6f 6c 64 2d 66 75 6e 2d 73 65 65 64 29 20 60 28 66 75 6e 20 73 65 65 d`](#-unfold-fun-seed).`(fun.see
5dd60 64 29 60 0a 0a 23 23 23 20 50 72 65 64 69 63 61 74 65 73 0a 0a 52 65 64 75 63 74 69 6f 6e 73 20 d)`..###.Predicates..Reductions.
5dd80 6f 66 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 6c 69 73 74 73 20 74 6f 20 61 20 62 6f 6f 6c 65 61 of.one.or.more.lists.to.a.boolea
5dda0 6e 20 76 61 6c 75 65 2e 0a 0a 2a 20 5b 60 2d 73 6f 6d 65 60 5d 28 23 2d 73 6f 6d 65 2d 70 72 65 n.value...*.[`-some`](#-some-pre
5ddc0 64 2d 6c 69 73 74 29 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 65 76 65 72 79 d-list).`(pred.list)`.*.[`-every
5dde0 60 5d 28 23 2d 65 76 65 72 79 2d 70 72 65 64 2d 6c 69 73 74 29 20 60 28 70 72 65 64 20 6c 69 73 `](#-every-pred-list).`(pred.lis
5de00 74 29 60 0a 2a 20 5b 60 2d 61 6e 79 3f 60 5d 28 23 2d 61 6e 79 2d 70 72 65 64 2d 6c 69 73 74 29 t)`.*.[`-any?`](#-any-pred-list)
5de20 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 61 6c 6c 3f 60 5d 28 23 2d 61 6c 6c .`(pred.list)`.*.[`-all?`](#-all
5de40 2d 70 72 65 64 2d 6c 69 73 74 29 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 6e -pred-list).`(pred.list)`.*.[`-n
5de60 6f 6e 65 3f 60 5d 28 23 2d 6e 6f 6e 65 2d 70 72 65 64 2d 6c 69 73 74 29 20 60 28 70 72 65 64 20 one?`](#-none-pred-list).`(pred.
5de80 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 6f 6e 6c 79 2d 73 6f 6d 65 3f 60 5d 28 23 2d 6f 6e 6c 79 2d list)`.*.[`-only-some?`](#-only-
5dea0 73 6f 6d 65 2d 70 72 65 64 2d 6c 69 73 74 29 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 2a 20 some-pred-list).`(pred.list)`.*.
5dec0 5b 60 2d 63 6f 6e 74 61 69 6e 73 3f 60 5d 28 23 2d 63 6f 6e 74 61 69 6e 73 2d 6c 69 73 74 2d 65 [`-contains?`](#-contains-list-e
5dee0 6c 65 6d 65 6e 74 29 20 60 28 6c 69 73 74 20 65 6c 65 6d 65 6e 74 29 60 0a 2a 20 5b 60 2d 73 61 lement).`(list.element)`.*.[`-sa
5df00 6d 65 2d 69 74 65 6d 73 3f 60 5d 28 23 2d 73 61 6d 65 2d 69 74 65 6d 73 2d 6c 69 73 74 2d 6c 69 me-items?`](#-same-items-list-li
5df20 73 74 32 29 20 60 28 6c 69 73 74 20 6c 69 73 74 32 29 60 0a 2a 20 5b 60 2d 69 73 2d 70 72 65 66 st2).`(list.list2)`.*.[`-is-pref
5df40 69 78 3f 60 5d 28 23 2d 69 73 2d 70 72 65 66 69 78 2d 70 72 65 66 69 78 2d 6c 69 73 74 29 20 60 ix?`](#-is-prefix-prefix-list).`
5df60 28 70 72 65 66 69 78 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 69 73 2d 73 75 66 66 69 78 3f 60 5d (prefix.list)`.*.[`-is-suffix?`]
5df80 28 23 2d 69 73 2d 73 75 66 66 69 78 2d 73 75 66 66 69 78 2d 6c 69 73 74 29 20 60 28 73 75 66 66 (#-is-suffix-suffix-list).`(suff
5dfa0 69 78 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 69 73 2d 69 6e 66 69 78 3f 60 5d 28 23 2d 69 73 2d ix.list)`.*.[`-is-infix?`](#-is-
5dfc0 69 6e 66 69 78 2d 69 6e 66 69 78 2d 6c 69 73 74 29 20 60 28 69 6e 66 69 78 20 6c 69 73 74 29 60 infix-infix-list).`(infix.list)`
5dfe0 0a 2a 20 5b 60 2d 63 6f 6e 73 2d 70 61 69 72 3f 60 5d 28 23 2d 63 6f 6e 73 2d 70 61 69 72 2d 6f .*.[`-cons-pair?`](#-cons-pair-o
5e000 62 6a 29 20 60 28 6f 62 6a 29 60 0a 0a 23 23 23 20 50 61 72 74 69 74 69 6f 6e 69 6e 67 0a 0a 46 bj).`(obj)`..###.Partitioning..F
5e020 75 6e 63 74 69 6f 6e 73 20 70 61 72 74 69 74 69 6f 6e 69 6e 67 20 74 68 65 20 69 6e 70 75 74 20 unctions.partitioning.the.input.
5e040 6c 69 73 74 20 69 6e 74 6f 20 61 20 6c 69 73 74 20 6f 66 20 6c 69 73 74 73 2e 0a 0a 2a 20 5b 60 list.into.a.list.of.lists...*.[`
5e060 2d 73 70 6c 69 74 2d 61 74 60 5d 28 23 2d 73 70 6c 69 74 2d 61 74 2d 6e 2d 6c 69 73 74 29 20 60 -split-at`](#-split-at-n-list).`
5e080 28 6e 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 73 70 6c 69 74 2d 77 69 74 68 60 5d 28 23 2d 73 70 (n.list)`.*.[`-split-with`](#-sp
5e0a0 6c 69 74 2d 77 69 74 68 2d 70 72 65 64 2d 6c 69 73 74 29 20 60 28 70 72 65 64 20 6c 69 73 74 29 lit-with-pred-list).`(pred.list)
5e0c0 60 0a 2a 20 5b 60 2d 73 70 6c 69 74 2d 6f 6e 60 5d 28 23 2d 73 70 6c 69 74 2d 6f 6e 2d 69 74 65 `.*.[`-split-on`](#-split-on-ite
5e0e0 6d 2d 6c 69 73 74 29 20 60 28 69 74 65 6d 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 73 70 6c 69 74 m-list).`(item.list)`.*.[`-split
5e100 2d 77 68 65 6e 60 5d 28 23 2d 73 70 6c 69 74 2d 77 68 65 6e 2d 66 6e 2d 6c 69 73 74 29 20 60 28 -when`](#-split-when-fn-list).`(
5e120 66 6e 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 73 65 70 61 72 61 74 65 60 5d 28 23 2d 73 65 70 61 fn.list)`.*.[`-separate`](#-sepa
5e140 72 61 74 65 2d 70 72 65 64 2d 6c 69 73 74 29 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 2a 20 rate-pred-list).`(pred.list)`.*.
5e160 5b 60 2d 70 61 72 74 69 74 69 6f 6e 60 5d 28 23 2d 70 61 72 74 69 74 69 6f 6e 2d 6e 2d 6c 69 73 [`-partition`](#-partition-n-lis
5e180 74 29 20 60 28 6e 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c t).`(n.list)`.*.[`-partition-all
5e1a0 60 5d 28 23 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 2d 6e 2d 6c 69 73 74 29 20 60 28 6e 20 6c `](#-partition-all-n-list).`(n.l
5e1c0 69 73 74 29 60 0a 2a 20 5b 60 2d 70 61 72 74 69 74 69 6f 6e 2d 69 6e 2d 73 74 65 70 73 60 5d 28 ist)`.*.[`-partition-in-steps`](
5e1e0 23 2d 70 61 72 74 69 74 69 6f 6e 2d 69 6e 2d 73 74 65 70 73 2d 6e 2d 73 74 65 70 2d 6c 69 73 74 #-partition-in-steps-n-step-list
5e200 29 20 60 28 6e 20 73 74 65 70 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 70 61 72 74 69 74 69 6f 6e ).`(n.step.list)`.*.[`-partition
5e220 2d 61 6c 6c 2d 69 6e 2d 73 74 65 70 73 60 5d 28 23 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 2d -all-in-steps`](#-partition-all-
5e240 69 6e 2d 73 74 65 70 73 2d 6e 2d 73 74 65 70 2d 6c 69 73 74 29 20 60 28 6e 20 73 74 65 70 20 6c in-steps-n-step-list).`(n.step.l
5e260 69 73 74 29 60 0a 2a 20 5b 60 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 60 5d 28 23 2d 70 61 72 74 ist)`.*.[`-partition-by`](#-part
5e280 69 74 69 6f 6e 2d 62 79 2d 66 6e 2d 6c 69 73 74 29 20 60 28 66 6e 20 6c 69 73 74 29 60 0a 2a 20 ition-by-fn-list).`(fn.list)`.*.
5e2a0 5b 60 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 2d 68 65 61 64 65 72 60 5d 28 23 2d 70 61 72 74 69 [`-partition-by-header`](#-parti
5e2c0 74 69 6f 6e 2d 62 79 2d 68 65 61 64 65 72 2d 66 6e 2d 6c 69 73 74 29 20 60 28 66 6e 20 6c 69 73 tion-by-header-fn-list).`(fn.lis
5e2e0 74 29 60 0a 2a 20 5b 60 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 60 5d 28 t)`.*.[`-partition-after-pred`](
5e300 23 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 2d 70 72 65 64 2d 6c 69 73 74 #-partition-after-pred-pred-list
5e320 29 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 70 61 72 74 69 74 69 6f 6e 2d 62 ).`(pred.list)`.*.[`-partition-b
5e340 65 66 6f 72 65 2d 70 72 65 64 60 5d 28 23 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d efore-pred`](#-partition-before-
5e360 70 72 65 64 2d 70 72 65 64 2d 6c 69 73 74 29 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 2a 20 pred-pred-list).`(pred.list)`.*.
5e380 5b 60 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 69 74 65 6d 60 5d 28 23 2d 70 61 72 [`-partition-before-item`](#-par
5e3a0 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 69 74 65 6d 2d 69 74 65 6d 2d 6c 69 73 74 29 20 60 28 tition-before-item-item-list).`(
5e3c0 69 74 65 6d 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 item.list)`.*.[`-partition-after
5e3e0 2d 69 74 65 6d 60 5d 28 23 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 69 74 65 6d 2d 69 -item`](#-partition-after-item-i
5e400 74 65 6d 2d 6c 69 73 74 29 20 60 28 69 74 65 6d 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 67 72 6f tem-list).`(item.list)`.*.[`-gro
5e420 75 70 2d 62 79 60 5d 28 23 2d 67 72 6f 75 70 2d 62 79 2d 66 6e 2d 6c 69 73 74 29 20 60 28 66 6e up-by`](#-group-by-fn-list).`(fn
5e440 20 6c 69 73 74 29 60 0a 0a 23 23 23 20 49 6e 64 65 78 69 6e 67 0a 0a 46 75 6e 63 74 69 6f 6e 73 .list)`..###.Indexing..Functions
5e460 20 72 65 74 72 69 65 76 69 6e 67 20 6f 72 20 73 6f 72 74 69 6e 67 20 62 61 73 65 64 20 6f 6e 20 .retrieving.or.sorting.based.on.
5e480 6c 69 73 74 20 69 6e 64 69 63 65 73 20 61 6e 64 0a 72 65 6c 61 74 65 64 20 70 72 65 64 69 63 61 list.indices.and.related.predica
5e4a0 74 65 73 2e 0a 0a 2a 20 5b 60 2d 65 6c 65 6d 2d 69 6e 64 65 78 60 5d 28 23 2d 65 6c 65 6d 2d 69 tes...*.[`-elem-index`](#-elem-i
5e4c0 6e 64 65 78 2d 65 6c 65 6d 2d 6c 69 73 74 29 20 60 28 65 6c 65 6d 20 6c 69 73 74 29 60 0a 2a 20 ndex-elem-list).`(elem.list)`.*.
5e4e0 5b 60 2d 65 6c 65 6d 2d 69 6e 64 69 63 65 73 60 5d 28 23 2d 65 6c 65 6d 2d 69 6e 64 69 63 65 73 [`-elem-indices`](#-elem-indices
5e500 2d 65 6c 65 6d 2d 6c 69 73 74 29 20 60 28 65 6c 65 6d 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 66 -elem-list).`(elem.list)`.*.[`-f
5e520 69 6e 64 2d 69 6e 64 65 78 60 5d 28 23 2d 66 69 6e 64 2d 69 6e 64 65 78 2d 70 72 65 64 2d 6c 69 ind-index`](#-find-index-pred-li
5e540 73 74 29 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 66 69 6e 64 2d 6c 61 73 74 st).`(pred.list)`.*.[`-find-last
5e560 2d 69 6e 64 65 78 60 5d 28 23 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 78 2d 70 72 65 64 2d -index`](#-find-last-index-pred-
5e580 6c 69 73 74 29 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 66 69 6e 64 2d 69 6e list).`(pred.list)`.*.[`-find-in
5e5a0 64 69 63 65 73 60 5d 28 23 2d 66 69 6e 64 2d 69 6e 64 69 63 65 73 2d 70 72 65 64 2d 6c 69 73 74 dices`](#-find-indices-pred-list
5e5c0 29 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 67 72 61 64 65 2d 75 70 60 5d 28 ).`(pred.list)`.*.[`-grade-up`](
5e5e0 23 2d 67 72 61 64 65 2d 75 70 2d 63 6f 6d 70 61 72 61 74 6f 72 2d 6c 69 73 74 29 20 60 28 63 6f #-grade-up-comparator-list).`(co
5e600 6d 70 61 72 61 74 6f 72 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 67 72 61 64 65 2d 64 6f 77 6e 60 mparator.list)`.*.[`-grade-down`
5e620 5d 28 23 2d 67 72 61 64 65 2d 64 6f 77 6e 2d 63 6f 6d 70 61 72 61 74 6f 72 2d 6c 69 73 74 29 20 ](#-grade-down-comparator-list).
5e640 60 28 63 6f 6d 70 61 72 61 74 6f 72 20 6c 69 73 74 29 60 0a 0a 23 23 23 20 53 65 74 20 6f 70 65 `(comparator.list)`..###.Set.ope
5e660 72 61 74 69 6f 6e 73 0a 0a 4f 70 65 72 61 74 69 6f 6e 73 20 70 72 65 74 65 6e 64 69 6e 67 20 6c rations..Operations.pretending.l
5e680 69 73 74 73 20 61 72 65 20 73 65 74 73 2e 0a 0a 2a 20 5b 60 2d 75 6e 69 6f 6e 60 5d 28 23 2d 75 ists.are.sets...*.[`-union`](#-u
5e6a0 6e 69 6f 6e 2d 6c 69 73 74 2d 6c 69 73 74 32 29 20 60 28 6c 69 73 74 20 6c 69 73 74 32 29 60 0a nion-list-list2).`(list.list2)`.
5e6c0 2a 20 5b 60 2d 64 69 66 66 65 72 65 6e 63 65 60 5d 28 23 2d 64 69 66 66 65 72 65 6e 63 65 2d 6c *.[`-difference`](#-difference-l
5e6e0 69 73 74 2d 6c 69 73 74 32 29 20 60 28 6c 69 73 74 20 6c 69 73 74 32 29 60 0a 2a 20 5b 60 2d 69 ist-list2).`(list.list2)`.*.[`-i
5e700 6e 74 65 72 73 65 63 74 69 6f 6e 60 5d 28 23 2d 69 6e 74 65 72 73 65 63 74 69 6f 6e 2d 6c 69 73 ntersection`](#-intersection-lis
5e720 74 2d 6c 69 73 74 32 29 20 60 28 6c 69 73 74 20 6c 69 73 74 32 29 60 0a 2a 20 5b 60 2d 70 6f 77 t-list2).`(list.list2)`.*.[`-pow
5e740 65 72 73 65 74 60 5d 28 23 2d 70 6f 77 65 72 73 65 74 2d 6c 69 73 74 29 20 60 28 6c 69 73 74 29 erset`](#-powerset-list).`(list)
5e760 60 0a 2a 20 5b 60 2d 70 65 72 6d 75 74 61 74 69 6f 6e 73 60 5d 28 23 2d 70 65 72 6d 75 74 61 74 `.*.[`-permutations`](#-permutat
5e780 69 6f 6e 73 2d 6c 69 73 74 29 20 60 28 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 64 69 73 74 69 6e 63 ions-list).`(list)`.*.[`-distinc
5e7a0 74 60 5d 28 23 2d 64 69 73 74 69 6e 63 74 2d 6c 69 73 74 29 20 60 28 6c 69 73 74 29 60 0a 0a 23 t`](#-distinct-list).`(list)`..#
5e7c0 23 23 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 0a 0a 4f 74 68 65 72 20 ##.Other.list.operations..Other.
5e7e0 6c 69 73 74 20 66 75 6e 63 74 69 6f 6e 73 20 6e 6f 74 20 66 69 74 20 74 6f 20 62 65 20 63 6c 61 list.functions.not.fit.to.be.cla
5e800 73 73 69 66 69 65 64 20 65 6c 73 65 77 68 65 72 65 2e 0a 0a 2a 20 5b 60 2d 72 6f 74 61 74 65 60 ssified.elsewhere...*.[`-rotate`
5e820 5d 28 23 2d 72 6f 74 61 74 65 2d 6e 2d 6c 69 73 74 29 20 60 28 6e 20 6c 69 73 74 29 60 0a 2a 20 ](#-rotate-n-list).`(n.list)`.*.
5e840 5b 60 2d 72 65 70 65 61 74 60 5d 28 23 2d 72 65 70 65 61 74 2d 6e 2d 78 29 20 60 28 6e 20 78 29 [`-repeat`](#-repeat-n-x).`(n.x)
5e860 60 0a 2a 20 5b 60 2d 63 6f 6e 73 2a 60 5d 28 23 2d 63 6f 6e 73 2d 72 65 73 74 2d 61 72 67 73 29 `.*.[`-cons*`](#-cons-rest-args)
5e880 20 60 28 26 72 65 73 74 20 61 72 67 73 29 60 0a 2a 20 5b 60 2d 73 6e 6f 63 60 5d 28 23 2d 73 6e .`(&rest.args)`.*.[`-snoc`](#-sn
5e8a0 6f 63 2d 6c 69 73 74 2d 65 6c 65 6d 2d 72 65 73 74 2d 65 6c 65 6d 65 6e 74 73 29 20 60 28 6c 69 oc-list-elem-rest-elements).`(li
5e8c0 73 74 20 65 6c 65 6d 20 26 72 65 73 74 20 65 6c 65 6d 65 6e 74 73 29 60 0a 2a 20 5b 60 2d 69 6e st.elem.&rest.elements)`.*.[`-in
5e8e0 74 65 72 70 6f 73 65 60 5d 28 23 2d 69 6e 74 65 72 70 6f 73 65 2d 73 65 70 2d 6c 69 73 74 29 20 terpose`](#-interpose-sep-list).
5e900 60 28 73 65 70 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 69 6e 74 65 72 6c 65 61 76 65 60 5d 28 23 `(sep.list)`.*.[`-interleave`](#
5e920 2d 69 6e 74 65 72 6c 65 61 76 65 2d 72 65 73 74 2d 6c 69 73 74 73 29 20 60 28 26 72 65 73 74 20 -interleave-rest-lists).`(&rest.
5e940 6c 69 73 74 73 29 60 0a 2a 20 5b 60 2d 69 6f 74 61 60 5d 28 23 2d 69 6f 74 61 2d 63 6f 75 6e 74 lists)`.*.[`-iota`](#-iota-count
5e960 2d 6f 70 74 69 6f 6e 61 6c 2d 73 74 61 72 74 2d 73 74 65 70 29 20 60 28 63 6f 75 6e 74 20 26 6f -optional-start-step).`(count.&o
5e980 70 74 69 6f 6e 61 6c 20 73 74 61 72 74 20 73 74 65 70 29 60 0a 2a 20 5b 60 2d 7a 69 70 2d 77 69 ptional.start.step)`.*.[`-zip-wi
5e9a0 74 68 60 5d 28 23 2d 7a 69 70 2d 77 69 74 68 2d 66 6e 2d 6c 69 73 74 31 2d 6c 69 73 74 32 29 20 th`](#-zip-with-fn-list1-list2).
5e9c0 60 28 66 6e 20 6c 69 73 74 31 20 6c 69 73 74 32 29 60 0a 2a 20 5b 60 2d 7a 69 70 60 5d 28 23 2d `(fn.list1.list2)`.*.[`-zip`](#-
5e9e0 7a 69 70 2d 72 65 73 74 2d 6c 69 73 74 73 29 20 60 28 26 72 65 73 74 20 6c 69 73 74 73 29 60 0a zip-rest-lists).`(&rest.lists)`.
5ea00 2a 20 5b 60 2d 7a 69 70 2d 6c 69 73 74 73 60 5d 28 23 2d 7a 69 70 2d 6c 69 73 74 73 2d 72 65 73 *.[`-zip-lists`](#-zip-lists-res
5ea20 74 2d 6c 69 73 74 73 29 20 60 28 26 72 65 73 74 20 6c 69 73 74 73 29 60 0a 2a 20 5b 60 2d 7a 69 t-lists).`(&rest.lists)`.*.[`-zi
5ea40 70 2d 66 69 6c 6c 60 5d 28 23 2d 7a 69 70 2d 66 69 6c 6c 2d 66 69 6c 6c 2d 76 61 6c 75 65 2d 72 p-fill`](#-zip-fill-fill-value-r
5ea60 65 73 74 2d 6c 69 73 74 73 29 20 60 28 66 69 6c 6c 2d 76 61 6c 75 65 20 26 72 65 73 74 20 6c 69 est-lists).`(fill-value.&rest.li
5ea80 73 74 73 29 60 0a 2a 20 5b 60 2d 75 6e 7a 69 70 60 5d 28 23 2d 75 6e 7a 69 70 2d 6c 69 73 74 73 sts)`.*.[`-unzip`](#-unzip-lists
5eaa0 29 20 60 28 6c 69 73 74 73 29 60 0a 2a 20 5b 60 2d 63 79 63 6c 65 60 5d 28 23 2d 63 79 63 6c 65 ).`(lists)`.*.[`-cycle`](#-cycle
5eac0 2d 6c 69 73 74 29 20 60 28 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 70 61 64 60 5d 28 23 2d 70 61 64 -list).`(list)`.*.[`-pad`](#-pad
5eae0 2d 66 69 6c 6c 2d 76 61 6c 75 65 2d 72 65 73 74 2d 6c 69 73 74 73 29 20 60 28 66 69 6c 6c 2d 76 -fill-value-rest-lists).`(fill-v
5eb00 61 6c 75 65 20 26 72 65 73 74 20 6c 69 73 74 73 29 60 0a 2a 20 5b 60 2d 74 61 62 6c 65 60 5d 28 alue.&rest.lists)`.*.[`-table`](
5eb20 23 2d 74 61 62 6c 65 2d 66 6e 2d 72 65 73 74 2d 6c 69 73 74 73 29 20 60 28 66 6e 20 26 72 65 73 #-table-fn-rest-lists).`(fn.&res
5eb40 74 20 6c 69 73 74 73 29 60 0a 2a 20 5b 60 2d 74 61 62 6c 65 2d 66 6c 61 74 60 5d 28 23 2d 74 61 t.lists)`.*.[`-table-flat`](#-ta
5eb60 62 6c 65 2d 66 6c 61 74 2d 66 6e 2d 72 65 73 74 2d 6c 69 73 74 73 29 20 60 28 66 6e 20 26 72 65 ble-flat-fn-rest-lists).`(fn.&re
5eb80 73 74 20 6c 69 73 74 73 29 60 0a 2a 20 5b 60 2d 66 69 72 73 74 60 5d 28 23 2d 66 69 72 73 74 2d st.lists)`.*.[`-first`](#-first-
5eba0 70 72 65 64 2d 6c 69 73 74 29 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 6c 61 pred-list).`(pred.list)`.*.[`-la
5ebc0 73 74 60 5d 28 23 2d 6c 61 73 74 2d 70 72 65 64 2d 6c 69 73 74 29 20 60 28 70 72 65 64 20 6c 69 st`](#-last-pred-list).`(pred.li
5ebe0 73 74 29 60 0a 2a 20 5b 60 2d 66 69 72 73 74 2d 69 74 65 6d 60 5d 28 23 2d 66 69 72 73 74 2d 69 st)`.*.[`-first-item`](#-first-i
5ec00 74 65 6d 2d 6c 69 73 74 29 20 60 28 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 73 65 63 6f 6e 64 2d 69 tem-list).`(list)`.*.[`-second-i
5ec20 74 65 6d 60 5d 28 23 2d 73 65 63 6f 6e 64 2d 69 74 65 6d 2d 6c 69 73 74 29 20 60 28 6c 69 73 74 tem`](#-second-item-list).`(list
5ec40 29 60 0a 2a 20 5b 60 2d 74 68 69 72 64 2d 69 74 65 6d 60 5d 28 23 2d 74 68 69 72 64 2d 69 74 65 )`.*.[`-third-item`](#-third-ite
5ec60 6d 2d 6c 69 73 74 29 20 60 28 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 66 6f 75 72 74 68 2d 69 74 65 m-list).`(list)`.*.[`-fourth-ite
5ec80 6d 60 5d 28 23 2d 66 6f 75 72 74 68 2d 69 74 65 6d 2d 6c 69 73 74 29 20 60 28 6c 69 73 74 29 60 m`](#-fourth-item-list).`(list)`
5eca0 0a 2a 20 5b 60 2d 66 69 66 74 68 2d 69 74 65 6d 60 5d 28 23 2d 66 69 66 74 68 2d 69 74 65 6d 2d .*.[`-fifth-item`](#-fifth-item-
5ecc0 6c 69 73 74 29 20 60 28 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 6c 61 73 74 2d 69 74 65 6d 60 5d 28 list).`(list)`.*.[`-last-item`](
5ece0 23 2d 6c 61 73 74 2d 69 74 65 6d 2d 6c 69 73 74 29 20 60 28 6c 69 73 74 29 60 0a 2a 20 5b 60 2d #-last-item-list).`(list)`.*.[`-
5ed00 62 75 74 6c 61 73 74 60 5d 28 23 2d 62 75 74 6c 61 73 74 2d 6c 69 73 74 29 20 60 28 6c 69 73 74 butlast`](#-butlast-list).`(list
5ed20 29 60 0a 2a 20 5b 60 2d 73 6f 72 74 60 5d 28 23 2d 73 6f 72 74 2d 63 6f 6d 70 61 72 61 74 6f 72 )`.*.[`-sort`](#-sort-comparator
5ed40 2d 6c 69 73 74 29 20 60 28 63 6f 6d 70 61 72 61 74 6f 72 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d -list).`(comparator.list)`.*.[`-
5ed60 6c 69 73 74 60 5d 28 23 2d 6c 69 73 74 2d 61 72 67 29 20 60 28 61 72 67 29 60 0a 2a 20 5b 60 2d list`](#-list-arg).`(arg)`.*.[`-
5ed80 66 69 78 60 5d 28 23 2d 66 69 78 2d 66 6e 2d 6c 69 73 74 29 20 60 28 66 6e 20 6c 69 73 74 29 60 fix`](#-fix-fn-list).`(fn.list)`
5eda0 0a 0a 23 23 23 20 54 72 65 65 20 6f 70 65 72 61 74 69 6f 6e 73 0a 0a 46 75 6e 63 74 69 6f 6e 73 ..###.Tree.operations..Functions
5edc0 20 70 72 65 74 65 6e 64 69 6e 67 20 6c 69 73 74 73 20 61 72 65 20 74 72 65 65 73 2e 0a 0a 2a 20 .pretending.lists.are.trees...*.
5ede0 5b 60 2d 74 72 65 65 2d 73 65 71 60 5d 28 23 2d 74 72 65 65 2d 73 65 71 2d 62 72 61 6e 63 68 2d [`-tree-seq`](#-tree-seq-branch-
5ee00 63 68 69 6c 64 72 65 6e 2d 74 72 65 65 29 20 60 28 62 72 61 6e 63 68 20 63 68 69 6c 64 72 65 6e children-tree).`(branch.children
5ee20 20 74 72 65 65 29 60 0a 2a 20 5b 60 2d 74 72 65 65 2d 6d 61 70 60 5d 28 23 2d 74 72 65 65 2d 6d .tree)`.*.[`-tree-map`](#-tree-m
5ee40 61 70 2d 66 6e 2d 74 72 65 65 29 20 60 28 66 6e 20 74 72 65 65 29 60 0a 2a 20 5b 60 2d 74 72 65 ap-fn-tree).`(fn.tree)`.*.[`-tre
5ee60 65 2d 6d 61 70 2d 6e 6f 64 65 73 60 5d 28 23 2d 74 72 65 65 2d 6d 61 70 2d 6e 6f 64 65 73 2d 70 e-map-nodes`](#-tree-map-nodes-p
5ee80 72 65 64 2d 66 75 6e 2d 74 72 65 65 29 20 60 28 70 72 65 64 20 66 75 6e 20 74 72 65 65 29 60 0a red-fun-tree).`(pred.fun.tree)`.
5eea0 2a 20 5b 60 2d 74 72 65 65 2d 72 65 64 75 63 65 60 5d 28 23 2d 74 72 65 65 2d 72 65 64 75 63 65 *.[`-tree-reduce`](#-tree-reduce
5eec0 2d 66 6e 2d 74 72 65 65 29 20 60 28 66 6e 20 74 72 65 65 29 60 0a 2a 20 5b 60 2d 74 72 65 65 2d -fn-tree).`(fn.tree)`.*.[`-tree-
5eee0 72 65 64 75 63 65 2d 66 72 6f 6d 60 5d 28 23 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 72 6f 6d reduce-from`](#-tree-reduce-from
5ef00 2d 66 6e 2d 69 6e 69 74 2d 76 61 6c 75 65 2d 74 72 65 65 29 20 60 28 66 6e 20 69 6e 69 74 2d 76 -fn-init-value-tree).`(fn.init-v
5ef20 61 6c 75 65 20 74 72 65 65 29 60 0a 2a 20 5b 60 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 60 alue.tree)`.*.[`-tree-mapreduce`
5ef40 5d 28 23 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 2d 66 6e 2d 66 6f 6c 64 65 72 2d 74 72 65 ](#-tree-mapreduce-fn-folder-tre
5ef60 65 29 20 60 28 66 6e 20 66 6f 6c 64 65 72 20 74 72 65 65 29 60 0a 2a 20 5b 60 2d 74 72 65 65 2d e).`(fn.folder.tree)`.*.[`-tree-
5ef80 6d 61 70 72 65 64 75 63 65 2d 66 72 6f 6d 60 5d 28 23 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 mapreduce-from`](#-tree-mapreduc
5efa0 65 2d 66 72 6f 6d 2d 66 6e 2d 66 6f 6c 64 65 72 2d 69 6e 69 74 2d 76 61 6c 75 65 2d 74 72 65 65 e-from-fn-folder-init-value-tree
5efc0 29 20 60 28 66 6e 20 66 6f 6c 64 65 72 20 69 6e 69 74 2d 76 61 6c 75 65 20 74 72 65 65 29 60 0a ).`(fn.folder.init-value.tree)`.
5efe0 2a 20 5b 60 2d 63 6c 6f 6e 65 60 5d 28 23 2d 63 6c 6f 6e 65 2d 6c 69 73 74 29 20 60 28 6c 69 73 *.[`-clone`](#-clone-list).`(lis
5f000 74 29 60 0a 0a 23 23 23 20 54 68 72 65 61 64 69 6e 67 20 6d 61 63 72 6f 73 0a 0a 4d 61 63 72 6f t)`..###.Threading.macros..Macro
5f020 73 20 74 68 61 74 20 63 6f 6e 64 69 74 69 6f 6e 61 6c 6c 79 20 63 6f 6d 62 69 6e 65 20 73 65 71 s.that.conditionally.combine.seq
5f040 75 65 6e 74 69 61 6c 20 66 6f 72 6d 73 20 66 6f 72 20 62 72 65 76 69 74 79 0a 6f 72 20 72 65 61 uential.forms.for.brevity.or.rea
5f060 64 61 62 69 6c 69 74 79 2e 0a 0a 2a 20 5b 60 2d 3e 60 5d 28 23 2d 2d 78 2d 6f 70 74 69 6f 6e 61 dability...*.[`->`](#--x-optiona
5f080 6c 2d 66 6f 72 6d 2d 72 65 73 74 2d 6d 6f 72 65 29 20 60 28 78 20 26 6f 70 74 69 6f 6e 61 6c 20 l-form-rest-more).`(x.&optional.
5f0a0 66 6f 72 6d 20 26 72 65 73 74 20 6d 6f 72 65 29 60 0a 2a 20 5b 60 2d 3e 3e 60 5d 28 23 2d 2d 78 form.&rest.more)`.*.[`->>`](#--x
5f0c0 2d 6f 70 74 69 6f 6e 61 6c 2d 66 6f 72 6d 2d 72 65 73 74 2d 6d 6f 72 65 29 20 60 28 78 20 26 6f -optional-form-rest-more).`(x.&o
5f0e0 70 74 69 6f 6e 61 6c 20 66 6f 72 6d 20 26 72 65 73 74 20 6d 6f 72 65 29 60 0a 2a 20 5b 60 2d 2d ptional.form.&rest.more)`.*.[`--
5f100 3e 60 5d 28 23 2d 2d 2d 78 2d 72 65 73 74 2d 66 6f 72 6d 73 29 20 60 28 78 20 26 72 65 73 74 20 >`](#---x-rest-forms).`(x.&rest.
5f120 66 6f 72 6d 73 29 60 0a 2a 20 5b 60 2d 61 73 2d 3e 60 5d 28 23 2d 61 73 2d 2d 76 61 6c 75 65 2d forms)`.*.[`-as->`](#-as--value-
5f140 76 61 72 69 61 62 6c 65 2d 72 65 73 74 2d 66 6f 72 6d 73 29 20 60 28 76 61 6c 75 65 20 76 61 72 variable-rest-forms).`(value.var
5f160 69 61 62 6c 65 20 26 72 65 73 74 20 66 6f 72 6d 73 29 60 0a 2a 20 5b 60 2d 73 6f 6d 65 2d 3e 60 iable.&rest.forms)`.*.[`-some->`
5f180 5d 28 23 2d 73 6f 6d 65 2d 2d 78 2d 6f 70 74 69 6f 6e 61 6c 2d 66 6f 72 6d 2d 72 65 73 74 2d 6d ](#-some--x-optional-form-rest-m
5f1a0 6f 72 65 29 20 60 28 78 20 26 6f 70 74 69 6f 6e 61 6c 20 66 6f 72 6d 20 26 72 65 73 74 20 6d 6f ore).`(x.&optional.form.&rest.mo
5f1c0 72 65 29 60 0a 2a 20 5b 60 2d 73 6f 6d 65 2d 3e 3e 60 5d 28 23 2d 73 6f 6d 65 2d 2d 78 2d 6f 70 re)`.*.[`-some->>`](#-some--x-op
5f1e0 74 69 6f 6e 61 6c 2d 66 6f 72 6d 2d 72 65 73 74 2d 6d 6f 72 65 29 20 60 28 78 20 26 6f 70 74 69 tional-form-rest-more).`(x.&opti
5f200 6f 6e 61 6c 20 66 6f 72 6d 20 26 72 65 73 74 20 6d 6f 72 65 29 60 0a 2a 20 5b 60 2d 73 6f 6d 65 onal.form.&rest.more)`.*.[`-some
5f220 2d 2d 3e 60 5d 28 23 2d 73 6f 6d 65 2d 2d 2d 65 78 70 72 2d 72 65 73 74 2d 66 6f 72 6d 73 29 20 -->`](#-some---expr-rest-forms).
5f240 60 28 65 78 70 72 20 26 72 65 73 74 20 66 6f 72 6d 73 29 60 0a 2a 20 5b 60 2d 64 6f 74 6f 60 5d `(expr.&rest.forms)`.*.[`-doto`]
5f260 28 23 2d 64 6f 74 6f 2d 69 6e 69 74 2d 72 65 73 74 2d 66 6f 72 6d 73 29 20 60 28 69 6e 69 74 20 (#-doto-init-rest-forms).`(init.
5f280 26 72 65 73 74 20 66 6f 72 6d 73 29 60 0a 0a 23 23 23 20 42 69 6e 64 69 6e 67 0a 0a 4d 61 63 72 &rest.forms)`..###.Binding..Macr
5f2a0 6f 73 20 74 68 61 74 20 63 6f 6d 62 69 6e 65 20 60 6c 65 74 60 20 61 6e 64 20 60 6c 65 74 2a 60 os.that.combine.`let`.and.`let*`
5f2c0 20 77 69 74 68 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 20 61 6e 64 20 66 6c 6f 77 20 63 6f 6e .with.destructuring.and.flow.con
5f2e0 74 72 6f 6c 2e 0a 0a 2a 20 5b 60 2d 77 68 65 6e 2d 6c 65 74 60 5d 28 23 2d 77 68 65 6e 2d 6c 65 trol...*.[`-when-let`](#-when-le
5f300 74 2d 76 61 72 2d 76 61 6c 2d 72 65 73 74 2d 62 6f 64 79 29 20 60 28 28 76 61 72 20 76 61 6c 29 t-var-val-rest-body).`((var.val)
5f320 20 26 72 65 73 74 20 62 6f 64 79 29 60 0a 2a 20 5b 60 2d 77 68 65 6e 2d 6c 65 74 2a 60 5d 28 23 .&rest.body)`.*.[`-when-let*`](#
5f340 2d 77 68 65 6e 2d 6c 65 74 2d 76 61 72 73 2d 76 61 6c 73 2d 72 65 73 74 2d 62 6f 64 79 29 20 60 -when-let-vars-vals-rest-body).`
5f360 28 76 61 72 73 2d 76 61 6c 73 20 26 72 65 73 74 20 62 6f 64 79 29 60 0a 2a 20 5b 60 2d 69 66 2d (vars-vals.&rest.body)`.*.[`-if-
5f380 6c 65 74 60 5d 28 23 2d 69 66 2d 6c 65 74 2d 76 61 72 2d 76 61 6c 2d 74 68 65 6e 2d 72 65 73 74 let`](#-if-let-var-val-then-rest
5f3a0 2d 65 6c 73 65 29 20 60 28 28 76 61 72 20 76 61 6c 29 20 74 68 65 6e 20 26 72 65 73 74 20 65 6c -else).`((var.val).then.&rest.el
5f3c0 73 65 29 60 0a 2a 20 5b 60 2d 69 66 2d 6c 65 74 2a 60 5d 28 23 2d 69 66 2d 6c 65 74 2d 76 61 72 se)`.*.[`-if-let*`](#-if-let-var
5f3e0 73 2d 76 61 6c 73 2d 74 68 65 6e 2d 72 65 73 74 2d 65 6c 73 65 29 20 60 28 76 61 72 73 2d 76 61 s-vals-then-rest-else).`(vars-va
5f400 6c 73 20 74 68 65 6e 20 26 72 65 73 74 20 65 6c 73 65 29 60 0a 2a 20 5b 60 2d 6c 65 74 60 5d 28 ls.then.&rest.else)`.*.[`-let`](
5f420 23 2d 6c 65 74 2d 76 61 72 6c 69 73 74 2d 72 65 73 74 2d 62 6f 64 79 29 20 60 28 76 61 72 6c 69 #-let-varlist-rest-body).`(varli
5f440 73 74 20 26 72 65 73 74 20 62 6f 64 79 29 60 0a 2a 20 5b 60 2d 6c 65 74 2a 60 5d 28 23 2d 6c 65 st.&rest.body)`.*.[`-let*`](#-le
5f460 74 2d 76 61 72 6c 69 73 74 2d 72 65 73 74 2d 62 6f 64 79 29 20 60 28 76 61 72 6c 69 73 74 20 26 t-varlist-rest-body).`(varlist.&
5f480 72 65 73 74 20 62 6f 64 79 29 60 0a 2a 20 5b 60 2d 6c 61 6d 62 64 61 60 5d 28 23 2d 6c 61 6d 62 rest.body)`.*.[`-lambda`](#-lamb
5f4a0 64 61 2d 6d 61 74 63 68 2d 66 6f 72 6d 2d 72 65 73 74 2d 62 6f 64 79 29 20 60 28 6d 61 74 63 68 da-match-form-rest-body).`(match
5f4c0 2d 66 6f 72 6d 20 26 72 65 73 74 20 62 6f 64 79 29 60 0a 2a 20 5b 60 2d 73 65 74 71 60 5d 28 23 -form.&rest.body)`.*.[`-setq`](#
5f4e0 2d 73 65 74 71 2d 6d 61 74 63 68 2d 66 6f 72 6d 2d 76 61 6c 29 20 60 28 5b 6d 61 74 63 68 2d 66 -setq-match-form-val).`([match-f
5f500 6f 72 6d 20 76 61 6c 5d 20 2e 2e 2e 29 60 0a 0a 23 23 23 20 53 69 64 65 20 65 66 66 65 63 74 73 orm.val]....)`..###.Side.effects
5f520 0a 0a 46 75 6e 63 74 69 6f 6e 73 20 69 74 65 72 61 74 69 6e 67 20 6f 76 65 72 20 6c 69 73 74 73 ..Functions.iterating.over.lists
5f540 20 66 6f 72 20 73 69 64 65 20 65 66 66 65 63 74 20 6f 6e 6c 79 2e 0a 0a 2a 20 5b 60 2d 65 61 63 .for.side.effect.only...*.[`-eac
5f560 68 60 5d 28 23 2d 65 61 63 68 2d 6c 69 73 74 2d 66 6e 29 20 60 28 6c 69 73 74 20 66 6e 29 60 0a h`](#-each-list-fn).`(list.fn)`.
5f580 2a 20 5b 60 2d 65 61 63 68 2d 77 68 69 6c 65 60 5d 28 23 2d 65 61 63 68 2d 77 68 69 6c 65 2d 6c *.[`-each-while`](#-each-while-l
5f5a0 69 73 74 2d 70 72 65 64 2d 66 6e 29 20 60 28 6c 69 73 74 20 70 72 65 64 20 66 6e 29 60 0a 2a 20 ist-pred-fn).`(list.pred.fn)`.*.
5f5c0 5b 60 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 60 5d 28 23 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 [`-each-indexed`](#-each-indexed
5f5e0 2d 6c 69 73 74 2d 66 6e 29 20 60 28 6c 69 73 74 20 66 6e 29 60 0a 2a 20 5b 60 2d 65 61 63 68 2d -list-fn).`(list.fn)`.*.[`-each-
5f600 72 60 5d 28 23 2d 65 61 63 68 2d 72 2d 6c 69 73 74 2d 66 6e 29 20 60 28 6c 69 73 74 20 66 6e 29 r`](#-each-r-list-fn).`(list.fn)
5f620 60 0a 2a 20 5b 60 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 60 5d 28 23 2d 65 61 63 68 2d 72 2d 77 `.*.[`-each-r-while`](#-each-r-w
5f640 68 69 6c 65 2d 6c 69 73 74 2d 70 72 65 64 2d 66 6e 29 20 60 28 6c 69 73 74 20 70 72 65 64 20 66 hile-list-pred-fn).`(list.pred.f
5f660 6e 29 60 0a 2a 20 5b 60 2d 64 6f 74 69 6d 65 73 60 5d 28 23 2d 64 6f 74 69 6d 65 73 2d 6e 75 6d n)`.*.[`-dotimes`](#-dotimes-num
5f680 2d 66 6e 29 20 60 28 6e 75 6d 20 66 6e 29 60 0a 0a 23 23 23 20 44 65 73 74 72 75 63 74 69 76 65 -fn).`(num.fn)`..###.Destructive
5f6a0 20 6f 70 65 72 61 74 69 6f 6e 73 0a 0a 4d 61 63 72 6f 73 20 74 68 61 74 20 6d 6f 64 69 66 79 20 .operations..Macros.that.modify.
5f6c0 76 61 72 69 61 62 6c 65 73 20 68 6f 6c 64 69 6e 67 20 6c 69 73 74 73 2e 0a 0a 2a 20 5b 60 21 63 variables.holding.lists...*.[`!c
5f6e0 6f 6e 73 60 5d 28 23 63 6f 6e 73 2d 63 61 72 2d 63 64 72 29 20 60 28 63 61 72 20 63 64 72 29 60 ons`](#cons-car-cdr).`(car.cdr)`
5f700 0a 2a 20 5b 60 21 63 64 72 60 5d 28 23 63 64 72 2d 6c 69 73 74 29 20 60 28 6c 69 73 74 29 60 0a .*.[`!cdr`](#cdr-list).`(list)`.
5f720 0a 23 23 23 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 73 0a 0a 46 75 6e 63 74 .###.Function.combinators..Funct
5f740 69 6f 6e 73 20 74 68 61 74 20 6d 61 6e 69 70 75 6c 61 74 65 20 61 6e 64 20 63 6f 6d 70 6f 73 65 ions.that.manipulate.and.compose
5f760 20 6f 74 68 65 72 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 0a 2a 20 5b 60 2d 70 61 72 74 69 61 6c 60 .other.functions...*.[`-partial`
5f780 5d 28 23 2d 70 61 72 74 69 61 6c 2d 66 75 6e 2d 72 65 73 74 2d 61 72 67 73 29 20 60 28 66 75 6e ](#-partial-fun-rest-args).`(fun
5f7a0 20 26 72 65 73 74 20 61 72 67 73 29 60 0a 2a 20 5b 60 2d 72 70 61 72 74 69 61 6c 60 5d 28 23 2d .&rest.args)`.*.[`-rpartial`](#-
5f7c0 72 70 61 72 74 69 61 6c 2d 66 6e 2d 72 65 73 74 2d 61 72 67 73 29 20 60 28 66 6e 20 26 72 65 73 rpartial-fn-rest-args).`(fn.&res
5f7e0 74 20 61 72 67 73 29 60 0a 2a 20 5b 60 2d 6a 75 78 74 60 5d 28 23 2d 6a 75 78 74 2d 72 65 73 74 t.args)`.*.[`-juxt`](#-juxt-rest
5f800 2d 66 6e 73 29 20 60 28 26 72 65 73 74 20 66 6e 73 29 60 0a 2a 20 5b 60 2d 63 6f 6d 70 6f 73 65 -fns).`(&rest.fns)`.*.[`-compose
5f820 60 5d 28 23 2d 63 6f 6d 70 6f 73 65 2d 72 65 73 74 2d 66 6e 73 29 20 60 28 26 72 65 73 74 20 66 `](#-compose-rest-fns).`(&rest.f
5f840 6e 73 29 60 0a 2a 20 5b 60 2d 61 70 70 6c 69 66 79 60 5d 28 23 2d 61 70 70 6c 69 66 79 2d 66 6e ns)`.*.[`-applify`](#-applify-fn
5f860 29 20 60 28 66 6e 29 60 0a 2a 20 5b 60 2d 6f 6e 60 5d 28 23 2d 6f 6e 2d 6f 70 2d 74 72 61 6e 73 ).`(fn)`.*.[`-on`](#-on-op-trans
5f880 29 20 60 28 6f 70 20 74 72 61 6e 73 29 60 0a 2a 20 5b 60 2d 66 6c 69 70 60 5d 28 23 2d 66 6c 69 ).`(op.trans)`.*.[`-flip`](#-fli
5f8a0 70 2d 66 6e 29 20 60 28 66 6e 29 60 0a 2a 20 5b 60 2d 72 6f 74 61 74 65 2d 61 72 67 73 60 5d 28 p-fn).`(fn)`.*.[`-rotate-args`](
5f8c0 23 2d 72 6f 74 61 74 65 2d 61 72 67 73 2d 6e 2d 66 6e 29 20 60 28 6e 20 66 6e 29 60 0a 2a 20 5b #-rotate-args-n-fn).`(n.fn)`.*.[
5f8e0 60 2d 63 6f 6e 73 74 60 5d 28 23 2d 63 6f 6e 73 74 2d 63 29 20 60 28 63 29 60 0a 2a 20 5b 60 2d `-const`](#-const-c).`(c)`.*.[`-
5f900 63 75 74 60 5d 28 23 2d 63 75 74 2d 72 65 73 74 2d 70 61 72 61 6d 73 29 20 60 28 26 72 65 73 74 cut`](#-cut-rest-params).`(&rest
5f920 20 70 61 72 61 6d 73 29 60 0a 2a 20 5b 60 2d 6e 6f 74 60 5d 28 23 2d 6e 6f 74 2d 70 72 65 64 29 .params)`.*.[`-not`](#-not-pred)
5f940 20 60 28 70 72 65 64 29 60 0a 2a 20 5b 60 2d 6f 72 66 6e 60 5d 28 23 2d 6f 72 66 6e 2d 72 65 73 .`(pred)`.*.[`-orfn`](#-orfn-res
5f960 74 2d 70 72 65 64 73 29 20 60 28 26 72 65 73 74 20 70 72 65 64 73 29 60 0a 2a 20 5b 60 2d 61 6e t-preds).`(&rest.preds)`.*.[`-an
5f980 64 66 6e 60 5d 28 23 2d 61 6e 64 66 6e 2d 72 65 73 74 2d 70 72 65 64 73 29 20 60 28 26 72 65 73 dfn`](#-andfn-rest-preds).`(&res
5f9a0 74 20 70 72 65 64 73 29 60 0a 2a 20 5b 60 2d 69 74 65 72 61 74 65 66 6e 60 5d 28 23 2d 69 74 65 t.preds)`.*.[`-iteratefn`](#-ite
5f9c0 72 61 74 65 66 6e 2d 66 6e 2d 6e 29 20 60 28 66 6e 20 6e 29 60 0a 2a 20 5b 60 2d 66 69 78 66 6e ratefn-fn-n).`(fn.n)`.*.[`-fixfn
5f9e0 60 5d 28 23 2d 66 69 78 66 6e 2d 66 6e 2d 6f 70 74 69 6f 6e 61 6c 2d 65 71 75 61 6c 2d 74 65 73 `](#-fixfn-fn-optional-equal-tes
5fa00 74 2d 68 61 6c 74 2d 74 65 73 74 29 20 60 28 66 6e 20 26 6f 70 74 69 6f 6e 61 6c 20 65 71 75 61 t-halt-test).`(fn.&optional.equa
5fa20 6c 2d 74 65 73 74 20 68 61 6c 74 2d 74 65 73 74 29 60 0a 2a 20 5b 60 2d 70 72 6f 64 66 6e 60 5d l-test.halt-test)`.*.[`-prodfn`]
5fa40 28 23 2d 70 72 6f 64 66 6e 2d 72 65 73 74 2d 66 6e 73 29 20 60 28 26 72 65 73 74 20 66 6e 73 29 (#-prodfn-rest-fns).`(&rest.fns)
5fa60 60 0a 0a 23 23 20 4d 61 70 73 0a 0a 46 75 6e 63 74 69 6f 6e 73 20 69 6e 20 74 68 69 73 20 63 61 `..##.Maps..Functions.in.this.ca
5fa80 74 65 67 6f 72 79 20 74 61 6b 65 20 61 20 74 72 61 6e 73 66 6f 72 6d 69 6e 67 20 66 75 6e 63 74 tegory.take.a.transforming.funct
5faa0 69 6f 6e 2c 20 77 68 69 63 68 0a 69 73 20 74 68 65 6e 20 61 70 70 6c 69 65 64 20 73 65 71 75 65 ion,.which.is.then.applied.seque
5fac0 6e 74 69 61 6c 6c 79 20 74 6f 20 65 61 63 68 20 6f 72 20 73 65 6c 65 63 74 65 64 20 65 6c 65 6d ntially.to.each.or.selected.elem
5fae0 65 6e 74 73 20 6f 66 20 74 68 65 0a 69 6e 70 75 74 20 6c 69 73 74 2e 20 20 54 68 65 20 72 65 73 ents.of.the.input.list...The.res
5fb00 75 6c 74 73 20 61 72 65 20 63 6f 6c 6c 65 63 74 65 64 20 69 6e 20 6f 72 64 65 72 20 61 6e 64 20 ults.are.collected.in.order.and.
5fb20 72 65 74 75 72 6e 65 64 20 61 73 20 61 0a 6e 65 77 20 6c 69 73 74 2e 0a 0a 23 23 23 23 20 2d 6d returned.as.a.new.list...####.-m
5fb40 61 70 20 60 28 66 6e 20 6c 69 73 74 29 60 0a 0a 41 70 70 6c 79 20 60 66 6e 60 20 74 6f 20 65 61 ap.`(fn.list)`..Apply.`fn`.to.ea
5fb60 63 68 20 69 74 65 6d 20 69 6e 20 60 6c 69 73 74 60 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 ch.item.in.`list`.and.return.the
5fb80 20 6c 69 73 74 20 6f 66 20 72 65 73 75 6c 74 73 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e .list.of.results...This.function
5fba0 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 6d 's.anaphoric.counterpart.is.`--m
5fbc0 61 70 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 6d 61 70 20 28 6c 61 6d 62 64 61 20 28 6e 75 6d 29 20 ap`...```el.(-map.(lambda.(num).
5fbe0 28 2a 20 6e 75 6d 20 6e 75 6d 29 29 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 (*.num.num)).'(1.2.3.4)).;;.=>.(
5fc00 31 20 34 20 39 20 31 36 29 0a 28 2d 6d 61 70 20 23 27 31 2b 20 27 28 31 20 32 20 33 20 34 29 29 1.4.9.16).(-map.#'1+.'(1.2.3.4))
5fc20 20 3b 3b 20 3d 3e 20 28 32 20 33 20 34 20 35 29 0a 28 2d 2d 6d 61 70 20 28 2a 20 69 74 20 69 74 .;;.=>.(2.3.4.5).(--map.(*.it.it
5fc40 29 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 31 20 34 20 39 20 31 36 29 0a 60 ).'(1.2.3.4)).;;.=>.(1.4.9.16).`
5fc60 60 60 0a 0a 23 23 23 23 20 2d 6d 61 70 2d 77 68 65 6e 20 60 28 70 72 65 64 20 72 65 70 20 6c 69 ``..####.-map-when.`(pred.rep.li
5fc80 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 77 68 65 72 65 20 74 68 st)`..Return.a.new.list.where.th
5fca0 65 20 65 6c 65 6d 65 6e 74 73 20 69 6e 20 60 6c 69 73 74 60 20 74 68 61 74 20 64 6f 20 6e 6f 74 e.elements.in.`list`.that.do.not
5fcc0 20 6d 61 74 63 68 20 74 68 65 20 60 70 72 65 64 60 20 66 75 6e 63 74 69 6f 6e 0a 61 72 65 20 75 .match.the.`pred`.function.are.u
5fce0 6e 63 68 61 6e 67 65 64 2c 20 61 6e 64 20 77 68 65 72 65 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 nchanged,.and.where.the.elements
5fd00 20 69 6e 20 60 6c 69 73 74 60 20 74 68 61 74 20 64 6f 20 6d 61 74 63 68 20 74 68 65 20 60 70 72 .in.`list`.that.do.match.the.`pr
5fd20 65 64 60 20 66 75 6e 63 74 69 6f 6e 20 61 72 65 20 6d 61 70 70 65 64 0a 74 68 72 6f 75 67 68 20 ed`.function.are.mapped.through.
5fd40 74 68 65 20 60 72 65 70 60 20 66 75 6e 63 74 69 6f 6e 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 72 65 the.`rep`.function...Alias:.`-re
5fd60 70 6c 61 63 65 2d 77 68 65 72 65 60 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 75 70 64 61 74 place-where`..See.also:.[`-updat
5fd80 65 2d 61 74 60 5d 28 23 2d 75 70 64 61 74 65 2d 61 74 2d 6e 2d 66 75 6e 63 2d 6c 69 73 74 29 0a e-at`](#-update-at-n-func-list).
5fda0 0a 60 60 60 65 6c 0a 28 2d 6d 61 70 2d 77 68 65 6e 20 27 65 76 65 6e 3f 20 27 73 71 75 61 72 65 .```el.(-map-when.'even?.'square
5fdc0 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 31 20 34 20 33 20 31 36 29 0a 28 2d .'(1.2.3.4)).;;.=>.(1.4.3.16).(-
5fde0 2d 6d 61 70 2d 77 68 65 6e 20 28 3e 20 69 74 20 32 29 20 28 2a 20 69 74 20 69 74 29 20 27 28 31 -map-when.(>.it.2).(*.it.it).'(1
5fe00 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 39 20 31 36 29 0a 28 2d 2d 6d 61 70 .2.3.4)).;;.=>.(1.2.9.16).(--map
5fe20 2d 77 68 65 6e 20 28 3d 20 69 74 20 32 29 20 31 37 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b -when.(=.it.2).17.'(1.2.3.4)).;;
5fe40 20 3d 3e 20 28 31 20 31 37 20 33 20 34 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 6d 61 70 2d 66 69 .=>.(1.17.3.4).```..####.-map-fi
5fe60 72 73 74 20 60 28 70 72 65 64 20 72 65 70 20 6c 69 73 74 29 60 0a 0a 52 65 70 6c 61 63 65 20 66 rst.`(pred.rep.list)`..Replace.f
5fe80 69 72 73 74 20 69 74 65 6d 20 69 6e 20 60 6c 69 73 74 60 20 73 61 74 69 73 66 79 69 6e 67 20 60 irst.item.in.`list`.satisfying.`
5fea0 70 72 65 64 60 20 77 69 74 68 20 72 65 73 75 6c 74 20 6f 66 20 60 72 65 70 60 20 63 61 6c 6c 65 pred`.with.result.of.`rep`.calle
5fec0 64 20 6f 6e 20 74 68 69 73 20 69 74 65 6d 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 6d 61 d.on.this.item...See.also:.[`-ma
5fee0 70 2d 77 68 65 6e 60 5d 28 23 2d 6d 61 70 2d 77 68 65 6e 2d 70 72 65 64 2d 72 65 70 2d 6c 69 73 p-when`](#-map-when-pred-rep-lis
5ff00 74 29 2c 20 5b 60 2d 72 65 70 6c 61 63 65 2d 66 69 72 73 74 60 5d 28 23 2d 72 65 70 6c 61 63 65 t),.[`-replace-first`](#-replace
5ff20 2d 66 69 72 73 74 2d 6f 6c 64 2d 6e 65 77 2d 6c 69 73 74 29 0a 0a 60 60 60 65 6c 0a 28 2d 6d 61 -first-old-new-list)..```el.(-ma
5ff40 70 2d 66 69 72 73 74 20 27 65 76 65 6e 3f 20 27 73 71 75 61 72 65 20 27 28 31 20 32 20 33 20 34 p-first.'even?.'square.'(1.2.3.4
5ff60 29 29 20 3b 3b 20 3d 3e 20 28 31 20 34 20 33 20 34 29 0a 28 2d 2d 6d 61 70 2d 66 69 72 73 74 20 )).;;.=>.(1.4.3.4).(--map-first.
5ff80 28 3e 20 69 74 20 32 29 20 28 2a 20 69 74 20 69 74 29 20 27 28 31 20 32 20 33 20 34 29 29 20 3b (>.it.2).(*.it.it).'(1.2.3.4)).;
5ffa0 3b 20 3d 3e 20 28 31 20 32 20 39 20 34 29 0a 28 2d 2d 6d 61 70 2d 66 69 72 73 74 20 28 3d 20 69 ;.=>.(1.2.9.4).(--map-first.(=.i
5ffc0 74 20 32 29 20 31 37 20 27 28 31 20 32 20 33 20 32 29 29 20 3b 3b 20 3d 3e 20 28 31 20 31 37 20 t.2).17.'(1.2.3.2)).;;.=>.(1.17.
5ffe0 33 20 32 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 6d 61 70 2d 6c 61 73 74 20 60 28 70 72 65 64 20 3.2).```..####.-map-last.`(pred.
60000 72 65 70 20 6c 69 73 74 29 60 0a 0a 52 65 70 6c 61 63 65 20 6c 61 73 74 20 69 74 65 6d 20 69 6e rep.list)`..Replace.last.item.in
60020 20 60 6c 69 73 74 60 20 73 61 74 69 73 66 79 69 6e 67 20 60 70 72 65 64 60 20 77 69 74 68 20 72 .`list`.satisfying.`pred`.with.r
60040 65 73 75 6c 74 20 6f 66 20 60 72 65 70 60 20 63 61 6c 6c 65 64 20 6f 6e 20 74 68 69 73 20 69 74 esult.of.`rep`.called.on.this.it
60060 65 6d 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 6d 61 70 2d 77 68 65 6e 60 5d 28 23 2d 6d em...See.also:.[`-map-when`](#-m
60080 61 70 2d 77 68 65 6e 2d 70 72 65 64 2d 72 65 70 2d 6c 69 73 74 29 2c 20 5b 60 2d 72 65 70 6c 61 ap-when-pred-rep-list),.[`-repla
600a0 63 65 2d 6c 61 73 74 60 5d 28 23 2d 72 65 70 6c 61 63 65 2d 6c 61 73 74 2d 6f 6c 64 2d 6e 65 77 ce-last`](#-replace-last-old-new
600c0 2d 6c 69 73 74 29 0a 0a 60 60 60 65 6c 0a 28 2d 6d 61 70 2d 6c 61 73 74 20 27 65 76 65 6e 3f 20 -list)..```el.(-map-last.'even?.
600e0 27 73 71 75 61 72 65 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 'square.'(1.2.3.4)).;;.=>.(1.2.3
60100 20 31 36 29 0a 28 2d 2d 6d 61 70 2d 6c 61 73 74 20 28 3e 20 69 74 20 32 29 20 28 2a 20 69 74 20 .16).(--map-last.(>.it.2).(*.it.
60120 69 74 29 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 20 31 36 29 it).'(1.2.3.4)).;;.=>.(1.2.3.16)
60140 0a 28 2d 2d 6d 61 70 2d 6c 61 73 74 20 28 3d 20 69 74 20 32 29 20 31 37 20 27 28 31 20 32 20 33 .(--map-last.(=.it.2).17.'(1.2.3
60160 20 32 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 20 31 37 29 0a 60 60 60 0a 0a 23 23 23 23 20 .2)).;;.=>.(1.2.3.17).```..####.
60180 2d 6d 61 70 2d 69 6e 64 65 78 65 64 20 60 28 66 6e 20 6c 69 73 74 29 60 0a 0a 41 70 70 6c 79 20 -map-indexed.`(fn.list)`..Apply.
601a0 60 66 6e 60 20 74 6f 20 65 61 63 68 20 69 6e 64 65 78 20 61 6e 64 20 69 74 65 6d 20 69 6e 20 60 `fn`.to.each.index.and.item.in.`
601c0 6c 69 73 74 60 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 20 6c 69 73 74 20 6f 66 20 72 65 73 list`.and.return.the.list.of.res
601e0 75 6c 74 73 2e 0a 54 68 69 73 20 69 73 20 6c 69 6b 65 20 5b 60 2d 6d 61 70 60 5d 28 23 2d 6d 61 ults..This.is.like.[`-map`](#-ma
60200 70 2d 66 6e 2d 6c 69 73 74 29 2c 20 62 75 74 20 60 66 6e 60 20 74 61 6b 65 73 20 74 77 6f 20 61 p-fn-list),.but.`fn`.takes.two.a
60220 72 67 75 6d 65 6e 74 73 3a 20 74 68 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 0a 63 75 72 72 65 rguments:.the.index.of.the.curre
60240 6e 74 20 65 6c 65 6d 65 6e 74 20 77 69 74 68 69 6e 20 60 6c 69 73 74 60 2c 20 61 6e 64 20 74 68 nt.element.within.`list`,.and.th
60260 65 20 65 6c 65 6d 65 6e 74 20 69 74 73 65 6c 66 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e e.element.itself...This.function
60280 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 6d 's.anaphoric.counterpart.is.`--m
602a0 61 70 2d 69 6e 64 65 78 65 64 60 2e 0a 0a 46 6f 72 20 61 20 73 69 64 65 2d 65 66 66 65 63 74 69 ap-indexed`...For.a.side-effecti
602c0 6e 67 20 76 61 72 69 61 6e 74 2c 20 73 65 65 20 61 6c 73 6f 20 5b 60 2d 65 61 63 68 2d 69 6e 64 ng.variant,.see.also.[`-each-ind
602e0 65 78 65 64 60 5d 28 23 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 2d 6c 69 73 74 2d 66 6e 29 2e 0a exed`](#-each-indexed-list-fn)..
60300 0a 60 60 60 65 6c 0a 28 2d 6d 61 70 2d 69 6e 64 65 78 65 64 20 28 6c 61 6d 62 64 61 20 28 69 6e .```el.(-map-indexed.(lambda.(in
60320 64 65 78 20 69 74 65 6d 29 20 28 2d 20 69 74 65 6d 20 69 6e 64 65 78 29 29 20 27 28 31 20 32 20 dex.item).(-.item.index)).'(1.2.
60340 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 31 20 31 20 31 20 31 29 0a 28 2d 2d 6d 61 70 2d 69 6e 64 3.4)).;;.=>.(1.1.1.1).(--map-ind
60360 65 78 65 64 20 28 2d 20 69 74 20 69 74 2d 69 6e 64 65 78 29 20 27 28 31 20 32 20 33 20 34 29 29 exed.(-.it.it-index).'(1.2.3.4))
60380 20 3b 3b 20 3d 3e 20 28 31 20 31 20 31 20 31 29 0a 28 2d 6d 61 70 2d 69 6e 64 65 78 65 64 20 23 .;;.=>.(1.1.1.1).(-map-indexed.#
603a0 27 2a 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 30 20 32 20 36 20 31 32 29 0a '*.'(1.2.3.4)).;;.=>.(0.2.6.12).
603c0 60 60 60 0a 0a 23 23 23 23 20 2d 61 6e 6e 6f 74 61 74 65 20 60 28 66 6e 20 6c 69 73 74 29 60 0a ```..####.-annotate.`(fn.list)`.
603e0 0a 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 63 6f 6e 73 20 63 65 6c 6c 73 20 77 68 65 .Return.a.list.of.cons.cells.whe
60400 72 65 20 65 61 63 68 20 63 65 6c 6c 20 69 73 20 60 66 6e 60 20 61 70 70 6c 69 65 64 20 74 6f 20 re.each.cell.is.`fn`.applied.to.
60420 65 61 63 68 0a 65 6c 65 6d 65 6e 74 20 6f 66 20 60 6c 69 73 74 60 20 70 61 69 72 65 64 20 77 69 each.element.of.`list`.paired.wi
60440 74 68 20 74 68 65 20 75 6e 6d 6f 64 69 66 69 65 64 20 65 6c 65 6d 65 6e 74 20 6f 66 20 60 6c 69 th.the.unmodified.element.of.`li
60460 73 74 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 61 6e 6e 6f 74 61 74 65 20 27 31 2b 20 27 28 31 20 32 st`...```el.(-annotate.'1+.'(1.2
60480 20 33 29 29 20 3b 3b 20 3d 3e 20 28 28 32 20 2e 20 31 29 20 28 33 20 2e 20 32 29 20 28 34 20 2e .3)).;;.=>.((2...1).(3...2).(4..
604a0 20 33 29 29 0a 28 2d 61 6e 6e 6f 74 61 74 65 20 27 6c 65 6e 67 74 68 20 27 28 28 22 68 22 20 22 .3)).(-annotate.'length.'(("h"."
604c0 65 22 20 22 6c 22 20 22 6c 22 20 22 6f 22 29 20 28 22 68 65 6c 6c 6f 22 20 22 77 6f 72 6c 64 22 e"."l"."l"."o").("hello"."world"
604e0 29 29 29 20 3b 3b 20 3d 3e 20 28 28 35 20 22 68 22 20 22 65 22 20 22 6c 22 20 22 6c 22 20 22 6f ))).;;.=>.((5."h"."e"."l"."l"."o
60500 22 29 20 28 32 20 22 68 65 6c 6c 6f 22 20 22 77 6f 72 6c 64 22 29 29 0a 28 2d 2d 61 6e 6e 6f 74 ").(2."hello"."world")).(--annot
60520 61 74 65 20 28 3c 20 31 20 69 74 29 20 27 28 30 20 31 20 32 20 33 29 29 20 3b 3b 20 3d 3e 20 28 ate.(<.1.it).'(0.1.2.3)).;;.=>.(
60540 28 6e 69 6c 20 2e 20 30 29 20 28 6e 69 6c 20 2e 20 31 29 20 28 74 20 2e 20 32 29 20 28 74 20 2e (nil...0).(nil...1).(t...2).(t..
60560 20 33 29 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 73 70 6c 69 63 65 20 60 28 70 72 65 64 20 66 75 .3)).```..####.-splice.`(pred.fu
60580 6e 20 6c 69 73 74 29 60 0a 0a 53 70 6c 69 63 65 20 6c 69 73 74 73 20 67 65 6e 65 72 61 74 65 64 n.list)`..Splice.lists.generated
605a0 20 62 79 20 60 66 75 6e 60 20 69 6e 20 70 6c 61 63 65 20 6f 66 20 65 6c 65 6d 65 6e 74 73 20 6d .by.`fun`.in.place.of.elements.m
605c0 61 74 63 68 69 6e 67 20 60 70 72 65 64 60 20 69 6e 20 60 6c 69 73 74 60 2e 0a 0a 60 66 75 6e 60 atching.`pred`.in.`list`...`fun`
605e0 20 74 61 6b 65 73 20 74 68 65 20 65 6c 65 6d 65 6e 74 20 6d 61 74 63 68 69 6e 67 20 60 70 72 65 .takes.the.element.matching.`pre
60600 64 60 20 61 73 20 69 6e 70 75 74 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 20 d`.as.input...This.function.can.
60620 62 65 20 75 73 65 64 20 61 73 20 72 65 70 6c 61 63 65 6d 65 6e 74 20 66 6f 72 20 60 2c 40 60 20 be.used.as.replacement.for.`,@`.
60640 69 6e 20 63 61 73 65 20 79 6f 75 0a 6e 65 65 64 20 74 6f 20 73 70 6c 69 63 65 20 73 65 76 65 72 in.case.you.need.to.splice.sever
60660 61 6c 20 6c 69 73 74 73 20 61 74 20 6d 61 72 6b 65 64 20 70 6f 73 69 74 69 6f 6e 73 20 28 66 6f al.lists.at.marked.positions.(fo
60680 72 20 65 78 61 6d 70 6c 65 0a 77 69 74 68 20 6b 65 79 77 6f 72 64 73 29 2e 0a 0a 53 65 65 20 61 r.example.with.keywords)...See.a
606a0 6c 73 6f 3a 20 5b 60 2d 73 70 6c 69 63 65 2d 6c 69 73 74 60 5d 28 23 2d 73 70 6c 69 63 65 2d 6c lso:.[`-splice-list`](#-splice-l
606c0 69 73 74 2d 70 72 65 64 2d 6e 65 77 2d 6c 69 73 74 2d 6c 69 73 74 29 2c 20 5b 60 2d 69 6e 73 65 ist-pred-new-list-list),.[`-inse
606e0 72 74 2d 61 74 60 5d 28 23 2d 69 6e 73 65 72 74 2d 61 74 2d 6e 2d 78 2d 6c 69 73 74 29 0a 0a 60 rt-at`](#-insert-at-n-x-list)..`
60700 60 60 65 6c 0a 28 2d 73 70 6c 69 63 65 20 27 65 76 65 6e 3f 20 28 6c 61 6d 62 64 61 20 28 78 29 ``el.(-splice.'even?.(lambda.(x)
60720 20 28 6c 69 73 74 20 78 20 78 29 29 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 .(list.x.x)).'(1.2.3.4)).;;.=>.(
60740 31 20 32 20 32 20 33 20 34 20 34 29 0a 28 2d 2d 73 70 6c 69 63 65 20 27 74 20 28 6c 69 73 74 20 1.2.2.3.4.4).(--splice.'t.(list.
60760 69 74 20 69 74 29 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 31 20 31 20 32 20 it.it).'(1.2.3.4)).;;.=>.(1.1.2.
60780 32 20 33 20 33 20 34 20 34 29 0a 28 2d 2d 73 70 6c 69 63 65 20 28 65 71 75 61 6c 20 69 74 20 3a 2.3.3.4.4).(--splice.(equal.it.:
607a0 6d 61 67 69 63 29 20 27 28 28 6c 69 73 74 20 6f 66 29 20 28 6d 61 67 69 63 61 6c 29 20 28 63 6f magic).'((list.of).(magical).(co
607c0 64 65 29 29 20 27 28 28 66 6f 6f 29 20 28 62 61 72 29 20 3a 6d 61 67 69 63 20 28 62 61 7a 29 29 de)).'((foo).(bar).:magic.(baz))
607e0 29 20 3b 3b 20 3d 3e 20 28 28 66 6f 6f 29 20 28 62 61 72 29 20 28 6c 69 73 74 20 6f 66 29 20 28 ).;;.=>.((foo).(bar).(list.of).(
60800 6d 61 67 69 63 61 6c 29 20 28 63 6f 64 65 29 20 28 62 61 7a 29 29 0a 60 60 60 0a 0a 23 23 23 23 magical).(code).(baz)).```..####
60820 20 2d 73 70 6c 69 63 65 2d 6c 69 73 74 20 60 28 70 72 65 64 20 6e 65 77 2d 6c 69 73 74 20 6c 69 .-splice-list.`(pred.new-list.li
60840 73 74 29 60 0a 0a 53 70 6c 69 63 65 20 60 6e 65 77 2d 6c 69 73 74 60 20 69 6e 20 70 6c 61 63 65 st)`..Splice.`new-list`.in.place
60860 20 6f 66 20 65 6c 65 6d 65 6e 74 73 20 6d 61 74 63 68 69 6e 67 20 60 70 72 65 64 60 20 69 6e 20 .of.elements.matching.`pred`.in.
60880 60 6c 69 73 74 60 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 73 70 6c 69 63 65 60 5d 28 23 `list`...See.also:.[`-splice`](#
608a0 2d 73 70 6c 69 63 65 2d 70 72 65 64 2d 66 75 6e 2d 6c 69 73 74 29 2c 20 5b 60 2d 69 6e 73 65 72 -splice-pred-fun-list),.[`-inser
608c0 74 2d 61 74 60 5d 28 23 2d 69 6e 73 65 72 74 2d 61 74 2d 6e 2d 78 2d 6c 69 73 74 29 0a 0a 60 60 t-at`](#-insert-at-n-x-list)..``
608e0 60 65 6c 0a 28 2d 73 70 6c 69 63 65 2d 6c 69 73 74 20 27 6b 65 79 77 6f 72 64 70 20 27 28 61 20 `el.(-splice-list.'keywordp.'(a.
60900 62 20 63 29 20 27 28 31 20 3a 66 6f 6f 20 32 29 29 20 3b 3b 20 3d 3e 20 28 31 20 61 20 62 20 63 b.c).'(1.:foo.2)).;;.=>.(1.a.b.c
60920 20 32 29 0a 28 2d 73 70 6c 69 63 65 2d 6c 69 73 74 20 27 6b 65 79 77 6f 72 64 70 20 6e 69 6c 20 .2).(-splice-list.'keywordp.nil.
60940 27 28 31 20 3a 66 6f 6f 20 32 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 29 0a 28 2d 2d 73 70 6c 69 '(1.:foo.2)).;;.=>.(1.2).(--spli
60960 63 65 2d 6c 69 73 74 20 28 6b 65 79 77 6f 72 64 70 20 69 74 29 20 27 28 61 20 62 20 63 29 20 27 ce-list.(keywordp.it).'(a.b.c).'
60980 28 31 20 3a 66 6f 6f 20 32 29 29 20 3b 3b 20 3d 3e 20 28 31 20 61 20 62 20 63 20 32 29 0a 60 60 (1.:foo.2)).;;.=>.(1.a.b.c.2).``
609a0 60 0a 0a 23 23 23 23 20 2d 6d 61 70 63 61 74 20 60 28 66 6e 20 6c 69 73 74 29 60 0a 0a 52 65 74 `..####.-mapcat.`(fn.list)`..Ret
609c0 75 72 6e 20 74 68 65 20 63 6f 6e 63 61 74 65 6e 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 72 65 73 urn.the.concatenation.of.the.res
609e0 75 6c 74 20 6f 66 20 6d 61 70 70 69 6e 67 20 60 66 6e 60 20 6f 76 65 72 20 60 6c 69 73 74 60 2e ult.of.mapping.`fn`.over.`list`.
60a00 0a 54 68 75 73 20 66 75 6e 63 74 69 6f 6e 20 60 66 6e 60 20 73 68 6f 75 6c 64 20 72 65 74 75 72 .Thus.function.`fn`.should.retur
60a20 6e 20 61 20 6c 69 73 74 2e 0a 0a 60 60 60 65 6c 0a 28 2d 6d 61 70 63 61 74 20 27 6c 69 73 74 20 n.a.list...```el.(-mapcat.'list.
60a40 27 28 31 20 32 20 33 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 29 0a 28 2d 6d 61 70 63 61 74 '(1.2.3)).;;.=>.(1.2.3).(-mapcat
60a60 20 28 6c 61 6d 62 64 61 20 28 69 74 65 6d 29 20 28 6c 69 73 74 20 30 20 69 74 65 6d 29 29 20 27 .(lambda.(item).(list.0.item)).'
60a80 28 31 20 32 20 33 29 29 20 3b 3b 20 3d 3e 20 28 30 20 31 20 30 20 32 20 30 20 33 29 0a 28 2d 2d (1.2.3)).;;.=>.(0.1.0.2.0.3).(--
60aa0 6d 61 70 63 61 74 20 28 6c 69 73 74 20 30 20 69 74 29 20 27 28 31 20 32 20 33 29 29 20 3b 3b 20 mapcat.(list.0.it).'(1.2.3)).;;.
60ac0 3d 3e 20 28 30 20 31 20 30 20 32 20 30 20 33 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 63 6f 70 79 =>.(0.1.0.2.0.3).```..####.-copy
60ae0 20 60 28 6c 69 73 74 29 60 0a 0a 43 72 65 61 74 65 20 61 20 73 68 61 6c 6c 6f 77 20 63 6f 70 79 .`(list)`..Create.a.shallow.copy
60b00 20 6f 66 20 60 6c 69 73 74 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 63 6f 70 79 20 27 28 31 20 32 20 .of.`list`...```el.(-copy.'(1.2.
60b20 33 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 29 0a 28 6c 65 74 20 28 28 61 20 27 28 31 20 32 3)).;;.=>.(1.2.3).(let.((a.'(1.2
60b40 20 33 29 29 29 20 28 65 71 20 61 20 28 2d 63 6f 70 79 20 61 29 29 29 20 3b 3b 20 3d 3e 20 6e 69 .3))).(eq.a.(-copy.a))).;;.=>.ni
60b60 6c 0a 60 60 60 0a 0a 23 23 20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 0a 0a 46 75 6e l.```..##.Sublist.selection..Fun
60b80 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 69 6e 67 20 61 20 73 75 62 6c 69 73 74 20 6f 66 20 74 68 ctions.returning.a.sublist.of.th
60ba0 65 20 6f 72 69 67 69 6e 61 6c 20 6c 69 73 74 2e 0a 0a 23 23 23 23 20 2d 66 69 6c 74 65 72 20 60 e.original.list...####.-filter.`
60bc0 28 70 72 65 64 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 (pred.list)`..Return.a.new.list.
60be0 6f 66 20 74 68 65 20 69 74 65 6d 73 20 69 6e 20 60 6c 69 73 74 60 20 66 6f 72 20 77 68 69 63 68 of.the.items.in.`list`.for.which
60c00 20 60 70 72 65 64 60 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 0a 41 6c 69 61 73 3a .`pred`.returns.non-nil...Alias:
60c20 20 60 2d 73 65 6c 65 63 74 60 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 .`-select`...This.function's.ana
60c40 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 66 69 6c 74 65 72 60 phoric.counterpart.is.`--filter`
60c60 2e 0a 0a 46 6f 72 20 73 69 6d 69 6c 61 72 20 6f 70 65 72 61 74 69 6f 6e 73 2c 20 73 65 65 20 61 ...For.similar.operations,.see.a
60c80 6c 73 6f 20 5b 60 2d 6b 65 65 70 60 5d 28 23 2d 6b 65 65 70 2d 66 6e 2d 6c 69 73 74 29 20 61 6e lso.[`-keep`](#-keep-fn-list).an
60ca0 64 20 5b 60 2d 72 65 6d 6f 76 65 60 5d 28 23 2d 72 65 6d 6f 76 65 2d 70 72 65 64 2d 6c 69 73 74 d.[`-remove`](#-remove-pred-list
60cc0 29 2e 0a 0a 60 60 60 65 6c 0a 28 2d 66 69 6c 74 65 72 20 28 6c 61 6d 62 64 61 20 28 6e 75 6d 29 )...```el.(-filter.(lambda.(num)
60ce0 20 28 3d 20 30 20 28 25 20 6e 75 6d 20 32 29 29 29 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b .(=.0.(%.num.2))).'(1.2.3.4)).;;
60d00 20 3d 3e 20 28 32 20 34 29 0a 28 2d 66 69 6c 74 65 72 20 23 27 6e 61 74 6e 75 6d 70 20 27 28 2d .=>.(2.4).(-filter.#'natnump.'(-
60d20 32 20 2d 31 20 30 20 31 20 32 29 29 20 3b 3b 20 3d 3e 20 28 30 20 31 20 32 29 0a 28 2d 2d 66 69 2.-1.0.1.2)).;;.=>.(0.1.2).(--fi
60d40 6c 74 65 72 20 28 3d 20 30 20 28 25 20 69 74 20 32 29 29 20 27 28 31 20 32 20 33 20 34 29 29 20 lter.(=.0.(%.it.2)).'(1.2.3.4)).
60d60 3b 3b 20 3d 3e 20 28 32 20 34 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 72 65 6d 6f 76 65 20 60 28 ;;.=>.(2.4).```..####.-remove.`(
60d80 70 72 65 64 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 6f pred.list)`..Return.a.new.list.o
60da0 66 20 74 68 65 20 69 74 65 6d 73 20 69 6e 20 60 6c 69 73 74 60 20 66 6f 72 20 77 68 69 63 68 20 f.the.items.in.`list`.for.which.
60dc0 60 70 72 65 64 60 20 72 65 74 75 72 6e 73 20 6e 69 6c 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 72 65 `pred`.returns.nil...Alias:.`-re
60de0 6a 65 63 74 60 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 ject`...This.function's.anaphori
60e00 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 72 65 6d 6f 76 65 60 2e 0a 0a 46 6f c.counterpart.is.`--remove`...Fo
60e20 72 20 73 69 6d 69 6c 61 72 20 6f 70 65 72 61 74 69 6f 6e 73 2c 20 73 65 65 20 61 6c 73 6f 20 5b r.similar.operations,.see.also.[
60e40 60 2d 6b 65 65 70 60 5d 28 23 2d 6b 65 65 70 2d 66 6e 2d 6c 69 73 74 29 20 61 6e 64 20 5b 60 2d `-keep`](#-keep-fn-list).and.[`-
60e60 66 69 6c 74 65 72 60 5d 28 23 2d 66 69 6c 74 65 72 2d 70 72 65 64 2d 6c 69 73 74 29 2e 0a 0a 60 filter`](#-filter-pred-list)...`
60e80 60 60 65 6c 0a 28 2d 72 65 6d 6f 76 65 20 28 6c 61 6d 62 64 61 20 28 6e 75 6d 29 20 28 3d 20 30 ``el.(-remove.(lambda.(num).(=.0
60ea0 20 28 25 20 6e 75 6d 20 32 29 29 29 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 .(%.num.2))).'(1.2.3.4)).;;.=>.(
60ec0 31 20 33 29 0a 28 2d 72 65 6d 6f 76 65 20 23 27 6e 61 74 6e 75 6d 70 20 27 28 2d 32 20 2d 31 20 1.3).(-remove.#'natnump.'(-2.-1.
60ee0 30 20 31 20 32 29 29 20 3b 3b 20 3d 3e 20 28 2d 32 20 2d 31 29 0a 28 2d 2d 72 65 6d 6f 76 65 20 0.1.2)).;;.=>.(-2.-1).(--remove.
60f00 28 3d 20 30 20 28 25 20 69 74 20 32 29 29 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e (=.0.(%.it.2)).'(1.2.3.4)).;;.=>
60f20 20 28 31 20 33 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 20 60 .(1.3).```..####.-remove-first.`
60f40 28 70 72 65 64 20 6c 69 73 74 29 60 0a 0a 52 65 6d 6f 76 65 20 74 68 65 20 66 69 72 73 74 20 69 (pred.list)`..Remove.the.first.i
60f60 74 65 6d 20 66 72 6f 6d 20 60 6c 69 73 74 60 20 66 6f 72 20 77 68 69 63 68 20 60 70 72 65 64 60 tem.from.`list`.for.which.`pred`
60f80 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 54 68 69 73 20 69 73 20 61 20 6e 6f 6e 2d .returns.non-nil..This.is.a.non-
60fa0 64 65 73 74 72 75 63 74 69 76 65 20 6f 70 65 72 61 74 69 6f 6e 2c 20 62 75 74 20 6f 6e 6c 79 20 destructive.operation,.but.only.
60fc0 74 68 65 20 66 72 6f 6e 74 20 6f 66 20 60 6c 69 73 74 60 0a 6c 65 61 64 69 6e 67 20 75 70 20 74 the.front.of.`list`.leading.up.t
60fe0 6f 20 74 68 65 20 72 65 6d 6f 76 65 64 20 69 74 65 6d 20 69 73 20 61 20 63 6f 70 79 3b 20 74 68 o.the.removed.item.is.a.copy;.th
61000 65 20 72 65 73 74 20 69 73 20 60 6c 69 73 74 60 27 73 0a 6f 72 69 67 69 6e 61 6c 20 74 61 69 6c e.rest.is.`list`'s.original.tail
61020 2e 20 20 49 66 20 6e 6f 20 69 74 65 6d 20 69 73 20 72 65 6d 6f 76 65 64 2c 20 74 68 65 6e 20 74 ...If.no.item.is.removed,.then.t
61040 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 0a 63 6f 6d 70 6c 65 74 65 20 63 6f 70 79 2e 0a 0a 41 he.result.is.a.complete.copy...A
61060 6c 69 61 73 3a 20 60 2d 72 65 6a 65 63 74 2d 66 69 72 73 74 60 2e 0a 0a 54 68 69 73 20 66 75 6e lias:.`-reject-first`...This.fun
61080 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 ction's.anaphoric.counterpart.is
610a0 20 60 2d 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 60 2e 0a 0a 53 65 65 20 61 6c 73 6f 20 5b 60 2d .`--remove-first`...See.also.[`-
610c0 6d 61 70 2d 66 69 72 73 74 60 5d 28 23 2d 6d 61 70 2d 66 69 72 73 74 2d 70 72 65 64 2d 72 65 70 map-first`](#-map-first-pred-rep
610e0 2d 6c 69 73 74 29 2c 20 5b 60 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 60 5d 28 23 2d 72 65 6d 6f 76 -list),.[`-remove-item`](#-remov
61100 65 2d 69 74 65 6d 2d 69 74 65 6d 2d 6c 69 73 74 29 2c 20 61 6e 64 20 5b 60 2d 72 65 6d 6f 76 65 e-item-item-list),.and.[`-remove
61120 2d 6c 61 73 74 60 5d 28 23 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 2d 70 72 65 64 2d 6c 69 73 74 29 -last`](#-remove-last-pred-list)
61140 2e 0a 0a 60 60 60 65 6c 0a 28 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 20 23 27 6e 61 74 6e 75 6d ...```el.(-remove-first.#'natnum
61160 70 20 27 28 2d 32 20 2d 31 20 30 20 31 20 32 29 29 20 3b 3b 20 3d 3e 20 28 2d 32 20 2d 31 20 31 p.'(-2.-1.0.1.2)).;;.=>.(-2.-1.1
61180 20 32 29 0a 28 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 20 23 27 73 74 72 69 6e 67 70 20 27 28 31 .2).(-remove-first.#'stringp.'(1
611a0 20 32 20 22 66 69 72 73 74 22 20 22 73 65 63 6f 6e 64 22 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 .2."first"."second")).;;.=>.(1.2
611c0 20 22 73 65 63 6f 6e 64 22 29 0a 28 2d 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 20 28 3e 20 69 74 ."second").(--remove-first.(>.it
611e0 20 33 29 20 27 28 31 20 32 20 33 20 34 20 35 20 36 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 .3).'(1.2.3.4.5.6)).;;.=>.(1.2.3
61200 20 35 20 36 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 20 60 28 70 .5.6).```..####.-remove-last.`(p
61220 72 65 64 20 6c 69 73 74 29 60 0a 0a 52 65 6d 6f 76 65 20 74 68 65 20 6c 61 73 74 20 69 74 65 6d red.list)`..Remove.the.last.item
61240 20 66 72 6f 6d 20 60 6c 69 73 74 60 20 66 6f 72 20 77 68 69 63 68 20 60 70 72 65 64 60 20 72 65 .from.`list`.for.which.`pred`.re
61260 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 20 63 turns.non-nil..The.result.is.a.c
61280 6f 70 79 20 6f 66 20 60 6c 69 73 74 60 20 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 77 68 65 74 opy.of.`list`.regardless.of.whet
612a0 68 65 72 20 61 6e 20 65 6c 65 6d 65 6e 74 20 69 73 0a 72 65 6d 6f 76 65 64 2e 0a 0a 41 6c 69 61 her.an.element.is.removed...Alia
612c0 73 3a 20 60 2d 72 65 6a 65 63 74 2d 6c 61 73 74 60 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f s:.`-reject-last`...This.functio
612e0 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d n's.anaphoric.counterpart.is.`--
61300 72 65 6d 6f 76 65 2d 6c 61 73 74 60 2e 0a 0a 53 65 65 20 61 6c 73 6f 20 5b 60 2d 6d 61 70 2d 6c remove-last`...See.also.[`-map-l
61320 61 73 74 60 5d 28 23 2d 6d 61 70 2d 6c 61 73 74 2d 70 72 65 64 2d 72 65 70 2d 6c 69 73 74 29 2c ast`](#-map-last-pred-rep-list),
61340 20 5b 60 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 60 5d 28 23 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 2d .[`-remove-item`](#-remove-item-
61360 69 74 65 6d 2d 6c 69 73 74 29 2c 20 61 6e 64 20 5b 60 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 60 item-list),.and.[`-remove-first`
61380 5d 28 23 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 2d 70 72 65 64 2d 6c 69 73 74 29 2e 0a 0a 60 60 ](#-remove-first-pred-list)...``
613a0 60 65 6c 0a 28 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 20 23 27 6e 61 74 6e 75 6d 70 20 27 28 31 20 `el.(-remove-last.#'natnump.'(1.
613c0 33 20 35 20 34 20 37 20 38 20 31 30 20 2d 31 31 29 29 20 3b 3b 20 3d 3e 20 28 31 20 33 20 35 20 3.5.4.7.8.10.-11)).;;.=>.(1.3.5.
613e0 34 20 37 20 38 20 2d 31 31 29 0a 28 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 20 23 27 73 74 72 69 6e 4.7.8.-11).(-remove-last.#'strin
61400 67 70 20 27 28 31 20 32 20 22 6c 61 73 74 22 20 22 73 65 63 6f 6e 64 22 29 29 20 3b 3b 20 3d 3e gp.'(1.2."last"."second")).;;.=>
61420 20 28 31 20 32 20 22 6c 61 73 74 22 29 0a 28 2d 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 20 28 3e 20 .(1.2."last").(--remove-last.(>.
61440 69 74 20 33 29 20 27 28 31 20 32 20 33 20 34 20 35 20 36 20 37 20 38 20 39 20 31 30 29 29 20 3b it.3).'(1.2.3.4.5.6.7.8.9.10)).;
61460 3b 20 3d 3e 20 28 31 20 32 20 33 20 34 20 35 20 36 20 37 20 38 20 39 29 0a 60 60 60 0a 0a 23 23 ;.=>.(1.2.3.4.5.6.7.8.9).```..##
61480 23 23 20 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 20 60 28 69 74 65 6d 20 6c 69 73 74 29 60 0a 0a 52 ##.-remove-item.`(item.list)`..R
614a0 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 60 6c 69 73 74 60 20 77 69 74 68 20 61 6c 6c 20 eturn.a.copy.of.`list`.with.all.
614c0 6f 63 63 75 72 72 65 6e 63 65 73 20 6f 66 20 60 69 74 65 6d 60 20 72 65 6d 6f 76 65 64 2e 0a 54 occurrences.of.`item`.removed..T
614e0 68 65 20 63 6f 6d 70 61 72 69 73 6f 6e 20 69 73 20 64 6f 6e 65 20 77 69 74 68 20 60 65 71 75 61 he.comparison.is.done.with.`equa
61500 6c 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 20 33 20 27 28 31 20 32 l`...```el.(-remove-item.3.'(1.2
61520 20 33 20 32 20 33 20 34 20 35 20 33 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 32 20 34 20 35 29 .3.2.3.4.5.3)).;;.=>.(1.2.2.4.5)
61540 0a 28 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 20 27 66 6f 6f 20 27 28 66 6f 6f 20 62 61 72 20 62 61 .(-remove-item.'foo.'(foo.bar.ba
61560 7a 20 66 6f 6f 29 29 20 3b 3b 20 3d 3e 20 28 62 61 72 20 62 61 7a 29 0a 28 2d 72 65 6d 6f 76 65 z.foo)).;;.=>.(bar.baz).(-remove
61580 2d 69 74 65 6d 20 22 62 6f 62 22 20 27 28 22 61 6c 69 63 65 22 20 22 62 6f 62 22 20 22 65 76 65 -item."bob".'("alice"."bob"."eve
615a0 22 20 22 62 6f 62 22 29 29 20 3b 3b 20 3d 3e 20 28 22 61 6c 69 63 65 22 20 22 65 76 65 22 29 0a "."bob")).;;.=>.("alice"."eve").
615c0 60 60 60 0a 0a 23 23 23 23 20 2d 6e 6f 6e 2d 6e 69 6c 20 60 28 6c 69 73 74 29 60 0a 0a 52 65 74 ```..####.-non-nil.`(list)`..Ret
615e0 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 60 6c 69 73 74 60 20 77 69 74 68 20 61 6c 6c 20 6e 69 urn.a.copy.of.`list`.with.all.ni
61600 6c 20 69 74 65 6d 73 20 72 65 6d 6f 76 65 64 2e 0a 0a 60 60 60 65 6c 0a 28 2d 6e 6f 6e 2d 6e 69 l.items.removed...```el.(-non-ni
61620 6c 20 27 28 6e 69 6c 20 31 20 6e 69 6c 20 32 20 6e 69 6c 20 6e 69 6c 20 33 20 34 20 6e 69 6c 20 l.'(nil.1.nil.2.nil.nil.3.4.nil.
61640 35 20 6e 69 6c 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 20 34 20 35 29 0a 28 2d 6e 6f 6e 2d 5.nil)).;;.=>.(1.2.3.4.5).(-non-
61660 6e 69 6c 20 27 28 28 6e 69 6c 29 29 29 20 3b 3b 20 3d 3e 20 28 28 6e 69 6c 29 29 0a 28 2d 6e 6f nil.'((nil))).;;.=>.((nil)).(-no
61680 6e 2d 6e 69 6c 20 28 29 29 20 3b 3b 20 3d 3e 20 28 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 73 6c n-nil.()).;;.=>.().```..####.-sl
616a0 69 63 65 20 60 28 6c 69 73 74 20 66 72 6f 6d 20 26 6f 70 74 69 6f 6e 61 6c 20 74 6f 20 73 74 65 ice.`(list.from.&optional.to.ste
616c0 70 29 60 0a 0a 52 65 74 75 72 6e 20 63 6f 70 79 20 6f 66 20 60 6c 69 73 74 60 2c 20 73 74 61 72 p)`..Return.copy.of.`list`,.star
616e0 74 69 6e 67 20 66 72 6f 6d 20 69 6e 64 65 78 20 60 66 72 6f 6d 60 20 74 6f 20 69 6e 64 65 78 20 ting.from.index.`from`.to.index.
61700 60 74 6f 60 2e 0a 0a 60 66 72 6f 6d 60 20 6f 72 20 60 74 6f 60 20 6d 61 79 20 62 65 20 6e 65 67 `to`...`from`.or.`to`.may.be.neg
61720 61 74 69 76 65 2e 20 20 54 68 65 73 65 20 76 61 6c 75 65 73 20 61 72 65 20 74 68 65 6e 20 69 6e ative...These.values.are.then.in
61740 74 65 72 70 72 65 74 65 64 0a 6d 6f 64 75 6c 6f 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 terpreted.modulo.the.length.of.t
61760 68 65 20 6c 69 73 74 2e 0a 0a 49 66 20 60 73 74 65 70 60 20 69 73 20 61 20 6e 75 6d 62 65 72 2c he.list...If.`step`.is.a.number,
61780 20 6f 6e 6c 79 20 65 61 63 68 20 60 73 74 65 70 60 74 68 20 69 74 65 6d 20 69 6e 20 74 68 65 20 .only.each.`step`th.item.in.the.
617a0 72 65 73 75 6c 74 69 6e 67 0a 73 65 63 74 69 6f 6e 20 69 73 20 72 65 74 75 72 6e 65 64 2e 20 20 resulting.section.is.returned...
617c0 44 65 66 61 75 6c 74 73 20 74 6f 20 31 2e 0a 0a 60 60 60 65 6c 0a 28 2d 73 6c 69 63 65 20 27 28 Defaults.to.1...```el.(-slice.'(
617e0 31 20 32 20 33 20 34 20 35 29 20 31 29 20 3b 3b 20 3d 3e 20 28 32 20 33 20 34 20 35 29 0a 28 2d 1.2.3.4.5).1).;;.=>.(2.3.4.5).(-
61800 73 6c 69 63 65 20 27 28 31 20 32 20 33 20 34 20 35 29 20 30 20 33 29 20 3b 3b 20 3d 3e 20 28 31 slice.'(1.2.3.4.5).0.3).;;.=>.(1
61820 20 32 20 33 29 0a 28 2d 73 6c 69 63 65 20 27 28 31 20 32 20 33 20 34 20 35 20 36 20 37 20 38 20 .2.3).(-slice.'(1.2.3.4.5.6.7.8.
61840 39 29 20 31 20 2d 31 20 32 29 20 3b 3b 20 3d 3e 20 28 32 20 34 20 36 20 38 29 0a 60 60 60 0a 0a 9).1.-1.2).;;.=>.(2.4.6.8).```..
61860 23 23 23 23 20 2d 74 61 6b 65 20 60 28 6e 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 ####.-take.`(n.list)`..Return.a.
61880 63 6f 70 79 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 60 6e 60 20 69 74 65 6d 73 20 69 6e 20 60 copy.of.the.first.`n`.items.in.`
618a0 6c 69 73 74 60 2e 0a 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 60 6c 69 73 74 60 20 69 list`..Return.a.copy.of.`list`.i
618c0 66 20 69 74 20 63 6f 6e 74 61 69 6e 73 20 60 6e 60 20 69 74 65 6d 73 20 6f 72 20 66 65 77 65 72 f.it.contains.`n`.items.or.fewer
618e0 2e 0a 52 65 74 75 72 6e 20 6e 69 6c 20 69 66 20 60 6e 60 20 69 73 20 7a 65 72 6f 20 6f 72 20 6c ..Return.nil.if.`n`.is.zero.or.l
61900 65 73 73 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 74 61 6b 65 2d 6c 61 73 74 60 5d 28 23 ess...See.also:.[`-take-last`](#
61920 2d 74 61 6b 65 2d 6c 61 73 74 2d 6e 2d 6c 69 73 74 29 2e 0a 0a 60 60 60 65 6c 0a 28 2d 74 61 6b -take-last-n-list)...```el.(-tak
61940 65 20 33 20 27 28 31 20 32 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 29 0a e.3.'(1.2.3.4.5)).;;.=>.(1.2.3).
61960 28 2d 74 61 6b 65 20 31 37 20 27 28 31 20 32 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 28 31 (-take.17.'(1.2.3.4.5)).;;.=>.(1
61980 20 32 20 33 20 34 20 35 29 0a 28 2d 74 61 6b 65 20 30 20 27 28 31 20 32 20 33 20 34 20 35 29 29 .2.3.4.5).(-take.0.'(1.2.3.4.5))
619a0 20 3b 3b 20 3d 3e 20 28 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 74 61 6b 65 2d 6c 61 73 74 20 60 .;;.=>.().```..####.-take-last.`
619c0 28 6e 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 (n.list)`..Return.a.copy.of.the.
619e0 6c 61 73 74 20 60 6e 60 20 69 74 65 6d 73 20 6f 66 20 60 6c 69 73 74 60 20 69 6e 20 6f 72 64 65 last.`n`.items.of.`list`.in.orde
61a00 72 2e 0a 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 60 6c 69 73 74 60 20 69 66 20 69 74 r..Return.a.copy.of.`list`.if.it
61a20 20 63 6f 6e 74 61 69 6e 73 20 60 6e 60 20 69 74 65 6d 73 20 6f 72 20 66 65 77 65 72 2e 0a 52 65 .contains.`n`.items.or.fewer..Re
61a40 74 75 72 6e 20 6e 69 6c 20 69 66 20 60 6e 60 20 69 73 20 7a 65 72 6f 20 6f 72 20 6c 65 73 73 2e turn.nil.if.`n`.is.zero.or.less.
61a60 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 74 61 6b 65 60 5d 28 23 2d 74 61 6b 65 2d 6e 2d 6c ..See.also:.[`-take`](#-take-n-l
61a80 69 73 74 29 2e 0a 0a 60 60 60 65 6c 0a 28 2d 74 61 6b 65 2d 6c 61 73 74 20 33 20 27 28 31 20 32 ist)...```el.(-take-last.3.'(1.2
61aa0 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 28 33 20 34 20 35 29 0a 28 2d 74 61 6b 65 2d 6c 61 .3.4.5)).;;.=>.(3.4.5).(-take-la
61ac0 73 74 20 31 37 20 27 28 31 20 32 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 st.17.'(1.2.3.4.5)).;;.=>.(1.2.3
61ae0 20 34 20 35 29 0a 28 2d 74 61 6b 65 2d 6c 61 73 74 20 31 20 27 28 31 20 32 20 33 20 34 20 35 29 .4.5).(-take-last.1.'(1.2.3.4.5)
61b00 29 20 3b 3b 20 3d 3e 20 28 35 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 64 72 6f 70 20 60 28 6e 20 ).;;.=>.(5).```..####.-drop.`(n.
61b20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 74 68 65 20 74 61 69 6c 20 28 6e 6f 74 20 61 20 63 list)`..Return.the.tail.(not.a.c
61b40 6f 70 79 29 20 6f 66 20 60 6c 69 73 74 60 20 77 69 74 68 6f 75 74 20 74 68 65 20 66 69 72 73 74 opy).of.`list`.without.the.first
61b60 20 60 6e 60 20 69 74 65 6d 73 2e 0a 52 65 74 75 72 6e 20 6e 69 6c 20 69 66 20 60 6c 69 73 74 60 .`n`.items..Return.nil.if.`list`
61b80 20 63 6f 6e 74 61 69 6e 73 20 60 6e 60 20 69 74 65 6d 73 20 6f 72 20 66 65 77 65 72 2e 0a 52 65 .contains.`n`.items.or.fewer..Re
61ba0 74 75 72 6e 20 60 6c 69 73 74 60 20 69 66 20 60 6e 60 20 69 73 20 7a 65 72 6f 20 6f 72 20 6c 65 turn.`list`.if.`n`.is.zero.or.le
61bc0 73 73 2e 0a 0a 46 6f 72 20 61 6e 6f 74 68 65 72 20 76 61 72 69 61 6e 74 2c 20 73 65 65 20 61 6c ss...For.another.variant,.see.al
61be0 73 6f 20 5b 60 2d 64 72 6f 70 2d 6c 61 73 74 60 5d 28 23 2d 64 72 6f 70 2d 6c 61 73 74 2d 6e 2d so.[`-drop-last`](#-drop-last-n-
61c00 6c 69 73 74 29 2e 0a 0a 60 60 60 65 6c 0a 28 2d 64 72 6f 70 20 33 20 27 28 31 20 32 20 33 20 34 list)...```el.(-drop.3.'(1.2.3.4
61c20 20 35 29 29 20 3b 3b 20 3d 3e 20 28 34 20 35 29 0a 28 2d 64 72 6f 70 20 31 37 20 27 28 31 20 32 .5)).;;.=>.(4.5).(-drop.17.'(1.2
61c40 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 28 29 0a 28 2d 64 72 6f 70 20 30 20 27 28 31 20 32 .3.4.5)).;;.=>.().(-drop.0.'(1.2
61c60 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 20 34 20 35 29 0a 60 60 60 0a 0a .3.4.5)).;;.=>.(1.2.3.4.5).```..
61c80 23 23 23 23 20 2d 64 72 6f 70 2d 6c 61 73 74 20 60 28 6e 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 ####.-drop-last.`(n.list)`..Retu
61ca0 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 60 6c 69 73 74 60 20 77 69 74 68 6f 75 74 20 69 74 73 20 rn.a.copy.of.`list`.without.its.
61cc0 6c 61 73 74 20 60 6e 60 20 69 74 65 6d 73 2e 0a 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 last.`n`.items..Return.a.copy.of
61ce0 20 60 6c 69 73 74 60 20 69 66 20 60 6e 60 20 69 73 20 7a 65 72 6f 20 6f 72 20 6c 65 73 73 2e 0a .`list`.if.`n`.is.zero.or.less..
61d00 52 65 74 75 72 6e 20 6e 69 6c 20 69 66 20 60 6c 69 73 74 60 20 63 6f 6e 74 61 69 6e 73 20 60 6e Return.nil.if.`list`.contains.`n
61d20 60 20 69 74 65 6d 73 20 6f 72 20 66 65 77 65 72 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d `.items.or.fewer...See.also:.[`-
61d40 64 72 6f 70 60 5d 28 23 2d 64 72 6f 70 2d 6e 2d 6c 69 73 74 29 2e 0a 0a 60 60 60 65 6c 0a 28 2d drop`](#-drop-n-list)...```el.(-
61d60 64 72 6f 70 2d 6c 61 73 74 20 33 20 27 28 31 20 32 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 drop-last.3.'(1.2.3.4.5)).;;.=>.
61d80 28 31 20 32 29 0a 28 2d 64 72 6f 70 2d 6c 61 73 74 20 31 37 20 27 28 31 20 32 20 33 20 34 20 35 (1.2).(-drop-last.17.'(1.2.3.4.5
61da0 29 29 20 3b 3b 20 3d 3e 20 28 29 0a 28 2d 64 72 6f 70 2d 6c 61 73 74 20 30 20 27 28 31 20 32 20 )).;;.=>.().(-drop-last.0.'(1.2.
61dc0 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 20 34 20 35 29 0a 60 60 60 0a 0a 23 3.4.5)).;;.=>.(1.2.3.4.5).```..#
61de0 23 23 23 20 2d 74 61 6b 65 2d 77 68 69 6c 65 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 0a 54 ###.-take-while.`(pred.list)`..T
61e00 61 6b 65 20 73 75 63 63 65 73 73 69 76 65 20 69 74 65 6d 73 20 66 72 6f 6d 20 60 6c 69 73 74 60 ake.successive.items.from.`list`
61e20 20 66 6f 72 20 77 68 69 63 68 20 60 70 72 65 64 60 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 .for.which.`pred`.returns.non-ni
61e40 6c 2e 0a 60 70 72 65 64 60 20 69 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 6f 66 20 6f 6e 65 20 61 l..`pred`.is.a.function.of.one.a
61e60 72 67 75 6d 65 6e 74 2e 20 20 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 6f 66 20 74 rgument...Return.a.new.list.of.t
61e80 68 65 0a 73 75 63 63 65 73 73 69 76 65 20 65 6c 65 6d 65 6e 74 73 20 66 72 6f 6d 20 74 68 65 20 he.successive.elements.from.the.
61ea0 73 74 61 72 74 20 6f 66 20 60 6c 69 73 74 60 20 66 6f 72 20 77 68 69 63 68 20 60 70 72 65 64 60 start.of.`list`.for.which.`pred`
61ec0 20 72 65 74 75 72 6e 73 0a 6e 6f 6e 2d 6e 69 6c 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e .returns.non-nil...This.function
61ee0 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 74 's.anaphoric.counterpart.is.`--t
61f00 61 6b 65 2d 77 68 69 6c 65 60 2e 0a 0a 46 6f 72 20 61 6e 6f 74 68 65 72 20 76 61 72 69 61 6e 74 ake-while`...For.another.variant
61f20 2c 20 73 65 65 20 61 6c 73 6f 20 5b 60 2d 64 72 6f 70 2d 77 68 69 6c 65 60 5d 28 23 2d 64 72 6f ,.see.also.[`-drop-while`](#-dro
61f40 70 2d 77 68 69 6c 65 2d 70 72 65 64 2d 6c 69 73 74 29 2e 0a 0a 60 60 60 65 6c 0a 28 2d 74 61 6b p-while-pred-list)...```el.(-tak
61f60 65 2d 77 68 69 6c 65 20 23 27 65 76 65 6e 3f 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d e-while.#'even?.'(1.2.3.4)).;;.=
61f80 3e 20 28 29 0a 28 2d 74 61 6b 65 2d 77 68 69 6c 65 20 23 27 65 76 65 6e 3f 20 27 28 32 20 34 20 >.().(-take-while.#'even?.'(2.4.
61fa0 35 20 36 29 29 20 3b 3b 20 3d 3e 20 28 32 20 34 29 0a 28 2d 2d 74 61 6b 65 2d 77 68 69 6c 65 20 5.6)).;;.=>.(2.4).(--take-while.
61fc0 28 3c 20 69 74 20 34 29 20 27 28 31 20 32 20 33 20 34 20 33 20 32 20 31 29 29 20 3b 3b 20 3d 3e (<.it.4).'(1.2.3.4.3.2.1)).;;.=>
61fe0 20 28 31 20 32 20 33 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 64 72 6f 70 2d 77 68 69 6c 65 20 60 .(1.2.3).```..####.-drop-while.`
62000 28 70 72 65 64 20 6c 69 73 74 29 60 0a 0a 44 72 6f 70 20 73 75 63 63 65 73 73 69 76 65 20 69 74 (pred.list)`..Drop.successive.it
62020 65 6d 73 20 66 72 6f 6d 20 60 6c 69 73 74 60 20 66 6f 72 20 77 68 69 63 68 20 60 70 72 65 64 60 ems.from.`list`.for.which.`pred`
62040 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 60 70 72 65 64 60 20 69 73 20 61 20 66 75 .returns.non-nil..`pred`.is.a.fu
62060 6e 63 74 69 6f 6e 20 6f 66 20 6f 6e 65 20 61 72 67 75 6d 65 6e 74 2e 20 20 52 65 74 75 72 6e 20 nction.of.one.argument...Return.
62080 74 68 65 20 74 61 69 6c 20 28 6e 6f 74 20 61 20 63 6f 70 79 29 0a 6f 66 20 60 6c 69 73 74 60 20 the.tail.(not.a.copy).of.`list`.
620a0 73 74 61 72 74 69 6e 67 20 66 72 6f 6d 20 69 74 73 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 starting.from.its.first.element.
620c0 66 6f 72 20 77 68 69 63 68 20 60 70 72 65 64 60 20 72 65 74 75 72 6e 73 0a 6e 69 6c 2e 0a 0a 54 for.which.`pred`.returns.nil...T
620e0 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 his.function's.anaphoric.counter
62100 70 61 72 74 20 69 73 20 60 2d 2d 64 72 6f 70 2d 77 68 69 6c 65 60 2e 0a 0a 46 6f 72 20 61 6e 6f part.is.`--drop-while`...For.ano
62120 74 68 65 72 20 76 61 72 69 61 6e 74 2c 20 73 65 65 20 61 6c 73 6f 20 5b 60 2d 74 61 6b 65 2d 77 ther.variant,.see.also.[`-take-w
62140 68 69 6c 65 60 5d 28 23 2d 74 61 6b 65 2d 77 68 69 6c 65 2d 70 72 65 64 2d 6c 69 73 74 29 2e 0a hile`](#-take-while-pred-list)..
62160 0a 60 60 60 65 6c 0a 28 2d 64 72 6f 70 2d 77 68 69 6c 65 20 23 27 65 76 65 6e 3f 20 27 28 31 20 .```el.(-drop-while.#'even?.'(1.
62180 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 20 34 29 0a 28 2d 64 72 6f 70 2d 77 2.3.4)).;;.=>.(1.2.3.4).(-drop-w
621a0 68 69 6c 65 20 23 27 65 76 65 6e 3f 20 27 28 32 20 34 20 35 20 36 29 29 20 3b 3b 20 3d 3e 20 28 hile.#'even?.'(2.4.5.6)).;;.=>.(
621c0 35 20 36 29 0a 28 2d 2d 64 72 6f 70 2d 77 68 69 6c 65 20 28 3c 20 69 74 20 34 29 20 27 28 31 20 5.6).(--drop-while.(<.it.4).'(1.
621e0 32 20 33 20 34 20 33 20 32 20 31 29 29 20 3b 3b 20 3d 3e 20 28 34 20 33 20 32 20 31 29 0a 60 60 2.3.4.3.2.1)).;;.=>.(4.3.2.1).``
62200 60 0a 0a 23 23 23 23 20 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 20 60 28 69 6e 64 `..####.-select-by-indices.`(ind
62220 69 63 65 73 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 77 68 6f 73 65 ices.list)`..Return.a.list.whose
62240 20 65 6c 65 6d 65 6e 74 73 20 61 72 65 20 65 6c 65 6d 65 6e 74 73 20 66 72 6f 6d 20 60 6c 69 73 .elements.are.elements.from.`lis
62260 74 60 20 73 65 6c 65 63 74 65 64 0a 61 73 20 60 28 6e 74 68 20 69 20 6c 69 73 74 29 60 20 66 6f t`.selected.as.`(nth.i.list)`.fo
62280 72 20 61 6c 6c 20 69 20 66 72 6f 6d 20 60 69 6e 64 69 63 65 73 60 2e 0a 0a 60 60 60 65 6c 0a 28 r.all.i.from.`indices`...```el.(
622a0 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 20 27 28 34 20 31 30 20 32 20 33 20 36 29 -select-by-indices.'(4.10.2.3.6)
622c0 20 27 28 22 76 22 20 22 65 22 20 22 6c 22 20 22 6f 22 20 22 63 22 20 22 69 22 20 22 72 22 20 22 .'("v"."e"."l"."o"."c"."i"."r"."
622e0 61 22 20 22 70 22 20 22 74 22 20 22 6f 22 20 22 72 22 29 29 20 3b 3b 20 3d 3e 20 28 22 63 22 20 a"."p"."t"."o"."r")).;;.=>.("c".
62300 22 6f 22 20 22 6c 22 20 22 6f 22 20 22 72 22 29 0a 28 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 "o"."l"."o"."r").(-select-by-ind
62320 69 63 65 73 20 27 28 32 20 31 20 30 29 20 27 28 22 61 22 20 22 62 22 20 22 63 22 29 29 20 3b 3b ices.'(2.1.0).'("a"."b"."c")).;;
62340 20 3d 3e 20 28 22 63 22 20 22 62 22 20 22 61 22 29 0a 28 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e .=>.("c"."b"."a").(-select-by-in
62360 64 69 63 65 73 20 27 28 30 20 31 20 32 20 30 20 31 20 33 20 33 20 31 29 20 27 28 22 66 22 20 22 dices.'(0.1.2.0.1.3.3.1).'("f"."
62380 61 22 20 22 72 22 20 22 6c 22 29 29 20 3b 3b 20 3d 3e 20 28 22 66 22 20 22 61 22 20 22 72 22 20 a"."r"."l")).;;.=>.("f"."a"."r".
623a0 22 66 22 20 22 61 22 20 22 6c 22 20 22 6c 22 20 22 61 22 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d "f"."a"."l"."l"."a").```..####.-
623c0 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 73 20 60 28 63 6f 6c 75 6d 6e 73 20 74 61 62 6c 65 29 60 select-columns.`(columns.table)`
623e0 0a 0a 53 65 6c 65 63 74 20 60 63 6f 6c 75 6d 6e 73 60 20 66 72 6f 6d 20 60 74 61 62 6c 65 60 2e ..Select.`columns`.from.`table`.
62400 0a 0a 60 74 61 62 6c 65 60 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 6c 69 73 74 73 20 77 68 65 ..`table`.is.a.list.of.lists.whe
62420 72 65 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 72 65 70 72 65 73 65 6e 74 73 20 6f 6e 65 20 72 re.each.element.represents.one.r
62440 6f 77 2e 0a 49 74 20 69 73 20 61 73 73 75 6d 65 64 20 65 61 63 68 20 72 6f 77 20 68 61 73 20 74 ow..It.is.assumed.each.row.has.t
62460 68 65 20 73 61 6d 65 20 6c 65 6e 67 74 68 2e 0a 0a 45 61 63 68 20 72 6f 77 20 69 73 20 74 72 61 he.same.length...Each.row.is.tra
62480 6e 73 66 6f 72 6d 65 64 20 73 75 63 68 20 74 68 61 74 20 6f 6e 6c 79 20 74 68 65 20 73 70 65 63 nsformed.such.that.only.the.spec
624a0 69 66 69 65 64 20 60 63 6f 6c 75 6d 6e 73 60 20 61 72 65 0a 73 65 6c 65 63 74 65 64 2e 0a 0a 53 ified.`columns`.are.selected...S
624c0 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 60 5d 28 23 2d 73 65 ee.also:.[`-select-column`](#-se
624e0 6c 65 63 74 2d 63 6f 6c 75 6d 6e 2d 63 6f 6c 75 6d 6e 2d 74 61 62 6c 65 29 2c 20 5b 60 2d 73 65 lect-column-column-table),.[`-se
62500 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 60 5d 28 23 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e lect-by-indices`](#-select-by-in
62520 64 69 63 65 73 2d 69 6e 64 69 63 65 73 2d 6c 69 73 74 29 0a 0a 60 60 60 65 6c 0a 28 2d 73 65 6c dices-indices-list)..```el.(-sel
62540 65 63 74 2d 63 6f 6c 75 6d 6e 73 20 27 28 30 20 32 29 20 27 28 28 31 20 32 20 33 29 20 28 61 20 ect-columns.'(0.2).'((1.2.3).(a.
62560 62 20 63 29 20 28 3a 61 20 3a 62 20 3a 63 29 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 33 29 20 28 b.c).(:a.:b.:c))).;;.=>.((1.3).(
62580 61 20 63 29 20 28 3a 61 20 3a 63 29 29 0a 28 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 73 20 27 a.c).(:a.:c)).(-select-columns.'
625a0 28 31 29 20 27 28 28 31 20 32 20 33 29 20 28 61 20 62 20 63 29 20 28 3a 61 20 3a 62 20 3a 63 29 (1).'((1.2.3).(a.b.c).(:a.:b.:c)
625c0 29 29 20 3b 3b 20 3d 3e 20 28 28 32 29 20 28 62 29 20 28 3a 62 29 29 0a 28 2d 73 65 6c 65 63 74 )).;;.=>.((2).(b).(:b)).(-select
625e0 2d 63 6f 6c 75 6d 6e 73 20 6e 69 6c 20 27 28 28 31 20 32 20 33 29 20 28 61 20 62 20 63 29 20 28 -columns.nil.'((1.2.3).(a.b.c).(
62600 3a 61 20 3a 62 20 3a 63 29 29 29 20 3b 3b 20 3d 3e 20 28 6e 69 6c 20 6e 69 6c 20 6e 69 6c 29 0a :a.:b.:c))).;;.=>.(nil.nil.nil).
62620 60 60 60 0a 0a 23 23 23 23 20 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 20 60 28 63 6f 6c 75 6d ```..####.-select-column.`(colum
62640 6e 20 74 61 62 6c 65 29 60 0a 0a 53 65 6c 65 63 74 20 60 63 6f 6c 75 6d 6e 60 20 66 72 6f 6d 20 n.table)`..Select.`column`.from.
62660 60 74 61 62 6c 65 60 2e 0a 0a 60 74 61 62 6c 65 60 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 6c `table`...`table`.is.a.list.of.l
62680 69 73 74 73 20 77 68 65 72 65 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 72 65 70 72 65 73 65 6e ists.where.each.element.represen
626a0 74 73 20 6f 6e 65 20 72 6f 77 2e 0a 49 74 20 69 73 20 61 73 73 75 6d 65 64 20 65 61 63 68 20 72 ts.one.row..It.is.assumed.each.r
626c0 6f 77 20 68 61 73 20 74 68 65 20 73 61 6d 65 20 6c 65 6e 67 74 68 2e 0a 0a 54 68 65 20 73 69 6e ow.has.the.same.length...The.sin
626e0 67 6c 65 20 73 65 6c 65 63 74 65 64 20 63 6f 6c 75 6d 6e 20 69 73 20 72 65 74 75 72 6e 65 64 20 gle.selected.column.is.returned.
62700 61 73 20 61 20 6c 69 73 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 73 65 6c 65 63 74 2d as.a.list...See.also:.[`-select-
62720 63 6f 6c 75 6d 6e 73 60 5d 28 23 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 73 2d 63 6f 6c 75 6d columns`](#-select-columns-colum
62740 6e 73 2d 74 61 62 6c 65 29 2c 20 5b 60 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 60 ns-table),.[`-select-by-indices`
62760 5d 28 23 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 2d 69 6e 64 69 63 65 73 2d 6c 69 ](#-select-by-indices-indices-li
62780 73 74 29 0a 0a 60 60 60 65 6c 0a 28 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 20 31 20 27 28 28 st)..```el.(-select-column.1.'((
627a0 31 20 32 20 33 29 20 28 61 20 62 20 63 29 20 28 3a 61 20 3a 62 20 3a 63 29 29 29 20 3b 3b 20 3d 1.2.3).(a.b.c).(:a.:b.:c))).;;.=
627c0 3e 20 28 32 20 62 20 3a 62 29 0a 60 60 60 0a 0a 23 23 20 4c 69 73 74 20 74 6f 20 6c 69 73 74 0a >.(2.b.:b).```..##.List.to.list.
627e0 0a 46 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 69 6e 67 20 61 20 6d 6f 64 69 66 69 65 64 20 .Functions.returning.a.modified.
62800 63 6f 70 79 20 6f 66 20 74 68 65 20 69 6e 70 75 74 20 6c 69 73 74 2e 0a 0a 23 23 23 23 20 2d 6b copy.of.the.input.list...####.-k
62820 65 65 70 20 60 28 66 6e 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 eep.`(fn.list)`..Return.a.new.li
62840 73 74 20 6f 66 20 74 68 65 20 6e 6f 6e 2d 6e 69 6c 20 72 65 73 75 6c 74 73 20 6f 66 20 61 70 70 st.of.the.non-nil.results.of.app
62860 6c 79 69 6e 67 20 60 66 6e 60 20 74 6f 20 65 61 63 68 20 69 74 65 6d 20 69 6e 20 60 6c 69 73 74 lying.`fn`.to.each.item.in.`list
62880 60 2e 0a 4c 69 6b 65 20 5b 60 2d 66 69 6c 74 65 72 60 5d 28 23 2d 66 69 6c 74 65 72 2d 70 72 65 `..Like.[`-filter`](#-filter-pre
628a0 64 2d 6c 69 73 74 29 2c 20 62 75 74 20 72 65 74 75 72 6e 73 20 74 68 65 20 6e 6f 6e 2d 6e 69 6c d-list),.but.returns.the.non-nil
628c0 20 72 65 73 75 6c 74 73 20 6f 66 20 60 66 6e 60 20 69 6e 73 74 65 61 64 20 6f 66 0a 74 68 65 20 .results.of.`fn`.instead.of.the.
628e0 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 60 6c 69 73 74 60 corresponding.elements.of.`list`
62900 2e 0a 0a 49 74 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 ...Its.anaphoric.counterpart.is.
62920 60 2d 2d 6b 65 65 70 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 6b 65 65 70 20 23 27 63 64 72 20 27 28 `--keep`...```el.(-keep.#'cdr.'(
62940 28 31 20 32 20 33 29 20 28 34 20 35 29 20 28 36 29 29 29 20 3b 3b 20 3d 3e 20 28 28 32 20 33 29 (1.2.3).(4.5).(6))).;;.=>.((2.3)
62960 20 28 35 29 29 0a 28 2d 6b 65 65 70 20 28 6c 61 6d 62 64 61 20 28 6e 29 20 28 61 6e 64 20 28 3e .(5)).(-keep.(lambda.(n).(and.(>
62980 20 6e 20 33 29 20 28 2a 20 31 30 20 6e 29 29 29 20 27 28 31 20 32 20 33 20 34 20 35 20 36 29 29 .n.3).(*.10.n))).'(1.2.3.4.5.6))
629a0 20 3b 3b 20 3d 3e 20 28 34 30 20 35 30 20 36 30 29 0a 28 2d 2d 6b 65 65 70 20 28 61 6e 64 20 28 .;;.=>.(40.50.60).(--keep.(and.(
629c0 3e 20 69 74 20 33 29 20 28 2a 20 31 30 20 69 74 29 29 20 27 28 31 20 32 20 33 20 34 20 35 20 36 >.it.3).(*.10.it)).'(1.2.3.4.5.6
629e0 29 29 20 3b 3b 20 3d 3e 20 28 34 30 20 35 30 20 36 30 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 63 )).;;.=>.(40.50.60).```..####.-c
62a00 6f 6e 63 61 74 20 60 28 26 72 65 73 74 20 6c 69 73 74 73 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 oncat.`(&rest.lists)`..Return.a.
62a20 6e 65 77 20 6c 69 73 74 20 77 69 74 68 20 74 68 65 20 63 6f 6e 63 61 74 65 6e 61 74 69 6f 6e 20 new.list.with.the.concatenation.
62a40 6f 66 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 69 6e 20 74 68 65 20 73 75 70 70 6c 69 65 64 20 of.the.elements.in.the.supplied.
62a60 60 6c 69 73 74 73 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 63 6f 6e 63 61 74 20 27 28 31 29 29 20 3b `lists`...```el.(-concat.'(1)).;
62a80 3b 20 3d 3e 20 28 31 29 0a 28 2d 63 6f 6e 63 61 74 20 27 28 31 29 20 27 28 32 29 29 20 3b 3b 20 ;.=>.(1).(-concat.'(1).'(2)).;;.
62aa0 3d 3e 20 28 31 20 32 29 0a 28 2d 63 6f 6e 63 61 74 20 27 28 31 29 20 27 28 32 20 33 29 20 27 28 =>.(1.2).(-concat.'(1).'(2.3).'(
62ac0 34 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 20 34 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 66 4)).;;.=>.(1.2.3.4).```..####.-f
62ae0 6c 61 74 74 65 6e 20 60 28 6c 29 60 0a 0a 54 61 6b 65 20 61 20 6e 65 73 74 65 64 20 6c 69 73 74 latten.`(l)`..Take.a.nested.list
62b00 20 60 6c 60 20 61 6e 64 20 72 65 74 75 72 6e 20 69 74 73 20 63 6f 6e 74 65 6e 74 73 20 61 73 20 .`l`.and.return.its.contents.as.
62b20 61 20 73 69 6e 67 6c 65 2c 20 66 6c 61 74 20 6c 69 73 74 2e 0a 0a 4e 6f 74 65 20 74 68 61 74 20 a.single,.flat.list...Note.that.
62b40 62 65 63 61 75 73 65 20 60 6e 69 6c 60 20 72 65 70 72 65 73 65 6e 74 73 20 61 20 6c 69 73 74 20 because.`nil`.represents.a.list.
62b60 6f 66 20 7a 65 72 6f 20 65 6c 65 6d 65 6e 74 73 20 28 61 6e 0a 65 6d 70 74 79 20 6c 69 73 74 29 of.zero.elements.(an.empty.list)
62b80 2c 20 61 6e 79 20 6d 65 6e 74 69 6f 6e 20 6f 66 20 6e 69 6c 20 69 6e 20 60 6c 60 20 77 69 6c 6c ,.any.mention.of.nil.in.`l`.will
62ba0 20 64 69 73 61 70 70 65 61 72 20 61 66 74 65 72 0a 66 6c 61 74 74 65 6e 69 6e 67 2e 20 20 49 66 .disappear.after.flattening...If
62bc0 20 79 6f 75 20 6e 65 65 64 20 74 6f 20 70 72 65 73 65 72 76 65 20 6e 69 6c 73 2c 20 63 6f 6e 73 .you.need.to.preserve.nils,.cons
62be0 69 64 65 72 20 5b 60 2d 66 6c 61 74 74 65 6e 2d 6e 60 5d 28 23 2d 66 6c 61 74 74 65 6e 2d 6e 2d ider.[`-flatten-n`](#-flatten-n-
62c00 6e 75 6d 2d 6c 69 73 74 29 0a 6f 72 20 6d 61 70 20 74 68 65 6d 20 74 6f 20 73 6f 6d 65 20 75 6e num-list).or.map.them.to.some.un
62c20 69 71 75 65 20 73 79 6d 62 6f 6c 20 61 6e 64 20 74 68 65 6e 20 6d 61 70 20 74 68 65 6d 20 62 61 ique.symbol.and.then.map.them.ba
62c40 63 6b 2e 0a 0a 43 6f 6e 73 65 73 20 6f 66 20 74 77 6f 20 61 74 6f 6d 73 20 61 72 65 20 63 6f 6e ck...Conses.of.two.atoms.are.con
62c60 73 69 64 65 72 65 64 20 22 74 65 72 6d 69 6e 61 6c 73 22 2c 20 74 68 61 74 20 69 73 2c 20 74 68 sidered."terminals",.that.is,.th
62c80 65 79 0a 61 72 65 6e 27 74 20 66 6c 61 74 74 65 6e 65 64 20 66 75 72 74 68 65 72 2e 0a 0a 53 65 ey.aren't.flattened.further...Se
62ca0 65 20 61 6c 73 6f 3a 20 5b 60 2d 66 6c 61 74 74 65 6e 2d 6e 60 5d 28 23 2d 66 6c 61 74 74 65 6e e.also:.[`-flatten-n`](#-flatten
62cc0 2d 6e 2d 6e 75 6d 2d 6c 69 73 74 29 0a 0a 60 60 60 65 6c 0a 28 2d 66 6c 61 74 74 65 6e 20 27 28 -n-num-list)..```el.(-flatten.'(
62ce0 28 31 29 29 29 20 3b 3b 20 3d 3e 20 28 31 29 0a 28 2d 66 6c 61 74 74 65 6e 20 27 28 28 31 20 28 (1))).;;.=>.(1).(-flatten.'((1.(
62d00 32 20 33 29 20 28 28 28 34 20 28 35 29 29 29 29 29 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 2.3).(((4.(5))))))).;;.=>.(1.2.3
62d20 20 34 20 35 29 0a 28 2d 66 6c 61 74 74 65 6e 20 27 28 31 20 32 20 28 33 20 2e 20 34 29 29 29 20 .4.5).(-flatten.'(1.2.(3...4))).
62d40 3b 3b 20 3d 3e 20 28 31 20 32 20 28 33 20 2e 20 34 29 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 66 ;;.=>.(1.2.(3...4)).```..####.-f
62d60 6c 61 74 74 65 6e 2d 6e 20 60 28 6e 75 6d 20 6c 69 73 74 29 60 0a 0a 46 6c 61 74 74 65 6e 20 60 latten-n.`(num.list)`..Flatten.`
62d80 6e 75 6d 60 20 6c 65 76 65 6c 73 20 6f 66 20 61 20 6e 65 73 74 65 64 20 60 6c 69 73 74 60 2e 0a num`.levels.of.a.nested.`list`..
62da0 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 66 6c 61 74 74 65 6e 60 5d 28 23 2d 66 6c 61 74 74 65 .See.also:.[`-flatten`](#-flatte
62dc0 6e 2d 6c 29 0a 0a 60 60 60 65 6c 0a 28 2d 66 6c 61 74 74 65 6e 2d 6e 20 31 20 27 28 28 31 20 32 n-l)..```el.(-flatten-n.1.'((1.2
62de0 29 20 28 28 33 20 34 29 20 28 28 35 20 36 29 29 29 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 28 ).((3.4).((5.6))))).;;.=>.(1.2.(
62e00 33 20 34 29 20 28 28 35 20 36 29 29 29 0a 28 2d 66 6c 61 74 74 65 6e 2d 6e 20 32 20 27 28 28 31 3.4).((5.6))).(-flatten-n.2.'((1
62e20 20 32 29 20 28 28 33 20 34 29 20 28 28 35 20 36 29 29 29 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 .2).((3.4).((5.6))))).;;.=>.(1.2
62e40 20 33 20 34 20 28 35 20 36 29 29 0a 28 2d 66 6c 61 74 74 65 6e 2d 6e 20 33 20 27 28 28 31 20 32 .3.4.(5.6)).(-flatten-n.3.'((1.2
62e60 29 20 28 28 33 20 34 29 20 28 28 35 20 36 29 29 29 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 ).((3.4).((5.6))))).;;.=>.(1.2.3
62e80 20 34 20 35 20 36 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 72 65 70 6c 61 63 65 20 60 28 6f 6c 64 .4.5.6).```..####.-replace.`(old
62ea0 20 6e 65 77 20 6c 69 73 74 29 60 0a 0a 52 65 70 6c 61 63 65 20 61 6c 6c 20 60 6f 6c 64 60 20 69 .new.list)`..Replace.all.`old`.i
62ec0 74 65 6d 73 20 69 6e 20 60 6c 69 73 74 60 20 77 69 74 68 20 60 6e 65 77 60 2e 0a 0a 45 6c 65 6d tems.in.`list`.with.`new`...Elem
62ee0 65 6e 74 73 20 61 72 65 20 63 6f 6d 70 61 72 65 64 20 75 73 69 6e 67 20 60 65 71 75 61 6c 60 2e ents.are.compared.using.`equal`.
62f00 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 72 65 70 6c 61 63 65 2d 61 74 60 5d 28 23 2d 72 65 ..See.also:.[`-replace-at`](#-re
62f20 70 6c 61 63 65 2d 61 74 2d 6e 2d 78 2d 6c 69 73 74 29 0a 0a 60 60 60 65 6c 0a 28 2d 72 65 70 6c place-at-n-x-list)..```el.(-repl
62f40 61 63 65 20 31 20 22 31 22 20 27 28 31 20 32 20 33 20 34 20 33 20 32 20 31 29 29 20 3b 3b 20 3d ace.1."1".'(1.2.3.4.3.2.1)).;;.=
62f60 3e 20 28 22 31 22 20 32 20 33 20 34 20 33 20 32 20 22 31 22 29 0a 28 2d 72 65 70 6c 61 63 65 20 >.("1".2.3.4.3.2."1").(-replace.
62f80 22 66 6f 6f 22 20 22 62 61 72 22 20 27 28 22 61 22 20 22 6e 69 63 65 22 20 22 66 6f 6f 22 20 22 "foo"."bar".'("a"."nice"."foo"."
62fa0 73 65 6e 74 65 6e 63 65 22 20 22 61 62 6f 75 74 22 20 22 66 6f 6f 22 29 29 20 3b 3b 20 3d 3e 20 sentence"."about"."foo")).;;.=>.
62fc0 28 22 61 22 20 22 6e 69 63 65 22 20 22 62 61 72 22 20 22 73 65 6e 74 65 6e 63 65 22 20 22 61 62 ("a"."nice"."bar"."sentence"."ab
62fe0 6f 75 74 22 20 22 62 61 72 22 29 0a 28 2d 72 65 70 6c 61 63 65 20 31 20 32 20 6e 69 6c 29 20 3b out"."bar").(-replace.1.2.nil).;
63000 3b 20 3d 3e 20 6e 69 6c 0a 60 60 60 0a 0a 23 23 23 23 20 2d 72 65 70 6c 61 63 65 2d 66 69 72 73 ;.=>.nil.```..####.-replace-firs
63020 74 20 60 28 6f 6c 64 20 6e 65 77 20 6c 69 73 74 29 60 0a 0a 52 65 70 6c 61 63 65 20 74 68 65 20 t.`(old.new.list)`..Replace.the.
63040 66 69 72 73 74 20 6f 63 63 75 72 72 65 6e 63 65 20 6f 66 20 60 6f 6c 64 60 20 77 69 74 68 20 60 first.occurrence.of.`old`.with.`
63060 6e 65 77 60 20 69 6e 20 60 6c 69 73 74 60 2e 0a 0a 45 6c 65 6d 65 6e 74 73 20 61 72 65 20 63 6f new`.in.`list`...Elements.are.co
63080 6d 70 61 72 65 64 20 75 73 69 6e 67 20 60 65 71 75 61 6c 60 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a mpared.using.`equal`...See.also:
630a0 20 5b 60 2d 6d 61 70 2d 66 69 72 73 74 60 5d 28 23 2d 6d 61 70 2d 66 69 72 73 74 2d 70 72 65 64 .[`-map-first`](#-map-first-pred
630c0 2d 72 65 70 2d 6c 69 73 74 29 0a 0a 60 60 60 65 6c 0a 28 2d 72 65 70 6c 61 63 65 2d 66 69 72 73 -rep-list)..```el.(-replace-firs
630e0 74 20 31 20 22 31 22 20 27 28 31 20 32 20 33 20 34 20 33 20 32 20 31 29 29 20 3b 3b 20 3d 3e 20 t.1."1".'(1.2.3.4.3.2.1)).;;.=>.
63100 28 22 31 22 20 32 20 33 20 34 20 33 20 32 20 31 29 0a 28 2d 72 65 70 6c 61 63 65 2d 66 69 72 73 ("1".2.3.4.3.2.1).(-replace-firs
63120 74 20 22 66 6f 6f 22 20 22 62 61 72 22 20 27 28 22 61 22 20 22 6e 69 63 65 22 20 22 66 6f 6f 22 t."foo"."bar".'("a"."nice"."foo"
63140 20 22 73 65 6e 74 65 6e 63 65 22 20 22 61 62 6f 75 74 22 20 22 66 6f 6f 22 29 29 20 3b 3b 20 3d ."sentence"."about"."foo")).;;.=
63160 3e 20 28 22 61 22 20 22 6e 69 63 65 22 20 22 62 61 72 22 20 22 73 65 6e 74 65 6e 63 65 22 20 22 >.("a"."nice"."bar"."sentence"."
63180 61 62 6f 75 74 22 20 22 66 6f 6f 22 29 0a 28 2d 72 65 70 6c 61 63 65 2d 66 69 72 73 74 20 31 20 about"."foo").(-replace-first.1.
631a0 32 20 6e 69 6c 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 60 60 60 0a 0a 23 23 23 23 20 2d 72 65 70 6c 2.nil).;;.=>.nil.```..####.-repl
631c0 61 63 65 2d 6c 61 73 74 20 60 28 6f 6c 64 20 6e 65 77 20 6c 69 73 74 29 60 0a 0a 52 65 70 6c 61 ace-last.`(old.new.list)`..Repla
631e0 63 65 20 74 68 65 20 6c 61 73 74 20 6f 63 63 75 72 72 65 6e 63 65 20 6f 66 20 60 6f 6c 64 60 20 ce.the.last.occurrence.of.`old`.
63200 77 69 74 68 20 60 6e 65 77 60 20 69 6e 20 60 6c 69 73 74 60 2e 0a 0a 45 6c 65 6d 65 6e 74 73 20 with.`new`.in.`list`...Elements.
63220 61 72 65 20 63 6f 6d 70 61 72 65 64 20 75 73 69 6e 67 20 60 65 71 75 61 6c 60 2e 0a 0a 53 65 65 are.compared.using.`equal`...See
63240 20 61 6c 73 6f 3a 20 5b 60 2d 6d 61 70 2d 6c 61 73 74 60 5d 28 23 2d 6d 61 70 2d 6c 61 73 74 2d .also:.[`-map-last`](#-map-last-
63260 70 72 65 64 2d 72 65 70 2d 6c 69 73 74 29 0a 0a 60 60 60 65 6c 0a 28 2d 72 65 70 6c 61 63 65 2d pred-rep-list)..```el.(-replace-
63280 6c 61 73 74 20 31 20 22 31 22 20 27 28 31 20 32 20 33 20 34 20 33 20 32 20 31 29 29 20 3b 3b 20 last.1."1".'(1.2.3.4.3.2.1)).;;.
632a0 3d 3e 20 28 31 20 32 20 33 20 34 20 33 20 32 20 22 31 22 29 0a 28 2d 72 65 70 6c 61 63 65 2d 6c =>.(1.2.3.4.3.2."1").(-replace-l
632c0 61 73 74 20 22 66 6f 6f 22 20 22 62 61 72 22 20 27 28 22 61 22 20 22 6e 69 63 65 22 20 22 66 6f ast."foo"."bar".'("a"."nice"."fo
632e0 6f 22 20 22 73 65 6e 74 65 6e 63 65 22 20 22 61 62 6f 75 74 22 20 22 66 6f 6f 22 29 29 20 3b 3b o"."sentence"."about"."foo")).;;
63300 20 3d 3e 20 28 22 61 22 20 22 6e 69 63 65 22 20 22 66 6f 6f 22 20 22 73 65 6e 74 65 6e 63 65 22 .=>.("a"."nice"."foo"."sentence"
63320 20 22 61 62 6f 75 74 22 20 22 62 61 72 22 29 0a 28 2d 72 65 70 6c 61 63 65 2d 6c 61 73 74 20 31 ."about"."bar").(-replace-last.1
63340 20 32 20 6e 69 6c 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 60 60 60 0a 0a 23 23 23 23 20 2d 69 6e 73 .2.nil).;;.=>.nil.```..####.-ins
63360 65 72 74 2d 61 74 20 60 28 6e 20 78 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 6c 69 ert-at.`(n.x.list)`..Return.a.li
63380 73 74 20 77 69 74 68 20 60 78 60 20 69 6e 73 65 72 74 65 64 20 69 6e 74 6f 20 60 6c 69 73 74 60 st.with.`x`.inserted.into.`list`
633a0 20 61 74 20 70 6f 73 69 74 69 6f 6e 20 60 6e 60 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d .at.position.`n`...See.also:.[`-
633c0 73 70 6c 69 63 65 60 5d 28 23 2d 73 70 6c 69 63 65 2d 70 72 65 64 2d 66 75 6e 2d 6c 69 73 74 29 splice`](#-splice-pred-fun-list)
633e0 2c 20 5b 60 2d 73 70 6c 69 63 65 2d 6c 69 73 74 60 5d 28 23 2d 73 70 6c 69 63 65 2d 6c 69 73 74 ,.[`-splice-list`](#-splice-list
63400 2d 70 72 65 64 2d 6e 65 77 2d 6c 69 73 74 2d 6c 69 73 74 29 0a 0a 60 60 60 65 6c 0a 28 2d 69 6e -pred-new-list-list)..```el.(-in
63420 73 65 72 74 2d 61 74 20 31 20 27 78 20 27 28 61 20 62 20 63 29 29 20 3b 3b 20 3d 3e 20 28 61 20 sert-at.1.'x.'(a.b.c)).;;.=>.(a.
63440 78 20 62 20 63 29 0a 28 2d 69 6e 73 65 72 74 2d 61 74 20 31 32 20 27 78 20 27 28 61 20 62 20 63 x.b.c).(-insert-at.12.'x.'(a.b.c
63460 29 29 20 3b 3b 20 3d 3e 20 28 61 20 62 20 63 20 78 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 72 65 )).;;.=>.(a.b.c.x).```..####.-re
63480 70 6c 61 63 65 2d 61 74 20 60 28 6e 20 78 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 place-at.`(n.x.list)`..Return.a.
634a0 6c 69 73 74 20 77 69 74 68 20 65 6c 65 6d 65 6e 74 20 61 74 20 60 6e 60 74 68 20 70 6f 73 69 74 list.with.element.at.`n`th.posit
634c0 69 6f 6e 20 69 6e 20 60 6c 69 73 74 60 20 72 65 70 6c 61 63 65 64 20 77 69 74 68 20 60 78 60 2e ion.in.`list`.replaced.with.`x`.
634e0 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 72 65 70 6c 61 63 65 60 5d 28 23 2d 72 65 70 6c 61 ..See.also:.[`-replace`](#-repla
63500 63 65 2d 6f 6c 64 2d 6e 65 77 2d 6c 69 73 74 29 0a 0a 60 60 60 65 6c 0a 28 2d 72 65 70 6c 61 63 ce-old-new-list)..```el.(-replac
63520 65 2d 61 74 20 30 20 39 20 27 28 30 20 31 20 32 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 28 e-at.0.9.'(0.1.2.3.4.5)).;;.=>.(
63540 39 20 31 20 32 20 33 20 34 20 35 29 0a 28 2d 72 65 70 6c 61 63 65 2d 61 74 20 31 20 39 20 27 28 9.1.2.3.4.5).(-replace-at.1.9.'(
63560 30 20 31 20 32 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 28 30 20 39 20 32 20 33 20 34 20 35 0.1.2.3.4.5)).;;.=>.(0.9.2.3.4.5
63580 29 0a 28 2d 72 65 70 6c 61 63 65 2d 61 74 20 34 20 39 20 27 28 30 20 31 20 32 20 33 20 34 20 35 ).(-replace-at.4.9.'(0.1.2.3.4.5
635a0 29 29 20 3b 3b 20 3d 3e 20 28 30 20 31 20 32 20 33 20 39 20 35 29 0a 60 60 60 0a 0a 23 23 23 23 )).;;.=>.(0.1.2.3.9.5).```..####
635c0 20 2d 75 70 64 61 74 65 2d 61 74 20 60 28 6e 20 66 75 6e 63 20 6c 69 73 74 29 60 0a 0a 52 65 74 .-update-at.`(n.func.list)`..Ret
635e0 75 72 6e 20 61 20 6c 69 73 74 20 77 69 74 68 20 65 6c 65 6d 65 6e 74 20 61 74 20 60 6e 60 74 68 urn.a.list.with.element.at.`n`th
63600 20 70 6f 73 69 74 69 6f 6e 20 69 6e 20 60 6c 69 73 74 60 20 72 65 70 6c 61 63 65 64 20 77 69 74 .position.in.`list`.replaced.wit
63620 68 20 60 28 66 75 6e 63 20 28 6e 74 68 20 6e 20 6c 69 73 74 29 29 60 2e 0a 0a 53 65 65 20 61 6c h.`(func.(nth.n.list))`...See.al
63640 73 6f 3a 20 5b 60 2d 6d 61 70 2d 77 68 65 6e 60 5d 28 23 2d 6d 61 70 2d 77 68 65 6e 2d 70 72 65 so:.[`-map-when`](#-map-when-pre
63660 64 2d 72 65 70 2d 6c 69 73 74 29 0a 0a 60 60 60 65 6c 0a 28 2d 75 70 64 61 74 65 2d 61 74 20 30 d-rep-list)..```el.(-update-at.0
63680 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 2b 20 78 20 39 29 29 20 27 28 30 20 31 20 32 20 33 20 .(lambda.(x).(+.x.9)).'(0.1.2.3.
636a0 34 20 35 29 29 20 3b 3b 20 3d 3e 20 28 39 20 31 20 32 20 33 20 34 20 35 29 0a 28 2d 75 70 64 61 4.5)).;;.=>.(9.1.2.3.4.5).(-upda
636c0 74 65 2d 61 74 20 31 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 2b 20 78 20 38 29 29 20 27 28 30 te-at.1.(lambda.(x).(+.x.8)).'(0
636e0 20 31 20 32 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 28 30 20 39 20 32 20 33 20 34 20 35 29 .1.2.3.4.5)).;;.=>.(0.9.2.3.4.5)
63700 0a 28 2d 2d 75 70 64 61 74 65 2d 61 74 20 32 20 28 6c 65 6e 67 74 68 20 69 74 29 20 27 28 22 66 .(--update-at.2.(length.it).'("f
63720 6f 6f 22 20 22 62 61 72 22 20 22 62 61 7a 22 20 22 71 75 75 78 22 29 29 20 3b 3b 20 3d 3e 20 28 oo"."bar"."baz"."quux")).;;.=>.(
63740 22 66 6f 6f 22 20 22 62 61 72 22 20 33 20 22 71 75 75 78 22 29 0a 60 60 60 0a 0a 23 23 23 23 20 "foo"."bar".3."quux").```..####.
63760 2d 72 65 6d 6f 76 65 2d 61 74 20 60 28 6e 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 -remove-at.`(n.list)`..Return.a.
63780 6c 69 73 74 20 77 69 74 68 20 65 6c 65 6d 65 6e 74 20 61 74 20 60 6e 60 74 68 20 70 6f 73 69 74 list.with.element.at.`n`th.posit
637a0 69 6f 6e 20 69 6e 20 60 6c 69 73 74 60 20 72 65 6d 6f 76 65 64 2e 0a 0a 53 65 65 20 61 6c 73 6f ion.in.`list`.removed...See.also
637c0 3a 20 5b 60 2d 72 65 6d 6f 76 65 2d 61 74 2d 69 6e 64 69 63 65 73 60 5d 28 23 2d 72 65 6d 6f 76 :.[`-remove-at-indices`](#-remov
637e0 65 2d 61 74 2d 69 6e 64 69 63 65 73 2d 69 6e 64 69 63 65 73 2d 6c 69 73 74 29 2c 20 5b 60 2d 72 e-at-indices-indices-list),.[`-r
63800 65 6d 6f 76 65 60 5d 28 23 2d 72 65 6d 6f 76 65 2d 70 72 65 64 2d 6c 69 73 74 29 0a 0a 60 60 60 emove`](#-remove-pred-list)..```
63820 65 6c 0a 28 2d 72 65 6d 6f 76 65 2d 61 74 20 30 20 27 28 22 30 22 20 22 31 22 20 22 32 22 20 22 el.(-remove-at.0.'("0"."1"."2"."
63840 33 22 20 22 34 22 20 22 35 22 29 29 20 3b 3b 20 3d 3e 20 28 22 31 22 20 22 32 22 20 22 33 22 20 3"."4"."5")).;;.=>.("1"."2"."3".
63860 22 34 22 20 22 35 22 29 0a 28 2d 72 65 6d 6f 76 65 2d 61 74 20 31 20 27 28 22 30 22 20 22 31 22 "4"."5").(-remove-at.1.'("0"."1"
63880 20 22 32 22 20 22 33 22 20 22 34 22 20 22 35 22 29 29 20 3b 3b 20 3d 3e 20 28 22 30 22 20 22 32 ."2"."3"."4"."5")).;;.=>.("0"."2
638a0 22 20 22 33 22 20 22 34 22 20 22 35 22 29 0a 28 2d 72 65 6d 6f 76 65 2d 61 74 20 32 20 27 28 22 "."3"."4"."5").(-remove-at.2.'("
638c0 30 22 20 22 31 22 20 22 32 22 20 22 33 22 20 22 34 22 20 22 35 22 29 29 20 3b 3b 20 3d 3e 20 28 0"."1"."2"."3"."4"."5")).;;.=>.(
638e0 22 30 22 20 22 31 22 20 22 33 22 20 22 34 22 20 22 35 22 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d "0"."1"."3"."4"."5").```..####.-
63900 72 65 6d 6f 76 65 2d 61 74 2d 69 6e 64 69 63 65 73 20 60 28 69 6e 64 69 63 65 73 20 6c 69 73 74 remove-at-indices.`(indices.list
63920 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 77 68 6f 73 65 20 65 6c 65 6d 65 6e 74 73 )`..Return.a.list.whose.elements
63940 20 61 72 65 20 65 6c 65 6d 65 6e 74 73 20 66 72 6f 6d 20 60 6c 69 73 74 60 20 77 69 74 68 6f 75 .are.elements.from.`list`.withou
63960 74 0a 65 6c 65 6d 65 6e 74 73 20 73 65 6c 65 63 74 65 64 20 61 73 20 60 28 6e 74 68 20 69 20 6c t.elements.selected.as.`(nth.i.l
63980 69 73 74 29 60 20 66 6f 72 20 61 6c 6c 20 69 0a 66 72 6f 6d 20 60 69 6e 64 69 63 65 73 60 2e 0a ist)`.for.all.i.from.`indices`..
639a0 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 72 65 6d 6f 76 65 2d 61 74 60 5d 28 23 2d 72 65 6d 6f .See.also:.[`-remove-at`](#-remo
639c0 76 65 2d 61 74 2d 6e 2d 6c 69 73 74 29 2c 20 5b 60 2d 72 65 6d 6f 76 65 60 5d 28 23 2d 72 65 6d ve-at-n-list),.[`-remove`](#-rem
639e0 6f 76 65 2d 70 72 65 64 2d 6c 69 73 74 29 0a 0a 60 60 60 65 6c 0a 28 2d 72 65 6d 6f 76 65 2d 61 ove-pred-list)..```el.(-remove-a
63a00 74 2d 69 6e 64 69 63 65 73 20 27 28 30 29 20 27 28 22 30 22 20 22 31 22 20 22 32 22 20 22 33 22 t-indices.'(0).'("0"."1"."2"."3"
63a20 20 22 34 22 20 22 35 22 29 29 20 3b 3b 20 3d 3e 20 28 22 31 22 20 22 32 22 20 22 33 22 20 22 34 ."4"."5")).;;.=>.("1"."2"."3"."4
63a40 22 20 22 35 22 29 0a 28 2d 72 65 6d 6f 76 65 2d 61 74 2d 69 6e 64 69 63 65 73 20 27 28 30 20 32 "."5").(-remove-at-indices.'(0.2
63a60 20 34 29 20 27 28 22 30 22 20 22 31 22 20 22 32 22 20 22 33 22 20 22 34 22 20 22 35 22 29 29 20 .4).'("0"."1"."2"."3"."4"."5")).
63a80 3b 3b 20 3d 3e 20 28 22 31 22 20 22 33 22 20 22 35 22 29 0a 28 2d 72 65 6d 6f 76 65 2d 61 74 2d ;;.=>.("1"."3"."5").(-remove-at-
63aa0 69 6e 64 69 63 65 73 20 27 28 30 20 35 29 20 27 28 22 30 22 20 22 31 22 20 22 32 22 20 22 33 22 indices.'(0.5).'("0"."1"."2"."3"
63ac0 20 22 34 22 20 22 35 22 29 29 20 3b 3b 20 3d 3e 20 28 22 31 22 20 22 32 22 20 22 33 22 20 22 34 ."4"."5")).;;.=>.("1"."2"."3"."4
63ae0 22 29 0a 60 60 60 0a 0a 23 23 20 52 65 64 75 63 74 69 6f 6e 73 0a 0a 46 75 6e 63 74 69 6f 6e 73 ").```..##.Reductions..Functions
63b00 20 72 65 64 75 63 69 6e 67 20 6c 69 73 74 73 20 74 6f 20 61 20 73 69 6e 67 6c 65 20 76 61 6c 75 .reducing.lists.to.a.single.valu
63b20 65 20 28 77 68 69 63 68 20 6d 61 79 20 61 6c 73 6f 20 62 65 20 61 20 6c 69 73 74 29 2e 0a 0a 23 e.(which.may.also.be.a.list)...#
63b40 23 23 23 20 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 60 28 66 6e 20 69 6e 69 74 20 6c 69 73 74 29 ###.-reduce-from.`(fn.init.list)
63b60 60 0a 0a 52 65 64 75 63 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 60 66 6e 60 20 61 63 72 6f `..Reduce.the.function.`fn`.acro
63b80 73 73 20 60 6c 69 73 74 60 2c 20 73 74 61 72 74 69 6e 67 20 77 69 74 68 20 60 69 6e 69 74 60 2e ss.`list`,.starting.with.`init`.
63ba0 0a 52 65 74 75 72 6e 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 61 70 70 6c 79 69 6e 67 20 60 .Return.the.result.of.applying.`
63bc0 66 6e 60 20 74 6f 20 60 69 6e 69 74 60 20 61 6e 64 20 74 68 65 20 66 69 72 73 74 20 65 6c 65 6d fn`.to.`init`.and.the.first.elem
63be0 65 6e 74 20 6f 66 0a 60 6c 69 73 74 60 2c 20 74 68 65 6e 20 61 70 70 6c 79 69 6e 67 20 60 66 6e ent.of.`list`,.then.applying.`fn
63c00 60 20 74 6f 20 74 68 61 74 20 72 65 73 75 6c 74 20 61 6e 64 20 74 68 65 20 73 65 63 6f 6e 64 20 `.to.that.result.and.the.second.
63c20 65 6c 65 6d 65 6e 74 2c 0a 65 74 63 2e 20 20 49 66 20 60 6c 69 73 74 60 20 69 73 20 65 6d 70 74 element,.etc...If.`list`.is.empt
63c40 79 2c 20 72 65 74 75 72 6e 20 60 69 6e 69 74 60 20 77 69 74 68 6f 75 74 20 63 61 6c 6c 69 6e 67 y,.return.`init`.without.calling
63c60 20 60 66 6e 60 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 .`fn`...This.function's.anaphori
63c80 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 72 65 64 75 63 65 2d 66 72 6f 6d 60 c.counterpart.is.`--reduce-from`
63ca0 2e 0a 0a 46 6f 72 20 6f 74 68 65 72 20 66 6f 6c 64 73 2c 20 73 65 65 20 61 6c 73 6f 20 5b 60 2d ...For.other.folds,.see.also.[`-
63cc0 72 65 64 75 63 65 60 5d 28 23 2d 72 65 64 75 63 65 2d 66 6e 2d 6c 69 73 74 29 20 61 6e 64 20 5b reduce`](#-reduce-fn-list).and.[
63ce0 60 2d 72 65 64 75 63 65 2d 72 60 5d 28 23 2d 72 65 64 75 63 65 2d 72 2d 66 6e 2d 6c 69 73 74 29 `-reduce-r`](#-reduce-r-fn-list)
63d00 2e 0a 0a 60 60 60 65 6c 0a 28 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 23 27 2d 20 31 30 20 27 28 ...```el.(-reduce-from.#'-.10.'(
63d20 31 20 32 20 33 29 29 20 3b 3b 20 3d 3e 20 34 0a 28 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 23 27 1.2.3)).;;.=>.4.(-reduce-from.#'
63d40 6c 69 73 74 20 31 30 20 27 28 31 20 32 20 33 29 29 20 3b 3b 20 3d 3e 20 28 28 28 31 30 20 31 29 list.10.'(1.2.3)).;;.=>.(((10.1)
63d60 20 32 29 20 33 29 0a 28 2d 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 28 63 6f 6e 63 61 74 20 61 63 .2).3).(--reduce-from.(concat.ac
63d80 63 20 22 20 22 20 69 74 29 20 22 53 54 41 52 54 22 20 27 28 22 61 22 20 22 62 22 20 22 63 22 29 c.".".it)."START".'("a"."b"."c")
63da0 29 20 3b 3b 20 3d 3e 20 22 53 54 41 52 54 20 61 20 62 20 63 22 0a 60 60 60 0a 0a 23 23 23 23 20 ).;;.=>."START.a.b.c".```..####.
63dc0 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 20 60 28 66 6e 20 69 6e 69 74 20 6c 69 73 74 29 60 0a -reduce-r-from.`(fn.init.list)`.
63de0 0a 52 65 64 75 63 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 60 66 6e 60 20 61 63 72 6f 73 73 .Reduce.the.function.`fn`.across
63e00 20 60 6c 69 73 74 60 20 69 6e 20 72 65 76 65 72 73 65 2c 20 73 74 61 72 74 69 6e 67 20 77 69 74 .`list`.in.reverse,.starting.wit
63e20 68 20 60 69 6e 69 74 60 2e 0a 52 65 74 75 72 6e 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 61 h.`init`..Return.the.result.of.a
63e40 70 70 6c 79 69 6e 67 20 60 66 6e 60 20 74 6f 20 74 68 65 20 6c 61 73 74 20 65 6c 65 6d 65 6e 74 pplying.`fn`.to.the.last.element
63e60 20 6f 66 20 60 6c 69 73 74 60 20 61 6e 64 0a 60 69 6e 69 74 60 2c 20 74 68 65 6e 20 61 70 70 6c .of.`list`.and.`init`,.then.appl
63e80 79 69 6e 67 20 60 66 6e 60 20 74 6f 20 74 68 65 20 73 65 63 6f 6e 64 2d 74 6f 2d 6c 61 73 74 20 ying.`fn`.to.the.second-to-last.
63ea0 65 6c 65 6d 65 6e 74 20 61 6e 64 20 74 68 65 0a 70 72 65 76 69 6f 75 73 20 72 65 73 75 6c 74 20 element.and.the.previous.result.
63ec0 6f 66 20 60 66 6e 60 2c 20 65 74 63 2e 20 20 54 68 61 74 20 69 73 2c 20 74 68 65 20 66 69 72 73 of.`fn`,.etc...That.is,.the.firs
63ee0 74 20 61 72 67 75 6d 65 6e 74 20 6f 66 20 60 66 6e 60 20 69 73 0a 74 68 65 20 63 75 72 72 65 6e t.argument.of.`fn`.is.the.curren
63f00 74 20 65 6c 65 6d 65 6e 74 2c 20 61 6e 64 20 69 74 73 20 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 t.element,.and.its.second.argume
63f20 6e 74 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 65 64 0a 76 61 6c 75 65 2e 20 20 49 66 20 60 6c nt.the.accumulated.value...If.`l
63f40 69 73 74 60 20 69 73 20 65 6d 70 74 79 2c 20 72 65 74 75 72 6e 20 60 69 6e 69 74 60 20 77 69 74 ist`.is.empty,.return.`init`.wit
63f60 68 6f 75 74 20 63 61 6c 6c 69 6e 67 20 60 66 6e 60 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f hout.calling.`fn`...This.functio
63f80 6e 20 69 73 20 6c 69 6b 65 20 5b 60 2d 72 65 64 75 63 65 2d 66 72 6f 6d 60 5d 28 23 2d 72 65 64 n.is.like.[`-reduce-from`](#-red
63fa0 75 63 65 2d 66 72 6f 6d 2d 66 6e 2d 69 6e 69 74 2d 6c 69 73 74 29 20 62 75 74 20 74 68 65 20 6f uce-from-fn-init-list).but.the.o
63fc0 70 65 72 61 74 69 6f 6e 20 61 73 73 6f 63 69 61 74 65 73 0a 66 72 6f 6d 20 74 68 65 20 72 69 67 peration.associates.from.the.rig
63fe0 68 74 20 72 61 74 68 65 72 20 74 68 61 6e 20 6c 65 66 74 2e 20 20 49 6e 20 6f 74 68 65 72 20 77 ht.rather.than.left...In.other.w
64000 6f 72 64 73 2c 20 69 74 20 73 74 61 72 74 73 20 66 72 6f 6d 0a 74 68 65 20 65 6e 64 20 6f 66 20 ords,.it.starts.from.the.end.of.
64020 60 6c 69 73 74 60 20 61 6e 64 20 66 6c 69 70 73 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 74 `list`.and.flips.the.arguments.t
64040 6f 20 60 66 6e 60 2e 20 20 43 6f 6e 63 65 70 74 75 61 6c 6c 79 2c 20 69 74 0a 69 73 20 6c 69 6b o.`fn`...Conceptually,.it.is.lik
64060 65 20 72 65 70 6c 61 63 69 6e 67 20 74 68 65 20 63 6f 6e 73 65 73 20 69 6e 20 60 6c 69 73 74 60 e.replacing.the.conses.in.`list`
64080 20 77 69 74 68 20 61 70 70 6c 69 63 61 74 69 6f 6e 73 20 6f 66 20 60 66 6e 60 2c 20 61 6e 64 0a .with.applications.of.`fn`,.and.
640a0 69 74 73 20 6c 61 73 74 20 6c 69 6e 6b 20 77 69 74 68 20 60 69 6e 69 74 60 2c 20 61 6e 64 20 65 its.last.link.with.`init`,.and.e
640c0 76 61 6c 75 61 74 69 6e 67 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 20 65 78 70 72 65 73 73 69 valuating.the.resulting.expressi
640e0 6f 6e 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 on...This.function's.anaphoric.c
64100 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 60 2e ounterpart.is.`--reduce-r-from`.
64120 0a 0a 46 6f 72 20 6f 74 68 65 72 20 66 6f 6c 64 73 2c 20 73 65 65 20 61 6c 73 6f 20 5b 60 2d 72 ..For.other.folds,.see.also.[`-r
64140 65 64 75 63 65 2d 72 60 5d 28 23 2d 72 65 64 75 63 65 2d 72 2d 66 6e 2d 6c 69 73 74 29 20 61 6e educe-r`](#-reduce-r-fn-list).an
64160 64 20 5b 60 2d 72 65 64 75 63 65 60 5d 28 23 2d 72 65 64 75 63 65 2d 66 6e 2d 6c 69 73 74 29 2e d.[`-reduce`](#-reduce-fn-list).
64180 0a 0a 60 60 60 65 6c 0a 28 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 20 23 27 2d 20 31 30 20 27 ..```el.(-reduce-r-from.#'-.10.'
641a0 28 31 20 32 20 33 29 29 20 3b 3b 20 3d 3e 20 2d 38 0a 28 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f (1.2.3)).;;.=>.-8.(-reduce-r-fro
641c0 6d 20 23 27 6c 69 73 74 20 31 30 20 27 28 31 20 32 20 33 29 29 20 3b 3b 20 3d 3e 20 28 31 20 28 m.#'list.10.'(1.2.3)).;;.=>.(1.(
641e0 32 20 28 33 20 31 30 29 29 29 0a 28 2d 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 20 28 63 6f 6e 2.(3.10))).(--reduce-r-from.(con
64200 63 61 74 20 69 74 20 22 20 22 20 61 63 63 29 20 22 45 4e 44 22 20 27 28 22 61 22 20 22 62 22 20 cat.it.".".acc)."END".'("a"."b".
64220 22 63 22 29 29 20 3b 3b 20 3d 3e 20 22 61 20 62 20 63 20 45 4e 44 22 0a 60 60 60 0a 0a 23 23 23 "c")).;;.=>."a.b.c.END".```..###
64240 23 20 2d 72 65 64 75 63 65 20 60 28 66 6e 20 6c 69 73 74 29 60 0a 0a 52 65 64 75 63 65 20 74 68 #.-reduce.`(fn.list)`..Reduce.th
64260 65 20 66 75 6e 63 74 69 6f 6e 20 60 66 6e 60 20 61 63 72 6f 73 73 20 60 6c 69 73 74 60 2e 0a 52 e.function.`fn`.across.`list`..R
64280 65 74 75 72 6e 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 61 70 70 6c 79 69 6e 67 20 60 66 6e eturn.the.result.of.applying.`fn
642a0 60 20 74 6f 20 74 68 65 20 66 69 72 73 74 20 74 77 6f 20 65 6c 65 6d 65 6e 74 73 20 6f 66 0a 60 `.to.the.first.two.elements.of.`
642c0 6c 69 73 74 60 2c 20 74 68 65 6e 20 61 70 70 6c 79 69 6e 67 20 60 66 6e 60 20 74 6f 20 74 68 61 list`,.then.applying.`fn`.to.tha
642e0 74 20 72 65 73 75 6c 74 20 61 6e 64 20 74 68 65 20 74 68 69 72 64 20 65 6c 65 6d 65 6e 74 2c 20 t.result.and.the.third.element,.
64300 65 74 63 2e 0a 49 66 20 60 6c 69 73 74 60 20 63 6f 6e 74 61 69 6e 73 20 61 20 73 69 6e 67 6c 65 etc..If.`list`.contains.a.single
64320 20 65 6c 65 6d 65 6e 74 2c 20 72 65 74 75 72 6e 20 69 74 20 77 69 74 68 6f 75 74 20 63 61 6c 6c .element,.return.it.without.call
64340 69 6e 67 20 60 66 6e 60 2e 0a 49 66 20 60 6c 69 73 74 60 20 69 73 20 65 6d 70 74 79 2c 20 72 65 ing.`fn`..If.`list`.is.empty,.re
64360 74 75 72 6e 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 63 61 6c 6c 69 6e 67 20 60 66 6e 60 20 turn.the.result.of.calling.`fn`.
64380 77 69 74 68 20 6e 6f 0a 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f with.no.arguments...This.functio
643a0 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d n's.anaphoric.counterpart.is.`--
643c0 72 65 64 75 63 65 60 2e 0a 0a 46 6f 72 20 6f 74 68 65 72 20 66 6f 6c 64 73 2c 20 73 65 65 20 61 reduce`...For.other.folds,.see.a
643e0 6c 73 6f 20 5b 60 2d 72 65 64 75 63 65 2d 66 72 6f 6d 60 5d 28 23 2d 72 65 64 75 63 65 2d 66 72 lso.[`-reduce-from`](#-reduce-fr
64400 6f 6d 2d 66 6e 2d 69 6e 69 74 2d 6c 69 73 74 29 20 61 6e 64 20 5b 60 2d 72 65 64 75 63 65 2d 72 om-fn-init-list).and.[`-reduce-r
64420 60 5d 28 23 2d 72 65 64 75 63 65 2d 72 2d 66 6e 2d 6c 69 73 74 29 2e 0a 0a 60 60 60 65 6c 0a 28 `](#-reduce-r-fn-list)...```el.(
64440 2d 72 65 64 75 63 65 20 23 27 2d 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 2d 38 -reduce.#'-.'(1.2.3.4)).;;.=>.-8
64460 0a 28 2d 72 65 64 75 63 65 20 23 27 6c 69 73 74 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 .(-reduce.#'list.'(1.2.3.4)).;;.
64480 3d 3e 20 28 28 28 31 20 32 29 20 33 29 20 34 29 0a 28 2d 2d 72 65 64 75 63 65 20 28 66 6f 72 6d =>.(((1.2).3).4).(--reduce.(form
644a0 61 74 20 22 25 73 2d 25 64 22 20 61 63 63 20 69 74 29 20 27 28 31 20 32 20 33 29 29 20 3b 3b 20 at."%s-%d".acc.it).'(1.2.3)).;;.
644c0 3d 3e 20 22 31 2d 32 2d 33 22 0a 60 60 60 0a 0a 23 23 23 23 20 2d 72 65 64 75 63 65 2d 72 20 60 =>."1-2-3".```..####.-reduce-r.`
644e0 28 66 6e 20 6c 69 73 74 29 60 0a 0a 52 65 64 75 63 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 (fn.list)`..Reduce.the.function.
64500 60 66 6e 60 20 61 63 72 6f 73 73 20 60 6c 69 73 74 60 20 69 6e 20 72 65 76 65 72 73 65 2e 0a 52 `fn`.across.`list`.in.reverse..R
64520 65 74 75 72 6e 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 61 70 70 6c 79 69 6e 67 20 60 66 6e eturn.the.result.of.applying.`fn
64540 60 20 74 6f 20 74 68 65 20 6c 61 73 74 20 74 77 6f 20 65 6c 65 6d 65 6e 74 73 20 6f 66 0a 60 6c `.to.the.last.two.elements.of.`l
64560 69 73 74 60 2c 20 74 68 65 6e 20 61 70 70 6c 79 69 6e 67 20 60 66 6e 60 20 74 6f 20 74 68 65 20 ist`,.then.applying.`fn`.to.the.
64580 74 68 69 72 64 2d 74 6f 2d 6c 61 73 74 20 65 6c 65 6d 65 6e 74 20 61 6e 64 20 74 68 65 0a 70 72 third-to-last.element.and.the.pr
645a0 65 76 69 6f 75 73 20 72 65 73 75 6c 74 20 6f 66 20 60 66 6e 60 2c 20 65 74 63 2e 20 20 54 68 61 evious.result.of.`fn`,.etc...Tha
645c0 74 20 69 73 2c 20 74 68 65 20 66 69 72 73 74 20 61 72 67 75 6d 65 6e 74 20 6f 66 20 60 66 6e 60 t.is,.the.first.argument.of.`fn`
645e0 20 69 73 0a 74 68 65 20 63 75 72 72 65 6e 74 20 65 6c 65 6d 65 6e 74 2c 20 61 6e 64 20 69 74 73 .is.the.current.element,.and.its
64600 20 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e 74 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 65 64 .second.argument.the.accumulated
64620 0a 76 61 6c 75 65 2e 20 20 49 66 20 60 6c 69 73 74 60 20 63 6f 6e 74 61 69 6e 73 20 61 20 73 69 .value...If.`list`.contains.a.si
64640 6e 67 6c 65 20 65 6c 65 6d 65 6e 74 2c 20 72 65 74 75 72 6e 20 69 74 20 77 69 74 68 6f 75 74 0a ngle.element,.return.it.without.
64660 63 61 6c 6c 69 6e 67 20 60 66 6e 60 2e 20 20 49 66 20 60 6c 69 73 74 60 20 69 73 20 65 6d 70 74 calling.`fn`...If.`list`.is.empt
64680 79 2c 20 72 65 74 75 72 6e 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 63 61 6c 6c 69 6e 67 20 y,.return.the.result.of.calling.
646a0 60 66 6e 60 0a 77 69 74 68 20 6e 6f 20 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 54 68 69 73 20 66 75 `fn`.with.no.arguments...This.fu
646c0 6e 63 74 69 6f 6e 20 69 73 20 6c 69 6b 65 20 5b 60 2d 72 65 64 75 63 65 60 5d 28 23 2d 72 65 64 nction.is.like.[`-reduce`](#-red
646e0 75 63 65 2d 66 6e 2d 6c 69 73 74 29 20 62 75 74 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 61 uce-fn-list).but.the.operation.a
64700 73 73 6f 63 69 61 74 65 73 20 66 72 6f 6d 0a 74 68 65 20 72 69 67 68 74 20 72 61 74 68 65 72 20 ssociates.from.the.right.rather.
64720 74 68 61 6e 20 6c 65 66 74 2e 20 20 49 6e 20 6f 74 68 65 72 20 77 6f 72 64 73 2c 20 69 74 20 73 than.left...In.other.words,.it.s
64740 74 61 72 74 73 20 66 72 6f 6d 20 74 68 65 0a 65 6e 64 20 6f 66 20 60 6c 69 73 74 60 20 61 6e 64 tarts.from.the.end.of.`list`.and
64760 20 66 6c 69 70 73 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 60 66 6e 60 2e 20 20 43 .flips.the.arguments.to.`fn`...C
64780 6f 6e 63 65 70 74 75 61 6c 6c 79 2c 20 69 74 20 69 73 0a 6c 69 6b 65 20 72 65 70 6c 61 63 69 6e onceptually,.it.is.like.replacin
647a0 67 20 74 68 65 20 63 6f 6e 73 65 73 20 69 6e 20 60 6c 69 73 74 60 20 77 69 74 68 20 61 70 70 6c g.the.conses.in.`list`.with.appl
647c0 69 63 61 74 69 6f 6e 73 20 6f 66 20 60 66 6e 60 2c 0a 69 67 6e 6f 72 69 6e 67 20 69 74 73 20 6c ications.of.`fn`,.ignoring.its.l
647e0 61 73 74 20 6c 69 6e 6b 2c 20 61 6e 64 20 65 76 61 6c 75 61 74 69 6e 67 20 74 68 65 20 72 65 73 ast.link,.and.evaluating.the.res
64800 75 6c 74 69 6e 67 20 65 78 70 72 65 73 73 69 6f 6e 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f ulting.expression...This.functio
64820 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d n's.anaphoric.counterpart.is.`--
64840 72 65 64 75 63 65 2d 72 60 2e 0a 0a 46 6f 72 20 6f 74 68 65 72 20 66 6f 6c 64 73 2c 20 73 65 65 reduce-r`...For.other.folds,.see
64860 20 61 6c 73 6f 20 5b 60 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 60 5d 28 23 2d 72 65 64 75 63 .also.[`-reduce-r-from`](#-reduc
64880 65 2d 72 2d 66 72 6f 6d 2d 66 6e 2d 69 6e 69 74 2d 6c 69 73 74 29 20 61 6e 64 20 5b 60 2d 72 65 e-r-from-fn-init-list).and.[`-re
648a0 64 75 63 65 60 5d 28 23 2d 72 65 64 75 63 65 2d 66 6e 2d 6c 69 73 74 29 2e 0a 0a 60 60 60 65 6c duce`](#-reduce-fn-list)...```el
648c0 0a 28 2d 72 65 64 75 63 65 2d 72 20 23 27 2d 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d .(-reduce-r.#'-.'(1.2.3.4)).;;.=
648e0 3e 20 2d 32 0a 28 2d 72 65 64 75 63 65 2d 72 20 23 27 6c 69 73 74 20 27 28 31 20 32 20 33 20 34 >.-2.(-reduce-r.#'list.'(1.2.3.4
64900 29 29 20 3b 3b 20 3d 3e 20 28 31 20 28 32 20 28 33 20 34 29 29 29 0a 28 2d 2d 72 65 64 75 63 65 )).;;.=>.(1.(2.(3.4))).(--reduce
64920 2d 72 20 28 66 6f 72 6d 61 74 20 22 25 73 2d 25 64 22 20 61 63 63 20 69 74 29 20 27 28 31 20 32 -r.(format."%s-%d".acc.it).'(1.2
64940 20 33 29 29 20 3b 3b 20 3d 3e 20 22 33 2d 32 2d 31 22 0a 60 60 60 0a 0a 23 23 23 23 20 2d 72 65 .3)).;;.=>."3-2-1".```..####.-re
64960 64 75 63 74 69 6f 6e 73 2d 66 72 6f 6d 20 60 28 66 6e 20 69 6e 69 74 20 6c 69 73 74 29 60 0a 0a ductions-from.`(fn.init.list)`..
64980 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 60 66 6e 60 27 73 20 69 6e 74 65 72 6d 65 64 Return.a.list.of.`fn`'s.intermed
649a0 69 61 74 65 20 72 65 64 75 63 74 69 6f 6e 73 20 61 63 72 6f 73 73 20 60 6c 69 73 74 60 2e 0a 54 iate.reductions.across.`list`..T
649c0 68 61 74 20 69 73 2c 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 69 6e 74 65 72 6d 65 64 69 61 hat.is,.a.list.of.the.intermedia
649e0 74 65 20 76 61 6c 75 65 73 20 6f 66 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 0a 77 68 65 te.values.of.the.accumulator.whe
64a00 6e 20 5b 60 2d 72 65 64 75 63 65 2d 66 72 6f 6d 60 5d 28 23 2d 72 65 64 75 63 65 2d 66 72 6f 6d n.[`-reduce-from`](#-reduce-from
64a20 2d 66 6e 2d 69 6e 69 74 2d 6c 69 73 74 29 20 28 77 68 69 63 68 20 73 65 65 29 20 69 73 20 63 61 -fn-init-list).(which.see).is.ca
64a40 6c 6c 65 64 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 0a 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 54 lled.with.the.same.arguments...T
64a60 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 his.function's.anaphoric.counter
64a80 70 61 72 74 20 69 73 20 60 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 72 6f 6d 60 2e 0a 0a 46 6f part.is.`--reductions-from`...Fo
64aa0 72 20 6f 74 68 65 72 20 66 6f 6c 64 73 2c 20 73 65 65 20 61 6c 73 6f 20 5b 60 2d 72 65 64 75 63 r.other.folds,.see.also.[`-reduc
64ac0 74 69 6f 6e 73 60 5d 28 23 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 6e 2d 6c 69 73 74 29 20 61 6e tions`](#-reductions-fn-list).an
64ae0 64 20 5b 60 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 60 5d 28 23 2d 72 65 64 75 63 74 69 6f 6e 73 d.[`-reductions-r`](#-reductions
64b00 2d 72 2d 66 6e 2d 6c 69 73 74 29 2e 0a 0a 60 60 60 65 6c 0a 28 2d 72 65 64 75 63 74 69 6f 6e 73 -r-fn-list)...```el.(-reductions
64b20 2d 66 72 6f 6d 20 23 27 6d 61 78 20 30 20 27 28 32 20 31 20 34 20 33 29 29 20 3b 3b 20 3d 3e 20 -from.#'max.0.'(2.1.4.3)).;;.=>.
64b40 28 30 20 32 20 32 20 34 20 34 29 0a 28 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 72 6f 6d 20 23 27 (0.2.2.4.4).(-reductions-from.#'
64b60 2a 20 31 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 31 20 31 20 32 20 36 20 32 *.1.'(1.2.3.4)).;;.=>.(1.1.2.6.2
64b80 34 29 0a 28 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 72 6f 6d 20 28 66 6f 72 6d 61 74 20 22 28 4).(--reductions-from.(format."(
64ba0 46 4e 20 25 73 20 25 64 29 22 20 61 63 63 20 69 74 29 20 22 49 4e 49 54 22 20 27 28 31 20 32 20 FN.%s.%d)".acc.it)."INIT".'(1.2.
64bc0 33 29 29 20 3b 3b 20 3d 3e 20 28 22 49 4e 49 54 22 20 22 28 46 4e 20 49 4e 49 54 20 31 29 22 20 3)).;;.=>.("INIT"."(FN.INIT.1)".
64be0 22 28 46 4e 20 28 46 4e 20 49 4e 49 54 20 31 29 20 32 29 22 20 22 28 46 4e 20 28 46 4e 20 28 46 "(FN.(FN.INIT.1).2)"."(FN.(FN.(F
64c00 4e 20 49 4e 49 54 20 31 29 20 32 29 20 33 29 22 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 72 65 64 N.INIT.1).2).3)").```..####.-red
64c20 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 20 60 28 66 6e 20 69 6e 69 74 20 6c 69 73 74 29 60 0a uctions-r-from.`(fn.init.list)`.
64c40 0a 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 60 66 6e 60 27 73 20 69 6e 74 65 72 6d 65 .Return.a.list.of.`fn`'s.interme
64c60 64 69 61 74 65 20 72 65 64 75 63 74 69 6f 6e 73 20 61 63 72 6f 73 73 20 72 65 76 65 72 73 65 64 diate.reductions.across.reversed
64c80 20 60 6c 69 73 74 60 2e 0a 54 68 61 74 20 69 73 2c 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 .`list`..That.is,.a.list.of.the.
64ca0 69 6e 74 65 72 6d 65 64 69 61 74 65 20 76 61 6c 75 65 73 20 6f 66 20 74 68 65 20 61 63 63 75 6d intermediate.values.of.the.accum
64cc0 75 6c 61 74 6f 72 0a 77 68 65 6e 20 5b 60 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 60 5d 28 23 ulator.when.[`-reduce-r-from`](#
64ce0 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 2d 66 6e 2d 69 6e 69 74 2d 6c 69 73 74 29 20 28 77 68 -reduce-r-from-fn-init-list).(wh
64d00 69 63 68 20 73 65 65 29 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 ich.see).is.called.with.the.same
64d20 0a 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 .arguments...This.function's.ana
64d40 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 72 65 64 75 63 74 69 phoric.counterpart.is.`--reducti
64d60 6f 6e 73 2d 72 2d 66 72 6f 6d 60 2e 0a 0a 46 6f 72 20 6f 74 68 65 72 20 66 6f 6c 64 73 2c 20 73 ons-r-from`...For.other.folds,.s
64d80 65 65 20 61 6c 73 6f 20 5b 60 2d 72 65 64 75 63 74 69 6f 6e 73 60 5d 28 23 2d 72 65 64 75 63 74 ee.also.[`-reductions`](#-reduct
64da0 69 6f 6e 73 2d 66 6e 2d 6c 69 73 74 29 20 61 6e 64 20 5b 60 2d 72 65 64 75 63 74 69 6f 6e 73 2d ions-fn-list).and.[`-reductions-
64dc0 72 60 5d 28 23 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 6e 2d 6c 69 73 74 29 2e 0a 0a 60 60 r`](#-reductions-r-fn-list)...``
64de0 60 65 6c 0a 28 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 20 23 27 6d 61 78 20 30 20 `el.(-reductions-r-from.#'max.0.
64e00 27 28 32 20 31 20 34 20 33 29 29 20 3b 3b 20 3d 3e 20 28 34 20 34 20 34 20 33 20 30 29 0a 28 2d '(2.1.4.3)).;;.=>.(4.4.4.3.0).(-
64e20 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 20 23 27 2a 20 31 20 27 28 31 20 32 20 33 20 reductions-r-from.#'*.1.'(1.2.3.
64e40 34 29 29 20 3b 3b 20 3d 3e 20 28 32 34 20 32 34 20 31 32 20 34 20 31 29 0a 28 2d 2d 72 65 64 75 4)).;;.=>.(24.24.12.4.1).(--redu
64e60 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 20 28 66 6f 72 6d 61 74 20 22 28 46 4e 20 25 64 20 25 73 ctions-r-from.(format."(FN.%d.%s
64e80 29 22 20 69 74 20 61 63 63 29 20 22 49 4e 49 54 22 20 27 28 31 20 32 20 33 29 29 20 3b 3b 20 3d )".it.acc)."INIT".'(1.2.3)).;;.=
64ea0 3e 20 28 22 28 46 4e 20 31 20 28 46 4e 20 32 20 28 46 4e 20 33 20 49 4e 49 54 29 29 29 22 20 22 >.("(FN.1.(FN.2.(FN.3.INIT)))"."
64ec0 28 46 4e 20 32 20 28 46 4e 20 33 20 49 4e 49 54 29 29 22 20 22 28 46 4e 20 33 20 49 4e 49 54 29 (FN.2.(FN.3.INIT))"."(FN.3.INIT)
64ee0 22 20 22 49 4e 49 54 22 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 72 65 64 75 63 74 69 6f 6e 73 20 "."INIT").```..####.-reductions.
64f00 60 28 66 6e 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 60 66 `(fn.list)`..Return.a.list.of.`f
64f20 6e 60 27 73 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 72 65 64 75 63 74 69 6f 6e 73 20 61 63 72 n`'s.intermediate.reductions.acr
64f40 6f 73 73 20 60 6c 69 73 74 60 2e 0a 54 68 61 74 20 69 73 2c 20 61 20 6c 69 73 74 20 6f 66 20 74 oss.`list`..That.is,.a.list.of.t
64f60 68 65 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 76 61 6c 75 65 73 20 6f 66 20 74 68 65 20 61 63 he.intermediate.values.of.the.ac
64f80 63 75 6d 75 6c 61 74 6f 72 0a 77 68 65 6e 20 5b 60 2d 72 65 64 75 63 65 60 5d 28 23 2d 72 65 64 cumulator.when.[`-reduce`](#-red
64fa0 75 63 65 2d 66 6e 2d 6c 69 73 74 29 20 28 77 68 69 63 68 20 73 65 65 29 20 69 73 20 63 61 6c 6c uce-fn-list).(which.see).is.call
64fc0 65 64 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 20 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 54 68 69 ed.with.the.same.arguments...Thi
64fe0 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 s.function's.anaphoric.counterpa
65000 72 74 20 69 73 20 60 2d 2d 72 65 64 75 63 74 69 6f 6e 73 60 2e 0a 0a 46 6f 72 20 6f 74 68 65 72 rt.is.`--reductions`...For.other
65020 20 66 6f 6c 64 73 2c 20 73 65 65 20 61 6c 73 6f 20 5b 60 2d 72 65 64 75 63 74 69 6f 6e 73 60 5d .folds,.see.also.[`-reductions`]
65040 28 23 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 6e 2d 6c 69 73 74 29 20 61 6e 64 20 5b 60 2d 72 65 (#-reductions-fn-list).and.[`-re
65060 64 75 63 74 69 6f 6e 73 2d 72 60 5d 28 23 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 6e 2d 6c ductions-r`](#-reductions-r-fn-l
65080 69 73 74 29 2e 0a 0a 60 60 60 65 6c 0a 28 2d 72 65 64 75 63 74 69 6f 6e 73 20 23 27 2b 20 27 28 ist)...```el.(-reductions.#'+.'(
650a0 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 31 20 33 20 36 20 31 30 29 0a 28 2d 72 65 64 1.2.3.4)).;;.=>.(1.3.6.10).(-red
650c0 75 63 74 69 6f 6e 73 20 23 27 2a 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 31 uctions.#'*.'(1.2.3.4)).;;.=>.(1
650e0 20 32 20 36 20 32 34 29 0a 28 2d 2d 72 65 64 75 63 74 69 6f 6e 73 20 28 66 6f 72 6d 61 74 20 22 .2.6.24).(--reductions.(format."
65100 28 46 4e 20 25 73 20 25 64 29 22 20 61 63 63 20 69 74 29 20 27 28 31 20 32 20 33 29 29 20 3b 3b (FN.%s.%d)".acc.it).'(1.2.3)).;;
65120 20 3d 3e 20 28 31 20 22 28 46 4e 20 31 20 32 29 22 20 22 28 46 4e 20 28 46 4e 20 31 20 32 29 20 .=>.(1."(FN.1.2)"."(FN.(FN.1.2).
65140 33 29 22 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 20 60 28 66 3)").```..####.-reductions-r.`(f
65160 6e 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 60 66 6e 60 27 n.list)`..Return.a.list.of.`fn`'
65180 73 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 72 65 64 75 63 74 69 6f 6e 73 20 61 63 72 6f 73 73 s.intermediate.reductions.across
651a0 20 72 65 76 65 72 73 65 64 20 60 6c 69 73 74 60 2e 0a 54 68 61 74 20 69 73 2c 20 61 20 6c 69 73 .reversed.`list`..That.is,.a.lis
651c0 74 20 6f 66 20 74 68 65 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 76 61 6c 75 65 73 20 6f 66 20 t.of.the.intermediate.values.of.
651e0 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 0a 77 68 65 6e 20 5b 60 2d 72 65 64 75 63 65 2d 72 the.accumulator.when.[`-reduce-r
65200 60 5d 28 23 2d 72 65 64 75 63 65 2d 72 2d 66 6e 2d 6c 69 73 74 29 20 28 77 68 69 63 68 20 73 65 `](#-reduce-r-fn-list).(which.se
65220 65 29 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 20 61 72 67 75 6d e).is.called.with.the.same.argum
65240 65 6e 74 73 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 ents...This.function's.anaphoric
65260 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 60 .counterpart.is.`--reductions-r`
65280 2e 0a 0a 46 6f 72 20 6f 74 68 65 72 20 66 6f 6c 64 73 2c 20 73 65 65 20 61 6c 73 6f 20 5b 60 2d ...For.other.folds,.see.also.[`-
652a0 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 60 5d 28 23 2d 72 65 64 75 63 74 69 6f 6e 73 reductions-r-from`](#-reductions
652c0 2d 72 2d 66 72 6f 6d 2d 66 6e 2d 69 6e 69 74 2d 6c 69 73 74 29 20 61 6e 64 0a 5b 60 2d 72 65 64 -r-from-fn-init-list).and.[`-red
652e0 75 63 74 69 6f 6e 73 60 5d 28 23 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 6e 2d 6c 69 73 74 29 2e uctions`](#-reductions-fn-list).
65300 0a 0a 60 60 60 65 6c 0a 28 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 20 23 27 2b 20 27 28 31 20 32 ..```el.(-reductions-r.#'+.'(1.2
65320 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 31 30 20 39 20 37 20 34 29 0a 28 2d 72 65 64 75 63 74 .3.4)).;;.=>.(10.9.7.4).(-reduct
65340 69 6f 6e 73 2d 72 20 23 27 2a 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 32 34 ions-r.#'*.'(1.2.3.4)).;;.=>.(24
65360 20 32 34 20 31 32 20 34 29 0a 28 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 20 28 66 6f 72 6d 61 .24.12.4).(--reductions-r.(forma
65380 74 20 22 28 46 4e 20 25 64 20 25 73 29 22 20 69 74 20 61 63 63 29 20 27 28 31 20 32 20 33 29 29 t."(FN.%d.%s)".it.acc).'(1.2.3))
653a0 20 3b 3b 20 3d 3e 20 28 22 28 46 4e 20 31 20 28 46 4e 20 32 20 33 29 29 22 20 22 28 46 4e 20 32 .;;.=>.("(FN.1.(FN.2.3))"."(FN.2
653c0 20 33 29 22 20 33 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 63 6f 75 6e 74 20 60 28 70 72 65 64 20 .3)".3).```..####.-count.`(pred.
653e0 6c 69 73 74 29 60 0a 0a 43 6f 75 6e 74 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 69 74 65 list)`..Counts.the.number.of.ite
65400 6d 73 20 69 6e 20 60 6c 69 73 74 60 20 77 68 65 72 65 20 28 60 70 72 65 64 60 20 69 74 65 6d 29 ms.in.`list`.where.(`pred`.item)
65420 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 0a 60 60 60 65 6c 0a 28 2d 63 6f 75 6e 74 20 27 65 76 65 .is.non-nil...```el.(-count.'eve
65440 6e 3f 20 27 28 31 20 32 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 32 0a 28 2d 2d 63 6f 75 6e n?.'(1.2.3.4.5)).;;.=>.2.(--coun
65460 74 20 28 3c 20 69 74 20 34 29 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 33 0a 60 t.(<.it.4).'(1.2.3.4)).;;.=>.3.`
65480 60 60 0a 0a 23 23 23 23 20 2d 73 75 6d 20 60 28 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 74 ``..####.-sum.`(list)`..Return.t
654a0 68 65 20 73 75 6d 20 6f 66 20 60 6c 69 73 74 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 73 75 6d 20 28 he.sum.of.`list`...```el.(-sum.(
654c0 29 29 20 3b 3b 20 3d 3e 20 30 0a 28 2d 73 75 6d 20 27 28 31 29 29 20 3b 3b 20 3d 3e 20 31 0a 28 )).;;.=>.0.(-sum.'(1)).;;.=>.1.(
654e0 2d 73 75 6d 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 31 30 0a 60 60 60 0a 0a 23 -sum.'(1.2.3.4)).;;.=>.10.```..#
65500 23 23 23 20 2d 72 75 6e 6e 69 6e 67 2d 73 75 6d 20 60 28 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 ###.-running-sum.`(list)`..Retur
65520 6e 20 61 20 6c 69 73 74 20 77 69 74 68 20 72 75 6e 6e 69 6e 67 20 73 75 6d 73 20 6f 66 20 69 74 n.a.list.with.running.sums.of.it
65540 65 6d 73 20 69 6e 20 60 6c 69 73 74 60 2e 0a 60 6c 69 73 74 60 20 6d 75 73 74 20 62 65 20 6e 6f ems.in.`list`..`list`.must.be.no
65560 6e 2d 65 6d 70 74 79 2e 0a 0a 60 60 60 65 6c 0a 28 2d 72 75 6e 6e 69 6e 67 2d 73 75 6d 20 27 28 n-empty...```el.(-running-sum.'(
65580 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 31 20 33 20 36 20 31 30 29 0a 28 2d 72 75 6e 1.2.3.4)).;;.=>.(1.3.6.10).(-run
655a0 6e 69 6e 67 2d 73 75 6d 20 27 28 31 29 29 20 3b 3b 20 3d 3e 20 28 31 29 0a 28 2d 72 75 6e 6e 69 ning-sum.'(1)).;;.=>.(1).(-runni
655c0 6e 67 2d 73 75 6d 20 28 29 29 20 3b 3b 20 57 72 6f 6e 67 20 74 79 70 65 20 61 72 67 75 6d 65 6e ng-sum.()).;;.Wrong.type.argumen
655e0 74 3a 20 63 6f 6e 73 70 2c 20 6e 69 6c 0a 60 60 60 0a 0a 23 23 23 23 20 2d 70 72 6f 64 75 63 74 t:.consp,.nil.```..####.-product
65600 20 60 28 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 74 68 65 20 70 72 6f 64 75 63 74 20 6f 66 .`(list)`..Return.the.product.of
65620 20 60 6c 69 73 74 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 70 72 6f 64 75 63 74 20 28 29 29 20 3b 3b .`list`...```el.(-product.()).;;
65640 20 3d 3e 20 31 0a 28 2d 70 72 6f 64 75 63 74 20 27 28 31 29 29 20 3b 3b 20 3d 3e 20 31 0a 28 2d .=>.1.(-product.'(1)).;;.=>.1.(-
65660 70 72 6f 64 75 63 74 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 32 34 0a 60 60 60 product.'(1.2.3.4)).;;.=>.24.```
65680 0a 0a 23 23 23 23 20 2d 72 75 6e 6e 69 6e 67 2d 70 72 6f 64 75 63 74 20 60 28 6c 69 73 74 29 60 ..####.-running-product.`(list)`
656a0 0a 0a 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 77 69 74 68 20 72 75 6e 6e 69 6e 67 20 70 72 6f ..Return.a.list.with.running.pro
656c0 64 75 63 74 73 20 6f 66 20 69 74 65 6d 73 20 69 6e 20 60 6c 69 73 74 60 2e 0a 60 6c 69 73 74 60 ducts.of.items.in.`list`..`list`
656e0 20 6d 75 73 74 20 62 65 20 6e 6f 6e 2d 65 6d 70 74 79 2e 0a 0a 60 60 60 65 6c 0a 28 2d 72 75 6e .must.be.non-empty...```el.(-run
65700 6e 69 6e 67 2d 70 72 6f 64 75 63 74 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 ning-product.'(1.2.3.4)).;;.=>.(
65720 31 20 32 20 36 20 32 34 29 0a 28 2d 72 75 6e 6e 69 6e 67 2d 70 72 6f 64 75 63 74 20 27 28 31 29 1.2.6.24).(-running-product.'(1)
65740 29 20 3b 3b 20 3d 3e 20 28 31 29 0a 28 2d 72 75 6e 6e 69 6e 67 2d 70 72 6f 64 75 63 74 20 28 29 ).;;.=>.(1).(-running-product.()
65760 29 20 3b 3b 20 57 72 6f 6e 67 20 74 79 70 65 20 61 72 67 75 6d 65 6e 74 3a 20 63 6f 6e 73 70 2c ).;;.Wrong.type.argument:.consp,
65780 20 6e 69 6c 0a 60 60 60 0a 0a 23 23 23 23 20 2d 69 6e 69 74 73 20 60 28 6c 69 73 74 29 60 0a 0a .nil.```..####.-inits.`(list)`..
657a0 52 65 74 75 72 6e 20 61 6c 6c 20 70 72 65 66 69 78 65 73 20 6f 66 20 60 6c 69 73 74 60 2e 0a 0a Return.all.prefixes.of.`list`...
657c0 60 60 60 65 6c 0a 28 2d 69 6e 69 74 73 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 ```el.(-inits.'(1.2.3.4)).;;.=>.
657e0 28 6e 69 6c 20 28 31 29 20 28 31 20 32 29 20 28 31 20 32 20 33 29 20 28 31 20 32 20 33 20 34 29 (nil.(1).(1.2).(1.2.3).(1.2.3.4)
65800 29 0a 28 2d 69 6e 69 74 73 20 6e 69 6c 29 20 3b 3b 20 3d 3e 20 28 6e 69 6c 29 0a 28 2d 69 6e 69 ).(-inits.nil).;;.=>.(nil).(-ini
65820 74 73 20 27 28 31 29 29 20 3b 3b 20 3d 3e 20 28 6e 69 6c 20 28 31 29 29 0a 60 60 60 0a 0a 23 23 ts.'(1)).;;.=>.(nil.(1)).```..##
65840 23 23 20 2d 74 61 69 6c 73 20 60 28 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 61 6c 6c 20 73 ##.-tails.`(list)`..Return.all.s
65860 75 66 66 69 78 65 73 20 6f 66 20 60 6c 69 73 74 60 0a 0a 60 60 60 65 6c 0a 28 2d 74 61 69 6c 73 uffixes.of.`list`..```el.(-tails
65880 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 32 20 33 20 34 29 20 28 32 .'(1.2.3.4)).;;.=>.((1.2.3.4).(2
658a0 20 33 20 34 29 20 28 33 20 34 29 20 28 34 29 20 6e 69 6c 29 0a 28 2d 74 61 69 6c 73 20 6e 69 6c .3.4).(3.4).(4).nil).(-tails.nil
658c0 29 20 3b 3b 20 3d 3e 20 28 6e 69 6c 29 0a 28 2d 74 61 69 6c 73 20 27 28 31 29 29 20 3b 3b 20 3d ).;;.=>.(nil).(-tails.'(1)).;;.=
658e0 3e 20 28 28 31 29 20 6e 69 6c 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 63 6f 6d 6d 6f 6e 2d 70 72 >.((1).nil).```..####.-common-pr
65900 65 66 69 78 20 60 28 26 72 65 73 74 20 6c 69 73 74 73 29 60 0a 0a 52 65 74 75 72 6e 20 74 68 65 efix.`(&rest.lists)`..Return.the
65920 20 6c 6f 6e 67 65 73 74 20 63 6f 6d 6d 6f 6e 20 70 72 65 66 69 78 20 6f 66 20 60 6c 69 73 74 73 .longest.common.prefix.of.`lists
65940 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 63 6f 6d 6d 6f 6e 2d 70 72 65 66 69 78 20 27 28 31 29 29 20 `...```el.(-common-prefix.'(1)).
65960 3b 3b 20 3d 3e 20 28 31 29 0a 28 2d 63 6f 6d 6d 6f 6e 2d 70 72 65 66 69 78 20 27 28 31 20 32 29 ;;.=>.(1).(-common-prefix.'(1.2)
65980 20 27 28 33 20 34 29 20 27 28 31 20 32 29 29 20 3b 3b 20 3d 3e 20 28 29 0a 28 2d 63 6f 6d 6d 6f .'(3.4).'(1.2)).;;.=>.().(-commo
659a0 6e 2d 70 72 65 66 69 78 20 27 28 31 20 32 29 20 27 28 31 20 32 20 33 29 20 27 28 31 20 32 20 33 n-prefix.'(1.2).'(1.2.3).'(1.2.3
659c0 20 34 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 63 6f 6d 6d .4)).;;.=>.(1.2).```..####.-comm
659e0 6f 6e 2d 73 75 66 66 69 78 20 60 28 26 72 65 73 74 20 6c 69 73 74 73 29 60 0a 0a 52 65 74 75 72 on-suffix.`(&rest.lists)`..Retur
65a00 6e 20 74 68 65 20 6c 6f 6e 67 65 73 74 20 63 6f 6d 6d 6f 6e 20 73 75 66 66 69 78 20 6f 66 20 60 n.the.longest.common.suffix.of.`
65a20 6c 69 73 74 73 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 63 6f 6d 6d 6f 6e 2d 73 75 66 66 69 78 20 27 lists`...```el.(-common-suffix.'
65a40 28 31 29 29 20 3b 3b 20 3d 3e 20 28 31 29 0a 28 2d 63 6f 6d 6d 6f 6e 2d 73 75 66 66 69 78 20 27 (1)).;;.=>.(1).(-common-suffix.'
65a60 28 31 20 32 29 20 27 28 33 20 34 29 20 27 28 31 20 32 29 29 20 3b 3b 20 3d 3e 20 28 29 0a 28 2d (1.2).'(3.4).'(1.2)).;;.=>.().(-
65a80 63 6f 6d 6d 6f 6e 2d 73 75 66 66 69 78 20 27 28 31 20 32 20 33 20 34 29 20 27 28 32 20 33 20 34 common-suffix.'(1.2.3.4).'(2.3.4
65aa0 29 20 27 28 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 33 20 34 29 0a 60 60 60 0a 0a 23 23 23 23 20 ).'(3.4)).;;.=>.(3.4).```..####.
65ac0 2d 6d 69 6e 20 60 28 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 74 68 65 20 73 6d 61 6c 6c 65 -min.`(list)`..Return.the.smalle
65ae0 73 74 20 76 61 6c 75 65 20 66 72 6f 6d 20 60 6c 69 73 74 60 20 6f 66 20 6e 75 6d 62 65 72 73 20 st.value.from.`list`.of.numbers.
65b00 6f 72 20 6d 61 72 6b 65 72 73 2e 0a 0a 60 60 60 65 6c 0a 28 2d 6d 69 6e 20 27 28 30 29 29 20 3b or.markers...```el.(-min.'(0)).;
65b20 3b 20 3d 3e 20 30 0a 28 2d 6d 69 6e 20 27 28 33 20 32 20 31 29 29 20 3b 3b 20 3d 3e 20 31 0a 28 ;.=>.0.(-min.'(3.2.1)).;;.=>.1.(
65b40 2d 6d 69 6e 20 27 28 31 20 32 20 33 29 29 20 3b 3b 20 3d 3e 20 31 0a 60 60 60 0a 0a 23 23 23 23 -min.'(1.2.3)).;;.=>.1.```..####
65b60 20 2d 6d 69 6e 2d 62 79 20 60 28 63 6f 6d 70 61 72 61 74 6f 72 20 6c 69 73 74 29 60 0a 0a 54 61 .-min-by.`(comparator.list)`..Ta
65b80 6b 65 20 61 20 63 6f 6d 70 61 72 69 73 6f 6e 20 66 75 6e 63 74 69 6f 6e 20 60 63 6f 6d 70 61 72 ke.a.comparison.function.`compar
65ba0 61 74 6f 72 60 20 61 6e 64 20 61 20 60 6c 69 73 74 60 20 61 6e 64 20 72 65 74 75 72 6e 0a 74 68 ator`.and.a.`list`.and.return.th
65bc0 65 20 6c 65 61 73 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 6c 69 73 74 20 62 79 20 74 e.least.element.of.the.list.by.t
65be0 68 65 20 63 6f 6d 70 61 72 69 73 6f 6e 20 66 75 6e 63 74 69 6f 6e 2e 0a 0a 53 65 65 20 61 6c 73 he.comparison.function...See.als
65c00 6f 20 63 6f 6d 62 69 6e 61 74 6f 72 20 5b 60 2d 6f 6e 60 5d 28 23 2d 6f 6e 2d 6f 70 2d 74 72 61 o.combinator.[`-on`](#-on-op-tra
65c20 6e 73 29 20 77 68 69 63 68 20 63 61 6e 20 74 72 61 6e 73 66 6f 72 6d 20 74 68 65 20 76 61 6c 75 ns).which.can.transform.the.valu
65c40 65 73 20 62 65 66 6f 72 65 0a 63 6f 6d 70 61 72 69 6e 67 20 74 68 65 6d 2e 0a 0a 60 60 60 65 6c es.before.comparing.them...```el
65c60 0a 28 2d 6d 69 6e 2d 62 79 20 27 3e 20 27 28 34 20 33 20 36 20 31 29 29 20 3b 3b 20 3d 3e 20 31 .(-min-by.'>.'(4.3.6.1)).;;.=>.1
65c80 0a 28 2d 2d 6d 69 6e 2d 62 79 20 28 3e 20 28 63 61 72 20 69 74 29 20 28 63 61 72 20 6f 74 68 65 .(--min-by.(>.(car.it).(car.othe
65ca0 72 29 29 20 27 28 28 31 20 32 20 33 29 20 28 32 29 20 28 33 20 32 29 29 29 20 3b 3b 20 3d 3e 20 r)).'((1.2.3).(2).(3.2))).;;.=>.
65cc0 28 31 20 32 20 33 29 0a 28 2d 2d 6d 69 6e 2d 62 79 20 28 3e 20 28 6c 65 6e 67 74 68 20 69 74 29 (1.2.3).(--min-by.(>.(length.it)
65ce0 20 28 6c 65 6e 67 74 68 20 6f 74 68 65 72 29 29 20 27 28 28 31 20 32 20 33 29 20 28 32 29 20 28 .(length.other)).'((1.2.3).(2).(
65d00 33 20 32 29 29 29 20 3b 3b 20 3d 3e 20 28 32 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 6d 61 78 20 3.2))).;;.=>.(2).```..####.-max.
65d20 60 28 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 74 68 65 20 6c 61 72 67 65 73 74 20 76 61 6c `(list)`..Return.the.largest.val
65d40 75 65 20 66 72 6f 6d 20 60 6c 69 73 74 60 20 6f 66 20 6e 75 6d 62 65 72 73 20 6f 72 20 6d 61 72 ue.from.`list`.of.numbers.or.mar
65d60 6b 65 72 73 2e 0a 0a 60 60 60 65 6c 0a 28 2d 6d 61 78 20 27 28 30 29 29 20 3b 3b 20 3d 3e 20 30 kers...```el.(-max.'(0)).;;.=>.0
65d80 0a 28 2d 6d 61 78 20 27 28 33 20 32 20 31 29 29 20 3b 3b 20 3d 3e 20 33 0a 28 2d 6d 61 78 20 27 .(-max.'(3.2.1)).;;.=>.3.(-max.'
65da0 28 31 20 32 20 33 29 29 20 3b 3b 20 3d 3e 20 33 0a 60 60 60 0a 0a 23 23 23 23 20 2d 6d 61 78 2d (1.2.3)).;;.=>.3.```..####.-max-
65dc0 62 79 20 60 28 63 6f 6d 70 61 72 61 74 6f 72 20 6c 69 73 74 29 60 0a 0a 54 61 6b 65 20 61 20 63 by.`(comparator.list)`..Take.a.c
65de0 6f 6d 70 61 72 69 73 6f 6e 20 66 75 6e 63 74 69 6f 6e 20 60 63 6f 6d 70 61 72 61 74 6f 72 60 20 omparison.function.`comparator`.
65e00 61 6e 64 20 61 20 60 6c 69 73 74 60 20 61 6e 64 20 72 65 74 75 72 6e 0a 74 68 65 20 67 72 65 61 and.a.`list`.and.return.the.grea
65e20 74 65 73 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 6c 69 73 74 20 62 79 20 74 68 65 20 test.element.of.the.list.by.the.
65e40 63 6f 6d 70 61 72 69 73 6f 6e 20 66 75 6e 63 74 69 6f 6e 2e 0a 0a 53 65 65 20 61 6c 73 6f 20 63 comparison.function...See.also.c
65e60 6f 6d 62 69 6e 61 74 6f 72 20 5b 60 2d 6f 6e 60 5d 28 23 2d 6f 6e 2d 6f 70 2d 74 72 61 6e 73 29 ombinator.[`-on`](#-on-op-trans)
65e80 20 77 68 69 63 68 20 63 61 6e 20 74 72 61 6e 73 66 6f 72 6d 20 74 68 65 20 76 61 6c 75 65 73 20 .which.can.transform.the.values.
65ea0 62 65 66 6f 72 65 0a 63 6f 6d 70 61 72 69 6e 67 20 74 68 65 6d 2e 0a 0a 60 60 60 65 6c 0a 28 2d before.comparing.them...```el.(-
65ec0 6d 61 78 2d 62 79 20 27 3e 20 27 28 34 20 33 20 36 20 31 29 29 20 3b 3b 20 3d 3e 20 36 0a 28 2d max-by.'>.'(4.3.6.1)).;;.=>.6.(-
65ee0 2d 6d 61 78 2d 62 79 20 28 3e 20 28 63 61 72 20 69 74 29 20 28 63 61 72 20 6f 74 68 65 72 29 29 -max-by.(>.(car.it).(car.other))
65f00 20 27 28 28 31 20 32 20 33 29 20 28 32 29 20 28 33 20 32 29 29 29 20 3b 3b 20 3d 3e 20 28 33 20 .'((1.2.3).(2).(3.2))).;;.=>.(3.
65f20 32 29 0a 28 2d 2d 6d 61 78 2d 62 79 20 28 3e 20 28 6c 65 6e 67 74 68 20 69 74 29 20 28 6c 65 6e 2).(--max-by.(>.(length.it).(len
65f40 67 74 68 20 6f 74 68 65 72 29 29 20 27 28 28 31 20 32 20 33 29 20 28 32 29 20 28 33 20 32 29 29 gth.other)).'((1.2.3).(2).(3.2))
65f60 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 29 0a 60 60 60 0a 0a 23 23 20 55 6e 66 6f 6c 64 69 6e ).;;.=>.(1.2.3).```..##.Unfoldin
65f80 67 0a 0a 4f 70 65 72 61 74 69 6f 6e 73 20 64 75 61 6c 20 74 6f 20 72 65 64 75 63 74 69 6f 6e 73 g..Operations.dual.to.reductions
65fa0 2c 20 62 75 69 6c 64 69 6e 67 20 6c 69 73 74 73 20 66 72 6f 6d 20 61 20 73 65 65 64 0a 76 61 6c ,.building.lists.from.a.seed.val
65fc0 75 65 20 72 61 74 68 65 72 20 74 68 61 6e 20 63 6f 6e 73 75 6d 69 6e 67 20 61 20 6c 69 73 74 20 ue.rather.than.consuming.a.list.
65fe0 74 6f 20 70 72 6f 64 75 63 65 20 61 20 73 69 6e 67 6c 65 20 76 61 6c 75 65 2e 0a 0a 23 23 23 23 to.produce.a.single.value...####
66000 20 2d 69 74 65 72 61 74 65 20 60 28 66 75 6e 20 69 6e 69 74 20 6e 29 60 0a 0a 52 65 74 75 72 6e .-iterate.`(fun.init.n)`..Return
66020 20 61 20 6c 69 73 74 20 6f 66 20 69 74 65 72 61 74 65 64 20 61 70 70 6c 69 63 61 74 69 6f 6e 73 .a.list.of.iterated.applications
66040 20 6f 66 20 60 66 75 6e 60 20 74 6f 20 60 69 6e 69 74 60 2e 0a 0a 54 68 69 73 20 6d 65 61 6e 73 .of.`fun`.to.`init`...This.means
66060 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 66 6f 72 6d 3a 0a 0a 20 20 20 20 28 60 69 6e 69 74 .a.list.of.the.form:......(`init
66080 60 20 28 60 66 75 6e 60 20 60 69 6e 69 74 60 29 20 28 60 66 75 6e 60 20 28 60 66 75 6e 60 20 60 `.(`fun`.`init`).(`fun`.(`fun`.`
660a0 69 6e 69 74 60 29 29 20 2e 2e 2e 29 0a 0a 60 6e 60 20 69 73 20 74 68 65 20 6c 65 6e 67 74 68 20 init`))....)..`n`.is.the.length.
660c0 6f 66 20 74 68 65 20 72 65 74 75 72 6e 65 64 20 6c 69 73 74 2e 0a 0a 60 60 60 65 6c 0a 28 2d 69 of.the.returned.list...```el.(-i
660e0 74 65 72 61 74 65 20 23 27 31 2b 20 31 20 31 30 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 20 34 terate.#'1+.1.10).;;.=>.(1.2.3.4
66100 20 35 20 36 20 37 20 38 20 39 20 31 30 29 0a 28 2d 69 74 65 72 61 74 65 20 28 6c 61 6d 62 64 61 .5.6.7.8.9.10).(-iterate.(lambda
66120 20 28 78 29 20 28 2b 20 78 20 78 29 29 20 32 20 35 29 20 3b 3b 20 3d 3e 20 28 32 20 34 20 38 20 .(x).(+.x.x)).2.5).;;.=>.(2.4.8.
66140 31 36 20 33 32 29 0a 28 2d 2d 69 74 65 72 61 74 65 20 28 2a 20 69 74 20 69 74 29 20 32 20 35 29 16.32).(--iterate.(*.it.it).2.5)
66160 20 3b 3b 20 3d 3e 20 28 32 20 34 20 31 36 20 32 35 36 20 36 35 35 33 36 29 0a 60 60 60 0a 0a 23 .;;.=>.(2.4.16.256.65536).```..#
66180 23 23 23 20 2d 75 6e 66 6f 6c 64 20 60 28 66 75 6e 20 73 65 65 64 29 60 0a 0a 42 75 69 6c 64 20 ###.-unfold.`(fun.seed)`..Build.
661a0 61 20 6c 69 73 74 20 66 72 6f 6d 20 60 73 65 65 64 60 20 75 73 69 6e 67 20 60 66 75 6e 60 2e 0a a.list.from.`seed`.using.`fun`..
661c0 0a 54 68 69 73 20 69 73 20 22 64 75 61 6c 22 20 6f 70 65 72 61 74 69 6f 6e 20 74 6f 20 5b 60 2d .This.is."dual".operation.to.[`-
661e0 72 65 64 75 63 65 2d 72 60 5d 28 23 2d 72 65 64 75 63 65 2d 72 2d 66 6e 2d 6c 69 73 74 29 3a 20 reduce-r`](#-reduce-r-fn-list):.
66200 77 68 69 6c 65 20 2d 72 65 64 75 63 65 2d 72 0a 63 6f 6e 73 75 6d 65 73 20 61 20 6c 69 73 74 20 while.-reduce-r.consumes.a.list.
66220 74 6f 20 70 72 6f 64 75 63 65 20 61 20 73 69 6e 67 6c 65 20 76 61 6c 75 65 2c 20 5b 60 2d 75 6e to.produce.a.single.value,.[`-un
66240 66 6f 6c 64 60 5d 28 23 2d 75 6e 66 6f 6c 64 2d 66 75 6e 2d 73 65 65 64 29 20 74 61 6b 65 73 20 fold`](#-unfold-fun-seed).takes.
66260 61 0a 73 65 65 64 20 76 61 6c 75 65 20 61 6e 64 20 62 75 69 6c 64 73 20 61 20 28 70 6f 74 65 6e a.seed.value.and.builds.a.(poten
66280 74 69 61 6c 6c 79 20 69 6e 66 69 6e 69 74 65 21 29 20 6c 69 73 74 2e 0a 0a 60 66 75 6e 60 20 73 tially.infinite!).list...`fun`.s
662a0 68 6f 75 6c 64 20 72 65 74 75 72 6e 20 60 6e 69 6c 60 20 74 6f 20 73 74 6f 70 20 74 68 65 20 67 hould.return.`nil`.to.stop.the.g
662c0 65 6e 65 72 61 74 69 6e 67 20 70 72 6f 63 65 73 73 2c 20 6f 72 20 61 0a 63 6f 6e 73 20 28 60 61 enerating.process,.or.a.cons.(`a
662e0 60 20 2e 20 60 62 60 29 2c 20 77 68 65 72 65 20 60 61 60 20 77 69 6c 6c 20 62 65 20 70 72 65 70 `...`b`),.where.`a`.will.be.prep
66300 65 6e 64 65 64 20 74 6f 20 74 68 65 20 72 65 73 75 6c 74 20 61 6e 64 20 60 62 60 20 69 73 0a 74 ended.to.the.result.and.`b`.is.t
66320 68 65 20 6e 65 77 20 73 65 65 64 2e 0a 0a 60 60 60 65 6c 0a 28 2d 75 6e 66 6f 6c 64 20 28 6c 61 he.new.seed...```el.(-unfold.(la
66340 6d 62 64 61 20 28 78 29 20 28 75 6e 6c 65 73 73 20 28 3d 20 78 20 30 29 20 28 63 6f 6e 73 20 78 mbda.(x).(unless.(=.x.0).(cons.x
66360 20 28 31 2d 20 78 29 29 29 29 20 31 30 29 20 3b 3b 20 3d 3e 20 28 31 30 20 39 20 38 20 37 20 36 .(1-.x)))).10).;;.=>.(10.9.8.7.6
66380 20 35 20 34 20 33 20 32 20 31 29 0a 28 2d 2d 75 6e 66 6f 6c 64 20 28 77 68 65 6e 20 69 74 20 28 .5.4.3.2.1).(--unfold.(when.it.(
663a0 63 6f 6e 73 20 69 74 20 28 63 64 72 20 69 74 29 29 29 20 27 28 31 20 32 20 33 20 34 29 29 20 3b cons.it.(cdr.it))).'(1.2.3.4)).;
663c0 3b 20 3d 3e 20 28 28 31 20 32 20 33 20 34 29 20 28 32 20 33 20 34 29 20 28 33 20 34 29 20 28 34 ;.=>.((1.2.3.4).(2.3.4).(3.4).(4
663e0 29 29 0a 28 2d 2d 75 6e 66 6f 6c 64 20 28 77 68 65 6e 20 69 74 20 28 63 6f 6e 73 20 69 74 20 28 )).(--unfold.(when.it.(cons.it.(
66400 62 75 74 6c 61 73 74 20 69 74 29 29 29 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 butlast.it))).'(1.2.3.4)).;;.=>.
66420 28 28 31 20 32 20 33 20 34 29 20 28 31 20 32 20 33 29 20 28 31 20 32 29 20 28 31 29 29 0a 60 60 ((1.2.3.4).(1.2.3).(1.2).(1)).``
66440 60 0a 0a 23 23 20 50 72 65 64 69 63 61 74 65 73 0a 0a 52 65 64 75 63 74 69 6f 6e 73 20 6f 66 20 `..##.Predicates..Reductions.of.
66460 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 6c 69 73 74 73 20 74 6f 20 61 20 62 6f 6f 6c 65 61 6e 20 76 one.or.more.lists.to.a.boolean.v
66480 61 6c 75 65 2e 0a 0a 23 23 23 23 20 2d 73 6f 6d 65 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a alue...####.-some.`(pred.list)`.
664a0 0a 52 65 74 75 72 6e 20 28 60 70 72 65 64 60 20 78 29 20 66 6f 72 20 74 68 65 20 66 69 72 73 74 .Return.(`pred`.x).for.the.first
664c0 20 60 6c 69 73 74 60 20 69 74 65 6d 20 77 68 65 72 65 20 28 60 70 72 65 64 60 20 78 29 20 69 73 .`list`.item.where.(`pred`.x).is
664e0 20 6e 6f 6e 2d 6e 69 6c 2c 20 65 6c 73 65 20 6e 69 6c 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 61 6e .non-nil,.else.nil...Alias:.`-an
66500 79 60 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 y`...This.function's.anaphoric.c
66520 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 73 6f 6d 65 60 2e 0a 0a 60 60 60 65 6c 0a 28 ounterpart.is.`--some`...```el.(
66540 2d 73 6f 6d 65 20 23 27 73 74 72 69 6e 67 70 20 27 28 31 20 22 32 22 20 33 29 29 20 3b 3b 20 3d -some.#'stringp.'(1."2".3)).;;.=
66560 3e 20 74 0a 28 2d 2d 73 6f 6d 65 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 22 78 22 20 >.t.(--some.(string-match-p."x".
66580 69 74 29 20 27 28 22 66 6f 6f 22 20 22 61 78 65 22 20 22 78 6f 72 22 29 29 20 3b 3b 20 3d 3e 20 it).'("foo"."axe"."xor")).;;.=>.
665a0 31 0a 28 2d 2d 73 6f 6d 65 20 28 3d 20 69 74 2d 69 6e 64 65 78 20 33 29 20 27 28 30 20 31 20 32 1.(--some.(=.it-index.3).'(0.1.2
665c0 29 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 60 60 60 0a 0a 23 23 23 23 20 2d 65 76 65 72 79 20 60 28 )).;;.=>.nil.```..####.-every.`(
665e0 70 72 65 64 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 60 pred.list)`..Return.non-nil.if.`
66600 70 72 65 64 60 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 20 66 6f 72 20 61 6c 6c 20 69 74 pred`.returns.non-nil.for.all.it
66620 65 6d 73 20 69 6e 20 60 6c 69 73 74 60 2e 0a 49 66 20 73 6f 2c 20 72 65 74 75 72 6e 20 74 68 65 ems.in.`list`..If.so,.return.the
66640 20 6c 61 73 74 20 73 75 63 68 20 72 65 73 75 6c 74 20 6f 66 20 60 70 72 65 64 60 2e 20 20 4f 74 .last.such.result.of.`pred`...Ot
66660 68 65 72 77 69 73 65 2c 20 6f 6e 63 65 20 61 6e 0a 69 74 65 6d 20 69 73 20 72 65 61 63 68 65 64 herwise,.once.an.item.is.reached
66680 20 66 6f 72 20 77 68 69 63 68 20 60 70 72 65 64 60 20 72 65 74 75 72 6e 73 20 6e 69 6c 2c 20 72 .for.which.`pred`.returns.nil,.r
666a0 65 74 75 72 6e 20 6e 69 6c 20 77 69 74 68 6f 75 74 0a 63 61 6c 6c 69 6e 67 20 60 70 72 65 64 60 eturn.nil.without.calling.`pred`
666c0 20 6f 6e 20 61 6e 79 20 66 75 72 74 68 65 72 20 60 6c 69 73 74 60 20 65 6c 65 6d 65 6e 74 73 2e .on.any.further.`list`.elements.
666e0 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6c 69 6b 65 20 60 2d 65 76 65 72 79 2d ..This.function.is.like.`-every-
66700 70 60 2c 20 62 75 74 20 6f 6e 20 73 75 63 63 65 73 73 20 72 65 74 75 72 6e 73 20 74 68 65 20 6c p`,.but.on.success.returns.the.l
66720 61 73 74 0a 6e 6f 6e 2d 6e 69 6c 20 72 65 73 75 6c 74 20 6f 66 20 60 70 72 65 64 60 20 69 6e 73 ast.non-nil.result.of.`pred`.ins
66740 74 65 61 64 20 6f 66 20 6a 75 73 74 20 74 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 tead.of.just.t...This.function's
66760 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 65 76 65 .anaphoric.counterpart.is.`--eve
66780 72 79 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 65 76 65 72 79 20 23 27 6e 75 6d 62 65 72 70 20 27 28 ry`...```el.(-every.#'numberp.'(
667a0 31 20 32 20 33 29 29 20 3b 3b 20 3d 3e 20 74 0a 28 2d 2d 65 76 65 72 79 20 28 73 74 72 69 6e 67 1.2.3)).;;.=>.t.(--every.(string
667c0 2d 6d 61 74 63 68 2d 70 20 22 78 22 20 69 74 29 20 27 28 22 61 78 65 22 20 22 78 6f 72 22 29 29 -match-p."x".it).'("axe"."xor"))
667e0 20 3b 3b 20 3d 3e 20 30 0a 28 2d 2d 65 76 65 72 79 20 28 3d 20 69 74 20 69 74 2d 69 6e 64 65 78 .;;.=>.0.(--every.(=.it.it-index
66800 29 20 27 28 30 20 31 20 33 29 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 60 60 60 0a 0a 23 23 23 23 20 ).'(0.1.3)).;;.=>.nil.```..####.
66820 2d 61 6e 79 3f 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 74 20 69 66 -any?.`(pred.list)`..Return.t.if
66840 20 28 60 70 72 65 64 60 20 78 29 20 69 73 20 6e 6f 6e 2d 6e 69 6c 20 66 6f 72 20 61 6e 79 20 78 .(`pred`.x).is.non-nil.for.any.x
66860 20 69 6e 20 60 6c 69 73 74 60 2c 20 65 6c 73 65 20 6e 69 6c 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d .in.`list`,.else.nil...Alias:.`-
66880 61 6e 79 2d 70 60 2c 20 60 2d 73 6f 6d 65 3f 60 2c 20 60 2d 73 6f 6d 65 2d 70 60 0a 0a 60 60 60 any-p`,.`-some?`,.`-some-p`..```
668a0 65 6c 0a 28 2d 61 6e 79 3f 20 23 27 6e 75 6d 62 65 72 70 20 27 28 6e 69 6c 20 30 20 74 29 29 20 el.(-any?.#'numberp.'(nil.0.t)).
668c0 3b 3b 20 3d 3e 20 74 0a 28 2d 61 6e 79 3f 20 23 27 6e 75 6d 62 65 72 70 20 27 28 6e 69 6c 20 74 ;;.=>.t.(-any?.#'numberp.'(nil.t
668e0 20 74 29 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 28 2d 61 6e 79 3f 20 23 27 6e 75 6c 6c 20 27 28 31 .t)).;;.=>.nil.(-any?.#'null.'(1
66900 20 33 20 35 29 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 60 60 60 0a 0a 23 23 23 23 20 2d 61 6c 6c 3f .3.5)).;;.=>.nil.```..####.-all?
66920 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 74 20 69 66 20 28 60 70 72 .`(pred.list)`..Return.t.if.(`pr
66940 65 64 60 20 60 78 60 29 20 69 73 20 6e 6f 6e 2d 6e 69 6c 20 66 6f 72 20 61 6c 6c 20 60 78 60 20 ed`.`x`).is.non-nil.for.all.`x`.
66960 69 6e 20 60 6c 69 73 74 60 2c 20 65 6c 73 65 20 6e 69 6c 2e 0a 49 6e 20 74 68 65 20 6c 61 74 74 in.`list`,.else.nil..In.the.latt
66980 65 72 20 63 61 73 65 2c 20 73 74 6f 70 20 61 66 74 65 72 20 74 68 65 20 66 69 72 73 74 20 60 78 er.case,.stop.after.the.first.`x
669a0 60 20 66 6f 72 20 77 68 69 63 68 20 28 60 70 72 65 64 60 20 60 78 60 29 20 69 73 0a 6e 69 6c 2c `.for.which.(`pred`.`x`).is.nil,
669c0 20 77 69 74 68 6f 75 74 20 63 61 6c 6c 69 6e 67 20 60 70 72 65 64 60 20 6f 6e 20 61 6e 79 20 73 .without.calling.`pred`.on.any.s
669e0 75 62 73 65 71 75 65 6e 74 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 60 6c 69 73 74 60 2e 0a 0a 54 ubsequent.elements.of.`list`...T
66a00 68 65 20 73 69 6d 69 6c 61 72 20 66 75 6e 63 74 69 6f 6e 20 5b 60 2d 65 76 65 72 79 60 5d 28 23 he.similar.function.[`-every`](#
66a20 2d 65 76 65 72 79 2d 70 72 65 64 2d 6c 69 73 74 29 20 69 73 20 6d 6f 72 65 20 77 69 64 65 6c 79 -every-pred-list).is.more.widely
66a40 20 75 73 65 66 75 6c 2c 20 73 69 6e 63 65 20 69 74 0a 72 65 74 75 72 6e 73 20 74 68 65 20 6c 61 .useful,.since.it.returns.the.la
66a60 73 74 20 6e 6f 6e 2d 6e 69 6c 20 72 65 73 75 6c 74 20 6f 66 20 60 70 72 65 64 60 20 69 6e 73 74 st.non-nil.result.of.`pred`.inst
66a80 65 61 64 20 6f 66 20 6a 75 73 74 20 74 20 6f 6e 0a 73 75 63 63 65 73 73 2e 0a 0a 41 6c 69 61 73 ead.of.just.t.on.success...Alias
66aa0 3a 20 60 2d 61 6c 6c 2d 70 60 2c 20 60 2d 65 76 65 72 79 2d 70 60 2c 20 60 2d 65 76 65 72 79 3f :.`-all-p`,.`-every-p`,.`-every?
66ac0 60 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f `...This.function's.anaphoric.co
66ae0 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 61 6c 6c 3f 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d unterpart.is.`--all?`...```el.(-
66b00 61 6c 6c 3f 20 23 27 6e 75 6d 62 65 72 70 20 27 28 31 20 32 20 33 29 29 20 3b 3b 20 3d 3e 20 74 all?.#'numberp.'(1.2.3)).;;.=>.t
66b20 0a 28 2d 61 6c 6c 3f 20 23 27 6e 75 6d 62 65 72 70 20 27 28 32 20 74 20 36 29 29 20 3b 3b 20 3d .(-all?.#'numberp.'(2.t.6)).;;.=
66b40 3e 20 6e 69 6c 0a 28 2d 2d 61 6c 6c 3f 20 28 3d 20 30 20 28 25 20 69 74 20 32 29 29 20 27 28 32 >.nil.(--all?.(=.0.(%.it.2)).'(2
66b60 20 34 20 36 29 29 20 3b 3b 20 3d 3e 20 74 0a 60 60 60 0a 0a 23 23 23 23 20 2d 6e 6f 6e 65 3f 20 .4.6)).;;.=>.t.```..####.-none?.
66b80 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 74 20 69 66 20 28 60 70 72 65 `(pred.list)`..Return.t.if.(`pre
66ba0 64 60 20 78 29 20 69 73 20 6e 69 6c 20 66 6f 72 20 61 6c 6c 20 78 20 69 6e 20 60 6c 69 73 74 60 d`.x).is.nil.for.all.x.in.`list`
66bc0 2c 20 65 6c 73 65 20 6e 69 6c 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 6e 6f 6e 65 2d 70 60 0a 0a 60 ,.else.nil...Alias:.`-none-p`..`
66be0 60 60 65 6c 0a 28 2d 6e 6f 6e 65 3f 20 27 65 76 65 6e 3f 20 27 28 31 20 32 20 33 29 29 20 3b 3b ``el.(-none?.'even?.'(1.2.3)).;;
66c00 20 3d 3e 20 6e 69 6c 0a 28 2d 6e 6f 6e 65 3f 20 27 65 76 65 6e 3f 20 27 28 31 20 33 20 35 29 29 .=>.nil.(-none?.'even?.'(1.3.5))
66c20 20 3b 3b 20 3d 3e 20 74 0a 28 2d 2d 6e 6f 6e 65 3f 20 28 3d 20 30 20 28 25 20 69 74 20 32 29 29 .;;.=>.t.(--none?.(=.0.(%.it.2))
66c40 20 27 28 31 20 32 20 33 29 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 60 60 60 0a 0a 23 23 23 23 20 2d .'(1.2.3)).;;.=>.nil.```..####.-
66c60 6f 6e 6c 79 2d 73 6f 6d 65 3f 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e only-some?.`(pred.list)`..Return
66c80 20 60 74 60 20 69 66 20 61 74 20 6c 65 61 73 74 20 6f 6e 65 20 69 74 65 6d 20 6f 66 20 60 6c 69 .`t`.if.at.least.one.item.of.`li
66ca0 73 74 60 20 6d 61 74 63 68 65 73 20 60 70 72 65 64 60 20 61 6e 64 20 61 74 20 6c 65 61 73 74 20 st`.matches.`pred`.and.at.least.
66cc0 6f 6e 65 20 69 74 65 6d 20 6f 66 20 60 6c 69 73 74 60 20 64 6f 65 73 20 6e 6f 74 20 6d 61 74 63 one.item.of.`list`.does.not.matc
66ce0 68 20 60 70 72 65 64 60 2e 0a 52 65 74 75 72 6e 20 60 6e 69 6c 60 20 62 6f 74 68 20 69 66 20 61 h.`pred`..Return.`nil`.both.if.a
66d00 6c 6c 20 69 74 65 6d 73 20 6d 61 74 63 68 20 74 68 65 20 70 72 65 64 69 63 61 74 65 20 6f 72 20 ll.items.match.the.predicate.or.
66d20 69 66 20 6e 6f 6e 65 20 6f 66 20 74 68 65 20 69 74 65 6d 73 20 6d 61 74 63 68 20 74 68 65 20 70 if.none.of.the.items.match.the.p
66d40 72 65 64 69 63 61 74 65 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 6f 6e 6c 79 2d 73 6f 6d 65 2d 70 60 redicate...Alias:.`-only-some-p`
66d60 0a 0a 60 60 60 65 6c 0a 28 2d 6f 6e 6c 79 2d 73 6f 6d 65 3f 20 27 65 76 65 6e 3f 20 27 28 31 20 ..```el.(-only-some?.'even?.'(1.
66d80 32 20 33 29 29 20 3b 3b 20 3d 3e 20 74 0a 28 2d 6f 6e 6c 79 2d 73 6f 6d 65 3f 20 27 65 76 65 6e 2.3)).;;.=>.t.(-only-some?.'even
66da0 3f 20 27 28 31 20 33 20 35 29 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 28 2d 6f 6e 6c 79 2d 73 6f 6d ?.'(1.3.5)).;;.=>.nil.(-only-som
66dc0 65 3f 20 27 65 76 65 6e 3f 20 27 28 32 20 34 20 36 29 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 60 60 e?.'even?.'(2.4.6)).;;.=>.nil.``
66de0 60 0a 0a 23 23 23 23 20 2d 63 6f 6e 74 61 69 6e 73 3f 20 60 28 6c 69 73 74 20 65 6c 65 6d 65 6e `..####.-contains?.`(list.elemen
66e00 74 29 60 0a 0a 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 60 6c 69 73 74 60 20 63 6f t)`..Return.non-nil.if.`list`.co
66e20 6e 74 61 69 6e 73 20 60 65 6c 65 6d 65 6e 74 60 2e 0a 0a 54 68 65 20 74 65 73 74 20 66 6f 72 20 ntains.`element`...The.test.for.
66e40 65 71 75 61 6c 69 74 79 20 69 73 20 64 6f 6e 65 20 77 69 74 68 20 60 65 71 75 61 6c 60 2c 20 6f equality.is.done.with.`equal`,.o
66e60 72 20 77 69 74 68 20 60 2d 63 6f 6d 70 61 72 65 2d 66 6e 60 0a 69 66 20 74 68 61 74 27 73 20 6e r.with.`-compare-fn`.if.that's.n
66e80 6f 6e 2d 6e 69 6c 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 63 6f 6e 74 61 69 6e 73 2d 70 60 0a 0a 60 on-nil...Alias:.`-contains-p`..`
66ea0 60 60 65 6c 0a 28 2d 63 6f 6e 74 61 69 6e 73 3f 20 27 28 31 20 32 20 33 29 20 31 29 20 3b 3b 20 ``el.(-contains?.'(1.2.3).1).;;.
66ec0 3d 3e 20 74 0a 28 2d 63 6f 6e 74 61 69 6e 73 3f 20 27 28 31 20 32 20 33 29 20 32 29 20 3b 3b 20 =>.t.(-contains?.'(1.2.3).2).;;.
66ee0 3d 3e 20 74 0a 28 2d 63 6f 6e 74 61 69 6e 73 3f 20 27 28 31 20 32 20 33 29 20 34 29 20 3b 3b 20 =>.t.(-contains?.'(1.2.3).4).;;.
66f00 3d 3e 20 6e 69 6c 0a 60 60 60 0a 0a 23 23 23 23 20 2d 73 61 6d 65 2d 69 74 65 6d 73 3f 20 60 28 =>.nil.```..####.-same-items?.`(
66f20 6c 69 73 74 20 6c 69 73 74 32 29 60 0a 0a 52 65 74 75 72 6e 20 74 72 75 65 20 69 66 20 60 6c 69 list.list2)`..Return.true.if.`li
66f40 73 74 60 20 61 6e 64 20 60 6c 69 73 74 32 60 20 68 61 73 20 74 68 65 20 73 61 6d 65 20 69 74 65 st`.and.`list2`.has.the.same.ite
66f60 6d 73 2e 0a 0a 54 68 65 20 6f 72 64 65 72 20 6f 66 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 69 ms...The.order.of.the.elements.i
66f80 6e 20 74 68 65 20 6c 69 73 74 73 20 64 6f 65 73 20 6e 6f 74 20 6d 61 74 74 65 72 2e 0a 0a 41 6c n.the.lists.does.not.matter...Al
66fa0 69 61 73 3a 20 60 2d 73 61 6d 65 2d 69 74 65 6d 73 2d 70 60 0a 0a 60 60 60 65 6c 0a 28 2d 73 61 ias:.`-same-items-p`..```el.(-sa
66fc0 6d 65 2d 69 74 65 6d 73 3f 20 27 28 31 20 32 20 33 29 20 27 28 31 20 32 20 33 29 29 20 3b 3b 20 me-items?.'(1.2.3).'(1.2.3)).;;.
66fe0 3d 3e 20 74 0a 28 2d 73 61 6d 65 2d 69 74 65 6d 73 3f 20 27 28 31 20 32 20 33 29 20 27 28 33 20 =>.t.(-same-items?.'(1.2.3).'(3.
67000 32 20 31 29 29 20 3b 3b 20 3d 3e 20 74 0a 28 2d 73 61 6d 65 2d 69 74 65 6d 73 3f 20 27 28 31 20 2.1)).;;.=>.t.(-same-items?.'(1.
67020 32 20 33 29 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 60 60 60 0a 0a 2.3).'(1.2.3.4)).;;.=>.nil.```..
67040 23 23 23 23 20 2d 69 73 2d 70 72 65 66 69 78 3f 20 60 28 70 72 65 66 69 78 20 6c 69 73 74 29 60 ####.-is-prefix?.`(prefix.list)`
67060 0a 0a 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 60 70 72 65 66 69 78 60 20 69 73 20 ..Return.non-nil.if.`prefix`.is.
67080 61 20 70 72 65 66 69 78 20 6f 66 20 60 6c 69 73 74 60 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 69 73 a.prefix.of.`list`...Alias:.`-is
670a0 2d 70 72 65 66 69 78 2d 70 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 69 73 2d 70 72 65 66 69 78 3f 20 -prefix-p`...```el.(-is-prefix?.
670c0 27 28 31 20 32 20 33 29 20 27 28 31 20 32 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 74 0a 28 '(1.2.3).'(1.2.3.4.5)).;;.=>.t.(
670e0 2d 69 73 2d 70 72 65 66 69 78 3f 20 27 28 31 20 32 20 33 20 34 20 35 29 20 27 28 31 20 32 20 33 -is-prefix?.'(1.2.3.4.5).'(1.2.3
67100 29 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 28 2d 69 73 2d 70 72 65 66 69 78 3f 20 27 28 31 20 33 29 )).;;.=>.nil.(-is-prefix?.'(1.3)
67120 20 27 28 31 20 32 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 60 60 60 0a 0a 23 23 .'(1.2.3.4.5)).;;.=>.nil.```..##
67140 23 23 20 2d 69 73 2d 73 75 66 66 69 78 3f 20 60 28 73 75 66 66 69 78 20 6c 69 73 74 29 60 0a 0a ##.-is-suffix?.`(suffix.list)`..
67160 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 60 73 75 66 66 69 78 60 20 69 73 20 61 20 Return.non-nil.if.`suffix`.is.a.
67180 73 75 66 66 69 78 20 6f 66 20 60 6c 69 73 74 60 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 69 73 2d 73 suffix.of.`list`...Alias:.`-is-s
671a0 75 66 66 69 78 2d 70 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 69 73 2d 73 75 66 66 69 78 3f 20 27 28 uffix-p`...```el.(-is-suffix?.'(
671c0 33 20 34 20 35 29 20 27 28 31 20 32 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 74 0a 28 2d 69 3.4.5).'(1.2.3.4.5)).;;.=>.t.(-i
671e0 73 2d 73 75 66 66 69 78 3f 20 27 28 31 20 32 20 33 20 34 20 35 29 20 27 28 33 20 34 20 35 29 29 s-suffix?.'(1.2.3.4.5).'(3.4.5))
67200 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 28 2d 69 73 2d 73 75 66 66 69 78 3f 20 27 28 33 20 35 29 20 27 .;;.=>.nil.(-is-suffix?.'(3.5).'
67220 28 31 20 32 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 60 60 60 0a 0a 23 23 23 23 (1.2.3.4.5)).;;.=>.nil.```..####
67240 20 2d 69 73 2d 69 6e 66 69 78 3f 20 60 28 69 6e 66 69 78 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 .-is-infix?.`(infix.list)`..Retu
67260 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 60 69 6e 66 69 78 60 20 69 73 20 69 6e 66 69 78 20 6f rn.non-nil.if.`infix`.is.infix.o
67280 66 20 60 6c 69 73 74 60 2e 0a 0a 54 68 69 73 20 6f 70 65 72 61 74 69 6f 6e 20 72 75 6e 73 20 69 f.`list`...This.operation.runs.i
672a0 6e 20 4f 28 6e 5e 32 29 20 74 69 6d 65 0a 0a 41 6c 69 61 73 3a 20 60 2d 69 73 2d 69 6e 66 69 78 n.O(n^2).time..Alias:.`-is-infix
672c0 2d 70 60 0a 0a 60 60 60 65 6c 0a 28 2d 69 73 2d 69 6e 66 69 78 3f 20 27 28 31 20 32 20 33 29 20 -p`..```el.(-is-infix?.'(1.2.3).
672e0 27 28 31 20 32 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 74 0a 28 2d 69 73 2d 69 6e 66 69 78 '(1.2.3.4.5)).;;.=>.t.(-is-infix
67300 3f 20 27 28 32 20 33 20 34 29 20 27 28 31 20 32 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 74 ?.'(2.3.4).'(1.2.3.4.5)).;;.=>.t
67320 0a 28 2d 69 73 2d 69 6e 66 69 78 3f 20 27 28 33 20 34 20 35 29 20 27 28 31 20 32 20 33 20 34 20 .(-is-infix?.'(3.4.5).'(1.2.3.4.
67340 35 29 29 20 3b 3b 20 3d 3e 20 74 0a 60 60 60 0a 0a 23 23 23 23 20 2d 63 6f 6e 73 2d 70 61 69 72 5)).;;.=>.t.```..####.-cons-pair
67360 3f 20 60 28 6f 62 6a 29 60 0a 0a 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 60 6f 62 ?.`(obj)`..Return.non-nil.if.`ob
67380 6a 60 20 69 73 20 61 20 74 72 75 65 20 63 6f 6e 73 20 70 61 69 72 2e 0a 54 68 61 74 20 69 73 2c j`.is.a.true.cons.pair..That.is,
673a0 20 61 20 63 6f 6e 73 20 28 60 61 60 20 2e 20 60 62 60 29 20 77 68 65 72 65 20 60 62 60 20 69 73 .a.cons.(`a`...`b`).where.`b`.is
673c0 20 6e 6f 74 20 61 20 6c 69 73 74 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 63 6f 6e 73 2d 70 61 69 72 .not.a.list...Alias:.`-cons-pair
673e0 2d 70 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 63 6f 6e 73 2d 70 61 69 72 3f 20 27 28 31 20 2e 20 32 -p`...```el.(-cons-pair?.'(1...2
67400 29 29 20 3b 3b 20 3d 3e 20 74 0a 28 2d 63 6f 6e 73 2d 70 61 69 72 3f 20 27 28 31 20 32 29 29 20 )).;;.=>.t.(-cons-pair?.'(1.2)).
67420 3b 3b 20 3d 3e 20 6e 69 6c 0a 28 2d 63 6f 6e 73 2d 70 61 69 72 3f 20 27 28 31 29 29 20 3b 3b 20 ;;.=>.nil.(-cons-pair?.'(1)).;;.
67440 3d 3e 20 6e 69 6c 0a 60 60 60 0a 0a 23 23 20 50 61 72 74 69 74 69 6f 6e 69 6e 67 0a 0a 46 75 6e =>.nil.```..##.Partitioning..Fun
67460 63 74 69 6f 6e 73 20 70 61 72 74 69 74 69 6f 6e 69 6e 67 20 74 68 65 20 69 6e 70 75 74 20 6c 69 ctions.partitioning.the.input.li
67480 73 74 20 69 6e 74 6f 20 61 20 6c 69 73 74 20 6f 66 20 6c 69 73 74 73 2e 0a 0a 23 23 23 23 20 2d st.into.a.list.of.lists...####.-
674a0 73 70 6c 69 74 2d 61 74 20 60 28 6e 20 6c 69 73 74 29 60 0a 0a 53 70 6c 69 74 20 60 6c 69 73 74 split-at.`(n.list)`..Split.`list
674c0 60 20 69 6e 74 6f 20 74 77 6f 20 73 75 62 6c 69 73 74 73 20 61 66 74 65 72 20 74 68 65 20 60 6e `.into.two.sublists.after.the.`n
674e0 60 74 68 20 65 6c 65 6d 65 6e 74 2e 0a 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 20 6c 69 73 `th.element..The.result.is.a.lis
67500 74 20 6f 66 20 74 77 6f 20 65 6c 65 6d 65 6e 74 73 20 28 60 74 61 6b 65 60 20 60 64 72 6f 70 60 t.of.two.elements.(`take`.`drop`
67520 29 20 77 68 65 72 65 20 60 74 61 6b 65 60 20 69 73 20 61 0a 6e 65 77 20 6c 69 73 74 20 6f 66 20 ).where.`take`.is.a.new.list.of.
67540 74 68 65 20 66 69 72 73 74 20 60 6e 60 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 60 6c 69 73 74 60 the.first.`n`.elements.of.`list`
67560 2c 20 61 6e 64 20 60 64 72 6f 70 60 20 69 73 20 74 68 65 0a 72 65 6d 61 69 6e 69 6e 67 20 65 6c ,.and.`drop`.is.the.remaining.el
67580 65 6d 65 6e 74 73 20 6f 66 20 60 6c 69 73 74 60 20 28 6e 6f 74 20 61 20 63 6f 70 79 29 2e 20 20 ements.of.`list`.(not.a.copy)...
675a0 60 74 61 6b 65 60 20 61 6e 64 20 60 64 72 6f 70 60 20 61 72 65 20 6c 69 6b 65 0a 74 68 65 20 72 `take`.and.`drop`.are.like.the.r
675c0 65 73 75 6c 74 73 20 6f 66 20 5b 60 2d 74 61 6b 65 60 5d 28 23 2d 74 61 6b 65 2d 6e 2d 6c 69 73 esults.of.[`-take`](#-take-n-lis
675e0 74 29 20 61 6e 64 20 5b 60 2d 64 72 6f 70 60 5d 28 23 2d 64 72 6f 70 2d 6e 2d 6c 69 73 74 29 2c t).and.[`-drop`](#-drop-n-list),
67600 20 72 65 73 70 65 63 74 69 76 65 6c 79 2c 20 62 75 74 20 74 68 65 20 73 70 6c 69 74 0a 69 73 20 .respectively,.but.the.split.is.
67620 64 6f 6e 65 20 69 6e 20 61 20 73 69 6e 67 6c 65 20 6c 69 73 74 20 74 72 61 76 65 72 73 61 6c 2e done.in.a.single.list.traversal.
67640 0a 0a 60 60 60 65 6c 0a 28 2d 73 70 6c 69 74 2d 61 74 20 33 20 27 28 31 20 32 20 33 20 34 20 35 ..```el.(-split-at.3.'(1.2.3.4.5
67660 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 32 20 33 29 20 28 34 20 35 29 29 0a 28 2d 73 70 6c 69 74 )).;;.=>.((1.2.3).(4.5)).(-split
67680 2d 61 74 20 31 37 20 27 28 31 20 32 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 32 -at.17.'(1.2.3.4.5)).;;.=>.((1.2
676a0 20 33 20 34 20 35 29 20 6e 69 6c 29 0a 28 2d 73 70 6c 69 74 2d 61 74 20 30 20 27 28 31 20 32 20 .3.4.5).nil).(-split-at.0.'(1.2.
676c0 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 28 6e 69 6c 20 28 31 20 32 20 33 20 34 20 35 29 29 0a 3.4.5)).;;.=>.(nil.(1.2.3.4.5)).
676e0 60 60 60 0a 0a 23 23 23 23 20 2d 73 70 6c 69 74 2d 77 69 74 68 20 60 28 70 72 65 64 20 6c 69 73 ```..####.-split-with.`(pred.lis
67700 74 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 28 28 2d 74 61 6b 65 2d 77 68 t)`..Return.a.list.of.((-take-wh
67720 69 6c 65 20 60 70 72 65 64 60 20 60 6c 69 73 74 60 29 20 28 2d 64 72 6f 70 2d 77 68 69 6c 65 20 ile.`pred`.`list`).(-drop-while.
67740 60 70 72 65 64 60 20 60 6c 69 73 74 60 29 29 2c 20 69 6e 20 6e 6f 20 6d 6f 72 65 20 74 68 61 6e `pred`.`list`)),.in.no.more.than
67760 20 6f 6e 65 20 70 61 73 73 20 74 68 72 6f 75 67 68 20 74 68 65 20 6c 69 73 74 2e 0a 0a 60 60 60 .one.pass.through.the.list...```
67780 65 6c 0a 28 2d 73 70 6c 69 74 2d 77 69 74 68 20 27 65 76 65 6e 3f 20 27 28 31 20 32 20 33 20 34 el.(-split-with.'even?.'(1.2.3.4
677a0 29 29 20 3b 3b 20 3d 3e 20 28 6e 69 6c 20 28 31 20 32 20 33 20 34 29 29 0a 28 2d 73 70 6c 69 74 )).;;.=>.(nil.(1.2.3.4)).(-split
677c0 2d 77 69 74 68 20 27 65 76 65 6e 3f 20 27 28 32 20 34 20 35 20 36 29 29 20 3b 3b 20 3d 3e 20 28 -with.'even?.'(2.4.5.6)).;;.=>.(
677e0 28 32 20 34 29 20 28 35 20 36 29 29 0a 28 2d 2d 73 70 6c 69 74 2d 77 69 74 68 20 28 3c 20 69 74 (2.4).(5.6)).(--split-with.(<.it
67800 20 34 29 20 27 28 31 20 32 20 33 20 34 20 33 20 32 20 31 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 .4).'(1.2.3.4.3.2.1)).;;.=>.((1.
67820 32 20 33 29 20 28 34 20 33 20 32 20 31 29 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 73 70 6c 69 74 2.3).(4.3.2.1)).```..####.-split
67840 2d 6f 6e 20 60 28 69 74 65 6d 20 6c 69 73 74 29 60 0a 0a 53 70 6c 69 74 20 74 68 65 20 60 6c 69 -on.`(item.list)`..Split.the.`li
67860 73 74 60 20 65 61 63 68 20 74 69 6d 65 20 60 69 74 65 6d 60 20 69 73 20 66 6f 75 6e 64 2e 0a 0a st`.each.time.`item`.is.found...
67880 55 6e 6c 69 6b 65 20 5b 60 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 60 5d 28 23 2d 70 61 72 74 69 Unlike.[`-partition-by`](#-parti
678a0 74 69 6f 6e 2d 62 79 2d 66 6e 2d 6c 69 73 74 29 2c 20 74 68 65 20 60 69 74 65 6d 60 20 69 73 20 tion-by-fn-list),.the.`item`.is.
678c0 64 69 73 63 61 72 64 65 64 20 66 72 6f 6d 20 74 68 65 20 72 65 73 75 6c 74 73 2e 0a 45 6d 70 74 discarded.from.the.results..Empt
678e0 79 20 6c 69 73 74 73 20 61 72 65 20 61 6c 73 6f 20 72 65 6d 6f 76 65 64 20 66 72 6f 6d 20 74 68 y.lists.are.also.removed.from.th
67900 65 20 72 65 73 75 6c 74 2e 0a 0a 43 6f 6d 70 61 72 69 73 6f 6e 20 69 73 20 64 6f 6e 65 20 62 79 e.result...Comparison.is.done.by
67920 20 60 65 71 75 61 6c 60 2e 0a 0a 53 65 65 20 61 6c 73 6f 20 5b 60 2d 73 70 6c 69 74 2d 77 68 65 .`equal`...See.also.[`-split-whe
67940 6e 60 5d 28 23 2d 73 70 6c 69 74 2d 77 68 65 6e 2d 66 6e 2d 6c 69 73 74 29 0a 0a 60 60 60 65 6c n`](#-split-when-fn-list)..```el
67960 0a 28 2d 73 70 6c 69 74 2d 6f 6e 20 27 7c 20 27 28 4e 69 6c 20 7c 20 4c 65 61 66 20 61 20 7c 20 .(-split-on.'|.'(Nil.|.Leaf.a.|.
67980 4e 6f 64 65 20 5b 54 72 65 65 20 61 5d 29 29 20 3b 3b 20 3d 3e 20 28 28 4e 69 6c 29 20 28 4c 65 Node.[Tree.a])).;;.=>.((Nil).(Le
679a0 61 66 20 61 29 20 28 4e 6f 64 65 20 5b 54 72 65 65 20 61 5d 29 29 0a 28 2d 73 70 6c 69 74 2d 6f af.a).(Node.[Tree.a])).(-split-o
679c0 6e 20 3a 65 6e 64 67 72 6f 75 70 20 27 28 22 61 22 20 22 62 22 20 3a 65 6e 64 67 72 6f 75 70 20 n.:endgroup.'("a"."b".:endgroup.
679e0 22 63 22 20 3a 65 6e 64 67 72 6f 75 70 20 22 64 22 20 22 65 22 29 29 20 3b 3b 20 3d 3e 20 28 28 "c".:endgroup."d"."e")).;;.=>.((
67a00 22 61 22 20 22 62 22 29 20 28 22 63 22 29 20 28 22 64 22 20 22 65 22 29 29 0a 28 2d 73 70 6c 69 "a"."b").("c").("d"."e")).(-spli
67a20 74 2d 6f 6e 20 3a 65 6e 64 67 72 6f 75 70 20 27 28 22 61 22 20 22 62 22 20 3a 65 6e 64 67 72 6f t-on.:endgroup.'("a"."b".:endgro
67a40 75 70 20 3a 65 6e 64 67 72 6f 75 70 20 22 64 22 20 22 65 22 29 29 20 3b 3b 20 3d 3e 20 28 28 22 up.:endgroup."d"."e")).;;.=>.(("
67a60 61 22 20 22 62 22 29 20 28 22 64 22 20 22 65 22 29 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 73 70 a"."b").("d"."e")).```..####.-sp
67a80 6c 69 74 2d 77 68 65 6e 20 60 28 66 6e 20 6c 69 73 74 29 60 0a 0a 53 70 6c 69 74 20 74 68 65 20 lit-when.`(fn.list)`..Split.the.
67aa0 60 6c 69 73 74 60 20 6f 6e 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 77 68 65 72 65 20 60 66 6e `list`.on.each.element.where.`fn
67ac0 60 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 0a 55 6e 6c 69 6b 65 20 5b 60 2d 70 61 `.returns.non-nil...Unlike.[`-pa
67ae0 72 74 69 74 69 6f 6e 2d 62 79 60 5d 28 23 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 2d 66 6e 2d 6c rtition-by`](#-partition-by-fn-l
67b00 69 73 74 29 2c 20 74 68 65 20 22 6d 61 74 63 68 65 64 22 20 65 6c 65 6d 65 6e 74 20 69 73 20 64 ist),.the."matched".element.is.d
67b20 69 73 63 61 72 64 65 64 20 66 72 6f 6d 0a 74 68 65 20 72 65 73 75 6c 74 73 2e 20 20 45 6d 70 74 iscarded.from.the.results...Empt
67b40 79 20 6c 69 73 74 73 20 61 72 65 20 61 6c 73 6f 20 72 65 6d 6f 76 65 64 20 66 72 6f 6d 20 74 68 y.lists.are.also.removed.from.th
67b60 65 20 72 65 73 75 6c 74 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 20 62 65 20 e.result...This.function.can.be.
67b80 74 68 6f 75 67 68 74 20 6f 66 20 61 73 20 61 20 67 65 6e 65 72 61 6c 69 7a 61 74 69 6f 6e 20 6f thought.of.as.a.generalization.o
67ba0 66 0a 60 73 70 6c 69 74 2d 73 74 72 69 6e 67 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 73 70 6c 69 74 f.`split-string`...```el.(-split
67bc0 2d 77 68 65 6e 20 27 65 76 65 6e 3f 20 27 28 31 20 32 20 33 20 34 20 35 20 36 29 29 20 3b 3b 20 -when.'even?.'(1.2.3.4.5.6)).;;.
67be0 3d 3e 20 28 28 31 29 20 28 33 29 20 28 35 29 29 0a 28 2d 73 70 6c 69 74 2d 77 68 65 6e 20 27 65 =>.((1).(3).(5)).(-split-when.'e
67c00 76 65 6e 3f 20 27 28 31 20 32 20 33 20 34 20 36 20 38 20 39 29 29 20 3b 3b 20 3d 3e 20 28 28 31 ven?.'(1.2.3.4.6.8.9)).;;.=>.((1
67c20 29 20 28 33 29 20 28 39 29 29 0a 28 2d 2d 73 70 6c 69 74 2d 77 68 65 6e 20 28 6d 65 6d 71 20 69 ).(3).(9)).(--split-when.(memq.i
67c40 74 20 27 28 26 6f 70 74 69 6f 6e 61 6c 20 26 72 65 73 74 29 29 20 27 28 61 20 62 20 26 6f 70 74 t.'(&optional.&rest)).'(a.b.&opt
67c60 69 6f 6e 61 6c 20 63 20 64 20 26 72 65 73 74 20 61 72 67 73 29 29 20 3b 3b 20 3d 3e 20 28 28 61 ional.c.d.&rest.args)).;;.=>.((a
67c80 20 62 29 20 28 63 20 64 29 20 28 61 72 67 73 29 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 73 65 70 .b).(c.d).(args)).```..####.-sep
67ca0 61 72 61 74 65 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 6c 69 arate.`(pred.list)`..Return.a.li
67cc0 73 74 20 6f 66 20 28 28 2d 66 69 6c 74 65 72 20 60 70 72 65 64 60 20 60 6c 69 73 74 60 29 20 28 st.of.((-filter.`pred`.`list`).(
67ce0 2d 72 65 6d 6f 76 65 20 60 70 72 65 64 60 20 60 6c 69 73 74 60 29 29 2c 20 69 6e 20 6f 6e 65 20 -remove.`pred`.`list`)),.in.one.
67d00 70 61 73 73 20 74 68 72 6f 75 67 68 20 74 68 65 20 6c 69 73 74 2e 0a 0a 60 60 60 65 6c 0a 28 2d pass.through.the.list...```el.(-
67d20 73 65 70 61 72 61 74 65 20 28 6c 61 6d 62 64 61 20 28 6e 75 6d 29 20 28 3d 20 30 20 28 25 20 6e separate.(lambda.(num).(=.0.(%.n
67d40 75 6d 20 32 29 29 29 20 27 28 31 20 32 20 33 20 34 20 35 20 36 20 37 29 29 20 3b 3b 20 3d 3e 20 um.2))).'(1.2.3.4.5.6.7)).;;.=>.
67d60 28 28 32 20 34 20 36 29 20 28 31 20 33 20 35 20 37 29 29 0a 28 2d 2d 73 65 70 61 72 61 74 65 20 ((2.4.6).(1.3.5.7)).(--separate.
67d80 28 3c 20 69 74 20 35 29 20 27 28 33 20 37 20 35 20 39 20 33 20 32 20 31 20 34 20 36 29 29 20 3b (<.it.5).'(3.7.5.9.3.2.1.4.6)).;
67da0 3b 20 3d 3e 20 28 28 33 20 33 20 32 20 31 20 34 29 20 28 37 20 35 20 39 20 36 29 29 0a 28 2d 73 ;.=>.((3.3.2.1.4).(7.5.9.6)).(-s
67dc0 65 70 61 72 61 74 65 20 27 63 64 72 20 27 28 28 31 20 32 29 20 28 31 29 20 28 31 20 32 20 33 29 eparate.'cdr.'((1.2).(1).(1.2.3)
67de0 20 28 34 29 29 29 20 3b 3b 20 3d 3e 20 28 28 28 31 20 32 29 20 28 31 20 32 20 33 29 29 20 28 28 .(4))).;;.=>.(((1.2).(1.2.3)).((
67e00 31 29 20 28 34 29 29 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 70 61 72 74 69 74 69 6f 6e 20 60 28 1).(4))).```..####.-partition.`(
67e20 6e 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 77 69 74 68 n.list)`..Return.a.new.list.with
67e40 20 74 68 65 20 69 74 65 6d 73 20 69 6e 20 60 6c 69 73 74 60 20 67 72 6f 75 70 65 64 20 69 6e 74 .the.items.in.`list`.grouped.int
67e60 6f 20 60 6e 60 2d 73 69 7a 65 64 20 73 75 62 6c 69 73 74 73 2e 0a 49 66 20 74 68 65 72 65 20 61 o.`n`-sized.sublists..If.there.a
67e80 72 65 20 6e 6f 74 20 65 6e 6f 75 67 68 20 69 74 65 6d 73 20 74 6f 20 6d 61 6b 65 20 74 68 65 20 re.not.enough.items.to.make.the.
67ea0 6c 61 73 74 20 67 72 6f 75 70 20 60 6e 60 2d 73 69 7a 65 64 2c 0a 74 68 6f 73 65 20 69 74 65 6d last.group.`n`-sized,.those.item
67ec0 73 20 61 72 65 20 64 69 73 63 61 72 64 65 64 2e 0a 0a 60 60 60 65 6c 0a 28 2d 70 61 72 74 69 74 s.are.discarded...```el.(-partit
67ee0 69 6f 6e 20 32 20 27 28 31 20 32 20 33 20 34 20 35 20 36 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 ion.2.'(1.2.3.4.5.6)).;;.=>.((1.
67f00 32 29 20 28 33 20 34 29 20 28 35 20 36 29 29 0a 28 2d 70 61 72 74 69 74 69 6f 6e 20 32 20 27 28 2).(3.4).(5.6)).(-partition.2.'(
67f20 31 20 32 20 33 20 34 20 35 20 36 20 37 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 32 29 20 28 33 20 1.2.3.4.5.6.7)).;;.=>.((1.2).(3.
67f40 34 29 20 28 35 20 36 29 29 0a 28 2d 70 61 72 74 69 74 69 6f 6e 20 33 20 27 28 31 20 32 20 33 20 4).(5.6)).(-partition.3.'(1.2.3.
67f60 34 20 35 20 36 20 37 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 32 20 33 29 20 28 34 20 35 20 36 29 4.5.6.7)).;;.=>.((1.2.3).(4.5.6)
67f80 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 20 60 28 6e 20 6c ).```..####.-partition-all.`(n.l
67fa0 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 77 69 74 68 20 74 68 ist)`..Return.a.new.list.with.th
67fc0 65 20 69 74 65 6d 73 20 69 6e 20 60 6c 69 73 74 60 20 67 72 6f 75 70 65 64 20 69 6e 74 6f 20 60 e.items.in.`list`.grouped.into.`
67fe0 6e 60 2d 73 69 7a 65 64 20 73 75 62 6c 69 73 74 73 2e 0a 54 68 65 20 6c 61 73 74 20 67 72 6f 75 n`-sized.sublists..The.last.grou
68000 70 20 6d 61 79 20 63 6f 6e 74 61 69 6e 20 6c 65 73 73 20 74 68 61 6e 20 60 6e 60 20 69 74 65 6d p.may.contain.less.than.`n`.item
68020 73 2e 0a 0a 60 60 60 65 6c 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 20 32 20 27 28 31 20 s...```el.(-partition-all.2.'(1.
68040 32 20 33 20 34 20 35 20 36 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 32 29 20 28 33 20 34 29 20 28 2.3.4.5.6)).;;.=>.((1.2).(3.4).(
68060 35 20 36 29 29 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 20 32 20 27 28 31 20 32 20 33 20 5.6)).(-partition-all.2.'(1.2.3.
68080 34 20 35 20 36 20 37 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 32 29 20 28 33 20 34 29 20 28 35 20 4.5.6.7)).;;.=>.((1.2).(3.4).(5.
680a0 36 29 20 28 37 29 29 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 20 33 20 27 28 31 20 32 20 6).(7)).(-partition-all.3.'(1.2.
680c0 33 20 34 20 35 20 36 20 37 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 32 20 33 29 20 28 34 20 35 20 3.4.5.6.7)).;;.=>.((1.2.3).(4.5.
680e0 36 29 20 28 37 29 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 70 61 72 74 69 74 69 6f 6e 2d 69 6e 2d 6).(7)).```..####.-partition-in-
68100 73 74 65 70 73 20 60 28 6e 20 73 74 65 70 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 steps.`(n.step.list)`..Return.a.
68120 6e 65 77 20 6c 69 73 74 20 77 69 74 68 20 74 68 65 20 69 74 65 6d 73 20 69 6e 20 60 6c 69 73 74 new.list.with.the.items.in.`list
68140 60 20 67 72 6f 75 70 65 64 20 69 6e 74 6f 20 60 6e 60 2d 73 69 7a 65 64 20 73 75 62 6c 69 73 74 `.grouped.into.`n`-sized.sublist
68160 73 20 61 74 20 6f 66 66 73 65 74 73 20 60 73 74 65 70 60 20 61 70 61 72 74 2e 0a 49 66 20 74 68 s.at.offsets.`step`.apart..If.th
68180 65 72 65 20 61 72 65 20 6e 6f 74 20 65 6e 6f 75 67 68 20 69 74 65 6d 73 20 74 6f 20 6d 61 6b 65 ere.are.not.enough.items.to.make
681a0 20 74 68 65 20 6c 61 73 74 20 67 72 6f 75 70 20 60 6e 60 2d 73 69 7a 65 64 2c 0a 74 68 6f 73 65 .the.last.group.`n`-sized,.those
681c0 20 69 74 65 6d 73 20 61 72 65 20 64 69 73 63 61 72 64 65 64 2e 0a 0a 60 60 60 65 6c 0a 28 2d 70 .items.are.discarded...```el.(-p
681e0 61 72 74 69 74 69 6f 6e 2d 69 6e 2d 73 74 65 70 73 20 32 20 31 20 27 28 31 20 32 20 33 20 34 29 artition-in-steps.2.1.'(1.2.3.4)
68200 29 20 3b 3b 20 3d 3e 20 28 28 31 20 32 29 20 28 32 20 33 29 20 28 33 20 34 29 29 0a 28 2d 70 61 ).;;.=>.((1.2).(2.3).(3.4)).(-pa
68220 72 74 69 74 69 6f 6e 2d 69 6e 2d 73 74 65 70 73 20 33 20 32 20 27 28 31 20 32 20 33 20 34 29 29 rtition-in-steps.3.2.'(1.2.3.4))
68240 20 3b 3b 20 3d 3e 20 28 28 31 20 32 20 33 29 29 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 69 6e 2d .;;.=>.((1.2.3)).(-partition-in-
68260 73 74 65 70 73 20 33 20 32 20 27 28 31 20 32 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 28 28 steps.3.2.'(1.2.3.4.5)).;;.=>.((
68280 31 20 32 20 33 29 20 28 33 20 34 20 35 29 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 70 61 72 74 69 1.2.3).(3.4.5)).```..####.-parti
682a0 74 69 6f 6e 2d 61 6c 6c 2d 69 6e 2d 73 74 65 70 73 20 60 28 6e 20 73 74 65 70 20 6c 69 73 74 29 tion-all-in-steps.`(n.step.list)
682c0 60 0a 0a 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 77 69 74 68 20 74 68 65 20 69 74 `..Return.a.new.list.with.the.it
682e0 65 6d 73 20 69 6e 20 60 6c 69 73 74 60 20 67 72 6f 75 70 65 64 20 69 6e 74 6f 20 60 6e 60 2d 73 ems.in.`list`.grouped.into.`n`-s
68300 69 7a 65 64 20 73 75 62 6c 69 73 74 73 20 61 74 20 6f 66 66 73 65 74 73 20 60 73 74 65 70 60 20 ized.sublists.at.offsets.`step`.
68320 61 70 61 72 74 2e 0a 54 68 65 20 6c 61 73 74 20 67 72 6f 75 70 73 20 6d 61 79 20 63 6f 6e 74 61 apart..The.last.groups.may.conta
68340 69 6e 20 6c 65 73 73 20 74 68 61 6e 20 60 6e 60 20 69 74 65 6d 73 2e 0a 0a 60 60 60 65 6c 0a 28 in.less.than.`n`.items...```el.(
68360 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 2d 69 6e 2d 73 74 65 70 73 20 32 20 31 20 27 28 31 20 -partition-all-in-steps.2.1.'(1.
68380 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 32 29 20 28 32 20 33 29 20 28 33 20 34 29 2.3.4)).;;.=>.((1.2).(2.3).(3.4)
683a0 20 28 34 29 29 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 2d 69 6e 2d 73 74 65 70 73 20 33 .(4)).(-partition-all-in-steps.3
683c0 20 32 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 32 20 33 29 20 28 33 .2.'(1.2.3.4)).;;.=>.((1.2.3).(3
683e0 20 34 29 29 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 2d 69 6e 2d 73 74 65 70 73 20 33 20 .4)).(-partition-all-in-steps.3.
68400 32 20 27 28 31 20 32 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 32 20 33 29 20 28 2.'(1.2.3.4.5)).;;.=>.((1.2.3).(
68420 33 20 34 20 35 29 20 28 35 29 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 70 61 72 74 69 74 69 6f 6e 3.4.5).(5)).```..####.-partition
68440 2d 62 79 20 60 28 66 6e 20 6c 69 73 74 29 60 0a 0a 41 70 70 6c 79 20 60 66 6e 60 20 74 6f 20 65 -by.`(fn.list)`..Apply.`fn`.to.e
68460 61 63 68 20 69 74 65 6d 20 69 6e 20 60 6c 69 73 74 60 2c 20 73 70 6c 69 74 74 69 6e 67 20 69 74 ach.item.in.`list`,.splitting.it
68480 20 65 61 63 68 20 74 69 6d 65 20 60 66 6e 60 20 72 65 74 75 72 6e 73 20 61 20 6e 65 77 20 76 61 .each.time.`fn`.returns.a.new.va
684a0 6c 75 65 2e 0a 0a 60 60 60 65 6c 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 20 27 65 76 65 6e lue...```el.(-partition-by.'even
684c0 3f 20 28 29 29 20 3b 3b 20 3d 3e 20 28 29 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 20 27 65 ?.()).;;.=>.().(-partition-by.'e
684e0 76 65 6e 3f 20 27 28 31 20 31 20 32 20 32 20 32 20 33 20 34 20 36 20 38 29 29 20 3b 3b 20 3d 3e ven?.'(1.1.2.2.2.3.4.6.8)).;;.=>
68500 20 28 28 31 20 31 29 20 28 32 20 32 20 32 29 20 28 33 29 20 28 34 20 36 20 38 29 29 0a 28 2d 2d .((1.1).(2.2.2).(3).(4.6.8)).(--
68520 70 61 72 74 69 74 69 6f 6e 2d 62 79 20 28 3c 20 69 74 20 33 29 20 27 28 31 20 32 20 33 20 34 20 partition-by.(<.it.3).'(1.2.3.4.
68540 33 20 32 20 31 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 32 29 20 28 33 20 34 20 33 29 20 28 32 20 3.2.1)).;;.=>.((1.2).(3.4.3).(2.
68560 31 29 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 2d 68 65 61 64 1)).```..####.-partition-by-head
68580 65 72 20 60 28 66 6e 20 6c 69 73 74 29 60 0a 0a 41 70 70 6c 79 20 60 66 6e 60 20 74 6f 20 74 68 er.`(fn.list)`..Apply.`fn`.to.th
685a0 65 20 66 69 72 73 74 20 69 74 65 6d 20 69 6e 20 60 6c 69 73 74 60 2e 20 54 68 61 74 20 69 73 20 e.first.item.in.`list`..That.is.
685c0 74 68 65 20 68 65 61 64 65 72 0a 76 61 6c 75 65 2e 20 41 70 70 6c 79 20 60 66 6e 60 20 74 6f 20 the.header.value..Apply.`fn`.to.
685e0 65 61 63 68 20 69 74 65 6d 20 69 6e 20 60 6c 69 73 74 60 2c 20 73 70 6c 69 74 74 69 6e 67 20 69 each.item.in.`list`,.splitting.i
68600 74 20 65 61 63 68 20 74 69 6d 65 20 60 66 6e 60 0a 72 65 74 75 72 6e 73 20 74 68 65 20 68 65 61 t.each.time.`fn`.returns.the.hea
68620 64 65 72 20 76 61 6c 75 65 2c 20 62 75 74 20 6f 6e 6c 79 20 61 66 74 65 72 20 73 65 65 69 6e 67 der.value,.but.only.after.seeing
68640 20 61 74 20 6c 65 61 73 74 20 6f 6e 65 0a 6f 74 68 65 72 20 76 61 6c 75 65 20 28 74 68 65 20 62 .at.least.one.other.value.(the.b
68660 6f 64 79 29 2e 0a 0a 60 60 60 65 6c 0a 28 2d 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 2d 68 65 61 ody)...```el.(--partition-by-hea
68680 64 65 72 20 28 3d 20 69 74 20 31 29 20 27 28 31 20 32 20 33 20 31 20 32 20 31 20 32 20 33 20 34 der.(=.it.1).'(1.2.3.1.2.1.2.3.4
686a0 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 32 20 33 29 20 28 31 20 32 29 20 28 31 20 32 20 33 20 34 )).;;.=>.((1.2.3).(1.2).(1.2.3.4
686c0 29 29 0a 28 2d 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 2d 68 65 61 64 65 72 20 28 3e 20 69 74 20 )).(--partition-by-header.(>.it.
686e0 30 29 20 27 28 31 20 32 20 30 20 31 20 30 20 31 20 32 20 33 20 30 29 29 20 3b 3b 20 3d 3e 20 28 0).'(1.2.0.1.0.1.2.3.0)).;;.=>.(
68700 28 31 20 32 20 30 29 20 28 31 20 30 29 20 28 31 20 32 20 33 20 30 29 29 0a 28 2d 70 61 72 74 69 (1.2.0).(1.0).(1.2.3.0)).(-parti
68720 74 69 6f 6e 2d 62 79 2d 68 65 61 64 65 72 20 27 65 76 65 6e 3f 20 27 28 32 20 31 20 31 20 31 20 tion-by-header.'even?.'(2.1.1.1.
68740 34 20 31 20 33 20 35 20 36 20 36 20 31 29 29 20 3b 3b 20 3d 3e 20 28 28 32 20 31 20 31 20 31 29 4.1.3.5.6.6.1)).;;.=>.((2.1.1.1)
68760 20 28 34 20 31 20 33 20 35 29 20 28 36 20 36 20 31 29 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 70 .(4.1.3.5).(6.6.1)).```..####.-p
68780 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 20 60 28 70 72 65 64 20 6c 69 73 74 29 artition-after-pred.`(pred.list)
687a0 60 0a 0a 50 61 72 74 69 74 69 6f 6e 20 60 6c 69 73 74 60 20 61 66 74 65 72 20 65 61 63 68 20 65 `..Partition.`list`.after.each.e
687c0 6c 65 6d 65 6e 74 20 66 6f 72 20 77 68 69 63 68 20 60 70 72 65 64 60 20 72 65 74 75 72 6e 73 20 lement.for.which.`pred`.returns.
687e0 6e 6f 6e 2d 6e 69 6c 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f non-nil...This.function's.anapho
68800 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 70 61 72 74 69 74 69 6f 6e 2d ric.counterpart.is.`--partition-
68820 61 66 74 65 72 2d 70 72 65 64 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d after-pred`...```el.(-partition-
68840 61 66 74 65 72 2d 70 72 65 64 20 23 27 62 6f 6f 6c 65 61 6e 70 20 28 29 29 20 3b 3b 20 3d 3e 20 after-pred.#'booleanp.()).;;.=>.
68860 28 29 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 20 23 27 62 6f 6f 6c ().(-partition-after-pred.#'bool
68880 65 61 6e 70 20 27 28 74 20 74 29 29 20 3b 3b 20 3d 3e 20 28 28 74 29 20 28 74 29 29 0a 28 2d 70 eanp.'(t.t)).;;.=>.((t).(t)).(-p
688a0 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 20 23 27 62 6f 6f 6c 65 61 6e 70 20 27 artition-after-pred.#'booleanp.'
688c0 28 30 20 30 20 74 20 74 20 30 20 74 29 29 20 3b 3b 20 3d 3e 20 28 28 30 20 30 20 74 29 20 28 74 (0.0.t.t.0.t)).;;.=>.((0.0.t).(t
688e0 29 20 28 30 20 74 29 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 ).(0.t)).```..####.-partition-be
68900 66 6f 72 65 2d 70 72 65 64 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 0a 50 61 72 74 69 74 69 fore-pred.`(pred.list)`..Partiti
68920 6f 6e 20 64 69 72 65 63 74 6c 79 20 62 65 66 6f 72 65 20 65 61 63 68 20 74 69 6d 65 20 60 70 72 on.directly.before.each.time.`pr
68940 65 64 60 20 69 73 20 74 72 75 65 20 6f 6e 20 61 6e 20 65 6c 65 6d 65 6e 74 20 6f 66 20 60 6c 69 ed`.is.true.on.an.element.of.`li
68960 73 74 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 70 st`...```el.(-partition-before-p
68980 72 65 64 20 23 27 62 6f 6f 6c 65 61 6e 70 20 28 29 29 20 3b 3b 20 3d 3e 20 28 29 0a 28 2d 70 61 red.#'booleanp.()).;;.=>.().(-pa
689a0 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 70 72 65 64 20 23 27 62 6f 6f 6c 65 61 6e 70 20 27 rtition-before-pred.#'booleanp.'
689c0 28 30 20 74 29 29 20 3b 3b 20 3d 3e 20 28 28 30 29 20 28 74 29 29 0a 28 2d 70 61 72 74 69 74 69 (0.t)).;;.=>.((0).(t)).(-partiti
689e0 6f 6e 2d 62 65 66 6f 72 65 2d 70 72 65 64 20 23 27 62 6f 6f 6c 65 61 6e 70 20 27 28 30 20 30 20 on-before-pred.#'booleanp.'(0.0.
68a00 74 20 30 20 74 20 74 29 29 20 3b 3b 20 3d 3e 20 28 28 30 20 30 29 20 28 74 20 30 29 20 28 74 29 t.0.t.t)).;;.=>.((0.0).(t.0).(t)
68a20 20 28 74 29 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 .(t)).```..####.-partition-befor
68a40 65 2d 69 74 65 6d 20 60 28 69 74 65 6d 20 6c 69 73 74 29 60 0a 0a 50 61 72 74 69 74 69 6f 6e 20 e-item.`(item.list)`..Partition.
68a60 64 69 72 65 63 74 6c 79 20 62 65 66 6f 72 65 20 65 61 63 68 20 74 69 6d 65 20 60 69 74 65 6d 60 directly.before.each.time.`item`
68a80 20 61 70 70 65 61 72 73 20 69 6e 20 60 6c 69 73 74 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 70 61 72 .appears.in.`list`...```el.(-par
68aa0 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 69 74 65 6d 20 33 20 28 29 29 20 3b 3b 20 3d 3e 20 28 tition-before-item.3.()).;;.=>.(
68ac0 29 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 69 74 65 6d 20 33 20 27 28 31 29 ).(-partition-before-item.3.'(1)
68ae0 29 20 3b 3b 20 3d 3e 20 28 28 31 29 29 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 ).;;.=>.((1)).(-partition-before
68b00 2d 69 74 65 6d 20 33 20 27 28 33 29 29 20 3b 3b 20 3d 3e 20 28 28 33 29 29 0a 60 60 60 0a 0a 23 -item.3.'(3)).;;.=>.((3)).```..#
68b20 23 23 23 20 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 69 74 65 6d 20 60 28 69 74 65 6d ###.-partition-after-item.`(item
68b40 20 6c 69 73 74 29 60 0a 0a 50 61 72 74 69 74 69 6f 6e 20 64 69 72 65 63 74 6c 79 20 61 66 74 65 .list)`..Partition.directly.afte
68b60 72 20 65 61 63 68 20 74 69 6d 65 20 60 69 74 65 6d 60 20 61 70 70 65 61 72 73 20 69 6e 20 60 6c r.each.time.`item`.appears.in.`l
68b80 69 73 74 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 69 ist`...```el.(-partition-after-i
68ba0 74 65 6d 20 33 20 28 29 29 20 3b 3b 20 3d 3e 20 28 29 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 tem.3.()).;;.=>.().(-partition-a
68bc0 66 74 65 72 2d 69 74 65 6d 20 33 20 27 28 31 29 29 20 3b 3b 20 3d 3e 20 28 28 31 29 29 0a 28 2d fter-item.3.'(1)).;;.=>.((1)).(-
68be0 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 69 74 65 6d 20 33 20 27 28 33 29 29 20 3b 3b 20 partition-after-item.3.'(3)).;;.
68c00 3d 3e 20 28 28 33 29 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 67 72 6f 75 70 2d 62 79 20 60 28 66 =>.((3)).```..####.-group-by.`(f
68c20 6e 20 6c 69 73 74 29 60 0a 0a 53 65 70 61 72 61 74 65 20 60 6c 69 73 74 60 20 69 6e 74 6f 20 61 n.list)`..Separate.`list`.into.a
68c40 6e 20 61 6c 69 73 74 20 77 68 6f 73 65 20 6b 65 79 73 20 61 72 65 20 60 66 6e 60 20 61 70 70 6c n.alist.whose.keys.are.`fn`.appl
68c60 69 65 64 20 74 6f 20 74 68 65 0a 65 6c 65 6d 65 6e 74 73 20 6f 66 20 60 6c 69 73 74 60 2e 20 20 ied.to.the.elements.of.`list`...
68c80 4b 65 79 73 20 61 72 65 20 63 6f 6d 70 61 72 65 64 20 62 79 20 60 65 71 75 61 6c 60 2e 0a 0a 60 Keys.are.compared.by.`equal`...`
68ca0 60 60 65 6c 0a 28 2d 67 72 6f 75 70 2d 62 79 20 27 65 76 65 6e 3f 20 28 29 29 20 3b 3b 20 3d 3e ``el.(-group-by.'even?.()).;;.=>
68cc0 20 28 29 0a 28 2d 67 72 6f 75 70 2d 62 79 20 27 65 76 65 6e 3f 20 27 28 31 20 31 20 32 20 32 20 .().(-group-by.'even?.'(1.1.2.2.
68ce0 32 20 33 20 34 20 36 20 38 29 29 20 3b 3b 20 3d 3e 20 28 28 6e 69 6c 20 31 20 31 20 33 29 20 28 2.3.4.6.8)).;;.=>.((nil.1.1.3).(
68d00 74 20 32 20 32 20 32 20 34 20 36 20 38 29 29 0a 28 2d 2d 67 72 6f 75 70 2d 62 79 20 28 63 61 72 t.2.2.2.4.6.8)).(--group-by.(car
68d20 20 28 73 70 6c 69 74 2d 73 74 72 69 6e 67 20 69 74 20 22 2f 22 29 29 20 27 28 22 61 2f 62 22 20 .(split-string.it."/")).'("a/b".
68d40 22 63 2f 64 22 20 22 61 2f 65 22 29 29 20 3b 3b 20 3d 3e 20 28 28 22 61 22 20 22 61 2f 62 22 20 "c/d"."a/e")).;;.=>.(("a"."a/b".
68d60 22 61 2f 65 22 29 20 28 22 63 22 20 22 63 2f 64 22 29 29 0a 60 60 60 0a 0a 23 23 20 49 6e 64 65 "a/e").("c"."c/d")).```..##.Inde
68d80 78 69 6e 67 0a 0a 46 75 6e 63 74 69 6f 6e 73 20 72 65 74 72 69 65 76 69 6e 67 20 6f 72 20 73 6f xing..Functions.retrieving.or.so
68da0 72 74 69 6e 67 20 62 61 73 65 64 20 6f 6e 20 6c 69 73 74 20 69 6e 64 69 63 65 73 20 61 6e 64 0a rting.based.on.list.indices.and.
68dc0 72 65 6c 61 74 65 64 20 70 72 65 64 69 63 61 74 65 73 2e 0a 0a 23 23 23 23 20 2d 65 6c 65 6d 2d related.predicates...####.-elem-
68de0 69 6e 64 65 78 20 60 28 65 6c 65 6d 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 74 68 65 20 index.`(elem.list)`..Return.the.
68e00 69 6e 64 65 78 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 69 6e 20 74 68 index.of.the.first.element.in.th
68e20 65 20 67 69 76 65 6e 20 60 6c 69 73 74 60 20 77 68 69 63 68 0a 69 73 20 65 71 75 61 6c 20 74 6f e.given.`list`.which.is.equal.to
68e40 20 74 68 65 20 71 75 65 72 79 20 65 6c 65 6d 65 6e 74 20 60 65 6c 65 6d 60 2c 20 6f 72 20 6e 69 .the.query.element.`elem`,.or.ni
68e60 6c 20 69 66 20 74 68 65 72 65 20 69 73 20 6e 6f 0a 73 75 63 68 20 65 6c 65 6d 65 6e 74 2e 0a 0a l.if.there.is.no.such.element...
68e80 60 60 60 65 6c 0a 28 2d 65 6c 65 6d 2d 69 6e 64 65 78 20 32 20 27 28 36 20 37 20 38 20 32 20 33 ```el.(-elem-index.2.'(6.7.8.2.3
68ea0 20 34 29 29 20 3b 3b 20 3d 3e 20 33 0a 28 2d 65 6c 65 6d 2d 69 6e 64 65 78 20 22 62 61 72 22 20 .4)).;;.=>.3.(-elem-index."bar".
68ec0 27 28 22 66 6f 6f 22 20 22 62 61 72 22 20 22 62 61 7a 22 29 29 20 3b 3b 20 3d 3e 20 31 0a 28 2d '("foo"."bar"."baz")).;;.=>.1.(-
68ee0 65 6c 65 6d 2d 69 6e 64 65 78 20 27 28 31 20 32 29 20 27 28 28 33 29 20 28 35 20 36 29 20 28 31 elem-index.'(1.2).'((3).(5.6).(1
68f00 20 32 29 20 6e 69 6c 29 29 20 3b 3b 20 3d 3e 20 32 0a 60 60 60 0a 0a 23 23 23 23 20 2d 65 6c 65 .2).nil)).;;.=>.2.```..####.-ele
68f20 6d 2d 69 6e 64 69 63 65 73 20 60 28 65 6c 65 6d 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 m-indices.`(elem.list)`..Return.
68f40 74 68 65 20 69 6e 64 69 63 65 73 20 6f 66 20 61 6c 6c 20 65 6c 65 6d 65 6e 74 73 20 69 6e 20 60 the.indices.of.all.elements.in.`
68f60 6c 69 73 74 60 20 65 71 75 61 6c 20 74 6f 20 74 68 65 20 71 75 65 72 79 0a 65 6c 65 6d 65 6e 74 list`.equal.to.the.query.element
68f80 20 60 65 6c 65 6d 60 2c 20 69 6e 20 61 73 63 65 6e 64 69 6e 67 20 6f 72 64 65 72 2e 0a 0a 60 60 .`elem`,.in.ascending.order...``
68fa0 60 65 6c 0a 28 2d 65 6c 65 6d 2d 69 6e 64 69 63 65 73 20 32 20 27 28 36 20 37 20 38 20 32 20 33 `el.(-elem-indices.2.'(6.7.8.2.3
68fc0 20 34 20 32 20 31 29 29 20 3b 3b 20 3d 3e 20 28 33 20 36 29 0a 28 2d 65 6c 65 6d 2d 69 6e 64 69 .4.2.1)).;;.=>.(3.6).(-elem-indi
68fe0 63 65 73 20 22 62 61 72 22 20 27 28 22 66 6f 6f 22 20 22 62 61 72 22 20 22 62 61 7a 22 29 29 20 ces."bar".'("foo"."bar"."baz")).
69000 3b 3b 20 3d 3e 20 28 31 29 0a 28 2d 65 6c 65 6d 2d 69 6e 64 69 63 65 73 20 27 28 31 20 32 29 20 ;;.=>.(1).(-elem-indices.'(1.2).
69020 27 28 28 33 29 20 28 31 20 32 29 20 28 35 20 36 29 20 28 31 20 32 29 20 6e 69 6c 29 29 20 3b 3b '((3).(1.2).(5.6).(1.2).nil)).;;
69040 20 3d 3e 20 28 31 20 33 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 66 69 6e 64 2d 69 6e 64 65 78 20 .=>.(1.3).```..####.-find-index.
69060 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 0a 54 61 6b 65 20 61 20 70 72 65 64 69 63 61 74 65 20 `(pred.list)`..Take.a.predicate.
69080 60 70 72 65 64 60 20 61 6e 64 20 61 20 60 6c 69 73 74 60 20 61 6e 64 20 72 65 74 75 72 6e 20 74 `pred`.and.a.`list`.and.return.t
690a0 68 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 0a 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 69 6e he.index.of.the.first.element.in
690c0 20 74 68 65 20 6c 69 73 74 20 73 61 74 69 73 66 79 69 6e 67 20 74 68 65 20 70 72 65 64 69 63 61 .the.list.satisfying.the.predica
690e0 74 65 2c 20 6f 72 20 6e 69 6c 20 69 66 0a 74 68 65 72 65 20 69 73 20 6e 6f 20 73 75 63 68 20 65 te,.or.nil.if.there.is.no.such.e
69100 6c 65 6d 65 6e 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 20 5b 60 2d 66 69 72 73 74 60 5d 28 23 2d 66 lement...See.also.[`-first`](#-f
69120 69 72 73 74 2d 70 72 65 64 2d 6c 69 73 74 29 2e 0a 0a 60 60 60 65 6c 0a 28 2d 66 69 6e 64 2d 69 irst-pred-list)...```el.(-find-i
69140 6e 64 65 78 20 27 65 76 65 6e 3f 20 27 28 32 20 34 20 31 20 36 20 33 20 33 20 35 20 38 29 29 20 ndex.'even?.'(2.4.1.6.3.3.5.8)).
69160 3b 3b 20 3d 3e 20 30 0a 28 2d 2d 66 69 6e 64 2d 69 6e 64 65 78 20 28 3c 20 35 20 69 74 29 20 27 ;;.=>.0.(--find-index.(<.5.it).'
69180 28 32 20 34 20 31 20 36 20 33 20 33 20 35 20 38 29 29 20 3b 3b 20 3d 3e 20 33 0a 28 2d 66 69 6e (2.4.1.6.3.3.5.8)).;;.=>.3.(-fin
691a0 64 2d 69 6e 64 65 78 20 28 2d 70 61 72 74 69 61 6c 20 27 73 74 72 69 6e 67 2d 6c 65 73 73 70 20 d-index.(-partial.'string-lessp.
691c0 22 62 61 7a 22 29 20 27 28 22 62 61 72 22 20 22 66 6f 6f 22 20 22 62 61 7a 22 29 29 20 3b 3b 20 "baz").'("bar"."foo"."baz")).;;.
691e0 3d 3e 20 31 0a 60 60 60 0a 0a 23 23 23 23 20 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 78 20 =>.1.```..####.-find-last-index.
69200 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 0a 54 61 6b 65 20 61 20 70 72 65 64 69 63 61 74 65 20 `(pred.list)`..Take.a.predicate.
69220 60 70 72 65 64 60 20 61 6e 64 20 61 20 60 6c 69 73 74 60 20 61 6e 64 20 72 65 74 75 72 6e 20 74 `pred`.and.a.`list`.and.return.t
69240 68 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 0a 6c 61 73 74 20 65 6c 65 6d 65 6e 74 20 69 6e 20 he.index.of.the.last.element.in.
69260 74 68 65 20 6c 69 73 74 20 73 61 74 69 73 66 79 69 6e 67 20 74 68 65 20 70 72 65 64 69 63 61 74 the.list.satisfying.the.predicat
69280 65 2c 20 6f 72 20 6e 69 6c 20 69 66 0a 74 68 65 72 65 20 69 73 20 6e 6f 20 73 75 63 68 20 65 6c e,.or.nil.if.there.is.no.such.el
692a0 65 6d 65 6e 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 20 5b 60 2d 6c 61 73 74 60 5d 28 23 2d 6c 61 73 ement...See.also.[`-last`](#-las
692c0 74 2d 70 72 65 64 2d 6c 69 73 74 29 2e 0a 0a 60 60 60 65 6c 0a 28 2d 66 69 6e 64 2d 6c 61 73 74 t-pred-list)...```el.(-find-last
692e0 2d 69 6e 64 65 78 20 27 65 76 65 6e 3f 20 27 28 32 20 34 20 31 20 36 20 33 20 33 20 35 20 38 29 -index.'even?.'(2.4.1.6.3.3.5.8)
69300 29 20 3b 3b 20 3d 3e 20 37 0a 28 2d 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 78 20 28 3c 20 ).;;.=>.7.(--find-last-index.(<.
69320 35 20 69 74 29 20 27 28 32 20 37 20 31 20 36 20 33 20 38 20 35 20 32 29 29 20 3b 3b 20 3d 3e 20 5.it).'(2.7.1.6.3.8.5.2)).;;.=>.
69340 35 0a 28 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 78 20 28 2d 70 61 72 74 69 61 6c 20 27 73 5.(-find-last-index.(-partial.'s
69360 74 72 69 6e 67 2d 6c 65 73 73 70 20 22 62 61 7a 22 29 20 27 28 22 71 22 20 22 66 6f 6f 22 20 22 tring-lessp."baz").'("q"."foo"."
69380 62 61 7a 22 29 29 20 3b 3b 20 3d 3e 20 31 0a 60 60 60 0a 0a 23 23 23 23 20 2d 66 69 6e 64 2d 69 baz")).;;.=>.1.```..####.-find-i
693a0 6e 64 69 63 65 73 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 74 68 65 ndices.`(pred.list)`..Return.the
693c0 20 69 6e 64 69 63 65 73 20 6f 66 20 61 6c 6c 20 65 6c 65 6d 65 6e 74 73 20 69 6e 20 60 6c 69 73 .indices.of.all.elements.in.`lis
693e0 74 60 20 73 61 74 69 73 66 79 69 6e 67 20 74 68 65 0a 70 72 65 64 69 63 61 74 65 20 60 70 72 65 t`.satisfying.the.predicate.`pre
69400 64 60 2c 20 69 6e 20 61 73 63 65 6e 64 69 6e 67 20 6f 72 64 65 72 2e 0a 0a 60 60 60 65 6c 0a 28 d`,.in.ascending.order...```el.(
69420 2d 66 69 6e 64 2d 69 6e 64 69 63 65 73 20 27 65 76 65 6e 3f 20 27 28 32 20 34 20 31 20 36 20 33 -find-indices.'even?.'(2.4.1.6.3
69440 20 33 20 35 20 38 29 29 20 3b 3b 20 3d 3e 20 28 30 20 31 20 33 20 37 29 0a 28 2d 2d 66 69 6e 64 .3.5.8)).;;.=>.(0.1.3.7).(--find
69460 2d 69 6e 64 69 63 65 73 20 28 3c 20 35 20 69 74 29 20 27 28 32 20 34 20 31 20 36 20 33 20 33 20 -indices.(<.5.it).'(2.4.1.6.3.3.
69480 35 20 38 29 29 20 3b 3b 20 3d 3e 20 28 33 20 37 29 0a 28 2d 66 69 6e 64 2d 69 6e 64 69 63 65 73 5.8)).;;.=>.(3.7).(-find-indices
694a0 20 28 2d 70 61 72 74 69 61 6c 20 27 73 74 72 69 6e 67 2d 6c 65 73 73 70 20 22 62 61 7a 22 29 20 .(-partial.'string-lessp."baz").
694c0 27 28 22 62 61 72 22 20 22 66 6f 6f 22 20 22 62 61 7a 22 29 29 20 3b 3b 20 3d 3e 20 28 31 29 0a '("bar"."foo"."baz")).;;.=>.(1).
694e0 60 60 60 0a 0a 23 23 23 23 20 2d 67 72 61 64 65 2d 75 70 20 60 28 63 6f 6d 70 61 72 61 74 6f 72 ```..####.-grade-up.`(comparator
69500 20 6c 69 73 74 29 60 0a 0a 47 72 61 64 65 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 60 6c 69 73 74 .list)`..Grade.elements.of.`list
69520 60 20 75 73 69 6e 67 20 60 63 6f 6d 70 61 72 61 74 6f 72 60 20 72 65 6c 61 74 69 6f 6e 2e 0a 54 `.using.`comparator`.relation..T
69540 68 69 73 20 79 69 65 6c 64 73 20 61 20 70 65 72 6d 75 74 61 74 69 6f 6e 20 76 65 63 74 6f 72 20 his.yields.a.permutation.vector.
69560 73 75 63 68 20 74 68 61 74 20 61 70 70 6c 79 69 6e 67 20 74 68 69 73 0a 70 65 72 6d 75 74 61 74 such.that.applying.this.permutat
69580 69 6f 6e 20 74 6f 20 60 6c 69 73 74 60 20 73 6f 72 74 73 20 69 74 20 69 6e 20 61 73 63 65 6e 64 ion.to.`list`.sorts.it.in.ascend
695a0 69 6e 67 20 6f 72 64 65 72 2e 0a 0a 60 60 60 65 6c 0a 28 2d 67 72 61 64 65 2d 75 70 20 23 27 3c ing.order...```el.(-grade-up.#'<
695c0 20 27 28 33 20 31 20 34 20 32 20 31 20 33 20 33 29 29 20 3b 3b 20 3d 3e 20 28 31 20 34 20 33 20 .'(3.1.4.2.1.3.3)).;;.=>.(1.4.3.
695e0 30 20 35 20 36 20 32 29 0a 28 6c 65 74 20 28 28 6c 20 27 28 33 20 31 20 34 20 32 20 31 20 33 20 0.5.6.2).(let.((l.'(3.1.4.2.1.3.
69600 33 29 29 29 20 28 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 20 28 2d 67 72 61 64 65 3))).(-select-by-indices.(-grade
69620 2d 75 70 20 23 27 3c 20 6c 29 20 6c 29 29 20 3b 3b 20 3d 3e 20 28 31 20 31 20 32 20 33 20 33 20 -up.#'<.l).l)).;;.=>.(1.1.2.3.3.
69640 33 20 34 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 67 72 61 64 65 2d 64 6f 77 6e 20 60 28 63 6f 6d 3.4).```..####.-grade-down.`(com
69660 70 61 72 61 74 6f 72 20 6c 69 73 74 29 60 0a 0a 47 72 61 64 65 20 65 6c 65 6d 65 6e 74 73 20 6f parator.list)`..Grade.elements.o
69680 66 20 60 6c 69 73 74 60 20 75 73 69 6e 67 20 60 63 6f 6d 70 61 72 61 74 6f 72 60 20 72 65 6c 61 f.`list`.using.`comparator`.rela
696a0 74 69 6f 6e 2e 0a 54 68 69 73 20 79 69 65 6c 64 73 20 61 20 70 65 72 6d 75 74 61 74 69 6f 6e 20 tion..This.yields.a.permutation.
696c0 76 65 63 74 6f 72 20 73 75 63 68 20 74 68 61 74 20 61 70 70 6c 79 69 6e 67 20 74 68 69 73 0a 70 vector.such.that.applying.this.p
696e0 65 72 6d 75 74 61 74 69 6f 6e 20 74 6f 20 60 6c 69 73 74 60 20 73 6f 72 74 73 20 69 74 20 69 6e ermutation.to.`list`.sorts.it.in
69700 20 64 65 73 63 65 6e 64 69 6e 67 20 6f 72 64 65 72 2e 0a 0a 60 60 60 65 6c 0a 28 2d 67 72 61 64 .descending.order...```el.(-grad
69720 65 2d 64 6f 77 6e 20 23 27 3c 20 27 28 33 20 31 20 34 20 32 20 31 20 33 20 33 29 29 20 3b 3b 20 e-down.#'<.'(3.1.4.2.1.3.3)).;;.
69740 3d 3e 20 28 32 20 30 20 35 20 36 20 33 20 31 20 34 29 0a 28 6c 65 74 20 28 28 6c 20 27 28 33 20 =>.(2.0.5.6.3.1.4).(let.((l.'(3.
69760 31 20 34 20 32 20 31 20 33 20 33 29 29 29 20 28 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 1.4.2.1.3.3))).(-select-by-indic
69780 65 73 20 28 2d 67 72 61 64 65 2d 64 6f 77 6e 20 23 27 3c 20 6c 29 20 6c 29 29 20 3b 3b 20 3d 3e es.(-grade-down.#'<.l).l)).;;.=>
697a0 20 28 34 20 33 20 33 20 33 20 32 20 31 20 31 29 0a 60 60 60 0a 0a 23 23 20 53 65 74 20 6f 70 65 .(4.3.3.3.2.1.1).```..##.Set.ope
697c0 72 61 74 69 6f 6e 73 0a 0a 4f 70 65 72 61 74 69 6f 6e 73 20 70 72 65 74 65 6e 64 69 6e 67 20 6c rations..Operations.pretending.l
697e0 69 73 74 73 20 61 72 65 20 73 65 74 73 2e 0a 0a 23 23 23 23 20 2d 75 6e 69 6f 6e 20 60 28 6c 69 ists.are.sets...####.-union.`(li
69800 73 74 20 6c 69 73 74 32 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 63 6f st.list2)`..Return.a.new.list.co
69820 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 60 6c 69 73 74 60 20 ntaining.the.elements.of.`list`.
69840 61 6e 64 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 60 6c 69 73 74 32 60 20 74 68 61 74 20 61 72 65 and.elements.of.`list2`.that.are
69860 20 6e 6f 74 20 69 6e 20 60 6c 69 73 74 60 2e 0a 54 68 65 20 74 65 73 74 20 66 6f 72 20 65 71 75 .not.in.`list`..The.test.for.equ
69880 61 6c 69 74 79 20 69 73 20 64 6f 6e 65 20 77 69 74 68 20 60 65 71 75 61 6c 60 2c 0a 6f 72 20 77 ality.is.done.with.`equal`,.or.w
698a0 69 74 68 20 60 2d 63 6f 6d 70 61 72 65 2d 66 6e 60 20 69 66 20 74 68 61 74 27 73 20 6e 6f 6e 2d ith.`-compare-fn`.if.that's.non-
698c0 6e 69 6c 2e 0a 0a 60 60 60 65 6c 0a 28 2d 75 6e 69 6f 6e 20 27 28 31 20 32 20 33 29 20 27 28 33 nil...```el.(-union.'(1.2.3).'(3
698e0 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 20 34 20 35 29 0a 28 2d 75 6e 69 6f 6e .4.5)).;;.=>.(1.2.3.4.5).(-union
69900 20 27 28 31 20 32 20 33 20 34 29 20 28 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 20 34 29 0a .'(1.2.3.4).()).;;.=>.(1.2.3.4).
69920 28 2d 75 6e 69 6f 6e 20 27 28 31 20 31 20 32 20 32 29 20 27 28 33 20 32 20 31 29 29 20 3b 3b 20 (-union.'(1.1.2.2).'(3.2.1)).;;.
69940 3d 3e 20 28 31 20 31 20 32 20 32 20 33 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 64 69 66 66 65 72 =>.(1.1.2.2.3).```..####.-differ
69960 65 6e 63 65 20 60 28 6c 69 73 74 20 6c 69 73 74 32 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 6e 65 ence.`(list.list2)`..Return.a.ne
69980 77 20 6c 69 73 74 20 77 69 74 68 20 6f 6e 6c 79 20 74 68 65 20 6d 65 6d 62 65 72 73 20 6f 66 20 w.list.with.only.the.members.of.
699a0 60 6c 69 73 74 60 20 74 68 61 74 20 61 72 65 20 6e 6f 74 20 69 6e 20 60 6c 69 73 74 32 60 2e 0a `list`.that.are.not.in.`list2`..
699c0 54 68 65 20 74 65 73 74 20 66 6f 72 20 65 71 75 61 6c 69 74 79 20 69 73 20 64 6f 6e 65 20 77 69 The.test.for.equality.is.done.wi
699e0 74 68 20 60 65 71 75 61 6c 60 2c 0a 6f 72 20 77 69 74 68 20 60 2d 63 6f 6d 70 61 72 65 2d 66 6e th.`equal`,.or.with.`-compare-fn
69a00 60 20 69 66 20 74 68 61 74 27 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 0a 60 60 60 65 6c 0a 28 2d 64 69 `.if.that's.non-nil...```el.(-di
69a20 66 66 65 72 65 6e 63 65 20 28 29 20 28 29 29 20 3b 3b 20 3d 3e 20 28 29 0a 28 2d 64 69 66 66 65 fference.().()).;;.=>.().(-diffe
69a40 72 65 6e 63 65 20 27 28 31 20 32 20 33 29 20 27 28 34 20 35 20 36 29 29 20 3b 3b 20 3d 3e 20 28 rence.'(1.2.3).'(4.5.6)).;;.=>.(
69a60 31 20 32 20 33 29 0a 28 2d 64 69 66 66 65 72 65 6e 63 65 20 27 28 31 20 32 20 33 20 34 29 20 27 1.2.3).(-difference.'(1.2.3.4).'
69a80 28 33 20 34 20 35 20 36 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 29 0a 60 60 60 0a 0a 23 23 23 23 (3.4.5.6)).;;.=>.(1.2).```..####
69aa0 20 2d 69 6e 74 65 72 73 65 63 74 69 6f 6e 20 60 28 6c 69 73 74 20 6c 69 73 74 32 29 60 0a 0a 52 .-intersection.`(list.list2)`..R
69ac0 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 63 6f 6e 74 61 69 6e 69 6e 67 20 6f 6e 6c 79 eturn.a.new.list.containing.only
69ae0 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 74 68 61 74 20 61 72 65 20 6d 65 6d 62 65 72 73 20 6f .the.elements.that.are.members.o
69b00 66 20 62 6f 74 68 20 60 6c 69 73 74 60 20 61 6e 64 20 60 6c 69 73 74 32 60 2e 0a 54 68 65 20 74 f.both.`list`.and.`list2`..The.t
69b20 65 73 74 20 66 6f 72 20 65 71 75 61 6c 69 74 79 20 69 73 20 64 6f 6e 65 20 77 69 74 68 20 60 65 est.for.equality.is.done.with.`e
69b40 71 75 61 6c 60 2c 0a 6f 72 20 77 69 74 68 20 60 2d 63 6f 6d 70 61 72 65 2d 66 6e 60 20 69 66 20 qual`,.or.with.`-compare-fn`.if.
69b60 74 68 61 74 27 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 0a 60 60 60 65 6c 0a 28 2d 69 6e 74 65 72 73 65 that's.non-nil...```el.(-interse
69b80 63 74 69 6f 6e 20 28 29 20 28 29 29 20 3b 3b 20 3d 3e 20 28 29 0a 28 2d 69 6e 74 65 72 73 65 63 ction.().()).;;.=>.().(-intersec
69ba0 74 69 6f 6e 20 27 28 31 20 32 20 33 29 20 27 28 34 20 35 20 36 29 29 20 3b 3b 20 3d 3e 20 28 29 tion.'(1.2.3).'(4.5.6)).;;.=>.()
69bc0 0a 28 2d 69 6e 74 65 72 73 65 63 74 69 6f 6e 20 27 28 31 20 32 20 33 20 34 29 20 27 28 33 20 34 .(-intersection.'(1.2.3.4).'(3.4
69be0 20 35 20 36 29 29 20 3b 3b 20 3d 3e 20 28 33 20 34 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 70 6f .5.6)).;;.=>.(3.4).```..####.-po
69c00 77 65 72 73 65 74 20 60 28 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 74 68 65 20 70 6f 77 65 werset.`(list)`..Return.the.powe
69c20 72 20 73 65 74 20 6f 66 20 60 6c 69 73 74 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 70 6f 77 65 72 73 r.set.of.`list`...```el.(-powers
69c40 65 74 20 28 29 29 20 3b 3b 20 3d 3e 20 28 6e 69 6c 29 0a 28 2d 70 6f 77 65 72 73 65 74 20 27 28 et.()).;;.=>.(nil).(-powerset.'(
69c60 78 20 79 20 7a 29 29 20 3b 3b 20 3d 3e 20 28 28 78 20 79 20 7a 29 20 28 78 20 79 29 20 28 78 20 x.y.z)).;;.=>.((x.y.z).(x.y).(x.
69c80 7a 29 20 28 78 29 20 28 79 20 7a 29 20 28 79 29 20 28 7a 29 20 6e 69 6c 29 0a 60 60 60 0a 0a 23 z).(x).(y.z).(y).(z).nil).```..#
69ca0 23 23 23 20 2d 70 65 72 6d 75 74 61 74 69 6f 6e 73 20 60 28 6c 69 73 74 29 60 0a 0a 52 65 74 75 ###.-permutations.`(list)`..Retu
69cc0 72 6e 20 74 68 65 20 70 65 72 6d 75 74 61 74 69 6f 6e 73 20 6f 66 20 60 6c 69 73 74 60 2e 0a 0a rn.the.permutations.of.`list`...
69ce0 60 60 60 65 6c 0a 28 2d 70 65 72 6d 75 74 61 74 69 6f 6e 73 20 28 29 29 20 3b 3b 20 3d 3e 20 28 ```el.(-permutations.()).;;.=>.(
69d00 6e 69 6c 29 0a 28 2d 70 65 72 6d 75 74 61 74 69 6f 6e 73 20 27 28 31 20 32 29 29 20 3b 3b 20 3d nil).(-permutations.'(1.2)).;;.=
69d20 3e 20 28 28 31 20 32 29 20 28 32 20 31 29 29 0a 28 2d 70 65 72 6d 75 74 61 74 69 6f 6e 73 20 27 >.((1.2).(2.1)).(-permutations.'
69d40 28 61 20 62 20 63 29 29 20 3b 3b 20 3d 3e 20 28 28 61 20 62 20 63 29 20 28 61 20 63 20 62 29 20 (a.b.c)).;;.=>.((a.b.c).(a.c.b).
69d60 28 62 20 61 20 63 29 20 28 62 20 63 20 61 29 20 28 63 20 61 20 62 29 20 28 63 20 62 20 61 29 29 (b.a.c).(b.c.a).(c.a.b).(c.b.a))
69d80 0a 60 60 60 0a 0a 23 23 23 23 20 2d 64 69 73 74 69 6e 63 74 20 60 28 6c 69 73 74 29 60 0a 0a 52 .```..####.-distinct.`(list)`..R
69da0 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 77 69 74 68 20 61 6c 6c 20 64 75 70 6c 69 63 eturn.a.new.list.with.all.duplic
69dc0 61 74 65 73 20 72 65 6d 6f 76 65 64 2e 0a 54 68 65 20 74 65 73 74 20 66 6f 72 20 65 71 75 61 6c ates.removed..The.test.for.equal
69de0 69 74 79 20 69 73 20 64 6f 6e 65 20 77 69 74 68 20 60 65 71 75 61 6c 60 2c 0a 6f 72 20 77 69 74 ity.is.done.with.`equal`,.or.wit
69e00 68 20 60 2d 63 6f 6d 70 61 72 65 2d 66 6e 60 20 69 66 20 74 68 61 74 27 73 20 6e 6f 6e 2d 6e 69 h.`-compare-fn`.if.that's.non-ni
69e20 6c 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 75 6e 69 71 60 0a 0a 60 60 60 65 6c 0a 28 2d 64 69 73 74 l...Alias:.`-uniq`..```el.(-dist
69e40 69 6e 63 74 20 28 29 29 20 3b 3b 20 3d 3e 20 28 29 0a 28 2d 64 69 73 74 69 6e 63 74 20 27 28 31 inct.()).;;.=>.().(-distinct.'(1
69e60 20 32 20 32 20 34 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 34 29 0a 28 2d 64 69 73 74 69 6e 63 .2.2.4)).;;.=>.(1.2.4).(-distinc
69e80 74 20 27 28 74 20 74 20 74 29 29 20 3b 3b 20 3d 3e 20 28 74 29 0a 60 60 60 0a 0a 23 23 20 4f 74 t.'(t.t.t)).;;.=>.(t).```..##.Ot
69ea0 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 0a 0a 4f 74 68 65 72 20 6c 69 73 74 20 her.list.operations..Other.list.
69ec0 66 75 6e 63 74 69 6f 6e 73 20 6e 6f 74 20 66 69 74 20 74 6f 20 62 65 20 63 6c 61 73 73 69 66 69 functions.not.fit.to.be.classifi
69ee0 65 64 20 65 6c 73 65 77 68 65 72 65 2e 0a 0a 23 23 23 23 20 2d 72 6f 74 61 74 65 20 60 28 6e 20 ed.elsewhere...####.-rotate.`(n.
69f00 6c 69 73 74 29 60 0a 0a 52 6f 74 61 74 65 20 60 6c 69 73 74 60 20 60 6e 60 20 70 6c 61 63 65 73 list)`..Rotate.`list`.`n`.places
69f20 20 74 6f 20 74 68 65 20 72 69 67 68 74 20 28 6c 65 66 74 20 69 66 20 60 6e 60 20 69 73 20 6e 65 .to.the.right.(left.if.`n`.is.ne
69f40 67 61 74 69 76 65 29 2e 0a 54 68 65 20 74 69 6d 65 20 63 6f 6d 70 6c 65 78 69 74 79 20 69 73 20 gative)..The.time.complexity.is.
69f60 4f 28 6e 29 2e 0a 0a 60 60 60 65 6c 0a 28 2d 72 6f 74 61 74 65 20 33 20 27 28 31 20 32 20 33 20 O(n)...```el.(-rotate.3.'(1.2.3.
69f80 34 20 35 20 36 20 37 29 29 20 3b 3b 20 3d 3e 20 28 35 20 36 20 37 20 31 20 32 20 33 20 34 29 0a 4.5.6.7)).;;.=>.(5.6.7.1.2.3.4).
69fa0 28 2d 72 6f 74 61 74 65 20 2d 33 20 27 28 31 20 32 20 33 20 34 20 35 20 36 20 37 29 29 20 3b 3b (-rotate.-3.'(1.2.3.4.5.6.7)).;;
69fc0 20 3d 3e 20 28 34 20 35 20 36 20 37 20 31 20 32 20 33 29 0a 28 2d 72 6f 74 61 74 65 20 31 36 20 .=>.(4.5.6.7.1.2.3).(-rotate.16.
69fe0 27 28 31 20 32 20 33 20 34 20 35 20 36 20 37 29 29 20 3b 3b 20 3d 3e 20 28 36 20 37 20 31 20 32 '(1.2.3.4.5.6.7)).;;.=>.(6.7.1.2
6a000 20 33 20 34 20 35 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 72 65 70 65 61 74 20 60 28 6e 20 78 29 .3.4.5).```..####.-repeat.`(n.x)
6a020 60 0a 0a 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 6f 66 20 6c 65 6e 67 74 68 20 60 `..Return.a.new.list.of.length.`
6a040 6e 60 20 77 69 74 68 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 62 65 69 6e 67 20 60 78 60 2e 0a n`.with.each.element.being.`x`..
6a060 52 65 74 75 72 6e 20 6e 69 6c 20 69 66 20 60 6e 60 20 69 73 20 6c 65 73 73 20 74 68 61 6e 20 31 Return.nil.if.`n`.is.less.than.1
6a080 2e 0a 0a 60 60 60 65 6c 0a 28 2d 72 65 70 65 61 74 20 33 20 3a 61 29 20 3b 3b 20 3d 3e 20 28 3a ...```el.(-repeat.3.:a).;;.=>.(:
6a0a0 61 20 3a 61 20 3a 61 29 0a 28 2d 72 65 70 65 61 74 20 31 20 3a 61 29 20 3b 3b 20 3d 3e 20 28 3a a.:a.:a).(-repeat.1.:a).;;.=>.(:
6a0c0 61 29 0a 28 2d 72 65 70 65 61 74 20 30 20 3a 61 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 60 60 60 0a a).(-repeat.0.:a).;;.=>.nil.```.
6a0e0 0a 23 23 23 23 20 2d 63 6f 6e 73 2a 20 60 28 26 72 65 73 74 20 61 72 67 73 29 60 0a 0a 4d 61 6b .####.-cons*.`(&rest.args)`..Mak
6a100 65 20 61 20 6e 65 77 20 6c 69 73 74 20 66 72 6f 6d 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 6f e.a.new.list.from.the.elements.o
6a120 66 20 60 61 72 67 73 60 2e 0a 54 68 65 20 6c 61 73 74 20 32 20 65 6c 65 6d 65 6e 74 73 20 6f 66 f.`args`..The.last.2.elements.of
6a140 20 60 61 72 67 73 60 20 61 72 65 20 75 73 65 64 20 61 73 20 74 68 65 20 66 69 6e 61 6c 20 63 6f .`args`.are.used.as.the.final.co
6a160 6e 73 20 6f 66 20 74 68 65 0a 72 65 73 75 6c 74 2c 20 73 6f 20 69 66 20 74 68 65 20 66 69 6e 61 ns.of.the.result,.so.if.the.fina
6a180 6c 20 65 6c 65 6d 65 6e 74 20 6f 66 20 60 61 72 67 73 60 20 69 73 20 6e 6f 74 20 61 20 6c 69 73 l.element.of.`args`.is.not.a.lis
6a1a0 74 2c 20 74 68 65 20 72 65 73 75 6c 74 0a 69 73 20 61 20 64 6f 74 74 65 64 20 6c 69 73 74 2e 20 t,.the.result.is.a.dotted.list..
6a1c0 20 57 69 74 68 20 6e 6f 20 60 61 72 67 73 60 2c 20 72 65 74 75 72 6e 20 6e 69 6c 2e 0a 0a 60 60 .With.no.`args`,.return.nil...``
6a1e0 60 65 6c 0a 28 2d 63 6f 6e 73 2a 20 31 20 32 29 20 3b 3b 20 3d 3e 20 28 31 20 2e 20 32 29 0a 28 `el.(-cons*.1.2).;;.=>.(1...2).(
6a200 2d 63 6f 6e 73 2a 20 31 20 32 20 33 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 2e 20 33 29 0a 28 2d -cons*.1.2.3).;;.=>.(1.2...3).(-
6a220 63 6f 6e 73 2a 20 31 29 20 3b 3b 20 3d 3e 20 31 0a 60 60 60 0a 0a 23 23 23 23 20 2d 73 6e 6f 63 cons*.1).;;.=>.1.```..####.-snoc
6a240 20 60 28 6c 69 73 74 20 65 6c 65 6d 20 26 72 65 73 74 20 65 6c 65 6d 65 6e 74 73 29 60 0a 0a 41 .`(list.elem.&rest.elements)`..A
6a260 70 70 65 6e 64 20 60 65 6c 65 6d 60 20 74 6f 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 6c ppend.`elem`.to.the.end.of.the.l
6a280 69 73 74 2e 0a 0a 54 68 69 73 20 69 73 20 6c 69 6b 65 20 60 63 6f 6e 73 60 2c 20 62 75 74 20 6f ist...This.is.like.`cons`,.but.o
6a2a0 70 65 72 61 74 65 73 20 6f 6e 20 74 68 65 20 65 6e 64 20 6f 66 20 6c 69 73 74 2e 0a 0a 49 66 20 perates.on.the.end.of.list...If.
6a2c0 60 65 6c 65 6d 65 6e 74 73 60 20 69 73 20 6e 6f 6e 20 6e 69 6c 2c 20 61 70 70 65 6e 64 20 74 68 `elements`.is.non.nil,.append.th
6a2e0 65 73 65 20 74 6f 20 74 68 65 20 6c 69 73 74 20 61 73 20 77 65 6c 6c 2e 0a 0a 60 60 60 65 6c 0a ese.to.the.list.as.well...```el.
6a300 28 2d 73 6e 6f 63 20 27 28 31 20 32 20 33 29 20 34 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 20 (-snoc.'(1.2.3).4).;;.=>.(1.2.3.
6a320 34 29 0a 28 2d 73 6e 6f 63 20 27 28 31 20 32 20 33 29 20 34 20 35 20 36 29 20 3b 3b 20 3d 3e 20 4).(-snoc.'(1.2.3).4.5.6).;;.=>.
6a340 28 31 20 32 20 33 20 34 20 35 20 36 29 0a 28 2d 73 6e 6f 63 20 27 28 31 20 32 20 33 29 20 27 28 (1.2.3.4.5.6).(-snoc.'(1.2.3).'(
6a360 34 20 35 20 36 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 20 28 34 20 35 20 36 29 29 0a 60 60 4.5.6)).;;.=>.(1.2.3.(4.5.6)).``
6a380 60 0a 0a 23 23 23 23 20 2d 69 6e 74 65 72 70 6f 73 65 20 60 28 73 65 70 20 6c 69 73 74 29 60 0a `..####.-interpose.`(sep.list)`.
6a3a0 0a 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 6f 66 20 61 6c 6c 20 65 6c 65 6d 65 6e .Return.a.new.list.of.all.elemen
6a3c0 74 73 20 69 6e 20 60 6c 69 73 74 60 20 73 65 70 61 72 61 74 65 64 20 62 79 20 60 73 65 70 60 2e ts.in.`list`.separated.by.`sep`.
6a3e0 0a 0a 60 60 60 65 6c 0a 28 2d 69 6e 74 65 72 70 6f 73 65 20 22 2d 22 20 28 29 29 20 3b 3b 20 3d ..```el.(-interpose."-".()).;;.=
6a400 3e 20 28 29 0a 28 2d 69 6e 74 65 72 70 6f 73 65 20 22 2d 22 20 27 28 22 61 22 29 29 20 3b 3b 20 >.().(-interpose."-".'("a")).;;.
6a420 3d 3e 20 28 22 61 22 29 0a 28 2d 69 6e 74 65 72 70 6f 73 65 20 22 2d 22 20 27 28 22 61 22 20 22 =>.("a").(-interpose."-".'("a"."
6a440 62 22 20 22 63 22 29 29 20 3b 3b 20 3d 3e 20 28 22 61 22 20 22 2d 22 20 22 62 22 20 22 2d 22 20 b"."c")).;;.=>.("a"."-"."b"."-".
6a460 22 63 22 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 69 6e 74 65 72 6c 65 61 76 65 20 60 28 26 72 65 "c").```..####.-interleave.`(&re
6a480 73 74 20 6c 69 73 74 73 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 6f 66 st.lists)`..Return.a.new.list.of
6a4a0 20 74 68 65 20 66 69 72 73 74 20 69 74 65 6d 20 69 6e 20 65 61 63 68 20 6c 69 73 74 2c 20 74 68 .the.first.item.in.each.list,.th
6a4c0 65 6e 20 74 68 65 20 73 65 63 6f 6e 64 20 65 74 63 2e 0a 0a 60 60 60 65 6c 0a 28 2d 69 6e 74 65 en.the.second.etc...```el.(-inte
6a4e0 72 6c 65 61 76 65 20 27 28 31 20 32 29 20 27 28 22 61 22 20 22 62 22 29 29 20 3b 3b 20 3d 3e 20 rleave.'(1.2).'("a"."b")).;;.=>.
6a500 28 31 20 22 61 22 20 32 20 22 62 22 29 0a 28 2d 69 6e 74 65 72 6c 65 61 76 65 20 27 28 31 20 32 (1."a".2."b").(-interleave.'(1.2
6a520 29 20 27 28 22 61 22 20 22 62 22 29 20 27 28 22 41 22 20 22 42 22 29 29 20 3b 3b 20 3d 3e 20 28 ).'("a"."b").'("A"."B")).;;.=>.(
6a540 31 20 22 61 22 20 22 41 22 20 32 20 22 62 22 20 22 42 22 29 0a 28 2d 69 6e 74 65 72 6c 65 61 76 1."a"."A".2."b"."B").(-interleav
6a560 65 20 27 28 31 20 32 20 33 29 20 27 28 22 61 22 20 22 62 22 29 29 20 3b 3b 20 3d 3e 20 28 31 20 e.'(1.2.3).'("a"."b")).;;.=>.(1.
6a580 22 61 22 20 32 20 22 62 22 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 69 6f 74 61 20 60 28 63 6f 75 "a".2."b").```..####.-iota.`(cou
6a5a0 6e 74 20 26 6f 70 74 69 6f 6e 61 6c 20 73 74 61 72 74 20 73 74 65 70 29 60 0a 0a 52 65 74 75 72 nt.&optional.start.step)`..Retur
6a5c0 6e 20 61 20 6c 69 73 74 20 63 6f 6e 74 61 69 6e 69 6e 67 20 60 63 6f 75 6e 74 60 20 6e 75 6d 62 n.a.list.containing.`count`.numb
6a5e0 65 72 73 2e 0a 53 74 61 72 74 73 20 66 72 6f 6d 20 60 73 74 61 72 74 60 20 61 6e 64 20 61 64 64 ers..Starts.from.`start`.and.add
6a600 73 20 60 73 74 65 70 60 20 65 61 63 68 20 74 69 6d 65 2e 20 20 54 68 65 20 64 65 66 61 75 6c 74 s.`step`.each.time...The.default
6a620 20 60 73 74 61 72 74 60 20 69 73 0a 7a 65 72 6f 2c 20 74 68 65 20 64 65 66 61 75 6c 74 20 60 73 .`start`.is.zero,.the.default.`s
6a640 74 65 70 60 20 69 73 20 31 2e 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 74 61 6b 65 73 20 69 tep`.is.1..This.function.takes.i
6a660 74 73 20 6e 61 6d 65 20 66 72 6f 6d 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 70 ts.name.from.the.corresponding.p
6a680 72 69 6d 69 74 69 76 65 20 69 6e 0a 74 68 65 20 60 61 70 6c 60 20 6c 61 6e 67 75 61 67 65 2e 0a rimitive.in.the.`apl`.language..
6a6a0 0a 60 60 60 65 6c 0a 28 2d 69 6f 74 61 20 36 29 20 3b 3b 20 3d 3e 20 28 30 20 31 20 32 20 33 20 .```el.(-iota.6).;;.=>.(0.1.2.3.
6a6c0 34 20 35 29 0a 28 2d 69 6f 74 61 20 34 20 32 2e 35 20 2d 32 29 20 3b 3b 20 3d 3e 20 28 32 2e 35 4.5).(-iota.4.2.5.-2).;;.=>.(2.5
6a6e0 20 30 2e 35 20 2d 31 2e 35 20 2d 33 2e 35 29 0a 28 2d 69 6f 74 61 20 2d 31 29 20 3b 3b 20 57 72 .0.5.-1.5.-3.5).(-iota.-1).;;.Wr
6a700 6f 6e 67 20 74 79 70 65 20 61 72 67 75 6d 65 6e 74 3a 20 6e 61 74 6e 75 6d 70 2c 20 2d 31 0a 60 ong.type.argument:.natnump,.-1.`
6a720 60 60 0a 0a 23 23 23 23 20 2d 7a 69 70 2d 77 69 74 68 20 60 28 66 6e 20 6c 69 73 74 31 20 6c 69 ``..####.-zip-with.`(fn.list1.li
6a740 73 74 32 29 60 0a 0a 5a 69 70 20 74 68 65 20 74 77 6f 20 6c 69 73 74 73 20 60 6c 69 73 74 31 60 st2)`..Zip.the.two.lists.`list1`
6a760 20 61 6e 64 20 60 6c 69 73 74 32 60 20 75 73 69 6e 67 20 61 20 66 75 6e 63 74 69 6f 6e 20 60 66 .and.`list2`.using.a.function.`f
6a780 6e 60 2e 20 20 54 68 69 73 0a 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 70 70 6c 69 65 64 20 70 61 n`...This.function.is.applied.pa
6a7a0 69 72 77 69 73 65 20 74 61 6b 69 6e 67 20 61 73 20 66 69 72 73 74 20 61 72 67 75 6d 65 6e 74 20 irwise.taking.as.first.argument.
6a7c0 65 6c 65 6d 65 6e 74 20 6f 66 0a 60 6c 69 73 74 31 60 20 61 6e 64 20 61 73 20 73 65 63 6f 6e 64 element.of.`list1`.and.as.second
6a7e0 20 61 72 67 75 6d 65 6e 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 60 6c 69 73 74 32 60 20 61 74 20 .argument.element.of.`list2`.at.
6a800 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 0a 70 6f 73 69 74 69 6f 6e 2e 0a 0a 54 68 65 20 61 6e 61 corresponding.position...The.ana
6a820 70 68 6f 72 69 63 20 66 6f 72 6d 20 60 2d 2d 7a 69 70 2d 77 69 74 68 60 20 62 69 6e 64 73 20 74 phoric.form.`--zip-with`.binds.t
6a840 68 65 20 65 6c 65 6d 65 6e 74 73 20 66 72 6f 6d 20 60 6c 69 73 74 31 60 20 61 73 20 73 79 6d 62 he.elements.from.`list1`.as.symb
6a860 6f 6c 20 60 69 74 60 2c 0a 61 6e 64 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 66 72 6f 6d 20 60 ol.`it`,.and.the.elements.from.`
6a880 6c 69 73 74 32 60 20 61 73 20 73 79 6d 62 6f 6c 20 60 6f 74 68 65 72 60 2e 0a 0a 60 60 60 65 6c list2`.as.symbol.`other`...```el
6a8a0 0a 28 2d 7a 69 70 2d 77 69 74 68 20 27 2b 20 27 28 31 20 32 20 33 29 20 27 28 34 20 35 20 36 29 .(-zip-with.'+.'(1.2.3).'(4.5.6)
6a8c0 29 20 3b 3b 20 3d 3e 20 28 35 20 37 20 39 29 0a 28 2d 7a 69 70 2d 77 69 74 68 20 27 63 6f 6e 73 ).;;.=>.(5.7.9).(-zip-with.'cons
6a8e0 20 27 28 31 20 32 20 33 29 20 27 28 34 20 35 20 36 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 2e 20 .'(1.2.3).'(4.5.6)).;;.=>.((1...
6a900 34 29 20 28 32 20 2e 20 35 29 20 28 33 20 2e 20 36 29 29 0a 28 2d 2d 7a 69 70 2d 77 69 74 68 20 4).(2...5).(3...6)).(--zip-with.
6a920 28 63 6f 6e 63 61 74 20 69 74 20 22 20 61 6e 64 20 22 20 6f 74 68 65 72 29 20 27 28 22 42 61 74 (concat.it.".and.".other).'("Bat
6a940 6d 61 6e 22 20 22 4a 65 6b 79 6c 6c 22 29 20 27 28 22 52 6f 62 69 6e 22 20 22 48 79 64 65 22 29 man"."Jekyll").'("Robin"."Hyde")
6a960 29 20 3b 3b 20 3d 3e 20 28 22 42 61 74 6d 61 6e 20 61 6e 64 20 52 6f 62 69 6e 22 20 22 4a 65 6b ).;;.=>.("Batman.and.Robin"."Jek
6a980 79 6c 6c 20 61 6e 64 20 48 79 64 65 22 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 7a 69 70 20 60 28 yll.and.Hyde").```..####.-zip.`(
6a9a0 26 72 65 73 74 20 6c 69 73 74 73 29 60 0a 0a 5a 69 70 20 60 6c 69 73 74 73 60 20 74 6f 67 65 74 &rest.lists)`..Zip.`lists`.toget
6a9c0 68 65 72 2e 20 20 47 72 6f 75 70 20 74 68 65 20 68 65 61 64 20 6f 66 20 65 61 63 68 20 6c 69 73 her...Group.the.head.of.each.lis
6a9e0 74 2c 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 74 68 65 0a 73 65 63 6f 6e 64 20 65 6c 65 6d 65 6e t,.followed.by.the.second.elemen
6aa00 74 73 20 6f 66 20 65 61 63 68 20 6c 69 73 74 2c 20 61 6e 64 20 73 6f 20 6f 6e 2e 20 54 68 65 20 ts.of.each.list,.and.so.on..The.
6aa20 6c 65 6e 67 74 68 73 20 6f 66 20 74 68 65 20 72 65 74 75 72 6e 65 64 0a 67 72 6f 75 70 69 6e 67 lengths.of.the.returned.grouping
6aa40 73 20 61 72 65 20 65 71 75 61 6c 20 74 6f 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 s.are.equal.to.the.length.of.the
6aa60 20 73 68 6f 72 74 65 73 74 20 69 6e 70 75 74 20 6c 69 73 74 2e 0a 0a 49 66 20 74 77 6f 20 6c 69 .shortest.input.list...If.two.li
6aa80 73 74 73 20 61 72 65 20 70 72 6f 76 69 64 65 64 20 61 73 20 61 72 67 75 6d 65 6e 74 73 2c 20 72 sts.are.provided.as.arguments,.r
6aaa0 65 74 75 72 6e 20 74 68 65 20 67 72 6f 75 70 69 6e 67 73 20 61 73 20 61 20 6c 69 73 74 0a 6f 66 eturn.the.groupings.as.a.list.of
6aac0 20 63 6f 6e 73 20 63 65 6c 6c 73 2e 20 4f 74 68 65 72 77 69 73 65 2c 20 72 65 74 75 72 6e 20 74 .cons.cells..Otherwise,.return.t
6aae0 68 65 20 67 72 6f 75 70 69 6e 67 73 20 61 73 20 61 20 6c 69 73 74 20 6f 66 20 6c 69 73 74 73 2e he.groupings.as.a.list.of.lists.
6ab00 0a 0a 55 73 65 20 5b 60 2d 7a 69 70 2d 6c 69 73 74 73 60 5d 28 23 2d 7a 69 70 2d 6c 69 73 74 73 ..Use.[`-zip-lists`](#-zip-lists
6ab20 2d 72 65 73 74 2d 6c 69 73 74 73 29 20 69 66 20 79 6f 75 20 6e 65 65 64 20 74 68 65 20 72 65 74 -rest-lists).if.you.need.the.ret
6ab40 75 72 6e 20 76 61 6c 75 65 20 74 6f 20 61 6c 77 61 79 73 20 62 65 20 61 20 6c 69 73 74 0a 6f 66 urn.value.to.always.be.a.list.of
6ab60 20 6c 69 73 74 73 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 7a 69 70 2d 70 61 69 72 60 0a 0a 53 65 65 .lists...Alias:.`-zip-pair`..See
6ab80 20 61 6c 73 6f 3a 20 5b 60 2d 7a 69 70 2d 6c 69 73 74 73 60 5d 28 23 2d 7a 69 70 2d 6c 69 73 74 .also:.[`-zip-lists`](#-zip-list
6aba0 73 2d 72 65 73 74 2d 6c 69 73 74 73 29 0a 0a 60 60 60 65 6c 0a 28 2d 7a 69 70 20 27 28 31 20 32 s-rest-lists)..```el.(-zip.'(1.2
6abc0 20 33 29 20 27 28 34 20 35 20 36 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 2e 20 34 29 20 28 32 20 .3).'(4.5.6)).;;.=>.((1...4).(2.
6abe0 2e 20 35 29 20 28 33 20 2e 20 36 29 29 0a 28 2d 7a 69 70 20 27 28 31 20 32 20 33 29 20 27 28 34 ..5).(3...6)).(-zip.'(1.2.3).'(4
6ac00 20 35 20 36 20 37 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 2e 20 34 29 20 28 32 20 2e 20 35 29 20 .5.6.7)).;;.=>.((1...4).(2...5).
6ac20 28 33 20 2e 20 36 29 29 0a 28 2d 7a 69 70 20 27 28 31 20 32 29 20 27 28 33 20 34 20 35 29 20 27 (3...6)).(-zip.'(1.2).'(3.4.5).'
6ac40 28 36 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 33 20 36 29 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d (6)).;;.=>.((1.3.6)).```..####.-
6ac60 7a 69 70 2d 6c 69 73 74 73 20 60 28 26 72 65 73 74 20 6c 69 73 74 73 29 60 0a 0a 5a 69 70 20 60 zip-lists.`(&rest.lists)`..Zip.`
6ac80 6c 69 73 74 73 60 20 74 6f 67 65 74 68 65 72 2e 20 20 47 72 6f 75 70 20 74 68 65 20 68 65 61 64 lists`.together...Group.the.head
6aca0 20 6f 66 20 65 61 63 68 20 6c 69 73 74 2c 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 74 68 65 0a 73 .of.each.list,.followed.by.the.s
6acc0 65 63 6f 6e 64 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 65 61 63 68 20 6c 69 73 74 2c 20 61 6e 64 econd.elements.of.each.list,.and
6ace0 20 73 6f 20 6f 6e 2e 20 54 68 65 20 6c 65 6e 67 74 68 73 20 6f 66 20 74 68 65 20 72 65 74 75 72 .so.on..The.lengths.of.the.retur
6ad00 6e 65 64 0a 67 72 6f 75 70 69 6e 67 73 20 61 72 65 20 65 71 75 61 6c 20 74 6f 20 74 68 65 20 6c ned.groupings.are.equal.to.the.l
6ad20 65 6e 67 74 68 20 6f 66 20 74 68 65 20 73 68 6f 72 74 65 73 74 20 69 6e 70 75 74 20 6c 69 73 74 ength.of.the.shortest.input.list
6ad40 2e 0a 0a 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 61 6c 77 61 79 73 20 6c 69 ...The.return.value.is.always.li
6ad60 73 74 20 6f 66 20 6c 69 73 74 73 2c 20 77 68 69 63 68 20 69 73 20 61 20 64 69 66 66 65 72 65 6e st.of.lists,.which.is.a.differen
6ad80 63 65 0a 66 72 6f 6d 20 60 2d 7a 69 70 2d 70 61 69 72 60 20 77 68 69 63 68 20 72 65 74 75 72 6e ce.from.`-zip-pair`.which.return
6ada0 73 20 61 20 63 6f 6e 73 2d 63 65 6c 6c 20 69 6e 20 63 61 73 65 20 74 77 6f 20 69 6e 70 75 74 0a s.a.cons-cell.in.case.two.input.
6adc0 6c 69 73 74 73 20 61 72 65 20 70 72 6f 76 69 64 65 64 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b lists.are.provided...See.also:.[
6ade0 60 2d 7a 69 70 60 5d 28 23 2d 7a 69 70 2d 72 65 73 74 2d 6c 69 73 74 73 29 0a 0a 60 60 60 65 6c `-zip`](#-zip-rest-lists)..```el
6ae00 0a 28 2d 7a 69 70 2d 6c 69 73 74 73 20 27 28 31 20 32 20 33 29 20 27 28 34 20 35 20 36 29 29 20 .(-zip-lists.'(1.2.3).'(4.5.6)).
6ae20 3b 3b 20 3d 3e 20 28 28 31 20 34 29 20 28 32 20 35 29 20 28 33 20 36 29 29 0a 28 2d 7a 69 70 2d ;;.=>.((1.4).(2.5).(3.6)).(-zip-
6ae40 6c 69 73 74 73 20 27 28 31 20 32 20 33 29 20 27 28 34 20 35 20 36 20 37 29 29 20 3b 3b 20 3d 3e lists.'(1.2.3).'(4.5.6.7)).;;.=>
6ae60 20 28 28 31 20 34 29 20 28 32 20 35 29 20 28 33 20 36 29 29 0a 28 2d 7a 69 70 2d 6c 69 73 74 73 .((1.4).(2.5).(3.6)).(-zip-lists
6ae80 20 27 28 31 20 32 29 20 27 28 33 20 34 20 35 29 20 27 28 36 29 29 20 3b 3b 20 3d 3e 20 28 28 31 .'(1.2).'(3.4.5).'(6)).;;.=>.((1
6aea0 20 33 20 36 29 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 7a 69 70 2d 66 69 6c 6c 20 60 28 66 69 6c .3.6)).```..####.-zip-fill.`(fil
6aec0 6c 2d 76 61 6c 75 65 20 26 72 65 73 74 20 6c 69 73 74 73 29 60 0a 0a 5a 69 70 20 60 6c 69 73 74 l-value.&rest.lists)`..Zip.`list
6aee0 73 60 2c 20 77 69 74 68 20 60 66 69 6c 6c 2d 76 61 6c 75 65 60 20 70 61 64 64 65 64 20 6f 6e 74 s`,.with.`fill-value`.padded.ont
6af00 6f 20 74 68 65 20 73 68 6f 72 74 65 72 20 6c 69 73 74 73 2e 20 54 68 65 0a 6c 65 6e 67 74 68 73 o.the.shorter.lists..The.lengths
6af20 20 6f 66 20 74 68 65 20 72 65 74 75 72 6e 65 64 20 67 72 6f 75 70 69 6e 67 73 20 61 72 65 20 65 .of.the.returned.groupings.are.e
6af40 71 75 61 6c 20 74 6f 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 0a 6c 6f 6e 67 65 73 qual.to.the.length.of.the.longes
6af60 74 20 69 6e 70 75 74 20 6c 69 73 74 2e 0a 0a 60 60 60 65 6c 0a 28 2d 7a 69 70 2d 66 69 6c 6c 20 t.input.list...```el.(-zip-fill.
6af80 30 20 27 28 31 20 32 20 33 20 34 20 35 29 20 27 28 36 20 37 20 38 20 39 29 29 20 3b 3b 20 3d 3e 0.'(1.2.3.4.5).'(6.7.8.9)).;;.=>
6afa0 20 28 28 31 20 2e 20 36 29 20 28 32 20 2e 20 37 29 20 28 33 20 2e 20 38 29 20 28 34 20 2e 20 39 .((1...6).(2...7).(3...8).(4...9
6afc0 29 20 28 35 20 2e 20 30 29 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 75 6e 7a 69 70 20 60 28 6c 69 ).(5...0)).```..####.-unzip.`(li
6afe0 73 74 73 29 60 0a 0a 55 6e 7a 69 70 20 60 6c 69 73 74 73 60 2e 0a 0a 54 68 69 73 20 77 6f 72 6b sts)`..Unzip.`lists`...This.work
6b000 73 20 6a 75 73 74 20 6c 69 6b 65 20 5b 60 2d 7a 69 70 60 5d 28 23 2d 7a 69 70 2d 72 65 73 74 2d s.just.like.[`-zip`](#-zip-rest-
6b020 6c 69 73 74 73 29 20 62 75 74 20 74 61 6b 65 73 20 61 20 6c 69 73 74 20 6f 66 20 6c 69 73 74 73 lists).but.takes.a.list.of.lists
6b040 20 69 6e 73 74 65 61 64 20 6f 66 0a 61 20 76 61 72 69 61 62 6c 65 20 6e 75 6d 62 65 72 20 6f 66 .instead.of.a.variable.number.of
6b060 20 61 72 67 75 6d 65 6e 74 73 2c 20 73 75 63 68 20 74 68 61 74 0a 0a 20 20 20 20 28 2d 75 6e 7a .arguments,.such.that......(-unz
6b080 69 70 20 28 2d 7a 69 70 20 60 6c 31 60 20 60 6c 32 60 20 60 6c 33 60 20 2e 2e 2e 29 29 0a 0a 69 ip.(-zip.`l1`.`l2`.`l3`....))..i
6b0a0 73 20 69 64 65 6e 74 69 74 79 20 28 67 69 76 65 6e 20 74 68 61 74 20 74 68 65 20 6c 69 73 74 73 s.identity.(given.that.the.lists
6b0c0 20 61 72 65 20 74 68 65 20 73 61 6d 65 20 6c 65 6e 67 74 68 29 2e 0a 0a 4e 6f 74 65 20 69 6e 20 .are.the.same.length)...Note.in.
6b0e0 70 61 72 74 69 63 75 6c 61 72 20 74 68 61 74 20 63 61 6c 6c 69 6e 67 20 74 68 69 73 20 6f 6e 20 particular.that.calling.this.on.
6b100 61 20 6c 69 73 74 20 6f 66 20 74 77 6f 20 6c 69 73 74 73 20 77 69 6c 6c 0a 72 65 74 75 72 6e 20 a.list.of.two.lists.will.return.
6b120 61 20 6c 69 73 74 20 6f 66 20 63 6f 6e 73 2d 63 65 6c 6c 73 20 73 75 63 68 20 74 68 61 74 20 74 a.list.of.cons-cells.such.that.t
6b140 68 65 20 61 62 6f 76 65 20 69 64 65 6e 74 69 74 79 20 77 6f 72 6b 73 2e 0a 0a 53 65 65 20 61 6c he.above.identity.works...See.al
6b160 73 6f 3a 20 5b 60 2d 7a 69 70 60 5d 28 23 2d 7a 69 70 2d 72 65 73 74 2d 6c 69 73 74 73 29 0a 0a so:.[`-zip`](#-zip-rest-lists)..
6b180 60 60 60 65 6c 0a 28 2d 75 6e 7a 69 70 20 28 2d 7a 69 70 20 27 28 31 20 32 20 33 29 20 27 28 61 ```el.(-unzip.(-zip.'(1.2.3).'(a
6b1a0 20 62 20 63 29 20 27 28 22 65 22 20 22 66 22 20 22 67 22 29 29 29 20 3b 3b 20 3d 3e 20 28 28 31 .b.c).'("e"."f"."g"))).;;.=>.((1
6b1c0 20 32 20 33 29 20 28 61 20 62 20 63 29 20 28 22 65 22 20 22 66 22 20 22 67 22 29 29 0a 28 2d 75 .2.3).(a.b.c).("e"."f"."g")).(-u
6b1e0 6e 7a 69 70 20 27 28 28 31 20 32 29 20 28 33 20 34 29 20 28 35 20 36 29 20 28 37 20 38 29 20 28 nzip.'((1.2).(3.4).(5.6).(7.8).(
6b200 39 20 31 30 29 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 33 20 35 20 37 20 39 29 20 28 32 20 34 20 9.10))).;;.=>.((1.3.5.7.9).(2.4.
6b220 36 20 38 20 31 30 29 29 0a 28 2d 75 6e 7a 69 70 20 27 28 28 31 20 32 29 20 28 33 20 34 29 29 29 6.8.10)).(-unzip.'((1.2).(3.4)))
6b240 20 3b 3b 20 3d 3e 20 28 28 31 20 2e 20 33 29 20 28 32 20 2e 20 34 29 29 0a 60 60 60 0a 0a 23 23 .;;.=>.((1...3).(2...4)).```..##
6b260 23 23 20 2d 63 79 63 6c 65 20 60 28 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 61 6e 20 69 6e ##.-cycle.`(list)`..Return.an.in
6b280 66 69 6e 69 74 65 20 63 69 72 63 75 6c 61 72 20 63 6f 70 79 20 6f 66 20 60 6c 69 73 74 60 2e 0a finite.circular.copy.of.`list`..
6b2a0 54 68 65 20 72 65 74 75 72 6e 65 64 20 6c 69 73 74 20 63 79 63 6c 65 73 20 74 68 72 6f 75 67 68 The.returned.list.cycles.through
6b2c0 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 60 6c 69 73 74 60 20 61 6e 64 20 72 65 70 65 .the.elements.of.`list`.and.repe
6b2e0 61 74 73 0a 66 72 6f 6d 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 2e 0a 0a 60 60 60 65 6c 0a 28 ats.from.the.beginning...```el.(
6b300 2d 74 61 6b 65 20 35 20 28 2d 63 79 63 6c 65 20 27 28 31 20 32 20 33 29 29 29 20 3b 3b 20 3d 3e -take.5.(-cycle.'(1.2.3))).;;.=>
6b320 20 28 31 20 32 20 33 20 31 20 32 29 0a 28 2d 74 61 6b 65 20 37 20 28 2d 63 79 63 6c 65 20 27 28 .(1.2.3.1.2).(-take.7.(-cycle.'(
6b340 31 20 22 61 6e 64 22 20 33 29 29 29 20 3b 3b 20 3d 3e 20 28 31 20 22 61 6e 64 22 20 33 20 31 20 1."and".3))).;;.=>.(1."and".3.1.
6b360 22 61 6e 64 22 20 33 20 31 29 0a 28 2d 7a 69 70 20 28 2d 63 79 63 6c 65 20 27 28 31 20 32 20 33 "and".3.1).(-zip.(-cycle.'(1.2.3
6b380 29 29 20 27 28 31 20 32 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 2e 20 31 29 20 28 32 20 2e 20 32 )).'(1.2)).;;.=>.((1...1).(2...2
6b3a0 29 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 70 61 64 20 60 28 66 69 6c 6c 2d 76 61 6c 75 65 20 26 )).```..####.-pad.`(fill-value.&
6b3c0 72 65 73 74 20 6c 69 73 74 73 29 60 0a 0a 41 70 70 65 6e 64 73 20 60 66 69 6c 6c 2d 76 61 6c 75 rest.lists)`..Appends.`fill-valu
6b3e0 65 60 20 74 6f 20 74 68 65 20 65 6e 64 20 6f 66 20 65 61 63 68 20 6c 69 73 74 20 69 6e 20 60 6c e`.to.the.end.of.each.list.in.`l
6b400 69 73 74 73 60 20 73 75 63 68 20 74 68 61 74 20 74 68 65 79 0a 77 69 6c 6c 20 61 6c 6c 20 68 61 ists`.such.that.they.will.all.ha
6b420 76 65 20 74 68 65 20 73 61 6d 65 20 6c 65 6e 67 74 68 2e 0a 0a 60 60 60 65 6c 0a 28 2d 70 61 64 ve.the.same.length...```el.(-pad
6b440 20 30 20 28 29 29 20 3b 3b 20 3d 3e 20 28 6e 69 6c 29 0a 28 2d 70 61 64 20 30 20 27 28 31 29 29 .0.()).;;.=>.(nil).(-pad.0.'(1))
6b460 20 3b 3b 20 3d 3e 20 28 28 31 29 29 0a 28 2d 70 61 64 20 30 20 27 28 31 20 32 20 33 29 20 27 28 .;;.=>.((1)).(-pad.0.'(1.2.3).'(
6b480 34 20 35 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 32 20 33 29 20 28 34 20 35 20 30 29 29 0a 60 60 4.5)).;;.=>.((1.2.3).(4.5.0)).``
6b4a0 60 0a 0a 23 23 23 23 20 2d 74 61 62 6c 65 20 60 28 66 6e 20 26 72 65 73 74 20 6c 69 73 74 73 29 `..####.-table.`(fn.&rest.lists)
6b4c0 60 0a 0a 43 6f 6d 70 75 74 65 20 6f 75 74 65 72 20 70 72 6f 64 75 63 74 20 6f 66 20 60 6c 69 73 `..Compute.outer.product.of.`lis
6b4e0 74 73 60 20 75 73 69 6e 67 20 66 75 6e 63 74 69 6f 6e 20 60 66 6e 60 2e 0a 0a 54 68 65 20 66 75 ts`.using.function.`fn`...The.fu
6b500 6e 63 74 69 6f 6e 20 60 66 6e 60 20 73 68 6f 75 6c 64 20 68 61 76 65 20 74 68 65 20 73 61 6d 65 nction.`fn`.should.have.the.same
6b520 20 61 72 69 74 79 20 61 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 0a 73 75 70 70 6c 69 65 64 .arity.as.the.number.of.supplied
6b540 20 6c 69 73 74 73 2e 0a 0a 54 68 65 20 6f 75 74 65 72 20 70 72 6f 64 75 63 74 20 69 73 20 63 6f .lists...The.outer.product.is.co
6b560 6d 70 75 74 65 64 20 62 79 20 61 70 70 6c 79 69 6e 67 20 66 6e 20 74 6f 20 61 6c 6c 20 70 6f 73 mputed.by.applying.fn.to.all.pos
6b580 73 69 62 6c 65 0a 63 6f 6d 62 69 6e 61 74 69 6f 6e 73 20 63 72 65 61 74 65 64 20 62 79 20 74 61 sible.combinations.created.by.ta
6b5a0 6b 69 6e 67 20 6f 6e 65 20 65 6c 65 6d 65 6e 74 20 66 72 6f 6d 20 65 61 63 68 20 6c 69 73 74 20 king.one.element.from.each.list.
6b5c0 69 6e 0a 6f 72 64 65 72 2e 20 20 54 68 65 20 64 69 6d 65 6e 73 69 6f 6e 20 6f 66 20 74 68 65 20 in.order...The.dimension.of.the.
6b5e0 72 65 73 75 6c 74 20 69 73 20 28 6c 65 6e 67 74 68 20 6c 69 73 74 73 29 2e 0a 0a 53 65 65 20 61 result.is.(length.lists)...See.a
6b600 6c 73 6f 3a 20 5b 60 2d 74 61 62 6c 65 2d 66 6c 61 74 60 5d 28 23 2d 74 61 62 6c 65 2d 66 6c 61 lso:.[`-table-flat`](#-table-fla
6b620 74 2d 66 6e 2d 72 65 73 74 2d 6c 69 73 74 73 29 0a 0a 60 60 60 65 6c 0a 28 2d 74 61 62 6c 65 20 t-fn-rest-lists)..```el.(-table.
6b640 27 2a 20 27 28 31 20 32 20 33 29 20 27 28 31 20 32 20 33 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 '*.'(1.2.3).'(1.2.3)).;;.=>.((1.
6b660 32 20 33 29 20 28 32 20 34 20 36 29 20 28 33 20 36 20 39 29 29 0a 28 2d 74 61 62 6c 65 20 28 6c 2.3).(2.4.6).(3.6.9)).(-table.(l
6b680 61 6d 62 64 61 20 28 61 20 62 29 20 28 2d 73 75 6d 20 28 2d 7a 69 70 2d 77 69 74 68 20 27 2a 20 ambda.(a.b).(-sum.(-zip-with.'*.
6b6a0 61 20 62 29 29 29 20 27 28 28 31 20 32 29 20 28 33 20 34 29 29 20 27 28 28 31 20 33 29 20 28 32 a.b))).'((1.2).(3.4)).'((1.3).(2
6b6c0 20 34 29 29 29 20 3b 3b 20 3d 3e 20 28 28 37 20 31 35 29 20 28 31 30 20 32 32 29 29 0a 28 61 70 .4))).;;.=>.((7.15).(10.22)).(ap
6b6e0 70 6c 79 20 27 2d 74 61 62 6c 65 20 27 6c 69 73 74 20 28 2d 72 65 70 65 61 74 20 33 20 27 28 31 ply.'-table.'list.(-repeat.3.'(1
6b700 20 32 29 29 29 20 3b 3b 20 3d 3e 20 28 28 28 28 31 20 31 20 31 29 20 28 32 20 31 20 31 29 29 20 .2))).;;.=>.((((1.1.1).(2.1.1)).
6b720 28 28 31 20 32 20 31 29 20 28 32 20 32 20 31 29 29 29 20 28 28 28 31 20 31 20 32 29 20 28 32 20 ((1.2.1).(2.2.1))).(((1.1.2).(2.
6b740 31 20 32 29 29 20 28 28 31 20 32 20 32 29 20 28 32 20 32 20 32 29 29 29 29 0a 60 60 60 0a 0a 23 1.2)).((1.2.2).(2.2.2)))).```..#
6b760 23 23 23 20 2d 74 61 62 6c 65 2d 66 6c 61 74 20 60 28 66 6e 20 26 72 65 73 74 20 6c 69 73 74 73 ###.-table-flat.`(fn.&rest.lists
6b780 29 60 0a 0a 43 6f 6d 70 75 74 65 20 66 6c 61 74 20 6f 75 74 65 72 20 70 72 6f 64 75 63 74 20 6f )`..Compute.flat.outer.product.o
6b7a0 66 20 60 6c 69 73 74 73 60 20 75 73 69 6e 67 20 66 75 6e 63 74 69 6f 6e 20 60 66 6e 60 2e 0a 0a f.`lists`.using.function.`fn`...
6b7c0 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 60 66 6e 60 20 73 68 6f 75 6c 64 20 68 61 76 65 20 74 68 The.function.`fn`.should.have.th
6b7e0 65 20 73 61 6d 65 20 61 72 69 74 79 20 61 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 0a 73 75 e.same.arity.as.the.number.of.su
6b800 70 70 6c 69 65 64 20 6c 69 73 74 73 2e 0a 0a 54 68 65 20 6f 75 74 65 72 20 70 72 6f 64 75 63 74 pplied.lists...The.outer.product
6b820 20 69 73 20 63 6f 6d 70 75 74 65 64 20 62 79 20 61 70 70 6c 79 69 6e 67 20 66 6e 20 74 6f 20 61 .is.computed.by.applying.fn.to.a
6b840 6c 6c 20 70 6f 73 73 69 62 6c 65 0a 63 6f 6d 62 69 6e 61 74 69 6f 6e 73 20 63 72 65 61 74 65 64 ll.possible.combinations.created
6b860 20 62 79 20 74 61 6b 69 6e 67 20 6f 6e 65 20 65 6c 65 6d 65 6e 74 20 66 72 6f 6d 20 65 61 63 68 .by.taking.one.element.from.each
6b880 20 6c 69 73 74 20 69 6e 0a 6f 72 64 65 72 2e 20 20 54 68 65 20 72 65 73 75 6c 74 73 20 61 72 65 .list.in.order...The.results.are
6b8a0 20 66 6c 61 74 74 65 6e 65 64 2c 20 69 67 6e 6f 72 69 6e 67 20 74 68 65 20 74 65 6e 73 6f 72 20 .flattened,.ignoring.the.tensor.
6b8c0 73 74 72 75 63 74 75 72 65 0a 6f 66 20 74 68 65 20 72 65 73 75 6c 74 2e 20 20 54 68 69 73 20 69 structure.of.the.result...This.i
6b8e0 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 63 61 6c 6c 69 6e 67 3a 0a 0a 20 20 20 20 28 2d s.equivalent.to.calling:......(-
6b900 66 6c 61 74 74 65 6e 2d 6e 20 28 31 2d 20 28 6c 65 6e 67 74 68 20 6c 69 73 74 73 29 29 20 28 61 flatten-n.(1-.(length.lists)).(a
6b920 70 70 6c 79 20 27 2d 74 61 62 6c 65 20 66 6e 20 6c 69 73 74 73 29 29 0a 0a 62 75 74 20 74 68 65 pply.'-table.fn.lists))..but.the
6b940 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 68 65 72 65 20 69 73 20 6d 75 63 68 20 6d 6f 72 .implementation.here.is.much.mor
6b960 65 20 65 66 66 69 63 69 65 6e 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 66 6c 61 74 74 e.efficient...See.also:.[`-flatt
6b980 65 6e 2d 6e 60 5d 28 23 2d 66 6c 61 74 74 65 6e 2d 6e 2d 6e 75 6d 2d 6c 69 73 74 29 2c 20 5b 60 en-n`](#-flatten-n-num-list),.[`
6b9a0 2d 74 61 62 6c 65 60 5d 28 23 2d 74 61 62 6c 65 2d 66 6e 2d 72 65 73 74 2d 6c 69 73 74 73 29 0a -table`](#-table-fn-rest-lists).
6b9c0 0a 60 60 60 65 6c 0a 28 2d 74 61 62 6c 65 2d 66 6c 61 74 20 27 6c 69 73 74 20 27 28 31 20 32 20 .```el.(-table-flat.'list.'(1.2.
6b9e0 33 29 20 27 28 61 20 62 20 63 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 61 29 20 28 32 20 61 29 20 3).'(a.b.c)).;;.=>.((1.a).(2.a).
6ba00 28 33 20 61 29 20 28 31 20 62 29 20 28 32 20 62 29 20 28 33 20 62 29 20 28 31 20 63 29 20 28 32 (3.a).(1.b).(2.b).(3.b).(1.c).(2
6ba20 20 63 29 20 28 33 20 63 29 29 0a 28 2d 74 61 62 6c 65 2d 66 6c 61 74 20 27 2a 20 27 28 31 20 32 .c).(3.c)).(-table-flat.'*.'(1.2
6ba40 20 33 29 20 27 28 31 20 32 20 33 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 20 32 20 34 20 36 .3).'(1.2.3)).;;.=>.(1.2.3.2.4.6
6ba60 20 33 20 36 20 39 29 0a 28 61 70 70 6c 79 20 27 2d 74 61 62 6c 65 2d 66 6c 61 74 20 27 6c 69 73 .3.6.9).(apply.'-table-flat.'lis
6ba80 74 20 28 2d 72 65 70 65 61 74 20 33 20 27 28 31 20 32 29 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 t.(-repeat.3.'(1.2))).;;.=>.((1.
6baa0 31 20 31 29 20 28 32 20 31 20 31 29 20 28 31 20 32 20 31 29 20 28 32 20 32 20 31 29 20 28 31 20 1.1).(2.1.1).(1.2.1).(2.2.1).(1.
6bac0 31 20 32 29 20 28 32 20 31 20 32 29 20 28 31 20 32 20 32 29 20 28 32 20 32 20 32 29 29 0a 60 60 1.2).(2.1.2).(1.2.2).(2.2.2)).``
6bae0 60 0a 0a 23 23 23 23 20 2d 66 69 72 73 74 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 0a 52 65 `..####.-first.`(pred.list)`..Re
6bb00 74 75 72 6e 20 74 68 65 20 66 69 72 73 74 20 69 74 65 6d 20 69 6e 20 60 6c 69 73 74 60 20 66 6f turn.the.first.item.in.`list`.fo
6bb20 72 20 77 68 69 63 68 20 60 70 72 65 64 60 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a r.which.`pred`.returns.non-nil..
6bb40 52 65 74 75 72 6e 20 6e 69 6c 20 69 66 20 6e 6f 20 73 75 63 68 20 65 6c 65 6d 65 6e 74 20 69 73 Return.nil.if.no.such.element.is
6bb60 20 66 6f 75 6e 64 2e 0a 54 6f 20 67 65 74 20 74 68 65 20 66 69 72 73 74 20 69 74 65 6d 20 69 6e .found..To.get.the.first.item.in
6bb80 20 74 68 65 20 6c 69 73 74 20 6e 6f 20 71 75 65 73 74 69 6f 6e 73 20 61 73 6b 65 64 2c 20 75 73 .the.list.no.questions.asked,.us
6bba0 65 20 60 63 61 72 60 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 66 69 6e 64 60 2e 0a 0a 54 68 69 73 20 e.`car`...Alias:.`-find`...This.
6bbc0 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 function's.anaphoric.counterpart
6bbe0 20 69 73 20 60 2d 2d 66 69 72 73 74 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 66 69 72 73 74 20 23 27 .is.`--first`...```el.(-first.#'
6bc00 6e 61 74 6e 75 6d 70 20 27 28 2d 31 20 30 20 31 29 29 20 3b 3b 20 3d 3e 20 30 0a 28 2d 66 69 72 natnump.'(-1.0.1)).;;.=>.0.(-fir
6bc20 73 74 20 23 27 6e 75 6c 6c 20 27 28 31 20 32 20 33 29 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 28 2d st.#'null.'(1.2.3)).;;.=>.nil.(-
6bc40 2d 66 69 72 73 74 20 28 3e 20 69 74 20 32 29 20 27 28 31 20 32 20 33 29 29 20 3b 3b 20 3d 3e 20 -first.(>.it.2).'(1.2.3)).;;.=>.
6bc60 33 0a 60 60 60 0a 0a 23 23 23 23 20 2d 6c 61 73 74 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 3.```..####.-last.`(pred.list)`.
6bc80 0a 52 65 74 75 72 6e 20 74 68 65 20 6c 61 73 74 20 78 20 69 6e 20 60 6c 69 73 74 60 20 77 68 65 .Return.the.last.x.in.`list`.whe
6bca0 72 65 20 28 60 70 72 65 64 60 20 78 29 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 65 6c 73 65 20 6e re.(`pred`.x).is.non-nil,.else.n
6bcc0 69 6c 2e 0a 0a 60 60 60 65 6c 0a 28 2d 6c 61 73 74 20 27 65 76 65 6e 3f 20 27 28 31 20 32 20 33 il...```el.(-last.'even?.'(1.2.3
6bce0 20 34 20 35 20 36 20 33 20 33 20 33 29 29 20 3b 3b 20 3d 3e 20 36 0a 28 2d 6c 61 73 74 20 27 65 .4.5.6.3.3.3)).;;.=>.6.(-last.'e
6bd00 76 65 6e 3f 20 27 28 31 20 33 20 37 20 35 20 39 29 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 28 2d 2d ven?.'(1.3.7.5.9)).;;.=>.nil.(--
6bd20 6c 61 73 74 20 28 3e 20 28 6c 65 6e 67 74 68 20 69 74 29 20 33 29 20 27 28 22 61 22 20 22 6c 6f last.(>.(length.it).3).'("a"."lo
6bd40 6f 6f 6e 67 22 20 22 77 6f 72 64 22 20 22 61 6e 64 22 20 22 73 68 6f 72 74 22 20 22 6f 6e 65 22 oong"."word"."and"."short"."one"
6bd60 29 29 20 3b 3b 20 3d 3e 20 22 73 68 6f 72 74 22 0a 60 60 60 0a 0a 23 23 23 23 20 2d 66 69 72 73 )).;;.=>."short".```..####.-firs
6bd80 74 2d 69 74 65 6d 20 60 28 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 74 68 65 20 66 69 72 73 t-item.`(list)`..Return.the.firs
6bda0 74 20 69 74 65 6d 20 6f 66 20 60 6c 69 73 74 60 2c 20 6f 72 20 6e 69 6c 20 6f 6e 20 61 6e 20 65 t.item.of.`list`,.or.nil.on.an.e
6bdc0 6d 70 74 79 20 6c 69 73 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 73 65 63 6f 6e 64 2d mpty.list...See.also:.[`-second-
6bde0 69 74 65 6d 60 5d 28 23 2d 73 65 63 6f 6e 64 2d 69 74 65 6d 2d 6c 69 73 74 29 2c 20 5b 60 2d 6c item`](#-second-item-list),.[`-l
6be00 61 73 74 2d 69 74 65 6d 60 5d 28 23 2d 6c 61 73 74 2d 69 74 65 6d 2d 6c 69 73 74 29 2e 0a 0a 60 ast-item`](#-last-item-list)...`
6be20 60 60 65 6c 0a 28 2d 66 69 72 73 74 2d 69 74 65 6d 20 27 28 31 20 32 20 33 29 29 20 3b 3b 20 3d ``el.(-first-item.'(1.2.3)).;;.=
6be40 3e 20 31 0a 28 2d 66 69 72 73 74 2d 69 74 65 6d 20 6e 69 6c 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a >.1.(-first-item.nil).;;.=>.nil.
6be60 28 6c 65 74 20 28 28 6c 69 73 74 20 28 6c 69 73 74 20 31 20 32 20 33 29 29 29 20 28 73 65 74 66 (let.((list.(list.1.2.3))).(setf
6be80 20 28 2d 66 69 72 73 74 2d 69 74 65 6d 20 6c 69 73 74 29 20 35 29 20 6c 69 73 74 29 20 3b 3b 20 .(-first-item.list).5).list).;;.
6bea0 3d 3e 20 28 35 20 32 20 33 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 73 65 63 6f 6e 64 2d 69 74 65 =>.(5.2.3).```..####.-second-ite
6bec0 6d 20 60 28 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 74 68 65 20 73 65 63 6f 6e 64 20 69 74 m.`(list)`..Return.the.second.it
6bee0 65 6d 20 6f 66 20 60 6c 69 73 74 60 2c 20 6f 72 20 6e 69 6c 20 69 66 20 60 6c 69 73 74 60 20 69 em.of.`list`,.or.nil.if.`list`.i
6bf00 73 20 74 6f 6f 20 73 68 6f 72 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 74 68 69 72 64 s.too.short...See.also:.[`-third
6bf20 2d 69 74 65 6d 60 5d 28 23 2d 74 68 69 72 64 2d 69 74 65 6d 2d 6c 69 73 74 29 2e 0a 0a 60 60 60 -item`](#-third-item-list)...```
6bf40 65 6c 0a 28 2d 73 65 63 6f 6e 64 2d 69 74 65 6d 20 27 28 31 20 32 20 33 29 29 20 3b 3b 20 3d 3e el.(-second-item.'(1.2.3)).;;.=>
6bf60 20 32 0a 28 2d 73 65 63 6f 6e 64 2d 69 74 65 6d 20 6e 69 6c 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a .2.(-second-item.nil).;;.=>.nil.
6bf80 60 60 60 0a 0a 23 23 23 23 20 2d 74 68 69 72 64 2d 69 74 65 6d 20 60 28 6c 69 73 74 29 60 0a 0a ```..####.-third-item.`(list)`..
6bfa0 52 65 74 75 72 6e 20 74 68 65 20 74 68 69 72 64 20 69 74 65 6d 20 6f 66 20 60 6c 69 73 74 60 2c Return.the.third.item.of.`list`,
6bfc0 20 6f 72 20 6e 69 6c 20 69 66 20 60 6c 69 73 74 60 20 69 73 20 74 6f 6f 20 73 68 6f 72 74 2e 0a .or.nil.if.`list`.is.too.short..
6bfe0 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 66 6f 75 72 74 68 2d 69 74 65 6d 60 5d 28 23 2d 66 6f .See.also:.[`-fourth-item`](#-fo
6c000 75 72 74 68 2d 69 74 65 6d 2d 6c 69 73 74 29 2e 0a 0a 60 60 60 65 6c 0a 28 2d 74 68 69 72 64 2d urth-item-list)...```el.(-third-
6c020 69 74 65 6d 20 27 28 31 20 32 20 33 29 29 20 3b 3b 20 3d 3e 20 33 0a 28 2d 74 68 69 72 64 2d 69 item.'(1.2.3)).;;.=>.3.(-third-i
6c040 74 65 6d 20 6e 69 6c 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 60 60 60 0a 0a 23 23 23 23 20 2d 66 6f tem.nil).;;.=>.nil.```..####.-fo
6c060 75 72 74 68 2d 69 74 65 6d 20 60 28 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 74 68 65 20 66 urth-item.`(list)`..Return.the.f
6c080 6f 75 72 74 68 20 69 74 65 6d 20 6f 66 20 60 6c 69 73 74 60 2c 20 6f 72 20 6e 69 6c 20 69 66 20 ourth.item.of.`list`,.or.nil.if.
6c0a0 60 6c 69 73 74 60 20 69 73 20 74 6f 6f 20 73 68 6f 72 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 `list`.is.too.short...See.also:.
6c0c0 5b 60 2d 66 69 66 74 68 2d 69 74 65 6d 60 5d 28 23 2d 66 69 66 74 68 2d 69 74 65 6d 2d 6c 69 73 [`-fifth-item`](#-fifth-item-lis
6c0e0 74 29 2e 0a 0a 60 60 60 65 6c 0a 28 2d 66 6f 75 72 74 68 2d 69 74 65 6d 20 27 28 31 20 32 20 33 t)...```el.(-fourth-item.'(1.2.3
6c100 20 34 29 29 20 3b 3b 20 3d 3e 20 34 0a 28 2d 66 6f 75 72 74 68 2d 69 74 65 6d 20 6e 69 6c 29 20 .4)).;;.=>.4.(-fourth-item.nil).
6c120 3b 3b 20 3d 3e 20 6e 69 6c 0a 60 60 60 0a 0a 23 23 23 23 20 2d 66 69 66 74 68 2d 69 74 65 6d 20 ;;.=>.nil.```..####.-fifth-item.
6c140 60 28 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 74 68 65 20 66 69 66 74 68 20 69 74 65 6d 20 `(list)`..Return.the.fifth.item.
6c160 6f 66 20 60 6c 69 73 74 60 2c 20 6f 72 20 6e 69 6c 20 69 66 20 60 6c 69 73 74 60 20 69 73 20 74 of.`list`,.or.nil.if.`list`.is.t
6c180 6f 6f 20 73 68 6f 72 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 6c 61 73 74 2d 69 74 65 oo.short...See.also:.[`-last-ite
6c1a0 6d 60 5d 28 23 2d 6c 61 73 74 2d 69 74 65 6d 2d 6c 69 73 74 29 2e 0a 0a 60 60 60 65 6c 0a 28 2d m`](#-last-item-list)...```el.(-
6c1c0 66 69 66 74 68 2d 69 74 65 6d 20 27 28 31 20 32 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 35 fifth-item.'(1.2.3.4.5)).;;.=>.5
6c1e0 0a 28 2d 66 69 66 74 68 2d 69 74 65 6d 20 6e 69 6c 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 60 60 60 .(-fifth-item.nil).;;.=>.nil.```
6c200 0a 0a 23 23 23 23 20 2d 6c 61 73 74 2d 69 74 65 6d 20 60 28 6c 69 73 74 29 60 0a 0a 52 65 74 75 ..####.-last-item.`(list)`..Retu
6c220 72 6e 20 74 68 65 20 6c 61 73 74 20 69 74 65 6d 20 6f 66 20 60 6c 69 73 74 60 2c 20 6f 72 20 6e rn.the.last.item.of.`list`,.or.n
6c240 69 6c 20 6f 6e 20 61 6e 20 65 6d 70 74 79 20 6c 69 73 74 2e 0a 0a 60 60 60 65 6c 0a 28 2d 6c 61 il.on.an.empty.list...```el.(-la
6c260 73 74 2d 69 74 65 6d 20 27 28 31 20 32 20 33 29 29 20 3b 3b 20 3d 3e 20 33 0a 28 2d 6c 61 73 74 st-item.'(1.2.3)).;;.=>.3.(-last
6c280 2d 69 74 65 6d 20 6e 69 6c 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 28 6c 65 74 20 28 28 6c 69 73 74 -item.nil).;;.=>.nil.(let.((list
6c2a0 20 28 6c 69 73 74 20 31 20 32 20 33 29 29 29 20 28 73 65 74 66 20 28 2d 6c 61 73 74 2d 69 74 65 .(list.1.2.3))).(setf.(-last-ite
6c2c0 6d 20 6c 69 73 74 29 20 35 29 20 6c 69 73 74 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 35 29 0a 60 m.list).5).list).;;.=>.(1.2.5).`
6c2e0 60 60 0a 0a 23 23 23 23 20 2d 62 75 74 6c 61 73 74 20 60 28 6c 69 73 74 29 60 0a 0a 52 65 74 75 ``..####.-butlast.`(list)`..Retu
6c300 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 61 6c 6c 20 69 74 65 6d 73 20 69 6e 20 6c 69 73 74 20 65 rn.a.list.of.all.items.in.list.e
6c320 78 63 65 70 74 20 66 6f 72 20 74 68 65 20 6c 61 73 74 2e 0a 0a 60 60 60 65 6c 0a 28 2d 62 75 74 xcept.for.the.last...```el.(-but
6c340 6c 61 73 74 20 27 28 31 20 32 20 33 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 29 0a 28 2d 62 75 74 last.'(1.2.3)).;;.=>.(1.2).(-but
6c360 6c 61 73 74 20 27 28 31 20 32 29 29 20 3b 3b 20 3d 3e 20 28 31 29 0a 28 2d 62 75 74 6c 61 73 74 last.'(1.2)).;;.=>.(1).(-butlast
6c380 20 27 28 31 29 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 60 60 60 0a 0a 23 23 23 23 20 2d 73 6f 72 74 .'(1)).;;.=>.nil.```..####.-sort
6c3a0 20 60 28 63 6f 6d 70 61 72 61 74 6f 72 20 6c 69 73 74 29 60 0a 0a 53 6f 72 74 20 60 6c 69 73 74 .`(comparator.list)`..Sort.`list
6c3c0 60 2c 20 73 74 61 62 6c 79 2c 20 63 6f 6d 70 61 72 69 6e 67 20 65 6c 65 6d 65 6e 74 73 20 75 73 `,.stably,.comparing.elements.us
6c3e0 69 6e 67 20 60 63 6f 6d 70 61 72 61 74 6f 72 60 2e 0a 52 65 74 75 72 6e 20 74 68 65 20 73 6f 72 ing.`comparator`..Return.the.sor
6c400 74 65 64 20 6c 69 73 74 2e 20 20 60 6c 69 73 74 60 20 69 73 20 60 6e 6f 74 60 20 6d 6f 64 69 66 ted.list...`list`.is.`not`.modif
6c420 69 65 64 20 62 79 20 73 69 64 65 20 65 66 66 65 63 74 73 2e 0a 60 63 6f 6d 70 61 72 61 74 6f 72 ied.by.side.effects..`comparator
6c440 60 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 74 77 6f 20 65 6c 65 6d 65 6e 74 73 20 6f 66 `.is.called.with.two.elements.of
6c460 20 60 6c 69 73 74 60 2c 20 61 6e 64 20 73 68 6f 75 6c 64 20 72 65 74 75 72 6e 20 6e 6f 6e 2d 6e .`list`,.and.should.return.non-n
6c480 69 6c 0a 69 66 20 74 68 65 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 73 68 6f 75 6c 64 20 73 il.if.the.first.element.should.s
6c4a0 6f 72 74 20 62 65 66 6f 72 65 20 74 68 65 20 73 65 63 6f 6e 64 2e 0a 0a 60 60 60 65 6c 0a 28 2d ort.before.the.second...```el.(-
6c4c0 73 6f 72 74 20 27 3c 20 27 28 33 20 31 20 32 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 29 0a sort.'<.'(3.1.2)).;;.=>.(1.2.3).
6c4e0 28 2d 73 6f 72 74 20 27 3e 20 27 28 33 20 31 20 32 29 29 20 3b 3b 20 3d 3e 20 28 33 20 32 20 31 (-sort.'>.'(3.1.2)).;;.=>.(3.2.1
6c500 29 0a 28 2d 2d 73 6f 72 74 20 28 3c 20 69 74 20 6f 74 68 65 72 29 20 27 28 33 20 31 20 32 29 29 ).(--sort.(<.it.other).'(3.1.2))
6c520 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 6c 69 73 74 20 60 .;;.=>.(1.2.3).```..####.-list.`
6c540 28 61 72 67 29 60 0a 0a 45 6e 73 75 72 65 20 60 61 72 67 60 20 69 73 20 61 20 6c 69 73 74 2e 0a (arg)`..Ensure.`arg`.is.a.list..
6c560 49 66 20 60 61 72 67 60 20 69 73 20 61 6c 72 65 61 64 79 20 61 20 6c 69 73 74 2c 20 72 65 74 75 If.`arg`.is.already.a.list,.retu
6c580 72 6e 20 69 74 20 61 73 20 69 73 20 28 6e 6f 74 20 61 20 63 6f 70 79 29 2e 0a 4f 74 68 65 72 77 rn.it.as.is.(not.a.copy)..Otherw
6c5a0 69 73 65 2c 20 72 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 77 69 74 68 20 60 61 72 67 ise,.return.a.new.list.with.`arg
6c5c0 60 20 61 73 20 69 74 73 20 6f 6e 6c 79 20 65 6c 65 6d 65 6e 74 2e 0a 0a 41 6e 6f 74 68 65 72 20 `.as.its.only.element...Another.
6c5e0 73 75 70 70 6f 72 74 65 64 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 69 73 20 supported.calling.convention.is.
6c600 28 2d 6c 69 73 74 20 26 72 65 73 74 20 60 61 72 67 73 60 29 2e 0a 49 6e 20 74 68 69 73 20 63 61 (-list.&rest.`args`)..In.this.ca
6c620 73 65 2c 20 69 66 20 60 61 72 67 60 20 69 73 20 6e 6f 74 20 61 20 6c 69 73 74 2c 20 61 20 6e 65 se,.if.`arg`.is.not.a.list,.a.ne
6c640 77 20 6c 69 73 74 20 77 69 74 68 20 61 6c 6c 20 6f 66 0a 60 61 72 67 73 60 20 61 73 20 65 6c 65 w.list.with.all.of.`args`.as.ele
6c660 6d 65 6e 74 73 20 69 73 20 72 65 74 75 72 6e 65 64 2e 20 20 54 68 69 73 20 75 73 65 20 69 73 20 ments.is.returned...This.use.is.
6c680 73 75 70 70 6f 72 74 65 64 20 66 6f 72 0a 62 61 63 6b 77 61 72 64 20 63 6f 6d 70 61 74 69 62 69 supported.for.backward.compatibi
6c6a0 6c 69 74 79 20 61 6e 64 20 69 73 20 6f 74 68 65 72 77 69 73 65 20 64 65 70 72 65 63 61 74 65 64 lity.and.is.otherwise.deprecated
6c6c0 2e 0a 0a 60 60 60 65 6c 0a 28 2d 6c 69 73 74 20 31 29 20 3b 3b 20 3d 3e 20 28 31 29 0a 28 2d 6c ...```el.(-list.1).;;.=>.(1).(-l
6c6e0 69 73 74 20 28 29 29 20 3b 3b 20 3d 3e 20 28 29 0a 28 2d 6c 69 73 74 20 27 28 31 20 32 20 33 29 ist.()).;;.=>.().(-list.'(1.2.3)
6c700 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 66 69 78 20 60 ).;;.=>.(1.2.3).```..####.-fix.`
6c720 28 66 6e 20 6c 69 73 74 29 60 0a 0a 43 6f 6d 70 75 74 65 20 74 68 65 20 28 6c 65 61 73 74 29 20 (fn.list)`..Compute.the.(least).
6c740 66 69 78 70 6f 69 6e 74 20 6f 66 20 60 66 6e 60 20 77 69 74 68 20 69 6e 69 74 69 61 6c 20 69 6e fixpoint.of.`fn`.with.initial.in
6c760 70 75 74 20 60 6c 69 73 74 60 2e 0a 0a 60 66 6e 60 20 69 73 20 63 61 6c 6c 65 64 20 61 74 20 6c put.`list`...`fn`.is.called.at.l
6c780 65 61 73 74 20 6f 6e 63 65 2c 20 72 65 73 75 6c 74 73 20 61 72 65 20 63 6f 6d 70 61 72 65 64 20 east.once,.results.are.compared.
6c7a0 77 69 74 68 20 60 65 71 75 61 6c 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 66 69 78 20 28 6c 61 6d 62 with.`equal`...```el.(-fix.(lamb
6c7c0 64 61 20 28 6c 29 20 28 2d 6e 6f 6e 2d 6e 69 6c 20 28 2d 2d 6d 61 70 63 61 74 20 28 2d 73 70 6c da.(l).(-non-nil.(--mapcat.(-spl
6c7e0 69 74 2d 61 74 20 28 2f 20 28 6c 65 6e 67 74 68 20 69 74 29 20 32 29 20 69 74 29 20 6c 29 29 29 it-at.(/.(length.it).2).it).l)))
6c800 20 27 28 28 31 20 32 20 33 29 29 29 20 3b 3b 20 3d 3e 20 28 28 31 29 20 28 32 29 20 28 33 29 29 .'((1.2.3))).;;.=>.((1).(2).(3))
6c820 0a 28 6c 65 74 20 28 28 6c 20 27 28 28 73 74 61 72 77 61 72 73 20 73 63 69 66 69 29 20 28 6a 65 .(let.((l.'((starwars.scifi).(je
6c840 64 69 20 73 74 61 72 77 61 72 73 20 77 61 72 72 69 6f 72 29 29 29 29 20 28 2d 2d 66 69 78 20 28 di.starwars.warrior)))).(--fix.(
6c860 2d 75 6e 69 71 20 28 2d 2d 6d 61 70 63 61 74 20 28 63 6f 6e 73 20 69 74 20 28 63 64 72 20 28 61 -uniq.(--mapcat.(cons.it.(cdr.(a
6c880 73 73 71 20 69 74 20 6c 29 29 29 20 69 74 29 29 20 27 28 6a 65 64 69 20 62 6f 6f 6b 29 29 29 20 ssq.it.l))).it)).'(jedi.book))).
6c8a0 3b 3b 20 3d 3e 20 28 6a 65 64 69 20 73 74 61 72 77 61 72 73 20 77 61 72 72 69 6f 72 20 73 63 69 ;;.=>.(jedi.starwars.warrior.sci
6c8c0 66 69 20 62 6f 6f 6b 29 0a 60 60 60 0a 0a 23 23 20 54 72 65 65 20 6f 70 65 72 61 74 69 6f 6e 73 fi.book).```..##.Tree.operations
6c8e0 0a 0a 46 75 6e 63 74 69 6f 6e 73 20 70 72 65 74 65 6e 64 69 6e 67 20 6c 69 73 74 73 20 61 72 65 ..Functions.pretending.lists.are
6c900 20 74 72 65 65 73 2e 0a 0a 23 23 23 23 20 2d 74 72 65 65 2d 73 65 71 20 60 28 62 72 61 6e 63 68 .trees...####.-tree-seq.`(branch
6c920 20 63 68 69 6c 64 72 65 6e 20 74 72 65 65 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 73 65 71 75 65 .children.tree)`..Return.a.seque
6c940 6e 63 65 20 6f 66 20 74 68 65 20 6e 6f 64 65 73 20 69 6e 20 60 74 72 65 65 60 2c 20 69 6e 20 64 nce.of.the.nodes.in.`tree`,.in.d
6c960 65 70 74 68 2d 66 69 72 73 74 20 73 65 61 72 63 68 20 6f 72 64 65 72 2e 0a 0a 60 62 72 61 6e 63 epth-first.search.order...`branc
6c980 68 60 20 69 73 20 61 20 70 72 65 64 69 63 61 74 65 20 6f 66 20 6f 6e 65 20 61 72 67 75 6d 65 6e h`.is.a.predicate.of.one.argumen
6c9a0 74 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 74 68 65 0a 70 61 t.that.returns.non-nil.if.the.pa
6c9c0 73 73 65 64 20 61 72 67 75 6d 65 6e 74 20 69 73 20 61 20 62 72 61 6e 63 68 2c 20 74 68 61 74 20 ssed.argument.is.a.branch,.that.
6c9e0 69 73 2c 20 61 20 6e 6f 64 65 20 74 68 61 74 20 63 61 6e 20 68 61 76 65 20 63 68 69 6c 64 72 65 is,.a.node.that.can.have.childre
6ca00 6e 2e 0a 0a 60 63 68 69 6c 64 72 65 6e 60 20 69 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 6f 66 20 n...`children`.is.a.function.of.
6ca20 6f 6e 65 20 61 72 67 75 6d 65 6e 74 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 74 68 65 20 63 68 one.argument.that.returns.the.ch
6ca40 69 6c 64 72 65 6e 0a 6f 66 20 74 68 65 20 70 61 73 73 65 64 20 62 72 61 6e 63 68 20 6e 6f 64 65 ildren.of.the.passed.branch.node
6ca60 2e 0a 0a 4e 6f 6e 2d 62 72 61 6e 63 68 20 6e 6f 64 65 73 20 61 72 65 20 73 69 6d 70 6c 79 20 63 ...Non-branch.nodes.are.simply.c
6ca80 6f 70 69 65 64 2e 0a 0a 60 60 60 65 6c 0a 28 2d 74 72 65 65 2d 73 65 71 20 27 6c 69 73 74 70 20 opied...```el.(-tree-seq.'listp.
6caa0 27 69 64 65 6e 74 69 74 79 20 27 28 31 20 28 32 20 33 29 20 34 20 28 35 20 28 36 20 37 29 29 29 'identity.'(1.(2.3).4.(5.(6.7)))
6cac0 29 20 3b 3b 20 3d 3e 20 28 28 31 20 28 32 20 33 29 20 34 20 28 35 20 28 36 20 37 29 29 29 20 31 ).;;.=>.((1.(2.3).4.(5.(6.7))).1
6cae0 20 28 32 20 33 29 20 32 20 33 20 34 20 28 35 20 28 36 20 37 29 29 20 35 20 28 36 20 37 29 20 36 .(2.3).2.3.4.(5.(6.7)).5.(6.7).6
6cb00 20 37 29 0a 28 2d 74 72 65 65 2d 73 65 71 20 27 6c 69 73 74 70 20 27 72 65 76 65 72 73 65 20 27 .7).(-tree-seq.'listp.'reverse.'
6cb20 28 31 20 28 32 20 33 29 20 34 20 28 35 20 28 36 20 37 29 29 29 29 20 3b 3b 20 3d 3e 20 28 28 31 (1.(2.3).4.(5.(6.7)))).;;.=>.((1
6cb40 20 28 32 20 33 29 20 34 20 28 35 20 28 36 20 37 29 29 29 20 28 35 20 28 36 20 37 29 29 20 28 36 .(2.3).4.(5.(6.7))).(5.(6.7)).(6
6cb60 20 37 29 20 37 20 36 20 35 20 34 20 28 32 20 33 29 20 33 20 32 20 31 29 0a 28 2d 2d 74 72 65 65 .7).7.6.5.4.(2.3).3.2.1).(--tree
6cb80 2d 73 65 71 20 28 76 65 63 74 6f 72 70 20 69 74 29 20 28 61 70 70 65 6e 64 20 69 74 20 6e 69 6c -seq.(vectorp.it).(append.it.nil
6cba0 29 20 5b 31 20 5b 32 20 33 5d 20 34 20 5b 35 20 5b 36 20 37 5d 5d 5d 29 20 3b 3b 20 3d 3e 20 28 ).[1.[2.3].4.[5.[6.7]]]).;;.=>.(
6cbc0 5b 31 20 5b 32 20 33 5d 20 34 20 5b 35 20 5b 36 20 37 5d 5d 5d 20 31 20 5b 32 20 33 5d 20 32 20 [1.[2.3].4.[5.[6.7]]].1.[2.3].2.
6cbe0 33 20 34 20 5b 35 20 5b 36 20 37 5d 5d 20 35 20 5b 36 20 37 5d 20 36 20 37 29 0a 60 60 60 0a 0a 3.4.[5.[6.7]].5.[6.7].6.7).```..
6cc00 23 23 23 23 20 2d 74 72 65 65 2d 6d 61 70 20 60 28 66 6e 20 74 72 65 65 29 60 0a 0a 41 70 70 6c ####.-tree-map.`(fn.tree)`..Appl
6cc20 79 20 60 66 6e 60 20 74 6f 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 60 74 72 65 65 60 y.`fn`.to.each.element.of.`tree`
6cc40 20 77 68 69 6c 65 20 70 72 65 73 65 72 76 69 6e 67 20 74 68 65 20 74 72 65 65 20 73 74 72 75 63 .while.preserving.the.tree.struc
6cc60 74 75 72 65 2e 0a 0a 60 60 60 65 6c 0a 28 2d 74 72 65 65 2d 6d 61 70 20 27 31 2b 20 27 28 31 20 ture...```el.(-tree-map.'1+.'(1.
6cc80 28 32 20 33 29 20 28 34 20 28 35 20 36 29 20 37 29 29 29 20 3b 3b 20 3d 3e 20 28 32 20 28 33 20 (2.3).(4.(5.6).7))).;;.=>.(2.(3.
6cca0 34 29 20 28 35 20 28 36 20 37 29 20 38 29 29 0a 28 2d 74 72 65 65 2d 6d 61 70 20 27 28 6c 61 6d 4).(5.(6.7).8)).(-tree-map.'(lam
6ccc0 62 64 61 20 28 78 29 20 28 63 6f 6e 73 20 78 20 28 65 78 70 74 20 32 20 78 29 29 29 20 27 28 31 bda.(x).(cons.x.(expt.2.x))).'(1
6cce0 20 28 32 20 33 29 20 34 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 2e 20 32 29 20 28 28 32 20 2e 20 .(2.3).4)).;;.=>.((1...2).((2...
6cd00 34 29 20 28 33 20 2e 20 38 29 29 20 28 34 20 2e 20 31 36 29 29 0a 28 2d 2d 74 72 65 65 2d 6d 61 4).(3...8)).(4...16)).(--tree-ma
6cd20 70 20 28 6c 65 6e 67 74 68 20 69 74 29 20 27 28 22 3c 62 6f 64 79 3e 22 20 28 22 3c 70 3e 22 20 p.(length.it).'("<body>".("<p>".
6cd40 22 74 65 78 74 22 20 22 3c 2f 70 3e 22 29 20 22 3c 2f 62 6f 64 79 3e 22 29 29 20 3b 3b 20 3d 3e "text"."</p>")."</body>")).;;.=>
6cd60 20 28 36 20 28 33 20 34 20 34 29 20 37 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 74 72 65 65 2d 6d .(6.(3.4.4).7).```..####.-tree-m
6cd80 61 70 2d 6e 6f 64 65 73 20 60 28 70 72 65 64 20 66 75 6e 20 74 72 65 65 29 60 0a 0a 43 61 6c 6c ap-nodes.`(pred.fun.tree)`..Call
6cda0 20 60 66 75 6e 60 20 6f 6e 20 65 61 63 68 20 6e 6f 64 65 20 6f 66 20 60 74 72 65 65 60 20 74 68 .`fun`.on.each.node.of.`tree`.th
6cdc0 61 74 20 73 61 74 69 73 66 69 65 73 20 60 70 72 65 64 60 2e 0a 0a 49 66 20 60 70 72 65 64 60 20 at.satisfies.`pred`...If.`pred`.
6cde0 72 65 74 75 72 6e 73 20 6e 69 6c 2c 20 63 6f 6e 74 69 6e 75 65 20 64 65 73 63 65 6e 64 69 6e 67 returns.nil,.continue.descending
6ce00 20 64 6f 77 6e 20 74 68 69 73 20 6e 6f 64 65 2e 20 20 49 66 20 60 70 72 65 64 60 0a 72 65 74 75 .down.this.node...If.`pred`.retu
6ce20 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 61 70 70 6c 79 20 60 66 75 6e 60 20 74 6f 20 74 68 69 73 rns.non-nil,.apply.`fun`.to.this
6ce40 20 6e 6f 64 65 20 61 6e 64 20 64 6f 20 6e 6f 74 20 64 65 73 63 65 6e 64 0a 66 75 72 74 68 65 72 .node.and.do.not.descend.further
6ce60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 74 72 65 65 2d 6d 61 70 2d 6e 6f 64 65 73 20 27 76 65 63 74 6f ...```el.(-tree-map-nodes.'vecto
6ce80 72 70 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 2d 73 75 6d 20 28 61 70 70 65 6e 64 20 78 20 6e rp.(lambda.(x).(-sum.(append.x.n
6cea0 69 6c 29 29 29 20 27 28 31 20 5b 32 20 33 5d 20 34 20 28 35 20 5b 36 20 37 5d 20 38 29 29 29 20 il))).'(1.[2.3].4.(5.[6.7].8))).
6cec0 3b 3b 20 3d 3e 20 28 31 20 35 20 34 20 28 35 20 31 33 20 38 29 29 0a 28 2d 74 72 65 65 2d 6d 61 ;;.=>.(1.5.4.(5.13.8)).(-tree-ma
6cee0 70 2d 6e 6f 64 65 73 20 27 6b 65 79 77 6f 72 64 70 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 73 p-nodes.'keywordp.(lambda.(x).(s
6cf00 79 6d 62 6f 6c 2d 6e 61 6d 65 20 78 29 29 20 27 28 31 20 3a 66 6f 6f 20 34 20 28 28 35 20 36 20 ymbol-name.x)).'(1.:foo.4.((5.6.
6cf20 3a 62 61 72 29 20 3a 62 61 7a 20 38 29 29 29 20 3b 3b 20 3d 3e 20 28 31 20 22 3a 66 6f 6f 22 20 :bar).:baz.8))).;;.=>.(1.":foo".
6cf40 34 20 28 28 35 20 36 20 22 3a 62 61 72 22 29 20 22 3a 62 61 7a 22 20 38 29 29 0a 28 2d 2d 74 72 4.((5.6.":bar").":baz".8)).(--tr
6cf60 65 65 2d 6d 61 70 2d 6e 6f 64 65 73 20 28 65 71 20 28 63 61 72 2d 73 61 66 65 20 69 74 29 20 27 ee-map-nodes.(eq.(car-safe.it).'
6cf80 61 64 64 2d 6d 6f 64 65 29 20 28 2d 63 6f 6e 63 61 74 20 69 74 20 28 6c 69 73 74 20 3a 6d 6f 64 add-mode).(-concat.it.(list.:mod
6cfa0 65 20 27 65 6d 61 63 73 2d 6c 69 73 70 2d 6d 6f 64 65 29 29 20 27 28 77 69 74 68 2d 6d 6f 64 65 e.'emacs-lisp-mode)).'(with-mode
6cfc0 20 65 6d 61 63 73 2d 6c 69 73 70 2d 6d 6f 64 65 20 28 66 6f 6f 20 62 61 72 29 20 28 61 64 64 2d .emacs-lisp-mode.(foo.bar).(add-
6cfe0 6d 6f 64 65 20 61 20 62 29 20 28 62 61 7a 20 28 61 64 64 2d 6d 6f 64 65 20 63 20 64 29 29 29 29 mode.a.b).(baz.(add-mode.c.d))))
6d000 20 3b 3b 20 3d 3e 20 28 77 69 74 68 2d 6d 6f 64 65 20 65 6d 61 63 73 2d 6c 69 73 70 2d 6d 6f 64 .;;.=>.(with-mode.emacs-lisp-mod
6d020 65 20 28 66 6f 6f 20 62 61 72 29 20 28 61 64 64 2d 6d 6f 64 65 20 61 20 62 20 3a 6d 6f 64 65 20 e.(foo.bar).(add-mode.a.b.:mode.
6d040 65 6d 61 63 73 2d 6c 69 73 70 2d 6d 6f 64 65 29 20 28 62 61 7a 20 28 61 64 64 2d 6d 6f 64 65 20 emacs-lisp-mode).(baz.(add-mode.
6d060 63 20 64 20 3a 6d 6f 64 65 20 65 6d 61 63 73 2d 6c 69 73 70 2d 6d 6f 64 65 29 29 29 0a 60 60 60 c.d.:mode.emacs-lisp-mode))).```
6d080 0a 0a 23 23 23 23 20 2d 74 72 65 65 2d 72 65 64 75 63 65 20 60 28 66 6e 20 74 72 65 65 29 60 0a ..####.-tree-reduce.`(fn.tree)`.
6d0a0 0a 55 73 65 20 60 66 6e 60 20 74 6f 20 72 65 64 75 63 65 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 .Use.`fn`.to.reduce.elements.of.
6d0c0 6c 69 73 74 20 60 74 72 65 65 60 2e 0a 49 66 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 60 74 72 65 list.`tree`..If.elements.of.`tre
6d0e0 65 60 20 61 72 65 20 6c 69 73 74 73 20 74 68 65 6d 73 65 6c 76 65 73 2c 20 61 70 70 6c 79 20 74 e`.are.lists.themselves,.apply.t
6d100 68 65 20 72 65 64 75 63 74 69 6f 6e 20 72 65 63 75 72 73 69 76 65 6c 79 2e 0a 0a 60 66 6e 60 20 he.reduction.recursively...`fn`.
6d120 69 73 20 66 69 72 73 74 20 61 70 70 6c 69 65 64 20 74 6f 20 66 69 72 73 74 20 65 6c 65 6d 65 6e is.first.applied.to.first.elemen
6d140 74 20 6f 66 20 74 68 65 20 6c 69 73 74 20 61 6e 64 20 73 65 63 6f 6e 64 0a 65 6c 65 6d 65 6e 74 t.of.the.list.and.second.element
6d160 2c 20 74 68 65 6e 20 6f 6e 20 74 68 69 73 20 72 65 73 75 6c 74 20 61 6e 64 20 74 68 69 72 64 20 ,.then.on.this.result.and.third.
6d180 65 6c 65 6d 65 6e 74 20 66 72 6f 6d 20 74 68 65 20 6c 69 73 74 20 65 74 63 2e 0a 0a 53 65 65 20 element.from.the.list.etc...See.
6d1a0 5b 60 2d 72 65 64 75 63 65 2d 72 60 5d 28 23 2d 72 65 64 75 63 65 2d 72 2d 66 6e 2d 6c 69 73 74 [`-reduce-r`](#-reduce-r-fn-list
6d1c0 29 20 66 6f 72 20 68 6f 77 20 65 78 61 63 74 6c 79 20 61 72 65 20 6c 69 73 74 73 20 6f 66 20 7a ).for.how.exactly.are.lists.of.z
6d1e0 65 72 6f 20 6f 72 20 6f 6e 65 20 65 6c 65 6d 65 6e 74 20 68 61 6e 64 6c 65 64 2e 0a 0a 60 60 60 ero.or.one.element.handled...```
6d200 65 6c 0a 28 2d 74 72 65 65 2d 72 65 64 75 63 65 20 27 2b 20 27 28 31 20 28 32 20 33 29 20 28 34 el.(-tree-reduce.'+.'(1.(2.3).(4
6d220 20 35 29 29 29 20 3b 3b 20 3d 3e 20 31 35 0a 28 2d 74 72 65 65 2d 72 65 64 75 63 65 20 27 63 6f .5))).;;.=>.15.(-tree-reduce.'co
6d240 6e 63 61 74 20 27 28 22 73 74 72 69 6e 67 73 22 20 28 22 20 6f 6e 22 20 22 20 76 61 72 69 6f 75 ncat.'("strings".(".on".".variou
6d260 73 22 29 20 28 28 22 20 6c 65 76 65 6c 73 22 29 29 29 29 20 3b 3b 20 3d 3e 20 22 73 74 72 69 6e s").((".levels")))).;;.=>."strin
6d280 67 73 20 6f 6e 20 76 61 72 69 6f 75 73 20 6c 65 76 65 6c 73 22 0a 28 2d 2d 74 72 65 65 2d 72 65 gs.on.various.levels".(--tree-re
6d2a0 64 75 63 65 20 28 63 6f 6e 64 20 28 28 73 74 72 69 6e 67 70 20 69 74 29 20 28 63 6f 6e 63 61 74 duce.(cond.((stringp.it).(concat
6d2c0 20 69 74 20 22 20 22 20 61 63 63 29 29 20 28 74 20 28 6c 65 74 20 28 28 73 6e 20 28 73 79 6d 62 .it.".".acc)).(t.(let.((sn.(symb
6d2e0 6f 6c 2d 6e 61 6d 65 20 69 74 29 29 29 20 28 63 6f 6e 63 61 74 20 22 3c 22 20 73 6e 20 22 3e 22 ol-name.it))).(concat."<".sn.">"
6d300 20 61 63 63 20 22 3c 2f 22 20 73 6e 20 22 3e 22 29 29 29 29 20 27 28 62 6f 64 79 20 28 70 20 22 .acc."</".sn.">")))).'(body.(p."
6d320 73 6f 6d 65 20 77 6f 72 64 73 22 29 20 28 64 69 76 20 22 6d 6f 72 65 22 20 28 62 20 22 62 6f 6c some.words").(div."more".(b."bol
6d340 64 22 29 20 22 77 6f 72 64 73 22 29 29 29 20 3b 3b 20 3d 3e 20 22 3c 62 6f 64 79 3e 3c 70 3e 73 d")."words"))).;;.=>."<body><p>s
6d360 6f 6d 65 20 77 6f 72 64 73 3c 2f 70 3e 20 3c 64 69 76 3e 6d 6f 72 65 20 3c 62 3e 62 6f 6c 64 3c ome.words</p>.<div>more.<b>bold<
6d380 2f 62 3e 20 77 6f 72 64 73 3c 2f 64 69 76 3e 3c 2f 62 6f 64 79 3e 22 0a 60 60 60 0a 0a 23 23 23 /b>.words</div></body>".```..###
6d3a0 23 20 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 60 28 66 6e 20 69 6e 69 74 2d 76 61 #.-tree-reduce-from.`(fn.init-va
6d3c0 6c 75 65 20 74 72 65 65 29 60 0a 0a 55 73 65 20 60 66 6e 60 20 74 6f 20 72 65 64 75 63 65 20 65 lue.tree)`..Use.`fn`.to.reduce.e
6d3e0 6c 65 6d 65 6e 74 73 20 6f 66 20 6c 69 73 74 20 60 74 72 65 65 60 2e 0a 49 66 20 65 6c 65 6d 65 lements.of.list.`tree`..If.eleme
6d400 6e 74 73 20 6f 66 20 60 74 72 65 65 60 20 61 72 65 20 6c 69 73 74 73 20 74 68 65 6d 73 65 6c 76 nts.of.`tree`.are.lists.themselv
6d420 65 73 2c 20 61 70 70 6c 79 20 74 68 65 20 72 65 64 75 63 74 69 6f 6e 20 72 65 63 75 72 73 69 76 es,.apply.the.reduction.recursiv
6d440 65 6c 79 2e 0a 0a 60 66 6e 60 20 69 73 20 66 69 72 73 74 20 61 70 70 6c 69 65 64 20 74 6f 20 60 ely...`fn`.is.first.applied.to.`
6d460 69 6e 69 74 2d 76 61 6c 75 65 60 20 61 6e 64 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 6f 66 init-value`.and.first.element.of
6d480 20 74 68 65 20 6c 69 73 74 2c 0a 74 68 65 6e 20 6f 6e 20 74 68 69 73 20 72 65 73 75 6c 74 20 61 .the.list,.then.on.this.result.a
6d4a0 6e 64 20 73 65 63 6f 6e 64 20 65 6c 65 6d 65 6e 74 20 66 72 6f 6d 20 74 68 65 20 6c 69 73 74 20 nd.second.element.from.the.list.
6d4c0 65 74 63 2e 0a 0a 54 68 65 20 69 6e 69 74 69 61 6c 20 76 61 6c 75 65 20 69 73 20 69 67 6e 6f 72 etc...The.initial.value.is.ignor
6d4e0 65 64 20 6f 6e 20 63 6f 6e 73 20 70 61 69 72 73 20 61 73 20 74 68 65 79 20 61 6c 77 61 79 73 20 ed.on.cons.pairs.as.they.always.
6d500 63 6f 6e 74 61 69 6e 0a 74 77 6f 20 65 6c 65 6d 65 6e 74 73 2e 0a 0a 60 60 60 65 6c 0a 28 2d 74 contain.two.elements...```el.(-t
6d520 72 65 65 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 27 2b 20 31 20 27 28 31 20 28 31 20 31 29 20 28 ree-reduce-from.'+.1.'(1.(1.1).(
6d540 28 31 29 29 29 29 20 3b 3b 20 3d 3e 20 38 0a 28 2d 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 72 (1)))).;;.=>.8.(--tree-reduce-fr
6d560 6f 6d 20 28 2d 63 6f 6e 63 61 74 20 61 63 63 20 28 6c 69 73 74 20 69 74 29 29 20 6e 69 6c 20 27 om.(-concat.acc.(list.it)).nil.'
6d580 28 31 20 28 32 20 33 20 28 34 20 35 29 29 20 28 36 20 37 29 29 29 20 3b 3b 20 3d 3e 20 28 28 37 (1.(2.3.(4.5)).(6.7))).;;.=>.((7
6d5a0 20 36 29 20 28 28 35 20 34 29 20 33 20 32 29 20 31 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 74 72 .6).((5.4).3.2).1).```..####.-tr
6d5c0 65 65 2d 6d 61 70 72 65 64 75 63 65 20 60 28 66 6e 20 66 6f 6c 64 65 72 20 74 72 65 65 29 60 0a ee-mapreduce.`(fn.folder.tree)`.
6d5e0 0a 41 70 70 6c 79 20 60 66 6e 60 20 74 6f 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 60 .Apply.`fn`.to.each.element.of.`
6d600 74 72 65 65 60 2c 20 61 6e 64 20 6d 61 6b 65 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 72 65 tree`,.and.make.a.list.of.the.re
6d620 73 75 6c 74 73 2e 0a 49 66 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 60 74 72 65 65 60 20 61 72 65 sults..If.elements.of.`tree`.are
6d640 20 6c 69 73 74 73 20 74 68 65 6d 73 65 6c 76 65 73 2c 20 61 70 70 6c 79 20 60 66 6e 60 20 72 65 .lists.themselves,.apply.`fn`.re
6d660 63 75 72 73 69 76 65 6c 79 20 74 6f 0a 65 6c 65 6d 65 6e 74 73 20 6f 66 20 74 68 65 73 65 20 6e cursively.to.elements.of.these.n
6d680 65 73 74 65 64 20 6c 69 73 74 73 2e 0a 0a 54 68 65 6e 20 72 65 64 75 63 65 20 74 68 65 20 72 65 ested.lists...Then.reduce.the.re
6d6a0 73 75 6c 74 69 6e 67 20 6c 69 73 74 73 20 75 73 69 6e 67 20 60 66 6f 6c 64 65 72 60 20 61 6e 64 sulting.lists.using.`folder`.and
6d6c0 20 69 6e 69 74 69 61 6c 20 76 61 6c 75 65 0a 60 69 6e 69 74 2d 76 61 6c 75 65 60 2e 20 53 65 65 .initial.value.`init-value`..See
6d6e0 20 5b 60 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 60 5d 28 23 2d 72 65 64 75 63 65 2d 72 2d 66 .[`-reduce-r-from`](#-reduce-r-f
6d700 72 6f 6d 2d 66 6e 2d 69 6e 69 74 2d 6c 69 73 74 29 2e 0a 0a 54 68 69 73 20 69 73 20 74 68 65 20 rom-fn-init-list)...This.is.the.
6d720 73 61 6d 65 20 61 73 20 63 61 6c 6c 69 6e 67 20 5b 60 2d 74 72 65 65 2d 72 65 64 75 63 65 60 5d same.as.calling.[`-tree-reduce`]
6d740 28 23 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 6e 2d 74 72 65 65 29 20 61 66 74 65 72 20 5b 60 (#-tree-reduce-fn-tree).after.[`
6d760 2d 74 72 65 65 2d 6d 61 70 60 5d 28 23 2d 74 72 65 65 2d 6d 61 70 2d 66 6e 2d 74 72 65 65 29 0a -tree-map`](#-tree-map-fn-tree).
6d780 62 75 74 20 69 73 20 74 77 69 63 65 20 61 73 20 66 61 73 74 20 61 73 20 69 74 20 6f 6e 6c 79 20 but.is.twice.as.fast.as.it.only.
6d7a0 74 72 61 76 65 72 73 65 20 74 68 65 20 73 74 72 75 63 74 75 72 65 20 6f 6e 63 65 2e 0a 0a 60 60 traverse.the.structure.once...``
6d7c0 60 65 6c 0a 28 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 20 27 6c 69 73 74 20 27 61 70 70 65 `el.(-tree-mapreduce.'list.'appe
6d7e0 6e 64 20 27 28 31 20 28 32 20 28 33 20 34 29 20 28 35 20 36 29 29 20 28 37 20 28 38 20 39 29 29 nd.'(1.(2.(3.4).(5.6)).(7.(8.9))
6d800 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 20 34 20 35 20 36 20 37 20 38 20 39 29 0a 28 2d 2d )).;;.=>.(1.2.3.4.5.6.7.8.9).(--
6d820 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 20 31 20 28 2b 20 69 74 20 61 63 63 29 20 27 28 31 20 tree-mapreduce.1.(+.it.acc).'(1.
6d840 28 32 20 28 34 20 39 29 20 28 32 20 31 29 29 20 28 37 20 28 34 20 33 29 29 29 29 20 3b 3b 20 3d (2.(4.9).(2.1)).(7.(4.3)))).;;.=
6d860 3e 20 39 0a 28 2d 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 20 30 20 28 6d 61 78 20 61 63 63 >.9.(--tree-mapreduce.0.(max.acc
6d880 20 28 31 2b 20 69 74 29 29 20 27 28 31 20 28 32 20 28 34 20 39 29 20 28 32 20 31 29 29 20 28 37 .(1+.it)).'(1.(2.(4.9).(2.1)).(7
6d8a0 20 28 34 20 33 29 29 29 29 20 3b 3b 20 3d 3e 20 33 0a 60 60 60 0a 0a 23 23 23 23 20 2d 74 72 65 .(4.3)))).;;.=>.3.```..####.-tre
6d8c0 65 2d 6d 61 70 72 65 64 75 63 65 2d 66 72 6f 6d 20 60 28 66 6e 20 66 6f 6c 64 65 72 20 69 6e 69 e-mapreduce-from.`(fn.folder.ini
6d8e0 74 2d 76 61 6c 75 65 20 74 72 65 65 29 60 0a 0a 41 70 70 6c 79 20 60 66 6e 60 20 74 6f 20 65 61 t-value.tree)`..Apply.`fn`.to.ea
6d900 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 60 74 72 65 65 60 2c 20 61 6e 64 20 6d 61 6b 65 20 61 ch.element.of.`tree`,.and.make.a
6d920 20 6c 69 73 74 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 73 2e 0a 49 66 20 65 6c 65 6d 65 6e 74 .list.of.the.results..If.element
6d940 73 20 6f 66 20 60 74 72 65 65 60 20 61 72 65 20 6c 69 73 74 73 20 74 68 65 6d 73 65 6c 76 65 73 s.of.`tree`.are.lists.themselves
6d960 2c 20 61 70 70 6c 79 20 60 66 6e 60 20 72 65 63 75 72 73 69 76 65 6c 79 20 74 6f 0a 65 6c 65 6d ,.apply.`fn`.recursively.to.elem
6d980 65 6e 74 73 20 6f 66 20 74 68 65 73 65 20 6e 65 73 74 65 64 20 6c 69 73 74 73 2e 0a 0a 54 68 65 ents.of.these.nested.lists...The
6d9a0 6e 20 72 65 64 75 63 65 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 20 6c 69 73 74 73 20 75 73 69 n.reduce.the.resulting.lists.usi
6d9c0 6e 67 20 60 66 6f 6c 64 65 72 60 20 61 6e 64 20 69 6e 69 74 69 61 6c 20 76 61 6c 75 65 0a 60 69 ng.`folder`.and.initial.value.`i
6d9e0 6e 69 74 2d 76 61 6c 75 65 60 2e 20 53 65 65 20 5b 60 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d nit-value`..See.[`-reduce-r-from
6da00 60 5d 28 23 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 2d 66 6e 2d 69 6e 69 74 2d 6c 69 73 74 29 `](#-reduce-r-from-fn-init-list)
6da20 2e 0a 0a 54 68 69 73 20 69 73 20 74 68 65 20 73 61 6d 65 20 61 73 20 63 61 6c 6c 69 6e 67 20 5b ...This.is.the.same.as.calling.[
6da40 60 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 72 6f 6d 60 5d 28 23 2d 74 72 65 65 2d 72 65 64 75 `-tree-reduce-from`](#-tree-redu
6da60 63 65 2d 66 72 6f 6d 2d 66 6e 2d 69 6e 69 74 2d 76 61 6c 75 65 2d 74 72 65 65 29 20 61 66 74 65 ce-from-fn-init-value-tree).afte
6da80 72 20 5b 60 2d 74 72 65 65 2d 6d 61 70 60 5d 28 23 2d 74 72 65 65 2d 6d 61 70 2d 66 6e 2d 74 72 r.[`-tree-map`](#-tree-map-fn-tr
6daa0 65 65 29 0a 62 75 74 20 69 73 20 74 77 69 63 65 20 61 73 20 66 61 73 74 20 61 73 20 69 74 20 6f ee).but.is.twice.as.fast.as.it.o
6dac0 6e 6c 79 20 74 72 61 76 65 72 73 65 20 74 68 65 20 73 74 72 75 63 74 75 72 65 20 6f 6e 63 65 2e nly.traverse.the.structure.once.
6dae0 0a 0a 60 60 60 65 6c 0a 28 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 2d 66 72 6f 6d 20 27 69 ..```el.(-tree-mapreduce-from.'i
6db00 64 65 6e 74 69 74 79 20 27 2a 20 31 20 27 28 31 20 28 32 20 28 33 20 34 29 20 28 35 20 36 29 29 dentity.'*.1.'(1.(2.(3.4).(5.6))
6db20 20 28 37 20 28 38 20 39 29 29 29 29 20 3b 3b 20 3d 3e 20 33 36 32 38 38 30 0a 28 2d 2d 74 72 65 .(7.(8.9)))).;;.=>.362880.(--tre
6db40 65 2d 6d 61 70 72 65 64 75 63 65 2d 66 72 6f 6d 20 28 2b 20 69 74 20 69 74 29 20 28 63 6f 6e 73 e-mapreduce-from.(+.it.it).(cons
6db60 20 69 74 20 61 63 63 29 20 6e 69 6c 20 27 28 31 20 28 32 20 28 34 20 39 29 20 28 32 20 31 29 29 .it.acc).nil.'(1.(2.(4.9).(2.1))
6db80 20 28 37 20 28 34 20 33 29 29 29 29 20 3b 3b 20 3d 3e 20 28 32 20 28 34 20 28 38 20 31 38 29 20 .(7.(4.3)))).;;.=>.(2.(4.(8.18).
6dba0 28 34 20 32 29 29 20 28 31 34 20 28 38 20 36 29 29 29 0a 28 63 6f 6e 63 61 74 20 22 7b 22 20 28 (4.2)).(14.(8.6))).(concat."{".(
6dbc0 2d 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 2d 66 72 6f 6d 20 28 63 6f 6e 64 20 28 28 2d 63 --tree-mapreduce-from.(cond.((-c
6dbe0 6f 6e 73 2d 70 61 69 72 3f 20 69 74 29 20 28 63 6f 6e 63 61 74 20 28 73 79 6d 62 6f 6c 2d 6e 61 ons-pair?.it).(concat.(symbol-na
6dc00 6d 65 20 28 63 61 72 20 69 74 29 29 20 22 20 2d 3e 20 22 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 me.(car.it)).".->.".(symbol-name
6dc20 20 28 63 64 72 20 69 74 29 29 29 29 20 28 74 20 28 63 6f 6e 63 61 74 20 28 73 79 6d 62 6f 6c 2d .(cdr.it)))).(t.(concat.(symbol-
6dc40 6e 61 6d 65 20 69 74 29 20 22 20 3a 20 7b 22 29 29 29 20 28 63 6f 6e 63 61 74 20 69 74 20 28 75 name.it).".:.{"))).(concat.it.(u
6dc60 6e 6c 65 73 73 20 28 6f 72 20 28 65 71 75 61 6c 20 61 63 63 20 22 7d 22 29 20 28 65 71 75 61 6c nless.(or.(equal.acc."}").(equal
6dc80 20 28 73 75 62 73 74 72 69 6e 67 20 69 74 20 28 31 2d 20 28 6c 65 6e 67 74 68 20 69 74 29 29 29 .(substring.it.(1-.(length.it)))
6dca0 20 22 7b 22 29 29 20 22 2c 20 22 29 20 61 63 63 29 20 22 7d 22 20 27 28 28 65 6c 69 73 70 2d 6d ."{")).",.").acc)."}".'((elisp-m
6dcc0 6f 64 65 20 28 66 6f 6f 20 28 62 61 72 20 2e 20 62 6f 6f 7a 65 29 29 20 28 62 61 7a 20 2e 20 71 ode.(foo.(bar...booze)).(baz...q
6dce0 75 78 29 29 20 28 63 2d 6d 6f 64 65 20 28 66 6f 6f 20 2e 20 62 6c 61 29 20 28 62 75 6d 20 2e 20 ux)).(c-mode.(foo...bla).(bum...
6dd00 62 61 6d 29 29 29 29 29 20 3b 3b 20 3d 3e 20 22 7b 65 6c 69 73 70 2d 6d 6f 64 65 20 3a 20 7b 66 bam))))).;;.=>."{elisp-mode.:.{f
6dd20 6f 6f 20 3a 20 7b 62 61 72 20 2d 3e 20 62 6f 6f 7a 65 7d 2c 20 62 61 7a 20 2d 3e 20 71 75 78 7d oo.:.{bar.->.booze},.baz.->.qux}
6dd40 2c 20 63 2d 6d 6f 64 65 20 3a 20 7b 66 6f 6f 20 2d 3e 20 62 6c 61 2c 20 62 75 6d 20 2d 3e 20 62 ,.c-mode.:.{foo.->.bla,.bum.->.b
6dd60 61 6d 7d 7d 22 0a 60 60 60 0a 0a 23 23 23 23 20 2d 63 6c 6f 6e 65 20 60 28 6c 69 73 74 29 60 0a am}}".```..####.-clone.`(list)`.
6dd80 0a 43 72 65 61 74 65 20 61 20 64 65 65 70 20 63 6f 70 79 20 6f 66 20 60 6c 69 73 74 60 2e 0a 54 .Create.a.deep.copy.of.`list`..T
6dda0 68 65 20 6e 65 77 20 6c 69 73 74 20 68 61 73 20 74 68 65 20 73 61 6d 65 20 65 6c 65 6d 65 6e 74 he.new.list.has.the.same.element
6ddc0 73 20 61 6e 64 20 73 74 72 75 63 74 75 72 65 20 62 75 74 20 61 6c 6c 20 63 6f 6e 73 20 61 72 65 s.and.structure.but.all.cons.are
6dde0 0a 72 65 70 6c 61 63 65 64 20 77 69 74 68 20 6e 65 77 20 6f 6e 65 73 2e 20 20 54 68 69 73 20 69 .replaced.with.new.ones...This.i
6de00 73 20 75 73 65 66 75 6c 20 77 68 65 6e 20 79 6f 75 20 6e 65 65 64 20 74 6f 20 63 6c 6f 6e 65 20 s.useful.when.you.need.to.clone.
6de20 61 0a 73 74 72 75 63 74 75 72 65 20 73 75 63 68 20 61 73 20 70 6c 69 73 74 20 6f 72 20 61 6c 69 a.structure.such.as.plist.or.ali
6de40 73 74 2e 0a 0a 60 60 60 65 6c 0a 28 6c 65 74 2a 20 28 28 61 20 27 28 31 20 32 20 33 29 29 20 28 st...```el.(let*.((a.'(1.2.3)).(
6de60 62 20 28 2d 63 6c 6f 6e 65 20 61 29 29 29 20 28 6e 72 65 76 65 72 73 65 20 61 29 20 62 29 20 3b b.(-clone.a))).(nreverse.a).b).;
6de80 3b 20 3d 3e 20 28 31 20 32 20 33 29 0a 60 60 60 0a 0a 23 23 20 54 68 72 65 61 64 69 6e 67 20 6d ;.=>.(1.2.3).```..##.Threading.m
6dea0 61 63 72 6f 73 0a 0a 4d 61 63 72 6f 73 20 74 68 61 74 20 63 6f 6e 64 69 74 69 6f 6e 61 6c 6c 79 acros..Macros.that.conditionally
6dec0 20 63 6f 6d 62 69 6e 65 20 73 65 71 75 65 6e 74 69 61 6c 20 66 6f 72 6d 73 20 66 6f 72 20 62 72 .combine.sequential.forms.for.br
6dee0 65 76 69 74 79 0a 6f 72 20 72 65 61 64 61 62 69 6c 69 74 79 2e 0a 0a 23 23 23 23 20 2d 3e 20 60 evity.or.readability...####.->.`
6df00 28 78 20 26 6f 70 74 69 6f 6e 61 6c 20 66 6f 72 6d 20 26 72 65 73 74 20 6d 6f 72 65 29 60 0a 0a (x.&optional.form.&rest.more)`..
6df20 54 68 72 65 61 64 20 74 68 65 20 65 78 70 72 20 74 68 72 6f 75 67 68 20 74 68 65 20 66 6f 72 6d Thread.the.expr.through.the.form
6df40 73 2e 20 49 6e 73 65 72 74 20 60 78 60 20 61 73 20 74 68 65 20 73 65 63 6f 6e 64 20 69 74 65 6d s..Insert.`x`.as.the.second.item
6df60 0a 69 6e 20 74 68 65 20 66 69 72 73 74 20 66 6f 72 6d 2c 20 6d 61 6b 69 6e 67 20 61 20 6c 69 73 .in.the.first.form,.making.a.lis
6df80 74 20 6f 66 20 69 74 20 69 66 20 69 74 20 69 73 20 6e 6f 74 20 61 20 6c 69 73 74 0a 61 6c 72 65 t.of.it.if.it.is.not.a.list.alre
6dfa0 61 64 79 2e 20 49 66 20 74 68 65 72 65 20 61 72 65 20 6d 6f 72 65 20 66 6f 72 6d 73 2c 20 69 6e ady..If.there.are.more.forms,.in
6dfc0 73 65 72 74 20 74 68 65 20 66 69 72 73 74 20 66 6f 72 6d 20 61 73 20 74 68 65 0a 73 65 63 6f 6e sert.the.first.form.as.the.secon
6dfe0 64 20 69 74 65 6d 20 69 6e 20 73 65 63 6f 6e 64 20 66 6f 72 6d 2c 20 65 74 63 2e 0a 0a 60 60 60 d.item.in.second.form,.etc...```
6e000 65 6c 0a 28 2d 3e 20 27 28 32 20 33 20 35 29 29 20 3b 3b 20 3d 3e 20 28 32 20 33 20 35 29 0a 28 el.(->.'(2.3.5)).;;.=>.(2.3.5).(
6e020 2d 3e 20 27 28 32 20 33 20 35 29 20 28 61 70 70 65 6e 64 20 27 28 38 20 31 33 29 29 29 20 3b 3b ->.'(2.3.5).(append.'(8.13))).;;
6e040 20 3d 3e 20 28 32 20 33 20 35 20 38 20 31 33 29 0a 28 2d 3e 20 27 28 32 20 33 20 35 29 20 28 61 .=>.(2.3.5.8.13).(->.'(2.3.5).(a
6e060 70 70 65 6e 64 20 27 28 38 20 31 33 29 29 20 28 2d 73 6c 69 63 65 20 31 20 2d 31 29 29 20 3b 3b ppend.'(8.13)).(-slice.1.-1)).;;
6e080 20 3d 3e 20 28 33 20 35 20 38 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 3e 3e 20 60 28 78 20 26 6f .=>.(3.5.8).```..####.->>.`(x.&o
6e0a0 70 74 69 6f 6e 61 6c 20 66 6f 72 6d 20 26 72 65 73 74 20 6d 6f 72 65 29 60 0a 0a 54 68 72 65 61 ptional.form.&rest.more)`..Threa
6e0c0 64 20 74 68 65 20 65 78 70 72 20 74 68 72 6f 75 67 68 20 74 68 65 20 66 6f 72 6d 73 2e 20 49 6e d.the.expr.through.the.forms..In
6e0e0 73 65 72 74 20 60 78 60 20 61 73 20 74 68 65 20 6c 61 73 74 20 69 74 65 6d 0a 69 6e 20 74 68 65 sert.`x`.as.the.last.item.in.the
6e100 20 66 69 72 73 74 20 66 6f 72 6d 2c 20 6d 61 6b 69 6e 67 20 61 20 6c 69 73 74 20 6f 66 20 69 74 .first.form,.making.a.list.of.it
6e120 20 69 66 20 69 74 20 69 73 20 6e 6f 74 20 61 20 6c 69 73 74 0a 61 6c 72 65 61 64 79 2e 20 49 66 .if.it.is.not.a.list.already..If
6e140 20 74 68 65 72 65 20 61 72 65 20 6d 6f 72 65 20 66 6f 72 6d 73 2c 20 69 6e 73 65 72 74 20 74 68 .there.are.more.forms,.insert.th
6e160 65 20 66 69 72 73 74 20 66 6f 72 6d 20 61 73 20 74 68 65 0a 6c 61 73 74 20 69 74 65 6d 20 69 6e e.first.form.as.the.last.item.in
6e180 20 73 65 63 6f 6e 64 20 66 6f 72 6d 2c 20 65 74 63 2e 0a 0a 60 60 60 65 6c 0a 28 2d 3e 3e 20 27 .second.form,.etc...```el.(->>.'
6e1a0 28 31 20 32 20 33 29 20 28 2d 6d 61 70 20 27 73 71 75 61 72 65 29 29 20 3b 3b 20 3d 3e 20 28 31 (1.2.3).(-map.'square)).;;.=>.(1
6e1c0 20 34 20 39 29 0a 28 2d 3e 3e 20 27 28 31 20 32 20 33 29 20 28 2d 6d 61 70 20 27 73 71 75 61 72 .4.9).(->>.'(1.2.3).(-map.'squar
6e1e0 65 29 20 28 2d 72 65 6d 6f 76 65 20 27 65 76 65 6e 3f 29 29 20 3b 3b 20 3d 3e 20 28 31 20 39 29 e).(-remove.'even?)).;;.=>.(1.9)
6e200 0a 28 2d 3e 3e 20 27 28 31 20 32 20 33 29 20 28 2d 6d 61 70 20 27 73 71 75 61 72 65 29 20 28 2d .(->>.'(1.2.3).(-map.'square).(-
6e220 72 65 64 75 63 65 20 27 2b 29 29 20 3b 3b 20 3d 3e 20 31 34 0a 60 60 60 0a 0a 23 23 23 23 20 2d reduce.'+)).;;.=>.14.```..####.-
6e240 2d 3e 20 60 28 78 20 26 72 65 73 74 20 66 6f 72 6d 73 29 60 0a 0a 53 74 61 72 74 69 6e 67 20 77 ->.`(x.&rest.forms)`..Starting.w
6e260 69 74 68 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 60 78 60 2c 20 74 68 72 65 61 64 20 65 61 63 ith.the.value.of.`x`,.thread.eac
6e280 68 20 65 78 70 72 65 73 73 69 6f 6e 20 74 68 72 6f 75 67 68 20 60 66 6f 72 6d 73 60 2e 0a 0a 49 h.expression.through.`forms`...I
6e2a0 6e 73 65 72 74 20 60 78 60 20 61 74 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 20 73 69 67 6e 69 66 nsert.`x`.at.the.position.signif
6e2c0 69 65 64 20 62 79 20 74 68 65 20 73 79 6d 62 6f 6c 20 60 69 74 60 20 69 6e 20 74 68 65 20 66 69 ied.by.the.symbol.`it`.in.the.fi
6e2e0 72 73 74 0a 66 6f 72 6d 2e 20 20 49 66 20 74 68 65 72 65 20 61 72 65 20 6d 6f 72 65 20 66 6f 72 rst.form...If.there.are.more.for
6e300 6d 73 2c 20 69 6e 73 65 72 74 20 74 68 65 20 66 69 72 73 74 20 66 6f 72 6d 20 61 74 20 74 68 65 ms,.insert.the.first.form.at.the
6e320 20 70 6f 73 69 74 69 6f 6e 0a 73 69 67 6e 69 66 69 65 64 20 62 79 20 60 69 74 60 20 69 6e 20 69 .position.signified.by.`it`.in.i
6e340 6e 20 73 65 63 6f 6e 64 20 66 6f 72 6d 2c 20 65 74 63 2e 0a 0a 60 60 60 65 6c 0a 28 2d 2d 3e 20 n.second.form,.etc...```el.(-->.
6e360 22 64 65 66 22 20 28 63 6f 6e 63 61 74 20 22 61 62 63 22 20 69 74 20 22 67 68 69 22 29 29 20 3b "def".(concat."abc".it."ghi")).;
6e380 3b 20 3d 3e 20 22 61 62 63 64 65 66 67 68 69 22 0a 28 2d 2d 3e 20 22 64 65 66 22 20 28 63 6f 6e ;.=>."abcdefghi".(-->."def".(con
6e3a0 63 61 74 20 22 61 62 63 22 20 69 74 20 22 67 68 69 22 29 20 28 75 70 63 61 73 65 20 69 74 29 29 cat."abc".it."ghi").(upcase.it))
6e3c0 20 3b 3b 20 3d 3e 20 22 41 42 43 44 45 46 47 48 49 22 0a 28 2d 2d 3e 20 22 64 65 66 22 20 28 63 .;;.=>."ABCDEFGHI".(-->."def".(c
6e3e0 6f 6e 63 61 74 20 22 61 62 63 22 20 69 74 20 22 67 68 69 22 29 20 75 70 63 61 73 65 29 20 3b 3b oncat."abc".it."ghi").upcase).;;
6e400 20 3d 3e 20 22 41 42 43 44 45 46 47 48 49 22 0a 60 60 60 0a 0a 23 23 23 23 20 2d 61 73 2d 3e 20 .=>."ABCDEFGHI".```..####.-as->.
6e420 60 28 76 61 6c 75 65 20 76 61 72 69 61 62 6c 65 20 26 72 65 73 74 20 66 6f 72 6d 73 29 60 0a 0a `(value.variable.&rest.forms)`..
6e440 53 74 61 72 74 69 6e 67 20 77 69 74 68 20 60 76 61 6c 75 65 60 2c 20 74 68 72 65 61 64 20 60 76 Starting.with.`value`,.thread.`v
6e460 61 72 69 61 62 6c 65 60 20 74 68 72 6f 75 67 68 20 60 66 6f 72 6d 73 60 2e 0a 0a 49 6e 20 74 68 ariable`.through.`forms`...In.th
6e480 65 20 66 69 72 73 74 20 66 6f 72 6d 2c 20 62 69 6e 64 20 60 76 61 72 69 61 62 6c 65 60 20 74 6f e.first.form,.bind.`variable`.to
6e4a0 20 60 76 61 6c 75 65 60 2e 20 20 49 6e 20 74 68 65 20 73 65 63 6f 6e 64 20 66 6f 72 6d 2c 20 62 .`value`...In.the.second.form,.b
6e4c0 69 6e 64 0a 60 76 61 72 69 61 62 6c 65 60 20 74 6f 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 ind.`variable`.to.the.result.of.
6e4e0 74 68 65 20 66 69 72 73 74 20 66 6f 72 6d 2c 20 61 6e 64 20 73 6f 20 66 6f 72 74 68 2e 0a 0a 60 the.first.form,.and.so.forth...`
6e500 60 60 65 6c 0a 28 2d 61 73 2d 3e 20 33 20 6d 79 2d 76 61 72 20 28 31 2b 20 6d 79 2d 76 61 72 29 ``el.(-as->.3.my-var.(1+.my-var)
6e520 20 28 6c 69 73 74 20 6d 79 2d 76 61 72 29 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 .(list.my-var).(mapcar.(lambda.(
6e540 65 6c 65 29 20 28 2a 20 32 20 65 6c 65 29 29 20 6d 79 2d 76 61 72 29 29 20 3b 3b 20 3d 3e 20 28 ele).(*.2.ele)).my-var)).;;.=>.(
6e560 38 29 0a 28 2d 61 73 2d 3e 20 33 20 6d 79 2d 76 61 72 20 31 2b 29 20 3b 3b 20 3d 3e 20 34 0a 28 8).(-as->.3.my-var.1+).;;.=>.4.(
6e580 2d 61 73 2d 3e 20 33 20 6d 79 2d 76 61 72 29 20 3b 3b 20 3d 3e 20 33 0a 60 60 60 0a 0a 23 23 23 -as->.3.my-var).;;.=>.3.```..###
6e5a0 23 20 2d 73 6f 6d 65 2d 3e 20 60 28 78 20 26 6f 70 74 69 6f 6e 61 6c 20 66 6f 72 6d 20 26 72 65 #.-some->.`(x.&optional.form.&re
6e5c0 73 74 20 6d 6f 72 65 29 60 0a 0a 57 68 65 6e 20 65 78 70 72 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c st.more)`..When.expr.is.non-nil,
6e5e0 20 74 68 72 65 61 64 20 69 74 20 74 68 72 6f 75 67 68 20 74 68 65 20 66 69 72 73 74 20 66 6f 72 .thread.it.through.the.first.for
6e600 6d 20 28 76 69 61 20 5b 60 2d 3e 60 5d 28 23 2d 2d 78 2d 6f 70 74 69 6f 6e 61 6c 2d 66 6f 72 6d m.(via.[`->`](#--x-optional-form
6e620 2d 72 65 73 74 2d 6d 6f 72 65 29 29 2c 0a 61 6e 64 20 77 68 65 6e 20 74 68 61 74 20 72 65 73 75 -rest-more)),.and.when.that.resu
6e640 6c 74 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 72 6f 75 67 68 20 74 68 65 20 6e 65 78 74 20 lt.is.non-nil,.through.the.next.
6e660 66 6f 72 6d 2c 20 65 74 63 2e 0a 0a 60 60 60 65 6c 0a 28 2d 73 6f 6d 65 2d 3e 20 27 28 32 20 33 form,.etc...```el.(-some->.'(2.3
6e680 20 35 29 29 20 3b 3b 20 3d 3e 20 28 32 20 33 20 35 29 0a 28 2d 73 6f 6d 65 2d 3e 20 35 20 73 71 .5)).;;.=>.(2.3.5).(-some->.5.sq
6e6a0 75 61 72 65 29 20 3b 3b 20 3d 3e 20 32 35 0a 28 2d 73 6f 6d 65 2d 3e 20 35 20 65 76 65 6e 3f 20 uare).;;.=>.25.(-some->.5.even?.
6e6c0 73 71 75 61 72 65 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 60 60 60 0a 0a 23 23 23 23 20 2d 73 6f 6d square).;;.=>.nil.```..####.-som
6e6e0 65 2d 3e 3e 20 60 28 78 20 26 6f 70 74 69 6f 6e 61 6c 20 66 6f 72 6d 20 26 72 65 73 74 20 6d 6f e->>.`(x.&optional.form.&rest.mo
6e700 72 65 29 60 0a 0a 57 68 65 6e 20 65 78 70 72 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 72 65 re)`..When.expr.is.non-nil,.thre
6e720 61 64 20 69 74 20 74 68 72 6f 75 67 68 20 74 68 65 20 66 69 72 73 74 20 66 6f 72 6d 20 28 76 69 ad.it.through.the.first.form.(vi
6e740 61 20 5b 60 2d 3e 3e 60 5d 28 23 2d 2d 78 2d 6f 70 74 69 6f 6e 61 6c 2d 66 6f 72 6d 2d 72 65 73 a.[`->>`](#--x-optional-form-res
6e760 74 2d 6d 6f 72 65 29 29 2c 0a 61 6e 64 20 77 68 65 6e 20 74 68 61 74 20 72 65 73 75 6c 74 20 69 t-more)),.and.when.that.result.i
6e780 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 72 6f 75 67 68 20 74 68 65 20 6e 65 78 74 20 66 6f 72 6d s.non-nil,.through.the.next.form
6e7a0 2c 20 65 74 63 2e 0a 0a 60 60 60 65 6c 0a 28 2d 73 6f 6d 65 2d 3e 3e 20 27 28 31 20 32 20 33 29 ,.etc...```el.(-some->>.'(1.2.3)
6e7c0 20 28 2d 6d 61 70 20 27 73 71 75 61 72 65 29 29 20 3b 3b 20 3d 3e 20 28 31 20 34 20 39 29 0a 28 .(-map.'square)).;;.=>.(1.4.9).(
6e7e0 2d 73 6f 6d 65 2d 3e 3e 20 27 28 31 20 33 20 35 29 20 28 2d 6c 61 73 74 20 27 65 76 65 6e 3f 29 -some->>.'(1.3.5).(-last.'even?)
6e800 20 28 2b 20 31 30 30 29 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 28 2d 73 6f 6d 65 2d 3e 3e 20 27 28 .(+.100)).;;.=>.nil.(-some->>.'(
6e820 32 20 34 20 36 29 20 28 2d 6c 61 73 74 20 27 65 76 65 6e 3f 29 20 28 2b 20 31 30 30 29 29 20 3b 2.4.6).(-last.'even?).(+.100)).;
6e840 3b 20 3d 3e 20 31 30 36 0a 60 60 60 0a 0a 23 23 23 23 20 2d 73 6f 6d 65 2d 2d 3e 20 60 28 65 78 ;.=>.106.```..####.-some-->.`(ex
6e860 70 72 20 26 72 65 73 74 20 66 6f 72 6d 73 29 60 0a 0a 54 68 72 65 61 64 20 60 65 78 70 72 60 20 pr.&rest.forms)`..Thread.`expr`.
6e880 74 68 72 6f 75 67 68 20 60 66 6f 72 6d 73 60 20 76 69 61 20 5b 60 2d 2d 3e 60 5d 28 23 2d 2d 2d through.`forms`.via.[`-->`](#---
6e8a0 78 2d 72 65 73 74 2d 66 6f 72 6d 73 29 2c 20 77 68 69 6c 65 20 74 68 65 20 72 65 73 75 6c 74 20 x-rest-forms),.while.the.result.
6e8c0 69 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 57 68 65 6e 20 60 65 78 70 72 60 20 65 76 61 6c 75 61 74 65 is.non-nil..When.`expr`.evaluate
6e8e0 73 20 74 6f 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 72 65 61 64 20 74 68 65 20 72 65 73 75 6c 74 20 s.to.non-nil,.thread.the.result.
6e900 74 68 72 6f 75 67 68 20 74 68 65 0a 66 69 72 73 74 20 6f 66 20 60 66 6f 72 6d 73 60 2c 20 61 6e through.the.first.of.`forms`,.an
6e920 64 20 77 68 65 6e 20 74 68 61 74 20 72 65 73 75 6c 74 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 d.when.that.result.is.non-nil,.t
6e940 68 72 65 61 64 20 69 74 0a 74 68 72 6f 75 67 68 20 74 68 65 20 6e 65 78 74 20 66 6f 72 6d 2c 20 hread.it.through.the.next.form,.
6e960 65 74 63 2e 0a 0a 60 60 60 65 6c 0a 28 2d 73 6f 6d 65 2d 2d 3e 20 22 64 65 66 22 20 28 63 6f 6e etc...```el.(-some-->."def".(con
6e980 63 61 74 20 22 61 62 63 22 20 69 74 20 22 67 68 69 22 29 29 20 3b 3b 20 3d 3e 20 22 61 62 63 64 cat."abc".it."ghi")).;;.=>."abcd
6e9a0 65 66 67 68 69 22 0a 28 2d 73 6f 6d 65 2d 2d 3e 20 6e 69 6c 20 28 63 6f 6e 63 61 74 20 22 61 62 efghi".(-some-->.nil.(concat."ab
6e9c0 63 22 20 69 74 20 22 67 68 69 22 29 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 28 2d 73 6f 6d 65 2d 2d c".it."ghi")).;;.=>.nil.(-some--
6e9e0 3e 20 27 28 30 20 31 29 20 28 2d 72 65 6d 6f 76 65 20 23 27 6e 61 74 6e 75 6d 70 20 69 74 29 20 >.'(0.1).(-remove.#'natnump.it).
6ea00 28 61 70 70 65 6e 64 20 69 74 20 69 74 29 20 28 2d 6d 61 70 20 23 27 31 2b 20 69 74 29 29 20 3b (append.it.it).(-map.#'1+.it)).;
6ea20 3b 20 3d 3e 20 28 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 64 6f 74 6f 20 60 28 69 6e 69 74 20 26 ;.=>.().```..####.-doto.`(init.&
6ea40 72 65 73 74 20 66 6f 72 6d 73 29 60 0a 0a 45 76 61 6c 75 61 74 65 20 60 69 6e 69 74 60 20 61 6e rest.forms)`..Evaluate.`init`.an
6ea60 64 20 70 61 73 73 20 69 74 20 61 73 20 61 72 67 75 6d 65 6e 74 20 74 6f 20 60 66 6f 72 6d 73 60 d.pass.it.as.argument.to.`forms`
6ea80 20 77 69 74 68 20 5b 60 2d 3e 60 5d 28 23 2d 2d 78 2d 6f 70 74 69 6f 6e 61 6c 2d 66 6f 72 6d 2d .with.[`->`](#--x-optional-form-
6eaa0 72 65 73 74 2d 6d 6f 72 65 29 2e 0a 54 68 65 20 60 72 65 73 75 6c 74 60 20 6f 66 20 65 76 61 6c rest-more)..The.`result`.of.eval
6eac0 75 61 74 69 6e 67 20 60 69 6e 69 74 60 20 69 73 20 74 68 72 65 61 64 65 64 20 74 68 72 6f 75 67 uating.`init`.is.threaded.throug
6eae0 68 20 65 61 63 68 20 6f 66 20 60 66 6f 72 6d 73 60 0a 69 6e 64 69 76 69 64 75 61 6c 6c 79 20 75 h.each.of.`forms`.individually.u
6eb00 73 69 6e 67 20 5b 60 2d 3e 60 5d 28 23 2d 2d 78 2d 6f 70 74 69 6f 6e 61 6c 2d 66 6f 72 6d 2d 72 sing.[`->`](#--x-optional-form-r
6eb20 65 73 74 2d 6d 6f 72 65 29 2c 20 77 68 69 63 68 20 73 65 65 2e 20 20 54 68 65 20 72 65 74 75 72 est-more),.which.see...The.retur
6eb40 6e 20 76 61 6c 75 65 20 69 73 20 60 72 65 73 75 6c 74 60 2c 0a 77 68 69 63 68 20 60 66 6f 72 6d n.value.is.`result`,.which.`form
6eb60 73 60 20 6d 61 79 20 68 61 76 65 20 6d 6f 64 69 66 69 65 64 20 62 79 20 73 69 64 65 20 65 66 66 s`.may.have.modified.by.side.eff
6eb80 65 63 74 2e 0a 0a 60 60 60 65 6c 0a 28 2d 64 6f 74 6f 20 28 6c 69 73 74 20 31 20 32 20 33 29 20 ect...```el.(-doto.(list.1.2.3).
6eba0 70 6f 70 20 70 6f 70 29 20 3b 3b 20 3d 3e 20 28 33 29 0a 28 2d 64 6f 74 6f 20 28 63 6f 6e 73 20 pop.pop).;;.=>.(3).(-doto.(cons.
6ebc0 31 20 32 29 20 28 73 65 74 63 61 72 20 33 29 20 28 73 65 74 63 64 72 20 34 29 29 20 3b 3b 20 3d 1.2).(setcar.3).(setcdr.4)).;;.=
6ebe0 3e 20 28 33 20 2e 20 34 29 0a 28 67 65 74 68 61 73 68 20 27 6b 20 28 2d 2d 64 6f 74 6f 20 28 6d >.(3...4).(gethash.'k.(--doto.(m
6ec00 61 6b 65 2d 68 61 73 68 2d 74 61 62 6c 65 29 20 28 70 75 74 68 61 73 68 20 27 6b 20 27 76 20 69 ake-hash-table).(puthash.'k.'v.i
6ec20 74 29 29 29 20 3b 3b 20 3d 3e 20 76 0a 60 60 60 0a 0a 23 23 20 42 69 6e 64 69 6e 67 0a 0a 4d 61 t))).;;.=>.v.```..##.Binding..Ma
6ec40 63 72 6f 73 20 74 68 61 74 20 63 6f 6d 62 69 6e 65 20 60 6c 65 74 60 20 61 6e 64 20 60 6c 65 74 cros.that.combine.`let`.and.`let
6ec60 2a 60 20 77 69 74 68 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 20 61 6e 64 20 66 6c 6f 77 20 63 *`.with.destructuring.and.flow.c
6ec80 6f 6e 74 72 6f 6c 2e 0a 0a 23 23 23 23 20 2d 77 68 65 6e 2d 6c 65 74 20 60 28 28 76 61 72 20 76 ontrol...####.-when-let.`((var.v
6eca0 61 6c 29 20 26 72 65 73 74 20 62 6f 64 79 29 60 0a 0a 49 66 20 60 76 61 6c 60 20 65 76 61 6c 75 al).&rest.body)`..If.`val`.evalu
6ecc0 61 74 65 73 20 74 6f 20 6e 6f 6e 2d 6e 69 6c 2c 20 62 69 6e 64 20 69 74 20 74 6f 20 60 76 61 72 ates.to.non-nil,.bind.it.to.`var
6ece0 60 20 61 6e 64 20 65 78 65 63 75 74 65 20 62 6f 64 79 2e 0a 0a 4e 6f 74 65 3a 20 62 69 6e 64 69 `.and.execute.body...Note:.bindi
6ed00 6e 67 20 69 73 20 64 6f 6e 65 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 5b 60 2d 6c 65 74 60 5d ng.is.done.according.to.[`-let`]
6ed20 28 23 2d 6c 65 74 2d 76 61 72 6c 69 73 74 2d 72 65 73 74 2d 62 6f 64 79 29 2e 0a 0a 60 60 60 65 (#-let-varlist-rest-body)...```e
6ed40 6c 0a 28 2d 77 68 65 6e 2d 6c 65 74 20 28 6d 61 74 63 68 2d 69 6e 64 65 78 20 28 73 74 72 69 6e l.(-when-let.(match-index.(strin
6ed60 67 2d 6d 61 74 63 68 20 22 64 22 20 22 61 62 63 64 22 29 29 20 28 2b 20 6d 61 74 63 68 2d 69 6e g-match."d"."abcd")).(+.match-in
6ed80 64 65 78 20 32 29 29 20 3b 3b 20 3d 3e 20 35 0a 28 2d 77 68 65 6e 2d 6c 65 74 20 28 28 26 70 6c dex.2)).;;.=>.5.(-when-let.((&pl
6eda0 69 73 74 20 3a 66 6f 6f 20 66 6f 6f 29 20 28 6c 69 73 74 20 3a 66 6f 6f 20 22 66 6f 6f 22 29 29 ist.:foo.foo).(list.:foo."foo"))
6edc0 20 66 6f 6f 29 20 3b 3b 20 3d 3e 20 22 66 6f 6f 22 0a 28 2d 77 68 65 6e 2d 6c 65 74 20 28 28 26 .foo).;;.=>."foo".(-when-let.((&
6ede0 70 6c 69 73 74 20 3a 66 6f 6f 20 66 6f 6f 29 20 28 6c 69 73 74 20 3a 62 61 72 20 22 62 61 72 22 plist.:foo.foo).(list.:bar."bar"
6ee00 29 29 20 66 6f 6f 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 60 60 60 0a 0a 23 23 23 23 20 2d 77 68 65 )).foo).;;.=>.nil.```..####.-whe
6ee20 6e 2d 6c 65 74 2a 20 60 28 76 61 72 73 2d 76 61 6c 73 20 26 72 65 73 74 20 62 6f 64 79 29 60 0a n-let*.`(vars-vals.&rest.body)`.
6ee40 0a 49 66 20 61 6c 6c 20 60 76 61 6c 73 60 20 65 76 61 6c 75 61 74 65 20 74 6f 20 74 72 75 65 2c .If.all.`vals`.evaluate.to.true,
6ee60 20 62 69 6e 64 20 74 68 65 6d 20 74 6f 20 74 68 65 69 72 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e .bind.them.to.their.correspondin
6ee80 67 0a 60 76 61 72 73 60 20 61 6e 64 20 65 78 65 63 75 74 65 20 62 6f 64 79 2e 20 60 76 61 72 73 g.`vars`.and.execute.body..`vars
6eea0 2d 76 61 6c 73 60 20 73 68 6f 75 6c 64 20 62 65 20 61 20 6c 69 73 74 20 6f 66 20 28 60 76 61 72 -vals`.should.be.a.list.of.(`var
6eec0 60 20 60 76 61 6c 60 29 0a 70 61 69 72 73 2e 0a 0a 4e 6f 74 65 3a 20 62 69 6e 64 69 6e 67 20 69 `.`val`).pairs...Note:.binding.i
6eee0 73 20 64 6f 6e 65 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 5b 60 2d 6c 65 74 2a 60 5d 28 23 2d s.done.according.to.[`-let*`](#-
6ef00 6c 65 74 2d 76 61 72 6c 69 73 74 2d 72 65 73 74 2d 62 6f 64 79 29 2e 20 20 60 76 61 6c 73 60 20 let-varlist-rest-body)...`vals`.
6ef20 61 72 65 20 65 76 61 6c 75 61 74 65 64 0a 73 65 71 75 65 6e 74 69 61 6c 6c 79 2c 20 61 6e 64 20 are.evaluated.sequentially,.and.
6ef40 65 76 61 6c 75 61 74 69 6f 6e 20 73 74 6f 70 73 20 61 66 74 65 72 20 74 68 65 20 66 69 72 73 74 evaluation.stops.after.the.first
6ef60 20 6e 69 6c 20 60 76 61 6c 60 20 69 73 0a 65 6e 63 6f 75 6e 74 65 72 65 64 2e 0a 0a 60 60 60 65 .nil.`val`.is.encountered...```e
6ef80 6c 0a 28 2d 77 68 65 6e 2d 6c 65 74 2a 20 28 28 78 20 35 29 20 28 79 20 33 29 20 28 7a 20 28 2b l.(-when-let*.((x.5).(y.3).(z.(+
6efa0 20 79 20 34 29 29 29 20 28 2b 20 78 20 79 20 7a 29 29 20 3b 3b 20 3d 3e 20 31 35 0a 28 2d 77 68 .y.4))).(+.x.y.z)).;;.=>.15.(-wh
6efc0 65 6e 2d 6c 65 74 2a 20 28 28 78 20 35 29 20 28 79 20 6e 69 6c 29 20 28 7a 20 37 29 29 20 28 2b en-let*.((x.5).(y.nil).(z.7)).(+
6efe0 20 78 20 79 20 7a 29 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 60 60 60 0a 0a 23 23 23 23 20 2d 69 66 .x.y.z)).;;.=>.nil.```..####.-if
6f000 2d 6c 65 74 20 60 28 28 76 61 72 20 76 61 6c 29 20 74 68 65 6e 20 26 72 65 73 74 20 65 6c 73 65 -let.`((var.val).then.&rest.else
6f020 29 60 0a 0a 49 66 20 60 76 61 6c 60 20 65 76 61 6c 75 61 74 65 73 20 74 6f 20 6e 6f 6e 2d 6e 69 )`..If.`val`.evaluates.to.non-ni
6f040 6c 2c 20 62 69 6e 64 20 69 74 20 74 6f 20 60 76 61 72 60 20 61 6e 64 20 64 6f 20 60 74 68 65 6e l,.bind.it.to.`var`.and.do.`then
6f060 60 2c 0a 6f 74 68 65 72 77 69 73 65 20 64 6f 20 60 65 6c 73 65 60 2e 0a 0a 4e 6f 74 65 3a 20 62 `,.otherwise.do.`else`...Note:.b
6f080 69 6e 64 69 6e 67 20 69 73 20 64 6f 6e 65 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 5b 60 2d 6c inding.is.done.according.to.[`-l
6f0a0 65 74 60 5d 28 23 2d 6c 65 74 2d 76 61 72 6c 69 73 74 2d 72 65 73 74 2d 62 6f 64 79 29 2e 0a 0a et`](#-let-varlist-rest-body)...
6f0c0 60 60 60 65 6c 0a 28 2d 69 66 2d 6c 65 74 20 28 6d 61 74 63 68 2d 69 6e 64 65 78 20 28 73 74 72 ```el.(-if-let.(match-index.(str
6f0e0 69 6e 67 2d 6d 61 74 63 68 20 22 64 22 20 22 61 62 63 22 29 29 20 28 2b 20 6d 61 74 63 68 2d 69 ing-match."d"."abc")).(+.match-i
6f100 6e 64 65 78 20 33 29 20 37 29 20 3b 3b 20 3d 3e 20 37 0a 28 2d 2d 69 66 2d 6c 65 74 20 28 65 76 ndex.3).7).;;.=>.7.(--if-let.(ev
6f120 65 6e 3f 20 34 29 20 69 74 20 6e 69 6c 29 20 3b 3b 20 3d 3e 20 74 0a 60 60 60 0a 0a 23 23 23 23 en?.4).it.nil).;;.=>.t.```..####
6f140 20 2d 69 66 2d 6c 65 74 2a 20 60 28 76 61 72 73 2d 76 61 6c 73 20 74 68 65 6e 20 26 72 65 73 74 .-if-let*.`(vars-vals.then.&rest
6f160 20 65 6c 73 65 29 60 0a 0a 49 66 20 61 6c 6c 20 60 76 61 6c 73 60 20 65 76 61 6c 75 61 74 65 20 .else)`..If.all.`vals`.evaluate.
6f180 74 6f 20 74 72 75 65 2c 20 62 69 6e 64 20 74 68 65 6d 20 74 6f 20 74 68 65 69 72 20 63 6f 72 72 to.true,.bind.them.to.their.corr
6f1a0 65 73 70 6f 6e 64 69 6e 67 0a 60 76 61 72 73 60 20 61 6e 64 20 64 6f 20 60 74 68 65 6e 60 2c 20 esponding.`vars`.and.do.`then`,.
6f1c0 6f 74 68 65 72 77 69 73 65 20 64 6f 20 60 65 6c 73 65 60 2e 20 60 76 61 72 73 2d 76 61 6c 73 60 otherwise.do.`else`..`vars-vals`
6f1e0 20 73 68 6f 75 6c 64 20 62 65 20 61 20 6c 69 73 74 0a 6f 66 20 28 60 76 61 72 60 20 60 76 61 6c .should.be.a.list.of.(`var`.`val
6f200 60 29 20 70 61 69 72 73 2e 0a 0a 4e 6f 74 65 3a 20 62 69 6e 64 69 6e 67 20 69 73 20 64 6f 6e 65 `).pairs...Note:.binding.is.done
6f220 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 5b 60 2d 6c 65 74 2a 60 5d 28 23 2d 6c 65 74 2d 76 61 .according.to.[`-let*`](#-let-va
6f240 72 6c 69 73 74 2d 72 65 73 74 2d 62 6f 64 79 29 2e 20 20 60 76 61 6c 73 60 20 61 72 65 20 65 76 rlist-rest-body)...`vals`.are.ev
6f260 61 6c 75 61 74 65 64 0a 73 65 71 75 65 6e 74 69 61 6c 6c 79 2c 20 61 6e 64 20 65 76 61 6c 75 61 aluated.sequentially,.and.evalua
6f280 74 69 6f 6e 20 73 74 6f 70 73 20 61 66 74 65 72 20 74 68 65 20 66 69 72 73 74 20 6e 69 6c 20 60 tion.stops.after.the.first.nil.`
6f2a0 76 61 6c 60 20 69 73 0a 65 6e 63 6f 75 6e 74 65 72 65 64 2e 0a 0a 60 60 60 65 6c 0a 28 2d 69 66 val`.is.encountered...```el.(-if
6f2c0 2d 6c 65 74 2a 20 28 28 78 20 35 29 20 28 79 20 33 29 20 28 7a 20 37 29 29 20 28 2b 20 78 20 79 -let*.((x.5).(y.3).(z.7)).(+.x.y
6f2e0 20 7a 29 20 22 66 6f 6f 22 29 20 3b 3b 20 3d 3e 20 31 35 0a 28 2d 69 66 2d 6c 65 74 2a 20 28 28 .z)."foo").;;.=>.15.(-if-let*.((
6f300 78 20 35 29 20 28 79 20 6e 69 6c 29 20 28 7a 20 37 29 29 20 28 2b 20 78 20 79 20 7a 29 20 22 66 x.5).(y.nil).(z.7)).(+.x.y.z)."f
6f320 6f 6f 22 29 20 3b 3b 20 3d 3e 20 22 66 6f 6f 22 0a 28 2d 69 66 2d 6c 65 74 2a 20 28 28 28 5f 20 oo").;;.=>."foo".(-if-let*.(((_.
6f340 5f 20 78 29 20 27 28 6e 69 6c 20 6e 69 6c 20 37 29 29 29 20 78 29 20 3b 3b 20 3d 3e 20 37 0a 60 _.x).'(nil.nil.7))).x).;;.=>.7.`
6f360 60 60 0a 0a 23 23 23 23 20 2d 6c 65 74 20 60 28 76 61 72 6c 69 73 74 20 26 72 65 73 74 20 62 6f ``..####.-let.`(varlist.&rest.bo
6f380 64 79 29 60 0a 0a 42 69 6e 64 20 76 61 72 69 61 62 6c 65 73 20 61 63 63 6f 72 64 69 6e 67 20 74 dy)`..Bind.variables.according.t
6f3a0 6f 20 60 76 61 72 6c 69 73 74 60 20 74 68 65 6e 20 65 76 61 6c 20 60 62 6f 64 79 60 2e 0a 0a 60 o.`varlist`.then.eval.`body`...`
6f3c0 76 61 72 6c 69 73 74 60 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 6c 69 73 74 73 20 6f 66 20 74 varlist`.is.a.list.of.lists.of.t
6f3e0 68 65 20 66 6f 72 6d 20 28 60 70 61 74 74 65 72 6e 60 20 60 73 6f 75 72 63 65 60 29 2e 20 20 45 he.form.(`pattern`.`source`)...E
6f400 61 63 68 0a 60 70 61 74 74 65 72 6e 60 20 69 73 20 6d 61 74 63 68 65 64 20 61 67 61 69 6e 73 74 ach.`pattern`.is.matched.against
6f420 20 74 68 65 20 60 73 6f 75 72 63 65 60 20 22 73 74 72 75 63 74 75 72 61 6c 6c 79 22 2e 20 20 60 .the.`source`."structurally"...`
6f440 73 6f 75 72 63 65 60 0a 69 73 20 6f 6e 6c 79 20 65 76 61 6c 75 61 74 65 64 20 6f 6e 63 65 20 66 source`.is.only.evaluated.once.f
6f460 6f 72 20 65 61 63 68 20 60 70 61 74 74 65 72 6e 60 2e 20 20 45 61 63 68 20 60 70 61 74 74 65 72 or.each.`pattern`...Each.`patter
6f480 6e 60 20 69 73 20 6d 61 74 63 68 65 64 0a 72 65 63 75 72 73 69 76 65 6c 79 2c 20 61 6e 64 20 63 n`.is.matched.recursively,.and.c
6f4a0 61 6e 20 74 68 65 72 65 66 6f 72 65 20 63 6f 6e 74 61 69 6e 20 73 75 62 2d 70 61 74 74 65 72 6e an.therefore.contain.sub-pattern
6f4c0 73 20 77 68 69 63 68 20 61 72 65 0a 6d 61 74 63 68 65 64 20 61 67 61 69 6e 73 74 20 63 6f 72 72 s.which.are.matched.against.corr
6f4e0 65 73 70 6f 6e 64 69 6e 67 20 73 75 62 2d 65 78 70 72 65 73 73 69 6f 6e 73 20 6f 66 20 60 73 6f esponding.sub-expressions.of.`so
6f500 75 72 63 65 60 2e 0a 0a 41 6c 6c 20 74 68 65 20 53 4f 55 52 43 45 73 20 61 72 65 20 65 76 61 6c urce`...All.the.SOURCEs.are.eval
6f520 6c 65 64 20 62 65 66 6f 72 65 20 61 6e 79 20 73 79 6d 62 6f 6c 73 20 61 72 65 0a 62 6f 75 6e 64 led.before.any.symbols.are.bound
6f540 20 28 69 2e 65 2e 20 22 69 6e 20 70 61 72 61 6c 6c 65 6c 22 29 2e 0a 0a 49 66 20 60 76 61 72 6c .(i.e.."in.parallel")...If.`varl
6f560 69 73 74 60 20 6f 6e 6c 79 20 63 6f 6e 74 61 69 6e 73 20 6f 6e 65 20 28 60 70 61 74 74 65 72 6e ist`.only.contains.one.(`pattern
6f580 60 20 60 73 6f 75 72 63 65 60 29 20 65 6c 65 6d 65 6e 74 2c 20 79 6f 75 20 63 61 6e 0a 6f 70 74 `.`source`).element,.you.can.opt
6f5a0 69 6f 6e 61 6c 6c 79 20 73 70 65 63 69 66 79 20 69 74 20 75 73 69 6e 67 20 61 20 76 65 63 74 6f ionally.specify.it.using.a.vecto
6f5c0 72 20 61 6e 64 20 64 69 73 63 61 72 64 69 6e 67 20 74 68 65 0a 6f 75 74 65 72 2d 6d 6f 73 74 20 r.and.discarding.the.outer-most.
6f5e0 70 61 72 65 6e 73 2e 20 20 54 68 75 73 0a 0a 20 20 20 20 28 2d 6c 65 74 20 28 28 60 70 61 74 74 parens...Thus......(-let.((`patt
6f600 65 72 6e 60 20 60 73 6f 75 72 63 65 60 29 29 20 2e 2e 2e 29 0a 0a 62 65 63 6f 6d 65 73 0a 0a 20 ern`.`source`))....)..becomes...
6f620 20 20 20 28 2d 6c 65 74 20 5b 60 70 61 74 74 65 72 6e 60 20 60 73 6f 75 72 63 65 60 5d 20 2e 2e ...(-let.[`pattern`.`source`]...
6f640 2e 29 2e 0a 0a 5b 60 2d 6c 65 74 60 5d 28 23 2d 6c 65 74 2d 76 61 72 6c 69 73 74 2d 72 65 73 74 .)...[`-let`](#-let-varlist-rest
6f660 2d 62 6f 64 79 29 20 75 73 65 73 20 61 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 6f 66 20 6e 6f 74 20 -body).uses.a.convention.of.not.
6f680 62 69 6e 64 69 6e 67 20 70 6c 61 63 65 73 20 28 73 79 6d 62 6f 6c 73 29 20 73 74 61 72 74 69 6e binding.places.(symbols).startin
6f6a0 67 0a 77 69 74 68 20 5f 20 77 68 65 6e 65 76 65 72 20 69 74 27 73 20 70 6f 73 73 69 62 6c 65 2e g.with._.whenever.it's.possible.
6f6c0 20 20 59 6f 75 20 63 61 6e 20 75 73 65 20 74 68 69 73 20 74 6f 20 73 6b 69 70 20 6f 76 65 72 0a ..You.can.use.this.to.skip.over.
6f6e0 65 6e 74 72 69 65 73 20 79 6f 75 20 64 6f 6e 27 74 20 63 61 72 65 20 61 62 6f 75 74 2e 20 20 48 entries.you.don't.care.about...H
6f700 6f 77 65 76 65 72 2c 20 74 68 69 73 20 69 73 20 6e 6f 74 20 2a 61 6c 77 61 79 73 2a 0a 70 6f 73 owever,.this.is.not.*always*.pos
6f720 73 69 62 6c 65 20 28 61 73 20 61 20 72 65 73 75 6c 74 20 6f 66 20 69 6d 70 6c 65 6d 65 6e 74 61 sible.(as.a.result.of.implementa
6f740 74 69 6f 6e 29 20 61 6e 64 20 74 68 65 73 65 20 73 79 6d 62 6f 6c 73 20 6d 69 67 68 74 0a 67 65 tion).and.these.symbols.might.ge
6f760 74 20 62 6f 75 6e 64 20 74 6f 20 75 6e 64 65 66 69 6e 65 64 20 76 61 6c 75 65 73 2e 0a 0a 46 6f t.bound.to.undefined.values...Fo
6f780 6c 6c 6f 77 69 6e 67 20 69 73 20 74 68 65 20 6f 76 65 72 76 69 65 77 20 6f 66 20 73 75 70 70 6f llowing.is.the.overview.of.suppo
6f7a0 72 74 65 64 20 70 61 74 74 65 72 6e 73 2e 20 20 52 65 6d 65 6d 62 65 72 20 74 68 61 74 0a 70 61 rted.patterns...Remember.that.pa
6f7c0 74 74 65 72 6e 73 20 63 61 6e 20 62 65 20 6d 61 74 63 68 65 64 20 72 65 63 75 72 73 69 76 65 6c tterns.can.be.matched.recursivel
6f7e0 79 2c 20 73 6f 20 65 76 65 72 79 20 61 2c 20 62 2c 20 61 4b 20 69 6e 20 74 68 65 0a 66 6f 6c 6c y,.so.every.a,.b,.aK.in.the.foll
6f800 6f 77 69 6e 67 20 63 61 6e 20 62 65 20 61 20 6d 61 74 63 68 69 6e 67 20 63 6f 6e 73 74 72 75 63 owing.can.be.a.matching.construc
6f820 74 20 61 6e 64 20 6e 6f 74 20 6e 65 63 65 73 73 61 72 69 6c 79 20 61 0a 73 79 6d 62 6f 6c 2f 76 t.and.not.necessarily.a.symbol/v
6f840 61 72 69 61 62 6c 65 2e 0a 0a 53 79 6d 62 6f 6c 3a 0a 0a 20 20 20 20 61 20 2d 20 62 69 6e 64 20 ariable...Symbol:......a.-.bind.
6f860 74 68 65 20 60 73 6f 75 72 63 65 60 20 74 6f 20 60 61 60 2e 20 20 54 68 69 73 20 69 73 20 6a 75 the.`source`.to.`a`...This.is.ju
6f880 73 74 20 6c 69 6b 65 20 72 65 67 75 6c 61 72 20 60 6c 65 74 60 2e 0a 0a 43 6f 6e 73 65 73 20 61 st.like.regular.`let`...Conses.a
6f8a0 6e 64 20 6c 69 73 74 73 3a 0a 0a 20 20 20 20 28 61 29 20 2d 20 62 69 6e 64 20 60 63 61 72 60 20 nd.lists:......(a).-.bind.`car`.
6f8c0 6f 66 20 63 6f 6e 73 2f 6c 69 73 74 20 74 6f 20 60 61 60 0a 0a 20 20 20 20 28 61 20 2e 20 62 29 of.cons/list.to.`a`......(a...b)
6f8e0 20 2d 20 62 69 6e 64 20 63 61 72 20 6f 66 20 63 6f 6e 73 20 74 6f 20 60 61 60 20 61 6e 64 20 60 .-.bind.car.of.cons.to.`a`.and.`
6f900 63 64 72 60 20 74 6f 20 60 62 60 0a 0a 20 20 20 20 28 61 20 62 29 20 2d 20 62 69 6e 64 20 63 61 cdr`.to.`b`......(a.b).-.bind.ca
6f920 72 20 6f 66 20 6c 69 73 74 20 74 6f 20 60 61 60 20 61 6e 64 20 60 63 61 64 72 60 20 74 6f 20 60 r.of.list.to.`a`.and.`cadr`.to.`
6f940 62 60 0a 0a 20 20 20 20 28 61 31 20 61 32 20 61 33 20 2e 2e 2e 29 20 2d 20 62 69 6e 64 20 30 74 b`......(a1.a2.a3....).-.bind.0t
6f960 68 20 63 61 72 20 6f 66 20 6c 69 73 74 20 74 6f 20 60 61 31 60 2c 20 31 73 74 20 74 6f 20 60 61 h.car.of.list.to.`a1`,.1st.to.`a
6f980 32 60 2c 20 32 6e 64 20 74 6f 20 60 61 33 60 2e 2e 2e 0a 0a 20 20 20 20 28 61 31 20 61 32 20 61 2`,.2nd.to.`a3`.........(a1.a2.a
6f9a0 33 20 2e 2e 2e 20 61 4e 20 2e 20 72 65 73 74 29 20 2d 20 61 73 20 61 62 6f 76 65 2c 20 62 75 74 3.....aN...rest).-.as.above,.but
6f9c0 20 62 69 6e 64 20 74 68 65 20 60 6e 60 74 68 20 63 64 72 20 74 6f 20 60 72 65 73 74 60 2e 0a 0a .bind.the.`n`th.cdr.to.`rest`...
6f9e0 56 65 63 74 6f 72 73 3a 0a 0a 20 20 20 20 5b 61 5d 20 2d 20 62 69 6e 64 20 30 74 68 20 65 6c 65 Vectors:......[a].-.bind.0th.ele
6fa00 6d 65 6e 74 20 6f 66 20 61 20 6e 6f 6e 2d 6c 69 73 74 20 73 65 71 75 65 6e 63 65 20 74 6f 20 60 ment.of.a.non-list.sequence.to.`
6fa20 61 60 20 28 77 6f 72 6b 73 20 77 69 74 68 0a 20 20 20 20 20 20 20 20 20 20 76 65 63 74 6f 72 73 a`.(works.with...........vectors
6fa40 2c 20 73 74 72 69 6e 67 73 2c 20 62 69 74 20 61 72 72 61 79 73 2e 2e 2e 29 0a 0a 20 20 20 20 5b ,.strings,.bit.arrays...)......[
6fa60 61 31 20 61 32 20 61 33 20 2e 2e 2e 5d 20 2d 20 62 69 6e 64 20 30 74 68 20 65 6c 65 6d 65 6e 74 a1.a2.a3....].-.bind.0th.element
6fa80 20 6f 66 20 6e 6f 6e 2d 6c 69 73 74 20 73 65 71 75 65 6e 63 65 20 74 6f 20 60 61 30 60 2c 20 31 .of.non-list.sequence.to.`a0`,.1
6faa0 73 74 20 74 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 61 31 60 2c st.to......................`a1`,
6fac0 20 32 6e 64 20 74 6f 20 60 61 32 60 2c 20 2e 2e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .2nd.to.`a2`,...................
6fae0 20 20 20 20 20 20 20 49 66 20 74 68 65 20 60 70 61 74 74 65 72 6e 60 20 69 73 20 73 68 6f 72 74 .......If.the.`pattern`.is.short
6fb00 65 72 20 74 68 61 6e 20 60 73 6f 75 72 63 65 60 2c 20 74 68 65 20 76 61 6c 75 65 73 20 61 74 0a er.than.`source`,.the.values.at.
6fb20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 6c 61 63 65 73 20 6e 6f 74 20 .....................places.not.
6fb40 69 6e 20 60 70 61 74 74 65 72 6e 60 20 61 72 65 20 69 67 6e 6f 72 65 64 2e 0a 20 20 20 20 20 20 in.`pattern`.are.ignored........
6fb60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 66 20 74 68 65 20 60 70 61 74 74 65 72 6e 60 20 ...............If.the.`pattern`.
6fb80 69 73 20 6c 6f 6e 67 65 72 20 74 68 61 6e 20 60 73 6f 75 72 63 65 60 2c 20 61 6e 20 60 65 72 72 is.longer.than.`source`,.an.`err
6fba0 6f 72 60 20 69 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 6f or`.is......................thro
6fbc0 77 6e 2e 0a 0a 20 20 20 20 5b 61 31 20 61 32 20 61 33 20 2e 2e 2e 20 26 72 65 73 74 20 72 65 73 wn.......[a1.a2.a3.....&rest.res
6fbe0 74 5d 20 2d 20 61 73 20 61 62 6f 76 65 2c 20 62 75 74 20 62 69 6e 64 20 74 68 65 20 72 65 73 74 t].-.as.above,.but.bind.the.rest
6fc00 20 6f 66 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 .of.............................
6fc20 20 20 20 20 74 68 65 20 73 65 71 75 65 6e 63 65 20 74 6f 20 60 72 65 73 74 60 2e 20 20 54 68 69 ....the.sequence.to.`rest`...Thi
6fc40 73 20 69 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 s.is............................
6fc60 20 20 20 20 20 63 6f 6e 63 65 70 74 75 61 6c 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 69 6d .....conceptually.the.same.as.im
6fc80 70 72 6f 70 65 72 20 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 proper.list.....................
6fca0 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 74 63 68 69 6e 67 20 28 61 31 20 61 32 20 2e 2e 2e 20 ............matching.(a1.a2.....
6fcc0 61 4e 20 2e 20 72 65 73 74 29 0a 0a 4b 65 79 2f 76 61 6c 75 65 20 73 74 6f 72 65 73 3a 0a 0a 20 aN...rest)..Key/value.stores:...
6fce0 20 20 20 28 26 70 6c 69 73 74 20 6b 65 79 30 20 61 30 20 2e 2e 2e 20 6b 65 79 4e 20 61 4e 29 20 ...(&plist.key0.a0.....keyN.aN).
6fd00 2d 20 62 69 6e 64 20 76 61 6c 75 65 20 6d 61 70 70 65 64 20 62 79 20 6b 65 79 4b 20 69 6e 20 74 -.bind.value.mapped.by.keyK.in.t
6fd20 68 65 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 he..............................
6fd40 20 20 20 20 20 20 60 73 6f 75 72 63 65 60 20 70 6c 69 73 74 20 74 6f 20 61 4b 2e 20 20 49 66 20 ......`source`.plist.to.aK...If.
6fd60 74 68 65 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 the.............................
6fd80 20 20 20 20 20 20 20 76 61 6c 75 65 20 69 73 20 6e 6f 74 20 66 6f 75 6e 64 2c 20 61 4b 20 69 73 .......value.is.not.found,.aK.is
6fda0 20 6e 69 6c 2e 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 .nil............................
6fdc0 20 20 20 20 20 20 20 20 20 55 73 65 73 20 60 70 6c 69 73 74 2d 67 65 74 60 20 74 6f 20 66 65 74 .........Uses.`plist-get`.to.fet
6fde0 63 68 20 76 61 6c 75 65 73 2e 0a 0a 20 20 20 20 28 26 61 6c 69 73 74 20 6b 65 79 30 20 61 30 20 ch.values.......(&alist.key0.a0.
6fe00 2e 2e 2e 20 6b 65 79 4e 20 61 4e 29 20 2d 20 62 69 6e 64 20 76 61 6c 75 65 20 6d 61 70 70 65 64 ....keyN.aN).-.bind.value.mapped
6fe20 20 62 79 20 6b 65 79 4b 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .by.keyK.in.the.................
6fe40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 73 6f 75 72 63 65 60 20 61 6c 69 73 ...................`source`.alis
6fe60 74 20 74 6f 20 61 4b 2e 20 20 49 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t.to.aK...If.the................
6fe80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 20 69 73 20 6e 6f 74 ....................value.is.not
6fea0 20 66 6f 75 6e 64 2c 20 61 4b 20 69 73 20 6e 69 6c 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .found,.aK.is.nil...............
6fec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 55 73 65 73 20 60 61 73 73 6f ......................Uses.`asso
6fee0 63 60 20 74 6f 20 66 65 74 63 68 20 76 61 6c 75 65 73 2e 0a 0a 20 20 20 20 28 26 68 61 73 68 20 c`.to.fetch.values.......(&hash.
6ff00 6b 65 79 30 20 61 30 20 2e 2e 2e 20 6b 65 79 4e 20 61 4e 29 20 2d 20 62 69 6e 64 20 76 61 6c 75 key0.a0.....keyN.aN).-.bind.valu
6ff20 65 20 6d 61 70 70 65 64 20 62 79 20 6b 65 79 4b 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 e.mapped.by.keyK.in.the.........
6ff40 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 60 73 6f 75 72 63 ..........................`sourc
6ff60 65 60 20 68 61 73 68 20 74 61 62 6c 65 20 74 6f 20 61 4b 2e 20 20 49 66 20 74 68 65 0a 20 20 20 e`.hash.table.to.aK...If.the....
6ff80 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 76 ...............................v
6ffa0 61 6c 75 65 20 69 73 20 6e 6f 74 20 66 6f 75 6e 64 2c 20 61 4b 20 69 73 20 6e 69 6c 2e 0a 20 20 alue.is.not.found,.aK.is.nil....
6ffc0 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 ................................
6ffe0 55 73 65 73 20 60 67 65 74 68 61 73 68 60 20 74 6f 20 66 65 74 63 68 20 76 61 6c 75 65 73 2e 0a Uses.`gethash`.to.fetch.values..
70000 0a 46 75 72 74 68 65 72 2c 20 73 70 65 63 69 61 6c 20 6b 65 79 77 6f 72 64 20 26 6b 65 79 73 20 .Further,.special.keyword.&keys.
70020 73 75 70 70 6f 72 74 73 20 22 69 6e 6c 69 6e 65 22 20 6d 61 74 63 68 69 6e 67 20 6f 66 0a 70 6c supports."inline".matching.of.pl
70040 69 73 74 2d 6c 69 6b 65 20 6b 65 79 2d 76 61 6c 75 65 20 70 61 69 72 73 2c 20 73 69 6d 69 6c 61 ist-like.key-value.pairs,.simila
70060 72 6c 79 20 74 6f 20 26 6b 65 79 73 20 6b 65 79 77 6f 72 64 20 6f 66 0a 60 63 6c 2d 64 65 66 75 rly.to.&keys.keyword.of.`cl-defu
70080 6e 60 2e 0a 0a 20 20 20 20 28 61 31 20 61 32 20 2e 2e 2e 20 61 4e 20 26 6b 65 79 73 20 6b 65 79 n`.......(a1.a2.....aN.&keys.key
700a0 31 20 62 31 20 2e 2e 2e 20 6b 65 79 4e 20 62 4b 29 0a 0a 54 68 69 73 20 62 69 6e 64 73 20 60 6e 1.b1.....keyN.bK)..This.binds.`n
700c0 60 20 76 61 6c 75 65 73 20 66 72 6f 6d 20 74 68 65 20 6c 69 73 74 20 74 6f 20 61 31 20 2e 2e 2e `.values.from.the.list.to.a1....
700e0 20 61 4e 2c 20 74 68 65 6e 20 69 6e 74 65 72 70 72 65 74 73 0a 74 68 65 20 63 64 72 20 61 73 20 .aN,.then.interprets.the.cdr.as.
70100 61 20 70 6c 69 73 74 20 28 73 65 65 20 6b 65 79 2f 76 61 6c 75 65 20 6d 61 74 63 68 69 6e 67 20 a.plist.(see.key/value.matching.
70120 61 62 6f 76 65 29 2e 0a 0a 60 61 60 20 73 68 6f 72 74 68 61 6e 64 20 6e 6f 74 61 74 69 6f 6e 20 above)...`a`.shorthand.notation.
70140 66 6f 72 20 6b 76 2d 64 65 73 74 72 75 63 74 75 72 69 6e 67 20 65 78 69 73 74 73 20 77 68 69 63 for.kv-destructuring.exists.whic
70160 68 20 61 6c 6c 6f 77 73 20 74 68 65 0a 70 61 74 74 65 72 6e 73 20 62 65 20 6f 70 74 69 6f 6e 61 h.allows.the.patterns.be.optiona
70180 6c 6c 79 20 6c 65 66 74 20 6f 75 74 20 61 6e 64 20 64 65 72 69 76 65 64 20 66 72 6f 6d 20 74 68 lly.left.out.and.derived.from.th
701a0 65 20 6b 65 79 20 6e 61 6d 65 20 69 6e 0a 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 61 73 68 e.key.name.in.the.following.fash
701c0 69 6f 6e 3a 0a 0a 2d 20 61 20 6b 65 79 20 3a 66 6f 6f 20 69 73 20 63 6f 6e 76 65 72 74 65 64 20 ion:..-.a.key.:foo.is.converted.
701e0 69 6e 74 6f 20 60 66 6f 6f 60 20 70 61 74 74 65 72 6e 2c 0a 2d 20 61 20 6b 65 79 20 27 62 61 72 into.`foo`.pattern,.-.a.key.'bar
70200 20 69 73 20 63 6f 6e 76 65 72 74 65 64 20 69 6e 74 6f 20 60 62 61 72 60 20 70 61 74 74 65 72 6e .is.converted.into.`bar`.pattern
70220 2c 0a 2d 20 61 20 6b 65 79 20 22 62 61 7a 22 20 69 73 20 63 6f 6e 76 65 72 74 65 64 20 69 6e 74 ,.-.a.key."baz".is.converted.int
70240 6f 20 60 62 61 7a 60 20 70 61 74 74 65 72 6e 2e 0a 0a 54 68 61 74 20 69 73 2c 20 74 68 65 20 65 o.`baz`.pattern...That.is,.the.e
70260 6e 74 69 72 65 20 76 61 6c 75 65 20 75 6e 64 65 72 20 74 68 65 20 6b 65 79 20 69 73 20 62 6f 75 ntire.value.under.the.key.is.bou
70280 6e 64 20 74 6f 20 74 68 65 20 64 65 72 69 76 65 64 0a 76 61 72 69 61 62 6c 65 20 77 69 74 68 6f nd.to.the.derived.variable.witho
702a0 75 74 20 61 6e 79 20 66 75 72 74 68 65 72 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 2e 0a 0a 54 ut.any.further.destructuring...T
702c0 68 69 73 20 69 73 20 70 6f 73 73 69 62 6c 65 20 6f 6e 6c 79 20 77 68 65 6e 20 74 68 65 20 66 6f his.is.possible.only.when.the.fo
702e0 72 6d 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 68 65 20 6b 65 79 20 69 73 20 6e 6f 74 20 61 0a 76 61 rm.following.the.key.is.not.a.va
70300 6c 69 64 20 70 61 74 74 65 72 6e 20 28 69 2e 65 2e 20 6e 6f 74 20 61 20 73 79 6d 62 6f 6c 2c 20 lid.pattern.(i.e..not.a.symbol,.
70320 61 20 63 6f 6e 73 20 63 65 6c 6c 20 6f 72 20 61 20 76 65 63 74 6f 72 29 2e 0a 4f 74 68 65 72 77 a.cons.cell.or.a.vector)..Otherw
70340 69 73 65 20 74 68 65 20 6d 61 74 63 68 69 6e 67 20 70 72 6f 63 65 65 64 73 20 61 73 20 75 73 75 ise.the.matching.proceeds.as.usu
70360 61 6c 20 61 6e 64 20 69 6e 20 63 61 73 65 20 6f 66 20 61 6e 0a 69 6e 76 61 6c 69 64 20 73 70 65 al.and.in.case.of.an.invalid.spe
70380 63 20 66 61 69 6c 73 20 77 69 74 68 20 61 6e 20 65 72 72 6f 72 2e 0a 0a 54 68 75 73 20 74 68 65 c.fails.with.an.error...Thus.the
703a0 20 70 61 74 74 65 72 6e 73 20 61 72 65 20 6e 6f 72 6d 61 6c 69 7a 65 64 20 61 73 20 66 6f 6c 6c .patterns.are.normalized.as.foll
703c0 6f 77 73 3a 0a 0a 20 20 20 20 20 3b 3b 20 64 65 72 69 76 65 20 61 6c 6c 20 74 68 65 20 6d 69 73 ows:.......;;.derive.all.the.mis
703e0 73 69 6e 67 20 70 61 74 74 65 72 6e 73 0a 20 20 20 20 20 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 sing.patterns......(&plist.:foo.
70400 27 62 61 72 20 22 62 61 7a 22 29 20 3d 3e 20 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 66 6f 6f 20 'bar."baz").=>.(&plist.:foo.foo.
70420 27 62 61 72 20 62 61 72 20 22 62 61 7a 22 20 62 61 7a 29 0a 0a 20 20 20 20 20 3b 3b 20 77 65 20 'bar.bar."baz".baz).......;;.we.
70440 63 61 6e 20 73 70 65 63 69 66 79 20 73 6f 6d 65 20 62 75 74 20 6e 6f 74 20 6f 74 68 65 72 73 0a can.specify.some.but.not.others.
70460 20 20 20 20 20 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 27 62 61 72 20 65 78 70 6c 69 63 69 74 2d .....(&plist.:foo.'bar.explicit-
70480 62 61 72 29 20 3d 3e 20 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 66 6f 6f 20 27 62 61 72 20 65 78 bar).=>.(&plist.:foo.foo.'bar.ex
704a0 70 6c 69 63 69 74 2d 62 61 72 29 0a 0a 20 20 20 20 20 3b 3b 20 6e 6f 74 68 69 6e 67 20 68 61 70 plicit-bar).......;;.nothing.hap
704c0 70 65 6e 73 2c 20 77 65 20 73 74 6f 72 65 20 3a 66 6f 6f 20 69 6e 20 78 0a 20 20 20 20 20 28 26 pens,.we.store.:foo.in.x......(&
704e0 70 6c 69 73 74 20 3a 66 6f 6f 20 78 29 20 3d 3e 20 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 78 29 plist.:foo.x).=>.(&plist.:foo.x)
70500 0a 0a 20 20 20 20 20 3b 3b 20 6e 6f 74 68 69 6e 67 20 68 61 70 70 65 6e 73 2c 20 77 65 20 6d 61 .......;;.nothing.happens,.we.ma
70520 74 63 68 20 72 65 63 75 72 73 69 76 65 6c 79 0a 20 20 20 20 20 28 26 70 6c 69 73 74 20 3a 66 6f tch.recursively......(&plist.:fo
70540 6f 20 28 61 20 62 20 63 29 29 20 3d 3e 20 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 28 61 20 62 20 o.(a.b.c)).=>.(&plist.:foo.(a.b.
70560 63 29 29 0a 0a 59 6f 75 20 63 61 6e 20 6e 61 6d 65 20 74 68 65 20 73 6f 75 72 63 65 20 75 73 69 c))..You.can.name.the.source.usi
70580 6e 67 20 74 68 65 20 73 79 6e 74 61 78 20 60 73 79 6d 62 6f 6c 60 20 26 61 73 20 60 70 61 74 74 ng.the.syntax.`symbol`.&as.`patt
705a0 65 72 6e 60 2e 0a 54 68 69 73 20 73 79 6e 74 61 78 20 77 6f 72 6b 73 20 77 69 74 68 20 6c 69 73 ern`..This.syntax.works.with.lis
705c0 74 73 20 28 70 72 6f 70 65 72 20 6f 72 20 69 6d 70 72 6f 70 65 72 29 2c 20 76 65 63 74 6f 72 73 ts.(proper.or.improper),.vectors
705e0 20 61 6e 64 0a 61 6c 6c 20 74 79 70 65 73 20 6f 66 20 6d 61 70 73 2e 0a 0a 20 20 20 20 28 6c 69 .and.all.types.of.maps.......(li
70600 73 74 20 26 61 73 20 61 20 62 20 63 29 20 28 6c 69 73 74 20 31 20 32 20 33 29 0a 0a 62 69 6e 64 st.&as.a.b.c).(list.1.2.3)..bind
70620 73 20 60 61 60 20 74 6f 20 31 2c 20 60 62 60 20 74 6f 20 32 2c 20 60 63 60 20 74 6f 20 33 20 61 s.`a`.to.1,.`b`.to.2,.`c`.to.3.a
70640 6e 64 20 60 6c 69 73 74 60 20 74 6f 20 28 31 20 32 20 33 29 2e 0a 0a 53 69 6d 69 6c 61 72 6c 79 nd.`list`.to.(1.2.3)...Similarly
70660 3a 0a 0a 20 20 20 20 28 62 6f 75 6e 64 73 20 26 61 73 20 62 65 67 20 2e 20 65 6e 64 29 20 28 63 :......(bounds.&as.beg...end).(c
70680 6f 6e 73 20 31 20 32 29 0a 0a 62 69 6e 64 73 20 60 62 65 67 60 20 74 6f 20 31 2c 20 60 65 6e 64 ons.1.2)..binds.`beg`.to.1,.`end
706a0 60 20 74 6f 20 32 20 61 6e 64 20 60 62 6f 75 6e 64 73 60 20 74 6f 20 28 31 20 2e 20 32 29 2e 0a `.to.2.and.`bounds`.to.(1...2)..
706c0 0a 20 20 20 20 28 69 74 65 6d 73 20 26 61 73 20 66 69 72 73 74 20 2e 20 72 65 73 74 29 20 28 6c .....(items.&as.first...rest).(l
706e0 69 73 74 20 31 20 32 20 33 29 0a 0a 62 69 6e 64 73 20 60 66 69 72 73 74 60 20 74 6f 20 31 2c 20 ist.1.2.3)..binds.`first`.to.1,.
70700 60 72 65 73 74 60 20 74 6f 20 28 32 20 33 29 20 61 6e 64 20 60 69 74 65 6d 73 60 20 74 6f 20 28 `rest`.to.(2.3).and.`items`.to.(
70720 31 20 32 20 33 29 0a 0a 20 20 20 20 5b 76 65 63 74 20 26 61 73 20 5f 20 62 20 63 5d 20 5b 31 20 1.2.3)......[vect.&as._.b.c].[1.
70740 32 20 33 5d 0a 0a 62 69 6e 64 73 20 60 62 60 20 74 6f 20 32 2c 20 60 63 60 20 74 6f 20 33 20 61 2.3]..binds.`b`.to.2,.`c`.to.3.a
70760 6e 64 20 60 76 65 63 74 60 20 74 6f 20 5b 31 20 32 20 33 5d 20 28 5f 20 61 76 6f 69 64 73 20 62 nd.`vect`.to.[1.2.3].(_.avoids.b
70780 69 6e 64 69 6e 67 20 61 73 20 75 73 75 61 6c 29 2e 0a 0a 20 20 20 20 28 70 6c 69 73 74 20 26 61 inding.as.usual).......(plist.&a
707a0 73 20 26 70 6c 69 73 74 20 3a 62 20 62 29 20 28 6c 69 73 74 20 3a 61 20 31 20 3a 62 20 32 20 3a s.&plist.:b.b).(list.:a.1.:b.2.:
707c0 63 20 33 29 0a 0a 62 69 6e 64 73 20 60 62 60 20 74 6f 20 32 20 61 6e 64 20 60 70 6c 69 73 74 60 c.3)..binds.`b`.to.2.and.`plist`
707e0 20 74 6f 20 28 3a 61 20 31 20 3a 62 20 32 20 3a 63 20 33 29 2e 20 20 53 61 6d 65 20 66 6f 72 20 .to.(:a.1.:b.2.:c.3)...Same.for.
70800 26 61 6c 69 73 74 20 61 6e 64 20 26 68 61 73 68 2e 0a 0a 54 68 69 73 20 69 73 20 65 73 70 65 63 &alist.and.&hash...This.is.espec
70820 69 61 6c 6c 79 20 75 73 65 66 75 6c 20 77 68 65 6e 20 77 65 20 77 61 6e 74 20 74 6f 20 63 61 70 ially.useful.when.we.want.to.cap
70840 74 75 72 65 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 61 0a 63 6f 6d 70 75 74 61 74 69 6f 6e ture.the.result.of.a.computation
70860 20 61 6e 64 20 64 65 73 74 72 75 63 74 75 72 65 20 61 74 20 74 68 65 20 73 61 6d 65 20 74 69 6d .and.destructure.at.the.same.tim
70880 65 2e 20 20 43 6f 6e 73 69 64 65 72 20 74 68 65 0a 66 6f 72 6d 20 28 66 75 6e 63 74 69 6f 6e 2d e...Consider.the.form.(function-
708a0 72 65 74 75 72 6e 69 6e 67 2d 63 6f 6d 70 6c 65 78 2d 73 74 72 75 63 74 75 72 65 29 20 72 65 74 returning-complex-structure).ret
708c0 75 72 6e 69 6e 67 20 61 20 6c 69 73 74 20 6f 66 0a 74 77 6f 20 76 65 63 74 6f 72 73 20 77 69 74 urning.a.list.of.two.vectors.wit
708e0 68 20 74 77 6f 20 69 74 65 6d 73 20 65 61 63 68 2e 20 20 57 65 20 77 61 6e 74 20 74 6f 20 63 61 h.two.items.each...We.want.to.ca
70900 70 74 75 72 65 20 74 68 69 73 20 65 6e 74 69 72 65 0a 72 65 73 75 6c 74 20 61 6e 64 20 70 61 73 pture.this.entire.result.and.pas
70920 73 20 69 74 20 74 6f 20 61 6e 6f 74 68 65 72 20 63 6f 6d 70 75 74 61 74 69 6f 6e 2c 20 62 75 74 s.it.to.another.computation,.but
70940 20 61 74 20 74 68 65 20 73 61 6d 65 20 74 69 6d 65 0a 77 65 20 77 61 6e 74 20 74 6f 20 67 65 74 .at.the.same.time.we.want.to.get
70960 20 74 68 65 20 73 65 63 6f 6e 64 20 69 74 65 6d 20 66 72 6f 6d 20 65 61 63 68 20 76 65 63 74 6f .the.second.item.from.each.vecto
70980 72 2e 20 20 57 65 20 63 61 6e 20 61 63 68 69 65 76 65 0a 69 74 20 77 69 74 68 20 70 61 74 74 65 r...We.can.achieve.it.with.patte
709a0 72 6e 0a 0a 20 20 20 20 28 72 65 73 75 6c 74 20 26 61 73 20 5b 5f 20 61 5d 20 5b 5f 20 62 5d 29 rn......(result.&as.[_.a].[_.b])
709c0 20 28 66 75 6e 63 74 69 6f 6e 2d 72 65 74 75 72 6e 69 6e 67 2d 63 6f 6d 70 6c 65 78 2d 73 74 72 .(function-returning-complex-str
709e0 75 63 74 75 72 65 29 0a 0a 4e 6f 74 65 3a 20 43 6c 6f 6a 75 72 65 20 70 72 6f 67 72 61 6d 6d 65 ucture)..Note:.Clojure.programme
70a00 72 73 20 6d 61 79 20 6b 6e 6f 77 20 74 68 69 73 20 66 65 61 74 75 72 65 20 61 73 20 74 68 65 20 rs.may.know.this.feature.as.the.
70a20 22 3a 61 73 0a 62 69 6e 64 69 6e 67 22 2e 20 20 54 68 65 20 64 69 66 66 65 72 65 6e 63 65 20 69 ":as.binding"...The.difference.i
70a40 73 20 74 68 61 74 20 77 65 20 70 75 74 20 74 68 65 20 26 61 73 20 61 74 20 74 68 65 20 66 72 6f s.that.we.put.the.&as.at.the.fro
70a60 6e 74 0a 62 65 63 61 75 73 65 20 77 65 20 6e 65 65 64 20 74 6f 20 73 75 70 70 6f 72 74 20 69 6d nt.because.we.need.to.support.im
70a80 70 72 6f 70 65 72 20 6c 69 73 74 20 62 69 6e 64 69 6e 67 2e 0a 0a 60 60 60 65 6c 0a 28 2d 6c 65 proper.list.binding...```el.(-le
70aa0 74 20 28 28 5b 61 20 28 62 20 63 29 20 64 5d 20 5b 31 20 28 32 20 33 29 20 34 5d 29 29 20 28 6c t.(([a.(b.c).d].[1.(2.3).4])).(l
70ac0 69 73 74 20 61 20 62 20 63 20 64 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 20 34 29 0a 28 2d ist.a.b.c.d)).;;.=>.(1.2.3.4).(-
70ae0 6c 65 74 20 5b 28 61 20 62 20 63 20 2e 20 64 29 20 28 6c 69 73 74 20 31 20 32 20 33 20 34 20 35 let.[(a.b.c...d).(list.1.2.3.4.5
70b00 20 36 29 5d 20 28 6c 69 73 74 20 61 20 62 20 63 20 64 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 .6)].(list.a.b.c.d)).;;.=>.(1.2.
70b20 33 20 28 34 20 35 20 36 29 29 0a 28 2d 6c 65 74 20 5b 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 66 3.(4.5.6)).(-let.[(&plist.:foo.f
70b40 6f 6f 20 3a 62 61 72 20 62 61 72 29 20 28 6c 69 73 74 20 3a 62 61 7a 20 33 20 3a 66 6f 6f 20 31 oo.:bar.bar).(list.:baz.3.:foo.1
70b60 20 3a 71 75 78 20 34 20 3a 62 61 72 20 32 29 5d 20 28 6c 69 73 74 20 66 6f 6f 20 62 61 72 29 29 .:qux.4.:bar.2)].(list.foo.bar))
70b80 20 3b 3b 20 3d 3e 20 28 31 20 32 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 6c 65 74 2a 20 60 28 76 .;;.=>.(1.2).```..####.-let*.`(v
70ba0 61 72 6c 69 73 74 20 26 72 65 73 74 20 62 6f 64 79 29 60 0a 0a 42 69 6e 64 20 76 61 72 69 61 62 arlist.&rest.body)`..Bind.variab
70bc0 6c 65 73 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 60 76 61 72 6c 69 73 74 60 20 74 68 65 6e 20 les.according.to.`varlist`.then.
70be0 65 76 61 6c 20 60 62 6f 64 79 60 2e 0a 0a 60 76 61 72 6c 69 73 74 60 20 69 73 20 61 20 6c 69 73 eval.`body`...`varlist`.is.a.lis
70c00 74 20 6f 66 20 6c 69 73 74 73 20 6f 66 20 74 68 65 20 66 6f 72 6d 20 28 60 70 61 74 74 65 72 6e t.of.lists.of.the.form.(`pattern
70c20 60 20 60 73 6f 75 72 63 65 60 29 2e 20 20 45 61 63 68 0a 60 70 61 74 74 65 72 6e 60 20 69 73 20 `.`source`)...Each.`pattern`.is.
70c40 6d 61 74 63 68 65 64 20 61 67 61 69 6e 73 74 20 74 68 65 20 60 73 6f 75 72 63 65 60 20 73 74 72 matched.against.the.`source`.str
70c60 75 63 74 75 72 61 6c 6c 79 2e 20 20 60 73 6f 75 72 63 65 60 20 69 73 0a 6f 6e 6c 79 20 65 76 61 ucturally...`source`.is.only.eva
70c80 6c 75 61 74 65 64 20 6f 6e 63 65 20 66 6f 72 20 65 61 63 68 20 60 70 61 74 74 65 72 6e 60 2e 0a luated.once.for.each.`pattern`..
70ca0 0a 45 61 63 68 20 60 73 6f 75 72 63 65 60 20 63 61 6e 20 72 65 66 65 72 20 74 6f 20 74 68 65 20 .Each.`source`.can.refer.to.the.
70cc0 73 79 6d 62 6f 6c 73 20 61 6c 72 65 61 64 79 20 62 6f 75 6e 64 20 62 79 20 74 68 69 73 0a 60 76 symbols.already.bound.by.this.`v
70ce0 61 72 6c 69 73 74 60 2e 20 20 54 68 69 73 20 69 73 20 75 73 65 66 75 6c 20 69 66 20 79 6f 75 20 arlist`...This.is.useful.if.you.
70d00 77 61 6e 74 20 74 6f 20 64 65 73 74 72 75 63 74 75 72 65 20 60 73 6f 75 72 63 65 60 0a 72 65 63 want.to.destructure.`source`.rec
70d20 75 72 73 69 76 65 6c 79 20 62 75 74 20 61 6c 73 6f 20 77 61 6e 74 20 74 6f 20 6e 61 6d 65 20 74 ursively.but.also.want.to.name.t
70d40 68 65 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 73 74 72 75 63 74 75 72 65 73 2e 0a 0a 53 65 65 he.intermediate.structures...See
70d60 20 5b 60 2d 6c 65 74 60 5d 28 23 2d 6c 65 74 2d 76 61 72 6c 69 73 74 2d 72 65 73 74 2d 62 6f 64 .[`-let`](#-let-varlist-rest-bod
70d80 79 29 20 66 6f 72 20 74 68 65 20 6c 69 73 74 20 6f 66 20 61 6c 6c 20 70 6f 73 73 69 62 6c 65 20 y).for.the.list.of.all.possible.
70da0 70 61 74 74 65 72 6e 73 2e 0a 0a 60 60 60 65 6c 0a 28 2d 6c 65 74 2a 20 28 28 28 61 20 2e 20 62 patterns...```el.(-let*.(((a...b
70dc0 29 20 28 63 6f 6e 73 20 31 20 32 29 29 20 28 28 63 20 2e 20 64 29 20 28 63 6f 6e 73 20 33 20 34 ).(cons.1.2)).((c...d).(cons.3.4
70de0 29 29 29 20 28 6c 69 73 74 20 61 20 62 20 63 20 64 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 ))).(list.a.b.c.d)).;;.=>.(1.2.3
70e00 20 34 29 0a 28 2d 6c 65 74 2a 20 28 28 28 61 20 2e 20 62 29 20 28 63 6f 6e 73 20 31 20 28 63 6f .4).(-let*.(((a...b).(cons.1.(co
70e20 6e 73 20 32 20 33 29 29 29 20 28 28 63 20 2e 20 64 29 20 62 29 29 20 28 6c 69 73 74 20 61 20 62 ns.2.3))).((c...d).b)).(list.a.b
70e40 20 63 20 64 29 29 20 3b 3b 20 3d 3e 20 28 31 20 28 32 20 2e 20 33 29 20 32 20 33 29 0a 28 2d 6c .c.d)).;;.=>.(1.(2...3).2.3).(-l
70e60 65 74 2a 20 28 28 28 26 61 6c 69 73 74 20 22 66 6f 6f 22 20 66 6f 6f 20 22 62 61 72 22 20 62 61 et*.(((&alist."foo".foo."bar".ba
70e80 72 29 20 28 6c 69 73 74 20 28 63 6f 6e 73 20 22 66 6f 6f 22 20 31 29 20 28 63 6f 6e 73 20 22 62 r).(list.(cons."foo".1).(cons."b
70ea0 61 72 22 20 28 6c 69 73 74 20 27 61 20 27 62 20 27 63 29 29 29 29 20 28 28 61 20 62 20 63 29 20 ar".(list.'a.'b.'c)))).((a.b.c).
70ec0 62 61 72 29 29 20 28 6c 69 73 74 20 66 6f 6f 20 61 20 62 20 63 20 62 61 72 29 29 20 3b 3b 20 3d bar)).(list.foo.a.b.c.bar)).;;.=
70ee0 3e 20 28 31 20 61 20 62 20 63 20 28 61 20 62 20 63 29 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 6c >.(1.a.b.c.(a.b.c)).```..####.-l
70f00 61 6d 62 64 61 20 60 28 6d 61 74 63 68 2d 66 6f 72 6d 20 26 72 65 73 74 20 62 6f 64 79 29 60 0a ambda.`(match-form.&rest.body)`.
70f20 0a 52 65 74 75 72 6e 20 61 20 6c 61 6d 62 64 61 20 77 68 69 63 68 20 64 65 73 74 72 75 63 74 75 .Return.a.lambda.which.destructu
70f40 72 65 73 20 69 74 73 20 69 6e 70 75 74 20 61 73 20 60 6d 61 74 63 68 2d 66 6f 72 6d 60 20 61 6e res.its.input.as.`match-form`.an
70f60 64 20 65 78 65 63 75 74 65 73 20 60 62 6f 64 79 60 2e 0a 0a 4e 6f 74 65 20 74 68 61 74 20 79 6f d.executes.`body`...Note.that.yo
70f80 75 20 68 61 76 65 20 74 6f 20 65 6e 63 6c 6f 73 65 20 74 68 65 20 60 6d 61 74 63 68 2d 66 6f 72 u.have.to.enclose.the.`match-for
70fa0 6d 60 20 69 6e 20 61 20 70 61 69 72 20 6f 66 20 70 61 72 65 6e 73 2c 0a 73 75 63 68 20 74 68 61 m`.in.a.pair.of.parens,.such.tha
70fc0 74 3a 0a 0a 20 20 20 20 28 2d 6c 61 6d 62 64 61 20 28 78 29 20 62 6f 64 79 29 0a 20 20 20 20 28 t:......(-lambda.(x).body).....(
70fe0 2d 6c 61 6d 62 64 61 20 28 78 20 79 20 2e 2e 2e 29 20 62 6f 64 79 29 0a 0a 68 61 73 20 74 68 65 -lambda.(x.y....).body)..has.the
71000 20 75 73 75 61 6c 20 73 65 6d 61 6e 74 69 63 73 20 6f 66 20 60 6c 61 6d 62 64 61 60 2e 20 20 46 .usual.semantics.of.`lambda`...F
71020 75 72 74 68 65 72 6d 6f 72 65 2c 20 74 68 65 73 65 20 67 65 74 0a 74 72 61 6e 73 6c 61 74 65 64 urthermore,.these.get.translated
71040 20 69 6e 74 6f 20 6e 6f 72 6d 61 6c 20 60 6c 61 6d 62 64 61 60 2c 20 73 6f 20 74 68 65 72 65 20 .into.normal.`lambda`,.so.there.
71060 69 73 20 6e 6f 20 70 65 72 66 6f 72 6d 61 6e 63 65 0a 70 65 6e 61 6c 74 79 2e 0a 0a 53 65 65 20 is.no.performance.penalty...See.
71080 5b 60 2d 6c 65 74 60 5d 28 23 2d 6c 65 74 2d 76 61 72 6c 69 73 74 2d 72 65 73 74 2d 62 6f 64 79 [`-let`](#-let-varlist-rest-body
710a0 29 20 66 6f 72 20 61 20 64 65 73 63 72 69 70 74 69 6f 6e 20 6f 66 20 74 68 65 20 64 65 73 74 72 ).for.a.description.of.the.destr
710c0 75 63 74 75 72 69 6e 67 20 6d 65 63 68 61 6e 69 73 6d 2e 0a 0a 60 60 60 65 6c 0a 28 2d 6d 61 70 ucturing.mechanism...```el.(-map
710e0 20 28 2d 6c 61 6d 62 64 61 20 28 28 78 20 79 29 29 20 28 2b 20 78 20 79 29 29 20 27 28 28 31 20 .(-lambda.((x.y)).(+.x.y)).'((1.
71100 32 29 20 28 33 20 34 29 20 28 35 20 36 29 29 29 20 3b 3b 20 3d 3e 20 28 33 20 37 20 31 31 29 0a 2).(3.4).(5.6))).;;.=>.(3.7.11).
71120 28 2d 6d 61 70 20 28 2d 6c 61 6d 62 64 61 20 28 5b 78 20 79 5d 29 20 28 2b 20 78 20 79 29 29 20 (-map.(-lambda.([x.y]).(+.x.y)).
71140 27 28 5b 31 20 32 5d 20 5b 33 20 34 5d 20 5b 35 20 36 5d 29 29 20 3b 3b 20 3d 3e 20 28 33 20 37 '([1.2].[3.4].[5.6])).;;.=>.(3.7
71160 20 31 31 29 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 6c 61 6d 62 64 61 20 28 28 5f 20 2e 20 61 29 20 .11).(funcall.(-lambda.((_...a).
71180 28 5f 20 2e 20 62 29 29 20 28 2d 63 6f 6e 63 61 74 20 61 20 62 29 29 20 27 28 31 20 32 20 33 29 (_...b)).(-concat.a.b)).'(1.2.3)
711a0 20 27 28 34 20 35 20 36 29 29 20 3b 3b 20 3d 3e 20 28 32 20 33 20 35 20 36 29 0a 60 60 60 0a 0a .'(4.5.6)).;;.=>.(2.3.5.6).```..
711c0 23 23 23 23 20 2d 73 65 74 71 20 60 28 5b 6d 61 74 63 68 2d 66 6f 72 6d 20 76 61 6c 5d 20 2e 2e ####.-setq.`([match-form.val]...
711e0 2e 29 60 0a 0a 42 69 6e 64 20 65 61 63 68 20 60 6d 61 74 63 68 2d 66 6f 72 6d 60 20 74 6f 20 74 .)`..Bind.each.`match-form`.to.t
71200 68 65 20 76 61 6c 75 65 20 6f 66 20 69 74 73 20 60 76 61 6c 60 2e 0a 0a 60 6d 61 74 63 68 2d 66 he.value.of.its.`val`...`match-f
71220 6f 72 6d 60 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 20 69 73 20 64 6f 6e 65 20 61 63 63 6f 72 orm`.destructuring.is.done.accor
71240 64 69 6e 67 20 74 6f 20 74 68 65 20 72 75 6c 65 73 20 6f 66 20 5b 60 2d 6c 65 74 60 5d 28 23 2d ding.to.the.rules.of.[`-let`](#-
71260 6c 65 74 2d 76 61 72 6c 69 73 74 2d 72 65 73 74 2d 62 6f 64 79 29 2e 0a 0a 54 68 69 73 20 6d 61 let-varlist-rest-body)...This.ma
71280 63 72 6f 20 61 6c 6c 6f 77 73 20 79 6f 75 20 74 6f 20 62 69 6e 64 20 6d 75 6c 74 69 70 6c 65 20 cro.allows.you.to.bind.multiple.
712a0 76 61 72 69 61 62 6c 65 73 20 62 79 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 0a 74 68 65 20 76 variables.by.destructuring.the.v
712c0 61 6c 75 65 2c 20 73 6f 20 66 6f 72 20 65 78 61 6d 70 6c 65 3a 0a 0a 20 20 20 20 28 2d 73 65 74 alue,.so.for.example:......(-set
712e0 71 20 28 61 20 62 29 20 78 0a 20 20 20 20 20 20 20 20 20 20 20 28 26 70 6c 69 73 74 20 3a 63 20 q.(a.b).x............(&plist.:c.
71300 63 29 20 70 6c 69 73 74 29 0a 0a 65 78 70 61 6e 64 73 20 72 6f 75 67 68 6c 79 20 73 70 65 61 6b c).plist)..expands.roughly.speak
71320 69 6e 67 20 74 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 64 65 0a 0a 20 20 20 20 28 ing.to.the.following.code......(
71340 73 65 74 71 20 61 20 28 63 61 72 20 78 29 0a 20 20 20 20 20 20 20 20 20 20 62 20 28 63 61 64 72 setq.a.(car.x)...........b.(cadr
71360 20 78 29 0a 20 20 20 20 20 20 20 20 20 20 63 20 28 70 6c 69 73 74 2d 67 65 74 20 70 6c 69 73 74 .x)...........c.(plist-get.plist
71380 20 3a 63 29 29 0a 0a 43 61 72 65 20 69 73 20 74 61 6b 65 6e 20 74 6f 20 6f 6e 6c 79 20 65 76 61 .:c))..Care.is.taken.to.only.eva
713a0 6c 75 61 74 65 20 65 61 63 68 20 60 76 61 6c 60 20 6f 6e 63 65 20 73 6f 20 74 68 61 74 20 69 6e luate.each.`val`.once.so.that.in
713c0 20 63 61 73 65 20 6f 66 0a 6d 75 6c 74 69 70 6c 65 20 61 73 73 69 67 6e 6d 65 6e 74 73 20 69 74 .case.of.multiple.assignments.it
713e0 20 64 6f 65 73 20 6e 6f 74 20 63 61 75 73 65 20 75 6e 65 78 70 65 63 74 65 64 20 73 69 64 65 20 .does.not.cause.unexpected.side.
71400 65 66 66 65 63 74 73 2e 0a 0a 60 60 60 65 6c 0a 28 6c 65 74 20 28 61 29 20 28 2d 73 65 74 71 20 effects...```el.(let.(a).(-setq.
71420 61 20 31 29 20 61 29 20 3b 3b 20 3d 3e 20 31 0a 28 6c 65 74 20 28 61 20 62 29 20 28 2d 73 65 74 a.1).a).;;.=>.1.(let.(a.b).(-set
71440 71 20 28 61 20 62 29 20 28 6c 69 73 74 20 31 20 32 29 29 20 28 6c 69 73 74 20 61 20 62 29 29 20 q.(a.b).(list.1.2)).(list.a.b)).
71460 3b 3b 20 3d 3e 20 28 31 20 32 29 0a 28 6c 65 74 20 28 63 29 20 28 2d 73 65 74 71 20 28 26 70 6c ;;.=>.(1.2).(let.(c).(-setq.(&pl
71480 69 73 74 20 3a 63 20 63 29 20 28 6c 69 73 74 20 3a 63 20 22 63 22 29 29 20 63 29 20 3b 3b 20 3d ist.:c.c).(list.:c."c")).c).;;.=
714a0 3e 20 22 63 22 0a 60 60 60 0a 0a 23 23 20 53 69 64 65 20 65 66 66 65 63 74 73 0a 0a 46 75 6e 63 >."c".```..##.Side.effects..Func
714c0 74 69 6f 6e 73 20 69 74 65 72 61 74 69 6e 67 20 6f 76 65 72 20 6c 69 73 74 73 20 66 6f 72 20 73 tions.iterating.over.lists.for.s
714e0 69 64 65 20 65 66 66 65 63 74 20 6f 6e 6c 79 2e 0a 0a 23 23 23 23 20 2d 65 61 63 68 20 60 28 6c ide.effect.only...####.-each.`(l
71500 69 73 74 20 66 6e 29 60 0a 0a 43 61 6c 6c 20 60 66 6e 60 20 6f 6e 20 65 61 63 68 20 65 6c 65 6d ist.fn)`..Call.`fn`.on.each.elem
71520 65 6e 74 20 6f 66 20 60 6c 69 73 74 60 2e 0a 52 65 74 75 72 6e 20 6e 69 6c 3b 20 74 68 69 73 20 ent.of.`list`..Return.nil;.this.
71540 66 75 6e 63 74 69 6f 6e 20 69 73 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 20 73 69 64 65 20 65 66 function.is.intended.for.side.ef
71560 66 65 63 74 73 2e 0a 0a 49 74 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 fects...Its.anaphoric.counterpar
71580 74 20 69 73 20 60 2d 2d 65 61 63 68 60 2e 0a 0a 46 6f 72 20 61 63 63 65 73 73 20 74 6f 20 74 68 t.is.`--each`...For.access.to.th
715a0 65 20 63 75 72 72 65 6e 74 20 65 6c 65 6d 65 6e 74 27 73 20 69 6e 64 65 78 20 69 6e 20 60 6c 69 e.current.element's.index.in.`li
715c0 73 74 60 2c 20 73 65 65 0a 5b 60 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 60 5d 28 23 2d 65 61 63 st`,.see.[`-each-indexed`](#-eac
715e0 68 2d 69 6e 64 65 78 65 64 2d 6c 69 73 74 2d 66 6e 29 2e 0a 0a 60 60 60 65 6c 0a 28 6c 65 74 20 h-indexed-list-fn)...```el.(let.
71600 28 6c 29 20 28 2d 65 61 63 68 20 27 28 31 20 32 20 33 29 20 28 6c 61 6d 62 64 61 20 28 78 29 20 (l).(-each.'(1.2.3).(lambda.(x).
71620 28 70 75 73 68 20 78 20 6c 29 29 29 20 6c 29 20 3b 3b 20 3d 3e 20 28 33 20 32 20 31 29 0a 28 6c (push.x.l))).l).;;.=>.(3.2.1).(l
71640 65 74 20 28 6c 29 20 28 2d 2d 65 61 63 68 20 27 28 31 20 32 20 33 29 20 28 70 75 73 68 20 69 74 et.(l).(--each.'(1.2.3).(push.it
71660 20 6c 29 29 20 6c 29 20 3b 3b 20 3d 3e 20 28 33 20 32 20 31 29 0a 28 2d 65 61 63 68 20 27 28 31 .l)).l).;;.=>.(3.2.1).(-each.'(1
71680 20 32 20 33 29 20 23 27 69 64 65 6e 74 69 74 79 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 60 60 60 0a .2.3).#'identity).;;.=>.nil.```.
716a0 0a 23 23 23 23 20 2d 65 61 63 68 2d 77 68 69 6c 65 20 60 28 6c 69 73 74 20 70 72 65 64 20 66 6e .####.-each-while.`(list.pred.fn
716c0 29 60 0a 0a 43 61 6c 6c 20 60 66 6e 60 20 6f 6e 20 65 61 63 68 20 60 69 74 65 6d 60 20 69 6e 20 )`..Call.`fn`.on.each.`item`.in.
716e0 60 6c 69 73 74 60 2c 20 77 68 69 6c 65 20 28 60 70 72 65 64 60 20 60 69 74 65 6d 60 29 20 69 73 `list`,.while.(`pred`.`item`).is
71700 20 6e 6f 6e 2d 6e 69 6c 2e 0a 4f 6e 63 65 20 61 6e 20 60 69 74 65 6d 60 20 69 73 20 72 65 61 63 .non-nil..Once.an.`item`.is.reac
71720 68 65 64 20 66 6f 72 20 77 68 69 63 68 20 60 70 72 65 64 60 20 72 65 74 75 72 6e 73 20 6e 69 6c hed.for.which.`pred`.returns.nil
71740 2c 20 60 66 6e 60 20 69 73 20 6e 6f 0a 6c 6f 6e 67 65 72 20 63 61 6c 6c 65 64 2e 20 20 52 65 74 ,.`fn`.is.no.longer.called...Ret
71760 75 72 6e 20 6e 69 6c 3b 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 69 6e 74 65 6e 64 urn.nil;.this.function.is.intend
71780 65 64 20 66 6f 72 20 73 69 64 65 0a 65 66 66 65 63 74 73 2e 0a 0a 49 74 73 20 61 6e 61 70 68 6f ed.for.side.effects...Its.anapho
717a0 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 65 61 63 68 2d 77 68 69 6c 65 ric.counterpart.is.`--each-while
717c0 60 2e 0a 0a 60 60 60 65 6c 0a 28 6c 65 74 20 28 6c 29 20 28 2d 65 61 63 68 2d 77 68 69 6c 65 20 `...```el.(let.(l).(-each-while.
717e0 27 28 32 20 34 20 35 20 36 29 20 23 27 65 76 65 6e 3f 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 '(2.4.5.6).#'even?.(lambda.(x).(
71800 70 75 73 68 20 78 20 6c 29 29 29 20 6c 29 20 3b 3b 20 3d 3e 20 28 34 20 32 29 0a 28 6c 65 74 20 push.x.l))).l).;;.=>.(4.2).(let.
71820 28 6c 29 20 28 2d 2d 65 61 63 68 2d 77 68 69 6c 65 20 27 28 31 20 32 20 33 20 34 29 20 28 3c 20 (l).(--each-while.'(1.2.3.4).(<.
71840 69 74 20 33 29 20 28 70 75 73 68 20 69 74 20 6c 29 29 20 6c 29 20 3b 3b 20 3d 3e 20 28 32 20 31 it.3).(push.it.l)).l).;;.=>.(2.1
71860 29 0a 28 6c 65 74 20 28 28 73 20 30 29 29 20 28 2d 2d 65 61 63 68 2d 77 68 69 6c 65 20 27 28 31 ).(let.((s.0)).(--each-while.'(1
71880 20 33 20 34 20 35 29 20 28 3c 20 69 74 20 35 29 20 28 73 65 74 71 20 73 20 28 2b 20 73 20 69 74 .3.4.5).(<.it.5).(setq.s.(+.s.it
718a0 29 29 29 20 73 29 20 3b 3b 20 3d 3e 20 38 0a 60 60 60 0a 0a 23 23 23 23 20 2d 65 61 63 68 2d 69 ))).s).;;.=>.8.```..####.-each-i
718c0 6e 64 65 78 65 64 20 60 28 6c 69 73 74 20 66 6e 29 60 0a 0a 43 61 6c 6c 20 60 66 6e 60 20 6f 6e ndexed.`(list.fn)`..Call.`fn`.on
718e0 20 65 61 63 68 20 69 6e 64 65 78 20 61 6e 64 20 65 6c 65 6d 65 6e 74 20 6f 66 20 60 6c 69 73 74 .each.index.and.element.of.`list
71900 60 2e 0a 46 6f 72 20 65 61 63 68 20 60 69 74 65 6d 60 20 61 74 20 60 69 6e 64 65 78 60 20 69 6e `..For.each.`item`.at.`index`.in
71920 20 60 6c 69 73 74 60 2c 20 63 61 6c 6c 20 28 66 75 6e 63 61 6c 6c 20 60 66 6e 60 20 60 69 6e 64 .`list`,.call.(funcall.`fn`.`ind
71940 65 78 60 20 60 69 74 65 6d 60 29 2e 0a 52 65 74 75 72 6e 20 6e 69 6c 3b 20 74 68 69 73 20 66 75 ex`.`item`)..Return.nil;.this.fu
71960 6e 63 74 69 6f 6e 20 69 73 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 20 73 69 64 65 20 65 66 66 65 nction.is.intended.for.side.effe
71980 63 74 73 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 6d 61 70 2d 69 6e 64 65 78 65 64 60 5d cts...See.also:.[`-map-indexed`]
719a0 28 23 2d 6d 61 70 2d 69 6e 64 65 78 65 64 2d 66 6e 2d 6c 69 73 74 29 2e 0a 0a 60 60 60 65 6c 0a (#-map-indexed-fn-list)...```el.
719c0 28 6c 65 74 20 28 6c 29 20 28 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 20 27 28 61 20 62 20 63 29 (let.(l).(-each-indexed.'(a.b.c)
719e0 20 28 6c 61 6d 62 64 61 20 28 69 20 78 29 20 28 70 75 73 68 20 28 6c 69 73 74 20 78 20 69 29 20 .(lambda.(i.x).(push.(list.x.i).
71a00 6c 29 29 29 20 6c 29 20 3b 3b 20 3d 3e 20 28 28 63 20 32 29 20 28 62 20 31 29 20 28 61 20 30 29 l))).l).;;.=>.((c.2).(b.1).(a.0)
71a20 29 0a 28 6c 65 74 20 28 6c 29 20 28 2d 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 20 27 28 61 20 62 ).(let.(l).(--each-indexed.'(a.b
71a40 20 63 29 20 28 70 75 73 68 20 28 6c 69 73 74 20 69 74 20 69 74 2d 69 6e 64 65 78 29 20 6c 29 29 .c).(push.(list.it.it-index).l))
71a60 20 6c 29 20 3b 3b 20 3d 3e 20 28 28 63 20 32 29 20 28 62 20 31 29 20 28 61 20 30 29 29 0a 28 6c .l).;;.=>.((c.2).(b.1).(a.0)).(l
71a80 65 74 20 28 6c 29 20 28 2d 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 20 28 29 20 28 70 75 73 68 20 et.(l).(--each-indexed.().(push.
71aa0 69 74 20 6c 29 29 20 6c 29 20 3b 3b 20 3d 3e 20 28 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 65 61 it.l)).l).;;.=>.().```..####.-ea
71ac0 63 68 2d 72 20 60 28 6c 69 73 74 20 66 6e 29 60 0a 0a 43 61 6c 6c 20 60 66 6e 60 20 6f 6e 20 65 ch-r.`(list.fn)`..Call.`fn`.on.e
71ae0 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 60 6c 69 73 74 60 20 69 6e 20 72 65 76 65 72 73 65 ach.element.of.`list`.in.reverse
71b00 64 20 6f 72 64 65 72 2e 0a 52 65 74 75 72 6e 20 6e 69 6c 3b 20 74 68 69 73 20 66 75 6e 63 74 69 d.order..Return.nil;.this.functi
71b20 6f 6e 20 69 73 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 20 73 69 64 65 20 65 66 66 65 63 74 73 2e on.is.intended.for.side.effects.
71b40 0a 0a 49 74 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 ..Its.anaphoric.counterpart.is.`
71b60 2d 2d 65 61 63 68 2d 72 60 2e 0a 0a 60 60 60 65 6c 0a 28 6c 65 74 20 28 6c 29 20 28 2d 65 61 63 --each-r`...```el.(let.(l).(-eac
71b80 68 2d 72 20 27 28 31 20 32 20 33 29 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 70 75 73 68 20 78 h-r.'(1.2.3).(lambda.(x).(push.x
71ba0 20 6c 29 29 29 20 6c 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 29 0a 28 6c 65 74 20 28 6c 29 20 .l))).l).;;.=>.(1.2.3).(let.(l).
71bc0 28 2d 2d 65 61 63 68 2d 72 20 27 28 31 20 32 20 33 29 20 28 70 75 73 68 20 69 74 20 6c 29 29 20 (--each-r.'(1.2.3).(push.it.l)).
71be0 6c 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 29 0a 28 2d 65 61 63 68 2d 72 20 27 28 31 20 32 20 l).;;.=>.(1.2.3).(-each-r.'(1.2.
71c00 33 29 20 23 27 69 64 65 6e 74 69 74 79 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 60 60 60 0a 0a 23 23 3).#'identity).;;.=>.nil.```..##
71c20 23 23 20 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 20 60 28 6c 69 73 74 20 70 72 65 64 20 66 6e 29 ##.-each-r-while.`(list.pred.fn)
71c40 60 0a 0a 43 61 6c 6c 20 60 66 6e 60 20 6f 6e 20 65 61 63 68 20 60 69 74 65 6d 60 20 69 6e 20 72 `..Call.`fn`.on.each.`item`.in.r
71c60 65 76 65 72 73 65 64 20 60 6c 69 73 74 60 2c 20 77 68 69 6c 65 20 28 60 70 72 65 64 60 20 60 69 eversed.`list`,.while.(`pred`.`i
71c80 74 65 6d 60 29 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 4f 6e 63 65 20 61 6e 20 60 69 74 65 6d 60 tem`).is.non-nil..Once.an.`item`
71ca0 20 69 73 20 72 65 61 63 68 65 64 20 66 6f 72 20 77 68 69 63 68 20 60 70 72 65 64 60 20 72 65 74 .is.reached.for.which.`pred`.ret
71cc0 75 72 6e 73 20 6e 69 6c 2c 20 60 66 6e 60 20 69 73 20 6e 6f 0a 6c 6f 6e 67 65 72 20 63 61 6c 6c urns.nil,.`fn`.is.no.longer.call
71ce0 65 64 2e 20 20 52 65 74 75 72 6e 20 6e 69 6c 3b 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 ed...Return.nil;.this.function.i
71d00 73 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 20 73 69 64 65 0a 65 66 66 65 63 74 73 2e 0a 0a 49 74 s.intended.for.side.effects...It
71d20 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 65 61 s.anaphoric.counterpart.is.`--ea
71d40 63 68 2d 72 2d 77 68 69 6c 65 60 2e 0a 0a 60 60 60 65 6c 0a 28 6c 65 74 20 28 6c 29 20 28 2d 65 ch-r-while`...```el.(let.(l).(-e
71d60 61 63 68 2d 72 2d 77 68 69 6c 65 20 27 28 32 20 34 20 35 20 36 29 20 23 27 65 76 65 6e 3f 20 28 ach-r-while.'(2.4.5.6).#'even?.(
71d80 6c 61 6d 62 64 61 20 28 78 29 20 28 70 75 73 68 20 78 20 6c 29 29 29 20 6c 29 20 3b 3b 20 3d 3e lambda.(x).(push.x.l))).l).;;.=>
71da0 20 28 36 29 0a 28 6c 65 74 20 28 6c 29 20 28 2d 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 20 27 28 .(6).(let.(l).(--each-r-while.'(
71dc0 31 20 32 20 33 20 34 29 20 28 3e 3d 20 69 74 20 33 29 20 28 70 75 73 68 20 69 74 20 6c 29 29 20 1.2.3.4).(>=.it.3).(push.it.l)).
71de0 6c 29 20 3b 3b 20 3d 3e 20 28 33 20 34 29 0a 28 6c 65 74 20 28 28 73 20 30 29 29 20 28 2d 2d 65 l).;;.=>.(3.4).(let.((s.0)).(--e
71e00 61 63 68 2d 72 2d 77 68 69 6c 65 20 27 28 31 20 32 20 33 20 35 29 20 28 3e 20 69 74 20 31 29 20 ach-r-while.'(1.2.3.5).(>.it.1).
71e20 28 73 65 74 71 20 73 20 28 2b 20 73 20 69 74 29 29 29 20 73 29 20 3b 3b 20 3d 3e 20 31 30 0a 60 (setq.s.(+.s.it))).s).;;.=>.10.`
71e40 60 60 0a 0a 23 23 23 23 20 2d 64 6f 74 69 6d 65 73 20 60 28 6e 75 6d 20 66 6e 29 60 0a 0a 43 61 ``..####.-dotimes.`(num.fn)`..Ca
71e60 6c 6c 20 60 66 6e 60 20 60 6e 75 6d 60 20 74 69 6d 65 73 2c 20 70 72 65 73 75 6d 61 62 6c 79 20 ll.`fn`.`num`.times,.presumably.
71e80 66 6f 72 20 73 69 64 65 20 65 66 66 65 63 74 73 2e 0a 60 66 6e 60 20 69 73 20 63 61 6c 6c 65 64 for.side.effects..`fn`.is.called
71ea0 20 77 69 74 68 20 61 20 73 69 6e 67 6c 65 20 61 72 67 75 6d 65 6e 74 20 6f 6e 20 73 75 63 63 65 .with.a.single.argument.on.succe
71ec0 73 73 69 76 65 20 69 6e 74 65 67 65 72 73 0a 72 75 6e 6e 69 6e 67 20 66 72 6f 6d 20 30 2c 20 69 ssive.integers.running.from.0,.i
71ee0 6e 63 6c 75 73 69 76 65 2c 20 74 6f 20 60 6e 75 6d 60 2c 20 65 78 63 6c 75 73 69 76 65 2e 20 20 nclusive,.to.`num`,.exclusive...
71f00 60 66 6e 60 20 69 73 20 6e 6f 74 20 63 61 6c 6c 65 64 0a 69 66 20 60 6e 75 6d 60 20 69 73 20 6c `fn`.is.not.called.if.`num`.is.l
71f20 65 73 73 20 74 68 61 6e 20 31 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 ess.than.1...This.function's.ana
71f40 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 64 6f 74 69 6d 65 73 phoric.counterpart.is.`--dotimes
71f60 60 2e 0a 0a 60 60 60 65 6c 0a 28 6c 65 74 20 28 73 29 20 28 2d 64 6f 74 69 6d 65 73 20 33 20 28 `...```el.(let.(s).(-dotimes.3.(
71f80 6c 61 6d 62 64 61 20 28 6e 29 20 28 70 75 73 68 20 6e 20 73 29 29 29 20 73 29 20 3b 3b 20 3d 3e lambda.(n).(push.n.s))).s).;;.=>
71fa0 20 28 32 20 31 20 30 29 0a 28 6c 65 74 20 28 73 29 20 28 2d 64 6f 74 69 6d 65 73 20 30 20 28 6c .(2.1.0).(let.(s).(-dotimes.0.(l
71fc0 61 6d 62 64 61 20 28 6e 29 20 28 70 75 73 68 20 6e 20 73 29 29 29 20 73 29 20 3b 3b 20 3d 3e 20 ambda.(n).(push.n.s))).s).;;.=>.
71fe0 28 29 0a 28 6c 65 74 20 28 73 29 20 28 2d 2d 64 6f 74 69 6d 65 73 20 35 20 28 70 75 73 68 20 69 ().(let.(s).(--dotimes.5.(push.i
72000 74 20 73 29 29 20 73 29 20 3b 3b 20 3d 3e 20 28 34 20 33 20 32 20 31 20 30 29 0a 60 60 60 0a 0a t.s)).s).;;.=>.(4.3.2.1.0).```..
72020 23 23 20 44 65 73 74 72 75 63 74 69 76 65 20 6f 70 65 72 61 74 69 6f 6e 73 0a 0a 4d 61 63 72 6f ##.Destructive.operations..Macro
72040 73 20 74 68 61 74 20 6d 6f 64 69 66 79 20 76 61 72 69 61 62 6c 65 73 20 68 6f 6c 64 69 6e 67 20 s.that.modify.variables.holding.
72060 6c 69 73 74 73 2e 0a 0a 23 23 23 23 20 21 63 6f 6e 73 20 60 28 63 61 72 20 63 64 72 29 60 0a 0a lists...####.!cons.`(car.cdr)`..
72080 44 65 73 74 72 75 63 74 69 76 65 3a 20 53 65 74 20 60 63 64 72 60 20 74 6f 20 74 68 65 20 63 6f Destructive:.Set.`cdr`.to.the.co
720a0 6e 73 20 6f 66 20 60 63 61 72 60 20 61 6e 64 20 60 63 64 72 60 2e 0a 0a 60 60 60 65 6c 0a 28 6c ns.of.`car`.and.`cdr`...```el.(l
720c0 65 74 20 28 6c 29 20 28 21 63 6f 6e 73 20 35 20 6c 29 20 6c 29 20 3b 3b 20 3d 3e 20 28 35 29 0a et.(l).(!cons.5.l).l).;;.=>.(5).
720e0 28 6c 65 74 20 28 28 6c 20 27 28 33 29 29 29 20 28 21 63 6f 6e 73 20 35 20 6c 29 20 6c 29 20 3b (let.((l.'(3))).(!cons.5.l).l).;
72100 3b 20 3d 3e 20 28 35 20 33 29 0a 60 60 60 0a 0a 23 23 23 23 20 21 63 64 72 20 60 28 6c 69 73 74 ;.=>.(5.3).```..####.!cdr.`(list
72120 29 60 0a 0a 44 65 73 74 72 75 63 74 69 76 65 3a 20 53 65 74 20 60 6c 69 73 74 60 20 74 6f 20 74 )`..Destructive:.Set.`list`.to.t
72140 68 65 20 63 64 72 20 6f 66 20 60 6c 69 73 74 60 2e 0a 0a 60 60 60 65 6c 0a 28 6c 65 74 20 28 28 he.cdr.of.`list`...```el.(let.((
72160 6c 20 27 28 33 29 29 29 20 28 21 63 64 72 20 6c 29 20 6c 29 20 3b 3b 20 3d 3e 20 28 29 0a 28 6c l.'(3))).(!cdr.l).l).;;.=>.().(l
72180 65 74 20 28 28 6c 20 27 28 33 20 35 29 29 29 20 28 21 63 64 72 20 6c 29 20 6c 29 20 3b 3b 20 3d et.((l.'(3.5))).(!cdr.l).l).;;.=
721a0 3e 20 28 35 29 0a 60 60 60 0a 0a 23 23 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f >.(5).```..##.Function.combinato
721c0 72 73 0a 0a 46 75 6e 63 74 69 6f 6e 73 20 74 68 61 74 20 6d 61 6e 69 70 75 6c 61 74 65 20 61 6e rs..Functions.that.manipulate.an
721e0 64 20 63 6f 6d 70 6f 73 65 20 6f 74 68 65 72 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 0a 23 23 23 23 d.compose.other.functions...####
72200 20 2d 70 61 72 74 69 61 6c 20 60 28 66 75 6e 20 26 72 65 73 74 20 61 72 67 73 29 60 0a 0a 52 65 .-partial.`(fun.&rest.args)`..Re
72220 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 69 73 20 61 20 70 61 72 74 69 61 turn.a.function.that.is.a.partia
72240 6c 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 6f 66 20 60 66 75 6e 60 20 74 6f 20 60 61 72 67 73 60 l.application.of.`fun`.to.`args`
72260 2e 0a 60 61 72 67 73 60 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 ..`args`.is.a.list.of.the.first.
72280 60 6e 60 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 70 61 73 73 20 74 6f 20 60 66 75 6e 60 2e 0a `n`.arguments.to.pass.to.`fun`..
722a0 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 20 6e 65 77 20 66 75 6e 63 74 69 6f 6e 20 77 68 69 The.result.is.a.new.function.whi
722c0 63 68 20 64 6f 65 73 20 74 68 65 20 73 61 6d 65 20 61 73 20 60 66 75 6e 60 2c 20 65 78 63 65 70 ch.does.the.same.as.`fun`,.excep
722e0 74 20 74 68 61 74 0a 74 68 65 20 66 69 72 73 74 20 60 6e 60 20 61 72 67 75 6d 65 6e 74 73 20 61 t.that.the.first.`n`.arguments.a
72300 72 65 20 66 69 78 65 64 20 61 74 20 74 68 65 20 76 61 6c 75 65 73 20 77 69 74 68 20 77 68 69 63 re.fixed.at.the.values.with.whic
72320 68 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 0a 77 61 73 20 63 61 6c 6c 65 64 2e 0a 0a 60 60 60 h.this.function.was.called...```
72340 65 6c 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 70 61 72 74 69 61 6c 20 23 27 2b 20 35 29 29 20 3b 3b el.(funcall.(-partial.#'+.5)).;;
72360 20 3d 3e 20 35 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 70 61 72 74 69 61 6c 20 23 27 2d 20 35 29 20 .=>.5.(funcall.(-partial.#'-.5).
72380 33 29 20 3b 3b 20 3d 3e 20 32 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 70 61 72 74 69 61 6c 20 23 27 3).;;.=>.2.(funcall.(-partial.#'
723a0 2b 20 35 20 32 29 20 33 29 20 3b 3b 20 3d 3e 20 31 30 0a 60 60 60 0a 0a 23 23 23 23 20 2d 72 70 +.5.2).3).;;.=>.10.```..####.-rp
723c0 61 72 74 69 61 6c 20 60 28 66 6e 20 26 72 65 73 74 20 61 72 67 73 29 60 0a 0a 52 65 74 75 72 6e artial.`(fn.&rest.args)`..Return
723e0 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 69 73 20 61 20 70 61 72 74 69 61 6c 20 61 70 .a.function.that.is.a.partial.ap
72400 70 6c 69 63 61 74 69 6f 6e 20 6f 66 20 60 66 6e 60 20 74 6f 20 60 61 72 67 73 60 2e 0a 60 61 72 plication.of.`fn`.to.`args`..`ar
72420 67 73 60 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 6c 61 73 74 20 60 6e 60 20 61 72 gs`.is.a.list.of.the.last.`n`.ar
72440 67 75 6d 65 6e 74 73 20 74 6f 20 70 61 73 73 20 74 6f 20 60 66 6e 60 2e 20 20 54 68 65 20 72 65 guments.to.pass.to.`fn`...The.re
72460 73 75 6c 74 0a 69 73 20 61 20 6e 65 77 20 66 75 6e 63 74 69 6f 6e 20 77 68 69 63 68 20 64 6f 65 sult.is.a.new.function.which.doe
72480 73 20 74 68 65 20 73 61 6d 65 20 61 73 20 60 66 6e 60 2c 20 65 78 63 65 70 74 20 74 68 61 74 20 s.the.same.as.`fn`,.except.that.
724a0 74 68 65 20 6c 61 73 74 0a 60 6e 60 20 61 72 67 75 6d 65 6e 74 73 20 61 72 65 20 66 69 78 65 64 the.last.`n`.arguments.are.fixed
724c0 20 61 74 20 74 68 65 20 76 61 6c 75 65 73 20 77 69 74 68 20 77 68 69 63 68 20 74 68 69 73 20 66 .at.the.values.with.which.this.f
724e0 75 6e 63 74 69 6f 6e 20 77 61 73 0a 63 61 6c 6c 65 64 2e 20 20 54 68 69 73 20 69 73 20 6c 69 6b unction.was.called...This.is.lik
72500 65 20 5b 60 2d 70 61 72 74 69 61 6c 60 5d 28 23 2d 70 61 72 74 69 61 6c 2d 66 75 6e 2d 72 65 73 e.[`-partial`](#-partial-fun-res
72520 74 2d 61 72 67 73 29 2c 20 65 78 63 65 70 74 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 61 72 t-args),.except.the.arguments.ar
72540 65 20 66 69 78 65 64 0a 73 74 61 72 74 69 6e 67 20 66 72 6f 6d 20 74 68 65 20 72 69 67 68 74 20 e.fixed.starting.from.the.right.
72560 72 61 74 68 65 72 20 74 68 61 6e 20 74 68 65 20 6c 65 66 74 2e 0a 0a 60 60 60 65 6c 0a 28 66 75 rather.than.the.left...```el.(fu
72580 6e 63 61 6c 6c 20 28 2d 72 70 61 72 74 69 61 6c 20 23 27 2d 20 35 29 29 20 3b 3b 20 3d 3e 20 2d ncall.(-rpartial.#'-.5)).;;.=>.-
725a0 35 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 72 70 61 72 74 69 61 6c 20 23 27 2d 20 35 29 20 38 29 20 5.(funcall.(-rpartial.#'-.5).8).
725c0 3b 3b 20 3d 3e 20 33 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 72 70 61 72 74 69 61 6c 20 23 27 2d 20 ;;.=>.3.(funcall.(-rpartial.#'-.
725e0 35 20 32 29 20 31 30 29 20 3b 3b 20 3d 3e 20 33 0a 60 60 60 0a 0a 23 23 23 23 20 2d 6a 75 78 74 5.2).10).;;.=>.3.```..####.-juxt
72600 20 60 28 26 72 65 73 74 20 66 6e 73 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f .`(&rest.fns)`..Return.a.functio
72620 6e 20 74 68 61 74 20 69 73 20 74 68 65 20 6a 75 78 74 61 70 6f 73 69 74 69 6f 6e 20 6f 66 20 60 n.that.is.the.juxtaposition.of.`
72640 66 6e 73 60 2e 0a 54 68 65 20 72 65 74 75 72 6e 65 64 20 66 75 6e 63 74 69 6f 6e 20 74 61 6b 65 fns`..The.returned.function.take
72660 73 20 61 20 76 61 72 69 61 62 6c 65 20 6e 75 6d 62 65 72 20 6f 66 20 60 61 72 67 73 60 2c 20 61 s.a.variable.number.of.`args`,.a
72680 70 70 6c 69 65 73 0a 65 61 63 68 20 6f 66 20 60 66 6e 73 60 20 69 6e 20 74 75 72 6e 20 74 6f 20 pplies.each.of.`fns`.in.turn.to.
726a0 60 61 72 67 73 60 2c 20 61 6e 64 20 72 65 74 75 72 6e 73 20 74 68 65 20 6c 69 73 74 20 6f 66 20 `args`,.and.returns.the.list.of.
726c0 72 65 73 75 6c 74 73 2e 0a 0a 60 60 60 65 6c 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 6a 75 78 74 29 results...```el.(funcall.(-juxt)
726e0 20 31 20 32 29 20 3b 3b 20 3d 3e 20 28 29 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 6a 75 78 74 20 23 .1.2).;;.=>.().(funcall.(-juxt.#
72700 27 2b 20 23 27 2d 20 23 27 2a 20 23 27 2f 29 20 37 20 35 29 20 3b 3b 20 3d 3e 20 28 31 32 20 32 '+.#'-.#'*.#'/).7.5).;;.=>.(12.2
72720 20 33 35 20 31 29 0a 28 6d 61 70 63 61 72 20 28 2d 6a 75 78 74 20 23 27 6e 75 6d 62 65 72 2d 74 .35.1).(mapcar.(-juxt.#'number-t
72740 6f 2d 73 74 72 69 6e 67 20 23 27 31 2b 29 20 27 28 31 20 32 29 29 20 3b 3b 20 3d 3e 20 28 28 22 o-string.#'1+).'(1.2)).;;.=>.(("
72760 31 22 20 32 29 20 28 22 32 22 20 33 29 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 63 6f 6d 70 6f 73 1".2).("2".3)).```..####.-compos
72780 65 20 60 28 26 72 65 73 74 20 66 6e 73 29 60 0a 0a 43 6f 6d 70 6f 73 65 20 60 66 6e 73 60 20 69 e.`(&rest.fns)`..Compose.`fns`.i
727a0 6e 74 6f 20 61 20 73 69 6e 67 6c 65 20 63 6f 6d 70 6f 73 69 74 65 20 66 75 6e 63 74 69 6f 6e 2e nto.a.single.composite.function.
727c0 0a 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 74 61 6b 65 73 20 61 20 .Return.a.function.that.takes.a.
727e0 76 61 72 69 61 62 6c 65 20 6e 75 6d 62 65 72 20 6f 66 20 60 61 72 67 73 60 2c 20 61 70 70 6c 69 variable.number.of.`args`,.appli
72800 65 73 0a 74 68 65 20 6c 61 73 74 20 66 75 6e 63 74 69 6f 6e 20 69 6e 20 60 66 6e 73 60 20 74 6f es.the.last.function.in.`fns`.to
72820 20 60 61 72 67 73 60 2c 20 61 6e 64 20 72 65 74 75 72 6e 73 20 74 68 65 20 72 65 73 75 6c 74 20 .`args`,.and.returns.the.result.
72840 6f 66 0a 63 61 6c 6c 69 6e 67 20 65 61 63 68 20 72 65 6d 61 69 6e 69 6e 67 20 66 75 6e 63 74 69 of.calling.each.remaining.functi
72860 6f 6e 20 6f 6e 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 74 68 65 20 70 72 65 76 69 6f 75 73 on.on.the.result.of.the.previous
72880 0a 66 75 6e 63 74 69 6f 6e 2c 20 72 69 67 68 74 2d 74 6f 2d 6c 65 66 74 2e 20 20 49 66 20 6e 6f .function,.right-to-left...If.no
728a0 20 60 66 6e 73 60 20 61 72 65 20 67 69 76 65 6e 2c 20 72 65 74 75 72 6e 20 61 20 76 61 72 69 61 .`fns`.are.given,.return.a.varia
728c0 64 69 63 0a 60 69 64 65 6e 74 69 74 79 60 20 66 75 6e 63 74 69 6f 6e 2e 0a 0a 60 60 60 65 6c 0a dic.`identity`.function...```el.
728e0 28 66 75 6e 63 61 6c 6c 20 28 2d 63 6f 6d 70 6f 73 65 20 23 27 2d 20 23 27 31 2b 20 23 27 2b 29 (funcall.(-compose.#'-.#'1+.#'+)
72900 20 31 20 32 20 33 29 20 3b 3b 20 3d 3e 20 2d 37 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 63 6f 6d 70 .1.2.3).;;.=>.-7.(funcall.(-comp
72920 6f 73 65 20 23 27 69 64 65 6e 74 69 74 79 20 23 27 31 2b 29 20 33 29 20 3b 3b 20 3d 3e 20 34 0a ose.#'identity.#'1+).3).;;.=>.4.
72940 28 6d 61 70 63 61 72 20 28 2d 63 6f 6d 70 6f 73 65 20 23 27 6e 6f 74 20 23 27 73 74 72 69 6e 67 (mapcar.(-compose.#'not.#'string
72960 70 29 20 27 28 6e 69 6c 20 22 22 29 29 20 3b 3b 20 3d 3e 20 28 74 20 6e 69 6c 29 0a 60 60 60 0a p).'(nil."")).;;.=>.(t.nil).```.
72980 0a 23 23 23 23 20 2d 61 70 70 6c 69 66 79 20 60 28 66 6e 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 .####.-applify.`(fn)`..Return.a.
729a0 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 61 70 70 6c 69 65 73 20 60 66 6e 60 20 74 6f 20 61 20 function.that.applies.`fn`.to.a.
729c0 73 69 6e 67 6c 65 20 6c 69 73 74 20 6f 66 20 61 72 67 73 2e 0a 54 68 69 73 20 63 68 61 6e 67 65 single.list.of.args..This.change
729e0 73 20 74 68 65 20 61 72 69 74 79 20 6f 66 20 60 66 6e 60 20 66 72 6f 6d 20 74 61 6b 69 6e 67 20 s.the.arity.of.`fn`.from.taking.
72a00 60 6e 60 20 64 69 73 74 69 6e 63 74 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 0a 74 61 6b 69 6e 67 `n`.distinct.arguments.to.taking
72a20 20 31 20 61 72 67 75 6d 65 6e 74 20 77 68 69 63 68 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 60 .1.argument.which.is.a.list.of.`
72a40 6e 60 20 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 60 60 60 65 6c 0a 28 66 75 6e 63 61 6c 6c 20 28 2d n`.arguments...```el.(funcall.(-
72a60 61 70 70 6c 69 66 79 20 23 27 2b 29 20 6e 69 6c 29 20 3b 3b 20 3d 3e 20 30 0a 28 6d 61 70 63 61 applify.#'+).nil).;;.=>.0.(mapca
72a80 72 20 28 2d 61 70 70 6c 69 66 79 20 23 27 2b 29 20 27 28 28 31 20 31 20 31 29 20 28 31 20 32 20 r.(-applify.#'+).'((1.1.1).(1.2.
72aa0 33 29 20 28 35 20 35 20 35 29 29 29 20 3b 3b 20 3d 3e 20 28 33 20 36 20 31 35 29 0a 28 66 75 6e 3).(5.5.5))).;;.=>.(3.6.15).(fun
72ac0 63 61 6c 6c 20 28 2d 61 70 70 6c 69 66 79 20 23 27 3c 29 20 27 28 33 20 36 29 29 20 3b 3b 20 3d call.(-applify.#'<).'(3.6)).;;.=
72ae0 3e 20 74 0a 60 60 60 0a 0a 23 23 23 23 20 2d 6f 6e 20 60 28 6f 70 20 74 72 61 6e 73 29 60 0a 0a >.t.```..####.-on.`(op.trans)`..
72b00 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 63 61 6c 6c 73 20 60 74 72 Return.a.function.that.calls.`tr
72b20 61 6e 73 60 20 6f 6e 20 65 61 63 68 20 61 72 67 20 61 6e 64 20 60 6f 70 60 20 6f 6e 20 74 68 65 ans`.on.each.arg.and.`op`.on.the
72b40 20 72 65 73 75 6c 74 73 2e 0a 54 68 65 20 72 65 74 75 72 6e 65 64 20 66 75 6e 63 74 69 6f 6e 20 .results..The.returned.function.
72b60 74 61 6b 65 73 20 61 20 76 61 72 69 61 62 6c 65 20 6e 75 6d 62 65 72 20 6f 66 20 61 72 67 75 6d takes.a.variable.number.of.argum
72b80 65 6e 74 73 2c 20 63 61 6c 6c 73 0a 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 60 74 72 61 6e 73 60 ents,.calls.the.function.`trans`
72ba0 20 6f 6e 20 65 61 63 68 20 6f 6e 65 20 69 6e 20 74 75 72 6e 2c 20 61 6e 64 20 74 68 65 6e 20 70 .on.each.one.in.turn,.and.then.p
72bc0 61 73 73 65 73 20 74 68 6f 73 65 0a 72 65 73 75 6c 74 73 20 61 73 20 74 68 65 20 6c 69 73 74 20 asses.those.results.as.the.list.
72be0 6f 66 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 60 6f 70 60 2c 20 69 6e 20 74 68 65 20 73 61 6d of.arguments.to.`op`,.in.the.sam
72c00 65 20 6f 72 64 65 72 2e 0a 0a 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 66 6f 6c 6c 6f e.order...For.example,.the.follo
72c20 77 69 6e 67 20 70 61 69 72 73 20 6f 66 20 65 78 70 72 65 73 73 69 6f 6e 73 20 61 72 65 20 6d 6f wing.pairs.of.expressions.are.mo
72c40 72 61 6c 6c 79 0a 65 71 75 69 76 61 6c 65 6e 74 3a 0a 0a 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 rally.equivalent:......(funcall.
72c60 28 2d 6f 6e 20 23 27 2b 20 23 27 31 2b 29 20 31 20 32 20 33 29 20 3d 20 28 2b 20 28 31 2b 20 31 (-on.#'+.#'1+).1.2.3).=.(+.(1+.1
72c80 29 20 28 31 2b 20 32 29 20 28 31 2b 20 33 29 29 0a 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d ).(1+.2).(1+.3)).....(funcall.(-
72ca0 6f 6e 20 23 27 2b 20 23 27 31 2b 29 29 20 20 20 20 20 20 20 3d 20 28 2b 29 0a 0a 60 60 60 65 6c on.#'+.#'1+)).......=.(+)..```el
72cc0 0a 28 2d 73 6f 72 74 20 28 2d 6f 6e 20 23 27 3c 20 23 27 6c 65 6e 67 74 68 29 20 27 28 28 31 20 .(-sort.(-on.#'<.#'length).'((1.
72ce0 32 20 33 29 20 28 31 29 20 28 31 20 32 29 29 29 20 3b 3b 20 3d 3e 20 28 28 31 29 20 28 31 20 32 2.3).(1).(1.2))).;;.=>.((1).(1.2
72d00 29 20 28 31 20 32 20 33 29 29 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 6f 6e 20 23 27 6d 69 6e 20 23 ).(1.2.3)).(funcall.(-on.#'min.#
72d20 27 73 74 72 69 6e 67 2d 74 6f 2d 6e 75 6d 62 65 72 29 20 22 32 32 22 20 22 32 22 20 22 31 22 20 'string-to-number)."22"."2"."1".
72d40 22 31 32 22 29 20 3b 3b 20 3d 3e 20 31 0a 28 2d 6d 69 6e 2d 62 79 20 28 2d 6f 6e 20 23 27 3e 20 "12").;;.=>.1.(-min-by.(-on.#'>.
72d60 23 27 6c 65 6e 67 74 68 29 20 27 28 28 31 20 32 20 33 29 20 28 34 29 20 28 31 20 32 29 29 29 20 #'length).'((1.2.3).(4).(1.2))).
72d80 3b 3b 20 3d 3e 20 28 34 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 66 6c 69 70 20 60 28 66 6e 29 60 ;;.=>.(4).```..####.-flip.`(fn)`
72da0 0a 0a 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 63 61 6c 6c 73 20 60 ..Return.a.function.that.calls.`
72dc0 66 6e 60 20 77 69 74 68 20 69 74 73 20 61 72 67 75 6d 65 6e 74 73 20 72 65 76 65 72 73 65 64 2e fn`.with.its.arguments.reversed.
72de0 0a 54 68 65 20 72 65 74 75 72 6e 65 64 20 66 75 6e 63 74 69 6f 6e 20 74 61 6b 65 73 20 74 68 65 .The.returned.function.takes.the
72e00 20 73 61 6d 65 20 6e 75 6d 62 65 72 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 20 61 73 20 60 66 6e .same.number.of.arguments.as.`fn
72e20 60 2e 0a 0a 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 `...For.example,.the.following.t
72e40 77 6f 20 65 78 70 72 65 73 73 69 6f 6e 73 20 61 72 65 20 6d 6f 72 61 6c 6c 79 0a 65 71 75 69 76 wo.expressions.are.morally.equiv
72e60 61 6c 65 6e 74 3a 0a 0a 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 66 6c 69 70 20 23 27 2d 29 alent:......(funcall.(-flip.#'-)
72e80 20 31 20 32 29 20 3d 20 28 2d 20 32 20 31 29 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 72 6f .1.2).=.(-.2.1)..See.also:.[`-ro
72ea0 74 61 74 65 2d 61 72 67 73 60 5d 28 23 2d 72 6f 74 61 74 65 2d 61 72 67 73 2d 6e 2d 66 6e 29 2e tate-args`](#-rotate-args-n-fn).
72ec0 0a 0a 60 60 60 65 6c 0a 28 2d 73 6f 72 74 20 28 2d 66 6c 69 70 20 23 27 3c 29 20 27 28 34 20 33 ..```el.(-sort.(-flip.#'<).'(4.3
72ee0 20 36 20 31 29 29 20 3b 3b 20 3d 3e 20 28 36 20 34 20 33 20 31 29 0a 28 66 75 6e 63 61 6c 6c 20 .6.1)).;;.=>.(6.4.3.1).(funcall.
72f00 28 2d 66 6c 69 70 20 23 27 2d 29 20 33 20 32 20 31 20 31 30 29 20 3b 3b 20 3d 3e 20 34 0a 28 66 (-flip.#'-).3.2.1.10).;;.=>.4.(f
72f20 75 6e 63 61 6c 6c 20 28 2d 66 6c 69 70 20 23 27 31 2b 29 20 31 29 20 3b 3b 20 3d 3e 20 32 0a 60 uncall.(-flip.#'1+).1).;;.=>.2.`
72f40 60 60 0a 0a 23 23 23 23 20 2d 72 6f 74 61 74 65 2d 61 72 67 73 20 60 28 6e 20 66 6e 29 60 0a 0a ``..####.-rotate-args.`(n.fn)`..
72f60 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 63 61 6c 6c 73 20 60 66 6e Return.a.function.that.calls.`fn
72f80 60 20 77 69 74 68 20 61 72 67 73 20 72 6f 74 61 74 65 64 20 60 6e 60 20 70 6c 61 63 65 73 20 74 `.with.args.rotated.`n`.places.t
72fa0 6f 20 74 68 65 20 72 69 67 68 74 2e 0a 54 68 65 20 72 65 74 75 72 6e 65 64 20 66 75 6e 63 74 69 o.the.right..The.returned.functi
72fc0 6f 6e 20 74 61 6b 65 73 20 74 68 65 20 73 61 6d 65 20 6e 75 6d 62 65 72 20 6f 66 20 61 72 67 75 on.takes.the.same.number.of.argu
72fe0 6d 65 6e 74 73 20 61 73 20 60 66 6e 60 2c 0a 72 6f 74 61 74 65 73 20 74 68 65 20 6c 69 73 74 20 ments.as.`fn`,.rotates.the.list.
73000 6f 66 20 61 72 67 75 6d 65 6e 74 73 20 60 6e 60 20 70 6c 61 63 65 73 20 74 6f 20 74 68 65 20 72 of.arguments.`n`.places.to.the.r
73020 69 67 68 74 20 28 6c 65 66 74 20 69 66 20 60 6e 60 20 69 73 0a 6e 65 67 61 74 69 76 65 29 20 6a ight.(left.if.`n`.is.negative).j
73040 75 73 74 20 6c 69 6b 65 20 5b 60 2d 72 6f 74 61 74 65 60 5d 28 23 2d 72 6f 74 61 74 65 2d 6e 2d ust.like.[`-rotate`](#-rotate-n-
73060 6c 69 73 74 29 2c 20 61 6e 64 20 61 70 70 6c 69 65 73 20 60 66 6e 60 20 74 6f 20 74 68 65 20 72 list),.and.applies.`fn`.to.the.r
73080 65 73 75 6c 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 66 6c 69 70 60 5d 28 23 2d 66 6c esult...See.also:.[`-flip`](#-fl
730a0 69 70 2d 66 6e 29 2e 0a 0a 60 60 60 65 6c 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 72 6f 74 61 74 65 ip-fn)...```el.(funcall.(-rotate
730c0 2d 61 72 67 73 20 2d 31 20 23 27 6c 69 73 74 29 20 31 20 32 20 33 20 34 29 20 3b 3b 20 3d 3e 20 -args.-1.#'list).1.2.3.4).;;.=>.
730e0 28 32 20 33 20 34 20 31 29 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 72 6f 74 61 74 65 2d 61 72 67 73 (2.3.4.1).(funcall.(-rotate-args
73100 20 31 20 23 27 2d 29 20 31 20 31 30 20 31 30 30 29 20 3b 3b 20 3d 3e 20 38 39 0a 28 66 75 6e 63 .1.#'-).1.10.100).;;.=>.89.(func
73120 61 6c 6c 20 28 2d 72 6f 74 61 74 65 2d 61 72 67 73 20 32 20 23 27 6c 69 73 74 29 20 33 20 34 20 all.(-rotate-args.2.#'list).3.4.
73140 35 20 31 20 32 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 20 34 20 35 29 0a 60 60 60 0a 0a 23 23 5.1.2).;;.=>.(1.2.3.4.5).```..##
73160 23 23 20 2d 63 6f 6e 73 74 20 60 28 63 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 ##.-const.`(c)`..Return.a.functi
73180 6f 6e 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 60 63 60 20 69 67 6e 6f 72 69 6e 67 20 61 6e 79 on.that.returns.`c`.ignoring.any
731a0 20 61 64 64 69 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 49 6e 20 74 79 70 65 73 .additional.arguments...In.types
731c0 3a 20 61 20 2d 3e 20 62 20 2d 3e 20 61 0a 0a 60 60 60 65 6c 0a 28 66 75 6e 63 61 6c 6c 20 28 2d :.a.->.b.->.a..```el.(funcall.(-
731e0 63 6f 6e 73 74 20 32 29 20 31 20 33 20 22 66 6f 6f 22 29 20 3b 3b 20 3d 3e 20 32 0a 28 6d 61 70 const.2).1.3."foo").;;.=>.2.(map
73200 63 61 72 20 28 2d 63 6f 6e 73 74 20 31 29 20 27 28 22 61 22 20 22 62 22 20 22 63 22 20 22 64 22 car.(-const.1).'("a"."b"."c"."d"
73220 29 29 20 3b 3b 20 3d 3e 20 28 31 20 31 20 31 20 31 29 0a 28 2d 73 75 6d 20 28 6d 61 70 63 61 72 )).;;.=>.(1.1.1.1).(-sum.(mapcar
73240 20 28 2d 63 6f 6e 73 74 20 31 29 20 27 28 22 61 22 20 22 62 22 20 22 63 22 20 22 64 22 29 29 29 .(-const.1).'("a"."b"."c"."d")))
73260 20 3b 3b 20 3d 3e 20 34 0a 60 60 60 0a 0a 23 23 23 23 20 2d 63 75 74 20 60 28 26 72 65 73 74 20 .;;.=>.4.```..####.-cut.`(&rest.
73280 70 61 72 61 6d 73 29 60 0a 0a 54 61 6b 65 20 6e 2d 61 72 79 20 66 75 6e 63 74 69 6f 6e 20 61 6e params)`..Take.n-ary.function.an
732a0 64 20 6e 20 61 72 67 75 6d 65 6e 74 73 20 61 6e 64 20 73 70 65 63 69 61 6c 69 7a 65 20 73 6f 6d d.n.arguments.and.specialize.som
732c0 65 20 6f 66 20 74 68 65 6d 2e 0a 41 72 67 75 6d 65 6e 74 73 20 64 65 6e 6f 74 65 64 20 62 79 20 e.of.them..Arguments.denoted.by.
732e0 3c 3e 20 77 69 6c 6c 20 62 65 20 6c 65 66 74 20 75 6e 73 70 65 63 69 61 6c 69 7a 65 64 2e 0a 0a <>.will.be.left.unspecialized...
73300 53 65 65 20 60 73 72 66 69 2d 32 36 60 20 66 6f 72 20 64 65 74 61 69 6c 65 64 20 64 65 73 63 72 See.`srfi-26`.for.detailed.descr
73320 69 70 74 69 6f 6e 2e 0a 0a 60 60 60 65 6c 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 63 75 74 20 6c 69 iption...```el.(funcall.(-cut.li
73340 73 74 20 31 20 3c 3e 20 33 20 3c 3e 20 35 29 20 32 20 34 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 st.1.<>.3.<>.5).2.4).;;.=>.(1.2.
73360 33 20 34 20 35 29 0a 28 2d 6d 61 70 20 28 2d 63 75 74 20 66 75 6e 63 61 6c 6c 20 3c 3e 20 35 29 3.4.5).(-map.(-cut.funcall.<>.5)
73380 20 60 28 31 2b 20 31 2d 20 2c 28 6c 61 6d 62 64 61 20 28 78 29 20 28 2f 20 31 2e 30 20 78 29 29 .`(1+.1-.,(lambda.(x).(/.1.0.x))
733a0 29 29 20 3b 3b 20 3d 3e 20 28 36 20 34 20 30 2e 32 29 0a 28 2d 6d 61 70 20 28 2d 63 75 74 20 3c )).;;.=>.(6.4.0.2).(-map.(-cut.<
733c0 3e 20 31 20 32 20 33 29 20 27 28 6c 69 73 74 20 76 65 63 74 6f 72 20 73 74 72 69 6e 67 29 29 20 >.1.2.3).'(list.vector.string)).
733e0 3b 3b 20 3d 3e 20 28 28 31 20 32 20 33 29 20 5b 31 20 32 20 33 5d 20 22 5c 31 5c 32 5c 33 22 29 ;;.=>.((1.2.3).[1.2.3]."\1\2\3")
73400 0a 60 60 60 0a 0a 23 23 23 23 20 2d 6e 6f 74 20 60 28 70 72 65 64 29 60 0a 0a 52 65 74 75 72 6e .```..####.-not.`(pred)`..Return
73420 20 61 20 70 72 65 64 69 63 61 74 65 20 74 68 61 74 20 6e 65 67 61 74 65 73 20 74 68 65 20 72 65 .a.predicate.that.negates.the.re
73440 73 75 6c 74 20 6f 66 20 60 70 72 65 64 60 2e 0a 54 68 65 20 72 65 74 75 72 6e 65 64 20 70 72 65 sult.of.`pred`..The.returned.pre
73460 64 69 63 61 74 65 20 70 61 73 73 65 73 20 69 74 73 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 60 dicate.passes.its.arguments.to.`
73480 70 72 65 64 60 2e 20 20 49 66 20 60 70 72 65 64 60 0a 72 65 74 75 72 6e 73 20 6e 69 6c 2c 20 74 pred`...If.`pred`.returns.nil,.t
734a0 68 65 20 72 65 73 75 6c 74 20 69 73 20 6e 6f 6e 2d 6e 69 6c 3b 20 6f 74 68 65 72 77 69 73 65 20 he.result.is.non-nil;.otherwise.
734c0 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 6e 69 6c 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 the.result.is.nil...See.also:.[`
734e0 2d 61 6e 64 66 6e 60 5d 28 23 2d 61 6e 64 66 6e 2d 72 65 73 74 2d 70 72 65 64 73 29 20 61 6e 64 -andfn`](#-andfn-rest-preds).and
73500 20 5b 60 2d 6f 72 66 6e 60 5d 28 23 2d 6f 72 66 6e 2d 72 65 73 74 2d 70 72 65 64 73 29 2e 0a 0a .[`-orfn`](#-orfn-rest-preds)...
73520 60 60 60 65 6c 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 6e 6f 74 20 23 27 6e 75 6d 62 65 72 70 29 20 ```el.(funcall.(-not.#'numberp).
73540 22 35 22 29 20 3b 3b 20 3d 3e 20 74 0a 28 2d 73 6f 72 74 20 28 2d 6e 6f 74 20 23 27 3c 29 20 27 "5").;;.=>.t.(-sort.(-not.#'<).'
73560 28 35 20 32 20 31 20 30 20 36 29 29 20 3b 3b 20 3d 3e 20 28 36 20 35 20 32 20 31 20 30 29 0a 28 (5.2.1.0.6)).;;.=>.(6.5.2.1.0).(
73580 2d 66 69 6c 74 65 72 20 28 2d 6e 6f 74 20 28 2d 70 61 72 74 69 61 6c 20 23 27 3c 20 34 29 29 20 -filter.(-not.(-partial.#'<.4)).
735a0 27 28 31 20 32 20 33 20 34 20 35 20 36 20 37 20 38 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 '(1.2.3.4.5.6.7.8)).;;.=>.(1.2.3
735c0 20 34 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 6f 72 66 6e 20 60 28 26 72 65 73 74 20 70 72 65 64 .4).```..####.-orfn.`(&rest.pred
735e0 73 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 70 72 65 64 69 63 61 74 65 20 74 68 61 74 20 72 65 74 s)`..Return.a.predicate.that.ret
73600 75 72 6e 73 20 74 68 65 20 66 69 72 73 74 20 6e 6f 6e 2d 6e 69 6c 20 72 65 73 75 6c 74 20 6f 66 urns.the.first.non-nil.result.of
73620 20 60 70 72 65 64 73 60 2e 0a 54 68 65 20 72 65 74 75 72 6e 65 64 20 70 72 65 64 69 63 61 74 65 .`preds`..The.returned.predicate
73640 20 74 61 6b 65 73 20 61 20 76 61 72 69 61 62 6c 65 20 6e 75 6d 62 65 72 20 6f 66 20 61 72 67 75 .takes.a.variable.number.of.argu
73660 6d 65 6e 74 73 2c 0a 70 61 73 73 65 73 20 74 68 65 6d 20 74 6f 20 65 61 63 68 20 70 72 65 64 69 ments,.passes.them.to.each.predi
73680 63 61 74 65 20 69 6e 20 60 70 72 65 64 73 60 20 69 6e 20 74 75 72 6e 20 75 6e 74 69 6c 20 6f 6e cate.in.`preds`.in.turn.until.on
736a0 65 20 6f 66 20 74 68 65 6d 0a 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 61 6e 64 20 72 e.of.them.returns.non-nil,.and.r
736c0 65 74 75 72 6e 73 20 74 68 61 74 20 6e 6f 6e 2d 6e 69 6c 20 72 65 73 75 6c 74 20 77 69 74 68 6f eturns.that.non-nil.result.witho
736e0 75 74 20 63 61 6c 6c 69 6e 67 0a 74 68 65 20 72 65 6d 61 69 6e 69 6e 67 20 60 70 72 65 64 73 60 ut.calling.the.remaining.`preds`
73700 2e 20 20 49 66 20 61 6c 6c 20 60 70 72 65 64 73 60 20 72 65 74 75 72 6e 20 6e 69 6c 2c 20 6f 72 ...If.all.`preds`.return.nil,.or
73720 20 69 66 20 6e 6f 20 60 70 72 65 64 73 60 20 61 72 65 0a 67 69 76 65 6e 2c 20 74 68 65 20 72 65 .if.no.`preds`.are.given,.the.re
73740 74 75 72 6e 65 64 20 70 72 65 64 69 63 61 74 65 20 72 65 74 75 72 6e 73 20 6e 69 6c 2e 0a 0a 53 turned.predicate.returns.nil...S
73760 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 61 6e 64 66 6e 60 5d 28 23 2d 61 6e 64 66 6e 2d 72 65 73 74 ee.also:.[`-andfn`](#-andfn-rest
73780 2d 70 72 65 64 73 29 20 61 6e 64 20 5b 60 2d 6e 6f 74 60 5d 28 23 2d 6e 6f 74 2d 70 72 65 64 29 -preds).and.[`-not`](#-not-pred)
737a0 2e 0a 0a 60 60 60 65 6c 0a 28 2d 66 69 6c 74 65 72 20 28 2d 6f 72 66 6e 20 23 27 6e 61 74 6e 75 ...```el.(-filter.(-orfn.#'natnu
737c0 6d 70 20 23 27 62 6f 6f 6c 65 61 6e 70 29 20 27 28 31 20 6e 69 6c 20 22 61 22 20 2d 34 20 62 20 mp.#'booleanp).'(1.nil."a".-4.b.
737e0 63 20 74 29 29 20 3b 3b 20 3d 3e 20 28 31 20 6e 69 6c 20 74 29 0a 28 66 75 6e 63 61 6c 6c 20 28 c.t)).;;.=>.(1.nil.t).(funcall.(
73800 2d 6f 72 66 6e 20 23 27 73 79 6d 62 6f 6c 70 20 28 2d 63 75 74 20 73 74 72 69 6e 67 2d 6d 61 74 -orfn.#'symbolp.(-cut.string-mat
73820 63 68 2d 70 20 22 78 22 20 3c 3e 29 29 20 22 61 78 65 22 29 20 3b 3b 20 3d 3e 20 31 0a 28 66 75 ch-p."x".<>))."axe").;;.=>.1.(fu
73840 6e 63 61 6c 6c 20 28 2d 6f 72 66 6e 20 23 27 3d 20 23 27 2b 29 20 31 20 31 29 20 3b 3b 20 3d 3e ncall.(-orfn.#'=.#'+).1.1).;;.=>
73860 20 74 0a 60 60 60 0a 0a 23 23 23 23 20 2d 61 6e 64 66 6e 20 60 28 26 72 65 73 74 20 70 72 65 64 .t.```..####.-andfn.`(&rest.pred
73880 73 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 70 72 65 64 69 63 61 74 65 20 74 68 61 74 20 72 65 74 s)`..Return.a.predicate.that.ret
738a0 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 61 6c 6c 20 60 70 72 65 64 73 60 20 64 6f 20 73 urns.non-nil.if.all.`preds`.do.s
738c0 6f 2e 0a 54 68 65 20 72 65 74 75 72 6e 65 64 20 70 72 65 64 69 63 61 74 65 20 60 70 60 20 74 61 o..The.returned.predicate.`p`.ta
738e0 6b 65 73 20 61 20 76 61 72 69 61 62 6c 65 20 6e 75 6d 62 65 72 20 6f 66 20 61 72 67 75 6d 65 6e kes.a.variable.number.of.argumen
73900 74 73 20 61 6e 64 0a 70 61 73 73 65 73 20 74 68 65 6d 20 74 6f 20 65 61 63 68 20 70 72 65 64 69 ts.and.passes.them.to.each.predi
73920 63 61 74 65 20 69 6e 20 60 70 72 65 64 73 60 20 69 6e 20 74 75 72 6e 2e 20 20 49 66 20 61 6e 79 cate.in.`preds`.in.turn...If.any
73940 20 6f 6e 65 20 6f 66 0a 60 70 72 65 64 73 60 20 72 65 74 75 72 6e 73 20 6e 69 6c 2c 20 60 70 60 .one.of.`preds`.returns.nil,.`p`
73960 20 61 6c 73 6f 20 72 65 74 75 72 6e 73 20 6e 69 6c 20 77 69 74 68 6f 75 74 20 63 61 6c 6c 69 6e .also.returns.nil.without.callin
73980 67 20 74 68 65 0a 72 65 6d 61 69 6e 69 6e 67 20 60 70 72 65 64 73 60 2e 20 20 49 66 20 61 6c 6c g.the.remaining.`preds`...If.all
739a0 20 60 70 72 65 64 73 60 20 72 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 2c 20 60 70 60 20 72 65 74 .`preds`.return.non-nil,.`p`.ret
739c0 75 72 6e 73 20 74 68 65 20 6c 61 73 74 0a 73 75 63 68 20 76 61 6c 75 65 2e 20 20 49 66 20 6e 6f urns.the.last.such.value...If.no
739e0 20 60 70 72 65 64 73 60 20 61 72 65 20 67 69 76 65 6e 2c 20 60 70 60 20 61 6c 77 61 79 73 20 72 .`preds`.are.given,.`p`.always.r
73a00 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 6f 72 eturns.non-nil...See.also:.[`-or
73a20 66 6e 60 5d 28 23 2d 6f 72 66 6e 2d 72 65 73 74 2d 70 72 65 64 73 29 20 61 6e 64 20 5b 60 2d 6e fn`](#-orfn-rest-preds).and.[`-n
73a40 6f 74 60 5d 28 23 2d 6e 6f 74 2d 70 72 65 64 29 2e 0a 0a 60 60 60 65 6c 0a 28 2d 66 69 6c 74 65 ot`](#-not-pred)...```el.(-filte
73a60 72 20 28 2d 61 6e 64 66 6e 20 23 27 6e 75 6d 62 65 72 70 20 28 2d 63 75 74 20 3c 20 3c 3e 20 35 r.(-andfn.#'numberp.(-cut.<.<>.5
73a80 29 29 20 27 28 61 20 31 20 62 20 36 20 63 20 32 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 29 0a 28 )).'(a.1.b.6.c.2)).;;.=>.(1.2).(
73aa0 6d 61 70 63 61 72 20 28 2d 61 6e 64 66 6e 20 23 27 6e 75 6d 62 65 72 70 20 23 27 31 2b 29 20 27 mapcar.(-andfn.#'numberp.#'1+).'
73ac0 28 61 20 31 20 62 20 36 29 29 20 3b 3b 20 3d 3e 20 28 6e 69 6c 20 32 20 6e 69 6c 20 37 29 0a 28 (a.1.b.6)).;;.=>.(nil.2.nil.7).(
73ae0 66 75 6e 63 61 6c 6c 20 28 2d 61 6e 64 66 6e 20 23 27 3d 20 23 27 2b 29 20 31 20 31 29 20 3b 3b funcall.(-andfn.#'=.#'+).1.1).;;
73b00 20 3d 3e 20 32 0a 60 60 60 0a 0a 23 23 23 23 20 2d 69 74 65 72 61 74 65 66 6e 20 60 28 66 6e 20 .=>.2.```..####.-iteratefn.`(fn.
73b20 6e 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 60 66 6e 60 20 63 6f 6d 70 n)`..Return.a.function.`fn`.comp
73b40 6f 73 65 64 20 60 6e 60 20 74 69 6d 65 73 20 77 69 74 68 20 69 74 73 65 6c 66 2e 0a 0a 60 66 6e osed.`n`.times.with.itself...`fn
73b60 60 20 69 73 20 61 20 75 6e 61 72 79 20 66 75 6e 63 74 69 6f 6e 2e 20 20 49 66 20 79 6f 75 20 6e `.is.a.unary.function...If.you.n
73b80 65 65 64 20 74 6f 20 75 73 65 20 61 20 66 75 6e 63 74 69 6f 6e 20 6f 66 20 68 69 67 68 65 72 0a eed.to.use.a.function.of.higher.
73ba0 61 72 69 74 79 2c 20 75 73 65 20 5b 60 2d 61 70 70 6c 69 66 79 60 5d 28 23 2d 61 70 70 6c 69 66 arity,.use.[`-applify`](#-applif
73bc0 79 2d 66 6e 29 20 66 69 72 73 74 20 74 6f 20 74 75 72 6e 20 69 74 20 69 6e 74 6f 20 61 20 75 6e y-fn).first.to.turn.it.into.a.un
73be0 61 72 79 20 66 75 6e 63 74 69 6f 6e 2e 0a 0a 57 69 74 68 20 6e 20 3d 20 30 2c 20 74 68 69 73 20 ary.function...With.n.=.0,.this.
73c00 61 63 74 73 20 61 73 20 69 64 65 6e 74 69 74 79 20 66 75 6e 63 74 69 6f 6e 2e 0a 0a 49 6e 20 74 acts.as.identity.function...In.t
73c20 79 70 65 73 3a 20 28 61 20 2d 3e 20 61 29 20 2d 3e 20 49 6e 74 20 2d 3e 20 61 20 2d 3e 20 61 2e ypes:.(a.->.a).->.Int.->.a.->.a.
73c40 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 73 61 74 69 73 66 69 65 73 20 74 68 65 20 66 6f ..This.function.satisfies.the.fo
73c60 6c 6c 6f 77 69 6e 67 20 6c 61 77 3a 0a 0a 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 69 74 65 llowing.law:......(funcall.(-ite
73c80 72 61 74 65 66 6e 20 66 6e 20 6e 29 20 69 6e 69 74 29 20 3d 20 28 2d 6c 61 73 74 2d 69 74 65 6d ratefn.fn.n).init).=.(-last-item
73ca0 20 28 2d 69 74 65 72 61 74 65 20 66 6e 20 69 6e 69 74 20 28 31 2b 20 6e 29 29 29 2e 0a 0a 60 60 .(-iterate.fn.init.(1+.n)))...``
73cc0 60 65 6c 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 69 74 65 72 61 74 65 66 6e 20 28 6c 61 6d 62 64 61 `el.(funcall.(-iteratefn.(lambda
73ce0 20 28 78 29 20 28 2a 20 78 20 78 29 29 20 33 29 20 32 29 20 3b 3b 20 3d 3e 20 32 35 36 0a 28 66 .(x).(*.x.x)).3).2).;;.=>.256.(f
73d00 75 6e 63 61 6c 6c 20 28 2d 69 74 65 72 61 74 65 66 6e 20 27 31 2b 20 33 29 20 31 29 20 3b 3b 20 uncall.(-iteratefn.'1+.3).1).;;.
73d20 3d 3e 20 34 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 69 74 65 72 61 74 65 66 6e 20 27 63 64 72 20 33 =>.4.(funcall.(-iteratefn.'cdr.3
73d40 29 20 27 28 31 20 32 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 28 34 20 35 29 0a 60 60 60 0a ).'(1.2.3.4.5)).;;.=>.(4.5).```.
73d60 0a 23 23 23 23 20 2d 66 69 78 66 6e 20 60 28 66 6e 20 26 6f 70 74 69 6f 6e 61 6c 20 65 71 75 61 .####.-fixfn.`(fn.&optional.equa
73d80 6c 2d 74 65 73 74 20 68 61 6c 74 2d 74 65 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 66 75 6e l-test.halt-test)`..Return.a.fun
73da0 63 74 69 6f 6e 20 74 68 61 74 20 63 6f 6d 70 75 74 65 73 20 74 68 65 20 28 6c 65 61 73 74 29 20 ction.that.computes.the.(least).
73dc0 66 69 78 70 6f 69 6e 74 20 6f 66 20 60 66 6e 60 2e 0a 0a 60 66 6e 60 20 6d 75 73 74 20 62 65 20 fixpoint.of.`fn`...`fn`.must.be.
73de0 61 20 75 6e 61 72 79 20 66 75 6e 63 74 69 6f 6e 2e 20 54 68 65 20 72 65 74 75 72 6e 65 64 20 6c a.unary.function..The.returned.l
73e00 61 6d 62 64 61 20 74 61 6b 65 73 20 61 20 73 69 6e 67 6c 65 0a 61 72 67 75 6d 65 6e 74 2c 20 60 ambda.takes.a.single.argument,.`
73e20 78 60 2c 20 74 68 65 20 69 6e 69 74 69 61 6c 20 76 61 6c 75 65 20 66 6f 72 20 74 68 65 20 66 69 x`,.the.initial.value.for.the.fi
73e40 78 70 6f 69 6e 74 20 69 74 65 72 61 74 69 6f 6e 2e 20 54 68 65 0a 69 74 65 72 61 74 69 6f 6e 20 xpoint.iteration..The.iteration.
73e60 68 61 6c 74 73 20 77 68 65 6e 20 65 69 74 68 65 72 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69 halts.when.either.of.the.followi
73e80 6e 67 20 63 6f 6e 64 69 74 69 6f 6e 73 20 69 73 20 73 61 74 69 73 66 69 65 64 3a 0a 0a 20 31 2e ng.conditions.is.satisfied:...1.
73ea0 20 49 74 65 72 61 74 69 6f 6e 20 63 6f 6e 76 65 72 67 65 73 20 74 6f 20 74 68 65 20 66 69 78 70 .Iteration.converges.to.the.fixp
73ec0 6f 69 6e 74 2c 20 77 69 74 68 20 65 71 75 61 6c 69 74 79 20 62 65 69 6e 67 0a 20 20 20 20 20 20 oint,.with.equality.being.......
73ee0 74 65 73 74 65 64 20 75 73 69 6e 67 20 60 65 71 75 61 6c 2d 74 65 73 74 60 2e 20 49 66 20 60 65 tested.using.`equal-test`..If.`e
73f00 71 75 61 6c 2d 74 65 73 74 60 20 69 73 20 6e 6f 74 20 73 70 65 63 69 66 69 65 64 2c 0a 20 20 20 qual-test`.is.not.specified,....
73f20 20 20 20 60 65 71 75 61 6c 60 20 69 73 20 75 73 65 64 2e 20 46 6f 72 20 66 75 6e 63 74 69 6f 6e ...`equal`.is.used..For.function
73f40 73 20 6f 76 65 72 20 74 68 65 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 0a 20 20 20 20 20 20 s.over.the.floating.point.......
73f60 6e 75 6d 62 65 72 73 2c 20 69 74 20 6d 61 79 20 62 65 20 6e 65 63 65 73 73 61 72 79 20 74 6f 20 numbers,.it.may.be.necessary.to.
73f80 70 72 6f 76 69 64 65 20 61 6e 20 61 70 70 72 6f 70 72 69 61 74 65 0a 20 20 20 20 20 20 61 70 70 provide.an.appropriate.......app
73fa0 72 6f 78 69 6d 61 74 65 20 63 6f 6d 70 61 72 69 73 6f 6e 20 74 65 73 74 2e 0a 0a 20 32 2e 20 60 roximate.comparison.test....2..`
73fc0 68 61 6c 74 2d 74 65 73 74 60 20 72 65 74 75 72 6e 73 20 61 20 6e 6f 6e 2d 6e 69 6c 20 76 61 6c halt-test`.returns.a.non-nil.val
73fe0 75 65 2e 20 60 68 61 6c 74 2d 74 65 73 74 60 20 64 65 66 61 75 6c 74 73 20 74 6f 20 61 0a 20 20 ue..`halt-test`.defaults.to.a...
74000 20 20 20 20 73 69 6d 70 6c 65 20 63 6f 75 6e 74 65 72 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 ....simple.counter.that.returns.
74020 74 20 61 66 74 65 72 20 60 2d 66 69 78 66 6e 2d 6d 61 78 2d 69 74 65 72 61 74 69 6f 6e 73 60 2c t.after.`-fixfn-max-iterations`,
74040 0a 20 20 20 20 20 20 74 6f 20 67 75 61 72 64 20 61 67 61 69 6e 73 74 20 69 6e 66 69 6e 69 74 65 .......to.guard.against.infinite
74060 20 69 74 65 72 61 74 69 6f 6e 2e 20 4f 74 68 65 72 77 69 73 65 2c 20 60 68 61 6c 74 2d 74 65 73 .iteration..Otherwise,.`halt-tes
74080 74 60 0a 20 20 20 20 20 20 6d 75 73 74 20 62 65 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 t`.......must.be.a.function.that
740a0 20 61 63 63 65 70 74 73 20 61 20 73 69 6e 67 6c 65 20 61 72 67 75 6d 65 6e 74 2c 20 74 68 65 0a .accepts.a.single.argument,.the.
740c0 20 20 20 20 20 20 63 75 72 72 65 6e 74 20 76 61 6c 75 65 20 6f 66 20 60 78 60 2c 20 61 6e 64 20 ......current.value.of.`x`,.and.
740e0 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 20 61 73 20 6c 6f 6e 67 20 61 73 20 69 74 65 72 61 returns.non-nil.as.long.as.itera
74100 74 69 6f 6e 0a 20 20 20 20 20 20 73 68 6f 75 6c 64 20 63 6f 6e 74 69 6e 75 65 2e 20 49 6e 20 74 tion.......should.continue..In.t
74120 68 69 73 20 77 61 79 2c 20 61 20 6d 6f 72 65 20 73 6f 70 68 69 73 74 69 63 61 74 65 64 0a 20 20 his.way,.a.more.sophisticated...
74140 20 20 20 20 63 6f 6e 76 65 72 67 65 6e 63 65 20 74 65 73 74 20 6d 61 79 20 62 65 20 73 75 70 70 ....convergence.test.may.be.supp
74160 6c 69 65 64 20 62 79 20 74 68 65 20 63 61 6c 6c 65 72 2e 0a 0a 54 68 65 20 72 65 74 75 72 6e 20 lied.by.the.caller...The.return.
74180 76 61 6c 75 65 20 6f 66 20 74 68 65 20 6c 61 6d 62 64 61 20 69 73 20 65 69 74 68 65 72 20 74 68 value.of.the.lambda.is.either.th
741a0 65 20 66 69 78 70 6f 69 6e 74 20 6f 72 2c 20 69 66 0a 69 74 65 72 61 74 69 6f 6e 20 68 61 6c 74 e.fixpoint.or,.if.iteration.halt
741c0 65 64 20 62 65 66 6f 72 65 20 63 6f 6e 76 65 72 67 69 6e 67 2c 20 61 20 63 6f 6e 73 20 77 69 74 ed.before.converging,.a.cons.wit
741e0 68 20 63 61 72 20 60 68 61 6c 74 65 64 60 20 61 6e 64 0a 63 64 72 20 74 68 65 20 66 69 6e 61 6c h.car.`halted`.and.cdr.the.final
74200 20 6f 75 74 70 75 74 20 66 72 6f 6d 20 60 68 61 6c 74 2d 74 65 73 74 60 2e 0a 0a 49 6e 20 74 79 .output.from.`halt-test`...In.ty
74220 70 65 73 3a 20 28 61 20 2d 3e 20 61 29 20 2d 3e 20 61 20 2d 3e 20 61 2e 0a 0a 60 60 60 65 6c 0a pes:.(a.->.a).->.a.->.a...```el.
74240 28 66 75 6e 63 61 6c 6c 20 28 2d 66 69 78 66 6e 20 23 27 63 6f 73 20 23 27 61 70 70 72 6f 78 3d (funcall.(-fixfn.#'cos.#'approx=
74260 29 20 30 2e 37 29 20 3b 3b 20 7e 3e 20 30 2e 37 33 39 30 38 35 31 33 33 32 31 35 31 36 30 37 0a ).0.7).;;.~>.0.7390851332151607.
74280 28 66 75 6e 63 61 6c 6c 20 28 2d 66 69 78 66 6e 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 65 78 (funcall.(-fixfn.(lambda.(x).(ex
742a0 70 74 20 28 2b 20 78 20 31 30 29 20 30 2e 32 35 29 29 29 20 32 2e 30 29 20 3b 3b 20 3d 3e 20 31 pt.(+.x.10).0.25))).2.0).;;.=>.1
742c0 2e 38 35 35 35 38 34 35 32 38 36 34 30 39 33 37 38 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 66 69 78 .8555845286409378.(funcall.(-fix
742e0 66 6e 20 23 27 73 69 6e 20 23 27 61 70 70 72 6f 78 3d 29 20 30 2e 31 29 20 3b 3b 20 3d 3e 20 28 fn.#'sin.#'approx=).0.1).;;.=>.(
74300 68 61 6c 74 65 64 20 2e 20 74 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 70 72 6f 64 66 6e 20 60 28 halted...t).```..####.-prodfn.`(
74320 26 72 65 73 74 20 66 6e 73 29 60 0a 0a 54 61 6b 65 20 61 20 6c 69 73 74 20 6f 66 20 6e 20 66 75 &rest.fns)`..Take.a.list.of.n.fu
74340 6e 63 74 69 6f 6e 73 20 61 6e 64 20 72 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 nctions.and.return.a.function.th
74360 61 74 20 74 61 6b 65 73 20 61 0a 6c 69 73 74 20 6f 66 20 6c 65 6e 67 74 68 20 6e 2c 20 61 70 70 at.takes.a.list.of.length.n,.app
74380 6c 79 69 6e 67 20 69 2d 74 68 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 69 2d 74 68 20 65 6c 65 6d lying.i-th.function.to.i-th.elem
743a0 65 6e 74 20 6f 66 20 74 68 65 0a 69 6e 70 75 74 20 6c 69 73 74 2e 20 20 52 65 74 75 72 6e 73 20 ent.of.the.input.list...Returns.
743c0 61 20 6c 69 73 74 20 6f 66 20 6c 65 6e 67 74 68 20 6e 2e 0a 0a 49 6e 20 74 79 70 65 73 20 28 66 a.list.of.length.n...In.types.(f
743e0 6f 72 20 6e 3d 32 29 3a 20 28 28 61 20 2d 3e 20 62 29 2c 20 28 63 20 2d 3e 20 64 29 29 20 2d 3e or.n=2):.((a.->.b),.(c.->.d)).->
74400 20 28 61 2c 20 63 29 20 2d 3e 20 28 62 2c 20 64 29 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e .(a,.c).->.(b,.d)..This.function
74420 20 73 61 74 69 73 66 69 65 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6c 61 77 73 3a 0a 0a .satisfies.the.following.laws:..
74440 20 20 20 20 28 2d 63 6f 6d 70 6f 73 65 20 28 2d 70 72 6f 64 66 6e 20 66 20 67 20 2e 2e 2e 29 20 ....(-compose.(-prodfn.f.g....).
74460 28 2d 70 72 6f 64 66 6e 20 66 27 20 67 27 20 2e 2e 2e 29 29 20 3d 20 28 2d 70 72 6f 64 66 6e 20 (-prodfn.f'.g'....)).=.(-prodfn.
74480 28 2d 63 6f 6d 70 6f 73 65 20 66 20 66 27 29 20 28 2d 63 6f 6d 70 6f 73 65 20 67 20 67 27 29 20 (-compose.f.f').(-compose.g.g').
744a0 2e 2e 2e 29 0a 20 20 20 20 28 2d 70 72 6f 64 66 6e 20 66 20 67 20 2e 2e 2e 29 20 3d 20 28 2d 6a ...).....(-prodfn.f.g....).=.(-j
744c0 75 78 74 20 28 2d 63 6f 6d 70 6f 73 65 20 66 20 28 2d 70 61 72 74 69 61 6c 20 27 6e 74 68 20 30 uxt.(-compose.f.(-partial.'nth.0
744e0 29 29 20 28 2d 63 6f 6d 70 6f 73 65 20 67 20 28 2d 70 61 72 74 69 61 6c 20 27 6e 74 68 20 31 29 )).(-compose.g.(-partial.'nth.1)
74500 29 20 2e 2e 2e 29 0a 20 20 20 20 28 2d 63 6f 6d 70 6f 73 65 20 28 2d 70 72 6f 64 66 6e 20 66 20 )....).....(-compose.(-prodfn.f.
74520 67 20 2e 2e 2e 29 20 28 2d 6a 75 78 74 20 66 27 20 67 27 20 2e 2e 2e 29 29 20 3d 20 28 2d 6a 75 g....).(-juxt.f'.g'....)).=.(-ju
74540 78 74 20 28 2d 63 6f 6d 70 6f 73 65 20 66 20 66 27 29 20 28 2d 63 6f 6d 70 6f 73 65 20 67 20 67 xt.(-compose.f.f').(-compose.g.g
74560 27 29 20 2e 2e 2e 29 0a 20 20 20 20 28 2d 63 6f 6d 70 6f 73 65 20 28 2d 70 61 72 74 69 61 6c 20 ')....).....(-compose.(-partial.
74580 27 6e 74 68 20 6e 29 20 28 2d 70 72 6f 64 20 66 31 20 66 32 20 2e 2e 2e 29 29 20 3d 20 28 2d 63 'nth.n).(-prod.f1.f2....)).=.(-c
745a0 6f 6d 70 6f 73 65 20 66 6e 20 28 2d 70 61 72 74 69 61 6c 20 27 6e 74 68 20 6e 29 29 0a 0a 60 60 ompose.fn.(-partial.'nth.n))..``
745c0 60 65 6c 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 70 72 6f 64 66 6e 20 27 31 2b 20 27 31 2d 20 27 6e `el.(funcall.(-prodfn.'1+.'1-.'n
745e0 75 6d 62 65 72 2d 74 6f 2d 73 74 72 69 6e 67 29 20 27 28 31 20 32 20 33 29 29 20 3b 3b 20 3d 3e umber-to-string).'(1.2.3)).;;.=>
74600 20 28 32 20 31 20 22 33 22 29 0a 28 2d 6d 61 70 20 28 2d 70 72 6f 64 66 6e 20 27 31 2b 20 27 31 .(2.1."3").(-map.(-prodfn.'1+.'1
74620 2d 29 20 27 28 28 31 20 32 29 20 28 33 20 34 29 20 28 35 20 36 29 20 28 37 20 38 29 29 29 20 3b -).'((1.2).(3.4).(5.6).(7.8))).;
74640 3b 20 3d 3e 20 28 28 32 20 31 29 20 28 34 20 33 29 20 28 36 20 35 29 20 28 38 20 37 29 29 0a 28 ;.=>.((2.1).(4.3).(6.5).(8.7)).(
74660 61 70 70 6c 79 20 27 2b 20 28 66 75 6e 63 61 6c 6c 20 28 2d 70 72 6f 64 66 6e 20 27 6c 65 6e 67 apply.'+.(funcall.(-prodfn.'leng
74680 74 68 20 27 73 74 72 69 6e 67 2d 74 6f 2d 6e 75 6d 62 65 72 29 20 27 28 28 31 20 32 20 33 29 20 th.'string-to-number).'((1.2.3).
746a0 22 31 35 22 29 29 29 20 3b 3b 20 3d 3e 20 31 38 0a 60 60 60 0a 0a 23 23 20 43 6f 6e 74 72 69 62 "15"))).;;.=>.18.```..##.Contrib
746c0 75 74 65 0a 0a 59 65 73 2c 20 70 6c 65 61 73 65 20 64 6f 2e 20 20 50 75 72 65 20 66 75 6e 63 74 ute..Yes,.please.do...Pure.funct
746e0 69 6f 6e 73 20 69 6e 20 74 68 65 20 6c 69 73 74 20 6d 61 6e 69 70 75 6c 61 74 69 6f 6e 20 72 65 ions.in.the.list.manipulation.re
74700 61 6c 6d 20 6f 6e 6c 79 2c 0a 70 6c 65 61 73 65 2e 20 20 54 68 65 72 65 27 73 20 61 20 73 75 69 alm.only,.please...There's.a.sui
74720 74 65 20 6f 66 20 65 78 61 6d 70 6c 65 73 2f 74 65 73 74 73 20 69 6e 20 60 64 65 76 2f 65 78 61 te.of.examples/tests.in.`dev/exa
74740 6d 70 6c 65 73 2e 65 6c 60 2c 20 73 6f 0a 72 65 6d 65 6d 62 65 72 20 74 6f 20 61 64 64 20 74 65 mples.el`,.so.remember.to.add.te
74760 73 74 73 20 66 6f 72 20 79 6f 75 72 20 61 64 64 69 74 69 6f 6e 73 2c 20 6f 72 20 49 20 6d 69 67 sts.for.your.additions,.or.I.mig
74780 68 74 20 62 72 65 61 6b 20 74 68 65 6d 20 6c 61 74 65 72 2e 0a 0a 59 6f 75 27 6c 6c 20 66 69 6e ht.break.them.later...You'll.fin
747a0 64 20 74 68 65 20 72 65 70 6f 20 61 74 3a 0a 0a 20 20 20 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 d.the.repo.at:......https://gith
747c0 75 62 2e 63 6f 6d 2f 6d 61 67 6e 61 72 73 2f 64 61 73 68 2e 65 6c 0a 0a 52 75 6e 20 74 68 65 20 ub.com/magnars/dash.el..Run.the.
747e0 74 65 73 74 73 20 77 69 74 68 3a 0a 0a 20 20 20 20 6d 61 6b 65 20 63 68 65 63 6b 0a 0a 52 65 67 tests.with:......make.check..Reg
74800 65 6e 65 72 61 74 65 20 74 68 65 20 64 6f 63 73 20 77 69 74 68 3a 0a 0a 20 20 20 20 6d 61 6b 65 enerate.the.docs.with:......make
74820 20 64 6f 63 73 0a 0a 49 20 68 69 67 68 6c 79 20 72 65 63 6f 6d 6d 65 6e 64 20 74 68 61 74 20 79 .docs..I.highly.recommend.that.y
74840 6f 75 20 69 6e 73 74 61 6c 6c 20 74 68 65 73 65 20 61 73 20 61 20 70 72 65 2d 63 6f 6d 6d 69 74 ou.install.these.as.a.pre-commit
74860 20 68 6f 6f 6b 2c 20 73 6f 0a 74 68 61 74 20 74 68 65 20 74 65 73 74 73 20 61 72 65 20 61 6c 77 .hook,.so.that.the.tests.are.alw
74880 61 79 73 20 72 75 6e 6e 69 6e 67 20 61 6e 64 20 74 68 65 20 64 6f 63 73 20 61 72 65 20 61 6c 77 ays.running.and.the.docs.are.alw
748a0 61 79 73 20 69 6e 20 73 79 6e 63 3a 0a 0a 20 20 20 20 63 70 20 64 65 76 2f 70 72 65 2d 63 6f 6d ays.in.sync:......cp.dev/pre-com
748c0 6d 69 74 2e 73 68 20 2e 67 69 74 2f 68 6f 6f 6b 73 2f 70 72 65 2d 63 6f 6d 6d 69 74 0a 0a 4f 68 mit.sh..git/hooks/pre-commit..Oh
748e0 2c 20 61 6e 64 20 64 6f 6e 27 74 20 65 64 69 74 20 60 52 45 41 44 4d 45 2e 6d 64 60 20 6f 72 20 ,.and.don't.edit.`README.md`.or.
74900 60 64 61 73 68 2e 74 65 78 69 60 20 64 69 72 65 63 74 6c 79 3b 20 74 68 65 79 20 61 72 65 0a 61 `dash.texi`.directly;.they.are.a
74920 75 74 6f 2d 67 65 6e 65 72 61 74 65 64 2e 20 20 43 68 61 6e 67 65 20 60 72 65 61 64 6d 65 2d 74 uto-generated...Change.`readme-t
74940 65 6d 70 6c 61 74 65 2e 6d 64 60 20 6f 72 20 60 64 61 73 68 2d 74 65 6d 70 6c 61 74 65 2e 74 65 emplate.md`.or.`dash-template.te
74960 78 69 60 0a 69 6e 73 74 65 61 64 2c 20 72 65 73 70 65 63 74 69 76 65 6c 79 2e 0a 0a 54 6f 20 65 xi`.instead,.respectively...To.e
74980 6e 73 75 72 65 20 74 68 61 74 20 60 64 61 73 68 2e 65 6c 60 20 63 61 6e 20 62 65 20 64 69 73 74 nsure.that.`dash.el`.can.be.dist
749a0 72 69 62 75 74 65 64 20 77 69 74 68 20 47 4e 55 20 45 4c 50 41 20 6f 72 20 45 6d 61 63 73 2c 20 ributed.with.GNU.ELPA.or.Emacs,.
749c0 77 65 0a 72 65 71 75 69 72 65 20 74 68 61 74 20 61 6c 6c 20 63 6f 6e 74 72 69 62 75 74 6f 72 73 we.require.that.all.contributors
749e0 20 61 73 73 69 67 6e 20 63 6f 70 79 72 69 67 68 74 20 74 6f 20 74 68 65 20 46 72 65 65 20 53 6f .assign.copyright.to.the.Free.So
74a00 66 74 77 61 72 65 0a 46 6f 75 6e 64 61 74 69 6f 6e 2e 20 20 46 6f 72 20 6d 6f 72 65 20 6f 6e 20 ftware.Foundation...For.more.on.
74a20 74 68 69 73 2c 20 73 65 65 20 5b 60 28 69 6e 66 6f 20 22 28 65 6d 61 63 73 29 20 43 6f 70 79 72 this,.see.[`(info."(emacs).Copyr
74a40 69 67 68 74 0a 41 73 73 69 67 6e 6d 65 6e 74 22 29 60 5d 28 68 74 74 70 73 3a 2f 2f 67 6e 75 2e ight.Assignment")`](https://gnu.
74a60 6f 72 67 2f 73 6f 66 74 77 61 72 65 2f 65 6d 61 63 73 2f 6d 61 6e 75 61 6c 2f 68 74 6d 6c 5f 6e org/software/emacs/manual/html_n
74a80 6f 64 65 2f 65 6d 61 63 73 2f 43 6f 70 79 72 69 67 68 74 2d 41 73 73 69 67 6e 6d 65 6e 74 2e 68 ode/emacs/Copyright-Assignment.h
74aa0 74 6d 6c 29 2e 0a 0a 23 23 20 43 6f 6e 74 72 69 62 75 74 6f 72 73 0a 0a 2d 20 5b 4d 61 74 75 73 tml)...##.Contributors..-.[Matus
74ac0 20 47 6f 6c 6a 65 72 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 46 75 63 6f .Goljer](https://github.com/Fuco
74ae0 31 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 6c 6f 74 73 20 6f 66 20 66 65 61 74 75 72 65 73 20 1).contributed.lots.of.features.
74b00 61 6e 64 0a 20 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 2d 20 5b 54 61 6b 61 66 75 6d 69 20 41 72 61 and...functions..-.[Takafumi.Ara
74b20 6b 61 6b 69 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 74 6b 66 29 20 63 6f kaki](https://github.com/tkf).co
74b40 6e 74 72 69 62 75 74 65 64 20 60 2d 67 72 6f 75 70 2d 62 79 60 2e 0a 2d 20 5b 74 61 6c 69 37 31 ntributed.`-group-by`..-.[tali71
74b60 33 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 74 61 6c 69 37 31 33 29 20 69 3](https://github.com/tali713).i
74b80 73 20 74 68 65 20 61 75 74 68 6f 72 20 6f 66 20 60 2d 61 70 70 6c 69 66 79 60 2e 0a 2d 20 5b 56 s.the.author.of.`-applify`..-.[V
74ba0 c3 ad 63 74 6f 72 20 4d 2e 20 56 61 6c 65 6e 7a 75 65 6c 61 5d 28 68 74 74 70 73 3a 2f 2f 67 69 ..ctor.M..Valenzuela](https://gi
74bc0 74 68 75 62 2e 63 6f 6d 2f 76 65 6d 76 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 60 2d 72 65 70 thub.com/vemv).contributed.`-rep
74be0 65 61 74 60 2e 0a 2d 20 5b 4e 69 63 20 46 65 72 72 69 65 72 5d 28 68 74 74 70 73 3a 2f 2f 67 69 eat`..-.[Nic.Ferrier](https://gi
74c00 74 68 75 62 2e 63 6f 6d 2f 6e 69 63 66 65 72 72 69 65 72 29 20 63 6f 6e 74 72 69 62 75 74 65 64 thub.com/nicferrier).contributed
74c20 20 60 2d 63 6f 6e 73 2a 60 2e 0a 2d 20 5b 57 69 6c 66 72 65 64 20 48 75 67 68 65 73 5d 28 68 74 .`-cons*`..-.[Wilfred.Hughes](ht
74c40 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 57 69 6c 66 72 65 64 29 20 63 6f 6e 74 72 69 tps://github.com/Wilfred).contri
74c60 62 75 74 65 64 20 60 2d 73 6c 69 63 65 60 2c 0a 20 20 60 2d 66 69 72 73 74 2d 69 74 65 6d 60 2c buted.`-slice`,...`-first-item`,
74c80 20 61 6e 64 20 60 2d 6c 61 73 74 2d 69 74 65 6d 60 2e 0a 2d 20 5b 45 6d 61 6e 75 65 6c 20 45 76 .and.`-last-item`..-.[Emanuel.Ev
74ca0 61 6e 73 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 73 68 6f 73 74 69 29 20 ans](https://github.com/shosti).
74cc0 63 6f 6e 74 72 69 62 75 74 65 64 20 60 2d 69 66 2d 6c 65 74 60 2c 20 60 2d 77 68 65 6e 2d 6c 65 contributed.`-if-let`,.`-when-le
74ce0 74 60 2c 0a 20 20 61 6e 64 20 60 2d 69 6e 73 65 72 74 2d 61 74 60 2e 0a 2d 20 5b 4a 6f 68 61 6e t`,...and.`-insert-at`..-.[Johan
74d00 20 41 6e 64 65 72 73 73 6f 6e 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 72 .Andersson](https://github.com/r
74d20 65 6a 65 65 70 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 60 2d 73 75 6d 60 2c 20 60 2d 70 72 6f ejeep).contributed.`-sum`,.`-pro
74d40 64 75 63 74 60 2c 0a 20 20 61 6e 64 20 60 2d 73 61 6d 65 2d 69 74 65 6d 73 3f 60 2e 0a 2d 20 5b duct`,...and.`-same-items?`..-.[
74d60 43 68 72 69 73 74 69 6e 61 20 57 68 79 74 65 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e Christina.Whyte](https://github.
74d80 63 6f 6d 2f 6b 75 72 69 73 75 77 68 79 74 65 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 60 2d 63 com/kurisuwhyte).contributed.`-c
74da0 6f 6d 70 6f 73 65 60 2e 0a 2d 20 5b 53 74 65 76 65 20 4c 61 6d 62 5d 28 68 74 74 70 73 3a 2f 2f ompose`..-.[Steve.Lamb](https://
74dc0 67 69 74 68 75 62 2e 63 6f 6d 2f 73 74 65 76 65 6e 74 6c 61 6d 62 29 20 63 6f 6e 74 72 69 62 75 github.com/steventlamb).contribu
74de0 74 65 64 20 60 2d 63 79 63 6c 65 60 2c 20 60 2d 70 61 64 60 2c 0a 20 20 60 2d 61 6e 6e 6f 74 61 ted.`-cycle`,.`-pad`,...`-annota
74e00 74 65 60 2c 20 60 2d 7a 69 70 2d 66 69 6c 6c 60 2c 20 61 6e 64 20 61 20 76 61 72 69 61 64 69 63 te`,.`-zip-fill`,.and.a.variadic
74e20 20 76 65 72 73 69 6f 6e 20 6f 66 20 60 2d 7a 69 70 60 2e 0a 2d 20 5b 46 72 65 64 72 69 6b 20 42 .version.of.`-zip`..-.[Fredrik.B
74e40 65 72 67 72 6f 74 68 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 66 62 65 72 ergroth](https://github.com/fber
74e60 67 72 6f 74 68 29 20 6d 61 64 65 20 74 68 65 20 60 2d 69 66 2d 6c 65 74 60 20 66 61 6d 69 6c 79 groth).made.the.`-if-let`.family
74e80 20 75 73 65 0a 20 20 60 2d 6c 65 74 60 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 20 61 6e 64 20 .use...`-let`.destructuring.and.
74ea0 69 6d 70 72 6f 76 65 64 20 74 68 65 20 73 63 72 69 70 74 20 66 6f 72 20 67 65 6e 65 72 61 74 69 improved.the.script.for.generati
74ec0 6e 67 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2e 0a 2d 20 5b 4d 61 72 6b 20 4f 74 65 69 7a 61 ng.documentation..-.[Mark.Oteiza
74ee0 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 68 6f 6c 6f 6d 6f 72 70 68 29 20 ](https://github.com/holomorph).
74f00 63 6f 6e 74 72 69 62 75 74 65 64 20 60 2d 69 6f 74 61 60 20 61 6e 64 0a 20 20 74 68 65 20 73 63 contributed.`-iota`.and...the.sc
74f20 72 69 70 74 20 74 6f 20 63 72 65 61 74 65 20 61 6e 20 49 6e 66 6f 20 6d 61 6e 75 61 6c 2e 0a 2d ript.to.create.an.Info.manual..-
74f40 20 5b 56 61 73 69 6c 69 6a 20 53 63 68 6e 65 69 64 65 72 6d 61 6e 6e 5d 28 68 74 74 70 73 3a 2f .[Vasilij.Schneidermann](https:/
74f60 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 77 61 73 61 6d 61 73 61 29 20 63 6f 6e 74 72 69 62 75 74 65 /github.com/wasamasa).contribute
74f80 64 20 60 2d 73 6f 6d 65 60 2e 0a 2d 20 5b 57 69 6c 6c 69 61 6d 20 57 65 73 74 5d 28 68 74 74 70 d.`-some`..-.[William.West](http
74fa0 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6f 63 63 69 64 65 6e 73 29 20 6d 61 64 65 20 60 2d s://github.com/occidens).made.`-
74fc0 66 69 78 66 6e 60 20 6d 6f 72 65 20 72 6f 62 75 73 74 20 61 74 0a 20 20 68 61 6e 64 6c 69 6e 67 fixfn`.more.robust.at...handling
74fe0 20 66 6c 6f 61 74 73 2e 0a 2d 20 5b 43 61 6d 20 53 61 75 6c 5d 28 68 74 74 70 73 3a 2f 2f 67 69 .floats..-.[Cam.Saul](https://gi
75000 74 68 75 62 2e 63 6f 6d 2f 63 61 6d 73 61 75 6c 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 60 2d thub.com/camsaul).contributed.`-
75020 73 6f 6d 65 2d 3e 60 2c 20 60 2d 73 6f 6d 65 2d 3e 3e 60 2c 20 61 6e 64 0a 20 20 60 2d 73 6f 6d some->`,.`-some->>`,.and...`-som
75040 65 2d 2d 3e 60 2e 0a 2d 20 5b 42 61 73 69 6c 20 4c 2e 20 43 6f 6e 74 6f 76 6f 75 6e 65 73 69 6f e-->`..-.[Basil.L..Contovounesio
75060 73 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 62 61 73 69 6c 2d 63 6f 6e 74 s](https://github.com/basil-cont
75080 6f 29 20 63 6f 6e 74 72 69 62 75 74 65 64 0a 20 20 60 2d 63 6f 6d 6d 6f 6e 2d 70 72 65 66 69 78 o).contributed...`-common-prefix
750a0 60 2c 20 60 2d 63 6f 6d 6d 6f 6e 2d 73 75 66 66 69 78 60 2c 20 61 6e 64 20 76 61 72 69 6f 75 73 `,.`-common-suffix`,.and.various
750c0 20 6f 74 68 65 72 20 69 6d 70 72 6f 76 65 6d 65 6e 74 73 2e 0a 2d 20 5b 50 61 75 6c 20 50 6f 67 .other.improvements..-.[Paul.Pog
750e0 6f 6e 79 73 68 65 76 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 64 6f 75 62 onyshev](https://github.com/doub
75100 6c 65 70 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 60 2d 65 61 63 68 2d 72 60 20 61 6e 64 0a 20 lep).contributed.`-each-r`.and..
75120 20 60 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 60 2e 0a 0a 54 68 61 6e 6b 73 21 0a 0a 4e 65 77 20 .`-each-r-while`...Thanks!..New.
75140 63 6f 6e 74 72 69 62 75 74 6f 72 73 20 61 72 65 20 76 65 72 79 20 77 65 6c 63 6f 6d 65 2e 20 20 contributors.are.very.welcome...
75160 53 65 65 20 74 68 65 0a 5b 60 43 6f 6e 74 72 69 62 75 74 65 60 5d 28 23 63 6f 6e 74 72 69 62 75 See.the.[`Contribute`](#contribu
75180 74 65 29 20 73 65 63 74 69 6f 6e 20 61 62 6f 76 65 2e 0a 0a 23 23 20 4c 69 63 65 6e 73 65 0a 0a te).section.above...##.License..
751a0 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 31 32 2d 32 30 32 31 20 46 72 65 65 20 53 6f 66 Copyright.(C).2012-2021.Free.Sof
751c0 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 0a 41 75 74 68 6f 72 3a 20 tware.Foundation,.Inc...Author:.
751e0 4d 61 67 6e 61 72 20 53 76 65 65 6e 20 3c 6d 61 67 6e 61 72 73 40 67 6d 61 69 6c 2e 63 6f 6d 3e Magnar.Sveen.<magnars@gmail.com>
75200 0a 0a 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a ..This.program.is.free.software:
75220 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 .you.can.redistribute.it.and/or.
75240 6d 6f 64 69 66 79 0a 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 modify.it.under.the.terms.of.the
75260 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 .GNU.General.Public.License.as.p
75280 75 62 6c 69 73 68 65 64 20 62 79 0a 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f ublished.by.the.Free.Software.Fo
752a0 75 6e 64 61 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 undation,.either.version.3.of.th
752c0 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 e.License,.or.(at.your.option).a
752e0 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 54 68 69 73 20 70 72 6f 67 72 61 6d 20 ny.later.version...This.program.
75300 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 74 20 is.distributed.in.the.hope.that.
75320 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 62 75 74 20 57 49 54 48 4f 55 54 20 41 it.will.be.useful,.but.WITHOUT.A
75340 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 68 65 20 69 6d NY.WARRANTY;.without.even.the.im
75360 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 plied.warranty.of.MERCHANTABILIT
75380 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 Y.or.FITNESS.FOR.A.PARTICULAR.PU
753a0 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c RPOSE...See.the.GNU.General.Publ
753c0 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 59 6f ic.License.for.more.details...Yo
753e0 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 u.should.have.received.a.copy.of
75400 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a .the.GNU.General.Public.License.
75420 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 along.with.this.program...If.not
75440 2c 20 73 65 65 20 3c 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e ,.see.<https://www.gnu.org/licen
75460 73 65 73 2f 3e 2e 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ses/>...........................
75480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
754a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
754c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
754e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
75500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
75520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
75540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
75560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
75580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
755a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
755c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
755e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
75600 64 61 73 68 2d 32 2e 31 39 2e 31 2f 64 6f 63 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 dash-2.19.1/doc/................
75620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
75640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
75660 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
75680 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 31 37 32 37 00 20 35 00 00 00 0000000.00000000000.011727..5...
756a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
756c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
756e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
75700 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...................
75720 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...................
75740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
75760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
75780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
757a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
757c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
757e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
75800 64 61 73 68 2d 32 2e 31 39 2e 31 2f 64 6f 63 2f 67 70 6c 2e 74 65 78 69 00 00 00 00 00 00 00 00 dash-2.19.1/doc/gpl.texi........
75820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
75840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
75860 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
75880 30 31 30 34 34 32 31 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 34 30 36 00 20 30 00 00 00 0104421.00000000000.013406..0...
758a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
758c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
758e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
75900 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...................
75920 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...................
75940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
75960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
75980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
759a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
759c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
759e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
75a00 40 63 20 54 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 @c.The.GNU.General.Public.Licens
75a20 65 2e 0a 40 63 65 6e 74 65 72 20 56 65 72 73 69 6f 6e 20 33 2c 20 32 39 20 4a 75 6e 65 20 32 30 e..@center.Version.3,.29.June.20
75a40 30 37 0a 0a 40 63 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 07..@c.This.file.is.intended.to.
75a60 62 65 20 69 6e 63 6c 75 64 65 64 20 77 69 74 68 69 6e 20 61 6e 6f 74 68 65 72 20 64 6f 63 75 6d be.included.within.another.docum
75a80 65 6e 74 2c 0a 40 63 20 68 65 6e 63 65 20 6e 6f 20 73 65 63 74 69 6f 6e 69 6e 67 20 63 6f 6d 6d ent,.@c.hence.no.sectioning.comm
75aa0 61 6e 64 20 6f 72 20 40 6e 6f 64 65 2e 0a 0a 40 64 69 73 70 6c 61 79 0a 43 6f 70 79 72 69 67 68 and.or.@node...@display.Copyrigh
75ac0 74 20 40 63 6f 70 79 72 69 67 68 74 7b 7d 20 32 30 30 37 20 46 72 65 65 20 53 6f 66 74 77 61 72 t.@copyright{}.2007.Free.Softwar
75ae0 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 20 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f e.Foundation,.Inc..@url{https://
75b00 66 73 66 2e 6f 72 67 2f 7d 0a 0a 45 76 65 72 79 6f 6e 65 20 69 73 20 70 65 72 6d 69 74 74 65 64 fsf.org/}..Everyone.is.permitted
75b20 20 74 6f 20 63 6f 70 79 20 61 6e 64 20 64 69 73 74 72 69 62 75 74 65 20 76 65 72 62 61 74 69 6d .to.copy.and.distribute.verbatim
75b40 20 63 6f 70 69 65 73 20 6f 66 20 74 68 69 73 0a 6c 69 63 65 6e 73 65 20 64 6f 63 75 6d 65 6e 74 .copies.of.this.license.document
75b60 2c 20 62 75 74 20 63 68 61 6e 67 69 6e 67 20 69 74 20 69 73 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 ,.but.changing.it.is.not.allowed
75b80 2e 0a 40 65 6e 64 20 64 69 73 70 6c 61 79 0a 0a 40 68 65 61 64 69 6e 67 20 50 72 65 61 6d 62 6c ..@end.display..@heading.Preambl
75ba0 65 0a 0a 54 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 e..The.GNU.General.Public.Licens
75bc0 65 20 69 73 20 61 20 66 72 65 65 2c 20 63 6f 70 79 6c 65 66 74 20 6c 69 63 65 6e 73 65 20 66 6f e.is.a.free,.copyleft.license.fo
75be0 72 0a 73 6f 66 74 77 61 72 65 20 61 6e 64 20 6f 74 68 65 72 20 6b 69 6e 64 73 20 6f 66 20 77 6f r.software.and.other.kinds.of.wo
75c00 72 6b 73 2e 0a 0a 54 68 65 20 6c 69 63 65 6e 73 65 73 20 66 6f 72 20 6d 6f 73 74 20 73 6f 66 74 rks...The.licenses.for.most.soft
75c20 77 61 72 65 20 61 6e 64 20 6f 74 68 65 72 20 70 72 61 63 74 69 63 61 6c 20 77 6f 72 6b 73 20 61 ware.and.other.practical.works.a
75c40 72 65 20 64 65 73 69 67 6e 65 64 0a 74 6f 20 74 61 6b 65 20 61 77 61 79 20 79 6f 75 72 20 66 72 re.designed.to.take.away.your.fr
75c60 65 65 64 6f 6d 20 74 6f 20 73 68 61 72 65 20 61 6e 64 20 63 68 61 6e 67 65 20 74 68 65 20 77 6f eedom.to.share.and.change.the.wo
75c80 72 6b 73 2e 20 20 42 79 20 63 6f 6e 74 72 61 73 74 2c 0a 74 68 65 20 47 4e 55 20 47 65 6e 65 72 rks...By.contrast,.the.GNU.Gener
75ca0 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 69 73 20 69 6e 74 65 6e 64 65 64 20 74 6f al.Public.License.is.intended.to
75cc0 20 67 75 61 72 61 6e 74 65 65 20 79 6f 75 72 20 66 72 65 65 64 6f 6d 0a 74 6f 20 73 68 61 72 65 .guarantee.your.freedom.to.share
75ce0 20 61 6e 64 20 63 68 61 6e 67 65 20 61 6c 6c 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 61 20 70 72 .and.change.all.versions.of.a.pr
75d00 6f 67 72 61 6d 2d 2d 2d 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 69 74 20 72 65 6d 61 69 6e 73 0a ogram---to.make.sure.it.remains.
75d20 66 72 65 65 20 73 6f 66 74 77 61 72 65 20 66 6f 72 20 61 6c 6c 20 69 74 73 20 75 73 65 72 73 2e free.software.for.all.its.users.
75d40 20 20 57 65 2c 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 74 69 ..We,.the.Free.Software.Foundati
75d60 6f 6e 2c 0a 75 73 65 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 on,.use.the.GNU.General.Public.L
75d80 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 73 74 20 6f 66 20 6f 75 72 20 73 6f 66 74 77 61 72 65 3b icense.for.most.of.our.software;
75da0 20 69 74 0a 61 70 70 6c 69 65 73 20 61 6c 73 6f 20 74 6f 20 61 6e 79 20 6f 74 68 65 72 20 77 6f .it.applies.also.to.any.other.wo
75dc0 72 6b 20 72 65 6c 65 61 73 65 64 20 74 68 69 73 20 77 61 79 20 62 79 20 69 74 73 20 61 75 74 68 rk.released.this.way.by.its.auth
75de0 6f 72 73 2e 20 20 59 6f 75 0a 63 61 6e 20 61 70 70 6c 79 20 69 74 20 74 6f 20 79 6f 75 72 20 70 ors...You.can.apply.it.to.your.p
75e00 72 6f 67 72 61 6d 73 2c 20 74 6f 6f 2e 0a 0a 57 68 65 6e 20 77 65 20 73 70 65 61 6b 20 6f 66 20 rograms,.too...When.we.speak.of.
75e20 66 72 65 65 20 73 6f 66 74 77 61 72 65 2c 20 77 65 20 61 72 65 20 72 65 66 65 72 72 69 6e 67 20 free.software,.we.are.referring.
75e40 74 6f 20 66 72 65 65 64 6f 6d 2c 20 6e 6f 74 0a 70 72 69 63 65 2e 20 20 4f 75 72 20 47 65 6e 65 to.freedom,.not.price...Our.Gene
75e60 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 73 20 61 72 65 20 64 65 73 69 67 6e 65 64 ral.Public.Licenses.are.designed
75e80 20 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 74 68 61 74 20 79 6f 75 0a 68 61 76 65 20 74 68 65 20 .to.make.sure.that.you.have.the.
75ea0 66 72 65 65 64 6f 6d 20 74 6f 20 64 69 73 74 72 69 62 75 74 65 20 63 6f 70 69 65 73 20 6f 66 20 freedom.to.distribute.copies.of.
75ec0 66 72 65 65 20 73 6f 66 74 77 61 72 65 20 28 61 6e 64 20 63 68 61 72 67 65 20 66 6f 72 0a 74 68 free.software.(and.charge.for.th
75ee0 65 6d 20 69 66 20 79 6f 75 20 77 69 73 68 29 2c 20 74 68 61 74 20 79 6f 75 20 72 65 63 65 69 76 em.if.you.wish),.that.you.receiv
75f00 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 6f 72 20 63 61 6e 20 67 65 74 20 69 74 20 69 66 20 79 e.source.code.or.can.get.it.if.y
75f20 6f 75 0a 77 61 6e 74 20 69 74 2c 20 74 68 61 74 20 79 6f 75 20 63 61 6e 20 63 68 61 6e 67 65 20 ou.want.it,.that.you.can.change.
75f40 74 68 65 20 73 6f 66 74 77 61 72 65 20 6f 72 20 75 73 65 20 70 69 65 63 65 73 20 6f 66 20 69 74 the.software.or.use.pieces.of.it
75f60 20 69 6e 20 6e 65 77 0a 66 72 65 65 20 70 72 6f 67 72 61 6d 73 2c 20 61 6e 64 20 74 68 61 74 20 .in.new.free.programs,.and.that.
75f80 79 6f 75 20 6b 6e 6f 77 20 79 6f 75 20 63 61 6e 20 64 6f 20 74 68 65 73 65 20 74 68 69 6e 67 73 you.know.you.can.do.these.things
75fa0 2e 0a 0a 54 6f 20 70 72 6f 74 65 63 74 20 79 6f 75 72 20 72 69 67 68 74 73 2c 20 77 65 20 6e 65 ...To.protect.your.rights,.we.ne
75fc0 65 64 20 74 6f 20 70 72 65 76 65 6e 74 20 6f 74 68 65 72 73 20 66 72 6f 6d 20 64 65 6e 79 69 6e ed.to.prevent.others.from.denyin
75fe0 67 20 79 6f 75 0a 74 68 65 73 65 20 72 69 67 68 74 73 20 6f 72 20 61 73 6b 69 6e 67 20 79 6f 75 g.you.these.rights.or.asking.you
76000 20 74 6f 20 73 75 72 72 65 6e 64 65 72 20 74 68 65 20 72 69 67 68 74 73 2e 20 20 54 68 65 72 65 .to.surrender.the.rights...There
76020 66 6f 72 65 2c 20 79 6f 75 0a 68 61 76 65 20 63 65 72 74 61 69 6e 20 72 65 73 70 6f 6e 73 69 62 fore,.you.have.certain.responsib
76040 69 6c 69 74 69 65 73 20 69 66 20 79 6f 75 20 64 69 73 74 72 69 62 75 74 65 20 63 6f 70 69 65 73 ilities.if.you.distribute.copies
76060 20 6f 66 20 74 68 65 0a 73 6f 66 74 77 61 72 65 2c 20 6f 72 20 69 66 20 79 6f 75 20 6d 6f 64 69 .of.the.software,.or.if.you.modi
76080 66 79 20 69 74 3a 20 72 65 73 70 6f 6e 73 69 62 69 6c 69 74 69 65 73 20 74 6f 20 72 65 73 70 65 fy.it:.responsibilities.to.respe
760a0 63 74 20 74 68 65 20 66 72 65 65 64 6f 6d 0a 6f 66 20 6f 74 68 65 72 73 2e 0a 0a 46 6f 72 20 65 ct.the.freedom.of.others...For.e
760c0 78 61 6d 70 6c 65 2c 20 69 66 20 79 6f 75 20 64 69 73 74 72 69 62 75 74 65 20 63 6f 70 69 65 73 xample,.if.you.distribute.copies
760e0 20 6f 66 20 73 75 63 68 20 61 20 70 72 6f 67 72 61 6d 2c 20 77 68 65 74 68 65 72 0a 67 72 61 74 .of.such.a.program,.whether.grat
76100 69 73 20 6f 72 20 66 6f 72 20 61 20 66 65 65 2c 20 79 6f 75 20 6d 75 73 74 20 70 61 73 73 20 6f is.or.for.a.fee,.you.must.pass.o
76120 6e 20 74 6f 20 74 68 65 20 72 65 63 69 70 69 65 6e 74 73 20 74 68 65 20 73 61 6d 65 0a 66 72 65 n.to.the.recipients.the.same.fre
76140 65 64 6f 6d 73 20 74 68 61 74 20 79 6f 75 20 72 65 63 65 69 76 65 64 2e 20 20 59 6f 75 20 6d 75 edoms.that.you.received...You.mu
76160 73 74 20 6d 61 6b 65 20 73 75 72 65 20 74 68 61 74 20 74 68 65 79 2c 20 74 6f 6f 2c 0a 72 65 63 st.make.sure.that.they,.too,.rec
76180 65 69 76 65 20 6f 72 20 63 61 6e 20 67 65 74 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 2e eive.or.can.get.the.source.code.
761a0 20 20 41 6e 64 20 79 6f 75 20 6d 75 73 74 20 73 68 6f 77 20 74 68 65 6d 20 74 68 65 73 65 0a 74 ..And.you.must.show.them.these.t
761c0 65 72 6d 73 20 73 6f 20 74 68 65 79 20 6b 6e 6f 77 20 74 68 65 69 72 20 72 69 67 68 74 73 2e 0a erms.so.they.know.their.rights..
761e0 0a 44 65 76 65 6c 6f 70 65 72 73 20 74 68 61 74 20 75 73 65 20 74 68 65 20 47 4e 55 20 47 50 4c .Developers.that.use.the.GNU.GPL
76200 20 70 72 6f 74 65 63 74 20 79 6f 75 72 20 72 69 67 68 74 73 20 77 69 74 68 20 74 77 6f 20 73 74 .protect.your.rights.with.two.st
76220 65 70 73 3a 0a 28 31 29 20 61 73 73 65 72 74 20 63 6f 70 79 72 69 67 68 74 20 6f 6e 20 74 68 65 eps:.(1).assert.copyright.on.the
76240 20 73 6f 66 74 77 61 72 65 2c 20 61 6e 64 20 28 32 29 20 6f 66 66 65 72 20 79 6f 75 20 74 68 69 .software,.and.(2).offer.you.thi
76260 73 20 4c 69 63 65 6e 73 65 0a 67 69 76 69 6e 67 20 79 6f 75 20 6c 65 67 61 6c 20 70 65 72 6d 69 s.License.giving.you.legal.permi
76280 73 73 69 6f 6e 20 74 6f 20 63 6f 70 79 2c 20 64 69 73 74 72 69 62 75 74 65 20 61 6e 64 2f 6f 72 ssion.to.copy,.distribute.and/or
762a0 20 6d 6f 64 69 66 79 20 69 74 2e 0a 0a 46 6f 72 20 74 68 65 20 64 65 76 65 6c 6f 70 65 72 73 27 .modify.it...For.the.developers'
762c0 20 61 6e 64 20 61 75 74 68 6f 72 73 27 20 70 72 6f 74 65 63 74 69 6f 6e 2c 20 74 68 65 20 47 50 .and.authors'.protection,.the.GP
762e0 4c 20 63 6c 65 61 72 6c 79 20 65 78 70 6c 61 69 6e 73 0a 74 68 61 74 20 74 68 65 72 65 20 69 73 L.clearly.explains.that.there.is
76300 20 6e 6f 20 77 61 72 72 61 6e 74 79 20 66 6f 72 20 74 68 69 73 20 66 72 65 65 20 73 6f 66 74 77 .no.warranty.for.this.free.softw
76320 61 72 65 2e 20 20 46 6f 72 20 62 6f 74 68 20 75 73 65 72 73 27 20 61 6e 64 0a 61 75 74 68 6f 72 are...For.both.users'.and.author
76340 73 27 20 73 61 6b 65 2c 20 74 68 65 20 47 50 4c 20 72 65 71 75 69 72 65 73 20 74 68 61 74 20 6d s'.sake,.the.GPL.requires.that.m
76360 6f 64 69 66 69 65 64 20 76 65 72 73 69 6f 6e 73 20 62 65 20 6d 61 72 6b 65 64 20 61 73 0a 63 68 odified.versions.be.marked.as.ch
76380 61 6e 67 65 64 2c 20 73 6f 20 74 68 61 74 20 74 68 65 69 72 20 70 72 6f 62 6c 65 6d 73 20 77 69 anged,.so.that.their.problems.wi
763a0 6c 6c 20 6e 6f 74 20 62 65 20 61 74 74 72 69 62 75 74 65 64 20 65 72 72 6f 6e 65 6f 75 73 6c 79 ll.not.be.attributed.erroneously
763c0 20 74 6f 0a 61 75 74 68 6f 72 73 20 6f 66 20 70 72 65 76 69 6f 75 73 20 76 65 72 73 69 6f 6e 73 .to.authors.of.previous.versions
763e0 2e 0a 0a 53 6f 6d 65 20 64 65 76 69 63 65 73 20 61 72 65 20 64 65 73 69 67 6e 65 64 20 74 6f 20 ...Some.devices.are.designed.to.
76400 64 65 6e 79 20 75 73 65 72 73 20 61 63 63 65 73 73 20 74 6f 20 69 6e 73 74 61 6c 6c 20 6f 72 20 deny.users.access.to.install.or.
76420 72 75 6e 0a 6d 6f 64 69 66 69 65 64 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 74 68 65 20 73 6f 66 run.modified.versions.of.the.sof
76440 74 77 61 72 65 20 69 6e 73 69 64 65 20 74 68 65 6d 2c 20 61 6c 74 68 6f 75 67 68 20 74 68 65 0a tware.inside.them,.although.the.
76460 6d 61 6e 75 66 61 63 74 75 72 65 72 20 63 61 6e 20 64 6f 20 73 6f 2e 20 20 54 68 69 73 20 69 73 manufacturer.can.do.so...This.is
76480 20 66 75 6e 64 61 6d 65 6e 74 61 6c 6c 79 20 69 6e 63 6f 6d 70 61 74 69 62 6c 65 20 77 69 74 68 .fundamentally.incompatible.with
764a0 20 74 68 65 0a 61 69 6d 20 6f 66 20 70 72 6f 74 65 63 74 69 6e 67 20 75 73 65 72 73 27 20 66 72 .the.aim.of.protecting.users'.fr
764c0 65 65 64 6f 6d 20 74 6f 20 63 68 61 6e 67 65 20 74 68 65 20 73 6f 66 74 77 61 72 65 2e 20 20 54 eedom.to.change.the.software...T
764e0 68 65 0a 73 79 73 74 65 6d 61 74 69 63 20 70 61 74 74 65 72 6e 20 6f 66 20 73 75 63 68 20 61 62 he.systematic.pattern.of.such.ab
76500 75 73 65 20 6f 63 63 75 72 73 20 69 6e 20 74 68 65 20 61 72 65 61 20 6f 66 20 70 72 6f 64 75 63 use.occurs.in.the.area.of.produc
76520 74 73 20 66 6f 72 0a 69 6e 64 69 76 69 64 75 61 6c 73 20 74 6f 20 75 73 65 2c 20 77 68 69 63 68 ts.for.individuals.to.use,.which
76540 20 69 73 20 70 72 65 63 69 73 65 6c 79 20 77 68 65 72 65 20 69 74 20 69 73 20 6d 6f 73 74 20 75 .is.precisely.where.it.is.most.u
76560 6e 61 63 63 65 70 74 61 62 6c 65 2e 0a 54 68 65 72 65 66 6f 72 65 2c 20 77 65 20 68 61 76 65 20 nacceptable..Therefore,.we.have.
76580 64 65 73 69 67 6e 65 64 20 74 68 69 73 20 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 65 20 47 50 4c designed.this.version.of.the.GPL
765a0 20 74 6f 20 70 72 6f 68 69 62 69 74 20 74 68 65 0a 70 72 61 63 74 69 63 65 20 66 6f 72 20 74 68 .to.prohibit.the.practice.for.th
765c0 6f 73 65 20 70 72 6f 64 75 63 74 73 2e 20 20 49 66 20 73 75 63 68 20 70 72 6f 62 6c 65 6d 73 20 ose.products...If.such.problems.
765e0 61 72 69 73 65 20 73 75 62 73 74 61 6e 74 69 61 6c 6c 79 20 69 6e 0a 6f 74 68 65 72 20 64 6f 6d arise.substantially.in.other.dom
76600 61 69 6e 73 2c 20 77 65 20 73 74 61 6e 64 20 72 65 61 64 79 20 74 6f 20 65 78 74 65 6e 64 20 74 ains,.we.stand.ready.to.extend.t
76620 68 69 73 20 70 72 6f 76 69 73 69 6f 6e 20 74 6f 20 74 68 6f 73 65 0a 64 6f 6d 61 69 6e 73 20 69 his.provision.to.those.domains.i
76640 6e 20 66 75 74 75 72 65 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 74 68 65 20 47 50 4c 2c 20 61 73 n.future.versions.of.the.GPL,.as
76660 20 6e 65 65 64 65 64 20 74 6f 20 70 72 6f 74 65 63 74 20 74 68 65 0a 66 72 65 65 64 6f 6d 20 6f .needed.to.protect.the.freedom.o
76680 66 20 75 73 65 72 73 2e 0a 0a 46 69 6e 61 6c 6c 79 2c 20 65 76 65 72 79 20 70 72 6f 67 72 61 6d f.users...Finally,.every.program
766a0 20 69 73 20 74 68 72 65 61 74 65 6e 65 64 20 63 6f 6e 73 74 61 6e 74 6c 79 20 62 79 20 73 6f 66 .is.threatened.constantly.by.sof
766c0 74 77 61 72 65 20 70 61 74 65 6e 74 73 2e 0a 53 74 61 74 65 73 20 73 68 6f 75 6c 64 20 6e 6f 74 tware.patents..States.should.not
766e0 20 61 6c 6c 6f 77 20 70 61 74 65 6e 74 73 20 74 6f 20 72 65 73 74 72 69 63 74 20 64 65 76 65 6c .allow.patents.to.restrict.devel
76700 6f 70 6d 65 6e 74 20 61 6e 64 20 75 73 65 20 6f 66 0a 73 6f 66 74 77 61 72 65 20 6f 6e 20 67 65 opment.and.use.of.software.on.ge
76720 6e 65 72 61 6c 2d 70 75 72 70 6f 73 65 20 63 6f 6d 70 75 74 65 72 73 2c 20 62 75 74 20 69 6e 20 neral-purpose.computers,.but.in.
76740 74 68 6f 73 65 20 74 68 61 74 20 64 6f 2c 20 77 65 20 77 69 73 68 0a 74 6f 20 61 76 6f 69 64 20 those.that.do,.we.wish.to.avoid.
76760 74 68 65 20 73 70 65 63 69 61 6c 20 64 61 6e 67 65 72 20 74 68 61 74 20 70 61 74 65 6e 74 73 20 the.special.danger.that.patents.
76780 61 70 70 6c 69 65 64 20 74 6f 20 61 20 66 72 65 65 20 70 72 6f 67 72 61 6d 0a 63 6f 75 6c 64 20 applied.to.a.free.program.could.
767a0 6d 61 6b 65 20 69 74 20 65 66 66 65 63 74 69 76 65 6c 79 20 70 72 6f 70 72 69 65 74 61 72 79 2e make.it.effectively.proprietary.
767c0 20 20 54 6f 20 70 72 65 76 65 6e 74 20 74 68 69 73 2c 20 74 68 65 20 47 50 4c 0a 61 73 73 75 72 ..To.prevent.this,.the.GPL.assur
767e0 65 73 20 74 68 61 74 20 70 61 74 65 6e 74 73 20 63 61 6e 6e 6f 74 20 62 65 20 75 73 65 64 20 74 es.that.patents.cannot.be.used.t
76800 6f 20 72 65 6e 64 65 72 20 74 68 65 20 70 72 6f 67 72 61 6d 20 6e 6f 6e 2d 66 72 65 65 2e 0a 0a o.render.the.program.non-free...
76820 54 68 65 20 70 72 65 63 69 73 65 20 74 65 72 6d 73 20 61 6e 64 20 63 6f 6e 64 69 74 69 6f 6e 73 The.precise.terms.and.conditions
76840 20 66 6f 72 20 63 6f 70 79 69 6e 67 2c 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 61 6e 64 0a 6d .for.copying,.distribution.and.m
76860 6f 64 69 66 69 63 61 74 69 6f 6e 20 66 6f 6c 6c 6f 77 2e 0a 0a 40 68 65 61 64 69 6e 67 20 54 45 odification.follow...@heading.TE
76880 52 4d 53 20 41 4e 44 20 43 4f 4e 44 49 54 49 4f 4e 53 0a 0a 40 65 6e 75 6d 65 72 61 74 65 20 30 RMS.AND.CONDITIONS..@enumerate.0
768a0 0a 40 69 74 65 6d 20 44 65 66 69 6e 69 74 69 6f 6e 73 2e 0a 0a 60 60 54 68 69 73 20 4c 69 63 65 .@item.Definitions...``This.Lice
768c0 6e 73 65 27 27 20 72 65 66 65 72 73 20 74 6f 20 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 nse''.refers.to.version.3.of.the
768e0 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 2e 0a 0a 60 60 .GNU.General.Public.License...``
76900 43 6f 70 79 72 69 67 68 74 27 27 20 61 6c 73 6f 20 6d 65 61 6e 73 20 63 6f 70 79 72 69 67 68 74 Copyright''.also.means.copyright
76920 2d 6c 69 6b 65 20 6c 61 77 73 20 74 68 61 74 20 61 70 70 6c 79 20 74 6f 20 6f 74 68 65 72 20 6b -like.laws.that.apply.to.other.k
76940 69 6e 64 73 0a 6f 66 20 77 6f 72 6b 73 2c 20 73 75 63 68 20 61 73 20 73 65 6d 69 63 6f 6e 64 75 inds.of.works,.such.as.semicondu
76960 63 74 6f 72 20 6d 61 73 6b 73 2e 0a 0a 60 60 54 68 65 20 50 72 6f 67 72 61 6d 27 27 20 72 65 66 ctor.masks...``The.Program''.ref
76980 65 72 73 20 74 6f 20 61 6e 79 20 63 6f 70 79 72 69 67 68 74 61 62 6c 65 20 77 6f 72 6b 20 6c 69 ers.to.any.copyrightable.work.li
769a0 63 65 6e 73 65 64 20 75 6e 64 65 72 20 74 68 69 73 0a 4c 69 63 65 6e 73 65 2e 20 20 45 61 63 68 censed.under.this.License...Each
769c0 20 6c 69 63 65 6e 73 65 65 20 69 73 20 61 64 64 72 65 73 73 65 64 20 61 73 20 60 60 79 6f 75 27 .licensee.is.addressed.as.``you'
769e0 27 2e 20 20 60 60 4c 69 63 65 6e 73 65 65 73 27 27 20 61 6e 64 0a 60 60 72 65 63 69 70 69 65 6e '...``Licensees''.and.``recipien
76a00 74 73 27 27 20 6d 61 79 20 62 65 20 69 6e 64 69 76 69 64 75 61 6c 73 20 6f 72 20 6f 72 67 61 6e ts''.may.be.individuals.or.organ
76a20 69 7a 61 74 69 6f 6e 73 2e 0a 0a 54 6f 20 60 60 6d 6f 64 69 66 79 27 27 20 61 20 77 6f 72 6b 20 izations...To.``modify''.a.work.
76a40 6d 65 61 6e 73 20 74 6f 20 63 6f 70 79 20 66 72 6f 6d 20 6f 72 20 61 64 61 70 74 20 61 6c 6c 20 means.to.copy.from.or.adapt.all.
76a60 6f 72 20 70 61 72 74 20 6f 66 20 74 68 65 20 77 6f 72 6b 0a 69 6e 20 61 20 66 61 73 68 69 6f 6e or.part.of.the.work.in.a.fashion
76a80 20 72 65 71 75 69 72 69 6e 67 20 63 6f 70 79 72 69 67 68 74 20 70 65 72 6d 69 73 73 69 6f 6e 2c .requiring.copyright.permission,
76aa0 20 6f 74 68 65 72 20 74 68 61 6e 20 74 68 65 20 6d 61 6b 69 6e 67 20 6f 66 0a 61 6e 20 65 78 61 .other.than.the.making.of.an.exa
76ac0 63 74 20 63 6f 70 79 2e 20 20 54 68 65 20 72 65 73 75 6c 74 69 6e 67 20 77 6f 72 6b 20 69 73 20 ct.copy...The.resulting.work.is.
76ae0 63 61 6c 6c 65 64 20 61 20 60 60 6d 6f 64 69 66 69 65 64 20 76 65 72 73 69 6f 6e 27 27 20 6f 66 called.a.``modified.version''.of
76b00 0a 74 68 65 20 65 61 72 6c 69 65 72 20 77 6f 72 6b 20 6f 72 20 61 20 77 6f 72 6b 20 60 60 62 61 .the.earlier.work.or.a.work.``ba
76b20 73 65 64 20 6f 6e 27 27 20 74 68 65 20 65 61 72 6c 69 65 72 20 77 6f 72 6b 2e 0a 0a 41 20 60 60 sed.on''.the.earlier.work...A.``
76b40 63 6f 76 65 72 65 64 20 77 6f 72 6b 27 27 20 6d 65 61 6e 73 20 65 69 74 68 65 72 20 74 68 65 20 covered.work''.means.either.the.
76b60 75 6e 6d 6f 64 69 66 69 65 64 20 50 72 6f 67 72 61 6d 20 6f 72 20 61 20 77 6f 72 6b 20 62 61 73 unmodified.Program.or.a.work.bas
76b80 65 64 0a 6f 6e 20 74 68 65 20 50 72 6f 67 72 61 6d 2e 0a 0a 54 6f 20 60 60 70 72 6f 70 61 67 61 ed.on.the.Program...To.``propaga
76ba0 74 65 27 27 20 61 20 77 6f 72 6b 20 6d 65 61 6e 73 20 74 6f 20 64 6f 20 61 6e 79 74 68 69 6e 67 te''.a.work.means.to.do.anything
76bc0 20 77 69 74 68 20 69 74 20 74 68 61 74 2c 20 77 69 74 68 6f 75 74 0a 70 65 72 6d 69 73 73 69 6f .with.it.that,.without.permissio
76be0 6e 2c 20 77 6f 75 6c 64 20 6d 61 6b 65 20 79 6f 75 20 64 69 72 65 63 74 6c 79 20 6f 72 20 73 65 n,.would.make.you.directly.or.se
76c00 63 6f 6e 64 61 72 69 6c 79 20 6c 69 61 62 6c 65 20 66 6f 72 0a 69 6e 66 72 69 6e 67 65 6d 65 6e condarily.liable.for.infringemen
76c20 74 20 75 6e 64 65 72 20 61 70 70 6c 69 63 61 62 6c 65 20 63 6f 70 79 72 69 67 68 74 20 6c 61 77 t.under.applicable.copyright.law
76c40 2c 20 65 78 63 65 70 74 20 65 78 65 63 75 74 69 6e 67 20 69 74 20 6f 6e 20 61 0a 63 6f 6d 70 75 ,.except.executing.it.on.a.compu
76c60 74 65 72 20 6f 72 20 6d 6f 64 69 66 79 69 6e 67 20 61 20 70 72 69 76 61 74 65 20 63 6f 70 79 2e ter.or.modifying.a.private.copy.
76c80 20 20 50 72 6f 70 61 67 61 74 69 6f 6e 20 69 6e 63 6c 75 64 65 73 20 63 6f 70 79 69 6e 67 2c 0a ..Propagation.includes.copying,.
76ca0 64 69 73 74 72 69 62 75 74 69 6f 6e 20 28 77 69 74 68 20 6f 72 20 77 69 74 68 6f 75 74 20 6d 6f distribution.(with.or.without.mo
76cc0 64 69 66 69 63 61 74 69 6f 6e 29 2c 20 6d 61 6b 69 6e 67 20 61 76 61 69 6c 61 62 6c 65 20 74 6f dification),.making.available.to
76ce0 20 74 68 65 0a 70 75 62 6c 69 63 2c 20 61 6e 64 20 69 6e 20 73 6f 6d 65 20 63 6f 75 6e 74 72 69 .the.public,.and.in.some.countri
76d00 65 73 20 6f 74 68 65 72 20 61 63 74 69 76 69 74 69 65 73 20 61 73 20 77 65 6c 6c 2e 0a 0a 54 6f es.other.activities.as.well...To
76d20 20 60 60 63 6f 6e 76 65 79 27 27 20 61 20 77 6f 72 6b 20 6d 65 61 6e 73 20 61 6e 79 20 6b 69 6e .``convey''.a.work.means.any.kin
76d40 64 20 6f 66 20 70 72 6f 70 61 67 61 74 69 6f 6e 20 74 68 61 74 20 65 6e 61 62 6c 65 73 20 6f 74 d.of.propagation.that.enables.ot
76d60 68 65 72 0a 70 61 72 74 69 65 73 20 74 6f 20 6d 61 6b 65 20 6f 72 20 72 65 63 65 69 76 65 20 63 her.parties.to.make.or.receive.c
76d80 6f 70 69 65 73 2e 20 20 4d 65 72 65 20 69 6e 74 65 72 61 63 74 69 6f 6e 20 77 69 74 68 20 61 20 opies...Mere.interaction.with.a.
76da0 75 73 65 72 0a 74 68 72 6f 75 67 68 20 61 20 63 6f 6d 70 75 74 65 72 20 6e 65 74 77 6f 72 6b 2c user.through.a.computer.network,
76dc0 20 77 69 74 68 20 6e 6f 20 74 72 61 6e 73 66 65 72 20 6f 66 20 61 20 63 6f 70 79 2c 20 69 73 20 .with.no.transfer.of.a.copy,.is.
76de0 6e 6f 74 0a 63 6f 6e 76 65 79 69 6e 67 2e 0a 0a 41 6e 20 69 6e 74 65 72 61 63 74 69 76 65 20 75 not.conveying...An.interactive.u
76e00 73 65 72 20 69 6e 74 65 72 66 61 63 65 20 64 69 73 70 6c 61 79 73 20 60 60 41 70 70 72 6f 70 72 ser.interface.displays.``Appropr
76e20 69 61 74 65 20 4c 65 67 61 6c 20 4e 6f 74 69 63 65 73 27 27 20 74 6f 0a 74 68 65 20 65 78 74 65 iate.Legal.Notices''.to.the.exte
76e40 6e 74 20 74 68 61 74 20 69 74 20 69 6e 63 6c 75 64 65 73 20 61 20 63 6f 6e 76 65 6e 69 65 6e 74 nt.that.it.includes.a.convenient
76e60 20 61 6e 64 20 70 72 6f 6d 69 6e 65 6e 74 6c 79 20 76 69 73 69 62 6c 65 0a 66 65 61 74 75 72 65 .and.prominently.visible.feature
76e80 20 74 68 61 74 20 28 31 29 20 64 69 73 70 6c 61 79 73 20 61 6e 20 61 70 70 72 6f 70 72 69 61 74 .that.(1).displays.an.appropriat
76ea0 65 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 2c 20 61 6e 64 20 28 32 29 0a 74 65 6c 6c e.copyright.notice,.and.(2).tell
76ec0 73 20 74 68 65 20 75 73 65 72 20 74 68 61 74 20 74 68 65 72 65 20 69 73 20 6e 6f 20 77 61 72 72 s.the.user.that.there.is.no.warr
76ee0 61 6e 74 79 20 66 6f 72 20 74 68 65 20 77 6f 72 6b 20 28 65 78 63 65 70 74 20 74 6f 20 74 68 65 anty.for.the.work.(except.to.the
76f00 0a 65 78 74 65 6e 74 20 74 68 61 74 20 77 61 72 72 61 6e 74 69 65 73 20 61 72 65 20 70 72 6f 76 .extent.that.warranties.are.prov
76f20 69 64 65 64 29 2c 20 74 68 61 74 20 6c 69 63 65 6e 73 65 65 73 20 6d 61 79 20 63 6f 6e 76 65 79 ided),.that.licensees.may.convey
76f40 20 74 68 65 0a 77 6f 72 6b 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 61 6e .the.work.under.this.License,.an
76f60 64 20 68 6f 77 20 74 6f 20 76 69 65 77 20 61 20 63 6f 70 79 20 6f 66 20 74 68 69 73 20 4c 69 63 d.how.to.view.a.copy.of.this.Lic
76f80 65 6e 73 65 2e 20 20 49 66 0a 74 68 65 20 69 6e 74 65 72 66 61 63 65 20 70 72 65 73 65 6e 74 73 ense...If.the.interface.presents
76fa0 20 61 20 6c 69 73 74 20 6f 66 20 75 73 65 72 20 63 6f 6d 6d 61 6e 64 73 20 6f 72 20 6f 70 74 69 .a.list.of.user.commands.or.opti
76fc0 6f 6e 73 2c 20 73 75 63 68 20 61 73 20 61 0a 6d 65 6e 75 2c 20 61 20 70 72 6f 6d 69 6e 65 6e 74 ons,.such.as.a.menu,.a.prominent
76fe0 20 69 74 65 6d 20 69 6e 20 74 68 65 20 6c 69 73 74 20 6d 65 65 74 73 20 74 68 69 73 20 63 72 69 .item.in.the.list.meets.this.cri
77000 74 65 72 69 6f 6e 2e 0a 0a 40 69 74 65 6d 20 53 6f 75 72 63 65 20 43 6f 64 65 2e 0a 0a 54 68 65 terion...@item.Source.Code...The
77020 20 60 60 73 6f 75 72 63 65 20 63 6f 64 65 27 27 20 66 6f 72 20 61 20 77 6f 72 6b 20 6d 65 61 6e .``source.code''.for.a.work.mean
77040 73 20 74 68 65 20 70 72 65 66 65 72 72 65 64 20 66 6f 72 6d 20 6f 66 20 74 68 65 20 77 6f 72 6b s.the.preferred.form.of.the.work
77060 20 66 6f 72 0a 6d 61 6b 69 6e 67 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 73 20 74 6f 20 69 74 2e .for.making.modifications.to.it.
77080 20 20 60 60 4f 62 6a 65 63 74 20 63 6f 64 65 27 27 20 6d 65 61 6e 73 20 61 6e 79 20 6e 6f 6e 2d ..``Object.code''.means.any.non-
770a0 73 6f 75 72 63 65 20 66 6f 72 6d 0a 6f 66 20 61 20 77 6f 72 6b 2e 0a 0a 41 20 60 60 53 74 61 6e source.form.of.a.work...A.``Stan
770c0 64 61 72 64 20 49 6e 74 65 72 66 61 63 65 27 27 20 6d 65 61 6e 73 20 61 6e 20 69 6e 74 65 72 66 dard.Interface''.means.an.interf
770e0 61 63 65 20 74 68 61 74 20 65 69 74 68 65 72 20 69 73 20 61 6e 20 6f 66 66 69 63 69 61 6c 0a 73 ace.that.either.is.an.official.s
77100 74 61 6e 64 61 72 64 20 64 65 66 69 6e 65 64 20 62 79 20 61 20 72 65 63 6f 67 6e 69 7a 65 64 20 tandard.defined.by.a.recognized.
77120 73 74 61 6e 64 61 72 64 73 20 62 6f 64 79 2c 20 6f 72 2c 20 69 6e 20 74 68 65 20 63 61 73 65 20 standards.body,.or,.in.the.case.
77140 6f 66 0a 69 6e 74 65 72 66 61 63 65 73 20 73 70 65 63 69 66 69 65 64 20 66 6f 72 20 61 20 70 61 of.interfaces.specified.for.a.pa
77160 72 74 69 63 75 6c 61 72 20 70 72 6f 67 72 61 6d 6d 69 6e 67 20 6c 61 6e 67 75 61 67 65 2c 20 6f rticular.programming.language,.o
77180 6e 65 20 74 68 61 74 0a 69 73 20 77 69 64 65 6c 79 20 75 73 65 64 20 61 6d 6f 6e 67 20 64 65 76 ne.that.is.widely.used.among.dev
771a0 65 6c 6f 70 65 72 73 20 77 6f 72 6b 69 6e 67 20 69 6e 20 74 68 61 74 20 6c 61 6e 67 75 61 67 65 elopers.working.in.that.language
771c0 2e 0a 0a 54 68 65 20 60 60 53 79 73 74 65 6d 20 4c 69 62 72 61 72 69 65 73 27 27 20 6f 66 20 61 ...The.``System.Libraries''.of.a
771e0 6e 20 65 78 65 63 75 74 61 62 6c 65 20 77 6f 72 6b 20 69 6e 63 6c 75 64 65 20 61 6e 79 74 68 69 n.executable.work.include.anythi
77200 6e 67 2c 20 6f 74 68 65 72 0a 74 68 61 6e 20 74 68 65 20 77 6f 72 6b 20 61 73 20 61 20 77 68 6f ng,.other.than.the.work.as.a.who
77220 6c 65 2c 20 74 68 61 74 20 28 61 29 20 69 73 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 68 65 20 le,.that.(a).is.included.in.the.
77240 6e 6f 72 6d 61 6c 20 66 6f 72 6d 20 6f 66 0a 70 61 63 6b 61 67 69 6e 67 20 61 20 4d 61 6a 6f 72 normal.form.of.packaging.a.Major
77260 20 43 6f 6d 70 6f 6e 65 6e 74 2c 20 62 75 74 20 77 68 69 63 68 20 69 73 20 6e 6f 74 20 70 61 72 .Component,.but.which.is.not.par
77280 74 20 6f 66 20 74 68 61 74 20 4d 61 6a 6f 72 0a 43 6f 6d 70 6f 6e 65 6e 74 2c 20 61 6e 64 20 28 t.of.that.Major.Component,.and.(
772a0 62 29 20 73 65 72 76 65 73 20 6f 6e 6c 79 20 74 6f 20 65 6e 61 62 6c 65 20 75 73 65 20 6f 66 20 b).serves.only.to.enable.use.of.
772c0 74 68 65 20 77 6f 72 6b 20 77 69 74 68 20 74 68 61 74 0a 4d 61 6a 6f 72 20 43 6f 6d 70 6f 6e 65 the.work.with.that.Major.Compone
772e0 6e 74 2c 20 6f 72 20 74 6f 20 69 6d 70 6c 65 6d 65 6e 74 20 61 20 53 74 61 6e 64 61 72 64 20 49 nt,.or.to.implement.a.Standard.I
77300 6e 74 65 72 66 61 63 65 20 66 6f 72 20 77 68 69 63 68 20 61 6e 0a 69 6d 70 6c 65 6d 65 6e 74 61 nterface.for.which.an.implementa
77320 74 69 6f 6e 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 74 68 65 20 70 75 62 6c 69 63 20 tion.is.available.to.the.public.
77340 69 6e 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 6f 72 6d 2e 20 20 41 0a 60 60 4d 61 6a 6f 72 20 in.source.code.form...A.``Major.
77360 43 6f 6d 70 6f 6e 65 6e 74 27 27 2c 20 69 6e 20 74 68 69 73 20 63 6f 6e 74 65 78 74 2c 20 6d 65 Component'',.in.this.context,.me
77380 61 6e 73 20 61 20 6d 61 6a 6f 72 20 65 73 73 65 6e 74 69 61 6c 20 63 6f 6d 70 6f 6e 65 6e 74 0a ans.a.major.essential.component.
773a0 28 6b 65 72 6e 65 6c 2c 20 77 69 6e 64 6f 77 20 73 79 73 74 65 6d 2c 20 61 6e 64 20 73 6f 20 6f (kernel,.window.system,.and.so.o
773c0 6e 29 20 6f 66 20 74 68 65 20 73 70 65 63 69 66 69 63 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 n).of.the.specific.operating.sys
773e0 74 65 6d 0a 28 69 66 20 61 6e 79 29 20 6f 6e 20 77 68 69 63 68 20 74 68 65 20 65 78 65 63 75 74 tem.(if.any).on.which.the.execut
77400 61 62 6c 65 20 77 6f 72 6b 20 72 75 6e 73 2c 20 6f 72 20 61 20 63 6f 6d 70 69 6c 65 72 20 75 73 able.work.runs,.or.a.compiler.us
77420 65 64 20 74 6f 0a 70 72 6f 64 75 63 65 20 74 68 65 20 77 6f 72 6b 2c 20 6f 72 20 61 6e 20 6f 62 ed.to.produce.the.work,.or.an.ob
77440 6a 65 63 74 20 63 6f 64 65 20 69 6e 74 65 72 70 72 65 74 65 72 20 75 73 65 64 20 74 6f 20 72 75 ject.code.interpreter.used.to.ru
77460 6e 20 69 74 2e 0a 0a 54 68 65 20 60 60 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 n.it...The.``Corresponding.Sourc
77480 65 27 27 20 66 6f 72 20 61 20 77 6f 72 6b 20 69 6e 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 66 6f e''.for.a.work.in.object.code.fo
774a0 72 6d 20 6d 65 61 6e 73 20 61 6c 6c 0a 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 6e 65 65 rm.means.all.the.source.code.nee
774c0 64 65 64 20 74 6f 20 67 65 6e 65 72 61 74 65 2c 20 69 6e 73 74 61 6c 6c 2c 20 61 6e 64 20 28 66 ded.to.generate,.install,.and.(f
774e0 6f 72 20 61 6e 20 65 78 65 63 75 74 61 62 6c 65 0a 77 6f 72 6b 29 20 72 75 6e 20 74 68 65 20 6f or.an.executable.work).run.the.o
77500 62 6a 65 63 74 20 63 6f 64 65 20 61 6e 64 20 74 6f 20 6d 6f 64 69 66 79 20 74 68 65 20 77 6f 72 bject.code.and.to.modify.the.wor
77520 6b 2c 20 69 6e 63 6c 75 64 69 6e 67 20 73 63 72 69 70 74 73 20 74 6f 0a 63 6f 6e 74 72 6f 6c 20 k,.including.scripts.to.control.
77540 74 68 6f 73 65 20 61 63 74 69 76 69 74 69 65 73 2e 20 20 48 6f 77 65 76 65 72 2c 20 69 74 20 64 those.activities...However,.it.d
77560 6f 65 73 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 74 68 65 20 77 6f 72 6b 27 73 0a 53 79 73 74 65 oes.not.include.the.work's.Syste
77580 6d 20 4c 69 62 72 61 72 69 65 73 2c 20 6f 72 20 67 65 6e 65 72 61 6c 2d 70 75 72 70 6f 73 65 20 m.Libraries,.or.general-purpose.
775a0 74 6f 6f 6c 73 20 6f 72 20 67 65 6e 65 72 61 6c 6c 79 20 61 76 61 69 6c 61 62 6c 65 20 66 72 65 tools.or.generally.available.fre
775c0 65 0a 70 72 6f 67 72 61 6d 73 20 77 68 69 63 68 20 61 72 65 20 75 73 65 64 20 75 6e 6d 6f 64 69 e.programs.which.are.used.unmodi
775e0 66 69 65 64 20 69 6e 20 70 65 72 66 6f 72 6d 69 6e 67 20 74 68 6f 73 65 20 61 63 74 69 76 69 74 fied.in.performing.those.activit
77600 69 65 73 20 62 75 74 0a 77 68 69 63 68 20 61 72 65 20 6e 6f 74 20 70 61 72 74 20 6f 66 20 74 68 ies.but.which.are.not.part.of.th
77620 65 20 77 6f 72 6b 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 43 6f 72 72 65 73 70 6f 6e 64 e.work...For.example,.Correspond
77640 69 6e 67 20 53 6f 75 72 63 65 0a 69 6e 63 6c 75 64 65 73 20 69 6e 74 65 72 66 61 63 65 20 64 65 ing.Source.includes.interface.de
77660 66 69 6e 69 74 69 6f 6e 20 66 69 6c 65 73 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 73 finition.files.associated.with.s
77680 6f 75 72 63 65 20 66 69 6c 65 73 20 66 6f 72 0a 74 68 65 20 77 6f 72 6b 2c 20 61 6e 64 20 74 68 ource.files.for.the.work,.and.th
776a0 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 6f 72 20 73 68 61 72 65 64 20 6c 69 62 72 61 72 69 e.source.code.for.shared.librari
776c0 65 73 20 61 6e 64 20 64 79 6e 61 6d 69 63 61 6c 6c 79 0a 6c 69 6e 6b 65 64 20 73 75 62 70 72 6f es.and.dynamically.linked.subpro
776e0 67 72 61 6d 73 20 74 68 61 74 20 74 68 65 20 77 6f 72 6b 20 69 73 20 73 70 65 63 69 66 69 63 61 grams.that.the.work.is.specifica
77700 6c 6c 79 20 64 65 73 69 67 6e 65 64 20 74 6f 20 72 65 71 75 69 72 65 2c 0a 73 75 63 68 20 61 73 lly.designed.to.require,.such.as
77720 20 62 79 20 69 6e 74 69 6d 61 74 65 20 64 61 74 61 20 63 6f 6d 6d 75 6e 69 63 61 74 69 6f 6e 20 .by.intimate.data.communication.
77740 6f 72 20 63 6f 6e 74 72 6f 6c 20 66 6c 6f 77 20 62 65 74 77 65 65 6e 20 74 68 6f 73 65 0a 73 75 or.control.flow.between.those.su
77760 62 70 72 6f 67 72 61 6d 73 20 61 6e 64 20 6f 74 68 65 72 20 70 61 72 74 73 20 6f 66 20 74 68 65 bprograms.and.other.parts.of.the
77780 20 77 6f 72 6b 2e 0a 0a 54 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 .work...The.Corresponding.Source
777a0 20 6e 65 65 64 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 61 6e 79 74 68 69 6e 67 20 74 68 61 74 20 .need.not.include.anything.that.
777c0 75 73 65 72 73 20 63 61 6e 0a 72 65 67 65 6e 65 72 61 74 65 20 61 75 74 6f 6d 61 74 69 63 61 6c users.can.regenerate.automatical
777e0 6c 79 20 66 72 6f 6d 20 6f 74 68 65 72 20 70 61 72 74 73 20 6f 66 20 74 68 65 20 43 6f 72 72 65 ly.from.other.parts.of.the.Corre
77800 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 2e 0a 0a 54 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 sponding.Source...The.Correspond
77820 69 6e 67 20 53 6f 75 72 63 65 20 66 6f 72 20 61 20 77 6f 72 6b 20 69 6e 20 73 6f 75 72 63 65 20 ing.Source.for.a.work.in.source.
77840 63 6f 64 65 20 66 6f 72 6d 20 69 73 20 74 68 61 74 20 73 61 6d 65 0a 77 6f 72 6b 2e 0a 0a 40 69 code.form.is.that.same.work...@i
77860 74 65 6d 20 42 61 73 69 63 20 50 65 72 6d 69 73 73 69 6f 6e 73 2e 0a 0a 41 6c 6c 20 72 69 67 68 tem.Basic.Permissions...All.righ
77880 74 73 20 67 72 61 6e 74 65 64 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 61 72 ts.granted.under.this.License.ar
778a0 65 20 67 72 61 6e 74 65 64 20 66 6f 72 20 74 68 65 20 74 65 72 6d 20 6f 66 0a 63 6f 70 79 72 69 e.granted.for.the.term.of.copyri
778c0 67 68 74 20 6f 6e 20 74 68 65 20 50 72 6f 67 72 61 6d 2c 20 61 6e 64 20 61 72 65 20 69 72 72 65 ght.on.the.Program,.and.are.irre
778e0 76 6f 63 61 62 6c 65 20 70 72 6f 76 69 64 65 64 20 74 68 65 20 73 74 61 74 65 64 0a 63 6f 6e 64 vocable.provided.the.stated.cond
77900 69 74 69 6f 6e 73 20 61 72 65 20 6d 65 74 2e 20 20 54 68 69 73 20 4c 69 63 65 6e 73 65 20 65 78 itions.are.met...This.License.ex
77920 70 6c 69 63 69 74 6c 79 20 61 66 66 69 72 6d 73 20 79 6f 75 72 20 75 6e 6c 69 6d 69 74 65 64 0a plicitly.affirms.your.unlimited.
77940 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 72 75 6e 20 74 68 65 20 75 6e 6d 6f 64 69 66 69 65 64 permission.to.run.the.unmodified
77960 20 50 72 6f 67 72 61 6d 2e 20 20 54 68 65 20 6f 75 74 70 75 74 20 66 72 6f 6d 20 72 75 6e 6e 69 .Program...The.output.from.runni
77980 6e 67 20 61 0a 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 69 73 20 63 6f 76 65 72 65 64 20 62 79 20 ng.a.covered.work.is.covered.by.
779a0 74 68 69 73 20 4c 69 63 65 6e 73 65 20 6f 6e 6c 79 20 69 66 20 74 68 65 20 6f 75 74 70 75 74 2c this.License.only.if.the.output,
779c0 20 67 69 76 65 6e 20 69 74 73 0a 63 6f 6e 74 65 6e 74 2c 20 63 6f 6e 73 74 69 74 75 74 65 73 20 .given.its.content,.constitutes.
779e0 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2e 20 20 54 68 69 73 20 4c 69 63 65 6e 73 65 20 61 63 a.covered.work...This.License.ac
77a00 6b 6e 6f 77 6c 65 64 67 65 73 20 79 6f 75 72 0a 72 69 67 68 74 73 20 6f 66 20 66 61 69 72 20 75 knowledges.your.rights.of.fair.u
77a20 73 65 20 6f 72 20 6f 74 68 65 72 20 65 71 75 69 76 61 6c 65 6e 74 2c 20 61 73 20 70 72 6f 76 69 se.or.other.equivalent,.as.provi
77a40 64 65 64 20 62 79 20 63 6f 70 79 72 69 67 68 74 20 6c 61 77 2e 0a 0a 59 6f 75 20 6d 61 79 20 6d ded.by.copyright.law...You.may.m
77a60 61 6b 65 2c 20 72 75 6e 20 61 6e 64 20 70 72 6f 70 61 67 61 74 65 20 63 6f 76 65 72 65 64 20 77 ake,.run.and.propagate.covered.w
77a80 6f 72 6b 73 20 74 68 61 74 20 79 6f 75 20 64 6f 20 6e 6f 74 20 63 6f 6e 76 65 79 2c 0a 77 69 74 orks.that.you.do.not.convey,.wit
77aa0 68 6f 75 74 20 63 6f 6e 64 69 74 69 6f 6e 73 20 73 6f 20 6c 6f 6e 67 20 61 73 20 79 6f 75 72 20 hout.conditions.so.long.as.your.
77ac0 6c 69 63 65 6e 73 65 20 6f 74 68 65 72 77 69 73 65 20 72 65 6d 61 69 6e 73 20 69 6e 20 66 6f 72 license.otherwise.remains.in.for
77ae0 63 65 2e 0a 59 6f 75 20 6d 61 79 20 63 6f 6e 76 65 79 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 73 ce..You.may.convey.covered.works
77b00 20 74 6f 20 6f 74 68 65 72 73 20 66 6f 72 20 74 68 65 20 73 6f 6c 65 20 70 75 72 70 6f 73 65 20 .to.others.for.the.sole.purpose.
77b20 6f 66 20 68 61 76 69 6e 67 0a 74 68 65 6d 20 6d 61 6b 65 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e of.having.them.make.modification
77b40 73 20 65 78 63 6c 75 73 69 76 65 6c 79 20 66 6f 72 20 79 6f 75 2c 20 6f 72 20 70 72 6f 76 69 64 s.exclusively.for.you,.or.provid
77b60 65 20 79 6f 75 20 77 69 74 68 0a 66 61 63 69 6c 69 74 69 65 73 20 66 6f 72 20 72 75 6e 6e 69 6e e.you.with.facilities.for.runnin
77b80 67 20 74 68 6f 73 65 20 77 6f 72 6b 73 2c 20 70 72 6f 76 69 64 65 64 20 74 68 61 74 20 79 6f 75 g.those.works,.provided.that.you
77ba0 20 63 6f 6d 70 6c 79 20 77 69 74 68 20 74 68 65 0a 74 65 72 6d 73 20 6f 66 20 74 68 69 73 20 4c .comply.with.the.terms.of.this.L
77bc0 69 63 65 6e 73 65 20 69 6e 20 63 6f 6e 76 65 79 69 6e 67 20 61 6c 6c 20 6d 61 74 65 72 69 61 6c icense.in.conveying.all.material
77be0 20 66 6f 72 20 77 68 69 63 68 20 79 6f 75 20 64 6f 20 6e 6f 74 0a 63 6f 6e 74 72 6f 6c 20 63 6f .for.which.you.do.not.control.co
77c00 70 79 72 69 67 68 74 2e 20 20 54 68 6f 73 65 20 74 68 75 73 20 6d 61 6b 69 6e 67 20 6f 72 20 72 pyright...Those.thus.making.or.r
77c20 75 6e 6e 69 6e 67 20 74 68 65 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 73 20 66 6f 72 0a 79 6f 75 unning.the.covered.works.for.you
77c40 20 6d 75 73 74 20 64 6f 20 73 6f 20 65 78 63 6c 75 73 69 76 65 6c 79 20 6f 6e 20 79 6f 75 72 20 .must.do.so.exclusively.on.your.
77c60 62 65 68 61 6c 66 2c 20 75 6e 64 65 72 20 79 6f 75 72 20 64 69 72 65 63 74 69 6f 6e 20 61 6e 64 behalf,.under.your.direction.and
77c80 0a 63 6f 6e 74 72 6f 6c 2c 20 6f 6e 20 74 65 72 6d 73 20 74 68 61 74 20 70 72 6f 68 69 62 69 74 .control,.on.terms.that.prohibit
77ca0 20 74 68 65 6d 20 66 72 6f 6d 20 6d 61 6b 69 6e 67 20 61 6e 79 20 63 6f 70 69 65 73 20 6f 66 20 .them.from.making.any.copies.of.
77cc0 79 6f 75 72 0a 63 6f 70 79 72 69 67 68 74 65 64 20 6d 61 74 65 72 69 61 6c 20 6f 75 74 73 69 64 your.copyrighted.material.outsid
77ce0 65 20 74 68 65 69 72 20 72 65 6c 61 74 69 6f 6e 73 68 69 70 20 77 69 74 68 20 79 6f 75 2e 0a 0a e.their.relationship.with.you...
77d00 43 6f 6e 76 65 79 69 6e 67 20 75 6e 64 65 72 20 61 6e 79 20 6f 74 68 65 72 20 63 69 72 63 75 6d Conveying.under.any.other.circum
77d20 73 74 61 6e 63 65 73 20 69 73 20 70 65 72 6d 69 74 74 65 64 20 73 6f 6c 65 6c 79 20 75 6e 64 65 stances.is.permitted.solely.unde
77d40 72 20 74 68 65 0a 63 6f 6e 64 69 74 69 6f 6e 73 20 73 74 61 74 65 64 20 62 65 6c 6f 77 2e 20 20 r.the.conditions.stated.below...
77d60 53 75 62 6c 69 63 65 6e 73 69 6e 67 20 69 73 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 3b 20 73 65 63 Sublicensing.is.not.allowed;.sec
77d80 74 69 6f 6e 20 31 30 0a 6d 61 6b 65 73 20 69 74 20 75 6e 6e 65 63 65 73 73 61 72 79 2e 0a 0a 40 tion.10.makes.it.unnecessary...@
77da0 69 74 65 6d 20 50 72 6f 74 65 63 74 69 6e 67 20 55 73 65 72 73 27 20 4c 65 67 61 6c 20 52 69 67 item.Protecting.Users'.Legal.Rig
77dc0 68 74 73 20 46 72 6f 6d 20 41 6e 74 69 2d 43 69 72 63 75 6d 76 65 6e 74 69 6f 6e 20 4c 61 77 2e hts.From.Anti-Circumvention.Law.
77de0 0a 0a 4e 6f 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 73 68 61 6c 6c 20 62 65 20 64 65 65 6d 65 ..No.covered.work.shall.be.deeme
77e00 64 20 70 61 72 74 20 6f 66 20 61 6e 20 65 66 66 65 63 74 69 76 65 20 74 65 63 68 6e 6f 6c 6f 67 d.part.of.an.effective.technolog
77e20 69 63 61 6c 0a 6d 65 61 73 75 72 65 20 75 6e 64 65 72 20 61 6e 79 20 61 70 70 6c 69 63 61 62 6c ical.measure.under.any.applicabl
77e40 65 20 6c 61 77 20 66 75 6c 66 69 6c 6c 69 6e 67 20 6f 62 6c 69 67 61 74 69 6f 6e 73 20 75 6e 64 e.law.fulfilling.obligations.und
77e60 65 72 20 61 72 74 69 63 6c 65 0a 31 31 20 6f 66 20 74 68 65 20 57 49 50 4f 20 63 6f 70 79 72 69 er.article.11.of.the.WIPO.copyri
77e80 67 68 74 20 74 72 65 61 74 79 20 61 64 6f 70 74 65 64 20 6f 6e 20 32 30 20 44 65 63 65 6d 62 65 ght.treaty.adopted.on.20.Decembe
77ea0 72 20 31 39 39 36 2c 20 6f 72 0a 73 69 6d 69 6c 61 72 20 6c 61 77 73 20 70 72 6f 68 69 62 69 74 r.1996,.or.similar.laws.prohibit
77ec0 69 6e 67 20 6f 72 20 72 65 73 74 72 69 63 74 69 6e 67 20 63 69 72 63 75 6d 76 65 6e 74 69 6f 6e ing.or.restricting.circumvention
77ee0 20 6f 66 20 73 75 63 68 0a 6d 65 61 73 75 72 65 73 2e 0a 0a 57 68 65 6e 20 79 6f 75 20 63 6f 6e .of.such.measures...When.you.con
77f00 76 65 79 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 20 79 6f 75 20 77 61 69 76 65 20 61 6e vey.a.covered.work,.you.waive.an
77f20 79 20 6c 65 67 61 6c 20 70 6f 77 65 72 20 74 6f 20 66 6f 72 62 69 64 0a 63 69 72 63 75 6d 76 65 y.legal.power.to.forbid.circumve
77f40 6e 74 69 6f 6e 20 6f 66 20 74 65 63 68 6e 6f 6c 6f 67 69 63 61 6c 20 6d 65 61 73 75 72 65 73 20 ntion.of.technological.measures.
77f60 74 6f 20 74 68 65 20 65 78 74 65 6e 74 20 73 75 63 68 0a 63 69 72 63 75 6d 76 65 6e 74 69 6f 6e to.the.extent.such.circumvention
77f80 20 69 73 20 65 66 66 65 63 74 65 64 20 62 79 20 65 78 65 72 63 69 73 69 6e 67 20 72 69 67 68 74 .is.effected.by.exercising.right
77fa0 73 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 77 69 74 68 0a 72 65 73 70 65 63 s.under.this.License.with.respec
77fc0 74 20 74 6f 20 74 68 65 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 20 61 6e 64 20 79 6f 75 20 64 t.to.the.covered.work,.and.you.d
77fe0 69 73 63 6c 61 69 6d 20 61 6e 79 20 69 6e 74 65 6e 74 69 6f 6e 20 74 6f 20 6c 69 6d 69 74 0a 6f isclaim.any.intention.to.limit.o
78000 70 65 72 61 74 69 6f 6e 20 6f 72 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 peration.or.modification.of.the.
78020 77 6f 72 6b 20 61 73 20 61 20 6d 65 61 6e 73 20 6f 66 20 65 6e 66 6f 72 63 69 6e 67 2c 20 61 67 work.as.a.means.of.enforcing,.ag
78040 61 69 6e 73 74 0a 74 68 65 20 77 6f 72 6b 27 73 20 75 73 65 72 73 2c 20 79 6f 75 72 20 6f 72 20 ainst.the.work's.users,.your.or.
78060 74 68 69 72 64 20 70 61 72 74 69 65 73 27 20 6c 65 67 61 6c 20 72 69 67 68 74 73 20 74 6f 20 66 third.parties'.legal.rights.to.f
78080 6f 72 62 69 64 0a 63 69 72 63 75 6d 76 65 6e 74 69 6f 6e 20 6f 66 20 74 65 63 68 6e 6f 6c 6f 67 orbid.circumvention.of.technolog
780a0 69 63 61 6c 20 6d 65 61 73 75 72 65 73 2e 0a 0a 40 69 74 65 6d 20 43 6f 6e 76 65 79 69 6e 67 20 ical.measures...@item.Conveying.
780c0 56 65 72 62 61 74 69 6d 20 43 6f 70 69 65 73 2e 0a 0a 59 6f 75 20 6d 61 79 20 63 6f 6e 76 65 79 Verbatim.Copies...You.may.convey
780e0 20 76 65 72 62 61 74 69 6d 20 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 6d 27 .verbatim.copies.of.the.Program'
78100 73 20 73 6f 75 72 63 65 20 63 6f 64 65 20 61 73 20 79 6f 75 0a 72 65 63 65 69 76 65 20 69 74 2c s.source.code.as.you.receive.it,
78120 20 69 6e 20 61 6e 79 20 6d 65 64 69 75 6d 2c 20 70 72 6f 76 69 64 65 64 20 74 68 61 74 20 79 6f .in.any.medium,.provided.that.yo
78140 75 20 63 6f 6e 73 70 69 63 75 6f 75 73 6c 79 20 61 6e 64 0a 61 70 70 72 6f 70 72 69 61 74 65 6c u.conspicuously.and.appropriatel
78160 79 20 70 75 62 6c 69 73 68 20 6f 6e 20 65 61 63 68 20 63 6f 70 79 20 61 6e 20 61 70 70 72 6f 70 y.publish.on.each.copy.an.approp
78180 72 69 61 74 65 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 3b 0a 6b 65 65 70 20 69 6e 74 riate.copyright.notice;.keep.int
781a0 61 63 74 20 61 6c 6c 20 6e 6f 74 69 63 65 73 20 73 74 61 74 69 6e 67 20 74 68 61 74 20 74 68 69 act.all.notices.stating.that.thi
781c0 73 20 4c 69 63 65 6e 73 65 20 61 6e 64 20 61 6e 79 0a 6e 6f 6e 2d 70 65 72 6d 69 73 73 69 76 65 s.License.and.any.non-permissive
781e0 20 74 65 72 6d 73 20 61 64 64 65 64 20 69 6e 20 61 63 63 6f 72 64 20 77 69 74 68 20 73 65 63 74 .terms.added.in.accord.with.sect
78200 69 6f 6e 20 37 20 61 70 70 6c 79 20 74 6f 20 74 68 65 20 63 6f 64 65 3b 0a 6b 65 65 70 20 69 6e ion.7.apply.to.the.code;.keep.in
78220 74 61 63 74 20 61 6c 6c 20 6e 6f 74 69 63 65 73 20 6f 66 20 74 68 65 20 61 62 73 65 6e 63 65 20 tact.all.notices.of.the.absence.
78240 6f 66 20 61 6e 79 20 77 61 72 72 61 6e 74 79 3b 20 61 6e 64 20 67 69 76 65 20 61 6c 6c 0a 72 65 of.any.warranty;.and.give.all.re
78260 63 69 70 69 65 6e 74 73 20 61 20 63 6f 70 79 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 cipients.a.copy.of.this.License.
78280 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 65 20 50 72 6f 67 72 61 6d 2e 0a 0a 59 6f 75 20 6d 61 79 along.with.the.Program...You.may
782a0 20 63 68 61 72 67 65 20 61 6e 79 20 70 72 69 63 65 20 6f 72 20 6e 6f 20 70 72 69 63 65 20 66 6f .charge.any.price.or.no.price.fo
782c0 72 20 65 61 63 68 20 63 6f 70 79 20 74 68 61 74 20 79 6f 75 20 63 6f 6e 76 65 79 2c 0a 61 6e 64 r.each.copy.that.you.convey,.and
782e0 20 79 6f 75 20 6d 61 79 20 6f 66 66 65 72 20 73 75 70 70 6f 72 74 20 6f 72 20 77 61 72 72 61 6e .you.may.offer.support.or.warran
78300 74 79 20 70 72 6f 74 65 63 74 69 6f 6e 20 66 6f 72 20 61 20 66 65 65 2e 0a 0a 40 69 74 65 6d 20 ty.protection.for.a.fee...@item.
78320 43 6f 6e 76 65 79 69 6e 67 20 4d 6f 64 69 66 69 65 64 20 53 6f 75 72 63 65 20 56 65 72 73 69 6f Conveying.Modified.Source.Versio
78340 6e 73 2e 0a 0a 59 6f 75 20 6d 61 79 20 63 6f 6e 76 65 79 20 61 20 77 6f 72 6b 20 62 61 73 65 64 ns...You.may.convey.a.work.based
78360 20 6f 6e 20 74 68 65 20 50 72 6f 67 72 61 6d 2c 20 6f 72 20 74 68 65 20 6d 6f 64 69 66 69 63 61 .on.the.Program,.or.the.modifica
78380 74 69 6f 6e 73 20 74 6f 0a 70 72 6f 64 75 63 65 20 69 74 20 66 72 6f 6d 20 74 68 65 20 50 72 6f tions.to.produce.it.from.the.Pro
783a0 67 72 61 6d 2c 20 69 6e 20 74 68 65 20 66 6f 72 6d 20 6f 66 20 73 6f 75 72 63 65 20 63 6f 64 65 gram,.in.the.form.of.source.code
783c0 20 75 6e 64 65 72 20 74 68 65 0a 74 65 72 6d 73 20 6f 66 20 73 65 63 74 69 6f 6e 20 34 2c 20 70 .under.the.terms.of.section.4,.p
783e0 72 6f 76 69 64 65 64 20 74 68 61 74 20 79 6f 75 20 61 6c 73 6f 20 6d 65 65 74 20 61 6c 6c 20 6f rovided.that.you.also.meet.all.o
78400 66 20 74 68 65 73 65 0a 63 6f 6e 64 69 74 69 6f 6e 73 3a 0a 0a 40 65 6e 75 6d 65 72 61 74 65 20 f.these.conditions:..@enumerate.
78420 61 0a 40 69 74 65 6d 0a 54 68 65 20 77 6f 72 6b 20 6d 75 73 74 20 63 61 72 72 79 20 70 72 6f 6d a.@item.The.work.must.carry.prom
78440 69 6e 65 6e 74 20 6e 6f 74 69 63 65 73 20 73 74 61 74 69 6e 67 20 74 68 61 74 20 79 6f 75 20 6d inent.notices.stating.that.you.m
78460 6f 64 69 66 69 65 64 20 69 74 2c 0a 61 6e 64 20 67 69 76 69 6e 67 20 61 20 72 65 6c 65 76 61 6e odified.it,.and.giving.a.relevan
78480 74 20 64 61 74 65 2e 0a 0a 40 69 74 65 6d 0a 54 68 65 20 77 6f 72 6b 20 6d 75 73 74 20 63 61 72 t.date...@item.The.work.must.car
784a0 72 79 20 70 72 6f 6d 69 6e 65 6e 74 20 6e 6f 74 69 63 65 73 20 73 74 61 74 69 6e 67 20 74 68 61 ry.prominent.notices.stating.tha
784c0 74 20 69 74 20 69 73 20 72 65 6c 65 61 73 65 64 0a 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 t.it.is.released.under.this.Lice
784e0 6e 73 65 20 61 6e 64 20 61 6e 79 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 64 64 65 64 20 75 6e 64 nse.and.any.conditions.added.und
78500 65 72 20 73 65 63 74 69 6f 6e 20 37 2e 20 20 54 68 69 73 0a 72 65 71 75 69 72 65 6d 65 6e 74 20 er.section.7...This.requirement.
78520 6d 6f 64 69 66 69 65 73 20 74 68 65 20 72 65 71 75 69 72 65 6d 65 6e 74 20 69 6e 20 73 65 63 74 modifies.the.requirement.in.sect
78540 69 6f 6e 20 34 20 74 6f 20 60 60 6b 65 65 70 20 69 6e 74 61 63 74 20 61 6c 6c 0a 6e 6f 74 69 63 ion.4.to.``keep.intact.all.notic
78560 65 73 27 27 2e 0a 0a 40 69 74 65 6d 0a 59 6f 75 20 6d 75 73 74 20 6c 69 63 65 6e 73 65 20 74 68 es''...@item.You.must.license.th
78580 65 20 65 6e 74 69 72 65 20 77 6f 72 6b 2c 20 61 73 20 61 20 77 68 6f 6c 65 2c 20 75 6e 64 65 72 e.entire.work,.as.a.whole,.under
785a0 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 74 6f 0a 61 6e 79 6f 6e 65 20 77 68 6f 20 63 6f 6d 65 .this.License.to.anyone.who.come
785c0 73 20 69 6e 74 6f 20 70 6f 73 73 65 73 73 69 6f 6e 20 6f 66 20 61 20 63 6f 70 79 2e 20 20 54 68 s.into.possession.of.a.copy...Th
785e0 69 73 20 4c 69 63 65 6e 73 65 20 77 69 6c 6c 0a 74 68 65 72 65 66 6f 72 65 20 61 70 70 6c 79 2c is.License.will.therefore.apply,
78600 20 61 6c 6f 6e 67 20 77 69 74 68 20 61 6e 79 20 61 70 70 6c 69 63 61 62 6c 65 20 73 65 63 74 69 .along.with.any.applicable.secti
78620 6f 6e 20 37 20 61 64 64 69 74 69 6f 6e 61 6c 20 74 65 72 6d 73 2c 0a 74 6f 20 74 68 65 20 77 68 on.7.additional.terms,.to.the.wh
78640 6f 6c 65 20 6f 66 20 74 68 65 20 77 6f 72 6b 2c 20 61 6e 64 20 61 6c 6c 20 69 74 73 20 70 61 72 ole.of.the.work,.and.all.its.par
78660 74 73 2c 20 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 68 6f 77 20 74 68 65 79 0a 61 72 65 20 70 ts,.regardless.of.how.they.are.p
78680 61 63 6b 61 67 65 64 2e 20 20 54 68 69 73 20 4c 69 63 65 6e 73 65 20 67 69 76 65 73 20 6e 6f 20 ackaged...This.License.gives.no.
786a0 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 6c 69 63 65 6e 73 65 20 74 68 65 20 77 6f 72 6b 20 69 permission.to.license.the.work.i
786c0 6e 0a 61 6e 79 20 6f 74 68 65 72 20 77 61 79 2c 20 62 75 74 20 69 74 20 64 6f 65 73 20 6e 6f 74 n.any.other.way,.but.it.does.not
786e0 20 69 6e 76 61 6c 69 64 61 74 65 20 73 75 63 68 20 70 65 72 6d 69 73 73 69 6f 6e 20 69 66 20 79 .invalidate.such.permission.if.y
78700 6f 75 20 68 61 76 65 0a 73 65 70 61 72 61 74 65 6c 79 20 72 65 63 65 69 76 65 64 20 69 74 2e 0a ou.have.separately.received.it..
78720 0a 40 69 74 65 6d 0a 49 66 20 74 68 65 20 77 6f 72 6b 20 68 61 73 20 69 6e 74 65 72 61 63 74 69 .@item.If.the.work.has.interacti
78740 76 65 20 75 73 65 72 20 69 6e 74 65 72 66 61 63 65 73 2c 20 65 61 63 68 20 6d 75 73 74 20 64 69 ve.user.interfaces,.each.must.di
78760 73 70 6c 61 79 0a 41 70 70 72 6f 70 72 69 61 74 65 20 4c 65 67 61 6c 20 4e 6f 74 69 63 65 73 3b splay.Appropriate.Legal.Notices;
78780 20 68 6f 77 65 76 65 72 2c 20 69 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 68 61 73 20 69 6e 74 .however,.if.the.Program.has.int
787a0 65 72 61 63 74 69 76 65 0a 69 6e 74 65 72 66 61 63 65 73 20 74 68 61 74 20 64 6f 20 6e 6f 74 20 eractive.interfaces.that.do.not.
787c0 64 69 73 70 6c 61 79 20 41 70 70 72 6f 70 72 69 61 74 65 20 4c 65 67 61 6c 20 4e 6f 74 69 63 65 display.Appropriate.Legal.Notice
787e0 73 2c 20 79 6f 75 72 20 77 6f 72 6b 0a 6e 65 65 64 20 6e 6f 74 20 6d 61 6b 65 20 74 68 65 6d 20 s,.your.work.need.not.make.them.
78800 64 6f 20 73 6f 2e 0a 40 65 6e 64 20 65 6e 75 6d 65 72 61 74 65 0a 0a 41 20 63 6f 6d 70 69 6c 61 do.so..@end.enumerate..A.compila
78820 74 69 6f 6e 20 6f 66 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 77 69 74 68 20 6f 74 68 65 tion.of.a.covered.work.with.othe
78840 72 20 73 65 70 61 72 61 74 65 20 61 6e 64 20 69 6e 64 65 70 65 6e 64 65 6e 74 0a 77 6f 72 6b 73 r.separate.and.independent.works
78860 2c 20 77 68 69 63 68 20 61 72 65 20 6e 6f 74 20 62 79 20 74 68 65 69 72 20 6e 61 74 75 72 65 20 ,.which.are.not.by.their.nature.
78880 65 78 74 65 6e 73 69 6f 6e 73 20 6f 66 20 74 68 65 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 0a extensions.of.the.covered.work,.
788a0 61 6e 64 20 77 68 69 63 68 20 61 72 65 20 6e 6f 74 20 63 6f 6d 62 69 6e 65 64 20 77 69 74 68 20 and.which.are.not.combined.with.
788c0 69 74 20 73 75 63 68 20 61 73 20 74 6f 20 66 6f 72 6d 20 61 20 6c 61 72 67 65 72 20 70 72 6f 67 it.such.as.to.form.a.larger.prog
788e0 72 61 6d 2c 0a 69 6e 20 6f 72 20 6f 6e 20 61 20 76 6f 6c 75 6d 65 20 6f 66 20 61 20 73 74 6f 72 ram,.in.or.on.a.volume.of.a.stor
78900 61 67 65 20 6f 72 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 6d 65 64 69 75 6d 2c 20 69 73 20 63 age.or.distribution.medium,.is.c
78920 61 6c 6c 65 64 20 61 6e 0a 60 60 61 67 67 72 65 67 61 74 65 27 27 20 69 66 20 74 68 65 20 63 6f alled.an.``aggregate''.if.the.co
78940 6d 70 69 6c 61 74 69 6f 6e 20 61 6e 64 20 69 74 73 20 72 65 73 75 6c 74 69 6e 67 20 63 6f 70 79 mpilation.and.its.resulting.copy
78960 72 69 67 68 74 20 61 72 65 20 6e 6f 74 0a 75 73 65 64 20 74 6f 20 6c 69 6d 69 74 20 74 68 65 20 right.are.not.used.to.limit.the.
78980 61 63 63 65 73 73 20 6f 72 20 6c 65 67 61 6c 20 72 69 67 68 74 73 20 6f 66 20 74 68 65 20 63 6f access.or.legal.rights.of.the.co
789a0 6d 70 69 6c 61 74 69 6f 6e 27 73 20 75 73 65 72 73 0a 62 65 79 6f 6e 64 20 77 68 61 74 20 74 68 mpilation's.users.beyond.what.th
789c0 65 20 69 6e 64 69 76 69 64 75 61 6c 20 77 6f 72 6b 73 20 70 65 72 6d 69 74 2e 20 20 49 6e 63 6c e.individual.works.permit...Incl
789e0 75 73 69 6f 6e 20 6f 66 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 0a 69 6e 20 61 6e 20 61 67 usion.of.a.covered.work.in.an.ag
78a00 67 72 65 67 61 74 65 20 64 6f 65 73 20 6e 6f 74 20 63 61 75 73 65 20 74 68 69 73 20 4c 69 63 65 gregate.does.not.cause.this.Lice
78a20 6e 73 65 20 74 6f 20 61 70 70 6c 79 20 74 6f 20 74 68 65 20 6f 74 68 65 72 0a 70 61 72 74 73 20 nse.to.apply.to.the.other.parts.
78a40 6f 66 20 74 68 65 20 61 67 67 72 65 67 61 74 65 2e 0a 0a 40 69 74 65 6d 20 20 43 6f 6e 76 65 79 of.the.aggregate...@item..Convey
78a60 69 6e 67 20 4e 6f 6e 2d 53 6f 75 72 63 65 20 46 6f 72 6d 73 2e 0a 0a 59 6f 75 20 6d 61 79 20 63 ing.Non-Source.Forms...You.may.c
78a80 6f 6e 76 65 79 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 69 6e 20 6f 62 6a 65 63 74 20 63 onvey.a.covered.work.in.object.c
78aa0 6f 64 65 20 66 6f 72 6d 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 0a 73 65 63 74 ode.form.under.the.terms.of.sect
78ac0 69 6f 6e 73 20 34 20 61 6e 64 20 35 2c 20 70 72 6f 76 69 64 65 64 20 74 68 61 74 20 79 6f 75 20 ions.4.and.5,.provided.that.you.
78ae0 61 6c 73 6f 20 63 6f 6e 76 65 79 20 74 68 65 20 6d 61 63 68 69 6e 65 2d 72 65 61 64 61 62 6c 65 also.convey.the.machine-readable
78b00 0a 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 75 6e 64 65 72 20 74 68 65 20 .Corresponding.Source.under.the.
78b20 74 65 72 6d 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 69 6e 20 6f 6e 65 20 6f 66 terms.of.this.License,.in.one.of
78b40 20 74 68 65 73 65 0a 77 61 79 73 3a 0a 0a 40 65 6e 75 6d 65 72 61 74 65 20 61 0a 40 69 74 65 6d .these.ways:..@enumerate.a.@item
78b60 0a 43 6f 6e 76 65 79 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 69 6e 2c 20 6f 72 20 65 .Convey.the.object.code.in,.or.e
78b80 6d 62 6f 64 69 65 64 20 69 6e 2c 20 61 20 70 68 79 73 69 63 61 6c 20 70 72 6f 64 75 63 74 0a 28 mbodied.in,.a.physical.product.(
78ba0 69 6e 63 6c 75 64 69 6e 67 20 61 20 70 68 79 73 69 63 61 6c 20 64 69 73 74 72 69 62 75 74 69 6f including.a.physical.distributio
78bc0 6e 20 6d 65 64 69 75 6d 29 2c 20 61 63 63 6f 6d 70 61 6e 69 65 64 20 62 79 20 74 68 65 0a 43 6f n.medium),.accompanied.by.the.Co
78be0 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 66 69 78 65 64 20 6f 6e 20 61 20 64 75 rresponding.Source.fixed.on.a.du
78c00 72 61 62 6c 65 20 70 68 79 73 69 63 61 6c 20 6d 65 64 69 75 6d 20 63 75 73 74 6f 6d 61 72 69 6c rable.physical.medium.customaril
78c20 79 0a 75 73 65 64 20 66 6f 72 20 73 6f 66 74 77 61 72 65 20 69 6e 74 65 72 63 68 61 6e 67 65 2e y.used.for.software.interchange.
78c40 0a 0a 40 69 74 65 6d 0a 43 6f 6e 76 65 79 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 69 ..@item.Convey.the.object.code.i
78c60 6e 2c 20 6f 72 20 65 6d 62 6f 64 69 65 64 20 69 6e 2c 20 61 20 70 68 79 73 69 63 61 6c 20 70 72 n,.or.embodied.in,.a.physical.pr
78c80 6f 64 75 63 74 0a 28 69 6e 63 6c 75 64 69 6e 67 20 61 20 70 68 79 73 69 63 61 6c 20 64 69 73 74 oduct.(including.a.physical.dist
78ca0 72 69 62 75 74 69 6f 6e 20 6d 65 64 69 75 6d 29 2c 20 61 63 63 6f 6d 70 61 6e 69 65 64 20 62 79 ribution.medium),.accompanied.by
78cc0 20 61 20 77 72 69 74 74 65 6e 0a 6f 66 66 65 72 2c 20 76 61 6c 69 64 20 66 6f 72 20 61 74 20 6c .a.written.offer,.valid.for.at.l
78ce0 65 61 73 74 20 74 68 72 65 65 20 79 65 61 72 73 20 61 6e 64 20 76 61 6c 69 64 20 66 6f 72 20 61 east.three.years.and.valid.for.a
78d00 73 20 6c 6f 6e 67 20 61 73 20 79 6f 75 0a 6f 66 66 65 72 20 73 70 61 72 65 20 70 61 72 74 73 20 s.long.as.you.offer.spare.parts.
78d20 6f 72 20 63 75 73 74 6f 6d 65 72 20 73 75 70 70 6f 72 74 20 66 6f 72 20 74 68 61 74 20 70 72 6f or.customer.support.for.that.pro
78d40 64 75 63 74 20 6d 6f 64 65 6c 2c 20 74 6f 20 67 69 76 65 0a 61 6e 79 6f 6e 65 20 77 68 6f 20 70 duct.model,.to.give.anyone.who.p
78d60 6f 73 73 65 73 73 65 73 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 65 69 74 68 65 72 20 ossesses.the.object.code.either.
78d80 28 31 29 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 0a 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 (1).a.copy.of.the.Corresponding.
78da0 53 6f 75 72 63 65 20 66 6f 72 20 61 6c 6c 20 74 68 65 20 73 6f 66 74 77 61 72 65 20 69 6e 20 74 Source.for.all.the.software.in.t
78dc0 68 65 20 70 72 6f 64 75 63 74 20 74 68 61 74 20 69 73 0a 63 6f 76 65 72 65 64 20 62 79 20 74 68 he.product.that.is.covered.by.th
78de0 69 73 20 4c 69 63 65 6e 73 65 2c 20 6f 6e 20 61 20 64 75 72 61 62 6c 65 20 70 68 79 73 69 63 61 is.License,.on.a.durable.physica
78e00 6c 20 6d 65 64 69 75 6d 20 63 75 73 74 6f 6d 61 72 69 6c 79 20 75 73 65 64 0a 66 6f 72 20 73 6f l.medium.customarily.used.for.so
78e20 66 74 77 61 72 65 20 69 6e 74 65 72 63 68 61 6e 67 65 2c 20 66 6f 72 20 61 20 70 72 69 63 65 20 ftware.interchange,.for.a.price.
78e40 6e 6f 20 6d 6f 72 65 20 74 68 61 6e 20 79 6f 75 72 20 72 65 61 73 6f 6e 61 62 6c 65 0a 63 6f 73 no.more.than.your.reasonable.cos
78e60 74 20 6f 66 20 70 68 79 73 69 63 61 6c 6c 79 20 70 65 72 66 6f 72 6d 69 6e 67 20 74 68 69 73 20 t.of.physically.performing.this.
78e80 63 6f 6e 76 65 79 69 6e 67 20 6f 66 20 73 6f 75 72 63 65 2c 20 6f 72 20 28 32 29 20 61 63 63 65 conveying.of.source,.or.(2).acce
78ea0 73 73 0a 74 6f 20 63 6f 70 79 20 74 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 ss.to.copy.the.Corresponding.Sou
78ec0 72 63 65 20 66 72 6f 6d 20 61 20 6e 65 74 77 6f 72 6b 20 73 65 72 76 65 72 20 61 74 20 6e 6f 20 rce.from.a.network.server.at.no.
78ee0 63 68 61 72 67 65 2e 0a 0a 40 69 74 65 6d 0a 43 6f 6e 76 65 79 20 69 6e 64 69 76 69 64 75 61 6c charge...@item.Convey.individual
78f00 20 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 77 69 74 68 20 .copies.of.the.object.code.with.
78f20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 77 72 69 74 74 65 6e 0a 6f 66 66 65 72 20 74 6f 20 70 a.copy.of.the.written.offer.to.p
78f40 72 6f 76 69 64 65 20 74 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 2e rovide.the.Corresponding.Source.
78f60 20 20 54 68 69 73 20 61 6c 74 65 72 6e 61 74 69 76 65 20 69 73 0a 61 6c 6c 6f 77 65 64 20 6f 6e ..This.alternative.is.allowed.on
78f80 6c 79 20 6f 63 63 61 73 69 6f 6e 61 6c 6c 79 20 61 6e 64 20 6e 6f 6e 63 6f 6d 6d 65 72 63 69 61 ly.occasionally.and.noncommercia
78fa0 6c 6c 79 2c 20 61 6e 64 20 6f 6e 6c 79 20 69 66 20 79 6f 75 0a 72 65 63 65 69 76 65 64 20 74 68 lly,.and.only.if.you.received.th
78fc0 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 77 69 74 68 20 73 75 63 68 20 61 6e 20 6f 66 66 65 72 e.object.code.with.such.an.offer
78fe0 2c 20 69 6e 20 61 63 63 6f 72 64 20 77 69 74 68 20 73 75 62 73 65 63 74 69 6f 6e 0a 36 62 2e 0a ,.in.accord.with.subsection.6b..
79000 0a 40 69 74 65 6d 0a 43 6f 6e 76 65 79 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 62 79 .@item.Convey.the.object.code.by
79020 20 6f 66 66 65 72 69 6e 67 20 61 63 63 65 73 73 20 66 72 6f 6d 20 61 20 64 65 73 69 67 6e 61 74 .offering.access.from.a.designat
79040 65 64 20 70 6c 61 63 65 0a 28 67 72 61 74 69 73 20 6f 72 20 66 6f 72 20 61 20 63 68 61 72 67 65 ed.place.(gratis.or.for.a.charge
79060 29 2c 20 61 6e 64 20 6f 66 66 65 72 20 65 71 75 69 76 61 6c 65 6e 74 20 61 63 63 65 73 73 20 74 ),.and.offer.equivalent.access.t
79080 6f 20 74 68 65 0a 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 69 6e 20 74 68 o.the.Corresponding.Source.in.th
790a0 65 20 73 61 6d 65 20 77 61 79 20 74 68 72 6f 75 67 68 20 74 68 65 20 73 61 6d 65 20 70 6c 61 63 e.same.way.through.the.same.plac
790c0 65 20 61 74 20 6e 6f 0a 66 75 72 74 68 65 72 20 63 68 61 72 67 65 2e 20 20 59 6f 75 20 6e 65 65 e.at.no.further.charge...You.nee
790e0 64 20 6e 6f 74 20 72 65 71 75 69 72 65 20 72 65 63 69 70 69 65 6e 74 73 20 74 6f 20 63 6f 70 79 d.not.require.recipients.to.copy
79100 20 74 68 65 0a 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 61 6c 6f 6e 67 20 .the.Corresponding.Source.along.
79120 77 69 74 68 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 2e 20 20 49 66 20 74 68 65 20 70 6c with.the.object.code...If.the.pl
79140 61 63 65 20 74 6f 20 63 6f 70 79 0a 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 69 73 20 61 ace.to.copy.the.object.code.is.a
79160 20 6e 65 74 77 6f 72 6b 20 73 65 72 76 65 72 2c 20 74 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 .network.server,.the.Correspondi
79180 6e 67 20 53 6f 75 72 63 65 20 6d 61 79 20 62 65 0a 6f 6e 20 61 20 64 69 66 66 65 72 65 6e 74 20 ng.Source.may.be.on.a.different.
791a0 73 65 72 76 65 72 20 28 6f 70 65 72 61 74 65 64 20 62 79 20 79 6f 75 20 6f 72 20 61 20 74 68 69 server.(operated.by.you.or.a.thi
791c0 72 64 20 70 61 72 74 79 29 20 74 68 61 74 20 73 75 70 70 6f 72 74 73 0a 65 71 75 69 76 61 6c 65 rd.party).that.supports.equivale
791e0 6e 74 20 63 6f 70 79 69 6e 67 20 66 61 63 69 6c 69 74 69 65 73 2c 20 70 72 6f 76 69 64 65 64 20 nt.copying.facilities,.provided.
79200 79 6f 75 20 6d 61 69 6e 74 61 69 6e 20 63 6c 65 61 72 20 64 69 72 65 63 74 69 6f 6e 73 0a 6e 65 you.maintain.clear.directions.ne
79220 78 74 20 74 6f 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 73 61 79 69 6e 67 20 77 68 65 xt.to.the.object.code.saying.whe
79240 72 65 20 74 6f 20 66 69 6e 64 20 74 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 re.to.find.the.Corresponding.Sou
79260 72 63 65 2e 0a 52 65 67 61 72 64 6c 65 73 73 20 6f 66 20 77 68 61 74 20 73 65 72 76 65 72 20 68 rce..Regardless.of.what.server.h
79280 6f 73 74 73 20 74 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 2c 20 79 osts.the.Corresponding.Source,.y
792a0 6f 75 20 72 65 6d 61 69 6e 0a 6f 62 6c 69 67 61 74 65 64 20 74 6f 20 65 6e 73 75 72 65 20 74 68 ou.remain.obligated.to.ensure.th
792c0 61 74 20 69 74 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 61 73 20 6c 6f 6e 67 20 61 at.it.is.available.for.as.long.a
792e0 73 20 6e 65 65 64 65 64 20 74 6f 0a 73 61 74 69 73 66 79 20 74 68 65 73 65 20 72 65 71 75 69 72 s.needed.to.satisfy.these.requir
79300 65 6d 65 6e 74 73 2e 0a 0a 40 69 74 65 6d 0a 43 6f 6e 76 65 79 20 74 68 65 20 6f 62 6a 65 63 74 ements...@item.Convey.the.object
79320 20 63 6f 64 65 20 75 73 69 6e 67 20 70 65 65 72 2d 74 6f 2d 70 65 65 72 20 74 72 61 6e 73 6d 69 .code.using.peer-to-peer.transmi
79340 73 73 69 6f 6e 2c 20 70 72 6f 76 69 64 65 64 20 79 6f 75 0a 69 6e 66 6f 72 6d 20 6f 74 68 65 72 ssion,.provided.you.inform.other
79360 20 70 65 65 72 73 20 77 68 65 72 65 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 61 6e 64 .peers.where.the.object.code.and
79380 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 6f 66 0a 74 68 65 20 77 6f 72 .Corresponding.Source.of.the.wor
793a0 6b 20 61 72 65 20 62 65 69 6e 67 20 6f 66 66 65 72 65 64 20 74 6f 20 74 68 65 20 67 65 6e 65 72 k.are.being.offered.to.the.gener
793c0 61 6c 20 70 75 62 6c 69 63 20 61 74 20 6e 6f 20 63 68 61 72 67 65 20 75 6e 64 65 72 0a 73 75 62 al.public.at.no.charge.under.sub
793e0 73 65 63 74 69 6f 6e 20 36 64 2e 0a 0a 40 65 6e 64 20 65 6e 75 6d 65 72 61 74 65 0a 0a 41 20 73 section.6d...@end.enumerate..A.s
79400 65 70 61 72 61 62 6c 65 20 70 6f 72 74 69 6f 6e 20 6f 66 20 74 68 65 20 6f 62 6a 65 63 74 20 63 eparable.portion.of.the.object.c
79420 6f 64 65 2c 20 77 68 6f 73 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 69 73 20 65 78 63 6c 75 64 ode,.whose.source.code.is.exclud
79440 65 64 0a 66 72 6f 6d 20 74 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 ed.from.the.Corresponding.Source
79460 20 61 73 20 61 20 53 79 73 74 65 6d 20 4c 69 62 72 61 72 79 2c 20 6e 65 65 64 20 6e 6f 74 20 62 .as.a.System.Library,.need.not.b
79480 65 0a 69 6e 63 6c 75 64 65 64 20 69 6e 20 63 6f 6e 76 65 79 69 6e 67 20 74 68 65 20 6f 62 6a 65 e.included.in.conveying.the.obje
794a0 63 74 20 63 6f 64 65 20 77 6f 72 6b 2e 0a 0a 41 20 60 60 55 73 65 72 20 50 72 6f 64 75 63 74 27 ct.code.work...A.``User.Product'
794c0 27 20 69 73 20 65 69 74 68 65 72 20 28 31 29 20 61 20 60 60 63 6f 6e 73 75 6d 65 72 20 70 72 6f '.is.either.(1).a.``consumer.pro
794e0 64 75 63 74 27 27 2c 20 77 68 69 63 68 20 6d 65 61 6e 73 20 61 6e 79 0a 74 61 6e 67 69 62 6c 65 duct'',.which.means.any.tangible
79500 20 70 65 72 73 6f 6e 61 6c 20 70 72 6f 70 65 72 74 79 20 77 68 69 63 68 20 69 73 20 6e 6f 72 6d .personal.property.which.is.norm
79520 61 6c 6c 79 20 75 73 65 64 20 66 6f 72 20 70 65 72 73 6f 6e 61 6c 2c 0a 66 61 6d 69 6c 79 2c 20 ally.used.for.personal,.family,.
79540 6f 72 20 68 6f 75 73 65 68 6f 6c 64 20 70 75 72 70 6f 73 65 73 2c 20 6f 72 20 28 32 29 20 61 6e or.household.purposes,.or.(2).an
79560 79 74 68 69 6e 67 20 64 65 73 69 67 6e 65 64 20 6f 72 20 73 6f 6c 64 20 66 6f 72 0a 69 6e 63 6f ything.designed.or.sold.for.inco
79580 72 70 6f 72 61 74 69 6f 6e 20 69 6e 74 6f 20 61 20 64 77 65 6c 6c 69 6e 67 2e 20 20 49 6e 20 64 rporation.into.a.dwelling...In.d
795a0 65 74 65 72 6d 69 6e 69 6e 67 20 77 68 65 74 68 65 72 20 61 20 70 72 6f 64 75 63 74 20 69 73 20 etermining.whether.a.product.is.
795c0 61 0a 63 6f 6e 73 75 6d 65 72 20 70 72 6f 64 75 63 74 2c 20 64 6f 75 62 74 66 75 6c 20 63 61 73 a.consumer.product,.doubtful.cas
795e0 65 73 20 73 68 61 6c 6c 20 62 65 20 72 65 73 6f 6c 76 65 64 20 69 6e 20 66 61 76 6f 72 20 6f 66 es.shall.be.resolved.in.favor.of
79600 0a 63 6f 76 65 72 61 67 65 2e 20 20 46 6f 72 20 61 20 70 61 72 74 69 63 75 6c 61 72 20 70 72 6f .coverage...For.a.particular.pro
79620 64 75 63 74 20 72 65 63 65 69 76 65 64 20 62 79 20 61 20 70 61 72 74 69 63 75 6c 61 72 20 75 73 duct.received.by.a.particular.us
79640 65 72 2c 0a 60 60 6e 6f 72 6d 61 6c 6c 79 20 75 73 65 64 27 27 20 72 65 66 65 72 73 20 74 6f 20 er,.``normally.used''.refers.to.
79660 61 20 74 79 70 69 63 61 6c 20 6f 72 20 63 6f 6d 6d 6f 6e 20 75 73 65 20 6f 66 20 74 68 61 74 20 a.typical.or.common.use.of.that.
79680 63 6c 61 73 73 20 6f 66 0a 70 72 6f 64 75 63 74 2c 20 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 class.of.product,.regardless.of.
796a0 74 68 65 20 73 74 61 74 75 73 20 6f 66 20 74 68 65 20 70 61 72 74 69 63 75 6c 61 72 20 75 73 65 the.status.of.the.particular.use
796c0 72 20 6f 72 20 6f 66 20 74 68 65 20 77 61 79 0a 69 6e 20 77 68 69 63 68 20 74 68 65 20 70 61 72 r.or.of.the.way.in.which.the.par
796e0 74 69 63 75 6c 61 72 20 75 73 65 72 20 61 63 74 75 61 6c 6c 79 20 75 73 65 73 2c 20 6f 72 20 65 ticular.user.actually.uses,.or.e
79700 78 70 65 63 74 73 20 6f 72 20 69 73 20 65 78 70 65 63 74 65 64 0a 74 6f 20 75 73 65 2c 20 74 68 xpects.or.is.expected.to.use,.th
79720 65 20 70 72 6f 64 75 63 74 2e 20 20 41 20 70 72 6f 64 75 63 74 20 69 73 20 61 20 63 6f 6e 73 75 e.product...A.product.is.a.consu
79740 6d 65 72 20 70 72 6f 64 75 63 74 20 72 65 67 61 72 64 6c 65 73 73 20 6f 66 0a 77 68 65 74 68 65 mer.product.regardless.of.whethe
79760 72 20 74 68 65 20 70 72 6f 64 75 63 74 20 68 61 73 20 73 75 62 73 74 61 6e 74 69 61 6c 20 63 6f r.the.product.has.substantial.co
79780 6d 6d 65 72 63 69 61 6c 2c 20 69 6e 64 75 73 74 72 69 61 6c 20 6f 72 0a 6e 6f 6e 2d 63 6f 6e 73 mmercial,.industrial.or.non-cons
797a0 75 6d 65 72 20 75 73 65 73 2c 20 75 6e 6c 65 73 73 20 73 75 63 68 20 75 73 65 73 20 72 65 70 72 umer.uses,.unless.such.uses.repr
797c0 65 73 65 6e 74 20 74 68 65 20 6f 6e 6c 79 20 73 69 67 6e 69 66 69 63 61 6e 74 0a 6d 6f 64 65 20 esent.the.only.significant.mode.
797e0 6f 66 20 75 73 65 20 6f 66 20 74 68 65 20 70 72 6f 64 75 63 74 2e 0a 0a 60 60 49 6e 73 74 61 6c of.use.of.the.product...``Instal
79800 6c 61 74 69 6f 6e 20 49 6e 66 6f 72 6d 61 74 69 6f 6e 27 27 20 66 6f 72 20 61 20 55 73 65 72 20 lation.Information''.for.a.User.
79820 50 72 6f 64 75 63 74 20 6d 65 61 6e 73 20 61 6e 79 20 6d 65 74 68 6f 64 73 2c 0a 70 72 6f 63 65 Product.means.any.methods,.proce
79840 64 75 72 65 73 2c 20 61 75 74 68 6f 72 69 7a 61 74 69 6f 6e 20 6b 65 79 73 2c 20 6f 72 20 6f 74 dures,.authorization.keys,.or.ot
79860 68 65 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 72 65 71 75 69 72 65 64 20 74 6f 0a 69 6e 73 74 her.information.required.to.inst
79880 61 6c 6c 20 61 6e 64 20 65 78 65 63 75 74 65 20 6d 6f 64 69 66 69 65 64 20 76 65 72 73 69 6f 6e all.and.execute.modified.version
798a0 73 20 6f 66 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 69 6e 20 74 68 61 74 20 55 73 65 72 s.of.a.covered.work.in.that.User
798c0 0a 50 72 6f 64 75 63 74 20 66 72 6f 6d 20 61 20 6d 6f 64 69 66 69 65 64 20 76 65 72 73 69 6f 6e .Product.from.a.modified.version
798e0 20 6f 66 20 69 74 73 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 2e 20 20 54 .of.its.Corresponding.Source...T
79900 68 65 0a 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6d 75 73 74 20 73 75 66 66 69 63 65 20 74 6f 20 65 he.information.must.suffice.to.e
79920 6e 73 75 72 65 20 74 68 61 74 20 74 68 65 20 63 6f 6e 74 69 6e 75 65 64 20 66 75 6e 63 74 69 6f nsure.that.the.continued.functio
79940 6e 69 6e 67 20 6f 66 0a 74 68 65 20 6d 6f 64 69 66 69 65 64 20 6f 62 6a 65 63 74 20 63 6f 64 65 ning.of.the.modified.object.code
79960 20 69 73 20 69 6e 20 6e 6f 20 63 61 73 65 20 70 72 65 76 65 6e 74 65 64 20 6f 72 20 69 6e 74 65 .is.in.no.case.prevented.or.inte
79980 72 66 65 72 65 64 20 77 69 74 68 0a 73 6f 6c 65 6c 79 20 62 65 63 61 75 73 65 20 6d 6f 64 69 66 rfered.with.solely.because.modif
799a0 69 63 61 74 69 6f 6e 20 68 61 73 20 62 65 65 6e 20 6d 61 64 65 2e 0a 0a 49 66 20 79 6f 75 20 63 ication.has.been.made...If.you.c
799c0 6f 6e 76 65 79 20 61 6e 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 77 6f 72 6b 20 75 6e 64 65 72 20 onvey.an.object.code.work.under.
799e0 74 68 69 73 20 73 65 63 74 69 6f 6e 20 69 6e 2c 20 6f 72 20 77 69 74 68 2c 20 6f 72 0a 73 70 65 this.section.in,.or.with,.or.spe
79a00 63 69 66 69 63 61 6c 6c 79 20 66 6f 72 20 75 73 65 20 69 6e 2c 20 61 20 55 73 65 72 20 50 72 6f cifically.for.use.in,.a.User.Pro
79a20 64 75 63 74 2c 20 61 6e 64 20 74 68 65 20 63 6f 6e 76 65 79 69 6e 67 20 6f 63 63 75 72 73 20 61 duct,.and.the.conveying.occurs.a
79a40 73 0a 70 61 72 74 20 6f 66 20 61 20 74 72 61 6e 73 61 63 74 69 6f 6e 20 69 6e 20 77 68 69 63 68 s.part.of.a.transaction.in.which
79a60 20 74 68 65 20 72 69 67 68 74 20 6f 66 20 70 6f 73 73 65 73 73 69 6f 6e 20 61 6e 64 20 75 73 65 .the.right.of.possession.and.use
79a80 20 6f 66 20 74 68 65 0a 55 73 65 72 20 50 72 6f 64 75 63 74 20 69 73 20 74 72 61 6e 73 66 65 72 .of.the.User.Product.is.transfer
79aa0 72 65 64 20 74 6f 20 74 68 65 20 72 65 63 69 70 69 65 6e 74 20 69 6e 20 70 65 72 70 65 74 75 69 red.to.the.recipient.in.perpetui
79ac0 74 79 20 6f 72 20 66 6f 72 20 61 0a 66 69 78 65 64 20 74 65 72 6d 20 28 72 65 67 61 72 64 6c 65 ty.or.for.a.fixed.term.(regardle
79ae0 73 73 20 6f 66 20 68 6f 77 20 74 68 65 20 74 72 61 6e 73 61 63 74 69 6f 6e 20 69 73 20 63 68 61 ss.of.how.the.transaction.is.cha
79b00 72 61 63 74 65 72 69 7a 65 64 29 2c 20 74 68 65 0a 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 racterized),.the.Corresponding.S
79b20 6f 75 72 63 65 20 63 6f 6e 76 65 79 65 64 20 75 6e 64 65 72 20 74 68 69 73 20 73 65 63 74 69 6f ource.conveyed.under.this.sectio
79b40 6e 20 6d 75 73 74 20 62 65 20 61 63 63 6f 6d 70 61 6e 69 65 64 0a 62 79 20 74 68 65 20 49 6e 73 n.must.be.accompanied.by.the.Ins
79b60 74 61 6c 6c 61 74 69 6f 6e 20 49 6e 66 6f 72 6d 61 74 69 6f 6e 2e 20 20 42 75 74 20 74 68 69 73 tallation.Information...But.this
79b80 20 72 65 71 75 69 72 65 6d 65 6e 74 20 64 6f 65 73 20 6e 6f 74 20 61 70 70 6c 79 0a 69 66 20 6e .requirement.does.not.apply.if.n
79ba0 65 69 74 68 65 72 20 79 6f 75 20 6e 6f 72 20 61 6e 79 20 74 68 69 72 64 20 70 61 72 74 79 20 72 either.you.nor.any.third.party.r
79bc0 65 74 61 69 6e 73 20 74 68 65 20 61 62 69 6c 69 74 79 20 74 6f 20 69 6e 73 74 61 6c 6c 0a 6d 6f etains.the.ability.to.install.mo
79be0 64 69 66 69 65 64 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 6f 6e 20 74 68 65 20 55 73 65 72 20 50 dified.object.code.on.the.User.P
79c00 72 6f 64 75 63 74 20 28 66 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 77 6f 72 6b 20 68 61 roduct.(for.example,.the.work.ha
79c20 73 0a 62 65 65 6e 20 69 6e 73 74 61 6c 6c 65 64 20 69 6e 20 52 4f 4d 29 2e 0a 0a 54 68 65 20 72 s.been.installed.in.ROM)...The.r
79c40 65 71 75 69 72 65 6d 65 6e 74 20 74 6f 20 70 72 6f 76 69 64 65 20 49 6e 73 74 61 6c 6c 61 74 69 equirement.to.provide.Installati
79c60 6f 6e 20 49 6e 66 6f 72 6d 61 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 on.Information.does.not.include.
79c80 61 0a 72 65 71 75 69 72 65 6d 65 6e 74 20 74 6f 20 63 6f 6e 74 69 6e 75 65 20 74 6f 20 70 72 6f a.requirement.to.continue.to.pro
79ca0 76 69 64 65 20 73 75 70 70 6f 72 74 20 73 65 72 76 69 63 65 2c 20 77 61 72 72 61 6e 74 79 2c 20 vide.support.service,.warranty,.
79cc0 6f 72 0a 75 70 64 61 74 65 73 20 66 6f 72 20 61 20 77 6f 72 6b 20 74 68 61 74 20 68 61 73 20 62 or.updates.for.a.work.that.has.b
79ce0 65 65 6e 20 6d 6f 64 69 66 69 65 64 20 6f 72 20 69 6e 73 74 61 6c 6c 65 64 20 62 79 20 74 68 65 een.modified.or.installed.by.the
79d00 0a 72 65 63 69 70 69 65 6e 74 2c 20 6f 72 20 66 6f 72 20 74 68 65 20 55 73 65 72 20 50 72 6f 64 .recipient,.or.for.the.User.Prod
79d20 75 63 74 20 69 6e 20 77 68 69 63 68 20 69 74 20 68 61 73 20 62 65 65 6e 20 6d 6f 64 69 66 69 65 uct.in.which.it.has.been.modifie
79d40 64 20 6f 72 0a 69 6e 73 74 61 6c 6c 65 64 2e 20 20 41 63 63 65 73 73 20 74 6f 20 61 20 6e 65 74 d.or.installed...Access.to.a.net
79d60 77 6f 72 6b 20 6d 61 79 20 62 65 20 64 65 6e 69 65 64 20 77 68 65 6e 20 74 68 65 20 6d 6f 64 69 work.may.be.denied.when.the.modi
79d80 66 69 63 61 74 69 6f 6e 0a 69 74 73 65 6c 66 20 6d 61 74 65 72 69 61 6c 6c 79 20 61 6e 64 20 61 fication.itself.materially.and.a
79da0 64 76 65 72 73 65 6c 79 20 61 66 66 65 63 74 73 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 6f dversely.affects.the.operation.o
79dc0 66 20 74 68 65 20 6e 65 74 77 6f 72 6b 0a 6f 72 20 76 69 6f 6c 61 74 65 73 20 74 68 65 20 72 75 f.the.network.or.violates.the.ru
79de0 6c 65 73 20 61 6e 64 20 70 72 6f 74 6f 63 6f 6c 73 20 66 6f 72 20 63 6f 6d 6d 75 6e 69 63 61 74 les.and.protocols.for.communicat
79e00 69 6f 6e 20 61 63 72 6f 73 73 20 74 68 65 0a 6e 65 74 77 6f 72 6b 2e 0a 0a 43 6f 72 72 65 73 70 ion.across.the.network...Corresp
79e20 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 63 6f 6e 76 65 79 65 64 2c 20 61 6e 64 20 49 6e 73 74 onding.Source.conveyed,.and.Inst
79e40 61 6c 6c 61 74 69 6f 6e 20 49 6e 66 6f 72 6d 61 74 69 6f 6e 20 70 72 6f 76 69 64 65 64 2c 0a 69 allation.Information.provided,.i
79e60 6e 20 61 63 63 6f 72 64 20 77 69 74 68 20 74 68 69 73 20 73 65 63 74 69 6f 6e 20 6d 75 73 74 20 n.accord.with.this.section.must.
79e80 62 65 20 69 6e 20 61 20 66 6f 72 6d 61 74 20 74 68 61 74 20 69 73 20 70 75 62 6c 69 63 6c 79 0a be.in.a.format.that.is.publicly.
79ea0 64 6f 63 75 6d 65 6e 74 65 64 20 28 61 6e 64 20 77 69 74 68 20 61 6e 20 69 6d 70 6c 65 6d 65 6e documented.(and.with.an.implemen
79ec0 74 61 74 69 6f 6e 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 74 68 65 20 70 75 62 6c 69 63 20 69 tation.available.to.the.public.i
79ee0 6e 0a 73 6f 75 72 63 65 20 63 6f 64 65 20 66 6f 72 6d 29 2c 20 61 6e 64 20 6d 75 73 74 20 72 65 n.source.code.form),.and.must.re
79f00 71 75 69 72 65 20 6e 6f 20 73 70 65 63 69 61 6c 20 70 61 73 73 77 6f 72 64 20 6f 72 20 6b 65 79 quire.no.special.password.or.key
79f20 20 66 6f 72 0a 75 6e 70 61 63 6b 69 6e 67 2c 20 72 65 61 64 69 6e 67 20 6f 72 20 63 6f 70 79 69 .for.unpacking,.reading.or.copyi
79f40 6e 67 2e 0a 0a 40 69 74 65 6d 20 41 64 64 69 74 69 6f 6e 61 6c 20 54 65 72 6d 73 2e 0a 0a 60 60 ng...@item.Additional.Terms...``
79f60 41 64 64 69 74 69 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 27 27 20 61 72 65 20 74 65 72 Additional.permissions''.are.ter
79f80 6d 73 20 74 68 61 74 20 73 75 70 70 6c 65 6d 65 6e 74 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 ms.that.supplement.the.terms.of.
79fa0 74 68 69 73 0a 4c 69 63 65 6e 73 65 20 62 79 20 6d 61 6b 69 6e 67 20 65 78 63 65 70 74 69 6f 6e this.License.by.making.exception
79fc0 73 20 66 72 6f 6d 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 6f 66 20 69 74 73 20 63 6f 6e 64 69 74 s.from.one.or.more.of.its.condit
79fe0 69 6f 6e 73 2e 0a 41 64 64 69 74 69 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 74 68 61 ions..Additional.permissions.tha
7a000 74 20 61 72 65 20 61 70 70 6c 69 63 61 62 6c 65 20 74 6f 20 74 68 65 20 65 6e 74 69 72 65 20 50 t.are.applicable.to.the.entire.P
7a020 72 6f 67 72 61 6d 20 73 68 61 6c 6c 0a 62 65 20 74 72 65 61 74 65 64 20 61 73 20 74 68 6f 75 67 rogram.shall.be.treated.as.thoug
7a040 68 20 74 68 65 79 20 77 65 72 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 68 69 73 20 4c 69 63 h.they.were.included.in.this.Lic
7a060 65 6e 73 65 2c 20 74 6f 20 74 68 65 20 65 78 74 65 6e 74 0a 74 68 61 74 20 74 68 65 79 20 61 72 ense,.to.the.extent.that.they.ar
7a080 65 20 76 61 6c 69 64 20 75 6e 64 65 72 20 61 70 70 6c 69 63 61 62 6c 65 20 6c 61 77 2e 20 20 49 e.valid.under.applicable.law...I
7a0a0 66 20 61 64 64 69 74 69 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 0a 61 70 70 6c 79 20 6f f.additional.permissions.apply.o
7a0c0 6e 6c 79 20 74 6f 20 70 61 72 74 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 6d 2c 20 74 68 61 74 nly.to.part.of.the.Program,.that
7a0e0 20 70 61 72 74 20 6d 61 79 20 62 65 20 75 73 65 64 20 73 65 70 61 72 61 74 65 6c 79 0a 75 6e 64 .part.may.be.used.separately.und
7a100 65 72 20 74 68 6f 73 65 20 70 65 72 6d 69 73 73 69 6f 6e 73 2c 20 62 75 74 20 74 68 65 20 65 6e er.those.permissions,.but.the.en
7a120 74 69 72 65 20 50 72 6f 67 72 61 6d 20 72 65 6d 61 69 6e 73 20 67 6f 76 65 72 6e 65 64 20 62 79 tire.Program.remains.governed.by
7a140 0a 74 68 69 73 20 4c 69 63 65 6e 73 65 20 77 69 74 68 6f 75 74 20 72 65 67 61 72 64 20 74 6f 20 .this.License.without.regard.to.
7a160 74 68 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 2e 0a 0a 57 68 65 the.additional.permissions...Whe
7a180 6e 20 79 6f 75 20 63 6f 6e 76 65 79 20 61 20 63 6f 70 79 20 6f 66 20 61 20 63 6f 76 65 72 65 64 n.you.convey.a.copy.of.a.covered
7a1a0 20 77 6f 72 6b 2c 20 79 6f 75 20 6d 61 79 20 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 0a 72 65 .work,.you.may.at.your.option.re
7a1c0 6d 6f 76 65 20 61 6e 79 20 61 64 64 69 74 69 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 move.any.additional.permissions.
7a1e0 66 72 6f 6d 20 74 68 61 74 20 63 6f 70 79 2c 20 6f 72 20 66 72 6f 6d 20 61 6e 79 20 70 61 72 74 from.that.copy,.or.from.any.part
7a200 20 6f 66 0a 69 74 2e 20 20 28 41 64 64 69 74 69 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 .of.it...(Additional.permissions
7a220 20 6d 61 79 20 62 65 20 77 72 69 74 74 65 6e 20 74 6f 20 72 65 71 75 69 72 65 20 74 68 65 69 72 .may.be.written.to.require.their
7a240 20 6f 77 6e 0a 72 65 6d 6f 76 61 6c 20 69 6e 20 63 65 72 74 61 69 6e 20 63 61 73 65 73 20 77 68 .own.removal.in.certain.cases.wh
7a260 65 6e 20 79 6f 75 20 6d 6f 64 69 66 79 20 74 68 65 20 77 6f 72 6b 2e 29 20 20 59 6f 75 20 6d 61 en.you.modify.the.work.)..You.ma
7a280 79 20 70 6c 61 63 65 0a 61 64 64 69 74 69 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 6f y.place.additional.permissions.o
7a2a0 6e 20 6d 61 74 65 72 69 61 6c 2c 20 61 64 64 65 64 20 62 79 20 79 6f 75 20 74 6f 20 61 20 63 6f n.material,.added.by.you.to.a.co
7a2c0 76 65 72 65 64 20 77 6f 72 6b 2c 0a 66 6f 72 20 77 68 69 63 68 20 79 6f 75 20 68 61 76 65 20 6f vered.work,.for.which.you.have.o
7a2e0 72 20 63 61 6e 20 67 69 76 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 63 6f 70 79 72 69 67 68 74 r.can.give.appropriate.copyright
7a300 20 70 65 72 6d 69 73 73 69 6f 6e 2e 0a 0a 4e 6f 74 77 69 74 68 73 74 61 6e 64 69 6e 67 20 61 6e .permission...Notwithstanding.an
7a320 79 20 6f 74 68 65 72 20 70 72 6f 76 69 73 69 6f 6e 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 y.other.provision.of.this.Licens
7a340 65 2c 20 66 6f 72 20 6d 61 74 65 72 69 61 6c 20 79 6f 75 0a 61 64 64 20 74 6f 20 61 20 63 6f 76 e,.for.material.you.add.to.a.cov
7a360 65 72 65 64 20 77 6f 72 6b 2c 20 79 6f 75 20 6d 61 79 20 28 69 66 20 61 75 74 68 6f 72 69 7a 65 ered.work,.you.may.(if.authorize
7a380 64 20 62 79 20 74 68 65 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 73 0a 6f 66 20 74 68 d.by.the.copyright.holders.of.th
7a3a0 61 74 20 6d 61 74 65 72 69 61 6c 29 20 73 75 70 70 6c 65 6d 65 6e 74 20 74 68 65 20 74 65 72 6d at.material).supplement.the.term
7a3c0 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 77 69 74 68 20 74 65 72 6d 73 3a 0a 0a 40 s.of.this.License.with.terms:..@
7a3e0 65 6e 75 6d 65 72 61 74 65 20 61 0a 40 69 74 65 6d 0a 44 69 73 63 6c 61 69 6d 69 6e 67 20 77 61 enumerate.a.@item.Disclaiming.wa
7a400 72 72 61 6e 74 79 20 6f 72 20 6c 69 6d 69 74 69 6e 67 20 6c 69 61 62 69 6c 69 74 79 20 64 69 66 rranty.or.limiting.liability.dif
7a420 66 65 72 65 6e 74 6c 79 20 66 72 6f 6d 20 74 68 65 20 74 65 72 6d 73 0a 6f 66 20 73 65 63 74 69 ferently.from.the.terms.of.secti
7a440 6f 6e 73 20 31 35 20 61 6e 64 20 31 36 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 3b 20 6f ons.15.and.16.of.this.License;.o
7a460 72 0a 0a 40 69 74 65 6d 0a 52 65 71 75 69 72 69 6e 67 20 70 72 65 73 65 72 76 61 74 69 6f 6e 20 r..@item.Requiring.preservation.
7a480 6f 66 20 73 70 65 63 69 66 69 65 64 20 72 65 61 73 6f 6e 61 62 6c 65 20 6c 65 67 61 6c 20 6e 6f of.specified.reasonable.legal.no
7a4a0 74 69 63 65 73 20 6f 72 20 61 75 74 68 6f 72 0a 61 74 74 72 69 62 75 74 69 6f 6e 73 20 69 6e 20 tices.or.author.attributions.in.
7a4c0 74 68 61 74 20 6d 61 74 65 72 69 61 6c 20 6f 72 20 69 6e 20 74 68 65 20 41 70 70 72 6f 70 72 69 that.material.or.in.the.Appropri
7a4e0 61 74 65 20 4c 65 67 61 6c 20 4e 6f 74 69 63 65 73 0a 64 69 73 70 6c 61 79 65 64 20 62 79 20 77 ate.Legal.Notices.displayed.by.w
7a500 6f 72 6b 73 20 63 6f 6e 74 61 69 6e 69 6e 67 20 69 74 3b 20 6f 72 0a 0a 40 69 74 65 6d 0a 50 72 orks.containing.it;.or..@item.Pr
7a520 6f 68 69 62 69 74 69 6e 67 20 6d 69 73 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 74 ohibiting.misrepresentation.of.t
7a540 68 65 20 6f 72 69 67 69 6e 20 6f 66 20 74 68 61 74 20 6d 61 74 65 72 69 61 6c 2c 20 6f 72 0a 72 he.origin.of.that.material,.or.r
7a560 65 71 75 69 72 69 6e 67 20 74 68 61 74 20 6d 6f 64 69 66 69 65 64 20 76 65 72 73 69 6f 6e 73 20 equiring.that.modified.versions.
7a580 6f 66 20 73 75 63 68 20 6d 61 74 65 72 69 61 6c 20 62 65 20 6d 61 72 6b 65 64 20 69 6e 0a 72 65 of.such.material.be.marked.in.re
7a5a0 61 73 6f 6e 61 62 6c 65 20 77 61 79 73 20 61 73 20 64 69 66 66 65 72 65 6e 74 20 66 72 6f 6d 20 asonable.ways.as.different.from.
7a5c0 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 76 65 72 73 69 6f 6e 3b 20 6f 72 0a 0a 40 69 74 65 6d 0a the.original.version;.or..@item.
7a5e0 4c 69 6d 69 74 69 6e 67 20 74 68 65 20 75 73 65 20 66 6f 72 20 70 75 62 6c 69 63 69 74 79 20 70 Limiting.the.use.for.publicity.p
7a600 75 72 70 6f 73 65 73 20 6f 66 20 6e 61 6d 65 73 20 6f 66 20 6c 69 63 65 6e 73 6f 72 73 20 6f 72 urposes.of.names.of.licensors.or
7a620 0a 61 75 74 68 6f 72 73 20 6f 66 20 74 68 65 20 6d 61 74 65 72 69 61 6c 3b 20 6f 72 0a 0a 40 69 .authors.of.the.material;.or..@i
7a640 74 65 6d 0a 44 65 63 6c 69 6e 69 6e 67 20 74 6f 20 67 72 61 6e 74 20 72 69 67 68 74 73 20 75 6e tem.Declining.to.grant.rights.un
7a660 64 65 72 20 74 72 61 64 65 6d 61 72 6b 20 6c 61 77 20 66 6f 72 20 75 73 65 20 6f 66 20 73 6f 6d der.trademark.law.for.use.of.som
7a680 65 20 74 72 61 64 65 0a 6e 61 6d 65 73 2c 20 74 72 61 64 65 6d 61 72 6b 73 2c 20 6f 72 20 73 65 e.trade.names,.trademarks,.or.se
7a6a0 72 76 69 63 65 20 6d 61 72 6b 73 3b 20 6f 72 0a 0a 40 69 74 65 6d 0a 52 65 71 75 69 72 69 6e 67 rvice.marks;.or..@item.Requiring
7a6c0 20 69 6e 64 65 6d 6e 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 6c 69 63 65 6e 73 6f 72 73 20 61 6e .indemnification.of.licensors.an
7a6e0 64 20 61 75 74 68 6f 72 73 20 6f 66 20 74 68 61 74 20 6d 61 74 65 72 69 61 6c 20 62 79 0a 61 6e d.authors.of.that.material.by.an
7a700 79 6f 6e 65 20 77 68 6f 20 63 6f 6e 76 65 79 73 20 74 68 65 20 6d 61 74 65 72 69 61 6c 20 28 6f yone.who.conveys.the.material.(o
7a720 72 20 6d 6f 64 69 66 69 65 64 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 69 74 29 20 77 69 74 68 0a r.modified.versions.of.it).with.
7a740 63 6f 6e 74 72 61 63 74 75 61 6c 20 61 73 73 75 6d 70 74 69 6f 6e 73 20 6f 66 20 6c 69 61 62 69 contractual.assumptions.of.liabi
7a760 6c 69 74 79 20 74 6f 20 74 68 65 20 72 65 63 69 70 69 65 6e 74 2c 20 66 6f 72 20 61 6e 79 0a 6c lity.to.the.recipient,.for.any.l
7a780 69 61 62 69 6c 69 74 79 20 74 68 61 74 20 74 68 65 73 65 20 63 6f 6e 74 72 61 63 74 75 61 6c 20 iability.that.these.contractual.
7a7a0 61 73 73 75 6d 70 74 69 6f 6e 73 20 64 69 72 65 63 74 6c 79 20 69 6d 70 6f 73 65 20 6f 6e 20 74 assumptions.directly.impose.on.t
7a7c0 68 6f 73 65 0a 6c 69 63 65 6e 73 6f 72 73 20 61 6e 64 20 61 75 74 68 6f 72 73 2e 0a 40 65 6e 64 hose.licensors.and.authors..@end
7a7e0 20 65 6e 75 6d 65 72 61 74 65 0a 0a 41 6c 6c 20 6f 74 68 65 72 20 6e 6f 6e 2d 70 65 72 6d 69 73 .enumerate..All.other.non-permis
7a800 73 69 76 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 74 65 72 6d 73 20 61 72 65 20 63 6f 6e 73 69 64 sive.additional.terms.are.consid
7a820 65 72 65 64 20 60 60 66 75 72 74 68 65 72 0a 72 65 73 74 72 69 63 74 69 6f 6e 73 27 27 20 77 69 ered.``further.restrictions''.wi
7a840 74 68 69 6e 20 74 68 65 20 6d 65 61 6e 69 6e 67 20 6f 66 20 73 65 63 74 69 6f 6e 20 31 30 2e 20 thin.the.meaning.of.section.10..
7a860 20 49 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 61 73 20 79 6f 75 0a 72 65 63 65 69 76 65 64 20 .If.the.Program.as.you.received.
7a880 69 74 2c 20 6f 72 20 61 6e 79 20 70 61 72 74 20 6f 66 20 69 74 2c 20 63 6f 6e 74 61 69 6e 73 20 it,.or.any.part.of.it,.contains.
7a8a0 61 20 6e 6f 74 69 63 65 20 73 74 61 74 69 6e 67 20 74 68 61 74 20 69 74 20 69 73 0a 67 6f 76 65 a.notice.stating.that.it.is.gove
7a8c0 72 6e 65 64 20 62 79 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 61 6c 6f 6e 67 20 77 69 74 68 20 rned.by.this.License.along.with.
7a8e0 61 20 74 65 72 6d 20 74 68 61 74 20 69 73 20 61 20 66 75 72 74 68 65 72 0a 72 65 73 74 72 69 63 a.term.that.is.a.further.restric
7a900 74 69 6f 6e 2c 20 79 6f 75 20 6d 61 79 20 72 65 6d 6f 76 65 20 74 68 61 74 20 74 65 72 6d 2e 20 tion,.you.may.remove.that.term..
7a920 20 49 66 20 61 20 6c 69 63 65 6e 73 65 20 64 6f 63 75 6d 65 6e 74 20 63 6f 6e 74 61 69 6e 73 0a .If.a.license.document.contains.
7a940 61 20 66 75 72 74 68 65 72 20 72 65 73 74 72 69 63 74 69 6f 6e 20 62 75 74 20 70 65 72 6d 69 74 a.further.restriction.but.permit
7a960 73 20 72 65 6c 69 63 65 6e 73 69 6e 67 20 6f 72 20 63 6f 6e 76 65 79 69 6e 67 20 75 6e 64 65 72 s.relicensing.or.conveying.under
7a980 20 74 68 69 73 0a 4c 69 63 65 6e 73 65 2c 20 79 6f 75 20 6d 61 79 20 61 64 64 20 74 6f 20 61 20 .this.License,.you.may.add.to.a.
7a9a0 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 6d 61 74 65 72 69 61 6c 20 67 6f 76 65 72 6e 65 64 20 62 covered.work.material.governed.b
7a9c0 79 20 74 68 65 20 74 65 72 6d 73 0a 6f 66 20 74 68 61 74 20 6c 69 63 65 6e 73 65 20 64 6f 63 75 y.the.terms.of.that.license.docu
7a9e0 6d 65 6e 74 2c 20 70 72 6f 76 69 64 65 64 20 74 68 61 74 20 74 68 65 20 66 75 72 74 68 65 72 20 ment,.provided.that.the.further.
7aa00 72 65 73 74 72 69 63 74 69 6f 6e 20 64 6f 65 73 0a 6e 6f 74 20 73 75 72 76 69 76 65 20 73 75 63 restriction.does.not.survive.suc
7aa20 68 20 72 65 6c 69 63 65 6e 73 69 6e 67 20 6f 72 20 63 6f 6e 76 65 79 69 6e 67 2e 0a 0a 49 66 20 h.relicensing.or.conveying...If.
7aa40 79 6f 75 20 61 64 64 20 74 65 72 6d 73 20 74 6f 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 you.add.terms.to.a.covered.work.
7aa60 69 6e 20 61 63 63 6f 72 64 20 77 69 74 68 20 74 68 69 73 20 73 65 63 74 69 6f 6e 2c 20 79 6f 75 in.accord.with.this.section,.you
7aa80 0a 6d 75 73 74 20 70 6c 61 63 65 2c 20 69 6e 20 74 68 65 20 72 65 6c 65 76 61 6e 74 20 73 6f 75 .must.place,.in.the.relevant.sou
7aaa0 72 63 65 20 66 69 6c 65 73 2c 20 61 20 73 74 61 74 65 6d 65 6e 74 20 6f 66 20 74 68 65 0a 61 64 rce.files,.a.statement.of.the.ad
7aac0 64 69 74 69 6f 6e 61 6c 20 74 65 72 6d 73 20 74 68 61 74 20 61 70 70 6c 79 20 74 6f 20 74 68 6f ditional.terms.that.apply.to.tho
7aae0 73 65 20 66 69 6c 65 73 2c 20 6f 72 20 61 20 6e 6f 74 69 63 65 20 69 6e 64 69 63 61 74 69 6e 67 se.files,.or.a.notice.indicating
7ab00 0a 77 68 65 72 65 20 74 6f 20 66 69 6e 64 20 74 68 65 20 61 70 70 6c 69 63 61 62 6c 65 20 74 65 .where.to.find.the.applicable.te
7ab20 72 6d 73 2e 0a 0a 41 64 64 69 74 69 6f 6e 61 6c 20 74 65 72 6d 73 2c 20 70 65 72 6d 69 73 73 69 rms...Additional.terms,.permissi
7ab40 76 65 20 6f 72 20 6e 6f 6e 2d 70 65 72 6d 69 73 73 69 76 65 2c 20 6d 61 79 20 62 65 20 73 74 61 ve.or.non-permissive,.may.be.sta
7ab60 74 65 64 20 69 6e 20 74 68 65 0a 66 6f 72 6d 20 6f 66 20 61 20 73 65 70 61 72 61 74 65 6c 79 20 ted.in.the.form.of.a.separately.
7ab80 77 72 69 74 74 65 6e 20 6c 69 63 65 6e 73 65 2c 20 6f 72 20 73 74 61 74 65 64 20 61 73 20 65 78 written.license,.or.stated.as.ex
7aba0 63 65 70 74 69 6f 6e 73 3b 20 74 68 65 0a 61 62 6f 76 65 20 72 65 71 75 69 72 65 6d 65 6e 74 73 ceptions;.the.above.requirements
7abc0 20 61 70 70 6c 79 20 65 69 74 68 65 72 20 77 61 79 2e 0a 0a 40 69 74 65 6d 20 54 65 72 6d 69 6e .apply.either.way...@item.Termin
7abe0 61 74 69 6f 6e 2e 0a 0a 59 6f 75 20 6d 61 79 20 6e 6f 74 20 70 72 6f 70 61 67 61 74 65 20 6f 72 ation...You.may.not.propagate.or
7ac00 20 6d 6f 64 69 66 79 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 65 78 63 65 70 74 20 61 73 .modify.a.covered.work.except.as
7ac20 20 65 78 70 72 65 73 73 6c 79 0a 70 72 6f 76 69 64 65 64 20 75 6e 64 65 72 20 74 68 69 73 20 4c .expressly.provided.under.this.L
7ac40 69 63 65 6e 73 65 2e 20 20 41 6e 79 20 61 74 74 65 6d 70 74 20 6f 74 68 65 72 77 69 73 65 20 74 icense...Any.attempt.otherwise.t
7ac60 6f 20 70 72 6f 70 61 67 61 74 65 20 6f 72 0a 6d 6f 64 69 66 79 20 69 74 20 69 73 20 76 6f 69 64 o.propagate.or.modify.it.is.void
7ac80 2c 20 61 6e 64 20 77 69 6c 6c 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 74 65 72 6d 69 6e 61 ,.and.will.automatically.termina
7aca0 74 65 20 79 6f 75 72 20 72 69 67 68 74 73 20 75 6e 64 65 72 0a 74 68 69 73 20 4c 69 63 65 6e 73 te.your.rights.under.this.Licens
7acc0 65 20 28 69 6e 63 6c 75 64 69 6e 67 20 61 6e 79 20 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 73 e.(including.any.patent.licenses
7ace0 20 67 72 61 6e 74 65 64 20 75 6e 64 65 72 20 74 68 65 20 74 68 69 72 64 0a 70 61 72 61 67 72 61 .granted.under.the.third.paragra
7ad00 70 68 20 6f 66 20 73 65 63 74 69 6f 6e 20 31 31 29 2e 0a 0a 48 6f 77 65 76 65 72 2c 20 69 66 20 ph.of.section.11)...However,.if.
7ad20 79 6f 75 20 63 65 61 73 65 20 61 6c 6c 20 76 69 6f 6c 61 74 69 6f 6e 20 6f 66 20 74 68 69 73 20 you.cease.all.violation.of.this.
7ad40 4c 69 63 65 6e 73 65 2c 20 74 68 65 6e 20 79 6f 75 72 20 6c 69 63 65 6e 73 65 0a 66 72 6f 6d 20 License,.then.your.license.from.
7ad60 61 20 70 61 72 74 69 63 75 6c 61 72 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 69 73 a.particular.copyright.holder.is
7ad80 20 72 65 69 6e 73 74 61 74 65 64 20 28 61 29 20 70 72 6f 76 69 73 69 6f 6e 61 6c 6c 79 2c 0a 75 .reinstated.(a).provisionally,.u
7ada0 6e 6c 65 73 73 20 61 6e 64 20 75 6e 74 69 6c 20 74 68 65 20 63 6f 70 79 72 69 67 68 74 20 68 6f nless.and.until.the.copyright.ho
7adc0 6c 64 65 72 20 65 78 70 6c 69 63 69 74 6c 79 20 61 6e 64 20 66 69 6e 61 6c 6c 79 0a 74 65 72 6d lder.explicitly.and.finally.term
7ade0 69 6e 61 74 65 73 20 79 6f 75 72 20 6c 69 63 65 6e 73 65 2c 20 61 6e 64 20 28 62 29 20 70 65 72 inates.your.license,.and.(b).per
7ae00 6d 61 6e 65 6e 74 6c 79 2c 20 69 66 20 74 68 65 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 manently,.if.the.copyright.holde
7ae20 72 0a 66 61 69 6c 73 20 74 6f 20 6e 6f 74 69 66 79 20 79 6f 75 20 6f 66 20 74 68 65 20 76 69 6f r.fails.to.notify.you.of.the.vio
7ae40 6c 61 74 69 6f 6e 20 62 79 20 73 6f 6d 65 20 72 65 61 73 6f 6e 61 62 6c 65 20 6d 65 61 6e 73 20 lation.by.some.reasonable.means.
7ae60 70 72 69 6f 72 20 74 6f 0a 36 30 20 64 61 79 73 20 61 66 74 65 72 20 74 68 65 20 63 65 73 73 61 prior.to.60.days.after.the.cessa
7ae80 74 69 6f 6e 2e 0a 0a 4d 6f 72 65 6f 76 65 72 2c 20 79 6f 75 72 20 6c 69 63 65 6e 73 65 20 66 72 tion...Moreover,.your.license.fr
7aea0 6f 6d 20 61 20 70 61 72 74 69 63 75 6c 61 72 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 om.a.particular.copyright.holder
7aec0 20 69 73 0a 72 65 69 6e 73 74 61 74 65 64 20 70 65 72 6d 61 6e 65 6e 74 6c 79 20 69 66 20 74 68 .is.reinstated.permanently.if.th
7aee0 65 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 6e 6f 74 69 66 69 65 73 20 79 6f 75 20 e.copyright.holder.notifies.you.
7af00 6f 66 20 74 68 65 0a 76 69 6f 6c 61 74 69 6f 6e 20 62 79 20 73 6f 6d 65 20 72 65 61 73 6f 6e 61 of.the.violation.by.some.reasona
7af20 62 6c 65 20 6d 65 61 6e 73 2c 20 74 68 69 73 20 69 73 20 74 68 65 20 66 69 72 73 74 20 74 69 6d ble.means,.this.is.the.first.tim
7af40 65 20 79 6f 75 20 68 61 76 65 0a 72 65 63 65 69 76 65 64 20 6e 6f 74 69 63 65 20 6f 66 20 76 69 e.you.have.received.notice.of.vi
7af60 6f 6c 61 74 69 6f 6e 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 28 66 6f 72 20 61 6e 79 olation.of.this.License.(for.any
7af80 20 77 6f 72 6b 29 20 66 72 6f 6d 20 74 68 61 74 0a 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 .work).from.that.copyright.holde
7afa0 72 2c 20 61 6e 64 20 79 6f 75 20 63 75 72 65 20 74 68 65 20 76 69 6f 6c 61 74 69 6f 6e 20 70 72 r,.and.you.cure.the.violation.pr
7afc0 69 6f 72 20 74 6f 20 33 30 20 64 61 79 73 20 61 66 74 65 72 0a 79 6f 75 72 20 72 65 63 65 69 70 ior.to.30.days.after.your.receip
7afe0 74 20 6f 66 20 74 68 65 20 6e 6f 74 69 63 65 2e 0a 0a 54 65 72 6d 69 6e 61 74 69 6f 6e 20 6f 66 t.of.the.notice...Termination.of
7b000 20 79 6f 75 72 20 72 69 67 68 74 73 20 75 6e 64 65 72 20 74 68 69 73 20 73 65 63 74 69 6f 6e 20 .your.rights.under.this.section.
7b020 64 6f 65 73 20 6e 6f 74 20 74 65 72 6d 69 6e 61 74 65 20 74 68 65 0a 6c 69 63 65 6e 73 65 73 20 does.not.terminate.the.licenses.
7b040 6f 66 20 70 61 72 74 69 65 73 20 77 68 6f 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 63 6f 70 of.parties.who.have.received.cop
7b060 69 65 73 20 6f 72 20 72 69 67 68 74 73 20 66 72 6f 6d 20 79 6f 75 20 75 6e 64 65 72 0a 74 68 69 ies.or.rights.from.you.under.thi
7b080 73 20 4c 69 63 65 6e 73 65 2e 20 20 49 66 20 79 6f 75 72 20 72 69 67 68 74 73 20 68 61 76 65 20 s.License...If.your.rights.have.
7b0a0 62 65 65 6e 20 74 65 72 6d 69 6e 61 74 65 64 20 61 6e 64 20 6e 6f 74 20 70 65 72 6d 61 6e 65 6e been.terminated.and.not.permanen
7b0c0 74 6c 79 0a 72 65 69 6e 73 74 61 74 65 64 2c 20 79 6f 75 20 64 6f 20 6e 6f 74 20 71 75 61 6c 69 tly.reinstated,.you.do.not.quali
7b0e0 66 79 20 74 6f 20 72 65 63 65 69 76 65 20 6e 65 77 20 6c 69 63 65 6e 73 65 73 20 66 6f 72 20 74 fy.to.receive.new.licenses.for.t
7b100 68 65 20 73 61 6d 65 0a 6d 61 74 65 72 69 61 6c 20 75 6e 64 65 72 20 73 65 63 74 69 6f 6e 20 31 he.same.material.under.section.1
7b120 30 2e 0a 0a 40 69 74 65 6d 20 41 63 63 65 70 74 61 6e 63 65 20 4e 6f 74 20 52 65 71 75 69 72 65 0...@item.Acceptance.Not.Require
7b140 64 20 66 6f 72 20 48 61 76 69 6e 67 20 43 6f 70 69 65 73 2e 0a 0a 59 6f 75 20 61 72 65 20 6e 6f d.for.Having.Copies...You.are.no
7b160 74 20 72 65 71 75 69 72 65 64 20 74 6f 20 61 63 63 65 70 74 20 74 68 69 73 20 4c 69 63 65 6e 73 t.required.to.accept.this.Licens
7b180 65 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 72 65 63 65 69 76 65 20 6f 72 20 72 75 6e 0a 61 20 63 e.in.order.to.receive.or.run.a.c
7b1a0 6f 70 79 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 6d 2e 20 20 41 6e 63 69 6c 6c 61 72 79 20 70 opy.of.the.Program...Ancillary.p
7b1c0 72 6f 70 61 67 61 74 69 6f 6e 20 6f 66 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 0a 6f 63 63 ropagation.of.a.covered.work.occ
7b1e0 75 72 72 69 6e 67 20 73 6f 6c 65 6c 79 20 61 73 20 61 20 63 6f 6e 73 65 71 75 65 6e 63 65 20 6f urring.solely.as.a.consequence.o
7b200 66 20 75 73 69 6e 67 20 70 65 65 72 2d 74 6f 2d 70 65 65 72 20 74 72 61 6e 73 6d 69 73 73 69 6f f.using.peer-to-peer.transmissio
7b220 6e 0a 74 6f 20 72 65 63 65 69 76 65 20 61 20 63 6f 70 79 20 6c 69 6b 65 77 69 73 65 20 64 6f 65 n.to.receive.a.copy.likewise.doe
7b240 73 20 6e 6f 74 20 72 65 71 75 69 72 65 20 61 63 63 65 70 74 61 6e 63 65 2e 20 20 48 6f 77 65 76 s.not.require.acceptance...Howev
7b260 65 72 2c 0a 6e 6f 74 68 69 6e 67 20 6f 74 68 65 72 20 74 68 61 6e 20 74 68 69 73 20 4c 69 63 65 er,.nothing.other.than.this.Lice
7b280 6e 73 65 20 67 72 61 6e 74 73 20 79 6f 75 20 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 70 72 6f nse.grants.you.permission.to.pro
7b2a0 70 61 67 61 74 65 20 6f 72 0a 6d 6f 64 69 66 79 20 61 6e 79 20 63 6f 76 65 72 65 64 20 77 6f 72 pagate.or.modify.any.covered.wor
7b2c0 6b 2e 20 20 54 68 65 73 65 20 61 63 74 69 6f 6e 73 20 69 6e 66 72 69 6e 67 65 20 63 6f 70 79 72 k...These.actions.infringe.copyr
7b2e0 69 67 68 74 20 69 66 20 79 6f 75 20 64 6f 0a 6e 6f 74 20 61 63 63 65 70 74 20 74 68 69 73 20 4c ight.if.you.do.not.accept.this.L
7b300 69 63 65 6e 73 65 2e 20 20 54 68 65 72 65 66 6f 72 65 2c 20 62 79 20 6d 6f 64 69 66 79 69 6e 67 icense...Therefore,.by.modifying
7b320 20 6f 72 20 70 72 6f 70 61 67 61 74 69 6e 67 20 61 0a 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 20 .or.propagating.a.covered.work,.
7b340 79 6f 75 20 69 6e 64 69 63 61 74 65 20 79 6f 75 72 20 61 63 63 65 70 74 61 6e 63 65 20 6f 66 20 you.indicate.your.acceptance.of.
7b360 74 68 69 73 20 4c 69 63 65 6e 73 65 20 74 6f 20 64 6f 20 73 6f 2e 0a 0a 40 69 74 65 6d 20 41 75 this.License.to.do.so...@item.Au
7b380 74 6f 6d 61 74 69 63 20 4c 69 63 65 6e 73 69 6e 67 20 6f 66 20 44 6f 77 6e 73 74 72 65 61 6d 20 tomatic.Licensing.of.Downstream.
7b3a0 52 65 63 69 70 69 65 6e 74 73 2e 0a 0a 45 61 63 68 20 74 69 6d 65 20 79 6f 75 20 63 6f 6e 76 65 Recipients...Each.time.you.conve
7b3c0 79 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 20 74 68 65 20 72 65 63 69 70 69 65 6e 74 20 y.a.covered.work,.the.recipient.
7b3e0 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 0a 72 65 63 65 69 76 65 73 20 61 20 6c 69 63 65 6e 73 65 automatically.receives.a.license
7b400 20 66 72 6f 6d 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 6c 69 63 65 6e 73 6f 72 73 2c 20 74 6f .from.the.original.licensors,.to
7b420 20 72 75 6e 2c 20 6d 6f 64 69 66 79 20 61 6e 64 0a 70 72 6f 70 61 67 61 74 65 20 74 68 61 74 20 .run,.modify.and.propagate.that.
7b440 77 6f 72 6b 2c 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 work,.subject.to.this.License...
7b460 59 6f 75 20 61 72 65 20 6e 6f 74 20 72 65 73 70 6f 6e 73 69 62 6c 65 0a 66 6f 72 20 65 6e 66 6f You.are.not.responsible.for.enfo
7b480 72 63 69 6e 67 20 63 6f 6d 70 6c 69 61 6e 63 65 20 62 79 20 74 68 69 72 64 20 70 61 72 74 69 65 rcing.compliance.by.third.partie
7b4a0 73 20 77 69 74 68 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0a 0a 41 6e 20 60 60 65 6e 74 69 74 s.with.this.License...An.``entit
7b4c0 79 20 74 72 61 6e 73 61 63 74 69 6f 6e 27 27 20 69 73 20 61 20 74 72 61 6e 73 61 63 74 69 6f 6e y.transaction''.is.a.transaction
7b4e0 20 74 72 61 6e 73 66 65 72 72 69 6e 67 20 63 6f 6e 74 72 6f 6c 20 6f 66 20 61 6e 0a 6f 72 67 61 .transferring.control.of.an.orga
7b500 6e 69 7a 61 74 69 6f 6e 2c 20 6f 72 20 73 75 62 73 74 61 6e 74 69 61 6c 6c 79 20 61 6c 6c 20 61 nization,.or.substantially.all.a
7b520 73 73 65 74 73 20 6f 66 20 6f 6e 65 2c 20 6f 72 20 73 75 62 64 69 76 69 64 69 6e 67 20 61 6e 0a ssets.of.one,.or.subdividing.an.
7b540 6f 72 67 61 6e 69 7a 61 74 69 6f 6e 2c 20 6f 72 20 6d 65 72 67 69 6e 67 20 6f 72 67 61 6e 69 7a organization,.or.merging.organiz
7b560 61 74 69 6f 6e 73 2e 20 20 49 66 20 70 72 6f 70 61 67 61 74 69 6f 6e 20 6f 66 20 61 20 63 6f 76 ations...If.propagation.of.a.cov
7b580 65 72 65 64 0a 77 6f 72 6b 20 72 65 73 75 6c 74 73 20 66 72 6f 6d 20 61 6e 20 65 6e 74 69 74 79 ered.work.results.from.an.entity
7b5a0 20 74 72 61 6e 73 61 63 74 69 6f 6e 2c 20 65 61 63 68 20 70 61 72 74 79 20 74 6f 20 74 68 61 74 .transaction,.each.party.to.that
7b5c0 0a 74 72 61 6e 73 61 63 74 69 6f 6e 20 77 68 6f 20 72 65 63 65 69 76 65 73 20 61 20 63 6f 70 79 .transaction.who.receives.a.copy
7b5e0 20 6f 66 20 74 68 65 20 77 6f 72 6b 20 61 6c 73 6f 20 72 65 63 65 69 76 65 73 20 77 68 61 74 65 .of.the.work.also.receives.whate
7b600 76 65 72 0a 6c 69 63 65 6e 73 65 73 20 74 6f 20 74 68 65 20 77 6f 72 6b 20 74 68 65 20 70 61 72 ver.licenses.to.the.work.the.par
7b620 74 79 27 73 20 70 72 65 64 65 63 65 73 73 6f 72 20 69 6e 20 69 6e 74 65 72 65 73 74 20 68 61 64 ty's.predecessor.in.interest.had
7b640 20 6f 72 20 63 6f 75 6c 64 0a 67 69 76 65 20 75 6e 64 65 72 20 74 68 65 20 70 72 65 76 69 6f 75 .or.could.give.under.the.previou
7b660 73 20 70 61 72 61 67 72 61 70 68 2c 20 70 6c 75 73 20 61 20 72 69 67 68 74 20 74 6f 20 70 6f 73 s.paragraph,.plus.a.right.to.pos
7b680 73 65 73 73 69 6f 6e 20 6f 66 20 74 68 65 0a 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 session.of.the.Corresponding.Sou
7b6a0 72 63 65 20 6f 66 20 74 68 65 20 77 6f 72 6b 20 66 72 6f 6d 20 74 68 65 20 70 72 65 64 65 63 65 rce.of.the.work.from.the.predece
7b6c0 73 73 6f 72 20 69 6e 20 69 6e 74 65 72 65 73 74 2c 20 69 66 0a 74 68 65 20 70 72 65 64 65 63 65 ssor.in.interest,.if.the.predece
7b6e0 73 73 6f 72 20 68 61 73 20 69 74 20 6f 72 20 63 61 6e 20 67 65 74 20 69 74 20 77 69 74 68 20 72 ssor.has.it.or.can.get.it.with.r
7b700 65 61 73 6f 6e 61 62 6c 65 20 65 66 66 6f 72 74 73 2e 0a 0a 59 6f 75 20 6d 61 79 20 6e 6f 74 20 easonable.efforts...You.may.not.
7b720 69 6d 70 6f 73 65 20 61 6e 79 20 66 75 72 74 68 65 72 20 72 65 73 74 72 69 63 74 69 6f 6e 73 20 impose.any.further.restrictions.
7b740 6f 6e 20 74 68 65 20 65 78 65 72 63 69 73 65 20 6f 66 20 74 68 65 0a 72 69 67 68 74 73 20 67 72 on.the.exercise.of.the.rights.gr
7b760 61 6e 74 65 64 20 6f 72 20 61 66 66 69 72 6d 65 64 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 anted.or.affirmed.under.this.Lic
7b780 65 6e 73 65 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 79 6f 75 20 6d 61 79 0a 6e 6f 74 20 ense...For.example,.you.may.not.
7b7a0 69 6d 70 6f 73 65 20 61 20 6c 69 63 65 6e 73 65 20 66 65 65 2c 20 72 6f 79 61 6c 74 79 2c 20 6f impose.a.license.fee,.royalty,.o
7b7c0 72 20 6f 74 68 65 72 20 63 68 61 72 67 65 20 66 6f 72 20 65 78 65 72 63 69 73 65 20 6f 66 0a 72 r.other.charge.for.exercise.of.r
7b7e0 69 67 68 74 73 20 67 72 61 6e 74 65 64 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 ights.granted.under.this.License
7b800 2c 20 61 6e 64 20 79 6f 75 20 6d 61 79 20 6e 6f 74 20 69 6e 69 74 69 61 74 65 20 6c 69 74 69 67 ,.and.you.may.not.initiate.litig
7b820 61 74 69 6f 6e 0a 28 69 6e 63 6c 75 64 69 6e 67 20 61 20 63 72 6f 73 73 2d 63 6c 61 69 6d 20 6f ation.(including.a.cross-claim.o
7b840 72 20 63 6f 75 6e 74 65 72 63 6c 61 69 6d 20 69 6e 20 61 20 6c 61 77 73 75 69 74 29 20 61 6c 6c r.counterclaim.in.a.lawsuit).all
7b860 65 67 69 6e 67 20 74 68 61 74 0a 61 6e 79 20 70 61 74 65 6e 74 20 63 6c 61 69 6d 20 69 73 20 69 eging.that.any.patent.claim.is.i
7b880 6e 66 72 69 6e 67 65 64 20 62 79 20 6d 61 6b 69 6e 67 2c 20 75 73 69 6e 67 2c 20 73 65 6c 6c 69 nfringed.by.making,.using,.selli
7b8a0 6e 67 2c 20 6f 66 66 65 72 69 6e 67 20 66 6f 72 0a 73 61 6c 65 2c 20 6f 72 20 69 6d 70 6f 72 74 ng,.offering.for.sale,.or.import
7b8c0 69 6e 67 20 74 68 65 20 50 72 6f 67 72 61 6d 20 6f 72 20 61 6e 79 20 70 6f 72 74 69 6f 6e 20 6f ing.the.Program.or.any.portion.o
7b8e0 66 20 69 74 2e 0a 0a 40 69 74 65 6d 20 50 61 74 65 6e 74 73 2e 0a 0a 41 20 60 60 63 6f 6e 74 72 f.it...@item.Patents...A.``contr
7b900 69 62 75 74 6f 72 27 27 20 69 73 20 61 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 77 ibutor''.is.a.copyright.holder.w
7b920 68 6f 20 61 75 74 68 6f 72 69 7a 65 73 20 75 73 65 20 75 6e 64 65 72 20 74 68 69 73 0a 4c 69 63 ho.authorizes.use.under.this.Lic
7b940 65 6e 73 65 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 6f 72 20 61 20 77 6f 72 6b 20 6f 6e ense.of.the.Program.or.a.work.on
7b960 20 77 68 69 63 68 20 74 68 65 20 50 72 6f 67 72 61 6d 20 69 73 20 62 61 73 65 64 2e 20 20 54 68 .which.the.Program.is.based...Th
7b980 65 0a 77 6f 72 6b 20 74 68 75 73 20 6c 69 63 65 6e 73 65 64 20 69 73 20 63 61 6c 6c 65 64 20 74 e.work.thus.licensed.is.called.t
7b9a0 68 65 20 63 6f 6e 74 72 69 62 75 74 6f 72 27 73 20 60 60 63 6f 6e 74 72 69 62 75 74 6f 72 20 76 he.contributor's.``contributor.v
7b9c0 65 72 73 69 6f 6e 27 27 2e 0a 0a 41 20 63 6f 6e 74 72 69 62 75 74 6f 72 27 73 20 60 60 65 73 73 ersion''...A.contributor's.``ess
7b9e0 65 6e 74 69 61 6c 20 70 61 74 65 6e 74 20 63 6c 61 69 6d 73 27 27 20 61 72 65 20 61 6c 6c 20 70 ential.patent.claims''.are.all.p
7ba00 61 74 65 6e 74 20 63 6c 61 69 6d 73 20 6f 77 6e 65 64 0a 6f 72 20 63 6f 6e 74 72 6f 6c 6c 65 64 atent.claims.owned.or.controlled
7ba20 20 62 79 20 74 68 65 20 63 6f 6e 74 72 69 62 75 74 6f 72 2c 20 77 68 65 74 68 65 72 20 61 6c 72 .by.the.contributor,.whether.alr
7ba40 65 61 64 79 20 61 63 71 75 69 72 65 64 20 6f 72 0a 68 65 72 65 61 66 74 65 72 20 61 63 71 75 69 eady.acquired.or.hereafter.acqui
7ba60 72 65 64 2c 20 74 68 61 74 20 77 6f 75 6c 64 20 62 65 20 69 6e 66 72 69 6e 67 65 64 20 62 79 20 red,.that.would.be.infringed.by.
7ba80 73 6f 6d 65 20 6d 61 6e 6e 65 72 2c 20 70 65 72 6d 69 74 74 65 64 0a 62 79 20 74 68 69 73 20 4c some.manner,.permitted.by.this.L
7baa0 69 63 65 6e 73 65 2c 20 6f 66 20 6d 61 6b 69 6e 67 2c 20 75 73 69 6e 67 2c 20 6f 72 20 73 65 6c icense,.of.making,.using,.or.sel
7bac0 6c 69 6e 67 20 69 74 73 20 63 6f 6e 74 72 69 62 75 74 6f 72 20 76 65 72 73 69 6f 6e 2c 0a 62 75 ling.its.contributor.version,.bu
7bae0 74 20 64 6f 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 63 6c 61 69 6d 73 20 74 68 61 74 20 77 6f 75 t.do.not.include.claims.that.wou
7bb00 6c 64 20 62 65 20 69 6e 66 72 69 6e 67 65 64 20 6f 6e 6c 79 20 61 73 20 61 0a 63 6f 6e 73 65 71 ld.be.infringed.only.as.a.conseq
7bb20 75 65 6e 63 65 20 6f 66 20 66 75 72 74 68 65 72 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 6f 66 uence.of.further.modification.of
7bb40 20 74 68 65 20 63 6f 6e 74 72 69 62 75 74 6f 72 20 76 65 72 73 69 6f 6e 2e 20 20 46 6f 72 0a 70 .the.contributor.version...For.p
7bb60 75 72 70 6f 73 65 73 20 6f 66 20 74 68 69 73 20 64 65 66 69 6e 69 74 69 6f 6e 2c 20 60 60 63 6f urposes.of.this.definition,.``co
7bb80 6e 74 72 6f 6c 27 27 20 69 6e 63 6c 75 64 65 73 20 74 68 65 20 72 69 67 68 74 20 74 6f 20 67 72 ntrol''.includes.the.right.to.gr
7bba0 61 6e 74 0a 70 61 74 65 6e 74 20 73 75 62 6c 69 63 65 6e 73 65 73 20 69 6e 20 61 20 6d 61 6e 6e ant.patent.sublicenses.in.a.mann
7bbc0 65 72 20 63 6f 6e 73 69 73 74 65 6e 74 20 77 69 74 68 20 74 68 65 20 72 65 71 75 69 72 65 6d 65 er.consistent.with.the.requireme
7bbe0 6e 74 73 20 6f 66 0a 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0a 0a 45 61 63 68 20 63 6f 6e 74 72 nts.of.this.License...Each.contr
7bc00 69 62 75 74 6f 72 20 67 72 61 6e 74 73 20 79 6f 75 20 61 20 6e 6f 6e 2d 65 78 63 6c 75 73 69 76 ibutor.grants.you.a.non-exclusiv
7bc20 65 2c 20 77 6f 72 6c 64 77 69 64 65 2c 20 72 6f 79 61 6c 74 79 2d 66 72 65 65 0a 70 61 74 65 6e e,.worldwide,.royalty-free.paten
7bc40 74 20 6c 69 63 65 6e 73 65 20 75 6e 64 65 72 20 74 68 65 20 63 6f 6e 74 72 69 62 75 74 6f 72 27 t.license.under.the.contributor'
7bc60 73 20 65 73 73 65 6e 74 69 61 6c 20 70 61 74 65 6e 74 20 63 6c 61 69 6d 73 2c 20 74 6f 0a 6d 61 s.essential.patent.claims,.to.ma
7bc80 6b 65 2c 20 75 73 65 2c 20 73 65 6c 6c 2c 20 6f 66 66 65 72 20 66 6f 72 20 73 61 6c 65 2c 20 69 ke,.use,.sell,.offer.for.sale,.i
7bca0 6d 70 6f 72 74 20 61 6e 64 20 6f 74 68 65 72 77 69 73 65 20 72 75 6e 2c 20 6d 6f 64 69 66 79 20 mport.and.otherwise.run,.modify.
7bcc0 61 6e 64 0a 70 72 6f 70 61 67 61 74 65 20 74 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 69 74 and.propagate.the.contents.of.it
7bce0 73 20 63 6f 6e 74 72 69 62 75 74 6f 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 49 6e 20 74 68 65 20 66 s.contributor.version...In.the.f
7bd00 6f 6c 6c 6f 77 69 6e 67 20 74 68 72 65 65 20 70 61 72 61 67 72 61 70 68 73 2c 20 61 20 60 60 70 ollowing.three.paragraphs,.a.``p
7bd20 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 27 27 20 69 73 20 61 6e 79 20 65 78 70 72 65 73 73 0a 61 atent.license''.is.any.express.a
7bd40 67 72 65 65 6d 65 6e 74 20 6f 72 20 63 6f 6d 6d 69 74 6d 65 6e 74 2c 20 68 6f 77 65 76 65 72 20 greement.or.commitment,.however.
7bd60 64 65 6e 6f 6d 69 6e 61 74 65 64 2c 20 6e 6f 74 20 74 6f 20 65 6e 66 6f 72 63 65 20 61 20 70 61 denominated,.not.to.enforce.a.pa
7bd80 74 65 6e 74 0a 28 73 75 63 68 20 61 73 20 61 6e 20 65 78 70 72 65 73 73 20 70 65 72 6d 69 73 73 tent.(such.as.an.express.permiss
7bda0 69 6f 6e 20 74 6f 20 70 72 61 63 74 69 63 65 20 61 20 70 61 74 65 6e 74 20 6f 72 20 63 6f 76 65 ion.to.practice.a.patent.or.cove
7bdc0 6e 61 6e 74 20 6e 6f 74 20 74 6f 0a 73 75 65 20 66 6f 72 20 70 61 74 65 6e 74 20 69 6e 66 72 69 nant.not.to.sue.for.patent.infri
7bde0 6e 67 65 6d 65 6e 74 29 2e 20 20 54 6f 20 60 60 67 72 61 6e 74 27 27 20 73 75 63 68 20 61 20 70 ngement)...To.``grant''.such.a.p
7be00 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 20 74 6f 20 61 0a 70 61 72 74 79 20 6d 65 61 6e 73 20 74 atent.license.to.a.party.means.t
7be20 6f 20 6d 61 6b 65 20 73 75 63 68 20 61 6e 20 61 67 72 65 65 6d 65 6e 74 20 6f 72 20 63 6f 6d 6d o.make.such.an.agreement.or.comm
7be40 69 74 6d 65 6e 74 20 6e 6f 74 20 74 6f 20 65 6e 66 6f 72 63 65 20 61 0a 70 61 74 65 6e 74 20 61 itment.not.to.enforce.a.patent.a
7be60 67 61 69 6e 73 74 20 74 68 65 20 70 61 72 74 79 2e 0a 0a 49 66 20 79 6f 75 20 63 6f 6e 76 65 79 gainst.the.party...If.you.convey
7be80 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 20 6b 6e 6f 77 69 6e 67 6c 79 20 72 65 6c 79 69 .a.covered.work,.knowingly.relyi
7bea0 6e 67 20 6f 6e 20 61 20 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 2c 0a 61 6e 64 20 74 68 65 20 ng.on.a.patent.license,.and.the.
7bec0 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 6f 66 20 74 68 65 20 77 6f 72 6b Corresponding.Source.of.the.work
7bee0 20 69 73 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 61 6e 79 6f 6e 65 0a 74 6f 20 .is.not.available.for.anyone.to.
7bf00 63 6f 70 79 2c 20 66 72 65 65 20 6f 66 20 63 68 61 72 67 65 20 61 6e 64 20 75 6e 64 65 72 20 74 copy,.free.of.charge.and.under.t
7bf20 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 74 68 72 6f 75 67 he.terms.of.this.License,.throug
7bf40 68 20 61 0a 70 75 62 6c 69 63 6c 79 20 61 76 61 69 6c 61 62 6c 65 20 6e 65 74 77 6f 72 6b 20 73 h.a.publicly.available.network.s
7bf60 65 72 76 65 72 20 6f 72 20 6f 74 68 65 72 20 72 65 61 64 69 6c 79 20 61 63 63 65 73 73 69 62 6c erver.or.other.readily.accessibl
7bf80 65 20 6d 65 61 6e 73 2c 0a 74 68 65 6e 20 79 6f 75 20 6d 75 73 74 20 65 69 74 68 65 72 20 28 31 e.means,.then.you.must.either.(1
7bfa0 29 20 63 61 75 73 65 20 74 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 ).cause.the.Corresponding.Source
7bfc0 20 74 6f 20 62 65 20 73 6f 0a 61 76 61 69 6c 61 62 6c 65 2c 20 6f 72 20 28 32 29 20 61 72 72 61 .to.be.so.available,.or.(2).arra
7bfe0 6e 67 65 20 74 6f 20 64 65 70 72 69 76 65 20 79 6f 75 72 73 65 6c 66 20 6f 66 20 74 68 65 20 62 nge.to.deprive.yourself.of.the.b
7c000 65 6e 65 66 69 74 20 6f 66 20 74 68 65 0a 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 20 66 6f 72 enefit.of.the.patent.license.for
7c020 20 74 68 69 73 20 70 61 72 74 69 63 75 6c 61 72 20 77 6f 72 6b 2c 20 6f 72 20 28 33 29 20 61 72 .this.particular.work,.or.(3).ar
7c040 72 61 6e 67 65 2c 20 69 6e 20 61 20 6d 61 6e 6e 65 72 0a 63 6f 6e 73 69 73 74 65 6e 74 20 77 69 range,.in.a.manner.consistent.wi
7c060 74 68 20 74 68 65 20 72 65 71 75 69 72 65 6d 65 6e 74 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 th.the.requirements.of.this.Lice
7c080 6e 73 65 2c 20 74 6f 20 65 78 74 65 6e 64 20 74 68 65 20 70 61 74 65 6e 74 0a 6c 69 63 65 6e 73 nse,.to.extend.the.patent.licens
7c0a0 65 20 74 6f 20 64 6f 77 6e 73 74 72 65 61 6d 20 72 65 63 69 70 69 65 6e 74 73 2e 20 20 60 60 4b e.to.downstream.recipients...``K
7c0c0 6e 6f 77 69 6e 67 6c 79 20 72 65 6c 79 69 6e 67 27 27 20 6d 65 61 6e 73 20 79 6f 75 20 68 61 76 nowingly.relying''.means.you.hav
7c0e0 65 0a 61 63 74 75 61 6c 20 6b 6e 6f 77 6c 65 64 67 65 20 74 68 61 74 2c 20 62 75 74 20 66 6f 72 e.actual.knowledge.that,.but.for
7c100 20 74 68 65 20 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 2c 20 79 6f 75 72 20 63 6f 6e 76 65 79 .the.patent.license,.your.convey
7c120 69 6e 67 20 74 68 65 0a 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 69 6e 20 61 20 63 6f 75 6e 74 72 ing.the.covered.work.in.a.countr
7c140 79 2c 20 6f 72 20 79 6f 75 72 20 72 65 63 69 70 69 65 6e 74 27 73 20 75 73 65 20 6f 66 20 74 68 y,.or.your.recipient's.use.of.th
7c160 65 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 0a 69 6e 20 61 20 63 6f 75 6e 74 72 79 2c 20 77 6f 75 e.covered.work.in.a.country,.wou
7c180 6c 64 20 69 6e 66 72 69 6e 67 65 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 69 64 65 6e 74 69 66 69 ld.infringe.one.or.more.identifi
7c1a0 61 62 6c 65 20 70 61 74 65 6e 74 73 20 69 6e 20 74 68 61 74 0a 63 6f 75 6e 74 72 79 20 74 68 61 able.patents.in.that.country.tha
7c1c0 74 20 79 6f 75 20 68 61 76 65 20 72 65 61 73 6f 6e 20 74 6f 20 62 65 6c 69 65 76 65 20 61 72 65 t.you.have.reason.to.believe.are
7c1e0 20 76 61 6c 69 64 2e 0a 0a 49 66 2c 20 70 75 72 73 75 61 6e 74 20 74 6f 20 6f 72 20 69 6e 20 63 .valid...If,.pursuant.to.or.in.c
7c200 6f 6e 6e 65 63 74 69 6f 6e 20 77 69 74 68 20 61 20 73 69 6e 67 6c 65 20 74 72 61 6e 73 61 63 74 onnection.with.a.single.transact
7c220 69 6f 6e 20 6f 72 0a 61 72 72 61 6e 67 65 6d 65 6e 74 2c 20 79 6f 75 20 63 6f 6e 76 65 79 2c 20 ion.or.arrangement,.you.convey,.
7c240 6f 72 20 70 72 6f 70 61 67 61 74 65 20 62 79 20 70 72 6f 63 75 72 69 6e 67 20 63 6f 6e 76 65 79 or.propagate.by.procuring.convey
7c260 61 6e 63 65 20 6f 66 2c 20 61 0a 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 20 61 6e 64 20 67 72 61 ance.of,.a.covered.work,.and.gra
7c280 6e 74 20 61 20 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 20 74 6f 20 73 6f 6d 65 20 6f 66 20 74 nt.a.patent.license.to.some.of.t
7c2a0 68 65 20 70 61 72 74 69 65 73 0a 72 65 63 65 69 76 69 6e 67 20 74 68 65 20 63 6f 76 65 72 65 64 he.parties.receiving.the.covered
7c2c0 20 77 6f 72 6b 20 61 75 74 68 6f 72 69 7a 69 6e 67 20 74 68 65 6d 20 74 6f 20 75 73 65 2c 20 70 .work.authorizing.them.to.use,.p
7c2e0 72 6f 70 61 67 61 74 65 2c 20 6d 6f 64 69 66 79 0a 6f 72 20 63 6f 6e 76 65 79 20 61 20 73 70 65 ropagate,.modify.or.convey.a.spe
7c300 63 69 66 69 63 20 63 6f 70 79 20 6f 66 20 74 68 65 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 20 cific.copy.of.the.covered.work,.
7c320 74 68 65 6e 20 74 68 65 20 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 0a 79 6f 75 20 67 72 61 6e then.the.patent.license.you.gran
7c340 74 20 69 73 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 65 78 74 65 6e 64 65 64 20 74 6f 20 61 t.is.automatically.extended.to.a
7c360 6c 6c 20 72 65 63 69 70 69 65 6e 74 73 20 6f 66 20 74 68 65 20 63 6f 76 65 72 65 64 0a 77 6f 72 ll.recipients.of.the.covered.wor
7c380 6b 20 61 6e 64 20 77 6f 72 6b 73 20 62 61 73 65 64 20 6f 6e 20 69 74 2e 0a 0a 41 20 70 61 74 65 k.and.works.based.on.it...A.pate
7c3a0 6e 74 20 6c 69 63 65 6e 73 65 20 69 73 20 60 60 64 69 73 63 72 69 6d 69 6e 61 74 6f 72 79 27 27 nt.license.is.``discriminatory''
7c3c0 20 69 66 20 69 74 20 64 6f 65 73 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 77 69 74 68 69 6e 20 74 .if.it.does.not.include.within.t
7c3e0 68 65 0a 73 63 6f 70 65 20 6f 66 20 69 74 73 20 63 6f 76 65 72 61 67 65 2c 20 70 72 6f 68 69 62 he.scope.of.its.coverage,.prohib
7c400 69 74 73 20 74 68 65 20 65 78 65 72 63 69 73 65 20 6f 66 2c 20 6f 72 20 69 73 20 63 6f 6e 64 69 its.the.exercise.of,.or.is.condi
7c420 74 69 6f 6e 65 64 20 6f 6e 0a 74 68 65 20 6e 6f 6e 2d 65 78 65 72 63 69 73 65 20 6f 66 20 6f 6e tioned.on.the.non-exercise.of.on
7c440 65 20 6f 72 20 6d 6f 72 65 20 6f 66 20 74 68 65 20 72 69 67 68 74 73 20 74 68 61 74 20 61 72 65 e.or.more.of.the.rights.that.are
7c460 20 73 70 65 63 69 66 69 63 61 6c 6c 79 0a 67 72 61 6e 74 65 64 20 75 6e 64 65 72 20 74 68 69 73 .specifically.granted.under.this
7c480 20 4c 69 63 65 6e 73 65 2e 20 20 59 6f 75 20 6d 61 79 20 6e 6f 74 20 63 6f 6e 76 65 79 20 61 20 .License...You.may.not.convey.a.
7c4a0 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 69 66 20 79 6f 75 0a 61 72 65 20 61 20 70 61 72 74 79 20 covered.work.if.you.are.a.party.
7c4c0 74 6f 20 61 6e 20 61 72 72 61 6e 67 65 6d 65 6e 74 20 77 69 74 68 20 61 20 74 68 69 72 64 20 70 to.an.arrangement.with.a.third.p
7c4e0 61 72 74 79 20 74 68 61 74 20 69 73 20 69 6e 20 74 68 65 0a 62 75 73 69 6e 65 73 73 20 6f 66 20 arty.that.is.in.the.business.of.
7c500 64 69 73 74 72 69 62 75 74 69 6e 67 20 73 6f 66 74 77 61 72 65 2c 20 75 6e 64 65 72 20 77 68 69 distributing.software,.under.whi
7c520 63 68 20 79 6f 75 20 6d 61 6b 65 20 70 61 79 6d 65 6e 74 20 74 6f 20 74 68 65 0a 74 68 69 72 64 ch.you.make.payment.to.the.third
7c540 20 70 61 72 74 79 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 65 78 74 65 6e 74 20 6f 66 20 79 6f .party.based.on.the.extent.of.yo
7c560 75 72 20 61 63 74 69 76 69 74 79 20 6f 66 20 63 6f 6e 76 65 79 69 6e 67 20 74 68 65 0a 77 6f 72 ur.activity.of.conveying.the.wor
7c580 6b 2c 20 61 6e 64 20 75 6e 64 65 72 20 77 68 69 63 68 20 74 68 65 20 74 68 69 72 64 20 70 61 72 k,.and.under.which.the.third.par
7c5a0 74 79 20 67 72 61 6e 74 73 2c 20 74 6f 20 61 6e 79 20 6f 66 20 74 68 65 20 70 61 72 74 69 65 73 ty.grants,.to.any.of.the.parties
7c5c0 0a 77 68 6f 20 77 6f 75 6c 64 20 72 65 63 65 69 76 65 20 74 68 65 20 63 6f 76 65 72 65 64 20 77 .who.would.receive.the.covered.w
7c5e0 6f 72 6b 20 66 72 6f 6d 20 79 6f 75 2c 20 61 20 64 69 73 63 72 69 6d 69 6e 61 74 6f 72 79 20 70 ork.from.you,.a.discriminatory.p
7c600 61 74 65 6e 74 0a 6c 69 63 65 6e 73 65 20 28 61 29 20 69 6e 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 atent.license.(a).in.connection.
7c620 77 69 74 68 20 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 with.copies.of.the.covered.work.
7c640 63 6f 6e 76 65 79 65 64 20 62 79 0a 79 6f 75 20 28 6f 72 20 63 6f 70 69 65 73 20 6d 61 64 65 20 conveyed.by.you.(or.copies.made.
7c660 66 72 6f 6d 20 74 68 6f 73 65 20 63 6f 70 69 65 73 29 2c 20 6f 72 20 28 62 29 20 70 72 69 6d 61 from.those.copies),.or.(b).prima
7c680 72 69 6c 79 20 66 6f 72 20 61 6e 64 20 69 6e 0a 63 6f 6e 6e 65 63 74 69 6f 6e 20 77 69 74 68 20 rily.for.and.in.connection.with.
7c6a0 73 70 65 63 69 66 69 63 20 70 72 6f 64 75 63 74 73 20 6f 72 20 63 6f 6d 70 69 6c 61 74 69 6f 6e specific.products.or.compilation
7c6c0 73 20 74 68 61 74 20 63 6f 6e 74 61 69 6e 20 74 68 65 0a 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c s.that.contain.the.covered.work,
7c6e0 20 75 6e 6c 65 73 73 20 79 6f 75 20 65 6e 74 65 72 65 64 20 69 6e 74 6f 20 74 68 61 74 20 61 72 .unless.you.entered.into.that.ar
7c700 72 61 6e 67 65 6d 65 6e 74 2c 20 6f 72 20 74 68 61 74 20 70 61 74 65 6e 74 0a 6c 69 63 65 6e 73 rangement,.or.that.patent.licens
7c720 65 20 77 61 73 20 67 72 61 6e 74 65 64 2c 20 70 72 69 6f 72 20 74 6f 20 32 38 20 4d 61 72 63 68 e.was.granted,.prior.to.28.March
7c740 20 32 30 30 37 2e 0a 0a 4e 6f 74 68 69 6e 67 20 69 6e 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 .2007...Nothing.in.this.License.
7c760 73 68 61 6c 6c 20 62 65 20 63 6f 6e 73 74 72 75 65 64 20 61 73 20 65 78 63 6c 75 64 69 6e 67 20 shall.be.construed.as.excluding.
7c780 6f 72 20 6c 69 6d 69 74 69 6e 67 0a 61 6e 79 20 69 6d 70 6c 69 65 64 20 6c 69 63 65 6e 73 65 20 or.limiting.any.implied.license.
7c7a0 6f 72 20 6f 74 68 65 72 20 64 65 66 65 6e 73 65 73 20 74 6f 20 69 6e 66 72 69 6e 67 65 6d 65 6e or.other.defenses.to.infringemen
7c7c0 74 20 74 68 61 74 20 6d 61 79 0a 6f 74 68 65 72 77 69 73 65 20 62 65 20 61 76 61 69 6c 61 62 6c t.that.may.otherwise.be.availabl
7c7e0 65 20 74 6f 20 79 6f 75 20 75 6e 64 65 72 20 61 70 70 6c 69 63 61 62 6c 65 20 70 61 74 65 6e 74 e.to.you.under.applicable.patent
7c800 20 6c 61 77 2e 0a 0a 40 69 74 65 6d 20 4e 6f 20 53 75 72 72 65 6e 64 65 72 20 6f 66 20 4f 74 68 .law...@item.No.Surrender.of.Oth
7c820 65 72 73 27 20 46 72 65 65 64 6f 6d 2e 0a 0a 49 66 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 ers'.Freedom...If.conditions.are
7c840 20 69 6d 70 6f 73 65 64 20 6f 6e 20 79 6f 75 20 28 77 68 65 74 68 65 72 20 62 79 20 63 6f 75 72 .imposed.on.you.(whether.by.cour
7c860 74 20 6f 72 64 65 72 2c 20 61 67 72 65 65 6d 65 6e 74 20 6f 72 0a 6f 74 68 65 72 77 69 73 65 29 t.order,.agreement.or.otherwise)
7c880 20 74 68 61 74 20 63 6f 6e 74 72 61 64 69 63 74 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 73 20 .that.contradict.the.conditions.
7c8a0 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 74 68 65 79 20 64 6f 20 6e 6f 74 0a 65 78 63 of.this.License,.they.do.not.exc
7c8c0 75 73 65 20 79 6f 75 20 66 72 6f 6d 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 73 20 6f 66 20 74 use.you.from.the.conditions.of.t
7c8e0 68 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 49 66 20 79 6f 75 20 63 61 6e 6e 6f 74 20 63 6f 6e 76 his.License...If.you.cannot.conv
7c900 65 79 0a 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 73 6f 20 61 73 20 74 6f 20 73 61 74 69 73 ey.a.covered.work.so.as.to.satis
7c920 66 79 20 73 69 6d 75 6c 74 61 6e 65 6f 75 73 6c 79 20 79 6f 75 72 20 6f 62 6c 69 67 61 74 69 6f fy.simultaneously.your.obligatio
7c940 6e 73 20 75 6e 64 65 72 0a 74 68 69 73 20 4c 69 63 65 6e 73 65 20 61 6e 64 20 61 6e 79 20 6f 74 ns.under.this.License.and.any.ot
7c960 68 65 72 20 70 65 72 74 69 6e 65 6e 74 20 6f 62 6c 69 67 61 74 69 6f 6e 73 2c 20 74 68 65 6e 20 her.pertinent.obligations,.then.
7c980 61 73 20 61 0a 63 6f 6e 73 65 71 75 65 6e 63 65 20 79 6f 75 20 6d 61 79 20 6e 6f 74 20 63 6f 6e as.a.consequence.you.may.not.con
7c9a0 76 65 79 20 69 74 20 61 74 20 61 6c 6c 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 69 66 20 vey.it.at.all...For.example,.if.
7c9c0 79 6f 75 20 61 67 72 65 65 0a 74 6f 20 74 65 72 6d 73 20 74 68 61 74 20 6f 62 6c 69 67 61 74 65 you.agree.to.terms.that.obligate
7c9e0 20 79 6f 75 20 74 6f 20 63 6f 6c 6c 65 63 74 20 61 20 72 6f 79 61 6c 74 79 20 66 6f 72 20 66 75 .you.to.collect.a.royalty.for.fu
7ca00 72 74 68 65 72 20 63 6f 6e 76 65 79 69 6e 67 0a 66 72 6f 6d 20 74 68 6f 73 65 20 74 6f 20 77 68 rther.conveying.from.those.to.wh
7ca20 6f 6d 20 79 6f 75 20 63 6f 6e 76 65 79 20 74 68 65 20 50 72 6f 67 72 61 6d 2c 20 74 68 65 20 6f om.you.convey.the.Program,.the.o
7ca40 6e 6c 79 20 77 61 79 20 79 6f 75 20 63 6f 75 6c 64 0a 73 61 74 69 73 66 79 20 62 6f 74 68 20 74 nly.way.you.could.satisfy.both.t
7ca60 68 6f 73 65 20 74 65 72 6d 73 20 61 6e 64 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 77 6f 75 6c hose.terms.and.this.License.woul
7ca80 64 20 62 65 20 74 6f 20 72 65 66 72 61 69 6e 20 65 6e 74 69 72 65 6c 79 0a 66 72 6f 6d 20 63 6f d.be.to.refrain.entirely.from.co
7caa0 6e 76 65 79 69 6e 67 20 74 68 65 20 50 72 6f 67 72 61 6d 2e 0a 0a 40 69 74 65 6d 20 55 73 65 20 nveying.the.Program...@item.Use.
7cac0 77 69 74 68 20 74 68 65 20 47 4e 55 20 41 66 66 65 72 6f 20 47 65 6e 65 72 61 6c 20 50 75 62 6c with.the.GNU.Affero.General.Publ
7cae0 69 63 20 4c 69 63 65 6e 73 65 2e 0a 0a 4e 6f 74 77 69 74 68 73 74 61 6e 64 69 6e 67 20 61 6e 79 ic.License...Notwithstanding.any
7cb00 20 6f 74 68 65 72 20 70 72 6f 76 69 73 69 6f 6e 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 .other.provision.of.this.License
7cb20 2c 20 79 6f 75 20 68 61 76 65 0a 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 6c 69 6e 6b 20 6f 72 ,.you.have.permission.to.link.or
7cb40 20 63 6f 6d 62 69 6e 65 20 61 6e 79 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 77 69 74 68 20 61 .combine.any.covered.work.with.a
7cb60 20 77 6f 72 6b 20 6c 69 63 65 6e 73 65 64 0a 75 6e 64 65 72 20 76 65 72 73 69 6f 6e 20 33 20 6f .work.licensed.under.version.3.o
7cb80 66 20 74 68 65 20 47 4e 55 20 41 66 66 65 72 6f 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 f.the.GNU.Affero.General.Public.
7cba0 4c 69 63 65 6e 73 65 20 69 6e 74 6f 20 61 20 73 69 6e 67 6c 65 0a 63 6f 6d 62 69 6e 65 64 20 77 License.into.a.single.combined.w
7cbc0 6f 72 6b 2c 20 61 6e 64 20 74 6f 20 63 6f 6e 76 65 79 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 ork,.and.to.convey.the.resulting
7cbe0 20 77 6f 72 6b 2e 20 20 54 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 69 73 0a 4c 69 63 65 6e 73 .work...The.terms.of.this.Licens
7cc00 65 20 77 69 6c 6c 20 63 6f 6e 74 69 6e 75 65 20 74 6f 20 61 70 70 6c 79 20 74 6f 20 74 68 65 20 e.will.continue.to.apply.to.the.
7cc20 70 61 72 74 20 77 68 69 63 68 20 69 73 20 74 68 65 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 0a part.which.is.the.covered.work,.
7cc40 62 75 74 20 74 68 65 20 73 70 65 63 69 61 6c 20 72 65 71 75 69 72 65 6d 65 6e 74 73 20 6f 66 20 but.the.special.requirements.of.
7cc60 74 68 65 20 47 4e 55 20 41 66 66 65 72 6f 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 the.GNU.Affero.General.Public.Li
7cc80 63 65 6e 73 65 2c 0a 73 65 63 74 69 6f 6e 20 31 33 2c 20 63 6f 6e 63 65 72 6e 69 6e 67 20 69 6e cense,.section.13,.concerning.in
7cca0 74 65 72 61 63 74 69 6f 6e 20 74 68 72 6f 75 67 68 20 61 20 6e 65 74 77 6f 72 6b 20 77 69 6c 6c teraction.through.a.network.will
7ccc0 20 61 70 70 6c 79 20 74 6f 20 74 68 65 0a 63 6f 6d 62 69 6e 61 74 69 6f 6e 20 61 73 20 73 75 63 .apply.to.the.combination.as.suc
7cce0 68 2e 0a 0a 40 69 74 65 6d 20 52 65 76 69 73 65 64 20 56 65 72 73 69 6f 6e 73 20 6f 66 20 74 68 h...@item.Revised.Versions.of.th
7cd00 69 73 20 4c 69 63 65 6e 73 65 2e 0a 0a 54 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 is.License...The.Free.Software.F
7cd20 6f 75 6e 64 61 74 69 6f 6e 20 6d 61 79 20 70 75 62 6c 69 73 68 20 72 65 76 69 73 65 64 20 61 6e oundation.may.publish.revised.an
7cd40 64 2f 6f 72 20 6e 65 77 20 76 65 72 73 69 6f 6e 73 0a 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e d/or.new.versions.of.the.GNU.Gen
7cd60 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 72 6f 6d 20 74 69 6d 65 20 74 6f eral.Public.License.from.time.to
7cd80 20 74 69 6d 65 2e 20 20 53 75 63 68 20 6e 65 77 0a 76 65 72 73 69 6f 6e 73 20 77 69 6c 6c 20 62 .time...Such.new.versions.will.b
7cda0 65 20 73 69 6d 69 6c 61 72 20 69 6e 20 73 70 69 72 69 74 20 74 6f 20 74 68 65 20 70 72 65 73 65 e.similar.in.spirit.to.the.prese
7cdc0 6e 74 20 76 65 72 73 69 6f 6e 2c 20 62 75 74 20 6d 61 79 0a 64 69 66 66 65 72 20 69 6e 20 64 65 nt.version,.but.may.differ.in.de
7cde0 74 61 69 6c 20 74 6f 20 61 64 64 72 65 73 73 20 6e 65 77 20 70 72 6f 62 6c 65 6d 73 20 6f 72 20 tail.to.address.new.problems.or.
7ce00 63 6f 6e 63 65 72 6e 73 2e 0a 0a 45 61 63 68 20 76 65 72 73 69 6f 6e 20 69 73 20 67 69 76 65 6e concerns...Each.version.is.given
7ce20 20 61 20 64 69 73 74 69 6e 67 75 69 73 68 69 6e 67 20 76 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 .a.distinguishing.version.number
7ce40 2e 20 20 49 66 20 74 68 65 20 50 72 6f 67 72 61 6d 0a 73 70 65 63 69 66 69 65 73 20 74 68 61 74 ...If.the.Program.specifies.that
7ce60 20 61 20 63 65 72 74 61 69 6e 20 6e 75 6d 62 65 72 65 64 20 76 65 72 73 69 6f 6e 20 6f 66 20 74 .a.certain.numbered.version.of.t
7ce80 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 0a 4c 69 63 65 6e 73 65 20 60 60 he.GNU.General.Public.License.``
7cea0 6f 72 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 27 27 20 61 70 70 6c 69 65 73 20 74 or.any.later.version''.applies.t
7cec0 6f 20 69 74 2c 20 79 6f 75 20 68 61 76 65 20 74 68 65 20 6f 70 74 69 6f 6e 20 6f 66 0a 66 6f 6c o.it,.you.have.the.option.of.fol
7cee0 6c 6f 77 69 6e 67 20 74 68 65 20 74 65 72 6d 73 20 61 6e 64 20 63 6f 6e 64 69 74 69 6f 6e 73 20 lowing.the.terms.and.conditions.
7cf00 65 69 74 68 65 72 20 6f 66 20 74 68 61 74 20 6e 75 6d 62 65 72 65 64 20 76 65 72 73 69 6f 6e 20 either.of.that.numbered.version.
7cf20 6f 72 0a 6f 66 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 20 70 75 62 6c 69 73 68 65 or.of.any.later.version.publishe
7cf40 64 20 62 79 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 74 69 6f d.by.the.Free.Software.Foundatio
7cf60 6e 2e 20 20 49 66 0a 74 68 65 20 50 72 6f 67 72 61 6d 20 64 6f 65 73 20 6e 6f 74 20 73 70 65 63 n...If.the.Program.does.not.spec
7cf80 69 66 79 20 61 20 76 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 20 6f 66 20 74 68 65 20 47 4e 55 20 ify.a.version.number.of.the.GNU.
7cfa0 47 65 6e 65 72 61 6c 0a 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 2c 20 79 6f 75 20 6d 61 79 20 General.Public.License,.you.may.
7cfc0 63 68 6f 6f 73 65 20 61 6e 79 20 76 65 72 73 69 6f 6e 20 65 76 65 72 20 70 75 62 6c 69 73 68 65 choose.any.version.ever.publishe
7cfe0 64 20 62 79 20 74 68 65 20 46 72 65 65 0a 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f d.by.the.Free.Software.Foundatio
7d000 6e 2e 0a 0a 49 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 73 70 65 63 69 66 69 65 73 20 74 68 61 n...If.the.Program.specifies.tha
7d020 74 20 61 20 70 72 6f 78 79 20 63 61 6e 20 64 65 63 69 64 65 20 77 68 69 63 68 20 66 75 74 75 72 t.a.proxy.can.decide.which.futur
7d040 65 20 76 65 72 73 69 6f 6e 73 0a 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 e.versions.of.the.GNU.General.Pu
7d060 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 63 61 6e 20 62 65 20 75 73 65 64 2c 20 74 68 61 74 20 70 blic.License.can.be.used,.that.p
7d080 72 6f 78 79 27 73 20 70 75 62 6c 69 63 0a 73 74 61 74 65 6d 65 6e 74 20 6f 66 20 61 63 63 65 70 roxy's.public.statement.of.accep
7d0a0 74 61 6e 63 65 20 6f 66 20 61 20 76 65 72 73 69 6f 6e 20 70 65 72 6d 61 6e 65 6e 74 6c 79 20 61 tance.of.a.version.permanently.a
7d0c0 75 74 68 6f 72 69 7a 65 73 20 79 6f 75 20 74 6f 0a 63 68 6f 6f 73 65 20 74 68 61 74 20 76 65 72 uthorizes.you.to.choose.that.ver
7d0e0 73 69 6f 6e 20 66 6f 72 20 74 68 65 20 50 72 6f 67 72 61 6d 2e 0a 0a 4c 61 74 65 72 20 6c 69 63 sion.for.the.Program...Later.lic
7d100 65 6e 73 65 20 76 65 72 73 69 6f 6e 73 20 6d 61 79 20 67 69 76 65 20 79 6f 75 20 61 64 64 69 74 ense.versions.may.give.you.addit
7d120 69 6f 6e 61 6c 20 6f 72 20 64 69 66 66 65 72 65 6e 74 0a 70 65 72 6d 69 73 73 69 6f 6e 73 2e 20 ional.or.different.permissions..
7d140 20 48 6f 77 65 76 65 72 2c 20 6e 6f 20 61 64 64 69 74 69 6f 6e 61 6c 20 6f 62 6c 69 67 61 74 69 .However,.no.additional.obligati
7d160 6f 6e 73 20 61 72 65 20 69 6d 70 6f 73 65 64 20 6f 6e 20 61 6e 79 0a 61 75 74 68 6f 72 20 6f 72 ons.are.imposed.on.any.author.or
7d180 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 61 73 20 61 20 72 65 73 75 6c 74 20 6f 66 .copyright.holder.as.a.result.of
7d1a0 20 79 6f 75 72 20 63 68 6f 6f 73 69 6e 67 20 74 6f 20 66 6f 6c 6c 6f 77 20 61 0a 6c 61 74 65 72 .your.choosing.to.follow.a.later
7d1c0 20 76 65 72 73 69 6f 6e 2e 0a 0a 40 69 74 65 6d 20 44 69 73 63 6c 61 69 6d 65 72 20 6f 66 20 57 .version...@item.Disclaimer.of.W
7d1e0 61 72 72 61 6e 74 79 2e 0a 0a 54 48 45 52 45 20 49 53 20 4e 4f 20 57 41 52 52 41 4e 54 59 20 46 arranty...THERE.IS.NO.WARRANTY.F
7d200 4f 52 20 54 48 45 20 50 52 4f 47 52 41 4d 2c 20 54 4f 20 54 48 45 20 45 58 54 45 4e 54 20 50 45 OR.THE.PROGRAM,.TO.THE.EXTENT.PE
7d220 52 4d 49 54 54 45 44 20 42 59 0a 41 50 50 4c 49 43 41 42 4c 45 20 4c 41 57 40 2e 20 20 45 58 43 RMITTED.BY.APPLICABLE.LAW@...EXC
7d240 45 50 54 20 57 48 45 4e 20 4f 54 48 45 52 57 49 53 45 20 53 54 41 54 45 44 20 49 4e 20 57 52 49 EPT.WHEN.OTHERWISE.STATED.IN.WRI
7d260 54 49 4e 47 20 54 48 45 20 43 4f 50 59 52 49 47 48 54 0a 48 4f 4c 44 45 52 53 20 41 4e 44 2f 4f TING.THE.COPYRIGHT.HOLDERS.AND/O
7d280 52 20 4f 54 48 45 52 20 50 41 52 54 49 45 53 20 50 52 4f 56 49 44 45 20 54 48 45 20 50 52 4f 47 R.OTHER.PARTIES.PROVIDE.THE.PROG
7d2a0 52 41 4d 20 60 60 41 53 20 49 53 27 27 20 57 49 54 48 4f 55 54 0a 57 41 52 52 41 4e 54 59 20 4f RAM.``AS.IS''.WITHOUT.WARRANTY.O
7d2c0 46 20 41 4e 59 20 4b 49 4e 44 2c 20 45 49 54 48 45 52 20 45 58 50 52 45 53 53 45 44 20 4f 52 20 F.ANY.KIND,.EITHER.EXPRESSED.OR.
7d2e0 49 4d 50 4c 49 45 44 2c 20 49 4e 43 4c 55 44 49 4e 47 2c 20 42 55 54 20 4e 4f 54 0a 4c 49 4d 49 IMPLIED,.INCLUDING,.BUT.NOT.LIMI
7d300 54 45 44 20 54 4f 2c 20 54 48 45 20 49 4d 50 4c 49 45 44 20 57 41 52 52 41 4e 54 49 45 53 20 4f TED.TO,.THE.IMPLIED.WARRANTIES.O
7d320 46 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 41 4e 44 20 46 49 54 4e 45 53 53 20 46 4f F.MERCHANTABILITY.AND.FITNESS.FO
7d340 52 0a 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 40 2e 20 20 54 48 45 20 45 4e R.A.PARTICULAR.PURPOSE@...THE.EN
7d360 54 49 52 45 20 52 49 53 4b 20 41 53 20 54 4f 20 54 48 45 20 51 55 41 4c 49 54 59 20 41 4e 44 0a TIRE.RISK.AS.TO.THE.QUALITY.AND.
7d380 50 45 52 46 4f 52 4d 41 4e 43 45 20 4f 46 20 54 48 45 20 50 52 4f 47 52 41 4d 20 49 53 20 57 49 PERFORMANCE.OF.THE.PROGRAM.IS.WI
7d3a0 54 48 20 59 4f 55 40 2e 20 20 53 48 4f 55 4c 44 20 54 48 45 20 50 52 4f 47 52 41 4d 20 50 52 4f TH.YOU@...SHOULD.THE.PROGRAM.PRO
7d3c0 56 45 0a 44 45 46 45 43 54 49 56 45 2c 20 59 4f 55 20 41 53 53 55 4d 45 20 54 48 45 20 43 4f 53 VE.DEFECTIVE,.YOU.ASSUME.THE.COS
7d3e0 54 20 4f 46 20 41 4c 4c 20 4e 45 43 45 53 53 41 52 59 20 53 45 52 56 49 43 49 4e 47 2c 20 52 45 T.OF.ALL.NECESSARY.SERVICING,.RE
7d400 50 41 49 52 20 4f 52 0a 43 4f 52 52 45 43 54 49 4f 4e 2e 0a 0a 40 69 74 65 6d 20 4c 69 6d 69 74 PAIR.OR.CORRECTION...@item.Limit
7d420 61 74 69 6f 6e 20 6f 66 20 4c 69 61 62 69 6c 69 74 79 2e 0a 0a 49 4e 20 4e 4f 20 45 56 45 4e 54 ation.of.Liability...IN.NO.EVENT
7d440 20 55 4e 4c 45 53 53 20 52 45 51 55 49 52 45 44 20 42 59 20 41 50 50 4c 49 43 41 42 4c 45 20 4c .UNLESS.REQUIRED.BY.APPLICABLE.L
7d460 41 57 20 4f 52 20 41 47 52 45 45 44 20 54 4f 20 49 4e 20 57 52 49 54 49 4e 47 0a 57 49 4c 4c 20 AW.OR.AGREED.TO.IN.WRITING.WILL.
7d480 41 4e 59 20 43 4f 50 59 52 49 47 48 54 20 48 4f 4c 44 45 52 2c 20 4f 52 20 41 4e 59 20 4f 54 48 ANY.COPYRIGHT.HOLDER,.OR.ANY.OTH
7d4a0 45 52 20 50 41 52 54 59 20 57 48 4f 20 4d 4f 44 49 46 49 45 53 20 41 4e 44 2f 4f 52 0a 43 4f 4e ER.PARTY.WHO.MODIFIES.AND/OR.CON
7d4c0 56 45 59 53 20 54 48 45 20 50 52 4f 47 52 41 4d 20 41 53 20 50 45 52 4d 49 54 54 45 44 20 41 42 VEYS.THE.PROGRAM.AS.PERMITTED.AB
7d4e0 4f 56 45 2c 20 42 45 20 4c 49 41 42 4c 45 20 54 4f 20 59 4f 55 20 46 4f 52 20 44 41 4d 41 47 45 OVE,.BE.LIABLE.TO.YOU.FOR.DAMAGE
7d500 53 2c 0a 49 4e 43 4c 55 44 49 4e 47 20 41 4e 59 20 47 45 4e 45 52 41 4c 2c 20 53 50 45 43 49 41 S,.INCLUDING.ANY.GENERAL,.SPECIA
7d520 4c 2c 20 49 4e 43 49 44 45 4e 54 41 4c 20 4f 52 20 43 4f 4e 53 45 51 55 45 4e 54 49 41 4c 20 44 L,.INCIDENTAL.OR.CONSEQUENTIAL.D
7d540 41 4d 41 47 45 53 0a 41 52 49 53 49 4e 47 20 4f 55 54 20 4f 46 20 54 48 45 20 55 53 45 20 4f 52 AMAGES.ARISING.OUT.OF.THE.USE.OR
7d560 20 49 4e 41 42 49 4c 49 54 59 20 54 4f 20 55 53 45 20 54 48 45 20 50 52 4f 47 52 41 4d 20 28 49 .INABILITY.TO.USE.THE.PROGRAM.(I
7d580 4e 43 4c 55 44 49 4e 47 20 42 55 54 0a 4e 4f 54 20 4c 49 4d 49 54 45 44 20 54 4f 20 4c 4f 53 53 NCLUDING.BUT.NOT.LIMITED.TO.LOSS
7d5a0 20 4f 46 20 44 41 54 41 20 4f 52 20 44 41 54 41 20 42 45 49 4e 47 20 52 45 4e 44 45 52 45 44 20 .OF.DATA.OR.DATA.BEING.RENDERED.
7d5c0 49 4e 41 43 43 55 52 41 54 45 20 4f 52 0a 4c 4f 53 53 45 53 20 53 55 53 54 41 49 4e 45 44 20 42 INACCURATE.OR.LOSSES.SUSTAINED.B
7d5e0 59 20 59 4f 55 20 4f 52 20 54 48 49 52 44 20 50 41 52 54 49 45 53 20 4f 52 20 41 20 46 41 49 4c Y.YOU.OR.THIRD.PARTIES.OR.A.FAIL
7d600 55 52 45 20 4f 46 20 54 48 45 20 50 52 4f 47 52 41 4d 0a 54 4f 20 4f 50 45 52 41 54 45 20 57 49 URE.OF.THE.PROGRAM.TO.OPERATE.WI
7d620 54 48 20 41 4e 59 20 4f 54 48 45 52 20 50 52 4f 47 52 41 4d 53 29 2c 20 45 56 45 4e 20 49 46 20 TH.ANY.OTHER.PROGRAMS),.EVEN.IF.
7d640 53 55 43 48 20 48 4f 4c 44 45 52 20 4f 52 20 4f 54 48 45 52 0a 50 41 52 54 59 20 48 41 53 20 42 SUCH.HOLDER.OR.OTHER.PARTY.HAS.B
7d660 45 45 4e 20 41 44 56 49 53 45 44 20 4f 46 20 54 48 45 20 50 4f 53 53 49 42 49 4c 49 54 59 20 4f EEN.ADVISED.OF.THE.POSSIBILITY.O
7d680 46 20 53 55 43 48 20 44 41 4d 41 47 45 53 2e 0a 0a 40 69 74 65 6d 20 49 6e 74 65 72 70 72 65 74 F.SUCH.DAMAGES...@item.Interpret
7d6a0 61 74 69 6f 6e 20 6f 66 20 53 65 63 74 69 6f 6e 73 20 31 35 20 61 6e 64 20 31 36 2e 0a 0a 49 66 ation.of.Sections.15.and.16...If
7d6c0 20 74 68 65 20 64 69 73 63 6c 61 69 6d 65 72 20 6f 66 20 77 61 72 72 61 6e 74 79 20 61 6e 64 20 .the.disclaimer.of.warranty.and.
7d6e0 6c 69 6d 69 74 61 74 69 6f 6e 20 6f 66 20 6c 69 61 62 69 6c 69 74 79 20 70 72 6f 76 69 64 65 64 limitation.of.liability.provided
7d700 0a 61 62 6f 76 65 20 63 61 6e 6e 6f 74 20 62 65 20 67 69 76 65 6e 20 6c 6f 63 61 6c 20 6c 65 67 .above.cannot.be.given.local.leg
7d720 61 6c 20 65 66 66 65 63 74 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 74 68 65 69 72 20 74 65 72 al.effect.according.to.their.ter
7d740 6d 73 2c 0a 72 65 76 69 65 77 69 6e 67 20 63 6f 75 72 74 73 20 73 68 61 6c 6c 20 61 70 70 6c 79 ms,.reviewing.courts.shall.apply
7d760 20 6c 6f 63 61 6c 20 6c 61 77 20 74 68 61 74 20 6d 6f 73 74 20 63 6c 6f 73 65 6c 79 20 61 70 70 .local.law.that.most.closely.app
7d780 72 6f 78 69 6d 61 74 65 73 0a 61 6e 20 61 62 73 6f 6c 75 74 65 20 77 61 69 76 65 72 20 6f 66 20 roximates.an.absolute.waiver.of.
7d7a0 61 6c 6c 20 63 69 76 69 6c 20 6c 69 61 62 69 6c 69 74 79 20 69 6e 20 63 6f 6e 6e 65 63 74 69 6f all.civil.liability.in.connectio
7d7c0 6e 20 77 69 74 68 20 74 68 65 0a 50 72 6f 67 72 61 6d 2c 20 75 6e 6c 65 73 73 20 61 20 77 61 72 n.with.the.Program,.unless.a.war
7d7e0 72 61 6e 74 79 20 6f 72 20 61 73 73 75 6d 70 74 69 6f 6e 20 6f 66 20 6c 69 61 62 69 6c 69 74 79 ranty.or.assumption.of.liability
7d800 20 61 63 63 6f 6d 70 61 6e 69 65 73 20 61 0a 63 6f 70 79 20 6f 66 20 74 68 65 20 50 72 6f 67 72 .accompanies.a.copy.of.the.Progr
7d820 61 6d 20 69 6e 20 72 65 74 75 72 6e 20 66 6f 72 20 61 20 66 65 65 2e 0a 0a 40 65 6e 64 20 65 6e am.in.return.for.a.fee...@end.en
7d840 75 6d 65 72 61 74 65 0a 0a 40 68 65 61 64 69 6e 67 20 45 4e 44 20 4f 46 20 54 45 52 4d 53 20 41 umerate..@heading.END.OF.TERMS.A
7d860 4e 44 20 43 4f 4e 44 49 54 49 4f 4e 53 0a 0a 40 68 65 61 64 69 6e 67 20 48 6f 77 20 74 6f 20 41 ND.CONDITIONS..@heading.How.to.A
7d880 70 70 6c 79 20 54 68 65 73 65 20 54 65 72 6d 73 20 74 6f 20 59 6f 75 72 20 4e 65 77 20 50 72 6f pply.These.Terms.to.Your.New.Pro
7d8a0 67 72 61 6d 73 0a 0a 49 66 20 79 6f 75 20 64 65 76 65 6c 6f 70 20 61 20 6e 65 77 20 70 72 6f 67 grams..If.you.develop.a.new.prog
7d8c0 72 61 6d 2c 20 61 6e 64 20 79 6f 75 20 77 61 6e 74 20 69 74 20 74 6f 20 62 65 20 6f 66 20 74 68 ram,.and.you.want.it.to.be.of.th
7d8e0 65 20 67 72 65 61 74 65 73 74 0a 70 6f 73 73 69 62 6c 65 20 75 73 65 20 74 6f 20 74 68 65 20 70 e.greatest.possible.use.to.the.p
7d900 75 62 6c 69 63 2c 20 74 68 65 20 62 65 73 74 20 77 61 79 20 74 6f 20 61 63 68 69 65 76 65 20 74 ublic,.the.best.way.to.achieve.t
7d920 68 69 73 20 69 73 20 74 6f 20 6d 61 6b 65 20 69 74 0a 66 72 65 65 20 73 6f 66 74 77 61 72 65 20 his.is.to.make.it.free.software.
7d940 77 68 69 63 68 20 65 76 65 72 79 6f 6e 65 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 which.everyone.can.redistribute.
7d960 61 6e 64 20 63 68 61 6e 67 65 20 75 6e 64 65 72 20 74 68 65 73 65 0a 74 65 72 6d 73 2e 0a 0a 54 and.change.under.these.terms...T
7d980 6f 20 64 6f 20 73 6f 2c 20 61 74 74 61 63 68 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6e 6f o.do.so,.attach.the.following.no
7d9a0 74 69 63 65 73 20 74 6f 20 74 68 65 20 70 72 6f 67 72 61 6d 2e 20 20 49 74 20 69 73 20 73 61 66 tices.to.the.program...It.is.saf
7d9c0 65 73 74 0a 74 6f 20 61 74 74 61 63 68 20 74 68 65 6d 20 74 6f 20 74 68 65 20 73 74 61 72 74 20 est.to.attach.them.to.the.start.
7d9e0 6f 66 20 65 61 63 68 20 73 6f 75 72 63 65 20 66 69 6c 65 20 74 6f 20 6d 6f 73 74 20 65 66 66 65 of.each.source.file.to.most.effe
7da00 63 74 69 76 65 6c 79 0a 73 74 61 74 65 20 74 68 65 20 65 78 63 6c 75 73 69 6f 6e 20 6f 66 20 77 ctively.state.the.exclusion.of.w
7da20 61 72 72 61 6e 74 79 3b 20 61 6e 64 20 65 61 63 68 20 66 69 6c 65 20 73 68 6f 75 6c 64 20 68 61 arranty;.and.each.file.should.ha
7da40 76 65 20 61 74 20 6c 65 61 73 74 0a 74 68 65 20 60 60 63 6f 70 79 72 69 67 68 74 27 27 20 6c 69 ve.at.least.the.``copyright''.li
7da60 6e 65 20 61 6e 64 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 77 68 65 72 65 20 74 68 65 20 66 75 ne.and.a.pointer.to.where.the.fu
7da80 6c 6c 20 6e 6f 74 69 63 65 20 69 73 20 66 6f 75 6e 64 2e 0a 0a 40 73 6d 61 6c 6c 65 78 61 6d 70 ll.notice.is.found...@smallexamp
7daa0 6c 65 0a 40 76 61 72 7b 6f 6e 65 20 6c 69 6e 65 20 74 6f 20 67 69 76 65 20 74 68 65 20 70 72 6f le.@var{one.line.to.give.the.pro
7dac0 67 72 61 6d 27 73 20 6e 61 6d 65 20 61 6e 64 20 61 20 62 72 69 65 66 20 69 64 65 61 20 6f 66 20 gram's.name.and.a.brief.idea.of.
7dae0 77 68 61 74 20 69 74 20 64 6f 65 73 2e 7d 0a 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 40 76 61 what.it.does.}.Copyright.(C).@va
7db00 72 7b 79 65 61 72 7d 20 40 76 61 72 7b 6e 61 6d 65 20 6f 66 20 61 75 74 68 6f 72 7d 0a 0a 54 68 r{year}.@var{name.of.author}..Th
7db20 69 73 20 70 72 6f 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 is.program.is.free.software:.you
7db40 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 .can.redistribute.it.and/or.modi
7db60 66 79 0a 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 fy.it.under.the.terms.of.the.GNU
7db80 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 .General.Public.License.as.publi
7dba0 73 68 65 64 20 62 79 0a 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 shed.by.the.Free.Software.Founda
7dbc0 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
7dbe0 63 65 6e 73 65 2c 20 6f 72 20 28 61 74 0a 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c cense,.or.(at.your.option).any.l
7dc00 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 ater.version...This.program.is.d
7dc20 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 74 20 69 74 20 77 istributed.in.the.hope.that.it.w
7dc40 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 20 62 75 74 0a 57 49 54 48 4f 55 54 20 41 4e 59 20 57 ill.be.useful,.but.WITHOUT.ANY.W
7dc60 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 ARRANTY;.without.even.the.implie
7dc80 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 d.warranty.of.MERCHANTABILITY.or
7dca0 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 .FITNESS.FOR.A.PARTICULAR.PURPOS
7dcc0 45 40 2e 20 20 53 65 65 20 74 68 65 20 47 4e 55 0a 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 E@...See.the.GNU.General.Public.
7dce0 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 59 6f 75 20 73 License.for.more.details...You.s
7dd00 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 hould.have.received.a.copy.of.th
7dd20 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 61 6c 6f e.GNU.General.Public.License.alo
7dd40 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c 20 73 ng.with.this.program...If.not,.s
7dd60 65 65 20 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 ee.@url{https://www.gnu.org/lice
7dd80 6e 73 65 73 2f 7d 2e 0a 40 65 6e 64 20 73 6d 61 6c 6c 65 78 61 6d 70 6c 65 0a 0a 41 6c 73 6f 20 nses/}..@end.smallexample..Also.
7dda0 61 64 64 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 68 6f 77 20 74 6f 20 63 6f 6e 74 61 63 add.information.on.how.to.contac
7ddc0 74 20 79 6f 75 20 62 79 20 65 6c 65 63 74 72 6f 6e 69 63 20 61 6e 64 20 70 61 70 65 72 20 6d 61 t.you.by.electronic.and.paper.ma
7dde0 69 6c 2e 0a 0a 49 66 20 74 68 65 20 70 72 6f 67 72 61 6d 20 64 6f 65 73 20 74 65 72 6d 69 6e 61 il...If.the.program.does.termina
7de00 6c 20 69 6e 74 65 72 61 63 74 69 6f 6e 2c 20 6d 61 6b 65 20 69 74 20 6f 75 74 70 75 74 20 61 20 l.interaction,.make.it.output.a.
7de20 73 68 6f 72 74 0a 6e 6f 74 69 63 65 20 6c 69 6b 65 20 74 68 69 73 20 77 68 65 6e 20 69 74 20 73 short.notice.like.this.when.it.s
7de40 74 61 72 74 73 20 69 6e 20 61 6e 20 69 6e 74 65 72 61 63 74 69 76 65 20 6d 6f 64 65 3a 0a 0a 40 tarts.in.an.interactive.mode:..@
7de60 73 6d 61 6c 6c 65 78 61 6d 70 6c 65 0a 40 76 61 72 7b 70 72 6f 67 72 61 6d 7d 20 43 6f 70 79 72 smallexample.@var{program}.Copyr
7de80 69 67 68 74 20 28 43 29 20 40 76 61 72 7b 79 65 61 72 7d 20 40 76 61 72 7b 6e 61 6d 65 20 6f 66 ight.(C).@var{year}.@var{name.of
7dea0 20 61 75 74 68 6f 72 7d 0a 54 68 69 73 20 70 72 6f 67 72 61 6d 20 63 6f 6d 65 73 20 77 69 74 68 .author}.This.program.comes.with
7dec0 20 41 42 53 4f 4c 55 54 45 4c 59 20 4e 4f 20 57 41 52 52 41 4e 54 59 3b 20 66 6f 72 20 64 65 74 .ABSOLUTELY.NO.WARRANTY;.for.det
7dee0 61 69 6c 73 20 74 79 70 65 20 40 73 61 6d 70 7b 73 68 6f 77 20 77 7d 2e 0a 54 68 69 73 20 69 73 ails.type.@samp{show.w}..This.is
7df00 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 2c 20 61 6e 64 20 79 6f 75 20 61 72 65 20 77 65 6c 63 .free.software,.and.you.are.welc
7df20 6f 6d 65 20 74 6f 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 0a 75 6e 64 65 72 20 63 65 72 ome.to.redistribute.it.under.cer
7df40 74 61 69 6e 20 63 6f 6e 64 69 74 69 6f 6e 73 3b 20 74 79 70 65 20 40 73 61 6d 70 7b 73 68 6f 77 tain.conditions;.type.@samp{show
7df60 20 63 7d 20 66 6f 72 20 64 65 74 61 69 6c 73 2e 0a 40 65 6e 64 20 73 6d 61 6c 6c 65 78 61 6d 70 .c}.for.details..@end.smallexamp
7df80 6c 65 0a 0a 54 68 65 20 68 79 70 6f 74 68 65 74 69 63 61 6c 20 63 6f 6d 6d 61 6e 64 73 20 40 73 le..The.hypothetical.commands.@s
7dfa0 61 6d 70 7b 73 68 6f 77 20 77 7d 20 61 6e 64 20 40 73 61 6d 70 7b 73 68 6f 77 20 63 7d 20 73 68 amp{show.w}.and.@samp{show.c}.sh
7dfc0 6f 75 6c 64 20 73 68 6f 77 0a 74 68 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 70 61 72 74 73 20 ould.show.the.appropriate.parts.
7dfe0 6f 66 20 74 68 65 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 2e 20 20 of.the.General.Public.License...
7e000 4f 66 20 63 6f 75 72 73 65 2c 20 79 6f 75 72 0a 70 72 6f 67 72 61 6d 27 73 20 63 6f 6d 6d 61 6e Of.course,.your.program's.comman
7e020 64 73 20 6d 69 67 68 74 20 62 65 20 64 69 66 66 65 72 65 6e 74 3b 20 66 6f 72 20 61 20 47 55 49 ds.might.be.different;.for.a.GUI
7e040 20 69 6e 74 65 72 66 61 63 65 2c 20 79 6f 75 20 77 6f 75 6c 64 0a 75 73 65 20 61 6e 20 60 60 61 .interface,.you.would.use.an.``a
7e060 62 6f 75 74 20 62 6f 78 27 27 2e 0a 0a 59 6f 75 20 73 68 6f 75 6c 64 20 61 6c 73 6f 20 67 65 74 bout.box''...You.should.also.get
7e080 20 79 6f 75 72 20 65 6d 70 6c 6f 79 65 72 20 28 69 66 20 79 6f 75 20 77 6f 72 6b 20 61 73 20 61 .your.employer.(if.you.work.as.a
7e0a0 20 70 72 6f 67 72 61 6d 6d 65 72 29 20 6f 72 20 73 63 68 6f 6f 6c 2c 0a 69 66 20 61 6e 79 2c 20 .programmer).or.school,.if.any,.
7e0c0 74 6f 20 73 69 67 6e 20 61 20 60 60 63 6f 70 79 72 69 67 68 74 20 64 69 73 63 6c 61 69 6d 65 72 to.sign.a.``copyright.disclaimer
7e0e0 27 27 20 66 6f 72 20 74 68 65 20 70 72 6f 67 72 61 6d 2c 20 69 66 20 6e 65 63 65 73 73 61 72 79 ''.for.the.program,.if.necessary
7e100 2e 0a 46 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 74 68 69 73 2c 20 ..For.more.information.on.this,.
7e120 61 6e 64 20 68 6f 77 20 74 6f 20 61 70 70 6c 79 20 61 6e 64 20 66 6f 6c 6c 6f 77 20 74 68 65 20 and.how.to.apply.and.follow.the.
7e140 47 4e 55 20 47 50 4c 2c 20 73 65 65 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e GNU.GPL,.see.@url{https://www.gn
7e160 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 7d 2e 0a 0a 54 68 65 20 47 4e 55 20 47 65 6e 65 72 u.org/licenses/}...The.GNU.Gener
7e180 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 64 6f 65 73 20 6e 6f 74 20 70 65 72 6d 69 al.Public.License.does.not.permi
7e1a0 74 20 69 6e 63 6f 72 70 6f 72 61 74 69 6e 67 20 79 6f 75 72 0a 70 72 6f 67 72 61 6d 20 69 6e 74 t.incorporating.your.program.int
7e1c0 6f 20 70 72 6f 70 72 69 65 74 61 72 79 20 70 72 6f 67 72 61 6d 73 2e 20 20 49 66 20 79 6f 75 72 o.proprietary.programs...If.your
7e1e0 20 70 72 6f 67 72 61 6d 20 69 73 20 61 20 73 75 62 72 6f 75 74 69 6e 65 0a 6c 69 62 72 61 72 79 .program.is.a.subroutine.library
7e200 2c 20 79 6f 75 20 6d 61 79 20 63 6f 6e 73 69 64 65 72 20 69 74 20 6d 6f 72 65 20 75 73 65 66 75 ,.you.may.consider.it.more.usefu
7e220 6c 20 74 6f 20 70 65 72 6d 69 74 20 6c 69 6e 6b 69 6e 67 20 70 72 6f 70 72 69 65 74 61 72 79 0a l.to.permit.linking.proprietary.
7e240 61 70 70 6c 69 63 61 74 69 6f 6e 73 20 77 69 74 68 20 74 68 65 20 6c 69 62 72 61 72 79 2e 20 20 applications.with.the.library...
7e260 49 66 20 74 68 69 73 20 69 73 20 77 68 61 74 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 64 6f 2c 20 If.this.is.what.you.want.to.do,.
7e280 75 73 65 0a 74 68 65 20 47 4e 55 20 4c 65 73 73 65 72 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 use.the.GNU.Lesser.General.Publi
7e2a0 63 20 4c 69 63 65 6e 73 65 20 69 6e 73 74 65 61 64 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 c.License.instead.of.this.Licens
7e2c0 65 2e 20 20 42 75 74 0a 66 69 72 73 74 2c 20 70 6c 65 61 73 65 20 72 65 61 64 20 40 75 72 6c 7b e...But.first,.please.read.@url{
7e2e0 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 77 68 79 https://www.gnu.org/licenses/why
7e300 2d 6e 6f 74 2d 6c 67 70 6c 2e 68 74 6d 6c 7d 2e 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -not-lgpl.html}.................
7e320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7e340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7e360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7e380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7e3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7e3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7e3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7e400 64 61 73 68 2d 32 2e 31 39 2e 31 2f 64 6f 63 2f 66 64 6c 2e 74 65 78 69 00 00 00 00 00 00 00 00 dash-2.19.1/doc/fdl.texi........
7e420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7e440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7e460 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
7e480 30 30 35 35 36 31 32 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 34 30 30 00 20 30 00 00 00 0055612.00000000000.013400..0...
7e4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7e4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7e4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7e500 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...................
7e520 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...................
7e540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7e560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7e580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7e5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7e5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7e5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7e600 40 63 20 54 68 65 20 47 4e 55 20 46 72 65 65 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 4c 69 @c.The.GNU.Free.Documentation.Li
7e620 63 65 6e 73 65 2e 0a 40 63 65 6e 74 65 72 20 56 65 72 73 69 6f 6e 20 31 2e 33 2c 20 33 20 4e 6f cense..@center.Version.1.3,.3.No
7e640 76 65 6d 62 65 72 20 32 30 30 38 0a 0a 40 63 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 69 6e 74 vember.2008..@c.This.file.is.int
7e660 65 6e 64 65 64 20 74 6f 20 62 65 20 69 6e 63 6c 75 64 65 64 20 77 69 74 68 69 6e 20 61 6e 6f 74 ended.to.be.included.within.anot
7e680 68 65 72 20 64 6f 63 75 6d 65 6e 74 2c 0a 40 63 20 68 65 6e 63 65 20 6e 6f 20 73 65 63 74 69 6f her.document,.@c.hence.no.sectio
7e6a0 6e 69 6e 67 20 63 6f 6d 6d 61 6e 64 20 6f 72 20 40 6e 6f 64 65 2e 0a 0a 40 64 69 73 70 6c 61 79 ning.command.or.@node...@display
7e6c0 0a 43 6f 70 79 72 69 67 68 74 20 40 63 6f 70 79 72 69 67 68 74 7b 7d 20 32 30 30 30 2c 20 32 30 .Copyright.@copyright{}.2000,.20
7e6e0 30 31 2c 20 32 30 30 32 2c 20 32 30 30 37 2c 20 32 30 30 38 20 46 72 65 65 20 53 6f 66 74 77 61 01,.2002,.2007,.2008.Free.Softwa
7e700 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 40 75 72 65 66 7b 68 74 74 70 73 3a re.Foundation,.Inc..@uref{https:
7e720 2f 2f 66 73 66 2e 6f 72 67 2f 7d 0a 0a 45 76 65 72 79 6f 6e 65 20 69 73 20 70 65 72 6d 69 74 74 //fsf.org/}..Everyone.is.permitt
7e740 65 64 20 74 6f 20 63 6f 70 79 20 61 6e 64 20 64 69 73 74 72 69 62 75 74 65 20 76 65 72 62 61 74 ed.to.copy.and.distribute.verbat
7e760 69 6d 20 63 6f 70 69 65 73 0a 6f 66 20 74 68 69 73 20 6c 69 63 65 6e 73 65 20 64 6f 63 75 6d 65 im.copies.of.this.license.docume
7e780 6e 74 2c 20 62 75 74 20 63 68 61 6e 67 69 6e 67 20 69 74 20 69 73 20 6e 6f 74 20 61 6c 6c 6f 77 nt,.but.changing.it.is.not.allow
7e7a0 65 64 2e 0a 40 65 6e 64 20 64 69 73 70 6c 61 79 0a 0a 40 65 6e 75 6d 65 72 61 74 65 20 30 0a 40 ed..@end.display..@enumerate.0.@
7e7c0 69 74 65 6d 0a 50 52 45 41 4d 42 4c 45 0a 0a 54 68 65 20 70 75 72 70 6f 73 65 20 6f 66 20 74 68 item.PREAMBLE..The.purpose.of.th
7e7e0 69 73 20 4c 69 63 65 6e 73 65 20 69 73 20 74 6f 20 6d 61 6b 65 20 61 20 6d 61 6e 75 61 6c 2c 20 is.License.is.to.make.a.manual,.
7e800 74 65 78 74 62 6f 6f 6b 2c 20 6f 72 20 6f 74 68 65 72 0a 66 75 6e 63 74 69 6f 6e 61 6c 20 61 6e textbook,.or.other.functional.an
7e820 64 20 75 73 65 66 75 6c 20 64 6f 63 75 6d 65 6e 74 20 40 64 66 6e 7b 66 72 65 65 7d 20 69 6e 20 d.useful.document.@dfn{free}.in.
7e840 74 68 65 20 73 65 6e 73 65 20 6f 66 20 66 72 65 65 64 6f 6d 3a 20 74 6f 0a 61 73 73 75 72 65 20 the.sense.of.freedom:.to.assure.
7e860 65 76 65 72 79 6f 6e 65 20 74 68 65 20 65 66 66 65 63 74 69 76 65 20 66 72 65 65 64 6f 6d 20 74 everyone.the.effective.freedom.t
7e880 6f 20 63 6f 70 79 20 61 6e 64 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 2c 0a 77 69 74 68 o.copy.and.redistribute.it,.with
7e8a0 20 6f 72 20 77 69 74 68 6f 75 74 20 6d 6f 64 69 66 79 69 6e 67 20 69 74 2c 20 65 69 74 68 65 72 .or.without.modifying.it,.either
7e8c0 20 63 6f 6d 6d 65 72 63 69 61 6c 6c 79 20 6f 72 20 6e 6f 6e 63 6f 6d 6d 65 72 63 69 61 6c 6c 79 .commercially.or.noncommercially
7e8e0 2e 0a 53 65 63 6f 6e 64 61 72 69 6c 79 2c 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 70 72 65 73 ..Secondarily,.this.License.pres
7e900 65 72 76 65 73 20 66 6f 72 20 74 68 65 20 61 75 74 68 6f 72 20 61 6e 64 20 70 75 62 6c 69 73 68 erves.for.the.author.and.publish
7e920 65 72 20 61 20 77 61 79 0a 74 6f 20 67 65 74 20 63 72 65 64 69 74 20 66 6f 72 20 74 68 65 69 72 er.a.way.to.get.credit.for.their
7e940 20 77 6f 72 6b 2c 20 77 68 69 6c 65 20 6e 6f 74 20 62 65 69 6e 67 20 63 6f 6e 73 69 64 65 72 65 .work,.while.not.being.considere
7e960 64 20 72 65 73 70 6f 6e 73 69 62 6c 65 0a 66 6f 72 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 73 20 d.responsible.for.modifications.
7e980 6d 61 64 65 20 62 79 20 6f 74 68 65 72 73 2e 0a 0a 54 68 69 73 20 4c 69 63 65 6e 73 65 20 69 73 made.by.others...This.License.is
7e9a0 20 61 20 6b 69 6e 64 20 6f 66 20 60 60 63 6f 70 79 6c 65 66 74 27 27 2c 20 77 68 69 63 68 20 6d .a.kind.of.``copyleft'',.which.m
7e9c0 65 61 6e 73 20 74 68 61 74 20 64 65 72 69 76 61 74 69 76 65 0a 77 6f 72 6b 73 20 6f 66 20 74 68 eans.that.derivative.works.of.th
7e9e0 65 20 64 6f 63 75 6d 65 6e 74 20 6d 75 73 74 20 74 68 65 6d 73 65 6c 76 65 73 20 62 65 20 66 72 e.document.must.themselves.be.fr
7ea00 65 65 20 69 6e 20 74 68 65 20 73 61 6d 65 20 73 65 6e 73 65 2e 20 20 49 74 0a 63 6f 6d 70 6c 65 ee.in.the.same.sense...It.comple
7ea20 6d 65 6e 74 73 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 ments.the.GNU.General.Public.Lic
7ea40 65 6e 73 65 2c 20 77 68 69 63 68 20 69 73 20 61 20 63 6f 70 79 6c 65 66 74 0a 6c 69 63 65 6e 73 ense,.which.is.a.copyleft.licens
7ea60 65 20 64 65 73 69 67 6e 65 64 20 66 6f 72 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 2e 0a 0a 57 e.designed.for.free.software...W
7ea80 65 20 68 61 76 65 20 64 65 73 69 67 6e 65 64 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 69 6e 20 e.have.designed.this.License.in.
7eaa0 6f 72 64 65 72 20 74 6f 20 75 73 65 20 69 74 20 66 6f 72 20 6d 61 6e 75 61 6c 73 20 66 6f 72 20 order.to.use.it.for.manuals.for.
7eac0 66 72 65 65 0a 73 6f 66 74 77 61 72 65 2c 20 62 65 63 61 75 73 65 20 66 72 65 65 20 73 6f 66 74 free.software,.because.free.soft
7eae0 77 61 72 65 20 6e 65 65 64 73 20 66 72 65 65 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 3a 20 61 ware.needs.free.documentation:.a
7eb00 20 66 72 65 65 0a 70 72 6f 67 72 61 6d 20 73 68 6f 75 6c 64 20 63 6f 6d 65 20 77 69 74 68 20 6d .free.program.should.come.with.m
7eb20 61 6e 75 61 6c 73 20 70 72 6f 76 69 64 69 6e 67 20 74 68 65 20 73 61 6d 65 20 66 72 65 65 64 6f anuals.providing.the.same.freedo
7eb40 6d 73 20 74 68 61 74 20 74 68 65 0a 73 6f 66 74 77 61 72 65 20 64 6f 65 73 2e 20 20 42 75 74 20 ms.that.the.software.does...But.
7eb60 74 68 69 73 20 4c 69 63 65 6e 73 65 20 69 73 20 6e 6f 74 20 6c 69 6d 69 74 65 64 20 74 6f 20 73 this.License.is.not.limited.to.s
7eb80 6f 66 74 77 61 72 65 20 6d 61 6e 75 61 6c 73 3b 0a 69 74 20 63 61 6e 20 62 65 20 75 73 65 64 20 oftware.manuals;.it.can.be.used.
7eba0 66 6f 72 20 61 6e 79 20 74 65 78 74 75 61 6c 20 77 6f 72 6b 2c 20 72 65 67 61 72 64 6c 65 73 73 for.any.textual.work,.regardless
7ebc0 20 6f 66 20 73 75 62 6a 65 63 74 20 6d 61 74 74 65 72 20 6f 72 0a 77 68 65 74 68 65 72 20 69 74 .of.subject.matter.or.whether.it
7ebe0 20 69 73 20 70 75 62 6c 69 73 68 65 64 20 61 73 20 61 20 70 72 69 6e 74 65 64 20 62 6f 6f 6b 2e .is.published.as.a.printed.book.
7ec00 20 20 57 65 20 72 65 63 6f 6d 6d 65 6e 64 20 74 68 69 73 20 4c 69 63 65 6e 73 65 0a 70 72 69 6e ..We.recommend.this.License.prin
7ec20 63 69 70 61 6c 6c 79 20 66 6f 72 20 77 6f 72 6b 73 20 77 68 6f 73 65 20 70 75 72 70 6f 73 65 20 cipally.for.works.whose.purpose.
7ec40 69 73 20 69 6e 73 74 72 75 63 74 69 6f 6e 20 6f 72 20 72 65 66 65 72 65 6e 63 65 2e 0a 0a 40 69 is.instruction.or.reference...@i
7ec60 74 65 6d 0a 41 50 50 4c 49 43 41 42 49 4c 49 54 59 20 41 4e 44 20 44 45 46 49 4e 49 54 49 4f 4e tem.APPLICABILITY.AND.DEFINITION
7ec80 53 0a 0a 54 68 69 73 20 4c 69 63 65 6e 73 65 20 61 70 70 6c 69 65 73 20 74 6f 20 61 6e 79 20 6d S..This.License.applies.to.any.m
7eca0 61 6e 75 61 6c 20 6f 72 20 6f 74 68 65 72 20 77 6f 72 6b 2c 20 69 6e 20 61 6e 79 20 6d 65 64 69 anual.or.other.work,.in.any.medi
7ecc0 75 6d 2c 20 74 68 61 74 0a 63 6f 6e 74 61 69 6e 73 20 61 20 6e 6f 74 69 63 65 20 70 6c 61 63 65 um,.that.contains.a.notice.place
7ece0 64 20 62 79 20 74 68 65 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 73 61 79 69 6e 67 d.by.the.copyright.holder.saying
7ed00 20 69 74 20 63 61 6e 20 62 65 0a 64 69 73 74 72 69 62 75 74 65 64 20 75 6e 64 65 72 20 74 68 65 .it.can.be.distributed.under.the
7ed20 20 74 65 72 6d 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 53 75 63 68 20 61 20 .terms.of.this.License...Such.a.
7ed40 6e 6f 74 69 63 65 20 67 72 61 6e 74 73 20 61 0a 77 6f 72 6c 64 2d 77 69 64 65 2c 20 72 6f 79 61 notice.grants.a.world-wide,.roya
7ed60 6c 74 79 2d 66 72 65 65 20 6c 69 63 65 6e 73 65 2c 20 75 6e 6c 69 6d 69 74 65 64 20 69 6e 20 64 lty-free.license,.unlimited.in.d
7ed80 75 72 61 74 69 6f 6e 2c 20 74 6f 20 75 73 65 20 74 68 61 74 0a 77 6f 72 6b 20 75 6e 64 65 72 20 uration,.to.use.that.work.under.
7eda0 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 73 20 73 74 61 74 65 64 20 68 65 72 65 69 6e 2e 20 20 54 the.conditions.stated.herein...T
7edc0 68 65 20 60 60 44 6f 63 75 6d 65 6e 74 27 27 2c 20 62 65 6c 6f 77 2c 0a 72 65 66 65 72 73 20 74 he.``Document'',.below,.refers.t
7ede0 6f 20 61 6e 79 20 73 75 63 68 20 6d 61 6e 75 61 6c 20 6f 72 20 77 6f 72 6b 2e 20 20 41 6e 79 20 o.any.such.manual.or.work...Any.
7ee00 6d 65 6d 62 65 72 20 6f 66 20 74 68 65 20 70 75 62 6c 69 63 20 69 73 20 61 0a 6c 69 63 65 6e 73 member.of.the.public.is.a.licens
7ee20 65 65 2c 20 61 6e 64 20 69 73 20 61 64 64 72 65 73 73 65 64 20 61 73 20 60 60 79 6f 75 27 27 2e ee,.and.is.addressed.as.``you''.
7ee40 20 20 59 6f 75 20 61 63 63 65 70 74 20 74 68 65 20 6c 69 63 65 6e 73 65 20 69 66 20 79 6f 75 0a ..You.accept.the.license.if.you.
7ee60 63 6f 70 79 2c 20 6d 6f 64 69 66 79 20 6f 72 20 64 69 73 74 72 69 62 75 74 65 20 74 68 65 20 77 copy,.modify.or.distribute.the.w
7ee80 6f 72 6b 20 69 6e 20 61 20 77 61 79 20 72 65 71 75 69 72 69 6e 67 20 70 65 72 6d 69 73 73 69 6f ork.in.a.way.requiring.permissio
7eea0 6e 0a 75 6e 64 65 72 20 63 6f 70 79 72 69 67 68 74 20 6c 61 77 2e 0a 0a 41 20 60 60 4d 6f 64 69 n.under.copyright.law...A.``Modi
7eec0 66 69 65 64 20 56 65 72 73 69 6f 6e 27 27 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 6d fied.Version''.of.the.Document.m
7eee0 65 61 6e 73 20 61 6e 79 20 77 6f 72 6b 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 0a 44 6f 63 eans.any.work.containing.the.Doc
7ef00 75 6d 65 6e 74 20 6f 72 20 61 20 70 6f 72 74 69 6f 6e 20 6f 66 20 69 74 2c 20 65 69 74 68 65 72 ument.or.a.portion.of.it,.either
7ef20 20 63 6f 70 69 65 64 20 76 65 72 62 61 74 69 6d 2c 20 6f 72 20 77 69 74 68 0a 6d 6f 64 69 66 69 .copied.verbatim,.or.with.modifi
7ef40 63 61 74 69 6f 6e 73 20 61 6e 64 2f 6f 72 20 74 72 61 6e 73 6c 61 74 65 64 20 69 6e 74 6f 20 61 cations.and/or.translated.into.a
7ef60 6e 6f 74 68 65 72 20 6c 61 6e 67 75 61 67 65 2e 0a 0a 41 20 60 60 53 65 63 6f 6e 64 61 72 79 20 nother.language...A.``Secondary.
7ef80 53 65 63 74 69 6f 6e 27 27 20 69 73 20 61 20 6e 61 6d 65 64 20 61 70 70 65 6e 64 69 78 20 6f 72 Section''.is.a.named.appendix.or
7efa0 20 61 20 66 72 6f 6e 74 2d 6d 61 74 74 65 72 20 73 65 63 74 69 6f 6e 0a 6f 66 20 74 68 65 20 44 .a.front-matter.section.of.the.D
7efc0 6f 63 75 6d 65 6e 74 20 74 68 61 74 20 64 65 61 6c 73 20 65 78 63 6c 75 73 69 76 65 6c 79 20 77 ocument.that.deals.exclusively.w
7efe0 69 74 68 20 74 68 65 20 72 65 6c 61 74 69 6f 6e 73 68 69 70 20 6f 66 20 74 68 65 0a 70 75 62 6c ith.the.relationship.of.the.publ
7f000 69 73 68 65 72 73 20 6f 72 20 61 75 74 68 6f 72 73 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e ishers.or.authors.of.the.Documen
7f020 74 20 74 6f 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 27 73 20 6f 76 65 72 61 6c 6c 0a 73 75 62 6a t.to.the.Document's.overall.subj
7f040 65 63 74 20 28 6f 72 20 74 6f 20 72 65 6c 61 74 65 64 20 6d 61 74 74 65 72 73 29 20 61 6e 64 20 ect.(or.to.related.matters).and.
7f060 63 6f 6e 74 61 69 6e 73 20 6e 6f 74 68 69 6e 67 20 74 68 61 74 20 63 6f 75 6c 64 20 66 61 6c 6c contains.nothing.that.could.fall
7f080 0a 64 69 72 65 63 74 6c 79 20 77 69 74 68 69 6e 20 74 68 61 74 20 6f 76 65 72 61 6c 6c 20 73 75 .directly.within.that.overall.su
7f0a0 62 6a 65 63 74 2e 20 20 28 54 68 75 73 2c 20 69 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 69 bject...(Thus,.if.the.Document.i
7f0c0 73 20 69 6e 0a 70 61 72 74 20 61 20 74 65 78 74 62 6f 6f 6b 20 6f 66 20 6d 61 74 68 65 6d 61 74 s.in.part.a.textbook.of.mathemat
7f0e0 69 63 73 2c 20 61 20 53 65 63 6f 6e 64 61 72 79 20 53 65 63 74 69 6f 6e 20 6d 61 79 20 6e 6f 74 ics,.a.Secondary.Section.may.not
7f100 20 65 78 70 6c 61 69 6e 0a 61 6e 79 20 6d 61 74 68 65 6d 61 74 69 63 73 2e 29 20 20 54 68 65 20 .explain.any.mathematics.)..The.
7f120 72 65 6c 61 74 69 6f 6e 73 68 69 70 20 63 6f 75 6c 64 20 62 65 20 61 20 6d 61 74 74 65 72 20 6f relationship.could.be.a.matter.o
7f140 66 20 68 69 73 74 6f 72 69 63 61 6c 0a 63 6f 6e 6e 65 63 74 69 6f 6e 20 77 69 74 68 20 74 68 65 f.historical.connection.with.the
7f160 20 73 75 62 6a 65 63 74 20 6f 72 20 77 69 74 68 20 72 65 6c 61 74 65 64 20 6d 61 74 74 65 72 73 .subject.or.with.related.matters
7f180 2c 20 6f 72 20 6f 66 20 6c 65 67 61 6c 2c 0a 63 6f 6d 6d 65 72 63 69 61 6c 2c 20 70 68 69 6c 6f ,.or.of.legal,.commercial,.philo
7f1a0 73 6f 70 68 69 63 61 6c 2c 20 65 74 68 69 63 61 6c 20 6f 72 20 70 6f 6c 69 74 69 63 61 6c 20 70 sophical,.ethical.or.political.p
7f1c0 6f 73 69 74 69 6f 6e 20 72 65 67 61 72 64 69 6e 67 0a 74 68 65 6d 2e 0a 0a 54 68 65 20 60 60 49 osition.regarding.them...The.``I
7f1e0 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 27 27 20 61 72 65 20 63 65 72 74 61 69 6e 20 nvariant.Sections''.are.certain.
7f200 53 65 63 6f 6e 64 61 72 79 20 53 65 63 74 69 6f 6e 73 20 77 68 6f 73 65 20 74 69 74 6c 65 73 0a Secondary.Sections.whose.titles.
7f220 61 72 65 20 64 65 73 69 67 6e 61 74 65 64 2c 20 61 73 20 62 65 69 6e 67 20 74 68 6f 73 65 20 6f are.designated,.as.being.those.o
7f240 66 20 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 2c 20 69 6e 20 74 68 65 20 6e 6f 74 f.Invariant.Sections,.in.the.not
7f260 69 63 65 0a 74 68 61 74 20 73 61 79 73 20 74 68 61 74 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 ice.that.says.that.the.Document.
7f280 69 73 20 72 65 6c 65 61 73 65 64 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 20 is.released.under.this.License..
7f2a0 20 49 66 20 61 0a 73 65 63 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 66 69 74 20 74 68 65 20 61 .If.a.section.does.not.fit.the.a
7f2c0 62 6f 76 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 20 53 65 63 6f 6e 64 61 72 79 20 74 68 65 bove.definition.of.Secondary.the
7f2e0 6e 20 69 74 20 69 73 20 6e 6f 74 0a 61 6c 6c 6f 77 65 64 20 74 6f 20 62 65 20 64 65 73 69 67 6e n.it.is.not.allowed.to.be.design
7f300 61 74 65 64 20 61 73 20 49 6e 76 61 72 69 61 6e 74 2e 20 20 54 68 65 20 44 6f 63 75 6d 65 6e 74 ated.as.Invariant...The.Document
7f320 20 6d 61 79 20 63 6f 6e 74 61 69 6e 20 7a 65 72 6f 0a 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 .may.contain.zero.Invariant.Sect
7f340 69 6f 6e 73 2e 20 20 49 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 64 6f 65 73 20 6e 6f 74 20 ions...If.the.Document.does.not.
7f360 69 64 65 6e 74 69 66 79 20 61 6e 79 20 49 6e 76 61 72 69 61 6e 74 0a 53 65 63 74 69 6f 6e 73 20 identify.any.Invariant.Sections.
7f380 74 68 65 6e 20 74 68 65 72 65 20 61 72 65 20 6e 6f 6e 65 2e 0a 0a 54 68 65 20 60 60 43 6f 76 65 then.there.are.none...The.``Cove
7f3a0 72 20 54 65 78 74 73 27 27 20 61 72 65 20 63 65 72 74 61 69 6e 20 73 68 6f 72 74 20 70 61 73 73 r.Texts''.are.certain.short.pass
7f3c0 61 67 65 73 20 6f 66 20 74 65 78 74 20 74 68 61 74 20 61 72 65 20 6c 69 73 74 65 64 2c 0a 61 73 ages.of.text.that.are.listed,.as
7f3e0 20 46 72 6f 6e 74 2d 43 6f 76 65 72 20 54 65 78 74 73 20 6f 72 20 42 61 63 6b 2d 43 6f 76 65 72 .Front-Cover.Texts.or.Back-Cover
7f400 20 54 65 78 74 73 2c 20 69 6e 20 74 68 65 20 6e 6f 74 69 63 65 20 74 68 61 74 20 73 61 79 73 20 .Texts,.in.the.notice.that.says.
7f420 74 68 61 74 0a 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 69 73 20 72 65 6c 65 61 73 65 64 20 75 6e that.the.Document.is.released.un
7f440 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 41 20 46 72 6f 6e 74 2d 43 6f 76 65 72 der.this.License...A.Front-Cover
7f460 20 54 65 78 74 20 6d 61 79 0a 62 65 20 61 74 20 6d 6f 73 74 20 35 20 77 6f 72 64 73 2c 20 61 6e .Text.may.be.at.most.5.words,.an
7f480 64 20 61 20 42 61 63 6b 2d 43 6f 76 65 72 20 54 65 78 74 20 6d 61 79 20 62 65 20 61 74 20 6d 6f d.a.Back-Cover.Text.may.be.at.mo
7f4a0 73 74 20 32 35 20 77 6f 72 64 73 2e 0a 0a 41 20 60 60 54 72 61 6e 73 70 61 72 65 6e 74 27 27 20 st.25.words...A.``Transparent''.
7f4c0 63 6f 70 79 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 6d 65 61 6e 73 20 61 20 6d 61 63 copy.of.the.Document.means.a.mac
7f4e0 68 69 6e 65 2d 72 65 61 64 61 62 6c 65 20 63 6f 70 79 2c 0a 72 65 70 72 65 73 65 6e 74 65 64 20 hine-readable.copy,.represented.
7f500 69 6e 20 61 20 66 6f 72 6d 61 74 20 77 68 6f 73 65 20 73 70 65 63 69 66 69 63 61 74 69 6f 6e 20 in.a.format.whose.specification.
7f520 69 73 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 74 68 65 0a 67 65 6e 65 72 61 6c 20 70 75 62 6c is.available.to.the.general.publ
7f540 69 63 2c 20 74 68 61 74 20 69 73 20 73 75 69 74 61 62 6c 65 20 66 6f 72 20 72 65 76 69 73 69 6e ic,.that.is.suitable.for.revisin
7f560 67 20 74 68 65 20 64 6f 63 75 6d 65 6e 74 0a 73 74 72 61 69 67 68 74 66 6f 72 77 61 72 64 6c 79 g.the.document.straightforwardly
7f580 20 77 69 74 68 20 67 65 6e 65 72 69 63 20 74 65 78 74 20 65 64 69 74 6f 72 73 20 6f 72 20 28 66 .with.generic.text.editors.or.(f
7f5a0 6f 72 20 69 6d 61 67 65 73 20 63 6f 6d 70 6f 73 65 64 20 6f 66 0a 70 69 78 65 6c 73 29 20 67 65 or.images.composed.of.pixels).ge
7f5c0 6e 65 72 69 63 20 70 61 69 6e 74 20 70 72 6f 67 72 61 6d 73 20 6f 72 20 28 66 6f 72 20 64 72 61 neric.paint.programs.or.(for.dra
7f5e0 77 69 6e 67 73 29 20 73 6f 6d 65 20 77 69 64 65 6c 79 20 61 76 61 69 6c 61 62 6c 65 0a 64 72 61 wings).some.widely.available.dra
7f600 77 69 6e 67 20 65 64 69 74 6f 72 2c 20 61 6e 64 20 74 68 61 74 20 69 73 20 73 75 69 74 61 62 6c wing.editor,.and.that.is.suitabl
7f620 65 20 66 6f 72 20 69 6e 70 75 74 20 74 6f 20 74 65 78 74 20 66 6f 72 6d 61 74 74 65 72 73 20 6f e.for.input.to.text.formatters.o
7f640 72 0a 66 6f 72 20 61 75 74 6f 6d 61 74 69 63 20 74 72 61 6e 73 6c 61 74 69 6f 6e 20 74 6f 20 61 r.for.automatic.translation.to.a
7f660 20 76 61 72 69 65 74 79 20 6f 66 20 66 6f 72 6d 61 74 73 20 73 75 69 74 61 62 6c 65 20 66 6f 72 .variety.of.formats.suitable.for
7f680 20 69 6e 70 75 74 0a 74 6f 20 74 65 78 74 20 66 6f 72 6d 61 74 74 65 72 73 2e 20 20 41 20 63 6f .input.to.text.formatters...A.co
7f6a0 70 79 20 6d 61 64 65 20 69 6e 20 61 6e 20 6f 74 68 65 72 77 69 73 65 20 54 72 61 6e 73 70 61 72 py.made.in.an.otherwise.Transpar
7f6c0 65 6e 74 20 66 69 6c 65 0a 66 6f 72 6d 61 74 20 77 68 6f 73 65 20 6d 61 72 6b 75 70 2c 20 6f 72 ent.file.format.whose.markup,.or
7f6e0 20 61 62 73 65 6e 63 65 20 6f 66 20 6d 61 72 6b 75 70 2c 20 68 61 73 20 62 65 65 6e 20 61 72 72 .absence.of.markup,.has.been.arr
7f700 61 6e 67 65 64 20 74 6f 20 74 68 77 61 72 74 0a 6f 72 20 64 69 73 63 6f 75 72 61 67 65 20 73 75 anged.to.thwart.or.discourage.su
7f720 62 73 65 71 75 65 6e 74 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 62 79 20 72 65 61 64 65 72 73 bsequent.modification.by.readers
7f740 20 69 73 20 6e 6f 74 20 54 72 61 6e 73 70 61 72 65 6e 74 2e 0a 41 6e 20 69 6d 61 67 65 20 66 6f .is.not.Transparent..An.image.fo
7f760 72 6d 61 74 20 69 73 20 6e 6f 74 20 54 72 61 6e 73 70 61 72 65 6e 74 20 69 66 20 75 73 65 64 20 rmat.is.not.Transparent.if.used.
7f780 66 6f 72 20 61 6e 79 20 73 75 62 73 74 61 6e 74 69 61 6c 20 61 6d 6f 75 6e 74 0a 6f 66 20 74 65 for.any.substantial.amount.of.te
7f7a0 78 74 2e 20 20 41 20 63 6f 70 79 20 74 68 61 74 20 69 73 20 6e 6f 74 20 60 60 54 72 61 6e 73 70 xt...A.copy.that.is.not.``Transp
7f7c0 61 72 65 6e 74 27 27 20 69 73 20 63 61 6c 6c 65 64 20 60 60 4f 70 61 71 75 65 27 27 2e 0a 0a 45 arent''.is.called.``Opaque''...E
7f7e0 78 61 6d 70 6c 65 73 20 6f 66 20 73 75 69 74 61 62 6c 65 20 66 6f 72 6d 61 74 73 20 66 6f 72 20 xamples.of.suitable.formats.for.
7f800 54 72 61 6e 73 70 61 72 65 6e 74 20 63 6f 70 69 65 73 20 69 6e 63 6c 75 64 65 20 70 6c 61 69 6e Transparent.copies.include.plain
7f820 0a 41 53 43 49 49 20 77 69 74 68 6f 75 74 20 6d 61 72 6b 75 70 2c 20 54 65 78 69 6e 66 6f 20 69 .ASCII.without.markup,.Texinfo.i
7f840 6e 70 75 74 20 66 6f 72 6d 61 74 2c 20 4c 61 40 54 65 58 7b 7d 20 69 6e 70 75 74 0a 66 6f 72 6d nput.format,.La@TeX{}.input.form
7f860 61 74 2c 20 53 47 4d 4c 20 6f 72 20 58 4d 4c 20 75 73 69 6e 67 20 61 20 70 75 62 6c 69 63 6c 79 at,.SGML.or.XML.using.a.publicly
7f880 20 61 76 61 69 6c 61 62 6c 65 0a 44 54 44 2c 20 61 6e 64 20 73 74 61 6e 64 61 72 64 2d 63 6f 6e .available.DTD,.and.standard-con
7f8a0 66 6f 72 6d 69 6e 67 20 73 69 6d 70 6c 65 20 48 54 4d 4c 2c 0a 50 6f 73 74 53 63 72 69 70 74 20 forming.simple.HTML,.PostScript.
7f8c0 6f 72 20 50 44 46 20 64 65 73 69 67 6e 65 64 20 66 6f 72 20 68 75 6d 61 6e 20 6d 6f 64 69 66 69 or.PDF.designed.for.human.modifi
7f8e0 63 61 74 69 6f 6e 2e 20 20 45 78 61 6d 70 6c 65 73 0a 6f 66 20 74 72 61 6e 73 70 61 72 65 6e 74 cation...Examples.of.transparent
7f900 20 69 6d 61 67 65 20 66 6f 72 6d 61 74 73 20 69 6e 63 6c 75 64 65 20 50 4e 47 2c 20 58 43 46 20 .image.formats.include.PNG,.XCF.
7f920 61 6e 64 0a 4a 50 47 40 2e 20 20 4f 70 61 71 75 65 20 66 6f 72 6d 61 74 73 20 69 6e 63 6c 75 64 and.JPG@...Opaque.formats.includ
7f940 65 20 70 72 6f 70 72 69 65 74 61 72 79 20 66 6f 72 6d 61 74 73 20 74 68 61 74 20 63 61 6e 20 62 e.proprietary.formats.that.can.b
7f960 65 0a 72 65 61 64 20 61 6e 64 20 65 64 69 74 65 64 20 6f 6e 6c 79 20 62 79 20 70 72 6f 70 72 69 e.read.and.edited.only.by.propri
7f980 65 74 61 72 79 20 77 6f 72 64 20 70 72 6f 63 65 73 73 6f 72 73 2c 20 53 47 4d 4c 20 6f 72 0a 58 etary.word.processors,.SGML.or.X
7f9a0 4d 4c 20 66 6f 72 20 77 68 69 63 68 20 74 68 65 20 44 54 44 20 61 6e 64 2f 6f 72 20 70 72 6f 63 ML.for.which.the.DTD.and/or.proc
7f9c0 65 73 73 69 6e 67 20 74 6f 6f 6c 73 20 61 72 65 0a 6e 6f 74 20 67 65 6e 65 72 61 6c 6c 79 20 61 essing.tools.are.not.generally.a
7f9e0 76 61 69 6c 61 62 6c 65 2c 20 61 6e 64 20 74 68 65 20 6d 61 63 68 69 6e 65 2d 67 65 6e 65 72 61 vailable,.and.the.machine-genera
7fa00 74 65 64 20 48 54 4d 4c 2c 0a 50 6f 73 74 53 63 72 69 70 74 20 6f 72 20 50 44 46 20 70 72 6f 64 ted.HTML,.PostScript.or.PDF.prod
7fa20 75 63 65 64 20 62 79 20 73 6f 6d 65 20 77 6f 72 64 20 70 72 6f 63 65 73 73 6f 72 73 20 66 6f 72 uced.by.some.word.processors.for
7fa40 0a 6f 75 74 70 75 74 20 70 75 72 70 6f 73 65 73 20 6f 6e 6c 79 2e 0a 0a 54 68 65 20 60 60 54 69 .output.purposes.only...The.``Ti
7fa60 74 6c 65 20 50 61 67 65 27 27 20 6d 65 61 6e 73 2c 20 66 6f 72 20 61 20 70 72 69 6e 74 65 64 20 tle.Page''.means,.for.a.printed.
7fa80 62 6f 6f 6b 2c 20 74 68 65 20 74 69 74 6c 65 20 70 61 67 65 20 69 74 73 65 6c 66 2c 0a 70 6c 75 book,.the.title.page.itself,.plu
7faa0 73 20 73 75 63 68 20 66 6f 6c 6c 6f 77 69 6e 67 20 70 61 67 65 73 20 61 73 20 61 72 65 20 6e 65 s.such.following.pages.as.are.ne
7fac0 65 64 65 64 20 74 6f 20 68 6f 6c 64 2c 20 6c 65 67 69 62 6c 79 2c 20 74 68 65 20 6d 61 74 65 72 eded.to.hold,.legibly,.the.mater
7fae0 69 61 6c 0a 74 68 69 73 20 4c 69 63 65 6e 73 65 20 72 65 71 75 69 72 65 73 20 74 6f 20 61 70 70 ial.this.License.requires.to.app
7fb00 65 61 72 20 69 6e 20 74 68 65 20 74 69 74 6c 65 20 70 61 67 65 2e 20 20 46 6f 72 20 77 6f 72 6b ear.in.the.title.page...For.work
7fb20 73 20 69 6e 0a 66 6f 72 6d 61 74 73 20 77 68 69 63 68 20 64 6f 20 6e 6f 74 20 68 61 76 65 20 61 s.in.formats.which.do.not.have.a
7fb40 6e 79 20 74 69 74 6c 65 20 70 61 67 65 20 61 73 20 73 75 63 68 2c 20 60 60 54 69 74 6c 65 20 50 ny.title.page.as.such,.``Title.P
7fb60 61 67 65 27 27 20 6d 65 61 6e 73 0a 74 68 65 20 74 65 78 74 20 6e 65 61 72 20 74 68 65 20 6d 6f age''.means.the.text.near.the.mo
7fb80 73 74 20 70 72 6f 6d 69 6e 65 6e 74 20 61 70 70 65 61 72 61 6e 63 65 20 6f 66 20 74 68 65 20 77 st.prominent.appearance.of.the.w
7fba0 6f 72 6b 27 73 20 74 69 74 6c 65 2c 0a 70 72 65 63 65 64 69 6e 67 20 74 68 65 20 62 65 67 69 6e ork's.title,.preceding.the.begin
7fbc0 6e 69 6e 67 20 6f 66 20 74 68 65 20 62 6f 64 79 20 6f 66 20 74 68 65 20 74 65 78 74 2e 0a 0a 54 ning.of.the.body.of.the.text...T
7fbe0 68 65 20 60 60 70 75 62 6c 69 73 68 65 72 27 27 20 6d 65 61 6e 73 20 61 6e 79 20 70 65 72 73 6f he.``publisher''.means.any.perso
7fc00 6e 20 6f 72 20 65 6e 74 69 74 79 20 74 68 61 74 20 64 69 73 74 72 69 62 75 74 65 73 20 63 6f 70 n.or.entity.that.distributes.cop
7fc20 69 65 73 0a 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 74 6f 20 74 68 65 20 70 75 62 6c 69 ies.of.the.Document.to.the.publi
7fc40 63 2e 0a 0a 41 20 73 65 63 74 69 6f 6e 20 60 60 45 6e 74 69 74 6c 65 64 20 58 59 5a 27 27 20 6d c...A.section.``Entitled.XYZ''.m
7fc60 65 61 6e 73 20 61 20 6e 61 6d 65 64 20 73 75 62 75 6e 69 74 20 6f 66 20 74 68 65 20 44 6f 63 75 eans.a.named.subunit.of.the.Docu
7fc80 6d 65 6e 74 20 77 68 6f 73 65 0a 74 69 74 6c 65 20 65 69 74 68 65 72 20 69 73 20 70 72 65 63 69 ment.whose.title.either.is.preci
7fca0 73 65 6c 79 20 58 59 5a 20 6f 72 20 63 6f 6e 74 61 69 6e 73 20 58 59 5a 20 69 6e 20 70 61 72 65 sely.XYZ.or.contains.XYZ.in.pare
7fcc0 6e 74 68 65 73 65 73 20 66 6f 6c 6c 6f 77 69 6e 67 0a 74 65 78 74 20 74 68 61 74 20 74 72 61 6e ntheses.following.text.that.tran
7fce0 73 6c 61 74 65 73 20 58 59 5a 20 69 6e 20 61 6e 6f 74 68 65 72 20 6c 61 6e 67 75 61 67 65 2e 20 slates.XYZ.in.another.language..
7fd00 20 28 48 65 72 65 20 58 59 5a 20 73 74 61 6e 64 73 20 66 6f 72 20 61 0a 73 70 65 63 69 66 69 63 .(Here.XYZ.stands.for.a.specific
7fd20 20 73 65 63 74 69 6f 6e 20 6e 61 6d 65 20 6d 65 6e 74 69 6f 6e 65 64 20 62 65 6c 6f 77 2c 20 73 .section.name.mentioned.below,.s
7fd40 75 63 68 20 61 73 20 60 60 41 63 6b 6e 6f 77 6c 65 64 67 65 6d 65 6e 74 73 27 27 2c 0a 60 60 44 uch.as.``Acknowledgements'',.``D
7fd60 65 64 69 63 61 74 69 6f 6e 73 27 27 2c 20 60 60 45 6e 64 6f 72 73 65 6d 65 6e 74 73 27 27 2c 20 edications'',.``Endorsements'',.
7fd80 6f 72 20 60 60 48 69 73 74 6f 72 79 27 27 2e 29 20 20 54 6f 20 60 60 50 72 65 73 65 72 76 65 20 or.``History''.)..To.``Preserve.
7fda0 74 68 65 20 54 69 74 6c 65 27 27 0a 6f 66 20 73 75 63 68 20 61 20 73 65 63 74 69 6f 6e 20 77 68 the.Title''.of.such.a.section.wh
7fdc0 65 6e 20 79 6f 75 20 6d 6f 64 69 66 79 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 6d 65 61 6e 73 en.you.modify.the.Document.means
7fde0 20 74 68 61 74 20 69 74 20 72 65 6d 61 69 6e 73 20 61 0a 73 65 63 74 69 6f 6e 20 60 60 45 6e 74 .that.it.remains.a.section.``Ent
7fe00 69 74 6c 65 64 20 58 59 5a 27 27 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 74 68 69 73 20 64 65 itled.XYZ''.according.to.this.de
7fe20 66 69 6e 69 74 69 6f 6e 2e 0a 0a 54 68 65 20 44 6f 63 75 6d 65 6e 74 20 6d 61 79 20 69 6e 63 6c finition...The.Document.may.incl
7fe40 75 64 65 20 57 61 72 72 61 6e 74 79 20 44 69 73 63 6c 61 69 6d 65 72 73 20 6e 65 78 74 20 74 6f ude.Warranty.Disclaimers.next.to
7fe60 20 74 68 65 20 6e 6f 74 69 63 65 20 77 68 69 63 68 0a 73 74 61 74 65 73 20 74 68 61 74 20 74 68 .the.notice.which.states.that.th
7fe80 69 73 20 4c 69 63 65 6e 73 65 20 61 70 70 6c 69 65 73 20 74 6f 20 74 68 65 20 44 6f 63 75 6d 65 is.License.applies.to.the.Docume
7fea0 6e 74 2e 20 20 54 68 65 73 65 20 57 61 72 72 61 6e 74 79 0a 44 69 73 63 6c 61 69 6d 65 72 73 20 nt...These.Warranty.Disclaimers.
7fec0 61 72 65 20 63 6f 6e 73 69 64 65 72 65 64 20 74 6f 20 62 65 20 69 6e 63 6c 75 64 65 64 20 62 79 are.considered.to.be.included.by
7fee0 20 72 65 66 65 72 65 6e 63 65 20 69 6e 20 74 68 69 73 0a 4c 69 63 65 6e 73 65 2c 20 62 75 74 20 .reference.in.this.License,.but.
7ff00 6f 6e 6c 79 20 61 73 20 72 65 67 61 72 64 73 20 64 69 73 63 6c 61 69 6d 69 6e 67 20 77 61 72 72 only.as.regards.disclaiming.warr
7ff20 61 6e 74 69 65 73 3a 20 61 6e 79 20 6f 74 68 65 72 0a 69 6d 70 6c 69 63 61 74 69 6f 6e 20 74 68 anties:.any.other.implication.th
7ff40 61 74 20 74 68 65 73 65 20 57 61 72 72 61 6e 74 79 20 44 69 73 63 6c 61 69 6d 65 72 73 20 6d 61 at.these.Warranty.Disclaimers.ma
7ff60 79 20 68 61 76 65 20 69 73 20 76 6f 69 64 20 61 6e 64 20 68 61 73 0a 6e 6f 20 65 66 66 65 63 74 y.have.is.void.and.has.no.effect
7ff80 20 6f 6e 20 74 68 65 20 6d 65 61 6e 69 6e 67 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e .on.the.meaning.of.this.License.
7ffa0 0a 0a 40 69 74 65 6d 0a 56 45 52 42 41 54 49 4d 20 43 4f 50 59 49 4e 47 0a 0a 59 6f 75 20 6d 61 ..@item.VERBATIM.COPYING..You.ma
7ffc0 79 20 63 6f 70 79 20 61 6e 64 20 64 69 73 74 72 69 62 75 74 65 20 74 68 65 20 44 6f 63 75 6d 65 y.copy.and.distribute.the.Docume
7ffe0 6e 74 20 69 6e 20 61 6e 79 20 6d 65 64 69 75 6d 2c 20 65 69 74 68 65 72 0a 63 6f 6d 6d 65 72 63 nt.in.any.medium,.either.commerc
80000 69 61 6c 6c 79 20 6f 72 20 6e 6f 6e 63 6f 6d 6d 65 72 63 69 61 6c 6c 79 2c 20 70 72 6f 76 69 64 ially.or.noncommercially,.provid
80020 65 64 20 74 68 61 74 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 74 68 65 0a 63 6f 70 79 72 69 ed.that.this.License,.the.copyri
80040 67 68 74 20 6e 6f 74 69 63 65 73 2c 20 61 6e 64 20 74 68 65 20 6c 69 63 65 6e 73 65 20 6e 6f 74 ght.notices,.and.the.license.not
80060 69 63 65 20 73 61 79 69 6e 67 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 61 70 70 6c 69 65 73 0a ice.saying.this.License.applies.
80080 74 6f 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 61 72 65 20 72 65 70 72 6f 64 75 63 65 64 20 69 to.the.Document.are.reproduced.i
800a0 6e 20 61 6c 6c 20 63 6f 70 69 65 73 2c 20 61 6e 64 20 74 68 61 74 20 79 6f 75 20 61 64 64 20 6e n.all.copies,.and.that.you.add.n
800c0 6f 20 6f 74 68 65 72 0a 63 6f 6e 64 69 74 69 6f 6e 73 20 77 68 61 74 73 6f 65 76 65 72 20 74 6f o.other.conditions.whatsoever.to
800e0 20 74 68 6f 73 65 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 59 6f 75 20 6d 61 79 .those.of.this.License...You.may
80100 20 6e 6f 74 20 75 73 65 0a 74 65 63 68 6e 69 63 61 6c 20 6d 65 61 73 75 72 65 73 20 74 6f 20 6f .not.use.technical.measures.to.o
80120 62 73 74 72 75 63 74 20 6f 72 20 63 6f 6e 74 72 6f 6c 20 74 68 65 20 72 65 61 64 69 6e 67 20 6f bstruct.or.control.the.reading.o
80140 72 20 66 75 72 74 68 65 72 0a 63 6f 70 79 69 6e 67 20 6f 66 20 74 68 65 20 63 6f 70 69 65 73 20 r.further.copying.of.the.copies.
80160 79 6f 75 20 6d 61 6b 65 20 6f 72 20 64 69 73 74 72 69 62 75 74 65 2e 20 20 48 6f 77 65 76 65 72 you.make.or.distribute...However
80180 2c 20 79 6f 75 20 6d 61 79 20 61 63 63 65 70 74 0a 63 6f 6d 70 65 6e 73 61 74 69 6f 6e 20 69 6e ,.you.may.accept.compensation.in
801a0 20 65 78 63 68 61 6e 67 65 20 66 6f 72 20 63 6f 70 69 65 73 2e 20 20 49 66 20 79 6f 75 20 64 69 .exchange.for.copies...If.you.di
801c0 73 74 72 69 62 75 74 65 20 61 20 6c 61 72 67 65 20 65 6e 6f 75 67 68 0a 6e 75 6d 62 65 72 20 6f stribute.a.large.enough.number.o
801e0 66 20 63 6f 70 69 65 73 20 79 6f 75 20 6d 75 73 74 20 61 6c 73 6f 20 66 6f 6c 6c 6f 77 20 74 68 f.copies.you.must.also.follow.th
80200 65 20 63 6f 6e 64 69 74 69 6f 6e 73 20 69 6e 20 73 65 63 74 69 6f 6e 20 33 2e 0a 0a 59 6f 75 20 e.conditions.in.section.3...You.
80220 6d 61 79 20 61 6c 73 6f 20 6c 65 6e 64 20 63 6f 70 69 65 73 2c 20 75 6e 64 65 72 20 74 68 65 20 may.also.lend.copies,.under.the.
80240 73 61 6d 65 20 63 6f 6e 64 69 74 69 6f 6e 73 20 73 74 61 74 65 64 20 61 62 6f 76 65 2c 20 61 6e same.conditions.stated.above,.an
80260 64 0a 79 6f 75 20 6d 61 79 20 70 75 62 6c 69 63 6c 79 20 64 69 73 70 6c 61 79 20 63 6f 70 69 65 d.you.may.publicly.display.copie
80280 73 2e 0a 0a 40 69 74 65 6d 0a 43 4f 50 59 49 4e 47 20 49 4e 20 51 55 41 4e 54 49 54 59 0a 0a 49 s...@item.COPYING.IN.QUANTITY..I
802a0 66 20 79 6f 75 20 70 75 62 6c 69 73 68 20 70 72 69 6e 74 65 64 20 63 6f 70 69 65 73 20 28 6f 72 f.you.publish.printed.copies.(or
802c0 20 63 6f 70 69 65 73 20 69 6e 20 6d 65 64 69 61 20 74 68 61 74 20 63 6f 6d 6d 6f 6e 6c 79 20 68 .copies.in.media.that.commonly.h
802e0 61 76 65 0a 70 72 69 6e 74 65 64 20 63 6f 76 65 72 73 29 20 6f 66 20 74 68 65 20 44 6f 63 75 6d ave.printed.covers).of.the.Docum
80300 65 6e 74 2c 20 6e 75 6d 62 65 72 69 6e 67 20 6d 6f 72 65 20 74 68 61 6e 20 31 30 30 2c 20 61 6e ent,.numbering.more.than.100,.an
80320 64 20 74 68 65 0a 44 6f 63 75 6d 65 6e 74 27 73 20 6c 69 63 65 6e 73 65 20 6e 6f 74 69 63 65 20 d.the.Document's.license.notice.
80340 72 65 71 75 69 72 65 73 20 43 6f 76 65 72 20 54 65 78 74 73 2c 20 79 6f 75 20 6d 75 73 74 20 65 requires.Cover.Texts,.you.must.e
80360 6e 63 6c 6f 73 65 20 74 68 65 0a 63 6f 70 69 65 73 20 69 6e 20 63 6f 76 65 72 73 20 74 68 61 74 nclose.the.copies.in.covers.that
80380 20 63 61 72 72 79 2c 20 63 6c 65 61 72 6c 79 20 61 6e 64 20 6c 65 67 69 62 6c 79 2c 20 61 6c 6c .carry,.clearly.and.legibly,.all
803a0 20 74 68 65 73 65 20 43 6f 76 65 72 0a 54 65 78 74 73 3a 20 46 72 6f 6e 74 2d 43 6f 76 65 72 20 .these.Cover.Texts:.Front-Cover.
803c0 54 65 78 74 73 20 6f 6e 20 74 68 65 20 66 72 6f 6e 74 20 63 6f 76 65 72 2c 20 61 6e 64 20 42 61 Texts.on.the.front.cover,.and.Ba
803e0 63 6b 2d 43 6f 76 65 72 20 54 65 78 74 73 20 6f 6e 0a 74 68 65 20 62 61 63 6b 20 63 6f 76 65 72 ck-Cover.Texts.on.the.back.cover
80400 2e 20 20 42 6f 74 68 20 63 6f 76 65 72 73 20 6d 75 73 74 20 61 6c 73 6f 20 63 6c 65 61 72 6c 79 ...Both.covers.must.also.clearly
80420 20 61 6e 64 20 6c 65 67 69 62 6c 79 20 69 64 65 6e 74 69 66 79 0a 79 6f 75 20 61 73 20 74 68 65 .and.legibly.identify.you.as.the
80440 20 70 75 62 6c 69 73 68 65 72 20 6f 66 20 74 68 65 73 65 20 63 6f 70 69 65 73 2e 20 20 54 68 65 .publisher.of.these.copies...The
80460 20 66 72 6f 6e 74 20 63 6f 76 65 72 20 6d 75 73 74 20 70 72 65 73 65 6e 74 0a 74 68 65 20 66 75 .front.cover.must.present.the.fu
80480 6c 6c 20 74 69 74 6c 65 20 77 69 74 68 20 61 6c 6c 20 77 6f 72 64 73 20 6f 66 20 74 68 65 20 74 ll.title.with.all.words.of.the.t
804a0 69 74 6c 65 20 65 71 75 61 6c 6c 79 20 70 72 6f 6d 69 6e 65 6e 74 20 61 6e 64 0a 76 69 73 69 62 itle.equally.prominent.and.visib
804c0 6c 65 2e 20 20 59 6f 75 20 6d 61 79 20 61 64 64 20 6f 74 68 65 72 20 6d 61 74 65 72 69 61 6c 20 le...You.may.add.other.material.
804e0 6f 6e 20 74 68 65 20 63 6f 76 65 72 73 20 69 6e 20 61 64 64 69 74 69 6f 6e 2e 0a 43 6f 70 79 69 on.the.covers.in.addition..Copyi
80500 6e 67 20 77 69 74 68 20 63 68 61 6e 67 65 73 20 6c 69 6d 69 74 65 64 20 74 6f 20 74 68 65 20 63 ng.with.changes.limited.to.the.c
80520 6f 76 65 72 73 2c 20 61 73 20 6c 6f 6e 67 20 61 73 20 74 68 65 79 20 70 72 65 73 65 72 76 65 0a overs,.as.long.as.they.preserve.
80540 74 68 65 20 74 69 74 6c 65 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 61 6e 64 20 73 61 the.title.of.the.Document.and.sa
80560 74 69 73 66 79 20 74 68 65 73 65 20 63 6f 6e 64 69 74 69 6f 6e 73 2c 20 63 61 6e 20 62 65 20 74 tisfy.these.conditions,.can.be.t
80580 72 65 61 74 65 64 0a 61 73 20 76 65 72 62 61 74 69 6d 20 63 6f 70 79 69 6e 67 20 69 6e 20 6f 74 reated.as.verbatim.copying.in.ot
805a0 68 65 72 20 72 65 73 70 65 63 74 73 2e 0a 0a 49 66 20 74 68 65 20 72 65 71 75 69 72 65 64 20 74 her.respects...If.the.required.t
805c0 65 78 74 73 20 66 6f 72 20 65 69 74 68 65 72 20 63 6f 76 65 72 20 61 72 65 20 74 6f 6f 20 76 6f exts.for.either.cover.are.too.vo
805e0 6c 75 6d 69 6e 6f 75 73 20 74 6f 20 66 69 74 0a 6c 65 67 69 62 6c 79 2c 20 79 6f 75 20 73 68 6f luminous.to.fit.legibly,.you.sho
80600 75 6c 64 20 70 75 74 20 74 68 65 20 66 69 72 73 74 20 6f 6e 65 73 20 6c 69 73 74 65 64 20 28 61 uld.put.the.first.ones.listed.(a
80620 73 20 6d 61 6e 79 20 61 73 20 66 69 74 0a 72 65 61 73 6f 6e 61 62 6c 79 29 20 6f 6e 20 74 68 65 s.many.as.fit.reasonably).on.the
80640 20 61 63 74 75 61 6c 20 63 6f 76 65 72 2c 20 61 6e 64 20 63 6f 6e 74 69 6e 75 65 20 74 68 65 20 .actual.cover,.and.continue.the.
80660 72 65 73 74 20 6f 6e 74 6f 20 61 64 6a 61 63 65 6e 74 0a 70 61 67 65 73 2e 0a 0a 49 66 20 79 6f rest.onto.adjacent.pages...If.yo
80680 75 20 70 75 62 6c 69 73 68 20 6f 72 20 64 69 73 74 72 69 62 75 74 65 20 4f 70 61 71 75 65 20 63 u.publish.or.distribute.Opaque.c
806a0 6f 70 69 65 73 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 6e 75 6d 62 65 72 69 6e 67 0a opies.of.the.Document.numbering.
806c0 6d 6f 72 65 20 74 68 61 6e 20 31 30 30 2c 20 79 6f 75 20 6d 75 73 74 20 65 69 74 68 65 72 20 69 more.than.100,.you.must.either.i
806e0 6e 63 6c 75 64 65 20 61 20 6d 61 63 68 69 6e 65 2d 72 65 61 64 61 62 6c 65 20 54 72 61 6e 73 70 nclude.a.machine-readable.Transp
80700 61 72 65 6e 74 0a 63 6f 70 79 20 61 6c 6f 6e 67 20 77 69 74 68 20 65 61 63 68 20 4f 70 61 71 75 arent.copy.along.with.each.Opaqu
80720 65 20 63 6f 70 79 2c 20 6f 72 20 73 74 61 74 65 20 69 6e 20 6f 72 20 77 69 74 68 20 65 61 63 68 e.copy,.or.state.in.or.with.each
80740 20 4f 70 61 71 75 65 20 63 6f 70 79 0a 61 20 63 6f 6d 70 75 74 65 72 2d 6e 65 74 77 6f 72 6b 20 .Opaque.copy.a.computer-network.
80760 6c 6f 63 61 74 69 6f 6e 20 66 72 6f 6d 20 77 68 69 63 68 20 74 68 65 20 67 65 6e 65 72 61 6c 20 location.from.which.the.general.
80780 6e 65 74 77 6f 72 6b 2d 75 73 69 6e 67 0a 70 75 62 6c 69 63 20 68 61 73 20 61 63 63 65 73 73 20 network-using.public.has.access.
807a0 74 6f 20 64 6f 77 6e 6c 6f 61 64 20 75 73 69 6e 67 20 70 75 62 6c 69 63 2d 73 74 61 6e 64 61 72 to.download.using.public-standar
807c0 64 20 6e 65 74 77 6f 72 6b 20 70 72 6f 74 6f 63 6f 6c 73 0a 61 20 63 6f 6d 70 6c 65 74 65 20 54 d.network.protocols.a.complete.T
807e0 72 61 6e 73 70 61 72 65 6e 74 20 63 6f 70 79 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 2c ransparent.copy.of.the.Document,
80800 20 66 72 65 65 20 6f 66 20 61 64 64 65 64 20 6d 61 74 65 72 69 61 6c 2e 0a 49 66 20 79 6f 75 20 .free.of.added.material..If.you.
80820 75 73 65 20 74 68 65 20 6c 61 74 74 65 72 20 6f 70 74 69 6f 6e 2c 20 79 6f 75 20 6d 75 73 74 20 use.the.latter.option,.you.must.
80840 74 61 6b 65 20 72 65 61 73 6f 6e 61 62 6c 79 20 70 72 75 64 65 6e 74 20 73 74 65 70 73 2c 0a 77 take.reasonably.prudent.steps,.w
80860 68 65 6e 20 79 6f 75 20 62 65 67 69 6e 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 6f 66 20 4f 70 hen.you.begin.distribution.of.Op
80880 61 71 75 65 20 63 6f 70 69 65 73 20 69 6e 20 71 75 61 6e 74 69 74 79 2c 20 74 6f 20 65 6e 73 75 aque.copies.in.quantity,.to.ensu
808a0 72 65 0a 74 68 61 74 20 74 68 69 73 20 54 72 61 6e 73 70 61 72 65 6e 74 20 63 6f 70 79 20 77 69 re.that.this.Transparent.copy.wi
808c0 6c 6c 20 72 65 6d 61 69 6e 20 74 68 75 73 20 61 63 63 65 73 73 69 62 6c 65 20 61 74 20 74 68 65 ll.remain.thus.accessible.at.the
808e0 20 73 74 61 74 65 64 0a 6c 6f 63 61 74 69 6f 6e 20 75 6e 74 69 6c 20 61 74 20 6c 65 61 73 74 20 .stated.location.until.at.least.
80900 6f 6e 65 20 79 65 61 72 20 61 66 74 65 72 20 74 68 65 20 6c 61 73 74 20 74 69 6d 65 20 79 6f 75 one.year.after.the.last.time.you
80920 20 64 69 73 74 72 69 62 75 74 65 20 61 6e 0a 4f 70 61 71 75 65 20 63 6f 70 79 20 28 64 69 72 65 .distribute.an.Opaque.copy.(dire
80940 63 74 6c 79 20 6f 72 20 74 68 72 6f 75 67 68 20 79 6f 75 72 20 61 67 65 6e 74 73 20 6f 72 20 72 ctly.or.through.your.agents.or.r
80960 65 74 61 69 6c 65 72 73 29 20 6f 66 20 74 68 61 74 0a 65 64 69 74 69 6f 6e 20 74 6f 20 74 68 65 etailers).of.that.edition.to.the
80980 20 70 75 62 6c 69 63 2e 0a 0a 49 74 20 69 73 20 72 65 71 75 65 73 74 65 64 2c 20 62 75 74 20 6e .public...It.is.requested,.but.n
809a0 6f 74 20 72 65 71 75 69 72 65 64 2c 20 74 68 61 74 20 79 6f 75 20 63 6f 6e 74 61 63 74 20 74 68 ot.required,.that.you.contact.th
809c0 65 20 61 75 74 68 6f 72 73 20 6f 66 20 74 68 65 0a 44 6f 63 75 6d 65 6e 74 20 77 65 6c 6c 20 62 e.authors.of.the.Document.well.b
809e0 65 66 6f 72 65 20 72 65 64 69 73 74 72 69 62 75 74 69 6e 67 20 61 6e 79 20 6c 61 72 67 65 20 6e efore.redistributing.any.large.n
80a00 75 6d 62 65 72 20 6f 66 20 63 6f 70 69 65 73 2c 20 74 6f 20 67 69 76 65 0a 74 68 65 6d 20 61 20 umber.of.copies,.to.give.them.a.
80a20 63 68 61 6e 63 65 20 74 6f 20 70 72 6f 76 69 64 65 20 79 6f 75 20 77 69 74 68 20 61 6e 20 75 70 chance.to.provide.you.with.an.up
80a40 64 61 74 65 64 20 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 2e 0a 0a dated.version.of.the.Document...
80a60 40 69 74 65 6d 0a 4d 4f 44 49 46 49 43 41 54 49 4f 4e 53 0a 0a 59 6f 75 20 6d 61 79 20 63 6f 70 @item.MODIFICATIONS..You.may.cop
80a80 79 20 61 6e 64 20 64 69 73 74 72 69 62 75 74 65 20 61 20 4d 6f 64 69 66 69 65 64 20 56 65 72 73 y.and.distribute.a.Modified.Vers
80aa0 69 6f 6e 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 75 6e 64 65 72 0a 74 68 65 20 63 6f ion.of.the.Document.under.the.co
80ac0 6e 64 69 74 69 6f 6e 73 20 6f 66 20 73 65 63 74 69 6f 6e 73 20 32 20 61 6e 64 20 33 20 61 62 6f nditions.of.sections.2.and.3.abo
80ae0 76 65 2c 20 70 72 6f 76 69 64 65 64 20 74 68 61 74 20 79 6f 75 20 72 65 6c 65 61 73 65 0a 74 68 ve,.provided.that.you.release.th
80b00 65 20 4d 6f 64 69 66 69 65 64 20 56 65 72 73 69 6f 6e 20 75 6e 64 65 72 20 70 72 65 63 69 73 65 e.Modified.Version.under.precise
80b20 6c 79 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 77 69 74 68 20 74 68 65 20 4d 6f 64 69 66 69 ly.this.License,.with.the.Modifi
80b40 65 64 0a 56 65 72 73 69 6f 6e 20 66 69 6c 6c 69 6e 67 20 74 68 65 20 72 6f 6c 65 20 6f 66 20 74 ed.Version.filling.the.role.of.t
80b60 68 65 20 44 6f 63 75 6d 65 6e 74 2c 20 74 68 75 73 20 6c 69 63 65 6e 73 69 6e 67 20 64 69 73 74 he.Document,.thus.licensing.dist
80b80 72 69 62 75 74 69 6f 6e 0a 61 6e 64 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 74 68 65 ribution.and.modification.of.the
80ba0 20 4d 6f 64 69 66 69 65 64 20 56 65 72 73 69 6f 6e 20 74 6f 20 77 68 6f 65 76 65 72 20 70 6f 73 .Modified.Version.to.whoever.pos
80bc0 73 65 73 73 65 73 20 61 20 63 6f 70 79 0a 6f 66 20 69 74 2e 20 20 49 6e 20 61 64 64 69 74 69 6f sesses.a.copy.of.it...In.additio
80be0 6e 2c 20 79 6f 75 20 6d 75 73 74 20 64 6f 20 74 68 65 73 65 20 74 68 69 6e 67 73 20 69 6e 20 74 n,.you.must.do.these.things.in.t
80c00 68 65 20 4d 6f 64 69 66 69 65 64 20 56 65 72 73 69 6f 6e 3a 0a 0a 40 65 6e 75 6d 65 72 61 74 65 he.Modified.Version:..@enumerate
80c20 20 41 0a 40 69 74 65 6d 0a 55 73 65 20 69 6e 20 74 68 65 20 54 69 74 6c 65 20 50 61 67 65 20 28 .A.@item.Use.in.the.Title.Page.(
80c40 61 6e 64 20 6f 6e 20 74 68 65 20 63 6f 76 65 72 73 2c 20 69 66 20 61 6e 79 29 20 61 20 74 69 74 and.on.the.covers,.if.any).a.tit
80c60 6c 65 20 64 69 73 74 69 6e 63 74 0a 66 72 6f 6d 20 74 68 61 74 20 6f 66 20 74 68 65 20 44 6f 63 le.distinct.from.that.of.the.Doc
80c80 75 6d 65 6e 74 2c 20 61 6e 64 20 66 72 6f 6d 20 74 68 6f 73 65 20 6f 66 20 70 72 65 76 69 6f 75 ument,.and.from.those.of.previou
80ca0 73 20 76 65 72 73 69 6f 6e 73 0a 28 77 68 69 63 68 20 73 68 6f 75 6c 64 2c 20 69 66 20 74 68 65 s.versions.(which.should,.if.the
80cc0 72 65 20 77 65 72 65 20 61 6e 79 2c 20 62 65 20 6c 69 73 74 65 64 20 69 6e 20 74 68 65 20 48 69 re.were.any,.be.listed.in.the.Hi
80ce0 73 74 6f 72 79 20 73 65 63 74 69 6f 6e 0a 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 29 2e 20 story.section.of.the.Document)..
80d00 20 59 6f 75 20 6d 61 79 20 75 73 65 20 74 68 65 20 73 61 6d 65 20 74 69 74 6c 65 20 61 73 20 61 .You.may.use.the.same.title.as.a
80d20 20 70 72 65 76 69 6f 75 73 20 76 65 72 73 69 6f 6e 0a 69 66 20 74 68 65 20 6f 72 69 67 69 6e 61 .previous.version.if.the.origina
80d40 6c 20 70 75 62 6c 69 73 68 65 72 20 6f 66 20 74 68 61 74 20 76 65 72 73 69 6f 6e 20 67 69 76 65 l.publisher.of.that.version.give
80d60 73 20 70 65 72 6d 69 73 73 69 6f 6e 2e 0a 0a 40 69 74 65 6d 0a 4c 69 73 74 20 6f 6e 20 74 68 65 s.permission...@item.List.on.the
80d80 20 54 69 74 6c 65 20 50 61 67 65 2c 20 61 73 20 61 75 74 68 6f 72 73 2c 20 6f 6e 65 20 6f 72 20 .Title.Page,.as.authors,.one.or.
80da0 6d 6f 72 65 20 70 65 72 73 6f 6e 73 20 6f 72 20 65 6e 74 69 74 69 65 73 0a 72 65 73 70 6f 6e 73 more.persons.or.entities.respons
80dc0 69 62 6c 65 20 66 6f 72 20 61 75 74 68 6f 72 73 68 69 70 20 6f 66 20 74 68 65 20 6d 6f 64 69 66 ible.for.authorship.of.the.modif
80de0 69 63 61 74 69 6f 6e 73 20 69 6e 20 74 68 65 20 4d 6f 64 69 66 69 65 64 0a 56 65 72 73 69 6f 6e ications.in.the.Modified.Version
80e00 2c 20 74 6f 67 65 74 68 65 72 20 77 69 74 68 20 61 74 20 6c 65 61 73 74 20 66 69 76 65 20 6f 66 ,.together.with.at.least.five.of
80e20 20 74 68 65 20 70 72 69 6e 63 69 70 61 6c 20 61 75 74 68 6f 72 73 20 6f 66 20 74 68 65 0a 44 6f .the.principal.authors.of.the.Do
80e40 63 75 6d 65 6e 74 20 28 61 6c 6c 20 6f 66 20 69 74 73 20 70 72 69 6e 63 69 70 61 6c 20 61 75 74 cument.(all.of.its.principal.aut
80e60 68 6f 72 73 2c 20 69 66 20 69 74 20 68 61 73 20 66 65 77 65 72 20 74 68 61 6e 20 66 69 76 65 29 hors,.if.it.has.fewer.than.five)
80e80 2c 0a 75 6e 6c 65 73 73 20 74 68 65 79 20 72 65 6c 65 61 73 65 20 79 6f 75 20 66 72 6f 6d 20 74 ,.unless.they.release.you.from.t
80ea0 68 69 73 20 72 65 71 75 69 72 65 6d 65 6e 74 2e 0a 0a 40 69 74 65 6d 0a 53 74 61 74 65 20 6f 6e his.requirement...@item.State.on
80ec0 20 74 68 65 20 54 69 74 6c 65 20 70 61 67 65 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 .the.Title.page.the.name.of.the.
80ee0 70 75 62 6c 69 73 68 65 72 20 6f 66 20 74 68 65 0a 4d 6f 64 69 66 69 65 64 20 56 65 72 73 69 6f publisher.of.the.Modified.Versio
80f00 6e 2c 20 61 73 20 74 68 65 20 70 75 62 6c 69 73 68 65 72 2e 0a 0a 40 69 74 65 6d 0a 50 72 65 73 n,.as.the.publisher...@item.Pres
80f20 65 72 76 65 20 61 6c 6c 20 74 68 65 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 73 20 6f erve.all.the.copyright.notices.o
80f40 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 2e 0a 0a 40 69 74 65 6d 0a 41 64 64 20 61 6e 20 61 70 f.the.Document...@item.Add.an.ap
80f60 70 72 6f 70 72 69 61 74 65 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 20 66 6f 72 20 79 propriate.copyright.notice.for.y
80f80 6f 75 72 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 73 0a 61 64 6a 61 63 65 6e 74 20 74 6f 20 74 68 our.modifications.adjacent.to.th
80fa0 65 20 6f 74 68 65 72 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 73 2e 0a 0a 40 69 74 65 e.other.copyright.notices...@ite
80fc0 6d 0a 49 6e 63 6c 75 64 65 2c 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 61 66 74 65 72 20 74 68 65 m.Include,.immediately.after.the
80fe0 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 73 2c 20 61 20 6c 69 63 65 6e 73 65 20 6e 6f .copyright.notices,.a.license.no
81000 74 69 63 65 0a 67 69 76 69 6e 67 20 74 68 65 20 70 75 62 6c 69 63 20 70 65 72 6d 69 73 73 69 6f tice.giving.the.public.permissio
81020 6e 20 74 6f 20 75 73 65 20 74 68 65 20 4d 6f 64 69 66 69 65 64 20 56 65 72 73 69 6f 6e 20 75 6e n.to.use.the.Modified.Version.un
81040 64 65 72 20 74 68 65 0a 74 65 72 6d 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 69 der.the.terms.of.this.License,.i
81060 6e 20 74 68 65 20 66 6f 72 6d 20 73 68 6f 77 6e 20 69 6e 20 74 68 65 20 41 64 64 65 6e 64 75 6d n.the.form.shown.in.the.Addendum
81080 20 62 65 6c 6f 77 2e 0a 0a 40 69 74 65 6d 0a 50 72 65 73 65 72 76 65 20 69 6e 20 74 68 61 74 20 .below...@item.Preserve.in.that.
810a0 6c 69 63 65 6e 73 65 20 6e 6f 74 69 63 65 20 74 68 65 20 66 75 6c 6c 20 6c 69 73 74 73 20 6f 66 license.notice.the.full.lists.of
810c0 20 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 0a 61 6e 64 20 72 65 71 75 69 72 65 64 .Invariant.Sections.and.required
810e0 20 43 6f 76 65 72 20 54 65 78 74 73 20 67 69 76 65 6e 20 69 6e 20 74 68 65 20 44 6f 63 75 6d 65 .Cover.Texts.given.in.the.Docume
81100 6e 74 27 73 20 6c 69 63 65 6e 73 65 20 6e 6f 74 69 63 65 2e 0a 0a 40 69 74 65 6d 0a 49 6e 63 6c nt's.license.notice...@item.Incl
81120 75 64 65 20 61 6e 20 75 6e 61 6c 74 65 72 65 64 20 63 6f 70 79 20 6f 66 20 74 68 69 73 20 4c 69 ude.an.unaltered.copy.of.this.Li
81140 63 65 6e 73 65 2e 0a 0a 40 69 74 65 6d 0a 50 72 65 73 65 72 76 65 20 74 68 65 20 73 65 63 74 69 cense...@item.Preserve.the.secti
81160 6f 6e 20 45 6e 74 69 74 6c 65 64 20 60 60 48 69 73 74 6f 72 79 27 27 2c 20 50 72 65 73 65 72 76 on.Entitled.``History'',.Preserv
81180 65 20 69 74 73 20 54 69 74 6c 65 2c 20 61 6e 64 20 61 64 64 0a 74 6f 20 69 74 20 61 6e 20 69 74 e.its.Title,.and.add.to.it.an.it
811a0 65 6d 20 73 74 61 74 69 6e 67 20 61 74 20 6c 65 61 73 74 20 74 68 65 20 74 69 74 6c 65 2c 20 79 em.stating.at.least.the.title,.y
811c0 65 61 72 2c 20 6e 65 77 20 61 75 74 68 6f 72 73 2c 20 61 6e 64 0a 70 75 62 6c 69 73 68 65 72 20 ear,.new.authors,.and.publisher.
811e0 6f 66 20 74 68 65 20 4d 6f 64 69 66 69 65 64 20 56 65 72 73 69 6f 6e 20 61 73 20 67 69 76 65 6e of.the.Modified.Version.as.given
81200 20 6f 6e 20 74 68 65 20 54 69 74 6c 65 20 50 61 67 65 2e 20 20 49 66 0a 74 68 65 72 65 20 69 73 .on.the.Title.Page...If.there.is
81220 20 6e 6f 20 73 65 63 74 69 6f 6e 20 45 6e 74 69 74 6c 65 64 20 60 60 48 69 73 74 6f 72 79 27 27 .no.section.Entitled.``History''
81240 20 69 6e 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 2c 20 63 72 65 61 74 65 20 6f 6e 65 0a 73 74 61 .in.the.Document,.create.one.sta
81260 74 69 6e 67 20 74 68 65 20 74 69 74 6c 65 2c 20 79 65 61 72 2c 20 61 75 74 68 6f 72 73 2c 20 61 ting.the.title,.year,.authors,.a
81280 6e 64 20 70 75 62 6c 69 73 68 65 72 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 61 73 0a nd.publisher.of.the.Document.as.
812a0 67 69 76 65 6e 20 6f 6e 20 69 74 73 20 54 69 74 6c 65 20 50 61 67 65 2c 20 74 68 65 6e 20 61 64 given.on.its.Title.Page,.then.ad
812c0 64 20 61 6e 20 69 74 65 6d 20 64 65 73 63 72 69 62 69 6e 67 20 74 68 65 20 4d 6f 64 69 66 69 65 d.an.item.describing.the.Modifie
812e0 64 0a 56 65 72 73 69 6f 6e 20 61 73 20 73 74 61 74 65 64 20 69 6e 20 74 68 65 20 70 72 65 76 69 d.Version.as.stated.in.the.previ
81300 6f 75 73 20 73 65 6e 74 65 6e 63 65 2e 0a 0a 40 69 74 65 6d 0a 50 72 65 73 65 72 76 65 20 74 68 ous.sentence...@item.Preserve.th
81320 65 20 6e 65 74 77 6f 72 6b 20 6c 6f 63 61 74 69 6f 6e 2c 20 69 66 20 61 6e 79 2c 20 67 69 76 65 e.network.location,.if.any,.give
81340 6e 20 69 6e 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 66 6f 72 0a 70 75 62 6c 69 63 20 61 63 63 n.in.the.Document.for.public.acc
81360 65 73 73 20 74 6f 20 61 20 54 72 61 6e 73 70 61 72 65 6e 74 20 63 6f 70 79 20 6f 66 20 74 68 65 ess.to.a.Transparent.copy.of.the
81380 20 44 6f 63 75 6d 65 6e 74 2c 20 61 6e 64 20 6c 69 6b 65 77 69 73 65 0a 74 68 65 20 6e 65 74 77 .Document,.and.likewise.the.netw
813a0 6f 72 6b 20 6c 6f 63 61 74 69 6f 6e 73 20 67 69 76 65 6e 20 69 6e 20 74 68 65 20 44 6f 63 75 6d ork.locations.given.in.the.Docum
813c0 65 6e 74 20 66 6f 72 20 70 72 65 76 69 6f 75 73 20 76 65 72 73 69 6f 6e 73 0a 69 74 20 77 61 73 ent.for.previous.versions.it.was
813e0 20 62 61 73 65 64 20 6f 6e 2e 20 20 54 68 65 73 65 20 6d 61 79 20 62 65 20 70 6c 61 63 65 64 20 .based.on...These.may.be.placed.
81400 69 6e 20 74 68 65 20 60 60 48 69 73 74 6f 72 79 27 27 20 73 65 63 74 69 6f 6e 2e 0a 59 6f 75 20 in.the.``History''.section..You.
81420 6d 61 79 20 6f 6d 69 74 20 61 20 6e 65 74 77 6f 72 6b 20 6c 6f 63 61 74 69 6f 6e 20 66 6f 72 20 may.omit.a.network.location.for.
81440 61 20 77 6f 72 6b 20 74 68 61 74 20 77 61 73 20 70 75 62 6c 69 73 68 65 64 20 61 74 0a 6c 65 61 a.work.that.was.published.at.lea
81460 73 74 20 66 6f 75 72 20 79 65 61 72 73 20 62 65 66 6f 72 65 20 74 68 65 20 44 6f 63 75 6d 65 6e st.four.years.before.the.Documen
81480 74 20 69 74 73 65 6c 66 2c 20 6f 72 20 69 66 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 0a 70 75 62 t.itself,.or.if.the.original.pub
814a0 6c 69 73 68 65 72 20 6f 66 20 74 68 65 20 76 65 72 73 69 6f 6e 20 69 74 20 72 65 66 65 72 73 20 lisher.of.the.version.it.refers.
814c0 74 6f 20 67 69 76 65 73 20 70 65 72 6d 69 73 73 69 6f 6e 2e 0a 0a 40 69 74 65 6d 0a 46 6f 72 20 to.gives.permission...@item.For.
814e0 61 6e 79 20 73 65 63 74 69 6f 6e 20 45 6e 74 69 74 6c 65 64 20 60 60 41 63 6b 6e 6f 77 6c 65 64 any.section.Entitled.``Acknowled
81500 67 65 6d 65 6e 74 73 27 27 20 6f 72 20 60 60 44 65 64 69 63 61 74 69 6f 6e 73 27 27 2c 20 50 72 gements''.or.``Dedications'',.Pr
81520 65 73 65 72 76 65 0a 74 68 65 20 54 69 74 6c 65 20 6f 66 20 74 68 65 20 73 65 63 74 69 6f 6e 2c eserve.the.Title.of.the.section,
81540 20 61 6e 64 20 70 72 65 73 65 72 76 65 20 69 6e 20 74 68 65 20 73 65 63 74 69 6f 6e 20 61 6c 6c .and.preserve.in.the.section.all
81560 20 74 68 65 0a 73 75 62 73 74 61 6e 63 65 20 61 6e 64 20 74 6f 6e 65 20 6f 66 20 65 61 63 68 20 .the.substance.and.tone.of.each.
81580 6f 66 20 74 68 65 20 63 6f 6e 74 72 69 62 75 74 6f 72 20 61 63 6b 6e 6f 77 6c 65 64 67 65 6d 65 of.the.contributor.acknowledgeme
815a0 6e 74 73 20 61 6e 64 2f 6f 72 0a 64 65 64 69 63 61 74 69 6f 6e 73 20 67 69 76 65 6e 20 74 68 65 nts.and/or.dedications.given.the
815c0 72 65 69 6e 2e 0a 0a 40 69 74 65 6d 0a 50 72 65 73 65 72 76 65 20 61 6c 6c 20 74 68 65 20 49 6e rein...@item.Preserve.all.the.In
815e0 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 variant.Sections.of.the.Document
81600 2c 0a 75 6e 61 6c 74 65 72 65 64 20 69 6e 20 74 68 65 69 72 20 74 65 78 74 20 61 6e 64 20 69 6e ,.unaltered.in.their.text.and.in
81620 20 74 68 65 69 72 20 74 69 74 6c 65 73 2e 20 20 53 65 63 74 69 6f 6e 20 6e 75 6d 62 65 72 73 0a .their.titles...Section.numbers.
81640 6f 72 20 74 68 65 20 65 71 75 69 76 61 6c 65 6e 74 20 61 72 65 20 6e 6f 74 20 63 6f 6e 73 69 64 or.the.equivalent.are.not.consid
81660 65 72 65 64 20 70 61 72 74 20 6f 66 20 74 68 65 20 73 65 63 74 69 6f 6e 20 74 69 74 6c 65 73 2e ered.part.of.the.section.titles.
81680 0a 0a 40 69 74 65 6d 0a 44 65 6c 65 74 65 20 61 6e 79 20 73 65 63 74 69 6f 6e 20 45 6e 74 69 74 ..@item.Delete.any.section.Entit
816a0 6c 65 64 20 60 60 45 6e 64 6f 72 73 65 6d 65 6e 74 73 27 27 2e 20 20 53 75 63 68 20 61 20 73 65 led.``Endorsements''...Such.a.se
816c0 63 74 69 6f 6e 0a 6d 61 79 20 6e 6f 74 20 62 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 68 65 ction.may.not.be.included.in.the
816e0 20 4d 6f 64 69 66 69 65 64 20 56 65 72 73 69 6f 6e 2e 0a 0a 40 69 74 65 6d 0a 44 6f 20 6e 6f 74 .Modified.Version...@item.Do.not
81700 20 72 65 74 69 74 6c 65 20 61 6e 79 20 65 78 69 73 74 69 6e 67 20 73 65 63 74 69 6f 6e 20 74 6f .retitle.any.existing.section.to
81720 20 62 65 20 45 6e 74 69 74 6c 65 64 20 60 60 45 6e 64 6f 72 73 65 6d 65 6e 74 73 27 27 20 6f 72 .be.Entitled.``Endorsements''.or
81740 0a 74 6f 20 63 6f 6e 66 6c 69 63 74 20 69 6e 20 74 69 74 6c 65 20 77 69 74 68 20 61 6e 79 20 49 .to.conflict.in.title.with.any.I
81760 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 2e 0a 0a 40 69 74 65 6d 0a 50 72 65 73 65 72 76 nvariant.Section...@item.Preserv
81780 65 20 61 6e 79 20 57 61 72 72 61 6e 74 79 20 44 69 73 63 6c 61 69 6d 65 72 73 2e 0a 40 65 6e 64 e.any.Warranty.Disclaimers..@end
817a0 20 65 6e 75 6d 65 72 61 74 65 0a 0a 49 66 20 74 68 65 20 4d 6f 64 69 66 69 65 64 20 56 65 72 73 .enumerate..If.the.Modified.Vers
817c0 69 6f 6e 20 69 6e 63 6c 75 64 65 73 20 6e 65 77 20 66 72 6f 6e 74 2d 6d 61 74 74 65 72 20 73 65 ion.includes.new.front-matter.se
817e0 63 74 69 6f 6e 73 20 6f 72 0a 61 70 70 65 6e 64 69 63 65 73 20 74 68 61 74 20 71 75 61 6c 69 66 ctions.or.appendices.that.qualif
81800 79 20 61 73 20 53 65 63 6f 6e 64 61 72 79 20 53 65 63 74 69 6f 6e 73 20 61 6e 64 20 63 6f 6e 74 y.as.Secondary.Sections.and.cont
81820 61 69 6e 20 6e 6f 20 6d 61 74 65 72 69 61 6c 0a 63 6f 70 69 65 64 20 66 72 6f 6d 20 74 68 65 20 ain.no.material.copied.from.the.
81840 44 6f 63 75 6d 65 6e 74 2c 20 79 6f 75 20 6d 61 79 20 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e Document,.you.may.at.your.option
81860 20 64 65 73 69 67 6e 61 74 65 20 73 6f 6d 65 20 6f 72 20 61 6c 6c 0a 6f 66 20 74 68 65 73 65 20 .designate.some.or.all.of.these.
81880 73 65 63 74 69 6f 6e 73 20 61 73 20 69 6e 76 61 72 69 61 6e 74 2e 20 20 54 6f 20 64 6f 20 74 68 sections.as.invariant...To.do.th
818a0 69 73 2c 20 61 64 64 20 74 68 65 69 72 20 74 69 74 6c 65 73 20 74 6f 20 74 68 65 0a 6c 69 73 74 is,.add.their.titles.to.the.list
818c0 20 6f 66 20 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 20 69 6e 20 74 68 65 20 4d 6f .of.Invariant.Sections.in.the.Mo
818e0 64 69 66 69 65 64 20 56 65 72 73 69 6f 6e 27 73 20 6c 69 63 65 6e 73 65 20 6e 6f 74 69 63 65 2e dified.Version's.license.notice.
81900 0a 54 68 65 73 65 20 74 69 74 6c 65 73 20 6d 75 73 74 20 62 65 20 64 69 73 74 69 6e 63 74 20 66 .These.titles.must.be.distinct.f
81920 72 6f 6d 20 61 6e 79 20 6f 74 68 65 72 20 73 65 63 74 69 6f 6e 20 74 69 74 6c 65 73 2e 0a 0a 59 rom.any.other.section.titles...Y
81940 6f 75 20 6d 61 79 20 61 64 64 20 61 20 73 65 63 74 69 6f 6e 20 45 6e 74 69 74 6c 65 64 20 60 60 ou.may.add.a.section.Entitled.``
81960 45 6e 64 6f 72 73 65 6d 65 6e 74 73 27 27 2c 20 70 72 6f 76 69 64 65 64 20 69 74 20 63 6f 6e 74 Endorsements'',.provided.it.cont
81980 61 69 6e 73 0a 6e 6f 74 68 69 6e 67 20 62 75 74 20 65 6e 64 6f 72 73 65 6d 65 6e 74 73 20 6f 66 ains.nothing.but.endorsements.of
819a0 20 79 6f 75 72 20 4d 6f 64 69 66 69 65 64 20 56 65 72 73 69 6f 6e 20 62 79 20 76 61 72 69 6f 75 .your.Modified.Version.by.variou
819c0 73 0a 70 61 72 74 69 65 73 2d 2d 2d 66 6f 72 20 65 78 61 6d 70 6c 65 2c 20 73 74 61 74 65 6d 65 s.parties---for.example,.stateme
819e0 6e 74 73 20 6f 66 20 70 65 65 72 20 72 65 76 69 65 77 20 6f 72 20 74 68 61 74 20 74 68 65 20 74 nts.of.peer.review.or.that.the.t
81a00 65 78 74 20 68 61 73 0a 62 65 65 6e 20 61 70 70 72 6f 76 65 64 20 62 79 20 61 6e 20 6f 72 67 61 ext.has.been.approved.by.an.orga
81a20 6e 69 7a 61 74 69 6f 6e 20 61 73 20 74 68 65 20 61 75 74 68 6f 72 69 74 61 74 69 76 65 20 64 65 nization.as.the.authoritative.de
81a40 66 69 6e 69 74 69 6f 6e 20 6f 66 20 61 0a 73 74 61 6e 64 61 72 64 2e 0a 0a 59 6f 75 20 6d 61 79 finition.of.a.standard...You.may
81a60 20 61 64 64 20 61 20 70 61 73 73 61 67 65 20 6f 66 20 75 70 20 74 6f 20 66 69 76 65 20 77 6f 72 .add.a.passage.of.up.to.five.wor
81a80 64 73 20 61 73 20 61 20 46 72 6f 6e 74 2d 43 6f 76 65 72 20 54 65 78 74 2c 20 61 6e 64 20 61 0a ds.as.a.Front-Cover.Text,.and.a.
81aa0 70 61 73 73 61 67 65 20 6f 66 20 75 70 20 74 6f 20 32 35 20 77 6f 72 64 73 20 61 73 20 61 20 42 passage.of.up.to.25.words.as.a.B
81ac0 61 63 6b 2d 43 6f 76 65 72 20 54 65 78 74 2c 20 74 6f 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 ack-Cover.Text,.to.the.end.of.th
81ae0 65 20 6c 69 73 74 0a 6f 66 20 43 6f 76 65 72 20 54 65 78 74 73 20 69 6e 20 74 68 65 20 4d 6f 64 e.list.of.Cover.Texts.in.the.Mod
81b00 69 66 69 65 64 20 56 65 72 73 69 6f 6e 2e 20 20 4f 6e 6c 79 20 6f 6e 65 20 70 61 73 73 61 67 65 ified.Version...Only.one.passage
81b20 20 6f 66 0a 46 72 6f 6e 74 2d 43 6f 76 65 72 20 54 65 78 74 20 61 6e 64 20 6f 6e 65 20 6f 66 20 .of.Front-Cover.Text.and.one.of.
81b40 42 61 63 6b 2d 43 6f 76 65 72 20 54 65 78 74 20 6d 61 79 20 62 65 20 61 64 64 65 64 20 62 79 20 Back-Cover.Text.may.be.added.by.
81b60 28 6f 72 0a 74 68 72 6f 75 67 68 20 61 72 72 61 6e 67 65 6d 65 6e 74 73 20 6d 61 64 65 20 62 79 (or.through.arrangements.made.by
81b80 29 20 61 6e 79 20 6f 6e 65 20 65 6e 74 69 74 79 2e 20 20 49 66 20 74 68 65 20 44 6f 63 75 6d 65 ).any.one.entity...If.the.Docume
81ba0 6e 74 20 61 6c 72 65 61 64 79 0a 69 6e 63 6c 75 64 65 73 20 61 20 63 6f 76 65 72 20 74 65 78 74 nt.already.includes.a.cover.text
81bc0 20 66 6f 72 20 74 68 65 20 73 61 6d 65 20 63 6f 76 65 72 2c 20 70 72 65 76 69 6f 75 73 6c 79 20 .for.the.same.cover,.previously.
81be0 61 64 64 65 64 20 62 79 20 79 6f 75 20 6f 72 0a 62 79 20 61 72 72 61 6e 67 65 6d 65 6e 74 20 6d added.by.you.or.by.arrangement.m
81c00 61 64 65 20 62 79 20 74 68 65 20 73 61 6d 65 20 65 6e 74 69 74 79 20 79 6f 75 20 61 72 65 20 61 ade.by.the.same.entity.you.are.a
81c20 63 74 69 6e 67 20 6f 6e 20 62 65 68 61 6c 66 20 6f 66 2c 0a 79 6f 75 20 6d 61 79 20 6e 6f 74 20 cting.on.behalf.of,.you.may.not.
81c40 61 64 64 20 61 6e 6f 74 68 65 72 3b 20 62 75 74 20 79 6f 75 20 6d 61 79 20 72 65 70 6c 61 63 65 add.another;.but.you.may.replace
81c60 20 74 68 65 20 6f 6c 64 20 6f 6e 65 2c 20 6f 6e 20 65 78 70 6c 69 63 69 74 0a 70 65 72 6d 69 73 .the.old.one,.on.explicit.permis
81c80 73 69 6f 6e 20 66 72 6f 6d 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 70 75 62 6c 69 73 68 65 72 sion.from.the.previous.publisher
81ca0 20 74 68 61 74 20 61 64 64 65 64 20 74 68 65 20 6f 6c 64 20 6f 6e 65 2e 0a 0a 54 68 65 20 61 75 .that.added.the.old.one...The.au
81cc0 74 68 6f 72 28 73 29 20 61 6e 64 20 70 75 62 6c 69 73 68 65 72 28 73 29 20 6f 66 20 74 68 65 20 thor(s).and.publisher(s).of.the.
81ce0 44 6f 63 75 6d 65 6e 74 20 64 6f 20 6e 6f 74 20 62 79 20 74 68 69 73 20 4c 69 63 65 6e 73 65 0a Document.do.not.by.this.License.
81d00 67 69 76 65 20 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 75 73 65 20 74 68 65 69 72 20 6e 61 6d give.permission.to.use.their.nam
81d20 65 73 20 66 6f 72 20 70 75 62 6c 69 63 69 74 79 20 66 6f 72 20 6f 72 20 74 6f 20 61 73 73 65 72 es.for.publicity.for.or.to.asser
81d40 74 20 6f 72 0a 69 6d 70 6c 79 20 65 6e 64 6f 72 73 65 6d 65 6e 74 20 6f 66 20 61 6e 79 20 4d 6f t.or.imply.endorsement.of.any.Mo
81d60 64 69 66 69 65 64 20 56 65 72 73 69 6f 6e 2e 0a 0a 40 69 74 65 6d 0a 43 4f 4d 42 49 4e 49 4e 47 dified.Version...@item.COMBINING
81d80 20 44 4f 43 55 4d 45 4e 54 53 0a 0a 59 6f 75 20 6d 61 79 20 63 6f 6d 62 69 6e 65 20 74 68 65 20 .DOCUMENTS..You.may.combine.the.
81da0 44 6f 63 75 6d 65 6e 74 20 77 69 74 68 20 6f 74 68 65 72 20 64 6f 63 75 6d 65 6e 74 73 20 72 65 Document.with.other.documents.re
81dc0 6c 65 61 73 65 64 20 75 6e 64 65 72 20 74 68 69 73 0a 4c 69 63 65 6e 73 65 2c 20 75 6e 64 65 72 leased.under.this.License,.under
81de0 20 74 68 65 20 74 65 72 6d 73 20 64 65 66 69 6e 65 64 20 69 6e 20 73 65 63 74 69 6f 6e 20 34 20 .the.terms.defined.in.section.4.
81e00 61 62 6f 76 65 20 66 6f 72 20 6d 6f 64 69 66 69 65 64 0a 76 65 72 73 69 6f 6e 73 2c 20 70 72 6f above.for.modified.versions,.pro
81e20 76 69 64 65 64 20 74 68 61 74 20 79 6f 75 20 69 6e 63 6c 75 64 65 20 69 6e 20 74 68 65 20 63 6f vided.that.you.include.in.the.co
81e40 6d 62 69 6e 61 74 69 6f 6e 20 61 6c 6c 20 6f 66 20 74 68 65 0a 49 6e 76 61 72 69 61 6e 74 20 53 mbination.all.of.the.Invariant.S
81e60 65 63 74 69 6f 6e 73 20 6f 66 20 61 6c 6c 20 6f 66 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 64 ections.of.all.of.the.original.d
81e80 6f 63 75 6d 65 6e 74 73 2c 20 75 6e 6d 6f 64 69 66 69 65 64 2c 20 61 6e 64 0a 6c 69 73 74 20 74 ocuments,.unmodified,.and.list.t
81ea0 68 65 6d 20 61 6c 6c 20 61 73 20 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 20 6f 66 hem.all.as.Invariant.Sections.of
81ec0 20 79 6f 75 72 20 63 6f 6d 62 69 6e 65 64 20 77 6f 72 6b 20 69 6e 20 69 74 73 0a 6c 69 63 65 6e .your.combined.work.in.its.licen
81ee0 73 65 20 6e 6f 74 69 63 65 2c 20 61 6e 64 20 74 68 61 74 20 79 6f 75 20 70 72 65 73 65 72 76 65 se.notice,.and.that.you.preserve
81f00 20 61 6c 6c 20 74 68 65 69 72 20 57 61 72 72 61 6e 74 79 20 44 69 73 63 6c 61 69 6d 65 72 73 2e .all.their.Warranty.Disclaimers.
81f20 0a 0a 54 68 65 20 63 6f 6d 62 69 6e 65 64 20 77 6f 72 6b 20 6e 65 65 64 20 6f 6e 6c 79 20 63 6f ..The.combined.work.need.only.co
81f40 6e 74 61 69 6e 20 6f 6e 65 20 63 6f 70 79 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 ntain.one.copy.of.this.License,.
81f60 61 6e 64 0a 6d 75 6c 74 69 70 6c 65 20 69 64 65 6e 74 69 63 61 6c 20 49 6e 76 61 72 69 61 6e 74 and.multiple.identical.Invariant
81f80 20 53 65 63 74 69 6f 6e 73 20 6d 61 79 20 62 65 20 72 65 70 6c 61 63 65 64 20 77 69 74 68 20 61 .Sections.may.be.replaced.with.a
81fa0 20 73 69 6e 67 6c 65 0a 63 6f 70 79 2e 20 20 49 66 20 74 68 65 72 65 20 61 72 65 20 6d 75 6c 74 .single.copy...If.there.are.mult
81fc0 69 70 6c 65 20 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 20 77 69 74 68 20 74 68 65 iple.Invariant.Sections.with.the
81fe0 20 73 61 6d 65 20 6e 61 6d 65 20 62 75 74 0a 64 69 66 66 65 72 65 6e 74 20 63 6f 6e 74 65 6e 74 .same.name.but.different.content
82000 73 2c 20 6d 61 6b 65 20 74 68 65 20 74 69 74 6c 65 20 6f 66 20 65 61 63 68 20 73 75 63 68 20 73 s,.make.the.title.of.each.such.s
82020 65 63 74 69 6f 6e 20 75 6e 69 71 75 65 20 62 79 0a 61 64 64 69 6e 67 20 61 74 20 74 68 65 20 65 ection.unique.by.adding.at.the.e
82040 6e 64 20 6f 66 20 69 74 2c 20 69 6e 20 70 61 72 65 6e 74 68 65 73 65 73 2c 20 74 68 65 20 6e 61 nd.of.it,.in.parentheses,.the.na
82060 6d 65 20 6f 66 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 0a 61 75 74 68 6f 72 20 6f 72 20 70 75 62 me.of.the.original.author.or.pub
82080 6c 69 73 68 65 72 20 6f 66 20 74 68 61 74 20 73 65 63 74 69 6f 6e 20 69 66 20 6b 6e 6f 77 6e 2c lisher.of.that.section.if.known,
820a0 20 6f 72 20 65 6c 73 65 20 61 20 75 6e 69 71 75 65 20 6e 75 6d 62 65 72 2e 0a 4d 61 6b 65 20 74 .or.else.a.unique.number..Make.t
820c0 68 65 20 73 61 6d 65 20 61 64 6a 75 73 74 6d 65 6e 74 20 74 6f 20 74 68 65 20 73 65 63 74 69 6f he.same.adjustment.to.the.sectio
820e0 6e 20 74 69 74 6c 65 73 20 69 6e 20 74 68 65 20 6c 69 73 74 20 6f 66 0a 49 6e 76 61 72 69 61 6e n.titles.in.the.list.of.Invarian
82100 74 20 53 65 63 74 69 6f 6e 73 20 69 6e 20 74 68 65 20 6c 69 63 65 6e 73 65 20 6e 6f 74 69 63 65 t.Sections.in.the.license.notice
82120 20 6f 66 20 74 68 65 20 63 6f 6d 62 69 6e 65 64 20 77 6f 72 6b 2e 0a 0a 49 6e 20 74 68 65 20 63 .of.the.combined.work...In.the.c
82140 6f 6d 62 69 6e 61 74 69 6f 6e 2c 20 79 6f 75 20 6d 75 73 74 20 63 6f 6d 62 69 6e 65 20 61 6e 79 ombination,.you.must.combine.any
82160 20 73 65 63 74 69 6f 6e 73 20 45 6e 74 69 74 6c 65 64 20 60 60 48 69 73 74 6f 72 79 27 27 0a 69 .sections.Entitled.``History''.i
82180 6e 20 74 68 65 20 76 61 72 69 6f 75 73 20 6f 72 69 67 69 6e 61 6c 20 64 6f 63 75 6d 65 6e 74 73 n.the.various.original.documents
821a0 2c 20 66 6f 72 6d 69 6e 67 20 6f 6e 65 20 73 65 63 74 69 6f 6e 20 45 6e 74 69 74 6c 65 64 0a 60 ,.forming.one.section.Entitled.`
821c0 60 48 69 73 74 6f 72 79 27 27 3b 20 6c 69 6b 65 77 69 73 65 20 63 6f 6d 62 69 6e 65 20 61 6e 79 `History'';.likewise.combine.any
821e0 20 73 65 63 74 69 6f 6e 73 20 45 6e 74 69 74 6c 65 64 20 60 60 41 63 6b 6e 6f 77 6c 65 64 67 65 .sections.Entitled.``Acknowledge
82200 6d 65 6e 74 73 27 27 2c 0a 61 6e 64 20 61 6e 79 20 73 65 63 74 69 6f 6e 73 20 45 6e 74 69 74 6c ments'',.and.any.sections.Entitl
82220 65 64 20 60 60 44 65 64 69 63 61 74 69 6f 6e 73 27 27 2e 20 20 59 6f 75 20 6d 75 73 74 20 64 65 ed.``Dedications''...You.must.de
82240 6c 65 74 65 20 61 6c 6c 0a 73 65 63 74 69 6f 6e 73 20 45 6e 74 69 74 6c 65 64 20 60 60 45 6e 64 lete.all.sections.Entitled.``End
82260 6f 72 73 65 6d 65 6e 74 73 2e 27 27 0a 0a 40 69 74 65 6d 0a 43 4f 4c 4c 45 43 54 49 4f 4e 53 20 orsements.''..@item.COLLECTIONS.
82280 4f 46 20 44 4f 43 55 4d 45 4e 54 53 0a 0a 59 6f 75 20 6d 61 79 20 6d 61 6b 65 20 61 20 63 6f 6c OF.DOCUMENTS..You.may.make.a.col
822a0 6c 65 63 74 69 6f 6e 20 63 6f 6e 73 69 73 74 69 6e 67 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 lection.consisting.of.the.Docume
822c0 6e 74 20 61 6e 64 20 6f 74 68 65 72 20 64 6f 63 75 6d 65 6e 74 73 0a 72 65 6c 65 61 73 65 64 20 nt.and.other.documents.released.
822e0 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 61 6e 64 20 72 65 70 6c 61 63 65 20 under.this.License,.and.replace.
82300 74 68 65 20 69 6e 64 69 76 69 64 75 61 6c 20 63 6f 70 69 65 73 20 6f 66 20 74 68 69 73 0a 4c 69 the.individual.copies.of.this.Li
82320 63 65 6e 73 65 20 69 6e 20 74 68 65 20 76 61 72 69 6f 75 73 20 64 6f 63 75 6d 65 6e 74 73 20 77 cense.in.the.various.documents.w
82340 69 74 68 20 61 20 73 69 6e 67 6c 65 20 63 6f 70 79 20 74 68 61 74 20 69 73 20 69 6e 63 6c 75 64 ith.a.single.copy.that.is.includ
82360 65 64 20 69 6e 0a 74 68 65 20 63 6f 6c 6c 65 63 74 69 6f 6e 2c 20 70 72 6f 76 69 64 65 64 20 74 ed.in.the.collection,.provided.t
82380 68 61 74 20 79 6f 75 20 66 6f 6c 6c 6f 77 20 74 68 65 20 72 75 6c 65 73 20 6f 66 20 74 68 69 73 hat.you.follow.the.rules.of.this
823a0 20 4c 69 63 65 6e 73 65 20 66 6f 72 0a 76 65 72 62 61 74 69 6d 20 63 6f 70 79 69 6e 67 20 6f 66 .License.for.verbatim.copying.of
823c0 20 65 61 63 68 20 6f 66 20 74 68 65 20 64 6f 63 75 6d 65 6e 74 73 20 69 6e 20 61 6c 6c 20 6f 74 .each.of.the.documents.in.all.ot
823e0 68 65 72 20 72 65 73 70 65 63 74 73 2e 0a 0a 59 6f 75 20 6d 61 79 20 65 78 74 72 61 63 74 20 61 her.respects...You.may.extract.a
82400 20 73 69 6e 67 6c 65 20 64 6f 63 75 6d 65 6e 74 20 66 72 6f 6d 20 73 75 63 68 20 61 20 63 6f 6c .single.document.from.such.a.col
82420 6c 65 63 74 69 6f 6e 2c 20 61 6e 64 20 64 69 73 74 72 69 62 75 74 65 0a 69 74 20 69 6e 64 69 76 lection,.and.distribute.it.indiv
82440 69 64 75 61 6c 6c 79 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 70 72 6f 76 idually.under.this.License,.prov
82460 69 64 65 64 20 79 6f 75 20 69 6e 73 65 72 74 20 61 20 63 6f 70 79 20 6f 66 20 74 68 69 73 0a 4c ided.you.insert.a.copy.of.this.L
82480 69 63 65 6e 73 65 20 69 6e 74 6f 20 74 68 65 20 65 78 74 72 61 63 74 65 64 20 64 6f 63 75 6d 65 icense.into.the.extracted.docume
824a0 6e 74 2c 20 61 6e 64 20 66 6f 6c 6c 6f 77 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 69 6e 20 61 nt,.and.follow.this.License.in.a
824c0 6c 6c 0a 6f 74 68 65 72 20 72 65 73 70 65 63 74 73 20 72 65 67 61 72 64 69 6e 67 20 76 65 72 62 ll.other.respects.regarding.verb
824e0 61 74 69 6d 20 63 6f 70 79 69 6e 67 20 6f 66 20 74 68 61 74 20 64 6f 63 75 6d 65 6e 74 2e 0a 0a atim.copying.of.that.document...
82500 40 69 74 65 6d 0a 41 47 47 52 45 47 41 54 49 4f 4e 20 57 49 54 48 20 49 4e 44 45 50 45 4e 44 45 @item.AGGREGATION.WITH.INDEPENDE
82520 4e 54 20 57 4f 52 4b 53 0a 0a 41 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 44 NT.WORKS..A.compilation.of.the.D
82540 6f 63 75 6d 65 6e 74 20 6f 72 20 69 74 73 20 64 65 72 69 76 61 74 69 76 65 73 20 77 69 74 68 20 ocument.or.its.derivatives.with.
82560 6f 74 68 65 72 20 73 65 70 61 72 61 74 65 0a 61 6e 64 20 69 6e 64 65 70 65 6e 64 65 6e 74 20 64 other.separate.and.independent.d
82580 6f 63 75 6d 65 6e 74 73 20 6f 72 20 77 6f 72 6b 73 2c 20 69 6e 20 6f 72 20 6f 6e 20 61 20 76 6f ocuments.or.works,.in.or.on.a.vo
825a0 6c 75 6d 65 20 6f 66 20 61 20 73 74 6f 72 61 67 65 20 6f 72 0a 64 69 73 74 72 69 62 75 74 69 6f lume.of.a.storage.or.distributio
825c0 6e 20 6d 65 64 69 75 6d 2c 20 69 73 20 63 61 6c 6c 65 64 20 61 6e 20 60 60 61 67 67 72 65 67 61 n.medium,.is.called.an.``aggrega
825e0 74 65 27 27 20 69 66 20 74 68 65 20 63 6f 70 79 72 69 67 68 74 0a 72 65 73 75 6c 74 69 6e 67 20 te''.if.the.copyright.resulting.
82600 66 72 6f 6d 20 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 69 73 20 6e 6f 74 20 75 73 65 64 from.the.compilation.is.not.used
82620 20 74 6f 20 6c 69 6d 69 74 20 74 68 65 20 6c 65 67 61 6c 20 72 69 67 68 74 73 0a 6f 66 20 74 68 .to.limit.the.legal.rights.of.th
82640 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 27 73 20 75 73 65 72 73 20 62 65 79 6f 6e 64 20 77 68 61 e.compilation's.users.beyond.wha
82660 74 20 74 68 65 20 69 6e 64 69 76 69 64 75 61 6c 20 77 6f 72 6b 73 20 70 65 72 6d 69 74 2e 0a 57 t.the.individual.works.permit..W
82680 68 65 6e 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 69 73 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 hen.the.Document.is.included.in.
826a0 61 6e 20 61 67 67 72 65 67 61 74 65 2c 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 64 6f 65 73 20 an.aggregate,.this.License.does.
826c0 6e 6f 74 0a 61 70 70 6c 79 20 74 6f 20 74 68 65 20 6f 74 68 65 72 20 77 6f 72 6b 73 20 69 6e 20 not.apply.to.the.other.works.in.
826e0 74 68 65 20 61 67 67 72 65 67 61 74 65 20 77 68 69 63 68 20 61 72 65 20 6e 6f 74 20 74 68 65 6d the.aggregate.which.are.not.them
82700 73 65 6c 76 65 73 0a 64 65 72 69 76 61 74 69 76 65 20 77 6f 72 6b 73 20 6f 66 20 74 68 65 20 44 selves.derivative.works.of.the.D
82720 6f 63 75 6d 65 6e 74 2e 0a 0a 49 66 20 74 68 65 20 43 6f 76 65 72 20 54 65 78 74 20 72 65 71 75 ocument...If.the.Cover.Text.requ
82740 69 72 65 6d 65 6e 74 20 6f 66 20 73 65 63 74 69 6f 6e 20 33 20 69 73 20 61 70 70 6c 69 63 61 62 irement.of.section.3.is.applicab
82760 6c 65 20 74 6f 20 74 68 65 73 65 0a 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 le.to.these.copies.of.the.Docume
82780 6e 74 2c 20 74 68 65 6e 20 69 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 69 73 20 6c 65 73 73 nt,.then.if.the.Document.is.less
827a0 20 74 68 61 6e 20 6f 6e 65 20 68 61 6c 66 20 6f 66 0a 74 68 65 20 65 6e 74 69 72 65 20 61 67 67 .than.one.half.of.the.entire.agg
827c0 72 65 67 61 74 65 2c 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 27 73 20 43 6f 76 65 72 20 54 65 78 regate,.the.Document's.Cover.Tex
827e0 74 73 20 6d 61 79 20 62 65 20 70 6c 61 63 65 64 20 6f 6e 0a 63 6f 76 65 72 73 20 74 68 61 74 20 ts.may.be.placed.on.covers.that.
82800 62 72 61 63 6b 65 74 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 77 69 74 68 69 6e 20 74 68 65 20 bracket.the.Document.within.the.
82820 61 67 67 72 65 67 61 74 65 2c 20 6f 72 20 74 68 65 0a 65 6c 65 63 74 72 6f 6e 69 63 20 65 71 75 aggregate,.or.the.electronic.equ
82840 69 76 61 6c 65 6e 74 20 6f 66 20 63 6f 76 65 72 73 20 69 66 20 74 68 65 20 44 6f 63 75 6d 65 6e ivalent.of.covers.if.the.Documen
82860 74 20 69 73 20 69 6e 20 65 6c 65 63 74 72 6f 6e 69 63 20 66 6f 72 6d 2e 0a 4f 74 68 65 72 77 69 t.is.in.electronic.form..Otherwi
82880 73 65 20 74 68 65 79 20 6d 75 73 74 20 61 70 70 65 61 72 20 6f 6e 20 70 72 69 6e 74 65 64 20 63 se.they.must.appear.on.printed.c
828a0 6f 76 65 72 73 20 74 68 61 74 20 62 72 61 63 6b 65 74 20 74 68 65 20 77 68 6f 6c 65 0a 61 67 67 overs.that.bracket.the.whole.agg
828c0 72 65 67 61 74 65 2e 0a 0a 40 69 74 65 6d 0a 54 52 41 4e 53 4c 41 54 49 4f 4e 0a 0a 54 72 61 6e regate...@item.TRANSLATION..Tran
828e0 73 6c 61 74 69 6f 6e 20 69 73 20 63 6f 6e 73 69 64 65 72 65 64 20 61 20 6b 69 6e 64 20 6f 66 20 slation.is.considered.a.kind.of.
82900 6d 6f 64 69 66 69 63 61 74 69 6f 6e 2c 20 73 6f 20 79 6f 75 20 6d 61 79 0a 64 69 73 74 72 69 62 modification,.so.you.may.distrib
82920 75 74 65 20 74 72 61 6e 73 6c 61 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 ute.translations.of.the.Document
82940 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 73 65 63 74 69 6f 6e 20 34 2e 0a 52 .under.the.terms.of.section.4..R
82960 65 70 6c 61 63 69 6e 67 20 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 20 77 69 74 68 eplacing.Invariant.Sections.with
82980 20 74 72 61 6e 73 6c 61 74 69 6f 6e 73 20 72 65 71 75 69 72 65 73 20 73 70 65 63 69 61 6c 0a 70 .translations.requires.special.p
829a0 65 72 6d 69 73 73 69 6f 6e 20 66 72 6f 6d 20 74 68 65 69 72 20 63 6f 70 79 72 69 67 68 74 20 68 ermission.from.their.copyright.h
829c0 6f 6c 64 65 72 73 2c 20 62 75 74 20 79 6f 75 20 6d 61 79 20 69 6e 63 6c 75 64 65 0a 74 72 61 6e olders,.but.you.may.include.tran
829e0 73 6c 61 74 69 6f 6e 73 20 6f 66 20 73 6f 6d 65 20 6f 72 20 61 6c 6c 20 49 6e 76 61 72 69 61 6e slations.of.some.or.all.Invarian
82a00 74 20 53 65 63 74 69 6f 6e 73 20 69 6e 20 61 64 64 69 74 69 6f 6e 20 74 6f 20 74 68 65 0a 6f 72 t.Sections.in.addition.to.the.or
82a20 69 67 69 6e 61 6c 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 74 68 65 73 65 20 49 6e 76 61 72 69 61 iginal.versions.of.these.Invaria
82a40 6e 74 20 53 65 63 74 69 6f 6e 73 2e 20 20 59 6f 75 20 6d 61 79 20 69 6e 63 6c 75 64 65 20 61 0a nt.Sections...You.may.include.a.
82a60 74 72 61 6e 73 6c 61 74 69 6f 6e 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 61 6e 64 translation.of.this.License,.and
82a80 20 61 6c 6c 20 74 68 65 20 6c 69 63 65 6e 73 65 20 6e 6f 74 69 63 65 73 20 69 6e 20 74 68 65 0a .all.the.license.notices.in.the.
82aa0 44 6f 63 75 6d 65 6e 74 2c 20 61 6e 64 20 61 6e 79 20 57 61 72 72 61 6e 74 79 20 44 69 73 63 6c Document,.and.any.Warranty.Discl
82ac0 61 69 6d 65 72 73 2c 20 70 72 6f 76 69 64 65 64 20 74 68 61 74 20 79 6f 75 20 61 6c 73 6f 20 69 aimers,.provided.that.you.also.i
82ae0 6e 63 6c 75 64 65 0a 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 45 6e 67 6c 69 73 68 20 76 65 72 73 nclude.the.original.English.vers
82b00 69 6f 6e 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 61 6e 64 20 74 68 65 20 6f 72 69 67 ion.of.this.License.and.the.orig
82b20 69 6e 61 6c 20 76 65 72 73 69 6f 6e 73 0a 6f 66 20 74 68 6f 73 65 20 6e 6f 74 69 63 65 73 20 61 inal.versions.of.those.notices.a
82b40 6e 64 20 64 69 73 63 6c 61 69 6d 65 72 73 2e 20 20 49 6e 20 63 61 73 65 20 6f 66 20 61 20 64 69 nd.disclaimers...In.case.of.a.di
82b60 73 61 67 72 65 65 6d 65 6e 74 20 62 65 74 77 65 65 6e 0a 74 68 65 20 74 72 61 6e 73 6c 61 74 69 sagreement.between.the.translati
82b80 6f 6e 20 61 6e 64 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 76 65 72 73 69 6f 6e 20 6f 66 20 74 on.and.the.original.version.of.t
82ba0 68 69 73 20 4c 69 63 65 6e 73 65 20 6f 72 20 61 20 6e 6f 74 69 63 65 0a 6f 72 20 64 69 73 63 6c his.License.or.a.notice.or.discl
82bc0 61 69 6d 65 72 2c 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 76 65 72 73 69 6f 6e 20 77 69 6c 6c aimer,.the.original.version.will
82be0 20 70 72 65 76 61 69 6c 2e 0a 0a 49 66 20 61 20 73 65 63 74 69 6f 6e 20 69 6e 20 74 68 65 20 44 .prevail...If.a.section.in.the.D
82c00 6f 63 75 6d 65 6e 74 20 69 73 20 45 6e 74 69 74 6c 65 64 20 60 60 41 63 6b 6e 6f 77 6c 65 64 67 ocument.is.Entitled.``Acknowledg
82c20 65 6d 65 6e 74 73 27 27 2c 0a 60 60 44 65 64 69 63 61 74 69 6f 6e 73 27 27 2c 20 6f 72 20 60 60 ements'',.``Dedications'',.or.``
82c40 48 69 73 74 6f 72 79 27 27 2c 20 74 68 65 20 72 65 71 75 69 72 65 6d 65 6e 74 20 28 73 65 63 74 History'',.the.requirement.(sect
82c60 69 6f 6e 20 34 29 20 74 6f 20 50 72 65 73 65 72 76 65 0a 69 74 73 20 54 69 74 6c 65 20 28 73 65 ion.4).to.Preserve.its.Title.(se
82c80 63 74 69 6f 6e 20 31 29 20 77 69 6c 6c 20 74 79 70 69 63 61 6c 6c 79 20 72 65 71 75 69 72 65 20 ction.1).will.typically.require.
82ca0 63 68 61 6e 67 69 6e 67 20 74 68 65 20 61 63 74 75 61 6c 0a 74 69 74 6c 65 2e 0a 0a 40 69 74 65 changing.the.actual.title...@ite
82cc0 6d 0a 54 45 52 4d 49 4e 41 54 49 4f 4e 0a 0a 59 6f 75 20 6d 61 79 20 6e 6f 74 20 63 6f 70 79 2c m.TERMINATION..You.may.not.copy,
82ce0 20 6d 6f 64 69 66 79 2c 20 73 75 62 6c 69 63 65 6e 73 65 2c 20 6f 72 20 64 69 73 74 72 69 62 75 .modify,.sublicense,.or.distribu
82d00 74 65 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 0a 65 78 63 65 70 74 20 61 73 20 65 78 70 72 65 73 te.the.Document.except.as.expres
82d20 73 6c 79 20 70 72 6f 76 69 64 65 64 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e sly.provided.under.this.License.
82d40 20 20 41 6e 79 20 61 74 74 65 6d 70 74 0a 6f 74 68 65 72 77 69 73 65 20 74 6f 20 63 6f 70 79 2c ..Any.attempt.otherwise.to.copy,
82d60 20 6d 6f 64 69 66 79 2c 20 73 75 62 6c 69 63 65 6e 73 65 2c 20 6f 72 20 64 69 73 74 72 69 62 75 .modify,.sublicense,.or.distribu
82d80 74 65 20 69 74 20 69 73 20 76 6f 69 64 2c 20 61 6e 64 0a 77 69 6c 6c 20 61 75 74 6f 6d 61 74 69 te.it.is.void,.and.will.automati
82da0 63 61 6c 6c 79 20 74 65 72 6d 69 6e 61 74 65 20 79 6f 75 72 20 72 69 67 68 74 73 20 75 6e 64 65 cally.terminate.your.rights.unde
82dc0 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0a 0a 48 6f 77 65 76 65 72 2c 20 69 66 20 79 6f 75 r.this.License...However,.if.you
82de0 20 63 65 61 73 65 20 61 6c 6c 20 76 69 6f 6c 61 74 69 6f 6e 20 6f 66 20 74 68 69 73 20 4c 69 63 .cease.all.violation.of.this.Lic
82e00 65 6e 73 65 2c 20 74 68 65 6e 20 79 6f 75 72 20 6c 69 63 65 6e 73 65 0a 66 72 6f 6d 20 61 20 70 ense,.then.your.license.from.a.p
82e20 61 72 74 69 63 75 6c 61 72 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 69 73 20 72 65 articular.copyright.holder.is.re
82e40 69 6e 73 74 61 74 65 64 20 28 61 29 20 70 72 6f 76 69 73 69 6f 6e 61 6c 6c 79 2c 0a 75 6e 6c 65 instated.(a).provisionally,.unle
82e60 73 73 20 61 6e 64 20 75 6e 74 69 6c 20 74 68 65 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 ss.and.until.the.copyright.holde
82e80 72 20 65 78 70 6c 69 63 69 74 6c 79 20 61 6e 64 20 66 69 6e 61 6c 6c 79 0a 74 65 72 6d 69 6e 61 r.explicitly.and.finally.termina
82ea0 74 65 73 20 79 6f 75 72 20 6c 69 63 65 6e 73 65 2c 20 61 6e 64 20 28 62 29 20 70 65 72 6d 61 6e tes.your.license,.and.(b).perman
82ec0 65 6e 74 6c 79 2c 20 69 66 20 74 68 65 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 0a 66 ently,.if.the.copyright.holder.f
82ee0 61 69 6c 73 20 74 6f 20 6e 6f 74 69 66 79 20 79 6f 75 20 6f 66 20 74 68 65 20 76 69 6f 6c 61 74 ails.to.notify.you.of.the.violat
82f00 69 6f 6e 20 62 79 20 73 6f 6d 65 20 72 65 61 73 6f 6e 61 62 6c 65 20 6d 65 61 6e 73 20 70 72 69 ion.by.some.reasonable.means.pri
82f20 6f 72 20 74 6f 0a 36 30 20 64 61 79 73 20 61 66 74 65 72 20 74 68 65 20 63 65 73 73 61 74 69 6f or.to.60.days.after.the.cessatio
82f40 6e 2e 0a 0a 4d 6f 72 65 6f 76 65 72 2c 20 79 6f 75 72 20 6c 69 63 65 6e 73 65 20 66 72 6f 6d 20 n...Moreover,.your.license.from.
82f60 61 20 70 61 72 74 69 63 75 6c 61 72 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 69 73 a.particular.copyright.holder.is
82f80 0a 72 65 69 6e 73 74 61 74 65 64 20 70 65 72 6d 61 6e 65 6e 74 6c 79 20 69 66 20 74 68 65 20 63 .reinstated.permanently.if.the.c
82fa0 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 6e 6f 74 69 66 69 65 73 20 79 6f 75 20 6f 66 20 opyright.holder.notifies.you.of.
82fc0 74 68 65 0a 76 69 6f 6c 61 74 69 6f 6e 20 62 79 20 73 6f 6d 65 20 72 65 61 73 6f 6e 61 62 6c 65 the.violation.by.some.reasonable
82fe0 20 6d 65 61 6e 73 2c 20 74 68 69 73 20 69 73 20 74 68 65 20 66 69 72 73 74 20 74 69 6d 65 20 79 .means,.this.is.the.first.time.y
83000 6f 75 20 68 61 76 65 0a 72 65 63 65 69 76 65 64 20 6e 6f 74 69 63 65 20 6f 66 20 76 69 6f 6c 61 ou.have.received.notice.of.viola
83020 74 69 6f 6e 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 28 66 6f 72 20 61 6e 79 20 77 6f tion.of.this.License.(for.any.wo
83040 72 6b 29 20 66 72 6f 6d 20 74 68 61 74 0a 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 2c 20 rk).from.that.copyright.holder,.
83060 61 6e 64 20 79 6f 75 20 63 75 72 65 20 74 68 65 20 76 69 6f 6c 61 74 69 6f 6e 20 70 72 69 6f 72 and.you.cure.the.violation.prior
83080 20 74 6f 20 33 30 20 64 61 79 73 20 61 66 74 65 72 0a 79 6f 75 72 20 72 65 63 65 69 70 74 20 6f .to.30.days.after.your.receipt.o
830a0 66 20 74 68 65 20 6e 6f 74 69 63 65 2e 0a 0a 54 65 72 6d 69 6e 61 74 69 6f 6e 20 6f 66 20 79 6f f.the.notice...Termination.of.yo
830c0 75 72 20 72 69 67 68 74 73 20 75 6e 64 65 72 20 74 68 69 73 20 73 65 63 74 69 6f 6e 20 64 6f 65 ur.rights.under.this.section.doe
830e0 73 20 6e 6f 74 20 74 65 72 6d 69 6e 61 74 65 20 74 68 65 0a 6c 69 63 65 6e 73 65 73 20 6f 66 20 s.not.terminate.the.licenses.of.
83100 70 61 72 74 69 65 73 20 77 68 6f 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 63 6f 70 69 65 73 parties.who.have.received.copies
83120 20 6f 72 20 72 69 67 68 74 73 20 66 72 6f 6d 20 79 6f 75 20 75 6e 64 65 72 0a 74 68 69 73 20 4c .or.rights.from.you.under.this.L
83140 69 63 65 6e 73 65 2e 20 20 49 66 20 79 6f 75 72 20 72 69 67 68 74 73 20 68 61 76 65 20 62 65 65 icense...If.your.rights.have.bee
83160 6e 20 74 65 72 6d 69 6e 61 74 65 64 20 61 6e 64 20 6e 6f 74 20 70 65 72 6d 61 6e 65 6e 74 6c 79 n.terminated.and.not.permanently
83180 0a 72 65 69 6e 73 74 61 74 65 64 2c 20 72 65 63 65 69 70 74 20 6f 66 20 61 20 63 6f 70 79 20 6f .reinstated,.receipt.of.a.copy.o
831a0 66 20 73 6f 6d 65 20 6f 72 20 61 6c 6c 20 6f 66 20 74 68 65 20 73 61 6d 65 20 6d 61 74 65 72 69 f.some.or.all.of.the.same.materi
831c0 61 6c 20 64 6f 65 73 0a 6e 6f 74 20 67 69 76 65 20 79 6f 75 20 61 6e 79 20 72 69 67 68 74 73 20 al.does.not.give.you.any.rights.
831e0 74 6f 20 75 73 65 20 69 74 2e 0a 0a 40 69 74 65 6d 0a 46 55 54 55 52 45 20 52 45 56 49 53 49 4f to.use.it...@item.FUTURE.REVISIO
83200 4e 53 20 4f 46 20 54 48 49 53 20 4c 49 43 45 4e 53 45 0a 0a 54 68 65 20 46 72 65 65 20 53 6f 66 NS.OF.THIS.LICENSE..The.Free.Sof
83220 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 20 6d 61 79 20 70 75 62 6c 69 73 68 20 6e 65 77 tware.Foundation.may.publish.new
83240 2c 20 72 65 76 69 73 65 64 20 76 65 72 73 69 6f 6e 73 0a 6f 66 20 74 68 65 20 47 4e 55 20 46 72 ,.revised.versions.of.the.GNU.Fr
83260 65 65 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 4c 69 63 65 6e 73 65 20 66 72 6f 6d 20 74 69 ee.Documentation.License.from.ti
83280 6d 65 20 74 6f 20 74 69 6d 65 2e 20 20 53 75 63 68 20 6e 65 77 0a 76 65 72 73 69 6f 6e 73 20 77 me.to.time...Such.new.versions.w
832a0 69 6c 6c 20 62 65 20 73 69 6d 69 6c 61 72 20 69 6e 20 73 70 69 72 69 74 20 74 6f 20 74 68 65 20 ill.be.similar.in.spirit.to.the.
832c0 70 72 65 73 65 6e 74 20 76 65 72 73 69 6f 6e 2c 20 62 75 74 20 6d 61 79 0a 64 69 66 66 65 72 20 present.version,.but.may.differ.
832e0 69 6e 20 64 65 74 61 69 6c 20 74 6f 20 61 64 64 72 65 73 73 20 6e 65 77 20 70 72 6f 62 6c 65 6d in.detail.to.address.new.problem
83300 73 20 6f 72 20 63 6f 6e 63 65 72 6e 73 2e 20 20 53 65 65 0a 40 75 72 65 66 7b 68 74 74 70 73 3a s.or.concerns...See.@uref{https:
83320 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 7d 2e 0a 0a 45 61 63 68 20 //www.gnu.org/licenses/}...Each.
83340 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 20 69 73 20 67 69 76 65 6e 20 version.of.the.License.is.given.
83360 61 20 64 69 73 74 69 6e 67 75 69 73 68 69 6e 67 20 76 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 2e a.distinguishing.version.number.
83380 0a 49 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 73 70 65 63 69 66 69 65 73 20 74 68 61 74 20 .If.the.Document.specifies.that.
833a0 61 20 70 61 72 74 69 63 75 6c 61 72 20 6e 75 6d 62 65 72 65 64 20 76 65 72 73 69 6f 6e 20 6f 66 a.particular.numbered.version.of
833c0 20 74 68 69 73 0a 4c 69 63 65 6e 73 65 20 60 60 6f 72 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 .this.License.``or.any.later.ver
833e0 73 69 6f 6e 27 27 20 61 70 70 6c 69 65 73 20 74 6f 20 69 74 2c 20 79 6f 75 20 68 61 76 65 20 74 sion''.applies.to.it,.you.have.t
83400 68 65 20 6f 70 74 69 6f 6e 20 6f 66 0a 66 6f 6c 6c 6f 77 69 6e 67 20 74 68 65 20 74 65 72 6d 73 he.option.of.following.the.terms
83420 20 61 6e 64 20 63 6f 6e 64 69 74 69 6f 6e 73 20 65 69 74 68 65 72 20 6f 66 20 74 68 61 74 20 73 .and.conditions.either.of.that.s
83440 70 65 63 69 66 69 65 64 20 76 65 72 73 69 6f 6e 20 6f 72 0a 6f 66 20 61 6e 79 20 6c 61 74 65 72 pecified.version.or.of.any.later
83460 20 76 65 72 73 69 6f 6e 20 74 68 61 74 20 68 61 73 20 62 65 65 6e 20 70 75 62 6c 69 73 68 65 64 .version.that.has.been.published
83480 20 28 6e 6f 74 20 61 73 20 61 20 64 72 61 66 74 29 20 62 79 20 74 68 65 0a 46 72 65 65 20 53 6f .(not.as.a.draft).by.the.Free.So
834a0 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2e 20 20 49 66 20 74 68 65 20 44 6f 63 75 6d ftware.Foundation...If.the.Docum
834c0 65 6e 74 20 64 6f 65 73 20 6e 6f 74 20 73 70 65 63 69 66 79 20 61 20 76 65 72 73 69 6f 6e 0a 6e ent.does.not.specify.a.version.n
834e0 75 6d 62 65 72 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 79 6f 75 20 6d 61 79 20 63 umber.of.this.License,.you.may.c
83500 68 6f 6f 73 65 20 61 6e 79 20 76 65 72 73 69 6f 6e 20 65 76 65 72 20 70 75 62 6c 69 73 68 65 64 hoose.any.version.ever.published
83520 20 28 6e 6f 74 0a 61 73 20 61 20 64 72 61 66 74 29 20 62 79 20 74 68 65 20 46 72 65 65 20 53 6f .(not.as.a.draft).by.the.Free.So
83540 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2e 20 20 49 66 20 74 68 65 20 44 6f 63 75 6d ftware.Foundation...If.the.Docum
83560 65 6e 74 0a 73 70 65 63 69 66 69 65 73 20 74 68 61 74 20 61 20 70 72 6f 78 79 20 63 61 6e 20 64 ent.specifies.that.a.proxy.can.d
83580 65 63 69 64 65 20 77 68 69 63 68 20 66 75 74 75 72 65 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 74 ecide.which.future.versions.of.t
835a0 68 69 73 0a 4c 69 63 65 6e 73 65 20 63 61 6e 20 62 65 20 75 73 65 64 2c 20 74 68 61 74 20 70 72 his.License.can.be.used,.that.pr
835c0 6f 78 79 27 73 20 70 75 62 6c 69 63 20 73 74 61 74 65 6d 65 6e 74 20 6f 66 20 61 63 63 65 70 74 oxy's.public.statement.of.accept
835e0 61 6e 63 65 20 6f 66 20 61 0a 76 65 72 73 69 6f 6e 20 70 65 72 6d 61 6e 65 6e 74 6c 79 20 61 75 ance.of.a.version.permanently.au
83600 74 68 6f 72 69 7a 65 73 20 79 6f 75 20 74 6f 20 63 68 6f 6f 73 65 20 74 68 61 74 20 76 65 72 73 thorizes.you.to.choose.that.vers
83620 69 6f 6e 20 66 6f 72 20 74 68 65 0a 44 6f 63 75 6d 65 6e 74 2e 0a 0a 40 69 74 65 6d 0a 52 45 4c ion.for.the.Document...@item.REL
83640 49 43 45 4e 53 49 4e 47 0a 0a 60 60 4d 61 73 73 69 76 65 20 4d 75 6c 74 69 61 75 74 68 6f 72 20 ICENSING..``Massive.Multiauthor.
83660 43 6f 6c 6c 61 62 6f 72 61 74 69 6f 6e 20 53 69 74 65 27 27 20 28 6f 72 20 60 60 4d 4d 43 20 53 Collaboration.Site''.(or.``MMC.S
83680 69 74 65 27 27 29 20 6d 65 61 6e 73 20 61 6e 79 0a 57 6f 72 6c 64 20 57 69 64 65 20 57 65 62 20 ite'').means.any.World.Wide.Web.
836a0 73 65 72 76 65 72 20 74 68 61 74 20 70 75 62 6c 69 73 68 65 73 20 63 6f 70 79 72 69 67 68 74 61 server.that.publishes.copyrighta
836c0 62 6c 65 20 77 6f 72 6b 73 20 61 6e 64 20 61 6c 73 6f 0a 70 72 6f 76 69 64 65 73 20 70 72 6f 6d ble.works.and.also.provides.prom
836e0 69 6e 65 6e 74 20 66 61 63 69 6c 69 74 69 65 73 20 66 6f 72 20 61 6e 79 62 6f 64 79 20 74 6f 20 inent.facilities.for.anybody.to.
83700 65 64 69 74 20 74 68 6f 73 65 20 77 6f 72 6b 73 2e 20 20 41 0a 70 75 62 6c 69 63 20 77 69 6b 69 edit.those.works...A.public.wiki
83720 20 74 68 61 74 20 61 6e 79 62 6f 64 79 20 63 61 6e 20 65 64 69 74 20 69 73 20 61 6e 20 65 78 61 .that.anybody.can.edit.is.an.exa
83740 6d 70 6c 65 20 6f 66 20 73 75 63 68 20 61 20 73 65 72 76 65 72 2e 20 20 41 0a 60 60 4d 61 73 73 mple.of.such.a.server...A.``Mass
83760 69 76 65 20 4d 75 6c 74 69 61 75 74 68 6f 72 20 43 6f 6c 6c 61 62 6f 72 61 74 69 6f 6e 27 27 20 ive.Multiauthor.Collaboration''.
83780 28 6f 72 20 60 60 4d 4d 43 27 27 29 20 63 6f 6e 74 61 69 6e 65 64 20 69 6e 20 74 68 65 0a 73 69 (or.``MMC'').contained.in.the.si
837a0 74 65 20 6d 65 61 6e 73 20 61 6e 79 20 73 65 74 20 6f 66 20 63 6f 70 79 72 69 67 68 74 61 62 6c te.means.any.set.of.copyrightabl
837c0 65 20 77 6f 72 6b 73 20 74 68 75 73 20 70 75 62 6c 69 73 68 65 64 20 6f 6e 20 74 68 65 20 4d 4d e.works.thus.published.on.the.MM
837e0 43 0a 73 69 74 65 2e 0a 0a 60 60 43 43 2d 42 59 2d 53 41 27 27 20 6d 65 61 6e 73 20 74 68 65 20 C.site...``CC-BY-SA''.means.the.
83800 43 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e 2d 53 68 61 Creative.Commons.Attribution-Sha
83820 72 65 20 41 6c 69 6b 65 20 33 2e 30 0a 6c 69 63 65 6e 73 65 20 70 75 62 6c 69 73 68 65 64 20 62 re.Alike.3.0.license.published.b
83840 79 20 43 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 43 6f 72 70 6f 72 61 74 69 6f 6e 2c 20 y.Creative.Commons.Corporation,.
83860 61 20 6e 6f 74 2d 66 6f 72 2d 70 72 6f 66 69 74 0a 63 6f 72 70 6f 72 61 74 69 6f 6e 20 77 69 74 a.not-for-profit.corporation.wit
83880 68 20 61 20 70 72 69 6e 63 69 70 61 6c 20 70 6c 61 63 65 20 6f 66 20 62 75 73 69 6e 65 73 73 20 h.a.principal.place.of.business.
838a0 69 6e 20 53 61 6e 20 46 72 61 6e 63 69 73 63 6f 2c 0a 43 61 6c 69 66 6f 72 6e 69 61 2c 20 61 73 in.San.Francisco,.California,.as
838c0 20 77 65 6c 6c 20 61 73 20 66 75 74 75 72 65 20 63 6f 70 79 6c 65 66 74 20 76 65 72 73 69 6f 6e .well.as.future.copyleft.version
838e0 73 20 6f 66 20 74 68 61 74 20 6c 69 63 65 6e 73 65 0a 70 75 62 6c 69 73 68 65 64 20 62 79 20 74 s.of.that.license.published.by.t
83900 68 61 74 20 73 61 6d 65 20 6f 72 67 61 6e 69 7a 61 74 69 6f 6e 2e 0a 0a 60 60 49 6e 63 6f 72 70 hat.same.organization...``Incorp
83920 6f 72 61 74 65 27 27 20 6d 65 61 6e 73 20 74 6f 20 70 75 62 6c 69 73 68 20 6f 72 20 72 65 70 75 orate''.means.to.publish.or.repu
83940 62 6c 69 73 68 20 61 20 44 6f 63 75 6d 65 6e 74 2c 20 69 6e 20 77 68 6f 6c 65 20 6f 72 0a 69 6e blish.a.Document,.in.whole.or.in
83960 20 70 61 72 74 2c 20 61 73 20 70 61 72 74 20 6f 66 20 61 6e 6f 74 68 65 72 20 44 6f 63 75 6d 65 .part,.as.part.of.another.Docume
83980 6e 74 2e 0a 0a 41 6e 20 4d 4d 43 20 69 73 20 60 60 65 6c 69 67 69 62 6c 65 20 66 6f 72 20 72 65 nt...An.MMC.is.``eligible.for.re
839a0 6c 69 63 65 6e 73 69 6e 67 27 27 20 69 66 20 69 74 20 69 73 20 6c 69 63 65 6e 73 65 64 20 75 6e licensing''.if.it.is.licensed.un
839c0 64 65 72 20 74 68 69 73 0a 4c 69 63 65 6e 73 65 2c 20 61 6e 64 20 69 66 20 61 6c 6c 20 77 6f 72 der.this.License,.and.if.all.wor
839e0 6b 73 20 74 68 61 74 20 77 65 72 65 20 66 69 72 73 74 20 70 75 62 6c 69 73 68 65 64 20 75 6e 64 ks.that.were.first.published.und
83a00 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 0a 73 6f 6d 65 77 68 65 72 65 20 6f 74 68 65 72 20 er.this.License.somewhere.other.
83a20 74 68 61 6e 20 74 68 69 73 20 4d 4d 43 2c 20 61 6e 64 20 73 75 62 73 65 71 75 65 6e 74 6c 79 20 than.this.MMC,.and.subsequently.
83a40 69 6e 63 6f 72 70 6f 72 61 74 65 64 20 69 6e 20 77 68 6f 6c 65 0a 6f 72 20 69 6e 20 70 61 72 74 incorporated.in.whole.or.in.part
83a60 20 69 6e 74 6f 20 74 68 65 20 4d 4d 43 2c 20 28 31 29 20 68 61 64 20 6e 6f 20 63 6f 76 65 72 20 .into.the.MMC,.(1).had.no.cover.
83a80 74 65 78 74 73 20 6f 72 20 69 6e 76 61 72 69 61 6e 74 20 73 65 63 74 69 6f 6e 73 2c 0a 61 6e 64 texts.or.invariant.sections,.and
83aa0 20 28 32 29 20 77 65 72 65 20 74 68 75 73 20 69 6e 63 6f 72 70 6f 72 61 74 65 64 20 70 72 69 6f .(2).were.thus.incorporated.prio
83ac0 72 20 74 6f 20 4e 6f 76 65 6d 62 65 72 20 31 2c 20 32 30 30 38 2e 0a 0a 54 68 65 20 6f 70 65 72 r.to.November.1,.2008...The.oper
83ae0 61 74 6f 72 20 6f 66 20 61 6e 20 4d 4d 43 20 53 69 74 65 20 6d 61 79 20 72 65 70 75 62 6c 69 73 ator.of.an.MMC.Site.may.republis
83b00 68 20 61 6e 20 4d 4d 43 20 63 6f 6e 74 61 69 6e 65 64 20 69 6e 20 74 68 65 20 73 69 74 65 0a 75 h.an.MMC.contained.in.the.site.u
83b20 6e 64 65 72 20 43 43 2d 42 59 2d 53 41 20 6f 6e 20 74 68 65 20 73 61 6d 65 20 73 69 74 65 20 61 nder.CC-BY-SA.on.the.same.site.a
83b40 74 20 61 6e 79 20 74 69 6d 65 20 62 65 66 6f 72 65 20 41 75 67 75 73 74 20 31 2c 20 32 30 30 39 t.any.time.before.August.1,.2009
83b60 2c 0a 70 72 6f 76 69 64 65 64 20 74 68 65 20 4d 4d 43 20 69 73 20 65 6c 69 67 69 62 6c 65 20 66 ,.provided.the.MMC.is.eligible.f
83b80 6f 72 20 72 65 6c 69 63 65 6e 73 69 6e 67 2e 0a 0a 40 65 6e 64 20 65 6e 75 6d 65 72 61 74 65 0a or.relicensing...@end.enumerate.
83ba0 0a 40 70 61 67 65 0a 40 68 65 61 64 69 6e 67 20 41 44 44 45 4e 44 55 4d 3a 20 48 6f 77 20 74 6f .@page.@heading.ADDENDUM:.How.to
83bc0 20 75 73 65 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 79 6f 75 72 20 64 6f 63 75 6d .use.this.License.for.your.docum
83be0 65 6e 74 73 0a 0a 54 6f 20 75 73 65 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 69 6e 20 61 20 64 ents..To.use.this.License.in.a.d
83c00 6f 63 75 6d 65 6e 74 20 79 6f 75 20 68 61 76 65 20 77 72 69 74 74 65 6e 2c 20 69 6e 63 6c 75 64 ocument.you.have.written,.includ
83c20 65 20 61 20 63 6f 70 79 20 6f 66 0a 74 68 65 20 4c 69 63 65 6e 73 65 20 69 6e 20 74 68 65 20 64 e.a.copy.of.the.License.in.the.d
83c40 6f 63 75 6d 65 6e 74 20 61 6e 64 20 70 75 74 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f ocument.and.put.the.following.co
83c60 70 79 72 69 67 68 74 20 61 6e 64 0a 6c 69 63 65 6e 73 65 20 6e 6f 74 69 63 65 73 20 6a 75 73 74 pyright.and.license.notices.just
83c80 20 61 66 74 65 72 20 74 68 65 20 74 69 74 6c 65 20 70 61 67 65 3a 0a 0a 40 73 6d 61 6c 6c 65 78 .after.the.title.page:..@smallex
83ca0 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 20 40 76 ample.@group...Copyright.(C)..@v
83cc0 61 72 7b 79 65 61 72 7d 20 20 40 76 61 72 7b 79 6f 75 72 20 6e 61 6d 65 7d 2e 0a 20 20 50 65 72 ar{year}..@var{your.name}....Per
83ce0 6d 69 73 73 69 6f 6e 20 69 73 20 67 72 61 6e 74 65 64 20 74 6f 20 63 6f 70 79 2c 20 64 69 73 74 mission.is.granted.to.copy,.dist
83d00 72 69 62 75 74 65 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 20 74 68 69 73 20 64 6f 63 75 6d 65 ribute.and/or.modify.this.docume
83d20 6e 74 0a 20 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 nt...under.the.terms.of.the.GNU.
83d40 46 72 65 65 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 4c 69 63 65 6e 73 65 2c 20 56 65 72 73 Free.Documentation.License,.Vers
83d60 69 6f 6e 20 31 2e 33 0a 20 20 6f 72 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 20 70 ion.1.3...or.any.later.version.p
83d80 75 62 6c 69 73 68 65 64 20 62 79 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f ublished.by.the.Free.Software.Fo
83da0 75 6e 64 61 74 69 6f 6e 3b 0a 20 20 77 69 74 68 20 6e 6f 20 49 6e 76 61 72 69 61 6e 74 20 53 65 undation;...with.no.Invariant.Se
83dc0 63 74 69 6f 6e 73 2c 20 6e 6f 20 46 72 6f 6e 74 2d 43 6f 76 65 72 20 54 65 78 74 73 2c 20 61 6e ctions,.no.Front-Cover.Texts,.an
83de0 64 20 6e 6f 20 42 61 63 6b 2d 43 6f 76 65 72 0a 20 20 54 65 78 74 73 2e 20 20 41 20 63 6f 70 79 d.no.Back-Cover...Texts...A.copy
83e00 20 6f 66 20 74 68 65 20 6c 69 63 65 6e 73 65 20 69 73 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 .of.the.license.is.included.in.t
83e20 68 65 20 73 65 63 74 69 6f 6e 20 65 6e 74 69 74 6c 65 64 20 60 60 47 4e 55 0a 20 20 46 72 65 65 he.section.entitled.``GNU...Free
83e40 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 4c 69 63 65 6e 73 65 27 27 2e 0a 40 65 6e 64 20 67 .Documentation.License''..@end.g
83e60 72 6f 75 70 0a 40 65 6e 64 20 73 6d 61 6c 6c 65 78 61 6d 70 6c 65 0a 0a 49 66 20 79 6f 75 20 68 roup.@end.smallexample..If.you.h
83e80 61 76 65 20 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 2c 20 46 72 6f 6e 74 2d 43 6f ave.Invariant.Sections,.Front-Co
83ea0 76 65 72 20 54 65 78 74 73 20 61 6e 64 20 42 61 63 6b 2d 43 6f 76 65 72 20 54 65 78 74 73 2c 0a ver.Texts.and.Back-Cover.Texts,.
83ec0 72 65 70 6c 61 63 65 20 74 68 65 20 60 60 77 69 74 68 40 64 6f 74 73 7b 7d 54 65 78 74 73 2e 27 replace.the.``with@dots{}Texts.'
83ee0 27 40 3a 20 6c 69 6e 65 20 77 69 74 68 20 74 68 69 73 3a 0a 0a 40 73 6d 61 6c 6c 65 78 61 6d 70 '@:.line.with.this:..@smallexamp
83f00 6c 65 0a 40 67 72 6f 75 70 0a 20 20 20 20 77 69 74 68 20 74 68 65 20 49 6e 76 61 72 69 61 6e 74 le.@group.....with.the.Invariant
83f20 20 53 65 63 74 69 6f 6e 73 20 62 65 69 6e 67 20 40 76 61 72 7b 6c 69 73 74 20 74 68 65 69 72 20 .Sections.being.@var{list.their.
83f40 74 69 74 6c 65 73 7d 2c 20 77 69 74 68 0a 20 20 20 20 74 68 65 20 46 72 6f 6e 74 2d 43 6f 76 65 titles},.with.....the.Front-Cove
83f60 72 20 54 65 78 74 73 20 62 65 69 6e 67 20 40 76 61 72 7b 6c 69 73 74 7d 2c 20 61 6e 64 20 77 69 r.Texts.being.@var{list},.and.wi
83f80 74 68 20 74 68 65 20 42 61 63 6b 2d 43 6f 76 65 72 20 54 65 78 74 73 0a 20 20 20 20 62 65 69 6e th.the.Back-Cover.Texts.....bein
83fa0 67 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 73 6d g.@var{list}..@end.group.@end.sm
83fc0 61 6c 6c 65 78 61 6d 70 6c 65 0a 0a 49 66 20 79 6f 75 20 68 61 76 65 20 49 6e 76 61 72 69 61 6e allexample..If.you.have.Invarian
83fe0 74 20 53 65 63 74 69 6f 6e 73 20 77 69 74 68 6f 75 74 20 43 6f 76 65 72 20 54 65 78 74 73 2c 20 t.Sections.without.Cover.Texts,.
84000 6f 72 20 73 6f 6d 65 20 6f 74 68 65 72 0a 63 6f 6d 62 69 6e 61 74 69 6f 6e 20 6f 66 20 74 68 65 or.some.other.combination.of.the
84020 20 74 68 72 65 65 2c 20 6d 65 72 67 65 20 74 68 6f 73 65 20 74 77 6f 20 61 6c 74 65 72 6e 61 74 .three,.merge.those.two.alternat
84040 69 76 65 73 20 74 6f 20 73 75 69 74 20 74 68 65 0a 73 69 74 75 61 74 69 6f 6e 2e 0a 0a 49 66 20 ives.to.suit.the.situation...If.
84060 79 6f 75 72 20 64 6f 63 75 6d 65 6e 74 20 63 6f 6e 74 61 69 6e 73 20 6e 6f 6e 74 72 69 76 69 61 your.document.contains.nontrivia
84080 6c 20 65 78 61 6d 70 6c 65 73 20 6f 66 20 70 72 6f 67 72 61 6d 20 63 6f 64 65 2c 20 77 65 0a 72 l.examples.of.program.code,.we.r
840a0 65 63 6f 6d 6d 65 6e 64 20 72 65 6c 65 61 73 69 6e 67 20 74 68 65 73 65 20 65 78 61 6d 70 6c 65 ecommend.releasing.these.example
840c0 73 20 69 6e 20 70 61 72 61 6c 6c 65 6c 20 75 6e 64 65 72 20 79 6f 75 72 20 63 68 6f 69 63 65 20 s.in.parallel.under.your.choice.
840e0 6f 66 0a 66 72 65 65 20 73 6f 66 74 77 61 72 65 20 6c 69 63 65 6e 73 65 2c 20 73 75 63 68 20 61 of.free.software.license,.such.a
84100 73 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 s.the.GNU.General.Public.License
84120 2c 0a 74 6f 20 70 65 72 6d 69 74 20 74 68 65 69 72 20 75 73 65 20 69 6e 20 66 72 65 65 20 73 6f ,.to.permit.their.use.in.free.so
84140 66 74 77 61 72 65 2e 0a 0a 40 63 20 4c 6f 63 61 6c 20 56 61 72 69 61 62 6c 65 73 3a 0a 40 63 20 ftware...@c.Local.Variables:.@c.
84160 69 73 70 65 6c 6c 2d 6c 6f 63 61 6c 2d 70 64 69 63 74 3a 20 22 69 73 70 65 6c 6c 2d 64 69 63 74 ispell-local-pdict:."ispell-dict
84180 22 0a 40 63 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 ".@c.End:.......................
841a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
841c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
841e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
84200 64 61 73 68 2d 32 2e 31 39 2e 31 2f 64 61 73 68 2e 74 65 78 69 00 00 00 00 00 00 00 00 00 00 00 dash-2.19.1/dash.texi...........
84220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
84240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
84260 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
84280 30 33 35 30 33 30 36 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 30 30 33 00 20 30 00 00 00 0350306.00000000000.013003..0...
842a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
842c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
842e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
84300 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...................
84320 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...................
84340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
84360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
84380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
843a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
843c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
843e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
84400 5c 69 6e 70 75 74 20 74 65 78 69 6e 66 6f 20 20 20 20 40 63 20 2d 2a 2d 20 74 65 78 69 6e 66 6f \input.texinfo....@c.-*-.texinfo
84420 20 2d 2a 2d 0a 40 63 20 25 2a 2a 73 74 61 72 74 20 6f 66 20 68 65 61 64 65 72 0a 40 73 65 74 66 .-*-.@c.%**start.of.header.@setf
84440 69 6c 65 6e 61 6d 65 20 64 61 73 68 2e 69 6e 66 6f 0a 40 73 65 74 20 44 41 53 48 56 45 52 20 32 ilename.dash.info.@set.DASHVER.2
84460 2e 31 39 2e 31 0a 40 73 65 74 74 69 74 6c 65 20 44 61 73 68 3a 20 41 20 6d 6f 64 65 72 6e 20 6c .19.1.@settitle.Dash:.A.modern.l
84480 69 73 74 20 6c 69 62 72 61 72 79 20 66 6f 72 20 47 4e 55 20 45 6d 61 63 73 2e 0a 40 64 6f 63 75 ist.library.for.GNU.Emacs..@docu
844a0 6d 65 6e 74 65 6e 63 6f 64 69 6e 67 20 55 54 46 2d 38 0a 40 64 6f 63 75 6d 65 6e 74 6c 61 6e 67 mentencoding.UTF-8.@documentlang
844c0 75 61 67 65 20 65 6e 0a 40 63 20 25 2a 2a 65 6e 64 20 6f 66 20 68 65 61 64 65 72 0a 0a 40 63 6f uage.en.@c.%**end.of.header..@co
844e0 70 79 69 6e 67 0a 54 68 69 73 20 6d 61 6e 75 61 6c 20 69 73 20 66 6f 72 20 44 61 73 68 20 76 65 pying.This.manual.is.for.Dash.ve
84500 72 73 69 6f 6e 20 40 76 61 6c 75 65 7b 44 41 53 48 56 45 52 7d 2e 0a 0a 43 6f 70 79 72 69 67 68 rsion.@value{DASHVER}...Copyrigh
84520 74 20 40 63 6f 70 79 72 69 67 68 74 7b 7d 20 32 30 31 32 2d 2d 32 30 32 31 20 46 72 65 65 20 53 t.@copyright{}.2012--2021.Free.S
84540 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 0a 40 71 75 6f 74 61 oftware.Foundation,.Inc...@quota
84560 74 69 6f 6e 0a 50 65 72 6d 69 73 73 69 6f 6e 20 69 73 20 67 72 61 6e 74 65 64 20 74 6f 20 63 6f tion.Permission.is.granted.to.co
84580 70 79 2c 20 64 69 73 74 72 69 62 75 74 65 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 20 74 68 69 py,.distribute.and/or.modify.thi
845a0 73 20 64 6f 63 75 6d 65 6e 74 0a 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 s.document.under.the.terms.of.th
845c0 65 20 47 4e 55 20 46 72 65 65 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 4c 69 63 65 6e 73 65 e.GNU.Free.Documentation.License
845e0 2c 20 56 65 72 73 69 6f 6e 20 31 2e 33 20 6f 72 0a 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 ,.Version.1.3.or.any.later.versi
84600 6f 6e 20 70 75 62 6c 69 73 68 65 64 20 62 79 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 on.published.by.the.Free.Softwar
84620 65 20 46 6f 75 6e 64 61 74 69 6f 6e 3b 20 77 69 74 68 20 74 68 65 0a 49 6e 76 61 72 69 61 6e 74 e.Foundation;.with.the.Invariant
84640 20 53 65 63 74 69 6f 6e 73 20 62 65 69 6e 67 20 60 60 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 .Sections.being.``GNU.General.Pu
84660 62 6c 69 63 20 4c 69 63 65 6e 73 65 2c 27 27 20 61 6e 64 20 6e 6f 0a 46 72 6f 6e 74 2d 43 6f 76 blic.License,''.and.no.Front-Cov
84680 65 72 20 54 65 78 74 73 20 6f 72 20 42 61 63 6b 2d 43 6f 76 65 72 20 54 65 78 74 73 2e 20 20 41 er.Texts.or.Back-Cover.Texts...A
846a0 20 63 6f 70 79 20 6f 66 20 74 68 65 20 6c 69 63 65 6e 73 65 20 69 73 0a 69 6e 63 6c 75 64 65 64 .copy.of.the.license.is.included
846c0 20 69 6e 20 74 68 65 20 73 65 63 74 69 6f 6e 20 65 6e 74 69 74 6c 65 64 20 60 60 47 4e 55 20 46 .in.the.section.entitled.``GNU.F
846e0 72 65 65 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 4c 69 63 65 6e 73 65 27 27 2e 0a 40 65 6e ree.Documentation.License''..@en
84700 64 20 71 75 6f 74 61 74 69 6f 6e 0a 40 65 6e 64 20 63 6f 70 79 69 6e 67 0a 0a 40 64 69 72 63 61 d.quotation.@end.copying..@dirca
84720 74 65 67 6f 72 79 20 45 6d 61 63 73 0a 40 64 69 72 65 6e 74 72 79 0a 2a 20 44 61 73 68 3a 20 28 tegory.Emacs.@direntry.*.Dash:.(
84740 64 61 73 68 2e 69 6e 66 6f 29 2e 20 20 20 20 41 20 6d 6f 64 65 72 6e 20 6c 69 73 74 20 6c 69 62 dash.info).....A.modern.list.lib
84760 72 61 72 79 20 66 6f 72 20 47 4e 55 20 45 6d 61 63 73 2e 0a 40 65 6e 64 20 64 69 72 65 6e 74 72 rary.for.GNU.Emacs..@end.direntr
84780 79 0a 0a 40 74 69 74 6c 65 70 61 67 65 0a 40 74 69 74 6c 65 20 44 61 73 68 20 4d 61 6e 75 61 6c y..@titlepage.@title.Dash.Manual
847a0 0a 40 73 75 62 74 69 74 6c 65 20 46 6f 72 20 44 61 73 68 20 56 65 72 73 69 6f 6e 20 40 76 61 6c .@subtitle.For.Dash.Version.@val
847c0 75 65 7b 44 41 53 48 56 45 52 7d 2e 0a 40 61 75 74 68 6f 72 20 4d 61 67 6e 61 72 20 53 76 65 65 ue{DASHVER}..@author.Magnar.Svee
847e0 6e 0a 40 70 61 67 65 0a 40 76 73 6b 69 70 20 30 70 74 20 70 6c 75 73 20 31 66 69 6c 6c 6c 0a 40 n.@page.@vskip.0pt.plus.1filll.@
84800 69 6e 73 65 72 74 63 6f 70 79 69 6e 67 0a 40 65 6e 64 20 74 69 74 6c 65 70 61 67 65 0a 0a 40 63 insertcopying.@end.titlepage..@c
84820 6f 6e 74 65 6e 74 73 0a 0a 40 69 66 6e 6f 74 74 65 78 0a 40 6e 6f 64 65 20 54 6f 70 0a 40 74 6f ontents..@ifnottex.@node.Top.@to
84840 70 20 44 61 73 68 0a 0a 40 69 6e 73 65 72 74 63 6f 70 79 69 6e 67 0a 40 65 6e 64 20 69 66 6e 6f p.Dash..@insertcopying.@end.ifno
84860 74 74 65 78 0a 0a 40 6d 65 6e 75 0a 2a 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 3a 3a 20 20 20 20 ttex..@menu.*.Installation::....
84880 20 20 20 20 49 6e 73 74 61 6c 6c 69 6e 67 20 61 6e 64 20 63 6f 6e 66 69 67 75 72 69 6e 67 20 44 ....Installing.and.configuring.D
848a0 61 73 68 2e 0a 2a 20 46 75 6e 63 74 69 6f 6e 73 3a 3a 20 20 20 20 20 20 20 20 20 20 20 44 61 73 ash..*.Functions::...........Das
848c0 68 20 41 50 49 20 72 65 66 65 72 65 6e 63 65 2e 0a 2a 20 44 65 76 65 6c 6f 70 6d 65 6e 74 3a 3a h.API.reference..*.Development::
848e0 20 20 20 20 20 20 20 20 20 43 6f 6e 74 72 69 62 75 74 69 6e 67 20 74 6f 20 44 61 73 68 20 64 65 .........Contributing.to.Dash.de
84900 76 65 6c 6f 70 6d 65 6e 74 2e 0a 0a 41 70 70 65 6e 64 69 63 65 73 0a 0a 2a 20 46 44 4c 3a 3a 20 velopment...Appendices..*.FDL::.
84920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 6c 69 63 65 6e 73 65 20 66 6f 72 20 ................The.license.for.
84940 74 68 69 73 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2e 0a 2a 20 47 50 4c 3a 3a 20 20 20 20 20 this.documentation..*.GPL::.....
84960 20 20 20 20 20 20 20 20 20 20 20 20 43 6f 6e 64 69 74 69 6f 6e 73 20 66 6f 72 20 63 6f 70 79 69 ............Conditions.for.copyi
84980 6e 67 20 61 6e 64 20 63 68 61 6e 67 69 6e 67 20 44 61 73 68 2e 0a 2a 20 49 6e 64 65 78 3a 3a 20 ng.and.changing.Dash..*.Index::.
849a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 64 65 78 20 69 6e 63 6c 75 64 69 6e 67 20 66 75 ..............Index.including.fu
849c0 6e 63 74 69 6f 6e 73 20 61 6e 64 20 6d 61 63 72 6f 73 2e 0a 0a 40 64 65 74 61 69 6c 6d 65 6e 75 nctions.and.macros...@detailmenu
849e0 0a 20 2d 2d 2d 20 54 68 65 20 44 65 74 61 69 6c 65 64 20 4e 6f 64 65 20 4c 69 73 74 69 6e 67 20 ..---.The.Detailed.Node.Listing.
84a00 2d 2d 2d 0a 0a 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 0a 0a 2a 20 55 73 69 6e 67 20 69 6e 20 61 20 ---..Installation..*.Using.in.a.
84a20 70 61 63 6b 61 67 65 3a 3a 20 20 4c 69 73 74 69 6e 67 20 44 61 73 68 20 61 73 20 61 20 70 61 63 package::..Listing.Dash.as.a.pac
84a40 6b 61 67 65 20 64 65 70 65 6e 64 65 6e 63 79 2e 0a 2a 20 46 6f 6e 74 69 66 69 63 61 74 69 6f 6e kage.dependency..*.Fontification
84a60 20 6f 66 20 73 70 65 63 69 61 6c 20 76 61 72 69 61 62 6c 65 73 3a 3a 20 20 46 6f 6e 74 20 4c 6f .of.special.variables::..Font.Lo
84a80 63 6b 20 6f 66 20 61 6e 61 70 68 6f 72 69 63 20 6d 61 63 72 6f 20 76 61 72 69 61 62 6c 65 73 2e ck.of.anaphoric.macro.variables.
84aa0 0a 2a 20 49 6e 66 6f 20 73 79 6d 62 6f 6c 20 6c 6f 6f 6b 75 70 3a 3a 20 20 4c 6f 6f 6b 69 6e 67 .*.Info.symbol.lookup::..Looking
84ac0 20 75 70 20 44 61 73 68 20 73 79 6d 62 6f 6c 73 20 69 6e 20 74 68 69 73 20 6d 61 6e 75 61 6c 2e .up.Dash.symbols.in.this.manual.
84ae0 0a 0a 46 75 6e 63 74 69 6f 6e 73 0a 0a 2a 20 4d 61 70 73 3a 3a 0a 2a 20 53 75 62 6c 69 73 74 20 ..Functions..*.Maps::.*.Sublist.
84b00 73 65 6c 65 63 74 69 6f 6e 3a 3a 0a 2a 20 4c 69 73 74 20 74 6f 20 6c 69 73 74 3a 3a 0a 2a 20 52 selection::.*.List.to.list::.*.R
84b20 65 64 75 63 74 69 6f 6e 73 3a 3a 0a 2a 20 55 6e 66 6f 6c 64 69 6e 67 3a 3a 0a 2a 20 50 72 65 64 eductions::.*.Unfolding::.*.Pred
84b40 69 63 61 74 65 73 3a 3a 0a 2a 20 50 61 72 74 69 74 69 6f 6e 69 6e 67 3a 3a 0a 2a 20 49 6e 64 65 icates::.*.Partitioning::.*.Inde
84b60 78 69 6e 67 3a 3a 0a 2a 20 53 65 74 20 6f 70 65 72 61 74 69 6f 6e 73 3a 3a 0a 2a 20 4f 74 68 65 xing::.*.Set.operations::.*.Othe
84b80 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 3a 3a 0a 2a 20 54 72 65 65 20 6f 70 65 72 61 r.list.operations::.*.Tree.opera
84ba0 74 69 6f 6e 73 3a 3a 0a 2a 20 54 68 72 65 61 64 69 6e 67 20 6d 61 63 72 6f 73 3a 3a 0a 2a 20 42 tions::.*.Threading.macros::.*.B
84bc0 69 6e 64 69 6e 67 3a 3a 0a 2a 20 53 69 64 65 20 65 66 66 65 63 74 73 3a 3a 0a 2a 20 44 65 73 74 inding::.*.Side.effects::.*.Dest
84be0 72 75 63 74 69 76 65 20 6f 70 65 72 61 74 69 6f 6e 73 3a 3a 0a 2a 20 46 75 6e 63 74 69 6f 6e 20 ructive.operations::.*.Function.
84c00 63 6f 6d 62 69 6e 61 74 6f 72 73 3a 3a 0a 0a 44 65 76 65 6c 6f 70 6d 65 6e 74 0a 0a 2a 20 43 6f combinators::..Development..*.Co
84c20 6e 74 72 69 62 75 74 65 3a 3a 20 20 20 20 20 20 20 20 20 20 48 6f 77 20 74 6f 20 63 6f 6e 74 72 ntribute::..........How.to.contr
84c40 69 62 75 74 65 2e 0a 2a 20 43 6f 6e 74 72 69 62 75 74 6f 72 73 3a 3a 20 20 20 20 20 20 20 20 4c ibute..*.Contributors::........L
84c60 69 73 74 20 6f 66 20 63 6f 6e 74 72 69 62 75 74 6f 72 73 2e 0a 40 65 6e 64 20 64 65 74 61 69 6c ist.of.contributors..@end.detail
84c80 6d 65 6e 75 0a 40 65 6e 64 20 6d 65 6e 75 0a 0a 40 6e 6f 64 65 20 49 6e 73 74 61 6c 6c 61 74 69 menu.@end.menu..@node.Installati
84ca0 6f 6e 0a 40 63 68 61 70 74 65 72 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 0a 0a 44 61 73 68 20 69 on.@chapter.Installation..Dash.i
84cc0 73 20 61 76 61 69 6c 61 62 6c 65 20 6f 6e 20 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 65 6c 70 61 s.available.on.@url{https://elpa
84ce0 2e 67 6e 75 2e 6f 72 67 2f 2c 20 47 4e 55 20 45 4c 50 41 7d 2c 0a 40 75 72 6c 7b 68 74 74 70 73 .gnu.org/,.GNU.ELPA},.@url{https
84d00 3a 2f 2f 65 6c 70 61 2e 67 6e 75 2e 6f 72 67 2f 64 65 76 65 6c 2f 2c 20 47 4e 55 2d 64 65 76 65 ://elpa.gnu.org/devel/,.GNU-deve
84d20 6c 20 45 4c 50 41 7d 2c 20 61 6e 64 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 6d 65 6c 70 61 2e l.ELPA},.and.@url{https://melpa.
84d40 6f 72 67 2f 2c 20 4d 45 4c 50 41 7d 2c 20 61 6e 64 20 63 61 6e 20 62 65 20 69 6e 73 74 61 6c 6c org/,.MELPA},.and.can.be.install
84d60 65 64 20 77 69 74 68 20 74 68 65 0a 73 74 61 6e 64 61 72 64 20 63 6f 6d 6d 61 6e 64 20 40 63 6f ed.with.the.standard.command.@co
84d80 64 65 7b 70 61 63 6b 61 67 65 2d 69 6e 73 74 61 6c 6c 7d 20 28 40 70 78 72 65 66 7b 50 61 63 6b de{package-install}.(@pxref{Pack
84da0 61 67 65 0a 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 2c 2c 2c 20 65 6d 61 63 73 2c 20 54 68 65 20 47 age.Installation,,,.emacs,.The.G
84dc0 4e 55 20 45 6d 61 63 73 20 4d 61 6e 75 61 6c 7d 29 2e 0a 0a 40 74 61 62 6c 65 20 40 6b 62 64 0a NU.Emacs.Manual})...@table.@kbd.
84de0 40 69 74 65 6d 20 4d 2d 78 20 70 61 63 6b 61 67 65 2d 69 6e 73 74 61 6c 6c 20 40 6b 65 79 7b 52 @item.M-x.package-install.@key{R
84e00 45 54 7d 20 64 61 73 68 20 40 6b 65 79 7b 52 45 54 7d 0a 49 6e 73 74 61 6c 6c 20 74 68 65 20 44 ET}.dash.@key{RET}.Install.the.D
84e20 61 73 68 20 6c 69 62 72 61 72 79 2e 0a 40 65 6e 64 20 74 61 62 6c 65 0a 0a 41 6c 74 65 72 6e 61 ash.library..@end.table..Alterna
84e40 74 69 76 65 6c 79 2c 20 79 6f 75 20 63 61 6e 20 6a 75 73 74 20 64 75 6d 70 20 40 66 69 6c 65 7b tively,.you.can.just.dump.@file{
84e60 64 61 73 68 2e 65 6c 7d 20 69 6e 20 79 6f 75 72 0a 40 63 6f 64 65 7b 6c 6f 61 64 2d 70 61 74 68 dash.el}.in.your.@code{load-path
84e80 7d 20 73 6f 6d 65 77 68 65 72 65 20 28 40 70 78 72 65 66 7b 4c 69 73 70 20 4c 69 62 72 61 72 69 }.somewhere.(@pxref{Lisp.Librari
84ea0 65 73 2c 2c 2c 20 65 6d 61 63 73 2c 20 54 68 65 20 47 4e 55 0a 45 6d 61 63 73 20 4d 61 6e 75 61 es,,,.emacs,.The.GNU.Emacs.Manua
84ec0 6c 7d 29 2e 0a 0a 40 6d 65 6e 75 0a 2a 20 55 73 69 6e 67 20 69 6e 20 61 20 70 61 63 6b 61 67 65 l})...@menu.*.Using.in.a.package
84ee0 3a 3a 20 20 4c 69 73 74 69 6e 67 20 44 61 73 68 20 61 73 20 61 20 70 61 63 6b 61 67 65 20 64 65 ::..Listing.Dash.as.a.package.de
84f00 70 65 6e 64 65 6e 63 79 2e 0a 2a 20 46 6f 6e 74 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 73 70 65 pendency..*.Fontification.of.spe
84f20 63 69 61 6c 20 76 61 72 69 61 62 6c 65 73 3a 3a 20 20 46 6f 6e 74 20 4c 6f 63 6b 20 6f 66 20 61 cial.variables::..Font.Lock.of.a
84f40 6e 61 70 68 6f 72 69 63 20 6d 61 63 72 6f 20 76 61 72 69 61 62 6c 65 73 2e 0a 2a 20 49 6e 66 6f naphoric.macro.variables..*.Info
84f60 20 73 79 6d 62 6f 6c 20 6c 6f 6f 6b 75 70 3a 3a 20 20 4c 6f 6f 6b 69 6e 67 20 75 70 20 44 61 73 .symbol.lookup::..Looking.up.Das
84f80 68 20 73 79 6d 62 6f 6c 73 20 69 6e 20 74 68 69 73 20 6d 61 6e 75 61 6c 2e 0a 40 65 6e 64 20 6d h.symbols.in.this.manual..@end.m
84fa0 65 6e 75 0a 0a 40 6e 6f 64 65 20 55 73 69 6e 67 20 69 6e 20 61 20 70 61 63 6b 61 67 65 0a 40 73 enu..@node.Using.in.a.package.@s
84fc0 65 63 74 69 6f 6e 20 55 73 69 6e 67 20 69 6e 20 61 20 70 61 63 6b 61 67 65 0a 0a 49 66 20 79 6f ection.Using.in.a.package..If.yo
84fe0 75 20 75 73 65 20 44 61 73 68 20 69 6e 20 79 6f 75 72 20 6f 77 6e 20 70 61 63 6b 61 67 65 2c 20 u.use.Dash.in.your.own.package,.
85000 62 65 20 73 75 72 65 20 74 6f 20 6c 69 73 74 20 69 74 20 61 73 20 61 0a 64 65 70 65 6e 64 65 6e be.sure.to.list.it.as.a.dependen
85020 63 79 20 69 6e 20 74 68 65 20 6c 69 62 72 61 72 79 27 73 20 68 65 61 64 65 72 73 20 61 73 20 66 cy.in.the.library's.headers.as.f
85040 6f 6c 6c 6f 77 73 20 28 40 70 78 72 65 66 7b 4c 69 62 72 61 72 79 0a 48 65 61 64 65 72 73 2c 2c ollows.(@pxref{Library.Headers,,
85060 2c 20 65 6c 69 73 70 2c 20 54 68 65 20 45 6d 61 63 73 20 4c 69 73 70 20 52 65 66 65 72 65 6e 63 ,.elisp,.The.Emacs.Lisp.Referenc
85080 65 20 4d 61 6e 75 61 6c 7d 29 2e 0a 0a 40 6c 69 73 70 0a 3b 3b 20 50 61 63 6b 61 67 65 2d 52 65 e.Manual})...@lisp.;;.Package-Re
850a0 71 75 69 72 65 73 3a 20 28 28 64 61 73 68 20 22 40 76 61 6c 75 65 7b 44 41 53 48 56 45 52 7d 22 quires:.((dash."@value{DASHVER}"
850c0 29 29 0a 40 65 6e 64 20 6c 69 73 70 0a 0a 40 6e 6f 64 65 20 46 6f 6e 74 69 66 69 63 61 74 69 6f )).@end.lisp..@node.Fontificatio
850e0 6e 20 6f 66 20 73 70 65 63 69 61 6c 20 76 61 72 69 61 62 6c 65 73 0a 40 73 65 63 74 69 6f 6e 20 n.of.special.variables.@section.
85100 46 6f 6e 74 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 73 70 65 63 69 61 6c 20 76 61 72 69 61 62 6c Fontification.of.special.variabl
85120 65 73 0a 0a 40 66 69 6e 64 65 78 20 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 0a 54 68 es..@findex.dash-fontify-mode.Th
85140 65 20 61 75 74 6f 6c 6f 61 64 65 64 20 6d 69 6e 6f 72 20 6d 6f 64 65 20 40 63 6f 64 65 7b 64 61 e.autoloaded.minor.mode.@code{da
85160 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 7d 20 69 73 20 70 72 6f 76 69 64 65 64 20 66 6f 72 sh-fontify-mode}.is.provided.for
85180 0a 6f 70 74 69 6f 6e 61 6c 20 66 6f 6e 74 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 61 6e 61 70 68 .optional.fontification.of.anaph
851a0 6f 72 69 63 20 44 61 73 68 20 76 61 72 69 61 62 6c 65 73 20 28 40 63 6f 64 65 7b 69 74 7d 2c 0a oric.Dash.variables.(@code{it},.
851c0 40 63 6f 64 65 7b 61 63 63 7d 2c 20 65 74 63 2e 40 3a 29 20 69 6e 20 45 6d 61 63 73 20 4c 69 73 @code{acc},.etc.@:).in.Emacs.Lis
851e0 70 20 62 75 66 66 65 72 73 20 75 73 69 6e 67 20 73 65 61 72 63 68 2d 62 61 73 65 64 20 46 6f 6e p.buffers.using.search-based.Fon
85200 74 20 4c 6f 63 6b 0a 28 40 70 78 72 65 66 7b 46 6f 6e 74 20 4c 6f 63 6b 2c 2c 2c 20 65 6d 61 63 t.Lock.(@pxref{Font.Lock,,,.emac
85220 73 2c 20 54 68 65 20 47 4e 55 20 45 6d 61 63 73 20 4d 61 6e 75 61 6c 7d 29 2e 20 20 49 6e 20 6f s,.The.GNU.Emacs.Manual})...In.o
85240 6c 64 65 72 20 45 6d 61 63 73 0a 76 65 72 73 69 6f 6e 73 20 77 68 69 63 68 20 64 6f 20 6e 6f 74 lder.Emacs.versions.which.do.not
85260 20 64 79 6e 61 6d 69 63 61 6c 6c 79 20 64 65 74 65 63 74 20 6d 61 63 72 6f 73 2c 20 74 68 65 20 .dynamically.detect.macros,.the.
85280 6d 69 6e 6f 72 20 6d 6f 64 65 20 61 6c 73 6f 0a 66 6f 6e 74 69 66 69 65 73 20 63 61 6c 6c 73 20 minor.mode.also.fontifies.calls.
852a0 74 6f 20 44 61 73 68 20 6d 61 63 72 6f 73 2e 0a 0a 40 66 69 6e 64 65 78 20 67 6c 6f 62 61 6c 2d to.Dash.macros...@findex.global-
852c0 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 0a 54 6f 20 61 75 74 6f 6d 61 74 69 63 61 6c dash-fontify-mode.To.automatical
852e0 6c 79 20 65 6e 61 62 6c 65 20 74 68 65 20 6d 69 6e 6f 72 20 6d 6f 64 65 20 69 6e 20 61 6c 6c 20 ly.enable.the.minor.mode.in.all.
85300 45 6d 61 63 73 20 4c 69 73 70 20 62 75 66 66 65 72 73 2c 20 6a 75 73 74 0a 63 61 6c 6c 20 69 74 Emacs.Lisp.buffers,.just.call.it
85320 73 20 61 75 74 6f 6c 6f 61 64 65 64 20 67 6c 6f 62 61 6c 20 63 6f 75 6e 74 65 72 70 61 72 74 0a s.autoloaded.global.counterpart.
85340 40 63 6f 64 65 7b 67 6c 6f 62 61 6c 2d 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 7d 2c @code{global-dash-fontify-mode},
85360 20 65 69 74 68 65 72 20 69 6e 74 65 72 61 63 74 69 76 65 6c 79 20 6f 72 20 66 72 6f 6d 20 79 6f .either.interactively.or.from.yo
85380 75 72 0a 40 63 6f 64 65 7b 75 73 65 72 2d 69 6e 69 74 2d 66 69 6c 65 7d 3a 0a 0a 40 6c 69 73 70 ur.@code{user-init-file}:..@lisp
853a0 0a 28 67 6c 6f 62 61 6c 2d 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 29 0a 40 65 6e 64 .(global-dash-fontify-mode).@end
853c0 20 6c 69 73 70 0a 0a 40 6e 6f 64 65 20 49 6e 66 6f 20 73 79 6d 62 6f 6c 20 6c 6f 6f 6b 75 70 0a .lisp..@node.Info.symbol.lookup.
853e0 40 73 65 63 74 69 6f 6e 20 49 6e 66 6f 20 73 79 6d 62 6f 6c 20 6c 6f 6f 6b 75 70 0a 0a 40 66 69 @section.Info.symbol.lookup..@fi
85400 6e 64 65 78 20 64 61 73 68 2d 72 65 67 69 73 74 65 72 2d 69 6e 66 6f 2d 6c 6f 6f 6b 75 70 0a 57 ndex.dash-register-info-lookup.W
85420 68 69 6c 65 20 65 64 69 74 69 6e 67 20 45 6c 69 73 70 20 66 69 6c 65 73 2c 20 79 6f 75 20 63 61 hile.editing.Elisp.files,.you.ca
85440 6e 20 75 73 65 20 40 6b 62 64 7b 43 2d 68 20 53 7d 0a 28 40 63 6f 64 65 7b 69 6e 66 6f 2d 6c 6f n.use.@kbd{C-h.S}.(@code{info-lo
85460 6f 6b 75 70 2d 73 79 6d 62 6f 6c 7d 29 20 74 6f 20 6c 6f 6f 6b 20 75 70 20 45 6c 69 73 70 20 73 okup-symbol}).to.look.up.Elisp.s
85480 79 6d 62 6f 6c 73 20 69 6e 20 74 68 65 20 72 65 6c 65 76 61 6e 74 0a 49 6e 66 6f 20 6d 61 6e 75 ymbols.in.the.relevant.Info.manu
854a0 61 6c 73 20 28 40 70 78 72 65 66 7b 49 6e 66 6f 20 4c 6f 6f 6b 75 70 2c 2c 2c 20 65 6d 61 63 73 als.(@pxref{Info.Lookup,,,.emacs
854c0 2c 20 54 68 65 20 47 4e 55 20 45 6d 61 63 73 20 4d 61 6e 75 61 6c 7d 29 2e 20 20 54 6f 0a 65 6e ,.The.GNU.Emacs.Manual})...To.en
854e0 61 62 6c 65 20 74 68 65 20 73 61 6d 65 20 66 6f 72 20 44 61 73 68 20 73 79 6d 62 6f 6c 73 2c 20 able.the.same.for.Dash.symbols,.
85500 75 73 65 20 74 68 65 20 63 6f 6d 6d 61 6e 64 0a 40 63 6f 64 65 7b 64 61 73 68 2d 72 65 67 69 73 use.the.command.@code{dash-regis
85520 74 65 72 2d 69 6e 66 6f 2d 6c 6f 6f 6b 75 70 7d 2e 20 20 49 74 20 63 61 6e 20 62 65 20 63 61 6c ter-info-lookup}...It.can.be.cal
85540 6c 65 64 20 64 69 72 65 63 74 6c 79 20 77 68 65 6e 0a 6e 65 65 64 65 64 2c 20 6f 72 20 61 75 74 led.directly.when.needed,.or.aut
85560 6f 6d 61 74 69 63 61 6c 6c 79 20 66 72 6f 6d 20 79 6f 75 72 20 40 63 6f 64 65 7b 75 73 65 72 2d omatically.from.your.@code{user-
85580 69 6e 69 74 2d 66 69 6c 65 7d 2e 20 20 46 6f 72 0a 65 78 61 6d 70 6c 65 3a 0a 0a 40 6c 69 73 70 init-file}...For.example:..@lisp
855a0 0a 28 77 69 74 68 2d 65 76 61 6c 2d 61 66 74 65 72 2d 6c 6f 61 64 20 27 69 6e 66 6f 2d 6c 6f 6f .(with-eval-after-load.'info-loo
855c0 6b 0a 20 20 28 64 61 73 68 2d 72 65 67 69 73 74 65 72 2d 69 6e 66 6f 2d 6c 6f 6f 6b 75 70 29 29 k...(dash-register-info-lookup))
855e0 0a 40 65 6e 64 20 6c 69 73 70 0a 0a 40 6e 6f 64 65 20 46 75 6e 63 74 69 6f 6e 73 0a 40 63 68 61 .@end.lisp..@node.Functions.@cha
85600 70 74 65 72 20 46 75 6e 63 74 69 6f 6e 73 0a 0a 54 68 69 73 20 63 68 61 70 74 65 72 20 63 6f 6e pter.Functions..This.chapter.con
85620 74 61 69 6e 73 20 72 65 66 65 72 65 6e 63 65 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 6f tains.reference.documentation.fo
85640 72 20 74 68 65 20 44 61 73 68 0a 40 61 63 72 6f 6e 79 6d 7b 41 50 49 2c 20 41 70 70 6c 69 63 61 r.the.Dash.@acronym{API,.Applica
85660 74 69 6f 6e 20 50 72 6f 67 72 61 6d 6d 69 6e 67 20 49 6e 74 65 72 66 61 63 65 7d 2e 20 20 54 68 tion.Programming.Interface}...Th
85680 65 20 6e 61 6d 65 73 20 6f 66 20 61 6c 6c 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 73 20 e.names.of.all.public.functions.
856a0 64 65 66 69 6e 65 64 20 69 6e 20 74 68 65 20 6c 69 62 72 61 72 79 20 61 72 65 20 70 72 65 66 69 defined.in.the.library.are.prefi
856c0 78 65 64 20 77 69 74 68 20 61 20 64 61 73 68 0a 63 68 61 72 61 63 74 65 72 20 28 40 73 61 6d 70 xed.with.a.dash.character.(@samp
856e0 7b 2d 7d 29 2e 0a 0a 54 68 65 20 6c 69 62 72 61 72 79 20 61 6c 73 6f 20 70 72 6f 76 69 64 65 73 {-})...The.library.also.provides
85700 20 61 6e 61 70 68 6f 72 69 63 20 6d 61 63 72 6f 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 66 75 6e .anaphoric.macro.versions.of.fun
85720 63 74 69 6f 6e 73 20 77 68 65 72 65 0a 74 68 61 74 20 6d 61 6b 65 73 20 73 65 6e 73 65 2e 20 20 ctions.where.that.makes.sense...
85740 54 68 65 20 6e 61 6d 65 73 20 6f 66 20 74 68 65 73 65 20 6d 61 63 72 6f 73 20 61 72 65 20 70 72 The.names.of.these.macros.are.pr
85760 65 66 69 78 65 64 20 77 69 74 68 20 74 77 6f 0a 64 61 73 68 65 73 20 28 40 73 61 6d 70 7b 2d 2d efixed.with.two.dashes.(@samp{--
85780 7d 29 20 69 6e 73 74 65 61 64 20 6f 66 20 6f 6e 65 2e 0a 0a 46 6f 72 20 69 6e 73 74 61 6e 63 65 }).instead.of.one...For.instance
857a0 2c 20 77 68 69 6c 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 40 63 6f 64 65 7b 2d 6d 61 70 7d ,.while.the.function.@code{-map}
857c0 20 61 70 70 6c 69 65 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 6f 0a 65 61 63 68 20 65 6c 65 6d .applies.a.function.to.each.elem
857e0 65 6e 74 20 6f 66 20 61 20 6c 69 73 74 2c 20 69 74 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 ent.of.a.list,.its.anaphoric.cou
85800 6e 74 65 72 70 61 72 74 20 40 63 6f 64 65 7b 2d 2d 6d 61 70 7d 0a 65 76 61 6c 75 61 74 65 73 20 nterpart.@code{--map}.evaluates.
85820 61 20 66 6f 72 6d 20 77 69 74 68 20 74 68 65 20 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 20 40 a.form.with.the.local.variable.@
85840 63 6f 64 65 7b 69 74 7d 20 74 65 6d 70 6f 72 61 72 69 6c 79 20 62 6f 75 6e 64 0a 74 6f 20 74 68 code{it}.temporarily.bound.to.th
85860 65 20 63 75 72 72 65 6e 74 20 6c 69 73 74 20 65 6c 65 6d 65 6e 74 20 69 6e 73 74 65 61 64 2e 0a e.current.list.element.instead..
85880 0a 40 6c 69 73 70 0a 40 67 72 6f 75 70 0a 3b 3b 20 4e 6f 72 6d 61 6c 20 76 65 72 73 69 6f 6e 2e .@lisp.@group.;;.Normal.version.
858a0 0a 28 2d 6d 61 70 20 28 6c 61 6d 62 64 61 20 28 6e 29 20 28 2a 20 6e 20 6e 29 29 20 27 28 31 20 .(-map.(lambda.(n).(*.n.n)).'(1.
858c0 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 34 20 39 20 31 36 29 2.3.4)).....@result{}.(1.4.9.16)
858e0 0a 40 65 6e 64 20 67 72 6f 75 70 0a 0a 40 67 72 6f 75 70 0a 3b 3b 20 41 6e 61 70 68 6f 72 69 63 .@end.group..@group.;;.Anaphoric
85900 20 76 65 72 73 69 6f 6e 2e 0a 28 2d 2d 6d 61 70 20 28 2a 20 69 74 20 69 74 29 20 27 28 31 20 32 .version..(--map.(*.it.it).'(1.2
85920 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 34 20 39 20 31 36 29 0a .3.4)).....@result{}.(1.4.9.16).
85940 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 6c 69 73 70 0a 0a 54 68 65 20 6e 6f 72 6d 61 6c @end.group.@end.lisp..The.normal
85960 20 76 65 72 73 69 6f 6e 20 63 61 6e 2c 20 6f 66 20 63 6f 75 72 73 65 2c 20 61 6c 73 6f 20 62 65 .version.can,.of.course,.also.be
85980 20 77 72 69 74 74 65 6e 20 61 73 20 69 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 0a 65 78 61 .written.as.in.the.following.exa
859a0 6d 70 6c 65 2c 20 77 68 69 63 68 20 64 65 6d 6f 6e 73 74 72 61 74 65 73 20 74 68 65 20 75 74 69 mple,.which.demonstrates.the.uti
859c0 6c 69 74 79 20 6f 66 20 62 6f 74 68 20 76 65 72 73 69 6f 6e 73 2e 0a 0a 40 6c 69 73 70 0a 40 67 lity.of.both.versions...@lisp.@g
859e0 72 6f 75 70 0a 28 64 65 66 75 6e 20 6d 79 2d 73 71 75 61 72 65 20 28 6e 29 0a 20 20 22 52 65 74 roup.(defun.my-square.(n)..."Ret
85a00 75 72 6e 20 4e 20 6d 75 6c 74 69 70 6c 69 65 64 20 62 79 20 69 74 73 65 6c 66 2e 22 0a 20 20 28 urn.N.multiplied.by.itself."...(
85a20 2a 20 6e 20 6e 29 29 0a 0a 28 2d 6d 61 70 20 23 27 6d 79 2d 73 71 75 61 72 65 20 27 28 31 20 32 *.n.n))..(-map.#'my-square.'(1.2
85a40 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 34 20 39 20 31 36 29 0a .3.4)).....@result{}.(1.4.9.16).
85a60 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 6c 69 73 70 0a 0a 40 6d 65 6e 75 0a 2a 20 4d 61 @end.group.@end.lisp..@menu.*.Ma
85a80 70 73 3a 3a 0a 2a 20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 3a 3a 0a 2a 20 4c 69 73 ps::.*.Sublist.selection::.*.Lis
85aa0 74 20 74 6f 20 6c 69 73 74 3a 3a 0a 2a 20 52 65 64 75 63 74 69 6f 6e 73 3a 3a 0a 2a 20 55 6e 66 t.to.list::.*.Reductions::.*.Unf
85ac0 6f 6c 64 69 6e 67 3a 3a 0a 2a 20 50 72 65 64 69 63 61 74 65 73 3a 3a 0a 2a 20 50 61 72 74 69 74 olding::.*.Predicates::.*.Partit
85ae0 69 6f 6e 69 6e 67 3a 3a 0a 2a 20 49 6e 64 65 78 69 6e 67 3a 3a 0a 2a 20 53 65 74 20 6f 70 65 72 ioning::.*.Indexing::.*.Set.oper
85b00 61 74 69 6f 6e 73 3a 3a 0a 2a 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 ations::.*.Other.list.operations
85b20 3a 3a 0a 2a 20 54 72 65 65 20 6f 70 65 72 61 74 69 6f 6e 73 3a 3a 0a 2a 20 54 68 72 65 61 64 69 ::.*.Tree.operations::.*.Threadi
85b40 6e 67 20 6d 61 63 72 6f 73 3a 3a 0a 2a 20 42 69 6e 64 69 6e 67 3a 3a 0a 2a 20 53 69 64 65 20 65 ng.macros::.*.Binding::.*.Side.e
85b60 66 66 65 63 74 73 3a 3a 0a 2a 20 44 65 73 74 72 75 63 74 69 76 65 20 6f 70 65 72 61 74 69 6f 6e ffects::.*.Destructive.operation
85b80 73 3a 3a 0a 2a 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 73 3a 3a 0a 40 65 6e s::.*.Function.combinators::.@en
85ba0 64 20 6d 65 6e 75 0a 0a 40 6e 6f 64 65 20 4d 61 70 73 0a 40 73 65 63 74 69 6f 6e 20 4d 61 70 73 d.menu..@node.Maps.@section.Maps
85bc0 0a 0a 46 75 6e 63 74 69 6f 6e 73 20 69 6e 20 74 68 69 73 20 63 61 74 65 67 6f 72 79 20 74 61 6b ..Functions.in.this.category.tak
85be0 65 20 61 20 74 72 61 6e 73 66 6f 72 6d 69 6e 67 20 66 75 6e 63 74 69 6f 6e 2c 20 77 68 69 63 68 e.a.transforming.function,.which
85c00 0a 69 73 20 74 68 65 6e 20 61 70 70 6c 69 65 64 20 73 65 71 75 65 6e 74 69 61 6c 6c 79 20 74 6f .is.then.applied.sequentially.to
85c20 20 65 61 63 68 20 6f 72 20 73 65 6c 65 63 74 65 64 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 74 68 .each.or.selected.elements.of.th
85c40 65 0a 69 6e 70 75 74 20 6c 69 73 74 2e 20 20 54 68 65 20 72 65 73 75 6c 74 73 20 61 72 65 20 63 e.input.list...The.results.are.c
85c60 6f 6c 6c 65 63 74 65 64 20 69 6e 20 6f 72 64 65 72 20 61 6e 64 20 72 65 74 75 72 6e 65 64 20 61 ollected.in.order.and.returned.a
85c80 73 20 61 0a 6e 65 77 20 6c 69 73 74 2e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 6d 61 70 7d 0a 40 64 65 s.a.new.list...@anchor{-map}.@de
85ca0 66 75 6e 20 2d 6d 61 70 20 28 66 6e 20 6c 69 73 74 29 0a 41 70 70 6c 79 20 40 76 61 72 7b 66 6e fun.-map.(fn.list).Apply.@var{fn
85cc0 7d 20 74 6f 20 65 61 63 68 20 69 74 65 6d 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 20 61 6e 64 }.to.each.item.in.@var{list}.and
85ce0 20 72 65 74 75 72 6e 20 74 68 65 20 6c 69 73 74 20 6f 66 20 72 65 73 75 6c 74 73 2e 0a 0a 54 68 .return.the.list.of.results...Th
85d00 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 is.function's.anaphoric.counterp
85d20 61 72 74 20 69 73 20 40 63 6f 64 65 7b 2d 2d 6d 61 70 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 art.is.@code{--map}...@example.@
85d40 67 72 6f 75 70 0a 28 2d 6d 61 70 20 28 6c 61 6d 62 64 61 20 28 6e 75 6d 29 20 28 2a 20 6e 75 6d group.(-map.(lambda.(num).(*.num
85d60 20 6e 75 6d 29 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d .num)).'(1.2.3.4)).....@result{}
85d80 20 28 31 20 34 20 39 20 31 36 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d .(1.4.9.16).@end.group.@group.(-
85da0 6d 61 70 20 23 27 31 2b 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 map.#'1+.'(1.2.3.4)).....@result
85dc0 7b 7d 20 28 32 20 33 20 34 20 35 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 {}.(2.3.4.5).@end.group.@group.(
85de0 2d 2d 6d 61 70 20 28 2a 20 69 74 20 69 74 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 --map.(*.it.it).'(1.2.3.4)).....
85e00 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 34 20 39 20 31 36 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a @result{}.(1.4.9.16).@end.group.
85e20 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 @end.example.@end.defun..@anchor
85e40 7b 2d 6d 61 70 2d 77 68 65 6e 7d 0a 40 64 65 66 75 6e 20 2d 6d 61 70 2d 77 68 65 6e 20 28 70 72 {-map-when}.@defun.-map-when.(pr
85e60 65 64 20 72 65 70 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 77 ed.rep.list).Return.a.new.list.w
85e80 68 65 72 65 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 20 here.the.elements.in.@var{list}.
85ea0 74 68 61 74 20 64 6f 20 6e 6f 74 20 6d 61 74 63 68 20 74 68 65 20 40 76 61 72 7b 70 72 65 64 7d that.do.not.match.the.@var{pred}
85ec0 20 66 75 6e 63 74 69 6f 6e 0a 61 72 65 20 75 6e 63 68 61 6e 67 65 64 2c 20 61 6e 64 20 77 68 65 .function.are.unchanged,.and.whe
85ee0 72 65 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 20 74 68 re.the.elements.in.@var{list}.th
85f00 61 74 20 64 6f 20 6d 61 74 63 68 20 74 68 65 20 40 76 61 72 7b 70 72 65 64 7d 20 66 75 6e 63 74 at.do.match.the.@var{pred}.funct
85f20 69 6f 6e 20 61 72 65 20 6d 61 70 70 65 64 0a 74 68 72 6f 75 67 68 20 74 68 65 20 40 76 61 72 7b ion.are.mapped.through.the.@var{
85f40 72 65 70 7d 20 66 75 6e 63 74 69 6f 6e 2e 0a 0a 41 6c 69 61 73 3a 20 40 63 6f 64 65 7b 2d 72 65 rep}.function...Alias:.@code{-re
85f60 70 6c 61 63 65 2d 77 68 65 72 65 7d 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 75 place-where}..See.also:.@code{-u
85f80 70 64 61 74 65 2d 61 74 7d 20 28 40 70 78 72 65 66 7b 2d 75 70 64 61 74 65 2d 61 74 7d 29 0a 0a pdate-at}.(@pxref{-update-at})..
85fa0 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 6d 61 70 2d 77 68 65 6e 20 27 65 76 65 6e @example.@group.(-map-when.'even
85fc0 3f 20 27 73 71 75 61 72 65 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c ?.'square.'(1.2.3.4)).....@resul
85fe0 74 7b 7d 20 28 31 20 34 20 33 20 31 36 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 t{}.(1.4.3.16).@end.group.@group
86000 0a 28 2d 2d 6d 61 70 2d 77 68 65 6e 20 28 3e 20 69 74 20 32 29 20 28 2a 20 69 74 20 69 74 29 20 .(--map-when.(>.it.2).(*.it.it).
86020 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 39 '(1.2.3.4)).....@result{}.(1.2.9
86040 20 31 36 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 6d 61 70 2d 77 68 .16).@end.group.@group.(--map-wh
86060 65 6e 20 28 3d 20 69 74 20 32 29 20 31 37 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 en.(=.it.2).17.'(1.2.3.4)).....@
86080 72 65 73 75 6c 74 7b 7d 20 28 31 20 31 37 20 33 20 34 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 result{}.(1.17.3.4).@end.group.@
860a0 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b end.example.@end.defun..@anchor{
860c0 2d 6d 61 70 2d 66 69 72 73 74 7d 0a 40 64 65 66 75 6e 20 2d 6d 61 70 2d 66 69 72 73 74 20 28 70 -map-first}.@defun.-map-first.(p
860e0 72 65 64 20 72 65 70 20 6c 69 73 74 29 0a 52 65 70 6c 61 63 65 20 66 69 72 73 74 20 69 74 65 6d red.rep.list).Replace.first.item
86100 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 20 73 61 74 69 73 66 79 69 6e 67 20 40 76 61 72 7b 70 .in.@var{list}.satisfying.@var{p
86120 72 65 64 7d 20 77 69 74 68 20 72 65 73 75 6c 74 20 6f 66 20 40 76 61 72 7b 72 65 70 7d 20 63 61 red}.with.result.of.@var{rep}.ca
86140 6c 6c 65 64 20 6f 6e 20 74 68 69 73 20 69 74 65 6d 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 lled.on.this.item...See.also:.@c
86160 6f 64 65 7b 2d 6d 61 70 2d 77 68 65 6e 7d 20 28 40 70 78 72 65 66 7b 2d 6d 61 70 2d 77 68 65 6e ode{-map-when}.(@pxref{-map-when
86180 7d 29 2c 20 40 63 6f 64 65 7b 2d 72 65 70 6c 61 63 65 2d 66 69 72 73 74 7d 20 28 40 70 78 72 65 }),.@code{-replace-first}.(@pxre
861a0 66 7b 2d 72 65 70 6c 61 63 65 2d 66 69 72 73 74 7d 29 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 f{-replace-first})..@example.@gr
861c0 6f 75 70 0a 28 2d 6d 61 70 2d 66 69 72 73 74 20 27 65 76 65 6e 3f 20 27 73 71 75 61 72 65 20 27 oup.(-map-first.'even?.'square.'
861e0 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 34 20 33 20 (1.2.3.4)).....@result{}.(1.4.3.
86200 34 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 6d 61 70 2d 66 69 72 73 4).@end.group.@group.(--map-firs
86220 74 20 28 3e 20 69 74 20 32 29 20 28 2a 20 69 74 20 69 74 29 20 27 28 31 20 32 20 33 20 34 29 29 t.(>.it.2).(*.it.it).'(1.2.3.4))
86240 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 39 20 34 29 0a 40 65 6e 64 20 67 72 .....@result{}.(1.2.9.4).@end.gr
86260 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 6d 61 70 2d 66 69 72 73 74 20 28 3d 20 69 74 20 32 29 oup.@group.(--map-first.(=.it.2)
86280 20 31 37 20 27 28 31 20 32 20 33 20 32 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 .17.'(1.2.3.2)).....@result{}.(1
862a0 20 31 37 20 33 20 32 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 .17.3.2).@end.group.@end.example
862c0 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 6d 61 70 2d 6c 61 73 74 7d 0a .@end.defun..@anchor{-map-last}.
862e0 40 64 65 66 75 6e 20 2d 6d 61 70 2d 6c 61 73 74 20 28 70 72 65 64 20 72 65 70 20 6c 69 73 74 29 @defun.-map-last.(pred.rep.list)
86300 0a 52 65 70 6c 61 63 65 20 6c 61 73 74 20 69 74 65 6d 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d .Replace.last.item.in.@var{list}
86320 20 73 61 74 69 73 66 79 69 6e 67 20 40 76 61 72 7b 70 72 65 64 7d 20 77 69 74 68 20 72 65 73 75 .satisfying.@var{pred}.with.resu
86340 6c 74 20 6f 66 20 40 76 61 72 7b 72 65 70 7d 20 63 61 6c 6c 65 64 20 6f 6e 20 74 68 69 73 20 69 lt.of.@var{rep}.called.on.this.i
86360 74 65 6d 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 6d 61 70 2d 77 68 65 6e 7d tem...See.also:.@code{-map-when}
86380 20 28 40 70 78 72 65 66 7b 2d 6d 61 70 2d 77 68 65 6e 7d 29 2c 20 40 63 6f 64 65 7b 2d 72 65 70 .(@pxref{-map-when}),.@code{-rep
863a0 6c 61 63 65 2d 6c 61 73 74 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 70 6c 61 63 65 2d 6c 61 73 74 lace-last}.(@pxref{-replace-last
863c0 7d 29 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 6d 61 70 2d 6c 61 73 74 20 27 })..@example.@group.(-map-last.'
863e0 65 76 65 6e 3f 20 27 73 71 75 61 72 65 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 even?.'square.'(1.2.3.4)).....@r
86400 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 20 31 36 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 esult{}.(1.2.3.16).@end.group.@g
86420 72 6f 75 70 0a 28 2d 2d 6d 61 70 2d 6c 61 73 74 20 28 3e 20 69 74 20 32 29 20 28 2a 20 69 74 20 roup.(--map-last.(>.it.2).(*.it.
86440 69 74 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 it).'(1.2.3.4)).....@result{}.(1
86460 20 32 20 33 20 31 36 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 6d 61 .2.3.16).@end.group.@group.(--ma
86480 70 2d 6c 61 73 74 20 28 3d 20 69 74 20 32 29 20 31 37 20 27 28 31 20 32 20 33 20 32 29 29 0a 20 p-last.(=.it.2).17.'(1.2.3.2))..
864a0 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 20 31 37 29 0a 40 65 6e 64 20 67 72 6f ...@result{}.(1.2.3.17).@end.gro
864c0 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 up.@end.example.@end.defun..@anc
864e0 68 6f 72 7b 2d 6d 61 70 2d 69 6e 64 65 78 65 64 7d 0a 40 64 65 66 75 6e 20 2d 6d 61 70 2d 69 6e hor{-map-indexed}.@defun.-map-in
86500 64 65 78 65 64 20 28 66 6e 20 6c 69 73 74 29 0a 41 70 70 6c 79 20 40 76 61 72 7b 66 6e 7d 20 74 dexed.(fn.list).Apply.@var{fn}.t
86520 6f 20 65 61 63 68 20 69 6e 64 65 78 20 61 6e 64 20 69 74 65 6d 20 69 6e 20 40 76 61 72 7b 6c 69 o.each.index.and.item.in.@var{li
86540 73 74 7d 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 20 6c 69 73 74 20 6f 66 20 72 65 73 75 6c st}.and.return.the.list.of.resul
86560 74 73 2e 0a 54 68 69 73 20 69 73 20 6c 69 6b 65 20 40 63 6f 64 65 7b 2d 6d 61 70 7d 20 28 40 70 ts..This.is.like.@code{-map}.(@p
86580 78 72 65 66 7b 2d 6d 61 70 7d 29 2c 20 62 75 74 20 40 76 61 72 7b 66 6e 7d 20 74 61 6b 65 73 20 xref{-map}),.but.@var{fn}.takes.
865a0 74 77 6f 20 61 72 67 75 6d 65 6e 74 73 3a 20 74 68 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 0a two.arguments:.the.index.of.the.
865c0 63 75 72 72 65 6e 74 20 65 6c 65 6d 65 6e 74 20 77 69 74 68 69 6e 20 40 76 61 72 7b 6c 69 73 74 current.element.within.@var{list
865e0 7d 2c 20 61 6e 64 20 74 68 65 20 65 6c 65 6d 65 6e 74 20 69 74 73 65 6c 66 2e 0a 0a 54 68 69 73 },.and.the.element.itself...This
86600 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 .function's.anaphoric.counterpar
86620 74 20 69 73 20 40 63 6f 64 65 7b 2d 2d 6d 61 70 2d 69 6e 64 65 78 65 64 7d 2e 0a 0a 46 6f 72 20 t.is.@code{--map-indexed}...For.
86640 61 20 73 69 64 65 2d 65 66 66 65 63 74 69 6e 67 20 76 61 72 69 61 6e 74 2c 20 73 65 65 20 61 6c a.side-effecting.variant,.see.al
86660 73 6f 20 40 63 6f 64 65 7b 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 7d 20 28 40 70 78 72 65 66 7b so.@code{-each-indexed}.(@pxref{
86680 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 -each-indexed})...@example.@grou
866a0 70 0a 28 2d 6d 61 70 2d 69 6e 64 65 78 65 64 20 28 6c 61 6d 62 64 61 20 28 69 6e 64 65 78 20 69 p.(-map-indexed.(lambda.(index.i
866c0 74 65 6d 29 20 28 2d 20 69 74 65 6d 20 69 6e 64 65 78 29 29 20 27 28 31 20 32 20 33 20 34 29 29 tem).(-.item.index)).'(1.2.3.4))
866e0 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 31 20 31 20 31 29 0a 40 65 6e 64 20 67 72 .....@result{}.(1.1.1.1).@end.gr
86700 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 6d 61 70 2d 69 6e 64 65 78 65 64 20 28 2d 20 69 74 20 oup.@group.(--map-indexed.(-.it.
86720 69 74 2d 69 6e 64 65 78 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c it-index).'(1.2.3.4)).....@resul
86740 74 7b 7d 20 28 31 20 31 20 31 20 31 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a t{}.(1.1.1.1).@end.group.@group.
86760 28 2d 6d 61 70 2d 69 6e 64 65 78 65 64 20 23 27 2a 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 (-map-indexed.#'*.'(1.2.3.4))...
86780 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 30 20 32 20 36 20 31 32 29 0a 40 65 6e 64 20 67 72 6f 75 ..@result{}.(0.2.6.12).@end.grou
867a0 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 p.@end.example.@end.defun..@anch
867c0 6f 72 7b 2d 61 6e 6e 6f 74 61 74 65 7d 0a 40 64 65 66 75 6e 20 2d 61 6e 6e 6f 74 61 74 65 20 28 or{-annotate}.@defun.-annotate.(
867e0 66 6e 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 63 6f 6e 73 20 63 fn.list).Return.a.list.of.cons.c
86800 65 6c 6c 73 20 77 68 65 72 65 20 65 61 63 68 20 63 65 6c 6c 20 69 73 20 40 76 61 72 7b 66 6e 7d ells.where.each.cell.is.@var{fn}
86820 20 61 70 70 6c 69 65 64 20 74 6f 20 65 61 63 68 0a 65 6c 65 6d 65 6e 74 20 6f 66 20 40 76 61 72 .applied.to.each.element.of.@var
86840 7b 6c 69 73 74 7d 20 70 61 69 72 65 64 20 77 69 74 68 20 74 68 65 20 75 6e 6d 6f 64 69 66 69 65 {list}.paired.with.the.unmodifie
86860 64 20 65 6c 65 6d 65 6e 74 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 0a 40 65 78 61 6d 70 d.element.of.@var{list}...@examp
86880 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 61 6e 6e 6f 74 61 74 65 20 27 31 2b 20 27 28 31 20 32 20 33 le.@group.(-annotate.'1+.'(1.2.3
868a0 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 32 20 2e 20 31 29 20 28 33 20 2e 20 32 )).....@result{}.((2...1).(3...2
868c0 29 20 28 34 20 2e 20 33 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 61 ).(4...3)).@end.group.@group.(-a
868e0 6e 6e 6f 74 61 74 65 20 27 6c 65 6e 67 74 68 20 27 28 28 22 68 22 20 22 65 22 20 22 6c 22 20 22 nnotate.'length.'(("h"."e"."l"."
86900 6c 22 20 22 6f 22 29 20 28 22 68 65 6c 6c 6f 22 20 22 77 6f 72 6c 64 22 29 29 29 0a 20 20 20 20 l"."o").("hello"."world"))).....
86920 40 72 65 73 75 6c 74 7b 7d 20 28 28 35 20 22 68 22 20 22 65 22 20 22 6c 22 20 22 6c 22 20 22 6f @result{}.((5."h"."e"."l"."l"."o
86940 22 29 20 28 32 20 22 68 65 6c 6c 6f 22 20 22 77 6f 72 6c 64 22 29 29 0a 40 65 6e 64 20 67 72 6f ").(2."hello"."world")).@end.gro
86960 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 61 6e 6e 6f 74 61 74 65 20 28 3c 20 31 20 69 74 29 20 27 up.@group.(--annotate.(<.1.it).'
86980 28 30 20 31 20 32 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 6e 69 6c 20 2e (0.1.2.3)).....@result{}.((nil..
869a0 20 30 29 20 28 6e 69 6c 20 2e 20 31 29 20 28 74 20 2e 20 32 29 20 28 74 20 2e 20 33 29 29 0a 40 .0).(nil...1).(t...2).(t...3)).@
869c0 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 end.group.@end.example.@end.defu
869e0 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 73 70 6c 69 63 65 7d 0a 40 64 65 66 75 6e 20 2d 73 70 6c 69 n..@anchor{-splice}.@defun.-spli
86a00 63 65 20 28 70 72 65 64 20 66 75 6e 20 6c 69 73 74 29 0a 53 70 6c 69 63 65 20 6c 69 73 74 73 20 ce.(pred.fun.list).Splice.lists.
86a20 67 65 6e 65 72 61 74 65 64 20 62 79 20 40 76 61 72 7b 66 75 6e 7d 20 69 6e 20 70 6c 61 63 65 20 generated.by.@var{fun}.in.place.
86a40 6f 66 20 65 6c 65 6d 65 6e 74 73 20 6d 61 74 63 68 69 6e 67 20 40 76 61 72 7b 70 72 65 64 7d 20 of.elements.matching.@var{pred}.
86a60 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 0a 40 76 61 72 7b 66 75 6e 7d 20 74 61 6b 65 73 20 in.@var{list}...@var{fun}.takes.
86a80 74 68 65 20 65 6c 65 6d 65 6e 74 20 6d 61 74 63 68 69 6e 67 20 40 76 61 72 7b 70 72 65 64 7d 20 the.element.matching.@var{pred}.
86aa0 61 73 20 69 6e 70 75 74 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 20 62 65 20 as.input...This.function.can.be.
86ac0 75 73 65 64 20 61 73 20 72 65 70 6c 61 63 65 6d 65 6e 74 20 66 6f 72 20 40 63 6f 64 65 7b 2c 40 used.as.replacement.for.@code{,@
86ae0 40 7d 20 69 6e 20 63 61 73 65 20 79 6f 75 0a 6e 65 65 64 20 74 6f 20 73 70 6c 69 63 65 20 73 65 @}.in.case.you.need.to.splice.se
86b00 76 65 72 61 6c 20 6c 69 73 74 73 20 61 74 20 6d 61 72 6b 65 64 20 70 6f 73 69 74 69 6f 6e 73 20 veral.lists.at.marked.positions.
86b20 28 66 6f 72 20 65 78 61 6d 70 6c 65 0a 77 69 74 68 20 6b 65 79 77 6f 72 64 73 29 2e 0a 0a 53 65 (for.example.with.keywords)...Se
86b40 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 73 70 6c 69 63 65 2d 6c 69 73 74 7d 20 28 40 70 78 e.also:.@code{-splice-list}.(@px
86b60 72 65 66 7b 2d 73 70 6c 69 63 65 2d 6c 69 73 74 7d 29 2c 20 40 63 6f 64 65 7b 2d 69 6e 73 65 72 ref{-splice-list}),.@code{-inser
86b80 74 2d 61 74 7d 20 28 40 70 78 72 65 66 7b 2d 69 6e 73 65 72 74 2d 61 74 7d 29 0a 0a 40 65 78 61 t-at}.(@pxref{-insert-at})..@exa
86ba0 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 73 70 6c 69 63 65 20 27 65 76 65 6e 3f 20 28 6c 61 6d mple.@group.(-splice.'even?.(lam
86bc0 62 64 61 20 28 78 29 20 28 6c 69 73 74 20 78 20 78 29 29 20 27 28 31 20 32 20 33 20 34 29 29 0a bda.(x).(list.x.x)).'(1.2.3.4)).
86be0 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 32 20 33 20 34 20 34 29 0a 40 65 6e 64 ....@result{}.(1.2.2.3.4.4).@end
86c00 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 73 70 6c 69 63 65 20 27 74 20 28 6c 69 73 74 .group.@group.(--splice.'t.(list
86c20 20 69 74 20 69 74 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b .it.it).'(1.2.3.4)).....@result{
86c40 7d 20 28 31 20 31 20 32 20 32 20 33 20 33 20 34 20 34 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 }.(1.1.2.2.3.3.4.4).@end.group.@
86c60 67 72 6f 75 70 0a 28 2d 2d 73 70 6c 69 63 65 20 28 65 71 75 61 6c 20 69 74 20 3a 6d 61 67 69 63 group.(--splice.(equal.it.:magic
86c80 29 20 27 28 28 6c 69 73 74 20 6f 66 29 20 28 6d 61 67 69 63 61 6c 29 20 28 63 6f 64 65 29 29 20 ).'((list.of).(magical).(code)).
86ca0 27 28 28 66 6f 6f 29 20 28 62 61 72 29 20 3a 6d 61 67 69 63 20 28 62 61 7a 29 29 29 0a 20 20 20 '((foo).(bar).:magic.(baz)))....
86cc0 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 66 6f 6f 29 20 28 62 61 72 29 20 28 6c 69 73 74 20 6f 66 .@result{}.((foo).(bar).(list.of
86ce0 29 20 28 6d 61 67 69 63 61 6c 29 20 28 63 6f 64 65 29 20 28 62 61 7a 29 29 0a 40 65 6e 64 20 67 ).(magical).(code).(baz)).@end.g
86d00 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 roup.@end.example.@end.defun..@a
86d20 6e 63 68 6f 72 7b 2d 73 70 6c 69 63 65 2d 6c 69 73 74 7d 0a 40 64 65 66 75 6e 20 2d 73 70 6c 69 nchor{-splice-list}.@defun.-spli
86d40 63 65 2d 6c 69 73 74 20 28 70 72 65 64 20 6e 65 77 2d 6c 69 73 74 20 6c 69 73 74 29 0a 53 70 6c ce-list.(pred.new-list.list).Spl
86d60 69 63 65 20 40 76 61 72 7b 6e 65 77 2d 6c 69 73 74 7d 20 69 6e 20 70 6c 61 63 65 20 6f 66 20 65 ice.@var{new-list}.in.place.of.e
86d80 6c 65 6d 65 6e 74 73 20 6d 61 74 63 68 69 6e 67 20 40 76 61 72 7b 70 72 65 64 7d 20 69 6e 20 40 lements.matching.@var{pred}.in.@
86da0 76 61 72 7b 6c 69 73 74 7d 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 73 70 6c var{list}...See.also:.@code{-spl
86dc0 69 63 65 7d 20 28 40 70 78 72 65 66 7b 2d 73 70 6c 69 63 65 7d 29 2c 20 40 63 6f 64 65 7b 2d 69 ice}.(@pxref{-splice}),.@code{-i
86de0 6e 73 65 72 74 2d 61 74 7d 20 28 40 70 78 72 65 66 7b 2d 69 6e 73 65 72 74 2d 61 74 7d 29 0a 0a nsert-at}.(@pxref{-insert-at})..
86e00 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 73 70 6c 69 63 65 2d 6c 69 73 74 20 27 6b @example.@group.(-splice-list.'k
86e20 65 79 77 6f 72 64 70 20 27 28 61 20 62 20 63 29 20 27 28 31 20 3a 66 6f 6f 20 32 29 29 0a 20 20 eywordp.'(a.b.c).'(1.:foo.2))...
86e40 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 61 20 62 20 63 20 32 29 0a 40 65 6e 64 20 67 72 6f ..@result{}.(1.a.b.c.2).@end.gro
86e60 75 70 0a 40 67 72 6f 75 70 0a 28 2d 73 70 6c 69 63 65 2d 6c 69 73 74 20 27 6b 65 79 77 6f 72 64 up.@group.(-splice-list.'keyword
86e80 70 20 6e 69 6c 20 27 28 31 20 3a 66 6f 6f 20 32 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d p.nil.'(1.:foo.2)).....@result{}
86ea0 20 28 31 20 32 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 73 70 6c 69 .(1.2).@end.group.@group.(--spli
86ec0 63 65 2d 6c 69 73 74 20 28 6b 65 79 77 6f 72 64 70 20 69 74 29 20 27 28 61 20 62 20 63 29 20 27 ce-list.(keywordp.it).'(a.b.c).'
86ee0 28 31 20 3a 66 6f 6f 20 32 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 61 20 62 (1.:foo.2)).....@result{}.(1.a.b
86f00 20 63 20 32 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 .c.2).@end.group.@end.example.@e
86f20 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 6d 61 70 63 61 74 7d 0a 40 64 65 66 75 nd.defun..@anchor{-mapcat}.@defu
86f40 6e 20 2d 6d 61 70 63 61 74 20 28 66 6e 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 74 68 65 20 63 n.-mapcat.(fn.list).Return.the.c
86f60 6f 6e 63 61 74 65 6e 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 6d 61 oncatenation.of.the.result.of.ma
86f80 70 70 69 6e 67 20 40 76 61 72 7b 66 6e 7d 20 6f 76 65 72 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a pping.@var{fn}.over.@var{list}..
86fa0 54 68 75 73 20 66 75 6e 63 74 69 6f 6e 20 40 76 61 72 7b 66 6e 7d 20 73 68 6f 75 6c 64 20 72 65 Thus.function.@var{fn}.should.re
86fc0 74 75 72 6e 20 61 20 6c 69 73 74 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d turn.a.list...@example.@group.(-
86fe0 6d 61 70 63 61 74 20 27 6c 69 73 74 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 mapcat.'list.'(1.2.3)).....@resu
87000 6c 74 7b 7d 20 28 31 20 32 20 33 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 lt{}.(1.2.3).@end.group.@group.(
87020 2d 6d 61 70 63 61 74 20 28 6c 61 6d 62 64 61 20 28 69 74 65 6d 29 20 28 6c 69 73 74 20 30 20 69 -mapcat.(lambda.(item).(list.0.i
87040 74 65 6d 29 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 30 tem)).'(1.2.3)).....@result{}.(0
87060 20 31 20 30 20 32 20 30 20 33 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d .1.0.2.0.3).@end.group.@group.(-
87080 2d 6d 61 70 63 61 74 20 28 6c 69 73 74 20 30 20 69 74 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 -mapcat.(list.0.it).'(1.2.3))...
870a0 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 30 20 31 20 30 20 32 20 30 20 33 29 0a 40 65 6e 64 20 67 ..@result{}.(0.1.0.2.0.3).@end.g
870c0 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 roup.@end.example.@end.defun..@a
870e0 6e 63 68 6f 72 7b 2d 63 6f 70 79 7d 0a 40 64 65 66 75 6e 20 2d 63 6f 70 79 20 28 6c 69 73 74 29 nchor{-copy}.@defun.-copy.(list)
87100 0a 43 72 65 61 74 65 20 61 20 73 68 61 6c 6c 6f 77 20 63 6f 70 79 20 6f 66 20 40 76 61 72 7b 6c .Create.a.shallow.copy.of.@var{l
87120 69 73 74 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 63 6f 70 79 20 27 28 ist}...@example.@group.(-copy.'(
87140 31 20 32 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 29 0a 40 65 1.2.3)).....@result{}.(1.2.3).@e
87160 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 28 28 61 20 27 28 31 20 32 20 33 nd.group.@group.(let.((a.'(1.2.3
87180 29 29 29 20 28 65 71 20 61 20 28 2d 63 6f 70 79 20 61 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c ))).(eq.a.(-copy.a))).....@resul
871a0 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a t{}.nil.@end.group.@end.example.
871c0 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 6e 6f 64 65 20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 @end.defun..@node.Sublist.select
871e0 69 6f 6e 0a 40 73 65 63 74 69 6f 6e 20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 0a 0a ion.@section.Sublist.selection..
87200 46 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 69 6e 67 20 61 20 73 75 62 6c 69 73 74 20 6f 66 Functions.returning.a.sublist.of
87220 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 6c 69 73 74 2e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 66 69 .the.original.list...@anchor{-fi
87240 6c 74 65 72 7d 0a 40 64 65 66 75 6e 20 2d 66 69 6c 74 65 72 20 28 70 72 65 64 20 6c 69 73 74 29 lter}.@defun.-filter.(pred.list)
87260 0a 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 6f 66 20 74 68 65 20 69 74 65 6d 73 20 .Return.a.new.list.of.the.items.
87280 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 20 66 6f 72 20 77 68 69 63 68 20 40 76 61 72 7b 70 72 65 in.@var{list}.for.which.@var{pre
872a0 64 7d 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 0a 41 6c 69 61 73 3a 20 40 63 6f 64 d}.returns.non-nil...Alias:.@cod
872c0 65 7b 2d 73 65 6c 65 63 74 7d 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 e{-select}...This.function's.ana
872e0 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 40 63 6f 64 65 7b 2d 2d 66 69 phoric.counterpart.is.@code{--fi
87300 6c 74 65 72 7d 2e 0a 0a 46 6f 72 20 73 69 6d 69 6c 61 72 20 6f 70 65 72 61 74 69 6f 6e 73 2c 20 lter}...For.similar.operations,.
87320 73 65 65 20 61 6c 73 6f 20 40 63 6f 64 65 7b 2d 6b 65 65 70 7d 20 28 40 70 78 72 65 66 7b 2d 6b see.also.@code{-keep}.(@pxref{-k
87340 65 65 70 7d 29 20 61 6e 64 20 40 63 6f 64 65 7b 2d 72 65 6d 6f 76 65 7d 20 28 40 70 78 72 65 66 eep}).and.@code{-remove}.(@pxref
87360 7b 2d 72 65 6d 6f 76 65 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 66 {-remove})...@example.@group.(-f
87380 69 6c 74 65 72 20 28 6c 61 6d 62 64 61 20 28 6e 75 6d 29 20 28 3d 20 30 20 28 25 20 6e 75 6d 20 ilter.(lambda.(num).(=.0.(%.num.
873a0 32 29 29 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 2))).'(1.2.3.4)).....@result{}.(
873c0 32 20 34 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 66 69 6c 74 65 72 20 2.4).@end.group.@group.(-filter.
873e0 23 27 6e 61 74 6e 75 6d 70 20 27 28 2d 32 20 2d 31 20 30 20 31 20 32 29 29 0a 20 20 20 20 40 72 #'natnump.'(-2.-1.0.1.2)).....@r
87400 65 73 75 6c 74 7b 7d 20 28 30 20 31 20 32 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 esult{}.(0.1.2).@end.group.@grou
87420 70 0a 28 2d 2d 66 69 6c 74 65 72 20 28 3d 20 30 20 28 25 20 69 74 20 32 29 29 20 27 28 31 20 32 p.(--filter.(=.0.(%.it.2)).'(1.2
87440 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 32 20 34 29 0a 40 65 6e 64 20 .3.4)).....@result{}.(2.4).@end.
87460 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 group.@end.example.@end.defun..@
87480 61 6e 63 68 6f 72 7b 2d 72 65 6d 6f 76 65 7d 0a 40 64 65 66 75 6e 20 2d 72 65 6d 6f 76 65 20 28 anchor{-remove}.@defun.-remove.(
874a0 70 72 65 64 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 6f 66 20 pred.list).Return.a.new.list.of.
874c0 74 68 65 20 69 74 65 6d 73 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 20 66 6f 72 20 77 68 69 63 the.items.in.@var{list}.for.whic
874e0 68 20 40 76 61 72 7b 70 72 65 64 7d 20 72 65 74 75 72 6e 73 20 6e 69 6c 2e 0a 0a 41 6c 69 61 73 h.@var{pred}.returns.nil...Alias
87500 3a 20 40 63 6f 64 65 7b 2d 72 65 6a 65 63 74 7d 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e :.@code{-reject}...This.function
87520 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 40 63 6f 64 's.anaphoric.counterpart.is.@cod
87540 65 7b 2d 2d 72 65 6d 6f 76 65 7d 2e 0a 0a 46 6f 72 20 73 69 6d 69 6c 61 72 20 6f 70 65 72 61 74 e{--remove}...For.similar.operat
87560 69 6f 6e 73 2c 20 73 65 65 20 61 6c 73 6f 20 40 63 6f 64 65 7b 2d 6b 65 65 70 7d 20 28 40 70 78 ions,.see.also.@code{-keep}.(@px
87580 72 65 66 7b 2d 6b 65 65 70 7d 29 20 61 6e 64 20 40 63 6f 64 65 7b 2d 66 69 6c 74 65 72 7d 20 28 ref{-keep}).and.@code{-filter}.(
875a0 40 70 78 72 65 66 7b 2d 66 69 6c 74 65 72 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f @pxref{-filter})...@example.@gro
875c0 75 70 0a 28 2d 72 65 6d 6f 76 65 20 28 6c 61 6d 62 64 61 20 28 6e 75 6d 29 20 28 3d 20 30 20 28 up.(-remove.(lambda.(num).(=.0.(
875e0 25 20 6e 75 6d 20 32 29 29 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 %.num.2))).'(1.2.3.4)).....@resu
87600 6c 74 7b 7d 20 28 31 20 33 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 72 lt{}.(1.3).@end.group.@group.(-r
87620 65 6d 6f 76 65 20 23 27 6e 61 74 6e 75 6d 70 20 27 28 2d 32 20 2d 31 20 30 20 31 20 32 29 29 0a emove.#'natnump.'(-2.-1.0.1.2)).
87640 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 2d 32 20 2d 31 29 0a 40 65 6e 64 20 67 72 6f 75 70 ....@result{}.(-2.-1).@end.group
87660 0a 40 67 72 6f 75 70 0a 28 2d 2d 72 65 6d 6f 76 65 20 28 3d 20 30 20 28 25 20 69 74 20 32 29 29 .@group.(--remove.(=.0.(%.it.2))
87680 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 33 29 .'(1.2.3.4)).....@result{}.(1.3)
876a0 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 .@end.group.@end.example.@end.de
876c0 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 7d 0a 40 64 65 66 fun..@anchor{-remove-first}.@def
876e0 75 6e 20 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 20 28 70 72 65 64 20 6c 69 73 74 29 0a 52 65 6d un.-remove-first.(pred.list).Rem
87700 6f 76 65 20 74 68 65 20 66 69 72 73 74 20 69 74 65 6d 20 66 72 6f 6d 20 40 76 61 72 7b 6c 69 73 ove.the.first.item.from.@var{lis
87720 74 7d 20 66 6f 72 20 77 68 69 63 68 20 40 76 61 72 7b 70 72 65 64 7d 20 72 65 74 75 72 6e 73 20 t}.for.which.@var{pred}.returns.
87740 6e 6f 6e 2d 6e 69 6c 2e 0a 54 68 69 73 20 69 73 20 61 20 6e 6f 6e 2d 64 65 73 74 72 75 63 74 69 non-nil..This.is.a.non-destructi
87760 76 65 20 6f 70 65 72 61 74 69 6f 6e 2c 20 62 75 74 20 6f 6e 6c 79 20 74 68 65 20 66 72 6f 6e 74 ve.operation,.but.only.the.front
87780 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 0a 6c 65 61 64 69 6e 67 20 75 70 20 74 6f 20 74 68 65 .of.@var{list}.leading.up.to.the
877a0 20 72 65 6d 6f 76 65 64 20 69 74 65 6d 20 69 73 20 61 20 63 6f 70 79 3b 20 74 68 65 20 72 65 73 .removed.item.is.a.copy;.the.res
877c0 74 20 69 73 20 40 76 61 72 7b 6c 69 73 74 7d 27 73 0a 6f 72 69 67 69 6e 61 6c 20 74 61 69 6c 2e t.is.@var{list}'s.original.tail.
877e0 20 20 49 66 20 6e 6f 20 69 74 65 6d 20 69 73 20 72 65 6d 6f 76 65 64 2c 20 74 68 65 6e 20 74 68 ..If.no.item.is.removed,.then.th
87800 65 20 72 65 73 75 6c 74 20 69 73 20 61 0a 63 6f 6d 70 6c 65 74 65 20 63 6f 70 79 2e 0a 0a 41 6c e.result.is.a.complete.copy...Al
87820 69 61 73 3a 20 40 63 6f 64 65 7b 2d 72 65 6a 65 63 74 2d 66 69 72 73 74 7d 2e 0a 0a 54 68 69 73 ias:.@code{-reject-first}...This
87840 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 .function's.anaphoric.counterpar
87860 74 20 69 73 20 40 63 6f 64 65 7b 2d 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 7d 2e 0a 0a 53 65 65 t.is.@code{--remove-first}...See
87880 20 61 6c 73 6f 20 40 63 6f 64 65 7b 2d 6d 61 70 2d 66 69 72 73 74 7d 20 28 40 70 78 72 65 66 7b .also.@code{-map-first}.(@pxref{
878a0 2d 6d 61 70 2d 66 69 72 73 74 7d 29 2c 20 40 63 6f 64 65 7b 2d 72 65 6d 6f 76 65 2d 69 74 65 6d -map-first}),.@code{-remove-item
878c0 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 7d 29 2c 20 61 6e 64 20 40 63 }.(@pxref{-remove-item}),.and.@c
878e0 6f 64 65 7b 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 6d 6f 76 ode{-remove-last}.(@pxref{-remov
87900 65 2d 6c 61 73 74 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 72 65 6d e-last})...@example.@group.(-rem
87920 6f 76 65 2d 66 69 72 73 74 20 23 27 6e 61 74 6e 75 6d 70 20 27 28 2d 32 20 2d 31 20 30 20 31 20 ove-first.#'natnump.'(-2.-1.0.1.
87940 32 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 2d 32 20 2d 31 20 31 20 32 29 0a 40 65 2)).....@result{}.(-2.-1.1.2).@e
87960 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 20 23 nd.group.@group.(-remove-first.#
87980 27 73 74 72 69 6e 67 70 20 27 28 31 20 32 20 22 66 69 72 73 74 22 20 22 73 65 63 6f 6e 64 22 29 'stringp.'(1.2."first"."second")
879a0 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 22 73 65 63 6f 6e 64 22 29 0a 40 ).....@result{}.(1.2."second").@
879c0 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 end.group.@group.(--remove-first
879e0 20 28 3e 20 69 74 20 33 29 20 27 28 31 20 32 20 33 20 34 20 35 20 36 29 29 0a 20 20 20 20 40 72 .(>.it.3).'(1.2.3.4.5.6)).....@r
87a00 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 20 35 20 36 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 esult{}.(1.2.3.5.6).@end.group.@
87a20 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b end.example.@end.defun..@anchor{
87a40 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 7d 0a 40 64 65 66 75 6e 20 2d 72 65 6d 6f 76 65 2d 6c 61 73 -remove-last}.@defun.-remove-las
87a60 74 20 28 70 72 65 64 20 6c 69 73 74 29 0a 52 65 6d 6f 76 65 20 74 68 65 20 6c 61 73 74 20 69 74 t.(pred.list).Remove.the.last.it
87a80 65 6d 20 66 72 6f 6d 20 40 76 61 72 7b 6c 69 73 74 7d 20 66 6f 72 20 77 68 69 63 68 20 40 76 61 em.from.@var{list}.for.which.@va
87aa0 72 7b 70 72 65 64 7d 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 54 68 65 20 72 65 73 r{pred}.returns.non-nil..The.res
87ac0 75 6c 74 20 69 73 20 61 20 63 6f 70 79 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 72 65 67 61 ult.is.a.copy.of.@var{list}.rega
87ae0 72 64 6c 65 73 73 20 6f 66 20 77 68 65 74 68 65 72 20 61 6e 20 65 6c 65 6d 65 6e 74 20 69 73 0a rdless.of.whether.an.element.is.
87b00 72 65 6d 6f 76 65 64 2e 0a 0a 41 6c 69 61 73 3a 20 40 63 6f 64 65 7b 2d 72 65 6a 65 63 74 2d 6c removed...Alias:.@code{-reject-l
87b20 61 73 74 7d 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 ast}...This.function's.anaphoric
87b40 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 40 63 6f 64 65 7b 2d 2d 72 65 6d 6f 76 65 2d 6c .counterpart.is.@code{--remove-l
87b60 61 73 74 7d 2e 0a 0a 53 65 65 20 61 6c 73 6f 20 40 63 6f 64 65 7b 2d 6d 61 70 2d 6c 61 73 74 7d ast}...See.also.@code{-map-last}
87b80 20 28 40 70 78 72 65 66 7b 2d 6d 61 70 2d 6c 61 73 74 7d 29 2c 20 40 63 6f 64 65 7b 2d 72 65 6d .(@pxref{-map-last}),.@code{-rem
87ba0 6f 76 65 2d 69 74 65 6d 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 7d 29 ove-item}.(@pxref{-remove-item})
87bc0 2c 20 61 6e 64 20 40 63 6f 64 65 7b 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 7d 20 28 40 70 78 72 ,.and.@code{-remove-first}.(@pxr
87be0 65 66 7b 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 ef{-remove-first})...@example.@g
87c00 72 6f 75 70 0a 28 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 20 23 27 6e 61 74 6e 75 6d 70 20 27 28 31 roup.(-remove-last.#'natnump.'(1
87c20 20 33 20 35 20 34 20 37 20 38 20 31 30 20 2d 31 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b .3.5.4.7.8.10.-11)).....@result{
87c40 7d 20 28 31 20 33 20 35 20 34 20 37 20 38 20 2d 31 31 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 }.(1.3.5.4.7.8.-11).@end.group.@
87c60 67 72 6f 75 70 0a 28 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 20 23 27 73 74 72 69 6e 67 70 20 27 28 group.(-remove-last.#'stringp.'(
87c80 31 20 32 20 22 6c 61 73 74 22 20 22 73 65 63 6f 6e 64 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 1.2."last"."second")).....@resul
87ca0 74 7b 7d 20 28 31 20 32 20 22 6c 61 73 74 22 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f t{}.(1.2."last").@end.group.@gro
87cc0 75 70 0a 28 2d 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 20 28 3e 20 69 74 20 33 29 20 27 28 31 20 32 up.(--remove-last.(>.it.3).'(1.2
87ce0 20 33 20 34 20 35 20 36 20 37 20 38 20 39 20 31 30 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b .3.4.5.6.7.8.9.10)).....@result{
87d00 7d 20 28 31 20 32 20 33 20 34 20 35 20 36 20 37 20 38 20 39 29 0a 40 65 6e 64 20 67 72 6f 75 70 }.(1.2.3.4.5.6.7.8.9).@end.group
87d20 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f .@end.example.@end.defun..@ancho
87d40 72 7b 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 7d 0a 40 64 65 66 75 6e 20 2d 72 65 6d 6f 76 65 2d 69 r{-remove-item}.@defun.-remove-i
87d60 74 65 6d 20 28 69 74 65 6d 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 tem.(item.list).Return.a.copy.of
87d80 20 40 76 61 72 7b 6c 69 73 74 7d 20 77 69 74 68 20 61 6c 6c 20 6f 63 63 75 72 72 65 6e 63 65 73 .@var{list}.with.all.occurrences
87da0 20 6f 66 20 40 76 61 72 7b 69 74 65 6d 7d 20 72 65 6d 6f 76 65 64 2e 0a 54 68 65 20 63 6f 6d 70 .of.@var{item}.removed..The.comp
87dc0 61 72 69 73 6f 6e 20 69 73 20 64 6f 6e 65 20 77 69 74 68 20 40 63 6f 64 65 7b 65 71 75 61 6c 7d arison.is.done.with.@code{equal}
87de0 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 72 65 6d 6f 76 65 2d 69 74 65 6d ...@example.@group.(-remove-item
87e00 20 33 20 27 28 31 20 32 20 33 20 32 20 33 20 34 20 35 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 .3.'(1.2.3.2.3.4.5.3)).....@resu
87e20 6c 74 7b 7d 20 28 31 20 32 20 32 20 34 20 35 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f lt{}.(1.2.2.4.5).@end.group.@gro
87e40 75 70 0a 28 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 20 27 66 6f 6f 20 27 28 66 6f 6f 20 62 61 72 20 up.(-remove-item.'foo.'(foo.bar.
87e60 62 61 7a 20 66 6f 6f 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 62 61 72 20 62 61 7a baz.foo)).....@result{}.(bar.baz
87e80 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 72 65 6d 6f 76 65 2d 69 74 65 ).@end.group.@group.(-remove-ite
87ea0 6d 20 22 62 6f 62 22 20 27 28 22 61 6c 69 63 65 22 20 22 62 6f 62 22 20 22 65 76 65 22 20 22 62 m."bob".'("alice"."bob"."eve"."b
87ec0 6f 62 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 22 61 6c 69 63 65 22 20 22 65 76 ob")).....@result{}.("alice"."ev
87ee0 65 22 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 e").@end.group.@end.example.@end
87f00 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 6e 6f 6e 2d 6e 69 6c 7d 0a 40 64 65 66 75 6e .defun..@anchor{-non-nil}.@defun
87f20 20 2d 6e 6f 6e 2d 6e 69 6c 20 28 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f .-non-nil.(list).Return.a.copy.o
87f40 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 77 69 74 68 20 61 6c 6c 20 6e 69 6c 20 69 74 65 6d 73 20 f.@var{list}.with.all.nil.items.
87f60 72 65 6d 6f 76 65 64 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 6e 6f 6e 2d removed...@example.@group.(-non-
87f80 6e 69 6c 20 27 28 6e 69 6c 20 31 20 6e 69 6c 20 32 20 6e 69 6c 20 6e 69 6c 20 33 20 34 20 6e 69 nil.'(nil.1.nil.2.nil.nil.3.4.ni
87fa0 6c 20 35 20 6e 69 6c 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 20 34 l.5.nil)).....@result{}.(1.2.3.4
87fc0 20 35 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 6e 6f 6e 2d 6e 69 6c 20 .5).@end.group.@group.(-non-nil.
87fe0 27 28 28 6e 69 6c 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 6e 69 6c 29 29 0a '((nil))).....@result{}.((nil)).
88000 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 6e 6f 6e 2d 6e 69 6c 20 28 29 29 0a @end.group.@group.(-non-nil.()).
88020 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 ....@result{}.().@end.group.@end
88040 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 73 6c .example.@end.defun..@anchor{-sl
88060 69 63 65 7d 0a 40 64 65 66 75 6e 20 2d 73 6c 69 63 65 20 28 6c 69 73 74 20 66 72 6f 6d 20 26 6f ice}.@defun.-slice.(list.from.&o
88080 70 74 69 6f 6e 61 6c 20 74 6f 20 73 74 65 70 29 0a 52 65 74 75 72 6e 20 63 6f 70 79 20 6f 66 20 ptional.to.step).Return.copy.of.
880a0 40 76 61 72 7b 6c 69 73 74 7d 2c 20 73 74 61 72 74 69 6e 67 20 66 72 6f 6d 20 69 6e 64 65 78 20 @var{list},.starting.from.index.
880c0 40 76 61 72 7b 66 72 6f 6d 7d 20 74 6f 20 69 6e 64 65 78 20 40 76 61 72 7b 74 6f 7d 2e 0a 0a 40 @var{from}.to.index.@var{to}...@
880e0 76 61 72 7b 66 72 6f 6d 7d 20 6f 72 20 40 76 61 72 7b 74 6f 7d 20 6d 61 79 20 62 65 20 6e 65 67 var{from}.or.@var{to}.may.be.neg
88100 61 74 69 76 65 2e 20 20 54 68 65 73 65 20 76 61 6c 75 65 73 20 61 72 65 20 74 68 65 6e 20 69 6e ative...These.values.are.then.in
88120 74 65 72 70 72 65 74 65 64 0a 6d 6f 64 75 6c 6f 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 terpreted.modulo.the.length.of.t
88140 68 65 20 6c 69 73 74 2e 0a 0a 49 66 20 40 76 61 72 7b 73 74 65 70 7d 20 69 73 20 61 20 6e 75 6d he.list...If.@var{step}.is.a.num
88160 62 65 72 2c 20 6f 6e 6c 79 20 65 61 63 68 20 53 54 45 50 74 68 20 69 74 65 6d 20 69 6e 20 74 68 ber,.only.each.STEPth.item.in.th
88180 65 20 72 65 73 75 6c 74 69 6e 67 0a 73 65 63 74 69 6f 6e 20 69 73 20 72 65 74 75 72 6e 65 64 2e e.resulting.section.is.returned.
881a0 20 20 44 65 66 61 75 6c 74 73 20 74 6f 20 31 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 ..Defaults.to.1...@example.@grou
881c0 70 0a 28 2d 73 6c 69 63 65 20 27 28 31 20 32 20 33 20 34 20 35 29 20 31 29 0a 20 20 20 20 40 72 p.(-slice.'(1.2.3.4.5).1).....@r
881e0 65 73 75 6c 74 7b 7d 20 28 32 20 33 20 34 20 35 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 esult{}.(2.3.4.5).@end.group.@gr
88200 6f 75 70 0a 28 2d 73 6c 69 63 65 20 27 28 31 20 32 20 33 20 34 20 35 29 20 30 20 33 29 0a 20 20 oup.(-slice.'(1.2.3.4.5).0.3)...
88220 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 ..@result{}.(1.2.3).@end.group.@
88240 67 72 6f 75 70 0a 28 2d 73 6c 69 63 65 20 27 28 31 20 32 20 33 20 34 20 35 20 36 20 37 20 38 20 group.(-slice.'(1.2.3.4.5.6.7.8.
88260 39 29 20 31 20 2d 31 20 32 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 32 20 34 20 36 20 9).1.-1.2).....@result{}.(2.4.6.
88280 38 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 8).@end.group.@end.example.@end.
882a0 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 74 61 6b 65 7d 0a 40 64 65 66 75 6e 20 2d 74 61 defun..@anchor{-take}.@defun.-ta
882c0 6b 65 20 28 6e 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 ke.(n.list).Return.a.copy.of.the
882e0 20 66 69 72 73 74 20 40 76 61 72 7b 6e 7d 20 69 74 65 6d 73 20 69 6e 20 40 76 61 72 7b 6c 69 73 .first.@var{n}.items.in.@var{lis
88300 74 7d 2e 0a 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 t}..Return.a.copy.of.@var{list}.
88320 69 66 20 69 74 20 63 6f 6e 74 61 69 6e 73 20 40 76 61 72 7b 6e 7d 20 69 74 65 6d 73 20 6f 72 20 if.it.contains.@var{n}.items.or.
88340 66 65 77 65 72 2e 0a 52 65 74 75 72 6e 20 6e 69 6c 20 69 66 20 40 76 61 72 7b 6e 7d 20 69 73 20 fewer..Return.nil.if.@var{n}.is.
88360 7a 65 72 6f 20 6f 72 20 6c 65 73 73 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d zero.or.less...See.also:.@code{-
88380 74 61 6b 65 2d 6c 61 73 74 7d 20 28 40 70 78 72 65 66 7b 2d 74 61 6b 65 2d 6c 61 73 74 7d 29 2e take-last}.(@pxref{-take-last}).
883a0 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 74 61 6b 65 20 33 20 27 28 31 20 32 ..@example.@group.(-take.3.'(1.2
883c0 20 33 20 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 29 0a 40 .3.4.5)).....@result{}.(1.2.3).@
883e0 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 74 61 6b 65 20 31 37 20 27 28 31 20 32 end.group.@group.(-take.17.'(1.2
88400 20 33 20 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 20 34 20 .3.4.5)).....@result{}.(1.2.3.4.
88420 35 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 74 61 6b 65 20 30 20 27 28 5).@end.group.@group.(-take.0.'(
88440 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 29 0a 40 65 6e 1.2.3.4.5)).....@result{}.().@en
88460 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a d.group.@end.example.@end.defun.
88480 0a 40 61 6e 63 68 6f 72 7b 2d 74 61 6b 65 2d 6c 61 73 74 7d 0a 40 64 65 66 75 6e 20 2d 74 61 6b .@anchor{-take-last}.@defun.-tak
884a0 65 2d 6c 61 73 74 20 28 6e 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 e-last.(n.list).Return.a.copy.of
884c0 20 74 68 65 20 6c 61 73 74 20 40 76 61 72 7b 6e 7d 20 69 74 65 6d 73 20 6f 66 20 40 76 61 72 7b .the.last.@var{n}.items.of.@var{
884e0 6c 69 73 74 7d 20 69 6e 20 6f 72 64 65 72 2e 0a 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 list}.in.order..Return.a.copy.of
88500 20 40 76 61 72 7b 6c 69 73 74 7d 20 69 66 20 69 74 20 63 6f 6e 74 61 69 6e 73 20 40 76 61 72 7b .@var{list}.if.it.contains.@var{
88520 6e 7d 20 69 74 65 6d 73 20 6f 72 20 66 65 77 65 72 2e 0a 52 65 74 75 72 6e 20 6e 69 6c 20 69 66 n}.items.or.fewer..Return.nil.if
88540 20 40 76 61 72 7b 6e 7d 20 69 73 20 7a 65 72 6f 20 6f 72 20 6c 65 73 73 2e 0a 0a 53 65 65 20 61 .@var{n}.is.zero.or.less...See.a
88560 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 74 61 6b 65 7d 20 28 40 70 78 72 65 66 7b 2d 74 61 6b 65 7d lso:.@code{-take}.(@pxref{-take}
88580 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 74 61 6b 65 2d 6c 61 73 74 20 )...@example.@group.(-take-last.
885a0 33 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 33 3.'(1.2.3.4.5)).....@result{}.(3
885c0 20 34 20 35 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 74 61 6b 65 2d 6c .4.5).@end.group.@group.(-take-l
885e0 61 73 74 20 31 37 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 ast.17.'(1.2.3.4.5)).....@result
88600 7b 7d 20 28 31 20 32 20 33 20 34 20 35 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 {}.(1.2.3.4.5).@end.group.@group
88620 0a 28 2d 74 61 6b 65 2d 6c 61 73 74 20 31 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 .(-take-last.1.'(1.2.3.4.5))....
88640 20 40 72 65 73 75 6c 74 7b 7d 20 28 35 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 .@result{}.(5).@end.group.@end.e
88660 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 64 72 6f 70 xample.@end.defun..@anchor{-drop
88680 7d 0a 40 64 65 66 75 6e 20 2d 64 72 6f 70 20 28 6e 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 74 }.@defun.-drop.(n.list).Return.t
886a0 68 65 20 74 61 69 6c 20 28 6e 6f 74 20 61 20 63 6f 70 79 29 20 6f 66 20 40 76 61 72 7b 6c 69 73 he.tail.(not.a.copy).of.@var{lis
886c0 74 7d 20 77 69 74 68 6f 75 74 20 74 68 65 20 66 69 72 73 74 20 40 76 61 72 7b 6e 7d 20 69 74 65 t}.without.the.first.@var{n}.ite
886e0 6d 73 2e 0a 52 65 74 75 72 6e 20 6e 69 6c 20 69 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 63 6f 6e ms..Return.nil.if.@var{list}.con
88700 74 61 69 6e 73 20 40 76 61 72 7b 6e 7d 20 69 74 65 6d 73 20 6f 72 20 66 65 77 65 72 2e 0a 52 65 tains.@var{n}.items.or.fewer..Re
88720 74 75 72 6e 20 40 76 61 72 7b 6c 69 73 74 7d 20 69 66 20 40 76 61 72 7b 6e 7d 20 69 73 20 7a 65 turn.@var{list}.if.@var{n}.is.ze
88740 72 6f 20 6f 72 20 6c 65 73 73 2e 0a 0a 46 6f 72 20 61 6e 6f 74 68 65 72 20 76 61 72 69 61 6e 74 ro.or.less...For.another.variant
88760 2c 20 73 65 65 20 61 6c 73 6f 20 40 63 6f 64 65 7b 2d 64 72 6f 70 2d 6c 61 73 74 7d 20 28 40 70 ,.see.also.@code{-drop-last}.(@p
88780 78 72 65 66 7b 2d 64 72 6f 70 2d 6c 61 73 74 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 xref{-drop-last})...@example.@gr
887a0 6f 75 70 0a 28 2d 64 72 6f 70 20 33 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 40 oup.(-drop.3.'(1.2.3.4.5)).....@
887c0 72 65 73 75 6c 74 7b 7d 20 28 34 20 35 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 result{}.(4.5).@end.group.@group
887e0 0a 28 2d 64 72 6f 70 20 31 37 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 40 72 65 .(-drop.17.'(1.2.3.4.5)).....@re
88800 73 75 6c 74 7b 7d 20 28 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 64 72 sult{}.().@end.group.@group.(-dr
88820 6f 70 20 30 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d op.0.'(1.2.3.4.5)).....@result{}
88840 20 28 31 20 32 20 33 20 34 20 35 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 .(1.2.3.4.5).@end.group.@end.exa
88860 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 64 72 6f 70 2d 6c mple.@end.defun..@anchor{-drop-l
88880 61 73 74 7d 0a 40 64 65 66 75 6e 20 2d 64 72 6f 70 2d 6c 61 73 74 20 28 6e 20 6c 69 73 74 29 0a ast}.@defun.-drop-last.(n.list).
888a0 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 77 69 74 68 Return.a.copy.of.@var{list}.with
888c0 6f 75 74 20 69 74 73 20 6c 61 73 74 20 40 76 61 72 7b 6e 7d 20 69 74 65 6d 73 2e 0a 52 65 74 75 out.its.last.@var{n}.items..Retu
888e0 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 69 66 20 40 76 61 72 7b rn.a.copy.of.@var{list}.if.@var{
88900 6e 7d 20 69 73 20 7a 65 72 6f 20 6f 72 20 6c 65 73 73 2e 0a 52 65 74 75 72 6e 20 6e 69 6c 20 69 n}.is.zero.or.less..Return.nil.i
88920 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 63 6f 6e 74 61 69 6e 73 20 40 76 61 72 7b 6e 7d 20 69 74 f.@var{list}.contains.@var{n}.it
88940 65 6d 73 20 6f 72 20 66 65 77 65 72 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d ems.or.fewer...See.also:.@code{-
88960 64 72 6f 70 7d 20 28 40 70 78 72 65 66 7b 2d 64 72 6f 70 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 drop}.(@pxref{-drop})...@example
88980 0a 40 67 72 6f 75 70 0a 28 2d 64 72 6f 70 2d 6c 61 73 74 20 33 20 27 28 31 20 32 20 33 20 34 20 .@group.(-drop-last.3.'(1.2.3.4.
889a0 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 29 0a 40 65 6e 64 20 67 72 6f 5)).....@result{}.(1.2).@end.gro
889c0 75 70 0a 40 67 72 6f 75 70 0a 28 2d 64 72 6f 70 2d 6c 61 73 74 20 31 37 20 27 28 31 20 32 20 33 up.@group.(-drop-last.17.'(1.2.3
889e0 20 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 29 0a 40 65 6e 64 20 67 72 6f .4.5)).....@result{}.().@end.gro
88a00 75 70 0a 40 67 72 6f 75 70 0a 28 2d 64 72 6f 70 2d 6c 61 73 74 20 30 20 27 28 31 20 32 20 33 20 up.@group.(-drop-last.0.'(1.2.3.
88a20 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 20 34 20 35 29 0a 4.5)).....@result{}.(1.2.3.4.5).
88a40 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 @end.group.@end.example.@end.def
88a60 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 74 61 6b 65 2d 77 68 69 6c 65 7d 0a 40 64 65 66 75 6e 20 un..@anchor{-take-while}.@defun.
88a80 2d 74 61 6b 65 2d 77 68 69 6c 65 20 28 70 72 65 64 20 6c 69 73 74 29 0a 54 61 6b 65 20 73 75 63 -take-while.(pred.list).Take.suc
88aa0 63 65 73 73 69 76 65 20 69 74 65 6d 73 20 66 72 6f 6d 20 40 76 61 72 7b 6c 69 73 74 7d 20 66 6f cessive.items.from.@var{list}.fo
88ac0 72 20 77 68 69 63 68 20 40 76 61 72 7b 70 72 65 64 7d 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e r.which.@var{pred}.returns.non-n
88ae0 69 6c 2e 0a 40 76 61 72 7b 70 72 65 64 7d 20 69 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 6f 66 20 il..@var{pred}.is.a.function.of.
88b00 6f 6e 65 20 61 72 67 75 6d 65 6e 74 2e 20 20 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 one.argument...Return.a.new.list
88b20 20 6f 66 20 74 68 65 0a 73 75 63 63 65 73 73 69 76 65 20 65 6c 65 6d 65 6e 74 73 20 66 72 6f 6d .of.the.successive.elements.from
88b40 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 66 6f 72 20 77 68 69 .the.start.of.@var{list}.for.whi
88b60 63 68 20 40 76 61 72 7b 70 72 65 64 7d 20 72 65 74 75 72 6e 73 0a 6e 6f 6e 2d 6e 69 6c 2e 0a 0a ch.@var{pred}.returns.non-nil...
88b80 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 This.function's.anaphoric.counte
88ba0 72 70 61 72 74 20 69 73 20 40 63 6f 64 65 7b 2d 2d 74 61 6b 65 2d 77 68 69 6c 65 7d 2e 0a 0a 46 rpart.is.@code{--take-while}...F
88bc0 6f 72 20 61 6e 6f 74 68 65 72 20 76 61 72 69 61 6e 74 2c 20 73 65 65 20 61 6c 73 6f 20 40 63 6f or.another.variant,.see.also.@co
88be0 64 65 7b 2d 64 72 6f 70 2d 77 68 69 6c 65 7d 20 28 40 70 78 72 65 66 7b 2d 64 72 6f 70 2d 77 68 de{-drop-while}.(@pxref{-drop-wh
88c00 69 6c 65 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 74 61 6b 65 2d 77 ile})...@example.@group.(-take-w
88c20 68 69 6c 65 20 23 27 65 76 65 6e 3f 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 hile.#'even?.'(1.2.3.4)).....@re
88c40 73 75 6c 74 7b 7d 20 28 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 74 61 sult{}.().@end.group.@group.(-ta
88c60 6b 65 2d 77 68 69 6c 65 20 23 27 65 76 65 6e 3f 20 27 28 32 20 34 20 35 20 36 29 29 0a 20 20 20 ke-while.#'even?.'(2.4.5.6))....
88c80 20 40 72 65 73 75 6c 74 7b 7d 20 28 32 20 34 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f .@result{}.(2.4).@end.group.@gro
88ca0 75 70 0a 28 2d 2d 74 61 6b 65 2d 77 68 69 6c 65 20 28 3c 20 69 74 20 34 29 20 27 28 31 20 32 20 up.(--take-while.(<.it.4).'(1.2.
88cc0 33 20 34 20 33 20 32 20 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 3.4.3.2.1)).....@result{}.(1.2.3
88ce0 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 ).@end.group.@end.example.@end.d
88d00 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 64 72 6f 70 2d 77 68 69 6c 65 7d 0a 40 64 65 66 75 efun..@anchor{-drop-while}.@defu
88d20 6e 20 2d 64 72 6f 70 2d 77 68 69 6c 65 20 28 70 72 65 64 20 6c 69 73 74 29 0a 44 72 6f 70 20 73 n.-drop-while.(pred.list).Drop.s
88d40 75 63 63 65 73 73 69 76 65 20 69 74 65 6d 73 20 66 72 6f 6d 20 40 76 61 72 7b 6c 69 73 74 7d 20 uccessive.items.from.@var{list}.
88d60 66 6f 72 20 77 68 69 63 68 20 40 76 61 72 7b 70 72 65 64 7d 20 72 65 74 75 72 6e 73 20 6e 6f 6e for.which.@var{pred}.returns.non
88d80 2d 6e 69 6c 2e 0a 40 76 61 72 7b 70 72 65 64 7d 20 69 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 6f -nil..@var{pred}.is.a.function.o
88da0 66 20 6f 6e 65 20 61 72 67 75 6d 65 6e 74 2e 20 20 52 65 74 75 72 6e 20 74 68 65 20 74 61 69 6c f.one.argument...Return.the.tail
88dc0 20 28 6e 6f 74 20 61 20 63 6f 70 79 29 0a 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 73 74 61 72 .(not.a.copy).of.@var{list}.star
88de0 74 69 6e 67 20 66 72 6f 6d 20 69 74 73 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 66 6f 72 20 ting.from.its.first.element.for.
88e00 77 68 69 63 68 20 40 76 61 72 7b 70 72 65 64 7d 20 72 65 74 75 72 6e 73 0a 6e 69 6c 2e 0a 0a 54 which.@var{pred}.returns.nil...T
88e20 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 his.function's.anaphoric.counter
88e40 70 61 72 74 20 69 73 20 40 63 6f 64 65 7b 2d 2d 64 72 6f 70 2d 77 68 69 6c 65 7d 2e 0a 0a 46 6f part.is.@code{--drop-while}...Fo
88e60 72 20 61 6e 6f 74 68 65 72 20 76 61 72 69 61 6e 74 2c 20 73 65 65 20 61 6c 73 6f 20 40 63 6f 64 r.another.variant,.see.also.@cod
88e80 65 7b 2d 74 61 6b 65 2d 77 68 69 6c 65 7d 20 28 40 70 78 72 65 66 7b 2d 74 61 6b 65 2d 77 68 69 e{-take-while}.(@pxref{-take-whi
88ea0 6c 65 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 64 72 6f 70 2d 77 68 le})...@example.@group.(-drop-wh
88ec0 69 6c 65 20 23 27 65 76 65 6e 3f 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 ile.#'even?.'(1.2.3.4)).....@res
88ee0 75 6c 74 7b 7d 20 28 31 20 32 20 33 20 34 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 ult{}.(1.2.3.4).@end.group.@grou
88f00 70 0a 28 2d 64 72 6f 70 2d 77 68 69 6c 65 20 23 27 65 76 65 6e 3f 20 27 28 32 20 34 20 35 20 36 p.(-drop-while.#'even?.'(2.4.5.6
88f20 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 35 20 36 29 0a 40 65 6e 64 20 67 72 6f 75 )).....@result{}.(5.6).@end.grou
88f40 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 64 72 6f 70 2d 77 68 69 6c 65 20 28 3c 20 69 74 20 34 29 20 p.@group.(--drop-while.(<.it.4).
88f60 27 28 31 20 32 20 33 20 34 20 33 20 32 20 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 '(1.2.3.4.3.2.1)).....@result{}.
88f80 28 34 20 33 20 32 20 31 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c (4.3.2.1).@end.group.@end.exampl
88fa0 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 73 65 6c 65 63 74 2d 62 79 e.@end.defun..@anchor{-select-by
88fc0 2d 69 6e 64 69 63 65 73 7d 0a 40 64 65 66 75 6e 20 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 -indices}.@defun.-select-by-indi
88fe0 63 65 73 20 28 69 6e 64 69 63 65 73 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 61 20 6c 69 73 74 ces.(indices.list).Return.a.list
89000 20 77 68 6f 73 65 20 65 6c 65 6d 65 6e 74 73 20 61 72 65 20 65 6c 65 6d 65 6e 74 73 20 66 72 6f .whose.elements.are.elements.fro
89020 6d 20 40 76 61 72 7b 6c 69 73 74 7d 20 73 65 6c 65 63 74 65 64 0a 61 73 20 60 28 6e 74 68 20 69 m.@var{list}.selected.as.`(nth.i
89040 20 6c 69 73 74 29 60 20 66 6f 72 20 61 6c 6c 20 69 20 66 72 6f 6d 20 40 76 61 72 7b 69 6e 64 69 .list)`.for.all.i.from.@var{indi
89060 63 65 73 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 73 65 6c 65 63 74 2d ces}...@example.@group.(-select-
89080 62 79 2d 69 6e 64 69 63 65 73 20 27 28 34 20 31 30 20 32 20 33 20 36 29 20 27 28 22 76 22 20 22 by-indices.'(4.10.2.3.6).'("v"."
890a0 65 22 20 22 6c 22 20 22 6f 22 20 22 63 22 20 22 69 22 20 22 72 22 20 22 61 22 20 22 70 22 20 22 e"."l"."o"."c"."i"."r"."a"."p"."
890c0 74 22 20 22 6f 22 20 22 72 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 22 63 22 20 t"."o"."r")).....@result{}.("c".
890e0 22 6f 22 20 22 6c 22 20 22 6f 22 20 22 72 22 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f "o"."l"."o"."r").@end.group.@gro
89100 75 70 0a 28 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 20 27 28 32 20 31 20 30 29 20 up.(-select-by-indices.'(2.1.0).
89120 27 28 22 61 22 20 22 62 22 20 22 63 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 22 '("a"."b"."c")).....@result{}.("
89140 63 22 20 22 62 22 20 22 61 22 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d c"."b"."a").@end.group.@group.(-
89160 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 20 27 28 30 20 31 20 32 20 30 20 31 20 33 20 select-by-indices.'(0.1.2.0.1.3.
89180 33 20 31 29 20 27 28 22 66 22 20 22 61 22 20 22 72 22 20 22 6c 22 29 29 0a 20 20 20 20 40 72 65 3.1).'("f"."a"."r"."l")).....@re
891a0 73 75 6c 74 7b 7d 20 28 22 66 22 20 22 61 22 20 22 72 22 20 22 66 22 20 22 61 22 20 22 6c 22 20 sult{}.("f"."a"."r"."f"."a"."l".
891c0 22 6c 22 20 22 61 22 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 "l"."a").@end.group.@end.example
891e0 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 73 65 6c 65 63 74 2d 63 6f 6c .@end.defun..@anchor{-select-col
89200 75 6d 6e 73 7d 0a 40 64 65 66 75 6e 20 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 73 20 28 63 6f umns}.@defun.-select-columns.(co
89220 6c 75 6d 6e 73 20 74 61 62 6c 65 29 0a 53 65 6c 65 63 74 20 40 76 61 72 7b 63 6f 6c 75 6d 6e 73 lumns.table).Select.@var{columns
89240 7d 20 66 72 6f 6d 20 40 76 61 72 7b 74 61 62 6c 65 7d 2e 0a 0a 40 76 61 72 7b 74 61 62 6c 65 7d }.from.@var{table}...@var{table}
89260 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 6c 69 73 74 73 20 77 68 65 72 65 20 65 61 63 68 20 65 .is.a.list.of.lists.where.each.e
89280 6c 65 6d 65 6e 74 20 72 65 70 72 65 73 65 6e 74 73 20 6f 6e 65 20 72 6f 77 2e 0a 49 74 20 69 73 lement.represents.one.row..It.is
892a0 20 61 73 73 75 6d 65 64 20 65 61 63 68 20 72 6f 77 20 68 61 73 20 74 68 65 20 73 61 6d 65 20 6c .assumed.each.row.has.the.same.l
892c0 65 6e 67 74 68 2e 0a 0a 45 61 63 68 20 72 6f 77 20 69 73 20 74 72 61 6e 73 66 6f 72 6d 65 64 20 ength...Each.row.is.transformed.
892e0 73 75 63 68 20 74 68 61 74 20 6f 6e 6c 79 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20 40 76 61 such.that.only.the.specified.@va
89300 72 7b 63 6f 6c 75 6d 6e 73 7d 20 61 72 65 0a 73 65 6c 65 63 74 65 64 2e 0a 0a 53 65 65 20 61 6c r{columns}.are.selected...See.al
89320 73 6f 3a 20 40 63 6f 64 65 7b 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 7d 20 28 40 70 78 72 65 so:.@code{-select-column}.(@pxre
89340 66 7b 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 7d 29 2c 20 40 63 6f 64 65 7b 2d 73 65 6c 65 63 f{-select-column}),.@code{-selec
89360 74 2d 62 79 2d 69 6e 64 69 63 65 73 7d 20 28 40 70 78 72 65 66 7b 2d 73 65 6c 65 63 74 2d 62 79 t-by-indices}.(@pxref{-select-by
89380 2d 69 6e 64 69 63 65 73 7d 29 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 73 65 -indices})..@example.@group.(-se
893a0 6c 65 63 74 2d 63 6f 6c 75 6d 6e 73 20 27 28 30 20 32 29 20 27 28 28 31 20 32 20 33 29 20 28 61 lect-columns.'(0.2).'((1.2.3).(a
893c0 20 62 20 63 29 20 28 3a 61 20 3a 62 20 3a 63 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d .b.c).(:a.:b.:c))).....@result{}
893e0 20 28 28 31 20 33 29 20 28 61 20 63 29 20 28 3a 61 20 3a 63 29 29 0a 40 65 6e 64 20 67 72 6f 75 .((1.3).(a.c).(:a.:c)).@end.grou
89400 70 0a 40 67 72 6f 75 70 0a 28 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 73 20 27 28 31 29 20 27 p.@group.(-select-columns.'(1).'
89420 28 28 31 20 32 20 33 29 20 28 61 20 62 20 63 29 20 28 3a 61 20 3a 62 20 3a 63 29 29 29 0a 20 20 ((1.2.3).(a.b.c).(:a.:b.:c)))...
89440 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 32 29 20 28 62 29 20 28 3a 62 29 29 0a 40 65 6e 64 20 ..@result{}.((2).(b).(:b)).@end.
89460 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 73 20 6e 69 group.@group.(-select-columns.ni
89480 6c 20 27 28 28 31 20 32 20 33 29 20 28 61 20 62 20 63 29 20 28 3a 61 20 3a 62 20 3a 63 29 29 29 l.'((1.2.3).(a.b.c).(:a.:b.:c)))
894a0 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 6e 69 6c 20 6e 69 6c 20 6e 69 6c 29 0a 40 65 6e .....@result{}.(nil.nil.nil).@en
894c0 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a d.group.@end.example.@end.defun.
894e0 0a 40 61 6e 63 68 6f 72 7b 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 7d 0a 40 64 65 66 75 6e 20 .@anchor{-select-column}.@defun.
89500 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 20 28 63 6f 6c 75 6d 6e 20 74 61 62 6c 65 29 0a 53 65 -select-column.(column.table).Se
89520 6c 65 63 74 20 40 76 61 72 7b 63 6f 6c 75 6d 6e 7d 20 66 72 6f 6d 20 40 76 61 72 7b 74 61 62 6c lect.@var{column}.from.@var{tabl
89540 65 7d 2e 0a 0a 40 76 61 72 7b 74 61 62 6c 65 7d 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 6c 69 e}...@var{table}.is.a.list.of.li
89560 73 74 73 20 77 68 65 72 65 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 72 65 70 72 65 73 65 6e 74 sts.where.each.element.represent
89580 73 20 6f 6e 65 20 72 6f 77 2e 0a 49 74 20 69 73 20 61 73 73 75 6d 65 64 20 65 61 63 68 20 72 6f s.one.row..It.is.assumed.each.ro
895a0 77 20 68 61 73 20 74 68 65 20 73 61 6d 65 20 6c 65 6e 67 74 68 2e 0a 0a 54 68 65 20 73 69 6e 67 w.has.the.same.length...The.sing
895c0 6c 65 20 73 65 6c 65 63 74 65 64 20 63 6f 6c 75 6d 6e 20 69 73 20 72 65 74 75 72 6e 65 64 20 61 le.selected.column.is.returned.a
895e0 73 20 61 20 6c 69 73 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 73 65 6c 65 s.a.list...See.also:.@code{-sele
89600 63 74 2d 63 6f 6c 75 6d 6e 73 7d 20 28 40 70 78 72 65 66 7b 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 ct-columns}.(@pxref{-select-colu
89620 6d 6e 73 7d 29 2c 20 40 63 6f 64 65 7b 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 7d mns}),.@code{-select-by-indices}
89640 20 28 40 70 78 72 65 66 7b 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 7d 29 0a 0a 40 .(@pxref{-select-by-indices})..@
89660 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 20 31 example.@group.(-select-column.1
89680 20 27 28 28 31 20 32 20 33 29 20 28 61 20 62 20 63 29 20 28 3a 61 20 3a 62 20 3a 63 29 29 29 0a .'((1.2.3).(a.b.c).(:a.:b.:c))).
896a0 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 32 20 62 20 3a 62 29 0a 40 65 6e 64 20 67 72 6f 75 ....@result{}.(2.b.:b).@end.grou
896c0 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 6e 6f 64 65 p.@end.example.@end.defun..@node
896e0 20 4c 69 73 74 20 74 6f 20 6c 69 73 74 0a 40 73 65 63 74 69 6f 6e 20 4c 69 73 74 20 74 6f 20 6c .List.to.list.@section.List.to.l
89700 69 73 74 0a 0a 46 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 69 6e 67 20 61 20 6d 6f 64 69 66 ist..Functions.returning.a.modif
89720 69 65 64 20 63 6f 70 79 20 6f 66 20 74 68 65 20 69 6e 70 75 74 20 6c 69 73 74 2e 0a 0a 40 61 6e ied.copy.of.the.input.list...@an
89740 63 68 6f 72 7b 2d 6b 65 65 70 7d 0a 40 64 65 66 75 6e 20 2d 6b 65 65 70 20 28 66 6e 20 6c 69 73 chor{-keep}.@defun.-keep.(fn.lis
89760 74 29 0a 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 6f 66 20 74 68 65 20 6e 6f 6e 2d t).Return.a.new.list.of.the.non-
89780 6e 69 6c 20 72 65 73 75 6c 74 73 20 6f 66 20 61 70 70 6c 79 69 6e 67 20 40 76 61 72 7b 66 6e 7d nil.results.of.applying.@var{fn}
897a0 20 74 6f 20 65 61 63 68 20 69 74 65 6d 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 4c 69 6b .to.each.item.in.@var{list}..Lik
897c0 65 20 40 63 6f 64 65 7b 2d 66 69 6c 74 65 72 7d 20 28 40 70 78 72 65 66 7b 2d 66 69 6c 74 65 72 e.@code{-filter}.(@pxref{-filter
897e0 7d 29 2c 20 62 75 74 20 72 65 74 75 72 6e 73 20 74 68 65 20 6e 6f 6e 2d 6e 69 6c 20 72 65 73 75 }),.but.returns.the.non-nil.resu
89800 6c 74 73 20 6f 66 20 40 76 61 72 7b 66 6e 7d 20 69 6e 73 74 65 61 64 20 6f 66 0a 74 68 65 20 63 lts.of.@var{fn}.instead.of.the.c
89820 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 40 76 61 72 7b 6c 69 orresponding.elements.of.@var{li
89840 73 74 7d 2e 0a 0a 49 74 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 st}...Its.anaphoric.counterpart.
89860 69 73 20 40 63 6f 64 65 7b 2d 2d 6b 65 65 70 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f is.@code{--keep}...@example.@gro
89880 75 70 0a 28 2d 6b 65 65 70 20 23 27 63 64 72 20 27 28 28 31 20 32 20 33 29 20 28 34 20 35 29 20 up.(-keep.#'cdr.'((1.2.3).(4.5).
898a0 28 36 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 32 20 33 29 20 28 35 29 29 0a (6))).....@result{}.((2.3).(5)).
898c0 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 6b 65 65 70 20 28 6c 61 6d 62 64 61 @end.group.@group.(-keep.(lambda
898e0 20 28 6e 29 20 28 61 6e 64 20 28 3e 20 6e 20 33 29 20 28 2a 20 31 30 20 6e 29 29 29 20 27 28 31 .(n).(and.(>.n.3).(*.10.n))).'(1
89900 20 32 20 33 20 34 20 35 20 36 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 34 30 20 35 .2.3.4.5.6)).....@result{}.(40.5
89920 30 20 36 30 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 6b 65 65 70 20 0.60).@end.group.@group.(--keep.
89940 28 61 6e 64 20 28 3e 20 69 74 20 33 29 20 28 2a 20 31 30 20 69 74 29 29 20 27 28 31 20 32 20 33 (and.(>.it.3).(*.10.it)).'(1.2.3
89960 20 34 20 35 20 36 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 34 30 20 35 30 20 36 30 .4.5.6)).....@result{}.(40.50.60
89980 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 ).@end.group.@end.example.@end.d
899a0 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 63 6f 6e 63 61 74 7d 0a 40 64 65 66 75 6e 20 2d 63 efun..@anchor{-concat}.@defun.-c
899c0 6f 6e 63 61 74 20 28 26 72 65 73 74 20 6c 69 73 74 73 29 0a 52 65 74 75 72 6e 20 61 20 6e 65 77 oncat.(&rest.lists).Return.a.new
899e0 20 6c 69 73 74 20 77 69 74 68 20 74 68 65 20 63 6f 6e 63 61 74 65 6e 61 74 69 6f 6e 20 6f 66 20 .list.with.the.concatenation.of.
89a00 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 69 6e 20 74 68 65 20 73 75 70 70 6c 69 65 64 20 40 76 61 the.elements.in.the.supplied.@va
89a20 72 7b 6c 69 73 74 73 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 63 6f 6e r{lists}...@example.@group.(-con
89a40 63 61 74 20 27 28 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 29 0a 40 65 6e 64 cat.'(1)).....@result{}.(1).@end
89a60 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 63 6f 6e 63 61 74 20 27 28 31 29 20 27 28 32 29 .group.@group.(-concat.'(1).'(2)
89a80 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 29 0a 40 65 6e 64 20 67 72 6f 75 70 ).....@result{}.(1.2).@end.group
89aa0 0a 40 67 72 6f 75 70 0a 28 2d 63 6f 6e 63 61 74 20 27 28 31 29 20 27 28 32 20 33 29 20 27 28 34 .@group.(-concat.'(1).'(2.3).'(4
89ac0 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 20 34 29 0a 40 65 6e 64 20 )).....@result{}.(1.2.3.4).@end.
89ae0 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 group.@end.example.@end.defun..@
89b00 61 6e 63 68 6f 72 7b 2d 66 6c 61 74 74 65 6e 7d 0a 40 64 65 66 75 6e 20 2d 66 6c 61 74 74 65 6e anchor{-flatten}.@defun.-flatten
89b20 20 28 6c 29 0a 54 61 6b 65 20 61 20 6e 65 73 74 65 64 20 6c 69 73 74 20 40 76 61 72 7b 6c 7d 20 .(l).Take.a.nested.list.@var{l}.
89b40 61 6e 64 20 72 65 74 75 72 6e 20 69 74 73 20 63 6f 6e 74 65 6e 74 73 20 61 73 20 61 20 73 69 6e and.return.its.contents.as.a.sin
89b60 67 6c 65 2c 20 66 6c 61 74 20 6c 69 73 74 2e 0a 0a 4e 6f 74 65 20 74 68 61 74 20 62 65 63 61 75 gle,.flat.list...Note.that.becau
89b80 73 65 20 40 63 6f 64 65 7b 6e 69 6c 7d 20 72 65 70 72 65 73 65 6e 74 73 20 61 20 6c 69 73 74 20 se.@code{nil}.represents.a.list.
89ba0 6f 66 20 7a 65 72 6f 20 65 6c 65 6d 65 6e 74 73 20 28 61 6e 0a 65 6d 70 74 79 20 6c 69 73 74 29 of.zero.elements.(an.empty.list)
89bc0 2c 20 61 6e 79 20 6d 65 6e 74 69 6f 6e 20 6f 66 20 6e 69 6c 20 69 6e 20 40 76 61 72 7b 6c 7d 20 ,.any.mention.of.nil.in.@var{l}.
89be0 77 69 6c 6c 20 64 69 73 61 70 70 65 61 72 20 61 66 74 65 72 0a 66 6c 61 74 74 65 6e 69 6e 67 2e will.disappear.after.flattening.
89c00 20 20 49 66 20 79 6f 75 20 6e 65 65 64 20 74 6f 20 70 72 65 73 65 72 76 65 20 6e 69 6c 73 2c 20 ..If.you.need.to.preserve.nils,.
89c20 63 6f 6e 73 69 64 65 72 20 40 63 6f 64 65 7b 2d 66 6c 61 74 74 65 6e 2d 6e 7d 20 28 40 70 78 72 consider.@code{-flatten-n}.(@pxr
89c40 65 66 7b 2d 66 6c 61 74 74 65 6e 2d 6e 7d 29 0a 6f 72 20 6d 61 70 20 74 68 65 6d 20 74 6f 20 73 ef{-flatten-n}).or.map.them.to.s
89c60 6f 6d 65 20 75 6e 69 71 75 65 20 73 79 6d 62 6f 6c 20 61 6e 64 20 74 68 65 6e 20 6d 61 70 20 74 ome.unique.symbol.and.then.map.t
89c80 68 65 6d 20 62 61 63 6b 2e 0a 0a 43 6f 6e 73 65 73 20 6f 66 20 74 77 6f 20 61 74 6f 6d 73 20 61 hem.back...Conses.of.two.atoms.a
89ca0 72 65 20 63 6f 6e 73 69 64 65 72 65 64 20 22 74 65 72 6d 69 6e 61 6c 73 22 2c 20 74 68 61 74 20 re.considered."terminals",.that.
89cc0 69 73 2c 20 74 68 65 79 0a 61 72 65 6e 27 74 20 66 6c 61 74 74 65 6e 65 64 20 66 75 72 74 68 65 is,.they.aren't.flattened.furthe
89ce0 72 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 66 6c 61 74 74 65 6e 2d 6e 7d 20 r...See.also:.@code{-flatten-n}.
89d00 28 40 70 78 72 65 66 7b 2d 66 6c 61 74 74 65 6e 2d 6e 7d 29 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 (@pxref{-flatten-n})..@example.@
89d20 67 72 6f 75 70 0a 28 2d 66 6c 61 74 74 65 6e 20 27 28 28 31 29 29 29 0a 20 20 20 20 40 72 65 73 group.(-flatten.'((1))).....@res
89d40 75 6c 74 7b 7d 20 28 31 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 66 6c ult{}.(1).@end.group.@group.(-fl
89d60 61 74 74 65 6e 20 27 28 28 31 20 28 32 20 33 29 20 28 28 28 34 20 28 35 29 29 29 29 29 29 29 0a atten.'((1.(2.3).(((4.(5))))))).
89d80 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 20 34 20 35 29 0a 40 65 6e 64 20 67 ....@result{}.(1.2.3.4.5).@end.g
89da0 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 66 6c 61 74 74 65 6e 20 27 28 31 20 32 20 28 33 20 2e roup.@group.(-flatten.'(1.2.(3..
89dc0 20 34 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 28 33 20 2e 20 34 29 .4))).....@result{}.(1.2.(3...4)
89de0 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 ).@end.group.@end.example.@end.d
89e00 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 66 6c 61 74 74 65 6e 2d 6e 7d 0a 40 64 65 66 75 6e efun..@anchor{-flatten-n}.@defun
89e20 20 2d 66 6c 61 74 74 65 6e 2d 6e 20 28 6e 75 6d 20 6c 69 73 74 29 0a 46 6c 61 74 74 65 6e 20 40 .-flatten-n.(num.list).Flatten.@
89e40 76 61 72 7b 6e 75 6d 7d 20 6c 65 76 65 6c 73 20 6f 66 20 61 20 6e 65 73 74 65 64 20 40 76 61 72 var{num}.levels.of.a.nested.@var
89e60 7b 6c 69 73 74 7d 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 66 6c 61 74 74 65 {list}...See.also:.@code{-flatte
89e80 6e 7d 20 28 40 70 78 72 65 66 7b 2d 66 6c 61 74 74 65 6e 7d 29 0a 0a 40 65 78 61 6d 70 6c 65 0a n}.(@pxref{-flatten})..@example.
89ea0 40 67 72 6f 75 70 0a 28 2d 66 6c 61 74 74 65 6e 2d 6e 20 31 20 27 28 28 31 20 32 29 20 28 28 33 @group.(-flatten-n.1.'((1.2).((3
89ec0 20 34 29 20 28 28 35 20 36 29 29 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 .4).((5.6))))).....@result{}.(1.
89ee0 32 20 28 33 20 34 29 20 28 28 35 20 36 29 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 2.(3.4).((5.6))).@end.group.@gro
89f00 75 70 0a 28 2d 66 6c 61 74 74 65 6e 2d 6e 20 32 20 27 28 28 31 20 32 29 20 28 28 33 20 34 29 20 up.(-flatten-n.2.'((1.2).((3.4).
89f20 28 28 35 20 36 29 29 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 20 ((5.6))))).....@result{}.(1.2.3.
89f40 34 20 28 35 20 36 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 66 6c 61 4.(5.6)).@end.group.@group.(-fla
89f60 74 74 65 6e 2d 6e 20 33 20 27 28 28 31 20 32 29 20 28 28 33 20 34 29 20 28 28 35 20 36 29 29 29 tten-n.3.'((1.2).((3.4).((5.6)))
89f80 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 20 34 20 35 20 36 29 0a 40 )).....@result{}.(1.2.3.4.5.6).@
89fa0 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 end.group.@end.example.@end.defu
89fc0 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 72 65 70 6c 61 63 65 7d 0a 40 64 65 66 75 6e 20 2d 72 65 70 n..@anchor{-replace}.@defun.-rep
89fe0 6c 61 63 65 20 28 6f 6c 64 20 6e 65 77 20 6c 69 73 74 29 0a 52 65 70 6c 61 63 65 20 61 6c 6c 20 lace.(old.new.list).Replace.all.
8a000 40 76 61 72 7b 6f 6c 64 7d 20 69 74 65 6d 73 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 20 77 69 @var{old}.items.in.@var{list}.wi
8a020 74 68 20 40 76 61 72 7b 6e 65 77 7d 2e 0a 0a 45 6c 65 6d 65 6e 74 73 20 61 72 65 20 63 6f 6d 70 th.@var{new}...Elements.are.comp
8a040 61 72 65 64 20 75 73 69 6e 67 20 40 63 6f 64 65 7b 65 71 75 61 6c 7d 2e 0a 0a 53 65 65 20 61 6c ared.using.@code{equal}...See.al
8a060 73 6f 3a 20 40 63 6f 64 65 7b 2d 72 65 70 6c 61 63 65 2d 61 74 7d 20 28 40 70 78 72 65 66 7b 2d so:.@code{-replace-at}.(@pxref{-
8a080 72 65 70 6c 61 63 65 2d 61 74 7d 29 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d replace-at})..@example.@group.(-
8a0a0 72 65 70 6c 61 63 65 20 31 20 22 31 22 20 27 28 31 20 32 20 33 20 34 20 33 20 32 20 31 29 29 0a replace.1."1".'(1.2.3.4.3.2.1)).
8a0c0 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 22 31 22 20 32 20 33 20 34 20 33 20 32 20 22 31 22 ....@result{}.("1".2.3.4.3.2."1"
8a0e0 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 72 65 70 6c 61 63 65 20 22 66 ).@end.group.@group.(-replace."f
8a100 6f 6f 22 20 22 62 61 72 22 20 27 28 22 61 22 20 22 6e 69 63 65 22 20 22 66 6f 6f 22 20 22 73 65 oo"."bar".'("a"."nice"."foo"."se
8a120 6e 74 65 6e 63 65 22 20 22 61 62 6f 75 74 22 20 22 66 6f 6f 22 29 29 0a 20 20 20 20 40 72 65 73 ntence"."about"."foo")).....@res
8a140 75 6c 74 7b 7d 20 28 22 61 22 20 22 6e 69 63 65 22 20 22 62 61 72 22 20 22 73 65 6e 74 65 6e 63 ult{}.("a"."nice"."bar"."sentenc
8a160 65 22 20 22 61 62 6f 75 74 22 20 22 62 61 72 22 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 e"."about"."bar").@end.group.@gr
8a180 6f 75 70 0a 28 2d 72 65 70 6c 61 63 65 20 31 20 32 20 6e 69 6c 29 0a 20 20 20 20 40 72 65 73 75 oup.(-replace.1.2.nil).....@resu
8a1a0 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 lt{}.nil.@end.group.@end.example
8a1c0 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 72 65 70 6c 61 63 65 2d 66 69 .@end.defun..@anchor{-replace-fi
8a1e0 72 73 74 7d 0a 40 64 65 66 75 6e 20 2d 72 65 70 6c 61 63 65 2d 66 69 72 73 74 20 28 6f 6c 64 20 rst}.@defun.-replace-first.(old.
8a200 6e 65 77 20 6c 69 73 74 29 0a 52 65 70 6c 61 63 65 20 74 68 65 20 66 69 72 73 74 20 6f 63 63 75 new.list).Replace.the.first.occu
8a220 72 72 65 6e 63 65 20 6f 66 20 40 76 61 72 7b 6f 6c 64 7d 20 77 69 74 68 20 40 76 61 72 7b 6e 65 rrence.of.@var{old}.with.@var{ne
8a240 77 7d 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 0a 45 6c 65 6d 65 6e 74 73 20 61 72 65 20 w}.in.@var{list}...Elements.are.
8a260 63 6f 6d 70 61 72 65 64 20 75 73 69 6e 67 20 40 63 6f 64 65 7b 65 71 75 61 6c 7d 2e 0a 0a 53 65 compared.using.@code{equal}...Se
8a280 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 6d 61 70 2d 66 69 72 73 74 7d 20 28 40 70 78 72 65 e.also:.@code{-map-first}.(@pxre
8a2a0 66 7b 2d 6d 61 70 2d 66 69 72 73 74 7d 29 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a f{-map-first})..@example.@group.
8a2c0 28 2d 72 65 70 6c 61 63 65 2d 66 69 72 73 74 20 31 20 22 31 22 20 27 28 31 20 32 20 33 20 34 20 (-replace-first.1."1".'(1.2.3.4.
8a2e0 33 20 32 20 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 22 31 22 20 32 20 33 20 34 3.2.1)).....@result{}.("1".2.3.4
8a300 20 33 20 32 20 31 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 72 65 70 6c .3.2.1).@end.group.@group.(-repl
8a320 61 63 65 2d 66 69 72 73 74 20 22 66 6f 6f 22 20 22 62 61 72 22 20 27 28 22 61 22 20 22 6e 69 63 ace-first."foo"."bar".'("a"."nic
8a340 65 22 20 22 66 6f 6f 22 20 22 73 65 6e 74 65 6e 63 65 22 20 22 61 62 6f 75 74 22 20 22 66 6f 6f e"."foo"."sentence"."about"."foo
8a360 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 22 61 22 20 22 6e 69 63 65 22 20 22 62 ")).....@result{}.("a"."nice"."b
8a380 61 72 22 20 22 73 65 6e 74 65 6e 63 65 22 20 22 61 62 6f 75 74 22 20 22 66 6f 6f 22 29 0a 40 65 ar"."sentence"."about"."foo").@e
8a3a0 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 72 65 70 6c 61 63 65 2d 66 69 72 73 74 20 nd.group.@group.(-replace-first.
8a3c0 31 20 32 20 6e 69 6c 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 1.2.nil).....@result{}.nil.@end.
8a3e0 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 group.@end.example.@end.defun..@
8a400 61 6e 63 68 6f 72 7b 2d 72 65 70 6c 61 63 65 2d 6c 61 73 74 7d 0a 40 64 65 66 75 6e 20 2d 72 65 anchor{-replace-last}.@defun.-re
8a420 70 6c 61 63 65 2d 6c 61 73 74 20 28 6f 6c 64 20 6e 65 77 20 6c 69 73 74 29 0a 52 65 70 6c 61 63 place-last.(old.new.list).Replac
8a440 65 20 74 68 65 20 6c 61 73 74 20 6f 63 63 75 72 72 65 6e 63 65 20 6f 66 20 40 76 61 72 7b 6f 6c e.the.last.occurrence.of.@var{ol
8a460 64 7d 20 77 69 74 68 20 40 76 61 72 7b 6e 65 77 7d 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 2e d}.with.@var{new}.in.@var{list}.
8a480 0a 0a 45 6c 65 6d 65 6e 74 73 20 61 72 65 20 63 6f 6d 70 61 72 65 64 20 75 73 69 6e 67 20 40 63 ..Elements.are.compared.using.@c
8a4a0 6f 64 65 7b 65 71 75 61 6c 7d 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 6d 61 ode{equal}...See.also:.@code{-ma
8a4c0 70 2d 6c 61 73 74 7d 20 28 40 70 78 72 65 66 7b 2d 6d 61 70 2d 6c 61 73 74 7d 29 0a 0a 40 65 78 p-last}.(@pxref{-map-last})..@ex
8a4e0 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 72 65 70 6c 61 63 65 2d 6c 61 73 74 20 31 20 22 31 ample.@group.(-replace-last.1."1
8a500 22 20 27 28 31 20 32 20 33 20 34 20 33 20 32 20 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b ".'(1.2.3.4.3.2.1)).....@result{
8a520 7d 20 28 31 20 32 20 33 20 34 20 33 20 32 20 22 31 22 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 }.(1.2.3.4.3.2."1").@end.group.@
8a540 67 72 6f 75 70 0a 28 2d 72 65 70 6c 61 63 65 2d 6c 61 73 74 20 22 66 6f 6f 22 20 22 62 61 72 22 group.(-replace-last."foo"."bar"
8a560 20 27 28 22 61 22 20 22 6e 69 63 65 22 20 22 66 6f 6f 22 20 22 73 65 6e 74 65 6e 63 65 22 20 22 .'("a"."nice"."foo"."sentence"."
8a580 61 62 6f 75 74 22 20 22 66 6f 6f 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 22 61 about"."foo")).....@result{}.("a
8a5a0 22 20 22 6e 69 63 65 22 20 22 66 6f 6f 22 20 22 73 65 6e 74 65 6e 63 65 22 20 22 61 62 6f 75 74 "."nice"."foo"."sentence"."about
8a5c0 22 20 22 62 61 72 22 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 72 65 70 "."bar").@end.group.@group.(-rep
8a5e0 6c 61 63 65 2d 6c 61 73 74 20 31 20 32 20 6e 69 6c 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d lace-last.1.2.nil).....@result{}
8a600 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e .nil.@end.group.@end.example.@en
8a620 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 69 6e 73 65 72 74 2d 61 74 7d 0a 40 64 65 d.defun..@anchor{-insert-at}.@de
8a640 66 75 6e 20 2d 69 6e 73 65 72 74 2d 61 74 20 28 6e 20 78 20 6c 69 73 74 29 0a 52 65 74 75 72 6e fun.-insert-at.(n.x.list).Return
8a660 20 61 20 6c 69 73 74 20 77 69 74 68 20 40 76 61 72 7b 78 7d 20 69 6e 73 65 72 74 65 64 20 69 6e .a.list.with.@var{x}.inserted.in
8a680 74 6f 20 40 76 61 72 7b 6c 69 73 74 7d 20 61 74 20 70 6f 73 69 74 69 6f 6e 20 40 76 61 72 7b 6e to.@var{list}.at.position.@var{n
8a6a0 7d 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 73 70 6c 69 63 65 7d 20 28 40 70 }...See.also:.@code{-splice}.(@p
8a6c0 78 72 65 66 7b 2d 73 70 6c 69 63 65 7d 29 2c 20 40 63 6f 64 65 7b 2d 73 70 6c 69 63 65 2d 6c 69 xref{-splice}),.@code{-splice-li
8a6e0 73 74 7d 20 28 40 70 78 72 65 66 7b 2d 73 70 6c 69 63 65 2d 6c 69 73 74 7d 29 0a 0a 40 65 78 61 st}.(@pxref{-splice-list})..@exa
8a700 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 69 6e 73 65 72 74 2d 61 74 20 31 20 27 78 20 27 28 61 mple.@group.(-insert-at.1.'x.'(a
8a720 20 62 20 63 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 61 20 78 20 62 20 63 29 0a 40 .b.c)).....@result{}.(a.x.b.c).@
8a740 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 69 6e 73 65 72 74 2d 61 74 20 31 32 20 end.group.@group.(-insert-at.12.
8a760 27 78 20 27 28 61 20 62 20 63 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 61 20 62 20 'x.'(a.b.c)).....@result{}.(a.b.
8a780 63 20 78 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e c.x).@end.group.@end.example.@en
8a7a0 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 72 65 70 6c 61 63 65 2d 61 74 7d 0a 40 64 d.defun..@anchor{-replace-at}.@d
8a7c0 65 66 75 6e 20 2d 72 65 70 6c 61 63 65 2d 61 74 20 28 6e 20 78 20 6c 69 73 74 29 0a 52 65 74 75 efun.-replace-at.(n.x.list).Retu
8a7e0 72 6e 20 61 20 6c 69 73 74 20 77 69 74 68 20 65 6c 65 6d 65 6e 74 20 61 74 20 4e 74 68 20 70 6f rn.a.list.with.element.at.Nth.po
8a800 73 69 74 69 6f 6e 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 20 72 65 70 6c 61 63 65 64 20 77 69 sition.in.@var{list}.replaced.wi
8a820 74 68 20 40 76 61 72 7b 78 7d 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 72 65 th.@var{x}...See.also:.@code{-re
8a840 70 6c 61 63 65 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 70 6c 61 63 65 7d 29 0a 0a 40 65 78 61 6d place}.(@pxref{-replace})..@exam
8a860 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 72 65 70 6c 61 63 65 2d 61 74 20 30 20 39 20 27 28 30 20 ple.@group.(-replace-at.0.9.'(0.
8a880 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 39 20 31 20 32 1.2.3.4.5)).....@result{}.(9.1.2
8a8a0 20 33 20 34 20 35 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 72 65 70 6c .3.4.5).@end.group.@group.(-repl
8a8c0 61 63 65 2d 61 74 20 31 20 39 20 27 28 30 20 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 40 ace-at.1.9.'(0.1.2.3.4.5)).....@
8a8e0 72 65 73 75 6c 74 7b 7d 20 28 30 20 39 20 32 20 33 20 34 20 35 29 0a 40 65 6e 64 20 67 72 6f 75 result{}.(0.9.2.3.4.5).@end.grou
8a900 70 0a 40 67 72 6f 75 70 0a 28 2d 72 65 70 6c 61 63 65 2d 61 74 20 34 20 39 20 27 28 30 20 31 20 p.@group.(-replace-at.4.9.'(0.1.
8a920 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 30 20 31 20 32 20 33 2.3.4.5)).....@result{}.(0.1.2.3
8a940 20 39 20 35 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 .9.5).@end.group.@end.example.@e
8a960 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 75 70 64 61 74 65 2d 61 74 7d 0a 40 64 nd.defun..@anchor{-update-at}.@d
8a980 65 66 75 6e 20 2d 75 70 64 61 74 65 2d 61 74 20 28 6e 20 66 75 6e 63 20 6c 69 73 74 29 0a 52 65 efun.-update-at.(n.func.list).Re
8a9a0 74 75 72 6e 20 61 20 6c 69 73 74 20 77 69 74 68 20 65 6c 65 6d 65 6e 74 20 61 74 20 4e 74 68 20 turn.a.list.with.element.at.Nth.
8a9c0 70 6f 73 69 74 69 6f 6e 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 20 72 65 70 6c 61 63 65 64 20 position.in.@var{list}.replaced.
8a9e0 77 69 74 68 20 60 28 66 75 6e 63 20 28 6e 74 68 20 6e 20 6c 69 73 74 29 29 60 2e 0a 0a 53 65 65 with.`(func.(nth.n.list))`...See
8aa00 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 6d 61 70 2d 77 68 65 6e 7d 20 28 40 70 78 72 65 66 7b .also:.@code{-map-when}.(@pxref{
8aa20 2d 6d 61 70 2d 77 68 65 6e 7d 29 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 75 -map-when})..@example.@group.(-u
8aa40 70 64 61 74 65 2d 61 74 20 30 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 2b 20 78 20 39 29 29 20 pdate-at.0.(lambda.(x).(+.x.9)).
8aa60 27 28 30 20 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 39 '(0.1.2.3.4.5)).....@result{}.(9
8aa80 20 31 20 32 20 33 20 34 20 35 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d .1.2.3.4.5).@end.group.@group.(-
8aaa0 75 70 64 61 74 65 2d 61 74 20 31 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 2b 20 78 20 38 29 29 update-at.1.(lambda.(x).(+.x.8))
8aac0 20 27 28 30 20 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 .'(0.1.2.3.4.5)).....@result{}.(
8aae0 30 20 39 20 32 20 33 20 34 20 35 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 0.9.2.3.4.5).@end.group.@group.(
8ab00 2d 2d 75 70 64 61 74 65 2d 61 74 20 32 20 28 6c 65 6e 67 74 68 20 69 74 29 20 27 28 22 66 6f 6f --update-at.2.(length.it).'("foo
8ab20 22 20 22 62 61 72 22 20 22 62 61 7a 22 20 22 71 75 75 78 22 29 29 0a 20 20 20 20 40 72 65 73 75 "."bar"."baz"."quux")).....@resu
8ab40 6c 74 7b 7d 20 28 22 66 6f 6f 22 20 22 62 61 72 22 20 33 20 22 71 75 75 78 22 29 0a 40 65 6e 64 lt{}.("foo"."bar".3."quux").@end
8ab60 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a .group.@end.example.@end.defun..
8ab80 40 61 6e 63 68 6f 72 7b 2d 72 65 6d 6f 76 65 2d 61 74 7d 0a 40 64 65 66 75 6e 20 2d 72 65 6d 6f @anchor{-remove-at}.@defun.-remo
8aba0 76 65 2d 61 74 20 28 6e 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 77 69 74 ve-at.(n.list).Return.a.list.wit
8abc0 68 20 65 6c 65 6d 65 6e 74 20 61 74 20 4e 74 68 20 70 6f 73 69 74 69 6f 6e 20 69 6e 20 40 76 61 h.element.at.Nth.position.in.@va
8abe0 72 7b 6c 69 73 74 7d 20 72 65 6d 6f 76 65 64 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 r{list}.removed...See.also:.@cod
8ac00 65 7b 2d 72 65 6d 6f 76 65 2d 61 74 2d 69 6e 64 69 63 65 73 7d 20 28 40 70 78 72 65 66 7b 2d 72 e{-remove-at-indices}.(@pxref{-r
8ac20 65 6d 6f 76 65 2d 61 74 2d 69 6e 64 69 63 65 73 7d 29 2c 20 40 63 6f 64 65 7b 2d 72 65 6d 6f 76 emove-at-indices}),.@code{-remov
8ac40 65 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 6d 6f 76 65 7d 29 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 e}.(@pxref{-remove})..@example.@
8ac60 67 72 6f 75 70 0a 28 2d 72 65 6d 6f 76 65 2d 61 74 20 30 20 27 28 22 30 22 20 22 31 22 20 22 32 group.(-remove-at.0.'("0"."1"."2
8ac80 22 20 22 33 22 20 22 34 22 20 22 35 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 22 "."3"."4"."5")).....@result{}.("
8aca0 31 22 20 22 32 22 20 22 33 22 20 22 34 22 20 22 35 22 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 1"."2"."3"."4"."5").@end.group.@
8acc0 67 72 6f 75 70 0a 28 2d 72 65 6d 6f 76 65 2d 61 74 20 31 20 27 28 22 30 22 20 22 31 22 20 22 32 group.(-remove-at.1.'("0"."1"."2
8ace0 22 20 22 33 22 20 22 34 22 20 22 35 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 22 "."3"."4"."5")).....@result{}.("
8ad00 30 22 20 22 32 22 20 22 33 22 20 22 34 22 20 22 35 22 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 0"."2"."3"."4"."5").@end.group.@
8ad20 67 72 6f 75 70 0a 28 2d 72 65 6d 6f 76 65 2d 61 74 20 32 20 27 28 22 30 22 20 22 31 22 20 22 32 group.(-remove-at.2.'("0"."1"."2
8ad40 22 20 22 33 22 20 22 34 22 20 22 35 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 22 "."3"."4"."5")).....@result{}.("
8ad60 30 22 20 22 31 22 20 22 33 22 20 22 34 22 20 22 35 22 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 0"."1"."3"."4"."5").@end.group.@
8ad80 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b end.example.@end.defun..@anchor{
8ada0 2d 72 65 6d 6f 76 65 2d 61 74 2d 69 6e 64 69 63 65 73 7d 0a 40 64 65 66 75 6e 20 2d 72 65 6d 6f -remove-at-indices}.@defun.-remo
8adc0 76 65 2d 61 74 2d 69 6e 64 69 63 65 73 20 28 69 6e 64 69 63 65 73 20 6c 69 73 74 29 0a 52 65 74 ve-at-indices.(indices.list).Ret
8ade0 75 72 6e 20 61 20 6c 69 73 74 20 77 68 6f 73 65 20 65 6c 65 6d 65 6e 74 73 20 61 72 65 20 65 6c urn.a.list.whose.elements.are.el
8ae00 65 6d 65 6e 74 73 20 66 72 6f 6d 20 40 76 61 72 7b 6c 69 73 74 7d 20 77 69 74 68 6f 75 74 0a 65 ements.from.@var{list}.without.e
8ae20 6c 65 6d 65 6e 74 73 20 73 65 6c 65 63 74 65 64 20 61 73 20 60 28 6e 74 68 20 69 20 6c 69 73 74 lements.selected.as.`(nth.i.list
8ae40 29 60 20 66 6f 72 20 61 6c 6c 20 69 0a 66 72 6f 6d 20 40 76 61 72 7b 69 6e 64 69 63 65 73 7d 2e )`.for.all.i.from.@var{indices}.
8ae60 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 72 65 6d 6f 76 65 2d 61 74 7d 20 28 40 ..See.also:.@code{-remove-at}.(@
8ae80 70 78 72 65 66 7b 2d 72 65 6d 6f 76 65 2d 61 74 7d 29 2c 20 40 63 6f 64 65 7b 2d 72 65 6d 6f 76 pxref{-remove-at}),.@code{-remov
8aea0 65 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 6d 6f 76 65 7d 29 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 e}.(@pxref{-remove})..@example.@
8aec0 67 72 6f 75 70 0a 28 2d 72 65 6d 6f 76 65 2d 61 74 2d 69 6e 64 69 63 65 73 20 27 28 30 29 20 27 group.(-remove-at-indices.'(0).'
8aee0 28 22 30 22 20 22 31 22 20 22 32 22 20 22 33 22 20 22 34 22 20 22 35 22 29 29 0a 20 20 20 20 40 ("0"."1"."2"."3"."4"."5")).....@
8af00 72 65 73 75 6c 74 7b 7d 20 28 22 31 22 20 22 32 22 20 22 33 22 20 22 34 22 20 22 35 22 29 0a 40 result{}.("1"."2"."3"."4"."5").@
8af20 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 72 65 6d 6f 76 65 2d 61 74 2d 69 6e 64 end.group.@group.(-remove-at-ind
8af40 69 63 65 73 20 27 28 30 20 32 20 34 29 20 27 28 22 30 22 20 22 31 22 20 22 32 22 20 22 33 22 20 ices.'(0.2.4).'("0"."1"."2"."3".
8af60 22 34 22 20 22 35 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 22 31 22 20 22 33 22 "4"."5")).....@result{}.("1"."3"
8af80 20 22 35 22 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 72 65 6d 6f 76 65 ."5").@end.group.@group.(-remove
8afa0 2d 61 74 2d 69 6e 64 69 63 65 73 20 27 28 30 20 35 29 20 27 28 22 30 22 20 22 31 22 20 22 32 22 -at-indices.'(0.5).'("0"."1"."2"
8afc0 20 22 33 22 20 22 34 22 20 22 35 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 22 31 ."3"."4"."5")).....@result{}.("1
8afe0 22 20 22 32 22 20 22 33 22 20 22 34 22 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 "."2"."3"."4").@end.group.@end.e
8b000 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 6e 6f 64 65 20 52 65 64 75 63 74 69 xample.@end.defun..@node.Reducti
8b020 6f 6e 73 0a 40 73 65 63 74 69 6f 6e 20 52 65 64 75 63 74 69 6f 6e 73 0a 0a 46 75 6e 63 74 69 6f ons.@section.Reductions..Functio
8b040 6e 73 20 72 65 64 75 63 69 6e 67 20 6c 69 73 74 73 20 74 6f 20 61 20 73 69 6e 67 6c 65 20 76 61 ns.reducing.lists.to.a.single.va
8b060 6c 75 65 20 28 77 68 69 63 68 20 6d 61 79 20 61 6c 73 6f 20 62 65 20 61 20 6c 69 73 74 29 2e 0a lue.(which.may.also.be.a.list)..
8b080 0a 40 61 6e 63 68 6f 72 7b 2d 72 65 64 75 63 65 2d 66 72 6f 6d 7d 0a 40 64 65 66 75 6e 20 2d 72 .@anchor{-reduce-from}.@defun.-r
8b0a0 65 64 75 63 65 2d 66 72 6f 6d 20 28 66 6e 20 69 6e 69 74 20 6c 69 73 74 29 0a 52 65 64 75 63 65 educe-from.(fn.init.list).Reduce
8b0c0 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 40 76 61 72 7b 66 6e 7d 20 61 63 72 6f 73 73 20 40 76 .the.function.@var{fn}.across.@v
8b0e0 61 72 7b 6c 69 73 74 7d 2c 20 73 74 61 72 74 69 6e 67 20 77 69 74 68 20 40 76 61 72 7b 69 6e 69 ar{list},.starting.with.@var{ini
8b100 74 7d 2e 0a 52 65 74 75 72 6e 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 61 70 70 6c 79 69 6e t}..Return.the.result.of.applyin
8b120 67 20 40 76 61 72 7b 66 6e 7d 20 74 6f 20 40 76 61 72 7b 69 6e 69 74 7d 20 61 6e 64 20 74 68 65 g.@var{fn}.to.@var{init}.and.the
8b140 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 6f 66 0a 40 76 61 72 7b 6c 69 73 74 7d 2c 20 74 68 .first.element.of.@var{list},.th
8b160 65 6e 20 61 70 70 6c 79 69 6e 67 20 40 76 61 72 7b 66 6e 7d 20 74 6f 20 74 68 61 74 20 72 65 73 en.applying.@var{fn}.to.that.res
8b180 75 6c 74 20 61 6e 64 20 74 68 65 20 73 65 63 6f 6e 64 20 65 6c 65 6d 65 6e 74 2c 0a 65 74 63 2e ult.and.the.second.element,.etc.
8b1a0 20 20 49 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 69 73 20 65 6d 70 74 79 2c 20 72 65 74 75 72 6e ..If.@var{list}.is.empty,.return
8b1c0 20 40 76 61 72 7b 69 6e 69 74 7d 20 77 69 74 68 6f 75 74 20 63 61 6c 6c 69 6e 67 20 40 76 61 72 .@var{init}.without.calling.@var
8b1e0 7b 66 6e 7d 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 {fn}...This.function's.anaphoric
8b200 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 40 63 6f 64 65 7b 2d 2d 72 65 64 75 63 65 2d 66 .counterpart.is.@code{--reduce-f
8b220 72 6f 6d 7d 2e 0a 0a 46 6f 72 20 6f 74 68 65 72 20 66 6f 6c 64 73 2c 20 73 65 65 20 61 6c 73 6f rom}...For.other.folds,.see.also
8b240 20 40 63 6f 64 65 7b 2d 72 65 64 75 63 65 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 64 75 63 65 7d .@code{-reduce}.(@pxref{-reduce}
8b260 29 20 61 6e 64 20 40 63 6f 64 65 7b 2d 72 65 64 75 63 65 2d 72 7d 20 28 40 70 78 72 65 66 7b 2d ).and.@code{-reduce-r}.(@pxref{-
8b280 72 65 64 75 63 65 2d 72 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 72 reduce-r})...@example.@group.(-r
8b2a0 65 64 75 63 65 2d 66 72 6f 6d 20 23 27 2d 20 31 30 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 educe-from.#'-.10.'(1.2.3)).....
8b2c0 40 72 65 73 75 6c 74 7b 7d 20 34 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d @result{}.4.@end.group.@group.(-
8b2e0 72 65 64 75 63 65 2d 66 72 6f 6d 20 23 27 6c 69 73 74 20 31 30 20 27 28 31 20 32 20 33 29 29 0a reduce-from.#'list.10.'(1.2.3)).
8b300 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 28 31 30 20 31 29 20 32 29 20 33 29 0a 40 65 6e ....@result{}.(((10.1).2).3).@en
8b320 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 28 63 d.group.@group.(--reduce-from.(c
8b340 6f 6e 63 61 74 20 61 63 63 20 22 20 22 20 69 74 29 20 22 53 54 41 52 54 22 20 27 28 22 61 22 20 oncat.acc.".".it)."START".'("a".
8b360 22 62 22 20 22 63 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 22 53 54 41 52 54 20 61 "b"."c")).....@result{}."START.a
8b380 20 62 20 63 22 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 .b.c".@end.group.@end.example.@e
8b3a0 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d nd.defun..@anchor{-reduce-r-from
8b3c0 7d 0a 40 64 65 66 75 6e 20 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 20 28 66 6e 20 69 6e 69 74 }.@defun.-reduce-r-from.(fn.init
8b3e0 20 6c 69 73 74 29 0a 52 65 64 75 63 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 40 76 61 72 7b .list).Reduce.the.function.@var{
8b400 66 6e 7d 20 61 63 72 6f 73 73 20 40 76 61 72 7b 6c 69 73 74 7d 20 69 6e 20 72 65 76 65 72 73 65 fn}.across.@var{list}.in.reverse
8b420 2c 20 73 74 61 72 74 69 6e 67 20 77 69 74 68 20 40 76 61 72 7b 69 6e 69 74 7d 2e 0a 52 65 74 75 ,.starting.with.@var{init}..Retu
8b440 72 6e 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 61 70 70 6c 79 69 6e 67 20 40 76 61 72 7b 66 rn.the.result.of.applying.@var{f
8b460 6e 7d 20 74 6f 20 74 68 65 20 6c 61 73 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 40 76 61 72 7b 6c n}.to.the.last.element.of.@var{l
8b480 69 73 74 7d 20 61 6e 64 0a 40 76 61 72 7b 69 6e 69 74 7d 2c 20 74 68 65 6e 20 61 70 70 6c 79 69 ist}.and.@var{init},.then.applyi
8b4a0 6e 67 20 40 76 61 72 7b 66 6e 7d 20 74 6f 20 74 68 65 20 73 65 63 6f 6e 64 2d 74 6f 2d 6c 61 73 ng.@var{fn}.to.the.second-to-las
8b4c0 74 20 65 6c 65 6d 65 6e 74 20 61 6e 64 20 74 68 65 0a 70 72 65 76 69 6f 75 73 20 72 65 73 75 6c t.element.and.the.previous.resul
8b4e0 74 20 6f 66 20 40 76 61 72 7b 66 6e 7d 2c 20 65 74 63 2e 20 20 54 68 61 74 20 69 73 2c 20 74 68 t.of.@var{fn},.etc...That.is,.th
8b500 65 20 66 69 72 73 74 20 61 72 67 75 6d 65 6e 74 20 6f 66 20 40 76 61 72 7b 66 6e 7d 20 69 73 0a e.first.argument.of.@var{fn}.is.
8b520 74 68 65 20 63 75 72 72 65 6e 74 20 65 6c 65 6d 65 6e 74 2c 20 61 6e 64 20 69 74 73 20 73 65 63 the.current.element,.and.its.sec
8b540 6f 6e 64 20 61 72 67 75 6d 65 6e 74 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 65 64 0a 76 61 6c ond.argument.the.accumulated.val
8b560 75 65 2e 20 20 49 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 69 73 20 65 6d 70 74 79 2c 20 72 65 74 ue...If.@var{list}.is.empty,.ret
8b580 75 72 6e 20 40 76 61 72 7b 69 6e 69 74 7d 20 77 69 74 68 6f 75 74 20 63 61 6c 6c 69 6e 67 20 40 urn.@var{init}.without.calling.@
8b5a0 76 61 72 7b 66 6e 7d 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6c 69 6b 65 20 var{fn}...This.function.is.like.
8b5c0 40 63 6f 64 65 7b 2d 72 65 64 75 63 65 2d 66 72 6f 6d 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 64 @code{-reduce-from}.(@pxref{-red
8b5e0 75 63 65 2d 66 72 6f 6d 7d 29 20 62 75 74 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 61 73 73 uce-from}).but.the.operation.ass
8b600 6f 63 69 61 74 65 73 0a 66 72 6f 6d 20 74 68 65 20 72 69 67 68 74 20 72 61 74 68 65 72 20 74 68 ociates.from.the.right.rather.th
8b620 61 6e 20 6c 65 66 74 2e 20 20 49 6e 20 6f 74 68 65 72 20 77 6f 72 64 73 2c 20 69 74 20 73 74 61 an.left...In.other.words,.it.sta
8b640 72 74 73 20 66 72 6f 6d 0a 74 68 65 20 65 6e 64 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 61 rts.from.the.end.of.@var{list}.a
8b660 6e 64 20 66 6c 69 70 73 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 40 76 61 72 7b 66 nd.flips.the.arguments.to.@var{f
8b680 6e 7d 2e 20 20 43 6f 6e 63 65 70 74 75 61 6c 6c 79 2c 20 69 74 0a 69 73 20 6c 69 6b 65 20 72 65 n}...Conceptually,.it.is.like.re
8b6a0 70 6c 61 63 69 6e 67 20 74 68 65 20 63 6f 6e 73 65 73 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d placing.the.conses.in.@var{list}
8b6c0 20 77 69 74 68 20 61 70 70 6c 69 63 61 74 69 6f 6e 73 20 6f 66 20 40 76 61 72 7b 66 6e 7d 2c 20 .with.applications.of.@var{fn},.
8b6e0 61 6e 64 0a 69 74 73 20 6c 61 73 74 20 6c 69 6e 6b 20 77 69 74 68 20 40 76 61 72 7b 69 6e 69 74 and.its.last.link.with.@var{init
8b700 7d 2c 20 61 6e 64 20 65 76 61 6c 75 61 74 69 6e 67 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 20 },.and.evaluating.the.resulting.
8b720 65 78 70 72 65 73 73 69 6f 6e 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 expression...This.function's.ana
8b740 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 40 63 6f 64 65 7b 2d 2d 72 65 phoric.counterpart.is.@code{--re
8b760 64 75 63 65 2d 72 2d 66 72 6f 6d 7d 2e 0a 0a 46 6f 72 20 6f 74 68 65 72 20 66 6f 6c 64 73 2c 20 duce-r-from}...For.other.folds,.
8b780 73 65 65 20 61 6c 73 6f 20 40 63 6f 64 65 7b 2d 72 65 64 75 63 65 2d 72 7d 20 28 40 70 78 72 65 see.also.@code{-reduce-r}.(@pxre
8b7a0 66 7b 2d 72 65 64 75 63 65 2d 72 7d 29 20 61 6e 64 20 40 63 6f 64 65 7b 2d 72 65 64 75 63 65 7d f{-reduce-r}).and.@code{-reduce}
8b7c0 20 28 40 70 78 72 65 66 7b 2d 72 65 64 75 63 65 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 .(@pxref{-reduce})...@example.@g
8b7e0 72 6f 75 70 0a 28 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 20 23 27 2d 20 31 30 20 27 28 31 20 roup.(-reduce-r-from.#'-.10.'(1.
8b800 32 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 2d 38 0a 40 65 6e 64 20 67 72 6f 75 2.3)).....@result{}.-8.@end.grou
8b820 70 0a 40 67 72 6f 75 70 0a 28 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 20 23 27 6c 69 73 74 20 p.@group.(-reduce-r-from.#'list.
8b840 31 30 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 28 32 10.'(1.2.3)).....@result{}.(1.(2
8b860 20 28 33 20 31 30 29 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 72 .(3.10))).@end.group.@group.(--r
8b880 65 64 75 63 65 2d 72 2d 66 72 6f 6d 20 28 63 6f 6e 63 61 74 20 69 74 20 22 20 22 20 61 63 63 29 educe-r-from.(concat.it.".".acc)
8b8a0 20 22 45 4e 44 22 20 27 28 22 61 22 20 22 62 22 20 22 63 22 29 29 0a 20 20 20 20 40 72 65 73 75 ."END".'("a"."b"."c")).....@resu
8b8c0 6c 74 7b 7d 20 22 61 20 62 20 63 20 45 4e 44 22 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 lt{}."a.b.c.END".@end.group.@end
8b8e0 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 72 65 .example.@end.defun..@anchor{-re
8b900 64 75 63 65 7d 0a 40 64 65 66 75 6e 20 2d 72 65 64 75 63 65 20 28 66 6e 20 6c 69 73 74 29 0a 52 duce}.@defun.-reduce.(fn.list).R
8b920 65 64 75 63 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 40 76 61 72 7b 66 6e 7d 20 61 63 72 6f educe.the.function.@var{fn}.acro
8b940 73 73 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 52 65 74 75 72 6e 20 74 68 65 20 72 65 73 75 6c 74 ss.@var{list}..Return.the.result
8b960 20 6f 66 20 61 70 70 6c 79 69 6e 67 20 40 76 61 72 7b 66 6e 7d 20 74 6f 20 74 68 65 20 66 69 72 .of.applying.@var{fn}.to.the.fir
8b980 73 74 20 74 77 6f 20 65 6c 65 6d 65 6e 74 73 20 6f 66 0a 40 76 61 72 7b 6c 69 73 74 7d 2c 20 74 st.two.elements.of.@var{list},.t
8b9a0 68 65 6e 20 61 70 70 6c 79 69 6e 67 20 40 76 61 72 7b 66 6e 7d 20 74 6f 20 74 68 61 74 20 72 65 hen.applying.@var{fn}.to.that.re
8b9c0 73 75 6c 74 20 61 6e 64 20 74 68 65 20 74 68 69 72 64 20 65 6c 65 6d 65 6e 74 2c 20 65 74 63 2e sult.and.the.third.element,.etc.
8b9e0 0a 49 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 63 6f 6e 74 61 69 6e 73 20 61 20 73 69 6e 67 6c 65 .If.@var{list}.contains.a.single
8ba00 20 65 6c 65 6d 65 6e 74 2c 20 72 65 74 75 72 6e 20 69 74 20 77 69 74 68 6f 75 74 20 63 61 6c 6c .element,.return.it.without.call
8ba20 69 6e 67 20 40 76 61 72 7b 66 6e 7d 2e 0a 49 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 69 73 20 65 ing.@var{fn}..If.@var{list}.is.e
8ba40 6d 70 74 79 2c 20 72 65 74 75 72 6e 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 63 61 6c 6c 69 mpty,.return.the.result.of.calli
8ba60 6e 67 20 40 76 61 72 7b 66 6e 7d 20 77 69 74 68 20 6e 6f 0a 61 72 67 75 6d 65 6e 74 73 2e 0a 0a ng.@var{fn}.with.no.arguments...
8ba80 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 This.function's.anaphoric.counte
8baa0 72 70 61 72 74 20 69 73 20 40 63 6f 64 65 7b 2d 2d 72 65 64 75 63 65 7d 2e 0a 0a 46 6f 72 20 6f rpart.is.@code{--reduce}...For.o
8bac0 74 68 65 72 20 66 6f 6c 64 73 2c 20 73 65 65 20 61 6c 73 6f 20 40 63 6f 64 65 7b 2d 72 65 64 75 ther.folds,.see.also.@code{-redu
8bae0 63 65 2d 66 72 6f 6d 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 64 75 63 65 2d 66 72 6f 6d 7d 29 20 ce-from}.(@pxref{-reduce-from}).
8bb00 61 6e 64 20 40 63 6f 64 65 7b 2d 72 65 64 75 63 65 2d 72 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 and.@code{-reduce-r}.(@pxref{-re
8bb20 64 75 63 65 2d 72 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 72 65 64 duce-r})...@example.@group.(-red
8bb40 75 63 65 20 23 27 2d 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b uce.#'-.'(1.2.3.4)).....@result{
8bb60 7d 20 2d 38 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 72 65 64 75 63 65 20 }.-8.@end.group.@group.(-reduce.
8bb80 23 27 6c 69 73 74 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d #'list.'(1.2.3.4)).....@result{}
8bba0 20 28 28 28 31 20 32 29 20 33 29 20 34 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 .(((1.2).3).4).@end.group.@group
8bbc0 0a 28 2d 2d 72 65 64 75 63 65 20 28 66 6f 72 6d 61 74 20 22 25 73 2d 25 64 22 20 61 63 63 20 69 .(--reduce.(format."%s-%d".acc.i
8bbe0 74 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 22 31 2d 32 2d t).'(1.2.3)).....@result{}."1-2-
8bc00 33 22 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 3".@end.group.@end.example.@end.
8bc20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 72 65 64 75 63 65 2d 72 7d 0a 40 64 65 66 75 6e defun..@anchor{-reduce-r}.@defun
8bc40 20 2d 72 65 64 75 63 65 2d 72 20 28 66 6e 20 6c 69 73 74 29 0a 52 65 64 75 63 65 20 74 68 65 20 .-reduce-r.(fn.list).Reduce.the.
8bc60 66 75 6e 63 74 69 6f 6e 20 40 76 61 72 7b 66 6e 7d 20 61 63 72 6f 73 73 20 40 76 61 72 7b 6c 69 function.@var{fn}.across.@var{li
8bc80 73 74 7d 20 69 6e 20 72 65 76 65 72 73 65 2e 0a 52 65 74 75 72 6e 20 74 68 65 20 72 65 73 75 6c st}.in.reverse..Return.the.resul
8bca0 74 20 6f 66 20 61 70 70 6c 79 69 6e 67 20 40 76 61 72 7b 66 6e 7d 20 74 6f 20 74 68 65 20 6c 61 t.of.applying.@var{fn}.to.the.la
8bcc0 73 74 20 74 77 6f 20 65 6c 65 6d 65 6e 74 73 20 6f 66 0a 40 76 61 72 7b 6c 69 73 74 7d 2c 20 74 st.two.elements.of.@var{list},.t
8bce0 68 65 6e 20 61 70 70 6c 79 69 6e 67 20 40 76 61 72 7b 66 6e 7d 20 74 6f 20 74 68 65 20 74 68 69 hen.applying.@var{fn}.to.the.thi
8bd00 72 64 2d 74 6f 2d 6c 61 73 74 20 65 6c 65 6d 65 6e 74 20 61 6e 64 20 74 68 65 0a 70 72 65 76 69 rd-to-last.element.and.the.previ
8bd20 6f 75 73 20 72 65 73 75 6c 74 20 6f 66 20 40 76 61 72 7b 66 6e 7d 2c 20 65 74 63 2e 20 20 54 68 ous.result.of.@var{fn},.etc...Th
8bd40 61 74 20 69 73 2c 20 74 68 65 20 66 69 72 73 74 20 61 72 67 75 6d 65 6e 74 20 6f 66 20 40 76 61 at.is,.the.first.argument.of.@va
8bd60 72 7b 66 6e 7d 20 69 73 0a 74 68 65 20 63 75 72 72 65 6e 74 20 65 6c 65 6d 65 6e 74 2c 20 61 6e r{fn}.is.the.current.element,.an
8bd80 64 20 69 74 73 20 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e 74 20 74 68 65 20 61 63 63 75 6d 75 d.its.second.argument.the.accumu
8bda0 6c 61 74 65 64 0a 76 61 6c 75 65 2e 20 20 49 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 63 6f 6e 74 lated.value...If.@var{list}.cont
8bdc0 61 69 6e 73 20 61 20 73 69 6e 67 6c 65 20 65 6c 65 6d 65 6e 74 2c 20 72 65 74 75 72 6e 20 69 74 ains.a.single.element,.return.it
8bde0 20 77 69 74 68 6f 75 74 0a 63 61 6c 6c 69 6e 67 20 40 76 61 72 7b 66 6e 7d 2e 20 20 49 66 20 40 .without.calling.@var{fn}...If.@
8be00 76 61 72 7b 6c 69 73 74 7d 20 69 73 20 65 6d 70 74 79 2c 20 72 65 74 75 72 6e 20 74 68 65 20 72 var{list}.is.empty,.return.the.r
8be20 65 73 75 6c 74 20 6f 66 20 63 61 6c 6c 69 6e 67 20 40 76 61 72 7b 66 6e 7d 0a 77 69 74 68 20 6e esult.of.calling.@var{fn}.with.n
8be40 6f 20 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6c o.arguments...This.function.is.l
8be60 69 6b 65 20 40 63 6f 64 65 7b 2d 72 65 64 75 63 65 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 64 75 ike.@code{-reduce}.(@pxref{-redu
8be80 63 65 7d 29 20 62 75 74 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 61 73 73 6f 63 69 61 74 65 ce}).but.the.operation.associate
8bea0 73 20 66 72 6f 6d 0a 74 68 65 20 72 69 67 68 74 20 72 61 74 68 65 72 20 74 68 61 6e 20 6c 65 66 s.from.the.right.rather.than.lef
8bec0 74 2e 20 20 49 6e 20 6f 74 68 65 72 20 77 6f 72 64 73 2c 20 69 74 20 73 74 61 72 74 73 20 66 72 t...In.other.words,.it.starts.fr
8bee0 6f 6d 20 74 68 65 0a 65 6e 64 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 61 6e 64 20 66 6c 69 om.the.end.of.@var{list}.and.fli
8bf00 70 73 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 40 76 61 72 7b 66 6e 7d 2e 20 20 43 ps.the.arguments.to.@var{fn}...C
8bf20 6f 6e 63 65 70 74 75 61 6c 6c 79 2c 20 69 74 20 69 73 0a 6c 69 6b 65 20 72 65 70 6c 61 63 69 6e onceptually,.it.is.like.replacin
8bf40 67 20 74 68 65 20 63 6f 6e 73 65 73 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 20 77 69 74 68 20 g.the.conses.in.@var{list}.with.
8bf60 61 70 70 6c 69 63 61 74 69 6f 6e 73 20 6f 66 20 40 76 61 72 7b 66 6e 7d 2c 0a 69 67 6e 6f 72 69 applications.of.@var{fn},.ignori
8bf80 6e 67 20 69 74 73 20 6c 61 73 74 20 6c 69 6e 6b 2c 20 61 6e 64 20 65 76 61 6c 75 61 74 69 6e 67 ng.its.last.link,.and.evaluating
8bfa0 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 20 65 78 70 72 65 73 73 69 6f 6e 2e 0a 0a 54 68 69 73 .the.resulting.expression...This
8bfc0 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 .function's.anaphoric.counterpar
8bfe0 74 20 69 73 20 40 63 6f 64 65 7b 2d 2d 72 65 64 75 63 65 2d 72 7d 2e 0a 0a 46 6f 72 20 6f 74 68 t.is.@code{--reduce-r}...For.oth
8c000 65 72 20 66 6f 6c 64 73 2c 20 73 65 65 20 61 6c 73 6f 20 40 63 6f 64 65 7b 2d 72 65 64 75 63 65 er.folds,.see.also.@code{-reduce
8c020 2d 72 2d 66 72 6f 6d 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 7d -r-from}.(@pxref{-reduce-r-from}
8c040 29 20 61 6e 64 20 40 63 6f 64 65 7b 2d 72 65 64 75 63 65 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 ).and.@code{-reduce}.(@pxref{-re
8c060 64 75 63 65 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 72 65 64 75 63 duce})...@example.@group.(-reduc
8c080 65 2d 72 20 23 27 2d 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b e-r.#'-.'(1.2.3.4)).....@result{
8c0a0 7d 20 2d 32 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 72 65 64 75 63 65 2d }.-2.@end.group.@group.(-reduce-
8c0c0 72 20 23 27 6c 69 73 74 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 r.#'list.'(1.2.3.4)).....@result
8c0e0 7b 7d 20 28 31 20 28 32 20 28 33 20 34 29 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f {}.(1.(2.(3.4))).@end.group.@gro
8c100 75 70 0a 28 2d 2d 72 65 64 75 63 65 2d 72 20 28 66 6f 72 6d 61 74 20 22 25 73 2d 25 64 22 20 61 up.(--reduce-r.(format."%s-%d".a
8c120 63 63 20 69 74 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 22 cc.it).'(1.2.3)).....@result{}."
8c140 33 2d 32 2d 31 22 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 3-2-1".@end.group.@end.example.@
8c160 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 end.defun..@anchor{-reductions-f
8c180 72 6f 6d 7d 0a 40 64 65 66 75 6e 20 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 72 6f 6d 20 28 66 6e rom}.@defun.-reductions-from.(fn
8c1a0 20 69 6e 69 74 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 40 76 61 .init.list).Return.a.list.of.@va
8c1c0 72 7b 66 6e 7d 27 73 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 72 65 64 75 63 74 69 6f 6e 73 20 r{fn}'s.intermediate.reductions.
8c1e0 61 63 72 6f 73 73 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 54 68 61 74 20 69 73 2c 20 61 20 6c 69 across.@var{list}..That.is,.a.li
8c200 73 74 20 6f 66 20 74 68 65 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 76 61 6c 75 65 73 20 6f 66 st.of.the.intermediate.values.of
8c220 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 0a 77 68 65 6e 20 40 63 6f 64 65 7b 2d 72 65 64 .the.accumulator.when.@code{-red
8c240 75 63 65 2d 66 72 6f 6d 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 64 75 63 65 2d 66 72 6f 6d 7d 29 uce-from}.(@pxref{-reduce-from})
8c260 20 28 77 68 69 63 68 20 73 65 65 29 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 74 68 65 20 .(which.see).is.called.with.the.
8c280 73 61 6d 65 0a 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 same.arguments...This.function's
8c2a0 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 40 63 6f 64 65 7b .anaphoric.counterpart.is.@code{
8c2c0 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 72 6f 6d 7d 2e 0a 0a 46 6f 72 20 6f 74 68 65 72 20 66 --reductions-from}...For.other.f
8c2e0 6f 6c 64 73 2c 20 73 65 65 20 61 6c 73 6f 20 40 63 6f 64 65 7b 2d 72 65 64 75 63 74 69 6f 6e 73 olds,.see.also.@code{-reductions
8c300 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 64 75 63 74 69 6f 6e 73 7d 29 20 61 6e 64 20 40 63 6f 64 }.(@pxref{-reductions}).and.@cod
8c320 65 7b 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 64 75 63 74 e{-reductions-r}.(@pxref{-reduct
8c340 69 6f 6e 73 2d 72 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 72 65 64 ions-r})...@example.@group.(-red
8c360 75 63 74 69 6f 6e 73 2d 66 72 6f 6d 20 23 27 6d 61 78 20 30 20 27 28 32 20 31 20 34 20 33 29 29 uctions-from.#'max.0.'(2.1.4.3))
8c380 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 30 20 32 20 32 20 34 20 34 29 0a 40 65 6e 64 20 .....@result{}.(0.2.2.4.4).@end.
8c3a0 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 72 6f 6d 20 23 group.@group.(-reductions-from.#
8c3c0 27 2a 20 31 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 '*.1.'(1.2.3.4)).....@result{}.(
8c3e0 31 20 31 20 32 20 36 20 32 34 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 1.1.2.6.24).@end.group.@group.(-
8c400 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 72 6f 6d 20 28 66 6f 72 6d 61 74 20 22 28 46 4e 20 25 73 -reductions-from.(format."(FN.%s
8c420 20 25 64 29 22 20 61 63 63 20 69 74 29 20 22 49 4e 49 54 22 20 27 28 31 20 32 20 33 29 29 0a 20 .%d)".acc.it)."INIT".'(1.2.3))..
8c440 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 22 49 4e 49 54 22 20 22 28 46 4e 20 49 4e 49 54 20 31 ...@result{}.("INIT"."(FN.INIT.1
8c460 29 22 20 22 28 46 4e 20 28 46 4e 20 49 4e 49 54 20 31 29 20 32 29 22 20 22 28 46 4e 20 28 46 4e )"."(FN.(FN.INIT.1).2)"."(FN.(FN
8c480 20 28 46 4e 20 49 4e 49 54 20 31 29 20 32 29 20 33 29 22 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a .(FN.INIT.1).2).3)").@end.group.
8c4a0 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 @end.example.@end.defun..@anchor
8c4c0 7b 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 7d 0a 40 64 65 66 75 6e 20 2d 72 65 64 {-reductions-r-from}.@defun.-red
8c4e0 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 20 28 66 6e 20 69 6e 69 74 20 6c 69 73 74 29 0a 52 65 uctions-r-from.(fn.init.list).Re
8c500 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 40 76 61 72 7b 66 6e 7d 27 73 20 69 6e 74 65 72 6d turn.a.list.of.@var{fn}'s.interm
8c520 65 64 69 61 74 65 20 72 65 64 75 63 74 69 6f 6e 73 20 61 63 72 6f 73 73 20 72 65 76 65 72 73 65 ediate.reductions.across.reverse
8c540 64 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 54 68 61 74 20 69 73 2c 20 61 20 6c 69 73 74 20 6f 66 d.@var{list}..That.is,.a.list.of
8c560 20 74 68 65 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 76 61 6c 75 65 73 20 6f 66 20 74 68 65 20 .the.intermediate.values.of.the.
8c580 61 63 63 75 6d 75 6c 61 74 6f 72 0a 77 68 65 6e 20 40 63 6f 64 65 7b 2d 72 65 64 75 63 65 2d 72 accumulator.when.@code{-reduce-r
8c5a0 2d 66 72 6f 6d 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 7d 29 20 -from}.(@pxref{-reduce-r-from}).
8c5c0 28 77 68 69 63 68 20 73 65 65 29 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 74 68 65 20 73 (which.see).is.called.with.the.s
8c5e0 61 6d 65 0a 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 ame.arguments...This.function's.
8c600 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 40 63 6f 64 65 7b 2d anaphoric.counterpart.is.@code{-
8c620 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 7d 2e 0a 0a 46 6f 72 20 6f 74 68 65 72 20 -reductions-r-from}...For.other.
8c640 66 6f 6c 64 73 2c 20 73 65 65 20 61 6c 73 6f 20 40 63 6f 64 65 7b 2d 72 65 64 75 63 74 69 6f 6e folds,.see.also.@code{-reduction
8c660 73 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 64 75 63 74 69 6f 6e 73 7d 29 20 61 6e 64 20 40 63 6f s}.(@pxref{-reductions}).and.@co
8c680 64 65 7b 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 64 75 63 de{-reductions-r}.(@pxref{-reduc
8c6a0 74 69 6f 6e 73 2d 72 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 72 65 tions-r})...@example.@group.(-re
8c6c0 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 20 23 27 6d 61 78 20 30 20 27 28 32 20 31 20 34 20 ductions-r-from.#'max.0.'(2.1.4.
8c6e0 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 34 20 34 20 34 20 33 20 30 29 0a 40 65 3)).....@result{}.(4.4.4.3.0).@e
8c700 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 nd.group.@group.(-reductions-r-f
8c720 72 6f 6d 20 23 27 2a 20 31 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c rom.#'*.1.'(1.2.3.4)).....@resul
8c740 74 7b 7d 20 28 32 34 20 32 34 20 31 32 20 34 20 31 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 t{}.(24.24.12.4.1).@end.group.@g
8c760 72 6f 75 70 0a 28 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 20 28 66 6f 72 6d 61 roup.(--reductions-r-from.(forma
8c780 74 20 22 28 46 4e 20 25 64 20 25 73 29 22 20 69 74 20 61 63 63 29 20 22 49 4e 49 54 22 20 27 28 t."(FN.%d.%s)".it.acc)."INIT".'(
8c7a0 31 20 32 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 22 28 46 4e 20 31 20 28 46 1.2.3)).....@result{}.("(FN.1.(F
8c7c0 4e 20 32 20 28 46 4e 20 33 20 49 4e 49 54 29 29 29 22 20 22 28 46 4e 20 32 20 28 46 4e 20 33 20 N.2.(FN.3.INIT)))"."(FN.2.(FN.3.
8c7e0 49 4e 49 54 29 29 22 20 22 28 46 4e 20 33 20 49 4e 49 54 29 22 20 22 49 4e 49 54 22 29 0a 40 65 INIT))"."(FN.3.INIT)"."INIT").@e
8c800 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e nd.group.@end.example.@end.defun
8c820 0a 0a 40 61 6e 63 68 6f 72 7b 2d 72 65 64 75 63 74 69 6f 6e 73 7d 0a 40 64 65 66 75 6e 20 2d 72 ..@anchor{-reductions}.@defun.-r
8c840 65 64 75 63 74 69 6f 6e 73 20 28 66 6e 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 61 20 6c 69 73 eductions.(fn.list).Return.a.lis
8c860 74 20 6f 66 20 40 76 61 72 7b 66 6e 7d 27 73 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 72 65 64 t.of.@var{fn}'s.intermediate.red
8c880 75 63 74 69 6f 6e 73 20 61 63 72 6f 73 73 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 54 68 61 74 20 uctions.across.@var{list}..That.
8c8a0 69 73 2c 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 76 is,.a.list.of.the.intermediate.v
8c8c0 61 6c 75 65 73 20 6f 66 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 0a 77 68 65 6e 20 40 63 alues.of.the.accumulator.when.@c
8c8e0 6f 64 65 7b 2d 72 65 64 75 63 65 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 64 75 63 65 7d 29 20 28 ode{-reduce}.(@pxref{-reduce}).(
8c900 77 68 69 63 68 20 73 65 65 29 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 74 68 65 20 73 61 which.see).is.called.with.the.sa
8c920 6d 65 20 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 me.arguments...This.function's.a
8c940 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 40 63 6f 64 65 7b 2d 2d naphoric.counterpart.is.@code{--
8c960 72 65 64 75 63 74 69 6f 6e 73 7d 2e 0a 0a 46 6f 72 20 6f 74 68 65 72 20 66 6f 6c 64 73 2c 20 73 reductions}...For.other.folds,.s
8c980 65 65 20 61 6c 73 6f 20 40 63 6f 64 65 7b 2d 72 65 64 75 63 74 69 6f 6e 73 7d 20 28 40 70 78 72 ee.also.@code{-reductions}.(@pxr
8c9a0 65 66 7b 2d 72 65 64 75 63 74 69 6f 6e 73 7d 29 20 61 6e 64 20 40 63 6f 64 65 7b 2d 72 65 64 75 ef{-reductions}).and.@code{-redu
8c9c0 63 74 69 6f 6e 73 2d 72 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 7d ctions-r}.(@pxref{-reductions-r}
8c9e0 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 72 65 64 75 63 74 69 6f 6e 73 )...@example.@group.(-reductions
8ca00 20 23 27 2b 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 .#'+.'(1.2.3.4)).....@result{}.(
8ca20 31 20 33 20 36 20 31 30 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 72 65 1.3.6.10).@end.group.@group.(-re
8ca40 64 75 63 74 69 6f 6e 73 20 23 27 2a 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 ductions.#'*.'(1.2.3.4)).....@re
8ca60 73 75 6c 74 7b 7d 20 28 31 20 32 20 36 20 32 34 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 sult{}.(1.2.6.24).@end.group.@gr
8ca80 6f 75 70 0a 28 2d 2d 72 65 64 75 63 74 69 6f 6e 73 20 28 66 6f 72 6d 61 74 20 22 28 46 4e 20 25 oup.(--reductions.(format."(FN.%
8caa0 73 20 25 64 29 22 20 61 63 63 20 69 74 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 40 72 65 s.%d)".acc.it).'(1.2.3)).....@re
8cac0 73 75 6c 74 7b 7d 20 28 31 20 22 28 46 4e 20 31 20 32 29 22 20 22 28 46 4e 20 28 46 4e 20 31 20 sult{}.(1."(FN.1.2)"."(FN.(FN.1.
8cae0 32 29 20 33 29 22 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 2).3)").@end.group.@end.example.
8cb00 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 72 65 64 75 63 74 69 6f 6e 73 2d @end.defun..@anchor{-reductions-
8cb20 72 7d 0a 40 64 65 66 75 6e 20 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 20 28 66 6e 20 6c 69 73 74 r}.@defun.-reductions-r.(fn.list
8cb40 29 0a 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 40 76 61 72 7b 66 6e 7d 27 73 20 69 6e ).Return.a.list.of.@var{fn}'s.in
8cb60 74 65 72 6d 65 64 69 61 74 65 20 72 65 64 75 63 74 69 6f 6e 73 20 61 63 72 6f 73 73 20 72 65 76 termediate.reductions.across.rev
8cb80 65 72 73 65 64 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 54 68 61 74 20 69 73 2c 20 61 20 6c 69 73 ersed.@var{list}..That.is,.a.lis
8cba0 74 20 6f 66 20 74 68 65 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 76 61 6c 75 65 73 20 6f 66 20 t.of.the.intermediate.values.of.
8cbc0 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 0a 77 68 65 6e 20 40 63 6f 64 65 7b 2d 72 65 64 75 the.accumulator.when.@code{-redu
8cbe0 63 65 2d 72 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 64 75 63 65 2d 72 7d 29 20 28 77 68 69 63 68 ce-r}.(@pxref{-reduce-r}).(which
8cc00 20 73 65 65 29 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 20 61 72 .see).is.called.with.the.same.ar
8cc20 67 75 6d 65 6e 74 73 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f guments...This.function's.anapho
8cc40 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 40 63 6f 64 65 7b 2d 2d 72 65 64 75 63 ric.counterpart.is.@code{--reduc
8cc60 74 69 6f 6e 73 2d 72 7d 2e 0a 0a 46 6f 72 20 6f 74 68 65 72 20 66 6f 6c 64 73 2c 20 73 65 65 20 tions-r}...For.other.folds,.see.
8cc80 61 6c 73 6f 20 40 63 6f 64 65 7b 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 7d 20 28 also.@code{-reductions-r-from}.(
8cca0 40 70 78 72 65 66 7b 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 7d 29 20 61 6e 64 0a @pxref{-reductions-r-from}).and.
8ccc0 40 63 6f 64 65 7b 2d 72 65 64 75 63 74 69 6f 6e 73 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 64 75 @code{-reductions}.(@pxref{-redu
8cce0 63 74 69 6f 6e 73 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 72 65 64 ctions})...@example.@group.(-red
8cd00 75 63 74 69 6f 6e 73 2d 72 20 23 27 2b 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 uctions-r.#'+.'(1.2.3.4)).....@r
8cd20 65 73 75 6c 74 7b 7d 20 28 31 30 20 39 20 37 20 34 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 esult{}.(10.9.7.4).@end.group.@g
8cd40 72 6f 75 70 0a 28 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 20 23 27 2a 20 27 28 31 20 32 20 33 20 roup.(-reductions-r.#'*.'(1.2.3.
8cd60 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 32 34 20 32 34 20 31 32 20 34 29 0a 40 4)).....@result{}.(24.24.12.4).@
8cd80 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 end.group.@group.(--reductions-r
8cda0 20 28 66 6f 72 6d 61 74 20 22 28 46 4e 20 25 64 20 25 73 29 22 20 69 74 20 61 63 63 29 20 27 28 .(format."(FN.%d.%s)".it.acc).'(
8cdc0 31 20 32 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 22 28 46 4e 20 31 20 28 46 1.2.3)).....@result{}.("(FN.1.(F
8cde0 4e 20 32 20 33 29 29 22 20 22 28 46 4e 20 32 20 33 29 22 20 33 29 0a 40 65 6e 64 20 67 72 6f 75 N.2.3))"."(FN.2.3)".3).@end.grou
8ce00 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 p.@end.example.@end.defun..@anch
8ce20 6f 72 7b 2d 63 6f 75 6e 74 7d 0a 40 64 65 66 75 6e 20 2d 63 6f 75 6e 74 20 28 70 72 65 64 20 6c or{-count}.@defun.-count.(pred.l
8ce40 69 73 74 29 0a 43 6f 75 6e 74 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 69 74 65 6d 73 20 ist).Counts.the.number.of.items.
8ce60 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 20 77 68 65 72 65 20 28 40 76 61 72 7b 70 72 65 64 7d 20 in.@var{list}.where.(@var{pred}.
8ce80 69 74 65 6d 29 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f item).is.non-nil...@example.@gro
8cea0 75 70 0a 28 2d 63 6f 75 6e 74 20 27 65 76 65 6e 3f 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a up.(-count.'even?.'(1.2.3.4.5)).
8cec0 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 32 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 ....@result{}.2.@end.group.@grou
8cee0 70 0a 28 2d 2d 63 6f 75 6e 74 20 28 3c 20 69 74 20 34 29 20 27 28 31 20 32 20 33 20 34 29 29 0a p.(--count.(<.it.4).'(1.2.3.4)).
8cf00 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 33 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 ....@result{}.3.@end.group.@end.
8cf20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 73 75 6d example.@end.defun..@anchor{-sum
8cf40 7d 0a 40 64 65 66 75 6e 20 2d 73 75 6d 20 28 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 74 68 65 20 }.@defun.-sum.(list).Return.the.
8cf60 73 75 6d 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 sum.of.@var{list}...@example.@gr
8cf80 6f 75 70 0a 28 2d 73 75 6d 20 28 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 30 0a 40 65 oup.(-sum.()).....@result{}.0.@e
8cfa0 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 73 75 6d 20 27 28 31 29 29 0a 20 20 20 20 nd.group.@group.(-sum.'(1)).....
8cfc0 40 72 65 73 75 6c 74 7b 7d 20 31 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d @result{}.1.@end.group.@group.(-
8cfe0 73 75 6d 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 31 30 sum.'(1.2.3.4)).....@result{}.10
8d000 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 .@end.group.@end.example.@end.de
8d020 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 72 75 6e 6e 69 6e 67 2d 73 75 6d 7d 0a 40 64 65 66 75 fun..@anchor{-running-sum}.@defu
8d040 6e 20 2d 72 75 6e 6e 69 6e 67 2d 73 75 6d 20 28 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 61 20 6c n.-running-sum.(list).Return.a.l
8d060 69 73 74 20 77 69 74 68 20 72 75 6e 6e 69 6e 67 20 73 75 6d 73 20 6f 66 20 69 74 65 6d 73 20 69 ist.with.running.sums.of.items.i
8d080 6e 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 40 76 61 72 7b 6c 69 73 74 7d 20 6d 75 73 74 20 62 65 n.@var{list}..@var{list}.must.be
8d0a0 20 6e 6f 6e 2d 65 6d 70 74 79 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 72 .non-empty...@example.@group.(-r
8d0c0 75 6e 6e 69 6e 67 2d 73 75 6d 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 unning-sum.'(1.2.3.4)).....@resu
8d0e0 6c 74 7b 7d 20 28 31 20 33 20 36 20 31 30 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 lt{}.(1.3.6.10).@end.group.@grou
8d100 70 0a 28 2d 72 75 6e 6e 69 6e 67 2d 73 75 6d 20 27 28 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c p.(-running-sum.'(1)).....@resul
8d120 74 7b 7d 20 28 31 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 72 75 6e 6e t{}.(1).@end.group.@group.(-runn
8d140 69 6e 67 2d 73 75 6d 20 28 29 29 0a 20 20 20 20 40 65 72 72 6f 72 7b 7d 20 57 72 6f 6e 67 20 74 ing-sum.()).....@error{}.Wrong.t
8d160 79 70 65 20 61 72 67 75 6d 65 6e 74 3a 20 63 6f 6e 73 70 2c 20 6e 69 6c 0a 40 65 6e 64 20 67 72 ype.argument:.consp,.nil.@end.gr
8d180 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e oup.@end.example.@end.defun..@an
8d1a0 63 68 6f 72 7b 2d 70 72 6f 64 75 63 74 7d 0a 40 64 65 66 75 6e 20 2d 70 72 6f 64 75 63 74 20 28 chor{-product}.@defun.-product.(
8d1c0 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 74 68 65 20 70 72 6f 64 75 63 74 20 6f 66 20 40 76 61 72 list).Return.the.product.of.@var
8d1e0 7b 6c 69 73 74 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 70 72 6f 64 75 {list}...@example.@group.(-produ
8d200 63 74 20 28 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 31 0a 40 65 6e 64 20 67 72 6f 75 ct.()).....@result{}.1.@end.grou
8d220 70 0a 40 67 72 6f 75 70 0a 28 2d 70 72 6f 64 75 63 74 20 27 28 31 29 29 0a 20 20 20 20 40 72 65 p.@group.(-product.'(1)).....@re
8d240 73 75 6c 74 7b 7d 20 31 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 70 72 6f sult{}.1.@end.group.@group.(-pro
8d260 64 75 63 74 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 32 duct.'(1.2.3.4)).....@result{}.2
8d280 34 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 4.@end.group.@end.example.@end.d
8d2a0 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 72 75 6e 6e 69 6e 67 2d 70 72 6f 64 75 63 74 7d 0a efun..@anchor{-running-product}.
8d2c0 40 64 65 66 75 6e 20 2d 72 75 6e 6e 69 6e 67 2d 70 72 6f 64 75 63 74 20 28 6c 69 73 74 29 0a 52 @defun.-running-product.(list).R
8d2e0 65 74 75 72 6e 20 61 20 6c 69 73 74 20 77 69 74 68 20 72 75 6e 6e 69 6e 67 20 70 72 6f 64 75 63 eturn.a.list.with.running.produc
8d300 74 73 20 6f 66 20 69 74 65 6d 73 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 40 76 61 72 7b ts.of.items.in.@var{list}..@var{
8d320 6c 69 73 74 7d 20 6d 75 73 74 20 62 65 20 6e 6f 6e 2d 65 6d 70 74 79 2e 0a 0a 40 65 78 61 6d 70 list}.must.be.non-empty...@examp
8d340 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 72 75 6e 6e 69 6e 67 2d 70 72 6f 64 75 63 74 20 27 28 31 20 le.@group.(-running-product.'(1.
8d360 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 36 20 32 34 29 2.3.4)).....@result{}.(1.2.6.24)
8d380 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 72 75 6e 6e 69 6e 67 2d 70 72 6f .@end.group.@group.(-running-pro
8d3a0 64 75 63 74 20 27 28 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 29 0a 40 65 6e duct.'(1)).....@result{}.(1).@en
8d3c0 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 72 75 6e 6e 69 6e 67 2d 70 72 6f 64 75 63 74 d.group.@group.(-running-product
8d3e0 20 28 29 29 0a 20 20 20 20 40 65 72 72 6f 72 7b 7d 20 57 72 6f 6e 67 20 74 79 70 65 20 61 72 67 .()).....@error{}.Wrong.type.arg
8d400 75 6d 65 6e 74 3a 20 63 6f 6e 73 70 2c 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e ument:.consp,.nil.@end.group.@en
8d420 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 69 d.example.@end.defun..@anchor{-i
8d440 6e 69 74 73 7d 0a 40 64 65 66 75 6e 20 2d 69 6e 69 74 73 20 28 6c 69 73 74 29 0a 52 65 74 75 72 nits}.@defun.-inits.(list).Retur
8d460 6e 20 61 6c 6c 20 70 72 65 66 69 78 65 73 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 0a 40 n.all.prefixes.of.@var{list}...@
8d480 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 69 6e 69 74 73 20 27 28 31 20 32 20 33 20 34 example.@group.(-inits.'(1.2.3.4
8d4a0 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 6e 69 6c 20 28 31 29 20 28 31 20 32 29 20 )).....@result{}.(nil.(1).(1.2).
8d4c0 28 31 20 32 20 33 29 20 28 31 20 32 20 33 20 34 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 (1.2.3).(1.2.3.4)).@end.group.@g
8d4e0 72 6f 75 70 0a 28 2d 69 6e 69 74 73 20 6e 69 6c 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 roup.(-inits.nil).....@result{}.
8d500 28 6e 69 6c 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 69 6e 69 74 73 20 (nil).@end.group.@group.(-inits.
8d520 27 28 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 6e 69 6c 20 28 31 29 29 0a 40 65 '(1)).....@result{}.(nil.(1)).@e
8d540 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e nd.group.@end.example.@end.defun
8d560 0a 0a 40 61 6e 63 68 6f 72 7b 2d 74 61 69 6c 73 7d 0a 40 64 65 66 75 6e 20 2d 74 61 69 6c 73 20 ..@anchor{-tails}.@defun.-tails.
8d580 28 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 61 6c 6c 20 73 75 66 66 69 78 65 73 20 6f 66 20 40 76 (list).Return.all.suffixes.of.@v
8d5a0 61 72 7b 6c 69 73 74 7d 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 74 61 69 6c ar{list}..@example.@group.(-tail
8d5c0 73 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 s.'(1.2.3.4)).....@result{}.((1.
8d5e0 32 20 33 20 34 29 20 28 32 20 33 20 34 29 20 28 33 20 34 29 20 28 34 29 20 6e 69 6c 29 0a 40 65 2.3.4).(2.3.4).(3.4).(4).nil).@e
8d600 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 74 61 69 6c 73 20 6e 69 6c 29 0a 20 20 20 nd.group.@group.(-tails.nil)....
8d620 20 40 72 65 73 75 6c 74 7b 7d 20 28 6e 69 6c 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f .@result{}.(nil).@end.group.@gro
8d640 75 70 0a 28 2d 74 61 69 6c 73 20 27 28 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 up.(-tails.'(1)).....@result{}.(
8d660 28 31 29 20 6e 69 6c 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 (1).nil).@end.group.@end.example
8d680 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 63 6f 6d 6d 6f 6e 2d 70 72 65 .@end.defun..@anchor{-common-pre
8d6a0 66 69 78 7d 0a 40 64 65 66 75 6e 20 2d 63 6f 6d 6d 6f 6e 2d 70 72 65 66 69 78 20 28 26 72 65 73 fix}.@defun.-common-prefix.(&res
8d6c0 74 20 6c 69 73 74 73 29 0a 52 65 74 75 72 6e 20 74 68 65 20 6c 6f 6e 67 65 73 74 20 63 6f 6d 6d t.lists).Return.the.longest.comm
8d6e0 6f 6e 20 70 72 65 66 69 78 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 73 7d 2e 0a 0a 40 65 78 61 6d on.prefix.of.@var{lists}...@exam
8d700 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 63 6f 6d 6d 6f 6e 2d 70 72 65 66 69 78 20 27 28 31 29 29 ple.@group.(-common-prefix.'(1))
8d720 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 .....@result{}.(1).@end.group.@g
8d740 72 6f 75 70 0a 28 2d 63 6f 6d 6d 6f 6e 2d 70 72 65 66 69 78 20 27 28 31 20 32 29 20 27 28 33 20 roup.(-common-prefix.'(1.2).'(3.
8d760 34 29 20 27 28 31 20 32 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 29 0a 40 65 6e 64 4).'(1.2)).....@result{}.().@end
8d780 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 63 6f 6d 6d 6f 6e 2d 70 72 65 66 69 78 20 27 28 .group.@group.(-common-prefix.'(
8d7a0 31 20 32 29 20 27 28 31 20 32 20 33 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 1.2).'(1.2.3).'(1.2.3.4)).....@r
8d7c0 65 73 75 6c 74 7b 7d 20 28 31 20 32 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 esult{}.(1.2).@end.group.@end.ex
8d7e0 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 63 6f 6d 6d 6f ample.@end.defun..@anchor{-commo
8d800 6e 2d 73 75 66 66 69 78 7d 0a 40 64 65 66 75 6e 20 2d 63 6f 6d 6d 6f 6e 2d 73 75 66 66 69 78 20 n-suffix}.@defun.-common-suffix.
8d820 28 26 72 65 73 74 20 6c 69 73 74 73 29 0a 52 65 74 75 72 6e 20 74 68 65 20 6c 6f 6e 67 65 73 74 (&rest.lists).Return.the.longest
8d840 20 63 6f 6d 6d 6f 6e 20 73 75 66 66 69 78 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 73 7d 2e 0a 0a .common.suffix.of.@var{lists}...
8d860 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 63 6f 6d 6d 6f 6e 2d 73 75 66 66 69 78 20 @example.@group.(-common-suffix.
8d880 27 28 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 29 0a 40 65 6e 64 20 67 72 6f '(1)).....@result{}.(1).@end.gro
8d8a0 75 70 0a 40 67 72 6f 75 70 0a 28 2d 63 6f 6d 6d 6f 6e 2d 73 75 66 66 69 78 20 27 28 31 20 32 29 up.@group.(-common-suffix.'(1.2)
8d8c0 20 27 28 33 20 34 29 20 27 28 31 20 32 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 29 .'(3.4).'(1.2)).....@result{}.()
8d8e0 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 63 6f 6d 6d 6f 6e 2d 73 75 66 66 .@end.group.@group.(-common-suff
8d900 69 78 20 27 28 31 20 32 20 33 20 34 29 20 27 28 32 20 33 20 34 29 20 27 28 33 20 34 29 29 0a 20 ix.'(1.2.3.4).'(2.3.4).'(3.4))..
8d920 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 33 20 34 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 ...@result{}.(3.4).@end.group.@e
8d940 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d nd.example.@end.defun..@anchor{-
8d960 6d 69 6e 7d 0a 40 64 65 66 75 6e 20 2d 6d 69 6e 20 28 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 74 min}.@defun.-min.(list).Return.t
8d980 68 65 20 73 6d 61 6c 6c 65 73 74 20 76 61 6c 75 65 20 66 72 6f 6d 20 40 76 61 72 7b 6c 69 73 74 he.smallest.value.from.@var{list
8d9a0 7d 20 6f 66 20 6e 75 6d 62 65 72 73 20 6f 72 20 6d 61 72 6b 65 72 73 2e 0a 0a 40 65 78 61 6d 70 }.of.numbers.or.markers...@examp
8d9c0 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 6d 69 6e 20 27 28 30 29 29 0a 20 20 20 20 40 72 65 73 75 6c le.@group.(-min.'(0)).....@resul
8d9e0 74 7b 7d 20 30 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 6d 69 6e 20 27 28 t{}.0.@end.group.@group.(-min.'(
8da00 33 20 32 20 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 31 0a 40 65 6e 64 20 67 72 6f 3.2.1)).....@result{}.1.@end.gro
8da20 75 70 0a 40 67 72 6f 75 70 0a 28 2d 6d 69 6e 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 40 72 up.@group.(-min.'(1.2.3)).....@r
8da40 65 73 75 6c 74 7b 7d 20 31 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c esult{}.1.@end.group.@end.exampl
8da60 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 6d 69 6e 2d 62 79 7d 0a 40 e.@end.defun..@anchor{-min-by}.@
8da80 64 65 66 75 6e 20 2d 6d 69 6e 2d 62 79 20 28 63 6f 6d 70 61 72 61 74 6f 72 20 6c 69 73 74 29 0a defun.-min-by.(comparator.list).
8daa0 54 61 6b 65 20 61 20 63 6f 6d 70 61 72 69 73 6f 6e 20 66 75 6e 63 74 69 6f 6e 20 40 76 61 72 7b Take.a.comparison.function.@var{
8dac0 63 6f 6d 70 61 72 61 74 6f 72 7d 20 61 6e 64 20 61 20 40 76 61 72 7b 6c 69 73 74 7d 20 61 6e 64 comparator}.and.a.@var{list}.and
8dae0 20 72 65 74 75 72 6e 0a 74 68 65 20 6c 65 61 73 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 .return.the.least.element.of.the
8db00 20 6c 69 73 74 20 62 79 20 74 68 65 20 63 6f 6d 70 61 72 69 73 6f 6e 20 66 75 6e 63 74 69 6f 6e .list.by.the.comparison.function
8db20 2e 0a 0a 53 65 65 20 61 6c 73 6f 20 63 6f 6d 62 69 6e 61 74 6f 72 20 40 63 6f 64 65 7b 2d 6f 6e ...See.also.combinator.@code{-on
8db40 7d 20 28 40 70 78 72 65 66 7b 2d 6f 6e 7d 29 20 77 68 69 63 68 20 63 61 6e 20 74 72 61 6e 73 66 }.(@pxref{-on}).which.can.transf
8db60 6f 72 6d 20 74 68 65 20 76 61 6c 75 65 73 20 62 65 66 6f 72 65 0a 63 6f 6d 70 61 72 69 6e 67 20 orm.the.values.before.comparing.
8db80 74 68 65 6d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 6d 69 6e 2d 62 79 20 them...@example.@group.(-min-by.
8dba0 27 3e 20 27 28 34 20 33 20 36 20 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 31 0a 40 '>.'(4.3.6.1)).....@result{}.1.@
8dbc0 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 6d 69 6e 2d 62 79 20 28 3e 20 28 63 end.group.@group.(--min-by.(>.(c
8dbe0 61 72 20 69 74 29 20 28 63 61 72 20 6f 74 68 65 72 29 29 20 27 28 28 31 20 32 20 33 29 20 28 32 ar.it).(car.other)).'((1.2.3).(2
8dc00 29 20 28 33 20 32 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 29 0a ).(3.2))).....@result{}.(1.2.3).
8dc20 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 6d 69 6e 2d 62 79 20 28 3e 20 28 @end.group.@group.(--min-by.(>.(
8dc40 6c 65 6e 67 74 68 20 69 74 29 20 28 6c 65 6e 67 74 68 20 6f 74 68 65 72 29 29 20 27 28 28 31 20 length.it).(length.other)).'((1.
8dc60 32 20 33 29 20 28 32 29 20 28 33 20 32 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 2.3).(2).(3.2))).....@result{}.(
8dc80 32 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 2).@end.group.@end.example.@end.
8dca0 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 6d 61 78 7d 0a 40 64 65 66 75 6e 20 2d 6d 61 78 defun..@anchor{-max}.@defun.-max
8dcc0 20 28 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 74 68 65 20 6c 61 72 67 65 73 74 20 76 61 6c 75 65 .(list).Return.the.largest.value
8dce0 20 66 72 6f 6d 20 40 76 61 72 7b 6c 69 73 74 7d 20 6f 66 20 6e 75 6d 62 65 72 73 20 6f 72 20 6d .from.@var{list}.of.numbers.or.m
8dd00 61 72 6b 65 72 73 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 6d 61 78 20 27 arkers...@example.@group.(-max.'
8dd20 28 30 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 30 0a 40 65 6e 64 20 67 72 6f 75 70 0a (0)).....@result{}.0.@end.group.
8dd40 40 67 72 6f 75 70 0a 28 2d 6d 61 78 20 27 28 33 20 32 20 31 29 29 0a 20 20 20 20 40 72 65 73 75 @group.(-max.'(3.2.1)).....@resu
8dd60 6c 74 7b 7d 20 33 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 6d 61 78 20 27 lt{}.3.@end.group.@group.(-max.'
8dd80 28 31 20 32 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 33 0a 40 65 6e 64 20 67 72 (1.2.3)).....@result{}.3.@end.gr
8dda0 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e oup.@end.example.@end.defun..@an
8ddc0 63 68 6f 72 7b 2d 6d 61 78 2d 62 79 7d 0a 40 64 65 66 75 6e 20 2d 6d 61 78 2d 62 79 20 28 63 6f chor{-max-by}.@defun.-max-by.(co
8dde0 6d 70 61 72 61 74 6f 72 20 6c 69 73 74 29 0a 54 61 6b 65 20 61 20 63 6f 6d 70 61 72 69 73 6f 6e mparator.list).Take.a.comparison
8de00 20 66 75 6e 63 74 69 6f 6e 20 40 76 61 72 7b 63 6f 6d 70 61 72 61 74 6f 72 7d 20 61 6e 64 20 61 .function.@var{comparator}.and.a
8de20 20 40 76 61 72 7b 6c 69 73 74 7d 20 61 6e 64 20 72 65 74 75 72 6e 0a 74 68 65 20 67 72 65 61 74 .@var{list}.and.return.the.great
8de40 65 73 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 6c 69 73 74 20 62 79 20 74 68 65 20 63 est.element.of.the.list.by.the.c
8de60 6f 6d 70 61 72 69 73 6f 6e 20 66 75 6e 63 74 69 6f 6e 2e 0a 0a 53 65 65 20 61 6c 73 6f 20 63 6f omparison.function...See.also.co
8de80 6d 62 69 6e 61 74 6f 72 20 40 63 6f 64 65 7b 2d 6f 6e 7d 20 28 40 70 78 72 65 66 7b 2d 6f 6e 7d mbinator.@code{-on}.(@pxref{-on}
8dea0 29 20 77 68 69 63 68 20 63 61 6e 20 74 72 61 6e 73 66 6f 72 6d 20 74 68 65 20 76 61 6c 75 65 73 ).which.can.transform.the.values
8dec0 20 62 65 66 6f 72 65 0a 63 6f 6d 70 61 72 69 6e 67 20 74 68 65 6d 2e 0a 0a 40 65 78 61 6d 70 6c .before.comparing.them...@exampl
8dee0 65 0a 40 67 72 6f 75 70 0a 28 2d 6d 61 78 2d 62 79 20 27 3e 20 27 28 34 20 33 20 36 20 31 29 29 e.@group.(-max-by.'>.'(4.3.6.1))
8df00 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 36 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f .....@result{}.6.@end.group.@gro
8df20 75 70 0a 28 2d 2d 6d 61 78 2d 62 79 20 28 3e 20 28 63 61 72 20 69 74 29 20 28 63 61 72 20 6f 74 up.(--max-by.(>.(car.it).(car.ot
8df40 68 65 72 29 29 20 27 28 28 31 20 32 20 33 29 20 28 32 29 20 28 33 20 32 29 29 29 0a 20 20 20 20 her)).'((1.2.3).(2).(3.2))).....
8df60 40 72 65 73 75 6c 74 7b 7d 20 28 33 20 32 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 @result{}.(3.2).@end.group.@grou
8df80 70 0a 28 2d 2d 6d 61 78 2d 62 79 20 28 3e 20 28 6c 65 6e 67 74 68 20 69 74 29 20 28 6c 65 6e 67 p.(--max-by.(>.(length.it).(leng
8dfa0 74 68 20 6f 74 68 65 72 29 29 20 27 28 28 31 20 32 20 33 29 20 28 32 29 20 28 33 20 32 29 29 29 th.other)).'((1.2.3).(2).(3.2)))
8dfc0 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 29 0a 40 65 6e 64 20 67 72 6f 75 .....@result{}.(1.2.3).@end.grou
8dfe0 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 6e 6f 64 65 p.@end.example.@end.defun..@node
8e000 20 55 6e 66 6f 6c 64 69 6e 67 0a 40 73 65 63 74 69 6f 6e 20 55 6e 66 6f 6c 64 69 6e 67 0a 0a 4f .Unfolding.@section.Unfolding..O
8e020 70 65 72 61 74 69 6f 6e 73 20 64 75 61 6c 20 74 6f 20 72 65 64 75 63 74 69 6f 6e 73 2c 20 62 75 perations.dual.to.reductions,.bu
8e040 69 6c 64 69 6e 67 20 6c 69 73 74 73 20 66 72 6f 6d 20 61 20 73 65 65 64 0a 76 61 6c 75 65 20 72 ilding.lists.from.a.seed.value.r
8e060 61 74 68 65 72 20 74 68 61 6e 20 63 6f 6e 73 75 6d 69 6e 67 20 61 20 6c 69 73 74 20 74 6f 20 70 ather.than.consuming.a.list.to.p
8e080 72 6f 64 75 63 65 20 61 20 73 69 6e 67 6c 65 20 76 61 6c 75 65 2e 0a 0a 40 61 6e 63 68 6f 72 7b roduce.a.single.value...@anchor{
8e0a0 2d 69 74 65 72 61 74 65 7d 0a 40 64 65 66 75 6e 20 2d 69 74 65 72 61 74 65 20 28 66 75 6e 20 69 -iterate}.@defun.-iterate.(fun.i
8e0c0 6e 69 74 20 6e 29 0a 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 69 74 65 72 61 74 65 64 nit.n).Return.a.list.of.iterated
8e0e0 20 61 70 70 6c 69 63 61 74 69 6f 6e 73 20 6f 66 20 40 76 61 72 7b 66 75 6e 7d 20 74 6f 20 40 76 .applications.of.@var{fun}.to.@v
8e100 61 72 7b 69 6e 69 74 7d 2e 0a 0a 54 68 69 73 20 6d 65 61 6e 73 20 61 20 6c 69 73 74 20 6f 66 20 ar{init}...This.means.a.list.of.
8e120 74 68 65 20 66 6f 72 6d 3a 0a 0a 20 20 28 40 76 61 72 7b 69 6e 69 74 7d 20 28 40 76 61 72 7b 66 the.form:....(@var{init}.(@var{f
8e140 75 6e 7d 20 40 76 61 72 7b 69 6e 69 74 7d 29 20 28 40 76 61 72 7b 66 75 6e 7d 20 28 40 76 61 72 un}.@var{init}).(@var{fun}.(@var
8e160 7b 66 75 6e 7d 20 40 76 61 72 7b 69 6e 69 74 7d 29 29 20 40 64 6f 74 73 7b 7d 29 0a 0a 40 76 61 {fun}.@var{init})).@dots{})..@va
8e180 72 7b 6e 7d 20 69 73 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 72 65 74 75 72 6e r{n}.is.the.length.of.the.return
8e1a0 65 64 20 6c 69 73 74 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 69 74 65 72 ed.list...@example.@group.(-iter
8e1c0 61 74 65 20 23 27 31 2b 20 31 20 31 30 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 ate.#'1+.1.10).....@result{}.(1.
8e1e0 32 20 33 20 34 20 35 20 36 20 37 20 38 20 39 20 31 30 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 2.3.4.5.6.7.8.9.10).@end.group.@
8e200 67 72 6f 75 70 0a 28 2d 69 74 65 72 61 74 65 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 2b 20 78 group.(-iterate.(lambda.(x).(+.x
8e220 20 78 29 29 20 32 20 35 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 32 20 34 20 38 20 31 .x)).2.5).....@result{}.(2.4.8.1
8e240 36 20 33 32 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 69 74 65 72 61 6.32).@end.group.@group.(--itera
8e260 74 65 20 28 2a 20 69 74 20 69 74 29 20 32 20 35 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 te.(*.it.it).2.5).....@result{}.
8e280 28 32 20 34 20 31 36 20 32 35 36 20 36 35 35 33 36 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 (2.4.16.256.65536).@end.group.@e
8e2a0 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d nd.example.@end.defun..@anchor{-
8e2c0 75 6e 66 6f 6c 64 7d 0a 40 64 65 66 75 6e 20 2d 75 6e 66 6f 6c 64 20 28 66 75 6e 20 73 65 65 64 unfold}.@defun.-unfold.(fun.seed
8e2e0 29 0a 42 75 69 6c 64 20 61 20 6c 69 73 74 20 66 72 6f 6d 20 40 76 61 72 7b 73 65 65 64 7d 20 75 ).Build.a.list.from.@var{seed}.u
8e300 73 69 6e 67 20 40 76 61 72 7b 66 75 6e 7d 2e 0a 0a 54 68 69 73 20 69 73 20 22 64 75 61 6c 22 20 sing.@var{fun}...This.is."dual".
8e320 6f 70 65 72 61 74 69 6f 6e 20 74 6f 20 40 63 6f 64 65 7b 2d 72 65 64 75 63 65 2d 72 7d 20 28 40 operation.to.@code{-reduce-r}.(@
8e340 70 78 72 65 66 7b 2d 72 65 64 75 63 65 2d 72 7d 29 3a 20 77 68 69 6c 65 20 2d 72 65 64 75 63 65 pxref{-reduce-r}):.while.-reduce
8e360 2d 72 0a 63 6f 6e 73 75 6d 65 73 20 61 20 6c 69 73 74 20 74 6f 20 70 72 6f 64 75 63 65 20 61 20 -r.consumes.a.list.to.produce.a.
8e380 73 69 6e 67 6c 65 20 76 61 6c 75 65 2c 20 40 63 6f 64 65 7b 2d 75 6e 66 6f 6c 64 7d 20 28 40 70 single.value,.@code{-unfold}.(@p
8e3a0 78 72 65 66 7b 2d 75 6e 66 6f 6c 64 7d 29 20 74 61 6b 65 73 20 61 0a 73 65 65 64 20 76 61 6c 75 xref{-unfold}).takes.a.seed.valu
8e3c0 65 20 61 6e 64 20 62 75 69 6c 64 73 20 61 20 28 70 6f 74 65 6e 74 69 61 6c 6c 79 20 69 6e 66 69 e.and.builds.a.(potentially.infi
8e3e0 6e 69 74 65 21 29 20 6c 69 73 74 2e 0a 0a 40 76 61 72 7b 66 75 6e 7d 20 73 68 6f 75 6c 64 20 72 nite!).list...@var{fun}.should.r
8e400 65 74 75 72 6e 20 40 63 6f 64 65 7b 6e 69 6c 7d 20 74 6f 20 73 74 6f 70 20 74 68 65 20 67 65 6e eturn.@code{nil}.to.stop.the.gen
8e420 65 72 61 74 69 6e 67 20 70 72 6f 63 65 73 73 2c 20 6f 72 20 61 0a 63 6f 6e 73 20 28 40 76 61 72 erating.process,.or.a.cons.(@var
8e440 7b 61 7d 20 2e 20 40 76 61 72 7b 62 7d 29 2c 20 77 68 65 72 65 20 40 76 61 72 7b 61 7d 20 77 69 {a}...@var{b}),.where.@var{a}.wi
8e460 6c 6c 20 62 65 20 70 72 65 70 65 6e 64 65 64 20 74 6f 20 74 68 65 20 72 65 73 75 6c 74 20 61 6e ll.be.prepended.to.the.result.an
8e480 64 20 40 76 61 72 7b 62 7d 20 69 73 0a 74 68 65 20 6e 65 77 20 73 65 65 64 2e 0a 0a 40 65 78 61 d.@var{b}.is.the.new.seed...@exa
8e4a0 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 75 6e 66 6f 6c 64 20 28 6c 61 6d 62 64 61 20 28 78 29 mple.@group.(-unfold.(lambda.(x)
8e4c0 20 28 75 6e 6c 65 73 73 20 28 3d 20 78 20 30 29 20 28 63 6f 6e 73 20 78 20 28 31 2d 20 78 29 29 .(unless.(=.x.0).(cons.x.(1-.x))
8e4e0 29 29 20 31 30 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 30 20 39 20 38 20 37 20 36 )).10).....@result{}.(10.9.8.7.6
8e500 20 35 20 34 20 33 20 32 20 31 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d .5.4.3.2.1).@end.group.@group.(-
8e520 2d 75 6e 66 6f 6c 64 20 28 77 68 65 6e 20 69 74 20 28 63 6f 6e 73 20 69 74 20 28 63 64 72 20 69 -unfold.(when.it.(cons.it.(cdr.i
8e540 74 29 29 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 t))).'(1.2.3.4)).....@result{}.(
8e560 28 31 20 32 20 33 20 34 29 20 28 32 20 33 20 34 29 20 28 33 20 34 29 20 28 34 29 29 0a 40 65 6e (1.2.3.4).(2.3.4).(3.4).(4)).@en
8e580 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 75 6e 66 6f 6c 64 20 28 77 68 65 6e 20 69 d.group.@group.(--unfold.(when.i
8e5a0 74 20 28 63 6f 6e 73 20 69 74 20 28 62 75 74 6c 61 73 74 20 69 74 29 29 29 20 27 28 31 20 32 20 t.(cons.it.(butlast.it))).'(1.2.
8e5c0 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 32 20 33 20 34 29 20 28 3.4)).....@result{}.((1.2.3.4).(
8e5e0 31 20 32 20 33 29 20 28 31 20 32 29 20 28 31 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 1.2.3).(1.2).(1)).@end.group.@en
8e600 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 6e 6f 64 65 20 50 72 65 64 d.example.@end.defun..@node.Pred
8e620 69 63 61 74 65 73 0a 40 73 65 63 74 69 6f 6e 20 50 72 65 64 69 63 61 74 65 73 0a 0a 52 65 64 75 icates.@section.Predicates..Redu
8e640 63 74 69 6f 6e 73 20 6f 66 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 6c 69 73 74 73 20 74 6f 20 61 ctions.of.one.or.more.lists.to.a
8e660 20 62 6f 6f 6c 65 61 6e 20 76 61 6c 75 65 2e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 73 6f 6d 65 7d 0a .boolean.value...@anchor{-some}.
8e680 40 64 65 66 75 6e 20 2d 73 6f 6d 65 20 28 70 72 65 64 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 @defun.-some.(pred.list).Return.
8e6a0 28 40 76 61 72 7b 70 72 65 64 7d 20 78 29 20 66 6f 72 20 74 68 65 20 66 69 72 73 74 20 40 76 61 (@var{pred}.x).for.the.first.@va
8e6c0 72 7b 6c 69 73 74 7d 20 69 74 65 6d 20 77 68 65 72 65 20 28 40 76 61 72 7b 70 72 65 64 7d 20 78 r{list}.item.where.(@var{pred}.x
8e6e0 29 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 65 6c 73 65 20 6e 69 6c 2e 0a 0a 41 6c 69 61 73 3a 20 ).is.non-nil,.else.nil...Alias:.
8e700 40 63 6f 64 65 7b 2d 61 6e 79 7d 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e @code{-any}...This.function's.an
8e720 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 40 63 6f 64 65 7b 2d 2d 73 aphoric.counterpart.is.@code{--s
8e740 6f 6d 65 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 73 6f 6d 65 20 23 27 ome}...@example.@group.(-some.#'
8e760 73 74 72 69 6e 67 70 20 27 28 31 20 22 32 22 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b stringp.'(1."2".3)).....@result{
8e780 7d 20 74 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 73 6f 6d 65 20 28 73 }.t.@end.group.@group.(--some.(s
8e7a0 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 22 78 22 20 69 74 29 20 27 28 22 66 6f 6f 22 20 22 61 tring-match-p."x".it).'("foo"."a
8e7c0 78 65 22 20 22 78 6f 72 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 31 0a 40 65 6e 64 xe"."xor")).....@result{}.1.@end
8e7e0 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 73 6f 6d 65 20 28 3d 20 69 74 2d 69 6e 64 65 .group.@group.(--some.(=.it-inde
8e800 78 20 33 29 20 27 28 30 20 31 20 32 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c x.3).'(0.1.2)).....@result{}.nil
8e820 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 .@end.group.@end.example.@end.de
8e840 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 65 76 65 72 79 7d 0a 40 64 65 66 75 6e 20 2d 65 76 65 fun..@anchor{-every}.@defun.-eve
8e860 72 79 20 28 70 72 65 64 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 ry.(pred.list).Return.non-nil.if
8e880 20 40 76 61 72 7b 70 72 65 64 7d 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 20 66 6f 72 20 .@var{pred}.returns.non-nil.for.
8e8a0 61 6c 6c 20 69 74 65 6d 73 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 49 66 20 73 6f 2c 20 all.items.in.@var{list}..If.so,.
8e8c0 72 65 74 75 72 6e 20 74 68 65 20 6c 61 73 74 20 73 75 63 68 20 72 65 73 75 6c 74 20 6f 66 20 40 return.the.last.such.result.of.@
8e8e0 76 61 72 7b 70 72 65 64 7d 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 6f 6e 63 65 20 61 6e 0a 69 var{pred}...Otherwise,.once.an.i
8e900 74 65 6d 20 69 73 20 72 65 61 63 68 65 64 20 66 6f 72 20 77 68 69 63 68 20 40 76 61 72 7b 70 72 tem.is.reached.for.which.@var{pr
8e920 65 64 7d 20 72 65 74 75 72 6e 73 20 6e 69 6c 2c 20 72 65 74 75 72 6e 20 6e 69 6c 20 77 69 74 68 ed}.returns.nil,.return.nil.with
8e940 6f 75 74 0a 63 61 6c 6c 69 6e 67 20 40 76 61 72 7b 70 72 65 64 7d 20 6f 6e 20 61 6e 79 20 66 75 out.calling.@var{pred}.on.any.fu
8e960 72 74 68 65 72 20 40 76 61 72 7b 6c 69 73 74 7d 20 65 6c 65 6d 65 6e 74 73 2e 0a 0a 54 68 69 73 rther.@var{list}.elements...This
8e980 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6c 69 6b 65 20 40 63 6f 64 65 7b 2d 65 76 65 72 79 2d 70 .function.is.like.@code{-every-p
8e9a0 7d 2c 20 62 75 74 20 6f 6e 20 73 75 63 63 65 73 73 20 72 65 74 75 72 6e 73 20 74 68 65 20 6c 61 },.but.on.success.returns.the.la
8e9c0 73 74 0a 6e 6f 6e 2d 6e 69 6c 20 72 65 73 75 6c 74 20 6f 66 20 40 76 61 72 7b 70 72 65 64 7d 20 st.non-nil.result.of.@var{pred}.
8e9e0 69 6e 73 74 65 61 64 20 6f 66 20 6a 75 73 74 20 74 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f instead.of.just.t...This.functio
8ea00 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 40 63 6f n's.anaphoric.counterpart.is.@co
8ea20 64 65 7b 2d 2d 65 76 65 72 79 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d de{--every}...@example.@group.(-
8ea40 65 76 65 72 79 20 23 27 6e 75 6d 62 65 72 70 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 40 72 every.#'numberp.'(1.2.3)).....@r
8ea60 65 73 75 6c 74 7b 7d 20 74 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 65 esult{}.t.@end.group.@group.(--e
8ea80 76 65 72 79 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 22 78 22 20 69 74 29 20 27 28 22 very.(string-match-p."x".it).'("
8eaa0 61 78 65 22 20 22 78 6f 72 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 30 0a 40 65 6e axe"."xor")).....@result{}.0.@en
8eac0 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 65 76 65 72 79 20 28 3d 20 69 74 20 69 74 d.group.@group.(--every.(=.it.it
8eae0 2d 69 6e 64 65 78 29 20 27 28 30 20 31 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 -index).'(0.1.3)).....@result{}.
8eb00 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 nil.@end.group.@end.example.@end
8eb20 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 61 6e 79 3f 7d 0a 40 64 65 66 75 6e 20 2d 61 .defun..@anchor{-any?}.@defun.-a
8eb40 6e 79 3f 20 28 70 72 65 64 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 74 20 69 66 20 28 40 76 61 ny?.(pred.list).Return.t.if.(@va
8eb60 72 7b 70 72 65 64 7d 20 78 29 20 69 73 20 6e 6f 6e 2d 6e 69 6c 20 66 6f 72 20 61 6e 79 20 78 20 r{pred}.x).is.non-nil.for.any.x.
8eb80 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 2c 20 65 6c 73 65 20 6e 69 6c 2e 0a 0a 41 6c 69 61 73 3a in.@var{list},.else.nil...Alias:
8eba0 20 40 63 6f 64 65 7b 2d 61 6e 79 2d 70 7d 2c 20 40 63 6f 64 65 7b 2d 73 6f 6d 65 3f 7d 2c 20 40 .@code{-any-p},.@code{-some?},.@
8ebc0 63 6f 64 65 7b 2d 73 6f 6d 65 2d 70 7d 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 code{-some-p}..@example.@group.(
8ebe0 2d 61 6e 79 3f 20 23 27 6e 75 6d 62 65 72 70 20 27 28 6e 69 6c 20 30 20 74 29 29 0a 20 20 20 20 -any?.#'numberp.'(nil.0.t)).....
8ec00 40 72 65 73 75 6c 74 7b 7d 20 74 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d @result{}.t.@end.group.@group.(-
8ec20 61 6e 79 3f 20 23 27 6e 75 6d 62 65 72 70 20 27 28 6e 69 6c 20 74 20 74 29 29 0a 20 20 20 20 40 any?.#'numberp.'(nil.t.t)).....@
8ec40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 result{}.nil.@end.group.@group.(
8ec60 2d 61 6e 79 3f 20 23 27 6e 75 6c 6c 20 27 28 31 20 33 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 -any?.#'null.'(1.3.5)).....@resu
8ec80 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 lt{}.nil.@end.group.@end.example
8eca0 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 61 6c 6c 3f 7d 0a 40 64 65 66 .@end.defun..@anchor{-all?}.@def
8ecc0 75 6e 20 2d 61 6c 6c 3f 20 28 70 72 65 64 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 74 20 69 66 un.-all?.(pred.list).Return.t.if
8ece0 20 28 40 76 61 72 7b 70 72 65 64 7d 20 40 76 61 72 7b 78 7d 29 20 69 73 20 6e 6f 6e 2d 6e 69 6c .(@var{pred}.@var{x}).is.non-nil
8ed00 20 66 6f 72 20 61 6c 6c 20 40 76 61 72 7b 78 7d 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 2c 20 .for.all.@var{x}.in.@var{list},.
8ed20 65 6c 73 65 20 6e 69 6c 2e 0a 49 6e 20 74 68 65 20 6c 61 74 74 65 72 20 63 61 73 65 2c 20 73 74 else.nil..In.the.latter.case,.st
8ed40 6f 70 20 61 66 74 65 72 20 74 68 65 20 66 69 72 73 74 20 40 76 61 72 7b 78 7d 20 66 6f 72 20 77 op.after.the.first.@var{x}.for.w
8ed60 68 69 63 68 20 28 40 76 61 72 7b 70 72 65 64 7d 20 40 76 61 72 7b 78 7d 29 20 69 73 0a 6e 69 6c hich.(@var{pred}.@var{x}).is.nil
8ed80 2c 20 77 69 74 68 6f 75 74 20 63 61 6c 6c 69 6e 67 20 40 76 61 72 7b 70 72 65 64 7d 20 6f 6e 20 ,.without.calling.@var{pred}.on.
8eda0 61 6e 79 20 73 75 62 73 65 71 75 65 6e 74 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 40 76 61 72 7b any.subsequent.elements.of.@var{
8edc0 6c 69 73 74 7d 2e 0a 0a 54 68 65 20 73 69 6d 69 6c 61 72 20 66 75 6e 63 74 69 6f 6e 20 40 63 6f list}...The.similar.function.@co
8ede0 64 65 7b 2d 65 76 65 72 79 7d 20 28 40 70 78 72 65 66 7b 2d 65 76 65 72 79 7d 29 20 69 73 20 6d de{-every}.(@pxref{-every}).is.m
8ee00 6f 72 65 20 77 69 64 65 6c 79 20 75 73 65 66 75 6c 2c 20 73 69 6e 63 65 20 69 74 0a 72 65 74 75 ore.widely.useful,.since.it.retu
8ee20 72 6e 73 20 74 68 65 20 6c 61 73 74 20 6e 6f 6e 2d 6e 69 6c 20 72 65 73 75 6c 74 20 6f 66 20 40 rns.the.last.non-nil.result.of.@
8ee40 76 61 72 7b 70 72 65 64 7d 20 69 6e 73 74 65 61 64 20 6f 66 20 6a 75 73 74 20 74 20 6f 6e 0a 73 var{pred}.instead.of.just.t.on.s
8ee60 75 63 63 65 73 73 2e 0a 0a 41 6c 69 61 73 3a 20 40 63 6f 64 65 7b 2d 61 6c 6c 2d 70 7d 2c 20 40 uccess...Alias:.@code{-all-p},.@
8ee80 63 6f 64 65 7b 2d 65 76 65 72 79 2d 70 7d 2c 20 40 63 6f 64 65 7b 2d 65 76 65 72 79 3f 7d 2e 0a code{-every-p},.@code{-every?}..
8eea0 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 .This.function's.anaphoric.count
8eec0 65 72 70 61 72 74 20 69 73 20 40 63 6f 64 65 7b 2d 2d 61 6c 6c 3f 7d 2e 0a 0a 40 65 78 61 6d 70 erpart.is.@code{--all?}...@examp
8eee0 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 61 6c 6c 3f 20 23 27 6e 75 6d 62 65 72 70 20 27 28 31 20 32 le.@group.(-all?.#'numberp.'(1.2
8ef00 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 74 0a 40 65 6e 64 20 67 72 6f 75 70 0a .3)).....@result{}.t.@end.group.
8ef20 40 67 72 6f 75 70 0a 28 2d 61 6c 6c 3f 20 23 27 6e 75 6d 62 65 72 70 20 27 28 32 20 74 20 36 29 @group.(-all?.#'numberp.'(2.t.6)
8ef40 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 ).....@result{}.nil.@end.group.@
8ef60 67 72 6f 75 70 0a 28 2d 2d 61 6c 6c 3f 20 28 3d 20 30 20 28 25 20 69 74 20 32 29 29 20 27 28 32 group.(--all?.(=.0.(%.it.2)).'(2
8ef80 20 34 20 36 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 74 0a 40 65 6e 64 20 67 72 6f 75 .4.6)).....@result{}.t.@end.grou
8efa0 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 p.@end.example.@end.defun..@anch
8efc0 6f 72 7b 2d 6e 6f 6e 65 3f 7d 0a 40 64 65 66 75 6e 20 2d 6e 6f 6e 65 3f 20 28 70 72 65 64 20 6c or{-none?}.@defun.-none?.(pred.l
8efe0 69 73 74 29 0a 52 65 74 75 72 6e 20 74 20 69 66 20 28 40 76 61 72 7b 70 72 65 64 7d 20 78 29 20 ist).Return.t.if.(@var{pred}.x).
8f000 69 73 20 6e 69 6c 20 66 6f 72 20 61 6c 6c 20 78 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 2c 20 is.nil.for.all.x.in.@var{list},.
8f020 65 6c 73 65 20 6e 69 6c 2e 0a 0a 41 6c 69 61 73 3a 20 40 63 6f 64 65 7b 2d 6e 6f 6e 65 2d 70 7d else.nil...Alias:.@code{-none-p}
8f040 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 6e 6f 6e 65 3f 20 27 65 76 65 6e 3f ..@example.@group.(-none?.'even?
8f060 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e .'(1.2.3)).....@result{}.nil.@en
8f080 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 6e 6f 6e 65 3f 20 27 65 76 65 6e 3f 20 27 28 d.group.@group.(-none?.'even?.'(
8f0a0 31 20 33 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 74 0a 40 65 6e 64 20 67 72 6f 1.3.5)).....@result{}.t.@end.gro
8f0c0 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 6e 6f 6e 65 3f 20 28 3d 20 30 20 28 25 20 69 74 20 32 29 up.@group.(--none?.(=.0.(%.it.2)
8f0e0 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 ).'(1.2.3)).....@result{}.nil.@e
8f100 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e nd.group.@end.example.@end.defun
8f120 0a 0a 40 61 6e 63 68 6f 72 7b 2d 6f 6e 6c 79 2d 73 6f 6d 65 3f 7d 0a 40 64 65 66 75 6e 20 2d 6f ..@anchor{-only-some?}.@defun.-o
8f140 6e 6c 79 2d 73 6f 6d 65 3f 20 28 70 72 65 64 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 60 74 60 nly-some?.(pred.list).Return.`t`
8f160 20 69 66 20 61 74 20 6c 65 61 73 74 20 6f 6e 65 20 69 74 65 6d 20 6f 66 20 40 76 61 72 7b 6c 69 .if.at.least.one.item.of.@var{li
8f180 73 74 7d 20 6d 61 74 63 68 65 73 20 40 76 61 72 7b 70 72 65 64 7d 20 61 6e 64 20 61 74 20 6c 65 st}.matches.@var{pred}.and.at.le
8f1a0 61 73 74 20 6f 6e 65 20 69 74 65 6d 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 64 6f 65 73 20 ast.one.item.of.@var{list}.does.
8f1c0 6e 6f 74 20 6d 61 74 63 68 20 40 76 61 72 7b 70 72 65 64 7d 2e 0a 52 65 74 75 72 6e 20 60 6e 69 not.match.@var{pred}..Return.`ni
8f1e0 6c 60 20 62 6f 74 68 20 69 66 20 61 6c 6c 20 69 74 65 6d 73 20 6d 61 74 63 68 20 74 68 65 20 70 l`.both.if.all.items.match.the.p
8f200 72 65 64 69 63 61 74 65 20 6f 72 20 69 66 20 6e 6f 6e 65 20 6f 66 20 74 68 65 20 69 74 65 6d 73 redicate.or.if.none.of.the.items
8f220 20 6d 61 74 63 68 20 74 68 65 20 70 72 65 64 69 63 61 74 65 2e 0a 0a 41 6c 69 61 73 3a 20 40 63 .match.the.predicate...Alias:.@c
8f240 6f 64 65 7b 2d 6f 6e 6c 79 2d 73 6f 6d 65 2d 70 7d 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f ode{-only-some-p}..@example.@gro
8f260 75 70 0a 28 2d 6f 6e 6c 79 2d 73 6f 6d 65 3f 20 27 65 76 65 6e 3f 20 27 28 31 20 32 20 33 29 29 up.(-only-some?.'even?.'(1.2.3))
8f280 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 74 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f .....@result{}.t.@end.group.@gro
8f2a0 75 70 0a 28 2d 6f 6e 6c 79 2d 73 6f 6d 65 3f 20 27 65 76 65 6e 3f 20 27 28 31 20 33 20 35 29 29 up.(-only-some?.'even?.'(1.3.5))
8f2c0 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 .....@result{}.nil.@end.group.@g
8f2e0 72 6f 75 70 0a 28 2d 6f 6e 6c 79 2d 73 6f 6d 65 3f 20 27 65 76 65 6e 3f 20 27 28 32 20 34 20 36 roup.(-only-some?.'even?.'(2.4.6
8f300 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a )).....@result{}.nil.@end.group.
8f320 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 @end.example.@end.defun..@anchor
8f340 7b 2d 63 6f 6e 74 61 69 6e 73 3f 7d 0a 40 64 65 66 75 6e 20 2d 63 6f 6e 74 61 69 6e 73 3f 20 28 {-contains?}.@defun.-contains?.(
8f360 6c 69 73 74 20 65 6c 65 6d 65 6e 74 29 0a 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 list.element).Return.non-nil.if.
8f380 40 76 61 72 7b 6c 69 73 74 7d 20 63 6f 6e 74 61 69 6e 73 20 40 76 61 72 7b 65 6c 65 6d 65 6e 74 @var{list}.contains.@var{element
8f3a0 7d 2e 0a 0a 54 68 65 20 74 65 73 74 20 66 6f 72 20 65 71 75 61 6c 69 74 79 20 69 73 20 64 6f 6e }...The.test.for.equality.is.don
8f3c0 65 20 77 69 74 68 20 40 63 6f 64 65 7b 65 71 75 61 6c 7d 2c 20 6f 72 20 77 69 74 68 20 40 63 6f e.with.@code{equal},.or.with.@co
8f3e0 64 65 7b 2d 63 6f 6d 70 61 72 65 2d 66 6e 7d 0a 69 66 20 74 68 61 74 27 73 20 6e 6f 6e 2d 6e 69 de{-compare-fn}.if.that's.non-ni
8f400 6c 2e 0a 0a 41 6c 69 61 73 3a 20 40 63 6f 64 65 7b 2d 63 6f 6e 74 61 69 6e 73 2d 70 7d 0a 0a 40 l...Alias:.@code{-contains-p}..@
8f420 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 63 6f 6e 74 61 69 6e 73 3f 20 27 28 31 20 32 example.@group.(-contains?.'(1.2
8f440 20 33 29 20 31 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 74 0a 40 65 6e 64 20 67 72 6f 75 .3).1).....@result{}.t.@end.grou
8f460 70 0a 40 67 72 6f 75 70 0a 28 2d 63 6f 6e 74 61 69 6e 73 3f 20 27 28 31 20 32 20 33 29 20 32 29 p.@group.(-contains?.'(1.2.3).2)
8f480 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 74 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f .....@result{}.t.@end.group.@gro
8f4a0 75 70 0a 28 2d 63 6f 6e 74 61 69 6e 73 3f 20 27 28 31 20 32 20 33 29 20 34 29 0a 20 20 20 20 40 up.(-contains?.'(1.2.3).4).....@
8f4c0 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 result{}.nil.@end.group.@end.exa
8f4e0 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 73 61 6d 65 2d 69 mple.@end.defun..@anchor{-same-i
8f500 74 65 6d 73 3f 7d 0a 40 64 65 66 75 6e 20 2d 73 61 6d 65 2d 69 74 65 6d 73 3f 20 28 6c 69 73 74 tems?}.@defun.-same-items?.(list
8f520 20 6c 69 73 74 32 29 0a 52 65 74 75 72 6e 20 74 72 75 65 20 69 66 20 40 76 61 72 7b 6c 69 73 74 .list2).Return.true.if.@var{list
8f540 7d 20 61 6e 64 20 40 76 61 72 7b 6c 69 73 74 32 7d 20 68 61 73 20 74 68 65 20 73 61 6d 65 20 69 }.and.@var{list2}.has.the.same.i
8f560 74 65 6d 73 2e 0a 0a 54 68 65 20 6f 72 64 65 72 20 6f 66 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 tems...The.order.of.the.elements
8f580 20 69 6e 20 74 68 65 20 6c 69 73 74 73 20 64 6f 65 73 20 6e 6f 74 20 6d 61 74 74 65 72 2e 0a 0a .in.the.lists.does.not.matter...
8f5a0 41 6c 69 61 73 3a 20 40 63 6f 64 65 7b 2d 73 61 6d 65 2d 69 74 65 6d 73 2d 70 7d 0a 0a 40 65 78 Alias:.@code{-same-items-p}..@ex
8f5c0 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 73 61 6d 65 2d 69 74 65 6d 73 3f 20 27 28 31 20 32 ample.@group.(-same-items?.'(1.2
8f5e0 20 33 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 74 0a 40 65 .3).'(1.2.3)).....@result{}.t.@e
8f600 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 73 61 6d 65 2d 69 74 65 6d 73 3f 20 27 28 nd.group.@group.(-same-items?.'(
8f620 31 20 32 20 33 29 20 27 28 33 20 32 20 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 74 1.2.3).'(3.2.1)).....@result{}.t
8f640 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 73 61 6d 65 2d 69 74 65 6d 73 3f .@end.group.@group.(-same-items?
8f660 20 27 28 31 20 32 20 33 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c .'(1.2.3).'(1.2.3.4)).....@resul
8f680 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a t{}.nil.@end.group.@end.example.
8f6a0 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 69 73 2d 70 72 65 66 69 78 3f 7d @end.defun..@anchor{-is-prefix?}
8f6c0 0a 40 64 65 66 75 6e 20 2d 69 73 2d 70 72 65 66 69 78 3f 20 28 70 72 65 66 69 78 20 6c 69 73 74 .@defun.-is-prefix?.(prefix.list
8f6e0 29 0a 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 40 76 61 72 7b 70 72 65 66 69 78 7d ).Return.non-nil.if.@var{prefix}
8f700 20 69 73 20 61 20 70 72 65 66 69 78 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 0a 41 6c 69 .is.a.prefix.of.@var{list}...Ali
8f720 61 73 3a 20 40 63 6f 64 65 7b 2d 69 73 2d 70 72 65 66 69 78 2d 70 7d 2e 0a 0a 40 65 78 61 6d 70 as:.@code{-is-prefix-p}...@examp
8f740 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 69 73 2d 70 72 65 66 69 78 3f 20 27 28 31 20 32 20 33 29 20 le.@group.(-is-prefix?.'(1.2.3).
8f760 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 74 0a 40 65 '(1.2.3.4.5)).....@result{}.t.@e
8f780 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 69 73 2d 70 72 65 66 69 78 3f 20 27 28 31 nd.group.@group.(-is-prefix?.'(1
8f7a0 20 32 20 33 20 34 20 35 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b .2.3.4.5).'(1.2.3)).....@result{
8f7c0 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 69 73 2d 70 72 65 }.nil.@end.group.@group.(-is-pre
8f7e0 66 69 78 3f 20 27 28 31 20 33 29 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 40 72 fix?.'(1.3).'(1.2.3.4.5)).....@r
8f800 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d esult{}.nil.@end.group.@end.exam
8f820 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 69 73 2d 73 75 66 66 ple.@end.defun..@anchor{-is-suff
8f840 69 78 3f 7d 0a 40 64 65 66 75 6e 20 2d 69 73 2d 73 75 66 66 69 78 3f 20 28 73 75 66 66 69 78 20 ix?}.@defun.-is-suffix?.(suffix.
8f860 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 40 76 61 72 7b 73 75 66 list).Return.non-nil.if.@var{suf
8f880 66 69 78 7d 20 69 73 20 61 20 73 75 66 66 69 78 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a fix}.is.a.suffix.of.@var{list}..
8f8a0 0a 41 6c 69 61 73 3a 20 40 63 6f 64 65 7b 2d 69 73 2d 73 75 66 66 69 78 2d 70 7d 2e 0a 0a 40 65 .Alias:.@code{-is-suffix-p}...@e
8f8c0 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 69 73 2d 73 75 66 66 69 78 3f 20 27 28 33 20 34 xample.@group.(-is-suffix?.'(3.4
8f8e0 20 35 29 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 .5).'(1.2.3.4.5)).....@result{}.
8f900 74 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 69 73 2d 73 75 66 66 69 78 3f t.@end.group.@group.(-is-suffix?
8f920 20 27 28 31 20 32 20 33 20 34 20 35 29 20 27 28 33 20 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 .'(1.2.3.4.5).'(3.4.5)).....@res
8f940 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 69 73 ult{}.nil.@end.group.@group.(-is
8f960 2d 73 75 66 66 69 78 3f 20 27 28 33 20 35 29 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 -suffix?.'(3.5).'(1.2.3.4.5))...
8f980 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 ..@result{}.nil.@end.group.@end.
8f9a0 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 69 73 2d example.@end.defun..@anchor{-is-
8f9c0 69 6e 66 69 78 3f 7d 0a 40 64 65 66 75 6e 20 2d 69 73 2d 69 6e 66 69 78 3f 20 28 69 6e 66 69 78 infix?}.@defun.-is-infix?.(infix
8f9e0 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 40 76 61 72 7b 69 6e .list).Return.non-nil.if.@var{in
8fa00 66 69 78 7d 20 69 73 20 69 6e 66 69 78 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 0a 54 68 fix}.is.infix.of.@var{list}...Th
8fa20 69 73 20 6f 70 65 72 61 74 69 6f 6e 20 72 75 6e 73 20 69 6e 20 40 76 61 72 7b 6f 7d 28 6e 5e 32 is.operation.runs.in.@var{o}(n^2
8fa40 29 20 74 69 6d 65 0a 0a 41 6c 69 61 73 3a 20 40 63 6f 64 65 7b 2d 69 73 2d 69 6e 66 69 78 2d 70 ).time..Alias:.@code{-is-infix-p
8fa60 7d 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 69 73 2d 69 6e 66 69 78 3f 20 27 }..@example.@group.(-is-infix?.'
8fa80 28 31 20 32 20 33 29 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c (1.2.3).'(1.2.3.4.5)).....@resul
8faa0 74 7b 7d 20 74 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 69 73 2d 69 6e 66 t{}.t.@end.group.@group.(-is-inf
8fac0 69 78 3f 20 27 28 32 20 33 20 34 29 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 40 ix?.'(2.3.4).'(1.2.3.4.5)).....@
8fae0 72 65 73 75 6c 74 7b 7d 20 74 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 69 result{}.t.@end.group.@group.(-i
8fb00 73 2d 69 6e 66 69 78 3f 20 27 28 33 20 34 20 35 29 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a s-infix?.'(3.4.5).'(1.2.3.4.5)).
8fb20 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 74 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 ....@result{}.t.@end.group.@end.
8fb40 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 63 6f 6e example.@end.defun..@anchor{-con
8fb60 73 2d 70 61 69 72 3f 7d 0a 40 64 65 66 75 6e 20 2d 63 6f 6e 73 2d 70 61 69 72 3f 20 28 6f 62 6a s-pair?}.@defun.-cons-pair?.(obj
8fb80 29 0a 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 40 76 61 72 7b 6f 62 6a 7d 20 69 73 ).Return.non-nil.if.@var{obj}.is
8fba0 20 61 20 74 72 75 65 20 63 6f 6e 73 20 70 61 69 72 2e 0a 54 68 61 74 20 69 73 2c 20 61 20 63 6f .a.true.cons.pair..That.is,.a.co
8fbc0 6e 73 20 28 40 76 61 72 7b 61 7d 20 2e 20 40 76 61 72 7b 62 7d 29 20 77 68 65 72 65 20 40 76 61 ns.(@var{a}...@var{b}).where.@va
8fbe0 72 7b 62 7d 20 69 73 20 6e 6f 74 20 61 20 6c 69 73 74 2e 0a 0a 41 6c 69 61 73 3a 20 40 63 6f 64 r{b}.is.not.a.list...Alias:.@cod
8fc00 65 7b 2d 63 6f 6e 73 2d 70 61 69 72 2d 70 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 e{-cons-pair-p}...@example.@grou
8fc20 70 0a 28 2d 63 6f 6e 73 2d 70 61 69 72 3f 20 27 28 31 20 2e 20 32 29 29 0a 20 20 20 20 40 72 65 p.(-cons-pair?.'(1...2)).....@re
8fc40 73 75 6c 74 7b 7d 20 74 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 63 6f 6e sult{}.t.@end.group.@group.(-con
8fc60 73 2d 70 61 69 72 3f 20 27 28 31 20 32 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 s-pair?.'(1.2)).....@result{}.ni
8fc80 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 63 6f 6e 73 2d 70 61 69 72 3f l.@end.group.@group.(-cons-pair?
8fca0 20 27 28 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 .'(1)).....@result{}.nil.@end.gr
8fcc0 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 6e 6f oup.@end.example.@end.defun..@no
8fce0 64 65 20 50 61 72 74 69 74 69 6f 6e 69 6e 67 0a 40 73 65 63 74 69 6f 6e 20 50 61 72 74 69 74 69 de.Partitioning.@section.Partiti
8fd00 6f 6e 69 6e 67 0a 0a 46 75 6e 63 74 69 6f 6e 73 20 70 61 72 74 69 74 69 6f 6e 69 6e 67 20 74 68 oning..Functions.partitioning.th
8fd20 65 20 69 6e 70 75 74 20 6c 69 73 74 20 69 6e 74 6f 20 61 20 6c 69 73 74 20 6f 66 20 6c 69 73 74 e.input.list.into.a.list.of.list
8fd40 73 2e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 73 70 6c 69 74 2d 61 74 7d 0a 40 64 65 66 75 6e 20 2d 73 s...@anchor{-split-at}.@defun.-s
8fd60 70 6c 69 74 2d 61 74 20 28 6e 20 6c 69 73 74 29 0a 53 70 6c 69 74 20 40 76 61 72 7b 6c 69 73 74 plit-at.(n.list).Split.@var{list
8fd80 7d 20 69 6e 74 6f 20 74 77 6f 20 73 75 62 6c 69 73 74 73 20 61 66 74 65 72 20 74 68 65 20 4e 74 }.into.two.sublists.after.the.Nt
8fda0 68 20 65 6c 65 6d 65 6e 74 2e 0a 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 20 6c 69 73 74 20 h.element..The.result.is.a.list.
8fdc0 6f 66 20 74 77 6f 20 65 6c 65 6d 65 6e 74 73 20 28 40 76 61 72 7b 74 61 6b 65 7d 20 40 76 61 72 of.two.elements.(@var{take}.@var
8fde0 7b 64 72 6f 70 7d 29 20 77 68 65 72 65 20 40 76 61 72 7b 74 61 6b 65 7d 20 69 73 20 61 0a 6e 65 {drop}).where.@var{take}.is.a.ne
8fe00 77 20 6c 69 73 74 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 40 76 61 72 7b 6e 7d 20 65 6c 65 6d w.list.of.the.first.@var{n}.elem
8fe20 65 6e 74 73 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 2c 20 61 6e 64 20 40 76 61 72 7b 64 72 6f ents.of.@var{list},.and.@var{dro
8fe40 70 7d 20 69 73 20 74 68 65 0a 72 65 6d 61 69 6e 69 6e 67 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 p}.is.the.remaining.elements.of.
8fe60 40 76 61 72 7b 6c 69 73 74 7d 20 28 6e 6f 74 20 61 20 63 6f 70 79 29 2e 20 20 40 76 61 72 7b 74 @var{list}.(not.a.copy)...@var{t
8fe80 61 6b 65 7d 20 61 6e 64 20 40 76 61 72 7b 64 72 6f 70 7d 20 61 72 65 20 6c 69 6b 65 0a 74 68 65 ake}.and.@var{drop}.are.like.the
8fea0 20 72 65 73 75 6c 74 73 20 6f 66 20 40 63 6f 64 65 7b 2d 74 61 6b 65 7d 20 28 40 70 78 72 65 66 .results.of.@code{-take}.(@pxref
8fec0 7b 2d 74 61 6b 65 7d 29 20 61 6e 64 20 40 63 6f 64 65 7b 2d 64 72 6f 70 7d 20 28 40 70 78 72 65 {-take}).and.@code{-drop}.(@pxre
8fee0 66 7b 2d 64 72 6f 70 7d 29 2c 20 72 65 73 70 65 63 74 69 76 65 6c 79 2c 20 62 75 74 20 74 68 65 f{-drop}),.respectively,.but.the
8ff00 20 73 70 6c 69 74 0a 69 73 20 64 6f 6e 65 20 69 6e 20 61 20 73 69 6e 67 6c 65 20 6c 69 73 74 20 .split.is.done.in.a.single.list.
8ff20 74 72 61 76 65 72 73 61 6c 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 73 70 traversal...@example.@group.(-sp
8ff40 6c 69 74 2d 61 74 20 33 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 lit-at.3.'(1.2.3.4.5)).....@resu
8ff60 6c 74 7b 7d 20 28 28 31 20 32 20 33 29 20 28 34 20 35 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a lt{}.((1.2.3).(4.5)).@end.group.
8ff80 40 67 72 6f 75 70 0a 28 2d 73 70 6c 69 74 2d 61 74 20 31 37 20 27 28 31 20 32 20 33 20 34 20 35 @group.(-split-at.17.'(1.2.3.4.5
8ffa0 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 32 20 33 20 34 20 35 29 20 6e 69 )).....@result{}.((1.2.3.4.5).ni
8ffc0 6c 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 73 70 6c 69 74 2d 61 74 20 l).@end.group.@group.(-split-at.
8ffe0 30 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 6e 0.'(1.2.3.4.5)).....@result{}.(n
90000 69 6c 20 28 31 20 32 20 33 20 34 20 35 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 il.(1.2.3.4.5)).@end.group.@end.
90020 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 73 70 6c example.@end.defun..@anchor{-spl
90040 69 74 2d 77 69 74 68 7d 0a 40 64 65 66 75 6e 20 2d 73 70 6c 69 74 2d 77 69 74 68 20 28 70 72 65 it-with}.@defun.-split-with.(pre
90060 64 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 28 28 2d 74 61 6b 65 d.list).Return.a.list.of.((-take
90080 2d 77 68 69 6c 65 20 40 76 61 72 7b 70 72 65 64 7d 20 40 76 61 72 7b 6c 69 73 74 7d 29 20 28 2d -while.@var{pred}.@var{list}).(-
900a0 64 72 6f 70 2d 77 68 69 6c 65 20 40 76 61 72 7b 70 72 65 64 7d 20 40 76 61 72 7b 6c 69 73 74 7d drop-while.@var{pred}.@var{list}
900c0 29 29 2c 20 69 6e 20 6e 6f 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 65 20 70 61 73 73 20 74 68 72 )),.in.no.more.than.one.pass.thr
900e0 6f 75 67 68 20 74 68 65 20 6c 69 73 74 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a ough.the.list...@example.@group.
90100 28 2d 73 70 6c 69 74 2d 77 69 74 68 20 27 65 76 65 6e 3f 20 27 28 31 20 32 20 33 20 34 29 29 0a (-split-with.'even?.'(1.2.3.4)).
90120 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 6e 69 6c 20 28 31 20 32 20 33 20 34 29 29 0a 40 65 ....@result{}.(nil.(1.2.3.4)).@e
90140 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 73 70 6c 69 74 2d 77 69 74 68 20 27 65 76 nd.group.@group.(-split-with.'ev
90160 65 6e 3f 20 27 28 32 20 34 20 35 20 36 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 en?.'(2.4.5.6)).....@result{}.((
90180 32 20 34 29 20 28 35 20 36 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2.4).(5.6)).@end.group.@group.(-
901a0 2d 73 70 6c 69 74 2d 77 69 74 68 20 28 3c 20 69 74 20 34 29 20 27 28 31 20 32 20 33 20 34 20 33 -split-with.(<.it.4).'(1.2.3.4.3
901c0 20 32 20 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 32 20 33 29 20 28 34 .2.1)).....@result{}.((1.2.3).(4
901e0 20 33 20 32 20 31 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 .3.2.1)).@end.group.@end.example
90200 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 73 70 6c 69 74 2d 6f 6e 7d 0a .@end.defun..@anchor{-split-on}.
90220 40 64 65 66 6d 61 63 20 2d 73 70 6c 69 74 2d 6f 6e 20 28 69 74 65 6d 20 6c 69 73 74 29 0a 53 70 @defmac.-split-on.(item.list).Sp
90240 6c 69 74 20 74 68 65 20 40 76 61 72 7b 6c 69 73 74 7d 20 65 61 63 68 20 74 69 6d 65 20 40 76 61 lit.the.@var{list}.each.time.@va
90260 72 7b 69 74 65 6d 7d 20 69 73 20 66 6f 75 6e 64 2e 0a 0a 55 6e 6c 69 6b 65 20 40 63 6f 64 65 7b r{item}.is.found...Unlike.@code{
90280 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 7d 20 28 40 70 78 72 65 66 7b 2d 70 61 72 74 69 74 69 6f -partition-by}.(@pxref{-partitio
902a0 6e 2d 62 79 7d 29 2c 20 74 68 65 20 40 76 61 72 7b 69 74 65 6d 7d 20 69 73 20 64 69 73 63 61 72 n-by}),.the.@var{item}.is.discar
902c0 64 65 64 20 66 72 6f 6d 20 74 68 65 20 72 65 73 75 6c 74 73 2e 0a 45 6d 70 74 79 20 6c 69 73 74 ded.from.the.results..Empty.list
902e0 73 20 61 72 65 20 61 6c 73 6f 20 72 65 6d 6f 76 65 64 20 66 72 6f 6d 20 74 68 65 20 72 65 73 75 s.are.also.removed.from.the.resu
90300 6c 74 2e 0a 0a 43 6f 6d 70 61 72 69 73 6f 6e 20 69 73 20 64 6f 6e 65 20 62 79 20 40 63 6f 64 65 lt...Comparison.is.done.by.@code
90320 7b 65 71 75 61 6c 7d 2e 0a 0a 53 65 65 20 61 6c 73 6f 20 40 63 6f 64 65 7b 2d 73 70 6c 69 74 2d {equal}...See.also.@code{-split-
90340 77 68 65 6e 7d 20 28 40 70 78 72 65 66 7b 2d 73 70 6c 69 74 2d 77 68 65 6e 7d 29 0a 0a 40 65 78 when}.(@pxref{-split-when})..@ex
90360 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 73 70 6c 69 74 2d 6f 6e 20 27 7c 20 27 28 4e 69 6c ample.@group.(-split-on.'|.'(Nil
90380 20 7c 20 4c 65 61 66 20 61 20 7c 20 4e 6f 64 65 20 5b 54 72 65 65 20 61 5d 29 29 0a 20 20 20 20 .|.Leaf.a.|.Node.[Tree.a])).....
903a0 40 72 65 73 75 6c 74 7b 7d 20 28 28 4e 69 6c 29 20 28 4c 65 61 66 20 61 29 20 28 4e 6f 64 65 20 @result{}.((Nil).(Leaf.a).(Node.
903c0 5b 54 72 65 65 20 61 5d 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 73 [Tree.a])).@end.group.@group.(-s
903e0 70 6c 69 74 2d 6f 6e 20 3a 65 6e 64 67 72 6f 75 70 20 27 28 22 61 22 20 22 62 22 20 3a 65 6e 64 plit-on.:endgroup.'("a"."b".:end
90400 67 72 6f 75 70 20 22 63 22 20 3a 65 6e 64 67 72 6f 75 70 20 22 64 22 20 22 65 22 29 29 0a 20 20 group."c".:endgroup."d"."e"))...
90420 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 22 61 22 20 22 62 22 29 20 28 22 63 22 29 20 28 22 64 ..@result{}.(("a"."b").("c").("d
90440 22 20 22 65 22 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 73 70 6c 69 "."e")).@end.group.@group.(-spli
90460 74 2d 6f 6e 20 3a 65 6e 64 67 72 6f 75 70 20 27 28 22 61 22 20 22 62 22 20 3a 65 6e 64 67 72 6f t-on.:endgroup.'("a"."b".:endgro
90480 75 70 20 3a 65 6e 64 67 72 6f 75 70 20 22 64 22 20 22 65 22 29 29 0a 20 20 20 20 40 72 65 73 75 up.:endgroup."d"."e")).....@resu
904a0 6c 74 7b 7d 20 28 28 22 61 22 20 22 62 22 29 20 28 22 64 22 20 22 65 22 29 29 0a 40 65 6e 64 20 lt{}.(("a"."b").("d"."e")).@end.
904c0 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 6d 61 63 0a 0a group.@end.example.@end.defmac..
904e0 40 61 6e 63 68 6f 72 7b 2d 73 70 6c 69 74 2d 77 68 65 6e 7d 0a 40 64 65 66 75 6e 20 2d 73 70 6c @anchor{-split-when}.@defun.-spl
90500 69 74 2d 77 68 65 6e 20 28 66 6e 20 6c 69 73 74 29 0a 53 70 6c 69 74 20 74 68 65 20 40 76 61 72 it-when.(fn.list).Split.the.@var
90520 7b 6c 69 73 74 7d 20 6f 6e 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 77 68 65 72 65 20 40 76 61 {list}.on.each.element.where.@va
90540 72 7b 66 6e 7d 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 0a 55 6e 6c 69 6b 65 20 40 r{fn}.returns.non-nil...Unlike.@
90560 63 6f 64 65 7b 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 7d 20 28 40 70 78 72 65 66 7b 2d 70 61 72 code{-partition-by}.(@pxref{-par
90580 74 69 74 69 6f 6e 2d 62 79 7d 29 2c 20 74 68 65 20 22 6d 61 74 63 68 65 64 22 20 65 6c 65 6d 65 tition-by}),.the."matched".eleme
905a0 6e 74 20 69 73 20 64 69 73 63 61 72 64 65 64 20 66 72 6f 6d 0a 74 68 65 20 72 65 73 75 6c 74 73 nt.is.discarded.from.the.results
905c0 2e 20 20 45 6d 70 74 79 20 6c 69 73 74 73 20 61 72 65 20 61 6c 73 6f 20 72 65 6d 6f 76 65 64 20 ...Empty.lists.are.also.removed.
905e0 66 72 6f 6d 20 74 68 65 20 72 65 73 75 6c 74 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 from.the.result...This.function.
90600 63 61 6e 20 62 65 20 74 68 6f 75 67 68 74 20 6f 66 20 61 73 20 61 20 67 65 6e 65 72 61 6c 69 7a can.be.thought.of.as.a.generaliz
90620 61 74 69 6f 6e 20 6f 66 0a 40 63 6f 64 65 7b 73 70 6c 69 74 2d 73 74 72 69 6e 67 7d 2e 0a 0a 40 ation.of.@code{split-string}...@
90640 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 73 70 6c 69 74 2d 77 68 65 6e 20 27 65 76 65 example.@group.(-split-when.'eve
90660 6e 3f 20 27 28 31 20 32 20 33 20 34 20 35 20 36 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d n?.'(1.2.3.4.5.6)).....@result{}
90680 20 28 28 31 29 20 28 33 29 20 28 35 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 .((1).(3).(5)).@end.group.@group
906a0 0a 28 2d 73 70 6c 69 74 2d 77 68 65 6e 20 27 65 76 65 6e 3f 20 27 28 31 20 32 20 33 20 34 20 36 .(-split-when.'even?.'(1.2.3.4.6
906c0 20 38 20 39 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 29 20 28 33 29 20 28 39 .8.9)).....@result{}.((1).(3).(9
906e0 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 73 70 6c 69 74 2d 77 68 )).@end.group.@group.(--split-wh
90700 65 6e 20 28 6d 65 6d 71 20 69 74 20 27 28 26 6f 70 74 69 6f 6e 61 6c 20 26 72 65 73 74 29 29 20 en.(memq.it.'(&optional.&rest)).
90720 27 28 61 20 62 20 26 6f 70 74 69 6f 6e 61 6c 20 63 20 64 20 26 72 65 73 74 20 61 72 67 73 29 29 '(a.b.&optional.c.d.&rest.args))
90740 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 61 20 62 29 20 28 63 20 64 29 20 28 61 72 67 .....@result{}.((a.b).(c.d).(arg
90760 73 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 s)).@end.group.@end.example.@end
90780 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 73 65 70 61 72 61 74 65 7d 0a 40 64 65 66 75 .defun..@anchor{-separate}.@defu
907a0 6e 20 2d 73 65 70 61 72 61 74 65 20 28 70 72 65 64 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 61 n.-separate.(pred.list).Return.a
907c0 20 6c 69 73 74 20 6f 66 20 28 28 2d 66 69 6c 74 65 72 20 40 76 61 72 7b 70 72 65 64 7d 20 40 76 .list.of.((-filter.@var{pred}.@v
907e0 61 72 7b 6c 69 73 74 7d 29 20 28 2d 72 65 6d 6f 76 65 20 40 76 61 72 7b 70 72 65 64 7d 20 40 76 ar{list}).(-remove.@var{pred}.@v
90800 61 72 7b 6c 69 73 74 7d 29 29 2c 20 69 6e 20 6f 6e 65 20 70 61 73 73 20 74 68 72 6f 75 67 68 20 ar{list})),.in.one.pass.through.
90820 74 68 65 20 6c 69 73 74 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 73 65 70 the.list...@example.@group.(-sep
90840 61 72 61 74 65 20 28 6c 61 6d 62 64 61 20 28 6e 75 6d 29 20 28 3d 20 30 20 28 25 20 6e 75 6d 20 arate.(lambda.(num).(=.0.(%.num.
90860 32 29 29 29 20 27 28 31 20 32 20 33 20 34 20 35 20 36 20 37 29 29 0a 20 20 20 20 40 72 65 73 75 2))).'(1.2.3.4.5.6.7)).....@resu
90880 6c 74 7b 7d 20 28 28 32 20 34 20 36 29 20 28 31 20 33 20 35 20 37 29 29 0a 40 65 6e 64 20 67 72 lt{}.((2.4.6).(1.3.5.7)).@end.gr
908a0 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 73 65 70 61 72 61 74 65 20 28 3c 20 69 74 20 35 29 20 oup.@group.(--separate.(<.it.5).
908c0 27 28 33 20 37 20 35 20 39 20 33 20 32 20 31 20 34 20 36 29 29 0a 20 20 20 20 40 72 65 73 75 6c '(3.7.5.9.3.2.1.4.6)).....@resul
908e0 74 7b 7d 20 28 28 33 20 33 20 32 20 31 20 34 29 20 28 37 20 35 20 39 20 36 29 29 0a 40 65 6e 64 t{}.((3.3.2.1.4).(7.5.9.6)).@end
90900 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 73 65 70 61 72 61 74 65 20 27 63 64 72 20 27 28 .group.@group.(-separate.'cdr.'(
90920 28 31 20 32 29 20 28 31 29 20 28 31 20 32 20 33 29 20 28 34 29 29 29 0a 20 20 20 20 40 72 65 73 (1.2).(1).(1.2.3).(4))).....@res
90940 75 6c 74 7b 7d 20 28 28 28 31 20 32 29 20 28 31 20 32 20 33 29 29 20 28 28 31 29 20 28 34 29 29 ult{}.(((1.2).(1.2.3)).((1).(4))
90960 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 ).@end.group.@end.example.@end.d
90980 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 70 61 72 74 69 74 69 6f 6e 7d 0a 40 64 65 66 75 6e efun..@anchor{-partition}.@defun
909a0 20 2d 70 61 72 74 69 74 69 6f 6e 20 28 6e 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 61 20 6e 65 .-partition.(n.list).Return.a.ne
909c0 77 20 6c 69 73 74 20 77 69 74 68 20 74 68 65 20 69 74 65 6d 73 20 69 6e 20 40 76 61 72 7b 6c 69 w.list.with.the.items.in.@var{li
909e0 73 74 7d 20 67 72 6f 75 70 65 64 20 69 6e 74 6f 20 40 76 61 72 7b 6e 7d 2d 73 69 7a 65 64 20 73 st}.grouped.into.@var{n}-sized.s
90a00 75 62 6c 69 73 74 73 2e 0a 49 66 20 74 68 65 72 65 20 61 72 65 20 6e 6f 74 20 65 6e 6f 75 67 68 ublists..If.there.are.not.enough
90a20 20 69 74 65 6d 73 20 74 6f 20 6d 61 6b 65 20 74 68 65 20 6c 61 73 74 20 67 72 6f 75 70 20 40 76 .items.to.make.the.last.group.@v
90a40 61 72 7b 6e 7d 2d 73 69 7a 65 64 2c 0a 74 68 6f 73 65 20 69 74 65 6d 73 20 61 72 65 20 64 69 73 ar{n}-sized,.those.items.are.dis
90a60 63 61 72 64 65 64 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 70 61 72 74 69 carded...@example.@group.(-parti
90a80 74 69 6f 6e 20 32 20 27 28 31 20 32 20 33 20 34 20 35 20 36 29 29 0a 20 20 20 20 40 72 65 73 75 tion.2.'(1.2.3.4.5.6)).....@resu
90aa0 6c 74 7b 7d 20 28 28 31 20 32 29 20 28 33 20 34 29 20 28 35 20 36 29 29 0a 40 65 6e 64 20 67 72 lt{}.((1.2).(3.4).(5.6)).@end.gr
90ac0 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 70 61 72 74 69 74 69 6f 6e 20 32 20 27 28 31 20 32 20 33 oup.@group.(-partition.2.'(1.2.3
90ae0 20 34 20 35 20 36 20 37 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 32 29 20 .4.5.6.7)).....@result{}.((1.2).
90b00 28 33 20 34 29 20 28 35 20 36 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 (3.4).(5.6)).@end.group.@group.(
90b20 2d 70 61 72 74 69 74 69 6f 6e 20 33 20 27 28 31 20 32 20 33 20 34 20 35 20 36 20 37 29 29 0a 20 -partition.3.'(1.2.3.4.5.6.7))..
90b40 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 32 20 33 29 20 28 34 20 35 20 36 29 29 0a 40 ...@result{}.((1.2.3).(4.5.6)).@
90b60 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 end.group.@end.example.@end.defu
90b80 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 7d 0a 40 64 65 66 75 n..@anchor{-partition-all}.@defu
90ba0 6e 20 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 20 28 6e 20 6c 69 73 74 29 0a 52 65 74 75 72 6e n.-partition-all.(n.list).Return
90bc0 20 61 20 6e 65 77 20 6c 69 73 74 20 77 69 74 68 20 74 68 65 20 69 74 65 6d 73 20 69 6e 20 40 76 .a.new.list.with.the.items.in.@v
90be0 61 72 7b 6c 69 73 74 7d 20 67 72 6f 75 70 65 64 20 69 6e 74 6f 20 40 76 61 72 7b 6e 7d 2d 73 69 ar{list}.grouped.into.@var{n}-si
90c00 7a 65 64 20 73 75 62 6c 69 73 74 73 2e 0a 54 68 65 20 6c 61 73 74 20 67 72 6f 75 70 20 6d 61 79 zed.sublists..The.last.group.may
90c20 20 63 6f 6e 74 61 69 6e 20 6c 65 73 73 20 74 68 61 6e 20 40 76 61 72 7b 6e 7d 20 69 74 65 6d 73 .contain.less.than.@var{n}.items
90c40 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 ...@example.@group.(-partition-a
90c60 6c 6c 20 32 20 27 28 31 20 32 20 33 20 34 20 35 20 36 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 ll.2.'(1.2.3.4.5.6)).....@result
90c80 7b 7d 20 28 28 31 20 32 29 20 28 33 20 34 29 20 28 35 20 36 29 29 0a 40 65 6e 64 20 67 72 6f 75 {}.((1.2).(3.4).(5.6)).@end.grou
90ca0 70 0a 40 67 72 6f 75 70 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 20 32 20 27 28 31 20 32 p.@group.(-partition-all.2.'(1.2
90cc0 20 33 20 34 20 35 20 36 20 37 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 32 .3.4.5.6.7)).....@result{}.((1.2
90ce0 29 20 28 33 20 34 29 20 28 35 20 36 29 20 28 37 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 ).(3.4).(5.6).(7)).@end.group.@g
90d00 72 6f 75 70 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 20 33 20 27 28 31 20 32 20 33 20 34 roup.(-partition-all.3.'(1.2.3.4
90d20 20 35 20 36 20 37 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 32 20 33 29 20 .5.6.7)).....@result{}.((1.2.3).
90d40 28 34 20 35 20 36 29 20 28 37 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 (4.5.6).(7)).@end.group.@end.exa
90d60 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 70 61 72 74 69 74 mple.@end.defun..@anchor{-partit
90d80 69 6f 6e 2d 69 6e 2d 73 74 65 70 73 7d 0a 40 64 65 66 75 6e 20 2d 70 61 72 74 69 74 69 6f 6e 2d ion-in-steps}.@defun.-partition-
90da0 69 6e 2d 73 74 65 70 73 20 28 6e 20 73 74 65 70 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 61 20 in-steps.(n.step.list).Return.a.
90dc0 6e 65 77 20 6c 69 73 74 20 77 69 74 68 20 74 68 65 20 69 74 65 6d 73 20 69 6e 20 40 76 61 72 7b new.list.with.the.items.in.@var{
90de0 6c 69 73 74 7d 20 67 72 6f 75 70 65 64 20 69 6e 74 6f 20 40 76 61 72 7b 6e 7d 2d 73 69 7a 65 64 list}.grouped.into.@var{n}-sized
90e00 20 73 75 62 6c 69 73 74 73 20 61 74 20 6f 66 66 73 65 74 73 20 40 76 61 72 7b 73 74 65 70 7d 20 .sublists.at.offsets.@var{step}.
90e20 61 70 61 72 74 2e 0a 49 66 20 74 68 65 72 65 20 61 72 65 20 6e 6f 74 20 65 6e 6f 75 67 68 20 69 apart..If.there.are.not.enough.i
90e40 74 65 6d 73 20 74 6f 20 6d 61 6b 65 20 74 68 65 20 6c 61 73 74 20 67 72 6f 75 70 20 40 76 61 72 tems.to.make.the.last.group.@var
90e60 7b 6e 7d 2d 73 69 7a 65 64 2c 0a 74 68 6f 73 65 20 69 74 65 6d 73 20 61 72 65 20 64 69 73 63 61 {n}-sized,.those.items.are.disca
90e80 72 64 65 64 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 70 61 72 74 69 74 69 rded...@example.@group.(-partiti
90ea0 6f 6e 2d 69 6e 2d 73 74 65 70 73 20 32 20 31 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 on-in-steps.2.1.'(1.2.3.4)).....
90ec0 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 32 29 20 28 32 20 33 29 20 28 33 20 34 29 29 0a 40 65 @result{}.((1.2).(2.3).(3.4)).@e
90ee0 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 69 6e 2d 73 nd.group.@group.(-partition-in-s
90f00 74 65 70 73 20 33 20 32 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 teps.3.2.'(1.2.3.4)).....@result
90f20 7b 7d 20 28 28 31 20 32 20 33 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 {}.((1.2.3)).@end.group.@group.(
90f40 2d 70 61 72 74 69 74 69 6f 6e 2d 69 6e 2d 73 74 65 70 73 20 33 20 32 20 27 28 31 20 32 20 33 20 -partition-in-steps.3.2.'(1.2.3.
90f60 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 32 20 33 29 20 28 33 20 4.5)).....@result{}.((1.2.3).(3.
90f80 34 20 35 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 4.5)).@end.group.@end.example.@e
90fa0 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c nd.defun..@anchor{-partition-all
90fc0 2d 69 6e 2d 73 74 65 70 73 7d 0a 40 64 65 66 75 6e 20 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c -in-steps}.@defun.-partition-all
90fe0 2d 69 6e 2d 73 74 65 70 73 20 28 6e 20 73 74 65 70 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 61 -in-steps.(n.step.list).Return.a
91000 20 6e 65 77 20 6c 69 73 74 20 77 69 74 68 20 74 68 65 20 69 74 65 6d 73 20 69 6e 20 40 76 61 72 .new.list.with.the.items.in.@var
91020 7b 6c 69 73 74 7d 20 67 72 6f 75 70 65 64 20 69 6e 74 6f 20 40 76 61 72 7b 6e 7d 2d 73 69 7a 65 {list}.grouped.into.@var{n}-size
91040 64 20 73 75 62 6c 69 73 74 73 20 61 74 20 6f 66 66 73 65 74 73 20 40 76 61 72 7b 73 74 65 70 7d d.sublists.at.offsets.@var{step}
91060 20 61 70 61 72 74 2e 0a 54 68 65 20 6c 61 73 74 20 67 72 6f 75 70 73 20 6d 61 79 20 63 6f 6e 74 .apart..The.last.groups.may.cont
91080 61 69 6e 20 6c 65 73 73 20 74 68 61 6e 20 40 76 61 72 7b 6e 7d 20 69 74 65 6d 73 2e 0a 0a 40 65 ain.less.than.@var{n}.items...@e
910a0 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 2d 69 6e xample.@group.(-partition-all-in
910c0 2d 73 74 65 70 73 20 32 20 31 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 -steps.2.1.'(1.2.3.4)).....@resu
910e0 6c 74 7b 7d 20 28 28 31 20 32 29 20 28 32 20 33 29 20 28 33 20 34 29 20 28 34 29 29 0a 40 65 6e lt{}.((1.2).(2.3).(3.4).(4)).@en
91100 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 2d 69 d.group.@group.(-partition-all-i
91120 6e 2d 73 74 65 70 73 20 33 20 32 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 n-steps.3.2.'(1.2.3.4)).....@res
91140 75 6c 74 7b 7d 20 28 28 31 20 32 20 33 29 20 28 33 20 34 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 ult{}.((1.2.3).(3.4)).@end.group
91160 0a 40 67 72 6f 75 70 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 2d 69 6e 2d 73 74 65 70 73 .@group.(-partition-all-in-steps
91180 20 33 20 32 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d .3.2.'(1.2.3.4.5)).....@result{}
911a0 20 28 28 31 20 32 20 33 29 20 28 33 20 34 20 35 29 20 28 35 29 29 0a 40 65 6e 64 20 67 72 6f 75 .((1.2.3).(3.4.5).(5)).@end.grou
911c0 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 p.@end.example.@end.defun..@anch
911e0 6f 72 7b 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 7d 0a 40 64 65 66 75 6e 20 2d 70 61 72 74 69 74 or{-partition-by}.@defun.-partit
91200 69 6f 6e 2d 62 79 20 28 66 6e 20 6c 69 73 74 29 0a 41 70 70 6c 79 20 40 76 61 72 7b 66 6e 7d 20 ion-by.(fn.list).Apply.@var{fn}.
91220 74 6f 20 65 61 63 68 20 69 74 65 6d 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 2c 20 73 70 6c 69 to.each.item.in.@var{list},.spli
91240 74 74 69 6e 67 20 69 74 20 65 61 63 68 20 74 69 6d 65 20 40 76 61 72 7b 66 6e 7d 20 72 65 74 75 tting.it.each.time.@var{fn}.retu
91260 72 6e 73 20 61 20 6e 65 77 20 76 61 6c 75 65 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 rns.a.new.value...@example.@grou
91280 70 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 20 27 65 76 65 6e 3f 20 28 29 29 0a 20 20 20 20 p.(-partition-by.'even?.()).....
912a0 40 72 65 73 75 6c 74 7b 7d 20 28 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 @result{}.().@end.group.@group.(
912c0 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 20 27 65 76 65 6e 3f 20 27 28 31 20 31 20 32 20 32 20 32 -partition-by.'even?.'(1.1.2.2.2
912e0 20 33 20 34 20 36 20 38 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 31 29 20 .3.4.6.8)).....@result{}.((1.1).
91300 28 32 20 32 20 32 29 20 28 33 29 20 28 34 20 36 20 38 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a (2.2.2).(3).(4.6.8)).@end.group.
91320 40 67 72 6f 75 70 0a 28 2d 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 20 28 3c 20 69 74 20 33 29 20 @group.(--partition-by.(<.it.3).
91340 27 28 31 20 32 20 33 20 34 20 33 20 32 20 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 '(1.2.3.4.3.2.1)).....@result{}.
91360 28 28 31 20 32 29 20 28 33 20 34 20 33 29 20 28 32 20 31 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 ((1.2).(3.4.3).(2.1)).@end.group
91380 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f .@end.example.@end.defun..@ancho
913a0 72 7b 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 2d 68 65 61 64 65 72 7d 0a 40 64 65 66 75 6e 20 2d r{-partition-by-header}.@defun.-
913c0 70 61 72 74 69 74 69 6f 6e 2d 62 79 2d 68 65 61 64 65 72 20 28 66 6e 20 6c 69 73 74 29 0a 41 70 partition-by-header.(fn.list).Ap
913e0 70 6c 79 20 40 76 61 72 7b 66 6e 7d 20 74 6f 20 74 68 65 20 66 69 72 73 74 20 69 74 65 6d 20 69 ply.@var{fn}.to.the.first.item.i
91400 6e 20 40 76 61 72 7b 6c 69 73 74 7d 2e 20 54 68 61 74 20 69 73 20 74 68 65 20 68 65 61 64 65 72 n.@var{list}..That.is.the.header
91420 0a 76 61 6c 75 65 2e 20 41 70 70 6c 79 20 40 76 61 72 7b 66 6e 7d 20 74 6f 20 65 61 63 68 20 69 .value..Apply.@var{fn}.to.each.i
91440 74 65 6d 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 2c 20 73 70 6c 69 74 74 69 6e 67 20 69 74 20 tem.in.@var{list},.splitting.it.
91460 65 61 63 68 20 74 69 6d 65 20 40 76 61 72 7b 66 6e 7d 0a 72 65 74 75 72 6e 73 20 74 68 65 20 68 each.time.@var{fn}.returns.the.h
91480 65 61 64 65 72 20 76 61 6c 75 65 2c 20 62 75 74 20 6f 6e 6c 79 20 61 66 74 65 72 20 73 65 65 69 eader.value,.but.only.after.seei
914a0 6e 67 20 61 74 20 6c 65 61 73 74 20 6f 6e 65 0a 6f 74 68 65 72 20 76 61 6c 75 65 20 28 74 68 65 ng.at.least.one.other.value.(the
914c0 20 62 6f 64 79 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 2d 70 61 72 74 .body)...@example.@group.(--part
914e0 69 74 69 6f 6e 2d 62 79 2d 68 65 61 64 65 72 20 28 3d 20 69 74 20 31 29 20 27 28 31 20 32 20 33 ition-by-header.(=.it.1).'(1.2.3
91500 20 31 20 32 20 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 .1.2.1.2.3.4)).....@result{}.((1
91520 20 32 20 33 29 20 28 31 20 32 29 20 28 31 20 32 20 33 20 34 29 29 0a 40 65 6e 64 20 67 72 6f 75 .2.3).(1.2).(1.2.3.4)).@end.grou
91540 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 2d 68 65 61 64 65 72 20 p.@group.(--partition-by-header.
91560 28 3e 20 69 74 20 30 29 20 27 28 31 20 32 20 30 20 31 20 30 20 31 20 32 20 33 20 30 29 29 0a 20 (>.it.0).'(1.2.0.1.0.1.2.3.0))..
91580 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 32 20 30 29 20 28 31 20 30 29 20 28 31 20 32 ...@result{}.((1.2.0).(1.0).(1.2
915a0 20 33 20 30 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 70 61 72 74 69 .3.0)).@end.group.@group.(-parti
915c0 74 69 6f 6e 2d 62 79 2d 68 65 61 64 65 72 20 27 65 76 65 6e 3f 20 27 28 32 20 31 20 31 20 31 20 tion-by-header.'even?.'(2.1.1.1.
915e0 34 20 31 20 33 20 35 20 36 20 36 20 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 4.1.3.5.6.6.1)).....@result{}.((
91600 32 20 31 20 31 20 31 29 20 28 34 20 31 20 33 20 35 29 20 28 36 20 36 20 31 29 29 0a 40 65 6e 64 2.1.1.1).(4.1.3.5).(6.6.1)).@end
91620 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a .group.@end.example.@end.defun..
91640 40 61 6e 63 68 6f 72 7b 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 7d 0a 40 @anchor{-partition-after-pred}.@
91660 64 65 66 75 6e 20 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 20 28 70 72 65 defun.-partition-after-pred.(pre
91680 64 20 6c 69 73 74 29 0a 50 61 72 74 69 74 69 6f 6e 20 40 76 61 72 7b 6c 69 73 74 7d 20 61 66 74 d.list).Partition.@var{list}.aft
916a0 65 72 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 66 6f 72 20 77 68 69 63 68 20 40 76 61 72 7b 70 er.each.element.for.which.@var{p
916c0 72 65 64 7d 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 0a 54 68 69 73 20 66 75 6e 63 red}.returns.non-nil...This.func
916e0 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 tion's.anaphoric.counterpart.is.
91700 40 63 6f 64 65 7b 2d 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 7d 2e 0a 0a @code{--partition-after-pred}...
91720 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 @example.@group.(-partition-afte
91740 72 2d 70 72 65 64 20 23 27 62 6f 6f 6c 65 61 6e 70 20 28 29 29 0a 20 20 20 20 40 72 65 73 75 6c r-pred.#'booleanp.()).....@resul
91760 74 7b 7d 20 28 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 70 61 72 74 69 t{}.().@end.group.@group.(-parti
91780 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 20 23 27 62 6f 6f 6c 65 61 6e 70 20 27 28 74 20 74 tion-after-pred.#'booleanp.'(t.t
917a0 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 74 29 20 28 74 29 29 0a 40 65 6e 64 20 )).....@result{}.((t).(t)).@end.
917c0 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 70 group.@group.(-partition-after-p
917e0 72 65 64 20 23 27 62 6f 6f 6c 65 61 6e 70 20 27 28 30 20 30 20 74 20 74 20 30 20 74 29 29 0a 20 red.#'booleanp.'(0.0.t.t.0.t))..
91800 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 30 20 30 20 74 29 20 28 74 29 20 28 30 20 74 29 29 ...@result{}.((0.0.t).(t).(0.t))
91820 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 .@end.group.@end.example.@end.de
91840 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 70 fun..@anchor{-partition-before-p
91860 72 65 64 7d 0a 40 64 65 66 75 6e 20 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 70 72 red}.@defun.-partition-before-pr
91880 65 64 20 28 70 72 65 64 20 6c 69 73 74 29 0a 50 61 72 74 69 74 69 6f 6e 20 64 69 72 65 63 74 6c ed.(pred.list).Partition.directl
918a0 79 20 62 65 66 6f 72 65 20 65 61 63 68 20 74 69 6d 65 20 40 76 61 72 7b 70 72 65 64 7d 20 69 73 y.before.each.time.@var{pred}.is
918c0 20 74 72 75 65 20 6f 6e 20 61 6e 20 65 6c 65 6d 65 6e 74 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 .true.on.an.element.of.@var{list
918e0 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d }...@example.@group.(-partition-
91900 62 65 66 6f 72 65 2d 70 72 65 64 20 23 27 62 6f 6f 6c 65 61 6e 70 20 28 29 29 0a 20 20 20 20 40 before-pred.#'booleanp.()).....@
91920 72 65 73 75 6c 74 7b 7d 20 28 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d result{}.().@end.group.@group.(-
91940 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 70 72 65 64 20 23 27 62 6f 6f 6c 65 61 6e 70 partition-before-pred.#'booleanp
91960 20 27 28 30 20 74 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 30 29 20 28 74 29 29 .'(0.t)).....@result{}.((0).(t))
91980 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 62 .@end.group.@group.(-partition-b
919a0 65 66 6f 72 65 2d 70 72 65 64 20 23 27 62 6f 6f 6c 65 61 6e 70 20 27 28 30 20 30 20 74 20 30 20 efore-pred.#'booleanp.'(0.0.t.0.
919c0 74 20 74 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 30 20 30 29 20 28 74 20 30 29 t.t)).....@result{}.((0.0).(t.0)
919e0 20 28 74 29 20 28 74 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c .(t).(t)).@end.group.@end.exampl
91a00 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 70 61 72 74 69 74 69 6f 6e e.@end.defun..@anchor{-partition
91a20 2d 62 65 66 6f 72 65 2d 69 74 65 6d 7d 0a 40 64 65 66 75 6e 20 2d 70 61 72 74 69 74 69 6f 6e 2d -before-item}.@defun.-partition-
91a40 62 65 66 6f 72 65 2d 69 74 65 6d 20 28 69 74 65 6d 20 6c 69 73 74 29 0a 50 61 72 74 69 74 69 6f before-item.(item.list).Partitio
91a60 6e 20 64 69 72 65 63 74 6c 79 20 62 65 66 6f 72 65 20 65 61 63 68 20 74 69 6d 65 20 40 76 61 72 n.directly.before.each.time.@var
91a80 7b 69 74 65 6d 7d 20 61 70 70 65 61 72 73 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 0a 40 {item}.appears.in.@var{list}...@
91aa0 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 example.@group.(-partition-befor
91ac0 65 2d 69 74 65 6d 20 33 20 28 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 29 0a 40 65 e-item.3.()).....@result{}.().@e
91ae0 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f nd.group.@group.(-partition-befo
91b00 72 65 2d 69 74 65 6d 20 33 20 27 28 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 re-item.3.'(1)).....@result{}.((
91b20 31 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 70 61 72 74 69 74 69 6f 1)).@end.group.@group.(-partitio
91b40 6e 2d 62 65 66 6f 72 65 2d 69 74 65 6d 20 33 20 27 28 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c n-before-item.3.'(3)).....@resul
91b60 74 7b 7d 20 28 28 33 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c t{}.((3)).@end.group.@end.exampl
91b80 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 70 61 72 74 69 74 69 6f 6e e.@end.defun..@anchor{-partition
91ba0 2d 61 66 74 65 72 2d 69 74 65 6d 7d 0a 40 64 65 66 75 6e 20 2d 70 61 72 74 69 74 69 6f 6e 2d 61 -after-item}.@defun.-partition-a
91bc0 66 74 65 72 2d 69 74 65 6d 20 28 69 74 65 6d 20 6c 69 73 74 29 0a 50 61 72 74 69 74 69 6f 6e 20 fter-item.(item.list).Partition.
91be0 64 69 72 65 63 74 6c 79 20 61 66 74 65 72 20 65 61 63 68 20 74 69 6d 65 20 40 76 61 72 7b 69 74 directly.after.each.time.@var{it
91c00 65 6d 7d 20 61 70 70 65 61 72 73 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 0a 40 65 78 61 em}.appears.in.@var{list}...@exa
91c20 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 69 74 mple.@group.(-partition-after-it
91c40 65 6d 20 33 20 28 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 29 0a 40 65 6e 64 20 67 em.3.()).....@result{}.().@end.g
91c60 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 69 74 roup.@group.(-partition-after-it
91c80 65 6d 20 33 20 27 28 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 29 29 0a 40 em.3.'(1)).....@result{}.((1)).@
91ca0 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 end.group.@group.(-partition-aft
91cc0 65 72 2d 69 74 65 6d 20 33 20 27 28 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 er-item.3.'(3)).....@result{}.((
91ce0 33 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 3)).@end.group.@end.example.@end
91d00 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 67 72 6f 75 70 2d 62 79 7d 0a 40 64 65 66 75 .defun..@anchor{-group-by}.@defu
91d20 6e 20 2d 67 72 6f 75 70 2d 62 79 20 28 66 6e 20 6c 69 73 74 29 0a 53 65 70 61 72 61 74 65 20 40 n.-group-by.(fn.list).Separate.@
91d40 76 61 72 7b 6c 69 73 74 7d 20 69 6e 74 6f 20 61 6e 20 61 6c 69 73 74 20 77 68 6f 73 65 20 6b 65 var{list}.into.an.alist.whose.ke
91d60 79 73 20 61 72 65 20 40 76 61 72 7b 66 6e 7d 20 61 70 70 6c 69 65 64 20 74 6f 20 74 68 65 0a 65 ys.are.@var{fn}.applied.to.the.e
91d80 6c 65 6d 65 6e 74 73 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 2e 20 20 4b 65 79 73 20 61 72 65 lements.of.@var{list}...Keys.are
91da0 20 63 6f 6d 70 61 72 65 64 20 62 79 20 40 63 6f 64 65 7b 65 71 75 61 6c 7d 2e 0a 0a 40 65 78 61 .compared.by.@code{equal}...@exa
91dc0 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 67 72 6f 75 70 2d 62 79 20 27 65 76 65 6e 3f 20 28 29 mple.@group.(-group-by.'even?.()
91de0 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 ).....@result{}.().@end.group.@g
91e00 72 6f 75 70 0a 28 2d 67 72 6f 75 70 2d 62 79 20 27 65 76 65 6e 3f 20 27 28 31 20 31 20 32 20 32 roup.(-group-by.'even?.'(1.1.2.2
91e20 20 32 20 33 20 34 20 36 20 38 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 6e 69 6c .2.3.4.6.8)).....@result{}.((nil
91e40 20 31 20 31 20 33 29 20 28 74 20 32 20 32 20 32 20 34 20 36 20 38 29 29 0a 40 65 6e 64 20 67 72 .1.1.3).(t.2.2.2.4.6.8)).@end.gr
91e60 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 67 72 6f 75 70 2d 62 79 20 28 63 61 72 20 28 73 70 6c oup.@group.(--group-by.(car.(spl
91e80 69 74 2d 73 74 72 69 6e 67 20 69 74 20 22 2f 22 29 29 20 27 28 22 61 2f 62 22 20 22 63 2f 64 22 it-string.it."/")).'("a/b"."c/d"
91ea0 20 22 61 2f 65 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 22 61 22 20 22 61 2f ."a/e")).....@result{}.(("a"."a/
91ec0 62 22 20 22 61 2f 65 22 29 20 28 22 63 22 20 22 63 2f 64 22 29 29 0a 40 65 6e 64 20 67 72 6f 75 b"."a/e").("c"."c/d")).@end.grou
91ee0 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 6e 6f 64 65 p.@end.example.@end.defun..@node
91f00 20 49 6e 64 65 78 69 6e 67 0a 40 73 65 63 74 69 6f 6e 20 49 6e 64 65 78 69 6e 67 0a 0a 46 75 6e .Indexing.@section.Indexing..Fun
91f20 63 74 69 6f 6e 73 20 72 65 74 72 69 65 76 69 6e 67 20 6f 72 20 73 6f 72 74 69 6e 67 20 62 61 73 ctions.retrieving.or.sorting.bas
91f40 65 64 20 6f 6e 20 6c 69 73 74 20 69 6e 64 69 63 65 73 20 61 6e 64 0a 72 65 6c 61 74 65 64 20 70 ed.on.list.indices.and.related.p
91f60 72 65 64 69 63 61 74 65 73 2e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 65 6c 65 6d 2d 69 6e 64 65 78 7d redicates...@anchor{-elem-index}
91f80 0a 40 64 65 66 75 6e 20 2d 65 6c 65 6d 2d 69 6e 64 65 78 20 28 65 6c 65 6d 20 6c 69 73 74 29 0a .@defun.-elem-index.(elem.list).
91fa0 52 65 74 75 72 6e 20 74 68 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 65 6c Return.the.index.of.the.first.el
91fc0 65 6d 65 6e 74 20 69 6e 20 74 68 65 20 67 69 76 65 6e 20 40 76 61 72 7b 6c 69 73 74 7d 20 77 68 ement.in.the.given.@var{list}.wh
91fe0 69 63 68 0a 69 73 20 65 71 75 61 6c 20 74 6f 20 74 68 65 20 71 75 65 72 79 20 65 6c 65 6d 65 6e ich.is.equal.to.the.query.elemen
92000 74 20 40 76 61 72 7b 65 6c 65 6d 7d 2c 20 6f 72 20 6e 69 6c 20 69 66 20 74 68 65 72 65 20 69 73 t.@var{elem},.or.nil.if.there.is
92020 20 6e 6f 0a 73 75 63 68 20 65 6c 65 6d 65 6e 74 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f .no.such.element...@example.@gro
92040 75 70 0a 28 2d 65 6c 65 6d 2d 69 6e 64 65 78 20 32 20 27 28 36 20 37 20 38 20 32 20 33 20 34 29 up.(-elem-index.2.'(6.7.8.2.3.4)
92060 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 33 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 ).....@result{}.3.@end.group.@gr
92080 6f 75 70 0a 28 2d 65 6c 65 6d 2d 69 6e 64 65 78 20 22 62 61 72 22 20 27 28 22 66 6f 6f 22 20 22 oup.(-elem-index."bar".'("foo"."
920a0 62 61 72 22 20 22 62 61 7a 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 31 0a 40 65 6e bar"."baz")).....@result{}.1.@en
920c0 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 65 6c 65 6d 2d 69 6e 64 65 78 20 27 28 31 20 d.group.@group.(-elem-index.'(1.
920e0 32 29 20 27 28 28 33 29 20 28 35 20 36 29 20 28 31 20 32 29 20 6e 69 6c 29 29 0a 20 20 20 20 40 2).'((3).(5.6).(1.2).nil)).....@
92100 72 65 73 75 6c 74 7b 7d 20 32 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 result{}.2.@end.group.@end.examp
92120 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 65 6c 65 6d 2d 69 6e 64 le.@end.defun..@anchor{-elem-ind
92140 69 63 65 73 7d 0a 40 64 65 66 75 6e 20 2d 65 6c 65 6d 2d 69 6e 64 69 63 65 73 20 28 65 6c 65 6d ices}.@defun.-elem-indices.(elem
92160 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 74 68 65 20 69 6e 64 69 63 65 73 20 6f 66 20 61 6c 6c .list).Return.the.indices.of.all
92180 20 65 6c 65 6d 65 6e 74 73 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 20 65 71 75 61 6c 20 74 6f .elements.in.@var{list}.equal.to
921a0 20 74 68 65 20 71 75 65 72 79 0a 65 6c 65 6d 65 6e 74 20 40 76 61 72 7b 65 6c 65 6d 7d 2c 20 69 .the.query.element.@var{elem},.i
921c0 6e 20 61 73 63 65 6e 64 69 6e 67 20 6f 72 64 65 72 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 n.ascending.order...@example.@gr
921e0 6f 75 70 0a 28 2d 65 6c 65 6d 2d 69 6e 64 69 63 65 73 20 32 20 27 28 36 20 37 20 38 20 32 20 33 oup.(-elem-indices.2.'(6.7.8.2.3
92200 20 34 20 32 20 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 33 20 36 29 0a 40 65 6e .4.2.1)).....@result{}.(3.6).@en
92220 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 65 6c 65 6d 2d 69 6e 64 69 63 65 73 20 22 62 d.group.@group.(-elem-indices."b
92240 61 72 22 20 27 28 22 66 6f 6f 22 20 22 62 61 72 22 20 22 62 61 7a 22 29 29 0a 20 20 20 20 40 72 ar".'("foo"."bar"."baz")).....@r
92260 65 73 75 6c 74 7b 7d 20 28 31 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d esult{}.(1).@end.group.@group.(-
92280 65 6c 65 6d 2d 69 6e 64 69 63 65 73 20 27 28 31 20 32 29 20 27 28 28 33 29 20 28 31 20 32 29 20 elem-indices.'(1.2).'((3).(1.2).
922a0 28 35 20 36 29 20 28 31 20 32 29 20 6e 69 6c 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 (5.6).(1.2).nil)).....@result{}.
922c0 28 31 20 33 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 (1.3).@end.group.@end.example.@e
922e0 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 66 69 6e 64 2d 69 6e 64 65 78 7d 0a 40 nd.defun..@anchor{-find-index}.@
92300 64 65 66 75 6e 20 2d 66 69 6e 64 2d 69 6e 64 65 78 20 28 70 72 65 64 20 6c 69 73 74 29 0a 54 61 defun.-find-index.(pred.list).Ta
92320 6b 65 20 61 20 70 72 65 64 69 63 61 74 65 20 40 76 61 72 7b 70 72 65 64 7d 20 61 6e 64 20 61 20 ke.a.predicate.@var{pred}.and.a.
92340 40 76 61 72 7b 6c 69 73 74 7d 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 20 69 6e 64 65 78 20 @var{list}.and.return.the.index.
92360 6f 66 20 74 68 65 0a 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 69 6e 20 74 68 65 20 6c 69 73 74 of.the.first.element.in.the.list
92380 20 73 61 74 69 73 66 79 69 6e 67 20 74 68 65 20 70 72 65 64 69 63 61 74 65 2c 20 6f 72 20 6e 69 .satisfying.the.predicate,.or.ni
923a0 6c 20 69 66 0a 74 68 65 72 65 20 69 73 20 6e 6f 20 73 75 63 68 20 65 6c 65 6d 65 6e 74 2e 0a 0a l.if.there.is.no.such.element...
923c0 53 65 65 20 61 6c 73 6f 20 40 63 6f 64 65 7b 2d 66 69 72 73 74 7d 20 28 40 70 78 72 65 66 7b 2d See.also.@code{-first}.(@pxref{-
923e0 66 69 72 73 74 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 66 69 6e 64 first})...@example.@group.(-find
92400 2d 69 6e 64 65 78 20 27 65 76 65 6e 3f 20 27 28 32 20 34 20 31 20 36 20 33 20 33 20 35 20 38 29 -index.'even?.'(2.4.1.6.3.3.5.8)
92420 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 30 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 ).....@result{}.0.@end.group.@gr
92440 6f 75 70 0a 28 2d 2d 66 69 6e 64 2d 69 6e 64 65 78 20 28 3c 20 35 20 69 74 29 20 27 28 32 20 34 oup.(--find-index.(<.5.it).'(2.4
92460 20 31 20 36 20 33 20 33 20 35 20 38 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 33 0a 40 .1.6.3.3.5.8)).....@result{}.3.@
92480 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 66 69 6e 64 2d 69 6e 64 65 78 20 28 2d end.group.@group.(-find-index.(-
924a0 70 61 72 74 69 61 6c 20 27 73 74 72 69 6e 67 2d 6c 65 73 73 70 20 22 62 61 7a 22 29 20 27 28 22 partial.'string-lessp."baz").'("
924c0 62 61 72 22 20 22 66 6f 6f 22 20 22 62 61 7a 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d bar"."foo"."baz")).....@result{}
924e0 20 31 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 .1.@end.group.@end.example.@end.
92500 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 78 7d defun..@anchor{-find-last-index}
92520 0a 40 64 65 66 75 6e 20 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 78 20 28 70 72 65 64 20 6c .@defun.-find-last-index.(pred.l
92540 69 73 74 29 0a 54 61 6b 65 20 61 20 70 72 65 64 69 63 61 74 65 20 40 76 61 72 7b 70 72 65 64 7d ist).Take.a.predicate.@var{pred}
92560 20 61 6e 64 20 61 20 40 76 61 72 7b 6c 69 73 74 7d 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 .and.a.@var{list}.and.return.the
92580 20 69 6e 64 65 78 20 6f 66 20 74 68 65 0a 6c 61 73 74 20 65 6c 65 6d 65 6e 74 20 69 6e 20 74 68 .index.of.the.last.element.in.th
925a0 65 20 6c 69 73 74 20 73 61 74 69 73 66 79 69 6e 67 20 74 68 65 20 70 72 65 64 69 63 61 74 65 2c e.list.satisfying.the.predicate,
925c0 20 6f 72 20 6e 69 6c 20 69 66 0a 74 68 65 72 65 20 69 73 20 6e 6f 20 73 75 63 68 20 65 6c 65 6d .or.nil.if.there.is.no.such.elem
925e0 65 6e 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 20 40 63 6f 64 65 7b 2d 6c 61 73 74 7d 20 28 40 70 78 ent...See.also.@code{-last}.(@px
92600 72 65 66 7b 2d 6c 61 73 74 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d ref{-last})...@example.@group.(-
92620 66 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 78 20 27 65 76 65 6e 3f 20 27 28 32 20 34 20 31 20 36 find-last-index.'even?.'(2.4.1.6
92640 20 33 20 33 20 35 20 38 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 37 0a 40 65 6e 64 20 .3.3.5.8)).....@result{}.7.@end.
92660 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 78 20 group.@group.(--find-last-index.
92680 28 3c 20 35 20 69 74 29 20 27 28 32 20 37 20 31 20 36 20 33 20 38 20 35 20 32 29 29 0a 20 20 20 (<.5.it).'(2.7.1.6.3.8.5.2))....
926a0 20 40 72 65 73 75 6c 74 7b 7d 20 35 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 .@result{}.5.@end.group.@group.(
926c0 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 78 20 28 2d 70 61 72 74 69 61 6c 20 27 73 74 72 69 -find-last-index.(-partial.'stri
926e0 6e 67 2d 6c 65 73 73 70 20 22 62 61 7a 22 29 20 27 28 22 71 22 20 22 66 6f 6f 22 20 22 62 61 7a ng-lessp."baz").'("q"."foo"."baz
92700 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 31 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 ")).....@result{}.1.@end.group.@
92720 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b end.example.@end.defun..@anchor{
92740 2d 66 69 6e 64 2d 69 6e 64 69 63 65 73 7d 0a 40 64 65 66 75 6e 20 2d 66 69 6e 64 2d 69 6e 64 69 -find-indices}.@defun.-find-indi
92760 63 65 73 20 28 70 72 65 64 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 74 68 65 20 69 6e 64 69 63 ces.(pred.list).Return.the.indic
92780 65 73 20 6f 66 20 61 6c 6c 20 65 6c 65 6d 65 6e 74 73 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d es.of.all.elements.in.@var{list}
927a0 20 73 61 74 69 73 66 79 69 6e 67 20 74 68 65 0a 70 72 65 64 69 63 61 74 65 20 40 76 61 72 7b 70 .satisfying.the.predicate.@var{p
927c0 72 65 64 7d 2c 20 69 6e 20 61 73 63 65 6e 64 69 6e 67 20 6f 72 64 65 72 2e 0a 0a 40 65 78 61 6d red},.in.ascending.order...@exam
927e0 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 66 69 6e 64 2d 69 6e 64 69 63 65 73 20 27 65 76 65 6e 3f ple.@group.(-find-indices.'even?
92800 20 27 28 32 20 34 20 31 20 36 20 33 20 33 20 35 20 38 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 .'(2.4.1.6.3.3.5.8)).....@result
92820 7b 7d 20 28 30 20 31 20 33 20 37 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 {}.(0.1.3.7).@end.group.@group.(
92840 2d 2d 66 69 6e 64 2d 69 6e 64 69 63 65 73 20 28 3c 20 35 20 69 74 29 20 27 28 32 20 34 20 31 20 --find-indices.(<.5.it).'(2.4.1.
92860 36 20 33 20 33 20 35 20 38 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 33 20 37 29 0a 6.3.3.5.8)).....@result{}.(3.7).
92880 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 66 69 6e 64 2d 69 6e 64 69 63 65 73 @end.group.@group.(-find-indices
928a0 20 28 2d 70 61 72 74 69 61 6c 20 27 73 74 72 69 6e 67 2d 6c 65 73 73 70 20 22 62 61 7a 22 29 20 .(-partial.'string-lessp."baz").
928c0 27 28 22 62 61 72 22 20 22 66 6f 6f 22 20 22 62 61 7a 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c '("bar"."foo"."baz")).....@resul
928e0 74 7b 7d 20 28 31 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a t{}.(1).@end.group.@end.example.
92900 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 67 72 61 64 65 2d 75 70 7d 0a 40 @end.defun..@anchor{-grade-up}.@
92920 64 65 66 75 6e 20 2d 67 72 61 64 65 2d 75 70 20 28 63 6f 6d 70 61 72 61 74 6f 72 20 6c 69 73 74 defun.-grade-up.(comparator.list
92940 29 0a 47 72 61 64 65 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 75 ).Grade.elements.of.@var{list}.u
92960 73 69 6e 67 20 40 76 61 72 7b 63 6f 6d 70 61 72 61 74 6f 72 7d 20 72 65 6c 61 74 69 6f 6e 2e 0a sing.@var{comparator}.relation..
92980 54 68 69 73 20 79 69 65 6c 64 73 20 61 20 70 65 72 6d 75 74 61 74 69 6f 6e 20 76 65 63 74 6f 72 This.yields.a.permutation.vector
929a0 20 73 75 63 68 20 74 68 61 74 20 61 70 70 6c 79 69 6e 67 20 74 68 69 73 0a 70 65 72 6d 75 74 61 .such.that.applying.this.permuta
929c0 74 69 6f 6e 20 74 6f 20 40 76 61 72 7b 6c 69 73 74 7d 20 73 6f 72 74 73 20 69 74 20 69 6e 20 61 tion.to.@var{list}.sorts.it.in.a
929e0 73 63 65 6e 64 69 6e 67 20 6f 72 64 65 72 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 scending.order...@example.@group
92a00 0a 28 2d 67 72 61 64 65 2d 75 70 20 23 27 3c 20 27 28 33 20 31 20 34 20 32 20 31 20 33 20 33 29 .(-grade-up.#'<.'(3.1.4.2.1.3.3)
92a20 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 34 20 33 20 30 20 35 20 36 20 32 29 0a ).....@result{}.(1.4.3.0.5.6.2).
92a40 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 28 28 6c 20 27 28 33 20 31 @end.group.@group.(let.((l.'(3.1
92a60 20 34 20 32 20 31 20 33 20 33 29 29 29 20 28 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 .4.2.1.3.3))).(-select-by-indice
92a80 73 20 28 2d 67 72 61 64 65 2d 75 70 20 23 27 3c 20 6c 29 20 6c 29 29 0a 20 20 20 20 40 72 65 73 s.(-grade-up.#'<.l).l)).....@res
92aa0 75 6c 74 7b 7d 20 28 31 20 31 20 32 20 33 20 33 20 33 20 34 29 0a 40 65 6e 64 20 67 72 6f 75 70 ult{}.(1.1.2.3.3.3.4).@end.group
92ac0 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f .@end.example.@end.defun..@ancho
92ae0 72 7b 2d 67 72 61 64 65 2d 64 6f 77 6e 7d 0a 40 64 65 66 75 6e 20 2d 67 72 61 64 65 2d 64 6f 77 r{-grade-down}.@defun.-grade-dow
92b00 6e 20 28 63 6f 6d 70 61 72 61 74 6f 72 20 6c 69 73 74 29 0a 47 72 61 64 65 20 65 6c 65 6d 65 6e n.(comparator.list).Grade.elemen
92b20 74 73 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 75 73 69 6e 67 20 40 76 61 72 7b 63 6f 6d 70 ts.of.@var{list}.using.@var{comp
92b40 61 72 61 74 6f 72 7d 20 72 65 6c 61 74 69 6f 6e 2e 0a 54 68 69 73 20 79 69 65 6c 64 73 20 61 20 arator}.relation..This.yields.a.
92b60 70 65 72 6d 75 74 61 74 69 6f 6e 20 76 65 63 74 6f 72 20 73 75 63 68 20 74 68 61 74 20 61 70 70 permutation.vector.such.that.app
92b80 6c 79 69 6e 67 20 74 68 69 73 0a 70 65 72 6d 75 74 61 74 69 6f 6e 20 74 6f 20 40 76 61 72 7b 6c lying.this.permutation.to.@var{l
92ba0 69 73 74 7d 20 73 6f 72 74 73 20 69 74 20 69 6e 20 64 65 73 63 65 6e 64 69 6e 67 20 6f 72 64 65 ist}.sorts.it.in.descending.orde
92bc0 72 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 67 72 61 64 65 2d 64 6f 77 6e r...@example.@group.(-grade-down
92be0 20 23 27 3c 20 27 28 33 20 31 20 34 20 32 20 31 20 33 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 .#'<.'(3.1.4.2.1.3.3)).....@resu
92c00 6c 74 7b 7d 20 28 32 20 30 20 35 20 36 20 33 20 31 20 34 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a lt{}.(2.0.5.6.3.1.4).@end.group.
92c20 40 67 72 6f 75 70 0a 28 6c 65 74 20 28 28 6c 20 27 28 33 20 31 20 34 20 32 20 31 20 33 20 33 29 @group.(let.((l.'(3.1.4.2.1.3.3)
92c40 29 29 20 28 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 20 28 2d 67 72 61 64 65 2d 64 )).(-select-by-indices.(-grade-d
92c60 6f 77 6e 20 23 27 3c 20 6c 29 20 6c 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 34 20 own.#'<.l).l)).....@result{}.(4.
92c80 33 20 33 20 33 20 32 20 31 20 31 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 3.3.3.2.1.1).@end.group.@end.exa
92ca0 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 6e 6f 64 65 20 53 65 74 20 6f 70 65 72 61 mple.@end.defun..@node.Set.opera
92cc0 74 69 6f 6e 73 0a 40 73 65 63 74 69 6f 6e 20 53 65 74 20 6f 70 65 72 61 74 69 6f 6e 73 0a 0a 4f tions.@section.Set.operations..O
92ce0 70 65 72 61 74 69 6f 6e 73 20 70 72 65 74 65 6e 64 69 6e 67 20 6c 69 73 74 73 20 61 72 65 20 73 perations.pretending.lists.are.s
92d00 65 74 73 2e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 75 6e 69 6f 6e 7d 0a 40 64 65 66 75 6e 20 2d 75 6e ets...@anchor{-union}.@defun.-un
92d20 69 6f 6e 20 28 6c 69 73 74 20 6c 69 73 74 32 29 0a 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 ion.(list.list2).Return.a.new.li
92d40 73 74 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 40 76 st.containing.the.elements.of.@v
92d60 61 72 7b 6c 69 73 74 7d 20 61 6e 64 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 40 76 61 72 7b 6c 69 ar{list}.and.elements.of.@var{li
92d80 73 74 32 7d 20 74 68 61 74 20 61 72 65 20 6e 6f 74 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 2e st2}.that.are.not.in.@var{list}.
92da0 0a 54 68 65 20 74 65 73 74 20 66 6f 72 20 65 71 75 61 6c 69 74 79 20 69 73 20 64 6f 6e 65 20 77 .The.test.for.equality.is.done.w
92dc0 69 74 68 20 40 63 6f 64 65 7b 65 71 75 61 6c 7d 2c 0a 6f 72 20 77 69 74 68 20 40 63 6f 64 65 7b ith.@code{equal},.or.with.@code{
92de0 2d 63 6f 6d 70 61 72 65 2d 66 6e 7d 20 69 66 20 74 68 61 74 27 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a -compare-fn}.if.that's.non-nil..
92e00 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 75 6e 69 6f 6e 20 27 28 31 20 32 20 33 .@example.@group.(-union.'(1.2.3
92e20 29 20 27 28 33 20 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 ).'(3.4.5)).....@result{}.(1.2.3
92e40 20 34 20 35 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 75 6e 69 6f 6e 20 .4.5).@end.group.@group.(-union.
92e60 27 28 31 20 32 20 33 20 34 29 20 28 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 '(1.2.3.4).()).....@result{}.(1.
92e80 32 20 33 20 34 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 75 6e 69 6f 6e 2.3.4).@end.group.@group.(-union
92ea0 20 27 28 31 20 31 20 32 20 32 29 20 27 28 33 20 32 20 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c .'(1.1.2.2).'(3.2.1)).....@resul
92ec0 74 7b 7d 20 28 31 20 31 20 32 20 32 20 33 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 t{}.(1.1.2.2.3).@end.group.@end.
92ee0 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 64 69 66 example.@end.defun..@anchor{-dif
92f00 66 65 72 65 6e 63 65 7d 0a 40 64 65 66 75 6e 20 2d 64 69 66 66 65 72 65 6e 63 65 20 28 6c 69 73 ference}.@defun.-difference.(lis
92f20 74 20 6c 69 73 74 32 29 0a 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 77 69 74 68 20 t.list2).Return.a.new.list.with.
92f40 6f 6e 6c 79 20 74 68 65 20 6d 65 6d 62 65 72 73 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 74 only.the.members.of.@var{list}.t
92f60 68 61 74 20 61 72 65 20 6e 6f 74 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 32 7d 2e 0a 54 68 65 20 hat.are.not.in.@var{list2}..The.
92f80 74 65 73 74 20 66 6f 72 20 65 71 75 61 6c 69 74 79 20 69 73 20 64 6f 6e 65 20 77 69 74 68 20 40 test.for.equality.is.done.with.@
92fa0 63 6f 64 65 7b 65 71 75 61 6c 7d 2c 0a 6f 72 20 77 69 74 68 20 40 63 6f 64 65 7b 2d 63 6f 6d 70 code{equal},.or.with.@code{-comp
92fc0 61 72 65 2d 66 6e 7d 20 69 66 20 74 68 61 74 27 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 0a 40 65 78 61 are-fn}.if.that's.non-nil...@exa
92fe0 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 64 69 66 66 65 72 65 6e 63 65 20 28 29 20 28 29 29 0a mple.@group.(-difference.().()).
93000 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f ....@result{}.().@end.group.@gro
93020 75 70 0a 28 2d 64 69 66 66 65 72 65 6e 63 65 20 27 28 31 20 32 20 33 29 20 27 28 34 20 35 20 36 up.(-difference.'(1.2.3).'(4.5.6
93040 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 29 0a 40 65 6e 64 20 67 72 )).....@result{}.(1.2.3).@end.gr
93060 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 64 69 66 66 65 72 65 6e 63 65 20 27 28 31 20 32 20 33 20 oup.@group.(-difference.'(1.2.3.
93080 34 29 20 27 28 33 20 34 20 35 20 36 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 4).'(3.4.5.6)).....@result{}.(1.
930a0 32 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 2).@end.group.@end.example.@end.
930c0 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 69 6e 74 65 72 73 65 63 74 69 6f 6e 7d 0a 40 64 defun..@anchor{-intersection}.@d
930e0 65 66 75 6e 20 2d 69 6e 74 65 72 73 65 63 74 69 6f 6e 20 28 6c 69 73 74 20 6c 69 73 74 32 29 0a efun.-intersection.(list.list2).
93100 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 63 6f 6e 74 61 69 6e 69 6e 67 20 6f 6e 6c Return.a.new.list.containing.onl
93120 79 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 74 68 61 74 20 61 72 65 20 6d 65 6d 62 65 72 73 20 y.the.elements.that.are.members.
93140 6f 66 20 62 6f 74 68 20 40 76 61 72 7b 6c 69 73 74 7d 20 61 6e 64 20 40 76 61 72 7b 6c 69 73 74 of.both.@var{list}.and.@var{list
93160 32 7d 2e 0a 54 68 65 20 74 65 73 74 20 66 6f 72 20 65 71 75 61 6c 69 74 79 20 69 73 20 64 6f 6e 2}..The.test.for.equality.is.don
93180 65 20 77 69 74 68 20 40 63 6f 64 65 7b 65 71 75 61 6c 7d 2c 0a 6f 72 20 77 69 74 68 20 40 63 6f e.with.@code{equal},.or.with.@co
931a0 64 65 7b 2d 63 6f 6d 70 61 72 65 2d 66 6e 7d 20 69 66 20 74 68 61 74 27 73 20 6e 6f 6e 2d 6e 69 de{-compare-fn}.if.that's.non-ni
931c0 6c 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 69 6e 74 65 72 73 65 63 74 69 l...@example.@group.(-intersecti
931e0 6f 6e 20 28 29 20 28 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 29 0a 40 65 6e 64 20 on.().()).....@result{}.().@end.
93200 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 69 6e 74 65 72 73 65 63 74 69 6f 6e 20 27 28 31 20 group.@group.(-intersection.'(1.
93220 32 20 33 29 20 27 28 34 20 35 20 36 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 29 0a 2.3).'(4.5.6)).....@result{}.().
93240 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 69 6e 74 65 72 73 65 63 74 69 6f 6e @end.group.@group.(-intersection
93260 20 27 28 31 20 32 20 33 20 34 29 20 27 28 33 20 34 20 35 20 36 29 29 0a 20 20 20 20 40 72 65 73 .'(1.2.3.4).'(3.4.5.6)).....@res
93280 75 6c 74 7b 7d 20 28 33 20 34 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d ult{}.(3.4).@end.group.@end.exam
932a0 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 70 6f 77 65 72 73 65 ple.@end.defun..@anchor{-powerse
932c0 74 7d 0a 40 64 65 66 75 6e 20 2d 70 6f 77 65 72 73 65 74 20 28 6c 69 73 74 29 0a 52 65 74 75 72 t}.@defun.-powerset.(list).Retur
932e0 6e 20 74 68 65 20 70 6f 77 65 72 20 73 65 74 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 0a n.the.power.set.of.@var{list}...
93300 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 70 6f 77 65 72 73 65 74 20 28 29 29 0a 20 @example.@group.(-powerset.())..
93320 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 6e 69 6c 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 ...@result{}.(nil).@end.group.@g
93340 72 6f 75 70 0a 28 2d 70 6f 77 65 72 73 65 74 20 27 28 78 20 79 20 7a 29 29 0a 20 20 20 20 40 72 roup.(-powerset.'(x.y.z)).....@r
93360 65 73 75 6c 74 7b 7d 20 28 28 78 20 79 20 7a 29 20 28 78 20 79 29 20 28 78 20 7a 29 20 28 78 29 esult{}.((x.y.z).(x.y).(x.z).(x)
93380 20 28 79 20 7a 29 20 28 79 29 20 28 7a 29 20 6e 69 6c 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 .(y.z).(y).(z).nil).@end.group.@
933a0 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b end.example.@end.defun..@anchor{
933c0 2d 70 65 72 6d 75 74 61 74 69 6f 6e 73 7d 0a 40 64 65 66 75 6e 20 2d 70 65 72 6d 75 74 61 74 69 -permutations}.@defun.-permutati
933e0 6f 6e 73 20 28 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 74 68 65 20 70 65 72 6d 75 74 61 74 69 6f ons.(list).Return.the.permutatio
93400 6e 73 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f ns.of.@var{list}...@example.@gro
93420 75 70 0a 28 2d 70 65 72 6d 75 74 61 74 69 6f 6e 73 20 28 29 29 0a 20 20 20 20 40 72 65 73 75 6c up.(-permutations.()).....@resul
93440 74 7b 7d 20 28 6e 69 6c 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 70 65 t{}.(nil).@end.group.@group.(-pe
93460 72 6d 75 74 61 74 69 6f 6e 73 20 27 28 31 20 32 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d rmutations.'(1.2)).....@result{}
93480 20 28 28 31 20 32 29 20 28 32 20 31 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 .((1.2).(2.1)).@end.group.@group
934a0 0a 28 2d 70 65 72 6d 75 74 61 74 69 6f 6e 73 20 27 28 61 20 62 20 63 29 29 0a 20 20 20 20 40 72 .(-permutations.'(a.b.c)).....@r
934c0 65 73 75 6c 74 7b 7d 20 28 28 61 20 62 20 63 29 20 28 61 20 63 20 62 29 20 28 62 20 61 20 63 29 esult{}.((a.b.c).(a.c.b).(b.a.c)
934e0 20 28 62 20 63 20 61 29 20 28 63 20 61 20 62 29 20 28 63 20 62 20 61 29 29 0a 40 65 6e 64 20 67 .(b.c.a).(c.a.b).(c.b.a)).@end.g
93500 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 roup.@end.example.@end.defun..@a
93520 6e 63 68 6f 72 7b 2d 64 69 73 74 69 6e 63 74 7d 0a 40 64 65 66 75 6e 20 2d 64 69 73 74 69 6e 63 nchor{-distinct}.@defun.-distinc
93540 74 20 28 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 77 69 74 68 20 t.(list).Return.a.new.list.with.
93560 61 6c 6c 20 64 75 70 6c 69 63 61 74 65 73 20 72 65 6d 6f 76 65 64 2e 0a 54 68 65 20 74 65 73 74 all.duplicates.removed..The.test
93580 20 66 6f 72 20 65 71 75 61 6c 69 74 79 20 69 73 20 64 6f 6e 65 20 77 69 74 68 20 40 63 6f 64 65 .for.equality.is.done.with.@code
935a0 7b 65 71 75 61 6c 7d 2c 0a 6f 72 20 77 69 74 68 20 40 63 6f 64 65 7b 2d 63 6f 6d 70 61 72 65 2d {equal},.or.with.@code{-compare-
935c0 66 6e 7d 20 69 66 20 74 68 61 74 27 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 0a 41 6c 69 61 73 3a 20 40 fn}.if.that's.non-nil...Alias:.@
935e0 63 6f 64 65 7b 2d 75 6e 69 71 7d 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 64 code{-uniq}..@example.@group.(-d
93600 69 73 74 69 6e 63 74 20 28 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 29 0a 40 65 6e istinct.()).....@result{}.().@en
93620 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 64 69 73 74 69 6e 63 74 20 27 28 31 20 32 20 d.group.@group.(-distinct.'(1.2.
93640 32 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 34 29 0a 40 65 6e 64 2.4)).....@result{}.(1.2.4).@end
93660 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 64 69 73 74 69 6e 63 74 20 27 28 74 20 74 20 74 .group.@group.(-distinct.'(t.t.t
93680 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 74 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a )).....@result{}.(t).@end.group.
936a0 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 6e 6f 64 65 20 4f @end.example.@end.defun..@node.O
936c0 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 0a 40 73 65 63 74 69 6f 6e 20 4f 74 ther.list.operations.@section.Ot
936e0 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 0a 0a 4f 74 68 65 72 20 6c 69 73 74 20 her.list.operations..Other.list.
93700 66 75 6e 63 74 69 6f 6e 73 20 6e 6f 74 20 66 69 74 20 74 6f 20 62 65 20 63 6c 61 73 73 69 66 69 functions.not.fit.to.be.classifi
93720 65 64 20 65 6c 73 65 77 68 65 72 65 2e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 72 6f 74 61 74 65 7d 0a ed.elsewhere...@anchor{-rotate}.
93740 40 64 65 66 75 6e 20 2d 72 6f 74 61 74 65 20 28 6e 20 6c 69 73 74 29 0a 52 6f 74 61 74 65 20 40 @defun.-rotate.(n.list).Rotate.@
93760 76 61 72 7b 6c 69 73 74 7d 20 40 76 61 72 7b 6e 7d 20 70 6c 61 63 65 73 20 74 6f 20 74 68 65 20 var{list}.@var{n}.places.to.the.
93780 72 69 67 68 74 20 28 6c 65 66 74 20 69 66 20 40 76 61 72 7b 6e 7d 20 69 73 20 6e 65 67 61 74 69 right.(left.if.@var{n}.is.negati
937a0 76 65 29 2e 0a 54 68 65 20 74 69 6d 65 20 63 6f 6d 70 6c 65 78 69 74 79 20 69 73 20 40 76 61 72 ve)..The.time.complexity.is.@var
937c0 7b 6f 7d 28 6e 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 72 6f 74 61 74 {o}(n)...@example.@group.(-rotat
937e0 65 20 33 20 27 28 31 20 32 20 33 20 34 20 35 20 36 20 37 29 29 0a 20 20 20 20 40 72 65 73 75 6c e.3.'(1.2.3.4.5.6.7)).....@resul
93800 74 7b 7d 20 28 35 20 36 20 37 20 31 20 32 20 33 20 34 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 t{}.(5.6.7.1.2.3.4).@end.group.@
93820 67 72 6f 75 70 0a 28 2d 72 6f 74 61 74 65 20 2d 33 20 27 28 31 20 32 20 33 20 34 20 35 20 36 20 group.(-rotate.-3.'(1.2.3.4.5.6.
93840 37 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 34 20 35 20 36 20 37 20 31 20 32 20 33 7)).....@result{}.(4.5.6.7.1.2.3
93860 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 72 6f 74 61 74 65 20 31 36 20 ).@end.group.@group.(-rotate.16.
93880 27 28 31 20 32 20 33 20 34 20 35 20 36 20 37 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 '(1.2.3.4.5.6.7)).....@result{}.
938a0 28 36 20 37 20 31 20 32 20 33 20 34 20 35 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 (6.7.1.2.3.4.5).@end.group.@end.
938c0 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 72 65 70 example.@end.defun..@anchor{-rep
938e0 65 61 74 7d 0a 40 64 65 66 75 6e 20 2d 72 65 70 65 61 74 20 28 6e 20 78 29 0a 52 65 74 75 72 6e eat}.@defun.-repeat.(n.x).Return
93900 20 61 20 6e 65 77 20 6c 69 73 74 20 6f 66 20 6c 65 6e 67 74 68 20 40 76 61 72 7b 6e 7d 20 77 69 .a.new.list.of.length.@var{n}.wi
93920 74 68 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 62 65 69 6e 67 20 40 76 61 72 7b 78 7d 2e 0a 52 th.each.element.being.@var{x}..R
93940 65 74 75 72 6e 20 6e 69 6c 20 69 66 20 40 76 61 72 7b 6e 7d 20 69 73 20 6c 65 73 73 20 74 68 61 eturn.nil.if.@var{n}.is.less.tha
93960 6e 20 31 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 72 65 70 65 61 74 20 33 n.1...@example.@group.(-repeat.3
93980 20 3a 61 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 3a 61 20 3a 61 20 3a 61 29 0a 40 65 .:a).....@result{}.(:a.:a.:a).@e
939a0 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 72 65 70 65 61 74 20 31 20 3a 61 29 0a 20 nd.group.@group.(-repeat.1.:a)..
939c0 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 3a 61 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 ...@result{}.(:a).@end.group.@gr
939e0 6f 75 70 0a 28 2d 72 65 70 65 61 74 20 30 20 3a 61 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d oup.(-repeat.0.:a).....@result{}
93a00 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e .nil.@end.group.@end.example.@en
93a20 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 63 6f 6e 73 2a 7d 0a 40 64 65 66 75 6e 20 d.defun..@anchor{-cons*}.@defun.
93a40 2d 63 6f 6e 73 2a 20 28 26 72 65 73 74 20 61 72 67 73 29 0a 4d 61 6b 65 20 61 20 6e 65 77 20 6c -cons*.(&rest.args).Make.a.new.l
93a60 69 73 74 20 66 72 6f 6d 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 40 76 61 72 7b 61 72 ist.from.the.elements.of.@var{ar
93a80 67 73 7d 2e 0a 54 68 65 20 6c 61 73 74 20 32 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 40 76 61 72 gs}..The.last.2.elements.of.@var
93aa0 7b 61 72 67 73 7d 20 61 72 65 20 75 73 65 64 20 61 73 20 74 68 65 20 66 69 6e 61 6c 20 63 6f 6e {args}.are.used.as.the.final.con
93ac0 73 20 6f 66 20 74 68 65 0a 72 65 73 75 6c 74 2c 20 73 6f 20 69 66 20 74 68 65 20 66 69 6e 61 6c s.of.the.result,.so.if.the.final
93ae0 20 65 6c 65 6d 65 6e 74 20 6f 66 20 40 76 61 72 7b 61 72 67 73 7d 20 69 73 20 6e 6f 74 20 61 20 .element.of.@var{args}.is.not.a.
93b00 6c 69 73 74 2c 20 74 68 65 20 72 65 73 75 6c 74 0a 69 73 20 61 20 64 6f 74 74 65 64 20 6c 69 73 list,.the.result.is.a.dotted.lis
93b20 74 2e 20 20 57 69 74 68 20 6e 6f 20 40 76 61 72 7b 61 72 67 73 7d 2c 20 72 65 74 75 72 6e 20 6e t...With.no.@var{args},.return.n
93b40 69 6c 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 63 6f 6e 73 2a 20 31 20 32 il...@example.@group.(-cons*.1.2
93b60 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 2e 20 32 29 0a 40 65 6e 64 20 67 72 6f ).....@result{}.(1...2).@end.gro
93b80 75 70 0a 40 67 72 6f 75 70 0a 28 2d 63 6f 6e 73 2a 20 31 20 32 20 33 29 0a 20 20 20 20 40 72 65 up.@group.(-cons*.1.2.3).....@re
93ba0 73 75 6c 74 7b 7d 20 28 31 20 32 20 2e 20 33 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f sult{}.(1.2...3).@end.group.@gro
93bc0 75 70 0a 28 2d 63 6f 6e 73 2a 20 31 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 31 0a 40 65 up.(-cons*.1).....@result{}.1.@e
93be0 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e nd.group.@end.example.@end.defun
93c00 0a 0a 40 61 6e 63 68 6f 72 7b 2d 73 6e 6f 63 7d 0a 40 64 65 66 75 6e 20 2d 73 6e 6f 63 20 28 6c ..@anchor{-snoc}.@defun.-snoc.(l
93c20 69 73 74 20 65 6c 65 6d 20 26 72 65 73 74 20 65 6c 65 6d 65 6e 74 73 29 0a 41 70 70 65 6e 64 20 ist.elem.&rest.elements).Append.
93c40 40 76 61 72 7b 65 6c 65 6d 7d 20 74 6f 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 6c 69 73 @var{elem}.to.the.end.of.the.lis
93c60 74 2e 0a 0a 54 68 69 73 20 69 73 20 6c 69 6b 65 20 40 63 6f 64 65 7b 63 6f 6e 73 7d 2c 20 62 75 t...This.is.like.@code{cons},.bu
93c80 74 20 6f 70 65 72 61 74 65 73 20 6f 6e 20 74 68 65 20 65 6e 64 20 6f 66 20 6c 69 73 74 2e 0a 0a t.operates.on.the.end.of.list...
93ca0 49 66 20 40 76 61 72 7b 65 6c 65 6d 65 6e 74 73 7d 20 69 73 20 6e 6f 6e 20 6e 69 6c 2c 20 61 70 If.@var{elements}.is.non.nil,.ap
93cc0 70 65 6e 64 20 74 68 65 73 65 20 74 6f 20 74 68 65 20 6c 69 73 74 20 61 73 20 77 65 6c 6c 2e 0a pend.these.to.the.list.as.well..
93ce0 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 73 6e 6f 63 20 27 28 31 20 32 20 33 29 .@example.@group.(-snoc.'(1.2.3)
93d00 20 34 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 20 34 29 0a 40 65 6e 64 .4).....@result{}.(1.2.3.4).@end
93d20 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 73 6e 6f 63 20 27 28 31 20 32 20 33 29 20 34 20 .group.@group.(-snoc.'(1.2.3).4.
93d40 35 20 36 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 20 34 20 35 20 36 29 5.6).....@result{}.(1.2.3.4.5.6)
93d60 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 73 6e 6f 63 20 27 28 31 20 32 20 .@end.group.@group.(-snoc.'(1.2.
93d80 33 29 20 27 28 34 20 35 20 36 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 3).'(4.5.6)).....@result{}.(1.2.
93da0 33 20 28 34 20 35 20 36 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 3.(4.5.6)).@end.group.@end.examp
93dc0 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 69 6e 74 65 72 70 6f 73 le.@end.defun..@anchor{-interpos
93de0 65 7d 0a 40 64 65 66 75 6e 20 2d 69 6e 74 65 72 70 6f 73 65 20 28 73 65 70 20 6c 69 73 74 29 0a e}.@defun.-interpose.(sep.list).
93e00 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 6f 66 20 61 6c 6c 20 65 6c 65 6d 65 6e 74 Return.a.new.list.of.all.element
93e20 73 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 20 73 65 70 61 72 61 74 65 64 20 62 79 20 40 76 61 s.in.@var{list}.separated.by.@va
93e40 72 7b 73 65 70 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 69 6e 74 65 72 r{sep}...@example.@group.(-inter
93e60 70 6f 73 65 20 22 2d 22 20 28 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 29 0a 40 65 pose."-".()).....@result{}.().@e
93e80 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 69 6e 74 65 72 70 6f 73 65 20 22 2d 22 20 nd.group.@group.(-interpose."-".
93ea0 27 28 22 61 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 22 61 22 29 0a 40 65 6e 64 '("a")).....@result{}.("a").@end
93ec0 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 69 6e 74 65 72 70 6f 73 65 20 22 2d 22 20 27 28 .group.@group.(-interpose."-".'(
93ee0 22 61 22 20 22 62 22 20 22 63 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 22 61 22 "a"."b"."c")).....@result{}.("a"
93f00 20 22 2d 22 20 22 62 22 20 22 2d 22 20 22 63 22 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e ."-"."b"."-"."c").@end.group.@en
93f20 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 69 d.example.@end.defun..@anchor{-i
93f40 6e 74 65 72 6c 65 61 76 65 7d 0a 40 64 65 66 75 6e 20 2d 69 6e 74 65 72 6c 65 61 76 65 20 28 26 nterleave}.@defun.-interleave.(&
93f60 72 65 73 74 20 6c 69 73 74 73 29 0a 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 6f 66 rest.lists).Return.a.new.list.of
93f80 20 74 68 65 20 66 69 72 73 74 20 69 74 65 6d 20 69 6e 20 65 61 63 68 20 6c 69 73 74 2c 20 74 68 .the.first.item.in.each.list,.th
93fa0 65 6e 20 74 68 65 20 73 65 63 6f 6e 64 20 65 74 63 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 en.the.second.etc...@example.@gr
93fc0 6f 75 70 0a 28 2d 69 6e 74 65 72 6c 65 61 76 65 20 27 28 31 20 32 29 20 27 28 22 61 22 20 22 62 oup.(-interleave.'(1.2).'("a"."b
93fe0 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 22 61 22 20 32 20 22 62 22 29 0a ")).....@result{}.(1."a".2."b").
94000 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 69 6e 74 65 72 6c 65 61 76 65 20 27 @end.group.@group.(-interleave.'
94020 28 31 20 32 29 20 27 28 22 61 22 20 22 62 22 29 20 27 28 22 41 22 20 22 42 22 29 29 0a 20 20 20 (1.2).'("a"."b").'("A"."B"))....
94040 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 22 61 22 20 22 41 22 20 32 20 22 62 22 20 22 42 22 29 .@result{}.(1."a"."A".2."b"."B")
94060 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 69 6e 74 65 72 6c 65 61 76 65 20 .@end.group.@group.(-interleave.
94080 27 28 31 20 32 20 33 29 20 27 28 22 61 22 20 22 62 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 '(1.2.3).'("a"."b")).....@result
940a0 7b 7d 20 28 31 20 22 61 22 20 32 20 22 62 22 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 {}.(1."a".2."b").@end.group.@end
940c0 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 69 6f .example.@end.defun..@anchor{-io
940e0 74 61 7d 0a 40 64 65 66 75 6e 20 2d 69 6f 74 61 20 28 63 6f 75 6e 74 20 26 6f 70 74 69 6f 6e 61 ta}.@defun.-iota.(count.&optiona
94100 6c 20 73 74 61 72 74 20 73 74 65 70 29 0a 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 63 6f 6e 74 l.start.step).Return.a.list.cont
94120 61 69 6e 69 6e 67 20 40 76 61 72 7b 63 6f 75 6e 74 7d 20 6e 75 6d 62 65 72 73 2e 0a 53 74 61 72 aining.@var{count}.numbers..Star
94140 74 73 20 66 72 6f 6d 20 40 76 61 72 7b 73 74 61 72 74 7d 20 61 6e 64 20 61 64 64 73 20 40 76 61 ts.from.@var{start}.and.adds.@va
94160 72 7b 73 74 65 70 7d 20 65 61 63 68 20 74 69 6d 65 2e 20 20 54 68 65 20 64 65 66 61 75 6c 74 20 r{step}.each.time...The.default.
94180 40 76 61 72 7b 73 74 61 72 74 7d 20 69 73 0a 7a 65 72 6f 2c 20 74 68 65 20 64 65 66 61 75 6c 74 @var{start}.is.zero,.the.default
941a0 20 40 76 61 72 7b 73 74 65 70 7d 20 69 73 20 31 2e 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 .@var{step}.is.1..This.function.
941c0 74 61 6b 65 73 20 69 74 73 20 6e 61 6d 65 20 66 72 6f 6d 20 74 68 65 20 63 6f 72 72 65 73 70 6f takes.its.name.from.the.correspo
941e0 6e 64 69 6e 67 20 70 72 69 6d 69 74 69 76 65 20 69 6e 0a 74 68 65 20 40 76 61 72 7b 61 70 6c 7d nding.primitive.in.the.@var{apl}
94200 20 6c 61 6e 67 75 61 67 65 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 69 6f .language...@example.@group.(-io
94220 74 61 20 36 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 30 20 31 20 32 20 33 20 34 20 35 ta.6).....@result{}.(0.1.2.3.4.5
94240 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 69 6f 74 61 20 34 20 32 2e 35 ).@end.group.@group.(-iota.4.2.5
94260 20 2d 32 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 32 2e 35 20 30 2e 35 20 2d 31 2e 35 .-2).....@result{}.(2.5.0.5.-1.5
94280 20 2d 33 2e 35 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 69 6f 74 61 20 .-3.5).@end.group.@group.(-iota.
942a0 2d 31 29 0a 20 20 20 20 40 65 72 72 6f 72 7b 7d 20 57 72 6f 6e 67 20 74 79 70 65 20 61 72 67 75 -1).....@error{}.Wrong.type.argu
942c0 6d 65 6e 74 3a 20 6e 61 74 6e 75 6d 70 2c 20 2d 31 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e ment:.natnump,.-1.@end.group.@en
942e0 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 7a d.example.@end.defun..@anchor{-z
94300 69 70 2d 77 69 74 68 7d 0a 40 64 65 66 75 6e 20 2d 7a 69 70 2d 77 69 74 68 20 28 66 6e 20 6c 69 ip-with}.@defun.-zip-with.(fn.li
94320 73 74 31 20 6c 69 73 74 32 29 0a 5a 69 70 20 74 68 65 20 74 77 6f 20 6c 69 73 74 73 20 40 76 61 st1.list2).Zip.the.two.lists.@va
94340 72 7b 6c 69 73 74 31 7d 20 61 6e 64 20 40 76 61 72 7b 6c 69 73 74 32 7d 20 75 73 69 6e 67 20 61 r{list1}.and.@var{list2}.using.a
94360 20 66 75 6e 63 74 69 6f 6e 20 40 76 61 72 7b 66 6e 7d 2e 20 20 54 68 69 73 0a 66 75 6e 63 74 69 .function.@var{fn}...This.functi
94380 6f 6e 20 69 73 20 61 70 70 6c 69 65 64 20 70 61 69 72 77 69 73 65 20 74 61 6b 69 6e 67 20 61 73 on.is.applied.pairwise.taking.as
943a0 20 66 69 72 73 74 20 61 72 67 75 6d 65 6e 74 20 65 6c 65 6d 65 6e 74 20 6f 66 0a 40 76 61 72 7b .first.argument.element.of.@var{
943c0 6c 69 73 74 31 7d 20 61 6e 64 20 61 73 20 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e 74 20 65 6c list1}.and.as.second.argument.el
943e0 65 6d 65 6e 74 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 32 7d 20 61 74 20 63 6f 72 72 65 73 70 6f ement.of.@var{list2}.at.correspo
94400 6e 64 69 6e 67 0a 70 6f 73 69 74 69 6f 6e 2e 0a 0a 54 68 65 20 61 6e 61 70 68 6f 72 69 63 20 66 nding.position...The.anaphoric.f
94420 6f 72 6d 20 40 63 6f 64 65 7b 2d 2d 7a 69 70 2d 77 69 74 68 7d 20 62 69 6e 64 73 20 74 68 65 20 orm.@code{--zip-with}.binds.the.
94440 65 6c 65 6d 65 6e 74 73 20 66 72 6f 6d 20 40 76 61 72 7b 6c 69 73 74 31 7d 20 61 73 20 73 79 6d elements.from.@var{list1}.as.sym
94460 62 6f 6c 20 40 63 6f 64 65 7b 69 74 7d 2c 0a 61 6e 64 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 bol.@code{it},.and.the.elements.
94480 66 72 6f 6d 20 40 76 61 72 7b 6c 69 73 74 32 7d 20 61 73 20 73 79 6d 62 6f 6c 20 40 63 6f 64 65 from.@var{list2}.as.symbol.@code
944a0 7b 6f 74 68 65 72 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 7a 69 70 2d {other}...@example.@group.(-zip-
944c0 77 69 74 68 20 27 2b 20 27 28 31 20 32 20 33 29 20 27 28 34 20 35 20 36 29 29 0a 20 20 20 20 40 with.'+.'(1.2.3).'(4.5.6)).....@
944e0 72 65 73 75 6c 74 7b 7d 20 28 35 20 37 20 39 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f result{}.(5.7.9).@end.group.@gro
94500 75 70 0a 28 2d 7a 69 70 2d 77 69 74 68 20 27 63 6f 6e 73 20 27 28 31 20 32 20 33 29 20 27 28 34 up.(-zip-with.'cons.'(1.2.3).'(4
94520 20 35 20 36 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 2e 20 34 29 20 28 32 .5.6)).....@result{}.((1...4).(2
94540 20 2e 20 35 29 20 28 33 20 2e 20 36 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 ...5).(3...6)).@end.group.@group
94560 0a 28 2d 2d 7a 69 70 2d 77 69 74 68 20 28 63 6f 6e 63 61 74 20 69 74 20 22 20 61 6e 64 20 22 20 .(--zip-with.(concat.it.".and.".
94580 6f 74 68 65 72 29 20 27 28 22 42 61 74 6d 61 6e 22 20 22 4a 65 6b 79 6c 6c 22 29 20 27 28 22 52 other).'("Batman"."Jekyll").'("R
945a0 6f 62 69 6e 22 20 22 48 79 64 65 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 22 42 obin"."Hyde")).....@result{}.("B
945c0 61 74 6d 61 6e 20 61 6e 64 20 52 6f 62 69 6e 22 20 22 4a 65 6b 79 6c 6c 20 61 6e 64 20 48 79 64 atman.and.Robin"."Jekyll.and.Hyd
945e0 65 22 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 e").@end.group.@end.example.@end
94600 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 7a 69 70 7d 0a 40 64 65 66 75 6e 20 2d 7a 69 .defun..@anchor{-zip}.@defun.-zi
94620 70 20 28 26 72 65 73 74 20 6c 69 73 74 73 29 0a 5a 69 70 20 40 76 61 72 7b 6c 69 73 74 73 7d 20 p.(&rest.lists).Zip.@var{lists}.
94640 74 6f 67 65 74 68 65 72 2e 20 20 47 72 6f 75 70 20 74 68 65 20 68 65 61 64 20 6f 66 20 65 61 63 together...Group.the.head.of.eac
94660 68 20 6c 69 73 74 2c 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 74 68 65 0a 73 65 63 6f 6e 64 20 65 h.list,.followed.by.the.second.e
94680 6c 65 6d 65 6e 74 73 20 6f 66 20 65 61 63 68 20 6c 69 73 74 2c 20 61 6e 64 20 73 6f 20 6f 6e 2e lements.of.each.list,.and.so.on.
946a0 20 54 68 65 20 6c 65 6e 67 74 68 73 20 6f 66 20 74 68 65 20 72 65 74 75 72 6e 65 64 0a 67 72 6f .The.lengths.of.the.returned.gro
946c0 75 70 69 6e 67 73 20 61 72 65 20 65 71 75 61 6c 20 74 6f 20 74 68 65 20 6c 65 6e 67 74 68 20 6f upings.are.equal.to.the.length.o
946e0 66 20 74 68 65 20 73 68 6f 72 74 65 73 74 20 69 6e 70 75 74 20 6c 69 73 74 2e 0a 0a 49 66 20 74 f.the.shortest.input.list...If.t
94700 77 6f 20 6c 69 73 74 73 20 61 72 65 20 70 72 6f 76 69 64 65 64 20 61 73 20 61 72 67 75 6d 65 6e wo.lists.are.provided.as.argumen
94720 74 73 2c 20 72 65 74 75 72 6e 20 74 68 65 20 67 72 6f 75 70 69 6e 67 73 20 61 73 20 61 20 6c 69 ts,.return.the.groupings.as.a.li
94740 73 74 0a 6f 66 20 63 6f 6e 73 20 63 65 6c 6c 73 2e 20 4f 74 68 65 72 77 69 73 65 2c 20 72 65 74 st.of.cons.cells..Otherwise,.ret
94760 75 72 6e 20 74 68 65 20 67 72 6f 75 70 69 6e 67 73 20 61 73 20 61 20 6c 69 73 74 20 6f 66 20 6c urn.the.groupings.as.a.list.of.l
94780 69 73 74 73 2e 0a 0a 55 73 65 20 40 63 6f 64 65 7b 2d 7a 69 70 2d 6c 69 73 74 73 7d 20 28 40 70 ists...Use.@code{-zip-lists}.(@p
947a0 78 72 65 66 7b 2d 7a 69 70 2d 6c 69 73 74 73 7d 29 20 69 66 20 79 6f 75 20 6e 65 65 64 20 74 68 xref{-zip-lists}).if.you.need.th
947c0 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 74 6f 20 61 6c 77 61 79 73 20 62 65 20 61 20 6c 69 e.return.value.to.always.be.a.li
947e0 73 74 0a 6f 66 20 6c 69 73 74 73 2e 0a 0a 41 6c 69 61 73 3a 20 40 63 6f 64 65 7b 2d 7a 69 70 2d st.of.lists...Alias:.@code{-zip-
94800 70 61 69 72 7d 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 7a 69 70 2d 6c 69 73 74 pair}..See.also:.@code{-zip-list
94820 73 7d 20 28 40 70 78 72 65 66 7b 2d 7a 69 70 2d 6c 69 73 74 73 7d 29 0a 0a 40 65 78 61 6d 70 6c s}.(@pxref{-zip-lists})..@exampl
94840 65 0a 40 67 72 6f 75 70 0a 28 2d 7a 69 70 20 27 28 31 20 32 20 33 29 20 27 28 34 20 35 20 36 29 e.@group.(-zip.'(1.2.3).'(4.5.6)
94860 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 2e 20 34 29 20 28 32 20 2e 20 35 29 ).....@result{}.((1...4).(2...5)
94880 20 28 33 20 2e 20 36 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 7a 69 .(3...6)).@end.group.@group.(-zi
948a0 70 20 27 28 31 20 32 20 33 29 20 27 28 34 20 35 20 36 20 37 29 29 0a 20 20 20 20 40 72 65 73 75 p.'(1.2.3).'(4.5.6.7)).....@resu
948c0 6c 74 7b 7d 20 28 28 31 20 2e 20 34 29 20 28 32 20 2e 20 35 29 20 28 33 20 2e 20 36 29 29 0a 40 lt{}.((1...4).(2...5).(3...6)).@
948e0 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 7a 69 70 20 27 28 31 20 32 29 20 27 28 end.group.@group.(-zip.'(1.2).'(
94900 33 20 34 20 35 29 20 27 28 36 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 33 3.4.5).'(6)).....@result{}.((1.3
94920 20 36 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e .6)).@end.group.@end.example.@en
94940 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 7a 69 70 2d 6c 69 73 74 73 7d 0a 40 64 65 d.defun..@anchor{-zip-lists}.@de
94960 66 75 6e 20 2d 7a 69 70 2d 6c 69 73 74 73 20 28 26 72 65 73 74 20 6c 69 73 74 73 29 0a 5a 69 70 fun.-zip-lists.(&rest.lists).Zip
94980 20 40 76 61 72 7b 6c 69 73 74 73 7d 20 74 6f 67 65 74 68 65 72 2e 20 20 47 72 6f 75 70 20 74 68 .@var{lists}.together...Group.th
949a0 65 20 68 65 61 64 20 6f 66 20 65 61 63 68 20 6c 69 73 74 2c 20 66 6f 6c 6c 6f 77 65 64 20 62 79 e.head.of.each.list,.followed.by
949c0 20 74 68 65 0a 73 65 63 6f 6e 64 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 65 61 63 68 20 6c 69 73 .the.second.elements.of.each.lis
949e0 74 2c 20 61 6e 64 20 73 6f 20 6f 6e 2e 20 54 68 65 20 6c 65 6e 67 74 68 73 20 6f 66 20 74 68 65 t,.and.so.on..The.lengths.of.the
94a00 20 72 65 74 75 72 6e 65 64 0a 67 72 6f 75 70 69 6e 67 73 20 61 72 65 20 65 71 75 61 6c 20 74 6f .returned.groupings.are.equal.to
94a20 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 73 68 6f 72 74 65 73 74 20 69 6e 70 75 .the.length.of.the.shortest.inpu
94a40 74 20 6c 69 73 74 2e 0a 0a 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 61 6c 77 t.list...The.return.value.is.alw
94a60 61 79 73 20 6c 69 73 74 20 6f 66 20 6c 69 73 74 73 2c 20 77 68 69 63 68 20 69 73 20 61 20 64 69 ays.list.of.lists,.which.is.a.di
94a80 66 66 65 72 65 6e 63 65 0a 66 72 6f 6d 20 40 63 6f 64 65 7b 2d 7a 69 70 2d 70 61 69 72 7d 20 77 fference.from.@code{-zip-pair}.w
94aa0 68 69 63 68 20 72 65 74 75 72 6e 73 20 61 20 63 6f 6e 73 2d 63 65 6c 6c 20 69 6e 20 63 61 73 65 hich.returns.a.cons-cell.in.case
94ac0 20 74 77 6f 20 69 6e 70 75 74 0a 6c 69 73 74 73 20 61 72 65 20 70 72 6f 76 69 64 65 64 2e 0a 0a .two.input.lists.are.provided...
94ae0 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 7a 69 70 7d 20 28 40 70 78 72 65 66 7b 2d 7a See.also:.@code{-zip}.(@pxref{-z
94b00 69 70 7d 29 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 7a 69 70 2d 6c 69 73 74 ip})..@example.@group.(-zip-list
94b20 73 20 27 28 31 20 32 20 33 29 20 27 28 34 20 35 20 36 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 s.'(1.2.3).'(4.5.6)).....@result
94b40 7b 7d 20 28 28 31 20 34 29 20 28 32 20 35 29 20 28 33 20 36 29 29 0a 40 65 6e 64 20 67 72 6f 75 {}.((1.4).(2.5).(3.6)).@end.grou
94b60 70 0a 40 67 72 6f 75 70 0a 28 2d 7a 69 70 2d 6c 69 73 74 73 20 27 28 31 20 32 20 33 29 20 27 28 p.@group.(-zip-lists.'(1.2.3).'(
94b80 34 20 35 20 36 20 37 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 34 29 20 28 4.5.6.7)).....@result{}.((1.4).(
94ba0 32 20 35 29 20 28 33 20 36 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2.5).(3.6)).@end.group.@group.(-
94bc0 7a 69 70 2d 6c 69 73 74 73 20 27 28 31 20 32 29 20 27 28 33 20 34 20 35 29 20 27 28 36 29 29 0a zip-lists.'(1.2).'(3.4.5).'(6)).
94be0 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 33 20 36 29 29 0a 40 65 6e 64 20 67 72 6f ....@result{}.((1.3.6)).@end.gro
94c00 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 up.@end.example.@end.defun..@anc
94c20 68 6f 72 7b 2d 7a 69 70 2d 66 69 6c 6c 7d 0a 40 64 65 66 75 6e 20 2d 7a 69 70 2d 66 69 6c 6c 20 hor{-zip-fill}.@defun.-zip-fill.
94c40 28 66 69 6c 6c 2d 76 61 6c 75 65 20 26 72 65 73 74 20 6c 69 73 74 73 29 0a 5a 69 70 20 40 76 61 (fill-value.&rest.lists).Zip.@va
94c60 72 7b 6c 69 73 74 73 7d 2c 20 77 69 74 68 20 40 76 61 72 7b 66 69 6c 6c 2d 76 61 6c 75 65 7d 20 r{lists},.with.@var{fill-value}.
94c80 70 61 64 64 65 64 20 6f 6e 74 6f 20 74 68 65 20 73 68 6f 72 74 65 72 20 6c 69 73 74 73 2e 20 54 padded.onto.the.shorter.lists..T
94ca0 68 65 0a 6c 65 6e 67 74 68 73 20 6f 66 20 74 68 65 20 72 65 74 75 72 6e 65 64 20 67 72 6f 75 70 he.lengths.of.the.returned.group
94cc0 69 6e 67 73 20 61 72 65 20 65 71 75 61 6c 20 74 6f 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 ings.are.equal.to.the.length.of.
94ce0 74 68 65 0a 6c 6f 6e 67 65 73 74 20 69 6e 70 75 74 20 6c 69 73 74 2e 0a 0a 40 65 78 61 6d 70 6c the.longest.input.list...@exampl
94d00 65 0a 40 67 72 6f 75 70 0a 28 2d 7a 69 70 2d 66 69 6c 6c 20 30 20 27 28 31 20 32 20 33 20 34 20 e.@group.(-zip-fill.0.'(1.2.3.4.
94d20 35 29 20 27 28 36 20 37 20 38 20 39 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 5).'(6.7.8.9)).....@result{}.((1
94d40 20 2e 20 36 29 20 28 32 20 2e 20 37 29 20 28 33 20 2e 20 38 29 20 28 34 20 2e 20 39 29 20 28 35 ...6).(2...7).(3...8).(4...9).(5
94d60 20 2e 20 30 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 ...0)).@end.group.@end.example.@
94d80 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 75 6e 7a 69 70 7d 0a 40 64 65 66 75 end.defun..@anchor{-unzip}.@defu
94da0 6e 20 2d 75 6e 7a 69 70 20 28 6c 69 73 74 73 29 0a 55 6e 7a 69 70 20 40 76 61 72 7b 6c 69 73 74 n.-unzip.(lists).Unzip.@var{list
94dc0 73 7d 2e 0a 0a 54 68 69 73 20 77 6f 72 6b 73 20 6a 75 73 74 20 6c 69 6b 65 20 40 63 6f 64 65 7b s}...This.works.just.like.@code{
94de0 2d 7a 69 70 7d 20 28 40 70 78 72 65 66 7b 2d 7a 69 70 7d 29 20 62 75 74 20 74 61 6b 65 73 20 61 -zip}.(@pxref{-zip}).but.takes.a
94e00 20 6c 69 73 74 20 6f 66 20 6c 69 73 74 73 20 69 6e 73 74 65 61 64 20 6f 66 0a 61 20 76 61 72 69 .list.of.lists.instead.of.a.vari
94e20 61 62 6c 65 20 6e 75 6d 62 65 72 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 2c 20 73 75 63 68 20 74 able.number.of.arguments,.such.t
94e40 68 61 74 0a 0a 20 20 28 2d 75 6e 7a 69 70 20 28 2d 7a 69 70 20 40 76 61 72 7b 6c 31 7d 20 40 76 hat....(-unzip.(-zip.@var{l1}.@v
94e60 61 72 7b 6c 32 7d 20 40 76 61 72 7b 6c 33 7d 20 40 64 6f 74 73 7b 7d 29 29 0a 0a 69 73 20 69 64 ar{l2}.@var{l3}.@dots{}))..is.id
94e80 65 6e 74 69 74 79 20 28 67 69 76 65 6e 20 74 68 61 74 20 74 68 65 20 6c 69 73 74 73 20 61 72 65 entity.(given.that.the.lists.are
94ea0 20 74 68 65 20 73 61 6d 65 20 6c 65 6e 67 74 68 29 2e 0a 0a 4e 6f 74 65 20 69 6e 20 70 61 72 74 .the.same.length)...Note.in.part
94ec0 69 63 75 6c 61 72 20 74 68 61 74 20 63 61 6c 6c 69 6e 67 20 74 68 69 73 20 6f 6e 20 61 20 6c 69 icular.that.calling.this.on.a.li
94ee0 73 74 20 6f 66 20 74 77 6f 20 6c 69 73 74 73 20 77 69 6c 6c 0a 72 65 74 75 72 6e 20 61 20 6c 69 st.of.two.lists.will.return.a.li
94f00 73 74 20 6f 66 20 63 6f 6e 73 2d 63 65 6c 6c 73 20 73 75 63 68 20 74 68 61 74 20 74 68 65 20 61 st.of.cons-cells.such.that.the.a
94f20 62 6f 76 65 20 69 64 65 6e 74 69 74 79 20 77 6f 72 6b 73 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 bove.identity.works...See.also:.
94f40 40 63 6f 64 65 7b 2d 7a 69 70 7d 20 28 40 70 78 72 65 66 7b 2d 7a 69 70 7d 29 0a 0a 40 65 78 61 @code{-zip}.(@pxref{-zip})..@exa
94f60 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 75 6e 7a 69 70 20 28 2d 7a 69 70 20 27 28 31 20 32 20 mple.@group.(-unzip.(-zip.'(1.2.
94f80 33 29 20 27 28 61 20 62 20 63 29 20 27 28 22 65 22 20 22 66 22 20 22 67 22 29 29 29 0a 20 20 20 3).'(a.b.c).'("e"."f"."g")))....
94fa0 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 32 20 33 29 20 28 61 20 62 20 63 29 20 28 22 65 22 .@result{}.((1.2.3).(a.b.c).("e"
94fc0 20 22 66 22 20 22 67 22 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 75 ."f"."g")).@end.group.@group.(-u
94fe0 6e 7a 69 70 20 27 28 28 31 20 32 29 20 28 33 20 34 29 20 28 35 20 36 29 20 28 37 20 38 29 20 28 nzip.'((1.2).(3.4).(5.6).(7.8).(
95000 39 20 31 30 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 33 20 35 20 37 20 9.10))).....@result{}.((1.3.5.7.
95020 39 29 20 28 32 20 34 20 36 20 38 20 31 30 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 9).(2.4.6.8.10)).@end.group.@gro
95040 75 70 0a 28 2d 75 6e 7a 69 70 20 27 28 28 31 20 32 29 20 28 33 20 34 29 29 29 0a 20 20 20 20 40 up.(-unzip.'((1.2).(3.4))).....@
95060 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 2e 20 33 29 20 28 32 20 2e 20 34 29 29 0a 40 65 6e 64 20 result{}.((1...3).(2...4)).@end.
95080 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 group.@end.example.@end.defun..@
950a0 61 6e 63 68 6f 72 7b 2d 63 79 63 6c 65 7d 0a 40 64 65 66 75 6e 20 2d 63 79 63 6c 65 20 28 6c 69 anchor{-cycle}.@defun.-cycle.(li
950c0 73 74 29 0a 52 65 74 75 72 6e 20 61 6e 20 69 6e 66 69 6e 69 74 65 20 63 69 72 63 75 6c 61 72 20 st).Return.an.infinite.circular.
950e0 63 6f 70 79 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 54 68 65 20 72 65 74 75 72 6e 65 64 copy.of.@var{list}..The.returned
95100 20 6c 69 73 74 20 63 79 63 6c 65 73 20 74 68 72 6f 75 67 68 20 74 68 65 20 65 6c 65 6d 65 6e 74 .list.cycles.through.the.element
95120 73 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 61 6e 64 20 72 65 70 65 61 74 73 0a 66 72 6f 6d s.of.@var{list}.and.repeats.from
95140 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 .the.beginning...@example.@group
95160 0a 28 2d 74 61 6b 65 20 35 20 28 2d 63 79 63 6c 65 20 27 28 31 20 32 20 33 29 29 29 0a 20 20 20 .(-take.5.(-cycle.'(1.2.3)))....
95180 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 20 31 20 32 29 0a 40 65 6e 64 20 67 72 6f 75 .@result{}.(1.2.3.1.2).@end.grou
951a0 70 0a 40 67 72 6f 75 70 0a 28 2d 74 61 6b 65 20 37 20 28 2d 63 79 63 6c 65 20 27 28 31 20 22 61 p.@group.(-take.7.(-cycle.'(1."a
951c0 6e 64 22 20 33 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 22 61 6e 64 22 20 nd".3))).....@result{}.(1."and".
951e0 33 20 31 20 22 61 6e 64 22 20 33 20 31 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 3.1."and".3.1).@end.group.@group
95200 0a 28 2d 7a 69 70 20 28 2d 63 79 63 6c 65 20 27 28 31 20 32 20 33 29 29 20 27 28 31 20 32 29 29 .(-zip.(-cycle.'(1.2.3)).'(1.2))
95220 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 2e 20 31 29 20 28 32 20 2e 20 32 29 29 .....@result{}.((1...1).(2...2))
95240 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 .@end.group.@end.example.@end.de
95260 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 70 61 64 7d 0a 40 64 65 66 75 6e 20 2d 70 61 64 20 28 fun..@anchor{-pad}.@defun.-pad.(
95280 66 69 6c 6c 2d 76 61 6c 75 65 20 26 72 65 73 74 20 6c 69 73 74 73 29 0a 41 70 70 65 6e 64 73 20 fill-value.&rest.lists).Appends.
952a0 40 76 61 72 7b 66 69 6c 6c 2d 76 61 6c 75 65 7d 20 74 6f 20 74 68 65 20 65 6e 64 20 6f 66 20 65 @var{fill-value}.to.the.end.of.e
952c0 61 63 68 20 6c 69 73 74 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 73 7d 20 73 75 63 68 20 74 68 61 ach.list.in.@var{lists}.such.tha
952e0 74 20 74 68 65 79 0a 77 69 6c 6c 20 61 6c 6c 20 68 61 76 65 20 74 68 65 20 73 61 6d 65 20 6c 65 t.they.will.all.have.the.same.le
95300 6e 67 74 68 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 70 61 64 20 30 20 28 ngth...@example.@group.(-pad.0.(
95320 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 6e 69 6c 29 0a 40 65 6e 64 20 67 72 6f 75 )).....@result{}.(nil).@end.grou
95340 70 0a 40 67 72 6f 75 70 0a 28 2d 70 61 64 20 30 20 27 28 31 29 29 0a 20 20 20 20 40 72 65 73 75 p.@group.(-pad.0.'(1)).....@resu
95360 6c 74 7b 7d 20 28 28 31 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 70 lt{}.((1)).@end.group.@group.(-p
95380 61 64 20 30 20 27 28 31 20 32 20 33 29 20 27 28 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c ad.0.'(1.2.3).'(4.5)).....@resul
953a0 74 7b 7d 20 28 28 31 20 32 20 33 29 20 28 34 20 35 20 30 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 t{}.((1.2.3).(4.5.0)).@end.group
953c0 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f .@end.example.@end.defun..@ancho
953e0 72 7b 2d 74 61 62 6c 65 7d 0a 40 64 65 66 75 6e 20 2d 74 61 62 6c 65 20 28 66 6e 20 26 72 65 73 r{-table}.@defun.-table.(fn.&res
95400 74 20 6c 69 73 74 73 29 0a 43 6f 6d 70 75 74 65 20 6f 75 74 65 72 20 70 72 6f 64 75 63 74 20 6f t.lists).Compute.outer.product.o
95420 66 20 40 76 61 72 7b 6c 69 73 74 73 7d 20 75 73 69 6e 67 20 66 75 6e 63 74 69 6f 6e 20 40 76 61 f.@var{lists}.using.function.@va
95440 72 7b 66 6e 7d 2e 0a 0a 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 40 76 61 72 7b 66 6e 7d 20 73 68 r{fn}...The.function.@var{fn}.sh
95460 6f 75 6c 64 20 68 61 76 65 20 74 68 65 20 73 61 6d 65 20 61 72 69 74 79 20 61 73 20 74 68 65 20 ould.have.the.same.arity.as.the.
95480 6e 75 6d 62 65 72 20 6f 66 0a 73 75 70 70 6c 69 65 64 20 6c 69 73 74 73 2e 0a 0a 54 68 65 20 6f number.of.supplied.lists...The.o
954a0 75 74 65 72 20 70 72 6f 64 75 63 74 20 69 73 20 63 6f 6d 70 75 74 65 64 20 62 79 20 61 70 70 6c uter.product.is.computed.by.appl
954c0 79 69 6e 67 20 66 6e 20 74 6f 20 61 6c 6c 20 70 6f 73 73 69 62 6c 65 0a 63 6f 6d 62 69 6e 61 74 ying.fn.to.all.possible.combinat
954e0 69 6f 6e 73 20 63 72 65 61 74 65 64 20 62 79 20 74 61 6b 69 6e 67 20 6f 6e 65 20 65 6c 65 6d 65 ions.created.by.taking.one.eleme
95500 6e 74 20 66 72 6f 6d 20 65 61 63 68 20 6c 69 73 74 20 69 6e 0a 6f 72 64 65 72 2e 20 20 54 68 65 nt.from.each.list.in.order...The
95520 20 64 69 6d 65 6e 73 69 6f 6e 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 28 6c 65 6e .dimension.of.the.result.is.(len
95540 67 74 68 20 6c 69 73 74 73 29 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 74 61 gth.lists)...See.also:.@code{-ta
95560 62 6c 65 2d 66 6c 61 74 7d 20 28 40 70 78 72 65 66 7b 2d 74 61 62 6c 65 2d 66 6c 61 74 7d 29 0a ble-flat}.(@pxref{-table-flat}).
95580 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 74 61 62 6c 65 20 27 2a 20 27 28 31 20 .@example.@group.(-table.'*.'(1.
955a0 32 20 33 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 2.3).'(1.2.3)).....@result{}.((1
955c0 20 32 20 33 29 20 28 32 20 34 20 36 29 20 28 33 20 36 20 39 29 29 0a 40 65 6e 64 20 67 72 6f 75 .2.3).(2.4.6).(3.6.9)).@end.grou
955e0 70 0a 40 67 72 6f 75 70 0a 28 2d 74 61 62 6c 65 20 28 6c 61 6d 62 64 61 20 28 61 20 62 29 20 28 p.@group.(-table.(lambda.(a.b).(
95600 2d 73 75 6d 20 28 2d 7a 69 70 2d 77 69 74 68 20 27 2a 20 61 20 62 29 29 29 20 27 28 28 31 20 32 -sum.(-zip-with.'*.a.b))).'((1.2
95620 29 20 28 33 20 34 29 29 20 27 28 28 31 20 33 29 20 28 32 20 34 29 29 29 0a 20 20 20 20 40 72 65 ).(3.4)).'((1.3).(2.4))).....@re
95640 73 75 6c 74 7b 7d 20 28 28 37 20 31 35 29 20 28 31 30 20 32 32 29 29 0a 40 65 6e 64 20 67 72 6f sult{}.((7.15).(10.22)).@end.gro
95660 75 70 0a 40 67 72 6f 75 70 0a 28 61 70 70 6c 79 20 27 2d 74 61 62 6c 65 20 27 6c 69 73 74 20 28 up.@group.(apply.'-table.'list.(
95680 2d 72 65 70 65 61 74 20 33 20 27 28 31 20 32 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d -repeat.3.'(1.2))).....@result{}
956a0 20 28 28 28 28 31 20 31 20 31 29 20 28 32 20 31 20 31 29 29 20 28 28 31 20 32 20 31 29 20 28 32 .((((1.1.1).(2.1.1)).((1.2.1).(2
956c0 20 32 20 31 29 29 29 20 28 28 28 31 20 31 20 32 29 20 28 32 20 31 20 32 29 29 20 28 28 31 20 32 .2.1))).(((1.1.2).(2.1.2)).((1.2
956e0 20 32 29 20 28 32 20 32 20 32 29 29 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 .2).(2.2.2)))).@end.group.@end.e
95700 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 74 61 62 6c xample.@end.defun..@anchor{-tabl
95720 65 2d 66 6c 61 74 7d 0a 40 64 65 66 75 6e 20 2d 74 61 62 6c 65 2d 66 6c 61 74 20 28 66 6e 20 26 e-flat}.@defun.-table-flat.(fn.&
95740 72 65 73 74 20 6c 69 73 74 73 29 0a 43 6f 6d 70 75 74 65 20 66 6c 61 74 20 6f 75 74 65 72 20 70 rest.lists).Compute.flat.outer.p
95760 72 6f 64 75 63 74 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 73 7d 20 75 73 69 6e 67 20 66 75 6e 63 roduct.of.@var{lists}.using.func
95780 74 69 6f 6e 20 40 76 61 72 7b 66 6e 7d 2e 0a 0a 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 40 76 61 tion.@var{fn}...The.function.@va
957a0 72 7b 66 6e 7d 20 73 68 6f 75 6c 64 20 68 61 76 65 20 74 68 65 20 73 61 6d 65 20 61 72 69 74 79 r{fn}.should.have.the.same.arity
957c0 20 61 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 0a 73 75 70 70 6c 69 65 64 20 6c 69 73 74 73 .as.the.number.of.supplied.lists
957e0 2e 0a 0a 54 68 65 20 6f 75 74 65 72 20 70 72 6f 64 75 63 74 20 69 73 20 63 6f 6d 70 75 74 65 64 ...The.outer.product.is.computed
95800 20 62 79 20 61 70 70 6c 79 69 6e 67 20 66 6e 20 74 6f 20 61 6c 6c 20 70 6f 73 73 69 62 6c 65 0a .by.applying.fn.to.all.possible.
95820 63 6f 6d 62 69 6e 61 74 69 6f 6e 73 20 63 72 65 61 74 65 64 20 62 79 20 74 61 6b 69 6e 67 20 6f combinations.created.by.taking.o
95840 6e 65 20 65 6c 65 6d 65 6e 74 20 66 72 6f 6d 20 65 61 63 68 20 6c 69 73 74 20 69 6e 0a 6f 72 64 ne.element.from.each.list.in.ord
95860 65 72 2e 20 20 54 68 65 20 72 65 73 75 6c 74 73 20 61 72 65 20 66 6c 61 74 74 65 6e 65 64 2c 20 er...The.results.are.flattened,.
95880 69 67 6e 6f 72 69 6e 67 20 74 68 65 20 74 65 6e 73 6f 72 20 73 74 72 75 63 74 75 72 65 0a 6f 66 ignoring.the.tensor.structure.of
958a0 20 74 68 65 20 72 65 73 75 6c 74 2e 20 20 54 68 69 73 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 .the.result...This.is.equivalent
958c0 20 74 6f 20 63 61 6c 6c 69 6e 67 3a 0a 0a 20 20 28 2d 66 6c 61 74 74 65 6e 2d 6e 20 28 31 2d 20 .to.calling:....(-flatten-n.(1-.
958e0 28 6c 65 6e 67 74 68 20 6c 69 73 74 73 29 29 20 28 61 70 70 6c 79 20 27 2d 74 61 62 6c 65 20 66 (length.lists)).(apply.'-table.f
95900 6e 20 6c 69 73 74 73 29 29 0a 0a 62 75 74 20 74 68 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f n.lists))..but.the.implementatio
95920 6e 20 68 65 72 65 20 69 73 20 6d 75 63 68 20 6d 6f 72 65 20 65 66 66 69 63 69 65 6e 74 2e 0a 0a n.here.is.much.more.efficient...
95940 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 66 6c 61 74 74 65 6e 2d 6e 7d 20 28 40 70 78 See.also:.@code{-flatten-n}.(@px
95960 72 65 66 7b 2d 66 6c 61 74 74 65 6e 2d 6e 7d 29 2c 20 40 63 6f 64 65 7b 2d 74 61 62 6c 65 7d 20 ref{-flatten-n}),.@code{-table}.
95980 28 40 70 78 72 65 66 7b 2d 74 61 62 6c 65 7d 29 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 (@pxref{-table})..@example.@grou
959a0 70 0a 28 2d 74 61 62 6c 65 2d 66 6c 61 74 20 27 6c 69 73 74 20 27 28 31 20 32 20 33 29 20 27 28 p.(-table-flat.'list.'(1.2.3).'(
959c0 61 20 62 20 63 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 61 29 20 28 32 20 a.b.c)).....@result{}.((1.a).(2.
959e0 61 29 20 28 33 20 61 29 20 28 31 20 62 29 20 28 32 20 62 29 20 28 33 20 62 29 20 28 31 20 63 29 a).(3.a).(1.b).(2.b).(3.b).(1.c)
95a00 20 28 32 20 63 29 20 28 33 20 63 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a .(2.c).(3.c)).@end.group.@group.
95a20 28 2d 74 61 62 6c 65 2d 66 6c 61 74 20 27 2a 20 27 28 31 20 32 20 33 29 20 27 28 31 20 32 20 33 (-table-flat.'*.'(1.2.3).'(1.2.3
95a40 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 20 32 20 34 20 36 20 33 20 )).....@result{}.(1.2.3.2.4.6.3.
95a60 36 20 39 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 61 70 70 6c 79 20 27 2d 6.9).@end.group.@group.(apply.'-
95a80 74 61 62 6c 65 2d 66 6c 61 74 20 27 6c 69 73 74 20 28 2d 72 65 70 65 61 74 20 33 20 27 28 31 20 table-flat.'list.(-repeat.3.'(1.
95aa0 32 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 31 20 31 29 20 28 32 20 31 2))).....@result{}.((1.1.1).(2.1
95ac0 20 31 29 20 28 31 20 32 20 31 29 20 28 32 20 32 20 31 29 20 28 31 20 31 20 32 29 20 28 32 20 31 .1).(1.2.1).(2.2.1).(1.1.2).(2.1
95ae0 20 32 29 20 28 31 20 32 20 32 29 20 28 32 20 32 20 32 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a .2).(1.2.2).(2.2.2)).@end.group.
95b00 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 @end.example.@end.defun..@anchor
95b20 7b 2d 66 69 72 73 74 7d 0a 40 64 65 66 75 6e 20 2d 66 69 72 73 74 20 28 70 72 65 64 20 6c 69 73 {-first}.@defun.-first.(pred.lis
95b40 74 29 0a 52 65 74 75 72 6e 20 74 68 65 20 66 69 72 73 74 20 69 74 65 6d 20 69 6e 20 40 76 61 72 t).Return.the.first.item.in.@var
95b60 7b 6c 69 73 74 7d 20 66 6f 72 20 77 68 69 63 68 20 40 76 61 72 7b 70 72 65 64 7d 20 72 65 74 75 {list}.for.which.@var{pred}.retu
95b80 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 52 65 74 75 72 6e 20 6e 69 6c 20 69 66 20 6e 6f 20 73 75 rns.non-nil..Return.nil.if.no.su
95ba0 63 68 20 65 6c 65 6d 65 6e 74 20 69 73 20 66 6f 75 6e 64 2e 0a 54 6f 20 67 65 74 20 74 68 65 20 ch.element.is.found..To.get.the.
95bc0 66 69 72 73 74 20 69 74 65 6d 20 69 6e 20 74 68 65 20 6c 69 73 74 20 6e 6f 20 71 75 65 73 74 69 first.item.in.the.list.no.questi
95be0 6f 6e 73 20 61 73 6b 65 64 2c 20 75 73 65 20 40 63 6f 64 65 7b 63 61 72 7d 2e 0a 0a 41 6c 69 61 ons.asked,.use.@code{car}...Alia
95c00 73 3a 20 40 63 6f 64 65 7b 2d 66 69 6e 64 7d 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 s:.@code{-find}...This.function'
95c20 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 40 63 6f 64 65 s.anaphoric.counterpart.is.@code
95c40 7b 2d 2d 66 69 72 73 74 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 66 69 {--first}...@example.@group.(-fi
95c60 72 73 74 20 23 27 6e 61 74 6e 75 6d 70 20 27 28 2d 31 20 30 20 31 29 29 0a 20 20 20 20 40 72 65 rst.#'natnump.'(-1.0.1)).....@re
95c80 73 75 6c 74 7b 7d 20 30 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 66 69 72 sult{}.0.@end.group.@group.(-fir
95ca0 73 74 20 23 27 6e 75 6c 6c 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b st.#'null.'(1.2.3)).....@result{
95cc0 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 66 69 72 73 74 }.nil.@end.group.@group.(--first
95ce0 20 28 3e 20 69 74 20 32 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b .(>.it.2).'(1.2.3)).....@result{
95d00 7d 20 33 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 }.3.@end.group.@end.example.@end
95d20 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 6c 61 73 74 7d 0a 40 64 65 66 75 6e 20 2d 6c .defun..@anchor{-last}.@defun.-l
95d40 61 73 74 20 28 70 72 65 64 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 74 68 65 20 6c 61 73 74 20 ast.(pred.list).Return.the.last.
95d60 78 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 20 77 68 65 72 65 20 28 40 76 61 72 7b 70 72 65 64 x.in.@var{list}.where.(@var{pred
95d80 7d 20 78 29 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 65 6c 73 65 20 6e 69 6c 2e 0a 0a 40 65 78 61 }.x).is.non-nil,.else.nil...@exa
95da0 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 6c 61 73 74 20 27 65 76 65 6e 3f 20 27 28 31 20 32 20 mple.@group.(-last.'even?.'(1.2.
95dc0 33 20 34 20 35 20 36 20 33 20 33 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 36 0a 3.4.5.6.3.3.3)).....@result{}.6.
95de0 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 6c 61 73 74 20 27 65 76 65 6e 3f 20 @end.group.@group.(-last.'even?.
95e00 27 28 31 20 33 20 37 20 35 20 39 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a '(1.3.7.5.9)).....@result{}.nil.
95e20 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 6c 61 73 74 20 28 3e 20 28 6c 65 @end.group.@group.(--last.(>.(le
95e40 6e 67 74 68 20 69 74 29 20 33 29 20 27 28 22 61 22 20 22 6c 6f 6f 6f 6e 67 22 20 22 77 6f 72 64 ngth.it).3).'("a"."looong"."word
95e60 22 20 22 61 6e 64 22 20 22 73 68 6f 72 74 22 20 22 6f 6e 65 22 29 29 0a 20 20 20 20 40 72 65 73 "."and"."short"."one")).....@res
95e80 75 6c 74 7b 7d 20 22 73 68 6f 72 74 22 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 ult{}."short".@end.group.@end.ex
95ea0 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 66 69 72 73 74 ample.@end.defun..@anchor{-first
95ec0 2d 69 74 65 6d 7d 0a 40 64 65 66 75 6e 20 2d 66 69 72 73 74 2d 69 74 65 6d 20 28 6c 69 73 74 29 -item}.@defun.-first-item.(list)
95ee0 0a 52 65 74 75 72 6e 20 74 68 65 20 66 69 72 73 74 20 69 74 65 6d 20 6f 66 20 40 76 61 72 7b 6c .Return.the.first.item.of.@var{l
95f00 69 73 74 7d 2c 20 6f 72 20 6e 69 6c 20 6f 6e 20 61 6e 20 65 6d 70 74 79 20 6c 69 73 74 2e 0a 0a ist},.or.nil.on.an.empty.list...
95f20 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 73 65 63 6f 6e 64 2d 69 74 65 6d 7d 20 28 40 See.also:.@code{-second-item}.(@
95f40 70 78 72 65 66 7b 2d 73 65 63 6f 6e 64 2d 69 74 65 6d 7d 29 2c 20 40 63 6f 64 65 7b 2d 6c 61 73 pxref{-second-item}),.@code{-las
95f60 74 2d 69 74 65 6d 7d 20 28 40 70 78 72 65 66 7b 2d 6c 61 73 74 2d 69 74 65 6d 7d 29 2e 0a 0a 40 t-item}.(@pxref{-last-item})...@
95f80 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 66 69 72 73 74 2d 69 74 65 6d 20 27 28 31 20 example.@group.(-first-item.'(1.
95fa0 32 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 31 0a 40 65 6e 64 20 67 72 6f 75 70 2.3)).....@result{}.1.@end.group
95fc0 0a 40 67 72 6f 75 70 0a 28 2d 66 69 72 73 74 2d 69 74 65 6d 20 6e 69 6c 29 0a 20 20 20 20 40 72 .@group.(-first-item.nil).....@r
95fe0 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 6c esult{}.nil.@end.group.@group.(l
96000 65 74 20 28 28 6c 69 73 74 20 28 6c 69 73 74 20 31 20 32 20 33 29 29 29 20 28 73 65 74 66 20 28 et.((list.(list.1.2.3))).(setf.(
96020 2d 66 69 72 73 74 2d 69 74 65 6d 20 6c 69 73 74 29 20 35 29 20 6c 69 73 74 29 0a 20 20 20 20 40 -first-item.list).5).list).....@
96040 72 65 73 75 6c 74 7b 7d 20 28 35 20 32 20 33 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 result{}.(5.2.3).@end.group.@end
96060 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 73 65 .example.@end.defun..@anchor{-se
96080 63 6f 6e 64 2d 69 74 65 6d 7d 0a 40 64 65 66 75 6e 20 2d 73 65 63 6f 6e 64 2d 69 74 65 6d 20 28 cond-item}.@defun.-second-item.(
960a0 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 74 68 65 20 73 65 63 6f 6e 64 20 69 74 65 6d 20 6f 66 20 list).Return.the.second.item.of.
960c0 40 76 61 72 7b 6c 69 73 74 7d 2c 20 6f 72 20 6e 69 6c 20 69 66 20 40 76 61 72 7b 6c 69 73 74 7d @var{list},.or.nil.if.@var{list}
960e0 20 69 73 20 74 6f 6f 20 73 68 6f 72 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b .is.too.short...See.also:.@code{
96100 2d 74 68 69 72 64 2d 69 74 65 6d 7d 20 28 40 70 78 72 65 66 7b 2d 74 68 69 72 64 2d 69 74 65 6d -third-item}.(@pxref{-third-item
96120 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 73 65 63 6f 6e 64 2d 69 74 })...@example.@group.(-second-it
96140 65 6d 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 32 0a 40 65 6e em.'(1.2.3)).....@result{}.2.@en
96160 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 73 65 63 6f 6e 64 2d 69 74 65 6d 20 6e 69 6c d.group.@group.(-second-item.nil
96180 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 ).....@result{}.nil.@end.group.@
961a0 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b end.example.@end.defun..@anchor{
961c0 2d 74 68 69 72 64 2d 69 74 65 6d 7d 0a 40 64 65 66 75 6e 20 2d 74 68 69 72 64 2d 69 74 65 6d 20 -third-item}.@defun.-third-item.
961e0 28 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 74 68 65 20 74 68 69 72 64 20 69 74 65 6d 20 6f 66 20 (list).Return.the.third.item.of.
96200 40 76 61 72 7b 6c 69 73 74 7d 2c 20 6f 72 20 6e 69 6c 20 69 66 20 40 76 61 72 7b 6c 69 73 74 7d @var{list},.or.nil.if.@var{list}
96220 20 69 73 20 74 6f 6f 20 73 68 6f 72 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b .is.too.short...See.also:.@code{
96240 2d 66 6f 75 72 74 68 2d 69 74 65 6d 7d 20 28 40 70 78 72 65 66 7b 2d 66 6f 75 72 74 68 2d 69 74 -fourth-item}.(@pxref{-fourth-it
96260 65 6d 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 74 68 69 72 64 2d 69 em})...@example.@group.(-third-i
96280 74 65 6d 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 33 0a 40 65 tem.'(1.2.3)).....@result{}.3.@e
962a0 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 74 68 69 72 64 2d 69 74 65 6d 20 6e 69 6c nd.group.@group.(-third-item.nil
962c0 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 ).....@result{}.nil.@end.group.@
962e0 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b end.example.@end.defun..@anchor{
96300 2d 66 6f 75 72 74 68 2d 69 74 65 6d 7d 0a 40 64 65 66 75 6e 20 2d 66 6f 75 72 74 68 2d 69 74 65 -fourth-item}.@defun.-fourth-ite
96320 6d 20 28 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 74 68 65 20 66 6f 75 72 74 68 20 69 74 65 6d 20 m.(list).Return.the.fourth.item.
96340 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 2c 20 6f 72 20 6e 69 6c 20 69 66 20 40 76 61 72 7b 6c 69 of.@var{list},.or.nil.if.@var{li
96360 73 74 7d 20 69 73 20 74 6f 6f 20 73 68 6f 72 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f st}.is.too.short...See.also:.@co
96380 64 65 7b 2d 66 69 66 74 68 2d 69 74 65 6d 7d 20 28 40 70 78 72 65 66 7b 2d 66 69 66 74 68 2d 69 de{-fifth-item}.(@pxref{-fifth-i
963a0 74 65 6d 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 66 6f 75 72 74 68 tem})...@example.@group.(-fourth
963c0 2d 69 74 65 6d 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 -item.'(1.2.3.4)).....@result{}.
963e0 34 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 66 6f 75 72 74 68 2d 69 74 65 4.@end.group.@group.(-fourth-ite
96400 6d 20 6e 69 6c 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 m.nil).....@result{}.nil.@end.gr
96420 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e oup.@end.example.@end.defun..@an
96440 63 68 6f 72 7b 2d 66 69 66 74 68 2d 69 74 65 6d 7d 0a 40 64 65 66 75 6e 20 2d 66 69 66 74 68 2d chor{-fifth-item}.@defun.-fifth-
96460 69 74 65 6d 20 28 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 74 68 65 20 66 69 66 74 68 20 69 74 65 item.(list).Return.the.fifth.ite
96480 6d 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 2c 20 6f 72 20 6e 69 6c 20 69 66 20 40 76 61 72 7b m.of.@var{list},.or.nil.if.@var{
964a0 6c 69 73 74 7d 20 69 73 20 74 6f 6f 20 73 68 6f 72 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 list}.is.too.short...See.also:.@
964c0 63 6f 64 65 7b 2d 6c 61 73 74 2d 69 74 65 6d 7d 20 28 40 70 78 72 65 66 7b 2d 6c 61 73 74 2d 69 code{-last-item}.(@pxref{-last-i
964e0 74 65 6d 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 66 69 66 74 68 2d tem})...@example.@group.(-fifth-
96500 69 74 65 6d 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d item.'(1.2.3.4.5)).....@result{}
96520 20 35 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 66 69 66 74 68 2d 69 74 65 .5.@end.group.@group.(-fifth-ite
96540 6d 20 6e 69 6c 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 m.nil).....@result{}.nil.@end.gr
96560 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e oup.@end.example.@end.defun..@an
96580 63 68 6f 72 7b 2d 6c 61 73 74 2d 69 74 65 6d 7d 0a 40 64 65 66 75 6e 20 2d 6c 61 73 74 2d 69 74 chor{-last-item}.@defun.-last-it
965a0 65 6d 20 28 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 74 68 65 20 6c 61 73 74 20 69 74 65 6d 20 6f em.(list).Return.the.last.item.o
965c0 66 20 40 76 61 72 7b 6c 69 73 74 7d 2c 20 6f 72 20 6e 69 6c 20 6f 6e 20 61 6e 20 65 6d 70 74 79 f.@var{list},.or.nil.on.an.empty
965e0 20 6c 69 73 74 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 6c 61 73 74 2d 69 .list...@example.@group.(-last-i
96600 74 65 6d 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 33 0a 40 65 tem.'(1.2.3)).....@result{}.3.@e
96620 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 6c 61 73 74 2d 69 74 65 6d 20 6e 69 6c 29 nd.group.@group.(-last-item.nil)
96640 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 .....@result{}.nil.@end.group.@g
96660 72 6f 75 70 0a 28 6c 65 74 20 28 28 6c 69 73 74 20 28 6c 69 73 74 20 31 20 32 20 33 29 29 29 20 roup.(let.((list.(list.1.2.3))).
96680 28 73 65 74 66 20 28 2d 6c 61 73 74 2d 69 74 65 6d 20 6c 69 73 74 29 20 35 29 20 6c 69 73 74 29 (setf.(-last-item.list).5).list)
966a0 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 35 29 0a 40 65 6e 64 20 67 72 6f 75 .....@result{}.(1.2.5).@end.grou
966c0 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 p.@end.example.@end.defun..@anch
966e0 6f 72 7b 2d 62 75 74 6c 61 73 74 7d 0a 40 64 65 66 75 6e 20 2d 62 75 74 6c 61 73 74 20 28 6c 69 or{-butlast}.@defun.-butlast.(li
96700 73 74 29 0a 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 61 6c 6c 20 69 74 65 6d 73 20 69 st).Return.a.list.of.all.items.i
96720 6e 20 6c 69 73 74 20 65 78 63 65 70 74 20 66 6f 72 20 74 68 65 20 6c 61 73 74 2e 0a 0a 40 65 78 n.list.except.for.the.last...@ex
96740 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 62 75 74 6c 61 73 74 20 27 28 31 20 32 20 33 29 29 ample.@group.(-butlast.'(1.2.3))
96760 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a .....@result{}.(1.2).@end.group.
96780 40 67 72 6f 75 70 0a 28 2d 62 75 74 6c 61 73 74 20 27 28 31 20 32 29 29 0a 20 20 20 20 40 72 65 @group.(-butlast.'(1.2)).....@re
967a0 73 75 6c 74 7b 7d 20 28 31 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 62 sult{}.(1).@end.group.@group.(-b
967c0 75 74 6c 61 73 74 20 27 28 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 utlast.'(1)).....@result{}.nil.@
967e0 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 end.group.@end.example.@end.defu
96800 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 73 6f 72 74 7d 0a 40 64 65 66 75 6e 20 2d 73 6f 72 74 20 28 n..@anchor{-sort}.@defun.-sort.(
96820 63 6f 6d 70 61 72 61 74 6f 72 20 6c 69 73 74 29 0a 53 6f 72 74 20 40 76 61 72 7b 6c 69 73 74 7d comparator.list).Sort.@var{list}
96840 2c 20 73 74 61 62 6c 79 2c 20 63 6f 6d 70 61 72 69 6e 67 20 65 6c 65 6d 65 6e 74 73 20 75 73 69 ,.stably,.comparing.elements.usi
96860 6e 67 20 40 76 61 72 7b 63 6f 6d 70 61 72 61 74 6f 72 7d 2e 0a 52 65 74 75 72 6e 20 74 68 65 20 ng.@var{comparator}..Return.the.
96880 73 6f 72 74 65 64 20 6c 69 73 74 2e 20 20 40 76 61 72 7b 6c 69 73 74 7d 20 69 73 20 40 76 61 72 sorted.list...@var{list}.is.@var
968a0 7b 6e 6f 74 7d 20 6d 6f 64 69 66 69 65 64 20 62 79 20 73 69 64 65 20 65 66 66 65 63 74 73 2e 0a {not}.modified.by.side.effects..
968c0 40 76 61 72 7b 63 6f 6d 70 61 72 61 74 6f 72 7d 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 @var{comparator}.is.called.with.
968e0 74 77 6f 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 2c 20 61 6e 64 20 two.elements.of.@var{list},.and.
96900 73 68 6f 75 6c 64 20 72 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 0a 69 66 20 74 68 65 20 66 69 72 should.return.non-nil.if.the.fir
96920 73 74 20 65 6c 65 6d 65 6e 74 20 73 68 6f 75 6c 64 20 73 6f 72 74 20 62 65 66 6f 72 65 20 74 68 st.element.should.sort.before.th
96940 65 20 73 65 63 6f 6e 64 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 73 6f 72 e.second...@example.@group.(-sor
96960 74 20 27 3c 20 27 28 33 20 31 20 32 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 t.'<.'(3.1.2)).....@result{}.(1.
96980 32 20 33 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 73 6f 72 74 20 27 3e 2.3).@end.group.@group.(-sort.'>
969a0 20 27 28 33 20 31 20 32 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 33 20 32 20 31 29 .'(3.1.2)).....@result{}.(3.2.1)
969c0 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 73 6f 72 74 20 28 3c 20 69 74 .@end.group.@group.(--sort.(<.it
969e0 20 6f 74 68 65 72 29 20 27 28 33 20 31 20 32 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 .other).'(3.1.2)).....@result{}.
96a00 28 31 20 32 20 33 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a (1.2.3).@end.group.@end.example.
96a20 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 6c 69 73 74 7d 0a 40 64 65 66 75 @end.defun..@anchor{-list}.@defu
96a40 6e 20 2d 6c 69 73 74 20 28 61 72 67 29 0a 45 6e 73 75 72 65 20 40 76 61 72 7b 61 72 67 7d 20 69 n.-list.(arg).Ensure.@var{arg}.i
96a60 73 20 61 20 6c 69 73 74 2e 0a 49 66 20 40 76 61 72 7b 61 72 67 7d 20 69 73 20 61 6c 72 65 61 64 s.a.list..If.@var{arg}.is.alread
96a80 79 20 61 20 6c 69 73 74 2c 20 72 65 74 75 72 6e 20 69 74 20 61 73 20 69 73 20 28 6e 6f 74 20 61 y.a.list,.return.it.as.is.(not.a
96aa0 20 63 6f 70 79 29 2e 0a 4f 74 68 65 72 77 69 73 65 2c 20 72 65 74 75 72 6e 20 61 20 6e 65 77 20 .copy)..Otherwise,.return.a.new.
96ac0 6c 69 73 74 20 77 69 74 68 20 40 76 61 72 7b 61 72 67 7d 20 61 73 20 69 74 73 20 6f 6e 6c 79 20 list.with.@var{arg}.as.its.only.
96ae0 65 6c 65 6d 65 6e 74 2e 0a 0a 41 6e 6f 74 68 65 72 20 73 75 70 70 6f 72 74 65 64 20 63 61 6c 6c element...Another.supported.call
96b00 69 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 69 73 20 28 2d 6c 69 73 74 20 26 72 65 73 74 20 40 ing.convention.is.(-list.&rest.@
96b20 76 61 72 7b 61 72 67 73 7d 29 2e 0a 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 69 66 20 40 76 61 var{args})..In.this.case,.if.@va
96b40 72 7b 61 72 67 7d 20 69 73 20 6e 6f 74 20 61 20 6c 69 73 74 2c 20 61 20 6e 65 77 20 6c 69 73 74 r{arg}.is.not.a.list,.a.new.list
96b60 20 77 69 74 68 20 61 6c 6c 20 6f 66 0a 40 76 61 72 7b 61 72 67 73 7d 20 61 73 20 65 6c 65 6d 65 .with.all.of.@var{args}.as.eleme
96b80 6e 74 73 20 69 73 20 72 65 74 75 72 6e 65 64 2e 20 20 54 68 69 73 20 75 73 65 20 69 73 20 73 75 nts.is.returned...This.use.is.su
96ba0 70 70 6f 72 74 65 64 20 66 6f 72 0a 62 61 63 6b 77 61 72 64 20 63 6f 6d 70 61 74 69 62 69 6c 69 pported.for.backward.compatibili
96bc0 74 79 20 61 6e 64 20 69 73 20 6f 74 68 65 72 77 69 73 65 20 64 65 70 72 65 63 61 74 65 64 2e 0a ty.and.is.otherwise.deprecated..
96be0 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 6c 69 73 74 20 31 29 0a 20 20 20 20 40 .@example.@group.(-list.1).....@
96c00 72 65 73 75 6c 74 7b 7d 20 28 31 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 result{}.(1).@end.group.@group.(
96c20 2d 6c 69 73 74 20 28 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 29 0a 40 65 6e 64 20 -list.()).....@result{}.().@end.
96c40 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 6c 69 73 74 20 27 28 31 20 32 20 33 29 29 0a 20 20 group.@group.(-list.'(1.2.3))...
96c60 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 ..@result{}.(1.2.3).@end.group.@
96c80 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b end.example.@end.defun..@anchor{
96ca0 2d 66 69 78 7d 0a 40 64 65 66 75 6e 20 2d 66 69 78 20 28 66 6e 20 6c 69 73 74 29 0a 43 6f 6d 70 -fix}.@defun.-fix.(fn.list).Comp
96cc0 75 74 65 20 74 68 65 20 28 6c 65 61 73 74 29 20 66 69 78 70 6f 69 6e 74 20 6f 66 20 40 76 61 72 ute.the.(least).fixpoint.of.@var
96ce0 7b 66 6e 7d 20 77 69 74 68 20 69 6e 69 74 69 61 6c 20 69 6e 70 75 74 20 40 76 61 72 7b 6c 69 73 {fn}.with.initial.input.@var{lis
96d00 74 7d 2e 0a 0a 40 76 61 72 7b 66 6e 7d 20 69 73 20 63 61 6c 6c 65 64 20 61 74 20 6c 65 61 73 74 t}...@var{fn}.is.called.at.least
96d20 20 6f 6e 63 65 2c 20 72 65 73 75 6c 74 73 20 61 72 65 20 63 6f 6d 70 61 72 65 64 20 77 69 74 68 .once,.results.are.compared.with
96d40 20 40 63 6f 64 65 7b 65 71 75 61 6c 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a .@code{equal}...@example.@group.
96d60 28 2d 66 69 78 20 28 6c 61 6d 62 64 61 20 28 6c 29 20 28 2d 6e 6f 6e 2d 6e 69 6c 20 28 2d 2d 6d (-fix.(lambda.(l).(-non-nil.(--m
96d80 61 70 63 61 74 20 28 2d 73 70 6c 69 74 2d 61 74 20 28 2f 20 28 6c 65 6e 67 74 68 20 69 74 29 20 apcat.(-split-at.(/.(length.it).
96da0 32 29 20 69 74 29 20 6c 29 29 29 20 27 28 28 31 20 32 20 33 29 29 29 0a 20 20 20 20 40 72 65 73 2).it).l))).'((1.2.3))).....@res
96dc0 75 6c 74 7b 7d 20 28 28 31 29 20 28 32 29 20 28 33 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 ult{}.((1).(2).(3)).@end.group.@
96de0 67 72 6f 75 70 0a 28 6c 65 74 20 28 28 6c 20 27 28 28 73 74 61 72 77 61 72 73 20 73 63 69 66 69 group.(let.((l.'((starwars.scifi
96e00 29 20 28 6a 65 64 69 20 73 74 61 72 77 61 72 73 20 77 61 72 72 69 6f 72 29 29 29 29 20 28 2d 2d ).(jedi.starwars.warrior)))).(--
96e20 66 69 78 20 28 2d 75 6e 69 71 20 28 2d 2d 6d 61 70 63 61 74 20 28 63 6f 6e 73 20 69 74 20 28 63 fix.(-uniq.(--mapcat.(cons.it.(c
96e40 64 72 20 28 61 73 73 71 20 69 74 20 6c 29 29 29 20 69 74 29 29 20 27 28 6a 65 64 69 20 62 6f 6f dr.(assq.it.l))).it)).'(jedi.boo
96e60 6b 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 6a 65 64 69 20 73 74 61 72 77 61 72 k))).....@result{}.(jedi.starwar
96e80 73 20 77 61 72 72 69 6f 72 20 73 63 69 66 69 20 62 6f 6f 6b 29 0a 40 65 6e 64 20 67 72 6f 75 70 s.warrior.scifi.book).@end.group
96ea0 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 6e 6f 64 65 20 .@end.example.@end.defun..@node.
96ec0 54 72 65 65 20 6f 70 65 72 61 74 69 6f 6e 73 0a 40 73 65 63 74 69 6f 6e 20 54 72 65 65 20 6f 70 Tree.operations.@section.Tree.op
96ee0 65 72 61 74 69 6f 6e 73 0a 0a 46 75 6e 63 74 69 6f 6e 73 20 70 72 65 74 65 6e 64 69 6e 67 20 6c erations..Functions.pretending.l
96f00 69 73 74 73 20 61 72 65 20 74 72 65 65 73 2e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 74 72 65 65 2d 73 ists.are.trees...@anchor{-tree-s
96f20 65 71 7d 0a 40 64 65 66 75 6e 20 2d 74 72 65 65 2d 73 65 71 20 28 62 72 61 6e 63 68 20 63 68 69 eq}.@defun.-tree-seq.(branch.chi
96f40 6c 64 72 65 6e 20 74 72 65 65 29 0a 52 65 74 75 72 6e 20 61 20 73 65 71 75 65 6e 63 65 20 6f 66 ldren.tree).Return.a.sequence.of
96f60 20 74 68 65 20 6e 6f 64 65 73 20 69 6e 20 40 76 61 72 7b 74 72 65 65 7d 2c 20 69 6e 20 64 65 70 .the.nodes.in.@var{tree},.in.dep
96f80 74 68 2d 66 69 72 73 74 20 73 65 61 72 63 68 20 6f 72 64 65 72 2e 0a 0a 40 76 61 72 7b 62 72 61 th-first.search.order...@var{bra
96fa0 6e 63 68 7d 20 69 73 20 61 20 70 72 65 64 69 63 61 74 65 20 6f 66 20 6f 6e 65 20 61 72 67 75 6d nch}.is.a.predicate.of.one.argum
96fc0 65 6e 74 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 74 68 65 0a ent.that.returns.non-nil.if.the.
96fe0 70 61 73 73 65 64 20 61 72 67 75 6d 65 6e 74 20 69 73 20 61 20 62 72 61 6e 63 68 2c 20 74 68 61 passed.argument.is.a.branch,.tha
97000 74 20 69 73 2c 20 61 20 6e 6f 64 65 20 74 68 61 74 20 63 61 6e 20 68 61 76 65 20 63 68 69 6c 64 t.is,.a.node.that.can.have.child
97020 72 65 6e 2e 0a 0a 40 76 61 72 7b 63 68 69 6c 64 72 65 6e 7d 20 69 73 20 61 20 66 75 6e 63 74 69 ren...@var{children}.is.a.functi
97040 6f 6e 20 6f 66 20 6f 6e 65 20 61 72 67 75 6d 65 6e 74 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 on.of.one.argument.that.returns.
97060 74 68 65 20 63 68 69 6c 64 72 65 6e 0a 6f 66 20 74 68 65 20 70 61 73 73 65 64 20 62 72 61 6e 63 the.children.of.the.passed.branc
97080 68 20 6e 6f 64 65 2e 0a 0a 4e 6f 6e 2d 62 72 61 6e 63 68 20 6e 6f 64 65 73 20 61 72 65 20 73 69 h.node...Non-branch.nodes.are.si
970a0 6d 70 6c 79 20 63 6f 70 69 65 64 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d mply.copied...@example.@group.(-
970c0 74 72 65 65 2d 73 65 71 20 27 6c 69 73 74 70 20 27 69 64 65 6e 74 69 74 79 20 27 28 31 20 28 32 tree-seq.'listp.'identity.'(1.(2
970e0 20 33 29 20 34 20 28 35 20 28 36 20 37 29 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 .3).4.(5.(6.7)))).....@result{}.
97100 28 28 31 20 28 32 20 33 29 20 34 20 28 35 20 28 36 20 37 29 29 29 20 31 20 28 32 20 33 29 20 32 ((1.(2.3).4.(5.(6.7))).1.(2.3).2
97120 20 33 20 34 20 28 35 20 28 36 20 37 29 29 20 35 20 28 36 20 37 29 20 36 20 37 29 0a 40 65 6e 64 .3.4.(5.(6.7)).5.(6.7).6.7).@end
97140 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 74 72 65 65 2d 73 65 71 20 27 6c 69 73 74 70 20 .group.@group.(-tree-seq.'listp.
97160 27 72 65 76 65 72 73 65 20 27 28 31 20 28 32 20 33 29 20 34 20 28 35 20 28 36 20 37 29 29 29 29 'reverse.'(1.(2.3).4.(5.(6.7))))
97180 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 28 32 20 33 29 20 34 20 28 35 20 28 36 .....@result{}.((1.(2.3).4.(5.(6
971a0 20 37 29 29 29 20 28 35 20 28 36 20 37 29 29 20 28 36 20 37 29 20 37 20 36 20 35 20 34 20 28 32 .7))).(5.(6.7)).(6.7).7.6.5.4.(2
971c0 20 33 29 20 33 20 32 20 31 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d .3).3.2.1).@end.group.@group.(--
971e0 74 72 65 65 2d 73 65 71 20 28 76 65 63 74 6f 72 70 20 69 74 29 20 28 61 70 70 65 6e 64 20 69 74 tree-seq.(vectorp.it).(append.it
97200 20 6e 69 6c 29 20 5b 31 20 5b 32 20 33 5d 20 34 20 5b 35 20 5b 36 20 37 5d 5d 5d 29 0a 20 20 20 .nil).[1.[2.3].4.[5.[6.7]]])....
97220 20 40 72 65 73 75 6c 74 7b 7d 20 28 5b 31 20 5b 32 20 33 5d 20 34 20 5b 35 20 5b 36 20 37 5d 5d .@result{}.([1.[2.3].4.[5.[6.7]]
97240 5d 20 31 20 5b 32 20 33 5d 20 32 20 33 20 34 20 5b 35 20 5b 36 20 37 5d 5d 20 35 20 5b 36 20 37 ].1.[2.3].2.3.4.[5.[6.7]].5.[6.7
97260 5d 20 36 20 37 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 ].6.7).@end.group.@end.example.@
97280 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 74 72 65 65 2d 6d 61 70 7d 0a 40 64 end.defun..@anchor{-tree-map}.@d
972a0 65 66 75 6e 20 2d 74 72 65 65 2d 6d 61 70 20 28 66 6e 20 74 72 65 65 29 0a 41 70 70 6c 79 20 40 efun.-tree-map.(fn.tree).Apply.@
972c0 76 61 72 7b 66 6e 7d 20 74 6f 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 40 76 61 72 7b var{fn}.to.each.element.of.@var{
972e0 74 72 65 65 7d 20 77 68 69 6c 65 20 70 72 65 73 65 72 76 69 6e 67 20 74 68 65 20 74 72 65 65 20 tree}.while.preserving.the.tree.
97300 73 74 72 75 63 74 75 72 65 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 74 72 structure...@example.@group.(-tr
97320 65 65 2d 6d 61 70 20 27 31 2b 20 27 28 31 20 28 32 20 33 29 20 28 34 20 28 35 20 36 29 20 37 29 ee-map.'1+.'(1.(2.3).(4.(5.6).7)
97340 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 32 20 28 33 20 34 29 20 28 35 20 28 36 20 )).....@result{}.(2.(3.4).(5.(6.
97360 37 29 20 38 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 74 72 65 65 2d 7).8)).@end.group.@group.(-tree-
97380 6d 61 70 20 27 28 6c 61 6d 62 64 61 20 28 78 29 20 28 63 6f 6e 73 20 78 20 28 65 78 70 74 20 32 map.'(lambda.(x).(cons.x.(expt.2
973a0 20 78 29 29 29 20 27 28 31 20 28 32 20 33 29 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b .x))).'(1.(2.3).4)).....@result{
973c0 7d 20 28 28 31 20 2e 20 32 29 20 28 28 32 20 2e 20 34 29 20 28 33 20 2e 20 38 29 29 20 28 34 20 }.((1...2).((2...4).(3...8)).(4.
973e0 2e 20 31 36 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 74 72 65 65 ..16)).@end.group.@group.(--tree
97400 2d 6d 61 70 20 28 6c 65 6e 67 74 68 20 69 74 29 20 27 28 22 3c 62 6f 64 79 3e 22 20 28 22 3c 70 -map.(length.it).'("<body>".("<p
97420 3e 22 20 22 74 65 78 74 22 20 22 3c 2f 70 3e 22 29 20 22 3c 2f 62 6f 64 79 3e 22 29 29 0a 20 20 >"."text"."</p>")."</body>"))...
97440 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 36 20 28 33 20 34 20 34 29 20 37 29 0a 40 65 6e 64 20 67 ..@result{}.(6.(3.4.4).7).@end.g
97460 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 roup.@end.example.@end.defun..@a
97480 6e 63 68 6f 72 7b 2d 74 72 65 65 2d 6d 61 70 2d 6e 6f 64 65 73 7d 0a 40 64 65 66 75 6e 20 2d 74 nchor{-tree-map-nodes}.@defun.-t
974a0 72 65 65 2d 6d 61 70 2d 6e 6f 64 65 73 20 28 70 72 65 64 20 66 75 6e 20 74 72 65 65 29 0a 43 61 ree-map-nodes.(pred.fun.tree).Ca
974c0 6c 6c 20 40 76 61 72 7b 66 75 6e 7d 20 6f 6e 20 65 61 63 68 20 6e 6f 64 65 20 6f 66 20 40 76 61 ll.@var{fun}.on.each.node.of.@va
974e0 72 7b 74 72 65 65 7d 20 74 68 61 74 20 73 61 74 69 73 66 69 65 73 20 40 76 61 72 7b 70 72 65 64 r{tree}.that.satisfies.@var{pred
97500 7d 2e 0a 0a 49 66 20 40 76 61 72 7b 70 72 65 64 7d 20 72 65 74 75 72 6e 73 20 6e 69 6c 2c 20 63 }...If.@var{pred}.returns.nil,.c
97520 6f 6e 74 69 6e 75 65 20 64 65 73 63 65 6e 64 69 6e 67 20 64 6f 77 6e 20 74 68 69 73 20 6e 6f 64 ontinue.descending.down.this.nod
97540 65 2e 20 20 49 66 20 40 76 61 72 7b 70 72 65 64 7d 0a 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 e...If.@var{pred}.returns.non-ni
97560 6c 2c 20 61 70 70 6c 79 20 40 76 61 72 7b 66 75 6e 7d 20 74 6f 20 74 68 69 73 20 6e 6f 64 65 20 l,.apply.@var{fun}.to.this.node.
97580 61 6e 64 20 64 6f 20 6e 6f 74 20 64 65 73 63 65 6e 64 0a 66 75 72 74 68 65 72 2e 0a 0a 40 65 78 and.do.not.descend.further...@ex
975a0 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 74 72 65 65 2d 6d 61 70 2d 6e 6f 64 65 73 20 27 76 ample.@group.(-tree-map-nodes.'v
975c0 65 63 74 6f 72 70 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 2d 73 75 6d 20 28 61 70 70 65 6e 64 ectorp.(lambda.(x).(-sum.(append
975e0 20 78 20 6e 69 6c 29 29 29 20 27 28 31 20 5b 32 20 33 5d 20 34 20 28 35 20 5b 36 20 37 5d 20 38 .x.nil))).'(1.[2.3].4.(5.[6.7].8
97600 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 35 20 34 20 28 35 20 31 33 20 38 ))).....@result{}.(1.5.4.(5.13.8
97620 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 74 72 65 65 2d 6d 61 70 2d )).@end.group.@group.(-tree-map-
97640 6e 6f 64 65 73 20 27 6b 65 79 77 6f 72 64 70 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 73 79 6d nodes.'keywordp.(lambda.(x).(sym
97660 62 6f 6c 2d 6e 61 6d 65 20 78 29 29 20 27 28 31 20 3a 66 6f 6f 20 34 20 28 28 35 20 36 20 3a 62 bol-name.x)).'(1.:foo.4.((5.6.:b
97680 61 72 29 20 3a 62 61 7a 20 38 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 22 ar).:baz.8))).....@result{}.(1."
976a0 3a 66 6f 6f 22 20 34 20 28 28 35 20 36 20 22 3a 62 61 72 22 29 20 22 3a 62 61 7a 22 20 38 29 29 :foo".4.((5.6.":bar").":baz".8))
976c0 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 74 72 65 65 2d 6d 61 70 2d 6e .@end.group.@group.(--tree-map-n
976e0 6f 64 65 73 20 28 65 71 20 28 63 61 72 2d 73 61 66 65 20 69 74 29 20 27 61 64 64 2d 6d 6f 64 65 odes.(eq.(car-safe.it).'add-mode
97700 29 20 28 2d 63 6f 6e 63 61 74 20 69 74 20 28 6c 69 73 74 20 3a 6d 6f 64 65 20 27 65 6d 61 63 73 ).(-concat.it.(list.:mode.'emacs
97720 2d 6c 69 73 70 2d 6d 6f 64 65 29 29 20 27 28 77 69 74 68 2d 6d 6f 64 65 20 65 6d 61 63 73 2d 6c -lisp-mode)).'(with-mode.emacs-l
97740 69 73 70 2d 6d 6f 64 65 20 28 66 6f 6f 20 62 61 72 29 20 28 61 64 64 2d 6d 6f 64 65 20 61 20 62 isp-mode.(foo.bar).(add-mode.a.b
97760 29 20 28 62 61 7a 20 28 61 64 64 2d 6d 6f 64 65 20 63 20 64 29 29 29 29 0a 20 20 20 20 40 72 65 ).(baz.(add-mode.c.d)))).....@re
97780 73 75 6c 74 7b 7d 20 28 77 69 74 68 2d 6d 6f 64 65 20 65 6d 61 63 73 2d 6c 69 73 70 2d 6d 6f 64 sult{}.(with-mode.emacs-lisp-mod
977a0 65 20 28 66 6f 6f 20 62 61 72 29 20 28 61 64 64 2d 6d 6f 64 65 20 61 20 62 20 3a 6d 6f 64 65 20 e.(foo.bar).(add-mode.a.b.:mode.
977c0 65 6d 61 63 73 2d 6c 69 73 70 2d 6d 6f 64 65 29 20 28 62 61 7a 20 28 61 64 64 2d 6d 6f 64 65 20 emacs-lisp-mode).(baz.(add-mode.
977e0 63 20 64 20 3a 6d 6f 64 65 20 65 6d 61 63 73 2d 6c 69 73 70 2d 6d 6f 64 65 29 29 29 0a 40 65 6e c.d.:mode.emacs-lisp-mode))).@en
97800 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a d.group.@end.example.@end.defun.
97820 0a 40 61 6e 63 68 6f 72 7b 2d 74 72 65 65 2d 72 65 64 75 63 65 7d 0a 40 64 65 66 75 6e 20 2d 74 .@anchor{-tree-reduce}.@defun.-t
97840 72 65 65 2d 72 65 64 75 63 65 20 28 66 6e 20 74 72 65 65 29 0a 55 73 65 20 40 76 61 72 7b 66 6e ree-reduce.(fn.tree).Use.@var{fn
97860 7d 20 74 6f 20 72 65 64 75 63 65 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 6c 69 73 74 20 40 76 61 }.to.reduce.elements.of.list.@va
97880 72 7b 74 72 65 65 7d 2e 0a 49 66 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 40 76 61 72 7b 74 72 65 r{tree}..If.elements.of.@var{tre
978a0 65 7d 20 61 72 65 20 6c 69 73 74 73 20 74 68 65 6d 73 65 6c 76 65 73 2c 20 61 70 70 6c 79 20 74 e}.are.lists.themselves,.apply.t
978c0 68 65 20 72 65 64 75 63 74 69 6f 6e 20 72 65 63 75 72 73 69 76 65 6c 79 2e 0a 0a 40 76 61 72 7b he.reduction.recursively...@var{
978e0 66 6e 7d 20 69 73 20 66 69 72 73 74 20 61 70 70 6c 69 65 64 20 74 6f 20 66 69 72 73 74 20 65 6c fn}.is.first.applied.to.first.el
97900 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 6c 69 73 74 20 61 6e 64 20 73 65 63 6f 6e 64 0a 65 6c 65 ement.of.the.list.and.second.ele
97920 6d 65 6e 74 2c 20 74 68 65 6e 20 6f 6e 20 74 68 69 73 20 72 65 73 75 6c 74 20 61 6e 64 20 74 68 ment,.then.on.this.result.and.th
97940 69 72 64 20 65 6c 65 6d 65 6e 74 20 66 72 6f 6d 20 74 68 65 20 6c 69 73 74 20 65 74 63 2e 0a 0a ird.element.from.the.list.etc...
97960 53 65 65 20 40 63 6f 64 65 7b 2d 72 65 64 75 63 65 2d 72 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 See.@code{-reduce-r}.(@pxref{-re
97980 64 75 63 65 2d 72 7d 29 20 66 6f 72 20 68 6f 77 20 65 78 61 63 74 6c 79 20 61 72 65 20 6c 69 73 duce-r}).for.how.exactly.are.lis
979a0 74 73 20 6f 66 20 7a 65 72 6f 20 6f 72 20 6f 6e 65 20 65 6c 65 6d 65 6e 74 20 68 61 6e 64 6c 65 ts.of.zero.or.one.element.handle
979c0 64 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 74 72 65 65 2d 72 65 64 75 63 d...@example.@group.(-tree-reduc
979e0 65 20 27 2b 20 27 28 31 20 28 32 20 33 29 20 28 34 20 35 29 29 29 0a 20 20 20 20 40 72 65 73 75 e.'+.'(1.(2.3).(4.5))).....@resu
97a00 6c 74 7b 7d 20 31 35 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 74 72 65 65 lt{}.15.@end.group.@group.(-tree
97a20 2d 72 65 64 75 63 65 20 27 63 6f 6e 63 61 74 20 27 28 22 73 74 72 69 6e 67 73 22 20 28 22 20 6f -reduce.'concat.'("strings".(".o
97a40 6e 22 20 22 20 76 61 72 69 6f 75 73 22 29 20 28 28 22 20 6c 65 76 65 6c 73 22 29 29 29 29 0a 20 n".".various").((".levels"))))..
97a60 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 22 73 74 72 69 6e 67 73 20 6f 6e 20 76 61 72 69 6f 75 73 ...@result{}."strings.on.various
97a80 20 6c 65 76 65 6c 73 22 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 74 72 .levels".@end.group.@group.(--tr
97aa0 65 65 2d 72 65 64 75 63 65 20 28 63 6f 6e 64 20 28 28 73 74 72 69 6e 67 70 20 69 74 29 20 28 63 ee-reduce.(cond.((stringp.it).(c
97ac0 6f 6e 63 61 74 20 69 74 20 22 20 22 20 61 63 63 29 29 20 28 74 20 28 6c 65 74 20 28 28 73 6e 20 oncat.it.".".acc)).(t.(let.((sn.
97ae0 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 69 74 29 29 29 20 28 63 6f 6e 63 61 74 20 22 3c 22 20 73 (symbol-name.it))).(concat."<".s
97b00 6e 20 22 3e 22 20 61 63 63 20 22 3c 2f 22 20 73 6e 20 22 3e 22 29 29 29 29 20 27 28 62 6f 64 79 n.">".acc."</".sn.">")))).'(body
97b20 20 28 70 20 22 73 6f 6d 65 20 77 6f 72 64 73 22 29 20 28 64 69 76 20 22 6d 6f 72 65 22 20 28 62 .(p."some.words").(div."more".(b
97b40 20 22 62 6f 6c 64 22 29 20 22 77 6f 72 64 73 22 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b ."bold")."words"))).....@result{
97b60 7d 20 22 3c 62 6f 64 79 3e 3c 70 3e 73 6f 6d 65 20 77 6f 72 64 73 3c 2f 70 3e 20 3c 64 69 76 3e }."<body><p>some.words</p>.<div>
97b80 6d 6f 72 65 20 3c 62 3e 62 6f 6c 64 3c 2f 62 3e 20 77 6f 72 64 73 3c 2f 64 69 76 3e 3c 2f 62 6f more.<b>bold</b>.words</div></bo
97ba0 64 79 3e 22 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e dy>".@end.group.@end.example.@en
97bc0 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 72 d.defun..@anchor{-tree-reduce-fr
97be0 6f 6d 7d 0a 40 64 65 66 75 6e 20 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 28 66 6e om}.@defun.-tree-reduce-from.(fn
97c00 20 69 6e 69 74 2d 76 61 6c 75 65 20 74 72 65 65 29 0a 55 73 65 20 40 76 61 72 7b 66 6e 7d 20 74 .init-value.tree).Use.@var{fn}.t
97c20 6f 20 72 65 64 75 63 65 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 6c 69 73 74 20 40 76 61 72 7b 74 o.reduce.elements.of.list.@var{t
97c40 72 65 65 7d 2e 0a 49 66 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 40 76 61 72 7b 74 72 65 65 7d 20 ree}..If.elements.of.@var{tree}.
97c60 61 72 65 20 6c 69 73 74 73 20 74 68 65 6d 73 65 6c 76 65 73 2c 20 61 70 70 6c 79 20 74 68 65 20 are.lists.themselves,.apply.the.
97c80 72 65 64 75 63 74 69 6f 6e 20 72 65 63 75 72 73 69 76 65 6c 79 2e 0a 0a 40 76 61 72 7b 66 6e 7d reduction.recursively...@var{fn}
97ca0 20 69 73 20 66 69 72 73 74 20 61 70 70 6c 69 65 64 20 74 6f 20 40 76 61 72 7b 69 6e 69 74 2d 76 .is.first.applied.to.@var{init-v
97cc0 61 6c 75 65 7d 20 61 6e 64 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 6c alue}.and.first.element.of.the.l
97ce0 69 73 74 2c 0a 74 68 65 6e 20 6f 6e 20 74 68 69 73 20 72 65 73 75 6c 74 20 61 6e 64 20 73 65 63 ist,.then.on.this.result.and.sec
97d00 6f 6e 64 20 65 6c 65 6d 65 6e 74 20 66 72 6f 6d 20 74 68 65 20 6c 69 73 74 20 65 74 63 2e 0a 0a ond.element.from.the.list.etc...
97d20 54 68 65 20 69 6e 69 74 69 61 6c 20 76 61 6c 75 65 20 69 73 20 69 67 6e 6f 72 65 64 20 6f 6e 20 The.initial.value.is.ignored.on.
97d40 63 6f 6e 73 20 70 61 69 72 73 20 61 73 20 74 68 65 79 20 61 6c 77 61 79 73 20 63 6f 6e 74 61 69 cons.pairs.as.they.always.contai
97d60 6e 0a 74 77 6f 20 65 6c 65 6d 65 6e 74 73 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 n.two.elements...@example.@group
97d80 0a 28 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 27 2b 20 31 20 27 28 31 20 28 31 20 .(-tree-reduce-from.'+.1.'(1.(1.
97da0 31 29 20 28 28 31 29 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 38 0a 40 65 6e 64 20 1).((1)))).....@result{}.8.@end.
97dc0 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 72 6f 6d group.@group.(--tree-reduce-from
97de0 20 28 2d 63 6f 6e 63 61 74 20 61 63 63 20 28 6c 69 73 74 20 69 74 29 29 20 6e 69 6c 20 27 28 31 .(-concat.acc.(list.it)).nil.'(1
97e00 20 28 32 20 33 20 28 34 20 35 29 29 20 28 36 20 37 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 .(2.3.(4.5)).(6.7))).....@result
97e20 7b 7d 20 28 28 37 20 36 29 20 28 28 35 20 34 29 20 33 20 32 29 20 31 29 0a 40 65 6e 64 20 67 72 {}.((7.6).((5.4).3.2).1).@end.gr
97e40 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e oup.@end.example.@end.defun..@an
97e60 63 68 6f 72 7b 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 7d 0a 40 64 65 66 75 6e 20 2d 74 72 chor{-tree-mapreduce}.@defun.-tr
97e80 65 65 2d 6d 61 70 72 65 64 75 63 65 20 28 66 6e 20 66 6f 6c 64 65 72 20 74 72 65 65 29 0a 41 70 ee-mapreduce.(fn.folder.tree).Ap
97ea0 70 6c 79 20 40 76 61 72 7b 66 6e 7d 20 74 6f 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 ply.@var{fn}.to.each.element.of.
97ec0 40 76 61 72 7b 74 72 65 65 7d 2c 20 61 6e 64 20 6d 61 6b 65 20 61 20 6c 69 73 74 20 6f 66 20 74 @var{tree},.and.make.a.list.of.t
97ee0 68 65 20 72 65 73 75 6c 74 73 2e 0a 49 66 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 40 76 61 72 7b he.results..If.elements.of.@var{
97f00 74 72 65 65 7d 20 61 72 65 20 6c 69 73 74 73 20 74 68 65 6d 73 65 6c 76 65 73 2c 20 61 70 70 6c tree}.are.lists.themselves,.appl
97f20 79 20 40 76 61 72 7b 66 6e 7d 20 72 65 63 75 72 73 69 76 65 6c 79 20 74 6f 0a 65 6c 65 6d 65 6e y.@var{fn}.recursively.to.elemen
97f40 74 73 20 6f 66 20 74 68 65 73 65 20 6e 65 73 74 65 64 20 6c 69 73 74 73 2e 0a 0a 54 68 65 6e 20 ts.of.these.nested.lists...Then.
97f60 72 65 64 75 63 65 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 20 6c 69 73 74 73 20 75 73 69 6e 67 reduce.the.resulting.lists.using
97f80 20 40 76 61 72 7b 66 6f 6c 64 65 72 7d 20 61 6e 64 20 69 6e 69 74 69 61 6c 20 76 61 6c 75 65 0a .@var{folder}.and.initial.value.
97fa0 40 76 61 72 7b 69 6e 69 74 2d 76 61 6c 75 65 7d 2e 20 53 65 65 20 40 63 6f 64 65 7b 2d 72 65 64 @var{init-value}..See.@code{-red
97fc0 75 63 65 2d 72 2d 66 72 6f 6d 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 64 75 63 65 2d 72 2d 66 72 uce-r-from}.(@pxref{-reduce-r-fr
97fe0 6f 6d 7d 29 2e 0a 0a 54 68 69 73 20 69 73 20 74 68 65 20 73 61 6d 65 20 61 73 20 63 61 6c 6c 69 om})...This.is.the.same.as.calli
98000 6e 67 20 40 63 6f 64 65 7b 2d 74 72 65 65 2d 72 65 64 75 63 65 7d 20 28 40 70 78 72 65 66 7b 2d ng.@code{-tree-reduce}.(@pxref{-
98020 74 72 65 65 2d 72 65 64 75 63 65 7d 29 20 61 66 74 65 72 20 40 63 6f 64 65 7b 2d 74 72 65 65 2d tree-reduce}).after.@code{-tree-
98040 6d 61 70 7d 20 28 40 70 78 72 65 66 7b 2d 74 72 65 65 2d 6d 61 70 7d 29 0a 62 75 74 20 69 73 20 map}.(@pxref{-tree-map}).but.is.
98060 74 77 69 63 65 20 61 73 20 66 61 73 74 20 61 73 20 69 74 20 6f 6e 6c 79 20 74 72 61 76 65 72 73 twice.as.fast.as.it.only.travers
98080 65 20 74 68 65 20 73 74 72 75 63 74 75 72 65 20 6f 6e 63 65 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a e.the.structure.once...@example.
980a0 40 67 72 6f 75 70 0a 28 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 20 27 6c 69 73 74 20 27 61 @group.(-tree-mapreduce.'list.'a
980c0 70 70 65 6e 64 20 27 28 31 20 28 32 20 28 33 20 34 29 20 28 35 20 36 29 29 20 28 37 20 28 38 20 ppend.'(1.(2.(3.4).(5.6)).(7.(8.
980e0 39 29 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 20 34 20 35 20 36 9)))).....@result{}.(1.2.3.4.5.6
98100 20 37 20 38 20 39 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 74 72 65 .7.8.9).@end.group.@group.(--tre
98120 65 2d 6d 61 70 72 65 64 75 63 65 20 31 20 28 2b 20 69 74 20 61 63 63 29 20 27 28 31 20 28 32 20 e-mapreduce.1.(+.it.acc).'(1.(2.
98140 28 34 20 39 29 20 28 32 20 31 29 29 20 28 37 20 28 34 20 33 29 29 29 29 0a 20 20 20 20 40 72 65 (4.9).(2.1)).(7.(4.3)))).....@re
98160 73 75 6c 74 7b 7d 20 39 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 74 72 sult{}.9.@end.group.@group.(--tr
98180 65 65 2d 6d 61 70 72 65 64 75 63 65 20 30 20 28 6d 61 78 20 61 63 63 20 28 31 2b 20 69 74 29 29 ee-mapreduce.0.(max.acc.(1+.it))
981a0 20 27 28 31 20 28 32 20 28 34 20 39 29 20 28 32 20 31 29 29 20 28 37 20 28 34 20 33 29 29 29 29 .'(1.(2.(4.9).(2.1)).(7.(4.3))))
981c0 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 33 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 .....@result{}.3.@end.group.@end
981e0 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 74 72 .example.@end.defun..@anchor{-tr
98200 65 65 2d 6d 61 70 72 65 64 75 63 65 2d 66 72 6f 6d 7d 0a 40 64 65 66 75 6e 20 2d 74 72 65 65 2d ee-mapreduce-from}.@defun.-tree-
98220 6d 61 70 72 65 64 75 63 65 2d 66 72 6f 6d 20 28 66 6e 20 66 6f 6c 64 65 72 20 69 6e 69 74 2d 76 mapreduce-from.(fn.folder.init-v
98240 61 6c 75 65 20 74 72 65 65 29 0a 41 70 70 6c 79 20 40 76 61 72 7b 66 6e 7d 20 74 6f 20 65 61 63 alue.tree).Apply.@var{fn}.to.eac
98260 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 40 76 61 72 7b 74 72 65 65 7d 2c 20 61 6e 64 20 6d 61 6b h.element.of.@var{tree},.and.mak
98280 65 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 73 2e 0a 49 66 20 65 6c 65 6d e.a.list.of.the.results..If.elem
982a0 65 6e 74 73 20 6f 66 20 40 76 61 72 7b 74 72 65 65 7d 20 61 72 65 20 6c 69 73 74 73 20 74 68 65 ents.of.@var{tree}.are.lists.the
982c0 6d 73 65 6c 76 65 73 2c 20 61 70 70 6c 79 20 40 76 61 72 7b 66 6e 7d 20 72 65 63 75 72 73 69 76 mselves,.apply.@var{fn}.recursiv
982e0 65 6c 79 20 74 6f 0a 65 6c 65 6d 65 6e 74 73 20 6f 66 20 74 68 65 73 65 20 6e 65 73 74 65 64 20 ely.to.elements.of.these.nested.
98300 6c 69 73 74 73 2e 0a 0a 54 68 65 6e 20 72 65 64 75 63 65 20 74 68 65 20 72 65 73 75 6c 74 69 6e lists...Then.reduce.the.resultin
98320 67 20 6c 69 73 74 73 20 75 73 69 6e 67 20 40 76 61 72 7b 66 6f 6c 64 65 72 7d 20 61 6e 64 20 69 g.lists.using.@var{folder}.and.i
98340 6e 69 74 69 61 6c 20 76 61 6c 75 65 0a 40 76 61 72 7b 69 6e 69 74 2d 76 61 6c 75 65 7d 2e 20 53 nitial.value.@var{init-value}..S
98360 65 65 20 40 63 6f 64 65 7b 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 7d 20 28 40 70 78 72 65 66 ee.@code{-reduce-r-from}.(@pxref
98380 7b 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 7d 29 2e 0a 0a 54 68 69 73 20 69 73 20 74 68 65 20 {-reduce-r-from})...This.is.the.
983a0 73 61 6d 65 20 61 73 20 63 61 6c 6c 69 6e 67 20 40 63 6f 64 65 7b 2d 74 72 65 65 2d 72 65 64 75 same.as.calling.@code{-tree-redu
983c0 63 65 2d 66 72 6f 6d 7d 20 28 40 70 78 72 65 66 7b 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 72 ce-from}.(@pxref{-tree-reduce-fr
983e0 6f 6d 7d 29 20 61 66 74 65 72 20 40 63 6f 64 65 7b 2d 74 72 65 65 2d 6d 61 70 7d 20 28 40 70 78 om}).after.@code{-tree-map}.(@px
98400 72 65 66 7b 2d 74 72 65 65 2d 6d 61 70 7d 29 0a 62 75 74 20 69 73 20 74 77 69 63 65 20 61 73 20 ref{-tree-map}).but.is.twice.as.
98420 66 61 73 74 20 61 73 20 69 74 20 6f 6e 6c 79 20 74 72 61 76 65 72 73 65 20 74 68 65 20 73 74 72 fast.as.it.only.traverse.the.str
98440 75 63 74 75 72 65 20 6f 6e 63 65 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d ucture.once...@example.@group.(-
98460 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 2d 66 72 6f 6d 20 27 69 64 65 6e 74 69 74 79 20 27 2a tree-mapreduce-from.'identity.'*
98480 20 31 20 27 28 31 20 28 32 20 28 33 20 34 29 20 28 35 20 36 29 29 20 28 37 20 28 38 20 39 29 29 .1.'(1.(2.(3.4).(5.6)).(7.(8.9))
984a0 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 33 36 32 38 38 30 0a 40 65 6e 64 20 67 72 6f )).....@result{}.362880.@end.gro
984c0 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 2d 66 72 6f 6d up.@group.(--tree-mapreduce-from
984e0 20 28 2b 20 69 74 20 69 74 29 20 28 63 6f 6e 73 20 69 74 20 61 63 63 29 20 6e 69 6c 20 27 28 31 .(+.it.it).(cons.it.acc).nil.'(1
98500 20 28 32 20 28 34 20 39 29 20 28 32 20 31 29 29 20 28 37 20 28 34 20 33 29 29 29 29 0a 20 20 20 .(2.(4.9).(2.1)).(7.(4.3))))....
98520 20 40 72 65 73 75 6c 74 7b 7d 20 28 32 20 28 34 20 28 38 20 31 38 29 20 28 34 20 32 29 29 20 28 .@result{}.(2.(4.(8.18).(4.2)).(
98540 31 34 20 28 38 20 36 29 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 63 6f 14.(8.6))).@end.group.@group.(co
98560 6e 63 61 74 20 22 40 7b 22 20 28 2d 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 2d 66 72 6f 6d ncat."@{".(--tree-mapreduce-from
98580 20 28 63 6f 6e 64 20 28 28 2d 63 6f 6e 73 2d 70 61 69 72 3f 20 69 74 29 20 28 63 6f 6e 63 61 74 .(cond.((-cons-pair?.it).(concat
985a0 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 28 63 61 72 20 69 74 29 29 20 22 20 2d 3e 20 22 20 28 .(symbol-name.(car.it)).".->.".(
985c0 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 28 63 64 72 20 69 74 29 29 29 29 20 28 74 20 28 63 6f 6e 63 symbol-name.(cdr.it)))).(t.(conc
985e0 61 74 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 69 74 29 20 22 20 3a 20 40 7b 22 29 29 29 20 28 at.(symbol-name.it).".:.@{"))).(
98600 63 6f 6e 63 61 74 20 69 74 20 28 75 6e 6c 65 73 73 20 28 6f 72 20 28 65 71 75 61 6c 20 61 63 63 concat.it.(unless.(or.(equal.acc
98620 20 22 40 7d 22 29 20 28 65 71 75 61 6c 20 28 73 75 62 73 74 72 69 6e 67 20 69 74 20 28 31 2d 20 ."@}").(equal.(substring.it.(1-.
98640 28 6c 65 6e 67 74 68 20 69 74 29 29 29 20 22 40 7b 22 29 29 20 22 2c 20 22 29 20 61 63 63 29 20 (length.it)))."@{")).",.").acc).
98660 22 40 7d 22 20 27 28 28 65 6c 69 73 70 2d 6d 6f 64 65 20 28 66 6f 6f 20 28 62 61 72 20 2e 20 62 "@}".'((elisp-mode.(foo.(bar...b
98680 6f 6f 7a 65 29 29 20 28 62 61 7a 20 2e 20 71 75 78 29 29 20 28 63 2d 6d 6f 64 65 20 28 66 6f 6f ooze)).(baz...qux)).(c-mode.(foo
986a0 20 2e 20 62 6c 61 29 20 28 62 75 6d 20 2e 20 62 61 6d 29 29 29 29 29 0a 20 20 20 20 40 72 65 73 ...bla).(bum...bam))))).....@res
986c0 75 6c 74 7b 7d 20 22 40 7b 65 6c 69 73 70 2d 6d 6f 64 65 20 3a 20 40 7b 66 6f 6f 20 3a 20 40 7b ult{}."@{elisp-mode.:.@{foo.:.@{
986e0 62 61 72 20 2d 3e 20 62 6f 6f 7a 65 40 7d 2c 20 62 61 7a 20 2d 3e 20 71 75 78 40 7d 2c 20 63 2d bar.->.booze@},.baz.->.qux@},.c-
98700 6d 6f 64 65 20 3a 20 40 7b 66 6f 6f 20 2d 3e 20 62 6c 61 2c 20 62 75 6d 20 2d 3e 20 62 61 6d 40 mode.:.@{foo.->.bla,.bum.->.bam@
98720 7d 40 7d 22 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e }@}".@end.group.@end.example.@en
98740 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 63 6c 6f 6e 65 7d 0a 40 64 65 66 75 6e 20 d.defun..@anchor{-clone}.@defun.
98760 2d 63 6c 6f 6e 65 20 28 6c 69 73 74 29 0a 43 72 65 61 74 65 20 61 20 64 65 65 70 20 63 6f 70 79 -clone.(list).Create.a.deep.copy
98780 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 54 68 65 20 6e 65 77 20 6c 69 73 74 20 68 61 73 .of.@var{list}..The.new.list.has
987a0 20 74 68 65 20 73 61 6d 65 20 65 6c 65 6d 65 6e 74 73 20 61 6e 64 20 73 74 72 75 63 74 75 72 65 .the.same.elements.and.structure
987c0 20 62 75 74 20 61 6c 6c 20 63 6f 6e 73 20 61 72 65 0a 72 65 70 6c 61 63 65 64 20 77 69 74 68 20 .but.all.cons.are.replaced.with.
987e0 6e 65 77 20 6f 6e 65 73 2e 20 20 54 68 69 73 20 69 73 20 75 73 65 66 75 6c 20 77 68 65 6e 20 79 new.ones...This.is.useful.when.y
98800 6f 75 20 6e 65 65 64 20 74 6f 20 63 6c 6f 6e 65 20 61 0a 73 74 72 75 63 74 75 72 65 20 73 75 63 ou.need.to.clone.a.structure.suc
98820 68 20 61 73 20 70 6c 69 73 74 20 6f 72 20 61 6c 69 73 74 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 h.as.plist.or.alist...@example.@
98840 67 72 6f 75 70 0a 28 6c 65 74 2a 20 28 28 61 20 27 28 31 20 32 20 33 29 29 20 28 62 20 28 2d 63 group.(let*.((a.'(1.2.3)).(b.(-c
98860 6c 6f 6e 65 20 61 29 29 29 20 28 6e 72 65 76 65 72 73 65 20 61 29 20 62 29 0a 20 20 20 20 40 72 lone.a))).(nreverse.a).b).....@r
98880 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 esult{}.(1.2.3).@end.group.@end.
988a0 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 6e 6f 64 65 20 54 68 72 65 61 64 example.@end.defun..@node.Thread
988c0 69 6e 67 20 6d 61 63 72 6f 73 0a 40 73 65 63 74 69 6f 6e 20 54 68 72 65 61 64 69 6e 67 20 6d 61 ing.macros.@section.Threading.ma
988e0 63 72 6f 73 0a 0a 4d 61 63 72 6f 73 20 74 68 61 74 20 63 6f 6e 64 69 74 69 6f 6e 61 6c 6c 79 20 cros..Macros.that.conditionally.
98900 63 6f 6d 62 69 6e 65 20 73 65 71 75 65 6e 74 69 61 6c 20 66 6f 72 6d 73 20 66 6f 72 20 62 72 65 combine.sequential.forms.for.bre
98920 76 69 74 79 0a 6f 72 20 72 65 61 64 61 62 69 6c 69 74 79 2e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 3e vity.or.readability...@anchor{->
98940 7d 0a 40 64 65 66 6d 61 63 20 2d 3e 20 28 78 20 26 6f 70 74 69 6f 6e 61 6c 20 66 6f 72 6d 20 26 }.@defmac.->.(x.&optional.form.&
98960 72 65 73 74 20 6d 6f 72 65 29 0a 54 68 72 65 61 64 20 74 68 65 20 65 78 70 72 20 74 68 72 6f 75 rest.more).Thread.the.expr.throu
98980 67 68 20 74 68 65 20 66 6f 72 6d 73 2e 20 49 6e 73 65 72 74 20 40 76 61 72 7b 78 7d 20 61 73 20 gh.the.forms..Insert.@var{x}.as.
989a0 74 68 65 20 73 65 63 6f 6e 64 20 69 74 65 6d 0a 69 6e 20 74 68 65 20 66 69 72 73 74 20 66 6f 72 the.second.item.in.the.first.for
989c0 6d 2c 20 6d 61 6b 69 6e 67 20 61 20 6c 69 73 74 20 6f 66 20 69 74 20 69 66 20 69 74 20 69 73 20 m,.making.a.list.of.it.if.it.is.
989e0 6e 6f 74 20 61 20 6c 69 73 74 0a 61 6c 72 65 61 64 79 2e 20 49 66 20 74 68 65 72 65 20 61 72 65 not.a.list.already..If.there.are
98a00 20 6d 6f 72 65 20 66 6f 72 6d 73 2c 20 69 6e 73 65 72 74 20 74 68 65 20 66 69 72 73 74 20 66 6f .more.forms,.insert.the.first.fo
98a20 72 6d 20 61 73 20 74 68 65 0a 73 65 63 6f 6e 64 20 69 74 65 6d 20 69 6e 20 73 65 63 6f 6e 64 20 rm.as.the.second.item.in.second.
98a40 66 6f 72 6d 2c 20 65 74 63 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 3e 20 form,.etc...@example.@group.(->.
98a60 27 28 32 20 33 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 32 20 33 20 35 29 0a '(2.3.5)).....@result{}.(2.3.5).
98a80 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 3e 20 27 28 32 20 33 20 35 29 20 28 @end.group.@group.(->.'(2.3.5).(
98aa0 61 70 70 65 6e 64 20 27 28 38 20 31 33 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 append.'(8.13))).....@result{}.(
98ac0 32 20 33 20 35 20 38 20 31 33 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2.3.5.8.13).@end.group.@group.(-
98ae0 3e 20 27 28 32 20 33 20 35 29 20 28 61 70 70 65 6e 64 20 27 28 38 20 31 33 29 29 20 28 2d 73 6c >.'(2.3.5).(append.'(8.13)).(-sl
98b00 69 63 65 20 31 20 2d 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 33 20 35 20 38 29 ice.1.-1)).....@result{}.(3.5.8)
98b20 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 .@end.group.@end.example.@end.de
98b40 66 6d 61 63 0a 0a 40 61 6e 63 68 6f 72 7b 2d 3e 3e 7d 0a 40 64 65 66 6d 61 63 20 2d 3e 3e 20 28 fmac..@anchor{->>}.@defmac.->>.(
98b60 78 20 26 6f 70 74 69 6f 6e 61 6c 20 66 6f 72 6d 20 26 72 65 73 74 20 6d 6f 72 65 29 0a 54 68 72 x.&optional.form.&rest.more).Thr
98b80 65 61 64 20 74 68 65 20 65 78 70 72 20 74 68 72 6f 75 67 68 20 74 68 65 20 66 6f 72 6d 73 2e 20 ead.the.expr.through.the.forms..
98ba0 49 6e 73 65 72 74 20 40 76 61 72 7b 78 7d 20 61 73 20 74 68 65 20 6c 61 73 74 20 69 74 65 6d 0a Insert.@var{x}.as.the.last.item.
98bc0 69 6e 20 74 68 65 20 66 69 72 73 74 20 66 6f 72 6d 2c 20 6d 61 6b 69 6e 67 20 61 20 6c 69 73 74 in.the.first.form,.making.a.list
98be0 20 6f 66 20 69 74 20 69 66 20 69 74 20 69 73 20 6e 6f 74 20 61 20 6c 69 73 74 0a 61 6c 72 65 61 .of.it.if.it.is.not.a.list.alrea
98c00 64 79 2e 20 49 66 20 74 68 65 72 65 20 61 72 65 20 6d 6f 72 65 20 66 6f 72 6d 73 2c 20 69 6e 73 dy..If.there.are.more.forms,.ins
98c20 65 72 74 20 74 68 65 20 66 69 72 73 74 20 66 6f 72 6d 20 61 73 20 74 68 65 0a 6c 61 73 74 20 69 ert.the.first.form.as.the.last.i
98c40 74 65 6d 20 69 6e 20 73 65 63 6f 6e 64 20 66 6f 72 6d 2c 20 65 74 63 2e 0a 0a 40 65 78 61 6d 70 tem.in.second.form,.etc...@examp
98c60 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 3e 3e 20 27 28 31 20 32 20 33 29 20 28 2d 6d 61 70 20 27 73 le.@group.(->>.'(1.2.3).(-map.'s
98c80 71 75 61 72 65 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 34 20 39 29 0a 40 65 quare)).....@result{}.(1.4.9).@e
98ca0 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 3e 3e 20 27 28 31 20 32 20 33 29 20 28 2d nd.group.@group.(->>.'(1.2.3).(-
98cc0 6d 61 70 20 27 73 71 75 61 72 65 29 20 28 2d 72 65 6d 6f 76 65 20 27 65 76 65 6e 3f 29 29 0a 20 map.'square).(-remove.'even?))..
98ce0 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 39 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 ...@result{}.(1.9).@end.group.@g
98d00 72 6f 75 70 0a 28 2d 3e 3e 20 27 28 31 20 32 20 33 29 20 28 2d 6d 61 70 20 27 73 71 75 61 72 65 roup.(->>.'(1.2.3).(-map.'square
98d20 29 20 28 2d 72 65 64 75 63 65 20 27 2b 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 31 34 ).(-reduce.'+)).....@result{}.14
98d40 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 .@end.group.@end.example.@end.de
98d60 66 6d 61 63 0a 0a 40 61 6e 63 68 6f 72 7b 2d 2d 3e 7d 0a 40 64 65 66 6d 61 63 20 2d 2d 3e 20 28 fmac..@anchor{-->}.@defmac.-->.(
98d80 78 20 26 72 65 73 74 20 66 6f 72 6d 73 29 0a 53 74 61 72 74 69 6e 67 20 77 69 74 68 20 74 68 65 x.&rest.forms).Starting.with.the
98da0 20 76 61 6c 75 65 20 6f 66 20 40 76 61 72 7b 78 7d 2c 20 74 68 72 65 61 64 20 65 61 63 68 20 65 .value.of.@var{x},.thread.each.e
98dc0 78 70 72 65 73 73 69 6f 6e 20 74 68 72 6f 75 67 68 20 40 76 61 72 7b 66 6f 72 6d 73 7d 2e 0a 0a xpression.through.@var{forms}...
98de0 49 6e 73 65 72 74 20 40 76 61 72 7b 78 7d 20 61 74 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 20 73 Insert.@var{x}.at.the.position.s
98e00 69 67 6e 69 66 69 65 64 20 62 79 20 74 68 65 20 73 79 6d 62 6f 6c 20 40 63 6f 64 65 7b 69 74 7d ignified.by.the.symbol.@code{it}
98e20 20 69 6e 20 74 68 65 20 66 69 72 73 74 0a 66 6f 72 6d 2e 20 20 49 66 20 74 68 65 72 65 20 61 72 .in.the.first.form...If.there.ar
98e40 65 20 6d 6f 72 65 20 66 6f 72 6d 73 2c 20 69 6e 73 65 72 74 20 74 68 65 20 66 69 72 73 74 20 66 e.more.forms,.insert.the.first.f
98e60 6f 72 6d 20 61 74 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 0a 73 69 67 6e 69 66 69 65 64 20 62 79 orm.at.the.position.signified.by
98e80 20 40 63 6f 64 65 7b 69 74 7d 20 69 6e 20 69 6e 20 73 65 63 6f 6e 64 20 66 6f 72 6d 2c 20 65 74 .@code{it}.in.in.second.form,.et
98ea0 63 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 2d 3e 20 22 64 65 66 22 20 28 c...@example.@group.(-->."def".(
98ec0 63 6f 6e 63 61 74 20 22 61 62 63 22 20 69 74 20 22 67 68 69 22 29 29 0a 20 20 20 20 40 72 65 73 concat."abc".it."ghi")).....@res
98ee0 75 6c 74 7b 7d 20 22 61 62 63 64 65 66 67 68 69 22 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 ult{}."abcdefghi".@end.group.@gr
98f00 6f 75 70 0a 28 2d 2d 3e 20 22 64 65 66 22 20 28 63 6f 6e 63 61 74 20 22 61 62 63 22 20 69 74 20 oup.(-->."def".(concat."abc".it.
98f20 22 67 68 69 22 29 20 28 75 70 63 61 73 65 20 69 74 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b "ghi").(upcase.it)).....@result{
98f40 7d 20 22 41 42 43 44 45 46 47 48 49 22 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a }."ABCDEFGHI".@end.group.@group.
98f60 28 2d 2d 3e 20 22 64 65 66 22 20 28 63 6f 6e 63 61 74 20 22 61 62 63 22 20 69 74 20 22 67 68 69 (-->."def".(concat."abc".it."ghi
98f80 22 29 20 75 70 63 61 73 65 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 22 41 42 43 44 45 46 ").upcase).....@result{}."ABCDEF
98fa0 47 48 49 22 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e GHI".@end.group.@end.example.@en
98fc0 64 20 64 65 66 6d 61 63 0a 0a 40 61 6e 63 68 6f 72 7b 2d 61 73 2d 3e 7d 0a 40 64 65 66 6d 61 63 d.defmac..@anchor{-as->}.@defmac
98fe0 20 2d 61 73 2d 3e 20 28 76 61 6c 75 65 20 76 61 72 69 61 62 6c 65 20 26 72 65 73 74 20 66 6f 72 .-as->.(value.variable.&rest.for
99000 6d 73 29 0a 53 74 61 72 74 69 6e 67 20 77 69 74 68 20 40 76 61 72 7b 76 61 6c 75 65 7d 2c 20 74 ms).Starting.with.@var{value},.t
99020 68 72 65 61 64 20 40 76 61 72 7b 76 61 72 69 61 62 6c 65 7d 20 74 68 72 6f 75 67 68 20 40 76 61 hread.@var{variable}.through.@va
99040 72 7b 66 6f 72 6d 73 7d 2e 0a 0a 49 6e 20 74 68 65 20 66 69 72 73 74 20 66 6f 72 6d 2c 20 62 69 r{forms}...In.the.first.form,.bi
99060 6e 64 20 40 76 61 72 7b 76 61 72 69 61 62 6c 65 7d 20 74 6f 20 40 76 61 72 7b 76 61 6c 75 65 7d nd.@var{variable}.to.@var{value}
99080 2e 20 20 49 6e 20 74 68 65 20 73 65 63 6f 6e 64 20 66 6f 72 6d 2c 20 62 69 6e 64 0a 40 76 61 72 ...In.the.second.form,.bind.@var
990a0 7b 76 61 72 69 61 62 6c 65 7d 20 74 6f 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 74 68 65 20 {variable}.to.the.result.of.the.
990c0 66 69 72 73 74 20 66 6f 72 6d 2c 20 61 6e 64 20 73 6f 20 66 6f 72 74 68 2e 0a 0a 40 65 78 61 6d first.form,.and.so.forth...@exam
990e0 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 61 73 2d 3e 20 33 20 6d 79 2d 76 61 72 20 28 31 2b 20 6d ple.@group.(-as->.3.my-var.(1+.m
99100 79 2d 76 61 72 29 20 28 6c 69 73 74 20 6d 79 2d 76 61 72 29 20 28 6d 61 70 63 61 72 20 28 6c 61 y-var).(list.my-var).(mapcar.(la
99120 6d 62 64 61 20 28 65 6c 65 29 20 28 2a 20 32 20 65 6c 65 29 29 20 6d 79 2d 76 61 72 29 29 0a 20 mbda.(ele).(*.2.ele)).my-var))..
99140 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 38 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f ...@result{}.(8).@end.group.@gro
99160 75 70 0a 28 2d 61 73 2d 3e 20 33 20 6d 79 2d 76 61 72 20 31 2b 29 0a 20 20 20 20 40 72 65 73 75 up.(-as->.3.my-var.1+).....@resu
99180 6c 74 7b 7d 20 34 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 61 73 2d 3e 20 lt{}.4.@end.group.@group.(-as->.
991a0 33 20 6d 79 2d 76 61 72 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 33 0a 40 65 6e 64 20 67 3.my-var).....@result{}.3.@end.g
991c0 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 6d 61 63 0a 0a 40 roup.@end.example.@end.defmac..@
991e0 61 6e 63 68 6f 72 7b 2d 73 6f 6d 65 2d 3e 7d 0a 40 64 65 66 6d 61 63 20 2d 73 6f 6d 65 2d 3e 20 anchor{-some->}.@defmac.-some->.
99200 28 78 20 26 6f 70 74 69 6f 6e 61 6c 20 66 6f 72 6d 20 26 72 65 73 74 20 6d 6f 72 65 29 0a 57 68 (x.&optional.form.&rest.more).Wh
99220 65 6e 20 65 78 70 72 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 72 65 61 64 20 69 74 20 74 68 en.expr.is.non-nil,.thread.it.th
99240 72 6f 75 67 68 20 74 68 65 20 66 69 72 73 74 20 66 6f 72 6d 20 28 76 69 61 20 40 63 6f 64 65 7b rough.the.first.form.(via.@code{
99260 2d 3e 7d 20 28 40 70 78 72 65 66 7b 2d 3e 7d 29 29 2c 0a 61 6e 64 20 77 68 65 6e 20 74 68 61 74 ->}.(@pxref{->})),.and.when.that
99280 20 72 65 73 75 6c 74 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 72 6f 75 67 68 20 74 68 65 20 .result.is.non-nil,.through.the.
992a0 6e 65 78 74 20 66 6f 72 6d 2c 20 65 74 63 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 next.form,.etc...@example.@group
992c0 0a 28 2d 73 6f 6d 65 2d 3e 20 27 28 32 20 33 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b .(-some->.'(2.3.5)).....@result{
992e0 7d 20 28 32 20 33 20 35 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 73 6f }.(2.3.5).@end.group.@group.(-so
99300 6d 65 2d 3e 20 35 20 73 71 75 61 72 65 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 32 35 0a me->.5.square).....@result{}.25.
99320 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 73 6f 6d 65 2d 3e 20 35 20 65 76 65 @end.group.@group.(-some->.5.eve
99340 6e 3f 20 73 71 75 61 72 65 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e n?.square).....@result{}.nil.@en
99360 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 6d 61 63 d.group.@end.example.@end.defmac
99380 0a 0a 40 61 6e 63 68 6f 72 7b 2d 73 6f 6d 65 2d 3e 3e 7d 0a 40 64 65 66 6d 61 63 20 2d 73 6f 6d ..@anchor{-some->>}.@defmac.-som
993a0 65 2d 3e 3e 20 28 78 20 26 6f 70 74 69 6f 6e 61 6c 20 66 6f 72 6d 20 26 72 65 73 74 20 6d 6f 72 e->>.(x.&optional.form.&rest.mor
993c0 65 29 0a 57 68 65 6e 20 65 78 70 72 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 72 65 61 64 20 e).When.expr.is.non-nil,.thread.
993e0 69 74 20 74 68 72 6f 75 67 68 20 74 68 65 20 66 69 72 73 74 20 66 6f 72 6d 20 28 76 69 61 20 40 it.through.the.first.form.(via.@
99400 63 6f 64 65 7b 2d 3e 3e 7d 20 28 40 70 78 72 65 66 7b 2d 3e 3e 7d 29 29 2c 0a 61 6e 64 20 77 68 code{->>}.(@pxref{->>})),.and.wh
99420 65 6e 20 74 68 61 74 20 72 65 73 75 6c 74 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 72 6f 75 en.that.result.is.non-nil,.throu
99440 67 68 20 74 68 65 20 6e 65 78 74 20 66 6f 72 6d 2c 20 65 74 63 2e 0a 0a 40 65 78 61 6d 70 6c 65 gh.the.next.form,.etc...@example
99460 0a 40 67 72 6f 75 70 0a 28 2d 73 6f 6d 65 2d 3e 3e 20 27 28 31 20 32 20 33 29 20 28 2d 6d 61 70 .@group.(-some->>.'(1.2.3).(-map
99480 20 27 73 71 75 61 72 65 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 34 20 39 29 .'square)).....@result{}.(1.4.9)
994a0 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 73 6f 6d 65 2d 3e 3e 20 27 28 31 .@end.group.@group.(-some->>.'(1
994c0 20 33 20 35 29 20 28 2d 6c 61 73 74 20 27 65 76 65 6e 3f 29 20 28 2b 20 31 30 30 29 29 0a 20 20 .3.5).(-last.'even?).(+.100))...
994e0 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 ..@result{}.nil.@end.group.@grou
99500 70 0a 28 2d 73 6f 6d 65 2d 3e 3e 20 27 28 32 20 34 20 36 29 20 28 2d 6c 61 73 74 20 27 65 76 65 p.(-some->>.'(2.4.6).(-last.'eve
99520 6e 3f 29 20 28 2b 20 31 30 30 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 31 30 36 0a 40 n?).(+.100)).....@result{}.106.@
99540 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 6d end.group.@end.example.@end.defm
99560 61 63 0a 0a 40 61 6e 63 68 6f 72 7b 2d 73 6f 6d 65 2d 2d 3e 7d 0a 40 64 65 66 6d 61 63 20 2d 73 ac..@anchor{-some-->}.@defmac.-s
99580 6f 6d 65 2d 2d 3e 20 28 65 78 70 72 20 26 72 65 73 74 20 66 6f 72 6d 73 29 0a 54 68 72 65 61 64 ome-->.(expr.&rest.forms).Thread
995a0 20 40 76 61 72 7b 65 78 70 72 7d 20 74 68 72 6f 75 67 68 20 40 76 61 72 7b 66 6f 72 6d 73 7d 20 .@var{expr}.through.@var{forms}.
995c0 76 69 61 20 40 63 6f 64 65 7b 2d 2d 3e 7d 20 28 40 70 78 72 65 66 7b 2d 2d 3e 7d 29 2c 20 77 68 via.@code{-->}.(@pxref{-->}),.wh
995e0 69 6c 65 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 57 68 65 6e 20 ile.the.result.is.non-nil..When.
99600 40 76 61 72 7b 65 78 70 72 7d 20 65 76 61 6c 75 61 74 65 73 20 74 6f 20 6e 6f 6e 2d 6e 69 6c 2c @var{expr}.evaluates.to.non-nil,
99620 20 74 68 72 65 61 64 20 74 68 65 20 72 65 73 75 6c 74 20 74 68 72 6f 75 67 68 20 74 68 65 0a 66 .thread.the.result.through.the.f
99640 69 72 73 74 20 6f 66 20 40 76 61 72 7b 66 6f 72 6d 73 7d 2c 20 61 6e 64 20 77 68 65 6e 20 74 68 irst.of.@var{forms},.and.when.th
99660 61 74 20 72 65 73 75 6c 74 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 72 65 61 64 20 69 74 0a at.result.is.non-nil,.thread.it.
99680 74 68 72 6f 75 67 68 20 74 68 65 20 6e 65 78 74 20 66 6f 72 6d 2c 20 65 74 63 2e 0a 0a 40 65 78 through.the.next.form,.etc...@ex
996a0 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 73 6f 6d 65 2d 2d 3e 20 22 64 65 66 22 20 28 63 6f ample.@group.(-some-->."def".(co
996c0 6e 63 61 74 20 22 61 62 63 22 20 69 74 20 22 67 68 69 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c ncat."abc".it."ghi")).....@resul
996e0 74 7b 7d 20 22 61 62 63 64 65 66 67 68 69 22 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 t{}."abcdefghi".@end.group.@grou
99700 70 0a 28 2d 73 6f 6d 65 2d 2d 3e 20 6e 69 6c 20 28 63 6f 6e 63 61 74 20 22 61 62 63 22 20 69 74 p.(-some-->.nil.(concat."abc".it
99720 20 22 67 68 69 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 ."ghi")).....@result{}.nil.@end.
99740 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 73 6f 6d 65 2d 2d 3e 20 27 28 30 20 31 29 20 28 2d group.@group.(-some-->.'(0.1).(-
99760 72 65 6d 6f 76 65 20 23 27 6e 61 74 6e 75 6d 70 20 69 74 29 20 28 61 70 70 65 6e 64 20 69 74 20 remove.#'natnump.it).(append.it.
99780 69 74 29 20 28 2d 6d 61 70 20 23 27 31 2b 20 69 74 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b it).(-map.#'1+.it)).....@result{
997a0 7d 20 28 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e }.().@end.group.@end.example.@en
997c0 64 20 64 65 66 6d 61 63 0a 0a 40 61 6e 63 68 6f 72 7b 2d 64 6f 74 6f 7d 0a 40 64 65 66 6d 61 63 d.defmac..@anchor{-doto}.@defmac
997e0 20 2d 64 6f 74 6f 20 28 69 6e 69 74 20 26 72 65 73 74 20 66 6f 72 6d 73 29 0a 45 76 61 6c 75 61 .-doto.(init.&rest.forms).Evalua
99800 74 65 20 40 76 61 72 7b 69 6e 69 74 7d 20 61 6e 64 20 70 61 73 73 20 69 74 20 61 73 20 61 72 67 te.@var{init}.and.pass.it.as.arg
99820 75 6d 65 6e 74 20 74 6f 20 40 76 61 72 7b 66 6f 72 6d 73 7d 20 77 69 74 68 20 40 63 6f 64 65 7b ument.to.@var{forms}.with.@code{
99840 2d 3e 7d 20 28 40 70 78 72 65 66 7b 2d 3e 7d 29 2e 0a 54 68 65 20 40 76 61 72 7b 72 65 73 75 6c ->}.(@pxref{->})..The.@var{resul
99860 74 7d 20 6f 66 20 65 76 61 6c 75 61 74 69 6e 67 20 40 76 61 72 7b 69 6e 69 74 7d 20 69 73 20 74 t}.of.evaluating.@var{init}.is.t
99880 68 72 65 61 64 65 64 20 74 68 72 6f 75 67 68 20 65 61 63 68 20 6f 66 20 40 76 61 72 7b 66 6f 72 hreaded.through.each.of.@var{for
998a0 6d 73 7d 0a 69 6e 64 69 76 69 64 75 61 6c 6c 79 20 75 73 69 6e 67 20 40 63 6f 64 65 7b 2d 3e 7d ms}.individually.using.@code{->}
998c0 20 28 40 70 78 72 65 66 7b 2d 3e 7d 29 2c 20 77 68 69 63 68 20 73 65 65 2e 20 20 54 68 65 20 72 .(@pxref{->}),.which.see...The.r
998e0 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 40 76 61 72 7b 72 65 73 75 6c 74 7d 2c 0a 77 68 69 eturn.value.is.@var{result},.whi
99900 63 68 20 40 76 61 72 7b 66 6f 72 6d 73 7d 20 6d 61 79 20 68 61 76 65 20 6d 6f 64 69 66 69 65 64 ch.@var{forms}.may.have.modified
99920 20 62 79 20 73 69 64 65 20 65 66 66 65 63 74 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 .by.side.effect...@example.@grou
99940 70 0a 28 2d 64 6f 74 6f 20 28 6c 69 73 74 20 31 20 32 20 33 29 20 70 6f 70 20 70 6f 70 29 0a 20 p.(-doto.(list.1.2.3).pop.pop)..
99960 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 33 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f ...@result{}.(3).@end.group.@gro
99980 75 70 0a 28 2d 64 6f 74 6f 20 28 63 6f 6e 73 20 31 20 32 29 20 28 73 65 74 63 61 72 20 33 29 20 up.(-doto.(cons.1.2).(setcar.3).
999a0 28 73 65 74 63 64 72 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 33 20 2e 20 34 (setcdr.4)).....@result{}.(3...4
999c0 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 67 65 74 68 61 73 68 20 27 6b 20 ).@end.group.@group.(gethash.'k.
999e0 28 2d 2d 64 6f 74 6f 20 28 6d 61 6b 65 2d 68 61 73 68 2d 74 61 62 6c 65 29 20 28 70 75 74 68 61 (--doto.(make-hash-table).(putha
99a00 73 68 20 27 6b 20 27 76 20 69 74 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 76 0a 40 sh.'k.'v.it))).....@result{}.v.@
99a20 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 6d end.group.@end.example.@end.defm
99a40 61 63 0a 0a 40 6e 6f 64 65 20 42 69 6e 64 69 6e 67 0a 40 73 65 63 74 69 6f 6e 20 42 69 6e 64 69 ac..@node.Binding.@section.Bindi
99a60 6e 67 0a 0a 4d 61 63 72 6f 73 20 74 68 61 74 20 63 6f 6d 62 69 6e 65 20 40 63 6f 64 65 7b 6c 65 ng..Macros.that.combine.@code{le
99a80 74 7d 20 61 6e 64 20 40 63 6f 64 65 7b 6c 65 74 2a 7d 20 77 69 74 68 20 64 65 73 74 72 75 63 74 t}.and.@code{let*}.with.destruct
99aa0 75 72 69 6e 67 20 61 6e 64 20 66 6c 6f 77 20 63 6f 6e 74 72 6f 6c 2e 0a 0a 40 61 6e 63 68 6f 72 uring.and.flow.control...@anchor
99ac0 7b 2d 77 68 65 6e 2d 6c 65 74 7d 0a 40 64 65 66 6d 61 63 20 2d 77 68 65 6e 2d 6c 65 74 20 28 28 {-when-let}.@defmac.-when-let.((
99ae0 76 61 72 20 76 61 6c 29 20 26 72 65 73 74 20 62 6f 64 79 29 0a 49 66 20 40 76 61 72 7b 76 61 6c var.val).&rest.body).If.@var{val
99b00 7d 20 65 76 61 6c 75 61 74 65 73 20 74 6f 20 6e 6f 6e 2d 6e 69 6c 2c 20 62 69 6e 64 20 69 74 20 }.evaluates.to.non-nil,.bind.it.
99b20 74 6f 20 40 76 61 72 7b 76 61 72 7d 20 61 6e 64 20 65 78 65 63 75 74 65 20 62 6f 64 79 2e 0a 0a to.@var{var}.and.execute.body...
99b40 4e 6f 74 65 3a 20 62 69 6e 64 69 6e 67 20 69 73 20 64 6f 6e 65 20 61 63 63 6f 72 64 69 6e 67 20 Note:.binding.is.done.according.
99b60 74 6f 20 40 63 6f 64 65 7b 2d 6c 65 74 7d 20 28 40 70 78 72 65 66 7b 2d 6c 65 74 7d 29 2e 0a 0a to.@code{-let}.(@pxref{-let})...
99b80 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 77 68 65 6e 2d 6c 65 74 20 28 6d 61 74 63 @example.@group.(-when-let.(matc
99ba0 68 2d 69 6e 64 65 78 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 64 22 20 22 61 62 63 64 22 h-index.(string-match."d"."abcd"
99bc0 29 29 20 28 2b 20 6d 61 74 63 68 2d 69 6e 64 65 78 20 32 29 29 0a 20 20 20 20 40 72 65 73 75 6c )).(+.match-index.2)).....@resul
99be0 74 7b 7d 20 35 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 77 68 65 6e 2d 6c t{}.5.@end.group.@group.(-when-l
99c00 65 74 20 28 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 66 6f 6f 29 20 28 6c 69 73 74 20 3a 66 6f 6f et.((&plist.:foo.foo).(list.:foo
99c20 20 22 66 6f 6f 22 29 29 20 66 6f 6f 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 22 66 6f 6f ."foo")).foo).....@result{}."foo
99c40 22 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 77 68 65 6e 2d 6c 65 74 20 28 ".@end.group.@group.(-when-let.(
99c60 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 66 6f 6f 29 20 28 6c 69 73 74 20 3a 62 61 72 20 22 62 61 (&plist.:foo.foo).(list.:bar."ba
99c80 72 22 29 29 20 66 6f 6f 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 r")).foo).....@result{}.nil.@end
99ca0 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 6d 61 63 0a .group.@end.example.@end.defmac.
99cc0 0a 40 61 6e 63 68 6f 72 7b 2d 77 68 65 6e 2d 6c 65 74 2a 7d 0a 40 64 65 66 6d 61 63 20 2d 77 68 .@anchor{-when-let*}.@defmac.-wh
99ce0 65 6e 2d 6c 65 74 2a 20 28 76 61 72 73 2d 76 61 6c 73 20 26 72 65 73 74 20 62 6f 64 79 29 0a 49 en-let*.(vars-vals.&rest.body).I
99d00 66 20 61 6c 6c 20 40 76 61 72 7b 76 61 6c 73 7d 20 65 76 61 6c 75 61 74 65 20 74 6f 20 74 72 75 f.all.@var{vals}.evaluate.to.tru
99d20 65 2c 20 62 69 6e 64 20 74 68 65 6d 20 74 6f 20 74 68 65 69 72 20 63 6f 72 72 65 73 70 6f 6e 64 e,.bind.them.to.their.correspond
99d40 69 6e 67 0a 40 76 61 72 7b 76 61 72 73 7d 20 61 6e 64 20 65 78 65 63 75 74 65 20 62 6f 64 79 2e ing.@var{vars}.and.execute.body.
99d60 20 40 76 61 72 7b 76 61 72 73 2d 76 61 6c 73 7d 20 73 68 6f 75 6c 64 20 62 65 20 61 20 6c 69 73 .@var{vars-vals}.should.be.a.lis
99d80 74 20 6f 66 20 28 40 76 61 72 7b 76 61 72 7d 20 40 76 61 72 7b 76 61 6c 7d 29 0a 70 61 69 72 73 t.of.(@var{var}.@var{val}).pairs
99da0 2e 0a 0a 4e 6f 74 65 3a 20 62 69 6e 64 69 6e 67 20 69 73 20 64 6f 6e 65 20 61 63 63 6f 72 64 69 ...Note:.binding.is.done.accordi
99dc0 6e 67 20 74 6f 20 40 63 6f 64 65 7b 2d 6c 65 74 2a 7d 20 28 40 70 78 72 65 66 7b 2d 6c 65 74 2a ng.to.@code{-let*}.(@pxref{-let*
99de0 7d 29 2e 20 20 40 76 61 72 7b 76 61 6c 73 7d 20 61 72 65 20 65 76 61 6c 75 61 74 65 64 0a 73 65 })...@var{vals}.are.evaluated.se
99e00 71 75 65 6e 74 69 61 6c 6c 79 2c 20 61 6e 64 20 65 76 61 6c 75 61 74 69 6f 6e 20 73 74 6f 70 73 quentially,.and.evaluation.stops
99e20 20 61 66 74 65 72 20 74 68 65 20 66 69 72 73 74 20 6e 69 6c 20 40 76 61 72 7b 76 61 6c 7d 20 69 .after.the.first.nil.@var{val}.i
99e40 73 0a 65 6e 63 6f 75 6e 74 65 72 65 64 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a s.encountered...@example.@group.
99e60 28 2d 77 68 65 6e 2d 6c 65 74 2a 20 28 28 78 20 35 29 20 28 79 20 33 29 20 28 7a 20 28 2b 20 79 (-when-let*.((x.5).(y.3).(z.(+.y
99e80 20 34 29 29 29 20 28 2b 20 78 20 79 20 7a 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 31 .4))).(+.x.y.z)).....@result{}.1
99ea0 35 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 77 68 65 6e 2d 6c 65 74 2a 20 5.@end.group.@group.(-when-let*.
99ec0 28 28 78 20 35 29 20 28 79 20 6e 69 6c 29 20 28 7a 20 37 29 29 20 28 2b 20 78 20 79 20 7a 29 29 ((x.5).(y.nil).(z.7)).(+.x.y.z))
99ee0 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 .....@result{}.nil.@end.group.@e
99f00 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 6d 61 63 0a 0a 40 61 6e 63 68 6f 72 7b nd.example.@end.defmac..@anchor{
99f20 2d 69 66 2d 6c 65 74 7d 0a 40 64 65 66 6d 61 63 20 2d 69 66 2d 6c 65 74 20 28 28 76 61 72 20 76 -if-let}.@defmac.-if-let.((var.v
99f40 61 6c 29 20 74 68 65 6e 20 26 72 65 73 74 20 65 6c 73 65 29 0a 49 66 20 40 76 61 72 7b 76 61 6c al).then.&rest.else).If.@var{val
99f60 7d 20 65 76 61 6c 75 61 74 65 73 20 74 6f 20 6e 6f 6e 2d 6e 69 6c 2c 20 62 69 6e 64 20 69 74 20 }.evaluates.to.non-nil,.bind.it.
99f80 74 6f 20 40 76 61 72 7b 76 61 72 7d 20 61 6e 64 20 64 6f 20 40 76 61 72 7b 74 68 65 6e 7d 2c 0a to.@var{var}.and.do.@var{then},.
99fa0 6f 74 68 65 72 77 69 73 65 20 64 6f 20 40 76 61 72 7b 65 6c 73 65 7d 2e 0a 0a 4e 6f 74 65 3a 20 otherwise.do.@var{else}...Note:.
99fc0 62 69 6e 64 69 6e 67 20 69 73 20 64 6f 6e 65 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 40 63 6f binding.is.done.according.to.@co
99fe0 64 65 7b 2d 6c 65 74 7d 20 28 40 70 78 72 65 66 7b 2d 6c 65 74 7d 29 2e 0a 0a 40 65 78 61 6d 70 de{-let}.(@pxref{-let})...@examp
9a000 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 69 66 2d 6c 65 74 20 28 6d 61 74 63 68 2d 69 6e 64 65 78 20 le.@group.(-if-let.(match-index.
9a020 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 64 22 20 22 61 62 63 22 29 29 20 28 2b 20 6d 61 74 (string-match."d"."abc")).(+.mat
9a040 63 68 2d 69 6e 64 65 78 20 33 29 20 37 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 37 0a 40 ch-index.3).7).....@result{}.7.@
9a060 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 69 66 2d 6c 65 74 20 28 65 76 65 6e end.group.@group.(--if-let.(even
9a080 3f 20 34 29 20 69 74 20 6e 69 6c 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 74 0a 40 65 6e ?.4).it.nil).....@result{}.t.@en
9a0a0 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 6d 61 63 d.group.@end.example.@end.defmac
9a0c0 0a 0a 40 61 6e 63 68 6f 72 7b 2d 69 66 2d 6c 65 74 2a 7d 0a 40 64 65 66 6d 61 63 20 2d 69 66 2d ..@anchor{-if-let*}.@defmac.-if-
9a0e0 6c 65 74 2a 20 28 76 61 72 73 2d 76 61 6c 73 20 74 68 65 6e 20 26 72 65 73 74 20 65 6c 73 65 29 let*.(vars-vals.then.&rest.else)
9a100 0a 49 66 20 61 6c 6c 20 40 76 61 72 7b 76 61 6c 73 7d 20 65 76 61 6c 75 61 74 65 20 74 6f 20 74 .If.all.@var{vals}.evaluate.to.t
9a120 72 75 65 2c 20 62 69 6e 64 20 74 68 65 6d 20 74 6f 20 74 68 65 69 72 20 63 6f 72 72 65 73 70 6f rue,.bind.them.to.their.correspo
9a140 6e 64 69 6e 67 0a 40 76 61 72 7b 76 61 72 73 7d 20 61 6e 64 20 64 6f 20 40 76 61 72 7b 74 68 65 nding.@var{vars}.and.do.@var{the
9a160 6e 7d 2c 20 6f 74 68 65 72 77 69 73 65 20 64 6f 20 40 76 61 72 7b 65 6c 73 65 7d 2e 20 40 76 61 n},.otherwise.do.@var{else}..@va
9a180 72 7b 76 61 72 73 2d 76 61 6c 73 7d 20 73 68 6f 75 6c 64 20 62 65 20 61 20 6c 69 73 74 0a 6f 66 r{vars-vals}.should.be.a.list.of
9a1a0 20 28 40 76 61 72 7b 76 61 72 7d 20 40 76 61 72 7b 76 61 6c 7d 29 20 70 61 69 72 73 2e 0a 0a 4e .(@var{var}.@var{val}).pairs...N
9a1c0 6f 74 65 3a 20 62 69 6e 64 69 6e 67 20 69 73 20 64 6f 6e 65 20 61 63 63 6f 72 64 69 6e 67 20 74 ote:.binding.is.done.according.t
9a1e0 6f 20 40 63 6f 64 65 7b 2d 6c 65 74 2a 7d 20 28 40 70 78 72 65 66 7b 2d 6c 65 74 2a 7d 29 2e 20 o.@code{-let*}.(@pxref{-let*})..
9a200 20 40 76 61 72 7b 76 61 6c 73 7d 20 61 72 65 20 65 76 61 6c 75 61 74 65 64 0a 73 65 71 75 65 6e .@var{vals}.are.evaluated.sequen
9a220 74 69 61 6c 6c 79 2c 20 61 6e 64 20 65 76 61 6c 75 61 74 69 6f 6e 20 73 74 6f 70 73 20 61 66 74 tially,.and.evaluation.stops.aft
9a240 65 72 20 74 68 65 20 66 69 72 73 74 20 6e 69 6c 20 40 76 61 72 7b 76 61 6c 7d 20 69 73 0a 65 6e er.the.first.nil.@var{val}.is.en
9a260 63 6f 75 6e 74 65 72 65 64 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 69 66 countered...@example.@group.(-if
9a280 2d 6c 65 74 2a 20 28 28 78 20 35 29 20 28 79 20 33 29 20 28 7a 20 37 29 29 20 28 2b 20 78 20 79 -let*.((x.5).(y.3).(z.7)).(+.x.y
9a2a0 20 7a 29 20 22 66 6f 6f 22 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 31 35 0a 40 65 6e 64 .z)."foo").....@result{}.15.@end
9a2c0 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 69 66 2d 6c 65 74 2a 20 28 28 78 20 35 29 20 28 .group.@group.(-if-let*.((x.5).(
9a2e0 79 20 6e 69 6c 29 20 28 7a 20 37 29 29 20 28 2b 20 78 20 79 20 7a 29 20 22 66 6f 6f 22 29 0a 20 y.nil).(z.7)).(+.x.y.z)."foo")..
9a300 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 22 66 6f 6f 22 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 ...@result{}."foo".@end.group.@g
9a320 72 6f 75 70 0a 28 2d 69 66 2d 6c 65 74 2a 20 28 28 28 5f 20 5f 20 78 29 20 27 28 6e 69 6c 20 6e roup.(-if-let*.(((_._.x).'(nil.n
9a340 69 6c 20 37 29 29 29 20 78 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 37 0a 40 65 6e 64 20 il.7))).x).....@result{}.7.@end.
9a360 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 6d 61 63 0a 0a group.@end.example.@end.defmac..
9a380 40 61 6e 63 68 6f 72 7b 2d 6c 65 74 7d 0a 40 64 65 66 6d 61 63 20 2d 6c 65 74 20 28 76 61 72 6c @anchor{-let}.@defmac.-let.(varl
9a3a0 69 73 74 20 26 72 65 73 74 20 62 6f 64 79 29 0a 42 69 6e 64 20 76 61 72 69 61 62 6c 65 73 20 61 ist.&rest.body).Bind.variables.a
9a3c0 63 63 6f 72 64 69 6e 67 20 74 6f 20 40 76 61 72 7b 76 61 72 6c 69 73 74 7d 20 74 68 65 6e 20 65 ccording.to.@var{varlist}.then.e
9a3e0 76 61 6c 20 40 76 61 72 7b 62 6f 64 79 7d 2e 0a 0a 40 76 61 72 7b 76 61 72 6c 69 73 74 7d 20 69 val.@var{body}...@var{varlist}.i
9a400 73 20 61 20 6c 69 73 74 20 6f 66 20 6c 69 73 74 73 20 6f 66 20 74 68 65 20 66 6f 72 6d 20 28 40 s.a.list.of.lists.of.the.form.(@
9a420 76 61 72 7b 70 61 74 74 65 72 6e 7d 20 40 76 61 72 7b 73 6f 75 72 63 65 7d 29 2e 20 20 45 61 63 var{pattern}.@var{source})...Eac
9a440 68 0a 40 76 61 72 7b 70 61 74 74 65 72 6e 7d 20 69 73 20 6d 61 74 63 68 65 64 20 61 67 61 69 6e h.@var{pattern}.is.matched.again
9a460 73 74 20 74 68 65 20 40 76 61 72 7b 73 6f 75 72 63 65 7d 20 22 73 74 72 75 63 74 75 72 61 6c 6c st.the.@var{source}."structurall
9a480 79 22 2e 20 20 40 76 61 72 7b 73 6f 75 72 63 65 7d 0a 69 73 20 6f 6e 6c 79 20 65 76 61 6c 75 61 y"...@var{source}.is.only.evalua
9a4a0 74 65 64 20 6f 6e 63 65 20 66 6f 72 20 65 61 63 68 20 40 76 61 72 7b 70 61 74 74 65 72 6e 7d 2e ted.once.for.each.@var{pattern}.
9a4c0 20 20 45 61 63 68 20 40 76 61 72 7b 70 61 74 74 65 72 6e 7d 20 69 73 20 6d 61 74 63 68 65 64 0a ..Each.@var{pattern}.is.matched.
9a4e0 72 65 63 75 72 73 69 76 65 6c 79 2c 20 61 6e 64 20 63 61 6e 20 74 68 65 72 65 66 6f 72 65 20 63 recursively,.and.can.therefore.c
9a500 6f 6e 74 61 69 6e 20 73 75 62 2d 70 61 74 74 65 72 6e 73 20 77 68 69 63 68 20 61 72 65 0a 6d 61 ontain.sub-patterns.which.are.ma
9a520 74 63 68 65 64 20 61 67 61 69 6e 73 74 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 73 75 62 2d tched.against.corresponding.sub-
9a540 65 78 70 72 65 73 73 69 6f 6e 73 20 6f 66 20 40 76 61 72 7b 73 6f 75 72 63 65 7d 2e 0a 0a 41 6c expressions.of.@var{source}...Al
9a560 6c 20 74 68 65 20 53 4f 55 52 43 45 73 20 61 72 65 20 65 76 61 6c 6c 65 64 20 62 65 66 6f 72 65 l.the.SOURCEs.are.evalled.before
9a580 20 61 6e 79 20 73 79 6d 62 6f 6c 73 20 61 72 65 0a 62 6f 75 6e 64 20 28 69 2e 65 2e 20 22 69 6e .any.symbols.are.bound.(i.e.."in
9a5a0 20 70 61 72 61 6c 6c 65 6c 22 29 2e 0a 0a 49 66 20 40 76 61 72 7b 76 61 72 6c 69 73 74 7d 20 6f .parallel")...If.@var{varlist}.o
9a5c0 6e 6c 79 20 63 6f 6e 74 61 69 6e 73 20 6f 6e 65 20 28 40 76 61 72 7b 70 61 74 74 65 72 6e 7d 20 nly.contains.one.(@var{pattern}.
9a5e0 40 76 61 72 7b 73 6f 75 72 63 65 7d 29 20 65 6c 65 6d 65 6e 74 2c 20 79 6f 75 20 63 61 6e 0a 6f @var{source}).element,.you.can.o
9a600 70 74 69 6f 6e 61 6c 6c 79 20 73 70 65 63 69 66 79 20 69 74 20 75 73 69 6e 67 20 61 20 76 65 63 ptionally.specify.it.using.a.vec
9a620 74 6f 72 20 61 6e 64 20 64 69 73 63 61 72 64 69 6e 67 20 74 68 65 0a 6f 75 74 65 72 2d 6d 6f 73 tor.and.discarding.the.outer-mos
9a640 74 20 70 61 72 65 6e 73 2e 20 20 54 68 75 73 0a 0a 20 20 28 2d 6c 65 74 20 28 28 40 76 61 72 7b t.parens...Thus....(-let.((@var{
9a660 70 61 74 74 65 72 6e 7d 20 40 76 61 72 7b 73 6f 75 72 63 65 7d 29 29 20 40 64 6f 74 73 7b 7d 29 pattern}.@var{source})).@dots{})
9a680 0a 0a 62 65 63 6f 6d 65 73 0a 0a 20 20 28 2d 6c 65 74 20 5b 40 76 61 72 7b 70 61 74 74 65 72 6e ..becomes....(-let.[@var{pattern
9a6a0 7d 20 40 76 61 72 7b 73 6f 75 72 63 65 7d 5d 20 40 64 6f 74 73 7b 7d 29 2e 0a 0a 40 63 6f 64 65 }.@var{source}].@dots{})...@code
9a6c0 7b 2d 6c 65 74 7d 20 28 40 70 78 72 65 66 7b 2d 6c 65 74 7d 29 20 75 73 65 73 20 61 20 63 6f 6e {-let}.(@pxref{-let}).uses.a.con
9a6e0 76 65 6e 74 69 6f 6e 20 6f 66 20 6e 6f 74 20 62 69 6e 64 69 6e 67 20 70 6c 61 63 65 73 20 28 73 vention.of.not.binding.places.(s
9a700 79 6d 62 6f 6c 73 29 20 73 74 61 72 74 69 6e 67 0a 77 69 74 68 20 5f 20 77 68 65 6e 65 76 65 72 ymbols).starting.with._.whenever
9a720 20 69 74 27 73 20 70 6f 73 73 69 62 6c 65 2e 20 20 59 6f 75 20 63 61 6e 20 75 73 65 20 74 68 69 .it's.possible...You.can.use.thi
9a740 73 20 74 6f 20 73 6b 69 70 20 6f 76 65 72 0a 65 6e 74 72 69 65 73 20 79 6f 75 20 64 6f 6e 27 74 s.to.skip.over.entries.you.don't
9a760 20 63 61 72 65 20 61 62 6f 75 74 2e 20 20 48 6f 77 65 76 65 72 2c 20 74 68 69 73 20 69 73 20 6e .care.about...However,.this.is.n
9a780 6f 74 20 2a 61 6c 77 61 79 73 2a 0a 70 6f 73 73 69 62 6c 65 20 28 61 73 20 61 20 72 65 73 75 6c ot.*always*.possible.(as.a.resul
9a7a0 74 20 6f 66 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 29 20 61 6e 64 20 74 68 65 73 65 20 73 t.of.implementation).and.these.s
9a7c0 79 6d 62 6f 6c 73 20 6d 69 67 68 74 0a 67 65 74 20 62 6f 75 6e 64 20 74 6f 20 75 6e 64 65 66 69 ymbols.might.get.bound.to.undefi
9a7e0 6e 65 64 20 76 61 6c 75 65 73 2e 0a 0a 46 6f 6c 6c 6f 77 69 6e 67 20 69 73 20 74 68 65 20 6f 76 ned.values...Following.is.the.ov
9a800 65 72 76 69 65 77 20 6f 66 20 73 75 70 70 6f 72 74 65 64 20 70 61 74 74 65 72 6e 73 2e 20 20 52 erview.of.supported.patterns...R
9a820 65 6d 65 6d 62 65 72 20 74 68 61 74 0a 70 61 74 74 65 72 6e 73 20 63 61 6e 20 62 65 20 6d 61 74 emember.that.patterns.can.be.mat
9a840 63 68 65 64 20 72 65 63 75 72 73 69 76 65 6c 79 2c 20 73 6f 20 65 76 65 72 79 20 61 2c 20 62 2c ched.recursively,.so.every.a,.b,
9a860 20 61 4b 20 69 6e 20 74 68 65 0a 66 6f 6c 6c 6f 77 69 6e 67 20 63 61 6e 20 62 65 20 61 20 6d 61 .aK.in.the.following.can.be.a.ma
9a880 74 63 68 69 6e 67 20 63 6f 6e 73 74 72 75 63 74 20 61 6e 64 20 6e 6f 74 20 6e 65 63 65 73 73 61 tching.construct.and.not.necessa
9a8a0 72 69 6c 79 20 61 0a 73 79 6d 62 6f 6c 2f 76 61 72 69 61 62 6c 65 2e 0a 0a 53 79 6d 62 6f 6c 3a rily.a.symbol/variable...Symbol:
9a8c0 0a 0a 20 20 61 20 2d 20 62 69 6e 64 20 74 68 65 20 40 76 61 72 7b 73 6f 75 72 63 65 7d 20 74 6f ....a.-.bind.the.@var{source}.to
9a8e0 20 40 76 61 72 7b 61 7d 2e 20 20 54 68 69 73 20 69 73 20 6a 75 73 74 20 6c 69 6b 65 20 72 65 67 .@var{a}...This.is.just.like.reg
9a900 75 6c 61 72 20 40 63 6f 64 65 7b 6c 65 74 7d 2e 0a 0a 43 6f 6e 73 65 73 20 61 6e 64 20 6c 69 73 ular.@code{let}...Conses.and.lis
9a920 74 73 3a 0a 0a 20 20 28 61 29 20 2d 20 62 69 6e 64 20 40 63 6f 64 65 7b 63 61 72 7d 20 6f 66 20 ts:....(a).-.bind.@code{car}.of.
9a940 63 6f 6e 73 2f 6c 69 73 74 20 74 6f 20 40 76 61 72 7b 61 7d 0a 0a 20 20 28 61 20 2e 20 62 29 20 cons/list.to.@var{a}....(a...b).
9a960 2d 20 62 69 6e 64 20 63 61 72 20 6f 66 20 63 6f 6e 73 20 74 6f 20 40 76 61 72 7b 61 7d 20 61 6e -.bind.car.of.cons.to.@var{a}.an
9a980 64 20 40 63 6f 64 65 7b 63 64 72 7d 20 74 6f 20 40 76 61 72 7b 62 7d 0a 0a 20 20 28 61 20 62 29 d.@code{cdr}.to.@var{b}....(a.b)
9a9a0 20 2d 20 62 69 6e 64 20 63 61 72 20 6f 66 20 6c 69 73 74 20 74 6f 20 40 76 61 72 7b 61 7d 20 61 .-.bind.car.of.list.to.@var{a}.a
9a9c0 6e 64 20 40 63 6f 64 65 7b 63 61 64 72 7d 20 74 6f 20 40 76 61 72 7b 62 7d 0a 0a 20 20 28 61 31 nd.@code{cadr}.to.@var{b}....(a1
9a9e0 20 61 32 20 61 33 20 40 64 6f 74 73 7b 7d 29 20 2d 20 62 69 6e 64 20 30 74 68 20 63 61 72 20 6f .a2.a3.@dots{}).-.bind.0th.car.o
9aa00 66 20 6c 69 73 74 20 74 6f 20 40 76 61 72 7b 61 31 7d 2c 20 31 73 74 20 74 6f 20 40 76 61 72 7b f.list.to.@var{a1},.1st.to.@var{
9aa20 61 32 7d 2c 20 32 6e 64 20 74 6f 20 40 76 61 72 7b 61 33 7d 40 65 6e 64 64 6f 74 73 7b 7d 0a 0a a2},.2nd.to.@var{a3}@enddots{}..
9aa40 20 20 28 61 31 20 61 32 20 61 33 20 40 64 6f 74 73 7b 7d 20 61 4e 20 2e 20 72 65 73 74 29 20 2d ..(a1.a2.a3.@dots{}.aN...rest).-
9aa60 20 61 73 20 61 62 6f 76 65 2c 20 62 75 74 20 62 69 6e 64 20 74 68 65 20 4e 74 68 20 63 64 72 20 .as.above,.but.bind.the.Nth.cdr.
9aa80 74 6f 20 40 76 61 72 7b 72 65 73 74 7d 2e 0a 0a 56 65 63 74 6f 72 73 3a 0a 0a 20 20 5b 61 5d 20 to.@var{rest}...Vectors:....[a].
9aaa0 2d 20 62 69 6e 64 20 30 74 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 61 20 6e 6f 6e 2d 6c 69 73 74 -.bind.0th.element.of.a.non-list
9aac0 20 73 65 71 75 65 6e 63 65 20 74 6f 20 40 76 61 72 7b 61 7d 20 28 77 6f 72 6b 73 20 77 69 74 68 .sequence.to.@var{a}.(works.with
9aae0 0a 20 20 20 20 20 20 20 20 76 65 63 74 6f 72 73 2c 20 73 74 72 69 6e 67 73 2c 20 62 69 74 20 61 .........vectors,.strings,.bit.a
9ab00 72 72 61 79 73 40 64 6f 74 73 7b 7d 29 0a 0a 20 20 5b 61 31 20 61 32 20 61 33 20 40 64 6f 74 73 rrays@dots{})....[a1.a2.a3.@dots
9ab20 7b 7d 5d 20 2d 20 62 69 6e 64 20 30 74 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 6e 6f 6e 2d 6c 69 {}].-.bind.0th.element.of.non-li
9ab40 73 74 20 73 65 71 75 65 6e 63 65 20 74 6f 20 40 76 61 72 7b 61 30 7d 2c 20 31 73 74 20 74 6f 0a st.sequence.to.@var{a0},.1st.to.
9ab60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 40 76 61 72 7b 61 31 7d 2c 20 32 6e 64 ...................@var{a1},.2nd
9ab80 20 74 6f 20 40 76 61 72 7b 61 32 7d 2c 20 40 65 6e 64 64 6f 74 73 7b 7d 0a 20 20 20 20 20 20 20 .to.@var{a2},.@enddots{}........
9aba0 20 20 20 20 20 20 20 20 20 20 20 20 49 66 20 74 68 65 20 40 76 61 72 7b 70 61 74 74 65 72 6e 7d ............If.the.@var{pattern}
9abc0 20 69 73 20 73 68 6f 72 74 65 72 20 74 68 61 6e 20 40 76 61 72 7b 73 6f 75 72 63 65 7d 2c 20 74 .is.shorter.than.@var{source},.t
9abe0 68 65 20 76 61 6c 75 65 73 20 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 he.values.at....................
9ac00 70 6c 61 63 65 73 20 6e 6f 74 20 69 6e 20 40 76 61 72 7b 70 61 74 74 65 72 6e 7d 20 61 72 65 20 places.not.in.@var{pattern}.are.
9ac20 69 67 6e 6f 72 65 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 66 20 74 ignored.....................If.t
9ac40 68 65 20 40 76 61 72 7b 70 61 74 74 65 72 6e 7d 20 69 73 20 6c 6f 6e 67 65 72 20 74 68 61 6e 20 he.@var{pattern}.is.longer.than.
9ac60 40 76 61 72 7b 73 6f 75 72 63 65 7d 2c 20 61 6e 20 40 63 6f 64 65 7b 65 72 72 6f 72 7d 20 69 73 @var{source},.an.@code{error}.is
9ac80 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 6e 2e 0a 0a 20 20 5b ....................thrown.....[
9aca0 61 31 20 61 32 20 61 33 20 40 64 6f 74 73 7b 7d 20 26 72 65 73 74 20 72 65 73 74 5d 20 2d 20 61 a1.a2.a3.@dots{}.&rest.rest].-.a
9acc0 73 20 61 62 6f 76 65 2c 20 62 75 74 20 62 69 6e 64 20 74 68 65 20 72 65 73 74 20 6f 66 0a 20 20 s.above,.but.bind.the.rest.of...
9ace0 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 74 68 65 20 ............................the.
9ad00 73 65 71 75 65 6e 63 65 20 74 6f 20 40 76 61 72 7b 72 65 73 74 7d 2e 20 20 54 68 69 73 20 69 73 sequence.to.@var{rest}...This.is
9ad20 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 63 ...............................c
9ad40 6f 6e 63 65 70 74 75 61 6c 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 69 6d 70 72 6f 70 65 72 onceptually.the.same.as.improper
9ad60 20 6c 69 73 74 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 .list...........................
9ad80 20 20 20 20 6d 61 74 63 68 69 6e 67 20 28 61 31 20 61 32 20 40 64 6f 74 73 7b 7d 20 61 4e 20 2e ....matching.(a1.a2.@dots{}.aN..
9ada0 20 72 65 73 74 29 0a 0a 4b 65 79 2f 76 61 6c 75 65 20 73 74 6f 72 65 73 3a 0a 0a 20 20 28 26 70 .rest)..Key/value.stores:....(&p
9adc0 6c 69 73 74 20 6b 65 79 30 20 61 30 20 40 64 6f 74 73 7b 7d 20 6b 65 79 4e 20 61 4e 29 20 2d 20 list.key0.a0.@dots{}.keyN.aN).-.
9ade0 62 69 6e 64 20 76 61 6c 75 65 20 6d 61 70 70 65 64 20 62 79 20 6b 65 79 4b 20 69 6e 20 74 68 65 bind.value.mapped.by.keyK.in.the
9ae00 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 ................................
9ae20 20 20 40 76 61 72 7b 73 6f 75 72 63 65 7d 20 70 6c 69 73 74 20 74 6f 20 61 4b 2e 20 20 49 66 20 ..@var{source}.plist.to.aK...If.
9ae40 74 68 65 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 the.............................
9ae60 20 20 20 20 20 76 61 6c 75 65 20 69 73 20 6e 6f 74 20 66 6f 75 6e 64 2c 20 61 4b 20 69 73 20 6e .....value.is.not.found,.aK.is.n
9ae80 69 6c 2e 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 il..............................
9aea0 20 20 20 20 20 55 73 65 73 20 40 63 6f 64 65 7b 70 6c 69 73 74 2d 67 65 74 7d 20 74 6f 20 66 65 .....Uses.@code{plist-get}.to.fe
9aec0 74 63 68 20 76 61 6c 75 65 73 2e 0a 0a 20 20 28 26 61 6c 69 73 74 20 6b 65 79 30 20 61 30 20 40 tch.values.....(&alist.key0.a0.@
9aee0 64 6f 74 73 7b 7d 20 6b 65 79 4e 20 61 4e 29 20 2d 20 62 69 6e 64 20 76 61 6c 75 65 20 6d 61 70 dots{}.keyN.aN).-.bind.value.map
9af00 70 65 64 20 62 79 20 6b 65 79 4b 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ped.by.keyK.in.the..............
9af20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 40 76 61 72 7b 73 6f 75 72 63 65 7d ....................@var{source}
9af40 20 61 6c 69 73 74 20 74 6f 20 61 4b 2e 20 20 49 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 .alist.to.aK...If.the...........
9af60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 20 69 73 20 .......................value.is.
9af80 6e 6f 74 20 66 6f 75 6e 64 2c 20 61 4b 20 69 73 20 6e 69 6c 2e 0a 20 20 20 20 20 20 20 20 20 20 not.found,.aK.is.nil............
9afa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 55 73 65 73 20 40 63 6f 64 .......................Uses.@cod
9afc0 65 7b 61 73 73 6f 63 7d 20 74 6f 20 66 65 74 63 68 20 76 61 6c 75 65 73 2e 0a 0a 20 20 28 26 68 e{assoc}.to.fetch.values.....(&h
9afe0 61 73 68 20 6b 65 79 30 20 61 30 20 40 64 6f 74 73 7b 7d 20 6b 65 79 4e 20 61 4e 29 20 2d 20 62 ash.key0.a0.@dots{}.keyN.aN).-.b
9b000 69 6e 64 20 76 61 6c 75 65 20 6d 61 70 70 65 64 20 62 79 20 6b 65 79 4b 20 69 6e 20 74 68 65 0a ind.value.mapped.by.keyK.in.the.
9b020 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 ................................
9b040 40 76 61 72 7b 73 6f 75 72 63 65 7d 20 68 61 73 68 20 74 61 62 6c 65 20 74 6f 20 61 4b 2e 20 20 @var{source}.hash.table.to.aK...
9b060 49 66 20 74 68 65 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 If.the..........................
9b080 20 20 20 20 20 20 20 76 61 6c 75 65 20 69 73 20 6e 6f 74 20 66 6f 75 6e 64 2c 20 61 4b 20 69 73 .......value.is.not.found,.aK.is
9b0a0 20 6e 69 6c 2e 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 .nil............................
9b0c0 20 20 20 20 20 20 55 73 65 73 20 40 63 6f 64 65 7b 67 65 74 68 61 73 68 7d 20 74 6f 20 66 65 74 ......Uses.@code{gethash}.to.fet
9b0e0 63 68 20 76 61 6c 75 65 73 2e 0a 0a 46 75 72 74 68 65 72 2c 20 73 70 65 63 69 61 6c 20 6b 65 79 ch.values...Further,.special.key
9b100 77 6f 72 64 20 26 6b 65 79 73 20 73 75 70 70 6f 72 74 73 20 22 69 6e 6c 69 6e 65 22 20 6d 61 74 word.&keys.supports."inline".mat
9b120 63 68 69 6e 67 20 6f 66 0a 70 6c 69 73 74 2d 6c 69 6b 65 20 6b 65 79 2d 76 61 6c 75 65 20 70 61 ching.of.plist-like.key-value.pa
9b140 69 72 73 2c 20 73 69 6d 69 6c 61 72 6c 79 20 74 6f 20 26 6b 65 79 73 20 6b 65 79 77 6f 72 64 20 irs,.similarly.to.&keys.keyword.
9b160 6f 66 0a 40 63 6f 64 65 7b 63 6c 2d 64 65 66 75 6e 7d 2e 0a 0a 20 20 28 61 31 20 61 32 20 40 64 of.@code{cl-defun}.....(a1.a2.@d
9b180 6f 74 73 7b 7d 20 61 4e 20 26 6b 65 79 73 20 6b 65 79 31 20 62 31 20 40 64 6f 74 73 7b 7d 20 6b ots{}.aN.&keys.key1.b1.@dots{}.k
9b1a0 65 79 4e 20 62 4b 29 0a 0a 54 68 69 73 20 62 69 6e 64 73 20 40 76 61 72 7b 6e 7d 20 76 61 6c 75 eyN.bK)..This.binds.@var{n}.valu
9b1c0 65 73 20 66 72 6f 6d 20 74 68 65 20 6c 69 73 74 20 74 6f 20 61 31 20 40 64 6f 74 73 7b 7d 20 61 es.from.the.list.to.a1.@dots{}.a
9b1e0 4e 2c 20 74 68 65 6e 20 69 6e 74 65 72 70 72 65 74 73 0a 74 68 65 20 63 64 72 20 61 73 20 61 20 N,.then.interprets.the.cdr.as.a.
9b200 70 6c 69 73 74 20 28 73 65 65 20 6b 65 79 2f 76 61 6c 75 65 20 6d 61 74 63 68 69 6e 67 20 61 62 plist.(see.key/value.matching.ab
9b220 6f 76 65 29 2e 0a 0a 40 76 61 72 7b 61 7d 20 73 68 6f 72 74 68 61 6e 64 20 6e 6f 74 61 74 69 6f ove)...@var{a}.shorthand.notatio
9b240 6e 20 66 6f 72 20 6b 76 2d 64 65 73 74 72 75 63 74 75 72 69 6e 67 20 65 78 69 73 74 73 20 77 68 n.for.kv-destructuring.exists.wh
9b260 69 63 68 20 61 6c 6c 6f 77 73 20 74 68 65 0a 70 61 74 74 65 72 6e 73 20 62 65 20 6f 70 74 69 6f ich.allows.the.patterns.be.optio
9b280 6e 61 6c 6c 79 20 6c 65 66 74 20 6f 75 74 20 61 6e 64 20 64 65 72 69 76 65 64 20 66 72 6f 6d 20 nally.left.out.and.derived.from.
9b2a0 74 68 65 20 6b 65 79 20 6e 61 6d 65 20 69 6e 0a 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 61 the.key.name.in.the.following.fa
9b2c0 73 68 69 6f 6e 3a 0a 0a 2d 20 61 20 6b 65 79 20 3a 66 6f 6f 20 69 73 20 63 6f 6e 76 65 72 74 65 shion:..-.a.key.:foo.is.converte
9b2e0 64 20 69 6e 74 6f 20 40 63 6f 64 65 7b 66 6f 6f 7d 20 70 61 74 74 65 72 6e 2c 0a 2d 20 61 20 6b d.into.@code{foo}.pattern,.-.a.k
9b300 65 79 20 27 62 61 72 20 69 73 20 63 6f 6e 76 65 72 74 65 64 20 69 6e 74 6f 20 40 63 6f 64 65 7b ey.'bar.is.converted.into.@code{
9b320 62 61 72 7d 20 70 61 74 74 65 72 6e 2c 0a 2d 20 61 20 6b 65 79 20 22 62 61 7a 22 20 69 73 20 63 bar}.pattern,.-.a.key."baz".is.c
9b340 6f 6e 76 65 72 74 65 64 20 69 6e 74 6f 20 40 63 6f 64 65 7b 62 61 7a 7d 20 70 61 74 74 65 72 6e onverted.into.@code{baz}.pattern
9b360 2e 0a 0a 54 68 61 74 20 69 73 2c 20 74 68 65 20 65 6e 74 69 72 65 20 76 61 6c 75 65 20 75 6e 64 ...That.is,.the.entire.value.und
9b380 65 72 20 74 68 65 20 6b 65 79 20 69 73 20 62 6f 75 6e 64 20 74 6f 20 74 68 65 20 64 65 72 69 76 er.the.key.is.bound.to.the.deriv
9b3a0 65 64 0a 76 61 72 69 61 62 6c 65 20 77 69 74 68 6f 75 74 20 61 6e 79 20 66 75 72 74 68 65 72 20 ed.variable.without.any.further.
9b3c0 64 65 73 74 72 75 63 74 75 72 69 6e 67 2e 0a 0a 54 68 69 73 20 69 73 20 70 6f 73 73 69 62 6c 65 destructuring...This.is.possible
9b3e0 20 6f 6e 6c 79 20 77 68 65 6e 20 74 68 65 20 66 6f 72 6d 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 68 .only.when.the.form.following.th
9b400 65 20 6b 65 79 20 69 73 20 6e 6f 74 20 61 0a 76 61 6c 69 64 20 70 61 74 74 65 72 6e 20 28 69 2e e.key.is.not.a.valid.pattern.(i.
9b420 65 2e 20 6e 6f 74 20 61 20 73 79 6d 62 6f 6c 2c 20 61 20 63 6f 6e 73 20 63 65 6c 6c 20 6f 72 20 e..not.a.symbol,.a.cons.cell.or.
9b440 61 20 76 65 63 74 6f 72 29 2e 0a 4f 74 68 65 72 77 69 73 65 20 74 68 65 20 6d 61 74 63 68 69 6e a.vector)..Otherwise.the.matchin
9b460 67 20 70 72 6f 63 65 65 64 73 20 61 73 20 75 73 75 61 6c 20 61 6e 64 20 69 6e 20 63 61 73 65 20 g.proceeds.as.usual.and.in.case.
9b480 6f 66 20 61 6e 0a 69 6e 76 61 6c 69 64 20 73 70 65 63 20 66 61 69 6c 73 20 77 69 74 68 20 61 6e of.an.invalid.spec.fails.with.an
9b4a0 20 65 72 72 6f 72 2e 0a 0a 54 68 75 73 20 74 68 65 20 70 61 74 74 65 72 6e 73 20 61 72 65 20 6e .error...Thus.the.patterns.are.n
9b4c0 6f 72 6d 61 6c 69 7a 65 64 20 61 73 20 66 6f 6c 6c 6f 77 73 3a 0a 0a 20 20 20 3b 3b 20 64 65 72 ormalized.as.follows:.....;;.der
9b4e0 69 76 65 20 61 6c 6c 20 74 68 65 20 6d 69 73 73 69 6e 67 20 70 61 74 74 65 72 6e 73 0a 20 20 20 ive.all.the.missing.patterns....
9b500 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 27 62 61 72 20 22 62 61 7a 22 29 20 3d 3e 20 28 26 70 6c (&plist.:foo.'bar."baz").=>.(&pl
9b520 69 73 74 20 3a 66 6f 6f 20 66 6f 6f 20 27 62 61 72 20 62 61 72 20 22 62 61 7a 22 20 62 61 7a 29 ist.:foo.foo.'bar.bar."baz".baz)
9b540 0a 0a 20 20 20 3b 3b 20 77 65 20 63 61 6e 20 73 70 65 63 69 66 79 20 73 6f 6d 65 20 62 75 74 20 .....;;.we.can.specify.some.but.
9b560 6e 6f 74 20 6f 74 68 65 72 73 0a 20 20 20 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 27 62 61 72 20 not.others....(&plist.:foo.'bar.
9b580 65 78 70 6c 69 63 69 74 2d 62 61 72 29 20 3d 3e 20 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 66 6f explicit-bar).=>.(&plist.:foo.fo
9b5a0 6f 20 27 62 61 72 20 65 78 70 6c 69 63 69 74 2d 62 61 72 29 0a 0a 20 20 20 3b 3b 20 6e 6f 74 68 o.'bar.explicit-bar).....;;.noth
9b5c0 69 6e 67 20 68 61 70 70 65 6e 73 2c 20 77 65 20 73 74 6f 72 65 20 3a 66 6f 6f 20 69 6e 20 78 0a ing.happens,.we.store.:foo.in.x.
9b5e0 20 20 20 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 78 29 20 3d 3e 20 28 26 70 6c 69 73 74 20 3a 66 ...(&plist.:foo.x).=>.(&plist.:f
9b600 6f 6f 20 78 29 0a 0a 20 20 20 3b 3b 20 6e 6f 74 68 69 6e 67 20 68 61 70 70 65 6e 73 2c 20 77 65 oo.x).....;;.nothing.happens,.we
9b620 20 6d 61 74 63 68 20 72 65 63 75 72 73 69 76 65 6c 79 0a 20 20 20 28 26 70 6c 69 73 74 20 3a 66 .match.recursively....(&plist.:f
9b640 6f 6f 20 28 61 20 62 20 63 29 29 20 3d 3e 20 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 28 61 20 62 oo.(a.b.c)).=>.(&plist.:foo.(a.b
9b660 20 63 29 29 0a 0a 59 6f 75 20 63 61 6e 20 6e 61 6d 65 20 74 68 65 20 73 6f 75 72 63 65 20 75 73 .c))..You.can.name.the.source.us
9b680 69 6e 67 20 74 68 65 20 73 79 6e 74 61 78 20 40 76 61 72 7b 73 79 6d 62 6f 6c 7d 20 26 61 73 20 ing.the.syntax.@var{symbol}.&as.
9b6a0 40 76 61 72 7b 70 61 74 74 65 72 6e 7d 2e 0a 54 68 69 73 20 73 79 6e 74 61 78 20 77 6f 72 6b 73 @var{pattern}..This.syntax.works
9b6c0 20 77 69 74 68 20 6c 69 73 74 73 20 28 70 72 6f 70 65 72 20 6f 72 20 69 6d 70 72 6f 70 65 72 29 .with.lists.(proper.or.improper)
9b6e0 2c 20 76 65 63 74 6f 72 73 20 61 6e 64 0a 61 6c 6c 20 74 79 70 65 73 20 6f 66 20 6d 61 70 73 2e ,.vectors.and.all.types.of.maps.
9b700 0a 0a 20 20 28 6c 69 73 74 20 26 61 73 20 61 20 62 20 63 29 20 28 6c 69 73 74 20 31 20 32 20 33 ....(list.&as.a.b.c).(list.1.2.3
9b720 29 0a 0a 62 69 6e 64 73 20 40 76 61 72 7b 61 7d 20 74 6f 20 31 2c 20 40 76 61 72 7b 62 7d 20 74 )..binds.@var{a}.to.1,.@var{b}.t
9b740 6f 20 32 2c 20 40 76 61 72 7b 63 7d 20 74 6f 20 33 20 61 6e 64 20 40 76 61 72 7b 6c 69 73 74 7d o.2,.@var{c}.to.3.and.@var{list}
9b760 20 74 6f 20 28 31 20 32 20 33 29 2e 0a 0a 53 69 6d 69 6c 61 72 6c 79 3a 0a 0a 20 20 28 62 6f 75 .to.(1.2.3)...Similarly:....(bou
9b780 6e 64 73 20 26 61 73 20 62 65 67 20 2e 20 65 6e 64 29 20 28 63 6f 6e 73 20 31 20 32 29 0a 0a 62 nds.&as.beg...end).(cons.1.2)..b
9b7a0 69 6e 64 73 20 40 76 61 72 7b 62 65 67 7d 20 74 6f 20 31 2c 20 40 76 61 72 7b 65 6e 64 7d 20 74 inds.@var{beg}.to.1,.@var{end}.t
9b7c0 6f 20 32 20 61 6e 64 20 40 76 61 72 7b 62 6f 75 6e 64 73 7d 20 74 6f 20 28 31 20 2e 20 32 29 2e o.2.and.@var{bounds}.to.(1...2).
9b7e0 0a 0a 20 20 28 69 74 65 6d 73 20 26 61 73 20 66 69 72 73 74 20 2e 20 72 65 73 74 29 20 28 6c 69 ....(items.&as.first...rest).(li
9b800 73 74 20 31 20 32 20 33 29 0a 0a 62 69 6e 64 73 20 40 76 61 72 7b 66 69 72 73 74 7d 20 74 6f 20 st.1.2.3)..binds.@var{first}.to.
9b820 31 2c 20 40 76 61 72 7b 72 65 73 74 7d 20 74 6f 20 28 32 20 33 29 20 61 6e 64 20 40 76 61 72 7b 1,.@var{rest}.to.(2.3).and.@var{
9b840 69 74 65 6d 73 7d 20 74 6f 20 28 31 20 32 20 33 29 0a 0a 20 20 5b 76 65 63 74 20 26 61 73 20 5f items}.to.(1.2.3)....[vect.&as._
9b860 20 62 20 63 5d 20 5b 31 20 32 20 33 5d 0a 0a 62 69 6e 64 73 20 40 76 61 72 7b 62 7d 20 74 6f 20 .b.c].[1.2.3]..binds.@var{b}.to.
9b880 32 2c 20 40 76 61 72 7b 63 7d 20 74 6f 20 33 20 61 6e 64 20 40 76 61 72 7b 76 65 63 74 7d 20 74 2,.@var{c}.to.3.and.@var{vect}.t
9b8a0 6f 20 5b 31 20 32 20 33 5d 20 28 5f 20 61 76 6f 69 64 73 20 62 69 6e 64 69 6e 67 20 61 73 20 75 o.[1.2.3].(_.avoids.binding.as.u
9b8c0 73 75 61 6c 29 2e 0a 0a 20 20 28 70 6c 69 73 74 20 26 61 73 20 26 70 6c 69 73 74 20 3a 62 20 62 sual).....(plist.&as.&plist.:b.b
9b8e0 29 20 28 6c 69 73 74 20 3a 61 20 31 20 3a 62 20 32 20 3a 63 20 33 29 0a 0a 62 69 6e 64 73 20 40 ).(list.:a.1.:b.2.:c.3)..binds.@
9b900 76 61 72 7b 62 7d 20 74 6f 20 32 20 61 6e 64 20 40 76 61 72 7b 70 6c 69 73 74 7d 20 74 6f 20 28 var{b}.to.2.and.@var{plist}.to.(
9b920 3a 61 20 31 20 3a 62 20 32 20 3a 63 20 33 29 2e 20 20 53 61 6d 65 20 66 6f 72 20 26 61 6c 69 73 :a.1.:b.2.:c.3)...Same.for.&alis
9b940 74 20 61 6e 64 20 26 68 61 73 68 2e 0a 0a 54 68 69 73 20 69 73 20 65 73 70 65 63 69 61 6c 6c 79 t.and.&hash...This.is.especially
9b960 20 75 73 65 66 75 6c 20 77 68 65 6e 20 77 65 20 77 61 6e 74 20 74 6f 20 63 61 70 74 75 72 65 20 .useful.when.we.want.to.capture.
9b980 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 61 0a 63 6f 6d 70 75 74 61 74 69 6f 6e 20 61 6e 64 20 the.result.of.a.computation.and.
9b9a0 64 65 73 74 72 75 63 74 75 72 65 20 61 74 20 74 68 65 20 73 61 6d 65 20 74 69 6d 65 2e 20 20 43 destructure.at.the.same.time...C
9b9c0 6f 6e 73 69 64 65 72 20 74 68 65 0a 66 6f 72 6d 20 28 66 75 6e 63 74 69 6f 6e 2d 72 65 74 75 72 onsider.the.form.(function-retur
9b9e0 6e 69 6e 67 2d 63 6f 6d 70 6c 65 78 2d 73 74 72 75 63 74 75 72 65 29 20 72 65 74 75 72 6e 69 6e ning-complex-structure).returnin
9ba00 67 20 61 20 6c 69 73 74 20 6f 66 0a 74 77 6f 20 76 65 63 74 6f 72 73 20 77 69 74 68 20 74 77 6f g.a.list.of.two.vectors.with.two
9ba20 20 69 74 65 6d 73 20 65 61 63 68 2e 20 20 57 65 20 77 61 6e 74 20 74 6f 20 63 61 70 74 75 72 65 .items.each...We.want.to.capture
9ba40 20 74 68 69 73 20 65 6e 74 69 72 65 0a 72 65 73 75 6c 74 20 61 6e 64 20 70 61 73 73 20 69 74 20 .this.entire.result.and.pass.it.
9ba60 74 6f 20 61 6e 6f 74 68 65 72 20 63 6f 6d 70 75 74 61 74 69 6f 6e 2c 20 62 75 74 20 61 74 20 74 to.another.computation,.but.at.t
9ba80 68 65 20 73 61 6d 65 20 74 69 6d 65 0a 77 65 20 77 61 6e 74 20 74 6f 20 67 65 74 20 74 68 65 20 he.same.time.we.want.to.get.the.
9baa0 73 65 63 6f 6e 64 20 69 74 65 6d 20 66 72 6f 6d 20 65 61 63 68 20 76 65 63 74 6f 72 2e 20 20 57 second.item.from.each.vector...W
9bac0 65 20 63 61 6e 20 61 63 68 69 65 76 65 0a 69 74 20 77 69 74 68 20 70 61 74 74 65 72 6e 0a 0a 20 e.can.achieve.it.with.pattern...
9bae0 20 28 72 65 73 75 6c 74 20 26 61 73 20 5b 5f 20 61 5d 20 5b 5f 20 62 5d 29 20 28 66 75 6e 63 74 .(result.&as.[_.a].[_.b]).(funct
9bb00 69 6f 6e 2d 72 65 74 75 72 6e 69 6e 67 2d 63 6f 6d 70 6c 65 78 2d 73 74 72 75 63 74 75 72 65 29 ion-returning-complex-structure)
9bb20 0a 0a 4e 6f 74 65 3a 20 43 6c 6f 6a 75 72 65 20 70 72 6f 67 72 61 6d 6d 65 72 73 20 6d 61 79 20 ..Note:.Clojure.programmers.may.
9bb40 6b 6e 6f 77 20 74 68 69 73 20 66 65 61 74 75 72 65 20 61 73 20 74 68 65 20 22 3a 61 73 0a 62 69 know.this.feature.as.the.":as.bi
9bb60 6e 64 69 6e 67 22 2e 20 20 54 68 65 20 64 69 66 66 65 72 65 6e 63 65 20 69 73 20 74 68 61 74 20 nding"...The.difference.is.that.
9bb80 77 65 20 70 75 74 20 74 68 65 20 26 61 73 20 61 74 20 74 68 65 20 66 72 6f 6e 74 0a 62 65 63 61 we.put.the.&as.at.the.front.beca
9bba0 75 73 65 20 77 65 20 6e 65 65 64 20 74 6f 20 73 75 70 70 6f 72 74 20 69 6d 70 72 6f 70 65 72 20 use.we.need.to.support.improper.
9bbc0 6c 69 73 74 20 62 69 6e 64 69 6e 67 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 list.binding...@example.@group.(
9bbe0 2d 6c 65 74 20 28 28 5b 61 20 28 62 20 63 29 20 64 5d 20 5b 31 20 28 32 20 33 29 20 34 5d 29 29 -let.(([a.(b.c).d].[1.(2.3).4]))
9bc00 20 28 6c 69 73 74 20 61 20 62 20 63 20 64 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 .(list.a.b.c.d)).....@result{}.(
9bc20 31 20 32 20 33 20 34 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 6c 65 74 1.2.3.4).@end.group.@group.(-let
9bc40 20 5b 28 61 20 62 20 63 20 2e 20 64 29 20 28 6c 69 73 74 20 31 20 32 20 33 20 34 20 35 20 36 29 .[(a.b.c...d).(list.1.2.3.4.5.6)
9bc60 5d 20 28 6c 69 73 74 20 61 20 62 20 63 20 64 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 ].(list.a.b.c.d)).....@result{}.
9bc80 28 31 20 32 20 33 20 28 34 20 35 20 36 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 (1.2.3.(4.5.6)).@end.group.@grou
9bca0 70 0a 28 2d 6c 65 74 20 5b 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 66 6f 6f 20 3a 62 61 72 20 62 p.(-let.[(&plist.:foo.foo.:bar.b
9bcc0 61 72 29 20 28 6c 69 73 74 20 3a 62 61 7a 20 33 20 3a 66 6f 6f 20 31 20 3a 71 75 78 20 34 20 3a ar).(list.:baz.3.:foo.1.:qux.4.:
9bce0 62 61 72 20 32 29 5d 20 28 6c 69 73 74 20 66 6f 6f 20 62 61 72 29 29 0a 20 20 20 20 40 72 65 73 bar.2)].(list.foo.bar)).....@res
9bd00 75 6c 74 7b 7d 20 28 31 20 32 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d ult{}.(1.2).@end.group.@end.exam
9bd20 70 6c 65 0a 40 65 6e 64 20 64 65 66 6d 61 63 0a 0a 40 61 6e 63 68 6f 72 7b 2d 6c 65 74 2a 7d 0a ple.@end.defmac..@anchor{-let*}.
9bd40 40 64 65 66 6d 61 63 20 2d 6c 65 74 2a 20 28 76 61 72 6c 69 73 74 20 26 72 65 73 74 20 62 6f 64 @defmac.-let*.(varlist.&rest.bod
9bd60 79 29 0a 42 69 6e 64 20 76 61 72 69 61 62 6c 65 73 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 40 y).Bind.variables.according.to.@
9bd80 76 61 72 7b 76 61 72 6c 69 73 74 7d 20 74 68 65 6e 20 65 76 61 6c 20 40 76 61 72 7b 62 6f 64 79 var{varlist}.then.eval.@var{body
9bda0 7d 2e 0a 0a 40 76 61 72 7b 76 61 72 6c 69 73 74 7d 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 6c }...@var{varlist}.is.a.list.of.l
9bdc0 69 73 74 73 20 6f 66 20 74 68 65 20 66 6f 72 6d 20 28 40 76 61 72 7b 70 61 74 74 65 72 6e 7d 20 ists.of.the.form.(@var{pattern}.
9bde0 40 76 61 72 7b 73 6f 75 72 63 65 7d 29 2e 20 20 45 61 63 68 0a 40 76 61 72 7b 70 61 74 74 65 72 @var{source})...Each.@var{patter
9be00 6e 7d 20 69 73 20 6d 61 74 63 68 65 64 20 61 67 61 69 6e 73 74 20 74 68 65 20 40 76 61 72 7b 73 n}.is.matched.against.the.@var{s
9be20 6f 75 72 63 65 7d 20 73 74 72 75 63 74 75 72 61 6c 6c 79 2e 20 20 40 76 61 72 7b 73 6f 75 72 63 ource}.structurally...@var{sourc
9be40 65 7d 20 69 73 0a 6f 6e 6c 79 20 65 76 61 6c 75 61 74 65 64 20 6f 6e 63 65 20 66 6f 72 20 65 61 e}.is.only.evaluated.once.for.ea
9be60 63 68 20 40 76 61 72 7b 70 61 74 74 65 72 6e 7d 2e 0a 0a 45 61 63 68 20 40 76 61 72 7b 73 6f 75 ch.@var{pattern}...Each.@var{sou
9be80 72 63 65 7d 20 63 61 6e 20 72 65 66 65 72 20 74 6f 20 74 68 65 20 73 79 6d 62 6f 6c 73 20 61 6c rce}.can.refer.to.the.symbols.al
9bea0 72 65 61 64 79 20 62 6f 75 6e 64 20 62 79 20 74 68 69 73 0a 40 76 61 72 7b 76 61 72 6c 69 73 74 ready.bound.by.this.@var{varlist
9bec0 7d 2e 20 20 54 68 69 73 20 69 73 20 75 73 65 66 75 6c 20 69 66 20 79 6f 75 20 77 61 6e 74 20 74 }...This.is.useful.if.you.want.t
9bee0 6f 20 64 65 73 74 72 75 63 74 75 72 65 20 40 76 61 72 7b 73 6f 75 72 63 65 7d 0a 72 65 63 75 72 o.destructure.@var{source}.recur
9bf00 73 69 76 65 6c 79 20 62 75 74 20 61 6c 73 6f 20 77 61 6e 74 20 74 6f 20 6e 61 6d 65 20 74 68 65 sively.but.also.want.to.name.the
9bf20 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 73 74 72 75 63 74 75 72 65 73 2e 0a 0a 53 65 65 20 40 .intermediate.structures...See.@
9bf40 63 6f 64 65 7b 2d 6c 65 74 7d 20 28 40 70 78 72 65 66 7b 2d 6c 65 74 7d 29 20 66 6f 72 20 74 68 code{-let}.(@pxref{-let}).for.th
9bf60 65 20 6c 69 73 74 20 6f 66 20 61 6c 6c 20 70 6f 73 73 69 62 6c 65 20 70 61 74 74 65 72 6e 73 2e e.list.of.all.possible.patterns.
9bf80 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 6c 65 74 2a 20 28 28 28 61 20 2e 20 ..@example.@group.(-let*.(((a...
9bfa0 62 29 20 28 63 6f 6e 73 20 31 20 32 29 29 20 28 28 63 20 2e 20 64 29 20 28 63 6f 6e 73 20 33 20 b).(cons.1.2)).((c...d).(cons.3.
9bfc0 34 29 29 29 20 28 6c 69 73 74 20 61 20 62 20 63 20 64 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 4))).(list.a.b.c.d)).....@result
9bfe0 7b 7d 20 28 31 20 32 20 33 20 34 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 {}.(1.2.3.4).@end.group.@group.(
9c000 2d 6c 65 74 2a 20 28 28 28 61 20 2e 20 62 29 20 28 63 6f 6e 73 20 31 20 28 63 6f 6e 73 20 32 20 -let*.(((a...b).(cons.1.(cons.2.
9c020 33 29 29 29 20 28 28 63 20 2e 20 64 29 20 62 29 29 20 28 6c 69 73 74 20 61 20 62 20 63 20 64 29 3))).((c...d).b)).(list.a.b.c.d)
9c040 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 28 32 20 2e 20 33 29 20 32 20 33 29 0a ).....@result{}.(1.(2...3).2.3).
9c060 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 6c 65 74 2a 20 28 28 28 26 61 6c 69 @end.group.@group.(-let*.(((&ali
9c080 73 74 20 22 66 6f 6f 22 20 66 6f 6f 20 22 62 61 72 22 20 62 61 72 29 20 28 6c 69 73 74 20 28 63 st."foo".foo."bar".bar).(list.(c
9c0a0 6f 6e 73 20 22 66 6f 6f 22 20 31 29 20 28 63 6f 6e 73 20 22 62 61 72 22 20 28 6c 69 73 74 20 27 ons."foo".1).(cons."bar".(list.'
9c0c0 61 20 27 62 20 27 63 29 29 29 29 20 28 28 61 20 62 20 63 29 20 62 61 72 29 29 20 28 6c 69 73 74 a.'b.'c)))).((a.b.c).bar)).(list
9c0e0 20 66 6f 6f 20 61 20 62 20 63 20 62 61 72 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 .foo.a.b.c.bar)).....@result{}.(
9c100 31 20 61 20 62 20 63 20 28 61 20 62 20 63 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 1.a.b.c.(a.b.c)).@end.group.@end
9c120 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 6d 61 63 0a 0a 40 61 6e 63 68 6f 72 7b 2d 6c .example.@end.defmac..@anchor{-l
9c140 61 6d 62 64 61 7d 0a 40 64 65 66 6d 61 63 20 2d 6c 61 6d 62 64 61 20 28 6d 61 74 63 68 2d 66 6f ambda}.@defmac.-lambda.(match-fo
9c160 72 6d 20 26 72 65 73 74 20 62 6f 64 79 29 0a 52 65 74 75 72 6e 20 61 20 6c 61 6d 62 64 61 20 77 rm.&rest.body).Return.a.lambda.w
9c180 68 69 63 68 20 64 65 73 74 72 75 63 74 75 72 65 73 20 69 74 73 20 69 6e 70 75 74 20 61 73 20 40 hich.destructures.its.input.as.@
9c1a0 76 61 72 7b 6d 61 74 63 68 2d 66 6f 72 6d 7d 20 61 6e 64 20 65 78 65 63 75 74 65 73 20 40 76 61 var{match-form}.and.executes.@va
9c1c0 72 7b 62 6f 64 79 7d 2e 0a 0a 4e 6f 74 65 20 74 68 61 74 20 79 6f 75 20 68 61 76 65 20 74 6f 20 r{body}...Note.that.you.have.to.
9c1e0 65 6e 63 6c 6f 73 65 20 74 68 65 20 40 76 61 72 7b 6d 61 74 63 68 2d 66 6f 72 6d 7d 20 69 6e 20 enclose.the.@var{match-form}.in.
9c200 61 20 70 61 69 72 20 6f 66 20 70 61 72 65 6e 73 2c 0a 73 75 63 68 20 74 68 61 74 3a 0a 0a 20 20 a.pair.of.parens,.such.that:....
9c220 28 2d 6c 61 6d 62 64 61 20 28 78 29 20 62 6f 64 79 29 0a 20 20 28 2d 6c 61 6d 62 64 61 20 28 78 (-lambda.(x).body)...(-lambda.(x
9c240 20 79 20 40 64 6f 74 73 7b 7d 29 20 62 6f 64 79 29 0a 0a 68 61 73 20 74 68 65 20 75 73 75 61 6c .y.@dots{}).body)..has.the.usual
9c260 20 73 65 6d 61 6e 74 69 63 73 20 6f 66 20 40 63 6f 64 65 7b 6c 61 6d 62 64 61 7d 2e 20 20 46 75 .semantics.of.@code{lambda}...Fu
9c280 72 74 68 65 72 6d 6f 72 65 2c 20 74 68 65 73 65 20 67 65 74 0a 74 72 61 6e 73 6c 61 74 65 64 20 rthermore,.these.get.translated.
9c2a0 69 6e 74 6f 20 6e 6f 72 6d 61 6c 20 40 63 6f 64 65 7b 6c 61 6d 62 64 61 7d 2c 20 73 6f 20 74 68 into.normal.@code{lambda},.so.th
9c2c0 65 72 65 20 69 73 20 6e 6f 20 70 65 72 66 6f 72 6d 61 6e 63 65 0a 70 65 6e 61 6c 74 79 2e 0a 0a ere.is.no.performance.penalty...
9c2e0 53 65 65 20 40 63 6f 64 65 7b 2d 6c 65 74 7d 20 28 40 70 78 72 65 66 7b 2d 6c 65 74 7d 29 20 66 See.@code{-let}.(@pxref{-let}).f
9c300 6f 72 20 61 20 64 65 73 63 72 69 70 74 69 6f 6e 20 6f 66 20 74 68 65 20 64 65 73 74 72 75 63 74 or.a.description.of.the.destruct
9c320 75 72 69 6e 67 20 6d 65 63 68 61 6e 69 73 6d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 uring.mechanism...@example.@grou
9c340 70 0a 28 2d 6d 61 70 20 28 2d 6c 61 6d 62 64 61 20 28 28 78 20 79 29 29 20 28 2b 20 78 20 79 29 p.(-map.(-lambda.((x.y)).(+.x.y)
9c360 29 20 27 28 28 31 20 32 29 20 28 33 20 34 29 20 28 35 20 36 29 29 29 0a 20 20 20 20 40 72 65 73 ).'((1.2).(3.4).(5.6))).....@res
9c380 75 6c 74 7b 7d 20 28 33 20 37 20 31 31 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 ult{}.(3.7.11).@end.group.@group
9c3a0 0a 28 2d 6d 61 70 20 28 2d 6c 61 6d 62 64 61 20 28 5b 78 20 79 5d 29 20 28 2b 20 78 20 79 29 29 .(-map.(-lambda.([x.y]).(+.x.y))
9c3c0 20 27 28 5b 31 20 32 5d 20 5b 33 20 34 5d 20 5b 35 20 36 5d 29 29 0a 20 20 20 20 40 72 65 73 75 .'([1.2].[3.4].[5.6])).....@resu
9c3e0 6c 74 7b 7d 20 28 33 20 37 20 31 31 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a lt{}.(3.7.11).@end.group.@group.
9c400 28 66 75 6e 63 61 6c 6c 20 28 2d 6c 61 6d 62 64 61 20 28 28 5f 20 2e 20 61 29 20 28 5f 20 2e 20 (funcall.(-lambda.((_...a).(_...
9c420 62 29 29 20 28 2d 63 6f 6e 63 61 74 20 61 20 62 29 29 20 27 28 31 20 32 20 33 29 20 27 28 34 20 b)).(-concat.a.b)).'(1.2.3).'(4.
9c440 35 20 36 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 32 20 33 20 35 20 36 29 0a 40 65 5.6)).....@result{}.(2.3.5.6).@e
9c460 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 6d 61 nd.group.@end.example.@end.defma
9c480 63 0a 0a 40 61 6e 63 68 6f 72 7b 2d 73 65 74 71 7d 0a 40 64 65 66 6d 61 63 20 2d 73 65 74 71 20 c..@anchor{-setq}.@defmac.-setq.
9c4a0 28 5b 6d 61 74 63 68 2d 66 6f 72 6d 20 76 61 6c 5d 20 2e 2e 2e 29 0a 42 69 6e 64 20 65 61 63 68 ([match-form.val]....).Bind.each
9c4c0 20 40 76 61 72 7b 6d 61 74 63 68 2d 66 6f 72 6d 7d 20 74 6f 20 74 68 65 20 76 61 6c 75 65 20 6f .@var{match-form}.to.the.value.o
9c4e0 66 20 69 74 73 20 40 76 61 72 7b 76 61 6c 7d 2e 0a 0a 40 76 61 72 7b 6d 61 74 63 68 2d 66 6f 72 f.its.@var{val}...@var{match-for
9c500 6d 7d 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 20 69 73 20 64 6f 6e 65 20 61 63 63 6f 72 64 69 m}.destructuring.is.done.accordi
9c520 6e 67 20 74 6f 20 74 68 65 20 72 75 6c 65 73 20 6f 66 20 40 63 6f 64 65 7b 2d 6c 65 74 7d 20 28 ng.to.the.rules.of.@code{-let}.(
9c540 40 70 78 72 65 66 7b 2d 6c 65 74 7d 29 2e 0a 0a 54 68 69 73 20 6d 61 63 72 6f 20 61 6c 6c 6f 77 @pxref{-let})...This.macro.allow
9c560 73 20 79 6f 75 20 74 6f 20 62 69 6e 64 20 6d 75 6c 74 69 70 6c 65 20 76 61 72 69 61 62 6c 65 73 s.you.to.bind.multiple.variables
9c580 20 62 79 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 0a 74 68 65 20 76 61 6c 75 65 2c 20 73 6f 20 .by.destructuring.the.value,.so.
9c5a0 66 6f 72 20 65 78 61 6d 70 6c 65 3a 0a 0a 20 20 28 2d 73 65 74 71 20 28 61 20 62 29 20 78 0a 20 for.example:....(-setq.(a.b).x..
9c5c0 20 20 20 20 20 20 20 20 28 26 70 6c 69 73 74 20 3a 63 20 63 29 20 70 6c 69 73 74 29 0a 0a 65 78 ........(&plist.:c.c).plist)..ex
9c5e0 70 61 6e 64 73 20 72 6f 75 67 68 6c 79 20 73 70 65 61 6b 69 6e 67 20 74 6f 20 74 68 65 20 66 6f pands.roughly.speaking.to.the.fo
9c600 6c 6c 6f 77 69 6e 67 20 63 6f 64 65 0a 0a 20 20 28 73 65 74 71 20 61 20 28 63 61 72 20 78 29 0a llowing.code....(setq.a.(car.x).
9c620 20 20 20 20 20 20 20 20 62 20 28 63 61 64 72 20 78 29 0a 20 20 20 20 20 20 20 20 63 20 28 70 6c ........b.(cadr.x).........c.(pl
9c640 69 73 74 2d 67 65 74 20 70 6c 69 73 74 20 3a 63 29 29 0a 0a 43 61 72 65 20 69 73 20 74 61 6b 65 ist-get.plist.:c))..Care.is.take
9c660 6e 20 74 6f 20 6f 6e 6c 79 20 65 76 61 6c 75 61 74 65 20 65 61 63 68 20 40 76 61 72 7b 76 61 6c n.to.only.evaluate.each.@var{val
9c680 7d 20 6f 6e 63 65 20 73 6f 20 74 68 61 74 20 69 6e 20 63 61 73 65 20 6f 66 0a 6d 75 6c 74 69 70 }.once.so.that.in.case.of.multip
9c6a0 6c 65 20 61 73 73 69 67 6e 6d 65 6e 74 73 20 69 74 20 64 6f 65 73 20 6e 6f 74 20 63 61 75 73 65 le.assignments.it.does.not.cause
9c6c0 20 75 6e 65 78 70 65 63 74 65 64 20 73 69 64 65 20 65 66 66 65 63 74 73 2e 0a 0a 40 65 78 61 6d .unexpected.side.effects...@exam
9c6e0 70 6c 65 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 28 61 29 20 28 2d 73 65 74 71 20 61 20 31 29 20 ple.@group.(let.(a).(-setq.a.1).
9c700 61 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 31 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 a).....@result{}.1.@end.group.@g
9c720 72 6f 75 70 0a 28 6c 65 74 20 28 61 20 62 29 20 28 2d 73 65 74 71 20 28 61 20 62 29 20 28 6c 69 roup.(let.(a.b).(-setq.(a.b).(li
9c740 73 74 20 31 20 32 29 29 20 28 6c 69 73 74 20 61 20 62 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 st.1.2)).(list.a.b)).....@result
9c760 7b 7d 20 28 31 20 32 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 {}.(1.2).@end.group.@group.(let.
9c780 28 63 29 20 28 2d 73 65 74 71 20 28 26 70 6c 69 73 74 20 3a 63 20 63 29 20 28 6c 69 73 74 20 3a (c).(-setq.(&plist.:c.c).(list.:
9c7a0 63 20 22 63 22 29 29 20 63 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 22 63 22 0a 40 65 6e c."c")).c).....@result{}."c".@en
9c7c0 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 6d 61 63 d.group.@end.example.@end.defmac
9c7e0 0a 0a 40 6e 6f 64 65 20 53 69 64 65 20 65 66 66 65 63 74 73 0a 40 73 65 63 74 69 6f 6e 20 53 69 ..@node.Side.effects.@section.Si
9c800 64 65 20 65 66 66 65 63 74 73 0a 0a 46 75 6e 63 74 69 6f 6e 73 20 69 74 65 72 61 74 69 6e 67 20 de.effects..Functions.iterating.
9c820 6f 76 65 72 20 6c 69 73 74 73 20 66 6f 72 20 73 69 64 65 20 65 66 66 65 63 74 20 6f 6e 6c 79 2e over.lists.for.side.effect.only.
9c840 0a 0a 40 61 6e 63 68 6f 72 7b 2d 65 61 63 68 7d 0a 40 64 65 66 75 6e 20 2d 65 61 63 68 20 28 6c ..@anchor{-each}.@defun.-each.(l
9c860 69 73 74 20 66 6e 29 0a 43 61 6c 6c 20 40 76 61 72 7b 66 6e 7d 20 6f 6e 20 65 61 63 68 20 65 6c ist.fn).Call.@var{fn}.on.each.el
9c880 65 6d 65 6e 74 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 52 65 74 75 72 6e 20 6e 69 6c 3b ement.of.@var{list}..Return.nil;
9c8a0 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 20 73 .this.function.is.intended.for.s
9c8c0 69 64 65 20 65 66 66 65 63 74 73 2e 0a 0a 49 74 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e ide.effects...Its.anaphoric.coun
9c8e0 74 65 72 70 61 72 74 20 69 73 20 40 63 6f 64 65 7b 2d 2d 65 61 63 68 7d 2e 0a 0a 46 6f 72 20 61 terpart.is.@code{--each}...For.a
9c900 63 63 65 73 73 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 65 6c 65 6d 65 6e 74 27 73 20 69 ccess.to.the.current.element's.i
9c920 6e 64 65 78 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 2c 20 73 65 65 0a 40 63 6f 64 65 7b 2d 65 ndex.in.@var{list},.see.@code{-e
9c940 61 63 68 2d 69 6e 64 65 78 65 64 7d 20 28 40 70 78 72 65 66 7b 2d 65 61 63 68 2d 69 6e 64 65 78 ach-indexed}.(@pxref{-each-index
9c960 65 64 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 28 6c 29 20 ed})...@example.@group.(let.(l).
9c980 28 2d 65 61 63 68 20 27 28 31 20 32 20 33 29 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 70 75 73 (-each.'(1.2.3).(lambda.(x).(pus
9c9a0 68 20 78 20 6c 29 29 29 20 6c 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 33 20 32 20 31 h.x.l))).l).....@result{}.(3.2.1
9c9c0 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 28 6c 29 20 28 2d 2d ).@end.group.@group.(let.(l).(--
9c9e0 65 61 63 68 20 27 28 31 20 32 20 33 29 20 28 70 75 73 68 20 69 74 20 6c 29 29 20 6c 29 0a 20 20 each.'(1.2.3).(push.it.l)).l)...
9ca00 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 33 20 32 20 31 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 ..@result{}.(3.2.1).@end.group.@
9ca20 67 72 6f 75 70 0a 28 2d 65 61 63 68 20 27 28 31 20 32 20 33 29 20 23 27 69 64 65 6e 74 69 74 79 group.(-each.'(1.2.3).#'identity
9ca40 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 ).....@result{}.nil.@end.group.@
9ca60 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b end.example.@end.defun..@anchor{
9ca80 2d 65 61 63 68 2d 77 68 69 6c 65 7d 0a 40 64 65 66 75 6e 20 2d 65 61 63 68 2d 77 68 69 6c 65 20 -each-while}.@defun.-each-while.
9caa0 28 6c 69 73 74 20 70 72 65 64 20 66 6e 29 0a 43 61 6c 6c 20 40 76 61 72 7b 66 6e 7d 20 6f 6e 20 (list.pred.fn).Call.@var{fn}.on.
9cac0 65 61 63 68 20 40 76 61 72 7b 69 74 65 6d 7d 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 2c 20 77 each.@var{item}.in.@var{list},.w
9cae0 68 69 6c 65 20 28 40 76 61 72 7b 70 72 65 64 7d 20 40 76 61 72 7b 69 74 65 6d 7d 29 20 69 73 20 hile.(@var{pred}.@var{item}).is.
9cb00 6e 6f 6e 2d 6e 69 6c 2e 0a 4f 6e 63 65 20 61 6e 20 40 76 61 72 7b 69 74 65 6d 7d 20 69 73 20 72 non-nil..Once.an.@var{item}.is.r
9cb20 65 61 63 68 65 64 20 66 6f 72 20 77 68 69 63 68 20 40 76 61 72 7b 70 72 65 64 7d 20 72 65 74 75 eached.for.which.@var{pred}.retu
9cb40 72 6e 73 20 6e 69 6c 2c 20 40 76 61 72 7b 66 6e 7d 20 69 73 20 6e 6f 0a 6c 6f 6e 67 65 72 20 63 rns.nil,.@var{fn}.is.no.longer.c
9cb60 61 6c 6c 65 64 2e 20 20 52 65 74 75 72 6e 20 6e 69 6c 3b 20 74 68 69 73 20 66 75 6e 63 74 69 6f alled...Return.nil;.this.functio
9cb80 6e 20 69 73 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 20 73 69 64 65 0a 65 66 66 65 63 74 73 2e 0a n.is.intended.for.side.effects..
9cba0 0a 49 74 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 40 63 .Its.anaphoric.counterpart.is.@c
9cbc0 6f 64 65 7b 2d 2d 65 61 63 68 2d 77 68 69 6c 65 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 ode{--each-while}...@example.@gr
9cbe0 6f 75 70 0a 28 6c 65 74 20 28 6c 29 20 28 2d 65 61 63 68 2d 77 68 69 6c 65 20 27 28 32 20 34 20 oup.(let.(l).(-each-while.'(2.4.
9cc00 35 20 36 29 20 23 27 65 76 65 6e 3f 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 70 75 73 68 20 78 5.6).#'even?.(lambda.(x).(push.x
9cc20 20 6c 29 29 29 20 6c 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 34 20 32 29 0a 40 65 6e .l))).l).....@result{}.(4.2).@en
9cc40 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 28 6c 29 20 28 2d 2d 65 61 63 68 2d d.group.@group.(let.(l).(--each-
9cc60 77 68 69 6c 65 20 27 28 31 20 32 20 33 20 34 29 20 28 3c 20 69 74 20 33 29 20 28 70 75 73 68 20 while.'(1.2.3.4).(<.it.3).(push.
9cc80 69 74 20 6c 29 29 20 6c 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 32 20 31 29 0a 40 65 it.l)).l).....@result{}.(2.1).@e
9cca0 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 28 28 73 20 30 29 29 20 28 2d 2d nd.group.@group.(let.((s.0)).(--
9ccc0 65 61 63 68 2d 77 68 69 6c 65 20 27 28 31 20 33 20 34 20 35 29 20 28 3c 20 69 74 20 35 29 20 28 each-while.'(1.3.4.5).(<.it.5).(
9cce0 73 65 74 71 20 73 20 28 2b 20 73 20 69 74 29 29 29 20 73 29 0a 20 20 20 20 40 72 65 73 75 6c 74 setq.s.(+.s.it))).s).....@result
9cd00 7b 7d 20 38 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e {}.8.@end.group.@end.example.@en
9cd20 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 7d 0a d.defun..@anchor{-each-indexed}.
9cd40 40 64 65 66 75 6e 20 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 20 28 6c 69 73 74 20 66 6e 29 0a 43 @defun.-each-indexed.(list.fn).C
9cd60 61 6c 6c 20 40 76 61 72 7b 66 6e 7d 20 6f 6e 20 65 61 63 68 20 69 6e 64 65 78 20 61 6e 64 20 65 all.@var{fn}.on.each.index.and.e
9cd80 6c 65 6d 65 6e 74 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 46 6f 72 20 65 61 63 68 20 40 lement.of.@var{list}..For.each.@
9cda0 76 61 72 7b 69 74 65 6d 7d 20 61 74 20 40 76 61 72 7b 69 6e 64 65 78 7d 20 69 6e 20 40 76 61 72 var{item}.at.@var{index}.in.@var
9cdc0 7b 6c 69 73 74 7d 2c 20 63 61 6c 6c 20 28 66 75 6e 63 61 6c 6c 20 40 76 61 72 7b 66 6e 7d 20 40 {list},.call.(funcall.@var{fn}.@
9cde0 76 61 72 7b 69 6e 64 65 78 7d 20 40 76 61 72 7b 69 74 65 6d 7d 29 2e 0a 52 65 74 75 72 6e 20 6e var{index}.@var{item})..Return.n
9ce00 69 6c 3b 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 69 6e 74 65 6e 64 65 64 20 66 6f il;.this.function.is.intended.fo
9ce20 72 20 73 69 64 65 20 65 66 66 65 63 74 73 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 r.side.effects...See.also:.@code
9ce40 7b 2d 6d 61 70 2d 69 6e 64 65 78 65 64 7d 20 28 40 70 78 72 65 66 7b 2d 6d 61 70 2d 69 6e 64 65 {-map-indexed}.(@pxref{-map-inde
9ce60 78 65 64 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 28 6c 29 xed})...@example.@group.(let.(l)
9ce80 20 28 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 20 27 28 61 20 62 20 63 29 20 28 6c 61 6d 62 64 61 .(-each-indexed.'(a.b.c).(lambda
9cea0 20 28 69 20 78 29 20 28 70 75 73 68 20 28 6c 69 73 74 20 78 20 69 29 20 6c 29 29 29 20 6c 29 0a .(i.x).(push.(list.x.i).l))).l).
9cec0 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 63 20 32 29 20 28 62 20 31 29 20 28 61 20 30 29 ....@result{}.((c.2).(b.1).(a.0)
9cee0 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 28 6c 29 20 28 2d 2d ).@end.group.@group.(let.(l).(--
9cf00 65 61 63 68 2d 69 6e 64 65 78 65 64 20 27 28 61 20 62 20 63 29 20 28 70 75 73 68 20 28 6c 69 73 each-indexed.'(a.b.c).(push.(lis
9cf20 74 20 69 74 20 69 74 2d 69 6e 64 65 78 29 20 6c 29 29 20 6c 29 0a 20 20 20 20 40 72 65 73 75 6c t.it.it-index).l)).l).....@resul
9cf40 74 7b 7d 20 28 28 63 20 32 29 20 28 62 20 31 29 20 28 61 20 30 29 29 0a 40 65 6e 64 20 67 72 6f t{}.((c.2).(b.1).(a.0)).@end.gro
9cf60 75 70 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 28 6c 29 20 28 2d 2d 65 61 63 68 2d 69 6e 64 65 78 up.@group.(let.(l).(--each-index
9cf80 65 64 20 28 29 20 28 70 75 73 68 20 69 74 20 6c 29 29 20 6c 29 0a 20 20 20 20 40 72 65 73 75 6c ed.().(push.it.l)).l).....@resul
9cfa0 74 7b 7d 20 28 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 t{}.().@end.group.@end.example.@
9cfc0 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 65 61 63 68 2d 72 7d 0a 40 64 65 66 end.defun..@anchor{-each-r}.@def
9cfe0 75 6e 20 2d 65 61 63 68 2d 72 20 28 6c 69 73 74 20 66 6e 29 0a 43 61 6c 6c 20 40 76 61 72 7b 66 un.-each-r.(list.fn).Call.@var{f
9d000 6e 7d 20 6f 6e 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d n}.on.each.element.of.@var{list}
9d020 20 69 6e 20 72 65 76 65 72 73 65 64 20 6f 72 64 65 72 2e 0a 52 65 74 75 72 6e 20 6e 69 6c 3b 20 .in.reversed.order..Return.nil;.
9d040 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 20 73 69 this.function.is.intended.for.si
9d060 64 65 20 65 66 66 65 63 74 73 2e 0a 0a 49 74 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 de.effects...Its.anaphoric.count
9d080 65 72 70 61 72 74 20 69 73 20 40 63 6f 64 65 7b 2d 2d 65 61 63 68 2d 72 7d 2e 0a 0a 40 65 78 61 erpart.is.@code{--each-r}...@exa
9d0a0 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 28 6c 29 20 28 2d 65 61 63 68 2d 72 20 27 28 mple.@group.(let.(l).(-each-r.'(
9d0c0 31 20 32 20 33 29 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 70 75 73 68 20 78 20 6c 29 29 29 20 1.2.3).(lambda.(x).(push.x.l))).
9d0e0 6c 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 29 0a 40 65 6e 64 20 67 72 l).....@result{}.(1.2.3).@end.gr
9d100 6f 75 70 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 28 6c 29 20 28 2d 2d 65 61 63 68 2d 72 20 27 28 oup.@group.(let.(l).(--each-r.'(
9d120 31 20 32 20 33 29 20 28 70 75 73 68 20 69 74 20 6c 29 29 20 6c 29 0a 20 20 20 20 40 72 65 73 75 1.2.3).(push.it.l)).l).....@resu
9d140 6c 74 7b 7d 20 28 31 20 32 20 33 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 lt{}.(1.2.3).@end.group.@group.(
9d160 2d 65 61 63 68 2d 72 20 27 28 31 20 32 20 33 29 20 23 27 69 64 65 6e 74 69 74 79 29 0a 20 20 20 -each-r.'(1.2.3).#'identity)....
9d180 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 .@result{}.nil.@end.group.@end.e
9d1a0 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 65 61 63 68 xample.@end.defun..@anchor{-each
9d1c0 2d 72 2d 77 68 69 6c 65 7d 0a 40 64 65 66 75 6e 20 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 20 28 -r-while}.@defun.-each-r-while.(
9d1e0 6c 69 73 74 20 70 72 65 64 20 66 6e 29 0a 43 61 6c 6c 20 40 76 61 72 7b 66 6e 7d 20 6f 6e 20 65 list.pred.fn).Call.@var{fn}.on.e
9d200 61 63 68 20 40 76 61 72 7b 69 74 65 6d 7d 20 69 6e 20 72 65 76 65 72 73 65 64 20 40 76 61 72 7b ach.@var{item}.in.reversed.@var{
9d220 6c 69 73 74 7d 2c 20 77 68 69 6c 65 20 28 40 76 61 72 7b 70 72 65 64 7d 20 40 76 61 72 7b 69 74 list},.while.(@var{pred}.@var{it
9d240 65 6d 7d 29 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 4f 6e 63 65 20 61 6e 20 40 76 61 72 7b 69 74 em}).is.non-nil..Once.an.@var{it
9d260 65 6d 7d 20 69 73 20 72 65 61 63 68 65 64 20 66 6f 72 20 77 68 69 63 68 20 40 76 61 72 7b 70 72 em}.is.reached.for.which.@var{pr
9d280 65 64 7d 20 72 65 74 75 72 6e 73 20 6e 69 6c 2c 20 40 76 61 72 7b 66 6e 7d 20 69 73 20 6e 6f 0a ed}.returns.nil,.@var{fn}.is.no.
9d2a0 6c 6f 6e 67 65 72 20 63 61 6c 6c 65 64 2e 20 20 52 65 74 75 72 6e 20 6e 69 6c 3b 20 74 68 69 73 longer.called...Return.nil;.this
9d2c0 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 20 73 69 64 65 0a 65 .function.is.intended.for.side.e
9d2e0 66 66 65 63 74 73 2e 0a 0a 49 74 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 ffects...Its.anaphoric.counterpa
9d300 72 74 20 69 73 20 40 63 6f 64 65 7b 2d 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 7d 2e 0a 0a 40 65 rt.is.@code{--each-r-while}...@e
9d320 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 28 6c 29 20 28 2d 65 61 63 68 2d 72 2d xample.@group.(let.(l).(-each-r-
9d340 77 68 69 6c 65 20 27 28 32 20 34 20 35 20 36 29 20 23 27 65 76 65 6e 3f 20 28 6c 61 6d 62 64 61 while.'(2.4.5.6).#'even?.(lambda
9d360 20 28 78 29 20 28 70 75 73 68 20 78 20 6c 29 29 29 20 6c 29 0a 20 20 20 20 40 72 65 73 75 6c 74 .(x).(push.x.l))).l).....@result
9d380 7b 7d 20 28 36 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 28 6c {}.(6).@end.group.@group.(let.(l
9d3a0 29 20 28 2d 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 20 27 28 31 20 32 20 33 20 34 29 20 28 3e 3d ).(--each-r-while.'(1.2.3.4).(>=
9d3c0 20 69 74 20 33 29 20 28 70 75 73 68 20 69 74 20 6c 29 29 20 6c 29 0a 20 20 20 20 40 72 65 73 75 .it.3).(push.it.l)).l).....@resu
9d3e0 6c 74 7b 7d 20 28 33 20 34 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 6c 65 lt{}.(3.4).@end.group.@group.(le
9d400 74 20 28 28 73 20 30 29 29 20 28 2d 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 20 27 28 31 20 32 20 t.((s.0)).(--each-r-while.'(1.2.
9d420 33 20 35 29 20 28 3e 20 69 74 20 31 29 20 28 73 65 74 71 20 73 20 28 2b 20 73 20 69 74 29 29 29 3.5).(>.it.1).(setq.s.(+.s.it)))
9d440 20 73 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 31 30 0a 40 65 6e 64 20 67 72 6f 75 70 0a .s).....@result{}.10.@end.group.
9d460 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 @end.example.@end.defun..@anchor
9d480 7b 2d 64 6f 74 69 6d 65 73 7d 0a 40 64 65 66 75 6e 20 2d 64 6f 74 69 6d 65 73 20 28 6e 75 6d 20 {-dotimes}.@defun.-dotimes.(num.
9d4a0 66 6e 29 0a 43 61 6c 6c 20 40 76 61 72 7b 66 6e 7d 20 40 76 61 72 7b 6e 75 6d 7d 20 74 69 6d 65 fn).Call.@var{fn}.@var{num}.time
9d4c0 73 2c 20 70 72 65 73 75 6d 61 62 6c 79 20 66 6f 72 20 73 69 64 65 20 65 66 66 65 63 74 73 2e 0a s,.presumably.for.side.effects..
9d4e0 40 76 61 72 7b 66 6e 7d 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 61 20 73 69 6e 67 6c 65 @var{fn}.is.called.with.a.single
9d500 20 61 72 67 75 6d 65 6e 74 20 6f 6e 20 73 75 63 63 65 73 73 69 76 65 20 69 6e 74 65 67 65 72 73 .argument.on.successive.integers
9d520 0a 72 75 6e 6e 69 6e 67 20 66 72 6f 6d 20 30 2c 20 69 6e 63 6c 75 73 69 76 65 2c 20 74 6f 20 40 .running.from.0,.inclusive,.to.@
9d540 76 61 72 7b 6e 75 6d 7d 2c 20 65 78 63 6c 75 73 69 76 65 2e 20 20 40 76 61 72 7b 66 6e 7d 20 69 var{num},.exclusive...@var{fn}.i
9d560 73 20 6e 6f 74 20 63 61 6c 6c 65 64 0a 69 66 20 40 76 61 72 7b 6e 75 6d 7d 20 69 73 20 6c 65 73 s.not.called.if.@var{num}.is.les
9d580 73 20 74 68 61 6e 20 31 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 s.than.1...This.function's.anaph
9d5a0 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 40 63 6f 64 65 7b 2d 2d 64 6f 74 69 oric.counterpart.is.@code{--doti
9d5c0 6d 65 73 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 28 73 29 20 mes}...@example.@group.(let.(s).
9d5e0 28 2d 64 6f 74 69 6d 65 73 20 33 20 28 6c 61 6d 62 64 61 20 28 6e 29 20 28 70 75 73 68 20 6e 20 (-dotimes.3.(lambda.(n).(push.n.
9d600 73 29 29 29 20 73 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 32 20 31 20 30 29 0a 40 65 s))).s).....@result{}.(2.1.0).@e
9d620 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 28 73 29 20 28 2d 64 6f 74 69 6d nd.group.@group.(let.(s).(-dotim
9d640 65 73 20 30 20 28 6c 61 6d 62 64 61 20 28 6e 29 20 28 70 75 73 68 20 6e 20 73 29 29 29 20 73 29 es.0.(lambda.(n).(push.n.s))).s)
9d660 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 .....@result{}.().@end.group.@gr
9d680 6f 75 70 0a 28 6c 65 74 20 28 73 29 20 28 2d 2d 64 6f 74 69 6d 65 73 20 35 20 28 70 75 73 68 20 oup.(let.(s).(--dotimes.5.(push.
9d6a0 69 74 20 73 29 29 20 73 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 34 20 33 20 32 20 31 it.s)).s).....@result{}.(4.3.2.1
9d6c0 20 30 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 .0).@end.group.@end.example.@end
9d6e0 20 64 65 66 75 6e 0a 0a 40 6e 6f 64 65 20 44 65 73 74 72 75 63 74 69 76 65 20 6f 70 65 72 61 74 .defun..@node.Destructive.operat
9d700 69 6f 6e 73 0a 40 73 65 63 74 69 6f 6e 20 44 65 73 74 72 75 63 74 69 76 65 20 6f 70 65 72 61 74 ions.@section.Destructive.operat
9d720 69 6f 6e 73 0a 0a 4d 61 63 72 6f 73 20 74 68 61 74 20 6d 6f 64 69 66 79 20 76 61 72 69 61 62 6c ions..Macros.that.modify.variabl
9d740 65 73 20 68 6f 6c 64 69 6e 67 20 6c 69 73 74 73 2e 0a 0a 40 61 6e 63 68 6f 72 7b 21 63 6f 6e 73 es.holding.lists...@anchor{!cons
9d760 7d 0a 40 64 65 66 6d 61 63 20 21 63 6f 6e 73 20 28 63 61 72 20 63 64 72 29 0a 44 65 73 74 72 75 }.@defmac.!cons.(car.cdr).Destru
9d780 63 74 69 76 65 3a 20 53 65 74 20 40 76 61 72 7b 63 64 72 7d 20 74 6f 20 74 68 65 20 63 6f 6e 73 ctive:.Set.@var{cdr}.to.the.cons
9d7a0 20 6f 66 20 40 76 61 72 7b 63 61 72 7d 20 61 6e 64 20 40 76 61 72 7b 63 64 72 7d 2e 0a 0a 40 65 .of.@var{car}.and.@var{cdr}...@e
9d7c0 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 28 6c 29 20 28 21 63 6f 6e 73 20 35 20 xample.@group.(let.(l).(!cons.5.
9d7e0 6c 29 20 6c 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 35 29 0a 40 65 6e 64 20 67 72 6f l).l).....@result{}.(5).@end.gro
9d800 75 70 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 28 28 6c 20 27 28 33 29 29 29 20 28 21 63 6f 6e 73 up.@group.(let.((l.'(3))).(!cons
9d820 20 35 20 6c 29 20 6c 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 35 20 33 29 0a 40 65 6e .5.l).l).....@result{}.(5.3).@en
9d840 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 6d 61 63 d.group.@end.example.@end.defmac
9d860 0a 0a 40 61 6e 63 68 6f 72 7b 21 63 64 72 7d 0a 40 64 65 66 6d 61 63 20 21 63 64 72 20 28 6c 69 ..@anchor{!cdr}.@defmac.!cdr.(li
9d880 73 74 29 0a 44 65 73 74 72 75 63 74 69 76 65 3a 20 53 65 74 20 40 76 61 72 7b 6c 69 73 74 7d 20 st).Destructive:.Set.@var{list}.
9d8a0 74 6f 20 74 68 65 20 63 64 72 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 0a 40 65 78 61 6d to.the.cdr.of.@var{list}...@exam
9d8c0 70 6c 65 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 28 28 6c 20 27 28 33 29 29 29 20 28 21 63 64 72 ple.@group.(let.((l.'(3))).(!cdr
9d8e0 20 6c 29 20 6c 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 29 0a 40 65 6e 64 20 67 72 6f .l).l).....@result{}.().@end.gro
9d900 75 70 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 28 28 6c 20 27 28 33 20 35 29 29 29 20 28 21 63 64 up.@group.(let.((l.'(3.5))).(!cd
9d920 72 20 6c 29 20 6c 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 35 29 0a 40 65 6e 64 20 67 r.l).l).....@result{}.(5).@end.g
9d940 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 6d 61 63 0a 0a 40 roup.@end.example.@end.defmac..@
9d960 6e 6f 64 65 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 73 0a 40 73 65 63 74 69 node.Function.combinators.@secti
9d980 6f 6e 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 73 0a 0a 46 75 6e 63 74 69 6f on.Function.combinators..Functio
9d9a0 6e 73 20 74 68 61 74 20 6d 61 6e 69 70 75 6c 61 74 65 20 61 6e 64 20 63 6f 6d 70 6f 73 65 20 6f ns.that.manipulate.and.compose.o
9d9c0 74 68 65 72 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 70 61 72 74 69 61 ther.functions...@anchor{-partia
9d9e0 6c 7d 0a 40 64 65 66 75 6e 20 2d 70 61 72 74 69 61 6c 20 28 66 75 6e 20 26 72 65 73 74 20 61 72 l}.@defun.-partial.(fun.&rest.ar
9da00 67 73 29 0a 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 69 73 20 61 20 gs).Return.a.function.that.is.a.
9da20 70 61 72 74 69 61 6c 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 6f 66 20 40 76 61 72 7b 66 75 6e 7d partial.application.of.@var{fun}
9da40 20 74 6f 20 40 76 61 72 7b 61 72 67 73 7d 2e 0a 40 76 61 72 7b 61 72 67 73 7d 20 69 73 20 61 20 .to.@var{args}..@var{args}.is.a.
9da60 6c 69 73 74 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 40 76 61 72 7b 6e 7d 20 61 72 67 75 6d 65 list.of.the.first.@var{n}.argume
9da80 6e 74 73 20 74 6f 20 70 61 73 73 20 74 6f 20 40 76 61 72 7b 66 75 6e 7d 2e 0a 54 68 65 20 72 65 nts.to.pass.to.@var{fun}..The.re
9daa0 73 75 6c 74 20 69 73 20 61 20 6e 65 77 20 66 75 6e 63 74 69 6f 6e 20 77 68 69 63 68 20 64 6f 65 sult.is.a.new.function.which.doe
9dac0 73 20 74 68 65 20 73 61 6d 65 20 61 73 20 40 76 61 72 7b 66 75 6e 7d 2c 20 65 78 63 65 70 74 20 s.the.same.as.@var{fun},.except.
9dae0 74 68 61 74 0a 74 68 65 20 66 69 72 73 74 20 40 76 61 72 7b 6e 7d 20 61 72 67 75 6d 65 6e 74 73 that.the.first.@var{n}.arguments
9db00 20 61 72 65 20 66 69 78 65 64 20 61 74 20 74 68 65 20 76 61 6c 75 65 73 20 77 69 74 68 20 77 68 .are.fixed.at.the.values.with.wh
9db20 69 63 68 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 0a 77 61 73 20 63 61 6c 6c 65 64 2e 0a 0a 40 ich.this.function.was.called...@
9db40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 70 61 72 74 69 61 example.@group.(funcall.(-partia
9db60 6c 20 23 27 2b 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 35 0a 40 65 6e 64 20 67 l.#'+.5)).....@result{}.5.@end.g
9db80 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 70 61 72 74 69 61 6c 20 23 roup.@group.(funcall.(-partial.#
9dba0 27 2d 20 35 29 20 33 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 32 0a 40 65 6e 64 20 67 72 '-.5).3).....@result{}.2.@end.gr
9dbc0 6f 75 70 0a 40 67 72 6f 75 70 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 70 61 72 74 69 61 6c 20 23 27 oup.@group.(funcall.(-partial.#'
9dbe0 2b 20 35 20 32 29 20 33 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 31 30 0a 40 65 6e 64 20 +.5.2).3).....@result{}.10.@end.
9dc00 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 group.@end.example.@end.defun..@
9dc20 61 6e 63 68 6f 72 7b 2d 72 70 61 72 74 69 61 6c 7d 0a 40 64 65 66 75 6e 20 2d 72 70 61 72 74 69 anchor{-rpartial}.@defun.-rparti
9dc40 61 6c 20 28 66 6e 20 26 72 65 73 74 20 61 72 67 73 29 0a 52 65 74 75 72 6e 20 61 20 66 75 6e 63 al.(fn.&rest.args).Return.a.func
9dc60 74 69 6f 6e 20 74 68 61 74 20 69 73 20 61 20 70 61 72 74 69 61 6c 20 61 70 70 6c 69 63 61 74 69 tion.that.is.a.partial.applicati
9dc80 6f 6e 20 6f 66 20 40 76 61 72 7b 66 6e 7d 20 74 6f 20 40 76 61 72 7b 61 72 67 73 7d 2e 0a 40 76 on.of.@var{fn}.to.@var{args}..@v
9dca0 61 72 7b 61 72 67 73 7d 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 6c 61 73 74 20 40 ar{args}.is.a.list.of.the.last.@
9dcc0 76 61 72 7b 6e 7d 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 70 61 73 73 20 74 6f 20 40 76 61 72 var{n}.arguments.to.pass.to.@var
9dce0 7b 66 6e 7d 2e 20 20 54 68 65 20 72 65 73 75 6c 74 0a 69 73 20 61 20 6e 65 77 20 66 75 6e 63 74 {fn}...The.result.is.a.new.funct
9dd00 69 6f 6e 20 77 68 69 63 68 20 64 6f 65 73 20 74 68 65 20 73 61 6d 65 20 61 73 20 40 76 61 72 7b ion.which.does.the.same.as.@var{
9dd20 66 6e 7d 2c 20 65 78 63 65 70 74 20 74 68 61 74 20 74 68 65 20 6c 61 73 74 0a 40 76 61 72 7b 6e fn},.except.that.the.last.@var{n
9dd40 7d 20 61 72 67 75 6d 65 6e 74 73 20 61 72 65 20 66 69 78 65 64 20 61 74 20 74 68 65 20 76 61 6c }.arguments.are.fixed.at.the.val
9dd60 75 65 73 20 77 69 74 68 20 77 68 69 63 68 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 77 61 73 ues.with.which.this.function.was
9dd80 0a 63 61 6c 6c 65 64 2e 20 20 54 68 69 73 20 69 73 20 6c 69 6b 65 20 40 63 6f 64 65 7b 2d 70 61 .called...This.is.like.@code{-pa
9dda0 72 74 69 61 6c 7d 20 28 40 70 78 72 65 66 7b 2d 70 61 72 74 69 61 6c 7d 29 2c 20 65 78 63 65 70 rtial}.(@pxref{-partial}),.excep
9ddc0 74 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 61 72 65 20 66 69 78 65 64 0a 73 74 61 72 74 69 t.the.arguments.are.fixed.starti
9dde0 6e 67 20 66 72 6f 6d 20 74 68 65 20 72 69 67 68 74 20 72 61 74 68 65 72 20 74 68 61 6e 20 74 68 ng.from.the.right.rather.than.th
9de00 65 20 6c 65 66 74 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 66 75 6e 63 61 6c e.left...@example.@group.(funcal
9de20 6c 20 28 2d 72 70 61 72 74 69 61 6c 20 23 27 2d 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 l.(-rpartial.#'-.5)).....@result
9de40 7b 7d 20 2d 35 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 66 75 6e 63 61 6c 6c {}.-5.@end.group.@group.(funcall
9de60 20 28 2d 72 70 61 72 74 69 61 6c 20 23 27 2d 20 35 29 20 38 29 0a 20 20 20 20 40 72 65 73 75 6c .(-rpartial.#'-.5).8).....@resul
9de80 74 7b 7d 20 33 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 66 75 6e 63 61 6c 6c t{}.3.@end.group.@group.(funcall
9dea0 20 28 2d 72 70 61 72 74 69 61 6c 20 23 27 2d 20 35 20 32 29 20 31 30 29 0a 20 20 20 20 40 72 65 .(-rpartial.#'-.5.2).10).....@re
9dec0 73 75 6c 74 7b 7d 20 33 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 sult{}.3.@end.group.@end.example
9dee0 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 6a 75 78 74 7d 0a 40 64 65 66 .@end.defun..@anchor{-juxt}.@def
9df00 75 6e 20 2d 6a 75 78 74 20 28 26 72 65 73 74 20 66 6e 73 29 0a 52 65 74 75 72 6e 20 61 20 66 75 un.-juxt.(&rest.fns).Return.a.fu
9df20 6e 63 74 69 6f 6e 20 74 68 61 74 20 69 73 20 74 68 65 20 6a 75 78 74 61 70 6f 73 69 74 69 6f 6e nction.that.is.the.juxtaposition
9df40 20 6f 66 20 40 76 61 72 7b 66 6e 73 7d 2e 0a 54 68 65 20 72 65 74 75 72 6e 65 64 20 66 75 6e 63 .of.@var{fns}..The.returned.func
9df60 74 69 6f 6e 20 74 61 6b 65 73 20 61 20 76 61 72 69 61 62 6c 65 20 6e 75 6d 62 65 72 20 6f 66 20 tion.takes.a.variable.number.of.
9df80 40 76 61 72 7b 61 72 67 73 7d 2c 20 61 70 70 6c 69 65 73 0a 65 61 63 68 20 6f 66 20 40 76 61 72 @var{args},.applies.each.of.@var
9dfa0 7b 66 6e 73 7d 20 69 6e 20 74 75 72 6e 20 74 6f 20 40 76 61 72 7b 61 72 67 73 7d 2c 20 61 6e 64 {fns}.in.turn.to.@var{args},.and
9dfc0 20 72 65 74 75 72 6e 73 20 74 68 65 20 6c 69 73 74 20 6f 66 20 72 65 73 75 6c 74 73 2e 0a 0a 40 .returns.the.list.of.results...@
9dfe0 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 6a 75 78 74 29 20 example.@group.(funcall.(-juxt).
9e000 31 20 32 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 29 0a 40 65 6e 64 20 67 72 6f 75 70 1.2).....@result{}.().@end.group
9e020 0a 40 67 72 6f 75 70 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 6a 75 78 74 20 23 27 2b 20 23 27 2d 20 .@group.(funcall.(-juxt.#'+.#'-.
9e040 23 27 2a 20 23 27 2f 29 20 37 20 35 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 32 20 #'*.#'/).7.5).....@result{}.(12.
9e060 32 20 33 35 20 31 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 6d 61 70 63 61 2.35.1).@end.group.@group.(mapca
9e080 72 20 28 2d 6a 75 78 74 20 23 27 6e 75 6d 62 65 72 2d 74 6f 2d 73 74 72 69 6e 67 20 23 27 31 2b r.(-juxt.#'number-to-string.#'1+
9e0a0 29 20 27 28 31 20 32 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 22 31 22 20 32 29 ).'(1.2)).....@result{}.(("1".2)
9e0c0 20 28 22 32 22 20 33 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c .("2".3)).@end.group.@end.exampl
9e0e0 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 63 6f 6d 70 6f 73 65 7d 0a e.@end.defun..@anchor{-compose}.
9e100 40 64 65 66 75 6e 20 2d 63 6f 6d 70 6f 73 65 20 28 26 72 65 73 74 20 66 6e 73 29 0a 43 6f 6d 70 @defun.-compose.(&rest.fns).Comp
9e120 6f 73 65 20 40 76 61 72 7b 66 6e 73 7d 20 69 6e 74 6f 20 61 20 73 69 6e 67 6c 65 20 63 6f 6d 70 ose.@var{fns}.into.a.single.comp
9e140 6f 73 69 74 65 20 66 75 6e 63 74 69 6f 6e 2e 0a 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f osite.function..Return.a.functio
9e160 6e 20 74 68 61 74 20 74 61 6b 65 73 20 61 20 76 61 72 69 61 62 6c 65 20 6e 75 6d 62 65 72 20 6f n.that.takes.a.variable.number.o
9e180 66 20 40 76 61 72 7b 61 72 67 73 7d 2c 20 61 70 70 6c 69 65 73 0a 74 68 65 20 6c 61 73 74 20 66 f.@var{args},.applies.the.last.f
9e1a0 75 6e 63 74 69 6f 6e 20 69 6e 20 40 76 61 72 7b 66 6e 73 7d 20 74 6f 20 40 76 61 72 7b 61 72 67 unction.in.@var{fns}.to.@var{arg
9e1c0 73 7d 2c 20 61 6e 64 20 72 65 74 75 72 6e 73 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 0a 63 61 s},.and.returns.the.result.of.ca
9e1e0 6c 6c 69 6e 67 20 65 61 63 68 20 72 65 6d 61 69 6e 69 6e 67 20 66 75 6e 63 74 69 6f 6e 20 6f 6e lling.each.remaining.function.on
9e200 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 74 68 65 20 70 72 65 76 69 6f 75 73 0a 66 75 6e 63 .the.result.of.the.previous.func
9e220 74 69 6f 6e 2c 20 72 69 67 68 74 2d 74 6f 2d 6c 65 66 74 2e 20 20 49 66 20 6e 6f 20 40 76 61 72 tion,.right-to-left...If.no.@var
9e240 7b 66 6e 73 7d 20 61 72 65 20 67 69 76 65 6e 2c 20 72 65 74 75 72 6e 20 61 20 76 61 72 69 61 64 {fns}.are.given,.return.a.variad
9e260 69 63 0a 40 63 6f 64 65 7b 69 64 65 6e 74 69 74 79 7d 20 66 75 6e 63 74 69 6f 6e 2e 0a 0a 40 65 ic.@code{identity}.function...@e
9e280 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 63 6f 6d 70 6f 73 65 xample.@group.(funcall.(-compose
9e2a0 20 23 27 2d 20 23 27 31 2b 20 23 27 2b 29 20 31 20 32 20 33 29 0a 20 20 20 20 40 72 65 73 75 6c .#'-.#'1+.#'+).1.2.3).....@resul
9e2c0 74 7b 7d 20 2d 37 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 66 75 6e 63 61 6c t{}.-7.@end.group.@group.(funcal
9e2e0 6c 20 28 2d 63 6f 6d 70 6f 73 65 20 23 27 69 64 65 6e 74 69 74 79 20 23 27 31 2b 29 20 33 29 0a l.(-compose.#'identity.#'1+).3).
9e300 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 34 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 ....@result{}.4.@end.group.@grou
9e320 70 0a 28 6d 61 70 63 61 72 20 28 2d 63 6f 6d 70 6f 73 65 20 23 27 6e 6f 74 20 23 27 73 74 72 69 p.(mapcar.(-compose.#'not.#'stri
9e340 6e 67 70 29 20 27 28 6e 69 6c 20 22 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 74 ngp).'(nil."")).....@result{}.(t
9e360 20 6e 69 6c 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 .nil).@end.group.@end.example.@e
9e380 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 61 70 70 6c 69 66 79 7d 0a 40 64 65 66 nd.defun..@anchor{-applify}.@def
9e3a0 75 6e 20 2d 61 70 70 6c 69 66 79 20 28 66 6e 29 0a 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 un.-applify.(fn).Return.a.functi
9e3c0 6f 6e 20 74 68 61 74 20 61 70 70 6c 69 65 73 20 40 76 61 72 7b 66 6e 7d 20 74 6f 20 61 20 73 69 on.that.applies.@var{fn}.to.a.si
9e3e0 6e 67 6c 65 20 6c 69 73 74 20 6f 66 20 61 72 67 73 2e 0a 54 68 69 73 20 63 68 61 6e 67 65 73 20 ngle.list.of.args..This.changes.
9e400 74 68 65 20 61 72 69 74 79 20 6f 66 20 40 76 61 72 7b 66 6e 7d 20 66 72 6f 6d 20 74 61 6b 69 6e the.arity.of.@var{fn}.from.takin
9e420 67 20 40 76 61 72 7b 6e 7d 20 64 69 73 74 69 6e 63 74 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 0a g.@var{n}.distinct.arguments.to.
9e440 74 61 6b 69 6e 67 20 31 20 61 72 67 75 6d 65 6e 74 20 77 68 69 63 68 20 69 73 20 61 20 6c 69 73 taking.1.argument.which.is.a.lis
9e460 74 20 6f 66 20 40 76 61 72 7b 6e 7d 20 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 40 65 78 61 6d 70 6c t.of.@var{n}.arguments...@exampl
9e480 65 0a 40 67 72 6f 75 70 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 61 70 70 6c 69 66 79 20 23 27 2b 29 e.@group.(funcall.(-applify.#'+)
9e4a0 20 6e 69 6c 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 30 0a 40 65 6e 64 20 67 72 6f 75 70 .nil).....@result{}.0.@end.group
9e4c0 0a 40 67 72 6f 75 70 0a 28 6d 61 70 63 61 72 20 28 2d 61 70 70 6c 69 66 79 20 23 27 2b 29 20 27 .@group.(mapcar.(-applify.#'+).'
9e4e0 28 28 31 20 31 20 31 29 20 28 31 20 32 20 33 29 20 28 35 20 35 20 35 29 29 29 0a 20 20 20 20 40 ((1.1.1).(1.2.3).(5.5.5))).....@
9e500 72 65 73 75 6c 74 7b 7d 20 28 33 20 36 20 31 35 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 result{}.(3.6.15).@end.group.@gr
9e520 6f 75 70 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 61 70 70 6c 69 66 79 20 23 27 3c 29 20 27 28 33 20 oup.(funcall.(-applify.#'<).'(3.
9e540 36 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 74 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 6)).....@result{}.t.@end.group.@
9e560 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b end.example.@end.defun..@anchor{
9e580 2d 6f 6e 7d 0a 40 64 65 66 75 6e 20 2d 6f 6e 20 28 6f 70 20 74 72 61 6e 73 29 0a 52 65 74 75 72 -on}.@defun.-on.(op.trans).Retur
9e5a0 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 63 61 6c 6c 73 20 40 76 61 72 7b 74 72 61 n.a.function.that.calls.@var{tra
9e5c0 6e 73 7d 20 6f 6e 20 65 61 63 68 20 61 72 67 20 61 6e 64 20 40 76 61 72 7b 6f 70 7d 20 6f 6e 20 ns}.on.each.arg.and.@var{op}.on.
9e5e0 74 68 65 20 72 65 73 75 6c 74 73 2e 0a 54 68 65 20 72 65 74 75 72 6e 65 64 20 66 75 6e 63 74 69 the.results..The.returned.functi
9e600 6f 6e 20 74 61 6b 65 73 20 61 20 76 61 72 69 61 62 6c 65 20 6e 75 6d 62 65 72 20 6f 66 20 61 72 on.takes.a.variable.number.of.ar
9e620 67 75 6d 65 6e 74 73 2c 20 63 61 6c 6c 73 0a 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 40 76 61 72 guments,.calls.the.function.@var
9e640 7b 74 72 61 6e 73 7d 20 6f 6e 20 65 61 63 68 20 6f 6e 65 20 69 6e 20 74 75 72 6e 2c 20 61 6e 64 {trans}.on.each.one.in.turn,.and
9e660 20 74 68 65 6e 20 70 61 73 73 65 73 20 74 68 6f 73 65 0a 72 65 73 75 6c 74 73 20 61 73 20 74 68 .then.passes.those.results.as.th
9e680 65 20 6c 69 73 74 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 40 76 61 72 7b 6f 70 7d 2c e.list.of.arguments.to.@var{op},
9e6a0 20 69 6e 20 74 68 65 20 73 61 6d 65 20 6f 72 64 65 72 2e 0a 0a 46 6f 72 20 65 78 61 6d 70 6c 65 .in.the.same.order...For.example
9e6c0 2c 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 70 61 69 72 73 20 6f 66 20 65 78 70 72 65 73 73 ,.the.following.pairs.of.express
9e6e0 69 6f 6e 73 20 61 72 65 20 6d 6f 72 61 6c 6c 79 0a 65 71 75 69 76 61 6c 65 6e 74 3a 0a 0a 20 20 ions.are.morally.equivalent:....
9e700 28 66 75 6e 63 61 6c 6c 20 28 2d 6f 6e 20 23 27 2b 20 23 27 31 2b 29 20 31 20 32 20 33 29 20 3d (funcall.(-on.#'+.#'1+).1.2.3).=
9e720 20 28 2b 20 28 31 2b 20 31 29 20 28 31 2b 20 32 29 20 28 31 2b 20 33 29 29 0a 20 20 28 66 75 6e .(+.(1+.1).(1+.2).(1+.3))...(fun
9e740 63 61 6c 6c 20 28 2d 6f 6e 20 23 27 2b 20 23 27 31 2b 29 29 20 20 20 20 20 20 20 3d 20 28 2b 29 call.(-on.#'+.#'1+)).......=.(+)
9e760 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 73 6f 72 74 20 28 2d 6f 6e 20 23 27 ..@example.@group.(-sort.(-on.#'
9e780 3c 20 23 27 6c 65 6e 67 74 68 29 20 27 28 28 31 20 32 20 33 29 20 28 31 29 20 28 31 20 32 29 29 <.#'length).'((1.2.3).(1).(1.2))
9e7a0 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 29 20 28 31 20 32 29 20 28 31 20 32 20 ).....@result{}.((1).(1.2).(1.2.
9e7c0 33 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 66 75 6e 63 61 6c 6c 20 28 3)).@end.group.@group.(funcall.(
9e7e0 2d 6f 6e 20 23 27 6d 69 6e 20 23 27 73 74 72 69 6e 67 2d 74 6f 2d 6e 75 6d 62 65 72 29 20 22 32 -on.#'min.#'string-to-number)."2
9e800 32 22 20 22 32 22 20 22 31 22 20 22 31 32 22 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 31 2"."2"."1"."12").....@result{}.1
9e820 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 6d 69 6e 2d 62 79 20 28 2d 6f 6e .@end.group.@group.(-min-by.(-on
9e840 20 23 27 3e 20 23 27 6c 65 6e 67 74 68 29 20 27 28 28 31 20 32 20 33 29 20 28 34 29 20 28 31 20 .#'>.#'length).'((1.2.3).(4).(1.
9e860 32 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 34 29 0a 40 65 6e 64 20 67 72 6f 75 2))).....@result{}.(4).@end.grou
9e880 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 p.@end.example.@end.defun..@anch
9e8a0 6f 72 7b 2d 66 6c 69 70 7d 0a 40 64 65 66 75 6e 20 2d 66 6c 69 70 20 28 66 6e 29 0a 52 65 74 75 or{-flip}.@defun.-flip.(fn).Retu
9e8c0 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 63 61 6c 6c 73 20 40 76 61 72 7b 66 6e rn.a.function.that.calls.@var{fn
9e8e0 7d 20 77 69 74 68 20 69 74 73 20 61 72 67 75 6d 65 6e 74 73 20 72 65 76 65 72 73 65 64 2e 0a 54 }.with.its.arguments.reversed..T
9e900 68 65 20 72 65 74 75 72 6e 65 64 20 66 75 6e 63 74 69 6f 6e 20 74 61 6b 65 73 20 74 68 65 20 73 he.returned.function.takes.the.s
9e920 61 6d 65 20 6e 75 6d 62 65 72 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 20 61 73 20 40 76 61 72 7b ame.number.of.arguments.as.@var{
9e940 66 6e 7d 2e 0a 0a 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 fn}...For.example,.the.following
9e960 20 74 77 6f 20 65 78 70 72 65 73 73 69 6f 6e 73 20 61 72 65 20 6d 6f 72 61 6c 6c 79 0a 65 71 75 .two.expressions.are.morally.equ
9e980 69 76 61 6c 65 6e 74 3a 0a 0a 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 66 6c 69 70 20 23 27 2d 29 ivalent:....(funcall.(-flip.#'-)
9e9a0 20 31 20 32 29 20 3d 20 28 2d 20 32 20 31 29 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 .1.2).=.(-.2.1)..See.also:.@code
9e9c0 7b 2d 72 6f 74 61 74 65 2d 61 72 67 73 7d 20 28 40 70 78 72 65 66 7b 2d 72 6f 74 61 74 65 2d 61 {-rotate-args}.(@pxref{-rotate-a
9e9e0 72 67 73 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 73 6f 72 74 20 28 rgs})...@example.@group.(-sort.(
9ea00 2d 66 6c 69 70 20 23 27 3c 29 20 27 28 34 20 33 20 36 20 31 29 29 0a 20 20 20 20 40 72 65 73 75 -flip.#'<).'(4.3.6.1)).....@resu
9ea20 6c 74 7b 7d 20 28 36 20 34 20 33 20 31 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 lt{}.(6.4.3.1).@end.group.@group
9ea40 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 66 6c 69 70 20 23 27 2d 29 20 33 20 32 20 31 20 31 30 29 0a .(funcall.(-flip.#'-).3.2.1.10).
9ea60 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 34 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 ....@result{}.4.@end.group.@grou
9ea80 70 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 66 6c 69 70 20 23 27 31 2b 29 20 31 29 0a 20 20 20 20 40 p.(funcall.(-flip.#'1+).1).....@
9eaa0 72 65 73 75 6c 74 7b 7d 20 32 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 result{}.2.@end.group.@end.examp
9eac0 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 72 6f 74 61 74 65 2d 61 le.@end.defun..@anchor{-rotate-a
9eae0 72 67 73 7d 0a 40 64 65 66 75 6e 20 2d 72 6f 74 61 74 65 2d 61 72 67 73 20 28 6e 20 66 6e 29 0a rgs}.@defun.-rotate-args.(n.fn).
9eb00 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 63 61 6c 6c 73 20 40 76 61 Return.a.function.that.calls.@va
9eb20 72 7b 66 6e 7d 20 77 69 74 68 20 61 72 67 73 20 72 6f 74 61 74 65 64 20 40 76 61 72 7b 6e 7d 20 r{fn}.with.args.rotated.@var{n}.
9eb40 70 6c 61 63 65 73 20 74 6f 20 74 68 65 20 72 69 67 68 74 2e 0a 54 68 65 20 72 65 74 75 72 6e 65 places.to.the.right..The.returne
9eb60 64 20 66 75 6e 63 74 69 6f 6e 20 74 61 6b 65 73 20 74 68 65 20 73 61 6d 65 20 6e 75 6d 62 65 72 d.function.takes.the.same.number
9eb80 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 20 61 73 20 40 76 61 72 7b 66 6e 7d 2c 0a 72 6f 74 61 74 .of.arguments.as.@var{fn},.rotat
9eba0 65 73 20 74 68 65 20 6c 69 73 74 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 20 40 76 61 72 7b 6e 7d es.the.list.of.arguments.@var{n}
9ebc0 20 70 6c 61 63 65 73 20 74 6f 20 74 68 65 20 72 69 67 68 74 20 28 6c 65 66 74 20 69 66 20 40 76 .places.to.the.right.(left.if.@v
9ebe0 61 72 7b 6e 7d 20 69 73 0a 6e 65 67 61 74 69 76 65 29 20 6a 75 73 74 20 6c 69 6b 65 20 40 63 6f ar{n}.is.negative).just.like.@co
9ec00 64 65 7b 2d 72 6f 74 61 74 65 7d 20 28 40 70 78 72 65 66 7b 2d 72 6f 74 61 74 65 7d 29 2c 20 61 de{-rotate}.(@pxref{-rotate}),.a
9ec20 6e 64 20 61 70 70 6c 69 65 73 20 40 76 61 72 7b 66 6e 7d 20 74 6f 20 74 68 65 20 72 65 73 75 6c nd.applies.@var{fn}.to.the.resul
9ec40 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 66 6c 69 70 7d 20 28 40 70 78 72 t...See.also:.@code{-flip}.(@pxr
9ec60 65 66 7b 2d 66 6c 69 70 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 66 75 ef{-flip})...@example.@group.(fu
9ec80 6e 63 61 6c 6c 20 28 2d 72 6f 74 61 74 65 2d 61 72 67 73 20 2d 31 20 23 27 6c 69 73 74 29 20 31 ncall.(-rotate-args.-1.#'list).1
9eca0 20 32 20 33 20 34 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 32 20 33 20 34 20 31 29 0a .2.3.4).....@result{}.(2.3.4.1).
9ecc0 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 72 6f 74 @end.group.@group.(funcall.(-rot
9ece0 61 74 65 2d 61 72 67 73 20 31 20 23 27 2d 29 20 31 20 31 30 20 31 30 30 29 0a 20 20 20 20 40 72 ate-args.1.#'-).1.10.100).....@r
9ed00 65 73 75 6c 74 7b 7d 20 38 39 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 66 75 esult{}.89.@end.group.@group.(fu
9ed20 6e 63 61 6c 6c 20 28 2d 72 6f 74 61 74 65 2d 61 72 67 73 20 32 20 23 27 6c 69 73 74 29 20 33 20 ncall.(-rotate-args.2.#'list).3.
9ed40 34 20 35 20 31 20 32 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 20 34 20 4.5.1.2).....@result{}.(1.2.3.4.
9ed60 35 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 5).@end.group.@end.example.@end.
9ed80 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 63 6f 6e 73 74 7d 0a 40 64 65 66 75 6e 20 2d 63 defun..@anchor{-const}.@defun.-c
9eda0 6f 6e 73 74 20 28 63 29 0a 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 onst.(c).Return.a.function.that.
9edc0 72 65 74 75 72 6e 73 20 40 76 61 72 7b 63 7d 20 69 67 6e 6f 72 69 6e 67 20 61 6e 79 20 61 64 64 returns.@var{c}.ignoring.any.add
9ede0 69 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 49 6e 20 74 79 70 65 73 3a 20 61 20 itional.arguments...In.types:.a.
9ee00 2d 3e 20 62 20 2d 3e 20 61 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 66 75 6e 63 ->.b.->.a..@example.@group.(func
9ee20 61 6c 6c 20 28 2d 63 6f 6e 73 74 20 32 29 20 31 20 33 20 22 66 6f 6f 22 29 0a 20 20 20 20 40 72 all.(-const.2).1.3."foo").....@r
9ee40 65 73 75 6c 74 7b 7d 20 32 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 6d 61 70 esult{}.2.@end.group.@group.(map
9ee60 63 61 72 20 28 2d 63 6f 6e 73 74 20 31 29 20 27 28 22 61 22 20 22 62 22 20 22 63 22 20 22 64 22 car.(-const.1).'("a"."b"."c"."d"
9ee80 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 31 20 31 20 31 29 0a 40 65 6e 64 20 )).....@result{}.(1.1.1.1).@end.
9eea0 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 73 75 6d 20 28 6d 61 70 63 61 72 20 28 2d 63 6f 6e group.@group.(-sum.(mapcar.(-con
9eec0 73 74 20 31 29 20 27 28 22 61 22 20 22 62 22 20 22 63 22 20 22 64 22 29 29 29 0a 20 20 20 20 40 st.1).'("a"."b"."c"."d"))).....@
9eee0 72 65 73 75 6c 74 7b 7d 20 34 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 result{}.4.@end.group.@end.examp
9ef00 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 63 75 74 7d 0a 40 64 65 le.@end.defun..@anchor{-cut}.@de
9ef20 66 6d 61 63 20 2d 63 75 74 20 28 26 72 65 73 74 20 70 61 72 61 6d 73 29 0a 54 61 6b 65 20 6e 2d fmac.-cut.(&rest.params).Take.n-
9ef40 61 72 79 20 66 75 6e 63 74 69 6f 6e 20 61 6e 64 20 6e 20 61 72 67 75 6d 65 6e 74 73 20 61 6e 64 ary.function.and.n.arguments.and
9ef60 20 73 70 65 63 69 61 6c 69 7a 65 20 73 6f 6d 65 20 6f 66 20 74 68 65 6d 2e 0a 41 72 67 75 6d 65 .specialize.some.of.them..Argume
9ef80 6e 74 73 20 64 65 6e 6f 74 65 64 20 62 79 20 3c 3e 20 77 69 6c 6c 20 62 65 20 6c 65 66 74 20 75 nts.denoted.by.<>.will.be.left.u
9efa0 6e 73 70 65 63 69 61 6c 69 7a 65 64 2e 0a 0a 53 65 65 20 40 76 61 72 7b 73 72 66 69 2d 32 36 7d nspecialized...See.@var{srfi-26}
9efc0 20 66 6f 72 20 64 65 74 61 69 6c 65 64 20 64 65 73 63 72 69 70 74 69 6f 6e 2e 0a 0a 40 65 78 61 .for.detailed.description...@exa
9efe0 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 63 75 74 20 6c 69 73 74 20 mple.@group.(funcall.(-cut.list.
9f000 31 20 3c 3e 20 33 20 3c 3e 20 35 29 20 32 20 34 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 1.<>.3.<>.5).2.4).....@result{}.
9f020 28 31 20 32 20 33 20 34 20 35 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d (1.2.3.4.5).@end.group.@group.(-
9f040 6d 61 70 20 28 2d 63 75 74 20 66 75 6e 63 61 6c 6c 20 3c 3e 20 35 29 20 60 28 31 2b 20 31 2d 20 map.(-cut.funcall.<>.5).`(1+.1-.
9f060 2c 28 6c 61 6d 62 64 61 20 28 78 29 20 28 2f 20 31 2e 30 20 78 29 29 29 29 0a 20 20 20 20 40 72 ,(lambda.(x).(/.1.0.x)))).....@r
9f080 65 73 75 6c 74 7b 7d 20 28 36 20 34 20 30 2e 32 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 esult{}.(6.4.0.2).@end.group.@gr
9f0a0 6f 75 70 0a 28 2d 6d 61 70 20 28 2d 63 75 74 20 3c 3e 20 31 20 32 20 33 29 20 27 28 6c 69 73 74 oup.(-map.(-cut.<>.1.2.3).'(list
9f0c0 20 76 65 63 74 6f 72 20 73 74 72 69 6e 67 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 .vector.string)).....@result{}.(
9f0e0 28 31 20 32 20 33 29 20 5b 31 20 32 20 33 5d 20 22 5c 31 5c 32 5c 33 22 29 0a 40 65 6e 64 20 67 (1.2.3).[1.2.3]."\1\2\3").@end.g
9f100 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 6d 61 63 0a 0a 40 roup.@end.example.@end.defmac..@
9f120 61 6e 63 68 6f 72 7b 2d 6e 6f 74 7d 0a 40 64 65 66 75 6e 20 2d 6e 6f 74 20 28 70 72 65 64 29 0a anchor{-not}.@defun.-not.(pred).
9f140 52 65 74 75 72 6e 20 61 20 70 72 65 64 69 63 61 74 65 20 74 68 61 74 20 6e 65 67 61 74 65 73 20 Return.a.predicate.that.negates.
9f160 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 40 76 61 72 7b 70 72 65 64 7d 2e 0a 54 68 65 20 72 65 the.result.of.@var{pred}..The.re
9f180 74 75 72 6e 65 64 20 70 72 65 64 69 63 61 74 65 20 70 61 73 73 65 73 20 69 74 73 20 61 72 67 75 turned.predicate.passes.its.argu
9f1a0 6d 65 6e 74 73 20 74 6f 20 40 76 61 72 7b 70 72 65 64 7d 2e 20 20 49 66 20 40 76 61 72 7b 70 72 ments.to.@var{pred}...If.@var{pr
9f1c0 65 64 7d 0a 72 65 74 75 72 6e 73 20 6e 69 6c 2c 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 6e ed}.returns.nil,.the.result.is.n
9f1e0 6f 6e 2d 6e 69 6c 3b 20 6f 74 68 65 72 77 69 73 65 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 on-nil;.otherwise.the.result.is.
9f200 6e 69 6c 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 61 6e 64 66 6e 7d 20 28 40 nil...See.also:.@code{-andfn}.(@
9f220 70 78 72 65 66 7b 2d 61 6e 64 66 6e 7d 29 20 61 6e 64 20 40 63 6f 64 65 7b 2d 6f 72 66 6e 7d 20 pxref{-andfn}).and.@code{-orfn}.
9f240 28 40 70 78 72 65 66 7b 2d 6f 72 66 6e 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 (@pxref{-orfn})...@example.@grou
9f260 70 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 6e 6f 74 20 23 27 6e 75 6d 62 65 72 70 29 20 22 35 22 29 p.(funcall.(-not.#'numberp)."5")
9f280 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 74 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f .....@result{}.t.@end.group.@gro
9f2a0 75 70 0a 28 2d 73 6f 72 74 20 28 2d 6e 6f 74 20 23 27 3c 29 20 27 28 35 20 32 20 31 20 30 20 36 up.(-sort.(-not.#'<).'(5.2.1.0.6
9f2c0 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 36 20 35 20 32 20 31 20 30 29 0a 40 65 6e )).....@result{}.(6.5.2.1.0).@en
9f2e0 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 66 69 6c 74 65 72 20 28 2d 6e 6f 74 20 28 2d d.group.@group.(-filter.(-not.(-
9f300 70 61 72 74 69 61 6c 20 23 27 3c 20 34 29 29 20 27 28 31 20 32 20 33 20 34 20 35 20 36 20 37 20 partial.#'<.4)).'(1.2.3.4.5.6.7.
9f320 38 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 20 34 29 0a 40 65 6e 64 8)).....@result{}.(1.2.3.4).@end
9f340 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a .group.@end.example.@end.defun..
9f360 40 61 6e 63 68 6f 72 7b 2d 6f 72 66 6e 7d 0a 40 64 65 66 75 6e 20 2d 6f 72 66 6e 20 28 26 72 65 @anchor{-orfn}.@defun.-orfn.(&re
9f380 73 74 20 70 72 65 64 73 29 0a 52 65 74 75 72 6e 20 61 20 70 72 65 64 69 63 61 74 65 20 74 68 61 st.preds).Return.a.predicate.tha
9f3a0 74 20 72 65 74 75 72 6e 73 20 74 68 65 20 66 69 72 73 74 20 6e 6f 6e 2d 6e 69 6c 20 72 65 73 75 t.returns.the.first.non-nil.resu
9f3c0 6c 74 20 6f 66 20 40 76 61 72 7b 70 72 65 64 73 7d 2e 0a 54 68 65 20 72 65 74 75 72 6e 65 64 20 lt.of.@var{preds}..The.returned.
9f3e0 70 72 65 64 69 63 61 74 65 20 74 61 6b 65 73 20 61 20 76 61 72 69 61 62 6c 65 20 6e 75 6d 62 65 predicate.takes.a.variable.numbe
9f400 72 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 2c 0a 70 61 73 73 65 73 20 74 68 65 6d 20 74 6f 20 65 r.of.arguments,.passes.them.to.e
9f420 61 63 68 20 70 72 65 64 69 63 61 74 65 20 69 6e 20 40 76 61 72 7b 70 72 65 64 73 7d 20 69 6e 20 ach.predicate.in.@var{preds}.in.
9f440 74 75 72 6e 20 75 6e 74 69 6c 20 6f 6e 65 20 6f 66 20 74 68 65 6d 0a 72 65 74 75 72 6e 73 20 6e turn.until.one.of.them.returns.n
9f460 6f 6e 2d 6e 69 6c 2c 20 61 6e 64 20 72 65 74 75 72 6e 73 20 74 68 61 74 20 6e 6f 6e 2d 6e 69 6c on-nil,.and.returns.that.non-nil
9f480 20 72 65 73 75 6c 74 20 77 69 74 68 6f 75 74 20 63 61 6c 6c 69 6e 67 0a 74 68 65 20 72 65 6d 61 .result.without.calling.the.rema
9f4a0 69 6e 69 6e 67 20 40 76 61 72 7b 70 72 65 64 73 7d 2e 20 20 49 66 20 61 6c 6c 20 40 76 61 72 7b ining.@var{preds}...If.all.@var{
9f4c0 70 72 65 64 73 7d 20 72 65 74 75 72 6e 20 6e 69 6c 2c 20 6f 72 20 69 66 20 6e 6f 20 40 76 61 72 preds}.return.nil,.or.if.no.@var
9f4e0 7b 70 72 65 64 73 7d 20 61 72 65 0a 67 69 76 65 6e 2c 20 74 68 65 20 72 65 74 75 72 6e 65 64 20 {preds}.are.given,.the.returned.
9f500 70 72 65 64 69 63 61 74 65 20 72 65 74 75 72 6e 73 20 6e 69 6c 2e 0a 0a 53 65 65 20 61 6c 73 6f predicate.returns.nil...See.also
9f520 3a 20 40 63 6f 64 65 7b 2d 61 6e 64 66 6e 7d 20 28 40 70 78 72 65 66 7b 2d 61 6e 64 66 6e 7d 29 :.@code{-andfn}.(@pxref{-andfn})
9f540 20 61 6e 64 20 40 63 6f 64 65 7b 2d 6e 6f 74 7d 20 28 40 70 78 72 65 66 7b 2d 6e 6f 74 7d 29 2e .and.@code{-not}.(@pxref{-not}).
9f560 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 66 69 6c 74 65 72 20 28 2d 6f 72 66 ..@example.@group.(-filter.(-orf
9f580 6e 20 23 27 6e 61 74 6e 75 6d 70 20 23 27 62 6f 6f 6c 65 61 6e 70 29 20 27 28 31 20 6e 69 6c 20 n.#'natnump.#'booleanp).'(1.nil.
9f5a0 22 61 22 20 2d 34 20 62 20 63 20 74 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 "a".-4.b.c.t)).....@result{}.(1.
9f5c0 6e 69 6c 20 74 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 66 75 6e 63 61 6c nil.t).@end.group.@group.(funcal
9f5e0 6c 20 28 2d 6f 72 66 6e 20 23 27 73 79 6d 62 6f 6c 70 20 28 2d 63 75 74 20 73 74 72 69 6e 67 2d l.(-orfn.#'symbolp.(-cut.string-
9f600 6d 61 74 63 68 2d 70 20 22 78 22 20 3c 3e 29 29 20 22 61 78 65 22 29 0a 20 20 20 20 40 72 65 73 match-p."x".<>))."axe").....@res
9f620 75 6c 74 7b 7d 20 31 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 66 75 6e 63 61 ult{}.1.@end.group.@group.(funca
9f640 6c 6c 20 28 2d 6f 72 66 6e 20 23 27 3d 20 23 27 2b 29 20 31 20 31 29 0a 20 20 20 20 40 72 65 73 ll.(-orfn.#'=.#'+).1.1).....@res
9f660 75 6c 74 7b 7d 20 74 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a ult{}.t.@end.group.@end.example.
9f680 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 61 6e 64 66 6e 7d 0a 40 64 65 66 @end.defun..@anchor{-andfn}.@def
9f6a0 75 6e 20 2d 61 6e 64 66 6e 20 28 26 72 65 73 74 20 70 72 65 64 73 29 0a 52 65 74 75 72 6e 20 61 un.-andfn.(&rest.preds).Return.a
9f6c0 20 70 72 65 64 69 63 61 74 65 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 20 .predicate.that.returns.non-nil.
9f6e0 69 66 20 61 6c 6c 20 40 76 61 72 7b 70 72 65 64 73 7d 20 64 6f 20 73 6f 2e 0a 54 68 65 20 72 65 if.all.@var{preds}.do.so..The.re
9f700 74 75 72 6e 65 64 20 70 72 65 64 69 63 61 74 65 20 40 76 61 72 7b 70 7d 20 74 61 6b 65 73 20 61 turned.predicate.@var{p}.takes.a
9f720 20 76 61 72 69 61 62 6c 65 20 6e 75 6d 62 65 72 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 20 61 6e .variable.number.of.arguments.an
9f740 64 0a 70 61 73 73 65 73 20 74 68 65 6d 20 74 6f 20 65 61 63 68 20 70 72 65 64 69 63 61 74 65 20 d.passes.them.to.each.predicate.
9f760 69 6e 20 40 76 61 72 7b 70 72 65 64 73 7d 20 69 6e 20 74 75 72 6e 2e 20 20 49 66 20 61 6e 79 20 in.@var{preds}.in.turn...If.any.
9f780 6f 6e 65 20 6f 66 0a 40 76 61 72 7b 70 72 65 64 73 7d 20 72 65 74 75 72 6e 73 20 6e 69 6c 2c 20 one.of.@var{preds}.returns.nil,.
9f7a0 40 76 61 72 7b 70 7d 20 61 6c 73 6f 20 72 65 74 75 72 6e 73 20 6e 69 6c 20 77 69 74 68 6f 75 74 @var{p}.also.returns.nil.without
9f7c0 20 63 61 6c 6c 69 6e 67 20 74 68 65 0a 72 65 6d 61 69 6e 69 6e 67 20 40 76 61 72 7b 70 72 65 64 .calling.the.remaining.@var{pred
9f7e0 73 7d 2e 20 20 49 66 20 61 6c 6c 20 40 76 61 72 7b 70 72 65 64 73 7d 20 72 65 74 75 72 6e 20 6e s}...If.all.@var{preds}.return.n
9f800 6f 6e 2d 6e 69 6c 2c 20 40 76 61 72 7b 70 7d 20 72 65 74 75 72 6e 73 20 74 68 65 20 6c 61 73 74 on-nil,.@var{p}.returns.the.last
9f820 0a 73 75 63 68 20 76 61 6c 75 65 2e 20 20 49 66 20 6e 6f 20 40 76 61 72 7b 70 72 65 64 73 7d 20 .such.value...If.no.@var{preds}.
9f840 61 72 65 20 67 69 76 65 6e 2c 20 40 76 61 72 7b 70 7d 20 61 6c 77 61 79 73 20 72 65 74 75 72 6e are.given,.@var{p}.always.return
9f860 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 6f 72 66 s.non-nil...See.also:.@code{-orf
9f880 6e 7d 20 28 40 70 78 72 65 66 7b 2d 6f 72 66 6e 7d 29 20 61 6e 64 20 40 63 6f 64 65 7b 2d 6e 6f n}.(@pxref{-orfn}).and.@code{-no
9f8a0 74 7d 20 28 40 70 78 72 65 66 7b 2d 6e 6f 74 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 t}.(@pxref{-not})...@example.@gr
9f8c0 6f 75 70 0a 28 2d 66 69 6c 74 65 72 20 28 2d 61 6e 64 66 6e 20 23 27 6e 75 6d 62 65 72 70 20 28 oup.(-filter.(-andfn.#'numberp.(
9f8e0 2d 63 75 74 20 3c 20 3c 3e 20 35 29 29 20 27 28 61 20 31 20 62 20 36 20 63 20 32 29 29 0a 20 20 -cut.<.<>.5)).'(a.1.b.6.c.2))...
9f900 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 ..@result{}.(1.2).@end.group.@gr
9f920 6f 75 70 0a 28 6d 61 70 63 61 72 20 28 2d 61 6e 64 66 6e 20 23 27 6e 75 6d 62 65 72 70 20 23 27 oup.(mapcar.(-andfn.#'numberp.#'
9f940 31 2b 29 20 27 28 61 20 31 20 62 20 36 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 6e 1+).'(a.1.b.6)).....@result{}.(n
9f960 69 6c 20 32 20 6e 69 6c 20 37 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 66 il.2.nil.7).@end.group.@group.(f
9f980 75 6e 63 61 6c 6c 20 28 2d 61 6e 64 66 6e 20 23 27 3d 20 23 27 2b 29 20 31 20 31 29 0a 20 20 20 uncall.(-andfn.#'=.#'+).1.1)....
9f9a0 20 40 72 65 73 75 6c 74 7b 7d 20 32 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 .@result{}.2.@end.group.@end.exa
9f9c0 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 69 74 65 72 61 74 mple.@end.defun..@anchor{-iterat
9f9e0 65 66 6e 7d 0a 40 64 65 66 75 6e 20 2d 69 74 65 72 61 74 65 66 6e 20 28 66 6e 20 6e 29 0a 52 65 efn}.@defun.-iteratefn.(fn.n).Re
9fa00 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 40 76 61 72 7b 66 6e 7d 20 63 6f 6d 70 6f 73 65 turn.a.function.@var{fn}.compose
9fa20 64 20 40 76 61 72 7b 6e 7d 20 74 69 6d 65 73 20 77 69 74 68 20 69 74 73 65 6c 66 2e 0a 0a 40 76 d.@var{n}.times.with.itself...@v
9fa40 61 72 7b 66 6e 7d 20 69 73 20 61 20 75 6e 61 72 79 20 66 75 6e 63 74 69 6f 6e 2e 20 20 49 66 20 ar{fn}.is.a.unary.function...If.
9fa60 79 6f 75 20 6e 65 65 64 20 74 6f 20 75 73 65 20 61 20 66 75 6e 63 74 69 6f 6e 20 6f 66 20 68 69 you.need.to.use.a.function.of.hi
9fa80 67 68 65 72 0a 61 72 69 74 79 2c 20 75 73 65 20 40 63 6f 64 65 7b 2d 61 70 70 6c 69 66 79 7d 20 gher.arity,.use.@code{-applify}.
9faa0 28 40 70 78 72 65 66 7b 2d 61 70 70 6c 69 66 79 7d 29 20 66 69 72 73 74 20 74 6f 20 74 75 72 6e (@pxref{-applify}).first.to.turn
9fac0 20 69 74 20 69 6e 74 6f 20 61 20 75 6e 61 72 79 20 66 75 6e 63 74 69 6f 6e 2e 0a 0a 57 69 74 68 .it.into.a.unary.function...With
9fae0 20 6e 20 3d 20 30 2c 20 74 68 69 73 20 61 63 74 73 20 61 73 20 69 64 65 6e 74 69 74 79 20 66 75 .n.=.0,.this.acts.as.identity.fu
9fb00 6e 63 74 69 6f 6e 2e 0a 0a 49 6e 20 74 79 70 65 73 3a 20 28 61 20 2d 3e 20 61 29 20 2d 3e 20 49 nction...In.types:.(a.->.a).->.I
9fb20 6e 74 20 2d 3e 20 61 20 2d 3e 20 61 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 73 61 74 nt.->.a.->.a...This.function.sat
9fb40 69 73 66 69 65 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6c 61 77 3a 0a 0a 20 20 28 66 75 isfies.the.following.law:....(fu
9fb60 6e 63 61 6c 6c 20 28 2d 69 74 65 72 61 74 65 66 6e 20 66 6e 20 6e 29 20 69 6e 69 74 29 20 3d 20 ncall.(-iteratefn.fn.n).init).=.
9fb80 28 2d 6c 61 73 74 2d 69 74 65 6d 20 28 2d 69 74 65 72 61 74 65 20 66 6e 20 69 6e 69 74 20 28 31 (-last-item.(-iterate.fn.init.(1
9fba0 2b 20 6e 29 29 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 66 75 6e 63 61 6c +.n)))...@example.@group.(funcal
9fbc0 6c 20 28 2d 69 74 65 72 61 74 65 66 6e 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 2a 20 78 20 78 l.(-iteratefn.(lambda.(x).(*.x.x
9fbe0 29 29 20 33 29 20 32 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 32 35 36 0a 40 65 6e 64 20 )).3).2).....@result{}.256.@end.
9fc00 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 69 74 65 72 61 74 65 66 group.@group.(funcall.(-iteratef
9fc20 6e 20 27 31 2b 20 33 29 20 31 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 34 0a 40 65 6e 64 n.'1+.3).1).....@result{}.4.@end
9fc40 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 69 74 65 72 61 74 65 .group.@group.(funcall.(-iterate
9fc60 66 6e 20 27 63 64 72 20 33 29 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 40 72 65 fn.'cdr.3).'(1.2.3.4.5)).....@re
9fc80 73 75 6c 74 7b 7d 20 28 34 20 35 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 sult{}.(4.5).@end.group.@end.exa
9fca0 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 66 69 78 66 6e 7d mple.@end.defun..@anchor{-fixfn}
9fcc0 0a 40 64 65 66 75 6e 20 2d 66 69 78 66 6e 20 28 66 6e 20 26 6f 70 74 69 6f 6e 61 6c 20 65 71 75 .@defun.-fixfn.(fn.&optional.equ
9fce0 61 6c 2d 74 65 73 74 20 68 61 6c 74 2d 74 65 73 74 29 0a 52 65 74 75 72 6e 20 61 20 66 75 6e 63 al-test.halt-test).Return.a.func
9fd00 74 69 6f 6e 20 74 68 61 74 20 63 6f 6d 70 75 74 65 73 20 74 68 65 20 28 6c 65 61 73 74 29 20 66 tion.that.computes.the.(least).f
9fd20 69 78 70 6f 69 6e 74 20 6f 66 20 40 76 61 72 7b 66 6e 7d 2e 0a 0a 40 76 61 72 7b 66 6e 7d 20 6d ixpoint.of.@var{fn}...@var{fn}.m
9fd40 75 73 74 20 62 65 20 61 20 75 6e 61 72 79 20 66 75 6e 63 74 69 6f 6e 2e 20 54 68 65 20 72 65 74 ust.be.a.unary.function..The.ret
9fd60 75 72 6e 65 64 20 6c 61 6d 62 64 61 20 74 61 6b 65 73 20 61 20 73 69 6e 67 6c 65 0a 61 72 67 75 urned.lambda.takes.a.single.argu
9fd80 6d 65 6e 74 2c 20 40 76 61 72 7b 78 7d 2c 20 74 68 65 20 69 6e 69 74 69 61 6c 20 76 61 6c 75 65 ment,.@var{x},.the.initial.value
9fda0 20 66 6f 72 20 74 68 65 20 66 69 78 70 6f 69 6e 74 20 69 74 65 72 61 74 69 6f 6e 2e 20 54 68 65 .for.the.fixpoint.iteration..The
9fdc0 0a 69 74 65 72 61 74 69 6f 6e 20 68 61 6c 74 73 20 77 68 65 6e 20 65 69 74 68 65 72 20 6f 66 20 .iteration.halts.when.either.of.
9fde0 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6e 64 69 74 69 6f 6e 73 20 69 73 20 73 61 74 69 the.following.conditions.is.sati
9fe00 73 66 69 65 64 3a 0a 0a 20 31 2e 20 49 74 65 72 61 74 69 6f 6e 20 63 6f 6e 76 65 72 67 65 73 20 sfied:...1..Iteration.converges.
9fe20 74 6f 20 74 68 65 20 66 69 78 70 6f 69 6e 74 2c 20 77 69 74 68 20 65 71 75 61 6c 69 74 79 20 62 to.the.fixpoint,.with.equality.b
9fe40 65 69 6e 67 0a 20 20 20 20 74 65 73 74 65 64 20 75 73 69 6e 67 20 40 76 61 72 7b 65 71 75 61 6c eing.....tested.using.@var{equal
9fe60 2d 74 65 73 74 7d 2e 20 49 66 20 40 76 61 72 7b 65 71 75 61 6c 2d 74 65 73 74 7d 20 69 73 20 6e -test}..If.@var{equal-test}.is.n
9fe80 6f 74 20 73 70 65 63 69 66 69 65 64 2c 0a 20 20 20 20 40 63 6f 64 65 7b 65 71 75 61 6c 7d 20 69 ot.specified,.....@code{equal}.i
9fea0 73 20 75 73 65 64 2e 20 46 6f 72 20 66 75 6e 63 74 69 6f 6e 73 20 6f 76 65 72 20 74 68 65 20 66 s.used..For.functions.over.the.f
9fec0 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 0a 20 20 20 20 6e 75 6d 62 65 72 73 2c 20 69 74 20 6d 61 loating.point.....numbers,.it.ma
9fee0 79 20 62 65 20 6e 65 63 65 73 73 61 72 79 20 74 6f 20 70 72 6f 76 69 64 65 20 61 6e 20 61 70 70 y.be.necessary.to.provide.an.app
9ff00 72 6f 70 72 69 61 74 65 0a 20 20 20 20 61 70 70 72 6f 78 69 6d 61 74 65 20 63 6f 6d 70 61 72 69 ropriate.....approximate.compari
9ff20 73 6f 6e 20 74 65 73 74 2e 0a 0a 20 32 2e 20 40 76 61 72 7b 68 61 6c 74 2d 74 65 73 74 7d 20 72 son.test....2..@var{halt-test}.r
9ff40 65 74 75 72 6e 73 20 61 20 6e 6f 6e 2d 6e 69 6c 20 76 61 6c 75 65 2e 20 40 76 61 72 7b 68 61 6c eturns.a.non-nil.value..@var{hal
9ff60 74 2d 74 65 73 74 7d 20 64 65 66 61 75 6c 74 73 20 74 6f 20 61 0a 20 20 20 20 73 69 6d 70 6c 65 t-test}.defaults.to.a.....simple
9ff80 20 63 6f 75 6e 74 65 72 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 74 20 61 66 74 65 72 20 40 63 .counter.that.returns.t.after.@c
9ffa0 6f 64 65 7b 2d 66 69 78 66 6e 2d 6d 61 78 2d 69 74 65 72 61 74 69 6f 6e 73 7d 2c 0a 20 20 20 20 ode{-fixfn-max-iterations},.....
9ffc0 74 6f 20 67 75 61 72 64 20 61 67 61 69 6e 73 74 20 69 6e 66 69 6e 69 74 65 20 69 74 65 72 61 74 to.guard.against.infinite.iterat
9ffe0 69 6f 6e 2e 20 4f 74 68 65 72 77 69 73 65 2c 20 40 76 61 72 7b 68 61 6c 74 2d 74 65 73 74 7d 0a ion..Otherwise,.@var{halt-test}.
a0000 20 20 20 20 6d 75 73 74 20 62 65 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 61 63 63 65 ....must.be.a.function.that.acce
a0020 70 74 73 20 61 20 73 69 6e 67 6c 65 20 61 72 67 75 6d 65 6e 74 2c 20 74 68 65 0a 20 20 20 20 63 pts.a.single.argument,.the.....c
a0040 75 72 72 65 6e 74 20 76 61 6c 75 65 20 6f 66 20 40 76 61 72 7b 78 7d 2c 20 61 6e 64 20 72 65 74 urrent.value.of.@var{x},.and.ret
a0060 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 20 61 73 20 6c 6f 6e 67 20 61 73 20 69 74 65 72 61 74 69 6f urns.non-nil.as.long.as.iteratio
a0080 6e 0a 20 20 20 20 73 68 6f 75 6c 64 20 63 6f 6e 74 69 6e 75 65 2e 20 49 6e 20 74 68 69 73 20 77 n.....should.continue..In.this.w
a00a0 61 79 2c 20 61 20 6d 6f 72 65 20 73 6f 70 68 69 73 74 69 63 61 74 65 64 0a 20 20 20 20 63 6f 6e ay,.a.more.sophisticated.....con
a00c0 76 65 72 67 65 6e 63 65 20 74 65 73 74 20 6d 61 79 20 62 65 20 73 75 70 70 6c 69 65 64 20 62 79 vergence.test.may.be.supplied.by
a00e0 20 74 68 65 20 63 61 6c 6c 65 72 2e 0a 0a 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 6f .the.caller...The.return.value.o
a0100 66 20 74 68 65 20 6c 61 6d 62 64 61 20 69 73 20 65 69 74 68 65 72 20 74 68 65 20 66 69 78 70 6f f.the.lambda.is.either.the.fixpo
a0120 69 6e 74 20 6f 72 2c 20 69 66 0a 69 74 65 72 61 74 69 6f 6e 20 68 61 6c 74 65 64 20 62 65 66 6f int.or,.if.iteration.halted.befo
a0140 72 65 20 63 6f 6e 76 65 72 67 69 6e 67 2c 20 61 20 63 6f 6e 73 20 77 69 74 68 20 63 61 72 20 40 re.converging,.a.cons.with.car.@
a0160 63 6f 64 65 7b 68 61 6c 74 65 64 7d 20 61 6e 64 0a 63 64 72 20 74 68 65 20 66 69 6e 61 6c 20 6f code{halted}.and.cdr.the.final.o
a0180 75 74 70 75 74 20 66 72 6f 6d 20 40 76 61 72 7b 68 61 6c 74 2d 74 65 73 74 7d 2e 0a 0a 49 6e 20 utput.from.@var{halt-test}...In.
a01a0 74 79 70 65 73 3a 20 28 61 20 2d 3e 20 61 29 20 2d 3e 20 61 20 2d 3e 20 61 2e 0a 0a 40 65 78 61 types:.(a.->.a).->.a.->.a...@exa
a01c0 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 66 69 78 66 6e 20 23 27 63 mple.@group.(funcall.(-fixfn.#'c
a01e0 6f 73 20 23 27 61 70 70 72 6f 78 3d 29 20 30 2e 37 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d os.#'approx=).0.7).....@result{}
a0200 20 30 2e 37 33 39 30 38 35 31 33 33 32 31 35 31 36 30 37 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 .0.7390851332151607.@end.group.@
a0220 67 72 6f 75 70 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 66 69 78 66 6e 20 28 6c 61 6d 62 64 61 20 28 group.(funcall.(-fixfn.(lambda.(
a0240 78 29 20 28 65 78 70 74 20 28 2b 20 78 20 31 30 29 20 30 2e 32 35 29 29 29 20 32 2e 30 29 0a 20 x).(expt.(+.x.10).0.25))).2.0)..
a0260 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 31 2e 38 35 35 35 38 34 35 32 38 36 34 30 39 33 37 38 0a ...@result{}.1.8555845286409378.
a0280 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 66 69 78 @end.group.@group.(funcall.(-fix
a02a0 66 6e 20 23 27 73 69 6e 20 23 27 61 70 70 72 6f 78 3d 29 20 30 2e 31 29 0a 20 20 20 20 40 72 65 fn.#'sin.#'approx=).0.1).....@re
a02c0 73 75 6c 74 7b 7d 20 28 68 61 6c 74 65 64 20 2e 20 74 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 sult{}.(halted...t).@end.group.@
a02e0 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b end.example.@end.defun..@anchor{
a0300 2d 70 72 6f 64 66 6e 7d 0a 40 64 65 66 75 6e 20 2d 70 72 6f 64 66 6e 20 28 26 72 65 73 74 20 66 -prodfn}.@defun.-prodfn.(&rest.f
a0320 6e 73 29 0a 54 61 6b 65 20 61 20 6c 69 73 74 20 6f 66 20 6e 20 66 75 6e 63 74 69 6f 6e 73 20 61 ns).Take.a.list.of.n.functions.a
a0340 6e 64 20 72 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 74 61 6b 65 73 20 nd.return.a.function.that.takes.
a0360 61 0a 6c 69 73 74 20 6f 66 20 6c 65 6e 67 74 68 20 6e 2c 20 61 70 70 6c 79 69 6e 67 20 69 2d 74 a.list.of.length.n,.applying.i-t
a0380 68 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 69 2d 74 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 h.function.to.i-th.element.of.th
a03a0 65 0a 69 6e 70 75 74 20 6c 69 73 74 2e 20 20 52 65 74 75 72 6e 73 20 61 20 6c 69 73 74 20 6f 66 e.input.list...Returns.a.list.of
a03c0 20 6c 65 6e 67 74 68 20 6e 2e 0a 0a 49 6e 20 74 79 70 65 73 20 28 66 6f 72 20 6e 3d 32 29 3a 20 .length.n...In.types.(for.n=2):.
a03e0 28 28 61 20 2d 3e 20 62 29 2c 20 28 63 20 2d 3e 20 64 29 29 20 2d 3e 20 28 61 2c 20 63 29 20 2d ((a.->.b),.(c.->.d)).->.(a,.c).-
a0400 3e 20 28 62 2c 20 64 29 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 73 61 74 69 73 66 69 65 >.(b,.d)..This.function.satisfie
a0420 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6c 61 77 73 3a 0a 0a 20 20 28 2d 63 6f 6d 70 6f s.the.following.laws:....(-compo
a0440 73 65 20 28 2d 70 72 6f 64 66 6e 20 66 20 67 20 40 64 6f 74 73 7b 7d 29 20 28 2d 70 72 6f 64 66 se.(-prodfn.f.g.@dots{}).(-prodf
a0460 6e 20 66 27 20 67 27 20 40 64 6f 74 73 7b 7d 29 29 20 3d 20 28 2d 70 72 6f 64 66 6e 20 28 2d 63 n.f'.g'.@dots{})).=.(-prodfn.(-c
a0480 6f 6d 70 6f 73 65 20 66 20 66 27 29 20 28 2d 63 6f 6d 70 6f 73 65 20 67 20 67 27 29 20 40 64 6f ompose.f.f').(-compose.g.g').@do
a04a0 74 73 7b 7d 29 0a 20 20 28 2d 70 72 6f 64 66 6e 20 66 20 67 20 40 64 6f 74 73 7b 7d 29 20 3d 20 ts{})...(-prodfn.f.g.@dots{}).=.
a04c0 28 2d 6a 75 78 74 20 28 2d 63 6f 6d 70 6f 73 65 20 66 20 28 2d 70 61 72 74 69 61 6c 20 27 6e 74 (-juxt.(-compose.f.(-partial.'nt
a04e0 68 20 30 29 29 20 28 2d 63 6f 6d 70 6f 73 65 20 67 20 28 2d 70 61 72 74 69 61 6c 20 27 6e 74 68 h.0)).(-compose.g.(-partial.'nth
a0500 20 31 29 29 20 40 64 6f 74 73 7b 7d 29 0a 20 20 28 2d 63 6f 6d 70 6f 73 65 20 28 2d 70 72 6f 64 .1)).@dots{})...(-compose.(-prod
a0520 66 6e 20 66 20 67 20 40 64 6f 74 73 7b 7d 29 20 28 2d 6a 75 78 74 20 66 27 20 67 27 20 40 64 6f fn.f.g.@dots{}).(-juxt.f'.g'.@do
a0540 74 73 7b 7d 29 29 20 3d 20 28 2d 6a 75 78 74 20 28 2d 63 6f 6d 70 6f 73 65 20 66 20 66 27 29 20 ts{})).=.(-juxt.(-compose.f.f').
a0560 28 2d 63 6f 6d 70 6f 73 65 20 67 20 67 27 29 20 40 64 6f 74 73 7b 7d 29 0a 20 20 28 2d 63 6f 6d (-compose.g.g').@dots{})...(-com
a0580 70 6f 73 65 20 28 2d 70 61 72 74 69 61 6c 20 27 6e 74 68 20 6e 29 20 28 2d 70 72 6f 64 20 66 31 pose.(-partial.'nth.n).(-prod.f1
a05a0 20 66 32 20 40 64 6f 74 73 7b 7d 29 29 20 3d 20 28 2d 63 6f 6d 70 6f 73 65 20 66 6e 20 28 2d 70 .f2.@dots{})).=.(-compose.fn.(-p
a05c0 61 72 74 69 61 6c 20 27 6e 74 68 20 6e 29 29 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 artial.'nth.n))..@example.@group
a05e0 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 70 72 6f 64 66 6e 20 27 31 2b 20 27 31 2d 20 27 6e 75 6d 62 .(funcall.(-prodfn.'1+.'1-.'numb
a0600 65 72 2d 74 6f 2d 73 74 72 69 6e 67 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 40 72 65 73 er-to-string).'(1.2.3)).....@res
a0620 75 6c 74 7b 7d 20 28 32 20 31 20 22 33 22 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 ult{}.(2.1."3").@end.group.@grou
a0640 70 0a 28 2d 6d 61 70 20 28 2d 70 72 6f 64 66 6e 20 27 31 2b 20 27 31 2d 29 20 27 28 28 31 20 32 p.(-map.(-prodfn.'1+.'1-).'((1.2
a0660 29 20 28 33 20 34 29 20 28 35 20 36 29 20 28 37 20 38 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c ).(3.4).(5.6).(7.8))).....@resul
a0680 74 7b 7d 20 28 28 32 20 31 29 20 28 34 20 33 29 20 28 36 20 35 29 20 28 38 20 37 29 29 0a 40 65 t{}.((2.1).(4.3).(6.5).(8.7)).@e
a06a0 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 61 70 70 6c 79 20 27 2b 20 28 66 75 6e 63 61 nd.group.@group.(apply.'+.(funca
a06c0 6c 6c 20 28 2d 70 72 6f 64 66 6e 20 27 6c 65 6e 67 74 68 20 27 73 74 72 69 6e 67 2d 74 6f 2d 6e ll.(-prodfn.'length.'string-to-n
a06e0 75 6d 62 65 72 29 20 27 28 28 31 20 32 20 33 29 20 22 31 35 22 29 29 29 0a 20 20 20 20 40 72 65 umber).'((1.2.3)."15"))).....@re
a0700 73 75 6c 74 7b 7d 20 31 38 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c sult{}.18.@end.group.@end.exampl
a0720 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 6e 6f 64 65 20 44 65 76 65 6c 6f 70 6d 65 6e 74 0a e.@end.defun..@node.Development.
a0740 40 63 68 61 70 74 65 72 20 44 65 76 65 6c 6f 70 6d 65 6e 74 0a 0a 54 68 65 20 44 61 73 68 20 72 @chapter.Development..The.Dash.r
a0760 65 70 6f 73 69 74 6f 72 79 20 69 73 20 68 6f 73 74 65 64 20 6f 6e 20 47 69 74 48 75 62 20 61 74 epository.is.hosted.on.GitHub.at
a0780 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6d 61 67 6e 61 72 73 .@url{https://github.com/magnars
a07a0 2f 64 61 73 68 2e 65 6c 7d 2e 0a 0a 40 6d 65 6e 75 0a 2a 20 43 6f 6e 74 72 69 62 75 74 65 3a 3a /dash.el}...@menu.*.Contribute::
a07c0 20 20 20 20 20 20 20 20 20 20 48 6f 77 20 74 6f 20 63 6f 6e 74 72 69 62 75 74 65 2e 0a 2a 20 43 ..........How.to.contribute..*.C
a07e0 6f 6e 74 72 69 62 75 74 6f 72 73 3a 3a 20 20 20 20 20 20 20 20 4c 69 73 74 20 6f 66 20 63 6f 6e ontributors::........List.of.con
a0800 74 72 69 62 75 74 6f 72 73 2e 0a 40 65 6e 64 20 6d 65 6e 75 0a 0a 40 6e 6f 64 65 20 43 6f 6e 74 tributors..@end.menu..@node.Cont
a0820 72 69 62 75 74 65 0a 40 73 65 63 74 69 6f 6e 20 43 6f 6e 74 72 69 62 75 74 65 0a 0a 59 65 73 2c ribute.@section.Contribute..Yes,
a0840 20 70 6c 65 61 73 65 20 64 6f 2e 20 20 50 75 72 65 20 66 75 6e 63 74 69 6f 6e 73 20 69 6e 20 74 .please.do...Pure.functions.in.t
a0860 68 65 20 6c 69 73 74 20 6d 61 6e 69 70 75 6c 61 74 69 6f 6e 20 72 65 61 6c 6d 20 6f 6e 6c 79 2c he.list.manipulation.realm.only,
a0880 0a 70 6c 65 61 73 65 2e 20 20 54 68 65 72 65 27 73 20 61 20 73 75 69 74 65 20 6f 66 20 65 78 61 .please...There's.a.suite.of.exa
a08a0 6d 70 6c 65 73 2f 74 65 73 74 73 20 69 6e 20 40 66 69 6c 65 7b 64 65 76 2f 65 78 61 6d 70 6c 65 mples/tests.in.@file{dev/example
a08c0 73 2e 65 6c 7d 2c 0a 73 6f 20 72 65 6d 65 6d 62 65 72 20 74 6f 20 61 64 64 20 74 65 73 74 73 20 s.el},.so.remember.to.add.tests.
a08e0 66 6f 72 20 79 6f 75 72 20 61 64 64 69 74 69 6f 6e 73 2c 20 6f 72 20 74 68 65 79 20 6d 61 79 20 for.your.additions,.or.they.may.
a0900 67 65 74 20 62 72 6f 6b 65 6e 0a 6c 61 74 65 72 2e 0a 0a 52 75 6e 20 74 68 65 20 74 65 73 74 73 get.broken.later...Run.the.tests
a0920 20 77 69 74 68 20 40 73 61 6d 70 7b 6d 61 6b 65 20 63 68 65 63 6b 7d 2e 20 20 52 65 67 65 6e 65 .with.@samp{make.check}...Regene
a0940 72 61 74 65 20 74 68 65 20 64 6f 63 73 20 77 69 74 68 0a 40 73 61 6d 70 7b 6d 61 6b 65 20 64 6f rate.the.docs.with.@samp{make.do
a0960 63 73 7d 2e 20 20 43 6f 6e 74 72 69 62 75 74 6f 72 73 20 61 72 65 20 65 6e 63 6f 75 72 61 67 65 cs}...Contributors.are.encourage
a0980 64 20 74 6f 20 69 6e 73 74 61 6c 6c 20 74 68 65 73 65 0a 63 6f 6d 6d 61 6e 64 73 20 61 73 20 61 d.to.install.these.commands.as.a
a09a0 20 47 69 74 20 70 72 65 2d 63 6f 6d 6d 69 74 20 68 6f 6f 6b 2c 20 73 6f 20 74 68 61 74 20 74 68 .Git.pre-commit.hook,.so.that.th
a09c0 65 20 74 65 73 74 73 20 61 72 65 20 61 6c 77 61 79 73 0a 72 75 6e 6e 69 6e 67 20 61 6e 64 20 74 e.tests.are.always.running.and.t
a09e0 68 65 20 64 6f 63 73 20 61 72 65 20 61 6c 77 61 79 73 20 69 6e 20 73 79 6e 63 3a 0a 0a 40 65 78 he.docs.are.always.in.sync:..@ex
a0a00 61 6d 70 6c 65 0a 24 20 63 70 20 64 65 76 2f 70 72 65 2d 63 6f 6d 6d 69 74 2e 73 68 20 2e 67 69 ample.$.cp.dev/pre-commit.sh..gi
a0a20 74 2f 68 6f 6f 6b 73 2f 70 72 65 2d 63 6f 6d 6d 69 74 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a t/hooks/pre-commit.@end.example.
a0a40 0a 4f 68 2c 20 61 6e 64 20 64 6f 6e 27 74 20 65 64 69 74 20 40 66 69 6c 65 7b 52 45 41 44 4d 45 .Oh,.and.don't.edit.@file{README
a0a60 2e 6d 64 7d 20 6f 72 20 40 66 69 6c 65 7b 64 61 73 68 2e 74 65 78 69 7d 20 64 69 72 65 63 74 6c .md}.or.@file{dash.texi}.directl
a0a80 79 2c 20 61 73 0a 74 68 65 79 20 61 72 65 20 61 75 74 6f 2d 67 65 6e 65 72 61 74 65 64 2e 20 20 y,.as.they.are.auto-generated...
a0aa0 49 6e 73 74 65 61 64 2c 20 63 68 61 6e 67 65 20 74 68 65 69 72 20 72 65 73 70 65 63 74 69 76 65 Instead,.change.their.respective
a0ac0 20 74 65 6d 70 6c 61 74 65 73 0a 40 66 69 6c 65 7b 72 65 61 64 6d 65 2d 74 65 6d 70 6c 61 74 65 .templates.@file{readme-template
a0ae0 2e 6d 64 7d 20 6f 72 20 40 66 69 6c 65 7b 64 61 73 68 2d 74 65 6d 70 6c 61 74 65 2e 74 65 78 69 .md}.or.@file{dash-template.texi
a0b00 7d 2e 0a 0a 54 6f 20 65 6e 73 75 72 65 20 74 68 61 74 20 44 61 73 68 20 63 61 6e 20 62 65 20 64 }...To.ensure.that.Dash.can.be.d
a0b20 69 73 74 72 69 62 75 74 65 64 20 77 69 74 68 20 47 4e 55 20 45 4c 50 41 20 6f 72 20 45 6d 61 63 istributed.with.GNU.ELPA.or.Emac
a0b40 73 2c 20 77 65 0a 72 65 71 75 69 72 65 20 74 68 61 74 20 61 6c 6c 20 63 6f 6e 74 72 69 62 75 74 s,.we.require.that.all.contribut
a0b60 6f 72 73 20 61 73 73 69 67 6e 20 63 6f 70 79 72 69 67 68 74 20 74 6f 20 74 68 65 20 46 72 65 65 ors.assign.copyright.to.the.Free
a0b80 20 53 6f 66 74 77 61 72 65 0a 46 6f 75 6e 64 61 74 69 6f 6e 2e 20 20 46 6f 72 20 6d 6f 72 65 20 .Software.Foundation...For.more.
a0ba0 6f 6e 20 74 68 69 73 2c 20 40 70 78 72 65 66 7b 43 6f 70 79 72 69 67 68 74 20 41 73 73 69 67 6e on.this,.@pxref{Copyright.Assign
a0bc0 6d 65 6e 74 2c 2c 2c 20 65 6d 61 63 73 2c 0a 54 68 65 20 47 4e 55 20 45 6d 61 63 73 20 4d 61 6e ment,,,.emacs,.The.GNU.Emacs.Man
a0be0 75 61 6c 7d 2e 0a 0a 40 6e 6f 64 65 20 43 6f 6e 74 72 69 62 75 74 6f 72 73 0a 40 73 65 63 74 69 ual}...@node.Contributors.@secti
a0c00 6f 6e 20 43 6f 6e 74 72 69 62 75 74 6f 72 73 0a 0a 40 69 74 65 6d 69 7a 65 0a 40 69 74 65 6d 0a on.Contributors..@itemize.@item.
a0c20 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 46 75 63 6f 31 2c 20 4d @url{https://github.com/Fuco1,.M
a0c40 61 74 75 73 20 47 6f 6c 6a 65 72 7d 20 63 6f 6e 74 72 69 62 75 74 65 64 20 6c 6f 74 73 20 6f 66 atus.Goljer}.contributed.lots.of
a0c60 0a 66 65 61 74 75 72 65 73 20 61 6e 64 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 40 69 74 65 6d 0a 40 .features.and.functions..@item.@
a0c80 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 74 6b 66 2c 20 54 61 6b 61 url{https://github.com/tkf,.Taka
a0ca0 66 75 6d 69 20 41 72 61 6b 61 6b 69 7d 20 63 6f 6e 74 72 69 62 75 74 65 64 0a 40 63 6f 64 65 7b fumi.Arakaki}.contributed.@code{
a0cc0 2d 67 72 6f 75 70 2d 62 79 7d 2e 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 -group-by}..@item.@url{https://g
a0ce0 69 74 68 75 62 2e 63 6f 6d 2f 74 61 6c 69 37 31 33 2c 20 74 61 6c 69 37 31 33 7d 20 69 73 20 74 ithub.com/tali713,.tali713}.is.t
a0d00 68 65 20 61 75 74 68 6f 72 20 6f 66 0a 40 63 6f 64 65 7b 2d 61 70 70 6c 69 66 79 7d 2e 0a 40 69 he.author.of.@code{-applify}..@i
a0d20 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 76 65 6d 76 tem.@url{https://github.com/vemv
a0d40 2c 20 56 40 27 7b 69 7d 63 74 6f 72 20 4d 2e 20 56 61 6c 65 6e 7a 75 65 6c 61 7d 20 63 6f 6e 74 ,.V@'{i}ctor.M..Valenzuela}.cont
a0d60 72 69 62 75 74 65 64 0a 40 63 6f 64 65 7b 2d 72 65 70 65 61 74 7d 2e 0a 40 69 74 65 6d 0a 40 75 ributed.@code{-repeat}..@item.@u
a0d80 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6e 69 63 66 65 72 72 69 65 72 rl{https://github.com/nicferrier
a0da0 2c 20 4e 69 63 20 46 65 72 72 69 65 72 7d 20 63 6f 6e 74 72 69 62 75 74 65 64 0a 40 63 6f 64 65 ,.Nic.Ferrier}.contributed.@code
a0dc0 7b 2d 63 6f 6e 73 2a 7d 2e 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 {-cons*}..@item.@url{https://git
a0de0 68 75 62 2e 63 6f 6d 2f 57 69 6c 66 72 65 64 2c 20 57 69 6c 66 72 65 64 20 48 75 67 68 65 73 7d hub.com/Wilfred,.Wilfred.Hughes}
a0e00 20 63 6f 6e 74 72 69 62 75 74 65 64 0a 40 63 6f 64 65 7b 2d 73 6c 69 63 65 7d 2c 20 40 63 6f 64 .contributed.@code{-slice},.@cod
a0e20 65 7b 2d 66 69 72 73 74 2d 69 74 65 6d 7d 2c 20 61 6e 64 20 40 63 6f 64 65 7b 2d 6c 61 73 74 2d e{-first-item},.and.@code{-last-
a0e40 69 74 65 6d 7d 2e 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 item}..@item.@url{https://github
a0e60 2e 63 6f 6d 2f 73 68 6f 73 74 69 2c 20 45 6d 61 6e 75 65 6c 20 45 76 61 6e 73 7d 20 63 6f 6e 74 .com/shosti,.Emanuel.Evans}.cont
a0e80 72 69 62 75 74 65 64 0a 40 63 6f 64 65 7b 2d 69 66 2d 6c 65 74 7d 2c 20 40 63 6f 64 65 7b 2d 77 ributed.@code{-if-let},.@code{-w
a0ea0 68 65 6e 2d 6c 65 74 7d 2c 20 61 6e 64 20 40 63 6f 64 65 7b 2d 69 6e 73 65 72 74 2d 61 74 7d 2e hen-let},.and.@code{-insert-at}.
a0ec0 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 72 .@item.@url{https://github.com/r
a0ee0 65 6a 65 65 70 2c 20 4a 6f 68 61 6e 20 41 6e 64 65 72 73 73 6f 6e 7d 20 63 6f 6e 74 72 69 62 75 ejeep,.Johan.Andersson}.contribu
a0f00 74 65 64 0a 40 63 6f 64 65 7b 2d 73 75 6d 7d 2c 20 40 63 6f 64 65 7b 2d 70 72 6f 64 75 63 74 7d ted.@code{-sum},.@code{-product}
a0f20 2c 20 61 6e 64 20 40 63 6f 64 65 7b 2d 73 61 6d 65 2d 69 74 65 6d 73 3f 7d 2e 0a 40 69 74 65 6d ,.and.@code{-same-items?}..@item
a0f40 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6b 75 72 69 73 75 77 .@url{https://github.com/kurisuw
a0f60 68 79 74 65 2c 20 43 68 72 69 73 74 69 6e 61 20 57 68 79 74 65 7d 20 63 6f 6e 74 72 69 62 75 74 hyte,.Christina.Whyte}.contribut
a0f80 65 64 0a 40 63 6f 64 65 7b 2d 63 6f 6d 70 6f 73 65 7d 2e 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 ed.@code{-compose}..@item.@url{h
a0fa0 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 73 74 65 76 65 6e 74 6c 61 6d 62 2c 20 53 ttps://github.com/steventlamb,.S
a0fc0 74 65 76 65 20 4c 61 6d 62 7d 20 63 6f 6e 74 72 69 62 75 74 65 64 0a 40 63 6f 64 65 7b 2d 63 79 teve.Lamb}.contributed.@code{-cy
a0fe0 63 6c 65 7d 2c 20 40 63 6f 64 65 7b 2d 70 61 64 7d 2c 20 40 63 6f 64 65 7b 2d 61 6e 6e 6f 74 61 cle},.@code{-pad},.@code{-annota
a1000 74 65 7d 2c 20 40 63 6f 64 65 7b 2d 7a 69 70 2d 66 69 6c 6c 7d 2c 20 61 6e 64 20 61 0a 76 61 72 te},.@code{-zip-fill},.and.a.var
a1020 69 61 64 69 63 20 76 65 72 73 69 6f 6e 20 6f 66 20 40 63 6f 64 65 7b 2d 7a 69 70 7d 2e 0a 40 69 iadic.version.of.@code{-zip}..@i
a1040 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 66 62 65 72 tem.@url{https://github.com/fber
a1060 67 72 6f 74 68 2c 20 46 72 65 64 72 69 6b 20 42 65 72 67 72 6f 74 68 7d 20 6d 61 64 65 20 74 68 groth,.Fredrik.Bergroth}.made.th
a1080 65 0a 40 63 6f 64 65 7b 2d 69 66 2d 6c 65 74 7d 20 66 61 6d 69 6c 79 20 75 73 65 20 40 63 6f 64 e.@code{-if-let}.family.use.@cod
a10a0 65 7b 2d 6c 65 74 7d 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 20 61 6e 64 20 69 6d 70 72 6f 76 e{-let}.destructuring.and.improv
a10c0 65 64 20 74 68 65 0a 73 63 72 69 70 74 20 66 6f 72 20 67 65 6e 65 72 61 74 69 6e 67 20 64 6f 63 ed.the.script.for.generating.doc
a10e0 75 6d 65 6e 74 61 74 69 6f 6e 2e 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 umentation..@item.@url{https://g
a1100 69 74 68 75 62 2e 63 6f 6d 2f 68 6f 6c 6f 6d 6f 72 70 68 2c 20 4d 61 72 6b 20 4f 74 65 69 7a 61 ithub.com/holomorph,.Mark.Oteiza
a1120 7d 20 63 6f 6e 74 72 69 62 75 74 65 64 0a 40 63 6f 64 65 7b 2d 69 6f 74 61 7d 20 61 6e 64 20 74 }.contributed.@code{-iota}.and.t
a1140 68 65 20 73 63 72 69 70 74 20 74 6f 20 63 72 65 61 74 65 20 61 6e 20 49 6e 66 6f 20 6d 61 6e 75 he.script.to.create.an.Info.manu
a1160 61 6c 2e 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f al..@item.@url{https://github.co
a1180 6d 2f 77 61 73 61 6d 61 73 61 2c 20 56 61 73 69 6c 69 6a 20 53 63 68 6e 65 69 64 65 72 6d 61 6e m/wasamasa,.Vasilij.Schneiderman
a11a0 6e 7d 20 63 6f 6e 74 72 69 62 75 74 65 64 0a 40 63 6f 64 65 7b 2d 73 6f 6d 65 7d 2e 0a 40 69 74 n}.contributed.@code{-some}..@it
a11c0 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6f 63 63 69 64 em.@url{https://github.com/occid
a11e0 65 6e 73 2c 20 57 69 6c 6c 69 61 6d 20 57 65 73 74 7d 20 6d 61 64 65 20 40 63 6f 64 65 7b 2d 66 ens,.William.West}.made.@code{-f
a1200 69 78 66 6e 7d 0a 6d 6f 72 65 20 72 6f 62 75 73 74 20 61 74 20 68 61 6e 64 6c 69 6e 67 20 66 6c ixfn}.more.robust.at.handling.fl
a1220 6f 61 74 73 2e 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e oats..@item.@url{https://github.
a1240 63 6f 6d 2f 63 61 6d 73 61 75 6c 2c 20 43 61 6d 20 53 61 75 6c 7d 20 63 6f 6e 74 72 69 62 75 74 com/camsaul,.Cam.Saul}.contribut
a1260 65 64 20 40 63 6f 64 65 7b 2d 73 6f 6d 65 2d 3e 7d 2c 0a 40 63 6f 64 65 7b 2d 73 6f 6d 65 2d 3e ed.@code{-some->},.@code{-some->
a1280 3e 7d 2c 20 61 6e 64 20 40 63 6f 64 65 7b 2d 73 6f 6d 65 2d 2d 3e 7d 2e 0a 40 69 74 65 6d 0a 40 >},.and.@code{-some-->}..@item.@
a12a0 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 62 61 73 69 6c 2d 63 6f 6e url{https://github.com/basil-con
a12c0 74 6f 2c 20 42 61 73 69 6c 20 4c 2e 20 43 6f 6e 74 6f 76 6f 75 6e 65 73 69 6f 73 7d 0a 63 6f 6e to,.Basil.L..Contovounesios}.con
a12e0 74 72 69 62 75 74 65 64 20 40 63 6f 64 65 7b 2d 63 6f 6d 6d 6f 6e 2d 70 72 65 66 69 78 7d 2c 20 tributed.@code{-common-prefix},.
a1300 40 63 6f 64 65 7b 2d 63 6f 6d 6d 6f 6e 2d 73 75 66 66 69 78 7d 2c 20 61 6e 64 20 76 61 72 69 6f @code{-common-suffix},.and.vario
a1320 75 73 0a 6f 74 68 65 72 20 69 6d 70 72 6f 76 65 6d 65 6e 74 73 2e 0a 40 69 74 65 6d 0a 40 75 72 us.other.improvements..@item.@ur
a1340 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 64 6f 75 62 6c 65 70 2c 20 50 61 l{https://github.com/doublep,.Pa
a1360 75 6c 20 50 6f 67 6f 6e 79 73 68 65 76 7d 20 63 6f 6e 74 72 69 62 75 74 65 64 0a 40 63 6f 64 65 ul.Pogonyshev}.contributed.@code
a1380 7b 2d 65 61 63 68 2d 72 7d 20 61 6e 64 20 40 63 6f 64 65 7b 2d 65 61 63 68 2d 72 2d 77 68 69 6c {-each-r}.and.@code{-each-r-whil
a13a0 65 7d 2e 0a 40 65 6e 64 20 69 74 65 6d 69 7a 65 0a 0a 54 68 61 6e 6b 73 21 0a 0a 4e 65 77 20 63 e}..@end.itemize..Thanks!..New.c
a13c0 6f 6e 74 72 69 62 75 74 6f 72 73 20 61 72 65 20 76 65 72 79 20 77 65 6c 63 6f 6d 65 2e 20 20 40 ontributors.are.very.welcome...@
a13e0 78 72 65 66 7b 43 6f 6e 74 72 69 62 75 74 65 7d 2e 0a 0a 40 63 20 41 70 70 65 6e 64 69 63 65 73 xref{Contribute}...@c.Appendices
a1400 2e 0a 0a 40 6e 6f 64 65 20 46 44 4c 0a 40 61 70 70 65 6e 64 69 78 20 47 4e 55 20 46 72 65 65 20 ...@node.FDL.@appendix.GNU.Free.
a1420 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 4c 69 63 65 6e 73 65 0a 40 69 6e 63 6c 75 64 65 20 64 Documentation.License.@include.d
a1440 6f 63 2f 66 64 6c 2e 74 65 78 69 0a 0a 40 6e 6f 64 65 20 47 50 4c 0a 40 61 70 70 65 6e 64 69 78 oc/fdl.texi..@node.GPL.@appendix
a1460 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 40 69 6e 63 .GNU.General.Public.License.@inc
a1480 6c 75 64 65 20 64 6f 63 2f 67 70 6c 2e 74 65 78 69 0a 0a 40 6e 6f 64 65 20 49 6e 64 65 78 0a 40 lude.doc/gpl.texi..@node.Index.@
a14a0 75 6e 6e 75 6d 62 65 72 65 64 20 49 6e 64 65 78 0a 40 70 72 69 6e 74 69 6e 64 65 78 20 66 6e 0a unnumbered.Index.@printindex.fn.
a14c0 0a 40 62 79 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .@bye...........................
a14e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a1500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a1520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a1540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a1560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a1580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a15a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a15c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a15e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a1600 64 61 73 68 2d 32 2e 31 39 2e 31 2f 72 61 69 6e 62 6f 77 2d 64 61 73 68 2e 70 6e 67 00 00 00 00 dash-2.19.1/rainbow-dash.png....
a1620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a1640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a1660 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
a1680 30 30 32 32 31 36 31 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 32 35 30 00 20 30 00 00 00 0022161.00000000000.014250..0...
a16a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a16c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a16e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a1700 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...................
a1720 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...................
a1740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a1760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a1780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a17a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a17c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a17e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a1800 89 50 4e 47 0d 0a 1a 0a 00 00 00 0d 49 48 44 52 00 00 00 8e 00 00 00 78 08 03 00 00 00 13 e8 3a .PNG........IHDR.......x.......:
a1820 3e 00 00 00 19 74 45 58 74 53 6f 66 74 77 61 72 65 00 41 64 6f 62 65 20 49 6d 61 67 65 52 65 61 >....tEXtSoftware.Adobe.ImageRea
a1840 64 79 71 c9 65 3c 00 00 03 22 69 54 58 74 58 4d 4c 3a 63 6f 6d 2e 61 64 6f 62 65 2e 78 6d 70 00 dyq.e<..."iTXtXML:com.adobe.xmp.
a1860 00 00 00 00 3c 3f 78 70 61 63 6b 65 74 20 62 65 67 69 6e 3d 22 ef bb bf 22 20 69 64 3d 22 57 35 ....<?xpacket.begin="...".id="W5
a1880 4d 30 4d 70 43 65 68 69 48 7a 72 65 53 7a 4e 54 63 7a 6b 63 39 64 22 3f 3e 20 3c 78 3a 78 6d 70 M0MpCehiHzreSzNTczkc9d"?>.<x:xmp
a18a0 6d 65 74 61 20 78 6d 6c 6e 73 3a 78 3d 22 61 64 6f 62 65 3a 6e 73 3a 6d 65 74 61 2f 22 20 78 3a meta.xmlns:x="adobe:ns:meta/".x:
a18c0 78 6d 70 74 6b 3d 22 41 64 6f 62 65 20 58 4d 50 20 43 6f 72 65 20 35 2e 30 2d 63 30 36 30 20 36 xmptk="Adobe.XMP.Core.5.0-c060.6
a18e0 31 2e 31 33 34 37 37 37 2c 20 32 30 31 30 2f 30 32 2f 31 32 2d 31 37 3a 33 32 3a 30 30 20 20 20 1.134777,.2010/02/12-17:32:00...
a1900 20 20 20 20 20 22 3e 20 3c 72 64 66 3a 52 44 46 20 78 6d 6c 6e 73 3a 72 64 66 3d 22 68 74 74 70 .....">.<rdf:RDF.xmlns:rdf="http
a1920 3a 2f 2f 77 77 77 2e 77 33 2e 6f 72 67 2f 31 39 39 39 2f 30 32 2f 32 32 2d 72 64 66 2d 73 79 6e ://www.w3.org/1999/02/22-rdf-syn
a1940 74 61 78 2d 6e 73 23 22 3e 20 3c 72 64 66 3a 44 65 73 63 72 69 70 74 69 6f 6e 20 72 64 66 3a 61 tax-ns#">.<rdf:Description.rdf:a
a1960 62 6f 75 74 3d 22 22 20 78 6d 6c 6e 73 3a 78 6d 70 3d 22 68 74 74 70 3a 2f 2f 6e 73 2e 61 64 6f bout="".xmlns:xmp="http://ns.ado
a1980 62 65 2e 63 6f 6d 2f 78 61 70 2f 31 2e 30 2f 22 20 78 6d 6c 6e 73 3a 78 6d 70 4d 4d 3d 22 68 74 be.com/xap/1.0/".xmlns:xmpMM="ht
a19a0 74 70 3a 2f 2f 6e 73 2e 61 64 6f 62 65 2e 63 6f 6d 2f 78 61 70 2f 31 2e 30 2f 6d 6d 2f 22 20 78 tp://ns.adobe.com/xap/1.0/mm/".x
a19c0 6d 6c 6e 73 3a 73 74 52 65 66 3d 22 68 74 74 70 3a 2f 2f 6e 73 2e 61 64 6f 62 65 2e 63 6f 6d 2f mlns:stRef="http://ns.adobe.com/
a19e0 78 61 70 2f 31 2e 30 2f 73 54 79 70 65 2f 52 65 73 6f 75 72 63 65 52 65 66 23 22 20 78 6d 70 3a xap/1.0/sType/ResourceRef#".xmp:
a1a00 43 72 65 61 74 6f 72 54 6f 6f 6c 3d 22 41 64 6f 62 65 20 50 68 6f 74 6f 73 68 6f 70 20 43 53 35 CreatorTool="Adobe.Photoshop.CS5
a1a20 20 4d 61 63 69 6e 74 6f 73 68 22 20 78 6d 70 4d 4d 3a 49 6e 73 74 61 6e 63 65 49 44 3d 22 78 6d .Macintosh".xmpMM:InstanceID="xm
a1a40 70 2e 69 69 64 3a 35 42 36 30 36 30 37 33 31 34 39 44 31 31 45 32 38 34 45 30 44 32 33 30 42 30 p.iid:5B606073149D11E284E0D230B0
a1a60 39 44 31 43 38 46 22 20 78 6d 70 4d 4d 3a 44 6f 63 75 6d 65 6e 74 49 44 3d 22 78 6d 70 2e 64 69 9D1C8F".xmpMM:DocumentID="xmp.di
a1a80 64 3a 35 42 36 30 36 30 37 34 31 34 39 44 31 31 45 32 38 34 45 30 44 32 33 30 42 30 39 44 31 43 d:5B606074149D11E284E0D230B09D1C
a1aa0 38 46 22 3e 20 3c 78 6d 70 4d 4d 3a 44 65 72 69 76 65 64 46 72 6f 6d 20 73 74 52 65 66 3a 69 6e 8F">.<xmpMM:DerivedFrom.stRef:in
a1ac0 73 74 61 6e 63 65 49 44 3d 22 78 6d 70 2e 69 69 64 3a 35 42 36 30 36 30 37 31 31 34 39 44 31 31 stanceID="xmp.iid:5B606071149D11
a1ae0 45 32 38 34 45 30 44 32 33 30 42 30 39 44 31 43 38 46 22 20 73 74 52 65 66 3a 64 6f 63 75 6d 65 E284E0D230B09D1C8F".stRef:docume
a1b00 6e 74 49 44 3d 22 78 6d 70 2e 64 69 64 3a 35 42 36 30 36 30 37 32 31 34 39 44 31 31 45 32 38 34 ntID="xmp.did:5B606072149D11E284
a1b20 45 30 44 32 33 30 42 30 39 44 31 43 38 46 22 2f 3e 20 3c 2f 72 64 66 3a 44 65 73 63 72 69 70 74 E0D230B09D1C8F"/>.</rdf:Descript
a1b40 69 6f 6e 3e 20 3c 2f 72 64 66 3a 52 44 46 3e 20 3c 2f 78 3a 78 6d 70 6d 65 74 61 3e 20 3c 3f 78 ion>.</rdf:RDF>.</x:xmpmeta>.<?x
a1b60 70 61 63 6b 65 74 20 65 6e 64 3d 22 72 22 3f 3e 76 b9 da 1b 00 00 03 00 50 4c 54 45 e1 a0 6d f1 packet.end="r"?>v.......PLTE..m.
a1b80 f5 f7 d0 4d 58 bc ec ec 8c d2 f6 ec f6 fa f2 f6 f8 b1 e8 e8 ef f8 f8 93 99 9c f1 f8 f6 ed f8 f7 ...MX...........................
a1ba0 c2 ed ed 89 c5 e4 cb f1 f1 b1 e8 e6 8d 6b 93 af 66 73 4f a7 d3 e5 f7 f4 4f b6 65 c7 ec ee 93 db .............k..fsO.....O.e.....
a1bc0 fa f0 f8 f8 d4 ee f3 98 e3 fe cb ee ed fb 6b 31 a8 d5 eb ae de 85 81 c5 f2 b1 e6 e6 e4 f8 f4 90 ..............k1................
a1be0 c7 db 95 dd fd 76 b5 dc f8 51 3a 7d c1 ea 88 b6 d2 b5 e9 e8 fd ff fd af e7 e8 ad e6 e6 6e b2 e4 .....v...Q:}.................n..
a1c00 ae e8 e8 ee c1 86 d5 f1 f1 c5 f0 ef 33 a3 af c4 98 ac 71 b4 e3 6b 91 ae 57 b0 df 26 97 d5 e6 44 ............3.....q..k..W..&...D
a1c20 49 d4 f0 ef ac e6 ea b2 e6 e8 f5 f6 f6 e9 f5 f6 5e 5b 68 70 c6 55 ec f5 f6 97 d4 e6 8e d0 6a fc I...............^[hp.U........j.
a1c40 63 2e 95 dc fb e5 f5 f8 05 03 03 84 c9 f1 7e c3 f1 b0 d3 c3 d8 e9 f0 97 c7 e3 79 bd e9 d9 f2 f1 c.............~...........y.....
a1c60 ea e8 ac 94 da f9 2f 69 b5 65 b8 d9 75 bb ea e1 f5 f6 ae e8 e6 50 99 c8 75 b9 e4 60 2e 83 c4 d5 ....../i.e..u........P..u..`....
a1c80 af dd f5 f5 66 32 4b 4d 48 98 d0 f0 f0 78 79 82 66 aa de 7b bb e2 d0 ca cb 83 bf df 41 ae 8e f4 ....f2KMH....xy.f..{........A...
a1ca0 f8 f8 54 84 b3 6c ae e1 45 67 b1 b4 e7 fb d9 e9 b0 ea ed b0 1d 92 d7 e5 f5 f3 92 dc fa 88 ce f3 ..T..l..Eg......................
a1cc0 b3 d7 ea 73 b6 e9 7b 86 96 40 a0 d2 29 9c c8 ab 1e 63 fa 3d 3d 6e 74 a4 f5 ec aa 75 c4 d5 92 dd ...s..{..@..)....c.==nt....u....
a1ce0 fd d9 f4 f5 dd ef f2 a8 cc e2 d5 b7 c9 dc f5 f7 98 de fc ba ea e8 89 d3 e9 e9 f7 f8 b1 43 7a 45 .............................CzE
a1d00 56 a4 91 d9 fb d8 f2 f4 b6 eb e9 91 d9 f6 f0 f7 f3 e4 f8 f9 cc e5 99 8f d6 f9 95 db fc a3 db f0 V...............................
a1d20 dd f3 f4 74 ac d9 e1 f4 f3 b5 e7 e7 fc de f4 37 9b d3 d4 6e 48 f0 ee b3 a7 e0 f5 94 d3 f2 d5 f5 ...t...........7...nH...........
a1d40 f5 7c 90 c2 be f0 f9 b1 b6 c0 e6 e4 e6 a6 e2 ea f7 f5 f5 b2 e9 ea fa fb f8 7b bf ef 3e 89 c3 f5 .|.......................{..>...
a1d60 fc f8 b0 e7 e9 d9 f4 f2 df f8 f8 b2 e7 ea e1 f1 f6 c1 d9 e3 29 14 21 40 aa e1 38 92 c4 e3 f2 f2 ....................).!@..8.....
a1d80 ee f8 fb 69 c7 f3 7b b6 e0 d5 f3 f1 f2 6e 36 b5 ea eb c1 eb e9 ed f5 f4 e6 f3 f1 d3 f1 fa d5 f2 ...i..{......n6.................
a1da0 f3 f2 f0 b8 5b 7d 95 cf f2 f3 dd f4 f0 30 85 c1 f1 f8 fa e4 dd db 39 77 bd 20 96 de 57 bc 44 bd ....[}.......0........9w....W.D.
a1dc0 e9 eb f4 f8 fb ea f3 f6 ea f9 fb d9 f7 f7 32 36 39 eb d7 9a b0 e6 ee b1 dc f1 c4 e4 f0 cf f5 f9 ..............269...............
a1de0 ce e3 ee 63 be ef 29 8e d4 b2 eb e8 5a ba e9 e5 f3 f6 b8 ed eb 22 9c dd 7c a4 be e8 f7 f4 61 ab ...c..).....Z........"..|.....a.
a1e00 c5 e5 ef f3 f8 fc fc 81 d4 fb f7 f7 f8 73 b1 e0 ce f4 f2 ea fa f7 f4 f7 f4 9d d4 f1 ed f1 b8 ea .............s..................
a1e20 f3 f1 a5 ef f6 b5 e7 ec 63 bf e2 b8 df ef ac e3 e5 b2 e5 e8 f0 fa f9 b9 e9 e9 f0 f3 f1 f0 f3 f6 ........c.......................
a1e40 ed eb ed f4 f5 f7 a7 de e4 a0 dc e4 60 8a a1 49 ac b9 5b b7 92 d1 f9 f2 7d bb c1 ef 86 4c 7a cc ............`..I..[.....}....Lz.
a1e60 ea f0 fc fb b5 ef ea f3 fa fa 2f 85 cf 28 3e 4e 7e c9 87 46 48 47 f0 f7 f5 b1 e7 e8 fc a6 06 85 ........../..(>N~..FHG..........
a1e80 00 00 1d d9 49 44 41 54 78 da dc 9c 0f 5c 13 77 9a ff 4d 93 cc a4 93 90 88 34 09 8c 5e c4 b8 18 ....IDATx....\.w..M......4..^...
a1ea0 06 a6 49 1b b5 18 e2 c1 1a 84 55 22 35 89 58 da 54 4a 23 bd b6 24 46 fb 6f 01 97 60 14 42 68 38 ..I.......U"5.X.TJ#..$F.o..`.Bh8
a1ec0 4a 7e d6 4a d7 b3 91 75 20 6d dd 66 a1 09 3d 5a 6c b6 2d 29 fe ea 76 6d 53 b1 71 59 50 f6 76 b5 J~.J...u.m.f..=Zl.-)..vmS.qYP.v.
a1ee0 4a b6 87 76 f7 b6 7f d8 bb 4d ee 3b 93 00 51 6b 0b 7a ee fd 5e bf 07 c9 1f c2 8b 79 e7 f3 fc f9 J..v.....M.;..Qk.z..^......y....
a1f00 3e cf 77 26 ce 8b fe 3f 65 f3 fe 7f c3 21 08 e2 7f 15 07 06 df 6e 18 07 10 30 b8 85 e1 a0 8e 07 >.w&...?e....!.......n...0......
a1f20 e3 b8 02 fc 94 a7 50 cc fc 1a 86 61 8a d8 73 f7 f4 8f 15 04 76 d1 ed 86 89 99 df 53 b8 6f 5a 1d ......P....a..s.....v......S.oZ.
a1f40 d8 cb f1 12 2e 6f f4 b8 97 8b ea 6c 3d 5d 3d f5 3a dc 75 8e 42 98 11 0a 73 d1 e9 92 c5 24 3a 86 .....o.....l=]=.:.u.B...s....$:.
a1f60 db 24 71 19 5d 74 0e c7 eb c6 5c b6 69 69 5d ae 2b c4 bd 21 67 e9 3d 7d ce 7f ed 1a 72 1d 9b 6c .$q.]t....\.ii].+..!g.=}....r..l
a1f80 a3 77 8d 8f 19 b4 f5 9c 3a 14 a0 28 86 38 30 75 10 f0 45 6f b7 0e d6 85 71 f0 04 93 35 f3 b1 c5 .w......:..(.80u..Eo....q...5...
a1fa0 18 8e 07 65 75 1e bf a7 d1 49 af 6b 1e 88 02 e9 60 f2 27 75 5c 98 b8 11 1c 18 86 09 0c 23 14 51 ...eu....I.k....`.'u\........#.Q
a1fc0 c2 76 76 24 a2 66 1b 8e 1e 1b 47 42 29 88 dd 6e 47 52 06 27 50 19 47 c7 19 b4 4a 74 3c 05 ec 22 .vv$.f....GB)..nGR.'P.G...Jt<.."
a1fe0 70 34 84 20 48 a0 91 20 30 9c eb 09 a0 74 fe 10 38 b4 c1 20 f4 8f d0 d0 e6 49 1a a7 5f 46 6f a4 p4..H...0....t..8........I.._Fo.
a2000 db b4 fe c0 88 5f bf 8a 20 e0 a8 62 8e 38 3c 1c a7 73 65 43 59 0a 82 33 0e 08 ec f6 71 28 22 14 ....._.....b.8<..seCY..3....q(".
a2020 22 91 08 2d 62 47 a0 bc 32 e1 49 d9 e0 48 95 37 3c e4 ed ab 09 f6 8f 8f 45 22 f6 31 a6 8d 3e 24 "..-bG..2.I..H.7<.......E".1..>$
a2040 1b 34 d0 8e 0e 06 ac 35 1e 88 c5 b6 db c7 68 35 42 44 a9 0d e4 1d 0b a8 b5 10 c2 46 0c 4a 3e 97 .4.....5......h5BD.........F.J>.
a2060 e3 9c 3b 0e cc 65 4f 06 98 1c 2c 4b 36 62 27 25 41 10 5a 84 6d 07 38 34 5a 64 5c 18 40 d8 42 08 ..;..eO...,K6b'%A.Z.m.84Zd\.@.B.
a2080 6a 6b 1f 6c ee f2 e7 f5 8d b3 01 4e 04 a1 f5 5b f3 ac 10 3b 22 24 a5 f2 83 1b bb 3d e2 2f 10 22 jk.l.......N...[...;"$.....=./."
a20a0 e3 86 88 61 1c 61 fb 59 11 d2 84 93 79 3e 0c 9e 23 0e 46 6f f6 0b 11 c3 20 6a ab ef 9d a0 01 4d ...a.a.Y....y>..#.Fo.....j.....M
a20c0 48 03 7f 9e b2 31 bb 10 1c 3d 22 cc 03 87 04 82 41 76 ea 05 da 18 02 e5 92 de 8c 20 88 90 c5 8a H....1...=".....Av..............
a20e0 90 34 34 88 25 14 b2 ec 11 21 a9 a9 30 22 a4 de d7 88 7e 31 3e 47 9c 2c 0e 50 9b c5 1a f7 b3 ca .44.%....!..0"....~1>G.,.P......
a2100 ac 50 e4 26 0c 99 79 48 83 22 14 78 6e 2a 8f 37 37 1c e2 1b ae 07 bc 43 d2 0c d0 58 04 41 6e 8a .P.&..yH.".xn*.77......C...X.An.
a2120 86 bc 81 10 24 37 a6 5d 24 82 46 e7 e2 2c 50 d2 f0 1a a0 0b 65 6c 10 09 37 8c 63 87 a0 dc 31 40 ....$7.]$.F..,P.....el..7.c...1@
a2140 11 b1 d3 22 10 78 90 3b 36 86 44 c6 7a c3 8a 59 e3 b8 41 f5 e2 9e 39 93 32 ce 66 4d 99 70 22 11 ...".x.;6.D.z..Y..A...9.2.fM.p".
a2160 07 a2 7d 17 00 6d 26 c6 d8 76 24 77 e2 25 60 13 48 84 96 1b b3 31 44 88 f4 a2 17 67 5f 77 30 5b ..}..m&..v$w.%`.H....1D....g_w0[
a2180 fb a0 df 30 39 29 64 cd e0 e4 5e 81 43 66 c7 75 91 a8 df 04 01 4b e2 80 27 2f bd 94 0b e5 be 64 ...09)d...^.Cf.u.....K..'/.....d
a21a0 18 8b d3 e4 42 79 af a1 3e de ec cb 20 e1 ea 9b 14 fa 21 ff 38 0b 4a c0 19 43 a6 92 2a 02 f2 26 ....By..>.........!.8.J..C..*..&
a21c0 d2 0b 5d 2f ba d9 11 25 70 6d 84 6d b0 53 38 55 b9 b9 bd bd 63 40 a0 29 1a 16 db 3a 10 cf f2 59 ..]/...%pm.m.S8U....c@.)...:...Y
a21e0 e0 80 52 3e 34 18 60 25 9a 10 a4 6a 84 2a 3d 6c ea 80 bf 3f 39 f6 7b eb 1f d9 94 06 76 da e7 42 ..R>4.`%...j.*=l...?9.{.....v..B
a2200 16 44 b3 23 93 14 2e 94 db cb e1 fb ac 88 21 35 d5 70 18 28 c4 1e 79 43 cd cc d3 8e 4c d0 28 75 .D.#..........!5.p.(..yC....L.(u
a2220 68 11 26 69 3e 1c 9f 35 4e 14 93 8d 1b 12 61 c0 3f 7f 2b 5f 5a 05 de b3 81 4a 0b e4 b5 5a b4 4c h.&i>..5N.....a.?.+_Z....J...Z.L
a2240 4d 69 65 47 58 6f 40 a0 fa 21 f6 a3 55 a0 9c 8c d9 0d 4a 67 96 0e 15 2a 25 38 aa ce f1 1d 1d 19 MieGXo@..!..U.....Jg...*%8......
a2260 79 c9 6e 40 72 46 f2 98 b9 d0 04 04 31 d9 4c b6 90 29 75 ce 01 47 91 c5 0f 40 57 d0 b0 58 7e 7d y.n@rF......1.L..)u..G...@W..X~}
a2280 16 af 0f 41 de d0 e6 b4 1a 22 f6 11 5a 7d b0 0e 81 a8 30 41 8e b6 42 68 9b 61 f2 7d a7 84 df 59 ...A....."..Z}....0A..Bh.a.}...Y
a22a0 c5 b4 87 d0 8b 0a 37 ec ab c7 61 98 37 c4 d5 e7 8d bc 71 34 74 54 7f 34 a7 6d 24 97 c6 66 5b 99 ......7...a.7.....q4tT.4.m$..f[.
a22c0 cc 5a bd 8f 17 8c 2a 66 8b e3 56 d8 64 6c ff 14 cb b8 3f af 8a 35 3e 6e d0 eb a2 12 6d 9e 0f 86 .Z....*f..V.dl....?..5>n....m...
a22e0 87 ea 22 34 25 5f 87 d3 b5 42 c3 d8 98 5f a9 77 f2 f9 b8 57 df ca d7 e9 30 cc 39 40 b7 f1 14 a4 .."4%_...B..._.w...W....0.9@....
a2300 c0 18 01 2b 86 0a fc d6 be da 4e ad 5e eb 29 68 56 bf c6 62 33 59 4c 26 0d d5 61 0a 78 f6 2b 3a ...+......N.^.)hV..b3YL&..a.x.+:
a2320 46 ef f2 b0 a0 78 52 09 85 d6 b6 14 3f 12 69 1b 00 3d 41 d8 c7 c3 61 cc cb e1 d8 70 9c c8 0a cb F....xR.....?.i..=A...a....p....
a2340 3a 3b d5 fc 30 d9 72 b9 09 1d 7c 91 d4 9f c0 f1 e9 06 88 c0 86 06 99 1e a6 96 c9 d4 16 78 40 bc :;..0.r...|..................x@.
a2360 00 61 98 2c 36 5b a8 86 71 78 d6 fd 0e 41 e0 b2 a9 ea 07 68 94 ac 80 41 eb e3 fb 24 18 59 8d 08 .a.,6[..qx...A.....h...A...$.Y..
a2380 37 e8 39 40 7d 04 ef 3c 0a 2b c0 5f 5d 0c 9a 0f 38 0a bb e1 68 5c 7d f0 fa 74 7a d2 65 5a 0f 80 7.9@}..<.+._]...8...h\}..tz.eZ..
a23a0 b0 5a 99 4a 2b c9 c2 64 5b 95 4c c8 9f a3 20 66 87 a3 80 31 e0 71 fa 20 32 5d 6f 84 21 b4 95 66 .Z.J+..d[.L....f...1.q..2]o.!..f
a23c0 0d 67 61 54 6f e9 76 c3 53 bd 2a 50 44 41 90 3d 33 4c 31 c4 83 8e 7c 37 f1 43 61 43 ed 83 a4 26 .gaTo.v.S.*PDA.=3L1...|7.CaC...&
a23e0 94 28 31 b3 7a b4 3e 0e 9f 2f 51 cc b2 39 75 bb 38 ff d1 d5 d5 ec 47 a6 8b b1 70 12 c5 07 06 24 .(1.z.>../Q..9u.8.....G...p....$
a2400 f0 9c bb 47 1c 3f e3 67 5e 6d 1e a5 24 0b c3 88 d9 b6 ee 6e ae 3f 00 9a 12 50 a7 a6 d3 6a b2 06 ...G.?.g^m..$......n.?...P...j..
a2420 73 13 ee b9 37 b3 78 50 cb ba 92 05 78 8d 75 34 88 cd 7e 92 20 bc cd 23 1e 96 67 66 65 10 0a 85 s...7.xP....x.u4..~....#..gfe...
a2440 81 54 50 3f e1 1b e8 f5 b3 d0 2b 69 f2 98 75 3e be 4d 31 87 c1 06 b3 9d 85 a0 c4 f2 37 11 30 bc .TP?......+i..u>.M1.........7.0.
a2460 3c 70 43 23 95 db 4b e7 14 78 06 67 68 fc 4a ce 50 14 23 66 33 67 4d ad 66 b0 4d 3b 99 c8 e3 6f <pC#..K..x.gh.J.P.#f3gM.f.M;...o
a2480 45 41 1e 5f f3 6b df 5b d4 c1 1b 83 7f 0d 52 9c e9 39 3c 15 3f 05 29 da 01 1d 3e a7 b1 0f a6 77 EA._.k.[......R..9<.?.)...>....w
a24a0 0d fa a1 29 1e bf df 1f 28 70 62 8b 67 92 72 96 38 a0 16 b8 6d 9c 3a 3f 9b 19 58 b7 73 1d 95 5c ...)....(pb.g.r.8...m.:?..X.s..\
a24c0 4c 96 da 16 bc 9e cf e7 5d 67 d0 24 b8 01 68 26 c3 5f ab 6d 6b e5 2b 14 df 3d 9b c2 bc 58 a9 49 L.......]g.$..h&._.mk.+..=...X.I
a24e0 38 90 db 8d e3 70 3d 9b 69 a5 4d ae 5b ba 65 34 16 37 1e 65 58 37 b7 a1 18 0c 87 74 eb 8c a7 fc 8....p=.i.M.[.e4.7.eX7.....t....
a2500 5a 09 a6 c0 c0 1f bf 3e 4d 30 78 8e 1a 8b 5d 36 1b 9c d8 45 7e 23 a9 78 ee 43 3f d3 ff 7e 77 47 Z......>M0x...]6...E~#.x.C?..~wG
a2520 47 e5 3a 3f 59 78 20 26 1d 9e 1b 0e ce 6d d6 5a fd 33 59 e5 e7 2e 06 61 a0 b8 16 07 76 53 6a c0 G.:?Yx.&.....m.Z.3Y....a....vSj.
a2540 ae 25 15 97 6c e0 65 f8 f8 92 fc 2c 49 fc f7 08 9c 7e a6 b3 a2 b4 72 fd d7 cc c9 9d 66 51 47 65 .%..l.e....,I....~....r.....fQGe
a2560 6d 00 04 8e 55 29 95 cc 09 07 8e f2 ea 02 7e 8f c7 13 87 f1 b0 46 da 78 d4 46 c1 b7 e0 50 77 92 m...U)........~......F.x.F...Pw.
a2580 fc 2d 19 f2 4b 60 12 77 e6 57 56 2e 5d 15 e7 81 e9 cd 86 25 66 91 b9 c2 33 b9 ee b9 22 51 c7 68 .-..K`.w.WV.]......%f...3..."Q.h
a25a0 6b 9e b0 31 4c 0f c3 73 dc c1 e0 f1 fa 03 2c e1 14 8e 10 99 34 34 c2 d7 ee 62 24 3c 5b fc 5c 71 k..1L..s......,.....44...b$<[.\q
a25c0 5a a1 7c 95 cb 6d ab e8 b0 68 96 c6 c2 87 c0 da 87 5f a9 14 89 cc dd 1e c3 fa 51 51 91 a6 fb 7d Z.|..m...h......._........QQ...}
a25e0 ae 4f 82 63 d8 1c 37 54 08 6f bb 95 85 4c 7b 0a 61 2b a5 f5 a0 51 70 c1 53 c3 fa 15 48 e0 a9 eb .O.c..7T.o...L{.a+...Qp.S...H...
a2600 d2 73 0c b1 b8 b4 c2 cb e3 2d 15 59 54 f2 a4 60 0c e7 cc 6f 80 28 00 c7 b0 6e 0b b8 d7 24 0d 17 .s.......-.YT..`...o.(...n...$..
a2620 c0 f8 dc f6 77 c0 31 dc 18 c7 13 98 c9 2a bf 7a 20 8c 63 57 ec 1d 5c 8d 23 b9 54 e9 30 aa 1c 5b ....w.1......*.z..cW..\.#.T.0..[
a2640 f2 6d 51 80 63 61 54 1e 74 81 57 dd ae 33 3b b3 45 22 91 bc 62 98 ba cf fe 95 ff 65 49 1c 67 31 .mQ.caT.t.W..3;.E"..b......eI.g1
a2660 58 5d 41 b6 2b 78 df a7 0e 81 61 b2 32 50 90 a7 78 84 01 2d 8c 7f cf 3a 05 d4 71 18 05 96 8c 51 X]A.+x....a.2P..x..-...:..q....Q
a2680 97 73 69 91 45 20 2e 4d 92 38 61 2c 78 ec 24 29 8e a8 72 7f ef 73 1d 22 51 d1 28 bd 5e 12 3b c4 .si.E..M.8a,x.$)..r..s."Q.(.^.;.
a26a0 62 d0 26 f5 1f 3b d6 3f 80 5f 1d 46 f3 ae fa 01 0e d3 65 83 01 68 06 87 05 41 f5 31 6d e2 42 c3 b.&..;.?._.F......e..h...A.1m.B.
a26c0 f1 f0 8d 8b 04 c3 a0 af b8 30 6a 12 1b 55 0d 95 f9 df 54 68 2c 46 b1 69 54 07 83 1e af ec 43 10 .........0j..U....Th,F.iT.....C.
a26e0 39 22 d1 96 cf 4e 90 f7 9a a4 46 1e d5 82 e0 3a a7 ac cb 13 40 90 49 6d 98 b8 46 1d f8 0a 57 ad 9"...N....F....:....@.Im..F...W.
a2700 a2 0f b2 a1 09 d0 56 93 83 3d f8 1a 47 46 0a 6c 04 9e e0 9d 78 9d 9b 2a 77 30 19 52 c1 72 91 98 ......V..=..GF.l....x..*w0.R.r..
a2720 94 a7 fb 9b 25 72 b1 c0 28 a8 bc 1c 84 5d 43 e8 7a 0d c0 28 da b2 6e bd 99 f2 15 17 b4 8d 0a 1c ....%r..(....]C.z..(..n.........
a2740 c7 e9 75 e3 08 e8 04 d9 ac 40 23 7c 2d ce cc 8f dc 18 8e 0f 79 84 10 69 a0 23 1d 0f b1 c7 0d 23 ..u......@#|-.......y..i.#.....#
a2760 79 fc c5 57 25 d2 54 fd 99 a9 d2 c1 fc 6e b1 40 a0 72 54 1e bc 9c dd 60 34 8a 8b 93 5c 3c 7a b3 y..W%.T......n.@.rT....`4...\<z.
a2780 b2 9b f4 55 c6 e8 ba ee 0c 91 a8 43 de d5 e9 a2 87 71 19 97 3b 08 7a 28 ca 90 b3 f5 a0 99 54 5c ...U.......C.....q..;.z(......T\
a27a0 27 76 08 af ec 58 59 dd 20 35 4a 41 42 61 5e 9b 1a 2c 76 a9 f5 38 2f 1e 71 bc c4 85 31 7e 17 77 'v...XY..5JABa^..,v..8/.q...1~.w
a27c0 dc c1 a5 0d 46 81 00 60 1c 04 41 4d 7a 0b ff 46 36 be 6e a9 88 72 d2 2b a3 e0 ce 9c ff b5 b5 6b ....F..`..AMz..F6.n..r.+.......k
a27e0 58 db 95 39 3c 19 87 01 f2 f8 d1 55 1c 2f 58 0a bf 0d 87 80 db bf 1e 31 c4 3a 63 2a 74 d8 fe 56 X..9<......U./X........1.:c*t..V
a2800 1e 2f 0b 73 f3 e0 ab ca 8c 2b be ff 44 f5 8c 51 89 d7 05 07 93 4c a4 3c 8c d1 83 a3 0c b1 51 cc ./.s.....+..D..Q.....L.<......Q.
a2820 c8 e6 34 9f 1d 3f 41 fa 48 64 5e 44 fa aa a8 bb 2e f3 70 ed 87 2f fc f3 0b ff 94 7a f8 b0 87 cd ..4..?A.Hd^D......p../.....z....
a2840 f6 90 38 c2 46 ae a7 0f f7 ba 40 1b 1c 2b 47 f3 12 87 06 56 40 78 c5 bc 89 28 25 e4 64 f0 1d 1b ..8.F.....@..+G....V@x...(%.d...
a2860 ba e0 96 77 e9 72 56 30 78 b9 03 e0 08 8c f2 cb 15 20 b5 8c 25 95 9f fd 86 35 f9 8a 86 c2 39 d1 ...w.rV0x...........%....5....9.
a2880 dd 51 28 d2 6c 7b 7f d1 c6 9f 6f 9d 0f ec 8b 6e ce e4 18 8d 19 13 68 d0 6f ed 2c e0 ca fa cf 70 .Q(.l{....o....n......h.o.,....p
a28a0 c8 9d e1 44 9c 2c 8e 1f ba 72 fa 55 d3 e1 ef d9 5f 8e ba cf 5d aa ac 1c cd b7 f1 2a 1c 02 41 8b ...D.,...r.U...._...]......*..A.
a28c0 4a 54 91 6f 56 19 05 2a f3 96 e7 52 87 77 76 90 38 a5 3b 9f 13 15 16 8d 56 6c da 9e fc fa 0f 9e JT.oV..*...R.wv.8.;.....Vl......
a28e0 02 76 cf 6d f3 97 d5 0d db 63 ee 22 f7 67 84 67 27 85 e3 e3 5c 72 6b 3a d1 59 74 96 5f c8 26 33 .v.m.....c.".g.g'...\rk:.Yt._.&3
a2900 8a da c5 61 b1 0c 05 92 6f eb d8 a6 23 d9 4d 75 7a 97 2b 1b 18 e5 15 ae fc 42 55 89 aa c5 51 9a ...a....o...#.Muz.+......BU...Q.
a2920 2f 07 2a 59 8a cd e6 a5 27 d7 93 38 9a 51 4d 76 b6 79 c5 82 25 f7 2d 04 46 f2 24 6f 4f de bd fc /.*Y....'..8.QMv.y..%.-.F.$oO...
a2940 b3 43 2c 8a c7 c3 64 b3 3c 7e c0 35 d9 a7 a3 ea ce 94 00 ee 73 0a 2d eb 28 5b c8 f2 1f 1e 3e 3c .C,...d.<~.5........s.-.([....><
a2960 4e 32 f9 df 0f 63 df 36 26 c7 87 19 30 5d 81 5b e7 85 4a 86 45 55 58 7e b9 42 d0 d2 22 10 67 2c N2...c.6&...0].[..J.EUX~.B..".g,
a2980 91 3b c4 2d e2 0c 73 a1 79 3d 99 58 c5 e6 16 b1 7c c7 8e 1f 3f fa cc 33 f3 48 9e 85 f7 00 9e 8f .;.-..s.y=.X....|...?..3.H......
a29a0 96 6c 7d 3b ff 30 8b 9d 60 c2 b6 7a 98 c2 e1 c1 53 bb 4a 59 be 56 eb e4 f8 1b af 2c da f6 61 2d .l};.0..`..z....S.JY.V.....,..a-
a29c0 92 39 7c d8 33 bd 0b 74 ed d2 19 ab 3d 20 d7 16 db 92 8a c5 02 8b a9 bc 82 a1 02 38 8c f2 6e 93 .9|.3..t....=..............8..n.
a29e0 a5 c5 92 61 06 f5 06 24 54 51 b6 43 6c 29 96 3f fa cc 86 0d fb 36 7c b9 30 2e 50 f2 82 86 15 2b ...a...$TQ.Cl).?.....6|.0.P....+
a2a00 17 1d 4e a4 29 40 c9 f9 19 38 0b e0 b8 25 5e 89 64 48 76 e6 4c fb f0 f0 f0 a1 f1 c6 fc 15 3b 16 ..N.)@...8...%^.dHv.L.........;.
a2a20 2c db 76 6e 68 28 7c dd ce 64 7a e4 8b 06 0f 8e 3a 54 25 16 87 bc d4 22 68 11 34 64 24 c9 e5 c5 ,.vnh(|..dz.....:T%...."h.4d$...
a2a40 2d c5 20 99 cc 60 a1 32 67 34 08 2c 45 3f 7a e6 b1 0d 1b 36 3c 76 e7 eb 53 3c bb 3f a9 2e dd 95 -....`.2g4.,E?z....6<v..S<.?....
a2a60 83 24 f0 b0 d8 e9 1c 82 8a 1d 85 fb e2 a5 cb c0 3e 3c 71 e2 43 f0 7d 62 5d ed 1f ff 98 5a f1 b3 .$..............><q.C.}b]....Z..
a2a80 7b df f9 d9 c6 5d 07 83 43 24 d1 77 0e 33 b6 a4 52 8b 11 e8 22 67 80 e4 32 9a 32 b6 88 4a 8b 8b {....]..C$.w.3..R..."g..2.2..J..
a2aa0 8b 49 65 c0 f2 c9 30 89 c5 85 3f 02 e2 90 3c f3 d6 90 38 64 40 cf ff 85 e8 c4 88 3d 81 c6 ef 87 .Ie...0...?...<...8d@......=....
a2ac0 f4 31 1c 58 72 69 e3 82 bd 2b 1f 07 b6 92 b2 bd 7b 77 6c 29 ff f1 c6 b7 f7 3c b0 e7 ed 05 5f 5d .1.Xri...+......{wl).....<...._]
a2ae0 f6 0e 7d e7 e0 c9 73 ad 1a 35 a9 04 46 15 a3 d4 a1 32 1a 1d 95 66 b0 a4 57 92 51 5c 39 aa e9 60 ..}...s..5..F....2...f..W.Q\9..`
a2b00 30 c4 d5 a6 9d cf 50 3c 8f 7d 10 93 67 e1 c2 a7 9e fa e2 17 eb 0f 0d 26 a8 a3 2c d0 3b a7 32 cb 0.....P<.}..g..........&..,.;.2.
a2b20 15 d4 e5 7f 75 7e c5 11 c0 f4 ee bb ef 3e fe ee e3 31 b4 77 df de b3 79 f3 9e 77 16 ec 3a 38 64 ....u~.......>...1.w...y..w..:8d
a2b40 fb 0e 9c a8 2d bf 52 20 36 02 9e e2 06 50 02 4b 3b 2c 25 72 b2 bf 91 67 57 6e 61 88 1c 2d e2 5d ....-.R.6....P.K;,%r...gWna..-.]
a2b60 7b 4f df f7 cc b4 3c 00 e9 f5 35 4f dd 76 a4 f8 0d 7f 42 30 a3 b1 c5 6f 1e 75 82 25 0a 07 65 ff {O....<...5O.v....B0...o.u.%..e.
a2b80 a1 de b9 e0 f1 27 ee 7a f8 8e 87 1f be eb 89 27 00 0c b0 53 7f 7d 60 f3 e6 cd f7 fe fc fc 65 9b .....'.z.......'...S.}`.......e.
a2ba0 cd 05 bb dd f1 ac 9a 9e 13 c8 a6 46 02 46 97 0a 33 c0 31 36 8c 56 8a 54 e2 52 d0 f1 14 6f 01 34 ...........F.F..3.16.V.T.R...o.4
a2bc0 66 91 a6 b2 24 a3 41 55 d2 f2 db 23 2b ff b2 e1 19 52 9e 85 53 f6 d4 d3 9f bc 3c c2 8a f1 44 d8 f...$.AU...#+....R..S.....<...D.
a2be0 08 c2 c7 a9 59 27 5e 77 08 de b1 c9 50 ed af 36 fe e9 cf ff f5 c3 1f fe f0 1f ff f1 bd 3b ee 00 ....Y'^w....P..6.............;..
a2c00 50 00 e9 d4 c7 8f 00 a0 3d 6f af d8 a5 1b 3a 07 c3 2e 49 94 97 e8 39 5e f0 d2 65 5e 50 a2 20 db P.......=o....:...I...9^..e^P...
a2c20 9c ea 62 b9 43 5e 6c 01 38 2a 10 36 1d d9 e4 b2 09 70 c4 2d 02 4b da 57 a7 16 90 02 ed 8b 45 0f ..b.C^l.8*.6.....p.-.K.W......E.
a2c40 b0 35 c9 7b 6b 47 20 68 42 e8 01 cd 2f db af ac 4f 5c b3 08 0c 6f 6f 2d 18 1f ce 1c fc 95 66 c1 .5.{kG.hB.../...O\...oo-......f.
a2c60 ed 07 ee fc e0 d9 7f 88 31 91 48 2b 1f 01 12 3d 70 ef 8e af 0e da 6c 97 2e 0c 79 5d 09 f9 c5 5b ........1.H+...=p.....l...y]...[
a2c80 52 5a 5a 91 9f 35 74 61 b4 d0 52 92 6d b2 08 e4 a6 d2 42 b1 25 43 5e 28 2f 2a 2c 14 99 55 85 4d RZZ..5ta..R.m.....B.%C^(/*,..U.M
a2ca0 bb c4 c0 2c c6 23 7b ef db 37 23 cf eb 0b d7 6c fd e9 a4 55 a9 64 b2 95 4a 76 9b d6 47 cc e0 10 ...,.#{..7#....l...U.d..Jv..G...
a2cc0 51 5b ff b1 be 3a 0f a8 80 81 cc cc b3 17 4e 2f 4f fe f2 ce 0f 36 3c 0a 90 de 7b ef 8e 87 9f 38 Q[...:........N/O....6<...{....8
a2ce0 b5 f2 af 7b 48 89 7e 76 fe 60 fe 8e 8d f9 2e 5b 7c c0 53 38 83 4b 8a c5 25 8c 8c ee fc 0b 97 46 ...{H.~v.`.....[|.S8.K..%......F
a2d00 19 96 6c 90 45 8c 72 4d a1 58 5c bc e5 93 15 1f 7d b2 62 41 b6 ca 58 fd e9 a7 c6 f2 af d2 2c 69 ..l.E.rM.X\.....}.bA..X.......,i
a2d20 1f ad fc d1 33 f7 dd f7 65 4c 9e e7 9f 5f f8 60 13 92 42 59 5b 99 3e 8c 25 e0 60 e1 ba 40 00 6a ....3...eL..._.`..BY[.>.%.`..@.j
a2d40 65 fa fd c2 de 57 96 2d 3b b0 ec f4 13 6f 3d ff fa 97 f3 3e d8 f7 e8 b3 3f 7c 0f 10 dd f5 c4 a9 e....W.-;....o=....>....?|......
a2d60 77 df 01 44 0f bc bd f1 fc bd 7b 36 ed fa 06 08 a4 e0 e9 9c 92 4b a5 2d 0d 26 95 b8 a1 b0 3b 29 w..D......{6.........K.-.&....;)
a2d80 29 db 91 41 36 a6 85 72 12 e7 91 07 48 db fc 62 75 b9 b1 e9 3f 57 6f 7f f0 8b 34 b1 e5 17 7b 9f )..A6..r....H..bu...?Wo...4...{.
a2da0 7d f4 89 4f e3 f2 6c 4f 7e fe fc d7 80 25 3d bd 2c a5 80 9f 95 d8 60 c0 dc 00 c2 f2 78 c0 fa c0 }..O..lO~....%=.,.....`.....x...
a2dc0 1a cb c9 d8 3a 7f f7 3d f7 dc 73 db 3d 6b 16 be fe e5 9d 1b fe 6d c3 3f 00 89 de 7b f8 ae 53 a7 ....:..=..s.=k.......m.?...{..S.
a2de0 1e 7f e7 81 cd 0f bc f3 f1 03 9b f7 6c 74 49 08 97 d7 1b e5 2d 31 89 19 26 10 ab 96 6a 46 46 65 ............ltI.....-1..&...jFFe
a2e00 76 a1 5c 0c d6 2d 12 a7 9c cc 00 60 8f 34 7d b1 7a f9 ea 5f 66 66 de fe 56 9a d1 f2 8b 1d 8f fe v.\..-.....`.4}.z.._ff..V.......
a2e20 e5 c8 17 b1 64 4f 3e f2 e0 e9 e6 74 80 d3 8c d2 eb 61 57 02 8e 02 6e 0f 90 8e a2 d6 a9 c9 cc c1 ....dO>....t.....aW...n.........
a2e40 0f 97 6d 4f be 8d 5c 7a d7 ac 59 08 80 de 7c ec d9 98 d3 ee 7a e2 dd 8f 1f 79 60 0f 19 48 0b 82 ..mO..\z..Y...|.....z....y`..H..
a2e60 fd c7 9a 0b fa 2f 75 0b 54 26 47 49 49 09 68 75 54 25 85 9a 4a 51 83 d8 c2 30 59 2c 9a 47 62 38 ...../u.T&GII.huT%..JQ...0Y,.Gb8
a2e80 9b 2b fe f0 d5 df 0a 32 0d 23 99 0f 56 a4 95 58 3e 3a fd a3 df 7e b4 f5 79 ca 5b 47 76 9c 3e 99 .+.....2.#..V..X>:...~..y.[Gv.>.
a2ea0 92 62 0d 59 fb 74 b0 cb 9d 80 03 47 b9 fe d8 32 4e 2e e7 c8 4b 87 32 07 53 f7 7f 4a 11 ad 59 b3 .b.Y.t.....G...2N...K.2.S..J..Y.
a2ec0 06 44 d1 9b fb 62 12 bd 47 12 fd f5 1d 92 67 c5 d9 43 63 86 e1 6d 45 96 26 b0 0a c4 cc 28 6e 71 .D...b..G.....g..Cc..mE.&....(nq
a2ee0 64 94 8a 18 2a 4b 89 aa fc 67 8f 3c b2 87 74 d7 d6 4f bf 38 90 39 32 9c 79 e8 a1 b7 d2 4a c4 e2 d...*K...g.<..t..O.8.92.y....J..
a2f00 15 7f 3a bf 7d e7 26 52 9f e7 4f 5f 3a 52 17 2a a8 a9 51 73 ae 1a 6c 78 84 44 cf 16 8e b3 94 6c ..:.}.&R..O_:R.*..Qs..lx.D.....l
a2f20 d0 50 1b c6 72 c7 5e 3a f4 fe b6 8a f3 9b 9e 4e be e7 a9 1f ac 59 b8 06 04 d1 63 6f 3e f3 2c 45 .P..r.^:.......N.....Y....co>.,E
a2f40 04 72 ed ae 53 20 b0 f7 6c 14 1e 8a 1c de 69 12 37 31 54 82 69 03 51 64 2a cf 30 35 a5 15 ef 3d .r..S...l.....i.71T.i.Qd*.05...=
a2f60 15 b3 8f 37 2d b3 67 fe fb 43 3f f9 f7 df af 6e 32 b6 a8 04 47 de 3e 70 e8 12 e9 af d7 4f b7 27 ...7-.g..C?....n2...G.>p.....O.'
a2f80 e9 43 29 3e fc ca 7d 91 79 54 50 72 d8 79 c0 57 af b5 b5 d1 46 72 73 c9 33 3c ef f3 93 36 6d 7d .C)>..}.yTPr.y.W....Frs.3<...6m}
a2fa0 7a 7e 0c 88 0a a2 7d fb 36 50 4e a3 dc f6 f1 9e 7b 37 46 0e 1d 5a 6f b2 a8 5a 4a 04 82 44 a0 16 z~....}.6PN.....{7F..Zo..ZJ..D..
a2fc0 47 91 c6 a4 d9 0b ca fb 29 b2 8e 76 fc d3 f0 2f ef bf 7f f5 fd 0f 6d 27 bb 57 f1 57 5b c7 32 87 G.......)..v.../......m'.W.W[.2.
a2fe0 9b 1e 04 7f 72 f9 af b5 ad 21 2b 07 b4 be bc ab 5b 77 4c 16 28 48 61 b3 20 26 2d 37 17 34 ed e4 ....r....!+.....[wL.(Ha..&-7.4..
a3000 b9 85 43 87 ce 2e 5a 3e 7f 37 e9 31 12 68 21 90 68 c3 9b 6f ee 8b 25 3f 20 fa f9 e3 2b 94 99 27 ..C...Z>.7.1.h!.h..o..%?....+..'
a3020 4a 0b 19 0d 60 b9 6a 4a e0 21 a3 88 91 b1 62 ef 13 a4 ad dc a1 f9 e9 2f 9f fc 49 66 e6 fd f7 3f J...`.jJ.!....b......../..If...?
a3040 b8 cb 28 30 5a 32 fe f2 2f f3 57 df 7d 3e 19 a4 d6 af 07 d3 43 29 1c 02 be 76 0a 25 bc 8d 27 6b ..(0Z2../.W.}>......C)...v.%..'k
a3060 d2 99 fe 3c da 44 0c 87 3a db 9a d9 7c 79 d3 d3 54 4c 93 2e 03 44 a0 16 ed db f7 d8 86 78 89 bc ...<.D..:...|y..TL...D.......x..
a3080 6b c1 89 cc 97 17 55 64 14 9a 1c 2d 2a d5 b4 cb 40 60 1b 81 46 8c 1f ff f9 8e 3b fe bc b1 48 f3 k.....Ud...-*...@`..F.....;...H.
a30a0 eb e4 bb 33 33 ff 65 ed ab f7 37 55 97 08 d2 96 1d 48 fe c9 dd 4f de fd a7 d7 17 6e ff 69 81 f6 ...33.e...7U.....H...O.....n.i..
a30c0 a8 3a 1c fd 16 1c 50 95 15 74 66 c0 ff 1a 94 3b 06 d1 e2 38 f6 31 c3 a1 af 0f 2e 78 fa b6 7b 28 .:....P..tf....;...8.1.....x..{(
a30e0 20 40 b4 86 ac 45 1f 6c f8 b7 37 df 7c ec 51 10 4a 7f de 5b 51 9b 99 f9 f2 b2 ca d2 e2 42 53 93 .@...E.l..7.|.Q.J..[Q........BS.
a3100 6a 0a 89 72 5e 4b b5 b8 65 d7 52 51 8b a9 63 d1 ee ff 33 f2 d2 ea b5 6b 57 5b aa 41 57 b4 2c f9 j..r^K..e.RQ..c...3....kW[.AW.,.
a3120 27 87 1e 7a 75 b7 e8 c1 35 cb ff 10 1e 88 0f c9 d7 ce 59 04 81 d1 5b 99 65 55 b9 f6 3c 21 89 23 '..zu...5.........Y...[.eU..<!.#
a3140 84 d8 10 3b 0f 19 3f fc f5 0b 2b b6 26 93 40 f7 90 44 0b c9 62 34 ef ce 0f 00 d4 3e c0 b4 e4 f4 ...;..?...+.&.@..D..b4.....>....
a3160 92 13 eb cd 2d 2a 86 48 53 9a 21 32 39 04 60 39 30 4e c7 92 58 dc a0 32 65 ac 7f 72 fe 81 d5 0f ....-*.HS.!29.`90N..X..2e..r....
a3180 fd 6d ed 83 69 60 cd 4f 5b be 3b 33 73 f5 da dd cb 76 3c bf 7c 55 14 bb 76 f3 74 a6 75 c7 f0 f0 .m..i`.O[.;3s....v<.|U..v.t.u...
a31a0 00 5d aa ae ad ea 05 38 55 56 16 c4 6a ad ca b3 b3 0e 1d a6 7f b2 69 3e e5 b3 a7 62 44 c0 00 d4 .].....8UV..j.........i>...bD...
a31c0 97 5f de 09 b0 ee 3b 9d dd d2 62 34 5a 54 25 8e c2 62 4d 31 40 32 4e cb 04 c6 3f 15 43 b3 fe c9 ._....;...b4ZT%..bM1@2N...?.C...
a31e0 b5 40 9a b5 6b 97 a5 81 a0 4f 7b fa fe 87 6e ff db da dd eb f7 bf b5 22 08 7f e7 86 8a 22 8a 13 .@..k....O{...n........"....."..
a3200 ba 7e 3f cb ca 42 22 48 5e 88 e5 9f c8 29 60 db ed 91 b1 02 d9 c0 57 2b be a0 24 22 91 7e b0 26 .~?..B"H^....)`.......W+..$".~.&
a3220 c1 e6 69 aa 05 2f fc 2b bf ab 76 bf 51 2c 16 38 18 a5 95 d9 45 26 06 88 6f 31 89 d4 a2 6a 32 3b ..i../.+..v.Q,.8....E&..o1...j2;
a3240 6e 5f 4b da ff b5 38 44 22 46 da 76 f0 e8 f6 b5 f3 7f 57 bf f2 fc d0 77 ef ef 50 d7 b6 d4 2b 21 n_K...8D"F.v......W....w..P...+!
a3260 e8 a4 3a 82 44 0c 10 92 e3 44 d9 63 63 86 5e fe 62 9b e4 e2 a2 8f 76 2c 4f be 0d ac 1e d4 a4 04 ..:.D....D.cc.^.b.....v,O.......
a3280 16 91 e7 6f 4b 4e 7e f0 f6 4a 47 75 c3 0b 27 7e f9 d0 89 fd 0d 54 9a 8b 19 c5 c5 85 85 45 20 be ...oKN~..JGu..'~.....T.......E..
a32a0 19 54 79 b4 64 14 2e 7a 95 c4 59 96 e6 28 11 34 a5 bd 48 3e 7e 75 f4 0f df fc 78 97 6d 16 db 4d .Ty.d..z..Y..(.4..H>~u....x.m..M
a32c0 58 3d 9f 23 91 b4 55 f1 51 3d df 49 f0 38 6d d6 93 fc c5 c1 4b 4b 35 a2 0c 8d f9 93 23 7b 37 2d X=.#..U.Q=.I.8m.....KK5.....#{7-
a32e0 df 3e 7f fe ed 2f 3e d7 ad 29 92 37 71 b7 69 aa ab ab 77 9d be 7d de 81 26 63 bc 34 1b 2d 4d 0c .>.../>..).7q.i...w..}..&c.4.-M.
a3300 53 93 a0 a9 c9 41 e1 88 1d d9 e2 4f 5f 5d fb ea f2 34 47 61 43 8b a9 64 3d 89 f3 d6 7e 9b 6b d5 S....A.....O_]...4GaC..d=...~.k.
a3320 2c b7 b9 31 1c 53 38 6d 98 0e d7 e9 14 0a 9e 33 ec 24 5c 17 96 9a c4 16 71 83 83 c1 60 14 fe 16 ,..1.S8m.......3.$\.....q...`...
a3340 58 75 03 a0 48 63 54 ec cc 10 57 ef ff cb bc 79 07 f6 57 57 83 84 2a 51 c5 d2 0a 14 1e b2 fe c4 Xu..HcT...W....y..WW..*Q........
a3360 e3 b9 48 93 b6 6b d9 ae 34 86 48 2c 10 97 98 2c 20 8a de ca 08 4a ae 1e fb af 8b 43 f9 0c c3 71 ..H..k..4.H,...,.....J.....C...q
a3380 6a 64 8e 2a 30 0c 0b 26 15 5a c8 f7 5d 2d ae 16 83 89 ae ba da 58 0d c6 5e a3 43 9e 51 bd 7f c9 jd.*0..&.Z..]-.......X..^.C.Q...
a33a0 81 f5 77 ef af 36 c6 2b 8e 4a 50 d2 12 af 3d 80 8e 7a ac 12 17 8b d2 d2 2c 2a c6 8b bf ad ae 2e ..w..6.+.JP...=..z......,*......
a33c0 17 a5 89 3f fd b4 e3 b8 84 17 25 e6 b2 eb 7e e5 4e db 52 a3 31 61 1d 20 9f 80 03 89 19 0c 55 53 ...?......%...~.N.R.1a........US
a33e0 fe ef 80 4e 0d d4 ab 2d 14 c6 54 6d 2e 69 99 7a dc 52 02 3a 0e a3 d8 31 7f fe 8b 4f bf d8 22 16 ...N...-..Tm.i.z.R.:...1...O..".
a3400 88 44 c7 bd ee ef d9 aa 84 bf 75 7f 36 3e 46 2d 11 89 05 d7 58 b5 80 4c e7 2b 38 49 9c 99 e7 53 .D........u.6>F-....X..L.+8I...S
a3420 64 a0 17 ca ce b0 88 19 f3 9f 7c 72 f7 ef c4 26 79 92 cb 75 53 57 c6 c1 15 0e d5 d5 30 2a 81 49 d.........|r...&y..uSW......0*.I
a3440 4c ca 61 2c a1 80 a6 0e 6d 9c 16 70 4a 30 b1 a5 c4 a4 29 4f ca 28 6c 28 4f be 7b 99 a9 b8 fc 9f L.a,....m..pJ0....)O.(l(O.{.....
a3460 5d 24 0e 7c a3 38 3c 58 51 ee 68 b9 02 45 05 1a 71 47 06 e8 f9 aa 5b c0 81 c1 f7 15 aa 4c 71 b5 ]$.|.8<XQ.h..E..qG....[......Lq.
a3480 80 5f 53 35 31 32 b6 8c 2e 2a 63 f3 d7 77 8b 8a cd c5 85 97 71 d7 cd 5d 37 e8 76 bb 2a 4c 60 b9 ._S512...*c..w......q..]7.v.*L`.
a34a0 89 99 c5 42 1e c2 24 2a cd d6 94 16 9b 1c 62 ca 40 26 95 5c 25 1e 40 06 9d 50 61 86 7c 4b e5 ef ...B..$*......b.@&.\%.@..Pa.|K..
a34c0 ea ce 9e 4d 61 a7 17 d4 7e 76 dc ed f5 7e df e9 b9 ef c3 39 ee 76 5d 96 17 32 18 0e 32 cd 19 85 ...Ma...~v...~.....9.v]..2..2...
a34e0 a2 8c 52 79 b6 bc b4 03 0c 99 45 c5 d9 d9 c5 45 85 26 53 06 c3 12 a7 25 57 76 0b a8 c7 80 b8 10 ..Ry......E....E.&S....%Wv......
a3500 bc aa 31 67 af 6f 64 a7 34 93 e3 c2 d9 32 1b 1e 85 dd 8a 9b be aa 12 4c 76 49 e5 e5 dd e5 f2 ca ..1g.od.4....2.........LvI......
a3520 ec 6c b3 46 d3 41 a2 90 1b a2 1a b3 3c e9 c4 b6 ee 4a 30 fa 6a 4c 26 07 28 7c 0e 86 c3 04 a4 03 .l.F.A......<....J0.jL&.(|......
a3540 c4 72 b3 b9 a3 a8 a8 b4 fc c3 c1 f4 74 6d 4a 08 34 36 6d be 59 9d b7 9c 45 28 e3 5e af cb 4d 48 .r..........tmJ.46m.Y...E(.^..MH
a3560 f2 c1 58 59 48 82 14 75 74 68 cc e6 ee a4 5f 69 87 0f 0d 33 d7 2d aa 18 05 7a 99 e5 c0 c0 8a 25 ..XYH..uth...._i...3.-...z.....%
a3580 37 93 c0 24 b1 46 be a8 eb 6c 7a 4a 7a db 51 6d 99 1a 95 e0 ff 43 d7 9c c2 30 18 ce dd 2e 18 ae 7..$.F...lzJz.Qm.....C...0......
a35a0 c8 d6 00 33 cb 4b 4b cb d7 6f 4b 2d 18 19 0e 44 58 34 43 40 ef 5d 05 3c ba ea c2 c1 83 ab 2e 2c ...3.KK..oK-...DX4C@.].<.......,
a35c0 a5 94 2b 02 5f 1d f2 24 6e 28 3d 9d 1c 5d b4 65 9d 03 3a 62 0e 38 30 d9 af c2 33 97 ad 5c 73 e2 ..+._..$n(=..].e..:b.80...3..\s.
a35e0 8a ba 7a e0 78 7e 52 45 52 d2 fe fc d4 cf a1 c9 c3 01 88 46 19 1b 0d e2 e4 de 03 2c e1 b9 24 00 ..z.x~RER..........F.......,..$.
a3600 87 0c 2a 00 63 ee fe 0c 44 70 cc ac d6 f4 01 1c 87 e7 aa ce f7 9d dc 81 6d 5e af c4 7b 6e a8 39 ..*.c...Dp..............m^..{n.9
a3620 17 a2 b1 69 71 cb f3 f1 a6 b7 a3 e0 c5 dd 1d 40 18 00 53 ba 8d f4 53 dc aa d2 41 18 cf f2 ec 7b ...iq..........@..S...S...A....{
a3640 62 bf 03 cf c2 71 38 bd 4e 39 41 03 d2 4c c4 70 90 a3 3c dd 74 59 1b 4a 32 8b 8a 34 e6 f2 45 65 b....q8.N9A..L.p..<.tY.J2..4..Ee
a3660 64 d0 4c 59 4a 08 9d be a6 f4 7b 71 dc ee d9 5f c5 80 2b 30 9c 9b 4b 9b 31 08 32 d4 4a 78 33 57 d.LYJ.....{q..._..+0..K.1.2.Jx3W
a3680 d0 1d 2c 95 97 57 7c d6 7c 36 14 8a 09 13 4a 01 49 95 ae 77 2e 9e f5 e5 d3 09 38 8a e8 b5 8f ae ..,..W|.|6....J.I..w......8.....
a36a0 3a 0d c8 09 eb 91 69 98 89 3f f6 2a d5 f5 f1 0b 55 dc 6e c2 2b 93 b9 8f d7 0d 9e 4d 8f f9 29 1d :.....i..?.*....U.n.+......M..).
a36c0 54 1c 2d ca 45 7d 4e 78 d6 17 4a cc 83 dd df 12 c0 8a 6f 8d 69 c2 db ee b7 36 ce 68 33 f1 9b 81 T.-.E}Nx..J.......o.i....6.h3...
a36e0 b0 0e 9f c6 19 3a d6 1c 2a eb 09 15 c4 76 49 c0 b7 36 14 2a 73 62 30 1e 9d bd 25 9e 5e 73 5f 37 .....:..*....vI..6.*sb0...%.^s_7
a3700 b3 a6 b7 e5 0d 10 14 99 e1 51 3b 09 85 7b ea 1c 24 de ae ac 0a 55 4d c5 af f6 68 57 8f 4f df c8 .........Q;..{..$....UM...hW.O..
a3720 ff 0e ad 6f f6 5a 77 8c 03 e6 d4 19 6d a0 37 ea 75 e4 69 49 05 75 e1 11 3e 44 f9 88 8a 5d 32 6a ...o.Zw.....m.7.u.iI.u..>D...]2j
a3740 7a ea c3 3a d8 35 d7 4b 48 e6 86 33 16 a1 41 09 40 39 3a f2 bc 04 88 1a 7a 7f 3b 5f a6 4c 99 b1 z..:.5.KH..3..A.@9:.....z.;_.L..
a3760 50 9e 14 c7 a2 30 76 2b 3f 09 a0 b0 85 68 79 7e a5 b2 97 62 99 98 18 a9 c5 62 6e e2 74 59 43 29 P....0v+?....hy~...b.....bn.tYC)
a3780 9d a1 19 18 6d 55 01 8a 83 e6 04 56 dc 42 1c 58 96 3e f1 9a 32 af 4d c9 9a 20 71 72 df 8f 2d 8b ....mU.....V.B.X.>..2.M...qr..-.
a37a0 d8 50 57 28 c1 4d 5a 6d a8 59 3f 40 97 dc e2 cf 49 c0 d1 a0 76 c4 4e 8b 18 c8 70 9e e8 cd 3b 99 .PW(.MZm.Y?@....I...v.N...p...;.
a37c0 33 a0 a3 a2 14 e7 5a e3 aa 50 40 cd 7a 7d 23 7d 4e e9 74 43 38 2e 59 5d 0a 44 9b 88 20 10 a8 ca 3.....Z..P@.z}#}N.tC8.Y].D......
a37e0 ac 1c 1b 4c c4 52 86 70 d5 85 a6 71 8e a6 5b 0b 7c 38 8c c3 d1 5b 8d 43 b4 06 a6 c3 78 c2 10 a1 ...L.R.p...q..[.|8...[.C....x...
a3800 eb 78 b1 4b f4 5c 20 c3 53 c8 95 9b c2 91 a6 f2 61 fc 86 69 e6 80 73 1c 85 12 70 72 78 60 16 bb .x.K.\..S.......a..i..s...prx`..
a3820 08 c6 fa 73 67 b8 d2 50 1c 27 94 52 e0 d3 25 76 06 b7 10 c7 cb 29 98 c2 81 de 47 79 3a ba 8c cb ...sg..P.'.R..%v.....)....Gy:...
a3840 71 e2 41 49 9d 55 9b 42 55 1c b2 a3 90 52 1f 78 50 28 6e 39 0e ce 81 a6 6a ce 04 1b a5 c3 dc ae q.AI.U.BU....R.xP(n9....j.......
a3860 50 a8 59 ca 39 d6 de 43 46 8e 32 25 74 b2 40 a9 e7 38 a3 37 67 b3 c6 c9 a2 5b d9 53 ea d8 0d 05 P.Y.9..CF.2%t.@..8.7g....[.S....
a3880 32 90 dc 55 55 29 65 21 6b 57 7a 7a 28 4f 59 95 d2 5c e3 8b 12 8a bf 0f 0e 11 a5 f7 15 4c f5 5c 2..UU)e!kWzz(OY..\...........L.\
a38a0 d0 88 1d 6d b7 a6 90 2d 4d 88 ea 6b d8 fe d7 aa 40 57 83 45 6f da 66 89 e3 e2 0a 27 62 0d 17 58 ...m...-M..k....@W.Eo.f....'b..X
a38c0 26 84 27 7d 36 ed 4c 0d 4e b1 b2 99 ad 29 a1 b2 fa bf 1b 0e 4c 67 8f 91 38 e0 1f 42 83 22 be 2c &.'}6.L.N....)......Lg..8..B.".,
a38e0 0a 27 3d 56 8a d3 ab de 90 72 ea b4 7c 18 ff 7b e1 60 32 04 ac 51 9f 47 f2 f2 68 79 4a 16 d4 8a .'=V.....r..|..{.`2..Q.G..hyJ...
a3900 0f 75 4e d7 e1 f4 14 65 48 0d 4b c2 ce 28 fc f7 c2 21 6c 56 b2 27 65 43 bd 39 6a 28 40 d3 9f e9 .uN....eH.K..(...!lV.'eC.9j(@...
a3920 4a 8f 3b 8b 54 28 14 6a 3d 87 63 73 85 81 c9 0b a9 88 ab 06 d3 59 e2 e0 5c 03 8d cc f3 5c 5a ab J.;.T(.j=.cs.........Y..\....\Z.
a3940 1e f5 f5 33 53 66 5c d5 2c 6d d5 ea 6f 40 08 cc 15 a6 d3 6d 6e e2 06 70 60 9b ec 68 1e 44 63 f5 ...3Sf\.,m..o@.....mn..p`..h.Dc.
a3960 d2 90 11 7d 16 de df 56 45 e2 90 ad 5f 41 4a b3 0f b6 b9 e6 4e 03 d3 b9 7a 14 d5 a7 d6 cf e1 5a ...}...VE..._AJ.....N...z......Z
a3980 f7 29 d3 c9 26 ed 79 a0 ff 6b f3 18 7a 7d 3a cc 76 86 24 09 b1 d9 ec 90 d2 0a 86 28 6c ce 97 54 .)..&.y..k..z}:.v.$........(l..T
a39a0 e3 2e 99 9e c3 a1 c3 ab c2 28 47 37 e7 cf f6 11 de aa 11 1a ed 73 a5 54 8a d6 07 e9 74 19 d9 51 .........(G7.........s.T....t..Q
a39c0 34 a7 57 69 f5 3d da 56 ce 8d 5c c3 2c e1 ea eb b4 5a 6d a3 0c 26 d0 01 dc ad 98 13 0e 21 39 d3 4.Wi.=.V..\.,....Zm..&.......!9.
a39e0 0e 02 e7 f3 5e 1a 27 2b 78 2c a5 40 0b 8a de d1 ce 2e d0 64 c0 e1 f0 8d 24 14 26 93 96 95 a9 a5 ....^.'+x,.@.......d....$.&.....
a3a00 6a 75 57 3f 1c e6 2a e0 39 e2 c0 29 06 16 a8 3a 23 4a 1f 66 d3 b2 ad ca 50 28 84 c2 12 d8 0d fe juW?..*.9..)...:#J.f....P(......
a3a20 8e c2 35 67 1c 22 4b d2 5e ab 6d d4 9f e9 d7 37 6a f5 18 37 e1 22 d4 59 c6 0e 9f 9d 3b 21 cc 3b ..5g."K.^.m....7j..7.".Y....;!.;
a3a40 c9 e7 e9 60 4e 67 19 aa 6e 53 87 f1 1b 6e 24 e0 21 99 ba b3 55 9f 93 93 23 ed 6b 6d ab e7 f0 2f ...`Ng..nS...n$.!...U...#.km.../
a3a60 c2 04 71 11 23 2f dd 9c 15 0e 16 94 29 c7 68 63 6a 27 8f c0 71 9e c4 85 bb c2 12 18 be c1 aa 87 ..q.#/......).hcj'..q...........
a3a80 49 ce 34 4a d5 9d ea 1c b4 b5 55 ad ee d7 72 e9 28 a1 0b da e8 3e 7a bd 53 31 1b 1c 85 e4 d8 64 I.4J......U...r.(....>z.S1.....d
a3aa0 2e 04 8d d4 3a 17 03 cf 28 9c 0a 1c 04 1f ef 46 0b 2f 21 53 4b 73 80 3a 28 da 53 d3 28 ed 2f eb ....:...(......F./!SKs.:(.S.(./.
a3ac0 a3 f3 71 0e 57 e6 0b 87 e9 9c 8b b3 c0 51 2c f6 36 8f 19 a0 37 d0 b9 0d 07 3c f2 13 81 58 f4 6a ..q.W........Q,.6...7....<...X.j
a3ae0 11 b1 73 7a b5 54 2a ed a9 6b d4 f7 74 f6 e8 a5 65 52 1f ca f7 9d 0b 4b c2 5e 97 8d 3f 0b 1c 18 ..sz.T*..k..t...eR.....K.^..?...
a3b00 c6 50 04 78 6a 8e 43 13 ce ab e7 d0 87 82 57 77 86 84 b3 5f ad ce d1 4b 7b 5a 3b 3b a5 39 28 b8 .P.xj.C.......Ww..._...K{Z;;.9(.
a3b20 e1 a3 f5 dc be d6 ce d6 9a 76 ae 7e 36 38 0a 22 c8 47 25 c4 dc 70 08 37 b7 bd a6 b1 91 eb be 2a .........v.~68.".G%..p.7.......*
a3b40 e0 79 3c 3e ca e7 f8 d0 d4 1c a9 34 47 df 5f d3 99 c3 97 35 d6 a8 73 38 f5 fc ce ce 9e 59 c5 4e .y<>.......4G._....5..s8.....Y.N
a3b60 14 d7 cd 71 85 84 15 3c 59 7b 23 38 60 a3 0f c7 08 82 c0 c9 e9 99 fc a8 96 02 86 79 12 3a 0a 88 ...q...<Y{#8`..............y.:..
a3b80 f4 e0 d5 9e 9a ce 1a 54 d6 d7 d3 d8 77 8e ce a9 e7 f6 a8 6f d1 7f 1e 00 13 f5 7d 8d 7d 3d 39 d2 .......T....w......o......}.}=9.
a3ba0 1e 5f 90 c3 e7 a2 f4 28 e6 86 71 f2 04 00 ee 96 b5 d7 b5 aa 5b f5 7a b5 1e e5 eb db 3b 7d 3d 3d ._.....(..q.........[.z.....;}==
a3bc0 ed 8d a8 4c af cf f1 f5 48 6f 15 0e ce 01 da 80 f7 9f c3 3f d3 97 a3 56 f7 70 25 98 84 23 e3 0f ...L....Ho.........?...V.p%..#..
a3be0 d4 4b b8 35 ea ce a3 e0 27 a8 1e d5 eb 01 06 da d3 d7 d7 88 4a 7d 74 94 7e eb d4 c1 b9 52 ca 52 .K.5....'...........J}t.~....R.R
a3c00 a5 7d 52 bd 54 9f 23 e5 d2 b9 3e a7 8d c3 45 6b 6a 7b fa 51 bd b4 11 d5 83 f2 a3 96 72 d0 be be .}R.T.#...>...Ekj{.Q........r...
a3c20 3e 29 a7 47 ef e3 f4 f7 e8 6f 19 8e ac 4f af 97 a6 a6 02 1c 70 a3 d7 73 f9 7a a7 44 76 06 3c e8 >).G.....o...O......p..s.z.Dv.<.
a3c40 53 eb 39 fd 28 58 8c 53 53 07 9c e1 7e 54 26 05 38 12 8e 54 aa 96 f6 85 ff 5b 80 01 00 95 28 7d S.9.(X.SS...~T&.8..T.....[....(}
a3c60 0a b9 3c 34 69 00 00 00 00 49 45 4e 44 ae 42 60 82 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ..<4i....IEND.B`................
a3c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a3ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a3cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a3ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a3d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a3d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a3d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a3d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a3d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a3da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a3dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a3de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a3e00 64 61 73 68 2d 32 2e 31 39 2e 31 2f 64 61 73 68 2d 66 75 6e 63 74 69 6f 6e 61 6c 2e 65 6c 00 00 dash-2.19.1/dash-functional.el..
a3e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a3e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a3e60 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
a3e80 30 30 30 33 37 33 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 35 36 36 00 20 30 00 00 00 0003730.00000000000.014566..0...
a3ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a3ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a3ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a3f00 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...................
a3f20 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...................
a3f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a3f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a3f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a3fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a3fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a3fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a4000 3b 3b 3b 20 64 61 73 68 2d 66 75 6e 63 74 69 6f 6e 61 6c 2e 65 6c 20 2d 2d 2d 20 43 6f 6c 6c 65 ;;;.dash-functional.el.---.Colle
a4020 63 74 69 6f 6e 20 6f 66 20 75 73 65 66 75 6c 20 63 6f 6d 62 69 6e 61 74 6f 72 73 20 66 6f 72 20 ction.of.useful.combinators.for.
a4040 45 6d 61 63 73 20 4c 69 73 70 20 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 69 6e 64 69 6e 67 3a Emacs.Lisp..-*-.lexical-binding:
a4060 20 74 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 31 33 2d 32 30 .t.-*-..;;.Copyright.(C).2013-20
a4080 32 31 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 21.Free.Software.Foundation,.Inc
a40a0 2e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 4d 61 74 75 73 20 47 6f 6c 6a 65 72 20 3c 6d 61 74 75 ...;;.Author:.Matus.Goljer.<matu
a40c0 73 2e 67 6f 6c 6a 65 72 40 67 6d 61 69 6c 2e 63 6f 6d 3e 0a 3b 3b 20 20 20 20 20 20 20 20 20 4d s.goljer@gmail.com>.;;.........M
a40e0 61 67 6e 61 72 20 53 76 65 65 6e 20 3c 6d 61 67 6e 61 72 73 40 67 6d 61 69 6c 2e 63 6f 6d 3e 0a agnar.Sveen.<magnars@gmail.com>.
a4100 3b 3b 20 56 65 72 73 69 6f 6e 3a 20 31 2e 33 2e 30 0a 3b 3b 20 50 61 63 6b 61 67 65 2d 52 65 71 ;;.Version:.1.3.0.;;.Package-Req
a4120 75 69 72 65 73 3a 20 28 28 64 61 73 68 20 22 32 2e 31 38 2e 30 22 29 29 0a 3b 3b 20 4b 65 79 77 uires:.((dash."2.18.0")).;;.Keyw
a4140 6f 72 64 73 3a 20 65 78 74 65 6e 73 69 6f 6e 73 2c 20 6c 69 73 70 0a 3b 3b 20 48 6f 6d 65 70 61 ords:.extensions,.lisp.;;.Homepa
a4160 67 65 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6d 61 67 6e 61 72 73 2f 64 ge:.https://github.com/magnars/d
a4180 61 73 68 2e 65 6c 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 ash.el..;;.This.program.is.free.
a41a0 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 software:.you.can.redistribute.i
a41c0 74 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 t.and/or.modify.;;.it.under.the.
a41e0 74 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 terms.of.the.GNU.General.Public.
a4200 4c 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 License.as.published.by.;;.the.F
a4220 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 ree.Software.Foundation,.either.
a4240 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 3b 3b 20 version.3.of.the.License,.or.;;.
a4260 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 (at.your.option).any.later.versi
a4280 6f 6e 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 on...;;.This.program.is.distribu
a42a0 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 ted.in.the.hope.that.it.will.be.
a42c0 75 73 65 66 75 6c 2c 0a 3b 3b 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 useful,.;;.but.WITHOUT.ANY.WARRA
a42e0 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 NTY;.without.even.the.implied.wa
a4300 72 72 61 6e 74 79 20 6f 66 0a 3b 3b 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 rranty.of.;;.MERCHANTABILITY.or.
a4320 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 FITNESS.FOR.A.PARTICULAR.PURPOSE
a4340 2e 20 20 53 65 65 20 74 68 65 0a 3b 3b 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 ...See.the.;;.GNU.General.Public
a4360 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 3b 3b 20 59 .License.for.more.details...;;.Y
a4380 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f ou.should.have.received.a.copy.o
a43a0 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 f.the.GNU.General.Public.License
a43c0 0a 3b 3b 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 .;;.along.with.this.program...If
a43e0 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c .not,.see.<https://www.gnu.org/l
a4400 69 63 65 6e 73 65 73 2f 3e 2e 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b 20 icenses/>...;;;.Commentary:..;;.
a4420 2a 4e 2e 42 2e 3a 2a 20 54 68 69 73 20 70 61 63 6b 61 67 65 20 68 61 73 20 62 65 65 6e 20 61 62 *N.B.:*.This.package.has.been.ab
a4440 73 6f 72 62 65 64 2c 20 61 6e 64 20 69 73 20 74 68 65 72 65 66 6f 72 65 20 6d 61 64 65 0a 3b 3b sorbed,.and.is.therefore.made.;;
a4460 20 6f 62 73 6f 6c 65 74 65 2c 20 62 79 20 74 68 65 20 60 64 61 73 68 27 20 70 61 63 6b 61 67 65 .obsolete,.by.the.`dash'.package
a4480 2c 20 76 65 72 73 69 6f 6e 20 32 2e 31 38 2e 30 2e 0a 3b 3b 0a 3b 3b 20 49 66 20 79 6f 75 20 6d ,.version.2.18.0..;;.;;.If.you.m
a44a0 61 69 6e 74 61 69 6e 20 61 20 70 61 63 6b 61 67 65 20 74 68 61 74 20 64 65 70 65 6e 64 73 20 6f aintain.a.package.that.depends.o
a44c0 6e 20 60 64 61 73 68 2d 66 75 6e 63 74 69 6f 6e 61 6c 27 2c 20 74 68 65 6e 0a 3b 3b 20 79 6f 75 n.`dash-functional',.then.;;.you
a44e0 20 73 68 6f 75 6c 64 20 63 68 61 6e 67 65 20 74 68 61 74 20 74 6f 20 69 6e 73 74 65 61 64 20 64 .should.change.that.to.instead.d
a4500 65 70 65 6e 64 20 6f 6e 20 60 64 61 73 68 27 20 76 65 72 73 69 6f 6e 20 32 2e 31 38 2e 30 2c 0a epend.on.`dash'.version.2.18.0,.
a4520 3b 3b 20 61 6e 64 20 72 65 6d 6f 76 65 20 61 6c 6c 20 72 65 66 65 72 65 6e 63 65 73 20 74 6f 20 ;;.and.remove.all.references.to.
a4540 60 64 61 73 68 2d 66 75 6e 63 74 69 6f 6e 61 6c 27 2e 0a 3b 3b 0a 3b 3b 20 49 66 20 79 6f 75 20 `dash-functional'..;;.;;.If.you.
a4560 75 73 65 20 61 6e 79 20 70 61 63 6b 61 67 65 73 20 74 68 61 74 20 64 65 70 65 6e 64 20 6f 6e 20 use.any.packages.that.depend.on.
a4580 60 64 61 73 68 2d 66 75 6e 63 74 69 6f 6e 61 6c 27 2c 20 65 69 74 68 65 72 0a 3b 3b 20 64 69 72 `dash-functional',.either.;;.dir
a45a0 65 63 74 6c 79 20 6f 72 20 69 6e 64 69 72 65 63 74 6c 79 2c 20 74 68 65 6e 20 79 6f 75 20 77 69 ectly.or.indirectly,.then.you.wi
a45c0 6c 6c 20 68 61 76 65 20 74 6f 20 77 61 69 74 20 75 6e 74 69 6c 20 61 6c 6c 20 6f 66 0a 3b 3b 20 ll.have.to.wait.until.all.of.;;.
a45e0 74 68 65 6d 20 68 61 76 65 20 74 72 61 6e 73 69 74 69 6f 6e 65 64 20 61 77 61 79 20 66 72 6f 6d them.have.transitioned.away.from
a4600 20 69 74 20 62 65 66 6f 72 65 20 79 6f 75 20 63 61 6e 20 72 65 6d 6f 76 65 20 69 74 2e 0a 3b 3b .it.before.you.can.remove.it..;;
a4620 0a 3b 3b 20 46 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 74 68 69 73 .;;.For.more.information.on.this
a4640 2c 20 73 65 65 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 55 52 4c 3a 0a 3b 3b 20 60 68 74 74 ,.see.the.following.URL:.;;.`htt
a4660 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6d 61 67 6e 61 72 73 2f 64 61 73 68 2e 65 6c 2f ps://github.com/magnars/dash.el/
a4680 77 69 6b 69 2f 4f 62 73 6f 6c 65 74 69 6f 6e 2d 6f 66 2d 64 61 73 68 2d 66 75 6e 63 74 69 6f 6e wiki/Obsoletion-of-dash-function
a46a0 61 6c 2e 65 6c 27 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 28 72 65 71 75 69 72 65 20 27 64 61 73 al.el'..;;;.Code:..(require.'das
a46c0 68 29 0a 0a 28 65 76 61 6c 2d 61 6e 64 2d 63 6f 6d 70 69 6c 65 0a 20 20 28 6c 65 74 20 28 28 6d h)..(eval-and-compile...(let.((m
a46e0 73 67 20 22 50 61 63 6b 61 67 65 20 64 61 73 68 2d 66 75 6e 63 74 69 6f 6e 61 6c 20 69 73 20 6f sg."Package.dash-functional.is.o
a4700 62 73 6f 6c 65 74 65 3b 20 75 73 65 20 64 61 73 68 20 32 2e 31 38 2e 30 20 69 6e 73 74 65 61 64 bsolete;.use.dash.2.18.0.instead
a4720 22 29 29 0a 20 20 20 20 28 69 66 20 28 61 6e 64 20 6e 6f 6e 69 6e 74 65 72 61 63 74 69 76 65 20 ")).....(if.(and.noninteractive.
a4740 28 66 62 6f 75 6e 64 70 20 27 62 79 74 65 2d 63 6f 6d 70 69 6c 65 2d 77 61 72 6e 29 29 0a 20 20 (fboundp.'byte-compile-warn))...
a4760 20 20 20 20 20 20 28 62 79 74 65 2d 63 6f 6d 70 69 6c 65 2d 77 61 72 6e 20 6d 73 67 29 0a 20 20 ......(byte-compile-warn.msg)...
a4780 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 25 73 22 20 6d 73 67 29 29 29 29 0a 0a 28 70 72 6f 76 ....(message."%s".msg))))..(prov
a47a0 69 64 65 20 27 64 61 73 68 2d 66 75 6e 63 74 69 6f 6e 61 6c 29 0a 0a 3b 3b 3b 20 64 61 73 68 2d ide.'dash-functional)..;;;.dash-
a47c0 66 75 6e 63 74 69 6f 6e 61 6c 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 functional.el.ends.here.........
a47e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a4800 64 61 73 68 2d 32 2e 31 39 2e 31 2f 2e 64 69 72 2d 6c 6f 63 61 6c 73 2e 65 6c 00 00 00 00 00 00 dash-2.19.1/.dir-locals.el......
a4820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a4840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a4860 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
a4880 30 30 30 30 36 34 37 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 36 32 32 00 20 30 00 00 00 0000647.00000000000.013622..0...
a48a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a48c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a48e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a4900 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...................
a4920 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...................
a4940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a4960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a4980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a49a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a49c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a49e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a4a00 28 28 6e 69 6c 0a 20 20 28 62 75 67 2d 72 65 66 65 72 65 6e 63 65 2d 62 75 67 2d 72 65 67 65 78 ((nil...(bug-reference-bug-regex
a4a20 70 20 2e 20 22 5c 5c 28 5c 5c 28 3f 3a 69 73 73 75 65 5c 5c 7c 70 72 5c 5c 29 20 3f 5c 5c 29 3f p..."\\(\\(?:issue\\|pr\\).?\\)?
a4a40 23 5c 5c 28 5b 5b 3a 64 69 67 69 74 3a 5d 5d 2b 5c 5c 29 22 29 0a 20 20 28 62 75 67 2d 72 65 66 #\\([[:digit:]]+\\)")...(bug-ref
a4a60 65 72 65 6e 63 65 2d 75 72 6c 2d 66 6f 72 6d 61 74 20 2e 20 22 68 74 74 70 73 3a 2f 2f 67 69 74 erence-url-format..."https://git
a4a80 68 75 62 2e 63 6f 6d 2f 6d 61 67 6e 61 72 73 2f 64 61 73 68 2e 65 6c 2f 69 73 73 75 65 73 2f 25 hub.com/magnars/dash.el/issues/%
a4aa0 73 22 29 0a 20 20 28 66 69 6c 6c 2d 63 6f 6c 75 6d 6e 20 2e 20 37 30 29 0a 20 20 28 73 65 6e 74 s")...(fill-column...70)...(sent
a4ac0 65 6e 63 65 2d 65 6e 64 2d 64 6f 75 62 6c 65 2d 73 70 61 63 65 20 2e 20 74 29 0a 20 20 28 74 61 ence-end-double-space...t)...(ta
a4ae0 62 2d 77 69 64 74 68 20 2e 20 38 29 29 0a 20 28 65 6d 61 63 73 2d 6c 69 73 70 2d 6d 6f 64 65 0a b-width...8))..(emacs-lisp-mode.
a4b00 20 20 28 69 6e 64 65 6e 74 2d 74 61 62 73 2d 6d 6f 64 65 20 2e 20 6e 69 6c 29 0a 20 20 28 6d 6f ..(indent-tabs-mode...nil)...(mo
a4b20 64 65 20 2e 20 62 75 67 2d 72 65 66 65 72 65 6e 63 65 2d 70 72 6f 67 29 29 0a 20 28 73 68 2d 6d de...bug-reference-prog))..(sh-m
a4b40 6f 64 65 0a 20 20 28 73 68 2d 62 61 73 69 63 2d 6f 66 66 73 65 74 20 2e 20 34 29 29 0a 20 28 74 ode...(sh-basic-offset...4))..(t
a4b60 65 78 69 6e 66 6f 2d 6d 6f 64 65 0a 20 20 28 69 6e 64 65 6e 74 2d 74 61 62 73 2d 6d 6f 64 65 20 exinfo-mode...(indent-tabs-mode.
a4b80 2e 20 6e 69 6c 29 0a 20 20 28 6d 6f 64 65 20 2e 20 62 75 67 2d 72 65 66 65 72 65 6e 63 65 2d 70 ..nil)...(mode...bug-reference-p
a4ba0 72 6f 67 29 29 29 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 rog)))..........................
a4bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a4be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a4c00 64 61 73 68 2d 32 2e 31 39 2e 31 2f 64 61 73 68 2d 74 65 6d 70 6c 61 74 65 2e 74 65 78 69 00 00 dash-2.19.1/dash-template.texi..
a4c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a4c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a4c60 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
a4c80 30 30 32 31 35 32 32 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 36 30 37 00 20 30 00 00 00 0021522.00000000000.014607..0...
a4ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a4cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a4ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a4d00 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...................
a4d20 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...................
a4d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a4d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a4d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a4da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a4dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a4de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a4e00 5c 69 6e 70 75 74 20 74 65 78 69 6e 66 6f 20 20 20 20 40 63 20 2d 2a 2d 20 74 65 78 69 6e 66 6f \input.texinfo....@c.-*-.texinfo
a4e20 20 2d 2a 2d 0a 40 63 20 25 2a 2a 73 74 61 72 74 20 6f 66 20 68 65 61 64 65 72 0a 40 73 65 74 66 .-*-.@c.%**start.of.header.@setf
a4e40 69 6c 65 6e 61 6d 65 20 64 61 73 68 2e 69 6e 66 6f 0a 40 73 65 74 20 44 41 53 48 56 45 52 20 40 ilename.dash.info.@set.DASHVER.@
a4e60 63 20 5b 5b 20 64 61 73 68 2d 76 65 72 73 69 6f 6e 20 5d 5d 0a 40 73 65 74 74 69 74 6c 65 20 44 c.[[.dash-version.]].@settitle.D
a4e80 61 73 68 3a 20 41 20 6d 6f 64 65 72 6e 20 6c 69 73 74 20 6c 69 62 72 61 72 79 20 66 6f 72 20 47 ash:.A.modern.list.library.for.G
a4ea0 4e 55 20 45 6d 61 63 73 2e 0a 40 64 6f 63 75 6d 65 6e 74 65 6e 63 6f 64 69 6e 67 20 55 54 46 2d NU.Emacs..@documentencoding.UTF-
a4ec0 38 0a 40 64 6f 63 75 6d 65 6e 74 6c 61 6e 67 75 61 67 65 20 65 6e 0a 40 63 20 25 2a 2a 65 6e 64 8.@documentlanguage.en.@c.%**end
a4ee0 20 6f 66 20 68 65 61 64 65 72 0a 0a 40 63 6f 70 79 69 6e 67 0a 54 68 69 73 20 6d 61 6e 75 61 6c .of.header..@copying.This.manual
a4f00 20 69 73 20 66 6f 72 20 44 61 73 68 20 76 65 72 73 69 6f 6e 20 40 76 61 6c 75 65 7b 44 41 53 48 .is.for.Dash.version.@value{DASH
a4f20 56 45 52 7d 2e 0a 0a 43 6f 70 79 72 69 67 68 74 20 40 63 6f 70 79 72 69 67 68 74 7b 7d 20 32 30 VER}...Copyright.@copyright{}.20
a4f40 31 32 2d 2d 32 30 32 31 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 12--2021.Free.Software.Foundatio
a4f60 6e 2c 20 49 6e 63 2e 0a 0a 40 71 75 6f 74 61 74 69 6f 6e 0a 50 65 72 6d 69 73 73 69 6f 6e 20 69 n,.Inc...@quotation.Permission.i
a4f80 73 20 67 72 61 6e 74 65 64 20 74 6f 20 63 6f 70 79 2c 20 64 69 73 74 72 69 62 75 74 65 20 61 6e s.granted.to.copy,.distribute.an
a4fa0 64 2f 6f 72 20 6d 6f 64 69 66 79 20 74 68 69 73 20 64 6f 63 75 6d 65 6e 74 0a 75 6e 64 65 72 20 d/or.modify.this.document.under.
a4fc0 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 46 72 65 65 20 44 6f 63 75 6d 65 the.terms.of.the.GNU.Free.Docume
a4fe0 6e 74 61 74 69 6f 6e 20 4c 69 63 65 6e 73 65 2c 20 56 65 72 73 69 6f 6e 20 31 2e 33 20 6f 72 0a ntation.License,.Version.1.3.or.
a5000 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 20 70 75 62 6c 69 73 68 65 64 20 62 79 20 74 any.later.version.published.by.t
a5020 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 3b 20 77 69 74 he.Free.Software.Foundation;.wit
a5040 68 20 74 68 65 0a 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 20 62 65 69 6e 67 20 60 h.the.Invariant.Sections.being.`
a5060 60 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 2c 27 27 20 61 `GNU.General.Public.License,''.a
a5080 6e 64 20 6e 6f 0a 46 72 6f 6e 74 2d 43 6f 76 65 72 20 54 65 78 74 73 20 6f 72 20 42 61 63 6b 2d nd.no.Front-Cover.Texts.or.Back-
a50a0 43 6f 76 65 72 20 54 65 78 74 73 2e 20 20 41 20 63 6f 70 79 20 6f 66 20 74 68 65 20 6c 69 63 65 Cover.Texts...A.copy.of.the.lice
a50c0 6e 73 65 20 69 73 0a 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 68 65 20 73 65 63 74 69 6f 6e 20 65 nse.is.included.in.the.section.e
a50e0 6e 74 69 74 6c 65 64 20 60 60 47 4e 55 20 46 72 65 65 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e ntitled.``GNU.Free.Documentation
a5100 20 4c 69 63 65 6e 73 65 27 27 2e 0a 40 65 6e 64 20 71 75 6f 74 61 74 69 6f 6e 0a 40 65 6e 64 20 .License''..@end.quotation.@end.
a5120 63 6f 70 79 69 6e 67 0a 0a 40 64 69 72 63 61 74 65 67 6f 72 79 20 45 6d 61 63 73 0a 40 64 69 72 copying..@dircategory.Emacs.@dir
a5140 65 6e 74 72 79 0a 2a 20 44 61 73 68 3a 20 28 64 61 73 68 2e 69 6e 66 6f 29 2e 20 20 20 20 41 20 entry.*.Dash:.(dash.info).....A.
a5160 6d 6f 64 65 72 6e 20 6c 69 73 74 20 6c 69 62 72 61 72 79 20 66 6f 72 20 47 4e 55 20 45 6d 61 63 modern.list.library.for.GNU.Emac
a5180 73 2e 0a 40 65 6e 64 20 64 69 72 65 6e 74 72 79 0a 0a 40 74 69 74 6c 65 70 61 67 65 0a 40 74 69 s..@end.direntry..@titlepage.@ti
a51a0 74 6c 65 20 44 61 73 68 20 4d 61 6e 75 61 6c 0a 40 73 75 62 74 69 74 6c 65 20 46 6f 72 20 44 61 tle.Dash.Manual.@subtitle.For.Da
a51c0 73 68 20 56 65 72 73 69 6f 6e 20 40 76 61 6c 75 65 7b 44 41 53 48 56 45 52 7d 2e 0a 40 61 75 74 sh.Version.@value{DASHVER}..@aut
a51e0 68 6f 72 20 4d 61 67 6e 61 72 20 53 76 65 65 6e 0a 40 70 61 67 65 0a 40 76 73 6b 69 70 20 30 70 hor.Magnar.Sveen.@page.@vskip.0p
a5200 74 20 70 6c 75 73 20 31 66 69 6c 6c 6c 0a 40 69 6e 73 65 72 74 63 6f 70 79 69 6e 67 0a 40 65 6e t.plus.1filll.@insertcopying.@en
a5220 64 20 74 69 74 6c 65 70 61 67 65 0a 0a 40 63 6f 6e 74 65 6e 74 73 0a 0a 40 69 66 6e 6f 74 74 65 d.titlepage..@contents..@ifnotte
a5240 78 0a 40 6e 6f 64 65 20 54 6f 70 0a 40 74 6f 70 20 44 61 73 68 0a 0a 40 69 6e 73 65 72 74 63 6f x.@node.Top.@top.Dash..@insertco
a5260 70 79 69 6e 67 0a 40 65 6e 64 20 69 66 6e 6f 74 74 65 78 0a 0a 40 6d 65 6e 75 0a 2a 20 49 6e 73 pying.@end.ifnottex..@menu.*.Ins
a5280 74 61 6c 6c 61 74 69 6f 6e 3a 3a 20 20 20 20 20 20 20 20 49 6e 73 74 61 6c 6c 69 6e 67 20 61 6e tallation::........Installing.an
a52a0 64 20 63 6f 6e 66 69 67 75 72 69 6e 67 20 44 61 73 68 2e 0a 2a 20 46 75 6e 63 74 69 6f 6e 73 3a d.configuring.Dash..*.Functions:
a52c0 3a 20 20 20 20 20 20 20 20 20 20 20 44 61 73 68 20 41 50 49 20 72 65 66 65 72 65 6e 63 65 2e 0a :...........Dash.API.reference..
a52e0 2a 20 44 65 76 65 6c 6f 70 6d 65 6e 74 3a 3a 20 20 20 20 20 20 20 20 20 43 6f 6e 74 72 69 62 75 *.Development::.........Contribu
a5300 74 69 6e 67 20 74 6f 20 44 61 73 68 20 64 65 76 65 6c 6f 70 6d 65 6e 74 2e 0a 0a 41 70 70 65 6e ting.to.Dash.development...Appen
a5320 64 69 63 65 73 0a 0a 2a 20 46 44 4c 3a 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 dices..*.FDL::.................T
a5340 68 65 20 6c 69 63 65 6e 73 65 20 66 6f 72 20 74 68 69 73 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f he.license.for.this.documentatio
a5360 6e 2e 0a 2a 20 47 50 4c 3a 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 6f 6e 64 69 n..*.GPL::.................Condi
a5380 74 69 6f 6e 73 20 66 6f 72 20 63 6f 70 79 69 6e 67 20 61 6e 64 20 63 68 61 6e 67 69 6e 67 20 44 tions.for.copying.and.changing.D
a53a0 61 73 68 2e 0a 2a 20 49 6e 64 65 78 3a 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 64 ash..*.Index::...............Ind
a53c0 65 78 20 69 6e 63 6c 75 64 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73 20 61 6e 64 20 6d 61 63 72 6f ex.including.functions.and.macro
a53e0 73 2e 0a 0a 40 64 65 74 61 69 6c 6d 65 6e 75 0a 20 2d 2d 2d 20 54 68 65 20 44 65 74 61 69 6c 65 s...@detailmenu..---.The.Detaile
a5400 64 20 4e 6f 64 65 20 4c 69 73 74 69 6e 67 20 2d 2d 2d 0a 0a 49 6e 73 74 61 6c 6c 61 74 69 6f 6e d.Node.Listing.---..Installation
a5420 0a 0a 2a 20 55 73 69 6e 67 20 69 6e 20 61 20 70 61 63 6b 61 67 65 3a 3a 20 20 4c 69 73 74 69 6e ..*.Using.in.a.package::..Listin
a5440 67 20 44 61 73 68 20 61 73 20 61 20 70 61 63 6b 61 67 65 20 64 65 70 65 6e 64 65 6e 63 79 2e 0a g.Dash.as.a.package.dependency..
a5460 2a 20 46 6f 6e 74 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 73 70 65 63 69 61 6c 20 76 61 72 69 61 *.Fontification.of.special.varia
a5480 62 6c 65 73 3a 3a 20 20 46 6f 6e 74 20 4c 6f 63 6b 20 6f 66 20 61 6e 61 70 68 6f 72 69 63 20 6d bles::..Font.Lock.of.anaphoric.m
a54a0 61 63 72 6f 20 76 61 72 69 61 62 6c 65 73 2e 0a 2a 20 49 6e 66 6f 20 73 79 6d 62 6f 6c 20 6c 6f acro.variables..*.Info.symbol.lo
a54c0 6f 6b 75 70 3a 3a 20 20 4c 6f 6f 6b 69 6e 67 20 75 70 20 44 61 73 68 20 73 79 6d 62 6f 6c 73 20 okup::..Looking.up.Dash.symbols.
a54e0 69 6e 20 74 68 69 73 20 6d 61 6e 75 61 6c 2e 0a 0a 46 75 6e 63 74 69 6f 6e 73 0a 0a 40 63 20 5b in.this.manual...Functions..@c.[
a5500 5b 20 66 75 6e 63 74 69 6f 6e 2d 6c 69 73 74 20 5d 5d 0a 0a 44 65 76 65 6c 6f 70 6d 65 6e 74 0a [.function-list.]]..Development.
a5520 0a 2a 20 43 6f 6e 74 72 69 62 75 74 65 3a 3a 20 20 20 20 20 20 20 20 20 20 48 6f 77 20 74 6f 20 .*.Contribute::..........How.to.
a5540 63 6f 6e 74 72 69 62 75 74 65 2e 0a 2a 20 43 6f 6e 74 72 69 62 75 74 6f 72 73 3a 3a 20 20 20 20 contribute..*.Contributors::....
a5560 20 20 20 20 4c 69 73 74 20 6f 66 20 63 6f 6e 74 72 69 62 75 74 6f 72 73 2e 0a 40 65 6e 64 20 64 ....List.of.contributors..@end.d
a5580 65 74 61 69 6c 6d 65 6e 75 0a 40 65 6e 64 20 6d 65 6e 75 0a 0a 40 6e 6f 64 65 20 49 6e 73 74 61 etailmenu.@end.menu..@node.Insta
a55a0 6c 6c 61 74 69 6f 6e 0a 40 63 68 61 70 74 65 72 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 0a 0a 44 llation.@chapter.Installation..D
a55c0 61 73 68 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 6f 6e 20 40 75 72 6c 7b 68 74 74 70 73 3a 2f ash.is.available.on.@url{https:/
a55e0 2f 65 6c 70 61 2e 67 6e 75 2e 6f 72 67 2f 2c 20 47 4e 55 20 45 4c 50 41 7d 2c 0a 40 75 72 6c 7b /elpa.gnu.org/,.GNU.ELPA},.@url{
a5600 68 74 74 70 73 3a 2f 2f 65 6c 70 61 2e 67 6e 75 2e 6f 72 67 2f 64 65 76 65 6c 2f 2c 20 47 4e 55 https://elpa.gnu.org/devel/,.GNU
a5620 2d 64 65 76 65 6c 20 45 4c 50 41 7d 2c 20 61 6e 64 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 6d -devel.ELPA},.and.@url{https://m
a5640 65 6c 70 61 2e 6f 72 67 2f 2c 20 4d 45 4c 50 41 7d 2c 20 61 6e 64 20 63 61 6e 20 62 65 20 69 6e elpa.org/,.MELPA},.and.can.be.in
a5660 73 74 61 6c 6c 65 64 20 77 69 74 68 20 74 68 65 0a 73 74 61 6e 64 61 72 64 20 63 6f 6d 6d 61 6e stalled.with.the.standard.comman
a5680 64 20 40 63 6f 64 65 7b 70 61 63 6b 61 67 65 2d 69 6e 73 74 61 6c 6c 7d 20 28 40 70 78 72 65 66 d.@code{package-install}.(@pxref
a56a0 7b 50 61 63 6b 61 67 65 0a 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 2c 2c 2c 20 65 6d 61 63 73 2c 20 {Package.Installation,,,.emacs,.
a56c0 54 68 65 20 47 4e 55 20 45 6d 61 63 73 20 4d 61 6e 75 61 6c 7d 29 2e 0a 0a 40 74 61 62 6c 65 20 The.GNU.Emacs.Manual})...@table.
a56e0 40 6b 62 64 0a 40 69 74 65 6d 20 4d 2d 78 20 70 61 63 6b 61 67 65 2d 69 6e 73 74 61 6c 6c 20 40 @kbd.@item.M-x.package-install.@
a5700 6b 65 79 7b 52 45 54 7d 20 64 61 73 68 20 40 6b 65 79 7b 52 45 54 7d 0a 49 6e 73 74 61 6c 6c 20 key{RET}.dash.@key{RET}.Install.
a5720 74 68 65 20 44 61 73 68 20 6c 69 62 72 61 72 79 2e 0a 40 65 6e 64 20 74 61 62 6c 65 0a 0a 41 6c the.Dash.library..@end.table..Al
a5740 74 65 72 6e 61 74 69 76 65 6c 79 2c 20 79 6f 75 20 63 61 6e 20 6a 75 73 74 20 64 75 6d 70 20 40 ternatively,.you.can.just.dump.@
a5760 66 69 6c 65 7b 64 61 73 68 2e 65 6c 7d 20 69 6e 20 79 6f 75 72 0a 40 63 6f 64 65 7b 6c 6f 61 64 file{dash.el}.in.your.@code{load
a5780 2d 70 61 74 68 7d 20 73 6f 6d 65 77 68 65 72 65 20 28 40 70 78 72 65 66 7b 4c 69 73 70 20 4c 69 -path}.somewhere.(@pxref{Lisp.Li
a57a0 62 72 61 72 69 65 73 2c 2c 2c 20 65 6d 61 63 73 2c 20 54 68 65 20 47 4e 55 0a 45 6d 61 63 73 20 braries,,,.emacs,.The.GNU.Emacs.
a57c0 4d 61 6e 75 61 6c 7d 29 2e 0a 0a 40 6d 65 6e 75 0a 2a 20 55 73 69 6e 67 20 69 6e 20 61 20 70 61 Manual})...@menu.*.Using.in.a.pa
a57e0 63 6b 61 67 65 3a 3a 20 20 4c 69 73 74 69 6e 67 20 44 61 73 68 20 61 73 20 61 20 70 61 63 6b 61 ckage::..Listing.Dash.as.a.packa
a5800 67 65 20 64 65 70 65 6e 64 65 6e 63 79 2e 0a 2a 20 46 6f 6e 74 69 66 69 63 61 74 69 6f 6e 20 6f ge.dependency..*.Fontification.o
a5820 66 20 73 70 65 63 69 61 6c 20 76 61 72 69 61 62 6c 65 73 3a 3a 20 20 46 6f 6e 74 20 4c 6f 63 6b f.special.variables::..Font.Lock
a5840 20 6f 66 20 61 6e 61 70 68 6f 72 69 63 20 6d 61 63 72 6f 20 76 61 72 69 61 62 6c 65 73 2e 0a 2a .of.anaphoric.macro.variables..*
a5860 20 49 6e 66 6f 20 73 79 6d 62 6f 6c 20 6c 6f 6f 6b 75 70 3a 3a 20 20 4c 6f 6f 6b 69 6e 67 20 75 .Info.symbol.lookup::..Looking.u
a5880 70 20 44 61 73 68 20 73 79 6d 62 6f 6c 73 20 69 6e 20 74 68 69 73 20 6d 61 6e 75 61 6c 2e 0a 40 p.Dash.symbols.in.this.manual..@
a58a0 65 6e 64 20 6d 65 6e 75 0a 0a 40 6e 6f 64 65 20 55 73 69 6e 67 20 69 6e 20 61 20 70 61 63 6b 61 end.menu..@node.Using.in.a.packa
a58c0 67 65 0a 40 73 65 63 74 69 6f 6e 20 55 73 69 6e 67 20 69 6e 20 61 20 70 61 63 6b 61 67 65 0a 0a ge.@section.Using.in.a.package..
a58e0 49 66 20 79 6f 75 20 75 73 65 20 44 61 73 68 20 69 6e 20 79 6f 75 72 20 6f 77 6e 20 70 61 63 6b If.you.use.Dash.in.your.own.pack
a5900 61 67 65 2c 20 62 65 20 73 75 72 65 20 74 6f 20 6c 69 73 74 20 69 74 20 61 73 20 61 0a 64 65 70 age,.be.sure.to.list.it.as.a.dep
a5920 65 6e 64 65 6e 63 79 20 69 6e 20 74 68 65 20 6c 69 62 72 61 72 79 27 73 20 68 65 61 64 65 72 73 endency.in.the.library's.headers
a5940 20 61 73 20 66 6f 6c 6c 6f 77 73 20 28 40 70 78 72 65 66 7b 4c 69 62 72 61 72 79 0a 48 65 61 64 .as.follows.(@pxref{Library.Head
a5960 65 72 73 2c 2c 2c 20 65 6c 69 73 70 2c 20 54 68 65 20 45 6d 61 63 73 20 4c 69 73 70 20 52 65 66 ers,,,.elisp,.The.Emacs.Lisp.Ref
a5980 65 72 65 6e 63 65 20 4d 61 6e 75 61 6c 7d 29 2e 0a 0a 40 6c 69 73 70 0a 3b 3b 20 50 61 63 6b 61 erence.Manual})...@lisp.;;.Packa
a59a0 67 65 2d 52 65 71 75 69 72 65 73 3a 20 28 28 64 61 73 68 20 22 40 76 61 6c 75 65 7b 44 41 53 48 ge-Requires:.((dash."@value{DASH
a59c0 56 45 52 7d 22 29 29 0a 40 65 6e 64 20 6c 69 73 70 0a 0a 40 6e 6f 64 65 20 46 6f 6e 74 69 66 69 VER}")).@end.lisp..@node.Fontifi
a59e0 63 61 74 69 6f 6e 20 6f 66 20 73 70 65 63 69 61 6c 20 76 61 72 69 61 62 6c 65 73 0a 40 73 65 63 cation.of.special.variables.@sec
a5a00 74 69 6f 6e 20 46 6f 6e 74 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 73 70 65 63 69 61 6c 20 76 61 tion.Fontification.of.special.va
a5a20 72 69 61 62 6c 65 73 0a 0a 40 66 69 6e 64 65 78 20 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f riables..@findex.dash-fontify-mo
a5a40 64 65 0a 54 68 65 20 61 75 74 6f 6c 6f 61 64 65 64 20 6d 69 6e 6f 72 20 6d 6f 64 65 20 40 63 6f de.The.autoloaded.minor.mode.@co
a5a60 64 65 7b 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 7d 20 69 73 20 70 72 6f 76 69 64 65 de{dash-fontify-mode}.is.provide
a5a80 64 20 66 6f 72 0a 6f 70 74 69 6f 6e 61 6c 20 66 6f 6e 74 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 d.for.optional.fontification.of.
a5aa0 61 6e 61 70 68 6f 72 69 63 20 44 61 73 68 20 76 61 72 69 61 62 6c 65 73 20 28 40 63 6f 64 65 7b anaphoric.Dash.variables.(@code{
a5ac0 69 74 7d 2c 0a 40 63 6f 64 65 7b 61 63 63 7d 2c 20 65 74 63 2e 40 3a 29 20 69 6e 20 45 6d 61 63 it},.@code{acc},.etc.@:).in.Emac
a5ae0 73 20 4c 69 73 70 20 62 75 66 66 65 72 73 20 75 73 69 6e 67 20 73 65 61 72 63 68 2d 62 61 73 65 s.Lisp.buffers.using.search-base
a5b00 64 20 46 6f 6e 74 20 4c 6f 63 6b 0a 28 40 70 78 72 65 66 7b 46 6f 6e 74 20 4c 6f 63 6b 2c 2c 2c d.Font.Lock.(@pxref{Font.Lock,,,
a5b20 20 65 6d 61 63 73 2c 20 54 68 65 20 47 4e 55 20 45 6d 61 63 73 20 4d 61 6e 75 61 6c 7d 29 2e 20 .emacs,.The.GNU.Emacs.Manual})..
a5b40 20 49 6e 20 6f 6c 64 65 72 20 45 6d 61 63 73 0a 76 65 72 73 69 6f 6e 73 20 77 68 69 63 68 20 64 .In.older.Emacs.versions.which.d
a5b60 6f 20 6e 6f 74 20 64 79 6e 61 6d 69 63 61 6c 6c 79 20 64 65 74 65 63 74 20 6d 61 63 72 6f 73 2c o.not.dynamically.detect.macros,
a5b80 20 74 68 65 20 6d 69 6e 6f 72 20 6d 6f 64 65 20 61 6c 73 6f 0a 66 6f 6e 74 69 66 69 65 73 20 63 .the.minor.mode.also.fontifies.c
a5ba0 61 6c 6c 73 20 74 6f 20 44 61 73 68 20 6d 61 63 72 6f 73 2e 0a 0a 40 66 69 6e 64 65 78 20 67 6c alls.to.Dash.macros...@findex.gl
a5bc0 6f 62 61 6c 2d 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 0a 54 6f 20 61 75 74 6f 6d 61 obal-dash-fontify-mode.To.automa
a5be0 74 69 63 61 6c 6c 79 20 65 6e 61 62 6c 65 20 74 68 65 20 6d 69 6e 6f 72 20 6d 6f 64 65 20 69 6e tically.enable.the.minor.mode.in
a5c00 20 61 6c 6c 20 45 6d 61 63 73 20 4c 69 73 70 20 62 75 66 66 65 72 73 2c 20 6a 75 73 74 0a 63 61 .all.Emacs.Lisp.buffers,.just.ca
a5c20 6c 6c 20 69 74 73 20 61 75 74 6f 6c 6f 61 64 65 64 20 67 6c 6f 62 61 6c 20 63 6f 75 6e 74 65 72 ll.its.autoloaded.global.counter
a5c40 70 61 72 74 0a 40 63 6f 64 65 7b 67 6c 6f 62 61 6c 2d 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d part.@code{global-dash-fontify-m
a5c60 6f 64 65 7d 2c 20 65 69 74 68 65 72 20 69 6e 74 65 72 61 63 74 69 76 65 6c 79 20 6f 72 20 66 72 ode},.either.interactively.or.fr
a5c80 6f 6d 20 79 6f 75 72 0a 40 63 6f 64 65 7b 75 73 65 72 2d 69 6e 69 74 2d 66 69 6c 65 7d 3a 0a 0a om.your.@code{user-init-file}:..
a5ca0 40 6c 69 73 70 0a 28 67 6c 6f 62 61 6c 2d 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 29 @lisp.(global-dash-fontify-mode)
a5cc0 0a 40 65 6e 64 20 6c 69 73 70 0a 0a 40 6e 6f 64 65 20 49 6e 66 6f 20 73 79 6d 62 6f 6c 20 6c 6f .@end.lisp..@node.Info.symbol.lo
a5ce0 6f 6b 75 70 0a 40 73 65 63 74 69 6f 6e 20 49 6e 66 6f 20 73 79 6d 62 6f 6c 20 6c 6f 6f 6b 75 70 okup.@section.Info.symbol.lookup
a5d00 0a 0a 40 66 69 6e 64 65 78 20 64 61 73 68 2d 72 65 67 69 73 74 65 72 2d 69 6e 66 6f 2d 6c 6f 6f ..@findex.dash-register-info-loo
a5d20 6b 75 70 0a 57 68 69 6c 65 20 65 64 69 74 69 6e 67 20 45 6c 69 73 70 20 66 69 6c 65 73 2c 20 79 kup.While.editing.Elisp.files,.y
a5d40 6f 75 20 63 61 6e 20 75 73 65 20 40 6b 62 64 7b 43 2d 68 20 53 7d 0a 28 40 63 6f 64 65 7b 69 6e ou.can.use.@kbd{C-h.S}.(@code{in
a5d60 66 6f 2d 6c 6f 6f 6b 75 70 2d 73 79 6d 62 6f 6c 7d 29 20 74 6f 20 6c 6f 6f 6b 20 75 70 20 45 6c fo-lookup-symbol}).to.look.up.El
a5d80 69 73 70 20 73 79 6d 62 6f 6c 73 20 69 6e 20 74 68 65 20 72 65 6c 65 76 61 6e 74 0a 49 6e 66 6f isp.symbols.in.the.relevant.Info
a5da0 20 6d 61 6e 75 61 6c 73 20 28 40 70 78 72 65 66 7b 49 6e 66 6f 20 4c 6f 6f 6b 75 70 2c 2c 2c 20 .manuals.(@pxref{Info.Lookup,,,.
a5dc0 65 6d 61 63 73 2c 20 54 68 65 20 47 4e 55 20 45 6d 61 63 73 20 4d 61 6e 75 61 6c 7d 29 2e 20 20 emacs,.The.GNU.Emacs.Manual})...
a5de0 54 6f 0a 65 6e 61 62 6c 65 20 74 68 65 20 73 61 6d 65 20 66 6f 72 20 44 61 73 68 20 73 79 6d 62 To.enable.the.same.for.Dash.symb
a5e00 6f 6c 73 2c 20 75 73 65 20 74 68 65 20 63 6f 6d 6d 61 6e 64 0a 40 63 6f 64 65 7b 64 61 73 68 2d ols,.use.the.command.@code{dash-
a5e20 72 65 67 69 73 74 65 72 2d 69 6e 66 6f 2d 6c 6f 6f 6b 75 70 7d 2e 20 20 49 74 20 63 61 6e 20 62 register-info-lookup}...It.can.b
a5e40 65 20 63 61 6c 6c 65 64 20 64 69 72 65 63 74 6c 79 20 77 68 65 6e 0a 6e 65 65 64 65 64 2c 20 6f e.called.directly.when.needed,.o
a5e60 72 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 66 72 6f 6d 20 79 6f 75 72 20 40 63 6f 64 65 7b r.automatically.from.your.@code{
a5e80 75 73 65 72 2d 69 6e 69 74 2d 66 69 6c 65 7d 2e 20 20 46 6f 72 0a 65 78 61 6d 70 6c 65 3a 0a 0a user-init-file}...For.example:..
a5ea0 40 6c 69 73 70 0a 28 77 69 74 68 2d 65 76 61 6c 2d 61 66 74 65 72 2d 6c 6f 61 64 20 27 69 6e 66 @lisp.(with-eval-after-load.'inf
a5ec0 6f 2d 6c 6f 6f 6b 0a 20 20 28 64 61 73 68 2d 72 65 67 69 73 74 65 72 2d 69 6e 66 6f 2d 6c 6f 6f o-look...(dash-register-info-loo
a5ee0 6b 75 70 29 29 0a 40 65 6e 64 20 6c 69 73 70 0a 0a 40 6e 6f 64 65 20 46 75 6e 63 74 69 6f 6e 73 kup)).@end.lisp..@node.Functions
a5f00 0a 40 63 68 61 70 74 65 72 20 46 75 6e 63 74 69 6f 6e 73 0a 0a 54 68 69 73 20 63 68 61 70 74 65 .@chapter.Functions..This.chapte
a5f20 72 20 63 6f 6e 74 61 69 6e 73 20 72 65 66 65 72 65 6e 63 65 20 64 6f 63 75 6d 65 6e 74 61 74 69 r.contains.reference.documentati
a5f40 6f 6e 20 66 6f 72 20 74 68 65 20 44 61 73 68 0a 40 61 63 72 6f 6e 79 6d 7b 41 50 49 2c 20 41 70 on.for.the.Dash.@acronym{API,.Ap
a5f60 70 6c 69 63 61 74 69 6f 6e 20 50 72 6f 67 72 61 6d 6d 69 6e 67 20 49 6e 74 65 72 66 61 63 65 7d plication.Programming.Interface}
a5f80 2e 20 20 54 68 65 20 6e 61 6d 65 73 20 6f 66 20 61 6c 6c 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 ...The.names.of.all.public.funct
a5fa0 69 6f 6e 73 20 64 65 66 69 6e 65 64 20 69 6e 20 74 68 65 20 6c 69 62 72 61 72 79 20 61 72 65 20 ions.defined.in.the.library.are.
a5fc0 70 72 65 66 69 78 65 64 20 77 69 74 68 20 61 20 64 61 73 68 0a 63 68 61 72 61 63 74 65 72 20 28 prefixed.with.a.dash.character.(
a5fe0 40 73 61 6d 70 7b 2d 7d 29 2e 0a 0a 54 68 65 20 6c 69 62 72 61 72 79 20 61 6c 73 6f 20 70 72 6f @samp{-})...The.library.also.pro
a6000 76 69 64 65 73 20 61 6e 61 70 68 6f 72 69 63 20 6d 61 63 72 6f 20 76 65 72 73 69 6f 6e 73 20 6f vides.anaphoric.macro.versions.o
a6020 66 20 66 75 6e 63 74 69 6f 6e 73 20 77 68 65 72 65 0a 74 68 61 74 20 6d 61 6b 65 73 20 73 65 6e f.functions.where.that.makes.sen
a6040 73 65 2e 20 20 54 68 65 20 6e 61 6d 65 73 20 6f 66 20 74 68 65 73 65 20 6d 61 63 72 6f 73 20 61 se...The.names.of.these.macros.a
a6060 72 65 20 70 72 65 66 69 78 65 64 20 77 69 74 68 20 74 77 6f 0a 64 61 73 68 65 73 20 28 40 73 61 re.prefixed.with.two.dashes.(@sa
a6080 6d 70 7b 2d 2d 7d 29 20 69 6e 73 74 65 61 64 20 6f 66 20 6f 6e 65 2e 0a 0a 46 6f 72 20 69 6e 73 mp{--}).instead.of.one...For.ins
a60a0 74 61 6e 63 65 2c 20 77 68 69 6c 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 40 63 6f 64 65 7b tance,.while.the.function.@code{
a60c0 2d 6d 61 70 7d 20 61 70 70 6c 69 65 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 6f 0a 65 61 63 68 -map}.applies.a.function.to.each
a60e0 20 65 6c 65 6d 65 6e 74 20 6f 66 20 61 20 6c 69 73 74 2c 20 69 74 73 20 61 6e 61 70 68 6f 72 69 .element.of.a.list,.its.anaphori
a6100 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 40 63 6f 64 65 7b 2d 2d 6d 61 70 7d 0a 65 76 61 6c 75 c.counterpart.@code{--map}.evalu
a6120 61 74 65 73 20 61 20 66 6f 72 6d 20 77 69 74 68 20 74 68 65 20 6c 6f 63 61 6c 20 76 61 72 69 61 ates.a.form.with.the.local.varia
a6140 62 6c 65 20 40 63 6f 64 65 7b 69 74 7d 20 74 65 6d 70 6f 72 61 72 69 6c 79 20 62 6f 75 6e 64 0a ble.@code{it}.temporarily.bound.
a6160 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 6c 69 73 74 20 65 6c 65 6d 65 6e 74 20 69 6e 73 74 to.the.current.list.element.inst
a6180 65 61 64 2e 0a 0a 40 6c 69 73 70 0a 40 67 72 6f 75 70 0a 3b 3b 20 4e 6f 72 6d 61 6c 20 76 65 72 ead...@lisp.@group.;;.Normal.ver
a61a0 73 69 6f 6e 2e 0a 28 2d 6d 61 70 20 28 6c 61 6d 62 64 61 20 28 6e 29 20 28 2a 20 6e 20 6e 29 29 sion..(-map.(lambda.(n).(*.n.n))
a61c0 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 34 20 .'(1.2.3.4)).....@result{}.(1.4.
a61e0 39 20 31 36 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 0a 40 67 72 6f 75 70 0a 3b 3b 20 41 6e 61 70 9.16).@end.group..@group.;;.Anap
a6200 68 6f 72 69 63 20 76 65 72 73 69 6f 6e 2e 0a 28 2d 2d 6d 61 70 20 28 2a 20 69 74 20 69 74 29 20 horic.version..(--map.(*.it.it).
a6220 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 34 20 39 '(1.2.3.4)).....@result{}.(1.4.9
a6240 20 31 36 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 6c 69 73 70 0a 0a 54 68 65 20 6e .16).@end.group.@end.lisp..The.n
a6260 6f 72 6d 61 6c 20 76 65 72 73 69 6f 6e 20 63 61 6e 2c 20 6f 66 20 63 6f 75 72 73 65 2c 20 61 6c ormal.version.can,.of.course,.al
a6280 73 6f 20 62 65 20 77 72 69 74 74 65 6e 20 61 73 20 69 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e so.be.written.as.in.the.followin
a62a0 67 0a 65 78 61 6d 70 6c 65 2c 20 77 68 69 63 68 20 64 65 6d 6f 6e 73 74 72 61 74 65 73 20 74 68 g.example,.which.demonstrates.th
a62c0 65 20 75 74 69 6c 69 74 79 20 6f 66 20 62 6f 74 68 20 76 65 72 73 69 6f 6e 73 2e 0a 0a 40 6c 69 e.utility.of.both.versions...@li
a62e0 73 70 0a 40 67 72 6f 75 70 0a 28 64 65 66 75 6e 20 6d 79 2d 73 71 75 61 72 65 20 28 6e 29 0a 20 sp.@group.(defun.my-square.(n)..
a6300 20 22 52 65 74 75 72 6e 20 4e 20 6d 75 6c 74 69 70 6c 69 65 64 20 62 79 20 69 74 73 65 6c 66 2e ."Return.N.multiplied.by.itself.
a6320 22 0a 20 20 28 2a 20 6e 20 6e 29 29 0a 0a 28 2d 6d 61 70 20 23 27 6d 79 2d 73 71 75 61 72 65 20 "...(*.n.n))..(-map.#'my-square.
a6340 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 34 20 39 '(1.2.3.4)).....@result{}.(1.4.9
a6360 20 31 36 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 6c 69 73 70 0a 0a 40 6d 65 6e 75 .16).@end.group.@end.lisp..@menu
a6380 0a 40 63 20 5b 5b 20 66 75 6e 63 74 69 6f 6e 2d 6c 69 73 74 20 5d 5d 0a 40 65 6e 64 20 6d 65 6e .@c.[[.function-list.]].@end.men
a63a0 75 0a 0a 40 63 20 5b 5b 20 66 75 6e 63 74 69 6f 6e 2d 64 6f 63 73 20 5d 5d 0a 40 6e 6f 64 65 20 u..@c.[[.function-docs.]].@node.
a63c0 44 65 76 65 6c 6f 70 6d 65 6e 74 0a 40 63 68 61 70 74 65 72 20 44 65 76 65 6c 6f 70 6d 65 6e 74 Development.@chapter.Development
a63e0 0a 0a 54 68 65 20 44 61 73 68 20 72 65 70 6f 73 69 74 6f 72 79 20 69 73 20 68 6f 73 74 65 64 20 ..The.Dash.repository.is.hosted.
a6400 6f 6e 20 47 69 74 48 75 62 20 61 74 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 on.GitHub.at.@url{https://github
a6420 2e 63 6f 6d 2f 6d 61 67 6e 61 72 73 2f 64 61 73 68 2e 65 6c 7d 2e 0a 0a 40 6d 65 6e 75 0a 2a 20 .com/magnars/dash.el}...@menu.*.
a6440 43 6f 6e 74 72 69 62 75 74 65 3a 3a 20 20 20 20 20 20 20 20 20 20 48 6f 77 20 74 6f 20 63 6f 6e Contribute::..........How.to.con
a6460 74 72 69 62 75 74 65 2e 0a 2a 20 43 6f 6e 74 72 69 62 75 74 6f 72 73 3a 3a 20 20 20 20 20 20 20 tribute..*.Contributors::.......
a6480 20 4c 69 73 74 20 6f 66 20 63 6f 6e 74 72 69 62 75 74 6f 72 73 2e 0a 40 65 6e 64 20 6d 65 6e 75 .List.of.contributors..@end.menu
a64a0 0a 0a 40 6e 6f 64 65 20 43 6f 6e 74 72 69 62 75 74 65 0a 40 73 65 63 74 69 6f 6e 20 43 6f 6e 74 ..@node.Contribute.@section.Cont
a64c0 72 69 62 75 74 65 0a 0a 59 65 73 2c 20 70 6c 65 61 73 65 20 64 6f 2e 20 20 50 75 72 65 20 66 75 ribute..Yes,.please.do...Pure.fu
a64e0 6e 63 74 69 6f 6e 73 20 69 6e 20 74 68 65 20 6c 69 73 74 20 6d 61 6e 69 70 75 6c 61 74 69 6f 6e nctions.in.the.list.manipulation
a6500 20 72 65 61 6c 6d 20 6f 6e 6c 79 2c 0a 70 6c 65 61 73 65 2e 20 20 54 68 65 72 65 27 73 20 61 20 .realm.only,.please...There's.a.
a6520 73 75 69 74 65 20 6f 66 20 65 78 61 6d 70 6c 65 73 2f 74 65 73 74 73 20 69 6e 20 40 66 69 6c 65 suite.of.examples/tests.in.@file
a6540 7b 64 65 76 2f 65 78 61 6d 70 6c 65 73 2e 65 6c 7d 2c 0a 73 6f 20 72 65 6d 65 6d 62 65 72 20 74 {dev/examples.el},.so.remember.t
a6560 6f 20 61 64 64 20 74 65 73 74 73 20 66 6f 72 20 79 6f 75 72 20 61 64 64 69 74 69 6f 6e 73 2c 20 o.add.tests.for.your.additions,.
a6580 6f 72 20 74 68 65 79 20 6d 61 79 20 67 65 74 20 62 72 6f 6b 65 6e 0a 6c 61 74 65 72 2e 0a 0a 52 or.they.may.get.broken.later...R
a65a0 75 6e 20 74 68 65 20 74 65 73 74 73 20 77 69 74 68 20 40 73 61 6d 70 7b 6d 61 6b 65 20 63 68 65 un.the.tests.with.@samp{make.che
a65c0 63 6b 7d 2e 20 20 52 65 67 65 6e 65 72 61 74 65 20 74 68 65 20 64 6f 63 73 20 77 69 74 68 0a 40 ck}...Regenerate.the.docs.with.@
a65e0 73 61 6d 70 7b 6d 61 6b 65 20 64 6f 63 73 7d 2e 20 20 43 6f 6e 74 72 69 62 75 74 6f 72 73 20 61 samp{make.docs}...Contributors.a
a6600 72 65 20 65 6e 63 6f 75 72 61 67 65 64 20 74 6f 20 69 6e 73 74 61 6c 6c 20 74 68 65 73 65 0a 63 re.encouraged.to.install.these.c
a6620 6f 6d 6d 61 6e 64 73 20 61 73 20 61 20 47 69 74 20 70 72 65 2d 63 6f 6d 6d 69 74 20 68 6f 6f 6b ommands.as.a.Git.pre-commit.hook
a6640 2c 20 73 6f 20 74 68 61 74 20 74 68 65 20 74 65 73 74 73 20 61 72 65 20 61 6c 77 61 79 73 0a 72 ,.so.that.the.tests.are.always.r
a6660 75 6e 6e 69 6e 67 20 61 6e 64 20 74 68 65 20 64 6f 63 73 20 61 72 65 20 61 6c 77 61 79 73 20 69 unning.and.the.docs.are.always.i
a6680 6e 20 73 79 6e 63 3a 0a 0a 40 65 78 61 6d 70 6c 65 0a 24 20 63 70 20 64 65 76 2f 70 72 65 2d 63 n.sync:..@example.$.cp.dev/pre-c
a66a0 6f 6d 6d 69 74 2e 73 68 20 2e 67 69 74 2f 68 6f 6f 6b 73 2f 70 72 65 2d 63 6f 6d 6d 69 74 0a 40 ommit.sh..git/hooks/pre-commit.@
a66c0 65 6e 64 20 65 78 61 6d 70 6c 65 0a 0a 4f 68 2c 20 61 6e 64 20 64 6f 6e 27 74 20 65 64 69 74 20 end.example..Oh,.and.don't.edit.
a66e0 40 66 69 6c 65 7b 52 45 41 44 4d 45 2e 6d 64 7d 20 6f 72 20 40 66 69 6c 65 7b 64 61 73 68 2e 74 @file{README.md}.or.@file{dash.t
a6700 65 78 69 7d 20 64 69 72 65 63 74 6c 79 2c 20 61 73 0a 74 68 65 79 20 61 72 65 20 61 75 74 6f 2d exi}.directly,.as.they.are.auto-
a6720 67 65 6e 65 72 61 74 65 64 2e 20 20 49 6e 73 74 65 61 64 2c 20 63 68 61 6e 67 65 20 74 68 65 69 generated...Instead,.change.thei
a6740 72 20 72 65 73 70 65 63 74 69 76 65 20 74 65 6d 70 6c 61 74 65 73 0a 40 66 69 6c 65 7b 72 65 61 r.respective.templates.@file{rea
a6760 64 6d 65 2d 74 65 6d 70 6c 61 74 65 2e 6d 64 7d 20 6f 72 20 40 66 69 6c 65 7b 64 61 73 68 2d 74 dme-template.md}.or.@file{dash-t
a6780 65 6d 70 6c 61 74 65 2e 74 65 78 69 7d 2e 0a 0a 54 6f 20 65 6e 73 75 72 65 20 74 68 61 74 20 44 emplate.texi}...To.ensure.that.D
a67a0 61 73 68 20 63 61 6e 20 62 65 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 74 68 20 47 4e 55 20 ash.can.be.distributed.with.GNU.
a67c0 45 4c 50 41 20 6f 72 20 45 6d 61 63 73 2c 20 77 65 0a 72 65 71 75 69 72 65 20 74 68 61 74 20 61 ELPA.or.Emacs,.we.require.that.a
a67e0 6c 6c 20 63 6f 6e 74 72 69 62 75 74 6f 72 73 20 61 73 73 69 67 6e 20 63 6f 70 79 72 69 67 68 74 ll.contributors.assign.copyright
a6800 20 74 6f 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 0a 46 6f 75 6e 64 61 74 69 6f 6e .to.the.Free.Software.Foundation
a6820 2e 20 20 46 6f 72 20 6d 6f 72 65 20 6f 6e 20 74 68 69 73 2c 20 40 70 78 72 65 66 7b 43 6f 70 79 ...For.more.on.this,.@pxref{Copy
a6840 72 69 67 68 74 20 41 73 73 69 67 6e 6d 65 6e 74 2c 2c 2c 20 65 6d 61 63 73 2c 0a 54 68 65 20 47 right.Assignment,,,.emacs,.The.G
a6860 4e 55 20 45 6d 61 63 73 20 4d 61 6e 75 61 6c 7d 2e 0a 0a 40 6e 6f 64 65 20 43 6f 6e 74 72 69 62 NU.Emacs.Manual}...@node.Contrib
a6880 75 74 6f 72 73 0a 40 73 65 63 74 69 6f 6e 20 43 6f 6e 74 72 69 62 75 74 6f 72 73 0a 0a 40 69 74 utors.@section.Contributors..@it
a68a0 65 6d 69 7a 65 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e emize.@item.@url{https://github.
a68c0 63 6f 6d 2f 46 75 63 6f 31 2c 20 4d 61 74 75 73 20 47 6f 6c 6a 65 72 7d 20 63 6f 6e 74 72 69 62 com/Fuco1,.Matus.Goljer}.contrib
a68e0 75 74 65 64 20 6c 6f 74 73 20 6f 66 0a 66 65 61 74 75 72 65 73 20 61 6e 64 20 66 75 6e 63 74 69 uted.lots.of.features.and.functi
a6900 6f 6e 73 2e 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 ons..@item.@url{https://github.c
a6920 6f 6d 2f 74 6b 66 2c 20 54 61 6b 61 66 75 6d 69 20 41 72 61 6b 61 6b 69 7d 20 63 6f 6e 74 72 69 om/tkf,.Takafumi.Arakaki}.contri
a6940 62 75 74 65 64 0a 40 63 6f 64 65 7b 2d 67 72 6f 75 70 2d 62 79 7d 2e 0a 40 69 74 65 6d 0a 40 75 buted.@code{-group-by}..@item.@u
a6960 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 74 61 6c 69 37 31 33 2c 20 74 rl{https://github.com/tali713,.t
a6980 61 6c 69 37 31 33 7d 20 69 73 20 74 68 65 20 61 75 74 68 6f 72 20 6f 66 0a 40 63 6f 64 65 7b 2d ali713}.is.the.author.of.@code{-
a69a0 61 70 70 6c 69 66 79 7d 2e 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 applify}..@item.@url{https://git
a69c0 68 75 62 2e 63 6f 6d 2f 76 65 6d 76 2c 20 56 40 27 7b 69 7d 63 74 6f 72 20 4d 2e 20 56 61 6c 65 hub.com/vemv,.V@'{i}ctor.M..Vale
a69e0 6e 7a 75 65 6c 61 7d 20 63 6f 6e 74 72 69 62 75 74 65 64 0a 40 63 6f 64 65 7b 2d 72 65 70 65 61 nzuela}.contributed.@code{-repea
a6a00 74 7d 2e 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f t}..@item.@url{https://github.co
a6a20 6d 2f 6e 69 63 66 65 72 72 69 65 72 2c 20 4e 69 63 20 46 65 72 72 69 65 72 7d 20 63 6f 6e 74 72 m/nicferrier,.Nic.Ferrier}.contr
a6a40 69 62 75 74 65 64 0a 40 63 6f 64 65 7b 2d 63 6f 6e 73 2a 7d 2e 0a 40 69 74 65 6d 0a 40 75 72 6c ibuted.@code{-cons*}..@item.@url
a6a60 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 57 69 6c 66 72 65 64 2c 20 57 69 6c {https://github.com/Wilfred,.Wil
a6a80 66 72 65 64 20 48 75 67 68 65 73 7d 20 63 6f 6e 74 72 69 62 75 74 65 64 0a 40 63 6f 64 65 7b 2d fred.Hughes}.contributed.@code{-
a6aa0 73 6c 69 63 65 7d 2c 20 40 63 6f 64 65 7b 2d 66 69 72 73 74 2d 69 74 65 6d 7d 2c 20 61 6e 64 20 slice},.@code{-first-item},.and.
a6ac0 40 63 6f 64 65 7b 2d 6c 61 73 74 2d 69 74 65 6d 7d 2e 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 @code{-last-item}..@item.@url{ht
a6ae0 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 73 68 6f 73 74 69 2c 20 45 6d 61 6e 75 65 6c tps://github.com/shosti,.Emanuel
a6b00 20 45 76 61 6e 73 7d 20 63 6f 6e 74 72 69 62 75 74 65 64 0a 40 63 6f 64 65 7b 2d 69 66 2d 6c 65 .Evans}.contributed.@code{-if-le
a6b20 74 7d 2c 20 40 63 6f 64 65 7b 2d 77 68 65 6e 2d 6c 65 74 7d 2c 20 61 6e 64 20 40 63 6f 64 65 7b t},.@code{-when-let},.and.@code{
a6b40 2d 69 6e 73 65 72 74 2d 61 74 7d 2e 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f -insert-at}..@item.@url{https://
a6b60 67 69 74 68 75 62 2e 63 6f 6d 2f 72 65 6a 65 65 70 2c 20 4a 6f 68 61 6e 20 41 6e 64 65 72 73 73 github.com/rejeep,.Johan.Anderss
a6b80 6f 6e 7d 20 63 6f 6e 74 72 69 62 75 74 65 64 0a 40 63 6f 64 65 7b 2d 73 75 6d 7d 2c 20 40 63 6f on}.contributed.@code{-sum},.@co
a6ba0 64 65 7b 2d 70 72 6f 64 75 63 74 7d 2c 20 61 6e 64 20 40 63 6f 64 65 7b 2d 73 61 6d 65 2d 69 74 de{-product},.and.@code{-same-it
a6bc0 65 6d 73 3f 7d 2e 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 ems?}..@item.@url{https://github
a6be0 2e 63 6f 6d 2f 6b 75 72 69 73 75 77 68 79 74 65 2c 20 43 68 72 69 73 74 69 6e 61 20 57 68 79 74 .com/kurisuwhyte,.Christina.Whyt
a6c00 65 7d 20 63 6f 6e 74 72 69 62 75 74 65 64 0a 40 63 6f 64 65 7b 2d 63 6f 6d 70 6f 73 65 7d 2e 0a e}.contributed.@code{-compose}..
a6c20 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 73 74 @item.@url{https://github.com/st
a6c40 65 76 65 6e 74 6c 61 6d 62 2c 20 53 74 65 76 65 20 4c 61 6d 62 7d 20 63 6f 6e 74 72 69 62 75 74 eventlamb,.Steve.Lamb}.contribut
a6c60 65 64 0a 40 63 6f 64 65 7b 2d 63 79 63 6c 65 7d 2c 20 40 63 6f 64 65 7b 2d 70 61 64 7d 2c 20 40 ed.@code{-cycle},.@code{-pad},.@
a6c80 63 6f 64 65 7b 2d 61 6e 6e 6f 74 61 74 65 7d 2c 20 40 63 6f 64 65 7b 2d 7a 69 70 2d 66 69 6c 6c code{-annotate},.@code{-zip-fill
a6ca0 7d 2c 20 61 6e 64 20 61 0a 76 61 72 69 61 64 69 63 20 76 65 72 73 69 6f 6e 20 6f 66 20 40 63 6f },.and.a.variadic.version.of.@co
a6cc0 64 65 7b 2d 7a 69 70 7d 2e 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 de{-zip}..@item.@url{https://git
a6ce0 68 75 62 2e 63 6f 6d 2f 66 62 65 72 67 72 6f 74 68 2c 20 46 72 65 64 72 69 6b 20 42 65 72 67 72 hub.com/fbergroth,.Fredrik.Bergr
a6d00 6f 74 68 7d 20 6d 61 64 65 20 74 68 65 0a 40 63 6f 64 65 7b 2d 69 66 2d 6c 65 74 7d 20 66 61 6d oth}.made.the.@code{-if-let}.fam
a6d20 69 6c 79 20 75 73 65 20 40 63 6f 64 65 7b 2d 6c 65 74 7d 20 64 65 73 74 72 75 63 74 75 72 69 6e ily.use.@code{-let}.destructurin
a6d40 67 20 61 6e 64 20 69 6d 70 72 6f 76 65 64 20 74 68 65 0a 73 63 72 69 70 74 20 66 6f 72 20 67 65 g.and.improved.the.script.for.ge
a6d60 6e 65 72 61 74 69 6e 67 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2e 0a 40 69 74 65 6d 0a 40 75 nerating.documentation..@item.@u
a6d80 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 68 6f 6c 6f 6d 6f 72 70 68 2c rl{https://github.com/holomorph,
a6da0 20 4d 61 72 6b 20 4f 74 65 69 7a 61 7d 20 63 6f 6e 74 72 69 62 75 74 65 64 0a 40 63 6f 64 65 7b .Mark.Oteiza}.contributed.@code{
a6dc0 2d 69 6f 74 61 7d 20 61 6e 64 20 74 68 65 20 73 63 72 69 70 74 20 74 6f 20 63 72 65 61 74 65 20 -iota}.and.the.script.to.create.
a6de0 61 6e 20 49 6e 66 6f 20 6d 61 6e 75 61 6c 2e 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 an.Info.manual..@item.@url{https
a6e00 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 77 61 73 61 6d 61 73 61 2c 20 56 61 73 69 6c 69 6a 20 ://github.com/wasamasa,.Vasilij.
a6e20 53 63 68 6e 65 69 64 65 72 6d 61 6e 6e 7d 20 63 6f 6e 74 72 69 62 75 74 65 64 0a 40 63 6f 64 65 Schneidermann}.contributed.@code
a6e40 7b 2d 73 6f 6d 65 7d 2e 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 {-some}..@item.@url{https://gith
a6e60 75 62 2e 63 6f 6d 2f 6f 63 63 69 64 65 6e 73 2c 20 57 69 6c 6c 69 61 6d 20 57 65 73 74 7d 20 6d ub.com/occidens,.William.West}.m
a6e80 61 64 65 20 40 63 6f 64 65 7b 2d 66 69 78 66 6e 7d 0a 6d 6f 72 65 20 72 6f 62 75 73 74 20 61 74 ade.@code{-fixfn}.more.robust.at
a6ea0 20 68 61 6e 64 6c 69 6e 67 20 66 6c 6f 61 74 73 2e 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 74 .handling.floats..@item.@url{htt
a6ec0 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 63 61 6d 73 61 75 6c 2c 20 43 61 6d 20 53 61 75 ps://github.com/camsaul,.Cam.Sau
a6ee0 6c 7d 20 63 6f 6e 74 72 69 62 75 74 65 64 20 40 63 6f 64 65 7b 2d 73 6f 6d 65 2d 3e 7d 2c 0a 40 l}.contributed.@code{-some->},.@
a6f00 63 6f 64 65 7b 2d 73 6f 6d 65 2d 3e 3e 7d 2c 20 61 6e 64 20 40 63 6f 64 65 7b 2d 73 6f 6d 65 2d code{-some->>},.and.@code{-some-
a6f20 2d 3e 7d 2e 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 ->}..@item.@url{https://github.c
a6f40 6f 6d 2f 62 61 73 69 6c 2d 63 6f 6e 74 6f 2c 20 42 61 73 69 6c 20 4c 2e 20 43 6f 6e 74 6f 76 6f om/basil-conto,.Basil.L..Contovo
a6f60 75 6e 65 73 69 6f 73 7d 0a 63 6f 6e 74 72 69 62 75 74 65 64 20 40 63 6f 64 65 7b 2d 63 6f 6d 6d unesios}.contributed.@code{-comm
a6f80 6f 6e 2d 70 72 65 66 69 78 7d 2c 20 40 63 6f 64 65 7b 2d 63 6f 6d 6d 6f 6e 2d 73 75 66 66 69 78 on-prefix},.@code{-common-suffix
a6fa0 7d 2c 20 61 6e 64 20 76 61 72 69 6f 75 73 0a 6f 74 68 65 72 20 69 6d 70 72 6f 76 65 6d 65 6e 74 },.and.various.other.improvement
a6fc0 73 2e 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d s..@item.@url{https://github.com
a6fe0 2f 64 6f 75 62 6c 65 70 2c 20 50 61 75 6c 20 50 6f 67 6f 6e 79 73 68 65 76 7d 20 63 6f 6e 74 72 /doublep,.Paul.Pogonyshev}.contr
a7000 69 62 75 74 65 64 0a 40 63 6f 64 65 7b 2d 65 61 63 68 2d 72 7d 20 61 6e 64 20 40 63 6f 64 65 7b ibuted.@code{-each-r}.and.@code{
a7020 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 7d 2e 0a 40 65 6e 64 20 69 74 65 6d 69 7a 65 0a 0a 54 68 -each-r-while}..@end.itemize..Th
a7040 61 6e 6b 73 21 0a 0a 4e 65 77 20 63 6f 6e 74 72 69 62 75 74 6f 72 73 20 61 72 65 20 76 65 72 79 anks!..New.contributors.are.very
a7060 20 77 65 6c 63 6f 6d 65 2e 20 20 40 78 72 65 66 7b 43 6f 6e 74 72 69 62 75 74 65 7d 2e 0a 0a 40 .welcome...@xref{Contribute}...@
a7080 63 20 41 70 70 65 6e 64 69 63 65 73 2e 0a 0a 40 6e 6f 64 65 20 46 44 4c 0a 40 61 70 70 65 6e 64 c.Appendices...@node.FDL.@append
a70a0 69 78 20 47 4e 55 20 46 72 65 65 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 4c 69 63 65 6e 73 ix.GNU.Free.Documentation.Licens
a70c0 65 0a 40 69 6e 63 6c 75 64 65 20 64 6f 63 2f 66 64 6c 2e 74 65 78 69 0a 0a 40 6e 6f 64 65 20 47 e.@include.doc/fdl.texi..@node.G
a70e0 50 4c 0a 40 61 70 70 65 6e 64 69 78 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 PL.@appendix.GNU.General.Public.
a7100 4c 69 63 65 6e 73 65 0a 40 69 6e 63 6c 75 64 65 20 64 6f 63 2f 67 70 6c 2e 74 65 78 69 0a 0a 40 License.@include.doc/gpl.texi..@
a7120 6e 6f 64 65 20 49 6e 64 65 78 0a 40 75 6e 6e 75 6d 62 65 72 65 64 20 49 6e 64 65 78 0a 40 70 72 node.Index.@unnumbered.Index.@pr
a7140 69 6e 74 69 6e 64 65 78 20 66 6e 0a 0a 40 62 79 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 intindex.fn..@bye...............
a7160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a7180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a71a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a71c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a71e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a7200 64 61 73 68 2d 32 2e 31 39 2e 31 2f 72 65 61 64 6d 65 2d 74 65 6d 70 6c 61 74 65 2e 6d 64 00 00 dash-2.19.1/readme-template.md..
a7220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a7240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a7260 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
a7280 30 30 31 37 30 36 36 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 35 36 34 00 20 30 00 00 00 0017066.00000000000.014564..0...
a72a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a72c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a72e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a7300 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...................
a7320 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...................
a7340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a7360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a7380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a73a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a73c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a73e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a7400 5b 21 5b 43 49 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6d 61 67 6e 61 72 [![CI](https://github.com/magnar
a7420 73 2f 64 61 73 68 2e 65 6c 2f 61 63 74 69 6f 6e 73 2f 77 6f 72 6b 66 6c 6f 77 73 2f 74 65 73 74 s/dash.el/actions/workflows/test
a7440 2e 79 6d 6c 2f 62 61 64 67 65 2e 73 76 67 29 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e .yml/badge.svg)](https://github.
a7460 63 6f 6d 2f 6d 61 67 6e 61 72 73 2f 64 61 73 68 2e 65 6c 2f 61 63 74 69 6f 6e 73 2f 77 6f 72 6b com/magnars/dash.el/actions/work
a7480 66 6c 6f 77 73 2f 74 65 73 74 2e 79 6d 6c 29 0a 5b 21 5b 47 4e 55 20 45 4c 50 41 5d 28 68 74 74 flows/test.yml).[![GNU.ELPA](htt
a74a0 70 73 3a 2f 2f 65 6c 70 61 2e 67 6e 75 2e 6f 72 67 2f 70 61 63 6b 61 67 65 73 2f 64 61 73 68 2e ps://elpa.gnu.org/packages/dash.
a74c0 73 76 67 29 5d 28 68 74 74 70 73 3a 2f 2f 65 6c 70 61 2e 67 6e 75 2e 6f 72 67 2f 70 61 63 6b 61 svg)](https://elpa.gnu.org/packa
a74e0 67 65 73 2f 64 61 73 68 2e 68 74 6d 6c 29 0a 5b 21 5b 47 4e 55 2d 64 65 76 65 6c 20 45 4c 50 41 ges/dash.html).[![GNU-devel.ELPA
a7500 5d 28 68 74 74 70 73 3a 2f 2f 65 6c 70 61 2e 67 6e 75 2e 6f 72 67 2f 64 65 76 65 6c 2f 64 61 73 ](https://elpa.gnu.org/devel/das
a7520 68 2e 73 76 67 29 5d 28 68 74 74 70 73 3a 2f 2f 65 6c 70 61 2e 67 6e 75 2e 6f 72 67 2f 64 65 76 h.svg)](https://elpa.gnu.org/dev
a7540 65 6c 2f 64 61 73 68 2e 68 74 6d 6c 29 0a 5b 21 5b 4d 45 4c 50 41 20 53 74 61 62 6c 65 5d 28 68 el/dash.html).[![MELPA.Stable](h
a7560 74 74 70 73 3a 2f 2f 73 74 61 62 6c 65 2e 6d 65 6c 70 61 2e 6f 72 67 2f 70 61 63 6b 61 67 65 73 ttps://stable.melpa.org/packages
a7580 2f 64 61 73 68 2d 62 61 64 67 65 2e 73 76 67 29 5d 28 68 74 74 70 73 3a 2f 2f 73 74 61 62 6c 65 /dash-badge.svg)](https://stable
a75a0 2e 6d 65 6c 70 61 2e 6f 72 67 2f 23 2f 64 61 73 68 29 0a 5b 21 5b 4d 45 4c 50 41 5d 28 68 74 74 .melpa.org/#/dash).[![MELPA](htt
a75c0 70 73 3a 2f 2f 6d 65 6c 70 61 2e 6f 72 67 2f 70 61 63 6b 61 67 65 73 2f 64 61 73 68 2d 62 61 64 ps://melpa.org/packages/dash-bad
a75e0 67 65 2e 73 76 67 29 5d 28 68 74 74 70 73 3a 2f 2f 6d 65 6c 70 61 2e 6f 72 67 2f 23 2f 64 61 73 ge.svg)](https://melpa.org/#/das
a7600 68 29 0a 0a 23 20 3c 69 6d 67 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 20 73 72 63 3d 22 72 61 h)..#.<img.align="right".src="ra
a7620 69 6e 62 6f 77 2d 64 61 73 68 2e 70 6e 67 22 3e 20 64 61 73 68 2e 65 6c 0a 0a 41 20 6d 6f 64 65 inbow-dash.png">.dash.el..A.mode
a7640 72 6e 20 6c 69 73 74 20 41 50 49 20 66 6f 72 20 45 6d 61 63 73 2e 20 20 4e 6f 0a 5b 60 27 63 6c rn.list.API.for.Emacs...No.[`'cl
a7660 60 5d 28 68 74 74 70 73 3a 2f 2f 67 6e 75 2e 6f 72 67 2f 73 6f 66 74 77 61 72 65 2f 65 6d 61 63 `](https://gnu.org/software/emac
a7680 73 2f 6d 61 6e 75 61 6c 2f 68 74 6d 6c 5f 6e 6f 64 65 2f 63 6c 2f 29 20 72 65 71 75 69 72 65 64 s/manual/html_node/cl/).required
a76a0 2e 0a 0a 53 65 65 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 66 69 6c 65 20 66 6f 72 20 6c ...See.the.end.of.the.file.for.l
a76c0 69 63 65 6e 73 65 20 63 6f 6e 64 69 74 69 6f 6e 73 2e 0a 0a 23 23 20 43 6f 6e 74 65 6e 74 73 0a icense.conditions...##.Contents.
a76e0 0a 2a 20 5b 43 68 61 6e 67 65 20 6c 6f 67 5d 28 23 63 68 61 6e 67 65 2d 6c 6f 67 29 0a 20 20 2a .*.[Change.log](#change-log)...*
a7700 20 5b 55 70 63 6f 6d 69 6e 67 20 62 72 65 61 6b 69 6e 67 20 63 68 61 6e 67 65 21 5d 28 23 75 70 .[Upcoming.breaking.change!](#up
a7720 63 6f 6d 69 6e 67 2d 62 72 65 61 6b 69 6e 67 2d 63 68 61 6e 67 65 29 0a 2a 20 5b 49 6e 73 74 61 coming-breaking-change).*.[Insta
a7740 6c 6c 61 74 69 6f 6e 5d 28 23 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 29 0a 2a 20 5b 46 75 6e 63 74 llation](#installation).*.[Funct
a7760 69 6f 6e 73 5d 28 23 66 75 6e 63 74 69 6f 6e 73 29 0a 2a 20 5b 43 6f 6e 74 72 69 62 75 74 65 5d ions](#functions).*.[Contribute]
a7780 28 23 63 6f 6e 74 72 69 62 75 74 65 29 0a 2a 20 5b 43 6f 6e 74 72 69 62 75 74 6f 72 73 5d 28 23 (#contribute).*.[Contributors](#
a77a0 63 6f 6e 74 72 69 62 75 74 6f 72 73 29 0a 2a 20 5b 4c 69 63 65 6e 73 65 5d 28 23 6c 69 63 65 6e contributors).*.[License](#licen
a77c0 73 65 29 0a 0a 23 23 20 43 68 61 6e 67 65 20 6c 6f 67 0a 0a 53 65 65 20 74 68 65 20 5b 60 4e 45 se)..##.Change.log..See.the.[`NE
a77e0 57 53 2e 6d 64 60 5d 28 4e 45 57 53 2e 6d 64 29 20 66 69 6c 65 2e 0a 0a 23 23 23 20 55 70 63 6f WS.md`](NEWS.md).file...###.Upco
a7800 6d 69 6e 67 20 62 72 65 61 6b 69 6e 67 20 63 68 61 6e 67 65 21 0a 0a 2d 20 46 6f 72 20 62 61 63 ming.breaking.change!..-.For.bac
a7820 6b 77 61 72 64 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 72 65 61 73 6f 6e 73 2c 20 60 2d 7a kward.compatibility.reasons,.`-z
a7840 69 70 60 20 77 68 65 6e 20 63 61 6c 6c 65 64 20 77 69 74 68 20 74 77 6f 0a 20 20 6c 69 73 74 73 ip`.when.called.with.two...lists
a7860 20 72 65 74 75 72 6e 73 20 61 20 6c 69 73 74 20 6f 66 20 63 6f 6e 73 20 63 65 6c 6c 73 2c 20 72 .returns.a.list.of.cons.cells,.r
a7880 61 74 68 65 72 20 74 68 61 6e 20 61 20 6c 69 73 74 20 6f 66 20 70 72 6f 70 65 72 0a 20 20 6c 69 ather.than.a.list.of.proper...li
a78a0 73 74 73 2e 20 20 54 68 69 73 20 69 73 20 61 20 63 6c 75 6e 6b 79 20 41 50 49 2c 20 61 6e 64 20 sts...This.is.a.clunky.API,.and.
a78c0 6d 61 79 20 62 65 20 63 68 61 6e 67 65 64 20 69 6e 20 61 20 66 75 74 75 72 65 20 72 65 6c 65 61 may.be.changed.in.a.future.relea
a78e0 73 65 0a 20 20 74 6f 20 61 6c 77 61 79 73 20 72 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 se...to.always.return.a.list.of.
a7900 70 72 6f 70 65 72 20 6c 69 73 74 73 2c 20 61 73 20 60 2d 7a 69 70 2d 6c 69 73 74 73 60 20 63 75 proper.lists,.as.`-zip-lists`.cu
a7920 72 72 65 6e 74 6c 79 0a 20 20 64 6f 65 73 2e 0a 0a 20 20 2a 2a 4e 2e 42 2e 3a 2a 2a 20 44 6f 20 rrently...does.....**N.B.:**.Do.
a7940 6e 6f 74 20 72 65 6c 79 20 6f 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 65 68 61 76 69 6f 72 not.rely.on.the.current.behavior
a7960 20 6f 66 20 60 2d 7a 69 70 60 20 66 6f 72 20 74 77 6f 0a 20 20 6c 69 73 74 73 2e 20 20 49 6e 73 .of.`-zip`.for.two...lists...Ins
a7980 74 65 61 64 2c 20 75 73 65 20 60 2d 7a 69 70 2d 70 61 69 72 60 20 66 6f 72 20 61 20 6c 69 73 74 tead,.use.`-zip-pair`.for.a.list
a79a0 20 6f 66 20 63 6f 6e 73 20 63 65 6c 6c 73 2c 20 61 6e 64 0a 20 20 60 2d 7a 69 70 2d 6c 69 73 74 .of.cons.cells,.and...`-zip-list
a79c0 73 60 20 66 6f 72 20 61 20 6c 69 73 74 20 6f 66 20 70 72 6f 70 65 72 20 6c 69 73 74 73 2e 0a 0a s`.for.a.list.of.proper.lists...
a79e0 23 23 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 0a 0a 44 61 73 68 20 69 73 20 61 76 61 69 6c 61 62 ##.Installation..Dash.is.availab
a7a00 6c 65 20 6f 6e 20 5b 47 4e 55 20 45 4c 50 41 5d 28 68 74 74 70 73 3a 2f 2f 65 6c 70 61 2e 67 6e le.on.[GNU.ELPA](https://elpa.gn
a7a20 75 2e 6f 72 67 2f 29 2c 20 5b 47 4e 55 2d 64 65 76 65 6c 0a 45 4c 50 41 5d 28 68 74 74 70 73 3a u.org/),.[GNU-devel.ELPA](https:
a7a40 2f 2f 65 6c 70 61 2e 67 6e 75 2e 6f 72 67 2f 64 65 76 65 6c 2f 29 2c 20 61 6e 64 20 5b 4d 45 4c //elpa.gnu.org/devel/),.and.[MEL
a7a60 50 41 5d 28 68 74 74 70 73 3a 2f 2f 6d 65 6c 70 61 2e 6f 72 67 2f 29 2c 0a 61 6e 64 20 63 61 6e PA](https://melpa.org/),.and.can
a7a80 20 62 65 20 69 6e 73 74 61 6c 6c 65 64 20 77 69 74 68 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 .be.installed.with.the.standard.
a7aa0 63 6f 6d 6d 61 6e 64 20 60 70 61 63 6b 61 67 65 2d 69 6e 73 74 61 6c 6c 60 3a 0a 0a 20 20 20 20 command.`package-install`:......
a7ac0 4d 2d 78 20 70 61 63 6b 61 67 65 2d 69 6e 73 74 61 6c 6c 20 52 45 54 20 64 61 73 68 20 52 45 54 M-x.package-install.RET.dash.RET
a7ae0 0a 0a 53 65 65 20 5b 60 28 69 6e 66 6f 20 22 28 65 6d 61 63 73 29 20 50 61 63 6b 61 67 65 0a 49 ..See.[`(info."(emacs).Package.I
a7b00 6e 73 74 61 6c 6c 61 74 69 6f 6e 22 29 60 5d 28 68 74 74 70 73 3a 2f 2f 67 6e 75 2e 6f 72 67 2f nstallation")`](https://gnu.org/
a7b20 73 6f 66 74 77 61 72 65 2f 65 6d 61 63 73 2f 6d 61 6e 75 61 6c 2f 68 74 6d 6c 5f 6e 6f 64 65 2f software/emacs/manual/html_node/
a7b40 65 6d 61 63 73 2f 50 61 63 6b 61 67 65 2d 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 2e 68 74 6d 6c 29 emacs/Package-Installation.html)
a7b60 2e 0a 0a 41 6c 74 65 72 6e 61 74 69 76 65 6c 79 2c 20 79 6f 75 20 63 61 6e 20 6a 75 73 74 20 64 ...Alternatively,.you.can.just.d
a7b80 75 6d 70 20 60 64 61 73 68 2e 65 6c 60 20 69 6e 20 79 6f 75 72 20 60 6c 6f 61 64 2d 70 61 74 68 ump.`dash.el`.in.your.`load-path
a7ba0 60 0a 73 6f 6d 65 77 68 65 72 65 2e 20 20 53 65 65 20 5b 60 28 69 6e 66 6f 20 22 28 65 6d 61 63 `.somewhere...See.[`(info."(emac
a7bc0 73 29 20 4c 69 73 70 0a 4c 69 62 72 61 72 69 65 73 22 29 60 5d 28 68 74 74 70 73 3a 2f 2f 67 6e s).Lisp.Libraries")`](https://gn
a7be0 75 2e 6f 72 67 2f 73 6f 66 74 77 61 72 65 2f 65 6d 61 63 73 2f 6d 61 6e 75 61 6c 2f 68 74 6d 6c u.org/software/emacs/manual/html
a7c00 5f 6e 6f 64 65 2f 65 6d 61 63 73 2f 4c 69 73 70 2d 4c 69 62 72 61 72 69 65 73 2e 68 74 6d 6c 29 _node/emacs/Lisp-Libraries.html)
a7c20 2e 0a 0a 23 23 23 20 55 73 69 6e 67 20 69 6e 20 61 20 70 61 63 6b 61 67 65 0a 0a 41 64 64 20 73 ...###.Using.in.a.package..Add.s
a7c40 6f 6d 65 74 68 69 6e 67 20 6c 69 6b 65 20 74 68 69 73 20 74 6f 20 74 68 65 20 6c 69 62 72 61 72 omething.like.this.to.the.librar
a7c60 79 27 73 20 68 65 61 64 65 72 73 3a 0a 0a 20 20 20 20 3b 3b 20 50 61 63 6b 61 67 65 2d 52 65 71 y's.headers:......;;.Package-Req
a7c80 75 69 72 65 73 3a 20 28 28 64 61 73 68 20 22 5b 5b 20 64 61 73 68 2d 76 65 72 73 69 6f 6e 20 5d uires:.((dash."[[.dash-version.]
a7ca0 5d 22 29 29 0a 0a 53 65 65 20 5b 60 28 69 6e 66 6f 20 22 28 65 6c 69 73 70 29 20 4c 69 62 72 61 ]"))..See.[`(info."(elisp).Libra
a7cc0 72 79 0a 48 65 61 64 65 72 73 22 29 60 5d 28 68 74 74 70 73 3a 2f 2f 67 6e 75 2e 6f 72 67 2f 73 ry.Headers")`](https://gnu.org/s
a7ce0 6f 66 74 77 61 72 65 2f 65 6d 61 63 73 2f 6d 61 6e 75 61 6c 2f 68 74 6d 6c 5f 6e 6f 64 65 2f 65 oftware/emacs/manual/html_node/e
a7d00 6c 69 73 70 2f 4c 69 62 72 61 72 79 2d 48 65 61 64 65 72 73 2e 68 74 6d 6c 29 2e 0a 0a 23 23 23 lisp/Library-Headers.html)...###
a7d20 20 46 6f 6e 74 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 73 70 65 63 69 61 6c 20 76 61 72 69 61 62 .Fontification.of.special.variab
a7d40 6c 65 73 0a 0a 46 6f 6e 74 20 6c 6f 63 6b 20 6f 66 20 73 70 65 63 69 61 6c 20 44 61 73 68 20 76 les..Font.lock.of.special.Dash.v
a7d60 61 72 69 61 62 6c 65 73 20 28 60 69 74 60 2c 20 60 61 63 63 60 2c 20 65 74 63 2e 29 20 69 6e 20 ariables.(`it`,.`acc`,.etc.).in.
a7d80 45 6d 61 63 73 20 4c 69 73 70 0a 62 75 66 66 65 72 73 20 63 61 6e 20 6f 70 74 69 6f 6e 61 6c 6c Emacs.Lisp.buffers.can.optionall
a7da0 79 20 62 65 20 65 6e 61 62 6c 65 64 20 77 69 74 68 20 74 68 65 20 61 75 74 6f 6c 6f 61 64 65 64 y.be.enabled.with.the.autoloaded
a7dc0 20 6d 69 6e 6f 72 20 6d 6f 64 65 0a 60 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 60 2e .minor.mode.`dash-fontify-mode`.
a7de0 20 20 49 6e 20 6f 6c 64 65 72 20 45 6d 61 63 73 20 76 65 72 73 69 6f 6e 73 20 77 68 69 63 68 20 ..In.older.Emacs.versions.which.
a7e00 64 6f 20 6e 6f 74 20 64 79 6e 61 6d 69 63 61 6c 6c 79 0a 64 65 74 65 63 74 20 6d 61 63 72 6f 73 do.not.dynamically.detect.macros
a7e20 2c 20 74 68 65 20 6d 69 6e 6f 72 20 6d 6f 64 65 20 61 6c 73 6f 20 66 6f 6e 74 69 66 69 65 73 20 ,.the.minor.mode.also.fontifies.
a7e40 44 61 73 68 20 6d 61 63 72 6f 20 63 61 6c 6c 73 2e 0a 0a 54 6f 20 61 75 74 6f 6d 61 74 69 63 61 Dash.macro.calls...To.automatica
a7e60 6c 6c 79 20 65 6e 61 62 6c 65 20 74 68 65 20 6d 69 6e 6f 72 20 6d 6f 64 65 20 69 6e 20 61 6c 6c lly.enable.the.minor.mode.in.all
a7e80 20 45 6d 61 63 73 20 4c 69 73 70 20 62 75 66 66 65 72 73 2c 20 6a 75 73 74 0a 63 61 6c 6c 20 69 .Emacs.Lisp.buffers,.just.call.i
a7ea0 74 73 20 61 75 74 6f 6c 6f 61 64 65 64 20 67 6c 6f 62 61 6c 20 63 6f 75 6e 74 65 72 70 61 72 74 ts.autoloaded.global.counterpart
a7ec0 20 60 67 6c 6f 62 61 6c 2d 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 60 2c 0a 65 69 74 .`global-dash-fontify-mode`,.eit
a7ee0 68 65 72 20 69 6e 74 65 72 61 63 74 69 76 65 6c 79 20 6f 72 20 66 72 6f 6d 20 79 6f 75 72 20 60 her.interactively.or.from.your.`
a7f00 75 73 65 72 2d 69 6e 69 74 2d 66 69 6c 65 60 3a 0a 0a 60 60 60 65 6c 0a 28 67 6c 6f 62 61 6c 2d user-init-file`:..```el.(global-
a7f20 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 29 0a 60 60 60 0a 0a 23 23 23 20 49 6e 66 6f dash-fontify-mode).```..###.Info
a7f40 20 73 79 6d 62 6f 6c 20 6c 6f 6f 6b 75 70 0a 0a 57 68 69 6c 65 20 65 64 69 74 69 6e 67 20 45 6c .symbol.lookup..While.editing.El
a7f60 69 73 70 20 66 69 6c 65 73 2c 20 79 6f 75 20 63 61 6e 20 75 73 65 20 60 43 2d 68 20 53 60 20 28 isp.files,.you.can.use.`C-h.S`.(
a7f80 60 69 6e 66 6f 2d 6c 6f 6f 6b 75 70 2d 73 79 6d 62 6f 6c 60 29 0a 74 6f 20 6c 6f 6f 6b 20 75 70 `info-lookup-symbol`).to.look.up
a7fa0 20 45 6c 69 73 70 20 73 79 6d 62 6f 6c 73 20 69 6e 20 74 68 65 20 72 65 6c 65 76 61 6e 74 20 49 .Elisp.symbols.in.the.relevant.I
a7fc0 6e 66 6f 20 6d 61 6e 75 61 6c 73 20 28 73 65 65 20 5b 60 28 65 6d 61 63 73 29 0a 49 6e 66 6f 0a nfo.manuals.(see.[`(emacs).Info.
a7fe0 4c 6f 6f 6b 75 70 60 5d 28 68 74 74 70 73 3a 2f 2f 67 6e 75 2e 6f 72 67 2f 73 6f 66 74 77 61 72 Lookup`](https://gnu.org/softwar
a8000 65 2f 65 6d 61 63 73 2f 6d 61 6e 75 61 6c 2f 68 74 6d 6c 5f 6e 6f 64 65 2f 65 6d 61 63 73 2f 49 e/emacs/manual/html_node/emacs/I
a8020 6e 66 6f 2d 4c 6f 6f 6b 75 70 2e 68 74 6d 6c 29 29 2e 0a 54 6f 20 65 6e 61 62 6c 65 20 74 68 65 nfo-Lookup.html))..To.enable.the
a8040 20 73 61 6d 65 20 66 6f 72 20 44 61 73 68 20 73 79 6d 62 6f 6c 73 2c 20 75 73 65 20 74 68 65 20 .same.for.Dash.symbols,.use.the.
a8060 63 6f 6d 6d 61 6e 64 0a 60 64 61 73 68 2d 72 65 67 69 73 74 65 72 2d 69 6e 66 6f 2d 6c 6f 6f 6b command.`dash-register-info-look
a8080 75 70 60 2e 20 20 49 74 20 63 61 6e 20 62 65 20 63 61 6c 6c 65 64 20 64 69 72 65 63 74 6c 79 20 up`...It.can.be.called.directly.
a80a0 77 68 65 6e 20 6e 65 65 64 65 64 2c 0a 6f 72 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 66 72 when.needed,.or.automatically.fr
a80c0 6f 6d 20 79 6f 75 72 20 60 75 73 65 72 2d 69 6e 69 74 2d 66 69 6c 65 60 2e 20 20 46 6f 72 20 65 om.your.`user-init-file`...For.e
a80e0 78 61 6d 70 6c 65 3a 0a 0a 60 60 60 65 6c 0a 28 77 69 74 68 2d 65 76 61 6c 2d 61 66 74 65 72 2d xample:..```el.(with-eval-after-
a8100 6c 6f 61 64 20 27 69 6e 66 6f 2d 6c 6f 6f 6b 0a 20 20 28 64 61 73 68 2d 72 65 67 69 73 74 65 72 load.'info-look...(dash-register
a8120 2d 69 6e 66 6f 2d 6c 6f 6f 6b 75 70 29 29 0a 60 60 60 0a 0a 23 23 20 46 75 6e 63 74 69 6f 6e 73 -info-lookup)).```..##.Functions
a8140 0a 0a 41 6c 6c 20 66 75 6e 63 74 69 6f 6e 73 20 61 6e 64 20 63 6f 6e 73 74 72 75 63 74 73 20 69 ..All.functions.and.constructs.i
a8160 6e 20 74 68 65 20 6c 69 62 72 61 72 79 20 75 73 65 20 61 20 64 61 73 68 20 28 60 2d 60 29 20 70 n.the.library.use.a.dash.(`-`).p
a8180 72 65 66 69 78 2e 0a 0a 54 68 65 20 6c 69 62 72 61 72 79 20 61 6c 73 6f 20 70 72 6f 76 69 64 65 refix...The.library.also.provide
a81a0 73 20 61 6e 61 70 68 6f 72 69 63 20 6d 61 63 72 6f 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 66 75 s.anaphoric.macro.versions.of.fu
a81c0 6e 63 74 69 6f 6e 73 20 77 68 65 72 65 0a 74 68 61 74 20 6d 61 6b 65 73 20 73 65 6e 73 65 2e 20 nctions.where.that.makes.sense..
a81e0 20 54 68 65 20 6e 61 6d 65 73 20 6f 66 20 74 68 65 73 65 20 6d 61 63 72 6f 73 20 61 72 65 20 70 .The.names.of.these.macros.are.p
a8200 72 65 66 69 78 65 64 20 77 69 74 68 20 74 77 6f 0a 64 61 73 68 65 73 20 28 60 2d 2d 60 29 20 69 refixed.with.two.dashes.(`--`).i
a8220 6e 73 74 65 61 64 20 6f 66 20 6f 6e 65 2e 0a 0a 57 68 69 6c 65 20 60 2d 6d 61 70 60 20 61 70 70 nstead.of.one...While.`-map`.app
a8240 6c 69 65 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 lies.a.function.to.each.element.
a8260 6f 66 20 61 20 6c 69 73 74 2c 20 69 74 73 0a 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 of.a.list,.its.anaphoric.counter
a8280 70 61 72 74 20 60 2d 2d 6d 61 70 60 20 65 76 61 6c 75 61 74 65 73 20 61 20 66 6f 72 6d 20 77 69 part.`--map`.evaluates.a.form.wi
a82a0 74 68 20 74 68 65 20 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 0a 60 69 74 60 20 74 65 6d 70 6f th.the.local.variable.`it`.tempo
a82c0 72 61 72 69 6c 79 20 62 6f 75 6e 64 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 6c 69 73 74 rarily.bound.to.the.current.list
a82e0 20 65 6c 65 6d 65 6e 74 20 69 6e 73 74 65 61 64 2e 20 20 46 6f 72 0a 65 78 61 6d 70 6c 65 3a 0a .element.instead...For.example:.
a8300 0a 60 60 60 65 6c 0a 28 2d 6d 61 70 20 28 6c 61 6d 62 64 61 20 28 6e 29 20 28 2a 20 6e 20 6e 29 .```el.(-map.(lambda.(n).(*.n.n)
a8320 29 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 20 4e 6f 72 6d 61 6c 20 76 65 72 73 69 6f 6e 2e 0a ).'(1.2.3.4)).;.Normal.version..
a8340 28 2d 2d 6d 61 70 20 28 2a 20 69 74 20 69 74 29 20 27 28 31 20 32 20 33 20 34 29 29 20 20 20 20 (--map.(*.it.it).'(1.2.3.4))....
a8360 20 20 20 20 20 20 20 3b 20 41 6e 61 70 68 6f 72 69 63 20 76 65 72 73 69 6f 6e 2e 0a 60 60 60 0a .......;.Anaphoric.version..```.
a8380 0a 54 68 65 20 6e 6f 72 6d 61 6c 20 76 65 72 73 69 6f 6e 20 63 61 6e 20 6f 66 20 63 6f 75 72 73 .The.normal.version.can.of.cours
a83a0 65 20 61 6c 73 6f 20 62 65 20 77 72 69 74 74 65 6e 20 61 73 20 66 6f 6c 6c 6f 77 73 3a 0a 0a 60 e.also.be.written.as.follows:..`
a83c0 60 60 65 6c 0a 28 64 65 66 75 6e 20 6d 79 2d 73 71 75 61 72 65 20 28 6e 29 0a 20 20 22 52 65 74 ``el.(defun.my-square.(n)..."Ret
a83e0 75 72 6e 20 4e 20 6d 75 6c 74 69 70 6c 69 65 64 20 62 79 20 69 74 73 65 6c 66 2e 22 0a 20 20 28 urn.N.multiplied.by.itself."...(
a8400 2a 20 6e 20 6e 29 29 0a 0a 28 2d 6d 61 70 20 23 27 6d 79 2d 73 71 75 61 72 65 20 27 28 31 20 32 *.n.n))..(-map.#'my-square.'(1.2
a8420 20 33 20 34 29 29 0a 60 60 60 0a 0a 54 68 69 73 20 64 65 6d 6f 6e 73 74 72 61 74 65 73 20 74 68 .3.4)).```..This.demonstrates.th
a8440 65 20 75 74 69 6c 69 74 79 20 6f 66 20 62 6f 74 68 20 76 65 72 73 69 6f 6e 73 2e 0a 5b 5b 20 66 e.utility.of.both.versions..[[.f
a8460 75 6e 63 74 69 6f 6e 2d 6c 69 73 74 20 5d 5d 0a 0a 5b 5b 20 66 75 6e 63 74 69 6f 6e 2d 64 6f 63 unction-list.]]..[[.function-doc
a8480 73 20 5d 5d 0a 23 23 20 43 6f 6e 74 72 69 62 75 74 65 0a 0a 59 65 73 2c 20 70 6c 65 61 73 65 20 s.]].##.Contribute..Yes,.please.
a84a0 64 6f 2e 20 20 50 75 72 65 20 66 75 6e 63 74 69 6f 6e 73 20 69 6e 20 74 68 65 20 6c 69 73 74 20 do...Pure.functions.in.the.list.
a84c0 6d 61 6e 69 70 75 6c 61 74 69 6f 6e 20 72 65 61 6c 6d 20 6f 6e 6c 79 2c 0a 70 6c 65 61 73 65 2e manipulation.realm.only,.please.
a84e0 20 20 54 68 65 72 65 27 73 20 61 20 73 75 69 74 65 20 6f 66 20 65 78 61 6d 70 6c 65 73 2f 74 65 ..There's.a.suite.of.examples/te
a8500 73 74 73 20 69 6e 20 60 64 65 76 2f 65 78 61 6d 70 6c 65 73 2e 65 6c 60 2c 20 73 6f 0a 72 65 6d sts.in.`dev/examples.el`,.so.rem
a8520 65 6d 62 65 72 20 74 6f 20 61 64 64 20 74 65 73 74 73 20 66 6f 72 20 79 6f 75 72 20 61 64 64 69 ember.to.add.tests.for.your.addi
a8540 74 69 6f 6e 73 2c 20 6f 72 20 49 20 6d 69 67 68 74 20 62 72 65 61 6b 20 74 68 65 6d 20 6c 61 74 tions,.or.I.might.break.them.lat
a8560 65 72 2e 0a 0a 59 6f 75 27 6c 6c 20 66 69 6e 64 20 74 68 65 20 72 65 70 6f 20 61 74 3a 0a 0a 20 er...You'll.find.the.repo.at:...
a8580 20 20 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6d 61 67 6e 61 72 73 2f 64 61 ...https://github.com/magnars/da
a85a0 73 68 2e 65 6c 0a 0a 52 75 6e 20 74 68 65 20 74 65 73 74 73 20 77 69 74 68 3a 0a 0a 20 20 20 20 sh.el..Run.the.tests.with:......
a85c0 6d 61 6b 65 20 63 68 65 63 6b 0a 0a 52 65 67 65 6e 65 72 61 74 65 20 74 68 65 20 64 6f 63 73 20 make.check..Regenerate.the.docs.
a85e0 77 69 74 68 3a 0a 0a 20 20 20 20 6d 61 6b 65 20 64 6f 63 73 0a 0a 49 20 68 69 67 68 6c 79 20 72 with:......make.docs..I.highly.r
a8600 65 63 6f 6d 6d 65 6e 64 20 74 68 61 74 20 79 6f 75 20 69 6e 73 74 61 6c 6c 20 74 68 65 73 65 20 ecommend.that.you.install.these.
a8620 61 73 20 61 20 70 72 65 2d 63 6f 6d 6d 69 74 20 68 6f 6f 6b 2c 20 73 6f 0a 74 68 61 74 20 74 68 as.a.pre-commit.hook,.so.that.th
a8640 65 20 74 65 73 74 73 20 61 72 65 20 61 6c 77 61 79 73 20 72 75 6e 6e 69 6e 67 20 61 6e 64 20 74 e.tests.are.always.running.and.t
a8660 68 65 20 64 6f 63 73 20 61 72 65 20 61 6c 77 61 79 73 20 69 6e 20 73 79 6e 63 3a 0a 0a 20 20 20 he.docs.are.always.in.sync:.....
a8680 20 63 70 20 64 65 76 2f 70 72 65 2d 63 6f 6d 6d 69 74 2e 73 68 20 2e 67 69 74 2f 68 6f 6f 6b 73 .cp.dev/pre-commit.sh..git/hooks
a86a0 2f 70 72 65 2d 63 6f 6d 6d 69 74 0a 0a 4f 68 2c 20 61 6e 64 20 64 6f 6e 27 74 20 65 64 69 74 20 /pre-commit..Oh,.and.don't.edit.
a86c0 60 52 45 41 44 4d 45 2e 6d 64 60 20 6f 72 20 60 64 61 73 68 2e 74 65 78 69 60 20 64 69 72 65 63 `README.md`.or.`dash.texi`.direc
a86e0 74 6c 79 3b 20 74 68 65 79 20 61 72 65 0a 61 75 74 6f 2d 67 65 6e 65 72 61 74 65 64 2e 20 20 43 tly;.they.are.auto-generated...C
a8700 68 61 6e 67 65 20 60 72 65 61 64 6d 65 2d 74 65 6d 70 6c 61 74 65 2e 6d 64 60 20 6f 72 20 60 64 hange.`readme-template.md`.or.`d
a8720 61 73 68 2d 74 65 6d 70 6c 61 74 65 2e 74 65 78 69 60 0a 69 6e 73 74 65 61 64 2c 20 72 65 73 70 ash-template.texi`.instead,.resp
a8740 65 63 74 69 76 65 6c 79 2e 0a 0a 54 6f 20 65 6e 73 75 72 65 20 74 68 61 74 20 60 64 61 73 68 2e ectively...To.ensure.that.`dash.
a8760 65 6c 60 20 63 61 6e 20 62 65 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 74 68 20 47 4e 55 20 el`.can.be.distributed.with.GNU.
a8780 45 4c 50 41 20 6f 72 20 45 6d 61 63 73 2c 20 77 65 0a 72 65 71 75 69 72 65 20 74 68 61 74 20 61 ELPA.or.Emacs,.we.require.that.a
a87a0 6c 6c 20 63 6f 6e 74 72 69 62 75 74 6f 72 73 20 61 73 73 69 67 6e 20 63 6f 70 79 72 69 67 68 74 ll.contributors.assign.copyright
a87c0 20 74 6f 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 0a 46 6f 75 6e 64 61 74 69 6f 6e .to.the.Free.Software.Foundation
a87e0 2e 20 20 46 6f 72 20 6d 6f 72 65 20 6f 6e 20 74 68 69 73 2c 20 73 65 65 20 5b 60 28 69 6e 66 6f ...For.more.on.this,.see.[`(info
a8800 20 22 28 65 6d 61 63 73 29 20 43 6f 70 79 72 69 67 68 74 0a 41 73 73 69 67 6e 6d 65 6e 74 22 29 ."(emacs).Copyright.Assignment")
a8820 60 5d 28 68 74 74 70 73 3a 2f 2f 67 6e 75 2e 6f 72 67 2f 73 6f 66 74 77 61 72 65 2f 65 6d 61 63 `](https://gnu.org/software/emac
a8840 73 2f 6d 61 6e 75 61 6c 2f 68 74 6d 6c 5f 6e 6f 64 65 2f 65 6d 61 63 73 2f 43 6f 70 79 72 69 67 s/manual/html_node/emacs/Copyrig
a8860 68 74 2d 41 73 73 69 67 6e 6d 65 6e 74 2e 68 74 6d 6c 29 2e 0a 0a 23 23 20 43 6f 6e 74 72 69 62 ht-Assignment.html)...##.Contrib
a8880 75 74 6f 72 73 0a 0a 2d 20 5b 4d 61 74 75 73 20 47 6f 6c 6a 65 72 5d 28 68 74 74 70 73 3a 2f 2f utors..-.[Matus.Goljer](https://
a88a0 67 69 74 68 75 62 2e 63 6f 6d 2f 46 75 63 6f 31 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 6c 6f github.com/Fuco1).contributed.lo
a88c0 74 73 20 6f 66 20 66 65 61 74 75 72 65 73 20 61 6e 64 0a 20 20 66 75 6e 63 74 69 6f 6e 73 2e 0a ts.of.features.and...functions..
a88e0 2d 20 5b 54 61 6b 61 66 75 6d 69 20 41 72 61 6b 61 6b 69 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 -.[Takafumi.Arakaki](https://git
a8900 68 75 62 2e 63 6f 6d 2f 74 6b 66 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 60 2d 67 72 6f 75 70 hub.com/tkf).contributed.`-group
a8920 2d 62 79 60 2e 0a 2d 20 5b 74 61 6c 69 37 31 33 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 -by`..-.[tali713](https://github
a8940 2e 63 6f 6d 2f 74 61 6c 69 37 31 33 29 20 69 73 20 74 68 65 20 61 75 74 68 6f 72 20 6f 66 20 60 .com/tali713).is.the.author.of.`
a8960 2d 61 70 70 6c 69 66 79 60 2e 0a 2d 20 5b 56 c3 ad 63 74 6f 72 20 4d 2e 20 56 61 6c 65 6e 7a 75 -applify`..-.[V..ctor.M..Valenzu
a8980 65 6c 61 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 76 65 6d 76 29 20 63 6f ela](https://github.com/vemv).co
a89a0 6e 74 72 69 62 75 74 65 64 20 60 2d 72 65 70 65 61 74 60 2e 0a 2d 20 5b 4e 69 63 20 46 65 72 72 ntributed.`-repeat`..-.[Nic.Ferr
a89c0 69 65 72 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6e 69 63 66 65 72 72 69 ier](https://github.com/nicferri
a89e0 65 72 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 60 2d 63 6f 6e 73 2a 60 2e 0a 2d 20 5b 57 69 6c er).contributed.`-cons*`..-.[Wil
a8a00 66 72 65 64 20 48 75 67 68 65 73 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f fred.Hughes](https://github.com/
a8a20 57 69 6c 66 72 65 64 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 60 2d 73 6c 69 63 65 60 2c 0a 20 Wilfred).contributed.`-slice`,..
a8a40 20 60 2d 66 69 72 73 74 2d 69 74 65 6d 60 2c 20 61 6e 64 20 60 2d 6c 61 73 74 2d 69 74 65 6d 60 .`-first-item`,.and.`-last-item`
a8a60 2e 0a 2d 20 5b 45 6d 61 6e 75 65 6c 20 45 76 61 6e 73 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 ..-.[Emanuel.Evans](https://gith
a8a80 75 62 2e 63 6f 6d 2f 73 68 6f 73 74 69 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 60 2d 69 66 2d ub.com/shosti).contributed.`-if-
a8aa0 6c 65 74 60 2c 20 60 2d 77 68 65 6e 2d 6c 65 74 60 2c 0a 20 20 61 6e 64 20 60 2d 69 6e 73 65 72 let`,.`-when-let`,...and.`-inser
a8ac0 74 2d 61 74 60 2e 0a 2d 20 5b 4a 6f 68 61 6e 20 41 6e 64 65 72 73 73 6f 6e 5d 28 68 74 74 70 73 t-at`..-.[Johan.Andersson](https
a8ae0 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 72 65 6a 65 65 70 29 20 63 6f 6e 74 72 69 62 75 74 65 ://github.com/rejeep).contribute
a8b00 64 20 60 2d 73 75 6d 60 2c 20 60 2d 70 72 6f 64 75 63 74 60 2c 0a 20 20 61 6e 64 20 60 2d 73 61 d.`-sum`,.`-product`,...and.`-sa
a8b20 6d 65 2d 69 74 65 6d 73 3f 60 2e 0a 2d 20 5b 43 68 72 69 73 74 69 6e 61 20 57 68 79 74 65 5d 28 me-items?`..-.[Christina.Whyte](
a8b40 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6b 75 72 69 73 75 77 68 79 74 65 29 20 https://github.com/kurisuwhyte).
a8b60 63 6f 6e 74 72 69 62 75 74 65 64 20 60 2d 63 6f 6d 70 6f 73 65 60 2e 0a 2d 20 5b 53 74 65 76 65 contributed.`-compose`..-.[Steve
a8b80 20 4c 61 6d 62 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 73 74 65 76 65 6e .Lamb](https://github.com/steven
a8ba0 74 6c 61 6d 62 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 60 2d 63 79 63 6c 65 60 2c 20 60 2d 70 tlamb).contributed.`-cycle`,.`-p
a8bc0 61 64 60 2c 0a 20 20 60 2d 61 6e 6e 6f 74 61 74 65 60 2c 20 60 2d 7a 69 70 2d 66 69 6c 6c 60 2c ad`,...`-annotate`,.`-zip-fill`,
a8be0 20 61 6e 64 20 61 20 76 61 72 69 61 64 69 63 20 76 65 72 73 69 6f 6e 20 6f 66 20 60 2d 7a 69 70 .and.a.variadic.version.of.`-zip
a8c00 60 2e 0a 2d 20 5b 46 72 65 64 72 69 6b 20 42 65 72 67 72 6f 74 68 5d 28 68 74 74 70 73 3a 2f 2f `..-.[Fredrik.Bergroth](https://
a8c20 67 69 74 68 75 62 2e 63 6f 6d 2f 66 62 65 72 67 72 6f 74 68 29 20 6d 61 64 65 20 74 68 65 20 60 github.com/fbergroth).made.the.`
a8c40 2d 69 66 2d 6c 65 74 60 20 66 61 6d 69 6c 79 20 75 73 65 0a 20 20 60 2d 6c 65 74 60 20 64 65 73 -if-let`.family.use...`-let`.des
a8c60 74 72 75 63 74 75 72 69 6e 67 20 61 6e 64 20 69 6d 70 72 6f 76 65 64 20 74 68 65 20 73 63 72 69 tructuring.and.improved.the.scri
a8c80 70 74 20 66 6f 72 20 67 65 6e 65 72 61 74 69 6e 67 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2e pt.for.generating.documentation.
a8ca0 0a 2d 20 5b 4d 61 72 6b 20 4f 74 65 69 7a 61 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e .-.[Mark.Oteiza](https://github.
a8cc0 63 6f 6d 2f 68 6f 6c 6f 6d 6f 72 70 68 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 60 2d 69 6f 74 com/holomorph).contributed.`-iot
a8ce0 61 60 20 61 6e 64 0a 20 20 74 68 65 20 73 63 72 69 70 74 20 74 6f 20 63 72 65 61 74 65 20 61 6e a`.and...the.script.to.create.an
a8d00 20 49 6e 66 6f 20 6d 61 6e 75 61 6c 2e 0a 2d 20 5b 56 61 73 69 6c 69 6a 20 53 63 68 6e 65 69 64 .Info.manual..-.[Vasilij.Schneid
a8d20 65 72 6d 61 6e 6e 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 77 61 73 61 6d ermann](https://github.com/wasam
a8d40 61 73 61 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 60 2d 73 6f 6d 65 60 2e 0a 2d 20 5b 57 69 6c asa).contributed.`-some`..-.[Wil
a8d60 6c 69 61 6d 20 57 65 73 74 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6f 63 liam.West](https://github.com/oc
a8d80 63 69 64 65 6e 73 29 20 6d 61 64 65 20 60 2d 66 69 78 66 6e 60 20 6d 6f 72 65 20 72 6f 62 75 73 cidens).made.`-fixfn`.more.robus
a8da0 74 20 61 74 0a 20 20 68 61 6e 64 6c 69 6e 67 20 66 6c 6f 61 74 73 2e 0a 2d 20 5b 43 61 6d 20 53 t.at...handling.floats..-.[Cam.S
a8dc0 61 75 6c 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 63 61 6d 73 61 75 6c 29 aul](https://github.com/camsaul)
a8de0 20 63 6f 6e 74 72 69 62 75 74 65 64 20 60 2d 73 6f 6d 65 2d 3e 60 2c 20 60 2d 73 6f 6d 65 2d 3e .contributed.`-some->`,.`-some->
a8e00 3e 60 2c 20 61 6e 64 0a 20 20 60 2d 73 6f 6d 65 2d 2d 3e 60 2e 0a 2d 20 5b 42 61 73 69 6c 20 4c >`,.and...`-some-->`..-.[Basil.L
a8e20 2e 20 43 6f 6e 74 6f 76 6f 75 6e 65 73 69 6f 73 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 ..Contovounesios](https://github
a8e40 2e 63 6f 6d 2f 62 61 73 69 6c 2d 63 6f 6e 74 6f 29 20 63 6f 6e 74 72 69 62 75 74 65 64 0a 20 20 .com/basil-conto).contributed...
a8e60 60 2d 63 6f 6d 6d 6f 6e 2d 70 72 65 66 69 78 60 2c 20 60 2d 63 6f 6d 6d 6f 6e 2d 73 75 66 66 69 `-common-prefix`,.`-common-suffi
a8e80 78 60 2c 20 61 6e 64 20 76 61 72 69 6f 75 73 20 6f 74 68 65 72 20 69 6d 70 72 6f 76 65 6d 65 6e x`,.and.various.other.improvemen
a8ea0 74 73 2e 0a 2d 20 5b 50 61 75 6c 20 50 6f 67 6f 6e 79 73 68 65 76 5d 28 68 74 74 70 73 3a 2f 2f ts..-.[Paul.Pogonyshev](https://
a8ec0 67 69 74 68 75 62 2e 63 6f 6d 2f 64 6f 75 62 6c 65 70 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 github.com/doublep).contributed.
a8ee0 60 2d 65 61 63 68 2d 72 60 20 61 6e 64 0a 20 20 60 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 60 2e `-each-r`.and...`-each-r-while`.
a8f00 0a 0a 54 68 61 6e 6b 73 21 0a 0a 4e 65 77 20 63 6f 6e 74 72 69 62 75 74 6f 72 73 20 61 72 65 20 ..Thanks!..New.contributors.are.
a8f20 76 65 72 79 20 77 65 6c 63 6f 6d 65 2e 20 20 53 65 65 20 74 68 65 0a 5b 60 43 6f 6e 74 72 69 62 very.welcome...See.the.[`Contrib
a8f40 75 74 65 60 5d 28 23 63 6f 6e 74 72 69 62 75 74 65 29 20 73 65 63 74 69 6f 6e 20 61 62 6f 76 65 ute`](#contribute).section.above
a8f60 2e 0a 0a 23 23 20 4c 69 63 65 6e 73 65 0a 0a 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 31 ...##.License..Copyright.(C).201
a8f80 32 2d 32 30 32 31 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 2-2021.Free.Software.Foundation,
a8fa0 20 49 6e 63 2e 0a 0a 41 75 74 68 6f 72 3a 20 4d 61 67 6e 61 72 20 53 76 65 65 6e 20 3c 6d 61 67 .Inc...Author:.Magnar.Sveen.<mag
a8fc0 6e 61 72 73 40 67 6d 61 69 6c 2e 63 6f 6d 3e 0a 0a 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 nars@gmail.com>..This.program.is
a8fe0 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 65 64 69 73 74 72 69 .free.software:.you.can.redistri
a9000 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 69 74 20 75 6e 64 65 72 20 74 bute.it.and/or.modify.it.under.t
a9020 68 65 20 74 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 he.terms.of.the.GNU.General.Publ
a9040 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 74 68 65 20 46 ic.License.as.published.by.the.F
a9060 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 ree.Software.Foundation,.either.
a9080 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 28 61 74 version.3.of.the.License,.or.(at
a90a0 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e .your.option).any.later.version.
a90c0 0a 0a 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e ..This.program.is.distributed.in
a90e0 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c .the.hope.that.it.will.be.useful
a9100 2c 0a 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 ,.but.WITHOUT.ANY.WARRANTY;.with
a9120 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 out.even.the.implied.warranty.of
a9140 0a 4d 45 52 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 .MERCHANTABILITY.or.FITNESS.FOR.
a9160 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 47 A.PARTICULAR.PURPOSE...See.the.G
a9180 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f NU.General.Public.License.for.mo
a91a0 72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 re.details...You.should.have.rec
a91c0 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 6c 20 eived.a.copy.of.the.GNU.General.
a91e0 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 Public.License.along.with.this.p
a9200 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 77 77 rogram...If.not,.see.<https://ww
a9220 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 00 00 00 00 00 00 00 00 00 00 w.gnu.org/licenses/>............
a9240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a92a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a92c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a92e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a93a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a93c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a93e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9400 64 61 73 68 2d 32 2e 31 39 2e 31 2f 2e 65 6c 70 61 69 67 6e 6f 72 65 00 00 00 00 00 00 00 00 00 dash-2.19.1/.elpaignore.........
a9420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9460 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
a9480 30 30 30 30 30 30 36 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 33 30 34 00 20 30 00 00 00 0000006.00000000000.013304..0...
a94a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a94c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a94e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9500 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...................
a9520 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...................
a9540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a95a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a95c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a95e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9600 64 65 76 2f 2a 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 dev/*...........................
a9620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a96a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a96c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a96e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a97a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a97c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a97e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a98a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a98c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a98e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a99a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a99c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a99e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................