| ofs | hex dump | ascii |
|---|
| 0000 | 65 73 78 6d 6c 2d 32 30 32 33 30 33 30 38 2e 32 32 35 34 2f 00 00 00 00 00 00 00 00 00 00 00 00 | esxml-20230308.2254/............ |
| 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 32 31 33 37 00 20 35 00 00 00 | 0000000.00000000000.012137..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 | 65 73 78 6d 6c 2d 32 30 32 33 30 33 30 38 2e 32 32 35 34 2f 65 73 78 6d 6c 2d 70 6b 67 2e 65 6c | esxml-20230308.2254/esxml-pkg.el |
| 0220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0260 | 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 | ....0000644.0000000.0000000.0000 |
| 0280 | 30 30 30 30 36 37 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 33 37 33 00 20 30 00 00 00 | 0000670.00000000000.014373..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 | 28 64 65 66 69 6e 65 2d 70 61 63 6b 61 67 65 20 22 65 73 78 6d 6c 22 20 22 32 30 32 33 30 33 30 | (define-package."esxml"."2023030 |
| 0420 | 38 2e 32 32 35 34 22 20 22 4c 69 62 72 61 72 79 20 66 6f 72 20 77 6f 72 6b 69 6e 67 20 77 69 74 | 8.2254"."Library.for.working.wit |
| 0440 | 68 20 78 6d 6c 20 76 69 61 20 65 73 78 6d 6c 20 61 6e 64 20 73 78 6d 6c 22 0a 20 20 27 28 28 65 | h.xml.via.esxml.and.sxml"...'((e |
| 0460 | 6d 61 63 73 20 22 32 34 2e 31 22 29 0a 20 20 20 20 28 6b 76 20 22 30 2e 30 2e 35 22 29 0a 20 20 | macs."24.1").....(kv."0.0.5")... |
| 0480 | 20 20 28 63 6c 2d 6c 69 62 20 22 30 2e 35 22 29 29 0a 20 20 3a 63 6f 6d 6d 69 74 20 22 32 32 35 | ..(cl-lib."0.5"))...:commit."225 |
| 04a0 | 36 39 33 30 39 36 61 35 38 37 34 39 32 64 37 36 62 66 36 39 36 64 31 66 30 63 32 35 63 36 31 66 | 693096a587492d76bf696d1f0c25c61f |
| 04c0 | 37 64 35 33 31 22 20 3a 61 75 74 68 6f 72 73 0a 20 20 27 28 28 22 56 61 6e 79 61 20 49 7a 61 6b | 7d531".:authors...'(("Vanya.Izak |
| 04e0 | 73 6f 6e 61 73 2d 53 6d 69 74 68 20 3c 69 7a 61 6b 30 30 30 32 20 61 74 20 75 6d 6e 20 64 6f 74 | sonas-Smith.<izak0002.at.umn.dot |
| 0500 | 20 65 64 75 3e 22 29 29 0a 20 20 3a 6d 61 69 6e 74 61 69 6e 65 72 0a 20 20 27 28 22 56 61 6e 79 | .edu>"))...:maintainer...'("Vany |
| 0520 | 61 20 49 7a 61 6b 73 6f 6e 61 73 2d 53 6d 69 74 68 22 29 0a 20 20 3a 6b 65 79 77 6f 72 64 73 0a | a.Izaksonas-Smith")...:keywords. |
| 0540 | 20 20 27 28 22 74 6f 6f 6c 73 22 20 22 6c 69 73 70 22 20 22 63 6f 6d 6d 22 29 0a 20 20 3a 75 72 | ..'("tools"."lisp"."comm")...:ur |
| 0560 | 6c 20 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 74 61 6c 69 37 31 33 2f 65 73 | l."https://github.com/tali713/es |
| 0580 | 78 6d 6c 22 29 0a 3b 3b 20 4c 6f 63 61 6c 20 56 61 72 69 61 62 6c 65 73 3a 0a 3b 3b 20 6e 6f 2d | xml").;;.Local.Variables:.;;.no- |
| 05a0 | 62 79 74 65 2d 63 6f 6d 70 69 6c 65 3a 20 74 0a 3b 3b 20 45 6e 64 3a 0a 00 00 00 00 00 00 00 00 | byte-compile:.t.;;.End:......... |
| 05c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 05e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0600 | 65 73 78 6d 6c 2d 32 30 32 33 30 33 30 38 2e 32 32 35 34 2f 65 73 78 6d 6c 2d 71 75 65 72 79 2e | esxml-20230308.2254/esxml-query. |
| 0620 | 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | el.............................. |
| 0640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0660 | 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 | ....0000644.0000000.0000000.0000 |
| 0680 | 30 30 37 30 34 30 36 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 37 36 33 00 20 30 00 00 00 | 0070406.00000000000.014763..0... |
| 06a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 06c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 06e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0700 | 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .ustar...root................... |
| 0720 | 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .........root................... |
| 0740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 07a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 07c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 07e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0800 | 3b 3b 3b 20 65 73 78 6d 6c 2d 71 75 65 72 79 2e 65 6c 20 2d 2d 2d 20 73 65 6c 65 63 74 20 65 73 | ;;;.esxml-query.el.---.select.es |
| 0820 | 78 6d 6c 20 6e 6f 64 65 73 20 6a 51 75 65 72 79 2d 73 74 79 6c 65 0a 0a 3b 3b 20 43 6f 70 79 72 | xml.nodes.jQuery-style..;;.Copyr |
| 0840 | 69 67 68 74 20 28 43 29 20 32 30 31 37 20 56 61 73 69 6c 69 6a 20 53 63 68 6e 65 69 64 65 72 6d | ight.(C).2017.Vasilij.Schneiderm |
| 0860 | 61 6e 6e 20 3c 6d 61 69 6c 40 76 61 73 69 6c 69 6a 2e 64 65 3e 0a 0a 3b 3b 20 41 75 74 68 6f 72 | ann.<mail@vasilij.de>..;;.Author |
| 0880 | 3a 20 56 61 73 69 6c 69 6a 20 53 63 68 6e 65 69 64 65 72 6d 61 6e 6e 20 3c 6d 61 69 6c 40 76 61 | :.Vasilij.Schneidermann.<mail@va |
| 08a0 | 73 69 6c 69 6a 2e 64 65 3e 0a 3b 3b 20 4d 61 69 6e 74 61 69 6e 65 72 3a 20 56 61 73 69 6c 69 6a | silij.de>.;;.Maintainer:.Vasilij |
| 08c0 | 20 53 63 68 6e 65 69 64 65 72 6d 61 6e 6e 0a 3b 3b 20 56 65 72 73 69 6f 6e 3a 20 30 2e 31 2e 31 | .Schneidermann.;;.Version:.0.1.1 |
| 08e0 | 0a 3b 3b 20 4b 65 79 77 6f 72 64 73 3a 20 64 61 74 61 2c 20 6c 69 73 70 0a 3b 3b 20 50 61 63 6b | .;;.Keywords:.data,.lisp.;;.Pack |
| 0900 | 61 67 65 2d 52 65 71 75 69 72 65 73 3a 20 28 28 63 6c 2d 6c 69 62 20 22 30 2e 31 22 29 29 0a 3b | age-Requires:.((cl-lib."0.1")).; |
| 0920 | 3b 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 | ;.;;.This.program.is.free.softwa |
| 0940 | 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f | re;.you.can.redistribute.it.and/ |
| 0960 | 6f 72 0a 3b 3b 20 6d 6f 64 69 66 79 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 | or.;;.modify.it.under.the.terms. |
| 0980 | 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 | of.the.GNU.General.Public.Licens |
| 09a0 | 65 20 61 73 0a 3b 3b 20 70 75 62 6c 69 73 68 65 64 20 62 79 20 74 68 65 20 46 72 65 65 20 53 6f | e.as.;;.published.by.the.Free.So |
| 09c0 | 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f | ftware.Foundation,.either.versio |
| 09e0 | 6e 20 33 20 6f 66 20 74 68 65 0a 3b 3b 20 4c 69 63 65 6e 73 65 2c 20 6f 72 20 28 61 74 20 79 6f | n.3.of.the.;;.License,.or.(at.yo |
| 0a00 | 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 3b | ur.option).any.later.version...; |
| 0a20 | 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e | ;.This.program.is.distributed.in |
| 0a40 | 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c | .the.hope.that.it.will.be.useful |
| 0a60 | 2c 0a 3b 3b 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 | ,.;;.but.WITHOUT.ANY.WARRANTY;.w |
| 0a80 | 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 | ithout.even.the.implied.warranty |
| 0aa0 | 20 6f 66 0a 3b 3b 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 | .of.;;.MERCHANTABILITY.or.FITNES |
| 0ac0 | 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 | S.FOR.A.PARTICULAR.PURPOSE...See |
| 0ae0 | 20 74 68 65 0a 3b 3b 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e | .the.;;.GNU.General.Public.Licen |
| 0b00 | 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 3b 3b 20 59 6f 75 20 73 68 6f | se.for.more.details...;;.You.sho |
| 0b20 | 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 | uld.have.received.a.copy.of.the. |
| 0b40 | 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 3b 3b 20 61 6c | GNU.General.Public.License.;;.al |
| 0b60 | 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c 20 | ong.with.this.program...If.not,. |
| 0b80 | 73 65 65 20 3c 68 74 74 70 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 | see.<http://www.gnu.org/licenses |
| 0ba0 | 2f 3e 2e 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b 20 54 72 61 64 69 74 69 | />...;;;.Commentary:..;;.Traditi |
| 0bc0 | 6f 6e 61 6c 6c 79 20 70 65 6f 70 6c 65 20 70 69 63 6b 20 6f 6e 65 20 6f 66 20 74 68 65 20 66 6f | onally.people.pick.one.of.the.fo |
| 0be0 | 6c 6c 6f 77 69 6e 67 20 6f 70 74 69 6f 6e 73 20 77 68 65 6e 20 66 61 63 65 64 0a 3b 3b 20 77 69 | llowing.options.when.faced.;;.wi |
| 0c00 | 74 68 20 74 68 65 20 74 61 73 6b 20 6f 66 20 65 78 74 72 61 63 74 69 6e 67 20 64 61 74 61 20 66 | th.the.task.of.extracting.data.f |
| 0c20 | 72 6f 6d 20 58 4d 4c 20 69 6e 20 45 6d 61 63 73 20 4c 69 73 70 3a 0a 3b 3b 0a 3b 3b 20 2d 20 55 | rom.XML.in.Emacs.Lisp:.;;.;;.-.U |
| 0c40 | 73 69 6e 67 20 72 65 67 75 6c 61 72 20 65 78 70 72 65 73 73 69 6f 6e 73 20 6f 6e 20 74 68 65 20 | sing.regular.expressions.on.the. |
| 0c60 | 75 6e 70 61 72 73 65 64 20 64 6f 63 75 6d 65 6e 74 0a 3b 3b 20 2d 20 4d 61 6e 75 61 6c 20 74 72 | unparsed.document.;;.-.Manual.tr |
| 0c80 | 65 65 20 74 72 61 76 65 72 73 61 6c 20 77 69 74 68 20 60 61 73 73 6f 63 27 2c 20 60 63 61 72 27 | ee.traversal.with.`assoc',.`car' |
| 0ca0 | 20 61 6e 64 20 60 63 64 72 27 0a 3b 3b 0a 3b 3b 20 42 72 6f 77 73 65 72 73 20 66 61 63 65 64 20 | .and.`cdr'.;;.;;.Browsers.faced. |
| 0cc0 | 61 20 73 69 6d 69 6c 61 72 20 70 72 6f 62 6c 65 6d 20 75 6e 74 69 6c 20 6a 51 75 65 72 79 20 68 | a.similar.problem.until.jQuery.h |
| 0ce0 | 61 70 70 65 6e 65 64 2c 20 73 68 6f 72 74 6c 79 0a 3b 3b 20 61 66 74 65 72 77 61 72 64 73 20 74 | appened,.shortly.;;.afterwards.t |
| 0d00 | 68 65 79 20 73 74 61 72 74 65 64 20 70 72 6f 76 69 64 69 6e 67 20 74 68 65 20 60 6e 6f 64 65 2e | hey.started.providing.the.`node. |
| 0d20 | 71 75 65 72 79 53 65 6c 65 63 74 6f 72 27 20 61 6e 64 0a 3b 3b 20 60 6e 6f 64 65 2e 71 75 65 72 | querySelector'.and.;;.`node.quer |
| 0d40 | 79 53 65 6c 65 63 74 6f 72 41 6c 6c 27 20 41 50 49 20 66 6f 72 20 72 65 74 72 69 65 76 69 6e 67 | ySelectorAll'.API.for.retrieving |
| 0d60 | 20 6f 6e 65 20 6f 72 20 61 6c 6c 20 6e 6f 64 65 73 0a 3b 3b 20 6d 61 74 63 68 69 6e 67 20 61 20 | .one.or.all.nodes.;;.matching.a. |
| 0d80 | 67 69 76 65 6e 20 43 53 53 20 73 65 6c 65 63 74 6f 72 2e 20 20 54 68 69 73 20 63 6f 64 65 20 69 | given.CSS.selector...This.code.i |
| 0da0 | 6d 70 6c 65 6d 65 6e 74 73 20 74 68 65 20 73 61 6d 65 20 41 50 49 0a 3b 3b 20 77 69 74 68 20 74 | mplements.the.same.API.;;.with.t |
| 0dc0 | 68 65 20 60 65 73 78 6d 6c 2d 71 75 65 72 79 27 20 61 6e 64 20 60 65 73 78 6d 6c 2d 71 75 65 72 | he.`esxml-query'.and.`esxml-quer |
| 0de0 | 79 2d 61 6c 6c 27 20 66 75 6e 63 74 69 6f 6e 73 2e 20 20 54 68 65 0a 3b 3b 20 66 6f 6c 6c 6f 77 | y-all'.functions...The.;;.follow |
| 0e00 | 69 6e 67 20 74 61 62 6c 65 20 73 75 6d 6d 61 72 69 7a 65 73 20 74 68 65 20 63 75 72 72 65 6e 74 | ing.table.summarizes.the.current |
| 0e20 | 6c 79 20 73 75 70 70 6f 72 74 65 64 20 6d 6f 64 69 66 69 65 72 73 20 61 6e 64 0a 3b 3b 20 63 6f | ly.supported.modifiers.and.;;.co |
| 0e40 | 6d 62 69 6e 61 74 6f 72 73 3a 0a 3b 3b 0a 3b 3b 20 7c 20 4e 61 6d 65 20 20 20 20 20 20 20 20 20 | mbinators:.;;.;;.|.Name......... |
| 0e60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 53 75 70 70 6f 72 74 65 | ......................|.Supporte |
| 0e80 | 64 3f 20 7c 20 53 79 6e 74 61 78 20 20 20 20 20 20 7c 0a 3b 3b 20 7c 2d 2d 2d 2d 2d 2d 2d 2d 2d | d?.|.Syntax......|.;;.|--------- |
| 0ea0 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 2d 2d 2d 2d | ---------------------------+---- |
| 0ec0 | 2d 2d 2d 2d 2d 2d 2d 2d 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 7c 0a 3b 3b 20 7c 20 4e 61 6d | --------+-------------|.;;.|.Nam |
| 0ee0 | 65 73 70 61 63 65 73 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | espaces......................... |
| 0f00 | 7c 20 4e 6f 20 20 20 20 20 20 20 20 20 7c 20 66 6f 6f 7c 62 61 72 20 20 20 20 20 7c 0a 3b 3b 20 | |.No.........|.foo|bar.....|.;;. |
| 0f20 | 7c 20 43 6f 6d 6d 61 73 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |.Commas........................ |
| 0f40 | 20 20 20 20 20 7c 20 59 65 73 20 20 20 20 20 20 20 20 7c 20 66 6f 6f 2c 20 62 61 72 20 20 20 20 | .....|.Yes........|.foo,.bar.... |
| 0f60 | 7c 0a 3b 3b 20 7c 20 44 65 73 63 65 6e 64 61 6e 74 20 63 6f 6d 62 69 6e 61 74 6f 72 20 20 20 20 | |.;;.|.Descendant.combinator.... |
| 0f80 | 20 20 20 20 20 20 20 20 20 20 7c 20 59 65 73 20 20 20 20 20 20 20 20 7c 20 66 6f 6f 20 62 61 72 | ..........|.Yes........|.foo.bar |
| 0fa0 | 20 20 20 20 20 7c 0a 3b 3b 20 7c 20 43 68 69 6c 64 20 63 6f 6d 62 69 6e 61 74 6f 72 20 20 20 20 | .....|.;;.|.Child.combinator.... |
| 0fc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 59 65 73 20 20 20 20 20 20 20 20 7c 20 66 6f | ...............|.Yes........|.fo |
| 0fe0 | 6f 3e 62 61 72 20 20 20 20 20 7c 0a 3b 3b 20 7c 20 41 64 6a 61 63 65 6e 74 20 73 69 62 6c 69 6e | o>bar.....|.;;.|.Adjacent.siblin |
| 1000 | 67 20 63 6f 6d 62 69 6e 61 74 6f 72 20 20 20 20 20 20 20 20 7c 20 4e 6f 20 20 20 20 20 20 20 20 | g.combinator........|.No........ |
| 1020 | 20 7c 20 66 6f 6f 2b 62 61 72 20 20 20 20 20 7c 0a 3b 3b 20 7c 20 47 65 6e 65 72 61 6c 20 73 69 | .|.foo+bar.....|.;;.|.General.si |
| 1040 | 62 6c 69 6e 67 20 63 6f 6d 62 69 6e 61 74 6f 72 20 20 20 20 20 20 20 20 20 7c 20 4e 6f 20 20 20 | bling.combinator.........|.No... |
| 1060 | 20 20 20 20 20 20 7c 20 66 6f 6f 7e 62 61 72 20 20 20 20 20 7c 0a 3b 3b 20 7c 20 55 6e 69 76 65 | ......|.foo~bar.....|.;;.|.Unive |
| 1080 | 72 73 61 6c 20 73 65 6c 65 63 74 6f 72 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 | rsal.selector.................|. |
| 10a0 | 59 65 73 20 20 20 20 20 20 20 20 7c 20 2a 20 20 20 20 20 20 20 20 20 20 20 7c 0a 3b 3b 20 7c 20 | Yes........|.*...........|.;;.|. |
| 10c0 | 54 79 70 65 20 73 65 6c 65 63 74 6f 72 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | Type.selector................... |
| 10e0 | 20 20 20 7c 20 59 65 73 20 20 20 20 20 20 20 20 7c 20 74 61 67 20 20 20 20 20 20 20 20 20 7c 0a | ...|.Yes........|.tag.........|. |
| 1100 | 3b 3b 20 7c 20 49 44 20 73 65 6c 65 63 74 6f 72 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ;;.|.ID.selector................ |
| 1120 | 20 20 20 20 20 20 20 20 7c 20 59 65 73 20 20 20 20 20 20 20 20 7c 20 23 66 6f 6f 20 20 20 20 20 | ........|.Yes........|.#foo..... |
| 1140 | 20 20 20 7c 0a 3b 3b 20 7c 20 43 6c 61 73 73 20 73 65 6c 65 63 74 6f 72 20 20 20 20 20 20 20 20 | ...|.;;.|.Class.selector........ |
| 1160 | 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 59 65 73 20 20 20 20 20 20 20 20 7c 20 2e 66 6f 6f | .............|.Yes........|..foo |
| 1180 | 20 20 20 20 20 20 20 20 7c 0a 3b 3b 20 7c 20 41 74 74 72 69 62 75 74 65 20 73 65 6c 65 63 74 6f | ........|.;;.|.Attribute.selecto |
| 11a0 | 72 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 59 65 73 20 20 20 20 20 20 20 20 7c | r.................|.Yes........| |
| 11c0 | 20 5b 66 6f 6f 5d 20 20 20 20 20 20 20 7c 0a 3b 3b 20 7c 20 45 78 61 63 74 20 6d 61 74 63 68 20 | .[foo].......|.;;.|.Exact.match. |
| 11e0 | 61 74 74 72 69 62 75 74 65 20 73 65 6c 65 63 74 6f 72 20 20 20 20 20 7c 20 59 65 73 20 20 20 20 | attribute.selector.....|.Yes.... |
| 1200 | 20 20 20 20 7c 20 5b 66 6f 6f 3d 62 61 72 5d 20 20 20 7c 0a 3b 3b 20 7c 20 50 72 65 66 69 78 20 | ....|.[foo=bar]...|.;;.|.Prefix. |
| 1220 | 6d 61 74 63 68 20 61 74 74 72 69 62 75 74 65 20 73 65 6c 65 63 74 6f 72 20 20 20 20 7c 20 59 65 | match.attribute.selector....|.Ye |
| 1240 | 73 20 20 20 20 20 20 20 20 7c 20 5b 66 6f 6f 5e 3d 62 61 72 5d 20 20 7c 0a 3b 3b 20 7c 20 53 75 | s........|.[foo^=bar]..|.;;.|.Su |
| 1260 | 66 66 69 78 20 6d 61 74 63 68 20 61 74 74 72 69 62 75 74 65 20 73 65 6c 65 63 74 6f 72 20 20 20 | ffix.match.attribute.selector... |
| 1280 | 20 7c 20 59 65 73 20 20 20 20 20 20 20 20 7c 20 5b 66 6f 6f 24 3d 62 61 72 5d 20 20 7c 0a 3b 3b | .|.Yes........|.[foo$=bar]..|.;; |
| 12a0 | 20 7c 20 53 75 62 73 74 72 69 6e 67 20 6d 61 74 63 68 20 61 74 74 72 69 62 75 74 65 20 73 65 6c | .|.Substring.match.attribute.sel |
| 12c0 | 65 63 74 6f 72 20 7c 20 59 65 73 20 20 20 20 20 20 20 20 7c 20 5b 66 6f 6f 2a 3d 62 61 72 5d 20 | ector.|.Yes........|.[foo*=bar]. |
| 12e0 | 20 7c 0a 3b 3b 20 7c 20 49 6e 63 6c 75 64 65 20 6d 61 74 63 68 20 61 74 74 72 69 62 75 74 65 20 | .|.;;.|.Include.match.attribute. |
| 1300 | 73 65 6c 65 63 74 6f 72 20 20 20 7c 20 59 65 73 20 20 20 20 20 20 20 20 7c 20 5b 66 6f 6f 7e 3d | selector...|.Yes........|.[foo~= |
| 1320 | 62 61 72 5d 20 20 7c 0a 3b 3b 20 7c 20 44 61 73 68 20 6d 61 74 63 68 20 61 74 74 72 69 62 75 74 | bar]..|.;;.|.Dash.match.attribut |
| 1340 | 65 20 73 65 6c 65 63 74 6f 72 20 20 20 20 20 20 7c 20 59 65 73 20 20 20 20 20 20 20 20 7c 20 5b | e.selector......|.Yes........|.[ |
| 1360 | 66 6f 6f 7c 3d 62 61 72 5d 20 20 7c 0a 3b 3b 20 7c 20 41 74 74 72 69 62 75 74 65 20 73 65 6c 65 | foo|=bar]..|.;;.|.Attribute.sele |
| 1380 | 63 74 6f 72 20 6d 6f 64 69 66 69 65 72 73 20 20 20 20 20 20 20 7c 20 4e 6f 20 20 20 20 20 20 20 | ctor.modifiers.......|.No....... |
| 13a0 | 20 20 7c 20 5b 66 6f 6f 3d 62 61 72 20 69 5d 20 7c 0a 3b 3b 20 7c 20 50 73 65 75 64 6f 20 65 6c | ..|.[foo=bar.i].|.;;.|.Pseudo.el |
| 13c0 | 65 6d 65 6e 74 73 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 4e 6f 20 20 | ements....................|.No.. |
| 13e0 | 20 20 20 20 20 20 20 7c 20 3a 3a 66 6f 6f 20 20 20 20 20 20 20 7c 0a 3b 3b 20 7c 20 50 73 65 75 | .......|.::foo.......|.;;.|.Pseu |
| 1400 | 64 6f 20 63 6c 61 73 73 65 73 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c | do.classes.....................| |
| 1420 | 20 4e 6f 20 20 20 20 20 20 20 20 20 7c 20 3a 66 6f 6f 20 20 20 20 20 20 20 20 7c 0a 0a 3b 3b 3b | .No.........|.:foo........|..;;; |
| 1440 | 20 43 6f 64 65 3a 0a 0a 28 72 65 71 75 69 72 65 20 27 63 6c 2d 6c 69 62 29 0a 0a 0c 0a 3b 3b 3b | .Code:..(require.'cl-lib)....;;; |
| 1460 | 20 43 53 53 20 73 65 6c 65 63 74 6f 72 20 70 61 72 73 69 6e 67 0a 0a 3b 3b 20 68 74 74 70 73 3a | .CSS.selector.parsing..;;.https: |
| 1480 | 2f 2f 77 77 77 2e 77 33 2e 6f 72 67 2f 54 52 2f 73 65 6c 65 63 74 6f 72 73 2f 23 77 33 63 73 65 | //www.w3.org/TR/selectors/#w3cse |
| 14a0 | 6c 67 72 61 6d 6d 61 72 0a 3b 3b 20 68 74 74 70 73 3a 2f 2f 77 77 77 2e 77 33 2e 6f 72 67 2f 54 | lgrammar.;;.https://www.w3.org/T |
| 14c0 | 52 2f 73 65 6c 65 63 74 6f 72 73 34 2f 23 67 72 61 6d 6d 61 72 0a 3b 3b 20 68 74 74 70 73 3a 2f | R/selectors4/#grammar.;;.https:/ |
| 14e0 | 2f 77 77 77 2e 77 33 2e 6f 72 67 2f 54 52 2f 32 30 30 33 2f 57 44 2d 63 73 73 33 2d 73 79 6e 74 | /www.w3.org/TR/2003/WD-css3-synt |
| 1500 | 61 78 2d 32 30 30 33 30 38 31 33 2f 23 64 65 74 61 69 6c 65 64 2d 67 72 61 6d 6d 61 72 0a 3b 3b | ax-20030813/#detailed-grammar.;; |
| 1520 | 20 68 74 74 70 73 3a 2f 2f 77 77 77 2e 77 33 2e 6f 72 67 2f 54 52 2f 32 30 30 33 2f 57 44 2d 63 | .https://www.w3.org/TR/2003/WD-c |
| 1540 | 73 73 33 2d 73 79 6e 74 61 78 2d 32 30 30 33 30 38 31 33 2f 23 74 6f 6b 65 6e 69 7a 61 74 69 6f | ss3-syntax-20030813/#tokenizatio |
| 1560 | 6e 0a 0a 3b 3b 20 79 6f 75 20 6d 69 67 68 74 20 62 65 20 77 6f 6e 64 65 72 69 6e 67 20 77 68 79 | n..;;.you.might.be.wondering.why |
| 1580 | 20 49 27 6d 20 75 73 69 6e 67 20 62 6f 74 68 20 6c 65 76 65 6c 20 33 20 61 6e 64 20 34 20 73 74 | .I'm.using.both.level.3.and.4.st |
| 15a0 | 61 6e 64 61 72 64 73 2c 0a 3b 3b 20 77 65 6c 6c 2c 20 74 68 65 20 6c 65 76 65 6c 20 33 20 6f 6e | andards,.;;.well,.the.level.3.on |
| 15c0 | 65 20 68 61 73 20 61 20 62 75 67 67 79 20 6c 65 78 65 72 20 73 65 63 74 69 6f 6e 20 77 68 65 72 | e.has.a.buggy.lexer.section.wher |
| 15e0 | 65 61 73 20 6c 65 76 65 6c 20 34 0a 3b 3b 20 6f 6d 69 74 73 20 63 72 75 63 69 61 6c 20 70 61 72 | eas.level.4.;;.omits.crucial.par |
| 1600 | 73 65 72 20 64 65 66 69 6e 69 74 69 6f 6e 73 2c 20 73 6f 20 62 6f 74 68 20 68 61 76 65 20 74 6f | ser.definitions,.so.both.have.to |
| 1620 | 20 62 65 20 75 73 65 64 2e 2e 2e 0a 0a 3b 3b 20 54 4f 44 4f 3a 20 73 75 70 70 6f 72 74 20 3a 6e | .be.used.....;;.TODO:.support.:n |
| 1640 | 6f 74 0a 28 64 65 66 76 61 72 20 65 73 78 6d 6c 2d 2d 63 73 73 2d 73 65 6c 65 63 74 6f 72 2d 74 | ot.(defvar.esxml--css-selector-t |
| 1660 | 6f 6b 65 6e 2d 6d 61 74 63 68 65 72 73 0a 20 20 28 6c 65 74 2a 20 28 28 68 20 22 5b 30 2d 39 61 | oken-matchers...(let*.((h."[0-9a |
| 1680 | 2d 66 5d 22 29 0a 20 20 20 20 20 20 20 20 20 28 6e 6c 20 22 5c 6e 5c 5c 7c 5c 72 5c 6e 5c 5c 7c | -f]")..........(nl."\n\\|\r\n\\| |
| 16a0 | 5c 72 5c 5c 7c 5c 66 22 29 0a 20 20 20 20 20 20 20 20 20 28 6e 6f 6e 61 73 63 69 69 20 22 5b 5c | \r\\|\f")..........(nonascii."[\ |
| 16c0 | 32 30 30 2d 5c 55 30 30 31 30 66 66 66 66 5d 22 29 0a 20 20 20 20 20 20 20 20 20 28 75 6e 69 63 | 200-\U0010ffff]")..........(unic |
| 16e0 | 6f 64 65 20 28 66 6f 72 6d 61 74 20 22 5c 5c 5c 5c 25 73 5c 5c 7b 31 2c 36 5c 5c 7d 5b 20 5c 74 | ode.(format."\\\\%s\\{1,6\\}[.\t |
| 1700 | 5c 72 5c 6e 5c 66 5d 3f 22 20 68 29 29 0a 20 20 20 20 20 20 20 20 20 28 65 73 63 61 70 65 20 28 | \r\n\f]?".h))..........(escape.( |
| 1720 | 66 6f 72 6d 61 74 20 22 5c 5c 28 3f 3a 25 73 5c 5c 29 5c 5c 7c 5c 5c 5c 5c 5b 20 2d 7e 5c 32 30 | format."\\(?:%s\\)\\|\\\\[.-~\20 |
| 1740 | 30 2d 5c 55 30 30 31 30 66 66 66 66 5d 22 20 75 6e 69 63 6f 64 65 29 29 0a 20 20 20 20 20 20 20 | 0-\U0010ffff]".unicode))........ |
| 1760 | 20 20 28 6e 6d 73 74 61 72 74 20 28 66 6f 72 6d 61 74 20 22 5b 61 2d 7a 5f 5d 5c 5c 7c 25 73 5c | ..(nmstart.(format."[a-z_]\\|%s\ |
| 1780 | 5c 7c 5c 5c 28 3f 3a 25 73 5c 5c 29 22 20 6e 6f 6e 61 73 63 69 69 20 65 73 63 61 70 65 29 29 0a | \|\\(?:%s\\)".nonascii.escape)). |
| 17a0 | 20 20 20 20 20 20 20 20 20 28 6e 6d 63 68 61 72 20 28 66 6f 72 6d 61 74 20 22 5b 61 2d 7a 30 2d | .........(nmchar.(format."[a-z0- |
| 17c0 | 39 5f 2d 5d 5c 5c 7c 25 73 5c 5c 7c 5c 5c 28 3f 3a 25 73 5c 5c 29 22 20 6e 6f 6e 61 73 63 69 69 | 9_-]\\|%s\\|\\(?:%s\\)".nonascii |
| 17e0 | 20 65 73 63 61 70 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 6e 75 6d 20 22 5b 30 2d 39 5d 2b 5c | .escape))..........(num."[0-9]+\ |
| 1800 | 5c 7c 5b 30 2d 39 5d 2a 5c 5c 2e 5b 30 2d 39 5d 2b 22 29 0a 20 20 20 20 20 20 20 20 20 28 73 74 | \|[0-9]*\\.[0-9]+")..........(st |
| 1820 | 72 69 6e 67 31 20 28 66 6f 72 6d 61 74 20 22 5c 22 5c 5c 28 3f 3a 5b 5c 74 20 21 23 24 25 25 26 | ring1.(format."\"\\(?:[\t.!#$%%& |
| 1840 | 28 2d 7e 5d 5c 5c 7c 5c 5c 5c 5c 5c 5c 28 3f 3a 25 73 5c 5c 29 5c 5c 7c 27 5c 5c 7c 25 73 5c 5c | (-~]\\|\\\\\\(?:%s\\)\\|'\\|%s\\ |
| 1860 | 7c 5c 5c 28 3f 3a 25 73 5c 5c 29 5c 5c 29 2a 5c 22 22 20 6e 6c 20 6e 6f 6e 61 73 63 69 69 20 65 | |\\(?:%s\\)\\)*\"".nl.nonascii.e |
| 1880 | 73 63 61 70 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 32 20 28 66 6f 72 6d 61 | scape))..........(string2.(forma |
| 18a0 | 74 20 22 27 5c 5c 28 3f 3a 5b 5c 74 20 21 23 24 25 25 26 28 2d 7e 5d 5c 5c 7c 5c 5c 5c 5c 5c 5c | t."'\\(?:[\t.!#$%%&(-~]\\|\\\\\\ |
| 18c0 | 28 3f 3a 25 73 5c 5c 29 5c 5c 7c 5c 22 5c 5c 7c 25 73 5c 5c 7c 5c 5c 28 3f 3a 25 73 5c 5c 29 5c | (?:%s\\)\\|\"\\|%s\\|\\(?:%s\\)\ |
| 18e0 | 5c 29 2a 27 22 20 6e 6c 20 6e 6f 6e 61 73 63 69 69 20 65 73 63 61 70 65 29 29 0a 20 20 20 20 20 | \)*'".nl.nonascii.escape))...... |
| 1900 | 20 20 20 20 28 69 64 65 6e 74 20 28 66 6f 72 6d 61 74 20 22 5b 2d 5d 3f 5c 5c 28 3f 3a 25 73 5c | ....(ident.(format."[-]?\\(?:%s\ |
| 1920 | 5c 29 5c 5c 28 3f 3a 25 73 5c 5c 29 2a 22 20 6e 6d 73 74 61 72 74 20 6e 6d 63 68 61 72 29 29 0a | \)\\(?:%s\\)*".nmstart.nmchar)). |
| 1940 | 20 20 20 20 20 20 20 20 20 28 75 6e 69 74 20 28 66 6f 72 6d 61 74 20 22 5b 2d 5d 3f 5c 5c 28 3f | .........(unit.(format."[-]?\\(? |
| 1960 | 3a 25 73 5c 5c 29 5c 5c 28 3f 3a 25 73 5c 5c 29 2b 22 20 6e 6d 73 74 61 72 74 20 6e 6d 63 68 61 | :%s\\)\\(?:%s\\)+".nmstart.nmcha |
| 1980 | 72 29 29 0a 20 20 20 20 20 20 20 20 20 28 6e 61 6d 65 20 28 66 6f 72 6d 61 74 20 22 5c 5c 28 3f | r))..........(name.(format."\\(? |
| 19a0 | 3a 25 73 5c 5c 29 2b 22 20 6e 6d 63 68 61 72 29 29 29 0a 0a 20 20 20 20 60 28 28 77 68 69 74 65 | :%s\\)+".nmchar)))......`((white |
| 19c0 | 73 70 61 63 65 20 2e 20 22 5b 20 5c 74 5c 72 5c 6e 5c 66 5d 2b 22 29 0a 20 20 20 20 20 20 28 73 | space..."[.\t\r\n\f]+").......(s |
| 19e0 | 74 72 69 6e 67 20 2e 20 2c 28 66 6f 72 6d 61 74 20 22 5c 5c 28 3f 3a 25 73 5c 5c 7c 25 73 5c 5c | tring...,(format."\\(?:%s\\|%s\\ |
| 1a00 | 29 22 20 73 74 72 69 6e 67 31 20 73 74 72 69 6e 67 32 29 29 0a 20 20 20 20 20 20 28 69 64 65 6e | )".string1.string2)).......(iden |
| 1a20 | 74 20 2e 20 2c 69 64 65 6e 74 29 0a 20 20 20 20 20 20 28 68 61 73 68 20 2e 20 2c 28 66 6f 72 6d | t...,ident).......(hash...,(form |
| 1a40 | 61 74 20 22 23 25 73 22 20 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 28 66 75 6e 63 74 69 6f 6e 20 | at."#%s".name)).......(function. |
| 1a60 | 2e 20 2c 28 66 6f 72 6d 61 74 20 22 25 73 28 22 20 69 64 65 6e 74 29 29 0a 20 20 20 20 20 20 28 | ..,(format."%s(".ident)).......( |
| 1a80 | 6e 75 6d 62 65 72 20 2e 20 2c 6e 75 6d 29 0a 20 20 20 20 20 20 28 64 69 6d 65 6e 73 69 6f 6e 20 | number...,num).......(dimension. |
| 1aa0 | 2e 20 2c 28 66 6f 72 6d 61 74 20 22 5c 5c 28 3f 3a 25 73 5c 5c 29 25 73 22 20 6e 75 6d 20 75 6e | ..,(format."\\(?:%s\\)%s".num.un |
| 1ac0 | 69 74 29 29 0a 20 20 20 20 20 20 28 70 72 65 66 69 78 2d 6d 61 74 63 68 20 2e 20 22 5c 5c 5e 3d | it)).......(prefix-match..."\\^= |
| 1ae0 | 22 29 0a 20 20 20 20 20 20 28 73 75 66 66 69 78 2d 6d 61 74 63 68 20 2e 20 22 5c 5c 24 3d 22 29 | ").......(suffix-match..."\\$=") |
| 1b00 | 0a 20 20 20 20 20 20 28 73 75 62 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 2e 20 22 5c 5c 2a 3d 22 | .......(substring-match..."\\*=" |
| 1b20 | 29 0a 20 20 20 20 20 20 28 69 6e 63 6c 75 64 65 2d 6d 61 74 63 68 20 2e 20 22 7e 3d 22 29 0a 20 | ).......(include-match..."~=").. |
| 1b40 | 20 20 20 20 20 28 64 61 73 68 2d 6d 61 74 63 68 20 2e 20 22 7c 3d 22 29 0a 20 20 20 20 20 20 28 | .....(dash-match..."|=").......( |
| 1b60 | 63 6f 6d 6d 61 20 2e 20 22 2c 22 29 0a 20 20 20 20 20 20 28 67 74 20 2e 20 22 3e 22 29 0a 20 20 | comma...",").......(gt...">")... |
| 1b80 | 20 20 20 20 28 70 6c 75 73 20 2e 20 22 5c 5c 2b 22 29 0a 20 20 20 20 20 20 28 6d 69 6e 75 73 20 | ....(plus..."\\+").......(minus. |
| 1ba0 | 2e 20 22 2d 22 29 0a 20 20 20 20 20 20 28 74 69 6c 64 65 20 2e 20 22 7e 22 29 0a 20 20 20 20 20 | .."-").......(tilde..."~")...... |
| 1bc0 | 20 28 61 73 74 65 72 69 73 6b 20 2e 20 22 5c 5c 2a 22 29 0a 20 20 20 20 20 20 28 70 65 72 69 6f | .(asterisk..."\\*").......(perio |
| 1be0 | 64 20 2e 20 22 5c 5c 2e 22 29 0a 20 20 20 20 20 20 28 65 71 75 61 6c 73 20 2e 20 22 3d 22 29 0a | d..."\\.").......(equals..."="). |
| 1c00 | 20 20 20 20 20 20 28 63 6f 6c 6f 6e 20 2e 20 22 3a 22 29 0a 20 20 20 20 20 20 28 6c 62 72 61 63 | ......(colon...":").......(lbrac |
| 1c20 | 6b 65 74 20 2e 20 22 5c 5c 5b 22 29 0a 20 20 20 20 20 20 28 72 62 72 61 63 6b 65 74 20 2e 20 22 | ket..."\\[").......(rbracket..." |
| 1c40 | 5c 5c 5d 22 29 0a 20 20 20 20 20 20 28 72 70 61 72 65 6e 20 2e 20 22 29 22 29 29 29 29 0a 0a 28 | \\]").......(rparen...")"))))..( |
| 1c60 | 64 65 66 75 6e 20 65 73 78 6d 6c 2d 2d 74 6f 6b 65 6e 69 7a 65 2d 63 73 73 2d 73 65 6c 65 63 74 | defun.esxml--tokenize-css-select |
| 1c80 | 6f 72 20 28 73 74 72 69 6e 67 29 0a 20 20 28 6c 65 74 20 28 72 65 73 75 6c 74 29 0a 20 20 20 20 | or.(string)...(let.(result)..... |
| 1ca0 | 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 73 65 72 74 20 | (with-temp-buffer.......(insert. |
| 1cc0 | 73 74 72 69 6e 67 29 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d | string).......(goto-char.(point- |
| 1ce0 | 6d 69 6e 29 29 0a 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 6e 6f 74 20 28 65 6f 62 70 29 29 0a | min)).......(while.(not.(eobp)). |
| 1d00 | 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6d 61 78 2d 6c 65 6e 67 74 68 20 30 29 0a 20 20 20 | ........(let.((max-length.0).... |
| 1d20 | 20 20 20 20 20 20 20 20 20 20 20 6c 6f 6e 67 65 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 28 64 | ...........longest)...........(d |
| 1d40 | 6f 6c 69 73 74 20 28 6d 61 74 63 68 65 72 20 65 73 78 6d 6c 2d 2d 63 73 73 2d 73 65 6c 65 63 74 | olist.(matcher.esxml--css-select |
| 1d60 | 6f 72 2d 74 6f 6b 65 6e 2d 6d 61 74 63 68 65 72 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 | or-token-matchers).............( |
| 1d80 | 6c 65 74 20 28 28 69 64 20 28 63 61 72 20 6d 61 74 63 68 65 72 29 29 0a 20 20 20 20 20 20 20 20 | let.((id.(car.matcher))......... |
| 1da0 | 20 20 20 20 20 20 20 20 20 20 28 72 65 20 28 63 64 72 20 6d 61 74 63 68 65 72 29 29 29 0a 20 20 | ..........(re.(cdr.matcher)))... |
| 1dc0 | 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 6c 6f 6f 6b 69 6e 67 2d 61 74 20 72 65 | ............(when.(looking-at.re |
| 1de0 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 74 6f 6b 65 6e 20 | ).................(let*.((token. |
| 1e00 | 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | (match-string.0))............... |
| 1e20 | 20 20 20 20 20 20 20 20 20 28 6c 65 6e 67 74 68 20 28 6c 65 6e 67 74 68 20 74 6f 6b 65 6e 29 29 | .........(length.(length.token)) |
| 1e40 | 29 0a 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 3e 20 6c 65 6e | )...................(when.(>.len |
| 1e60 | 67 74 68 20 6d 61 78 2d 6c 65 6e 67 74 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | gth.max-length)................. |
| 1e80 | 20 20 20 20 28 73 65 74 71 20 6d 61 78 2d 6c 65 6e 67 74 68 20 6c 65 6e 67 74 68 29 0a 20 20 20 | ....(setq.max-length.length).... |
| 1ea0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6c 6f 6e 67 65 73 74 20 28 | .................(setq.longest.( |
| 1ec0 | 63 6f 6e 73 20 69 64 20 74 6f 6b 65 6e 29 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 | cons.id.token)))))))...........( |
| 1ee0 | 77 68 65 6e 20 28 6e 6f 74 20 6c 6f 6e 67 65 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 | when.(not.longest).............( |
| 1f00 | 65 72 72 6f 72 20 22 49 6e 76 61 6c 69 64 20 74 6f 6b 65 6e 20 64 65 74 65 63 74 65 64 3a 20 25 | error."Invalid.token.detected:.% |
| 1f20 | 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 75 66 66 65 72 2d 73 75 | s"....................(buffer-su |
| 1f40 | 62 73 74 72 69 6e 67 20 28 70 6f 69 6e 74 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 29 29 0a 20 | bstring.(point).(point-max)))).. |
| 1f60 | 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 6c 6f 6e 67 65 73 74 20 72 65 73 75 6c 74 29 0a 20 | .........(push.longest.result).. |
| 1f80 | 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 2b 20 28 70 6f 69 6e 74 29 20 6d | .........(goto-char.(+.(point).m |
| 1fa0 | 61 78 2d 6c 65 6e 67 74 68 29 29 29 29 29 0a 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 72 65 73 | ax-length))))).....(nreverse.res |
| 1fc0 | 75 6c 74 29 29 29 0a 0a 3b 3b 20 74 68 65 20 61 6c 74 65 72 6e 61 74 69 76 65 20 69 73 20 63 72 | ult)))..;;.the.alternative.is.cr |
| 1fe0 | 65 61 74 69 6e 67 20 61 20 6d 75 74 61 62 6c 65 20 6f 62 6a 65 63 74 20 77 69 74 68 20 70 65 65 | eating.a.mutable.object.with.pee |
| 2000 | 6b 2f 6e 65 78 74 20 6d 65 74 68 6f 64 73 0a 3b 3b 20 61 6e 64 20 70 61 73 73 69 6e 67 20 69 74 | k/next.methods.;;.and.passing.it |
| 2020 | 20 61 72 6f 75 6e 64 2c 20 73 6f 20 49 20 63 68 6f 73 65 20 74 68 65 20 6f 6e 65 20 72 65 71 75 | .around,.so.I.chose.the.one.requ |
| 2040 | 69 72 69 6e 67 20 6c 65 73 73 20 74 79 70 69 6e 67 2c 20 61 0a 3b 3b 20 64 79 6e 61 6d 69 63 61 | iring.less.typing,.a.;;.dynamica |
| 2060 | 6c 6c 79 20 62 6f 75 6e 64 20 76 61 72 69 61 62 6c 65 20 3a 3c 0a 0a 28 64 65 66 76 61 72 20 65 | lly.bound.variable.:<..(defvar.e |
| 2080 | 73 78 6d 6c 2d 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 29 0a 0a 3b 3b 20 54 4f 44 4f 3a 20 73 75 | sxml--token-stream)..;;.TODO:.su |
| 20a0 | 70 70 6f 72 74 20 3a 6e 6f 74 0a 3b 3b 20 63 73 73 2d 73 65 6c 65 63 74 6f 72 3a 0a 3b 3b 20 20 | pport.:not.;;.css-selector:.;;.. |
| 20c0 | 20 63 73 73 2d 73 65 6c 65 63 74 6f 72 2d 6c 69 73 74 3b 0a 3b 3b 20 63 73 73 2d 73 65 6c 65 63 | .css-selector-list;.;;.css-selec |
| 20e0 | 74 6f 72 2d 6c 69 73 74 3a 0a 3b 3b 20 20 20 63 6f 6d 70 6c 65 78 2d 63 73 73 2d 73 65 6c 65 63 | tor-list:.;;...complex-css-selec |
| 2100 | 74 6f 72 20 5b 20 63 6f 6d 6d 61 20 77 68 69 74 65 73 70 61 63 65 2a 20 63 6f 6d 70 6c 65 78 2d | tor.[.comma.whitespace*.complex- |
| 2120 | 63 73 73 2d 73 65 6c 65 63 74 6f 72 20 5d 2a 3b 0a 3b 3b 20 63 6f 6d 70 6c 65 78 2d 63 73 73 2d | css-selector.]*;.;;.complex-css- |
| 2140 | 73 65 6c 65 63 74 6f 72 3a 0a 3b 3b 20 20 20 63 6f 6d 70 6f 75 6e 64 2d 63 73 73 2d 73 65 6c 65 | selector:.;;...compound-css-sele |
| 2160 | 63 74 6f 72 20 5b 20 63 73 73 2d 63 6f 6d 62 69 6e 61 74 6f 72 20 63 6f 6d 70 6f 75 6e 64 2d 63 | ctor.[.css-combinator.compound-c |
| 2180 | 73 73 2d 73 65 6c 65 63 74 6f 72 20 5d 2a 20 77 68 69 74 65 73 70 61 63 65 2a 3b 0a 3b 3b 20 63 | ss-selector.]*.whitespace*;.;;.c |
| 21a0 | 73 73 2d 63 6f 6d 62 69 6e 61 74 6f 72 3a 0a 3b 3b 20 20 20 77 68 69 74 65 73 70 61 63 65 2b 20 | ss-combinator:.;;...whitespace+. |
| 21c0 | 7c 20 77 68 69 74 65 73 70 61 63 65 2a 20 5b 20 27 3e 27 20 7c 20 27 2b 27 20 7c 20 27 7e 27 20 | |.whitespace*.[.'>'.|.'+'.|.'~'. |
| 21e0 | 5d 20 77 68 69 74 65 73 70 61 63 65 2a 3b 0a 3b 3b 20 63 6f 6d 70 6f 75 6e 64 2d 63 73 73 2d 73 | ].whitespace*;.;;.compound-css-s |
| 2200 | 65 6c 65 63 74 6f 72 3a 0a 3b 3b 20 20 20 63 73 73 2d 74 79 70 65 2d 73 65 6c 65 63 74 6f 72 20 | elector:.;;...css-type-selector. |
| 2220 | 63 73 73 2d 6d 6f 64 69 66 69 65 72 2a 20 7c 20 63 73 73 2d 6d 6f 64 69 66 69 65 72 2b 3b 0a 3b | css-modifier*.|.css-modifier+;.; |
| 2240 | 3b 20 63 73 73 2d 74 79 70 65 2d 73 65 6c 65 63 74 6f 72 3a 0a 3b 3b 20 20 20 49 44 45 4e 54 20 | ;.css-type-selector:.;;...IDENT. |
| 2260 | 7c 20 2a 3b 0a 3b 3b 20 63 73 73 2d 6d 6f 64 69 66 69 65 72 3a 0a 3b 3b 20 20 20 20 63 73 73 2d | |.*;.;;.css-modifier:.;;....css- |
| 2280 | 69 64 20 7c 20 63 73 73 2d 63 6c 61 73 73 20 7c 20 63 73 73 2d 61 74 74 72 69 62 20 7c 20 63 73 | id.|.css-class.|.css-attrib.|.cs |
| 22a0 | 73 2d 70 73 65 75 64 6f 3b 0a 3b 3b 20 63 73 73 2d 69 64 3a 0a 3b 3b 20 20 20 48 41 53 48 3b 0a | s-pseudo;.;;.css-id:.;;...HASH;. |
| 22c0 | 3b 3b 20 63 73 73 2d 63 6c 61 73 73 3a 0a 3b 3b 20 20 20 27 2e 27 20 49 44 45 4e 54 3b 0a 3b 3b | ;;.css-class:.;;...'.'.IDENT;.;; |
| 22e0 | 20 63 73 73 2d 61 74 74 72 69 62 3a 0a 3b 3b 20 20 20 27 5b 27 20 77 68 69 74 65 73 70 61 63 65 | .css-attrib:.;;...'['.whitespace |
| 2300 | 2a 20 63 73 73 2d 61 74 74 72 69 62 2d 6e 61 6d 65 20 27 5d 27 0a 3b 3b 20 20 20 7c 20 27 5b 27 | *.css-attrib-name.']'.;;...|.'[' |
| 2320 | 20 77 68 69 74 65 73 70 61 63 65 2a 20 63 73 73 2d 61 74 74 72 69 62 2d 6e 61 6d 65 20 63 73 73 | .whitespace*.css-attrib-name.css |
| 2340 | 2d 61 74 74 72 69 62 2d 6d 61 74 63 68 20 63 73 73 2d 61 74 74 72 69 62 2d 76 61 6c 75 65 20 77 | -attrib-match.css-attrib-value.w |
| 2360 | 68 69 74 65 73 70 61 63 65 2a 20 27 5d 27 3b 0a 3b 3b 20 63 73 73 2d 61 74 74 72 69 62 2d 6e 61 | hitespace*.']';.;;.css-attrib-na |
| 2380 | 6d 65 3a 0a 3b 3b 20 20 20 49 44 45 4e 54 20 77 68 69 74 65 73 70 61 63 65 2a 3b 0a 3b 3b 20 63 | me:.;;...IDENT.whitespace*;.;;.c |
| 23a0 | 73 73 2d 61 74 74 72 69 62 2d 6d 61 74 63 68 3a 0a 3b 3b 20 20 20 5b 20 27 3d 27 20 7c 20 50 52 | ss-attrib-match:.;;...[.'='.|.PR |
| 23c0 | 45 46 49 58 2d 4d 41 54 43 48 20 7c 20 53 55 46 46 49 58 2d 4d 41 54 43 48 20 7c 20 53 55 42 53 | EFIX-MATCH.|.SUFFIX-MATCH.|.SUBS |
| 23e0 | 54 52 49 4e 47 2d 4d 41 54 43 48 20 7c 20 49 4e 43 4c 55 44 45 2d 4d 41 54 43 48 20 7c 20 44 41 | TRING-MATCH.|.INCLUDE-MATCH.|.DA |
| 2400 | 53 48 2d 4d 41 54 43 48 20 5d 20 77 68 69 74 65 73 70 61 63 65 2a 3b 0a 3b 3b 20 63 73 73 2d 61 | SH-MATCH.].whitespace*;.;;.css-a |
| 2420 | 74 74 72 69 62 2d 76 61 6c 75 65 3a 0a 3b 3b 20 20 20 49 44 45 4e 54 20 7c 20 53 54 52 49 4e 47 | ttrib-value:.;;...IDENT.|.STRING |
| 2440 | 3b 0a 3b 3b 20 63 73 73 2d 70 73 65 75 64 6f 3a 0a 3b 3b 20 20 20 27 3a 27 20 27 3a 27 3f 20 5b | ;.;;.css-pseudo:.;;...':'.':'?.[ |
| 2460 | 20 49 44 45 4e 54 20 7c 20 63 73 73 2d 66 75 6e 63 74 69 6f 6e 61 6c 2d 70 73 65 75 64 6f 20 5d | .IDENT.|.css-functional-pseudo.] |
| 2480 | 3b 0a 3b 3b 20 63 73 73 2d 66 75 6e 63 74 69 6f 6e 61 6c 2d 70 73 65 75 64 6f 3a 0a 3b 3b 20 20 | ;.;;.css-functional-pseudo:.;;.. |
| 24a0 | 20 46 55 4e 43 54 49 4f 4e 20 77 68 69 74 65 73 70 61 63 65 2a 20 5b 20 63 73 73 2d 65 78 70 72 | .FUNCTION.whitespace*.[.css-expr |
| 24c0 | 65 73 73 69 6f 6e 20 77 68 69 74 65 73 70 61 63 65 2a 20 5d 2b 20 27 29 27 3b 0a 3b 3b 20 63 73 | ession.whitespace*.]+.')';.;;.cs |
| 24e0 | 73 2d 65 78 70 72 65 73 73 69 6f 6e 3a 0a 3b 3b 20 20 20 27 2b 27 20 7c 20 27 2d 27 20 7c 20 44 | s-expression:.;;...'+'.|.'-'.|.D |
| 2500 | 49 4d 45 4e 53 49 4f 4e 20 7c 20 4e 55 4d 42 45 52 20 7c 20 53 54 52 49 4e 47 20 7c 20 49 44 45 | IMENSION.|.NUMBER.|.STRING.|.IDE |
| 2520 | 4e 54 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 71 75 65 72 79 2d 63 73 73 2d 65 73 63 61 70 | NT..(defun.esxml-query-css-escap |
| 2540 | 65 20 28 73 74 72 69 6e 67 29 0a 20 20 22 52 65 74 75 72 6e 73 20 65 73 63 61 70 65 64 20 76 65 | e.(string)..."Returns.escaped.ve |
| 2560 | 72 73 69 6f 6e 20 6f 66 20 53 54 52 49 4e 47 20 66 6f 72 20 75 73 65 20 69 6e 20 73 65 6c 65 63 | rsion.of.STRING.for.use.in.selec |
| 2580 | 74 6f 72 73 2e 0a 54 68 65 20 6c 6f 67 69 63 20 75 73 65 64 20 68 65 72 65 20 63 6f 72 72 65 73 | tors..The.logic.used.here.corres |
| 25a0 | 70 6f 6e 64 73 20 74 6f 20 74 68 65 20 43 53 53 2e 65 73 63 61 70 65 20 41 50 49 20 61 73 0a 73 | ponds.to.the.CSS.escape.API.as.s |
| 25c0 | 70 65 63 69 66 69 65 64 20 69 6e 20 68 74 74 70 73 3a 2f 2f 64 72 61 66 74 73 2e 63 73 73 77 67 | pecified.in.https://drafts.csswg |
| 25e0 | 2e 6f 72 67 2f 63 73 73 6f 6d 2f 23 74 68 65 2d 63 73 73 2e 65 73 63 61 70 65 28 29 2d 6d 65 74 | .org/cssom/#the-css.escape()-met |
| 2600 | 68 6f 64 2e 22 0a 20 20 28 6c 65 74 20 28 63 68 61 72 73 29 0a 20 20 20 20 28 64 6f 74 69 6d 65 | hod."...(let.(chars).....(dotime |
| 2620 | 73 20 28 69 20 28 6c 65 6e 67 74 68 20 73 74 72 69 6e 67 29 29 0a 20 20 20 20 20 20 28 6c 65 74 | s.(i.(length.string)).......(let |
| 2640 | 2a 20 28 28 63 68 61 72 20 28 61 72 65 66 20 73 74 72 69 6e 67 20 69 29 29 0a 20 20 20 20 20 20 | *.((char.(aref.string.i))....... |
| 2660 | 20 20 20 20 20 20 20 28 75 6e 70 72 69 6e 74 61 62 6c 65 70 20 28 6f 72 20 28 61 6e 64 20 28 3e | .......(unprintablep.(or.(and.(> |
| 2680 | 3d 20 63 68 61 72 20 3f 5c 75 30 30 30 31 29 20 28 3c 3d 20 63 68 61 72 20 3f 5c 75 30 30 31 66 | =.char.?\u0001).(<=.char.?\u001f |
| 26a0 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | )).............................. |
| 26c0 | 20 20 28 3d 20 63 68 61 72 20 3f 5c 75 30 30 37 66 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 | ..(=.char.?\u007f)))............ |
| 26e0 | 20 20 28 6e 6f 6e 61 73 63 69 69 70 20 28 3e 3d 20 63 68 61 72 20 3f 5c 75 30 30 38 30 29 29 0a | ..(nonasciip.(>=.char.?\u0080)). |
| 2700 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 69 67 69 74 70 20 28 61 6e 64 20 28 3e 3d 20 63 68 | .............(digitp.(and.(>=.ch |
| 2720 | 61 72 20 3f 5c 75 30 30 33 30 29 20 28 3c 3d 20 63 68 61 72 20 3f 5c 75 30 30 33 39 29 29 29 0a | ar.?\u0030).(<=.char.?\u0039))). |
| 2740 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 70 70 65 72 70 20 28 61 6e 64 20 28 3e 3d 20 63 68 | .............(upperp.(and.(>=.ch |
| 2760 | 61 72 20 3f 5c 75 30 30 34 31 29 20 28 3c 3d 20 63 68 61 72 20 3f 5c 75 30 30 35 61 29 29 29 0a | ar.?\u0041).(<=.char.?\u005a))). |
| 2780 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 6f 77 65 72 70 20 28 61 6e 64 20 28 3e 3d 20 63 68 | .............(lowerp.(and.(>=.ch |
| 27a0 | 61 72 20 3f 5c 75 30 30 36 31 29 20 28 3c 3d 20 63 68 61 72 20 3f 5c 75 30 30 37 61 29 29 29 29 | ar.?\u0061).(<=.char.?\u007a)))) |
| 27c0 | 0a 20 20 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 28 28 3d 20 63 68 61 72 | .........(cond..........((=.char |
| 27e0 | 20 3f 5c 75 30 30 30 30 29 0a 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 3f 5c 75 66 66 66 | .?\u0000)...........(push.?\ufff |
| 2800 | 64 20 63 68 61 72 73 29 29 0a 20 20 20 20 20 20 20 20 20 28 75 6e 70 72 69 6e 74 61 62 6c 65 70 | d.chars))..........(unprintablep |
| 2820 | 0a 20 20 20 20 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 63 68 61 72 20 28 73 74 72 69 6e 67 | ...........(dolist.(char.(string |
| 2840 | 2d 74 6f 2d 6c 69 73 74 20 28 66 6f 72 6d 61 74 20 22 5c 5c 25 78 20 22 20 63 68 61 72 29 29 29 | -to-list.(format."\\%x.".char))) |
| 2860 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 63 68 61 72 20 63 68 61 72 73 29 29 29 | .............(push.char.chars))) |
| 2880 | 0a 20 20 20 20 20 20 20 20 20 28 28 61 6e 64 20 28 3d 20 69 20 30 29 20 64 69 67 69 74 70 29 0a | ..........((and.(=.i.0).digitp). |
| 28a0 | 20 20 20 20 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 63 68 61 72 20 28 73 74 72 69 6e 67 2d | ..........(dolist.(char.(string- |
| 28c0 | 74 6f 2d 6c 69 73 74 20 28 66 6f 72 6d 61 74 20 22 5c 5c 25 78 20 22 20 63 68 61 72 29 29 29 0a | to-list.(format."\\%x.".char))). |
| 28e0 | 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 63 68 61 72 20 63 68 61 72 73 29 29 29 0a | ............(push.char.chars))). |
| 2900 | 20 20 20 20 20 20 20 20 20 28 28 61 6e 64 20 28 3d 20 69 20 31 29 20 64 69 67 69 74 70 20 28 3d | .........((and.(=.i.1).digitp.(= |
| 2920 | 20 28 61 72 65 66 20 73 74 72 69 6e 67 20 30 29 20 3f 2d 29 29 0a 20 20 20 20 20 20 20 20 20 20 | .(aref.string.0).?-))........... |
| 2940 | 28 64 6f 6c 69 73 74 20 28 63 68 61 72 20 28 73 74 72 69 6e 67 2d 74 6f 2d 6c 69 73 74 20 28 66 | (dolist.(char.(string-to-list.(f |
| 2960 | 6f 72 6d 61 74 20 22 5c 5c 25 78 20 22 20 63 68 61 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 | ormat."\\%x.".char)))........... |
| 2980 | 20 20 28 70 75 73 68 20 63 68 61 72 20 63 68 61 72 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 | ..(push.char.chars)))..........( |
| 29a0 | 28 61 6e 64 20 28 3d 20 69 20 30 29 20 28 3d 20 63 68 61 72 20 3f 2d 29 20 28 3d 20 28 6c 65 6e | (and.(=.i.0).(=.char.?-).(=.(len |
| 29c0 | 67 74 68 20 73 74 72 69 6e 67 29 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 | gth.string).1))...........(push. |
| 29e0 | 3f 5c 5c 20 63 68 61 72 73 29 0a 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 63 68 61 72 20 | ?\\.chars)...........(push.char. |
| 2a00 | 63 68 61 72 73 29 29 0a 20 20 20 20 20 20 20 20 20 28 28 6f 72 20 6e 6f 6e 61 73 63 69 69 70 20 | chars))..........((or.nonasciip. |
| 2a20 | 28 3d 20 63 68 61 72 20 3f 2d 29 20 28 3d 20 63 68 61 72 20 3f 5f 29 20 64 69 67 69 74 70 20 75 | (=.char.?-).(=.char.?_).digitp.u |
| 2a40 | 70 70 65 72 70 20 6c 6f 77 65 72 70 29 0a 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 63 68 | pperp.lowerp)...........(push.ch |
| 2a60 | 61 72 20 63 68 61 72 73 29 29 0a 20 20 20 20 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 20 20 20 | ar.chars))..........(t.......... |
| 2a80 | 20 28 70 75 73 68 20 3f 5c 5c 20 63 68 61 72 73 29 0a 20 20 20 20 20 20 20 20 20 20 28 70 75 73 | .(push.?\\.chars)...........(pus |
| 2aa0 | 68 20 63 68 61 72 20 63 68 61 72 73 29 29 29 29 29 0a 20 20 20 20 28 63 6f 6e 63 61 74 20 28 6e | h.char.chars))))).....(concat.(n |
| 2ac0 | 72 65 76 65 72 73 65 20 63 68 61 72 73 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d | reverse.chars))))..(defun.esxml- |
| 2ae0 | 2d 70 61 72 73 65 2d 63 73 73 2d 69 64 65 6e 74 69 66 69 65 72 20 28 73 74 72 69 6e 67 29 0a 20 | -parse-css-identifier.(string).. |
| 2b00 | 20 3b 3b 20 68 74 74 70 73 3a 2f 2f 77 77 77 2e 77 33 2e 6f 72 67 2f 54 52 2f 63 73 73 2d 73 79 | .;;.https://www.w3.org/TR/css-sy |
| 2b20 | 6e 74 61 78 2d 33 2f 23 63 6f 6e 73 75 6d 65 2d 73 74 72 69 6e 67 2d 74 6f 6b 65 6e 0a 20 20 28 | ntax-3/#consume-string-token...( |
| 2b40 | 6c 65 74 2a 20 28 28 63 6f 64 65 2d 70 6f 69 6e 74 73 20 28 73 74 72 69 6e 67 2d 74 6f 2d 6c 69 | let*.((code-points.(string-to-li |
| 2b60 | 73 74 20 73 74 72 69 6e 67 29 29 0a 20 20 20 20 20 20 20 20 20 63 68 61 72 73 0a 20 20 20 20 20 | st.string))..........chars...... |
| 2b80 | 20 20 20 20 74 6f 6b 65 6e 29 0a 20 20 20 20 28 77 68 69 6c 65 20 63 6f 64 65 2d 70 6f 69 6e 74 | ....token).....(while.code-point |
| 2ba0 | 73 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 63 68 61 72 20 28 70 6f 70 20 63 6f 64 65 2d 70 6f | s.......(let.((char.(pop.code-po |
| 2bc0 | 69 6e 74 73 29 29 29 0a 20 20 20 20 20 20 20 20 28 69 66 20 28 3d 20 63 68 61 72 20 3f 5c 5c 29 | ints))).........(if.(=.char.?\\) |
| 2be0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 63 68 61 72 20 28 70 6f 70 20 63 6f | .............(let.((char.(pop.co |
| 2c00 | 64 65 2d 70 6f 69 6e 74 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 | de-points)))...............(cond |
| 2c20 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 6e 6f 74 20 63 68 61 72 29 29 0a 20 20 20 | ................((not.char)).... |
| 2c40 | 20 20 20 20 20 20 20 20 20 20 20 20 28 28 3d 20 63 68 61 72 20 3f 5c 6e 29 29 0a 20 20 20 20 20 | ............((=.char.?\n))...... |
| 2c60 | 20 20 20 20 20 20 20 20 20 20 28 28 6f 72 20 28 61 6e 64 20 28 3e 3d 20 63 68 61 72 20 3f 30 29 | ..........((or.(and.(>=.char.?0) |
| 2c80 | 20 28 3c 3d 20 63 68 61 72 20 3f 39 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .(<=.char.?9)).................. |
| 2ca0 | 20 20 20 28 61 6e 64 20 28 3e 3d 20 63 68 61 72 20 3f 61 29 20 28 3c 3d 20 63 68 61 72 20 3f 66 | ...(and.(>=.char.?a).(<=.char.?f |
| 2cc0 | 29 29 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 20 28 3e 3d 20 | )).....................(and.(>=. |
| 2ce0 | 63 68 61 72 20 3f 41 29 20 28 3c 3d 20 63 68 61 72 20 3f 46 29 29 29 0a 20 20 20 20 20 20 20 20 | char.?A).(<=.char.?F)))......... |
| 2d00 | 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 69 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ........(let.((i.0)............. |
| 2d20 | 20 20 20 20 20 20 20 20 20 20 28 68 65 78 2d 63 68 61 72 73 20 28 6c 69 73 74 20 63 68 61 72 29 | ..........(hex-chars.(list.char) |
| 2d40 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 61 6e 64 | ))...................(while.(and |
| 2d60 | 20 28 3c 20 69 20 35 29 20 63 6f 64 65 2d 70 6f 69 6e 74 73 29 0a 20 20 20 20 20 20 20 20 20 20 | .(<.i.5).code-points)........... |
| 2d80 | 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 63 68 61 72 20 28 63 61 72 20 63 6f 64 65 2d | ..........(let.((char.(car.code- |
| 2da0 | 70 6f 69 6e 74 73 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 | points)))....................... |
| 2dc0 | 28 69 66 20 28 6f 72 20 28 61 6e 64 20 28 3e 3d 20 63 68 61 72 20 3f 30 29 20 28 3c 3d 20 63 68 | (if.(or.(and.(>=.char.?0).(<=.ch |
| 2de0 | 61 72 20 3f 39 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 | ar.?9))......................... |
| 2e00 | 20 20 20 20 20 20 28 61 6e 64 20 28 3e 3d 20 63 68 61 72 20 3f 61 29 20 28 3c 3d 20 63 68 61 72 | ......(and.(>=.char.?a).(<=.char |
| 2e20 | 20 3f 66 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 | .?f))........................... |
| 2e40 | 20 20 20 20 28 61 6e 64 20 28 3e 3d 20 63 68 61 72 20 3f 41 29 20 28 3c 3d 20 63 68 61 72 20 3f | ....(and.(>=.char.?A).(<=.char.? |
| 2e60 | 46 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 28 | F)))...........................( |
| 2e80 | 70 75 73 68 20 28 70 6f 70 20 63 6f 64 65 2d 70 6f 69 6e 74 73 29 20 68 65 78 2d 63 68 61 72 73 | push.(pop.code-points).hex-chars |
| 2ea0 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 | ).........................(setq. |
| 2ec0 | 69 20 35 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 | i.5))).....................(setq |
| 2ee0 | 20 69 20 28 31 2b 20 69 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c | .i.(1+.i)))...................(l |
| 2f00 | 65 74 20 28 28 63 68 61 72 20 28 63 61 72 20 63 6f 64 65 2d 70 6f 69 6e 74 73 29 29 29 0a 20 20 | et.((char.(car.code-points)))... |
| 2f20 | 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 61 6e 64 20 63 68 61 | ..................(when.(and.cha |
| 2f40 | 72 20 28 3d 20 63 68 61 72 20 3f 5c 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | r.(=.char.?\s))................. |
| 2f60 | 20 20 20 20 20 20 28 70 6f 70 20 63 6f 64 65 2d 70 6f 69 6e 74 73 29 29 29 0a 20 20 20 20 20 20 | ......(pop.code-points)))....... |
| 2f80 | 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 68 65 78 2d 74 6f 6b 65 6e 20 28 63 | ............(let*.((hex-token.(c |
| 2fa0 | 6f 6e 63 61 74 20 28 6e 72 65 76 65 72 73 65 20 68 65 78 2d 63 68 61 72 73 29 29 29 0a 20 20 20 | oncat.(nreverse.hex-chars))).... |
| 2fc0 | 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 64 65 2d 70 6f 69 6e | ......................(code-poin |
| 2fe0 | 74 20 28 73 74 72 69 6e 67 2d 74 6f 2d 6e 75 6d 62 65 72 20 68 65 78 2d 74 6f 6b 65 6e 20 31 36 | t.(string-to-number.hex-token.16 |
| 3000 | 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 6f 72 20 | ))).....................(if.(or. |
| 3020 | 28 7a 65 72 6f 70 20 63 6f 64 65 2d 70 6f 69 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | (zerop.code-point).............. |
| 3040 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 3e 3d 20 63 6f 64 65 2d 70 6f 69 | ...............(and.(>=.code-poi |
| 3060 | 6e 74 20 3f 5c 75 64 38 30 30 29 20 28 3c 3d 20 63 6f 64 65 2d 70 6f 69 6e 74 20 3f 5c 75 64 66 | nt.?\ud800).(<=.code-point.?\udf |
| 3080 | 66 66 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 | ff))............................ |
| 30a0 | 20 28 3e 20 63 6f 64 65 2d 70 6f 69 6e 74 20 3f 5c 55 30 30 31 30 66 66 66 66 29 29 0a 20 20 20 | .(>.code-point.?\U0010ffff)).... |
| 30c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 3f 5c 75 66 66 | .....................(push.?\uff |
| 30e0 | 66 64 20 63 68 61 72 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | fd.chars)....................... |
| 3100 | 28 70 75 73 68 20 63 6f 64 65 2d 70 6f 69 6e 74 20 63 68 61 72 73 29 29 29 29 29 0a 20 20 20 20 | (push.code-point.chars)))))..... |
| 3120 | 20 20 20 20 20 20 20 20 20 20 20 28 74 20 3b 20 75 6e 73 70 65 63 69 66 69 65 64 3a 20 6e 6f 6e | ...........(t.;.unspecified:.non |
| 3140 | 2d 68 65 78 20 64 69 67 69 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 | -hex.digit.................(push |
| 3160 | 20 63 68 61 72 20 63 68 61 72 73 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 | .char.chars))))...........(push. |
| 3180 | 63 68 61 72 20 63 68 61 72 73 29 29 29 29 0a 20 20 20 20 28 63 6f 6e 63 61 74 20 28 6e 72 65 76 | char.chars)))).....(concat.(nrev |
| 31a0 | 65 72 73 65 20 63 68 61 72 73 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 2d 70 61 | erse.chars))))..(defun.esxml--pa |
| 31c0 | 72 73 65 2d 63 73 73 2d 73 74 72 69 6e 67 2d 6c 69 74 65 72 61 6c 20 28 73 74 72 69 6e 67 29 0a | rse-css-string-literal.(string). |
| 31e0 | 20 20 28 65 73 78 6d 6c 2d 2d 70 61 72 73 65 2d 63 73 73 2d 69 64 65 6e 74 69 66 69 65 72 20 28 | ..(esxml--parse-css-identifier.( |
| 3200 | 73 75 62 73 74 72 69 6e 67 20 73 74 72 69 6e 67 20 31 20 2d 31 29 29 29 0a 0a 28 64 65 66 6d 61 | substring.string.1.-1)))..(defma |
| 3220 | 63 72 6f 20 65 73 78 6d 6c 2d 2d 77 69 74 68 2d 70 61 72 73 65 2d 73 68 6f 72 74 68 61 6e 64 73 | cro.esxml--with-parse-shorthands |
| 3240 | 20 28 26 72 65 73 74 20 62 6f 64 79 29 0a 20 20 60 28 63 6c 2d 6d 61 63 72 6f 6c 65 74 20 28 28 | .(&rest.body)...`(cl-macrolet.(( |
| 3260 | 70 65 65 6b 20 28 29 20 27 28 63 61 72 20 65 73 78 6d 6c 2d 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 | peek.().'(car.esxml--token-strea |
| 3280 | 6d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 65 78 74 20 28 29 20 27 28 | m))..................(next.().'( |
| 32a0 | 70 6f 70 20 65 73 78 6d 6c 2d 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 29 29 0a 20 20 20 20 20 20 | pop.esxml--token-stream))....... |
| 32c0 | 20 20 20 20 20 20 20 20 20 20 20 28 61 63 63 65 70 74 20 28 74 79 70 65 29 20 60 28 61 6e 64 20 | ...........(accept.(type).`(and. |
| 32e0 | 28 70 65 65 6b 29 20 28 65 71 20 28 63 61 72 20 28 70 65 65 6b 29 29 20 2c 74 79 70 65 29 0a 20 | (peek).(eq.(car.(peek)).,type).. |
| 3300 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 3320 | 20 20 20 20 20 28 63 64 72 20 28 6e 65 78 74 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | .....(cdr.(next))))............. |
| 3340 | 20 20 20 20 20 28 65 61 74 2d 77 68 69 74 65 73 70 61 63 65 20 28 29 20 27 28 77 68 69 6c 65 20 | .....(eat-whitespace.().'(while. |
| 3360 | 28 61 63 63 65 70 74 20 27 77 68 69 74 65 73 70 61 63 65 29 29 29 29 0a 20 20 20 20 20 2c 40 62 | (accept.'whitespace))))......,@b |
| 3380 | 6f 64 79 29 29 0a 28 64 65 66 2d 65 64 65 62 75 67 2d 73 70 65 63 20 65 73 78 6d 6c 2d 2d 77 69 | ody)).(def-edebug-spec.esxml--wi |
| 33a0 | 74 68 2d 70 61 72 73 65 2d 73 68 6f 72 74 68 61 6e 64 73 20 28 62 6f 64 79 29 29 0a 0a 28 64 65 | th-parse-shorthands.(body))..(de |
| 33c0 | 66 75 6e 20 65 73 78 6d 6c 2d 70 61 72 73 65 2d 63 73 73 2d 73 65 6c 65 63 74 6f 72 20 28 73 74 | fun.esxml-parse-css-selector.(st |
| 33e0 | 72 69 6e 67 29 0a 20 20 22 50 61 72 73 65 20 43 53 53 20 73 65 6c 65 63 74 6f 72 20 53 54 52 49 | ring)..."Parse.CSS.selector.STRI |
| 3400 | 4e 47 20 69 6e 74 6f 20 61 20 6c 69 73 74 20 6f 66 20 61 6c 69 73 74 73 2e 0a 45 61 63 68 20 61 | NG.into.a.list.of.alists..Each.a |
| 3420 | 6c 69 73 74 20 72 65 70 72 65 73 65 6e 74 73 20 61 20 63 6f 6d 70 6c 65 78 20 43 53 53 20 73 65 | list.represents.a.complex.CSS.se |
| 3440 | 6c 65 63 74 6f 72 2e 20 20 54 68 65 20 72 65 73 75 6c 74 20 63 61 6e 20 62 65 0a 70 61 73 73 65 | lector...The.result.can.be.passe |
| 3460 | 64 20 74 6f 20 60 65 73 78 6d 6c 2d 71 75 65 72 79 27 20 61 6e 64 20 60 65 73 78 6d 6c 2d 71 75 | d.to.`esxml-query'.and.`esxml-qu |
| 3480 | 65 72 79 2d 61 6c 6c 27 20 61 73 20 74 68 65 20 73 65 6c 65 63 74 6f 72 0a 61 72 67 75 6d 65 6e | ery-all'.as.the.selector.argumen |
| 34a0 | 74 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 65 73 78 6d 6c 2d 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 | t."...(let*.((esxml--token-strea |
| 34c0 | 6d 20 28 65 73 78 6d 6c 2d 2d 74 6f 6b 65 6e 69 7a 65 2d 63 73 73 2d 73 65 6c 65 63 74 6f 72 20 | m.(esxml--tokenize-css-selector. |
| 34e0 | 73 74 72 69 6e 67 29 29 0a 20 20 20 20 20 20 20 20 20 28 72 65 73 75 6c 74 20 28 65 73 78 6d 6c | string))..........(result.(esxml |
| 3500 | 2d 2d 70 61 72 73 65 2d 63 73 73 2d 73 65 6c 65 63 74 6f 72 2d 6c 69 73 74 29 29 29 0a 20 20 20 | --parse-css-selector-list))).... |
| 3520 | 20 28 77 68 65 6e 20 65 73 78 6d 6c 2d 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 0a 20 20 20 20 20 | .(when.esxml--token-stream...... |
| 3540 | 20 28 65 72 72 6f 72 20 22 54 72 61 69 6c 69 6e 67 20 67 61 72 62 61 67 65 3a 20 25 73 22 0a 20 | .(error."Trailing.garbage:.%s".. |
| 3560 | 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 6f 6e 63 61 74 20 27 63 64 72 20 65 73 78 6d | ............(mapconcat.'cdr.esxm |
| 3580 | 6c 2d 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 20 22 22 29 29 29 0a 20 20 20 20 72 65 73 75 6c 74 | l--token-stream.""))).....result |
| 35a0 | 29 29 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 2d 70 61 72 73 65 2d 63 73 73 2d 73 65 6c 65 | ))..(defun.esxml--parse-css-sele |
| 35c0 | 63 74 6f 72 2d 6c 69 73 74 20 28 29 0a 20 20 28 65 73 78 6d 6c 2d 2d 77 69 74 68 2d 70 61 72 73 | ctor-list.()...(esxml--with-pars |
| 35e0 | 65 2d 73 68 6f 72 74 68 61 6e 64 73 0a 20 20 20 28 6c 65 74 20 28 28 66 69 72 73 74 20 28 65 73 | e-shorthands....(let.((first.(es |
| 3600 | 78 6d 6c 2d 2d 70 61 72 73 65 2d 63 6f 6d 70 6c 65 78 2d 63 73 73 2d 73 65 6c 65 63 74 6f 72 29 | xml--parse-complex-css-selector) |
| 3620 | 29 0a 20 20 20 20 20 20 20 20 20 72 65 73 75 6c 74 29 0a 20 20 20 20 20 28 77 68 65 6e 20 28 6e | )..........result)......(when.(n |
| 3640 | 6f 74 20 66 69 72 73 74 29 0a 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 45 78 70 65 63 74 65 | ot.first)........(error."Expecte |
| 3660 | 64 20 61 74 20 6c 65 61 73 74 20 6f 6e 65 20 73 65 6c 65 63 74 6f 72 22 29 29 0a 20 20 20 20 20 | d.at.least.one.selector"))...... |
| 3680 | 28 70 75 73 68 20 66 69 72 73 74 20 72 65 73 75 6c 74 29 0a 0a 20 20 20 20 20 28 77 68 69 6c 65 | (push.first.result).......(while |
| 36a0 | 20 28 61 63 63 65 70 74 20 27 63 6f 6d 6d 61 29 0a 20 20 20 20 20 20 20 28 65 61 74 2d 77 68 69 | .(accept.'comma)........(eat-whi |
| 36c0 | 74 65 73 70 61 63 65 29 0a 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 73 65 6c 65 63 74 6f 72 20 | tespace)........(let.((selector. |
| 36e0 | 28 65 73 78 6d 6c 2d 2d 70 61 72 73 65 2d 63 6f 6d 70 6c 65 78 2d 63 73 73 2d 73 65 6c 65 63 74 | (esxml--parse-complex-css-select |
| 3700 | 6f 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 73 65 6c 65 63 74 | or)))..........(when.(not.select |
| 3720 | 6f 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 45 78 70 65 63 74 65 64 20 | or)............(error."Expected. |
| 3740 | 73 65 6c 65 63 74 6f 72 20 61 66 74 65 72 20 63 6f 6d 6d 61 22 29 29 0a 20 20 20 20 20 20 20 20 | selector.after.comma"))......... |
| 3760 | 20 28 70 75 73 68 20 73 65 6c 65 63 74 6f 72 20 72 65 73 75 6c 74 29 29 29 0a 20 20 20 20 20 28 | .(push.selector.result)))......( |
| 3780 | 6e 72 65 76 65 72 73 65 20 72 65 73 75 6c 74 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d | nreverse.result))))..(defun.esxm |
| 37a0 | 6c 2d 2d 70 61 72 73 65 2d 63 6f 6d 70 6c 65 78 2d 63 73 73 2d 73 65 6c 65 63 74 6f 72 20 28 29 | l--parse-complex-css-selector.() |
| 37c0 | 0a 20 20 28 65 73 78 6d 6c 2d 2d 77 69 74 68 2d 70 61 72 73 65 2d 73 68 6f 72 74 68 61 6e 64 73 | ...(esxml--with-parse-shorthands |
| 37e0 | 0a 20 20 20 28 6c 65 74 20 28 28 66 69 72 73 74 20 28 65 73 78 6d 6c 2d 2d 70 61 72 73 65 2d 63 | ....(let.((first.(esxml--parse-c |
| 3800 | 6f 6d 70 6f 75 6e 64 2d 63 73 73 2d 73 65 6c 65 63 74 6f 72 29 29 0a 20 20 20 20 20 20 20 20 20 | ompound-css-selector)).......... |
| 3820 | 72 65 73 75 6c 74 20 64 6f 6e 65 29 0a 20 20 20 20 20 28 77 68 65 6e 20 66 69 72 73 74 0a 20 20 | result.done)......(when.first... |
| 3840 | 20 20 20 20 20 28 70 75 73 68 20 66 69 72 73 74 20 72 65 73 75 6c 74 29 0a 0a 20 20 20 20 20 20 | .....(push.first.result)........ |
| 3860 | 20 28 77 68 69 6c 65 20 28 6e 6f 74 20 64 6f 6e 65 29 0a 20 20 20 20 20 20 20 20 20 28 6c 65 74 | .(while.(not.done)..........(let |
| 3880 | 20 28 28 63 6f 6d 62 69 6e 61 74 6f 72 20 28 65 73 78 6d 6c 2d 2d 70 61 72 73 65 2d 63 73 73 2d | .((combinator.(esxml--parse-css- |
| 38a0 | 63 6f 6d 62 69 6e 61 74 6f 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 63 6f 6d | combinator)))............(if.com |
| 38c0 | 62 69 6e 61 74 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 63 6f | binator................(let.((co |
| 38e0 | 6d 70 6f 75 6e 64 20 28 65 73 78 6d 6c 2d 2d 70 61 72 73 65 2d 63 6f 6d 70 6f 75 6e 64 2d 63 73 | mpound.(esxml--parse-compound-cs |
| 3900 | 73 2d 73 65 6c 65 63 74 6f 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | s-selector)))..................( |
| 3920 | 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6d 70 6f 75 6e 64 | cond...................(compound |
| 3940 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 72 65 73 75 6c 74 | ....................(setq.result |
| 3960 | 20 28 61 70 70 65 6e 64 20 28 6c 69 73 74 20 63 6f 6d 70 6f 75 6e 64 20 63 6f 6d 62 69 6e 61 74 | .(append.(list.compound.combinat |
| 3980 | 6f 72 29 20 72 65 73 75 6c 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | or).result)))................... |
| 39a0 | 3b 3b 20 61 6c 6c 6f 77 20 77 68 69 74 65 73 70 61 63 65 20 62 65 66 6f 72 65 20 63 6f 6d 6d 61 | ;;.allow.whitespace.before.comma |
| 39c0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 6e 6f 74 20 28 65 71 20 28 63 61 | ...................((not.(eq.(ca |
| 39e0 | 72 20 28 70 65 65 6b 29 29 20 27 63 6f 6d 6d 61 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | r.(peek)).'comma)).............. |
| 3a00 | 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 54 72 61 69 6c 69 6e 67 20 63 6f 6d 62 69 6e 61 74 6f | ......(error."Trailing.combinato |
| 3a20 | 72 22 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 64 6f 6e 65 20 74 | r"))))..............(setq.done.t |
| 3a40 | 29 29 29 29 0a 20 20 20 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 72 65 73 75 6c 74 29 29 29 29 | ))))........(nreverse.result)))) |
| 3a60 | 29 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 2d 70 61 72 73 65 2d 63 73 73 2d 63 6f 6d 62 69 | )..(defun.esxml--parse-css-combi |
| 3a80 | 6e 61 74 6f 72 20 28 29 0a 20 20 28 65 73 78 6d 6c 2d 2d 77 69 74 68 2d 70 61 72 73 65 2d 73 68 | nator.()...(esxml--with-parse-sh |
| 3aa0 | 6f 72 74 68 61 6e 64 73 0a 20 20 20 3b 3b 20 4e 4f 54 45 3a 20 77 68 69 74 65 73 70 61 63 65 2d | orthands....;;.NOTE:.whitespace- |
| 3ac0 | 73 75 72 72 6f 75 6e 64 65 64 20 63 6f 6d 62 69 6e 61 74 6f 72 73 20 61 72 65 20 64 69 73 74 69 | surrounded.combinators.are.disti |
| 3ae0 | 6e 67 75 69 73 68 65 64 20 66 72 6f 6d 0a 20 20 20 3b 3b 20 77 68 69 74 65 73 70 61 63 65 2d 6f | nguished.from....;;.whitespace-o |
| 3b00 | 6e 6c 79 20 6f 6e 65 73 20 62 79 20 63 68 65 63 6b 69 6e 67 20 77 68 65 74 68 65 72 20 74 68 65 | nly.ones.by.checking.whether.the |
| 3b20 | 72 65 20 68 61 73 20 62 65 65 6e 0a 20 20 20 3b 3b 20 77 68 69 74 65 73 70 61 63 65 20 66 6f 6c | re.has.been....;;.whitespace.fol |
| 3b40 | 6c 6f 77 65 64 20 62 79 20 61 20 6e 6f 6e 2d 62 6c 61 6e 6b 20 63 6f 6d 62 69 6e 61 74 6f 72 0a | lowed.by.a.non-blank.combinator. |
| 3b60 | 20 20 20 28 6c 65 74 20 28 28 6c 65 61 64 69 6e 67 2d 77 68 69 74 65 73 70 61 63 65 2d 70 20 28 | ...(let.((leading-whitespace-p.( |
| 3b80 | 65 71 20 28 63 61 72 20 28 70 65 65 6b 29 29 20 27 77 68 69 74 65 73 70 61 63 65 29 29 0a 20 20 | eq.(car.(peek)).'whitespace))... |
| 3ba0 | 20 20 20 20 20 20 20 72 65 73 75 6c 74 29 0a 20 20 20 20 20 28 65 61 74 2d 77 68 69 74 65 73 70 | .......result)......(eat-whitesp |
| 3bc0 | 61 63 65 29 0a 20 20 20 20 20 28 6c 65 74 20 28 28 74 79 70 65 20 28 63 61 72 20 28 70 65 65 6b | ace)......(let.((type.(car.(peek |
| 3be0 | 29 29 29 29 0a 20 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 28 28 6d 65 6d 62 | ))))........(cond.........((memb |
| 3c00 | 65 72 20 74 79 70 65 20 27 28 67 74 20 70 6c 75 73 20 74 69 6c 64 65 29 29 0a 20 20 20 20 20 20 | er.type.'(gt.plus.tilde))....... |
| 3c20 | 20 20 20 28 6e 65 78 74 29 0a 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 | ...(next)..........(cond........ |
| 3c40 | 20 20 20 28 28 65 71 20 74 79 70 65 20 27 67 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 65 | ...((eq.type.'gt)............(se |
| 3c60 | 74 71 20 72 65 73 75 6c 74 20 27 28 28 63 6f 6d 62 69 6e 61 74 6f 72 20 2e 20 63 68 69 6c 64 29 | tq.result.'((combinator...child) |
| 3c80 | 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20 74 79 70 65 20 27 70 6c 75 73 29 0a 20 | )))...........((eq.type.'plus).. |
| 3ca0 | 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 72 65 73 75 6c 74 20 27 28 28 63 6f 6d 62 69 6e | ..........(setq.result.'((combin |
| 3cc0 | 61 74 6f 72 20 2e 20 64 69 72 65 63 74 2d 73 69 62 6c 69 6e 67 29 29 29 29 0a 20 20 20 20 20 20 | ator...direct-sibling))))....... |
| 3ce0 | 20 20 20 20 28 28 65 71 20 74 79 70 65 20 27 74 69 6c 64 65 29 0a 20 20 20 20 20 20 20 20 20 20 | ....((eq.type.'tilde)........... |
| 3d00 | 20 28 73 65 74 71 20 72 65 73 75 6c 74 20 27 28 28 63 6f 6d 62 69 6e 61 74 6f 72 20 2e 20 69 6e | .(setq.result.'((combinator...in |
| 3d20 | 64 69 72 65 63 74 2d 73 69 62 6c 69 6e 67 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 65 61 | direct-sibling)))))..........(ea |
| 3d40 | 74 2d 77 68 69 74 65 73 70 61 63 65 29 29 0a 20 20 20 20 20 20 20 20 28 6c 65 61 64 69 6e 67 2d | t-whitespace)).........(leading- |
| 3d60 | 77 68 69 74 65 73 70 61 63 65 2d 70 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 72 65 73 75 | whitespace-p..........(setq.resu |
| 3d80 | 6c 74 20 27 28 28 63 6f 6d 62 69 6e 61 74 6f 72 20 2e 20 64 65 73 63 65 6e 64 61 6e 74 29 29 29 | lt.'((combinator...descendant))) |
| 3da0 | 29 0a 20 20 20 20 20 20 20 20 28 74 20 6e 69 6c 29 29 29 0a 20 20 20 20 20 72 65 73 75 6c 74 29 | ).........(t.nil)))......result) |
| 3dc0 | 29 29 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 2d 70 61 72 73 65 2d 63 6f 6d 70 6f 75 6e 64 | ))..(defun.esxml--parse-compound |
| 3de0 | 2d 63 73 73 2d 73 65 6c 65 63 74 6f 72 20 28 29 0a 20 20 28 65 73 78 6d 6c 2d 2d 77 69 74 68 2d | -css-selector.()...(esxml--with- |
| 3e00 | 70 61 72 73 65 2d 73 68 6f 72 74 68 61 6e 64 73 0a 20 20 20 28 6c 65 74 20 28 28 74 79 70 65 2d | parse-shorthands....(let.((type- |
| 3e20 | 73 65 6c 65 63 74 6f 72 20 28 65 73 78 6d 6c 2d 2d 70 61 72 73 65 2d 63 73 73 2d 74 79 70 65 2d | selector.(esxml--parse-css-type- |
| 3e40 | 73 65 6c 65 63 74 6f 72 29 29 0a 20 20 20 20 20 20 20 20 20 64 6f 6e 65 0a 20 20 20 20 20 20 20 | selector))..........done........ |
| 3e60 | 20 20 72 65 73 75 6c 74 29 0a 20 20 20 20 20 3b 3b 20 4e 4f 54 45 3a 20 63 73 73 2d 74 79 70 65 | ..result)......;;.NOTE:.css-type |
| 3e80 | 2d 73 65 6c 65 63 74 6f 72 20 63 73 73 2d 6d 6f 64 69 66 69 65 72 2a 20 7c 20 63 73 73 2d 6d 6f | -selector.css-modifier*.|.css-mo |
| 3ea0 | 64 69 66 69 65 72 2b 3b 20 69 73 0a 20 20 20 20 20 3b 3b 20 65 71 75 69 76 61 6c 65 6e 74 20 74 | difier+;.is......;;.equivalent.t |
| 3ec0 | 6f 3a 20 5b 20 63 73 73 2d 74 79 70 65 2d 73 65 6c 65 63 74 6f 72 20 7c 20 63 73 73 2d 6d 6f 64 | o:.[.css-type-selector.|.css-mod |
| 3ee0 | 69 66 69 65 72 20 5d 20 63 73 73 2d 6d 6f 64 69 66 69 65 72 2a 3b 0a 20 20 20 20 20 28 69 66 20 | ifier.].css-modifier*;......(if. |
| 3f00 | 74 79 70 65 2d 73 65 6c 65 63 74 6f 72 0a 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 74 79 70 | type-selector..........(push.typ |
| 3f20 | 65 2d 73 65 6c 65 63 74 6f 72 20 72 65 73 75 6c 74 29 0a 20 20 20 20 20 20 20 28 6c 65 74 20 28 | e-selector.result)........(let.( |
| 3f40 | 28 6d 6f 64 69 66 69 65 72 20 28 65 73 78 6d 6c 2d 2d 70 61 72 73 65 2d 63 73 73 2d 6d 6f 64 69 | (modifier.(esxml--parse-css-modi |
| 3f60 | 66 69 65 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 69 66 20 6d 6f 64 69 66 69 65 72 0a 20 20 | fier)))..........(if.modifier... |
| 3f80 | 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 6d 6f 64 69 66 69 65 72 20 72 65 73 75 6c 74 | ...........(push.modifier.result |
| 3fa0 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 4e 4f 54 45 3a 20 74 68 69 73 20 61 6c 6c 6f 77 | )............;;.NOTE:.this.allow |
| 3fc0 | 73 20 74 68 65 20 74 72 61 69 6c 69 6e 67 20 63 6f 6d 62 69 6e 61 74 6f 72 20 65 72 72 6f 72 20 | s.the.trailing.combinator.error. |
| 3fe0 | 74 6f 20 62 65 20 74 68 72 6f 77 6e 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 64 6f | to.be.thrown............(setq.do |
| 4000 | 6e 65 20 74 29 29 29 29 0a 0a 20 20 20 20 20 28 77 68 69 6c 65 20 28 6e 6f 74 20 64 6f 6e 65 29 | ne.t)))).......(while.(not.done) |
| 4020 | 0a 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6d 6f 64 69 66 69 65 72 20 28 65 73 78 6d 6c 2d 2d | ........(let.((modifier.(esxml-- |
| 4040 | 70 61 72 73 65 2d 63 73 73 2d 6d 6f 64 69 66 69 65 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 | parse-css-modifier)))..........( |
| 4060 | 69 66 20 6d 6f 64 69 66 69 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 6d | if.modifier..............(push.m |
| 4080 | 6f 64 69 66 69 65 72 20 72 65 73 75 6c 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 | odifier.result)............(setq |
| 40a0 | 20 64 6f 6e 65 20 74 29 29 29 29 0a 20 20 20 20 20 28 77 68 65 6e 20 28 3e 20 28 63 6c 2d 63 6f | .done.t))))......(when.(>.(cl-co |
| 40c0 | 75 6e 74 20 27 69 64 20 72 65 73 75 6c 74 20 3a 6b 65 79 20 27 63 61 72 29 20 31 29 0a 20 20 20 | unt.'id.result.:key.'car).1).... |
| 40e0 | 20 20 20 20 28 65 72 72 6f 72 20 22 4f 6e 6c 79 20 6f 6e 65 20 69 64 20 73 65 6c 65 63 74 6f 72 | ....(error."Only.one.id.selector |
| 4100 | 20 61 6c 6c 6f 77 65 64 20 70 65 72 20 63 6f 6d 70 6f 75 6e 64 22 29 29 0a 20 20 20 20 20 28 6e | .allowed.per.compound"))......(n |
| 4120 | 72 65 76 65 72 73 65 20 72 65 73 75 6c 74 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c | reverse.result))))..(defun.esxml |
| 4140 | 2d 2d 70 61 72 73 65 2d 63 73 73 2d 74 79 70 65 2d 73 65 6c 65 63 74 6f 72 20 28 29 0a 20 20 28 | --parse-css-type-selector.()...( |
| 4160 | 65 73 78 6d 6c 2d 2d 77 69 74 68 2d 70 61 72 73 65 2d 73 68 6f 72 74 68 61 6e 64 73 0a 20 20 20 | esxml--with-parse-shorthands.... |
| 4180 | 28 6c 65 74 20 28 28 74 6f 6b 65 6e 20 28 70 65 65 6b 29 29 29 0a 20 20 20 20 20 28 63 6f 6e 64 | (let.((token.(peek)))......(cond |
| 41a0 | 0a 20 20 20 20 20 20 28 28 65 71 20 28 63 61 72 20 74 6f 6b 65 6e 29 20 27 69 64 65 6e 74 29 0a | .......((eq.(car.token).'ident). |
| 41c0 | 20 20 20 20 20 20 20 28 6e 65 78 74 29 0a 20 20 20 20 20 20 20 28 63 6f 6e 73 20 27 74 61 67 20 | .......(next)........(cons.'tag. |
| 41e0 | 28 69 6e 74 65 72 6e 20 28 65 73 78 6d 6c 2d 2d 70 61 72 73 65 2d 63 73 73 2d 69 64 65 6e 74 69 | (intern.(esxml--parse-css-identi |
| 4200 | 66 69 65 72 20 28 63 64 72 20 74 6f 6b 65 6e 29 29 29 29 29 0a 20 20 20 20 20 20 28 28 65 71 20 | fier.(cdr.token))))).......((eq. |
| 4220 | 28 63 61 72 20 74 6f 6b 65 6e 29 20 27 61 73 74 65 72 69 73 6b 29 0a 20 20 20 20 20 20 20 28 6e | (car.token).'asterisk)........(n |
| 4240 | 65 78 74 29 0a 20 20 20 20 20 20 20 27 28 77 69 6c 64 63 61 72 64 29 29 0a 20 20 20 20 20 20 28 | ext)........'(wildcard)).......( |
| 4260 | 74 20 6e 69 6c 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 2d 70 61 72 73 65 2d | t.nil)))))..(defun.esxml--parse- |
| 4280 | 63 73 73 2d 6d 6f 64 69 66 69 65 72 20 28 29 0a 20 20 28 6f 72 20 28 65 73 78 6d 6c 2d 2d 70 61 | css-modifier.()...(or.(esxml--pa |
| 42a0 | 72 73 65 2d 63 73 73 2d 69 64 29 0a 20 20 20 20 20 20 28 65 73 78 6d 6c 2d 2d 70 61 72 73 65 2d | rse-css-id).......(esxml--parse- |
| 42c0 | 63 73 73 2d 63 6c 61 73 73 29 0a 20 20 20 20 20 20 28 65 73 78 6d 6c 2d 2d 70 61 72 73 65 2d 63 | css-class).......(esxml--parse-c |
| 42e0 | 73 73 2d 61 74 74 72 69 62 29 0a 20 20 20 20 20 20 28 65 73 78 6d 6c 2d 2d 70 61 72 73 65 2d 63 | ss-attrib).......(esxml--parse-c |
| 4300 | 73 73 2d 70 73 65 75 64 6f 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 2d 70 61 72 73 | ss-pseudo)))..(defun.esxml--pars |
| 4320 | 65 2d 63 73 73 2d 69 64 20 28 29 0a 20 20 28 65 73 78 6d 6c 2d 2d 77 69 74 68 2d 70 61 72 73 65 | e-css-id.()...(esxml--with-parse |
| 4340 | 2d 73 68 6f 72 74 68 61 6e 64 73 0a 20 20 20 28 6c 65 74 20 28 28 76 61 6c 75 65 20 28 61 63 63 | -shorthands....(let.((value.(acc |
| 4360 | 65 70 74 20 27 68 61 73 68 29 29 29 0a 20 20 20 20 20 28 77 68 65 6e 20 76 61 6c 75 65 0a 20 20 | ept.'hash)))......(when.value... |
| 4380 | 20 20 20 20 20 28 63 6f 6e 73 20 27 69 64 20 28 73 75 62 73 74 72 69 6e 67 20 76 61 6c 75 65 20 | .....(cons.'id.(substring.value. |
| 43a0 | 31 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 2d 70 61 72 73 65 2d 63 73 73 | 1))))))..(defun.esxml--parse-css |
| 43c0 | 2d 63 6c 61 73 73 20 28 29 0a 20 20 28 65 73 78 6d 6c 2d 2d 77 69 74 68 2d 70 61 72 73 65 2d 73 | -class.()...(esxml--with-parse-s |
| 43e0 | 68 6f 72 74 68 61 6e 64 73 0a 20 20 20 28 77 68 65 6e 20 28 61 63 63 65 70 74 20 27 70 65 72 69 | horthands....(when.(accept.'peri |
| 4400 | 6f 64 29 0a 20 20 20 20 20 28 6c 65 74 20 28 28 76 61 6c 75 65 20 28 61 63 63 65 70 74 20 27 69 | od)......(let.((value.(accept.'i |
| 4420 | 64 65 6e 74 29 29 29 0a 20 20 20 20 20 20 20 28 69 66 20 76 61 6c 75 65 0a 20 20 20 20 20 20 20 | dent)))........(if.value........ |
| 4440 | 20 20 20 20 28 63 6f 6e 73 20 27 63 6c 61 73 73 20 76 61 6c 75 65 29 0a 20 20 20 20 20 20 20 20 | ....(cons.'class.value)......... |
| 4460 | 20 28 65 72 72 6f 72 20 22 45 78 70 65 63 74 65 64 20 69 64 65 6e 74 69 66 69 65 72 20 61 66 74 | .(error."Expected.identifier.aft |
| 4480 | 65 72 20 70 65 72 69 6f 64 22 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 2d | er.period"))))))..(defun.esxml-- |
| 44a0 | 70 61 72 73 65 2d 63 73 73 2d 61 74 74 72 69 62 20 28 29 0a 20 20 28 65 73 78 6d 6c 2d 2d 77 69 | parse-css-attrib.()...(esxml--wi |
| 44c0 | 74 68 2d 70 61 72 73 65 2d 73 68 6f 72 74 68 61 6e 64 73 0a 20 20 20 28 6c 65 74 20 28 72 65 73 | th-parse-shorthands....(let.(res |
| 44e0 | 75 6c 74 29 0a 20 20 20 20 20 28 77 68 65 6e 20 28 61 63 63 65 70 74 20 27 6c 62 72 61 63 6b 65 | ult)......(when.(accept.'lbracke |
| 4500 | 74 29 0a 20 20 20 20 20 20 20 28 65 61 74 2d 77 68 69 74 65 73 70 61 63 65 29 0a 20 20 20 20 20 | t)........(eat-whitespace)...... |
| 4520 | 20 20 28 6c 65 74 20 28 28 6e 61 6d 65 20 28 65 73 78 6d 6c 2d 2d 70 61 72 73 65 2d 63 73 73 2d | ..(let.((name.(esxml--parse-css- |
| 4540 | 61 74 74 72 69 62 2d 6e 61 6d 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 6e | attrib-name)))..........(when.(n |
| 4560 | 6f 74 20 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 45 78 70 65 | ot.name)............(error."Expe |
| 4580 | 63 74 65 64 20 61 74 74 72 69 62 75 74 65 20 6e 61 6d 65 22 29 29 0a 20 20 20 20 20 20 20 20 20 | cted.attribute.name")).......... |
| 45a0 | 28 70 75 73 68 20 28 63 6f 6e 73 20 27 6e 61 6d 65 20 28 65 73 78 6d 6c 2d 2d 70 61 72 73 65 2d | (push.(cons.'name.(esxml--parse- |
| 45c0 | 63 73 73 2d 69 64 65 6e 74 69 66 69 65 72 20 6e 61 6d 65 29 29 20 72 65 73 75 6c 74 29 0a 20 20 | css-identifier.name)).result)... |
| 45e0 | 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 28 61 63 63 65 70 74 20 27 72 62 72 61 63 | .......(when.(not.(accept.'rbrac |
| 4600 | 6b 65 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6d 61 74 63 68 20 28 65 | ket))............(let.((match.(e |
| 4620 | 73 78 6d 6c 2d 2d 70 61 72 73 65 2d 63 73 73 2d 61 74 74 72 69 62 2d 6d 61 74 63 68 29 29 29 0a | sxml--parse-css-attrib-match))). |
| 4640 | 20 20 20 20 20 20 20 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 | .............(when.(not.match).. |
| 4660 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 45 78 70 65 63 74 65 64 20 61 | ..............(error."Expected.a |
| 4680 | 74 74 72 69 62 75 74 65 20 6d 61 74 63 68 65 72 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ttribute.matcher"))............. |
| 46a0 | 20 28 6c 65 74 20 28 28 76 61 6c 75 65 20 28 65 73 78 6d 6c 2d 2d 70 61 72 73 65 2d 63 73 73 2d | .(let.((value.(esxml--parse-css- |
| 46c0 | 61 74 74 72 69 62 2d 76 61 6c 75 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | attrib-value)))................( |
| 46e0 | 77 68 65 6e 20 28 6e 6f 74 20 76 61 6c 75 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | when.(not.value)................ |
| 4700 | 20 20 28 65 72 72 6f 72 20 22 45 78 70 65 63 74 65 64 20 61 74 74 72 69 62 75 74 65 20 76 61 6c | ..(error."Expected.attribute.val |
| 4720 | 75 65 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 61 74 2d 77 68 69 74 65 73 | ue"))................(eat-whites |
| 4740 | 70 61 63 65 29 0a 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 | pace)................(when.(not. |
| 4760 | 28 61 63 63 65 70 74 20 27 72 62 72 61 63 6b 65 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | (accept.'rbracket))............. |
| 4780 | 20 20 20 20 20 28 65 72 72 6f 72 20 22 55 6e 74 65 72 6d 69 6e 61 74 65 64 20 61 74 74 72 69 62 | .....(error."Unterminated.attrib |
| 47a0 | 75 74 65 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 63 6f 6e | ute"))................(push.(con |
| 47c0 | 73 20 6d 61 74 63 68 20 76 61 6c 75 65 29 20 72 65 73 75 6c 74 29 29 29 29 29 0a 20 20 20 20 20 | s.match.value).result)))))...... |
| 47e0 | 20 20 28 63 6f 6e 73 20 27 61 74 74 72 69 62 75 74 65 20 28 6e 72 65 76 65 72 73 65 20 72 65 73 | ..(cons.'attribute.(nreverse.res |
| 4800 | 75 6c 74 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 2d 70 61 72 73 65 2d 63 | ult))))))..(defun.esxml--parse-c |
| 4820 | 73 73 2d 61 74 74 72 69 62 2d 6e 61 6d 65 20 28 29 0a 20 20 28 65 73 78 6d 6c 2d 2d 77 69 74 68 | ss-attrib-name.()...(esxml--with |
| 4840 | 2d 70 61 72 73 65 2d 73 68 6f 72 74 68 61 6e 64 73 0a 20 20 20 28 6c 65 74 20 28 28 6e 61 6d 65 | -parse-shorthands....(let.((name |
| 4860 | 20 28 61 63 63 65 70 74 20 27 69 64 65 6e 74 29 29 29 0a 20 20 20 20 20 28 77 68 65 6e 20 6e 61 | .(accept.'ident)))......(when.na |
| 4880 | 6d 65 0a 20 20 20 20 20 20 20 28 65 61 74 2d 77 68 69 74 65 73 70 61 63 65 29 0a 20 20 20 20 20 | me........(eat-whitespace)...... |
| 48a0 | 20 20 6e 61 6d 65 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 2d 70 61 72 73 65 2d | ..name))))..(defun.esxml--parse- |
| 48c0 | 63 73 73 2d 61 74 74 72 69 62 2d 6d 61 74 63 68 20 28 29 0a 20 20 28 65 73 78 6d 6c 2d 2d 77 69 | css-attrib-match.()...(esxml--wi |
| 48e0 | 74 68 2d 70 61 72 73 65 2d 73 68 6f 72 74 68 61 6e 64 73 0a 20 20 20 28 6c 65 74 20 28 72 65 73 | th-parse-shorthands....(let.(res |
| 4900 | 75 6c 74 29 0a 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 28 28 61 63 63 65 70 74 20 27 | ult)......(cond.......((accept.' |
| 4920 | 65 71 75 61 6c 73 29 0a 20 20 20 20 20 20 20 28 73 65 74 71 20 72 65 73 75 6c 74 20 27 65 78 61 | equals)........(setq.result.'exa |
| 4940 | 63 74 2d 6d 61 74 63 68 29 29 0a 20 20 20 20 20 20 28 28 61 63 63 65 70 74 20 27 70 72 65 66 69 | ct-match)).......((accept.'prefi |
| 4960 | 78 2d 6d 61 74 63 68 29 0a 20 20 20 20 20 20 20 28 73 65 74 71 20 72 65 73 75 6c 74 20 27 70 72 | x-match)........(setq.result.'pr |
| 4980 | 65 66 69 78 2d 6d 61 74 63 68 29 29 0a 20 20 20 20 20 20 28 28 61 63 63 65 70 74 20 27 73 75 66 | efix-match)).......((accept.'suf |
| 49a0 | 66 69 78 2d 6d 61 74 63 68 29 0a 20 20 20 20 20 20 20 28 73 65 74 71 20 72 65 73 75 6c 74 20 27 | fix-match)........(setq.result.' |
| 49c0 | 73 75 66 66 69 78 2d 6d 61 74 63 68 29 29 0a 20 20 20 20 20 20 28 28 61 63 63 65 70 74 20 27 73 | suffix-match)).......((accept.'s |
| 49e0 | 75 62 73 74 72 69 6e 67 2d 6d 61 74 63 68 29 0a 20 20 20 20 20 20 20 28 73 65 74 71 20 72 65 73 | ubstring-match)........(setq.res |
| 4a00 | 75 6c 74 20 27 73 75 62 73 74 72 69 6e 67 2d 6d 61 74 63 68 29 29 0a 20 20 20 20 20 20 28 28 61 | ult.'substring-match)).......((a |
| 4a20 | 63 63 65 70 74 20 27 69 6e 63 6c 75 64 65 2d 6d 61 74 63 68 29 0a 20 20 20 20 20 20 20 28 73 65 | ccept.'include-match)........(se |
| 4a40 | 74 71 20 72 65 73 75 6c 74 20 27 69 6e 63 6c 75 64 65 2d 6d 61 74 63 68 29 29 0a 20 20 20 20 20 | tq.result.'include-match))...... |
| 4a60 | 20 28 28 61 63 63 65 70 74 20 27 64 61 73 68 2d 6d 61 74 63 68 29 0a 20 20 20 20 20 20 20 28 73 | .((accept.'dash-match)........(s |
| 4a80 | 65 74 71 20 72 65 73 75 6c 74 20 27 64 61 73 68 2d 6d 61 74 63 68 29 29 29 0a 20 20 20 20 20 28 | etq.result.'dash-match)))......( |
| 4aa0 | 65 61 74 2d 77 68 69 74 65 73 70 61 63 65 29 0a 20 20 20 20 20 72 65 73 75 6c 74 29 29 29 0a 0a | eat-whitespace)......result))).. |
| 4ac0 | 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 2d 70 61 72 73 65 2d 63 73 73 2d 61 74 74 72 69 62 2d 76 | (defun.esxml--parse-css-attrib-v |
| 4ae0 | 61 6c 75 65 20 28 29 0a 20 20 28 65 73 78 6d 6c 2d 2d 77 69 74 68 2d 70 61 72 73 65 2d 73 68 6f | alue.()...(esxml--with-parse-sho |
| 4b00 | 72 74 68 61 6e 64 73 0a 20 20 20 28 6c 65 74 20 28 28 74 6f 6b 65 6e 20 28 70 65 65 6b 29 29 29 | rthands....(let.((token.(peek))) |
| 4b20 | 0a 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 28 28 65 71 20 28 63 61 72 20 74 6f 6b 65 | ......(cond.......((eq.(car.toke |
| 4b40 | 6e 29 20 27 69 64 65 6e 74 29 0a 20 20 20 20 20 20 20 28 6e 65 78 74 29 0a 20 20 20 20 20 20 20 | n).'ident)........(next)........ |
| 4b60 | 28 65 73 78 6d 6c 2d 2d 70 61 72 73 65 2d 63 73 73 2d 69 64 65 6e 74 69 66 69 65 72 20 28 63 64 | (esxml--parse-css-identifier.(cd |
| 4b80 | 72 20 74 6f 6b 65 6e 29 29 29 0a 20 20 20 20 20 20 28 28 65 71 20 28 63 61 72 20 74 6f 6b 65 6e | r.token))).......((eq.(car.token |
| 4ba0 | 29 20 27 73 74 72 69 6e 67 29 0a 20 20 20 20 20 20 20 28 6e 65 78 74 29 0a 20 20 20 20 20 20 20 | ).'string)........(next)........ |
| 4bc0 | 28 65 73 78 6d 6c 2d 2d 70 61 72 73 65 2d 63 73 73 2d 73 74 72 69 6e 67 2d 6c 69 74 65 72 61 6c | (esxml--parse-css-string-literal |
| 4be0 | 20 28 63 64 72 20 74 6f 6b 65 6e 29 29 29 0a 20 20 20 20 20 20 28 74 20 6e 69 6c 29 29 29 29 29 | .(cdr.token))).......(t.nil))))) |
| 4c00 | 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 2d 70 61 72 73 65 2d 63 73 73 2d 70 73 65 75 64 6f | ..(defun.esxml--parse-css-pseudo |
| 4c20 | 20 28 29 0a 20 20 28 65 73 78 6d 6c 2d 2d 77 69 74 68 2d 70 61 72 73 65 2d 73 68 6f 72 74 68 61 | .()...(esxml--with-parse-shortha |
| 4c40 | 6e 64 73 0a 20 20 20 28 6c 65 74 20 28 72 65 73 75 6c 74 20 74 79 70 65 29 0a 20 20 20 20 20 28 | nds....(let.(result.type)......( |
| 4c60 | 77 68 65 6e 20 28 61 63 63 65 70 74 20 27 63 6f 6c 6f 6e 29 0a 20 20 20 20 20 20 20 28 69 66 20 | when.(accept.'colon)........(if. |
| 4c80 | 28 61 63 63 65 70 74 20 27 63 6f 6c 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 | (accept.'colon)............(setq |
| 4ca0 | 20 74 79 70 65 20 27 70 73 65 75 64 6f 2d 65 6c 65 6d 65 6e 74 29 0a 20 20 20 20 20 20 20 20 20 | .type.'pseudo-element).......... |
| 4cc0 | 28 73 65 74 71 20 74 79 70 65 20 27 70 73 65 75 64 6f 2d 63 6c 61 73 73 29 29 0a 20 20 20 20 20 | (setq.type.'pseudo-class))...... |
| 4ce0 | 20 20 28 6c 65 74 20 28 28 66 75 6e 63 74 69 6f 6e 61 6c 20 28 65 73 78 6d 6c 2d 2d 70 61 72 73 | ..(let.((functional.(esxml--pars |
| 4d00 | 65 2d 63 73 73 2d 66 75 6e 63 74 69 6f 6e 61 6c 2d 70 73 65 75 64 6f 29 29 29 0a 20 20 20 20 20 | e-css-functional-pseudo)))...... |
| 4d20 | 20 20 20 20 28 69 66 20 66 75 6e 63 74 69 6f 6e 61 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | ....(if.functional.............. |
| 4d40 | 28 69 66 20 28 65 71 20 74 79 70 65 20 27 70 73 65 75 64 6f 2d 63 6c 61 73 73 29 0a 20 20 20 20 | (if.(eq.type.'pseudo-class)..... |
| 4d60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 76 61 6c 75 65 20 28 63 61 72 20 66 | .............(let.((value.(car.f |
| 4d80 | 75 6e 63 74 69 6f 6e 61 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | unctional))..................... |
| 4da0 | 20 20 20 28 61 72 67 73 20 28 63 64 72 20 66 75 6e 63 74 69 6f 6e 61 6c 29 29 29 0a 20 20 20 20 | ...(args.(cdr.functional)))..... |
| 4dc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 63 6f 6e 73 20 27 6e 61 6d 65 | ...............(push.(cons.'name |
| 4de0 | 20 28 65 73 78 6d 6c 2d 2d 70 61 72 73 65 2d 63 73 73 2d 69 64 65 6e 74 69 66 69 65 72 20 76 61 | .(esxml--parse-css-identifier.va |
| 4e00 | 6c 75 65 29 29 20 72 65 73 75 6c 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | lue)).result)................... |
| 4e20 | 20 28 70 75 73 68 20 28 63 6f 6e 73 20 27 61 72 67 73 20 61 72 67 73 29 20 72 65 73 75 6c 74 29 | .(push.(cons.'args.args).result) |
| 4e40 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 50 73 65 75 64 6f 2d | )................(error."Pseudo- |
| 4e60 | 65 6c 65 6d 65 6e 74 73 20 6d 61 79 20 6e 6f 74 20 68 61 76 65 20 61 72 67 75 6d 65 6e 74 73 22 | elements.may.not.have.arguments" |
| 4e80 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 76 61 6c 75 65 20 28 61 63 63 65 | ))............(let.((value.(acce |
| 4ea0 | 70 74 20 27 69 64 65 6e 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 76 61 | pt.'ident)))..............(if.va |
| 4ec0 | 6c 75 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 63 6f 6e 73 | lue..................(push.(cons |
| 4ee0 | 20 27 6e 61 6d 65 20 28 65 73 78 6d 6c 2d 2d 70 61 72 73 65 2d 63 73 73 2d 69 64 65 6e 74 69 66 | .'name.(esxml--parse-css-identif |
| 4f00 | 69 65 72 20 76 61 6c 75 65 29 29 20 72 65 73 75 6c 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ier.value)).result)............. |
| 4f20 | 20 20 20 28 65 72 72 6f 72 20 22 45 78 70 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 6f 72 20 | ...(error."Expected.function.or. |
| 4f40 | 69 64 65 6e 74 69 66 69 65 72 22 29 29 29 29 29 0a 20 20 20 20 20 20 20 28 63 6f 6e 73 20 74 79 | identifier")))))........(cons.ty |
| 4f60 | 70 65 20 28 6e 72 65 76 65 72 73 65 20 72 65 73 75 6c 74 29 29 29 29 29 29 0a 0a 28 64 65 66 75 | pe.(nreverse.result))))))..(defu |
| 4f80 | 6e 20 65 73 78 6d 6c 2d 2d 70 61 72 73 65 2d 63 73 73 2d 66 75 6e 63 74 69 6f 6e 61 6c 2d 70 73 | n.esxml--parse-css-functional-ps |
| 4fa0 | 65 75 64 6f 20 28 29 0a 20 20 28 65 73 78 6d 6c 2d 2d 77 69 74 68 2d 70 61 72 73 65 2d 73 68 6f | eudo.()...(esxml--with-parse-sho |
| 4fc0 | 72 74 68 61 6e 64 73 0a 20 20 20 28 6c 65 74 20 28 28 66 75 6e 63 74 69 6f 6e 20 28 61 63 63 65 | rthands....(let.((function.(acce |
| 4fe0 | 70 74 20 27 66 75 6e 63 74 69 6f 6e 29 29 0a 20 20 20 20 20 20 20 20 20 72 65 73 75 6c 74 29 0a | pt.'function))..........result). |
| 5000 | 20 20 20 20 20 28 77 68 65 6e 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 28 70 75 73 68 | .....(when.function........(push |
| 5020 | 20 28 73 75 62 73 74 72 69 6e 67 20 66 75 6e 63 74 69 6f 6e 20 30 20 2d 31 29 20 72 65 73 75 6c | .(substring.function.0.-1).resul |
| 5040 | 74 29 0a 20 20 20 20 20 20 20 28 65 61 74 2d 77 68 69 74 65 73 70 61 63 65 29 0a 20 20 20 20 20 | t)........(eat-whitespace)...... |
| 5060 | 20 20 28 6c 65 74 20 28 28 65 78 70 72 65 73 73 69 6f 6e 20 28 65 73 78 6d 6c 2d 2d 70 61 72 73 | ..(let.((expression.(esxml--pars |
| 5080 | 65 2d 63 73 73 2d 65 78 70 72 65 73 73 69 6f 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | e-css-expression)).............. |
| 50a0 | 64 6f 6e 65 29 0a 20 20 20 20 20 20 20 20 20 28 65 61 74 2d 77 68 69 74 65 73 70 61 63 65 29 0a | done)..........(eat-whitespace). |
| 50c0 | 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 65 78 70 72 65 73 73 69 6f 6e 29 0a | .........(when.(not.expression). |
| 50e0 | 20 20 20 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 45 78 70 65 63 74 65 64 20 61 74 20 6c | ...........(error."Expected.at.l |
| 5100 | 65 61 73 74 20 6f 6e 65 20 65 78 70 72 65 73 73 69 6f 6e 20 66 6f 72 20 66 75 6e 63 74 69 6f 6e | east.one.expression.for.function |
| 5120 | 22 29 29 0a 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 65 78 70 72 65 73 73 69 6f 6e 20 72 65 | "))..........(push.expression.re |
| 5140 | 73 75 6c 74 29 0a 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 6e 6f 74 20 64 6f 6e 65 29 | sult)..........(while.(not.done) |
| 5160 | 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 65 78 70 72 65 73 73 69 6f 6e 20 28 65 73 | ............(setq.expression.(es |
| 5180 | 78 6d 6c 2d 2d 70 61 72 73 65 2d 63 73 73 2d 65 78 70 72 65 73 73 69 6f 6e 29 29 0a 20 20 20 20 | xml--parse-css-expression))..... |
| 51a0 | 20 20 20 20 20 20 20 28 69 66 20 65 78 70 72 65 73 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 | .......(if.expression........... |
| 51c0 | 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 | .....(progn..................(pu |
| 51e0 | 73 68 20 65 78 70 72 65 73 73 69 6f 6e 20 72 65 73 75 6c 74 29 0a 20 20 20 20 20 20 20 20 20 20 | sh.expression.result)........... |
| 5200 | 20 20 20 20 20 20 20 28 65 61 74 2d 77 68 69 74 65 73 70 61 63 65 29 29 0a 20 20 20 20 20 20 20 | .......(eat-whitespace))........ |
| 5220 | 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 20 28 77 | ......(setq.done.t))))........(w |
| 5240 | 68 65 6e 20 28 6e 6f 74 20 28 61 63 63 65 70 74 20 27 72 70 61 72 65 6e 29 29 0a 20 20 20 20 20 | hen.(not.(accept.'rparen))...... |
| 5260 | 20 20 20 20 28 65 72 72 6f 72 20 22 55 6e 74 65 72 6d 69 6e 61 74 65 64 20 66 75 6e 63 74 69 6f | ....(error."Unterminated.functio |
| 5280 | 6e 20 61 72 67 75 6d 65 6e 74 20 6c 69 73 74 22 29 29 0a 20 20 20 20 20 20 20 28 6e 72 65 76 65 | n.argument.list"))........(nreve |
| 52a0 | 72 73 65 20 72 65 73 75 6c 74 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 2d 70 | rse.result)))))..(defun.esxml--p |
| 52c0 | 61 72 73 65 2d 63 73 73 2d 65 78 70 72 65 73 73 69 6f 6e 20 28 29 0a 20 20 28 65 73 78 6d 6c 2d | arse-css-expression.()...(esxml- |
| 52e0 | 2d 77 69 74 68 2d 70 61 72 73 65 2d 73 68 6f 72 74 68 61 6e 64 73 0a 20 20 20 28 6c 65 74 20 28 | -with-parse-shorthands....(let.( |
| 5300 | 28 74 6f 6b 65 6e 20 28 70 65 65 6b 29 29 29 0a 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 | (token.(peek)))......(cond...... |
| 5320 | 20 28 28 61 63 63 65 70 74 20 27 70 6c 75 73 29 0a 20 20 20 20 20 20 20 27 28 6f 70 65 72 61 74 | .((accept.'plus)........'(operat |
| 5340 | 6f 72 20 2e 20 2b 29 29 0a 20 20 20 20 20 20 28 28 61 63 63 65 70 74 20 27 6d 69 6e 75 73 29 0a | or...+)).......((accept.'minus). |
| 5360 | 20 20 20 20 20 20 20 27 28 6f 70 65 72 61 74 6f 72 20 2e 20 2d 29 29 0a 20 20 20 20 20 20 28 28 | .......'(operator...-)).......(( |
| 5380 | 65 71 20 28 63 61 72 20 74 6f 6b 65 6e 29 20 27 64 69 6d 65 6e 73 69 6f 6e 29 0a 20 20 20 20 20 | eq.(car.token).'dimension)...... |
| 53a0 | 20 20 28 6e 65 78 74 29 0a 20 20 20 20 20 20 20 28 63 6f 6e 73 20 27 64 69 6d 65 6e 73 69 6f 6e | ..(next)........(cons.'dimension |
| 53c0 | 20 28 65 73 78 6d 6c 2d 2d 70 61 72 73 65 2d 63 73 73 2d 69 64 65 6e 74 69 66 69 65 72 20 28 63 | .(esxml--parse-css-identifier.(c |
| 53e0 | 64 72 20 74 6f 6b 65 6e 29 29 29 29 0a 20 20 20 20 20 20 28 28 65 71 20 28 63 61 72 20 74 6f 6b | dr.token)))).......((eq.(car.tok |
| 5400 | 65 6e 29 20 27 6e 75 6d 62 65 72 29 0a 20 20 20 20 20 20 20 28 6e 65 78 74 29 0a 20 20 20 20 20 | en).'number)........(next)...... |
| 5420 | 20 20 28 63 6f 6e 73 20 27 6e 75 6d 62 65 72 20 28 73 74 72 69 6e 67 2d 74 6f 2d 6e 75 6d 62 65 | ..(cons.'number.(string-to-numbe |
| 5440 | 72 20 28 63 64 72 20 74 6f 6b 65 6e 29 29 29 29 0a 20 20 20 20 20 20 28 28 65 71 20 28 63 61 72 | r.(cdr.token)))).......((eq.(car |
| 5460 | 20 74 6f 6b 65 6e 29 20 27 73 74 72 69 6e 67 29 0a 20 20 20 20 20 20 20 28 6e 65 78 74 29 0a 20 | .token).'string)........(next).. |
| 5480 | 20 20 20 20 20 20 28 63 6f 6e 73 20 27 73 74 72 69 6e 67 20 28 65 73 78 6d 6c 2d 2d 70 61 72 73 | ......(cons.'string.(esxml--pars |
| 54a0 | 65 2d 63 73 73 2d 73 74 72 69 6e 67 2d 6c 69 74 65 72 61 6c 20 28 63 64 72 20 74 6f 6b 65 6e 29 | e-css-string-literal.(cdr.token) |
| 54c0 | 29 29 29 0a 20 20 20 20 20 20 28 28 65 71 20 28 63 61 72 20 74 6f 6b 65 6e 29 20 27 69 64 65 6e | ))).......((eq.(car.token).'iden |
| 54e0 | 74 29 0a 20 20 20 20 20 20 20 28 6e 65 78 74 29 0a 20 20 20 20 20 20 20 28 63 6f 6e 73 20 27 69 | t)........(next)........(cons.'i |
| 5500 | 64 65 6e 74 20 28 65 73 78 6d 6c 2d 2d 70 61 72 73 65 2d 63 73 73 2d 69 64 65 6e 74 69 66 69 65 | dent.(esxml--parse-css-identifie |
| 5520 | 72 20 28 63 64 72 20 74 6f 6b 65 6e 29 29 29 29 0a 20 20 20 20 20 20 28 74 20 6e 69 6c 29 29 29 | r.(cdr.token)))).......(t.nil))) |
| 5540 | 29 29 0a 0a 0c 0a 3b 3b 3b 20 74 72 65 65 20 74 72 61 76 65 72 73 61 6c 0a 0a 3b 3b 20 54 4f 44 | ))....;;;.tree.traversal..;;.TOD |
| 5560 | 4f 3a 20 74 68 65 73 65 20 68 65 6c 70 65 72 73 20 73 68 6f 75 6c 64 20 62 65 20 70 61 72 74 20 | O:.these.helpers.should.be.part. |
| 5580 | 6f 66 20 65 73 78 6d 6c 2e 65 6c 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 62 72 61 6e 63 68 2d | of.esxml.el.(defun.esxml-branch- |
| 55a0 | 70 20 28 6e 6f 64 65 29 0a 20 20 22 4e 6f 6e 2d 6e 69 6c 20 69 66 20 4e 4f 44 45 20 72 65 66 65 | p.(node)..."Non-nil.if.NODE.refe |
| 55c0 | 72 73 20 74 6f 20 61 6e 20 65 73 78 6d 6c 20 62 72 61 6e 63 68 2e 22 0a 20 20 28 61 6e 64 20 28 | rs.to.an.esxml.branch."...(and.( |
| 55e0 | 6c 69 73 74 70 20 6e 6f 64 65 29 0a 20 20 20 20 20 20 20 28 3e 3d 20 28 6c 65 6e 67 74 68 20 6e | listp.node)........(>=.(length.n |
| 5600 | 6f 64 65 29 20 32 29 0a 20 20 20 20 20 20 20 28 73 79 6d 62 6f 6c 70 20 28 63 61 72 20 6e 6f 64 | ode).2)........(symbolp.(car.nod |
| 5620 | 65 29 29 0a 20 20 20 20 20 20 20 28 6c 69 73 74 70 20 28 63 61 64 72 20 6e 6f 64 65 29 29 29 29 | e))........(listp.(cadr.node)))) |
| 5640 | 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 6e 6f 64 65 2d 74 61 67 20 28 6e 6f 64 65 29 0a 20 | ..(defun.esxml-node-tag.(node).. |
| 5660 | 20 22 52 65 74 75 72 6e 73 20 74 68 65 20 74 61 67 20 6f 66 20 4e 4f 44 45 20 69 66 20 61 76 61 | ."Returns.the.tag.of.NODE.if.ava |
| 5680 | 69 6c 61 62 6c 65 2e 22 0a 20 20 28 61 6e 64 20 28 65 73 78 6d 6c 2d 62 72 61 6e 63 68 2d 70 20 | ilable."...(and.(esxml-branch-p. |
| 56a0 | 6e 6f 64 65 29 0a 20 20 20 20 20 20 20 28 63 61 72 20 6e 6f 64 65 29 29 29 0a 0a 28 64 65 66 75 | node)........(car.node)))..(defu |
| 56c0 | 6e 20 65 73 78 6d 6c 2d 6e 6f 64 65 2d 61 74 74 72 69 62 75 74 65 73 20 28 6e 6f 64 65 29 0a 20 | n.esxml-node-attributes.(node).. |
| 56e0 | 20 22 52 65 74 75 72 6e 73 20 74 68 65 20 61 74 74 72 69 62 75 74 65 73 20 6f 66 20 4e 4f 44 45 | ."Returns.the.attributes.of.NODE |
| 5700 | 20 69 66 20 61 76 61 69 6c 61 62 6c 65 2e 22 0a 20 20 28 61 6e 64 20 28 65 73 78 6d 6c 2d 62 72 | .if.available."...(and.(esxml-br |
| 5720 | 61 6e 63 68 2d 70 20 6e 6f 64 65 29 0a 20 20 20 20 20 20 20 28 63 61 64 72 20 6e 6f 64 65 29 29 | anch-p.node)........(cadr.node)) |
| 5740 | 29 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 6e 6f 64 65 2d 61 74 74 72 69 62 75 74 65 20 28 | )..(defun.esxml-node-attribute.( |
| 5760 | 61 74 74 72 69 62 75 74 65 20 6e 6f 64 65 29 0a 20 20 22 52 65 74 75 72 6e 73 20 74 68 65 20 61 | attribute.node)..."Returns.the.a |
| 5780 | 74 74 72 69 62 75 74 65 20 41 54 54 52 49 42 55 54 45 20 6f 66 20 4e 4f 44 45 20 69 66 20 61 76 | ttribute.ATTRIBUTE.of.NODE.if.av |
| 57a0 | 61 69 6c 61 62 6c 65 2e 22 0a 20 20 28 61 6e 64 20 28 65 73 78 6d 6c 2d 62 72 61 6e 63 68 2d 70 | ailable."...(and.(esxml-branch-p |
| 57c0 | 20 6e 6f 64 65 29 0a 20 20 20 20 20 20 20 28 63 64 72 20 28 61 73 73 71 20 61 74 74 72 69 62 75 | .node)........(cdr.(assq.attribu |
| 57e0 | 74 65 20 28 63 61 64 72 20 6e 6f 64 65 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c | te.(cadr.node)))))..(defun.esxml |
| 5800 | 2d 6e 6f 64 65 2d 63 68 69 6c 64 72 65 6e 20 28 6e 6f 64 65 29 0a 20 20 22 52 65 74 75 72 6e 73 | -node-children.(node)..."Returns |
| 5820 | 20 74 68 65 20 63 68 69 6c 64 72 65 6e 20 6f 66 20 4e 4f 44 45 20 69 66 20 61 76 61 69 6c 61 62 | .the.children.of.NODE.if.availab |
| 5840 | 6c 65 2e 22 0a 20 20 28 61 6e 64 20 28 65 73 78 6d 6c 2d 62 72 61 6e 63 68 2d 70 20 6e 6f 64 65 | le."...(and.(esxml-branch-p.node |
| 5860 | 29 0a 20 20 20 20 20 20 20 28 6e 74 68 63 64 72 20 32 20 6e 6f 64 65 29 29 29 0a 0a 28 64 65 66 | )........(nthcdr.2.node)))..(def |
| 5880 | 75 6e 20 65 73 78 6d 6c 2d 66 69 6e 64 2d 6e 6f 64 65 20 28 70 72 65 64 20 72 6f 6f 74 29 0a 20 | un.esxml-find-node.(pred.root).. |
| 58a0 | 20 22 4c 6f 63 61 74 65 73 20 61 20 6e 6f 64 65 20 73 61 74 69 73 66 79 69 6e 67 20 50 52 45 44 | ."Locates.a.node.satisfying.PRED |
| 58c0 | 20 73 74 61 72 74 69 6e 67 20 66 72 6f 6d 20 52 4f 4f 54 2e 0a 52 65 74 75 72 6e 73 20 74 68 65 | .starting.from.ROOT..Returns.the |
| 58e0 | 20 6e 6f 64 65 20 6f 72 20 6e 69 6c 20 69 66 20 6e 6f 6e 65 20 66 6f 75 6e 64 2e 22 0a 20 20 28 | .node.or.nil.if.none.found."...( |
| 5900 | 69 66 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 72 6f 6f 74 29 0a 20 20 20 20 20 20 72 6f 6f | if.(funcall.pred.root).......roo |
| 5920 | 74 0a 20 20 20 20 28 63 6c 2d 73 6f 6d 65 20 28 6c 61 6d 62 64 61 20 28 6e 6f 64 65 29 20 28 65 | t.....(cl-some.(lambda.(node).(e |
| 5940 | 73 78 6d 6c 2d 66 69 6e 64 2d 6e 6f 64 65 20 70 72 65 64 20 6e 6f 64 65 29 29 0a 20 20 20 20 20 | sxml-find-node.pred.node))...... |
| 5960 | 20 20 20 20 20 20 20 20 28 65 73 78 6d 6c 2d 6e 6f 64 65 2d 63 68 69 6c 64 72 65 6e 20 72 6f 6f | ........(esxml-node-children.roo |
| 5980 | 74 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 76 69 73 69 74 2d 6e 6f 64 65 73 20 | t))))..(defun.esxml-visit-nodes. |
| 59a0 | 28 66 75 6e 63 74 69 6f 6e 20 72 6f 6f 74 29 0a 20 20 22 56 69 73 69 74 20 6e 6f 64 65 73 20 62 | (function.root)..."Visit.nodes.b |
| 59c0 | 79 20 63 61 6c 6c 69 6e 67 20 46 55 4e 43 54 49 4f 4e 20 6f 6e 20 65 61 63 68 20 73 74 61 72 74 | y.calling.FUNCTION.on.each.start |
| 59e0 | 69 6e 67 20 66 72 6f 6d 20 52 4f 4f 54 2e 22 0a 20 20 28 66 75 6e 63 61 6c 6c 20 66 75 6e 63 74 | ing.from.ROOT."...(funcall.funct |
| 5a00 | 69 6f 6e 20 72 6f 6f 74 29 0a 20 20 28 6d 61 70 63 20 28 6c 61 6d 62 64 61 20 28 6e 6f 64 65 29 | ion.root)...(mapc.(lambda.(node) |
| 5a20 | 20 28 65 73 78 6d 6c 2d 76 69 73 69 74 2d 6e 6f 64 65 73 20 66 75 6e 63 74 69 6f 6e 20 6e 6f 64 | .(esxml-visit-nodes.function.nod |
| 5a40 | 65 29 29 0a 20 20 20 20 20 20 20 20 28 65 73 78 6d 6c 2d 6e 6f 64 65 2d 63 68 69 6c 64 72 65 6e | e)).........(esxml-node-children |
| 5a60 | 20 72 6f 6f 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 66 69 6e 64 2d 6e 6f 64 65 | .root)))..(defun.esxml-find-node |
| 5a80 | 73 20 28 70 72 65 64 20 72 6f 6f 74 29 0a 20 20 22 4c 6f 63 61 74 65 73 20 61 6c 6c 20 6e 6f 64 | s.(pred.root)..."Locates.all.nod |
| 5aa0 | 65 73 20 73 61 74 69 73 66 79 69 6e 67 20 50 52 45 44 20 73 74 61 72 74 69 6e 67 20 66 72 6f 6d | es.satisfying.PRED.starting.from |
| 5ac0 | 20 52 4f 4f 54 2e 0a 52 65 74 75 72 6e 73 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 6e 6f 64 | .ROOT..Returns.a.list.of.the.nod |
| 5ae0 | 65 73 20 6f 72 20 6e 69 6c 20 69 66 20 6e 6f 6e 65 20 66 6f 75 6e 64 2e 22 0a 20 20 28 6c 65 74 | es.or.nil.if.none.found."...(let |
| 5b00 | 20 28 28 61 63 63 20 27 28 29 29 29 0a 20 20 20 20 28 65 73 78 6d 6c 2d 76 69 73 69 74 2d 6e 6f | .((acc.'())).....(esxml-visit-no |
| 5b20 | 64 65 73 0a 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 6e 6f 64 65 29 0a 20 20 20 20 20 20 20 28 | des......(lambda.(node)........( |
| 5b40 | 77 68 65 6e 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 6e 6f 64 65 29 0a 20 20 20 20 20 20 20 | when.(funcall.pred.node)........ |
| 5b60 | 20 20 28 70 75 73 68 20 6e 6f 64 65 20 61 63 63 29 29 29 0a 20 20 20 20 20 72 6f 6f 74 29 0a 20 | ..(push.node.acc)))......root).. |
| 5b80 | 20 20 20 28 6e 72 65 76 65 72 73 65 20 61 63 63 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d | ...(nreverse.acc)))..(defun.esxm |
| 5ba0 | 6c 2d 66 69 6e 64 2d 64 65 73 63 65 6e 64 61 6e 74 20 28 70 72 65 64 20 72 6f 6f 74 29 0a 20 20 | l-find-descendant.(pred.root)... |
| 5bc0 | 22 4c 6f 63 61 74 65 73 20 61 20 6e 6f 64 65 20 73 61 74 69 73 66 79 69 6e 67 20 50 52 45 44 20 | "Locates.a.node.satisfying.PRED. |
| 5be0 | 73 74 61 72 74 69 6e 67 20 66 72 6f 6d 20 52 4f 4f 54 27 73 20 63 68 69 6c 64 72 65 6e 2e 0a 52 | starting.from.ROOT's.children..R |
| 5c00 | 65 74 75 72 6e 73 20 74 68 65 20 6e 6f 64 65 20 6f 72 20 6e 69 6c 20 69 66 20 6e 6f 6e 65 20 66 | eturns.the.node.or.nil.if.none.f |
| 5c20 | 6f 75 6e 64 2e 22 0a 20 20 28 63 6c 2d 73 6f 6d 65 20 28 6c 61 6d 62 64 61 20 28 6e 6f 64 65 29 | ound."...(cl-some.(lambda.(node) |
| 5c40 | 20 28 65 73 78 6d 6c 2d 66 69 6e 64 2d 6e 6f 64 65 20 70 72 65 64 20 6e 6f 64 65 29 29 0a 20 20 | .(esxml-find-node.pred.node))... |
| 5c60 | 20 20 20 20 20 20 20 20 20 28 65 73 78 6d 6c 2d 6e 6f 64 65 2d 63 68 69 6c 64 72 65 6e 20 72 6f | .........(esxml-node-children.ro |
| 5c80 | 6f 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 66 69 6e 64 2d 64 65 73 63 65 6e 64 | ot)))..(defun.esxml-find-descend |
| 5ca0 | 61 6e 74 73 20 28 70 72 65 64 20 72 6f 6f 74 29 0a 20 20 22 4c 6f 63 61 74 65 73 20 61 6c 6c 20 | ants.(pred.root)..."Locates.all. |
| 5cc0 | 6e 6f 64 65 73 20 73 61 74 69 73 66 79 69 6e 67 20 50 52 45 44 20 73 74 61 72 74 69 6e 67 20 66 | nodes.satisfying.PRED.starting.f |
| 5ce0 | 72 6f 6d 20 52 4f 4f 54 27 73 20 63 68 69 6c 64 72 65 6e 2e 0a 52 65 74 75 72 6e 73 20 61 20 6c | rom.ROOT's.children..Returns.a.l |
| 5d00 | 69 73 74 20 6f 66 20 74 68 65 20 6e 6f 64 65 73 20 6f 72 20 6e 69 6c 20 69 66 20 6e 6f 6e 65 20 | ist.of.the.nodes.or.nil.if.none. |
| 5d20 | 66 6f 75 6e 64 2e 22 0a 20 20 28 63 6c 2d 6d 61 70 63 61 6e 20 28 6c 61 6d 62 64 61 20 28 6e 6f | found."...(cl-mapcan.(lambda.(no |
| 5d40 | 64 65 29 20 28 65 73 78 6d 6c 2d 66 69 6e 64 2d 6e 6f 64 65 73 20 70 72 65 64 20 6e 6f 64 65 29 | de).(esxml-find-nodes.pred.node) |
| 5d60 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 73 78 6d 6c 2d 6e 6f 64 65 2d 63 68 69 6c 64 | )..............(esxml-node-child |
| 5d80 | 72 65 6e 20 72 6f 6f 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 66 69 6e 64 2d 63 | ren.root)))..(defun.esxml-find-c |
| 5da0 | 68 69 6c 64 20 28 70 72 65 64 20 72 6f 6f 74 29 0a 20 20 22 4c 6f 63 61 74 65 73 20 61 20 6e 6f | hild.(pred.root)..."Locates.a.no |
| 5dc0 | 64 65 20 73 61 74 69 73 66 79 69 6e 67 20 50 52 45 44 20 61 6d 6f 6e 67 20 52 4f 4f 54 27 73 20 | de.satisfying.PRED.among.ROOT's. |
| 5de0 | 63 68 69 6c 64 72 65 6e 2e 0a 52 65 74 75 72 6e 73 20 74 68 65 20 6e 6f 64 65 20 6f 72 20 6e 69 | children..Returns.the.node.or.ni |
| 5e00 | 6c 20 69 66 20 6e 6f 6e 65 20 66 6f 75 6e 64 2e 22 0a 20 20 28 63 6c 2d 73 6f 6d 65 20 28 6c 61 | l.if.none.found."...(cl-some.(la |
| 5e20 | 6d 62 64 61 20 28 6e 6f 64 65 29 20 28 77 68 65 6e 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 | mbda.(node).(when.(funcall.pred. |
| 5e40 | 6e 6f 64 65 29 20 6e 6f 64 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 65 73 78 6d 6c 2d 6e | node).node))............(esxml-n |
| 5e60 | 6f 64 65 2d 63 68 69 6c 64 72 65 6e 20 72 6f 6f 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 73 78 | ode-children.root)))..(defun.esx |
| 5e80 | 6d 6c 2d 66 69 6e 64 2d 63 68 69 6c 64 72 65 6e 20 28 70 72 65 64 20 72 6f 6f 74 29 0a 20 20 22 | ml-find-children.(pred.root)..." |
| 5ea0 | 4c 6f 63 61 74 65 73 20 61 6c 6c 20 6e 6f 64 65 73 20 73 61 74 69 73 66 79 69 6e 67 20 50 52 45 | Locates.all.nodes.satisfying.PRE |
| 5ec0 | 44 20 61 6d 6f 6e 67 20 52 4f 4f 54 27 73 20 63 68 69 6c 64 72 65 6e 2e 0a 52 65 74 75 72 6e 73 | D.among.ROOT's.children..Returns |
| 5ee0 | 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 6e 6f 64 65 73 20 6f 72 20 6e 69 6c 20 69 66 20 6e | .a.list.of.the.nodes.or.nil.if.n |
| 5f00 | 6f 6e 65 20 66 6f 75 6e 64 2e 22 0a 20 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 6e | one.found."...(mapcar.(lambda.(n |
| 5f20 | 6f 64 65 29 20 28 77 68 65 6e 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 6e 6f 64 65 29 20 6e | ode).(when.(funcall.pred.node).n |
| 5f40 | 6f 64 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 65 73 78 6d 6c 2d 6e 6f 64 65 2d 63 68 69 6c | ode))...........(esxml-node-chil |
| 5f60 | 64 72 65 6e 20 72 6f 6f 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 2d 6e 6f 64 65 | dren.root)))..(defun.esxml--node |
| 5f80 | 2d 77 69 74 68 2d 63 68 69 6c 64 72 65 6e 20 28 6e 6f 64 65 20 63 68 69 6c 64 72 65 6e 29 0a 20 | -with-children.(node.children).. |
| 5fa0 | 20 28 6c 65 74 20 28 28 74 61 67 20 28 65 73 78 6d 6c 2d 6e 6f 64 65 2d 74 61 67 20 6e 6f 64 65 | .(let.((tag.(esxml-node-tag.node |
| 5fc0 | 29 29 0a 20 20 20 20 20 20 20 20 28 61 74 74 72 69 62 75 74 65 73 20 28 65 73 78 6d 6c 2d 6e 6f | )).........(attributes.(esxml-no |
| 5fe0 | 64 65 2d 61 74 74 72 69 62 75 74 65 73 20 6e 6f 64 65 29 29 29 0a 20 20 20 20 28 61 70 70 65 6e | de-attributes.node))).....(appen |
| 6000 | 64 20 28 6c 69 73 74 20 74 61 67 20 61 74 74 72 69 62 75 74 65 73 29 20 63 68 69 6c 64 72 65 6e | d.(list.tag.attributes).children |
| 6020 | 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 2d 6e 6f 64 65 2d 77 69 74 68 2d 61 74 74 | )))..(defun.esxml--node-with-att |
| 6040 | 72 69 62 75 74 65 73 20 28 6e 6f 64 65 20 61 74 74 72 69 62 75 74 65 73 29 0a 20 20 28 6c 65 74 | ributes.(node.attributes)...(let |
| 6060 | 20 28 28 74 61 67 20 28 65 73 78 6d 6c 2d 6e 6f 64 65 2d 74 61 67 20 6e 6f 64 65 29 29 0a 20 20 | .((tag.(esxml-node-tag.node))... |
| 6080 | 20 20 20 20 20 20 28 63 68 69 6c 64 72 65 6e 20 28 65 73 78 6d 6c 2d 6e 6f 64 65 2d 63 68 69 6c | ......(children.(esxml-node-chil |
| 60a0 | 64 72 65 6e 20 6e 6f 64 65 29 29 29 0a 20 20 20 20 28 61 70 70 65 6e 64 20 28 6c 69 73 74 20 74 | dren.node))).....(append.(list.t |
| 60c0 | 61 67 20 61 74 74 72 69 62 75 74 65 73 29 20 63 68 69 6c 64 72 65 6e 29 29 29 0a 0a 28 64 65 66 | ag.attributes).children)))..(def |
| 60e0 | 75 6e 20 65 73 78 6d 6c 2d 74 72 65 65 2d 6d 61 70 20 28 66 75 6e 63 74 69 6f 6e 20 72 6f 6f 74 | un.esxml-tree-map.(function.root |
| 6100 | 29 0a 20 20 22 52 65 74 75 72 6e 73 20 61 20 63 6f 70 79 20 6f 66 20 52 4f 4f 54 20 77 69 74 68 | )..."Returns.a.copy.of.ROOT.with |
| 6120 | 20 46 55 4e 43 54 49 4f 4e 20 61 70 70 6c 69 65 64 20 74 6f 20 65 61 63 68 20 6e 6f 64 65 2e 22 | .FUNCTION.applied.to.each.node." |
| 6140 | 0a 20 20 28 69 66 20 28 65 73 78 6d 6c 2d 62 72 61 6e 63 68 2d 70 20 72 6f 6f 74 29 0a 20 20 20 | ...(if.(esxml-branch-p.root).... |
| 6160 | 20 20 20 28 65 73 78 6d 6c 2d 2d 6e 6f 64 65 2d 77 69 74 68 2d 63 68 69 6c 64 72 65 6e 0a 20 20 | ...(esxml--node-with-children... |
| 6180 | 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 66 75 6e 63 74 69 6f 6e 20 72 6f 6f 74 29 0a 20 20 20 | .....(funcall.function.root).... |
| 61a0 | 20 20 20 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 6e 6f 64 65 29 20 28 65 73 78 6d | ....(mapcar.(lambda.(node).(esxm |
| 61c0 | 6c 2d 74 72 65 65 2d 6d 61 70 20 66 75 6e 63 74 69 6f 6e 20 6e 6f 64 65 29 29 0a 20 20 20 20 20 | l-tree-map.function.node))...... |
| 61e0 | 20 20 20 20 20 20 20 20 20 20 28 65 73 78 6d 6c 2d 6e 6f 64 65 2d 63 68 69 6c 64 72 65 6e 20 72 | ..........(esxml-node-children.r |
| 6200 | 6f 6f 74 29 29 29 0a 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 66 75 6e 63 74 69 6f 6e 20 72 6f 6f | oot))).....(funcall.function.roo |
| 6220 | 74 29 29 29 0a 0a 28 64 65 66 76 61 72 20 65 73 78 6d 6c 2d 2d 73 79 6d 62 6f 6c 20 28 6d 61 6b | t)))..(defvar.esxml--symbol.(mak |
| 6240 | 65 2d 73 79 6d 62 6f 6c 20 22 69 64 22 29 29 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 2d 64 | e-symbol."id"))..(defun.esxml--d |
| 6260 | 65 63 6f 72 61 74 65 2d 74 72 65 65 20 28 72 6f 6f 74 29 0a 20 20 28 6c 65 74 20 28 28 69 20 30 | ecorate-tree.(root)...(let.((i.0 |
| 6280 | 29 29 0a 20 20 20 20 28 65 73 78 6d 6c 2d 74 72 65 65 2d 6d 61 70 0a 20 20 20 20 20 28 6c 61 6d | )).....(esxml-tree-map......(lam |
| 62a0 | 62 64 61 20 28 6e 6f 64 65 29 0a 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 61 74 74 72 69 62 75 | bda.(node)........(let.((attribu |
| 62c0 | 74 65 20 28 63 6f 6e 73 20 65 73 78 6d 6c 2d 2d 73 79 6d 62 6f 6c 20 69 29 29 0a 20 20 20 20 20 | te.(cons.esxml--symbol.i))...... |
| 62e0 | 20 20 20 20 20 20 20 20 28 61 74 74 72 69 62 75 74 65 73 20 28 65 73 78 6d 6c 2d 6e 6f 64 65 2d | ........(attributes.(esxml-node- |
| 6300 | 61 74 74 72 69 62 75 74 65 73 20 6e 6f 64 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 | attributes.node)))..........(set |
| 6320 | 71 20 61 74 74 72 69 62 75 74 65 73 20 28 61 70 70 65 6e 64 20 28 6c 69 73 74 20 61 74 74 72 69 | q.attributes.(append.(list.attri |
| 6340 | 62 75 74 65 29 20 61 74 74 72 69 62 75 74 65 73 29 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 | bute).attributes))..........(set |
| 6360 | 71 20 69 20 28 31 2b 20 69 29 29 0a 20 20 20 20 20 20 20 20 20 28 69 66 20 28 65 73 78 6d 6c 2d | q.i.(1+.i))..........(if.(esxml- |
| 6380 | 62 72 61 6e 63 68 2d 70 20 6e 6f 64 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 73 78 | branch-p.node)..............(esx |
| 63a0 | 6d 6c 2d 2d 6e 6f 64 65 2d 77 69 74 68 2d 61 74 74 72 69 62 75 74 65 73 20 6e 6f 64 65 20 61 74 | ml--node-with-attributes.node.at |
| 63c0 | 74 72 69 62 75 74 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 6e 6f 64 65 29 29 29 0a 20 20 20 | tributes)............node))).... |
| 63e0 | 20 20 72 6f 6f 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 2d 75 6e 64 65 63 6f 72 | ..root)))..(defun.esxml--undecor |
| 6400 | 61 74 65 2d 6e 6f 64 65 20 28 6e 6f 64 65 29 0a 20 20 28 69 66 20 28 65 73 78 6d 6c 2d 62 72 61 | ate-node.(node)...(if.(esxml-bra |
| 6420 | 6e 63 68 2d 70 20 6e 6f 64 65 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 61 74 74 72 69 62 75 | nch-p.node).......(let.((attribu |
| 6440 | 74 65 73 20 28 65 73 78 6d 6c 2d 6e 6f 64 65 2d 61 74 74 72 69 62 75 74 65 73 20 6e 6f 64 65 29 | tes.(esxml-node-attributes.node) |
| 6460 | 29 29 0a 20 20 20 20 20 20 20 20 28 65 73 78 6d 6c 2d 2d 6e 6f 64 65 2d 77 69 74 68 2d 61 74 74 | )).........(esxml--node-with-att |
| 6480 | 72 69 62 75 74 65 73 20 6e 6f 64 65 20 28 61 73 73 71 2d 64 65 6c 65 74 65 2d 61 6c 6c 20 65 73 | ributes.node.(assq-delete-all.es |
| 64a0 | 78 6d 6c 2d 2d 73 79 6d 62 6f 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | xml--symbol..................... |
| 64c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 64e0 | 20 20 20 20 20 20 20 61 74 74 72 69 62 75 74 65 73 29 29 29 0a 20 20 20 20 6e 6f 64 65 29 29 0a | .......attributes))).....node)). |
| 6500 | 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 2d 72 65 74 72 69 65 76 65 2d 64 65 63 6f 72 61 74 69 | .(defun.esxml--retrieve-decorati |
| 6520 | 6f 6e 20 28 6e 6f 64 65 29 0a 20 20 28 65 73 78 6d 6c 2d 6e 6f 64 65 2d 61 74 74 72 69 62 75 74 | on.(node)...(esxml-node-attribut |
| 6540 | 65 20 65 73 78 6d 6c 2d 2d 73 79 6d 62 6f 6c 20 6e 6f 64 65 29 29 0a 0a 0c 0a 3b 3b 3b 20 71 75 | e.esxml--symbol.node))....;;;.qu |
| 6560 | 65 72 79 69 6e 67 0a 0a 3b 3b 20 4e 4f 54 45 3a 20 73 75 70 70 6f 72 74 69 6e 67 20 73 74 72 75 | erying..;;.NOTE:.supporting.stru |
| 6580 | 63 74 75 72 61 6c 20 70 73 65 75 64 6f 20 66 75 6e 63 74 69 6f 6e 73 2c 20 64 69 72 65 63 74 20 | ctural.pseudo.functions,.direct. |
| 65a0 | 73 69 62 6c 69 6e 67 73 20 61 6e 64 0a 3b 3b 20 69 6e 64 69 72 65 63 74 20 73 69 62 6c 69 6e 67 | siblings.and.;;.indirect.sibling |
| 65c0 | 73 20 72 65 71 75 69 72 65 73 20 62 72 65 61 64 74 68 20 69 6e 73 74 65 61 64 20 6f 66 20 64 65 | s.requires.breadth.instead.of.de |
| 65e0 | 70 74 68 20 74 72 61 76 65 72 73 61 6c 2c 0a 3b 3b 20 73 6f 6d 65 74 68 69 6e 67 20 74 68 61 74 | pth.traversal,.;;.something.that |
| 6600 | 20 63 6f 75 6c 64 20 62 65 20 65 6d 75 6c 61 74 65 64 20 77 69 74 68 6f 75 74 20 7a 69 70 70 65 | .could.be.emulated.without.zippe |
| 6620 | 72 73 20 69 66 20 79 6f 75 20 68 61 64 20 74 68 65 0a 3b 3b 20 70 61 72 65 6e 74 20 6f 66 20 74 | rs.if.you.had.the.;;.parent.of.t |
| 6640 | 68 65 20 6e 6f 64 65 20 28 61 6e 64 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 74 68 65 | he.node.(and.the.position.of.the |
| 6660 | 20 63 68 69 6c 64 29 2e 2e 2e 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 2d 6e 6f 64 65 2d 6d | .child).....(defun.esxml--node-m |
| 6680 | 61 74 63 68 65 73 2d 61 74 74 72 69 62 75 74 65 2d 70 20 28 6e 6f 64 65 20 6d 6f 64 69 66 69 65 | atches-attribute-p.(node.modifie |
| 66a0 | 72 29 0a 20 20 28 6c 65 74 20 28 28 61 74 74 72 69 62 75 74 65 73 20 28 65 73 78 6d 6c 2d 6e 6f | r)...(let.((attributes.(esxml-no |
| 66c0 | 64 65 2d 61 74 74 72 69 62 75 74 65 73 20 6e 6f 64 65 29 29 0a 20 20 20 20 20 20 20 20 68 61 79 | de-attributes.node)).........hay |
| 66e0 | 73 74 61 63 6b 29 0a 20 20 20 20 28 63 6c 2d 65 76 65 72 79 0a 20 20 20 20 20 28 6c 61 6d 62 64 | stack).....(cl-every......(lambd |
| 6700 | 61 20 28 69 74 65 6d 29 0a 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 74 79 70 65 20 28 63 61 72 | a.(item)........(let.((type.(car |
| 6720 | 20 69 74 65 6d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 76 61 6c 75 65 20 28 63 64 72 | .item))..............(value.(cdr |
| 6740 | 20 69 74 65 6d 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 | .item)))..........(cond......... |
| 6760 | 20 20 28 28 65 71 20 74 79 70 65 20 27 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c | ..((eq.type.'name)............(l |
| 6780 | 65 74 20 28 28 6d 61 74 63 68 20 28 61 73 73 71 20 28 69 6e 74 65 72 6e 20 76 61 6c 75 65 29 20 | et.((match.(assq.(intern.value). |
| 67a0 | 61 74 74 72 69 62 75 74 65 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 | attributes)))..............(setq |
| 67c0 | 20 68 61 79 73 74 61 63 6b 20 28 63 64 72 20 6d 61 74 63 68 29 29 0a 20 20 20 20 20 20 20 20 20 | .haystack.(cdr.match)).......... |
| 67e0 | 20 20 20 20 6d 61 74 63 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20 74 79 70 65 20 | ....match))...........((eq.type. |
| 6800 | 27 65 78 61 63 74 2d 6d 61 74 63 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 65 71 75 61 6c 20 | 'exact-match)............(equal. |
| 6820 | 68 61 79 73 74 61 63 6b 20 76 61 6c 75 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20 | haystack.value))...........((eq. |
| 6840 | 74 79 70 65 20 27 70 72 65 66 69 78 2d 6d 61 74 63 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 | type.'prefix-match)............( |
| 6860 | 73 74 72 69 6e 67 2d 70 72 65 66 69 78 2d 70 20 76 61 6c 75 65 20 68 61 79 73 74 61 63 6b 29 29 | string-prefix-p.value.haystack)) |
| 6880 | 0a 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20 74 79 70 65 20 27 73 75 66 66 69 78 2d 6d 61 74 | ...........((eq.type.'suffix-mat |
| 68a0 | 63 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d 73 75 66 66 69 78 2d 70 20 | ch)............(string-suffix-p. |
| 68c0 | 76 61 6c 75 65 20 68 61 79 73 74 61 63 6b 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20 | value.haystack))...........((eq. |
| 68e0 | 74 79 70 65 20 27 73 75 62 73 74 72 69 6e 67 2d 6d 61 74 63 68 29 0a 20 20 20 20 20 20 20 20 20 | type.'substring-match).......... |
| 6900 | 20 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 28 72 65 67 65 78 70 2d 71 75 6f 74 65 20 | ..(string-match-p.(regexp-quote. |
| 6920 | 76 61 6c 75 65 29 20 68 61 79 73 74 61 63 6b 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 65 71 | value).haystack))...........((eq |
| 6940 | 20 74 79 70 65 20 27 69 6e 63 6c 75 64 65 2d 6d 61 74 63 68 29 0a 20 20 20 20 20 20 20 20 20 20 | .type.'include-match)........... |
| 6960 | 20 28 6d 65 6d 62 65 72 20 76 61 6c 75 65 20 28 73 70 6c 69 74 2d 73 74 72 69 6e 67 20 68 61 79 | .(member.value.(split-string.hay |
| 6980 | 73 74 61 63 6b 20 22 20 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20 74 79 70 65 | stack.".")))...........((eq.type |
| 69a0 | 20 27 64 61 73 68 2d 6d 61 74 63 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 28 65 71 | .'dash-match)............(or.(eq |
| 69c0 | 75 61 6c 20 76 61 6c 75 65 20 68 61 79 73 74 61 63 6b 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ual.value.haystack)............. |
| 69e0 | 20 20 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 28 66 6f 72 6d 61 74 20 22 5e 25 73 2d | ...(string-match-p.(format."^%s- |
| 6a00 | 22 20 28 72 65 67 65 78 70 2d 71 75 6f 74 65 20 76 61 6c 75 65 29 29 20 68 61 79 73 74 61 63 6b | ".(regexp-quote.value)).haystack |
| 6a20 | 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 74 20 28 65 72 72 6f 72 20 22 55 6e 6b 6e 6f 77 6e | )))...........(t.(error."Unknown |
| 6a40 | 20 61 74 74 72 69 62 75 74 65 20 6d 6f 64 69 66 69 65 72 22 29 29 29 29 29 0a 20 20 20 20 20 6d | .attribute.modifier")))))......m |
| 6a60 | 6f 64 69 66 69 65 72 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 2d 6e 6f 64 65 2d 6d | odifier)))..(defun.esxml--node-m |
| 6a80 | 61 74 63 68 65 73 2d 6d 6f 64 69 66 69 65 72 2d 70 20 28 6e 6f 64 65 20 74 79 70 65 20 76 61 6c | atches-modifier-p.(node.type.val |
| 6aa0 | 75 65 29 0a 20 20 28 63 6f 6e 64 0a 20 20 20 28 28 65 71 20 74 79 70 65 20 27 77 69 6c 64 63 61 | ue)...(cond....((eq.type.'wildca |
| 6ac0 | 72 64 29 0a 20 20 20 20 74 29 0a 20 20 20 28 28 65 71 20 74 79 70 65 20 27 74 61 67 29 0a 20 20 | rd).....t)....((eq.type.'tag)... |
| 6ae0 | 20 20 28 65 71 75 61 6c 20 28 65 73 78 6d 6c 2d 6e 6f 64 65 2d 74 61 67 20 6e 6f 64 65 29 20 76 | ..(equal.(esxml-node-tag.node).v |
| 6b00 | 61 6c 75 65 29 29 0a 20 20 20 28 28 65 71 20 74 79 70 65 20 27 69 64 29 0a 20 20 20 20 28 65 71 | alue))....((eq.type.'id).....(eq |
| 6b20 | 75 61 6c 20 28 65 73 78 6d 6c 2d 6e 6f 64 65 2d 61 74 74 72 69 62 75 74 65 20 27 69 64 20 6e 6f | ual.(esxml-node-attribute.'id.no |
| 6b40 | 64 65 29 20 76 61 6c 75 65 29 29 0a 20 20 20 28 28 65 71 20 74 79 70 65 20 27 63 6c 61 73 73 29 | de).value))....((eq.type.'class) |
| 6b60 | 0a 20 20 20 20 28 6c 65 74 20 28 28 63 6c 61 73 73 20 28 65 73 78 6d 6c 2d 6e 6f 64 65 2d 61 74 | .....(let.((class.(esxml-node-at |
| 6b80 | 74 72 69 62 75 74 65 20 27 63 6c 61 73 73 20 6e 6f 64 65 29 29 29 0a 20 20 20 20 20 20 28 61 6e | tribute.'class.node))).......(an |
| 6ba0 | 64 20 63 6c 61 73 73 20 28 6d 65 6d 62 65 72 20 76 61 6c 75 65 20 28 73 70 6c 69 74 2d 73 74 72 | d.class.(member.value.(split-str |
| 6bc0 | 69 6e 67 20 63 6c 61 73 73 20 22 20 22 29 29 29 29 29 0a 20 20 20 28 28 65 71 20 74 79 70 65 20 | ing.class.".")))))....((eq.type. |
| 6be0 | 27 61 74 74 72 69 62 75 74 65 29 0a 20 20 20 20 28 65 73 78 6d 6c 2d 2d 6e 6f 64 65 2d 6d 61 74 | 'attribute).....(esxml--node-mat |
| 6c00 | 63 68 65 73 2d 61 74 74 72 69 62 75 74 65 2d 70 20 6e 6f 64 65 20 76 61 6c 75 65 29 29 0a 20 20 | ches-attribute-p.node.value))... |
| 6c20 | 20 3b 3b 20 54 4f 44 4f 3a 20 73 75 70 70 6f 72 74 20 73 74 72 75 63 74 75 72 61 6c 20 70 73 65 | .;;.TODO:.support.structural.pse |
| 6c40 | 75 64 6f 20 66 75 6e 63 74 69 6f 6e 73 0a 20 20 20 3b 3b 20 54 4f 44 4f 3a 20 65 72 72 6f 72 20 | udo.functions....;;.TODO:.error. |
| 6c60 | 6f 75 74 20 6f 6e 20 69 6e 76 61 6c 69 64 20 70 73 65 75 64 6f 2d 63 6c 61 73 73 20 61 72 67 75 | out.on.invalid.pseudo-class.argu |
| 6c80 | 6d 65 6e 74 73 0a 20 20 20 28 74 20 28 65 72 72 6f 72 20 22 55 6e 69 6d 70 6c 65 6d 65 6e 74 65 | ments....(t.(error."Unimplemente |
| 6ca0 | 64 20 61 74 74 72 69 62 75 74 65 20 74 79 70 65 3a 20 25 73 22 20 74 79 70 65 29 29 29 29 0a 0a | d.attribute.type:.%s".type)))).. |
| 6cc0 | 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 2d 66 69 6e 64 2d 6e 6f 64 65 2d 66 6f 72 20 28 61 74 74 | (defun.esxml--find-node-for.(att |
| 6ce0 | 72 69 62 75 74 65 73 29 0a 20 20 28 6c 61 6d 62 64 61 20 28 6e 6f 64 65 29 0a 20 20 20 20 28 63 | ributes)...(lambda.(node).....(c |
| 6d00 | 6c 2d 65 76 65 72 79 0a 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 61 74 74 72 69 62 75 74 65 29 | l-every......(lambda.(attribute) |
| 6d20 | 0a 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 74 79 70 65 20 28 63 61 72 20 61 74 74 72 69 62 75 | ........(let.((type.(car.attribu |
| 6d40 | 74 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 76 61 6c 75 65 20 28 63 64 72 20 61 74 | te))..............(value.(cdr.at |
| 6d60 | 74 72 69 62 75 74 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 65 73 78 6d 6c 2d 2d 6e 6f 64 65 | tribute)))..........(esxml--node |
| 6d80 | 2d 6d 61 74 63 68 65 73 2d 6d 6f 64 69 66 69 65 72 2d 70 20 6e 6f 64 65 20 74 79 70 65 20 76 61 | -matches-modifier-p.node.type.va |
| 6da0 | 6c 75 65 29 29 29 0a 20 20 20 20 20 61 74 74 72 69 62 75 74 65 73 29 29 29 0a 0a 28 64 65 66 75 | lue)))......attributes)))..(defu |
| 6dc0 | 6e 20 65 73 78 6d 6c 2d 2d 66 69 6e 64 2d 6e 6f 64 65 73 20 28 72 6f 6f 74 20 63 6f 6d 62 69 6e | n.esxml--find-nodes.(root.combin |
| 6de0 | 61 74 6f 72 20 61 74 74 72 69 62 75 74 65 73 29 0a 20 20 28 6c 65 74 2a 20 28 28 74 79 70 65 20 | ator.attributes)...(let*.((type. |
| 6e00 | 28 63 64 72 20 28 61 73 73 71 20 27 63 6f 6d 62 69 6e 61 74 6f 72 20 63 6f 6d 62 69 6e 61 74 6f | (cdr.(assq.'combinator.combinato |
| 6e20 | 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 77 61 6c 6b 65 72 20 28 63 6f 6e 64 0a 20 20 20 20 | r)))..........(walker.(cond..... |
| 6e40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 6e 6f 74 20 74 79 70 65 29 0a 20 20 20 20 20 20 20 | .............((not.type)........ |
| 6e60 | 20 20 20 20 20 20 20 20 20 20 20 27 65 73 78 6d 6c 2d 66 69 6e 64 2d 6e 6f 64 65 73 29 0a 20 20 | ...........'esxml-find-nodes)... |
| 6e80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20 74 79 70 65 20 27 64 65 73 63 65 6e | ...............((eq.type.'descen |
| 6ea0 | 64 61 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 65 73 78 6d 6c 2d 66 | dant)...................'esxml-f |
| 6ec0 | 69 6e 64 2d 64 65 73 63 65 6e 64 61 6e 74 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ind-descendants)................ |
| 6ee0 | 20 20 28 28 65 71 20 74 79 70 65 20 27 63 68 69 6c 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ..((eq.type.'child)............. |
| 6f00 | 20 20 20 20 20 20 27 65 73 78 6d 6c 2d 66 69 6e 64 2d 63 68 69 6c 64 72 65 6e 29 0a 20 20 20 20 | ......'esxml-find-children)..... |
| 6f20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 54 4f 44 4f 3a 20 73 75 70 70 6f 72 74 20 64 69 | .............;;.TODO:.support.di |
| 6f40 | 72 65 63 74 20 73 69 62 6c 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b | rect.sibling..................;; |
| 6f60 | 20 54 4f 44 4f 3a 20 73 75 70 70 6f 72 74 20 69 6e 64 69 72 65 63 74 20 73 69 62 6c 69 6e 67 0a | .TODO:.support.indirect.sibling. |
| 6f80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 20 28 65 72 72 6f 72 20 22 55 6e 69 6d | .................(t.(error."Unim |
| 6fa0 | 70 6c 65 6d 65 6e 74 65 64 20 63 6f 6d 62 69 6e 61 74 6f 72 20 25 73 22 20 63 6f 6d 62 69 6e 61 | plemented.combinator.%s".combina |
| 6fc0 | 74 6f 72 29 29 29 29 29 0a 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 77 61 6c 6b 65 72 20 28 65 73 | tor))))).....(funcall.walker.(es |
| 6fe0 | 78 6d 6c 2d 2d 66 69 6e 64 2d 6e 6f 64 65 2d 66 6f 72 20 61 74 74 72 69 62 75 74 65 73 29 20 72 | xml--find-node-for.attributes).r |
| 7000 | 6f 6f 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 2d 71 75 65 72 79 20 28 73 65 6c | oot)))..(defun.esxml--query.(sel |
| 7020 | 65 63 74 6f 72 20 72 6f 6f 74 29 0a 20 20 28 6c 65 74 2a 20 28 28 61 74 74 72 69 62 75 74 65 73 | ector.root)...(let*.((attributes |
| 7040 | 20 28 70 6f 70 20 73 65 6c 65 63 74 6f 72 29 29 0a 20 20 20 20 20 20 20 20 20 63 6f 6d 62 69 6e | .(pop.selector))..........combin |
| 7060 | 61 74 6f 72 0a 20 20 20 20 20 20 20 20 20 28 72 65 73 75 6c 74 20 28 65 73 78 6d 6c 2d 2d 66 69 | ator..........(result.(esxml--fi |
| 7080 | 6e 64 2d 6e 6f 64 65 73 20 72 6f 6f 74 20 6e 69 6c 20 61 74 74 72 69 62 75 74 65 73 29 29 29 0a | nd-nodes.root.nil.attributes))). |
| 70a0 | 20 20 20 20 28 77 68 69 6c 65 20 28 61 6e 64 20 72 65 73 75 6c 74 20 73 65 6c 65 63 74 6f 72 29 | ....(while.(and.result.selector) |
| 70c0 | 0a 20 20 20 20 20 20 28 73 65 74 71 20 63 6f 6d 62 69 6e 61 74 6f 72 20 28 70 6f 70 20 73 65 6c | .......(setq.combinator.(pop.sel |
| 70e0 | 65 63 74 6f 72 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 61 74 74 72 69 62 75 74 65 73 20 28 | ector)).......(setq.attributes.( |
| 7100 | 70 6f 70 20 73 65 6c 65 63 74 6f 72 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 72 65 73 75 6c | pop.selector)).......(setq.resul |
| 7120 | 74 20 28 63 6c 2d 6d 61 70 63 61 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | t.(cl-mapcan.................... |
| 7140 | 20 28 6c 61 6d 62 64 61 20 28 6e 6f 64 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .(lambda.(node)................. |
| 7160 | 20 20 20 20 20 20 28 65 73 78 6d 6c 2d 2d 66 69 6e 64 2d 6e 6f 64 65 73 20 6e 6f 64 65 20 63 6f | ......(esxml--find-nodes.node.co |
| 7180 | 6d 62 69 6e 61 74 6f 72 20 61 74 74 72 69 62 75 74 65 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 | mbinator.attributes))........... |
| 71a0 | 20 20 20 20 20 20 20 20 20 20 72 65 73 75 6c 74 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 72 | ..........result)).......(setq.r |
| 71c0 | 65 73 75 6c 74 20 28 64 65 6c 71 20 6e 69 6c 20 72 65 73 75 6c 74 29 29 29 0a 20 20 20 20 72 65 | esult.(delq.nil.result))).....re |
| 71e0 | 73 75 6c 74 29 29 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 2d 64 65 6c 65 74 65 2d 64 75 70 | sult))..(defun.esxml--delete-dup |
| 7200 | 73 20 28 69 74 65 6d 73 20 74 65 73 74 29 0a 20 20 28 6c 65 74 20 28 28 73 65 65 6e 20 28 6d 61 | s.(items.test)...(let.((seen.(ma |
| 7220 | 6b 65 2d 68 61 73 68 2d 74 61 62 6c 65 20 3a 74 65 73 74 20 74 65 73 74 29 29 0a 20 20 20 20 20 | ke-hash-table.:test.test))...... |
| 7240 | 20 20 20 72 65 73 75 6c 74 29 0a 20 20 20 20 28 77 68 69 6c 65 20 69 74 65 6d 73 0a 20 20 20 20 | ...result).....(while.items..... |
| 7260 | 20 20 28 6c 65 74 20 28 28 69 74 65 6d 20 28 70 6f 70 20 69 74 65 6d 73 29 29 29 0a 20 20 20 20 | ..(let.((item.(pop.items)))..... |
| 7280 | 20 20 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 28 67 65 74 68 61 73 68 20 69 74 65 6d 20 73 65 65 | ....(when.(not.(gethash.item.see |
| 72a0 | 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 69 74 65 6d 20 72 65 73 75 6c 74 29 | n))...........(push.item.result) |
| 72c0 | 0a 20 20 20 20 20 20 20 20 20 20 28 70 75 74 68 61 73 68 20 69 74 65 6d 20 74 20 73 65 65 6e 29 | ...........(puthash.item.t.seen) |
| 72e0 | 29 29 29 0a 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 72 65 73 75 6c 74 29 29 29 0a 0a 28 64 65 | ))).....(nreverse.result)))..(de |
| 7300 | 66 75 6e 20 65 73 78 6d 6c 2d 71 75 65 72 79 2d 61 6c 6c 20 28 73 65 6c 65 63 74 6f 72 20 72 6f | fun.esxml-query-all.(selector.ro |
| 7320 | 6f 74 29 0a 20 20 22 4c 6f 63 61 74 65 73 20 61 6c 6c 20 6e 6f 64 65 73 20 73 61 74 69 73 66 79 | ot)..."Locates.all.nodes.satisfy |
| 7340 | 69 6e 67 20 53 45 4c 45 43 54 4f 52 20 73 74 61 72 74 69 6e 67 20 66 72 6f 6d 20 52 4f 4f 54 2e | ing.SELECTOR.starting.from.ROOT. |
| 7360 | 0a 53 45 4c 45 43 54 4f 52 20 6d 75 73 74 20 62 65 20 61 20 73 74 72 69 6e 67 20 63 6f 6e 74 61 | .SELECTOR.must.be.a.string.conta |
| 7380 | 69 6e 69 6e 67 20 61 20 43 53 53 20 73 65 6c 65 63 74 6f 72 20 6f 72 20 61 20 70 61 72 73 65 64 | ining.a.CSS.selector.or.a.parsed |
| 73a0 | 0a 43 53 53 20 73 65 6c 65 63 74 6f 72 20 72 65 74 75 72 6e 65 64 20 62 79 20 60 65 73 78 6d 6c | .CSS.selector.returned.by.`esxml |
| 73c0 | 2d 70 61 72 73 65 2d 63 73 73 2d 73 65 6c 65 63 74 6f 72 27 2e 20 20 52 65 74 75 72 6e 73 20 61 | -parse-css-selector'...Returns.a |
| 73e0 | 0a 6c 69 73 74 20 6f 66 20 74 68 65 20 6e 6f 64 65 73 20 6f 72 20 6e 69 6c 20 69 66 20 6e 6f 6e | .list.of.the.nodes.or.nil.if.non |
| 7400 | 65 20 66 6f 75 6e 64 2e 22 0a 20 20 28 77 68 65 6e 20 28 73 74 72 69 6e 67 70 20 73 65 6c 65 63 | e.found."...(when.(stringp.selec |
| 7420 | 74 6f 72 29 0a 20 20 20 20 28 73 65 74 71 20 73 65 6c 65 63 74 6f 72 20 28 65 73 78 6d 6c 2d 70 | tor).....(setq.selector.(esxml-p |
| 7440 | 61 72 73 65 2d 63 73 73 2d 73 65 6c 65 63 74 6f 72 20 73 65 6c 65 63 74 6f 72 29 29 29 0a 20 20 | arse-css-selector.selector)))... |
| 7460 | 28 69 66 20 28 3d 20 28 6c 65 6e 67 74 68 20 73 65 6c 65 63 74 6f 72 29 20 31 29 0a 20 20 20 20 | (if.(=.(length.selector).1)..... |
| 7480 | 20 20 3b 3b 20 6e 6f 20 63 6f 6d 6d 61 73 2c 20 77 65 20 63 61 6e 20 6f 6e 6c 79 20 67 65 74 20 | ..;;.no.commas,.we.can.only.get. |
| 74a0 | 74 68 65 20 73 61 6d 65 20 6e 6f 64 65 73 20 72 65 70 65 61 74 65 64 6c 79 0a 20 20 20 20 20 20 | the.same.nodes.repeatedly....... |
| 74c0 | 28 65 73 78 6d 6c 2d 2d 64 65 6c 65 74 65 2d 64 75 70 73 20 28 65 73 78 6d 6c 2d 2d 71 75 65 72 | (esxml--delete-dups.(esxml--quer |
| 74e0 | 79 20 28 63 61 72 20 73 65 6c 65 63 74 6f 72 29 20 72 6f 6f 74 29 20 27 65 71 29 0a 20 20 20 20 | y.(car.selector).root).'eq)..... |
| 7500 | 3b 3b 20 63 6f 6d 6d 61 73 2c 20 6e 6f 64 65 73 20 6d 69 67 68 74 20 62 65 20 74 68 65 20 73 61 | ;;.commas,.nodes.might.be.the.sa |
| 7520 | 6d 65 20 2a 61 6e 64 2a 20 69 6e 20 74 68 65 20 77 72 6f 6e 67 20 6f 72 64 65 72 0a 20 20 20 20 | me.*and*.in.the.wrong.order..... |
| 7540 | 28 73 65 74 71 20 72 6f 6f 74 20 28 65 73 78 6d 6c 2d 2d 64 65 63 6f 72 61 74 65 2d 74 72 65 65 | (setq.root.(esxml--decorate-tree |
| 7560 | 20 72 6f 6f 74 29 29 0a 20 20 20 20 28 6c 65 74 20 28 72 65 73 75 6c 74 29 0a 20 20 20 20 20 20 | .root)).....(let.(result)....... |
| 7580 | 28 77 68 69 6c 65 20 73 65 6c 65 63 74 6f 72 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 72 65 | (while.selector.........(setq.re |
| 75a0 | 73 75 6c 74 20 28 6e 63 6f 6e 63 20 72 65 73 75 6c 74 20 28 65 73 78 6d 6c 2d 2d 71 75 65 72 79 | sult.(nconc.result.(esxml--query |
| 75c0 | 20 28 70 6f 70 20 73 65 6c 65 63 74 6f 72 29 20 72 6f 6f 74 29 29 29 29 0a 20 20 20 20 20 20 28 | .(pop.selector).root)))).......( |
| 75e0 | 73 65 74 71 20 72 65 73 75 6c 74 20 28 63 6c 2d 73 6f 72 74 20 72 65 73 75 6c 74 20 27 3c 20 3a | setq.result.(cl-sort.result.'<.: |
| 7600 | 6b 65 79 20 27 65 73 78 6d 6c 2d 2d 72 65 74 72 69 65 76 65 2d 64 65 63 6f 72 61 74 69 6f 6e 29 | key.'esxml--retrieve-decoration) |
| 7620 | 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 72 65 73 75 6c 74 20 28 63 6c 2d 64 65 6c 65 74 65 2d | ).......(setq.result.(cl-delete- |
| 7640 | 64 75 70 6c 69 63 61 74 65 73 20 72 65 73 75 6c 74 20 3a 74 65 73 74 20 27 3d 0a 20 20 20 20 20 | duplicates.result.:test.'=...... |
| 7660 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 7680 | 20 20 20 20 3a 6b 65 79 20 27 65 73 78 6d 6c 2d 2d 72 65 74 72 69 65 76 65 2d 64 65 63 6f 72 61 | ....:key.'esxml--retrieve-decora |
| 76a0 | 74 69 6f 6e 29 29 0a 20 20 20 20 20 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 6e 6f | tion)).......(mapcar.(lambda.(no |
| 76c0 | 64 65 29 20 28 65 73 78 6d 6c 2d 2d 75 6e 64 65 63 6f 72 61 74 65 2d 6e 6f 64 65 20 6e 6f 64 65 | de).(esxml--undecorate-node.node |
| 76e0 | 29 29 20 72 65 73 75 6c 74 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 71 75 65 72 | )).result))))..(defun.esxml-quer |
| 7700 | 79 20 28 73 65 6c 65 63 74 6f 72 20 72 6f 6f 74 29 0a 20 20 22 4c 6f 63 61 74 65 73 20 61 20 6e | y.(selector.root)..."Locates.a.n |
| 7720 | 6f 64 65 20 73 61 74 69 73 66 79 69 6e 67 20 53 45 4c 45 43 54 4f 52 20 73 74 61 72 74 69 6e 67 | ode.satisfying.SELECTOR.starting |
| 7740 | 20 66 72 6f 6d 20 52 4f 4f 54 2e 0a 53 45 4c 45 43 54 4f 52 20 6d 75 73 74 20 62 65 20 61 20 73 | .from.ROOT..SELECTOR.must.be.a.s |
| 7760 | 74 72 69 6e 67 20 63 6f 6e 74 61 69 6e 69 6e 67 20 61 20 43 53 53 20 73 65 6c 65 63 74 6f 72 20 | tring.containing.a.CSS.selector. |
| 7780 | 6f 72 20 61 20 70 61 72 73 65 64 0a 43 53 53 20 73 65 6c 65 63 74 6f 72 20 72 65 74 75 72 6e 65 | or.a.parsed.CSS.selector.returne |
| 77a0 | 64 20 62 79 20 60 65 73 78 6d 6c 2d 70 61 72 73 65 2d 63 73 73 2d 73 65 6c 65 63 74 6f 72 27 2e | d.by.`esxml-parse-css-selector'. |
| 77c0 | 20 20 52 65 74 75 72 6e 73 20 74 68 65 0a 6e 6f 64 65 20 6f 72 20 6e 69 6c 20 69 66 20 6e 6f 6e | ..Returns.the.node.or.nil.if.non |
| 77e0 | 65 20 66 6f 75 6e 64 2e 22 0a 20 20 3b 3b 20 4e 4f 54 45 3a 20 79 6f 75 20 63 61 6e 20 64 6f 20 | e.found."...;;.NOTE:.you.can.do. |
| 7800 | 61 20 62 69 74 20 6c 65 73 73 20 77 6f 72 6b 20 28 74 68 65 20 73 61 76 69 6e 67 73 20 64 65 63 | a.bit.less.work.(the.savings.dec |
| 7820 | 72 65 61 73 65 20 74 68 65 20 6d 6f 72 65 0a 20 20 3b 3b 20 62 72 61 6e 63 68 65 73 20 74 68 65 | rease.the.more...;;.branches.the |
| 7840 | 20 71 75 65 72 79 20 64 69 73 63 61 72 64 73 29 2c 20 62 75 74 20 69 74 27 73 20 73 69 6d 70 6c | .query.discards),.but.it's.simpl |
| 7860 | 65 72 20 61 6e 64 20 73 61 66 65 72 20 74 6f 20 6a 75 73 74 0a 20 20 3b 3b 20 68 61 76 65 20 74 | er.and.safer.to.just...;;.have.t |
| 7880 | 68 65 20 73 61 6d 65 20 61 6c 67 6f 72 69 74 68 6d 20 66 6f 72 20 62 6f 74 68 20 65 6e 74 72 79 | he.same.algorithm.for.both.entry |
| 78a0 | 20 70 6f 69 6e 74 73 0a 20 20 28 63 61 72 20 28 65 73 78 6d 6c 2d 71 75 65 72 79 2d 61 6c 6c 20 | .points...(car.(esxml-query-all. |
| 78c0 | 73 65 6c 65 63 74 6f 72 20 72 6f 6f 74 29 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 65 73 78 6d | selector.root)))..(provide.'esxm |
| 78e0 | 6c 2d 71 75 65 72 79 29 0a 3b 3b 3b 20 65 73 78 6d 6c 2d 71 75 65 72 79 2e 65 6c 20 65 6e 64 73 | l-query).;;;.esxml-query.el.ends |
| 7900 | 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .here........................... |
| 7920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 79a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 79c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 79e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7a00 | 65 73 78 6d 6c 2d 32 30 32 33 30 33 30 38 2e 32 32 35 34 2f 65 73 78 6d 6c 2e 65 6c 00 00 00 00 | esxml-20230308.2254/esxml.el.... |
| 7a20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7a40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7a60 | 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 |
| 7a80 | 30 30 32 34 31 32 36 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 36 31 36 00 20 30 00 00 00 | 0024126.00000000000.013616..0... |
| 7aa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7ac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7ae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7b00 | 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................... |
| 7b20 | 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................... |
| 7b40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7b60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7b80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7ba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7bc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7be0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7c00 | 3b 3b 3b 20 65 73 78 6d 6c 2e 65 6c 20 2d 2d 2d 20 4c 69 62 72 61 72 79 20 66 6f 72 20 77 6f 72 | ;;;.esxml.el.---.Library.for.wor |
| 7c20 | 6b 69 6e 67 20 77 69 74 68 20 78 6d 6c 20 76 69 61 20 65 73 78 6d 6c 20 61 6e 64 20 73 78 6d 6c | king.with.xml.via.esxml.and.sxml |
| 7c40 | 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 31 32 0a 0a 3b 3b 20 41 75 74 68 6f | .;;.Copyright.(C).2012..;;.Autho |
| 7c60 | 72 3a 20 56 61 6e 79 61 20 49 7a 61 6b 73 6f 6e 61 73 2d 53 6d 69 74 68 20 3c 69 7a 61 6b 30 30 | r:.Vanya.Izaksonas-Smith.<izak00 |
| 7c80 | 30 32 20 61 74 20 75 6d 6e 20 64 6f 74 20 65 64 75 3e 0a 3b 3b 20 4d 61 69 6e 74 61 69 6e 65 72 | 02.at.umn.dot.edu>.;;.Maintainer |
| 7ca0 | 3a 20 56 61 6e 79 61 20 49 7a 61 6b 73 6f 6e 61 73 2d 53 6d 69 74 68 0a 3b 3b 20 55 52 4c 3a 20 | :.Vanya.Izaksonas-Smith.;;.URL:. |
| 7cc0 | 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 74 61 6c 69 37 31 33 2f 65 73 78 6d 6c | https://github.com/tali713/esxml |
| 7ce0 | 0a 3b 3b 20 43 72 65 61 74 65 64 3a 20 31 35 74 68 20 41 75 67 75 73 74 20 32 30 31 32 0a 3b 3b | .;;.Created:.15th.August.2012.;; |
| 7d00 | 20 56 65 72 73 69 6f 6e 3a 20 30 2e 33 2e 37 0a 3b 3b 20 4b 65 79 77 6f 72 64 73 3a 20 74 6f 6f | .Version:.0.3.7.;;.Keywords:.too |
| 7d20 | 6c 73 2c 20 6c 69 73 70 2c 20 63 6f 6d 6d 0a 3b 3b 20 44 65 73 63 72 69 70 74 69 6f 6e 3a 20 41 | ls,.lisp,.comm.;;.Description:.A |
| 7d40 | 20 6c 69 62 72 61 72 79 20 66 6f 72 20 65 61 73 69 6c 79 20 67 65 6e 65 72 61 74 69 6e 67 20 58 | .library.for.easily.generating.X |
| 7d60 | 4d 4c 2f 58 48 54 4d 4c 20 69 6e 20 65 6c 69 73 70 0a 3b 3b 0a 3b 3b 20 54 68 69 73 20 70 72 6f | ML/XHTML.in.elisp.;;.;;.This.pro |
| 7d80 | 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 | gram.is.free.software;.you.can.r |
| 7da0 | 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 3b 3b 20 | edistribute.it.and/or.modify.;;. |
| 7dc0 | 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 | it.under.the.terms.of.the.GNU.Ge |
| 7de0 | 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 | neral.Public.License.as.publishe |
| 7e00 | 64 20 62 79 0a 3b 3b 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 | d.by.;;.the.Free.Software.Founda |
| 7e20 | 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20 4c 69 | tion,.either.version.3.of.the.Li |
| 7e40 | 63 65 6e 73 65 2c 20 6f 72 0a 3b 3b 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e | cense,.or.;;.(at.your.option).an |
| 7e60 | 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 | y.later.version...;;.This.progra |
| 7e80 | 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 | m.is.distributed.in.the.hope.tha |
| 7ea0 | 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 3b 3b 20 62 75 74 20 57 49 54 48 | t.it.will.be.useful,.;;.but.WITH |
| 7ec0 | 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 | OUT.ANY.WARRANTY;.without.even.t |
| 7ee0 | 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 3b 3b 20 4d 45 52 43 48 41 | he.implied.warranty.of.;;.MERCHA |
| 7f00 | 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 | NTABILITY.or.FITNESS.FOR.A.PARTI |
| 7f20 | 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 3b 3b 20 47 4e 55 20 47 | CULAR.PURPOSE...See.the.;;.GNU.G |
| 7f40 | 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 | eneral.Public.License.for.more.d |
| 7f60 | 65 74 61 69 6c 73 2e 0a 0a 3b 3b 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 | etails...;;.You.should.have.rece |
| 7f80 | 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 | ived.a.copy.of.the.GNU.General.P |
| 7fa0 | 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 3b 3b 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 | ublic.License.;;.along.with.this |
| 7fc0 | 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 3a 2f 2f 77 | .program...If.not,.see.<http://w |
| 7fe0 | 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 43 6f 6d 6d | ww.gnu.org/licenses/>...;;;.Comm |
| 8000 | 65 6e 74 61 72 79 3a 0a 0a 3b 3b 20 54 68 69 73 20 69 73 20 58 4d 4c 2f 58 48 54 4d 4c 20 64 6f | entary:..;;.This.is.XML/XHTML.do |
| 8020 | 6e 65 20 77 69 74 68 20 53 2d 45 78 70 72 65 73 73 69 6f 6e 73 20 69 6e 20 45 6d 61 63 73 4c 69 | ne.with.S-Expressions.in.EmacsLi |
| 8040 | 73 70 2e 20 20 53 69 6d 70 6c 79 2c 0a 3b 3b 20 74 68 69 73 20 69 73 20 74 68 65 20 65 61 73 69 | sp...Simply,.;;.this.is.the.easi |
| 8060 | 65 73 74 20 77 61 79 20 74 6f 20 77 72 69 74 65 20 48 54 4d 4c 20 6f 72 20 58 4d 4c 20 69 6e 20 | est.way.to.write.HTML.or.XML.in. |
| 8080 | 4c 69 73 70 2e 0a 3b 3b 0a 3b 3b 20 54 68 69 73 20 6c 69 62 72 61 72 79 20 75 73 65 73 20 74 68 | Lisp..;;.;;.This.library.uses.th |
| 80a0 | 65 20 6e 61 74 69 76 65 20 66 6f 72 6d 20 6f 66 20 58 4d 4c 20 72 65 70 72 65 73 65 6e 74 61 74 | e.native.form.of.XML.representat |
| 80c0 | 69 6f 6e 20 61 73 20 75 73 65 64 20 62 79 0a 3b 3b 20 6d 61 6e 79 20 6c 69 62 72 61 72 69 65 73 | ion.as.used.by.;;.many.libraries |
| 80e0 | 20 61 6c 72 65 61 64 79 20 69 6e 63 6c 75 64 65 64 20 77 69 74 68 69 6e 20 65 6d 61 63 73 2e 20 | .already.included.within.emacs.. |
| 8100 | 20 54 68 69 73 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 0a 3b 3b 20 77 69 6c 6c 20 62 65 20 | .This.representation.;;.will.be. |
| 8120 | 72 65 66 65 72 72 65 64 20 74 6f 20 61 73 20 22 65 73 78 6d 6c 22 20 74 68 72 6f 75 67 68 6f 75 | referred.to.as."esxml".throughou |
| 8140 | 74 20 74 68 69 73 20 6c 69 62 72 61 72 79 2e 20 20 53 65 65 0a 3b 3b 20 60 65 73 78 6d 6c 2d 74 | t.this.library...See.;;.`esxml-t |
| 8160 | 6f 2d 78 6d 6c 27 20 66 6f 72 20 61 20 63 6f 6e 63 69 73 65 20 64 65 73 63 72 69 70 74 69 6f 6e | o-xml'.for.a.concise.description |
| 8180 | 20 6f 66 20 74 68 65 20 66 6f 72 6d 61 74 2e 0a 3b 3b 0a 3b 3b 20 54 68 69 73 20 6c 69 62 72 61 | .of.the.format..;;.;;.This.libra |
| 81a0 | 72 79 20 69 73 20 6e 6f 74 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 62 65 20 75 73 65 64 20 64 69 | ry.is.not.intended.to.be.used.di |
| 81c0 | 72 65 63 74 6c 79 20 62 79 20 61 20 75 73 65 72 2c 20 74 68 6f 75 67 68 0a 3b 3b 20 69 74 20 63 | rectly.by.a.user,.though.;;.it.c |
| 81e0 | 65 72 74 61 69 6e 6c 79 20 63 6f 75 6c 64 20 62 65 2e 20 20 49 74 20 63 6f 75 6c 64 20 62 65 20 | ertainly.could.be...It.could.be. |
| 8200 | 75 73 65 64 20 74 6f 20 67 65 6e 65 72 61 74 65 20 73 74 61 74 69 63 20 68 74 6d 6c 2c 0a 3b 3b | used.to.generate.static.html,.;; |
| 8220 | 20 6f 72 20 75 73 65 20 61 20 6c 69 62 72 61 72 79 20 6c 69 6b 65 20 60 65 6c 6e 6f 64 65 27 20 | .or.use.a.library.like.`elnode'. |
| 8240 | 74 6f 20 73 65 72 76 65 20 64 79 6e 61 6d 69 63 20 70 61 67 65 73 2e 20 20 4f 72 20 65 76 65 6e | to.serve.dynamic.pages...Or.even |
| 8260 | 20 74 6f 0a 3b 3b 20 65 78 74 72 61 63 74 20 61 20 66 6f 72 6d 20 66 72 6f 6d 20 61 20 73 69 74 | .to.;;.extract.a.form.from.a.sit |
| 8280 | 65 20 74 6f 20 70 72 6f 64 75 63 65 20 61 6e 20 41 50 49 2e 0a 3b 3b 0a 3b 3b 20 54 4f 44 4f 3a | e.to.produce.an.API..;;.;;.TODO: |
| 82a0 | 20 42 65 74 74 65 72 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2c 20 6d 6f 72 65 20 63 6f 6e 76 | .Better.documentation,.more.conv |
| 82c0 | 65 6e 69 65 6e 63 65 2e 0a 3b 3b 0a 3b 3b 20 4e 4f 54 49 43 45 3a 20 43 6f 64 65 20 62 61 73 65 | enience..;;.;;.NOTICE:.Code.base |
| 82e0 | 20 77 69 6c 6c 20 62 65 20 74 72 61 6e 73 69 74 69 6f 6e 69 6e 67 20 74 6f 20 75 73 69 6e 67 20 | .will.be.transitioning.to.using. |
| 8300 | 70 63 61 73 65 20 69 6e 73 74 65 61 64 20 6f 66 0a 3b 3b 20 64 65 73 74 72 75 63 74 75 72 69 6e | pcase.instead.of.;;.destructurin |
| 8320 | 67 20 62 69 6e 64 20 77 68 65 72 65 76 65 72 20 70 6f 73 73 69 62 6c 65 2e 20 20 49 66 20 74 68 | g.bind.wherever.possible...If.th |
| 8340 | 69 73 20 6c 65 61 64 73 20 74 6f 20 68 61 72 64 20 74 6f 0a 3b 3b 20 64 65 62 75 67 20 63 6f 64 | is.leads.to.hard.to.;;.debug.cod |
| 8360 | 65 2c 20 70 6c 65 61 73 65 20 6c 65 74 20 6d 65 20 6b 6e 6f 77 2c 20 61 6e 64 20 49 20 77 69 6c | e,.please.let.me.know,.and.I.wil |
| 8380 | 6c 20 64 6f 20 77 68 61 74 65 76 65 72 20 49 20 63 61 6e 20 74 6f 0a 3b 3b 20 72 65 73 6f 6c 76 | l.do.whatever.I.can.to.;;.resolv |
| 83a0 | 65 20 74 68 65 73 65 20 69 73 73 75 65 73 2e 0a 3b 3b 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 28 72 65 | e.these.issues..;;.;;;.Code:.(re |
| 83c0 | 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 78 6d 6c 29 0a 28 72 | quire.'cl-lib).(require.'xml).(r |
| 83e0 | 65 71 75 69 72 65 20 27 70 63 61 73 65 29 0a 0a 28 64 65 66 75 6e 20 73 74 72 69 6e 67 2d 74 72 | equire.'pcase)..(defun.string-tr |
| 8400 | 69 6d 2d 77 68 69 74 65 73 70 61 63 65 20 28 73 74 72 69 6e 67 29 0a 20 20 22 41 20 73 69 6d 70 | im-whitespace.(string)..."A.simp |
| 8420 | 6c 65 20 66 75 6e 63 74 69 6f 6e 2c 20 73 74 72 69 70 73 20 74 68 65 20 77 68 69 74 65 73 70 61 | le.function,.strips.the.whitespa |
| 8440 | 63 65 20 66 72 6f 6d 20 62 65 67 69 6e 6e 69 6e 67 20 61 6e 64 0a 65 6e 64 20 6f 66 20 74 68 65 | ce.from.beginning.and.end.of.the |
| 8460 | 20 73 74 72 69 6e 67 2e 20 20 4c 65 61 76 65 73 20 61 6c 6c 20 6f 74 68 65 72 20 77 68 69 74 65 | .string...Leaves.all.other.white |
| 8480 | 73 70 61 63 65 20 75 6e 74 6f 75 63 68 65 64 2e 22 0a 20 20 28 72 65 70 6c 61 63 65 2d 72 65 67 | space.untouched."...(replace-reg |
| 84a0 | 65 78 70 2d 69 6e 2d 73 74 72 69 6e 67 0a 20 20 20 28 72 78 20 73 74 72 69 6e 67 2d 73 74 61 72 | exp-in-string....(rx.string-star |
| 84c0 | 74 20 28 2a 20 77 68 69 74 65 73 70 61 63 65 29 0a 20 20 20 20 20 20 20 28 67 72 6f 75 70 20 28 | t.(*.whitespace)........(group.( |
| 84e0 | 2b 3f 20 61 6e 79 74 68 69 6e 67 29 29 0a 20 20 20 20 20 20 20 28 2a 20 77 68 69 74 65 73 70 61 | +?.anything))........(*.whitespa |
| 8500 | 63 65 29 20 73 74 72 69 6e 67 2d 65 6e 64 29 0a 20 20 20 22 5c 5c 31 22 0a 20 20 20 73 74 72 69 | ce).string-end)...."\\1"....stri |
| 8520 | 6e 67 29 29 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 74 72 69 6d 2d 77 73 20 28 65 73 78 6d | ng))..(defun.esxml-trim-ws.(esxm |
| 8540 | 6c 29 0a 20 20 22 54 68 69 73 20 6d 61 79 20 63 61 75 73 65 20 70 72 6f 62 6c 65 6d 73 2c 20 69 | l)..."This.may.cause.problems,.i |
| 8560 | 73 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 20 70 61 72 73 69 6e 67 20 78 6d 6c 20 69 6e 74 6f 20 | s.intended.for.parsing.xml.into. |
| 8580 | 73 78 6d 6c 0a 62 75 74 20 6d 61 79 20 65 72 6f 6e 65 6f 75 73 6c 79 20 64 65 6c 65 74 65 20 64 | sxml.but.may.eroneously.delete.d |
| 85a0 | 65 73 69 72 61 62 6c 65 20 77 68 69 74 65 20 73 70 61 63 65 2e 22 0a 20 20 28 69 66 20 28 73 74 | esirable.white.space."...(if.(st |
| 85c0 | 72 69 6e 67 70 20 65 73 78 6d 6c 29 20 28 73 74 72 69 6e 67 2d 74 72 69 6d 2d 77 68 69 74 65 73 | ringp.esxml).(string-trim-whites |
| 85e0 | 70 61 63 65 20 65 73 78 6d 6c 29 0a 20 20 20 20 28 70 63 61 73 65 2d 6c 65 74 20 28 28 60 28 2c | pace.esxml).....(pcase-let.((`(, |
| 8600 | 74 61 67 20 2c 61 74 74 72 73 20 2e 20 2c 62 6f 64 79 29 20 65 73 78 6d 6c 29 29 0a 20 20 20 20 | tag.,attrs...,body).esxml))..... |
| 8620 | 20 20 60 28 2c 74 61 67 20 2c 61 74 74 72 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 40 28 | ..`(,tag.,attrs..............,@( |
| 8640 | 6d 61 70 63 61 72 20 27 65 73 78 6d 6c 2d 74 72 69 6d 2d 77 73 20 62 6f 64 79 29 29 29 29 29 0a | mapcar.'esxml-trim-ws.body))))). |
| 8660 | 0a 28 64 65 66 75 6e 20 61 74 74 72 70 20 28 61 74 74 72 29 0a 20 20 22 52 65 74 75 72 6e 73 20 | .(defun.attrp.(attr)..."Returns. |
| 8680 | 74 20 69 66 20 61 74 74 72 20 69 73 20 61 20 61 6e 20 65 73 78 6d 6c 20 61 74 74 72 69 62 75 74 | t.if.attr.is.a.an.esxml.attribut |
| 86a0 | 65 2e 0a 41 6e 20 65 73 78 6d 6c 20 61 74 74 72 69 62 75 74 65 20 69 73 20 61 20 63 6f 6e 73 20 | e..An.esxml.attribute.is.a.cons. |
| 86c0 | 6f 66 20 74 68 65 20 66 6f 72 6d 20 28 73 79 6d 62 6f 6c 20 2e 20 73 74 72 69 6e 67 29 22 0a 20 | of.the.form.(symbol...string)".. |
| 86e0 | 28 61 6e 64 20 28 63 6f 6e 73 70 20 61 74 74 72 29 0a 20 20 20 20 20 20 20 28 73 79 6d 62 6f 6c | (and.(consp.attr)........(symbol |
| 8700 | 70 20 28 63 61 72 20 61 74 74 72 29 29 0a 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 70 20 28 63 | p.(car.attr))........(stringp.(c |
| 8720 | 64 72 20 61 74 74 72 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 2d 63 6f 6e 76 65 | dr.attr))))..(defun.esxml--conve |
| 8740 | 72 74 2d 70 61 69 72 20 28 61 74 74 72 29 0a 20 20 22 43 6f 6e 76 65 72 74 73 20 66 72 6f 6d 20 | rt-pair.(attr)..."Converts.from. |
| 8760 | 63 6f 6e 73 20 63 65 6c 6c 20 74 6f 20 61 74 74 72 69 62 75 74 65 20 70 61 69 72 2e 20 20 4e 6f | cons.cell.to.attribute.pair...No |
| 8780 | 74 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 0a 67 65 6e 65 72 61 6c 20 75 73 65 2e 22 0a 20 20 28 | t.intended.for.general.use."...( |
| 87a0 | 70 63 61 73 65 2d 6c 65 74 20 28 28 60 28 2c 63 61 72 20 2e 20 2c 63 64 72 29 20 61 74 74 72 29 | pcase-let.((`(,car...,cdr).attr) |
| 87c0 | 29 0a 20 20 20 20 28 63 6c 2d 63 68 65 63 6b 2d 74 79 70 65 20 63 64 72 20 73 74 72 69 6e 67 29 | ).....(cl-check-type.cdr.string) |
| 87e0 | 0a 20 20 20 20 28 63 6f 6e 63 61 74 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 63 61 72 29 0a 20 | .....(concat.(symbol-name.car).. |
| 8800 | 20 20 20 20 20 20 20 20 20 20 20 22 3d 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 69 6e | ..........."=".............(prin |
| 8820 | 31 2d 74 6f 2d 73 74 72 69 6e 67 20 28 78 6d 6c 2d 65 73 63 61 70 65 2d 73 74 72 69 6e 67 20 63 | 1-to-string.(xml-escape-string.c |
| 8840 | 64 72 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 61 74 74 72 73 70 20 28 61 74 74 72 73 29 0a 20 | dr)))))..(defun.attrsp.(attrs).. |
| 8860 | 20 20 20 22 52 65 74 75 72 6e 73 20 74 20 69 66 20 61 74 74 72 73 20 69 73 20 61 20 6c 69 73 74 | ..."Returns.t.if.attrs.is.a.list |
| 8880 | 20 6f 66 20 65 73 78 6d 6c 20 61 74 74 72 69 62 75 74 65 73 2e 0a 0a 53 65 65 3a 20 60 61 74 74 | .of.esxml.attributes...See:.`att |
| 88a0 | 72 70 27 22 0a 20 20 28 61 6e 64 20 28 6c 69 73 74 70 20 61 74 74 72 73 29 0a 20 20 20 20 20 20 | rp'"...(and.(listp.attrs)....... |
| 88c0 | 20 28 63 6c 2d 65 76 65 72 79 20 28 6c 61 6d 62 64 61 20 28 61 74 74 72 29 0a 20 20 20 20 20 20 | .(cl-every.(lambda.(attr)....... |
| 88e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 63 6f 6e 73 70 20 61 74 74 72 29 0a 20 | .............(and.(consp.attr).. |
| 8900 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 79 6d 62 6f 6c 70 20 | .......................(symbolp. |
| 8920 | 28 63 61 72 20 61 74 74 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | (car.attr))..................... |
| 8940 | 20 20 20 20 28 73 74 72 69 6e 67 70 20 28 63 64 72 20 61 74 74 72 29 29 29 29 0a 20 20 20 20 20 | ....(stringp.(cdr.attr))))...... |
| 8960 | 20 20 20 20 20 20 20 20 20 20 20 20 61 74 74 72 73 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 73 78 | ............attrs)))..(defun.esx |
| 8980 | 6d 6c 2d 76 61 6c 69 64 61 74 65 2d 66 6f 72 6d 20 28 65 73 78 6d 6c 29 0a 20 20 22 41 20 66 61 | ml-validate-form.(esxml)..."A.fa |
| 89a0 | 73 74 20 65 73 78 6d 6c 20 76 61 6c 69 64 61 74 6f 72 2e 20 20 57 69 6c 6c 20 65 72 72 6f 72 20 | st.esxml.validator...Will.error. |
| 89c0 | 6f 6e 20 69 6e 76 61 6c 69 64 20 73 75 62 70 61 72 74 73 20 6d 61 6b 69 6e 67 0a 69 74 20 73 75 | on.invalid.subparts.making.it.su |
| 89e0 | 69 74 61 62 6c 65 20 66 6f 72 20 68 69 6e 64 73 69 67 68 74 20 74 65 73 74 69 6e 67 2e 22 0a 20 | itable.for.hindsight.testing.".. |
| 8a00 | 20 28 63 6f 6e 64 20 28 28 73 74 72 69 6e 67 70 20 65 73 78 6d 6c 29 20 6e 69 6c 29 0a 20 20 20 | .(cond.((stringp.esxml).nil).... |
| 8a20 | 20 20 20 20 20 28 28 3c 20 28 6c 65 6e 67 74 68 20 65 73 78 6d 6c 29 20 32 29 0a 20 20 20 20 20 | .....((<.(length.esxml).2)...... |
| 8a40 | 20 20 20 20 28 65 72 72 6f 72 20 22 25 73 20 69 73 20 74 6f 6f 20 73 68 6f 72 74 20 74 6f 20 62 | ....(error."%s.is.too.short.to.b |
| 8a60 | 65 20 61 20 76 61 6c 69 64 20 65 73 78 6d 6c 20 65 78 70 72 65 73 73 69 6f 6e 22 20 65 73 78 6d | e.a.valid.esxml.expression".esxm |
| 8a80 | 6c 29 29 0a 20 20 20 20 20 20 20 20 28 74 20 28 70 63 61 73 65 2d 6c 65 74 20 28 28 60 28 2c 74 | l)).........(t.(pcase-let.((`(,t |
| 8aa0 | 61 67 20 2c 61 74 74 72 73 20 2e 20 2c 62 6f 64 79 29 20 65 73 78 6d 6c 29 29 0a 20 20 20 20 20 | ag.,attrs...,body).esxml))...... |
| 8ac0 | 20 20 20 20 20 20 20 20 28 63 6c 2d 63 68 65 63 6b 2d 74 79 70 65 20 74 61 67 20 73 79 6d 62 6f | ........(cl-check-type.tag.symbo |
| 8ae0 | 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 63 68 65 63 6b 2d 74 79 70 65 20 61 | l)..............(cl-check-type.a |
| 8b00 | 74 74 72 73 20 61 74 74 72 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 61 72 | ttrs.attrs)..............(mapcar |
| 8b20 | 20 27 65 73 78 6d 6c 2d 76 61 6c 69 64 61 74 65 2d 66 6f 72 6d 20 62 6f 64 79 29 29 29 29 29 0a | .'esxml-validate-form.body))))). |
| 8b40 | 0a 3b 3b 20 57 68 69 6c 65 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 75 6c 64 20 63 65 | .;;.While.the.following.could.ce |
| 8b60 | 72 74 61 69 6e 6c 79 20 68 61 76 65 20 62 65 65 6e 20 77 72 69 74 74 65 6e 20 75 73 69 6e 67 20 | rtainly.have.been.written.using. |
| 8b80 | 66 6f 72 6d 61 74 2c 0a 3b 3b 20 63 6f 6e 63 61 74 20 6d 61 6b 65 73 20 74 68 65 6d 20 65 61 73 | format,.;;.concat.makes.them.eas |
| 8ba0 | 69 65 72 20 74 6f 20 72 65 61 64 2e 20 20 55 70 64 61 74 65 20 6c 61 74 65 72 20 69 66 20 6e 65 | ier.to.read...Update.later.if.ne |
| 8bc0 | 63 63 65 73 61 72 79 20 66 6f 72 0a 3b 3b 20 65 66 66 69 63 69 65 6e 63 79 2e 0a 0a 3b 3b 20 54 | ccesary.for.;;.efficiency...;;.T |
| 8be0 | 68 6f 75 67 68 20 61 74 20 66 69 72 73 74 20 67 6c 61 6e 63 65 20 74 68 65 20 72 65 63 75 72 73 | hough.at.first.glance.the.recurs |
| 8c00 | 69 76 65 20 6e 61 74 75 72 65 20 6f 66 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 6d 69 67 68 | ive.nature.of.this.function.migh |
| 8c20 | 74 0a 3b 3b 20 67 69 76 65 20 6f 6e 65 20 70 61 75 73 65 2c 20 73 69 6e 63 65 20 78 6d 6c 20 69 | t.;;.give.one.pause,.since.xml.i |
| 8c40 | 73 20 61 20 72 65 63 75 72 73 69 76 65 20 64 61 74 61 20 74 79 70 65 2c 20 61 20 72 65 63 75 72 | s.a.recursive.data.type,.a.recur |
| 8c60 | 73 69 76 65 0a 3b 3b 20 70 61 72 73 65 72 20 69 73 20 61 6e 20 6f 70 74 69 6d 61 6c 20 73 74 72 | sive.;;.parser.is.an.optimal.str |
| 8c80 | 61 74 65 67 79 2e 20 20 65 61 63 68 20 6e 6f 64 65 20 77 69 6c 6c 20 62 65 20 76 69 73 69 74 65 | ategy...each.node.will.be.visite |
| 8ca0 | 64 20 65 78 61 63 74 6c 79 0a 3b 3b 20 6f 6e 63 65 20 64 75 72 69 6e 67 20 74 68 65 20 74 72 61 | d.exactly.;;.once.during.the.tra |
| 8cc0 | 6e 73 66 6f 72 6d 61 74 69 6f 6e 2e 0a 3b 3b 0a 3b 3b 20 46 75 72 74 68 65 72 2c 20 73 69 6e 63 | nsformation..;;.;;.Further,.sinc |
| 8ce0 | 65 20 61 20 73 74 72 69 6e 67 20 69 73 20 61 20 74 65 72 6d 69 6e 61 6c 20 6e 6f 64 65 20 61 6e | e.a.string.is.a.terminal.node.an |
| 8d00 | 64 20 73 69 6e 63 65 20 78 6d 6c 20 63 61 6e 20 62 65 0a 3b 3b 20 72 65 70 72 65 73 65 6e 74 65 | d.since.xml.can.be.;;.represente |
| 8d20 | 64 20 61 73 20 61 20 73 74 72 69 6e 67 2c 20 6e 6f 6e 20 64 79 6e 61 6d 69 63 20 70 6f 72 74 69 | d.as.a.string,.non.dynamic.porti |
| 8d40 | 6f 6e 73 20 6f 66 20 74 68 65 20 70 61 67 65 20 6d 61 79 20 62 65 0a 3b 3b 20 70 72 65 63 61 63 | ons.of.the.page.may.be.;;.precac |
| 8d60 | 68 65 64 20 71 75 69 74 65 20 65 61 73 69 6c 79 2e 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 2d | hed.quite.easily..(defun.esxml-- |
| 8d80 | 74 6f 2d 78 6d 6c 2d 72 65 63 75 72 73 69 76 65 20 28 65 73 78 6d 6c 29 0a 20 20 28 70 63 61 73 | to-xml-recursive.(esxml)...(pcas |
| 8da0 | 65 20 65 73 78 6d 6c 0a 20 20 20 20 28 28 70 72 65 64 20 73 74 72 69 6e 67 70 29 0a 20 20 20 20 | e.esxml.....((pred.stringp)..... |
| 8dc0 | 20 28 78 6d 6c 2d 65 73 63 61 70 65 2d 73 74 72 69 6e 67 20 65 73 78 6d 6c 29 29 0a 20 20 20 20 | .(xml-escape-string.esxml))..... |
| 8de0 | 28 60 28 72 61 77 2d 73 74 72 69 6e 67 20 2c 73 74 72 69 6e 67 29 0a 20 20 20 20 20 28 63 6c 2d | (`(raw-string.,string)......(cl- |
| 8e00 | 63 68 65 63 6b 2d 74 79 70 65 20 73 74 72 69 6e 67 20 73 74 72 69 6e 67 70 29 0a 20 20 20 20 20 | check-type.string.stringp)...... |
| 8e20 | 73 74 72 69 6e 67 29 0a 20 20 20 20 28 60 28 63 6f 6d 6d 65 6e 74 20 6e 69 6c 20 2c 62 6f 64 79 | string).....(`(comment.nil.,body |
| 8e40 | 29 0a 20 20 20 20 20 28 63 6f 6e 63 61 74 20 22 3c 21 2d 2d 20 22 20 62 6f 64 79 20 22 20 2d 2d | )......(concat."<!--.".body.".-- |
| 8e60 | 3e 22 29 29 0a 20 20 20 20 28 60 28 2c 74 61 67 20 2c 61 74 74 72 73 20 2e 20 2c 62 6f 64 79 29 | >")).....(`(,tag.,attrs...,body) |
| 8e80 | 0a 20 20 20 20 20 3b 3b 20 63 6f 64 65 20 67 6f 65 73 20 68 65 72 65 20 74 6f 20 63 61 74 63 68 | ......;;.code.goes.here.to.catch |
| 8ea0 | 20 69 6e 76 61 6c 69 64 20 64 61 74 61 2e 0a 20 20 20 20 20 28 63 6f 6e 63 61 74 20 22 3c 22 20 | .invalid.data.......(concat."<". |
| 8ec0 | 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 74 61 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | (symbol-name.tag)..............( |
| 8ee0 | 77 68 65 6e 20 61 74 74 72 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 | when.attrs................(conca |
| 8f00 | 74 20 22 20 22 20 28 6d 61 70 63 6f 6e 63 61 74 20 27 65 73 78 6d 6c 2d 2d 63 6f 6e 76 65 72 74 | t.".".(mapconcat.'esxml--convert |
| 8f20 | 2d 70 61 69 72 20 61 74 74 72 73 20 22 20 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | -pair.attrs."."))).............. |
| 8f40 | 28 69 66 20 62 6f 64 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 | (if.body..................(conca |
| 8f60 | 74 20 22 3e 22 20 28 6d 61 70 63 6f 6e 63 61 74 20 27 65 73 78 6d 6c 2d 2d 74 6f 2d 78 6d 6c 2d | t.">".(mapconcat.'esxml--to-xml- |
| 8f80 | 72 65 63 75 72 73 69 76 65 20 62 6f 64 79 20 22 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | recursive.body."").............. |
| 8fa0 | 20 20 20 20 20 20 20 20 20 20 20 20 22 3c 2f 22 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 74 61 | ............"</".(symbol-name.ta |
| 8fc0 | 67 29 20 22 3e 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2f 3e 22 29 29 29 29 29 | g).">")................"/>"))))) |
| 8fe0 | 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 74 6f 2d 78 6d 6c 20 28 65 73 78 6d 6c 29 0a 20 20 | ..(defun.esxml-to-xml.(esxml)... |
| 9000 | 22 54 68 69 73 20 74 72 61 6e 73 6c 61 74 65 73 20 61 6e 20 65 73 78 6d 6c 20 65 78 70 72 65 73 | "This.translates.an.esxml.expres |
| 9020 | 73 69 6f 6e 2c 20 69 2e 65 2e 20 74 68 61 74 20 77 68 69 63 68 20 69 73 20 72 65 74 75 72 6e 65 | sion,.i.e..that.which.is.returne |
| 9040 | 64 0a 62 79 20 78 6d 6c 2d 70 61 72 73 65 2d 72 65 67 69 6f 6e 2e 20 54 68 65 20 73 74 72 75 63 | d.by.xml-parse-region..The.struc |
| 9060 | 74 75 72 65 20 69 73 20 64 65 66 69 6e 65 64 20 61 73 20 61 6e 79 20 6f 66 20 74 68 65 0a 66 6f | ture.is.defined.as.any.of.the.fo |
| 9080 | 6c 6c 6f 77 69 6e 67 20 66 6f 72 6d 73 3a 0a 0a 2d 20 41 20 73 74 72 69 6e 67 2e 0a 0a 20 53 54 | llowing.forms:..-.A.string....ST |
| 90a0 | 52 49 4e 47 0a 0a 53 54 52 49 4e 47 3a 20 74 68 65 20 73 74 72 69 6e 67 20 69 74 20 69 73 20 72 | RING..STRING:.the.string.it.is.r |
| 90c0 | 65 74 75 72 6e 65 64 20 77 69 74 68 20 65 6e 74 69 74 69 65 73 20 65 73 63 61 70 65 64 0a 0a 2d | eturned.with.entities.escaped..- |
| 90e0 | 20 41 20 6c 69 73 74 20 77 68 65 72 65 20 74 68 65 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 | .A.list.where.the.first.element. |
| 9100 | 69 73 20 74 68 65 20 72 61 77 2d 73 74 72 69 6e 67 20 73 79 6d 62 6f 6c 20 61 6e 64 20 74 68 65 | is.the.raw-string.symbol.and.the |
| 9120 | 0a 20 20 73 65 63 6f 6e 64 20 69 73 20 61 20 73 74 72 69 6e 67 2e 0a 0a 20 28 72 61 77 2d 73 74 | ...second.is.a.string....(raw-st |
| 9140 | 72 69 6e 67 20 53 54 52 49 4e 47 29 0a 0a 53 54 52 49 4e 47 3a 20 74 68 65 20 73 74 72 69 6e 67 | ring.STRING)..STRING:.the.string |
| 9160 | 20 69 73 20 72 65 74 75 72 6e 65 64 20 75 6e 63 68 61 6e 67 65 64 2e 20 54 68 69 73 20 61 6c 6c | .is.returned.unchanged..This.all |
| 9180 | 6f 77 73 20 66 6f 72 20 63 61 63 68 69 6e 67 0a 20 20 20 20 20 20 20 20 6f 66 20 61 6e 79 20 63 | ows.for.caching.........of.any.c |
| 91a0 | 6f 6e 73 74 61 6e 74 20 70 61 72 74 73 2c 20 73 75 63 68 20 61 73 20 68 65 61 64 65 72 73 20 61 | onstant.parts,.such.as.headers.a |
| 91c0 | 6e 64 20 66 6f 6f 74 65 72 73 2e 0a 0a 2d 20 41 20 6c 69 73 74 20 77 68 65 72 65 20 74 68 65 20 | nd.footers...-.A.list.where.the. |
| 91e0 | 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 69 73 20 74 68 65 20 63 6f 6d 6d 65 6e 74 20 73 79 6d | first.element.is.the.comment.sym |
| 9200 | 62 6f 6c 20 61 6e 64 20 74 68 65 0a 20 20 73 65 63 6f 6e 64 20 69 73 20 61 20 73 74 72 69 6e 67 | bol.and.the...second.is.a.string |
| 9220 | 2e 0a 0a 20 28 63 6f 6d 6d 65 6e 74 20 53 54 52 49 4e 47 29 0a 0a 53 54 52 49 4e 47 3a 20 74 68 | ....(comment.STRING)..STRING:.th |
| 9240 | 65 20 73 74 72 69 6e 67 20 69 73 20 65 6d 62 65 64 64 65 64 20 69 6e 20 61 20 48 54 4d 4c 20 63 | e.string.is.embedded.in.a.HTML.c |
| 9260 | 6f 6d 6d 65 6e 74 2e 0a 0a 2d 20 41 20 6c 69 73 74 20 77 68 65 72 65 20 74 68 65 20 66 69 72 73 | omment...-.A.list.where.the.firs |
| 9280 | 74 20 65 6c 65 6d 65 6e 74 20 69 73 20 74 68 65 20 74 61 67 2c 20 74 68 65 20 73 65 63 6f 6e 64 | t.element.is.the.tag,.the.second |
| 92a0 | 20 69 73 0a 61 6e 20 61 6c 69 73 74 20 6f 66 20 61 74 74 72 69 62 75 74 65 20 76 61 6c 75 65 20 | .is.an.alist.of.attribute.value. |
| 92c0 | 70 61 69 72 73 20 61 6e 64 20 74 68 65 20 72 65 6d 61 69 6e 64 65 72 20 6f 66 20 74 68 65 20 6c | pairs.and.the.remainder.of.the.l |
| 92e0 | 69 73 74 0a 69 73 20 30 20 6f 72 20 6d 6f 72 65 20 65 73 78 6d 6c 20 65 6c 65 6d 65 6e 74 73 2e | ist.is.0.or.more.esxml.elements. |
| 9300 | 0a 0a 20 28 54 41 47 20 41 54 54 52 53 20 26 72 65 73 74 20 42 4f 44 59 29 0a 0a 54 41 47 3a 20 | ...(TAG.ATTRS.&rest.BODY)..TAG:. |
| 9320 | 69 73 20 74 68 65 20 74 61 67 20 61 6e 64 20 6d 75 73 74 20 62 65 20 61 20 73 79 6d 62 6f 6c 2e | is.the.tag.and.must.be.a.symbol. |
| 9340 | 0a 0a 41 54 54 52 53 3a 20 69 73 20 61 6e 20 61 6c 69 73 74 20 6f 66 20 61 74 74 72 69 62 75 74 | ..ATTRS:.is.an.alist.of.attribut |
| 9360 | 65 20 70 61 69 72 73 20 65 61 63 68 20 70 61 69 72 20 6d 75 73 74 20 62 65 20 6f 66 20 74 68 65 | e.pairs.each.pair.must.be.of.the |
| 9380 | 0a 20 20 20 20 20 20 20 66 6f 72 6d 20 28 4b 45 59 20 2e 20 56 41 4c 55 45 29 2e 0a 0a 4b 45 59 | ........form.(KEY...VALUE)...KEY |
| 93a0 | 3a 20 69 73 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 61 74 74 72 69 62 75 74 65 20 61 | :.is.the.name.of.the.attribute.a |
| 93c0 | 6e 64 20 6d 75 73 74 20 62 65 20 61 20 73 79 6d 62 6f 6c 2e 0a 0a 56 41 4c 55 45 3a 20 69 73 20 | nd.must.be.a.symbol...VALUE:.is. |
| 93e0 | 74 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 61 74 74 72 69 62 75 74 65 20 61 6e 64 20 6d | the.value.of.the.attribute.and.m |
| 9400 | 75 73 74 20 62 65 20 61 20 73 74 72 69 6e 67 2e 0a 0a 42 4f 44 59 3a 20 69 73 20 7a 65 72 6f 20 | ust.be.a.string...BODY:.is.zero. |
| 9420 | 6f 72 20 6d 6f 72 65 20 65 73 78 6d 6c 20 65 78 70 72 65 73 73 69 6f 6e 73 2e 20 20 48 61 76 69 | or.more.esxml.expressions...Havi |
| 9440 | 6e 67 20 6e 6f 20 62 6f 64 79 20 66 6f 72 6d 73 0a 20 20 20 20 20 20 69 6d 70 6c 69 65 73 20 74 | ng.no.body.forms.......implies.t |
| 9460 | 68 61 74 20 74 68 65 20 74 61 67 20 73 68 6f 75 6c 64 20 62 65 20 73 65 6c 66 20 63 6c 6f 73 65 | hat.the.tag.should.be.self.close |
| 9480 | 64 2e 20 20 49 66 20 74 68 65 72 65 20 69 73 0a 20 20 20 20 20 20 6f 6e 65 20 6f 72 20 6d 6f 72 | d...If.there.is.......one.or.mor |
| 94a0 | 65 20 62 6f 64 79 20 66 6f 72 6d 73 20 74 68 65 20 74 61 67 20 77 69 6c 6c 20 61 6c 77 61 79 73 | e.body.forms.the.tag.will.always |
| 94c0 | 20 62 65 20 65 78 70 6c 69 63 69 74 6c 79 0a 20 20 20 20 20 20 63 6c 6f 73 65 64 2c 20 65 76 65 | .be.explicitly.......closed,.eve |
| 94e0 | 6e 20 69 66 20 74 68 65 79 20 61 72 65 20 74 68 65 20 65 6d 70 74 79 20 73 74 72 69 6e 67 2e 22 | n.if.they.are.the.empty.string." |
| 9500 | 0a 20 20 28 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 6e 69 6c 0a 20 20 20 20 20 20 28 65 73 | ...(condition-case.nil.......(es |
| 9520 | 78 6d 6c 2d 2d 74 6f 2d 78 6d 6c 2d 72 65 63 75 72 73 69 76 65 20 65 73 78 6d 6c 29 0a 20 20 20 | xml--to-xml-recursive.esxml).... |
| 9540 | 20 28 65 72 72 6f 72 20 28 65 73 78 6d 6c 2d 76 61 6c 69 64 61 74 65 2d 66 6f 72 6d 20 65 73 78 | .(error.(esxml-validate-form.esx |
| 9560 | 6d 6c 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 70 2d 65 73 78 6d 6c 2d 74 6f 2d 78 6d 6c 20 28 | ml))))..(defun.pp-esxml-to-xml.( |
| 9580 | 65 73 78 6d 6c 29 0a 20 20 22 54 68 69 73 20 74 72 61 6e 73 6c 61 74 65 73 20 61 6e 20 65 73 78 | esxml)..."This.translates.an.esx |
| 95a0 | 6d 6c 20 65 78 70 72 65 73 69 6f 6e 20 61 73 20 60 65 73 78 6d 6c 2d 74 6f 2d 78 6d 6c 27 20 62 | ml.expresion.as.`esxml-to-xml'.b |
| 95c0 | 75 74 0a 69 6e 64 65 6e 74 73 20 69 74 20 66 6f 72 20 65 61 73 65 20 6f 66 20 68 75 6d 61 6e 20 | ut.indents.it.for.ease.of.human. |
| 95e0 | 72 65 61 64 61 62 69 6c 69 74 79 2c 20 69 74 20 69 73 20 6e 65 63 65 73 73 61 72 69 6c 79 0a 73 | readability,.it.is.necessarily.s |
| 9600 | 6c 6f 77 65 72 20 61 6e 64 20 77 69 6c 6c 20 70 72 6f 64 75 63 65 20 6c 6f 6e 67 65 72 20 6f 75 | lower.and.will.produce.longer.ou |
| 9620 | 74 70 75 74 2e 22 0a 20 20 28 70 63 61 73 65 20 65 73 78 6d 6c 0a 20 20 20 20 28 28 70 72 65 64 | tput."...(pcase.esxml.....((pred |
| 9640 | 20 73 74 72 69 6e 67 70 29 0a 20 20 20 20 20 28 78 6d 6c 2d 65 73 63 61 70 65 2d 73 74 72 69 6e | .stringp)......(xml-escape-strin |
| 9660 | 67 20 65 73 78 6d 6c 29 29 0a 20 20 20 20 28 60 28 72 61 77 2d 73 74 72 69 6e 67 20 2c 73 74 72 | g.esxml)).....(`(raw-string.,str |
| 9680 | 69 6e 67 29 0a 20 20 20 20 20 28 63 6c 2d 63 68 65 63 6b 2d 74 79 70 65 20 73 74 72 69 6e 67 20 | ing)......(cl-check-type.string. |
| 96a0 | 73 74 72 69 6e 67 70 29 0a 20 20 20 20 20 73 74 72 69 6e 67 29 0a 20 20 20 20 28 60 28 63 6f 6d | stringp)......string).....(`(com |
| 96c0 | 6d 65 6e 74 20 6e 69 6c 20 2c 62 6f 64 79 29 0a 20 20 20 20 20 28 63 6f 6e 63 61 74 20 22 3c 21 | ment.nil.,body)......(concat."<! |
| 96e0 | 2d 2d 20 22 20 62 6f 64 79 20 22 20 2d 2d 3e 22 29 29 0a 20 20 20 20 28 60 28 2c 74 61 67 20 2c | --.".body.".-->")).....(`(,tag., |
| 9700 | 61 74 74 72 73 20 2e 20 2c 62 6f 64 79 29 0a 20 20 20 20 20 28 63 6c 2d 63 68 65 63 6b 2d 74 79 | attrs...,body)......(cl-check-ty |
| 9720 | 70 65 20 74 61 67 20 73 79 6d 62 6f 6c 29 0a 20 20 20 20 20 28 63 6c 2d 63 68 65 63 6b 2d 74 79 | pe.tag.symbol)......(cl-check-ty |
| 9740 | 70 65 20 61 74 74 72 73 20 61 74 74 72 73 29 0a 20 20 20 20 20 28 63 6f 6e 63 61 74 20 22 3c 22 | pe.attrs.attrs)......(concat."<" |
| 9760 | 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 74 61 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | .(symbol-name.tag).............. |
| 9780 | 28 77 68 65 6e 20 61 74 74 72 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 | (when.attrs................(conc |
| 97a0 | 61 74 20 22 20 22 20 28 6d 61 70 63 6f 6e 63 61 74 20 27 65 73 78 6d 6c 2d 2d 63 6f 6e 76 65 72 | at.".".(mapconcat.'esxml--conver |
| 97c0 | 74 2d 70 61 69 72 20 61 74 74 72 73 20 22 20 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | t-pair.attrs.".")))............. |
| 97e0 | 20 28 69 66 20 62 6f 64 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 | .(if.body..................(conc |
| 9800 | 61 74 20 22 3e 22 20 28 69 66 20 28 63 6c 2d 65 76 65 72 79 20 27 73 74 72 69 6e 67 70 20 62 6f | at.">".(if.(cl-every.'stringp.bo |
| 9820 | 64 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | dy)............................. |
| 9840 | 20 20 20 20 20 28 6d 61 70 63 6f 6e 63 61 74 20 27 69 64 65 6e 74 69 74 79 20 62 6f 64 79 20 22 | .....(mapconcat.'identity.body." |
| 9860 | 20 22 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 | .")............................. |
| 9880 | 20 20 20 28 63 6f 6e 63 61 74 20 22 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ...(concat."\n"................. |
| 98a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 70 6c 61 63 65 2d | .......................(replace- |
| 98c0 | 72 65 67 65 78 70 2d 69 6e 2d 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | regexp-in-string................ |
| 98e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 5e 22 20 22 20 20 | ........................."^".".. |
| 9900 | 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | "............................... |
| 9920 | 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 6f 6e 63 61 74 20 27 70 70 2d 65 73 78 6d 6c 2d 74 | ..........(mapconcat.'pp-esxml-t |
| 9940 | 6f 2d 78 6d 6c 20 62 6f 64 79 20 22 5c 6e 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | o-xml.body."\n"))............... |
| 9960 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 5c 6e 22 29 29 0a | ........................."\n")). |
| 9980 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 3c 2f 22 20 28 73 | ........................."</".(s |
| 99a0 | 79 6d 62 6f 6c 2d 6e 61 6d 65 20 74 61 67 29 20 22 3e 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 | ymbol-name.tag).">")............ |
| 99c0 | 20 20 20 20 22 2f 3e 22 29 29 29 0a 20 20 20 20 28 5f 0a 20 20 20 20 20 28 65 72 72 6f 72 20 22 | ...."/>"))).....(_......(error." |
| 99e0 | 25 73 20 69 73 20 6e 6f 74 20 61 20 76 61 6c 69 64 20 65 73 78 6d 6c 20 65 78 70 72 65 73 73 69 | %s.is.not.a.valid.esxml.expressi |
| 9a00 | 6f 6e 22 20 65 73 78 6d 6c 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 73 78 6d 6c 2d 74 6f 2d 65 73 | on".esxml))))..(defun.sxml-to-es |
| 9a20 | 78 6d 6c 20 28 73 78 6d 6c 29 0a 20 20 22 54 72 61 6e 73 6c 61 74 65 73 20 73 78 6d 6c 20 74 6f | xml.(sxml)..."Translates.sxml.to |
| 9a40 | 20 65 73 78 6d 6c 20 73 6f 20 74 68 65 20 63 6f 6d 6d 6f 6e 20 73 74 61 6e 64 61 72 64 20 63 61 | .esxml.so.the.common.standard.ca |
| 9a60 | 6e 20 62 65 20 75 73 65 64 2e 0a 53 65 65 3a 20 68 74 74 70 3a 2f 2f 6f 6b 6d 69 6a 2e 6f 72 67 | n.be.used..See:.http://okmij.org |
| 9a80 | 2f 66 74 70 2f 53 63 68 65 6d 65 2f 53 58 4d 4c 2e 68 74 6d 6c 2e 20 41 64 64 69 74 69 6f 6e 61 | /ftp/Scheme/SXML.html..Additiona |
| 9aa0 | 6c 6c 79 2c 0a 28 2a 52 41 57 2d 53 54 52 49 4e 47 2a 20 5c 22 73 74 72 69 6e 67 5c 22 29 20 69 | lly,.(*RAW-STRING*.\"string\").i |
| 9ac0 | 73 20 74 72 61 6e 73 6c 61 74 65 64 20 74 6f 20 28 72 61 77 2d 73 74 72 69 6e 67 0a 5c 22 73 74 | s.translated.to.(raw-string.\"st |
| 9ae0 | 72 69 6e 67 5c 22 29 2e 22 0a 20 20 28 70 63 61 73 65 20 73 78 6d 6c 0a 20 20 20 20 28 60 28 2a | ring\")."...(pcase.sxml.....(`(* |
| 9b00 | 52 41 57 2d 53 54 52 49 4e 47 2a 20 2c 62 6f 64 79 29 0a 20 20 20 20 20 60 28 72 61 77 2d 73 74 | RAW-STRING*.,body)......`(raw-st |
| 9b20 | 72 69 6e 67 20 2c 62 6f 64 79 29 29 0a 20 20 20 20 28 60 28 2a 43 4f 4d 4d 45 4e 54 2a 20 2c 62 | ring.,body)).....(`(*COMMENT*.,b |
| 9b40 | 6f 64 79 29 0a 20 20 20 20 20 60 28 63 6f 6d 6d 65 6e 74 20 6e 69 6c 20 2c 62 6f 64 79 29 29 0a | ody)......`(comment.nil.,body)). |
| 9b60 | 20 20 20 20 28 60 28 2c 74 61 67 20 28 40 20 2e 20 2c 61 74 74 72 73 29 20 2e 20 2c 62 6f 64 79 | ....(`(,tag.(@...,attrs)...,body |
| 9b80 | 29 0a 20 20 20 20 20 60 28 2c 74 61 67 20 2c 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 | )......`(,tag.,(mapcar.(lambda.( |
| 9ba0 | 61 74 74 72 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 28 63 6f | attr)........................(co |
| 9bc0 | 6e 73 20 28 63 61 72 20 61 74 74 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ns.(car.attr)................... |
| 9be0 | 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 28 63 61 64 72 20 61 74 74 72 29 0a 20 20 20 20 20 | ...........(or.(cadr.attr)...... |
| 9c00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 69 | ............................(pri |
| 9c20 | 6e 31 2d 74 6f 2d 73 74 72 69 6e 67 20 28 63 61 72 20 61 74 74 72 29 29 29 29 29 0a 20 20 20 20 | n1-to-string.(car.attr)))))..... |
| 9c40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 74 74 72 73 29 0a 20 20 20 20 20 20 20 20 | .................attrs)......... |
| 9c60 | 20 20 20 20 2c 40 28 6d 61 70 63 61 72 20 27 73 78 6d 6c 2d 74 6f 2d 65 73 78 6d 6c 20 62 6f 64 | ....,@(mapcar.'sxml-to-esxml.bod |
| 9c80 | 79 29 29 29 0a 20 20 20 20 28 60 28 2c 74 61 67 20 2e 20 2c 62 6f 64 79 29 0a 20 20 20 20 20 60 | y))).....(`(,tag...,body)......` |
| 9ca0 | 28 2c 74 61 67 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 2c 40 28 6d 61 70 63 61 72 20 | (,tag.nil.............,@(mapcar. |
| 9cc0 | 27 73 78 6d 6c 2d 74 6f 2d 65 73 78 6d 6c 20 62 6f 64 79 29 29 29 0a 20 20 20 20 28 28 61 6e 64 | 'sxml-to-esxml.body))).....((and |
| 9ce0 | 20 73 78 6d 6c 20 28 70 72 65 64 20 73 74 72 69 6e 67 70 29 29 20 73 78 6d 6c 29 29 29 0a 0a 28 | .sxml.(pred.stringp)).sxml)))..( |
| 9d00 | 64 65 66 75 6e 20 73 78 6d 6c 2d 74 6f 2d 78 6d 6c 20 28 73 78 6d 6c 29 0a 20 20 22 54 72 61 6e | defun.sxml-to-xml.(sxml)..."Tran |
| 9d20 | 73 6c 61 74 65 73 20 73 78 6d 6c 20 74 6f 20 78 6d 6c 2c 20 76 69 61 20 65 73 78 6d 6c 2c 20 68 | slates.sxml.to.xml,.via.esxml,.h |
| 9d40 | 65 79 20 69 74 27 73 20 6f 6e 6c 79 20 61 20 63 6f 6e 73 74 61 6e 74 0a 66 61 63 74 6f 72 2e 20 | ey.it's.only.a.constant.factor.. |
| 9d60 | 3a 29 22 0a 20 20 28 65 73 78 6d 6c 2d 74 6f 2d 78 6d 6c 20 28 73 78 6d 6c 2d 74 6f 2d 65 73 78 | :)"...(esxml-to-xml.(sxml-to-esx |
| 9d80 | 6d 6c 20 73 78 6d 6c 29 29 29 0a 0a 0c 0a 0a 3b 3b 20 54 4f 44 4f 3a 20 6d 61 6b 65 20 61 67 6e | ml.sxml))).....;;.TODO:.make.agn |
| 9da0 | 6f 73 74 69 63 20 77 69 74 68 20 72 65 73 70 65 63 74 20 74 6f 20 6c 69 62 78 6d 6c 20 76 73 20 | ostic.with.respect.to.libxml.vs. |
| 9dc0 | 78 6d 6c 2e 65 6c 0a 28 64 65 66 75 6e 20 78 6d 6c 2d 74 6f 2d 65 73 78 6d 6c 20 28 73 74 72 69 | xml.el.(defun.xml-to-esxml.(stri |
| 9de0 | 6e 67 20 26 6f 70 74 69 6f 6e 61 6c 20 74 72 69 6d 29 0a 20 20 28 77 69 74 68 2d 74 65 6d 70 2d | ng.&optional.trim)...(with-temp- |
| 9e00 | 62 75 66 66 65 72 0a 20 20 20 20 28 69 6e 73 65 72 74 20 73 74 72 69 6e 67 29 0a 20 20 20 20 28 | buffer.....(insert.string).....( |
| 9e20 | 6c 65 74 20 28 28 70 61 72 73 65 2d 74 72 65 65 20 28 6c 69 62 78 6d 6c 2d 70 61 72 73 65 2d 78 | let.((parse-tree.(libxml-parse-x |
| 9e40 | 6d 6c 2d 72 65 67 69 6f 6e 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 0a 20 20 20 20 20 20 20 20 20 20 | ml-region.(point-min)........... |
| 9e60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 9e80 | 20 20 20 20 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 29 29 0a 20 20 20 20 20 20 28 69 66 20 74 72 | .....(point-max)))).......(if.tr |
| 9ea0 | 69 6d 0a 20 20 20 20 20 20 20 20 20 20 28 65 73 78 6d 6c 2d 74 72 69 6d 2d 77 73 20 70 61 72 73 | im...........(esxml-trim-ws.pars |
| 9ec0 | 65 2d 74 72 65 65 29 0a 20 20 20 20 20 20 20 20 70 61 72 73 65 2d 74 72 65 65 29 29 29 29 0a 0a | e-tree).........parse-tree)))).. |
| 9ee0 | 3b 3b 20 54 4f 44 4f 2c 20 6d 6f 76 65 20 74 6f 20 65 73 78 70 61 74 68 20 77 68 65 6e 20 6d 61 | ;;.TODO,.move.to.esxpath.when.ma |
| 9f00 | 74 75 72 65 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 67 65 74 2d 62 79 2d 6b 65 79 20 28 65 73 | ture.(defun.esxml-get-by-key.(es |
| 9f20 | 78 6d 6c 20 6b 65 79 20 76 61 6c 75 65 29 0a 20 20 22 52 65 74 75 72 6e 73 20 61 20 6c 69 73 74 | xml.key.value)..."Returns.a.list |
| 9f40 | 20 6f 66 20 61 6c 6c 20 65 6c 65 6d 65 6e 74 73 20 77 68 6f 73 65 20 77 74 74 72 69 62 75 74 65 | .of.all.elements.whose.wttribute |
| 9f60 | 20 4b 45 59 20 6d 61 74 63 68 0a 56 41 4c 55 45 2e 20 20 4b 45 59 20 73 68 6f 75 6c 64 20 62 65 | .KEY.match.VALUE...KEY.should.be |
| 9f80 | 20 61 20 73 79 6d 62 6f 6c 2c 20 61 6e 64 20 56 41 4c 55 45 20 73 68 6f 75 6c 64 20 62 65 20 61 | .a.symbol,.and.VALUE.should.be.a |
| 9fa0 | 20 73 74 72 69 6e 67 2e 0a 57 69 6c 6c 20 6e 6f 74 20 72 65 63 75 72 73 65 20 62 65 6c 6f 77 20 | .string..Will.not.recurse.below. |
| 9fc0 | 61 20 6d 61 74 63 68 2e 22 0a 20 20 28 75 6e 6c 65 73 73 20 28 73 74 72 69 6e 67 70 20 65 73 78 | a.match."...(unless.(stringp.esx |
| 9fe0 | 6d 6c 29 0a 20 20 20 20 28 70 63 61 73 65 2d 6c 65 74 20 28 28 60 28 2c 74 61 67 20 2c 61 74 74 | ml).....(pcase-let.((`(,tag.,att |
| a000 | 72 73 20 2e 20 2c 62 6f 64 79 29 20 65 73 78 6d 6c 29 29 0a 20 20 20 20 20 20 28 69 66 20 28 65 | rs...,body).esxml)).......(if.(e |
| a020 | 71 75 61 6c 20 76 61 6c 75 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 73 73 | qual.value..................(ass |
| a040 | 6f 63 2d 64 65 66 61 75 6c 74 20 6b 65 79 20 61 74 74 72 73 29 29 0a 20 20 20 20 20 20 20 20 20 | oc-default.key.attrs)).......... |
| a060 | 20 28 6c 69 73 74 20 65 73 78 6d 6c 29 0a 20 20 20 20 20 20 20 20 28 61 70 70 6c 79 20 27 61 70 | .(list.esxml).........(apply.'ap |
| a080 | 70 65 6e 64 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 73 65 78 70 29 0a 20 20 20 20 | pend.(mapcar.(lambda.(sexp)..... |
| a0a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 73 | .............................(es |
| a0c0 | 78 6d 6c 2d 67 65 74 2d 62 79 2d 6b 65 79 20 73 65 78 70 20 6b 65 79 20 76 61 6c 75 65 29 29 0a | xml-get-by-key.sexp.key.value)). |
| a0e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 | ...............................b |
| a100 | 6f 64 79 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 67 65 74 2d 74 61 67 73 | ody))))))..(defun.esxml-get-tags |
| a120 | 20 28 65 73 78 6d 6c 20 74 61 67 73 29 0a 20 20 22 52 65 74 75 72 6e 73 20 61 20 6c 69 73 74 20 | .(esxml.tags)..."Returns.a.list. |
| a140 | 6f 66 20 61 6c 6c 20 65 6c 65 6d 65 6e 74 73 20 77 68 6f 73 65 20 74 61 67 20 69 73 20 61 20 6d | of.all.elements.whose.tag.is.a.m |
| a160 | 65 6d 62 65 72 20 6f 66 20 54 41 47 53 2e 0a 54 41 47 53 20 73 68 6f 75 6c 64 20 62 65 20 61 20 | ember.of.TAGS..TAGS.should.be.a. |
| a180 | 6c 69 73 74 20 6f 66 20 74 61 67 73 20 74 6f 20 62 65 20 6d 61 74 63 68 65 64 20 61 67 61 69 6e | list.of.tags.to.be.matched.again |
| a1a0 | 73 74 2e 20 57 69 6c 6c 20 6e 6f 74 0a 72 65 63 75 72 73 65 20 62 65 6c 6f 77 20 61 20 6d 61 74 | st..Will.not.recurse.below.a.mat |
| a1c0 | 63 68 2e 22 0a 20 20 28 75 6e 6c 65 73 73 20 28 73 74 72 69 6e 67 70 20 65 73 78 6d 6c 29 0a 20 | ch."...(unless.(stringp.esxml).. |
| a1e0 | 20 20 20 28 70 63 61 73 65 2d 6c 65 74 20 28 28 60 28 2c 74 61 67 20 2c 61 74 74 72 73 20 2e 20 | ...(pcase-let.((`(,tag.,attrs... |
| a200 | 2c 62 6f 64 79 29 20 65 73 78 6d 6c 29 29 0a 20 20 20 20 20 20 28 69 66 20 28 6d 65 6d 62 65 72 | ,body).esxml)).......(if.(member |
| a220 | 20 74 61 67 20 74 61 67 73 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 65 73 78 6d 6c | .tag.tags)...........(list.esxml |
| a240 | 29 0a 20 20 20 20 20 20 20 20 28 61 70 70 6c 79 20 27 61 70 70 65 6e 64 20 28 6d 61 70 63 61 72 | ).........(apply.'append.(mapcar |
| a260 | 20 28 6c 61 6d 62 64 61 20 28 73 65 78 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .(lambda.(sexp)................. |
| a280 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 73 78 6d 6c 2d 67 65 74 2d 74 61 67 73 | .................(esxml-get-tags |
| a2a0 | 20 73 65 78 70 20 74 61 67 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .sexp.tags)).................... |
| a2c0 | 20 20 20 20 20 20 20 20 20 20 20 20 62 6f 64 79 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 | ............body))))))..(defun.e |
| a2e0 | 73 78 6d 6c 2d 67 65 74 2d 66 6f 72 6d 73 20 28 65 73 78 6d 6c 29 0a 20 20 22 52 65 74 75 72 6e | sxml-get-forms.(esxml)..."Return |
| a300 | 73 20 61 20 6c 69 73 74 20 6f 66 20 61 6c 6c 20 66 6f 72 6d 73 2e 22 0a 20 20 28 65 73 78 6d 6c | s.a.list.of.all.forms."...(esxml |
| a320 | 2d 67 65 74 2d 74 61 67 73 20 65 73 78 6d 6c 20 27 28 66 6f 72 6d 29 29 29 0a 0a 3b 3b 20 74 61 | -get-tags.esxml.'(form)))..;;.ta |
| a340 | 6b 65 6e 20 66 72 6f 6d 20 6b 76 0a 28 64 65 66 6d 61 63 72 6f 20 65 73 78 6d 6c 2d 64 65 73 74 | ken.from.kv.(defmacro.esxml-dest |
| a360 | 72 75 63 74 75 72 69 6e 67 2d 6d 61 70 63 61 72 20 28 61 72 67 73 20 73 65 78 70 20 73 65 71 29 | ructuring-mapcar.(args.sexp.seq) |
| a380 | 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6e 64 65 6e 74 20 32 29 29 0a 20 20 28 6c 65 74 20 28 | ...(declare.(indent.2))...(let.( |
| a3a0 | 28 65 6e 74 72 79 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 65 6e 74 72 79 22 29 29 29 0a 20 | (entry.(make-symbol."entry"))).. |
| a3c0 | 20 20 20 60 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 2c 65 6e 74 72 79 29 0a 20 20 20 | ...`(mapcar.(lambda.(,entry).... |
| a3e0 | 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 64 65 73 74 72 75 63 74 75 72 69 6e 67 2d 62 69 | ............(cl-destructuring-bi |
| a400 | 6e 64 20 2c 61 72 67 73 20 2c 65 6e 74 72 79 20 2c 73 65 78 70 29 29 0a 20 20 20 20 20 20 20 20 | nd.,args.,entry.,sexp))......... |
| a420 | 20 20 20 20 20 2c 73 65 71 29 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 65 73 78 6d 6c 29 0a 3b | .....,seq)))..(provide.'esxml).; |
| a440 | 3b 3b 20 65 73 78 6d 6c 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 | ;;.esxml.el.ends.here........... |
| 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 | ................................ |