summaryrefslogtreecommitdiff
path: root/localrepo/nov-20230715.1434.tar
blob: 941c3f6d7ab53d93a7409150f0ff7541ce33c515 (plain)
ofshex dumpascii
0000 6e 6f 76 2d 32 30 32 33 30 37 31 35 2e 31 34 33 34 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 nov-20230715.1434/..............
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 36 31 32 00 20 35 00 00 00 0000000.00000000000.011612..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 6e 6f 76 2d 32 30 32 33 30 37 31 35 2e 31 34 33 34 2f 6e 6f 76 2e 65 6c 00 00 00 00 00 00 00 00 nov-20230715.1434/nov.el........
0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0260 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
0280 30 31 31 32 35 32 31 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 32 37 34 30 00 20 30 00 00 00 0112521.00000000000.012740..0...
02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0300 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
0320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0400 3b 3b 3b 20 6e 6f 76 2e 65 6c 20 2d 2d 2d 20 46 65 61 74 75 72 65 66 75 6c 20 45 50 55 42 20 72 ;;;.nov.el.---.Featureful.EPUB.r
0420 65 61 64 65 72 20 6d 6f 64 65 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 31 eader.mode..;;.Copyright.(C).201
0440 37 20 56 61 73 69 6c 69 6a 20 53 63 68 6e 65 69 64 65 72 6d 61 6e 6e 20 3c 6d 61 69 6c 40 76 61 7.Vasilij.Schneidermann.<mail@va
0460 73 69 6c 69 6a 2e 64 65 3e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 56 61 73 69 6c 69 6a 20 53 63 silij.de>..;;.Author:.Vasilij.Sc
0480 68 6e 65 69 64 65 72 6d 61 6e 6e 20 3c 6d 61 69 6c 40 76 61 73 69 6c 69 6a 2e 64 65 3e 0a 3b 3b hneidermann.<mail@vasilij.de>.;;
04a0 20 55 52 4c 3a 20 68 74 74 70 73 3a 2f 2f 64 65 70 70 2e 62 72 61 75 73 65 2e 63 63 2f 6e 6f 76 .URL:.https://depp.brause.cc/nov
04c0 2e 65 6c 0a 3b 3b 20 56 65 72 73 69 6f 6e 3a 20 30 2e 34 2e 30 0a 3b 3b 20 50 61 63 6b 61 67 65 .el.;;.Version:.0.4.0.;;.Package
04e0 2d 52 65 71 75 69 72 65 73 3a 20 28 28 65 73 78 6d 6c 20 22 30 2e 33 2e 36 22 29 20 28 65 6d 61 -Requires:.((esxml."0.3.6").(ema
0500 63 73 20 22 32 35 2e 31 22 29 29 0a 3b 3b 20 4b 65 79 77 6f 72 64 73 3a 20 68 79 70 65 72 6d 65 cs."25.1")).;;.Keywords:.hyperme
0520 64 69 61 2c 20 6d 75 6c 74 69 6d 65 64 69 61 2c 20 65 70 75 62 0a 0a 3b 3b 20 54 68 69 73 20 66 dia,.multimedia,.epub..;;.This.f
0540 69 6c 65 20 69 73 20 4e 4f 54 20 70 61 72 74 20 6f 66 20 47 4e 55 20 45 6d 61 63 73 2e 0a 0a 3b ile.is.NOT.part.of.GNU.Emacs...;
0560 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3b ;.This.program.is.free.software;
0580 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.
05a0 6d 6f 64 69 66 79 0a 3b 3b 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 modify.;;.it.under.the.terms.of.
05c0 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
05e0 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 3b 3b 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 s.published.by.;;.the.Free.Softw
0600 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 33 are.Foundation,.either.version.3
0620 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 3b 3b 20 28 61 74 20 79 6f 75 72 20 .of.the.License,.or.;;.(at.your.
0640 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 3b 3b 20 54 option).any.later.version...;;.T
0660 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 20 74 68 his.program.is.distributed.in.th
0680 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 2c 0a 3b e.hope.that.it.will.be.useful,.;
06a0 3b 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 ;.but.WITHOUT.ANY.WARRANTY;.with
06c0 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
06e0 0a 3b 3b 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 .;;.MERCHANTABILITY.or.FITNESS.F
0700 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 20 74 68 OR.A.PARTICULAR.PURPOSE...See.th
0720 65 0a 3b 3b 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 e.;;.GNU.General.Public.License.
0740 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 3b 3b 20 59 6f 75 20 73 68 6f 75 6c 64 for.more.details...;;.You.should
0760 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 4e 55 .have.received.a.copy.of.the.GNU
0780 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 3b 3b 20 61 6c 6f 6e 67 .General.Public.License.;;.along
07a0 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 65 65 .with.this.program...If.not,.see
07c0 20 3c 68 74 74 70 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 .<http://www.gnu.org/licenses/>.
07e0 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b 20 6e 6f 76 2e 65 6c 20 70 72 6f ..;;;.Commentary:..;;.nov.el.pro
0800 76 69 64 65 73 20 61 20 6d 61 6a 6f 72 20 6d 6f 64 65 20 66 6f 72 20 72 65 61 64 69 6e 67 20 45 vides.a.major.mode.for.reading.E
0820 50 55 42 20 64 6f 63 75 6d 65 6e 74 73 2e 0a 3b 3b 0a 3b 3b 20 46 65 61 74 75 72 65 73 3a 0a 3b PUB.documents..;;.;;.Features:.;
0840 3b 0a 3b 3b 20 2d 20 42 61 73 69 63 20 6e 61 76 69 67 61 74 69 6f 6e 20 28 6a 75 6d 70 20 74 6f ;.;;.-.Basic.navigation.(jump.to
0860 20 54 4f 43 2c 20 70 72 65 76 69 6f 75 73 2f 6e 65 78 74 20 63 68 61 70 74 65 72 29 0a 3b 3b 20 .TOC,.previous/next.chapter).;;.
0880 2d 20 52 65 6d 65 6d 62 65 72 69 6e 67 20 61 6e 64 20 72 65 73 74 6f 72 69 6e 67 20 74 68 65 20 -.Remembering.and.restoring.the.
08a0 6c 61 73 74 20 72 65 61 64 20 70 6f 73 69 74 69 6f 6e 0a 3b 3b 20 2d 20 4a 75 6d 70 20 74 6f 20 last.read.position.;;.-.Jump.to.
08c0 6e 65 78 74 20 63 68 61 70 74 65 72 20 77 68 65 6e 20 73 63 72 6f 6c 6c 69 6e 67 20 62 65 79 6f next.chapter.when.scrolling.beyo
08e0 6e 64 20 65 6e 64 0a 3b 3b 20 2d 20 53 74 6f 72 69 6e 67 20 61 6e 64 20 66 6f 6c 6c 6f 77 69 6e nd.end.;;.-.Storing.and.followin
0900 67 20 4f 72 67 20 6c 69 6e 6b 73 20 74 6f 20 45 50 55 42 20 66 69 6c 65 73 0a 3b 3b 20 2d 20 52 g.Org.links.to.EPUB.files.;;.-.R
0920 65 6e 64 65 72 73 20 45 50 55 42 32 20 28 2e 6e 63 78 29 20 61 6e 64 20 45 50 55 42 33 20 28 3c enders.EPUB2.(.ncx).and.EPUB3.(<
0940 6e 61 76 3e 29 20 54 4f 43 73 0a 3b 3b 20 2d 20 48 79 70 65 72 6c 69 6e 6b 73 20 74 6f 20 69 6e nav>).TOCs.;;.-.Hyperlinks.to.in
0960 74 65 72 6e 61 6c 20 61 6e 64 20 65 78 74 65 72 6e 61 6c 20 74 61 72 67 65 74 73 0a 3b 3b 20 2d ternal.and.external.targets.;;.-
0980 20 53 75 70 70 6f 72 74 73 20 74 65 78 74 75 61 6c 20 61 6e 64 20 69 6d 61 67 65 20 64 6f 63 75 .Supports.textual.and.image.docu
09a0 6d 65 6e 74 73 0a 3b 3b 20 2d 20 49 6e 66 6f 2d 73 74 79 6c 65 20 68 69 73 74 6f 72 79 20 6e 61 ments.;;.-.Info-style.history.na
09c0 76 69 67 61 74 69 6f 6e 0a 3b 3b 20 2d 20 56 69 65 77 20 73 6f 75 72 63 65 20 6f 66 20 64 6f 63 vigation.;;.-.View.source.of.doc
09e0 75 6d 65 6e 74 20 66 69 6c 65 73 0a 3b 3b 20 2d 20 4d 65 74 61 64 61 74 61 20 64 69 73 70 6c 61 ument.files.;;.-.Metadata.displa
0a00 79 0a 3b 3b 20 2d 20 49 6d 61 67 65 20 72 65 73 63 61 6c 69 6e 67 0a 0a 3b 3b 3b 20 43 6f 64 65 y.;;.-.Image.rescaling..;;;.Code
0a20 3a 0a 0a 28 72 65 71 75 69 72 65 20 27 63 6c 2d 6c 69 62 29 0a 28 72 65 71 75 69 72 65 20 27 64 :..(require.'cl-lib).(require.'d
0a40 6f 6d 29 0a 28 72 65 71 75 69 72 65 20 27 65 73 78 6d 6c 2d 71 75 65 72 79 29 0a 28 72 65 71 75 om).(require.'esxml-query).(requ
0a60 69 72 65 20 27 69 6d 61 67 65 29 0a 28 72 65 71 75 69 72 65 20 27 73 65 71 29 0a 28 72 65 71 75 ire.'image).(require.'seq).(requ
0a80 69 72 65 20 27 73 68 72 29 0a 28 72 65 71 75 69 72 65 20 27 75 72 6c 2d 70 61 72 73 65 29 0a 28 ire.'shr).(require.'url-parse).(
0aa0 72 65 71 75 69 72 65 20 27 78 6d 6c 29 0a 0a 28 72 65 71 75 69 72 65 20 27 62 6f 6f 6b 6d 61 72 require.'xml)..(require.'bookmar
0ac0 6b 29 0a 28 72 65 71 75 69 72 65 20 27 65 61 73 79 6d 65 6e 75 29 0a 28 72 65 71 75 69 72 65 20 k).(require.'easymenu).(require.
0ae0 27 69 6d 65 6e 75 29 0a 28 72 65 71 75 69 72 65 20 27 6f 72 67 29 0a 28 72 65 71 75 69 72 65 20 'imenu).(require.'org).(require.
0b00 27 72 65 63 65 6e 74 66 29 0a 0a 28 77 68 65 6e 20 28 6e 6f 74 20 28 66 62 6f 75 6e 64 70 20 27 'recentf)..(when.(not.(fboundp.'
0b20 6c 69 62 78 6d 6c 2d 70 61 72 73 65 2d 78 6d 6c 2d 72 65 67 69 6f 6e 29 29 0a 20 20 28 6d 65 73 libxml-parse-xml-region))...(mes
0b40 73 61 67 65 20 22 59 6f 75 72 20 45 6d 61 63 73 20 77 61 73 6e 27 74 20 63 6f 6d 70 69 6c 65 64 sage."Your.Emacs.wasn't.compiled
0b60 20 77 69 74 68 20 6c 69 62 78 6d 6c 20 73 75 70 70 6f 72 74 22 29 29 0a 0a 0c 0a 3b 3b 3b 20 45 .with.libxml.support"))....;;;.E
0b80 50 55 42 20 70 72 65 70 61 72 61 74 69 6f 6e 0a 0a 28 64 65 66 67 72 6f 75 70 20 6e 6f 76 20 6e PUB.preparation..(defgroup.nov.n
0ba0 69 6c 0a 20 20 22 45 50 55 42 20 72 65 61 64 65 72 20 6d 6f 64 65 22 0a 20 20 3a 67 72 6f 75 70 il..."EPUB.reader.mode"...:group
0bc0 20 27 6d 75 6c 74 69 6d 65 64 69 61 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 6e 6f 76 2d 75 6e .'multimedia)..(defcustom.nov-un
0be0 7a 69 70 2d 70 72 6f 67 72 61 6d 20 28 65 78 65 63 75 74 61 62 6c 65 2d 66 69 6e 64 20 22 75 6e zip-program.(executable-find."un
0c00 7a 69 70 22 29 0a 20 20 22 50 61 74 68 20 74 6f 20 64 65 63 6f 6d 70 72 65 73 73 69 6f 6e 20 65 zip")..."Path.to.decompression.e
0c20 78 65 63 75 74 61 62 6c 65 2e 22 0a 20 20 3a 74 79 70 65 20 27 28 66 69 6c 65 20 3a 6d 75 73 74 xecutable."...:type.'(file.:must
0c40 2d 6d 61 74 63 68 20 74 29 0a 20 20 3a 67 72 6f 75 70 20 27 6e 6f 76 29 0a 0a 28 64 65 66 63 75 -match.t)...:group.'nov)..(defcu
0c60 73 74 6f 6d 20 6e 6f 76 2d 75 6e 7a 69 70 2d 61 72 67 73 20 27 28 22 2d 6f 64 22 20 64 69 72 65 stom.nov-unzip-args.'("-od".dire
0c80 63 74 6f 72 79 20 66 69 6c 65 6e 61 6d 65 29 0a 20 20 22 41 72 67 75 6d 65 6e 74 73 20 74 6f 20 ctory.filename)..."Arguments.to.
0ca0 64 65 63 6f 6d 70 72 65 73 73 69 6f 6e 20 65 78 65 63 75 74 61 62 6c 65 2e 0a 54 68 69 73 20 76 decompression.executable..This.v
0cc0 61 72 69 61 62 6c 65 20 65 78 70 65 63 74 73 20 61 20 6c 69 73 74 20 6f 66 20 73 74 72 69 6e 67 ariable.expects.a.list.of.string
0ce0 73 2c 20 65 78 63 65 70 74 20 66 6f 72 20 60 64 69 72 65 63 74 6f 72 79 27 0a 61 6e 64 20 60 66 s,.except.for.`directory'.and.`f
0d00 69 6c 65 6e 61 6d 65 27 20 73 79 6d 62 6f 6c 73 2c 20 77 68 69 63 68 20 77 69 6c 6c 20 62 65 20 ilename'.symbols,.which.will.be.
0d20 72 65 70 6c 61 63 65 64 20 61 63 63 6f 72 64 69 6e 67 6c 79 20 77 68 65 6e 0a 6f 70 65 6e 69 6e replaced.accordingly.when.openin
0d40 67 20 61 6e 20 45 50 55 42 20 66 69 6c 65 2e 22 0a 20 20 3a 74 79 70 65 20 27 6c 69 73 74 0a 20 g.an.EPUB.file."...:type.'list..
0d60 20 3a 67 72 6f 75 70 20 27 6e 6f 76 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 6e 6f 76 2d 76 61 .:group.'nov)..(defcustom.nov-va
0d80 72 69 61 62 6c 65 2d 70 69 74 63 68 20 74 0a 20 20 22 4e 6f 6e 2d 6e 69 6c 20 69 66 20 61 20 76 riable-pitch.t..."Non-nil.if.a.v
0da0 61 72 69 61 62 6c 65 20 70 69 74 63 68 20 66 61 63 65 20 73 68 6f 75 6c 64 20 62 65 20 75 73 65 ariable.pitch.face.should.be.use
0dc0 64 2e 0a 4f 74 68 65 72 77 69 73 65 20 74 68 65 20 64 65 66 61 75 6c 74 20 66 61 63 65 20 69 73 d..Otherwise.the.default.face.is
0de0 20 75 73 65 64 2e 22 0a 20 20 3a 74 79 70 65 20 27 62 6f 6f 6c 65 61 6e 0a 20 20 3a 67 72 6f 75 .used."...:type.'boolean...:grou
0e00 70 20 27 6e 6f 76 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 6e 6f 76 2d 74 65 78 74 2d 77 69 64 p.'nov)..(defcustom.nov-text-wid
0e20 74 68 20 6e 69 6c 0a 20 20 22 57 69 64 74 68 20 66 69 6c 6c 65 64 20 74 65 78 74 20 73 68 61 6c th.nil..."Width.filled.text.shal
0e40 6c 20 6f 63 63 75 70 79 2e 0a 41 6e 20 69 6e 74 65 67 65 72 20 69 73 20 69 6e 74 65 72 70 72 65 l.occupy..An.integer.is.interpre
0e60 74 65 64 20 61 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 63 6f 6c 75 6d 6e 73 2e 20 20 49 ted.as.the.number.of.columns...I
0e80 66 20 6e 69 6c 2c 20 75 73 65 0a 74 68 65 20 66 75 6c 6c 20 77 69 6e 64 6f 77 27 73 20 77 69 64 f.nil,.use.the.full.window's.wid
0ea0 74 68 2e 20 20 49 66 20 74 2c 20 64 69 73 61 62 6c 65 20 66 69 6c 6c 69 6e 67 20 63 6f 6d 70 6c th...If.t,.disable.filling.compl
0ec0 65 74 65 6c 79 2e 20 20 4e 6f 74 65 0a 74 68 61 74 20 74 68 69 73 20 76 61 72 69 61 62 6c 65 20 etely...Note.that.this.variable.
0ee0 6f 6e 6c 79 20 68 61 73 20 61 6e 20 65 66 66 65 63 74 20 69 6e 20 45 6d 61 63 73 20 32 35 2e 31 only.has.an.effect.in.Emacs.25.1
0f00 20 6f 72 20 67 72 65 61 74 65 72 2e 22 0a 20 20 3a 74 79 70 65 20 27 28 63 68 6f 69 63 65 20 28 .or.greater."...:type.'(choice.(
0f20 69 6e 74 65 67 65 72 20 3a 74 61 67 20 22 46 69 78 65 64 20 77 69 64 74 68 20 69 6e 20 63 68 61 integer.:tag."Fixed.width.in.cha
0f40 72 61 63 74 65 72 73 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 racters")..................(cons
0f60 74 20 20 20 3a 74 61 67 20 22 55 73 65 20 74 68 65 20 77 69 64 74 68 20 6f 66 20 74 68 65 20 77 t...:tag."Use.the.width.of.the.w
0f80 69 6e 64 6f 77 22 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f indow".nil)..................(co
0fa0 6e 73 74 20 20 20 3a 74 61 67 20 22 44 69 73 61 62 6c 65 20 66 69 6c 6c 69 6e 67 22 20 74 29 29 nst...:tag."Disable.filling".t))
0fc0 0a 20 20 3a 67 72 6f 75 70 20 27 6e 6f 76 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 6e 6f 76 2d ...:group.'nov)..(defcustom.nov-
0fe0 72 65 6e 64 65 72 2d 68 74 6d 6c 2d 66 75 6e 63 74 69 6f 6e 20 27 6e 6f 76 2d 72 65 6e 64 65 72 render-html-function.'nov-render
1000 2d 68 74 6d 6c 0a 20 20 22 46 75 6e 63 74 69 6f 6e 20 75 73 65 64 20 74 6f 20 72 65 6e 64 65 72 -html..."Function.used.to.render
1020 20 48 54 4d 4c 2e 0a 49 74 27 73 20 63 61 6c 6c 65 64 20 77 69 74 68 6f 75 74 20 61 72 67 75 6d .HTML..It's.called.without.argum
1040 65 6e 74 73 20 77 69 74 68 20 61 20 62 75 66 66 65 72 20 63 6f 6e 74 61 69 6e 69 6e 67 20 48 54 ents.with.a.buffer.containing.HT
1060 4d 4c 20 61 6e 64 0a 73 68 6f 75 6c 64 20 63 68 61 6e 67 65 20 69 74 20 74 6f 20 63 6f 6e 74 61 ML.and.should.change.it.to.conta
1080 69 6e 20 74 68 65 20 72 65 6e 64 65 72 65 64 20 76 65 72 73 69 6f 6e 20 6f 66 20 69 74 2e 22 0a in.the.rendered.version.of.it.".
10a0 20 20 3a 74 79 70 65 20 27 66 75 6e 63 74 69 6f 6e 0a 20 20 3a 67 72 6f 75 70 20 27 6e 6f 76 29 ..:type.'function...:group.'nov)
10c0 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 6e 6f 76 2d 70 72 65 2d 68 74 6d 6c 2d 72 65 6e 64 65 72 ..(defcustom.nov-pre-html-render
10e0 2d 68 6f 6f 6b 20 6e 69 6c 0a 20 20 22 48 6f 6f 6b 20 72 75 6e 20 62 65 66 6f 72 65 20 60 6e 6f -hook.nil..."Hook.run.before.`no
1100 76 2d 72 65 6e 64 65 72 2d 68 74 6d 6c 27 2e 22 0a 20 20 3a 74 79 70 65 20 27 68 6f 6f 6b 0a 20 v-render-html'."...:type.'hook..
1120 20 3a 67 72 6f 75 70 20 27 6e 6f 76 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 6e 6f 76 2d 70 6f .:group.'nov)..(defcustom.nov-po
1140 73 74 2d 68 74 6d 6c 2d 72 65 6e 64 65 72 2d 68 6f 6f 6b 20 6e 69 6c 0a 20 20 22 48 6f 6f 6b 20 st-html-render-hook.nil..."Hook.
1160 72 75 6e 20 61 66 74 65 72 20 60 6e 6f 76 2d 72 65 6e 64 65 72 2d 68 74 6d 6c 27 2e 22 0a 20 20 run.after.`nov-render-html'."...
1180 3a 74 79 70 65 20 27 68 6f 6f 6b 0a 20 20 3a 67 72 6f 75 70 20 27 6e 6f 76 29 0a 0a 28 64 65 66 :type.'hook...:group.'nov)..(def
11a0 63 75 73 74 6f 6d 20 6e 6f 76 2d 73 61 76 65 2d 70 6c 61 63 65 2d 66 69 6c 65 20 28 6c 6f 63 61 custom.nov-save-place-file.(loca
11c0 74 65 2d 75 73 65 72 2d 65 6d 61 63 73 2d 66 69 6c 65 20 22 6e 6f 76 2d 70 6c 61 63 65 73 22 29 te-user-emacs-file."nov-places")
11e0 0a 20 20 22 46 69 6c 65 20 6e 61 6d 65 20 77 68 65 72 65 20 6c 61 73 74 20 72 65 61 64 69 6e 67 ..."File.name.where.last.reading
1200 20 70 6c 61 63 65 73 20 61 72 65 20 73 61 76 65 64 20 74 6f 20 61 6e 64 20 72 65 73 74 6f 72 65 .places.are.saved.to.and.restore
1220 64 20 66 72 6f 6d 2e 0a 49 66 20 73 65 74 20 74 6f 20 60 6e 69 6c 27 2c 20 6e 6f 20 73 61 76 69 d.from..If.set.to.`nil',.no.savi
1240 6e 67 20 61 6e 64 20 72 65 73 74 6f 72 69 6e 67 20 69 73 20 70 65 72 66 6f 72 6d 65 64 2e 22 0a ng.and.restoring.is.performed.".
1260 20 20 3a 74 79 70 65 20 27 28 63 68 6f 69 63 65 20 28 66 69 6c 65 20 20 3a 74 61 67 20 22 46 69 ..:type.'(choice.(file..:tag."Fi
1280 6c 65 20 6e 61 6d 65 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 le.name")..................(cons
12a0 74 20 3a 74 61 67 20 22 44 6f 6e 27 74 20 73 61 76 65 20 6c 61 73 74 20 72 65 61 64 69 6e 67 20 t.:tag."Don't.save.last.reading.
12c0 70 6c 61 63 65 73 22 20 6e 69 6c 29 29 0a 20 20 3a 67 72 6f 75 70 20 27 6e 6f 76 29 0a 0a 28 64 places".nil))...:group.'nov)..(d
12e0 65 66 63 75 73 74 6f 6d 20 6e 6f 76 2d 68 65 61 64 65 72 2d 6c 69 6e 65 2d 66 6f 72 6d 61 74 20 efcustom.nov-header-line-format.
1300 22 25 74 3a 20 25 63 22 0a 20 20 22 48 65 61 64 65 72 20 6c 69 6e 65 20 66 6f 72 6d 61 74 2e 0a "%t:.%c"..."Header.line.format..
1320 2d 20 25 74 20 69 73 20 72 65 70 6c 61 63 65 64 20 62 79 20 74 68 65 20 74 69 74 6c 65 2e 0a 2d -.%t.is.replaced.by.the.title..-
1340 20 25 63 20 69 73 20 72 65 70 6c 61 63 65 64 20 62 79 20 74 68 65 20 63 68 61 70 74 65 72 20 74 .%c.is.replaced.by.the.chapter.t
1360 69 74 6c 65 2e 22 0a 20 20 3a 74 79 70 65 20 27 73 74 72 69 6e 67 0a 20 20 3a 67 72 6f 75 70 20 itle."...:type.'string...:group.
1380 27 6e 6f 76 29 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 6e 6f 76 2d 66 69 6c 65 2d 6e 61 'nov)..(defvar-local.nov-file-na
13a0 6d 65 20 6e 69 6c 0a 20 20 22 50 61 74 68 20 74 6f 20 74 68 65 20 45 50 55 42 20 66 69 6c 65 20 me.nil..."Path.to.the.EPUB.file.
13c0 62 61 63 6b 69 6e 67 20 74 68 69 73 20 62 75 66 66 65 72 2e 22 29 0a 0a 28 64 65 66 76 61 72 2d backing.this.buffer.")..(defvar-
13e0 6c 6f 63 61 6c 20 6e 6f 76 2d 74 65 6d 70 2d 64 69 72 20 6e 69 6c 0a 20 20 22 54 65 6d 70 6f 72 local.nov-temp-dir.nil..."Tempor
1400 61 72 79 20 64 69 72 65 63 74 6f 72 79 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 62 75 66 ary.directory.containing.the.buf
1420 66 65 72 27 73 20 45 50 55 42 20 66 69 6c 65 73 2e 22 29 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 fer's.EPUB.files.")..(defvar-loc
1440 61 6c 20 6e 6f 76 2d 63 6f 6e 74 65 6e 74 2d 66 69 6c 65 20 6e 69 6c 0a 20 20 22 50 61 74 68 20 al.nov-content-file.nil..."Path.
1460 74 6f 20 74 68 65 20 45 50 55 42 20 62 75 66 66 65 72 27 73 20 2e 6f 70 66 20 66 69 6c 65 2e 22 to.the.EPUB.buffer's..opf.file."
1480 29 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 6e 6f 76 2d 65 70 75 62 2d 76 65 72 73 69 6f )..(defvar-local.nov-epub-versio
14a0 6e 20 6e 69 6c 0a 20 20 22 56 65 72 73 69 6f 6e 20 73 74 72 69 6e 67 20 6f 66 20 74 68 65 20 45 n.nil..."Version.string.of.the.E
14c0 50 55 42 20 62 75 66 66 65 72 2e 22 29 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 6e 6f 76 PUB.buffer.")..(defvar-local.nov
14e0 2d 6d 65 74 61 64 61 74 61 20 6e 69 6c 0a 20 20 22 4d 65 74 61 64 61 74 61 20 6f 66 20 74 68 65 -metadata.nil..."Metadata.of.the
1500 20 45 50 55 42 20 62 75 66 66 65 72 2e 22 29 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 6e .EPUB.buffer.")..(defvar-local.n
1520 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 20 6e 69 6c 0a 20 20 22 41 6c 69 73 74 20 66 6f 72 20 74 68 ov-documents.nil..."Alist.for.th
1540 65 20 45 50 55 42 20 62 75 66 66 65 72 27 73 20 64 6f 63 75 6d 65 6e 74 73 2e 0a 45 61 63 68 20 e.EPUB.buffer's.documents..Each.
1560 61 6c 69 73 74 20 69 74 65 6d 20 63 6f 6e 73 69 73 74 73 20 6f 66 20 74 68 65 20 69 64 65 6e 74 alist.item.consists.of.the.ident
1580 69 66 69 65 72 20 61 6e 64 20 66 75 6c 6c 20 70 61 74 68 2e 22 29 0a 0a 28 64 65 66 76 61 72 2d ifier.and.full.path.")..(defvar-
15a0 6c 6f 63 61 6c 20 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 2d 69 6e 64 65 78 20 30 0a 20 20 22 49 local.nov-documents-index.0..."I
15c0 6e 64 65 78 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 6c 79 20 72 65 6e 64 65 72 65 64 20 64 ndex.of.the.currently.rendered.d
15e0 6f 63 75 6d 65 6e 74 20 69 6e 20 74 68 65 20 45 50 55 42 20 62 75 66 66 65 72 2e 22 29 0a 0a 28 ocument.in.the.EPUB.buffer.")..(
1600 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 6e 6f 76 2d 74 6f 63 2d 69 64 20 6e 69 6c 0a 20 20 22 54 defvar-local.nov-toc-id.nil..."T
1620 4f 43 20 69 64 65 6e 74 69 66 69 65 72 20 6f 66 20 74 68 65 20 45 50 55 42 20 62 75 66 66 65 72 OC.identifier.of.the.EPUB.buffer
1640 2e 22 29 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 6e 6f 76 2d 68 69 73 74 6f 72 79 20 6e .")..(defvar-local.nov-history.n
1660 69 6c 0a 20 20 22 53 74 61 63 6b 20 6f 66 20 64 6f 63 75 6d 65 6e 74 73 20 75 73 65 72 20 68 61 il..."Stack.of.documents.user.ha
1680 73 20 76 69 73 69 74 65 64 2e 0a 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 73 s.visited..Each.element.of.the.s
16a0 74 61 63 6b 20 69 73 20 61 20 6c 69 73 74 20 28 4e 4f 44 45 49 4e 44 45 58 20 42 55 46 46 45 52 tack.is.a.list.(NODEINDEX.BUFFER
16c0 50 4f 53 29 2e 22 29 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 6e 6f 76 2d 68 69 73 74 6f POS).")..(defvar-local.nov-histo
16e0 72 79 2d 66 6f 72 77 61 72 64 20 6e 69 6c 0a 20 20 22 53 74 61 63 6b 20 6f 66 20 64 6f 63 75 6d ry-forward.nil..."Stack.of.docum
1700 65 6e 74 73 20 75 73 65 72 20 68 61 73 20 76 69 73 69 74 65 64 20 77 69 74 68 20 60 6e 6f 76 2d ents.user.has.visited.with.`nov-
1720 68 69 73 74 6f 72 79 2d 62 61 63 6b 27 20 63 6f 6d 6d 61 6e 64 2e 0a 45 61 63 68 20 65 6c 65 6d history-back'.command..Each.elem
1740 65 6e 74 20 6f 66 20 74 68 65 20 73 74 61 63 6b 20 69 73 20 61 20 6c 69 73 74 20 28 4e 4f 44 45 ent.of.the.stack.is.a.list.(NODE
1760 49 4e 44 45 58 20 42 55 46 46 45 52 50 4f 53 29 2e 22 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d INDEX.BUFFERPOS).")..(defun.nov-
1780 6d 61 6b 65 2d 70 61 74 68 20 28 64 69 72 65 63 74 6f 72 79 20 66 69 6c 65 29 0a 20 20 22 43 72 make-path.(directory.file)..."Cr
17a0 65 61 74 65 20 61 20 70 61 74 68 20 66 72 6f 6d 20 44 49 52 45 43 54 4f 52 59 20 61 6e 64 20 46 eate.a.path.from.DIRECTORY.and.F
17c0 49 4c 45 2e 22 0a 20 20 28 63 6f 6e 63 61 74 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 61 73 2d 64 69 ILE."...(concat.(file-name-as-di
17e0 72 65 63 74 6f 72 79 20 64 69 72 65 63 74 6f 72 79 29 20 66 69 6c 65 29 29 0a 0a 28 64 65 66 75 rectory.directory).file))..(defu
1800 6e 20 6e 6f 76 2d 64 69 72 65 63 74 6f 72 79 2d 66 69 6c 65 73 20 28 64 69 72 65 63 74 6f 72 79 n.nov-directory-files.(directory
1820 29 0a 20 20 22 52 65 74 75 72 6e 73 20 61 20 6c 69 73 74 20 6f 66 20 66 69 6c 65 73 20 69 6e 20 )..."Returns.a.list.of.files.in.
1840 44 49 52 45 43 54 4f 52 59 20 65 78 63 65 70 74 20 66 6f 72 20 2e 20 61 6e 64 20 2e 2e 22 0a 20 DIRECTORY.except.for...and..."..
1860 20 28 73 65 71 2d 72 65 6d 6f 76 65 20 28 6c 61 6d 62 64 61 20 28 66 69 6c 65 29 20 28 73 74 72 .(seq-remove.(lambda.(file).(str
1880 69 6e 67 2d 6d 61 74 63 68 2d 70 20 22 2f 5c 5c 2e 5c 5c 28 3f 3a 5c 5c 2e 5c 5c 29 3f 5c 5c 27 ing-match-p."/\\.\\(?:\\.\\)?\\'
18a0 22 20 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 69 72 65 63 74 6f 72 ".file))...............(director
18c0 79 2d 66 69 6c 65 73 20 64 69 72 65 63 74 6f 72 79 20 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e y-files.directory.t)))..(defun.n
18e0 6f 76 2d 63 6f 6e 74 61 69 6e 73 2d 6e 65 73 74 65 64 2d 64 69 72 65 63 74 6f 72 79 2d 70 20 28 ov-contains-nested-directory-p.(
1900 64 69 72 65 63 74 6f 72 79 29 0a 20 20 22 4e 6f 6e 2d 6e 69 6c 20 69 66 20 44 49 52 45 43 54 4f directory)..."Non-nil.if.DIRECTO
1920 52 59 20 63 6f 6e 74 61 69 6e 73 20 65 78 61 63 74 6c 79 20 6f 6e 65 20 64 69 72 65 63 74 6f 72 RY.contains.exactly.one.director
1940 79 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 66 69 6c 65 73 20 28 6e 6f 76 2d 64 69 72 65 63 74 6f y."...(let*.((files.(nov-directo
1960 72 79 2d 66 69 6c 65 73 20 64 69 72 65 63 74 6f 72 79 29 29 0a 20 20 20 20 20 20 20 20 20 28 66 ry-files.directory))..........(f
1980 69 6c 65 20 28 63 61 72 20 66 69 6c 65 73 29 29 29 0a 20 20 20 20 28 61 6e 64 20 28 3d 20 28 6c ile.(car.files))).....(and.(=.(l
19a0 65 6e 67 74 68 20 66 69 6c 65 73 29 20 31 29 0a 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 2d 64 ength.files).1)..........(file-d
19c0 69 72 65 63 74 6f 72 79 2d 70 20 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 66 69 6c 65 29 29 irectory-p.file)..........file))
19e0 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 75 6e 6e 65 73 74 2d 64 69 72 65 63 74 6f 72 79 20 28 )..(defun.nov-unnest-directory.(
1a00 64 69 72 65 63 74 6f 72 79 20 63 68 69 6c 64 29 0a 20 20 22 4d 6f 76 65 20 63 6f 6e 74 65 6e 74 directory.child)..."Move.content
1a20 73 20 6f 66 20 43 48 49 4c 44 20 69 6e 74 6f 20 44 49 52 45 43 54 4f 52 59 2c 20 74 68 65 6e 20 s.of.CHILD.into.DIRECTORY,.then.
1a40 64 65 6c 65 74 65 20 43 48 49 4c 44 2e 22 0a 20 20 3b 3b 20 46 49 58 4d 45 3a 20 74 68 69 73 20 delete.CHILD."...;;.FIXME:.this.
1a60 77 69 6c 6c 20 6d 6f 73 74 20 63 65 72 74 61 69 6e 6c 79 20 66 61 69 6c 20 66 6f 72 20 63 6f 6e will.most.certainly.fail.for.con
1a80 2f 63 6f 6e 0a 20 20 28 64 6f 6c 69 73 74 20 28 69 74 65 6d 20 28 6e 6f 76 2d 64 69 72 65 63 74 /con...(dolist.(item.(nov-direct
1aa0 6f 72 79 2d 66 69 6c 65 73 20 63 68 69 6c 64 29 29 0a 20 20 20 20 28 72 65 6e 61 6d 65 2d 66 69 ory-files.child)).....(rename-fi
1ac0 6c 65 20 69 74 65 6d 20 64 69 72 65 63 74 6f 72 79 29 29 0a 20 20 28 64 65 6c 65 74 65 2d 64 69 le.item.directory))...(delete-di
1ae0 72 65 63 74 6f 72 79 20 63 68 69 6c 64 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 2d 66 69 78 rectory.child))..(defun.nov--fix
1b00 2d 70 65 72 6d 69 73 73 69 6f 6e 73 20 28 66 69 6c 65 2d 6f 72 2d 64 69 72 65 63 74 6f 72 79 20 -permissions.(file-or-directory.
1b20 6d 6f 64 65 29 0a 20 20 28 6c 65 74 2a 20 28 28 6d 6f 64 65 73 20 28 66 69 6c 65 2d 6d 6f 64 65 mode)...(let*.((modes.(file-mode
1b40 73 20 66 69 6c 65 2d 6f 72 2d 64 69 72 65 63 74 6f 72 79 29 29 0a 20 20 20 20 20 20 20 20 20 28 s.file-or-directory))..........(
1b60 66 69 78 65 64 2d 6d 6f 64 65 20 28 66 69 6c 65 2d 6d 6f 64 65 73 2d 73 79 6d 62 6f 6c 69 63 2d fixed-mode.(file-modes-symbolic-
1b80 74 6f 2d 6e 75 6d 62 65 72 20 6d 6f 64 65 20 6d 6f 64 65 73 29 29 29 0a 20 20 20 20 28 73 65 74 to-number.mode.modes))).....(set
1ba0 2d 66 69 6c 65 2d 6d 6f 64 65 73 20 66 69 6c 65 2d 6f 72 2d 64 69 72 65 63 74 6f 72 79 20 66 69 -file-modes.file-or-directory.fi
1bc0 78 65 64 2d 6d 6f 64 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 66 69 78 2d 70 65 72 6d xed-mode)))..(defun.nov-fix-perm
1be0 69 73 73 69 6f 6e 73 20 28 64 69 72 65 63 74 6f 72 79 29 0a 20 20 22 49 74 65 72 61 74 65 20 72 issions.(directory)..."Iterate.r
1c00 65 63 75 72 73 69 76 65 6c 79 20 74 68 72 6f 75 67 68 20 44 49 52 45 43 54 4f 52 59 20 74 6f 20 ecursively.through.DIRECTORY.to.
1c20 66 69 78 20 69 74 73 20 66 69 6c 65 73 2e 22 0a 20 20 28 6e 6f 76 2d 2d 66 69 78 2d 70 65 72 6d fix.its.files."...(nov--fix-perm
1c40 69 73 73 69 6f 6e 73 20 64 69 72 65 63 74 6f 72 79 20 22 2b 72 78 22 29 0a 20 20 28 64 6f 6c 69 issions.directory."+rx")...(doli
1c60 73 74 20 28 66 69 6c 65 20 28 6e 6f 76 2d 64 69 72 65 63 74 6f 72 79 2d 66 69 6c 65 73 20 64 69 st.(file.(nov-directory-files.di
1c80 72 65 63 74 6f 72 79 29 29 0a 20 20 20 20 28 69 66 20 28 66 69 6c 65 2d 64 69 72 65 63 74 6f 72 rectory)).....(if.(file-director
1ca0 79 2d 70 20 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 28 6e 6f 76 2d 66 69 78 2d 70 65 72 6d 69 y-p.file).........(nov-fix-permi
1cc0 73 73 69 6f 6e 73 20 66 69 6c 65 29 0a 20 20 20 20 20 20 28 6e 6f 76 2d 2d 66 69 78 2d 70 65 72 ssions.file).......(nov--fix-per
1ce0 6d 69 73 73 69 6f 6e 73 20 66 69 6c 65 20 22 2b 72 22 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e missions.file."+r"))))..(defun.n
1d00 6f 76 2d 75 6e 7a 69 70 2d 65 70 75 62 20 28 64 69 72 65 63 74 6f 72 79 20 66 69 6c 65 6e 61 6d ov-unzip-epub.(directory.filenam
1d20 65 29 0a 20 20 22 45 78 74 72 61 63 74 20 46 49 4c 45 4e 41 4d 45 20 69 6e 74 6f 20 44 49 52 45 e)..."Extract.FILENAME.into.DIRE
1d40 43 54 4f 52 59 2e 0a 55 6e 6e 65 63 65 73 73 61 72 79 20 6e 65 73 74 69 6e 67 20 69 73 20 72 65 CTORY..Unnecessary.nesting.is.re
1d60 6d 6f 76 65 64 20 77 69 74 68 20 60 6e 6f 76 2d 75 6e 6e 65 73 74 2d 64 69 72 65 63 74 6f 72 79 moved.with.`nov-unnest-directory
1d80 27 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 73 74 61 74 75 73 20 28 61 70 70 6c 79 20 23 27 63 61 '."...(let*.((status.(apply.#'ca
1da0 6c 6c 2d 70 72 6f 63 65 73 73 20 6e 6f 76 2d 75 6e 7a 69 70 2d 70 72 6f 67 72 61 6d 20 6e 69 6c ll-process.nov-unzip-program.nil
1dc0 20 22 2a 6e 6f 76 20 75 6e 7a 69 70 2a 22 20 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ."*nov.unzip*".t................
1de0 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 61 72 67 29 0a 20 .........(mapcar.(lambda.(arg)..
1e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1e20 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 20 20 20 .(cond..........................
1e40 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20 61 72 67 20 27 64 69 72 65 63 74 6f 72 79 29 20 64 ..........((eq.arg.'directory).d
1e60 69 72 65 63 74 6f 72 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 irectory).......................
1e80 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20 61 72 67 20 27 66 69 6c 65 6e 61 6d 65 29 .............((eq.arg.'filename)
1ea0 20 66 69 6c 65 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .filename)......................
1ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 20 61 72 67 29 29 29 0a 20 20 20 20 20 20 20 20 ..............(t.arg))).........
1ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 6f 76 2d 75 6e 7a 69 ........................nov-unzi
1f00 70 2d 61 72 67 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 63 68 69 6c 64 29 0a 20 20 20 20 28 77 p-args)))..........child).....(w
1f20 68 69 6c 65 20 28 73 65 74 71 20 63 68 69 6c 64 20 28 6e 6f 76 2d 63 6f 6e 74 61 69 6e 73 2d 6e hile.(setq.child.(nov-contains-n
1f40 65 73 74 65 64 2d 64 69 72 65 63 74 6f 72 79 2d 70 20 64 69 72 65 63 74 6f 72 79 29 29 0a 20 20 ested-directory-p.directory))...
1f60 20 20 20 20 28 6e 6f 76 2d 75 6e 6e 65 73 74 2d 64 69 72 65 63 74 6f 72 79 20 64 69 72 65 63 74 ....(nov-unnest-directory.direct
1f80 6f 72 79 20 63 68 69 6c 64 29 29 0a 20 20 20 20 3b 3b 20 48 41 43 4b 3a 20 75 6e 7a 69 70 20 70 ory.child)).....;;.HACK:.unzip.p
1fa0 72 65 73 65 72 76 65 73 20 66 69 6c 65 20 70 65 72 6d 69 73 73 69 6f 6e 73 2c 20 6e 6f 20 6d 61 reserves.file.permissions,.no.ma
1fc0 74 74 65 72 20 68 6f 77 20 73 69 6c 6c 79 20 74 68 65 79 0a 20 20 20 20 3b 3b 20 61 72 65 2c 20 tter.how.silly.they.....;;.are,.
1fe0 73 6f 20 65 6e 73 75 72 65 20 66 69 6c 65 73 20 61 6e 64 20 64 69 72 65 63 74 6f 72 69 65 73 20 so.ensure.files.and.directories.
2000 61 72 65 20 72 65 61 64 61 62 6c 65 0a 20 20 20 20 28 6e 6f 76 2d 66 69 78 2d 70 65 72 6d 69 73 are.readable.....(nov-fix-permis
2020 73 69 6f 6e 73 20 64 69 72 65 63 74 6f 72 79 29 0a 20 20 20 20 73 74 61 74 75 73 29 29 0a 0a 28 sions.directory).....status))..(
2040 64 65 66 75 6e 20 6e 6f 76 2d 77 61 72 6e 20 28 6d 65 73 73 61 67 65 20 26 6f 70 74 69 6f 6e 61 defun.nov-warn.(message.&optiona
2060 6c 20 6c 65 76 65 6c 29 0a 20 20 22 4c 69 6b 65 20 60 64 69 73 70 6c 61 79 2d 77 61 72 6e 69 6e l.level)..."Like.`display-warnin
2080 67 27 2c 20 62 75 74 20 66 6f 72 20 6e 6f 76 2d 73 70 65 63 69 66 69 63 20 77 61 72 6e 69 6e 67 g',.but.for.nov-specific.warning
20a0 73 2e 0a 44 69 73 70 6c 61 79 73 20 4d 45 53 53 41 47 45 20 69 6e 20 61 20 77 61 72 6e 69 6e 67 s..Displays.MESSAGE.in.a.warning
20c0 73 20 62 75 66 66 65 72 2c 20 77 69 74 68 20 4c 45 56 45 4c 20 61 73 20 73 65 76 65 72 69 74 79 s.buffer,.with.LEVEL.as.severity
20e0 2e 22 0a 20 20 28 64 69 73 70 6c 61 79 2d 77 61 72 6e 69 6e 67 20 27 6e 6f 76 20 6d 65 73 73 61 ."...(display-warning.'nov.messa
2100 67 65 20 6c 65 76 65 6c 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 6e 6f 76 2d 69 67 6e 6f 72 65 ge.level))..(defmacro.nov-ignore
2120 2d 66 69 6c 65 2d 65 72 72 6f 72 73 20 28 26 72 65 73 74 20 62 6f 64 79 29 0a 20 20 22 4c 69 6b -file-errors.(&rest.body)..."Lik
2140 65 20 60 69 67 6e 6f 72 65 2d 65 72 72 6f 72 73 27 2c 20 62 75 74 20 66 6f 72 20 66 69 6c 65 20 e.`ignore-errors',.but.for.file.
2160 65 72 72 6f 72 73 2e 22 0a 20 20 60 28 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 6e 69 6c 20 errors."...`(condition-case.nil.
2180 28 70 72 6f 67 6e 20 2c 40 62 6f 64 79 29 20 28 66 69 6c 65 2d 65 72 72 6f 72 20 6e 69 6c 29 29 (progn.,@body).(file-error.nil))
21a0 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 73 6c 75 72 70 20 28 66 69 6c 65 6e 61 6d 65 20 26 6f )..(defun.nov-slurp.(filename.&o
21c0 70 74 69 6f 6e 61 6c 20 70 61 72 73 65 2d 78 6d 6c 2d 70 29 0a 20 20 22 52 65 74 75 72 6e 20 74 ptional.parse-xml-p)..."Return.t
21e0 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 46 49 4c 45 4e 41 4d 45 2e 0a 49 66 20 50 41 52 53 he.contents.of.FILENAME..If.PARS
2200 45 2d 58 4d 4c 2d 50 20 69 73 20 74 2c 20 72 65 74 75 72 6e 20 74 68 65 20 63 6f 6e 74 65 6e 74 E-XML-P.is.t,.return.the.content
2220 73 20 61 73 20 70 61 72 73 65 64 20 62 79 20 6c 69 62 78 6d 6c 2e 22 0a 20 20 28 77 69 74 68 2d s.as.parsed.by.libxml."...(with-
2240 74 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 20 28 69 6e 73 65 72 74 2d 66 69 6c 65 2d 63 6f 6e temp-buffer.....(insert-file-con
2260 74 65 6e 74 73 20 66 69 6c 65 6e 61 6d 65 29 0a 20 20 20 20 28 69 66 20 70 61 72 73 65 2d 78 6d tents.filename).....(if.parse-xm
2280 6c 2d 70 0a 20 20 20 20 20 20 20 20 28 6c 69 62 78 6d 6c 2d 70 61 72 73 65 2d 78 6d 6c 2d 72 65 l-p.........(libxml-parse-xml-re
22a0 67 69 6f 6e 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 gion.(point-min).(point-max))...
22c0 20 20 20 20 28 62 75 66 66 65 72 2d 73 74 72 69 6e 67 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e ....(buffer-string))))..(defun.n
22e0 6f 76 2d 6d 69 6d 65 74 79 70 65 2d 76 61 6c 69 64 2d 70 20 28 64 69 72 65 63 74 6f 72 79 29 0a ov-mimetype-valid-p.(directory).
2300 20 20 22 52 65 74 75 72 6e 20 74 20 69 66 20 44 49 52 45 43 54 4f 52 59 20 63 6f 6e 74 61 69 6e .."Return.t.if.DIRECTORY.contain
2320 73 20 61 20 76 61 6c 69 64 20 45 50 55 42 20 6d 69 6d 65 74 79 70 65 20 66 69 6c 65 2e 22 0a 20 s.a.valid.EPUB.mimetype.file."..
2340 20 28 6e 6f 76 2d 69 67 6e 6f 72 65 2d 66 69 6c 65 2d 65 72 72 6f 72 73 0a 20 20 20 20 28 6c 65 .(nov-ignore-file-errors.....(le
2360 74 20 28 28 66 69 6c 65 6e 61 6d 65 20 28 6e 6f 76 2d 6d 61 6b 65 2d 70 61 74 68 20 64 69 72 65 t.((filename.(nov-make-path.dire
2380 63 74 6f 72 79 20 22 6d 69 6d 65 74 79 70 65 22 29 29 29 0a 20 20 20 20 20 20 28 65 71 75 61 6c ctory."mimetype"))).......(equal
23a0 20 28 6e 6f 76 2d 73 6c 75 72 70 20 66 69 6c 65 6e 61 6d 65 29 20 22 61 70 70 6c 69 63 61 74 69 .(nov-slurp.filename)."applicati
23c0 6f 6e 2f 65 70 75 62 2b 7a 69 70 22 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 63 6f 6e on/epub+zip"))))..(defun.nov-con
23e0 74 61 69 6e 65 72 2d 66 69 6c 65 6e 61 6d 65 20 28 64 69 72 65 63 74 6f 72 79 29 0a 20 20 22 52 tainer-filename.(directory)..."R
2400 65 74 75 72 6e 20 74 68 65 20 63 6f 6e 74 61 69 6e 65 72 20 66 69 6c 65 6e 61 6d 65 20 66 6f 72 eturn.the.container.filename.for
2420 20 44 49 52 45 43 54 4f 52 59 2e 22 0a 20 20 28 6c 65 74 20 28 28 66 69 6c 65 6e 61 6d 65 20 28 .DIRECTORY."...(let.((filename.(
2440 6e 6f 76 2d 6d 61 6b 65 2d 70 61 74 68 20 64 69 72 65 63 74 6f 72 79 20 22 4d 45 54 41 2d 49 4e nov-make-path.directory."META-IN
2460 46 22 29 29 29 0a 20 20 20 20 28 6e 6f 76 2d 6d 61 6b 65 2d 70 61 74 68 20 66 69 6c 65 6e 61 6d F"))).....(nov-make-path.filenam
2480 65 20 22 63 6f 6e 74 61 69 6e 65 72 2e 78 6d 6c 22 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 e."container.xml")))..(defun.nov
24a0 2d 63 6f 6e 74 61 69 6e 65 72 2d 63 6f 6e 74 65 6e 74 2d 66 69 6c 65 6e 61 6d 65 20 28 63 6f 6e -container-content-filename.(con
24c0 74 65 6e 74 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 63 6f 6e 74 65 6e 74 20 66 69 6c 65 tent)..."Return.the.content.file
24e0 6e 61 6d 65 20 66 6f 72 20 43 4f 4e 54 45 4e 54 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 71 75 65 name.for.CONTENT."...(let*.((que
2500 72 79 20 22 63 6f 6e 74 61 69 6e 65 72 3e 72 6f 6f 74 66 69 6c 65 73 3e 72 6f 6f 74 66 69 6c 65 ry."container>rootfiles>rootfile
2520 5b 6d 65 64 69 61 2d 74 79 70 65 3d 27 61 70 70 6c 69 63 61 74 69 6f 6e 2f 6f 65 62 70 73 2d 70 [media-type='application/oebps-p
2540 61 63 6b 61 67 65 2b 78 6d 6c 27 5d 22 29 0a 20 20 20 20 20 20 20 20 20 28 6e 6f 64 65 20 28 65 ackage+xml']")..........(node.(e
2560 73 78 6d 6c 2d 71 75 65 72 79 20 71 75 65 72 79 20 63 6f 6e 74 65 6e 74 29 29 29 0a 20 20 20 20 sxml-query.query.content))).....
2580 28 64 6f 6d 2d 61 74 74 72 20 6e 6f 64 65 20 27 66 75 6c 6c 2d 70 61 74 68 29 29 29 0a 0a 28 64 (dom-attr.node.'full-path)))..(d
25a0 65 66 75 6e 20 6e 6f 76 2d 63 6f 6e 74 61 69 6e 65 72 2d 76 61 6c 69 64 2d 70 20 28 64 69 72 65 efun.nov-container-valid-p.(dire
25c0 63 74 6f 72 79 29 0a 20 20 22 52 65 74 75 72 6e 20 74 20 69 66 20 44 49 52 45 43 54 4f 52 59 20 ctory)..."Return.t.if.DIRECTORY.
25e0 68 6f 6c 64 73 20 61 20 76 61 6c 69 64 20 45 50 55 42 20 63 6f 6e 74 61 69 6e 65 72 2e 22 0a 20 holds.a.valid.EPUB.container."..
2600 20 28 6c 65 74 20 28 28 66 69 6c 65 6e 61 6d 65 20 28 6e 6f 76 2d 63 6f 6e 74 61 69 6e 65 72 2d .(let.((filename.(nov-container-
2620 66 69 6c 65 6e 61 6d 65 20 64 69 72 65 63 74 6f 72 79 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 filename.directory))).....(when.
2640 28 61 6e 64 20 66 69 6c 65 6e 61 6d 65 20 28 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 66 69 6c (and.filename.(file-exists-p.fil
2660 65 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 63 6f 6e 74 65 6e 74 20 28 6e ename)).......(let*.((content.(n
2680 6f 76 2d 73 6c 75 72 70 20 66 69 6c 65 6e 61 6d 65 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 ov-slurp.filename.t))...........
26a0 20 20 20 28 63 6f 6e 74 65 6e 74 2d 66 69 6c 65 20 28 6e 6f 76 2d 63 6f 6e 74 61 69 6e 65 72 2d ...(content-file.(nov-container-
26c0 63 6f 6e 74 65 6e 74 2d 66 69 6c 65 6e 61 6d 65 20 63 6f 6e 74 65 6e 74 29 29 29 0a 20 20 20 20 content-filename.content))).....
26e0 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 20 63 6f 6e 74 65 6e 74 20 63 6f 6e 74 65 6e 74 2d 66 ....(when.(and.content.content-f
2700 69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 28 6e ile)...........(file-exists-p.(n
2720 6f 76 2d 6d 61 6b 65 2d 70 61 74 68 20 64 69 72 65 63 74 6f 72 79 20 63 6f 6e 74 65 6e 74 2d 66 ov-make-path.directory.content-f
2740 69 6c 65 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 65 70 75 62 2d 76 61 6c 69 ile)))))))..(defun.nov-epub-vali
2760 64 2d 70 20 28 64 69 72 65 63 74 6f 72 79 29 0a 20 20 22 52 65 74 75 72 6e 20 74 20 69 66 20 44 d-p.(directory)..."Return.t.if.D
2780 49 52 45 43 54 4f 52 59 20 6d 61 6b 65 73 20 75 70 20 61 20 76 61 6c 69 64 20 45 50 55 42 20 64 IRECTORY.makes.up.a.valid.EPUB.d
27a0 6f 63 75 6d 65 6e 74 2e 22 0a 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 28 6e 6f 76 2d 6d 69 6d 65 ocument."...(when.(not.(nov-mime
27c0 74 79 70 65 2d 76 61 6c 69 64 2d 70 20 64 69 72 65 63 74 6f 72 79 29 29 0a 20 20 20 20 28 6d 65 type-valid-p.directory)).....(me
27e0 73 73 61 67 65 20 22 49 6e 76 61 6c 69 64 20 6d 69 6d 65 74 79 70 65 22 29 29 0a 20 20 28 6e 6f ssage."Invalid.mimetype"))...(no
2800 76 2d 63 6f 6e 74 61 69 6e 65 72 2d 76 61 6c 69 64 2d 70 20 64 69 72 65 63 74 6f 72 79 29 29 0a v-container-valid-p.directory)).
2820 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 75 72 6c 64 65 63 6f 64 65 20 28 73 74 72 69 6e 67 29 0a 20 .(defun.nov-urldecode.(string)..
2840 20 22 52 65 74 75 72 6e 20 75 72 6c 64 65 63 6f 64 65 64 20 76 65 72 73 69 6f 6e 20 6f 66 20 53 ."Return.urldecoded.version.of.S
2860 54 52 49 4e 47 20 6f 72 20 6e 69 6c 2e 22 0a 20 20 28 77 68 65 6e 20 73 74 72 69 6e 67 0a 20 20 TRING.or.nil."...(when.string...
2880 20 20 28 75 72 6c 2d 75 6e 68 65 78 2d 73 74 72 69 6e 67 20 73 74 72 69 6e 67 29 29 29 0a 0a 28 ..(url-unhex-string.string)))..(
28a0 64 65 66 75 6e 20 6e 6f 76 2d 63 6f 6e 74 65 6e 74 2d 76 65 72 73 69 6f 6e 20 28 63 6f 6e 74 65 defun.nov-content-version.(conte
28c0 6e 74 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 45 50 55 42 20 76 65 72 73 69 6f 6e 20 66 nt)..."Return.the.EPUB.version.f
28e0 6f 72 20 43 4f 4e 54 45 4e 54 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 6e 6f 64 65 20 28 65 73 78 or.CONTENT."...(let*.((node.(esx
2900 6d 6c 2d 71 75 65 72 79 20 22 70 61 63 6b 61 67 65 22 20 63 6f 6e 74 65 6e 74 29 29 0a 20 20 20 ml-query."package".content))....
2920 20 20 20 20 20 20 28 76 65 72 73 69 6f 6e 20 28 64 6f 6d 2d 61 74 74 72 20 6e 6f 64 65 20 27 76 ......(version.(dom-attr.node.'v
2940 65 72 73 69 6f 6e 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 76 65 72 73 69 6f 6e ersion))).....(when.(not.version
2960 29 0a 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 56 65 72 73 69 6f 6e 20 6e 6f 74 20 73 70 65 63 ).......(error."Version.not.spec
2980 69 66 69 65 64 22 29 29 0a 20 20 20 20 76 65 72 73 69 6f 6e 29 29 0a 0a 28 64 65 66 75 6e 20 6e ified")).....version))..(defun.n
29a0 6f 76 2d 63 6f 6e 74 65 6e 74 2d 75 6e 69 71 75 65 2d 69 64 65 6e 74 69 66 69 65 72 2d 6e 61 6d ov-content-unique-identifier-nam
29c0 65 20 28 63 6f 6e 74 65 6e 74 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 75 6e 69 71 75 65 e.(content)..."Return.the.unique
29e0 20 69 64 65 6e 74 69 66 69 65 72 20 6e 61 6d 65 20 72 65 66 65 72 65 6e 63 65 64 20 69 6e 20 43 .identifier.name.referenced.in.C
2a00 4f 4e 54 45 4e 54 2e 0a 54 68 69 73 20 69 73 20 75 73 65 64 20 69 6e 20 60 6e 6f 76 2d 63 6f 6e ONTENT..This.is.used.in.`nov-con
2a20 74 65 6e 74 2d 75 6e 69 71 75 65 2d 69 64 65 6e 74 69 66 69 65 72 27 20 74 6f 20 72 65 74 72 69 tent-unique-identifier'.to.retri
2a40 65 76 65 20 74 68 65 0a 74 68 65 20 73 70 65 63 69 66 69 63 20 74 79 70 65 20 6f 66 20 75 6e 69 eve.the.the.specific.type.of.uni
2a60 71 75 65 20 69 64 65 6e 74 69 66 69 65 72 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 6e 6f 64 65 20 que.identifier."...(let*.((node.
2a80 28 65 73 78 6d 6c 2d 71 75 65 72 79 20 22 70 61 63 6b 61 67 65 5b 75 6e 69 71 75 65 2d 69 64 65 (esxml-query."package[unique-ide
2aa0 6e 74 69 66 69 65 72 5d 22 20 63 6f 6e 74 65 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 6e 61 ntifier]".content))..........(na
2ac0 6d 65 20 28 64 6f 6d 2d 61 74 74 72 20 6e 6f 64 65 20 27 75 6e 69 71 75 65 2d 69 64 65 6e 74 69 me.(dom-attr.node.'unique-identi
2ae0 66 69 65 72 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 6e 61 6d 65 29 0a 20 20 20 fier))).....(when.(not.name)....
2b00 20 20 20 28 65 72 72 6f 72 20 22 55 6e 69 71 75 65 20 69 64 65 6e 74 69 66 69 65 72 20 6e 61 6d ...(error."Unique.identifier.nam
2b20 65 20 6e 6f 74 20 73 70 65 63 69 66 69 65 64 22 29 29 0a 20 20 20 20 6e 61 6d 65 29 29 0a 0a 28 e.not.specified")).....name))..(
2b40 64 65 66 75 6e 20 6e 6f 76 2d 63 6f 6e 74 65 6e 74 2d 75 6e 69 71 75 65 2d 69 64 65 6e 74 69 66 defun.nov-content-unique-identif
2b60 69 65 72 20 28 63 6f 6e 74 65 6e 74 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 74 68 65 20 ier.(content)..."Return.the.the.
2b80 75 6e 69 71 75 65 20 69 64 65 6e 74 69 66 69 65 72 20 66 6f 72 20 43 4f 4e 54 45 4e 54 2e 22 0a unique.identifier.for.CONTENT.".
2ba0 20 20 28 6c 65 74 2a 20 28 28 6e 61 6d 65 20 28 6e 6f 76 2d 63 6f 6e 74 65 6e 74 2d 75 6e 69 71 ..(let*.((name.(nov-content-uniq
2bc0 75 65 2d 69 64 65 6e 74 69 66 69 65 72 2d 6e 61 6d 65 20 63 6f 6e 74 65 6e 74 29 29 0a 20 20 20 ue-identifier-name.content))....
2be0 20 20 20 20 20 20 28 73 65 6c 65 63 74 6f 72 20 28 66 6f 72 6d 61 74 20 22 70 61 63 6b 61 67 65 ......(selector.(format."package
2c00 3e 6d 65 74 61 64 61 74 61 3e 69 64 65 6e 74 69 66 69 65 72 5b 69 64 3d 27 25 73 27 5d 22 0a 20 >metadata>identifier[id='%s']"..
2c20 20 20 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 65 73 78 6d 6c ..........................(esxml
2c40 2d 71 75 65 72 79 2d 63 73 73 2d 65 73 63 61 70 65 20 6e 61 6d 65 29 29 29 0a 20 20 20 20 20 20 -query-css-escape.name))).......
2c60 20 20 20 28 69 64 20 28 63 61 72 20 28 64 6f 6d 2d 63 68 69 6c 64 72 65 6e 20 28 65 73 78 6d 6c ...(id.(car.(dom-children.(esxml
2c80 2d 71 75 65 72 79 20 73 65 6c 65 63 74 6f 72 20 63 6f 6e 74 65 6e 74 29 29 29 29 29 0a 20 20 20 -query.selector.content)))))....
2ca0 20 28 77 68 65 6e 20 28 6e 6f 74 20 69 64 29 0a 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 55 6e .(when.(not.id).......(error."Un
2cc0 69 71 75 65 20 69 64 65 6e 74 69 66 69 65 72 20 6e 6f 74 20 66 6f 75 6e 64 20 62 79 20 69 74 73 ique.identifier.not.found.by.its
2ce0 20 6e 61 6d 65 3a 20 25 73 22 20 6e 61 6d 65 29 29 0a 20 20 20 20 28 69 6e 74 65 72 6e 20 69 64 .name:.%s".name)).....(intern.id
2d00 29 29 29 0a 0a 3b 3b 20 4e 4f 54 45 3a 20 75 6e 69 71 75 65 20 69 64 65 6e 74 69 66 69 65 72 20 )))..;;.NOTE:.unique.identifier.
2d20 69 73 20 71 75 65 72 69 65 64 20 73 65 70 61 72 61 74 65 6c 79 20 61 73 20 69 64 65 6e 74 69 66 is.queried.separately.as.identif
2d40 69 65 72 73 20 63 61 6e 0a 3b 3b 20 61 70 70 65 61 72 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 63 iers.can.;;.appear.more.than.onc
2d60 65 20 61 6e 64 20 6f 6e 6c 79 20 6f 6e 65 20 6f 66 20 74 68 65 6d 20 63 61 6e 20 62 65 20 74 68 e.and.only.one.of.them.can.be.th
2d80 65 20 75 6e 69 71 75 65 20 6f 6e 65 0a 28 64 65 66 76 61 72 20 6e 6f 76 2d 72 65 71 75 69 72 65 e.unique.one.(defvar.nov-require
2da0 64 2d 6d 65 74 61 64 61 74 61 2d 74 61 67 73 20 27 28 74 69 74 6c 65 20 6c 61 6e 67 75 61 67 65 d-metadata-tags.'(title.language
2dc0 29 0a 20 20 22 52 65 71 75 69 72 65 64 20 6d 65 74 61 64 61 74 61 20 74 61 67 73 20 75 73 65 64 )..."Required.metadata.tags.used
2de0 20 66 6f 72 20 60 6e 6f 76 2d 63 6f 6e 74 65 6e 74 2d 6d 65 74 61 64 61 74 61 27 2e 22 29 0a 0a .for.`nov-content-metadata'.")..
2e00 28 64 65 66 76 61 72 20 6e 6f 76 2d 6f 70 74 69 6f 6e 61 6c 2d 6d 65 74 61 64 61 74 61 2d 74 61 (defvar.nov-optional-metadata-ta
2e20 67 73 0a 20 20 27 28 63 6f 6e 74 72 69 62 75 74 6f 72 20 63 6f 76 65 72 61 67 65 20 63 72 65 61 gs...'(contributor.coverage.crea
2e40 74 6f 72 20 64 61 74 65 20 64 65 73 63 72 69 70 74 69 6f 6e 20 66 6f 72 6d 61 74 0a 20 20 20 20 tor.date.description.format.....
2e60 70 75 62 6c 69 73 68 65 72 20 72 65 6c 61 74 69 6f 6e 20 72 69 67 68 74 73 20 73 6f 75 72 63 65 publisher.relation.rights.source
2e80 20 73 75 62 6a 65 63 74 20 74 79 70 65 29 0a 20 20 22 4f 70 74 69 6f 6e 61 6c 20 6d 65 74 61 64 .subject.type)..."Optional.metad
2ea0 61 74 61 20 74 61 67 73 20 75 73 65 64 20 66 6f 72 20 60 6e 6f 76 2d 63 6f 6e 74 65 6e 74 2d 6d ata.tags.used.for.`nov-content-m
2ec0 65 74 61 64 61 74 61 27 2e 22 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 63 6f 6e 74 65 6e 74 2d etadata'.")..(defun.nov-content-
2ee0 6d 65 74 61 64 61 74 61 20 28 63 6f 6e 74 65 6e 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6d metadata.(content)..."Return.a.m
2f00 65 74 61 64 61 74 61 20 61 6c 69 73 74 20 66 6f 72 20 43 4f 4e 54 45 4e 54 2e 0a 52 65 71 75 69 etadata.alist.for.CONTENT..Requi
2f20 72 65 64 20 6b 65 79 73 20 61 72 65 20 5c 5c 3d 27 69 64 65 6e 74 69 66 69 65 72 20 61 6e 64 20 red.keys.are.\\='identifier.and.
2f40 65 76 65 72 79 74 68 69 6e 67 20 69 6e 0a 60 6e 6f 76 2d 72 65 71 75 69 72 65 64 2d 6d 65 74 61 everything.in.`nov-required-meta
2f60 64 61 74 61 2d 74 61 67 73 27 2c 20 6f 70 74 69 6f 6e 61 6c 20 6b 65 79 73 20 61 72 65 20 69 6e data-tags',.optional.keys.are.in
2f80 0a 60 6e 6f 76 2d 6f 70 74 69 6f 6e 61 6c 2d 6d 65 74 61 64 61 74 61 2d 74 61 67 73 27 2e 22 0a .`nov-optional-metadata-tags'.".
2fa0 20 20 28 6c 65 74 2a 20 28 28 69 64 65 6e 74 69 66 69 65 72 20 28 6e 6f 76 2d 63 6f 6e 74 65 6e ..(let*.((identifier.(nov-conten
2fc0 74 2d 75 6e 69 71 75 65 2d 69 64 65 6e 74 69 66 69 65 72 20 63 6f 6e 74 65 6e 74 29 29 0a 20 20 t-unique-identifier.content))...
2fe0 20 20 20 20 20 20 20 28 63 61 6e 64 69 64 61 74 65 73 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 .......(candidates.(mapcar.(lamb
3000 64 61 20 28 6e 6f 64 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 da.(node).......................
3020 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 28 64 6f 6d 2d 74 61 67 20 6e 6f 64 65 29 20 28 63 .........(cons.(dom-tag.node).(c
3040 61 72 20 28 64 6f 6d 2d 63 68 69 6c 64 72 65 6e 20 6e 6f 64 65 29 29 29 29 0a 20 20 20 20 20 20 ar.(dom-children.node)))).......
3060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 73 78 6d 6c 2d 71 75 .......................(esxml-qu
3080 65 72 79 2d 61 6c 6c 20 22 70 61 63 6b 61 67 65 3e 6d 65 74 61 64 61 74 61 3e 2a 22 20 63 6f 6e ery-all."package>metadata>*".con
30a0 74 65 6e 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 72 65 71 75 69 72 65 64 20 28 6d 61 70 63 tent)))..........(required.(mapc
30c0 61 72 20 28 6c 61 6d 62 64 61 20 28 74 61 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ar.(lambda.(tag)................
30e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 63 61 6e 64 69 64 61 74 65 20 28 ..............(let.((candidate.(
3100 63 64 72 20 28 61 73 73 71 20 74 61 67 20 63 61 6e 64 69 64 61 74 65 73 29 29 29 29 0a 20 20 20 cdr.(assq.tag.candidates))))....
3120 20 20 20 20 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 77 68 65 ............................(whe
3140 6e 20 28 6e 6f 74 20 63 61 6e 64 69 64 61 74 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 n.(not.candidate)...............
3160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 4e 4f 54 45 3a 20 74 68 69 73 ...................;;.NOTE:.this
3180 20 73 68 6f 75 6c 64 20 69 64 65 61 6c 6c 79 20 62 65 20 61 0a 20 20 20 20 20 20 20 20 20 20 20 .should.ideally.be.a............
31a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 77 61 72 6e 69 6e 67 ......................;;.warning
31c0 2c 20 62 75 74 20 60 77 61 72 6e 27 20 69 73 20 74 6f 6f 20 6f 62 74 72 75 73 69 76 65 0a 20 20 ,.but.`warn'.is.too.obtrusive...
31e0 20 20 20 20 20 20 20 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 ...............................(
3200 6d 65 73 73 61 67 65 20 22 52 65 71 75 69 72 65 64 20 6d 65 74 61 64 61 74 75 6d 20 25 73 20 6e message."Required.metadatum.%s.n
3220 6f 74 20 66 6f 75 6e 64 22 20 74 61 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ot.found".tag)).................
3240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 74 61 67 20 63 61 6e 64 69 64 61 ...............(cons.tag.candida
3260 74 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 te)))...........................
3280 20 6e 6f 76 2d 72 65 71 75 69 72 65 64 2d 6d 65 74 61 64 61 74 61 2d 74 61 67 73 29 29 0a 20 20 .nov-required-metadata-tags))...
32a0 20 20 20 20 20 20 20 28 6f 70 74 69 6f 6e 61 6c 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 .......(optional.(mapcar.(lambda
32c0 20 28 74 61 67 29 20 28 63 6f 6e 73 20 74 61 67 20 28 63 64 72 20 28 61 73 73 71 20 74 61 67 20 .(tag).(cons.tag.(cdr.(assq.tag.
32e0 63 61 6e 64 69 64 61 74 65 73 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 candidates))))..................
3300 20 20 20 20 20 20 20 20 20 20 6e 6f 76 2d 6f 70 74 69 6f 6e 61 6c 2d 6d 65 74 61 64 61 74 61 2d ..........nov-optional-metadata-
3320 74 61 67 73 29 29 29 0a 20 20 20 20 28 61 70 70 65 6e 64 20 60 28 28 69 64 65 6e 74 69 66 69 65 tags))).....(append.`((identifie
3340 72 20 2e 20 2c 69 64 65 6e 74 69 66 69 65 72 29 29 20 72 65 71 75 69 72 65 64 20 6f 70 74 69 6f r...,identifier)).required.optio
3360 6e 61 6c 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 63 6f 6e 74 65 6e 74 2d 6d 61 6e 69 66 nal)))..(defun.nov-content-manif
3380 65 73 74 20 28 64 69 72 65 63 74 6f 72 79 20 63 6f 6e 74 65 6e 74 29 0a 20 20 22 45 78 74 72 61 est.(directory.content)..."Extra
33a0 63 74 20 61 6e 20 61 6c 69 73 74 20 6f 66 20 6d 61 6e 69 66 65 73 74 20 66 69 6c 65 73 20 66 6f ct.an.alist.of.manifest.files.fo
33c0 72 20 43 4f 4e 54 45 4e 54 20 69 6e 20 44 49 52 45 43 54 4f 52 59 2e 0a 45 61 63 68 20 61 6c 69 r.CONTENT.in.DIRECTORY..Each.ali
33e0 73 74 20 69 74 65 6d 20 63 6f 6e 73 69 73 74 73 20 6f 66 20 74 68 65 20 69 64 65 6e 74 69 66 69 st.item.consists.of.the.identifi
3400 65 72 20 61 6e 64 20 66 75 6c 6c 20 70 61 74 68 2e 22 0a 20 20 28 6d 61 70 63 61 72 20 28 6c 61 er.and.full.path."...(mapcar.(la
3420 6d 62 64 61 20 28 6e 6f 64 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 69 mbda.(node).............(let.((i
3440 64 20 28 64 6f 6d 2d 61 74 74 72 20 6e 6f 64 65 20 27 69 64 29 29 0a 20 20 20 20 20 20 20 20 20 d.(dom-attr.node.'id))..........
3460 20 20 20 20 20 20 20 20 20 28 68 72 65 66 20 28 64 6f 6d 2d 61 74 74 72 20 6e 6f 64 65 20 27 68 .........(href.(dom-attr.node.'h
3480 72 65 66 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 28 69 6e 74 65 ref)))...............(cons.(inte
34a0 72 6e 20 69 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 76 2d rn.id).....................(nov-
34c0 6d 61 6b 65 2d 70 61 74 68 20 64 69 72 65 63 74 6f 72 79 20 28 6e 6f 76 2d 75 72 6c 64 65 63 6f make-path.directory.(nov-urldeco
34e0 64 65 20 68 72 65 66 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 65 73 78 6d 6c 2d 71 75 de.href)))))...........(esxml-qu
3500 65 72 79 2d 61 6c 6c 20 22 70 61 63 6b 61 67 65 3e 6d 61 6e 69 66 65 73 74 3e 69 74 65 6d 22 20 ery-all."package>manifest>item".
3520 63 6f 6e 74 65 6e 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 63 6f 6e 74 65 6e 74 2d 73 content)))..(defun.nov-content-s
3540 70 69 6e 65 20 28 63 6f 6e 74 65 6e 74 29 0a 20 20 22 45 78 74 72 61 63 74 20 61 20 6c 69 73 74 pine.(content)..."Extract.a.list
3560 20 6f 66 20 73 70 69 6e 65 20 69 64 65 6e 74 69 66 69 65 72 73 20 66 6f 72 20 43 4f 4e 54 45 4e .of.spine.identifiers.for.CONTEN
3580 54 2e 22 0a 20 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 6e 6f 64 65 29 20 28 69 6e T."...(mapcar.(lambda.(node).(in
35a0 74 65 72 6e 20 28 64 6f 6d 2d 61 74 74 72 20 6e 6f 64 65 20 27 69 64 72 65 66 29 29 29 0a 20 20 tern.(dom-attr.node.'idref)))...
35c0 20 20 20 20 20 20 20 20 28 65 73 78 6d 6c 2d 71 75 65 72 79 2d 61 6c 6c 20 22 70 61 63 6b 61 67 ........(esxml-query-all."packag
35e0 65 3e 73 70 69 6e 65 3e 69 74 65 6d 72 65 66 22 20 63 6f 6e 74 65 6e 74 29 29 29 0a 0a 28 64 65 e>spine>itemref".content)))..(de
3600 66 75 6e 20 6e 6f 76 2d 2d 63 6f 6e 74 65 6e 74 2d 65 70 75 62 32 2d 66 69 6c 65 73 20 28 63 6f fun.nov--content-epub2-files.(co
3620 6e 74 65 6e 74 20 6d 61 6e 69 66 65 73 74 20 66 69 6c 65 73 29 0a 20 20 28 6c 65 74 2a 20 28 28 ntent.manifest.files)...(let*.((
3640 6e 6f 64 65 20 28 65 73 78 6d 6c 2d 71 75 65 72 79 20 22 70 61 63 6b 61 67 65 3e 73 70 69 6e 65 node.(esxml-query."package>spine
3660 5b 74 6f 63 5d 22 20 63 6f 6e 74 65 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 69 64 20 28 64 [toc]".content))..........(id.(d
3680 6f 6d 2d 61 74 74 72 20 6e 6f 64 65 20 27 74 6f 63 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 om-attr.node.'toc))).....(when.(
36a0 6e 6f 74 20 69 64 29 0a 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 45 50 55 42 20 32 20 4e 43 58 not.id).......(error."EPUB.2.NCX
36c0 20 49 44 20 6e 6f 74 20 66 6f 75 6e 64 22 29 29 0a 20 20 20 20 28 73 65 74 71 20 6e 6f 76 2d 74 .ID.not.found")).....(setq.nov-t
36e0 6f 63 2d 69 64 20 28 69 6e 74 65 72 6e 20 69 64 29 29 0a 20 20 20 20 28 6c 65 74 20 28 28 74 6f oc-id.(intern.id)).....(let.((to
3700 63 2d 66 69 6c 65 20 28 61 73 73 71 20 6e 6f 76 2d 74 6f 63 2d 69 64 20 6d 61 6e 69 66 65 73 74 c-file.(assq.nov-toc-id.manifest
3720 29 29 29 0a 20 20 20 20 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 74 6f 63 2d 66 69 6c 65 29 0a 20 ))).......(when.(not.toc-file)..
3740 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 45 50 55 42 20 32 20 4e 43 58 20 66 69 6c 65 20 6e .......(error."EPUB.2.NCX.file.n
3760 6f 74 20 66 6f 75 6e 64 22 29 29 0a 20 20 20 20 20 20 28 63 6f 6e 73 20 74 6f 63 2d 66 69 6c 65 ot.found")).......(cons.toc-file
3780 20 66 69 6c 65 73 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 2d 63 6f 6e 74 65 6e 74 2d .files))))..(defun.nov--content-
37a0 65 70 75 62 33 2d 66 69 6c 65 73 20 28 63 6f 6e 74 65 6e 74 20 6d 61 6e 69 66 65 73 74 20 66 69 epub3-files.(content.manifest.fi
37c0 6c 65 73 29 0a 20 20 28 6c 65 74 2a 20 28 28 6e 6f 64 65 20 28 65 73 78 6d 6c 2d 71 75 65 72 79 les)...(let*.((node.(esxml-query
37e0 20 22 70 61 63 6b 61 67 65 3e 6d 61 6e 69 66 65 73 74 3e 69 74 65 6d 5b 70 72 6f 70 65 72 74 69 ."package>manifest>item[properti
3800 65 73 7e 3d 6e 61 76 5d 22 20 63 6f 6e 74 65 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 69 64 es~=nav]".content))..........(id
3820 20 28 64 6f 6d 2d 61 74 74 72 20 6e 6f 64 65 20 27 69 64 29 29 29 0a 20 20 20 20 28 77 68 65 6e .(dom-attr.node.'id))).....(when
3840 20 28 6e 6f 74 20 69 64 29 0a 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 45 50 55 42 20 33 20 3c .(not.id).......(error."EPUB.3.<
3860 6e 61 76 3e 20 49 44 20 6e 6f 74 20 66 6f 75 6e 64 22 29 29 0a 20 20 20 20 28 73 65 74 71 20 6e nav>.ID.not.found")).....(setq.n
3880 6f 76 2d 74 6f 63 2d 69 64 20 28 69 6e 74 65 72 6e 20 69 64 29 29 0a 20 20 20 20 28 6c 65 74 20 ov-toc-id.(intern.id)).....(let.
38a0 28 28 74 6f 63 2d 66 69 6c 65 20 28 61 73 73 71 20 6e 6f 76 2d 74 6f 63 2d 69 64 20 6d 61 6e 69 ((toc-file.(assq.nov-toc-id.mani
38c0 66 65 73 74 29 29 29 0a 20 20 20 20 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 74 6f 63 2d 66 69 6c fest))).......(when.(not.toc-fil
38e0 65 29 0a 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 45 50 55 42 20 33 20 3c 6e 61 76 3e 20 e).........(error."EPUB.3.<nav>.
3900 66 69 6c 65 20 6e 6f 74 20 66 6f 75 6e 64 22 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 66 69 file.not.found")).......(setq.fi
3920 6c 65 73 20 28 73 65 71 2d 72 65 6d 6f 76 65 20 28 6c 61 6d 62 64 61 20 28 69 74 65 6d 29 20 28 les.(seq-remove.(lambda.(item).(
3940 65 71 20 28 63 61 72 20 69 74 65 6d 29 20 6e 6f 76 2d 74 6f 63 2d 69 64 29 29 20 66 69 6c 65 73 eq.(car.item).nov-toc-id)).files
3960 29 29 0a 20 20 20 20 20 20 28 63 6f 6e 73 20 74 6f 63 2d 66 69 6c 65 20 66 69 6c 65 73 29 29 29 )).......(cons.toc-file.files)))
3980 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 63 6f 6e 74 65 6e 74 2d 66 69 6c 65 73 20 28 64 69 72 )..(defun.nov-content-files.(dir
39a0 65 63 74 6f 72 79 20 63 6f 6e 74 65 6e 74 29 0a 20 20 22 43 72 65 61 74 65 20 63 6f 72 72 65 63 ectory.content)..."Create.correc
39c0 74 6c 79 20 6f 72 64 65 72 65 64 20 66 69 6c 65 20 61 6c 69 73 74 20 66 6f 72 20 43 4f 4e 54 45 tly.ordered.file.alist.for.CONTE
39e0 4e 54 20 69 6e 20 44 49 52 45 43 54 4f 52 59 2e 0a 45 61 63 68 20 61 6c 69 73 74 20 69 74 65 6d NT.in.DIRECTORY..Each.alist.item
3a00 20 63 6f 6e 73 69 73 74 73 20 6f 66 20 74 68 65 20 69 64 65 6e 74 69 66 69 65 72 20 61 6e 64 20 .consists.of.the.identifier.and.
3a20 66 75 6c 6c 20 70 61 74 68 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 6d 61 6e 69 66 65 73 74 20 28 full.path."...(let*.((manifest.(
3a40 6e 6f 76 2d 63 6f 6e 74 65 6e 74 2d 6d 61 6e 69 66 65 73 74 20 64 69 72 65 63 74 6f 72 79 20 63 nov-content-manifest.directory.c
3a60 6f 6e 74 65 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 73 70 69 6e 65 20 28 6e 6f 76 2d 63 6f ontent))..........(spine.(nov-co
3a80 6e 74 65 6e 74 2d 73 70 69 6e 65 20 63 6f 6e 74 65 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 ntent-spine.content))..........(
3aa0 66 69 6c 65 73 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 69 74 65 6d 29 20 28 61 73 files.(mapcar.(lambda.(item).(as
3ac0 73 71 20 69 74 65 6d 20 6d 61 6e 69 66 65 73 74 29 29 20 73 70 69 6e 65 29 29 29 0a 20 20 20 20 sq.item.manifest)).spine))).....
3ae0 28 69 66 20 28 76 65 72 73 69 6f 6e 3c 20 6e 6f 76 2d 65 70 75 62 2d 76 65 72 73 69 6f 6e 20 22 (if.(version<.nov-epub-version."
3b00 33 2e 30 22 29 0a 20 20 20 20 20 20 20 20 28 6e 6f 76 2d 2d 63 6f 6e 74 65 6e 74 2d 65 70 75 62 3.0").........(nov--content-epub
3b20 32 2d 66 69 6c 65 73 20 63 6f 6e 74 65 6e 74 20 6d 61 6e 69 66 65 73 74 20 66 69 6c 65 73 29 0a 2-files.content.manifest.files).
3b40 20 20 20 20 20 20 28 6e 6f 76 2d 2d 63 6f 6e 74 65 6e 74 2d 65 70 75 62 33 2d 66 69 6c 65 73 20 ......(nov--content-epub3-files.
3b60 63 6f 6e 74 65 6e 74 20 6d 61 6e 69 66 65 73 74 20 66 69 6c 65 73 29 29 29 29 0a 0a 28 64 65 66 content.manifest.files))))..(def
3b80 75 6e 20 6e 6f 76 2d 2d 77 61 6c 6b 2d 6e 63 78 2d 6e 6f 64 65 20 28 6e 6f 64 65 29 0a 20 20 28 un.nov--walk-ncx-node.(node)...(
3ba0 6c 65 74 20 28 28 74 61 67 20 28 64 6f 6d 2d 74 61 67 20 6e 6f 64 65 29 29 0a 20 20 20 20 20 20 let.((tag.(dom-tag.node)).......
3bc0 20 20 28 63 68 69 6c 64 72 65 6e 20 28 73 65 71 2d 66 69 6c 74 65 72 20 28 6c 61 6d 62 64 61 20 ..(children.(seq-filter.(lambda.
3be0 28 63 68 69 6c 64 29 20 28 65 71 20 28 64 6f 6d 2d 74 61 67 20 63 68 69 6c 64 29 20 27 6e 61 76 (child).(eq.(dom-tag.child).'nav
3c00 50 6f 69 6e 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 Point)).........................
3c20 20 20 20 20 20 20 28 64 6f 6d 2d 63 68 69 6c 64 72 65 6e 20 6e 6f 64 65 29 29 29 29 0a 20 20 20 ......(dom-children.node))))....
3c40 20 28 63 6f 6e 64 0a 20 20 20 20 20 28 28 65 71 20 74 61 67 20 27 6e 61 76 4d 61 70 29 0a 20 20 .(cond......((eq.tag.'navMap)...
3c60 20 20 20 20 28 69 6e 73 65 72 74 20 22 3c 6f 6c 3e 5c 6e 22 29 0a 20 20 20 20 20 20 28 6d 61 70 ....(insert."<ol>\n").......(map
3c80 63 20 28 6c 61 6d 62 64 61 20 28 6e 6f 64 65 29 20 28 6e 6f 76 2d 2d 77 61 6c 6b 2d 6e 63 78 2d c.(lambda.(node).(nov--walk-ncx-
3ca0 6e 6f 64 65 20 6e 6f 64 65 29 29 20 63 68 69 6c 64 72 65 6e 29 0a 20 20 20 20 20 20 28 69 6e 73 node.node)).children).......(ins
3cc0 65 72 74 20 22 3c 2f 6f 6c 3e 5c 6e 22 29 29 0a 20 20 20 20 20 28 28 65 71 20 74 61 67 20 27 6e ert."</ol>\n"))......((eq.tag.'n
3ce0 61 76 50 6f 69 6e 74 29 0a 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 6c 61 62 65 6c 2d 6e 6f 64 avPoint).......(let*.((label-nod
3d00 65 20 28 65 73 78 6d 6c 2d 71 75 65 72 79 20 22 6e 61 76 4c 61 62 65 6c 3e 74 65 78 74 22 20 6e e.(esxml-query."navLabel>text".n
3d20 6f 64 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 74 65 6e 74 2d 6e 6f 64 65 ode))..............(content-node
3d40 20 28 65 73 78 6d 6c 2d 71 75 65 72 79 20 22 63 6f 6e 74 65 6e 74 22 20 6e 6f 64 65 29 29 0a 20 .(esxml-query."content".node))..
3d60 20 20 20 20 20 20 20 20 20 20 20 20 28 68 72 65 66 20 28 6e 6f 76 2d 75 72 6c 64 65 63 6f 64 65 ............(href.(nov-urldecode
3d80 20 28 64 6f 6d 2d 61 74 74 72 20 63 6f 6e 74 65 6e 74 2d 6e 6f 64 65 20 27 73 72 63 29 29 29 0a .(dom-attr.content-node.'src))).
3da0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 62 65 6c 20 28 63 61 72 20 28 64 6f 6d 2d 63 68 .............(label.(car.(dom-ch
3dc0 69 6c 64 72 65 6e 20 6c 61 62 65 6c 2d 6e 6f 64 65 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 77 ildren.label-node)))).........(w
3de0 68 65 6e 20 28 6e 6f 74 20 68 72 65 66 29 0a 20 20 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 hen.(not.href)...........(error.
3e00 22 4e 61 76 69 67 61 74 69 6f 6e 20 70 6f 69 6e 74 20 69 73 20 6d 69 73 73 69 6e 67 20 68 72 65 "Navigation.point.is.missing.hre
3e20 66 20 61 74 74 72 69 62 75 74 65 22 29 29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6c 69 f.attribute")).........(let.((li
3e40 6e 6b 20 28 66 6f 72 6d 61 74 20 22 3c 61 20 68 72 65 66 3d 5c 22 25 73 5c 22 3e 25 73 3c 2f 61 nk.(format."<a.href=\"%s\">%s</a
3e60 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 20 20 20 20 20 20 28 >".............................(
3e80 78 6d 6c 2d 65 73 63 61 70 65 2d 73 74 72 69 6e 67 20 68 72 65 66 29 0a 20 20 20 20 20 20 20 20 xml-escape-string.href).........
3ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 78 6d 6c 2d 65 73 63 61 70 65 2d ....................(xml-escape-
3ec0 73 74 72 69 6e 67 20 28 6f 72 20 6c 61 62 65 6c 20 68 72 65 66 29 29 29 29 29 0a 20 20 20 20 20 string.(or.label.href)))))......
3ee0 20 20 20 20 20 28 69 66 20 63 68 69 6c 64 72 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .....(if.children...............
3f00 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 (progn.................(insert.(
3f20 66 6f 72 6d 61 74 20 22 3c 6c 69 3e 5c 6e 25 73 5c 6e 3c 6f 6c 3e 5c 6e 22 20 6c 69 6e 6b 29 29 format."<li>\n%s\n<ol>\n".link))
3f40 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 20 28 6c 61 6d 62 64 61 20 28 .................(mapc.(lambda.(
3f60 6e 6f 64 65 29 20 28 6e 6f 76 2d 2d 77 61 6c 6b 2d 6e 63 78 2d 6e 6f 64 65 20 6e 6f 64 65 29 29 node).(nov--walk-ncx-node.node))
3f80 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 68 69 6c 64 72 65 6e 29 .......................children)
3fa0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 66 6f 72 6d 61 74 .................(insert.(format
3fc0 20 22 3c 2f 6f 6c 3e 5c 6e 3c 2f 6c 69 3e 5c 6e 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 ."</ol>\n</li>\n")))............
3fe0 20 28 69 6e 73 65 72 74 20 28 66 6f 72 6d 61 74 20 22 3c 6c 69 3e 5c 6e 25 73 5c 6e 3c 2f 6c 69 .(insert.(format."<li>\n%s\n</li
4000 3e 5c 6e 22 20 6c 69 6e 6b 29 29 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 6e >\n".link)))))))))..(defun.nov-n
4020 63 78 2d 74 6f 2d 68 74 6d 6c 20 28 70 61 74 68 29 0a 20 20 22 43 6f 6e 76 65 72 74 20 4e 43 58 cx-to-html.(path)..."Convert.NCX
4040 20 64 6f 63 75 6d 65 6e 74 20 61 74 20 50 41 54 48 20 74 6f 20 48 54 4d 4c 2e 22 0a 20 20 28 6c .document.at.PATH.to.HTML."...(l
4060 65 74 20 28 28 72 6f 6f 74 20 28 65 73 78 6d 6c 2d 71 75 65 72 79 20 22 6e 61 76 4d 61 70 22 20 et.((root.(esxml-query."navMap".
4080 28 6e 6f 76 2d 73 6c 75 72 70 20 70 61 74 68 20 74 29 29 29 29 0a 20 20 20 20 28 77 69 74 68 2d (nov-slurp.path.t)))).....(with-
40a0 74 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 28 6e 6f 76 2d 2d 77 61 6c 6b 2d 6e 63 78 temp-buffer.......(nov--walk-ncx
40c0 2d 6e 6f 64 65 20 72 6f 6f 74 29 0a 20 20 20 20 20 20 28 62 75 66 66 65 72 2d 73 74 72 69 6e 67 -node.root).......(buffer-string
40e0 29 29 29 29 0a 0a 0c 0a 3b 3b 3b 20 55 49 0a 0a 28 64 65 66 76 61 72 20 6e 6f 76 2d 6d 6f 64 65 ))))....;;;.UI..(defvar.nov-mode
4100 2d 6d 61 70 0a 20 20 28 6c 65 74 20 28 28 6d 61 70 20 28 6d 61 6b 65 2d 73 70 61 72 73 65 2d 6b -map...(let.((map.(make-sparse-k
4120 65 79 6d 61 70 29 29 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 28 6b 62 eymap))).....(define-key.map.(kb
4140 64 20 22 67 22 29 20 27 6e 6f 76 2d 72 65 6e 64 65 72 2d 64 6f 63 75 6d 65 6e 74 29 0a 20 20 20 d."g").'nov-render-document)....
4160 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22 76 22 29 20 27 6e 6f 76 2d .(define-key.map.(kbd."v").'nov-
4180 76 69 65 77 2d 73 6f 75 72 63 65 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 view-source).....(define-key.map
41a0 20 28 6b 62 64 20 22 56 22 29 20 27 6e 6f 76 2d 76 69 65 77 2d 63 6f 6e 74 65 6e 74 2d 73 6f 75 .(kbd."V").'nov-view-content-sou
41c0 72 63 65 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22 61 rce).....(define-key.map.(kbd."a
41e0 22 29 20 27 6e 6f 76 2d 72 65 6f 70 65 6e 2d 61 73 2d 61 72 63 68 69 76 65 29 0a 20 20 20 20 28 ").'nov-reopen-as-archive).....(
4200 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22 6d 22 29 20 27 6e 6f 76 2d 64 69 define-key.map.(kbd."m").'nov-di
4220 73 70 6c 61 79 2d 6d 65 74 61 64 61 74 61 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 splay-metadata).....(define-key.
4240 6d 61 70 20 28 6b 62 64 20 22 6e 22 29 20 27 6e 6f 76 2d 6e 65 78 74 2d 64 6f 63 75 6d 65 6e 74 map.(kbd."n").'nov-next-document
4260 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22 5d 22 29 20 ).....(define-key.map.(kbd."]").
4280 27 6e 6f 76 2d 6e 65 78 74 2d 64 6f 63 75 6d 65 6e 74 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 'nov-next-document).....(define-
42a0 6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22 70 22 29 20 27 6e 6f 76 2d 70 72 65 76 69 6f 75 73 2d key.map.(kbd."p").'nov-previous-
42c0 64 6f 63 75 6d 65 6e 74 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 28 6b document).....(define-key.map.(k
42e0 62 64 20 22 5b 22 29 20 27 6e 6f 76 2d 70 72 65 76 69 6f 75 73 2d 64 6f 63 75 6d 65 6e 74 29 0a bd."[").'nov-previous-document).
4300 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22 74 22 29 20 27 6e ....(define-key.map.(kbd."t").'n
4320 6f 76 2d 67 6f 74 6f 2d 74 6f 63 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 ov-goto-toc).....(define-key.map
4340 20 28 6b 62 64 20 22 6c 22 29 20 27 6e 6f 76 2d 68 69 73 74 6f 72 79 2d 62 61 63 6b 29 0a 20 20 .(kbd."l").'nov-history-back)...
4360 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22 72 22 29 20 27 6e 6f 76 ..(define-key.map.(kbd."r").'nov
4380 2d 68 69 73 74 6f 72 79 2d 66 6f 72 77 61 72 64 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 -history-forward).....(define-ke
43a0 79 20 6d 61 70 20 28 6b 62 64 20 22 54 41 42 22 29 20 27 73 68 72 2d 6e 65 78 74 2d 6c 69 6e 6b y.map.(kbd."TAB").'shr-next-link
43c0 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22 4d 2d 54 41 ).....(define-key.map.(kbd."M-TA
43e0 42 22 29 20 27 73 68 72 2d 70 72 65 76 69 6f 75 73 2d 6c 69 6e 6b 29 0a 20 20 20 20 28 64 65 66 B").'shr-previous-link).....(def
4400 69 6e 65 2d 6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22 3c 62 61 63 6b 74 61 62 3e 22 29 20 27 73 ine-key.map.(kbd."<backtab>").'s
4420 68 72 2d 70 72 65 76 69 6f 75 73 2d 6c 69 6e 6b 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 hr-previous-link).....(define-ke
4440 79 20 6d 61 70 20 28 6b 62 64 20 22 53 50 43 22 29 20 27 6e 6f 76 2d 73 63 72 6f 6c 6c 2d 75 70 y.map.(kbd."SPC").'nov-scroll-up
4460 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22 53 2d 53 50 ).....(define-key.map.(kbd."S-SP
4480 43 22 29 20 27 6e 6f 76 2d 73 63 72 6f 6c 6c 2d 64 6f 77 6e 29 0a 20 20 20 20 28 64 65 66 69 6e C").'nov-scroll-down).....(defin
44a0 65 2d 6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22 44 45 4c 22 29 20 27 6e 6f 76 2d 73 63 72 6f 6c e-key.map.(kbd."DEL").'nov-scrol
44c0 6c 2d 64 6f 77 6e 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 28 6b 62 64 l-down).....(define-key.map.(kbd
44e0 20 22 3c 68 6f 6d 65 3e 22 29 20 27 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 62 75 66 66 65 72 29 ."<home>").'beginning-of-buffer)
4500 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22 3c 65 6e 64 3e .....(define-key.map.(kbd."<end>
4520 22 29 20 27 65 6e 64 2d 6f 66 2d 62 75 66 66 65 72 29 0a 20 20 20 20 6d 61 70 29 29 0a 0a 28 64 ").'end-of-buffer).....map))..(d
4540 65 66 76 61 72 20 6e 6f 76 2d 62 75 74 74 6f 6e 2d 6d 61 70 0a 20 20 28 6c 65 74 20 28 28 6d 61 efvar.nov-button-map...(let.((ma
4560 70 20 28 63 6f 70 79 2d 6b 65 79 6d 61 70 20 6e 6f 76 2d 6d 6f 64 65 2d 6d 61 70 29 29 29 0a 20 p.(copy-keymap.nov-mode-map)))..
4580 20 20 20 28 73 65 74 2d 6b 65 79 6d 61 70 2d 70 61 72 65 6e 74 20 6d 61 70 20 73 68 72 2d 6d 61 ...(set-keymap-parent.map.shr-ma
45a0 70 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22 52 45 54 p).....(define-key.map.(kbd."RET
45c0 22 29 20 27 6e 6f 76 2d 62 72 6f 77 73 65 2d 75 72 6c 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d ").'nov-browse-url).....(define-
45e0 6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22 3c 6d 6f 75 73 65 2d 32 3e 22 29 20 27 6e 6f 76 2d 62 key.map.(kbd."<mouse-2>").'nov-b
4600 72 6f 77 73 65 2d 75 72 6c 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 28 rowse-url).....(define-key.map.(
4620 6b 62 64 20 22 63 22 29 20 27 6e 6f 76 2d 63 6f 70 79 2d 75 72 6c 29 0a 20 20 20 20 6d 61 70 29 kbd."c").'nov-copy-url).....map)
4640 29 0a 0a 28 65 61 73 79 2d 6d 65 6e 75 2d 64 65 66 69 6e 65 20 6e 6f 76 2d 6d 6f 64 65 2d 6d 65 )..(easy-menu-define.nov-mode-me
4660 6e 75 20 6e 6f 76 2d 6d 6f 64 65 2d 6d 61 70 20 22 4d 65 6e 75 20 66 6f 72 20 6e 6f 76 2d 6d 6f nu.nov-mode-map."Menu.for.nov-mo
4680 64 65 22 0a 20 20 27 28 22 45 50 55 42 22 0a 20 20 20 20 5b 22 4e 65 78 74 22 20 6e 6f 76 2d 6e de"...'("EPUB".....["Next".nov-n
46a0 65 78 74 2d 64 6f 63 75 6d 65 6e 74 0a 20 20 20 20 20 3a 68 65 6c 70 20 22 47 6f 20 74 6f 20 74 ext-document......:help."Go.to.t
46c0 68 65 20 6e 65 78 74 20 64 6f 63 75 6d 65 6e 74 22 5d 0a 20 20 20 20 5b 22 50 72 65 76 69 6f 75 he.next.document"].....["Previou
46e0 73 22 20 6e 6f 76 2d 70 72 65 76 69 6f 75 73 2d 64 6f 63 75 6d 65 6e 74 0a 20 20 20 20 20 3a 68 s".nov-previous-document......:h
4700 65 6c 70 20 22 47 6f 20 74 6f 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 64 6f 63 75 6d 65 6e 74 elp."Go.to.the.previous.document
4720 22 5d 0a 20 20 20 20 5b 22 42 61 63 6b 77 61 72 64 22 20 6e 6f 76 2d 68 69 73 74 6f 72 79 2d 62 "].....["Backward".nov-history-b
4740 61 63 6b 0a 20 20 20 20 20 3a 68 65 6c 70 20 22 47 6f 20 62 61 63 6b 20 69 6e 20 74 68 65 20 68 ack......:help."Go.back.in.the.h
4760 69 73 74 6f 72 79 20 74 6f 20 74 68 65 20 6c 61 73 74 20 76 69 73 69 74 65 64 20 64 6f 63 75 6d istory.to.the.last.visited.docum
4780 65 6e 74 22 5d 0a 20 20 20 20 5b 22 46 6f 72 77 61 72 64 22 20 6e 6f 76 2d 68 69 73 74 6f 72 79 ent"].....["Forward".nov-history
47a0 2d 66 6f 72 77 61 72 64 0a 20 20 20 20 20 3a 68 65 6c 70 20 22 47 6f 20 66 6f 72 77 61 72 64 20 -forward......:help."Go.forward.
47c0 69 6e 20 74 68 65 20 68 69 73 74 6f 72 79 20 6f 66 20 76 69 73 69 74 65 64 20 64 6f 63 75 6d 65 in.the.history.of.visited.docume
47e0 6e 74 73 22 5d 0a 20 20 20 20 5b 22 4e 65 78 74 20 4c 69 6e 6b 22 20 73 68 72 2d 6e 65 78 74 2d nts"].....["Next.Link".shr-next-
4800 6c 69 6e 6b 0a 20 20 20 20 20 3a 68 65 6c 70 20 22 47 6f 20 74 6f 20 74 68 65 20 6e 65 78 74 20 link......:help."Go.to.the.next.
4820 6c 69 6e 6b 22 5d 0a 20 20 20 20 5b 22 50 72 65 76 69 6f 75 73 20 4c 69 6e 6b 22 20 73 68 72 2d link"].....["Previous.Link".shr-
4840 70 72 65 76 69 6f 75 73 2d 6c 69 6e 6b 0a 20 20 20 20 20 3a 6b 65 79 73 20 22 4d 2d 54 41 42 22 previous-link......:keys."M-TAB"
4860 0a 20 20 20 20 20 3a 68 65 6c 70 20 22 47 6f 20 74 6f 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 ......:help."Go.to.the.previous.
4880 6c 69 6e 6b 22 5d 0a 20 20 20 20 5b 22 54 61 62 6c 65 20 6f 66 20 43 6f 6e 74 65 6e 74 73 22 20 link"].....["Table.of.Contents".
48a0 6e 6f 76 2d 67 6f 74 6f 2d 74 6f 63 0a 20 20 20 20 20 3a 68 65 6c 70 20 22 44 69 73 70 6c 61 79 nov-goto-toc......:help."Display
48c0 20 74 68 65 20 74 61 62 6c 65 20 6f 66 20 63 6f 6e 74 65 6e 74 73 22 5d 0a 20 20 20 20 5b 22 52 .the.table.of.contents"].....["R
48e0 65 64 69 73 70 6c 61 79 22 20 6e 6f 76 2d 72 65 6e 64 65 72 2d 64 6f 63 75 6d 65 6e 74 0a 20 20 edisplay".nov-render-document...
4900 20 20 20 3a 68 65 6c 70 20 22 52 65 64 69 73 70 6c 61 79 20 74 68 65 20 64 6f 63 75 6d 65 6e 74 ...:help."Redisplay.the.document
4920 22 5d 0a 20 20 20 20 22 2d 2d 2d 22 0a 20 20 20 20 5b 22 56 69 65 77 20 4d 65 74 61 64 61 74 61 "]....."---".....["View.Metadata
4940 22 20 6e 6f 76 2d 64 69 73 70 6c 61 79 2d 6d 65 74 61 64 61 74 61 0a 20 20 20 20 20 3a 68 65 6c ".nov-display-metadata......:hel
4960 70 20 22 56 69 65 77 20 74 68 65 20 6d 65 74 61 64 61 74 61 20 6f 66 20 74 68 65 20 45 50 55 42 p."View.the.metadata.of.the.EPUB
4980 20 64 6f 63 75 6d 65 6e 74 22 5d 0a 20 20 20 20 5b 22 56 69 65 77 20 48 54 4d 4c 20 53 6f 75 72 .document"].....["View.HTML.Sour
49a0 63 65 22 20 6e 6f 76 2d 76 69 65 77 2d 73 6f 75 72 63 65 0a 20 20 20 20 20 3a 68 65 6c 70 20 22 ce".nov-view-source......:help."
49c0 56 69 65 77 20 74 68 65 20 48 54 4d 4c 20 73 6f 75 72 63 65 20 6f 66 20 74 68 65 20 63 75 72 72 View.the.HTML.source.of.the.curr
49e0 65 6e 74 20 64 6f 63 75 6d 65 6e 74 20 69 6e 20 61 20 6e 65 77 20 62 75 66 66 65 72 22 5d 0a 20 ent.document.in.a.new.buffer"]..
4a00 20 20 20 5b 22 56 69 65 77 20 4f 50 46 20 53 6f 75 72 63 65 22 20 6e 6f 76 2d 76 69 65 77 2d 63 ...["View.OPF.Source".nov-view-c
4a20 6f 6e 74 65 6e 74 2d 73 6f 75 72 63 65 0a 20 20 20 20 20 3a 68 65 6c 70 20 22 56 69 65 77 20 74 ontent-source......:help."View.t
4a40 68 65 20 4f 50 46 20 73 6f 75 72 63 65 20 6f 66 20 74 68 65 20 45 50 55 42 20 64 6f 63 75 6d 65 he.OPF.source.of.the.EPUB.docume
4a60 6e 74 20 69 6e 20 61 20 6e 65 77 20 62 75 66 66 65 72 22 5d 0a 20 20 20 20 5b 22 56 69 65 77 20 nt.in.a.new.buffer"].....["View.
4a80 61 73 20 41 72 63 68 69 76 65 22 20 6e 6f 76 2d 72 65 6f 70 65 6e 2d 61 73 2d 61 72 63 68 69 76 as.Archive".nov-reopen-as-archiv
4aa0 65 0a 20 20 20 20 20 3a 68 65 6c 70 20 22 52 65 6f 70 65 6e 20 74 68 65 20 45 50 55 42 20 64 6f e......:help."Reopen.the.EPUB.do
4ac0 63 75 6d 65 6e 74 20 61 73 20 61 6e 20 61 72 63 68 69 76 65 22 5d 29 29 0a 0a 28 64 65 66 75 6e cument.as.an.archive"]))..(defun
4ae0 20 6e 6f 76 2d 63 6c 65 61 6e 2d 75 70 20 28 29 0a 20 20 22 44 65 6c 65 74 65 20 74 65 6d 70 6f .nov-clean-up.()..."Delete.tempo
4b00 72 61 72 79 20 66 69 6c 65 73 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 45 50 55 42 20 62 rary.files.of.the.current.EPUB.b
4b20 75 66 66 65 72 2e 22 0a 20 20 28 77 68 65 6e 20 6e 6f 76 2d 74 65 6d 70 2d 64 69 72 0a 20 20 20 uffer."...(when.nov-temp-dir....
4b40 20 28 6c 65 74 20 28 28 69 64 65 6e 74 69 66 69 65 72 20 28 63 64 72 20 28 61 73 73 71 20 27 69 .(let.((identifier.(cdr.(assq.'i
4b60 64 65 6e 74 69 66 69 65 72 20 6e 6f 76 2d 6d 65 74 61 64 61 74 61 29 29 29 0a 20 20 20 20 20 20 dentifier.nov-metadata))).......
4b80 20 20 20 20 28 69 6e 64 65 78 20 28 69 66 20 28 69 6e 74 65 67 65 72 70 20 6e 6f 76 2d 64 6f 63 ....(index.(if.(integerp.nov-doc
4ba0 75 6d 65 6e 74 73 2d 69 6e 64 65 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 uments-index)...................
4bc0 20 20 20 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 2d 69 6e 64 65 78 0a 20 20 20 20 20 20 20 20 20 ...nov-documents-index..........
4be0 20 20 20 20 20 20 20 20 20 20 30 29 29 29 0a 20 20 20 20 20 20 28 6e 6f 76 2d 73 61 76 65 2d 70 ..........0))).......(nov-save-p
4c00 6c 61 63 65 20 69 64 65 6e 74 69 66 69 65 72 20 69 6e 64 65 78 20 28 70 6f 69 6e 74 29 29 29 0a lace.identifier.index.(point))).
4c20 20 20 20 20 28 6e 6f 76 2d 69 67 6e 6f 72 65 2d 66 69 6c 65 2d 65 72 72 6f 72 73 0a 20 20 20 20 ....(nov-ignore-file-errors.....
4c40 20 28 64 65 6c 65 74 65 2d 64 69 72 65 63 74 6f 72 79 20 6e 6f 76 2d 74 65 6d 70 2d 64 69 72 20 .(delete-directory.nov-temp-dir.
4c60 74 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 63 6c 65 61 6e 2d 75 70 2d 61 6c 6c 20 28 t))))..(defun.nov-clean-up-all.(
4c80 29 0a 20 20 22 44 65 6c 65 74 65 20 74 65 6d 70 6f 72 61 72 79 20 66 69 6c 65 73 20 6f 66 20 61 )..."Delete.temporary.files.of.a
4ca0 6c 6c 20 6f 70 65 6e 65 64 20 45 50 55 42 20 62 75 66 66 65 72 73 2e 22 0a 20 20 28 64 6f 6c 69 ll.opened.EPUB.buffers."...(doli
4cc0 73 74 20 28 62 75 66 66 65 72 20 28 62 75 66 66 65 72 2d 6c 69 73 74 29 29 0a 20 20 20 20 28 77 st.(buffer.(buffer-list)).....(w
4ce0 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 62 75 66 66 65 72 0a 20 20 20 20 20 20 ith-current-buffer.buffer.......
4d00 28 77 68 65 6e 20 28 65 71 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 6e 6f 76 2d 6d 6f 64 65 29 0a (when.(eq.major-mode.'nov-mode).
4d20 20 20 20 20 20 20 20 20 28 6e 6f 76 2d 63 6c 65 61 6e 2d 75 70 29 29 29 29 29 0a 0a 28 64 65 66 ........(nov-clean-up)))))..(def
4d40 75 6e 20 6e 6f 76 2d 65 78 74 65 72 6e 61 6c 2d 75 72 6c 2d 70 20 28 75 72 6c 29 0a 20 20 22 52 un.nov-external-url-p.(url)..."R
4d60 65 74 75 72 6e 20 74 20 69 66 20 55 52 4c 20 72 65 66 65 72 73 20 74 6f 20 61 6e 20 65 78 74 65 eturn.t.if.URL.refers.to.an.exte
4d80 72 6e 61 6c 20 64 6f 63 75 6d 65 6e 74 2e 22 0a 20 20 28 61 6e 64 20 28 75 72 6c 2d 74 79 70 65 rnal.document."...(and.(url-type
4da0 20 28 75 72 6c 2d 67 65 6e 65 72 69 63 2d 70 61 72 73 65 2d 75 72 6c 20 75 72 6c 29 29 20 74 29 .(url-generic-parse-url.url)).t)
4dc0 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 75 72 6c 2d 66 69 6c 65 6e 61 6d 65 2d 61 6e 64 2d 74 )..(defun.nov-url-filename-and-t
4de0 61 72 67 65 74 20 28 75 72 6c 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 arget.(url)..."Return.a.list.of.
4e00 55 52 4c 27 73 20 66 69 6c 65 6e 61 6d 65 20 61 6e 64 20 74 61 72 67 65 74 2e 22 0a 20 20 28 73 URL's.filename.and.target."...(s
4e20 65 74 71 20 75 72 6c 20 28 75 72 6c 2d 67 65 6e 65 72 69 63 2d 70 61 72 73 65 2d 75 72 6c 20 75 etq.url.(url-generic-parse-url.u
4e40 72 6c 29 29 0a 20 20 28 6d 61 70 63 61 72 20 27 6e 6f 76 2d 75 72 6c 64 65 63 6f 64 65 20 28 6c rl))...(mapcar.'nov-urldecode.(l
4e60 69 73 74 20 28 75 72 6c 2d 66 69 6c 65 6e 61 6d 65 20 75 72 6c 29 20 28 75 72 6c 2d 74 61 72 67 ist.(url-filename.url).(url-targ
4e80 65 74 20 75 72 6c 29 29 29 29 0a 0a 3b 3b 20 61 64 61 70 74 65 64 20 66 72 6f 6d 20 60 73 68 72 et.url))))..;;.adapted.from.`shr
4ea0 2d 72 65 73 63 61 6c 65 2d 69 6d 61 67 65 27 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 69 6e 73 65 72 -rescale-image'.(defun.nov-inser
4ec0 74 2d 69 6d 61 67 65 20 28 70 61 74 68 20 61 6c 74 29 0a 20 20 22 49 6e 73 65 72 74 20 61 6e 20 t-image.(path.alt)..."Insert.an.
4ee0 69 6d 61 67 65 20 66 6f 72 20 50 41 54 48 20 61 74 20 70 6f 69 6e 74 2c 20 66 61 6c 6c 69 6e 67 image.for.PATH.at.point,.falling
4f00 20 62 61 63 6b 20 74 6f 20 41 4c 54 2e 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 68 6f 6e 6f .back.to.ALT..This.function.hono
4f20 72 73 20 60 73 68 72 2d 6d 61 78 2d 69 6d 61 67 65 2d 70 72 6f 70 6f 72 74 69 6f 6e 27 20 69 66 rs.`shr-max-image-proportion'.if
4f40 20 70 6f 73 73 69 62 6c 65 2e 22 0a 20 20 28 6c 65 74 20 28 28 74 79 70 65 20 28 69 66 20 28 6f .possible."...(let.((type.(if.(o
4f60 72 20 28 61 6e 64 20 28 66 62 6f 75 6e 64 70 20 27 69 6d 61 67 65 2d 74 72 61 6e 73 66 6f 72 6d r.(and.(fboundp.'image-transform
4f80 73 2d 70 29 20 28 69 6d 61 67 65 2d 74 72 61 6e 73 66 6f 72 6d 73 2d 70 29 29 0a 20 20 20 20 20 s-p).(image-transforms-p))......
4fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 66 62 6f 75 6e 64 70 20 27 .................(not.(fboundp.'
4fc0 69 6d 61 67 65 6d 61 67 69 63 6b 2d 74 79 70 65 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 imagemagick-types)))............
4fe0 20 20 20 20 20 20 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 69 6d 61 67 .......nil.................'imag
5000 65 6d 61 67 69 63 6b 29 29 29 0a 20 20 20 20 28 69 66 20 28 6e 6f 74 20 28 64 69 73 70 6c 61 79 emagick))).....(if.(not.(display
5020 2d 67 72 61 70 68 69 63 2d 70 29 29 0a 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 61 6c 74 -graphic-p)).........(insert.alt
5040 29 0a 20 20 20 20 20 20 28 73 65 71 2d 6c 65 74 20 28 78 31 20 79 31 20 78 32 20 79 32 29 20 28 ).......(seq-let.(x1.y1.x2.y2).(
5060 77 69 6e 64 6f 77 2d 69 6e 73 69 64 65 2d 70 69 78 65 6c 2d 65 64 67 65 73 0a 20 20 20 20 20 20 window-inside-pixel-edges.......
5080 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 67 65 74 2d 62 75 66 ........................(get-buf
50a0 66 65 72 2d 77 69 6e 64 6f 77 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 29 0a 20 20 fer-window.(current-buffer)))...
50c0 20 20 20 20 20 20 28 6c 65 74 20 28 28 69 6d 61 67 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ......(let.((image..............
50e0 20 20 3b 3b 20 60 63 72 65 61 74 65 2d 69 6d 61 67 65 27 20 65 72 72 6f 72 73 20 6f 75 74 20 66 ..;;.`create-image'.errors.out.f
5100 6f 72 20 75 6e 73 75 70 70 6f 72 74 65 64 20 69 6d 61 67 65 20 74 79 70 65 73 0a 20 20 20 20 20 or.unsupported.image.types......
5120 20 20 20 20 20 20 20 20 20 20 28 69 67 6e 6f 72 65 2d 65 72 72 6f 72 73 0a 20 20 20 20 20 20 20 ..........(ignore-errors........
5140 20 20 20 20 20 20 20 20 20 20 28 63 72 65 61 74 65 2d 69 6d 61 67 65 20 70 61 74 68 20 74 79 70 ..........(create-image.path.typ
5160 65 20 6e 69 6c 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 e.nil...........................
5180 20 20 20 20 20 3a 61 73 63 65 6e 74 20 31 30 30 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .....:ascent.100................
51a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 6d 61 78 2d 77 69 64 74 68 20 28 74 72 75 6e ................:max-width.(trun
51c0 63 61 74 65 20 28 2a 20 73 68 72 2d 6d 61 78 2d 69 6d 61 67 65 2d 70 72 6f 70 6f 72 74 69 6f 6e cate.(*.shr-max-image-proportion
51e0 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 ................................
5200 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 20 78 32 20 78 31 ........................(-.x2.x1
5220 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ))).............................
5240 20 20 20 3a 6d 61 78 2d 68 65 69 67 68 74 20 28 74 72 75 6e 63 61 74 65 20 28 2a 20 73 68 72 2d ...:max-height.(truncate.(*.shr-
5260 6d 61 78 2d 69 6d 61 67 65 2d 70 72 6f 70 6f 72 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 max-image-proportion............
5280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
52a0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 20 79 32 20 79 31 29 29 29 29 29 29 29 0a 20 20 20 .............(-.y2.y1)))))))....
52c0 20 20 20 20 20 20 20 28 69 66 20 69 6d 61 67 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 .......(if.image...............(
52e0 69 6e 73 65 72 74 2d 69 6d 61 67 65 20 69 6d 61 67 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 insert-image.image).............
5300 28 69 6e 73 65 72 74 20 61 6c 74 29 29 29 29 29 29 29 0a 0a 28 64 65 66 76 61 72 20 6e 6f 76 2d (insert.alt)))))))..(defvar.nov-
5320 6f 72 69 67 69 6e 61 6c 2d 73 68 72 2d 74 61 67 2d 69 6d 67 2d 66 75 6e 63 74 69 6f 6e 0a 20 20 original-shr-tag-img-function...
5340 28 73 79 6d 62 6f 6c 2d 66 75 6e 63 74 69 6f 6e 20 27 73 68 72 2d 74 61 67 2d 69 6d 67 29 29 0a (symbol-function.'shr-tag-img)).
5360 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 72 65 6e 64 65 72 2d 69 6d 67 20 28 64 6f 6d 20 26 6f 70 74 .(defun.nov-render-img.(dom.&opt
5380 69 6f 6e 61 6c 20 75 72 6c 29 0a 20 20 22 43 75 73 74 6f 6d 20 3c 69 6d 67 3e 20 72 65 6e 64 65 ional.url)..."Custom.<img>.rende
53a0 72 69 6e 67 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 20 44 4f 4d 2e 0a 55 73 65 73 20 60 73 68 72 ring.function.for.DOM..Uses.`shr
53c0 2d 74 61 67 2d 69 6d 67 27 20 66 6f 72 20 65 78 74 65 72 6e 61 6c 20 70 61 74 68 73 20 61 6e 64 -tag-img'.for.external.paths.and
53e0 20 60 6e 6f 76 2d 69 6e 73 65 72 74 2d 69 6d 61 67 65 27 20 66 6f 72 0a 69 6e 74 65 72 6e 61 6c .`nov-insert-image'.for.internal
5400 20 6f 6e 65 73 2e 22 0a 20 20 28 6c 65 74 20 28 28 75 72 6c 20 28 6f 72 20 75 72 6c 20 28 63 64 .ones."...(let.((url.(or.url.(cd
5420 72 20 28 61 73 73 71 20 27 73 72 63 20 28 63 61 64 72 20 64 6f 6d 29 29 29 29 29 0a 20 20 20 20 r.(assq.'src.(cadr.dom))))).....
5440 20 20 20 20 28 61 6c 74 20 28 6f 72 20 28 63 64 72 20 28 61 73 73 71 20 27 61 6c 74 20 28 63 61 ....(alt.(or.(cdr.(assq.'alt.(ca
5460 64 72 20 64 6f 6d 29 29 29 20 22 22 29 29 29 0a 20 20 20 20 28 69 66 20 28 6e 6f 76 2d 65 78 74 dr.dom))).""))).....(if.(nov-ext
5480 65 72 6e 61 6c 2d 75 72 6c 2d 70 20 75 72 6c 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 48 41 43 4b ernal-url-p.url).........;;.HACK
54a0 3a 20 61 76 6f 69 64 20 68 61 6e 67 69 6e 67 20 69 6e 20 61 6e 20 69 6e 66 69 6e 69 74 65 20 6c :.avoid.hanging.in.an.infinite.l
54c0 6f 6f 70 20 77 68 65 6e 20 75 73 69 6e 67 0a 20 20 20 20 20 20 20 20 3b 3b 20 60 63 6c 2d 6c 65 oop.when.using.........;;.`cl-le
54e0 74 66 27 20 74 6f 20 6f 76 65 72 72 69 64 65 20 60 73 68 72 2d 74 61 67 2d 69 6d 67 27 20 77 69 tf'.to.override.`shr-tag-img'.wi
5500 74 68 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 3b 3b 20 6d 69 th.a.function.that.........;;.mi
5520 67 68 74 20 63 61 6c 6c 20 60 73 68 72 2d 74 61 67 2d 69 6d 67 27 20 61 67 61 69 6e 0a 20 20 20 ght.call.`shr-tag-img'.again....
5540 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 6e 6f 76 2d 6f 72 69 67 69 6e 61 6c 2d 73 68 72 2d 74 .....(funcall.nov-original-shr-t
5560 61 67 2d 69 6d 67 2d 66 75 6e 63 74 69 6f 6e 20 64 6f 6d 20 75 72 6c 29 0a 20 20 20 20 20 20 28 ag-img-function.dom.url).......(
5580 73 65 74 71 20 75 72 6c 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 28 6e 6f 76 2d setq.url.(expand-file-name.(nov-
55a0 75 72 6c 64 65 63 6f 64 65 20 75 72 6c 29 29 29 0a 20 20 20 20 20 20 28 6e 6f 76 2d 69 6e 73 65 urldecode.url))).......(nov-inse
55c0 72 74 2d 69 6d 61 67 65 20 75 72 6c 20 61 6c 74 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 rt-image.url.alt))))..(defun.nov
55e0 2d 72 65 6e 64 65 72 2d 74 69 74 6c 65 20 28 64 6f 6d 29 0a 20 20 22 43 75 73 74 6f 6d 20 3c 74 -render-title.(dom)..."Custom.<t
5600 69 74 6c 65 3e 20 72 65 6e 64 65 72 69 6e 67 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 20 44 4f 4d itle>.rendering.function.for.DOM
5620 2e 0a 53 65 74 73 20 60 68 65 61 64 65 72 2d 6c 69 6e 65 2d 66 6f 72 6d 61 74 27 20 61 63 63 6f ..Sets.`header-line-format'.acco
5640 72 64 69 6e 67 20 74 6f 20 60 6e 6f 76 2d 68 65 61 64 65 72 2d 6c 69 6e 65 2d 66 6f 72 6d 61 74 rding.to.`nov-header-line-format
5660 27 2e 22 0a 20 20 28 73 65 74 71 20 68 65 61 64 65 72 2d 6c 69 6e 65 2d 66 6f 72 6d 61 74 0a 09 '."...(setq.header-line-format..
5680 28 61 6e 64 20 6e 6f 76 2d 68 65 61 64 65 72 2d 6c 69 6e 65 2d 66 6f 72 6d 61 74 0a 09 20 20 20 (and.nov-header-line-format.....
56a0 20 20 28 6c 65 74 20 28 28 74 69 74 6c 65 20 28 63 64 72 20 28 61 73 73 71 20 27 74 69 74 6c 65 ..(let.((title.(cdr.(assq.'title
56c0 20 6e 6f 76 2d 6d 65 74 61 64 61 74 61 29 29 29 0a 09 09 20 20 20 28 63 68 61 70 74 65 72 2d 74 .nov-metadata)))......(chapter-t
56e0 69 74 6c 65 20 28 63 61 72 20 28 64 6f 6d 2d 63 68 69 6c 64 72 65 6e 20 64 6f 6d 29 29 29 29 0a itle.(car.(dom-children.dom)))).
5700 09 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 63 68 61 70 74 65 72 2d 74 69 74 6c 65 ........(when.(not.chapter-title
5720 29 0a 09 09 20 28 73 65 74 71 20 63 68 61 70 74 65 72 2d 74 69 74 6c 65 20 28 70 72 6f 70 65 72 )....(setq.chapter-title.(proper
5740 74 69 7a 65 20 22 4e 6f 20 74 69 74 6c 65 22 20 27 66 61 63 65 20 27 69 74 61 6c 69 63 29 29 29 tize."No.title".'face.'italic)))
5760 0a 09 20 20 20 20 20 20 20 3b 3b 20 74 68 69 73 20 73 68 6f 75 6c 64 6e 27 74 20 68 61 70 70 65 .........;;.this.shouldn't.happe
5780 6e 20 66 6f 72 20 70 72 6f 70 65 72 6c 79 20 61 75 74 68 6f 72 65 64 20 45 50 55 42 73 0a 09 20 n.for.properly.authored.EPUBs...
57a0 20 20 20 20 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 74 69 74 6c 65 29 0a 09 09 20 28 73 65 74 71 ......(when.(not.title)....(setq
57c0 20 74 69 74 6c 65 20 28 70 72 6f 70 65 72 74 69 7a 65 20 22 4e 6f 20 74 69 74 6c 65 22 20 27 66 .title.(propertize."No.title".'f
57e0 61 63 65 20 27 69 74 61 6c 69 63 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 ace.'italic)))................(r
5800 65 70 6c 61 63 65 2d 72 65 67 65 78 70 2d 69 6e 2d 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 eplace-regexp-in-string.........
5820 20 20 20 20 20 20 20 20 22 25 22 20 22 25 25 22 0a 09 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 ........"%"."%%"..........(forma
5840 74 2d 73 70 65 63 0a 09 09 20 6e 6f 76 2d 68 65 61 64 65 72 2d 6c 69 6e 65 2d 66 6f 72 6d 61 74 t-spec....nov-header-line-format
5860 0a 09 09 20 60 28 28 3f 63 20 2e 20 2c 63 68 61 70 74 65 72 2d 74 69 74 6c 65 29 0a 09 09 20 20 ....`((?c...,chapter-title).....
5880 20 28 3f 74 20 2e 20 2c 74 69 74 6c 65 29 29 29 29 29 29 29 29 0a 0a 28 64 65 66 76 61 72 20 6e .(?t...,title))))))))..(defvar.n
58a0 6f 76 2d 73 68 72 2d 72 65 6e 64 65 72 69 6e 67 2d 66 75 6e 63 74 69 6f 6e 73 0a 20 20 27 28 3b ov-shr-rendering-functions...'(;
58c0 3b 20 64 65 66 61 75 6c 74 20 66 75 6e 63 74 69 6f 6e 20 75 73 65 73 20 75 72 6c 2d 72 65 74 72 ;.default.function.uses.url-retr
58e0 69 65 76 65 20 61 6e 64 20 66 61 69 6c 73 20 6f 6e 20 6c 6f 63 61 6c 20 69 6d 61 67 65 73 0a 20 ieve.and.fails.on.local.images..
5900 20 20 20 28 69 6d 67 20 2e 20 6e 6f 76 2d 72 65 6e 64 65 72 2d 69 6d 67 29 0a 20 20 20 20 3b 3b ...(img...nov-render-img).....;;
5920 20 74 69 74 6c 65 73 20 61 72 65 20 72 65 6e 64 65 72 65 64 20 2a 69 6e 73 69 64 65 2a 20 74 68 .titles.are.rendered.*inside*.th
5940 65 20 64 6f 63 75 6d 65 6e 74 20 62 79 20 64 65 66 61 75 6c 74 0a 20 20 20 20 28 74 69 74 6c 65 e.document.by.default.....(title
5960 20 2e 20 6e 6f 76 2d 72 65 6e 64 65 72 2d 74 69 74 6c 65 29 29 0a 20 20 22 41 6c 69 73 74 20 6f ...nov-render-title))..."Alist.o
5980 66 20 72 65 6e 64 65 72 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73 20 75 73 65 64 20 77 69 74 68 20 f.rendering.functions.used.with.
59a0 60 73 68 72 2d 72 65 6e 64 65 72 2d 72 65 67 69 6f 6e 27 2e 22 29 0a 0a 28 64 65 66 75 6e 20 6e `shr-render-region'.")..(defun.n
59c0 6f 76 2d 72 65 6e 64 65 72 2d 68 74 6d 6c 20 28 29 0a 20 20 22 52 65 6e 64 65 72 20 48 54 4d 4c ov-render-html.()..."Render.HTML
59e0 20 69 6e 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 20 77 69 74 68 20 73 68 72 2e 22 0a 20 20 .in.current.buffer.with.shr."...
5a00 28 72 75 6e 2d 68 6f 6f 6b 73 20 27 6e 6f 76 2d 70 72 65 2d 68 74 6d 6c 2d 72 65 6e 64 65 72 2d (run-hooks.'nov-pre-html-render-
5a20 68 6f 6f 6b 29 0a 20 20 28 6c 65 74 20 28 3b 3b 20 48 41 43 4b 3a 20 6d 61 6b 65 20 62 75 74 74 hook)...(let.(;;.HACK:.make.butt
5a40 6f 6e 73 20 75 73 65 20 6f 75 72 20 6f 77 6e 20 63 6f 6d 6d 61 6e 64 73 0a 20 20 20 20 20 20 20 ons.use.our.own.commands........
5a60 20 28 73 68 72 2d 6d 61 70 20 6e 6f 76 2d 62 75 74 74 6f 6e 2d 6d 61 70 29 0a 20 20 20 20 20 20 .(shr-map.nov-button-map).......
5a80 20 20 28 73 68 72 2d 65 78 74 65 72 6e 61 6c 2d 72 65 6e 64 65 72 69 6e 67 2d 66 75 6e 63 74 69 ..(shr-external-rendering-functi
5aa0 6f 6e 73 20 6e 6f 76 2d 73 68 72 2d 72 65 6e 64 65 72 69 6e 67 2d 66 75 6e 63 74 69 6f 6e 73 29 ons.nov-shr-rendering-functions)
5ac0 0a 20 20 20 20 20 20 20 20 28 73 68 72 2d 75 73 65 2d 66 6f 6e 74 73 20 6e 6f 76 2d 76 61 72 69 .........(shr-use-fonts.nov-vari
5ae0 61 62 6c 65 2d 70 69 74 63 68 29 29 0a 20 20 20 20 3b 3b 20 48 41 43 4b 3a 20 60 73 68 72 2d 65 able-pitch)).....;;.HACK:.`shr-e
5b00 78 74 65 72 6e 61 6c 2d 72 65 6e 64 65 72 69 6e 67 2d 66 75 6e 63 74 69 6f 6e 73 27 20 64 6f 65 xternal-rendering-functions'.doe
5b20 73 6e 27 74 20 63 6f 76 65 72 0a 20 20 20 20 3b 3b 20 65 76 65 72 79 20 75 73 61 67 65 20 6f 66 sn't.cover.....;;.every.usage.of
5b40 20 60 73 68 72 2d 74 61 67 2d 69 6d 67 27 0a 20 20 20 20 28 63 6c 2d 6c 65 74 66 20 28 28 28 73 .`shr-tag-img'.....(cl-letf.(((s
5b60 79 6d 62 6f 6c 2d 66 75 6e 63 74 69 6f 6e 20 27 73 68 72 2d 74 61 67 2d 69 6d 67 29 20 27 6e 6f ymbol-function.'shr-tag-img).'no
5b80 76 2d 72 65 6e 64 65 72 2d 69 6d 67 29 29 0a 20 20 20 20 20 20 28 69 66 20 28 65 71 20 6e 6f 76 v-render-img)).......(if.(eq.nov
5ba0 2d 74 65 78 74 2d 77 69 64 74 68 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 6c 65 74 -text-width.t)...........(cl-let
5bc0 66 20 28 28 28 73 79 6d 62 6f 6c 2d 66 75 6e 63 74 69 6f 6e 20 27 73 68 72 2d 66 69 6c 6c 2d 6c f.(((symbol-function.'shr-fill-l
5be0 69 6e 65 29 20 27 69 67 6e 6f 72 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 68 72 2d ine).'ignore)).............(shr-
5c00 72 65 6e 64 65 72 2d 72 65 67 69 6f 6e 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 6e 74 render-region.(point-min).(point
5c20 2d 6d 61 78 29 29 29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 73 68 72 2d 77 69 64 74 68 -max))).........(let.((shr-width
5c40 20 6e 6f 76 2d 74 65 78 74 2d 77 69 64 74 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 68 72 .nov-text-width))...........(shr
5c60 2d 72 65 6e 64 65 72 2d 72 65 67 69 6f 6e 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 6e -render-region.(point-min).(poin
5c80 74 2d 6d 61 78 29 29 29 29 29 29 0a 20 20 28 72 75 6e 2d 68 6f 6f 6b 73 20 27 6e 6f 76 2d 70 6f t-max))))))...(run-hooks.'nov-po
5ca0 73 74 2d 68 74 6d 6c 2d 72 65 6e 64 65 72 2d 68 6f 6f 6b 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f st-html-render-hook))..(defun.no
5cc0 76 2d 72 65 6e 64 65 72 2d 64 6f 63 75 6d 65 6e 74 20 28 29 0a 20 20 22 52 65 6e 64 65 72 20 74 v-render-document.()..."Render.t
5ce0 68 65 20 64 6f 63 75 6d 65 6e 74 20 72 65 66 65 72 65 6e 63 65 64 20 62 79 20 60 6e 6f 76 2d 64 he.document.referenced.by.`nov-d
5d00 6f 63 75 6d 65 6e 74 73 2d 69 6e 64 65 78 27 2e 0a 49 66 20 74 68 65 20 64 6f 63 75 6d 65 6e 74 ocuments-index'..If.the.document
5d20 20 70 61 74 68 20 72 65 66 65 72 73 20 74 6f 20 61 6e 20 69 6d 61 67 65 20 28 61 73 20 64 65 74 .path.refers.to.an.image.(as.det
5d40 65 72 6d 69 6e 65 64 20 62 79 0a 60 69 6d 61 67 65 2d 74 79 70 65 2d 66 69 6c 65 2d 6e 61 6d 65 ermined.by.`image-type-file-name
5d60 2d 72 65 67 65 78 70 73 27 29 2c 20 61 6e 20 69 6d 61 67 65 20 69 73 20 69 6e 73 65 72 74 65 64 -regexps'),.an.image.is.inserted
5d80 2c 20 6f 74 68 65 72 77 69 73 65 0a 74 68 65 20 48 54 4d 4c 20 69 73 20 72 65 6e 64 65 72 65 64 ,.otherwise.the.HTML.is.rendered
5da0 20 77 69 74 68 20 60 6e 6f 76 2d 72 65 6e 64 65 72 2d 68 74 6d 6c 2d 66 75 6e 63 74 69 6f 6e 27 .with.`nov-render-html-function'
5dc0 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 73 65 71 2d 6c 65 74 20 28 69 ."...(interactive)...(seq-let.(i
5de0 64 20 26 72 65 73 74 20 70 61 74 68 29 20 28 61 72 65 66 20 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 d.&rest.path).(aref.nov-document
5e00 73 20 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 2d 69 6e 64 65 78 29 0a 20 20 20 20 28 6c 65 74 20 s.nov-documents-index).....(let.
5e20 28 3b 3b 20 48 41 43 4b 3a 20 74 68 69 73 20 73 68 6f 75 6c 64 20 62 65 20 6c 6f 6f 6b 65 64 20 (;;.HACK:.this.should.be.looked.
5e40 75 70 20 69 6e 20 74 68 65 20 6d 61 6e 69 66 65 73 74 0a 20 20 20 20 20 20 20 20 20 20 28 69 6d up.in.the.manifest...........(im
5e60 61 67 65 70 20 28 73 65 71 2d 66 69 6e 64 20 28 6c 61 6d 62 64 61 20 28 69 74 65 6d 29 20 28 73 agep.(seq-find.(lambda.(item).(s
5e80 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 28 63 61 72 20 69 74 65 6d 29 20 70 61 74 68 29 29 0a tring-match-p.(car.item).path)).
5ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6d 61 67 ............................imag
5ec0 65 2d 74 79 70 65 2d 66 69 6c 65 2d 6e 61 6d 65 2d 72 65 67 65 78 70 73 29 29 0a 20 20 20 20 20 e-type-file-name-regexps))......
5ee0 20 20 20 20 20 3b 3b 20 4e 4f 54 45 3a 20 61 6c 6c 6f 77 73 20 72 65 73 6f 6c 76 69 6e 67 20 69 .....;;.NOTE:.allows.resolving.i
5f00 6d 61 67 65 20 72 65 66 65 72 65 6e 63 65 73 20 63 6f 72 72 65 63 74 6c 79 0a 20 20 20 20 20 20 mage.references.correctly.......
5f20 20 20 20 20 28 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 20 28 66 69 6c 65 2d 6e 61 6d ....(default-directory.(file-nam
5f40 65 2d 64 69 72 65 63 74 6f 72 79 20 70 61 74 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 62 75 66 e-directory.path))...........buf
5f60 66 65 72 2d 72 65 61 64 2d 6f 6e 6c 79 29 0a 20 20 20 20 20 20 28 65 72 61 73 65 2d 62 75 66 66 fer-read-only).......(erase-buff
5f80 65 72 29 0a 0a 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 28 69 6d 61 67 65 70 0a er)........(cond........(imagep.
5fa0 20 20 20 20 20 20 20 20 28 6e 6f 76 2d 69 6e 73 65 72 74 2d 69 6d 61 67 65 20 70 61 74 68 20 22 ........(nov-insert-image.path."
5fc0 22 29 29 0a 20 20 20 20 20 20 20 28 28 61 6e 64 20 28 76 65 72 73 69 6f 6e 3c 20 6e 6f 76 2d 65 "))........((and.(version<.nov-e
5fe0 70 75 62 2d 76 65 72 73 69 6f 6e 20 22 33 2e 30 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 pub-version."3.0")..............
6000 28 65 71 20 69 64 20 6e 6f 76 2d 74 6f 63 2d 69 64 29 29 0a 20 20 20 20 20 20 20 20 28 69 6e 73 (eq.id.nov-toc-id)).........(ins
6020 65 72 74 20 28 6e 6f 76 2d 6e 63 78 2d 74 6f 2d 68 74 6d 6c 20 70 61 74 68 29 29 29 0a 20 20 20 ert.(nov-ncx-to-html.path)))....
6040 20 20 20 20 28 74 0a 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 6e 6f 76 2d 73 6c 75 72 ....(t.........(insert.(nov-slur
6060 70 20 70 61 74 68 29 29 29 29 0a 0a 20 20 20 20 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 69 6d 61 p.path))))........(when.(not.ima
6080 67 65 70 29 0a 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 6e 6f 76 2d 72 65 6e 64 65 72 gep).........(funcall.nov-render
60a0 2d 68 74 6d 6c 2d 66 75 6e 63 74 69 6f 6e 29 29 0a 20 20 20 20 20 20 3b 3b 20 4e 4f 54 45 3a 20 -html-function)).......;;.NOTE:.
60c0 74 68 69 73 20 69 73 20 68 6f 77 20 64 6f 63 2d 76 69 65 77 20 61 76 6f 69 64 73 20 6f 76 65 72 this.is.how.doc-view.avoids.over
60e0 77 72 69 74 69 6e 67 20 74 68 65 20 66 69 6c 65 0a 20 20 20 20 20 20 28 73 65 74 2d 62 75 66 66 writing.the.file.......(set-buff
6100 65 72 2d 6d 6f 64 69 66 69 65 64 2d 70 20 6e 69 6c 29 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 er-modified-p.nil).......(goto-c
6120 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d har.(point-min)))))..(defun.nov-
6140 66 69 6e 64 2d 64 6f 63 75 6d 65 6e 74 20 28 70 72 65 64 69 63 61 74 65 29 0a 20 20 22 52 65 74 find-document.(predicate)..."Ret
6160 75 72 6e 20 66 69 72 73 74 20 69 74 65 6d 20 69 6e 20 60 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 urn.first.item.in.`nov-documents
6180 27 20 50 52 45 44 49 43 41 54 45 20 69 73 20 74 72 75 65 20 66 6f 72 2e 22 0a 20 20 28 6c 65 74 '.PREDICATE.is.true.for."...(let
61a0 20 28 28 69 20 30 29 0a 20 20 20 20 20 20 20 20 64 6f 6e 65 29 0a 20 20 20 20 28 77 68 69 6c 65 .((i.0).........done).....(while
61c0 20 28 61 6e 64 20 28 6e 6f 74 20 64 6f 6e 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(and.(not.done)................
61e0 20 28 3c 20 69 20 28 6c 65 6e 67 74 68 20 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 29 29 29 0a 20 .(<.i.(length.nov-documents)))..
6200 20 20 20 20 20 28 77 68 65 6e 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 69 63 61 74 65 20 28 61 .....(when.(funcall.predicate.(a
6220 72 65 66 20 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 20 69 29 29 0a 20 20 20 20 20 20 20 20 28 73 ref.nov-documents.i)).........(s
6240 65 74 71 20 64 6f 6e 65 20 74 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 69 20 28 31 2b 20 69 etq.done.t)).......(setq.i.(1+.i
6260 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 64 6f 6e 65 0a 20 20 20 20 20 20 28 31 2d 20 69 29 29 ))).....(when.done.......(1-.i))
6280 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 67 6f 74 6f 2d 64 6f 63 75 6d 65 6e 74 20 28 69 6e ))..(defun.nov-goto-document.(in
62a0 64 65 78 29 0a 20 20 22 47 6f 20 74 6f 20 74 68 65 20 64 6f 63 75 6d 65 6e 74 20 64 65 6e 6f 74 dex)..."Go.to.the.document.denot
62c0 65 64 20 62 79 20 49 4e 44 45 58 2e 22 0a 20 20 28 6c 65 74 20 28 28 68 69 73 74 6f 72 79 20 28 ed.by.INDEX."...(let.((history.(
62e0 63 6f 6e 73 20 28 6c 69 73 74 20 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 2d 69 6e 64 65 78 20 28 cons.(list.nov-documents-index.(
6300 70 6f 69 6e 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 6e point))........................n
6320 6f 76 2d 68 69 73 74 6f 72 79 29 29 29 0a 20 20 20 20 28 73 65 74 71 20 6e 6f 76 2d 64 6f 63 75 ov-history))).....(setq.nov-docu
6340 6d 65 6e 74 73 2d 69 6e 64 65 78 20 69 6e 64 65 78 29 0a 20 20 20 20 28 6e 6f 76 2d 72 65 6e 64 ments-index.index).....(nov-rend
6360 65 72 2d 64 6f 63 75 6d 65 6e 74 29 0a 20 20 20 20 28 73 65 74 71 20 6e 6f 76 2d 68 69 73 74 6f er-document).....(setq.nov-histo
6380 72 79 20 68 69 73 74 6f 72 79 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 67 6f 74 6f 2d 74 ry.history)))..(defun.nov-goto-t
63a0 6f 63 20 28 29 0a 20 20 22 47 6f 20 74 6f 20 74 68 65 20 54 4f 43 20 69 6e 64 65 78 20 61 6e 64 oc.()..."Go.to.the.TOC.index.and
63c0 20 72 65 6e 64 65 72 20 74 68 65 20 54 4f 43 20 64 6f 63 75 6d 65 6e 74 2e 22 0a 20 20 28 69 6e .render.the.TOC.document."...(in
63e0 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74 20 28 28 69 6e 64 65 78 20 28 6e 6f 76 2d 66 teractive)...(let.((index.(nov-f
6400 69 6e 64 2d 64 6f 63 75 6d 65 6e 74 20 28 6c 61 6d 62 64 61 20 28 64 6f 63 29 20 28 65 71 20 28 ind-document.(lambda.(doc).(eq.(
6420 63 61 72 20 64 6f 63 29 20 6e 6f 76 2d 74 6f 63 2d 69 64 29 29 29 29 29 0a 20 20 20 20 28 77 68 car.doc).nov-toc-id))))).....(wh
6440 65 6e 20 28 6e 6f 74 20 69 6e 64 65 78 29 0a 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 43 6f 75 en.(not.index).......(error."Cou
6460 6c 64 6e 27 74 20 6c 6f 63 61 74 65 20 54 4f 43 22 29 29 0a 20 20 20 20 28 6e 6f 76 2d 67 6f 74 ldn't.locate.TOC")).....(nov-got
6480 6f 2d 64 6f 63 75 6d 65 6e 74 20 69 6e 64 65 78 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d o-document.index)))..(defun.nov-
64a0 76 69 65 77 2d 73 6f 75 72 63 65 20 28 29 0a 20 20 22 56 69 65 77 20 74 68 65 20 73 6f 75 72 63 view-source.()..."View.the.sourc
64c0 65 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 64 6f 63 75 6d 65 6e 74 20 69 6e 20 61 20 6e e.of.the.current.document.in.a.n
64e0 65 77 20 62 75 66 66 65 72 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 66 ew.buffer."...(interactive)...(f
6500 69 6e 64 2d 66 69 6c 65 20 28 63 64 72 20 28 61 72 65 66 20 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 ind-file.(cdr.(aref.nov-document
6520 73 20 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 2d 69 6e 64 65 78 29 29 29 29 0a 0a 28 64 65 66 75 s.nov-documents-index))))..(defu
6540 6e 20 6e 6f 76 2d 76 69 65 77 2d 63 6f 6e 74 65 6e 74 2d 73 6f 75 72 63 65 20 28 29 0a 20 20 22 n.nov-view-content-source.()..."
6560 56 69 65 77 20 74 68 65 20 73 6f 75 72 63 65 20 6f 66 20 74 68 65 20 63 6f 6e 74 65 6e 74 20 66 View.the.source.of.the.content.f
6580 69 6c 65 20 69 6e 20 61 20 6e 65 77 20 62 75 66 66 65 72 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 ile.in.a.new.buffer."...(interac
65a0 74 69 76 65 29 0a 20 20 28 66 69 6e 64 2d 66 69 6c 65 20 6e 6f 76 2d 63 6f 6e 74 65 6e 74 2d 66 tive)...(find-file.nov-content-f
65c0 69 6c 65 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 72 65 6f 70 65 6e 2d 61 73 2d 61 72 63 68 ile))..(defun.nov-reopen-as-arch
65e0 69 76 65 20 28 29 0a 20 20 22 52 65 6f 70 65 6e 20 74 68 65 20 45 50 55 42 20 64 6f 63 75 6d 65 ive.()..."Reopen.the.EPUB.docume
6600 6e 74 20 75 73 69 6e 67 20 60 61 72 63 68 69 76 65 2d 6d 6f 64 65 27 2e 22 0a 20 20 28 69 6e 74 nt.using.`archive-mode'."...(int
6620 65 72 61 63 74 69 76 65 29 0a 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 eractive)...(with-current-buffer
6640 20 28 66 69 6e 64 2d 66 69 6c 65 2d 6c 69 74 65 72 61 6c 6c 79 20 6e 6f 76 2d 66 69 6c 65 2d 6e .(find-file-literally.nov-file-n
6660 61 6d 65 29 0a 20 20 20 20 28 61 72 63 68 69 76 65 2d 6d 6f 64 65 29 29 29 0a 0a 28 64 65 66 75 ame).....(archive-mode)))..(defu
6680 6e 20 6e 6f 76 2d 64 69 73 70 6c 61 79 2d 6d 65 74 61 64 61 74 61 20 28 29 0a 20 20 22 56 69 65 n.nov-display-metadata.()..."Vie
66a0 77 20 74 68 65 20 6d 65 74 61 64 61 74 61 20 6f 66 20 74 68 65 20 45 50 55 42 20 64 6f 63 75 6d w.the.metadata.of.the.EPUB.docum
66c0 65 6e 74 20 69 6e 20 61 20 6e 65 77 20 62 75 66 66 65 72 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 ent.in.a.new.buffer."...(interac
66e0 74 69 76 65 29 0a 20 20 28 6c 65 74 20 28 28 62 75 66 66 65 72 20 22 2a 45 50 55 42 20 6d 65 74 tive)...(let.((buffer."*EPUB.met
6700 61 64 61 74 61 2a 22 29 0a 20 20 20 20 20 20 20 20 28 6d 65 74 61 64 61 74 61 20 6e 6f 76 2d 6d adata*").........(metadata.nov-m
6720 65 74 61 64 61 74 61 29 0a 20 20 20 20 20 20 20 20 28 76 65 72 73 69 6f 6e 20 6e 6f 76 2d 65 70 etadata).........(version.nov-ep
6740 75 62 2d 76 65 72 73 69 6f 6e 29 29 0a 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 ub-version)).....(with-current-b
6760 75 66 66 65 72 20 28 67 65 74 2d 62 75 66 66 65 72 2d 63 72 65 61 74 65 20 62 75 66 66 65 72 29 uffer.(get-buffer-create.buffer)
6780 0a 20 20 20 20 20 20 28 73 70 65 63 69 61 6c 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 28 6c 65 74 .......(special-mode).......(let
67a0 20 28 62 75 66 66 65 72 2d 72 65 61 64 2d 6f 6e 6c 79 29 0a 20 20 20 20 20 20 20 20 28 65 72 61 .(buffer-read-only).........(era
67c0 73 65 2d 62 75 66 66 65 72 29 0a 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 66 6f 72 6d se-buffer).........(insert.(form
67e0 61 74 20 22 45 50 55 42 20 56 65 72 73 69 6f 6e 3a 20 25 73 5c 6e 22 20 76 65 72 73 69 6f 6e 29 at."EPUB.Version:.%s\n".version)
6800 29 0a 20 20 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 69 74 65 6d 20 6d 65 74 61 64 61 74 61 ).........(dolist.(item.metadata
6820 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 71 2d 6c 65 74 20 28 6b 65 79 20 26 72 65 73 74 20 )...........(seq-let.(key.&rest.
6840 76 61 6c 75 65 29 20 69 74 65 6d 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 value).item.............(insert.
6860 28 66 6f 72 6d 61 74 20 22 25 73 3a 20 22 20 28 63 61 70 69 74 61 6c 69 7a 65 20 28 73 79 6d 62 (format."%s:.".(capitalize.(symb
6880 6f 6c 2d 6e 61 6d 65 20 6b 65 79 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 ol-name.key)))).............(if.
68a0 76 61 6c 75 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 65 71 20 6b 65 value.................(if.(eq.ke
68c0 79 20 27 64 65 73 63 72 69 70 74 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 y.'description).................
68e0 20 20 20 20 28 6c 65 74 20 28 28 62 65 67 20 28 70 6f 69 6e 74 29 29 29 0a 20 20 20 20 20 20 20 ....(let.((beg.(point)))........
6900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 76 61 6c 75 65 29 0a 20 20 ...............(insert.value)...
6920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 68 72 2d 72 65 6e 64 65 72 2d ....................(shr-render-
6940 72 65 67 69 6f 6e 20 62 65 67 20 28 70 6f 69 6e 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 region.beg.(point)))............
6960 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 66 6f 72 6d 61 74 20 22 25 73 22 20 76 61 6c 75 .......(insert.(format."%s".valu
6980 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 70 72 6f 70 e)))...............(insert.(prop
69a0 65 72 74 69 7a 65 20 22 4e 6f 6e 65 22 20 27 66 61 63 65 20 27 69 74 61 6c 69 63 29 29 29 0a 20 ertize."None".'face.'italic)))..
69c0 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 5c 6e 22 29 29 29 0a 20 20 20 20 20 ...........(insert."\n")))......
69e0 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 29 29 0a 20 20 20 ...(goto-char.(point-min))))....
6a00 20 28 70 6f 70 2d 74 6f 2d 62 75 66 66 65 72 20 62 75 66 66 65 72 29 29 29 0a 0a 28 64 65 66 75 .(pop-to-buffer.buffer)))..(defu
6a20 6e 20 6e 6f 76 2d 6e 65 78 74 2d 64 6f 63 75 6d 65 6e 74 20 28 29 0a 20 20 22 47 6f 20 74 6f 20 n.nov-next-document.()..."Go.to.
6a40 74 68 65 20 6e 65 78 74 20 64 6f 63 75 6d 65 6e 74 20 61 6e 64 20 72 65 6e 64 65 72 20 69 74 2e the.next.document.and.render.it.
6a60 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 77 68 65 6e 20 28 3c 20 6e 6f 76 "...(interactive)...(when.(<.nov
6a80 2d 64 6f 63 75 6d 65 6e 74 73 2d 69 6e 64 65 78 20 28 31 2d 20 28 6c 65 6e 67 74 68 20 6e 6f 76 -documents-index.(1-.(length.nov
6aa0 2d 64 6f 63 75 6d 65 6e 74 73 29 29 29 0a 20 20 20 20 28 6e 6f 76 2d 67 6f 74 6f 2d 64 6f 63 75 -documents))).....(nov-goto-docu
6ac0 6d 65 6e 74 20 28 31 2b 20 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 2d 69 6e 64 65 78 29 29 29 29 ment.(1+.nov-documents-index))))
6ae0 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 70 72 65 76 69 6f 75 73 2d 64 6f 63 75 6d 65 6e 74 20 28 ..(defun.nov-previous-document.(
6b00 29 0a 20 20 22 47 6f 20 74 6f 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 64 6f 63 75 6d 65 6e 74 )..."Go.to.the.previous.document
6b20 20 61 6e 64 20 72 65 6e 64 65 72 20 69 74 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 .and.render.it."...(interactive)
6b40 0a 20 20 28 77 68 65 6e 20 28 3e 20 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 2d 69 6e 64 65 78 20 ...(when.(>.nov-documents-index.
6b60 30 29 0a 20 20 20 20 28 6e 6f 76 2d 67 6f 74 6f 2d 64 6f 63 75 6d 65 6e 74 20 28 31 2d 20 6e 6f 0).....(nov-goto-document.(1-.no
6b80 76 2d 64 6f 63 75 6d 65 6e 74 73 2d 69 6e 64 65 78 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f v-documents-index))))..(defun.no
6ba0 76 2d 73 63 72 6f 6c 6c 2d 75 70 20 28 61 72 67 29 0a 20 20 22 53 63 72 6f 6c 6c 20 77 69 74 68 v-scroll-up.(arg)..."Scroll.with
6bc0 20 60 73 63 72 6f 6c 6c 2d 75 70 27 20 6f 72 20 76 69 73 69 74 20 6e 65 78 74 20 63 68 61 70 74 .`scroll-up'.or.visit.next.chapt
6be0 65 72 20 69 66 20 61 74 20 62 6f 74 74 6f 6d 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 er.if.at.bottom."...(interactive
6c00 20 22 50 22 29 0a 20 20 28 69 66 20 28 3e 3d 20 28 77 69 6e 64 6f 77 2d 65 6e 64 29 20 28 70 6f ."P")...(if.(>=.(window-end).(po
6c20 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 20 20 28 6e 6f 76 2d 6e 65 78 74 2d 64 6f 63 75 6d 65 int-max)).......(nov-next-docume
6c40 6e 74 29 0a 20 20 20 20 28 73 63 72 6f 6c 6c 2d 75 70 20 61 72 67 29 29 29 0a 0a 28 64 65 66 75 nt).....(scroll-up.arg)))..(defu
6c60 6e 20 6e 6f 76 2d 73 63 72 6f 6c 6c 2d 64 6f 77 6e 20 28 61 72 67 29 0a 20 20 22 53 63 72 6f 6c n.nov-scroll-down.(arg)..."Scrol
6c80 6c 20 77 69 74 68 20 60 73 63 72 6f 6c 6c 2d 64 6f 77 6e 27 20 6f 72 20 76 69 73 69 74 20 70 72 l.with.`scroll-down'.or.visit.pr
6ca0 65 76 69 6f 75 73 20 63 68 61 70 74 65 72 20 69 66 20 61 74 20 74 6f 70 2e 22 0a 20 20 28 69 6e evious.chapter.if.at.top."...(in
6cc0 74 65 72 61 63 74 69 76 65 20 22 50 22 29 0a 20 20 28 69 66 20 28 61 6e 64 20 28 3c 3d 20 28 77 teractive."P")...(if.(and.(<=.(w
6ce0 69 6e 64 6f 77 2d 73 74 61 72 74 29 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 20 20 indow-start).(point-min)).......
6d00 20 20 20 20 20 28 3e 20 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 2d 69 6e 64 65 78 20 30 29 29 0a .....(>.nov-documents-index.0)).
6d20 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 28 6e 6f 76 2d 70 72 65 76 69 6f ......(progn.........(nov-previo
6d40 75 73 2d 64 6f 63 75 6d 65 6e 74 29 0a 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 us-document).........(goto-char.
6d60 28 70 6f 69 6e 74 2d 6d 61 78 29 29 29 0a 20 20 20 20 28 73 63 72 6f 6c 6c 2d 64 6f 77 6e 20 61 (point-max))).....(scroll-down.a
6d80 72 67 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 76 69 73 69 74 2d 72 65 6c 61 74 69 76 65 rg)))..(defun.nov-visit-relative
6da0 2d 66 69 6c 65 20 28 66 69 6c 65 6e 61 6d 65 20 74 61 72 67 65 74 29 0a 20 20 22 56 69 73 69 74 -file.(filename.target)..."Visit
6dc0 20 74 68 65 20 64 6f 63 75 6d 65 6e 74 20 61 73 20 73 70 65 63 69 66 69 65 64 20 62 79 20 46 49 .the.document.as.specified.by.FI
6de0 4c 45 4e 41 4d 45 20 61 6e 64 20 54 41 52 47 45 54 2e 22 0a 20 20 28 6c 65 74 20 28 69 6e 64 65 LENAME.and.TARGET."...(let.(inde
6e00 78 29 0a 20 20 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 28 7a 65 72 6f 70 20 28 6c 65 6e 67 74 68 x).....(when.(not.(zerop.(length
6e20 20 66 69 6c 65 6e 61 6d 65 29 29 29 0a 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 63 75 72 72 65 .filename))).......(let*.((curre
6e40 6e 74 2d 70 61 74 68 20 28 63 64 72 20 28 61 72 65 66 20 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 nt-path.(cdr.(aref.nov-documents
6e60 20 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 2d 69 6e 64 65 78 29 29 29 0a 20 20 20 20 20 20 20 20 .nov-documents-index))).........
6e80 20 20 20 20 20 28 64 69 72 65 63 74 6f 72 79 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 64 69 72 65 63 .....(directory.(file-name-direc
6ea0 74 6f 72 79 20 63 75 72 72 65 6e 74 2d 70 61 74 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 tory.current-path)).............
6ec0 20 28 70 61 74 68 20 28 66 69 6c 65 2d 74 72 75 65 6e 61 6d 65 20 28 6e 6f 76 2d 6d 61 6b 65 2d .(path.(file-truename.(nov-make-
6ee0 70 61 74 68 20 64 69 72 65 63 74 6f 72 79 20 66 69 6c 65 6e 61 6d 65 29 29 29 0a 20 20 20 20 20 path.directory.filename)))......
6f00 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 20 28 6e 6f 76 2d 66 69 6e 64 2d 64 6f 63 75 6d 65 6e ........(match.(nov-find-documen
6f20 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 t......................(lambda.(
6f40 64 6f 63 29 20 28 65 71 75 61 6c 20 70 61 74 68 20 28 66 69 6c 65 2d 74 72 75 65 6e 61 6d 65 20 doc).(equal.path.(file-truename.
6f60 28 63 64 72 20 64 6f 63 29 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 6e (cdr.doc))))))).........(when.(n
6f80 6f 74 20 6d 61 74 63 68 29 0a 20 20 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 43 6f 75 6c ot.match)...........(error."Coul
6fa0 64 6e 27 74 20 6c 6f 63 61 74 65 20 64 6f 63 75 6d 65 6e 74 22 29 29 0a 20 20 20 20 20 20 20 20 dn't.locate.document")).........
6fc0 28 73 65 74 71 20 69 6e 64 65 78 20 6d 61 74 63 68 29 29 29 0a 20 20 20 20 3b 3b 20 48 41 43 4b (setq.index.match))).....;;.HACK
6fe0 3a 20 74 68 69 73 20 62 69 6e 64 69 6e 67 20 69 73 20 6f 6e 6c 79 20 6e 65 65 64 20 66 6f 72 20 :.this.binding.is.only.need.for.
7000 45 6d 61 63 73 20 32 37 2e 31 20 61 6e 64 20 6f 6c 64 65 72 2c 20 61 73 20 6f 66 0a 20 20 20 20 Emacs.27.1.and.older,.as.of.....
7020 3b 3b 20 45 6d 61 63 73 20 32 38 2e 31 2c 20 73 68 72 2e 65 6c 20 61 6c 77 61 79 73 20 61 64 64 ;;.Emacs.28.1,.shr.el.always.add
7040 73 20 74 68 65 20 73 68 72 2d 74 61 72 67 65 74 2d 69 64 20 70 72 6f 70 65 72 74 79 0a 20 20 20 s.the.shr-target-id.property....
7060 20 28 6c 65 74 20 28 28 73 68 72 2d 74 61 72 67 65 74 2d 69 64 20 74 61 72 67 65 74 29 29 0a 20 .(let.((shr-target-id.target))..
7080 20 20 20 20 20 28 6e 6f 76 2d 67 6f 74 6f 2d 64 6f 63 75 6d 65 6e 74 20 28 6f 72 20 69 6e 64 65 .....(nov-goto-document.(or.inde
70a0 78 20 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 2d 69 6e 64 65 78 29 29 29 29 0a 20 20 28 77 68 65 x.nov-documents-index))))...(whe
70c0 6e 20 74 61 72 67 65 74 0a 20 20 20 20 28 6c 65 74 20 28 28 70 6f 73 20 28 70 6f 69 6e 74 2d 6d n.target.....(let.((pos.(point-m
70e0 69 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 64 6f 6e 65 29 0a 20 20 20 20 20 20 28 77 68 69 6c in))...........done).......(whil
7100 65 20 28 61 6e 64 20 28 6e 6f 74 20 64 6f 6e 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e.(and.(not.done)...............
7120 20 20 20 20 28 73 65 74 71 20 70 6f 73 20 28 6e 65 78 74 2d 73 69 6e 67 6c 65 2d 70 72 6f 70 65 ....(setq.pos.(next-single-prope
7140 72 74 79 2d 63 68 61 6e 67 65 20 70 6f 73 20 27 73 68 72 2d 74 61 72 67 65 74 2d 69 64 29 29 29 rty-change.pos.'shr-target-id)))
7160 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 70 72 6f 70 65 72 74 79 20 28 67 65 74 2d 74 65 .........(let.((property.(get-te
7180 78 74 2d 70 72 6f 70 65 72 74 79 20 70 6f 73 20 27 73 68 72 2d 74 61 72 67 65 74 2d 69 64 29 29 xt-property.pos.'shr-target-id))
71a0 29 0a 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 6f 72 20 28 65 71 75 61 6c 20 70 72 6f )...........(when.(or.(equal.pro
71c0 70 65 72 74 79 20 74 61 72 67 65 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 perty.target)...................
71e0 20 20 3b 3b 20 4e 4f 54 45 3a 20 61 73 20 6f 66 20 45 6d 61 63 73 20 32 38 2e 31 20 74 68 69 73 ..;;.NOTE:.as.of.Emacs.28.1.this
7200 20 6d 61 79 20 62 65 20 61 20 6c 69 73 74 20 6f 66 20 74 61 72 67 65 74 73 0a 20 20 20 20 20 20 .may.be.a.list.of.targets.......
7220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 63 6f 6e 73 70 20 70 72 6f 70 65 72 ..............(and.(consp.proper
7240 74 79 29 20 28 6d 65 6d 62 65 72 20 74 61 72 67 65 74 20 70 72 6f 70 65 72 74 79 29 29 29 0a 20 ty).(member.target.property)))..
7260 20 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 70 6f 73 29 0a 20 20 20 20 20 ...........(goto-char.pos)......
7280 20 20 20 20 20 20 20 28 72 65 63 65 6e 74 65 72 20 28 31 2d 20 28 6d 61 78 20 31 20 73 63 72 6f .......(recenter.(1-.(max.1.scro
72a0 6c 6c 2d 6d 61 72 67 69 6e 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 64 ll-margin))).............(setq.d
72c0 6f 6e 65 20 74 29 29 29 29 0a 20 20 20 20 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 64 6f 6e 65 29 one.t)))).......(when.(not.done)
72e0 0a 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 43 6f 75 6c 64 6e 27 74 20 6c 6f 63 61 74 65 .........(error."Couldn't.locate
7300 20 74 61 72 67 65 74 22 29 29 29 29 29 0a 0a 3b 3b 20 61 64 61 70 74 65 64 20 66 72 6f 6d 20 60 .target")))))..;;.adapted.from.`
7320 73 68 72 2d 62 72 6f 77 73 65 2d 75 72 6c 27 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 62 72 6f 77 73 shr-browse-url'.(defun.nov-brows
7340 65 2d 75 72 6c 20 28 26 6f 70 74 69 6f 6e 61 6c 20 6d 6f 75 73 65 2d 65 76 65 6e 74 29 0a 20 20 e-url.(&optional.mouse-event)...
7360 22 46 6f 6c 6c 6f 77 20 61 6e 20 65 78 74 65 72 6e 61 6c 20 75 72 6c 20 77 69 74 68 20 60 62 72 "Follow.an.external.url.with.`br
7380 6f 77 73 65 2d 75 72 6c 27 2e 0a 49 6e 74 65 72 6e 61 6c 20 55 52 4c 73 20 61 72 65 20 76 69 73 owse-url'..Internal.URLs.are.vis
73a0 69 74 65 64 20 77 69 74 68 20 60 6e 6f 76 2d 76 69 73 69 74 2d 72 65 6c 61 74 69 76 65 2d 66 69 ited.with.`nov-visit-relative-fi
73c0 6c 65 27 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 28 6c 69 73 74 20 6c 61 73 74 2d le'."...(interactive.(list.last-
73e0 6e 6f 6e 6d 65 6e 75 2d 65 76 65 6e 74 29 29 0a 20 20 28 6d 6f 75 73 65 2d 73 65 74 2d 70 6f 69 nonmenu-event))...(mouse-set-poi
7400 6e 74 20 6d 6f 75 73 65 2d 65 76 65 6e 74 29 0a 20 20 28 6c 65 74 20 28 28 75 72 6c 20 28 67 65 nt.mouse-event)...(let.((url.(ge
7420 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 70 6f 69 6e 74 29 20 27 73 68 72 2d 75 72 6c t-text-property.(point).'shr-url
7440 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 75 72 6c 29 0a 20 20 20 20 20 20 28 75 ))).....(when.(not.url).......(u
7460 73 65 72 2d 65 72 72 6f 72 20 22 4e 6f 20 6c 69 6e 6b 20 75 6e 64 65 72 20 70 6f 69 6e 74 22 29 ser-error."No.link.under.point")
7480 29 0a 20 20 20 20 28 69 66 20 28 6e 6f 76 2d 65 78 74 65 72 6e 61 6c 2d 75 72 6c 2d 70 20 75 72 ).....(if.(nov-external-url-p.ur
74a0 6c 29 0a 20 20 20 20 20 20 20 20 28 62 72 6f 77 73 65 2d 75 72 6c 20 75 72 6c 29 0a 20 20 20 20 l).........(browse-url.url).....
74c0 20 20 28 61 70 70 6c 79 20 27 6e 6f 76 2d 76 69 73 69 74 2d 72 65 6c 61 74 69 76 65 2d 66 69 6c ..(apply.'nov-visit-relative-fil
74e0 65 20 28 6e 6f 76 2d 75 72 6c 2d 66 69 6c 65 6e 61 6d 65 2d 61 6e 64 2d 74 61 72 67 65 74 20 75 e.(nov-url-filename-and-target.u
7500 72 6c 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 63 6f 70 79 2d 75 72 6c 20 28 26 6f rl)))))..(defun.nov-copy-url.(&o
7520 70 74 69 6f 6e 61 6c 20 6d 6f 75 73 65 2d 65 76 65 6e 74 29 0a 20 20 28 69 6e 74 65 72 61 63 74 ptional.mouse-event)...(interact
7540 69 76 65 20 28 6c 69 73 74 20 6c 61 73 74 2d 6e 6f 6e 6d 65 6e 75 2d 65 76 65 6e 74 29 29 0a 20 ive.(list.last-nonmenu-event))..
7560 20 28 6d 6f 75 73 65 2d 73 65 74 2d 70 6f 69 6e 74 20 6d 6f 75 73 65 2d 65 76 65 6e 74 29 0a 20 .(mouse-set-point.mouse-event)..
7580 20 28 6c 65 74 20 28 28 75 72 6c 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 .(let.((url.(get-text-property.(
75a0 70 6f 69 6e 74 29 20 27 73 68 72 2d 75 72 6c 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 6e 6f point).'shr-url))).....(when.(no
75c0 74 20 75 72 6c 29 0a 20 20 20 20 20 20 28 75 73 65 72 2d 65 72 72 6f 72 20 22 4e 6f 20 6c 69 6e t.url).......(user-error."No.lin
75e0 6b 20 75 6e 64 65 72 20 70 6f 69 6e 74 22 29 29 0a 20 20 20 20 28 6b 69 6c 6c 2d 6e 65 77 20 75 k.under.point")).....(kill-new.u
7600 72 6c 29 0a 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 25 73 22 20 75 72 6c 29 29 29 0a 0a 28 64 rl).....(message."%s".url)))..(d
7620 65 66 75 6e 20 6e 6f 76 2d 73 61 76 65 64 2d 70 6c 61 63 65 73 20 28 29 0a 20 20 22 52 65 74 72 efun.nov-saved-places.()..."Retr
7640 69 65 76 65 20 73 61 76 65 64 20 70 6c 61 63 65 73 20 69 6e 20 60 6e 6f 76 2d 73 61 76 65 2d 70 ieve.saved.places.in.`nov-save-p
7660 6c 61 63 65 2d 66 69 6c 65 27 2e 22 0a 20 20 28 77 68 65 6e 20 28 61 6e 64 20 6e 6f 76 2d 73 61 lace-file'."...(when.(and.nov-sa
7680 76 65 2d 70 6c 61 63 65 2d 66 69 6c 65 20 28 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 6e 6f 76 ve-place-file.(file-exists-p.nov
76a0 2d 73 61 76 65 2d 70 6c 61 63 65 2d 66 69 6c 65 29 29 0a 20 20 20 20 28 77 69 74 68 2d 74 65 6d -save-place-file)).....(with-tem
76c0 70 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 28 69 6e 73 65 72 74 2d 66 69 6c 65 2d 63 6f 6e 74 p-buffer.......(insert-file-cont
76e0 65 6e 74 73 2d 6c 69 74 65 72 61 6c 6c 79 20 6e 6f 76 2d 73 61 76 65 2d 70 6c 61 63 65 2d 66 69 ents-literally.nov-save-place-fi
7700 6c 65 29 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 le).......(goto-char.(point-min)
7720 29 0a 20 20 20 20 20 20 28 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 6e 69 6c 0a 20 20 20 20 ).......(condition-case.nil.....
7740 20 20 20 20 20 20 28 72 65 61 64 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 0a 20 20 ......(read.(current-buffer))...
7760 20 20 20 20 20 20 28 65 72 72 6f 72 0a 20 20 20 20 20 20 20 20 20 28 6e 6f 76 2d 77 61 72 6e 20 ......(error..........(nov-warn.
7780 22 46 61 69 6c 65 64 20 74 6f 20 72 65 74 72 69 65 76 65 20 73 61 76 65 64 20 70 6c 61 63 65 73 "Failed.to.retrieve.saved.places
77a0 20 66 72 6f 6d 20 60 6e 6f 76 2d 73 61 76 65 2d 70 6c 61 63 65 2d 66 69 6c 65 27 22 29 0a 20 20 .from.`nov-save-place-file'")...
77c0 20 20 20 20 20 20 20 6e 69 6c 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 73 61 76 65 .......nil)))))..(defun.nov-save
77e0 64 2d 70 6c 61 63 65 20 28 69 64 65 6e 74 69 66 69 65 72 29 0a 20 20 22 52 65 74 72 69 65 76 65 d-place.(identifier)..."Retrieve
7800 20 73 61 76 65 64 20 70 6c 61 63 65 20 66 6f 72 20 49 44 45 4e 54 49 46 49 45 52 20 69 6e 20 60 .saved.place.for.IDENTIFIER.in.`
7820 6e 6f 76 2d 73 61 76 65 64 2d 70 6c 61 63 65 2d 66 69 6c 65 27 2e 22 0a 20 20 28 63 64 72 20 28 nov-saved-place-file'."...(cdr.(
7840 61 73 73 71 20 69 64 65 6e 74 69 66 69 65 72 20 28 6e 6f 76 2d 73 61 76 65 64 2d 70 6c 61 63 65 assq.identifier.(nov-saved-place
7860 73 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 73 61 76 65 2d 70 6c 61 63 65 20 28 69 64 s))))..(defun.nov-save-place.(id
7880 65 6e 74 69 66 69 65 72 20 69 6e 64 65 78 20 70 6f 69 6e 74 29 0a 20 20 22 53 61 76 65 20 70 6c entifier.index.point)..."Save.pl
78a0 61 63 65 20 61 73 20 69 64 65 6e 74 69 66 69 65 64 20 62 79 20 49 44 45 4e 54 49 46 49 45 52 2c ace.as.identified.by.IDENTIFIER,
78c0 20 49 4e 44 45 58 20 61 6e 64 20 50 4f 49 4e 54 2e 0a 53 61 76 69 6e 67 20 69 73 20 6f 6e 6c 79 .INDEX.and.POINT..Saving.is.only
78e0 20 64 6f 6e 65 20 69 66 20 60 6e 6f 76 2d 73 61 76 65 2d 70 6c 61 63 65 2d 66 69 6c 65 27 20 69 .done.if.`nov-save-place-file'.i
7900 73 20 73 65 74 2e 22 0a 20 20 28 77 68 65 6e 20 6e 6f 76 2d 73 61 76 65 2d 70 6c 61 63 65 2d 66 s.set."...(when.nov-save-place-f
7920 69 6c 65 0a 20 20 20 20 28 6c 65 74 2a 20 28 28 70 6c 61 63 65 20 60 28 2c 69 64 65 6e 74 69 66 ile.....(let*.((place.`(,identif
7940 69 65 72 20 28 69 6e 64 65 78 20 2e 20 2c 69 6e 64 65 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 ier.(index...,index)............
7960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 6f 69 6e 74 20 2e 20 2c 70 .....................(point...,p
7980 6f 69 6e 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 70 6c 61 63 65 73 20 28 63 6f 6e 73 oint)))............(places.(cons
79a0 20 70 6c 61 63 65 20 28 61 73 73 71 2d 64 65 6c 65 74 65 2d 61 6c 6c 20 69 64 65 6e 74 69 66 69 .place.(assq-delete-all.identifi
79c0 65 72 20 28 6e 6f 76 2d 73 61 76 65 64 2d 70 6c 61 63 65 73 29 29 29 29 0a 20 20 20 20 20 20 20 er.(nov-saved-places))))........
79e0 20 20 20 20 70 72 69 6e 74 2d 6c 65 76 65 6c 0a 20 20 20 20 20 20 20 20 20 20 20 70 72 69 6e 74 ....print-level............print
7a00 2d 6c 65 6e 67 74 68 29 0a 20 20 20 20 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 66 69 6c 65 20 6e -length).......(with-temp-file.n
7a20 6f 76 2d 73 61 76 65 2d 70 6c 61 63 65 2d 66 69 6c 65 0a 20 20 20 20 20 20 20 20 28 69 6e 73 65 ov-save-place-file.........(inse
7a40 72 74 20 28 70 72 69 6e 31 2d 74 6f 2d 73 74 72 69 6e 67 20 70 6c 61 63 65 73 29 29 29 29 29 29 rt.(prin1-to-string.places))))))
7a60 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 2d 69 6e 64 65 78 2d 76 61 6c 69 64 2d 70 20 28 64 6f 63 ..(defun.nov--index-valid-p.(doc
7a80 75 6d 65 6e 74 73 20 69 6e 64 65 78 29 0a 20 20 28 61 6e 64 20 28 69 6e 74 65 67 65 72 70 20 69 uments.index)...(and.(integerp.i
7aa0 6e 64 65 78 29 0a 20 20 20 20 20 20 20 28 3e 3d 20 69 6e 64 65 78 20 30 29 0a 20 20 20 20 20 20 ndex)........(>=.index.0).......
7ac0 20 28 3c 20 69 6e 64 65 78 20 28 6c 65 6e 67 74 68 20 64 6f 63 75 6d 65 6e 74 73 29 29 29 29 0a .(<.index.(length.documents)))).
7ae0 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 68 69 73 74 6f 72 79 2d 62 61 63 6b 20 28 29 0a 20 20 22 47 .(defun.nov-history-back.()..."G
7b00 6f 20 62 61 63 6b 20 69 6e 20 74 68 65 20 68 69 73 74 6f 72 79 20 74 6f 20 74 68 65 20 6c 61 73 o.back.in.the.history.to.the.las
7b20 74 20 76 69 73 69 74 65 64 20 64 6f 63 75 6d 65 6e 74 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 t.visited.document."...(interact
7b40 69 76 65 29 0a 20 20 28 6f 72 20 6e 6f 76 2d 68 69 73 74 6f 72 79 0a 20 20 20 20 20 20 28 75 73 ive)...(or.nov-history.......(us
7b60 65 72 2d 65 72 72 6f 72 20 22 54 68 69 73 20 69 73 20 74 68 65 20 66 69 72 73 74 20 64 6f 63 75 er-error."This.is.the.first.docu
7b80 6d 65 6e 74 20 79 6f 75 20 6c 6f 6f 6b 65 64 20 61 74 22 29 29 0a 20 20 28 6c 65 74 20 28 28 68 ment.you.looked.at"))...(let.((h
7ba0 69 73 74 6f 72 79 2d 66 6f 72 77 61 72 64 20 28 63 6f 6e 73 20 28 6c 69 73 74 20 6e 6f 76 2d 64 istory-forward.(cons.(list.nov-d
7bc0 6f 63 75 6d 65 6e 74 73 2d 69 6e 64 65 78 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 20 20 ocuments-index.(point)).........
7be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 6f 76 2d 68 69 73 74 6f .......................nov-histo
7c00 72 79 2d 66 6f 72 77 61 72 64 29 29 29 0a 20 20 20 20 28 73 65 71 2d 6c 65 74 20 28 69 6e 64 65 ry-forward))).....(seq-let.(inde
7c20 78 20 6f 70 6f 69 6e 74 29 20 28 63 61 72 20 6e 6f 76 2d 68 69 73 74 6f 72 79 29 0a 20 20 20 20 x.opoint).(car.nov-history).....
7c40 20 20 28 73 65 74 71 20 6e 6f 76 2d 68 69 73 74 6f 72 79 20 28 63 64 72 20 6e 6f 76 2d 68 69 73 ..(setq.nov-history.(cdr.nov-his
7c60 74 6f 72 79 29 29 0a 20 20 20 20 20 20 28 6e 6f 76 2d 67 6f 74 6f 2d 64 6f 63 75 6d 65 6e 74 20 tory)).......(nov-goto-document.
7c80 69 6e 64 65 78 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6e 6f 76 2d 68 69 73 74 6f 72 79 20 28 index).......(setq.nov-history.(
7ca0 63 64 72 20 6e 6f 76 2d 68 69 73 74 6f 72 79 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6e 6f cdr.nov-history)).......(setq.no
7cc0 76 2d 68 69 73 74 6f 72 79 2d 66 6f 72 77 61 72 64 20 68 69 73 74 6f 72 79 2d 66 6f 72 77 61 72 v-history-forward.history-forwar
7ce0 64 29 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 6f 70 6f 69 6e 74 29 0a 20 20 20 20 d).......(goto-char.opoint).....
7d00 20 20 28 72 65 63 65 6e 74 65 72 20 28 31 2d 20 28 6d 61 78 20 31 20 73 63 72 6f 6c 6c 2d 6d 61 ..(recenter.(1-.(max.1.scroll-ma
7d20 72 67 69 6e 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 68 69 73 74 6f 72 79 2d 66 rgin))))))..(defun.nov-history-f
7d40 6f 72 77 61 72 64 20 28 29 0a 20 20 22 47 6f 20 66 6f 72 77 61 72 64 20 69 6e 20 74 68 65 20 68 orward.()..."Go.forward.in.the.h
7d60 69 73 74 6f 72 79 20 6f 66 20 76 69 73 69 74 65 64 20 64 6f 63 75 6d 65 6e 74 73 2e 22 0a 20 20 istory.of.visited.documents."...
7d80 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6f 72 20 6e 6f 76 2d 68 69 73 74 6f 72 79 2d (interactive)...(or.nov-history-
7da0 66 6f 72 77 61 72 64 0a 20 20 20 20 20 20 28 75 73 65 72 2d 65 72 72 6f 72 20 22 54 68 69 73 20 forward.......(user-error."This.
7dc0 69 73 20 74 68 65 20 6c 61 73 74 20 64 6f 63 75 6d 65 6e 74 20 79 6f 75 20 6c 6f 6f 6b 65 64 20 is.the.last.document.you.looked.
7de0 61 74 22 29 29 0a 20 20 28 6c 65 74 20 28 28 68 69 73 74 6f 72 79 2d 66 6f 72 77 61 72 64 20 28 at"))...(let.((history-forward.(
7e00 63 64 72 20 6e 6f 76 2d 68 69 73 74 6f 72 79 2d 66 6f 72 77 61 72 64 29 29 29 0a 20 20 20 20 28 cdr.nov-history-forward))).....(
7e20 73 65 71 2d 6c 65 74 20 28 69 6e 64 65 78 20 6f 70 6f 69 6e 74 29 20 28 63 61 72 20 6e 6f 76 2d seq-let.(index.opoint).(car.nov-
7e40 68 69 73 74 6f 72 79 2d 66 6f 72 77 61 72 64 29 0a 20 20 20 20 20 20 28 6e 6f 76 2d 67 6f 74 6f history-forward).......(nov-goto
7e60 2d 64 6f 63 75 6d 65 6e 74 20 69 6e 64 65 78 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6e 6f 76 -document.index).......(setq.nov
7e80 2d 68 69 73 74 6f 72 79 2d 66 6f 72 77 61 72 64 20 68 69 73 74 6f 72 79 2d 66 6f 72 77 61 72 64 -history-forward.history-forward
7ea0 29 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 6f 70 6f 69 6e 74 29 0a 20 20 20 20 20 ).......(goto-char.opoint)......
7ec0 20 28 72 65 63 65 6e 74 65 72 20 28 31 2d 20 28 6d 61 78 20 31 20 73 63 72 6f 6c 6c 2d 6d 61 72 .(recenter.(1-.(max.1.scroll-mar
7ee0 67 69 6e 29 29 29 29 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 gin))))))..;;;###autoload.(defin
7f00 65 2d 64 65 72 69 76 65 64 2d 6d 6f 64 65 20 6e 6f 76 2d 6d 6f 64 65 20 73 70 65 63 69 61 6c 2d e-derived-mode.nov-mode.special-
7f20 6d 6f 64 65 20 22 45 50 55 42 22 0a 20 20 22 4d 61 6a 6f 72 20 6d 6f 64 65 20 66 6f 72 20 72 65 mode."EPUB"..."Major.mode.for.re
7f40 61 64 69 6e 67 20 45 50 55 42 20 64 6f 63 75 6d 65 6e 74 73 22 0a 20 20 28 61 64 64 2d 68 6f 6f ading.EPUB.documents"...(add-hoo
7f60 6b 20 27 6b 69 6c 6c 2d 62 75 66 66 65 72 2d 68 6f 6f 6b 20 27 6e 6f 76 2d 63 6c 65 61 6e 2d 75 k.'kill-buffer-hook.'nov-clean-u
7f80 70 20 6e 69 6c 20 74 29 0a 20 20 28 61 64 64 2d 68 6f 6f 6b 20 27 6b 69 6c 6c 2d 65 6d 61 63 73 p.nil.t)...(add-hook.'kill-emacs
7fa0 2d 68 6f 6f 6b 20 27 6e 6f 76 2d 63 6c 65 61 6e 2d 75 70 2d 61 6c 6c 29 0a 20 20 28 61 64 64 2d -hook.'nov-clean-up-all)...(add-
7fc0 68 6f 6f 6b 20 27 63 68 61 6e 67 65 2d 6d 61 6a 6f 72 2d 6d 6f 64 65 2d 68 6f 6f 6b 20 27 6e 6f hook.'change-major-mode-hook.'no
7fe0 76 2d 63 6c 65 61 6e 2d 75 70 20 6e 69 6c 20 74 29 0a 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 62 v-clean-up.nil.t)...(when.(not.b
8000 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 29 0a 20 20 20 20 28 65 72 72 6f 72 20 22 45 50 55 uffer-file-name).....(error."EPU
8020 42 20 6d 75 73 74 20 62 65 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 66 69 6c 65 22 29 B.must.be.associated.with.file")
8040 29 0a 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 6e 6f 76 2d 75 6e 7a 69 70 2d 70 72 6f 67 72 61 6d )...(when.(not.nov-unzip-program
8060 29 0a 20 20 20 20 28 65 72 72 6f 72 20 22 75 6e 7a 69 70 20 65 78 65 63 75 74 61 62 6c 65 20 6e ).....(error."unzip.executable.n
8080 6f 74 20 66 6f 75 6e 64 2c 20 63 75 73 74 6f 6d 69 7a 65 20 60 6e 6f 76 2d 75 6e 7a 69 70 2d 70 ot.found,.customize.`nov-unzip-p
80a0 72 6f 67 72 61 6d 27 22 29 29 0a 20 20 28 73 65 74 71 20 6e 6f 76 2d 74 65 6d 70 2d 64 69 72 20 rogram'"))...(setq.nov-temp-dir.
80c0 28 6d 61 6b 65 2d 74 65 6d 70 2d 66 69 6c 65 20 22 6e 6f 76 2d 22 20 74 20 22 2e 65 70 75 62 22 (make-temp-file."nov-".t.".epub"
80e0 29 29 0a 20 20 28 6c 65 74 20 28 28 65 78 69 74 2d 63 6f 64 65 20 28 6e 6f 76 2d 75 6e 7a 69 70 ))...(let.((exit-code.(nov-unzip
8100 2d 65 70 75 62 20 6e 6f 76 2d 74 65 6d 70 2d 64 69 72 20 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e -epub.nov-temp-dir.buffer-file-n
8120 61 6d 65 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 28 69 6e 74 65 67 65 72 70 20 ame))).....(when.(not.(integerp.
8140 65 78 69 74 2d 63 6f 64 65 29 29 0a 20 20 20 20 20 20 28 6e 6f 76 2d 63 6c 65 61 6e 2d 75 70 29 exit-code)).......(nov-clean-up)
8160 0a 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 45 50 55 42 20 65 78 74 72 61 63 74 69 6f 6e 20 61 .......(error."EPUB.extraction.a
8180 62 6f 72 74 65 64 20 62 79 20 73 69 67 6e 61 6c 20 25 73 22 20 65 78 69 74 2d 63 6f 64 65 29 29 borted.by.signal.%s".exit-code))
81a0 0a 20 20 20 20 28 77 68 65 6e 20 28 3e 20 65 78 69 74 2d 63 6f 64 65 20 31 29 20 3b 20 65 78 69 .....(when.(>.exit-code.1).;.exi
81c0 74 20 63 6f 64 65 20 31 20 69 73 20 6d 6f 73 74 20 6c 69 6b 65 6c 79 20 61 20 77 61 72 6e 69 6e t.code.1.is.most.likely.a.warnin
81e0 67 0a 20 20 20 20 20 20 28 6e 6f 76 2d 63 6c 65 61 6e 2d 75 70 29 0a 20 20 20 20 20 20 28 65 72 g.......(nov-clean-up).......(er
8200 72 6f 72 20 22 45 50 55 42 20 65 78 74 72 61 63 74 69 6f 6e 20 66 61 69 6c 65 64 20 77 69 74 68 ror."EPUB.extraction.failed.with
8220 20 65 78 69 74 20 63 6f 64 65 20 25 64 20 28 73 65 65 20 2a 6e 6f 76 20 75 6e 7a 69 70 2a 20 62 .exit.code.%d.(see.*nov.unzip*.b
8240 75 66 66 65 72 29 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 65 78 69 74 2d 63 6f 64 65 29 29 uffer)"..............exit-code))
8260 29 0a 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 28 6e 6f 76 2d 65 70 75 62 2d 76 61 6c 69 64 2d 70 )...(when.(not.(nov-epub-valid-p
8280 20 6e 6f 76 2d 74 65 6d 70 2d 64 69 72 29 29 0a 20 20 20 20 28 6e 6f 76 2d 63 6c 65 61 6e 2d 75 .nov-temp-dir)).....(nov-clean-u
82a0 70 29 0a 20 20 20 20 28 65 72 72 6f 72 20 22 49 6e 76 61 6c 69 64 20 45 50 55 42 20 66 69 6c 65 p).....(error."Invalid.EPUB.file
82c0 22 29 29 0a 20 20 28 6c 65 74 2a 20 28 28 63 6f 6e 74 65 6e 74 20 28 6e 6f 76 2d 73 6c 75 72 70 "))...(let*.((content.(nov-slurp
82e0 20 28 6e 6f 76 2d 63 6f 6e 74 61 69 6e 65 72 2d 66 69 6c 65 6e 61 6d 65 20 6e 6f 76 2d 74 65 6d .(nov-container-filename.nov-tem
8300 70 2d 64 69 72 29 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 63 6f 6e 74 65 6e 74 2d 66 69 6c p-dir).t))..........(content-fil
8320 65 2d 6e 61 6d 65 20 28 6e 6f 76 2d 63 6f 6e 74 61 69 6e 65 72 2d 63 6f 6e 74 65 6e 74 2d 66 69 e-name.(nov-container-content-fi
8340 6c 65 6e 61 6d 65 20 63 6f 6e 74 65 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 63 6f 6e 74 65 lename.content))..........(conte
8360 6e 74 2d 66 69 6c 65 20 28 6e 6f 76 2d 6d 61 6b 65 2d 70 61 74 68 20 6e 6f 76 2d 74 65 6d 70 2d nt-file.(nov-make-path.nov-temp-
8380 64 69 72 20 63 6f 6e 74 65 6e 74 2d 66 69 6c 65 2d 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 dir.content-file-name)).........
83a0 20 28 77 6f 72 6b 2d 64 69 72 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 64 69 72 65 63 74 6f 72 79 20 .(work-dir.(file-name-directory.
83c0 63 6f 6e 74 65 6e 74 2d 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 63 6f 6e 74 65 6e 74 content-file))..........(content
83e0 20 28 6e 6f 76 2d 73 6c 75 72 70 20 63 6f 6e 74 65 6e 74 2d 66 69 6c 65 20 74 29 29 29 0a 20 20 .(nov-slurp.content-file.t)))...
8400 20 20 28 73 65 74 71 20 6e 6f 76 2d 63 6f 6e 74 65 6e 74 2d 66 69 6c 65 20 63 6f 6e 74 65 6e 74 ..(setq.nov-content-file.content
8420 2d 66 69 6c 65 29 0a 20 20 20 20 28 73 65 74 71 20 6e 6f 76 2d 65 70 75 62 2d 76 65 72 73 69 6f -file).....(setq.nov-epub-versio
8440 6e 20 28 6e 6f 76 2d 63 6f 6e 74 65 6e 74 2d 76 65 72 73 69 6f 6e 20 63 6f 6e 74 65 6e 74 29 29 n.(nov-content-version.content))
8460 0a 20 20 20 20 28 73 65 74 71 20 6e 6f 76 2d 6d 65 74 61 64 61 74 61 20 28 6e 6f 76 2d 63 6f 6e .....(setq.nov-metadata.(nov-con
8480 74 65 6e 74 2d 6d 65 74 61 64 61 74 61 20 63 6f 6e 74 65 6e 74 29 29 0a 20 20 20 20 28 73 65 74 tent-metadata.content)).....(set
84a0 71 20 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 20 28 61 70 70 6c 79 20 27 76 65 63 74 6f 72 20 28 q.nov-documents.(apply.'vector.(
84c0 6e 6f 76 2d 63 6f 6e 74 65 6e 74 2d 66 69 6c 65 73 20 77 6f 72 6b 2d 64 69 72 20 63 6f 6e 74 65 nov-content-files.work-dir.conte
84e0 6e 74 29 29 29 0a 20 20 20 20 28 73 65 74 71 20 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 2d 69 6e nt))).....(setq.nov-documents-in
8500 64 65 78 20 30 29 29 0a 20 20 28 73 65 74 71 20 62 75 66 66 65 72 2d 75 6e 64 6f 2d 6c 69 73 74 dex.0))...(setq.buffer-undo-list
8520 20 74 29 0a 20 20 28 73 65 74 71 20 6e 6f 76 2d 66 69 6c 65 2d 6e 61 6d 65 20 28 62 75 66 66 65 .t)...(setq.nov-file-name.(buffe
8540 72 2d 66 69 6c 65 2d 6e 61 6d 65 29 29 20 3b 20 6b 65 70 74 20 66 6f 72 20 63 6f 6d 70 61 74 69 r-file-name)).;.kept.for.compati
8560 62 69 6c 69 74 79 20 72 65 61 73 6f 6e 73 0a 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 62 6f 6f bility.reasons...(setq-local.boo
8580 6b 6d 61 72 6b 2d 6d 61 6b 65 2d 72 65 63 6f 72 64 2d 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 kmark-make-record-function......
85a0 20 20 20 20 20 20 20 20 20 27 6e 6f 76 2d 62 6f 6f 6b 6d 61 72 6b 2d 6d 61 6b 65 2d 72 65 63 6f .........'nov-bookmark-make-reco
85c0 72 64 29 0a 20 20 28 6c 65 74 20 28 28 70 6c 61 63 65 20 28 6e 6f 76 2d 73 61 76 65 64 2d 70 6c rd)...(let.((place.(nov-saved-pl
85e0 61 63 65 20 28 63 64 72 20 28 61 73 73 71 20 27 69 64 65 6e 74 69 66 69 65 72 20 6e 6f 76 2d 6d ace.(cdr.(assq.'identifier.nov-m
8600 65 74 61 64 61 74 61 29 29 29 29 29 0a 20 20 20 20 28 69 66 20 70 6c 61 63 65 0a 20 20 20 20 20 etadata))))).....(if.place......
8620 20 20 20 28 6c 65 74 20 28 28 69 6e 64 65 78 20 28 63 64 72 20 28 61 73 73 71 20 27 69 6e 64 65 ...(let.((index.(cdr.(assq.'inde
8640 78 20 70 6c 61 63 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 6f 69 6e 74 20 x.place)))...............(point.
8660 28 63 64 72 20 28 61 73 73 71 20 27 70 6f 69 6e 74 20 70 6c 61 63 65 29 29 29 29 0a 20 20 20 20 (cdr.(assq.'point.place)))).....
8680 20 20 20 20 20 20 28 69 66 20 28 6e 6f 76 2d 2d 69 6e 64 65 78 2d 76 61 6c 69 64 2d 70 20 6e 6f ......(if.(nov--index-valid-p.no
86a0 76 2d 64 6f 63 75 6d 65 6e 74 73 20 69 6e 64 65 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 v-documents.index)..............
86c0 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6e 6f .(progn.................(setq.no
86e0 76 2d 64 6f 63 75 6d 65 6e 74 73 2d 69 6e 64 65 78 20 69 6e 64 65 78 29 0a 20 20 20 20 20 20 20 v-documents-index.index)........
8700 20 20 20 20 20 20 20 20 20 28 6e 6f 76 2d 72 65 6e 64 65 72 2d 64 6f 63 75 6d 65 6e 74 29 0a 20 .........(nov-render-document)..
8720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 70 6f 69 6e 74 29 ...............(goto-char.point)
8740 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 76 2d 77 61 72 6e 20 22 43 6f 75 6c 64 6e 27 ).............(nov-warn."Couldn'
8760 74 20 72 65 73 74 6f 72 65 20 6c 61 73 74 20 70 6f 73 69 74 69 6f 6e 22 29 0a 20 20 20 20 20 20 t.restore.last.position").......
8780 20 20 20 20 20 20 28 6e 6f 76 2d 72 65 6e 64 65 72 2d 64 6f 63 75 6d 65 6e 74 29 29 29 0a 20 20 ......(nov-render-document)))...
87a0 20 20 20 20 28 6e 6f 76 2d 72 65 6e 64 65 72 2d 64 6f 63 75 6d 65 6e 74 29 29 29 29 0a 0a 0c 0a ....(nov-render-document))))....
87c0 3b 3b 3b 20 72 65 63 65 6e 74 66 20 69 6e 74 65 72 6f 70 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d ;;;.recentf.interop..(defun.nov-
87e0 61 64 64 2d 74 6f 2d 72 65 63 65 6e 74 66 20 28 29 0a 20 20 22 41 64 64 20 72 65 61 6c 20 70 61 add-to-recentf.()..."Add.real.pa
8800 74 68 20 74 6f 20 72 65 63 65 6e 74 66 20 6c 69 73 74 20 69 66 20 70 6f 73 73 69 62 6c 65 2e 22 th.to.recentf.list.if.possible."
8820 0a 20 20 28 77 68 65 6e 20 6e 6f 76 2d 66 69 6c 65 2d 6e 61 6d 65 0a 20 20 20 20 28 72 65 63 65 ...(when.nov-file-name.....(rece
8840 6e 74 66 2d 61 64 64 2d 66 69 6c 65 20 6e 6f 76 2d 66 69 6c 65 2d 6e 61 6d 65 29 29 29 0a 0a 28 ntf-add-file.nov-file-name)))..(
8860 61 64 64 2d 68 6f 6f 6b 20 27 6e 6f 76 2d 6d 6f 64 65 2d 68 6f 6f 6b 20 27 6e 6f 76 2d 61 64 64 add-hook.'nov-mode-hook.'nov-add
8880 2d 74 6f 2d 72 65 63 65 6e 74 66 29 0a 28 61 64 64 2d 68 6f 6f 6b 20 27 6e 6f 76 2d 6d 6f 64 65 -to-recentf).(add-hook.'nov-mode
88a0 2d 68 6f 6f 6b 20 27 68 61 63 6b 2d 64 69 72 2d 6c 6f 63 61 6c 2d 76 61 72 69 61 62 6c 65 73 2d -hook.'hack-dir-local-variables-
88c0 6e 6f 6e 2d 66 69 6c 65 2d 62 75 66 66 65 72 29 0a 0a 0c 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 2d non-file-buffer)....(defun.nov--
88e0 66 69 6e 64 2d 66 69 6c 65 20 28 66 69 6c 65 20 69 6e 64 65 78 20 70 6f 69 6e 74 29 0a 20 20 22 find-file.(file.index.point)..."
8900 4f 70 65 6e 20 46 49 4c 45 20 69 6e 20 6e 6f 76 2d 6d 6f 64 65 20 61 6e 64 20 67 6f 20 74 6f 20 Open.FILE.in.nov-mode.and.go.to.
8920 74 68 65 20 73 70 65 63 69 66 69 65 64 20 49 4e 44 45 58 20 61 6e 64 20 50 4f 53 49 54 49 4f 4e the.specified.INDEX.and.POSITION
8940 2e 0a 49 66 20 46 49 4c 45 20 69 73 20 6e 69 6c 2c 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 75 ..If.FILE.is.nil,.the.current.bu
8960 66 66 65 72 20 69 73 20 75 73 65 64 2e 22 0a 20 20 28 77 68 65 6e 20 66 69 6c 65 0a 20 20 20 20 ffer.is.used."...(when.file.....
8980 28 66 69 6e 64 2d 66 69 6c 65 20 66 69 6c 65 29 29 0a 20 20 28 75 6e 6c 65 73 73 20 28 65 71 20 (find-file.file))...(unless.(eq.
89a0 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 6e 6f 76 2d 6d 6f 64 65 29 0a 20 20 20 20 28 6e 6f 76 2d 6d major-mode.'nov-mode).....(nov-m
89c0 6f 64 65 29 29 0a 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 28 6e 6f 76 2d 2d 69 6e 64 65 78 2d 76 ode))...(when.(not.(nov--index-v
89e0 61 6c 69 64 2d 70 20 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 20 69 6e 64 65 78 29 29 0a 20 20 20 alid-p.nov-documents.index))....
8a00 20 28 65 72 72 6f 72 20 22 49 6e 76 61 6c 69 64 20 64 6f 63 75 6d 65 6e 74 73 20 69 6e 64 65 78 .(error."Invalid.documents.index
8a20 22 29 29 0a 20 20 28 73 65 74 71 20 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 2d 69 6e 64 65 78 20 "))...(setq.nov-documents-index.
8a40 69 6e 64 65 78 29 0a 20 20 28 6e 6f 76 2d 72 65 6e 64 65 72 2d 64 6f 63 75 6d 65 6e 74 29 0a 20 index)...(nov-render-document)..
8a60 20 28 67 6f 74 6f 2d 63 68 61 72 20 70 6f 69 6e 74 29 29 0a 0a 3b 3b 20 42 6f 6f 6b 6d 61 72 6b .(goto-char.point))..;;.Bookmark
8a80 20 69 6e 74 65 72 6f 70 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 62 6f 6f 6b 6d 61 72 6b 2d 6d 61 6b .interop.(defun.nov-bookmark-mak
8aa0 65 2d 72 65 63 6f 72 64 20 20 28 29 0a 20 20 22 43 72 65 61 74 65 20 61 20 62 6f 6f 6b 6d 61 72 e-record..()..."Create.a.bookmar
8ac0 6b 20 65 70 75 62 20 72 65 63 6f 72 64 2e 22 0a 20 20 28 63 6f 6e 73 20 28 62 75 66 66 65 72 2d k.epub.record."...(cons.(buffer-
8ae0 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 60 28 28 66 69 6c 65 6e 61 6d 65 20 2e 20 2c 6e 6f 76 name).........`((filename...,nov
8b00 2d 66 69 6c 65 2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 6e 64 65 78 20 2e 20 2c -file-name)...........(index...,
8b20 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 2d 69 6e 64 65 78 29 0a 20 20 20 20 20 20 20 20 20 20 28 nov-documents-index)...........(
8b40 70 6f 73 69 74 69 6f 6e 20 2e 20 2c 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 position...,(point))...........(
8b60 68 61 6e 64 6c 65 72 20 2e 20 6e 6f 76 2d 62 6f 6f 6b 6d 61 72 6b 2d 6a 75 6d 70 2d 68 61 6e 64 handler...nov-bookmark-jump-hand
8b80 6c 65 72 29 29 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 6e ler))))..;;;###autoload.(defun.n
8ba0 6f 76 2d 62 6f 6f 6b 6d 61 72 6b 2d 6a 75 6d 70 2d 68 61 6e 64 6c 65 72 20 28 62 6d 6b 29 0a 20 ov-bookmark-jump-handler.(bmk)..
8bc0 20 22 54 68 65 20 62 6f 6f 6b 6d 61 72 6b 20 68 61 6e 64 6c 65 72 2d 66 75 6e 63 74 69 6f 6e 20 ."The.bookmark.handler-function.
8be0 69 6e 74 65 72 66 61 63 65 20 66 6f 72 20 62 6f 6f 6b 6d 61 72 6b 20 42 4d 4b 2e 0a 0a 53 65 65 interface.for.bookmark.BMK...See
8c00 20 61 6c 73 6f 20 60 6e 6f 76 2d 62 6f 6f 6b 6d 61 72 6b 2d 6d 61 6b 65 2d 72 65 63 6f 72 64 27 .also.`nov-bookmark-make-record'
8c20 2e 22 0a 20 20 28 6c 65 74 20 28 28 66 69 6c 65 20 28 62 6f 6f 6b 6d 61 72 6b 2d 70 72 6f 70 2d ."...(let.((file.(bookmark-prop-
8c40 67 65 74 20 62 6d 6b 20 27 66 69 6c 65 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 28 69 6e 64 get.bmk.'filename)).........(ind
8c60 65 78 20 28 62 6f 6f 6b 6d 61 72 6b 2d 70 72 6f 70 2d 67 65 74 20 62 6d 6b 20 27 69 6e 64 65 78 ex.(bookmark-prop-get.bmk.'index
8c80 29 29 0a 20 20 20 20 20 20 20 20 28 70 6f 73 69 74 69 6f 6e 20 28 62 6f 6f 6b 6d 61 72 6b 2d 70 )).........(position.(bookmark-p
8ca0 72 6f 70 2d 67 65 74 20 62 6d 6b 20 27 70 6f 73 69 74 69 6f 6e 29 29 29 0a 20 20 20 20 28 6e 6f rop-get.bmk.'position))).....(no
8cc0 76 2d 2d 66 69 6e 64 2d 66 69 6c 65 20 66 69 6c 65 20 69 6e 64 65 78 20 70 6f 73 69 74 69 6f 6e v--find-file.file.index.position
8ce0 29 29 29 0a 0a 0c 0a 3b 3b 3b 20 4f 72 67 20 69 6e 74 65 72 6f 70 0a 0a 28 64 65 66 75 6e 20 6e )))....;;;.Org.interop..(defun.n
8d00 6f 76 2d 6f 72 67 2d 6c 69 6e 6b 2d 66 6f 6c 6c 6f 77 20 28 70 61 74 68 29 0a 20 20 22 46 6f 6c ov-org-link-follow.(path)..."Fol
8d20 6c 6f 77 20 6e 6f 76 3a 20 6c 69 6e 6b 20 64 65 73 69 67 6e 61 74 65 64 20 62 79 20 50 41 54 48 low.nov:.link.designated.by.PATH
8d40 2e 22 0a 20 20 28 69 66 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 5e 5c 5c 28 2e 2a 5c 5c ."...(if.(string-match."^\\(.*\\
8d60 29 3a 3a 5c 5c 28 5b 30 2d 39 5d 2b 5c 5c 29 3a 5c 5c 28 5b 30 2d 39 5d 2b 5c 5c 29 24 22 20 70 )::\\([0-9]+\\):\\([0-9]+\\)$".p
8d80 61 74 68 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 66 69 6c 65 20 28 6d 61 74 63 68 2d 73 74 ath).......(let.((file.(match-st
8da0 72 69 6e 67 20 31 20 70 61 74 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 64 65 78 ring.1.path)).............(index
8dc0 20 28 73 74 72 69 6e 67 2d 74 6f 2d 6e 75 6d 62 65 72 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 .(string-to-number.(match-string
8de0 20 32 20 70 61 74 68 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 70 6f 69 6e 74 20 28 73 .2.path))).............(point.(s
8e00 74 72 69 6e 67 2d 74 6f 2d 6e 75 6d 62 65 72 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 33 20 tring-to-number.(match-string.3.
8e20 70 61 74 68 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 6e 6f 76 2d 2d 66 69 6e 64 2d 66 69 6c 65 path)))).........(nov--find-file
8e40 20 66 69 6c 65 20 69 6e 64 65 78 20 70 6f 69 6e 74 29 29 0a 20 20 20 20 28 65 72 72 6f 72 20 22 .file.index.point)).....(error."
8e60 49 6e 76 61 6c 69 64 20 6e 6f 76 2e 65 6c 20 6c 69 6e 6b 22 29 29 29 0a 0a 28 64 65 66 75 6e 20 Invalid.nov.el.link")))..(defun.
8e80 6e 6f 76 2d 6f 72 67 2d 6c 69 6e 6b 2d 73 74 6f 72 65 20 28 29 0a 20 20 22 53 74 6f 72 65 20 63 nov-org-link-store.()..."Store.c
8ea0 75 72 72 65 6e 74 20 45 50 55 42 20 6c 6f 63 61 74 69 6f 6e 20 61 73 20 6e 6f 76 3a 20 6c 69 6e urrent.EPUB.location.as.nov:.lin
8ec0 6b 2e 22 0a 20 20 28 77 68 65 6e 20 28 61 6e 64 20 28 65 71 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 k."...(when.(and.(eq.major-mode.
8ee0 27 6e 6f 76 2d 6d 6f 64 65 29 20 6e 6f 76 2d 66 69 6c 65 2d 6e 61 6d 65 29 0a 20 20 20 20 28 77 'nov-mode).nov-file-name).....(w
8f00 68 65 6e 20 28 6e 6f 74 20 28 69 6e 74 65 67 65 72 70 20 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 hen.(not.(integerp.nov-documents
8f20 2d 69 6e 64 65 78 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6e 6f 76 2d 64 6f 63 75 6d 65 6e -index)).......(setq.nov-documen
8f40 74 73 2d 69 6e 64 65 78 20 30 29 29 0a 20 20 20 20 28 6c 65 74 20 28 28 6f 72 67 2d 73 74 6f 72 ts-index.0)).....(let.((org-stor
8f60 65 2d 70 72 6f 70 73 2d 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 e-props-function............(if.
8f80 28 66 62 6f 75 6e 64 70 20 27 6f 72 67 2d 6c 69 6e 6b 2d 73 74 6f 72 65 2d 70 72 6f 70 73 29 0a (fboundp.'org-link-store-props).
8fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 6f 72 67 2d 6c 69 6e 6b 2d 73 74 6f 72 65 2d 70 ...............'org-link-store-p
8fc0 72 6f 70 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 27 6f 72 67 2d 73 74 6f 72 65 2d 6c 69 6e rops..............'org-store-lin
8fe0 6b 2d 70 72 6f 70 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 6b 20 28 66 6f 72 6d 61 k-props))...........(link.(forma
9000 74 20 22 6e 6f 76 3a 25 73 3a 3a 25 64 3a 25 64 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t."nov:%s::%d:%d"...............
9020 20 20 20 20 20 20 20 20 20 20 6e 6f 76 2d 66 69 6c 65 2d 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 ..........nov-file-name.........
9040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 2d 69 6e ................nov-documents-in
9060 64 65 78 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 6f 69 dex.........................(poi
9080 6e 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 64 65 73 63 72 69 70 74 69 6f 6e 20 28 66 6f nt)))...........(description.(fo
90a0 72 6d 61 74 20 22 45 50 55 42 20 66 69 6c 65 20 61 74 20 25 73 22 20 6e 6f 76 2d 66 69 6c 65 2d rmat."EPUB.file.at.%s".nov-file-
90c0 6e 61 6d 65 29 29 29 0a 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 6f 72 67 2d 73 74 6f 72 65 name))).......(funcall.org-store
90e0 2d 70 72 6f 70 73 2d 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a -props-function................:
9100 74 79 70 65 20 22 6e 6f 76 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 6c 69 6e 6b 20 type."nov"................:link.
9120 6c 69 6e 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 64 65 73 63 72 69 70 74 69 6f 6e link................:description
9140 20 64 65 73 63 72 69 70 74 69 6f 6e 29 29 29 29 0a 0a 28 63 6f 6e 64 0a 20 28 28 66 62 6f 75 6e .description))))..(cond..((fboun
9160 64 70 20 27 6f 72 67 2d 6c 69 6e 6b 2d 73 65 74 2d 70 61 72 61 6d 65 74 65 72 73 29 0a 20 20 28 dp.'org-link-set-parameters)...(
9180 6f 72 67 2d 6c 69 6e 6b 2d 73 65 74 2d 70 61 72 61 6d 65 74 65 72 73 0a 20 20 20 22 6e 6f 76 22 org-link-set-parameters...."nov"
91a0 0a 20 20 20 3a 66 6f 6c 6c 6f 77 20 27 6e 6f 76 2d 6f 72 67 2d 6c 69 6e 6b 2d 66 6f 6c 6c 6f 77 ....:follow.'nov-org-link-follow
91c0 0a 20 20 20 3a 73 74 6f 72 65 20 27 6e 6f 76 2d 6f 72 67 2d 6c 69 6e 6b 2d 73 74 6f 72 65 29 29 ....:store.'nov-org-link-store))
91e0 0a 20 28 28 66 62 6f 75 6e 64 70 20 27 6f 72 67 2d 61 64 64 2d 6c 69 6e 6b 2d 74 79 70 65 29 0a ..((fboundp.'org-add-link-type).
9200 20 20 28 6f 72 67 2d 61 64 64 2d 6c 69 6e 6b 2d 74 79 70 65 20 22 6e 6f 76 22 20 27 6e 6f 76 2d ..(org-add-link-type."nov".'nov-
9220 6f 72 67 2d 6c 69 6e 6b 2d 66 6f 6c 6c 6f 77 29 0a 20 20 28 61 64 64 2d 68 6f 6f 6b 20 27 6f 72 org-link-follow)...(add-hook.'or
9240 67 2d 73 74 6f 72 65 2d 6c 69 6e 6b 2d 66 75 6e 63 74 69 6f 6e 73 20 27 6e 6f 76 2d 6f 72 67 2d g-store-link-functions.'nov-org-
9260 6c 69 6e 6b 2d 73 74 6f 72 65 29 29 29 0a 0a 0c 0a 3b 3b 3b 20 49 6d 65 6e 75 20 69 6e 74 65 72 link-store)))....;;;.Imenu.inter
9280 6f 70 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 69 6d 65 6e 75 2d 67 6f 74 6f 2d 66 75 6e 63 74 69 op..(defun.nov-imenu-goto-functi
92a0 6f 6e 20 28 5f 6e 61 6d 65 20 66 69 6c 65 6e 61 6d 65 20 74 61 72 67 65 74 29 0a 20 20 22 56 69 on.(_name.filename.target)..."Vi
92c0 73 69 74 20 69 6d 65 6e 75 20 69 74 65 6d 20 75 73 69 6e 67 20 46 49 4c 45 4e 41 4d 45 20 61 6e sit.imenu.item.using.FILENAME.an
92e0 64 20 54 41 52 47 45 54 2e 22 0a 20 20 3b 3b 20 4d 61 6b 65 20 73 75 72 65 20 66 69 6c 65 20 69 d.TARGET."...;;.Make.sure.file.i
9300 73 20 76 69 73 69 74 65 64 20 72 65 6c 61 74 69 76 65 20 74 6f 20 74 6f 63 20 66 69 6c 65 2e 0a s.visited.relative.to.toc.file..
9320 20 20 28 6c 65 74 20 28 28 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 2d 69 6e 64 65 78 20 30 29 29 ..(let.((nov-documents-index.0))
9340 0a 20 20 20 20 28 6e 6f 76 2d 76 69 73 69 74 2d 72 65 6c 61 74 69 76 65 2d 66 69 6c 65 20 66 69 .....(nov-visit-relative-file.fi
9360 6c 65 6e 61 6d 65 20 74 61 72 67 65 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 69 6d 65 lename.target)))..(defun.nov-ime
9380 6e 75 2d 63 72 65 61 74 65 2d 69 6e 64 65 78 20 28 29 0a 20 20 22 47 65 6e 65 72 61 74 65 20 49 nu-create-index.()..."Generate.I
93a0 6d 65 6e 75 20 69 6e 64 65 78 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 74 6f 63 2d 70 61 74 68 20 menu.index."...(let*.((toc-path.
93c0 28 63 64 72 20 28 61 72 65 66 20 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 20 30 29 29 29 0a 20 20 (cdr.(aref.nov-documents.0)))...
93e0 20 20 20 20 20 20 20 28 6e 63 78 70 20 28 76 65 72 73 69 6f 6e 3c 20 6e 6f 76 2d 65 70 75 62 2d .......(ncxp.(version<.nov-epub-
9400 76 65 72 73 69 6f 6e 20 22 33 2e 30 22 29 29 0a 20 20 20 20 20 20 20 20 20 28 74 6f 63 20 28 77 version."3.0"))..........(toc.(w
9420 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ith-temp-buffer.................
9440 28 69 66 20 6e 63 78 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e (if.ncxp.....................(in
9460 73 65 72 74 20 28 6e 6f 76 2d 6e 63 78 2d 74 6f 2d 68 74 6d 6c 20 74 6f 63 2d 70 61 74 68 29 29 sert.(nov-ncx-to-html.toc-path))
9480 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 2d 66 69 6c 65 2d ...................(insert-file-
94a0 63 6f 6e 74 65 6e 74 73 20 74 6f 63 2d 70 61 74 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 contents.toc-path)).............
94c0 20 20 20 20 28 6c 69 62 78 6d 6c 2d 70 61 72 73 65 2d 68 74 6d 6c 2d 72 65 67 69 6f 6e 20 28 70 ....(libxml-parse-html-region.(p
94e0 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 29 29 29 0a 20 20 20 20 28 6d oint-min).(point-max))))).....(m
9500 61 70 63 61 72 0a 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 6e 6f 64 65 29 0a 20 20 20 20 20 20 apcar......(lambda.(node).......
9520 20 28 6c 65 74 20 28 28 68 72 65 66 20 28 64 6f 6d 2d 61 74 74 72 20 6e 6f 64 65 20 27 68 72 65 .(let.((href.(dom-attr.node.'hre
9540 66 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 62 65 6c 20 28 64 6f 6d 2d 74 65 78 f))..............(label.(dom-tex
9560 74 20 6e 6f 64 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 71 2d 6c 65 74 20 28 66 69 6c t.node)))..........(seq-let.(fil
9580 65 6e 61 6d 65 20 74 61 72 67 65 74 29 20 28 6e 6f 76 2d 75 72 6c 2d 66 69 6c 65 6e 61 6d 65 2d ename.target).(nov-url-filename-
95a0 61 6e 64 2d 74 61 72 67 65 74 20 68 72 65 66 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 and-target.href)............(lis
95c0 74 20 6c 61 62 65 6c 20 66 69 6c 65 6e 61 6d 65 20 27 6e 6f 76 2d 69 6d 65 6e 75 2d 67 6f 74 6f t.label.filename.'nov-imenu-goto
95e0 2d 66 75 6e 63 74 69 6f 6e 20 74 61 72 67 65 74 29 29 29 29 0a 20 20 20 20 20 28 65 73 78 6d 6c -function.target))))......(esxml
9600 2d 71 75 65 72 79 2d 61 6c 6c 20 22 61 22 20 74 6f 63 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e -query-all."a".toc))))..(defun.n
9620 6f 76 2d 69 6d 65 6e 75 2d 73 65 74 75 70 20 28 29 0a 20 20 28 73 65 74 71 20 69 6d 65 6e 75 2d ov-imenu-setup.()...(setq.imenu-
9640 63 72 65 61 74 65 2d 69 6e 64 65 78 2d 66 75 6e 63 74 69 6f 6e 20 27 6e 6f 76 2d 69 6d 65 6e 75 create-index-function.'nov-imenu
9660 2d 63 72 65 61 74 65 2d 69 6e 64 65 78 29 29 0a 28 61 64 64 2d 68 6f 6f 6b 20 27 6e 6f 76 2d 6d -create-index)).(add-hook.'nov-m
9680 6f 64 65 2d 68 6f 6f 6b 20 27 6e 6f 76 2d 69 6d 65 6e 75 2d 73 65 74 75 70 29 0a 0a 0c 0a 3b 3b ode-hook.'nov-imenu-setup)....;;
96a0 3b 20 6d 75 6c 74 69 2d 69 73 65 61 72 63 68 20 69 6e 74 65 72 6f 70 0a 0a 28 64 65 66 75 6e 20 ;.multi-isearch.interop..(defun.
96c0 6e 6f 76 2d 6d 69 73 65 61 72 63 68 2d 6e 65 78 74 2d 62 75 66 66 65 72 20 28 62 75 66 66 65 72 nov-misearch-next-buffer.(buffer
96e0 20 77 72 61 70 29 0a 20 20 28 69 66 20 69 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 0a 20 20 20 .wrap)...(if.isearch-forward....
9700 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 28 28 3c 20 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 ...(cond........((<.nov-document
9720 73 2d 69 6e 64 65 78 20 28 31 2d 20 28 6c 65 6e 67 74 68 20 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 s-index.(1-.(length.nov-document
9740 73 29 29 29 0a 20 20 20 20 20 20 20 20 28 6e 6f 76 2d 67 6f 74 6f 2d 64 6f 63 75 6d 65 6e 74 20 s))).........(nov-goto-document.
9760 28 31 2b 20 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 2d 69 6e 64 65 78 29 29 0a 20 20 20 20 20 20 (1+.nov-documents-index)).......
9780 20 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20 20 20 20 28 77 72 61 70 ..(current-buffer))........(wrap
97a0 0a 20 20 20 20 20 20 20 20 28 6e 6f 76 2d 67 6f 74 6f 2d 64 6f 63 75 6d 65 6e 74 20 30 29 0a 20 .........(nov-goto-document.0)..
97c0 20 20 20 20 20 20 20 6e 69 6c 29 29 0a 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 28 28 3e 20 .......nil)).....(cond......((>.
97e0 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 2d 69 6e 64 65 78 20 30 29 0a 20 20 20 20 20 20 28 6e 6f nov-documents-index.0).......(no
9800 76 2d 67 6f 74 6f 2d 64 6f 63 75 6d 65 6e 74 20 28 31 2d 20 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 v-goto-document.(1-.nov-document
9820 73 2d 69 6e 64 65 78 29 29 0a 20 20 20 20 20 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 s-index)).......(current-buffer)
9840 29 0a 20 20 20 20 20 28 77 72 61 70 0a 20 20 20 20 20 20 28 6e 6f 76 2d 67 6f 74 6f 2d 64 6f 63 )......(wrap.......(nov-goto-doc
9860 75 6d 65 6e 74 20 28 31 2d 20 28 6c 65 6e 67 74 68 20 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 29 ument.(1-.(length.nov-documents)
9880 29 29 0a 20 20 20 20 20 20 6e 69 6c 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 6d 69 73 )).......nil))))..(defun.nov-mis
98a0 65 61 72 63 68 2d 73 65 74 75 70 20 28 29 0a 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 6d 75 6c earch-setup.()...(setq-local.mul
98c0 74 69 2d 69 73 65 61 72 63 68 2d 6e 65 78 74 2d 62 75 66 66 65 72 2d 66 75 6e 63 74 69 6f 6e 20 ti-isearch-next-buffer-function.
98e0 23 27 6e 6f 76 2d 6d 69 73 65 61 72 63 68 2d 6e 65 78 74 2d 62 75 66 66 65 72 29 29 0a 28 61 64 #'nov-misearch-next-buffer)).(ad
9900 64 2d 68 6f 6f 6b 20 27 6e 6f 76 2d 6d 6f 64 65 2d 68 6f 6f 6b 20 23 27 6e 6f 76 2d 6d 69 73 65 d-hook.'nov-mode-hook.#'nov-mise
9920 61 72 63 68 2d 73 65 74 75 70 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 6e 6f 76 29 0a 3b 3b 3b 20 arch-setup)..(provide.'nov).;;;.
9940 6e 6f 76 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 nov.el.ends.here................
9960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
99a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
99c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
99e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9a00 6e 6f 76 2d 32 30 32 33 30 37 31 35 2e 31 34 33 34 2f 6e 6f 76 2d 70 6b 67 2e 65 6c 00 00 00 00 nov-20230715.1434/nov-pkg.el....
9a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9a60 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
9a80 30 30 30 30 37 35 32 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 35 32 31 00 20 30 00 00 00 0000752.00000000000.013521..0...
9aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9b00 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...................
9b20 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...................
9b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9c00 28 64 65 66 69 6e 65 2d 70 61 63 6b 61 67 65 20 22 6e 6f 76 22 20 22 32 30 32 33 30 37 31 35 2e (define-package."nov"."20230715.
9c20 31 34 33 34 22 20 22 46 65 61 74 75 72 65 66 75 6c 20 45 50 55 42 20 72 65 61 64 65 72 20 6d 6f 1434"."Featureful.EPUB.reader.mo
9c40 64 65 22 0a 20 20 27 28 28 65 73 78 6d 6c 20 22 30 2e 33 2e 36 22 29 0a 20 20 20 20 28 65 6d 61 de"...'((esxml."0.3.6").....(ema
9c60 63 73 20 22 32 35 2e 31 22 29 29 0a 20 20 3a 63 6f 6d 6d 69 74 20 22 63 63 33 31 63 65 30 33 35 cs."25.1"))...:commit."cc31ce035
9c80 36 32 32 36 63 33 61 32 31 32 38 31 31 39 62 30 38 64 65 36 31 30 37 65 33 38 66 64 64 31 37 22 6226c3a2128119b08de6107e38fdd17"
9ca0 20 3a 61 75 74 68 6f 72 73 0a 20 20 27 28 28 22 56 61 73 69 6c 69 6a 20 53 63 68 6e 65 69 64 65 .:authors...'(("Vasilij.Schneide
9cc0 72 6d 61 6e 6e 22 20 2e 20 22 6d 61 69 6c 40 76 61 73 69 6c 69 6a 2e 64 65 22 29 29 0a 20 20 3a rmann"..."mail@vasilij.de"))...:
9ce0 6d 61 69 6e 74 61 69 6e 65 72 73 0a 20 20 27 28 28 22 56 61 73 69 6c 69 6a 20 53 63 68 6e 65 69 maintainers...'(("Vasilij.Schnei
9d00 64 65 72 6d 61 6e 6e 22 20 2e 20 22 6d 61 69 6c 40 76 61 73 69 6c 69 6a 2e 64 65 22 29 29 0a 20 dermann"..."mail@vasilij.de"))..
9d20 20 3a 6d 61 69 6e 74 61 69 6e 65 72 0a 20 20 27 28 22 56 61 73 69 6c 69 6a 20 53 63 68 6e 65 69 .:maintainer...'("Vasilij.Schnei
9d40 64 65 72 6d 61 6e 6e 22 20 2e 20 22 6d 61 69 6c 40 76 61 73 69 6c 69 6a 2e 64 65 22 29 0a 20 20 dermann"..."mail@vasilij.de")...
9d60 3a 6b 65 79 77 6f 72 64 73 0a 20 20 27 28 22 68 79 70 65 72 6d 65 64 69 61 22 20 22 6d 75 6c 74 :keywords...'("hypermedia"."mult
9d80 69 6d 65 64 69 61 22 20 22 65 70 75 62 22 29 0a 20 20 3a 75 72 6c 20 22 68 74 74 70 73 3a 2f 2f imedia"."epub")...:url."https://
9da0 64 65 70 70 2e 62 72 61 75 73 65 2e 63 63 2f 6e 6f 76 2e 65 6c 22 29 0a 3b 3b 20 4c 6f 63 61 6c depp.brause.cc/nov.el").;;.Local
9dc0 20 56 61 72 69 61 62 6c 65 73 3a 0a 3b 3b 20 6e 6f 2d 62 79 74 65 2d 63 6f 6d 70 69 6c 65 3a 20 .Variables:.;;.no-byte-compile:.
9de0 74 0a 3b 3b 20 45 6e 64 3a 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 t.;;.End:.......................
9e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a2a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a2c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a6a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a6c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a8a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a8c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aa00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aa20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aa40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aa60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aa80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aaa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ab00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ab20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ab40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ab60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ab80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
abc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
abe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ac00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ac20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ac40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ac60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ac80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
acc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ace0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ad00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ad20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ad40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ad60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ad80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ada0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
adc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ade0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ae00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ae20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ae40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ae60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ae80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
af00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
af20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
af40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
af60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
af80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
afa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
afc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
afe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b2a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b2c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ba00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ba20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ba40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ba60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ba80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
baa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bb00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bb20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bb40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bb60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bb80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bbc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bbe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bc00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bc20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bc40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bc60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bc80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bcc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bd00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bd20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bd40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bd60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bd80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bda0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bdc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bde0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
be00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
be20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
be40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
be60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
be80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bf00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bf20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bf40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bf60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bf80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bfa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bfc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bfe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c2a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c2c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c6a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c6c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................