summaryrefslogtreecommitdiff
path: root/localrepo/promise-20210307.727.tar
blob: bdf27e10369aac0646821a539f3cb1c238a0f236 (plain)
ofshex dumpascii
0000 70 72 6f 6d 69 73 65 2d 32 30 32 31 30 33 30 37 2e 37 32 37 2f 00 00 00 00 00 00 00 00 00 00 00 promise-20210307.727/...........
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 34 30 35 00 20 35 00 00 00 0000000.00000000000.012405..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 70 72 6f 6d 69 73 65 2d 32 30 32 31 30 33 30 37 2e 37 32 37 2f 70 72 6f 6d 69 73 65 2e 65 6c 00 promise-20210307.727/promise.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 36 32 33 35 36 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 34 32 31 00 20 30 00 00 00 0062356.00000000000.014421..0...
02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0300 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
0320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0400 3b 3b 3b 20 70 72 6f 6d 69 73 65 2e 65 6c 20 2d 2d 2d 20 50 72 6f 6d 69 73 65 73 2f 41 2b 20 20 ;;;.promise.el.---.Promises/A+..
0420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 2a 2d 20 6c 65 78 69 63 61 6c .....................-*-.lexical
0440 2d 62 69 6e 64 69 6e 67 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 -binding:.t;.-*-..;;.Copyright.(
0460 43 29 20 32 30 31 36 2d 32 30 31 37 20 20 63 68 75 6e 74 61 72 6f 0a 0a 3b 3b 20 41 75 74 68 6f C).2016-2017..chuntaro..;;.Autho
0480 72 3a 20 63 68 75 6e 74 61 72 6f 20 3c 63 68 75 6e 74 61 72 6f 40 73 61 6b 75 72 61 2d 67 61 6d r:.chuntaro.<chuntaro@sakura-gam
04a0 65 73 2e 6a 70 3e 0a 3b 3b 20 55 52 4c 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f es.jp>.;;.URL:.https://github.co
04c0 6d 2f 63 68 75 6e 74 61 72 6f 2f 65 6d 61 63 73 2d 70 72 6f 6d 69 73 65 0a 3b 3b 20 50 61 63 6b m/chuntaro/emacs-promise.;;.Pack
04e0 61 67 65 2d 52 65 71 75 69 72 65 73 3a 20 28 28 65 6d 61 63 73 20 22 32 35 2e 31 22 29 29 0a 3b age-Requires:.((emacs."25.1")).;
0500 3b 20 56 65 72 73 69 6f 6e 3a 20 31 2e 31 0a 3b 3b 20 4b 65 79 77 6f 72 64 73 3a 20 61 73 79 6e ;.Version:.1.1.;;.Keywords:.asyn
0520 63 20 70 72 6f 6d 69 73 65 20 63 6f 6e 76 65 6e 69 65 6e 63 65 0a 0a 3b 3b 20 54 68 69 73 20 70 c.promise.convenience..;;.This.p
0540 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e rogram.is.free.software;.you.can
0560 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 3b .redistribute.it.and/or.modify.;
0580 3b 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 ;.it.under.the.terms.of.the.GNU.
05a0 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 General.Public.License.as.publis
05c0 68 65 64 20 62 79 0a 3b 3b 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e hed.by.;;.the.Free.Software.Foun
05e0 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20 dation,.either.version.3.of.the.
0600 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 3b 3b 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 License,.or.;;.(at.your.option).
0620 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 any.later.version...;;.This.prog
0640 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 ram.is.distributed.in.the.hope.t
0660 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 3b 3b 20 62 75 74 20 57 49 hat.it.will.be.useful,.;;.but.WI
0680 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e THOUT.ANY.WARRANTY;.without.even
06a0 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 3b 3b 20 4d 45 52 43 .the.implied.warranty.of.;;.MERC
06c0 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 HANTABILITY.or.FITNESS.FOR.A.PAR
06e0 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 3b 3b 20 47 4e 55 TICULAR.PURPOSE...See.the.;;.GNU
0700 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 .General.Public.License.for.more
0720 20 64 65 74 61 69 6c 73 2e 0a 0a 3b 3b 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 .details...;;.You.should.have.re
0740 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c ceived.a.copy.of.the.GNU.General
0760 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 3b 3b 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 .Public.License.;;.along.with.th
0780 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 3a 2f is.program...If.not,.see.<http:/
07a0 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 0a 3b 3b 20 54 68 65 /www.gnu.org/licenses/>...;;.The
07c0 20 6f 72 69 67 69 6e 61 6c 20 4a 61 76 61 53 63 72 69 70 74 20 63 6f 64 65 20 69 73 3a 0a 3b 3b .original.JavaScript.code.is:.;;
07e0 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 31 34 20 46 6f 72 62 65 73 20 4c 69 .;;.Copyright.(c).2014.Forbes.Li
0800 6e 64 65 73 61 79 0a 3b 3b 0a 3b 3b 20 50 65 72 6d 69 73 73 69 6f 6e 20 69 73 20 68 65 72 65 62 ndesay.;;.;;.Permission.is.hereb
0820 79 20 67 72 61 6e 74 65 64 2c 20 66 72 65 65 20 6f 66 20 63 68 61 72 67 65 2c 20 74 6f 20 61 6e y.granted,.free.of.charge,.to.an
0840 79 20 70 65 72 73 6f 6e 20 6f 62 74 61 69 6e 69 6e 67 20 61 20 63 6f 70 79 0a 3b 3b 20 6f 66 20 y.person.obtaining.a.copy.;;.of.
0860 74 68 69 73 20 73 6f 66 74 77 61 72 65 20 61 6e 64 20 61 73 73 6f 63 69 61 74 65 64 20 64 6f 63 this.software.and.associated.doc
0880 75 6d 65 6e 74 61 74 69 6f 6e 20 66 69 6c 65 73 20 28 74 68 65 20 22 53 6f 66 74 77 61 72 65 22 umentation.files.(the."Software"
08a0 29 2c 20 74 6f 20 64 65 61 6c 0a 3b 3b 20 69 6e 20 74 68 65 20 53 6f 66 74 77 61 72 65 20 77 69 ),.to.deal.;;.in.the.Software.wi
08c0 74 68 6f 75 74 20 72 65 73 74 72 69 63 74 69 6f 6e 2c 20 69 6e 63 6c 75 64 69 6e 67 20 77 69 74 thout.restriction,.including.wit
08e0 68 6f 75 74 20 6c 69 6d 69 74 61 74 69 6f 6e 20 74 68 65 20 72 69 67 68 74 73 0a 3b 3b 20 74 6f hout.limitation.the.rights.;;.to
0900 20 75 73 65 2c 20 63 6f 70 79 2c 20 6d 6f 64 69 66 79 2c 20 6d 65 72 67 65 2c 20 70 75 62 6c 69 .use,.copy,.modify,.merge,.publi
0920 73 68 2c 20 64 69 73 74 72 69 62 75 74 65 2c 20 73 75 62 6c 69 63 65 6e 73 65 2c 20 61 6e 64 2f sh,.distribute,.sublicense,.and/
0940 6f 72 20 73 65 6c 6c 0a 3b 3b 20 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 53 6f 66 74 77 61 72 or.sell.;;.copies.of.the.Softwar
0960 65 2c 20 61 6e 64 20 74 6f 20 70 65 72 6d 69 74 20 70 65 72 73 6f 6e 73 20 74 6f 20 77 68 6f 6d e,.and.to.permit.persons.to.whom
0980 20 74 68 65 20 53 6f 66 74 77 61 72 65 20 69 73 0a 3b 3b 20 66 75 72 6e 69 73 68 65 64 20 74 6f .the.Software.is.;;.furnished.to
09a0 20 64 6f 20 73 6f 2c 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 .do.so,.subject.to.the.following
09c0 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0a 3b 3b 0a 3b 3b 20 54 68 65 20 61 62 6f 76 65 20 63 6f 70 .conditions:.;;.;;.The.above.cop
09e0 79 72 69 67 68 74 20 6e 6f 74 69 63 65 20 61 6e 64 20 74 68 69 73 20 70 65 72 6d 69 73 73 69 6f yright.notice.and.this.permissio
0a00 6e 20 6e 6f 74 69 63 65 20 73 68 61 6c 6c 20 62 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 0a 3b 3b n.notice.shall.be.included.in.;;
0a20 20 61 6c 6c 20 63 6f 70 69 65 73 20 6f 72 20 73 75 62 73 74 61 6e 74 69 61 6c 20 70 6f 72 74 69 .all.copies.or.substantial.porti
0a40 6f 6e 73 20 6f 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2e 0a 3b 3b 0a 3b 3b 20 54 48 45 20 53 ons.of.the.Software..;;.;;.THE.S
0a60 4f 46 54 57 41 52 45 20 49 53 20 50 52 4f 56 49 44 45 44 20 22 41 53 20 49 53 22 2c 20 57 49 54 OFTWARE.IS.PROVIDED."AS.IS",.WIT
0a80 48 4f 55 54 20 57 41 52 52 41 4e 54 59 20 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 45 58 50 52 45 HOUT.WARRANTY.OF.ANY.KIND,.EXPRE
0aa0 53 53 20 4f 52 0a 3b 3b 20 49 4d 50 4c 49 45 44 2c 20 49 4e 43 4c 55 44 49 4e 47 20 42 55 54 20 SS.OR.;;.IMPLIED,.INCLUDING.BUT.
0ac0 4e 4f 54 20 4c 49 4d 49 54 45 44 20 54 4f 20 54 48 45 20 57 41 52 52 41 4e 54 49 45 53 20 4f 46 NOT.LIMITED.TO.THE.WARRANTIES.OF
0ae0 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 2c 0a 3b 3b 20 46 49 54 4e 45 53 53 20 46 4f 52 .MERCHANTABILITY,.;;.FITNESS.FOR
0b00 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 20 41 4e 44 20 4e 4f 4e 49 4e 46 .A.PARTICULAR.PURPOSE.AND.NONINF
0b20 52 49 4e 47 45 4d 45 4e 54 2e 20 49 4e 20 4e 4f 20 45 56 45 4e 54 20 53 48 41 4c 4c 20 54 48 45 RINGEMENT..IN.NO.EVENT.SHALL.THE
0b40 0a 3b 3b 20 41 55 54 48 4f 52 53 20 4f 52 20 43 4f 50 59 52 49 47 48 54 20 48 4f 4c 44 45 52 53 .;;.AUTHORS.OR.COPYRIGHT.HOLDERS
0b60 20 42 45 20 4c 49 41 42 4c 45 20 46 4f 52 20 41 4e 59 20 43 4c 41 49 4d 2c 20 44 41 4d 41 47 45 .BE.LIABLE.FOR.ANY.CLAIM,.DAMAGE
0b80 53 20 4f 52 20 4f 54 48 45 52 0a 3b 3b 20 4c 49 41 42 49 4c 49 54 59 2c 20 57 48 45 54 48 45 52 S.OR.OTHER.;;.LIABILITY,.WHETHER
0ba0 20 49 4e 20 41 4e 20 41 43 54 49 4f 4e 20 4f 46 20 43 4f 4e 54 52 41 43 54 2c 20 54 4f 52 54 20 .IN.AN.ACTION.OF.CONTRACT,.TORT.
0bc0 4f 52 20 4f 54 48 45 52 57 49 53 45 2c 20 41 52 49 53 49 4e 47 20 46 52 4f 4d 2c 0a 3b 3b 20 4f OR.OTHERWISE,.ARISING.FROM,.;;.O
0be0 55 54 20 4f 46 20 4f 52 20 49 4e 20 43 4f 4e 4e 45 43 54 49 4f 4e 20 57 49 54 48 20 54 48 45 20 UT.OF.OR.IN.CONNECTION.WITH.THE.
0c00 53 4f 46 54 57 41 52 45 20 4f 52 20 54 48 45 20 55 53 45 20 4f 52 20 4f 54 48 45 52 20 44 45 41 SOFTWARE.OR.THE.USE.OR.OTHER.DEA
0c20 4c 49 4e 47 53 20 49 4e 0a 3b 3b 20 54 48 45 20 53 4f 46 54 57 41 52 45 2e 0a 0a 3b 3b 3b 20 43 LINGS.IN.;;.THE.SOFTWARE...;;;.C
0c40 6f 6d 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b 20 54 68 69 73 20 69 73 20 61 20 73 69 6d 70 6c 65 20 ommentary:..;;.This.is.a.simple.
0c60 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 6f 66 20 50 72 6f 6d 69 73 65 73 2f 41 2b 2e 0a 3b implementation.of.Promises/A+..;
0c80 3b 0a 3b 3b 20 54 68 69 73 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 70 6f 72 74 65 64 20 ;.;;.This.implementation.ported.
0ca0 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 50 72 6f 6d 69 73 65 73 2f 41 2b 20 69 6d 70 6c 65 6d the.following.Promises/A+.implem
0cc0 65 6e 74 61 74 69 6f 6e 20 66 61 69 74 68 66 75 6c 6c 79 2e 0a 3b 3b 20 68 74 74 70 73 3a 2f 2f entation.faithfully..;;.https://
0ce0 67 69 74 68 75 62 2e 63 6f 6d 2f 74 68 65 6e 2f 70 72 6f 6d 69 73 65 0a 3b 3b 0a 3b 3b 20 2a 20 github.com/then/promise.;;.;;.*.
0d00 54 68 65 20 73 61 6d 65 20 41 50 49 20 61 73 20 4a 61 76 61 53 63 72 69 70 74 20 76 65 72 73 69 The.same.API.as.JavaScript.versi
0d20 6f 6e 20 50 72 6f 6d 69 73 65 20 63 61 6e 20 62 65 20 75 73 65 64 2e 0a 3b 3b 20 20 2a 20 74 68 on.Promise.can.be.used..;;..*.th
0d40 65 6e 2c 20 63 61 74 63 68 2c 20 72 65 73 6f 6c 76 65 2c 20 72 65 6a 65 63 74 2c 20 61 6c 6c 2c en,.catch,.resolve,.reject,.all,
0d60 20 72 61 63 65 2c 20 65 74 63 2e 2e 2e 0a 3b 3b 20 2a 20 73 75 70 70 6f 72 74 73 20 22 74 68 65 .race,.etc....;;.*.supports."the
0d80 6e 61 62 6c 65 22 0a 3b 3b 20 2a 20 73 75 70 70 6f 72 74 73 20 22 49 6e 68 65 72 69 74 61 6e 63 nable".;;.*.supports."Inheritanc
0da0 65 20 6f 66 20 50 72 6f 6d 69 73 65 22 0a 3b 3b 20 2a 20 73 75 70 70 6f 72 74 73 20 22 72 65 6a e.of.Promise".;;.*.supports."rej
0dc0 65 63 74 69 6f 6e 2d 74 72 61 63 6b 69 6e 67 22 0a 3b 3b 0a 3b 3b 20 55 73 61 67 65 3a 0a 3b 3b ection-tracking".;;.;;.Usage:.;;
0de0 20 53 65 65 20 60 70 72 6f 6d 69 73 65 2d 65 78 61 6d 70 6c 65 73 2e 65 6c 27 20 66 6f 72 20 64 .See.`promise-examples.el'.for.d
0e00 65 74 61 69 6c 73 2e 0a 3b 3b 20 20 68 74 74 70 73 3a 2f 2f 72 61 77 2e 67 69 74 68 75 62 75 73 etails..;;..https://raw.githubus
0e20 65 72 63 6f 6e 74 65 6e 74 2e 63 6f 6d 2f 63 68 75 6e 74 61 72 6f 2f 65 6d 61 63 73 2d 70 72 6f ercontent.com/chuntaro/emacs-pro
0e40 6d 69 73 65 2f 6d 61 73 74 65 72 2f 65 78 61 6d 70 6c 65 73 2f 70 72 6f 6d 69 73 65 2d 65 78 61 mise/master/examples/promise-exa
0e60 6d 70 6c 65 73 2e 65 6c 0a 3b 3b 20 20 59 6f 75 20 63 61 6e 20 63 68 65 63 6b 20 74 68 65 20 6f mples.el.;;..You.can.check.the.o
0e80 70 65 72 61 74 69 6f 6e 20 77 68 69 6c 65 20 64 6f 77 6e 6c 6f 61 64 69 6e 67 20 61 6e 64 20 72 peration.while.downloading.and.r
0ea0 75 6e 6e 69 6e 67 20 69 74 20 69 6e 74 65 72 61 63 74 69 76 65 6c 79 2e 0a 3b 3b 0a 3b 3b 20 28 unning.it.interactively..;;.;;.(
0ec0 72 65 71 75 69 72 65 20 27 70 72 6f 6d 69 73 65 29 0a 3b 3b 0a 3b 3b 20 3b 3b 20 50 6c 65 61 73 require.'promise).;;.;;.;;.Pleas
0ee0 65 20 62 65 20 73 75 72 65 20 74 6f 20 65 6e 61 62 6c 65 20 69 74 20 77 68 65 6e 20 64 65 76 65 e.be.sure.to.enable.it.when.deve
0f00 6c 6f 70 69 6e 67 2e 0a 3b 3b 20 28 70 72 6f 6d 69 73 65 2d 72 65 6a 65 63 74 69 6f 6e 2d 74 72 loping..;;.(promise-rejection-tr
0f20 61 63 6b 69 6e 67 2d 65 6e 61 62 6c 65 20 27 28 28 61 6c 6c 2d 72 65 6a 65 63 74 69 6f 6e 73 20 acking-enable.'((all-rejections.
0f40 2e 20 74 29 29 29 0a 3b 3b 0a 3b 3b 20 28 64 65 66 75 6e 20 64 6f 2d 73 6f 6d 65 74 68 69 6e 67 ..t))).;;.;;.(defun.do-something
0f60 2d 61 73 79 6e 63 20 28 64 65 6c 61 79 2d 73 65 63 20 76 61 6c 75 65 29 0a 3b 3b 20 20 20 22 52 -async.(delay-sec.value).;;..."R
0f80 65 74 75 72 6e 20 60 50 72 6f 6d 69 73 65 27 20 74 6f 20 72 65 73 6f 6c 76 65 20 74 68 65 20 76 eturn.`Promise'.to.resolve.the.v
0fa0 61 6c 75 65 20 61 73 79 6e 63 68 72 6f 6e 6f 75 73 6c 79 2e 22 0a 3b 3b 20 20 20 28 70 72 6f 6d alue.asynchronously.".;;...(prom
0fc0 69 73 65 2d 6e 65 77 20 28 6c 61 6d 62 64 61 20 28 72 65 73 6f 6c 76 65 20 5f 72 65 6a 65 63 74 ise-new.(lambda.(resolve._reject
0fe0 29 0a 3b 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 75 6e 2d 61 74 2d 74 69 ).;;..................(run-at-ti
1000 6d 65 20 64 65 6c 61 79 2d 73 65 63 0a 3b 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 me.delay-sec.;;.................
1020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 69 6c 0a 3b 3b 20 20 20 20 20 20 20 20 20 20 20 20 ..............nil.;;............
1040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 29 0a 3b 3b ...................(lambda.().;;
1060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1080 20 28 66 75 6e 63 61 6c 6c 20 72 65 73 6f 6c 76 65 20 76 61 6c 75 65 29 29 29 29 29 29 0a 3b 3b .(funcall.resolve.value)))))).;;
10a0 0a 3b 3b 20 28 64 65 66 75 6e 20 65 78 61 6d 70 6c 65 34 20 28 29 0a 3b 3b 20 20 20 22 41 6c 6c .;;.(defun.example4.().;;..."All
10c0 20 70 72 6f 63 65 73 73 65 73 20 61 72 65 20 61 73 79 6e 63 68 72 6f 6e 6f 75 73 20 50 72 6f 6d .processes.are.asynchronous.Prom
10e0 69 73 65 20 63 68 61 69 6e 2e 22 0a 3b 3b 20 20 20 28 70 72 6f 6d 69 73 65 2d 63 68 61 69 6e 20 ise.chain.".;;...(promise-chain.
1100 28 64 6f 2d 73 6f 6d 65 74 68 69 6e 67 2d 61 73 79 6e 63 20 31 20 33 33 29 0a 3b 3b 20 20 20 20 (do-something-async.1.33).;;....
1120 20 28 74 68 65 6e 20 28 6c 61 6d 62 64 61 20 28 72 65 73 75 6c 74 29 0a 3b 3b 20 20 20 20 20 20 .(then.(lambda.(result).;;......
1140 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 66 69 72 73 74 20 72 65 73 75 6c 74 3a 20 25 .......(message."first.result:.%
1160 73 22 20 72 65 73 75 6c 74 29 0a 3b 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6f 2d 73 6f s".result).;;.............(do-so
1180 6d 65 74 68 69 6e 67 2d 61 73 79 6e 63 20 31 20 28 2a 20 72 65 73 75 6c 74 20 32 29 29 29 29 0a mething-async.1.(*.result.2)))).
11a0 3b 3b 0a 3b 3b 20 20 20 20 20 28 74 68 65 6e 20 28 6c 61 6d 62 64 61 20 28 73 65 63 6f 6e 64 2d ;;.;;.....(then.(lambda.(second-
11c0 72 65 73 75 6c 74 29 0a 3b 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 result).;;.............(message.
11e0 22 73 65 63 6f 6e 64 20 72 65 73 75 6c 74 3a 20 25 73 22 20 73 65 63 6f 6e 64 2d 72 65 73 75 6c "second.result:.%s".second-resul
1200 74 29 0a 3b 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6f 2d 73 6f 6d 65 74 68 69 6e 67 2d t).;;.............(do-something-
1220 61 73 79 6e 63 20 31 20 28 2a 20 73 65 63 6f 6e 64 2d 72 65 73 75 6c 74 20 32 29 29 29 29 0a 3b async.1.(*.second-result.2)))).;
1240 3b 0a 3b 3b 20 20 20 20 20 28 74 68 65 6e 20 28 6c 61 6d 62 64 61 20 28 74 68 69 72 64 2d 72 65 ;.;;.....(then.(lambda.(third-re
1260 73 75 6c 74 29 0a 3b 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 74 sult).;;.............(message."t
1280 68 69 72 64 20 72 65 73 75 6c 74 3a 20 25 73 22 20 74 68 69 72 64 2d 72 65 73 75 6c 74 29 29 29 hird.result:.%s".third-result)))
12a0 29 29 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 28 72 65 71 75 69 72 65 20 27 70 72 6f 6d 69 73 65 ))..;;;.Code:..(require.'promise
12c0 2d 65 73 36 2d 65 78 74 65 6e 73 69 6f 6e 73 29 0a 28 72 65 71 75 69 72 65 20 27 70 72 6f 6d 69 -es6-extensions).(require.'promi
12e0 73 65 2d 64 6f 6e 65 29 0a 28 72 65 71 75 69 72 65 20 27 70 72 6f 6d 69 73 65 2d 66 69 6e 61 6c se-done).(require.'promise-final
1300 6c 79 29 0a 28 72 65 71 75 69 72 65 20 27 70 72 6f 6d 69 73 65 2d 72 65 6a 65 63 74 69 6f 6e 2d ly).(require.'promise-rejection-
1320 74 72 61 63 6b 69 6e 67 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 6d 61 tracking)..;;;###autoload.(defma
1340 63 72 6f 20 70 72 6f 6d 69 73 65 2d 63 68 61 69 6e 20 28 70 72 6f 6d 69 73 65 20 26 72 65 73 74 cro.promise-chain.(promise.&rest
1360 20 62 6f 64 79 29 0a 20 20 22 45 78 74 72 61 63 74 20 50 52 4f 4d 49 53 45 2c 20 42 4f 44 59 20 .body)..."Extract.PROMISE,.BODY.
1380 69 6e 63 6c 75 64 65 20 74 68 65 6e 2c 20 63 61 74 63 68 2c 20 64 6f 6e 65 20 61 6e 64 20 66 69 include.then,.catch,.done.and.fi
13a0 6e 61 6c 6c 79 2e 0a 0a 45 78 74 72 61 63 74 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f nally...Extract.the.following.co
13c0 64 65 2e 2e 2e 0a 0a 20 20 20 20 28 70 72 6f 6d 69 73 65 2d 63 68 61 69 6e 20 28 70 72 6f 6d 69 de.........(promise-chain.(promi
13e0 73 65 2d 6e 65 77 20 2e 2e 2e 29 0a 20 20 20 20 20 20 28 74 68 65 6e 0a 20 20 20 20 20 20 20 28 se-new....).......(then........(
1400 6c 61 6d 62 64 61 20 28 76 61 6c 75 65 29 0a 20 20 20 20 20 20 20 20 20 2e 2e 2e 29 29 0a 0a 20 lambda.(value).............))...
1420 20 20 20 20 20 28 63 61 74 63 68 0a 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 72 65 61 73 .....(catch........(lambda.(reas
1440 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 2e 2e 2e 29 29 0a 0a 20 20 20 20 20 20 28 64 6f 6e 65 0a on).............))........(done.
1460 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 76 61 6c 75 65 29 0a 20 20 20 20 20 20 20 20 20 .......(lambda.(value)..........
1480 2e 2e 2e 29 29 0a 0a 20 20 20 20 20 20 28 66 69 6e 61 6c 6c 79 0a 20 20 20 20 20 20 20 28 6c 61 ...))........(finally........(la
14a0 6d 62 64 61 20 28 29 20 2e 2e 2e 29 29 0a 0a 20 20 20 20 20 20 3b 3b 20 41 6e 61 70 68 6f 72 69 mbda.()....))........;;.Anaphori
14c0 63 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 60 74 68 65 6e 27 20 61 6e 64 20 60 63 61 74 63 68 27 c.versions.of.`then'.and.`catch'
14e0 2e 0a 0a 20 20 20 20 20 20 28 74 68 65 6e 61 20 28 6d 65 73 73 61 67 65 20 5c 22 72 65 73 75 6c .........(thena.(message.\"resul
1500 74 20 2d 3e 20 25 73 5c 22 20 72 65 73 75 6c 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 2e t.->.%s\".result)...............
1520 2e 2e 29 0a 0a 20 20 20 20 20 20 28 63 61 74 63 68 61 20 28 6d 65 73 73 61 67 65 20 5c 22 65 72 ..)........(catcha.(message.\"er
1540 72 6f 72 3a 20 72 65 61 73 6f 6e 20 2d 3e 20 25 73 5c 22 20 72 65 61 73 6f 6e 29 0a 20 20 20 20 ror:.reason.->.%s\".reason).....
1560 20 20 20 20 20 20 20 20 20 20 2e 2e 2e 29 29 0a 0a 61 73 20 62 65 6c 6f 77 2e 0a 0a 20 20 20 20 .............))..as.below.......
1580 28 6c 65 74 20 28 28 70 72 6f 6d 69 73 65 20 28 70 72 6f 6d 69 73 65 2d 6e 65 77 20 2e 2e 2e 29 (let.((promise.(promise-new....)
15a0 29 29 0a 20 20 20 20 20 20 28 73 65 74 66 20 70 72 6f 6d 69 73 65 20 28 70 72 6f 6d 69 73 65 2d )).......(setf.promise.(promise-
15c0 74 68 65 6e 20 70 72 6f 6d 69 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 then.promise....................
15e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 76 61 6c 75 65 29 0a 20 ...............(lambda.(value)..
1600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1620 20 20 20 2e 2e 2e 29 29 29 0a 0a 20 20 20 20 20 20 28 73 65 74 66 20 70 72 6f 6d 69 73 65 20 28 ......)))........(setf.promise.(
1640 70 72 6f 6d 69 73 65 2d 63 61 74 63 68 20 70 72 6f 6d 69 73 65 0a 20 20 20 20 20 20 20 20 20 20 promise-catch.promise...........
1660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 .........................(lambda
1680 20 28 76 61 6c 75 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(value)........................
16a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 2e 2e 29 29 29 0a 0a 20 20 20 20 20 20 28 73 65 74 .................)))........(set
16c0 66 20 70 72 6f 6d 69 73 65 20 28 70 72 6f 6d 69 73 65 2d 64 6f 6e 65 20 70 72 6f 6d 69 73 65 0a f.promise.(promise-done.promise.
16e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1700 20 20 28 6c 61 6d 62 64 61 20 28 72 65 61 73 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..(lambda.(reason)..............
1720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 2e 2e 29 29 29 0a 0a 20 ..........................)))...
1740 20 20 20 20 20 28 73 65 74 66 20 70 72 6f 6d 69 73 65 20 28 70 72 6f 6d 69 73 65 2d 66 69 6e 61 .....(setf.promise.(promise-fina
1760 6c 6c 79 20 70 72 6f 6d 69 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 lly.promise.....................
1780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 29 0a 20 20 20 20 .................(lambda.().....
17a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
17c0 20 20 20 2e 2e 2e 29 29 29 0a 0a 20 20 20 20 20 20 28 73 65 74 66 20 70 72 6f 6d 69 73 65 20 28 ......)))........(setf.promise.(
17e0 70 72 6f 6d 69 73 65 2d 74 68 65 6e 20 70 72 6f 6d 69 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 promise-then.promise............
1800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 .......................(lambda.(
1820 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 20 20 20 20 20 20 result).........................
1840 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 5c 22 72 65 73 75 6c 74 20 2d 3e ............(message.\"result.->
1860 20 25 73 5c 22 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 .%s\".result)...................
1880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 2e 2e 29 29 29 0a 0a 20 20 20 20 20 20 .....................)))........
18a0 28 73 65 74 66 20 70 72 6f 6d 69 73 65 20 28 70 72 6f 6d 69 73 65 2d 63 61 74 63 68 20 70 72 6f (setf.promise.(promise-catch.pro
18c0 6d 69 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 mise............................
18e0 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 72 65 61 73 6f 6e 29 0a 20 20 20 20 20 20 20 ........(lambda.(reason)........
1900 20 20 20 20 20 20 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 6d ..............................(m
1920 65 73 73 61 67 65 20 5c 22 65 72 72 6f 72 3a 20 72 65 61 73 6f 6e 20 2d 3e 20 25 73 5c 22 20 72 essage.\"error:.reason.->.%s\".r
1940 65 61 73 6f 6e 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 eason)..........................
1960 20 20 20 20 20 20 20 20 20 20 20 20 2e 2e 2e 29 29 29 0a 20 20 20 20 20 20 70 72 6f 6d 69 73 65 ...............))).......promise
1980 29 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6e 64 65 6e 74 20 31 29 20 28 64 65 62 75 67 20 )"...(declare.(indent.1).(debug.
19a0 74 29 29 0a 20 20 60 28 6c 65 74 20 28 28 70 72 6f 6d 69 73 65 20 2c 70 72 6f 6d 69 73 65 29 29 t))...`(let.((promise.,promise))
19c0 0a 20 20 20 20 20 2c 40 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 73 65 78 70 29 0a 20 ......,@(mapcar.(lambda.(sexp)..
19e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 66 6e 20 28 63 61 72 2d 73 ................(let.((fn.(car-s
1a00 61 66 65 20 73 65 78 70 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 afe.sexp))......................
1a20 20 20 28 61 72 67 73 20 28 63 64 72 2d 73 61 66 65 20 73 65 78 70 29 29 29 0a 20 20 20 20 20 20 ..(args.(cdr-safe.sexp))).......
1a40 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 63 61 73 65 20 66 6e 0a 20 20 20 20 20 20 20 .............(cl-case.fn........
1a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 6d 69 73 65 2d 6e 65 77 0a 20 20 20 20 20 ..............(promise-new......
1a80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 73 65 74 66 20 70 72 6f 6d 69 73 65 20 .................`(setf.promise.
1aa0 2c 73 65 78 70 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 70 ,sexp))......................((p
1ac0 72 6f 6d 69 73 65 2d 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 romise-then.....................
1ae0 20 20 20 70 72 6f 6d 69 73 65 2d 63 61 74 63 68 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...promise-catch................
1b00 20 20 20 20 20 20 20 20 70 72 6f 6d 69 73 65 2d 64 6f 6e 65 0a 20 20 20 20 20 20 20 20 20 20 20 ........promise-done............
1b20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 6f 6d 69 73 65 2d 66 69 6e 61 6c 6c 79 29 0a 20 20 20 ............promise-finally)....
1b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 73 65 74 66 20 70 72 6f 6d 69 73 ...................`(setf.promis
1b60 65 20 28 2c 66 6e 20 70 72 6f 6d 69 73 65 20 2c 40 61 72 67 73 29 29 29 0a 20 20 20 20 20 20 20 e.(,fn.promise.,@args)))........
1b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 74 63 68 0a 20 20 20 20 20 20 20 20 20 20 20 ..............(catch............
1ba0 20 20 20 20 20 20 20 20 20 20 20 60 28 73 65 74 66 20 70 72 6f 6d 69 73 65 20 28 70 72 6f 6d 69 ...........`(setf.promise.(promi
1bc0 73 65 2d 63 61 74 63 68 20 70 72 6f 6d 69 73 65 20 2c 40 61 72 67 73 29 29 29 0a 20 20 20 20 20 se-catch.promise.,@args)))......
1be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 ................(then...........
1c00 20 20 20 20 20 20 20 20 20 20 20 20 60 28 73 65 74 66 20 70 72 6f 6d 69 73 65 20 28 70 72 6f 6d ............`(setf.promise.(prom
1c20 69 73 65 2d 74 68 65 6e 20 70 72 6f 6d 69 73 65 20 2c 40 61 72 67 73 29 29 29 0a 20 20 20 20 20 ise-then.promise.,@args)))......
1c40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6f 6e 65 0a 20 20 20 20 20 20 20 20 20 20 ................(done...........
1c60 20 20 20 20 20 20 20 20 20 20 20 20 60 28 73 65 74 66 20 70 72 6f 6d 69 73 65 20 28 70 72 6f 6d ............`(setf.promise.(prom
1c80 69 73 65 2d 64 6f 6e 65 20 70 72 6f 6d 69 73 65 20 2c 40 61 72 67 73 29 29 29 0a 20 20 20 20 20 ise-done.promise.,@args)))......
1ca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 69 6e 61 6c 6c 79 0a 20 20 20 20 20 20 20 ................(finally........
1cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 73 65 74 66 20 70 72 6f 6d 69 73 65 20 28 70 ...............`(setf.promise.(p
1ce0 72 6f 6d 69 73 65 2d 66 69 6e 61 6c 6c 79 20 70 72 6f 6d 69 73 65 20 2c 40 61 72 67 73 29 29 29 romise-finally.promise.,@args)))
1d00 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 68 65 6e 61 0a 20 20 20 ......................(thena....
1d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 73 65 74 66 20 70 72 6f 6d 69 73 ...................`(setf.promis
1d40 65 20 28 70 72 6f 6d 69 73 65 2d 74 68 65 6e 20 70 72 6f 6d 69 73 65 20 28 6c 61 6d 62 64 61 20 e.(promise-then.promise.(lambda.
1d60 28 72 65 73 75 6c 74 29 20 2c 40 61 72 67 73 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 (result).,@args)))).............
1d80 20 20 20 20 20 20 20 20 20 28 63 61 74 63 68 61 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .........(catcha................
1da0 20 20 20 20 20 20 20 60 28 73 65 74 66 20 70 72 6f 6d 69 73 65 20 28 70 72 6f 6d 69 73 65 2d 63 .......`(setf.promise.(promise-c
1dc0 61 74 63 68 20 70 72 6f 6d 69 73 65 20 28 6c 61 6d 62 64 61 20 28 72 65 61 73 6f 6e 29 20 2c 40 atch.promise.(lambda.(reason).,@
1de0 61 72 67 73 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f args))))......................(o
1e00 74 68 65 72 77 69 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 therwise.......................s
1e20 65 78 70 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 6f 64 79 29 0a 20 20 20 exp))))................body)....
1e40 20 20 70 72 6f 6d 69 73 65 29 29 0a 0a 3b 3b 0a 3b 3b 20 50 72 6f 6d 69 73 65 20 76 65 72 73 69 ..promise))..;;.;;.Promise.versi
1e60 6f 6e 20 6f 66 20 76 61 72 69 6f 75 73 20 75 74 69 6c 69 74 79 20 66 75 6e 63 74 69 6f 6e 73 0a on.of.various.utility.functions.
1e80 3b 3b 0a 0a 28 72 65 71 75 69 72 65 20 27 75 72 6c 2d 68 74 74 70 29 0a 0a 28 64 65 66 75 6e 20 ;;..(require.'url-http)..(defun.
1ea0 70 72 6f 6d 69 73 65 3a 72 75 6e 2d 61 74 2d 74 69 6d 65 20 28 74 69 6d 65 20 66 75 6e 63 74 69 promise:run-at-time.(time.functi
1ec0 6f 6e 20 26 72 65 73 74 20 61 72 67 73 29 0a 20 20 22 52 65 74 75 72 6e 20 70 72 6f 6d 69 73 65 on.&rest.args)..."Return.promise
1ee0 20 74 6f 20 66 75 6e 63 61 6c 6c 20 46 55 4e 43 54 49 4f 4e 20 77 69 74 68 20 41 52 47 53 20 61 .to.funcall.FUNCTION.with.ARGS.a
1f00 74 20 73 70 65 63 69 66 69 65 64 20 54 49 4d 45 2e 0a 0a 41 72 67 75 6d 65 6e 74 73 3a 0a 20 20 t.specified.TIME...Arguments:...
1f20 2d 20 54 49 4d 45 20 63 61 6e 20 61 63 63 65 70 74 20 74 68 65 20 76 61 72 69 6f 75 73 20 66 6f -.TIME.can.accept.the.various.fo
1f40 72 6d 61 74 73 2e 20 20 53 65 65 20 60 72 75 6e 2d 61 74 2d 74 69 6d 65 27 2e 0a 20 20 2d 20 46 rmats...See.`run-at-time'....-.F
1f60 55 4e 43 54 49 4f 4e 20 69 73 20 66 75 6e 63 61 6c 6c 65 64 20 77 69 74 68 20 41 52 47 53 2e 0a UNCTION.is.funcalled.with.ARGS..
1f80 0a 52 65 73 6f 6c 76 65 3a 0a 20 20 2d 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 66 .Resolve:...-.The.return.value.f
1fa0 72 6f 6d 20 66 75 6e 63 61 6c 6c 65 64 20 46 55 4e 43 54 49 4f 4e 2e 0a 0a 52 65 6a 65 63 74 3a rom.funcalled.FUNCTION...Reject:
1fc0 0a 20 20 2d 20 3c 4e 65 76 65 72 20 72 65 6a 65 63 74 65 64 3e 22 0a 20 20 28 64 65 63 6c 61 72 ...-.<Never.rejected>"...(declar
1fe0 65 20 28 69 6e 64 65 6e 74 20 31 29 29 0a 20 20 28 70 72 6f 6d 69 73 65 2d 6e 65 77 0a 20 20 20 e.(indent.1))...(promise-new....
2000 28 6c 61 6d 62 64 61 20 28 72 65 73 6f 6c 76 65 20 5f 72 65 6a 65 63 74 29 0a 20 20 20 20 20 28 (lambda.(resolve._reject)......(
2020 72 75 6e 2d 61 74 2d 74 69 6d 65 20 74 69 6d 65 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 run-at-time.time.nil............
2040 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......(lambda.()...............
2060 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 72 65 73 6f 6c 76 65 20 28 61 70 70 6c 79 20 66 75 ......(funcall.resolve.(apply.fu
2080 6e 63 74 69 6f 6e 20 61 72 67 73 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6d 69 nction.args)))))))..(defun.promi
20a0 73 65 3a 64 65 6c 61 79 20 28 74 69 6d 65 20 26 6f 70 74 69 6f 6e 61 6c 20 76 61 6c 75 65 29 0a se:delay.(time.&optional.value).
20c0 20 20 22 52 65 74 75 72 6e 20 70 72 6f 6d 69 73 65 20 74 6f 20 64 65 6c 61 79 20 73 70 65 63 69 .."Return.promise.to.delay.speci
20e0 66 69 65 64 20 54 49 4d 45 2e 0a 0a 41 72 67 75 6d 65 6e 74 73 3a 0a 20 20 2d 20 54 49 4d 45 20 fied.TIME...Arguments:...-.TIME.
2100 63 61 6e 20 61 63 63 65 70 74 20 74 68 65 20 76 61 72 69 6f 75 73 20 66 6f 72 6d 61 74 73 2e 20 can.accept.the.various.formats..
2120 20 53 65 65 20 60 72 75 6e 2d 61 74 2d 74 69 6d 65 27 2e 0a 20 20 2d 20 56 41 4c 55 45 20 69 73 .See.`run-at-time'....-.VALUE.is
2140 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 77 68 65 6e 20 72 65 73 6f 6c 76 65 64 20 74 68 69 73 .return.value.when.resolved.this
2160 20 66 75 6e 63 74 69 6f 6e 2e 0a 0a 52 65 73 6f 6c 76 65 3a 0a 20 20 2d 20 56 41 4c 55 45 0a 0a .function...Resolve:...-.VALUE..
2180 52 65 6a 65 63 74 3a 0a 20 20 2d 20 3c 4e 65 76 65 72 20 72 65 6a 65 63 74 65 64 3e 22 0a 20 20 Reject:...-.<Never.rejected>"...
21a0 28 64 65 63 6c 61 72 65 20 28 69 6e 64 65 6e 74 20 31 29 29 0a 20 20 28 70 72 6f 6d 69 73 65 2d (declare.(indent.1))...(promise-
21c0 6e 65 77 0a 20 20 20 28 6c 61 6d 62 64 61 20 28 72 65 73 6f 6c 76 65 20 5f 72 65 6a 65 63 74 29 new....(lambda.(resolve._reject)
21e0 0a 20 20 20 20 20 28 72 75 6e 2d 61 74 2d 74 69 6d 65 20 74 69 6d 65 0a 20 20 20 20 20 20 20 20 ......(run-at-time.time.........
2200 20 20 20 20 20 20 20 20 20 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..........nil...................
2220 28 6c 61 6d 62 64 61 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 (lambda.().....................(
2240 66 75 6e 63 61 6c 6c 20 72 65 73 6f 6c 76 65 20 76 61 6c 75 65 29 29 29 29 29 29 0a 0a 28 64 65 funcall.resolve.value))))))..(de
2260 66 75 6e 20 70 72 6f 6d 69 73 65 3a 74 69 6d 65 2d 6f 75 74 20 28 74 69 6d 65 20 26 6f 70 74 69 fun.promise:time-out.(time.&opti
2280 6f 6e 61 6c 20 72 65 61 73 6f 6e 29 0a 20 20 22 52 65 74 75 72 6e 20 70 72 6f 6d 69 73 65 20 74 onal.reason)..."Return.promise.t
22a0 6f 20 72 65 6a 65 63 74 20 61 66 74 65 72 20 73 70 65 63 69 66 69 65 64 20 54 49 4d 45 20 77 69 o.reject.after.specified.TIME.wi
22c0 74 68 20 52 45 41 53 4f 4e 2e 0a 0a 41 72 67 75 6d 65 6e 74 73 3a 0a 20 20 2d 20 54 49 4d 45 20 th.REASON...Arguments:...-.TIME.
22e0 61 6e 20 61 63 63 65 70 74 20 76 61 72 69 6f 75 73 20 66 6f 72 6d 61 74 2e 20 20 53 65 65 20 60 an.accept.various.format...See.`
2300 72 75 6e 2d 61 74 2d 74 69 6d 65 27 2e 0a 20 20 2d 20 52 45 41 53 4f 4e 20 69 73 20 72 65 74 75 run-at-time'....-.REASON.is.retu
2320 72 6e 20 76 61 6c 75 65 20 77 68 65 6e 20 72 65 6a 65 63 74 65 64 20 74 68 69 73 20 66 75 6e 63 rn.value.when.rejected.this.func
2340 74 69 6f 6e 2e 0a 0a 52 65 73 6f 6c 76 65 3a 0a 20 20 2d 20 3c 4e 65 76 65 72 20 72 65 73 6f 6c tion...Resolve:...-.<Never.resol
2360 76 65 64 3e 0a 0a 52 65 6a 65 63 74 3a 0a 20 20 2d 20 52 45 41 53 4f 4e 22 0a 20 20 28 64 65 63 ved>..Reject:...-.REASON"...(dec
2380 6c 61 72 65 20 28 69 6e 64 65 6e 74 20 31 29 29 0a 20 20 28 70 72 6f 6d 69 73 65 2d 6e 65 77 0a lare.(indent.1))...(promise-new.
23a0 20 20 20 28 6c 61 6d 62 64 61 20 28 5f 72 65 73 6f 6c 76 65 20 72 65 6a 65 63 74 29 0a 20 20 20 ...(lambda.(_resolve.reject)....
23c0 20 20 28 72 75 6e 2d 61 74 2d 74 69 6d 65 20 74 69 6d 65 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 ..(run-at-time.time.nil.........
23e0 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 ..........(lambda.()............
2400 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 72 65 6a 65 63 74 20 72 65 61 73 6f 6e 29 .........(funcall.reject.reason)
2420 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6d 69 73 65 3a 6d 61 6b 65 2d 70 72 6f 63 65 )))))..(defun.promise:make-proce
2440 73 73 20 28 63 6f 6d 6d 61 6e 64 29 0a 20 20 22 52 65 74 75 72 6e 20 70 72 6f 6d 69 73 65 20 74 ss.(command)..."Return.promise.t
2460 6f 20 6d 61 6b 65 20 6e 65 77 20 61 73 79 6e 63 68 72 6f 6e 6f 75 73 20 43 4f 4d 4d 41 4e 44 2e o.make.new.asynchronous.COMMAND.
2480 0a 0a 41 72 67 75 6d 65 6e 74 73 3a 0a 20 20 2d 20 43 4f 4d 4d 41 4e 44 20 69 73 20 70 72 6f 67 ..Arguments:...-.COMMAND.is.prog
24a0 72 61 6d 20 61 6e 64 20 73 68 65 6c 6c 20 61 72 67 75 6d 65 6e 74 73 20 6c 69 73 74 20 6f 66 20 ram.and.shell.arguments.list.of.
24c0 73 74 72 69 6e 67 2e 0a 0a 53 65 65 20 60 70 72 6f 6d 69 73 65 3a 6d 61 6b 65 2d 70 72 6f 63 65 string...See.`promise:make-proce
24e0 73 73 2d 77 69 74 68 2d 68 61 6e 64 6c 65 72 27 20 66 6f 72 20 52 65 73 6f 6c 76 65 20 61 6e 64 ss-with-handler'.for.Resolve.and
2500 20 52 65 6a 65 63 74 20 73 65 63 74 69 6f 6e 73 2e 22 0a 20 20 28 66 75 6e 63 61 6c 6c 20 23 27 .Reject.sections."...(funcall.#'
2520 70 72 6f 6d 69 73 65 3a 6d 61 6b 65 2d 70 72 6f 63 65 73 73 2d 77 69 74 68 2d 68 61 6e 64 6c 65 promise:make-process-with-handle
2540 72 20 63 6f 6d 6d 61 6e 64 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6d 69 73 65 3a 6d 61 6b 65 r.command))..(defun.promise:make
2560 2d 70 72 6f 63 65 73 73 2d 73 65 6e 64 2d 62 75 66 66 65 72 20 28 63 6f 6d 6d 61 6e 64 20 62 75 -process-send-buffer.(command.bu
2580 66 29 0a 20 20 22 52 65 74 75 72 6e 20 70 72 6f 6d 69 73 65 20 74 6f 20 6d 61 6b 65 20 6e 65 77 f)..."Return.promise.to.make.new
25a0 20 61 73 79 6e 63 68 72 6f 6e 6f 75 73 20 43 4f 4d 4d 41 4e 44 2e 0a 0a 41 72 67 75 6d 65 6e 74 .asynchronous.COMMAND...Argument
25c0 73 3a 0a 20 20 2d 20 43 4f 4d 4d 41 4e 44 20 69 73 20 70 72 6f 67 72 61 6d 20 61 6e 64 20 73 68 s:...-.COMMAND.is.program.and.sh
25e0 65 6c 6c 20 61 72 67 75 6d 65 6e 74 73 20 6c 69 73 74 20 6f 66 20 73 74 72 69 6e 67 2e 0a 20 20 ell.arguments.list.of.string....
2600 2d 20 42 55 46 20 69 73 20 62 75 66 66 65 72 2c 20 61 20 66 6f 72 6d 61 74 20 74 68 61 74 20 63 -.BUF.is.buffer,.a.format.that.c
2620 61 6e 20 62 65 20 61 63 63 65 70 74 65 64 20 62 79 20 60 77 69 74 68 2d 63 75 72 72 65 6e 74 2d an.be.accepted.by.`with-current-
2640 62 75 66 66 65 72 27 2e 0a 20 20 20 20 60 62 75 66 66 65 72 2d 73 74 72 69 6e 67 27 20 6f 66 20 buffer'......`buffer-string'.of.
2660 42 55 46 20 69 73 20 73 65 6e 74 20 77 69 74 68 20 45 4f 46 20 61 66 74 65 72 20 70 72 6f 63 65 BUF.is.sent.with.EOF.after.proce
2680 73 73 20 68 61 73 20 62 65 65 6e 20 69 6e 76 6f 6b 65 64 2e 0a 0a 53 65 65 20 60 70 72 6f 6d 69 ss.has.been.invoked...See.`promi
26a0 73 65 3a 6d 61 6b 65 2d 70 72 6f 63 65 73 73 2d 77 69 74 68 2d 68 61 6e 64 6c 65 72 27 20 66 6f se:make-process-with-handler'.fo
26c0 72 20 52 65 73 6f 6c 76 65 20 61 6e 64 20 52 65 6a 65 63 74 20 73 65 63 74 69 6f 6e 73 2e 22 0a r.Resolve.and.Reject.sections.".
26e0 20 20 28 66 75 6e 63 61 6c 6c 20 23 27 70 72 6f 6d 69 73 65 3a 6d 61 6b 65 2d 70 72 6f 63 65 73 ..(funcall.#'promise:make-proces
2700 73 2d 77 69 74 68 2d 68 61 6e 64 6c 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 63 6f 6d 6d 61 6e s-with-handler............comman
2720 64 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 70 72 6f 63 29 0a 20 20 20 20 d............(lambda.(proc).....
2740 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 62 75 .........(with-current-buffer.bu
2760 66 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 63 65 73 73 2d 73 65 6e 64 2d 72 f................(process-send-r
2780 65 67 69 6f 6e 20 70 72 6f 63 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 6e 74 2d 6d 61 egion.proc.(point-min).(point-ma
27a0 78 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 63 65 73 73 2d 73 65 6e 64 x))................(process-send
27c0 2d 65 6f 66 20 70 72 6f 63 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6d 69 73 65 3a 6d -eof.proc)))))..(defun.promise:m
27e0 61 6b 65 2d 70 72 6f 63 65 73 73 2d 73 65 6e 64 2d 73 74 72 69 6e 67 20 28 63 6f 6d 6d 61 6e 64 ake-process-send-string.(command
2800 20 73 74 72 69 6e 67 29 0a 20 20 22 52 65 74 75 72 6e 20 70 72 6f 6d 69 73 65 20 74 6f 20 6d 61 .string)..."Return.promise.to.ma
2820 6b 65 20 6e 65 77 20 61 73 79 6e 63 68 72 6f 6e 6f 75 73 20 43 4f 4d 4d 41 4e 44 2e 0a 0a 41 72 ke.new.asynchronous.COMMAND...Ar
2840 67 75 6d 65 6e 74 73 3a 0a 20 20 2d 20 43 4f 4d 4d 41 4e 44 20 69 73 20 70 72 6f 67 72 61 6d 20 guments:...-.COMMAND.is.program.
2860 61 6e 64 20 73 68 65 6c 6c 20 61 72 67 75 6d 65 6e 74 73 20 6c 69 73 74 20 6f 66 20 73 74 72 69 and.shell.arguments.list.of.stri
2880 6e 67 2e 0a 20 20 2d 20 53 54 52 49 4e 47 20 69 73 20 73 65 6e 74 20 77 69 74 68 20 45 4f 46 20 ng....-.STRING.is.sent.with.EOF.
28a0 61 66 74 65 72 20 70 72 6f 63 65 73 73 20 68 61 73 20 62 65 65 6e 20 69 6e 76 6f 6b 65 64 2e 0a after.process.has.been.invoked..
28c0 0a 53 65 65 20 60 70 72 6f 6d 69 73 65 3a 6d 61 6b 65 2d 70 72 6f 63 65 73 73 2d 77 69 74 68 2d .See.`promise:make-process-with-
28e0 68 61 6e 64 6c 65 72 27 20 66 6f 72 20 52 65 73 6f 6c 76 65 20 61 6e 64 20 52 65 6a 65 63 74 20 handler'.for.Resolve.and.Reject.
2900 73 65 63 74 69 6f 6e 73 2e 22 0a 20 20 28 66 75 6e 63 61 6c 6c 20 23 27 70 72 6f 6d 69 73 65 3a sections."...(funcall.#'promise:
2920 6d 61 6b 65 2d 70 72 6f 63 65 73 73 2d 77 69 74 68 2d 68 61 6e 64 6c 65 72 0a 20 20 20 20 20 20 make-process-with-handler.......
2940 20 20 20 20 20 63 6f 6d 6d 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 .....command............(lambda.
2960 28 70 72 6f 63 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 63 65 73 73 2d 73 65 6e (proc)..............(process-sen
2980 64 2d 73 74 72 69 6e 67 20 70 72 6f 63 20 73 74 72 69 6e 67 29 0a 20 20 20 20 20 20 20 20 20 20 d-string.proc.string)...........
29a0 20 20 20 28 70 72 6f 63 65 73 73 2d 73 65 6e 64 2d 65 6f 66 20 70 72 6f 63 29 29 29 29 0a 0a 28 ...(process-send-eof.proc))))..(
29c0 64 65 66 75 6e 20 70 72 6f 6d 69 73 65 3a 6d 61 6b 65 2d 70 72 6f 63 65 73 73 2d 77 69 74 68 2d defun.promise:make-process-with-
29e0 68 61 6e 64 6c 65 72 20 28 63 6f 6d 6d 61 6e 64 20 26 6f 70 74 69 6f 6e 61 6c 20 68 61 6e 64 6c handler.(command.&optional.handl
2a00 65 72 20 6d 65 72 67 65 2d 73 74 64 65 72 72 29 0a 20 20 22 52 65 74 75 72 6e 20 70 72 6f 6d 69 er.merge-stderr)..."Return.promi
2a20 73 65 20 74 6f 20 6d 61 6b 65 20 6e 65 77 20 61 73 79 6e 63 68 72 6f 6e 6f 75 73 20 43 4f 4d 4d se.to.make.new.asynchronous.COMM
2a40 41 4e 44 2e 0a 0a 41 72 67 75 6d 65 6e 74 73 3a 0a 20 20 2d 20 43 4f 4d 4d 41 4e 44 20 69 73 20 AND...Arguments:...-.COMMAND.is.
2a60 70 72 6f 67 72 61 6d 20 61 6e 64 20 73 68 65 6c 6c 20 61 72 67 75 6d 65 6e 74 73 20 6c 69 73 74 program.and.shell.arguments.list
2a80 20 6f 66 20 73 74 72 69 6e 67 2e 0a 20 20 2d 20 48 41 4e 44 4c 45 52 20 69 73 20 66 75 6e 63 74 .of.string....-.HANDLER.is.funct
2aa0 69 6f 6e 2c 20 63 61 6c 6c 65 64 20 77 69 74 68 20 70 72 6f 63 65 73 73 20 6f 62 6a 65 63 74 20 ion,.called.with.process.object.
2ac0 61 66 74 65 72 20 70 72 6f 67 72 61 6d 20 69 73 20 69 6e 76 6f 6b 65 64 2e 0a 20 20 2d 20 4d 45 after.program.is.invoked....-.ME
2ae0 52 47 45 2d 53 54 44 45 52 52 20 69 73 20 62 6f 6f 6c 65 61 6e 2c 20 77 68 65 74 68 65 72 20 6d RGE-STDERR.is.boolean,.whether.m
2b00 65 72 67 65 20 73 74 64 6f 75 74 20 61 6e 64 20 73 74 64 65 72 72 20 6f 72 20 6e 6f 74 2e 0a 0a erge.stdout.and.stderr.or.not...
2b20 52 65 73 6f 6c 76 65 3a 0a 20 20 2d 20 41 20 6c 69 73 74 20 6c 69 6b 65 20 61 73 20 28 73 74 64 Resolve:...-.A.list.like.as.(std
2b40 6f 75 74 20 73 74 64 65 72 72 29 20 77 68 65 6e 20 70 72 6f 63 65 73 73 20 66 69 6e 69 73 68 20 out.stderr).when.process.finish.
2b60 77 69 74 68 20 65 78 69 74 63 6f 64 65 20 30 2e 0a 20 20 20 20 73 74 64 6f 75 74 20 61 6e 64 20 with.exitcode.0......stdout.and.
2b80 73 74 64 65 72 72 20 61 72 65 20 73 74 72 69 6e 67 2e 0a 0a 52 65 6a 65 63 74 3a 0a 20 20 2d 20 stderr.are.string...Reject:...-.
2ba0 41 20 6c 69 73 74 20 6c 69 6b 65 20 61 73 20 28 65 76 65 6e 74 20 73 74 64 6f 75 74 20 73 74 64 A.list.like.as.(event.stdout.std
2bc0 65 72 72 29 20 77 68 65 6e 20 70 72 6f 63 65 73 73 20 64 6f 65 73 6e 27 74 20 66 69 6e 69 73 68 err).when.process.doesn't.finish
2be0 20 65 78 69 74 63 6f 64 65 20 30 2e 0a 20 20 20 20 65 76 65 6e 74 2c 20 73 74 64 6f 75 74 20 61 .exitcode.0......event,.stdout.a
2c00 6e 64 20 73 74 64 65 72 72 20 61 72 65 20 73 74 72 69 6e 67 2e 0a 20 20 20 20 54 68 65 20 65 76 nd.stderr.are.string......The.ev
2c20 65 6e 74 20 69 73 20 64 6f 63 75 6d 65 6e 74 65 64 20 61 74 20 68 74 74 70 73 3a 2f 2f 77 77 77 ent.is.documented.at.https://www
2c40 2e 67 6e 75 2e 6f 72 67 2f 73 6f 66 74 77 61 72 65 2f 65 6d 61 63 73 2f 6d 61 6e 75 61 6c 2f 68 .gnu.org/software/emacs/manual/h
2c60 74 6d 6c 5f 6e 6f 64 65 2f 65 6c 69 73 70 2f 53 65 6e 74 69 6e 65 6c 73 2e 68 74 6d 6c 22 0a 20 tml_node/elisp/Sentinels.html"..
2c80 20 28 70 72 6f 6d 69 73 65 2d 6e 65 77 0a 20 20 20 28 6c 61 6d 62 64 61 20 28 72 65 73 6f 6c 76 .(promise-new....(lambda.(resolv
2ca0 65 20 72 65 6a 65 63 74 29 0a 20 20 20 20 20 28 6c 65 74 2a 20 28 28 70 72 6f 67 72 61 6d 20 28 e.reject)......(let*.((program.(
2cc0 63 61 72 20 63 6f 6d 6d 61 6e 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 64 6f 75 car.command)).............(stdou
2ce0 74 20 28 67 65 6e 65 72 61 74 65 2d 6e 65 77 2d 62 75 66 66 65 72 20 28 63 6f 6e 63 61 74 20 22 t.(generate-new-buffer.(concat."
2d00 2a 22 20 70 72 6f 67 72 61 6d 20 22 2d 73 74 64 6f 75 74 2a 22 29 29 29 0a 20 20 20 20 20 20 20 *".program."-stdout*")))........
2d20 20 20 20 20 20 28 73 74 64 65 72 72 20 28 75 6e 6c 65 73 73 20 6d 65 72 67 65 2d 73 74 64 65 72 .....(stderr.(unless.merge-stder
2d40 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 65 6e 65 72 61 74 r.......................(generat
2d60 65 2d 6e 65 77 2d 62 75 66 66 65 72 20 28 63 6f 6e 63 61 74 20 22 2a 22 20 70 72 6f 67 72 61 6d e-new-buffer.(concat."*".program
2d80 20 22 2d 73 74 64 65 72 72 2a 22 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 64 ."-stderr*")))).............(std
2da0 65 72 72 2d 70 69 70 65 20 28 75 6e 6c 65 73 73 20 6d 65 72 67 65 2d 73 74 64 65 72 72 0a 20 20 err-pipe.(unless.merge-stderr...
2dc0 20 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 6d 61 6b 65 2d 70 .........................(make-p
2de0 69 70 65 2d 70 72 6f 63 65 73 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ipe-process.....................
2e00 20 20 20 20 20 20 20 20 3a 6e 61 6d 65 20 28 63 6f 6e 63 61 74 20 22 2a 22 20 70 72 6f 67 72 61 ........:name.(concat."*".progra
2e20 6d 20 22 2d 73 74 64 65 72 72 2d 70 69 70 65 2a 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 m."-stderr-pipe*")..............
2e40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 6e 6f 71 75 65 72 79 20 74 0a 20 20 20 20 20 20 ...............:noquery.t.......
2e60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 75 73 65 20 3a 66 69 ......................;;.use.:fi
2e80 6c 74 65 72 20 69 6e 73 74 65 61 64 20 6f 66 20 3a 62 75 66 66 65 72 2c 20 74 6f 20 67 65 74 20 lter.instead.of.:buffer,.to.get.
2ea0 72 69 64 20 6f 66 20 22 50 72 6f 63 65 73 73 20 46 69 6e 69 73 68 65 64 22 20 6c 69 6e 65 73 0a rid.of."Process.Finished".lines.
2ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 66 69 6c ............................:fil
2ee0 74 65 72 20 28 6c 61 6d 62 64 61 20 28 5f 20 6f 75 74 70 75 74 29 0a 20 20 20 20 20 20 20 20 20 ter.(lambda.(_.output)..........
2f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 69 .............................(wi
2f20 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 73 74 64 65 72 72 0a 20 20 20 20 20 20 20 th-current-buffer.stderr........
2f40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2f60 20 28 69 6e 73 65 72 74 20 6f 75 74 70 75 74 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 .(insert.output))))))...........
2f80 20 20 28 63 6c 65 61 6e 75 70 20 28 6c 61 6d 62 64 61 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 ..(cleanup.(lambda.()...........
2fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6b 69 6c 6c 2d 62 75 66 66 65 72 20 73 74 64 6f 75 74 .............(kill-buffer.stdout
2fc0 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 75 6e 6c 65 73 73 )........................(unless
2fe0 20 6d 65 72 67 65 2d 73 74 64 65 72 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .merge-stderr...................
3000 20 20 20 20 20 20 20 28 64 65 6c 65 74 65 2d 70 72 6f 63 65 73 73 20 73 74 64 65 72 72 2d 70 69 .......(delete-process.stderr-pi
3020 70 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6b 69 pe)..........................(ki
3040 6c 6c 2d 62 75 66 66 65 72 20 73 74 64 65 72 72 29 29 29 29 29 0a 20 20 20 20 20 20 20 28 63 6f ll-buffer.stderr)))))........(co
3060 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 65 72 72 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 ndition-case.err............(let
3080 20 28 28 70 72 6f 63 20 28 69 66 20 6d 65 72 67 65 2d 73 74 64 65 72 72 0a 20 20 20 20 20 20 20 .((proc.(if.merge-stderr........
30a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6b 65 2d 70 72 6f 63 65 73 ....................(make-proces
30c0 73 20 3a 6e 61 6d 65 20 70 72 6f 67 72 61 6d 20 3a 62 75 66 66 65 72 20 73 74 64 6f 75 74 20 3a s.:name.program.:buffer.stdout.:
30e0 63 6f 6d 6d 61 6e 64 20 63 6f 6d 6d 61 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 command.command)................
3100 20 20 20 20 20 20 20 20 20 20 28 6d 61 6b 65 2d 70 72 6f 63 65 73 73 20 3a 6e 61 6d 65 20 70 72 ..........(make-process.:name.pr
3120 6f 67 72 61 6d 20 3a 62 75 66 66 65 72 20 73 74 64 6f 75 74 20 3a 63 6f 6d 6d 61 6e 64 20 63 6f ogram.:buffer.stdout.:command.co
3140 6d 6d 61 6e 64 20 3a 73 74 64 65 72 72 20 73 74 64 65 72 72 2d 70 69 70 65 29 29 29 29 0a 20 20 mmand.:stderr.stderr-pipe))))...
3160 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 2d 70 72 6f 63 65 73 73 2d 73 65 6e 74 69 6e 65 6c ...........(set-process-sentinel
3180 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 6f 63 0a 20 20 20 20 20 20 20 20 20 20 20 20 ...............proc.............
31a0 20 20 28 6c 61 6d 62 64 61 20 28 5f 70 72 6f 63 65 73 73 20 65 76 65 6e 74 29 0a 20 20 20 20 20 ..(lambda.(_process.event)......
31c0 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 77 69 6e 64 2d 70 72 6f 74 65 63 74 0a 20 20 20 20 20 ...........(unwind-protect......
31e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 73 74 64 6f 75 74 2d 73 74 72 ...............(let.((stdout-str
3200 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 73 74 64 6f 75 74 0a 20 20 20 .(with-current-buffer.stdout....
3220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3240 20 20 20 20 20 28 62 75 66 66 65 72 2d 73 74 72 69 6e 67 29 29 29 0a 20 20 20 20 20 20 20 20 20 .....(buffer-string)))..........
3260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 64 65 72 72 2d 73 74 72 20 28 75 6e .................(stderr-str.(un
3280 6c 65 73 73 20 6d 65 72 67 65 2d 73 74 64 65 72 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 less.merge-stderr...............
32a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d ..........................(with-
32c0 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 73 74 64 65 72 72 0a 20 20 20 20 20 20 20 20 20 20 current-buffer.stderr...........
32e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3300 28 62 75 66 66 65 72 2d 73 74 72 69 6e 67 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 (buffer-string))))).............
3320 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 73 74 72 69 6e 67 3d 20 65 76 65 6e 74 20 22 66 69 ..........(if.(string=.event."fi
3340 6e 69 73 68 65 64 5c 6e 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nished\n")......................
3360 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 72 65 73 6f 6c 76 65 20 28 6c 69 73 74 20 73 74 64 6f .....(funcall.resolve.(list.stdo
3380 75 74 2d 73 74 72 20 73 74 64 65 72 72 2d 73 74 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ut-str.stderr-str)).............
33a0 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 72 65 6a 65 63 74 20 28 6c 69 73 ............(funcall.reject.(lis
33c0 74 20 65 76 65 6e 74 20 73 74 64 6f 75 74 2d 73 74 72 20 73 74 64 65 72 72 2d 73 74 72 29 29 29 t.event.stdout-str.stderr-str)))
33e0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 63 6c 65 )...................(funcall.cle
3400 61 6e 75 70 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 68 61 6e 64 anup))))..............(when.hand
3420 6c 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 68 61 6e 64 ler................(funcall.hand
3440 6c 65 72 20 70 72 6f 63 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 28 66 75 6e ler.proc)))..........(error.(fun
3460 63 61 6c 6c 20 63 6c 65 61 6e 75 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 call.cleanup).................(s
3480 69 67 6e 61 6c 20 28 63 61 72 20 65 72 72 29 20 28 63 64 72 20 65 72 72 29 29 29 29 29 29 29 29 ignal.(car.err).(cdr.err))))))))
34a0 0a 0a 28 72 65 71 75 69 72 65 20 27 73 75 62 72 2d 78 29 0a 28 64 65 66 75 6e 20 70 72 6f 6d 69 ..(require.'subr-x).(defun.promi
34c0 73 65 3a 6d 61 79 62 65 2d 6d 65 73 73 61 67 65 20 28 6d 73 67 29 0a 20 20 22 44 69 73 70 6c 61 se:maybe-message.(msg)..."Displa
34e0 79 20 4d 53 47 20 69 66 20 6e 6f 6e 2d 62 6c 61 6e 6b 2e 22 0a 20 20 28 6c 65 74 20 28 28 6d 20 y.MSG.if.non-blank."...(let.((m.
3500 28 73 74 72 69 6e 67 2d 74 72 69 6d 2d 72 69 67 68 74 20 6d 73 67 29 29 29 0a 20 20 20 20 28 77 (string-trim-right.msg))).....(w
3520 68 65 6e 20 28 6e 6f 74 20 28 73 74 72 69 6e 67 2d 65 6d 70 74 79 2d 70 20 6d 29 29 0a 20 20 20 hen.(not.(string-empty-p.m))....
3540 20 20 20 28 6d 65 73 73 61 67 65 20 22 25 73 22 20 6d 29 29 29 29 0a 0a 28 72 65 71 75 69 72 65 ...(message."%s".m))))..(require
3560 20 27 73 65 71 29 0a 28 64 65 66 75 6e 20 70 72 6f 6d 69 73 65 3a 6d 61 6b 65 2d 70 72 6f 63 65 .'seq).(defun.promise:make-proce
3580 73 73 2d 73 74 72 69 6e 67 20 28 63 6f 6d 6d 61 6e 64 29 0a 20 20 22 52 65 74 75 72 6e 20 70 72 ss-string.(command)..."Return.pr
35a0 6f 6d 69 73 65 20 74 6f 20 6d 61 6b 65 20 6e 65 77 20 61 73 79 6e 63 68 72 6f 6e 6f 75 73 20 43 omise.to.make.new.asynchronous.C
35c0 4f 4d 4d 41 4e 44 2e 0a 0a 41 72 67 75 6d 65 6e 74 73 3a 0a 20 20 2d 20 43 4f 4d 4d 41 4e 44 20 OMMAND...Arguments:...-.COMMAND.
35e0 69 73 20 70 72 6f 67 72 61 6d 20 61 6e 64 20 73 68 65 6c 6c 20 61 72 67 75 6d 65 6e 74 73 20 6c is.program.and.shell.arguments.l
3600 69 73 74 20 6f 66 20 73 74 72 69 6e 67 2e 0a 0a 52 65 73 6f 6c 76 65 3a 0a 20 20 2d 20 50 72 6f ist.of.string...Resolve:...-.Pro
3620 63 65 73 73 20 73 74 64 6f 75 74 20 61 73 20 73 74 72 69 6e 67 20 77 68 65 6e 20 70 72 6f 63 65 cess.stdout.as.string.when.proce
3640 73 73 20 66 69 6e 69 73 68 20 77 69 74 68 20 65 78 69 74 63 6f 64 65 20 30 2e 0a 0a 52 65 6a 65 ss.finish.with.exitcode.0...Reje
3660 63 74 3a 0a 20 20 2d 20 45 76 65 6e 74 20 61 73 20 73 74 72 69 6e 67 20 72 65 70 72 65 73 65 6e ct:...-.Event.as.string.represen
3680 74 65 64 20 70 72 6f 63 65 73 73 20 65 78 69 74 20 73 74 61 74 65 2e 0a 20 20 20 20 54 68 65 20 ted.process.exit.state......The.
36a0 65 76 65 6e 74 20 69 73 20 64 6f 63 75 6d 65 6e 74 65 64 20 61 74 20 68 74 74 70 73 3a 2f 2f 77 event.is.documented.at.https://w
36c0 77 77 2e 67 6e 75 2e 6f 72 67 2f 73 6f 66 74 77 61 72 65 2f 65 6d 61 63 73 2f 6d 61 6e 75 61 6c ww.gnu.org/software/emacs/manual
36e0 2f 68 74 6d 6c 5f 6e 6f 64 65 2f 65 6c 69 73 70 2f 53 65 6e 74 69 6e 65 6c 73 2e 68 74 6d 6c 22 /html_node/elisp/Sentinels.html"
3700 0a 20 20 28 70 72 6f 6d 69 73 65 2d 74 68 65 6e 0a 20 20 20 28 66 75 6e 63 61 6c 6c 20 23 27 70 ...(promise-then....(funcall.#'p
3720 72 6f 6d 69 73 65 3a 6d 61 6b 65 2d 70 72 6f 63 65 73 73 20 63 6f 6d 6d 61 6e 64 29 0a 20 20 20 romise:make-process.command)....
3740 28 6c 61 6d 62 64 61 20 28 72 65 73 29 0a 20 20 20 20 20 28 73 65 71 2d 6c 65 74 20 28 73 74 64 (lambda.(res)......(seq-let.(std
3760 6f 75 74 20 73 74 64 65 72 72 29 20 72 65 73 0a 20 20 20 20 20 20 20 28 70 72 6f 6d 69 73 65 3a out.stderr).res........(promise:
3780 6d 61 79 62 65 2d 6d 65 73 73 61 67 65 20 28 70 72 6f 70 65 72 74 69 7a 65 20 73 74 64 65 72 72 maybe-message.(propertize.stderr
37a0 20 27 66 61 63 65 20 27 28 3a 66 6f 72 65 67 72 6f 75 6e 64 20 22 79 65 6c 6c 6f 77 22 29 29 29 .'face.'(:foreground."yellow")))
37c0 0a 20 20 20 20 20 20 20 73 74 64 6f 75 74 29 29 0a 20 20 20 28 6c 61 6d 62 64 61 20 28 65 72 72 ........stdout))....(lambda.(err
37e0 29 0a 20 20 20 20 20 28 73 65 71 2d 6c 65 74 20 28 65 76 65 6e 74 20 73 74 64 6f 75 74 20 73 74 )......(seq-let.(event.stdout.st
3800 64 65 72 72 29 20 65 72 72 0a 20 20 20 20 20 20 20 28 70 72 6f 6d 69 73 65 3a 6d 61 79 62 65 2d derr).err........(promise:maybe-
3820 6d 65 73 73 61 67 65 20 28 70 72 6f 70 65 72 74 69 7a 65 20 73 74 64 6f 75 74 20 27 66 61 63 65 message.(propertize.stdout.'face
3840 20 27 28 3a 66 6f 72 65 67 72 6f 75 6e 64 20 22 62 6c 61 63 6b 22 20 3a 62 61 63 6b 67 72 6f 75 .'(:foreground."black".:backgrou
3860 6e 64 20 22 77 68 69 74 65 22 29 29 29 0a 20 20 20 20 20 20 20 28 70 72 6f 6d 69 73 65 3a 6d 61 nd."white")))........(promise:ma
3880 79 62 65 2d 6d 65 73 73 61 67 65 20 28 70 72 6f 70 65 72 74 69 7a 65 20 73 74 64 65 72 72 20 27 ybe-message.(propertize.stderr.'
38a0 66 61 63 65 20 27 28 3a 66 6f 72 65 67 72 6f 75 6e 64 20 22 72 65 64 22 29 29 29 0a 20 20 20 20 face.'(:foreground."red"))).....
38c0 20 20 20 28 70 72 6f 6d 69 73 65 2d 72 65 6a 65 63 74 20 65 76 65 6e 74 29 29 29 29 29 0a 0a 28 ...(promise-reject.event)))))..(
38e0 64 65 66 75 6e 20 70 72 6f 6d 69 73 65 3a 6d 61 6b 65 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 defun.promise:make-shell-command
3900 20 28 73 63 72 69 70 74 20 26 6f 70 74 69 6f 6e 61 6c 20 64 69 72 29 0a 20 20 22 52 65 74 75 72 .(script.&optional.dir)..."Retur
3920 6e 20 70 72 6f 6d 69 73 65 20 74 6f 20 6d 61 6b 65 20 6e 65 77 20 61 73 79 6e 63 68 72 6f 6e 6f n.promise.to.make.new.asynchrono
3940 75 73 20 73 68 65 6c 6c 20 53 43 52 49 50 54 2e 0a 0a 41 72 67 75 6d 65 6e 74 73 3a 0a 20 20 2d us.shell.SCRIPT...Arguments:...-
3960 20 53 43 52 49 50 54 20 69 73 20 73 74 72 69 6e 67 2c 20 77 69 6c 6c 20 62 65 20 70 61 73 73 65 .SCRIPT.is.string,.will.be.passe
3980 64 20 73 68 20 2d 63 2e 0a 20 20 2d 20 44 49 52 20 69 73 20 64 69 72 65 63 74 6f 72 79 20 70 61 d.sh.-c....-.DIR.is.directory.pa
39a0 74 68 20 69 6e 20 77 68 69 63 68 20 53 43 52 49 50 54 20 77 69 6c 6c 20 62 65 20 65 78 65 63 75 th.in.which.SCRIPT.will.be.execu
39c0 74 65 64 2e 0a 0a 53 65 65 20 60 70 72 6f 6d 69 73 65 3a 6d 61 6b 65 2d 70 72 6f 63 65 73 73 2d ted...See.`promise:make-process-
39e0 73 74 72 69 6e 67 27 20 66 6f 72 20 52 65 73 6f 6c 76 65 20 61 6e 64 20 52 65 6a 65 63 74 20 73 string'.for.Resolve.and.Reject.s
3a00 65 63 74 69 6f 6e 73 2e 22 0a 20 20 28 6c 65 74 20 28 28 64 65 66 61 75 6c 74 2d 64 69 72 65 63 ections."...(let.((default-direc
3a20 74 6f 72 79 20 28 6f 72 20 64 69 72 20 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 29 29 tory.(or.dir.default-directory))
3a40 29 0a 20 20 20 20 28 70 72 6f 6d 69 73 65 3a 6d 61 6b 65 2d 70 72 6f 63 65 73 73 2d 73 74 72 69 ).....(promise:make-process-stri
3a60 6e 67 20 28 6c 69 73 74 20 73 68 65 6c 6c 2d 66 69 6c 65 2d 6e 61 6d 65 20 73 68 65 6c 6c 2d 63 ng.(list.shell-file-name.shell-c
3a80 6f 6d 6d 61 6e 64 2d 73 77 69 74 63 68 20 73 63 72 69 70 74 29 29 29 29 0a 0a 28 64 65 66 75 6e ommand-switch.script))))..(defun
3aa0 20 70 72 6f 6d 69 73 65 3a 6d 61 6b 65 2d 74 68 72 65 61 64 20 28 66 75 6e 63 74 69 6f 6e 20 26 .promise:make-thread.(function.&
3ac0 72 65 73 74 20 61 72 67 73 29 0a 20 20 22 52 65 74 75 72 6e 20 70 72 6f 6d 69 73 65 20 74 6f 20 rest.args)..."Return.promise.to.
3ae0 6d 61 6b 65 20 6e 65 77 20 74 68 72 65 61 64 20 76 69 61 20 60 6d 61 6b 65 2d 74 68 72 65 61 64 make.new.thread.via.`make-thread
3b00 27 2e 0a 0a 41 72 67 75 6d 65 6e 74 73 3a 0a 20 20 2d 20 46 55 4e 43 54 49 4f 4e 20 69 73 20 66 '...Arguments:...-.FUNCTION.is.f
3b20 75 6e 63 61 6c 6c 65 64 20 77 69 74 68 20 41 52 47 53 20 69 6e 20 6e 65 77 20 74 68 72 65 61 64 uncalled.with.ARGS.in.new.thread
3b40 2e 0a 0a 52 65 73 6f 6c 76 65 3a 0a 20 20 2d 20 52 65 74 75 72 6e 20 76 61 6c 75 65 20 66 72 6f ...Resolve:...-.Return.value.fro
3b60 6d 20 66 75 6e 63 61 6c 6c 65 64 20 46 55 4e 43 54 49 4f 4e 20 69 6e 20 74 68 65 20 74 68 72 65 m.funcalled.FUNCTION.in.the.thre
3b80 61 64 2e 0a 0a 52 65 6a 65 63 74 3a 0a 20 20 2d 20 45 72 72 6f 72 20 6f 62 6a 65 63 74 20 77 68 ad...Reject:...-.Error.object.wh
3ba0 69 6c 65 20 72 75 6e 6e 69 6e 67 20 69 6e 20 74 68 65 20 74 68 72 65 61 64 2e 22 0a 20 20 28 70 ile.running.in.the.thread."...(p
3bc0 72 6f 6d 69 73 65 2d 6e 65 77 0a 20 20 20 28 6c 61 6d 62 64 61 20 28 72 65 73 6f 6c 76 65 20 72 romise-new....(lambda.(resolve.r
3be0 65 6a 65 63 74 29 0a 20 20 20 20 20 28 69 66 20 28 6e 6f 74 20 28 66 62 6f 75 6e 64 70 20 27 6d eject)......(if.(not.(fboundp.'m
3c00 61 6b 65 2d 74 68 72 65 61 64 29 29 0a 20 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 60 70 ake-thread))..........(error."`p
3c20 72 6f 6d 69 73 65 3a 6d 61 6b 65 2d 74 68 72 65 61 64 27 20 6e 65 65 64 73 20 60 6d 61 6b 65 2d romise:make-thread'.needs.`make-
3c40 74 68 72 65 61 64 27 20 61 74 74 61 63 68 65 64 20 74 6f 20 45 6d 61 63 73 2d 32 36 2e 31 20 6f thread'.attached.to.Emacs-26.1.o
3c60 72 20 61 62 6f 76 65 22 29 0a 20 20 20 20 20 20 20 28 6d 61 6b 65 2d 74 68 72 65 61 64 0a 20 20 r.above")........(make-thread...
3c80 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 ......(lambda.()...........(cond
3ca0 69 74 69 6f 6e 2d 63 61 73 65 20 65 72 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 ition-case.err...............(fu
3cc0 6e 63 61 6c 6c 20 72 65 73 6f 6c 76 65 20 28 61 70 70 6c 79 20 66 75 6e 63 74 69 6f 6e 20 61 72 ncall.resolve.(apply.function.ar
3ce0 67 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 28 66 75 6e 63 61 6c 6c gs)).............(error.(funcall
3d00 20 72 65 6a 65 63 74 20 65 72 72 29 29 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f .reject.err)))))))))..(defun.pro
3d20 6d 69 73 65 3a 77 72 61 70 2d 6d 65 73 73 61 67 65 20 28 70 72 6f 6d 69 73 65 29 0a 20 20 22 52 mise:wrap-message.(promise)..."R
3d40 65 74 75 72 6e 20 70 72 6f 6d 69 73 65 20 74 6f 20 73 68 6f 77 20 64 65 62 75 67 20 6d 65 73 73 eturn.promise.to.show.debug.mess
3d60 61 67 65 20 61 66 74 65 72 20 50 52 4f 4d 49 53 45 20 72 65 73 6f 6c 76 65 64 2e 0a 0a 41 72 67 age.after.PROMISE.resolved...Arg
3d80 75 6d 65 6e 74 73 3a 0a 20 20 2d 20 50 52 4f 4d 49 53 45 20 69 73 20 61 6e 79 20 70 72 6f 6d 69 uments:...-.PROMISE.is.any.promi
3da0 73 65 20 6f 62 6a 65 63 74 2e 0a 0a 52 65 73 6f 6c 76 65 3a 0a 20 20 2d 20 52 65 74 75 72 6e 20 se.object...Resolve:...-.Return.
3dc0 6f 72 69 67 69 6e 61 6c 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 77 68 65 6e 20 50 52 4f 4d 49 original.return.value.when.PROMI
3de0 53 45 20 72 65 73 6f 6c 76 65 64 2e 0a 0a 52 65 6a 65 63 74 3a 0a 20 20 2d 20 52 65 74 75 72 6e SE.resolved...Reject:...-.Return
3e00 20 6f 72 69 67 69 6e 61 6c 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 77 68 65 6e 20 50 52 4f 4d .original.return.value.when.PROM
3e20 49 53 45 20 72 65 6a 65 63 74 65 64 2e 22 0a 20 20 28 70 72 6f 6d 69 73 65 2d 6e 65 77 0a 20 20 ISE.rejected."...(promise-new...
3e40 20 28 6c 61 6d 62 64 61 20 28 72 65 73 6f 6c 76 65 20 72 65 6a 65 63 74 29 0a 20 20 20 20 20 28 .(lambda.(resolve.reject)......(
3e60 70 72 6f 6d 69 73 65 2d 74 68 65 6e 0a 20 20 20 20 20 20 70 72 6f 6d 69 73 65 0a 20 20 20 20 20 promise-then.......promise......
3e80 20 28 6c 61 6d 62 64 61 20 28 72 65 73 29 0a 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 .(lambda.(res).........(message.
3ea0 22 25 73 3a 20 25 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 70 65 "%s:.%s"..................(prope
3ec0 72 74 69 7a 65 20 22 52 65 73 75 6c 74 22 20 27 66 61 63 65 20 27 28 3a 66 6f 72 65 67 72 6f 75 rtize."Result".'face.'(:foregrou
3ee0 6e 64 20 22 67 72 65 65 6e 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 nd."green"))..................(s
3f00 74 72 69 6e 67 2d 74 72 69 6d 2d 72 69 67 68 74 20 72 65 73 29 29 0a 20 20 20 20 20 20 20 20 28 tring-trim-right.res)).........(
3f20 66 75 6e 63 61 6c 6c 20 72 65 73 6f 6c 76 65 20 72 65 73 29 29 0a 20 20 20 20 20 20 28 6c 61 6d funcall.resolve.res)).......(lam
3f40 62 64 61 20 28 65 72 72 29 0a 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 25 73 3a 20 bda.(err).........(message."%s:.
3f60 25 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 70 65 72 74 69 7a 65 %s"..................(propertize
3f80 20 22 45 72 72 6f 72 22 20 27 66 61 63 65 20 27 28 3a 66 6f 72 65 67 72 6f 75 6e 64 20 22 72 65 ."Error".'face.'(:foreground."re
3fa0 64 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d 74 72 d"))..................(string-tr
3fc0 69 6d 2d 72 69 67 68 74 20 65 72 72 29 29 0a 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 im-right.err)).........(funcall.
3fe0 72 65 6a 65 63 74 20 65 72 72 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6d 69 73 65 reject.err))))))..(defun.promise
4000 3a 75 72 6c 2d 72 65 74 72 69 65 76 65 20 28 75 72 6c 29 0a 20 20 22 52 65 74 75 72 6e 20 70 72 :url-retrieve.(url)..."Return.pr
4020 6f 6d 69 73 65 20 74 6f 20 72 65 74 72 69 65 76 65 20 72 65 73 70 6f 6e 73 65 20 62 6f 64 79 20 omise.to.retrieve.response.body.
4040 66 72 6f 6d 20 55 52 4c 2e 0a 0a 41 72 67 75 6d 65 6e 74 73 3a 0a 20 20 2d 20 55 52 4c 20 69 73 from.URL...Arguments:...-.URL.is
4060 20 65 69 74 68 65 72 20 61 20 73 74 72 69 6e 67 20 6f 72 20 61 20 70 61 72 73 65 64 20 55 52 4c .either.a.string.or.a.parsed.URL
4080 2e 20 20 53 65 65 20 60 75 72 6c 2d 72 65 74 72 69 65 76 65 27 2e 0a 0a 52 65 73 6f 6c 76 65 3a ...See.`url-retrieve'...Resolve:
40a0 0a 20 20 2d 20 52 65 73 70 6f 6e 73 65 20 62 6f 64 79 20 61 73 20 61 20 73 74 72 69 6e 67 20 72 ...-.Response.body.as.a.string.r
40c0 65 74 72 69 65 76 65 64 20 66 72 6f 6d 20 74 68 65 20 55 52 4c 2e 0a 0a 52 65 6a 65 63 74 3a 0a etrieved.from.the.URL...Reject:.
40e0 20 20 2d 20 45 72 72 6f 72 20 6f 62 6a 65 63 74 20 77 68 69 6c 65 20 72 65 74 72 69 65 76 69 6e ..-.Error.object.while.retrievin
4100 67 20 55 52 4c 2e 22 0a 20 20 28 70 72 6f 6d 69 73 65 2d 6e 65 77 0a 20 20 20 28 6c 61 6d 62 64 g.URL."...(promise-new....(lambd
4120 61 20 28 72 65 73 6f 6c 76 65 20 72 65 6a 65 63 74 29 0a 20 20 20 20 20 28 75 72 6c 2d 72 65 74 a.(resolve.reject)......(url-ret
4140 72 69 65 76 65 20 75 72 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 rieve.url....................(la
4160 6d 62 64 61 20 28 73 74 61 74 75 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 mbda.(status)...................
4180 20 20 20 3b 3b 20 41 6c 6c 20 65 72 72 6f 72 73 20 61 72 65 20 72 65 6c 69 61 62 6c 79 20 63 61 ...;;.All.errors.are.reliably.ca
41a0 70 74 75 72 65 64 20 61 6e 64 20 72 65 6a 65 63 74 65 64 20 77 69 74 68 20 61 70 70 72 6f 70 72 ptured.and.rejected.with.appropr
41c0 69 61 74 65 20 76 61 6c 75 65 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 iate.values.....................
41e0 20 20 28 69 66 20 28 70 6c 69 73 74 2d 67 65 74 20 73 74 61 74 75 73 20 3a 65 72 72 6f 72 29 0a ..(if.(plist-get.status.:error).
4200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c .........................(funcal
4220 6c 20 72 65 6a 65 63 74 20 28 70 6c 69 73 74 2d 67 65 74 20 73 74 61 74 75 73 20 3a 65 72 72 6f l.reject.(plist-get.status.:erro
4240 72 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 28 63 6f 6e 64 r))........................(cond
4260 69 74 69 6f 6e 2d 63 61 73 65 20 65 72 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ition-case.err..................
4280 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 6e 6f 74 20 28 75 72 6c 2d 68 74 74 70 2d 70 61 72 ..........(if.(not.(url-http-par
42a0 73 65 2d 68 65 61 64 65 72 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 se-headers))....................
42c0 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 72 65 6a 65 63 74 20 28 62 75 66 ............(funcall.reject.(buf
42e0 66 65 72 2d 73 74 72 69 6e 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 fer-string))....................
4300 20 20 20 20 20 20 20 20 20 20 28 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 2d 72 65 67 65 78 70 ..........(search-forward-regexp
4320 20 22 5c 6e 5c 5c 73 2d 2a 5c 6e 22 20 6e 69 6c 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ."\n\\s-*\n".nil.t).............
4340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 72 65 73 6f 6c 76 .................(funcall.resolv
4360 65 20 28 62 75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 20 28 70 6f 69 6e 74 29 20 28 70 6f 69 e.(buffer-substring.(point).(poi
4380 6e 74 2d 6d 61 78 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nt-max))))......................
43a0 20 20 20 20 28 65 72 72 6f 72 20 28 66 75 6e 63 61 6c 6c 20 72 65 6a 65 63 74 20 65 72 72 29 29 ....(error.(funcall.reject.err))
43c0 29 29 29 29 29 29 29 0a 0a 28 72 65 71 75 69 72 65 20 27 78 6d 6c 29 20 20 20 20 20 20 20 20 20 )))))))..(require.'xml).........
43e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 66 6f 72 20 60 78 6d 6c 2d 70 61 72 73 .................;.for.`xml-pars
4400 65 2d 72 65 67 69 6f 6e 27 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6d 69 73 65 3a 78 6d 6c 2d 72 65 e-region'..(defun.promise:xml-re
4420 74 72 69 65 76 65 20 28 75 72 6c 29 0a 20 20 22 52 65 74 75 72 6e 20 70 72 6f 6d 69 73 65 20 74 trieve.(url)..."Return.promise.t
4440 6f 20 72 65 74 72 69 65 76 65 20 58 4d 4c 20 6f 62 6a 65 63 74 20 70 61 72 73 65 64 20 66 72 6f o.retrieve.XML.object.parsed.fro
4460 6d 20 63 6f 6e 74 65 6e 74 73 20 66 72 6f 6d 20 55 52 4c 2e 0a 0a 41 72 67 75 6d 65 6e 74 73 3a m.contents.from.URL...Arguments:
4480 0a 20 20 2d 20 55 52 4c 20 69 73 20 65 69 74 68 65 72 20 61 20 73 74 72 69 6e 67 20 6f 72 20 61 ...-.URL.is.either.a.string.or.a
44a0 20 70 61 72 73 65 64 20 55 52 4c 2e 20 20 53 65 65 20 60 75 72 6c 2d 72 65 74 72 69 65 76 65 27 .parsed.URL...See.`url-retrieve'
44c0 2e 0a 0a 52 65 73 6f 6c 76 65 3a 0a 20 20 2d 20 58 4d 4c 20 6f 62 6a 65 63 74 20 70 61 72 73 65 ...Resolve:...-.XML.object.parse
44e0 64 20 62 79 20 60 78 6d 6c 2d 70 61 72 73 65 2d 72 65 67 69 6f 6e 27 2e 0a 0a 52 65 6a 65 63 74 d.by.`xml-parse-region'...Reject
4500 3a 0a 20 20 2d 20 45 72 72 6f 72 20 6f 62 6a 65 63 74 20 77 68 69 6c 65 20 72 65 74 72 69 65 76 :...-.Error.object.while.retriev
4520 69 6e 67 20 55 52 4c 20 61 6e 64 20 70 61 72 73 69 6e 67 20 63 6f 6e 74 65 6e 74 73 2e 22 0a 20 ing.URL.and.parsing.contents."..
4540 20 28 70 72 6f 6d 69 73 65 2d 6e 65 77 0a 20 20 20 28 6c 61 6d 62 64 61 20 28 72 65 73 6f 6c 76 .(promise-new....(lambda.(resolv
4560 65 20 72 65 6a 65 63 74 29 0a 20 20 20 20 20 28 75 72 6c 2d 72 65 74 72 69 65 76 65 20 75 72 6c e.reject)......(url-retrieve.url
4580 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 73 74 61 ....................(lambda.(sta
45a0 74 75 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 41 6c 6c tus)......................;;.All
45c0 20 65 72 72 6f 72 73 20 61 72 65 20 72 65 6c 69 61 62 6c 79 20 63 61 70 74 75 72 65 64 20 61 6e .errors.are.reliably.captured.an
45e0 64 20 72 65 6a 65 63 74 65 64 20 77 69 74 68 20 61 70 70 72 6f 70 72 69 61 74 65 20 76 61 6c 75 d.rejected.with.appropriate.valu
4600 65 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 70 6c es.......................(if.(pl
4620 69 73 74 2d 67 65 74 20 73 74 61 74 75 73 20 3a 65 72 72 6f 72 29 0a 20 20 20 20 20 20 20 20 20 ist-get.status.:error)..........
4640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 72 65 6a 65 63 74 20 ................(funcall.reject.
4660 28 70 6c 69 73 74 2d 67 65 74 20 73 74 61 74 75 73 20 3a 65 72 72 6f 72 29 29 0a 20 20 20 20 20 (plist-get.status.:error))......
4680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 ..................(condition-cas
46a0 65 20 65 72 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e.err...........................
46c0 20 28 69 66 20 28 6e 6f 74 20 28 75 72 6c 2d 68 74 74 70 2d 70 61 72 73 65 2d 68 65 61 64 65 72 .(if.(not.(url-http-parse-header
46e0 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 s)).............................
4700 20 20 20 28 66 75 6e 63 61 6c 6c 20 72 65 6a 65 63 74 20 28 62 75 66 66 65 72 2d 73 74 72 69 6e ...(funcall.reject.(buffer-strin
4720 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 g)).............................
4740 20 28 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 2d 72 65 67 65 78 70 20 22 5c 6e 5c 5c 73 2d 2a .(search-forward-regexp."\n\\s-*
4760 5c 6e 22 20 6e 69 6c 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 \n".nil.t)......................
4780 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 72 65 73 6f 6c 76 65 20 28 78 6d 6c 2d 70 61 ........(funcall.resolve.(xml-pa
47a0 72 73 65 2d 72 65 67 69 6f 6e 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rse-region)))...................
47c0 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 28 66 75 6e 63 61 6c 6c 20 72 65 6a 65 63 74 20 65 72 .......(error.(funcall.reject.er
47e0 72 29 29 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6d 69 73 65 3a 72 65 71 75 65 r)))))))))..(defun.promise:reque
4800 73 74 20 28 75 72 6c 29 0a 20 20 22 52 65 74 75 72 6e 20 70 72 6f 6d 69 73 65 20 74 6f 20 72 65 st.(url)..."Return.promise.to.re
4820 71 75 65 73 74 20 55 52 4c 20 76 69 61 20 60 72 65 71 75 65 73 74 27 2e 0a 0a 41 72 67 75 6d 65 quest.URL.via.`request'...Argume
4840 6e 74 73 3a 0a 20 20 2d 20 55 52 4c 20 69 73 20 61 20 74 61 72 67 65 74 20 75 72 6c 20 61 73 20 nts:...-.URL.is.a.target.url.as.
4860 73 74 72 69 6e 67 2e 0a 0a 52 65 73 6f 6c 76 65 3a 0a 20 20 2d 20 52 65 73 70 6f 6e 73 65 20 62 string...Resolve:...-.Response.b
4880 6f 64 79 20 61 73 20 73 74 72 69 6e 67 2e 0a 0a 52 65 6a 65 63 74 3a 0a 20 20 2d 20 41 20 73 74 ody.as.string...Reject:...-.A.st
48a0 72 69 6e 67 20 6c 69 73 74 20 6c 69 6b 65 20 61 73 20 28 73 74 61 74 75 73 2d 63 6f 64 65 20 72 ring.list.like.as.(status-code.r
48c0 65 73 70 6f 6e 73 65 2d 68 65 61 64 65 72 20 72 65 73 70 6f 6e 73 65 2d 62 6f 64 79 29 22 0a 20 esponse-header.response-body)"..
48e0 20 28 70 72 6f 6d 69 73 65 3a 72 65 71 75 65 73 74 2d 77 69 74 68 2d 61 72 67 73 20 75 72 6c 20 .(promise:request-with-args.url.
4900 6e 69 6c 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6d 69 73 65 3a 72 65 71 75 65 73 74 2d 70 6f nil))..(defun.promise:request-po
4920 73 74 20 28 75 72 6c 20 64 61 74 61 29 0a 20 20 22 52 65 74 75 72 6e 20 70 72 6f 6d 69 73 65 20 st.(url.data)..."Return.promise.
4940 74 6f 20 50 4f 53 54 20 44 41 54 41 20 74 6f 20 55 52 4c 20 76 69 61 20 60 72 65 71 75 65 73 74 to.POST.DATA.to.URL.via.`request
4960 27 2e 0a 0a 41 72 67 75 6d 65 6e 74 73 3a 0a 20 20 2d 20 55 52 4c 20 69 73 20 61 20 74 61 72 67 '...Arguments:...-.URL.is.a.targ
4980 65 74 20 75 72 6c 20 61 73 20 73 74 72 69 6e 67 2e 0a 20 20 2d 20 44 41 54 41 20 69 73 20 70 6f et.url.as.string....-.DATA.is.po
49a0 73 74 20 64 61 74 61 20 61 6c 69 73 74 2e 0a 0a 52 65 73 6f 6c 76 65 3a 0a 20 20 2d 20 52 65 73 st.data.alist...Resolve:...-.Res
49c0 70 6f 6e 73 65 20 62 6f 64 79 20 61 73 20 73 74 72 69 6e 67 2e 0a 0a 52 65 6a 65 63 74 3a 0a 20 ponse.body.as.string...Reject:..
49e0 20 2d 20 41 20 73 74 72 69 6e 67 20 6c 69 73 74 20 6c 69 6b 65 20 61 73 20 28 73 74 61 74 75 73 .-.A.string.list.like.as.(status
4a00 2d 63 6f 64 65 20 72 65 73 70 6f 6e 73 65 2d 68 65 61 64 65 72 20 72 65 73 70 6f 6e 73 65 2d 62 -code.response-header.response-b
4a20 6f 64 79 29 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6e 64 65 6e 74 20 31 29 29 0a 20 20 28 ody)"...(declare.(indent.1))...(
4a40 70 72 6f 6d 69 73 65 3a 72 65 71 75 65 73 74 2d 77 69 74 68 2d 61 72 67 73 20 75 72 6c 20 60 28 promise:request-with-args.url.`(
4a60 3a 74 79 70 65 20 22 50 4f 53 54 22 20 3a 64 61 74 61 20 27 2c 64 61 74 61 29 29 29 0a 0a 28 64 :type."POST".:data.',data)))..(d
4a80 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 72 65 71 75 65 73 74 20 22 72 65 71 75 65 73 74 eclare-function.request."request
4aa0 2e 65 6c 22 20 28 75 72 6c 20 26 72 65 73 74 20 73 65 74 74 69 6e 67 73 29 29 0a 28 64 65 63 6c .el".(url.&rest.settings)).(decl
4ac0 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 72 65 71 75 65 73 74 2d 72 65 73 70 6f 6e 73 65 2d 73 74 are-function.request-response-st
4ae0 61 74 75 73 2d 63 6f 64 65 20 22 72 65 71 75 65 73 74 2e 65 6c 22 20 28 72 65 73 70 6f 6e 73 65 atus-code."request.el".(response
4b00 29 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 72 65 71 75 65 73 74 2d 72 65 73 )).(declare-function.request-res
4b20 70 6f 6e 73 65 2d 2d 72 61 77 2d 68 65 61 64 65 72 20 22 72 65 71 75 65 73 74 2e 65 6c 22 20 28 ponse--raw-header."request.el".(
4b40 72 65 73 70 6f 6e 73 65 29 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 72 65 71 response)).(declare-function.req
4b60 75 65 73 74 2d 72 65 73 70 6f 6e 73 65 2d 64 61 74 61 20 22 72 65 71 75 65 73 74 2e 65 6c 22 20 uest-response-data."request.el".
4b80 28 72 65 73 70 6f 6e 73 65 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6d 69 73 65 3a 72 65 71 75 (response))..(defun.promise:requ
4ba0 65 73 74 2d 77 69 74 68 2d 61 72 67 73 20 28 75 72 6c 20 61 72 67 6c 69 73 74 29 0a 20 20 22 52 est-with-args.(url.arglist)..."R
4bc0 65 74 75 72 6e 20 70 72 6f 6d 69 73 65 20 74 6f 20 72 65 71 75 65 73 74 20 55 52 4c 20 76 69 61 eturn.promise.to.request.URL.via
4be0 20 60 72 65 71 75 65 73 74 27 20 77 69 74 68 20 41 52 47 4c 49 53 54 2e 0a 0a 41 72 67 75 6d 65 .`request'.with.ARGLIST...Argume
4c00 6e 74 73 3a 0a 20 20 2d 20 55 52 4c 20 69 73 20 61 20 74 61 72 67 65 74 20 75 72 6c 20 61 73 20 nts:...-.URL.is.a.target.url.as.
4c20 73 74 72 69 6e 67 2e 0a 0a 52 65 73 6f 6c 76 65 3a 0a 20 20 2d 20 52 65 73 70 6f 6e 73 65 20 62 string...Resolve:...-.Response.b
4c40 6f 64 79 20 61 73 20 73 74 72 69 6e 67 2e 0a 0a 52 65 6a 65 63 74 3a 0a 20 20 2d 20 41 20 73 74 ody.as.string...Reject:...-.A.st
4c60 72 69 6e 67 20 6c 69 73 74 20 6c 69 6b 65 20 61 73 20 28 73 74 61 74 75 73 2d 63 6f 64 65 20 72 ring.list.like.as.(status-code.r
4c80 65 73 70 6f 6e 73 65 2d 68 65 61 64 65 72 20 72 65 73 70 6f 6e 73 65 2d 62 6f 64 79 29 22 0a 20 esponse-header.response-body)"..
4ca0 20 28 64 65 63 6c 61 72 65 20 28 69 6e 64 65 6e 74 20 31 29 29 0a 0a 20 20 28 72 65 71 75 69 72 .(declare.(indent.1))....(requir
4cc0 65 20 27 72 65 71 75 65 73 74 29 0a 20 20 28 70 72 6f 6d 69 73 65 2d 6e 65 77 0a 20 20 20 28 6c e.'request)...(promise-new....(l
4ce0 61 6d 62 64 61 20 28 72 65 73 6f 6c 76 65 20 72 65 6a 65 63 74 29 0a 20 20 20 20 20 28 77 68 65 ambda.(resolve.reject)......(whe
4d00 6e 20 28 70 6c 69 73 74 2d 67 65 74 20 61 72 67 6c 69 73 74 20 3a 73 75 63 63 65 73 73 29 0a 20 n.(plist-get.arglist.:success)..
4d20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 72 65 6a 65 63 74 20 22 53 75 63 63 65 73 73 20 63 ......(funcall.reject."Success.c
4d40 61 6c 6c 62 61 63 6b 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6e 6f 74 20 63 75 73 74 6f 6d 69 7a allback.function.is.not.customiz
4d60 61 62 6c 65 22 29 29 0a 20 20 20 20 20 28 77 68 65 6e 20 28 70 6c 69 73 74 2d 67 65 74 20 61 72 able"))......(when.(plist-get.ar
4d80 67 6c 69 73 74 20 3a 65 72 72 6f 72 29 0a 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 72 65 glist.:error)........(funcall.re
4da0 6a 65 63 74 20 22 45 72 72 6f 72 20 63 61 6c 6c 62 61 63 6b 20 66 75 6e 63 74 69 6f 6e 20 69 73 ject."Error.callback.function.is
4dc0 20 6e 6f 74 20 63 75 73 74 6f 6d 69 7a 61 62 6c 65 22 29 29 0a 20 20 20 20 20 28 61 70 70 6c 79 .not.customizable"))......(apply
4de0 20 23 27 72 65 71 75 65 73 74 20 75 72 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 3a 73 75 63 63 .#'request.url.............:succ
4e00 65 73 73 20 28 63 6c 2d 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ess.(cl-function................
4e20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 26 6b 65 79 20 64 61 74 61 20 26 61 6c 6c 6f 77 .......(lambda.(&key.data.&allow
4e40 2d 6f 74 68 65 72 2d 6b 65 79 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -other-keys)....................
4e60 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 72 65 73 6f 6c 76 65 20 64 61 74 61 29 29 29 0a 20 20 .....(funcall.resolve.data)))...
4e80 20 20 20 20 20 20 20 20 20 20 3a 65 72 72 6f 72 20 28 63 6c 2d 66 75 6e 63 74 69 6f 6e 0a 20 20 ..........:error.(cl-function...
4ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 26 6b 65 79 20 ..................(lambda.(&key.
4ec0 72 65 73 70 6f 6e 73 65 20 26 61 6c 6c 6f 77 2d 6f 74 68 65 72 2d 6b 65 79 73 29 0a 20 20 20 20 response.&allow-other-keys).....
4ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 72 65 6a 65 63 ..................(funcall.rejec
4f00 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t...............................
4f20 20 28 6c 69 73 74 20 28 72 65 71 75 65 73 74 2d 72 65 73 70 6f 6e 73 65 2d 73 74 61 74 75 73 2d .(list.(request-response-status-
4f40 63 6f 64 65 20 72 65 73 70 6f 6e 73 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 code.response)..................
4f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 71 75 65 73 74 2d 72 65 73 ....................(request-res
4f80 70 6f 6e 73 65 2d 2d 72 61 77 2d 68 65 61 64 65 72 20 72 65 73 70 6f 6e 73 65 29 0a 20 20 20 20 ponse--raw-header.response).....
4fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
4fc0 20 28 72 65 71 75 65 73 74 2d 72 65 73 70 6f 6e 73 65 2d 64 61 74 61 20 72 65 73 70 6f 6e 73 65 .(request-response-data.response
4fe0 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 72 67 6c 69 73 74 29 29 29 29 0a 0a 28 ))))).............arglist))))..(
5000 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 61 73 79 6e 63 2d 73 74 61 72 74 20 22 61 73 declare-function.async-start."as
5020 79 6e 63 2e 65 6c 22 20 28 73 74 61 72 74 2d 66 75 6e 63 20 26 6f 70 74 69 6f 6e 61 6c 20 66 69 ync.el".(start-func.&optional.fi
5040 6e 69 73 68 2d 66 75 6e 63 29 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 61 73 nish-func)).(declare-function.as
5060 79 6e 63 2d 77 68 65 6e 2d 64 6f 6e 65 20 22 61 73 79 6e 63 2e 65 6c 22 20 28 70 72 6f 63 20 26 ync-when-done."async.el".(proc.&
5080 6f 70 74 69 6f 6e 61 6c 20 5f 63 68 61 6e 67 65 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6d 69 optional._change))..(defun.promi
50a0 73 65 3a 61 73 79 6e 63 2d 73 74 61 72 74 20 28 73 74 61 72 74 2d 66 75 6e 63 20 26 6f 70 74 69 se:async-start.(start-func.&opti
50c0 6f 6e 61 6c 20 66 69 6e 69 73 68 2d 66 75 6e 63 29 0a 20 20 22 52 65 74 75 72 6e 20 70 72 6f 6d onal.finish-func)..."Return.prom
50e0 69 73 65 20 74 6f 20 65 76 61 6c 20 66 75 6e 63 74 69 6f 6e 20 69 6e 20 61 20 6e 65 77 20 45 6d ise.to.eval.function.in.a.new.Em
5100 61 63 73 20 70 72 6f 63 65 73 73 20 76 69 61 20 60 61 73 79 6e 63 2d 73 74 61 72 74 27 2e 0a 0a acs.process.via.`async-start'...
5120 41 72 67 75 6d 65 6e 74 73 3a 0a 20 20 2d 20 53 54 41 52 54 2d 46 55 4e 43 20 69 73 20 66 75 6e Arguments:...-.START-FUNC.is.fun
5140 63 74 69 6f 6e 20 74 68 61 74 20 77 69 6c 6c 20 62 65 20 65 76 61 6c 65 64 20 69 6e 20 6e 65 77 ction.that.will.be.evaled.in.new
5160 20 45 6d 61 63 73 2e 0a 20 20 2d 20 46 49 4e 49 53 48 2d 46 55 4e 43 20 69 73 20 66 75 6e 63 74 .Emacs....-.FINISH-FUNC.is.funct
5180 69 6f 6e 20 74 68 61 74 20 77 69 6c 6c 20 62 65 20 65 76 61 6c 65 64 20 61 66 74 65 72 20 53 54 ion.that.will.be.evaled.after.ST
51a0 41 52 54 2d 46 55 4e 43 20 65 76 61 6c 65 64 2e 0a 0a 52 65 73 6f 6c 76 65 3a 0a 20 20 2d 20 52 ART-FUNC.evaled...Resolve:...-.R
51c0 65 74 75 72 6e 20 76 61 6c 75 65 20 66 72 6f 6d 20 53 54 41 52 54 2d 46 55 4e 43 20 69 6e 20 74 eturn.value.from.START-FUNC.in.t
51e0 68 65 20 45 6d 61 63 73 2e 0a 0a 52 65 6a 65 63 74 3a 0a 20 20 2d 20 45 72 72 6f 72 20 6f 62 6a he.Emacs...Reject:...-.Error.obj
5200 65 63 74 20 77 68 69 6c 65 20 65 76 61 6c 75 61 74 69 6e 67 20 53 54 41 52 54 2d 46 55 4e 43 20 ect.while.evaluating.START-FUNC.
5220 61 6e 64 20 46 49 4e 49 53 48 2d 46 55 4e 43 2e 22 0a 20 20 28 72 65 71 75 69 72 65 20 27 61 73 and.FINISH-FUNC."...(require.'as
5240 79 6e 63 29 0a 20 20 28 70 72 6f 6d 69 73 65 2d 6e 65 77 0a 20 20 20 28 6c 61 6d 62 64 61 20 28 ync)...(promise-new....(lambda.(
5260 72 65 73 6f 6c 76 65 20 72 65 6a 65 63 74 29 0a 20 20 20 20 20 28 73 65 74 2d 70 72 6f 63 65 73 resolve.reject)......(set-proces
5280 73 2d 73 65 6e 74 69 6e 65 6c 20 28 61 73 79 6e 63 2d 73 74 61 72 74 20 73 74 61 72 74 2d 66 75 s-sentinel.(async-start.start-fu
52a0 6e 63 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 nc..............................
52c0 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 72 65 73 75 6c 74 29 0a 20 20 20 20 ...........(lambda.(result).....
52e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5300 20 20 20 20 20 20 28 77 68 65 6e 20 66 69 6e 69 73 68 2d 66 75 6e 63 0a 20 20 20 20 20 20 20 20 ......(when.finish-func.........
5320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5340 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 66 69 6e 69 73 68 2d 66 75 6e 63 20 72 65 73 75 6c 74 29 ....(funcall.finish-func.result)
5360 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 )...............................
5380 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 72 65 73 6f 6c 76 65 20 72 65 73 ............(funcall.resolve.res
53a0 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 20 20 20 20 20 20 20 ult)))..........................
53c0 20 20 28 6c 61 6d 62 64 61 20 28 70 72 6f 63 65 73 73 20 65 76 65 6e 74 29 0a 20 20 20 20 20 20 ..(lambda.(process.event).......
53e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 69 74 69 6f .......................(conditio
5400 6e 2d 63 61 73 65 20 72 65 61 73 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 n-case.reason...................
5420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 73 79 6e 63 2d 77 68 65 6e 2d 64 6f 6e 65 20 ...............(async-when-done.
5440 70 72 6f 63 65 73 73 20 65 76 65 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 process.event)..................
5460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 28 66 75 6e 63 61 6c 6c 20 72 65 ..............(error.(funcall.re
5480 6a 65 63 74 20 72 65 61 73 6f 6e 29 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6d ject.reason))))))))..(defun.prom
54a0 69 73 65 2d 77 61 69 74 20 28 74 69 6d 65 6f 75 74 20 70 72 6f 6d 69 73 65 29 0a 20 20 22 52 65 ise-wait.(timeout.promise)..."Re
54c0 74 75 72 6e 20 70 72 6f 6d 69 73 65 20 74 6f 20 77 61 69 74 20 73 79 6e 63 68 72 6f 6e 6f 75 73 turn.promise.to.wait.synchronous
54e0 6c 79 20 75 6e 74 69 6c 20 50 52 4f 4d 49 53 45 20 69 73 20 72 65 73 6f 6c 76 65 64 20 6f 72 20 ly.until.PROMISE.is.resolved.or.
5500 72 65 6a 65 63 74 65 64 20 6f 72 20 54 49 4d 45 4f 55 54 2e 0a 0a 41 72 67 75 6d 65 6e 74 73 3a rejected.or.TIMEOUT...Arguments:
5520 0a 20 20 2d 20 54 49 4d 45 4f 55 54 20 63 61 6e 20 61 63 63 65 70 74 20 74 68 65 20 76 61 72 69 ...-.TIMEOUT.can.accept.the.vari
5540 6f 75 73 20 66 6f 72 6d 61 74 73 2e 20 20 53 65 65 20 60 72 75 6e 2d 61 74 2d 74 69 6d 65 27 2e ous.formats...See.`run-at-time'.
5560 0a 20 20 2d 20 50 52 4f 4d 49 53 45 20 69 73 20 61 6e 79 20 70 72 6f 6d 69 73 65 20 6f 62 6a 65 ...-.PROMISE.is.any.promise.obje
5580 63 74 2e 0a 0a 52 65 73 6f 6c 76 65 3a 0a 20 20 2d 20 52 65 74 75 72 6e 20 28 3a 66 75 6c 6c 66 ct...Resolve:...-.Return.(:fullf
55a0 69 6c 6c 65 64 20 76 61 6c 75 65 29 2c 20 76 61 6c 75 65 20 69 73 20 50 52 4f 4d 49 53 45 20 72 illed.value),.value.is.PROMISE.r
55c0 65 73 6f 6c 76 65 64 20 76 61 6c 75 65 2e 0a 0a 52 65 6a 65 63 74 3a 0a 20 20 2d 20 52 65 74 75 esolved.value...Reject:...-.Retu
55e0 72 6e 20 28 3a 72 65 6a 65 63 74 65 64 20 72 65 61 73 6f 6e 29 2c 20 72 65 61 73 6f 6e 20 69 73 rn.(:rejected.reason),.reason.is
5600 20 50 52 4f 4d 49 53 45 20 72 65 6a 65 63 74 65 64 20 72 65 61 73 6f 6e 2e 0a 0a 54 69 6d 65 6f .PROMISE.rejected.reason...Timeo
5620 75 74 3a 0a 20 20 2d 20 52 65 74 75 72 6e 20 28 3a 74 69 6d 65 6f 75 74 65 64 29 2e 22 0a 20 20 ut:...-.Return.(:timeouted)."...
5640 28 64 65 63 6c 61 72 65 20 28 69 6e 64 65 6e 74 20 31 29 29 0a 20 20 28 63 61 74 63 68 20 27 64 (declare.(indent.1))...(catch.'d
5660 6f 6e 65 0a 20 20 20 20 28 6c 65 74 2a 20 28 68 61 6e 64 6c 65 64 0a 20 20 20 20 20 20 20 20 20 one.....(let*.(handled..........
5680 20 20 28 74 69 6d 65 72 20 28 72 75 6e 2d 61 74 2d 74 69 6d 65 20 74 69 6d 65 6f 75 74 20 6e 69 ..(timer.(run-at-time.timeout.ni
56a0 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 l...............................
56c0 20 28 6c 61 6d 62 64 61 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(lambda.().....................
56e0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 68 61 6e 64 6c 65 64 0a 20 20 20 .............(unless.handled....
5700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5720 28 73 65 74 71 20 68 61 6e 64 6c 65 64 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (setq.handled.t)................
5740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 68 72 6f 77 20 27 64 6f 6e 65 ....................(throw.'done
5760 20 28 70 72 6f 6d 69 73 65 2d 72 65 6a 65 63 74 20 27 28 3a 74 69 6d 65 6f 75 74 65 64 29 29 29 .(promise-reject.'(:timeouted)))
5780 29 29 29 29 29 0a 20 20 20 20 20 20 28 70 72 6f 6d 69 73 65 2d 74 68 65 6e 20 70 72 6f 6d 69 73 ))))).......(promise-then.promis
57a0 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 76 e.....................(lambda.(v
57c0 61 6c 75 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c alue).......................(unl
57e0 65 73 73 20 68 61 6e 64 6c 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ess.handled.....................
5800 20 20 20 20 28 73 65 74 71 20 68 61 6e 64 6c 65 64 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 ....(setq.handled.t)............
5820 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6e 63 65 6c 2d 74 69 6d 65 72 20 74 69 6d 65 72 .............(cancel-timer.timer
5840 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 68 72 6f 77 ).........................(throw
5860 20 27 64 6f 6e 65 20 28 70 72 6f 6d 69 73 65 2d 72 65 73 6f 6c 76 65 20 60 28 3a 66 75 6c 6c 66 .'done.(promise-resolve.`(:fullf
5880 69 6c 6c 65 64 20 2c 76 61 6c 75 65 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 illed.,value)))))...............
58a0 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 72 65 61 73 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 ......(lambda.(reason)..........
58c0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 68 61 6e 64 6c 65 64 0a 20 20 20 .............(unless.handled....
58e0 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 68 61 6e 64 6c .....................(setq.handl
5900 65 64 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 ed.t).........................(c
5920 61 6e 63 65 6c 2d 74 69 6d 65 72 20 74 69 6d 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ancel-timer.timer)..............
5940 20 20 20 20 20 20 20 20 20 20 20 28 74 68 72 6f 77 20 27 64 6f 6e 65 20 28 70 72 6f 6d 69 73 65 ...........(throw.'done.(promise
5960 2d 72 65 6a 65 63 74 20 60 28 3a 72 65 6a 65 63 74 65 64 20 2c 72 65 61 73 6f 6e 29 29 29 29 29 -reject.`(:rejected.,reason)))))
5980 29 0a 20 20 20 20 20 20 28 77 68 69 6c 65 20 74 20 28 61 63 63 65 70 74 2d 70 72 6f 63 65 73 73 ).......(while.t.(accept-process
59a0 2d 6f 75 74 70 75 74 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6d 69 73 65 2d 77 61 69 -output)))))..(defun.promise-wai
59c0 74 2d 76 61 6c 75 65 20 28 70 72 6f 6d 69 73 65 29 0a 20 20 22 52 65 74 75 72 6e 20 6f 72 69 67 t-value.(promise)..."Return.orig
59e0 6e 61 6c 20 76 61 6c 75 65 20 66 6f 72 6d 20 50 52 4f 4d 49 53 45 20 72 65 74 75 72 6e 20 76 61 nal.value.form.PROMISE.return.va
5a00 6c 75 65 20 6f 66 20 60 70 72 6f 6d 69 73 65 2d 77 61 69 74 27 2e 22 0a 20 20 28 73 65 71 2d 6c lue.of.`promise-wait'."...(seq-l
5a20 65 74 20 28 73 74 61 74 65 20 76 61 6c 75 65 29 20 28 70 72 6f 6d 69 73 65 2d 5f 76 61 6c 75 65 et.(state.value).(promise-_value
5a40 20 70 72 6f 6d 69 73 65 29 0a 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 28 28 65 71 20 3a 66 .promise).....(cond......((eq.:f
5a60 75 6c 6c 66 69 6c 6c 65 64 20 73 74 61 74 65 29 20 76 61 6c 75 65 29 0a 20 20 20 20 20 28 28 65 ullfilled.state).value)......((e
5a80 71 20 3a 72 65 6a 65 63 74 65 64 20 20 73 74 61 74 65 29 20 28 65 72 72 6f 72 20 22 52 65 6a 65 q.:rejected..state).(error."Reje
5aa0 63 74 65 64 3a 20 25 73 22 20 28 70 72 69 6e 31 2d 74 6f 2d 73 74 72 69 6e 67 20 76 61 6c 75 65 cted:.%s".(prin1-to-string.value
5ac0 29 29 29 0a 20 20 20 20 20 28 28 65 71 20 3a 74 69 6d 65 6f 75 74 65 64 20 73 74 61 74 65 29 20 )))......((eq.:timeouted.state).
5ae0 28 65 72 72 6f 72 20 22 54 69 6d 65 6f 75 74 65 64 3a 20 25 73 22 20 28 70 72 69 6e 31 2d 74 6f (error."Timeouted:.%s".(prin1-to
5b00 2d 73 74 72 69 6e 67 20 76 61 6c 75 65 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6d -string.value))))))..(defun.prom
5b20 69 73 65 2d 63 6f 6e 63 75 72 72 65 6e 74 2d 2d 69 6e 74 65 72 6e 61 6c 20 28 63 6f 6e 63 75 72 ise-concurrent--internal.(concur
5b40 72 65 6e 74 20 6c 69 6d 69 74 20 70 72 6f 6d 69 73 65 66 6e 20 26 6f 70 74 69 6f 6e 61 6c 20 6e rent.limit.promisefn.&optional.n
5b60 6f 2d 72 65 6a 65 63 74 2d 69 6d 6d 65 64 69 61 74 65 6c 79 2d 70 29 0a 20 20 22 49 6e 74 65 72 o-reject-immediately-p)..."Inter
5b80 6e 61 6c 20 66 75 6e 63 74 69 6f 6e 20 6f 66 20 60 70 72 6f 6d 69 73 65 2d 63 6f 6e 63 75 72 72 nal.function.of.`promise-concurr
5ba0 65 6e 74 27 2e 0a 0a 41 72 67 75 6d 65 6e 74 73 3a 0a 20 20 2d 20 43 4f 4e 43 55 52 52 45 4e 54 ent'...Arguments:...-.CONCURRENT
5bc0 20 69 73 20 6c 69 6d 69 74 65 64 20 6e 75 6d 62 65 72 20 6f 66 20 63 6f 6e 63 75 72 72 65 6e 74 .is.limited.number.of.concurrent
5be0 20 70 72 6f 6d 69 73 65 73 2e 0a 20 20 2d 20 4c 49 4d 49 54 20 69 73 20 6e 75 6d 62 65 72 20 6f .promises....-.LIMIT.is.number.o
5c00 66 20 50 52 4f 4d 49 53 45 46 4e 20 65 78 65 63 75 74 69 6f 6e 73 2e 0a 20 20 2d 20 50 52 4f 4d f.PROMISEFN.executions....-.PROM
5c20 49 53 45 46 4e 20 69 73 20 66 75 6e 63 74 69 6f 6e 20 73 68 6f 75 6c 64 20 72 65 74 75 72 6e 20 ISEFN.is.function.should.return.
5c40 61 6e 79 20 70 72 6f 6d 69 73 65 20 6f 62 6a 65 63 74 2e 0a 20 20 2d 20 49 66 20 4e 4f 2d 52 45 any.promise.object....-.If.NO-RE
5c60 4a 45 43 54 2d 49 4d 4d 45 44 49 41 54 45 4c 59 2d 50 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 72 JECT-IMMEDIATELY-P.is.non-nil,.r
5c80 65 74 75 72 6e 65 64 20 70 72 6f 6d 69 73 65 20 69 73 20 6e 6f 74 20 72 65 6a 65 63 74 20 69 6d eturned.promise.is.not.reject.im
5ca0 6d 69 64 69 61 74 65 6c 79 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6e 64 65 6e 74 20 32 midiately."...(declare.(indent.2
5cc0 29 29 0a 20 20 28 6c 65 74 20 28 28 70 69 70 65 6c 69 6e 65 20 28 6d 61 6b 65 2d 76 65 63 74 6f ))...(let.((pipeline.(make-vecto
5ce0 72 20 63 6f 6e 63 75 72 72 65 6e 74 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 28 72 65 73 75 r.concurrent.nil)).........(resu
5d00 6c 74 73 20 28 6d 61 6b 65 2d 76 65 63 74 6f 72 20 6c 69 6d 69 74 20 6e 69 6c 29 29 0a 20 20 20 lts.(make-vector.limit.nil))....
5d20 20 20 20 20 20 28 63 6f 75 6e 74 20 2d 31 29 0a 20 20 20 20 20 20 20 20 72 65 61 73 6f 6e 73 29 .....(count.-1).........reasons)
5d40 0a 20 20 20 20 28 64 6f 74 69 6d 65 73 20 28 69 20 63 6f 6e 63 75 72 72 65 6e 74 29 0a 20 20 20 .....(dotimes.(i.concurrent)....
5d60 20 20 20 28 61 73 65 74 20 70 69 70 65 6c 69 6e 65 20 69 0a 20 20 20 20 20 20 20 20 20 20 20 20 ...(aset.pipeline.i.............
5d80 28 70 72 6f 6d 69 73 65 2d 6e 65 77 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 (promise-new..............(lambd
5da0 61 20 28 72 65 73 6f 6c 76 65 20 72 65 6a 65 63 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 a.(resolve.reject)..............
5dc0 20 20 28 63 6c 2d 6c 61 62 65 6c 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 77 ..(cl-labels.................((w
5de0 6f 72 6b 65 72 20 28 69 6e 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 orker.(inx).....................
5e00 20 20 20 20 20 28 69 66 20 28 6e 6f 74 20 28 3c 20 69 6e 78 20 6c 69 6d 69 74 29 29 0a 20 20 20 .....(if.(not.(<.inx.limit))....
5e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 ..........................(funca
5e40 6c 6c 20 72 65 73 6f 6c 76 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ll.resolve).....................
5e60 20 20 20 20 20 20 20 28 70 72 6f 6d 69 73 65 2d 63 68 61 69 6e 20 28 66 75 6e 63 61 6c 6c 20 70 .......(promise-chain.(funcall.p
5e80 72 6f 6d 69 73 65 66 6e 20 69 6e 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 romisefn.inx)...................
5ea0 20 20 20 20 20 20 20 20 20 20 20 28 74 68 65 6e 20 28 6c 61 6d 62 64 61 20 28 72 65 73 29 0a 20 ...........(then.(lambda.(res)..
5ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5ee0 20 20 20 20 28 61 73 65 74 20 72 65 73 75 6c 74 73 20 69 6e 78 20 72 65 73 29 0a 20 20 20 20 20 ....(aset.results.inx.res)......
5f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5f20 28 77 6f 72 6b 65 72 20 28 63 6c 2d 69 6e 63 66 20 63 6f 75 6e 74 29 29 29 29 0a 20 20 20 20 20 (worker.(cl-incf.count))))......
5f40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 74 63 68 20 28 ........................(catch.(
5f60 6c 61 6d 62 64 61 20 28 72 65 61 73 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 lambda.(reason).................
5f80 20 20 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 6e 6f 74 20 6e ......................(if.(not.n
5fa0 6f 2d 72 65 6a 65 63 74 2d 69 6d 6d 65 64 69 61 74 65 6c 79 2d 70 29 0a 20 20 20 20 20 20 20 20 o-reject-immediately-p).........
5fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5fe0 20 20 28 66 75 6e 63 61 6c 6c 20 72 65 6a 65 63 74 20 72 65 61 73 6f 6e 29 0a 20 20 20 20 20 20 ..(funcall.reject.reason).......
6000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6020 20 20 28 70 75 73 68 20 60 28 2c 69 6e 78 20 2c 72 65 61 73 6f 6e 29 20 72 65 61 73 6f 6e 73 29 ..(push.`(,inx.,reason).reasons)
6040 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6060 20 20 20 20 20 20 20 20 20 28 77 6f 72 6b 65 72 20 28 63 6c 2d 69 6e 63 66 20 63 6f 75 6e 74 29 .........(worker.(cl-incf.count)
6080 29 29 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 6f 72 6b 65 72 )))))))).................(worker
60a0 20 28 63 6c 2d 69 6e 63 66 20 63 6f 75 6e 74 29 29 29 29 29 29 29 0a 20 20 20 20 28 70 72 6f 6d .(cl-incf.count))))))).....(prom
60c0 69 73 65 2d 63 68 61 69 6e 20 28 70 72 6f 6d 69 73 65 2d 61 6c 6c 20 70 69 70 65 6c 69 6e 65 29 ise-chain.(promise-all.pipeline)
60e0 0a 20 20 20 20 20 20 28 74 68 65 6e 20 28 6c 61 6d 62 64 61 20 28 5f 29 0a 20 20 20 20 20 20 20 .......(then.(lambda.(_)........
6100 20 20 20 20 20 20 20 28 69 66 20 28 6e 6f 74 20 72 65 61 73 6f 6e 73 29 0a 20 20 20 20 20 20 20 .......(if.(not.reasons)........
6120 20 20 20 20 20 20 20 20 20 20 20 72 65 73 75 6c 74 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ...........results..............
6140 20 20 20 28 70 72 6f 6d 69 73 65 2d 72 65 6a 65 63 74 20 60 28 2c 72 65 73 75 6c 74 73 20 2c 72 ...(promise-reject.`(,results.,r
6160 65 61 73 6f 6e 73 29 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6d 69 73 65 2d 63 easons))))))))..(defun.promise-c
6180 6f 6e 63 75 72 72 65 6e 74 20 28 63 6f 6e 63 75 72 72 65 6e 74 20 6c 69 6d 69 74 20 70 72 6f 6d oncurrent.(concurrent.limit.prom
61a0 69 73 65 66 6e 29 0a 20 20 22 52 65 74 75 72 6e 20 70 72 6f 6d 69 73 65 20 74 6f 20 72 75 6e 20 isefn)..."Return.promise.to.run.
61c0 61 20 6c 69 6d 69 74 65 64 20 6e 75 6d 62 65 72 20 6f 66 20 63 6f 6e 63 75 72 72 65 6e 74 20 70 a.limited.number.of.concurrent.p
61e0 72 6f 6d 69 73 65 73 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 romises...This.function.returns.
6200 70 72 6f 6d 69 73 65 20 77 68 69 63 68 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 72 65 6a 65 63 74 promise.which.immediately.reject
6220 65 64 20 69 66 20 6f 6e 65 0a 6f 66 20 70 72 6f 6d 69 73 65 73 20 66 61 69 6c 73 2e 20 20 54 68 ed.if.one.of.promises.fails...Th
6240 69 73 20 62 65 68 61 76 69 6f 72 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 60 70 72 6f 6d is.behavior.corresponds.to.`prom
6260 69 73 65 2d 61 6c 6c 27 2e 0a 53 65 65 20 60 70 72 6f 6d 69 73 65 2d 63 6f 6e 63 75 72 72 65 6e ise-all'..See.`promise-concurren
6280 74 2d 6e 6f 2d 72 65 6a 65 63 74 2d 69 6d 6d 69 64 69 61 74 65 6c 79 27 20 77 69 74 68 20 6e 6f t-no-reject-immidiately'.with.no
62a0 20 72 65 6a 65 63 74 20 69 6d 6d 69 64 69 61 74 65 6c 79 2e 0a 0a 41 72 67 75 6d 65 6e 74 73 3a .reject.immidiately...Arguments:
62c0 0a 20 20 2d 20 43 4f 4e 43 55 52 52 45 4e 54 20 69 73 20 6c 69 6d 69 74 65 64 20 6e 75 6d 62 65 ...-.CONCURRENT.is.limited.numbe
62e0 72 20 6f 66 20 63 6f 6e 63 75 72 72 65 6e 74 20 70 72 6f 6d 69 73 65 73 2e 0a 20 20 2d 20 4c 49 r.of.concurrent.promises....-.LI
6300 4d 49 54 20 69 73 20 6e 75 6d 62 65 72 20 6f 66 20 50 52 4f 4d 49 53 45 46 4e 20 65 78 65 63 75 MIT.is.number.of.PROMISEFN.execu
6320 74 69 6f 6e 73 2e 0a 20 20 2d 20 50 52 4f 4d 49 53 45 46 4e 20 69 73 20 66 75 6e 63 74 69 6f 6e tions....-.PROMISEFN.is.function
6340 20 73 68 6f 75 6c 64 20 72 65 74 75 72 6e 20 61 6e 79 20 70 72 6f 6d 69 73 65 20 6f 62 6a 65 63 .should.return.any.promise.objec
6360 74 2e 0a 0a 52 65 73 6f 6c 76 65 3a 0a 20 20 2d 20 52 65 74 75 72 6e 20 76 65 63 74 6f 72 20 69 t...Resolve:...-.Return.vector.i
6380 6e 63 6c 75 64 65 73 20 76 61 6c 75 65 73 20 72 65 73 6f 6c 76 65 64 20 66 6f 72 20 70 72 6f 6d ncludes.values.resolved.for.prom
63a0 69 73 65 20 77 69 74 68 20 72 65 73 70 65 63 74 20 74 6f 20 6f 72 64 65 72 2e 0a 0a 52 65 6a 65 ise.with.respect.to.order...Reje
63c0 63 74 3a 0a 20 20 2d 20 52 65 74 75 72 6e 20 72 65 61 73 6f 6e 20 66 6f 72 20 74 68 65 20 66 69 ct:...-.Return.reason.for.the.fi
63e0 72 73 74 20 72 65 6a 65 63 74 69 6f 6e 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6e 64 65 rst.rejection."...(declare.(inde
6400 6e 74 20 32 29 29 0a 20 20 28 66 75 6e 63 61 6c 6c 20 23 27 70 72 6f 6d 69 73 65 2d 63 6f 6e 63 nt.2))...(funcall.#'promise-conc
6420 75 72 72 65 6e 74 2d 2d 69 6e 74 65 72 6e 61 6c 20 63 6f 6e 63 75 72 72 65 6e 74 20 6c 69 6d 69 urrent--internal.concurrent.limi
6440 74 20 70 72 6f 6d 69 73 65 66 6e 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6d 69 73 65 2d 63 6f t.promisefn))..(defun.promise-co
6460 6e 63 75 72 72 65 6e 74 2d 6e 6f 2d 72 65 6a 65 63 74 2d 69 6d 6d 69 64 69 61 74 65 6c 79 20 28 ncurrent-no-reject-immidiately.(
6480 63 6f 6e 63 75 72 72 65 6e 74 20 6c 69 6d 69 74 20 70 72 6f 6d 69 73 65 66 6e 29 0a 20 20 22 52 concurrent.limit.promisefn)..."R
64a0 65 74 75 72 6e 20 70 72 6f 6d 69 73 65 20 74 6f 20 72 75 6e 20 61 20 6c 69 6d 69 74 65 64 20 6e eturn.promise.to.run.a.limited.n
64c0 75 6d 62 65 72 20 6f 66 20 63 6f 6e 63 75 72 72 65 6e 74 20 70 72 6f 6d 69 73 65 73 2e 0a 0a 54 umber.of.concurrent.promises...T
64e0 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 70 72 6f 6d 69 73 65 20 77 68 69 his.function.returns.promise.whi
6500 63 68 20 65 78 65 63 75 74 65 20 74 68 65 20 77 68 6f 6c 65 20 70 72 6f 6d 69 73 65 73 20 69 66 ch.execute.the.whole.promises.if
6520 0a 61 20 70 72 6f 6d 69 73 65 20 66 61 69 6c 73 2e 20 20 49 66 20 61 6c 6c 20 70 72 6f 6d 69 73 .a.promise.fails...If.all.promis
6540 65 73 20 61 72 65 20 66 75 6c 66 69 6c 6c 65 64 2c 20 6f 6e 6c 79 20 76 65 63 74 6f 72 73 0a 77 es.are.fulfilled,.only.vectors.w
6560 69 74 68 20 72 65 73 6f 6c 76 65 64 20 76 61 6c 75 65 73 20 61 72 65 20 72 65 74 75 72 6e 65 64 ith.resolved.values.are.returned
6580 2e 20 20 49 66 20 6f 6e 65 20 6f 66 20 70 72 6f 6d 69 73 65 20 69 73 0a 72 65 6a 65 63 74 65 64 ...If.one.of.promise.is.rejected
65a0 2c 20 74 68 65 20 77 68 6f 6c 65 20 70 72 6f 6d 69 73 65 73 20 61 72 65 20 65 78 65 63 75 74 65 ,.the.whole.promises.are.execute
65c0 64 20 61 6e 64 20 74 68 65 20 69 6e 64 65 78 20 61 6e 64 0a 72 65 61 73 6f 6e 20 72 65 6a 65 63 d.and.the.index.and.reason.rejec
65e0 74 65 64 20 61 73 20 74 68 65 20 73 65 63 6f 6e 64 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 ted.as.the.second.return.value.i
6600 73 20 72 65 74 75 72 6e 65 64 20 61 66 74 65 72 20 74 68 65 0a 77 68 6f 6c 65 20 73 74 61 74 65 s.returned.after.the.whole.state
6620 20 68 61 73 20 62 65 65 6e 20 64 65 74 65 72 6d 69 6e 65 64 2e 20 20 49 6e 20 74 68 69 73 20 63 .has.been.determined...In.this.c
6640 61 73 65 2c 20 74 68 65 20 69 6e 64 65 78 20 6c 6f 63 61 74 69 6f 6e 0a 6f 66 20 74 68 65 20 66 ase,.the.index.location.of.the.f
6660 69 72 73 74 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 6e 69 6c 2e 0a 53 65 65 20 60 70 irst.return.value.is.nil..See.`p
6680 72 6f 6d 69 73 65 2d 63 6f 6e 63 75 72 72 65 6e 74 27 20 77 69 74 68 20 72 65 6a 65 63 74 20 69 romise-concurrent'.with.reject.i
66a0 6d 6d 69 64 69 61 74 65 6c 79 2e 0a 0a 41 72 67 75 6d 65 6e 74 73 3a 0a 20 20 2d 20 43 4f 4e 43 mmidiately...Arguments:...-.CONC
66c0 55 52 52 45 4e 54 20 69 73 20 6c 69 6d 69 74 65 64 20 6e 75 6d 62 65 72 20 6f 66 20 63 6f 6e 63 URRENT.is.limited.number.of.conc
66e0 75 72 72 65 6e 74 20 70 72 6f 6d 69 73 65 73 2e 0a 20 20 2d 20 4c 49 4d 49 54 20 69 73 20 6e 75 urrent.promises....-.LIMIT.is.nu
6700 6d 62 65 72 20 6f 66 20 50 52 4f 4d 49 53 45 46 4e 20 65 78 65 63 75 74 69 6f 6e 73 2e 0a 20 20 mber.of.PROMISEFN.executions....
6720 2d 20 50 52 4f 4d 49 53 45 46 4e 20 69 73 20 66 75 6e 63 74 69 6f 6e 20 73 68 6f 75 6c 64 20 72 -.PROMISEFN.is.function.should.r
6740 65 74 75 72 6e 20 61 6e 79 20 70 72 6f 6d 69 73 65 20 6f 62 6a 65 63 74 2e 0a 0a 52 65 73 6f 6c eturn.any.promise.object...Resol
6760 76 65 3a 0a 20 20 2d 20 52 65 74 75 72 6e 20 76 65 63 74 6f 72 20 69 6e 63 6c 75 64 65 73 20 76 ve:...-.Return.vector.includes.v
6780 61 6c 75 65 73 20 72 65 73 6f 6c 76 65 64 20 66 6f 72 20 70 72 6f 6d 69 73 65 20 77 69 74 68 20 alues.resolved.for.promise.with.
67a0 72 65 73 70 65 63 74 20 74 6f 20 6f 72 64 65 72 2e 0a 0a 52 65 6a 65 63 74 3a 0a 20 20 2d 20 52 respect.to.order...Reject:...-.R
67c0 65 74 75 72 6e 20 28 3c 76 65 63 74 6f 72 3e 20 3c 6c 69 73 74 3e 29 0a 20 20 20 20 20 20 3c 76 eturn.(<vector>.<list>).......<v
67e0 65 63 74 6f 72 3e 20 69 6e 63 6c 75 64 65 73 20 76 61 6c 75 65 73 20 72 65 73 6f 6c 76 65 64 20 ector>.includes.values.resolved.
6800 66 6f 72 20 70 72 6f 6d 69 73 65 20 77 69 74 68 20 72 65 73 70 65 63 74 20 74 6f 20 6f 72 64 65 for.promise.with.respect.to.orde
6820 72 2e 0a 20 20 20 20 20 20 3c 6c 69 73 74 3e 20 69 73 20 6c 69 73 74 20 6f 66 20 28 69 6e 64 65 r........<list>.is.list.of.(inde
6840 78 20 72 65 61 73 6f 6e 29 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6e 64 65 6e 74 20 32 x.reason)."...(declare.(indent.2
6860 29 29 0a 20 20 28 66 75 6e 63 61 6c 6c 20 23 27 70 72 6f 6d 69 73 65 2d 63 6f 6e 63 75 72 72 65 ))...(funcall.#'promise-concurre
6880 6e 74 2d 2d 69 6e 74 65 72 6e 61 6c 20 63 6f 6e 63 75 72 72 65 6e 74 20 6c 69 6d 69 74 20 70 72 nt--internal.concurrent.limit.pr
68a0 6f 6d 69 73 65 66 6e 20 3a 6e 6f 2d 72 65 6a 65 63 74 2d 69 6d 6d 65 64 69 61 74 65 6c 79 29 29 omisefn.:no-reject-immediately))
68c0 0a 0a 28 70 72 6f 76 69 64 65 20 27 70 72 6f 6d 69 73 65 29 0a 3b 3b 3b 20 70 72 6f 6d 69 73 65 ..(provide.'promise).;;;.promise
68e0 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .el.ends.here...................
6900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
69a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
69c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
69e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6a00 70 72 6f 6d 69 73 65 2d 32 30 32 31 30 33 30 37 2e 37 32 37 2f 70 72 6f 6d 69 73 65 2d 63 6f 72 promise-20210307.727/promise-cor
6a20 65 2e 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 e.el............................
6a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6a60 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
6a80 30 30 32 33 33 34 31 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 35 33 33 36 00 20 30 00 00 00 0023341.00000000000.015336..0...
6aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6b00 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...................
6b20 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...................
6b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c00 3b 3b 3b 20 70 72 6f 6d 69 73 65 2d 63 6f 72 65 2e 65 6c 20 2d 2d 2d 20 54 68 69 73 20 69 73 20 ;;;.promise-core.el.---.This.is.
6c20 61 20 73 69 6d 70 6c 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 6f 66 20 50 72 6f 6d 69 a.simple.implementation.of.Promi
6c40 73 65 73 2f 41 2b 2e 20 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 69 6e 64 69 6e 67 3a 20 74 3b ses/A+...-*-.lexical-binding:.t;
6c60 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 31 36 2d 32 30 31 37 .-*-..;;.Copyright.(C).2016-2017
6c80 20 20 63 68 75 6e 74 61 72 6f 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 63 68 75 6e 74 61 72 6f 20 ..chuntaro..;;.Author:.chuntaro.
6ca0 3c 63 68 75 6e 74 61 72 6f 40 73 61 6b 75 72 61 2d 67 61 6d 65 73 2e 6a 70 3e 0a 3b 3b 20 55 52 <chuntaro@sakura-games.jp>.;;.UR
6cc0 4c 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 63 68 75 6e 74 61 72 6f 2f 65 L:.https://github.com/chuntaro/e
6ce0 6d 61 63 73 2d 70 72 6f 6d 69 73 65 0a 3b 3b 20 4b 65 79 77 6f 72 64 73 3a 20 61 73 79 6e 63 20 macs-promise.;;.Keywords:.async.
6d00 70 72 6f 6d 69 73 65 20 63 6f 6e 76 65 6e 69 65 6e 63 65 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f promise.convenience..;;.This.pro
6d20 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
6d40 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.;;.
6d60 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
6d80 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
6da0 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
6dc0 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
6de0 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
6e00 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
6e20 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
6e40 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
6e60 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
6e80 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
6ea0 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
6ec0 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
6ee0 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
6f00 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
6f20 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
6f40 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
6f60 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
6f80 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 20 54 68 65 20 6f ww.gnu.org/licenses/>...;;.The.o
6fa0 72 69 67 69 6e 61 6c 20 4a 61 76 61 53 63 72 69 70 74 20 63 6f 64 65 20 69 73 3a 0a 3b 3b 0a 3b riginal.JavaScript.code.is:.;;.;
6fc0 3b 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 31 34 20 46 6f 72 62 65 73 20 4c 69 6e 64 ;.Copyright.(c).2014.Forbes.Lind
6fe0 65 73 61 79 0a 3b 3b 0a 3b 3b 20 50 65 72 6d 69 73 73 69 6f 6e 20 69 73 20 68 65 72 65 62 79 20 esay.;;.;;.Permission.is.hereby.
7000 67 72 61 6e 74 65 64 2c 20 66 72 65 65 20 6f 66 20 63 68 61 72 67 65 2c 20 74 6f 20 61 6e 79 20 granted,.free.of.charge,.to.any.
7020 70 65 72 73 6f 6e 20 6f 62 74 61 69 6e 69 6e 67 20 61 20 63 6f 70 79 0a 3b 3b 20 6f 66 20 74 68 person.obtaining.a.copy.;;.of.th
7040 69 73 20 73 6f 66 74 77 61 72 65 20 61 6e 64 20 61 73 73 6f 63 69 61 74 65 64 20 64 6f 63 75 6d is.software.and.associated.docum
7060 65 6e 74 61 74 69 6f 6e 20 66 69 6c 65 73 20 28 74 68 65 20 22 53 6f 66 74 77 61 72 65 22 29 2c entation.files.(the."Software"),
7080 20 74 6f 20 64 65 61 6c 0a 3b 3b 20 69 6e 20 74 68 65 20 53 6f 66 74 77 61 72 65 20 77 69 74 68 .to.deal.;;.in.the.Software.with
70a0 6f 75 74 20 72 65 73 74 72 69 63 74 69 6f 6e 2c 20 69 6e 63 6c 75 64 69 6e 67 20 77 69 74 68 6f out.restriction,.including.witho
70c0 75 74 20 6c 69 6d 69 74 61 74 69 6f 6e 20 74 68 65 20 72 69 67 68 74 73 0a 3b 3b 20 74 6f 20 75 ut.limitation.the.rights.;;.to.u
70e0 73 65 2c 20 63 6f 70 79 2c 20 6d 6f 64 69 66 79 2c 20 6d 65 72 67 65 2c 20 70 75 62 6c 69 73 68 se,.copy,.modify,.merge,.publish
7100 2c 20 64 69 73 74 72 69 62 75 74 65 2c 20 73 75 62 6c 69 63 65 6e 73 65 2c 20 61 6e 64 2f 6f 72 ,.distribute,.sublicense,.and/or
7120 20 73 65 6c 6c 0a 3b 3b 20 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2c .sell.;;.copies.of.the.Software,
7140 20 61 6e 64 20 74 6f 20 70 65 72 6d 69 74 20 70 65 72 73 6f 6e 73 20 74 6f 20 77 68 6f 6d 20 74 .and.to.permit.persons.to.whom.t
7160 68 65 20 53 6f 66 74 77 61 72 65 20 69 73 0a 3b 3b 20 66 75 72 6e 69 73 68 65 64 20 74 6f 20 64 he.Software.is.;;.furnished.to.d
7180 6f 20 73 6f 2c 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 o.so,.subject.to.the.following.c
71a0 6f 6e 64 69 74 69 6f 6e 73 3a 0a 3b 3b 0a 3b 3b 20 54 68 65 20 61 62 6f 76 65 20 63 6f 70 79 72 onditions:.;;.;;.The.above.copyr
71c0 69 67 68 74 20 6e 6f 74 69 63 65 20 61 6e 64 20 74 68 69 73 20 70 65 72 6d 69 73 73 69 6f 6e 20 ight.notice.and.this.permission.
71e0 6e 6f 74 69 63 65 20 73 68 61 6c 6c 20 62 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 0a 3b 3b 20 61 notice.shall.be.included.in.;;.a
7200 6c 6c 20 63 6f 70 69 65 73 20 6f 72 20 73 75 62 73 74 61 6e 74 69 61 6c 20 70 6f 72 74 69 6f 6e ll.copies.or.substantial.portion
7220 73 20 6f 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2e 0a 3b 3b 0a 3b 3b 20 54 48 45 20 53 4f 46 s.of.the.Software..;;.;;.THE.SOF
7240 54 57 41 52 45 20 49 53 20 50 52 4f 56 49 44 45 44 20 22 41 53 20 49 53 22 2c 20 57 49 54 48 4f TWARE.IS.PROVIDED."AS.IS",.WITHO
7260 55 54 20 57 41 52 52 41 4e 54 59 20 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 45 58 50 52 45 53 53 UT.WARRANTY.OF.ANY.KIND,.EXPRESS
7280 20 4f 52 0a 3b 3b 20 49 4d 50 4c 49 45 44 2c 20 49 4e 43 4c 55 44 49 4e 47 20 42 55 54 20 4e 4f .OR.;;.IMPLIED,.INCLUDING.BUT.NO
72a0 54 20 4c 49 4d 49 54 45 44 20 54 4f 20 54 48 45 20 57 41 52 52 41 4e 54 49 45 53 20 4f 46 20 4d T.LIMITED.TO.THE.WARRANTIES.OF.M
72c0 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 2c 0a 3b 3b 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 ERCHANTABILITY,.;;.FITNESS.FOR.A
72e0 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 20 41 4e 44 20 4e 4f 4e 49 4e 46 52 49 .PARTICULAR.PURPOSE.AND.NONINFRI
7300 4e 47 45 4d 45 4e 54 2e 20 49 4e 20 4e 4f 20 45 56 45 4e 54 20 53 48 41 4c 4c 20 54 48 45 0a 3b NGEMENT..IN.NO.EVENT.SHALL.THE.;
7320 3b 20 41 55 54 48 4f 52 53 20 4f 52 20 43 4f 50 59 52 49 47 48 54 20 48 4f 4c 44 45 52 53 20 42 ;.AUTHORS.OR.COPYRIGHT.HOLDERS.B
7340 45 20 4c 49 41 42 4c 45 20 46 4f 52 20 41 4e 59 20 43 4c 41 49 4d 2c 20 44 41 4d 41 47 45 53 20 E.LIABLE.FOR.ANY.CLAIM,.DAMAGES.
7360 4f 52 20 4f 54 48 45 52 0a 3b 3b 20 4c 49 41 42 49 4c 49 54 59 2c 20 57 48 45 54 48 45 52 20 49 OR.OTHER.;;.LIABILITY,.WHETHER.I
7380 4e 20 41 4e 20 41 43 54 49 4f 4e 20 4f 46 20 43 4f 4e 54 52 41 43 54 2c 20 54 4f 52 54 20 4f 52 N.AN.ACTION.OF.CONTRACT,.TORT.OR
73a0 20 4f 54 48 45 52 57 49 53 45 2c 20 41 52 49 53 49 4e 47 20 46 52 4f 4d 2c 0a 3b 3b 20 4f 55 54 .OTHERWISE,.ARISING.FROM,.;;.OUT
73c0 20 4f 46 20 4f 52 20 49 4e 20 43 4f 4e 4e 45 43 54 49 4f 4e 20 57 49 54 48 20 54 48 45 20 53 4f .OF.OR.IN.CONNECTION.WITH.THE.SO
73e0 46 54 57 41 52 45 20 4f 52 20 54 48 45 20 55 53 45 20 4f 52 20 4f 54 48 45 52 20 44 45 41 4c 49 FTWARE.OR.THE.USE.OR.OTHER.DEALI
7400 4e 47 53 20 49 4e 0a 3b 3b 20 54 48 45 20 53 4f 46 54 57 41 52 45 2e 0a 0a 3b 3b 3b 20 43 6f 6d NGS.IN.;;.THE.SOFTWARE...;;;.Com
7420 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b 20 54 68 69 73 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e mentary:..;;.This.implementation
7440 20 70 6f 72 74 65 64 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 50 72 6f 6d 69 73 65 73 2f 41 .ported.the.following.Promises/A
7460 2b 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 66 61 69 74 68 66 75 6c 6c 79 2e 0a 3b 3b 20 +.implementation.faithfully..;;.
7480 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 74 68 65 6e 2f 70 72 6f 6d 69 73 65 2f https://github.com/then/promise/
74a0 62 6c 6f 62 2f 6d 61 73 74 65 72 2f 73 72 63 2f 63 6f 72 65 2e 6a 73 0a 3b 3b 0a 3b 3b 20 54 68 blob/master/src/core.js.;;.;;.Th
74c0 69 73 20 66 69 6c 65 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 63 6f 72 65 20 50 72 6f 6d 69 73 is.file.contains.the.core.Promis
74e0 65 73 2f 41 2b 20 41 50 49 2e 0a 3b 3b 20 28 70 72 6f 6d 69 73 65 2d 6e 65 77 20 66 6e 29 20 6f es/A+.API..;;.(promise-new.fn).o
7500 72 20 28 6d 61 6b 65 2d 69 6e 73 74 61 6e 63 65 20 27 70 72 6f 6d 69 73 65 2d 63 6c 61 73 73 20 r.(make-instance.'promise-class.
7520 3a 66 6e 20 66 6e 29 0a 3b 3b 20 28 70 72 6f 6d 69 73 65 2d 74 68 65 6e 20 28 28 74 68 69 73 20 :fn.fn).;;.(promise-then.((this.
7540 70 72 6f 6d 69 73 65 2d 63 6c 61 73 73 29 20 26 6f 70 74 69 6f 6e 61 6c 20 6f 6e 2d 66 75 6c 66 promise-class).&optional.on-fulf
7560 69 6c 6c 65 64 20 6f 6e 2d 72 65 6a 65 63 74 65 64 29 29 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a illed.on-rejected))..;;;.Code:..
7580 28 72 65 71 75 69 72 65 20 27 65 69 65 69 6f 29 0a 28 72 65 71 75 69 72 65 20 27 63 6c 2d 6c 69 (require.'eieio).(require.'cl-li
75a0 62 29 0a 28 65 76 61 6c 2d 77 68 65 6e 2d 63 6f 6d 70 69 6c 65 20 28 72 65 71 75 69 72 65 20 27 b).(eval-when-compile.(require.'
75c0 73 75 62 72 2d 78 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6d 69 73 65 2d 2d 61 73 61 70 20 28 subr-x))..(defun.promise--asap.(
75e0 74 61 73 6b 29 0a 20 20 28 72 75 6e 2d 61 74 2d 74 69 6d 65 20 30 2e 30 30 31 20 6e 69 6c 20 74 task)...(run-at-time.0.001.nil.t
7600 61 73 6b 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6d 69 73 65 2d 2d 74 79 70 65 2d 6f 66 20 28 ask))..(defun.promise--type-of.(
7620 6f 62 6a 29 0a 20 20 28 63 6f 6e 64 0a 20 20 20 28 28 6e 6f 74 20 28 76 65 63 74 6f 72 70 20 6f obj)...(cond....((not.(vectorp.o
7640 62 6a 29 29 0a 20 20 20 20 28 74 79 70 65 2d 6f 66 20 6f 62 6a 29 29 0a 20 20 20 28 28 63 6c 2d bj)).....(type-of.obj))....((cl-
7660 73 74 72 75 63 74 2d 70 20 6f 62 6a 29 0a 20 20 20 20 3b 3b 20 43 6f 64 65 20 63 6f 70 69 65 64 struct-p.obj).....;;.Code.copied
7680 20 66 72 6f 6d 20 60 63 6c 2d 2d 64 65 73 63 72 69 62 65 2d 63 6c 61 73 73 27 2e 0a 20 20 20 20 .from.`cl--describe-class'......
76a0 28 63 6c 2d 2d 63 6c 61 73 73 2d 6e 61 6d 65 20 28 73 79 6d 62 6f 6c 2d 76 61 6c 75 65 20 28 61 (cl--class-name.(symbol-value.(a
76c0 72 65 66 20 6f 62 6a 20 30 29 29 29 29 0a 20 20 20 28 28 65 69 65 69 6f 2d 6f 62 6a 65 63 74 2d ref.obj.0))))....((eieio-object-
76e0 70 20 6f 62 6a 29 0a 20 20 20 20 28 65 69 65 69 6f 2d 6f 62 6a 65 63 74 2d 63 6c 61 73 73 20 6f p.obj).....(eieio-object-class.o
7700 62 6a 29 29 0a 20 20 20 28 74 0a 20 20 20 20 27 76 65 63 74 6f 72 29 29 29 0a 0a 28 64 65 66 75 bj))....(t.....'vector)))..(defu
7720 6e 20 70 72 6f 6d 69 73 65 2d 2d 69 73 2d 6f 62 6a 65 63 74 20 28 6f 62 6a 29 0a 20 20 28 6f 72 n.promise--is-object.(obj)...(or
7740 20 28 63 6c 2d 73 74 72 75 63 74 2d 70 20 6f 62 6a 29 0a 20 20 20 20 20 20 28 65 69 65 69 6f 2d .(cl-struct-p.obj).......(eieio-
7760 6f 62 6a 65 63 74 2d 70 20 6f 62 6a 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 70 72 6f 6d 69 object-p.obj)))..(defsubst.promi
7780 73 65 2d 2d 66 69 6e 64 2d 74 68 65 6e 2d 6d 65 74 68 6f 64 20 28 6f 62 6a 29 0a 20 20 28 63 6c se--find-then-method.(obj)...(cl
77a0 2d 66 69 6e 64 2d 6d 65 74 68 6f 64 20 23 27 70 72 6f 6d 69 73 65 2d 74 68 65 6e 20 27 28 29 20 -find-method.#'promise-then.'().
77c0 28 6c 69 73 74 20 28 70 72 6f 6d 69 73 65 2d 2d 74 79 70 65 2d 6f 66 20 6f 62 6a 29 29 29 29 0a (list.(promise--type-of.obj)))).
77e0 0a 28 64 65 66 75 6e 20 70 72 6f 6d 69 73 65 2d 2d 66 69 6e 64 2d 74 68 65 6e 2d 66 75 6e 63 74 .(defun.promise--find-then-funct
7800 69 6f 6e 20 28 6f 62 6a 29 0a 20 20 28 77 68 65 6e 2d 6c 65 74 20 28 6d 65 74 68 6f 64 20 28 70 ion.(obj)...(when-let.(method.(p
7820 72 6f 6d 69 73 65 2d 2d 66 69 6e 64 2d 74 68 65 6e 2d 6d 65 74 68 6f 64 20 6f 62 6a 29 29 0a 20 romise--find-then-method.obj))..
7840 20 20 20 28 63 6c 2d 2d 67 65 6e 65 72 69 63 2d 6d 65 74 68 6f 64 2d 66 75 6e 63 74 69 6f 6e 20 ...(cl--generic-method-function.
7860 6d 65 74 68 6f 64 29 29 29 0a 0a 3b 3b 20 53 74 61 74 65 73 3a 0a 3b 3b 0a 3b 3b 20 30 20 2d 20 method)))..;;.States:.;;.;;.0.-.
7880 70 65 6e 64 69 6e 67 0a 3b 3b 20 31 20 2d 20 66 75 6c 66 69 6c 6c 65 64 20 77 69 74 68 20 5f 76 pending.;;.1.-.fulfilled.with._v
78a0 61 6c 75 65 0a 3b 3b 20 32 20 2d 20 72 65 6a 65 63 74 65 64 20 77 69 74 68 20 5f 76 61 6c 75 65 alue.;;.2.-.rejected.with._value
78c0 0a 3b 3b 20 33 20 2d 20 61 64 6f 70 74 65 64 20 74 68 65 20 73 74 61 74 65 20 6f 66 20 61 6e 6f .;;.3.-.adopted.the.state.of.ano
78e0 74 68 65 72 20 70 72 6f 6d 69 73 65 2c 20 5f 76 61 6c 75 65 0a 3b 3b 0a 3b 3b 20 6f 6e 63 65 20 ther.promise,._value.;;.;;.once.
7900 74 68 65 20 73 74 61 74 65 20 69 73 20 6e 6f 20 6c 6f 6e 67 65 72 20 70 65 6e 64 69 6e 67 20 28 the.state.is.no.longer.pending.(
7920 30 29 20 69 74 20 69 73 20 69 6d 6d 75 74 61 62 6c 65 0a 0a 3b 3b 20 74 6f 20 61 76 6f 69 64 20 0).it.is.immutable..;;.to.avoid.
7940 75 73 69 6e 67 20 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 69 6e 73 69 64 65 20 63 72 69 74 using.condition-case.inside.crit
7960 69 63 61 6c 20 66 75 6e 63 74 69 6f 6e 73 2c 20 77 65 0a 3b 3b 20 65 78 74 72 61 63 74 20 74 68 ical.functions,.we.;;.extract.th
7980 65 6d 20 74 6f 20 68 65 72 65 2e 0a 28 64 65 66 76 61 72 20 70 72 6f 6d 69 73 65 2d 2d 6c 61 73 em.to.here..(defvar.promise--las
79a0 74 2d 65 72 72 6f 72 20 6e 69 6c 29 0a 28 64 65 66 63 6f 6e 73 74 20 70 72 6f 6d 69 73 65 2d 2d t-error.nil).(defconst.promise--
79c0 69 73 2d 65 72 72 6f 72 20 28 63 6c 2d 67 65 6e 73 79 6d 20 22 70 72 6f 6d 69 73 65 2d 65 72 72 is-error.(cl-gensym."promise-err
79e0 6f 72 22 29 29 0a 28 64 65 66 75 6e 20 70 72 6f 6d 69 73 65 2d 2d 67 65 74 2d 74 68 65 6e 20 28 or")).(defun.promise--get-then.(
7a00 6f 62 6a 29 0a 20 20 28 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 65 78 0a 20 20 20 20 20 20 obj)...(condition-case.ex.......
7a20 28 70 72 6f 6d 69 73 65 2d 2d 66 69 6e 64 2d 74 68 65 6e 2d 66 75 6e 63 74 69 6f 6e 20 6f 62 6a (promise--find-then-function.obj
7a40 29 0a 20 20 20 20 28 65 72 72 6f 72 20 28 73 65 74 66 20 70 72 6f 6d 69 73 65 2d 2d 6c 61 73 74 ).....(error.(setf.promise--last
7a60 2d 65 72 72 6f 72 20 65 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 70 72 6f 6d 69 73 65 2d 2d 69 -error.ex)............promise--i
7a80 73 2d 65 72 72 6f 72 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6d 69 73 65 2d 2d 74 72 79 2d s-error)))..(defun.promise--try-
7aa0 63 61 6c 6c 2d 6f 6e 65 20 28 66 6e 20 61 29 0a 20 20 28 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 call-one.(fn.a)...(condition-cas
7ac0 65 20 65 78 0a 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 61 29 0a 20 20 20 20 28 65 e.ex.......(funcall.fn.a).....(e
7ae0 72 72 6f 72 20 28 73 65 74 66 20 70 72 6f 6d 69 73 65 2d 2d 6c 61 73 74 2d 65 72 72 6f 72 20 65 rror.(setf.promise--last-error.e
7b00 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 70 72 6f 6d 69 73 65 2d 2d 69 73 2d 65 72 72 6f 72 29 x)............promise--is-error)
7b20 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6d 69 73 65 2d 2d 74 72 79 2d 63 61 6c 6c 2d 74 77 6f ))..(defun.promise--try-call-two
7b40 20 28 66 6e 20 61 20 62 29 0a 20 20 28 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 65 78 0a 20 .(fn.a.b)...(condition-case.ex..
7b60 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 61 20 62 29 0a 20 20 20 20 28 65 72 72 6f 72 .....(funcall.fn.a.b).....(error
7b80 20 28 73 65 74 66 20 70 72 6f 6d 69 73 65 2d 2d 6c 61 73 74 2d 65 72 72 6f 72 20 65 78 29 0a 20 .(setf.promise--last-error.ex)..
7ba0 20 20 20 20 20 20 20 20 20 20 70 72 6f 6d 69 73 65 2d 2d 69 73 2d 65 72 72 6f 72 29 29 29 0a 0a ..........promise--is-error)))..
7bc0 28 64 65 66 63 6c 61 73 73 20 70 72 6f 6d 69 73 65 2d 63 6c 61 73 73 20 28 29 0a 20 20 28 28 5f (defclass.promise-class.()...((_
7be0 64 65 66 65 72 72 65 64 2d 73 74 61 74 65 20 3a 61 63 63 65 73 73 6f 72 20 70 72 6f 6d 69 73 65 deferred-state.:accessor.promise
7c00 2d 5f 64 65 66 65 72 72 65 64 2d 73 74 61 74 65 20 3a 69 6e 69 74 66 6f 72 6d 20 30 29 0a 20 20 -_deferred-state.:initform.0)...
7c20 20 28 5f 73 74 61 74 65 20 20 20 20 20 20 20 20 20 20 3a 61 63 63 65 73 73 6f 72 20 70 72 6f 6d .(_state..........:accessor.prom
7c40 69 73 65 2d 5f 73 74 61 74 65 20 20 20 20 20 20 20 20 20 20 3a 69 6e 69 74 66 6f 72 6d 20 30 29 ise-_state..........:initform.0)
7c60 0a 20 20 20 28 5f 76 61 6c 75 65 20 20 20 20 20 20 20 20 20 20 3a 61 63 63 65 73 73 6f 72 20 70 ....(_value..........:accessor.p
7c80 72 6f 6d 69 73 65 2d 5f 76 61 6c 75 65 20 20 20 20 20 20 20 20 20 20 3a 69 6e 69 74 66 6f 72 6d romise-_value..........:initform
7ca0 20 6e 69 6c 29 0a 20 20 20 28 5f 64 65 66 65 72 72 65 64 73 20 20 20 20 20 20 3a 61 63 63 65 73 .nil)....(_deferreds......:acces
7cc0 73 6f 72 20 70 72 6f 6d 69 73 65 2d 5f 64 65 66 65 72 72 65 64 73 20 20 20 20 20 20 3a 69 6e 69 sor.promise-_deferreds......:ini
7ce0 74 66 6f 72 6d 20 6e 69 6c 29 0a 20 20 20 3b 3b 20 66 6f 72 20 72 65 6a 65 63 74 69 6f 6e 2d 74 tform.nil)....;;.for.rejection-t
7d00 72 61 63 6b 69 6e 67 0a 20 20 20 28 5f 72 65 6a 65 63 74 69 6f 6e 2d 69 64 20 20 20 3a 61 63 63 racking....(_rejection-id...:acc
7d20 65 73 73 6f 72 20 70 72 6f 6d 69 73 65 2d 5f 72 65 6a 65 63 74 69 6f 6e 2d 69 64 20 20 20 3a 69 essor.promise-_rejection-id...:i
7d40 6e 69 74 66 6f 72 6d 20 6e 69 6c 29 29 29 0a 28 64 65 66 76 61 72 20 70 72 6f 6d 69 73 65 2d 2d nitform.nil))).(defvar.promise--
7d60 6f 6e 2d 68 61 6e 64 6c 65 20 6e 69 6c 29 0a 28 64 65 66 76 61 72 20 70 72 6f 6d 69 73 65 2d 2d on-handle.nil).(defvar.promise--
7d80 6f 6e 2d 72 65 6a 65 63 74 20 6e 69 6c 29 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 69 6e on-reject.nil)..(cl-defmethod.in
7da0 69 74 69 61 6c 69 7a 65 2d 69 6e 73 74 61 6e 63 65 20 28 28 74 68 69 73 20 70 72 6f 6d 69 73 65 itialize-instance.((this.promise
7dc0 2d 63 6c 61 73 73 29 20 26 6f 70 74 69 6f 6e 61 6c 20 61 72 67 73 29 0a 20 20 28 63 6c 2d 63 61 -class).&optional.args)...(cl-ca
7de0 6c 6c 2d 6e 65 78 74 2d 6d 65 74 68 6f 64 20 74 68 69 73 29 0a 20 20 28 6c 65 74 20 28 28 66 6e ll-next-method.this)...(let.((fn
7e00 20 28 70 6c 69 73 74 2d 67 65 74 20 61 72 67 73 20 3a 66 6e 29 29 29 0a 20 20 20 20 28 75 6e 6c .(plist-get.args.:fn))).....(unl
7e20 65 73 73 20 28 65 71 20 66 6e 20 23 27 69 67 6e 6f 72 65 29 0a 20 20 20 20 20 20 28 70 72 6f 6d ess.(eq.fn.#'ignore).......(prom
7e40 69 73 65 2d 2d 64 6f 2d 72 65 73 6f 6c 76 65 20 66 6e 20 74 68 69 73 29 29 29 29 0a 0a 28 64 65 ise--do-resolve.fn.this))))..(de
7e60 66 75 6e 20 70 72 6f 6d 69 73 65 2d 6e 65 77 20 28 66 6e 29 0a 20 20 28 6d 61 6b 65 2d 69 6e 73 fun.promise-new.(fn)...(make-ins
7e80 74 61 6e 63 65 20 27 70 72 6f 6d 69 73 65 2d 63 6c 61 73 73 20 3a 66 6e 20 66 6e 29 29 0a 0a 28 tance.'promise-class.:fn.fn))..(
7ea0 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 70 72 6f 6d 69 73 65 2d 74 68 65 6e 20 28 28 74 68 69 73 cl-defmethod.promise-then.((this
7ec0 20 70 72 6f 6d 69 73 65 2d 63 6c 61 73 73 29 20 26 6f 70 74 69 6f 6e 61 6c 20 6f 6e 2d 66 75 6c .promise-class).&optional.on-ful
7ee0 66 69 6c 6c 65 64 20 6f 6e 2d 72 65 6a 65 63 74 65 64 29 0a 20 20 28 69 66 20 28 6e 6f 74 20 28 filled.on-rejected)...(if.(not.(
7f00 65 71 20 28 70 72 6f 6d 69 73 65 2d 2d 74 79 70 65 2d 6f 66 20 74 68 69 73 29 20 27 70 72 6f 6d eq.(promise--type-of.this).'prom
7f20 69 73 65 2d 63 6c 61 73 73 29 29 0a 20 20 20 20 20 20 28 70 72 6f 6d 69 73 65 2d 2d 73 61 66 65 ise-class)).......(promise--safe
7f40 2d 74 68 65 6e 20 74 68 69 73 20 6f 6e 2d 66 75 6c 66 69 6c 6c 65 64 20 6f 6e 2d 72 65 6a 65 63 -then.this.on-fulfilled.on-rejec
7f60 74 65 64 29 0a 20 20 20 20 28 6c 65 74 20 28 28 72 65 73 20 28 70 72 6f 6d 69 73 65 2d 6e 65 77 ted).....(let.((res.(promise-new
7f80 20 23 27 69 67 6e 6f 72 65 29 29 29 0a 20 20 20 20 20 20 28 70 72 6f 6d 69 73 65 2d 2d 68 61 6e .#'ignore))).......(promise--han
7fa0 64 6c 65 20 74 68 69 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 dle.this........................
7fc0 28 70 72 6f 6d 69 73 65 2d 2d 68 61 6e 64 6c 65 72 2d 6e 65 77 20 6f 6e 2d 66 75 6c 66 69 6c 6c (promise--handler-new.on-fulfill
7fe0 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ed..............................
8000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 6e 2d 72 65 6a 65 63 74 65 64 0a 20 20 20 20 ................on-rejected.....
8020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
8040 20 20 20 20 20 20 20 20 20 72 65 73 29 29 0a 20 20 20 20 20 20 72 65 73 29 29 29 0a 0a 28 64 65 .........res)).......res)))..(de
8060 66 75 6e 20 70 72 6f 6d 69 73 65 2d 2d 73 61 66 65 2d 74 68 65 6e 20 28 73 65 6c 66 20 6f 6e 2d fun.promise--safe-then.(self.on-
8080 66 75 6c 66 69 6c 6c 65 64 20 6f 6e 2d 72 65 6a 65 63 74 65 64 29 0a 20 20 28 6d 61 6b 65 2d 69 fulfilled.on-rejected)...(make-i
80a0 6e 73 74 61 6e 63 65 20 28 70 72 6f 6d 69 73 65 2d 2d 74 79 70 65 2d 6f 66 20 73 65 6c 66 29 0a nstance.(promise--type-of.self).
80c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 66 6e 20 28 6c 61 6d 62 64 61 20 28 72 65 .................:fn.(lambda.(re
80e0 73 6f 6c 76 65 20 72 65 6a 65 63 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 solve.reject)...................
8100 20 20 20 20 20 28 6c 65 74 20 28 28 72 65 73 20 28 70 72 6f 6d 69 73 65 2d 6e 65 77 20 23 27 69 .....(let.((res.(promise-new.#'i
8120 67 6e 6f 72 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 gnore)))........................
8140 20 20 28 70 72 6f 6d 69 73 65 2d 74 68 65 6e 20 72 65 73 20 72 65 73 6f 6c 76 65 20 72 65 6a 65 ..(promise-then.res.resolve.reje
8160 63 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 ct)..........................(pr
8180 6f 6d 69 73 65 2d 2d 68 61 6e 64 6c 65 20 73 65 6c 66 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 omise--handle.self..............
81a0 20 20 20 20 20 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 .............................(pr
81c0 6f 6d 69 73 65 2d 2d 68 61 6e 64 6c 65 72 2d 6e 65 77 20 6f 6e 2d 66 75 6c 66 69 6c 6c 65 64 0a omise--handler-new.on-fulfilled.
81e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
8200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
8220 6f 6e 2d 72 65 6a 65 63 74 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 on-rejected.....................
8240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
8260 20 20 20 20 20 20 20 20 20 20 20 20 72 65 73 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 ............res))))))..(defun.pr
8280 6f 6d 69 73 65 2d 2d 68 61 6e 64 6c 65 20 28 73 65 6c 66 20 64 65 66 65 72 72 65 64 29 0a 20 20 omise--handle.(self.deferred)...
82a0 28 77 68 69 6c 65 20 28 3d 20 28 70 72 6f 6d 69 73 65 2d 5f 73 74 61 74 65 20 73 65 6c 66 29 20 (while.(=.(promise-_state.self).
82c0 33 29 0a 20 20 20 20 28 73 65 74 66 20 73 65 6c 66 20 28 70 72 6f 6d 69 73 65 2d 5f 76 61 6c 75 3).....(setf.self.(promise-_valu
82e0 65 20 73 65 6c 66 29 29 29 0a 20 20 28 77 68 65 6e 20 70 72 6f 6d 69 73 65 2d 2d 6f 6e 2d 68 61 e.self)))...(when.promise--on-ha
8300 6e 64 6c 65 0a 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 70 72 6f 6d 69 73 65 2d 2d 6f 6e 2d 68 61 ndle.....(funcall.promise--on-ha
8320 6e 64 6c 65 20 73 65 6c 66 29 29 0a 20 20 28 69 66 20 28 3d 20 28 70 72 6f 6d 69 73 65 2d 5f 73 ndle.self))...(if.(=.(promise-_s
8340 74 61 74 65 20 73 65 6c 66 29 20 30 29 0a 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 tate.self).0).......(cond.......
8360 20 28 28 3d 20 28 70 72 6f 6d 69 73 65 2d 5f 64 65 66 65 72 72 65 64 2d 73 74 61 74 65 20 73 65 .((=.(promise-_deferred-state.se
8380 6c 66 29 20 30 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 66 20 28 70 72 6f 6d 69 73 65 2d 5f 64 lf).0).........(setf.(promise-_d
83a0 65 66 65 72 72 65 64 2d 73 74 61 74 65 20 73 65 6c 66 29 20 31 0a 20 20 20 20 20 20 20 20 20 20 eferred-state.self).1...........
83c0 20 20 20 20 28 70 72 6f 6d 69 73 65 2d 5f 64 65 66 65 72 72 65 64 73 20 73 65 6c 66 29 20 64 65 ....(promise-_deferreds.self).de
83e0 66 65 72 72 65 64 29 29 0a 20 20 20 20 20 20 20 28 28 3d 20 28 70 72 6f 6d 69 73 65 2d 5f 64 65 ferred))........((=.(promise-_de
8400 66 65 72 72 65 64 2d 73 74 61 74 65 20 73 65 6c 66 29 20 31 29 0a 20 20 20 20 20 20 20 20 28 73 ferred-state.self).1).........(s
8420 65 74 66 20 28 70 72 6f 6d 69 73 65 2d 5f 64 65 66 65 72 72 65 64 2d 73 74 61 74 65 20 73 65 6c etf.(promise-_deferred-state.sel
8440 66 29 20 32 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 6d 69 73 65 2d 5f 64 65 66 f).2...............(promise-_def
8460 65 72 72 65 64 73 20 73 65 6c 66 29 20 28 6c 69 73 74 20 28 70 72 6f 6d 69 73 65 2d 5f 64 65 66 erreds.self).(list.(promise-_def
8480 65 72 72 65 64 73 20 73 65 6c 66 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 erreds.self)....................
84a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66 65 72 ...........................defer
84c0 72 65 64 29 29 29 0a 20 20 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 20 20 28 73 65 74 66 20 28 red)))........(t.........(setf.(
84e0 70 72 6f 6d 69 73 65 2d 5f 64 65 66 65 72 72 65 64 73 20 73 65 6c 66 29 20 28 6e 63 6f 6e 63 20 promise-_deferreds.self).(nconc.
8500 28 70 72 6f 6d 69 73 65 2d 5f 64 65 66 65 72 72 65 64 73 20 73 65 6c 66 29 0a 20 20 20 20 20 20 (promise-_deferreds.self).......
8520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
8540 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 64 65 66 65 72 72 65 64 29 29 29 29 29 0a 20 20 20 .........(list.deferred)))))....
8560 20 28 70 72 6f 6d 69 73 65 2d 2d 68 61 6e 64 6c 65 2d 72 65 73 6f 6c 76 65 64 20 73 65 6c 66 20 .(promise--handle-resolved.self.
8580 64 65 66 65 72 72 65 64 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6d 69 73 65 2d 2d 68 61 6e deferred)))..(defun.promise--han
85a0 64 6c 65 2d 72 65 73 6f 6c 76 65 64 20 28 73 65 6c 66 20 64 65 66 65 72 72 65 64 29 0a 20 20 28 dle-resolved.(self.deferred)...(
85c0 70 72 6f 6d 69 73 65 2d 2d 61 73 61 70 0a 20 20 20 28 6c 61 6d 62 64 61 20 28 29 0a 20 20 20 20 promise--asap....(lambda.().....
85e0 20 28 6c 65 74 2d 61 6c 69 73 74 20 64 65 66 65 72 72 65 64 0a 20 20 20 20 20 20 20 28 6c 65 74 .(let-alist.deferred........(let
8600 20 28 28 63 62 20 28 69 66 20 28 3d 20 28 70 72 6f 6d 69 73 65 2d 5f 73 74 61 74 65 20 73 65 6c .((cb.(if.(=.(promise-_state.sel
8620 66 29 20 31 29 20 2e 6f 6e 2d 66 75 6c 66 69 6c 6c 65 64 20 2e 6f 6e 2d 72 65 6a 65 63 74 65 64 f).1)..on-fulfilled..on-rejected
8640 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 69 66 20 28 6e 6f 74 20 63 62 29 0a 20 20 20 20 20 20 )))..........(if.(not.cb).......
8660 20 20 20 20 20 20 20 28 69 66 20 28 3d 20 28 70 72 6f 6d 69 73 65 2d 5f 73 74 61 74 65 20 73 65 .......(if.(=.(promise-_state.se
8680 6c 66 29 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 6d 69 73 65 lf).1)..................(promise
86a0 2d 2d 72 65 73 6f 6c 76 65 20 2e 70 72 6f 6d 69 73 65 20 28 70 72 6f 6d 69 73 65 2d 5f 76 61 6c --resolve..promise.(promise-_val
86c0 75 65 20 73 65 6c 66 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 6d 69 73 ue.self))................(promis
86e0 65 2d 2d 72 65 6a 65 63 74 20 2e 70 72 6f 6d 69 73 65 20 28 70 72 6f 6d 69 73 65 2d 5f 76 61 6c e--reject..promise.(promise-_val
8700 75 65 20 73 65 6c 66 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 72 65 74 ue.self)))............(let.((ret
8720 20 28 70 72 6f 6d 69 73 65 2d 2d 74 72 79 2d 63 61 6c 6c 2d 6f 6e 65 20 63 62 20 28 70 72 6f 6d .(promise--try-call-one.cb.(prom
8740 69 73 65 2d 5f 76 61 6c 75 65 20 73 65 6c 66 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ise-_value.self)))).............
8760 20 28 69 66 20 28 65 71 20 72 65 74 20 70 72 6f 6d 69 73 65 2d 2d 69 73 2d 65 72 72 6f 72 29 0a .(if.(eq.ret.promise--is-error).
8780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 6d 69 73 65 2d 2d 72 65 6a 65 63 .................(promise--rejec
87a0 74 20 2e 70 72 6f 6d 69 73 65 20 70 72 6f 6d 69 73 65 2d 2d 6c 61 73 74 2d 65 72 72 6f 72 29 0a t..promise.promise--last-error).
87c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 6d 69 73 65 2d 2d 72 65 73 6f 6c 76 65 ...............(promise--resolve
87e0 20 2e 70 72 6f 6d 69 73 65 20 72 65 74 29 29 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 ..promise.ret)))))))))..(defun.p
8800 72 6f 6d 69 73 65 2d 2d 72 65 73 6f 6c 76 65 20 28 73 65 6c 66 20 6e 65 77 2d 76 61 6c 75 65 29 romise--resolve.(self.new-value)
8820 0a 20 20 22 50 72 6f 6d 69 73 65 20 52 65 73 6f 6c 75 74 69 6f 6e 20 50 72 6f 63 65 64 75 72 65 ..."Promise.Resolution.Procedure
8840 2e 0a 53 65 65 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 70 72 6f 6d 69 73 ..See:.https://github.com/promis
8860 65 73 2d 61 70 6c 75 73 2f 70 72 6f 6d 69 73 65 73 2d 73 70 65 63 23 74 68 65 2d 70 72 6f 6d 69 es-aplus/promises-spec#the-promi
8880 73 65 2d 72 65 73 6f 6c 75 74 69 6f 6e 2d 70 72 6f 63 65 64 75 72 65 22 0a 20 20 28 63 6c 2d 62 se-resolution-procedure"...(cl-b
88a0 6c 6f 63 6b 20 6e 69 6c 0a 20 20 20 20 28 77 68 65 6e 20 28 65 71 20 6e 65 77 2d 76 61 6c 75 65 lock.nil.....(when.(eq.new-value
88c0 20 73 65 6c 66 29 0a 20 20 20 20 20 20 28 63 6c 2d 72 65 74 75 72 6e 20 28 70 72 6f 6d 69 73 65 .self).......(cl-return.(promise
88e0 2d 2d 72 65 6a 65 63 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 0a --reject...................self.
8900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 28 77 72 6f 6e 67 2d 74 79 70 65 2d 61 ..................'(wrong-type-a
8920 72 67 75 6d 65 6e 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 41 20 70 rgument....................."A.p
8940 72 6f 6d 69 73 65 20 63 61 6e 6e 6f 74 20 62 65 20 72 65 73 6f 6c 76 65 64 20 77 69 74 68 20 69 romise.cannot.be.resolved.with.i
8960 74 73 65 6c 66 2e 22 29 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 20 6e 65 77 2d 76 tself.")))).....(when.(and.new-v
8980 61 6c 75 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 6d 69 73 65 2d 2d 69 73 alue................(promise--is
89a0 2d 6f 62 6a 65 63 74 20 6e 65 77 2d 76 61 6c 75 65 29 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 -object.new-value)).......(let.(
89c0 28 74 68 65 6e 20 28 70 72 6f 6d 69 73 65 2d 2d 67 65 74 2d 74 68 65 6e 20 6e 65 77 2d 76 61 6c (then.(promise--get-then.new-val
89e0 75 65 29 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 65 71 20 74 68 65 6e 20 70 72 6f ue))).........(when.(eq.then.pro
8a00 6d 69 73 65 2d 2d 69 73 2d 65 72 72 6f 72 29 0a 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 72 65 mise--is-error)...........(cl-re
8a20 74 75 72 6e 20 28 70 72 6f 6d 69 73 65 2d 2d 72 65 6a 65 63 74 20 73 65 6c 66 20 70 72 6f 6d 69 turn.(promise--reject.self.promi
8a40 73 65 2d 2d 6c 61 73 74 2d 65 72 72 6f 72 29 29 29 0a 20 20 20 20 20 20 20 20 28 63 6f 6e 64 0a se--last-error))).........(cond.
8a60 20 20 20 20 20 20 20 20 20 28 28 61 6e 64 20 28 65 71 20 74 68 65 6e 20 28 69 67 6e 6f 72 65 2d .........((and.(eq.then.(ignore-
8a80 65 72 72 6f 72 73 20 28 70 72 6f 6d 69 73 65 2d 2d 66 69 6e 64 2d 74 68 65 6e 2d 66 75 6e 63 74 errors.(promise--find-then-funct
8aa0 69 6f 6e 20 73 65 6c 66 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 6d ion.self)))................(prom
8ac0 69 73 65 2d 63 6c 61 73 73 2d 70 20 6e 65 77 2d 76 61 6c 75 65 29 29 0a 20 20 20 20 20 20 20 20 ise-class-p.new-value)).........
8ae0 20 20 28 73 65 74 66 20 28 70 72 6f 6d 69 73 65 2d 5f 73 74 61 74 65 20 73 65 6c 66 29 20 33 0a ..(setf.(promise-_state.self).3.
8b00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 6d 69 73 65 2d 5f 76 61 6c 75 65 20 ................(promise-_value.
8b20 73 65 6c 66 29 20 6e 65 77 2d 76 61 6c 75 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 6d self).new-value)...........(prom
8b40 69 73 65 2d 2d 66 69 6e 61 6c 65 20 73 65 6c 66 29 0a 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d ise--finale.self)...........(cl-
8b60 72 65 74 75 72 6e 29 29 0a 20 20 20 20 20 20 20 20 20 28 28 66 75 6e 63 74 69 6f 6e 70 20 74 68 return))..........((functionp.th
8b80 65 6e 29 0a 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 6d 69 73 65 2d 2d 64 6f 2d 72 65 73 6f 6c en)...........(promise--do-resol
8ba0 76 65 20 28 6c 61 6d 62 64 61 20 28 72 65 73 6f 6c 76 65 20 72 65 6a 65 63 74 29 0a 20 20 20 20 ve.(lambda.(resolve.reject).....
8bc0 20 20 20 20 20 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 .............................(pr
8be0 6f 6d 69 73 65 2d 74 68 65 6e 20 6e 65 77 2d 76 61 6c 75 65 20 72 65 73 6f 6c 76 65 20 72 65 6a omise-then.new-value.resolve.rej
8c00 65 63 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ect))...........................
8c20 20 20 20 20 20 73 65 6c 66 29 0a 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 72 65 74 75 72 6e 29 .....self)...........(cl-return)
8c40 29 29 29 29 0a 20 20 20 20 28 73 65 74 66 20 28 70 72 6f 6d 69 73 65 2d 5f 73 74 61 74 65 20 73 )))).....(setf.(promise-_state.s
8c60 65 6c 66 29 20 31 0a 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 6d 69 73 65 2d 5f 76 61 6c 75 65 elf).1...........(promise-_value
8c80 20 73 65 6c 66 29 20 6e 65 77 2d 76 61 6c 75 65 29 0a 20 20 20 20 28 70 72 6f 6d 69 73 65 2d 2d .self).new-value).....(promise--
8ca0 66 69 6e 61 6c 65 20 73 65 6c 66 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6d 69 73 65 2d 2d finale.self)))..(defun.promise--
8cc0 72 65 6a 65 63 74 20 28 73 65 6c 66 20 6e 65 77 2d 76 61 6c 75 65 29 0a 20 20 28 73 65 74 66 20 reject.(self.new-value)...(setf.
8ce0 28 70 72 6f 6d 69 73 65 2d 5f 73 74 61 74 65 20 73 65 6c 66 29 20 32 0a 20 20 20 20 20 20 20 20 (promise-_state.self).2.........
8d00 28 70 72 6f 6d 69 73 65 2d 5f 76 61 6c 75 65 20 73 65 6c 66 29 20 6e 65 77 2d 76 61 6c 75 65 29 (promise-_value.self).new-value)
8d20 0a 20 20 28 77 68 65 6e 20 70 72 6f 6d 69 73 65 2d 2d 6f 6e 2d 72 65 6a 65 63 74 0a 20 20 20 20 ...(when.promise--on-reject.....
8d40 28 66 75 6e 63 61 6c 6c 20 70 72 6f 6d 69 73 65 2d 2d 6f 6e 2d 72 65 6a 65 63 74 20 73 65 6c 66 (funcall.promise--on-reject.self
8d60 20 6e 65 77 2d 76 61 6c 75 65 29 29 0a 20 20 28 70 72 6f 6d 69 73 65 2d 2d 66 69 6e 61 6c 65 20 .new-value))...(promise--finale.
8d80 73 65 6c 66 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6d 69 73 65 2d 2d 66 69 6e 61 6c 65 20 28 self))..(defun.promise--finale.(
8da0 73 65 6c 66 29 0a 20 20 28 77 68 65 6e 20 28 3d 20 28 70 72 6f 6d 69 73 65 2d 5f 64 65 66 65 72 self)...(when.(=.(promise-_defer
8dc0 72 65 64 2d 73 74 61 74 65 20 73 65 6c 66 29 20 31 29 0a 20 20 20 20 28 70 72 6f 6d 69 73 65 2d red-state.self).1).....(promise-
8de0 2d 68 61 6e 64 6c 65 20 73 65 6c 66 20 28 70 72 6f 6d 69 73 65 2d 5f 64 65 66 65 72 72 65 64 73 -handle.self.(promise-_deferreds
8e00 20 73 65 6c 66 29 29 0a 20 20 20 20 28 73 65 74 66 20 28 70 72 6f 6d 69 73 65 2d 5f 64 65 66 65 .self)).....(setf.(promise-_defe
8e20 72 72 65 64 73 20 73 65 6c 66 29 20 6e 69 6c 29 29 0a 20 20 28 77 68 65 6e 20 28 3d 20 28 70 72 rreds.self).nil))...(when.(=.(pr
8e40 6f 6d 69 73 65 2d 5f 64 65 66 65 72 72 65 64 2d 73 74 61 74 65 20 73 65 6c 66 29 20 32 29 0a 20 omise-_deferred-state.self).2)..
8e60 20 20 20 28 64 6f 6c 69 73 74 20 28 64 65 66 65 72 72 65 64 20 28 70 72 6f 6d 69 73 65 2d 5f 64 ...(dolist.(deferred.(promise-_d
8e80 65 66 65 72 72 65 64 73 20 73 65 6c 66 29 29 0a 20 20 20 20 20 20 28 70 72 6f 6d 69 73 65 2d 2d eferreds.self)).......(promise--
8ea0 68 61 6e 64 6c 65 20 73 65 6c 66 20 64 65 66 65 72 72 65 64 29 29 0a 20 20 20 20 28 73 65 74 66 handle.self.deferred)).....(setf
8ec0 20 28 70 72 6f 6d 69 73 65 2d 5f 64 65 66 65 72 72 65 64 73 20 73 65 6c 66 29 20 6e 69 6c 29 29 .(promise-_deferreds.self).nil))
8ee0 0a 20 20 6e 69 6c 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6d 69 73 65 2d 2d 68 61 6e 64 6c 65 72 ...nil)..(defun.promise--handler
8f00 2d 6e 65 77 20 28 6f 6e 2d 66 75 6c 66 69 6c 6c 65 64 20 6f 6e 2d 72 65 6a 65 63 74 65 64 20 70 -new.(on-fulfilled.on-rejected.p
8f20 72 6f 6d 69 73 65 29 0a 20 20 60 28 28 6f 6e 2d 66 75 6c 66 69 6c 6c 65 64 20 2e 20 2c 28 61 6e romise)...`((on-fulfilled...,(an
8f40 64 20 28 66 75 6e 63 74 69 6f 6e 70 20 6f 6e 2d 66 75 6c 66 69 6c 6c 65 64 29 20 6f 6e 2d 66 75 d.(functionp.on-fulfilled).on-fu
8f60 6c 66 69 6c 6c 65 64 29 29 0a 20 20 20 20 28 6f 6e 2d 72 65 6a 65 63 74 65 64 20 2e 20 2c 28 61 lfilled)).....(on-rejected...,(a
8f80 6e 64 20 28 66 75 6e 63 74 69 6f 6e 70 20 6f 6e 2d 72 65 6a 65 63 74 65 64 29 20 6f 6e 2d 72 65 nd.(functionp.on-rejected).on-re
8fa0 6a 65 63 74 65 64 29 29 0a 20 20 20 20 28 70 72 6f 6d 69 73 65 20 2e 20 2c 70 72 6f 6d 69 73 65 jected)).....(promise...,promise
8fc0 29 29 29 0a 0a 3b 3b 20 54 61 6b 65 20 61 20 70 6f 74 65 6e 74 69 61 6c 6c 79 20 6d 69 73 62 65 )))..;;.Take.a.potentially.misbe
8fe0 68 61 76 69 6e 67 20 72 65 73 6f 6c 76 65 72 20 66 75 6e 63 74 69 6f 6e 20 61 6e 64 20 6d 61 6b having.resolver.function.and.mak
9000 65 20 73 75 72 65 0a 3b 3b 20 6f 6e 46 75 6c 66 69 6c 6c 65 64 20 61 6e 64 20 6f 6e 52 65 6a 65 e.sure.;;.onFulfilled.and.onReje
9020 63 74 65 64 20 61 72 65 20 6f 6e 6c 79 20 63 61 6c 6c 65 64 20 6f 6e 63 65 2e 0a 3b 3b 0a 3b 3b cted.are.only.called.once..;;.;;
9040 20 4d 61 6b 65 73 20 6e 6f 20 67 75 61 72 61 6e 74 65 65 73 20 61 62 6f 75 74 20 61 73 79 6e 63 .Makes.no.guarantees.about.async
9060 68 72 6f 6e 79 2e 0a 28 64 65 66 75 6e 20 70 72 6f 6d 69 73 65 2d 2d 64 6f 2d 72 65 73 6f 6c 76 hrony..(defun.promise--do-resolv
9080 65 20 28 66 6e 20 70 72 6f 6d 69 73 65 29 0a 20 20 28 6c 65 74 2a 20 28 28 64 6f 6e 65 20 6e 69 e.(fn.promise)...(let*.((done.ni
90a0 6c 29 0a 20 20 20 20 20 20 20 20 20 28 72 65 73 20 28 70 72 6f 6d 69 73 65 2d 2d 74 72 79 2d 63 l)..........(res.(promise--try-c
90c0 61 6c 6c 2d 74 77 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6e 0a 20 20 20 20 20 20 all-two................fn.......
90e0 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 26 6f 70 74 69 6f 6e 61 6c 20 76 61 6c 75 .........(lambda.(&optional.valu
9100 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 64 6f 6e 65 e)..................(unless.done
9120 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 66 20 64 6f 6e 65 20 74 ....................(setf.done.t
9140 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 6d 69 73 65 2d 2d 72 )....................(promise--r
9160 65 73 6f 6c 76 65 20 70 72 6f 6d 69 73 65 20 76 61 6c 75 65 29 29 29 0a 20 20 20 20 20 20 20 20 esolve.promise.value))).........
9180 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 26 6f 70 74 69 6f 6e 61 6c 20 72 65 61 73 6f 6e .......(lambda.(&optional.reason
91a0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 64 6f 6e 65 0a )..................(unless.done.
91c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 66 20 64 6f 6e 65 20 74 29 ...................(setf.done.t)
91e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 6d 69 73 65 2d 2d 72 65 ....................(promise--re
9200 6a 65 63 74 20 70 72 6f 6d 69 73 65 20 72 65 61 73 6f 6e 29 29 29 29 29 29 0a 20 20 20 20 28 77 ject.promise.reason)))))).....(w
9220 68 65 6e 20 28 61 6e 64 20 28 6e 6f 74 20 64 6f 6e 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 hen.(and.(not.done).............
9240 20 20 20 28 65 71 20 72 65 73 20 70 72 6f 6d 69 73 65 2d 2d 69 73 2d 65 72 72 6f 72 29 29 0a 20 ...(eq.res.promise--is-error))..
9260 20 20 20 20 20 28 73 65 74 66 20 64 6f 6e 65 20 74 29 0a 20 20 20 20 20 20 28 70 72 6f 6d 69 73 .....(setf.done.t).......(promis
9280 65 2d 2d 72 65 6a 65 63 74 20 70 72 6f 6d 69 73 65 20 70 72 6f 6d 69 73 65 2d 2d 6c 61 73 74 2d e--reject.promise.promise--last-
92a0 65 72 72 6f 72 29 29 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 70 72 6f 6d 69 73 65 2d 63 6f 72 error))))..(provide.'promise-cor
92c0 65 29 0a 3b 3b 3b 20 70 72 6f 6d 69 73 65 2d 63 6f 72 65 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 e).;;;.promise-core.el.ends.here
92e0 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
93a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
93c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
93e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9400 70 72 6f 6d 69 73 65 2d 32 30 32 31 30 33 30 37 2e 37 32 37 2f 70 72 6f 6d 69 73 65 2d 72 65 6a promise-20210307.727/promise-rej
9420 65 63 74 69 6f 6e 2d 74 72 61 63 6b 69 6e 67 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ection-tracking.el..............
9440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9460 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
9480 30 30 31 35 34 36 34 00 30 30 30 30 30 30 30 30 30 30 30 00 30 32 30 31 37 37 00 20 30 00 00 00 0015464.00000000000.020177..0...
94a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
94c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
94e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9500 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...................
9520 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...................
9540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
95a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
95c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
95e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9600 3b 3b 3b 20 70 72 6f 6d 69 73 65 2d 72 65 6a 65 63 74 69 6f 6e 2d 74 72 61 63 6b 69 6e 67 2e 65 ;;;.promise-rejection-tracking.e
9620 6c 20 2d 2d 2d 20 50 6f 72 74 69 6e 67 20 72 65 6a 65 63 74 69 6f 6e 2d 74 72 61 63 6b 69 6e 67 l.---.Porting.rejection-tracking
9640 2e 6a 73 20 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 69 6e 64 69 6e 67 3a 20 74 3b 20 2d 2a 2d .js..-*-.lexical-binding:.t;.-*-
9660 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 31 36 2d 32 30 31 37 20 20 63 68 ..;;.Copyright.(C).2016-2017..ch
9680 75 6e 74 61 72 6f 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 63 68 75 6e 74 61 72 6f 20 3c 63 68 75 untaro..;;.Author:.chuntaro.<chu
96a0 6e 74 61 72 6f 40 73 61 6b 75 72 61 2d 67 61 6d 65 73 2e 6a 70 3e 0a 3b 3b 20 55 52 4c 3a 20 68 ntaro@sakura-games.jp>.;;.URL:.h
96c0 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 63 68 75 6e 74 61 72 6f 2f 65 6d 61 63 73 ttps://github.com/chuntaro/emacs
96e0 2d 70 72 6f 6d 69 73 65 0a 3b 3b 20 4b 65 79 77 6f 72 64 73 3a 20 61 73 79 6e 63 20 70 72 6f 6d -promise.;;.Keywords:.async.prom
9700 69 73 65 20 63 6f 6e 76 65 6e 69 65 6e 63 65 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d ise.convenience..;;.This.program
9720 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 65 64 69 73 .is.free.software;.you.can.redis
9740 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 69 74 20 75 tribute.it.and/or.modify.;;.it.u
9760 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 6e 65 72 61 nder.the.terms.of.the.GNU.Genera
9780 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 64 20 62 79 l.Public.License.as.published.by
97a0 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 74 69 6f 6e .;;.the.Free.Software.Foundation
97c0 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 63 65 6e 73 ,.either.version.3.of.the.Licens
97e0 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 79 20 6c 61 e,.or.;;.(at.your.option).any.la
9800 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 6d 20 69 73 ter.version...;;.This.program.is
9820 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 .distributed.in.the.hope.that.it
9840 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 4f 55 54 20 .will.be.useful,.;;.but.WITHOUT.
9860 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 68 65 20 69 ANY.WARRANTY;.without.even.the.i
9880 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 4e 54 41 42 mplied.warranty.of.;;.MERCHANTAB
98a0 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 43 55 4c 41 ILITY.or.FITNESS.FOR.A.PARTICULA
98c0 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 65 6e 65 72 R.PURPOSE...See.the.;;.GNU.Gener
98e0 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 65 74 61 69 al.Public.License.for.more.detai
9900 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 69 76 65 64 ls...;;.You.should.have.received
9920 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 75 62 6c 69 .a.copy.of.the.GNU.General.Publi
9940 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 20 70 72 6f c.License.;;.along.with.this.pro
9960 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 77 77 2e 67 gram...If.not,.see.<http://www.g
9980 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 0a 3b 3b 20 54 68 65 20 6f 72 69 67 69 nu.org/licenses/>...;;.The.origi
99a0 6e 61 6c 20 4a 61 76 61 53 63 72 69 70 74 20 63 6f 64 65 20 69 73 3a 0a 3b 3b 0a 3b 3b 20 43 6f nal.JavaScript.code.is:.;;.;;.Co
99c0 70 79 72 69 67 68 74 20 28 63 29 20 32 30 31 34 20 46 6f 72 62 65 73 20 4c 69 6e 64 65 73 61 79 pyright.(c).2014.Forbes.Lindesay
99e0 0a 3b 3b 0a 3b 3b 20 50 65 72 6d 69 73 73 69 6f 6e 20 69 73 20 68 65 72 65 62 79 20 67 72 61 6e .;;.;;.Permission.is.hereby.gran
9a00 74 65 64 2c 20 66 72 65 65 20 6f 66 20 63 68 61 72 67 65 2c 20 74 6f 20 61 6e 79 20 70 65 72 73 ted,.free.of.charge,.to.any.pers
9a20 6f 6e 20 6f 62 74 61 69 6e 69 6e 67 20 61 20 63 6f 70 79 0a 3b 3b 20 6f 66 20 74 68 69 73 20 73 on.obtaining.a.copy.;;.of.this.s
9a40 6f 66 74 77 61 72 65 20 61 6e 64 20 61 73 73 6f 63 69 61 74 65 64 20 64 6f 63 75 6d 65 6e 74 61 oftware.and.associated.documenta
9a60 74 69 6f 6e 20 66 69 6c 65 73 20 28 74 68 65 20 22 53 6f 66 74 77 61 72 65 22 29 2c 20 74 6f 20 tion.files.(the."Software"),.to.
9a80 64 65 61 6c 0a 3b 3b 20 69 6e 20 74 68 65 20 53 6f 66 74 77 61 72 65 20 77 69 74 68 6f 75 74 20 deal.;;.in.the.Software.without.
9aa0 72 65 73 74 72 69 63 74 69 6f 6e 2c 20 69 6e 63 6c 75 64 69 6e 67 20 77 69 74 68 6f 75 74 20 6c restriction,.including.without.l
9ac0 69 6d 69 74 61 74 69 6f 6e 20 74 68 65 20 72 69 67 68 74 73 0a 3b 3b 20 74 6f 20 75 73 65 2c 20 imitation.the.rights.;;.to.use,.
9ae0 63 6f 70 79 2c 20 6d 6f 64 69 66 79 2c 20 6d 65 72 67 65 2c 20 70 75 62 6c 69 73 68 2c 20 64 69 copy,.modify,.merge,.publish,.di
9b00 73 74 72 69 62 75 74 65 2c 20 73 75 62 6c 69 63 65 6e 73 65 2c 20 61 6e 64 2f 6f 72 20 73 65 6c stribute,.sublicense,.and/or.sel
9b20 6c 0a 3b 3b 20 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2c 20 61 6e 64 l.;;.copies.of.the.Software,.and
9b40 20 74 6f 20 70 65 72 6d 69 74 20 70 65 72 73 6f 6e 73 20 74 6f 20 77 68 6f 6d 20 74 68 65 20 53 .to.permit.persons.to.whom.the.S
9b60 6f 66 74 77 61 72 65 20 69 73 0a 3b 3b 20 66 75 72 6e 69 73 68 65 64 20 74 6f 20 64 6f 20 73 6f oftware.is.;;.furnished.to.do.so
9b80 2c 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6e 64 69 ,.subject.to.the.following.condi
9ba0 74 69 6f 6e 73 3a 0a 3b 3b 0a 3b 3b 20 54 68 65 20 61 62 6f 76 65 20 63 6f 70 79 72 69 67 68 74 tions:.;;.;;.The.above.copyright
9bc0 20 6e 6f 74 69 63 65 20 61 6e 64 20 74 68 69 73 20 70 65 72 6d 69 73 73 69 6f 6e 20 6e 6f 74 69 .notice.and.this.permission.noti
9be0 63 65 20 73 68 61 6c 6c 20 62 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 0a 3b 3b 20 61 6c 6c 20 63 ce.shall.be.included.in.;;.all.c
9c00 6f 70 69 65 73 20 6f 72 20 73 75 62 73 74 61 6e 74 69 61 6c 20 70 6f 72 74 69 6f 6e 73 20 6f 66 opies.or.substantial.portions.of
9c20 20 74 68 65 20 53 6f 66 74 77 61 72 65 2e 0a 3b 3b 0a 3b 3b 20 54 48 45 20 53 4f 46 54 57 41 52 .the.Software..;;.;;.THE.SOFTWAR
9c40 45 20 49 53 20 50 52 4f 56 49 44 45 44 20 22 41 53 20 49 53 22 2c 20 57 49 54 48 4f 55 54 20 57 E.IS.PROVIDED."AS.IS",.WITHOUT.W
9c60 41 52 52 41 4e 54 59 20 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 45 58 50 52 45 53 53 20 4f 52 0a ARRANTY.OF.ANY.KIND,.EXPRESS.OR.
9c80 3b 3b 20 49 4d 50 4c 49 45 44 2c 20 49 4e 43 4c 55 44 49 4e 47 20 42 55 54 20 4e 4f 54 20 4c 49 ;;.IMPLIED,.INCLUDING.BUT.NOT.LI
9ca0 4d 49 54 45 44 20 54 4f 20 54 48 45 20 57 41 52 52 41 4e 54 49 45 53 20 4f 46 20 4d 45 52 43 48 MITED.TO.THE.WARRANTIES.OF.MERCH
9cc0 41 4e 54 41 42 49 4c 49 54 59 2c 0a 3b 3b 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 ANTABILITY,.;;.FITNESS.FOR.A.PAR
9ce0 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 20 41 4e 44 20 4e 4f 4e 49 4e 46 52 49 4e 47 45 4d TICULAR.PURPOSE.AND.NONINFRINGEM
9d00 45 4e 54 2e 20 49 4e 20 4e 4f 20 45 56 45 4e 54 20 53 48 41 4c 4c 20 54 48 45 0a 3b 3b 20 41 55 ENT..IN.NO.EVENT.SHALL.THE.;;.AU
9d20 54 48 4f 52 53 20 4f 52 20 43 4f 50 59 52 49 47 48 54 20 48 4f 4c 44 45 52 53 20 42 45 20 4c 49 THORS.OR.COPYRIGHT.HOLDERS.BE.LI
9d40 41 42 4c 45 20 46 4f 52 20 41 4e 59 20 43 4c 41 49 4d 2c 20 44 41 4d 41 47 45 53 20 4f 52 20 4f ABLE.FOR.ANY.CLAIM,.DAMAGES.OR.O
9d60 54 48 45 52 0a 3b 3b 20 4c 49 41 42 49 4c 49 54 59 2c 20 57 48 45 54 48 45 52 20 49 4e 20 41 4e THER.;;.LIABILITY,.WHETHER.IN.AN
9d80 20 41 43 54 49 4f 4e 20 4f 46 20 43 4f 4e 54 52 41 43 54 2c 20 54 4f 52 54 20 4f 52 20 4f 54 48 .ACTION.OF.CONTRACT,.TORT.OR.OTH
9da0 45 52 57 49 53 45 2c 20 41 52 49 53 49 4e 47 20 46 52 4f 4d 2c 0a 3b 3b 20 4f 55 54 20 4f 46 20 ERWISE,.ARISING.FROM,.;;.OUT.OF.
9dc0 4f 52 20 49 4e 20 43 4f 4e 4e 45 43 54 49 4f 4e 20 57 49 54 48 20 54 48 45 20 53 4f 46 54 57 41 OR.IN.CONNECTION.WITH.THE.SOFTWA
9de0 52 45 20 4f 52 20 54 48 45 20 55 53 45 20 4f 52 20 4f 54 48 45 52 20 44 45 41 4c 49 4e 47 53 20 RE.OR.THE.USE.OR.OTHER.DEALINGS.
9e00 49 4e 0a 3b 3b 20 54 48 45 20 53 4f 46 54 57 41 52 45 2e 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 IN.;;.THE.SOFTWARE...;;;.Comment
9e20 61 72 79 3a 0a 0a 3b 3b 20 54 68 69 73 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 70 6f 72 ary:..;;.This.implementation.por
9e40 74 65 64 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e ted.the.following.implementation
9e60 20 66 61 69 74 68 66 75 6c 6c 79 2e 0a 3b 3b 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 .faithfully..;;.https://github.c
9e80 6f 6d 2f 74 68 65 6e 2f 70 72 6f 6d 69 73 65 2f 62 6c 6f 62 2f 6d 61 73 74 65 72 2f 73 72 63 2f om/then/promise/blob/master/src/
9ea0 72 65 6a 65 63 74 69 6f 6e 2d 74 72 61 63 6b 69 6e 67 2e 6a 73 0a 0a 3b 3b 20 54 4f 44 4f 3a 20 rejection-tracking.js..;;.TODO:.
9ec0 44 69 73 70 6c 61 79 20 65 61 73 79 2d 74 6f 2d 72 65 61 64 20 62 61 63 6b 74 72 61 63 65 0a 0a Display.easy-to-read.backtrace..
9ee0 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 28 72 65 71 75 69 72 65 20 27 70 72 6f 6d 69 73 65 2d 63 6f 72 ;;;.Code:..(require.'promise-cor
9f00 65 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6d 69 73 65 2d 2d 77 61 72 6e 20 28 6d 65 73 73 61 67 e)..(defun.promise--warn.(messag
9f20 65 20 26 72 65 73 74 20 61 72 67 73 29 0a 20 20 28 64 69 73 70 6c 61 79 2d 77 61 72 6e 69 6e 67 e.&rest.args)...(display-warning
9f40 20 27 70 72 6f 6d 69 73 65 20 28 61 70 70 6c 79 20 23 27 66 6f 72 6d 61 74 2d 6d 65 73 73 61 67 .'promise.(apply.#'format-messag
9f60 65 20 6d 65 73 73 61 67 65 20 61 72 67 73 29 29 29 0a 0a 28 64 65 66 76 61 72 20 70 72 6f 6d 69 e.message.args)))..(defvar.promi
9f80 73 65 2d 2d 64 65 66 61 75 6c 74 2d 77 68 69 74 65 6c 69 73 74 20 27 28 76 6f 69 64 2d 66 75 6e se--default-whitelist.'(void-fun
9fa0 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ction...........................
9fc0 20 20 20 20 20 20 20 20 20 20 20 76 6f 69 64 2d 76 61 72 69 61 62 6c 65 0a 20 20 20 20 20 20 20 ...........void-variable........
9fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 72 ..............................wr
a000 6f 6e 67 2d 74 79 70 65 2d 61 72 67 75 6d 65 6e 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ong-type-argument...............
a020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 72 67 73 2d 6f 75 74 2d .......................args-out-
a040 6f 66 2d 72 61 6e 67 65 29 29 0a 0a 28 64 65 66 76 61 72 20 70 72 6f 6d 69 73 65 2d 2d 65 6e 61 of-range))..(defvar.promise--ena
a060 62 6c 65 64 20 6e 69 6c 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6d 69 73 65 2d 72 65 6a 65 63 74 bled.nil)..(defun.promise-reject
a080 69 6f 6e 2d 74 72 61 63 6b 69 6e 67 2d 64 69 73 61 62 6c 65 20 28 29 0a 20 20 28 73 65 74 66 20 ion-tracking-disable.()...(setf.
a0a0 70 72 6f 6d 69 73 65 2d 2d 65 6e 61 62 6c 65 64 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 70 72 6f promise--enabled.nil.........pro
a0c0 6d 69 73 65 2d 2d 6f 6e 2d 68 61 6e 64 6c 65 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 70 72 6f 6d mise--on-handle.nil.........prom
a0e0 69 73 65 2d 2d 6f 6e 2d 72 65 6a 65 63 74 20 6e 69 6c 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f ise--on-reject.nil))..(defun.pro
a100 6d 69 73 65 2d 72 65 6a 65 63 74 69 6f 6e 2d 74 72 61 63 6b 69 6e 67 2d 65 6e 61 62 6c 65 20 28 mise-rejection-tracking-enable.(
a120 26 6f 70 74 69 6f 6e 61 6c 20 6f 70 74 69 6f 6e 73 29 0a 20 20 28 77 68 65 6e 20 70 72 6f 6d 69 &optional.options)...(when.promi
a140 73 65 2d 2d 65 6e 61 62 6c 65 64 20 28 70 72 6f 6d 69 73 65 2d 72 65 6a 65 63 74 69 6f 6e 2d 74 se--enabled.(promise-rejection-t
a160 72 61 63 6b 69 6e 67 2d 64 69 73 61 62 6c 65 29 29 0a 20 20 28 73 65 74 66 20 70 72 6f 6d 69 73 racking-disable))...(setf.promis
a180 65 2d 2d 65 6e 61 62 6c 65 64 20 74 29 0a 20 20 28 6c 65 74 20 28 28 69 64 20 2d 31 29 0a 20 20 e--enabled.t)...(let.((id.-1)...
a1a0 20 20 20 20 20 20 28 64 69 73 70 6c 61 79 2d 69 64 20 2d 31 29 0a 20 20 20 20 20 20 20 20 28 72 ......(display-id.-1).........(r
a1c0 65 6a 65 63 74 69 6f 6e 73 20 28 6d 61 6b 65 2d 68 61 73 68 2d 74 61 62 6c 65 29 29 29 0a 20 20 ejections.(make-hash-table)))...
a1e0 20 20 28 63 6c 2d 66 6c 65 74 2a 0a 20 20 20 20 20 20 20 20 28 28 72 65 6a 65 63 74 69 6f 6e 73 ..(cl-flet*.........((rejections
a200 20 28 69 64 20 73 79 6d 62 6f 6c 29 20 28 61 6c 69 73 74 2d 67 65 74 20 73 79 6d 62 6f 6c 20 28 .(id.symbol).(alist-get.symbol.(
a220 67 65 74 68 61 73 68 20 69 64 20 72 65 6a 65 63 74 69 6f 6e 73 29 29 29 0a 20 20 20 20 20 20 20 gethash.id.rejections)))........
a240 20 20 28 72 65 6a 65 63 74 69 6f 6e 73 2d 73 65 74 20 28 69 64 20 73 79 6d 62 6f 6c 20 76 61 6c ..(rejections-set.(id.symbol.val
a260 75 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 ue)..........................(se
a280 74 66 20 28 61 6c 69 73 74 2d 67 65 74 20 73 79 6d 62 6f 6c 20 28 67 65 74 68 61 73 68 20 69 64 tf.(alist-get.symbol.(gethash.id
a2a0 20 72 65 6a 65 63 74 69 6f 6e 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .rejections))...................
a2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 6f .............value))..........(o
a2e0 70 74 69 6f 6e 73 20 28 73 79 6d 29 20 28 61 6c 69 73 74 2d 67 65 74 20 73 79 6d 20 6f 70 74 69 ptions.(sym).(alist-get.sym.opti
a300 6f 6e 73 29 29 0a 0a 20 20 20 20 20 20 20 20 20 28 6f 6e 2d 75 6e 68 61 6e 64 6c 65 64 20 28 69 ons))...........(on-unhandled.(i
a320 64 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 77 68 65 6e 20 d)........................(when.
a340 28 6f 72 20 28 6f 70 74 69 6f 6e 73 20 27 61 6c 6c 2d 72 65 6a 65 63 74 69 6f 6e 73 29 0a 20 20 (or.(options.'all-rejections)...
a360 20 20 20 20 20 20 20 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 ...............................(
a380 70 72 6f 6d 69 73 65 2d 2d 6d 61 74 63 68 2d 77 68 69 74 65 6c 69 73 74 0a 20 20 20 20 20 20 20 promise--match-whitelist........
a3a0 20 20 20 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 72 65 6a 65 ...........................(reje
a3c0 63 74 69 6f 6e 73 20 69 64 20 27 65 72 72 6f 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ctions.id.'error)...............
a3e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 28 6f 70 74 69 6f 6e 73 ....................(or.(options
a400 20 27 77 68 69 74 65 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .'whitelist)....................
a420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 6f 6d 69 73 65 2d 2d 64 65 66 61 ...................promise--defa
a440 75 6c 74 2d 77 68 69 74 65 6c 69 73 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ult-whitelist)))................
a460 20 20 20 20 20 20 20 20 20 20 28 72 65 6a 65 63 74 69 6f 6e 73 2d 73 65 74 20 69 64 20 27 64 69 ..........(rejections-set.id.'di
a480 73 70 6c 61 79 2d 69 64 20 28 63 6c 2d 69 6e 63 66 20 64 69 73 70 6c 61 79 2d 69 64 29 29 0a 20 splay-id.(cl-incf.display-id))..
a4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 ........................(cond...
a4c0 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 28 6f 70 74 69 6f 6e ........................((option
a4e0 73 20 27 6f 6e 2d 75 6e 68 61 6e 64 6c 65 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 s.'on-unhandled)................
a500 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 6a 65 63 74 69 6f 6e 73 2d 73 65 74 20 69 64 20 27 ............(rejections-set.id.'
a520 6c 6f 67 67 65 64 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 logged.t).......................
a540 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 6f 70 74 69 6f 6e 73 20 27 6f 6e 2d 75 6e 68 61 6e .....(funcall.(options.'on-unhan
a560 64 6c 65 64 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 dled)...........................
a580 20 20 20 20 20 20 20 20 20 20 28 72 65 6a 65 63 74 69 6f 6e 73 20 69 64 20 27 64 69 73 70 6c 61 ..........(rejections.id.'displa
a5a0 79 2d 69 64 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 y-id)...........................
a5c0 20 20 20 20 20 20 20 20 20 20 28 72 65 6a 65 63 74 69 6f 6e 73 20 69 64 20 27 65 72 72 6f 72 29 ..........(rejections.id.'error)
a5e0 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 74 0a ))...........................(t.
a600 20 20 20 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 72 65 6a 65 ...........................(reje
a620 63 74 69 6f 6e 73 2d 73 65 74 20 69 64 20 27 6c 6f 67 67 65 64 20 74 29 0a 20 20 20 20 20 20 20 ctions-set.id.'logged.t)........
a640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 6d 69 73 65 2d 2d 6c 6f ....................(promise--lo
a660 67 2d 65 72 72 6f 72 20 28 72 65 6a 65 63 74 69 6f 6e 73 20 69 64 20 27 64 69 73 70 6c 61 79 2d g-error.(rejections.id.'display-
a680 69 64 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 id).............................
a6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 6a 65 63 74 69 6f 6e 73 20 69 ...................(rejections.i
a6c0 64 20 27 65 72 72 6f 72 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 6f 6e 2d 68 61 6e 64 d.'error))))))..........(on-hand
a6e0 6c 65 64 20 28 69 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 led.(id)......................(w
a700 68 65 6e 20 28 72 65 6a 65 63 74 69 6f 6e 73 20 69 64 20 27 6c 6f 67 67 65 64 29 0a 20 20 20 20 hen.(rejections.id.'logged).....
a720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 ...................(cond........
a740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 6f 70 74 69 6f 6e 73 20 27 6f 6e 2d 68 .................((options.'on-h
a760 61 6e 64 6c 65 64 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 andled).........................
a780 20 28 66 75 6e 63 61 6c 6c 20 28 6f 70 74 69 6f 6e 73 20 27 6f 6e 2d 68 61 6e 64 6c 65 64 29 0a .(funcall.(options.'on-handled).
a7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
a7c0 20 20 28 72 65 6a 65 63 74 69 6f 6e 73 20 69 64 20 27 64 69 73 70 6c 61 79 2d 69 64 29 0a 20 20 ..(rejections.id.'display-id)...
a7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
a800 28 72 65 6a 65 63 74 69 6f 6e 73 20 69 64 20 27 65 72 72 6f 72 29 29 29 0a 20 20 20 20 20 20 20 (rejections.id.'error)))........
a820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 6e 6f 74 20 28 72 65 6a 65 63 74 69 6f .................((not.(rejectio
a840 6e 73 20 69 64 20 27 6f 6e 2d 75 6e 68 61 6e 64 6c 65 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 ns.id.'on-unhandled))...........
a860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 6d 69 73 65 2d 2d 77 61 72 6e 20 22 50 ...............(promise--warn."P
a880 72 6f 6d 69 73 65 20 52 65 6a 65 63 74 69 6f 6e 20 48 61 6e 64 6c 65 64 20 28 69 64 3a 25 64 29 romise.Rejection.Handled.(id:%d)
a8a0 3a 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 :"..............................
a8c0 20 20 20 20 20 20 20 20 20 20 20 28 72 65 6a 65 63 74 69 6f 6e 73 20 69 64 20 27 64 69 73 70 6c ...........(rejections.id.'displ
a8e0 61 79 2d 69 64 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 ay-id)).........................
a900 20 28 70 72 6f 6d 69 73 65 2d 2d 77 61 72 6e 20 22 20 20 54 68 69 73 20 6d 65 61 6e 73 20 79 6f .(promise--warn."..This.means.yo
a920 75 20 63 61 6e 20 69 67 6e 6f 72 65 20 61 6e 79 20 70 72 65 76 69 6f 75 73 20 6d 65 73 73 61 67 u.can.ignore.any.previous.messag
a940 65 73 20 6f 66 20 74 68 65 20 66 6f 72 6d 20 5c 22 50 6f 73 73 69 62 6c 65 20 55 6e 68 61 6e 64 es.of.the.form.\"Possible.Unhand
a960 6c 65 64 20 50 72 6f 6d 69 73 65 20 52 65 6a 65 63 74 69 6f 6e 5c 22 20 77 69 74 68 20 69 64 20 led.Promise.Rejection\".with.id.
a980 25 64 2e 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 %d."............................
a9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 6a 65 63 74 69 6f 6e 73 20 69 64 20 27 64 69 73 .............(rejections.id.'dis
a9c0 70 6c 61 79 2d 69 64 29 29 29 29 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 66 20 70 72 6f 6d 69 play-id))))))).......(setf.promi
a9e0 73 65 2d 2d 6f 6e 2d 68 61 6e 64 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 se--on-handle.............(lambd
aa00 61 20 28 70 72 6f 6d 69 73 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 a.(promise)...............(when.
aa20 28 61 6e 64 20 28 3d 20 28 70 72 6f 6d 69 73 65 2d 5f 73 74 61 74 65 20 70 72 6f 6d 69 73 65 29 (and.(=.(promise-_state.promise)
aa40 20 32 29 20 3b 20 49 53 20 52 45 4a 45 43 54 45 44 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .2).;.IS.REJECTED...............
aa60 20 20 20 20 20 20 20 20 20 20 20 28 67 65 74 68 61 73 68 20 28 70 72 6f 6d 69 73 65 2d 5f 72 65 ...........(gethash.(promise-_re
aa80 6a 65 63 74 69 6f 6e 2d 69 64 20 70 72 6f 6d 69 73 65 29 20 72 65 6a 65 63 74 69 6f 6e 73 29 29 jection-id.promise).rejections))
aaa0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 72 65 6a 65 63 74 69 6f 6e 73 .................(if.(rejections
aac0 20 28 70 72 6f 6d 69 73 65 2d 5f 72 65 6a 65 63 74 69 6f 6e 2d 69 64 20 70 72 6f 6d 69 73 65 29 .(promise-_rejection-id.promise)
aae0 20 27 6c 6f 67 67 65 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f .'logged).....................(o
ab00 6e 2d 68 61 6e 64 6c 65 64 20 28 70 72 6f 6d 69 73 65 2d 5f 72 65 6a 65 63 74 69 6f 6e 2d 69 64 n-handled.(promise-_rejection-id
ab20 20 70 72 6f 6d 69 73 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 .promise))...................(ca
ab40 6e 63 65 6c 2d 74 69 6d 65 72 20 28 72 65 6a 65 63 74 69 6f 6e 73 20 28 70 72 6f 6d 69 73 65 2d ncel-timer.(rejections.(promise-
ab60 5f 72 65 6a 65 63 74 69 6f 6e 2d 69 64 20 70 72 6f 6d 69 73 65 29 20 27 74 69 6d 65 6f 75 74 29 _rejection-id.promise).'timeout)
ab80 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 6d 68 61 73 68 20 28 70 72 6f )).................(remhash.(pro
aba0 6d 69 73 65 2d 5f 72 65 6a 65 63 74 69 6f 6e 2d 69 64 20 70 72 6f 6d 69 73 65 29 20 72 65 6a 65 mise-_rejection-id.promise).reje
abc0 63 74 69 6f 6e 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 72 6f 6d 69 73 65 2d 2d 6f ctions))).............promise--o
abe0 6e 2d 72 65 6a 65 63 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 70 72 n-reject.............(lambda.(pr
ac00 6f 6d 69 73 65 20 65 72 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 omise.err)...............(when.(
ac20 7a 65 72 6f 70 20 28 70 72 6f 6d 69 73 65 2d 5f 64 65 66 65 72 72 65 64 2d 73 74 61 74 65 20 70 zerop.(promise-_deferred-state.p
ac40 72 6f 6d 69 73 65 29 29 20 3b 20 6e 6f 74 20 79 65 74 20 68 61 6e 64 6c 65 64 0a 20 20 20 20 20 romise)).;.not.yet.handled......
ac60 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 66 20 28 70 72 6f 6d 69 73 65 2d 5f 72 65 6a 65 63 ...........(setf.(promise-_rejec
ac80 74 69 6f 6e 2d 69 64 20 70 72 6f 6d 69 73 65 29 20 28 63 6c 2d 69 6e 63 66 20 69 64 29 29 0a 20 tion-id.promise).(cl-incf.id))..
aca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 74 68 61 73 68 20 28 70 72 6f 6d 69 73 65 ...............(puthash.(promise
acc0 2d 5f 72 65 6a 65 63 74 69 6f 6e 2d 69 64 20 70 72 6f 6d 69 73 65 29 0a 20 20 20 20 20 20 20 20 -_rejection-id.promise).........
ace0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 28 64 69 73 70 6c 61 79 2d 69 64 20 2e .................`((display-id..
ad00 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .nil)...........................
ad20 20 28 65 72 72 6f 72 20 2e 20 2c 65 72 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(error...,err).................
ad40 20 20 20 20 20 20 20 20 20 20 20 28 74 69 6d 65 6f 75 74 20 2e 20 2c 28 72 75 6e 2d 61 74 2d 74 ...........(timeout...,(run-at-t
ad60 69 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ime.............................
ad80 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 70 72 6f 6d 69 73 65 2d 2d 6d 61 74 63 68 2d ............(if.(promise--match-
ada0 77 68 69 74 65 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 whitelist.......................
adc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 72 72 20 70 72 6f 6d 69 .......................err.promi
ade0 73 65 2d 2d 64 65 66 61 75 6c 74 2d 77 68 69 74 65 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 20 se--default-whitelist)..........
ae00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
ae20 20 20 20 30 2e 31 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 ...0.1..........................
ae40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 .................2).............
ae60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 69 6c 0a ............................nil.
ae80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
aea0 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ........(lambda.()..............
aec0 20 20 20 20 20 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 6f 6e .............................(on
aee0 2d 75 6e 68 61 6e 64 6c 65 64 20 28 70 72 6f 6d 69 73 65 2d 5f 72 65 6a 65 63 74 69 6f 6e 2d 69 -unhandled.(promise-_rejection-i
af00 64 20 70 72 6f 6d 69 73 65 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 d.promise)))))..................
af20 20 20 20 20 20 20 20 20 20 20 28 6c 6f 67 67 65 64 20 2e 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 ..........(logged...nil)).......
af40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 6a 65 63 74 69 6f 6e 73 29 29 29 ...................rejections)))
af60 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6d 69 73 65 2d 2d 6c 6f 67 2d 65 72 72 6f 72 20 ))))..(defun.promise--log-error.
af80 28 69 64 20 65 72 72 6f 72 29 0a 20 20 28 70 72 6f 6d 69 73 65 2d 2d 77 61 72 6e 20 22 50 6f 73 (id.error)...(promise--warn."Pos
afa0 73 69 62 6c 65 20 55 6e 68 61 6e 64 6c 65 64 20 50 72 6f 6d 69 73 65 20 52 65 6a 65 63 74 69 6f sible.Unhandled.Promise.Rejectio
afc0 6e 20 28 69 64 3a 25 64 29 3a 22 20 69 64 29 0a 20 20 28 64 69 73 70 6c 61 79 2d 77 61 72 6e 69 n.(id:%d):".id)...(display-warni
afe0 6e 67 20 27 70 72 6f 6d 69 73 65 20 28 70 72 69 6e 31 2d 74 6f 2d 73 74 72 69 6e 67 20 65 72 72 ng.'promise.(prin1-to-string.err
b000 6f 72 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6d 69 73 65 2d 2d 6d 61 74 63 68 2d 77 68 69 or)))..(defun.promise--match-whi
b020 74 65 6c 69 73 74 20 28 65 72 72 6f 72 20 6c 69 73 74 29 0a 20 20 28 63 6c 2d 73 6f 6d 65 20 28 telist.(error.list)...(cl-some.(
b040 6c 61 6d 62 64 61 20 28 63 6c 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 71 20 28 6f lambda.(cls)..............(eq.(o
b060 72 20 28 61 6e 64 20 28 63 6f 6e 73 70 20 65 72 72 6f 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 r.(and.(consp.error)............
b080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 72 20 65 72 72 6f 72 29 29 0a 20 20 20 20 ...............(car.error)).....
b0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 29 0a 20 20 20 20 20 20 20 20 .................error).........
b0c0 20 20 20 20 20 20 20 20 20 63 6c 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 6c 69 73 74 29 29 .........cls))............list))
b0e0 0a 0a 28 70 72 6f 76 69 64 65 20 27 70 72 6f 6d 69 73 65 2d 72 65 6a 65 63 74 69 6f 6e 2d 74 72 ..(provide.'promise-rejection-tr
b100 61 63 6b 69 6e 67 29 0a 3b 3b 3b 20 70 72 6f 6d 69 73 65 2d 72 65 6a 65 63 74 69 6f 6e 2d 74 72 acking).;;;.promise-rejection-tr
b120 61 63 6b 69 6e 67 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 acking.el.ends.here.............
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 70 72 6f 6d 69 73 65 2d 32 30 32 31 30 33 30 37 2e 37 32 37 2f 70 72 6f 6d 69 73 65 2d 64 6f 6e promise-20210307.727/promise-don
b220 65 2e 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 e.el............................
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 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
b280 30 30 30 35 32 34 35 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 35 33 33 36 00 20 30 00 00 00 0005245.00000000000.015336..0...
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 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...................
b320 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...................
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 3b 3b 3b 20 70 72 6f 6d 69 73 65 2d 64 6f 6e 65 2e 65 6c 20 2d 2d 2d 20 50 6f 72 74 69 6e 67 20 ;;;.promise-done.el.---.Porting.
b420 64 6f 6e 65 2e 6a 73 20 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 69 6e 64 69 6e 67 3a 20 74 3b done.js..-*-.lexical-binding:.t;
b440 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 31 36 2d 32 30 31 37 .-*-..;;.Copyright.(C).2016-2017
b460 20 20 63 68 75 6e 74 61 72 6f 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 63 68 75 6e 74 61 72 6f 20 ..chuntaro..;;.Author:.chuntaro.
b480 3c 63 68 75 6e 74 61 72 6f 40 73 61 6b 75 72 61 2d 67 61 6d 65 73 2e 6a 70 3e 0a 3b 3b 20 55 52 <chuntaro@sakura-games.jp>.;;.UR
b4a0 4c 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 63 68 75 6e 74 61 72 6f 2f 65 L:.https://github.com/chuntaro/e
b4c0 6d 61 63 73 2d 70 72 6f 6d 69 73 65 0a 3b 3b 20 4b 65 79 77 6f 72 64 73 3a 20 61 73 79 6e 63 20 macs-promise.;;.Keywords:.async.
b4e0 70 72 6f 6d 69 73 65 20 63 6f 6e 76 65 6e 69 65 6e 63 65 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f promise.convenience..;;.This.pro
b500 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
b520 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.;;.
b540 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
b560 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
b580 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
b5a0 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
b5c0 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
b5e0 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
b600 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
b620 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
b640 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
b660 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
b680 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
b6a0 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
b6c0 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
b6e0 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
b700 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
b720 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
b740 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
b760 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 20 54 68 65 20 6f ww.gnu.org/licenses/>...;;.The.o
b780 72 69 67 69 6e 61 6c 20 4a 61 76 61 53 63 72 69 70 74 20 63 6f 64 65 20 69 73 3a 0a 3b 3b 0a 3b riginal.JavaScript.code.is:.;;.;
b7a0 3b 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 31 34 20 46 6f 72 62 65 73 20 4c 69 6e 64 ;.Copyright.(c).2014.Forbes.Lind
b7c0 65 73 61 79 0a 3b 3b 0a 3b 3b 20 50 65 72 6d 69 73 73 69 6f 6e 20 69 73 20 68 65 72 65 62 79 20 esay.;;.;;.Permission.is.hereby.
b7e0 67 72 61 6e 74 65 64 2c 20 66 72 65 65 20 6f 66 20 63 68 61 72 67 65 2c 20 74 6f 20 61 6e 79 20 granted,.free.of.charge,.to.any.
b800 70 65 72 73 6f 6e 20 6f 62 74 61 69 6e 69 6e 67 20 61 20 63 6f 70 79 0a 3b 3b 20 6f 66 20 74 68 person.obtaining.a.copy.;;.of.th
b820 69 73 20 73 6f 66 74 77 61 72 65 20 61 6e 64 20 61 73 73 6f 63 69 61 74 65 64 20 64 6f 63 75 6d is.software.and.associated.docum
b840 65 6e 74 61 74 69 6f 6e 20 66 69 6c 65 73 20 28 74 68 65 20 22 53 6f 66 74 77 61 72 65 22 29 2c entation.files.(the."Software"),
b860 20 74 6f 20 64 65 61 6c 0a 3b 3b 20 69 6e 20 74 68 65 20 53 6f 66 74 77 61 72 65 20 77 69 74 68 .to.deal.;;.in.the.Software.with
b880 6f 75 74 20 72 65 73 74 72 69 63 74 69 6f 6e 2c 20 69 6e 63 6c 75 64 69 6e 67 20 77 69 74 68 6f out.restriction,.including.witho
b8a0 75 74 20 6c 69 6d 69 74 61 74 69 6f 6e 20 74 68 65 20 72 69 67 68 74 73 0a 3b 3b 20 74 6f 20 75 ut.limitation.the.rights.;;.to.u
b8c0 73 65 2c 20 63 6f 70 79 2c 20 6d 6f 64 69 66 79 2c 20 6d 65 72 67 65 2c 20 70 75 62 6c 69 73 68 se,.copy,.modify,.merge,.publish
b8e0 2c 20 64 69 73 74 72 69 62 75 74 65 2c 20 73 75 62 6c 69 63 65 6e 73 65 2c 20 61 6e 64 2f 6f 72 ,.distribute,.sublicense,.and/or
b900 20 73 65 6c 6c 0a 3b 3b 20 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2c .sell.;;.copies.of.the.Software,
b920 20 61 6e 64 20 74 6f 20 70 65 72 6d 69 74 20 70 65 72 73 6f 6e 73 20 74 6f 20 77 68 6f 6d 20 74 .and.to.permit.persons.to.whom.t
b940 68 65 20 53 6f 66 74 77 61 72 65 20 69 73 0a 3b 3b 20 66 75 72 6e 69 73 68 65 64 20 74 6f 20 64 he.Software.is.;;.furnished.to.d
b960 6f 20 73 6f 2c 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 o.so,.subject.to.the.following.c
b980 6f 6e 64 69 74 69 6f 6e 73 3a 0a 3b 3b 0a 3b 3b 20 54 68 65 20 61 62 6f 76 65 20 63 6f 70 79 72 onditions:.;;.;;.The.above.copyr
b9a0 69 67 68 74 20 6e 6f 74 69 63 65 20 61 6e 64 20 74 68 69 73 20 70 65 72 6d 69 73 73 69 6f 6e 20 ight.notice.and.this.permission.
b9c0 6e 6f 74 69 63 65 20 73 68 61 6c 6c 20 62 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 0a 3b 3b 20 61 notice.shall.be.included.in.;;.a
b9e0 6c 6c 20 63 6f 70 69 65 73 20 6f 72 20 73 75 62 73 74 61 6e 74 69 61 6c 20 70 6f 72 74 69 6f 6e ll.copies.or.substantial.portion
ba00 73 20 6f 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2e 0a 3b 3b 0a 3b 3b 20 54 48 45 20 53 4f 46 s.of.the.Software..;;.;;.THE.SOF
ba20 54 57 41 52 45 20 49 53 20 50 52 4f 56 49 44 45 44 20 22 41 53 20 49 53 22 2c 20 57 49 54 48 4f TWARE.IS.PROVIDED."AS.IS",.WITHO
ba40 55 54 20 57 41 52 52 41 4e 54 59 20 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 45 58 50 52 45 53 53 UT.WARRANTY.OF.ANY.KIND,.EXPRESS
ba60 20 4f 52 0a 3b 3b 20 49 4d 50 4c 49 45 44 2c 20 49 4e 43 4c 55 44 49 4e 47 20 42 55 54 20 4e 4f .OR.;;.IMPLIED,.INCLUDING.BUT.NO
ba80 54 20 4c 49 4d 49 54 45 44 20 54 4f 20 54 48 45 20 57 41 52 52 41 4e 54 49 45 53 20 4f 46 20 4d T.LIMITED.TO.THE.WARRANTIES.OF.M
baa0 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 2c 0a 3b 3b 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 ERCHANTABILITY,.;;.FITNESS.FOR.A
bac0 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 20 41 4e 44 20 4e 4f 4e 49 4e 46 52 49 .PARTICULAR.PURPOSE.AND.NONINFRI
bae0 4e 47 45 4d 45 4e 54 2e 20 49 4e 20 4e 4f 20 45 56 45 4e 54 20 53 48 41 4c 4c 20 54 48 45 0a 3b NGEMENT..IN.NO.EVENT.SHALL.THE.;
bb00 3b 20 41 55 54 48 4f 52 53 20 4f 52 20 43 4f 50 59 52 49 47 48 54 20 48 4f 4c 44 45 52 53 20 42 ;.AUTHORS.OR.COPYRIGHT.HOLDERS.B
bb20 45 20 4c 49 41 42 4c 45 20 46 4f 52 20 41 4e 59 20 43 4c 41 49 4d 2c 20 44 41 4d 41 47 45 53 20 E.LIABLE.FOR.ANY.CLAIM,.DAMAGES.
bb40 4f 52 20 4f 54 48 45 52 0a 3b 3b 20 4c 49 41 42 49 4c 49 54 59 2c 20 57 48 45 54 48 45 52 20 49 OR.OTHER.;;.LIABILITY,.WHETHER.I
bb60 4e 20 41 4e 20 41 43 54 49 4f 4e 20 4f 46 20 43 4f 4e 54 52 41 43 54 2c 20 54 4f 52 54 20 4f 52 N.AN.ACTION.OF.CONTRACT,.TORT.OR
bb80 20 4f 54 48 45 52 57 49 53 45 2c 20 41 52 49 53 49 4e 47 20 46 52 4f 4d 2c 0a 3b 3b 20 4f 55 54 .OTHERWISE,.ARISING.FROM,.;;.OUT
bba0 20 4f 46 20 4f 52 20 49 4e 20 43 4f 4e 4e 45 43 54 49 4f 4e 20 57 49 54 48 20 54 48 45 20 53 4f .OF.OR.IN.CONNECTION.WITH.THE.SO
bbc0 46 54 57 41 52 45 20 4f 52 20 54 48 45 20 55 53 45 20 4f 52 20 4f 54 48 45 52 20 44 45 41 4c 49 FTWARE.OR.THE.USE.OR.OTHER.DEALI
bbe0 4e 47 53 20 49 4e 0a 3b 3b 20 54 48 45 20 53 4f 46 54 57 41 52 45 2e 0a 0a 3b 3b 3b 20 43 6f 6d NGS.IN.;;.THE.SOFTWARE...;;;.Com
bc00 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b 20 54 68 69 73 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e mentary:..;;.This.implementation
bc20 20 70 6f 72 74 65 64 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 69 6d 70 6c 65 6d 65 6e 74 61 .ported.the.following.implementa
bc40 74 69 6f 6e 20 66 61 69 74 68 66 75 6c 6c 79 2e 0a 3b 3b 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 tion.faithfully..;;.https://gith
bc60 75 62 2e 63 6f 6d 2f 74 68 65 6e 2f 70 72 6f 6d 69 73 65 2f 62 6c 6f 62 2f 6d 61 73 74 65 72 2f ub.com/then/promise/blob/master/
bc80 73 72 63 2f 64 6f 6e 65 2e 6a 73 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 28 72 65 71 75 69 72 65 src/done.js..;;;.Code:..(require
bca0 20 27 70 72 6f 6d 69 73 65 2d 63 6f 72 65 29 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 70 .'promise-core)..(cl-defmethod.p
bcc0 72 6f 6d 69 73 65 2d 64 6f 6e 65 20 28 28 74 68 69 73 20 70 72 6f 6d 69 73 65 2d 63 6c 61 73 73 romise-done.((this.promise-class
bce0 29 20 26 6f 70 74 69 6f 6e 61 6c 20 6f 6e 2d 66 75 6c 66 69 6c 6c 65 64 20 6f 6e 2d 72 65 6a 65 ).&optional.on-fulfilled.on-reje
bd00 63 74 65 64 29 0a 20 20 28 6c 65 74 20 28 28 73 65 6c 66 20 28 69 66 20 28 6f 72 20 6f 6e 2d 66 cted)...(let.((self.(if.(or.on-f
bd20 75 6c 66 69 6c 6c 65 64 20 6f 6e 2d 72 65 6a 65 63 74 65 64 29 0a 20 20 20 20 20 20 20 20 20 20 ulfilled.on-rejected)...........
bd40 20 20 20 20 20 20 20 20 28 70 72 6f 6d 69 73 65 2d 74 68 65 6e 20 74 68 69 73 20 6f 6e 2d 66 75 ........(promise-then.this.on-fu
bd60 6c 66 69 6c 6c 65 64 20 6f 6e 2d 72 65 6a 65 63 74 65 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 lfilled.on-rejected)............
bd80 20 20 20 20 20 74 68 69 73 29 29 29 0a 20 20 20 20 28 70 72 6f 6d 69 73 65 2d 74 68 65 6e 20 73 .....this))).....(promise-then.s
bda0 65 6c 66 20 6e 69 6c 20 28 6c 61 6d 62 64 61 20 28 65 72 72 29 0a 20 20 20 20 20 20 20 20 20 20 elf.nil.(lambda.(err)...........
bdc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 75 6e 2d 61 74 2d 74 69 6d 65 20 ...................(run-at-time.
bde0 30 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0.nil...........................
be00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 29 0a 20 20 20 20 20 ................(lambda.()......
be20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
be40 20 20 20 20 20 20 20 28 73 69 67 6e 61 6c 20 27 65 72 72 6f 72 20 28 6c 69 73 74 20 65 72 72 29 .......(signal.'error.(list.err)
be60 29 29 29 29 29 29 0a 20 20 6e 69 6c 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 70 72 6f 6d 69 73 65 ))))))...nil)..(provide.'promise
be80 2d 64 6f 6e 65 29 0a 3b 3b 3b 20 70 72 6f 6d 69 73 65 2d 64 6f 6e 65 2e 65 6c 20 65 6e 64 73 20 -done).;;;.promise-done.el.ends.
bea0 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 00 here............................
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 70 72 6f 6d 69 73 65 2d 32 30 32 31 30 33 30 37 2e 37 32 37 2f 70 72 6f 6d 69 73 65 2d 70 6b 67 promise-20210307.727/promise-pkg
c020 2e 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 .el.............................
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 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
c080 30 30 30 30 37 31 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 35 31 36 32 00 20 30 00 00 00 0000710.00000000000.015162..0...
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 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...................
c120 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...................
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 28 64 65 66 69 6e 65 2d 70 61 63 6b 61 67 65 20 22 70 72 6f 6d 69 73 65 22 20 22 32 30 32 31 30 (define-package."promise"."20210
c220 33 30 37 2e 37 32 37 22 20 22 50 72 6f 6d 69 73 65 73 2f 41 2b 22 0a 20 20 27 28 28 65 6d 61 63 307.727"."Promises/A+"...'((emac
c240 73 20 22 32 35 2e 31 22 29 29 0a 20 20 3a 63 6f 6d 6d 69 74 20 22 63 65 63 35 31 66 65 62 35 66 s."25.1"))...:commit."cec51feb5f
c260 39 35 37 65 38 66 65 62 65 36 33 32 35 33 33 35 63 66 35 37 64 63 32 64 62 36 62 65 33 30 22 20 957e8febe6325335cf57dc2db6be30".
c280 3a 61 75 74 68 6f 72 73 0a 20 20 27 28 28 22 63 68 75 6e 74 61 72 6f 22 20 2e 20 22 63 68 75 6e :authors...'(("chuntaro"..."chun
c2a0 74 61 72 6f 40 73 61 6b 75 72 61 2d 67 61 6d 65 73 2e 6a 70 22 29 29 0a 20 20 3a 6d 61 69 6e 74 taro@sakura-games.jp"))...:maint
c2c0 61 69 6e 65 72 73 0a 20 20 27 28 28 22 63 68 75 6e 74 61 72 6f 22 20 2e 20 22 63 68 75 6e 74 61 ainers...'(("chuntaro"..."chunta
c2e0 72 6f 40 73 61 6b 75 72 61 2d 67 61 6d 65 73 2e 6a 70 22 29 29 0a 20 20 3a 6d 61 69 6e 74 61 69 ro@sakura-games.jp"))...:maintai
c300 6e 65 72 0a 20 20 27 28 22 63 68 75 6e 74 61 72 6f 22 20 2e 20 22 63 68 75 6e 74 61 72 6f 40 73 ner...'("chuntaro"..."chuntaro@s
c320 61 6b 75 72 61 2d 67 61 6d 65 73 2e 6a 70 22 29 0a 20 20 3a 6b 65 79 77 6f 72 64 73 0a 20 20 27 akura-games.jp")...:keywords...'
c340 28 22 61 73 79 6e 63 22 20 22 70 72 6f 6d 69 73 65 22 20 22 63 6f 6e 76 65 6e 69 65 6e 63 65 22 ("async"."promise"."convenience"
c360 29 0a 20 20 3a 75 72 6c 20 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 63 68 75 )...:url."https://github.com/chu
c380 6e 74 61 72 6f 2f 65 6d 61 63 73 2d 70 72 6f 6d 69 73 65 22 29 0a 3b 3b 20 4c 6f 63 61 6c 20 56 ntaro/emacs-promise").;;.Local.V
c3a0 61 72 69 61 62 6c 65 73 3a 0a 3b 3b 20 6e 6f 2d 62 79 74 65 2d 63 6f 6d 70 69 6c 65 3a 20 74 0a ariables:.;;.no-byte-compile:.t.
c3c0 3b 3b 20 45 6e 64 3a 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;;.End:.........................
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 70 72 6f 6d 69 73 65 2d 32 30 32 31 30 33 30 37 2e 37 32 37 2f 70 72 6f 6d 69 73 65 2d 65 73 36 promise-20210307.727/promise-es6
c420 2d 65 78 74 65 6e 73 69 6f 6e 73 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -extensions.el..................
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 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
c480 30 30 31 34 37 36 35 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 37 33 31 32 00 20 30 00 00 00 0014765.00000000000.017312..0...
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 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...................
c520 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...................
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 3b 3b 3b 20 70 72 6f 6d 69 73 65 2d 65 73 36 2d 65 78 74 65 6e 73 69 6f 6e 73 2e 65 6c 20 2d 2d ;;;.promise-es6-extensions.el.--
c620 2d 20 50 6f 72 74 69 6e 67 20 65 73 36 2d 65 78 74 65 6e 73 69 6f 6e 73 2e 6a 73 20 20 2d 2a 2d -.Porting.es6-extensions.js..-*-
c640 20 6c 65 78 69 63 61 6c 2d 62 69 6e 64 69 6e 67 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 .lexical-binding:.t;.-*-..;;.Cop
c660 79 72 69 67 68 74 20 28 43 29 20 32 30 31 36 2d 32 30 31 37 20 20 63 68 75 6e 74 61 72 6f 0a 0a yright.(C).2016-2017..chuntaro..
c680 3b 3b 20 41 75 74 68 6f 72 3a 20 63 68 75 6e 74 61 72 6f 20 3c 63 68 75 6e 74 61 72 6f 40 73 61 ;;.Author:.chuntaro.<chuntaro@sa
c6a0 6b 75 72 61 2d 67 61 6d 65 73 2e 6a 70 3e 0a 3b 3b 20 55 52 4c 3a 20 68 74 74 70 73 3a 2f 2f 67 kura-games.jp>.;;.URL:.https://g
c6c0 69 74 68 75 62 2e 63 6f 6d 2f 63 68 75 6e 74 61 72 6f 2f 65 6d 61 63 73 2d 70 72 6f 6d 69 73 65 ithub.com/chuntaro/emacs-promise
c6e0 0a 3b 3b 20 4b 65 79 77 6f 72 64 73 3a 20 61 73 79 6e 63 20 70 72 6f 6d 69 73 65 20 63 6f 6e 76 .;;.Keywords:.async.promise.conv
c700 65 6e 69 65 6e 63 65 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 enience..;;.This.program.is.free
c720 20 73 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 .software;.you.can.redistribute.
c740 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 3b 3b 20 69 74 20 75 6e 64 65 72 20 74 68 65 it.and/or.modify.;;.it.under.the
c760 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 .terms.of.the.GNU.General.Public
c780 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 3b 3b 20 74 68 65 20 .License.as.published.by.;;.the.
c7a0 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 Free.Software.Foundation,.either
c7c0 20 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 3b 3b .version.3.of.the.License,.or.;;
c7e0 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 .(at.your.option).any.later.vers
c800 69 6f 6e 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 ion...;;.This.program.is.distrib
c820 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 uted.in.the.hope.that.it.will.be
c840 20 75 73 65 66 75 6c 2c 0a 3b 3b 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 .useful,.;;.but.WITHOUT.ANY.WARR
c860 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 ANTY;.without.even.the.implied.w
c880 61 72 72 61 6e 74 79 20 6f 66 0a 3b 3b 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 arranty.of.;;.MERCHANTABILITY.or
c8a0 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 .FITNESS.FOR.A.PARTICULAR.PURPOS
c8c0 45 2e 20 20 53 65 65 20 74 68 65 0a 3b 3b 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 E...See.the.;;.GNU.General.Publi
c8e0 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 3b 3b 20 c.License.for.more.details...;;.
c900 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 You.should.have.received.a.copy.
c920 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
c940 65 0a 3b 3b 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 e.;;.along.with.this.program...I
c960 66 20 6e 6f 74 2c 20 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 f.not,.see.<http://www.gnu.org/l
c980 69 63 65 6e 73 65 73 2f 3e 2e 0a 0a 3b 3b 20 54 68 65 20 6f 72 69 67 69 6e 61 6c 20 4a 61 76 61 icenses/>...;;.The.original.Java
c9a0 53 63 72 69 70 74 20 63 6f 64 65 20 69 73 3a 0a 3b 3b 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 Script.code.is:.;;.;;.Copyright.
c9c0 28 63 29 20 32 30 31 34 20 46 6f 72 62 65 73 20 4c 69 6e 64 65 73 61 79 0a 3b 3b 0a 3b 3b 20 50 (c).2014.Forbes.Lindesay.;;.;;.P
c9e0 65 72 6d 69 73 73 69 6f 6e 20 69 73 20 68 65 72 65 62 79 20 67 72 61 6e 74 65 64 2c 20 66 72 65 ermission.is.hereby.granted,.fre
ca00 65 20 6f 66 20 63 68 61 72 67 65 2c 20 74 6f 20 61 6e 79 20 70 65 72 73 6f 6e 20 6f 62 74 61 69 e.of.charge,.to.any.person.obtai
ca20 6e 69 6e 67 20 61 20 63 6f 70 79 0a 3b 3b 20 6f 66 20 74 68 69 73 20 73 6f 66 74 77 61 72 65 20 ning.a.copy.;;.of.this.software.
ca40 61 6e 64 20 61 73 73 6f 63 69 61 74 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 69 6c and.associated.documentation.fil
ca60 65 73 20 28 74 68 65 20 22 53 6f 66 74 77 61 72 65 22 29 2c 20 74 6f 20 64 65 61 6c 0a 3b 3b 20 es.(the."Software"),.to.deal.;;.
ca80 69 6e 20 74 68 65 20 53 6f 66 74 77 61 72 65 20 77 69 74 68 6f 75 74 20 72 65 73 74 72 69 63 74 in.the.Software.without.restrict
caa0 69 6f 6e 2c 20 69 6e 63 6c 75 64 69 6e 67 20 77 69 74 68 6f 75 74 20 6c 69 6d 69 74 61 74 69 6f ion,.including.without.limitatio
cac0 6e 20 74 68 65 20 72 69 67 68 74 73 0a 3b 3b 20 74 6f 20 75 73 65 2c 20 63 6f 70 79 2c 20 6d 6f n.the.rights.;;.to.use,.copy,.mo
cae0 64 69 66 79 2c 20 6d 65 72 67 65 2c 20 70 75 62 6c 69 73 68 2c 20 64 69 73 74 72 69 62 75 74 65 dify,.merge,.publish,.distribute
cb00 2c 20 73 75 62 6c 69 63 65 6e 73 65 2c 20 61 6e 64 2f 6f 72 20 73 65 6c 6c 0a 3b 3b 20 63 6f 70 ,.sublicense,.and/or.sell.;;.cop
cb20 69 65 73 20 6f 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2c 20 61 6e 64 20 74 6f 20 70 65 72 6d ies.of.the.Software,.and.to.perm
cb40 69 74 20 70 65 72 73 6f 6e 73 20 74 6f 20 77 68 6f 6d 20 74 68 65 20 53 6f 66 74 77 61 72 65 20 it.persons.to.whom.the.Software.
cb60 69 73 0a 3b 3b 20 66 75 72 6e 69 73 68 65 64 20 74 6f 20 64 6f 20 73 6f 2c 20 73 75 62 6a 65 63 is.;;.furnished.to.do.so,.subjec
cb80 74 20 74 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0a 3b t.to.the.following.conditions:.;
cba0 3b 0a 3b 3b 20 54 68 65 20 61 62 6f 76 65 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 20 ;.;;.The.above.copyright.notice.
cbc0 61 6e 64 20 74 68 69 73 20 70 65 72 6d 69 73 73 69 6f 6e 20 6e 6f 74 69 63 65 20 73 68 61 6c 6c and.this.permission.notice.shall
cbe0 20 62 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 0a 3b 3b 20 61 6c 6c 20 63 6f 70 69 65 73 20 6f 72 .be.included.in.;;.all.copies.or
cc00 20 73 75 62 73 74 61 6e 74 69 61 6c 20 70 6f 72 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 53 6f 66 .substantial.portions.of.the.Sof
cc20 74 77 61 72 65 2e 0a 3b 3b 0a 3b 3b 20 54 48 45 20 53 4f 46 54 57 41 52 45 20 49 53 20 50 52 4f tware..;;.;;.THE.SOFTWARE.IS.PRO
cc40 56 49 44 45 44 20 22 41 53 20 49 53 22 2c 20 57 49 54 48 4f 55 54 20 57 41 52 52 41 4e 54 59 20 VIDED."AS.IS",.WITHOUT.WARRANTY.
cc60 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 45 58 50 52 45 53 53 20 4f 52 0a 3b 3b 20 49 4d 50 4c 49 OF.ANY.KIND,.EXPRESS.OR.;;.IMPLI
cc80 45 44 2c 20 49 4e 43 4c 55 44 49 4e 47 20 42 55 54 20 4e 4f 54 20 4c 49 4d 49 54 45 44 20 54 4f ED,.INCLUDING.BUT.NOT.LIMITED.TO
cca0 20 54 48 45 20 57 41 52 52 41 4e 54 49 45 53 20 4f 46 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 .THE.WARRANTIES.OF.MERCHANTABILI
ccc0 54 59 2c 0a 3b 3b 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 TY,.;;.FITNESS.FOR.A.PARTICULAR.
cce0 50 55 52 50 4f 53 45 20 41 4e 44 20 4e 4f 4e 49 4e 46 52 49 4e 47 45 4d 45 4e 54 2e 20 49 4e 20 PURPOSE.AND.NONINFRINGEMENT..IN.
cd00 4e 4f 20 45 56 45 4e 54 20 53 48 41 4c 4c 20 54 48 45 0a 3b 3b 20 41 55 54 48 4f 52 53 20 4f 52 NO.EVENT.SHALL.THE.;;.AUTHORS.OR
cd20 20 43 4f 50 59 52 49 47 48 54 20 48 4f 4c 44 45 52 53 20 42 45 20 4c 49 41 42 4c 45 20 46 4f 52 .COPYRIGHT.HOLDERS.BE.LIABLE.FOR
cd40 20 41 4e 59 20 43 4c 41 49 4d 2c 20 44 41 4d 41 47 45 53 20 4f 52 20 4f 54 48 45 52 0a 3b 3b 20 .ANY.CLAIM,.DAMAGES.OR.OTHER.;;.
cd60 4c 49 41 42 49 4c 49 54 59 2c 20 57 48 45 54 48 45 52 20 49 4e 20 41 4e 20 41 43 54 49 4f 4e 20 LIABILITY,.WHETHER.IN.AN.ACTION.
cd80 4f 46 20 43 4f 4e 54 52 41 43 54 2c 20 54 4f 52 54 20 4f 52 20 4f 54 48 45 52 57 49 53 45 2c 20 OF.CONTRACT,.TORT.OR.OTHERWISE,.
cda0 41 52 49 53 49 4e 47 20 46 52 4f 4d 2c 0a 3b 3b 20 4f 55 54 20 4f 46 20 4f 52 20 49 4e 20 43 4f ARISING.FROM,.;;.OUT.OF.OR.IN.CO
cdc0 4e 4e 45 43 54 49 4f 4e 20 57 49 54 48 20 54 48 45 20 53 4f 46 54 57 41 52 45 20 4f 52 20 54 48 NNECTION.WITH.THE.SOFTWARE.OR.TH
cde0 45 20 55 53 45 20 4f 52 20 4f 54 48 45 52 20 44 45 41 4c 49 4e 47 53 20 49 4e 0a 3b 3b 20 54 48 E.USE.OR.OTHER.DEALINGS.IN.;;.TH
ce00 45 20 53 4f 46 54 57 41 52 45 2e 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b E.SOFTWARE...;;;.Commentary:..;;
ce20 20 54 68 69 73 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 70 6f 72 74 65 64 20 74 68 65 20 .This.implementation.ported.the.
ce40 66 6f 6c 6c 6f 77 69 6e 67 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 66 61 69 74 68 66 75 following.implementation.faithfu
ce60 6c 6c 79 2e 0a 3b 3b 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 74 68 65 6e 2f lly..;;.https://github.com/then/
ce80 70 72 6f 6d 69 73 65 2f 62 6c 6f 62 2f 6d 61 73 74 65 72 2f 73 72 63 2f 65 73 36 2d 65 78 74 65 promise/blob/master/src/es6-exte
cea0 6e 73 69 6f 6e 73 2e 6a 73 0a 3b 3b 0a 3b 3b 20 54 68 69 73 20 66 69 6c 65 20 63 6f 6e 74 61 69 nsions.js.;;.;;.This.file.contai
cec0 6e 73 20 74 68 65 20 45 53 36 20 65 78 74 65 6e 73 69 6f 6e 73 20 74 6f 20 74 68 65 20 63 6f 72 ns.the.ES6.extensions.to.the.cor
cee0 65 20 50 72 6f 6d 69 73 65 73 2f 41 2b 20 41 50 49 2e 0a 3b 3b 20 28 70 72 6f 6d 69 73 65 2d 72 e.Promises/A+.API..;;.(promise-r
cf00 65 73 6f 6c 76 65 20 76 61 6c 75 65 29 0a 3b 3b 20 28 70 72 6f 6d 69 73 65 2d 61 6c 6c 20 5b 76 esolve.value).;;.(promise-all.[v
cf20 61 6c 75 65 73 2e 2e 2e 5d 29 0a 3b 3b 20 28 70 72 6f 6d 69 73 65 2d 72 65 6a 65 63 74 20 76 61 alues...]).;;.(promise-reject.va
cf40 6c 75 65 29 0a 3b 3b 20 28 70 72 6f 6d 69 73 65 2d 72 61 63 65 20 5b 76 61 6c 75 65 73 2e 2e 2e lue).;;.(promise-race.[values...
cf60 5d 29 0a 3b 3b 20 28 70 72 6f 6d 69 73 65 2d 63 61 74 63 68 20 28 28 74 68 69 73 20 70 72 6f 6d ]).;;.(promise-catch.((this.prom
cf80 69 73 65 2d 63 6c 61 73 73 29 20 6f 6e 2d 72 65 6a 65 63 74 65 64 29 29 0a 0a 3b 3b 3b 20 43 6f ise-class).on-rejected))..;;;.Co
cfa0 64 65 3a 0a 0a 28 72 65 71 75 69 72 65 20 27 70 72 6f 6d 69 73 65 2d 63 6f 72 65 29 0a 0a 28 64 de:..(require.'promise-core)..(d
cfc0 65 66 73 75 62 73 74 20 70 72 6f 6d 69 73 65 2d 2d 74 68 65 6e 2d 66 75 6e 63 74 69 6f 6e 20 28 efsubst.promise--then-function.(
cfe0 29 0a 20 20 28 69 67 6e 6f 72 65 2d 65 72 72 6f 72 73 0a 20 20 20 20 28 63 6c 2d 2d 67 65 6e 65 )...(ignore-errors.....(cl--gene
d000 72 69 63 2d 6d 65 74 68 6f 64 2d 66 75 6e 63 74 69 6f 6e 20 28 63 6c 2d 66 69 6e 64 2d 6d 65 74 ric-method-function.(cl-find-met
d020 68 6f 64 20 23 27 70 72 6f 6d 69 73 65 2d 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 hod.#'promise-then..............
d040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
d060 20 20 20 20 27 28 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 ....'().........................
d080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 28 70 72 6f 6d 69 .........................'(promi
d0a0 73 65 2d 63 6c 61 73 73 29 29 29 29 29 0a 0a 3b 3b 20 53 74 61 74 69 63 20 46 75 6e 63 74 69 6f se-class)))))..;;.Static.Functio
d0c0 6e 73 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6d 69 73 65 2d 2d 76 61 6c 75 65 20 28 76 61 6c 75 65 ns..(defun.promise--value.(value
d0e0 29 0a 20 20 28 6c 65 74 20 28 28 70 20 28 70 72 6f 6d 69 73 65 2d 6e 65 77 20 23 27 69 67 6e 6f )...(let.((p.(promise-new.#'igno
d100 72 65 29 29 29 0a 20 20 20 20 28 73 65 74 66 20 28 70 72 6f 6d 69 73 65 2d 5f 73 74 61 74 65 20 re))).....(setf.(promise-_state.
d120 70 29 20 31 0a 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 6d 69 73 65 2d 5f 76 61 6c 75 65 20 70 p).1...........(promise-_value.p
d140 29 20 76 61 6c 75 65 29 0a 20 20 20 20 70 29 29 0a 0a 28 64 65 66 63 6f 6e 73 74 20 70 72 6f 6d ).value).....p))..(defconst.prom
d160 69 73 65 2d 74 20 28 70 72 6f 6d 69 73 65 2d 2d 76 61 6c 75 65 20 74 29 29 0a 28 64 65 66 63 6f ise-t.(promise--value.t)).(defco
d180 6e 73 74 20 70 72 6f 6d 69 73 65 2d 6e 69 6c 20 28 70 72 6f 6d 69 73 65 2d 2d 76 61 6c 75 65 20 nst.promise-nil.(promise--value.
d1a0 6e 69 6c 29 29 0a 28 64 65 66 63 6f 6e 73 74 20 70 72 6f 6d 69 73 65 2d 7a 65 72 6f 20 28 70 72 nil)).(defconst.promise-zero.(pr
d1c0 6f 6d 69 73 65 2d 2d 76 61 6c 75 65 20 30 29 29 0a 28 64 65 66 63 6f 6e 73 74 20 70 72 6f 6d 69 omise--value.0)).(defconst.promi
d1e0 73 65 2d 65 6d 70 74 79 73 74 72 69 6e 67 20 28 70 72 6f 6d 69 73 65 2d 2d 76 61 6c 75 65 20 22 se-emptystring.(promise--value."
d200 22 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6d 69 73 65 2d 72 65 73 6f 6c 76 65 20 28 76 61 6c "))..(defun.promise-resolve.(val
d220 75 65 29 0a 20 20 28 63 6f 6e 64 0a 20 20 20 28 28 70 72 6f 6d 69 73 65 2d 63 6c 61 73 73 2d 70 ue)...(cond....((promise-class-p
d240 20 76 61 6c 75 65 29 20 76 61 6c 75 65 29 0a 0a 20 20 20 28 28 65 71 20 76 61 6c 75 65 20 74 29 .value).value).....((eq.value.t)
d260 20 70 72 6f 6d 69 73 65 2d 74 29 0a 20 20 20 28 28 65 71 20 76 61 6c 75 65 20 6e 69 6c 29 20 70 .promise-t)....((eq.value.nil).p
d280 72 6f 6d 69 73 65 2d 6e 69 6c 29 0a 20 20 20 28 28 65 71 20 76 61 6c 75 65 20 30 29 20 70 72 6f romise-nil)....((eq.value.0).pro
d2a0 6d 69 73 65 2d 7a 65 72 6f 29 0a 20 20 20 28 28 65 71 20 76 61 6c 75 65 20 22 22 29 20 70 72 6f mise-zero)....((eq.value."").pro
d2c0 6d 69 73 65 2d 65 6d 70 74 79 73 74 72 69 6e 67 29 0a 0a 20 20 20 28 28 70 72 6f 6d 69 73 65 2d mise-emptystring).....((promise-
d2e0 2d 69 73 2d 6f 62 6a 65 63 74 20 76 61 6c 75 65 29 0a 20 20 20 20 28 63 6f 6e 64 69 74 69 6f 6e -is-object.value).....(condition
d300 2d 63 61 73 65 20 65 78 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 74 68 65 6e 20 28 69 67 -case.ex.........(let.((then.(ig
d320 6e 6f 72 65 2d 65 72 72 6f 72 73 20 28 70 72 6f 6d 69 73 65 2d 2d 66 69 6e 64 2d 74 68 65 6e 2d nore-errors.(promise--find-then-
d340 66 75 6e 63 74 69 6f 6e 20 76 61 6c 75 65 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 66 function.value))))...........(if
d360 20 28 66 75 6e 63 74 69 6f 6e 70 20 74 68 65 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(functionp.then)...............
d380 28 70 72 6f 6d 69 73 65 2d 6e 65 77 20 28 6c 61 6d 62 64 61 20 28 72 65 73 6f 6c 76 65 20 72 65 (promise-new.(lambda.(resolve.re
d3a0 6a 65 63 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ject)...........................
d3c0 20 20 20 28 70 72 6f 6d 69 73 65 2d 74 68 65 6e 20 76 61 6c 75 65 20 72 65 73 6f 6c 76 65 20 72 ...(promise-then.value.resolve.r
d3e0 65 6a 65 63 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 6d 69 73 65 2d 2d 76 eject))).............(promise--v
d400 61 6c 75 65 20 76 61 6c 75 65 29 29 29 0a 20 20 20 20 20 20 28 65 72 72 6f 72 20 28 70 72 6f 6d alue.value))).......(error.(prom
d420 69 73 65 2d 6e 65 77 20 28 6c 61 6d 62 64 61 20 28 5f 72 65 73 6f 6c 76 65 20 72 65 6a 65 63 74 ise-new.(lambda.(_resolve.reject
d440 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 28 66 ).............................(f
d460 75 6e 63 61 6c 6c 20 72 65 6a 65 63 74 20 65 78 29 29 29 29 29 29 0a 20 20 20 28 74 0a 20 20 20 uncall.reject.ex))))))....(t....
d480 20 28 70 72 6f 6d 69 73 65 2d 2d 76 61 6c 75 65 20 76 61 6c 75 65 29 29 29 29 0a 0a 28 64 65 66 .(promise--value.value))))..(def
d4a0 75 6e 20 70 72 6f 6d 69 73 65 2d 61 6c 6c 20 28 61 72 72 29 0a 20 20 28 6c 65 74 20 28 28 61 72 un.promise-all.(arr)...(let.((ar
d4c0 67 73 20 28 63 6c 2d 63 6f 65 72 63 65 20 61 72 72 20 27 76 65 63 74 6f 72 29 29 29 0a 0a 20 20 gs.(cl-coerce.arr.'vector)))....
d4e0 20 20 28 70 72 6f 6d 69 73 65 2d 6e 65 77 0a 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 72 65 73 ..(promise-new......(lambda.(res
d500 6f 6c 76 65 20 72 65 6a 65 63 74 29 0a 20 20 20 20 20 20 20 28 69 66 20 28 7a 65 72 6f 70 20 28 olve.reject)........(if.(zerop.(
d520 6c 65 6e 67 74 68 20 61 72 67 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c length.args))............(funcal
d540 6c 20 72 65 73 6f 6c 76 65 20 5b 5d 29 0a 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 72 65 l.resolve.[])..........(let.((re
d560 6d 61 69 6e 69 6e 67 20 28 6c 65 6e 67 74 68 20 61 72 67 73 29 29 29 0a 20 20 20 20 20 20 20 20 maining.(length.args))).........
d580 20 20 20 28 63 6c 2d 6c 61 62 65 6c 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 72 ...(cl-labels................((r
d5a0 65 73 20 28 69 20 76 61 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 es.(i.val)......................
d5c0 28 63 6c 2d 62 6c 6f 63 6b 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (cl-block.nil...................
d5e0 20 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 20 76 61 6c 20 28 70 72 6f 6d 69 73 65 2d 2d 69 73 .....(when.(and.val.(promise--is
d600 2d 6f 62 6a 65 63 74 20 76 61 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -object.val))...................
d620 20 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......(cond....................
d640 20 20 20 20 20 20 20 28 28 61 6e 64 20 28 70 72 6f 6d 69 73 65 2d 63 6c 61 73 73 2d 70 20 76 61 .......((and.(promise-class-p.va
d660 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 l)..............................
d680 20 20 20 28 65 71 20 28 70 72 6f 6d 69 73 65 2d 2d 66 69 6e 64 2d 74 68 65 6e 2d 66 75 6e 63 74 ...(eq.(promise--find-then-funct
d6a0 69 6f 6e 20 76 61 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ion.val)........................
d6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 6d 69 73 65 2d 2d 74 68 65 6e 2d 66 75 6e 63 .............(promise--then-func
d6e0 74 69 6f 6e 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 tion))).........................
d700 20 20 20 28 77 68 69 6c 65 20 28 3d 20 28 70 72 6f 6d 69 73 65 2d 5f 73 74 61 74 65 20 76 61 6c ...(while.(=.(promise-_state.val
d720 29 20 33 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 ).3)............................
d740 20 20 28 73 65 74 66 20 76 61 6c 20 28 70 72 6f 6d 69 73 65 2d 5f 76 61 6c 75 65 20 76 61 6c 29 ..(setf.val.(promise-_value.val)
d760 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 28 77 ))............................(w
d780 68 65 6e 20 28 3d 20 28 70 72 6f 6d 69 73 65 2d 5f 73 74 61 74 65 20 76 61 6c 29 20 31 29 0a 20 hen.(=.(promise-_state.val).1)..
d7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d ............................(cl-
d7c0 72 65 74 75 72 6e 20 28 72 65 73 20 69 20 28 70 72 6f 6d 69 73 65 2d 5f 76 61 6c 75 65 20 76 61 return.(res.i.(promise-_value.va
d7e0 6c 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 l))))...........................
d800 20 28 77 68 65 6e 20 28 3d 20 28 70 72 6f 6d 69 73 65 2d 5f 73 74 61 74 65 20 76 61 6c 29 20 32 .(when.(=.(promise-_state.val).2
d820 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 28 )..............................(
d840 66 75 6e 63 61 6c 6c 20 72 65 6a 65 63 74 20 28 70 72 6f 6d 69 73 65 2d 5f 76 61 6c 75 65 20 76 funcall.reject.(promise-_value.v
d860 61 6c 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 al)))...........................
d880 20 28 70 72 6f 6d 69 73 65 2d 74 68 65 6e 20 76 61 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .(promise-then.val..............
d8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d ............................(lam
d8c0 62 64 61 20 28 76 61 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 bda.(val).......................
d8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 73 20 69 20 76 61 6c 29 .....................(res.i.val)
d900 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 )...............................
d920 20 20 20 20 20 20 20 20 20 20 20 72 65 6a 65 63 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ...........reject)..............
d940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 72 65 74 75 72 6e 29 29 0a 20 20 20 20 20 ..............(cl-return))......
d960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 20 20 .....................(t.........
d980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 74 68 65 6e 20 28 ...................(let.((then.(
d9a0 69 67 6e 6f 72 65 2d 65 72 72 6f 72 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ignore-errors...................
d9c0 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 6f 6d 69 73 65 2d .......................(promise-
d9e0 2d 66 69 6e 64 2d 74 68 65 6e 2d 66 75 6e 63 74 69 6f 6e 20 76 61 6c 29 29 29 29 0a 20 20 20 20 -find-then-function.val)))).....
da00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 .........................(when.(
da20 66 75 6e 63 74 69 6f 6e 70 20 74 68 65 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 functionp.then).................
da40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 70 20 28 70 72 6f 6d 69 73 65 ...............(let.((p.(promise
da60 2d 6e 65 77 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 -new............................
da80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 72 65 73 6f 6c 76 65 20 72 ..............(lambda.(resolve.r
daa0 65 6a 65 63 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 eject)..........................
dac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 6d 69 73 65 2d 74 68 65 6e 20 ..................(promise-then.
dae0 76 61 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 val.............................
db00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 73 .............................res
db20 6f 6c 76 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 olve............................
db40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 ..............................re
db60 6a 65 63 74 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ject))))).......................
db80 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 6d 69 73 65 2d 74 68 65 6e 20 70 0a 20 20 20 20 20 ...........(promise-then.p......
dba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
dbc0 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 76 61 6c 29 0a 20 20 20 20 20 20 20 20 ..........(lambda.(val).........
dbe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
dc00 20 20 20 20 20 20 20 20 20 28 72 65 73 20 69 20 76 61 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 .........(res.i.val))...........
dc20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
dc40 20 20 20 20 20 72 65 6a 65 63 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .....reject)....................
dc60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 72 65 74 75 72 6e 29 29 29 29 29 29 29 0a ..............(cl-return))))))).
dc80 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 66 20 28 61 72 .......................(setf.(ar
dca0 65 66 20 61 72 67 73 20 69 29 20 76 61 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ef.args.i).val).................
dcc0 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 7a 65 72 6f 70 20 28 63 6c 2d 64 65 63 66 20 72 65 6d .......(when.(zerop.(cl-decf.rem
dce0 61 69 6e 69 6e 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 aining))........................
dd00 20 20 28 66 75 6e 63 61 6c 6c 20 72 65 73 6f 6c 76 65 20 61 72 67 73 29 29 29 29 29 0a 20 20 20 ..(funcall.resolve.args)))))....
dd20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 69 20 66 72 6f 6d 20 30 0a ..........(cl-loop.for.i.from.0.
dd40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 61 72 67 20 61 63 ......................for.arg.ac
dd60 72 6f 73 73 20 61 72 67 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ross.args.......................
dd80 64 6f 20 28 72 65 73 20 69 20 61 72 67 29 29 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 do.(res.i.arg)))))))))..(defun.p
dda0 72 6f 6d 69 73 65 2d 72 65 6a 65 63 74 20 28 76 61 6c 75 65 29 0a 20 20 28 70 72 6f 6d 69 73 65 romise-reject.(value)...(promise
ddc0 2d 6e 65 77 20 28 6c 61 6d 62 64 61 20 28 5f 72 65 73 6f 6c 76 65 20 72 65 6a 65 63 74 29 0a 20 -new.(lambda.(_resolve.reject)..
dde0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 72 65 6a 65 63 74 20 ................(funcall.reject.
de00 76 61 6c 75 65 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6d 69 73 65 2d 72 61 63 65 20 28 value))))..(defun.promise-race.(
de20 76 61 6c 75 65 73 29 0a 20 20 28 70 72 6f 6d 69 73 65 2d 6e 65 77 20 28 6c 61 6d 62 64 61 20 28 values)...(promise-new.(lambda.(
de40 72 65 73 6f 6c 76 65 20 72 65 6a 65 63 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 resolve.reject).................
de60 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 76 61 6c 75 65 20 61 63 72 6f 73 73 20 28 63 6c 2d 63 .(cl-loop.for.value.across.(cl-c
de80 6f 65 72 63 65 20 76 61 6c 75 65 73 20 27 76 65 63 74 6f 72 29 0a 20 20 20 20 20 20 20 20 20 20 oerce.values.'vector)...........
dea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 20 28 70 72 6f 6d 69 73 65 2d 74 68 65 6e ................do.(promise-then
dec0 20 28 70 72 6f 6d 69 73 65 2d 72 65 73 6f 6c 76 65 20 76 61 6c 75 65 29 0a 20 20 20 20 20 20 20 .(promise-resolve.value)........
dee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
df00 20 20 20 20 72 65 73 6f 6c 76 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....resolve.....................
df20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 6a 65 63 74 29 29 29 .......................reject)))
df40 29 29 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 70 72 6f 6d 69 73 65 2d 63 61 74 63 68 20 ))..(cl-defmethod.promise-catch.
df60 28 28 74 68 69 73 20 70 72 6f 6d 69 73 65 2d 63 6c 61 73 73 29 20 6f 6e 2d 72 65 6a 65 63 74 65 ((this.promise-class).on-rejecte
df80 64 29 0a 20 20 28 70 72 6f 6d 69 73 65 2d 74 68 65 6e 20 74 68 69 73 20 6e 69 6c 20 6f 6e 2d 72 d)...(promise-then.this.nil.on-r
dfa0 65 6a 65 63 74 65 64 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 70 72 6f 6d 69 73 65 2d 65 73 36 ejected))..(provide.'promise-es6
dfc0 2d 65 78 74 65 6e 73 69 6f 6e 73 29 0a 3b 3b 3b 20 70 72 6f 6d 69 73 65 2d 65 73 36 2d 65 78 74 -extensions).;;;.promise-es6-ext
dfe0 65 6e 73 69 6f 6e 73 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 ensions.el.ends.here............
e000 70 72 6f 6d 69 73 65 2d 32 30 32 31 30 33 30 37 2e 37 32 37 2f 70 72 6f 6d 69 73 65 2d 66 69 6e promise-20210307.727/promise-fin
e020 61 6c 6c 79 2e 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 ally.el.........................
e040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e060 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
e080 30 30 30 35 32 34 34 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 36 30 34 36 00 20 30 00 00 00 0005244.00000000000.016046..0...
e0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e100 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...................
e120 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...................
e140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e200 3b 3b 3b 20 70 72 6f 6d 69 73 65 2d 66 69 6e 61 6c 6c 79 2e 65 6c 20 2d 2d 2d 20 50 6f 72 74 69 ;;;.promise-finally.el.---.Porti
e220 6e 67 20 66 69 6e 61 6c 6c 79 2e 6a 73 20 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 69 6e 64 69 ng.finally.js..-*-.lexical-bindi
e240 6e 67 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 31 ng:.t;.-*-..;;.Copyright.(C).201
e260 36 2d 32 30 31 37 20 20 63 68 75 6e 74 61 72 6f 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 63 68 75 6-2017..chuntaro..;;.Author:.chu
e280 6e 74 61 72 6f 20 3c 63 68 75 6e 74 61 72 6f 40 73 61 6b 75 72 61 2d 67 61 6d 65 73 2e 6a 70 3e ntaro.<chuntaro@sakura-games.jp>
e2a0 0a 3b 3b 20 55 52 4c 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 63 68 75 6e .;;.URL:.https://github.com/chun
e2c0 74 61 72 6f 2f 65 6d 61 63 73 2d 70 72 6f 6d 69 73 65 0a 3b 3b 20 4b 65 79 77 6f 72 64 73 3a 20 taro/emacs-promise.;;.Keywords:.
e2e0 61 73 79 6e 63 20 70 72 6f 6d 69 73 65 20 63 6f 6e 76 65 6e 69 65 6e 63 65 0a 0a 3b 3b 20 54 68 async.promise.convenience..;;.Th
e300 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3b 20 79 6f 75 is.program.is.free.software;.you
e320 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 .can.redistribute.it.and/or.modi
e340 66 79 0a 3b 3b 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 fy.;;.it.under.the.terms.of.the.
e360 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 GNU.General.Public.License.as.pu
e380 62 6c 69 73 68 65 64 20 62 79 0a 3b 3b 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 blished.by.;;.the.Free.Software.
e3a0 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 Foundation,.either.version.3.of.
e3c0 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 3b 3b 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 the.License,.or.;;.(at.your.opti
e3e0 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 3b 3b 20 54 68 69 73 20 on).any.later.version...;;.This.
e400 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f program.is.distributed.in.the.ho
e420 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 3b 3b 20 62 75 pe.that.it.will.be.useful,.;;.bu
e440 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 t.WITHOUT.ANY.WARRANTY;.without.
e460 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 3b 3b 20 even.the.implied.warranty.of.;;.
e480 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 MERCHANTABILITY.or.FITNESS.FOR.A
e4a0 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 3b 3b .PARTICULAR.PURPOSE...See.the.;;
e4c0 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 .GNU.General.Public.License.for.
e4e0 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 3b 3b 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 more.details...;;.You.should.hav
e500 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e e.received.a.copy.of.the.GNU.Gen
e520 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 3b 3b 20 61 6c 6f 6e 67 20 77 69 74 eral.Public.License.;;.along.wit
e540 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 h.this.program...If.not,.see.<ht
e560 74 70 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 0a 3b 3b tp://www.gnu.org/licenses/>...;;
e580 20 54 68 65 20 6f 72 69 67 69 6e 61 6c 20 4a 61 76 61 53 63 72 69 70 74 20 63 6f 64 65 20 69 73 .The.original.JavaScript.code.is
e5a0 3a 0a 3b 3b 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 31 34 20 46 6f 72 62 65 :.;;.;;.Copyright.(c).2014.Forbe
e5c0 73 20 4c 69 6e 64 65 73 61 79 0a 3b 3b 0a 3b 3b 20 50 65 72 6d 69 73 73 69 6f 6e 20 69 73 20 68 s.Lindesay.;;.;;.Permission.is.h
e5e0 65 72 65 62 79 20 67 72 61 6e 74 65 64 2c 20 66 72 65 65 20 6f 66 20 63 68 61 72 67 65 2c 20 74 ereby.granted,.free.of.charge,.t
e600 6f 20 61 6e 79 20 70 65 72 73 6f 6e 20 6f 62 74 61 69 6e 69 6e 67 20 61 20 63 6f 70 79 0a 3b 3b o.any.person.obtaining.a.copy.;;
e620 20 6f 66 20 74 68 69 73 20 73 6f 66 74 77 61 72 65 20 61 6e 64 20 61 73 73 6f 63 69 61 74 65 64 .of.this.software.and.associated
e640 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 69 6c 65 73 20 28 74 68 65 20 22 53 6f 66 74 77 .documentation.files.(the."Softw
e660 61 72 65 22 29 2c 20 74 6f 20 64 65 61 6c 0a 3b 3b 20 69 6e 20 74 68 65 20 53 6f 66 74 77 61 72 are"),.to.deal.;;.in.the.Softwar
e680 65 20 77 69 74 68 6f 75 74 20 72 65 73 74 72 69 63 74 69 6f 6e 2c 20 69 6e 63 6c 75 64 69 6e 67 e.without.restriction,.including
e6a0 20 77 69 74 68 6f 75 74 20 6c 69 6d 69 74 61 74 69 6f 6e 20 74 68 65 20 72 69 67 68 74 73 0a 3b .without.limitation.the.rights.;
e6c0 3b 20 74 6f 20 75 73 65 2c 20 63 6f 70 79 2c 20 6d 6f 64 69 66 79 2c 20 6d 65 72 67 65 2c 20 70 ;.to.use,.copy,.modify,.merge,.p
e6e0 75 62 6c 69 73 68 2c 20 64 69 73 74 72 69 62 75 74 65 2c 20 73 75 62 6c 69 63 65 6e 73 65 2c 20 ublish,.distribute,.sublicense,.
e700 61 6e 64 2f 6f 72 20 73 65 6c 6c 0a 3b 3b 20 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 53 6f 66 and/or.sell.;;.copies.of.the.Sof
e720 74 77 61 72 65 2c 20 61 6e 64 20 74 6f 20 70 65 72 6d 69 74 20 70 65 72 73 6f 6e 73 20 74 6f 20 tware,.and.to.permit.persons.to.
e740 77 68 6f 6d 20 74 68 65 20 53 6f 66 74 77 61 72 65 20 69 73 0a 3b 3b 20 66 75 72 6e 69 73 68 65 whom.the.Software.is.;;.furnishe
e760 64 20 74 6f 20 64 6f 20 73 6f 2c 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68 65 20 66 6f 6c 6c 6f d.to.do.so,.subject.to.the.follo
e780 77 69 6e 67 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0a 3b 3b 0a 3b 3b 20 54 68 65 20 61 62 6f 76 65 wing.conditions:.;;.;;.The.above
e7a0 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 20 61 6e 64 20 74 68 69 73 20 70 65 72 6d 69 .copyright.notice.and.this.permi
e7c0 73 73 69 6f 6e 20 6e 6f 74 69 63 65 20 73 68 61 6c 6c 20 62 65 20 69 6e 63 6c 75 64 65 64 20 69 ssion.notice.shall.be.included.i
e7e0 6e 0a 3b 3b 20 61 6c 6c 20 63 6f 70 69 65 73 20 6f 72 20 73 75 62 73 74 61 6e 74 69 61 6c 20 70 n.;;.all.copies.or.substantial.p
e800 6f 72 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2e 0a 3b 3b 0a 3b 3b 20 54 ortions.of.the.Software..;;.;;.T
e820 48 45 20 53 4f 46 54 57 41 52 45 20 49 53 20 50 52 4f 56 49 44 45 44 20 22 41 53 20 49 53 22 2c HE.SOFTWARE.IS.PROVIDED."AS.IS",
e840 20 57 49 54 48 4f 55 54 20 57 41 52 52 41 4e 54 59 20 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 45 .WITHOUT.WARRANTY.OF.ANY.KIND,.E
e860 58 50 52 45 53 53 20 4f 52 0a 3b 3b 20 49 4d 50 4c 49 45 44 2c 20 49 4e 43 4c 55 44 49 4e 47 20 XPRESS.OR.;;.IMPLIED,.INCLUDING.
e880 42 55 54 20 4e 4f 54 20 4c 49 4d 49 54 45 44 20 54 4f 20 54 48 45 20 57 41 52 52 41 4e 54 49 45 BUT.NOT.LIMITED.TO.THE.WARRANTIE
e8a0 53 20 4f 46 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 2c 0a 3b 3b 20 46 49 54 4e 45 53 53 S.OF.MERCHANTABILITY,.;;.FITNESS
e8c0 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 20 41 4e 44 20 4e 4f .FOR.A.PARTICULAR.PURPOSE.AND.NO
e8e0 4e 49 4e 46 52 49 4e 47 45 4d 45 4e 54 2e 20 49 4e 20 4e 4f 20 45 56 45 4e 54 20 53 48 41 4c 4c NINFRINGEMENT..IN.NO.EVENT.SHALL
e900 20 54 48 45 0a 3b 3b 20 41 55 54 48 4f 52 53 20 4f 52 20 43 4f 50 59 52 49 47 48 54 20 48 4f 4c .THE.;;.AUTHORS.OR.COPYRIGHT.HOL
e920 44 45 52 53 20 42 45 20 4c 49 41 42 4c 45 20 46 4f 52 20 41 4e 59 20 43 4c 41 49 4d 2c 20 44 41 DERS.BE.LIABLE.FOR.ANY.CLAIM,.DA
e940 4d 41 47 45 53 20 4f 52 20 4f 54 48 45 52 0a 3b 3b 20 4c 49 41 42 49 4c 49 54 59 2c 20 57 48 45 MAGES.OR.OTHER.;;.LIABILITY,.WHE
e960 54 48 45 52 20 49 4e 20 41 4e 20 41 43 54 49 4f 4e 20 4f 46 20 43 4f 4e 54 52 41 43 54 2c 20 54 THER.IN.AN.ACTION.OF.CONTRACT,.T
e980 4f 52 54 20 4f 52 20 4f 54 48 45 52 57 49 53 45 2c 20 41 52 49 53 49 4e 47 20 46 52 4f 4d 2c 0a ORT.OR.OTHERWISE,.ARISING.FROM,.
e9a0 3b 3b 20 4f 55 54 20 4f 46 20 4f 52 20 49 4e 20 43 4f 4e 4e 45 43 54 49 4f 4e 20 57 49 54 48 20 ;;.OUT.OF.OR.IN.CONNECTION.WITH.
e9c0 54 48 45 20 53 4f 46 54 57 41 52 45 20 4f 52 20 54 48 45 20 55 53 45 20 4f 52 20 4f 54 48 45 52 THE.SOFTWARE.OR.THE.USE.OR.OTHER
e9e0 20 44 45 41 4c 49 4e 47 53 20 49 4e 0a 3b 3b 20 54 48 45 20 53 4f 46 54 57 41 52 45 2e 0a 0a 3b .DEALINGS.IN.;;.THE.SOFTWARE...;
ea00 3b 3b 20 43 6f 6d 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b 20 54 68 69 73 20 69 6d 70 6c 65 6d 65 6e ;;.Commentary:..;;.This.implemen
ea20 74 61 74 69 6f 6e 20 70 6f 72 74 65 64 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 69 6d 70 6c tation.ported.the.following.impl
ea40 65 6d 65 6e 74 61 74 69 6f 6e 20 66 61 69 74 68 66 75 6c 6c 79 2e 0a 3b 3b 20 68 74 74 70 73 3a ementation.faithfully..;;.https:
ea60 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 74 68 65 6e 2f 70 72 6f 6d 69 73 65 2f 62 6c 6f 62 2f 6d //github.com/then/promise/blob/m
ea80 61 73 74 65 72 2f 73 72 63 2f 66 69 6e 61 6c 6c 79 2e 6a 73 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a aster/src/finally.js..;;;.Code:.
eaa0 0a 28 72 65 71 75 69 72 65 20 27 70 72 6f 6d 69 73 65 2d 65 73 36 2d 65 78 74 65 6e 73 69 6f 6e .(require.'promise-es6-extension
eac0 73 29 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 70 72 6f 6d 69 73 65 2d 66 69 6e 61 6c 6c s)..(cl-defmethod.promise-finall
eae0 79 20 28 28 74 68 69 73 20 70 72 6f 6d 69 73 65 2d 63 6c 61 73 73 29 20 66 29 0a 20 20 28 70 72 y.((this.promise-class).f)...(pr
eb00 6f 6d 69 73 65 2d 74 68 65 6e 20 74 68 69 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 omise-then.this.................
eb20 28 6c 61 6d 62 64 61 20 28 76 61 6c 75 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (lambda.(value).................
eb40 20 20 28 70 72 6f 6d 69 73 65 2d 74 68 65 6e 20 28 70 72 6f 6d 69 73 65 2d 72 65 73 6f 6c 76 65 ..(promise-then.(promise-resolve
eb60 20 28 66 75 6e 63 61 6c 6c 20 66 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(funcall.f))...................
eb80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 5f 29 20 76 61 6c 75 65 29 ..............(lambda.(_).value)
eba0 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 65 72 72 29 )).................(lambda.(err)
ebc0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 6d 69 73 65 2d 74 68 65 6e ...................(promise-then
ebe0 20 28 70 72 6f 6d 69 73 65 2d 72 65 73 6f 6c 76 65 20 28 66 75 6e 63 61 6c 6c 20 66 29 29 0a 20 .(promise-resolve.(funcall.f))..
ec00 20 20 20 20 20 20 20 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 ...............................(
ec20 6c 61 6d 62 64 61 20 28 5f 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 lambda.(_)......................
ec40 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 6d 69 73 65 2d 72 65 6a 65 63 74 20 65 72 72 .............(promise-reject.err
ec60 29 29 29 29 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 70 72 6f 6d 69 73 65 2d 66 69 6e 61 6c 6c ))))))..(provide.'promise-finall
ec80 79 29 0a 3b 3b 3b 20 70 72 6f 6d 69 73 65 2d 66 69 6e 61 6c 6c 79 2e 65 6c 20 65 6e 64 73 20 68 y).;;;.promise-finally.el.ends.h
eca0 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 00 00 ere.............................
ecc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ece0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ed00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ed20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ed40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ed60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ed80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eda0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
edc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ede0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ee00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ee20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ee40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ee60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ee80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ef00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ef20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ef40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ef60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ef80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
efa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
efc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
efe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f2a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f2c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f6a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f6c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f8a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f8c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fa00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fa20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fa40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fa60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fa80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
faa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fb00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fb20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fb40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fb60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fb80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fbc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fbe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fc00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fc20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fc40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fc60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fc80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fcc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fd00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fd20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fd40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fd60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fd80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fda0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fdc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fde0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fe00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fe20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fe40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fe60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fe80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ff00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ff20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ff40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ff60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ff80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ffa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ffc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ffe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
100a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
100c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
100e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
101a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
101c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
101e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
102a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
102c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
102e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
103a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
103c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
103e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
104a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
104c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
104e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
105a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
105c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
105e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
106a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
106c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
106e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
107a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
107c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
107e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
108a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
108c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
108e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
109a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
109c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
109e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
110a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
110c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
110e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
111a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
111c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
111e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
112a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
112c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
112e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
113a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
113c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
113e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
114a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
114c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
114e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
115a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
115c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
115e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
116a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
116c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
116e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
117a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
117c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
117e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................