summaryrefslogtreecommitdiff
path: root/localrepo/promise-20210307.727.tar
blob: fe812a33d7852b89119c04f8bce0a263669dad8f (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 2d 63 6f 72 promise-20210307.727/promise-cor
0220 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............................
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 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...
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 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.
0420 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
0440 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;
0460 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
0480 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.
04a0 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
04c0 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
04e0 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.
0500 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
0520 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
0540 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.;;.
0560 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
0580 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
05a0 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
05c0 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
05e0 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
0600 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
0620 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
0640 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
0660 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
0680 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
06a0 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
06c0 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
06e0 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
0700 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
0720 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
0740 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
0760 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
0780 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
07a0 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:.;;.;
07c0 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
07e0 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.
0800 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.
0820 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
0840 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
0860 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"),
0880 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
08a0 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
08c0 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
08e0 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
0900 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
0920 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,
0940 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
0960 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
0980 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
09a0 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
09c0 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.
09e0 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
0a00 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
0a20 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
0a40 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
0a60 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
0a80 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
0aa0 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
0ac0 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
0ae0 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
0b00 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.;
0b20 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
0b40 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.
0b60 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
0b80 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
0ba0 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
0bc0 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
0be0 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
0c00 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
0c20 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
0c40 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
0c60 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..;;.
0c80 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/
0ca0 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
0cc0 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
0ce0 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
0d00 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.
0d20 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.
0d40 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
0d60 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:..
0d80 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
0da0 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.'
0dc0 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.(
0de0 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
0e00 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.(
0e20 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
0e40 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-
0e60 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
0e80 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'......
0ea0 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
0ec0 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-
0ee0 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
0f00 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
0f20 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
0f40 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-
0f60 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
0f80 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
0fa0 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.'().
0fc0 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)))).
0fe0 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
1000 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
1020 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))..
1040 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.
1060 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.-.
1080 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
10a0 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
10c0 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
10e0 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.
1100 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.(
1120 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.
1140 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
1160 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
1180 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
11a0 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--
11c0 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
11e0 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.(
1200 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.......
1220 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
1240 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
1260 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
1280 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-
12a0 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
12c0 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
12e0 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
1300 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)
1320 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
1340 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..
1360 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
1380 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)..
13a0 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)))..
13c0 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.()...((_
13e0 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
1400 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)...
1420 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
1440 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)
1460 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
1480 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
14a0 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
14c0 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
14e0 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
1500 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
1520 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
1540 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--
1560 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--
1580 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
15a0 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
15c0 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
15e0 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
1600 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
1620 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
1640 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
1660 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
1680 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))..(
16a0 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
16c0 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
16e0 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.(
1700 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
1720 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
1740 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
1760 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
1780 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
17a0 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........................
17c0 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
17e0 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..............................
1800 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.....
1820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1840 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
1860 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-
1880 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
18a0 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).
18c0 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
18e0 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)...................
1900 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
1920 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)))........................
1940 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
1960 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
1980 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..............
19a0 20 20 20 20 20 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
19c0 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.
19e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1a20 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.....................
1a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1a60 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
1a80 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)...
1aa0 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).
1ac0 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
1ae0 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
1b00 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
1b20 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
1b40 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.......
1b60 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
1b80 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
1ba0 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...........
1bc0 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
1be0 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
1c00 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
1c20 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
1c40 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
1c60 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
1c80 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)....................
1ca0 20 20 20 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
1cc0 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.(
1ce0 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.
1d00 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).......
1d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1d40 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)))))....
1d60 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.
1d80 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
1da0 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)...(
1dc0 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.().....
1de0 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
1e00 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
1e20 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
1e40 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).......
1e60 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
1e80 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
1ea0 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
1ec0 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
1ee0 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
1f00 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
1f20 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
1f40 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)))).............
1f60 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).
1f80 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
1fa0 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).
1fc0 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
1fe0 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
2000 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)
2020 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
2040 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
2060 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
2080 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
20a0 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
20c0 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
20e0 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.
2100 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
2120 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
2140 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
2160 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
2180 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
21a0 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.(
21c0 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
21e0 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
2200 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
2220 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
2240 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.
2260 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-
2280 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
22a0 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
22c0 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)).........
22e0 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.
2300 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.
2320 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
2340 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-
2360 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
2380 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
23a0 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).....
23c0 20 20 20 20 20 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
23e0 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
2400 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))...........................
2420 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)
2440 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
2460 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
2480 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--
24a0 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--
24c0 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.
24e0 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.........
2500 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)
2520 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.....
2540 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
2560 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.
2580 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.(
25a0 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
25c0 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-
25e0 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
2600 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
2620 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
2640 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)..
2660 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
2680 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--
26a0 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
26c0 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))
26e0 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
2700 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
2720 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
2740 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
2760 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
2780 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
27a0 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
27c0 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
27e0 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
2800 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
2820 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..;;.;;
2840 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
2860 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
2880 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
28a0 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
28c0 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.......
28e0 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
2900 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
2920 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
2940 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
2960 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))).........
2980 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
29a0 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.
29c0 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)
29e0 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
2a00 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
2a20 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).............
2a40 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))..
2a60 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
2a80 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-
2aa0 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
2ac0 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
2ae0 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 ................................
2b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c00 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
2c20 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............................
2c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c60 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
2c80 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...
2ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2d00 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...................
2d20 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...................
2d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e00 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.
2e20 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;
2e40 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
2e60 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.
2e80 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
2ea0 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
2ec0 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.
2ee0 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
2f00 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
2f20 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.;;.
2f40 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
2f60 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
2f80 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
2fa0 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
2fc0 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
2fe0 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
3000 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
3020 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
3040 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
3060 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
3080 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
30a0 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
30c0 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
30e0 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
3100 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
3120 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
3140 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
3160 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
3180 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:.;;.;
31a0 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
31c0 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.
31e0 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.
3200 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
3220 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
3240 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"),
3260 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
3280 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
32a0 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
32c0 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
32e0 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
3300 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,
3320 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
3340 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
3360 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
3380 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
33a0 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.
33c0 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
33e0 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
3400 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
3420 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
3440 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
3460 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
3480 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
34a0 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
34c0 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
34e0 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.;
3500 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
3520 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.
3540 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
3560 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
3580 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
35a0 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
35c0 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
35e0 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
3600 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
3620 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
3640 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
3660 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/
3680 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
36a0 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
36c0 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
36e0 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
3700 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
3720 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)...........
3740 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
3760 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)............
3780 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
37a0 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)...........
37c0 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.
37e0 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...........................
3800 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.()......
3820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3840 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)
3860 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
3880 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.
38a0 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............................
38c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
38e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
39a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
39c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
39e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3a00 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
3a20 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..................
3a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3a60 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
3a80 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...
3aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3b00 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...................
3b20 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...................
3b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c00 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.--
3c20 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..-*-
3c40 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
3c60 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..
3c80 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
3ca0 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
3cc0 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
3ce0 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
3d00 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
3d20 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.
3d40 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
3d60 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
3d80 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.
3da0 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
3dc0 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.;;
3de0 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
3e00 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
3e20 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
3e40 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
3e60 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
3e80 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
3ea0 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
3ec0 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
3ee0 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...;;.
3f00 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.
3f20 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
3f40 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
3f60 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
3f80 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
3fa0 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.
3fc0 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
3fe0 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
4000 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
4020 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.
4040 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
4060 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.;;.
4080 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
40a0 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
40c0 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
40e0 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
4100 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
4120 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
4140 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.
4160 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
4180 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:.;
41a0 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.
41c0 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
41e0 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
4200 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
4220 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
4240 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.
4260 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
4280 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
42a0 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
42c0 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.
42e0 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.
4300 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
4320 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
4340 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.;;.
4360 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.
4380 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,.
43a0 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
43c0 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
43e0 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
4400 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:..;;
4420 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.
4440 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
4460 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/
4480 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
44a0 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
44c0 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
44e0 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
4500 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
4520 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
4540 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...
4560 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
4580 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
45a0 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
45c0 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.(
45e0 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
4600 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
4620 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..............
4640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
4660 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 ....'().........................
4680 20 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
46a0 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
46c0 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
46e0 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
4700 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.
4720 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
4740 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
4760 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
4780 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.
47a0 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
47c0 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
47e0 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."
4800 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
4820 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
4840 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)
4860 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
4880 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
48a0 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
48c0 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-
48e0 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
4900 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
4920 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-
4940 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
4960 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)...............
4980 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
49a0 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)...........................
49c0 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
49e0 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
4a00 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
4a20 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
4a40 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
4a60 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....
4a80 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
4aa0 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
4ac0 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)))....
4ae0 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
4b00 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.(
4b20 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
4b40 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
4b60 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))).........
4b80 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
4ba0 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)......................
4bc0 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...................
4be0 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
4c00 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))...................
4c20 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....................
4c40 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
4c60 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)..............................
4c80 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
4ca0 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)........................
4cc0 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
4ce0 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))).........................
4d00 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
4d20 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)............................
4d40 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)
4d60 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
4d80 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)..
4da0 20 20 20 20 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-
4dc0 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
4de0 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))))...........................
4e00 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
4e20 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 )..............................(
4e40 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
4e60 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)))...........................
4e80 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..............
4ea0 20 20 20 20 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
4ec0 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).......................
4ee0 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)
4f00 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 )...............................
4f20 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)..............
4f40 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))......
4f60 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.........
4f80 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.(
4fa0 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...................
4fc0 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-
4fe0 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)))).....
5000 20 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.(
5020 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).................
5040 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
5060 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............................
5080 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
50a0 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)..........................
50c0 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.
50e0 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.............................
5100 20 20 20 20 20 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
5120 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............................
5140 20 20 20 20 20 20 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
5160 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))))).......................
5180 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......
51a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
51c0 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).........
51e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5200 20 20 20 20 20 20 20 20 20 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))...........
5220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5240 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)....................
5260 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))))))).
5280 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
52a0 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).................
52c0 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
52e0 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))........................
5300 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)))))....
5320 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.
5340 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
5360 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.......................
5380 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
53a0 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
53c0 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)..
53e0 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.
5400 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.(
5420 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.(
5440 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).................
5460 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
5480 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)...........
54a0 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
54c0 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)........
54e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5500 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.....................
5520 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)))
5540 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.
5560 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
5580 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
55a0 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
55c0 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
55e0 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............
5600 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
5620 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.........................
5640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5660 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
5680 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...
56a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5700 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...................
5720 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...................
5740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5800 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
5820 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
5840 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
5860 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
5880 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>
58a0 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
58c0 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:.
58e0 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
5900 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
5920 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
5940 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.
5960 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
5980 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.
59a0 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.
59c0 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
59e0 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.
5a00 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
5a20 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
5a40 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.
5a60 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.;;.
5a80 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
5aa0 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.;;
5ac0 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.
5ae0 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
5b00 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
5b20 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
5b40 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
5b60 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/>...;;
5b80 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
5ba0 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
5bc0 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
5be0 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
5c00 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.;;
5c20 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
5c40 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
5c60 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
5c80 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
5ca0 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.;
5cc0 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
5ce0 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,.
5d00 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
5d20 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.
5d40 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
5d60 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
5d80 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
5da0 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
5dc0 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
5de0 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
5e00 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
5e20 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",
5e40 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
5e60 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.
5e80 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
5ea0 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
5ec0 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
5ee0 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
5f00 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
5f20 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
5f40 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
5f60 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
5f80 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,.
5fa0 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.
5fc0 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
5fe0 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...;
6000 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
6020 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
6040 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:
6060 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
6080 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:.
60a0 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
60c0 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
60e0 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
6100 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.................
6120 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).................
6140 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
6160 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))...................
6180 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)
61a0 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)
61c0 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
61e0 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))..
6200 20 20 20 20 20 20 20 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 ...............................(
6220 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.(_)......................
6240 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
6260 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
6280 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
62a0 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.............................
62c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
62e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
63a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
63c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
63e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6400 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
6420 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.............................
6440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6460 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
6480 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...
64a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
64c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
64e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6500 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...................
6520 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...................
6540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
65a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
65c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
65e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6600 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
6620 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
6640 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
6660 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".
6680 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
66a0 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
66c0 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
66e0 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
6700 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
6720 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...'
6740 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"
6760 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
6780 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
67a0 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.
67c0 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:.........................
67e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6800 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
6820 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..............
6840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6860 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
6880 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...
68a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
68c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
68e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6900 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...................
6920 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...................
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 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
6a20 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
6a40 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;.-*-
6a60 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
6a80 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
6aa0 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
6ac0 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
6ae0 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
6b00 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
6b20 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
6b40 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
6b60 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
6b80 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
6ba0 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
6bc0 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
6be0 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
6c00 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
6c20 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
6c40 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.
6c60 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
6c80 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
6ca0 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
6cc0 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
6ce0 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
6d00 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
6d20 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
6d40 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
6d60 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
6d80 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
6da0 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
6dc0 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
6de0 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
6e00 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
6e20 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
6e40 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
6e60 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.
6e80 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.
6ea0 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
6ec0 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,.
6ee0 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
6f00 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
6f20 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
6f40 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
6f60 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
6f80 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
6fa0 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
6fc0 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
6fe0 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
7000 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
7020 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
7040 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
7060 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.
7080 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
70a0 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
70c0 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
70e0 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
7100 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
7120 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
7140 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
7160 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
7180 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
71a0 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.
71c0 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
71e0 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.
7200 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
7220 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
7240 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
7260 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
7280 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/
72a0 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:.
72c0 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..
72e0 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
7300 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
7320 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
7340 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
7360 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
7380 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
73a0 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...........................
73c0 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........
73e0 20 20 20 20 20 20 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
7400 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...............
7420 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-
7440 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
7460 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
7480 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.
74a0 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
74c0 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
74e0 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
7500 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.(
7520 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
7540 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
7560 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
7580 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)...
75a0 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
75c0 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)))...
75e0 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
7600 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.(
7620 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)))........
7640 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
7660 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
7680 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
76a0 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))...................
76c0 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
76e0 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
7700 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
7720 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.
7740 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)...
7760 20 20 20 20 20 20 20 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 ...............................(
7780 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........
77a0 20 20 20 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
77c0 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)...............
77e0 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
7800 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)....................
7820 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
7840 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)))................
7860 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
7880 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))..
78a0 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...
78c0 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
78e0 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)................
7900 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.'
7920 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).......................
7940 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
7960 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)...........................
7980 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
79a0 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)...........................
79c0 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)
79e0 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.
7a00 20 20 20 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
7a20 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)........
7a40 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
7a60 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-
7a80 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).............................
7aa0 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
7ac0 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
7ae0 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
7b00 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).....
7b20 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........
7b40 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
7b60 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).........................
7b80 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).
7ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
7bc0 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)...
7be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
7c00 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)))........
7c20 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
7c40 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))...........
7c60 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
7c80 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)
7ca0 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 :"..............................
7cc0 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
7ce0 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)).........................
7d00 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
7d20 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
7d40 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
7d60 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.
7d80 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."............................
7da0 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
7dc0 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
7de0 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
7e00 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.
7e20 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)
7e40 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...............
7e60 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
7e80 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))
7ea0 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
7ec0 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)
7ee0 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
7f00 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
7f20 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
7f40 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-
7f60 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)
7f80 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
7fa0 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
7fc0 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
7fe0 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
8000 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.(
8020 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
8040 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......
8060 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
8080 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))..
80a0 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
80c0 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).........
80e0 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..
8100 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)...........................
8120 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).................
8140 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
8160 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.............................
8180 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-
81a0 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.......................
81c0 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
81e0 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)..........
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 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..........................
8240 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).............
8260 20 20 20 20 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.
8280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
82a0 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.()..............
82c0 20 20 20 20 20 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
82e0 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
8300 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)))))..................
8320 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)).......
8340 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)))
8360 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.
8380 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
83a0 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
83c0 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
83e0 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
8400 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
8420 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.(
8440 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
8460 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)............
8480 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)).....
84a0 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).........
84c0 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))
84e0 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
8500 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
8520 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.............
8540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
85a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
85c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
85e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8600 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.
8620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8660 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
8680 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...
86a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
86c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
86e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8700 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...................
8720 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...................
8740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
87a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
87c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
87e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8800 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+..
8820 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
8840 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.(
8860 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
8880 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
88a0 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
88c0 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
88e0 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")).;
8900 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
8920 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
8940 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
8960 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.;
8980 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.
89a0 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
89c0 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
89e0 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.
8a00 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).
8a20 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
8a40 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
8a60 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
8a80 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
8aa0 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
8ac0 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
8ae0 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
8b00 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
8b20 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
8b40 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
8b60 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
8b80 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:/
8ba0 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
8bc0 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:.;;
8be0 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
8c00 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
8c20 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
8c40 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.
8c60 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
8c80 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"
8ca0 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
8cc0 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
8ce0 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
8d00 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
8d20 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/
8d40 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
8d60 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
8d80 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
8da0 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
8dc0 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
8de0 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
8e00 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.;;
8e20 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
8e40 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
8e60 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
8e80 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
8ea0 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.
8ec0 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
8ee0 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
8f00 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
8f20 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
8f40 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
8f60 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
8f80 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
8fa0 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.
8fc0 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
8fe0 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.
9000 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
9020 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
9040 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.
9060 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+..;
9080 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.
90a0 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
90c0 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://
90e0 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.;;.;;.*.
9100 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
9120 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
9140 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,
9160 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
9180 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
91a0 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
91c0 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:.;;
91e0 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
9200 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
9220 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
9240 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
9260 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
9280 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
92a0 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..;;.;;.(
92c0 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
92e0 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
9300 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
9320 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.
9340 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
9360 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
9380 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
93a0 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
93c0 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
93e0 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
9400 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.;;.................
9420 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.;;............
9440 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.().;;
9460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
9480 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)))))).;;
94a0 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
94c0 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
94e0 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.
9500 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).;;....
9520 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).;;......
9540 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:.%
9560 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
9580 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)))).
95a0 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-
95c0 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.
95e0 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
9600 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-
9620 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)))).;
9640 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
9660 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
9680 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)))
96a0 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
96c0 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
96e0 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
9700 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-
9720 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
9740 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
9760 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.
9780 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
97a0 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
97c0 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
97e0 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........(
9800 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).............))...
9820 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
9840 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.
9860 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)..........
9880 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
98a0 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
98c0 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'
98e0 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
9900 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)...............
9920 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
9940 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).....
9960 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.......
9980 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....)
99a0 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-
99c0 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....................
99e0 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)..
9a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
9a20 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.(
9a40 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...........
9a60 20 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
9a80 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)........................
9aa0 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
9ac0 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.
9ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
9b00 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)..............
9b20 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 ..........................)))...
9b40 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
9b60 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.....................
9b80 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.().....
9ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
9bc0 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.(
9be0 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............
9c00 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.(
9c20 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).........................
9c40 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.->
9c60 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)...................
9c80 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 .....................)))........
9ca0 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
9cc0 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............................
9ce0 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)........
9d00 20 20 20 20 20 20 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
9d20 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
9d40 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)..........................
9d60 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
9d80 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.
9da0 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))
9dc0 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)..
9de0 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
9e00 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))......................
9e20 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))).......
9e40 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........
9e60 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......
9e80 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.
9ea0 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
9ec0 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.....................
9ee0 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................
9f00 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............
9f20 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)....
9f40 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
9f60 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)))........
9f80 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............
9fa0 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
9fc0 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)))......
9fe0 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...........
a000 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
a020 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)))......
a040 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...........
a060 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
a080 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)))......
a0a0 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........
a0c0 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
a0e0 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)))
a100 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....
a120 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
a140 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.
a160 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)))).............
a180 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................
a1a0 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
a1c0 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).,@
a1e0 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
a200 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
a220 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)....
a240 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
a260 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.
a280 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.
a2a0 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
a2c0 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
a2e0 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
a300 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:...
a320 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
a340 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
a360 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..
a380 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
a3a0 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:
a3c0 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
a3e0 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....
a400 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)......(
a420 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............
a440 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.()...............
a460 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
a480 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
a4a0 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).
a4c0 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
a4e0 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.
a500 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..
a520 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
a540 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
a560 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..
a580 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>"...
a5a0 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-
a5c0 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)
a5e0 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.........
a600 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...................
a620 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.().....................(
a640 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
a660 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
a680 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
a6a0 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
a6c0 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.
a6e0 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.`
a700 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
a720 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
a740 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
a760 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
a780 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.
a7a0 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)....
a7c0 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.........
a7e0 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.()............
a800 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)
a820 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
a840 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
a860 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.
a880 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
a8a0 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.
a8c0 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
a8e0 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
a900 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.#'
a920 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
a940 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
a960 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
a980 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
a9a0 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
a9c0 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
a9e0 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....
aa00 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
aa20 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-
aa40 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.
aa60 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
aa80 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
aaa0 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
aac0 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.".
aae0 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
ab00 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
ab20 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).....
ab40 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
ab60 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
ab80 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
aba0 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
abc0 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
abe0 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
ac00 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
ac20 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
ac40 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.
ac60 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
ac80 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.
aca0 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..
acc0 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-
ace0 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.
ad00 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:
ad20 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.......
ad40 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.
ad60 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
ad80 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)...........
ada0 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))))..(
adc0 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-
ade0 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
ae00 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
ae20 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
ae40 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.
ae60 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
ae80 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
aea0 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.
aec0 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
aee0 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
af00 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...
af20 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
af40 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.
af60 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.
af80 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:...-.
afa0 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
afc0 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
afe0 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
b000 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
b020 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
b040 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
b060 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"..
b080 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
b0a0 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.(
b0c0 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
b0e0 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."
b100 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*")))........
b120 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
b140 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
b160 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
b180 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
b1a0 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...
b1c0 20 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
b1e0 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.....................
b200 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
b220 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*")..............
b240 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.......
b260 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
b280 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.
b2a0 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.
b2c0 20 20 20 20 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
b2e0 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)..........
b300 20 20 20 20 20 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
b320 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........
b340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
b360 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))))))...........
b380 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.()...........
b3a0 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
b3c0 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
b3e0 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...................
b400 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
b420 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
b440 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
b460 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
b480 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........
b4a0 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
b4c0 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.:
b4e0 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)................
b500 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
b520 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
b540 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))))...
b560 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
b580 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.............
b5a0 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)......
b5c0 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......
b5e0 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
b600 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....
b620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
b640 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)))..........
b660 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
b680 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...............
b6a0 20 20 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-
b6c0 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...........
b6e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
b700 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))))).............
b720 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
b740 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")......................
b760 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
b780 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)).............
b7a0 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
b7c0 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)))
b7e0 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
b800 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
b820 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
b840 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
b860 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
b880 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))))))))
b8a0 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
b8c0 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
b8e0 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.
b900 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
b920 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))....
b940 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
b960 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
b980 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
b9a0 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
b9c0 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.
b9e0 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
ba00 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
ba20 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
ba40 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
ba60 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
ba80 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.
baa0 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
bac0 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
bae0 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"
bb00 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
bb20 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)....
bb40 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
bb60 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:
bb80 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
bba0 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")))
bbc0 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
bbe0 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
bc00 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-
bc20 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
bc40 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
bc60 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
bc80 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.'
bca0 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"))).....
bcc0 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)))))..(
bce0 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
bd00 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
bd20 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
bd40 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:...-
bd60 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
bd80 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
bda0 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
bdc0 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-
bde0 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
be00 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
be20 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))
be40 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
be60 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
be80 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
bea0 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.&
bec0 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.
bee0 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
bf00 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
bf20 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
bf40 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
bf60 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
bf80 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
bfa0 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
bfc0 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
bfe0 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
c000 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
c020 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-
c040 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
c060 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...
c080 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
c0a0 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
c0c0 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
c0e0 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
c100 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
c120 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
c140 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
c160 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
c180 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
c1a0 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.
c1c0 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
c1e0 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
c200 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
c220 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...
c240 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)......(
c260 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......
c280 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.
c2a0 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
c2c0 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
c2e0 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
c300 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)).........(
c320 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
c340 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:.
c360 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
c380 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
c3a0 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
c3c0 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.
c3e0 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
c400 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
c420 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.
c440 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
c460 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
c480 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:
c4a0 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
c4c0 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:.
c4e0 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
c500 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
c520 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
c540 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
c560 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)...................
c580 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
c5a0 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
c5c0 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.....................
c5e0 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).
c600 20 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
c620 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
c640 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
c660 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..................
c680 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
c6a0 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))....................
c6c0 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
c6e0 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))....................
c700 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
c720 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).............
c740 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
c760 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
c780 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))))......................
c7a0 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))
c7c0 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).........
c7e0 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
c800 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
c820 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
c840 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
c860 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:
c880 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
c8a0 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'
c8c0 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
c8e0 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
c900 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
c920 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."..
c940 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
c960 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
c980 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
c9a0 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
c9c0 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
c9e0 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
ca00 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
ca20 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)..........
ca40 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.
ca60 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))......
ca80 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
caa0 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...........................
cac0 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
cae0 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)).............................
cb00 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
cb20 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)).............................
cb40 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-*
cb60 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)......................
cb80 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
cba0 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)))...................
cbc0 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
cbe0 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
cc00 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
cc20 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
cc40 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.
cc60 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
cc80 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
cca0 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
ccc0 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)"..
cce0 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.
cd00 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
cd20 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.
cd40 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
cd60 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
cd80 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
cda0 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
cdc0 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:..
cde0 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
ce00 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
ce20 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))...(
ce40 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.`(
ce60 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
ce80 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
cea0 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
cec0 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
cee0 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
cf00 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
cf20 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".(
cf40 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
cf60 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".
cf80 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
cfa0 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
cfc0 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
cfe0 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
d000 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.
d020 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
d040 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
d060 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
d080 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)"..
d0a0 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
d0c0 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
d0e0 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
d100 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)..
d120 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
d140 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
d160 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
d180 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
d1a0 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
d1c0 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
d1e0 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
d200 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................
d220 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
d240 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)....................
d260 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)))...
d280 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...
d2a0 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.
d2c0 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).....
d2e0 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
d300 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...............................
d320 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-
d340 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)..................
d360 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
d380 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).....
d3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
d3c0 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
d3e0 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))))..(
d400 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
d420 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
d440 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
d460 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.&
d480 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
d4a0 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
d4c0 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
d4e0 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
d500 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'...
d520 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
d540 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
d560 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
d580 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
d5a0 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
d5c0 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
d5e0 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
d600 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.
d620 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
d640 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.(
d660 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
d680 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
d6a0 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..............................
d6c0 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).....
d6e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
d700 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.........
d720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
d740 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)
d760 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 )...............................
d780 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
d7a0 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)))..........................
d7c0 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).......
d7e0 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
d800 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...................
d820 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.
d840 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)..................
d860 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
d880 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
d8a0 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
d8c0 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
d8e0 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.
d900 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:
d920 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
d940 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'.
d960 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
d980 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
d9a0 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
d9c0 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
d9e0 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
da00 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
da20 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)."...
da40 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
da60 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..........
da80 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
daa0 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...............................
dac0 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.().....................
dae0 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....
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 20 20 20 ................................
db20 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)................
db40 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
db60 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)))
db80 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
dba0 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
dbc0 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
dbe0 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.....................
dc00 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)............
dc20 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
dc40 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
dc60 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
dc80 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)))))...............
dca0 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)..........
dcc0 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....
dce0 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
dd00 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
dd20 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)..............
dd40 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
dd60 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)))))
dd80 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
dda0 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
ddc0 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
dde0 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
de00 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
de20 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
de40 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
de60 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
de80 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
dea0 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
dec0 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).
dee0 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
df00 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
df20 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
df40 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
df60 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
df80 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
dfa0 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
dfc0 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
dfe0 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
e000 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
e020 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.
e040 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
e060 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
e080 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
e0a0 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
e0c0 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
e0e0 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
e100 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))....
e120 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)
e140 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)....
e160 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.............
e180 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
e1a0 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)..............
e1c0 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
e1e0 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).....................
e200 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))....
e220 20 20 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
e240 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).....................
e260 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
e280 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)...................
e2a0 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)..
e2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
e2e0 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)......
e300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
e320 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))))......
e340 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.(
e360 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).................
e380 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
e3a0 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).........
e3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
e3e0 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).......
e400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
e420 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)
e440 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 ................................
e460 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)
e480 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
e4a0 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
e4c0 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)
e4e0 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.(_)........
e500 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)........
e520 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..............
e540 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
e560 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
e580 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
e5a0 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.
e5c0 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
e5e0 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.
e600 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
e620 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
e640 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
e660 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
e680 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
e6a0 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:
e6c0 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
e6e0 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
e700 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
e720 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
e740 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
e760 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
e780 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
e7a0 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
e7c0 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
e7e0 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
e800 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
e820 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
e840 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
e860 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.(
e880 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
e8a0 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
e8c0 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
e8e0 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
e900 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
e920 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
e940 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
e960 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
e980 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
e9a0 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
e9c0 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
e9e0 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
ea00 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
ea20 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
ea40 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
ea60 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
ea80 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
eaa0 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
eac0 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
eae0 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
eb00 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....
eb20 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
eb40 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
eb60 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
eb80 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.
eba0 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
ebc0 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
ebe0 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.
ec00 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
ec20 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
ec40 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
ec60 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
ec80 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
eca0 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))
ecc0 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
ece0 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...................
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 ................................