summaryrefslogtreecommitdiff
path: root/test/dummy/tmp/cache/assets/D36/A40/sprockets%2Ff04158f446ef4a685641bbcd05f23c1a
blob: 109fc57231bcb9f94adcdaa4a4a0346ce82fe93a (plain)
ofshex dumpascii
0000 04 08 6f 3a 20 41 63 74 69 76 65 53 75 70 70 6f 72 74 3a 3a 43 61 63 68 65 3a 3a 45 6e 74 72 79 ..o:.ActiveSupport::Cache::Entry
0020 09 3a 10 40 63 72 65 61 74 65 64 5f 61 74 66 1a 31 33 34 37 39 37 35 38 38 35 2e 37 30 30 31 37 .:.@created_atf.1347975885.70017
0040 32 39 00 cf a2 3a 0b 40 76 61 6c 75 65 22 02 ce 42 04 08 7b 11 22 16 64 65 70 65 6e 64 65 6e 63 29...:.@value"..B..{.".dependenc
0060 79 5f 64 69 67 65 73 74 22 25 36 64 35 65 35 62 34 61 33 64 31 31 31 63 34 63 35 61 65 38 61 36 y_digest"%6d5e5b4a3d111c4c5ae8a6
0080 39 37 39 32 65 36 66 64 64 36 22 0b 6c 65 6e 67 74 68 69 02 4d 40 22 0b 73 6f 75 72 63 65 22 02 9792e6fdd6".lengthi.M@".source".
00a0 4d 40 2f 2a 0a 20 2a 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 30 33 2d 32 30 30 35 20 M@/*..*.Copyright.(c).2003-2005.
00c0 20 54 6f 6d 20 57 75 0a 20 2a 20 41 6c 6c 20 52 69 67 68 74 73 20 52 65 73 65 72 76 65 64 2e 0a .Tom.Wu..*.All.Rights.Reserved..
00e0 20 2a 0a 20 2a 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 74 .*..*.Permission.is.hereby.grant
0100 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 6f ed,.free.of.charge,.to.any.perso
0120 6e 20 6f 62 74 61 69 6e 69 6e 67 0a 20 2a 20 61 20 63 6f 70 79 20 6f 66 20 74 68 69 73 20 73 6f n.obtaining..*.a.copy.of.this.so
0140 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 74 ftware.and.associated.documentat
0160 69 6f 6e 20 66 69 6c 65 73 20 28 74 68 65 0a 20 2a 20 22 53 6f 66 74 77 61 72 65 22 29 2c 20 74 ion.files.(the..*."Software"),.t
0180 6f 20 64 65 61 6c 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 72 o.deal.in.the.Software.without.r
01a0 65 73 74 72 69 63 74 69 6f 6e 2c 20 69 6e 63 6c 75 64 69 6e 67 0a 20 2a 20 77 69 74 68 6f 75 74 estriction,.including..*.without
01c0 20 6c 69 6d 69 74 61 74 69 6f 6e 20 74 68 65 20 72 69 67 68 74 73 20 74 6f 20 75 73 65 2c 20 63 .limitation.the.rights.to.use,.c
01e0 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 0a 20 2a 20 opy,.modify,.merge,.publish,..*.
0200 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 20 73 distribute,.sublicense,.and/or.s
0220 65 6c 6c 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 20 ell.copies.of.the.Software,.and.
0240 74 6f 0a 20 2a 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 to..*.permit.persons.to.whom.the
0260 20 53 6f 66 74 77 61 72 65 20 69 73 20 66 75 72 6e 69 73 68 65 64 20 74 6f 20 64 6f 20 73 6f 2c .Software.is.furnished.to.do.so,
0280 20 73 75 62 6a 65 63 74 20 74 6f 0a 20 2a 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6e .subject.to..*.the.following.con
02a0 64 69 74 69 6f 6e 73 3a 0a 20 2a 0a 20 2a 20 54 68 65 20 61 62 6f 76 65 20 63 6f 70 79 72 69 67 ditions:..*..*.The.above.copyrig
02c0 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 6e 6f ht.notice.and.this.permission.no
02e0 74 69 63 65 20 73 68 61 6c 6c 20 62 65 0a 20 2a 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 61 6c 6c tice.shall.be..*.included.in.all
0300 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 73 20 .copies.or.substantial.portions.
0320 6f 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2e 0a 20 2a 0a 20 2a 20 54 48 45 20 53 4f 46 54 57 of.the.Software...*..*.THE.SOFTW
0340 41 52 45 20 49 53 20 50 52 4f 56 49 44 45 44 20 22 41 53 2d 49 53 22 20 41 4e 44 20 57 49 54 48 ARE.IS.PROVIDED."AS-IS".AND.WITH
0360 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 0a 20 2a 20 45 58 OUT.WARRANTY.OF.ANY.KIND,...*.EX
0380 50 52 45 53 53 2c 20 49 4d 50 4c 49 45 44 20 4f 52 20 4f 54 48 45 52 57 49 53 45 2c 20 49 4e 43 PRESS,.IMPLIED.OR.OTHERWISE,.INC
03a0 4c 55 44 49 4e 47 20 57 49 54 48 4f 55 54 20 4c 49 4d 49 54 41 54 49 4f 4e 2c 20 41 4e 59 20 0a LUDING.WITHOUT.LIMITATION,.ANY..
03c0 20 2a 20 57 41 52 52 41 4e 54 59 20 4f 46 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 4f .*.WARRANTY.OF.MERCHANTABILITY.O
03e0 52 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 R.FITNESS.FOR.A.PARTICULAR.PURPO
0400 53 45 2e 20 20 0a 20 2a 0a 20 2a 20 49 4e 20 4e 4f 20 45 56 45 4e 54 20 53 48 41 4c 4c 20 54 4f SE.....*..*.IN.NO.EVENT.SHALL.TO
0420 4d 20 57 55 20 42 45 20 4c 49 41 42 4c 45 20 46 4f 52 20 41 4e 59 20 53 50 45 43 49 41 4c 2c 20 M.WU.BE.LIABLE.FOR.ANY.SPECIAL,.
0440 49 4e 43 49 44 45 4e 54 41 4c 2c 0a 20 2a 20 49 4e 44 49 52 45 43 54 20 4f 52 20 43 4f 4e 53 45 INCIDENTAL,..*.INDIRECT.OR.CONSE
0460 51 55 45 4e 54 49 41 4c 20 44 41 4d 41 47 45 53 20 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 4f 52 QUENTIAL.DAMAGES.OF.ANY.KIND,.OR
0480 20 41 4e 59 20 44 41 4d 41 47 45 53 20 57 48 41 54 53 4f 45 56 45 52 0a 20 2a 20 52 45 53 55 4c .ANY.DAMAGES.WHATSOEVER..*.RESUL
04a0 54 49 4e 47 20 46 52 4f 4d 20 4c 4f 53 53 20 4f 46 20 55 53 45 2c 20 44 41 54 41 20 4f 52 20 50 TING.FROM.LOSS.OF.USE,.DATA.OR.P
04c0 52 4f 46 49 54 53 2c 20 57 48 45 54 48 45 52 20 4f 52 20 4e 4f 54 20 41 44 56 49 53 45 44 20 4f ROFITS,.WHETHER.OR.NOT.ADVISED.O
04e0 46 0a 20 2a 20 54 48 45 20 50 4f 53 53 49 42 49 4c 49 54 59 20 4f 46 20 44 41 4d 41 47 45 2c 20 F..*.THE.POSSIBILITY.OF.DAMAGE,.
0500 41 4e 44 20 4f 4e 20 41 4e 59 20 54 48 45 4f 52 59 20 4f 46 20 4c 49 41 42 49 4c 49 54 59 2c 20 AND.ON.ANY.THEORY.OF.LIABILITY,.
0520 41 52 49 53 49 4e 47 20 4f 55 54 0a 20 2a 20 4f 46 20 4f 52 20 49 4e 20 43 4f 4e 4e 45 43 54 49 ARISING.OUT..*.OF.OR.IN.CONNECTI
0540 4f 4e 20 57 49 54 48 20 54 48 45 20 55 53 45 20 4f 52 20 50 45 52 46 4f 52 4d 41 4e 43 45 20 4f ON.WITH.THE.USE.OR.PERFORMANCE.O
0560 46 20 54 48 49 53 20 53 4f 46 54 57 41 52 45 2e 0a 20 2a 0a 20 2a 20 49 6e 20 61 64 64 69 74 69 F.THIS.SOFTWARE...*..*.In.additi
0580 6f 6e 2c 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6e 64 69 74 69 6f 6e 20 61 70 70 6c on,.the.following.condition.appl
05a0 69 65 73 3a 0a 20 2a 0a 20 2a 20 41 6c 6c 20 72 65 64 69 73 74 72 69 62 75 74 69 6f 6e 73 20 6d ies:..*..*.All.redistributions.m
05c0 75 73 74 20 72 65 74 61 69 6e 20 61 6e 20 69 6e 74 61 63 74 20 63 6f 70 79 20 6f 66 20 74 68 69 ust.retain.an.intact.copy.of.thi
05e0 73 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 0a 20 2a 20 61 6e 64 20 64 69 73 63 6c 61 s.copyright.notice..*.and.discla
0600 69 6d 65 72 2e 0a 20 2a 2f 0a 0a 2f 2f 20 42 61 73 69 63 20 4a 61 76 61 53 63 72 69 70 74 20 42 imer...*/..//.Basic.JavaScript.B
0620 4e 20 6c 69 62 72 61 72 79 20 2d 20 73 75 62 73 65 74 20 75 73 65 66 75 6c 20 66 6f 72 20 52 53 N.library.-.subset.useful.for.RS
0640 41 20 65 6e 63 72 79 70 74 69 6f 6e 2e 0a 0a 2f 2f 20 42 69 74 73 20 70 65 72 20 64 69 67 69 74 A.encryption...//.Bits.per.digit
0660 0a 76 61 72 20 64 62 69 74 73 3b 0a 0a 2f 2f 20 4a 61 76 61 53 63 72 69 70 74 20 65 6e 67 69 6e .var.dbits;..//.JavaScript.engin
0680 65 20 61 6e 61 6c 79 73 69 73 0a 76 61 72 20 63 61 6e 61 72 79 20 3d 20 30 78 64 65 61 64 62 65 e.analysis.var.canary.=.0xdeadbe
06a0 65 66 63 61 66 65 3b 0a 76 61 72 20 6a 5f 6c 6d 20 3d 20 28 28 63 61 6e 61 72 79 26 30 78 66 66 efcafe;.var.j_lm.=.((canary&0xff
06c0 66 66 66 66 29 3d 3d 30 78 65 66 63 61 66 65 29 3b 0a 0a 2f 2f 20 28 70 75 62 6c 69 63 29 20 43 ffff)==0xefcafe);..//.(public).C
06e0 6f 6e 73 74 72 75 63 74 6f 72 0a 66 75 6e 63 74 69 6f 6e 20 42 69 67 49 6e 74 65 67 65 72 28 61 onstructor.function.BigInteger(a
0700 2c 62 2c 63 29 20 7b 0a 20 20 69 66 28 61 20 21 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 69 66 28 22 ,b,c).{...if(a.!=.null).....if("
0720 6e 75 6d 62 65 72 22 20 3d 3d 20 74 79 70 65 6f 66 20 61 29 20 74 68 69 73 2e 66 72 6f 6d 4e 75 number".==.typeof.a).this.fromNu
0740 6d 62 65 72 28 61 2c 62 2c 63 29 3b 0a 20 20 20 20 65 6c 73 65 20 69 66 28 62 20 3d 3d 20 6e 75 mber(a,b,c);.....else.if(b.==.nu
0760 6c 6c 20 26 26 20 22 73 74 72 69 6e 67 22 20 21 3d 20 74 79 70 65 6f 66 20 61 29 20 74 68 69 73 ll.&&."string".!=.typeof.a).this
0780 2e 66 72 6f 6d 53 74 72 69 6e 67 28 61 2c 32 35 36 29 3b 0a 20 20 20 20 65 6c 73 65 20 74 68 69 .fromString(a,256);.....else.thi
07a0 73 2e 66 72 6f 6d 53 74 72 69 6e 67 28 61 2c 62 29 3b 0a 7d 0a 0a 2f 2f 20 72 65 74 75 72 6e 20 s.fromString(a,b);.}..//.return.
07c0 6e 65 77 2c 20 75 6e 73 65 74 20 42 69 67 49 6e 74 65 67 65 72 0a 66 75 6e 63 74 69 6f 6e 20 6e new,.unset.BigInteger.function.n
07e0 62 69 28 29 20 7b 20 72 65 74 75 72 6e 20 6e 65 77 20 42 69 67 49 6e 74 65 67 65 72 28 6e 75 6c bi().{.return.new.BigInteger(nul
0800 6c 29 3b 20 7d 0a 0a 2f 2f 20 61 6d 3a 20 43 6f 6d 70 75 74 65 20 77 5f 6a 20 2b 3d 20 28 78 2a l);.}..//.am:.Compute.w_j.+=.(x*
0820 74 68 69 73 5f 69 29 2c 20 70 72 6f 70 61 67 61 74 65 20 63 61 72 72 69 65 73 2c 0a 2f 2f 20 63 this_i),.propagate.carries,.//.c
0840 20 69 73 20 69 6e 69 74 69 61 6c 20 63 61 72 72 79 2c 20 72 65 74 75 72 6e 73 20 66 69 6e 61 6c .is.initial.carry,.returns.final
0860 20 63 61 72 72 79 2e 0a 2f 2f 20 63 20 3c 20 33 2a 64 76 61 6c 75 65 2c 20 78 20 3c 20 32 2a 64 .carry..//.c.<.3*dvalue,.x.<.2*d
0880 76 61 6c 75 65 2c 20 74 68 69 73 5f 69 20 3c 20 64 76 61 6c 75 65 0a 2f 2f 20 57 65 20 6e 65 65 value,.this_i.<.dvalue.//.We.nee
08a0 64 20 74 6f 20 73 65 6c 65 63 74 20 74 68 65 20 66 61 73 74 65 73 74 20 6f 6e 65 20 74 68 61 74 d.to.select.the.fastest.one.that
08c0 20 77 6f 72 6b 73 20 69 6e 20 74 68 69 73 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2e 0a 0a 2f 2f 20 .works.in.this.environment...//.
08e0 61 6d 31 3a 20 75 73 65 20 61 20 73 69 6e 67 6c 65 20 6d 75 6c 74 20 61 6e 64 20 64 69 76 69 64 am1:.use.a.single.mult.and.divid
0900 65 20 74 6f 20 67 65 74 20 74 68 65 20 68 69 67 68 20 62 69 74 73 2c 0a 2f 2f 20 6d 61 78 20 64 e.to.get.the.high.bits,.//.max.d
0920 69 67 69 74 20 62 69 74 73 20 73 68 6f 75 6c 64 20 62 65 20 32 36 20 62 65 63 61 75 73 65 0a 2f igit.bits.should.be.26.because./
0940 2f 20 6d 61 78 20 69 6e 74 65 72 6e 61 6c 20 76 61 6c 75 65 20 3d 20 32 2a 64 76 61 6c 75 65 5e /.max.internal.value.=.2*dvalue^
0960 32 2d 32 2a 64 76 61 6c 75 65 20 28 3c 20 32 5e 35 33 29 0a 66 75 6e 63 74 69 6f 6e 20 61 6d 31 2-2*dvalue.(<.2^53).function.am1
0980 28 69 2c 78 2c 77 2c 6a 2c 63 2c 6e 29 20 7b 0a 20 20 77 68 69 6c 65 28 2d 2d 6e 20 3e 3d 20 30 (i,x,w,j,c,n).{...while(--n.>=.0
09a0 29 20 7b 0a 20 20 20 20 76 61 72 20 76 20 3d 20 78 2a 74 68 69 73 5b 69 2b 2b 5d 2b 77 5b 6a 5d ).{.....var.v.=.x*this[i++]+w[j]
09c0 2b 63 3b 0a 20 20 20 20 63 20 3d 20 4d 61 74 68 2e 66 6c 6f 6f 72 28 76 2f 30 78 34 30 30 30 30 +c;.....c.=.Math.floor(v/0x40000
09e0 30 30 29 3b 0a 20 20 20 20 77 5b 6a 2b 2b 5d 20 3d 20 76 26 30 78 33 66 66 66 66 66 66 3b 0a 20 00);.....w[j++].=.v&0x3ffffff;..
0a00 20 7d 0a 20 20 72 65 74 75 72 6e 20 63 3b 0a 7d 0a 2f 2f 20 61 6d 32 20 61 76 6f 69 64 73 20 61 .}...return.c;.}.//.am2.avoids.a
0a20 20 62 69 67 20 6d 75 6c 74 2d 61 6e 64 2d 65 78 74 72 61 63 74 20 63 6f 6d 70 6c 65 74 65 6c 79 .big.mult-and-extract.completely
0a40 2e 0a 2f 2f 20 4d 61 78 20 64 69 67 69 74 20 62 69 74 73 20 73 68 6f 75 6c 64 20 62 65 20 3c 3d ..//.Max.digit.bits.should.be.<=
0a60 20 33 30 20 62 65 63 61 75 73 65 20 77 65 20 64 6f 20 62 69 74 77 69 73 65 20 6f 70 73 0a 2f 2f .30.because.we.do.bitwise.ops.//
0a80 20 6f 6e 20 76 61 6c 75 65 73 20 75 70 20 74 6f 20 32 2a 68 64 76 61 6c 75 65 5e 32 2d 68 64 76 .on.values.up.to.2*hdvalue^2-hdv
0aa0 61 6c 75 65 2d 31 20 28 3c 20 32 5e 33 31 29 0a 66 75 6e 63 74 69 6f 6e 20 61 6d 32 28 69 2c 78 alue-1.(<.2^31).function.am2(i,x
0ac0 2c 77 2c 6a 2c 63 2c 6e 29 20 7b 0a 20 20 76 61 72 20 78 6c 20 3d 20 78 26 30 78 37 66 66 66 2c ,w,j,c,n).{...var.xl.=.x&0x7fff,
0ae0 20 78 68 20 3d 20 78 3e 3e 31 35 3b 0a 20 20 77 68 69 6c 65 28 2d 2d 6e 20 3e 3d 20 30 29 20 7b .xh.=.x>>15;...while(--n.>=.0).{
0b00 0a 20 20 20 20 76 61 72 20 6c 20 3d 20 74 68 69 73 5b 69 5d 26 30 78 37 66 66 66 3b 0a 20 20 20 .....var.l.=.this[i]&0x7fff;....
0b20 20 76 61 72 20 68 20 3d 20 74 68 69 73 5b 69 2b 2b 5d 3e 3e 31 35 3b 0a 20 20 20 20 76 61 72 20 .var.h.=.this[i++]>>15;.....var.
0b40 6d 20 3d 20 78 68 2a 6c 2b 68 2a 78 6c 3b 0a 20 20 20 20 6c 20 3d 20 78 6c 2a 6c 2b 28 28 6d 26 m.=.xh*l+h*xl;.....l.=.xl*l+((m&
0b60 30 78 37 66 66 66 29 3c 3c 31 35 29 2b 77 5b 6a 5d 2b 28 63 26 30 78 33 66 66 66 66 66 66 66 29 0x7fff)<<15)+w[j]+(c&0x3fffffff)
0b80 3b 0a 20 20 20 20 63 20 3d 20 28 6c 3e 3e 3e 33 30 29 2b 28 6d 3e 3e 3e 31 35 29 2b 78 68 2a 68 ;.....c.=.(l>>>30)+(m>>>15)+xh*h
0ba0 2b 28 63 3e 3e 3e 33 30 29 3b 0a 20 20 20 20 77 5b 6a 2b 2b 5d 20 3d 20 6c 26 30 78 33 66 66 66 +(c>>>30);.....w[j++].=.l&0x3fff
0bc0 66 66 66 66 3b 0a 20 20 7d 0a 20 20 72 65 74 75 72 6e 20 63 3b 0a 7d 0a 2f 2f 20 41 6c 74 65 72 ffff;...}...return.c;.}.//.Alter
0be0 6e 61 74 65 6c 79 2c 20 73 65 74 20 6d 61 78 20 64 69 67 69 74 20 62 69 74 73 20 74 6f 20 32 38 nately,.set.max.digit.bits.to.28
0c00 20 73 69 6e 63 65 20 73 6f 6d 65 0a 2f 2f 20 62 72 6f 77 73 65 72 73 20 73 6c 6f 77 20 64 6f 77 .since.some.//.browsers.slow.dow
0c20 6e 20 77 68 65 6e 20 64 65 61 6c 69 6e 67 20 77 69 74 68 20 33 32 2d 62 69 74 20 6e 75 6d 62 65 n.when.dealing.with.32-bit.numbe
0c40 72 73 2e 0a 66 75 6e 63 74 69 6f 6e 20 61 6d 33 28 69 2c 78 2c 77 2c 6a 2c 63 2c 6e 29 20 7b 0a rs..function.am3(i,x,w,j,c,n).{.
0c60 20 20 76 61 72 20 78 6c 20 3d 20 78 26 30 78 33 66 66 66 2c 20 78 68 20 3d 20 78 3e 3e 31 34 3b ..var.xl.=.x&0x3fff,.xh.=.x>>14;
0c80 0a 20 20 77 68 69 6c 65 28 2d 2d 6e 20 3e 3d 20 30 29 20 7b 0a 20 20 20 20 76 61 72 20 6c 20 3d ...while(--n.>=.0).{.....var.l.=
0ca0 20 74 68 69 73 5b 69 5d 26 30 78 33 66 66 66 3b 0a 20 20 20 20 76 61 72 20 68 20 3d 20 74 68 69 .this[i]&0x3fff;.....var.h.=.thi
0cc0 73 5b 69 2b 2b 5d 3e 3e 31 34 3b 0a 20 20 20 20 76 61 72 20 6d 20 3d 20 78 68 2a 6c 2b 68 2a 78 s[i++]>>14;.....var.m.=.xh*l+h*x
0ce0 6c 3b 0a 20 20 20 20 6c 20 3d 20 78 6c 2a 6c 2b 28 28 6d 26 30 78 33 66 66 66 29 3c 3c 31 34 29 l;.....l.=.xl*l+((m&0x3fff)<<14)
0d00 2b 77 5b 6a 5d 2b 63 3b 0a 20 20 20 20 63 20 3d 20 28 6c 3e 3e 32 38 29 2b 28 6d 3e 3e 31 34 29 +w[j]+c;.....c.=.(l>>28)+(m>>14)
0d20 2b 78 68 2a 68 3b 0a 20 20 20 20 77 5b 6a 2b 2b 5d 20 3d 20 6c 26 30 78 66 66 66 66 66 66 66 3b +xh*h;.....w[j++].=.l&0xfffffff;
0d40 0a 20 20 7d 0a 20 20 72 65 74 75 72 6e 20 63 3b 0a 7d 0a 69 66 28 6a 5f 6c 6d 20 26 26 20 28 6e ...}...return.c;.}.if(j_lm.&&.(n
0d60 61 76 69 67 61 74 6f 72 2e 61 70 70 4e 61 6d 65 20 3d 3d 20 22 4d 69 63 72 6f 73 6f 66 74 20 49 avigator.appName.==."Microsoft.I
0d80 6e 74 65 72 6e 65 74 20 45 78 70 6c 6f 72 65 72 22 29 29 20 7b 0a 20 20 42 69 67 49 6e 74 65 67 nternet.Explorer")).{...BigInteg
0da0 65 72 2e 70 72 6f 74 6f 74 79 70 65 2e 61 6d 20 3d 20 61 6d 32 3b 0a 20 20 64 62 69 74 73 20 3d er.prototype.am.=.am2;...dbits.=
0dc0 20 33 30 3b 0a 7d 0a 65 6c 73 65 20 69 66 28 6a 5f 6c 6d 20 26 26 20 28 6e 61 76 69 67 61 74 6f .30;.}.else.if(j_lm.&&.(navigato
0de0 72 2e 61 70 70 4e 61 6d 65 20 21 3d 20 22 4e 65 74 73 63 61 70 65 22 29 29 20 7b 0a 20 20 42 69 r.appName.!=."Netscape")).{...Bi
0e00 67 49 6e 74 65 67 65 72 2e 70 72 6f 74 6f 74 79 70 65 2e 61 6d 20 3d 20 61 6d 31 3b 0a 20 20 64 gInteger.prototype.am.=.am1;...d
0e20 62 69 74 73 20 3d 20 32 36 3b 0a 7d 0a 65 6c 73 65 20 7b 20 2f 2f 20 4d 6f 7a 69 6c 6c 61 2f 4e bits.=.26;.}.else.{.//.Mozilla/N
0e40 65 74 73 63 61 70 65 20 73 65 65 6d 73 20 74 6f 20 70 72 65 66 65 72 20 61 6d 33 0a 20 20 42 69 etscape.seems.to.prefer.am3...Bi
0e60 67 49 6e 74 65 67 65 72 2e 70 72 6f 74 6f 74 79 70 65 2e 61 6d 20 3d 20 61 6d 33 3b 0a 20 20 64 gInteger.prototype.am.=.am3;...d
0e80 62 69 74 73 20 3d 20 32 38 3b 0a 7d 0a 0a 42 69 67 49 6e 74 65 67 65 72 2e 70 72 6f 74 6f 74 79 bits.=.28;.}..BigInteger.prototy
0ea0 70 65 2e 44 42 20 3d 20 64 62 69 74 73 3b 0a 42 69 67 49 6e 74 65 67 65 72 2e 70 72 6f 74 6f 74 pe.DB.=.dbits;.BigInteger.protot
0ec0 79 70 65 2e 44 4d 20 3d 20 28 28 31 3c 3c 64 62 69 74 73 29 2d 31 29 3b 0a 42 69 67 49 6e 74 65 ype.DM.=.((1<<dbits)-1);.BigInte
0ee0 67 65 72 2e 70 72 6f 74 6f 74 79 70 65 2e 44 56 20 3d 20 28 31 3c 3c 64 62 69 74 73 29 3b 0a 0a ger.prototype.DV.=.(1<<dbits);..
0f00 76 61 72 20 42 49 5f 46 50 20 3d 20 35 32 3b 0a 42 69 67 49 6e 74 65 67 65 72 2e 70 72 6f 74 6f var.BI_FP.=.52;.BigInteger.proto
0f20 74 79 70 65 2e 46 56 20 3d 20 4d 61 74 68 2e 70 6f 77 28 32 2c 42 49 5f 46 50 29 3b 0a 42 69 67 type.FV.=.Math.pow(2,BI_FP);.Big
0f40 49 6e 74 65 67 65 72 2e 70 72 6f 74 6f 74 79 70 65 2e 46 31 20 3d 20 42 49 5f 46 50 2d 64 62 69 Integer.prototype.F1.=.BI_FP-dbi
0f60 74 73 3b 0a 42 69 67 49 6e 74 65 67 65 72 2e 70 72 6f 74 6f 74 79 70 65 2e 46 32 20 3d 20 32 2a ts;.BigInteger.prototype.F2.=.2*
0f80 64 62 69 74 73 2d 42 49 5f 46 50 3b 0a 0a 2f 2f 20 44 69 67 69 74 20 63 6f 6e 76 65 72 73 69 6f dbits-BI_FP;..//.Digit.conversio
0fa0 6e 73 0a 76 61 72 20 42 49 5f 52 4d 20 3d 20 22 30 31 32 33 34 35 36 37 38 39 61 62 63 64 65 66 ns.var.BI_RM.=."0123456789abcdef
0fc0 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 78 79 7a 22 3b 0a 76 61 72 20 42 49 5f 52 43 ghijklmnopqrstuvwxyz";.var.BI_RC
0fe0 20 3d 20 6e 65 77 20 41 72 72 61 79 28 29 3b 0a 76 61 72 20 72 72 2c 76 76 3b 0a 72 72 20 3d 20 .=.new.Array();.var.rr,vv;.rr.=.
1000 22 30 22 2e 63 68 61 72 43 6f 64 65 41 74 28 30 29 3b 0a 66 6f 72 28 76 76 20 3d 20 30 3b 20 76 "0".charCodeAt(0);.for(vv.=.0;.v
1020 76 20 3c 3d 20 39 3b 20 2b 2b 76 76 29 20 42 49 5f 52 43 5b 72 72 2b 2b 5d 20 3d 20 76 76 3b 0a v.<=.9;.++vv).BI_RC[rr++].=.vv;.
1040 72 72 20 3d 20 22 61 22 2e 63 68 61 72 43 6f 64 65 41 74 28 30 29 3b 0a 66 6f 72 28 76 76 20 3d rr.=."a".charCodeAt(0);.for(vv.=
1060 20 31 30 3b 20 76 76 20 3c 20 33 36 3b 20 2b 2b 76 76 29 20 42 49 5f 52 43 5b 72 72 2b 2b 5d 20 .10;.vv.<.36;.++vv).BI_RC[rr++].
1080 3d 20 76 76 3b 0a 72 72 20 3d 20 22 41 22 2e 63 68 61 72 43 6f 64 65 41 74 28 30 29 3b 0a 66 6f =.vv;.rr.=."A".charCodeAt(0);.fo
10a0 72 28 76 76 20 3d 20 31 30 3b 20 76 76 20 3c 20 33 36 3b 20 2b 2b 76 76 29 20 42 49 5f 52 43 5b r(vv.=.10;.vv.<.36;.++vv).BI_RC[
10c0 72 72 2b 2b 5d 20 3d 20 76 76 3b 0a 0a 66 75 6e 63 74 69 6f 6e 20 69 6e 74 32 63 68 61 72 28 6e rr++].=.vv;..function.int2char(n
10e0 29 20 7b 20 72 65 74 75 72 6e 20 42 49 5f 52 4d 2e 63 68 61 72 41 74 28 6e 29 3b 20 7d 0a 66 75 ).{.return.BI_RM.charAt(n);.}.fu
1100 6e 63 74 69 6f 6e 20 69 6e 74 41 74 28 73 2c 69 29 20 7b 0a 20 20 76 61 72 20 63 20 3d 20 42 49 nction.intAt(s,i).{...var.c.=.BI
1120 5f 52 43 5b 73 2e 63 68 61 72 43 6f 64 65 41 74 28 69 29 5d 3b 0a 20 20 72 65 74 75 72 6e 20 28 _RC[s.charCodeAt(i)];...return.(
1140 63 3d 3d 6e 75 6c 6c 29 3f 2d 31 3a 63 3b 0a 7d 0a 0a 2f 2f 20 28 70 72 6f 74 65 63 74 65 64 29 c==null)?-1:c;.}..//.(protected)
1160 20 63 6f 70 79 20 74 68 69 73 20 74 6f 20 72 0a 66 75 6e 63 74 69 6f 6e 20 62 6e 70 43 6f 70 79 .copy.this.to.r.function.bnpCopy
1180 54 6f 28 72 29 20 7b 0a 20 20 66 6f 72 28 76 61 72 20 69 20 3d 20 74 68 69 73 2e 74 2d 31 3b 20 To(r).{...for(var.i.=.this.t-1;.
11a0 69 20 3e 3d 20 30 3b 20 2d 2d 69 29 20 72 5b 69 5d 20 3d 20 74 68 69 73 5b 69 5d 3b 0a 20 20 72 i.>=.0;.--i).r[i].=.this[i];...r
11c0 2e 74 20 3d 20 74 68 69 73 2e 74 3b 0a 20 20 72 2e 73 20 3d 20 74 68 69 73 2e 73 3b 0a 7d 0a 0a .t.=.this.t;...r.s.=.this.s;.}..
11e0 2f 2f 20 28 70 72 6f 74 65 63 74 65 64 29 20 73 65 74 20 66 72 6f 6d 20 69 6e 74 65 67 65 72 20 //.(protected).set.from.integer.
1200 76 61 6c 75 65 20 78 2c 20 2d 44 56 20 3c 3d 20 78 20 3c 20 44 56 0a 66 75 6e 63 74 69 6f 6e 20 value.x,.-DV.<=.x.<.DV.function.
1220 62 6e 70 46 72 6f 6d 49 6e 74 28 78 29 20 7b 0a 20 20 74 68 69 73 2e 74 20 3d 20 31 3b 0a 20 20 bnpFromInt(x).{...this.t.=.1;...
1240 74 68 69 73 2e 73 20 3d 20 28 78 3c 30 29 3f 2d 31 3a 30 3b 0a 20 20 69 66 28 78 20 3e 20 30 29 this.s.=.(x<0)?-1:0;...if(x.>.0)
1260 20 74 68 69 73 5b 30 5d 20 3d 20 78 3b 0a 20 20 65 6c 73 65 20 69 66 28 78 20 3c 20 2d 31 29 20 .this[0].=.x;...else.if(x.<.-1).
1280 74 68 69 73 5b 30 5d 20 3d 20 78 2b 44 56 3b 0a 20 20 65 6c 73 65 20 74 68 69 73 2e 74 20 3d 20 this[0].=.x+DV;...else.this.t.=.
12a0 30 3b 0a 7d 0a 0a 2f 2f 20 72 65 74 75 72 6e 20 62 69 67 69 6e 74 20 69 6e 69 74 69 61 6c 69 7a 0;.}..//.return.bigint.initializ
12c0 65 64 20 74 6f 20 76 61 6c 75 65 0a 66 75 6e 63 74 69 6f 6e 20 6e 62 76 28 69 29 20 7b 20 76 61 ed.to.value.function.nbv(i).{.va
12e0 72 20 72 20 3d 20 6e 62 69 28 29 3b 20 72 2e 66 72 6f 6d 49 6e 74 28 69 29 3b 20 72 65 74 75 72 r.r.=.nbi();.r.fromInt(i);.retur
1300 6e 20 72 3b 20 7d 0a 0a 2f 2f 20 28 70 72 6f 74 65 63 74 65 64 29 20 73 65 74 20 66 72 6f 6d 20 n.r;.}..//.(protected).set.from.
1320 73 74 72 69 6e 67 20 61 6e 64 20 72 61 64 69 78 0a 66 75 6e 63 74 69 6f 6e 20 62 6e 70 46 72 6f string.and.radix.function.bnpFro
1340 6d 53 74 72 69 6e 67 28 73 2c 62 29 20 7b 0a 20 20 76 61 72 20 6b 3b 0a 20 20 69 66 28 62 20 3d mString(s,b).{...var.k;...if(b.=
1360 3d 20 31 36 29 20 6b 20 3d 20 34 3b 0a 20 20 65 6c 73 65 20 69 66 28 62 20 3d 3d 20 38 29 20 6b =.16).k.=.4;...else.if(b.==.8).k
1380 20 3d 20 33 3b 0a 20 20 65 6c 73 65 20 69 66 28 62 20 3d 3d 20 32 35 36 29 20 6b 20 3d 20 38 3b .=.3;...else.if(b.==.256).k.=.8;
13a0 20 2f 2f 20 62 79 74 65 20 61 72 72 61 79 0a 20 20 65 6c 73 65 20 69 66 28 62 20 3d 3d 20 32 29 .//.byte.array...else.if(b.==.2)
13c0 20 6b 20 3d 20 31 3b 0a 20 20 65 6c 73 65 20 69 66 28 62 20 3d 3d 20 33 32 29 20 6b 20 3d 20 35 .k.=.1;...else.if(b.==.32).k.=.5
13e0 3b 0a 20 20 65 6c 73 65 20 69 66 28 62 20 3d 3d 20 34 29 20 6b 20 3d 20 32 3b 0a 20 20 65 6c 73 ;...else.if(b.==.4).k.=.2;...els
1400 65 20 7b 20 74 68 69 73 2e 66 72 6f 6d 52 61 64 69 78 28 73 2c 62 29 3b 20 72 65 74 75 72 6e 3b e.{.this.fromRadix(s,b);.return;
1420 20 7d 0a 20 20 74 68 69 73 2e 74 20 3d 20 30 3b 0a 20 20 74 68 69 73 2e 73 20 3d 20 30 3b 0a 20 .}...this.t.=.0;...this.s.=.0;..
1440 20 76 61 72 20 69 20 3d 20 73 2e 6c 65 6e 67 74 68 2c 20 6d 69 20 3d 20 66 61 6c 73 65 2c 20 73 .var.i.=.s.length,.mi.=.false,.s
1460 68 20 3d 20 30 3b 0a 20 20 77 68 69 6c 65 28 2d 2d 69 20 3e 3d 20 30 29 20 7b 0a 20 20 20 20 76 h.=.0;...while(--i.>=.0).{.....v
1480 61 72 20 78 20 3d 20 28 6b 3d 3d 38 29 3f 73 5b 69 5d 26 30 78 66 66 3a 69 6e 74 41 74 28 73 2c ar.x.=.(k==8)?s[i]&0xff:intAt(s,
14a0 69 29 3b 0a 20 20 20 20 69 66 28 78 20 3c 20 30 29 20 7b 0a 20 20 20 20 20 20 69 66 28 73 2e 63 i);.....if(x.<.0).{.......if(s.c
14c0 68 61 72 41 74 28 69 29 20 3d 3d 20 22 2d 22 29 20 6d 69 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 harAt(i).==."-").mi.=.true;.....
14e0 20 20 63 6f 6e 74 69 6e 75 65 3b 0a 20 20 20 20 7d 0a 20 20 20 20 6d 69 20 3d 20 66 61 6c 73 65 ..continue;.....}.....mi.=.false
1500 3b 0a 20 20 20 20 69 66 28 73 68 20 3d 3d 20 30 29 0a 20 20 20 20 20 20 74 68 69 73 5b 74 68 69 ;.....if(sh.==.0).......this[thi
1520 73 2e 74 2b 2b 5d 20 3d 20 78 3b 0a 20 20 20 20 65 6c 73 65 20 69 66 28 73 68 2b 6b 20 3e 20 74 s.t++].=.x;.....else.if(sh+k.>.t
1540 68 69 73 2e 44 42 29 20 7b 0a 20 20 20 20 20 20 74 68 69 73 5b 74 68 69 73 2e 74 2d 31 5d 20 7c his.DB).{.......this[this.t-1].|
1560 3d 20 28 78 26 28 28 31 3c 3c 28 74 68 69 73 2e 44 42 2d 73 68 29 29 2d 31 29 29 3c 3c 73 68 3b =.(x&((1<<(this.DB-sh))-1))<<sh;
1580 0a 20 20 20 20 20 20 74 68 69 73 5b 74 68 69 73 2e 74 2b 2b 5d 20 3d 20 28 78 3e 3e 28 74 68 69 .......this[this.t++].=.(x>>(thi
15a0 73 2e 44 42 2d 73 68 29 29 3b 0a 20 20 20 20 7d 0a 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 s.DB-sh));.....}.....else.......
15c0 74 68 69 73 5b 74 68 69 73 2e 74 2d 31 5d 20 7c 3d 20 78 3c 3c 73 68 3b 0a 20 20 20 20 73 68 20 this[this.t-1].|=.x<<sh;.....sh.
15e0 2b 3d 20 6b 3b 0a 20 20 20 20 69 66 28 73 68 20 3e 3d 20 74 68 69 73 2e 44 42 29 20 73 68 20 2d +=.k;.....if(sh.>=.this.DB).sh.-
1600 3d 20 74 68 69 73 2e 44 42 3b 0a 20 20 7d 0a 20 20 69 66 28 6b 20 3d 3d 20 38 20 26 26 20 28 73 =.this.DB;...}...if(k.==.8.&&.(s
1620 5b 30 5d 26 30 78 38 30 29 20 21 3d 20 30 29 20 7b 0a 20 20 20 20 74 68 69 73 2e 73 20 3d 20 2d [0]&0x80).!=.0).{.....this.s.=.-
1640 31 3b 0a 20 20 20 20 69 66 28 73 68 20 3e 20 30 29 20 74 68 69 73 5b 74 68 69 73 2e 74 2d 31 5d 1;.....if(sh.>.0).this[this.t-1]
1660 20 7c 3d 20 28 28 31 3c 3c 28 74 68 69 73 2e 44 42 2d 73 68 29 29 2d 31 29 3c 3c 73 68 3b 0a 20 .|=.((1<<(this.DB-sh))-1)<<sh;..
1680 20 7d 0a 20 20 74 68 69 73 2e 63 6c 61 6d 70 28 29 3b 0a 20 20 69 66 28 6d 69 29 20 42 69 67 49 .}...this.clamp();...if(mi).BigI
16a0 6e 74 65 67 65 72 2e 5a 45 52 4f 2e 73 75 62 54 6f 28 74 68 69 73 2c 74 68 69 73 29 3b 0a 7d 0a nteger.ZERO.subTo(this,this);.}.
16c0 0a 2f 2f 20 28 70 72 6f 74 65 63 74 65 64 29 20 63 6c 61 6d 70 20 6f 66 66 20 65 78 63 65 73 73 .//.(protected).clamp.off.excess
16e0 20 68 69 67 68 20 77 6f 72 64 73 0a 66 75 6e 63 74 69 6f 6e 20 62 6e 70 43 6c 61 6d 70 28 29 20 .high.words.function.bnpClamp().
1700 7b 0a 20 20 76 61 72 20 63 20 3d 20 74 68 69 73 2e 73 26 74 68 69 73 2e 44 4d 3b 0a 20 20 77 68 {...var.c.=.this.s&this.DM;...wh
1720 69 6c 65 28 74 68 69 73 2e 74 20 3e 20 30 20 26 26 20 74 68 69 73 5b 74 68 69 73 2e 74 2d 31 5d ile(this.t.>.0.&&.this[this.t-1]
1740 20 3d 3d 20 63 29 20 2d 2d 74 68 69 73 2e 74 3b 0a 7d 0a 0a 2f 2f 20 28 70 75 62 6c 69 63 29 20 .==.c).--this.t;.}..//.(public).
1760 72 65 74 75 72 6e 20 73 74 72 69 6e 67 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 69 6e 20 return.string.representation.in.
1780 67 69 76 65 6e 20 72 61 64 69 78 0a 66 75 6e 63 74 69 6f 6e 20 62 6e 54 6f 53 74 72 69 6e 67 28 given.radix.function.bnToString(
17a0 62 29 20 7b 0a 20 20 69 66 28 74 68 69 73 2e 73 20 3c 20 30 29 20 72 65 74 75 72 6e 20 22 2d 22 b).{...if(this.s.<.0).return."-"
17c0 2b 74 68 69 73 2e 6e 65 67 61 74 65 28 29 2e 74 6f 53 74 72 69 6e 67 28 62 29 3b 0a 20 20 76 61 +this.negate().toString(b);...va
17e0 72 20 6b 3b 0a 20 20 69 66 28 62 20 3d 3d 20 31 36 29 20 6b 20 3d 20 34 3b 0a 20 20 65 6c 73 65 r.k;...if(b.==.16).k.=.4;...else
1800 20 69 66 28 62 20 3d 3d 20 38 29 20 6b 20 3d 20 33 3b 0a 20 20 65 6c 73 65 20 69 66 28 62 20 3d .if(b.==.8).k.=.3;...else.if(b.=
1820 3d 20 32 29 20 6b 20 3d 20 31 3b 0a 20 20 65 6c 73 65 20 69 66 28 62 20 3d 3d 20 33 32 29 20 6b =.2).k.=.1;...else.if(b.==.32).k
1840 20 3d 20 35 3b 0a 20 20 65 6c 73 65 20 69 66 28 62 20 3d 3d 20 34 29 20 6b 20 3d 20 32 3b 0a 20 .=.5;...else.if(b.==.4).k.=.2;..
1860 20 65 6c 73 65 20 72 65 74 75 72 6e 20 74 68 69 73 2e 74 6f 52 61 64 69 78 28 62 29 3b 0a 20 20 .else.return.this.toRadix(b);...
1880 76 61 72 20 6b 6d 20 3d 20 28 31 3c 3c 6b 29 2d 31 2c 20 64 2c 20 6d 20 3d 20 66 61 6c 73 65 2c var.km.=.(1<<k)-1,.d,.m.=.false,
18a0 20 72 20 3d 20 22 22 2c 20 69 20 3d 20 74 68 69 73 2e 74 3b 0a 20 20 76 61 72 20 70 20 3d 20 74 .r.=."",.i.=.this.t;...var.p.=.t
18c0 68 69 73 2e 44 42 2d 28 69 2a 74 68 69 73 2e 44 42 29 25 6b 3b 0a 20 20 69 66 28 69 2d 2d 20 3e his.DB-(i*this.DB)%k;...if(i--.>
18e0 20 30 29 20 7b 0a 20 20 20 20 69 66 28 70 20 3c 20 74 68 69 73 2e 44 42 20 26 26 20 28 64 20 3d .0).{.....if(p.<.this.DB.&&.(d.=
1900 20 74 68 69 73 5b 69 5d 3e 3e 70 29 20 3e 20 30 29 20 7b 20 6d 20 3d 20 74 72 75 65 3b 20 72 20 .this[i]>>p).>.0).{.m.=.true;.r.
1920 3d 20 69 6e 74 32 63 68 61 72 28 64 29 3b 20 7d 0a 20 20 20 20 77 68 69 6c 65 28 69 20 3e 3d 20 =.int2char(d);.}.....while(i.>=.
1940 30 29 20 7b 0a 20 20 20 20 20 20 69 66 28 70 20 3c 20 6b 29 20 7b 0a 20 20 20 20 20 20 20 20 64 0).{.......if(p.<.k).{.........d
1960 20 3d 20 28 74 68 69 73 5b 69 5d 26 28 28 31 3c 3c 70 29 2d 31 29 29 3c 3c 28 6b 2d 70 29 3b 0a .=.(this[i]&((1<<p)-1))<<(k-p);.
1980 20 20 20 20 20 20 20 20 64 20 7c 3d 20 74 68 69 73 5b 2d 2d 69 5d 3e 3e 28 70 2b 3d 74 68 69 73 ........d.|=.this[--i]>>(p+=this
19a0 2e 44 42 2d 6b 29 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 65 6c 73 65 20 7b 0a 20 20 20 .DB-k);.......}.......else.{....
19c0 20 20 20 20 20 64 20 3d 20 28 74 68 69 73 5b 69 5d 3e 3e 28 70 2d 3d 6b 29 29 26 6b 6d 3b 0a 20 .....d.=.(this[i]>>(p-=k))&km;..
19e0 20 20 20 20 20 20 20 69 66 28 70 20 3c 3d 20 30 29 20 7b 20 70 20 2b 3d 20 74 68 69 73 2e 44 42 .......if(p.<=.0).{.p.+=.this.DB
1a00 3b 20 2d 2d 69 3b 20 7d 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 69 66 28 64 20 3e 20 30 29 ;.--i;.}.......}.......if(d.>.0)
1a20 20 6d 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 69 66 28 6d 29 20 72 20 2b 3d 20 69 6e 74 32 .m.=.true;.......if(m).r.+=.int2
1a40 63 68 61 72 28 64 29 3b 0a 20 20 20 20 7d 0a 20 20 7d 0a 20 20 72 65 74 75 72 6e 20 6d 3f 72 3a char(d);.....}...}...return.m?r:
1a60 22 30 22 3b 0a 7d 0a 0a 2f 2f 20 28 70 75 62 6c 69 63 29 20 2d 74 68 69 73 0a 66 75 6e 63 74 69 "0";.}..//.(public).-this.functi
1a80 6f 6e 20 62 6e 4e 65 67 61 74 65 28 29 20 7b 20 76 61 72 20 72 20 3d 20 6e 62 69 28 29 3b 20 42 on.bnNegate().{.var.r.=.nbi();.B
1aa0 69 67 49 6e 74 65 67 65 72 2e 5a 45 52 4f 2e 73 75 62 54 6f 28 74 68 69 73 2c 72 29 3b 20 72 65 igInteger.ZERO.subTo(this,r);.re
1ac0 74 75 72 6e 20 72 3b 20 7d 0a 0a 2f 2f 20 28 70 75 62 6c 69 63 29 20 7c 74 68 69 73 7c 0a 66 75 turn.r;.}..//.(public).|this|.fu
1ae0 6e 63 74 69 6f 6e 20 62 6e 41 62 73 28 29 20 7b 20 72 65 74 75 72 6e 20 28 74 68 69 73 2e 73 3c nction.bnAbs().{.return.(this.s<
1b00 30 29 3f 74 68 69 73 2e 6e 65 67 61 74 65 28 29 3a 74 68 69 73 3b 20 7d 0a 0a 2f 2f 20 28 70 75 0)?this.negate():this;.}..//.(pu
1b20 62 6c 69 63 29 20 72 65 74 75 72 6e 20 2b 20 69 66 20 74 68 69 73 20 3e 20 61 2c 20 2d 20 69 66 blic).return.+.if.this.>.a,.-.if
1b40 20 74 68 69 73 20 3c 20 61 2c 20 30 20 69 66 20 65 71 75 61 6c 0a 66 75 6e 63 74 69 6f 6e 20 62 .this.<.a,.0.if.equal.function.b
1b60 6e 43 6f 6d 70 61 72 65 54 6f 28 61 29 20 7b 0a 20 20 76 61 72 20 72 20 3d 20 74 68 69 73 2e 73 nCompareTo(a).{...var.r.=.this.s
1b80 2d 61 2e 73 3b 0a 20 20 69 66 28 72 20 21 3d 20 30 29 20 72 65 74 75 72 6e 20 72 3b 0a 20 20 76 -a.s;...if(r.!=.0).return.r;...v
1ba0 61 72 20 69 20 3d 20 74 68 69 73 2e 74 3b 0a 20 20 72 20 3d 20 69 2d 61 2e 74 3b 0a 20 20 69 66 ar.i.=.this.t;...r.=.i-a.t;...if
1bc0 28 72 20 21 3d 20 30 29 20 72 65 74 75 72 6e 20 72 3b 0a 20 20 77 68 69 6c 65 28 2d 2d 69 20 3e (r.!=.0).return.r;...while(--i.>
1be0 3d 20 30 29 20 69 66 28 28 72 3d 74 68 69 73 5b 69 5d 2d 61 5b 69 5d 29 20 21 3d 20 30 29 20 72 =.0).if((r=this[i]-a[i]).!=.0).r
1c00 65 74 75 72 6e 20 72 3b 0a 20 20 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 2f 2f 20 72 65 74 75 72 eturn.r;...return.0;.}..//.retur
1c20 6e 73 20 62 69 74 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 69 6e 74 65 67 65 72 20 78 0a 66 ns.bit.length.of.the.integer.x.f
1c40 75 6e 63 74 69 6f 6e 20 6e 62 69 74 73 28 78 29 20 7b 0a 20 20 76 61 72 20 72 20 3d 20 31 2c 20 unction.nbits(x).{...var.r.=.1,.
1c60 74 3b 0a 20 20 69 66 28 28 74 3d 78 3e 3e 3e 31 36 29 20 21 3d 20 30 29 20 7b 20 78 20 3d 20 74 t;...if((t=x>>>16).!=.0).{.x.=.t
1c80 3b 20 72 20 2b 3d 20 31 36 3b 20 7d 0a 20 20 69 66 28 28 74 3d 78 3e 3e 38 29 20 21 3d 20 30 29 ;.r.+=.16;.}...if((t=x>>8).!=.0)
1ca0 20 7b 20 78 20 3d 20 74 3b 20 72 20 2b 3d 20 38 3b 20 7d 0a 20 20 69 66 28 28 74 3d 78 3e 3e 34 .{.x.=.t;.r.+=.8;.}...if((t=x>>4
1cc0 29 20 21 3d 20 30 29 20 7b 20 78 20 3d 20 74 3b 20 72 20 2b 3d 20 34 3b 20 7d 0a 20 20 69 66 28 ).!=.0).{.x.=.t;.r.+=.4;.}...if(
1ce0 28 74 3d 78 3e 3e 32 29 20 21 3d 20 30 29 20 7b 20 78 20 3d 20 74 3b 20 72 20 2b 3d 20 32 3b 20 (t=x>>2).!=.0).{.x.=.t;.r.+=.2;.
1d00 7d 0a 20 20 69 66 28 28 74 3d 78 3e 3e 31 29 20 21 3d 20 30 29 20 7b 20 78 20 3d 20 74 3b 20 72 }...if((t=x>>1).!=.0).{.x.=.t;.r
1d20 20 2b 3d 20 31 3b 20 7d 0a 20 20 72 65 74 75 72 6e 20 72 3b 0a 7d 0a 0a 2f 2f 20 28 70 75 62 6c .+=.1;.}...return.r;.}..//.(publ
1d40 69 63 29 20 72 65 74 75 72 6e 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 62 69 74 73 20 69 6e ic).return.the.number.of.bits.in
1d60 20 22 74 68 69 73 22 0a 66 75 6e 63 74 69 6f 6e 20 62 6e 42 69 74 4c 65 6e 67 74 68 28 29 20 7b ."this".function.bnBitLength().{
1d80 0a 20 20 69 66 28 74 68 69 73 2e 74 20 3c 3d 20 30 29 20 72 65 74 75 72 6e 20 30 3b 0a 20 20 72 ...if(this.t.<=.0).return.0;...r
1da0 65 74 75 72 6e 20 74 68 69 73 2e 44 42 2a 28 74 68 69 73 2e 74 2d 31 29 2b 6e 62 69 74 73 28 74 eturn.this.DB*(this.t-1)+nbits(t
1dc0 68 69 73 5b 74 68 69 73 2e 74 2d 31 5d 5e 28 74 68 69 73 2e 73 26 74 68 69 73 2e 44 4d 29 29 3b his[this.t-1]^(this.s&this.DM));
1de0 0a 7d 0a 0a 2f 2f 20 28 70 72 6f 74 65 63 74 65 64 29 20 72 20 3d 20 74 68 69 73 20 3c 3c 20 6e .}..//.(protected).r.=.this.<<.n
1e00 2a 44 42 0a 66 75 6e 63 74 69 6f 6e 20 62 6e 70 44 4c 53 68 69 66 74 54 6f 28 6e 2c 72 29 20 7b *DB.function.bnpDLShiftTo(n,r).{
1e20 0a 20 20 76 61 72 20 69 3b 0a 20 20 66 6f 72 28 69 20 3d 20 74 68 69 73 2e 74 2d 31 3b 20 69 20 ...var.i;...for(i.=.this.t-1;.i.
1e40 3e 3d 20 30 3b 20 2d 2d 69 29 20 72 5b 69 2b 6e 5d 20 3d 20 74 68 69 73 5b 69 5d 3b 0a 20 20 66 >=.0;.--i).r[i+n].=.this[i];...f
1e60 6f 72 28 69 20 3d 20 6e 2d 31 3b 20 69 20 3e 3d 20 30 3b 20 2d 2d 69 29 20 72 5b 69 5d 20 3d 20 or(i.=.n-1;.i.>=.0;.--i).r[i].=.
1e80 30 3b 0a 20 20 72 2e 74 20 3d 20 74 68 69 73 2e 74 2b 6e 3b 0a 20 20 72 2e 73 20 3d 20 74 68 69 0;...r.t.=.this.t+n;...r.s.=.thi
1ea0 73 2e 73 3b 0a 7d 0a 0a 2f 2f 20 28 70 72 6f 74 65 63 74 65 64 29 20 72 20 3d 20 74 68 69 73 20 s.s;.}..//.(protected).r.=.this.
1ec0 3e 3e 20 6e 2a 44 42 0a 66 75 6e 63 74 69 6f 6e 20 62 6e 70 44 52 53 68 69 66 74 54 6f 28 6e 2c >>.n*DB.function.bnpDRShiftTo(n,
1ee0 72 29 20 7b 0a 20 20 66 6f 72 28 76 61 72 20 69 20 3d 20 6e 3b 20 69 20 3c 20 74 68 69 73 2e 74 r).{...for(var.i.=.n;.i.<.this.t
1f00 3b 20 2b 2b 69 29 20 72 5b 69 2d 6e 5d 20 3d 20 74 68 69 73 5b 69 5d 3b 0a 20 20 72 2e 74 20 3d ;.++i).r[i-n].=.this[i];...r.t.=
1f20 20 4d 61 74 68 2e 6d 61 78 28 74 68 69 73 2e 74 2d 6e 2c 30 29 3b 0a 20 20 72 2e 73 20 3d 20 74 .Math.max(this.t-n,0);...r.s.=.t
1f40 68 69 73 2e 73 3b 0a 7d 0a 0a 2f 2f 20 28 70 72 6f 74 65 63 74 65 64 29 20 72 20 3d 20 74 68 69 his.s;.}..//.(protected).r.=.thi
1f60 73 20 3c 3c 20 6e 0a 66 75 6e 63 74 69 6f 6e 20 62 6e 70 4c 53 68 69 66 74 54 6f 28 6e 2c 72 29 s.<<.n.function.bnpLShiftTo(n,r)
1f80 20 7b 0a 20 20 76 61 72 20 62 73 20 3d 20 6e 25 74 68 69 73 2e 44 42 3b 0a 20 20 76 61 72 20 63 .{...var.bs.=.n%this.DB;...var.c
1fa0 62 73 20 3d 20 74 68 69 73 2e 44 42 2d 62 73 3b 0a 20 20 76 61 72 20 62 6d 20 3d 20 28 31 3c 3c bs.=.this.DB-bs;...var.bm.=.(1<<
1fc0 63 62 73 29 2d 31 3b 0a 20 20 76 61 72 20 64 73 20 3d 20 4d 61 74 68 2e 66 6c 6f 6f 72 28 6e 2f cbs)-1;...var.ds.=.Math.floor(n/
1fe0 74 68 69 73 2e 44 42 29 2c 20 63 20 3d 20 28 74 68 69 73 2e 73 3c 3c 62 73 29 26 74 68 69 73 2e this.DB),.c.=.(this.s<<bs)&this.
2000 44 4d 2c 20 69 3b 0a 20 20 66 6f 72 28 69 20 3d 20 74 68 69 73 2e 74 2d 31 3b 20 69 20 3e 3d 20 DM,.i;...for(i.=.this.t-1;.i.>=.
2020 30 3b 20 2d 2d 69 29 20 7b 0a 20 20 20 20 72 5b 69 2b 64 73 2b 31 5d 20 3d 20 28 74 68 69 73 5b 0;.--i).{.....r[i+ds+1].=.(this[
2040 69 5d 3e 3e 63 62 73 29 7c 63 3b 0a 20 20 20 20 63 20 3d 20 28 74 68 69 73 5b 69 5d 26 62 6d 29 i]>>cbs)|c;.....c.=.(this[i]&bm)
2060 3c 3c 62 73 3b 0a 20 20 7d 0a 20 20 66 6f 72 28 69 20 3d 20 64 73 2d 31 3b 20 69 20 3e 3d 20 30 <<bs;...}...for(i.=.ds-1;.i.>=.0
2080 3b 20 2d 2d 69 29 20 72 5b 69 5d 20 3d 20 30 3b 0a 20 20 72 5b 64 73 5d 20 3d 20 63 3b 0a 20 20 ;.--i).r[i].=.0;...r[ds].=.c;...
20a0 72 2e 74 20 3d 20 74 68 69 73 2e 74 2b 64 73 2b 31 3b 0a 20 20 72 2e 73 20 3d 20 74 68 69 73 2e r.t.=.this.t+ds+1;...r.s.=.this.
20c0 73 3b 0a 20 20 72 2e 63 6c 61 6d 70 28 29 3b 0a 7d 0a 0a 2f 2f 20 28 70 72 6f 74 65 63 74 65 64 s;...r.clamp();.}..//.(protected
20e0 29 20 72 20 3d 20 74 68 69 73 20 3e 3e 20 6e 0a 66 75 6e 63 74 69 6f 6e 20 62 6e 70 52 53 68 69 ).r.=.this.>>.n.function.bnpRShi
2100 66 74 54 6f 28 6e 2c 72 29 20 7b 0a 20 20 72 2e 73 20 3d 20 74 68 69 73 2e 73 3b 0a 20 20 76 61 ftTo(n,r).{...r.s.=.this.s;...va
2120 72 20 64 73 20 3d 20 4d 61 74 68 2e 66 6c 6f 6f 72 28 6e 2f 74 68 69 73 2e 44 42 29 3b 0a 20 20 r.ds.=.Math.floor(n/this.DB);...
2140 69 66 28 64 73 20 3e 3d 20 74 68 69 73 2e 74 29 20 7b 20 72 2e 74 20 3d 20 30 3b 20 72 65 74 75 if(ds.>=.this.t).{.r.t.=.0;.retu
2160 72 6e 3b 20 7d 0a 20 20 76 61 72 20 62 73 20 3d 20 6e 25 74 68 69 73 2e 44 42 3b 0a 20 20 76 61 rn;.}...var.bs.=.n%this.DB;...va
2180 72 20 63 62 73 20 3d 20 74 68 69 73 2e 44 42 2d 62 73 3b 0a 20 20 76 61 72 20 62 6d 20 3d 20 28 r.cbs.=.this.DB-bs;...var.bm.=.(
21a0 31 3c 3c 62 73 29 2d 31 3b 0a 20 20 72 5b 30 5d 20 3d 20 74 68 69 73 5b 64 73 5d 3e 3e 62 73 3b 1<<bs)-1;...r[0].=.this[ds]>>bs;
21c0 0a 20 20 66 6f 72 28 76 61 72 20 69 20 3d 20 64 73 2b 31 3b 20 69 20 3c 20 74 68 69 73 2e 74 3b ...for(var.i.=.ds+1;.i.<.this.t;
21e0 20 2b 2b 69 29 20 7b 0a 20 20 20 20 72 5b 69 2d 64 73 2d 31 5d 20 7c 3d 20 28 74 68 69 73 5b 69 .++i).{.....r[i-ds-1].|=.(this[i
2200 5d 26 62 6d 29 3c 3c 63 62 73 3b 0a 20 20 20 20 72 5b 69 2d 64 73 5d 20 3d 20 74 68 69 73 5b 69 ]&bm)<<cbs;.....r[i-ds].=.this[i
2220 5d 3e 3e 62 73 3b 0a 20 20 7d 0a 20 20 69 66 28 62 73 20 3e 20 30 29 20 72 5b 74 68 69 73 2e 74 ]>>bs;...}...if(bs.>.0).r[this.t
2240 2d 64 73 2d 31 5d 20 7c 3d 20 28 74 68 69 73 2e 73 26 62 6d 29 3c 3c 63 62 73 3b 0a 20 20 72 2e -ds-1].|=.(this.s&bm)<<cbs;...r.
2260 74 20 3d 20 74 68 69 73 2e 74 2d 64 73 3b 0a 20 20 72 2e 63 6c 61 6d 70 28 29 3b 0a 7d 0a 0a 2f t.=.this.t-ds;...r.clamp();.}../
2280 2f 20 28 70 72 6f 74 65 63 74 65 64 29 20 72 20 3d 20 74 68 69 73 20 2d 20 61 0a 66 75 6e 63 74 /.(protected).r.=.this.-.a.funct
22a0 69 6f 6e 20 62 6e 70 53 75 62 54 6f 28 61 2c 72 29 20 7b 0a 20 20 76 61 72 20 69 20 3d 20 30 2c ion.bnpSubTo(a,r).{...var.i.=.0,
22c0 20 63 20 3d 20 30 2c 20 6d 20 3d 20 4d 61 74 68 2e 6d 69 6e 28 61 2e 74 2c 74 68 69 73 2e 74 29 .c.=.0,.m.=.Math.min(a.t,this.t)
22e0 3b 0a 20 20 77 68 69 6c 65 28 69 20 3c 20 6d 29 20 7b 0a 20 20 20 20 63 20 2b 3d 20 74 68 69 73 ;...while(i.<.m).{.....c.+=.this
2300 5b 69 5d 2d 61 5b 69 5d 3b 0a 20 20 20 20 72 5b 69 2b 2b 5d 20 3d 20 63 26 74 68 69 73 2e 44 4d [i]-a[i];.....r[i++].=.c&this.DM
2320 3b 0a 20 20 20 20 63 20 3e 3e 3d 20 74 68 69 73 2e 44 42 3b 0a 20 20 7d 0a 20 20 69 66 28 61 2e ;.....c.>>=.this.DB;...}...if(a.
2340 74 20 3c 20 74 68 69 73 2e 74 29 20 7b 0a 20 20 20 20 63 20 2d 3d 20 61 2e 73 3b 0a 20 20 20 20 t.<.this.t).{.....c.-=.a.s;.....
2360 77 68 69 6c 65 28 69 20 3c 20 74 68 69 73 2e 74 29 20 7b 0a 20 20 20 20 20 20 63 20 2b 3d 20 74 while(i.<.this.t).{.......c.+=.t
2380 68 69 73 5b 69 5d 3b 0a 20 20 20 20 20 20 72 5b 69 2b 2b 5d 20 3d 20 63 26 74 68 69 73 2e 44 4d his[i];.......r[i++].=.c&this.DM
23a0 3b 0a 20 20 20 20 20 20 63 20 3e 3e 3d 20 74 68 69 73 2e 44 42 3b 0a 20 20 20 20 7d 0a 20 20 20 ;.......c.>>=.this.DB;.....}....
23c0 20 63 20 2b 3d 20 74 68 69 73 2e 73 3b 0a 20 20 7d 0a 20 20 65 6c 73 65 20 7b 0a 20 20 20 20 63 .c.+=.this.s;...}...else.{.....c
23e0 20 2b 3d 20 74 68 69 73 2e 73 3b 0a 20 20 20 20 77 68 69 6c 65 28 69 20 3c 20 61 2e 74 29 20 7b .+=.this.s;.....while(i.<.a.t).{
2400 0a 20 20 20 20 20 20 63 20 2d 3d 20 61 5b 69 5d 3b 0a 20 20 20 20 20 20 72 5b 69 2b 2b 5d 20 3d .......c.-=.a[i];.......r[i++].=
2420 20 63 26 74 68 69 73 2e 44 4d 3b 0a 20 20 20 20 20 20 63 20 3e 3e 3d 20 74 68 69 73 2e 44 42 3b .c&this.DM;.......c.>>=.this.DB;
2440 0a 20 20 20 20 7d 0a 20 20 20 20 63 20 2d 3d 20 61 2e 73 3b 0a 20 20 7d 0a 20 20 72 2e 73 20 3d .....}.....c.-=.a.s;...}...r.s.=
2460 20 28 63 3c 30 29 3f 2d 31 3a 30 3b 0a 20 20 69 66 28 63 20 3c 20 2d 31 29 20 72 5b 69 2b 2b 5d .(c<0)?-1:0;...if(c.<.-1).r[i++]
2480 20 3d 20 74 68 69 73 2e 44 56 2b 63 3b 0a 20 20 65 6c 73 65 20 69 66 28 63 20 3e 20 30 29 20 72 .=.this.DV+c;...else.if(c.>.0).r
24a0 5b 69 2b 2b 5d 20 3d 20 63 3b 0a 20 20 72 2e 74 20 3d 20 69 3b 0a 20 20 72 2e 63 6c 61 6d 70 28 [i++].=.c;...r.t.=.i;...r.clamp(
24c0 29 3b 0a 7d 0a 0a 2f 2f 20 28 70 72 6f 74 65 63 74 65 64 29 20 72 20 3d 20 74 68 69 73 20 2a 20 );.}..//.(protected).r.=.this.*.
24e0 61 2c 20 72 20 21 3d 20 74 68 69 73 2c 61 20 28 48 41 43 20 31 34 2e 31 32 29 0a 2f 2f 20 22 74 a,.r.!=.this,a.(HAC.14.12).//."t
2500 68 69 73 22 20 73 68 6f 75 6c 64 20 62 65 20 74 68 65 20 6c 61 72 67 65 72 20 6f 6e 65 20 69 66 his".should.be.the.larger.one.if
2520 20 61 70 70 72 6f 70 72 69 61 74 65 2e 0a 66 75 6e 63 74 69 6f 6e 20 62 6e 70 4d 75 6c 74 69 70 .appropriate..function.bnpMultip
2540 6c 79 54 6f 28 61 2c 72 29 20 7b 0a 20 20 76 61 72 20 78 20 3d 20 74 68 69 73 2e 61 62 73 28 29 lyTo(a,r).{...var.x.=.this.abs()
2560 2c 20 79 20 3d 20 61 2e 61 62 73 28 29 3b 0a 20 20 76 61 72 20 69 20 3d 20 78 2e 74 3b 0a 20 20 ,.y.=.a.abs();...var.i.=.x.t;...
2580 72 2e 74 20 3d 20 69 2b 79 2e 74 3b 0a 20 20 77 68 69 6c 65 28 2d 2d 69 20 3e 3d 20 30 29 20 72 r.t.=.i+y.t;...while(--i.>=.0).r
25a0 5b 69 5d 20 3d 20 30 3b 0a 20 20 66 6f 72 28 69 20 3d 20 30 3b 20 69 20 3c 20 79 2e 74 3b 20 2b [i].=.0;...for(i.=.0;.i.<.y.t;.+
25c0 2b 69 29 20 72 5b 69 2b 78 2e 74 5d 20 3d 20 78 2e 61 6d 28 30 2c 79 5b 69 5d 2c 72 2c 69 2c 30 +i).r[i+x.t].=.x.am(0,y[i],r,i,0
25e0 2c 78 2e 74 29 3b 0a 20 20 72 2e 73 20 3d 20 30 3b 0a 20 20 72 2e 63 6c 61 6d 70 28 29 3b 0a 20 ,x.t);...r.s.=.0;...r.clamp();..
2600 20 69 66 28 74 68 69 73 2e 73 20 21 3d 20 61 2e 73 29 20 42 69 67 49 6e 74 65 67 65 72 2e 5a 45 .if(this.s.!=.a.s).BigInteger.ZE
2620 52 4f 2e 73 75 62 54 6f 28 72 2c 72 29 3b 0a 7d 0a 0a 2f 2f 20 28 70 72 6f 74 65 63 74 65 64 29 RO.subTo(r,r);.}..//.(protected)
2640 20 72 20 3d 20 74 68 69 73 5e 32 2c 20 72 20 21 3d 20 74 68 69 73 20 28 48 41 43 20 31 34 2e 31 .r.=.this^2,.r.!=.this.(HAC.14.1
2660 36 29 0a 66 75 6e 63 74 69 6f 6e 20 62 6e 70 53 71 75 61 72 65 54 6f 28 72 29 20 7b 0a 20 20 76 6).function.bnpSquareTo(r).{...v
2680 61 72 20 78 20 3d 20 74 68 69 73 2e 61 62 73 28 29 3b 0a 20 20 76 61 72 20 69 20 3d 20 72 2e 74 ar.x.=.this.abs();...var.i.=.r.t
26a0 20 3d 20 32 2a 78 2e 74 3b 0a 20 20 77 68 69 6c 65 28 2d 2d 69 20 3e 3d 20 30 29 20 72 5b 69 5d .=.2*x.t;...while(--i.>=.0).r[i]
26c0 20 3d 20 30 3b 0a 20 20 66 6f 72 28 69 20 3d 20 30 3b 20 69 20 3c 20 78 2e 74 2d 31 3b 20 2b 2b .=.0;...for(i.=.0;.i.<.x.t-1;.++
26e0 69 29 20 7b 0a 20 20 20 20 76 61 72 20 63 20 3d 20 78 2e 61 6d 28 69 2c 78 5b 69 5d 2c 72 2c 32 i).{.....var.c.=.x.am(i,x[i],r,2
2700 2a 69 2c 30 2c 31 29 3b 0a 20 20 20 20 69 66 28 28 72 5b 69 2b 78 2e 74 5d 2b 3d 78 2e 61 6d 28 *i,0,1);.....if((r[i+x.t]+=x.am(
2720 69 2b 31 2c 32 2a 78 5b 69 5d 2c 72 2c 32 2a 69 2b 31 2c 63 2c 78 2e 74 2d 69 2d 31 29 29 20 3e i+1,2*x[i],r,2*i+1,c,x.t-i-1)).>
2740 3d 20 78 2e 44 56 29 20 7b 0a 20 20 20 20 20 20 72 5b 69 2b 78 2e 74 5d 20 2d 3d 20 78 2e 44 56 =.x.DV).{.......r[i+x.t].-=.x.DV
2760 3b 0a 20 20 20 20 20 20 72 5b 69 2b 78 2e 74 2b 31 5d 20 3d 20 31 3b 0a 20 20 20 20 7d 0a 20 20 ;.......r[i+x.t+1].=.1;.....}...
2780 7d 0a 20 20 69 66 28 72 2e 74 20 3e 20 30 29 20 72 5b 72 2e 74 2d 31 5d 20 2b 3d 20 78 2e 61 6d }...if(r.t.>.0).r[r.t-1].+=.x.am
27a0 28 69 2c 78 5b 69 5d 2c 72 2c 32 2a 69 2c 30 2c 31 29 3b 0a 20 20 72 2e 73 20 3d 20 30 3b 0a 20 (i,x[i],r,2*i,0,1);...r.s.=.0;..
27c0 20 72 2e 63 6c 61 6d 70 28 29 3b 0a 7d 0a 0a 2f 2f 20 28 70 72 6f 74 65 63 74 65 64 29 20 64 69 .r.clamp();.}..//.(protected).di
27e0 76 69 64 65 20 74 68 69 73 20 62 79 20 6d 2c 20 71 75 6f 74 69 65 6e 74 20 61 6e 64 20 72 65 6d vide.this.by.m,.quotient.and.rem
2800 61 69 6e 64 65 72 20 74 6f 20 71 2c 20 72 20 28 48 41 43 20 31 34 2e 32 30 29 0a 2f 2f 20 72 20 ainder.to.q,.r.(HAC.14.20).//.r.
2820 21 3d 20 71 2c 20 74 68 69 73 20 21 3d 20 6d 2e 20 20 71 20 6f 72 20 72 20 6d 61 79 20 62 65 20 !=.q,.this.!=.m...q.or.r.may.be.
2840 6e 75 6c 6c 2e 0a 66 75 6e 63 74 69 6f 6e 20 62 6e 70 44 69 76 52 65 6d 54 6f 28 6d 2c 71 2c 72 null..function.bnpDivRemTo(m,q,r
2860 29 20 7b 0a 20 20 76 61 72 20 70 6d 20 3d 20 6d 2e 61 62 73 28 29 3b 0a 20 20 69 66 28 70 6d 2e ).{...var.pm.=.m.abs();...if(pm.
2880 74 20 3c 3d 20 30 29 20 72 65 74 75 72 6e 3b 0a 20 20 76 61 72 20 70 74 20 3d 20 74 68 69 73 2e t.<=.0).return;...var.pt.=.this.
28a0 61 62 73 28 29 3b 0a 20 20 69 66 28 70 74 2e 74 20 3c 20 70 6d 2e 74 29 20 7b 0a 20 20 20 20 69 abs();...if(pt.t.<.pm.t).{.....i
28c0 66 28 71 20 21 3d 20 6e 75 6c 6c 29 20 71 2e 66 72 6f 6d 49 6e 74 28 30 29 3b 0a 20 20 20 20 69 f(q.!=.null).q.fromInt(0);.....i
28e0 66 28 72 20 21 3d 20 6e 75 6c 6c 29 20 74 68 69 73 2e 63 6f 70 79 54 6f 28 72 29 3b 0a 20 20 20 f(r.!=.null).this.copyTo(r);....
2900 20 72 65 74 75 72 6e 3b 0a 20 20 7d 0a 20 20 69 66 28 72 20 3d 3d 20 6e 75 6c 6c 29 20 72 20 3d .return;...}...if(r.==.null).r.=
2920 20 6e 62 69 28 29 3b 0a 20 20 76 61 72 20 79 20 3d 20 6e 62 69 28 29 2c 20 74 73 20 3d 20 74 68 .nbi();...var.y.=.nbi(),.ts.=.th
2940 69 73 2e 73 2c 20 6d 73 20 3d 20 6d 2e 73 3b 0a 20 20 76 61 72 20 6e 73 68 20 3d 20 74 68 69 73 is.s,.ms.=.m.s;...var.nsh.=.this
2960 2e 44 42 2d 6e 62 69 74 73 28 70 6d 5b 70 6d 2e 74 2d 31 5d 29 3b 09 2f 2f 20 6e 6f 72 6d 61 6c .DB-nbits(pm[pm.t-1]);.//.normal
2980 69 7a 65 20 6d 6f 64 75 6c 75 73 0a 20 20 69 66 28 6e 73 68 20 3e 20 30 29 20 7b 20 70 6d 2e 6c ize.modulus...if(nsh.>.0).{.pm.l
29a0 53 68 69 66 74 54 6f 28 6e 73 68 2c 79 29 3b 20 70 74 2e 6c 53 68 69 66 74 54 6f 28 6e 73 68 2c ShiftTo(nsh,y);.pt.lShiftTo(nsh,
29c0 72 29 3b 20 7d 0a 20 20 65 6c 73 65 20 7b 20 70 6d 2e 63 6f 70 79 54 6f 28 79 29 3b 20 70 74 2e r);.}...else.{.pm.copyTo(y);.pt.
29e0 63 6f 70 79 54 6f 28 72 29 3b 20 7d 0a 20 20 76 61 72 20 79 73 20 3d 20 79 2e 74 3b 0a 20 20 76 copyTo(r);.}...var.ys.=.y.t;...v
2a00 61 72 20 79 30 20 3d 20 79 5b 79 73 2d 31 5d 3b 0a 20 20 69 66 28 79 30 20 3d 3d 20 30 29 20 72 ar.y0.=.y[ys-1];...if(y0.==.0).r
2a20 65 74 75 72 6e 3b 0a 20 20 76 61 72 20 79 74 20 3d 20 79 30 2a 28 31 3c 3c 74 68 69 73 2e 46 31 eturn;...var.yt.=.y0*(1<<this.F1
2a40 29 2b 28 28 79 73 3e 31 29 3f 79 5b 79 73 2d 32 5d 3e 3e 74 68 69 73 2e 46 32 3a 30 29 3b 0a 20 )+((ys>1)?y[ys-2]>>this.F2:0);..
2a60 20 76 61 72 20 64 31 20 3d 20 74 68 69 73 2e 46 56 2f 79 74 2c 20 64 32 20 3d 20 28 31 3c 3c 74 .var.d1.=.this.FV/yt,.d2.=.(1<<t
2a80 68 69 73 2e 46 31 29 2f 79 74 2c 20 65 20 3d 20 31 3c 3c 74 68 69 73 2e 46 32 3b 0a 20 20 76 61 his.F1)/yt,.e.=.1<<this.F2;...va
2aa0 72 20 69 20 3d 20 72 2e 74 2c 20 6a 20 3d 20 69 2d 79 73 2c 20 74 20 3d 20 28 71 3d 3d 6e 75 6c r.i.=.r.t,.j.=.i-ys,.t.=.(q==nul
2ac0 6c 29 3f 6e 62 69 28 29 3a 71 3b 0a 20 20 79 2e 64 6c 53 68 69 66 74 54 6f 28 6a 2c 74 29 3b 0a l)?nbi():q;...y.dlShiftTo(j,t);.
2ae0 20 20 69 66 28 72 2e 63 6f 6d 70 61 72 65 54 6f 28 74 29 20 3e 3d 20 30 29 20 7b 0a 20 20 20 20 ..if(r.compareTo(t).>=.0).{.....
2b00 72 5b 72 2e 74 2b 2b 5d 20 3d 20 31 3b 0a 20 20 20 20 72 2e 73 75 62 54 6f 28 74 2c 72 29 3b 0a r[r.t++].=.1;.....r.subTo(t,r);.
2b20 20 20 7d 0a 20 20 42 69 67 49 6e 74 65 67 65 72 2e 4f 4e 45 2e 64 6c 53 68 69 66 74 54 6f 28 79 ..}...BigInteger.ONE.dlShiftTo(y
2b40 73 2c 74 29 3b 0a 20 20 74 2e 73 75 62 54 6f 28 79 2c 79 29 3b 09 2f 2f 20 22 6e 65 67 61 74 69 s,t);...t.subTo(y,y);.//."negati
2b60 76 65 22 20 79 20 73 6f 20 77 65 20 63 61 6e 20 72 65 70 6c 61 63 65 20 73 75 62 20 77 69 74 68 ve".y.so.we.can.replace.sub.with
2b80 20 61 6d 20 6c 61 74 65 72 0a 20 20 77 68 69 6c 65 28 79 2e 74 20 3c 20 79 73 29 20 79 5b 79 2e .am.later...while(y.t.<.ys).y[y.
2ba0 74 2b 2b 5d 20 3d 20 30 3b 0a 20 20 77 68 69 6c 65 28 2d 2d 6a 20 3e 3d 20 30 29 20 7b 0a 20 20 t++].=.0;...while(--j.>=.0).{...
2bc0 20 20 2f 2f 20 45 73 74 69 6d 61 74 65 20 71 75 6f 74 69 65 6e 74 20 64 69 67 69 74 0a 20 20 20 ..//.Estimate.quotient.digit....
2be0 20 76 61 72 20 71 64 20 3d 20 28 72 5b 2d 2d 69 5d 3d 3d 79 30 29 3f 74 68 69 73 2e 44 4d 3a 4d .var.qd.=.(r[--i]==y0)?this.DM:M
2c00 61 74 68 2e 66 6c 6f 6f 72 28 72 5b 69 5d 2a 64 31 2b 28 72 5b 69 2d 31 5d 2b 65 29 2a 64 32 29 ath.floor(r[i]*d1+(r[i-1]+e)*d2)
2c20 3b 0a 20 20 20 20 69 66 28 28 72 5b 69 5d 2b 3d 79 2e 61 6d 28 30 2c 71 64 2c 72 2c 6a 2c 30 2c ;.....if((r[i]+=y.am(0,qd,r,j,0,
2c40 79 73 29 29 20 3c 20 71 64 29 20 7b 09 2f 2f 20 54 72 79 20 69 74 20 6f 75 74 0a 20 20 20 20 20 ys)).<.qd).{.//.Try.it.out......
2c60 20 79 2e 64 6c 53 68 69 66 74 54 6f 28 6a 2c 74 29 3b 0a 20 20 20 20 20 20 72 2e 73 75 62 54 6f .y.dlShiftTo(j,t);.......r.subTo
2c80 28 74 2c 72 29 3b 0a 20 20 20 20 20 20 77 68 69 6c 65 28 72 5b 69 5d 20 3c 20 2d 2d 71 64 29 20 (t,r);.......while(r[i].<.--qd).
2ca0 72 2e 73 75 62 54 6f 28 74 2c 72 29 3b 0a 20 20 20 20 7d 0a 20 20 7d 0a 20 20 69 66 28 71 20 21 r.subTo(t,r);.....}...}...if(q.!
2cc0 3d 20 6e 75 6c 6c 29 20 7b 0a 20 20 20 20 72 2e 64 72 53 68 69 66 74 54 6f 28 79 73 2c 71 29 3b =.null).{.....r.drShiftTo(ys,q);
2ce0 0a 20 20 20 20 69 66 28 74 73 20 21 3d 20 6d 73 29 20 42 69 67 49 6e 74 65 67 65 72 2e 5a 45 52 .....if(ts.!=.ms).BigInteger.ZER
2d00 4f 2e 73 75 62 54 6f 28 71 2c 71 29 3b 0a 20 20 7d 0a 20 20 72 2e 74 20 3d 20 79 73 3b 0a 20 20 O.subTo(q,q);...}...r.t.=.ys;...
2d20 72 2e 63 6c 61 6d 70 28 29 3b 0a 20 20 69 66 28 6e 73 68 20 3e 20 30 29 20 72 2e 72 53 68 69 66 r.clamp();...if(nsh.>.0).r.rShif
2d40 74 54 6f 28 6e 73 68 2c 72 29 3b 09 2f 2f 20 44 65 6e 6f 72 6d 61 6c 69 7a 65 20 72 65 6d 61 69 tTo(nsh,r);.//.Denormalize.remai
2d60 6e 64 65 72 0a 20 20 69 66 28 74 73 20 3c 20 30 29 20 42 69 67 49 6e 74 65 67 65 72 2e 5a 45 52 nder...if(ts.<.0).BigInteger.ZER
2d80 4f 2e 73 75 62 54 6f 28 72 2c 72 29 3b 0a 7d 0a 0a 2f 2f 20 28 70 75 62 6c 69 63 29 20 74 68 69 O.subTo(r,r);.}..//.(public).thi
2da0 73 20 6d 6f 64 20 61 0a 66 75 6e 63 74 69 6f 6e 20 62 6e 4d 6f 64 28 61 29 20 7b 0a 20 20 76 61 s.mod.a.function.bnMod(a).{...va
2dc0 72 20 72 20 3d 20 6e 62 69 28 29 3b 0a 20 20 74 68 69 73 2e 61 62 73 28 29 2e 64 69 76 52 65 6d r.r.=.nbi();...this.abs().divRem
2de0 54 6f 28 61 2c 6e 75 6c 6c 2c 72 29 3b 0a 20 20 69 66 28 74 68 69 73 2e 73 20 3c 20 30 20 26 26 To(a,null,r);...if(this.s.<.0.&&
2e00 20 72 2e 63 6f 6d 70 61 72 65 54 6f 28 42 69 67 49 6e 74 65 67 65 72 2e 5a 45 52 4f 29 20 3e 20 .r.compareTo(BigInteger.ZERO).>.
2e20 30 29 20 61 2e 73 75 62 54 6f 28 72 2c 72 29 3b 0a 20 20 72 65 74 75 72 6e 20 72 3b 0a 7d 0a 0a 0).a.subTo(r,r);...return.r;.}..
2e40 2f 2f 20 4d 6f 64 75 6c 61 72 20 72 65 64 75 63 74 69 6f 6e 20 75 73 69 6e 67 20 22 63 6c 61 73 //.Modular.reduction.using."clas
2e60 73 69 63 22 20 61 6c 67 6f 72 69 74 68 6d 0a 66 75 6e 63 74 69 6f 6e 20 43 6c 61 73 73 69 63 28 sic".algorithm.function.Classic(
2e80 6d 29 20 7b 20 74 68 69 73 2e 6d 20 3d 20 6d 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 63 43 6f 6e m).{.this.m.=.m;.}.function.cCon
2ea0 76 65 72 74 28 78 29 20 7b 0a 20 20 69 66 28 78 2e 73 20 3c 20 30 20 7c 7c 20 78 2e 63 6f 6d 70 vert(x).{...if(x.s.<.0.||.x.comp
2ec0 61 72 65 54 6f 28 74 68 69 73 2e 6d 29 20 3e 3d 20 30 29 20 72 65 74 75 72 6e 20 78 2e 6d 6f 64 areTo(this.m).>=.0).return.x.mod
2ee0 28 74 68 69 73 2e 6d 29 3b 0a 20 20 65 6c 73 65 20 72 65 74 75 72 6e 20 78 3b 0a 7d 0a 66 75 6e (this.m);...else.return.x;.}.fun
2f00 63 74 69 6f 6e 20 63 52 65 76 65 72 74 28 78 29 20 7b 20 72 65 74 75 72 6e 20 78 3b 20 7d 0a 66 ction.cRevert(x).{.return.x;.}.f
2f20 75 6e 63 74 69 6f 6e 20 63 52 65 64 75 63 65 28 78 29 20 7b 20 78 2e 64 69 76 52 65 6d 54 6f 28 unction.cReduce(x).{.x.divRemTo(
2f40 74 68 69 73 2e 6d 2c 6e 75 6c 6c 2c 78 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 63 4d 75 6c 54 this.m,null,x);.}.function.cMulT
2f60 6f 28 78 2c 79 2c 72 29 20 7b 20 78 2e 6d 75 6c 74 69 70 6c 79 54 6f 28 79 2c 72 29 3b 20 74 68 o(x,y,r).{.x.multiplyTo(y,r);.th
2f80 69 73 2e 72 65 64 75 63 65 28 72 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 63 53 71 72 54 6f 28 is.reduce(r);.}.function.cSqrTo(
2fa0 78 2c 72 29 20 7b 20 78 2e 73 71 75 61 72 65 54 6f 28 72 29 3b 20 74 68 69 73 2e 72 65 64 75 63 x,r).{.x.squareTo(r);.this.reduc
2fc0 65 28 72 29 3b 20 7d 0a 0a 43 6c 61 73 73 69 63 2e 70 72 6f 74 6f 74 79 70 65 2e 63 6f 6e 76 65 e(r);.}..Classic.prototype.conve
2fe0 72 74 20 3d 20 63 43 6f 6e 76 65 72 74 3b 0a 43 6c 61 73 73 69 63 2e 70 72 6f 74 6f 74 79 70 65 rt.=.cConvert;.Classic.prototype
3000 2e 72 65 76 65 72 74 20 3d 20 63 52 65 76 65 72 74 3b 0a 43 6c 61 73 73 69 63 2e 70 72 6f 74 6f .revert.=.cRevert;.Classic.proto
3020 74 79 70 65 2e 72 65 64 75 63 65 20 3d 20 63 52 65 64 75 63 65 3b 0a 43 6c 61 73 73 69 63 2e 70 type.reduce.=.cReduce;.Classic.p
3040 72 6f 74 6f 74 79 70 65 2e 6d 75 6c 54 6f 20 3d 20 63 4d 75 6c 54 6f 3b 0a 43 6c 61 73 73 69 63 rototype.mulTo.=.cMulTo;.Classic
3060 2e 70 72 6f 74 6f 74 79 70 65 2e 73 71 72 54 6f 20 3d 20 63 53 71 72 54 6f 3b 0a 0a 2f 2f 20 28 .prototype.sqrTo.=.cSqrTo;..//.(
3080 70 72 6f 74 65 63 74 65 64 29 20 72 65 74 75 72 6e 20 22 2d 31 2f 74 68 69 73 20 25 20 32 5e 44 protected).return."-1/this.%.2^D
30a0 42 22 3b 20 75 73 65 66 75 6c 20 66 6f 72 20 4d 6f 6e 74 2e 20 72 65 64 75 63 74 69 6f 6e 0a 2f B";.useful.for.Mont..reduction./
30c0 2f 20 6a 75 73 74 69 66 69 63 61 74 69 6f 6e 3a 0a 2f 2f 20 20 20 20 20 20 20 20 20 78 79 20 3d /.justification:.//.........xy.=
30e0 3d 20 31 20 28 6d 6f 64 20 6d 29 0a 2f 2f 20 20 20 20 20 20 20 20 20 78 79 20 3d 20 20 31 2b 6b =.1.(mod.m).//.........xy.=..1+k
3100 6d 0a 2f 2f 20 20 20 78 79 28 32 2d 78 79 29 20 3d 20 28 31 2b 6b 6d 29 28 31 2d 6b 6d 29 0a 2f m.//...xy(2-xy).=.(1+km)(1-km)./
3120 2f 20 78 5b 79 28 32 2d 78 79 29 5d 20 3d 20 31 2d 6b 5e 32 6d 5e 32 0a 2f 2f 20 78 5b 79 28 32 /.x[y(2-xy)].=.1-k^2m^2.//.x[y(2
3140 2d 78 79 29 5d 20 3d 3d 20 31 20 28 6d 6f 64 20 6d 5e 32 29 0a 2f 2f 20 69 66 20 79 20 69 73 20 -xy)].==.1.(mod.m^2).//.if.y.is.
3160 31 2f 78 20 6d 6f 64 20 6d 2c 20 74 68 65 6e 20 79 28 32 2d 78 79 29 20 69 73 20 31 2f 78 20 6d 1/x.mod.m,.then.y(2-xy).is.1/x.m
3180 6f 64 20 6d 5e 32 0a 2f 2f 20 73 68 6f 75 6c 64 20 72 65 64 75 63 65 20 78 20 61 6e 64 20 79 28 od.m^2.//.should.reduce.x.and.y(
31a0 32 2d 78 79 29 20 62 79 20 6d 5e 32 20 61 74 20 65 61 63 68 20 73 74 65 70 20 74 6f 20 6b 65 65 2-xy).by.m^2.at.each.step.to.kee
31c0 70 20 73 69 7a 65 20 62 6f 75 6e 64 65 64 2e 0a 2f 2f 20 4a 53 20 6d 75 6c 74 69 70 6c 79 20 22 p.size.bounded..//.JS.multiply."
31e0 6f 76 65 72 66 6c 6f 77 73 22 20 64 69 66 66 65 72 65 6e 74 6c 79 20 66 72 6f 6d 20 43 2f 43 2b overflows".differently.from.C/C+
3200 2b 2c 20 73 6f 20 63 61 72 65 20 69 73 20 6e 65 65 64 65 64 20 68 65 72 65 2e 0a 66 75 6e 63 74 +,.so.care.is.needed.here..funct
3220 69 6f 6e 20 62 6e 70 49 6e 76 44 69 67 69 74 28 29 20 7b 0a 20 20 69 66 28 74 68 69 73 2e 74 20 ion.bnpInvDigit().{...if(this.t.
3240 3c 20 31 29 20 72 65 74 75 72 6e 20 30 3b 0a 20 20 76 61 72 20 78 20 3d 20 74 68 69 73 5b 30 5d <.1).return.0;...var.x.=.this[0]
3260 3b 0a 20 20 69 66 28 28 78 26 31 29 20 3d 3d 20 30 29 20 72 65 74 75 72 6e 20 30 3b 0a 20 20 76 ;...if((x&1).==.0).return.0;...v
3280 61 72 20 79 20 3d 20 78 26 33 3b 09 09 2f 2f 20 79 20 3d 3d 20 31 2f 78 20 6d 6f 64 20 32 5e 32 ar.y.=.x&3;..//.y.==.1/x.mod.2^2
32a0 0a 20 20 79 20 3d 20 28 79 2a 28 32 2d 28 78 26 30 78 66 29 2a 79 29 29 26 30 78 66 3b 09 2f 2f ...y.=.(y*(2-(x&0xf)*y))&0xf;.//
32c0 20 79 20 3d 3d 20 31 2f 78 20 6d 6f 64 20 32 5e 34 0a 20 20 79 20 3d 20 28 79 2a 28 32 2d 28 78 .y.==.1/x.mod.2^4...y.=.(y*(2-(x
32e0 26 30 78 66 66 29 2a 79 29 29 26 30 78 66 66 3b 09 2f 2f 20 79 20 3d 3d 20 31 2f 78 20 6d 6f 64 &0xff)*y))&0xff;.//.y.==.1/x.mod
3300 20 32 5e 38 0a 20 20 79 20 3d 20 28 79 2a 28 32 2d 28 28 28 78 26 30 78 66 66 66 66 29 2a 79 29 .2^8...y.=.(y*(2-(((x&0xffff)*y)
3320 26 30 78 66 66 66 66 29 29 29 26 30 78 66 66 66 66 3b 09 2f 2f 20 79 20 3d 3d 20 31 2f 78 20 6d &0xffff)))&0xffff;.//.y.==.1/x.m
3340 6f 64 20 32 5e 31 36 0a 20 20 2f 2f 20 6c 61 73 74 20 73 74 65 70 20 2d 20 63 61 6c 63 75 6c 61 od.2^16...//.last.step.-.calcula
3360 74 65 20 69 6e 76 65 72 73 65 20 6d 6f 64 20 44 56 20 64 69 72 65 63 74 6c 79 3b 0a 20 20 2f 2f te.inverse.mod.DV.directly;...//
3380 20 61 73 73 75 6d 65 73 20 31 36 20 3c 20 44 42 20 3c 3d 20 33 32 20 61 6e 64 20 61 73 73 75 6d .assumes.16.<.DB.<=.32.and.assum
33a0 65 73 20 61 62 69 6c 69 74 79 20 74 6f 20 68 61 6e 64 6c 65 20 34 38 2d 62 69 74 20 69 6e 74 73 es.ability.to.handle.48-bit.ints
33c0 0a 20 20 79 20 3d 20 28 79 2a 28 32 2d 78 2a 79 25 74 68 69 73 2e 44 56 29 29 25 74 68 69 73 2e ...y.=.(y*(2-x*y%this.DV))%this.
33e0 44 56 3b 09 09 2f 2f 20 79 20 3d 3d 20 31 2f 78 20 6d 6f 64 20 32 5e 64 62 69 74 73 0a 20 20 2f DV;..//.y.==.1/x.mod.2^dbits.../
3400 2f 20 77 65 20 72 65 61 6c 6c 79 20 77 61 6e 74 20 74 68 65 20 6e 65 67 61 74 69 76 65 20 69 6e /.we.really.want.the.negative.in
3420 76 65 72 73 65 2c 20 61 6e 64 20 2d 44 56 20 3c 20 79 20 3c 20 44 56 0a 20 20 72 65 74 75 72 6e verse,.and.-DV.<.y.<.DV...return
3440 20 28 79 3e 30 29 3f 74 68 69 73 2e 44 56 2d 79 3a 2d 79 3b 0a 7d 0a 0a 2f 2f 20 4d 6f 6e 74 67 .(y>0)?this.DV-y:-y;.}..//.Montg
3460 6f 6d 65 72 79 20 72 65 64 75 63 74 69 6f 6e 0a 66 75 6e 63 74 69 6f 6e 20 4d 6f 6e 74 67 6f 6d omery.reduction.function.Montgom
3480 65 72 79 28 6d 29 20 7b 0a 20 20 74 68 69 73 2e 6d 20 3d 20 6d 3b 0a 20 20 74 68 69 73 2e 6d 70 ery(m).{...this.m.=.m;...this.mp
34a0 20 3d 20 6d 2e 69 6e 76 44 69 67 69 74 28 29 3b 0a 20 20 74 68 69 73 2e 6d 70 6c 20 3d 20 74 68 .=.m.invDigit();...this.mpl.=.th
34c0 69 73 2e 6d 70 26 30 78 37 66 66 66 3b 0a 20 20 74 68 69 73 2e 6d 70 68 20 3d 20 74 68 69 73 2e is.mp&0x7fff;...this.mph.=.this.
34e0 6d 70 3e 3e 31 35 3b 0a 20 20 74 68 69 73 2e 75 6d 20 3d 20 28 31 3c 3c 28 6d 2e 44 42 2d 31 35 mp>>15;...this.um.=.(1<<(m.DB-15
3500 29 29 2d 31 3b 0a 20 20 74 68 69 73 2e 6d 74 32 20 3d 20 32 2a 6d 2e 74 3b 0a 7d 0a 0a 2f 2f 20 ))-1;...this.mt2.=.2*m.t;.}..//.
3520 78 52 20 6d 6f 64 20 6d 0a 66 75 6e 63 74 69 6f 6e 20 6d 6f 6e 74 43 6f 6e 76 65 72 74 28 78 29 xR.mod.m.function.montConvert(x)
3540 20 7b 0a 20 20 76 61 72 20 72 20 3d 20 6e 62 69 28 29 3b 0a 20 20 78 2e 61 62 73 28 29 2e 64 6c .{...var.r.=.nbi();...x.abs().dl
3560 53 68 69 66 74 54 6f 28 74 68 69 73 2e 6d 2e 74 2c 72 29 3b 0a 20 20 72 2e 64 69 76 52 65 6d 54 ShiftTo(this.m.t,r);...r.divRemT
3580 6f 28 74 68 69 73 2e 6d 2c 6e 75 6c 6c 2c 72 29 3b 0a 20 20 69 66 28 78 2e 73 20 3c 20 30 20 26 o(this.m,null,r);...if(x.s.<.0.&
35a0 26 20 72 2e 63 6f 6d 70 61 72 65 54 6f 28 42 69 67 49 6e 74 65 67 65 72 2e 5a 45 52 4f 29 20 3e &.r.compareTo(BigInteger.ZERO).>
35c0 20 30 29 20 74 68 69 73 2e 6d 2e 73 75 62 54 6f 28 72 2c 72 29 3b 0a 20 20 72 65 74 75 72 6e 20 .0).this.m.subTo(r,r);...return.
35e0 72 3b 0a 7d 0a 0a 2f 2f 20 78 2f 52 20 6d 6f 64 20 6d 0a 66 75 6e 63 74 69 6f 6e 20 6d 6f 6e 74 r;.}..//.x/R.mod.m.function.mont
3600 52 65 76 65 72 74 28 78 29 20 7b 0a 20 20 76 61 72 20 72 20 3d 20 6e 62 69 28 29 3b 0a 20 20 78 Revert(x).{...var.r.=.nbi();...x
3620 2e 63 6f 70 79 54 6f 28 72 29 3b 0a 20 20 74 68 69 73 2e 72 65 64 75 63 65 28 72 29 3b 0a 20 20 .copyTo(r);...this.reduce(r);...
3640 72 65 74 75 72 6e 20 72 3b 0a 7d 0a 0a 2f 2f 20 78 20 3d 20 78 2f 52 20 6d 6f 64 20 6d 20 28 48 return.r;.}..//.x.=.x/R.mod.m.(H
3660 41 43 20 31 34 2e 33 32 29 0a 66 75 6e 63 74 69 6f 6e 20 6d 6f 6e 74 52 65 64 75 63 65 28 78 29 AC.14.32).function.montReduce(x)
3680 20 7b 0a 20 20 77 68 69 6c 65 28 78 2e 74 20 3c 3d 20 74 68 69 73 2e 6d 74 32 29 09 2f 2f 20 70 .{...while(x.t.<=.this.mt2).//.p
36a0 61 64 20 78 20 73 6f 20 61 6d 20 68 61 73 20 65 6e 6f 75 67 68 20 72 6f 6f 6d 20 6c 61 74 65 72 ad.x.so.am.has.enough.room.later
36c0 0a 20 20 20 20 78 5b 78 2e 74 2b 2b 5d 20 3d 20 30 3b 0a 20 20 66 6f 72 28 76 61 72 20 69 20 3d .....x[x.t++].=.0;...for(var.i.=
36e0 20 30 3b 20 69 20 3c 20 74 68 69 73 2e 6d 2e 74 3b 20 2b 2b 69 29 20 7b 0a 20 20 20 20 2f 2f 20 .0;.i.<.this.m.t;.++i).{.....//.
3700 66 61 73 74 65 72 20 77 61 79 20 6f 66 20 63 61 6c 63 75 6c 61 74 69 6e 67 20 75 30 20 3d 20 78 faster.way.of.calculating.u0.=.x
3720 5b 69 5d 2a 6d 70 20 6d 6f 64 20 44 56 0a 20 20 20 20 76 61 72 20 6a 20 3d 20 78 5b 69 5d 26 30 [i]*mp.mod.DV.....var.j.=.x[i]&0
3740 78 37 66 66 66 3b 0a 20 20 20 20 76 61 72 20 75 30 20 3d 20 28 6a 2a 74 68 69 73 2e 6d 70 6c 2b x7fff;.....var.u0.=.(j*this.mpl+
3760 28 28 28 6a 2a 74 68 69 73 2e 6d 70 68 2b 28 78 5b 69 5d 3e 3e 31 35 29 2a 74 68 69 73 2e 6d 70 (((j*this.mph+(x[i]>>15)*this.mp
3780 6c 29 26 74 68 69 73 2e 75 6d 29 3c 3c 31 35 29 29 26 78 2e 44 4d 3b 0a 20 20 20 20 2f 2f 20 75 l)&this.um)<<15))&x.DM;.....//.u
37a0 73 65 20 61 6d 20 74 6f 20 63 6f 6d 62 69 6e 65 20 74 68 65 20 6d 75 6c 74 69 70 6c 79 2d 73 68 se.am.to.combine.the.multiply-sh
37c0 69 66 74 2d 61 64 64 20 69 6e 74 6f 20 6f 6e 65 20 63 61 6c 6c 0a 20 20 20 20 6a 20 3d 20 69 2b ift-add.into.one.call.....j.=.i+
37e0 74 68 69 73 2e 6d 2e 74 3b 0a 20 20 20 20 78 5b 6a 5d 20 2b 3d 20 74 68 69 73 2e 6d 2e 61 6d 28 this.m.t;.....x[j].+=.this.m.am(
3800 30 2c 75 30 2c 78 2c 69 2c 30 2c 74 68 69 73 2e 6d 2e 74 29 3b 0a 20 20 20 20 2f 2f 20 70 72 6f 0,u0,x,i,0,this.m.t);.....//.pro
3820 70 61 67 61 74 65 20 63 61 72 72 79 0a 20 20 20 20 77 68 69 6c 65 28 78 5b 6a 5d 20 3e 3d 20 78 pagate.carry.....while(x[j].>=.x
3840 2e 44 56 29 20 7b 20 78 5b 6a 5d 20 2d 3d 20 78 2e 44 56 3b 20 78 5b 2b 2b 6a 5d 2b 2b 3b 20 7d .DV).{.x[j].-=.x.DV;.x[++j]++;.}
3860 0a 20 20 7d 0a 20 20 78 2e 63 6c 61 6d 70 28 29 3b 0a 20 20 78 2e 64 72 53 68 69 66 74 54 6f 28 ...}...x.clamp();...x.drShiftTo(
3880 74 68 69 73 2e 6d 2e 74 2c 78 29 3b 0a 20 20 69 66 28 78 2e 63 6f 6d 70 61 72 65 54 6f 28 74 68 this.m.t,x);...if(x.compareTo(th
38a0 69 73 2e 6d 29 20 3e 3d 20 30 29 20 78 2e 73 75 62 54 6f 28 74 68 69 73 2e 6d 2c 78 29 3b 0a 7d is.m).>=.0).x.subTo(this.m,x);.}
38c0 0a 0a 2f 2f 20 72 20 3d 20 22 78 5e 32 2f 52 20 6d 6f 64 20 6d 22 3b 20 78 20 21 3d 20 72 0a 66 ..//.r.=."x^2/R.mod.m";.x.!=.r.f
38e0 75 6e 63 74 69 6f 6e 20 6d 6f 6e 74 53 71 72 54 6f 28 78 2c 72 29 20 7b 20 78 2e 73 71 75 61 72 unction.montSqrTo(x,r).{.x.squar
3900 65 54 6f 28 72 29 3b 20 74 68 69 73 2e 72 65 64 75 63 65 28 72 29 3b 20 7d 0a 0a 2f 2f 20 72 20 eTo(r);.this.reduce(r);.}..//.r.
3920 3d 20 22 78 79 2f 52 20 6d 6f 64 20 6d 22 3b 20 78 2c 79 20 21 3d 20 72 0a 66 75 6e 63 74 69 6f =."xy/R.mod.m";.x,y.!=.r.functio
3940 6e 20 6d 6f 6e 74 4d 75 6c 54 6f 28 78 2c 79 2c 72 29 20 7b 20 78 2e 6d 75 6c 74 69 70 6c 79 54 n.montMulTo(x,y,r).{.x.multiplyT
3960 6f 28 79 2c 72 29 3b 20 74 68 69 73 2e 72 65 64 75 63 65 28 72 29 3b 20 7d 0a 0a 4d 6f 6e 74 67 o(y,r);.this.reduce(r);.}..Montg
3980 6f 6d 65 72 79 2e 70 72 6f 74 6f 74 79 70 65 2e 63 6f 6e 76 65 72 74 20 3d 20 6d 6f 6e 74 43 6f omery.prototype.convert.=.montCo
39a0 6e 76 65 72 74 3b 0a 4d 6f 6e 74 67 6f 6d 65 72 79 2e 70 72 6f 74 6f 74 79 70 65 2e 72 65 76 65 nvert;.Montgomery.prototype.reve
39c0 72 74 20 3d 20 6d 6f 6e 74 52 65 76 65 72 74 3b 0a 4d 6f 6e 74 67 6f 6d 65 72 79 2e 70 72 6f 74 rt.=.montRevert;.Montgomery.prot
39e0 6f 74 79 70 65 2e 72 65 64 75 63 65 20 3d 20 6d 6f 6e 74 52 65 64 75 63 65 3b 0a 4d 6f 6e 74 67 otype.reduce.=.montReduce;.Montg
3a00 6f 6d 65 72 79 2e 70 72 6f 74 6f 74 79 70 65 2e 6d 75 6c 54 6f 20 3d 20 6d 6f 6e 74 4d 75 6c 54 omery.prototype.mulTo.=.montMulT
3a20 6f 3b 0a 4d 6f 6e 74 67 6f 6d 65 72 79 2e 70 72 6f 74 6f 74 79 70 65 2e 73 71 72 54 6f 20 3d 20 o;.Montgomery.prototype.sqrTo.=.
3a40 6d 6f 6e 74 53 71 72 54 6f 3b 0a 0a 2f 2f 20 28 70 72 6f 74 65 63 74 65 64 29 20 74 72 75 65 20 montSqrTo;..//.(protected).true.
3a60 69 66 66 20 74 68 69 73 20 69 73 20 65 76 65 6e 0a 66 75 6e 63 74 69 6f 6e 20 62 6e 70 49 73 45 iff.this.is.even.function.bnpIsE
3a80 76 65 6e 28 29 20 7b 20 72 65 74 75 72 6e 20 28 28 74 68 69 73 2e 74 3e 30 29 3f 28 74 68 69 73 ven().{.return.((this.t>0)?(this
3aa0 5b 30 5d 26 31 29 3a 74 68 69 73 2e 73 29 20 3d 3d 20 30 3b 20 7d 0a 0a 2f 2f 20 28 70 72 6f 74 [0]&1):this.s).==.0;.}..//.(prot
3ac0 65 63 74 65 64 29 20 74 68 69 73 5e 65 2c 20 65 20 3c 20 32 5e 33 32 2c 20 64 6f 69 6e 67 20 73 ected).this^e,.e.<.2^32,.doing.s
3ae0 71 72 20 61 6e 64 20 6d 75 6c 20 77 69 74 68 20 22 72 22 20 28 48 41 43 20 31 34 2e 37 39 29 0a qr.and.mul.with."r".(HAC.14.79).
3b00 66 75 6e 63 74 69 6f 6e 20 62 6e 70 45 78 70 28 65 2c 7a 29 20 7b 0a 20 20 69 66 28 65 20 3e 20 function.bnpExp(e,z).{...if(e.>.
3b20 30 78 66 66 66 66 66 66 66 66 20 7c 7c 20 65 20 3c 20 31 29 20 72 65 74 75 72 6e 20 42 69 67 49 0xffffffff.||.e.<.1).return.BigI
3b40 6e 74 65 67 65 72 2e 4f 4e 45 3b 0a 20 20 76 61 72 20 72 20 3d 20 6e 62 69 28 29 2c 20 72 32 20 nteger.ONE;...var.r.=.nbi(),.r2.
3b60 3d 20 6e 62 69 28 29 2c 20 67 20 3d 20 7a 2e 63 6f 6e 76 65 72 74 28 74 68 69 73 29 2c 20 69 20 =.nbi(),.g.=.z.convert(this),.i.
3b80 3d 20 6e 62 69 74 73 28 65 29 2d 31 3b 0a 20 20 67 2e 63 6f 70 79 54 6f 28 72 29 3b 0a 20 20 77 =.nbits(e)-1;...g.copyTo(r);...w
3ba0 68 69 6c 65 28 2d 2d 69 20 3e 3d 20 30 29 20 7b 0a 20 20 20 20 7a 2e 73 71 72 54 6f 28 72 2c 72 hile(--i.>=.0).{.....z.sqrTo(r,r
3bc0 32 29 3b 0a 20 20 20 20 69 66 28 28 65 26 28 31 3c 3c 69 29 29 20 3e 20 30 29 20 7a 2e 6d 75 6c 2);.....if((e&(1<<i)).>.0).z.mul
3be0 54 6f 28 72 32 2c 67 2c 72 29 3b 0a 20 20 20 20 65 6c 73 65 20 7b 20 76 61 72 20 74 20 3d 20 72 To(r2,g,r);.....else.{.var.t.=.r
3c00 3b 20 72 20 3d 20 72 32 3b 20 72 32 20 3d 20 74 3b 20 7d 0a 20 20 7d 0a 20 20 72 65 74 75 72 6e ;.r.=.r2;.r2.=.t;.}...}...return
3c20 20 7a 2e 72 65 76 65 72 74 28 72 29 3b 0a 7d 0a 0a 2f 2f 20 28 70 75 62 6c 69 63 29 20 74 68 69 .z.revert(r);.}..//.(public).thi
3c40 73 5e 65 20 25 20 6d 2c 20 30 20 3c 3d 20 65 20 3c 20 32 5e 33 32 0a 66 75 6e 63 74 69 6f 6e 20 s^e.%.m,.0.<=.e.<.2^32.function.
3c60 62 6e 4d 6f 64 50 6f 77 49 6e 74 28 65 2c 6d 29 20 7b 0a 20 20 76 61 72 20 7a 3b 0a 20 20 69 66 bnModPowInt(e,m).{...var.z;...if
3c80 28 65 20 3c 20 32 35 36 20 7c 7c 20 6d 2e 69 73 45 76 65 6e 28 29 29 20 7a 20 3d 20 6e 65 77 20 (e.<.256.||.m.isEven()).z.=.new.
3ca0 43 6c 61 73 73 69 63 28 6d 29 3b 20 65 6c 73 65 20 7a 20 3d 20 6e 65 77 20 4d 6f 6e 74 67 6f 6d Classic(m);.else.z.=.new.Montgom
3cc0 65 72 79 28 6d 29 3b 0a 20 20 72 65 74 75 72 6e 20 74 68 69 73 2e 65 78 70 28 65 2c 7a 29 3b 0a ery(m);...return.this.exp(e,z);.
3ce0 7d 0a 0a 2f 2f 20 70 72 6f 74 65 63 74 65 64 0a 42 69 67 49 6e 74 65 67 65 72 2e 70 72 6f 74 6f }..//.protected.BigInteger.proto
3d00 74 79 70 65 2e 63 6f 70 79 54 6f 20 3d 20 62 6e 70 43 6f 70 79 54 6f 3b 0a 42 69 67 49 6e 74 65 type.copyTo.=.bnpCopyTo;.BigInte
3d20 67 65 72 2e 70 72 6f 74 6f 74 79 70 65 2e 66 72 6f 6d 49 6e 74 20 3d 20 62 6e 70 46 72 6f 6d 49 ger.prototype.fromInt.=.bnpFromI
3d40 6e 74 3b 0a 42 69 67 49 6e 74 65 67 65 72 2e 70 72 6f 74 6f 74 79 70 65 2e 66 72 6f 6d 53 74 72 nt;.BigInteger.prototype.fromStr
3d60 69 6e 67 20 3d 20 62 6e 70 46 72 6f 6d 53 74 72 69 6e 67 3b 0a 42 69 67 49 6e 74 65 67 65 72 2e ing.=.bnpFromString;.BigInteger.
3d80 70 72 6f 74 6f 74 79 70 65 2e 63 6c 61 6d 70 20 3d 20 62 6e 70 43 6c 61 6d 70 3b 0a 42 69 67 49 prototype.clamp.=.bnpClamp;.BigI
3da0 6e 74 65 67 65 72 2e 70 72 6f 74 6f 74 79 70 65 2e 64 6c 53 68 69 66 74 54 6f 20 3d 20 62 6e 70 nteger.prototype.dlShiftTo.=.bnp
3dc0 44 4c 53 68 69 66 74 54 6f 3b 0a 42 69 67 49 6e 74 65 67 65 72 2e 70 72 6f 74 6f 74 79 70 65 2e DLShiftTo;.BigInteger.prototype.
3de0 64 72 53 68 69 66 74 54 6f 20 3d 20 62 6e 70 44 52 53 68 69 66 74 54 6f 3b 0a 42 69 67 49 6e 74 drShiftTo.=.bnpDRShiftTo;.BigInt
3e00 65 67 65 72 2e 70 72 6f 74 6f 74 79 70 65 2e 6c 53 68 69 66 74 54 6f 20 3d 20 62 6e 70 4c 53 68 eger.prototype.lShiftTo.=.bnpLSh
3e20 69 66 74 54 6f 3b 0a 42 69 67 49 6e 74 65 67 65 72 2e 70 72 6f 74 6f 74 79 70 65 2e 72 53 68 69 iftTo;.BigInteger.prototype.rShi
3e40 66 74 54 6f 20 3d 20 62 6e 70 52 53 68 69 66 74 54 6f 3b 0a 42 69 67 49 6e 74 65 67 65 72 2e 70 ftTo.=.bnpRShiftTo;.BigInteger.p
3e60 72 6f 74 6f 74 79 70 65 2e 73 75 62 54 6f 20 3d 20 62 6e 70 53 75 62 54 6f 3b 0a 42 69 67 49 6e rototype.subTo.=.bnpSubTo;.BigIn
3e80 74 65 67 65 72 2e 70 72 6f 74 6f 74 79 70 65 2e 6d 75 6c 74 69 70 6c 79 54 6f 20 3d 20 62 6e 70 teger.prototype.multiplyTo.=.bnp
3ea0 4d 75 6c 74 69 70 6c 79 54 6f 3b 0a 42 69 67 49 6e 74 65 67 65 72 2e 70 72 6f 74 6f 74 79 70 65 MultiplyTo;.BigInteger.prototype
3ec0 2e 73 71 75 61 72 65 54 6f 20 3d 20 62 6e 70 53 71 75 61 72 65 54 6f 3b 0a 42 69 67 49 6e 74 65 .squareTo.=.bnpSquareTo;.BigInte
3ee0 67 65 72 2e 70 72 6f 74 6f 74 79 70 65 2e 64 69 76 52 65 6d 54 6f 20 3d 20 62 6e 70 44 69 76 52 ger.prototype.divRemTo.=.bnpDivR
3f00 65 6d 54 6f 3b 0a 42 69 67 49 6e 74 65 67 65 72 2e 70 72 6f 74 6f 74 79 70 65 2e 69 6e 76 44 69 emTo;.BigInteger.prototype.invDi
3f20 67 69 74 20 3d 20 62 6e 70 49 6e 76 44 69 67 69 74 3b 0a 42 69 67 49 6e 74 65 67 65 72 2e 70 72 git.=.bnpInvDigit;.BigInteger.pr
3f40 6f 74 6f 74 79 70 65 2e 69 73 45 76 65 6e 20 3d 20 62 6e 70 49 73 45 76 65 6e 3b 0a 42 69 67 49 ototype.isEven.=.bnpIsEven;.BigI
3f60 6e 74 65 67 65 72 2e 70 72 6f 74 6f 74 79 70 65 2e 65 78 70 20 3d 20 62 6e 70 45 78 70 3b 0a 0a nteger.prototype.exp.=.bnpExp;..
3f80 2f 2f 20 70 75 62 6c 69 63 0a 42 69 67 49 6e 74 65 67 65 72 2e 70 72 6f 74 6f 74 79 70 65 2e 74 //.public.BigInteger.prototype.t
3fa0 6f 53 74 72 69 6e 67 20 3d 20 62 6e 54 6f 53 74 72 69 6e 67 3b 0a 42 69 67 49 6e 74 65 67 65 72 oString.=.bnToString;.BigInteger
3fc0 2e 70 72 6f 74 6f 74 79 70 65 2e 6e 65 67 61 74 65 20 3d 20 62 6e 4e 65 67 61 74 65 3b 0a 42 69 .prototype.negate.=.bnNegate;.Bi
3fe0 67 49 6e 74 65 67 65 72 2e 70 72 6f 74 6f 74 79 70 65 2e 61 62 73 20 3d 20 62 6e 41 62 73 3b 0a gInteger.prototype.abs.=.bnAbs;.
4000 42 69 67 49 6e 74 65 67 65 72 2e 70 72 6f 74 6f 74 79 70 65 2e 63 6f 6d 70 61 72 65 54 6f 20 3d BigInteger.prototype.compareTo.=
4020 20 62 6e 43 6f 6d 70 61 72 65 54 6f 3b 0a 42 69 67 49 6e 74 65 67 65 72 2e 70 72 6f 74 6f 74 79 .bnCompareTo;.BigInteger.prototy
4040 70 65 2e 62 69 74 4c 65 6e 67 74 68 20 3d 20 62 6e 42 69 74 4c 65 6e 67 74 68 3b 0a 42 69 67 49 pe.bitLength.=.bnBitLength;.BigI
4060 6e 74 65 67 65 72 2e 70 72 6f 74 6f 74 79 70 65 2e 6d 6f 64 20 3d 20 62 6e 4d 6f 64 3b 0a 42 69 nteger.prototype.mod.=.bnMod;.Bi
4080 67 49 6e 74 65 67 65 72 2e 70 72 6f 74 6f 74 79 70 65 2e 6d 6f 64 50 6f 77 49 6e 74 20 3d 20 62 gInteger.prototype.modPowInt.=.b
40a0 6e 4d 6f 64 50 6f 77 49 6e 74 3b 0a 0a 2f 2f 20 22 63 6f 6e 73 74 61 6e 74 73 22 0a 42 69 67 49 nModPowInt;..//."constants".BigI
40c0 6e 74 65 67 65 72 2e 5a 45 52 4f 20 3d 20 6e 62 76 28 30 29 3b 0a 42 69 67 49 6e 74 65 67 65 72 nteger.ZERO.=.nbv(0);.BigInteger
40e0 2e 4f 4e 45 20 3d 20 6e 62 76 28 31 29 3b 0a 22 0d 5f 76 65 72 73 69 6f 6e 22 25 39 66 33 62 39 .ONE.=.nbv(1);."._version"%9f3b9
4100 35 64 64 37 65 61 33 30 33 30 64 63 33 35 39 38 35 63 30 61 38 30 32 30 38 36 32 22 15 64 65 70 5dd7ea3030dc35985c0a8020862".dep
4120 65 6e 64 65 6e 63 79 5f 70 61 74 68 73 5b 06 7b 08 22 0a 6d 74 69 6d 65 22 1e 32 30 31 32 2d 30 endency_paths[.{.".mtime".2012-0
4140 39 2d 31 38 54 31 35 3a 34 30 3a 35 38 2b 30 32 3a 30 30 22 09 70 61 74 68 22 4b 2f 6f 6c 64 76 9-18T15:40:58+02:00".path"K/oldv
4160 61 72 2f 73 72 63 2f 6c 65 61 70 2f 6c 65 61 70 5f 77 65 62 5f 75 73 65 72 73 2f 61 70 70 2f 61 ar/src/leap/leap_web_users/app/a
4180 73 73 65 74 73 2f 6a 61 76 61 73 63 72 69 70 74 73 2f 73 72 70 2f 6c 69 62 2f 6a 73 62 6e 2e 6a ssets/javascripts/srp/lib/jsbn.j
41a0 73 22 0b 64 69 67 65 73 74 22 25 34 64 66 34 66 34 34 31 37 61 65 61 33 34 35 38 66 31 35 66 33 s".digest"%4df4f4417aea3458f15f3
41c0 37 32 62 32 37 38 37 38 36 32 35 22 13 72 65 71 75 69 72 65 64 5f 70 61 74 68 73 5b 06 22 4b 2f 72b27878625".required_paths[."K/
41e0 6f 6c 64 76 61 72 2f 73 72 63 2f 6c 65 61 70 2f 6c 65 61 70 5f 77 65 62 5f 75 73 65 72 73 2f 61 oldvar/src/leap/leap_web_users/a
4200 70 70 2f 61 73 73 65 74 73 2f 6a 61 76 61 73 63 72 69 70 74 73 2f 73 72 70 2f 6c 69 62 2f 6a 73 pp/assets/javascripts/srp/lib/js
4220 62 6e 2e 6a 73 22 0a 6d 74 69 6d 65 22 1e 32 30 31 32 2d 30 39 2d 31 38 54 31 35 3a 34 30 3a 35 bn.js".mtime".2012-09-18T15:40:5
4240 38 2b 30 32 3a 30 30 22 11 6c 6f 67 69 63 61 6c 5f 70 61 74 68 22 14 73 72 70 2f 6c 69 62 2f 6a 8+02:00".logical_path".srp/lib/j
4260 73 62 6e 2e 6a 73 22 0a 63 6c 61 73 73 22 13 50 72 6f 63 65 73 73 65 64 41 73 73 65 74 22 11 63 sbn.js".class".ProcessedAsset".c
4280 6f 6e 74 65 6e 74 5f 74 79 70 65 22 1b 61 70 70 6c 69 63 61 74 69 6f 6e 2f 6a 61 76 61 73 63 72 ontent_type".application/javascr
42a0 69 70 74 22 0b 64 69 67 65 73 74 22 25 34 64 66 34 66 34 34 31 37 61 65 61 33 34 35 38 66 31 35 ipt".digest"%4df4f4417aea3458f15
42c0 66 33 37 32 62 32 37 38 37 38 36 32 35 22 0d 70 61 74 68 6e 61 6d 65 22 4b 2f 6f 6c 64 76 61 72 f372b27878625".pathname"K/oldvar
42e0 2f 73 72 63 2f 6c 65 61 70 2f 6c 65 61 70 5f 77 65 62 5f 75 73 65 72 73 2f 61 70 70 2f 61 73 73 /src/leap/leap_web_users/app/ass
4300 65 74 73 2f 6a 61 76 61 73 63 72 69 70 74 73 2f 73 72 70 2f 6c 69 62 2f 6a 73 62 6e 2e 6a 73 3a ets/javascripts/srp/lib/jsbn.js:
4320 10 40 65 78 70 69 72 65 73 5f 69 6e 30 3a 10 40 63 6f 6d 70 72 65 73 73 65 64 46 .@expires_in0:.@compressedF