| ofs | hex dump | ascii |
|---|
| 0000 | 6e 6f 76 2d 32 30 32 34 30 34 30 37 2e 31 32 31 39 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | nov-20240407.1219/.............. |
| 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 34 30 34 30 37 2e 31 32 31 39 2f 6e 6f 76 2e 65 6c 00 00 00 00 00 00 00 00 | nov-20240407.1219/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 34 35 33 37 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 32 37 35 31 00 20 30 00 00 00 | 0114537.00000000000.012751..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 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 69 6e 64 69 6e 67 3a 74 | eader.mode.-*-.lexical-binding:t |
| 0440 | 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 31 37 20 56 61 73 69 | .-*-..;;.Copyright.(C).2017.Vasi |
| 0460 | 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 73 69 6c 69 6a 2e | lij.Schneidermann.<mail@vasilij. |
| 0480 | 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 68 6e 65 69 64 65 | de>..;;.Author:.Vasilij.Schneide |
| 04a0 | 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 20 55 52 4c 3a 20 | rmann.<mail@vasilij.de>.;;.URL:. |
| 04c0 | 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 2e 65 6c 0a 3b 3b | https://depp.brause.cc/nov.el.;; |
| 04e0 | 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 2d 52 65 71 75 69 | .Version:.0.4.0.;;.Package-Requi |
| 0500 | 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 63 73 20 22 32 35 | res:.((esxml."0.3.6").(emacs."25 |
| 0520 | 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 64 69 61 2c 20 6d | .1")).;;.Keywords:.hypermedia,.m |
| 0540 | 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 69 6c 65 20 69 73 | ultimedia,.epub..;;.This.file.is |
| 0560 | 20 4e 4f 54 20 70 61 72 74 20 6f 66 20 47 4e 55 20 45 6d 61 63 73 2e 0a 0a 3b 3b 20 54 68 69 73 | .NOT.part.of.GNU.Emacs...;;.This |
| 0580 | 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 20 79 6f 75 20 63 | .program.is.free.software;.you.c |
| 05a0 | 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 | an.redistribute.it.and/or.modify |
| 05c0 | 0a 3b 3b 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e | .;;.it.under.the.terms.of.the.GN |
| 05e0 | 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c | U.General.Public.License.as.publ |
| 0600 | 69 73 68 65 64 20 62 79 0a 3b 3b 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f | ished.by.;;.the.Free.Software.Fo |
| 0620 | 75 6e 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 | undation,.either.version.3.of.th |
| 0640 | 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 3b 3b 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e | e.License,.or.;;.(at.your.option |
| 0660 | 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72 | ).any.later.version...;;.This.pr |
| 0680 | 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 | ogram.is.distributed.in.the.hope |
| 06a0 | 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 3b 3b 20 62 75 74 20 | .that.it.will.be.useful,.;;.but. |
| 06c0 | 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 | WITHOUT.ANY.WARRANTY;.without.ev |
| 06e0 | 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 3b 3b 20 4d 45 | en.the.implied.warranty.of.;;.ME |
| 0700 | 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 | RCHANTABILITY.or.FITNESS.FOR.A.P |
| 0720 | 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 3b 3b 20 47 | ARTICULAR.PURPOSE...See.the.;;.G |
| 0740 | 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f | NU.General.Public.License.for.mo |
| 0760 | 72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 3b 3b 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 | re.details...;;.You.should.have. |
| 0780 | 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 | received.a.copy.of.the.GNU.Gener |
| 07a0 | 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 3b 3b 20 61 6c 6f 6e 67 20 77 69 74 68 20 | al.Public.License.;;.along.with. |
| 07c0 | 74 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 | this.program...If.not,.see.<http |
| 07e0 | 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 0a 3b 3b 3b 20 | ://www.gnu.org/licenses/>...;;;. |
| 0800 | 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 76 69 64 65 73 20 | Commentary:..;;.nov.el.provides. |
| 0820 | 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 50 55 42 20 64 6f | a.major.mode.for.reading.EPUB.do |
| 0840 | 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 3b 0a 3b 3b 20 2d | cuments..;;.;;.Features:.;;.;;.- |
| 0860 | 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 20 54 4f 43 2c 20 | .Basic.navigation.(jump.to.TOC,. |
| 0880 | 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 2d 20 52 65 6d 65 | previous/next.chapter).;;.-.Reme |
| 08a0 | 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 6c 61 73 74 20 72 | mbering.and.restoring.the.last.r |
| 08c0 | 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 6e 65 78 74 20 63 | ead.position.;;.-.Jump.to.next.c |
| 08e0 | 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 6e 64 20 65 6e 64 | hapter.when.scrolling.beyond.end |
| 0900 | 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 67 20 4f 72 67 20 | .;;.-.Storing.and.following.Org. |
| 0920 | 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 65 6e 64 65 72 73 | links.to.EPUB.files.;;.-.Renders |
| 0940 | 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 6e 61 76 3e 29 20 | .EPUB2.(.ncx).and.EPUB3.(<nav>). |
| 0960 | 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 74 65 72 6e 61 6c | TOCs.;;.-.Hyperlinks.to.internal |
| 0980 | 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 20 53 75 70 70 6f | .and.external.targets.;;.-.Suppo |
| 09a0 | 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 6d 65 6e 74 73 0a | rts.textual.and.image.documents. |
| 09c0 | 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 76 69 67 61 74 69 | ;;.-.Info-style.history.navigati |
| 09e0 | 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 75 6d 65 6e 74 20 | on.;;.-.View.source.of.document. |
| 0a00 | 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 79 0a 3b 3b 20 2d | files.;;.-.Metadata.display.;;.- |
| 0a20 | 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 3a 0a 0a 28 72 65 | .Image.rescaling..;;;.Code:..(re |
| 0a40 | 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 6f 6d 29 0a 28 72 | quire.'cl-lib).(require.'dom).(r |
| 0a60 | 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 69 72 65 20 27 69 | equire.'esxml-query).(require.'i |
| 0a80 | 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 69 72 65 20 27 73 | mage).(require.'seq).(require.'s |
| 0aa0 | 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 72 65 71 75 69 72 | hr).(require.'url-parse).(requir |
| 0ac0 | 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 6b 29 0a 28 72 65 | e.'xml)..(require.'bookmark).(re |
| 0ae0 | 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 27 69 6d 65 6e 75 | quire.'easymenu).(require.'imenu |
| 0b00 | 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 27 72 65 63 65 6e | ).(require.'org).(require.'recen |
| 0b20 | 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 6c 69 62 78 6d 6c | tf)..(when.(not.(fboundp.'libxml |
| 0b40 | 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 73 61 67 65 20 22 | -parse-xml-region))...(message." |
| 0b60 | 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 20 77 69 74 68 20 | Your.Emacs.wasn't.compiled.with. |
| 0b80 | 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 50 55 42 20 70 72 | libxml.support"))....;;;.EPUB.pr |
| 0ba0 | 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 69 6c 0a 20 20 22 | eparation..(defgroup.nov.nil..." |
| 0bc0 | 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 20 27 6d 75 6c 74 | EPUB.reader.mode"...:group.'mult |
| 0be0 | 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 7a 69 70 2d 70 72 | imedia)..(defcustom.nov-unzip-pr |
| 0c00 | 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 7a 69 70 22 29 0a | ogram.(executable-find."unzip"). |
| 0c20 | 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 78 65 63 75 74 61 | .."Path.to.decompression.executa |
| 0c40 | 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 2d 6d 61 74 63 68 | ble."...:type.'(file.:must-match |
| 0c60 | 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 73 74 6f 6d 20 6e | .t)...:group.'nov)..(defcustom.n |
| 0c80 | 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 63 74 6f 72 79 20 | ov-unzip-args.'("-od".directory. |
| 0ca0 | 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 64 65 63 6f 6d 70 | filename)..."Arguments.to.decomp |
| 0cc0 | 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 61 72 69 61 62 6c | ression.executable..This.variabl |
| 0ce0 | 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 73 2c 20 65 78 63 | e.expects.a.list.of.strings,.exc |
| 0d00 | 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 69 6c 65 6e 61 6d | ept.for.`directory'.and.`filenam |
| 0d20 | 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 72 65 70 6c 61 63 | e'.symbols,.which.will.be.replac |
| 0d40 | 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 67 20 61 6e 20 45 | ed.accordingly.when.opening.an.E |
| 0d60 | 50 55 42 20 66 69 6c 65 2e 22 0a 20 20 3a 74 79 70 65 20 27 28 72 65 70 65 61 74 20 28 63 68 6f | PUB.file."...:type.'(repeat.(cho |
| 0d80 | 69 63 65 20 28 73 74 72 69 6e 67 20 3a 74 61 67 20 22 41 72 67 75 6d 65 6e 74 22 29 0a 20 20 20 | ice.(string.:tag."Argument").... |
| 0da0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 74 20 3a 74 61 | ......................(const.:ta |
| 0dc0 | 67 20 22 44 69 72 65 63 74 6f 72 79 22 20 64 69 72 65 63 74 6f 72 79 29 0a 20 20 20 20 20 20 20 | g."Directory".directory)........ |
| 0de0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 74 20 3a 74 61 67 20 22 46 | ..................(const.:tag."F |
| 0e00 | 69 6c 65 6e 61 6d 65 22 20 66 69 6c 65 6e 61 6d 65 29 29 29 0a 20 20 3a 67 72 6f 75 70 20 27 6e | ilename".filename)))...:group.'n |
| 0e20 | 6f 76 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 6e 6f 76 2d 76 61 72 69 61 62 6c 65 2d 70 69 74 | ov)..(defcustom.nov-variable-pit |
| 0e40 | 63 68 20 74 0a 20 20 22 4e 6f 6e 2d 6e 69 6c 20 69 66 20 61 20 76 61 72 69 61 62 6c 65 20 70 69 | ch.t..."Non-nil.if.a.variable.pi |
| 0e60 | 74 63 68 20 66 61 63 65 20 73 68 6f 75 6c 64 20 62 65 20 75 73 65 64 2e 0a 4f 74 68 65 72 77 69 | tch.face.should.be.used..Otherwi |
| 0e80 | 73 65 20 74 68 65 20 64 65 66 61 75 6c 74 20 66 61 63 65 20 69 73 20 75 73 65 64 2e 22 0a 20 20 | se.the.default.face.is.used."... |
| 0ea0 | 3a 74 79 70 65 20 27 62 6f 6f 6c 65 61 6e 0a 20 20 3a 67 72 6f 75 70 20 27 6e 6f 76 29 0a 0a 28 | :type.'boolean...:group.'nov)..( |
| 0ec0 | 64 65 66 63 75 73 74 6f 6d 20 6e 6f 76 2d 74 65 78 74 2d 77 69 64 74 68 20 6e 69 6c 0a 20 20 22 | defcustom.nov-text-width.nil..." |
| 0ee0 | 57 69 64 74 68 20 66 69 6c 6c 65 64 20 74 65 78 74 20 73 68 61 6c 6c 20 6f 63 63 75 70 79 2e 0a | Width.filled.text.shall.occupy.. |
| 0f00 | 41 6e 20 69 6e 74 65 67 65 72 20 69 73 20 69 6e 74 65 72 70 72 65 74 65 64 20 61 73 20 74 68 65 | An.integer.is.interpreted.as.the |
| 0f20 | 20 6e 75 6d 62 65 72 20 6f 66 20 63 6f 6c 75 6d 6e 73 2e 20 20 49 66 20 6e 69 6c 2c 20 75 73 65 | .number.of.columns...If.nil,.use |
| 0f40 | 0a 74 68 65 20 66 75 6c 6c 20 77 69 6e 64 6f 77 27 73 20 77 69 64 74 68 2e 20 20 49 66 20 74 2c | .the.full.window's.width...If.t, |
| 0f60 | 20 64 69 73 61 62 6c 65 20 66 69 6c 6c 69 6e 67 20 63 6f 6d 70 6c 65 74 65 6c 79 2e 20 20 4e 6f | .disable.filling.completely...No |
| 0f80 | 74 65 0a 74 68 61 74 20 74 68 69 73 20 76 61 72 69 61 62 6c 65 20 6f 6e 6c 79 20 68 61 73 20 61 | te.that.this.variable.only.has.a |
| 0fa0 | 6e 20 65 66 66 65 63 74 20 69 6e 20 45 6d 61 63 73 20 32 35 2e 31 20 6f 72 20 67 72 65 61 74 65 | n.effect.in.Emacs.25.1.or.greate |
| 0fc0 | 72 2e 22 0a 20 20 3a 74 79 70 65 20 27 28 63 68 6f 69 63 65 20 28 69 6e 74 65 67 65 72 20 3a 74 | r."...:type.'(choice.(integer.:t |
| 0fe0 | 61 67 20 22 46 69 78 65 64 20 77 69 64 74 68 20 69 6e 20 63 68 61 72 61 63 74 65 72 73 22 29 0a | ag."Fixed.width.in.characters"). |
| 1000 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 74 20 20 20 3a 74 61 67 20 22 | .................(const...:tag." |
| 1020 | 55 73 65 20 74 68 65 20 77 69 64 74 68 20 6f 66 20 74 68 65 20 77 69 6e 64 6f 77 22 20 6e 69 6c | Use.the.width.of.the.window".nil |
| 1040 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 74 20 20 20 3a 74 61 67 | )..................(const...:tag |
| 1060 | 20 22 44 69 73 61 62 6c 65 20 66 69 6c 6c 69 6e 67 22 20 74 29 29 0a 20 20 3a 67 72 6f 75 70 20 | ."Disable.filling".t))...:group. |
| 1080 | 27 6e 6f 76 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 6e 6f 76 2d 72 65 6e 64 65 72 2d 68 74 6d | 'nov)..(defcustom.nov-render-htm |
| 10a0 | 6c 2d 66 75 6e 63 74 69 6f 6e 20 27 6e 6f 76 2d 72 65 6e 64 65 72 2d 68 74 6d 6c 0a 20 20 22 46 | l-function.'nov-render-html..."F |
| 10c0 | 75 6e 63 74 69 6f 6e 20 75 73 65 64 20 74 6f 20 72 65 6e 64 65 72 20 48 54 4d 4c 2e 0a 49 74 27 | unction.used.to.render.HTML..It' |
| 10e0 | 73 20 63 61 6c 6c 65 64 20 77 69 74 68 6f 75 74 20 61 72 67 75 6d 65 6e 74 73 20 77 69 74 68 20 | s.called.without.arguments.with. |
| 1100 | 61 20 62 75 66 66 65 72 20 63 6f 6e 74 61 69 6e 69 6e 67 20 48 54 4d 4c 20 61 6e 64 0a 73 68 6f | a.buffer.containing.HTML.and.sho |
| 1120 | 75 6c 64 20 63 68 61 6e 67 65 20 69 74 20 74 6f 20 63 6f 6e 74 61 69 6e 20 74 68 65 20 72 65 6e | uld.change.it.to.contain.the.ren |
| 1140 | 64 65 72 65 64 20 76 65 72 73 69 6f 6e 20 6f 66 20 69 74 2e 22 0a 20 20 3a 74 79 70 65 20 27 66 | dered.version.of.it."...:type.'f |
| 1160 | 75 6e 63 74 69 6f 6e 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 | unction...:group.'nov)..(defcust |
| 1180 | 6f 6d 20 6e 6f 76 2d 70 72 65 2d 68 74 6d 6c 2d 72 65 6e 64 65 72 2d 68 6f 6f 6b 20 6e 69 6c 0a | om.nov-pre-html-render-hook.nil. |
| 11a0 | 20 20 22 48 6f 6f 6b 20 72 75 6e 20 62 65 66 6f 72 65 20 60 6e 6f 76 2d 72 65 6e 64 65 72 2d 68 | .."Hook.run.before.`nov-render-h |
| 11c0 | 74 6d 6c 27 2e 22 0a 20 20 3a 74 79 70 65 20 27 68 6f 6f 6b 0a 20 20 3a 67 72 6f 75 70 20 27 6e | tml'."...:type.'hook...:group.'n |
| 11e0 | 6f 76 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 6e 6f 76 2d 70 6f 73 74 2d 68 74 6d 6c 2d 72 65 | ov)..(defcustom.nov-post-html-re |
| 1200 | 6e 64 65 72 2d 68 6f 6f 6b 20 6e 69 6c 0a 20 20 22 48 6f 6f 6b 20 72 75 6e 20 61 66 74 65 72 20 | nder-hook.nil..."Hook.run.after. |
| 1220 | 60 6e 6f 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 | `nov-render-html'."...:type.'hoo |
| 1240 | 6b 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 | k...:group.'nov)..(defcustom.nov |
| 1260 | 2d 73 61 76 65 2d 70 6c 61 63 65 2d 66 69 6c 65 20 28 6c 6f 63 61 74 65 2d 75 73 65 72 2d 65 6d | -save-place-file.(locate-user-em |
| 1280 | 61 63 73 2d 66 69 6c 65 20 22 6e 6f 76 2d 70 6c 61 63 65 73 22 29 0a 20 20 22 46 69 6c 65 20 6e | acs-file."nov-places")..."File.n |
| 12a0 | 61 6d 65 20 77 68 65 72 65 20 6c 61 73 74 20 72 65 61 64 69 6e 67 20 70 6c 61 63 65 73 20 61 72 | ame.where.last.reading.places.ar |
| 12c0 | 65 20 73 61 76 65 64 20 74 6f 20 61 6e 64 20 72 65 73 74 6f 72 65 64 20 66 72 6f 6d 2e 0a 49 66 | e.saved.to.and.restored.from..If |
| 12e0 | 20 73 65 74 20 74 6f 20 60 6e 69 6c 27 2c 20 6e 6f 20 73 61 76 69 6e 67 20 61 6e 64 20 72 65 73 | .set.to.`nil',.no.saving.and.res |
| 1300 | 74 6f 72 69 6e 67 20 69 73 20 70 65 72 66 6f 72 6d 65 64 2e 22 0a 20 20 3a 74 79 70 65 20 27 28 | toring.is.performed."...:type.'( |
| 1320 | 63 68 6f 69 63 65 20 28 66 69 6c 65 20 20 3a 74 61 67 20 22 46 69 6c 65 20 6e 61 6d 65 22 29 0a | choice.(file..:tag."File.name"). |
| 1340 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 74 20 3a 74 61 67 20 22 44 6f | .................(const.:tag."Do |
| 1360 | 6e 27 74 20 73 61 76 65 20 6c 61 73 74 20 72 65 61 64 69 6e 67 20 70 6c 61 63 65 73 22 20 6e 69 | n't.save.last.reading.places".ni |
| 1380 | 6c 29 29 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 | l))...:group.'nov)..(defcustom.n |
| 13a0 | 6f 76 2d 68 65 61 64 65 72 2d 6c 69 6e 65 2d 66 6f 72 6d 61 74 20 22 25 74 3a 20 25 63 22 0a 20 | ov-header-line-format."%t:.%c".. |
| 13c0 | 20 22 48 65 61 64 65 72 20 6c 69 6e 65 20 66 6f 72 6d 61 74 2e 0a 2d 20 25 74 20 69 73 20 72 65 | ."Header.line.format..-.%t.is.re |
| 13e0 | 70 6c 61 63 65 64 20 62 79 20 74 68 65 20 74 69 74 6c 65 2e 0a 2d 20 25 63 20 69 73 20 72 65 70 | placed.by.the.title..-.%c.is.rep |
| 1400 | 6c 61 63 65 64 20 62 79 20 74 68 65 20 63 68 61 70 74 65 72 20 74 69 74 6c 65 2e 22 0a 20 20 3a | laced.by.the.chapter.title."...: |
| 1420 | 74 79 70 65 20 27 73 74 72 69 6e 67 0a 20 20 3a 67 72 6f 75 70 20 27 6e 6f 76 29 0a 0a 28 64 65 | type.'string...:group.'nov)..(de |
| 1440 | 66 76 61 72 2d 6c 6f 63 61 6c 20 6e 6f 76 2d 66 69 6c 65 2d 6e 61 6d 65 20 6e 69 6c 0a 20 20 22 | fvar-local.nov-file-name.nil..." |
| 1460 | 50 61 74 68 20 74 6f 20 74 68 65 20 45 50 55 42 20 66 69 6c 65 20 62 61 63 6b 69 6e 67 20 74 68 | Path.to.the.EPUB.file.backing.th |
| 1480 | 69 73 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 2d | is.buffer.")..(defvar-local.nov- |
| 14a0 | 74 65 6d 70 2d 64 69 72 20 6e 69 6c 0a 20 20 22 54 65 6d 70 6f 72 61 72 79 20 64 69 72 65 63 74 | temp-dir.nil..."Temporary.direct |
| 14c0 | 6f 72 79 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 62 75 66 66 65 72 27 73 20 45 50 55 42 | ory.containing.the.buffer's.EPUB |
| 14e0 | 20 66 69 6c 65 73 2e 22 29 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 6e 6f 76 2d 63 6f 6e | .files.")..(defvar-local.nov-con |
| 1500 | 74 65 6e 74 2d 66 69 6c 65 20 6e 69 6c 0a 20 20 22 50 61 74 68 20 74 6f 20 74 68 65 20 45 50 55 | tent-file.nil..."Path.to.the.EPU |
| 1520 | 42 20 62 75 66 66 65 72 27 73 20 2e 6f 70 66 20 66 69 6c 65 2e 22 29 0a 0a 28 64 65 66 76 61 72 | B.buffer's..opf.file.")..(defvar |
| 1540 | 2d 6c 6f 63 61 6c 20 6e 6f 76 2d 65 70 75 62 2d 76 65 72 73 69 6f 6e 20 6e 69 6c 0a 20 20 22 56 | -local.nov-epub-version.nil..."V |
| 1560 | 65 72 73 69 6f 6e 20 73 74 72 69 6e 67 20 6f 66 20 74 68 65 20 45 50 55 42 20 62 75 66 66 65 72 | ersion.string.of.the.EPUB.buffer |
| 1580 | 2e 22 29 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 6e 6f 76 2d 6d 65 74 61 64 61 74 61 20 | .")..(defvar-local.nov-metadata. |
| 15a0 | 6e 69 6c 0a 20 20 22 4d 65 74 61 64 61 74 61 20 6f 66 20 74 68 65 20 45 50 55 42 20 62 75 66 66 | nil..."Metadata.of.the.EPUB.buff |
| 15c0 | 65 72 2e 22 29 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 6e 6f 76 2d 64 6f 63 75 6d 65 6e | er.")..(defvar-local.nov-documen |
| 15e0 | 74 73 20 6e 69 6c 0a 20 20 22 41 6c 69 73 74 20 66 6f 72 20 74 68 65 20 45 50 55 42 20 62 75 66 | ts.nil..."Alist.for.the.EPUB.buf |
| 1600 | 66 65 72 27 73 20 64 6f 63 75 6d 65 6e 74 73 2e 0a 45 61 63 68 20 61 6c 69 73 74 20 69 74 65 6d | fer's.documents..Each.alist.item |
| 1620 | 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. |
| 1640 | 66 75 6c 6c 20 70 61 74 68 2e 22 29 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 6e 6f 76 2d | full.path.")..(defvar-local.nov- |
| 1660 | 64 6f 63 75 6d 65 6e 74 73 2d 69 6e 64 65 78 20 30 0a 20 20 22 49 6e 64 65 78 20 6f 66 20 74 68 | documents-index.0..."Index.of.th |
| 1680 | 65 20 63 75 72 72 65 6e 74 6c 79 20 72 65 6e 64 65 72 65 64 20 64 6f 63 75 6d 65 6e 74 20 69 6e | e.currently.rendered.document.in |
| 16a0 | 20 74 68 65 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 | .the.EPUB.buffer.")..(defvar-loc |
| 16c0 | 61 6c 20 6e 6f 76 2d 74 6f 63 2d 69 64 20 6e 69 6c 0a 20 20 22 54 4f 43 20 69 64 65 6e 74 69 66 | al.nov-toc-id.nil..."TOC.identif |
| 16e0 | 69 65 72 20 6f 66 20 74 68 65 20 45 50 55 42 20 62 75 66 66 65 72 2e 22 29 0a 0a 28 64 65 66 76 | ier.of.the.EPUB.buffer.")..(defv |
| 1700 | 61 72 2d 6c 6f 63 61 6c 20 6e 6f 76 2d 68 69 73 74 6f 72 79 20 6e 69 6c 0a 20 20 22 53 74 61 63 | ar-local.nov-history.nil..."Stac |
| 1720 | 6b 20 6f 66 20 64 6f 63 75 6d 65 6e 74 73 20 75 73 65 72 20 68 61 73 20 76 69 73 69 74 65 64 2e | k.of.documents.user.has.visited. |
| 1740 | 0a 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 73 74 61 63 6b 20 69 73 20 61 20 | .Each.element.of.the.stack.is.a. |
| 1760 | 6c 69 73 74 20 28 4e 4f 44 45 49 4e 44 45 58 20 42 55 46 46 45 52 50 4f 53 29 2e 22 29 0a 0a 28 | list.(NODEINDEX.BUFFERPOS).")..( |
| 1780 | 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 6e 6f 76 2d 68 69 73 74 6f 72 79 2d 66 6f 72 77 61 72 64 | defvar-local.nov-history-forward |
| 17a0 | 20 6e 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 | .nil..."Stack.of.documents.user. |
| 17c0 | 68 61 73 20 76 69 73 69 74 65 64 20 77 69 74 68 20 60 6e 6f 76 2d 68 69 73 74 6f 72 79 2d 62 61 | has.visited.with.`nov-history-ba |
| 17e0 | 63 6b 27 20 63 6f 6d 6d 61 6e 64 2e 0a 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 | ck'.command..Each.element.of.the |
| 1800 | 20 73 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 | .stack.is.a.list.(NODEINDEX.BUFF |
| 1820 | 45 52 50 4f 53 29 2e 22 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 6d 61 6b 65 2d 70 61 74 68 20 | ERPOS).")..(defun.nov-make-path. |
| 1840 | 28 64 69 72 65 63 74 6f 72 79 20 66 69 6c 65 29 0a 20 20 22 43 72 65 61 74 65 20 61 20 70 61 74 | (directory.file)..."Create.a.pat |
| 1860 | 68 20 66 72 6f 6d 20 44 49 52 45 43 54 4f 52 59 20 61 6e 64 20 46 49 4c 45 2e 22 0a 20 20 28 63 | h.from.DIRECTORY.and.FILE."...(c |
| 1880 | 6f 6e 63 61 74 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 61 73 2d 64 69 72 65 63 74 6f 72 79 20 64 69 | oncat.(file-name-as-directory.di |
| 18a0 | 72 65 63 74 6f 72 79 29 20 66 69 6c 65 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 64 69 72 65 | rectory).file))..(defun.nov-dire |
| 18c0 | 63 74 6f 72 79 2d 66 69 6c 65 73 20 28 64 69 72 65 63 74 6f 72 79 29 0a 20 20 22 52 65 74 75 72 | ctory-files.(directory)..."Retur |
| 18e0 | 6e 73 20 61 20 6c 69 73 74 20 6f 66 20 66 69 6c 65 73 20 69 6e 20 44 49 52 45 43 54 4f 52 59 20 | ns.a.list.of.files.in.DIRECTORY. |
| 1900 | 65 78 63 65 70 74 20 66 6f 72 20 2e 20 61 6e 64 20 2e 2e 22 0a 20 20 28 73 65 71 2d 72 65 6d 6f | except.for...and..."...(seq-remo |
| 1920 | 76 65 20 28 6c 61 6d 62 64 61 20 28 66 69 6c 65 29 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d | ve.(lambda.(file).(string-match- |
| 1940 | 70 20 22 2f 5c 5c 2e 5c 5c 28 3f 3a 5c 5c 2e 5c 5c 29 3f 5c 5c 27 22 20 66 69 6c 65 29 29 0a 20 | p."/\\.\\(?:\\.\\)?\\'".file)).. |
| 1960 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 69 72 65 63 74 6f 72 79 2d 66 69 6c 65 73 20 64 69 | .............(directory-files.di |
| 1980 | 72 65 63 74 6f 72 79 20 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 63 6f 6e 74 61 69 6e | rectory.t)))..(defun.nov-contain |
| 19a0 | 73 2d 6e 65 73 74 65 64 2d 64 69 72 65 63 74 6f 72 79 2d 70 20 28 64 69 72 65 63 74 6f 72 79 29 | s-nested-directory-p.(directory) |
| 19c0 | 0a 20 20 22 4e 6f 6e 2d 6e 69 6c 20 69 66 20 44 49 52 45 43 54 4f 52 59 20 63 6f 6e 74 61 69 6e | ..."Non-nil.if.DIRECTORY.contain |
| 19e0 | 73 20 65 78 61 63 74 6c 79 20 6f 6e 65 20 64 69 72 65 63 74 6f 72 79 2e 22 0a 20 20 28 6c 65 74 | s.exactly.one.directory."...(let |
| 1a00 | 2a 20 28 28 66 69 6c 65 73 20 28 6e 6f 76 2d 64 69 72 65 63 74 6f 72 79 2d 66 69 6c 65 73 20 64 | *.((files.(nov-directory-files.d |
| 1a20 | 69 72 65 63 74 6f 72 79 29 29 0a 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 20 28 63 61 72 20 66 | irectory))..........(file.(car.f |
| 1a40 | 69 6c 65 73 29 29 29 0a 20 20 20 20 28 61 6e 64 20 28 3d 20 28 6c 65 6e 67 74 68 20 66 69 6c 65 | iles))).....(and.(=.(length.file |
| 1a60 | 73 29 20 31 29 0a 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 2d 64 69 72 65 63 74 6f 72 79 2d 70 | s).1)..........(file-directory-p |
| 1a80 | 20 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 66 69 6c 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 | .file)..........file)))..(defun. |
| 1aa0 | 6e 6f 76 2d 75 6e 6e 65 73 74 2d 64 69 72 65 63 74 6f 72 79 20 28 64 69 72 65 63 74 6f 72 79 20 | nov-unnest-directory.(directory. |
| 1ac0 | 63 68 69 6c 64 29 0a 20 20 22 4d 6f 76 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 43 48 49 4c 44 | child)..."Move.contents.of.CHILD |
| 1ae0 | 20 69 6e 74 6f 20 44 49 52 45 43 54 4f 52 59 2c 20 74 68 65 6e 20 64 65 6c 65 74 65 20 43 48 49 | .into.DIRECTORY,.then.delete.CHI |
| 1b00 | 4c 44 2e 22 0a 20 20 3b 3b 20 46 49 58 4d 45 3a 20 74 68 69 73 20 77 69 6c 6c 20 6d 6f 73 74 20 | LD."...;;.FIXME:.this.will.most. |
| 1b20 | 63 65 72 74 61 69 6e 6c 79 20 66 61 69 6c 20 66 6f 72 20 63 6f 6e 2f 63 6f 6e 0a 20 20 28 64 6f | certainly.fail.for.con/con...(do |
| 1b40 | 6c 69 73 74 20 28 69 74 65 6d 20 28 6e 6f 76 2d 64 69 72 65 63 74 6f 72 79 2d 66 69 6c 65 73 20 | list.(item.(nov-directory-files. |
| 1b60 | 63 68 69 6c 64 29 29 0a 20 20 20 20 28 72 65 6e 61 6d 65 2d 66 69 6c 65 20 69 74 65 6d 20 64 69 | child)).....(rename-file.item.di |
| 1b80 | 72 65 63 74 6f 72 79 29 29 0a 20 20 28 64 65 6c 65 74 65 2d 64 69 72 65 63 74 6f 72 79 20 63 68 | rectory))...(delete-directory.ch |
| 1ba0 | 69 6c 64 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 2d 66 69 78 2d 70 65 72 6d 69 73 73 69 6f | ild))..(defun.nov--fix-permissio |
| 1bc0 | 6e 73 20 28 66 69 6c 65 2d 6f 72 2d 64 69 72 65 63 74 6f 72 79 20 6d 6f 64 65 29 0a 20 20 28 6c | ns.(file-or-directory.mode)...(l |
| 1be0 | 65 74 2a 20 28 28 6d 6f 64 65 73 20 28 66 69 6c 65 2d 6d 6f 64 65 73 20 66 69 6c 65 2d 6f 72 2d | et*.((modes.(file-modes.file-or- |
| 1c00 | 64 69 72 65 63 74 6f 72 79 29 29 0a 20 20 20 20 20 20 20 20 20 28 66 69 78 65 64 2d 6d 6f 64 65 | directory))..........(fixed-mode |
| 1c20 | 20 28 66 69 6c 65 2d 6d 6f 64 65 73 2d 73 79 6d 62 6f 6c 69 63 2d 74 6f 2d 6e 75 6d 62 65 72 20 | .(file-modes-symbolic-to-number. |
| 1c40 | 6d 6f 64 65 20 6d 6f 64 65 73 29 29 29 0a 20 20 20 20 28 73 65 74 2d 66 69 6c 65 2d 6d 6f 64 65 | mode.modes))).....(set-file-mode |
| 1c60 | 73 20 66 69 6c 65 2d 6f 72 2d 64 69 72 65 63 74 6f 72 79 20 66 69 78 65 64 2d 6d 6f 64 65 29 29 | s.file-or-directory.fixed-mode)) |
| 1c80 | 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 66 69 78 2d 70 65 72 6d 69 73 73 69 6f 6e 73 20 28 64 | )..(defun.nov-fix-permissions.(d |
| 1ca0 | 69 72 65 63 74 6f 72 79 29 0a 20 20 22 49 74 65 72 61 74 65 20 72 65 63 75 72 73 69 76 65 6c 79 | irectory)..."Iterate.recursively |
| 1cc0 | 20 74 68 72 6f 75 67 68 20 44 49 52 45 43 54 4f 52 59 20 74 6f 20 66 69 78 20 69 74 73 20 66 69 | .through.DIRECTORY.to.fix.its.fi |
| 1ce0 | 6c 65 73 2e 22 0a 20 20 28 6e 6f 76 2d 2d 66 69 78 2d 70 65 72 6d 69 73 73 69 6f 6e 73 20 64 69 | les."...(nov--fix-permissions.di |
| 1d00 | 72 65 63 74 6f 72 79 20 22 2b 72 78 22 29 0a 20 20 28 64 6f 6c 69 73 74 20 28 66 69 6c 65 20 28 | rectory."+rx")...(dolist.(file.( |
| 1d20 | 6e 6f 76 2d 64 69 72 65 63 74 6f 72 79 2d 66 69 6c 65 73 20 64 69 72 65 63 74 6f 72 79 29 29 0a | nov-directory-files.directory)). |
| 1d40 | 20 20 20 20 28 69 66 20 28 66 69 6c 65 2d 64 69 72 65 63 74 6f 72 79 2d 70 20 66 69 6c 65 29 0a | ....(if.(file-directory-p.file). |
| 1d60 | 20 20 20 20 20 20 20 20 28 6e 6f 76 2d 66 69 78 2d 70 65 72 6d 69 73 73 69 6f 6e 73 20 66 69 6c | ........(nov-fix-permissions.fil |
| 1d80 | 65 29 0a 20 20 20 20 20 20 28 6e 6f 76 2d 2d 66 69 78 2d 70 65 72 6d 69 73 73 69 6f 6e 73 20 66 | e).......(nov--fix-permissions.f |
| 1da0 | 69 6c 65 20 22 2b 72 22 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 75 6e 7a 69 70 2d 65 | ile."+r"))))..(defun.nov-unzip-e |
| 1dc0 | 70 75 62 20 28 64 69 72 65 63 74 6f 72 79 20 66 69 6c 65 6e 61 6d 65 29 0a 20 20 22 45 78 74 72 | pub.(directory.filename)..."Extr |
| 1de0 | 61 63 74 20 46 49 4c 45 4e 41 4d 45 20 69 6e 74 6f 20 44 49 52 45 43 54 4f 52 59 2e 0a 55 6e 6e | act.FILENAME.into.DIRECTORY..Unn |
| 1e00 | 65 63 65 73 73 61 72 79 20 6e 65 73 74 69 6e 67 20 69 73 20 72 65 6d 6f 76 65 64 20 77 69 74 68 | ecessary.nesting.is.removed.with |
| 1e20 | 20 60 6e 6f 76 2d 75 6e 6e 65 73 74 2d 64 69 72 65 63 74 6f 72 79 27 2e 22 0a 20 20 28 6c 65 74 | .`nov-unnest-directory'."...(let |
| 1e40 | 2a 20 28 28 73 74 61 74 75 73 20 28 61 70 70 6c 79 20 23 27 63 61 6c 6c 2d 70 72 6f 63 65 73 73 | *.((status.(apply.#'call-process |
| 1e60 | 20 6e 6f 76 2d 75 6e 7a 69 70 2d 70 72 6f 67 72 61 6d 20 6e 69 6c 20 22 2a 6e 6f 76 20 75 6e 7a | .nov-unzip-program.nil."*nov.unz |
| 1e80 | 69 70 2a 22 20 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | ip*".t.........................( |
| 1ea0 | 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 61 72 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 | mapcar.(lambda.(arg)............ |
| 1ec0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 | .......................(cond.... |
| 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 20 20 20 20 20 20 20 20 | ................................ |
| 1f00 | 28 28 65 71 20 61 72 67 20 27 64 69 72 65 63 74 6f 72 79 29 20 64 69 72 65 63 74 6f 72 79 29 0a | ((eq.arg.'directory).directory). |
| 1f20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 1f40 | 20 20 20 28 28 65 71 20 61 72 67 20 27 66 69 6c 65 6e 61 6d 65 29 20 66 69 6c 65 6e 61 6d 65 29 | ...((eq.arg.'filename).filename) |
| 1f60 | 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 | ................................ |
| 1f80 | 20 20 20 20 28 74 20 61 72 67 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ....(t.arg)))................... |
| 1fa0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 6f 76 2d 75 6e 7a 69 70 2d 61 72 67 73 29 29 29 0a | ..............nov-unzip-args))). |
| 1fc0 | 20 20 20 20 20 20 20 20 20 63 68 69 6c 64 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 73 65 74 71 | .........child).....(while.(setq |
| 1fe0 | 20 63 68 69 6c 64 20 28 6e 6f 76 2d 63 6f 6e 74 61 69 6e 73 2d 6e 65 73 74 65 64 2d 64 69 72 65 | .child.(nov-contains-nested-dire |
| 2000 | 63 74 6f 72 79 2d 70 20 64 69 72 65 63 74 6f 72 79 29 29 0a 20 20 20 20 20 20 28 6e 6f 76 2d 75 | ctory-p.directory)).......(nov-u |
| 2020 | 6e 6e 65 73 74 2d 64 69 72 65 63 74 6f 72 79 20 64 69 72 65 63 74 6f 72 79 20 63 68 69 6c 64 29 | nnest-directory.directory.child) |
| 2040 | 29 0a 20 20 20 20 3b 3b 20 48 41 43 4b 3a 20 75 6e 7a 69 70 20 70 72 65 73 65 72 76 65 73 20 66 | ).....;;.HACK:.unzip.preserves.f |
| 2060 | 69 6c 65 20 70 65 72 6d 69 73 73 69 6f 6e 73 2c 20 6e 6f 20 6d 61 74 74 65 72 20 68 6f 77 20 73 | ile.permissions,.no.matter.how.s |
| 2080 | 69 6c 6c 79 20 74 68 65 79 0a 20 20 20 20 3b 3b 20 61 72 65 2c 20 73 6f 20 65 6e 73 75 72 65 20 | illy.they.....;;.are,.so.ensure. |
| 20a0 | 66 69 6c 65 73 20 61 6e 64 20 64 69 72 65 63 74 6f 72 69 65 73 20 61 72 65 20 72 65 61 64 61 62 | files.and.directories.are.readab |
| 20c0 | 6c 65 0a 20 20 20 20 28 6e 6f 76 2d 66 69 78 2d 70 65 72 6d 69 73 73 69 6f 6e 73 20 64 69 72 65 | le.....(nov-fix-permissions.dire |
| 20e0 | 63 74 6f 72 79 29 0a 20 20 20 20 73 74 61 74 75 73 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d | ctory).....status))..(defun.nov- |
| 2100 | 77 61 72 6e 20 28 6d 65 73 73 61 67 65 20 26 6f 70 74 69 6f 6e 61 6c 20 6c 65 76 65 6c 29 0a 20 | warn.(message.&optional.level).. |
| 2120 | 20 22 4c 69 6b 65 20 60 64 69 73 70 6c 61 79 2d 77 61 72 6e 69 6e 67 27 2c 20 62 75 74 20 66 6f | ."Like.`display-warning',.but.fo |
| 2140 | 72 20 6e 6f 76 2d 73 70 65 63 69 66 69 63 20 77 61 72 6e 69 6e 67 73 2e 0a 44 69 73 70 6c 61 79 | r.nov-specific.warnings..Display |
| 2160 | 73 20 4d 45 53 53 41 47 45 20 69 6e 20 61 20 77 61 72 6e 69 6e 67 73 20 62 75 66 66 65 72 2c 20 | s.MESSAGE.in.a.warnings.buffer,. |
| 2180 | 77 69 74 68 20 4c 45 56 45 4c 20 61 73 20 73 65 76 65 72 69 74 79 2e 22 0a 20 20 28 64 69 73 70 | with.LEVEL.as.severity."...(disp |
| 21a0 | 6c 61 79 2d 77 61 72 6e 69 6e 67 20 27 6e 6f 76 20 6d 65 73 73 61 67 65 20 6c 65 76 65 6c 29 29 | lay-warning.'nov.message.level)) |
| 21c0 | 0a 0a 28 64 65 66 6d 61 63 72 6f 20 6e 6f 76 2d 69 67 6e 6f 72 65 2d 66 69 6c 65 2d 65 72 72 6f | ..(defmacro.nov-ignore-file-erro |
| 21e0 | 72 73 20 28 26 72 65 73 74 20 62 6f 64 79 29 0a 20 20 22 4c 69 6b 65 20 60 69 67 6e 6f 72 65 2d | rs.(&rest.body)..."Like.`ignore- |
| 2200 | 65 72 72 6f 72 73 27 2c 20 62 75 74 20 66 6f 72 20 66 69 6c 65 20 65 72 72 6f 72 73 2e 22 0a 20 | errors',.but.for.file.errors.".. |
| 2220 | 20 60 28 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 6e 69 6c 20 28 70 72 6f 67 6e 20 2c 40 62 | .`(condition-case.nil.(progn.,@b |
| 2240 | 6f 64 79 29 20 28 66 69 6c 65 2d 65 72 72 6f 72 20 6e 69 6c 29 29 29 0a 0a 28 64 65 66 75 6e 20 | ody).(file-error.nil)))..(defun. |
| 2260 | 6e 6f 76 2d 73 6c 75 72 70 20 28 66 69 6c 65 6e 61 6d 65 20 26 6f 70 74 69 6f 6e 61 6c 20 70 61 | nov-slurp.(filename.&optional.pa |
| 2280 | 72 73 65 2d 78 6d 6c 2d 70 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 63 6f 6e 74 65 6e 74 | rse-xml-p)..."Return.the.content |
| 22a0 | 73 20 6f 66 20 46 49 4c 45 4e 41 4d 45 2e 0a 49 66 20 50 41 52 53 45 2d 58 4d 4c 2d 50 20 69 73 | s.of.FILENAME..If.PARSE-XML-P.is |
| 22c0 | 20 74 2c 20 72 65 74 75 72 6e 20 74 68 65 20 63 6f 6e 74 65 6e 74 73 20 61 73 20 70 61 72 73 65 | .t,.return.the.contents.as.parse |
| 22e0 | 64 20 62 79 20 6c 69 62 78 6d 6c 2e 22 0a 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 65 | d.by.libxml."...(with-temp-buffe |
| 2300 | 72 0a 20 20 20 20 28 69 6e 73 65 72 74 2d 66 69 6c 65 2d 63 6f 6e 74 65 6e 74 73 20 66 69 6c 65 | r.....(insert-file-contents.file |
| 2320 | 6e 61 6d 65 29 0a 20 20 20 20 28 69 66 20 70 61 72 73 65 2d 78 6d 6c 2d 70 0a 20 20 20 20 20 20 | name).....(if.parse-xml-p....... |
| 2340 | 20 20 28 6c 69 62 78 6d 6c 2d 70 61 72 73 65 2d 78 6d 6c 2d 72 65 67 69 6f 6e 20 28 70 6f 69 6e | ..(libxml-parse-xml-region.(poin |
| 2360 | 74 2d 6d 69 6e 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 20 20 28 62 75 66 66 65 | t-min).(point-max)).......(buffe |
| 2380 | 72 2d 73 74 72 69 6e 67 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 6d 69 6d 65 74 79 70 | r-string))))..(defun.nov-mimetyp |
| 23a0 | 65 2d 76 61 6c 69 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 | e-valid-p.(directory)..."Return. |
| 23c0 | 74 20 69 66 20 44 49 52 45 43 54 4f 52 59 20 63 6f 6e 74 61 69 6e 73 20 61 20 76 61 6c 69 64 20 | t.if.DIRECTORY.contains.a.valid. |
| 23e0 | 45 50 55 42 20 6d 69 6d 65 74 79 70 65 20 66 69 6c 65 2e 22 0a 20 20 28 6e 6f 76 2d 69 67 6e 6f | EPUB.mimetype.file."...(nov-igno |
| 2400 | 72 65 2d 66 69 6c 65 2d 65 72 72 6f 72 73 0a 20 20 20 20 28 6c 65 74 20 28 28 66 69 6c 65 6e 61 | re-file-errors.....(let.((filena |
| 2420 | 6d 65 20 28 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 6d 69 6d | me.(nov-make-path.directory."mim |
| 2440 | 65 74 79 70 65 22 29 29 29 0a 20 20 20 20 20 20 28 65 71 75 61 6c 20 28 6e 6f 76 2d 73 6c 75 72 | etype"))).......(equal.(nov-slur |
| 2460 | 70 20 66 69 6c 65 6e 61 6d 65 29 20 22 61 70 70 6c 69 63 61 74 69 6f 6e 2f 65 70 75 62 2b 7a 69 | p.filename)."application/epub+zi |
| 2480 | 70 22 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 63 6f 6e 74 61 69 6e 65 72 2d 66 69 6c | p"))))..(defun.nov-container-fil |
| 24a0 | 65 6e 61 6d 65 20 28 64 69 72 65 63 74 6f 72 79 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 | ename.(directory)..."Return.the. |
| 24c0 | 63 6f 6e 74 61 69 6e 65 72 20 66 69 6c 65 6e 61 6d 65 20 66 6f 72 20 44 49 52 45 43 54 4f 52 59 | container.filename.for.DIRECTORY |
| 24e0 | 2e 22 0a 20 20 28 6c 65 74 20 28 28 66 69 6c 65 6e 61 6d 65 20 28 6e 6f 76 2d 6d 61 6b 65 2d 70 | ."...(let.((filename.(nov-make-p |
| 2500 | 61 74 68 20 64 69 72 65 63 74 6f 72 79 20 22 4d 45 54 41 2d 49 4e 46 22 29 29 29 0a 20 20 20 20 | ath.directory."META-INF")))..... |
| 2520 | 28 6e 6f 76 2d 6d 61 6b 65 2d 70 61 74 68 20 66 69 6c 65 6e 61 6d 65 20 22 63 6f 6e 74 61 69 6e | (nov-make-path.filename."contain |
| 2540 | 65 72 2e 78 6d 6c 22 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 63 6f 6e 74 61 69 6e 65 72 | er.xml")))..(defun.nov-container |
| 2560 | 2d 63 6f 6e 74 65 6e 74 2d 66 69 6c 65 6e 61 6d 65 20 28 63 6f 6e 74 65 6e 74 29 0a 20 20 22 52 | -content-filename.(content)..."R |
| 2580 | 65 74 75 72 6e 20 74 68 65 20 63 6f 6e 74 65 6e 74 20 66 69 6c 65 6e 61 6d 65 20 66 6f 72 20 43 | eturn.the.content.filename.for.C |
| 25a0 | 4f 4e 54 45 4e 54 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 71 75 65 72 79 20 22 63 6f 6e 74 61 69 | ONTENT."...(let*.((query."contai |
| 25c0 | 6e 65 72 3e 72 6f 6f 74 66 69 6c 65 73 3e 72 6f 6f 74 66 69 6c 65 5b 6d 65 64 69 61 2d 74 79 70 | ner>rootfiles>rootfile[media-typ |
| 25e0 | 65 3d 27 61 70 70 6c 69 63 61 74 69 6f 6e 2f 6f 65 62 70 73 2d 70 61 63 6b 61 67 65 2b 78 6d 6c | e='application/oebps-package+xml |
| 2600 | 27 5d 22 29 0a 20 20 20 20 20 20 20 20 20 28 6e 6f 64 65 20 28 65 73 78 6d 6c 2d 71 75 65 72 79 | ']")..........(node.(esxml-query |
| 2620 | 20 71 75 65 72 79 20 63 6f 6e 74 65 6e 74 29 29 29 0a 20 20 20 20 28 64 6f 6d 2d 61 74 74 72 20 | .query.content))).....(dom-attr. |
| 2640 | 6e 6f 64 65 20 27 66 75 6c 6c 2d 70 61 74 68 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 63 | node.'full-path)))..(defun.nov-c |
| 2660 | 6f 6e 74 61 69 6e 65 72 2d 76 61 6c 69 64 2d 70 20 28 64 69 72 65 63 74 6f 72 79 29 0a 20 20 22 | ontainer-valid-p.(directory)..." |
| 2680 | 52 65 74 75 72 6e 20 74 20 69 66 20 44 49 52 45 43 54 4f 52 59 20 68 6f 6c 64 73 20 61 20 76 61 | Return.t.if.DIRECTORY.holds.a.va |
| 26a0 | 6c 69 64 20 45 50 55 42 20 63 6f 6e 74 61 69 6e 65 72 2e 22 0a 20 20 28 6c 65 74 20 28 28 66 69 | lid.EPUB.container."...(let.((fi |
| 26c0 | 6c 65 6e 61 6d 65 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 64 | lename.(nov-container-filename.d |
| 26e0 | 69 72 65 63 74 6f 72 79 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 20 66 69 6c 65 6e | irectory))).....(when.(and.filen |
| 2700 | 61 6d 65 20 28 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 66 69 6c 65 6e 61 6d 65 29 29 0a 20 20 | ame.(file-exists-p.filename))... |
| 2720 | 20 20 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 20 66 | ....(let*.((content.(nov-slurp.f |
| 2740 | 69 6c 65 6e 61 6d 65 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 74 65 6e | ilename.t))..............(conten |
| 2760 | 74 2d 66 69 6c 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 | t-file.(nov-container-content-fi |
| 2780 | 6c 65 6e 61 6d 65 20 63 6f 6e 74 65 6e 74 29 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 | lename.content))).........(when. |
| 27a0 | 28 61 6e 64 20 63 6f 6e 74 65 6e 74 20 63 6f 6e 74 65 6e 74 2d 66 69 6c 65 29 0a 20 20 20 20 20 | (and.content.content-file)...... |
| 27c0 | 20 20 20 20 20 28 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 28 6e 6f 76 2d 6d 61 6b 65 2d 70 61 | .....(file-exists-p.(nov-make-pa |
| 27e0 | 74 68 20 64 69 72 65 63 74 6f 72 79 20 63 6f 6e 74 65 6e 74 2d 66 69 6c 65 29 29 29 29 29 29 29 | th.directory.content-file))))))) |
| 2800 | 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 65 70 75 62 2d 76 61 6c 69 64 2d 70 20 28 64 69 72 65 63 | ..(defun.nov-epub-valid-p.(direc |
| 2820 | 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 6d | tory)..."Return.t.if.DIRECTORY.m |
| 2840 | 61 6b 65 73 20 75 70 20 61 20 76 61 6c 69 64 20 45 50 55 42 20 64 6f 63 75 6d 65 6e 74 2e 22 0a | akes.up.a.valid.EPUB.document.". |
| 2860 | 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 28 6e 6f 76 2d 6d 69 6d 65 74 79 70 65 2d 76 61 6c 69 64 | ..(when.(not.(nov-mimetype-valid |
| 2880 | 2d 70 20 64 69 72 65 63 74 6f 72 79 29 29 0a 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 49 6e 76 | -p.directory)).....(message."Inv |
| 28a0 | 61 6c 69 64 20 6d 69 6d 65 74 79 70 65 22 29 29 0a 20 20 28 6e 6f 76 2d 63 6f 6e 74 61 69 6e 65 | alid.mimetype"))...(nov-containe |
| 28c0 | 72 2d 76 61 6c 69 64 2d 70 20 64 69 72 65 63 74 6f 72 79 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f | r-valid-p.directory))..(defun.no |
| 28e0 | 76 2d 75 72 6c 64 65 63 6f 64 65 20 28 73 74 72 69 6e 67 29 0a 20 20 22 52 65 74 75 72 6e 20 75 | v-urldecode.(string)..."Return.u |
| 2900 | 72 6c 64 65 63 6f 64 65 64 20 76 65 72 73 69 6f 6e 20 6f 66 20 53 54 52 49 4e 47 20 6f 72 20 6e | rldecoded.version.of.STRING.or.n |
| 2920 | 69 6c 2e 22 0a 20 20 28 77 68 65 6e 20 73 74 72 69 6e 67 0a 20 20 20 20 28 75 72 6c 2d 75 6e 68 | il."...(when.string.....(url-unh |
| 2940 | 65 78 2d 73 74 72 69 6e 67 20 73 74 72 69 6e 67 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d | ex-string.string)))..(defun.nov- |
| 2960 | 63 6f 6e 74 65 6e 74 2d 76 65 72 73 69 6f 6e 20 28 63 6f 6e 74 65 6e 74 29 0a 20 20 22 52 65 74 | content-version.(content)..."Ret |
| 2980 | 75 72 6e 20 74 68 65 20 45 50 55 42 20 76 65 72 73 69 6f 6e 20 66 6f 72 20 43 4f 4e 54 45 4e 54 | urn.the.EPUB.version.for.CONTENT |
| 29a0 | 2e 22 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 20 22 | ."...(let*.((node.(esxml-query." |
| 29c0 | 70 61 63 6b 61 67 65 22 20 63 6f 6e 74 65 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 76 65 72 | package".content))..........(ver |
| 29e0 | 73 69 6f 6e 20 28 64 6f 6d 2d 61 74 74 72 20 6e 6f 64 65 20 27 76 65 72 73 69 6f 6e 29 29 29 0a | sion.(dom-attr.node.'version))). |
| 2a00 | 20 20 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 76 65 72 73 69 6f 6e 29 0a 20 20 20 20 20 20 28 65 | ....(when.(not.version).......(e |
| 2a20 | 72 72 6f 72 20 22 56 65 72 73 69 6f 6e 20 6e 6f 74 20 73 70 65 63 69 66 69 65 64 22 29 29 0a 20 | rror."Version.not.specified")).. |
| 2a40 | 20 20 20 76 65 72 73 69 6f 6e 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 63 6f 6e 74 65 6e 74 | ...version))..(defun.nov-content |
| 2a60 | 2d 75 6e 69 71 75 65 2d 69 64 65 6e 74 69 66 69 65 72 2d 6e 61 6d 65 20 28 63 6f 6e 74 65 6e 74 | -unique-identifier-name.(content |
| 2a80 | 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 75 6e 69 71 75 65 20 69 64 65 6e 74 69 66 69 65 | )..."Return.the.unique.identifie |
| 2aa0 | 72 20 6e 61 6d 65 20 72 65 66 65 72 65 6e 63 65 64 20 69 6e 20 43 4f 4e 54 45 4e 54 2e 0a 54 68 | r.name.referenced.in.CONTENT..Th |
| 2ac0 | 69 73 20 69 73 20 75 73 65 64 20 69 6e 20 60 6e 6f 76 2d 63 6f 6e 74 65 6e 74 2d 75 6e 69 71 75 | is.is.used.in.`nov-content-uniqu |
| 2ae0 | 65 2d 69 64 65 6e 74 69 66 69 65 72 27 20 74 6f 20 72 65 74 72 69 65 76 65 20 74 68 65 0a 74 68 | e-identifier'.to.retrieve.the.th |
| 2b00 | 65 20 73 70 65 63 69 66 69 63 20 74 79 70 65 20 6f 66 20 75 6e 69 71 75 65 20 69 64 65 6e 74 69 | e.specific.type.of.unique.identi |
| 2b20 | 66 69 65 72 2e 22 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 | fier."...(let*.((node.(esxml-que |
| 2b40 | 72 79 20 22 70 61 63 6b 61 67 65 5b 75 6e 69 71 75 65 2d 69 64 65 6e 74 69 66 69 65 72 5d 22 20 | ry."package[unique-identifier]". |
| 2b60 | 63 6f 6e 74 65 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 6e 61 6d 65 20 28 64 6f 6d 2d 61 74 | content))..........(name.(dom-at |
| 2b80 | 74 72 20 6e 6f 64 65 20 27 75 6e 69 71 75 65 2d 69 64 65 6e 74 69 66 69 65 72 29 29 29 0a 20 20 | tr.node.'unique-identifier)))... |
| 2ba0 | 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 6e 61 6d 65 29 0a 20 20 20 20 20 20 28 65 72 72 6f 72 20 | ..(when.(not.name).......(error. |
| 2bc0 | 22 55 6e 69 71 75 65 20 69 64 65 6e 74 69 66 69 65 72 20 6e 61 6d 65 20 6e 6f 74 20 73 70 65 63 | "Unique.identifier.name.not.spec |
| 2be0 | 69 66 69 65 64 22 29 29 0a 20 20 20 20 6e 61 6d 65 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d | ified")).....name))..(defun.nov- |
| 2c00 | 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 20 28 63 6f 6e 74 65 | content-unique-identifier.(conte |
| 2c20 | 6e 74 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 74 68 65 20 75 6e 69 71 75 65 20 69 64 65 | nt)..."Return.the.the.unique.ide |
| 2c40 | 6e 74 69 66 69 65 72 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 | ntifier.for.CONTENT."...(let*.(( |
| 2c60 | 6e 61 6d 65 20 28 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 | name.(nov-content-unique-identif |
| 2c80 | 69 65 72 2d 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 73 65 6c | ier-name.content))..........(sel |
| 2ca0 | 65 63 74 6f 72 20 28 66 6f 72 6d 61 74 20 22 70 61 63 6b 61 67 65 3e 6d 65 74 61 64 61 74 61 3e | ector.(format."package>metadata> |
| 2cc0 | 69 64 65 6e 74 69 66 69 65 72 5b 69 64 3d 27 25 73 27 5d 22 0a 20 20 20 20 20 20 20 20 20 20 20 | identifier[id='%s']"............ |
| 2ce0 | 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 65 72 79 2d 63 73 73 | ................(esxml-query-css |
| 2d00 | 2d 65 73 63 61 70 65 20 6e 61 6d 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 69 64 20 28 63 61 | -escape.name)))..........(id.(ca |
| 2d20 | 72 20 28 64 6f 6d 2d 63 68 69 6c 64 72 65 6e 20 28 65 73 78 6d 6c 2d 71 75 65 72 79 20 73 65 6c | r.(dom-children.(esxml-query.sel |
| 2d40 | 65 63 74 6f 72 20 63 6f 6e 74 65 6e 74 29 29 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 6e 6f | ector.content))))).....(when.(no |
| 2d60 | 74 20 69 64 29 0a 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 55 6e 69 71 75 65 20 69 64 65 6e 74 | t.id).......(error."Unique.ident |
| 2d80 | 69 66 69 65 72 20 6e 6f 74 20 66 6f 75 6e 64 20 62 79 20 69 74 73 20 6e 61 6d 65 3a 20 25 73 22 | ifier.not.found.by.its.name:.%s" |
| 2da0 | 20 6e 61 6d 65 29 29 0a 20 20 20 20 28 69 6e 74 65 72 6e 20 69 64 29 29 29 0a 0a 3b 3b 20 4e 4f | .name)).....(intern.id)))..;;.NO |
| 2dc0 | 54 45 3a 20 75 6e 69 71 75 65 20 69 64 65 6e 74 69 66 69 65 72 20 69 73 20 71 75 65 72 69 65 64 | TE:.unique.identifier.is.queried |
| 2de0 | 20 73 65 70 61 72 61 74 65 6c 79 20 61 73 20 69 64 65 6e 74 69 66 69 65 72 73 20 63 61 6e 0a 3b | .separately.as.identifiers.can.; |
| 2e00 | 3b 20 61 70 70 65 61 72 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 63 65 20 61 6e 64 20 6f 6e 6c 79 | ;.appear.more.than.once.and.only |
| 2e20 | 20 6f 6e 65 20 6f 66 20 74 68 65 6d 20 63 61 6e 20 62 65 20 74 68 65 20 75 6e 69 71 75 65 20 6f | .one.of.them.can.be.the.unique.o |
| 2e40 | 6e 65 0a 28 64 65 66 76 61 72 20 6e 6f 76 2d 72 65 71 75 69 72 65 64 2d 6d 65 74 61 64 61 74 61 | ne.(defvar.nov-required-metadata |
| 2e60 | 2d 74 61 67 73 20 27 28 74 69 74 6c 65 20 6c 61 6e 67 75 61 67 65 29 0a 20 20 22 52 65 71 75 69 | -tags.'(title.language)..."Requi |
| 2e80 | 72 65 64 20 6d 65 74 61 64 61 74 61 20 74 61 67 73 20 75 73 65 64 20 66 6f 72 20 60 6e 6f 76 2d | red.metadata.tags.used.for.`nov- |
| 2ea0 | 63 6f 6e 74 65 6e 74 2d 6d 65 74 61 64 61 74 61 27 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6e 6f | content-metadata'.")..(defvar.no |
| 2ec0 | 76 2d 6f 70 74 69 6f 6e 61 6c 2d 6d 65 74 61 64 61 74 61 2d 74 61 67 73 0a 20 20 27 28 63 6f 6e | v-optional-metadata-tags...'(con |
| 2ee0 | 74 72 69 62 75 74 6f 72 20 63 6f 76 65 72 61 67 65 20 63 72 65 61 74 6f 72 20 64 61 74 65 20 64 | tributor.coverage.creator.date.d |
| 2f00 | 65 73 63 72 69 70 74 69 6f 6e 20 66 6f 72 6d 61 74 0a 20 20 20 20 70 75 62 6c 69 73 68 65 72 20 | escription.format.....publisher. |
| 2f20 | 72 65 6c 61 74 69 6f 6e 20 72 69 67 68 74 73 20 73 6f 75 72 63 65 20 73 75 62 6a 65 63 74 20 74 | relation.rights.source.subject.t |
| 2f40 | 79 70 65 29 0a 20 20 22 4f 70 74 69 6f 6e 61 6c 20 6d 65 74 61 64 61 74 61 20 74 61 67 73 20 75 | ype)..."Optional.metadata.tags.u |
| 2f60 | 73 65 64 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 | sed.for.`nov-content-metadata'." |
| 2f80 | 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 63 6f 6e 74 65 6e 74 2d 6d 65 74 61 64 61 74 61 20 28 | )..(defun.nov-content-metadata.( |
| 2fa0 | 63 6f 6e 74 65 6e 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6d 65 74 61 64 61 74 61 20 61 6c | content)..."Return.a.metadata.al |
| 2fc0 | 69 73 74 20 66 6f 72 20 43 4f 4e 54 45 4e 54 2e 0a 52 65 71 75 69 72 65 64 20 6b 65 79 73 20 61 | ist.for.CONTENT..Required.keys.a |
| 2fe0 | 72 65 20 5c 5c 3d 27 69 64 65 6e 74 69 66 69 65 72 20 61 6e 64 20 65 76 65 72 79 74 68 69 6e 67 | re.\\='identifier.and.everything |
| 3000 | 20 69 6e 0a 60 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 27 | .in.`nov-required-metadata-tags' |
| 3020 | 2c 20 6f 70 74 69 6f 6e 61 6c 20 6b 65 79 73 20 61 72 65 20 69 6e 0a 60 6e 6f 76 2d 6f 70 74 69 | ,.optional.keys.are.in.`nov-opti |
| 3040 | 6f 6e 61 6c 2d 6d 65 74 61 64 61 74 61 2d 74 61 67 73 27 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 | onal-metadata-tags'."...(let*.(( |
| 3060 | 69 64 65 6e 74 69 66 69 65 72 20 28 6e 6f 76 2d 63 6f 6e 74 65 6e 74 2d 75 6e 69 71 75 65 2d 69 | identifier.(nov-content-unique-i |
| 3080 | 64 65 6e 74 69 66 69 65 72 20 63 6f 6e 74 65 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 63 61 | dentifier.content))..........(ca |
| 30a0 | 6e 64 69 64 61 74 65 73 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 6e 6f 64 65 29 0a | ndidates.(mapcar.(lambda.(node). |
| 30c0 | 20 20 20 20 20 20 20 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 | ...............................( |
| 30e0 | 63 6f 6e 73 20 28 64 6f 6d 2d 74 61 67 20 6e 6f 64 65 29 20 28 63 61 72 20 28 64 6f 6d 2d 63 68 | cons.(dom-tag.node).(car.(dom-ch |
| 3100 | 69 6c 64 72 65 6e 20 6e 6f 64 65 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ildren.node))))................. |
| 3120 | 20 20 20 20 20 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 | .............(esxml-query-all."p |
| 3140 | 61 63 6b 61 67 65 3e 6d 65 74 61 64 61 74 61 3e 2a 22 20 63 6f 6e 74 65 6e 74 29 29 29 0a 20 20 | ackage>metadata>*".content)))... |
| 3160 | 20 20 20 20 20 20 20 28 72 65 71 75 69 72 65 64 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 | .......(required.(mapcar.(lambda |
| 3180 | 20 28 74 61 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .(tag).......................... |
| 31a0 | 20 20 20 20 28 6c 65 74 20 28 28 63 61 6e 64 69 64 61 74 65 20 28 63 64 72 20 28 61 73 73 71 20 | ....(let.((candidate.(cdr.(assq. |
| 31c0 | 74 61 67 20 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 | tag.candidates)))).............. |
| 31e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 63 61 6e | ..................(when.(not.can |
| 3200 | 64 69 64 61 74 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 20 20 | didate)......................... |
| 3220 | 20 20 20 20 20 20 20 20 20 3b 3b 20 4e 4f 54 45 3a 20 74 68 69 73 20 73 68 6f 75 6c 64 20 69 64 | .........;;.NOTE:.this.should.id |
| 3240 | 65 61 6c 6c 79 20 62 65 20 61 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | eally.be.a...................... |
| 3260 | 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 77 61 72 6e 69 6e 67 2c 20 62 75 74 20 60 77 61 72 | ............;;.warning,.but.`war |
| 3280 | 6e 27 20 69 73 20 74 6f 6f 20 6f 62 74 72 75 73 69 76 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 | n'.is.too.obtrusive............. |
| 32a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 52 | .....................(message."R |
| 32c0 | 65 71 75 69 72 65 64 20 6d 65 74 61 64 61 74 75 6d 20 25 73 20 6e 6f 74 20 66 6f 75 6e 64 22 20 | equired.metadatum.%s.not.found". |
| 32e0 | 74 61 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | tag))........................... |
| 3300 | 20 20 20 20 20 28 63 6f 6e 73 20 74 61 67 20 63 61 6e 64 69 64 61 74 65 29 29 29 0a 20 20 20 20 | .....(cons.tag.candidate)))..... |
| 3320 | 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 72 65 71 75 69 | .......................nov-requi |
| 3340 | 72 65 64 2d 6d 65 74 61 64 61 74 61 2d 74 61 67 73 29 29 0a 20 20 20 20 20 20 20 20 20 28 6f 70 | red-metadata-tags))..........(op |
| 3360 | 74 69 6f 6e 61 6c 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 74 61 67 29 20 28 63 6f | tional.(mapcar.(lambda.(tag).(co |
| 3380 | 6e 73 20 74 61 67 20 28 63 64 72 20 28 61 73 73 71 20 74 61 67 20 63 61 6e 64 69 64 61 74 65 73 | ns.tag.(cdr.(assq.tag.candidates |
| 33a0 | 29 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 | ))))............................ |
| 33c0 | 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 29 29 29 0a 20 20 | nov-optional-metadata-tags)))... |
| 33e0 | 20 20 28 61 70 70 65 6e 64 20 60 28 28 69 64 65 6e 74 69 66 69 65 72 20 2e 20 2c 69 64 65 6e 74 | ..(append.`((identifier...,ident |
| 3400 | 69 66 69 65 72 29 29 20 72 65 71 75 69 72 65 64 20 6f 70 74 69 6f 6e 61 6c 29 29 29 0a 0a 28 64 | ifier)).required.optional)))..(d |
| 3420 | 65 66 75 6e 20 6e 6f 76 2d 63 6f 6e 74 65 6e 74 2d 6d 61 6e 69 66 65 73 74 20 28 64 69 72 65 63 | efun.nov-content-manifest.(direc |
| 3440 | 74 6f 72 79 20 63 6f 6e 74 65 6e 74 29 0a 20 20 22 45 78 74 72 61 63 74 20 61 6e 20 61 6c 69 73 | tory.content)..."Extract.an.alis |
| 3460 | 74 20 6f 66 20 6d 61 6e 69 66 65 73 74 20 66 69 6c 65 73 20 66 6f 72 20 43 4f 4e 54 45 4e 54 20 | t.of.manifest.files.for.CONTENT. |
| 3480 | 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 20 63 6f | in.DIRECTORY..Each.alist.item.co |
| 34a0 | 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 66 75 6c | nsists.of.the.identifier.and.ful |
| 34c0 | 6c 20 70 61 74 68 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 | l.path."...(mapcar.(lambda.(node |
| 34e0 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 69 64 20 28 64 6f 6d 2d 61 74 74 | ).............(let.((id.(dom-att |
| 3500 | 72 20 6e 6f 64 65 20 27 69 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | r.node.'id))...................( |
| 3520 | 68 72 65 66 20 28 64 6f 6d 2d 61 74 74 72 20 6e 6f 64 65 20 27 68 72 65 66 29 29 29 0a 20 20 20 | href.(dom-attr.node.'href))).... |
| 3540 | 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 28 69 6e 74 65 72 6e 20 69 64 29 0a 20 20 20 | ...........(cons.(intern.id).... |
| 3560 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 76 2d 6d 61 6b 65 2d 70 61 74 68 20 | .................(nov-make-path. |
| 3580 | 64 69 72 65 63 74 6f 72 79 20 28 6e 6f 76 2d 75 72 6c 64 65 63 6f 64 65 20 68 72 65 66 29 29 29 | directory.(nov-urldecode.href))) |
| 35a0 | 29 29 0a 20 20 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 | ))...........(esxml-query-all."p |
| 35c0 | 61 63 6b 61 67 65 3e 6d 61 6e 69 66 65 73 74 3e 69 74 65 6d 22 20 63 6f 6e 74 65 6e 74 29 29 29 | ackage>manifest>item".content))) |
| 35e0 | 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 63 6f 6e 74 65 6e 74 2d 73 70 69 6e 65 20 28 63 6f 6e 74 | ..(defun.nov-content-spine.(cont |
| 3600 | 65 6e 74 29 0a 20 20 22 45 78 74 72 61 63 74 20 61 20 6c 69 73 74 20 6f 66 20 73 70 69 6e 65 20 | ent)..."Extract.a.list.of.spine. |
| 3620 | 69 64 65 6e 74 69 66 69 65 72 73 20 66 6f 72 20 43 4f 4e 54 45 4e 54 2e 22 0a 20 20 28 6d 61 70 | identifiers.for.CONTENT."...(map |
| 3640 | 63 61 72 20 28 6c 61 6d 62 64 61 20 28 6e 6f 64 65 29 20 28 69 6e 74 65 72 6e 20 28 64 6f 6d 2d | car.(lambda.(node).(intern.(dom- |
| 3660 | 61 74 74 72 20 6e 6f 64 65 20 27 69 64 72 65 66 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 65 | attr.node.'idref)))...........(e |
| 3680 | 73 78 6d 6c 2d 71 75 65 72 79 2d 61 6c 6c 20 22 70 61 63 6b 61 67 65 3e 73 70 69 6e 65 3e 69 74 | sxml-query-all."package>spine>it |
| 36a0 | 65 6d 72 65 66 22 20 63 6f 6e 74 65 6e 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 2d 63 | emref".content)))..(defun.nov--c |
| 36c0 | 6f 6e 74 65 6e 74 2d 65 70 75 62 32 2d 66 69 6c 65 73 20 28 63 6f 6e 74 65 6e 74 20 6d 61 6e 69 | ontent-epub2-files.(content.mani |
| 36e0 | 66 65 73 74 20 66 69 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 | fest.files)...(let*.((node.(esxm |
| 3700 | 6c 2d 71 75 65 72 79 20 22 70 61 63 6b 61 67 65 3e 73 70 69 6e 65 5b 74 6f 63 5d 22 20 63 6f 6e | l-query."package>spine[toc]".con |
| 3720 | 74 65 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 69 64 20 28 64 6f 6d 2d 61 74 74 72 20 6e 6f | tent))..........(id.(dom-attr.no |
| 3740 | 64 65 20 27 74 6f 63 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 69 64 29 0a 20 20 | de.'toc))).....(when.(not.id)... |
| 3760 | 20 20 20 20 28 65 72 72 6f 72 20 22 45 50 55 42 20 32 20 4e 43 58 20 49 44 20 6e 6f 74 20 66 6f | ....(error."EPUB.2.NCX.ID.not.fo |
| 3780 | 75 6e 64 22 29 29 0a 20 20 20 20 28 73 65 74 71 20 6e 6f 76 2d 74 6f 63 2d 69 64 20 28 69 6e 74 | und")).....(setq.nov-toc-id.(int |
| 37a0 | 65 72 6e 20 69 64 29 29 0a 20 20 20 20 28 6c 65 74 20 28 28 74 6f 63 2d 66 69 6c 65 20 28 61 73 | ern.id)).....(let.((toc-file.(as |
| 37c0 | 73 71 20 6e 6f 76 2d 74 6f 63 2d 69 64 20 6d 61 6e 69 66 65 73 74 29 29 29 0a 20 20 20 20 20 20 | sq.nov-toc-id.manifest)))....... |
| 37e0 | 28 77 68 65 6e 20 28 6e 6f 74 20 74 6f 63 2d 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 28 65 72 | (when.(not.toc-file).........(er |
| 3800 | 72 6f 72 20 22 45 50 55 42 20 32 20 4e 43 58 20 66 69 6c 65 20 6e 6f 74 20 66 6f 75 6e 64 22 29 | ror."EPUB.2.NCX.file.not.found") |
| 3820 | 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 29 | ).......(cons.toc-file.files)))) |
| 3840 | 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 2d 63 6f 6e 74 65 6e 74 2d 65 70 75 62 33 2d 66 69 6c 65 | ..(defun.nov--content-epub3-file |
| 3860 | 73 20 28 63 6f 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 | s.(content.manifest.files)...(le |
| 3880 | 74 2a 20 28 28 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 | t*.((node.(esxml-query."package> |
| 38a0 | 6d 61 6e 69 66 65 73 74 3e 69 74 65 6d 5b 70 72 6f 70 65 72 74 69 65 73 7e 3d 6e 61 76 5d 22 20 | manifest>item[properties~=nav]". |
| 38c0 | 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 6f 6d 2d 61 74 74 72 | content))..........(id.(dom-attr |
| 38e0 | 20 6e 6f 64 65 20 27 69 64 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 69 64 29 0a | .node.'id))).....(when.(not.id). |
| 3900 | 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 49 44 20 6e 6f | ......(error."EPUB.3.<nav>.ID.no |
| 3920 | 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 6f 63 2d 69 64 20 | t.found")).....(setq.nov-toc-id. |
| 3940 | 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 63 2d 66 69 6c 65 | (intern.id)).....(let.((toc-file |
| 3960 | 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 29 29 29 0a 20 20 | .(assq.nov-toc-id.manifest)))... |
| 3980 | 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 20 20 20 20 20 20 | ....(when.(not.toc-file)........ |
| 39a0 | 20 28 65 72 72 6f 72 20 22 45 50 55 42 20 33 20 3c 6e 61 76 3e 20 66 69 6c 65 20 6e 6f 74 20 66 | .(error."EPUB.3.<nav>.file.not.f |
| 39c0 | 6f 75 6e 64 22 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 66 69 6c 65 73 20 28 73 65 71 2d 72 | ound")).......(setq.files.(seq-r |
| 39e0 | 65 6d 6f 76 65 20 28 6c 61 6d 62 64 61 20 28 69 74 65 6d 29 20 28 65 71 20 28 63 61 72 20 69 74 | emove.(lambda.(item).(eq.(car.it |
| 3a00 | 65 6d 29 20 6e 6f 76 2d 74 6f 63 2d 69 64 29 29 20 66 69 6c 65 73 29 29 0a 20 20 20 20 20 20 28 | em).nov-toc-id)).files)).......( |
| 3a20 | 63 6f 6e 73 20 74 6f 63 2d 66 69 6c 65 20 66 69 6c 65 73 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 | cons.toc-file.files))))..(defun. |
| 3a40 | 6e 6f 76 2d 63 6f 6e 74 65 6e 74 2d 66 69 6c 65 73 20 28 64 69 72 65 63 74 6f 72 79 20 63 6f 6e | nov-content-files.(directory.con |
| 3a60 | 74 65 6e 74 29 0a 20 20 22 43 72 65 61 74 65 20 63 6f 72 72 65 63 74 6c 79 20 6f 72 64 65 72 65 | tent)..."Create.correctly.ordere |
| 3a80 | 64 20 66 69 6c 65 20 61 6c 69 73 74 20 66 6f 72 20 43 4f 4e 54 45 4e 54 20 69 6e 20 44 49 52 45 | d.file.alist.for.CONTENT.in.DIRE |
| 3aa0 | 43 54 4f 52 59 2e 0a 45 61 63 68 20 61 6c 69 73 74 20 69 74 65 6d 20 63 6f 6e 73 69 73 74 73 20 | CTORY..Each.alist.item.consists. |
| 3ac0 | 6f 66 20 74 68 65 20 69 64 65 6e 74 69 66 69 65 72 20 61 6e 64 20 66 75 6c 6c 20 70 61 74 68 2e | of.the.identifier.and.full.path. |
| 3ae0 | 22 0a 20 20 28 6c 65 74 2a 20 28 28 6d 61 6e 69 66 65 73 74 20 28 6e 6f 76 2d 63 6f 6e 74 65 6e | "...(let*.((manifest.(nov-conten |
| 3b00 | 74 2d 6d 61 6e 69 66 65 73 74 20 64 69 72 65 63 74 6f 72 79 20 63 6f 6e 74 65 6e 74 29 29 0a 20 | t-manifest.directory.content)).. |
| 3b20 | 20 20 20 20 20 20 20 20 28 73 70 69 6e 65 20 28 6e 6f 76 2d 63 6f 6e 74 65 6e 74 2d 73 70 69 6e | ........(spine.(nov-content-spin |
| 3b40 | 65 20 63 6f 6e 74 65 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 73 20 28 6d 61 70 | e.content))..........(files.(map |
| 3b60 | 63 61 72 20 28 6c 61 6d 62 64 61 20 28 69 74 65 6d 29 20 28 61 73 73 71 20 69 74 65 6d 20 6d 61 | car.(lambda.(item).(assq.item.ma |
| 3b80 | 6e 69 66 65 73 74 29 29 20 73 70 69 6e 65 29 29 29 0a 20 20 20 20 28 69 66 20 28 76 65 72 73 69 | nifest)).spine))).....(if.(versi |
| 3ba0 | 6f 6e 3c 20 6e 6f 76 2d 65 70 75 62 2d 76 65 72 73 69 6f 6e 20 22 33 2e 30 22 29 0a 20 20 20 20 | on<.nov-epub-version."3.0")..... |
| 3bc0 | 20 20 20 20 28 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 63 6f | ....(nov--content-epub2-files.co |
| 3be0 | 6e 74 65 6e 74 20 6d 61 6e 69 66 65 73 74 20 66 69 6c 65 73 29 0a 20 20 20 20 20 20 28 6e 6f 76 | ntent.manifest.files).......(nov |
| 3c00 | 2d 2d 63 6f 6e 74 65 6e 74 2d 65 70 75 62 33 2d 66 69 6c 65 73 20 63 6f 6e 74 65 6e 74 20 6d 61 | --content-epub3-files.content.ma |
| 3c20 | 6e 69 66 65 73 74 20 66 69 6c 65 73 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 2d 77 61 | nifest.files))))..(defun.nov--wa |
| 3c40 | 6c 6b 2d 6e 63 78 2d 6e 6f 64 65 20 28 6e 6f 64 65 29 0a 20 20 28 6c 65 74 20 28 28 74 61 67 20 | lk-ncx-node.(node)...(let.((tag. |
| 3c60 | 28 64 6f 6d 2d 74 61 67 20 6e 6f 64 65 29 29 0a 20 20 20 20 20 20 20 20 28 63 68 69 6c 64 72 65 | (dom-tag.node)).........(childre |
| 3c80 | 6e 20 28 73 65 71 2d 66 69 6c 74 65 72 20 28 6c 61 6d 62 64 61 20 28 63 68 69 6c 64 29 20 28 65 | n.(seq-filter.(lambda.(child).(e |
| 3ca0 | 71 20 28 64 6f 6d 2d 74 61 67 20 63 68 69 6c 64 29 20 27 6e 61 76 50 6f 69 6e 74 29 29 0a 20 20 | q.(dom-tag.child).'navPoint))... |
| 3cc0 | 20 20 20 20 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 64 6f 6d | ............................(dom |
| 3ce0 | 2d 63 68 69 6c 64 72 65 6e 20 6e 6f 64 65 29 29 29 29 0a 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 | -children.node)))).....(cond.... |
| 3d00 | 20 20 28 28 65 71 20 74 61 67 20 27 6e 61 76 4d 61 70 29 0a 20 20 20 20 20 20 28 69 6e 73 65 72 | ..((eq.tag.'navMap).......(inser |
| 3d20 | 74 20 22 3c 6f 6c 3e 5c 6e 22 29 0a 20 20 20 20 20 20 28 6d 61 70 63 20 28 6c 61 6d 62 64 61 20 | t."<ol>\n").......(mapc.(lambda. |
| 3d40 | 28 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 | (node).(nov--walk-ncx-node.node) |
| 3d60 | 29 20 63 68 69 6c 64 72 65 6e 29 0a 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 3c 2f 6f 6c 3e | ).children).......(insert."</ol> |
| 3d80 | 5c 6e 22 29 29 0a 20 20 20 20 20 28 28 65 71 20 74 61 67 20 27 6e 61 76 50 6f 69 6e 74 29 0a 20 | \n"))......((eq.tag.'navPoint).. |
| 3da0 | 20 20 20 20 20 28 6c 65 74 2a 20 28 28 6c 61 62 65 6c 2d 6e 6f 64 65 20 28 65 73 78 6d 6c 2d 71 | .....(let*.((label-node.(esxml-q |
| 3dc0 | 75 65 72 79 20 22 6e 61 76 4c 61 62 65 6c 3e 74 65 78 74 22 20 6e 6f 64 65 29 29 0a 20 20 20 20 | uery."navLabel>text".node))..... |
| 3de0 | 20 20 20 20 20 20 20 20 20 28 63 6f 6e 74 65 6e 74 2d 6e 6f 64 65 20 28 65 73 78 6d 6c 2d 71 75 | .........(content-node.(esxml-qu |
| 3e00 | 65 72 79 20 22 63 6f 6e 74 65 6e 74 22 20 6e 6f 64 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 | ery."content".node))............ |
| 3e20 | 20 20 28 68 72 65 66 20 28 6e 6f 76 2d 75 72 6c 64 65 63 6f 64 65 20 28 64 6f 6d 2d 61 74 74 72 | ..(href.(nov-urldecode.(dom-attr |
| 3e40 | 20 63 6f 6e 74 65 6e 74 2d 6e 6f 64 65 20 27 73 72 63 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 | .content-node.'src)))........... |
| 3e60 | 20 20 20 28 6c 61 62 65 6c 20 28 63 61 72 20 28 64 6f 6d 2d 63 68 69 6c 64 72 65 6e 20 6c 61 62 | ...(label.(car.(dom-children.lab |
| 3e80 | 65 6c 2d 6e 6f 64 65 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 68 | el-node)))).........(when.(not.h |
| 3ea0 | 72 65 66 29 0a 20 20 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 4e 61 76 69 67 61 74 69 6f | ref)...........(error."Navigatio |
| 3ec0 | 6e 20 70 6f 69 6e 74 20 69 73 20 6d 69 73 73 69 6e 67 20 68 72 65 66 20 61 74 74 72 69 62 75 74 | n.point.is.missing.href.attribut |
| 3ee0 | 65 22 29 29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6c 69 6e 6b 20 28 66 6f 72 6d 61 74 | e")).........(let.((link.(format |
| 3f00 | 20 22 3c 61 20 68 72 65 66 3d 5c 22 25 73 5c 22 3e 25 73 3c 2f 61 3e 22 0a 20 20 20 20 20 20 20 | ."<a.href=\"%s\">%s</a>"........ |
| 3f20 | 20 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 | .....................(xml-escape |
| 3f40 | 2d 73 74 72 69 6e 67 20 68 72 65 66 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | -string.href)................... |
| 3f60 | 20 20 20 20 20 20 20 20 20 20 28 78 6d 6c 2d 65 73 63 61 70 65 2d 73 74 72 69 6e 67 20 28 6f 72 | ..........(xml-escape-string.(or |
| 3f80 | 20 6c 61 62 65 6c 20 68 72 65 66 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 66 20 63 | .label.href)))))...........(if.c |
| 3fa0 | 68 69 6c 64 72 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 | hildren...............(progn.... |
| 3fc0 | 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 20 22 3c 6c | .............(insert.(format."<l |
| 3fe0 | 69 3e 5c 6e 25 73 5c 6e 3c 6f 6c 3e 5c 6e 22 20 6c 69 6e 6b 29 29 0a 20 20 20 20 20 20 20 20 20 | i>\n%s\n<ol>\n".link)).......... |
| 4000 | 20 20 20 20 20 20 20 28 6d 61 70 63 20 28 6c 61 6d 62 64 61 20 28 6e 6f 64 65 29 20 28 6e 6f 76 | .......(mapc.(lambda.(node).(nov |
| 4020 | 2d 2d 77 61 6c 6b 2d 6e 63 78 2d 6e 6f 64 65 20 6e 6f 64 65 29 29 0a 20 20 20 20 20 20 20 20 20 | --walk-ncx-node.node)).......... |
| 4040 | 20 20 20 20 20 20 20 20 20 20 20 20 20 63 68 69 6c 64 72 65 6e 29 0a 20 20 20 20 20 20 20 20 20 | .............children).......... |
| 4060 | 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 66 6f 72 6d 61 74 20 22 3c 2f 6f 6c 3e 5c 6e 3c | .......(insert.(format."</ol>\n< |
| 4080 | 2f 6c 69 3e 5c 6e 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 | /li>\n"))).............(insert.( |
| 40a0 | 66 6f 72 6d 61 74 20 22 3c 6c 69 3e 5c 6e 25 73 5c 6e 3c 2f 6c 69 3e 5c 6e 22 20 6c 69 6e 6b 29 | format."<li>\n%s\n</li>\n".link) |
| 40c0 | 29 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 6e 63 78 2d 74 6f 2d 68 74 6d 6c | ))))))))..(defun.nov-ncx-to-html |
| 40e0 | 20 28 70 61 74 68 29 0a 20 20 22 43 6f 6e 76 65 72 74 20 4e 43 58 20 64 6f 63 75 6d 65 6e 74 20 | .(path)..."Convert.NCX.document. |
| 4100 | 61 74 20 50 41 54 48 20 74 6f 20 48 54 4d 4c 2e 22 0a 20 20 28 6c 65 74 20 28 28 72 6f 6f 74 20 | at.PATH.to.HTML."...(let.((root. |
| 4120 | 28 65 73 78 6d 6c 2d 71 75 65 72 79 20 22 6e 61 76 4d 61 70 22 20 28 6e 6f 76 2d 73 6c 75 72 70 | (esxml-query."navMap".(nov-slurp |
| 4140 | 20 70 61 74 68 20 74 29 29 29 29 0a 20 20 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 65 | .path.t)))).....(with-temp-buffe |
| 4160 | 72 0a 20 20 20 20 20 20 28 6e 6f 76 2d 2d 77 61 6c 6b 2d 6e 63 78 2d 6e 6f 64 65 20 72 6f 6f 74 | r.......(nov--walk-ncx-node.root |
| 4180 | 29 0a 20 20 20 20 20 20 28 62 75 66 66 65 72 2d 73 74 72 69 6e 67 29 29 29 29 0a 0a 0c 0a 3b 3b | ).......(buffer-string))))....;; |
| 41a0 | 3b 20 55 49 0a 0a 28 64 65 66 76 61 72 20 6e 6f 76 2d 6d 6f 64 65 2d 6d 61 70 0a 20 20 28 6c 65 | ;.UI..(defvar.nov-mode-map...(le |
| 41c0 | 74 20 28 28 6d 61 70 20 28 6d 61 6b 65 2d 73 70 61 72 73 65 2d 6b 65 79 6d 61 70 29 29 29 0a 20 | t.((map.(make-sparse-keymap))).. |
| 41e0 | 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 67 22 29 20 27 6e 6f | ...(define-key.map.(kbd."g").'no |
| 4200 | 76 2d 72 65 6e 64 65 72 2d 64 6f 63 75 6d 65 6e 74 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b | v-render-document).....(define-k |
| 4220 | 65 79 20 6d 61 70 20 28 6b 62 64 20 22 76 22 29 20 27 6e 6f 76 2d 76 69 65 77 2d 73 6f 75 72 63 | ey.map.(kbd."v").'nov-view-sourc |
| 4240 | 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 56 22 29 | e).....(define-key.map.(kbd."V") |
| 4260 | 20 27 6e 6f 76 2d 76 69 65 77 2d 63 6f 6e 74 65 6e 74 2d 73 6f 75 72 63 65 29 0a 20 20 20 20 28 | .'nov-view-content-source).....( |
| 4280 | 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22 61 22 29 20 27 6e 6f 76 2d 72 65 | define-key.map.(kbd."a").'nov-re |
| 42a0 | 6f 70 65 6e 2d 61 73 2d 61 72 63 68 69 76 65 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 | open-as-archive).....(define-key |
| 42c0 | 20 6d 61 70 20 28 6b 62 64 20 22 6d 22 29 20 27 6e 6f 76 2d 64 69 73 70 6c 61 79 2d 6d 65 74 61 | .map.(kbd."m").'nov-display-meta |
| 42e0 | 64 61 74 61 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 | data).....(define-key.map.(kbd." |
| 4300 | 6e 22 29 20 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 | n").'nov-next-document).....(def |
| 4320 | 69 6e 65 2d 6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22 5d 22 29 20 27 6e 6f 76 2d 6e 65 78 74 2d | ine-key.map.(kbd."]").'nov-next- |
| 4340 | 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 |
| 4360 | 62 64 20 22 70 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."p").'nov-previous-document). |
| 4380 | 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 5b 22 29 20 27 6e | ....(define-key.map.(kbd."[").'n |
| 43a0 | 6f 76 2d 70 72 65 76 69 6f 75 73 2d 64 6f 63 75 6d 65 6e 74 29 0a 20 20 20 20 28 64 65 66 69 6e | ov-previous-document).....(defin |
| 43c0 | 65 2d 6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22 74 22 29 20 27 6e 6f 76 2d 67 6f 74 6f 2d 74 6f | e-key.map.(kbd."t").'nov-goto-to |
| 43e0 | 63 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 6c 22 29 | c).....(define-key.map.(kbd."l") |
| 4400 | 20 27 6e 6f 76 2d 68 69 73 74 6f 72 79 2d 62 61 63 6b 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d | .'nov-history-back).....(define- |
| 4420 | 6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22 72 22 29 20 27 6e 6f 76 2d 68 69 73 74 6f 72 79 2d 66 | key.map.(kbd."r").'nov-history-f |
| 4440 | 6f 72 77 61 72 64 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 | orward).....(define-key.map.(kbd |
| 4460 | 20 22 54 41 42 22 29 20 27 73 68 72 2d 6e 65 78 74 2d 6c 69 6e 6b 29 0a 20 20 20 20 28 64 65 66 | ."TAB").'shr-next-link).....(def |
| 4480 | 69 6e 65 2d 6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22 4d 2d 54 41 42 22 29 20 27 73 68 72 2d 70 | ine-key.map.(kbd."M-TAB").'shr-p |
| 44a0 | 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 79 20 6d 61 | revious-link).....(define-key.ma |
| 44c0 | 70 20 28 6b 62 64 20 22 3c 62 61 63 6b 74 61 62 3e 22 29 20 27 73 68 72 2d 70 72 65 76 69 6f 75 | p.(kbd."<backtab>").'shr-previou |
| 44e0 | 73 2d 6c 69 6e 6b 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 | s-link).....(define-key.map.(kbd |
| 4500 | 20 22 53 50 43 22 29 20 27 6e 6f 76 2d 73 63 72 6f 6c 6c 2d 75 70 29 0a 20 20 20 20 28 64 65 66 | ."SPC").'nov-scroll-up).....(def |
| 4520 | 69 6e 65 2d 6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22 53 2d 53 50 43 22 29 20 27 6e 6f 76 2d 73 | ine-key.map.(kbd."S-SPC").'nov-s |
| 4540 | 63 72 6f 6c 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 | croll-down).....(define-key.map. |
| 4560 | 28 6b 62 64 20 22 44 45 4c 22 29 20 27 6e 6f 76 2d 73 63 72 6f 6c 6c 2d 64 6f 77 6e 29 0a 20 20 | (kbd."DEL").'nov-scroll-down)... |
| 4580 | 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 68 6f 6d 65 3e 22 29 | ..(define-key.map.(kbd."<home>") |
| 45a0 | 20 27 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 62 75 66 66 65 72 29 0a 20 20 20 20 28 64 65 66 69 | .'beginning-of-buffer).....(defi |
| 45c0 | 6e 65 2d 6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22 3c 65 6e 64 3e 22 29 20 27 65 6e 64 2d 6f 66 | ne-key.map.(kbd."<end>").'end-of |
| 45e0 | 2d 62 75 66 66 65 72 29 0a 20 20 20 20 6d 61 70 29 29 0a 0a 28 64 65 66 76 61 72 20 6e 6f 76 2d | -buffer).....map))..(defvar.nov- |
| 4600 | 62 75 74 74 6f 6e 2d 6d 61 70 0a 20 20 28 6c 65 74 20 28 28 6d 61 70 20 28 63 6f 70 79 2d 6b 65 | button-map...(let.((map.(copy-ke |
| 4620 | 79 6d 61 70 20 6e 6f 76 2d 6d 6f 64 65 2d 6d 61 70 29 29 29 0a 20 20 20 20 28 73 65 74 2d 6b 65 | ymap.nov-mode-map))).....(set-ke |
| 4640 | 79 6d 61 70 2d 70 61 72 65 6e 74 20 6d 61 70 20 73 68 72 2d 6d 61 70 29 0a 20 20 20 20 28 64 65 | ymap-parent.map.shr-map).....(de |
| 4660 | 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22 52 45 54 22 29 20 27 6e 6f 76 2d 62 72 | fine-key.map.(kbd."RET").'nov-br |
| 4680 | 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 6b | owse-url).....(define-key.map.(k |
| 46a0 | 62 64 20 22 3c 6d 6f 75 73 65 2d 32 3e 22 29 20 27 6e 6f 76 2d 62 72 6f 77 73 65 2d 75 72 6c 29 | bd."<mouse-2>").'nov-browse-url) |
| 46c0 | 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 63 22 29 20 27 | .....(define-key.map.(kbd."c").' |
| 46e0 | 6e 6f 76 2d 63 6f 70 79 2d 75 72 6c 29 0a 20 20 20 20 6d 61 70 29 29 0a 0a 28 65 61 73 79 2d 6d | nov-copy-url).....map))..(easy-m |
| 4700 | 65 6e 75 2d 64 65 66 69 6e 65 20 6e 6f 76 2d 6d 6f 64 65 2d 6d 65 6e 75 20 6e 6f 76 2d 6d 6f 64 | enu-define.nov-mode-menu.nov-mod |
| 4720 | 65 2d 6d 61 70 20 22 4d 65 6e 75 20 66 6f 72 20 6e 6f 76 2d 6d 6f 64 65 22 0a 20 20 27 28 22 45 | e-map."Menu.for.nov-mode"...'("E |
| 4740 | 50 55 42 22 0a 20 20 20 20 5b 22 4e 65 78 74 22 20 6e 6f 76 2d 6e 65 78 74 2d 64 6f 63 75 6d 65 | PUB".....["Next".nov-next-docume |
| 4760 | 6e 74 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 64 6f | nt......:help."Go.to.the.next.do |
| 4780 | 63 75 6d 65 6e 74 22 5d 0a 20 20 20 20 5b 22 50 72 65 76 69 6f 75 73 22 20 6e 6f 76 2d 70 72 65 | cument"].....["Previous".nov-pre |
| 47a0 | 76 69 6f 75 73 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 | vious-document......:help."Go.to |
| 47c0 | 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 64 6f 63 75 6d 65 6e 74 22 5d 0a 20 20 20 20 5b 22 42 | .the.previous.document"].....["B |
| 47e0 | 61 63 6b 77 61 72 64 22 20 6e 6f 76 2d 68 69 73 74 6f 72 79 2d 62 61 63 6b 0a 20 20 20 20 20 3a | ackward".nov-history-back......: |
| 4800 | 68 65 6c 70 20 22 47 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 | help."Go.back.in.the.history.to. |
| 4820 | 74 68 65 20 6c 61 73 74 20 76 69 73 69 74 65 64 20 64 6f 63 75 6d 65 6e 74 22 5d 0a 20 20 20 20 | the.last.visited.document"]..... |
| 4840 | 5b 22 46 6f 72 77 61 72 64 22 20 6e 6f 76 2d 68 69 73 74 6f 72 79 2d 66 6f 72 77 61 72 64 0a 20 | ["Forward".nov-history-forward.. |
| 4860 | 20 20 20 20 3a 68 65 6c 70 20 22 47 6f 20 66 6f 72 77 61 72 64 20 69 6e 20 74 68 65 20 68 69 73 | ....:help."Go.forward.in.the.his |
| 4880 | 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 22 5d 0a 20 20 20 20 | tory.of.visited.documents"]..... |
| 48a0 | 5b 22 4e 65 78 74 20 4c 69 6e 6b 22 20 73 68 72 2d 6e 65 78 74 2d 6c 69 6e 6b 0a 20 20 20 20 20 | ["Next.Link".shr-next-link...... |
| 48c0 | 3a 68 65 6c 70 20 22 47 6f 20 74 6f 20 74 68 65 20 6e 65 78 74 20 6c 69 6e 6b 22 5d 0a 20 20 20 | :help."Go.to.the.next.link"].... |
| 48e0 | 20 5b 22 50 72 65 76 69 6f 75 73 20 4c 69 6e 6b 22 20 73 68 72 2d 70 72 65 76 69 6f 75 73 2d 6c | .["Previous.Link".shr-previous-l |
| 4900 | 69 6e 6b 0a 20 20 20 20 20 3a 6b 65 79 73 20 22 4d 2d 54 41 42 22 0a 20 20 20 20 20 3a 68 65 6c | ink......:keys."M-TAB"......:hel |
| 4920 | 70 20 22 47 6f 20 74 6f 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 6c 69 6e 6b 22 5d 0a 20 20 20 | p."Go.to.the.previous.link"].... |
| 4940 | 20 5b 22 54 61 62 6c 65 20 6f 66 20 43 6f 6e 74 65 6e 74 73 22 20 6e 6f 76 2d 67 6f 74 6f 2d 74 | .["Table.of.Contents".nov-goto-t |
| 4960 | 6f 63 0a 20 20 20 20 20 3a 68 65 6c 70 20 22 44 69 73 70 6c 61 79 20 74 68 65 20 74 61 62 6c 65 | oc......:help."Display.the.table |
| 4980 | 20 6f 66 20 63 6f 6e 74 65 6e 74 73 22 5d 0a 20 20 20 20 5b 22 52 65 64 69 73 70 6c 61 79 22 20 | .of.contents"].....["Redisplay". |
| 49a0 | 6e 6f 76 2d 72 65 6e 64 65 72 2d 64 6f 63 75 6d 65 6e 74 0a 20 20 20 20 20 3a 68 65 6c 70 20 22 | nov-render-document......:help." |
| 49c0 | 52 65 64 69 73 70 6c 61 79 20 74 68 65 20 64 6f 63 75 6d 65 6e 74 22 5d 0a 20 20 20 20 22 2d 2d | Redisplay.the.document"]....."-- |
| 49e0 | 2d 22 0a 20 20 20 20 5b 22 56 69 65 77 20 4d 65 74 61 64 61 74 61 22 20 6e 6f 76 2d 64 69 73 70 | -".....["View.Metadata".nov-disp |
| 4a00 | 6c 61 79 2d 6d 65 74 61 64 61 74 61 0a 20 20 20 20 20 3a 68 65 6c 70 20 22 56 69 65 77 20 74 68 | lay-metadata......:help."View.th |
| 4a20 | 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 65 6e 74 22 | e.metadata.of.the.EPUB.document" |
| 4a40 | 5d 0a 20 20 20 20 5b 22 56 69 65 77 20 48 54 4d 4c 20 53 6f 75 72 63 65 22 20 6e 6f 76 2d 76 69 | ].....["View.HTML.Source".nov-vi |
| 4a60 | 65 77 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 68 65 20 48 | ew-source......:help."View.the.H |
| 4a80 | 54 4d 4c 20 73 6f 75 72 63 65 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 64 6f 63 75 6d 65 | TML.source.of.the.current.docume |
| 4aa0 | 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. |
| 4ac0 | 4f 50 46 20 53 6f 75 72 63 65 22 20 6e 6f 76 2d 76 69 65 77 2d 63 6f 6e 74 65 6e 74 2d 73 6f 75 | OPF.Source".nov-view-content-sou |
| 4ae0 | 72 63 65 0a 20 20 20 20 20 3a 68 65 6c 70 20 22 56 69 65 77 20 74 68 65 20 4f 50 46 20 73 6f 75 | rce......:help."View.the.OPF.sou |
| 4b00 | 72 63 65 20 6f 66 20 74 68 65 20 45 50 55 42 20 64 6f 63 75 6d 65 6e 74 20 69 6e 20 61 20 6e 65 | rce.of.the.EPUB.document.in.a.ne |
| 4b20 | 77 20 62 75 66 66 65 72 22 5d 0a 20 20 20 20 5b 22 56 69 65 77 20 61 73 20 41 72 63 68 69 76 65 | w.buffer"].....["View.as.Archive |
| 4b40 | 22 20 6e 6f 76 2d 72 65 6f 70 65 6e 2d 61 73 2d 61 72 63 68 69 76 65 0a 20 20 20 20 20 3a 68 65 | ".nov-reopen-as-archive......:he |
| 4b60 | 6c 70 20 22 52 65 6f 70 65 6e 20 74 68 65 20 45 50 55 42 20 64 6f 63 75 6d 65 6e 74 20 61 73 20 | lp."Reopen.the.EPUB.document.as. |
| 4b80 | 61 6e 20 61 72 63 68 69 76 65 22 5d 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 63 6c 65 61 6e | an.archive"]))..(defun.nov-clean |
| 4ba0 | 2d 75 70 20 28 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 | -up.()..."Delete.temporary.files |
| 4bc0 | 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 45 50 55 42 20 62 75 66 66 65 72 2e 22 0a 20 20 | .of.the.current.EPUB.buffer."... |
| 4be0 | 28 77 68 65 6e 20 6e 6f 76 2d 74 65 6d 70 2d 64 69 72 0a 20 20 20 20 28 6c 65 74 20 28 28 69 64 | (when.nov-temp-dir.....(let.((id |
| 4c00 | 65 6e 74 69 66 69 65 72 20 28 63 64 72 20 28 61 73 73 71 20 27 69 64 65 6e 74 69 66 69 65 72 20 | entifier.(cdr.(assq.'identifier. |
| 4c20 | 6e 6f 76 2d 6d 65 74 61 64 61 74 61 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 6e 64 65 78 | nov-metadata)))...........(index |
| 4c40 | 20 28 69 66 20 28 69 6e 74 65 67 65 72 70 20 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 2d 69 6e 64 | .(if.(integerp.nov-documents-ind |
| 4c60 | 65 78 29 0a 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 64 6f 63 | ex)......................nov-doc |
| 4c80 | 75 6d 65 6e 74 73 2d 69 6e 64 65 78 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | uments-index.................... |
| 4ca0 | 30 29 29 29 0a 20 20 20 20 20 20 28 6e 6f 76 2d 73 61 76 65 2d 70 6c 61 63 65 20 69 64 65 6e 74 | 0))).......(nov-save-place.ident |
| 4cc0 | 69 66 69 65 72 20 69 6e 64 65 78 20 28 70 6f 69 6e 74 29 29 29 0a 20 20 20 20 28 6e 6f 76 2d 69 | ifier.index.(point))).....(nov-i |
| 4ce0 | 67 6e 6f 72 65 2d 66 69 6c 65 2d 65 72 72 6f 72 73 0a 20 20 20 20 20 28 64 65 6c 65 74 65 2d 64 | gnore-file-errors......(delete-d |
| 4d00 | 69 72 65 63 74 6f 72 79 20 6e 6f 76 2d 74 65 6d 70 2d 64 69 72 20 74 29 29 29 29 0a 0a 28 64 65 | irectory.nov-temp-dir.t))))..(de |
| 4d20 | 66 75 6e 20 6e 6f 76 2d 63 6c 65 61 6e 2d 75 70 2d 61 6c 6c 20 28 29 0a 20 20 22 44 65 6c 65 74 | fun.nov-clean-up-all.()..."Delet |
| 4d40 | 65 20 74 65 6d 70 6f 72 61 72 79 20 66 69 6c 65 73 20 6f 66 20 61 6c 6c 20 6f 70 65 6e 65 64 20 | e.temporary.files.of.all.opened. |
| 4d60 | 45 50 55 42 20 62 75 66 66 65 72 73 2e 22 0a 20 20 28 64 6f 6c 69 73 74 20 28 62 75 66 66 65 72 | EPUB.buffers."...(dolist.(buffer |
| 4d80 | 20 28 62 75 66 66 65 72 2d 6c 69 73 74 29 29 0a 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e | .(buffer-list)).....(with-curren |
| 4da0 | 74 2d 62 75 66 66 65 72 20 62 75 66 66 65 72 0a 20 20 20 20 20 20 28 77 68 65 6e 20 28 65 71 20 | t-buffer.buffer.......(when.(eq. |
| 4dc0 | 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 20 20 20 20 28 6e | major-mode.'nov-mode).........(n |
| 4de0 | 6f 76 2d 63 6c 65 61 6e 2d 75 70 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 65 78 74 | ov-clean-up)))))..(defun.nov-ext |
| 4e00 | 65 72 6e 61 6c 2d 75 72 6c 2d 70 20 28 75 72 6c 29 0a 20 20 22 52 65 74 75 72 6e 20 74 20 69 66 | ernal-url-p.(url)..."Return.t.if |
| 4e20 | 20 55 52 4c 20 72 65 66 65 72 73 20 74 6f 20 61 6e 20 65 78 74 65 72 6e 61 6c 20 64 6f 63 75 6d | .URL.refers.to.an.external.docum |
| 4e40 | 65 6e 74 2e 22 0a 20 20 28 61 6e 64 20 28 75 72 6c 2d 74 79 70 65 20 28 75 72 6c 2d 67 65 6e 65 | ent."...(and.(url-type.(url-gene |
| 4e60 | 72 69 63 2d 70 61 72 73 65 2d 75 72 6c 20 75 72 6c 29 29 20 74 29 29 0a 0a 28 64 65 66 75 6e 20 | ric-parse-url.url)).t))..(defun. |
| 4e80 | 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 28 75 72 6c | nov-url-filename-and-target.(url |
| 4ea0 | 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 55 52 4c 27 73 20 66 69 6c 65 | )..."Return.a.list.of.URL's.file |
| 4ec0 | 6e 61 6d 65 20 61 6e 64 20 74 61 72 67 65 74 2e 22 0a 20 20 28 73 65 74 71 20 75 72 6c 20 28 75 | name.and.target."...(setq.url.(u |
| 4ee0 | 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 0a 20 20 28 6d 61 | rl-generic-parse-url.url))...(ma |
| 4f00 | 70 63 61 72 20 27 6e 6f 76 2d 75 72 6c 64 65 63 6f 64 65 20 28 6c 69 73 74 20 28 75 72 6c 2d 66 | pcar.'nov-urldecode.(list.(url-f |
| 4f20 | 69 6c 65 6e 61 6d 65 20 75 72 6c 29 20 28 75 72 6c 2d 74 61 72 67 65 74 20 75 72 6c 29 29 29 29 | ilename.url).(url-target.url)))) |
| 4f40 | 0a 0a 3b 3b 20 61 64 61 70 74 65 64 20 66 72 6f 6d 20 60 73 68 72 2d 72 65 73 63 61 6c 65 2d 69 | ..;;.adapted.from.`shr-rescale-i |
| 4f60 | 6d 61 67 65 27 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 69 6e 73 65 72 74 2d 69 6d 61 67 65 20 28 70 | mage'.(defun.nov-insert-image.(p |
| 4f80 | 61 74 68 20 61 6c 74 29 0a 20 20 22 49 6e 73 65 72 74 20 61 6e 20 69 6d 61 67 65 20 66 6f 72 20 | ath.alt)..."Insert.an.image.for. |
| 4fa0 | 50 41 54 48 20 61 74 20 70 6f 69 6e 74 2c 20 66 61 6c 6c 69 6e 67 20 62 61 63 6b 20 74 6f 20 41 | PATH.at.point,.falling.back.to.A |
| 4fc0 | 4c 54 2e 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 68 6f 6e 6f 72 73 20 60 73 68 72 2d 6d 61 | LT..This.function.honors.`shr-ma |
| 4fe0 | 78 2d 69 6d 61 67 65 2d 70 72 6f 70 6f 72 74 69 6f 6e 27 20 69 66 20 70 6f 73 73 69 62 6c 65 2e | x-image-proportion'.if.possible. |
| 5000 | 22 0a 20 20 28 6c 65 74 20 28 28 74 79 70 65 20 28 69 66 20 28 6f 72 20 28 61 6e 64 20 28 66 62 | "...(let.((type.(if.(or.(and.(fb |
| 5020 | 6f 75 6e 64 70 20 27 69 6d 61 67 65 2d 74 72 61 6e 73 66 6f 72 6d 73 2d 70 29 20 28 69 6d 61 67 | oundp.'image-transforms-p).(imag |
| 5040 | 65 2d 74 72 61 6e 73 66 6f 72 6d 73 2d 70 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | e-transforms-p))................ |
| 5060 | 20 20 20 20 20 20 20 28 6e 6f 74 20 28 66 62 6f 75 6e 64 70 20 27 69 6d 61 67 65 6d 61 67 69 63 | .......(not.(fboundp.'imagemagic |
| 5080 | 6b 2d 74 79 70 65 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 69 6c | k-types)))...................nil |
| 50a0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 69 6d 61 67 65 6d 61 67 69 63 6b 29 29 29 | .................'imagemagick))) |
| 50c0 | 0a 20 20 20 20 28 69 66 20 28 6e 6f 74 20 28 64 69 73 70 6c 61 79 2d 67 72 61 70 68 69 63 2d 70 | .....(if.(not.(display-graphic-p |
| 50e0 | 29 29 0a 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 61 6c 74 29 0a 20 20 20 20 20 20 28 73 | )).........(insert.alt).......(s |
| 5100 | 65 71 2d 6c 65 74 20 28 78 31 20 79 31 20 78 32 20 79 32 29 20 28 77 69 6e 64 6f 77 2d 69 6e 73 | eq-let.(x1.y1.x2.y2).(window-ins |
| 5120 | 69 64 65 2d 70 69 78 65 6c 2d 65 64 67 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ide-pixel-edges................. |
| 5140 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 65 74 2d 62 75 66 66 65 72 2d 77 69 6e 64 6f 77 | ..............(get-buffer-window |
| 5160 | 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 | .(current-buffer))).........(let |
| 5180 | 20 28 28 69 6d 61 67 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 60 63 72 65 61 | .((image................;;.`crea |
| 51a0 | 74 65 2d 69 6d 61 67 65 27 20 65 72 72 6f 72 73 20 6f 75 74 20 66 6f 72 20 75 6e 73 75 70 70 6f | te-image'.errors.out.for.unsuppo |
| 51c0 | 72 74 65 64 20 69 6d 61 67 65 20 74 79 70 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | rted.image.types................ |
| 51e0 | 28 69 67 6e 6f 72 65 2d 65 72 72 6f 72 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | (ignore-errors.................. |
| 5200 | 28 63 72 65 61 74 65 2d 69 6d 61 67 65 20 70 61 74 68 20 74 79 70 65 20 6e 69 6c 0a 20 20 20 20 | (create-image.path.type.nil..... |
| 5220 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 61 73 63 65 | ...........................:asce |
| 5240 | 6e 74 20 31 30 30 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 | nt.100.......................... |
| 5260 | 20 20 20 20 20 20 3a 6d 61 78 2d 77 69 64 74 68 20 28 74 72 75 6e 63 61 74 65 20 28 2a 20 73 68 | ......:max-width.(truncate.(*.sh |
| 5280 | 72 2d 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 | r-max-image-proportion.......... |
| 52a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 52c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 20 78 32 20 78 31 29 29 29 0a 20 20 20 20 20 20 | ..............(-.x2.x1)))....... |
| 52e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 6d 61 78 2d 68 65 | .........................:max-he |
| 5300 | 69 67 68 74 20 28 74 72 75 6e 63 61 74 65 20 28 2a 20 73 68 72 2d 6d 61 78 2d 69 6d 61 67 65 2d | ight.(truncate.(*.shr-max-image- |
| 5320 | 70 72 6f 70 6f 72 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | proportion...................... |
| 5340 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 5360 | 20 20 20 28 2d 20 79 32 20 79 31 29 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 66 | ...(-.y2.y1)))))))...........(if |
| 5380 | 20 69 6d 61 67 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 2d 69 6d 61 | .image...............(insert-ima |
| 53a0 | 67 65 20 69 6d 61 67 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 61 6c | ge.image).............(insert.al |
| 53c0 | 74 29 29 29 29 29 29 29 0a 0a 28 64 65 66 76 61 72 20 6e 6f 76 2d 6f 72 69 67 69 6e 61 6c 2d 73 | t)))))))..(defvar.nov-original-s |
| 53e0 | 68 72 2d 74 61 67 2d 69 6d 67 2d 66 75 6e 63 74 69 6f 6e 0a 20 20 28 73 79 6d 62 6f 6c 2d 66 75 | hr-tag-img-function...(symbol-fu |
| 5400 | 6e 63 74 69 6f 6e 20 27 73 68 72 2d 74 61 67 2d 69 6d 67 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f | nction.'shr-tag-img))..(defun.no |
| 5420 | 76 2d 72 65 6e 64 65 72 2d 69 6d 67 20 28 64 6f 6d 20 26 6f 70 74 69 6f 6e 61 6c 20 75 72 6c 29 | v-render-img.(dom.&optional.url) |
| 5440 | 0a 20 20 22 43 75 73 74 6f 6d 20 3c 69 6d 67 3e 20 72 65 6e 64 65 72 69 6e 67 20 66 75 6e 63 74 | ..."Custom.<img>.rendering.funct |
| 5460 | 69 6f 6e 20 66 6f 72 20 44 4f 4d 2e 0a 55 73 65 73 20 60 73 68 72 2d 74 61 67 2d 69 6d 67 27 20 | ion.for.DOM..Uses.`shr-tag-img'. |
| 5480 | 66 6f 72 20 65 78 74 65 72 6e 61 6c 20 70 61 74 68 73 20 61 6e 64 20 60 6e 6f 76 2d 69 6e 73 65 | for.external.paths.and.`nov-inse |
| 54a0 | 72 74 2d 69 6d 61 67 65 27 20 66 6f 72 0a 69 6e 74 65 72 6e 61 6c 20 6f 6e 65 73 2e 22 0a 20 20 | rt-image'.for.internal.ones."... |
| 54c0 | 28 6c 65 74 20 28 28 75 72 6c 20 28 6f 72 20 75 72 6c 20 28 63 64 72 20 28 61 73 73 71 20 27 73 | (let.((url.(or.url.(cdr.(assq.'s |
| 54e0 | 72 63 20 28 63 61 64 72 20 64 6f 6d 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 61 6c 74 20 28 | rc.(cadr.dom))))).........(alt.( |
| 5500 | 6f 72 20 28 63 64 72 20 28 61 73 73 71 20 27 61 6c 74 20 28 63 61 64 72 20 64 6f 6d 29 29 29 20 | or.(cdr.(assq.'alt.(cadr.dom))). |
| 5520 | 22 22 29 29 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 | ""))).....(if.(nov-external-url- |
| 5540 | 70 20 75 72 6c 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 48 41 43 4b 3a 20 61 76 6f 69 64 20 68 61 | p.url).........;;.HACK:.avoid.ha |
| 5560 | 6e 67 69 6e 67 20 69 6e 20 61 6e 20 69 6e 66 69 6e 69 74 65 20 6c 6f 6f 70 20 77 68 65 6e 20 75 | nging.in.an.infinite.loop.when.u |
| 5580 | 73 69 6e 67 0a 20 20 20 20 20 20 20 20 3b 3b 20 60 63 6c 2d 6c 65 74 66 27 20 74 6f 20 6f 76 65 | sing.........;;.`cl-letf'.to.ove |
| 55a0 | 72 72 69 64 65 20 60 73 68 72 2d 74 61 67 2d 69 6d 67 27 20 77 69 74 68 20 61 20 66 75 6e 63 74 | rride.`shr-tag-img'.with.a.funct |
| 55c0 | 69 6f 6e 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 3b 3b 20 6d 69 67 68 74 20 63 61 6c 6c 20 60 | ion.that.........;;.might.call.` |
| 55e0 | 73 68 72 2d 74 61 67 2d 69 6d 67 27 20 61 67 61 69 6e 0a 20 20 20 20 20 20 20 20 28 66 75 6e 63 | shr-tag-img'.again.........(func |
| 5600 | 61 6c 6c 20 6e 6f 76 2d 6f 72 69 67 69 6e 61 6c 2d 73 68 72 2d 74 61 67 2d 69 6d 67 2d 66 75 6e | all.nov-original-shr-tag-img-fun |
| 5620 | 63 74 69 6f 6e 20 64 6f 6d 20 75 72 6c 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 75 72 6c 20 28 | ction.dom.url).......(setq.url.( |
| 5640 | 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 28 6e 6f 76 2d 75 72 6c 64 65 63 6f 64 65 20 | expand-file-name.(nov-urldecode. |
| 5660 | 75 72 6c 29 29 29 0a 20 20 20 20 20 20 28 6e 6f 76 2d 69 6e 73 65 72 74 2d 69 6d 61 67 65 20 75 | url))).......(nov-insert-image.u |
| 5680 | 72 6c 20 61 6c 74 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 72 65 6e 64 65 72 2d 74 69 | rl.alt))))..(defun.nov-render-ti |
| 56a0 | 74 6c 65 20 28 64 6f 6d 29 0a 20 20 22 43 75 73 74 6f 6d 20 3c 74 69 74 6c 65 3e 20 72 65 6e 64 | tle.(dom)..."Custom.<title>.rend |
| 56c0 | 65 72 69 6e 67 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 20 44 4f 4d 2e 0a 53 65 74 73 20 60 68 65 | ering.function.for.DOM..Sets.`he |
| 56e0 | 61 64 65 72 2d 6c 69 6e 65 2d 66 6f 72 6d 61 74 27 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 60 | ader-line-format'.according.to.` |
| 5700 | 6e 6f 76 2d 68 65 61 64 65 72 2d 6c 69 6e 65 2d 66 6f 72 6d 61 74 27 2e 22 0a 20 20 28 73 65 74 | nov-header-line-format'."...(set |
| 5720 | 71 20 68 65 61 64 65 72 2d 6c 69 6e 65 2d 66 6f 72 6d 61 74 0a 09 28 61 6e 64 20 6e 6f 76 2d 68 | q.header-line-format..(and.nov-h |
| 5740 | 65 61 64 65 72 2d 6c 69 6e 65 2d 66 6f 72 6d 61 74 0a 09 20 20 20 20 20 28 6c 65 74 20 28 28 74 | eader-line-format.......(let.((t |
| 5760 | 69 74 6c 65 20 28 63 64 72 20 28 61 73 73 71 20 27 74 69 74 6c 65 20 6e 6f 76 2d 6d 65 74 61 64 | itle.(cdr.(assq.'title.nov-metad |
| 5780 | 61 74 61 29 29 29 0a 09 09 20 20 20 28 63 68 61 70 74 65 72 2d 74 69 74 6c 65 20 28 63 61 72 20 | ata)))......(chapter-title.(car. |
| 57a0 | 28 64 6f 6d 2d 63 68 69 6c 64 72 65 6e 20 64 6f 6d 29 29 29 29 0a 09 20 20 20 20 20 20 20 28 77 | (dom-children.dom)))).........(w |
| 57c0 | 68 65 6e 20 28 6e 6f 74 20 63 68 61 70 74 65 72 2d 74 69 74 6c 65 29 0a 09 09 20 28 73 65 74 71 | hen.(not.chapter-title)....(setq |
| 57e0 | 20 63 68 61 70 74 65 72 2d 74 69 74 6c 65 20 28 70 72 6f 70 65 72 74 69 7a 65 20 22 4e 6f 20 74 | .chapter-title.(propertize."No.t |
| 5800 | 69 74 6c 65 22 20 27 66 61 63 65 20 27 69 74 61 6c 69 63 29 29 29 0a 09 20 20 20 20 20 20 20 3b | itle".'face.'italic))).........; |
| 5820 | 3b 20 74 68 69 73 20 73 68 6f 75 6c 64 6e 27 74 20 68 61 70 70 65 6e 20 66 6f 72 20 70 72 6f 70 | ;.this.shouldn't.happen.for.prop |
| 5840 | 65 72 6c 79 20 61 75 74 68 6f 72 65 64 20 45 50 55 42 73 0a 09 20 20 20 20 20 20 20 28 77 68 65 | erly.authored.EPUBs.........(whe |
| 5860 | 6e 20 28 6e 6f 74 20 74 69 74 6c 65 29 0a 09 09 20 28 73 65 74 71 20 74 69 74 6c 65 20 28 70 72 | n.(not.title)....(setq.title.(pr |
| 5880 | 6f 70 65 72 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 | opertize."No.title".'face.'itali |
| 58a0 | 63 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 70 6c 61 63 65 2d 72 65 67 | c)))................(replace-reg |
| 58c0 | 65 78 70 2d 69 6e 2d 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 25 | exp-in-string................."% |
| 58e0 | 22 20 22 25 25 22 0a 09 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 2d 73 70 65 63 0a 09 09 20 | "."%%"..........(format-spec.... |
| 5900 | 6e 6f 76 2d 68 65 61 64 65 72 2d 6c 69 6e 65 2d 66 6f 72 6d 61 74 0a 09 09 20 60 28 28 3f 63 20 | nov-header-line-format....`((?c. |
| 5920 | 2e 20 2c 63 68 61 70 74 65 72 2d 74 69 74 6c 65 29 0a 09 09 20 20 20 28 3f 74 20 2e 20 2c 74 69 | ..,chapter-title)......(?t...,ti |
| 5940 | 74 6c 65 29 29 29 29 29 29 29 29 0a 0a 28 64 65 66 76 61 72 20 6e 6f 76 2d 73 68 72 2d 72 65 6e | tle))))))))..(defvar.nov-shr-ren |
| 5960 | 64 65 72 69 6e 67 2d 66 75 6e 63 74 69 6f 6e 73 0a 20 20 27 28 3b 3b 20 64 65 66 61 75 6c 74 20 | dering-functions...'(;;.default. |
| 5980 | 66 75 6e 63 74 69 6f 6e 20 75 73 65 73 20 75 72 6c 2d 72 65 74 72 69 65 76 65 20 61 6e 64 20 66 | function.uses.url-retrieve.and.f |
| 59a0 | 61 69 6c 73 20 6f 6e 20 6c 6f 63 61 6c 20 69 6d 61 67 65 73 0a 20 20 20 20 28 69 6d 67 20 2e 20 | ails.on.local.images.....(img... |
| 59c0 | 6e 6f 76 2d 72 65 6e 64 65 72 2d 69 6d 67 29 0a 20 20 20 20 3b 3b 20 74 69 74 6c 65 73 20 61 72 | nov-render-img).....;;.titles.ar |
| 59e0 | 65 20 72 65 6e 64 65 72 65 64 20 2a 69 6e 73 69 64 65 2a 20 74 68 65 20 64 6f 63 75 6d 65 6e 74 | e.rendered.*inside*.the.document |
| 5a00 | 20 62 79 20 64 65 66 61 75 6c 74 0a 20 20 20 20 28 74 69 74 6c 65 20 2e 20 6e 6f 76 2d 72 65 6e | .by.default.....(title...nov-ren |
| 5a20 | 64 65 72 2d 74 69 74 6c 65 29 29 0a 20 20 22 41 6c 69 73 74 20 6f 66 20 72 65 6e 64 65 72 69 6e | der-title))..."Alist.of.renderin |
| 5a40 | 67 20 66 75 6e 63 74 69 6f 6e 73 20 75 73 65 64 20 77 69 74 68 20 60 73 68 72 2d 72 65 6e 64 65 | g.functions.used.with.`shr-rende |
| 5a60 | 72 2d 72 65 67 69 6f 6e 27 2e 22 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 66 69 6c 6c 2d 6c 69 | r-region'.")..(defun.nov-fill-li |
| 5a80 | 6e 65 20 28 29 0a 20 20 22 4c 69 6b 65 20 60 73 68 72 2d 66 69 6c 6c 2d 6c 69 6e 65 27 2c 20 62 | ne.()..."Like.`shr-fill-line',.b |
| 5aa0 | 75 74 20 6f 6e 6c 79 20 70 65 72 66 6f 72 6d 69 6e 67 20 69 6e 64 65 6e 74 61 74 69 6f 6e 2e 0a | ut.only.performing.indentation.. |
| 5ac0 | 54 6f 20 62 65 20 75 73 65 64 20 77 68 65 6e 20 60 6e 6f 76 2d 74 65 78 74 2d 77 69 64 74 68 27 | To.be.used.when.`nov-text-width' |
| 5ae0 | 20 69 73 20 73 65 74 20 74 6f 20 74 2e 22 0a 20 20 28 6c 65 74 20 28 28 73 68 72 2d 69 6e 64 65 | .is.set.to.t."...(let.((shr-inde |
| 5b00 | 6e 74 61 74 69 6f 6e 20 28 6f 72 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 | ntation.(or.(get-text-property.( |
| 5b20 | 70 6f 69 6e 74 29 20 27 73 68 72 2d 69 6e 64 65 6e 74 61 74 69 6f 6e 29 0a 20 20 20 20 20 20 20 | point).'shr-indentation)........ |
| 5b40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 68 72 2d 69 6e 64 65 6e 74 | ......................shr-indent |
| 5b60 | 61 74 69 6f 6e 29 29 29 0a 20 20 20 20 28 70 75 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 | ation))).....(put-text-property. |
| 5b80 | 28 70 6f 69 6e 74 29 20 28 31 2b 20 28 70 6f 69 6e 74 29 29 20 27 73 68 72 2d 69 6e 64 65 6e 74 | (point).(1+.(point)).'shr-indent |
| 5ba0 | 61 74 69 6f 6e 20 6e 69 6c 29 0a 20 20 20 20 28 6c 65 74 20 28 28 66 61 63 65 20 28 67 65 74 2d | ation.nil).....(let.((face.(get- |
| 5bc0 | 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 70 6f 69 6e 74 29 20 27 66 61 63 65 29 29 0a 09 20 | text-property.(point).'face))... |
| 5be0 | 20 28 62 61 63 6b 67 72 6f 75 6e 64 2d 73 74 61 72 74 20 28 70 6f 69 6e 74 29 29 29 0a 20 20 20 | .(background-start.(point))).... |
| 5c00 | 20 20 20 28 73 68 72 2d 69 6e 64 65 6e 74 29 0a 20 20 20 20 20 20 28 77 68 65 6e 20 66 61 63 65 | ...(shr-indent).......(when.face |
| 5c20 | 0a 09 28 70 75 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 62 61 63 6b 67 72 6f 75 6e 64 2d | ..(put-text-property.background- |
| 5c40 | 73 74 61 72 74 20 28 70 6f 69 6e 74 29 20 27 66 61 63 65 0a 09 09 09 20 20 20 60 2c 28 73 68 72 | start.(point).'face.......`,(shr |
| 5c60 | 2d 66 61 63 65 2d 62 61 63 6b 67 72 6f 75 6e 64 20 66 61 63 65 29 29 29 29 29 29 0a 0a 28 64 65 | -face-background.face))))))..(de |
| 5c80 | 66 75 6e 20 6e 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 | fun.nov-render-html.()..."Render |
| 5ca0 | 20 48 54 4d 4c 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 | .HTML.in.current.buffer.with.shr |
| 5cc0 | 2e 22 0a 20 20 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 | ."...(run-hooks.'nov-pre-html-re |
| 5ce0 | 6e 64 65 72 2d 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 | nder-hook)...(let.(;;.HACK:.make |
| 5d00 | 20 62 75 74 74 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 | .buttons.use.our.own.commands... |
| 5d20 | 20 20 20 20 20 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 | ......(shr-map.nov-button-map).. |
| 5d40 | 20 20 20 20 20 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 | .......(shr-external-rendering-f |
| 5d60 | 75 6e 63 74 69 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 | unctions.nov-shr-rendering-funct |
| 5d80 | 69 6f 6e 73 29 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 | ions).........(shr-use-fonts.nov |
| 5da0 | 2d 76 61 72 69 61 62 6c 65 2d 70 69 74 63 68 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 48 41 43 4b | -variable-pitch).........;;.HACK |
| 5dc0 | 3a 20 70 72 65 73 65 72 76 65 20 60 74 72 75 6e 63 61 74 65 2d 6c 69 6e 65 73 27 20 66 6f 72 20 | :.preserve.`truncate-lines'.for. |
| 5de0 | 60 76 69 73 75 61 6c 2d 6c 69 6e 65 2d 6d 6f 64 65 27 20 74 6f 0a 20 20 20 20 20 20 20 20 3b 3b | `visual-line-mode'.to.........;; |
| 5e00 | 20 77 6f 72 6b 20 63 6f 72 72 65 63 74 6c 79 20 61 66 74 65 72 20 61 20 74 61 62 6c 65 20 68 61 | .work.correctly.after.a.table.ha |
| 5e20 | 73 20 62 65 65 6e 20 72 65 6e 64 65 72 65 64 2e 2e 2e 0a 20 20 20 20 20 20 20 20 28 74 72 75 6e | s.been.rendered............(trun |
| 5e40 | 63 61 74 65 2d 6c 69 6e 65 73 20 74 72 75 6e 63 61 74 65 2d 6c 69 6e 65 73 29 29 0a 20 20 20 20 | cate-lines.truncate-lines))..... |
| 5e60 | 3b 3b 20 48 41 43 4b 3a 20 60 73 68 72 2d 65 78 74 65 72 6e 61 6c 2d 72 65 6e 64 65 72 69 6e 67 | ;;.HACK:.`shr-external-rendering |
| 5e80 | 2d 66 75 6e 63 74 69 6f 6e 73 27 20 64 6f 65 73 6e 27 74 20 63 6f 76 65 72 0a 20 20 20 20 3b 3b | -functions'.doesn't.cover.....;; |
| 5ea0 | 20 65 76 65 72 79 20 75 73 61 67 65 20 6f 66 20 60 73 68 72 2d 74 61 67 2d 69 6d 67 27 0a 20 20 | .every.usage.of.`shr-tag-img'... |
| 5ec0 | 20 20 28 63 6c 2d 6c 65 74 66 20 28 28 28 73 79 6d 62 6f 6c 2d 66 75 6e 63 74 69 6f 6e 20 27 73 | ..(cl-letf.(((symbol-function.'s |
| 5ee0 | 68 72 2d 74 61 67 2d 69 6d 67 29 20 27 6e 6f 76 2d 72 65 6e 64 65 72 2d 69 6d 67 29 29 0a 20 20 | hr-tag-img).'nov-render-img))... |
| 5f00 | 20 20 20 20 28 69 66 20 28 65 71 20 6e 6f 76 2d 74 65 78 74 2d 77 69 64 74 68 20 74 29 0a 20 20 | ....(if.(eq.nov-text-width.t)... |
| 5f20 | 20 20 20 20 20 20 20 20 28 63 6c 2d 6c 65 74 66 20 28 28 28 73 79 6d 62 6f 6c 2d 66 75 6e 63 74 | ........(cl-letf.(((symbol-funct |
| 5f40 | 69 6f 6e 20 27 73 68 72 2d 66 69 6c 6c 2d 6c 69 6e 65 29 20 23 27 6e 6f 76 2d 66 69 6c 6c 2d 6c | ion.'shr-fill-line).#'nov-fill-l |
| 5f60 | 69 6e 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 68 72 2d 72 65 6e 64 65 72 2d 72 65 | ine)).............(shr-render-re |
| 5f80 | 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 29 0a 20 | gion.(point-min).(point-max))).. |
| 5fa0 | 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 73 68 72 2d 77 69 64 74 68 20 6e 6f 76 2d 74 65 78 74 | .......(let.((shr-width.nov-text |
| 5fc0 | 2d 77 69 64 74 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 68 72 2d 72 65 6e 64 65 72 2d 72 | -width))...........(shr-render-r |
| 5fe0 | 65 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 29 29 | egion.(point-min).(point-max)))) |
| 6000 | 29 29 0a 20 20 28 72 75 6e 2d 68 6f 6f 6b 73 20 27 6e 6f 76 2d 70 6f 73 74 2d 68 74 6d 6c 2d 72 | ))...(run-hooks.'nov-post-html-r |
| 6020 | 65 6e 64 65 72 2d 68 6f 6f 6b 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 72 65 6e 64 65 72 2d | ender-hook))..(defun.nov-render- |
| 6040 | 64 6f 63 75 6d 65 6e 74 20 28 29 0a 20 20 22 52 65 6e 64 65 72 20 74 68 65 20 64 6f 63 75 6d 65 | document.()..."Render.the.docume |
| 6060 | 6e 74 20 72 65 66 65 72 65 6e 63 65 64 20 62 79 20 60 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 2d | nt.referenced.by.`nov-documents- |
| 6080 | 69 6e 64 65 78 27 2e 0a 49 66 20 74 68 65 20 64 6f 63 75 6d 65 6e 74 20 70 61 74 68 20 72 65 66 | index'..If.the.document.path.ref |
| 60a0 | 65 72 73 20 74 6f 20 61 6e 20 69 6d 61 67 65 20 28 61 73 20 64 65 74 65 72 6d 69 6e 65 64 20 62 | ers.to.an.image.(as.determined.b |
| 60c0 | 79 0a 60 69 6d 61 67 65 2d 74 79 70 65 2d 66 69 6c 65 2d 6e 61 6d 65 2d 72 65 67 65 78 70 73 27 | y.`image-type-file-name-regexps' |
| 60e0 | 29 2c 20 61 6e 20 69 6d 61 67 65 20 69 73 20 69 6e 73 65 72 74 65 64 2c 20 6f 74 68 65 72 77 69 | ),.an.image.is.inserted,.otherwi |
| 6100 | 73 65 0a 74 68 65 20 48 54 4d 4c 20 69 73 20 72 65 6e 64 65 72 65 64 20 77 69 74 68 20 60 6e 6f | se.the.HTML.is.rendered.with.`no |
| 6120 | 76 2d 72 65 6e 64 65 72 2d 68 74 6d 6c 2d 66 75 6e 63 74 69 6f 6e 27 2e 22 0a 20 20 28 69 6e 74 | v-render-html-function'."...(int |
| 6140 | 65 72 61 63 74 69 76 65 29 0a 20 20 28 73 65 71 2d 6c 65 74 20 28 69 64 20 26 72 65 73 74 20 70 | eractive)...(seq-let.(id.&rest.p |
| 6160 | 61 74 68 29 20 28 61 72 65 66 20 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 20 6e 6f 76 2d 64 6f 63 | ath).(aref.nov-documents.nov-doc |
| 6180 | 75 6d 65 6e 74 73 2d 69 6e 64 65 78 29 0a 20 20 20 20 28 6c 65 74 20 28 3b 3b 20 48 41 43 4b 3a | uments-index).....(let.(;;.HACK: |
| 61a0 | 20 74 68 69 73 20 73 68 6f 75 6c 64 20 62 65 20 6c 6f 6f 6b 65 64 20 75 70 20 69 6e 20 74 68 65 | .this.should.be.looked.up.in.the |
| 61c0 | 20 6d 61 6e 69 66 65 73 74 0a 20 20 20 20 20 20 20 20 20 20 28 69 6d 61 67 65 70 20 28 73 65 71 | .manifest...........(imagep.(seq |
| 61e0 | 2d 66 69 6e 64 20 28 6c 61 6d 62 64 61 20 28 69 74 65 6d 29 20 28 73 74 72 69 6e 67 2d 6d 61 74 | -find.(lambda.(item).(string-mat |
| 6200 | 63 68 2d 70 20 28 63 61 72 20 69 74 65 6d 29 20 70 61 74 68 29 29 0a 20 20 20 20 20 20 20 20 20 | ch-p.(car.item).path)).......... |
| 6220 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6d 61 67 65 2d 74 79 70 65 2d 66 69 | ...................image-type-fi |
| 6240 | 6c 65 2d 6e 61 6d 65 2d 72 65 67 65 78 70 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 4e | le-name-regexps))...........;;.N |
| 6260 | 4f 54 45 3a 20 61 6c 6c 6f 77 73 20 72 65 73 6f 6c 76 69 6e 67 20 69 6d 61 67 65 20 72 65 66 65 | OTE:.allows.resolving.image.refe |
| 6280 | 72 65 6e 63 65 73 20 63 6f 72 72 65 63 74 6c 79 0a 20 20 20 20 20 20 20 20 20 20 28 64 65 66 61 | rences.correctly...........(defa |
| 62a0 | 75 6c 74 2d 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 74 6f | ult-directory.(file-name-directo |
| 62c0 | 72 79 20 70 61 74 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 62 75 66 66 65 72 2d 72 65 61 64 2d | ry.path))...........buffer-read- |
| 62e0 | 6f 6e 6c 79 29 0a 20 20 20 20 20 20 28 65 72 61 73 65 2d 62 75 66 66 65 72 29 0a 0a 20 20 20 20 | only).......(erase-buffer)...... |
| 6300 | 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 28 69 6d 61 67 65 70 0a 20 20 20 20 20 20 20 20 28 | ..(cond........(imagep.........( |
| 6320 | 6e 6f 76 2d 69 6e 73 65 72 74 2d 69 6d 61 67 65 20 70 61 74 68 20 22 22 29 29 0a 20 20 20 20 20 | nov-insert-image.path.""))...... |
| 6340 | 20 20 28 28 61 6e 64 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 | ..((and.(version<.nov-epub-versi |
| 6360 | 6f 6e 20 22 33 2e 30 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 71 20 69 64 20 6e 6f | on."3.0")..............(eq.id.no |
| 6380 | 76 2d 74 6f 63 2d 69 64 29 29 0a 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 6e 6f 76 2d | v-toc-id)).........(insert.(nov- |
| 63a0 | 6e 63 78 2d 74 6f 2d 68 74 6d 6c 20 70 61 74 68 29 29 29 0a 20 20 20 20 20 20 20 28 74 0a 20 20 | ncx-to-html.path)))........(t... |
| 63c0 | 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 6e 6f 76 2d 73 6c 75 72 70 20 70 61 74 68 29 29 29 | ......(insert.(nov-slurp.path))) |
| 63e0 | 29 0a 0a 20 20 20 20 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 69 6d 61 67 65 70 29 0a 20 20 20 20 | )........(when.(not.imagep)..... |
| 6400 | 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 6e 6f 76 2d 72 65 6e 64 65 72 2d 68 74 6d 6c 2d 66 75 6e | ....(funcall.nov-render-html-fun |
| 6420 | 63 74 69 6f 6e 29 29 0a 20 20 20 20 20 20 3b 3b 20 4e 4f 54 45 3a 20 74 68 69 73 20 69 73 20 68 | ction)).......;;.NOTE:.this.is.h |
| 6440 | 6f 77 20 64 6f 63 2d 76 69 65 77 20 61 76 6f 69 64 73 20 6f 76 65 72 77 72 69 74 69 6e 67 20 74 | ow.doc-view.avoids.overwriting.t |
| 6460 | 68 65 20 66 69 6c 65 0a 20 20 20 20 20 20 28 73 65 74 2d 62 75 66 66 65 72 2d 6d 6f 64 69 66 69 | he.file.......(set-buffer-modifi |
| 6480 | 65 64 2d 70 20 6e 69 6c 29 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e | ed-p.nil).......(goto-char.(poin |
| 64a0 | 74 2d 6d 69 6e 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 66 69 6e 64 2d 64 6f 63 75 | t-min)))))..(defun.nov-find-docu |
| 64c0 | 6d 65 6e 74 20 28 70 72 65 64 69 63 61 74 65 29 0a 20 20 22 52 65 74 75 72 6e 20 66 69 72 73 74 | ment.(predicate)..."Return.first |
| 64e0 | 20 69 74 65 6d 20 69 6e 20 60 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 27 20 50 52 45 44 49 43 41 | .item.in.`nov-documents'.PREDICA |
| 6500 | 54 45 20 69 73 20 74 72 75 65 20 66 6f 72 2e 22 0a 20 20 28 6c 65 74 20 28 28 69 20 30 29 0a 20 | TE.is.true.for."...(let.((i.0).. |
| 6520 | 20 20 20 20 20 20 20 64 6f 6e 65 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 61 6e 64 20 28 6e 6f | .......done).....(while.(and.(no |
| 6540 | 74 20 64 6f 6e 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3c 20 69 20 28 6c 65 | t.done).................(<.i.(le |
| 6560 | 6e 67 74 68 20 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 29 29 29 0a 20 20 20 20 20 20 28 77 68 65 | ngth.nov-documents))).......(whe |
| 6580 | 6e 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 69 63 61 74 65 20 28 61 72 65 66 20 6e 6f 76 2d 64 | n.(funcall.predicate.(aref.nov-d |
| 65a0 | 6f 63 75 6d 65 6e 74 73 20 69 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 64 6f 6e 65 20 | ocuments.i)).........(setq.done. |
| 65c0 | 74 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 69 20 28 31 2b 20 69 29 29 29 0a 20 20 20 20 28 | t)).......(setq.i.(1+.i))).....( |
| 65e0 | 77 68 65 6e 20 64 6f 6e 65 0a 20 20 20 20 20 20 28 31 2d 20 69 29 29 29 29 0a 0a 28 64 65 66 75 | when.done.......(1-.i))))..(defu |
| 6600 | 6e 20 6e 6f 76 2d 67 6f 74 6f 2d 64 6f 63 75 6d 65 6e 74 20 28 69 6e 64 65 78 29 0a 20 20 22 47 | n.nov-goto-document.(index)..."G |
| 6620 | 6f 20 74 6f 20 74 68 65 20 64 6f 63 75 6d 65 6e 74 20 64 65 6e 6f 74 65 64 20 62 79 20 49 4e 44 | o.to.the.document.denoted.by.IND |
| 6640 | 45 58 2e 22 0a 20 20 28 6c 65 74 20 28 28 68 69 73 74 6f 72 79 20 28 63 6f 6e 73 20 28 6c 69 73 | EX."...(let.((history.(cons.(lis |
| 6660 | 74 20 6e 6f 76 2d 64 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 | t.nov-documents-index.(point)).. |
| 6680 | 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 72 | ......................nov-histor |
| 66a0 | 79 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 64 | y))).....(setq.nov-documents-ind |
| 66c0 | 65 78 20 69 6e 64 65 78 29 0a 20 20 20 20 28 6e 6f 76 2d 72 65 6e 64 65 72 2d 64 6f 63 75 6d 65 | ex.index).....(nov-render-docume |
| 66e0 | 6e 74 29 0a 20 20 20 20 28 73 65 74 71 20 6e 6f 76 2d 68 69 73 74 6f 72 79 20 68 69 73 74 6f 72 | nt).....(setq.nov-history.histor |
| 6700 | 79 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 67 6f 74 6f 2d 74 6f 63 20 28 29 0a 20 20 22 | y)))..(defun.nov-goto-toc.()..." |
| 6720 | 47 6f 20 74 6f 20 74 68 65 20 54 4f 43 20 69 6e 64 65 78 20 61 6e 64 20 72 65 6e 64 65 72 20 74 | Go.to.the.TOC.index.and.render.t |
| 6740 | 68 65 20 54 4f 43 20 64 6f 63 75 6d 65 6e 74 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 | he.TOC.document."...(interactive |
| 6760 | 29 0a 20 20 28 6c 65 74 20 28 28 69 6e 64 65 78 20 28 6e 6f 76 2d 66 69 6e 64 2d 64 6f 63 75 6d | )...(let.((index.(nov-find-docum |
| 6780 | 65 6e 74 20 28 6c 61 6d 62 64 61 20 28 64 6f 63 29 20 28 65 71 20 28 63 61 72 20 64 6f 63 29 20 | ent.(lambda.(doc).(eq.(car.doc). |
| 67a0 | 6e 6f 76 2d 74 6f 63 2d 69 64 29 29 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 69 | nov-toc-id))))).....(when.(not.i |
| 67c0 | 6e 64 65 78 29 0a 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 | ndex).......(error."Couldn't.loc |
| 67e0 | 61 74 65 20 54 4f 43 22 29 29 0a 20 20 20 20 28 6e 6f 76 2d 67 6f 74 6f 2d 64 6f 63 75 6d 65 6e | ate.TOC")).....(nov-goto-documen |
| 6800 | 74 20 69 6e 64 65 78 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 76 69 65 77 2d 73 6f 75 72 | t.index)))..(defun.nov-view-sour |
| 6820 | 63 65 20 28 29 0a 20 20 22 56 69 65 77 20 74 68 65 20 73 6f 75 72 63 65 20 6f 66 20 74 68 65 20 | ce.()..."View.the.source.of.the. |
| 6840 | 63 75 72 72 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 | current.document.in.a.new.buffer |
| 6860 | 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 66 69 6e 64 2d 66 69 6c 65 20 | ."...(interactive)...(find-file. |
| 6880 | 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 6e 6f 76 2d 64 6f 63 | (cdr.(aref.nov-documents.nov-doc |
| 68a0 | 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 76 2d 76 69 65 | uments-index))))..(defun.nov-vie |
| 68c0 | 77 2d 63 6f 6e 74 65 6e 74 2d 73 6f 75 72 63 65 20 28 29 0a 20 20 22 56 69 65 77 20 74 68 65 20 | w-content-source.()..."View.the. |
| 68e0 | 73 6f 75 72 63 65 20 6f 66 20 74 68 65 20 63 6f 6e 74 65 6e 74 20 66 69 6c 65 20 69 6e 20 61 20 | source.of.the.content.file.in.a. |
| 6900 | 6e 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 | new.buffer."...(interactive)...( |
| 6920 | 66 69 6e 64 2d 66 69 6c 65 20 6e 6f 76 2d 63 6f 6e 74 65 6e 74 2d 66 69 6c 65 29 29 0a 0a 28 64 | find-file.nov-content-file))..(d |
| 6940 | 65 66 75 6e 20 6e 6f 76 2d 72 65 6f 70 65 6e 2d 61 73 2d 61 72 63 68 69 76 65 20 28 29 0a 20 20 | efun.nov-reopen-as-archive.()... |
| 6960 | 22 52 65 6f 70 65 6e 20 74 68 65 20 45 50 55 42 20 64 6f 63 75 6d 65 6e 74 20 75 73 69 6e 67 20 | "Reopen.the.EPUB.document.using. |
| 6980 | 60 61 72 63 68 69 76 65 2d 6d 6f 64 65 27 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 | `archive-mode'."...(interactive) |
| 69a0 | 0a 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28 66 69 6e 64 2d 66 69 | ...(with-current-buffer.(find-fi |
| 69c0 | 6c 65 2d 6c 69 74 65 72 61 6c 6c 79 20 6e 6f 76 2d 66 69 6c 65 2d 6e 61 6d 65 29 0a 20 20 20 20 | le-literally.nov-file-name)..... |
| 69e0 | 28 61 72 63 68 69 76 65 2d 6d 6f 64 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 64 69 73 | (archive-mode)))..(defun.nov-dis |
| 6a00 | 70 6c 61 79 2d 6d 65 74 61 64 61 74 61 20 28 29 0a 20 20 22 56 69 65 77 20 74 68 65 20 6d 65 74 | play-metadata.()..."View.the.met |
| 6a20 | 61 64 61 74 61 20 6f 66 20 74 68 65 20 45 50 55 42 20 64 6f 63 75 6d 65 6e 74 20 69 6e 20 61 20 | adata.of.the.EPUB.document.in.a. |
| 6a40 | 6e 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 | new.buffer."...(interactive)...( |
| 6a60 | 6c 65 74 20 28 28 62 75 66 66 65 72 20 22 2a 45 50 55 42 20 6d 65 74 61 64 61 74 61 2a 22 29 0a | let.((buffer."*EPUB.metadata*"). |
| 6a80 | 20 20 20 20 20 20 20 20 28 6d 65 74 61 64 61 74 61 20 6e 6f 76 2d 6d 65 74 61 64 61 74 61 29 0a | ........(metadata.nov-metadata). |
| 6aa0 | 20 20 20 20 20 20 20 20 28 76 65 72 73 69 6f 6e 20 6e 6f 76 2d 65 70 75 62 2d 76 65 72 73 69 6f | ........(version.nov-epub-versio |
| 6ac0 | 6e 29 29 0a 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28 67 65 | n)).....(with-current-buffer.(ge |
| 6ae0 | 74 2d 62 75 66 66 65 72 2d 63 72 65 61 74 65 20 62 75 66 66 65 72 29 0a 20 20 20 20 20 20 28 73 | t-buffer-create.buffer).......(s |
| 6b00 | 70 65 63 69 61 6c 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 62 75 66 66 65 72 2d | pecial-mode).......(let.(buffer- |
| 6b20 | 72 65 61 64 2d 6f 6e 6c 79 29 0a 20 20 20 20 20 20 20 20 28 65 72 61 73 65 2d 62 75 66 66 65 72 | read-only).........(erase-buffer |
| 6b40 | 29 0a 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 66 6f 72 6d 61 74 20 22 45 50 55 42 20 | ).........(insert.(format."EPUB. |
| 6b60 | 56 65 72 73 69 6f 6e 3a 20 25 73 5c 6e 22 20 76 65 72 73 69 6f 6e 29 29 0a 20 20 20 20 20 20 20 | Version:.%s\n".version))........ |
| 6b80 | 20 28 64 6f 6c 69 73 74 20 28 69 74 65 6d 20 6d 65 74 61 64 61 74 61 29 0a 20 20 20 20 20 20 20 | .(dolist.(item.metadata)........ |
| 6ba0 | 20 20 20 28 73 65 71 2d 6c 65 74 20 28 6b 65 79 20 26 72 65 73 74 20 76 61 6c 75 65 29 20 69 74 | ...(seq-let.(key.&rest.value).it |
| 6bc0 | 65 6d 0a 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 20 22 | em.............(insert.(format." |
| 6be0 | 25 73 3a 20 22 20 28 63 61 70 69 74 61 6c 69 7a 65 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 6b | %s:.".(capitalize.(symbol-name.k |
| 6c00 | 65 79 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 76 61 6c 75 65 0a 20 20 20 | ey)))).............(if.value.... |
| 6c20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 65 71 20 6b 65 79 20 27 64 65 73 63 72 69 | .............(if.(eq.key.'descri |
| 6c40 | 70 74 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 | ption).....................(let. |
| 6c60 | 28 28 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 20 20 20 20 20 | ((beg.(point)))................. |
| 6c80 | 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 76 61 6c 75 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 | ......(insert.value)............ |
| 6ca0 | 20 20 20 20 20 20 20 20 20 20 20 28 73 68 72 2d 72 65 6e 64 65 72 2d 72 65 67 69 6f 6e 20 62 65 | ...........(shr-render-region.be |
| 6cc0 | 67 20 28 70 6f 69 6e 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 | g.(point)))...................(i |
| 6ce0 | 6e 73 65 72 74 20 28 66 6f 72 6d 61 74 20 22 25 73 22 20 76 61 6c 75 65 29 29 29 0a 20 20 20 20 | nsert.(format."%s".value)))..... |
| 6d00 | 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 70 72 6f 70 65 72 74 69 7a 65 20 22 4e | ..........(insert.(propertize."N |
| 6d20 | 6f 6e 65 22 20 27 66 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 | one".'face.'italic)))........... |
| 6d40 | 20 20 28 69 6e 73 65 72 74 20 22 5c 6e 22 29 29 29 0a 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d | ..(insert."\n"))).........(goto- |
| 6d60 | 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 29 29 0a 20 20 20 20 28 70 6f 70 2d 74 6f 2d | char.(point-min)))).....(pop-to- |
| 6d80 | 62 75 66 66 65 72 20 62 75 66 66 65 72 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 6e 65 78 | buffer.buffer)))..(defun.nov-nex |
| 6da0 | 74 2d 64 6f 63 75 6d 65 6e 74 20 28 26 6f 70 74 69 6f 6e 61 6c 20 63 6f 75 6e 74 29 0a 20 20 22 | t-document.(&optional.count)..." |
| 6dc0 | 47 6f 20 74 6f 20 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 | Go.to.the.next.document.and.rend |
| 6de0 | 65 72 20 69 74 2e 0a 54 61 6b 65 73 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 43 4f 55 4e 54 2c 20 | er.it..Takes.an.optional.COUNT,. |
| 6e00 | 67 6f 65 73 20 62 61 63 6b 77 61 72 64 20 69 66 20 43 4f 55 4e 54 20 69 73 20 6e 65 67 61 74 69 | goes.backward.if.COUNT.is.negati |
| 6e20 | 76 65 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 70 22 29 0a 20 20 28 6e 6f 76 2d | ve."...(interactive."p")...(nov- |
| 6e40 | 67 6f 74 6f 2d 64 6f 63 75 6d 65 6e 74 20 28 6d 69 6e 20 28 31 2d 20 28 6c 65 6e 67 74 68 20 6e | goto-document.(min.(1-.(length.n |
| 6e60 | 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ov-documents)).................. |
| 6e80 | 20 20 20 20 20 20 20 20 20 28 2b 20 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 2d 69 6e 64 65 78 20 | .........(+.nov-documents-index. |
| 6ea0 | 28 6f 72 20 63 6f 75 6e 74 20 31 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 70 72 65 | (or.count.1)))))..(defun.nov-pre |
| 6ec0 | 76 69 6f 75 73 2d 64 6f 63 75 6d 65 6e 74 20 28 26 6f 70 74 69 6f 6e 61 6c 20 63 6f 75 6e 74 29 | vious-document.(&optional.count) |
| 6ee0 | 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 20 | ..."Go.to.the.previous.document. |
| 6f00 | 61 6e 64 20 72 65 6e 64 65 72 20 69 74 2e 0a 54 61 6b 65 73 20 61 6e 20 6f 70 74 69 6f 6e 61 6c | and.render.it..Takes.an.optional |
| 6f20 | 20 43 4f 55 4e 54 2c 20 67 6f 65 73 20 66 6f 72 77 61 72 64 20 69 66 20 43 4f 55 4e 54 20 69 73 | .COUNT,.goes.forward.if.COUNT.is |
| 6f40 | 20 6e 65 67 61 74 69 76 65 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 70 22 29 0a | .negative."...(interactive."p"). |
| 6f60 | 20 20 28 6e 6f 76 2d 67 6f 74 6f 2d 64 6f 63 75 6d 65 6e 74 20 28 6d 61 78 20 30 20 28 2d 20 6e | ..(nov-goto-document.(max.0.(-.n |
| 6f80 | 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 2d 69 6e 64 65 78 20 28 6f 72 20 63 6f 75 6e 74 20 31 29 29 | ov-documents-index.(or.count.1)) |
| 6fa0 | 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 73 63 72 6f 6c 6c 2d 75 70 20 28 61 72 67 29 0a | )))..(defun.nov-scroll-up.(arg). |
| 6fc0 | 20 20 22 53 63 72 6f 6c 6c 20 77 69 74 68 20 60 73 63 72 6f 6c 6c 2d 75 70 27 20 6f 72 20 76 69 | .."Scroll.with.`scroll-up'.or.vi |
| 6fe0 | 73 69 74 20 6e 65 78 74 20 63 68 61 70 74 65 72 20 69 66 20 61 74 20 62 6f 74 74 6f 6d 2e 22 0a | sit.next.chapter.if.at.bottom.". |
| 7000 | 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 50 22 29 0a 20 20 28 69 66 20 28 3e 3d 20 28 77 | ..(interactive."P")...(if.(>=.(w |
| 7020 | 69 6e 64 6f 77 2d 65 6e 64 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 20 20 28 6e | indow-end).(point-max)).......(n |
| 7040 | 6f 76 2d 6e 65 78 74 2d 64 6f 63 75 6d 65 6e 74 29 0a 20 20 20 20 28 73 63 72 6f 6c 6c 2d 75 70 | ov-next-document).....(scroll-up |
| 7060 | 20 61 72 67 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 73 63 72 6f 6c 6c 2d 64 6f 77 6e 20 | .arg)))..(defun.nov-scroll-down. |
| 7080 | 28 61 72 67 29 0a 20 20 22 53 63 72 6f 6c 6c 20 77 69 74 68 20 60 73 63 72 6f 6c 6c 2d 64 6f 77 | (arg)..."Scroll.with.`scroll-dow |
| 70a0 | 6e 27 20 6f 72 20 76 69 73 69 74 20 70 72 65 76 69 6f 75 73 20 63 68 61 70 74 65 72 20 69 66 20 | n'.or.visit.previous.chapter.if. |
| 70c0 | 61 74 20 74 6f 70 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 50 22 29 0a 20 20 28 | at.top."...(interactive."P")...( |
| 70e0 | 69 66 20 28 61 6e 64 20 28 3c 3d 20 28 77 69 6e 64 6f 77 2d 73 74 61 72 74 29 20 28 70 6f 69 6e | if.(and.(<=.(window-start).(poin |
| 7100 | 74 2d 6d 69 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 3e 20 6e 6f 76 2d 64 6f 63 75 6d 65 | t-min))............(>.nov-docume |
| 7120 | 6e 74 73 2d 69 6e 64 65 78 20 30 29 29 0a 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 | nts-index.0)).......(progn...... |
| 7140 | 20 20 20 28 6e 6f 76 2d 70 72 65 76 69 6f 75 73 2d 64 6f 63 75 6d 65 6e 74 29 0a 20 20 20 20 20 | ...(nov-previous-document)...... |
| 7160 | 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 29 0a 20 20 20 20 | ...(goto-char.(point-max)))..... |
| 7180 | 28 73 63 72 6f 6c 6c 2d 64 6f 77 6e 20 61 72 67 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d | (scroll-down.arg)))..(defun.nov- |
| 71a0 | 76 69 73 69 74 2d 72 65 6c 61 74 69 76 65 2d 66 69 6c 65 20 28 66 69 6c 65 6e 61 6d 65 20 74 61 | visit-relative-file.(filename.ta |
| 71c0 | 72 67 65 74 29 0a 20 20 22 56 69 73 69 74 20 74 68 65 20 64 6f 63 75 6d 65 6e 74 20 61 73 20 73 | rget)..."Visit.the.document.as.s |
| 71e0 | 70 65 63 69 66 69 65 64 20 62 79 20 46 49 4c 45 4e 41 4d 45 20 61 6e 64 20 54 41 52 47 45 54 2e | pecified.by.FILENAME.and.TARGET. |
| 7200 | 22 0a 20 20 28 6c 65 74 20 28 69 6e 64 65 78 29 0a 20 20 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 | "...(let.(index).....(when.(not. |
| 7220 | 28 7a 65 72 6f 70 20 28 6c 65 6e 67 74 68 20 66 69 6c 65 6e 61 6d 65 29 29 29 0a 20 20 20 20 20 | (zerop.(length.filename)))...... |
| 7240 | 20 28 6c 65 74 2a 20 28 28 63 75 72 72 65 6e 74 2d 70 61 74 68 20 28 63 64 72 20 28 61 72 65 66 | .(let*.((current-path.(cdr.(aref |
| 7260 | 20 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 20 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 2d 69 6e 64 | .nov-documents.nov-documents-ind |
| 7280 | 65 78 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 69 72 65 63 74 6f 72 79 20 28 66 | ex)))..............(directory.(f |
| 72a0 | 69 6c 65 2d 6e 61 6d 65 2d 64 69 72 65 63 74 6f 72 79 20 63 75 72 72 65 6e 74 2d 70 61 74 68 29 | ile-name-directory.current-path) |
| 72c0 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 61 74 68 20 28 66 69 6c 65 2d 74 72 75 65 6e | )..............(path.(file-truen |
| 72e0 | 61 6d 65 20 28 6e 6f 76 2d 6d 61 6b 65 2d 70 61 74 68 20 64 69 72 65 63 74 6f 72 79 20 66 69 6c | ame.(nov-make-path.directory.fil |
| 7300 | 65 6e 61 6d 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 20 28 6e 6f | ename)))..............(match.(no |
| 7320 | 76 2d 66 69 6e 64 2d 64 6f 63 75 6d 65 6e 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | v-find-document................. |
| 7340 | 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 64 6f 63 29 20 28 65 71 75 61 6c 20 70 61 74 68 20 28 | .....(lambda.(doc).(equal.path.( |
| 7360 | 66 69 6c 65 2d 74 72 75 65 6e 61 6d 65 20 28 63 64 72 20 64 6f 63 29 29 29 29 29 29 29 0a 20 20 | file-truename.(cdr.doc)))))))... |
| 7380 | 20 20 20 20 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 6d 61 74 63 68 29 0a 20 20 20 20 20 20 20 20 | ......(when.(not.match)......... |
| 73a0 | 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 20 64 6f 63 75 6d 65 | ..(error."Couldn't.locate.docume |
| 73c0 | 6e 74 22 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 69 6e 64 65 78 20 6d 61 74 63 68 29 | nt")).........(setq.index.match) |
| 73e0 | 29 29 0a 20 20 20 20 3b 3b 20 48 41 43 4b 3a 20 74 68 69 73 20 62 69 6e 64 69 6e 67 20 69 73 20 | )).....;;.HACK:.this.binding.is. |
| 7400 | 6f 6e 6c 79 20 6e 65 65 64 20 66 6f 72 20 45 6d 61 63 73 20 32 37 2e 31 20 61 6e 64 20 6f 6c 64 | only.need.for.Emacs.27.1.and.old |
| 7420 | 65 72 2c 20 61 73 20 6f 66 0a 20 20 20 20 3b 3b 20 45 6d 61 63 73 20 32 38 2e 31 2c 20 73 68 72 | er,.as.of.....;;.Emacs.28.1,.shr |
| 7440 | 2e 65 6c 20 61 6c 77 61 79 73 20 61 64 64 73 20 74 68 65 20 73 68 72 2d 74 61 72 67 65 74 2d 69 | .el.always.adds.the.shr-target-i |
| 7460 | 64 20 70 72 6f 70 65 72 74 79 0a 20 20 20 20 28 6c 65 74 20 28 28 73 68 72 2d 74 61 72 67 65 74 | d.property.....(let.((shr-target |
| 7480 | 2d 69 64 20 74 61 72 67 65 74 29 29 0a 20 20 20 20 20 20 28 6e 6f 76 2d 67 6f 74 6f 2d 64 6f 63 | -id.target)).......(nov-goto-doc |
| 74a0 | 75 6d 65 6e 74 20 28 6f 72 20 69 6e 64 65 78 20 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 2d 69 6e | ument.(or.index.nov-documents-in |
| 74c0 | 64 65 78 29 29 29 29 0a 20 20 28 77 68 65 6e 20 74 61 72 67 65 74 0a 20 20 20 20 28 6c 65 74 20 | dex))))...(when.target.....(let. |
| 74e0 | 28 28 70 6f 73 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 64 6f 6e | ((pos.(point-min))...........don |
| 7500 | 65 29 0a 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 61 6e 64 20 28 6e 6f 74 20 64 6f 6e 65 29 0a | e).......(while.(and.(not.done). |
| 7520 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 70 6f 73 20 28 6e 65 78 | ..................(setq.pos.(nex |
| 7540 | 74 2d 73 69 6e 67 6c 65 2d 70 72 6f 70 65 72 74 79 2d 63 68 61 6e 67 65 20 70 6f 73 20 27 73 68 | t-single-property-change.pos.'sh |
| 7560 | 72 2d 74 61 72 67 65 74 2d 69 64 29 29 29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 70 72 | r-target-id))).........(let.((pr |
| 7580 | 6f 70 65 72 74 79 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 70 6f 73 20 27 73 | operty.(get-text-property.pos.'s |
| 75a0 | 68 72 2d 74 61 72 67 65 74 2d 69 64 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 | hr-target-id)))...........(when. |
| 75c0 | 28 6f 72 20 28 65 71 75 61 6c 20 70 72 6f 70 65 72 74 79 20 74 61 72 67 65 74 29 0a 20 20 20 20 | (or.(equal.property.target)..... |
| 75e0 | 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 61 73 20 6f 66 20 45 | ................;;.NOTE:.as.of.E |
| 7600 | 6d 61 63 73 20 32 38 2e 31 20 74 68 69 73 20 6d 61 79 20 62 65 20 61 20 6c 69 73 74 20 6f 66 20 | macs.28.1.this.may.be.a.list.of. |
| 7620 | 74 61 72 67 65 74 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 | targets.....................(and |
| 7640 | 20 28 63 6f 6e 73 70 20 70 72 6f 70 65 72 74 79 29 20 28 6d 65 6d 62 65 72 20 74 61 72 67 65 74 | .(consp.property).(member.target |
| 7660 | 20 70 72 6f 70 65 72 74 79 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 | .property))).............(goto-c |
| 7680 | 68 61 72 20 70 6f 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 63 65 6e 74 65 72 20 28 | har.pos).............(recenter.( |
| 76a0 | 31 2d 20 28 6d 61 78 20 31 20 73 63 72 6f 6c 6c 2d 6d 61 72 67 69 6e 29 29 29 0a 20 20 20 20 20 | 1-.(max.1.scroll-margin)))...... |
| 76c0 | 20 20 20 20 20 20 20 28 73 65 74 71 20 64 6f 6e 65 20 74 29 29 29 29 0a 20 20 20 20 20 20 28 77 | .......(setq.done.t)))).......(w |
| 76e0 | 68 65 6e 20 28 6e 6f 74 20 64 6f 6e 65 29 0a 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 43 | hen.(not.done).........(error."C |
| 7700 | 6f 75 6c 64 6e 27 74 20 6c 6f 63 61 74 65 20 74 61 72 67 65 74 22 29 29 29 29 29 0a 0a 3b 3b 20 | ouldn't.locate.target")))))..;;. |
| 7720 | 61 64 61 70 74 65 64 20 66 72 6f 6d 20 60 73 68 72 2d 62 72 6f 77 73 65 2d 75 72 6c 27 0a 28 64 | adapted.from.`shr-browse-url'.(d |
| 7740 | 65 66 75 6e 20 6e 6f 76 2d 62 72 6f 77 73 65 2d 75 72 6c 20 28 26 6f 70 74 69 6f 6e 61 6c 20 6d | efun.nov-browse-url.(&optional.m |
| 7760 | 6f 75 73 65 2d 65 76 65 6e 74 29 0a 20 20 22 46 6f 6c 6c 6f 77 20 61 6e 20 65 78 74 65 72 6e 61 | ouse-event)..."Follow.an.externa |
| 7780 | 6c 20 75 72 6c 20 77 69 74 68 20 60 62 72 6f 77 73 65 2d 75 72 6c 27 2e 0a 49 6e 74 65 72 6e 61 | l.url.with.`browse-url'..Interna |
| 77a0 | 6c 20 55 52 4c 73 20 61 72 65 20 76 69 73 69 74 65 64 20 77 69 74 68 20 60 6e 6f 76 2d 76 69 73 | l.URLs.are.visited.with.`nov-vis |
| 77c0 | 69 74 2d 72 65 6c 61 74 69 76 65 2d 66 69 6c 65 27 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 | it-relative-file'."...(interacti |
| 77e0 | 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 20 | ve.(list.last-nonmenu-event))... |
| 7800 | 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 20 | (mouse-set-point.mouse-event)... |
| 7820 | 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 70 | (let.((url.(get-text-property.(p |
| 7840 | 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 74 | oint).'shr-url))).....(when.(not |
| 7860 | 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 6b | .url).......(user-error."No.link |
| 7880 | 20 75 6e 64 65 72 20 70 6f 69 6e 74 22 29 29 0a 20 20 20 20 28 69 66 20 28 6e 6f 76 2d 65 78 74 | .under.point")).....(if.(nov-ext |
| 78a0 | 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 28 62 72 6f 77 73 65 | ernal-url-p.url).........(browse |
| 78c0 | 2d 75 72 6c 20 75 72 6c 29 0a 20 20 20 20 20 20 28 61 70 70 6c 79 20 27 6e 6f 76 2d 76 69 73 69 | -url.url).......(apply.'nov-visi |
| 78e0 | 74 2d 72 65 6c 61 74 69 76 65 2d 66 69 6c 65 20 28 6e 6f 76 2d 75 72 6c 2d 66 69 6c 65 6e 61 6d | t-relative-file.(nov-url-filenam |
| 7900 | 65 2d 61 6e 64 2d 74 61 72 67 65 74 20 75 72 6c 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f | e-and-target.url)))))..(defun.no |
| 7920 | 76 2d 63 6f 70 79 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 | v-copy-url.(&optional.mouse-even |
| 7940 | 74 29 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 6e 6f 6e | t)...(interactive.(list.last-non |
| 7960 | 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 6e 74 20 | menu-event))...(mouse-set-point. |
| 7980 | 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 74 2d 74 | mouse-event)...(let.((url.(get-t |
| 79a0 | 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 29 29 29 | ext-property.(point).'shr-url))) |
| 79c0 | 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 73 65 72 | .....(when.(not.url).......(user |
| 79e0 | 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 29 0a 20 | -error."No.link.under.point")).. |
| 7a00 | 20 20 20 28 6b 69 6c 6c 2d 6e 65 77 20 75 72 6c 29 0a 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 | ...(kill-new.url).....(message." |
| 7a20 | 25 73 22 20 75 72 6c 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 73 61 76 65 64 2d 70 6c 61 | %s".url)))..(defun.nov-saved-pla |
| 7a40 | 63 65 73 20 28 29 0a 20 20 22 52 65 74 72 69 65 76 65 20 73 61 76 65 64 20 70 6c 61 63 65 73 20 | ces.()..."Retrieve.saved.places. |
| 7a60 | 69 6e 20 60 6e 6f 76 2d 73 61 76 65 2d 70 6c 61 63 65 2d 66 69 6c 65 27 2e 22 0a 20 20 28 77 68 | in.`nov-save-place-file'."...(wh |
| 7a80 | 65 6e 20 28 61 6e 64 20 6e 6f 76 2d 73 61 76 65 2d 70 6c 61 63 65 2d 66 69 6c 65 20 28 66 69 6c | en.(and.nov-save-place-file.(fil |
| 7aa0 | 65 2d 65 78 69 73 74 73 2d 70 20 6e 6f 76 2d 73 61 76 65 2d 70 6c 61 63 65 2d 66 69 6c 65 29 29 | e-exists-p.nov-save-place-file)) |
| 7ac0 | 0a 20 20 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 28 69 6e | .....(with-temp-buffer.......(in |
| 7ae0 | 73 65 72 74 2d 66 69 6c 65 2d 63 6f 6e 74 65 6e 74 73 2d 6c 69 74 65 72 61 6c 6c 79 20 6e 6f 76 | sert-file-contents-literally.nov |
| 7b00 | 2d 73 61 76 65 2d 70 6c 61 63 65 2d 66 69 6c 65 29 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 | -save-place-file).......(goto-ch |
| 7b20 | 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 20 20 28 63 6f 6e 64 69 74 69 6f 6e | ar.(point-min)).......(condition |
| 7b40 | 2d 63 61 73 65 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 28 72 65 61 64 20 28 63 75 72 72 65 | -case.nil...........(read.(curre |
| 7b60 | 6e 74 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 0a 20 20 20 20 20 | nt-buffer)).........(error...... |
| 7b80 | 20 20 20 20 28 6e 6f 76 2d 77 61 72 6e 20 22 46 61 69 6c 65 64 20 74 6f 20 72 65 74 72 69 65 76 | ....(nov-warn."Failed.to.retriev |
| 7ba0 | 65 20 73 61 76 65 64 20 70 6c 61 63 65 73 20 66 72 6f 6d 20 60 6e 6f 76 2d 73 61 76 65 2d 70 6c | e.saved.places.from.`nov-save-pl |
| 7bc0 | 61 63 65 2d 66 69 6c 65 27 22 29 0a 20 20 20 20 20 20 20 20 20 6e 69 6c 29 29 29 29 29 0a 0a 28 | ace-file'")..........nil)))))..( |
| 7be0 | 64 65 66 75 6e 20 6e 6f 76 2d 73 61 76 65 64 2d 70 6c 61 63 65 20 28 69 64 65 6e 74 69 66 69 65 | defun.nov-saved-place.(identifie |
| 7c00 | 72 29 0a 20 20 22 52 65 74 72 69 65 76 65 20 73 61 76 65 64 20 70 6c 61 63 65 20 66 6f 72 20 49 | r)..."Retrieve.saved.place.for.I |
| 7c20 | 44 45 4e 54 49 46 49 45 52 20 69 6e 20 60 6e 6f 76 2d 73 61 76 65 64 2d 70 6c 61 63 65 2d 66 69 | DENTIFIER.in.`nov-saved-place-fi |
| 7c40 | 6c 65 27 2e 22 0a 20 20 28 63 64 72 20 28 61 73 73 71 20 69 64 65 6e 74 69 66 69 65 72 20 28 6e | le'."...(cdr.(assq.identifier.(n |
| 7c60 | 6f 76 2d 73 61 76 65 64 2d 70 6c 61 63 65 73 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d | ov-saved-places))))..(defun.nov- |
| 7c80 | 73 61 76 65 2d 70 6c 61 63 65 20 28 69 64 65 6e 74 69 66 69 65 72 20 69 6e 64 65 78 20 70 6f 69 | save-place.(identifier.index.poi |
| 7ca0 | 6e 74 29 0a 20 20 22 53 61 76 65 20 70 6c 61 63 65 20 61 73 20 69 64 65 6e 74 69 66 69 65 64 20 | nt)..."Save.place.as.identified. |
| 7cc0 | 62 79 20 49 44 45 4e 54 49 46 49 45 52 2c 20 49 4e 44 45 58 20 61 6e 64 20 50 4f 49 4e 54 2e 0a | by.IDENTIFIER,.INDEX.and.POINT.. |
| 7ce0 | 53 61 76 69 6e 67 20 69 73 20 6f 6e 6c 79 20 64 6f 6e 65 20 69 66 20 60 6e 6f 76 2d 73 61 76 65 | Saving.is.only.done.if.`nov-save |
| 7d00 | 2d 70 6c 61 63 65 2d 66 69 6c 65 27 20 69 73 20 73 65 74 2e 22 0a 20 20 28 77 68 65 6e 20 6e 6f | -place-file'.is.set."...(when.no |
| 7d20 | 76 2d 73 61 76 65 2d 70 6c 61 63 65 2d 66 69 6c 65 0a 20 20 20 20 28 6c 65 74 2a 20 28 28 70 6c | v-save-place-file.....(let*.((pl |
| 7d40 | 61 63 65 20 60 28 2c 69 64 65 6e 74 69 66 69 65 72 20 28 69 6e 64 65 78 20 2e 20 2c 69 6e 64 65 | ace.`(,identifier.(index...,inde |
| 7d60 | 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | x).............................. |
| 7d80 | 20 20 20 28 70 6f 69 6e 74 20 2e 20 2c 70 6f 69 6e 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 | ...(point...,point)))........... |
| 7da0 | 20 28 70 6c 61 63 65 73 20 28 63 6f 6e 73 20 70 6c 61 63 65 20 28 61 73 73 71 2d 64 65 6c 65 74 | .(places.(cons.place.(assq-delet |
| 7dc0 | 65 2d 61 6c 6c 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 | e-all.identifier.(nov-saved-plac |
| 7de0 | 65 73 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 70 72 69 6e 74 2d 6c 65 76 65 6c 0a 20 20 | es))))............print-level... |
| 7e00 | 20 20 20 20 20 20 20 20 20 70 72 69 6e 74 2d 6c 65 6e 67 74 68 29 0a 20 20 20 20 20 20 28 77 69 | .........print-length).......(wi |
| 7e20 | 74 68 2d 74 65 6d 70 2d 66 69 6c 65 20 6e 6f 76 2d 73 61 76 65 2d 70 6c 61 63 65 2d 66 69 6c 65 | th-temp-file.nov-save-place-file |
| 7e40 | 0a 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 70 72 69 6e 31 2d 74 6f 2d 73 74 72 69 6e | .........(insert.(prin1-to-strin |
| 7e60 | 67 20 70 6c 61 63 65 73 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 2d 69 6e 64 65 | g.places))))))..(defun.nov--inde |
| 7e80 | 78 2d 76 61 6c 69 64 2d 70 20 28 64 6f 63 75 6d 65 6e 74 73 20 69 6e 64 65 78 29 0a 20 20 28 61 | x-valid-p.(documents.index)...(a |
| 7ea0 | 6e 64 20 28 69 6e 74 65 67 65 72 70 20 69 6e 64 65 78 29 0a 20 20 20 20 20 20 20 28 3e 3d 20 69 | nd.(integerp.index)........(>=.i |
| 7ec0 | 6e 64 65 78 20 30 29 0a 20 20 20 20 20 20 20 28 3c 20 69 6e 64 65 78 20 28 6c 65 6e 67 74 68 20 | ndex.0)........(<.index.(length. |
| 7ee0 | 64 6f 63 75 6d 65 6e 74 73 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 68 69 73 74 6f 72 | documents))))..(defun.nov-histor |
| 7f00 | 79 2d 62 61 63 6b 20 28 29 0a 20 20 22 47 6f 20 62 61 63 6b 20 69 6e 20 74 68 65 20 68 69 73 74 | y-back.()..."Go.back.in.the.hist |
| 7f20 | 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 65 6e 74 | ory.to.the.last.visited.document |
| 7f40 | 2e 22 0a 20 20 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 | ."...(interactive)...(or.nov-his |
| 7f60 | 74 6f 72 79 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 69 73 20 | tory.......(user-error."This.is. |
| 7f80 | 74 68 65 20 66 69 72 73 74 20 64 6f 63 75 6d 65 6e 74 20 79 6f 75 20 6c 6f 6f 6b 65 64 20 61 74 | the.first.document.you.looked.at |
| 7fa0 | 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 63 6f | "))...(let.((history-forward.(co |
| 7fc0 | 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 70 6f | ns.(list.nov-documents-index.(po |
| 7fe0 | 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 20 20 | int))........................... |
| 8000 | 20 20 20 20 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 | .....nov-history-forward)))..... |
| 8020 | 28 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 | (seq-let.(index.opoint).(car.nov |
| 8040 | 2d 68 69 73 74 6f 72 79 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6e 6f 76 2d 68 69 73 74 6f 72 | -history).......(setq.nov-histor |
| 8060 | 79 20 28 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 6e 6f 76 2d | y.(cdr.nov-history)).......(nov- |
| 8080 | 67 6f 74 6f 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 | goto-document.index).......(setq |
| 80a0 | 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 74 6f 72 79 29 29 0a | .nov-history.(cdr.nov-history)). |
| 80c0 | 20 20 20 20 20 20 28 73 65 74 71 20 6e 6f 76 2d 68 69 73 74 6f 72 79 2d 66 6f 72 77 61 72 64 20 | ......(setq.nov-history-forward. |
| 80e0 | 68 69 73 74 6f 72 79 2d 66 6f 72 77 61 72 64 29 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 | history-forward).......(goto-cha |
| 8100 | 72 20 6f 70 6f 69 6e 74 29 0a 20 20 20 20 20 20 28 72 65 63 65 6e 74 65 72 20 28 31 2d 20 28 6d | r.opoint).......(recenter.(1-.(m |
| 8120 | 61 78 20 31 20 73 63 72 6f 6c 6c 2d 6d 61 72 67 69 6e 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e | ax.1.scroll-margin))))))..(defun |
| 8140 | 20 6e 6f 76 2d 68 69 73 74 6f 72 79 2d 66 6f 72 77 61 72 64 20 28 29 0a 20 20 22 47 6f 20 66 6f | .nov-history-forward.()..."Go.fo |
| 8160 | 72 77 61 72 64 20 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 | rward.in.the.history.of.visited. |
| 8180 | 64 6f 63 75 6d 65 6e 74 73 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6f | documents."...(interactive)...(o |
| 81a0 | 72 20 6e 6f 76 2d 68 69 73 74 6f 72 79 2d 66 6f 72 77 61 72 64 0a 20 20 20 20 20 20 28 75 73 65 | r.nov-history-forward.......(use |
| 81c0 | 72 2d 65 72 72 6f 72 20 22 54 68 69 73 20 69 73 20 74 68 65 20 6c 61 73 74 20 64 6f 63 75 6d 65 | r-error."This.is.the.last.docume |
| 81e0 | 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 69 73 | nt.you.looked.at"))...(let.((his |
| 8200 | 74 6f 72 79 2d 66 6f 72 77 61 72 64 20 28 63 64 72 20 6e 6f 76 2d 68 69 73 74 6f 72 79 2d 66 6f | tory-forward.(cdr.nov-history-fo |
| 8220 | 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 78 20 6f 70 6f | rward))).....(seq-let.(index.opo |
| 8240 | 69 6e 74 29 20 28 63 61 72 20 6e 6f 76 2d 68 69 73 74 6f 72 79 2d 66 6f 72 77 61 72 64 29 0a 20 | int).(car.nov-history-forward).. |
| 8260 | 20 20 20 20 20 28 6e 6f 76 2d 67 6f 74 6f 2d 64 6f 63 75 6d 65 6e 74 20 69 6e 64 65 78 29 0a 20 | .....(nov-goto-document.index).. |
| 8280 | 20 20 20 20 20 28 73 65 74 71 20 6e 6f 76 2d 68 69 73 74 6f 72 79 2d 66 6f 72 77 61 72 64 20 68 | .....(setq.nov-history-forward.h |
| 82a0 | 69 73 74 6f 72 79 2d 66 6f 72 77 61 72 64 29 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 | istory-forward).......(goto-char |
| 82c0 | 20 6f 70 6f 69 6e 74 29 0a 20 20 20 20 20 20 28 72 65 63 65 6e 74 65 72 20 28 31 2d 20 28 6d 61 | .opoint).......(recenter.(1-.(ma |
| 82e0 | 78 20 31 20 73 63 72 6f 6c 6c 2d 6d 61 72 67 69 6e 29 29 29 29 29 29 0a 0a 3b 3b 3b 23 23 23 61 | x.1.scroll-margin))))))..;;;###a |
| 8300 | 75 74 6f 6c 6f 61 64 0a 28 64 65 66 69 6e 65 2d 64 65 72 69 76 65 64 2d 6d 6f 64 65 20 6e 6f 76 | utoload.(define-derived-mode.nov |
| 8320 | 2d 6d 6f 64 65 20 73 70 65 63 69 61 6c 2d 6d 6f 64 65 20 22 45 50 55 42 22 0a 20 20 22 4d 61 6a | -mode.special-mode."EPUB"..."Maj |
| 8340 | 6f 72 20 6d 6f 64 65 20 66 6f 72 20 72 65 61 64 69 6e 67 20 45 50 55 42 20 64 6f 63 75 6d 65 6e | or.mode.for.reading.EPUB.documen |
| 8360 | 74 73 22 0a 20 20 28 61 64 64 2d 68 6f 6f 6b 20 27 6b 69 6c 6c 2d 62 75 66 66 65 72 2d 68 6f 6f | ts"...(add-hook.'kill-buffer-hoo |
| 8380 | 6b 20 27 6e 6f 76 2d 63 6c 65 61 6e 2d 75 70 20 6e 69 6c 20 74 29 0a 20 20 28 61 64 64 2d 68 6f | k.'nov-clean-up.nil.t)...(add-ho |
| 83a0 | 6f 6b 20 27 6b 69 6c 6c 2d 65 6d 61 63 73 2d 68 6f 6f 6b 20 27 6e 6f 76 2d 63 6c 65 61 6e 2d 75 | ok.'kill-emacs-hook.'nov-clean-u |
| 83c0 | 70 2d 61 6c 6c 29 0a 20 20 28 61 64 64 2d 68 6f 6f 6b 20 27 63 68 61 6e 67 65 2d 6d 61 6a 6f 72 | p-all)...(add-hook.'change-major |
| 83e0 | 2d 6d 6f 64 65 2d 68 6f 6f 6b 20 27 6e 6f 76 2d 63 6c 65 61 6e 2d 75 70 20 6e 69 6c 20 74 29 0a | -mode-hook.'nov-clean-up.nil.t). |
| 8400 | 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 29 0a 20 | ..(when.(not.buffer-file-name).. |
| 8420 | 20 20 20 28 65 72 72 6f 72 20 22 45 50 55 42 20 6d 75 73 74 20 62 65 20 61 73 73 6f 63 69 61 74 | ...(error."EPUB.must.be.associat |
| 8440 | 65 64 20 77 69 74 68 20 66 69 6c 65 22 29 29 0a 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 6e 6f 76 | ed.with.file"))...(when.(not.nov |
| 8460 | 2d 75 6e 7a 69 70 2d 70 72 6f 67 72 61 6d 29 0a 20 20 20 20 28 65 72 72 6f 72 20 22 75 6e 7a 69 | -unzip-program).....(error."unzi |
| 8480 | 70 20 65 78 65 63 75 74 61 62 6c 65 20 6e 6f 74 20 66 6f 75 6e 64 2c 20 63 75 73 74 6f 6d 69 7a | p.executable.not.found,.customiz |
| 84a0 | 65 20 60 6e 6f 76 2d 75 6e 7a 69 70 2d 70 72 6f 67 72 61 6d 27 22 29 29 0a 20 20 28 73 65 74 71 | e.`nov-unzip-program'"))...(setq |
| 84c0 | 20 6e 6f 76 2d 74 65 6d 70 2d 64 69 72 20 28 6d 61 6b 65 2d 74 65 6d 70 2d 66 69 6c 65 20 22 6e | .nov-temp-dir.(make-temp-file."n |
| 84e0 | 6f 76 2d 22 20 74 20 22 2e 65 70 75 62 22 29 29 0a 20 20 28 6c 65 74 20 28 28 65 78 69 74 2d 63 | ov-".t.".epub"))...(let.((exit-c |
| 8500 | 6f 64 65 20 28 6e 6f 76 2d 75 6e 7a 69 70 2d 65 70 75 62 20 6e 6f 76 2d 74 65 6d 70 2d 64 69 72 | ode.(nov-unzip-epub.nov-temp-dir |
| 8520 | 20 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 | .buffer-file-name))).....(when.( |
| 8540 | 6e 6f 74 20 28 69 6e 74 65 67 65 72 70 20 65 78 69 74 2d 63 6f 64 65 29 29 0a 20 20 20 20 20 20 | not.(integerp.exit-code))....... |
| 8560 | 28 6e 6f 76 2d 63 6c 65 61 6e 2d 75 70 29 0a 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 45 50 55 | (nov-clean-up).......(error."EPU |
| 8580 | 42 20 65 78 74 72 61 63 74 69 6f 6e 20 61 62 6f 72 74 65 64 20 62 79 20 73 69 67 6e 61 6c 20 25 | B.extraction.aborted.by.signal.% |
| 85a0 | 73 22 20 65 78 69 74 2d 63 6f 64 65 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 3e 20 65 78 69 74 | s".exit-code)).....(when.(>.exit |
| 85c0 | 2d 63 6f 64 65 20 31 29 20 3b 20 65 78 69 74 20 63 6f 64 65 20 31 20 69 73 20 6d 6f 73 74 20 6c | -code.1).;.exit.code.1.is.most.l |
| 85e0 | 69 6b 65 6c 79 20 61 20 77 61 72 6e 69 6e 67 0a 20 20 20 20 20 20 28 6e 6f 76 2d 63 6c 65 61 6e | ikely.a.warning.......(nov-clean |
| 8600 | 2d 75 70 29 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 | -up).......(error."EPUB.extracti |
| 8620 | 6f 6e 20 66 61 69 6c 65 64 20 77 69 74 68 20 65 78 69 74 20 63 6f 64 65 20 25 64 20 28 73 65 65 | on.failed.with.exit.code.%d.(see |
| 8640 | 20 2a 6e 6f 76 20 75 6e 7a 69 70 2a 20 62 75 66 66 65 72 29 22 0a 20 20 20 20 20 20 20 20 20 20 | .*nov.unzip*.buffer)"........... |
| 8660 | 20 20 20 65 78 69 74 2d 63 6f 64 65 29 29 29 0a 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 28 6e 6f | ...exit-code)))...(when.(not.(no |
| 8680 | 76 2d 65 70 75 62 2d 76 61 6c 69 64 2d 70 20 6e 6f 76 2d 74 65 6d 70 2d 64 69 72 29 29 0a 20 20 | v-epub-valid-p.nov-temp-dir))... |
| 86a0 | 20 20 28 6e 6f 76 2d 63 6c 65 61 6e 2d 75 70 29 0a 20 20 20 20 28 65 72 72 6f 72 20 22 49 6e 76 | ..(nov-clean-up).....(error."Inv |
| 86c0 | 61 6c 69 64 20 45 50 55 42 20 66 69 6c 65 22 29 29 0a 20 20 28 6c 65 74 2a 20 28 28 63 6f 6e 74 | alid.EPUB.file"))...(let*.((cont |
| 86e0 | 65 6e 74 20 28 6e 6f 76 2d 73 6c 75 72 70 20 28 6e 6f 76 2d 63 6f 6e 74 61 69 6e 65 72 2d 66 69 | ent.(nov-slurp.(nov-container-fi |
| 8700 | 6c 65 6e 61 6d 65 20 6e 6f 76 2d 74 65 6d 70 2d 64 69 72 29 20 74 29 29 0a 20 20 20 20 20 20 20 | lename.nov-temp-dir).t))........ |
| 8720 | 20 20 28 63 6f 6e 74 65 6e 74 2d 66 69 6c 65 2d 6e 61 6d 65 20 28 6e 6f 76 2d 63 6f 6e 74 61 69 | ..(content-file-name.(nov-contai |
| 8740 | 6e 65 72 2d 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 0a 20 | ner-content-filename.content)).. |
| 8760 | 20 20 20 20 20 20 20 20 28 63 6f 6e 74 65 6e 74 2d 66 69 6c 65 20 28 6e 6f 76 2d 6d 61 6b 65 2d | ........(content-file.(nov-make- |
| 8780 | 70 61 74 68 20 6e 6f 76 2d 74 65 6d 70 2d 64 69 72 20 63 6f 6e 74 65 6e 74 2d 66 69 6c 65 2d 6e | path.nov-temp-dir.content-file-n |
| 87a0 | 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 77 6f 72 6b 2d 64 69 72 20 28 66 69 6c 65 2d 6e | ame))..........(work-dir.(file-n |
| 87c0 | 61 6d 65 2d 64 69 72 65 63 74 6f 72 79 20 63 6f 6e 74 65 6e 74 2d 66 69 6c 65 29 29 0a 20 20 20 | ame-directory.content-file)).... |
| 87e0 | 20 20 20 20 20 20 28 63 6f 6e 74 65 6e 74 20 28 6e 6f 76 2d 73 6c 75 72 70 20 63 6f 6e 74 65 6e | ......(content.(nov-slurp.conten |
| 8800 | 74 2d 66 69 6c 65 20 74 29 29 29 0a 20 20 20 20 28 73 65 74 71 20 6e 6f 76 2d 63 6f 6e 74 65 6e | t-file.t))).....(setq.nov-conten |
| 8820 | 74 2d 66 69 6c 65 20 63 6f 6e 74 65 6e 74 2d 66 69 6c 65 29 0a 20 20 20 20 28 73 65 74 71 20 6e | t-file.content-file).....(setq.n |
| 8840 | 6f 76 2d 65 70 75 62 2d 76 65 72 73 69 6f 6e 20 28 6e 6f 76 2d 63 6f 6e 74 65 6e 74 2d 76 65 72 | ov-epub-version.(nov-content-ver |
| 8860 | 73 69 6f 6e 20 63 6f 6e 74 65 6e 74 29 29 0a 20 20 20 20 28 73 65 74 71 20 6e 6f 76 2d 6d 65 74 | sion.content)).....(setq.nov-met |
| 8880 | 61 64 61 74 61 20 28 6e 6f 76 2d 63 6f 6e 74 65 6e 74 2d 6d 65 74 61 64 61 74 61 20 63 6f 6e 74 | adata.(nov-content-metadata.cont |
| 88a0 | 65 6e 74 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 20 28 61 | ent)).....(setq.nov-documents.(a |
| 88c0 | 70 70 6c 79 20 27 76 65 63 74 6f 72 20 28 6e 6f 76 2d 63 6f 6e 74 65 6e 74 2d 66 69 6c 65 73 20 | pply.'vector.(nov-content-files. |
| 88e0 | 77 6f 72 6b 2d 64 69 72 20 63 6f 6e 74 65 6e 74 29 29 29 0a 20 20 20 20 28 73 65 74 71 20 6e 6f | work-dir.content))).....(setq.no |
| 8900 | 76 2d 64 6f 63 75 6d 65 6e 74 73 2d 69 6e 64 65 78 20 30 29 29 0a 20 20 28 73 65 74 71 20 62 75 | v-documents-index.0))...(setq.bu |
| 8920 | 66 66 65 72 2d 75 6e 64 6f 2d 6c 69 73 74 20 74 29 0a 20 20 28 73 65 74 71 20 6e 6f 76 2d 66 69 | ffer-undo-list.t)...(setq.nov-fi |
| 8940 | 6c 65 2d 6e 61 6d 65 20 28 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 29 29 20 3b 20 6b 65 | le-name.(buffer-file-name)).;.ke |
| 8960 | 70 74 20 66 6f 72 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 72 65 61 73 6f 6e 73 0a 20 20 28 | pt.for.compatibility.reasons...( |
| 8980 | 73 65 74 71 2d 6c 6f 63 61 6c 20 62 6f 6f 6b 6d 61 72 6b 2d 6d 61 6b 65 2d 72 65 63 6f 72 64 2d | setq-local.bookmark-make-record- |
| 89a0 | 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 6e 6f 76 2d 62 6f 6f 6b | function...............'nov-book |
| 89c0 | 6d 61 72 6b 2d 6d 61 6b 65 2d 72 65 63 6f 72 64 29 0a 20 20 28 6c 65 74 20 28 28 70 6c 61 63 65 | mark-make-record)...(let.((place |
| 89e0 | 20 28 6e 6f 76 2d 73 61 76 65 64 2d 70 6c 61 63 65 20 28 63 64 72 20 28 61 73 73 71 20 27 69 64 | .(nov-saved-place.(cdr.(assq.'id |
| 8a00 | 65 6e 74 69 66 69 65 72 20 6e 6f 76 2d 6d 65 74 61 64 61 74 61 29 29 29 29 29 0a 20 20 20 20 28 | entifier.nov-metadata))))).....( |
| 8a20 | 69 66 20 70 6c 61 63 65 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 69 6e 64 65 78 20 28 63 | if.place.........(let.((index.(c |
| 8a40 | 64 72 20 28 61 73 73 71 20 27 69 6e 64 65 78 20 70 6c 61 63 65 29 29 29 0a 20 20 20 20 20 20 20 | dr.(assq.'index.place)))........ |
| 8a60 | 20 20 20 20 20 20 20 28 70 6f 69 6e 74 20 28 63 64 72 20 28 61 73 73 71 20 27 70 6f 69 6e 74 20 | .......(point.(cdr.(assq.'point. |
| 8a80 | 70 6c 61 63 65 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 6e 6f 76 2d 2d 69 6e | place))))...........(if.(nov--in |
| 8aa0 | 64 65 78 2d 76 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 | dex-valid-p.nov-documents.index) |
| 8ac0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 | ...............(progn........... |
| 8ae0 | 20 20 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 64 65 78 20 | ......(setq.nov-documents-index. |
| 8b00 | 69 6e 64 65 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 76 2d 72 65 6e 64 | index).................(nov-rend |
| 8b20 | 65 72 2d 64 6f 63 75 6d 65 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 6f | er-document).................(go |
| 8b40 | 74 6f 2d 63 68 61 72 20 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 76 | to-char.point)).............(nov |
| 8b60 | 2d 77 61 72 6e 20 22 43 6f 75 6c 64 6e 27 74 20 72 65 73 74 6f 72 65 20 6c 61 73 74 20 70 6f 73 | -warn."Couldn't.restore.last.pos |
| 8b80 | 69 74 69 6f 6e 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 76 2d 72 65 6e 64 65 72 2d | ition").............(nov-render- |
| 8ba0 | 64 6f 63 75 6d 65 6e 74 29 29 29 0a 20 20 20 20 20 20 28 6e 6f 76 2d 72 65 6e 64 65 72 2d 64 6f | document))).......(nov-render-do |
| 8bc0 | 63 75 6d 65 6e 74 29 29 29 29 0a 0a 0c 0a 3b 3b 3b 20 72 65 63 65 6e 74 66 20 69 6e 74 65 72 6f | cument))))....;;;.recentf.intero |
| 8be0 | 70 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 61 64 64 2d 74 6f 2d 72 65 63 65 6e 74 66 20 28 29 0a | p..(defun.nov-add-to-recentf.(). |
| 8c00 | 20 20 22 41 64 64 20 72 65 61 6c 20 70 61 74 68 20 74 6f 20 72 65 63 65 6e 74 66 20 6c 69 73 74 | .."Add.real.path.to.recentf.list |
| 8c20 | 20 69 66 20 70 6f 73 73 69 62 6c 65 2e 22 0a 20 20 28 77 68 65 6e 20 6e 6f 76 2d 66 69 6c 65 2d | .if.possible."...(when.nov-file- |
| 8c40 | 6e 61 6d 65 0a 20 20 20 20 28 72 65 63 65 6e 74 66 2d 61 64 64 2d 66 69 6c 65 20 6e 6f 76 2d 66 | name.....(recentf-add-file.nov-f |
| 8c60 | 69 6c 65 2d 6e 61 6d 65 29 29 29 0a 0a 28 61 64 64 2d 68 6f 6f 6b 20 27 6e 6f 76 2d 6d 6f 64 65 | ile-name)))..(add-hook.'nov-mode |
| 8c80 | 2d 68 6f 6f 6b 20 27 6e 6f 76 2d 61 64 64 2d 74 6f 2d 72 65 63 65 6e 74 66 29 0a 28 61 64 64 2d | -hook.'nov-add-to-recentf).(add- |
| 8ca0 | 68 6f 6f 6b 20 27 6e 6f 76 2d 6d 6f 64 65 2d 68 6f 6f 6b 20 27 68 61 63 6b 2d 64 69 72 2d 6c 6f | hook.'nov-mode-hook.'hack-dir-lo |
| 8cc0 | 63 61 6c 2d 76 61 72 69 61 62 6c 65 73 2d 6e 6f 6e 2d 66 69 6c 65 2d 62 75 66 66 65 72 29 0a 0a | cal-variables-non-file-buffer).. |
| 8ce0 | 0c 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 2d 66 69 6e 64 2d 66 69 6c 65 20 28 66 69 6c 65 20 69 6e | ..(defun.nov--find-file.(file.in |
| 8d00 | 64 65 78 20 70 6f 69 6e 74 29 0a 20 20 22 4f 70 65 6e 20 46 49 4c 45 20 69 6e 20 6e 6f 76 2d 6d | dex.point)..."Open.FILE.in.nov-m |
| 8d20 | 6f 64 65 20 61 6e 64 20 67 6f 20 74 6f 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20 49 4e 44 45 | ode.and.go.to.the.specified.INDE |
| 8d40 | 58 20 61 6e 64 20 50 4f 53 49 54 49 4f 4e 2e 0a 49 66 20 46 49 4c 45 20 69 73 20 6e 69 6c 2c 20 | X.and.POSITION..If.FILE.is.nil,. |
| 8d60 | 74 68 65 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 20 69 73 20 75 73 65 64 2e 22 0a 20 20 28 | the.current.buffer.is.used."...( |
| 8d80 | 77 68 65 6e 20 66 69 6c 65 0a 20 20 20 20 28 66 69 6e 64 2d 66 69 6c 65 20 66 69 6c 65 29 29 0a | when.file.....(find-file.file)). |
| 8da0 | 20 20 28 75 6e 6c 65 73 73 20 28 65 71 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 6e 6f 76 2d 6d 6f | ..(unless.(eq.major-mode.'nov-mo |
| 8dc0 | 64 65 29 0a 20 20 20 20 28 6e 6f 76 2d 6d 6f 64 65 29 29 0a 20 20 28 77 68 65 6e 20 28 6e 6f 74 | de).....(nov-mode))...(when.(not |
| 8de0 | 20 28 6e 6f 76 2d 2d 69 6e 64 65 78 2d 76 61 6c 69 64 2d 70 20 6e 6f 76 2d 64 6f 63 75 6d 65 6e | .(nov--index-valid-p.nov-documen |
| 8e00 | 74 73 20 69 6e 64 65 78 29 29 0a 20 20 20 20 28 65 72 72 6f 72 20 22 49 6e 76 61 6c 69 64 20 64 | ts.index)).....(error."Invalid.d |
| 8e20 | 6f 63 75 6d 65 6e 74 73 20 69 6e 64 65 78 22 29 29 0a 20 20 28 73 65 74 71 20 6e 6f 76 2d 64 6f | ocuments.index"))...(setq.nov-do |
| 8e40 | 63 75 6d 65 6e 74 73 2d 69 6e 64 65 78 20 69 6e 64 65 78 29 0a 20 20 28 6e 6f 76 2d 72 65 6e 64 | cuments-index.index)...(nov-rend |
| 8e60 | 65 72 2d 64 6f 63 75 6d 65 6e 74 29 0a 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 70 6f 69 6e 74 29 | er-document)...(goto-char.point) |
| 8e80 | 29 0a 0a 3b 3b 20 42 6f 6f 6b 6d 61 72 6b 20 69 6e 74 65 72 6f 70 0a 28 64 65 66 75 6e 20 6e 6f | )..;;.Bookmark.interop.(defun.no |
| 8ea0 | 76 2d 62 6f 6f 6b 6d 61 72 6b 2d 6d 61 6b 65 2d 72 65 63 6f 72 64 20 20 28 29 0a 20 20 22 43 72 | v-bookmark-make-record..()..."Cr |
| 8ec0 | 65 61 74 65 20 61 20 62 6f 6f 6b 6d 61 72 6b 20 65 70 75 62 20 72 65 63 6f 72 64 2e 22 0a 20 20 | eate.a.bookmark.epub.record."... |
| 8ee0 | 28 63 6f 6e 73 20 28 62 75 66 66 65 72 2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 60 28 28 66 | (cons.(buffer-name).........`((f |
| 8f00 | 69 6c 65 6e 61 6d 65 20 2e 20 2c 6e 6f 76 2d 66 69 6c 65 2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 | ilename...,nov-file-name)....... |
| 8f20 | 20 20 20 20 28 69 6e 64 65 78 20 2e 20 2c 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 2d 69 6e 64 65 | ....(index...,nov-documents-inde |
| 8f40 | 78 29 0a 20 20 20 20 20 20 20 20 20 20 28 70 6f 73 69 74 69 6f 6e 20 2e 20 2c 28 70 6f 69 6e 74 | x)...........(position...,(point |
| 8f60 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 68 61 6e 64 6c 65 72 20 2e 20 6e 6f 76 2d 62 6f 6f 6b | ))...........(handler...nov-book |
| 8f80 | 6d 61 72 6b 2d 6a 75 6d 70 2d 68 61 6e 64 6c 65 72 29 29 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 | mark-jump-handler))))..;;;###aut |
| 8fa0 | 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 62 6f 6f 6b 6d 61 72 6b 2d 6a 75 6d 70 2d 68 | oload.(defun.nov-bookmark-jump-h |
| 8fc0 | 61 6e 64 6c 65 72 20 28 62 6d 6b 29 0a 20 20 22 54 68 65 20 62 6f 6f 6b 6d 61 72 6b 20 68 61 6e | andler.(bmk)..."The.bookmark.han |
| 8fe0 | 64 6c 65 72 2d 66 75 6e 63 74 69 6f 6e 20 69 6e 74 65 72 66 61 63 65 20 66 6f 72 20 62 6f 6f 6b | dler-function.interface.for.book |
| 9000 | 6d 61 72 6b 20 42 4d 4b 2e 0a 0a 53 65 65 20 61 6c 73 6f 20 60 6e 6f 76 2d 62 6f 6f 6b 6d 61 72 | mark.BMK...See.also.`nov-bookmar |
| 9020 | 6b 2d 6d 61 6b 65 2d 72 65 63 6f 72 64 27 2e 22 0a 20 20 28 6c 65 74 20 28 28 66 69 6c 65 20 28 | k-make-record'."...(let.((file.( |
| 9040 | 62 6f 6f 6b 6d 61 72 6b 2d 70 72 6f 70 2d 67 65 74 20 62 6d 6b 20 27 66 69 6c 65 6e 61 6d 65 29 | bookmark-prop-get.bmk.'filename) |
| 9060 | 29 0a 20 20 20 20 20 20 20 20 28 69 6e 64 65 78 20 28 62 6f 6f 6b 6d 61 72 6b 2d 70 72 6f 70 2d | ).........(index.(bookmark-prop- |
| 9080 | 67 65 74 20 62 6d 6b 20 27 69 6e 64 65 78 29 29 0a 20 20 20 20 20 20 20 20 28 70 6f 73 69 74 69 | get.bmk.'index)).........(positi |
| 90a0 | 6f 6e 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 70 6f 73 69 74 | on.(bookmark-prop-get.bmk.'posit |
| 90c0 | 69 6f 6e 29 29 29 0a 20 20 20 20 28 6e 6f 76 2d 2d 66 69 6e 64 2d 66 69 6c 65 20 66 69 6c 65 20 | ion))).....(nov--find-file.file. |
| 90e0 | 69 6e 64 65 78 20 70 6f 73 69 74 69 6f 6e 29 29 29 0a 0a 0c 0a 3b 3b 3b 20 4f 72 67 20 69 6e 74 | index.position)))....;;;.Org.int |
| 9100 | 65 72 6f 70 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 6f 72 67 2d 6c 69 6e 6b 2d 66 6f 6c 6c 6f 77 | erop..(defun.nov-org-link-follow |
| 9120 | 20 28 70 61 74 68 29 0a 20 20 22 46 6f 6c 6c 6f 77 20 6e 6f 76 3a 20 6c 69 6e 6b 20 64 65 73 69 | .(path)..."Follow.nov:.link.desi |
| 9140 | 67 6e 61 74 65 64 20 62 79 20 50 41 54 48 2e 22 0a 20 20 28 69 66 20 28 73 74 72 69 6e 67 2d 6d | gnated.by.PATH."...(if.(string-m |
| 9160 | 61 74 63 68 20 22 5e 5c 5c 28 2e 2a 5c 5c 29 3a 3a 5c 5c 28 5b 30 2d 39 5d 2b 5c 5c 29 3a 5c 5c | atch."^\\(.*\\)::\\([0-9]+\\):\\ |
| 9180 | 28 5b 30 2d 39 5d 2b 5c 5c 29 24 22 20 70 61 74 68 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 | ([0-9]+\\)$".path).......(let.(( |
| 91a0 | 66 69 6c 65 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 31 20 70 61 74 68 29 29 0a 20 20 20 20 | file.(match-string.1.path))..... |
| 91c0 | 20 20 20 20 20 20 20 20 28 69 6e 64 65 78 20 28 73 74 72 69 6e 67 2d 74 6f 2d 6e 75 6d 62 65 72 | ........(index.(string-to-number |
| 91e0 | 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 32 20 70 61 74 68 29 29 29 0a 20 20 20 20 20 20 20 | .(match-string.2.path)))........ |
| 9200 | 20 20 20 20 20 28 70 6f 69 6e 74 20 28 73 74 72 69 6e 67 2d 74 6f 2d 6e 75 6d 62 65 72 20 28 6d | .....(point.(string-to-number.(m |
| 9220 | 61 74 63 68 2d 73 74 72 69 6e 67 20 33 20 70 61 74 68 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 | atch-string.3.path)))).........( |
| 9240 | 6e 6f 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 69 6e 74 29 | nov--find-file.file.index.point) |
| 9260 | 29 0a 20 20 20 20 28 65 72 72 6f 72 20 22 49 6e 76 61 6c 69 64 20 6e 6f 76 2e 65 6c 20 6c 69 6e | ).....(error."Invalid.nov.el.lin |
| 9280 | 6b 22 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 6f 72 67 2d 6c 69 6e 6b 2d 73 74 6f 72 65 | k")))..(defun.nov-org-link-store |
| 92a0 | 20 28 29 0a 20 20 22 53 74 6f 72 65 20 63 75 72 72 65 6e 74 20 45 50 55 42 20 6c 6f 63 61 74 69 | .()..."Store.current.EPUB.locati |
| 92c0 | 6f 6e 20 61 73 20 6e 6f 76 3a 20 6c 69 6e 6b 2e 22 0a 20 20 28 77 68 65 6e 20 28 61 6e 64 20 28 | on.as.nov:.link."...(when.(and.( |
| 92e0 | 65 71 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 6e 6f 76 2d 6d 6f 64 65 29 20 6e 6f 76 2d 66 69 6c | eq.major-mode.'nov-mode).nov-fil |
| 9300 | 65 2d 6e 61 6d 65 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 | e-name).....(when.(not.(integerp |
| 9320 | 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 28 73 65 | .nov-documents-index)).......(se |
| 9340 | 74 71 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 20 20 20 20 28 | tq.nov-documents-index.0)).....( |
| 9360 | 6c 65 74 20 28 28 6f 72 67 2d 73 74 6f 72 65 2d 70 72 6f 70 73 2d 66 75 6e 63 74 69 6f 6e 0a 20 | let.((org-store-props-function.. |
| 9380 | 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 6f 72 67 2d 6c 69 6e 6b | ..........(if.(fboundp.'org-link |
| 93a0 | 2d 73 74 6f 72 65 2d 70 72 6f 70 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 6f 72 | -store-props)................'or |
| 93c0 | 67 2d 6c 69 6e 6b 2d 73 74 6f 72 65 2d 70 72 6f 70 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | g-link-store-props.............. |
| 93e0 | 27 6f 72 67 2d 73 74 6f 72 65 2d 6c 69 6e 6b 2d 70 72 6f 70 73 29 29 0a 20 20 20 20 20 20 20 20 | 'org-store-link-props))......... |
| 9400 | 20 20 28 6c 69 6e 6b 20 28 66 6f 72 6d 61 74 20 22 6e 6f 76 3a 25 73 3a 3a 25 64 3a 25 64 22 0a | ..(link.(format."nov:%s::%d:%d". |
| 9420 | 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 66 69 6c 65 | ........................nov-file |
| 9440 | 2d 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 6f | -name.........................no |
| 9460 | 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 20 20 20 20 20 | v-documents-index............... |
| 9480 | 20 20 20 20 20 20 20 20 20 20 28 70 6f 69 6e 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 64 | ..........(point)))...........(d |
| 94a0 | 65 73 63 72 69 70 74 69 6f 6e 20 28 66 6f 72 6d 61 74 20 22 45 50 55 42 20 66 69 6c 65 20 61 74 | escription.(format."EPUB.file.at |
| 94c0 | 20 25 73 22 20 6e 6f 76 2d 66 69 6c 65 2d 6e 61 6d 65 29 29 29 0a 20 20 20 20 20 20 28 66 75 6e | .%s".nov-file-name))).......(fun |
| 94e0 | 63 61 6c 6c 20 6f 72 67 2d 73 74 6f 72 65 2d 70 72 6f 70 73 2d 66 75 6e 63 74 69 6f 6e 0a 20 20 | call.org-store-props-function... |
| 9500 | 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 74 79 70 65 20 22 6e 6f 76 22 0a 20 20 20 20 20 20 20 | .............:type."nov"........ |
| 9520 | 20 20 20 20 20 20 20 20 3a 6c 69 6e 6b 20 6c 69 6e 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | ........:link.link.............. |
| 9540 | 20 20 3a 64 65 73 63 72 69 70 74 69 6f 6e 20 64 65 73 63 72 69 70 74 69 6f 6e 29 29 29 29 0a 0a | ..:description.description)))).. |
| 9560 | 28 63 6f 6e 64 0a 20 28 28 66 62 6f 75 6e 64 70 20 27 6f 72 67 2d 6c 69 6e 6b 2d 73 65 74 2d 70 | (cond..((fboundp.'org-link-set-p |
| 9580 | 61 72 61 6d 65 74 65 72 73 29 0a 20 20 28 6f 72 67 2d 6c 69 6e 6b 2d 73 65 74 2d 70 61 72 61 6d | arameters)...(org-link-set-param |
| 95a0 | 65 74 65 72 73 0a 20 20 20 22 6e 6f 76 22 0a 20 20 20 3a 66 6f 6c 6c 6f 77 20 27 6e 6f 76 2d 6f | eters...."nov"....:follow.'nov-o |
| 95c0 | 72 67 2d 6c 69 6e 6b 2d 66 6f 6c 6c 6f 77 0a 20 20 20 3a 73 74 6f 72 65 20 27 6e 6f 76 2d 6f 72 | rg-link-follow....:store.'nov-or |
| 95e0 | 67 2d 6c 69 6e 6b 2d 73 74 6f 72 65 29 29 0a 20 28 28 66 62 6f 75 6e 64 70 20 27 6f 72 67 2d 61 | g-link-store))..((fboundp.'org-a |
| 9600 | 64 64 2d 6c 69 6e 6b 2d 74 79 70 65 29 0a 20 20 28 6f 72 67 2d 61 64 64 2d 6c 69 6e 6b 2d 74 79 | dd-link-type)...(org-add-link-ty |
| 9620 | 70 65 20 22 6e 6f 76 22 20 27 6e 6f 76 2d 6f 72 67 2d 6c 69 6e 6b 2d 66 6f 6c 6c 6f 77 29 0a 20 | pe."nov".'nov-org-link-follow).. |
| 9640 | 20 28 61 64 64 2d 68 6f 6f 6b 20 27 6f 72 67 2d 73 74 6f 72 65 2d 6c 69 6e 6b 2d 66 75 6e 63 74 | .(add-hook.'org-store-link-funct |
| 9660 | 69 6f 6e 73 20 27 6e 6f 76 2d 6f 72 67 2d 6c 69 6e 6b 2d 73 74 6f 72 65 29 29 29 0a 0a 0c 0a 3b | ions.'nov-org-link-store)))....; |
| 9680 | 3b 3b 20 49 6d 65 6e 75 20 69 6e 74 65 72 6f 70 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 69 6d 65 | ;;.Imenu.interop..(defun.nov-ime |
| 96a0 | 6e 75 2d 67 6f 74 6f 2d 66 75 6e 63 74 69 6f 6e 20 28 5f 6e 61 6d 65 20 66 69 6c 65 6e 61 6d 65 | nu-goto-function.(_name.filename |
| 96c0 | 20 74 61 72 67 65 74 29 0a 20 20 22 56 69 73 69 74 20 69 6d 65 6e 75 20 69 74 65 6d 20 75 73 69 | .target)..."Visit.imenu.item.usi |
| 96e0 | 6e 67 20 46 49 4c 45 4e 41 4d 45 20 61 6e 64 20 54 41 52 47 45 54 2e 22 0a 20 20 3b 3b 20 4d 61 | ng.FILENAME.and.TARGET."...;;.Ma |
| 9700 | 6b 65 20 73 75 72 65 20 66 69 6c 65 20 69 73 20 76 69 73 69 74 65 64 20 72 65 6c 61 74 69 76 65 | ke.sure.file.is.visited.relative |
| 9720 | 20 74 6f 20 74 6f 63 20 66 69 6c 65 2e 0a 20 20 28 6c 65 74 20 28 28 6e 6f 76 2d 64 6f 63 75 6d | .to.toc.file....(let.((nov-docum |
| 9740 | 65 6e 74 73 2d 69 6e 64 65 78 20 30 29 29 0a 20 20 20 20 28 6e 6f 76 2d 76 69 73 69 74 2d 72 65 | ents-index.0)).....(nov-visit-re |
| 9760 | 6c 61 74 69 76 65 2d 66 69 6c 65 20 66 69 6c 65 6e 61 6d 65 20 74 61 72 67 65 74 29 29 29 0a 0a | lative-file.filename.target))).. |
| 9780 | 28 64 65 66 75 6e 20 6e 6f 76 2d 69 6d 65 6e 75 2d 63 72 65 61 74 65 2d 69 6e 64 65 78 20 28 29 | (defun.nov-imenu-create-index.() |
| 97a0 | 0a 20 20 22 47 65 6e 65 72 61 74 65 20 49 6d 65 6e 75 20 69 6e 64 65 78 2e 22 0a 20 20 28 6c 65 | ..."Generate.Imenu.index."...(le |
| 97c0 | 74 2a 20 28 28 74 6f 63 2d 70 61 74 68 20 28 63 64 72 20 28 61 72 65 66 20 6e 6f 76 2d 64 6f 63 | t*.((toc-path.(cdr.(aref.nov-doc |
| 97e0 | 75 6d 65 6e 74 73 20 30 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 6e 63 78 70 20 28 76 65 72 73 | uments.0)))..........(ncxp.(vers |
| 9800 | 69 6f 6e 3c 20 6e 6f 76 2d 65 70 75 62 2d 76 65 72 73 69 6f 6e 20 22 33 2e 30 22 29 29 0a 20 20 | ion<.nov-epub-version."3.0"))... |
| 9820 | 20 20 20 20 20 20 20 28 74 6f 63 20 28 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 | .......(toc.(with-temp-buffer... |
| 9840 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 6e 63 78 70 0a 20 20 20 20 20 20 20 20 20 | ..............(if.ncxp.......... |
| 9860 | 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 6e 6f 76 2d 6e 63 78 2d 74 6f 2d 68 | ...........(insert.(nov-ncx-to-h |
| 9880 | 74 6d 6c 20 74 6f 63 2d 70 61 74 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | tml.toc-path)).................. |
| 98a0 | 20 28 69 6e 73 65 72 74 2d 66 69 6c 65 2d 63 6f 6e 74 65 6e 74 73 20 74 6f 63 2d 70 61 74 68 29 | .(insert-file-contents.toc-path) |
| 98c0 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 62 78 6d 6c 2d 70 61 72 73 65 2d | ).................(libxml-parse- |
| 98e0 | 68 74 6d 6c 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 2d 6d | html-region.(point-min).(point-m |
| 9900 | 61 78 29 29 29 29 29 0a 20 20 20 20 28 6d 61 70 63 61 72 0a 20 20 20 20 20 28 6c 61 6d 62 64 61 | ax))))).....(mapcar......(lambda |
| 9920 | 20 28 6e 6f 64 65 29 0a 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 68 72 65 66 20 28 64 6f 6d 2d | .(node)........(let.((href.(dom- |
| 9940 | 61 74 74 72 20 6e 6f 64 65 20 27 68 72 65 66 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | attr.node.'href))..............( |
| 9960 | 6c 61 62 65 6c 20 28 64 6f 6d 2d 74 65 78 74 20 6e 6f 64 65 29 29 29 0a 20 20 20 20 20 20 20 20 | label.(dom-text.node)))......... |
| 9980 | 20 28 73 65 71 2d 6c 65 74 20 28 66 69 6c 65 6e 61 6d 65 20 74 61 72 67 65 74 29 20 28 6e 6f 76 | .(seq-let.(filename.target).(nov |
| 99a0 | 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 68 72 65 66 29 0a 20 | -url-filename-and-target.href).. |
| 99c0 | 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 6c 61 62 65 6c 20 66 69 6c 65 6e 61 6d 65 20 27 | ..........(list.label.filename.' |
| 99e0 | 6e 6f 76 2d 69 6d 65 6e 75 2d 67 6f 74 6f 2d 66 75 6e 63 74 69 6f 6e 20 74 61 72 67 65 74 29 29 | nov-imenu-goto-function.target)) |
| 9a00 | 29 29 0a 20 20 20 20 20 28 65 73 78 6d 6c 2d 71 75 65 72 79 2d 61 6c 6c 20 22 61 22 20 74 6f 63 | ))......(esxml-query-all."a".toc |
| 9a20 | 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 69 6d 65 6e 75 2d 73 65 74 75 70 20 28 29 0a | ))))..(defun.nov-imenu-setup.(). |
| 9a40 | 20 20 28 73 65 74 71 20 69 6d 65 6e 75 2d 63 72 65 61 74 65 2d 69 6e 64 65 78 2d 66 75 6e 63 74 | ..(setq.imenu-create-index-funct |
| 9a60 | 69 6f 6e 20 27 6e 6f 76 2d 69 6d 65 6e 75 2d 63 72 65 61 74 65 2d 69 6e 64 65 78 29 29 0a 28 61 | ion.'nov-imenu-create-index)).(a |
| 9a80 | 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 69 6d 65 6e | dd-hook.'nov-mode-hook.'nov-imen |
| 9aa0 | 75 2d 73 65 74 75 70 29 0a 0a 0c 0a 3b 3b 3b 20 6d 75 6c 74 69 2d 69 73 65 61 72 63 68 20 69 6e | u-setup)....;;;.multi-isearch.in |
| 9ac0 | 74 65 72 6f 70 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 6d 69 73 65 61 72 63 68 2d 6e 65 78 74 2d | terop..(defun.nov-misearch-next- |
| 9ae0 | 62 75 66 66 65 72 20 28 62 75 66 66 65 72 20 77 72 61 70 29 0a 20 20 28 69 66 20 69 73 65 61 72 | buffer.(buffer.wrap)...(if.isear |
| 9b00 | 63 68 2d 66 6f 72 77 61 72 64 0a 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 28 28 | ch-forward.......(cond........(( |
| 9b20 | 3c 20 6e 6f 76 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 | <.nov-documents-index.(1-.(lengt |
| 9b40 | 68 20 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 29 29 29 0a 20 20 20 20 20 20 20 20 28 6e 6f 76 2d | h.nov-documents))).........(nov- |
| 9b60 | 67 6f 74 6f 2d 64 6f 63 75 6d 65 6e 74 20 28 31 2b 20 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 2d | goto-document.(1+.nov-documents- |
| 9b80 | 69 6e 64 65 78 29 29 0a 20 20 20 20 20 20 20 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 | index)).........(current-buffer) |
| 9ba0 | 29 0a 20 20 20 20 20 20 20 28 77 72 61 70 0a 20 20 20 20 20 20 20 20 28 6e 6f 76 2d 67 6f 74 6f | )........(wrap.........(nov-goto |
| 9bc0 | 2d 64 6f 63 75 6d 65 6e 74 20 30 29 0a 20 20 20 20 20 20 20 20 6e 69 6c 29 29 0a 20 20 20 20 28 | -document.0).........nil)).....( |
| 9be0 | 63 6f 6e 64 0a 20 20 20 20 20 28 28 3e 20 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 2d 69 6e 64 65 | cond......((>.nov-documents-inde |
| 9c00 | 78 20 30 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 28 31 | x.0).......(nov-goto-document.(1 |
| 9c20 | 2d 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 28 63 | -.nov-documents-index)).......(c |
| 9c40 | 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20 20 28 77 72 61 70 0a 20 20 20 20 20 | urrent-buffer))......(wrap...... |
| 9c60 | 20 28 6e 6f 76 2d 67 6f 74 6f 2d 64 6f 63 75 6d 65 6e 74 20 28 31 2d 20 28 6c 65 6e 67 74 68 20 | .(nov-goto-document.(1-.(length. |
| 9c80 | 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 29 29 29 0a 20 20 20 20 20 20 6e 69 6c 29 29 29 29 0a 0a | nov-documents))).......nil)))).. |
| 9ca0 | 28 64 65 66 75 6e 20 6e 6f 76 2d 6d 69 73 65 61 72 63 68 2d 73 65 74 75 70 20 28 29 0a 20 20 28 | (defun.nov-misearch-setup.()...( |
| 9cc0 | 73 65 74 71 2d 6c 6f 63 61 6c 20 6d 75 6c 74 69 2d 69 73 65 61 72 63 68 2d 6e 65 78 74 2d 62 75 | setq-local.multi-isearch-next-bu |
| 9ce0 | 66 66 65 72 2d 66 75 6e 63 74 69 6f 6e 20 23 27 6e 6f 76 2d 6d 69 73 65 61 72 63 68 2d 6e 65 78 | ffer-function.#'nov-misearch-nex |
| 9d00 | 74 2d 62 75 66 66 65 72 29 29 0a 28 61 64 64 2d 68 6f 6f 6b 20 27 6e 6f 76 2d 6d 6f 64 65 2d 68 | t-buffer)).(add-hook.'nov-mode-h |
| 9d20 | 6f 6f 6b 20 23 27 6e 6f 76 2d 6d 69 73 65 61 72 63 68 2d 73 65 74 75 70 29 0a 0a 28 70 72 6f 76 | ook.#'nov-misearch-setup)..(prov |
| 9d40 | 69 64 65 20 27 6e 6f 76 29 0a 3b 3b 3b 20 6e 6f 76 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 | ide.'nov).;;;.nov.el.ends.here.. |
| 9d60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 9d80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 9da0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 9dc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 9de0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 9e00 | 6e 6f 76 2d 32 30 32 34 30 34 30 37 2e 31 32 31 39 2f 6e 6f 76 2d 70 6b 67 2e 65 6c 00 00 00 00 | nov-20240407.1219/nov-pkg.el.... |
| 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 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 |
| 9e80 | 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... |
| 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 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................... |
| 9f20 | 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................... |
| 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 | 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 34 30 34 30 37 2e | (define-package."nov"."20240407. |
| a020 | 31 32 31 39 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 | 1219"."Featureful.EPUB.reader.mo |
| a040 | 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 |
| a060 | 63 73 20 22 32 35 2e 31 22 29 29 0a 20 20 3a 63 6f 6d 6d 69 74 20 22 39 62 37 62 65 66 39 35 30 | cs."25.1"))...:commit."9b7bef950 |
| a080 | 64 36 38 63 32 35 31 38 37 31 30 63 34 38 30 37 32 39 64 36 62 62 36 30 32 36 65 39 34 38 39 22 | d68c2518710c480729d6bb6026e9489" |
| a0a0 | 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 |
| a0c0 | 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"))...: |
| a0e0 | 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 |
| a100 | 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")).. |
| a120 | 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 |
| a140 | 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")... |
| a160 | 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 |
| a180 | 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:// |
| a1a0 | 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 |
| a1c0 | 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:. |
| a1e0 | 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:....................... |
| 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 | ................................ |