00000000: 72 65 6e 74 29 2e 70 6f 73 69 74 69 6f 6e 20 21 rent).position !
00000010: 3d 3d 20 27 73 74 61 74 69 63 27 20 26 26 20 70 == 'static' && p
00000020: 6f 73 69 74 69 6f 6e 20 3d 3d 3d 20 27 61 62 73 osition === 'abs
00000030: 6f 6c 75 74 65 27 29 20 7b 5c 6e 20 20 20 20 20 olute') {\n
00000040: 20 20 20 68 65 69 67 68 74 50 72 6f 70 20 3d 20 heightProp =
00000050: 27 73 63 72 6f 6c 6c 48 65 69 67 68 74 27 3b 5c 'scrollHeight';\
00000060: 6e 20 20 20 20 20 20 20 20 77 69 64 74 68 50 72 n widthPr
00000070: 6f 70 20 3d 20 27 73 63 72 6f 6c 6c 57 69 64 74 op = 'scrollWidt
00000080: 68 27 3b 5c 6e 20 20 20 20 20 20 7d 5c 6e 20 20 h';\n }\n
00000090: 20 20 7d 20 2f 2f 20 24 46 6c 6f 77 46 69 78 4d } // $FlowFixM
000000a0: 65 5b 69 6e 63 6f 6d 70 61 74 69 62 6c 65 2d 63 e[incompatible-c
000000b0: 61 73 74 5d 3a 20 66 6f 72 63 65 20 74 79 70 65 ast]: force type
000000c0: 20 72 65 66 69 6e 65 6d 65 6e 74 2c 20 77 65 20 refinement, we
000000d0: 63 6f 6d 70 61 72 65 20 6f 66 66 73 65 74 50 61 compare offsetPa
000000e0: 72 65 6e 74 20 77 69 74 68 20 77 69 6e 64 6f 77 rent with window
000000f0: 20 61 62 6f 76 65 2c 20 62 75 74 20 46 6c 6f 77 above, but Flow
00000100: 20 64 6f 65 73 6e 27 74 20 64 65 74 65 63 74 20 doesn't detect
00000110: 69 74 5c 6e 5c 6e 5c 6e 20 20 20 20 6f 66 66 73 it\n\n\n offs
00000120: 65 74 50 61 72 65 6e 74 20 3d 20 6f 66 66 73 65 etParent = offse
00000130: 74 50 61 72 65 6e 74 3b 5c 6e 5c 6e 20 20 20 20 tParent;\n\n
00000140: 69 66 20 28 70 6c 61 63 65 6d 65 6e 74 20 3d 3d if (placement ==
00000150: 3d 20 74 6f 70 20 7c 7c 20 28 70 6c 61 63 65 6d = top || (placem
00000160: 65 6e 74 20 3d 3d 3d 20 6c 65 66 74 20 7c 7c 20 ent === left ||
00000170: 70 6c 61 63 65 6d 65 6e 74 20 3d 3d 3d 20 72 69 placement === ri
00000180: 67 68 74 29 20 26 26 20 76 61 72 69 61 74 69 6f ght) && variatio
00000190: 6e 20 3d 3d 3d 20 65 6e 64 29 20 7b 5c 6e 20 20 n === end) {\n
000001a0: 20 20 20 20 73 69 64 65 59 20 3d 20 62 6f 74 74 sideY = bott
000001b0: 6f 6d 3b 5c 6e 20 20 20 20 20 20 76 61 72 20 6f om;\n var o
000001c0: 66 66 73 65 74 59 20 3d 20 69 73 46 69 78 65 64 ffsetY = isFixed
000001d0: 20 26 26 20 6f 66 66 73 65 74 50 61 72 65 6e 74 && offsetParent
000001e0: 20 3d 3d 3d 20 77 69 6e 20 26 26 20 77 69 6e 2e === win && win.
000001f0: 76 69 73 75 61 6c 56 69 65 77 70 6f 72 74 20 3f visualViewport ?
00000200: 20 77 69 6e 2e 76 69 73 75 61 6c 56 69 65 77 70 win.visualViewp
00000210: 6f 72 74 2e 68 65 69 67 68 74 20 3a 20 2f 2f 20 ort.height : //
00000220: 24 46 6c 6f 77 46 69 78 4d 65 5b 70 72 6f 70 2d $FlowFixMe[prop-
00000230: 6d 69 73 73 69 6e 67 5d 5c 6e 20 20 20 20 20 20 missing]\n
00000240: 6f 66 66 73 65 74 50 61 72 65 6e 74 5b 68 65 69 offsetParent[hei
00000250: 67 68 74 50 72 6f 70 5d 3b 5c 6e 20 20 20 20 20 ghtProp];\n
00000260: 20 79 20 2d 3d 20 6f 66 66 73 65 74 59 20 2d 20 y -= offsetY -
00000270: 70 6f 70 70 65 72 52 65 63 74 2e 68 65 69 67 68 popperRect.heigh
00000280: 74 3b 5c 6e 20 20 20 20 20 20 79 20 2a 3d 20 67 t;\n y *= g
00000290: 70 75 41 63 63 65 6c 65 72 61 74 69 6f 6e 20 3f puAcceleration ?
000002a0: 20 31 20 3a 20 2d 31 3b 5c 6e 20 20 20 20 7d 5c 1 : -1;\n }\
000002b0: 6e 5c 6e 20 20 20 20 69 66 20 28 70 6c 61 63 65 n\n if (place
000002c0: 6d 65 6e 74 20 3d 3d 3d 20 6c 65 66 74 20 7c 7c ment === left ||
000002d0: 20 28 70 6c 61 63 65 6d 65 6e 74 20 3d 3d 3d 20 (placement ===
000002e0: 74 6f 70 20 7c 7c 20 70 6c 61 63 65 6d 65 6e 74 top || placement
000002f0: 20 3d 3d 3d 20 62 6f 74 74 6f 6d 29 20 26 26 20 === bottom) &&
00000300: 76 61 72 69 61 74 69 6f 6e 20 3d 3d 3d 20 65 6e variation === en
00000310: 64 29 20 7b 5c 6e 20 20 20 20 20 20 73 69 64 65 d) {\n side
00000320: 58 20 3d 20 72 69 67 68 74 3b 5c 6e 20 20 20 20 X = right;\n
00000330: 20 20 76 61 72 20 6f 66 66 73 65 74 58 20 3d 20 var offsetX =
00000340: 69 73 46 69 78 65 64 20 26 26 20 6f 66 66 73 65 isFixed && offse
00000350: 74 50 61 72 65 6e 74 20 3d 3d 3d 20 77 69 6e 20 tParent === win
00000360: 26 26 20 77 69 6e 2e 76 69 73 75 61 6c 56 69 65 && win.visualVie
00000370: 77 70 6f 72 74 20 3f 20 77 69 6e 2e 76 69 73 75 wport ? win.visu
00000380: 61 6c 56 69 65 77 70 6f 72 74 2e 77 69 64 74 68 alViewport.width
00000390: 20 3a 20 2f 2f 20 24 46 6c 6f 77 46 69 78 4d 65 : // $FlowFixMe
000003a0: 5b 70 72 6f 70 2d 6d 69 73 73 69 6e 67 5d 5c 6e [prop-missing]\n
000003b0: 20 20 20 20 20 20 6f 66 66 73 65 74 50 61 72 65 offsetPare
000003c0: 6e 74 5b 77 69 64 74 68 50 72 6f 70 5d 3b 5c 6e nt[widthProp];\n
000003d0: 20 20 20 20 20 20 78 20 2d 3d 20 6f 66 66 73 65 x -= offse
000003e0: 74 58 20 2d 20 70 6f 70 70 65 72 52 65 63 74 2e tX - popperRect.
000003f0: 77 69 64 74 68 3b 5c 6e 20 20 20 20 20 20 78 20 width;\n x
00000400: 2a 3d 20 67 70 75 41 63 63 65 6c 65 72 61 74 69 *= gpuAccelerati
00000410: 6f 6e 20 3f 20 31 20 3a 20 2d 31 3b 5c 6e 20 20 on ? 1 : -1;\n
00000420: 20 20 7d 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 76 61 }\n }\n\n va
00000430: 72 20 63 6f 6d 6d 6f 6e 53 74 79 6c 65 73 20 3d r commonStyles =
00000440: 20 4f 62 6a 65 63 74 2e 61 73 73 69 67 6e 28 7b Object.assign({
00000450: 5c 6e 20 20 20 20 70 6f 73 69 74 69 6f 6e 3a 20 \n position:
00000460: 70 6f 73 69 74 69 6f 6e 5c 6e 20 20 7d 2c 20 61 position\n }, a
00000470: 64 61 70 74 69 76 65 20 26 26 20 75 6e 73 65 74 daptive && unset
00000480: 53 69 64 65 73 29 3b 5c 6e 5c 6e 20 20 76 61 72 Sides);\n\n var
00000490: 20 5f 72 65 66 34 20 3d 20 72 6f 75 6e 64 4f 66 _ref4 = roundOf
000004a0: 66 73 65 74 73 20 3d 3d 3d 20 74 72 75 65 20 3f fsets === true ?
000004b0: 20 72 6f 75 6e 64 4f 66 66 73 65 74 73 42 79 44 roundOffsetsByD
000004c0: 50 52 28 7b 5c 6e 20 20 20 20 78 3a 20 78 2c 5c PR({\n x: x,\
000004d0: 6e 20 20 20 20 79 3a 20 79 5c 6e 20 20 7d 2c 20 n y: y\n },
000004e0: 67 65 74 57 69 6e 64 6f 77 28 70 6f 70 70 65 72 getWindow(popper
000004f0: 29 29 20 3a 20 7b 5c 6e 20 20 20 20 78 3a 20 78 )) : {\n x: x
00000500: 2c 5c 6e 20 20 20 20 79 3a 20 79 5c 6e 20 20 7d ,\n y: y\n }
00000510: 3b 5c 6e 5c 6e 20 20 78 20 3d 20 5f 72 65 66 34 ;\n\n x = _ref4
00000520: 2e 78 3b 5c 6e 20 20 79 20 3d 20 5f 72 65 66 34 .x;\n y = _ref4
00000530: 2e 79 3b 5c 6e 5c 6e 20 20 69 66 20 28 67 70 75 .y;\n\n if (gpu
00000540: 41 63 63 65 6c 65 72 61 74 69 6f 6e 29 20 7b 5c Acceleration) {\
00000550: 6e 20 20 20 20 76 61 72 20 5f 4f 62 6a 65 63 74 n var _Object
00000560: 24 61 73 73 69 67 6e 3b 5c 6e 5c 6e 20 20 20 20 $assign;\n\n
00000570: 72 65 74 75 72 6e 20 4f 62 6a 65 63 74 2e 61 73 return Object.as
00000580: 73 69 67 6e 28 7b 7d 2c 20 63 6f 6d 6d 6f 6e 53 sign({}, commonS
00000590: 74 79 6c 65 73 2c 20 28 5f 4f 62 6a 65 63 74 24 tyles, (_Object$
000005a0: 61 73 73 69 67 6e 20 3d 20 7b 7d 2c 20 5f 4f 62 assign = {}, _Ob
000005b0: 6a 65 63 74 24 61 73 73 69 67 6e 5b 73 69 64 65 ject$assign[side
000005c0: 59 5d 20 3d 20 68 61 73 59 20 3f 20 27 30 27 20 Y] = hasY ? '0'
000005d0: 3a 20 27 27 2c 20 5f 4f 62 6a 65 63 74 24 61 73 : '', _Object$as
000005e0: 73 69 67 6e 5b 73 69 64 65 58 5d 20 3d 20 68 61 sign[sideX] = ha
000005f0: 73 58 20 3f 20 27 30 27 20 3a 20 27 27 2c 20 5f sX ? '0' : '', _
00000600: 4f 62 6a 65 63 74 24 61 73 73 69 67 6e 2e 74 72 Object$assign.tr
00000610: 61 6e 73 66 6f 72 6d 20 3d 20 28 77 69 6e 2e 64 ansform = (win.d
00000620: 65 76 69 63 65 50 69 78 65 6c 52 61 74 69 6f 20 evicePixelRatio
00000630: 7c 7c 20 31 29 20 3c 3d 20 31 20 3f 20 5c 22 74 || 1) <= 1 ? \"t
00000640: 72 61 6e 73 6c 61 74 65 28 5c 22 20 2b 20 78 20 ranslate(\" + x
00000650: 2b 20 5c 22 70 78 2c 20 5c 22 20 2b 20 79 20 2b + \"px, \" + y +
00000660: 20 5c 22 70 78 29 5c 22 20 3a 20 5c 22 74 72 61 \"px)\" : \"tra
00000670: 6e 73 6c 61 74 65 33 64 28 5c 22 20 2b 20 78 20 nslate3d(\" + x
00000680: 2b 20 5c 22 70 78 2c 20 5c 22 20 2b 20 79 20 2b + \"px, \" + y +
00000690: 20 5c 22 70 78 2c 20 30 29 5c 22 2c 20 5f 4f 62 \"px, 0)\", _Ob
000006a0: 6a 65 63 74 24 61 73 73 69 67 6e 29 29 3b 5c 6e ject$assign));\n
000006b0: 20 20 7d 5c 6e 5c 6e 20 20 72 65 74 75 72 6e 20 }\n\n return
000006c0: 4f 62 6a 65 63 74 2e 61 73 73 69 67 6e 28 7b 7d Object.assign({}
000006d0: 2c 20 63 6f 6d 6d 6f 6e 53 74 79 6c 65 73 2c 20 , commonStyles,
000006e0: 28 5f 4f 62 6a 65 63 74 24 61 73 73 69 67 6e 32 (_Object$assign2
000006f0: 20 3d 20 7b 7d 2c 20 5f 4f 62 6a 65 63 74 24 61 = {}, _Object$a
00000700: 73 73 69 67 6e 32 5b 73 69 64 65 59 5d 20 3d 20 ssign2[sideY] =
00000710: 68 61 73 59 20 3f 20 79 20 2b 20 5c 22 70 78 5c hasY ? y + \"px\
00000720: 22 20 3a 20 27 27 2c 20 5f 4f 62 6a 65 63 74 24 " : '', _Object$
00000730: 61 73 73 69 67 6e 32 5b 73 69 64 65 58 5d 20 3d assign2[sideX] =
00000740: 20 68 61 73 58 20 3f 20 78 20 2b 20 5c 22 70 78 hasX ? x + \"px
00000750: 5c 22 20 3a 20 27 27 2c 20 5f 4f 62 6a 65 63 74 \" : '', _Object
00000760: 24 61 73 73 69 67 6e 32 2e 74 72 61 6e 73 66 6f $assign2.transfo
00000770: 72 6d 20 3d 20 27 27 2c 20 5f 4f 62 6a 65 63 74 rm = '', _Object
00000780: 24 61 73 73 69 67 6e 32 29 29 3b 5c 6e 7d 5c 6e $assign2));\n}\n
00000790: 5c 6e 66 75 6e 63 74 69 6f 6e 20 63 6f 6d 70 75 \nfunction compu
000007a0: 74 65 53 74 79 6c 65 73 28 5f 72 65 66 35 29 20 teStyles(_ref5)
000007b0: 7b 5c 6e 20 20 76 61 72 20 73 74 61 74 65 20 3d {\n var state =
000007c0: 20 5f 72 65 66 35 2e 73 74 61 74 65 2c 5c 6e 20 _ref5.state,\n
000007d0: 20 20 20 20 20 6f 70 74 69 6f 6e 73 20 3d 20 5f options = _
000007e0: 72 65 66 35 2e 6f 70 74 69 6f 6e 73 3b 5c 6e 20 ref5.options;\n
000007f0: 20 76 61 72 20 5f 6f 70 74 69 6f 6e 73 24 67 70 var _options$gp
00000800: 75 41 63 63 65 6c 65 72 61 74 20 3d 20 6f 70 74 uAccelerat = opt
00000810: 69 6f 6e 73 2e 67 70 75 41 63 63 65 6c 65 72 61 ions.gpuAccelera
00000820: 74 69 6f 6e 2c 5c 6e 20 20 20 20 20 20 67 70 75 tion,\n gpu
00000830: 41 63 63 65 6c 65 72 61 74 69 6f 6e 20 3d 20 5f Acceleration = _
00000840: 6f 70 74 69 6f 6e 73 24 67 70 75 41 63 63 65 6c options$gpuAccel
00000850: 65 72 61 74 20 3d 3d 3d 20 76 6f 69 64 20 30 20 erat === void 0
00000860: 3f 20 74 72 75 65 20 3a 20 5f 6f 70 74 69 6f 6e ? true : _option
00000870: 73 24 67 70 75 41 63 63 65 6c 65 72 61 74 2c 5c s$gpuAccelerat,\
00000880: 6e 20 20 20 20 20 20 5f 6f 70 74 69 6f 6e 73 24 n _options$
00000890: 61 64 61 70 74 69 76 65 20 3d 20 6f 70 74 69 6f adaptive = optio
000008a0: 6e 73 2e 61 64 61 70 74 69 76 65 2c 5c 6e 20 20 ns.adaptive,\n
000008b0: 20 20 20 20 61 64 61 70 74 69 76 65 20 3d 20 5f adaptive = _
000008c0: 6f 70 74 69 6f 6e 73 24 61 64 61 70 74 69 76 65 options$adaptive
000008d0: 20 3d 3d 3d 20 76 6f 69 64 20 30 20 3f 20 74 72 === void 0 ? tr
000008e0: 75 65 20 3a 20 5f 6f 70 74 69 6f 6e 73 24 61 64 ue : _options$ad
000008f0: 61 70 74 69 76 65 2c 5c 6e 20 20 20 20 20 20 5f aptive,\n _
00000900: 6f 70 74 69 6f 6e 73 24 72 6f 75 6e 64 4f 66 66 options$roundOff
00000910: 73 65 74 73 20 3d 20 6f 70 74 69 6f 6e 73 2e 72 sets = options.r
00000920: 6f 75 6e 64 4f 66 66 73 65 74 73 2c 5c 6e 20 20 oundOffsets,\n
00000930: 20 20 20 20 72 6f 75 6e 64 4f 66 66 73 65 74 73 roundOffsets
00000940: 20 3d 20 5f 6f 70 74 69 6f 6e 73 24 72 6f 75 6e = _options$roun
00000950: 64 4f 66 66 73 65 74 73 20 3d 3d 3d 20 76 6f 69 dOffsets === voi
00000960: 64 20 30 20 3f 20 74 72 75 65 20 3a 20 5f 6f 70 d 0 ? true : _op
00000970: 74 69 6f 6e 73 24 72 6f 75 6e 64 4f 66 66 73 65 tions$roundOffse
00000980: 74 73 3b 5c 6e 20 20 76 61 72 20 63 6f 6d 6d 6f ts;\n var commo
00000990: 6e 53 74 79 6c 65 73 20 3d 20 7b 5c 6e 20 20 20 nStyles = {\n
000009a0: 20 70 6c 61 63 65 6d 65 6e 74 3a 20 67 65 74 42 placement: getB
000009b0: 61 73 65 50 6c 61 63 65 6d 65 6e 74 28 73 74 61 asePlacement(sta
000009c0: 74 65 2e 70 6c 61 63 65 6d 65 6e 74 29 2c 5c 6e te.placement),\n
000009d0: 20 20 20 20 76 61 72 69 61 74 69 6f 6e 3a 20 67 variation: g
000009e0: 65 74 56 61 72 69 61 74 69 6f 6e 28 73 74 61 74 etVariation(stat
000009f0: 65 2e 70 6c 61 63 65 6d 65 6e 74 29 2c 5c 6e 20 e.placement),\n
00000a00: 20 20 20 70 6f 70 70 65 72 3a 20 73 74 61 74 65 popper: state
00000a10: 2e 65 6c 65 6d 65 6e 74 73 2e 70 6f 70 70 65 72 .elements.popper
00000a20: 2c 5c 6e 20 20 20 20 70 6f 70 70 65 72 52 65 63 ,\n popperRec
00000a30: 74 3a 20 73 74 61 74 65 2e 72 65 63 74 73 2e 70 t: state.rects.p
00000a40: 6f 70 70 65 72 2c 5c 6e 20 20 20 20 67 70 75 41 opper,\n gpuA
00000a50: 63 63 65 6c 65 72 61 74 69 6f 6e 3a 20 67 70 75 cceleration: gpu
00000a60: 41 63 63 65 6c 65 72 61 74 69 6f 6e 2c 5c 6e 20 Acceleration,\n
00000a70: 20 20 20 69 73 46 69 78 65 64 3a 20 73 74 61 74 isFixed: stat
00000a80: 65 2e 6f 70 74 69 6f 6e 73 2e 73 74 72 61 74 65 e.options.strate
00000a90: 67 79 20 3d 3d 3d 20 27 66 69 78 65 64 27 5c 6e gy === 'fixed'\n
00000aa0: 20 20 7d 3b 5c 6e 5c 6e 20 20 69 66 20 28 73 74 };\n\n if (st
00000ab0: 61 74 65 2e 6d 6f 64 69 66 69 65 72 73 44 61 74 ate.modifiersDat
00000ac0: 61 2e 70 6f 70 70 65 72 4f 66 66 73 65 74 73 20 a.popperOffsets
00000ad0: 21 3d 20 6e 75 6c 6c 29 20 7b 5c 6e 20 20 20 20 != null) {\n
00000ae0: 73 74 61 74 65 2e 73 74 79 6c 65 73 2e 70 6f 70 state.styles.pop
00000af0: 70 65 72 20 3d 20 4f 62 6a 65 63 74 2e 61 73 73 per = Object.ass
00000b00: 69 67 6e 28 7b 7d 2c 20 73 74 61 74 65 2e 73 74 ign({}, state.st
00000b10: 79 6c 65 73 2e 70 6f 70 70 65 72 2c 20 6d 61 70 yles.popper, map
00000b20: 54 6f 53 74 79 6c 65 73 28 4f 62 6a 65 63 74 2e ToStyles(Object.
00000b30: 61 73 73 69 67 6e 28 7b 7d 2c 20 63 6f 6d 6d 6f assign({}, commo
00000b40: 6e 53 74 79 6c 65 73 2c 20 7b 5c 6e 20 20 20 20 nStyles, {\n
00000b50: 20 20 6f 66 66 73 65 74 73 3a 20 73 74 61 74 65 offsets: state
00000b60: 2e 6d 6f 64 69 66 69 65 72 73 44 61 74 61 2e 70 .modifiersData.p
00000b70: 6f 70 70 65 72 4f 66 66 73 65 74 73 2c 5c 6e 20 opperOffsets,\n
00000b80: 20 20 20 20 20 70 6f 73 69 74 69 6f 6e 3a 20 73 position: s
00000b90: 74 61 74 65 2e 6f 70 74 69 6f 6e 73 2e 73 74 72 tate.options.str
00000ba0: 61 74 65 67 79 2c 5c 6e 20 20 20 20 20 20 61 64 ategy,\n ad
00000bb0: 61 70 74 69 76 65 3a 20 61 64 61 70 74 69 76 65 aptive: adaptive
00000bc0: 2c 5c 6e 20 20 20 20 20 20 72 6f 75 6e 64 4f 66 ,\n roundOf
00000bd0: 66 73 65 74 73 3a 20 72 6f 75 6e 64 4f 66 66 73 fsets: roundOffs
00000be0: 65 74 73 5c 6e 20 20 20 20 7d 29 29 29 3b 5c 6e ets\n })));\n
00000bf0: 20 20 7d 5c 6e 5c 6e 20 20 69 66 20 28 73 74 61 }\n\n if (sta
00000c00: 74 65 2e 6d 6f 64 69 66 69 65 72 73 44 61 74 61 te.modifiersData
00000c10: 2e 61 72 72 6f 77 20 21 3d 20 6e 75 6c 6c 29 20 .arrow != null)
00000c20: 7b 5c 6e 20 20 20 20 73 74 61 74 65 2e 73 74 79 {\n state.sty
00000c30: 6c 65 73 2e 61 72 72 6f 77 20 3d 20 4f 62 6a 65 les.arrow = Obje
00000c40: 63 74 2e 61 73 73 69 67 6e 28 7b 7d 2c 20 73 74 ct.assign({}, st
00000c50: 61 74 65 2e 73 74 79 6c 65 73 2e 61 72 72 6f 77 ate.styles.arrow
00000c60: 2c 20 6d 61 70 54 6f 53 74 79 6c 65 73 28 4f 62 , mapToStyles(Ob
00000c70: 6a 65 63 74 2e 61 73 73 69 67 6e 28 7b 7d 2c 20 ject.assign({},
00000c80: 63 6f 6d 6d 6f 6e 53 74 79 6c 65 73 2c 20 7b 5c commonStyles, {\
00000c90: 6e 20 20 20 20 20 20 6f 66 66 73 65 74 73 3a 20 n offsets:
00000ca0: 73 74 61 74 65 2e 6d 6f 64 69 66 69 65 72 73 44 state.modifiersD
00000cb0: 61 74 61 2e 61 72 72 6f 77 2c 5c 6e 20 20 20 20 ata.arrow,\n
00000cc0: 20 20 70 6f 73 69 74 69 6f 6e 3a 20 27 61 62 73 position: 'abs
00000cd0: 6f 6c 75 74 65 27 2c 5c 6e 20 20 20 20 20 20 61 olute',\n a
00000ce0: 64 61 70 74 69 76 65 3a 20 66 61 6c 73 65 2c 5c daptive: false,\
00000cf0: 6e 20 20 20 20 20 20 72 6f 75 6e 64 4f 66 66 73 n roundOffs
00000d00: 65 74 73 3a 20 72 6f 75 6e 64 4f 66 66 73 65 74 ets: roundOffset
00000d10: 73 5c 6e 20 20 20 20 7d 29 29 29 3b 5c 6e 20 20 s\n })));\n
00000d20: 7d 5c 6e 5c 6e 20 20 73 74 61 74 65 2e 61 74 74 }\n\n state.att
00000d30: 72 69 62 75 74 65 73 2e 70 6f 70 70 65 72 20 3d ributes.popper =
00000d40: 20 4f 62 6a 65 63 74 2e 61 73 73 69 67 6e 28 7b Object.assign({
00000d50: 7d 2c 20 73 74 61 74 65 2e 61 74 74 72 69 62 75 }, state.attribu
00000d60: 74 65 73 2e 70 6f 70 70 65 72 2c 20 7b 5c 6e 20 tes.popper, {\n
00000d70: 20 20 20 27 64 61 74 61 2d 70 6f 70 70 65 72 2d 'data-popper-
00000d80: 70 6c 61 63 65 6d 65 6e 74 27 3a 20 73 74 61 74 placement': stat
00000d90: 65 2e 70 6c 61 63 65 6d 65 6e 74 5c 6e 20 20 7d e.placement\n }
00000da0: 29 3b 5c 6e 7d 20 2f 2f 20 65 73 6c 69 6e 74 2d );\n} // eslint-
00000db0: 64 69 73 61 62 6c 65 2d 6e 65 78 74 2d 6c 69 6e disable-next-lin
00000dc0: 65 20 69 6d 70 6f 72 74 2f 6e 6f 2d 75 6e 75 73 e import/no-unus
00000dd0: 65 64 2d 6d 6f 64 75 6c 65 73 5c 6e 5c 6e 5c 6e ed-modules\n\n\n
00000de0: 65 78 70 6f 72 74 20 64 65 66 61 75 6c 74 20 7b export default {
00000df0: 5c 6e 20 20 6e 61 6d 65 3a 20 27 63 6f 6d 70 75 \n name: 'compu
00000e00: 74 65 53 74 79 6c 65 73 27 2c 5c 6e 20 20 65 6e teStyles',\n en
00000e10: 61 62 6c 65 64 3a 20 74 72 75 65 2c 5c 6e 20 20 abled: true,\n
00000e20: 70 68 61 73 65 3a 20 27 62 65 66 6f 72 65 57 72 phase: 'beforeWr
00000e30: 69 74 65 27 2c 5c 6e 20 20 66 6e 3a 20 63 6f 6d ite',\n fn: com
00000e40: 70 75 74 65 53 74 79 6c 65 73 2c 5c 6e 20 20 64 puteStyles,\n d
00000e50: 61 74 61 3a 20 7b 7d 5c 6e 7d 3b 22 2c 22 69 6d ata: {}\n};","im
00000e60: 70 6f 72 74 20 67 65 74 57 69 6e 64 6f 77 20 66 port getWindow f
00000e70: 72 6f 6d 20 5c 22 2e 2e 2f 64 6f 6d 2d 75 74 69 rom \"../dom-uti
00000e80: 6c 73 2f 67 65 74 57 69 6e 64 6f 77 2e 6a 73 5c ls/getWindow.js\
00000e90: 22 3b 20 2f 2f 20 65 73 6c 69 6e 74 2d 64 69 73 "; // eslint-dis
00000ea0: 61 62 6c 65 2d 6e 65 78 74 2d 6c 69 6e 65 20 69 able-next-line i
00000eb0: 6d 70 6f 72 74 2f 6e 6f 2d 75 6e 75 73 65 64 2d mport/no-unused-
00000ec0: 6d 6f 64 75 6c 65 73 5c 6e 5c 6e 76 61 72 20 70 modules\n\nvar p
00000ed0: 61 73 73 69 76 65 20 3d 20 7b 5c 6e 20 20 70 61 assive = {\n pa
00000ee0: 73 73 69 76 65 3a 20 74 72 75 65 5c 6e 7d 3b 5c ssive: true\n};\
00000ef0: 6e 5c 6e 66 75 6e 63 74 69 6f 6e 20 65 66 66 65 n\nfunction effe
00000f00: 63 74 28 5f 72 65 66 29 20 7b 5c 6e 20 20 76 61 ct(_ref) {\n va
00000f10: 72 20 73 74 61 74 65 20 3d 20 5f 72 65 66 2e 73 r state = _ref.s
00000f20: 74 61 74 65 2c 5c 6e 20 20 20 20 20 20 69 6e 73 tate,\n ins
00000f30: 74 61 6e 63 65 20 3d 20 5f 72 65 66 2e 69 6e 73 tance = _ref.ins
00000f40: 74 61 6e 63 65 2c 5c 6e 20 20 20 20 20 20 6f 70 tance,\n op
00000f50: 74 69 6f 6e 73 20 3d 20 5f 72 65 66 2e 6f 70 74 tions = _ref.opt
00000f60: 69 6f 6e 73 3b 5c 6e 20 20 76 61 72 20 5f 6f 70 ions;\n var _op
00000f70: 74 69 6f 6e 73 24 73 63 72 6f 6c 6c 20 3d 20 6f tions$scroll = o
00000f80: 70 74 69 6f 6e 73 2e 73 63 72 6f 6c 6c 2c 5c 6e ptions.scroll,\n
00000f90: 20 20 20 20 20 20 73 63 72 6f 6c 6c 20 3d 20 5f scroll = _
00000fa0: 6f 70 74 69 6f 6e 73 24 73 63 72 6f 6c 6c 20 3d options$scroll =
00000fb0: 3d 3d 20 76 6f 69 64 20 30 20 3f 20 74 72 75 65 == void 0 ? true
00000fc0: 20 3a 20 5f 6f 70 74 69 6f 6e 73 24 73 63 72 6f : _options$scro
00000fd0: 6c 6c 2c 5c 6e 20 20 20 20 20 20 5f 6f 70 74 69 ll,\n _opti
00000fe0: 6f 6e 73 24 72 65 73 69 7a 65 20 3d 20 6f 70 74 ons$resize = opt
00000ff0: 69 6f 6e 73 2e 72 65 73 69 7a 65 2c 5c 6e 20 20 ions.resize,\n
00001000: 20 20 20 20 72 65 73 69 7a 65 20 3d 20 5f 6f 70 resize = _op
00001010: 74 69 6f 6e 73 24 72 65 73 69 7a 65 20 3d 3d 3d tions$resize ===
00001020: 20 76 6f 69 64 20 30 20 3f 20 74 72 75 65 20 3a void 0 ? true :
00001030: 20 5f 6f 70 74 69 6f 6e 73 24 72 65 73 69 7a 65 _options$resize
00001040: 3b 5c 6e 20 20 76 61 72 20 77 69 6e 64 6f 77 20 ;\n var window
00001050: 3d 20 67 65 74 57 69 6e 64 6f 77 28 73 74 61 74 = getWindow(stat
00001060: 65 2e 65 6c 65 6d 65 6e 74 73 2e 70 6f 70 70 65 e.elements.poppe
00001070: 72 29 3b 5c 6e 20 20 76 61 72 20 73 63 72 6f 6c r);\n var scrol
00001080: 6c 50 61 72 65 6e 74 73 20 3d 20 5b 5d 2e 63 6f lParents = [].co
00001090: 6e 63 61 74 28 73 74 61 74 65 2e 73 63 72 6f 6c ncat(state.scrol
000010a0: 6c 50 61 72 65 6e 74 73 2e 72 65 66 65 72 65 6e lParents.referen
000010b0: 63 65 2c 20 73 74 61 74 65 2e 73 63 72 6f 6c 6c ce, state.scroll
000010c0: 50 61 72 65 6e 74 73 2e 70 6f 70 70 65 72 29 3b Parents.popper);
000010d0: 5c 6e 5c 6e 20 20 69 66 20 28 73 63 72 6f 6c 6c \n\n if (scroll
000010e0: 29 20 7b 5c 6e 20 20 20 20 73 63 72 6f 6c 6c 50 ) {\n scrollP
000010f0: 61 72 65 6e 74 73 2e 66 6f 72 45 61 63 68 28 66 arents.forEach(f
00001100: 75 6e 63 74 69 6f 6e 20 28 73 63 72 6f 6c 6c 50 unction (scrollP
00001110: 61 72 65 6e 74 29 20 7b 5c 6e 20 20 20 20 20 20 arent) {\n
00001120: 73 63 72 6f 6c 6c 50 61 72 65 6e 74 2e 61 64 64 scrollParent.add
00001130: 45 76 65 6e 74 4c 69 73 74 65 6e 65 72 28 27 73 EventListener('s
00001140: 63 72 6f 6c 6c 27 2c 20 69 6e 73 74 61 6e 63 65 croll', instance
00001150: 2e 75 70 64 61 74 65 2c 20 70 61 73 73 69 76 65 .update, passive
00001160: 29 3b 5c 6e 20 20 20 20 7d 29 3b 5c 6e 20 20 7d );\n });\n }
00001170: 5c 6e 5c 6e 20 20 69 66 20 28 72 65 73 69 7a 65 \n\n if (resize
00001180: 29 20 7b 5c 6e 20 20 20 20 77 69 6e 64 6f 77 2e ) {\n window.
00001190: 61 64 64 45 76 65 6e 74 4c 69 73 74 65 6e 65 72 addEventListener
000011a0: 28 27 72 65 73 69 7a 65 27 2c 20 69 6e 73 74 61 ('resize', insta
000011b0: 6e 63 65 2e 75 70 64 61 74 65 2c 20 70 61 73 73 nce.update, pass
000011c0: 69 76 65 29 3b 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 ive);\n }\n\n
000011d0: 72 65 74 75 72 6e 20 66 75 6e 63 74 69 6f 6e 20 return function
000011e0: 28 29 20 7b 5c 6e 20 20 20 20 69 66 20 28 73 63 () {\n if (sc
000011f0: 72 6f 6c 6c 29 20 7b 5c 6e 20 20 20 20 20 20 73 roll) {\n s
00001200: 63 72 6f 6c 6c 50 61 72 65 6e 74 73 2e 66 6f 72 crollParents.for
00001210: 45 61 63 68 28 66 75 6e 63 74 69 6f 6e 20 28 73 Each(function (s
00001220: 63 72 6f 6c 6c 50 61 72 65 6e 74 29 20 7b 5c 6e crollParent) {\n
00001230: 20 20 20 20 20 20 20 20 73 63 72 6f 6c 6c 50 61 scrollPa
00001240: 72 65 6e 74 2e 72 65 6d 6f 76 65 45 76 65 6e 74 rent.removeEvent
00001250: 4c 69 73 74 65 6e 65 72 28 27 73 63 72 6f 6c 6c Listener('scroll
00001260: 27 2c 20 69 6e 73 74 61 6e 63 65 2e 75 70 64 61 ', instance.upda
00001270: 74 65 2c 20 70 61 73 73 69 76 65 29 3b 5c 6e 20 te, passive);\n
00001280: 20 20 20 20 20 7d 29 3b 5c 6e 20 20 20 20 7d 5c });\n }\
00001290: 6e 5c 6e 20 20 20 20 69 66 20 28 72 65 73 69 7a n\n if (resiz
000012a0: 65 29 20 7b 5c 6e 20 20 20 20 20 20 77 69 6e 64 e) {\n wind
000012b0: 6f 77 2e 72 65 6d 6f 76 65 45 76 65 6e 74 4c 69 ow.removeEventLi
000012c0: 73 74 65 6e 65 72 28 27 72 65 73 69 7a 65 27 2c stener('resize',
000012d0: 20 69 6e 73 74 61 6e 63 65 2e 75 70 64 61 74 65 instance.update
000012e0: 2c 20 70 61 73 73 69 76 65 29 3b 5c 6e 20 20 20 , passive);\n
000012f0: 20 7d 5c 6e 20 20 7d 3b 5c 6e 7d 20 2f 2f 20 65 }\n };\n} // e
00001300: 73 6c 69 6e 74 2d 64 69 73 61 62 6c 65 2d 6e 65 slint-disable-ne
00001310: 78 74 2d 6c 69 6e 65 20 69 6d 70 6f 72 74 2f 6e xt-line import/n
00001320: 6f 2d 75 6e 75 73 65 64 2d 6d 6f 64 75 6c 65 73 o-unused-modules
00001330: 5c 6e 5c 6e 5c 6e 65 78 70 6f 72 74 20 64 65 66 \n\n\nexport def
00001340: 61 75 6c 74 20 7b 5c 6e 20 20 6e 61 6d 65 3a 20 ault {\n name:
00001350: 27 65 76 65 6e 74 4c 69 73 74 65 6e 65 72 73 27 'eventListeners'
00001360: 2c 5c 6e 20 20 65 6e 61 62 6c 65 64 3a 20 74 72 ,\n enabled: tr
00001370: 75 65 2c 5c 6e 20 20 70 68 61 73 65 3a 20 27 77 ue,\n phase: 'w
00001380: 72 69 74 65 27 2c 5c 6e 20 20 66 6e 3a 20 66 75 rite',\n fn: fu
00001390: 6e 63 74 69 6f 6e 20 66 6e 28 29 20 7b 7d 2c 5c nction fn() {},\
000013a0: 6e 20 20 65 66 66 65 63 74 3a 20 65 66 66 65 63 n effect: effec
000013b0: 74 2c 5c 6e 20 20 64 61 74 61 3a 20 7b 7d 5c 6e t,\n data: {}\n
000013c0: 7d 3b 22 2c 22 76 61 72 20 68 61 73 68 20 3d 20 };","var hash =
000013d0: 7b 5c 6e 20 20 6c 65 66 74 3a 20 27 72 69 67 68 {\n left: 'righ
000013e0: 74 27 2c 5c 6e 20 20 72 69 67 68 74 3a 20 27 6c t',\n right: 'l
000013f0: 65 66 74 27 2c 5c 6e 20 20 62 6f 74 74 6f 6d 3a eft',\n bottom:
00001400: 20 27 74 6f 70 27 2c 5c 6e 20 20 74 6f 70 3a 20 'top',\n top:
00001410: 27 62 6f 74 74 6f 6d 27 5c 6e 7d 3b 5c 6e 65 78 'bottom'\n};\nex
00001420: 70 6f 72 74 20 64 65 66 61 75 6c 74 20 66 75 6e port default fun
00001430: 63 74 69 6f 6e 20 67 65 74 4f 70 70 6f 73 69 74 ction getOpposit
00001440: 65 50 6c 61 63 65 6d 65 6e 74 28 70 6c 61 63 65 ePlacement(place
00001450: 6d 65 6e 74 29 20 7b 5c 6e 20 20 72 65 74 75 72 ment) {\n retur
00001460: 6e 20 70 6c 61 63 65 6d 65 6e 74 2e 72 65 70 6c n placement.repl
00001470: 61 63 65 28 2f 6c 65 66 74 7c 72 69 67 68 74 7c ace(/left|right|
00001480: 62 6f 74 74 6f 6d 7c 74 6f 70 2f 67 2c 20 66 75 bottom|top/g, fu
00001490: 6e 63 74 69 6f 6e 20 28 6d 61 74 63 68 65 64 29 nction (matched)
000014a0: 20 7b 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 68 {\n return h
000014b0: 61 73 68 5b 6d 61 74 63 68 65 64 5d 3b 5c 6e 20 ash[matched];\n
000014c0: 20 7d 29 3b 5c 6e 7d 22 2c 22 76 61 72 20 68 61 });\n}","var ha
000014d0: 73 68 20 3d 20 7b 5c 6e 20 20 73 74 61 72 74 3a sh = {\n start:
000014e0: 20 27 65 6e 64 27 2c 5c 6e 20 20 65 6e 64 3a 20 'end',\n end:
000014f0: 27 73 74 61 72 74 27 5c 6e 7d 3b 5c 6e 65 78 70 'start'\n};\nexp
00001500: 6f 72 74 20 64 65 66 61 75 6c 74 20 66 75 6e 63 ort default func
00001510: 74 69 6f 6e 20 67 65 74 4f 70 70 6f 73 69 74 65 tion getOpposite
00001520: 56 61 72 69 61 74 69 6f 6e 50 6c 61 63 65 6d 65 VariationPlaceme
00001530: 6e 74 28 70 6c 61 63 65 6d 65 6e 74 29 20 7b 5c nt(placement) {\
00001540: 6e 20 20 72 65 74 75 72 6e 20 70 6c 61 63 65 6d n return placem
00001550: 65 6e 74 2e 72 65 70 6c 61 63 65 28 2f 73 74 61 ent.replace(/sta
00001560: 72 74 7c 65 6e 64 2f 67 2c 20 66 75 6e 63 74 69 rt|end/g, functi
00001570: 6f 6e 20 28 6d 61 74 63 68 65 64 29 20 7b 5c 6e on (matched) {\n
00001580: 20 20 20 20 72 65 74 75 72 6e 20 68 61 73 68 5b return hash[
00001590: 6d 61 74 63 68 65 64 5d 3b 5c 6e 20 20 7d 29 3b matched];\n });
000015a0: 5c 6e 7d 22 2c 22 69 6d 70 6f 72 74 20 67 65 74 \n}","import get
000015b0: 57 69 6e 64 6f 77 20 66 72 6f 6d 20 5c 22 2e 2f Window from \"./
000015c0: 67 65 74 57 69 6e 64 6f 77 2e 6a 73 5c 22 3b 5c getWindow.js\";\
000015d0: 6e 65 78 70 6f 72 74 20 64 65 66 61 75 6c 74 20 nexport default
000015e0: 66 75 6e 63 74 69 6f 6e 20 67 65 74 57 69 6e 64 function getWind
000015f0: 6f 77 53 63 72 6f 6c 6c 28 6e 6f 64 65 29 20 7b owScroll(node) {
00001600: 5c 6e 20 20 76 61 72 20 77 69 6e 20 3d 20 67 65 \n var win = ge
00001610: 74 57 69 6e 64 6f 77 28 6e 6f 64 65 29 3b 5c 6e tWindow(node);\n
00001620: 20 20 76 61 72 20 73 63 72 6f 6c 6c 4c 65 66 74 var scrollLeft
00001630: 20 3d 20 77 69 6e 2e 70 61 67 65 58 4f 66 66 73 = win.pageXOffs
00001640: 65 74 3b 5c 6e 20 20 76 61 72 20 73 63 72 6f 6c et;\n var scrol
00001650: 6c 54 6f 70 20 3d 20 77 69 6e 2e 70 61 67 65 59 lTop = win.pageY
00001660: 4f 66 66 73 65 74 3b 5c 6e 20 20 72 65 74 75 72 Offset;\n retur
00001670: 6e 20 7b 5c 6e 20 20 20 20 73 63 72 6f 6c 6c 4c n {\n scrollL
00001680: 65 66 74 3a 20 73 63 72 6f 6c 6c 4c 65 66 74 2c eft: scrollLeft,
00001690: 5c 6e 20 20 20 20 73 63 72 6f 6c 6c 54 6f 70 3a \n scrollTop:
000016a0: 20 73 63 72 6f 6c 6c 54 6f 70 5c 6e 20 20 7d 3b scrollTop\n };
000016b0: 5c 6e 7d 22 2c 22 69 6d 70 6f 72 74 20 67 65 74 \n}","import get
000016c0: 42 6f 75 6e 64 69 6e 67 43 6c 69 65 6e 74 52 65 BoundingClientRe
000016d0: 63 74 20 66 72 6f 6d 20 5c 22 2e 2f 67 65 74 42 ct from \"./getB
000016e0: 6f 75 6e 64 69 6e 67 43 6c 69 65 6e 74 52 65 63 oundingClientRec
000016f0: 74 2e 6a 73 5c 22 3b 5c 6e 69 6d 70 6f 72 74 20 t.js\";\nimport
00001700: 67 65 74 44 6f 63 75 6d 65 6e 74 45 6c 65 6d 65 getDocumentEleme
00001710: 6e 74 20 66 72 6f 6d 20 5c 22 2e 2f 67 65 74 44 nt from \"./getD
00001720: 6f 63 75 6d 65 6e 74 45 6c 65 6d 65 6e 74 2e 6a ocumentElement.j
00001730: 73 5c 22 3b 5c 6e 69 6d 70 6f 72 74 20 67 65 74 s\";\nimport get
00001740: 57 69 6e 64 6f 77 53 63 72 6f 6c 6c 20 66 72 6f WindowScroll fro
00001750: 6d 20 5c 22 2e 2f 67 65 74 57 69 6e 64 6f 77 53 m \"./getWindowS
00001760: 63 72 6f 6c 6c 2e 6a 73 5c 22 3b 5c 6e 65 78 70 croll.js\";\nexp
00001770: 6f 72 74 20 64 65 66 61 75 6c 74 20 66 75 6e 63 ort default func
00001780: 74 69 6f 6e 20 67 65 74 57 69 6e 64 6f 77 53 63 tion getWindowSc
00001790: 72 6f 6c 6c 42 61 72 58 28 65 6c 65 6d 65 6e 74 rollBarX(element
000017a0: 29 20 7b 5c 6e 20 20 2f 2f 20 49 66 20 3c 68 74 ) {\n // If <ht
000017b0: 6d 6c 3e 20 68 61 73 20 61 20 43 53 53 20 77 69 ml> has a CSS wi
000017c0: 64 74 68 20 67 72 65 61 74 65 72 20 74 68 61 6e dth greater than
000017d0: 20 74 68 65 20 76 69 65 77 70 6f 72 74 2c 20 74 the viewport, t
000017e0: 68 65 6e 20 74 68 69 73 20 77 69 6c 6c 20 62 65 hen this will be
000017f0: 5c 6e 20 20 2f 2f 20 69 6e 63 6f 72 72 65 63 74 \n // incorrect
00001800: 20 66 6f 72 20 52 54 4c 2e 5c 6e 20 20 2f 2f 20 for RTL.\n //
00001810: 50 6f 70 70 65 72 20 31 20 69 73 20 62 72 6f 6b Popper 1 is brok
00001820: 65 6e 20 69 6e 20 74 68 69 73 20 63 61 73 65 20 en in this case
00001830: 61 6e 64 20 6e 65 76 65 72 20 68 61 64 20 61 20 and never had a
00001840: 62 75 67 20 72 65 70 6f 72 74 20 73 6f 20 6c 65 bug report so le
00001850: 74 27 73 20 61 73 73 75 6d 65 5c 6e 20 20 2f 2f t's assume\n //
00001860: 20 69 74 27 73 20 6e 6f 74 20 61 6e 20 69 73 73 it's not an iss
00001870: 75 65 2e 20 49 20 64 6f 6e 27 74 20 74 68 69 6e ue. I don't thin
00001880: 6b 20 61 6e 79 6f 6e 65 20 65 76 65 72 20 73 70 k anyone ever sp
00001890: 65 63 69 66 69 65 73 20 77 69 64 74 68 20 6f 6e ecifies width on
000018a0: 20 3c 68 74 6d 6c 3e 5c 6e 20 20 2f 2f 20 61 6e <html>\n // an
000018b0: 79 77 61 79 2e 5c 6e 20 20 2f 2f 20 42 72 6f 77 yway.\n // Brow
000018c0: 73 65 72 73 20 77 68 65 72 65 20 74 68 65 20 6c sers where the l
000018d0: 65 66 74 20 73 63 72 6f 6c 6c 62 61 72 20 64 6f eft scrollbar do
000018e0: 65 73 6e 27 74 20 63 61 75 73 65 20 61 6e 20 69 esn't cause an i
000018f0: 73 73 75 65 20 72 65 70 6f 72 74 20 60 30 60 20 ssue report `0`
00001900: 66 6f 72 5c 6e 20 20 2f 2f 20 74 68 69 73 20 28 for\n // this (
00001910: 65 2e 67 2e 20 45 64 67 65 20 32 30 31 39 2c 20 e.g. Edge 2019,
00001920: 49 45 31 31 2c 20 53 61 66 61 72 69 29 5c 6e 20 IE11, Safari)\n
00001930: 20 72 65 74 75 72 6e 20 67 65 74 42 6f 75 6e 64 return getBound
00001940: 69 6e 67 43 6c 69 65 6e 74 52 65 63 74 28 67 65 ingClientRect(ge
00001950: 74 44 6f 63 75 6d 65 6e 74 45 6c 65 6d 65 6e 74 tDocumentElement
00001960: 28 65 6c 65 6d 65 6e 74 29 29 2e 6c 65 66 74 20 (element)).left
00001970: 2b 20 67 65 74 57 69 6e 64 6f 77 53 63 72 6f 6c + getWindowScrol
00001980: 6c 28 65 6c 65 6d 65 6e 74 29 2e 73 63 72 6f 6c l(element).scrol
00001990: 6c 4c 65 66 74 3b 5c 6e 7d 22 2c 22 69 6d 70 6f lLeft;\n}","impo
000019a0: 72 74 20 67 65 74 43 6f 6d 70 75 74 65 64 53 74 rt getComputedSt
000019b0: 79 6c 65 20 66 72 6f 6d 20 5c 22 2e 2f 67 65 74 yle from \"./get
000019c0: 43 6f 6d 70 75 74 65 64 53 74 79 6c 65 2e 6a 73 ComputedStyle.js
000019d0: 5c 22 3b 5c 6e 65 78 70 6f 72 74 20 64 65 66 61 \";\nexport defa
000019e0: 75 6c 74 20 66 75 6e 63 74 69 6f 6e 20 69 73 53 ult function isS
000019f0: 63 72 6f 6c 6c 50 61 72 65 6e 74 28 65 6c 65 6d crollParent(elem
00001a00: 65 6e 74 29 20 7b 5c 6e 20 20 2f 2f 20 46 69 72 ent) {\n // Fir
00001a10: 65 66 6f 78 20 77 61 6e 74 73 20 75 73 20 74 6f efox wants us to
00001a20: 20 63 68 65 63 6b 20 60 2d 78 60 20 61 6e 64 20 check `-x` and
00001a30: 60 2d 79 60 20 76 61 72 69 61 74 69 6f 6e 73 20 `-y` variations
00001a40: 61 73 20 77 65 6c 6c 5c 6e 20 20 76 61 72 20 5f as well\n var _
00001a50: 67 65 74 43 6f 6d 70 75 74 65 64 53 74 79 6c 65 getComputedStyle
00001a60: 20 3d 20 67 65 74 43 6f 6d 70 75 74 65 64 53 74 = getComputedSt
00001a70: 79 6c 65 28 65 6c 65 6d 65 6e 74 29 2c 5c 6e 20 yle(element),\n
00001a80: 20 20 20 20 20 6f 76 65 72 66 6c 6f 77 20 3d 20 overflow =
00001a90: 5f 67 65 74 43 6f 6d 70 75 74 65 64 53 74 79 6c _getComputedStyl
00001aa0: 65 2e 6f 76 65 72 66 6c 6f 77 2c 5c 6e 20 20 20 e.overflow,\n
00001ab0: 20 20 20 6f 76 65 72 66 6c 6f 77 58 20 3d 20 5f overflowX = _
00001ac0: 67 65 74 43 6f 6d 70 75 74 65 64 53 74 79 6c 65 getComputedStyle
00001ad0: 2e 6f 76 65 72 66 6c 6f 77 58 2c 5c 6e 20 20 20 .overflowX,\n
00001ae0: 20 20 20 6f 76 65 72 66 6c 6f 77 59 20 3d 20 5f overflowY = _
00001af0: 67 65 74 43 6f 6d 70 75 74 65 64 53 74 79 6c 65 getComputedStyle
00001b00: 2e 6f 76 65 72 66 6c 6f 77 59 3b 5c 6e 5c 6e 20 .overflowY;\n\n
00001b10: 20 72 65 74 75 72 6e 20 2f 61 75 74 6f 7c 73 63 return /auto|sc
00001b20: 72 6f 6c 6c 7c 6f 76 65 72 6c 61 79 7c 68 69 64 roll|overlay|hid
00001b30: 64 65 6e 2f 2e 74 65 73 74 28 6f 76 65 72 66 6c den/.test(overfl
00001b40: 6f 77 20 2b 20 6f 76 65 72 66 6c 6f 77 59 20 2b ow + overflowY +
00001b50: 20 6f 76 65 72 66 6c 6f 77 58 29 3b 5c 6e 7d 22 overflowX);\n}"
00001b60: 2c 22 69 6d 70 6f 72 74 20 67 65 74 53 63 72 6f ,"import getScro
00001b70: 6c 6c 50 61 72 65 6e 74 20 66 72 6f 6d 20 5c 22 llParent from \"
00001b80: 2e 2f 67 65 74 53 63 72 6f 6c 6c 50 61 72 65 6e ./getScrollParen
00001b90: 74 2e 6a 73 5c 22 3b 5c 6e 69 6d 70 6f 72 74 20 t.js\";\nimport
00001ba0: 67 65 74 50 61 72 65 6e 74 4e 6f 64 65 20 66 72 getParentNode fr
00001bb0: 6f 6d 20 5c 22 2e 2f 67 65 74 50 61 72 65 6e 74 om \"./getParent
00001bc0: 4e 6f 64 65 2e 6a 73 5c 22 3b 5c 6e 69 6d 70 6f Node.js\";\nimpo
00001bd0: 72 74 20 67 65 74 57 69 6e 64 6f 77 20 66 72 6f rt getWindow fro
00001be0: 6d 20 5c 22 2e 2f 67 65 74 57 69 6e 64 6f 77 2e m \"./getWindow.
00001bf0: 6a 73 5c 22 3b 5c 6e 69 6d 70 6f 72 74 20 69 73 js\";\nimport is
00001c00: 53 63 72 6f 6c 6c 50 61 72 65 6e 74 20 66 72 6f ScrollParent fro
00001c10: 6d 20 5c 22 2e 2f 69 73 53 63 72 6f 6c 6c 50 61 m \"./isScrollPa
00001c20: 72 65 6e 74 2e 6a 73 5c 22 3b 5c 6e 2f 2a 5c 6e rent.js\";\n/*\n
00001c30: 67 69 76 65 6e 20 61 20 44 4f 4d 20 65 6c 65 6d given a DOM elem
00001c40: 65 6e 74 2c 20 72 65 74 75 72 6e 20 74 68 65 20 ent, return the
00001c50: 6c 69 73 74 20 6f 66 20 61 6c 6c 20 73 63 72 6f list of all scro
00001c60: 6c 6c 20 70 61 72 65 6e 74 73 2c 20 75 70 20 74 ll parents, up t
00001c70: 68 65 20 6c 69 73 74 20 6f 66 20 61 6e 63 65 73 he list of ances
00001c80: 6f 72 73 5c 6e 75 6e 74 69 6c 20 77 65 20 67 65 ors\nuntil we ge
00001c90: 74 20 74 6f 20 74 68 65 20 74 6f 70 20 77 69 6e t to the top win
00001ca0: 64 6f 77 20 6f 62 6a 65 63 74 2e 20 54 68 69 73 dow object. This
00001cb0: 20 6c 69 73 74 20 69 73 20 77 68 61 74 20 77 65 list is what we
00001cc0: 20 61 74 74 61 63 68 20 73 63 72 6f 6c 6c 20 6c attach scroll l
00001cd0: 69 73 74 65 6e 65 72 73 5c 6e 74 6f 2c 20 62 65 isteners\nto, be
00001ce0: 63 61 75 73 65 20 69 66 20 61 6e 79 20 6f 66 20 cause if any of
00001cf0: 74 68 65 73 65 20 70 61 72 65 6e 74 20 65 6c 65 these parent ele
00001d00: 6d 65 6e 74 73 20 73 63 72 6f 6c 6c 2c 20 77 65 ments scroll, we
00001d10: 27 6c 6c 20 6e 65 65 64 20 74 6f 20 72 65 2d 63 'll need to re-c
00001d20: 61 6c 63 75 6c 61 74 65 20 74 68 65 5c 6e 72 65 alculate the\nre
00001d30: 66 65 72 65 6e 63 65 20 65 6c 65 6d 65 6e 74 27 ference element'
00001d40: 73 20 70 6f 73 69 74 69 6f 6e 2e 5c 6e 2a 2f 5c s position.\n*/\
00001d50: 6e 5c 6e 65 78 70 6f 72 74 20 64 65 66 61 75 6c n\nexport defaul
00001d60: 74 20 66 75 6e 63 74 69 6f 6e 20 6c 69 73 74 53 t function listS
00001d70: 63 72 6f 6c 6c 50 61 72 65 6e 74 73 28 65 6c 65 crollParents(ele
00001d80: 6d 65 6e 74 2c 20 6c 69 73 74 29 20 7b 5c 6e 20 ment, list) {\n
00001d90: 20 76 61 72 20 5f 65 6c 65 6d 65 6e 74 24 6f 77 var _element$ow
00001da0: 6e 65 72 44 6f 63 75 6d 65 6e 3b 5c 6e 5c 6e 20 nerDocumen;\n\n
00001db0: 20 69 66 20 28 6c 69 73 74 20 3d 3d 3d 20 76 6f if (list === vo
00001dc0: 69 64 20 30 29 20 7b 5c 6e 20 20 20 20 6c 69 73 id 0) {\n lis
00001dd0: 74 20 3d 20 5b 5d 3b 5c 6e 20 20 7d 5c 6e 5c 6e t = [];\n }\n\n
00001de0: 20 20 76 61 72 20 73 63 72 6f 6c 6c 50 61 72 65 var scrollPare
00001df0: 6e 74 20 3d 20 67 65 74 53 63 72 6f 6c 6c 50 61 nt = getScrollPa
00001e00: 72 65 6e 74 28 65 6c 65 6d 65 6e 74 29 3b 5c 6e rent(element);\n
00001e10: 20 20 76 61 72 20 69 73 42 6f 64 79 20 3d 20 73 var isBody = s
00001e20: 63 72 6f 6c 6c 50 61 72 65 6e 74 20 3d 3d 3d 20 crollParent ===
00001e30: 28 28 5f 65 6c 65 6d 65 6e 74 24 6f 77 6e 65 72 ((_element$owner
00001e40: 44 6f 63 75 6d 65 6e 20 3d 20 65 6c 65 6d 65 6e Documen = elemen
00001e50: 74 2e 6f 77 6e 65 72 44 6f 63 75 6d 65 6e 74 29 t.ownerDocument)
00001e60: 20 3d 3d 20 6e 75 6c 6c 20 3f 20 76 6f 69 64 20 == null ? void
00001e70: 30 20 3a 20 5f 65 6c 65 6d 65 6e 74 24 6f 77 6e 0 : _element$own
00001e80: 65 72 44 6f 63 75 6d 65 6e 2e 62 6f 64 79 29 3b erDocumen.body);
00001e90: 5c 6e 20 20 76 61 72 20 77 69 6e 20 3d 20 67 65 \n var win = ge
00001ea0: 74 57 69 6e 64 6f 77 28 73 63 72 6f 6c 6c 50 61 tWindow(scrollPa
00001eb0: 72 65 6e 74 29 3b 5c 6e 20 20 76 61 72 20 74 61 rent);\n var ta
00001ec0: 72 67 65 74 20 3d 20 69 73 42 6f 64 79 20 3f 20 rget = isBody ?
00001ed0: 5b 77 69 6e 5d 2e 63 6f 6e 63 61 74 28 77 69 6e [win].concat(win
00001ee0: 2e 76 69 73 75 61 6c 56 69 65 77 70 6f 72 74 20 .visualViewport
00001ef0: 7c 7c 20 5b 5d 2c 20 69 73 53 63 72 6f 6c 6c 50 || [], isScrollP
00001f00: 61 72 65 6e 74 28 73 63 72 6f 6c 6c 50 61 72 65 arent(scrollPare
00001f10: 6e 74 29 20 3f 20 73 63 72 6f 6c 6c 50 61 72 65 nt) ? scrollPare
00001f20: 6e 74 20 3a 20 5b 5d 29 20 3a 20 73 63 72 6f 6c nt : []) : scrol
00001f30: 6c 50 61 72 65 6e 74 3b 5c 6e 20 20 76 61 72 20 lParent;\n var
00001f40: 75 70 64 61 74 65 64 4c 69 73 74 20 3d 20 6c 69 updatedList = li
00001f50: 73 74 2e 63 6f 6e 63 61 74 28 74 61 72 67 65 74 st.concat(target
00001f60: 29 3b 5c 6e 20 20 72 65 74 75 72 6e 20 69 73 42 );\n return isB
00001f70: 6f 64 79 20 3f 20 75 70 64 61 74 65 64 4c 69 73 ody ? updatedLis
00001f80: 74 20 3a 20 2f 2f 20 24 46 6c 6f 77 46 69 78 4d t : // $FlowFixM
00001f90: 65 5b 69 6e 63 6f 6d 70 61 74 69 62 6c 65 2d 63 e[incompatible-c
00001fa0: 61 6c 6c 5d 3a 20 69 73 42 6f 64 79 20 74 65 6c all]: isBody tel
00001fb0: 6c 73 20 75 73 20 74 61 72 67 65 74 20 77 69 6c ls us target wil
00001fc0: 6c 20 62 65 20 61 6e 20 48 54 4d 4c 45 6c 65 6d l be an HTMLElem
00001fd0: 65 6e 74 20 68 65 72 65 5c 6e 20 20 75 70 64 61 ent here\n upda
00001fe0: 74 65 64 4c 69 73 74 2e 63 6f 6e 63 61 74 28 6c tedList.concat(l
00001ff0: 69 73 74 53 63 72 6f 6c 6c 50 61 72 65 6e 74 73 istScrollParents
00002000: 28 67 65 74 50 61 72 65 6e 74 4e 6f 64 65 28 74 (getParentNode(t
00002010: 61 72 67 65 74 29 29 29 3b 5c 6e 7d 22 2c 22 69 arget)));\n}","i
00002020: 6d 70 6f 72 74 20 67 65 74 50 61 72 65 6e 74 4e mport getParentN
00002030: 6f 64 65 20 66 72 6f 6d 20 5c 22 2e 2f 67 65 74 ode from \"./get
00002040: 50 61 72 65 6e 74 4e 6f 64 65 2e 6a 73 5c 22 3b ParentNode.js\";
00002050: 5c 6e 69 6d 70 6f 72 74 20 69 73 53 63 72 6f 6c \nimport isScrol
00002060: 6c 50 61 72 65 6e 74 20 66 72 6f 6d 20 5c 22 2e lParent from \".
00002070: 2f 69 73 53 63 72 6f 6c 6c 50 61 72 65 6e 74 2e /isScrollParent.
00002080: 6a 73 5c 22 3b 5c 6e 69 6d 70 6f 72 74 20 67 65 js\";\nimport ge
00002090: 74 4e 6f 64 65 4e 61 6d 65 20 66 72 6f 6d 20 5c tNodeName from \
000020a0: 22 2e 2f 67 65 74 4e 6f 64 65 4e 61 6d 65 2e 6a "./getNodeName.j
000020b0: 73 5c 22 3b 5c 6e 69 6d 70 6f 72 74 20 7b 20 69 s\";\nimport { i
000020c0: 73 48 54 4d 4c 45 6c 65 6d 65 6e 74 20 7d 20 66 sHTMLElement } f
000020d0: 72 6f 6d 20 5c 22 2e 2f 69 6e 73 74 61 6e 63 65 rom \"./instance
000020e0: 4f 66 2e 6a 73 5c 22 3b 5c 6e 65 78 70 6f 72 74 Of.js\";\nexport
000020f0: 20 64 65 66 61 75 6c 74 20 66 75 6e 63 74 69 6f default functio
00002100: 6e 20 67 65 74 53 63 72 6f 6c 6c 50 61 72 65 6e n getScrollParen
00002110: 74 28 6e 6f 64 65 29 20 7b 5c 6e 20 20 69 66 20 t(node) {\n if
00002120: 28 5b 27 68 74 6d 6c 27 2c 20 27 62 6f 64 79 27 (['html', 'body'
00002130: 2c 20 27 23 64 6f 63 75 6d 65 6e 74 27 5d 2e 69 , '#document'].i
00002140: 6e 64 65 78 4f 66 28 67 65 74 4e 6f 64 65 4e 61 ndexOf(getNodeNa
00002150: 6d 65 28 6e 6f 64 65 29 29 20 3e 3d 20 30 29 20 me(node)) >= 0)
00002160: 7b 5c 6e 20 20 20 20 2f 2f 20 24 46 6c 6f 77 46 {\n // $FlowF
00002170: 69 78 4d 65 5b 69 6e 63 6f 6d 70 61 74 69 62 6c ixMe[incompatibl
00002180: 65 2d 72 65 74 75 72 6e 5d 3a 20 61 73 73 75 6d e-return]: assum
00002190: 65 20 62 6f 64 79 20 69 73 20 61 6c 77 61 79 73 e body is always
000021a0: 20 61 76 61 69 6c 61 62 6c 65 5c 6e 20 20 20 20 available\n
000021b0: 72 65 74 75 72 6e 20 6e 6f 64 65 2e 6f 77 6e 65 return node.owne
000021c0: 72 44 6f 63 75 6d 65 6e 74 2e 62 6f 64 79 3b 5c rDocument.body;\
000021d0: 6e 20 20 7d 5c 6e 5c 6e 20 20 69 66 20 28 69 73 n }\n\n if (is
000021e0: 48 54 4d 4c 45 6c 65 6d 65 6e 74 28 6e 6f 64 65 HTMLElement(node
000021f0: 29 20 26 26 20 69 73 53 63 72 6f 6c 6c 50 61 72 ) && isScrollPar
00002200: 65 6e 74 28 6e 6f 64 65 29 29 20 7b 5c 6e 20 20 ent(node)) {\n
00002210: 20 20 72 65 74 75 72 6e 20 6e 6f 64 65 3b 5c 6e return node;\n
00002220: 20 20 7d 5c 6e 5c 6e 20 20 72 65 74 75 72 6e 20 }\n\n return
00002230: 67 65 74 53 63 72 6f 6c 6c 50 61 72 65 6e 74 28 getScrollParent(
00002240: 67 65 74 50 61 72 65 6e 74 4e 6f 64 65 28 6e 6f getParentNode(no
00002250: 64 65 29 29 3b 5c 6e 7d 22 2c 22 65 78 70 6f 72 de));\n}","expor
00002260: 74 20 64 65 66 61 75 6c 74 20 66 75 6e 63 74 69 t default functi
00002270: 6f 6e 20 72 65 63 74 54 6f 43 6c 69 65 6e 74 52 on rectToClientR
00002280: 65 63 74 28 72 65 63 74 29 20 7b 5c 6e 20 20 72 ect(rect) {\n r
00002290: 65 74 75 72 6e 20 4f 62 6a 65 63 74 2e 61 73 73 eturn Object.ass
000022a0: 69 67 6e 28 7b 7d 2c 20 72 65 63 74 2c 20 7b 5c ign({}, rect, {\
000022b0: 6e 20 20 20 20 6c 65 66 74 3a 20 72 65 63 74 2e n left: rect.
000022c0: 78 2c 5c 6e 20 20 20 20 74 6f 70 3a 20 72 65 63 x,\n top: rec
000022d0: 74 2e 79 2c 5c 6e 20 20 20 20 72 69 67 68 74 3a t.y,\n right:
000022e0: 20 72 65 63 74 2e 78 20 2b 20 72 65 63 74 2e 77 rect.x + rect.w
000022f0: 69 64 74 68 2c 5c 6e 20 20 20 20 62 6f 74 74 6f idth,\n botto
00002300: 6d 3a 20 72 65 63 74 2e 79 20 2b 20 72 65 63 74 m: rect.y + rect
00002310: 2e 68 65 69 67 68 74 5c 6e 20 20 7d 29 3b 5c 6e .height\n });\n
00002320: 7d 22 2c 22 69 6d 70 6f 72 74 20 7b 20 76 69 65 }","import { vie
00002330: 77 70 6f 72 74 20 7d 20 66 72 6f 6d 20 5c 22 2e wport } from \".
00002340: 2e 2f 65 6e 75 6d 73 2e 6a 73 5c 22 3b 5c 6e 69 ./enums.js\";\ni
00002350: 6d 70 6f 72 74 20 67 65 74 56 69 65 77 70 6f 72 mport getViewpor
00002360: 74 52 65 63 74 20 66 72 6f 6d 20 5c 22 2e 2f 67 tRect from \"./g
00002370: 65 74 56 69 65 77 70 6f 72 74 52 65 63 74 2e 6a etViewportRect.j
00002380: 73 5c 22 3b 5c 6e 69 6d 70 6f 72 74 20 67 65 74 s\";\nimport get
00002390: 44 6f 63 75 6d 65 6e 74 52 65 63 74 20 66 72 6f DocumentRect fro
000023a0: 6d 20 5c 22 2e 2f 67 65 74 44 6f 63 75 6d 65 6e m \"./getDocumen
000023b0: 74 52 65 63 74 2e 6a 73 5c 22 3b 5c 6e 69 6d 70 tRect.js\";\nimp
000023c0: 6f 72 74 20 6c 69 73 74 53 63 72 6f 6c 6c 50 61 ort listScrollPa
000023d0: 72 65 6e 74 73 20 66 72 6f 6d 20 5c 22 2e 2f 6c rents from \"./l
000023e0: 69 73 74 53 63 72 6f 6c 6c 50 61 72 65 6e 74 73 istScrollParents
000023f0: 2e 6a 73 5c 22 3b 5c 6e 69 6d 70 6f 72 74 20 67 .js\";\nimport g
00002400: 65 74 4f 66 66 73 65 74 50 61 72 65 6e 74 20 66 etOffsetParent f
00002410: 72 6f 6d 20 5c 22 2e 2f 67 65 74 4f 66 66 73 65 rom \"./getOffse
00002420: 74 50 61 72 65 6e 74 2e 6a 73 5c 22 3b 5c 6e 69 tParent.js\";\ni
00002430: 6d 70 6f 72 74 20 67 65 74 44 6f 63 75 6d 65 6e mport getDocumen
00002440: 74 45 6c 65 6d 65 6e 74 20 66 72 6f 6d 20 5c 22 tElement from \"
00002450: 2e 2f 67 65 74 44 6f 63 75 6d 65 6e 74 45 6c 65 ./getDocumentEle
00002460: 6d 65 6e 74 2e 6a 73 5c 22 3b 5c 6e 69 6d 70 6f ment.js\";\nimpo
00002470: 72 74 20 67 65 74 43 6f 6d 70 75 74 65 64 53 74 rt getComputedSt
00002480: 79 6c 65 20 66 72 6f 6d 20 5c 22 2e 2f 67 65 74 yle from \"./get
00002490: 43 6f 6d 70 75 74 65 64 53 74 79 6c 65 2e 6a 73 ComputedStyle.js
000024a0: 5c 22 3b 5c 6e 69 6d 70 6f 72 74 20 7b 20 69 73 \";\nimport { is
000024b0: 45 6c 65 6d 65 6e 74 2c 20 69 73 48 54 4d 4c 45 Element, isHTMLE
000024c0: 6c 65 6d 65 6e 74 20 7d 20 66 72 6f 6d 20 5c 22 lement } from \"
000024d0: 2e 2f 69 6e 73 74 61 6e 63 65 4f 66 2e 6a 73 5c ./instanceOf.js\
000024e0: 22 3b 5c 6e 69 6d 70 6f 72 74 20 67 65 74 42 6f ";\nimport getBo
000024f0: 75 6e 64 69 6e 67 43 6c 69 65 6e 74 52 65 63 74 undingClientRect
00002500: 20 66 72 6f 6d 20 5c 22 2e 2f 67 65 74 42 6f 75 from \"./getBou
00002510: 6e 64 69 6e 67 43 6c 69 65 6e 74 52 65 63 74 2e ndingClientRect.
00002520: 6a 73 5c 22 3b 5c 6e 69 6d 70 6f 72 74 20 67 65 js\";\nimport ge
00002530: 74 50 61 72 65 6e 74 4e 6f 64 65 20 66 72 6f 6d tParentNode from
00002540: 20 5c 22 2e 2f 67 65 74 50 61 72 65 6e 74 4e 6f \"./getParentNo
00002550: 64 65 2e 6a 73 5c 22 3b 5c 6e 69 6d 70 6f 72 74 de.js\";\nimport
00002560: 20 63 6f 6e 74 61 69 6e 73 20 66 72 6f 6d 20 5c contains from \
00002570: 22 2e 2f 63 6f 6e 74 61 69 6e 73 2e 6a 73 5c 22 "./contains.js\"
00002580: 3b 5c 6e 69 6d 70 6f 72 74 20 67 65 74 4e 6f 64 ;\nimport getNod
00002590: 65 4e 61 6d 65 20 66 72 6f 6d 20 5c 22 2e 2f 67 eName from \"./g
000025a0: 65 74 4e 6f 64 65 4e 61 6d 65 2e 6a 73 5c 22 3b etNodeName.js\";
000025b0: 5c 6e 69 6d 70 6f 72 74 20 72 65 63 74 54 6f 43 \nimport rectToC
000025c0: 6c 69 65 6e 74 52 65 63 74 20 66 72 6f 6d 20 5c lientRect from \
000025d0: 22 2e 2e 2f 75 74 69 6c 73 2f 72 65 63 74 54 6f "../utils/rectTo
000025e0: 43 6c 69 65 6e 74 52 65 63 74 2e 6a 73 5c 22 3b ClientRect.js\";
000025f0: 5c 6e 69 6d 70 6f 72 74 20 7b 20 6d 61 78 2c 20 \nimport { max,
00002600: 6d 69 6e 20 7d 20 66 72 6f 6d 20 5c 22 2e 2e 2f min } from \"../
00002610: 75 74 69 6c 73 2f 6d 61 74 68 2e 6a 73 5c 22 3b utils/math.js\";
00002620: 5c 6e 5c 6e 66 75 6e 63 74 69 6f 6e 20 67 65 74 \n\nfunction get
00002630: 49 6e 6e 65 72 42 6f 75 6e 64 69 6e 67 43 6c 69 InnerBoundingCli
00002640: 65 6e 74 52 65 63 74 28 65 6c 65 6d 65 6e 74 2c entRect(element,
00002650: 20 73 74 72 61 74 65 67 79 29 20 7b 5c 6e 20 20 strategy) {\n
00002660: 76 61 72 20 72 65 63 74 20 3d 20 67 65 74 42 6f var rect = getBo
00002670: 75 6e 64 69 6e 67 43 6c 69 65 6e 74 52 65 63 74 undingClientRect
00002680: 28 65 6c 65 6d 65 6e 74 2c 20 66 61 6c 73 65 2c (element, false,
00002690: 20 73 74 72 61 74 65 67 79 20 3d 3d 3d 20 27 66 strategy === 'f
000026a0: 69 78 65 64 27 29 3b 5c 6e 20 20 72 65 63 74 2e ixed');\n rect.
000026b0: 74 6f 70 20 3d 20 72 65 63 74 2e 74 6f 70 20 2b top = rect.top +
000026c0: 20 65 6c 65 6d 65 6e 74 2e 63 6c 69 65 6e 74 54 element.clientT
000026d0: 6f 70 3b 5c 6e 20 20 72 65 63 74 2e 6c 65 66 74 op;\n rect.left
000026e0: 20 3d 20 72 65 63 74 2e 6c 65 66 74 20 2b 20 65 = rect.left + e
000026f0: 6c 65 6d 65 6e 74 2e 63 6c 69 65 6e 74 4c 65 66 lement.clientLef
00002700: 74 3b 5c 6e 20 20 72 65 63 74 2e 62 6f 74 74 6f t;\n rect.botto
00002710: 6d 20 3d 20 72 65 63 74 2e 74 6f 70 20 2b 20 65 m = rect.top + e
00002720: 6c 65 6d 65 6e 74 2e 63 6c 69 65 6e 74 48 65 69 lement.clientHei
00002730: 67 68 74 3b 5c 6e 20 20 72 65 63 74 2e 72 69 67 ght;\n rect.rig
00002740: 68 74 20 3d 20 72 65 63 74 2e 6c 65 66 74 20 2b ht = rect.left +
00002750: 20 65 6c 65 6d 65 6e 74 2e 63 6c 69 65 6e 74 57 element.clientW
00002760: 69 64 74 68 3b 5c 6e 20 20 72 65 63 74 2e 77 69 idth;\n rect.wi
00002770: 64 74 68 20 3d 20 65 6c 65 6d 65 6e 74 2e 63 6c dth = element.cl
00002780: 69 65 6e 74 57 69 64 74 68 3b 5c 6e 20 20 72 65 ientWidth;\n re
00002790: 63 74 2e 68 65 69 67 68 74 20 3d 20 65 6c 65 6d ct.height = elem
000027a0: 65 6e 74 2e 63 6c 69 65 6e 74 48 65 69 67 68 74 ent.clientHeight
000027b0: 3b 5c 6e 20 20 72 65 63 74 2e 78 20 3d 20 72 65 ;\n rect.x = re
000027c0: 63 74 2e 6c 65 66 74 3b 5c 6e 20 20 72 65 63 74 ct.left;\n rect
000027d0: 2e 79 20 3d 20 72 65 63 74 2e 74 6f 70 3b 5c 6e .y = rect.top;\n
000027e0: 20 20 72 65 74 75 72 6e 20 72 65 63 74 3b 5c 6e return rect;\n
000027f0: 7d 5c 6e 5c 6e 66 75 6e 63 74 69 6f 6e 20 67 65 }\n\nfunction ge
00002800: 74 43 6c 69 65 6e 74 52 65 63 74 46 72 6f 6d 4d tClientRectFromM
00002810: 69 78 65 64 54 79 70 65 28 65 6c 65 6d 65 6e 74 ixedType(element
00002820: 2c 20 63 6c 69 70 70 69 6e 67 50 61 72 65 6e 74 , clippingParent
00002830: 2c 20 73 74 72 61 74 65 67 79 29 20 7b 5c 6e 20 , strategy) {\n
00002840: 20 72 65 74 75 72 6e 20 63 6c 69 70 70 69 6e 67 return clipping
00002850: 50 61 72 65 6e 74 20 3d 3d 3d 20 76 69 65 77 70 Parent === viewp
00002860: 6f 72 74 20 3f 20 72 65 63 74 54 6f 43 6c 69 65 ort ? rectToClie
00002870: 6e 74 52 65 63 74 28 67 65 74 56 69 65 77 70 6f ntRect(getViewpo
00002880: 72 74 52 65 63 74 28 65 6c 65 6d 65 6e 74 2c 20 rtRect(element,
00002890: 73 74 72 61 74 65 67 79 29 29 20 3a 20 69 73 45 strategy)) : isE
000028a0: 6c 65 6d 65 6e 74 28 63 6c 69 70 70 69 6e 67 50 lement(clippingP
000028b0: 61 72 65 6e 74 29 20 3f 20 67 65 74 49 6e 6e 65 arent) ? getInne
000028c0: 72 42 6f 75 6e 64 69 6e 67 43 6c 69 65 6e 74 52 rBoundingClientR
000028d0: 65 63 74 28 63 6c 69 70 70 69 6e 67 50 61 72 65 ect(clippingPare
000028e0: 6e 74 2c 20 73 74 72 61 74 65 67 79 29 20 3a 20 nt, strategy) :
000028f0: 72 65 63 74 54 6f 43 6c 69 65 6e 74 52 65 63 74 rectToClientRect
00002900: 28 67 65 74 44 6f 63 75 6d 65 6e 74 52 65 63 74 (getDocumentRect
00002910: 28 67 65 74 44 6f 63 75 6d 65 6e 74 45 6c 65 6d (getDocumentElem
00002920: 65 6e 74 28 65 6c 65 6d 65 6e 74 29 29 29 3b 5c ent(element)));\
00002930: 6e 7d 20 2f 2f 20 41 20 5c 22 63 6c 69 70 70 69 n} // A \"clippi
00002940: 6e 67 20 70 61 72 65 6e 74 5c 22 20 69 73 20 61 ng parent\" is a
00002950: 6e 20 6f 76 65 72 66 6c 6f 77 61 62 6c 65 20 63 n overflowable c
00002960: 6f 6e 74 61 69 6e 65 72 20 77 69 74 68 20 74 68 ontainer with th
00002970: 65 20 63 68 61 72 61 63 74 65 72 69 73 74 69 63 e characteristic
00002980: 20 6f 66 5c 6e 2f 2f 20 63 6c 69 70 70 69 6e 67 of\n// clipping
00002990: 20 28 6f 72 20 68 69 64 69 6e 67 29 20 6f 76 65 (or hiding) ove
000029a0: 72 66 6c 6f 77 69 6e 67 20 65 6c 65 6d 65 6e 74 rflowing element
000029b0: 73 20 77 69 74 68 20 61 20 70 6f 73 69 74 69 6f s with a positio
000029c0: 6e 20 64 69 66 66 65 72 65 6e 74 20 66 72 6f 6d n different from
000029d0: 5c 6e 2f 2f 20 60 69 6e 69 74 69 61 6c 60 5c 6e \n// `initial`\n
000029e0: 5c 6e 5c 6e 66 75 6e 63 74 69 6f 6e 20 67 65 74 \n\nfunction get
000029f0: 43 6c 69 70 70 69 6e 67 50 61 72 65 6e 74 73 28 ClippingParents(
00002a00: 65 6c 65 6d 65 6e 74 29 20 7b 5c 6e 20 20 76 61 element) {\n va
00002a10: 72 20 63 6c 69 70 70 69 6e 67 50 61 72 65 6e 74 r clippingParent
00002a20: 73 20 3d 20 6c 69 73 74 53 63 72 6f 6c 6c 50 61 s = listScrollPa
00002a30: 72 65 6e 74 73 28 67 65 74 50 61 72 65 6e 74 4e rents(getParentN
00002a40: 6f 64 65 28 65 6c 65 6d 65 6e 74 29 29 3b 5c 6e ode(element));\n
00002a50: 20 20 76 61 72 20 63 61 6e 45 73 63 61 70 65 43 var canEscapeC
00002a60: 6c 69 70 70 69 6e 67 20 3d 20 5b 27 61 62 73 6f lipping = ['abso
00002a70: 6c 75 74 65 27 2c 20 27 66 69 78 65 64 27 5d 2e lute', 'fixed'].
00002a80: 69 6e 64 65 78 4f 66 28 67 65 74 43 6f 6d 70 75 indexOf(getCompu
00002a90: 74 65 64 53 74 79 6c 65 28 65 6c 65 6d 65 6e 74 tedStyle(element
00002aa0: 29 2e 70 6f 73 69 74 69 6f 6e 29 20 3e 3d 20 30 ).position) >= 0
00002ab0: 3b 5c 6e 20 20 76 61 72 20 63 6c 69 70 70 65 72 ;\n var clipper
00002ac0: 45 6c 65 6d 65 6e 74 20 3d 20 63 61 6e 45 73 63 Element = canEsc
00002ad0: 61 70 65 43 6c 69 70 70 69 6e 67 20 26 26 20 69 apeClipping && i
00002ae0: 73 48 54 4d 4c 45 6c 65 6d 65 6e 74 28 65 6c 65 sHTMLElement(ele
00002af0: 6d 65 6e 74 29 20 3f 20 67 65 74 4f 66 66 73 65 ment) ? getOffse
00002b00: 74 50 61 72 65 6e 74 28 65 6c 65 6d 65 6e 74 29 tParent(element)
00002b10: 20 3a 20 65 6c 65 6d 65 6e 74 3b 5c 6e 5c 6e 20 : element;\n\n
00002b20: 20 69 66 20 28 21 69 73 45 6c 65 6d 65 6e 74 28 if (!isElement(
00002b30: 63 6c 69 70 70 65 72 45 6c 65 6d 65 6e 74 29 29 clipperElement))
00002b40: 20 7b 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 5b {\n return [
00002b50: 5d 3b 5c 6e 20 20 7d 20 2f 2f 20 24 46 6c 6f 77 ];\n } // $Flow
00002b60: 46 69 78 4d 65 5b 69 6e 63 6f 6d 70 61 74 69 62 FixMe[incompatib
00002b70: 6c 65 2d 72 65 74 75 72 6e 5d 3a 20 68 74 74 70 le-return]: http
00002b80: 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 66 s://github.com/f
00002b90: 61 63 65 62 6f 6f 6b 2f 66 6c 6f 77 2f 69 73 73 acebook/flow/iss
00002ba0: 75 65 73 2f 31 34 31 34 5c 6e 5c 6e 5c 6e 20 20 ues/1414\n\n\n
00002bb0: 72 65 74 75 72 6e 20 63 6c 69 70 70 69 6e 67 50 return clippingP
00002bc0: 61 72 65 6e 74 73 2e 66 69 6c 74 65 72 28 66 75 arents.filter(fu
00002bd0: 6e 63 74 69 6f 6e 20 28 63 6c 69 70 70 69 6e 67 nction (clipping
00002be0: 50 61 72 65 6e 74 29 20 7b 5c 6e 20 20 20 20 72 Parent) {\n r
00002bf0: 65 74 75 72 6e 20 69 73 45 6c 65 6d 65 6e 74 28 eturn isElement(
00002c00: 63 6c 69 70 70 69 6e 67 50 61 72 65 6e 74 29 20 clippingParent)
00002c10: 26 26 20 63 6f 6e 74 61 69 6e 73 28 63 6c 69 70 && contains(clip
00002c20: 70 69 6e 67 50 61 72 65 6e 74 2c 20 63 6c 69 70 pingParent, clip
00002c30: 70 65 72 45 6c 65 6d 65 6e 74 29 20 26 26 20 67 perElement) && g
00002c40: 65 74 4e 6f 64 65 4e 61 6d 65 28 63 6c 69 70 70 etNodeName(clipp
00002c50: 69 6e 67 50 61 72 65 6e 74 29 20 21 3d 3d 20 27 ingParent) !== '
00002c60: 62 6f 64 79 27 3b 5c 6e 20 20 7d 29 3b 5c 6e 7d body';\n });\n}
00002c70: 20 2f 2f 20 47 65 74 73 20 74 68 65 20 6d 61 78 // Gets the max
00002c80: 69 6d 75 6d 20 61 72 65 61 20 74 68 61 74 20 74 imum area that t
00002c90: 68 65 20 65 6c 65 6d 65 6e 74 20 69 73 20 76 69 he element is vi
00002ca0: 73 69 62 6c 65 20 69 6e 20 64 75 65 20 74 6f 20 sible in due to
00002cb0: 61 6e 79 20 6e 75 6d 62 65 72 20 6f 66 5c 6e 2f any number of\n/
00002cc0: 2f 20 63 6c 69 70 70 69 6e 67 20 70 61 72 65 6e / clipping paren
00002cd0: 74 73 5c 6e 5c 6e 5c 6e 65 78 70 6f 72 74 20 64 ts\n\n\nexport d
00002ce0: 65 66 61 75 6c 74 20 66 75 6e 63 74 69 6f 6e 20 efault function
00002cf0: 67 65 74 43 6c 69 70 70 69 6e 67 52 65 63 74 28 getClippingRect(
00002d00: 65 6c 65 6d 65 6e 74 2c 20 62 6f 75 6e 64 61 72 element, boundar
00002d10: 79 2c 20 72 6f 6f 74 42 6f 75 6e 64 61 72 79 2c y, rootBoundary,
00002d20: 20 73 74 72 61 74 65 67 79 29 20 7b 5c 6e 20 20 strategy) {\n
00002d30: 76 61 72 20 6d 61 69 6e 43 6c 69 70 70 69 6e 67 var mainClipping
00002d40: 50 61 72 65 6e 74 73 20 3d 20 62 6f 75 6e 64 61 Parents = bounda
00002d50: 72 79 20 3d 3d 3d 20 27 63 6c 69 70 70 69 6e 67 ry === 'clipping
00002d60: 50 61 72 65 6e 74 73 27 20 3f 20 67 65 74 43 6c Parents' ? getCl
00002d70: 69 70 70 69 6e 67 50 61 72 65 6e 74 73 28 65 6c ippingParents(el
00002d80: 65 6d 65 6e 74 29 20 3a 20 5b 5d 2e 63 6f 6e 63 ement) : [].conc
00002d90: 61 74 28 62 6f 75 6e 64 61 72 79 29 3b 5c 6e 20 at(boundary);\n
00002da0: 20 76 61 72 20 63 6c 69 70 70 69 6e 67 50 61 72 var clippingPar
00002db0: 65 6e 74 73 20 3d 20 5b 5d 2e 63 6f 6e 63 61 74 ents = [].concat
00002dc0: 28 6d 61 69 6e 43 6c 69 70 70 69 6e 67 50 61 72 (mainClippingPar
00002dd0: 65 6e 74 73 2c 20 5b 72 6f 6f 74 42 6f 75 6e 64 ents, [rootBound
00002de0: 61 72 79 5d 29 3b 5c 6e 20 20 76 61 72 20 66 69 ary]);\n var fi
00002df0: 72 73 74 43 6c 69 70 70 69 6e 67 50 61 72 65 6e rstClippingParen
00002e00: 74 20 3d 20 63 6c 69 70 70 69 6e 67 50 61 72 65 t = clippingPare
00002e10: 6e 74 73 5b 30 5d 3b 5c 6e 20 20 76 61 72 20 63 nts[0];\n var c
00002e20: 6c 69 70 70 69 6e 67 52 65 63 74 20 3d 20 63 6c lippingRect = cl
00002e30: 69 70 70 69 6e 67 50 61 72 65 6e 74 73 2e 72 65 ippingParents.re
00002e40: 64 75 63 65 28 66 75 6e 63 74 69 6f 6e 20 28 61 duce(function (a
00002e50: 63 63 52 65 63 74 2c 20 63 6c 69 70 70 69 6e 67 ccRect, clipping
00002e60: 50 61 72 65 6e 74 29 20 7b 5c 6e 20 20 20 20 76 Parent) {\n v
00002e70: 61 72 20 72 65 63 74 20 3d 20 67 65 74 43 6c 69 ar rect = getCli
00002e80: 65 6e 74 52 65 63 74 46 72 6f 6d 4d 69 78 65 64 entRectFromMixed
00002e90: 54 79 70 65 28 65 6c 65 6d 65 6e 74 2c 20 63 6c Type(element, cl
00002ea0: 69 70 70 69 6e 67 50 61 72 65 6e 74 2c 20 73 74 ippingParent, st
00002eb0: 72 61 74 65 67 79 29 3b 5c 6e 20 20 20 20 61 63 rategy);\n ac
00002ec0: 63 52 65 63 74 2e 74 6f 70 20 3d 20 6d 61 78 28 cRect.top = max(
00002ed0: 72 65 63 74 2e 74 6f 70 2c 20 61 63 63 52 65 63 rect.top, accRec
00002ee0: 74 2e 74 6f 70 29 3b 5c 6e 20 20 20 20 61 63 63 t.top);\n acc
00002ef0: 52 65 63 74 2e 72 69 67 68 74 20 3d 20 6d 69 6e Rect.right = min
00002f00: 28 72 65 63 74 2e 72 69 67 68 74 2c 20 61 63 63 (rect.right, acc
00002f10: 52 65 63 74 2e 72 69 67 68 74 29 3b 5c 6e 20 20 Rect.right);\n
00002f20: 20 20 61 63 63 52 65 63 74 2e 62 6f 74 74 6f 6d accRect.bottom
00002f30: 20 3d 20 6d 69 6e 28 72 65 63 74 2e 62 6f 74 74 = min(rect.bott
00002f40: 6f 6d 2c 20 61 63 63 52 65 63 74 2e 62 6f 74 74 om, accRect.bott
00002f50: 6f 6d 29 3b 5c 6e 20 20 20 20 61 63 63 52 65 63 om);\n accRec
00002f60: 74 2e 6c 65 66 74 20 3d 20 6d 61 78 28 72 65 63 t.left = max(rec
00002f70: 74 2e 6c 65 66 74 2c 20 61 63 63 52 65 63 74 2e t.left, accRect.
00002f80: 6c 65 66 74 29 3b 5c 6e 20 20 20 20 72 65 74 75 left);\n retu
00002f90: 72 6e 20 61 63 63 52 65 63 74 3b 5c 6e 20 20 7d rn accRect;\n }
00002fa0: 2c 20 67 65 74 43 6c 69 65 6e 74 52 65 63 74 46 , getClientRectF
00002fb0: 72 6f 6d 4d 69 78 65 64 54 79 70 65 28 65 6c 65 romMixedType(ele
00002fc0: 6d 65 6e 74 2c 20 66 69 72 73 74 43 6c 69 70 70 ment, firstClipp
00002fd0: 69 6e 67 50 61 72 65 6e 74 2c 20 73 74 72 61 74 ingParent, strat
00002fe0: 65 67 79 29 29 3b 5c 6e 20 20 63 6c 69 70 70 69 egy));\n clippi
00002ff0: 6e 67 52 65 63 74 2e 77 69 64 74 68 20 3d 20 63 ngRect.width = c
00003000: 6c 69 70 70 69 6e 67 52 65 63 74 2e 72 69 67 68 lippingRect.righ
00003010: 74 20 2d 20 63 6c 69 70 70 69 6e 67 52 65 63 74 t - clippingRect
00003020: 2e 6c 65 66 74 3b 5c 6e 20 20 63 6c 69 70 70 69 .left;\n clippi
00003030: 6e 67 52 65 63 74 2e 68 65 69 67 68 74 20 3d 20 ngRect.height =
00003040: 63 6c 69 70 70 69 6e 67 52 65 63 74 2e 62 6f 74 clippingRect.bot
00003050: 74 6f 6d 20 2d 20 63 6c 69 70 70 69 6e 67 52 65 tom - clippingRe
00003060: 63 74 2e 74 6f 70 3b 5c 6e 20 20 63 6c 69 70 70 ct.top;\n clipp
00003070: 69 6e 67 52 65 63 74 2e 78 20 3d 20 63 6c 69 70 ingRect.x = clip
00003080: 70 69 6e 67 52 65 63 74 2e 6c 65 66 74 3b 5c 6e pingRect.left;\n
00003090: 20 20 63 6c 69 70 70 69 6e 67 52 65 63 74 2e 79 clippingRect.y
000030a0: 20 3d 20 63 6c 69 70 70 69 6e 67 52 65 63 74 2e = clippingRect.
000030b0: 74 6f 70 3b 5c 6e 20 20 72 65 74 75 72 6e 20 63 top;\n return c
000030c0: 6c 69 70 70 69 6e 67 52 65 63 74 3b 5c 6e 7d 22 lippingRect;\n}"
000030d0: 2c 22 69 6d 70 6f 72 74 20 67 65 74 57 69 6e 64 ,"import getWind
000030e0: 6f 77 20 66 72 6f 6d 20 5c 22 2e 2f 67 65 74 57 ow from \"./getW
000030f0: 69 6e 64 6f 77 2e 6a 73 5c 22 3b 5c 6e 69 6d 70 indow.js\";\nimp
00003100: 6f 72 74 20 67 65 74 44 6f 63 75 6d 65 6e 74 45 ort getDocumentE
00003110: 6c 65 6d 65 6e 74 20 66 72 6f 6d 20 5c 22 2e 2f lement from \"./
00003120: 67 65 74 44 6f 63 75 6d 65 6e 74 45 6c 65 6d 65 getDocumentEleme
00003130: 6e 74 2e 6a 73 5c 22 3b 5c 6e 69 6d 70 6f 72 74 nt.js\";\nimport
00003140: 20 67 65 74 57 69 6e 64 6f 77 53 63 72 6f 6c 6c getWindowScroll
00003150: 42 61 72 58 20 66 72 6f 6d 20 5c 22 2e 2f 67 65 BarX from \"./ge
00003160: 74 57 69 6e 64 6f 77 53 63 72 6f 6c 6c 42 61 72 tWindowScrollBar
00003170: 58 2e 6a 73 5c 22 3b 5c 6e 69 6d 70 6f 72 74 20 X.js\";\nimport
00003180: 69 73 4c 61 79 6f 75 74 56 69 65 77 70 6f 72 74 isLayoutViewport
00003190: 20 66 72 6f 6d 20 5c 22 2e 2f 69 73 4c 61 79 6f from \"./isLayo
000031a0: 75 74 56 69 65 77 70 6f 72 74 2e 6a 73 5c 22 3b utViewport.js\";
000031b0: 5c 6e 65 78 70 6f 72 74 20 64 65 66 61 75 6c 74 \nexport default
000031c0: 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 56 69 65 function getVie
000031d0: 77 70 6f 72 74 52 65 63 74 28 65 6c 65 6d 65 6e wportRect(elemen
000031e0: 74 2c 20 73 74 72 61 74 65 67 79 29 20 7b 5c 6e t, strategy) {\n
000031f0: 20 20 76 61 72 20 77 69 6e 20 3d 20 67 65 74 57 var win = getW
00003200: 69 6e 64 6f 77 28 65 6c 65 6d 65 6e 74 29 3b 5c indow(element);\
00003210: 6e 20 20 76 61 72 20 68 74 6d 6c 20 3d 20 67 65 n var html = ge
00003220: 74 44 6f 63 75 6d 65 6e 74 45 6c 65 6d 65 6e 74 tDocumentElement
00003230: 28 65 6c 65 6d 65 6e 74 29 3b 5c 6e 20 20 76 61 (element);\n va
00003240: 72 20 76 69 73 75 61 6c 56 69 65 77 70 6f 72 74 r visualViewport
00003250: 20 3d 20 77 69 6e 2e 76 69 73 75 61 6c 56 69 65 = win.visualVie
00003260: 77 70 6f 72 74 3b 5c 6e 20 20 76 61 72 20 77 69 wport;\n var wi
00003270: 64 74 68 20 3d 20 68 74 6d 6c 2e 63 6c 69 65 6e dth = html.clien
00003280: 74 57 69 64 74 68 3b 5c 6e 20 20 76 61 72 20 68 tWidth;\n var h
00003290: 65 69 67 68 74 20 3d 20 68 74 6d 6c 2e 63 6c 69 eight = html.cli
000032a0: 65 6e 74 48 65 69 67 68 74 3b 5c 6e 20 20 76 61 entHeight;\n va
000032b0: 72 20 78 20 3d 20 30 3b 5c 6e 20 20 76 61 72 20 r x = 0;\n var
000032c0: 79 20 3d 20 30 3b 5c 6e 5c 6e 20 20 69 66 20 28 y = 0;\n\n if (
000032d0: 76 69 73 75 61 6c 56 69 65 77 70 6f 72 74 29 20 visualViewport)
000032e0: 7b 5c 6e 20 20 20 20 77 69 64 74 68 20 3d 20 76 {\n width = v
000032f0: 69 73 75 61 6c 56 69 65 77 70 6f 72 74 2e 77 69 isualViewport.wi
00003300: 64 74 68 3b 5c 6e 20 20 20 20 68 65 69 67 68 74 dth;\n height
00003310: 20 3d 20 76 69 73 75 61 6c 56 69 65 77 70 6f 72 = visualViewpor
00003320: 74 2e 68 65 69 67 68 74 3b 5c 6e 20 20 20 20 76 t.height;\n v
00003330: 61 72 20 6c 61 79 6f 75 74 56 69 65 77 70 6f 72 ar layoutViewpor
00003340: 74 20 3d 20 69 73 4c 61 79 6f 75 74 56 69 65 77 t = isLayoutView
00003350: 70 6f 72 74 28 29 3b 5c 6e 5c 6e 20 20 20 20 69 port();\n\n i
00003360: 66 20 28 6c 61 79 6f 75 74 56 69 65 77 70 6f 72 f (layoutViewpor
00003370: 74 20 7c 7c 20 21 6c 61 79 6f 75 74 56 69 65 77 t || !layoutView
00003380: 70 6f 72 74 20 26 26 20 73 74 72 61 74 65 67 79 port && strategy
00003390: 20 3d 3d 3d 20 27 66 69 78 65 64 27 29 20 7b 5c === 'fixed') {\
000033a0: 6e 20 20 20 20 20 20 78 20 3d 20 76 69 73 75 61 n x = visua
000033b0: 6c 56 69 65 77 70 6f 72 74 2e 6f 66 66 73 65 74 lViewport.offset
000033c0: 4c 65 66 74 3b 5c 6e 20 20 20 20 20 20 79 20 3d Left;\n y =
000033d0: 20 76 69 73 75 61 6c 56 69 65 77 70 6f 72 74 2e visualViewport.
000033e0: 6f 66 66 73 65 74 54 6f 70 3b 5c 6e 20 20 20 20 offsetTop;\n
000033f0: 7d 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 72 65 74 75 }\n }\n\n retu
00003400: 72 6e 20 7b 5c 6e 20 20 20 20 77 69 64 74 68 3a rn {\n width:
00003410: 20 77 69 64 74 68 2c 5c 6e 20 20 20 20 68 65 69 width,\n hei
00003420: 67 68 74 3a 20 68 65 69 67 68 74 2c 5c 6e 20 20 ght: height,\n
00003430: 20 20 78 3a 20 78 20 2b 20 67 65 74 57 69 6e 64 x: x + getWind
00003440: 6f 77 53 63 72 6f 6c 6c 42 61 72 58 28 65 6c 65 owScrollBarX(ele
00003450: 6d 65 6e 74 29 2c 5c 6e 20 20 20 20 79 3a 20 79 ment),\n y: y
00003460: 5c 6e 20 20 7d 3b 5c 6e 7d 22 2c 22 69 6d 70 6f \n };\n}","impo
00003470: 72 74 20 67 65 74 44 6f 63 75 6d 65 6e 74 45 6c rt getDocumentEl
00003480: 65 6d 65 6e 74 20 66 72 6f 6d 20 5c 22 2e 2f 67 ement from \"./g
00003490: 65 74 44 6f 63 75 6d 65 6e 74 45 6c 65 6d 65 6e etDocumentElemen
000034a0: 74 2e 6a 73 5c 22 3b 5c 6e 69 6d 70 6f 72 74 20 t.js\";\nimport
000034b0: 67 65 74 43 6f 6d 70 75 74 65 64 53 74 79 6c 65 getComputedStyle
000034c0: 20 66 72 6f 6d 20 5c 22 2e 2f 67 65 74 43 6f 6d from \"./getCom
000034d0: 70 75 74 65 64 53 74 79 6c 65 2e 6a 73 5c 22 3b putedStyle.js\";
000034e0: 5c 6e 69 6d 70 6f 72 74 20 67 65 74 57 69 6e 64 \nimport getWind
000034f0: 6f 77 53 63 72 6f 6c 6c 42 61 72 58 20 66 72 6f owScrollBarX fro
00003500: 6d 20 5c 22 2e 2f 67 65 74 57 69 6e 64 6f 77 53 m \"./getWindowS
00003510: 63 72 6f 6c 6c 42 61 72 58 2e 6a 73 5c 22 3b 5c crollBarX.js\";\
00003520: 6e 69 6d 70 6f 72 74 20 67 65 74 57 69 6e 64 6f nimport getWindo
00003530: 77 53 63 72 6f 6c 6c 20 66 72 6f 6d 20 5c 22 2e wScroll from \".
00003540: 2f 67 65 74 57 69 6e 64 6f 77 53 63 72 6f 6c 6c /getWindowScroll
00003550: 2e 6a 73 5c 22 3b 5c 6e 69 6d 70 6f 72 74 20 7b .js\";\nimport {
00003560: 20 6d 61 78 20 7d 20 66 72 6f 6d 20 5c 22 2e 2e max } from \"..
00003570: 2f 75 74 69 6c 73 2f 6d 61 74 68 2e 6a 73 5c 22 /utils/math.js\"
00003580: 3b 20 2f 2f 20 47 65 74 73 20 74 68 65 20 65 6e ; // Gets the en
00003590: 74 69 72 65 20 73 69 7a 65 20 6f 66 20 74 68 65 tire size of the
000035a0: 20 73 63 72 6f 6c 6c 61 62 6c 65 20 64 6f 63 75 scrollable docu
000035b0: 6d 65 6e 74 20 61 72 65 61 2c 20 65 76 65 6e 20 ment area, even
000035c0: 65 78 74 65 6e 64 69 6e 67 20 6f 75 74 73 69 64 extending outsid
000035d0: 65 5c 6e 2f 2f 20 6f 66 20 74 68 65 20 60 3c 68 e\n// of the `<h
000035e0: 74 6d 6c 3e 60 20 61 6e 64 20 60 3c 62 6f 64 79 tml>` and `<body
000035f0: 3e 60 20 72 65 63 74 20 62 6f 75 6e 64 73 20 69 >` rect bounds i
00003600: 66 20 68 6f 72 69 7a 6f 6e 74 61 6c 6c 79 20 73 f horizontally s
00003610: 63 72 6f 6c 6c 61 62 6c 65 5c 6e 5c 6e 65 78 70 crollable\n\nexp
00003620: 6f 72 74 20 64 65 66 61 75 6c 74 20 66 75 6e 63 ort default func
00003630: 74 69 6f 6e 20 67 65 74 44 6f 63 75 6d 65 6e 74 tion getDocument
00003640: 52 65 63 74 28 65 6c 65 6d 65 6e 74 29 20 7b 5c Rect(element) {\
00003650: 6e 20 20 76 61 72 20 5f 65 6c 65 6d 65 6e 74 24 n var _element$
00003660: 6f 77 6e 65 72 44 6f 63 75 6d 65 6e 3b 5c 6e 5c ownerDocumen;\n\
00003670: 6e 20 20 76 61 72 20 68 74 6d 6c 20 3d 20 67 65 n var html = ge
00003680: 74 44 6f 63 75 6d 65 6e 74 45 6c 65 6d 65 6e 74 tDocumentElement
00003690: 28 65 6c 65 6d 65 6e 74 29 3b 5c 6e 20 20 76 61 (element);\n va
000036a0: 72 20 77 69 6e 53 63 72 6f 6c 6c 20 3d 20 67 65 r winScroll = ge
000036b0: 74 57 69 6e 64 6f 77 53 63 72 6f 6c 6c 28 65 6c tWindowScroll(el
000036c0: 65 6d 65 6e 74 29 3b 5c 6e 20 20 76 61 72 20 62 ement);\n var b
000036d0: 6f 64 79 20 3d 20 28 5f 65 6c 65 6d 65 6e 74 24 ody = (_element$
000036e0: 6f 77 6e 65 72 44 6f 63 75 6d 65 6e 20 3d 20 65 ownerDocumen = e
000036f0: 6c 65 6d 65 6e 74 2e 6f 77 6e 65 72 44 6f 63 75 lement.ownerDocu
00003700: 6d 65 6e 74 29 20 3d 3d 20 6e 75 6c 6c 20 3f 20 ment) == null ?
00003710: 76 6f 69 64 20 30 20 3a 20 5f 65 6c 65 6d 65 6e void 0 : _elemen
00003720: 74 24 6f 77 6e 65 72 44 6f 63 75 6d 65 6e 2e 62 t$ownerDocumen.b
00003730: 6f 64 79 3b 5c 6e 20 20 76 61 72 20 77 69 64 74 ody;\n var widt
00003740: 68 20 3d 20 6d 61 78 28 68 74 6d 6c 2e 73 63 72 h = max(html.scr
00003750: 6f 6c 6c 57 69 64 74 68 2c 20 68 74 6d 6c 2e 63 ollWidth, html.c
00003760: 6c 69 65 6e 74 57 69 64 74 68 2c 20 62 6f 64 79 lientWidth, body
00003770: 20 3f 20 62 6f 64 79 2e 73 63 72 6f 6c 6c 57 69 ? body.scrollWi
00003780: 64 74 68 20 3a 20 30 2c 20 62 6f 64 79 20 3f 20 dth : 0, body ?
00003790: 62 6f 64 79 2e 63 6c 69 65 6e 74 57 69 64 74 68 body.clientWidth
000037a0: 20 3a 20 30 29 3b 5c 6e 20 20 76 61 72 20 68 65 : 0);\n var he
000037b0: 69 67 68 74 20 3d 20 6d 61 78 28 68 74 6d 6c 2e ight = max(html.
000037c0: 73 63 72 6f 6c 6c 48 65 69 67 68 74 2c 20 68 74 scrollHeight, ht
000037d0: 6d 6c 2e 63 6c 69 65 6e 74 48 65 69 67 68 74 2c ml.clientHeight,
000037e0: 20 62 6f 64 79 20 3f 20 62 6f 64 79 2e 73 63 72 body ? body.scr
000037f0: 6f 6c 6c 48 65 69 67 68 74 20 3a 20 30 2c 20 62 ollHeight : 0, b
00003800: 6f 64 79 20 3f 20 62 6f 64 79 2e 63 6c 69 65 6e ody ? body.clien
00003810: 74 48 65 69 67 68 74 20 3a 20 30 29 3b 5c 6e 20 tHeight : 0);\n
00003820: 20 76 61 72 20 78 20 3d 20 2d 77 69 6e 53 63 72 var x = -winScr
00003830: 6f 6c 6c 2e 73 63 72 6f 6c 6c 4c 65 66 74 20 2b oll.scrollLeft +
00003840: 20 67 65 74 57 69 6e 64 6f 77 53 63 72 6f 6c 6c getWindowScroll
00003850: 42 61 72 58 28 65 6c 65 6d 65 6e 74 29 3b 5c 6e BarX(element);\n
00003860: 20 20 76 61 72 20 79 20 3d 20 2d 77 69 6e 53 63 var y = -winSc
00003870: 72 6f 6c 6c 2e 73 63 72 6f 6c 6c 54 6f 70 3b 5c roll.scrollTop;\
00003880: 6e 5c 6e 20 20 69 66 20 28 67 65 74 43 6f 6d 70 n\n if (getComp
00003890: 75 74 65 64 53 74 79 6c 65 28 62 6f 64 79 20 7c utedStyle(body |
000038a0: 7c 20 68 74 6d 6c 29 2e 64 69 72 65 63 74 69 6f | html).directio
000038b0: 6e 20 3d 3d 3d 20 27 72 74 6c 27 29 20 7b 5c 6e n === 'rtl') {\n
000038c0: 20 20 20 20 78 20 2b 3d 20 6d 61 78 28 68 74 6d x += max(htm
000038d0: 6c 2e 63 6c 69 65 6e 74 57 69 64 74 68 2c 20 62 l.clientWidth, b
000038e0: 6f 64 79 20 3f 20 62 6f 64 79 2e 63 6c 69 65 6e ody ? body.clien
000038f0: 74 57 69 64 74 68 20 3a 20 30 29 20 2d 20 77 69 tWidth : 0) - wi
00003900: 64 74 68 3b 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 72 dth;\n }\n\n r
00003910: 65 74 75 72 6e 20 7b 5c 6e 20 20 20 20 77 69 64 eturn {\n wid
00003920: 74 68 3a 20 77 69 64 74 68 2c 5c 6e 20 20 20 20 th: width,\n
00003930: 68 65 69 67 68 74 3a 20 68 65 69 67 68 74 2c 5c height: height,\
00003940: 6e 20 20 20 20 78 3a 20 78 2c 5c 6e 20 20 20 20 n x: x,\n
00003950: 79 3a 20 79 5c 6e 20 20 7d 3b 5c 6e 7d 22 2c 22 y: y\n };\n}","
00003960: 69 6d 70 6f 72 74 20 67 65 74 42 61 73 65 50 6c import getBasePl
00003970: 61 63 65 6d 65 6e 74 20 66 72 6f 6d 20 5c 22 2e acement from \".
00003980: 2f 67 65 74 42 61 73 65 50 6c 61 63 65 6d 65 6e /getBasePlacemen
00003990: 74 2e 6a 73 5c 22 3b 5c 6e 69 6d 70 6f 72 74 20 t.js\";\nimport
000039a0: 67 65 74 56 61 72 69 61 74 69 6f 6e 20 66 72 6f getVariation fro
000039b0: 6d 20 5c 22 2e 2f 67 65 74 56 61 72 69 61 74 69 m \"./getVariati
000039c0: 6f 6e 2e 6a 73 5c 22 3b 5c 6e 69 6d 70 6f 72 74 on.js\";\nimport
000039d0: 20 67 65 74 4d 61 69 6e 41 78 69 73 46 72 6f 6d getMainAxisFrom
000039e0: 50 6c 61 63 65 6d 65 6e 74 20 66 72 6f 6d 20 5c Placement from \
000039f0: 22 2e 2f 67 65 74 4d 61 69 6e 41 78 69 73 46 72 "./getMainAxisFr
00003a00: 6f 6d 50 6c 61 63 65 6d 65 6e 74 2e 6a 73 5c 22 omPlacement.js\"
00003a10: 3b 5c 6e 69 6d 70 6f 72 74 20 7b 20 74 6f 70 2c ;\nimport { top,
00003a20: 20 72 69 67 68 74 2c 20 62 6f 74 74 6f 6d 2c 20 right, bottom,
00003a30: 6c 65 66 74 2c 20 73 74 61 72 74 2c 20 65 6e 64 left, start, end
00003a40: 20 7d 20 66 72 6f 6d 20 5c 22 2e 2e 2f 65 6e 75 } from \"../enu
00003a50: 6d 73 2e 6a 73 5c 22 3b 5c 6e 65 78 70 6f 72 74 ms.js\";\nexport
00003a60: 20 64 65 66 61 75 6c 74 20 66 75 6e 63 74 69 6f default functio
00003a70: 6e 20 63 6f 6d 70 75 74 65 4f 66 66 73 65 74 73 n computeOffsets
00003a80: 28 5f 72 65 66 29 20 7b 5c 6e 20 20 76 61 72 20 (_ref) {\n var
00003a90: 72 65 66 65 72 65 6e 63 65 20 3d 20 5f 72 65 66 reference = _ref
00003aa0: 2e 72 65 66 65 72 65 6e 63 65 2c 5c 6e 20 20 20 .reference,\n
00003ab0: 20 20 20 65 6c 65 6d 65 6e 74 20 3d 20 5f 72 65 element = _re
00003ac0: 66 2e 65 6c 65 6d 65 6e 74 2c 5c 6e 20 20 20 20 f.element,\n
00003ad0: 20 20 70 6c 61 63 65 6d 65 6e 74 20 3d 20 5f 72 placement = _r
00003ae0: 65 66 2e 70 6c 61 63 65 6d 65 6e 74 3b 5c 6e 20 ef.placement;\n
00003af0: 20 76 61 72 20 62 61 73 65 50 6c 61 63 65 6d 65 var basePlaceme
00003b00: 6e 74 20 3d 20 70 6c 61 63 65 6d 65 6e 74 20 3f nt = placement ?
00003b10: 20 67 65 74 42 61 73 65 50 6c 61 63 65 6d 65 6e getBasePlacemen
00003b20: 74 28 70 6c 61 63 65 6d 65 6e 74 29 20 3a 20 6e t(placement) : n
00003b30: 75 6c 6c 3b 5c 6e 20 20 76 61 72 20 76 61 72 69 ull;\n var vari
00003b40: 61 74 69 6f 6e 20 3d 20 70 6c 61 63 65 6d 65 6e ation = placemen
00003b50: 74 20 3f 20 67 65 74 56 61 72 69 61 74 69 6f 6e t ? getVariation
00003b60: 28 70 6c 61 63 65 6d 65 6e 74 29 20 3a 20 6e 75 (placement) : nu
00003b70: 6c 6c 3b 5c 6e 20 20 76 61 72 20 63 6f 6d 6d 6f ll;\n var commo
00003b80: 6e 58 20 3d 20 72 65 66 65 72 65 6e 63 65 2e 78 nX = reference.x
00003b90: 20 2b 20 72 65 66 65 72 65 6e 63 65 2e 77 69 64 + reference.wid
00003ba0: 74 68 20 2f 20 32 20 2d 20 65 6c 65 6d 65 6e 74 th / 2 - element
00003bb0: 2e 77 69 64 74 68 20 2f 20 32 3b 5c 6e 20 20 76 .width / 2;\n v
00003bc0: 61 72 20 63 6f 6d 6d 6f 6e 59 20 3d 20 72 65 66 ar commonY = ref
00003bd0: 65 72 65 6e 63 65 2e 79 20 2b 20 72 65 66 65 72 erence.y + refer
00003be0: 65 6e 63 65 2e 68 65 69 67 68 74 20 2f 20 32 20 ence.height / 2
00003bf0: 2d 20 65 6c 65 6d 65 6e 74 2e 68 65 69 67 68 74 - element.height
00003c00: 20 2f 20 32 3b 5c 6e 20 20 76 61 72 20 6f 66 66 / 2;\n var off
00003c10: 73 65 74 73 3b 5c 6e 5c 6e 20 20 73 77 69 74 63 sets;\n\n switc
00003c20: 68 20 28 62 61 73 65 50 6c 61 63 65 6d 65 6e 74 h (basePlacement
00003c30: 29 20 7b 5c 6e 20 20 20 20 63 61 73 65 20 74 6f ) {\n case to
00003c40: 70 3a 5c 6e 20 20 20 20 20 20 6f 66 66 73 65 74 p:\n offset
00003c50: 73 20 3d 20 7b 5c 6e 20 20 20 20 20 20 20 20 78 s = {\n x
00003c60: 3a 20 63 6f 6d 6d 6f 6e 58 2c 5c 6e 20 20 20 20 : commonX,\n
00003c70: 20 20 20 20 79 3a 20 72 65 66 65 72 65 6e 63 65 y: reference
00003c80: 2e 79 20 2d 20 65 6c 65 6d 65 6e 74 2e 68 65 69 .y - element.hei
00003c90: 67 68 74 5c 6e 20 20 20 20 20 20 7d 3b 5c 6e 20 ght\n };\n
00003ca0: 20 20 20 20 20 62 72 65 61 6b 3b 5c 6e 5c 6e 20 break;\n\n
00003cb0: 20 20 20 63 61 73 65 20 62 6f 74 74 6f 6d 3a 5c case bottom:\
00003cc0: 6e 20 20 20 20 20 20 6f 66 66 73 65 74 73 20 3d n offsets =
00003cd0: 20 7b 5c 6e 20 20 20 20 20 20 20 20 78 3a 20 63 {\n x: c
00003ce0: 6f 6d 6d 6f 6e 58 2c 5c 6e 20 20 20 20 20 20 20 ommonX,\n
00003cf0: 20 79 3a 20 72 65 66 65 72 65 6e 63 65 2e 79 20 y: reference.y
00003d00: 2b 20 72 65 66 65 72 65 6e 63 65 2e 68 65 69 67 + reference.heig
00003d10: 68 74 5c 6e 20 20 20 20 20 20 7d 3b 5c 6e 20 20 ht\n };\n
00003d20: 20 20 20 20 62 72 65 61 6b 3b 5c 6e 5c 6e 20 20 break;\n\n
00003d30: 20 20 63 61 73 65 20 72 69 67 68 74 3a 5c 6e 20 case right:\n
00003d40: 20 20 20 20 20 6f 66 66 73 65 74 73 20 3d 20 7b offsets = {
00003d50: 5c 6e 20 20 20 20 20 20 20 20 78 3a 20 72 65 66 \n x: ref
00003d60: 65 72 65 6e 63 65 2e 78 20 2b 20 72 65 66 65 72 erence.x + refer
00003d70: 65 6e 63 65 2e 77 69 64 74 68 2c 5c 6e 20 20 20 ence.width,\n
00003d80: 20 20 20 20 20 79 3a 20 63 6f 6d 6d 6f 6e 59 5c y: commonY\
00003d90: 6e 20 20 20 20 20 20 7d 3b 5c 6e 20 20 20 20 20 n };\n
00003da0: 20 62 72 65 61 6b 3b 5c 6e 5c 6e 20 20 20 20 63 break;\n\n c
00003db0: 61 73 65 20 6c 65 66 74 3a 5c 6e 20 20 20 20 20 ase left:\n
00003dc0: 20 6f 66 66 73 65 74 73 20 3d 20 7b 5c 6e 20 20 offsets = {\n
00003dd0: 20 20 20 20 20 20 78 3a 20 72 65 66 65 72 65 6e x: referen
00003de0: 63 65 2e 78 20 2d 20 65 6c 65 6d 65 6e 74 2e 77 ce.x - element.w
00003df0: 69 64 74 68 2c 5c 6e 20 20 20 20 20 20 20 20 79 idth,\n y
00003e00: 3a 20 63 6f 6d 6d 6f 6e 59 5c 6e 20 20 20 20 20 : commonY\n
00003e10: 20 7d 3b 5c 6e 20 20 20 20 20 20 62 72 65 61 6b };\n break
00003e20: 3b 5c 6e 5c 6e 20 20 20 20 64 65 66 61 75 6c 74 ;\n\n default
00003e30: 3a 5c 6e 20 20 20 20 20 20 6f 66 66 73 65 74 73 :\n offsets
00003e40: 20 3d 20 7b 5c 6e 20 20 20 20 20 20 20 20 78 3a = {\n x:
00003e50: 20 72 65 66 65 72 65 6e 63 65 2e 78 2c 5c 6e 20 reference.x,\n
00003e60: 20 20 20 20 20 20 20 79 3a 20 72 65 66 65 72 65 y: refere
00003e70: 6e 63 65 2e 79 5c 6e 20 20 20 20 20 20 7d 3b 5c nce.y\n };\
00003e80: 6e 20 20 7d 5c 6e 5c 6e 20 20 76 61 72 20 6d 61 n }\n\n var ma
00003e90: 69 6e 41 78 69 73 20 3d 20 62 61 73 65 50 6c 61 inAxis = basePla
00003ea0: 63 65 6d 65 6e 74 20 3f 20 67 65 74 4d 61 69 6e cement ? getMain
00003eb0: 41 78 69 73 46 72 6f 6d 50 6c 61 63 65 6d 65 6e AxisFromPlacemen
00003ec0: 74 28 62 61 73 65 50 6c 61 63 65 6d 65 6e 74 29 t(basePlacement)
00003ed0: 20 3a 20 6e 75 6c 6c 3b 5c 6e 5c 6e 20 20 69 66 : null;\n\n if
00003ee0: 20 28 6d 61 69 6e 41 78 69 73 20 21 3d 20 6e 75 (mainAxis != nu
00003ef0: 6c 6c 29 20 7b 5c 6e 20 20 20 20 76 61 72 20 6c ll) {\n var l
00003f00: 65 6e 20 3d 20 6d 61 69 6e 41 78 69 73 20 3d 3d en = mainAxis ==
00003f10: 3d 20 27 79 27 20 3f 20 27 68 65 69 67 68 74 27 = 'y' ? 'height'
00003f20: 20 3a 20 27 77 69 64 74 68 27 3b 5c 6e 5c 6e 20 : 'width';\n\n
00003f30: 20 20 20 73 77 69 74 63 68 20 28 76 61 72 69 61 switch (varia
00003f40: 74 69 6f 6e 29 20 7b 5c 6e 20 20 20 20 20 20 63 tion) {\n c
00003f50: 61 73 65 20 73 74 61 72 74 3a 5c 6e 20 20 20 20 ase start:\n
00003f60: 20 20 20 20 6f 66 66 73 65 74 73 5b 6d 61 69 6e offsets[main
00003f70: 41 78 69 73 5d 20 3d 20 6f 66 66 73 65 74 73 5b Axis] = offsets[
00003f80: 6d 61 69 6e 41 78 69 73 5d 20 2d 20 28 72 65 66 mainAxis] - (ref
00003f90: 65 72 65 6e 63 65 5b 6c 65 6e 5d 20 2f 20 32 20 erence[len] / 2
00003fa0: 2d 20 65 6c 65 6d 65 6e 74 5b 6c 65 6e 5d 20 2f - element[len] /
00003fb0: 20 32 29 3b 5c 6e 20 20 20 20 20 20 20 20 62 72 2);\n br
00003fc0: 65 61 6b 3b 5c 6e 5c 6e 20 20 20 20 20 20 63 61 eak;\n\n ca
00003fd0: 73 65 20 65 6e 64 3a 5c 6e 20 20 20 20 20 20 20 se end:\n
00003fe0: 20 6f 66 66 73 65 74 73 5b 6d 61 69 6e 41 78 69 offsets[mainAxi
00003ff0: 73 5d 20 3d 20 6f 66 66 73 65 74 73 5b 6d 61 69 s] = offsets[mai
00004000: 6e 41 78 69 73 5d 20 2b 20 28 72 65 66 65 72 65 nAxis] + (refere
00004010: 6e 63 65 5b 6c 65 6e 5d 20 2f 20 32 20 2d 20 65 nce[len] / 2 - e
00004020: 6c 65 6d 65 6e 74 5b 6c 65 6e 5d 20 2f 20 32 29 lement[len] / 2)
00004030: 3b 5c 6e 20 20 20 20 20 20 20 20 62 72 65 61 6b ;\n break
00004040: 3b 5c 6e 5c 6e 20 20 20 20 20 20 64 65 66 61 75 ;\n\n defau
00004050: 6c 74 3a 5c 6e 20 20 20 20 7d 5c 6e 20 20 7d 5c lt:\n }\n }\
00004060: 6e 5c 6e 20 20 72 65 74 75 72 6e 20 6f 66 66 73 n\n return offs
00004070: 65 74 73 3b 5c 6e 7d 22 2c 22 69 6d 70 6f 72 74 ets;\n}","import
00004080: 20 67 65 74 43 6c 69 70 70 69 6e 67 52 65 63 74 getClippingRect
00004090: 20 66 72 6f 6d 20 5c 22 2e 2e 2f 64 6f 6d 2d 75 from \"../dom-u
000040a0: 74 69 6c 73 2f 67 65 74 43 6c 69 70 70 69 6e 67 tils/getClipping
000040b0: 52 65 63 74 2e 6a 73 5c 22 3b 5c 6e 69 6d 70 6f Rect.js\";\nimpo
000040c0: 72 74 20 67 65 74 44 6f 63 75 6d 65 6e 74 45 6c rt getDocumentEl
000040d0: 65 6d 65 6e 74 20 66 72 6f 6d 20 5c 22 2e 2e 2f ement from \"../
000040e0: 64 6f 6d 2d 75 74 69 6c 73 2f 67 65 74 44 6f 63 dom-utils/getDoc
000040f0: 75 6d 65 6e 74 45 6c 65 6d 65 6e 74 2e 6a 73 5c umentElement.js\
00004100: 22 3b 5c 6e 69 6d 70 6f 72 74 20 67 65 74 42 6f ";\nimport getBo
00004110: 75 6e 64 69 6e 67 43 6c 69 65 6e 74 52 65 63 74 undingClientRect
00004120: 20 66 72 6f 6d 20 5c 22 2e 2e 2f 64 6f 6d 2d 75 from \"../dom-u
00004130: 74 69 6c 73 2f 67 65 74 42 6f 75 6e 64 69 6e 67 tils/getBounding
00004140: 43 6c 69 65 6e 74 52 65 63 74 2e 6a 73 5c 22 3b ClientRect.js\";
00004150: 5c 6e 69 6d 70 6f 72 74 20 63 6f 6d 70 75 74 65 \nimport compute
00004160: 4f 66 66 73 65 74 73 20 66 72 6f 6d 20 5c 22 2e Offsets from \".
00004170: 2f 63 6f 6d 70 75 74 65 4f 66 66 73 65 74 73 2e /computeOffsets.
00004180: 6a 73 5c 22 3b 5c 6e 69 6d 70 6f 72 74 20 72 65 js\";\nimport re
00004190: 63 74 54 6f 43 6c 69 65 6e 74 52 65 63 74 20 66 ctToClientRect f
000041a0: 72 6f 6d 20 5c 22 2e 2f 72 65 63 74 54 6f 43 6c rom \"./rectToCl
000041b0: 69 65 6e 74 52 65 63 74 2e 6a 73 5c 22 3b 5c 6e ientRect.js\";\n
000041c0: 69 6d 70 6f 72 74 20 7b 20 63 6c 69 70 70 69 6e import { clippin
000041d0: 67 50 61 72 65 6e 74 73 2c 20 72 65 66 65 72 65 gParents, refere
000041e0: 6e 63 65 2c 20 70 6f 70 70 65 72 2c 20 62 6f 74 nce, popper, bot
000041f0: 74 6f 6d 2c 20 74 6f 70 2c 20 72 69 67 68 74 2c tom, top, right,
00004200: 20 62 61 73 65 50 6c 61 63 65 6d 65 6e 74 73 2c basePlacements,
00004210: 20 76 69 65 77 70 6f 72 74 20 7d 20 66 72 6f 6d viewport } from
00004220: 20 5c 22 2e 2e 2f 65 6e 75 6d 73 2e 6a 73 5c 22 \"../enums.js\"
00004230: 3b 5c 6e 69 6d 70 6f 72 74 20 7b 20 69 73 45 6c ;\nimport { isEl
00004240: 65 6d 65 6e 74 20 7d 20 66 72 6f 6d 20 5c 22 2e ement } from \".
00004250: 2e 2f 64 6f 6d 2d 75 74 69 6c 73 2f 69 6e 73 74 ./dom-utils/inst
00004260: 61 6e 63 65 4f 66 2e 6a 73 5c 22 3b 5c 6e 69 6d anceOf.js\";\nim
00004270: 70 6f 72 74 20 6d 65 72 67 65 50 61 64 64 69 6e port mergePaddin
00004280: 67 4f 62 6a 65 63 74 20 66 72 6f 6d 20 5c 22 2e gObject from \".
00004290: 2f 6d 65 72 67 65 50 61 64 64 69 6e 67 4f 62 6a /mergePaddingObj
000042a0: 65 63 74 2e 6a 73 5c 22 3b 5c 6e 69 6d 70 6f 72 ect.js\";\nimpor
000042b0: 74 20 65 78 70 61 6e 64 54 6f 48 61 73 68 4d 61 t expandToHashMa
000042c0: 70 20 66 72 6f 6d 20 5c 22 2e 2f 65 78 70 61 6e p from \"./expan
000042d0: 64 54 6f 48 61 73 68 4d 61 70 2e 6a 73 5c 22 3b dToHashMap.js\";
000042e0: 20 2f 2f 20 65 73 6c 69 6e 74 2d 64 69 73 61 62 // eslint-disab
000042f0: 6c 65 2d 6e 65 78 74 2d 6c 69 6e 65 20 69 6d 70 le-next-line imp
00004300: 6f 72 74 2f 6e 6f 2d 75 6e 75 73 65 64 2d 6d 6f ort/no-unused-mo
00004310: 64 75 6c 65 73 5c 6e 5c 6e 65 78 70 6f 72 74 20 dules\n\nexport
00004320: 64 65 66 61 75 6c 74 20 66 75 6e 63 74 69 6f 6e default function
00004330: 20 64 65 74 65 63 74 4f 76 65 72 66 6c 6f 77 28 detectOverflow(
00004340: 73 74 61 74 65 2c 20 6f 70 74 69 6f 6e 73 29 20 state, options)
00004350: 7b 5c 6e 20 20 69 66 20 28 6f 70 74 69 6f 6e 73 {\n if (options
00004360: 20 3d 3d 3d 20 76 6f 69 64 20 30 29 20 7b 5c 6e === void 0) {\n
00004370: 20 20 20 20 6f 70 74 69 6f 6e 73 20 3d 20 7b 7d options = {}
00004380: 3b 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 76 61 72 20 ;\n }\n\n var
00004390: 5f 6f 70 74 69 6f 6e 73 20 3d 20 6f 70 74 69 6f _options = optio
000043a0: 6e 73 2c 5c 6e 20 20 20 20 20 20 5f 6f 70 74 69 ns,\n _opti
000043b0: 6f 6e 73 24 70 6c 61 63 65 6d 65 6e 74 20 3d 20 ons$placement =
000043c0: 5f 6f 70 74 69 6f 6e 73 2e 70 6c 61 63 65 6d 65 _options.placeme
000043d0: 6e 74 2c 5c 6e 20 20 20 20 20 20 70 6c 61 63 65 nt,\n place
000043e0: 6d 65 6e 74 20 3d 20 5f 6f 70 74 69 6f 6e 73 24 ment = _options$
000043f0: 70 6c 61 63 65 6d 65 6e 74 20 3d 3d 3d 20 76 6f placement === vo
00004400: 69 64 20 30 20 3f 20 73 74 61 74 65 2e 70 6c 61 id 0 ? state.pla
00004410: 63 65 6d 65 6e 74 20 3a 20 5f 6f 70 74 69 6f 6e cement : _option
00004420: 73 24 70 6c 61 63 65 6d 65 6e 74 2c 5c 6e 20 20 s$placement,\n
00004430: 20 20 20 20 5f 6f 70 74 69 6f 6e 73 24 73 74 72 _options$str
00004440: 61 74 65 67 79 20 3d 20 5f 6f 70 74 69 6f 6e 73 ategy = _options
00004450: 2e 73 74 72 61 74 65 67 79 2c 5c 6e 20 20 20 20 .strategy,\n
00004460: 20 20 73 74 72 61 74 65 67 79 20 3d 20 5f 6f 70 strategy = _op
00004470: 74 69 6f 6e 73 24 73 74 72 61 74 65 67 79 20 3d tions$strategy =
00004480: 3d 3d 20 76 6f 69 64 20 30 20 3f 20 73 74 61 74 == void 0 ? stat
00004490: 65 2e 73 74 72 61 74 65 67 79 20 3a 20 5f 6f 70 e.strategy : _op
000044a0: 74 69 6f 6e 73 24 73 74 72 61 74 65 67 79 2c 5c tions$strategy,\
000044b0: 6e 20 20 20 20 20 20 5f 6f 70 74 69 6f 6e 73 24 n _options$
000044c0: 62 6f 75 6e 64 61 72 79 20 3d 20 5f 6f 70 74 69 boundary = _opti
000044d0: 6f 6e 73 2e 62 6f 75 6e 64 61 72 79 2c 5c 6e 20 ons.boundary,\n
000044e0: 20 20 20 20 20 62 6f 75 6e 64 61 72 79 20 3d 20 boundary =
000044f0: 5f 6f 70 74 69 6f 6e 73 24 62 6f 75 6e 64 61 72 _options$boundar
00004500: 79 20 3d 3d 3d 20 76 6f 69 64 20 30 20 3f 20 63 y === void 0 ? c
00004510: 6c 69 70 70 69 6e 67 50 61 72 65 6e 74 73 20 3a lippingParents :
00004520: 20 5f 6f 70 74 69 6f 6e 73 24 62 6f 75 6e 64 61 _options$bounda
00004530: 72 79 2c 5c 6e 20 20 20 20 20 20 5f 6f 70 74 69 ry,\n _opti
00004540: 6f 6e 73 24 72 6f 6f 74 42 6f 75 6e 64 61 72 79 ons$rootBoundary
00004550: 20 3d 20 5f 6f 70 74 69 6f 6e 73 2e 72 6f 6f 74 = _options.root
00004560: 42 6f 75 6e 64 61 72 79 2c 5c 6e 20 20 20 20 20 Boundary,\n
00004570: 20 72 6f 6f 74 42 6f 75 6e 64 61 72 79 20 3d 20 rootBoundary =
00004580: 5f 6f 70 74 69 6f 6e 73 24 72 6f 6f 74 42 6f 75 _options$rootBou
00004590: 6e 64 61 72 79 20 3d 3d 3d 20 76 6f 69 64 20 30 ndary === void 0
000045a0: 20 3f 20 76 69 65 77 70 6f 72 74 20 3a 20 5f 6f ? viewport : _o
000045b0: 70 74 69 6f 6e 73 24 72 6f 6f 74 42 6f 75 6e 64 ptions$rootBound
000045c0: 61 72 79 2c 5c 6e 20 20 20 20 20 20 5f 6f 70 74 ary,\n _opt
000045d0: 69 6f 6e 73 24 65 6c 65 6d 65 6e 74 43 6f 6e 74 ions$elementCont
000045e0: 65 20 3d 20 5f 6f 70 74 69 6f 6e 73 2e 65 6c 65 e = _options.ele
000045f0: 6d 65 6e 74 43 6f 6e 74 65 78 74 2c 5c 6e 20 20 mentContext,\n
00004600: 20 20 20 20 65 6c 65 6d 65 6e 74 43 6f 6e 74 65 elementConte
00004610: 78 74 20 3d 20 5f 6f 70 74 69 6f 6e 73 24 65 6c xt = _options$el
00004620: 65 6d 65 6e 74 43 6f 6e 74 65 20 3d 3d 3d 20 76 ementConte === v
00004630: 6f 69 64 20 30 20 3f 20 70 6f 70 70 65 72 20 3a oid 0 ? popper :
00004640: 20 5f 6f 70 74 69 6f 6e 73 24 65 6c 65 6d 65 6e _options$elemen
00004650: 74 43 6f 6e 74 65 2c 5c 6e 20 20 20 20 20 20 5f tConte,\n _
00004660: 6f 70 74 69 6f 6e 73 24 61 6c 74 42 6f 75 6e 64 options$altBound
00004670: 61 72 79 20 3d 20 5f 6f 70 74 69 6f 6e 73 2e 61 ary = _options.a
00004680: 6c 74 42 6f 75 6e 64 61 72 79 2c 5c 6e 20 20 20 ltBoundary,\n
00004690: 20 20 20 61 6c 74 42 6f 75 6e 64 61 72 79 20 3d altBoundary =
000046a0: 20 5f 6f 70 74 69 6f 6e 73 24 61 6c 74 42 6f 75 _options$altBou
000046b0: 6e 64 61 72 79 20 3d 3d 3d 20 76 6f 69 64 20 30 ndary === void 0
000046c0: 20 3f 20 66 61 6c 73 65 20 3a 20 5f 6f 70 74 69 ? false : _opti
000046d0: 6f 6e 73 24 61 6c 74 42 6f 75 6e 64 61 72 79 2c ons$altBoundary,
000046e0: 5c 6e 20 20 20 20 20 20 5f 6f 70 74 69 6f 6e 73 \n _options
000046f0: 24 70 61 64 64 69 6e 67 20 3d 20 5f 6f 70 74 69 $padding = _opti
00004700: 6f 6e 73 2e 70 61 64 64 69 6e 67 2c 5c 6e 20 20 ons.padding,\n
00004710: 20 20 20 20 70 61 64 64 69 6e 67 20 3d 20 5f 6f padding = _o
00004720: 70 74 69 6f 6e 73 24 70 61 64 64 69 6e 67 20 3d ptions$padding =
00004730: 3d 3d 20 76 6f 69 64 20 30 20 3f 20 30 20 3a 20 == void 0 ? 0 :
00004740: 5f 6f 70 74 69 6f 6e 73 24 70 61 64 64 69 6e 67 _options$padding
00004750: 3b 5c 6e 20 20 76 61 72 20 70 61 64 64 69 6e 67 ;\n var padding
00004760: 4f 62 6a 65 63 74 20 3d 20 6d 65 72 67 65 50 61 Object = mergePa
00004770: 64 64 69 6e 67 4f 62 6a 65 63 74 28 74 79 70 65 ddingObject(type
00004780: 6f 66 20 70 61 64 64 69 6e 67 20 21 3d 3d 20 27 of padding !== '
00004790: 6e 75 6d 62 65 72 27 20 3f 20 70 61 64 64 69 6e number' ? paddin
000047a0: 67 20 3a 20 65 78 70 61 6e 64 54 6f 48 61 73 68 g : expandToHash
000047b0: 4d 61 70 28 70 61 64 64 69 6e 67 2c 20 62 61 73 Map(padding, bas
000047c0: 65 50 6c 61 63 65 6d 65 6e 74 73 29 29 3b 5c 6e ePlacements));\n
000047d0: 20 20 76 61 72 20 61 6c 74 43 6f 6e 74 65 78 74 var altContext
000047e0: 20 3d 20 65 6c 65 6d 65 6e 74 43 6f 6e 74 65 78 = elementContex
000047f0: 74 20 3d 3d 3d 20 70 6f 70 70 65 72 20 3f 20 72 t === popper ? r
00004800: 65 66 65 72 65 6e 63 65 20 3a 20 70 6f 70 70 65 eference : poppe
00004810: 72 3b 5c 6e 20 20 76 61 72 20 70 6f 70 70 65 72 r;\n var popper
00004820: 52 65 63 74 20 3d 20 73 74 61 74 65 2e 72 65 63 Rect = state.rec
00004830: 74 73 2e 70 6f 70 70 65 72 3b 5c 6e 20 20 76 61 ts.popper;\n va
00004840: 72 20 65 6c 65 6d 65 6e 74 20 3d 20 73 74 61 74 r element = stat
00004850: 65 2e 65 6c 65 6d 65 6e 74 73 5b 61 6c 74 42 6f e.elements[altBo
00004860: 75 6e 64 61 72 79 20 3f 20 61 6c 74 43 6f 6e 74 undary ? altCont
00004870: 65 78 74 20 3a 20 65 6c 65 6d 65 6e 74 43 6f 6e ext : elementCon
00004880: 74 65 78 74 5d 3b 5c 6e 20 20 76 61 72 20 63 6c text];\n var cl
00004890: 69 70 70 69 6e 67 43 6c 69 65 6e 74 52 65 63 74 ippingClientRect
000048a0: 20 3d 20 67 65 74 43 6c 69 70 70 69 6e 67 52 65 = getClippingRe
000048b0: 63 74 28 69 73 45 6c 65 6d 65 6e 74 28 65 6c 65 ct(isElement(ele
000048c0: 6d 65 6e 74 29 20 3f 20 65 6c 65 6d 65 6e 74 20 ment) ? element
000048d0: 3a 20 65 6c 65 6d 65 6e 74 2e 63 6f 6e 74 65 78 : element.contex
000048e0: 74 45 6c 65 6d 65 6e 74 20 7c 7c 20 67 65 74 44 tElement || getD
000048f0: 6f 63 75 6d 65 6e 74 45 6c 65 6d 65 6e 74 28 73 ocumentElement(s
00004900: 74 61 74 65 2e 65 6c 65 6d 65 6e 74 73 2e 70 6f tate.elements.po
00004910: 70 70 65 72 29 2c 20 62 6f 75 6e 64 61 72 79 2c pper), boundary,
00004920: 20 72 6f 6f 74 42 6f 75 6e 64 61 72 79 2c 20 73 rootBoundary, s
00004930: 74 72 61 74 65 67 79 29 3b 5c 6e 20 20 76 61 72 trategy);\n var
00004940: 20 72 65 66 65 72 65 6e 63 65 43 6c 69 65 6e 74 referenceClient
00004950: 52 65 63 74 20 3d 20 67 65 74 42 6f 75 6e 64 69 Rect = getBoundi
00004960: 6e 67 43 6c 69 65 6e 74 52 65 63 74 28 73 74 61 ngClientRect(sta
00004970: 74 65 2e 65 6c 65 6d 65 6e 74 73 2e 72 65 66 65 te.elements.refe
00004980: 72 65 6e 63 65 29 3b 5c 6e 20 20 76 61 72 20 70 rence);\n var p
00004990: 6f 70 70 65 72 4f 66 66 73 65 74 73 20 3d 20 63 opperOffsets = c
000049a0: 6f 6d 70 75 74 65 4f 66 66 73 65 74 73 28 7b 5c omputeOffsets({\
000049b0: 6e 20 20 20 20 72 65 66 65 72 65 6e 63 65 3a 20 n reference:
000049c0: 72 65 66 65 72 65 6e 63 65 43 6c 69 65 6e 74 52 referenceClientR
000049d0: 65 63 74 2c 5c 6e 20 20 20 20 65 6c 65 6d 65 6e ect,\n elemen
000049e0: 74 3a 20 70 6f 70 70 65 72 52 65 63 74 2c 5c 6e t: popperRect,\n
000049f0: 20 20 20 20 73 74 72 61 74 65 67 79 3a 20 27 61 strategy: 'a
00004a00: 62 73 6f 6c 75 74 65 27 2c 5c 6e 20 20 20 20 70 bsolute',\n p
00004a10: 6c 61 63 65 6d 65 6e 74 3a 20 70 6c 61 63 65 6d lacement: placem
00004a20: 65 6e 74 5c 6e 20 20 7d 29 3b 5c 6e 20 20 76 61 ent\n });\n va
00004a30: 72 20 70 6f 70 70 65 72 43 6c 69 65 6e 74 52 65 r popperClientRe
00004a40: 63 74 20 3d 20 72 65 63 74 54 6f 43 6c 69 65 6e ct = rectToClien
00004a50: 74 52 65 63 74 28 4f 62 6a 65 63 74 2e 61 73 73 tRect(Object.ass
00004a60: 69 67 6e 28 7b 7d 2c 20 70 6f 70 70 65 72 52 65 ign({}, popperRe
00004a70: 63 74 2c 20 70 6f 70 70 65 72 4f 66 66 73 65 74 ct, popperOffset
00004a80: 73 29 29 3b 5c 6e 20 20 76 61 72 20 65 6c 65 6d s));\n var elem
00004a90: 65 6e 74 43 6c 69 65 6e 74 52 65 63 74 20 3d 20 entClientRect =
00004aa0: 65 6c 65 6d 65 6e 74 43 6f 6e 74 65 78 74 20 3d elementContext =
00004ab0: 3d 3d 20 70 6f 70 70 65 72 20 3f 20 70 6f 70 70 == popper ? popp
00004ac0: 65 72 43 6c 69 65 6e 74 52 65 63 74 20 3a 20 72 erClientRect : r
00004ad0: 65 66 65 72 65 6e 63 65 43 6c 69 65 6e 74 52 65 eferenceClientRe
00004ae0: 63 74 3b 20 2f 2f 20 70 6f 73 69 74 69 76 65 20 ct; // positive
00004af0: 3d 20 6f 76 65 72 66 6c 6f 77 69 6e 67 20 74 68 = overflowing th
00004b00: 65 20 63 6c 69 70 70 69 6e 67 20 72 65 63 74 5c e clipping rect\
00004b10: 6e 20 20 2f 2f 20 30 20 6f 72 20 6e 65 67 61 74 n // 0 or negat
00004b20: 69 76 65 20 3d 20 77 69 74 68 69 6e 20 74 68 65 ive = within the
00004b30: 20 63 6c 69 70 70 69 6e 67 20 72 65 63 74 5c 6e clipping rect\n
00004b40: 5c 6e 20 20 76 61 72 20 6f 76 65 72 66 6c 6f 77 \n var overflow
00004b50: 4f 66 66 73 65 74 73 20 3d 20 7b 5c 6e 20 20 20 Offsets = {\n
00004b60: 20 74 6f 70 3a 20 63 6c 69 70 70 69 6e 67 43 6c top: clippingCl
00004b70: 69 65 6e 74 52 65 63 74 2e 74 6f 70 20 2d 20 65 ientRect.top - e
00004b80: 6c 65 6d 65 6e 74 43 6c 69 65 6e 74 52 65 63 74 lementClientRect
00004b90: 2e 74 6f 70 20 2b 20 70 61 64 64 69 6e 67 4f 62 .top + paddingOb
00004ba0: 6a 65 63 74 2e 74 6f 70 2c 5c 6e 20 20 20 20 62 ject.top,\n b
00004bb0: 6f 74 74 6f 6d 3a 20 65 6c 65 6d 65 6e 74 43 6c ottom: elementCl
00004bc0: 69 65 6e 74 52 65 63 74 2e 62 6f 74 74 6f 6d 20 ientRect.bottom
00004bd0: 2d 20 63 6c 69 70 70 69 6e 67 43 6c 69 65 6e 74 - clippingClient
00004be0: 52 65 63 74 2e 62 6f 74 74 6f 6d 20 2b 20 70 61 Rect.bottom + pa
00004bf0: 64 64 69 6e 67 4f 62 6a 65 63 74 2e 62 6f 74 74 ddingObject.bott
00004c00: 6f 6d 2c 5c 6e 20 20 20 20 6c 65 66 74 3a 20 63 om,\n left: c
00004c10: 6c 69 70 70 69 6e 67 43 6c 69 65 6e 74 52 65 63 lippingClientRec
00004c20: 74 2e 6c 65 66 74 20 2d 20 65 6c 65 6d 65 6e 74 t.left - element
00004c30: 43 6c 69 65 6e 74 52 65 63 74 2e 6c 65 66 74 20 ClientRect.left
00004c40: 2b 20 70 61 64 64 69 6e 67 4f 62 6a 65 63 74 2e + paddingObject.
00004c50: 6c 65 66 74 2c 5c 6e 20 20 20 20 72 69 67 68 74 left,\n right
00004c60: 3a 20 65 6c 65 6d 65 6e 74 43 6c 69 65 6e 74 52 : elementClientR
00004c70: 65 63 74 2e 72 69 67 68 74 20 2d 20 63 6c 69 70 ect.right - clip
00004c80: 70 69 6e 67 43 6c 69 65 6e 74 52 65 63 74 2e 72 pingClientRect.r
00004c90: 69 67 68 74 20 2b 20 70 61 64 64 69 6e 67 4f 62 ight + paddingOb
00004ca0: 6a 65 63 74 2e 72 69 67 68 74 5c 6e 20 20 7d 3b ject.right\n };
00004cb0: 5c 6e 20 20 76 61 72 20 6f 66 66 73 65 74 44 61 \n var offsetDa
00004cc0: 74 61 20 3d 20 73 74 61 74 65 2e 6d 6f 64 69 66 ta = state.modif
00004cd0: 69 65 72 73 44 61 74 61 2e 6f 66 66 73 65 74 3b iersData.offset;
00004ce0: 20 2f 2f 20 4f 66 66 73 65 74 73 20 63 61 6e 20 // Offsets can
00004cf0: 62 65 20 61 70 70 6c 69 65 64 20 6f 6e 6c 79 20 be applied only
00004d00: 74 6f 20 74 68 65 20 70 6f 70 70 65 72 20 65 6c to the popper el
00004d10: 65 6d 65 6e 74 5c 6e 5c 6e 20 20 69 66 20 28 65 ement\n\n if (e
00004d20: 6c 65 6d 65 6e 74 43 6f 6e 74 65 78 74 20 3d 3d lementContext ==
00004d30: 3d 20 70 6f 70 70 65 72 20 26 26 20 6f 66 66 73 = popper && offs
00004d40: 65 74 44 61 74 61 29 20 7b 5c 6e 20 20 20 20 76 etData) {\n v
00004d50: 61 72 20 6f 66 66 73 65 74 20 3d 20 6f 66 66 73 ar offset = offs
00004d60: 65 74 44 61 74 61 5b 70 6c 61 63 65 6d 65 6e 74 etData[placement
00004d70: 5d 3b 5c 6e 20 20 20 20 4f 62 6a 65 63 74 2e 6b ];\n Object.k
00004d80: 65 79 73 28 6f 76 65 72 66 6c 6f 77 4f 66 66 73 eys(overflowOffs
00004d90: 65 74 73 29 2e 66 6f 72 45 61 63 68 28 66 75 6e ets).forEach(fun
00004da0: 63 74 69 6f 6e 20 28 6b 65 79 29 20 7b 5c 6e 20 ction (key) {\n
00004db0: 20 20 20 20 20 76 61 72 20 6d 75 6c 74 69 70 6c var multipl
00004dc0: 79 20 3d 20 5b 72 69 67 68 74 2c 20 62 6f 74 74 y = [right, bott
00004dd0: 6f 6d 5d 2e 69 6e 64 65 78 4f 66 28 6b 65 79 29 om].indexOf(key)
00004de0: 20 3e 3d 20 30 20 3f 20 31 20 3a 20 2d 31 3b 5c >= 0 ? 1 : -1;\
00004df0: 6e 20 20 20 20 20 20 76 61 72 20 61 78 69 73 20 n var axis
00004e00: 3d 20 5b 74 6f 70 2c 20 62 6f 74 74 6f 6d 5d 2e = [top, bottom].
00004e10: 69 6e 64 65 78 4f 66 28 6b 65 79 29 20 3e 3d 20 indexOf(key) >=
00004e20: 30 20 3f 20 27 79 27 20 3a 20 27 78 27 3b 5c 6e 0 ? 'y' : 'x';\n
00004e30: 20 20 20 20 20 20 6f 76 65 72 66 6c 6f 77 4f 66 overflowOf
00004e40: 66 73 65 74 73 5b 6b 65 79 5d 20 2b 3d 20 6f 66 fsets[key] += of
00004e50: 66 73 65 74 5b 61 78 69 73 5d 20 2a 20 6d 75 6c fset[axis] * mul
00004e60: 74 69 70 6c 79 3b 5c 6e 20 20 20 20 7d 29 3b 5c tiply;\n });\
00004e70: 6e 20 20 7d 5c 6e 5c 6e 20 20 72 65 74 75 72 6e n }\n\n return
00004e80: 20 6f 76 65 72 66 6c 6f 77 4f 66 66 73 65 74 73 overflowOffsets
00004e90: 3b 5c 6e 7d 22 2c 22 69 6d 70 6f 72 74 20 67 65 ;\n}","import ge
00004ea0: 74 56 61 72 69 61 74 69 6f 6e 20 66 72 6f 6d 20 tVariation from
00004eb0: 5c 22 2e 2f 67 65 74 56 61 72 69 61 74 69 6f 6e \"./getVariation
00004ec0: 2e 6a 73 5c 22 3b 5c 6e 69 6d 70 6f 72 74 20 7b .js\";\nimport {
00004ed0: 20 76 61 72 69 61 74 69 6f 6e 50 6c 61 63 65 6d variationPlacem
00004ee0: 65 6e 74 73 2c 20 62 61 73 65 50 6c 61 63 65 6d ents, basePlacem
00004ef0: 65 6e 74 73 2c 20 70 6c 61 63 65 6d 65 6e 74 73 ents, placements
00004f00: 20 61 73 20 61 6c 6c 50 6c 61 63 65 6d 65 6e 74 as allPlacement
00004f10: 73 20 7d 20 66 72 6f 6d 20 5c 22 2e 2e 2f 65 6e s } from \"../en
00004f20: 75 6d 73 2e 6a 73 5c 22 3b 5c 6e 69 6d 70 6f 72 ums.js\";\nimpor
00004f30: 74 20 64 65 74 65 63 74 4f 76 65 72 66 6c 6f 77 t detectOverflow
00004f40: 20 66 72 6f 6d 20 5c 22 2e 2f 64 65 74 65 63 74 from \"./detect
00004f50: 4f 76 65 72 66 6c 6f 77 2e 6a 73 5c 22 3b 5c 6e Overflow.js\";\n
00004f60: 69 6d 70 6f 72 74 20 67 65 74 42 61 73 65 50 6c import getBasePl
00004f70: 61 63 65 6d 65 6e 74 20 66 72 6f 6d 20 5c 22 2e acement from \".
00004f80: 2f 67 65 74 42 61 73 65 50 6c 61 63 65 6d 65 6e /getBasePlacemen
00004f90: 74 2e 6a 73 5c 22 3b 5c 6e 65 78 70 6f 72 74 20 t.js\";\nexport
00004fa0: 64 65 66 61 75 6c 74 20 66 75 6e 63 74 69 6f 6e default function
00004fb0: 20 63 6f 6d 70 75 74 65 41 75 74 6f 50 6c 61 63 computeAutoPlac
00004fc0: 65 6d 65 6e 74 28 73 74 61 74 65 2c 20 6f 70 74 ement(state, opt
00004fd0: 69 6f 6e 73 29 20 7b 5c 6e 20 20 69 66 20 28 6f ions) {\n if (o
00004fe0: 70 74 69 6f 6e 73 20 3d 3d 3d 20 76 6f 69 64 20 ptions === void
00004ff0: 30 29 20 7b 5c 6e 20 20 20 20 6f 70 74 69 6f 6e 0) {\n option
00005000: 73 20 3d 20 7b 7d 3b 5c 6e 20 20 7d 5c 6e 5c 6e s = {};\n }\n\n
00005010: 20 20 76 61 72 20 5f 6f 70 74 69 6f 6e 73 20 3d var _options =
00005020: 20 6f 70 74 69 6f 6e 73 2c 5c 6e 20 20 20 20 20 options,\n
00005030: 20 70 6c 61 63 65 6d 65 6e 74 20 3d 20 5f 6f 70 placement = _op
00005040: 74 69 6f 6e 73 2e 70 6c 61 63 65 6d 65 6e 74 2c tions.placement,
00005050: 5c 6e 20 20 20 20 20 20 62 6f 75 6e 64 61 72 79 \n boundary
00005060: 20 3d 20 5f 6f 70 74 69 6f 6e 73 2e 62 6f 75 6e = _options.boun
00005070: 64 61 72 79 2c 5c 6e 20 20 20 20 20 20 72 6f 6f dary,\n roo
00005080: 74 42 6f 75 6e 64 61 72 79 20 3d 20 5f 6f 70 74 tBoundary = _opt
00005090: 69 6f 6e 73 2e 72 6f 6f 74 42 6f 75 6e 64 61 72 ions.rootBoundar
000050a0: 79 2c 5c 6e 20 20 20 20 20 20 70 61 64 64 69 6e y,\n paddin
000050b0: 67 20 3d 20 5f 6f 70 74 69 6f 6e 73 2e 70 61 64 g = _options.pad
000050c0: 64 69 6e 67 2c 5c 6e 20 20 20 20 20 20 66 6c 69 ding,\n fli
000050d0: 70 56 61 72 69 61 74 69 6f 6e 73 20 3d 20 5f 6f pVariations = _o
000050e0: 70 74 69 6f 6e 73 2e 66 6c 69 70 56 61 72 69 61 ptions.flipVaria
000050f0: 74 69 6f 6e 73 2c 5c 6e 20 20 20 20 20 20 5f 6f tions,\n _o
00005100: 70 74 69 6f 6e 73 24 61 6c 6c 6f 77 65 64 41 75 ptions$allowedAu
00005110: 74 6f 50 20 3d 20 5f 6f 70 74 69 6f 6e 73 2e 61 toP = _options.a
00005120: 6c 6c 6f 77 65 64 41 75 74 6f 50 6c 61 63 65 6d llowedAutoPlacem
00005130: 65 6e 74 73 2c 5c 6e 20 20 20 20 20 20 61 6c 6c ents,\n all
00005140: 6f 77 65 64 41 75 74 6f 50 6c 61 63 65 6d 65 6e owedAutoPlacemen
00005150: 74 73 20 3d 20 5f 6f 70 74 69 6f 6e 73 24 61 6c ts = _options$al
00005160: 6c 6f 77 65 64 41 75 74 6f 50 20 3d 3d 3d 20 76 lowedAutoP === v
00005170: 6f 69 64 20 30 20 3f 20 61 6c 6c 50 6c 61 63 65 oid 0 ? allPlace
00005180: 6d 65 6e 74 73 20 3a 20 5f 6f 70 74 69 6f 6e 73 ments : _options
00005190: 24 61 6c 6c 6f 77 65 64 41 75 74 6f 50 3b 5c 6e $allowedAutoP;\n
000051a0: 20 20 76 61 72 20 76 61 72 69 61 74 69 6f 6e 20 var variation
000051b0: 3d 20 67 65 74 56 61 72 69 61 74 69 6f 6e 28 70 = getVariation(p
000051c0: 6c 61 63 65 6d 65 6e 74 29 3b 5c 6e 20 20 76 61 lacement);\n va
000051d0: 72 20 70 6c 61 63 65 6d 65 6e 74 73 20 3d 20 76 r placements = v
000051e0: 61 72 69 61 74 69 6f 6e 20 3f 20 66 6c 69 70 56 ariation ? flipV
000051f0: 61 72 69 61 74 69 6f 6e 73 20 3f 20 76 61 72 69 ariations ? vari
00005200: 61 74 69 6f 6e 50 6c 61 63 65 6d 65 6e 74 73 20 ationPlacements
00005210: 3a 20 76 61 72 69 61 74 69 6f 6e 50 6c 61 63 65 : variationPlace
00005220: 6d 65 6e 74 73 2e 66 69 6c 74 65 72 28 66 75 6e ments.filter(fun
00005230: 63 74 69 6f 6e 20 28 70 6c 61 63 65 6d 65 6e 74 ction (placement
00005240: 29 20 7b 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 ) {\n return
00005250: 67 65 74 56 61 72 69 61 74 69 6f 6e 28 70 6c 61 getVariation(pla
00005260: 63 65 6d 65 6e 74 29 20 3d 3d 3d 20 76 61 72 69 cement) === vari
00005270: 61 74 69 6f 6e 3b 5c 6e 20 20 7d 29 20 3a 20 62 ation;\n }) : b
00005280: 61 73 65 50 6c 61 63 65 6d 65 6e 74 73 3b 5c 6e asePlacements;\n
00005290: 20 20 76 61 72 20 61 6c 6c 6f 77 65 64 50 6c 61 var allowedPla
000052a0: 63 65 6d 65 6e 74 73 20 3d 20 70 6c 61 63 65 6d cements = placem
000052b0: 65 6e 74 73 2e 66 69 6c 74 65 72 28 66 75 6e 63 ents.filter(func
000052c0: 74 69 6f 6e 20 28 70 6c 61 63 65 6d 65 6e 74 29 tion (placement)
000052d0: 20 7b 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 61 {\n return a
000052e0: 6c 6c 6f 77 65 64 41 75 74 6f 50 6c 61 63 65 6d llowedAutoPlacem
000052f0: 65 6e 74 73 2e 69 6e 64 65 78 4f 66 28 70 6c 61 ents.indexOf(pla
00005300: 63 65 6d 65 6e 74 29 20 3e 3d 20 30 3b 5c 6e 20 cement) >= 0;\n
00005310: 20 7d 29 3b 5c 6e 5c 6e 20 20 69 66 20 28 61 6c });\n\n if (al
00005320: 6c 6f 77 65 64 50 6c 61 63 65 6d 65 6e 74 73 2e lowedPlacements.
00005330: 6c 65 6e 67 74 68 20 3d 3d 3d 20 30 29 20 7b 5c length === 0) {\
00005340: 6e 20 20 20 20 61 6c 6c 6f 77 65 64 50 6c 61 63 n allowedPlac
00005350: 65 6d 65 6e 74 73 20 3d 20 70 6c 61 63 65 6d 65 ements = placeme
00005360: 6e 74 73 3b 5c 6e 20 20 7d 20 2f 2f 20 24 46 6c nts;\n } // $Fl
00005370: 6f 77 46 69 78 4d 65 5b 69 6e 63 6f 6d 70 61 74 owFixMe[incompat
00005380: 69 62 6c 65 2d 74 79 70 65 5d 3a 20 46 6c 6f 77 ible-type]: Flow
00005390: 20 73 65 65 6d 73 20 74 6f 20 68 61 76 65 20 70 seems to have p
000053a0: 72 6f 62 6c 65 6d 73 20 77 69 74 68 20 74 77 6f roblems with two
000053b0: 20 61 72 72 61 79 20 75 6e 69 6f 6e 73 2e 2e 2e array unions...
000053c0: 5c 6e 5c 6e 5c 6e 20 20 76 61 72 20 6f 76 65 72 \n\n\n var over
000053d0: 66 6c 6f 77 73 20 3d 20 61 6c 6c 6f 77 65 64 50 flows = allowedP
000053e0: 6c 61 63 65 6d 65 6e 74 73 2e 72 65 64 75 63 65 lacements.reduce
000053f0: 28 66 75 6e 63 74 69 6f 6e 20 28 61 63 63 2c 20 (function (acc,
00005400: 70 6c 61 63 65 6d 65 6e 74 29 20 7b 5c 6e 20 20 placement) {\n
00005410: 20 20 61 63 63 5b 70 6c 61 63 65 6d 65 6e 74 5d acc[placement]
00005420: 20 3d 20 64 65 74 65 63 74 4f 76 65 72 66 6c 6f = detectOverflo
00005430: 77 28 73 74 61 74 65 2c 20 7b 5c 6e 20 20 20 20 w(state, {\n
00005440: 20 20 70 6c 61 63 65 6d 65 6e 74 3a 20 70 6c 61 placement: pla
00005450: 63 65 6d 65 6e 74 2c 5c 6e 20 20 20 20 20 20 62 cement,\n b
00005460: 6f 75 6e 64 61 72 79 3a 20 62 6f 75 6e 64 61 72 oundary: boundar
00005470: 79 2c 5c 6e 20 20 20 20 20 20 72 6f 6f 74 42 6f y,\n rootBo
00005480: 75 6e 64 61 72 79 3a 20 72 6f 6f 74 42 6f 75 6e undary: rootBoun
00005490: 64 61 72 79 2c 5c 6e 20 20 20 20 20 20 70 61 64 dary,\n pad
000054a0: 64 69 6e 67 3a 20 70 61 64 64 69 6e 67 5c 6e 20 ding: padding\n
000054b0: 20 20 20 7d 29 5b 67 65 74 42 61 73 65 50 6c 61 })[getBasePla
000054c0: 63 65 6d 65 6e 74 28 70 6c 61 63 65 6d 65 6e 74 cement(placement
000054d0: 29 5d 3b 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 )];\n return
000054e0: 61 63 63 3b 5c 6e 20 20 7d 2c 20 7b 7d 29 3b 5c acc;\n }, {});\
000054f0: 6e 20 20 72 65 74 75 72 6e 20 4f 62 6a 65 63 74 n return Object
00005500: 2e 6b 65 79 73 28 6f 76 65 72 66 6c 6f 77 73 29 .keys(overflows)
00005510: 2e 73 6f 72 74 28 66 75 6e 63 74 69 6f 6e 20 28 .sort(function (
00005520: 61 2c 20 62 29 20 7b 5c 6e 20 20 20 20 72 65 74 a, b) {\n ret
00005530: 75 72 6e 20 6f 76 65 72 66 6c 6f 77 73 5b 61 5d urn overflows[a]
00005540: 20 2d 20 6f 76 65 72 66 6c 6f 77 73 5b 62 5d 3b - overflows[b];
00005550: 5c 6e 20 20 7d 29 3b 5c 6e 7d 22 2c 22 69 6d 70 \n });\n}","imp
00005560: 6f 72 74 20 67 65 74 4f 70 70 6f 73 69 74 65 50 ort getOppositeP
00005570: 6c 61 63 65 6d 65 6e 74 20 66 72 6f 6d 20 5c 22 lacement from \"
00005580: 2e 2e 2f 75 74 69 6c 73 2f 67 65 74 4f 70 70 6f ../utils/getOppo
00005590: 73 69 74 65 50 6c 61 63 65 6d 65 6e 74 2e 6a 73 sitePlacement.js
000055a0: 5c 22 3b 5c 6e 69 6d 70 6f 72 74 20 67 65 74 42 \";\nimport getB
000055b0: 61 73 65 50 6c 61 63 65 6d 65 6e 74 20 66 72 6f asePlacement fro
000055c0: 6d 20 5c 22 2e 2e 2f 75 74 69 6c 73 2f 67 65 74 m \"../utils/get
000055d0: 42 61 73 65 50 6c 61 63 65 6d 65 6e 74 2e 6a 73 BasePlacement.js
000055e0: 5c 22 3b 5c 6e 69 6d 70 6f 72 74 20 67 65 74 4f \";\nimport getO
000055f0: 70 70 6f 73 69 74 65 56 61 72 69 61 74 69 6f 6e ppositeVariation
00005600: 50 6c 61 63 65 6d 65 6e 74 20 66 72 6f 6d 20 5c Placement from \
00005610: 22 2e 2e 2f 75 74 69 6c 73 2f 67 65 74 4f 70 70 "../utils/getOpp
00005620: 6f 73 69 74 65 56 61 72 69 61 74 69 6f 6e 50 6c ositeVariationPl
00005630: 61 63 65 6d 65 6e 74 2e 6a 73 5c 22 3b 5c 6e 69 acement.js\";\ni
00005640: 6d 70 6f 72 74 20 64 65 74 65 63 74 4f 76 65 72 mport detectOver
00005650: 66 6c 6f 77 20 66 72 6f 6d 20 5c 22 2e 2e 2f 75 flow from \"../u
00005660: 74 69 6c 73 2f 64 65 74 65 63 74 4f 76 65 72 66 tils/detectOverf
00005670: 6c 6f 77 2e 6a 73 5c 22 3b 5c 6e 69 6d 70 6f 72 low.js\";\nimpor
00005680: 74 20 63 6f 6d 70 75 74 65 41 75 74 6f 50 6c 61 t computeAutoPla
00005690: 63 65 6d 65 6e 74 20 66 72 6f 6d 20 5c 22 2e 2e cement from \"..
000056a0: 2f 75 74 69 6c 73 2f 63 6f 6d 70 75 74 65 41 75 /utils/computeAu
000056b0: 74 6f 50 6c 61 63 65 6d 65 6e 74 2e 6a 73 5c 22 toPlacement.js\"
000056c0: 3b 5c 6e 69 6d 70 6f 72 74 20 7b 20 62 6f 74 74 ;\nimport { bott
000056d0: 6f 6d 2c 20 74 6f 70 2c 20 73 74 61 72 74 2c 20 om, top, start,
000056e0: 72 69 67 68 74 2c 20 6c 65 66 74 2c 20 61 75 74 right, left, aut
000056f0: 6f 20 7d 20 66 72 6f 6d 20 5c 22 2e 2e 2f 65 6e o } from \"../en
00005700: 75 6d 73 2e 6a 73 5c 22 3b 5c 6e 69 6d 70 6f 72 ums.js\";\nimpor
00005710: 74 20 67 65 74 56 61 72 69 61 74 69 6f 6e 20 66 t getVariation f
00005720: 72 6f 6d 20 5c 22 2e 2e 2f 75 74 69 6c 73 2f 67 rom \"../utils/g
00005730: 65 74 56 61 72 69 61 74 69 6f 6e 2e 6a 73 5c 22 etVariation.js\"
00005740: 3b 20 2f 2f 20 65 73 6c 69 6e 74 2d 64 69 73 61 ; // eslint-disa
00005750: 62 6c 65 2d 6e 65 78 74 2d 6c 69 6e 65 20 69 6d ble-next-line im
00005760: 70 6f 72 74 2f 6e 6f 2d 75 6e 75 73 65 64 2d 6d port/no-unused-m
00005770: 6f 64 75 6c 65 73 5c 6e 5c 6e 66 75 6e 63 74 69 odules\n\nfuncti
00005780: 6f 6e 20 67 65 74 45 78 70 61 6e 64 65 64 46 61 on getExpandedFa
00005790: 6c 6c 62 61 63 6b 50 6c 61 63 65 6d 65 6e 74 73 llbackPlacements
000057a0: 28 70 6c 61 63 65 6d 65 6e 74 29 20 7b 5c 6e 20 (placement) {\n
000057b0: 20 69 66 20 28 67 65 74 42 61 73 65 50 6c 61 63 if (getBasePlac
000057c0: 65 6d 65 6e 74 28 70 6c 61 63 65 6d 65 6e 74 29 ement(placement)
000057d0: 20 3d 3d 3d 20 61 75 74 6f 29 20 7b 5c 6e 20 20 === auto) {\n
000057e0: 20 20 72 65 74 75 72 6e 20 5b 5d 3b 5c 6e 20 20 return [];\n
000057f0: 7d 5c 6e 5c 6e 20 20 76 61 72 20 6f 70 70 6f 73 }\n\n var oppos
00005800: 69 74 65 50 6c 61 63 65 6d 65 6e 74 20 3d 20 67 itePlacement = g
00005810: 65 74 4f 70 70 6f 73 69 74 65 50 6c 61 63 65 6d etOppositePlacem
00005820: 65 6e 74 28 70 6c 61 63 65 6d 65 6e 74 29 3b 5c ent(placement);\
00005830: 6e 20 20 72 65 74 75 72 6e 20 5b 67 65 74 4f 70 n return [getOp
00005840: 70 6f 73 69 74 65 56 61 72 69 61 74 69 6f 6e 50 positeVariationP
00005850: 6c 61 63 65 6d 65 6e 74 28 70 6c 61 63 65 6d 65 lacement(placeme
00005860: 6e 74 29 2c 20 6f 70 70 6f 73 69 74 65 50 6c 61 nt), oppositePla
00005870: 63 65 6d 65 6e 74 2c 20 67 65 74 4f 70 70 6f 73 cement, getOppos
00005880: 69 74 65 56 61 72 69 61 74 69 6f 6e 50 6c 61 63 iteVariationPlac
00005890: 65 6d 65 6e 74 28 6f 70 70 6f 73 69 74 65 50 6c ement(oppositePl
000058a0: 61 63 65 6d 65 6e 74 29 5d 3b 5c 6e 7d 5c 6e 5c acement)];\n}\n\
000058b0: 6e 66 75 6e 63 74 69 6f 6e 20 66 6c 69 70 28 5f nfunction flip(_
000058c0: 72 65 66 29 20 7b 5c 6e 20 20 76 61 72 20 73 74 ref) {\n var st
000058d0: 61 74 65 20 3d 20 5f 72 65 66 2e 73 74 61 74 65 ate = _ref.state
000058e0: 2c 5c 6e 20 20 20 20 20 20 6f 70 74 69 6f 6e 73 ,\n options
000058f0: 20 3d 20 5f 72 65 66 2e 6f 70 74 69 6f 6e 73 2c = _ref.options,
00005900: 5c 6e 20 20 20 20 20 20 6e 61 6d 65 20 3d 20 5f \n name = _
00005910: 72 65 66 2e 6e 61 6d 65 3b 5c 6e 5c 6e 20 20 69 ref.name;\n\n i
00005920: 66 20 28 73 74 61 74 65 2e 6d 6f 64 69 66 69 65 f (state.modifie
00005930: 72 73 44 61 74 61 5b 6e 61 6d 65 5d 2e 5f 73 6b rsData[name]._sk
00005940: 69 70 29 20 7b 5c 6e 20 20 20 20 72 65 74 75 72 ip) {\n retur
00005950: 6e 3b 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 76 61 72 n;\n }\n\n var
00005960: 20 5f 6f 70 74 69 6f 6e 73 24 6d 61 69 6e 41 78 _options$mainAx
00005970: 69 73 20 3d 20 6f 70 74 69 6f 6e 73 2e 6d 61 69 is = options.mai
00005980: 6e 41 78 69 73 2c 5c 6e 20 20 20 20 20 20 63 68 nAxis,\n ch
00005990: 65 63 6b 4d 61 69 6e 41 78 69 73 20 3d 20 5f 6f eckMainAxis = _o
000059a0: 70 74 69 6f 6e 73 24 6d 61 69 6e 41 78 69 73 20 ptions$mainAxis
000059b0: 3d 3d 3d 20 76 6f 69 64 20 30 20 3f 20 74 72 75 === void 0 ? tru
000059c0: 65 20 3a 20 5f 6f 70 74 69 6f 6e 73 24 6d 61 69 e : _options$mai
000059d0: 6e 41 78 69 73 2c 5c 6e 20 20 20 20 20 20 5f 6f nAxis,\n _o
000059e0: 70 74 69 6f 6e 73 24 61 6c 74 41 78 69 73 20 3d ptions$altAxis =
000059f0: 20 6f 70 74 69 6f 6e 73 2e 61 6c 74 41 78 69 73 options.altAxis
00005a00: 2c 5c 6e 20 20 20 20 20 20 63 68 65 63 6b 41 6c ,\n checkAl
00005a10: 74 41 78 69 73 20 3d 20 5f 6f 70 74 69 6f 6e 73 tAxis = _options
00005a20: 24 61 6c 74 41 78 69 73 20 3d 3d 3d 20 76 6f 69 $altAxis === voi
00005a30: 64 20 30 20 3f 20 74 72 75 65 20 3a 20 5f 6f 70 d 0 ? true : _op
00005a40: 74 69 6f 6e 73 24 61 6c 74 41 78 69 73 2c 5c 6e tions$altAxis,\n
00005a50: 20 20 20 20 20 20 73 70 65 63 69 66 69 65 64 46 specifiedF
00005a60: 61 6c 6c 62 61 63 6b 50 6c 61 63 65 6d 65 6e 74 allbackPlacement
00005a70: 73 20 3d 20 6f 70 74 69 6f 6e 73 2e 66 61 6c 6c s = options.fall
00005a80: 62 61 63 6b 50 6c 61 63 65 6d 65 6e 74 73 2c 5c backPlacements,\
00005a90: 6e 20 20 20 20 20 20 70 61 64 64 69 6e 67 20 3d n padding =
00005aa0: 20 6f 70 74 69 6f 6e 73 2e 70 61 64 64 69 6e 67 options.padding
00005ab0: 2c 5c 6e 20 20 20 20 20 20 62 6f 75 6e 64 61 72 ,\n boundar
00005ac0: 79 20 3d 20 6f 70 74 69 6f 6e 73 2e 62 6f 75 6e y = options.boun
00005ad0: 64 61 72 79 2c 5c 6e 20 20 20 20 20 20 72 6f 6f dary,\n roo
00005ae0: 74 42 6f 75 6e 64 61 72 79 20 3d 20 6f 70 74 69 tBoundary = opti
00005af0: 6f 6e 73 2e 72 6f 6f 74 42 6f 75 6e 64 61 72 79 ons.rootBoundary
00005b00: 2c 5c 6e 20 20 20 20 20 20 61 6c 74 42 6f 75 6e ,\n altBoun
00005b10: 64 61 72 79 20 3d 20 6f 70 74 69 6f 6e 73 2e 61 dary = options.a
00005b20: 6c 74 42 6f 75 6e 64 61 72 79 2c 5c 6e 20 20 20 ltBoundary,\n
00005b30: 20 20 20 5f 6f 70 74 69 6f 6e 73 24 66 6c 69 70 _options$flip
00005b40: 56 61 72 69 61 74 69 6f 20 3d 20 6f 70 74 69 6f Variatio = optio
00005b50: 6e 73 2e 66 6c 69 70 56 61 72 69 61 74 69 6f 6e ns.flipVariation
00005b60: 73 2c 5c 6e 20 20 20 20 20 20 66 6c 69 70 56 61 s,\n flipVa
00005b70: 72 69 61 74 69 6f 6e 73 20 3d 20 5f 6f 70 74 69 riations = _opti
00005b80: 6f 6e 73 24 66 6c 69 70 56 61 72 69 61 74 69 6f ons$flipVariatio
00005b90: 20 3d 3d 3d 20 76 6f 69 64 20 30 20 3f 20 74 72 === void 0 ? tr
00005ba0: 75 65 20 3a 20 5f 6f 70 74 69 6f 6e 73 24 66 6c ue : _options$fl
00005bb0: 69 70 56 61 72 69 61 74 69 6f 2c 5c 6e 20 20 20 ipVariatio,\n
00005bc0: 20 20 20 61 6c 6c 6f 77 65 64 41 75 74 6f 50 6c allowedAutoPl
00005bd0: 61 63 65 6d 65 6e 74 73 20 3d 20 6f 70 74 69 6f acements = optio
00005be0: 6e 73 2e 61 6c 6c 6f 77 65 64 41 75 74 6f 50 6c ns.allowedAutoPl
00005bf0: 61 63 65 6d 65 6e 74 73 3b 5c 6e 20 20 76 61 72 acements;\n var
00005c00: 20 70 72 65 66 65 72 72 65 64 50 6c 61 63 65 6d preferredPlacem
00005c10: 65 6e 74 20 3d 20 73 74 61 74 65 2e 6f 70 74 69 ent = state.opti
00005c20: 6f 6e 73 2e 70 6c 61 63 65 6d 65 6e 74 3b 5c 6e ons.placement;\n
00005c30: 20 20 76 61 72 20 62 61 73 65 50 6c 61 63 65 6d var basePlacem
00005c40: 65 6e 74 20 3d 20 67 65 74 42 61 73 65 50 6c 61 ent = getBasePla
00005c50: 63 65 6d 65 6e 74 28 70 72 65 66 65 72 72 65 64 cement(preferred
00005c60: 50 6c 61 63 65 6d 65 6e 74 29 3b 5c 6e 20 20 76 Placement);\n v
00005c70: 61 72 20 69 73 42 61 73 65 50 6c 61 63 65 6d 65 ar isBasePlaceme
00005c80: 6e 74 20 3d 20 62 61 73 65 50 6c 61 63 65 6d 65 nt = basePlaceme
00005c90: 6e 74 20 3d 3d 3d 20 70 72 65 66 65 72 72 65 64 nt === preferred
00005ca0: 50 6c 61 63 65 6d 65 6e 74 3b 5c 6e 20 20 76 61 Placement;\n va
00005cb0: 72 20 66 61 6c 6c 62 61 63 6b 50 6c 61 63 65 6d r fallbackPlacem
00005cc0: 65 6e 74 73 20 3d 20 73 70 65 63 69 66 69 65 64 ents = specified
00005cd0: 46 61 6c 6c 62 61 63 6b 50 6c 61 63 65 6d 65 6e FallbackPlacemen
00005ce0: 74 73 20 7c 7c 20 28 69 73 42 61 73 65 50 6c 61 ts || (isBasePla
00005cf0: 63 65 6d 65 6e 74 20 7c 7c 20 21 66 6c 69 70 56 cement || !flipV
00005d00: 61 72 69 61 74 69 6f 6e 73 20 3f 20 5b 67 65 74 ariations ? [get
00005d10: 4f 70 70 6f 73 69 74 65 50 6c 61 63 65 6d 65 6e OppositePlacemen
00005d20: 74 28 70 72 65 66 65 72 72 65 64 50 6c 61 63 65 t(preferredPlace
00005d30: 6d 65 6e 74 29 5d 20 3a 20 67 65 74 45 78 70 61 ment)] : getExpa
00005d40: 6e 64 65 64 46 61 6c 6c 62 61 63 6b 50 6c 61 63 ndedFallbackPlac
00005d50: 65 6d 65 6e 74 73 28 70 72 65 66 65 72 72 65 64 ements(preferred
00005d60: 50 6c 61 63 65 6d 65 6e 74 29 29 3b 5c 6e 20 20 Placement));\n
00005d70: 76 61 72 20 70 6c 61 63 65 6d 65 6e 74 73 20 3d var placements =
00005d80: 20 5b 70 72 65 66 65 72 72 65 64 50 6c 61 63 65 [preferredPlace
00005d90: 6d 65 6e 74 5d 2e 63 6f 6e 63 61 74 28 66 61 6c ment].concat(fal
00005da0: 6c 62 61 63 6b 50 6c 61 63 65 6d 65 6e 74 73 29 lbackPlacements)
00005db0: 2e 72 65 64 75 63 65 28 66 75 6e 63 74 69 6f 6e .reduce(function
00005dc0: 20 28 61 63 63 2c 20 70 6c 61 63 65 6d 65 6e 74 (acc, placement
00005dd0: 29 20 7b 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 ) {\n return
00005de0: 61 63 63 2e 63 6f 6e 63 61 74 28 67 65 74 42 61 acc.concat(getBa
00005df0: 73 65 50 6c 61 63 65 6d 65 6e 74 28 70 6c 61 63 sePlacement(plac
00005e00: 65 6d 65 6e 74 29 20 3d 3d 3d 20 61 75 74 6f 20 ement) === auto
00005e10: 3f 20 63 6f 6d 70 75 74 65 41 75 74 6f 50 6c 61 ? computeAutoPla
00005e20: 63 65 6d 65 6e 74 28 73 74 61 74 65 2c 20 7b 5c cement(state, {\
00005e30: 6e 20 20 20 20 20 20 70 6c 61 63 65 6d 65 6e 74 n placement
00005e40: 3a 20 70 6c 61 63 65 6d 65 6e 74 2c 5c 6e 20 20 : placement,\n
00005e50: 20 20 20 20 62 6f 75 6e 64 61 72 79 3a 20 62 6f boundary: bo
00005e60: 75 6e 64 61 72 79 2c 5c 6e 20 20 20 20 20 20 72 undary,\n r
00005e70: 6f 6f 74 42 6f 75 6e 64 61 72 79 3a 20 72 6f 6f ootBoundary: roo
00005e80: 74 42 6f 75 6e 64 61 72 79 2c 5c 6e 20 20 20 20 tBoundary,\n
00005e90: 20 20 70 61 64 64 69 6e 67 3a 20 70 61 64 64 69 padding: paddi
00005ea0: 6e 67 2c 5c 6e 20 20 20 20 20 20 66 6c 69 70 56 ng,\n flipV
00005eb0: 61 72 69 61 74 69 6f 6e 73 3a 20 66 6c 69 70 56 ariations: flipV
00005ec0: 61 72 69 61 74 69 6f 6e 73 2c 5c 6e 20 20 20 20 ariations,\n
00005ed0: 20 20 61 6c 6c 6f 77 65 64 41 75 74 6f 50 6c 61 allowedAutoPla
00005ee0: 63 65 6d 65 6e 74 73 3a 20 61 6c 6c 6f 77 65 64 cements: allowed
00005ef0: 41 75 74 6f 50 6c 61 63 65 6d 65 6e 74 73 5c 6e AutoPlacements\n
00005f00: 20 20 20 20 7d 29 20 3a 20 70 6c 61 63 65 6d 65 }) : placeme
00005f10: 6e 74 29 3b 5c 6e 20 20 7d 2c 20 5b 5d 29 3b 5c nt);\n }, []);\
00005f20: 6e 20 20 76 61 72 20 72 65 66 65 72 65 6e 63 65 n var reference
00005f30: 52 65 63 74 20 3d 20 73 74 61 74 65 2e 72 65 63 Rect = state.rec
00005f40: 74 73 2e 72 65 66 65 72 65 6e 63 65 3b 5c 6e 20 ts.reference;\n
00005f50: 20 76 61 72 20 70 6f 70 70 65 72 52 65 63 74 20 var popperRect
00005f60: 3d 20 73 74 61 74 65 2e 72 65 63 74 73 2e 70 6f = state.rects.po
00005f70: 70 70 65 72 3b 5c 6e 20 20 76 61 72 20 63 68 65 pper;\n var che
00005f80: 63 6b 73 4d 61 70 20 3d 20 6e 65 77 20 4d 61 70 cksMap = new Map
00005f90: 28 29 3b 5c 6e 20 20 76 61 72 20 6d 61 6b 65 46 ();\n var makeF
00005fa0: 61 6c 6c 62 61 63 6b 43 68 65 63 6b 73 20 3d 20 allbackChecks =
00005fb0: 74 72 75 65 3b 5c 6e 20 20 76 61 72 20 66 69 72 true;\n var fir
00005fc0: 73 74 46 69 74 74 69 6e 67 50 6c 61 63 65 6d 65 stFittingPlaceme
00005fd0: 6e 74 20 3d 20 70 6c 61 63 65 6d 65 6e 74 73 5b nt = placements[
00005fe0: 30 5d 3b 5c 6e 5c 6e 20 20 66 6f 72 20 28 76 61 0];\n\n for (va
00005ff0: 72 20 69 20 3d 20 30 3b 20 69 20 3c 20 70 6c 61 r i = 0; i < pla
00006000: 63 65 6d 65 6e 74 73 2e 6c 65 6e 67 74 68 3b 20 cements.length;
00006010: 69 2b 2b 29 20 7b 5c 6e 20 20 20 20 76 61 72 20 i++) {\n var
00006020: 70 6c 61 63 65 6d 65 6e 74 20 3d 20 70 6c 61 63 placement = plac
00006030: 65 6d 65 6e 74 73 5b 69 5d 3b 5c 6e 5c 6e 20 20 ements[i];\n\n
00006040: 20 20 76 61 72 20 5f 62 61 73 65 50 6c 61 63 65 var _basePlace
00006050: 6d 65 6e 74 20 3d 20 67 65 74 42 61 73 65 50 6c ment = getBasePl
00006060: 61 63 65 6d 65 6e 74 28 70 6c 61 63 65 6d 65 6e acement(placemen
00006070: 74 29 3b 5c 6e 5c 6e 20 20 20 20 76 61 72 20 69 t);\n\n var i
00006080: 73 53 74 61 72 74 56 61 72 69 61 74 69 6f 6e 20 sStartVariation
00006090: 3d 20 67 65 74 56 61 72 69 61 74 69 6f 6e 28 70 = getVariation(p
000060a0: 6c 61 63 65 6d 65 6e 74 29 20 3d 3d 3d 20 73 74 lacement) === st
000060b0: 61 72 74 3b 5c 6e 20 20 20 20 76 61 72 20 69 73 art;\n var is
000060c0: 56 65 72 74 69 63 61 6c 20 3d 20 5b 74 6f 70 2c Vertical = [top,
000060d0: 20 62 6f 74 74 6f 6d 5d 2e 69 6e 64 65 78 4f 66 bottom].indexOf
000060e0: 28 5f 62 61 73 65 50 6c 61 63 65 6d 65 6e 74 29 (_basePlacement)
000060f0: 20 3e 3d 20 30 3b 5c 6e 20 20 20 20 76 61 72 20 >= 0;\n var
00006100: 6c 65 6e 20 3d 20 69 73 56 65 72 74 69 63 61 6c len = isVertical
00006110: 20 3f 20 27 77 69 64 74 68 27 20 3a 20 27 68 65 ? 'width' : 'he
00006120: 69 67 68 74 27 3b 5c 6e 20 20 20 20 76 61 72 20 ight';\n var
00006130: 6f 76 65 72 66 6c 6f 77 20 3d 20 64 65 74 65 63 overflow = detec
00006140: 74 4f 76 65 72 66 6c 6f 77 28 73 74 61 74 65 2c tOverflow(state,
00006150: 20 7b 5c 6e 20 20 20 20 20 20 70 6c 61 63 65 6d {\n placem
00006160: 65 6e 74 3a 20 70 6c 61 63 65 6d 65 6e 74 2c 5c ent: placement,\
00006170: 6e 20 20 20 20 20 20 62 6f 75 6e 64 61 72 79 3a n boundary:
00006180: 20 62 6f 75 6e 64 61 72 79 2c 5c 6e 20 20 20 20 boundary,\n
00006190: 20 20 72 6f 6f 74 42 6f 75 6e 64 61 72 79 3a 20 rootBoundary:
000061a0: 72 6f 6f 74 42 6f 75 6e 64 61 72 79 2c 5c 6e 20 rootBoundary,\n
000061b0: 20 20 20 20 20 61 6c 74 42 6f 75 6e 64 61 72 79 altBoundary
000061c0: 3a 20 61 6c 74 42 6f 75 6e 64 61 72 79 2c 5c 6e : altBoundary,\n
000061d0: 20 20 20 20 20 20 70 61 64 64 69 6e 67 3a 20 70 padding: p
000061e0: 61 64 64 69 6e 67 5c 6e 20 20 20 20 7d 29 3b 5c adding\n });\
000061f0: 6e 20 20 20 20 76 61 72 20 6d 61 69 6e 56 61 72 n var mainVar
00006200: 69 61 74 69 6f 6e 53 69 64 65 20 3d 20 69 73 56 iationSide = isV
00006210: 65 72 74 69 63 61 6c 20 3f 20 69 73 53 74 61 72 ertical ? isStar
00006220: 74 56 61 72 69 61 74 69 6f 6e 20 3f 20 72 69 67 tVariation ? rig
00006230: 68 74 20 3a 20 6c 65 66 74 20 3a 20 69 73 53 74 ht : left : isSt
00006240: 61 72 74 56 61 72 69 61 74 69 6f 6e 20 3f 20 62 artVariation ? b
00006250: 6f 74 74 6f 6d 20 3a 20 74 6f 70 3b 5c 6e 5c 6e ottom : top;\n\n
00006260: 20 20 20 20 69 66 20 28 72 65 66 65 72 65 6e 63 if (referenc
00006270: 65 52 65 63 74 5b 6c 65 6e 5d 20 3e 20 70 6f 70 eRect[len] > pop
00006280: 70 65 72 52 65 63 74 5b 6c 65 6e 5d 29 20 7b 5c perRect[len]) {\
00006290: 6e 20 20 20 20 20 20 6d 61 69 6e 56 61 72 69 61 n mainVaria
000062a0: 74 69 6f 6e 53 69 64 65 20 3d 20 67 65 74 4f 70 tionSide = getOp
000062b0: 70 6f 73 69 74 65 50 6c 61 63 65 6d 65 6e 74 28 positePlacement(
000062c0: 6d 61 69 6e 56 61 72 69 61 74 69 6f 6e 53 69 64 mainVariationSid
000062d0: 65 29 3b 5c 6e 20 20 20 20 7d 5c 6e 5c 6e 20 20 e);\n }\n\n
000062e0: 20 20 76 61 72 20 61 6c 74 56 61 72 69 61 74 69 var altVariati
000062f0: 6f 6e 53 69 64 65 20 3d 20 67 65 74 4f 70 70 6f onSide = getOppo
00006300: 73 69 74 65 50 6c 61 63 65 6d 65 6e 74 28 6d 61 sitePlacement(ma
00006310: 69 6e 56 61 72 69 61 74 69 6f 6e 53 69 64 65 29 inVariationSide)
00006320: 3b 5c 6e 20 20 20 20 76 61 72 20 63 68 65 63 6b ;\n var check
00006330: 73 20 3d 20 5b 5d 3b 5c 6e 5c 6e 20 20 20 20 69 s = [];\n\n i
00006340: 66 20 28 63 68 65 63 6b 4d 61 69 6e 41 78 69 73 f (checkMainAxis
00006350: 29 20 7b 5c 6e 20 20 20 20 20 20 63 68 65 63 6b ) {\n check
00006360: 73 2e 70 75 73 68 28 6f 76 65 72 66 6c 6f 77 5b s.push(overflow[
00006370: 5f 62 61 73 65 50 6c 61 63 65 6d 65 6e 74 5d 20 _basePlacement]
00006380: 3c 3d 20 30 29 3b 5c 6e 20 20 20 20 7d 5c 6e 5c <= 0);\n }\n\
00006390: 6e 20 20 20 20 69 66 20 28 63 68 65 63 6b 41 6c n if (checkAl
000063a0: 74 41 78 69 73 29 20 7b 5c 6e 20 20 20 20 20 20 tAxis) {\n
000063b0: 63 68 65 63 6b 73 2e 70 75 73 68 28 6f 76 65 72 checks.push(over
000063c0: 66 6c 6f 77 5b 6d 61 69 6e 56 61 72 69 61 74 69 flow[mainVariati
000063d0: 6f 6e 53 69 64 65 5d 20 3c 3d 20 30 2c 20 6f 76 onSide] <= 0, ov
000063e0: 65 72 66 6c 6f 77 5b 61 6c 74 56 61 72 69 61 74 erflow[altVariat
000063f0: 69 6f 6e 53 69 64 65 5d 20 3c 3d 20 30 29 3b 5c ionSide] <= 0);\
00006400: 6e 20 20 20 20 7d 5c 6e 5c 6e 20 20 20 20 69 66 n }\n\n if
00006410: 20 28 63 68 65 63 6b 73 2e 65 76 65 72 79 28 66 (checks.every(f
00006420: 75 6e 63 74 69 6f 6e 20 28 63 68 65 63 6b 29 20 unction (check)
00006430: 7b 5c 6e 20 20 20 20 20 20 72 65 74 75 72 6e 20 {\n return
00006440: 63 68 65 63 6b 3b 5c 6e 20 20 20 20 7d 29 29 20 check;\n }))
00006450: 7b 5c 6e 20 20 20 20 20 20 66 69 72 73 74 46 69 {\n firstFi
00006460: 74 74 69 6e 67 50 6c 61 63 65 6d 65 6e 74 20 3d ttingPlacement =
00006470: 20 70 6c 61 63 65 6d 65 6e 74 3b 5c 6e 20 20 20 placement;\n
00006480: 20 20 20 6d 61 6b 65 46 61 6c 6c 62 61 63 6b 43 makeFallbackC
00006490: 68 65 63 6b 73 20 3d 20 66 61 6c 73 65 3b 5c 6e hecks = false;\n
000064a0: 20 20 20 20 20 20 62 72 65 61 6b 3b 5c 6e 20 20 break;\n
000064b0: 20 20 7d 5c 6e 5c 6e 20 20 20 20 63 68 65 63 6b }\n\n check
000064c0: 73 4d 61 70 2e 73 65 74 28 70 6c 61 63 65 6d 65 sMap.set(placeme
000064d0: 6e 74 2c 20 63 68 65 63 6b 73 29 3b 5c 6e 20 20 nt, checks);\n
000064e0: 7d 5c 6e 5c 6e 20 20 69 66 20 28 6d 61 6b 65 46 }\n\n if (makeF
000064f0: 61 6c 6c 62 61 63 6b 43 68 65 63 6b 73 29 20 7b allbackChecks) {
00006500: 5c 6e 20 20 20 20 2f 2f 20 60 32 60 20 6d 61 79 \n // `2` may
00006510: 20 62 65 20 64 65 73 69 72 65 64 20 69 6e 20 73 be desired in s
00006520: 6f 6d 65 20 63 61 73 65 73 20 e2 80 93 20 72 65 ome cases ... re
00006530: 73 65 61 72 63 68 20 6c 61 74 65 72 5c 6e 20 20 search later\n
00006540: 20 20 76 61 72 20 6e 75 6d 62 65 72 4f 66 43 68 var numberOfCh
00006550: 65 63 6b 73 20 3d 20 66 6c 69 70 56 61 72 69 61 ecks = flipVaria
00006560: 74 69 6f 6e 73 20 3f 20 33 20 3a 20 31 3b 5c 6e tions ? 3 : 1;\n
00006570: 5c 6e 20 20 20 20 76 61 72 20 5f 6c 6f 6f 70 20 \n var _loop
00006580: 3d 20 66 75 6e 63 74 69 6f 6e 20 5f 6c 6f 6f 70 = function _loop
00006590: 28 5f 69 29 20 7b 5c 6e 20 20 20 20 20 20 76 61 (_i) {\n va
000065a0: 72 20 66 69 74 74 69 6e 67 50 6c 61 63 65 6d 65 r fittingPlaceme
000065b0: 6e 74 20 3d 20 70 6c 61 63 65 6d 65 6e 74 73 2e nt = placements.
000065c0: 66 69 6e 64 28 66 75 6e 63 74 69 6f 6e 20 28 70 find(function (p
000065d0: 6c 61 63 65 6d 65 6e 74 29 20 7b 5c 6e 20 20 20 lacement) {\n
000065e0: 20 20 20 20 20 76 61 72 20 63 68 65 63 6b 73 20 var checks
000065f0: 3d 20 63 68 65 63 6b 73 4d 61 70 2e 67 65 74 28 = checksMap.get(
00006600: 70 6c 61 63 65 6d 65 6e 74 29 3b 5c 6e 5c 6e 20 placement);\n\n
00006610: 20 20 20 20 20 20 20 69 66 20 28 63 68 65 63 6b if (check
00006620: 73 29 20 7b 5c 6e 20 20 20 20 20 20 20 20 20 20 s) {\n
00006630: 72 65 74 75 72 6e 20 63 68 65 63 6b 73 2e 73 6c return checks.sl
00006640: 69 63 65 28 30 2c 20 5f 69 29 2e 65 76 65 72 79 ice(0, _i).every
00006650: 28 66 75 6e 63 74 69 6f 6e 20 28 63 68 65 63 6b (function (check
00006660: 29 20 7b 5c 6e 20 20 20 20 20 20 20 20 20 20 20 ) {\n
00006670: 20 72 65 74 75 72 6e 20 63 68 65 63 6b 3b 5c 6e return check;\n
00006680: 20 20 20 20 20 20 20 20 20 20 7d 29 3b 5c 6e 20 });\n
00006690: 20 20 20 20 20 20 20 7d 5c 6e 20 20 20 20 20 20 }\n
000066a0: 7d 29 3b 5c 6e 5c 6e 20 20 20 20 20 20 69 66 20 });\n\n if
000066b0: 28 66 69 74 74 69 6e 67 50 6c 61 63 65 6d 65 6e (fittingPlacemen
000066c0: 74 29 20 7b 5c 6e 20 20 20 20 20 20 20 20 66 69 t) {\n fi
000066d0: 72 73 74 46 69 74 74 69 6e 67 50 6c 61 63 65 6d rstFittingPlacem
000066e0: 65 6e 74 20 3d 20 66 69 74 74 69 6e 67 50 6c 61 ent = fittingPla
000066f0: 63 65 6d 65 6e 74 3b 5c 6e 20 20 20 20 20 20 20 cement;\n
00006700: 20 72 65 74 75 72 6e 20 5c 22 62 72 65 61 6b 5c return \"break\
00006710: 22 3b 5c 6e 20 20 20 20 20 20 7d 5c 6e 20 20 20 ";\n }\n
00006720: 20 7d 3b 5c 6e 5c 6e 20 20 20 20 66 6f 72 20 28 };\n\n for (
00006730: 76 61 72 20 5f 69 20 3d 20 6e 75 6d 62 65 72 4f var _i = numberO
00006740: 66 43 68 65 63 6b 73 3b 20 5f 69 20 3e 20 30 3b fChecks; _i > 0;
00006750: 20 5f 69 2d 2d 29 20 7b 5c 6e 20 20 20 20 20 20 _i--) {\n
00006760: 76 61 72 20 5f 72 65 74 20 3d 20 5f 6c 6f 6f 70 var _ret = _loop
00006770: 28 5f 69 29 3b 5c 6e 5c 6e 20 20 20 20 20 20 69 (_i);\n\n i
00006780: 66 20 28 5f 72 65 74 20 3d 3d 3d 20 5c 22 62 72 f (_ret === \"br
00006790: 65 61 6b 5c 22 29 20 62 72 65 61 6b 3b 5c 6e 20 eak\") break;\n
000067a0: 20 20 20 7d 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 69 }\n }\n\n i
000067b0: 66 20 28 73 74 61 74 65 2e 70 6c 61 63 65 6d 65 f (state.placeme
000067c0: 6e 74 20 21 3d 3d 20 66 69 72 73 74 46 69 74 74 nt !== firstFitt
000067d0: 69 6e 67 50 6c 61 63 65 6d 65 6e 74 29 20 7b 5c ingPlacement) {\
000067e0: 6e 20 20 20 20 73 74 61 74 65 2e 6d 6f 64 69 66 n state.modif
000067f0: 69 65 72 73 44 61 74 61 5b 6e 61 6d 65 5d 2e 5f iersData[name]._
00006800: 73 6b 69 70 20 3d 20 74 72 75 65 3b 5c 6e 20 20 skip = true;\n
00006810: 20 20 73 74 61 74 65 2e 70 6c 61 63 65 6d 65 6e state.placemen
00006820: 74 20 3d 20 66 69 72 73 74 46 69 74 74 69 6e 67 t = firstFitting
00006830: 50 6c 61 63 65 6d 65 6e 74 3b 5c 6e 20 20 20 20 Placement;\n
00006840: 73 74 61 74 65 2e 72 65 73 65 74 20 3d 20 74 72 state.reset = tr
00006850: 75 65 3b 5c 6e 20 20 7d 5c 6e 7d 20 2f 2f 20 65 ue;\n }\n} // e
00006860: 73 6c 69 6e 74 2d 64 69 73 61 62 6c 65 2d 6e 65 slint-disable-ne
00006870: 78 74 2d 6c 69 6e 65 20 69 6d 70 6f 72 74 2f 6e xt-line import/n
00006880: 6f 2d 75 6e 75 73 65 64 2d 6d 6f 64 75 6c 65 73 o-unused-modules
00006890: 5c 6e 5c 6e 5c 6e 65 78 70 6f 72 74 20 64 65 66 \n\n\nexport def
000068a0: 61 75 6c 74 20 7b 5c 6e 20 20 6e 61 6d 65 3a 20 ault {\n name:
000068b0: 27 66 6c 69 70 27 2c 5c 6e 20 20 65 6e 61 62 6c 'flip',\n enabl
000068c0: 65 64 3a 20 74 72 75 65 2c 5c 6e 20 20 70 68 61 ed: true,\n pha
000068d0: 73 65 3a 20 27 6d 61 69 6e 27 2c 5c 6e 20 20 66 se: 'main',\n f
000068e0: 6e 3a 20 66 6c 69 70 2c 5c 6e 20 20 72 65 71 75 n: flip,\n requ
000068f0: 69 72 65 73 49 66 45 78 69 73 74 73 3a 20 5b 27 iresIfExists: ['
00006900: 6f 66 66 73 65 74 27 5d 2c 5c 6e 20 20 64 61 74 offset'],\n dat
00006910: 61 3a 20 7b 5c 6e 20 20 20 20 5f 73 6b 69 70 3a a: {\n _skip:
00006920: 20 66 61 6c 73 65 5c 6e 20 20 7d 5c 6e 7d 3b 22 false\n }\n};"
00006930: 2c 22 69 6d 70 6f 72 74 20 7b 20 74 6f 70 2c 20 ,"import { top,
00006940: 62 6f 74 74 6f 6d 2c 20 6c 65 66 74 2c 20 72 69 bottom, left, ri
00006950: 67 68 74 20 7d 20 66 72 6f 6d 20 5c 22 2e 2e 2f ght } from \"../
00006960: 65 6e 75 6d 73 2e 6a 73 5c 22 3b 5c 6e 69 6d 70 enums.js\";\nimp
00006970: 6f 72 74 20 64 65 74 65 63 74 4f 76 65 72 66 6c ort detectOverfl
00006980: 6f 77 20 66 72 6f 6d 20 5c 22 2e 2e 2f 75 74 69 ow from \"../uti
00006990: 6c 73 2f 64 65 74 65 63 74 4f 76 65 72 66 6c 6f ls/detectOverflo
000069a0: 77 2e 6a 73 5c 22 3b 5c 6e 5c 6e 66 75 6e 63 74 w.js\";\n\nfunct
000069b0: 69 6f 6e 20 67 65 74 53 69 64 65 4f 66 66 73 65 ion getSideOffse
000069c0: 74 73 28 6f 76 65 72 66 6c 6f 77 2c 20 72 65 63 ts(overflow, rec
000069d0: 74 2c 20 70 72 65 76 65 6e 74 65 64 4f 66 66 73 t, preventedOffs
000069e0: 65 74 73 29 20 7b 5c 6e 20 20 69 66 20 28 70 72 ets) {\n if (pr
000069f0: 65 76 65 6e 74 65 64 4f 66 66 73 65 74 73 20 3d eventedOffsets =
00006a00: 3d 3d 20 76 6f 69 64 20 30 29 20 7b 5c 6e 20 20 == void 0) {\n
00006a10: 20 20 70 72 65 76 65 6e 74 65 64 4f 66 66 73 65 preventedOffse
00006a20: 74 73 20 3d 20 7b 5c 6e 20 20 20 20 20 20 78 3a ts = {\n x:
00006a30: 20 30 2c 5c 6e 20 20 20 20 20 20 79 3a 20 30 5c 0,\n y: 0\
00006a40: 6e 20 20 20 20 7d 3b 5c 6e 20 20 7d 5c 6e 5c 6e n };\n }\n\n
00006a50: 20 20 72 65 74 75 72 6e 20 7b 5c 6e 20 20 20 20 return {\n
00006a60: 74 6f 70 3a 20 6f 76 65 72 66 6c 6f 77 2e 74 6f top: overflow.to
00006a70: 70 20 2d 20 72 65 63 74 2e 68 65 69 67 68 74 20 p - rect.height
00006a80: 2d 20 70 72 65 76 65 6e 74 65 64 4f 66 66 73 65 - preventedOffse
00006a90: 74 73 2e 79 2c 5c 6e 20 20 20 20 72 69 67 68 74 ts.y,\n right
00006aa0: 3a 20 6f 76 65 72 66 6c 6f 77 2e 72 69 67 68 74 : overflow.right
00006ab0: 20 2d 20 72 65 63 74 2e 77 69 64 74 68 20 2b 20 - rect.width +
00006ac0: 70 72 65 76 65 6e 74 65 64 4f 66 66 73 65 74 73 preventedOffsets
00006ad0: 2e 78 2c 5c 6e 20 20 20 20 62 6f 74 74 6f 6d 3a .x,\n bottom:
00006ae0: 20 6f 76 65 72 66 6c 6f 77 2e 62 6f 74 74 6f 6d overflow.bottom
00006af0: 20 2d 20 72 65 63 74 2e 68 65 69 67 68 74 20 2b - rect.height +
00006b00: 20 70 72 65 76 65 6e 74 65 64 4f 66 66 73 65 74 preventedOffset
00006b10: 73 2e 79 2c 5c 6e 20 20 20 20 6c 65 66 74 3a 20 s.y,\n left:
00006b20: 6f 76 65 72 66 6c 6f 77 2e 6c 65 66 74 20 2d 20 overflow.left -
00006b30: 72 65 63 74 2e 77 69 64 74 68 20 2d 20 70 72 65 rect.width - pre
00006b40: 76 65 6e 74 65 64 4f 66 66 73 65 74 73 2e 78 5c ventedOffsets.x\
00006b50: 6e 20 20 7d 3b 5c 6e 7d 5c 6e 5c 6e 66 75 6e 63 n };\n}\n\nfunc
00006b60: 74 69 6f 6e 20 69 73 41 6e 79 53 69 64 65 46 75 tion isAnySideFu
00006b70: 6c 6c 79 43 6c 69 70 70 65 64 28 6f 76 65 72 66 llyClipped(overf
00006b80: 6c 6f 77 29 20 7b 5c 6e 20 20 72 65 74 75 72 6e low) {\n return
00006b90: 20 5b 74 6f 70 2c 20 72 69 67 68 74 2c 20 62 6f [top, right, bo
00006ba0: 74 74 6f 6d 2c 20 6c 65 66 74 5d 2e 73 6f 6d 65 ttom, left].some
00006bb0: 28 66 75 6e 63 74 69 6f 6e 20 28 73 69 64 65 29 (function (side)
00006bc0: 20 7b 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 6f {\n return o
00006bd0: 76 65 72 66 6c 6f 77 5b 73 69 64 65 5d 20 3e 3d verflow[side] >=
00006be0: 20 30 3b 5c 6e 20 20 7d 29 3b 5c 6e 7d 5c 6e 5c 0;\n });\n}\n\
00006bf0: 6e 66 75 6e 63 74 69 6f 6e 20 68 69 64 65 28 5f nfunction hide(_
00006c00: 72 65 66 29 20 7b 5c 6e 20 20 76 61 72 20 73 74 ref) {\n var st
00006c10: 61 74 65 20 3d 20 5f 72 65 66 2e 73 74 61 74 65 ate = _ref.state
00006c20: 2c 5c 6e 20 20 20 20 20 20 6e 61 6d 65 20 3d 20 ,\n name =
00006c30: 5f 72 65 66 2e 6e 61 6d 65 3b 5c 6e 20 20 76 61 _ref.name;\n va
00006c40: 72 20 72 65 66 65 72 65 6e 63 65 52 65 63 74 20 r referenceRect
00006c50: 3d 20 73 74 61 74 65 2e 72 65 63 74 73 2e 72 65 = state.rects.re
00006c60: 66 65 72 65 6e 63 65 3b 5c 6e 20 20 76 61 72 20 ference;\n var
00006c70: 70 6f 70 70 65 72 52 65 63 74 20 3d 20 73 74 61 popperRect = sta
00006c80: 74 65 2e 72 65 63 74 73 2e 70 6f 70 70 65 72 3b te.rects.popper;
00006c90: 5c 6e 20 20 76 61 72 20 70 72 65 76 65 6e 74 65 \n var prevente
00006ca0: 64 4f 66 66 73 65 74 73 20 3d 20 73 74 61 74 65 dOffsets = state
00006cb0: 2e 6d 6f 64 69 66 69 65 72 73 44 61 74 61 2e 70 .modifiersData.p
00006cc0: 72 65 76 65 6e 74 4f 76 65 72 66 6c 6f 77 3b 5c reventOverflow;\
00006cd0: 6e 20 20 76 61 72 20 72 65 66 65 72 65 6e 63 65 n var reference
00006ce0: 4f 76 65 72 66 6c 6f 77 20 3d 20 64 65 74 65 63 Overflow = detec
00006cf0: 74 4f 76 65 72 66 6c 6f 77 28 73 74 61 74 65 2c tOverflow(state,
00006d00: 20 7b 5c 6e 20 20 20 20 65 6c 65 6d 65 6e 74 43 {\n elementC
00006d10: 6f 6e 74 65 78 74 3a 20 27 72 65 66 65 72 65 6e ontext: 'referen
00006d20: 63 65 27 5c 6e 20 20 7d 29 3b 5c 6e 20 20 76 61 ce'\n });\n va
00006d30: 72 20 70 6f 70 70 65 72 41 6c 74 4f 76 65 72 66 r popperAltOverf
00006d40: 6c 6f 77 20 3d 20 64 65 74 65 63 74 4f 76 65 72 low = detectOver
00006d50: 66 6c 6f 77 28 73 74 61 74 65 2c 20 7b 5c 6e 20 flow(state, {\n
00006d60: 20 20 20 61 6c 74 42 6f 75 6e 64 61 72 79 3a 20 altBoundary:
00006d70: 74 72 75 65 5c 6e 20 20 7d 29 3b 5c 6e 20 20 76 true\n });\n v
00006d80: 61 72 20 72 65 66 65 72 65 6e 63 65 43 6c 69 70 ar referenceClip
00006d90: 70 69 6e 67 4f 66 66 73 65 74 73 20 3d 20 67 65 pingOffsets = ge
00006da0: 74 53 69 64 65 4f 66 66 73 65 74 73 28 72 65 66 tSideOffsets(ref
00006db0: 65 72 65 6e 63 65 4f 76 65 72 66 6c 6f 77 2c 20 erenceOverflow,
00006dc0: 72 65 66 65 72 65 6e 63 65 52 65 63 74 29 3b 5c referenceRect);\
00006dd0: 6e 20 20 76 61 72 20 70 6f 70 70 65 72 45 73 63 n var popperEsc
00006de0: 61 70 65 4f 66 66 73 65 74 73 20 3d 20 67 65 74 apeOffsets = get
00006df0: 53 69 64 65 4f 66 66 73 65 74 73 28 70 6f 70 70 SideOffsets(popp
00006e00: 65 72 41 6c 74 4f 76 65 72 66 6c 6f 77 2c 20 70 erAltOverflow, p
00006e10: 6f 70 70 65 72 52 65 63 74 2c 20 70 72 65 76 65 opperRect, preve
00006e20: 6e 74 65 64 4f 66 66 73 65 74 73 29 3b 5c 6e 20 ntedOffsets);\n
00006e30: 20 76 61 72 20 69 73 52 65 66 65 72 65 6e 63 65 var isReference
00006e40: 48 69 64 64 65 6e 20 3d 20 69 73 41 6e 79 53 69 Hidden = isAnySi
00006e50: 64 65 46 75 6c 6c 79 43 6c 69 70 70 65 64 28 72 deFullyClipped(r
00006e60: 65 66 65 72 65 6e 63 65 43 6c 69 70 70 69 6e 67 eferenceClipping
00006e70: 4f 66 66 73 65 74 73 29 3b 5c 6e 20 20 76 61 72 Offsets);\n var
00006e80: 20 68 61 73 50 6f 70 70 65 72 45 73 63 61 70 65 hasPopperEscape
00006e90: 64 20 3d 20 69 73 41 6e 79 53 69 64 65 46 75 6c d = isAnySideFul
00006ea0: 6c 79 43 6c 69 70 70 65 64 28 70 6f 70 70 65 72 lyClipped(popper
00006eb0: 45 73 63 61 70 65 4f 66 66 73 65 74 73 29 3b 5c EscapeOffsets);\
00006ec0: 6e 20 20 73 74 61 74 65 2e 6d 6f 64 69 66 69 65 n state.modifie
00006ed0: 72 73 44 61 74 61 5b 6e 61 6d 65 5d 20 3d 20 7b rsData[name] = {
00006ee0: 5c 6e 20 20 20 20 72 65 66 65 72 65 6e 63 65 43 \n referenceC
00006ef0: 6c 69 70 70 69 6e 67 4f 66 66 73 65 74 73 3a 20 lippingOffsets:
00006f00: 72 65 66 65 72 65 6e 63 65 43 6c 69 70 70 69 6e referenceClippin
00006f10: 67 4f 66 66 73 65 74 73 2c 5c 6e 20 20 20 20 70 gOffsets,\n p
00006f20: 6f 70 70 65 72 45 73 63 61 70 65 4f 66 66 73 65 opperEscapeOffse
00006f30: 74 73 3a 20 70 6f 70 70 65 72 45 73 63 61 70 65 ts: popperEscape
00006f40: 4f 66 66 73 65 74 73 2c 5c 6e 20 20 20 20 69 73 Offsets,\n is
00006f50: 52 65 66 65 72 65 6e 63 65 48 69 64 64 65 6e 3a ReferenceHidden:
00006f60: 20 69 73 52 65 66 65 72 65 6e 63 65 48 69 64 64 isReferenceHidd
00006f70: 65 6e 2c 5c 6e 20 20 20 20 68 61 73 50 6f 70 70 en,\n hasPopp
00006f80: 65 72 45 73 63 61 70 65 64 3a 20 68 61 73 50 6f erEscaped: hasPo
00006f90: 70 70 65 72 45 73 63 61 70 65 64 5c 6e 20 20 7d pperEscaped\n }
00006fa0: 3b 5c 6e 20 20 73 74 61 74 65 2e 61 74 74 72 69 ;\n state.attri
00006fb0: 62 75 74 65 73 2e 70 6f 70 70 65 72 20 3d 20 4f butes.popper = O
00006fc0: 62 6a 65 63 74 2e 61 73 73 69 67 6e 28 7b 7d 2c bject.assign({},
00006fd0: 20 73 74 61 74 65 2e 61 74 74 72 69 62 75 74 65 state.attribute
00006fe0: 73 2e 70 6f 70 70 65 72 2c 20 7b 5c 6e 20 20 20 s.popper, {\n
00006ff0: 20 27 64 61 74 61 2d 70 6f 70 70 65 72 2d 72 65 'data-popper-re
00007000: 66 65 72 65 6e 63 65 2d 68 69 64 64 65 6e 27 3a ference-hidden':
00007010: 20 69 73 52 65 66 65 72 65 6e 63 65 48 69 64 64 isReferenceHidd
00007020: 65 6e 2c 5c 6e 20 20 20 20 27 64 61 74 61 2d 70 en,\n 'data-p
00007030: 6f 70 70 65 72 2d 65 73 63 61 70 65 64 27 3a 20 opper-escaped':
00007040: 68 61 73 50 6f 70 70 65 72 45 73 63 61 70 65 64 hasPopperEscaped
00007050: 5c 6e 20 20 7d 29 3b 5c 6e 7d 20 2f 2f 20 65 73 \n });\n} // es
00007060: 6c 69 6e 74 2d 64 69 73 61 62 6c 65 2d 6e 65 78 lint-disable-nex
00007070: 74 2d 6c 69 6e 65 20 69 6d 70 6f 72 74 2f 6e 6f t-line import/no
00007080: 2d 75 6e 75 73 65 64 2d 6d 6f 64 75 6c 65 73 5c -unused-modules\
00007090: 6e 5c 6e 5c 6e 65 78 70 6f 72 74 20 64 65 66 61 n\n\nexport defa
000070a0: 75 6c 74 20 7b 5c 6e 20 20 6e 61 6d 65 3a 20 27 ult {\n name: '
000070b0: 68 69 64 65 27 2c 5c 6e 20 20 65 6e 61 62 6c 65 hide',\n enable
000070c0: 64 3a 20 74 72 75 65 2c 5c 6e 20 20 70 68 61 73 d: true,\n phas
000070d0: 65 3a 20 27 6d 61 69 6e 27 2c 5c 6e 20 20 72 65 e: 'main',\n re
000070e0: 71 75 69 72 65 73 49 66 45 78 69 73 74 73 3a 20 quiresIfExists:
000070f0: 5b 27 70 72 65 76 65 6e 74 4f 76 65 72 66 6c 6f ['preventOverflo
00007100: 77 27 5d 2c 5c 6e 20 20 66 6e 3a 20 68 69 64 65 w'],\n fn: hide
00007110: 5c 6e 7d 3b 22 2c 22 69 6d 70 6f 72 74 20 67 65 \n};","import ge
00007120: 74 42 61 73 65 50 6c 61 63 65 6d 65 6e 74 20 66 tBasePlacement f
00007130: 72 6f 6d 20 5c 22 2e 2e 2f 75 74 69 6c 73 2f 67 rom \"../utils/g
00007140: 65 74 42 61 73 65 50 6c 61 63 65 6d 65 6e 74 2e etBasePlacement.
00007150: 6a 73 5c 22 3b 5c 6e 69 6d 70 6f 72 74 20 7b 20 js\";\nimport {
00007160: 74 6f 70 2c 20 6c 65 66 74 2c 20 72 69 67 68 74 top, left, right
00007170: 2c 20 70 6c 61 63 65 6d 65 6e 74 73 20 7d 20 66 , placements } f
00007180: 72 6f 6d 20 5c 22 2e 2e 2f 65 6e 75 6d 73 2e 6a rom \"../enums.j
00007190: 73 5c 22 3b 20 2f 2f 20 65 73 6c 69 6e 74 2d 64 s\"; // eslint-d
000071a0: 69 73 61 62 6c 65 2d 6e 65 78 74 2d 6c 69 6e 65 isable-next-line
000071b0: 20 69 6d 70 6f 72 74 2f 6e 6f 2d 75 6e 75 73 65 import/no-unuse
000071c0: 64 2d 6d 6f 64 75 6c 65 73 5c 6e 5c 6e 65 78 70 d-modules\n\nexp
000071d0: 6f 72 74 20 66 75 6e 63 74 69 6f 6e 20 64 69 73 ort function dis
000071e0: 74 61 6e 63 65 41 6e 64 53 6b 69 64 64 69 6e 67 tanceAndSkidding
000071f0: 54 6f 58 59 28 70 6c 61 63 65 6d 65 6e 74 2c 20 ToXY(placement,
00007200: 72 65 63 74 73 2c 20 6f 66 66 73 65 74 29 20 7b rects, offset) {
00007210: 5c 6e 20 20 76 61 72 20 62 61 73 65 50 6c 61 63 \n var basePlac
00007220: 65 6d 65 6e 74 20 3d 20 67 65 74 42 61 73 65 50 ement = getBaseP
00007230: 6c 61 63 65 6d 65 6e 74 28 70 6c 61 63 65 6d 65 lacement(placeme
00007240: 6e 74 29 3b 5c 6e 20 20 76 61 72 20 69 6e 76 65 nt);\n var inve
00007250: 72 74 44 69 73 74 61 6e 63 65 20 3d 20 5b 6c 65 rtDistance = [le
00007260: 66 74 2c 20 74 6f 70 5d 2e 69 6e 64 65 78 4f 66 ft, top].indexOf
00007270: 28 62 61 73 65 50 6c 61 63 65 6d 65 6e 74 29 20 (basePlacement)
00007280: 3e 3d 20 30 20 3f 20 2d 31 20 3a 20 31 3b 5c 6e >= 0 ? -1 : 1;\n
00007290: 5c 6e 20 20 76 61 72 20 5f 72 65 66 20 3d 20 74 \n var _ref = t
000072a0: 79 70 65 6f 66 20 6f 66 66 73 65 74 20 3d 3d 3d ypeof offset ===
000072b0: 20 27 66 75 6e 63 74 69 6f 6e 27 20 3f 20 6f 66 'function' ? of
000072c0: 66 73 65 74 28 4f 62 6a 65 63 74 2e 61 73 73 69 fset(Object.assi
000072d0: 67 6e 28 7b 7d 2c 20 72 65 63 74 73 2c 20 7b 5c gn({}, rects, {\
000072e0: 6e 20 20 20 20 70 6c 61 63 65 6d 65 6e 74 3a 20 n placement:
000072f0: 70 6c 61 63 65 6d 65 6e 74 5c 6e 20 20 7d 29 29 placement\n }))
00007300: 20 3a 20 6f 66 66 73 65 74 2c 5c 6e 20 20 20 20 : offset,\n
00007310: 20 20 73 6b 69 64 64 69 6e 67 20 3d 20 5f 72 65 skidding = _re
00007320: 66 5b 30 5d 2c 5c 6e 20 20 20 20 20 20 64 69 73 f[0],\n dis
00007330: 74 61 6e 63 65 20 3d 20 5f 72 65 66 5b 31 5d 3b tance = _ref[1];
00007340: 5c 6e 5c 6e 20 20 73 6b 69 64 64 69 6e 67 20 3d \n\n skidding =
00007350: 20 73 6b 69 64 64 69 6e 67 20 7c 7c 20 30 3b 5c skidding || 0;\
00007360: 6e 20 20 64 69 73 74 61 6e 63 65 20 3d 20 28 64 n distance = (d
00007370: 69 73 74 61 6e 63 65 20 7c 7c 20 30 29 20 2a 20 istance || 0) *
00007380: 69 6e 76 65 72 74 44 69 73 74 61 6e 63 65 3b 5c invertDistance;\
00007390: 6e 20 20 72 65 74 75 72 6e 20 5b 6c 65 66 74 2c n return [left,
000073a0: 20 72 69 67 68 74 5d 2e 69 6e 64 65 78 4f 66 28 right].indexOf(
000073b0: 62 61 73 65 50 6c 61 63 65 6d 65 6e 74 29 20 3e basePlacement) >
000073c0: 3d 20 30 20 3f 20 7b 5c 6e 20 20 20 20 78 3a 20 = 0 ? {\n x:
000073d0: 64 69 73 74 61 6e 63 65 2c 5c 6e 20 20 20 20 79 distance,\n y
000073e0: 3a 20 73 6b 69 64 64 69 6e 67 5c 6e 20 20 7d 20 : skidding\n }
000073f0: 3a 20 7b 5c 6e 20 20 20 20 78 3a 20 73 6b 69 64 : {\n x: skid
00007400: 64 69 6e 67 2c 5c 6e 20 20 20 20 79 3a 20 64 69 ding,\n y: di
00007410: 73 74 61 6e 63 65 5c 6e 20 20 7d 3b 5c 6e 7d 5c stance\n };\n}\
00007420: 6e 5c 6e 66 75 6e 63 74 69 6f 6e 20 6f 66 66 73 n\nfunction offs
00007430: 65 74 28 5f 72 65 66 32 29 20 7b 5c 6e 20 20 76 et(_ref2) {\n v
00007440: 61 72 20 73 74 61 74 65 20 3d 20 5f 72 65 66 32 ar state = _ref2
00007450: 2e 73 74 61 74 65 2c 5c 6e 20 20 20 20 20 20 6f .state,\n o
00007460: 70 74 69 6f 6e 73 20 3d 20 5f 72 65 66 32 2e 6f ptions = _ref2.o
00007470: 70 74 69 6f 6e 73 2c 5c 6e 20 20 20 20 20 20 6e ptions,\n n
00007480: 61 6d 65 20 3d 20 5f 72 65 66 32 2e 6e 61 6d 65 ame = _ref2.name
00007490: 3b 5c 6e 20 20 76 61 72 20 5f 6f 70 74 69 6f 6e ;\n var _option
000074a0: 73 24 6f 66 66 73 65 74 20 3d 20 6f 70 74 69 6f s$offset = optio
000074b0: 6e 73 2e 6f 66 66 73 65 74 2c 5c 6e 20 20 20 20 ns.offset,\n
000074c0: 20 20 6f 66 66 73 65 74 20 3d 20 5f 6f 70 74 69 offset = _opti
000074d0: 6f 6e 73 24 6f 66 66 73 65 74 20 3d 3d 3d 20 76 ons$offset === v
000074e0: 6f 69 64 20 30 20 3f 20 5b 30 2c 20 30 5d 20 3a oid 0 ? [0, 0] :
000074f0: 20 5f 6f 70 74 69 6f 6e 73 24 6f 66 66 73 65 74 _options$offset
00007500: 3b 5c 6e 20 20 76 61 72 20 64 61 74 61 20 3d 20 ;\n var data =
00007510: 70 6c 61 63 65 6d 65 6e 74 73 2e 72 65 64 75 63 placements.reduc
00007520: 65 28 66 75 6e 63 74 69 6f 6e 20 28 61 63 63 2c e(function (acc,
00007530: 20 70 6c 61 63 65 6d 65 6e 74 29 20 7b 5c 6e 20 placement) {\n
00007540: 20 20 20 61 63 63 5b 70 6c 61 63 65 6d 65 6e 74 acc[placement
00007550: 5d 20 3d 20 64 69 73 74 61 6e 63 65 41 6e 64 53 ] = distanceAndS
00007560: 6b 69 64 64 69 6e 67 54 6f 58 59 28 70 6c 61 63 kiddingToXY(plac
00007570: 65 6d 65 6e 74 2c 20 73 74 61 74 65 2e 72 65 63 ement, state.rec
00007580: 74 73 2c 20 6f 66 66 73 65 74 29 3b 5c 6e 20 20 ts, offset);\n
00007590: 20 20 72 65 74 75 72 6e 20 61 63 63 3b 5c 6e 20 return acc;\n
000075a0: 20 7d 2c 20 7b 7d 29 3b 5c 6e 20 20 76 61 72 20 }, {});\n var
000075b0: 5f 64 61 74 61 24 73 74 61 74 65 24 70 6c 61 63 _data$state$plac
000075c0: 65 6d 65 6e 74 20 3d 20 64 61 74 61 5b 73 74 61 ement = data[sta
000075d0: 74 65 2e 70 6c 61 63 65 6d 65 6e 74 5d 2c 5c 6e te.placement],\n
000075e0: 20 20 20 20 20 20 78 20 3d 20 5f 64 61 74 61 24 x = _data$
000075f0: 73 74 61 74 65 24 70 6c 61 63 65 6d 65 6e 74 2e state$placement.
00007600: 78 2c 5c 6e 20 20 20 20 20 20 79 20 3d 20 5f 64 x,\n y = _d
00007610: 61 74 61 24 73 74 61 74 65 24 70 6c 61 63 65 6d ata$state$placem
00007620: 65 6e 74 2e 79 3b 5c 6e 5c 6e 20 20 69 66 20 28 ent.y;\n\n if (
00007630: 73 74 61 74 65 2e 6d 6f 64 69 66 69 65 72 73 44 state.modifiersD
00007640: 61 74 61 2e 70 6f 70 70 65 72 4f 66 66 73 65 74 ata.popperOffset
00007650: 73 20 21 3d 20 6e 75 6c 6c 29 20 7b 5c 6e 20 20 s != null) {\n
00007660: 20 20 73 74 61 74 65 2e 6d 6f 64 69 66 69 65 72 state.modifier
00007670: 73 44 61 74 61 2e 70 6f 70 70 65 72 4f 66 66 73 sData.popperOffs
00007680: 65 74 73 2e 78 20 2b 3d 20 78 3b 5c 6e 20 20 20 ets.x += x;\n
00007690: 20 73 74 61 74 65 2e 6d 6f 64 69 66 69 65 72 73 state.modifiers
000076a0: 44 61 74 61 2e 70 6f 70 70 65 72 4f 66 66 73 65 Data.popperOffse
000076b0: 74 73 2e 79 20 2b 3d 20 79 3b 5c 6e 20 20 7d 5c ts.y += y;\n }\
000076c0: 6e 5c 6e 20 20 73 74 61 74 65 2e 6d 6f 64 69 66 n\n state.modif
000076d0: 69 65 72 73 44 61 74 61 5b 6e 61 6d 65 5d 20 3d iersData[name] =
000076e0: 20 64 61 74 61 3b 5c 6e 7d 20 2f 2f 20 65 73 6c data;\n} // esl
000076f0: 69 6e 74 2d 64 69 73 61 62 6c 65 2d 6e 65 78 74 int-disable-next
00007700: 2d 6c 69 6e 65 20 69 6d 70 6f 72 74 2f 6e 6f 2d -line import/no-
00007710: 75 6e 75 73 65 64 2d 6d 6f 64 75 6c 65 73 5c 6e unused-modules\n
00007720: 5c 6e 5c 6e 65 78 70 6f 72 74 20 64 65 66 61 75 \n\nexport defau
00007730: 6c 74 20 7b 5c 6e 20 20 6e 61 6d 65 3a 20 27 6f lt {\n name: 'o
00007740: 66 66 73 65 74 27 2c 5c 6e 20 20 65 6e 61 62 6c ffset',\n enabl
00007750: 65 64 3a 20 74 72 75 65 2c 5c 6e 20 20 70 68 61 ed: true,\n pha
00007760: 73 65 3a 20 27 6d 61 69 6e 27 2c 5c 6e 20 20 72 se: 'main',\n r
00007770: 65 71 75 69 72 65 73 3a 20 5b 27 70 6f 70 70 65 equires: ['poppe
00007780: 72 4f 66 66 73 65 74 73 27 5d 2c 5c 6e 20 20 66 rOffsets'],\n f
00007790: 6e 3a 20 6f 66 66 73 65 74 5c 6e 7d 3b 22 2c 22 n: offset\n};","
000077a0: 69 6d 70 6f 72 74 20 63 6f 6d 70 75 74 65 4f 66 import computeOf
000077b0: 66 73 65 74 73 20 66 72 6f 6d 20 5c 22 2e 2e 2f fsets from \"../
000077c0: 75 74 69 6c 73 2f 63 6f 6d 70 75 74 65 4f 66 66 utils/computeOff
000077d0: 73 65 74 73 2e 6a 73 5c 22 3b 5c 6e 5c 6e 66 75 sets.js\";\n\nfu
000077e0: 6e 63 74 69 6f 6e 20 70 6f 70 70 65 72 4f 66 66 nction popperOff
000077f0: 73 65 74 73 28 5f 72 65 66 29 20 7b 5c 6e 20 20 sets(_ref) {\n
00007800: 76 61 72 20 73 74 61 74 65 20 3d 20 5f 72 65 66 var state = _ref
00007810: 2e 73 74 61 74 65 2c 5c 6e 20 20 20 20 20 20 6e .state,\n n
00007820: 61 6d 65 20 3d 20 5f 72 65 66 2e 6e 61 6d 65 3b ame = _ref.name;
00007830: 5c 6e 20 20 2f 2f 20 4f 66 66 73 65 74 73 20 61 \n // Offsets a
00007840: 72 65 20 74 68 65 20 61 63 74 75 61 6c 20 70 6f re the actual po
00007850: 73 69 74 69 6f 6e 20 74 68 65 20 70 6f 70 70 65 sition the poppe
00007860: 72 20 6e 65 65 64 73 20 74 6f 20 68 61 76 65 20 r needs to have
00007870: 74 6f 20 62 65 5c 6e 20 20 2f 2f 20 70 72 6f 70 to be\n // prop
00007880: 65 72 6c 79 20 70 6f 73 69 74 69 6f 6e 65 64 20 erly positioned
00007890: 6e 65 61 72 20 69 74 73 20 72 65 66 65 72 65 6e near its referen
000078a0: 63 65 20 65 6c 65 6d 65 6e 74 5c 6e 20 20 2f 2f ce element\n //
000078b0: 20 54 68 69 73 20 69 73 20 74 68 65 20 6d 6f 73 This is the mos
000078c0: 74 20 62 61 73 69 63 20 70 6c 61 63 65 6d 65 6e t basic placemen
000078d0: 74 2c 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 61 t, and will be a
000078e0: 64 6a 75 73 74 65 64 20 62 79 5c 6e 20 20 2f 2f djusted by\n //
000078f0: 20 74 68 65 20 6d 6f 64 69 66 69 65 72 73 20 69 the modifiers i
00007900: 6e 20 74 68 65 20 6e 65 78 74 20 73 74 65 70 5c n the next step\
00007910: 6e 20 20 73 74 61 74 65 2e 6d 6f 64 69 66 69 65 n state.modifie
00007920: 72 73 44 61 74 61 5b 6e 61 6d 65 5d 20 3d 20 63 rsData[name] = c
00007930: 6f 6d 70 75 74 65 4f 66 66 73 65 74 73 28 7b 5c omputeOffsets({\
00007940: 6e 20 20 20 20 72 65 66 65 72 65 6e 63 65 3a 20 n reference:
00007950: 73 74 61 74 65 2e 72 65 63 74 73 2e 72 65 66 65 state.rects.refe
00007960: 72 65 6e 63 65 2c 5c 6e 20 20 20 20 65 6c 65 6d rence,\n elem
00007970: 65 6e 74 3a 20 73 74 61 74 65 2e 72 65 63 74 73 ent: state.rects
00007980: 2e 70 6f 70 70 65 72 2c 5c 6e 20 20 20 20 73 74 .popper,\n st
00007990: 72 61 74 65 67 79 3a 20 27 61 62 73 6f 6c 75 74 rategy: 'absolut
000079a0: 65 27 2c 5c 6e 20 20 20 20 70 6c 61 63 65 6d 65 e',\n placeme
000079b0: 6e 74 3a 20 73 74 61 74 65 2e 70 6c 61 63 65 6d nt: state.placem
000079c0: 65 6e 74 5c 6e 20 20 7d 29 3b 5c 6e 7d 20 2f 2f ent\n });\n} //
000079d0: 20 65 73 6c 69 6e 74 2d 64 69 73 61 62 6c 65 2d eslint-disable-
000079e0: 6e 65 78 74 2d 6c 69 6e 65 20 69 6d 70 6f 72 74 next-line import
000079f0: 2f 6e 6f 2d 75 6e 75 73 65 64 2d 6d 6f 64 75 6c /no-unused-modul
00007a00: 65 73 5c 6e 5c 6e 5c 6e 65 78 70 6f 72 74 20 64 es\n\n\nexport d
00007a10: 65 66 61 75 6c 74 20 7b 5c 6e 20 20 6e 61 6d 65 efault {\n name
00007a20: 3a 20 27 70 6f 70 70 65 72 4f 66 66 73 65 74 73 : 'popperOffsets
00007a30: 27 2c 5c 6e 20 20 65 6e 61 62 6c 65 64 3a 20 74 ',\n enabled: t
00007a40: 72 75 65 2c 5c 6e 20 20 70 68 61 73 65 3a 20 27 rue,\n phase: '
00007a50: 72 65 61 64 27 2c 5c 6e 20 20 66 6e 3a 20 70 6f read',\n fn: po
00007a60: 70 70 65 72 4f 66 66 73 65 74 73 2c 5c 6e 20 20 pperOffsets,\n
00007a70: 64 61 74 61 3a 20 7b 7d 5c 6e 7d 3b 22 2c 22 69 data: {}\n};","i
00007a80: 6d 70 6f 72 74 20 7b 20 74 6f 70 2c 20 6c 65 66 mport { top, lef
00007a90: 74 2c 20 72 69 67 68 74 2c 20 62 6f 74 74 6f 6d t, right, bottom
00007aa0: 2c 20 73 74 61 72 74 20 7d 20 66 72 6f 6d 20 5c , start } from \
00007ab0: 22 2e 2e 2f 65 6e 75 6d 73 2e 6a 73 5c 22 3b 5c "../enums.js\";\
00007ac0: 6e 69 6d 70 6f 72 74 20 67 65 74 42 61 73 65 50 nimport getBaseP
00007ad0: 6c 61 63 65 6d 65 6e 74 20 66 72 6f 6d 20 5c 22 lacement from \"
00007ae0: 2e 2e 2f 75 74 69 6c 73 2f 67 65 74 42 61 73 65 ../utils/getBase
00007af0: 50 6c 61 63 65 6d 65 6e 74 2e 6a 73 5c 22 3b 5c Placement.js\";\
00007b00: 6e 69 6d 70 6f 72 74 20 67 65 74 4d 61 69 6e 41 nimport getMainA
00007b10: 78 69 73 46 72 6f 6d 50 6c 61 63 65 6d 65 6e 74 xisFromPlacement
00007b20: 20 66 72 6f 6d 20 5c 22 2e 2e 2f 75 74 69 6c 73 from \"../utils
00007b30: 2f 67 65 74 4d 61 69 6e 41 78 69 73 46 72 6f 6d /getMainAxisFrom
00007b40: 50 6c 61 63 65 6d 65 6e 74 2e 6a 73 5c 22 3b 5c Placement.js\";\
00007b50: 6e 69 6d 70 6f 72 74 20 67 65 74 41 6c 74 41 78 nimport getAltAx
00007b60: 69 73 20 66 72 6f 6d 20 5c 22 2e 2e 2f 75 74 69 is from \"../uti
00007b70: 6c 73 2f 67 65 74 41 6c 74 41 78 69 73 2e 6a 73 ls/getAltAxis.js
00007b80: 5c 22 3b 5c 6e 69 6d 70 6f 72 74 20 7b 20 77 69 \";\nimport { wi
00007b90: 74 68 69 6e 2c 20 77 69 74 68 69 6e 4d 61 78 43 thin, withinMaxC
00007ba0: 6c 61 6d 70 20 7d 20 66 72 6f 6d 20 5c 22 2e 2e lamp } from \"..
00007bb0: 2f 75 74 69 6c 73 2f 77 69 74 68 69 6e 2e 6a 73 /utils/within.js
00007bc0: 5c 22 3b 5c 6e 69 6d 70 6f 72 74 20 67 65 74 4c \";\nimport getL
00007bd0: 61 79 6f 75 74 52 65 63 74 20 66 72 6f 6d 20 5c ayoutRect from \
00007be0: 22 2e 2e 2f 64 6f 6d 2d 75 74 69 6c 73 2f 67 65 "../dom-utils/ge
00007bf0: 74 4c 61 79 6f 75 74 52 65 63 74 2e 6a 73 5c 22 tLayoutRect.js\"
00007c00: 3b 5c 6e 69 6d 70 6f 72 74 20 67 65 74 4f 66 66 ;\nimport getOff
00007c10: 73 65 74 50 61 72 65 6e 74 20 66 72 6f 6d 20 5c setParent from \
00007c20: 22 2e 2e 2f 64 6f 6d 2d 75 74 69 6c 73 2f 67 65 "../dom-utils/ge
00007c30: 74 4f 66 66 73 65 74 50 61 72 65 6e 74 2e 6a 73 tOffsetParent.js
00007c40: 5c 22 3b 5c 6e 69 6d 70 6f 72 74 20 64 65 74 65 \";\nimport dete
00007c50: 63 74 4f 76 65 72 66 6c 6f 77 20 66 72 6f 6d 20 ctOverflow from
00007c60: 5c 22 2e 2e 2f 75 74 69 6c 73 2f 64 65 74 65 63 \"../utils/detec
00007c70: 74 4f 76 65 72 66 6c 6f 77 2e 6a 73 5c 22 3b 5c tOverflow.js\";\
00007c80: 6e 69 6d 70 6f 72 74 20 67 65 74 56 61 72 69 61 nimport getVaria
00007c90: 74 69 6f 6e 20 66 72 6f 6d 20 5c 22 2e 2e 2f 75 tion from \"../u
00007ca0: 74 69 6c 73 2f 67 65 74 56 61 72 69 61 74 69 6f tils/getVariatio
00007cb0: 6e 2e 6a 73 5c 22 3b 5c 6e 69 6d 70 6f 72 74 20 n.js\";\nimport
00007cc0: 67 65 74 46 72 65 73 68 53 69 64 65 4f 62 6a 65 getFreshSideObje
00007cd0: 63 74 20 66 72 6f 6d 20 5c 22 2e 2e 2f 75 74 69 ct from \"../uti
00007ce0: 6c 73 2f 67 65 74 46 72 65 73 68 53 69 64 65 4f ls/getFreshSideO
00007cf0: 62 6a 65 63 74 2e 6a 73 5c 22 3b 5c 6e 69 6d 70 bject.js\";\nimp
00007d00: 6f 72 74 20 7b 20 6d 69 6e 20 61 73 20 6d 61 74 ort { min as mat
00007d10: 68 4d 69 6e 2c 20 6d 61 78 20 61 73 20 6d 61 74 hMin, max as mat
00007d20: 68 4d 61 78 20 7d 20 66 72 6f 6d 20 5c 22 2e 2e hMax } from \"..
00007d30: 2f 75 74 69 6c 73 2f 6d 61 74 68 2e 6a 73 5c 22 /utils/math.js\"
00007d40: 3b 5c 6e 5c 6e 66 75 6e 63 74 69 6f 6e 20 70 72 ;\n\nfunction pr
00007d50: 65 76 65 6e 74 4f 76 65 72 66 6c 6f 77 28 5f 72 eventOverflow(_r
00007d60: 65 66 29 20 7b 5c 6e 20 20 76 61 72 20 73 74 61 ef) {\n var sta
00007d70: 74 65 20 3d 20 5f 72 65 66 2e 73 74 61 74 65 2c te = _ref.state,
00007d80: 5c 6e 20 20 20 20 20 20 6f 70 74 69 6f 6e 73 20 \n options
00007d90: 3d 20 5f 72 65 66 2e 6f 70 74 69 6f 6e 73 2c 5c = _ref.options,\
00007da0: 6e 20 20 20 20 20 20 6e 61 6d 65 20 3d 20 5f 72 n name = _r
00007db0: 65 66 2e 6e 61 6d 65 3b 5c 6e 20 20 76 61 72 20 ef.name;\n var
00007dc0: 5f 6f 70 74 69 6f 6e 73 24 6d 61 69 6e 41 78 69 _options$mainAxi
00007dd0: 73 20 3d 20 6f 70 74 69 6f 6e 73 2e 6d 61 69 6e s = options.main
00007de0: 41 78 69 73 2c 5c 6e 20 20 20 20 20 20 63 68 65 Axis,\n che
00007df0: 63 6b 4d 61 69 6e 41 78 69 73 20 3d 20 5f 6f 70 ckMainAxis = _op
00007e00: 74 69 6f 6e 73 24 6d 61 69 6e 41 78 69 73 20 3d tions$mainAxis =
00007e10: 3d 3d 20 76 6f 69 64 20 30 20 3f 20 74 72 75 65 == void 0 ? true
00007e20: 20 3a 20 5f 6f 70 74 69 6f 6e 73 24 6d 61 69 6e : _options$main
00007e30: 41 78 69 73 2c 5c 6e 20 20 20 20 20 20 5f 6f 70 Axis,\n _op
00007e40: 74 69 6f 6e 73 24 61 6c 74 41 78 69 73 20 3d 20 tions$altAxis =
00007e50: 6f 70 74 69 6f 6e 73 2e 61 6c 74 41 78 69 73 2c options.altAxis,
00007e60: 5c 6e 20 20 20 20 20 20 63 68 65 63 6b 41 6c 74 \n checkAlt
00007e70: 41 78 69 73 20 3d 20 5f 6f 70 74 69 6f 6e 73 24 Axis = _options$
00007e80: 61 6c 74 41 78 69 73 20 3d 3d 3d 20 76 6f 69 64 altAxis === void
00007e90: 20 30 20 3f 20 66 61 6c 73 65 20 3a 20 5f 6f 70 0 ? false : _op
00007ea0: 74 69 6f 6e 73 24 61 6c 74 41 78 69 73 2c 5c 6e tions$altAxis,\n
00007eb0: 20 20 20 20 20 20 62 6f 75 6e 64 61 72 79 20 3d boundary =
00007ec0: 20 6f 70 74 69 6f 6e 73 2e 62 6f 75 6e 64 61 72 options.boundar
00007ed0: 79 2c 5c 6e 20 20 20 20 20 20 72 6f 6f 74 42 6f y,\n rootBo
00007ee0: 75 6e 64 61 72 79 20 3d 20 6f 70 74 69 6f 6e 73 undary = options
00007ef0: 2e 72 6f 6f 74 42 6f 75 6e 64 61 72 79 2c 5c 6e .rootBoundary,\n
00007f00: 20 20 20 20 20 20 61 6c 74 42 6f 75 6e 64 61 72 altBoundar
00007f10: 79 20 3d 20 6f 70 74 69 6f 6e 73 2e 61 6c 74 42 y = options.altB
00007f20: 6f 75 6e 64 61 72 79 2c 5c 6e 20 20 20 20 20 20 oundary,\n
00007f30: 70 61 64 64 69 6e 67 20 3d 20 6f 70 74 69 6f 6e padding = option
00007f40: 73 2e 70 61 64 64 69 6e 67 2c 5c 6e 20 20 20 20 s.padding,\n
00007f50: 20 20 5f 6f 70 74 69 6f 6e 73 24 74 65 74 68 65 _options$tethe
00007f60: 72 20 3d 20 6f 70 74 69 6f 6e 73 2e 74 65 74 68 r = options.teth
00007f70: 65 72 2c 5c 6e 20 20 20 20 20 20 74 65 74 68 65 er,\n tethe
00007f80: 72 20 3d 20 5f 6f 70 74 69 6f 6e 73 24 74 65 74 r = _options$tet
00007f90: 68 65 72 20 3d 3d 3d 20 76 6f 69 64 20 30 20 3f her === void 0 ?
00007fa0: 20 74 72 75 65 20 3a 20 5f 6f 70 74 69 6f 6e 73 true : _options
00007fb0: 24 74 65 74 68 65 72 2c 5c 6e 20 20 20 20 20 20 $tether,\n
00007fc0: 5f 6f 70 74 69 6f 6e 73 24 74 65 74 68 65 72 4f _options$tetherO
00007fd0: 66 66 73 65 74 20 3d 20 6f 70 74 69 6f 6e 73 2e ffset = options.
00007fe0: 74 65 74 68 65 72 4f 66 66 73 65 74 2c 5c 6e 20 tetherOffset,\n
00007ff0: 20 20 20 20 20 74 65 74 68 65 72 4f 66 66 73 65 tetherOffse
00008000: 74 20 3d 20 5f 6f 70 74 69 6f 6e 73 24 74 65 74 t = _options$tet
00008010: 68 65 72 4f 66 66 73 65 74 20 3d 3d 3d 20 76 6f herOffset === vo
00008020: 69 64 20 30 20 3f 20 30 20 3a 20 5f 6f 70 74 69 id 0 ? 0 : _opti
00008030: 6f 6e 73 24 74 65 74 68 65 72 4f 66 66 73 65 74 ons$tetherOffset
00008040: 3b 5c 6e 20 20 76 61 72 20 6f 76 65 72 66 6c 6f ;\n var overflo
00008050: 77 20 3d 20 64 65 74 65 63 74 4f 76 65 72 66 6c w = detectOverfl
00008060: 6f 77 28 73 74 61 74 65 2c 20 7b 5c 6e 20 20 20 ow(state, {\n
00008070: 20 62 6f 75 6e 64 61 72 79 3a 20 62 6f 75 6e 64 boundary: bound
00008080: 61 72 79 2c 5c 6e 20 20 20 20 72 6f 6f 74 42 6f ary,\n rootBo
00008090: 75 6e 64 61 72 79 3a 20 72 6f 6f 74 42 6f 75 6e undary: rootBoun
000080a0: 64 61 72 79 2c 5c 6e 20 20 20 20 70 61 64 64 69 dary,\n paddi
000080b0: 6e 67 3a 20 70 61 64 64 69 6e 67 2c 5c 6e 20 20 ng: padding,\n
000080c0: 20 20 61 6c 74 42 6f 75 6e 64 61 72 79 3a 20 61 altBoundary: a
000080d0: 6c 74 42 6f 75 6e 64 61 72 79 5c 6e 20 20 7d 29 ltBoundary\n })
000080e0: 3b 5c 6e 20 20 76 61 72 20 62 61 73 65 50 6c 61 ;\n var basePla
000080f0: 63 65 6d 65 6e 74 20 3d 20 67 65 74 42 61 73 65 cement = getBase
00008100: 50 6c 61 63 65 6d 65 6e 74 28 73 74 61 74 65 2e Placement(state.
00008110: 70 6c 61 63 65 6d 65 6e 74 29 3b 5c 6e 20 20 76 placement);\n v
00008120: 61 72 20 76 61 72 69 61 74 69 6f 6e 20 3d 20 67 ar variation = g
00008130: 65 74 56 61 72 69 61 74 69 6f 6e 28 73 74 61 74 etVariation(stat
00008140: 65 2e 70 6c 61 63 65 6d 65 6e 74 29 3b 5c 6e 20 e.placement);\n
00008150: 20 76 61 72 20 69 73 42 61 73 65 50 6c 61 63 65 var isBasePlace
00008160: 6d 65 6e 74 20 3d 20 21 76 61 72 69 61 74 69 6f ment = !variatio
00008170: 6e 3b 5c 6e 20 20 76 61 72 20 6d 61 69 6e 41 78 n;\n var mainAx
00008180: 69 73 20 3d 20 67 65 74 4d 61 69 6e 41 78 69 73 is = getMainAxis
00008190: 46 72 6f 6d 50 6c 61 63 65 6d 65 6e 74 28 62 61 FromPlacement(ba
000081a0: 73 65 50 6c 61 63 65 6d 65 6e 74 29 3b 5c 6e 20 sePlacement);\n
000081b0: 20 76 61 72 20 61 6c 74 41 78 69 73 20 3d 20 67 var altAxis = g
000081c0: 65 74 41 6c 74 41 78 69 73 28 6d 61 69 6e 41 78 etAltAxis(mainAx
000081d0: 69 73 29 3b 5c 6e 20 20 76 61 72 20 70 6f 70 70 is);\n var popp
000081e0: 65 72 4f 66 66 73 65 74 73 20 3d 20 73 74 61 74 erOffsets = stat
000081f0: 65 2e 6d 6f 64 69 66 69 65 72 73 44 61 74 61 2e e.modifiersData.
00008200: 70 6f 70 70 65 72 4f 66 66 73 65 74 73 3b 5c 6e popperOffsets;\n
00008210: 20 20 76 61 72 20 72 65 66 65 72 65 6e 63 65 52 var referenceR
00008220: 65 63 74 20 3d 20 73 74 61 74 65 2e 72 65 63 74 ect = state.rect
00008230: 73 2e 72 65 66 65 72 65 6e 63 65 3b 5c 6e 20 20 s.reference;\n
00008240: 76 61 72 20 70 6f 70 70 65 72 52 65 63 74 20 3d var popperRect =
00008250: 20 73 74 61 74 65 2e 72 65 63 74 73 2e 70 6f 70 state.rects.pop
00008260: 70 65 72 3b 5c 6e 20 20 76 61 72 20 74 65 74 68 per;\n var teth
00008270: 65 72 4f 66 66 73 65 74 56 61 6c 75 65 20 3d 20 erOffsetValue =
00008280: 74 79 70 65 6f 66 20 74 65 74 68 65 72 4f 66 66 typeof tetherOff
00008290: 73 65 74 20 3d 3d 3d 20 27 66 75 6e 63 74 69 6f set === 'functio
000082a0: 6e 27 20 3f 20 74 65 74 68 65 72 4f 66 66 73 65 n' ? tetherOffse
000082b0: 74 28 4f 62 6a 65 63 74 2e 61 73 73 69 67 6e 28 t(Object.assign(
000082c0: 7b 7d 2c 20 73 74 61 74 65 2e 72 65 63 74 73 2c {}, state.rects,
000082d0: 20 7b 5c 6e 20 20 20 20 70 6c 61 63 65 6d 65 6e {\n placemen
000082e0: 74 3a 20 73 74 61 74 65 2e 70 6c 61 63 65 6d 65 t: state.placeme
000082f0: 6e 74 5c 6e 20 20 7d 29 29 20 3a 20 74 65 74 68 nt\n })) : teth
00008300: 65 72 4f 66 66 73 65 74 3b 5c 6e 20 20 76 61 72 erOffset;\n var
00008310: 20 6e 6f 72 6d 61 6c 69 7a 65 64 54 65 74 68 65 normalizedTethe
00008320: 72 4f 66 66 73 65 74 56 61 6c 75 65 20 3d 20 74 rOffsetValue = t
00008330: 79 70 65 6f 66 20 74 65 74 68 65 72 4f 66 66 73 ypeof tetherOffs
00008340: 65 74 56 61 6c 75 65 20 3d 3d 3d 20 27 6e 75 6d etValue === 'num
00008350: 62 65 72 27 20 3f 20 7b 5c 6e 20 20 20 20 6d 61 ber' ? {\n ma
00008360: 69 6e 41 78 69 73 3a 20 74 65 74 68 65 72 4f 66 inAxis: tetherOf
00008370: 66 73 65 74 56 61 6c 75 65 2c 5c 6e 20 20 20 20 fsetValue,\n
00008380: 61 6c 74 41 78 69 73 3a 20 74 65 74 68 65 72 4f altAxis: tetherO
00008390: 66 66 73 65 74 56 61 6c 75 65 5c 6e 20 20 7d 20 ffsetValue\n }
000083a0: 3a 20 4f 62 6a 65 63 74 2e 61 73 73 69 67 6e 28 : Object.assign(
000083b0: 7b 5c 6e 20 20 20 20 6d 61 69 6e 41 78 69 73 3a {\n mainAxis:
000083c0: 20 30 2c 5c 6e 20 20 20 20 61 6c 74 41 78 69 73 0,\n altAxis
000083d0: 3a 20 30 5c 6e 20 20 7d 2c 20 74 65 74 68 65 72 : 0\n }, tether
000083e0: 4f 66 66 73 65 74 56 61 6c 75 65 29 3b 5c 6e 20 OffsetValue);\n
000083f0: 20 76 61 72 20 6f 66 66 73 65 74 4d 6f 64 69 66 var offsetModif
00008400: 69 65 72 53 74 61 74 65 20 3d 20 73 74 61 74 65 ierState = state
00008410: 2e 6d 6f 64 69 66 69 65 72 73 44 61 74 61 2e 6f .modifiersData.o
00008420: 66 66 73 65 74 20 3f 20 73 74 61 74 65 2e 6d 6f ffset ? state.mo
00008430: 64 69 66 69 65 72 73 44 61 74 61 2e 6f 66 66 73 difiersData.offs
00008440: 65 74 5b 73 74 61 74 65 2e 70 6c 61 63 65 6d 65 et[state.placeme
00008450: 6e 74 5d 20 3a 20 6e 75 6c 6c 3b 5c 6e 20 20 76 nt] : null;\n v
00008460: 61 72 20 64 61 74 61 20 3d 20 7b 5c 6e 20 20 20 ar data = {\n
00008470: 20 78 3a 20 30 2c 5c 6e 20 20 20 20 79 3a 20 30 x: 0,\n y: 0
00008480: 5c 6e 20 20 7d 3b 5c 6e 5c 6e 20 20 69 66 20 28 \n };\n\n if (
00008490: 21 70 6f 70 70 65 72 4f 66 66 73 65 74 73 29 20 !popperOffsets)
000084a0: 7b 5c 6e 20 20 20 20 72 65 74 75 72 6e 3b 5c 6e {\n return;\n
000084b0: 20 20 7d 5c 6e 5c 6e 20 20 69 66 20 28 63 68 65 }\n\n if (che
000084c0: 63 6b 4d 61 69 6e 41 78 69 73 29 20 7b 5c 6e 20 ckMainAxis) {\n
000084d0: 20 20 20 76 61 72 20 5f 6f 66 66 73 65 74 4d 6f var _offsetMo
000084e0: 64 69 66 69 65 72 53 74 61 74 65 24 3b 5c 6e 5c difierState$;\n\
000084f0: 6e 20 20 20 20 76 61 72 20 6d 61 69 6e 53 69 64 n var mainSid
00008500: 65 20 3d 20 6d 61 69 6e 41 78 69 73 20 3d 3d 3d e = mainAxis ===
00008510: 20 27 79 27 20 3f 20 74 6f 70 20 3a 20 6c 65 66 'y' ? top : lef
00008520: 74 3b 5c 6e 20 20 20 20 76 61 72 20 61 6c 74 53 t;\n var altS
00008530: 69 64 65 20 3d 20 6d 61 69 6e 41 78 69 73 20 3d ide = mainAxis =
00008540: 3d 3d 20 27 79 27 20 3f 20 62 6f 74 74 6f 6d 20 == 'y' ? bottom
00008550: 3a 20 72 69 67 68 74 3b 5c 6e 20 20 20 20 76 61 : right;\n va
00008560: 72 20 6c 65 6e 20 3d 20 6d 61 69 6e 41 78 69 73 r len = mainAxis
00008570: 20 3d 3d 3d 20 27 79 27 20 3f 20 27 68 65 69 67 === 'y' ? 'heig
00008580: 68 74 27 20 3a 20 27 77 69 64 74 68 27 3b 5c 6e ht' : 'width';\n
00008590: 20 20 20 20 76 61 72 20 6f 66 66 73 65 74 20 3d var offset =
000085a0: 20 70 6f 70 70 65 72 4f 66 66 73 65 74 73 5b 6d popperOffsets[m
000085b0: 61 69 6e 41 78 69 73 5d 3b 5c 6e 20 20 20 20 76 ainAxis];\n v
000085c0: 61 72 20 6d 69 6e 20 3d 20 6f 66 66 73 65 74 20 ar min = offset
000085d0: 2b 20 6f 76 65 72 66 6c 6f 77 5b 6d 61 69 6e 53 + overflow[mainS
000085e0: 69 64 65 5d 3b 5c 6e 20 20 20 20 76 61 72 20 6d ide];\n var m
000085f0: 61 78 20 3d 20 6f 66 66 73 65 74 20 2d 20 6f 76 ax = offset - ov
00008600: 65 72 66 6c 6f 77 5b 61 6c 74 53 69 64 65 5d 3b erflow[altSide];
00008610: 5c 6e 20 20 20 20 76 61 72 20 61 64 64 69 74 69 \n var additi
00008620: 76 65 20 3d 20 74 65 74 68 65 72 20 3f 20 2d 70 ve = tether ? -p
00008630: 6f 70 70 65 72 52 65 63 74 5b 6c 65 6e 5d 20 2f opperRect[len] /
00008640: 20 32 20 3a 20 30 3b 5c 6e 20 20 20 20 76 61 72 2 : 0;\n var
00008650: 20 6d 69 6e 4c 65 6e 20 3d 20 76 61 72 69 61 74 minLen = variat
00008660: 69 6f 6e 20 3d 3d 3d 20 73 74 61 72 74 20 3f 20 ion === start ?
00008670: 72 65 66 65 72 65 6e 63 65 52 65 63 74 5b 6c 65 referenceRect[le
00008680: 6e 5d 20 3a 20 70 6f 70 70 65 72 52 65 63 74 5b n] : popperRect[
00008690: 6c 65 6e 5d 3b 5c 6e 20 20 20 20 76 61 72 20 6d len];\n var m
000086a0: 61 78 4c 65 6e 20 3d 20 76 61 72 69 61 74 69 6f axLen = variatio
000086b0: 6e 20 3d 3d 3d 20 73 74 61 72 74 20 3f 20 2d 70 n === start ? -p
000086c0: 6f 70 70 65 72 52 65 63 74 5b 6c 65 6e 5d 20 3a opperRect[len] :
000086d0: 20 2d 72 65 66 65 72 65 6e 63 65 52 65 63 74 5b -referenceRect[
000086e0: 6c 65 6e 5d 3b 20 2f 2f 20 57 65 20 6e 65 65 64 len]; // We need
000086f0: 20 74 6f 20 69 6e 63 6c 75 64 65 20 74 68 65 20 to include the
00008700: 61 72 72 6f 77 20 69 6e 20 74 68 65 20 63 61 6c arrow in the cal
00008710: 63 75 6c 61 74 69 6f 6e 20 73 6f 20 74 68 65 20 culation so the
00008720: 61 72 72 6f 77 20 64 6f 65 73 6e 27 74 20 67 6f arrow doesn't go
00008730: 5c 6e 20 20 20 20 2f 2f 20 6f 75 74 73 69 64 65 \n // outside
00008740: 20 74 68 65 20 72 65 66 65 72 65 6e 63 65 20 62 the reference b
00008750: 6f 75 6e 64 73 5c 6e 5c 6e 20 20 20 20 76 61 72 ounds\n\n var
00008760: 20 61 72 72 6f 77 45 6c 65 6d 65 6e 74 20 3d 20 arrowElement =
00008770: 73 74 61 74 65 2e 65 6c 65 6d 65 6e 74 73 2e 61 state.elements.a
00008780: 72 72 6f 77 3b 5c 6e 20 20 20 20 76 61 72 20 61 rrow;\n var a
00008790: 72 72 6f 77 52 65 63 74 20 3d 20 74 65 74 68 65 rrowRect = tethe
000087a0: 72 20 26 26 20 61 72 72 6f 77 45 6c 65 6d 65 6e r && arrowElemen
000087b0: 74 20 3f 20 67 65 74 4c 61 79 6f 75 74 52 65 63 t ? getLayoutRec
000087c0: 74 28 61 72 72 6f 77 45 6c 65 6d 65 6e 74 29 20 t(arrowElement)
000087d0: 3a 20 7b 5c 6e 20 20 20 20 20 20 77 69 64 74 68 : {\n width
000087e0: 3a 20 30 2c 5c 6e 20 20 20 20 20 20 68 65 69 67 : 0,\n heig
000087f0: 68 74 3a 20 30 5c 6e 20 20 20 20 7d 3b 5c 6e 20 ht: 0\n };\n
00008800: 20 20 20 76 61 72 20 61 72 72 6f 77 50 61 64 64 var arrowPadd
00008810: 69 6e 67 4f 62 6a 65 63 74 20 3d 20 73 74 61 74 ingObject = stat
00008820: 65 2e 6d 6f 64 69 66 69 65 72 73 44 61 74 61 5b e.modifiersData[
00008830: 27 61 72 72 6f 77 23 70 65 72 73 69 73 74 65 6e 'arrow#persisten
00008840: 74 27 5d 20 3f 20 73 74 61 74 65 2e 6d 6f 64 69 t'] ? state.modi
00008850: 66 69 65 72 73 44 61 74 61 5b 27 61 72 72 6f 77 fiersData['arrow
00008860: 23 70 65 72 73 69 73 74 65 6e 74 27 5d 2e 70 61 #persistent'].pa
00008870: 64 64 69 6e 67 20 3a 20 67 65 74 46 72 65 73 68 dding : getFresh
00008880: 53 69 64 65 4f 62 6a 65 63 74 28 29 3b 5c 6e 20 SideObject();\n
00008890: 20 20 20 76 61 72 20 61 72 72 6f 77 50 61 64 64 var arrowPadd
000088a0: 69 6e 67 4d 69 6e 20 3d 20 61 72 72 6f 77 50 61 ingMin = arrowPa
000088b0: 64 64 69 6e 67 4f 62 6a 65 63 74 5b 6d 61 69 6e ddingObject[main
000088c0: 53 69 64 65 5d 3b 5c 6e 20 20 20 20 76 61 72 20 Side];\n var
000088d0: 61 72 72 6f 77 50 61 64 64 69 6e 67 4d 61 78 20 arrowPaddingMax
000088e0: 3d 20 61 72 72 6f 77 50 61 64 64 69 6e 67 4f 62 = arrowPaddingOb
000088f0: 6a 65 63 74 5b 61 6c 74 53 69 64 65 5d 3b 20 2f ject[altSide]; /
00008900: 2f 20 49 66 20 74 68 65 20 72 65 66 65 72 65 6e / If the referen
00008910: 63 65 20 6c 65 6e 67 74 68 20 69 73 20 73 6d 61 ce length is sma
00008920: 6c 6c 65 72 20 74 68 61 6e 20 74 68 65 20 61 72 ller than the ar
00008930: 72 6f 77 20 6c 65 6e 67 74 68 2c 20 77 65 20 64 row length, we d
00008940: 6f 6e 27 74 20 77 61 6e 74 5c 6e 20 20 20 20 2f on't want\n /
00008950: 2f 20 74 6f 20 69 6e 63 6c 75 64 65 20 69 74 73 / to include its
00008960: 20 66 75 6c 6c 20 73 69 7a 65 20 69 6e 20 74 68 full size in th
00008970: 65 20 63 61 6c 63 75 6c 61 74 69 6f 6e 2e 20 49 e calculation. I
00008980: 66 20 74 68 65 20 72 65 66 65 72 65 6e 63 65 20 f the reference
00008990: 69 73 20 73 6d 61 6c 6c 5c 6e 20 20 20 20 2f 2f is small\n //
000089a0: 20 61 6e 64 20 6e 65 61 72 20 74 68 65 20 65 64 and near the ed
000089b0: 67 65 20 6f 66 20 61 20 62 6f 75 6e 64 61 72 79 ge of a boundary
000089c0: 2c 20 74 68 65 20 70 6f 70 70 65 72 20 63 61 6e , the popper can
000089d0: 20 6f 76 65 72 66 6c 6f 77 20 65 76 65 6e 20 69 overflow even i
000089e0: 66 20 74 68 65 5c 6e 20 20 20 20 2f 2f 20 72 65 f the\n // re
000089f0: 66 65 72 65 6e 63 65 20 69 73 20 6e 6f 74 20 6f ference is not o
00008a00: 76 65 72 66 6c 6f 77 69 6e 67 20 61 73 20 77 65 verflowing as we
00008a10: 6c 6c 20 28 65 2e 67 2e 20 76 69 72 74 75 61 6c ll (e.g. virtual
00008a20: 20 65 6c 65 6d 65 6e 74 73 20 77 69 74 68 20 6e elements with n
00008a30: 6f 5c 6e 20 20 20 20 2f 2f 20 77 69 64 74 68 20 o\n // width
00008a40: 6f 72 20 68 65 69 67 68 74 29 5c 6e 5c 6e 20 20 or height)\n\n
00008a50: 20 20 76 61 72 20 61 72 72 6f 77 4c 65 6e 20 3d var arrowLen =
00008a60: 20 77 69 74 68 69 6e 28 30 2c 20 72 65 66 65 72 within(0, refer
00008a70: 65 6e 63 65 52 65 63 74 5b 6c 65 6e 5d 2c 20 61 enceRect[len], a
00008a80: 72 72 6f 77 52 65 63 74 5b 6c 65 6e 5d 29 3b 5c rrowRect[len]);\
00008a90: 6e 20 20 20 20 76 61 72 20 6d 69 6e 4f 66 66 73 n var minOffs
00008aa0: 65 74 20 3d 20 69 73 42 61 73 65 50 6c 61 63 65 et = isBasePlace
00008ab0: 6d 65 6e 74 20 3f 20 72 65 66 65 72 65 6e 63 65 ment ? reference
00008ac0: 52 65 63 74 5b 6c 65 6e 5d 20 2f 20 32 20 2d 20 Rect[len] / 2 -
00008ad0: 61 64 64 69 74 69 76 65 20 2d 20 61 72 72 6f 77 additive - arrow
00008ae0: 4c 65 6e 20 2d 20 61 72 72 6f 77 50 61 64 64 69 Len - arrowPaddi
00008af0: 6e 67 4d 69 6e 20 2d 20 6e 6f 72 6d 61 6c 69 7a ngMin - normaliz
00008b00: 65 64 54 65 74 68 65 72 4f 66 66 73 65 74 56 61 edTetherOffsetVa
00008b10: 6c 75 65 2e 6d 61 69 6e 41 78 69 73 20 3a 20 6d lue.mainAxis : m
00008b20: 69 6e 4c 65 6e 20 2d 20 61 72 72 6f 77 4c 65 6e inLen - arrowLen
00008b30: 20 2d 20 61 72 72 6f 77 50 61 64 64 69 6e 67 4d - arrowPaddingM
00008b40: 69 6e 20 2d 20 6e 6f 72 6d 61 6c 69 7a 65 64 54 in - normalizedT
00008b50: 65 74 68 65 72 4f 66 66 73 65 74 56 61 6c 75 65 etherOffsetValue
00008b60: 2e 6d 61 69 6e 41 78 69 73 3b 5c 6e 20 20 20 20 .mainAxis;\n
00008b70: 76 61 72 20 6d 61 78 4f 66 66 73 65 74 20 3d 20 var maxOffset =
00008b80: 69 73 42 61 73 65 50 6c 61 63 65 6d 65 6e 74 20 isBasePlacement
00008b90: 3f 20 2d 72 65 66 65 72 65 6e 63 65 52 65 63 74 ? -referenceRect
00008ba0: 5b 6c 65 6e 5d 20 2f 20 32 20 2b 20 61 64 64 69 [len] / 2 + addi
00008bb0: 74 69 76 65 20 2b 20 61 72 72 6f 77 4c 65 6e 20 tive + arrowLen
00008bc0: 2b 20 61 72 72 6f 77 50 61 64 64 69 6e 67 4d 61 + arrowPaddingMa
00008bd0: 78 20 2b 20 6e 6f 72 6d 61 6c 69 7a 65 64 54 65 x + normalizedTe
00008be0: 74 68 65 72 4f 66 66 73 65 74 56 61 6c 75 65 2e therOffsetValue.
00008bf0: 6d 61 69 6e 41 78 69 73 20 3a 20 6d 61 78 4c 65 mainAxis : maxLe
00008c00: 6e 20 2b 20 61 72 72 6f 77 4c 65 6e 20 2b 20 61 n + arrowLen + a
00008c10: 72 72 6f 77 50 61 64 64 69 6e 67 4d 61 78 20 2b rrowPaddingMax +
00008c20: 20 6e 6f 72 6d 61 6c 69 7a 65 64 54 65 74 68 65 normalizedTethe
00008c30: 72 4f 66 66 73 65 74 56 61 6c 75 65 2e 6d 61 69 rOffsetValue.mai
00008c40: 6e 41 78 69 73 3b 5c 6e 20 20 20 20 76 61 72 20 nAxis;\n var
00008c50: 61 72 72 6f 77 4f 66 66 73 65 74 50 61 72 65 6e arrowOffsetParen
00008c60: 74 20 3d 20 73 74 61 74 65 2e 65 6c 65 6d 65 6e t = state.elemen
00008c70: 74 73 2e 61 72 72 6f 77 20 26 26 20 67 65 74 4f ts.arrow && getO
00008c80: 66 66 73 65 74 50 61 72 65 6e 74 28 73 74 61 74 ffsetParent(stat
00008c90: 65 2e 65 6c 65 6d 65 6e 74 73 2e 61 72 72 6f 77 e.elements.arrow
00008ca0: 29 3b 5c 6e 20 20 20 20 76 61 72 20 63 6c 69 65 );\n var clie
00008cb0: 6e 74 4f 66 66 73 65 74 20 3d 20 61 72 72 6f 77 ntOffset = arrow
00008cc0: 4f 66 66 73 65 74 50 61 72 65 6e 74 20 3f 20 6d OffsetParent ? m
00008cd0: 61 69 6e 41 78 69 73 20 3d 3d 3d 20 27 79 27 20 ainAxis === 'y'
00008ce0: 3f 20 61 72 72 6f 77 4f 66 66 73 65 74 50 61 72 ? arrowOffsetPar
00008cf0: 65 6e 74 2e 63 6c 69 65 6e 74 54 6f 70 20 7c 7c ent.clientTop ||
00008d00: 20 30 20 3a 20 61 72 72 6f 77 4f 66 66 73 65 74 0 : arrowOffset
00008d10: 50 61 72 65 6e 74 2e 63 6c 69 65 6e 74 4c 65 66 Parent.clientLef
00008d20: 74 20 7c 7c 20 30 20 3a 20 30 3b 5c 6e 20 20 20 t || 0 : 0;\n
00008d30: 20 76 61 72 20 6f 66 66 73 65 74 4d 6f 64 69 66 var offsetModif
00008d40: 69 65 72 56 61 6c 75 65 20 3d 20 28 5f 6f 66 66 ierValue = (_off
00008d50: 73 65 74 4d 6f 64 69 66 69 65 72 53 74 61 74 65 setModifierState
00008d60: 24 20 3d 20 6f 66 66 73 65 74 4d 6f 64 69 66 69 $ = offsetModifi
00008d70: 65 72 53 74 61 74 65 20 3d 3d 20 6e 75 6c 6c 20 erState == null
00008d80: 3f 20 76 6f 69 64 20 30 20 3a 20 6f 66 66 73 65 ? void 0 : offse
00008d90: 74 4d 6f 64 69 66 69 65 72 53 74 61 74 65 5b 6d tModifierState[m
00008da0: 61 69 6e 41 78 69 73 5d 29 20 21 3d 20 6e 75 6c ainAxis]) != nul
00008db0: 6c 20 3f 20 5f 6f 66 66 73 65 74 4d 6f 64 69 66 l ? _offsetModif
00008dc0: 69 65 72 53 74 61 74 65 24 20 3a 20 30 3b 5c 6e ierState$ : 0;\n
00008dd0: 20 20 20 20 76 61 72 20 74 65 74 68 65 72 4d 69 var tetherMi
00008de0: 6e 20 3d 20 6f 66 66 73 65 74 20 2b 20 6d 69 6e n = offset + min
00008df0: 4f 66 66 73 65 74 20 2d 20 6f 66 66 73 65 74 4d Offset - offsetM
00008e00: 6f 64 69 66 69 65 72 56 61 6c 75 65 20 2d 20 63 odifierValue - c
00008e10: 6c 69 65 6e 74 4f 66 66 73 65 74 3b 5c 6e 20 20 lientOffset;\n
00008e20: 20 20 76 61 72 20 74 65 74 68 65 72 4d 61 78 20 var tetherMax
00008e30: 3d 20 6f 66 66 73 65 74 20 2b 20 6d 61 78 4f 66 = offset + maxOf
00008e40: 66 73 65 74 20 2d 20 6f 66 66 73 65 74 4d 6f 64 fset - offsetMod
00008e50: 69 66 69 65 72 56 61 6c 75 65 3b 5c 6e 20 20 20 ifierValue;\n
00008e60: 20 76 61 72 20 70 72 65 76 65 6e 74 65 64 4f 66 var preventedOf
00008e70: 66 73 65 74 20 3d 20 77 69 74 68 69 6e 28 74 65 fset = within(te
00008e80: 74 68 65 72 20 3f 20 6d 61 74 68 4d 69 6e 28 6d ther ? mathMin(m
00008e90: 69 6e 2c 20 74 65 74 68 65 72 4d 69 6e 29 20 3a in, tetherMin) :
00008ea0: 20 6d 69 6e 2c 20 6f 66 66 73 65 74 2c 20 74 65 min, offset, te
00008eb0: 74 68 65 72 20 3f 20 6d 61 74 68 4d 61 78 28 6d ther ? mathMax(m
00008ec0: 61 78 2c 20 74 65 74 68 65 72 4d 61 78 29 20 3a ax, tetherMax) :
00008ed0: 20 6d 61 78 29 3b 5c 6e 20 20 20 20 70 6f 70 70 max);\n popp
00008ee0: 65 72 4f 66 66 73 65 74 73 5b 6d 61 69 6e 41 78 erOffsets[mainAx
00008ef0: 69 73 5d 20 3d 20 70 72 65 76 65 6e 74 65 64 4f is] = preventedO
00008f00: 66 66 73 65 74 3b 5c 6e 20 20 20 20 64 61 74 61 ffset;\n data
00008f10: 5b 6d 61 69 6e 41 78 69 73 5d 20 3d 20 70 72 65 [mainAxis] = pre
00008f20: 76 65 6e 74 65 64 4f 66 66 73 65 74 20 2d 20 6f ventedOffset - o
00008f30: 66 66 73 65 74 3b 5c 6e 20 20 7d 5c 6e 5c 6e 20 ffset;\n }\n\n
00008f40: 20 69 66 20 28 63 68 65 63 6b 41 6c 74 41 78 69 if (checkAltAxi
00008f50: 73 29 20 7b 5c 6e 20 20 20 20 76 61 72 20 5f 6f s) {\n var _o
00008f60: 66 66 73 65 74 4d 6f 64 69 66 69 65 72 53 74 61 ffsetModifierSta
00008f70: 74 65 24 32 3b 5c 6e 5c 6e 20 20 20 20 76 61 72 te$2;\n\n var
00008f80: 20 5f 6d 61 69 6e 53 69 64 65 20 3d 20 6d 61 69 _mainSide = mai
00008f90: 6e 41 78 69 73 20 3d 3d 3d 20 27 78 27 20 3f 20 nAxis === 'x' ?
00008fa0: 74 6f 70 20 3a 20 6c 65 66 74 3b 5c 6e 5c 6e 20 top : left;\n\n
00008fb0: 20 20 20 76 61 72 20 5f 61 6c 74 53 69 64 65 20 var _altSide
00008fc0: 3d 20 6d 61 69 6e 41 78 69 73 20 3d 3d 3d 20 27 = mainAxis === '
00008fd0: 78 27 20 3f 20 62 6f 74 74 6f 6d 20 3a 20 72 69 x' ? bottom : ri
00008fe0: 67 68 74 3b 5c 6e 5c 6e 20 20 20 20 76 61 72 20 ght;\n\n var
00008ff0: 5f 6f 66 66 73 65 74 20 3d 20 70 6f 70 70 65 72 _offset = popper
00009000: 4f 66 66 73 65 74 73 5b 61 6c 74 41 78 69 73 5d Offsets[altAxis]
00009010: 3b 5c 6e 5c 6e 20 20 20 20 76 61 72 20 5f 6c 65 ;\n\n var _le
00009020: 6e 20 3d 20 61 6c 74 41 78 69 73 20 3d 3d 3d 20 n = altAxis ===
00009030: 27 79 27 20 3f 20 27 68 65 69 67 68 74 27 20 3a 'y' ? 'height' :
00009040: 20 27 77 69 64 74 68 27 3b 5c 6e 5c 6e 20 20 20 'width';\n\n
00009050: 20 76 61 72 20 5f 6d 69 6e 20 3d 20 5f 6f 66 66 var _min = _off
00009060: 73 65 74 20 2b 20 6f 76 65 72 66 6c 6f 77 5b 5f set + overflow[_
00009070: 6d 61 69 6e 53 69 64 65 5d 3b 5c 6e 5c 6e 20 20 mainSide];\n\n
00009080: 20 20 76 61 72 20 5f 6d 61 78 20 3d 20 5f 6f 66 var _max = _of
00009090: 66 73 65 74 20 2d 20 6f 76 65 72 66 6c 6f 77 5b fset - overflow[
000090a0: 5f 61 6c 74 53 69 64 65 5d 3b 5c 6e 5c 6e 20 20 _altSide];\n\n
000090b0: 20 20 76 61 72 20 69 73 4f 72 69 67 69 6e 53 69 var isOriginSi
000090c0: 64 65 20 3d 20 5b 74 6f 70 2c 20 6c 65 66 74 5d de = [top, left]
000090d0: 2e 69 6e 64 65 78 4f 66 28 62 61 73 65 50 6c 61 .indexOf(basePla
000090e0: 63 65 6d 65 6e 74 29 20 21 3d 3d 20 2d 31 3b 5c cement) !== -1;\
000090f0: 6e 5c 6e 20 20 20 20 76 61 72 20 5f 6f 66 66 73 n\n var _offs
00009100: 65 74 4d 6f 64 69 66 69 65 72 56 61 6c 75 65 20 etModifierValue
00009110: 3d 20 28 5f 6f 66 66 73 65 74 4d 6f 64 69 66 69 = (_offsetModifi
00009120: 65 72 53 74 61 74 65 24 32 20 3d 20 6f 66 66 73 erState$2 = offs
00009130: 65 74 4d 6f 64 69 66 69 65 72 53 74 61 74 65 20 etModifierState
00009140: 3d 3d 20 6e 75 6c 6c 20 3f 20 76 6f 69 64 20 30 == null ? void 0
00009150: 20 3a 20 6f 66 66 73 65 74 4d 6f 64 69 66 69 65 : offsetModifie
00009160: 72 53 74 61 74 65 5b 61 6c 74 41 78 69 73 5d 29 rState[altAxis])
00009170: 20 21 3d 20 6e 75 6c 6c 20 3f 20 5f 6f 66 66 73 != null ? _offs
00009180: 65 74 4d 6f 64 69 66 69 65 72 53 74 61 74 65 24 etModifierState$
00009190: 32 20 3a 20 30 3b 5c 6e 5c 6e 20 20 20 20 76 61 2 : 0;\n\n va
000091a0: 72 20 5f 74 65 74 68 65 72 4d 69 6e 20 3d 20 69 r _tetherMin = i
000091b0: 73 4f 72 69 67 69 6e 53 69 64 65 20 3f 20 5f 6d sOriginSide ? _m
000091c0: 69 6e 20 3a 20 5f 6f 66 66 73 65 74 20 2d 20 72 in : _offset - r
000091d0: 65 66 65 72 65 6e 63 65 52 65 63 74 5b 5f 6c 65 eferenceRect[_le
000091e0: 6e 5d 20 2d 20 70 6f 70 70 65 72 52 65 63 74 5b n] - popperRect[
000091f0: 5f 6c 65 6e 5d 20 2d 20 5f 6f 66 66 73 65 74 4d _len] - _offsetM
00009200: 6f 64 69 66 69 65 72 56 61 6c 75 65 20 2b 20 6e odifierValue + n
00009210: 6f 72 6d 61 6c 69 7a 65 64 54 65 74 68 65 72 4f ormalizedTetherO
00009220: 66 66 73 65 74 56 61 6c 75 65 2e 61 6c 74 41 78 ffsetValue.altAx
00009230: 69 73 3b 5c 6e 5c 6e 20 20 20 20 76 61 72 20 5f is;\n\n var _
00009240: 74 65 74 68 65 72 4d 61 78 20 3d 20 69 73 4f 72 tetherMax = isOr
00009250: 69 67 69 6e 53 69 64 65 20 3f 20 5f 6f 66 66 73 iginSide ? _offs
00009260: 65 74 20 2b 20 72 65 66 65 72 65 6e 63 65 52 65 et + referenceRe
00009270: 63 74 5b 5f 6c 65 6e 5d 20 2b 20 70 6f 70 70 65 ct[_len] + poppe
00009280: 72 52 65 63 74 5b 5f 6c 65 6e 5d 20 2d 20 5f 6f rRect[_len] - _o
00009290: 66 66 73 65 74 4d 6f 64 69 66 69 65 72 56 61 6c ffsetModifierVal
000092a0: 75 65 20 2d 20 6e 6f 72 6d 61 6c 69 7a 65 64 54 ue - normalizedT
000092b0: 65 74 68 65 72 4f 66 66 73 65 74 56 61 6c 75 65 etherOffsetValue
000092c0: 2e 61 6c 74 41 78 69 73 20 3a 20 5f 6d 61 78 3b .altAxis : _max;
000092d0: 5c 6e 5c 6e 20 20 20 20 76 61 72 20 5f 70 72 65 \n\n var _pre
000092e0: 76 65 6e 74 65 64 4f 66 66 73 65 74 20 3d 20 74 ventedOffset = t
000092f0: 65 74 68 65 72 20 26 26 20 69 73 4f 72 69 67 69 ether && isOrigi
00009300: 6e 53 69 64 65 20 3f 20 77 69 74 68 69 6e 4d 61 nSide ? withinMa
00009310: 78 43 6c 61 6d 70 28 5f 74 65 74 68 65 72 4d 69 xClamp(_tetherMi
00009320: 6e 2c 20 5f 6f 66 66 73 65 74 2c 20 5f 74 65 74 n, _offset, _tet
00009330: 68 65 72 4d 61 78 29 20 3a 20 77 69 74 68 69 6e herMax) : within
00009340: 28 74 65 74 68 65 72 20 3f 20 5f 74 65 74 68 65 (tether ? _tethe
00009350: 72 4d 69 6e 20 3a 20 5f 6d 69 6e 2c 20 5f 6f 66 rMin : _min, _of
00009360: 66 73 65 74 2c 20 74 65 74 68 65 72 20 3f 20 5f fset, tether ? _
00009370: 74 65 74 68 65 72 4d 61 78 20 3a 20 5f 6d 61 78 tetherMax : _max
00009380: 29 3b 5c 6e 5c 6e 20 20 20 20 70 6f 70 70 65 72 );\n\n popper
00009390: 4f 66 66 73 65 74 73 5b 61 6c 74 41 78 69 73 5d Offsets[altAxis]
000093a0: 20 3d 20 5f 70 72 65 76 65 6e 74 65 64 4f 66 66 = _preventedOff
000093b0: 73 65 74 3b 5c 6e 20 20 20 20 64 61 74 61 5b 61 set;\n data[a
000093c0: 6c 74 41 78 69 73 5d 20 3d 20 5f 70 72 65 76 65 ltAxis] = _preve
000093d0: 6e 74 65 64 4f 66 66 73 65 74 20 2d 20 5f 6f 66 ntedOffset - _of
000093e0: 66 73 65 74 3b 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 fset;\n }\n\n
000093f0: 73 74 61 74 65 2e 6d 6f 64 69 66 69 65 72 73 44 state.modifiersD
00009400: 61 74 61 5b 6e 61 6d 65 5d 20 3d 20 64 61 74 61 ata[name] = data
00009410: 3b 5c 6e 7d 20 2f 2f 20 65 73 6c 69 6e 74 2d 64 ;\n} // eslint-d
00009420: 69 73 61 62 6c 65 2d 6e 65 78 74 2d 6c 69 6e 65 isable-next-line
00009430: 20 69 6d 70 6f 72 74 2f 6e 6f 2d 75 6e 75 73 65 import/no-unuse
00009440: 64 2d 6d 6f 64 75 6c 65 73 5c 6e 5c 6e 5c 6e 65 d-modules\n\n\ne
00009450: 78 70 6f 72 74 20 64 65 66 61 75 6c 74 20 7b 5c xport default {\
00009460: 6e 20 20 6e 61 6d 65 3a 20 27 70 72 65 76 65 6e n name: 'preven
00009470: 74 4f 76 65 72 66 6c 6f 77 27 2c 5c 6e 20 20 65 tOverflow',\n e
00009480: 6e 61 62 6c 65 64 3a 20 74 72 75 65 2c 5c 6e 20 nabled: true,\n
00009490: 20 70 68 61 73 65 3a 20 27 6d 61 69 6e 27 2c 5c phase: 'main',\
000094a0: 6e 20 20 66 6e 3a 20 70 72 65 76 65 6e 74 4f 76 n fn: preventOv
000094b0: 65 72 66 6c 6f 77 2c 5c 6e 20 20 72 65 71 75 69 erflow,\n requi
000094c0: 72 65 73 49 66 45 78 69 73 74 73 3a 20 5b 27 6f resIfExists: ['o
000094d0: 66 66 73 65 74 27 5d 5c 6e 7d 3b 22 2c 22 65 78 ffset']\n};","ex
000094e0: 70 6f 72 74 20 64 65 66 61 75 6c 74 20 66 75 6e port default fun
000094f0: 63 74 69 6f 6e 20 67 65 74 41 6c 74 41 78 69 73 ction getAltAxis
00009500: 28 61 78 69 73 29 20 7b 5c 6e 20 20 72 65 74 75 (axis) {\n retu
00009510: 72 6e 20 61 78 69 73 20 3d 3d 3d 20 27 78 27 20 rn axis === 'x'
00009520: 3f 20 27 79 27 20 3a 20 27 78 27 3b 5c 6e 7d 22 ? 'y' : 'x';\n}"
00009530: 2c 22 69 6d 70 6f 72 74 20 67 65 74 42 6f 75 6e ,"import getBoun
00009540: 64 69 6e 67 43 6c 69 65 6e 74 52 65 63 74 20 66 dingClientRect f
00009550: 72 6f 6d 20 5c 22 2e 2f 67 65 74 42 6f 75 6e 64 rom \"./getBound
00009560: 69 6e 67 43 6c 69 65 6e 74 52 65 63 74 2e 6a 73 ingClientRect.js
00009570: 5c 22 3b 5c 6e 69 6d 70 6f 72 74 20 67 65 74 4e \";\nimport getN
00009580: 6f 64 65 53 63 72 6f 6c 6c 20 66 72 6f 6d 20 5c odeScroll from \
00009590: 22 2e 2f 67 65 74 4e 6f 64 65 53 63 72 6f 6c 6c "./getNodeScroll
000095a0: 2e 6a 73 5c 22 3b 5c 6e 69 6d 70 6f 72 74 20 67 .js\";\nimport g
000095b0: 65 74 4e 6f 64 65 4e 61 6d 65 20 66 72 6f 6d 20 etNodeName from
000095c0: 5c 22 2e 2f 67 65 74 4e 6f 64 65 4e 61 6d 65 2e \"./getNodeName.
000095d0: 6a 73 5c 22 3b 5c 6e 69 6d 70 6f 72 74 20 7b 20 js\";\nimport {
000095e0: 69 73 48 54 4d 4c 45 6c 65 6d 65 6e 74 20 7d 20 isHTMLElement }
000095f0: 66 72 6f 6d 20 5c 22 2e 2f 69 6e 73 74 61 6e 63 from \"./instanc
00009600: 65 4f 66 2e 6a 73 5c 22 3b 5c 6e 69 6d 70 6f 72 eOf.js\";\nimpor
00009610: 74 20 67 65 74 57 69 6e 64 6f 77 53 63 72 6f 6c t getWindowScrol
00009620: 6c 42 61 72 58 20 66 72 6f 6d 20 5c 22 2e 2f 67 lBarX from \"./g
00009630: 65 74 57 69 6e 64 6f 77 53 63 72 6f 6c 6c 42 61 etWindowScrollBa
00009640: 72 58 2e 6a 73 5c 22 3b 5c 6e 69 6d 70 6f 72 74 rX.js\";\nimport
00009650: 20 67 65 74 44 6f 63 75 6d 65 6e 74 45 6c 65 6d getDocumentElem
00009660: 65 6e 74 20 66 72 6f 6d 20 5c 22 2e 2f 67 65 74 ent from \"./get
00009670: 44 6f 63 75 6d 65 6e 74 45 6c 65 6d 65 6e 74 2e DocumentElement.
00009680: 6a 73 5c 22 3b 5c 6e 69 6d 70 6f 72 74 20 69 73 js\";\nimport is
00009690: 53 63 72 6f 6c 6c 50 61 72 65 6e 74 20 66 72 6f ScrollParent fro
000096a0: 6d 20 5c 22 2e 2f 69 73 53 63 72 6f 6c 6c 50 61 m \"./isScrollPa
000096b0: 72 65 6e 74 2e 6a 73 5c 22 3b 5c 6e 69 6d 70 6f rent.js\";\nimpo
000096c0: 72 74 20 7b 20 72 6f 75 6e 64 20 7d 20 66 72 6f rt { round } fro
000096d0: 6d 20 5c 22 2e 2e 2f 75 74 69 6c 73 2f 6d 61 74 m \"../utils/mat
000096e0: 68 2e 6a 73 5c 22 3b 5c 6e 5c 6e 66 75 6e 63 74 h.js\";\n\nfunct
000096f0: 69 6f 6e 20 69 73 45 6c 65 6d 65 6e 74 53 63 61 ion isElementSca
00009700: 6c 65 64 28 65 6c 65 6d 65 6e 74 29 20 7b 5c 6e led(element) {\n
00009710: 20 20 76 61 72 20 72 65 63 74 20 3d 20 65 6c 65 var rect = ele
00009720: 6d 65 6e 74 2e 67 65 74 42 6f 75 6e 64 69 6e 67 ment.getBounding
00009730: 43 6c 69 65 6e 74 52 65 63 74 28 29 3b 5c 6e 20 ClientRect();\n
00009740: 20 76 61 72 20 73 63 61 6c 65 58 20 3d 20 72 6f var scaleX = ro
00009750: 75 6e 64 28 72 65 63 74 2e 77 69 64 74 68 29 20 und(rect.width)
00009760: 2f 20 65 6c 65 6d 65 6e 74 2e 6f 66 66 73 65 74 / element.offset
00009770: 57 69 64 74 68 20 7c 7c 20 31 3b 5c 6e 20 20 76 Width || 1;\n v
00009780: 61 72 20 73 63 61 6c 65 59 20 3d 20 72 6f 75 6e ar scaleY = roun
00009790: 64 28 72 65 63 74 2e 68 65 69 67 68 74 29 20 2f d(rect.height) /
000097a0: 20 65 6c 65 6d 65 6e 74 2e 6f 66 66 73 65 74 48 element.offsetH
000097b0: 65 69 67 68 74 20 7c 7c 20 31 3b 5c 6e 20 20 72 eight || 1;\n r
000097c0: 65 74 75 72 6e 20 73 63 61 6c 65 58 20 21 3d 3d eturn scaleX !==
000097d0: 20 31 20 7c 7c 20 73 63 61 6c 65 59 20 21 3d 3d 1 || scaleY !==
000097e0: 20 31 3b 5c 6e 7d 20 2f 2f 20 52 65 74 75 72 6e 1;\n} // Return
000097f0: 73 20 74 68 65 20 63 6f 6d 70 6f 73 69 74 65 20 s the composite
00009800: 72 65 63 74 20 6f 66 20 61 6e 20 65 6c 65 6d 65 rect of an eleme
00009810: 6e 74 20 72 65 6c 61 74 69 76 65 20 74 6f 20 69 nt relative to i
00009820: 74 73 20 6f 66 66 73 65 74 50 61 72 65 6e 74 2e ts offsetParent.
00009830: 5c 6e 2f 2f 20 43 6f 6d 70 6f 73 69 74 65 20 6d \n// Composite m
00009840: 65 61 6e 73 20 69 74 20 74 61 6b 65 73 20 69 6e eans it takes in
00009850: 74 6f 20 61 63 63 6f 75 6e 74 20 74 72 61 6e 73 to account trans
00009860: 66 6f 72 6d 73 20 61 73 20 77 65 6c 6c 20 61 73 forms as well as
00009870: 20 6c 61 79 6f 75 74 2e 5c 6e 5c 6e 5c 6e 65 78 layout.\n\n\nex
00009880: 70 6f 72 74 20 64 65 66 61 75 6c 74 20 66 75 6e port default fun
00009890: 63 74 69 6f 6e 20 67 65 74 43 6f 6d 70 6f 73 69 ction getComposi
000098a0: 74 65 52 65 63 74 28 65 6c 65 6d 65 6e 74 4f 72 teRect(elementOr
000098b0: 56 69 72 74 75 61 6c 45 6c 65 6d 65 6e 74 2c 20 VirtualElement,
000098c0: 6f 66 66 73 65 74 50 61 72 65 6e 74 2c 20 69 73 offsetParent, is
000098d0: 46 69 78 65 64 29 20 7b 5c 6e 20 20 69 66 20 28 Fixed) {\n if (
000098e0: 69 73 46 69 78 65 64 20 3d 3d 3d 20 76 6f 69 64 isFixed === void
000098f0: 20 30 29 20 7b 5c 6e 20 20 20 20 69 73 46 69 78 0) {\n isFix
00009900: 65 64 20 3d 20 66 61 6c 73 65 3b 5c 6e 20 20 7d ed = false;\n }
00009910: 5c 6e 5c 6e 20 20 76 61 72 20 69 73 4f 66 66 73 \n\n var isOffs
00009920: 65 74 50 61 72 65 6e 74 41 6e 45 6c 65 6d 65 6e etParentAnElemen
00009930: 74 20 3d 20 69 73 48 54 4d 4c 45 6c 65 6d 65 6e t = isHTMLElemen
00009940: 74 28 6f 66 66 73 65 74 50 61 72 65 6e 74 29 3b t(offsetParent);
00009950: 5c 6e 20 20 76 61 72 20 6f 66 66 73 65 74 50 61 \n var offsetPa
00009960: 72 65 6e 74 49 73 53 63 61 6c 65 64 20 3d 20 69 rentIsScaled = i
00009970: 73 48 54 4d 4c 45 6c 65 6d 65 6e 74 28 6f 66 66 sHTMLElement(off
00009980: 73 65 74 50 61 72 65 6e 74 29 20 26 26 20 69 73 setParent) && is
00009990: 45 6c 65 6d 65 6e 74 53 63 61 6c 65 64 28 6f 66 ElementScaled(of
000099a0: 66 73 65 74 50 61 72 65 6e 74 29 3b 5c 6e 20 20 fsetParent);\n
000099b0: 76 61 72 20 64 6f 63 75 6d 65 6e 74 45 6c 65 6d var documentElem
000099c0: 65 6e 74 20 3d 20 67 65 74 44 6f 63 75 6d 65 6e ent = getDocumen
000099d0: 74 45 6c 65 6d 65 6e 74 28 6f 66 66 73 65 74 50 tElement(offsetP
000099e0: 61 72 65 6e 74 29 3b 5c 6e 20 20 76 61 72 20 72 arent);\n var r
000099f0: 65 63 74 20 3d 20 67 65 74 42 6f 75 6e 64 69 6e ect = getBoundin
00009a00: 67 43 6c 69 65 6e 74 52 65 63 74 28 65 6c 65 6d gClientRect(elem
00009a10: 65 6e 74 4f 72 56 69 72 74 75 61 6c 45 6c 65 6d entOrVirtualElem
00009a20: 65 6e 74 2c 20 6f 66 66 73 65 74 50 61 72 65 6e ent, offsetParen
00009a30: 74 49 73 53 63 61 6c 65 64 2c 20 69 73 46 69 78 tIsScaled, isFix
00009a40: 65 64 29 3b 5c 6e 20 20 76 61 72 20 73 63 72 6f ed);\n var scro
00009a50: 6c 6c 20 3d 20 7b 5c 6e 20 20 20 20 73 63 72 6f ll = {\n scro
00009a60: 6c 6c 4c 65 66 74 3a 20 30 2c 5c 6e 20 20 20 20 llLeft: 0,\n
00009a70: 73 63 72 6f 6c 6c 54 6f 70 3a 20 30 5c 6e 20 20 scrollTop: 0\n
00009a80: 7d 3b 5c 6e 20 20 76 61 72 20 6f 66 66 73 65 74 };\n var offset
00009a90: 73 20 3d 20 7b 5c 6e 20 20 20 20 78 3a 20 30 2c s = {\n x: 0,
00009aa0: 5c 6e 20 20 20 20 79 3a 20 30 5c 6e 20 20 7d 3b \n y: 0\n };
00009ab0: 5c 6e 5c 6e 20 20 69 66 20 28 69 73 4f 66 66 73 \n\n if (isOffs
00009ac0: 65 74 50 61 72 65 6e 74 41 6e 45 6c 65 6d 65 6e etParentAnElemen
00009ad0: 74 20 7c 7c 20 21 69 73 4f 66 66 73 65 74 50 61 t || !isOffsetPa
00009ae0: 72 65 6e 74 41 6e 45 6c 65 6d 65 6e 74 20 26 26 rentAnElement &&
00009af0: 20 21 69 73 46 69 78 65 64 29 20 7b 5c 6e 20 20 !isFixed) {\n
00009b00: 20 20 69 66 20 28 67 65 74 4e 6f 64 65 4e 61 6d if (getNodeNam
00009b10: 65 28 6f 66 66 73 65 74 50 61 72 65 6e 74 29 20 e(offsetParent)
00009b20: 21 3d 3d 20 27 62 6f 64 79 27 20 7c 7c 20 2f 2f !== 'body' || //
00009b30: 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e https://github.
00009b40: 63 6f 6d 2f 70 6f 70 70 65 72 6a 73 2f 70 6f 70 com/popperjs/pop
00009b50: 70 65 72 2d 63 6f 72 65 2f 69 73 73 75 65 73 2f per-core/issues/
00009b60: 31 30 37 38 5c 6e 20 20 20 20 69 73 53 63 72 6f 1078\n isScro
00009b70: 6c 6c 50 61 72 65 6e 74 28 64 6f 63 75 6d 65 6e llParent(documen
00009b80: 74 45 6c 65 6d 65 6e 74 29 29 20 7b 5c 6e 20 20 tElement)) {\n
00009b90: 20 20 20 20 73 63 72 6f 6c 6c 20 3d 20 67 65 74 scroll = get
00009ba0: 4e 6f 64 65 53 63 72 6f 6c 6c 28 6f 66 66 73 65 NodeScroll(offse
00009bb0: 74 50 61 72 65 6e 74 29 3b 5c 6e 20 20 20 20 7d tParent);\n }
00009bc0: 5c 6e 5c 6e 20 20 20 20 69 66 20 28 69 73 48 54 \n\n if (isHT
00009bd0: 4d 4c 45 6c 65 6d 65 6e 74 28 6f 66 66 73 65 74 MLElement(offset
00009be0: 50 61 72 65 6e 74 29 29 20 7b 5c 6e 20 20 20 20 Parent)) {\n
00009bf0: 20 20 6f 66 66 73 65 74 73 20 3d 20 67 65 74 42 offsets = getB
00009c00: 6f 75 6e 64 69 6e 67 43 6c 69 65 6e 74 52 65 63 oundingClientRec
00009c10: 74 28 6f 66 66 73 65 74 50 61 72 65 6e 74 2c 20 t(offsetParent,
00009c20: 74 72 75 65 29 3b 5c 6e 20 20 20 20 20 20 6f 66 true);\n of
00009c30: 66 73 65 74 73 2e 78 20 2b 3d 20 6f 66 66 73 65 fsets.x += offse
00009c40: 74 50 61 72 65 6e 74 2e 63 6c 69 65 6e 74 4c 65 tParent.clientLe
00009c50: 66 74 3b 5c 6e 20 20 20 20 20 20 6f 66 66 73 65 ft;\n offse
00009c60: 74 73 2e 79 20 2b 3d 20 6f 66 66 73 65 74 50 61 ts.y += offsetPa
00009c70: 72 65 6e 74 2e 63 6c 69 65 6e 74 54 6f 70 3b 5c rent.clientTop;\
00009c80: 6e 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 n } else if (
00009c90: 64 6f 63 75 6d 65 6e 74 45 6c 65 6d 65 6e 74 29 documentElement)
00009ca0: 20 7b 5c 6e 20 20 20 20 20 20 6f 66 66 73 65 74 {\n offset
00009cb0: 73 2e 78 20 3d 20 67 65 74 57 69 6e 64 6f 77 53 s.x = getWindowS
00009cc0: 63 72 6f 6c 6c 42 61 72 58 28 64 6f 63 75 6d 65 crollBarX(docume
00009cd0: 6e 74 45 6c 65 6d 65 6e 74 29 3b 5c 6e 20 20 20 ntElement);\n
00009ce0: 20 7d 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 72 65 74 }\n }\n\n ret
00009cf0: 75 72 6e 20 7b 5c 6e 20 20 20 20 78 3a 20 72 65 urn {\n x: re
00009d00: 63 74 2e 6c 65 66 74 20 2b 20 73 63 72 6f 6c 6c ct.left + scroll
00009d10: 2e 73 63 72 6f 6c 6c 4c 65 66 74 20 2d 20 6f 66 .scrollLeft - of
00009d20: 66 73 65 74 73 2e 78 2c 5c 6e 20 20 20 20 79 3a fsets.x,\n y:
00009d30: 20 72 65 63 74 2e 74 6f 70 20 2b 20 73 63 72 6f rect.top + scro
00009d40: 6c 6c 2e 73 63 72 6f 6c 6c 54 6f 70 20 2d 20 6f ll.scrollTop - o
00009d50: 66 66 73 65 74 73 2e 79 2c 5c 6e 20 20 20 20 77 ffsets.y,\n w
00009d60: 69 64 74 68 3a 20 72 65 63 74 2e 77 69 64 74 68 idth: rect.width
00009d70: 2c 5c 6e 20 20 20 20 68 65 69 67 68 74 3a 20 72 ,\n height: r
00009d80: 65 63 74 2e 68 65 69 67 68 74 5c 6e 20 20 7d 3b ect.height\n };
00009d90: 5c 6e 7d 22 2c 22 69 6d 70 6f 72 74 20 67 65 74 \n}","import get
00009da0: 57 69 6e 64 6f 77 53 63 72 6f 6c 6c 20 66 72 6f WindowScroll fro
00009db0: 6d 20 5c 22 2e 2f 67 65 74 57 69 6e 64 6f 77 53 m \"./getWindowS
00009dc0: 63 72 6f 6c 6c 2e 6a 73 5c 22 3b 5c 6e 69 6d 70 croll.js\";\nimp
00009dd0: 6f 72 74 20 67 65 74 57 69 6e 64 6f 77 20 66 72 ort getWindow fr
00009de0: 6f 6d 20 5c 22 2e 2f 67 65 74 57 69 6e 64 6f 77 om \"./getWindow
00009df0: 2e 6a 73 5c 22 3b 5c 6e 69 6d 70 6f 72 74 20 7b .js\";\nimport {
00009e00: 20 69 73 48 54 4d 4c 45 6c 65 6d 65 6e 74 20 7d isHTMLElement }
00009e10: 20 66 72 6f 6d 20 5c 22 2e 2f 69 6e 73 74 61 6e from \"./instan
00009e20: 63 65 4f 66 2e 6a 73 5c 22 3b 5c 6e 69 6d 70 6f ceOf.js\";\nimpo
00009e30: 72 74 20 67 65 74 48 54 4d 4c 45 6c 65 6d 65 6e rt getHTMLElemen
00009e40: 74 53 63 72 6f 6c 6c 20 66 72 6f 6d 20 5c 22 2e tScroll from \".
00009e50: 2f 67 65 74 48 54 4d 4c 45 6c 65 6d 65 6e 74 53 /getHTMLElementS
00009e60: 63 72 6f 6c 6c 2e 6a 73 5c 22 3b 5c 6e 65 78 70 croll.js\";\nexp
00009e70: 6f 72 74 20 64 65 66 61 75 6c 74 20 66 75 6e 63 ort default func
00009e80: 74 69 6f 6e 20 67 65 74 4e 6f 64 65 53 63 72 6f tion getNodeScro
00009e90: 6c 6c 28 6e 6f 64 65 29 20 7b 5c 6e 20 20 69 66 ll(node) {\n if
00009ea0: 20 28 6e 6f 64 65 20 3d 3d 3d 20 67 65 74 57 69 (node === getWi
00009eb0: 6e 64 6f 77 28 6e 6f 64 65 29 20 7c 7c 20 21 69 ndow(node) || !i
00009ec0: 73 48 54 4d 4c 45 6c 65 6d 65 6e 74 28 6e 6f 64 sHTMLElement(nod
00009ed0: 65 29 29 20 7b 5c 6e 20 20 20 20 72 65 74 75 72 e)) {\n retur
00009ee0: 6e 20 67 65 74 57 69 6e 64 6f 77 53 63 72 6f 6c n getWindowScrol
00009ef0: 6c 28 6e 6f 64 65 29 3b 5c 6e 20 20 7d 20 65 6c l(node);\n } el
00009f00: 73 65 20 7b 5c 6e 20 20 20 20 72 65 74 75 72 6e se {\n return
00009f10: 20 67 65 74 48 54 4d 4c 45 6c 65 6d 65 6e 74 53 getHTMLElementS
00009f20: 63 72 6f 6c 6c 28 6e 6f 64 65 29 3b 5c 6e 20 20 croll(node);\n
00009f30: 7d 5c 6e 7d 22 2c 22 65 78 70 6f 72 74 20 64 65 }\n}","export de
00009f40: 66 61 75 6c 74 20 66 75 6e 63 74 69 6f 6e 20 67 fault function g
00009f50: 65 74 48 54 4d 4c 45 6c 65 6d 65 6e 74 53 63 72 etHTMLElementScr
00009f60: 6f 6c 6c 28 65 6c 65 6d 65 6e 74 29 20 7b 5c 6e oll(element) {\n
00009f70: 20 20 72 65 74 75 72 6e 20 7b 5c 6e 20 20 20 20 return {\n
00009f80: 73 63 72 6f 6c 6c 4c 65 66 74 3a 20 65 6c 65 6d scrollLeft: elem
00009f90: 65 6e 74 2e 73 63 72 6f 6c 6c 4c 65 66 74 2c 5c ent.scrollLeft,\
00009fa0: 6e 20 20 20 20 73 63 72 6f 6c 6c 54 6f 70 3a 20 n scrollTop:
00009fb0: 65 6c 65 6d 65 6e 74 2e 73 63 72 6f 6c 6c 54 6f element.scrollTo
00009fc0: 70 5c 6e 20 20 7d 3b 5c 6e 7d 22 2c 22 69 6d 70 p\n };\n}","imp
00009fd0: 6f 72 74 20 7b 20 6d 6f 64 69 66 69 65 72 50 68 ort { modifierPh
00009fe0: 61 73 65 73 20 7d 20 66 72 6f 6d 20 5c 22 2e 2e ases } from \"..
00009ff0: 2f 65 6e 75 6d 73 2e 6a 73 5c 22 3b 20 2f 2f 20 /enums.js\"; //
0000a000: 73 6f 75 72 63 65 3a 20 68 74 74 70 73 3a 2f 2f source: https://
0000a010: 73 74 61 63 6b 6f 76 65 72 66 6c 6f 77 2e 63 6f stackoverflow.co
0000a020: 6d 2f 71 75 65 73 74 69 6f 6e 73 2f 34 39 38 37 m/questions/4987
0000a030: 35 32 35 35 5c 6e 5c 6e 66 75 6e 63 74 69 6f 6e 5255\n\nfunction
0000a040: 20 6f 72 64 65 72 28 6d 6f 64 69 66 69 65 72 73 order(modifiers
0000a050: 29 20 7b 5c 6e 20 20 76 61 72 20 6d 61 70 20 3d ) {\n var map =
0000a060: 20 6e 65 77 20 4d 61 70 28 29 3b 5c 6e 20 20 76 new Map();\n v
0000a070: 61 72 20 76 69 73 69 74 65 64 20 3d 20 6e 65 77 ar visited = new
0000a080: 20 53 65 74 28 29 3b 5c 6e 20 20 76 61 72 20 72 Set();\n var r
0000a090: 65 73 75 6c 74 20 3d 20 5b 5d 3b 5c 6e 20 20 6d esult = [];\n m
0000a0a0: 6f 64 69 66 69 65 72 73 2e 66 6f 72 45 61 63 68 odifiers.forEach
0000a0b0: 28 66 75 6e 63 74 69 6f 6e 20 28 6d 6f 64 69 66 (function (modif
0000a0c0: 69 65 72 29 20 7b 5c 6e 20 20 20 20 6d 61 70 2e ier) {\n map.
0000a0d0: 73 65 74 28 6d 6f 64 69 66 69 65 72 2e 6e 61 6d set(modifier.nam
0000a0e0: 65 2c 20 6d 6f 64 69 66 69 65 72 29 3b 5c 6e 20 e, modifier);\n
0000a0f0: 20 7d 29 3b 20 2f 2f 20 4f 6e 20 76 69 73 69 74 }); // On visit
0000a100: 69 6e 67 20 6f 62 6a 65 63 74 2c 20 63 68 65 63 ing object, chec
0000a110: 6b 20 66 6f 72 20 69 74 73 20 64 65 70 65 6e 64 k for its depend
0000a120: 65 6e 63 69 65 73 20 61 6e 64 20 76 69 73 69 74 encies and visit
0000a130: 20 74 68 65 6d 20 72 65 63 75 72 73 69 76 65 6c them recursivel
0000a140: 79 5c 6e 5c 6e 20 20 66 75 6e 63 74 69 6f 6e 20 y\n\n function
0000a150: 73 6f 72 74 28 6d 6f 64 69 66 69 65 72 29 20 7b sort(modifier) {
0000a160: 5c 6e 20 20 20 20 76 69 73 69 74 65 64 2e 61 64 \n visited.ad
0000a170: 64 28 6d 6f 64 69 66 69 65 72 2e 6e 61 6d 65 29 d(modifier.name)
0000a180: 3b 5c 6e 20 20 20 20 76 61 72 20 72 65 71 75 69 ;\n var requi
0000a190: 72 65 73 20 3d 20 5b 5d 2e 63 6f 6e 63 61 74 28 res = [].concat(
0000a1a0: 6d 6f 64 69 66 69 65 72 2e 72 65 71 75 69 72 65 modifier.require
0000a1b0: 73 20 7c 7c 20 5b 5d 2c 20 6d 6f 64 69 66 69 65 s || [], modifie
0000a1c0: 72 2e 72 65 71 75 69 72 65 73 49 66 45 78 69 73 r.requiresIfExis
0000a1d0: 74 73 20 7c 7c 20 5b 5d 29 3b 5c 6e 20 20 20 20 ts || []);\n
0000a1e0: 72 65 71 75 69 72 65 73 2e 66 6f 72 45 61 63 68 requires.forEach
0000a1f0: 28 66 75 6e 63 74 69 6f 6e 20 28 64 65 70 29 20 (function (dep)
0000a200: 7b 5c 6e 20 20 20 20 20 20 69 66 20 28 21 76 69 {\n if (!vi
0000a210: 73 69 74 65 64 2e 68 61 73 28 64 65 70 29 29 20 sited.has(dep))
0000a220: 7b 5c 6e 20 20 20 20 20 20 20 20 76 61 72 20 64 {\n var d
0000a230: 65 70 4d 6f 64 69 66 69 65 72 20 3d 20 6d 61 70 epModifier = map
0000a240: 2e 67 65 74 28 64 65 70 29 3b 5c 6e 5c 6e 20 20 .get(dep);\n\n
0000a250: 20 20 20 20 20 20 69 66 20 28 64 65 70 4d 6f 64 if (depMod
0000a260: 69 66 69 65 72 29 20 7b 5c 6e 20 20 20 20 20 20 ifier) {\n
0000a270: 20 20 20 20 73 6f 72 74 28 64 65 70 4d 6f 64 69 sort(depModi
0000a280: 66 69 65 72 29 3b 5c 6e 20 20 20 20 20 20 20 20 fier);\n
0000a290: 7d 5c 6e 20 20 20 20 20 20 7d 5c 6e 20 20 20 20 }\n }\n
0000a2a0: 7d 29 3b 5c 6e 20 20 20 20 72 65 73 75 6c 74 2e });\n result.
0000a2b0: 70 75 73 68 28 6d 6f 64 69 66 69 65 72 29 3b 5c push(modifier);\
0000a2c0: 6e 20 20 7d 5c 6e 5c 6e 20 20 6d 6f 64 69 66 69 n }\n\n modifi
0000a2d0: 65 72 73 2e 66 6f 72 45 61 63 68 28 66 75 6e 63 ers.forEach(func
0000a2e0: 74 69 6f 6e 20 28 6d 6f 64 69 66 69 65 72 29 20 tion (modifier)
0000a2f0: 7b 5c 6e 20 20 20 20 69 66 20 28 21 76 69 73 69 {\n if (!visi
0000a300: 74 65 64 2e 68 61 73 28 6d 6f 64 69 66 69 65 72 ted.has(modifier
0000a310: 2e 6e 61 6d 65 29 29 20 7b 5c 6e 20 20 20 20 20 .name)) {\n
0000a320: 20 2f 2f 20 63 68 65 63 6b 20 66 6f 72 20 76 69 // check for vi
0000a330: 73 69 74 65 64 20 6f 62 6a 65 63 74 5c 6e 20 20 sited object\n
0000a340: 20 20 20 20 73 6f 72 74 28 6d 6f 64 69 66 69 65 sort(modifie
0000a350: 72 29 3b 5c 6e 20 20 20 20 7d 5c 6e 20 20 7d 29 r);\n }\n })
0000a360: 3b 5c 6e 20 20 72 65 74 75 72 6e 20 72 65 73 75 ;\n return resu
0000a370: 6c 74 3b 5c 6e 7d 5c 6e 5c 6e 65 78 70 6f 72 74 lt;\n}\n\nexport
0000a380: 20 64 65 66 61 75 6c 74 20 66 75 6e 63 74 69 6f default functio
0000a390: 6e 20 6f 72 64 65 72 4d 6f 64 69 66 69 65 72 73 n orderModifiers
0000a3a0: 28 6d 6f 64 69 66 69 65 72 73 29 20 7b 5c 6e 20 (modifiers) {\n
0000a3b0: 20 2f 2f 20 6f 72 64 65 72 20 62 61 73 65 64 20 // order based
0000a3c0: 6f 6e 20 64 65 70 65 6e 64 65 6e 63 69 65 73 5c on dependencies\
0000a3d0: 6e 20 20 76 61 72 20 6f 72 64 65 72 65 64 4d 6f n var orderedMo
0000a3e0: 64 69 66 69 65 72 73 20 3d 20 6f 72 64 65 72 28 difiers = order(
0000a3f0: 6d 6f 64 69 66 69 65 72 73 29 3b 20 2f 2f 20 6f modifiers); // o
0000a400: 72 64 65 72 20 62 61 73 65 64 20 6f 6e 20 70 68 rder based on ph
0000a410: 61 73 65 5c 6e 5c 6e 20 20 72 65 74 75 72 6e 20 ase\n\n return
0000a420: 6d 6f 64 69 66 69 65 72 50 68 61 73 65 73 2e 72 modifierPhases.r
0000a430: 65 64 75 63 65 28 66 75 6e 63 74 69 6f 6e 20 28 educe(function (
0000a440: 61 63 63 2c 20 70 68 61 73 65 29 20 7b 5c 6e 20 acc, phase) {\n
0000a450: 20 20 20 72 65 74 75 72 6e 20 61 63 63 2e 63 6f return acc.co
0000a460: 6e 63 61 74 28 6f 72 64 65 72 65 64 4d 6f 64 69 ncat(orderedModi
0000a470: 66 69 65 72 73 2e 66 69 6c 74 65 72 28 66 75 6e fiers.filter(fun
0000a480: 63 74 69 6f 6e 20 28 6d 6f 64 69 66 69 65 72 29 ction (modifier)
0000a490: 20 7b 5c 6e 20 20 20 20 20 20 72 65 74 75 72 6e {\n return
0000a4a0: 20 6d 6f 64 69 66 69 65 72 2e 70 68 61 73 65 20 modifier.phase
0000a4b0: 3d 3d 3d 20 70 68 61 73 65 3b 5c 6e 20 20 20 20 === phase;\n
0000a4c0: 7d 29 29 3b 5c 6e 20 20 7d 2c 20 5b 5d 29 3b 5c }));\n }, []);\
0000a4d0: 6e 7d 22 2c 22 65 78 70 6f 72 74 20 64 65 66 61 n}","export defa
0000a4e0: 75 6c 74 20 66 75 6e 63 74 69 6f 6e 20 64 65 62 ult function deb
0000a4f0: 6f 75 6e 63 65 28 66 6e 29 20 7b 5c 6e 20 20 76 ounce(fn) {\n v
0000a500: 61 72 20 70 65 6e 64 69 6e 67 3b 5c 6e 20 20 72 ar pending;\n r
0000a510: 65 74 75 72 6e 20 66 75 6e 63 74 69 6f 6e 20 28 eturn function (
0000a520: 29 20 7b 5c 6e 20 20 20 20 69 66 20 28 21 70 65 ) {\n if (!pe
0000a530: 6e 64 69 6e 67 29 20 7b 5c 6e 20 20 20 20 20 20 nding) {\n
0000a540: 70 65 6e 64 69 6e 67 20 3d 20 6e 65 77 20 50 72 pending = new Pr
0000a550: 6f 6d 69 73 65 28 66 75 6e 63 74 69 6f 6e 20 28 omise(function (
0000a560: 72 65 73 6f 6c 76 65 29 20 7b 5c 6e 20 20 20 20 resolve) {\n
0000a570: 20 20 20 20 50 72 6f 6d 69 73 65 2e 72 65 73 6f Promise.reso
0000a580: 6c 76 65 28 29 2e 74 68 65 6e 28 66 75 6e 63 74 lve().then(funct
0000a590: 69 6f 6e 20 28 29 20 7b 5c 6e 20 20 20 20 20 20 ion () {\n
0000a5a0: 20 20 20 20 70 65 6e 64 69 6e 67 20 3d 20 75 6e pending = un
0000a5b0: 64 65 66 69 6e 65 64 3b 5c 6e 20 20 20 20 20 20 defined;\n
0000a5c0: 20 20 20 20 72 65 73 6f 6c 76 65 28 66 6e 28 29 resolve(fn()
0000a5d0: 29 3b 5c 6e 20 20 20 20 20 20 20 20 7d 29 3b 5c );\n });\
0000a5e0: 6e 20 20 20 20 20 20 7d 29 3b 5c 6e 20 20 20 20 n });\n
0000a5f0: 7d 5c 6e 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 }\n\n return
0000a600: 70 65 6e 64 69 6e 67 3b 5c 6e 20 20 7d 3b 5c 6e pending;\n };\n
0000a610: 7d 22 2c 22 69 6d 70 6f 72 74 20 67 65 74 43 6f }","import getCo
0000a620: 6d 70 6f 73 69 74 65 52 65 63 74 20 66 72 6f 6d mpositeRect from
0000a630: 20 5c 22 2e 2f 64 6f 6d 2d 75 74 69 6c 73 2f 67 \"./dom-utils/g
0000a640: 65 74 43 6f 6d 70 6f 73 69 74 65 52 65 63 74 2e etCompositeRect.
0000a650: 6a 73 5c 22 3b 5c 6e 69 6d 70 6f 72 74 20 67 65 js\";\nimport ge
0000a660: 74 4c 61 79 6f 75 74 52 65 63 74 20 66 72 6f 6d tLayoutRect from
0000a670: 20 5c 22 2e 2f 64 6f 6d 2d 75 74 69 6c 73 2f 67 \"./dom-utils/g
0000a680: 65 74 4c 61 79 6f 75 74 52 65 63 74 2e 6a 73 5c etLayoutRect.js\
0000a690: 22 3b 5c 6e 69 6d 70 6f 72 74 20 6c 69 73 74 53 ";\nimport listS
0000a6a0: 63 72 6f 6c 6c 50 61 72 65 6e 74 73 20 66 72 6f crollParents fro
0000a6b0: 6d 20 5c 22 2e 2f 64 6f 6d 2d 75 74 69 6c 73 2f m \"./dom-utils/
0000a6c0: 6c 69 73 74 53 63 72 6f 6c 6c 50 61 72 65 6e 74 listScrollParent
0000a6d0: 73 2e 6a 73 5c 22 3b 5c 6e 69 6d 70 6f 72 74 20 s.js\";\nimport
0000a6e0: 67 65 74 4f 66 66 73 65 74 50 61 72 65 6e 74 20 getOffsetParent
0000a6f0: 66 72 6f 6d 20 5c 22 2e 2f 64 6f 6d 2d 75 74 69 from \"./dom-uti
0000a700: 6c 73 2f 67 65 74 4f 66 66 73 65 74 50 61 72 65 ls/getOffsetPare
0000a710: 6e 74 2e 6a 73 5c 22 3b 5c 6e 69 6d 70 6f 72 74 nt.js\";\nimport
0000a720: 20 6f 72 64 65 72 4d 6f 64 69 66 69 65 72 73 20 orderModifiers
0000a730: 66 72 6f 6d 20 5c 22 2e 2f 75 74 69 6c 73 2f 6f from \"./utils/o
0000a740: 72 64 65 72 4d 6f 64 69 66 69 65 72 73 2e 6a 73 rderModifiers.js
0000a750: 5c 22 3b 5c 6e 69 6d 70 6f 72 74 20 64 65 62 6f \";\nimport debo
0000a760: 75 6e 63 65 20 66 72 6f 6d 20 5c 22 2e 2f 75 74 unce from \"./ut
0000a770: 69 6c 73 2f 64 65 62 6f 75 6e 63 65 2e 6a 73 5c ils/debounce.js\
0000a780: 22 3b 5c 6e 69 6d 70 6f 72 74 20 6d 65 72 67 65 ";\nimport merge
0000a790: 42 79 4e 61 6d 65 20 66 72 6f 6d 20 5c 22 2e 2f ByName from \"./
0000a7a0: 75 74 69 6c 73 2f 6d 65 72 67 65 42 79 4e 61 6d utils/mergeByNam
0000a7b0: 65 2e 6a 73 5c 22 3b 5c 6e 69 6d 70 6f 72 74 20 e.js\";\nimport
0000a7c0: 64 65 74 65 63 74 4f 76 65 72 66 6c 6f 77 20 66 detectOverflow f
0000a7d0: 72 6f 6d 20 5c 22 2e 2f 75 74 69 6c 73 2f 64 65 rom \"./utils/de
0000a7e0: 74 65 63 74 4f 76 65 72 66 6c 6f 77 2e 6a 73 5c tectOverflow.js\
0000a7f0: 22 3b 5c 6e 69 6d 70 6f 72 74 20 7b 20 69 73 45 ";\nimport { isE
0000a800: 6c 65 6d 65 6e 74 20 7d 20 66 72 6f 6d 20 5c 22 lement } from \"
0000a810: 2e 2f 64 6f 6d 2d 75 74 69 6c 73 2f 69 6e 73 74 ./dom-utils/inst
0000a820: 61 6e 63 65 4f 66 2e 6a 73 5c 22 3b 5c 6e 76 61 anceOf.js\";\nva
0000a830: 72 20 44 45 46 41 55 4c 54 5f 4f 50 54 49 4f 4e r DEFAULT_OPTION
0000a840: 53 20 3d 20 7b 5c 6e 20 20 70 6c 61 63 65 6d 65 S = {\n placeme
0000a850: 6e 74 3a 20 27 62 6f 74 74 6f 6d 27 2c 5c 6e 20 nt: 'bottom',\n
0000a860: 20 6d 6f 64 69 66 69 65 72 73 3a 20 5b 5d 2c 5c modifiers: [],\
0000a870: 6e 20 20 73 74 72 61 74 65 67 79 3a 20 27 61 62 n strategy: 'ab
0000a880: 73 6f 6c 75 74 65 27 5c 6e 7d 3b 5c 6e 5c 6e 66 solute'\n};\n\nf
0000a890: 75 6e 63 74 69 6f 6e 20 61 72 65 56 61 6c 69 64 unction areValid
0000a8a0: 45 6c 65 6d 65 6e 74 73 28 29 20 7b 5c 6e 20 20 Elements() {\n
0000a8b0: 66 6f 72 20 28 76 61 72 20 5f 6c 65 6e 20 3d 20 for (var _len =
0000a8c0: 61 72 67 75 6d 65 6e 74 73 2e 6c 65 6e 67 74 68 arguments.length
0000a8d0: 2c 20 61 72 67 73 20 3d 20 6e 65 77 20 41 72 72 , args = new Arr
0000a8e0: 61 79 28 5f 6c 65 6e 29 2c 20 5f 6b 65 79 20 3d ay(_len), _key =
0000a8f0: 20 30 3b 20 5f 6b 65 79 20 3c 20 5f 6c 65 6e 3b 0; _key < _len;
0000a900: 20 5f 6b 65 79 2b 2b 29 20 7b 5c 6e 20 20 20 20 _key++) {\n
0000a910: 61 72 67 73 5b 5f 6b 65 79 5d 20 3d 20 61 72 67 args[_key] = arg
0000a920: 75 6d 65 6e 74 73 5b 5f 6b 65 79 5d 3b 5c 6e 20 uments[_key];\n
0000a930: 20 7d 5c 6e 5c 6e 20 20 72 65 74 75 72 6e 20 21 }\n\n return !
0000a940: 61 72 67 73 2e 73 6f 6d 65 28 66 75 6e 63 74 69 args.some(functi
0000a950: 6f 6e 20 28 65 6c 65 6d 65 6e 74 29 20 7b 5c 6e on (element) {\n
0000a960: 20 20 20 20 72 65 74 75 72 6e 20 21 28 65 6c 65 return !(ele
0000a970: 6d 65 6e 74 20 26 26 20 74 79 70 65 6f 66 20 65 ment && typeof e
0000a980: 6c 65 6d 65 6e 74 2e 67 65 74 42 6f 75 6e 64 69 lement.getBoundi
0000a990: 6e 67 43 6c 69 65 6e 74 52 65 63 74 20 3d 3d 3d ngClientRect ===
0000a9a0: 20 27 66 75 6e 63 74 69 6f 6e 27 29 3b 5c 6e 20 'function');\n
0000a9b0: 20 7d 29 3b 5c 6e 7d 5c 6e 5c 6e 65 78 70 6f 72 });\n}\n\nexpor
0000a9c0: 74 20 66 75 6e 63 74 69 6f 6e 20 70 6f 70 70 65 t function poppe
0000a9d0: 72 47 65 6e 65 72 61 74 6f 72 28 67 65 6e 65 72 rGenerator(gener
0000a9e0: 61 74 6f 72 4f 70 74 69 6f 6e 73 29 20 7b 5c 6e atorOptions) {\n
0000a9f0: 20 20 69 66 20 28 67 65 6e 65 72 61 74 6f 72 4f if (generatorO
0000aa00: 70 74 69 6f 6e 73 20 3d 3d 3d 20 76 6f 69 64 20 ptions === void
0000aa10: 30 29 20 7b 5c 6e 20 20 20 20 67 65 6e 65 72 61 0) {\n genera
0000aa20: 74 6f 72 4f 70 74 69 6f 6e 73 20 3d 20 7b 7d 3b torOptions = {};
0000aa30: 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 76 61 72 20 5f \n }\n\n var _
0000aa40: 67 65 6e 65 72 61 74 6f 72 4f 70 74 69 6f 6e 73 generatorOptions
0000aa50: 20 3d 20 67 65 6e 65 72 61 74 6f 72 4f 70 74 69 = generatorOpti
0000aa60: 6f 6e 73 2c 5c 6e 20 20 20 20 20 20 5f 67 65 6e ons,\n _gen
0000aa70: 65 72 61 74 6f 72 4f 70 74 69 6f 6e 73 24 64 65 eratorOptions$de
0000aa80: 66 20 3d 20 5f 67 65 6e 65 72 61 74 6f 72 4f 70 f = _generatorOp
0000aa90: 74 69 6f 6e 73 2e 64 65 66 61 75 6c 74 4d 6f 64 tions.defaultMod
0000aaa0: 69 66 69 65 72 73 2c 5c 6e 20 20 20 20 20 20 64 ifiers,\n d
0000aab0: 65 66 61 75 6c 74 4d 6f 64 69 66 69 65 72 73 20 efaultModifiers
0000aac0: 3d 20 5f 67 65 6e 65 72 61 74 6f 72 4f 70 74 69 = _generatorOpti
0000aad0: 6f 6e 73 24 64 65 66 20 3d 3d 3d 20 76 6f 69 64 ons$def === void
0000aae0: 20 30 20 3f 20 5b 5d 20 3a 20 5f 67 65 6e 65 72 0 ? [] : _gener
0000aaf0: 61 74 6f 72 4f 70 74 69 6f 6e 73 24 64 65 66 2c atorOptions$def,
0000ab00: 5c 6e 20 20 20 20 20 20 5f 67 65 6e 65 72 61 74 \n _generat
0000ab10: 6f 72 4f 70 74 69 6f 6e 73 24 64 65 66 32 20 3d orOptions$def2 =
0000ab20: 20 5f 67 65 6e 65 72 61 74 6f 72 4f 70 74 69 6f _generatorOptio
0000ab30: 6e 73 2e 64 65 66 61 75 6c 74 4f 70 74 69 6f 6e ns.defaultOption
0000ab40: 73 2c 5c 6e 20 20 20 20 20 20 64 65 66 61 75 6c s,\n defaul
0000ab50: 74 4f 70 74 69 6f 6e 73 20 3d 20 5f 67 65 6e 65 tOptions = _gene
0000ab60: 72 61 74 6f 72 4f 70 74 69 6f 6e 73 24 64 65 66 ratorOptions$def
0000ab70: 32 20 3d 3d 3d 20 76 6f 69 64 20 30 20 3f 20 44 2 === void 0 ? D
0000ab80: 45 46 41 55 4c 54 5f 4f 50 54 49 4f 4e 53 20 3a EFAULT_OPTIONS :
0000ab90: 20 5f 67 65 6e 65 72 61 74 6f 72 4f 70 74 69 6f _generatorOptio
0000aba0: 6e 73 24 64 65 66 32 3b 5c 6e 20 20 72 65 74 75 ns$def2;\n retu
0000abb0: 72 6e 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 rn function crea
0000abc0: 74 65 50 6f 70 70 65 72 28 72 65 66 65 72 65 6e tePopper(referen
0000abd0: 63 65 2c 20 70 6f 70 70 65 72 2c 20 6f 70 74 69 ce, popper, opti
0000abe0: 6f 6e 73 29 20 7b 5c 6e 20 20 20 20 69 66 20 28 ons) {\n if (
0000abf0: 6f 70 74 69 6f 6e 73 20 3d 3d 3d 20 76 6f 69 64 options === void
0000ac00: 20 30 29 20 7b 5c 6e 20 20 20 20 20 20 6f 70 74 0) {\n opt
0000ac10: 69 6f 6e 73 20 3d 20 64 65 66 61 75 6c 74 4f 70 ions = defaultOp
0000ac20: 74 69 6f 6e 73 3b 5c 6e 20 20 20 20 7d 5c 6e 5c tions;\n }\n\
0000ac30: 6e 20 20 20 20 76 61 72 20 73 74 61 74 65 20 3d n var state =
0000ac40: 20 7b 5c 6e 20 20 20 20 20 20 70 6c 61 63 65 6d {\n placem
0000ac50: 65 6e 74 3a 20 27 62 6f 74 74 6f 6d 27 2c 5c 6e ent: 'bottom',\n
0000ac60: 20 20 20 20 20 20 6f 72 64 65 72 65 64 4d 6f 64 orderedMod
0000ac70: 69 66 69 65 72 73 3a 20 5b 5d 2c 5c 6e 20 20 20 ifiers: [],\n
0000ac80: 20 20 20 6f 70 74 69 6f 6e 73 3a 20 4f 62 6a 65 options: Obje
0000ac90: 63 74 2e 61 73 73 69 67 6e 28 7b 7d 2c 20 44 45 ct.assign({}, DE
0000aca0: 46 41 55 4c 54 5f 4f 50 54 49 4f 4e 53 2c 20 64 FAULT_OPTIONS, d
0000acb0: 65 66 61 75 6c 74 4f 70 74 69 6f 6e 73 29 2c 5c efaultOptions),\
0000acc0: 6e 20 20 20 20 20 20 6d 6f 64 69 66 69 65 72 73 n modifiers
0000acd0: 44 61 74 61 3a 20 7b 7d 2c 5c 6e 20 20 20 20 20 Data: {},\n
0000ace0: 20 65 6c 65 6d 65 6e 74 73 3a 20 7b 5c 6e 20 20 elements: {\n
0000acf0: 20 20 20 20 20 20 72 65 66 65 72 65 6e 63 65 3a reference:
0000ad00: 20 72 65 66 65 72 65 6e 63 65 2c 5c 6e 20 20 20 reference,\n
0000ad10: 20 20 20 20 20 70 6f 70 70 65 72 3a 20 70 6f 70 popper: pop
0000ad20: 70 65 72 5c 6e 20 20 20 20 20 20 7d 2c 5c 6e 20 per\n },\n
0000ad30: 20 20 20 20 20 61 74 74 72 69 62 75 74 65 73 3a attributes:
0000ad40: 20 7b 7d 2c 5c 6e 20 20 20 20 20 20 73 74 79 6c {},\n styl
0000ad50: 65 73 3a 20 7b 7d 5c 6e 20 20 20 20 7d 3b 5c 6e es: {}\n };\n
0000ad60: 20 20 20 20 76 61 72 20 65 66 66 65 63 74 43 6c var effectCl
0000ad70: 65 61 6e 75 70 46 6e 73 20 3d 20 5b 5d 3b 5c 6e eanupFns = [];\n
0000ad80: 20 20 20 20 76 61 72 20 69 73 44 65 73 74 72 6f var isDestro
0000ad90: 79 65 64 20 3d 20 66 61 6c 73 65 3b 5c 6e 20 20 yed = false;\n
0000ada0: 20 20 76 61 72 20 69 6e 73 74 61 6e 63 65 20 3d var instance =
0000adb0: 20 7b 5c 6e 20 20 20 20 20 20 73 74 61 74 65 3a {\n state:
0000adc0: 20 73 74 61 74 65 2c 5c 6e 20 20 20 20 20 20 73 state,\n s
0000add0: 65 74 4f 70 74 69 6f 6e 73 3a 20 66 75 6e 63 74 etOptions: funct
0000ade0: 69 6f 6e 20 73 65 74 4f 70 74 69 6f 6e 73 28 73 ion setOptions(s
0000adf0: 65 74 4f 70 74 69 6f 6e 73 41 63 74 69 6f 6e 29 etOptionsAction)
0000ae00: 20 7b 5c 6e 20 20 20 20 20 20 20 20 76 61 72 20 {\n var
0000ae10: 6f 70 74 69 6f 6e 73 20 3d 20 74 79 70 65 6f 66 options = typeof
0000ae20: 20 73 65 74 4f 70 74 69 6f 6e 73 41 63 74 69 6f setOptionsActio
0000ae30: 6e 20 3d 3d 3d 20 27 66 75 6e 63 74 69 6f 6e 27 n === 'function'
0000ae40: 20 3f 20 73 65 74 4f 70 74 69 6f 6e 73 41 63 74 ? setOptionsAct
0000ae50: 69 6f 6e 28 73 74 61 74 65 2e 6f 70 74 69 6f 6e ion(state.option
0000ae60: 73 29 20 3a 20 73 65 74 4f 70 74 69 6f 6e 73 41 s) : setOptionsA
0000ae70: 63 74 69 6f 6e 3b 5c 6e 20 20 20 20 20 20 20 20 ction;\n
0000ae80: 63 6c 65 61 6e 75 70 4d 6f 64 69 66 69 65 72 45 cleanupModifierE
0000ae90: 66 66 65 63 74 73 28 29 3b 5c 6e 20 20 20 20 20 ffects();\n
0000aea0: 20 20 20 73 74 61 74 65 2e 6f 70 74 69 6f 6e 73 state.options
0000aeb0: 20 3d 20 4f 62 6a 65 63 74 2e 61 73 73 69 67 6e = Object.assign
0000aec0: 28 7b 7d 2c 20 64 65 66 61 75 6c 74 4f 70 74 69 ({}, defaultOpti
0000aed0: 6f 6e 73 2c 20 73 74 61 74 65 2e 6f 70 74 69 6f ons, state.optio
0000aee0: 6e 73 2c 20 6f 70 74 69 6f 6e 73 29 3b 5c 6e 20 ns, options);\n
0000aef0: 20 20 20 20 20 20 20 73 74 61 74 65 2e 73 63 72 state.scr
0000af00: 6f 6c 6c 50 61 72 65 6e 74 73 20 3d 20 7b 5c 6e ollParents = {\n
0000af10: 20 20 20 20 20 20 20 20 20 20 72 65 66 65 72 65 refere
0000af20: 6e 63 65 3a 20 69 73 45 6c 65 6d 65 6e 74 28 72 nce: isElement(r
0000af30: 65 66 65 72 65 6e 63 65 29 20 3f 20 6c 69 73 74 eference) ? list
0000af40: 53 63 72 6f 6c 6c 50 61 72 65 6e 74 73 28 72 65 ScrollParents(re
0000af50: 66 65 72 65 6e 63 65 29 20 3a 20 72 65 66 65 72 ference) : refer
0000af60: 65 6e 63 65 2e 63 6f 6e 74 65 78 74 45 6c 65 6d ence.contextElem
0000af70: 65 6e 74 20 3f 20 6c 69 73 74 53 63 72 6f 6c 6c ent ? listScroll
0000af80: 50 61 72 65 6e 74 73 28 72 65 66 65 72 65 6e 63 Parents(referenc
0000af90: 65 2e 63 6f 6e 74 65 78 74 45 6c 65 6d 65 6e 74 e.contextElement
0000afa0: 29 20 3a 20 5b 5d 2c 5c 6e 20 20 20 20 20 20 20 ) : [],\n
0000afb0: 20 20 20 70 6f 70 70 65 72 3a 20 6c 69 73 74 53 popper: listS
0000afc0: 63 72 6f 6c 6c 50 61 72 65 6e 74 73 28 70 6f 70 crollParents(pop
0000afd0: 70 65 72 29 5c 6e 20 20 20 20 20 20 20 20 7d 3b per)\n };
0000afe0: 20 2f 2f 20 4f 72 64 65 72 73 20 74 68 65 20 6d // Orders the m
0000aff0: 6f 64 69 66 69 65 72 73 20 62 61 73 65 64 20 6f odifiers based o
0000b000: 6e 20 74 68 65 69 72 20 64 65 70 65 6e 64 65 6e n their dependen
0000b010: 63 69 65 73 20 61 6e 64 20 60 70 68 61 73 65 60 cies and `phase`
0000b020: 5c 6e 20 20 20 20 20 20 20 20 2f 2f 20 70 72 6f \n // pro
0000b030: 70 65 72 74 69 65 73 5c 6e 5c 6e 20 20 20 20 20 perties\n\n
0000b040: 20 20 20 76 61 72 20 6f 72 64 65 72 65 64 4d 6f var orderedMo
0000b050: 64 69 66 69 65 72 73 20 3d 20 6f 72 64 65 72 4d difiers = orderM
0000b060: 6f 64 69 66 69 65 72 73 28 6d 65 72 67 65 42 79 odifiers(mergeBy
0000b070: 4e 61 6d 65 28 5b 5d 2e 63 6f 6e 63 61 74 28 64 Name([].concat(d
0000b080: 65 66 61 75 6c 74 4d 6f 64 69 66 69 65 72 73 2c efaultModifiers,
0000b090: 20 73 74 61 74 65 2e 6f 70 74 69 6f 6e 73 2e 6d state.options.m
0000b0a0: 6f 64 69 66 69 65 72 73 29 29 29 3b 20 2f 2f 20 odifiers))); //
0000b0b0: 53 74 72 69 70 20 6f 75 74 20 64 69 73 61 62 6c Strip out disabl
0000b0c0: 65 64 20 6d 6f 64 69 66 69 65 72 73 5c 6e 5c 6e ed modifiers\n\n
0000b0d0: 20 20 20 20 20 20 20 20 73 74 61 74 65 2e 6f 72 state.or
0000b0e0: 64 65 72 65 64 4d 6f 64 69 66 69 65 72 73 20 3d deredModifiers =
0000b0f0: 20 6f 72 64 65 72 65 64 4d 6f 64 69 66 69 65 72 orderedModifier
0000b100: 73 2e 66 69 6c 74 65 72 28 66 75 6e 63 74 69 6f s.filter(functio
0000b110: 6e 20 28 6d 29 20 7b 5c 6e 20 20 20 20 20 20 20 n (m) {\n
0000b120: 20 20 20 72 65 74 75 72 6e 20 6d 2e 65 6e 61 62 return m.enab
0000b130: 6c 65 64 3b 5c 6e 20 20 20 20 20 20 20 20 7d 29 led;\n })
0000b140: 3b 5c 6e 20 20 20 20 20 20 20 20 72 75 6e 4d 6f ;\n runMo
0000b150: 64 69 66 69 65 72 45 66 66 65 63 74 73 28 29 3b difierEffects();
0000b160: 5c 6e 20 20 20 20 20 20 20 20 72 65 74 75 72 6e \n return
0000b170: 20 69 6e 73 74 61 6e 63 65 2e 75 70 64 61 74 65 instance.update
0000b180: 28 29 3b 5c 6e 20 20 20 20 20 20 7d 2c 5c 6e 20 ();\n },\n
0000b190: 20 20 20 20 20 2f 2f 20 53 79 6e 63 20 75 70 64 // Sync upd
0000b1a0: 61 74 65 20 e2 80 93 20 69 74 20 77 69 6c 6c 20 ate ... it will
0000b1b0: 61 6c 77 61 79 73 20 62 65 20 65 78 65 63 75 74 always be execut
0000b1c0: 65 64 2c 20 65 76 65 6e 20 69 66 20 6e 6f 74 20 ed, even if not
0000b1d0: 6e 65 63 65 73 73 61 72 79 2e 20 54 68 69 73 5c necessary. This\
0000b1e0: 6e 20 20 20 20 20 20 2f 2f 20 69 73 20 75 73 65 n // is use
0000b1f0: 66 75 6c 20 66 6f 72 20 6c 6f 77 20 66 72 65 71 ful for low freq
0000b200: 75 65 6e 63 79 20 75 70 64 61 74 65 73 20 77 68 uency updates wh
0000b210: 65 72 65 20 73 79 6e 63 20 62 65 68 61 76 69 6f ere sync behavio
0000b220: 72 20 73 69 6d 70 6c 69 66 69 65 73 20 74 68 65 r simplifies the
0000b230: 5c 6e 20 20 20 20 20 20 2f 2f 20 6c 6f 67 69 63 \n // logic
0000b240: 2e 5c 6e 20 20 20 20 20 20 2f 2f 20 46 6f 72 20 .\n // For
0000b250: 68 69 67 68 20 66 72 65 71 75 65 6e 63 79 20 75 high frequency u
0000b260: 70 64 61 74 65 73 20 28 65 2e 67 2e 20 60 72 65 pdates (e.g. `re
0000b270: 73 69 7a 65 60 20 61 6e 64 20 60 73 63 72 6f 6c size` and `scrol
0000b280: 6c 60 20 65 76 65 6e 74 73 29 2c 20 61 6c 77 61 l` events), alwa
0000b290: 79 73 5c 6e 20 20 20 20 20 20 2f 2f 20 70 72 65 ys\n // pre
0000b2a0: 66 65 72 20 74 68 65 20 61 73 79 6e 63 20 50 6f fer the async Po
0000b2b0: 70 70 65 72 23 75 70 64 61 74 65 20 6d 65 74 68 pper#update meth
0000b2c0: 6f 64 5c 6e 20 20 20 20 20 20 66 6f 72 63 65 55 od\n forceU
0000b2d0: 70 64 61 74 65 3a 20 66 75 6e 63 74 69 6f 6e 20 pdate: function
0000b2e0: 66 6f 72 63 65 55 70 64 61 74 65 28 29 20 7b 5c forceUpdate() {\
0000b2f0: 6e 20 20 20 20 20 20 20 20 69 66 20 28 69 73 44 n if (isD
0000b300: 65 73 74 72 6f 79 65 64 29 20 7b 5c 6e 20 20 20 estroyed) {\n
0000b310: 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 5c 6e return;\n
0000b320: 20 20 20 20 20 20 20 20 7d 5c 6e 5c 6e 20 20 20 }\n\n
0000b330: 20 20 20 20 20 76 61 72 20 5f 73 74 61 74 65 24 var _state$
0000b340: 65 6c 65 6d 65 6e 74 73 20 3d 20 73 74 61 74 65 elements = state
0000b350: 2e 65 6c 65 6d 65 6e 74 73 2c 5c 6e 20 20 20 20 .elements,\n
0000b360: 20 20 20 20 20 20 20 20 72 65 66 65 72 65 6e 63 referenc
0000b370: 65 20 3d 20 5f 73 74 61 74 65 24 65 6c 65 6d 65 e = _state$eleme
0000b380: 6e 74 73 2e 72 65 66 65 72 65 6e 63 65 2c 5c 6e nts.reference,\n
0000b390: 20 20 20 20 20 20 20 20 20 20 20 20 70 6f 70 70 popp
0000b3a0: 65 72 20 3d 20 5f 73 74 61 74 65 24 65 6c 65 6d er = _state$elem
0000b3b0: 65 6e 74 73 2e 70 6f 70 70 65 72 3b 20 2f 2f 20 ents.popper; //
0000b3c0: 44 6f 6e 27 74 20 70 72 6f 63 65 65 64 20 69 66 Don't proceed if
0000b3d0: 20 60 72 65 66 65 72 65 6e 63 65 60 20 6f 72 20 `reference` or
0000b3e0: 60 70 6f 70 70 65 72 60 20 61 72 65 20 6e 6f 74 `popper` are not
0000b3f0: 20 76 61 6c 69 64 20 65 6c 65 6d 65 6e 74 73 5c valid elements\
0000b400: 6e 20 20 20 20 20 20 20 20 2f 2f 20 61 6e 79 6d n // anym
0000b410: 6f 72 65 5c 6e 5c 6e 20 20 20 20 20 20 20 20 69 ore\n\n i
0000b420: 66 20 28 21 61 72 65 56 61 6c 69 64 45 6c 65 6d f (!areValidElem
0000b430: 65 6e 74 73 28 72 65 66 65 72 65 6e 63 65 2c 20 ents(reference,
0000b440: 70 6f 70 70 65 72 29 29 20 7b 5c 6e 20 20 20 20 popper)) {\n
0000b450: 20 20 20 20 20 20 72 65 74 75 72 6e 3b 5c 6e 20 return;\n
0000b460: 20 20 20 20 20 20 20 7d 20 2f 2f 20 53 74 6f 72 } // Stor
0000b470: 65 20 74 68 65 20 72 65 66 65 72 65 6e 63 65 20 e the reference
0000b480: 61 6e 64 20 70 6f 70 70 65 72 20 72 65 63 74 73 and popper rects
0000b490: 20 74 6f 20 62 65 20 72 65 61 64 20 62 79 20 6d to be read by m
0000b4a0: 6f 64 69 66 69 65 72 73 5c 6e 5c 6e 5c 6e 20 20 odifiers\n\n\n
0000b4b0: 20 20 20 20 20 20 73 74 61 74 65 2e 72 65 63 74 state.rect
0000b4c0: 73 20 3d 20 7b 5c 6e 20 20 20 20 20 20 20 20 20 s = {\n
0000b4d0: 20 72 65 66 65 72 65 6e 63 65 3a 20 67 65 74 43 reference: getC
0000b4e0: 6f 6d 70 6f 73 69 74 65 52 65 63 74 28 72 65 66 ompositeRect(ref
0000b4f0: 65 72 65 6e 63 65 2c 20 67 65 74 4f 66 66 73 65 erence, getOffse
0000b500: 74 50 61 72 65 6e 74 28 70 6f 70 70 65 72 29 2c tParent(popper),
0000b510: 20 73 74 61 74 65 2e 6f 70 74 69 6f 6e 73 2e 73 state.options.s
0000b520: 74 72 61 74 65 67 79 20 3d 3d 3d 20 27 66 69 78 trategy === 'fix
0000b530: 65 64 27 29 2c 5c 6e 20 20 20 20 20 20 20 20 20 ed'),\n
0000b540: 20 70 6f 70 70 65 72 3a 20 67 65 74 4c 61 79 6f popper: getLayo
0000b550: 75 74 52 65 63 74 28 70 6f 70 70 65 72 29 5c 6e utRect(popper)\n
0000b560: 20 20 20 20 20 20 20 20 7d 3b 20 2f 2f 20 4d 6f }; // Mo
0000b570: 64 69 66 69 65 72 73 20 68 61 76 65 20 74 68 65 difiers have the
0000b580: 20 61 62 69 6c 69 74 79 20 74 6f 20 72 65 73 65 ability to rese
0000b590: 74 20 74 68 65 20 63 75 72 72 65 6e 74 20 75 70 t the current up
0000b5a0: 64 61 74 65 20 63 79 63 6c 65 2e 20 54 68 65 5c date cycle. The\
0000b5b0: 6e 20 20 20 20 20 20 20 20 2f 2f 20 6d 6f 73 74 n // most
0000b5c0: 20 63 6f 6d 6d 6f 6e 20 75 73 65 20 63 61 73 65 common use case
0000b5d0: 20 66 6f 72 20 74 68 69 73 20 69 73 20 74 68 65 for this is the
0000b5e0: 20 60 66 6c 69 70 60 20 6d 6f 64 69 66 69 65 72 `flip` modifier
0000b5f0: 20 63 68 61 6e 67 69 6e 67 20 74 68 65 5c 6e 20 changing the\n
0000b600: 20 20 20 20 20 20 20 2f 2f 20 70 6c 61 63 65 6d // placem
0000b610: 65 6e 74 2c 20 77 68 69 63 68 20 74 68 65 6e 20 ent, which then
0000b620: 6e 65 65 64 73 20 74 6f 20 72 65 2d 72 75 6e 20 needs to re-run
0000b630: 61 6c 6c 20 74 68 65 20 6d 6f 64 69 66 69 65 72 all the modifier
0000b640: 73 2c 20 62 65 63 61 75 73 65 20 74 68 65 5c 6e s, because the\n
0000b650: 20 20 20 20 20 20 20 20 2f 2f 20 6c 6f 67 69 63 // logic
0000b660: 20 77 61 73 20 70 72 65 76 69 6f 75 73 6c 79 20 was previously
0000b670: 72 61 6e 20 66 6f 72 20 74 68 65 20 70 72 65 76 ran for the prev
0000b680: 69 6f 75 73 20 70 6c 61 63 65 6d 65 6e 74 20 61 ious placement a
0000b690: 6e 64 20 69 73 20 74 68 65 72 65 66 6f 72 65 5c nd is therefore\
0000b6a0: 6e 20 20 20 20 20 20 20 20 2f 2f 20 73 74 61 6c n // stal
0000b6b0: 65 2f 69 6e 63 6f 72 72 65 63 74 5c 6e 5c 6e 20 e/incorrect\n\n
0000b6c0: 20 20 20 20 20 20 20 73 74 61 74 65 2e 72 65 73 state.res
0000b6d0: 65 74 20 3d 20 66 61 6c 73 65 3b 5c 6e 20 20 20 et = false;\n
0000b6e0: 20 20 20 20 20 73 74 61 74 65 2e 70 6c 61 63 65 state.place
0000b6f0: 6d 65 6e 74 20 3d 20 73 74 61 74 65 2e 6f 70 74 ment = state.opt
0000b700: 69 6f 6e 73 2e 70 6c 61 63 65 6d 65 6e 74 3b 20 ions.placement;
0000b710: 2f 2f 20 4f 6e 20 65 61 63 68 20 75 70 64 61 74 // On each updat
0000b720: 65 20 63 79 63 6c 65 2c 20 74 68 65 20 60 6d 6f e cycle, the `mo
0000b730: 64 69 66 69 65 72 73 44 61 74 61 60 20 70 72 6f difiersData` pro
0000b740: 70 65 72 74 79 20 66 6f 72 20 65 61 63 68 20 6d perty for each m
0000b750: 6f 64 69 66 69 65 72 5c 6e 20 20 20 20 20 20 20 odifier\n
0000b760: 20 2f 2f 20 69 73 20 66 69 6c 6c 65 64 20 77 69 // is filled wi
0000b770: 74 68 20 74 68 65 20 69 6e 69 74 69 61 6c 20 64 th the initial d
0000b780: 61 74 61 20 73 70 65 63 69 66 69 65 64 20 62 79 ata specified by
0000b790: 20 74 68 65 20 6d 6f 64 69 66 69 65 72 2e 20 54 the modifier. T
0000b7a0: 68 69 73 20 6d 65 61 6e 73 5c 6e 20 20 20 20 20 his means\n
0000b7b0: 20 20 20 2f 2f 20 69 74 20 64 6f 65 73 6e 27 74 // it doesn't
0000b7c0: 20 70 65 72 73 69 73 74 20 61 6e 64 20 69 73 20 persist and is
0000b7d0: 66 72 65 73 68 20 6f 6e 20 65 61 63 68 20 75 70 fresh on each up
0000b7e0: 64 61 74 65 2e 5c 6e 20 20 20 20 20 20 20 20 2f date.\n /
0000b7f0: 2f 20 54 6f 20 65 6e 73 75 72 65 20 70 65 72 73 / To ensure pers
0000b800: 69 73 74 65 6e 74 20 64 61 74 61 2c 20 75 73 65 istent data, use
0000b810: 20 60 24 7b 6e 61 6d 65 7d 23 70 65 72 73 69 73 `${name}#persis
0000b820: 74 65 6e 74 60 5c 6e 5c 6e 20 20 20 20 20 20 20 tent`\n\n
0000b830: 20 73 74 61 74 65 2e 6f 72 64 65 72 65 64 4d 6f state.orderedMo
0000b840: 64 69 66 69 65 72 73 2e 66 6f 72 45 61 63 68 28 difiers.forEach(
0000b850: 66 75 6e 63 74 69 6f 6e 20 28 6d 6f 64 69 66 69 function (modifi
0000b860: 65 72 29 20 7b 5c 6e 20 20 20 20 20 20 20 20 20 er) {\n
0000b870: 20 72 65 74 75 72 6e 20 73 74 61 74 65 2e 6d 6f return state.mo
0000b880: 64 69 66 69 65 72 73 44 61 74 61 5b 6d 6f 64 69 difiersData[modi
0000b890: 66 69 65 72 2e 6e 61 6d 65 5d 20 3d 20 4f 62 6a fier.name] = Obj
0000b8a0: 65 63 74 2e 61 73 73 69 67 6e 28 7b 7d 2c 20 6d ect.assign({}, m
0000b8b0: 6f 64 69 66 69 65 72 2e 64 61 74 61 29 3b 5c 6e odifier.data);\n
0000b8c0: 20 20 20 20 20 20 20 20 7d 29 3b 5c 6e 5c 6e 20 });\n\n
0000b8d0: 20 20 20 20 20 20 20 66 6f 72 20 28 76 61 72 20 for (var
0000b8e0: 69 6e 64 65 78 20 3d 20 30 3b 20 69 6e 64 65 78 index = 0; index
0000b8f0: 20 3c 20 73 74 61 74 65 2e 6f 72 64 65 72 65 64 < state.ordered
0000b900: 4d 6f 64 69 66 69 65 72 73 2e 6c 65 6e 67 74 68 Modifiers.length
0000b910: 3b 20 69 6e 64 65 78 2b 2b 29 20 7b 5c 6e 20 20 ; index++) {\n
0000b920: 20 20 20 20 20 20 20 20 69 66 20 28 73 74 61 74 if (stat
0000b930: 65 2e 72 65 73 65 74 20 3d 3d 3d 20 74 72 75 65 e.reset === true
0000b940: 29 20 7b 5c 6e 20 20 20 20 20 20 20 20 20 20 20 ) {\n
0000b950: 20 73 74 61 74 65 2e 72 65 73 65 74 20 3d 20 66 state.reset = f
0000b960: 61 6c 73 65 3b 5c 6e 20 20 20 20 20 20 20 20 20 alse;\n
0000b970: 20 20 20 69 6e 64 65 78 20 3d 20 2d 31 3b 5c 6e index = -1;\n
0000b980: 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 cont
0000b990: 69 6e 75 65 3b 5c 6e 20 20 20 20 20 20 20 20 20 inue;\n
0000b9a0: 20 7d 5c 6e 5c 6e 20 20 20 20 20 20 20 20 20 20 }\n\n
0000b9b0: 76 61 72 20 5f 73 74 61 74 65 24 6f 72 64 65 72 var _state$order
0000b9c0: 65 64 4d 6f 64 69 66 69 65 20 3d 20 73 74 61 74 edModifie = stat
0000b9d0: 65 2e 6f 72 64 65 72 65 64 4d 6f 64 69 66 69 65 e.orderedModifie
0000b9e0: 72 73 5b 69 6e 64 65 78 5d 2c 5c 6e 20 20 20 20 rs[index],\n
0000b9f0: 20 20 20 20 20 20 20 20 20 20 66 6e 20 3d 20 5f fn = _
0000ba00: 73 74 61 74 65 24 6f 72 64 65 72 65 64 4d 6f 64 state$orderedMod
0000ba10: 69 66 69 65 2e 66 6e 2c 5c 6e 20 20 20 20 20 20 ifie.fn,\n
0000ba20: 20 20 20 20 20 20 20 20 5f 73 74 61 74 65 24 6f _state$o
0000ba30: 72 64 65 72 65 64 4d 6f 64 69 66 69 65 32 20 3d rderedModifie2 =
0000ba40: 20 5f 73 74 61 74 65 24 6f 72 64 65 72 65 64 4d _state$orderedM
0000ba50: 6f 64 69 66 69 65 2e 6f 70 74 69 6f 6e 73 2c 5c odifie.options,\
0000ba60: 6e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5f n _
0000ba70: 6f 70 74 69 6f 6e 73 20 3d 20 5f 73 74 61 74 65 options = _state
0000ba80: 24 6f 72 64 65 72 65 64 4d 6f 64 69 66 69 65 32 $orderedModifie2
0000ba90: 20 3d 3d 3d 20 76 6f 69 64 20 30 20 3f 20 7b 7d === void 0 ? {}
0000baa0: 20 3a 20 5f 73 74 61 74 65 24 6f 72 64 65 72 65 : _state$ordere
0000bab0: 64 4d 6f 64 69 66 69 65 32 2c 5c 6e 20 20 20 20 dModifie2,\n
0000bac0: 20 20 20 20 20 20 20 20 20 20 6e 61 6d 65 20 3d name =
0000bad0: 20 5f 73 74 61 74 65 24 6f 72 64 65 72 65 64 4d _state$orderedM
0000bae0: 6f 64 69 66 69 65 2e 6e 61 6d 65 3b 5c 6e 5c 6e odifie.name;\n\n
0000baf0: 20 20 20 20 20 20 20 20 20 20 69 66 20 28 74 79 if (ty
0000bb00: 70 65 6f 66 20 66 6e 20 3d 3d 3d 20 27 66 75 6e peof fn === 'fun
0000bb10: 63 74 69 6f 6e 27 29 20 7b 5c 6e 20 20 20 20 20 ction') {\n
0000bb20: 20 20 20 20 20 20 20 73 74 61 74 65 20 3d 20 66 state = f
0000bb30: 6e 28 7b 5c 6e 20 20 20 20 20 20 20 20 20 20 20 n({\n
0000bb40: 20 20 20 73 74 61 74 65 3a 20 73 74 61 74 65 2c state: state,
0000bb50: 5c 6e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 \n
0000bb60: 6f 70 74 69 6f 6e 73 3a 20 5f 6f 70 74 69 6f 6e options: _option
0000bb70: 73 2c 5c 6e 20 20 20 20 20 20 20 20 20 20 20 20 s,\n
0000bb80: 20 20 6e 61 6d 65 3a 20 6e 61 6d 65 2c 5c 6e 20 name: name,\n
0000bb90: 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 73 ins
0000bba0: 74 61 6e 63 65 3a 20 69 6e 73 74 61 6e 63 65 5c tance: instance\
0000bbb0: 6e 20 20 20 20 20 20 20 20 20 20 20 20 7d 29 20 n })
0000bbc0: 7c 7c 20 73 74 61 74 65 3b 5c 6e 20 20 20 20 20 || state;\n
0000bbd0: 20 20 20 20 20 7d 5c 6e 20 20 20 20 20 20 20 20 }\n
0000bbe0: 7d 5c 6e 20 20 20 20 20 20 7d 2c 5c 6e 20 20 20 }\n },\n
0000bbf0: 20 20 20 2f 2f 20 41 73 79 6e 63 20 61 6e 64 20 // Async and
0000bc00: 6f 70 74 69 6d 69 73 74 69 63 61 6c 6c 79 20 6f optimistically o
0000bc10: 70 74 69 6d 69 7a 65 64 20 75 70 64 61 74 65 20 ptimized update
0000bc20: e2 80 93 20 69 74 20 77 69 6c 6c 20 6e 6f 74 20 ... it will not
0000bc30: 62 65 20 65 78 65 63 75 74 65 64 20 69 66 5c 6e be executed if\n
0000bc40: 20 20 20 20 20 20 2f 2f 20 6e 6f 74 20 6e 65 63 // not nec
0000bc50: 65 73 73 61 72 79 20 28 64 65 62 6f 75 6e 63 65 essary (debounce
0000bc60: 64 20 74 6f 20 72 75 6e 20 61 74 20 6d 6f 73 74 d to run at most
0000bc70: 20 6f 6e 63 65 2d 70 65 72 2d 74 69 63 6b 29 5c once-per-tick)\
0000bc80: 6e 20 20 20 20 20 20 75 70 64 61 74 65 3a 20 64 n update: d
0000bc90: 65 62 6f 75 6e 63 65 28 66 75 6e 63 74 69 6f 6e ebounce(function
0000bca0: 20 28 29 20 7b 5c 6e 20 20 20 20 20 20 20 20 72 () {\n r
0000bcb0: 65 74 75 72 6e 20 6e 65 77 20 50 72 6f 6d 69 73 eturn new Promis
0000bcc0: 65 28 66 75 6e 63 74 69 6f 6e 20 28 72 65 73 6f e(function (reso
0000bcd0: 6c 76 65 29 20 7b 5c 6e 20 20 20 20 20 20 20 20 lve) {\n
0000bce0: 20 20 69 6e 73 74 61 6e 63 65 2e 66 6f 72 63 65 instance.force
0000bcf0: 55 70 64 61 74 65 28 29 3b 5c 6e 20 20 20 20 20 Update();\n
0000bd00: 20 20 20 20 20 72 65 73 6f 6c 76 65 28 73 74 61 resolve(sta
0000bd10: 74 65 29 3b 5c 6e 20 20 20 20 20 20 20 20 7d 29 te);\n })
0000bd20: 3b 5c 6e 20 20 20 20 20 20 7d 29 2c 5c 6e 20 20 ;\n }),\n
0000bd30: 20 20 20 20 64 65 73 74 72 6f 79 3a 20 66 75 6e destroy: fun
0000bd40: 63 74 69 6f 6e 20 64 65 73 74 72 6f 79 28 29 20 ction destroy()
0000bd50: 7b 5c 6e 20 20 20 20 20 20 20 20 63 6c 65 61 6e {\n clean
0000bd60: 75 70 4d 6f 64 69 66 69 65 72 45 66 66 65 63 74 upModifierEffect
0000bd70: 73 28 29 3b 5c 6e 20 20 20 20 20 20 20 20 69 73 s();\n is
0000bd80: 44 65 73 74 72 6f 79 65 64 20 3d 20 74 72 75 65 Destroyed = true
0000bd90: 3b 5c 6e 20 20 20 20 20 20 7d 5c 6e 20 20 20 20 ;\n }\n
0000bda0: 7d 3b 5c 6e 5c 6e 20 20 20 20 69 66 20 28 21 61 };\n\n if (!a
0000bdb0: 72 65 56 61 6c 69 64 45 6c 65 6d 65 6e 74 73 28 reValidElements(
0000bdc0: 72 65 66 65 72 65 6e 63 65 2c 20 70 6f 70 70 65 reference, poppe
0000bdd0: 72 29 29 20 7b 5c 6e 20 20 20 20 20 20 72 65 74 r)) {\n ret
0000bde0: 75 72 6e 20 69 6e 73 74 61 6e 63 65 3b 5c 6e 20 urn instance;\n
0000bdf0: 20 20 20 7d 5c 6e 5c 6e 20 20 20 20 69 6e 73 74 }\n\n inst
0000be00: 61 6e 63 65 2e 73 65 74 4f 70 74 69 6f 6e 73 28 ance.setOptions(
0000be10: 6f 70 74 69 6f 6e 73 29 2e 74 68 65 6e 28 66 75 options).then(fu
0000be20: 6e 63 74 69 6f 6e 20 28 73 74 61 74 65 29 20 7b nction (state) {
0000be30: 5c 6e 20 20 20 20 20 20 69 66 20 28 21 69 73 44 \n if (!isD
0000be40: 65 73 74 72 6f 79 65 64 20 26 26 20 6f 70 74 69 estroyed && opti
0000be50: 6f 6e 73 2e 6f 6e 46 69 72 73 74 55 70 64 61 74 ons.onFirstUpdat
0000be60: 65 29 20 7b 5c 6e 20 20 20 20 20 20 20 20 6f 70 e) {\n op
0000be70: 74 69 6f 6e 73 2e 6f 6e 46 69 72 73 74 55 70 64 tions.onFirstUpd
0000be80: 61 74 65 28 73 74 61 74 65 29 3b 5c 6e 20 20 20 ate(state);\n
0000be90: 20 20 20 7d 5c 6e 20 20 20 20 7d 29 3b 20 2f 2f }\n }); //
0000bea0: 20 4d 6f 64 69 66 69 65 72 73 20 68 61 76 65 20 Modifiers have
0000beb0: 74 68 65 20 61 62 69 6c 69 74 79 20 74 6f 20 65 the ability to e
0000bec0: 78 65 63 75 74 65 20 61 72 62 69 74 72 61 72 79 xecute arbitrary
0000bed0: 20 63 6f 64 65 20 62 65 66 6f 72 65 20 74 68 65 code before the
0000bee0: 20 66 69 72 73 74 5c 6e 20 20 20 20 2f 2f 20 75 first\n // u
0000bef0: 70 64 61 74 65 20 63 79 63 6c 65 20 72 75 6e 73 pdate cycle runs
0000bf00: 2e 20 54 68 65 79 20 77 69 6c 6c 20 62 65 20 65 . They will be e
0000bf10: 78 65 63 75 74 65 64 20 69 6e 20 74 68 65 20 73 xecuted in the s
0000bf20: 61 6d 65 20 6f 72 64 65 72 20 61 73 20 74 68 65 ame order as the
0000bf30: 20 75 70 64 61 74 65 5c 6e 20 20 20 20 2f 2f 20 update\n //
0000bf40: 63 79 63 6c 65 2e 20 54 68 69 73 20 69 73 20 75 cycle. This is u
0000bf50: 73 65 66 75 6c 20 77 68 65 6e 20 61 20 6d 6f 64 seful when a mod
0000bf60: 69 66 69 65 72 20 61 64 64 73 20 73 6f 6d 65 20 ifier adds some
0000bf70: 70 65 72 73 69 73 74 65 6e 74 20 64 61 74 61 20 persistent data
0000bf80: 74 68 61 74 5c 6e 20 20 20 20 2f 2f 20 6f 74 68 that\n // oth
0000bf90: 65 72 20 6d 6f 64 69 66 69 65 72 73 20 6e 65 65 er modifiers nee
0000bfa0: 64 20 74 6f 20 75 73 65 2c 20 62 75 74 20 74 68 d to use, but th
0000bfb0: 65 20 6d 6f 64 69 66 69 65 72 20 69 73 20 72 75 e modifier is ru
0000bfc0: 6e 20 61 66 74 65 72 20 74 68 65 20 64 65 70 65 n after the depe
0000bfd0: 6e 64 65 6e 74 5c 6e 20 20 20 20 2f 2f 20 6f 6e ndent\n // on
0000bfe0: 65 2e 5c 6e 5c 6e 20 20 20 20 66 75 6e 63 74 69 e.\n\n functi
0000bff0: 6f 6e 20 72 75 6e 4d 6f 64 69 66 69 65 72 45 66 on runModifierEf
0000c000: 66 65 63 74 73 28 29 20 7b 5c 6e 20 20 20 20 20 fects() {\n
0000c010: 20 73 74 61 74 65 2e 6f 72 64 65 72 65 64 4d 6f state.orderedMo
0000c020: 64 69 66 69 65 72 73 2e 66 6f 72 45 61 63 68 28 difiers.forEach(
0000c030: 66 75 6e 63 74 69 6f 6e 20 28 5f 72 65 66 29 20 function (_ref)
0000c040: 7b 5c 6e 20 20 20 20 20 20 20 20 76 61 72 20 6e {\n var n
0000c050: 61 6d 65 20 3d 20 5f 72 65 66 2e 6e 61 6d 65 2c ame = _ref.name,
0000c060: 5c 6e 20 20 20 20 20 20 20 20 20 20 20 20 5f 72 \n _r
0000c070: 65 66 24 6f 70 74 69 6f 6e 73 20 3d 20 5f 72 65 ef$options = _re
0000c080: 66 2e 6f 70 74 69 6f 6e 73 2c 5c 6e 20 20 20 20 f.options,\n
0000c090: 20 20 20 20 20 20 20 20 6f 70 74 69 6f 6e 73 20 options
0000c0a0: 3d 20 5f 72 65 66 24 6f 70 74 69 6f 6e 73 20 3d = _ref$options =
0000c0b0: 3d 3d 20 76 6f 69 64 20 30 20 3f 20 7b 7d 20 3a == void 0 ? {} :
0000c0c0: 20 5f 72 65 66 24 6f 70 74 69 6f 6e 73 2c 5c 6e _ref$options,\n
0000c0d0: 20 20 20 20 20 20 20 20 20 20 20 20 65 66 66 65 effe
0000c0e0: 63 74 20 3d 20 5f 72 65 66 2e 65 66 66 65 63 74 ct = _ref.effect
0000c0f0: 3b 5c 6e 5c 6e 20 20 20 20 20 20 20 20 69 66 20 ;\n\n if
0000c100: 28 74 79 70 65 6f 66 20 65 66 66 65 63 74 20 3d (typeof effect =
0000c110: 3d 3d 20 27 66 75 6e 63 74 69 6f 6e 27 29 20 7b == 'function') {
0000c120: 5c 6e 20 20 20 20 20 20 20 20 20 20 76 61 72 20 \n var
0000c130: 63 6c 65 61 6e 75 70 46 6e 20 3d 20 65 66 66 65 cleanupFn = effe
0000c140: 63 74 28 7b 5c 6e 20 20 20 20 20 20 20 20 20 20 ct({\n
0000c150: 20 20 73 74 61 74 65 3a 20 73 74 61 74 65 2c 5c state: state,\
0000c160: 6e 20 20 20 20 20 20 20 20 20 20 20 20 6e 61 6d n nam
0000c170: 65 3a 20 6e 61 6d 65 2c 5c 6e 20 20 20 20 20 20 e: name,\n
0000c180: 20 20 20 20 20 20 69 6e 73 74 61 6e 63 65 3a 20 instance:
0000c190: 69 6e 73 74 61 6e 63 65 2c 5c 6e 20 20 20 20 20 instance,\n
0000c1a0: 20 20 20 20 20 20 20 6f 70 74 69 6f 6e 73 3a 20 options:
0000c1b0: 6f 70 74 69 6f 6e 73 5c 6e 20 20 20 20 20 20 20 options\n
0000c1c0: 20 20 20 7d 29 3b 5c 6e 5c 6e 20 20 20 20 20 20 });\n\n
0000c1d0: 20 20 20 20 76 61 72 20 6e 6f 6f 70 46 6e 20 3d var noopFn =
0000c1e0: 20 66 75 6e 63 74 69 6f 6e 20 6e 6f 6f 70 46 6e function noopFn
0000c1f0: 28 29 20 7b 7d 3b 5c 6e 5c 6e 20 20 20 20 20 20 () {};\n\n
0000c200: 20 20 20 20 65 66 66 65 63 74 43 6c 65 61 6e 75 effectCleanu
0000c210: 70 46 6e 73 2e 70 75 73 68 28 63 6c 65 61 6e 75 pFns.push(cleanu
0000c220: 70 46 6e 20 7c 7c 20 6e 6f 6f 70 46 6e 29 3b 5c pFn || noopFn);\
0000c230: 6e 20 20 20 20 20 20 20 20 7d 5c 6e 20 20 20 20 n }\n
0000c240: 20 20 7d 29 3b 5c 6e 20 20 20 20 7d 5c 6e 5c 6e });\n }\n\n
0000c250: 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 63 6c 65 function cle
0000c260: 61 6e 75 70 4d 6f 64 69 66 69 65 72 45 66 66 65 anupModifierEffe
0000c270: 63 74 73 28 29 20 7b 5c 6e 20 20 20 20 20 20 65 cts() {\n e
0000c280: 66 66 65 63 74 43 6c 65 61 6e 75 70 46 6e 73 2e ffectCleanupFns.
0000c290: 66 6f 72 45 61 63 68 28 66 75 6e 63 74 69 6f 6e forEach(function
0000c2a0: 20 28 66 6e 29 20 7b 5c 6e 20 20 20 20 20 20 20 (fn) {\n
0000c2b0: 20 72 65 74 75 72 6e 20 66 6e 28 29 3b 5c 6e 20 return fn();\n
0000c2c0: 20 20 20 20 20 7d 29 3b 5c 6e 20 20 20 20 20 20 });\n
0000c2d0: 65 66 66 65 63 74 43 6c 65 61 6e 75 70 46 6e 73 effectCleanupFns
0000c2e0: 20 3d 20 5b 5d 3b 5c 6e 20 20 20 20 7d 5c 6e 5c = [];\n }\n\
0000c2f0: 6e 20 20 20 20 72 65 74 75 72 6e 20 69 6e 73 74 n return inst
0000c300: 61 6e 63 65 3b 5c 6e 20 20 7d 3b 5c 6e 7d 5c 6e ance;\n };\n}\n
0000c310: 65 78 70 6f 72 74 20 76 61 72 20 63 72 65 61 74 export var creat
0000c320: 65 50 6f 70 70 65 72 20 3d 20 2f 2a 23 5f 5f 50 ePopper = /*#__P
0000c330: 55 52 45 5f 5f 2a 2f 70 6f 70 70 65 72 47 65 6e URE__*/popperGen
0000c340: 65 72 61 74 6f 72 28 29 3b 20 2f 2f 20 65 73 6c erator(); // esl
0000c350: 69 6e 74 2d 64 69 73 61 62 6c 65 2d 6e 65 78 74 int-disable-next
0000c360: 2d 6c 69 6e 65 20 69 6d 70 6f 72 74 2f 6e 6f 2d -line import/no-
0000c370: 75 6e 75 73 65 64 2d 6d 6f 64 75 6c 65 73 5c 6e unused-modules\n
0000c380: 5c 6e 65 78 70 6f 72 74 20 7b 20 64 65 74 65 63 \nexport { detec
0000c390: 74 4f 76 65 72 66 6c 6f 77 20 7d 3b 22 2c 22 65 tOverflow };","e
0000c3a0: 78 70 6f 72 74 20 64 65 66 61 75 6c 74 20 66 75 xport default fu
0000c3b0: 6e 63 74 69 6f 6e 20 6d 65 72 67 65 42 79 4e 61 nction mergeByNa
0000c3c0: 6d 65 28 6d 6f 64 69 66 69 65 72 73 29 20 7b 5c me(modifiers) {\
0000c3d0: 6e 20 20 76 61 72 20 6d 65 72 67 65 64 20 3d 20 n var merged =
0000c3e0: 6d 6f 64 69 66 69 65 72 73 2e 72 65 64 75 63 65 modifiers.reduce
0000c3f0: 28 66 75 6e 63 74 69 6f 6e 20 28 6d 65 72 67 65 (function (merge
0000c400: 64 2c 20 63 75 72 72 65 6e 74 29 20 7b 5c 6e 20 d, current) {\n
0000c410: 20 20 20 76 61 72 20 65 78 69 73 74 69 6e 67 20 var existing
0000c420: 3d 20 6d 65 72 67 65 64 5b 63 75 72 72 65 6e 74 = merged[current
0000c430: 2e 6e 61 6d 65 5d 3b 5c 6e 20 20 20 20 6d 65 72 .name];\n mer
0000c440: 67 65 64 5b 63 75 72 72 65 6e 74 2e 6e 61 6d 65 ged[current.name
0000c450: 5d 20 3d 20 65 78 69 73 74 69 6e 67 20 3f 20 4f ] = existing ? O
0000c460: 62 6a 65 63 74 2e 61 73 73 69 67 6e 28 7b 7d 2c bject.assign({},
0000c470: 20 65 78 69 73 74 69 6e 67 2c 20 63 75 72 72 65 existing, curre
0000c480: 6e 74 2c 20 7b 5c 6e 20 20 20 20 20 20 6f 70 74 nt, {\n opt
0000c490: 69 6f 6e 73 3a 20 4f 62 6a 65 63 74 2e 61 73 73 ions: Object.ass
0000c4a0: 69 67 6e 28 7b 7d 2c 20 65 78 69 73 74 69 6e 67 ign({}, existing
0000c4b0: 2e 6f 70 74 69 6f 6e 73 2c 20 63 75 72 72 65 6e .options, curren
0000c4c0: 74 2e 6f 70 74 69 6f 6e 73 29 2c 5c 6e 20 20 20 t.options),\n
0000c4d0: 20 20 20 64 61 74 61 3a 20 4f 62 6a 65 63 74 2e data: Object.
0000c4e0: 61 73 73 69 67 6e 28 7b 7d 2c 20 65 78 69 73 74 assign({}, exist
0000c4f0: 69 6e 67 2e 64 61 74 61 2c 20 63 75 72 72 65 6e ing.data, curren
0000c500: 74 2e 64 61 74 61 29 5c 6e 20 20 20 20 7d 29 20 t.data)\n })
0000c510: 3a 20 63 75 72 72 65 6e 74 3b 5c 6e 20 20 20 20 : current;\n
0000c520: 72 65 74 75 72 6e 20 6d 65 72 67 65 64 3b 5c 6e return merged;\n
0000c530: 20 20 7d 2c 20 7b 7d 29 3b 20 2f 2f 20 49 45 31 }, {}); // IE1
0000c540: 31 20 64 6f 65 73 20 6e 6f 74 20 73 75 70 70 6f 1 does not suppo
0000c550: 72 74 20 4f 62 6a 65 63 74 2e 76 61 6c 75 65 73 rt Object.values
0000c560: 5c 6e 5c 6e 20 20 72 65 74 75 72 6e 20 4f 62 6a \n\n return Obj
0000c570: 65 63 74 2e 6b 65 79 73 28 6d 65 72 67 65 64 29 ect.keys(merged)
0000c580: 2e 6d 61 70 28 66 75 6e 63 74 69 6f 6e 20 28 6b .map(function (k
0000c590: 65 79 29 20 7b 5c 6e 20 20 20 20 72 65 74 75 72 ey) {\n retur
0000c5a0: 6e 20 6d 65 72 67 65 64 5b 6b 65 79 5d 3b 5c 6e n merged[key];\n
0000c5b0: 20 20 7d 29 3b 5c 6e 7d 22 2c 22 69 6d 70 6f 72 });\n}","impor
0000c5c0: 74 20 7b 20 70 6f 70 70 65 72 47 65 6e 65 72 61 t { popperGenera
0000c5d0: 74 6f 72 2c 20 64 65 74 65 63 74 4f 76 65 72 66 tor, detectOverf
0000c5e0: 6c 6f 77 20 7d 20 66 72 6f 6d 20 5c 22 2e 2f 63 low } from \"./c
0000c5f0: 72 65 61 74 65 50 6f 70 70 65 72 2e 6a 73 5c 22 reatePopper.js\"
0000c600: 3b 5c 6e 69 6d 70 6f 72 74 20 65 76 65 6e 74 4c ;\nimport eventL
0000c610: 69 73 74 65 6e 65 72 73 20 66 72 6f 6d 20 5c 22 isteners from \"
0000c620: 2e 2f 6d 6f 64 69 66 69 65 72 73 2f 65 76 65 6e ./modifiers/even
0000c630: 74 4c 69 73 74 65 6e 65 72 73 2e 6a 73 5c 22 3b tListeners.js\";
0000c640: 5c 6e 69 6d 70 6f 72 74 20 70 6f 70 70 65 72 4f \nimport popperO
0000c650: 66 66 73 65 74 73 20 66 72 6f 6d 20 5c 22 2e 2f ffsets from \"./
0000c660: 6d 6f 64 69 66 69 65 72 73 2f 70 6f 70 70 65 72 modifiers/popper
0000c670: 4f 66 66 73 65 74 73 2e 6a 73 5c 22 3b 5c 6e 69 Offsets.js\";\ni
0000c680: 6d 70 6f 72 74 20 63 6f 6d 70 75 74 65 53 74 79 mport computeSty
0000c690: 6c 65 73 20 66 72 6f 6d 20 5c 22 2e 2f 6d 6f 64 les from \"./mod
0000c6a0: 69 66 69 65 72 73 2f 63 6f 6d 70 75 74 65 53 74 ifiers/computeSt
0000c6b0: 79 6c 65 73 2e 6a 73 5c 22 3b 5c 6e 69 6d 70 6f yles.js\";\nimpo
0000c6c0: 72 74 20 61 70 70 6c 79 53 74 79 6c 65 73 20 66 rt applyStyles f
0000c6d0: 72 6f 6d 20 5c 22 2e 2f 6d 6f 64 69 66 69 65 72 rom \"./modifier
0000c6e0: 73 2f 61 70 70 6c 79 53 74 79 6c 65 73 2e 6a 73 s/applyStyles.js
0000c6f0: 5c 22 3b 5c 6e 76 61 72 20 64 65 66 61 75 6c 74 \";\nvar default
0000c700: 4d 6f 64 69 66 69 65 72 73 20 3d 20 5b 65 76 65 Modifiers = [eve
0000c710: 6e 74 4c 69 73 74 65 6e 65 72 73 2c 20 70 6f 70 ntListeners, pop
0000c720: 70 65 72 4f 66 66 73 65 74 73 2c 20 63 6f 6d 70 perOffsets, comp
0000c730: 75 74 65 53 74 79 6c 65 73 2c 20 61 70 70 6c 79 uteStyles, apply
0000c740: 53 74 79 6c 65 73 5d 3b 5c 6e 76 61 72 20 63 72 Styles];\nvar cr
0000c750: 65 61 74 65 50 6f 70 70 65 72 20 3d 20 2f 2a 23 eatePopper = /*#
0000c760: 5f 5f 50 55 52 45 5f 5f 2a 2f 70 6f 70 70 65 72 __PURE__*/popper
0000c770: 47 65 6e 65 72 61 74 6f 72 28 7b 5c 6e 20 20 64 Generator({\n d
0000c780: 65 66 61 75 6c 74 4d 6f 64 69 66 69 65 72 73 3a efaultModifiers:
0000c790: 20 64 65 66 61 75 6c 74 4d 6f 64 69 66 69 65 72 defaultModifier
0000c7a0: 73 5c 6e 7d 29 3b 20 2f 2f 20 65 73 6c 69 6e 74 s\n}); // eslint
0000c7b0: 2d 64 69 73 61 62 6c 65 2d 6e 65 78 74 2d 6c 69 -disable-next-li
0000c7c0: 6e 65 20 69 6d 70 6f 72 74 2f 6e 6f 2d 75 6e 75 ne import/no-unu
0000c7d0: 73 65 64 2d 6d 6f 64 75 6c 65 73 5c 6e 5c 6e 65 sed-modules\n\ne
0000c7e0: 78 70 6f 72 74 20 7b 20 63 72 65 61 74 65 50 6f xport { createPo
0000c7f0: 70 70 65 72 2c 20 70 6f 70 70 65 72 47 65 6e 65 pper, popperGene
0000c800: 72 61 74 6f 72 2c 20 64 65 66 61 75 6c 74 4d 6f rator, defaultMo
0000c810: 64 69 66 69 65 72 73 2c 20 64 65 74 65 63 74 4f difiers, detectO
0000c820: 76 65 72 66 6c 6f 77 20 7d 3b 22 2c 22 69 6d 70 verflow };","imp
0000c830: 6f 72 74 20 7b 20 70 6f 70 70 65 72 47 65 6e 65 ort { popperGene
0000c840: 72 61 74 6f 72 2c 20 64 65 74 65 63 74 4f 76 65 rator, detectOve
0000c850: 72 66 6c 6f 77 20 7d 20 66 72 6f 6d 20 5c 22 2e rflow } from \".
0000c860: 2f 63 72 65 61 74 65 50 6f 70 70 65 72 2e 6a 73 /createPopper.js
0000c870: 5c 22 3b 5c 6e 69 6d 70 6f 72 74 20 65 76 65 6e \";\nimport even
0000c880: 74 4c 69 73 74 65 6e 65 72 73 20 66 72 6f 6d 20 tListeners from
0000c890: 5c 22 2e 2f 6d 6f 64 69 66 69 65 72 73 2f 65 76 \"./modifiers/ev
0000c8a0: 65 6e 74 4c 69 73 74 65 6e 65 72 73 2e 6a 73 5c entListeners.js\
0000c8b0: 22 3b 5c 6e 69 6d 70 6f 72 74 20 70 6f 70 70 65 ";\nimport poppe
0000c8c0: 72 4f 66 66 73 65 74 73 20 66 72 6f 6d 20 5c 22 rOffsets from \"
0000c8d0: 2e 2f 6d 6f 64 69 66 69 65 72 73 2f 70 6f 70 70 ./modifiers/popp
0000c8e0: 65 72 4f 66 66 73 65 74 73 2e 6a 73 5c 22 3b 5c erOffsets.js\";\
0000c8f0: 6e 69 6d 70 6f 72 74 20 63 6f 6d 70 75 74 65 53 nimport computeS
0000c900: 74 79 6c 65 73 20 66 72 6f 6d 20 5c 22 2e 2f 6d tyles from \"./m
0000c910: 6f 64 69 66 69 65 72 73 2f 63 6f 6d 70 75 74 65 odifiers/compute
0000c920: 53 74 79 6c 65 73 2e 6a 73 5c 22 3b 5c 6e 69 6d Styles.js\";\nim
0000c930: 70 6f 72 74 20 61 70 70 6c 79 53 74 79 6c 65 73 port applyStyles
0000c940: 20 66 72 6f 6d 20 5c 22 2e 2f 6d 6f 64 69 66 69 from \"./modifi
0000c950: 65 72 73 2f 61 70 70 6c 79 53 74 79 6c 65 73 2e ers/applyStyles.
0000c960: 6a 73 5c 22 3b 5c 6e 69 6d 70 6f 72 74 20 6f 66 js\";\nimport of
0000c970: 66 73 65 74 20 66 72 6f 6d 20 5c 22 2e 2f 6d 6f fset from \"./mo
0000c980: 64 69 66 69 65 72 73 2f 6f 66 66 73 65 74 2e 6a difiers/offset.j
0000c990: 73 5c 22 3b 5c 6e 69 6d 70 6f 72 74 20 66 6c 69 s\";\nimport fli
0000c9a0: 70 20 66 72 6f 6d 20 5c 22 2e 2f 6d 6f 64 69 66 p from \"./modif
0000c9b0: 69 65 72 73 2f 66 6c 69 70 2e 6a 73 5c 22 3b 5c iers/flip.js\";\
0000c9c0: 6e 69 6d 70 6f 72 74 20 70 72 65 76 65 6e 74 4f nimport preventO
0000c9d0: 76 65 72 66 6c 6f 77 20 66 72 6f 6d 20 5c 22 2e verflow from \".
0000c9e0: 2f 6d 6f 64 69 66 69 65 72 73 2f 70 72 65 76 65 /modifiers/preve
0000c9f0: 6e 74 4f 76 65 72 66 6c 6f 77 2e 6a 73 5c 22 3b ntOverflow.js\";
0000ca00: 5c 6e 69 6d 70 6f 72 74 20 61 72 72 6f 77 20 66 \nimport arrow f
0000ca10: 72 6f 6d 20 5c 22 2e 2f 6d 6f 64 69 66 69 65 72 rom \"./modifier
0000ca20: 73 2f 61 72 72 6f 77 2e 6a 73 5c 22 3b 5c 6e 69 s/arrow.js\";\ni
0000ca30: 6d 70 6f 72 74 20 68 69 64 65 20 66 72 6f 6d 20 mport hide from
0000ca40: 5c 22 2e 2f 6d 6f 64 69 66 69 65 72 73 2f 68 69 \"./modifiers/hi
0000ca50: 64 65 2e 6a 73 5c 22 3b 5c 6e 76 61 72 20 64 65 de.js\";\nvar de
0000ca60: 66 61 75 6c 74 4d 6f 64 69 66 69 65 72 73 20 3d faultModifiers =
0000ca70: 20 5b 65 76 65 6e 74 4c 69 73 74 65 6e 65 72 73 [eventListeners
0000ca80: 2c 20 70 6f 70 70 65 72 4f 66 66 73 65 74 73 2c , popperOffsets,
0000ca90: 20 63 6f 6d 70 75 74 65 53 74 79 6c 65 73 2c 20 computeStyles,
0000caa0: 61 70 70 6c 79 53 74 79 6c 65 73 2c 20 6f 66 66 applyStyles, off
0000cab0: 73 65 74 2c 20 66 6c 69 70 2c 20 70 72 65 76 65 set, flip, preve
0000cac0: 6e 74 4f 76 65 72 66 6c 6f 77 2c 20 61 72 72 6f ntOverflow, arro
0000cad0: 77 2c 20 68 69 64 65 5d 3b 5c 6e 76 61 72 20 63 w, hide];\nvar c
0000cae0: 72 65 61 74 65 50 6f 70 70 65 72 20 3d 20 2f 2a reatePopper = /*
0000caf0: 23 5f 5f 50 55 52 45 5f 5f 2a 2f 70 6f 70 70 65 #__PURE__*/poppe
0000cb00: 72 47 65 6e 65 72 61 74 6f 72 28 7b 5c 6e 20 20 rGenerator({\n
0000cb10: 64 65 66 61 75 6c 74 4d 6f 64 69 66 69 65 72 73 defaultModifiers
0000cb20: 3a 20 64 65 66 61 75 6c 74 4d 6f 64 69 66 69 65 : defaultModifie
0000cb30: 72 73 5c 6e 7d 29 3b 20 2f 2f 20 65 73 6c 69 6e rs\n}); // eslin
0000cb40: 74 2d 64 69 73 61 62 6c 65 2d 6e 65 78 74 2d 6c t-disable-next-l
0000cb50: 69 6e 65 20 69 6d 70 6f 72 74 2f 6e 6f 2d 75 6e ine import/no-un
0000cb60: 75 73 65 64 2d 6d 6f 64 75 6c 65 73 5c 6e 5c 6e used-modules\n\n
0000cb70: 65 78 70 6f 72 74 20 7b 20 63 72 65 61 74 65 50 export { createP
0000cb80: 6f 70 70 65 72 2c 20 70 6f 70 70 65 72 47 65 6e opper, popperGen
0000cb90: 65 72 61 74 6f 72 2c 20 64 65 66 61 75 6c 74 4d erator, defaultM
0000cba0: 6f 64 69 66 69 65 72 73 2c 20 64 65 74 65 63 74 odifiers, detect
0000cbb0: 4f 76 65 72 66 6c 6f 77 20 7d 3b 20 2f 2f 20 65 Overflow }; // e
0000cbc0: 73 6c 69 6e 74 2d 64 69 73 61 62 6c 65 2d 6e 65 slint-disable-ne
0000cbd0: 78 74 2d 6c 69 6e 65 20 69 6d 70 6f 72 74 2f 6e xt-line import/n
0000cbe0: 6f 2d 75 6e 75 73 65 64 2d 6d 6f 64 75 6c 65 73 o-unused-modules
0000cbf0: 5c 6e 5c 6e 65 78 70 6f 72 74 20 7b 20 63 72 65 \n\nexport { cre
0000cc00: 61 74 65 50 6f 70 70 65 72 20 61 73 20 63 72 65 atePopper as cre
0000cc10: 61 74 65 50 6f 70 70 65 72 4c 69 74 65 20 7d 20 atePopperLite }
0000cc20: 66 72 6f 6d 20 5c 22 2e 2f 70 6f 70 70 65 72 2d from \"./popper-
0000cc30: 6c 69 74 65 2e 6a 73 5c 22 3b 20 2f 2f 20 65 73 lite.js\"; // es
0000cc40: 6c 69 6e 74 2d 64 69 73 61 62 6c 65 2d 6e 65 78 lint-disable-nex
0000cc50: 74 2d 6c 69 6e 65 20 69 6d 70 6f 72 74 2f 6e 6f t-line import/no
0000cc60: 2d 75 6e 75 73 65 64 2d 6d 6f 64 75 6c 65 73 5c -unused-modules\
0000cc70: 6e 5c 6e 65 78 70 6f 72 74 20 2a 20 66 72 6f 6d n\nexport * from
0000cc80: 20 5c 22 2e 2f 6d 6f 64 69 66 69 65 72 73 2f 69 \"./modifiers/i
0000cc90: 6e 64 65 78 2e 6a 73 5c 22 3b 22 2c 22 2f 2a 2a ndex.js\";","/**
0000cca0: 5c 6e 20 2a 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d \n * -----------
0000ccb0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0000ccc0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0000ccd0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0000cce0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c ---------------\
0000ccf0: 6e 20 2a 20 42 6f 6f 74 73 74 72 61 70 20 64 72 n * Bootstrap dr
0000cd00: 6f 70 64 6f 77 6e 2e 6a 73 5c 6e 20 2a 20 4c 69 opdown.js\n * Li
0000cd10: 63 65 6e 73 65 64 20 75 6e 64 65 72 20 4d 49 54 censed under MIT
0000cd20: 20 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 (https://github
0000cd30: 2e 63 6f 6d 2f 74 77 62 73 2f 62 6f 6f 74 73 74 .com/twbs/bootst
0000cd40: 72 61 70 2f 62 6c 6f 62 2f 6d 61 69 6e 2f 4c 49 rap/blob/main/LI
0000cd50: 43 45 4e 53 45 29 5c 6e 20 2a 20 2d 2d 2d 2d 2d CENSE)\n * -----
0000cd60: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0000cd70: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0000cd80: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0000cd90: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0000cda0: 2d 2d 2d 2d 2d 5c 6e 20 2a 2f 5c 6e 5c 6e 69 6d -----\n */\n\nim
0000cdb0: 70 6f 72 74 20 2a 20 61 73 20 50 6f 70 70 65 72 port * as Popper
0000cdc0: 20 66 72 6f 6d 20 27 40 70 6f 70 70 65 72 6a 73 from '@popperjs
0000cdd0: 2f 63 6f 72 65 27 5c 6e 69 6d 70 6f 72 74 20 42 /core'\nimport B
0000cde0: 61 73 65 43 6f 6d 70 6f 6e 65 6e 74 20 66 72 6f aseComponent fro
0000cdf0: 6d 20 27 2e 2f 62 61 73 65 2d 63 6f 6d 70 6f 6e m './base-compon
0000ce00: 65 6e 74 2e 6a 73 27 5c 6e 69 6d 70 6f 72 74 20 ent.js'\nimport
0000ce10: 45 76 65 6e 74 48 61 6e 64 6c 65 72 20 66 72 6f EventHandler fro
0000ce20: 6d 20 27 2e 2f 64 6f 6d 2f 65 76 65 6e 74 2d 68 m './dom/event-h
0000ce30: 61 6e 64 6c 65 72 2e 6a 73 27 5c 6e 69 6d 70 6f andler.js'\nimpo
0000ce40: 72 74 20 4d 61 6e 69 70 75 6c 61 74 6f 72 20 66 rt Manipulator f
0000ce50: 72 6f 6d 20 27 2e 2f 64 6f 6d 2f 6d 61 6e 69 70 rom './dom/manip
0000ce60: 75 6c 61 74 6f 72 2e 6a 73 27 5c 6e 69 6d 70 6f ulator.js'\nimpo
0000ce70: 72 74 20 53 65 6c 65 63 74 6f 72 45 6e 67 69 6e rt SelectorEngin
0000ce80: 65 20 66 72 6f 6d 20 27 2e 2f 64 6f 6d 2f 73 65 e from './dom/se
0000ce90: 6c 65 63 74 6f 72 2d 65 6e 67 69 6e 65 2e 6a 73 lector-engine.js
0000cea0: 27 5c 6e 69 6d 70 6f 72 74 20 7b 5c 6e 20 20 64 '\nimport {\n d
0000ceb0: 65 66 69 6e 65 4a 51 75 65 72 79 50 6c 75 67 69 efineJQueryPlugi
0000cec0: 6e 2c 5c 6e 20 20 65 78 65 63 75 74 65 2c 5c 6e n,\n execute,\n
0000ced0: 20 20 67 65 74 45 6c 65 6d 65 6e 74 2c 5c 6e 20 getElement,\n
0000cee0: 20 67 65 74 4e 65 78 74 41 63 74 69 76 65 45 6c getNextActiveEl
0000cef0: 65 6d 65 6e 74 2c 5c 6e 20 20 69 73 44 69 73 61 ement,\n isDisa
0000cf00: 62 6c 65 64 2c 5c 6e 20 20 69 73 45 6c 65 6d 65 bled,\n isEleme
0000cf10: 6e 74 2c 5c 6e 20 20 69 73 52 54 4c 2c 5c 6e 20 nt,\n isRTL,\n
0000cf20: 20 69 73 56 69 73 69 62 6c 65 2c 5c 6e 20 20 6e isVisible,\n n
0000cf30: 6f 6f 70 5c 6e 7d 20 66 72 6f 6d 20 27 2e 2f 75 oop\n} from './u
0000cf40: 74 69 6c 2f 69 6e 64 65 78 2e 6a 73 27 5c 6e 5c til/index.js'\n\
0000cf50: 6e 2f 2a 2a 5c 6e 20 2a 20 43 6f 6e 73 74 61 6e n/**\n * Constan
0000cf60: 74 73 5c 6e 20 2a 2f 5c 6e 5c 6e 63 6f 6e 73 74 ts\n */\n\nconst
0000cf70: 20 4e 41 4d 45 20 3d 20 27 64 72 6f 70 64 6f 77 NAME = 'dropdow
0000cf80: 6e 27 5c 6e 63 6f 6e 73 74 20 44 41 54 41 5f 4b n'\nconst DATA_K
0000cf90: 45 59 20 3d 20 27 62 73 2e 64 72 6f 70 64 6f 77 EY = 'bs.dropdow
0000cfa0: 6e 27 5c 6e 63 6f 6e 73 74 20 45 56 45 4e 54 5f n'\nconst EVENT_
0000cfb0: 4b 45 59 20 3d 20 60 2e 24 7b 44 41 54 41 5f 4b KEY = `.${DATA_K
0000cfc0: 45 59 7d 60 5c 6e 63 6f 6e 73 74 20 44 41 54 41 EY}`\nconst DATA
0000cfd0: 5f 41 50 49 5f 4b 45 59 20 3d 20 27 2e 64 61 74 _API_KEY = '.dat
0000cfe0: 61 2d 61 70 69 27 5c 6e 5c 6e 63 6f 6e 73 74 20 a-api'\n\nconst
0000cff0: 45 53 43 41 50 45 5f 4b 45 59 20 3d 20 27 45 73 ESCAPE_KEY = 'Es
0000d000: 63 61 70 65 27 5c 6e 63 6f 6e 73 74 20 54 41 42 cape'\nconst TAB
0000d010: 5f 4b 45 59 20 3d 20 27 54 61 62 27 5c 6e 63 6f _KEY = 'Tab'\nco
0000d020: 6e 73 74 20 41 52 52 4f 57 5f 55 50 5f 4b 45 59 nst ARROW_UP_KEY
0000d030: 20 3d 20 27 41 72 72 6f 77 55 70 27 5c 6e 63 6f = 'ArrowUp'\nco
0000d040: 6e 73 74 20 41 52 52 4f 57 5f 44 4f 57 4e 5f 4b nst ARROW_DOWN_K
0000d050: 45 59 20 3d 20 27 41 72 72 6f 77 44 6f 77 6e 27 EY = 'ArrowDown'
0000d060: 5c 6e 63 6f 6e 73 74 20 52 49 47 48 54 5f 4d 4f \nconst RIGHT_MO
0000d070: 55 53 45 5f 42 55 54 54 4f 4e 20 3d 20 32 20 2f USE_BUTTON = 2 /
0000d080: 2f 20 4d 6f 75 73 65 45 76 65 6e 74 2e 62 75 74 / MouseEvent.but
0000d090: 74 6f 6e 20 76 61 6c 75 65 20 66 6f 72 20 74 68 ton value for th
0000d0a0: 65 20 73 65 63 6f 6e 64 61 72 79 20 62 75 74 74 e secondary butt
0000d0b0: 6f 6e 2c 20 75 73 75 61 6c 6c 79 20 74 68 65 20 on, usually the
0000d0c0: 72 69 67 68 74 20 62 75 74 74 6f 6e 5c 6e 5c 6e right button\n\n
0000d0d0: 63 6f 6e 73 74 20 45 56 45 4e 54 5f 48 49 44 45 const EVENT_HIDE
0000d0e0: 20 3d 20 60 68 69 64 65 24 7b 45 56 45 4e 54 5f = `hide${EVENT_
0000d0f0: 4b 45 59 7d 60 5c 6e 63 6f 6e 73 74 20 45 56 45 KEY}`\nconst EVE
0000d100: 4e 54 5f 48 49 44 44 45 4e 20 3d 20 60 68 69 64 NT_HIDDEN = `hid
0000d110: 64 65 6e 24 7b 45 56 45 4e 54 5f 4b 45 59 7d 60 den${EVENT_KEY}`
0000d120: 5c 6e 63 6f 6e 73 74 20 45 56 45 4e 54 5f 53 48 \nconst EVENT_SH
0000d130: 4f 57 20 3d 20 60 73 68 6f 77 24 7b 45 56 45 4e OW = `show${EVEN
0000d140: 54 5f 4b 45 59 7d 60 5c 6e 63 6f 6e 73 74 20 45 T_KEY}`\nconst E
0000d150: 56 45 4e 54 5f 53 48 4f 57 4e 20 3d 20 60 73 68 VENT_SHOWN = `sh
0000d160: 6f 77 6e 24 7b 45 56 45 4e 54 5f 4b 45 59 7d 60 own${EVENT_KEY}`
0000d170: 5c 6e 63 6f 6e 73 74 20 45 56 45 4e 54 5f 43 4c \nconst EVENT_CL
0000d180: 49 43 4b 5f 44 41 54 41 5f 41 50 49 20 3d 20 60 ICK_DATA_API = `
0000d190: 63 6c 69 63 6b 24 7b 45 56 45 4e 54 5f 4b 45 59 click${EVENT_KEY
0000d1a0: 7d 24 7b 44 41 54 41 5f 41 50 49 5f 4b 45 59 7d }${DATA_API_KEY}
0000d1b0: 60 5c 6e 63 6f 6e 73 74 20 45 56 45 4e 54 5f 4b `\nconst EVENT_K
0000d1c0: 45 59 44 4f 57 4e 5f 44 41 54 41 5f 41 50 49 20 EYDOWN_DATA_API
0000d1d0: 3d 20 60 6b 65 79 64 6f 77 6e 24 7b 45 56 45 4e = `keydown${EVEN
0000d1e0: 54 5f 4b 45 59 7d 24 7b 44 41 54 41 5f 41 50 49 T_KEY}${DATA_API
0000d1f0: 5f 4b 45 59 7d 60 5c 6e 63 6f 6e 73 74 20 45 56 _KEY}`\nconst EV
0000d200: 45 4e 54 5f 4b 45 59 55 50 5f 44 41 54 41 5f 41 ENT_KEYUP_DATA_A
0000d210: 50 49 20 3d 20 60 6b 65 79 75 70 24 7b 45 56 45 PI = `keyup${EVE
0000d220: 4e 54 5f 4b 45 59 7d 24 7b 44 41 54 41 5f 41 50 NT_KEY}${DATA_AP
0000d230: 49 5f 4b 45 59 7d 60 5c 6e 5c 6e 63 6f 6e 73 74 I_KEY}`\n\nconst
0000d240: 20 43 4c 41 53 53 5f 4e 41 4d 45 5f 53 48 4f 57 CLASS_NAME_SHOW
0000d250: 20 3d 20 27 73 68 6f 77 27 5c 6e 63 6f 6e 73 74 = 'show'\nconst
0000d260: 20 43 4c 41 53 53 5f 4e 41 4d 45 5f 44 52 4f 50 CLASS_NAME_DROP
0000d270: 55 50 20 3d 20 27 64 72 6f 70 75 70 27 5c 6e 63 UP = 'dropup'\nc
0000d280: 6f 6e 73 74 20 43 4c 41 53 53 5f 4e 41 4d 45 5f onst CLASS_NAME_
0000d290: 44 52 4f 50 45 4e 44 20 3d 20 27 64 72 6f 70 65 DROPEND = 'drope
0000d2a0: 6e 64 27 5c 6e 63 6f 6e 73 74 20 43 4c 41 53 53 nd'\nconst CLASS
0000d2b0: 5f 4e 41 4d 45 5f 44 52 4f 50 53 54 41 52 54 20 _NAME_DROPSTART
0000d2c0: 3d 20 27 64 72 6f 70 73 74 61 72 74 27 5c 6e 63 = 'dropstart'\nc
0000d2d0: 6f 6e 73 74 20 43 4c 41 53 53 5f 4e 41 4d 45 5f onst CLASS_NAME_
0000d2e0: 44 52 4f 50 55 50 5f 43 45 4e 54 45 52 20 3d 20 DROPUP_CENTER =
0000d2f0: 27 64 72 6f 70 75 70 2d 63 65 6e 74 65 72 27 5c 'dropup-center'\
0000d300: 6e 63 6f 6e 73 74 20 43 4c 41 53 53 5f 4e 41 4d nconst CLASS_NAM
0000d310: 45 5f 44 52 4f 50 44 4f 57 4e 5f 43 45 4e 54 45 E_DROPDOWN_CENTE
0000d320: 52 20 3d 20 27 64 72 6f 70 64 6f 77 6e 2d 63 65 R = 'dropdown-ce
0000d330: 6e 74 65 72 27 5c 6e 5c 6e 63 6f 6e 73 74 20 53 nter'\n\nconst S
0000d340: 45 4c 45 43 54 4f 52 5f 44 41 54 41 5f 54 4f 47 ELECTOR_DATA_TOG
0000d350: 47 4c 45 20 3d 20 27 5b 64 61 74 61 2d 62 73 2d GLE = '[data-bs-
0000d360: 74 6f 67 67 6c 65 3d 5c 22 64 72 6f 70 64 6f 77 toggle=\"dropdow
0000d370: 6e 5c 22 5d 3a 6e 6f 74 28 2e 64 69 73 61 62 6c n\"]:not(.disabl
0000d380: 65 64 29 3a 6e 6f 74 28 3a 64 69 73 61 62 6c 65 ed):not(:disable
0000d390: 64 29 27 5c 6e 63 6f 6e 73 74 20 53 45 4c 45 43 d)'\nconst SELEC
0000d3a0: 54 4f 52 5f 44 41 54 41 5f 54 4f 47 47 4c 45 5f TOR_DATA_TOGGLE_
0000d3b0: 53 48 4f 57 4e 20 3d 20 60 24 7b 53 45 4c 45 43 SHOWN = `${SELEC
0000d3c0: 54 4f 52 5f 44 41 54 41 5f 54 4f 47 47 4c 45 7d TOR_DATA_TOGGLE}
0000d3d0: 2e 24 7b 43 4c 41 53 53 5f 4e 41 4d 45 5f 53 48 .${CLASS_NAME_SH
0000d3e0: 4f 57 7d 60 5c 6e 63 6f 6e 73 74 20 53 45 4c 45 OW}`\nconst SELE
0000d3f0: 43 54 4f 52 5f 4d 45 4e 55 20 3d 20 27 2e 64 72 CTOR_MENU = '.dr
0000d400: 6f 70 64 6f 77 6e 2d 6d 65 6e 75 27 5c 6e 63 6f opdown-menu'\nco
0000d410: 6e 73 74 20 53 45 4c 45 43 54 4f 52 5f 4e 41 56 nst SELECTOR_NAV
0000d420: 42 41 52 20 3d 20 27 2e 6e 61 76 62 61 72 27 5c BAR = '.navbar'\
0000d430: 6e 63 6f 6e 73 74 20 53 45 4c 45 43 54 4f 52 5f nconst SELECTOR_
0000d440: 4e 41 56 42 41 52 5f 4e 41 56 20 3d 20 27 2e 6e NAVBAR_NAV = '.n
0000d450: 61 76 62 61 72 2d 6e 61 76 27 5c 6e 63 6f 6e 73 avbar-nav'\ncons
0000d460: 74 20 53 45 4c 45 43 54 4f 52 5f 56 49 53 49 42 t SELECTOR_VISIB
0000d470: 4c 45 5f 49 54 45 4d 53 20 3d 20 27 2e 64 72 6f LE_ITEMS = '.dro
0000d480: 70 64 6f 77 6e 2d 6d 65 6e 75 20 2e 64 72 6f 70 pdown-menu .drop
0000d490: 64 6f 77 6e 2d 69 74 65 6d 3a 6e 6f 74 28 2e 64 down-item:not(.d
0000d4a0: 69 73 61 62 6c 65 64 29 3a 6e 6f 74 28 3a 64 69 isabled):not(:di
0000d4b0: 73 61 62 6c 65 64 29 27 5c 6e 5c 6e 63 6f 6e 73 sabled)'\n\ncons
0000d4c0: 74 20 50 4c 41 43 45 4d 45 4e 54 5f 54 4f 50 20 t PLACEMENT_TOP
0000d4d0: 3d 20 69 73 52 54 4c 28 29 20 3f 20 27 74 6f 70 = isRTL() ? 'top
0000d4e0: 2d 65 6e 64 27 20 3a 20 27 74 6f 70 2d 73 74 61 -end' : 'top-sta
0000d4f0: 72 74 27 5c 6e 63 6f 6e 73 74 20 50 4c 41 43 45 rt'\nconst PLACE
0000d500: 4d 45 4e 54 5f 54 4f 50 45 4e 44 20 3d 20 69 73 MENT_TOPEND = is
0000d510: 52 54 4c 28 29 20 3f 20 27 74 6f 70 2d 73 74 61 RTL() ? 'top-sta
0000d520: 72 74 27 20 3a 20 27 74 6f 70 2d 65 6e 64 27 5c rt' : 'top-end'\
0000d530: 6e 63 6f 6e 73 74 20 50 4c 41 43 45 4d 45 4e 54 nconst PLACEMENT
0000d540: 5f 42 4f 54 54 4f 4d 20 3d 20 69 73 52 54 4c 28 _BOTTOM = isRTL(
0000d550: 29 20 3f 20 27 62 6f 74 74 6f 6d 2d 65 6e 64 27 ) ? 'bottom-end'
0000d560: 20 3a 20 27 62 6f 74 74 6f 6d 2d 73 74 61 72 74 : 'bottom-start
0000d570: 27 5c 6e 63 6f 6e 73 74 20 50 4c 41 43 45 4d 45 '\nconst PLACEME
0000d580: 4e 54 5f 42 4f 54 54 4f 4d 45 4e 44 20 3d 20 69 NT_BOTTOMEND = i
0000d590: 73 52 54 4c 28 29 20 3f 20 27 62 6f 74 74 6f 6d sRTL() ? 'bottom
0000d5a0: 2d 73 74 61 72 74 27 20 3a 20 27 62 6f 74 74 6f -start' : 'botto
0000d5b0: 6d 2d 65 6e 64 27 5c 6e 63 6f 6e 73 74 20 50 4c m-end'\nconst PL
0000d5c0: 41 43 45 4d 45 4e 54 5f 52 49 47 48 54 20 3d 20 ACEMENT_RIGHT =
0000d5d0: 69 73 52 54 4c 28 29 20 3f 20 27 6c 65 66 74 2d isRTL() ? 'left-
0000d5e0: 73 74 61 72 74 27 20 3a 20 27 72 69 67 68 74 2d start' : 'right-
0000d5f0: 73 74 61 72 74 27 5c 6e 63 6f 6e 73 74 20 50 4c start'\nconst PL
0000d600: 41 43 45 4d 45 4e 54 5f 4c 45 46 54 20 3d 20 69 ACEMENT_LEFT = i
0000d610: 73 52 54 4c 28 29 20 3f 20 27 72 69 67 68 74 2d sRTL() ? 'right-
0000d620: 73 74 61 72 74 27 20 3a 20 27 6c 65 66 74 2d 73 start' : 'left-s
0000d630: 74 61 72 74 27 5c 6e 63 6f 6e 73 74 20 50 4c 41 tart'\nconst PLA
0000d640: 43 45 4d 45 4e 54 5f 54 4f 50 43 45 4e 54 45 52 CEMENT_TOPCENTER
0000d650: 20 3d 20 27 74 6f 70 27 5c 6e 63 6f 6e 73 74 20 = 'top'\nconst
0000d660: 50 4c 41 43 45 4d 45 4e 54 5f 42 4f 54 54 4f 4d PLACEMENT_BOTTOM
0000d670: 43 45 4e 54 45 52 20 3d 20 27 62 6f 74 74 6f 6d CENTER = 'bottom
0000d680: 27 5c 6e 5c 6e 63 6f 6e 73 74 20 44 65 66 61 75 '\n\nconst Defau
0000d690: 6c 74 20 3d 20 7b 5c 6e 20 20 61 75 74 6f 43 6c lt = {\n autoCl
0000d6a0: 6f 73 65 3a 20 74 72 75 65 2c 5c 6e 20 20 62 6f ose: true,\n bo
0000d6b0: 75 6e 64 61 72 79 3a 20 27 63 6c 69 70 70 69 6e undary: 'clippin
0000d6c0: 67 50 61 72 65 6e 74 73 27 2c 5c 6e 20 20 64 69 gParents',\n di
0000d6d0: 73 70 6c 61 79 3a 20 27 64 79 6e 61 6d 69 63 27 splay: 'dynamic'
0000d6e0: 2c 5c 6e 20 20 6f 66 66 73 65 74 3a 20 5b 30 2c ,\n offset: [0,
0000d6f0: 20 32 5d 2c 5c 6e 20 20 70 6f 70 70 65 72 43 6f 2],\n popperCo
0000d700: 6e 66 69 67 3a 20 6e 75 6c 6c 2c 5c 6e 20 20 72 nfig: null,\n r
0000d710: 65 66 65 72 65 6e 63 65 3a 20 27 74 6f 67 67 6c eference: 'toggl
0000d720: 65 27 5c 6e 7d 5c 6e 5c 6e 63 6f 6e 73 74 20 44 e'\n}\n\nconst D
0000d730: 65 66 61 75 6c 74 54 79 70 65 20 3d 20 7b 5c 6e efaultType = {\n
0000d740: 20 20 61 75 74 6f 43 6c 6f 73 65 3a 20 27 28 62 autoClose: '(b
0000d750: 6f 6f 6c 65 61 6e 7c 73 74 72 69 6e 67 29 27 2c oolean|string)',
0000d760: 5c 6e 20 20 62 6f 75 6e 64 61 72 79 3a 20 27 28 \n boundary: '(
0000d770: 73 74 72 69 6e 67 7c 65 6c 65 6d 65 6e 74 29 27 string|element)'
0000d780: 2c 5c 6e 20 20 64 69 73 70 6c 61 79 3a 20 27 73 ,\n display: 's
0000d790: 74 72 69 6e 67 27 2c 5c 6e 20 20 6f 66 66 73 65 tring',\n offse
0000d7a0: 74 3a 20 27 28 61 72 72 61 79 7c 73 74 72 69 6e t: '(array|strin
0000d7b0: 67 7c 66 75 6e 63 74 69 6f 6e 29 27 2c 5c 6e 20 g|function)',\n
0000d7c0: 20 70 6f 70 70 65 72 43 6f 6e 66 69 67 3a 20 27 popperConfig: '
0000d7d0: 28 6e 75 6c 6c 7c 6f 62 6a 65 63 74 7c 66 75 6e (null|object|fun
0000d7e0: 63 74 69 6f 6e 29 27 2c 5c 6e 20 20 72 65 66 65 ction)',\n refe
0000d7f0: 72 65 6e 63 65 3a 20 27 28 73 74 72 69 6e 67 7c rence: '(string|
0000d800: 65 6c 65 6d 65 6e 74 7c 6f 62 6a 65 63 74 29 27 element|object)'
0000d810: 5c 6e 7d 5c 6e 5c 6e 2f 2a 2a 5c 6e 20 2a 20 43 \n}\n\n/**\n * C
0000d820: 6c 61 73 73 20 64 65 66 69 6e 69 74 69 6f 6e 5c lass definition\
0000d830: 6e 20 2a 2f 5c 6e 5c 6e 63 6c 61 73 73 20 44 72 n */\n\nclass Dr
0000d840: 6f 70 64 6f 77 6e 20 65 78 74 65 6e 64 73 20 42 opdown extends B
0000d850: 61 73 65 43 6f 6d 70 6f 6e 65 6e 74 20 7b 5c 6e aseComponent {\n
0000d860: 20 20 63 6f 6e 73 74 72 75 63 74 6f 72 28 65 6c constructor(el
0000d870: 65 6d 65 6e 74 2c 20 63 6f 6e 66 69 67 29 20 7b ement, config) {
0000d880: 5c 6e 20 20 20 20 73 75 70 65 72 28 65 6c 65 6d \n super(elem
0000d890: 65 6e 74 2c 20 63 6f 6e 66 69 67 29 5c 6e 5c 6e ent, config)\n\n
0000d8a0: 20 20 20 20 74 68 69 73 2e 5f 70 6f 70 70 65 72 this._popper
0000d8b0: 20 3d 20 6e 75 6c 6c 5c 6e 20 20 20 20 74 68 69 = null\n thi
0000d8c0: 73 2e 5f 70 61 72 65 6e 74 20 3d 20 74 68 69 73 s._parent = this
0000d8d0: 2e 5f 65 6c 65 6d 65 6e 74 2e 70 61 72 65 6e 74 ._element.parent
0000d8e0: 4e 6f 64 65 20 2f 2f 20 64 72 6f 70 64 6f 77 6e Node // dropdown
0000d8f0: 20 77 72 61 70 70 65 72 5c 6e 20 20 20 20 2f 2f wrapper\n //
0000d900: 20 54 4f 44 4f 3a 20 76 36 20 72 65 76 65 72 74 TODO: v6 revert
0000d910: 20 23 33 37 30 31 31 20 26 20 63 68 61 6e 67 65 #37011 & change
0000d920: 20 6d 61 72 6b 75 70 20 68 74 74 70 73 3a 2f 2f markup https://
0000d930: 67 65 74 62 6f 6f 74 73 74 72 61 70 2e 63 6f 6d getbootstrap.com
0000d940: 2f 64 6f 63 73 2f 35 2e 33 2f 66 6f 72 6d 73 2f /docs/5.3/forms/
0000d950: 69 6e 70 75 74 2d 67 72 6f 75 70 2f 5c 6e 20 20 input-group/\n
0000d960: 20 20 74 68 69 73 2e 5f 6d 65 6e 75 20 3d 20 53 this._menu = S
0000d970: 65 6c 65 63 74 6f 72 45 6e 67 69 6e 65 2e 6e 65 electorEngine.ne
0000d980: 78 74 28 74 68 69 73 2e 5f 65 6c 65 6d 65 6e 74 xt(this._element
0000d990: 2c 20 53 45 4c 45 43 54 4f 52 5f 4d 45 4e 55 29 , SELECTOR_MENU)
0000d9a0: 5b 30 5d 20 7c 7c 5c 6e 20 20 20 20 20 20 53 65 [0] ||\n Se
0000d9b0: 6c 65 63 74 6f 72 45 6e 67 69 6e 65 2e 70 72 65 lectorEngine.pre
0000d9c0: 76 28 74 68 69 73 2e 5f 65 6c 65 6d 65 6e 74 2c v(this._element,
0000d9d0: 20 53 45 4c 45 43 54 4f 52 5f 4d 45 4e 55 29 5b SELECTOR_MENU)[
0000d9e0: 30 5d 20 7c 7c 5c 6e 20 20 20 20 20 20 53 65 6c 0] ||\n Sel
0000d9f0: 65 63 74 6f 72 45 6e 67 69 6e 65 2e 66 69 6e 64 ectorEngine.find
0000da00: 4f 6e 65 28 53 45 4c 45 43 54 4f 52 5f 4d 45 4e One(SELECTOR_MEN
0000da10: 55 2c 20 74 68 69 73 2e 5f 70 61 72 65 6e 74 29 U, this._parent)
0000da20: 5c 6e 20 20 20 20 74 68 69 73 2e 5f 69 6e 4e 61 \n this._inNa
0000da30: 76 62 61 72 20 3d 20 74 68 69 73 2e 5f 64 65 74 vbar = this._det
0000da40: 65 63 74 4e 61 76 62 61 72 28 29 5c 6e 20 20 7d ectNavbar()\n }
0000da50: 5c 6e 5c 6e 20 20 2f 2f 20 47 65 74 74 65 72 73 \n\n // Getters
0000da60: 5c 6e 20 20 73 74 61 74 69 63 20 67 65 74 20 44 \n static get D
0000da70: 65 66 61 75 6c 74 28 29 20 7b 5c 6e 20 20 20 20 efault() {\n
0000da80: 72 65 74 75 72 6e 20 44 65 66 61 75 6c 74 5c 6e return Default\n
0000da90: 20 20 7d 5c 6e 5c 6e 20 20 73 74 61 74 69 63 20 }\n\n static
0000daa0: 67 65 74 20 44 65 66 61 75 6c 74 54 79 70 65 28 get DefaultType(
0000dab0: 29 20 7b 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 ) {\n return
0000dac0: 44 65 66 61 75 6c 74 54 79 70 65 5c 6e 20 20 7d DefaultType\n }
0000dad0: 5c 6e 5c 6e 20 20 73 74 61 74 69 63 20 67 65 74 \n\n static get
0000dae0: 20 4e 41 4d 45 28 29 20 7b 5c 6e 20 20 20 20 72 NAME() {\n r
0000daf0: 65 74 75 72 6e 20 4e 41 4d 45 5c 6e 20 20 7d 5c eturn NAME\n }\
0000db00: 6e 5c 6e 20 20 2f 2f 20 50 75 62 6c 69 63 5c 6e n\n // Public\n
0000db10: 20 20 74 6f 67 67 6c 65 28 29 20 7b 5c 6e 20 20 toggle() {\n
0000db20: 20 20 72 65 74 75 72 6e 20 74 68 69 73 2e 5f 69 return this._i
0000db30: 73 53 68 6f 77 6e 28 29 20 3f 20 74 68 69 73 2e sShown() ? this.
0000db40: 68 69 64 65 28 29 20 3a 20 74 68 69 73 2e 73 68 hide() : this.sh
0000db50: 6f 77 28 29 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 73 ow()\n }\n\n s
0000db60: 68 6f 77 28 29 20 7b 5c 6e 20 20 20 20 69 66 20 how() {\n if
0000db70: 28 69 73 44 69 73 61 62 6c 65 64 28 74 68 69 73 (isDisabled(this
0000db80: 2e 5f 65 6c 65 6d 65 6e 74 29 20 7c 7c 20 74 68 ._element) || th
0000db90: 69 73 2e 5f 69 73 53 68 6f 77 6e 28 29 29 20 7b is._isShown()) {
0000dba0: 5c 6e 20 20 20 20 20 20 72 65 74 75 72 6e 5c 6e \n return\n
0000dbb0: 20 20 20 20 7d 5c 6e 5c 6e 20 20 20 20 63 6f 6e }\n\n con
0000dbc0: 73 74 20 72 65 6c 61 74 65 64 54 61 72 67 65 74 st relatedTarget
0000dbd0: 20 3d 20 7b 5c 6e 20 20 20 20 20 20 72 65 6c 61 = {\n rela
0000dbe0: 74 65 64 54 61 72 67 65 74 3a 20 74 68 69 73 2e tedTarget: this.
0000dbf0: 5f 65 6c 65 6d 65 6e 74 5c 6e 20 20 20 20 7d 5c _element\n }\
0000dc00: 6e 5c 6e 20 20 20 20 63 6f 6e 73 74 20 73 68 6f n\n const sho
0000dc10: 77 45 76 65 6e 74 20 3d 20 45 76 65 6e 74 48 61 wEvent = EventHa
0000dc20: 6e 64 6c 65 72 2e 74 72 69 67 67 65 72 28 74 68 ndler.trigger(th
0000dc30: 69 73 2e 5f 65 6c 65 6d 65 6e 74 2c 20 45 56 45 is._element, EVE
0000dc40: 4e 54 5f 53 48 4f 57 2c 20 72 65 6c 61 74 65 64 NT_SHOW, related
0000dc50: 54 61 72 67 65 74 29 5c 6e 5c 6e 20 20 20 20 69 Target)\n\n i
0000dc60: 66 20 28 73 68 6f 77 45 76 65 6e 74 2e 64 65 66 f (showEvent.def
0000dc70: 61 75 6c 74 50 72 65 76 65 6e 74 65 64 29 20 7b aultPrevented) {
0000dc80: 5c 6e 20 20 20 20 20 20 72 65 74 75 72 6e 5c 6e \n return\n
0000dc90: 20 20 20 20 7d 5c 6e 5c 6e 20 20 20 20 74 68 69 }\n\n thi
0000dca0: 73 2e 5f 63 72 65 61 74 65 50 6f 70 70 65 72 28 s._createPopper(
0000dcb0: 29 5c 6e 5c 6e 20 20 20 20 2f 2f 20 49 66 20 74 )\n\n // If t
0000dcc0: 68 69 73 20 69 73 20 61 20 74 6f 75 63 68 2d 65 his is a touch-e
0000dcd0: 6e 61 62 6c 65 64 20 64 65 76 69 63 65 20 77 65 nabled device we
0000dce0: 20 61 64 64 20 65 78 74 72 61 5c 6e 20 20 20 20 add extra\n
0000dcf0: 2f 2f 20 65 6d 70 74 79 20 6d 6f 75 73 65 6f 76 // empty mouseov
0000dd00: 65 72 20 6c 69 73 74 65 6e 65 72 73 20 74 6f 20 er listeners to
0000dd10: 74 68 65 20 62 6f 64 79 27 73 20 69 6d 6d 65 64 the body's immed
0000dd20: 69 61 74 65 20 63 68 69 6c 64 72 65 6e 3b 5c 6e iate children;\n
0000dd30: 20 20 20 20 2f 2f 20 6f 6e 6c 79 20 6e 65 65 64 // only need
0000dd40: 65 64 20 62 65 63 61 75 73 65 20 6f 66 20 62 72 ed because of br
0000dd50: 6f 6b 65 6e 20 65 76 65 6e 74 20 64 65 6c 65 67 oken event deleg
0000dd60: 61 74 69 6f 6e 20 6f 6e 20 69 4f 53 5c 6e 20 20 ation on iOS\n
0000dd70: 20 20 2f 2f 20 68 74 74 70 73 3a 2f 2f 77 77 77 // https://www
0000dd80: 2e 71 75 69 72 6b 73 6d 6f 64 65 2e 6f 72 67 2f .quirksmode.org/
0000dd90: 62 6c 6f 67 2f 61 72 63 68 69 76 65 73 2f 32 30 blog/archives/20
0000dda0: 31 34 2f 30 32 2f 6d 6f 75 73 65 5f 65 76 65 6e 14/02/mouse_even
0000ddb0: 74 5f 62 75 62 2e 68 74 6d 6c 5c 6e 20 20 20 20 t_bub.html\n
0000ddc0: 69 66 20 28 27 6f 6e 74 6f 75 63 68 73 74 61 72 if ('ontouchstar
0000ddd0: 74 27 20 69 6e 20 64 6f 63 75 6d 65 6e 74 2e 64 t' in document.d
0000dde0: 6f 63 75 6d 65 6e 74 45 6c 65 6d 65 6e 74 20 26 ocumentElement &
0000ddf0: 26 20 21 74 68 69 73 2e 5f 70 61 72 65 6e 74 2e & !this._parent.
0000de00: 63 6c 6f 73 65 73 74 28 53 45 4c 45 43 54 4f 52 closest(SELECTOR
0000de10: 5f 4e 41 56 42 41 52 5f 4e 41 56 29 29 20 7b 5c _NAVBAR_NAV)) {\
0000de20: 6e 20 20 20 20 20 20 66 6f 72 20 28 63 6f 6e 73 n for (cons
0000de30: 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 5b 5d 2e t element of [].
0000de40: 63 6f 6e 63 61 74 28 2e 2e 2e 64 6f 63 75 6d 65 concat(...docume
0000de50: 6e 74 2e 62 6f 64 79 2e 63 68 69 6c 64 72 65 6e nt.body.children
0000de60: 29 29 20 7b 5c 6e 20 20 20 20 20 20 20 20 45 76 )) {\n Ev
0000de70: 65 6e 74 48 61 6e 64 6c 65 72 2e 6f 6e 28 65 6c entHandler.on(el
0000de80: 65 6d 65 6e 74 2c 20 27 6d 6f 75 73 65 6f 76 65 ement, 'mouseove
0000de90: 72 27 2c 20 6e 6f 6f 70 29 5c 6e 20 20 20 20 20 r', noop)\n
0000dea0: 20 7d 5c 6e 20 20 20 20 7d 5c 6e 5c 6e 20 20 20 }\n }\n\n
0000deb0: 20 74 68 69 73 2e 5f 65 6c 65 6d 65 6e 74 2e 66 this._element.f
0000dec0: 6f 63 75 73 28 29 5c 6e 20 20 20 20 74 68 69 73 ocus()\n this
0000ded0: 2e 5f 65 6c 65 6d 65 6e 74 2e 73 65 74 41 74 74 ._element.setAtt
0000dee0: 72 69 62 75 74 65 28 27 61 72 69 61 2d 65 78 70 ribute('aria-exp
0000def0: 61 6e 64 65 64 27 2c 20 74 72 75 65 29 5c 6e 5c anded', true)\n\
0000df00: 6e 20 20 20 20 74 68 69 73 2e 5f 6d 65 6e 75 2e n this._menu.
0000df10: 63 6c 61 73 73 4c 69 73 74 2e 61 64 64 28 43 4c classList.add(CL
0000df20: 41 53 53 5f 4e 41 4d 45 5f 53 48 4f 57 29 5c 6e ASS_NAME_SHOW)\n
0000df30: 20 20 20 20 74 68 69 73 2e 5f 65 6c 65 6d 65 6e this._elemen
0000df40: 74 2e 63 6c 61 73 73 4c 69 73 74 2e 61 64 64 28 t.classList.add(
0000df50: 43 4c 41 53 53 5f 4e 41 4d 45 5f 53 48 4f 57 29 CLASS_NAME_SHOW)
0000df60: 5c 6e 20 20 20 20 45 76 65 6e 74 48 61 6e 64 6c \n EventHandl
0000df70: 65 72 2e 74 72 69 67 67 65 72 28 74 68 69 73 2e er.trigger(this.
0000df80: 5f 65 6c 65 6d 65 6e 74 2c 20 45 56 45 4e 54 5f _element, EVENT_
0000df90: 53 48 4f 57 4e 2c 20 72 65 6c 61 74 65 64 54 61 SHOWN, relatedTa
0000dfa0: 72 67 65 74 29 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 rget)\n }\n\n
0000dfb0: 68 69 64 65 28 29 20 7b 5c 6e 20 20 20 20 69 66 hide() {\n if
0000dfc0: 20 28 69 73 44 69 73 61 62 6c 65 64 28 74 68 69 (isDisabled(thi
0000dfd0: 73 2e 5f 65 6c 65 6d 65 6e 74 29 20 7c 7c 20 21 s._element) || !
0000dfe0: 74 68 69 73 2e 5f 69 73 53 68 6f 77 6e 28 29 29 this._isShown())
0000dff0: 20 7b 5c 6e 20 20 20 20 20 20 72 65 74 75 72 6e {\n return
0000e000: 5c 6e 20 20 20 20 7d 5c 6e 5c 6e 20 20 20 20 63 \n }\n\n c
0000e010: 6f 6e 73 74 20 72 65 6c 61 74 65 64 54 61 72 67 onst relatedTarg
0000e020: 65 74 20 3d 20 7b 5c 6e 20 20 20 20 20 20 72 65 et = {\n re
0000e030: 6c 61 74 65 64 54 61 72 67 65 74 3a 20 74 68 69 latedTarget: thi
0000e040: 73 2e 5f 65 6c 65 6d 65 6e 74 5c 6e 20 20 20 20 s._element\n
0000e050: 7d 5c 6e 5c 6e 20 20 20 20 74 68 69 73 2e 5f 63 }\n\n this._c
0000e060: 6f 6d 70 6c 65 74 65 48 69 64 65 28 72 65 6c 61 ompleteHide(rela
0000e070: 74 65 64 54 61 72 67 65 74 29 5c 6e 20 20 7d 5c tedTarget)\n }\
0000e080: 6e 5c 6e 20 20 64 69 73 70 6f 73 65 28 29 20 7b n\n dispose() {
0000e090: 5c 6e 20 20 20 20 69 66 20 28 74 68 69 73 2e 5f \n if (this._
0000e0a0: 70 6f 70 70 65 72 29 20 7b 5c 6e 20 20 20 20 20 popper) {\n
0000e0b0: 20 74 68 69 73 2e 5f 70 6f 70 70 65 72 2e 64 65 this._popper.de
0000e0c0: 73 74 72 6f 79 28 29 5c 6e 20 20 20 20 7d 5c 6e stroy()\n }\n
0000e0d0: 5c 6e 20 20 20 20 73 75 70 65 72 2e 64 69 73 70 \n super.disp
0000e0e0: 6f 73 65 28 29 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 ose()\n }\n\n
0000e0f0: 75 70 64 61 74 65 28 29 20 7b 5c 6e 20 20 20 20 update() {\n
0000e100: 74 68 69 73 2e 5f 69 6e 4e 61 76 62 61 72 20 3d this._inNavbar =
0000e110: 20 74 68 69 73 2e 5f 64 65 74 65 63 74 4e 61 76 this._detectNav
0000e120: 62 61 72 28 29 5c 6e 20 20 20 20 69 66 20 28 74 bar()\n if (t
0000e130: 68 69 73 2e 5f 70 6f 70 70 65 72 29 20 7b 5c 6e his._popper) {\n
0000e140: 20 20 20 20 20 20 74 68 69 73 2e 5f 70 6f 70 70 this._popp
0000e150: 65 72 2e 75 70 64 61 74 65 28 29 5c 6e 20 20 20 er.update()\n
0000e160: 20 7d 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 2f 2f 20 }\n }\n\n //
0000e170: 50 72 69 76 61 74 65 5c 6e 20 20 5f 63 6f 6d 70 Private\n _comp
0000e180: 6c 65 74 65 48 69 64 65 28 72 65 6c 61 74 65 64 leteHide(related
0000e190: 54 61 72 67 65 74 29 20 7b 5c 6e 20 20 20 20 63 Target) {\n c
0000e1a0: 6f 6e 73 74 20 68 69 64 65 45 76 65 6e 74 20 3d onst hideEvent =
0000e1b0: 20 45 76 65 6e 74 48 61 6e 64 6c 65 72 2e 74 72 EventHandler.tr
0000e1c0: 69 67 67 65 72 28 74 68 69 73 2e 5f 65 6c 65 6d igger(this._elem
0000e1d0: 65 6e 74 2c 20 45 56 45 4e 54 5f 48 49 44 45 2c ent, EVENT_HIDE,
0000e1e0: 20 72 65 6c 61 74 65 64 54 61 72 67 65 74 29 5c relatedTarget)\
0000e1f0: 6e 20 20 20 20 69 66 20 28 68 69 64 65 45 76 65 n if (hideEve
0000e200: 6e 74 2e 64 65 66 61 75 6c 74 50 72 65 76 65 6e nt.defaultPreven
0000e210: 74 65 64 29 20 7b 5c 6e 20 20 20 20 20 20 72 65 ted) {\n re
0000e220: 74 75 72 6e 5c 6e 20 20 20 20 7d 5c 6e 5c 6e 20 turn\n }\n\n
0000e230: 20 20 20 2f 2f 20 49 66 20 74 68 69 73 20 69 73 // If this is
0000e240: 20 61 20 74 6f 75 63 68 2d 65 6e 61 62 6c 65 64 a touch-enabled
0000e250: 20 64 65 76 69 63 65 20 77 65 20 72 65 6d 6f 76 device we remov
0000e260: 65 20 74 68 65 20 65 78 74 72 61 5c 6e 20 20 20 e the extra\n
0000e270: 20 2f 2f 20 65 6d 70 74 79 20 6d 6f 75 73 65 6f // empty mouseo
0000e280: 76 65 72 20 6c 69 73 74 65 6e 65 72 73 20 77 65 ver listeners we
0000e290: 20 61 64 64 65 64 20 66 6f 72 20 69 4f 53 20 73 added for iOS s
0000e2a0: 75 70 70 6f 72 74 5c 6e 20 20 20 20 69 66 20 28 upport\n if (
0000e2b0: 27 6f 6e 74 6f 75 63 68 73 74 61 72 74 27 20 69 'ontouchstart' i
0000e2c0: 6e 20 64 6f 63 75 6d 65 6e 74 2e 64 6f 63 75 6d n document.docum
0000e2d0: 65 6e 74 45 6c 65 6d 65 6e 74 29 20 7b 5c 6e 20 entElement) {\n
0000e2e0: 20 20 20 20 20 66 6f 72 20 28 63 6f 6e 73 74 20 for (const
0000e2f0: 65 6c 65 6d 65 6e 74 20 6f 66 20 5b 5d 2e 63 6f element of [].co
0000e300: 6e 63 61 74 28 2e 2e 2e 64 6f 63 75 6d 65 6e 74 ncat(...document
0000e310: 2e 62 6f 64 79 2e 63 68 69 6c 64 72 65 6e 29 29 .body.children))
0000e320: 20 7b 5c 6e 20 20 20 20 20 20 20 20 45 76 65 6e {\n Even
0000e330: 74 48 61 6e 64 6c 65 72 2e 6f 66 66 28 65 6c 65 tHandler.off(ele
0000e340: 6d 65 6e 74 2c 20 27 6d 6f 75 73 65 6f 76 65 72 ment, 'mouseover
0000e350: 27 2c 20 6e 6f 6f 70 29 5c 6e 20 20 20 20 20 20 ', noop)\n
0000e360: 7d 5c 6e 20 20 20 20 7d 5c 6e 5c 6e 20 20 20 20 }\n }\n\n
0000e370: 69 66 20 28 74 68 69 73 2e 5f 70 6f 70 70 65 72 if (this._popper
0000e380: 29 20 7b 5c 6e 20 20 20 20 20 20 74 68 69 73 2e ) {\n this.
0000e390: 5f 70 6f 70 70 65 72 2e 64 65 73 74 72 6f 79 28 _popper.destroy(
0000e3a0: 29 5c 6e 20 20 20 20 7d 5c 6e 5c 6e 20 20 20 20 )\n }\n\n
0000e3b0: 74 68 69 73 2e 5f 6d 65 6e 75 2e 63 6c 61 73 73 this._menu.class
0000e3c0: 4c 69 73 74 2e 72 65 6d 6f 76 65 28 43 4c 41 53 List.remove(CLAS
0000e3d0: 53 5f 4e 41 4d 45 5f 53 48 4f 57 29 5c 6e 20 20 S_NAME_SHOW)\n
0000e3e0: 20 20 74 68 69 73 2e 5f 65 6c 65 6d 65 6e 74 2e this._element.
0000e3f0: 63 6c 61 73 73 4c 69 73 74 2e 72 65 6d 6f 76 65 classList.remove
0000e400: 28 43 4c 41 53 53 5f 4e 41 4d 45 5f 53 48 4f 57 (CLASS_NAME_SHOW
0000e410: 29 5c 6e 20 20 20 20 74 68 69 73 2e 5f 65 6c 65 )\n this._ele
0000e420: 6d 65 6e 74 2e 73 65 74 41 74 74 72 69 62 75 74 ment.setAttribut
0000e430: 65 28 27 61 72 69 61 2d 65 78 70 61 6e 64 65 64 e('aria-expanded
0000e440: 27 2c 20 27 66 61 6c 73 65 27 29 5c 6e 20 20 20 ', 'false')\n
0000e450: 20 4d 61 6e 69 70 75 6c 61 74 6f 72 2e 72 65 6d Manipulator.rem
0000e460: 6f 76 65 44 61 74 61 41 74 74 72 69 62 75 74 65 oveDataAttribute
0000e470: 28 74 68 69 73 2e 5f 6d 65 6e 75 2c 20 27 70 6f (this._menu, 'po
0000e480: 70 70 65 72 27 29 5c 6e 20 20 20 20 45 76 65 6e pper')\n Even
0000e490: 74 48 61 6e 64 6c 65 72 2e 74 72 69 67 67 65 72 tHandler.trigger
0000e4a0: 28 74 68 69 73 2e 5f 65 6c 65 6d 65 6e 74 2c 20 (this._element,
0000e4b0: 45 56 45 4e 54 5f 48 49 44 44 45 4e 2c 20 72 65 EVENT_HIDDEN, re
0000e4c0: 6c 61 74 65 64 54 61 72 67 65 74 29 5c 6e 20 20 latedTarget)\n
0000e4d0: 7d 5c 6e 5c 6e 20 20 5f 67 65 74 43 6f 6e 66 69 }\n\n _getConfi
0000e4e0: 67 28 63 6f 6e 66 69 67 29 20 7b 5c 6e 20 20 20 g(config) {\n
0000e4f0: 20 63 6f 6e 66 69 67 20 3d 20 73 75 70 65 72 2e config = super.
0000e500: 5f 67 65 74 43 6f 6e 66 69 67 28 63 6f 6e 66 69 _getConfig(confi
0000e510: 67 29 5c 6e 5c 6e 20 20 20 20 69 66 20 28 74 79 g)\n\n if (ty
0000e520: 70 65 6f 66 20 63 6f 6e 66 69 67 2e 72 65 66 65 peof config.refe
0000e530: 72 65 6e 63 65 20 3d 3d 3d 20 27 6f 62 6a 65 63 rence === 'objec
0000e540: 74 27 20 26 26 20 21 69 73 45 6c 65 6d 65 6e 74 t' && !isElement
0000e550: 28 63 6f 6e 66 69 67 2e 72 65 66 65 72 65 6e 63 (config.referenc
0000e560: 65 29 20 26 26 5c 6e 20 20 20 20 20 20 74 79 70 e) &&\n typ
0000e570: 65 6f 66 20 63 6f 6e 66 69 67 2e 72 65 66 65 72 eof config.refer
0000e580: 65 6e 63 65 2e 67 65 74 42 6f 75 6e 64 69 6e 67 ence.getBounding
0000e590: 43 6c 69 65 6e 74 52 65 63 74 20 21 3d 3d 20 27 ClientRect !== '
0000e5a0: 66 75 6e 63 74 69 6f 6e 27 5c 6e 20 20 20 20 29 function'\n )
0000e5b0: 20 7b 5c 6e 20 20 20 20 20 20 2f 2f 20 50 6f 70 {\n // Pop
0000e5c0: 70 65 72 20 76 69 72 74 75 61 6c 20 65 6c 65 6d per virtual elem
0000e5d0: 65 6e 74 73 20 72 65 71 75 69 72 65 20 61 20 67 ents require a g
0000e5e0: 65 74 42 6f 75 6e 64 69 6e 67 43 6c 69 65 6e 74 etBoundingClient
0000e5f0: 52 65 63 74 20 6d 65 74 68 6f 64 5c 6e 20 20 20 Rect method\n
0000e600: 20 20 20 74 68 72 6f 77 20 6e 65 77 20 54 79 70 throw new Typ
0000e610: 65 45 72 72 6f 72 28 60 24 7b 4e 41 4d 45 2e 74 eError(`${NAME.t
0000e620: 6f 55 70 70 65 72 43 61 73 65 28 29 7d 3a 20 4f oUpperCase()}: O
0000e630: 70 74 69 6f 6e 20 5c 22 72 65 66 65 72 65 6e 63 ption \"referenc
0000e640: 65 5c 22 20 70 72 6f 76 69 64 65 64 20 74 79 70 e\" provided typ
0000e650: 65 20 5c 22 6f 62 6a 65 63 74 5c 22 20 77 69 74 e \"object\" wit
0000e660: 68 6f 75 74 20 61 20 72 65 71 75 69 72 65 64 20 hout a required
0000e670: 5c 22 67 65 74 42 6f 75 6e 64 69 6e 67 43 6c 69 \"getBoundingCli
0000e680: 65 6e 74 52 65 63 74 5c 22 20 6d 65 74 68 6f 64 entRect\" method
0000e690: 2e 60 29 5c 6e 20 20 20 20 7d 5c 6e 5c 6e 20 20 .`)\n }\n\n
0000e6a0: 20 20 72 65 74 75 72 6e 20 63 6f 6e 66 69 67 5c return config\
0000e6b0: 6e 20 20 7d 5c 6e 5c 6e 20 20 5f 63 72 65 61 74 n }\n\n _creat
0000e6c0: 65 50 6f 70 70 65 72 28 29 20 7b 5c 6e 20 20 20 ePopper() {\n
0000e6d0: 20 69 66 20 28 74 79 70 65 6f 66 20 50 6f 70 70 if (typeof Popp
0000e6e0: 65 72 20 3d 3d 3d 20 27 75 6e 64 65 66 69 6e 65 er === 'undefine
0000e6f0: 64 27 29 20 7b 5c 6e 20 20 20 20 20 20 74 68 72 d') {\n thr
0000e700: 6f 77 20 6e 65 77 20 54 79 70 65 45 72 72 6f 72 ow new TypeError
0000e710: 28 27 42 6f 6f 74 73 74 72 61 70 5c 5c 27 73 20 ('Bootstrap\\'s
0000e720: 64 72 6f 70 64 6f 77 6e 73 20 72 65 71 75 69 72 dropdowns requir
0000e730: 65 20 50 6f 70 70 65 72 20 28 68 74 74 70 73 3a e Popper (https:
0000e740: 2f 2f 70 6f 70 70 65 72 2e 6a 73 2e 6f 72 67 29 //popper.js.org)
0000e750: 27 29 5c 6e 20 20 20 20 7d 5c 6e 5c 6e 20 20 20 ')\n }\n\n
0000e760: 20 6c 65 74 20 72 65 66 65 72 65 6e 63 65 45 6c let referenceEl
0000e770: 65 6d 65 6e 74 20 3d 20 74 68 69 73 2e 5f 65 6c ement = this._el
0000e780: 65 6d 65 6e 74 5c 6e 5c 6e 20 20 20 20 69 66 20 ement\n\n if
0000e790: 28 74 68 69 73 2e 5f 63 6f 6e 66 69 67 2e 72 65 (this._config.re
0000e7a0: 66 65 72 65 6e 63 65 20 3d 3d 3d 20 27 70 61 72 ference === 'par
0000e7b0: 65 6e 74 27 29 20 7b 5c 6e 20 20 20 20 20 20 72 ent') {\n r
0000e7c0: 65 66 65 72 65 6e 63 65 45 6c 65 6d 65 6e 74 20 eferenceElement
0000e7d0: 3d 20 74 68 69 73 2e 5f 70 61 72 65 6e 74 5c 6e = this._parent\n
0000e7e0: 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 69 } else if (i
0000e7f0: 73 45 6c 65 6d 65 6e 74 28 74 68 69 73 2e 5f 63 sElement(this._c
0000e800: 6f 6e 66 69 67 2e 72 65 66 65 72 65 6e 63 65 29 onfig.reference)
0000e810: 29 20 7b 5c 6e 20 20 20 20 20 20 72 65 66 65 72 ) {\n refer
0000e820: 65 6e 63 65 45 6c 65 6d 65 6e 74 20 3d 20 67 65 enceElement = ge
0000e830: 74 45 6c 65 6d 65 6e 74 28 74 68 69 73 2e 5f 63 tElement(this._c
0000e840: 6f 6e 66 69 67 2e 72 65 66 65 72 65 6e 63 65 29 onfig.reference)
0000e850: 5c 6e 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 \n } else if
0000e860: 28 74 79 70 65 6f 66 20 74 68 69 73 2e 5f 63 6f (typeof this._co
0000e870: 6e 66 69 67 2e 72 65 66 65 72 65 6e 63 65 20 3d nfig.reference =
0000e880: 3d 3d 20 27 6f 62 6a 65 63 74 27 29 20 7b 5c 6e == 'object') {\n
0000e890: 20 20 20 20 20 20 72 65 66 65 72 65 6e 63 65 45 referenceE
0000e8a0: 6c 65 6d 65 6e 74 20 3d 20 74 68 69 73 2e 5f 63 lement = this._c
0000e8b0: 6f 6e 66 69 67 2e 72 65 66 65 72 65 6e 63 65 5c onfig.reference\
0000e8c0: 6e 20 20 20 20 7d 5c 6e 5c 6e 20 20 20 20 63 6f n }\n\n co
0000e8d0: 6e 73 74 20 70 6f 70 70 65 72 43 6f 6e 66 69 67 nst popperConfig
0000e8e0: 20 3d 20 74 68 69 73 2e 5f 67 65 74 50 6f 70 70 = this._getPopp
0000e8f0: 65 72 43 6f 6e 66 69 67 28 29 5c 6e 20 20 20 20 erConfig()\n
0000e900: 74 68 69 73 2e 5f 70 6f 70 70 65 72 20 3d 20 50 this._popper = P
0000e910: 6f 70 70 65 72 2e 63 72 65 61 74 65 50 6f 70 70 opper.createPopp
0000e920: 65 72 28 72 65 66 65 72 65 6e 63 65 45 6c 65 6d er(referenceElem
0000e930: 65 6e 74 2c 20 74 68 69 73 2e 5f 6d 65 6e 75 2c ent, this._menu,
0000e940: 20 70 6f 70 70 65 72 43 6f 6e 66 69 67 29 5c 6e popperConfig)\n
0000e950: 20 20 7d 5c 6e 5c 6e 20 20 5f 69 73 53 68 6f 77 }\n\n _isShow
0000e960: 6e 28 29 20 7b 5c 6e 20 20 20 20 72 65 74 75 72 n() {\n retur
0000e970: 6e 20 74 68 69 73 2e 5f 6d 65 6e 75 2e 63 6c 61 n this._menu.cla
0000e980: 73 73 4c 69 73 74 2e 63 6f 6e 74 61 69 6e 73 28 ssList.contains(
0000e990: 43 4c 41 53 53 5f 4e 41 4d 45 5f 53 48 4f 57 29 CLASS_NAME_SHOW)
0000e9a0: 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 5f 67 65 74 50 \n }\n\n _getP
0000e9b0: 6c 61 63 65 6d 65 6e 74 28 29 20 7b 5c 6e 20 20 lacement() {\n
0000e9c0: 20 20 63 6f 6e 73 74 20 70 61 72 65 6e 74 44 72 const parentDr
0000e9d0: 6f 70 64 6f 77 6e 20 3d 20 74 68 69 73 2e 5f 70 opdown = this._p
0000e9e0: 61 72 65 6e 74 5c 6e 5c 6e 20 20 20 20 69 66 20 arent\n\n if
0000e9f0: 28 70 61 72 65 6e 74 44 72 6f 70 64 6f 77 6e 2e (parentDropdown.
0000ea00: 63 6c 61 73 73 4c 69 73 74 2e 63 6f 6e 74 61 69 classList.contai
0000ea10: 6e 73 28 43 4c 41 53 53 5f 4e 41 4d 45 5f 44 52 ns(CLASS_NAME_DR
0000ea20: 4f 50 45 4e 44 29 29 20 7b 5c 6e 20 20 20 20 20 OPEND)) {\n
0000ea30: 20 72 65 74 75 72 6e 20 50 4c 41 43 45 4d 45 4e return PLACEMEN
0000ea40: 54 5f 52 49 47 48 54 5c 6e 20 20 20 20 7d 5c 6e T_RIGHT\n }\n
0000ea50: 5c 6e 20 20 20 20 69 66 20 28 70 61 72 65 6e 74 \n if (parent
0000ea60: 44 72 6f 70 64 6f 77 6e 2e 63 6c 61 73 73 4c 69 Dropdown.classLi
0000ea70: 73 74 2e 63 6f 6e 74 61 69 6e 73 28 43 4c 41 53 st.contains(CLAS
0000ea80: 53 5f 4e 41 4d 45 5f 44 52 4f 50 53 54 41 52 54 S_NAME_DROPSTART
0000ea90: 29 29 20 7b 5c 6e 20 20 20 20 20 20 72 65 74 75 )) {\n retu
0000eaa0: 72 6e 20 50 4c 41 43 45 4d 45 4e 54 5f 4c 45 46 rn PLACEMENT_LEF
0000eab0: 54 5c 6e 20 20 20 20 7d 5c 6e 5c 6e 20 20 20 20 T\n }\n\n
0000eac0: 69 66 20 28 70 61 72 65 6e 74 44 72 6f 70 64 6f if (parentDropdo
0000ead0: 77 6e 2e 63 6c 61 73 73 4c 69 73 74 2e 63 6f 6e wn.classList.con
0000eae0: 74 61 69 6e 73 28 43 4c 41 53 53 5f 4e 41 4d 45 tains(CLASS_NAME
0000eaf0: 5f 44 52 4f 50 55 50 5f 43 45 4e 54 45 52 29 29 _DROPUP_CENTER))
0000eb00: 20 7b 5c 6e 20 20 20 20 20 20 72 65 74 75 72 6e {\n return
0000eb10: 20 50 4c 41 43 45 4d 45 4e 54 5f 54 4f 50 43 45 PLACEMENT_TOPCE
0000eb20: 4e 54 45 52 5c 6e 20 20 20 20 7d 5c 6e 5c 6e 20 NTER\n }\n\n
0000eb30: 20 20 20 69 66 20 28 70 61 72 65 6e 74 44 72 6f if (parentDro
0000eb40: 70 64 6f 77 6e 2e 63 6c 61 73 73 4c 69 73 74 2e pdown.classList.
0000eb50: 63 6f 6e 74 61 69 6e 73 28 43 4c 41 53 53 5f 4e contains(CLASS_N
0000eb60: 41 4d 45 5f 44 52 4f 50 44 4f 57 4e 5f 43 45 4e AME_DROPDOWN_CEN
0000eb70: 54 45 52 29 29 20 7b 5c 6e 20 20 20 20 20 20 72 TER)) {\n r
0000eb80: 65 74 75 72 6e 20 50 4c 41 43 45 4d 45 4e 54 5f eturn PLACEMENT_
0000eb90: 42 4f 54 54 4f 4d 43 45 4e 54 45 52 5c 6e 20 20 BOTTOMCENTER\n
0000eba0: 20 20 7d 5c 6e 5c 6e 20 20 20 20 2f 2f 20 57 65 }\n\n // We
0000ebb0: 20 6e 65 65 64 20 74 6f 20 74 72 69 6d 20 74 68 need to trim th
0000ebc0: 65 20 76 61 6c 75 65 20 62 65 63 61 75 73 65 20 e value because
0000ebd0: 63 75 73 74 6f 6d 20 70 72 6f 70 65 72 74 69 65 custom propertie
0000ebe0: 73 20 63 61 6e 20 61 6c 73 6f 20 69 6e 63 6c 75 s can also inclu
0000ebf0: 64 65 20 73 70 61 63 65 73 5c 6e 20 20 20 20 63 de spaces\n c
0000ec00: 6f 6e 73 74 20 69 73 45 6e 64 20 3d 20 67 65 74 onst isEnd = get
0000ec10: 43 6f 6d 70 75 74 65 64 53 74 79 6c 65 28 74 68 ComputedStyle(th
0000ec20: 69 73 2e 5f 6d 65 6e 75 29 2e 67 65 74 50 72 6f is._menu).getPro
0000ec30: 70 65 72 74 79 56 61 6c 75 65 28 27 2d 2d 62 73 pertyValue('--bs
0000ec40: 2d 70 6f 73 69 74 69 6f 6e 27 29 2e 74 72 69 6d -position').trim
0000ec50: 28 29 20 3d 3d 3d 20 27 65 6e 64 27 5c 6e 5c 6e () === 'end'\n\n
0000ec60: 20 20 20 20 69 66 20 28 70 61 72 65 6e 74 44 72 if (parentDr
0000ec70: 6f 70 64 6f 77 6e 2e 63 6c 61 73 73 4c 69 73 74 opdown.classList
0000ec80: 2e 63 6f 6e 74 61 69 6e 73 28 43 4c 41 53 53 5f .contains(CLASS_
0000ec90: 4e 41 4d 45 5f 44 52 4f 50 55 50 29 29 20 7b 5c NAME_DROPUP)) {\
0000eca0: 6e 20 20 20 20 20 20 72 65 74 75 72 6e 20 69 73 n return is
0000ecb0: 45 6e 64 20 3f 20 50 4c 41 43 45 4d 45 4e 54 5f End ? PLACEMENT_
0000ecc0: 54 4f 50 45 4e 44 20 3a 20 50 4c 41 43 45 4d 45 TOPEND : PLACEME
0000ecd0: 4e 54 5f 54 4f 50 5c 6e 20 20 20 20 7d 5c 6e 5c NT_TOP\n }\n\
0000ece0: 6e 20 20 20 20 72 65 74 75 72 6e 20 69 73 45 6e n return isEn
0000ecf0: 64 20 3f 20 50 4c 41 43 45 4d 45 4e 54 5f 42 4f d ? PLACEMENT_BO
0000ed00: 54 54 4f 4d 45 4e 44 20 3a 20 50 4c 41 43 45 4d TTOMEND : PLACEM
0000ed10: 45 4e 54 5f 42 4f 54 54 4f 4d 5c 6e 20 20 7d 5c ENT_BOTTOM\n }\
0000ed20: 6e 5c 6e 20 20 5f 64 65 74 65 63 74 4e 61 76 62 n\n _detectNavb
0000ed30: 61 72 28 29 20 7b 5c 6e 20 20 20 20 72 65 74 75 ar() {\n retu
0000ed40: 72 6e 20 74 68 69 73 2e 5f 65 6c 65 6d 65 6e 74 rn this._element
0000ed50: 2e 63 6c 6f 73 65 73 74 28 53 45 4c 45 43 54 4f .closest(SELECTO
0000ed60: 52 5f 4e 41 56 42 41 52 29 20 21 3d 3d 20 6e 75 R_NAVBAR) !== nu
0000ed70: 6c 6c 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 5f 67 65 ll\n }\n\n _ge
0000ed80: 74 4f 66 66 73 65 74 28 29 20 7b 5c 6e 20 20 20 tOffset() {\n
0000ed90: 20 63 6f 6e 73 74 20 7b 20 6f 66 66 73 65 74 20 const { offset
0000eda0: 7d 20 3d 20 74 68 69 73 2e 5f 63 6f 6e 66 69 67 } = this._config
0000edb0: 5c 6e 5c 6e 20 20 20 20 69 66 20 28 74 79 70 65 \n\n if (type
0000edc0: 6f 66 20 6f 66 66 73 65 74 20 3d 3d 3d 20 27 73 of offset === 's
0000edd0: 74 72 69 6e 67 27 29 20 7b 5c 6e 20 20 20 20 20 tring') {\n
0000ede0: 20 72 65 74 75 72 6e 20 6f 66 66 73 65 74 2e 73 return offset.s
0000edf0: 70 6c 69 74 28 27 2c 27 29 2e 6d 61 70 28 76 61 plit(',').map(va
0000ee00: 6c 75 65 20 3d 3e 20 4e 75 6d 62 65 72 2e 70 61 lue => Number.pa
0000ee10: 72 73 65 49 6e 74 28 76 61 6c 75 65 2c 20 31 30 rseInt(value, 10
0000ee20: 29 29 5c 6e 20 20 20 20 7d 5c 6e 5c 6e 20 20 20 ))\n }\n\n
0000ee30: 20 69 66 20 28 74 79 70 65 6f 66 20 6f 66 66 73 if (typeof offs
0000ee40: 65 74 20 3d 3d 3d 20 27 66 75 6e 63 74 69 6f 6e et === 'function
0000ee50: 27 29 20 7b 5c 6e 20 20 20 20 20 20 72 65 74 75 ') {\n retu
0000ee60: 72 6e 20 70 6f 70 70 65 72 44 61 74 61 20 3d 3e rn popperData =>
0000ee70: 20 6f 66 66 73 65 74 28 70 6f 70 70 65 72 44 61 offset(popperDa
0000ee80: 74 61 2c 20 74 68 69 73 2e 5f 65 6c 65 6d 65 6e ta, this._elemen
0000ee90: 74 29 5c 6e 20 20 20 20 7d 5c 6e 5c 6e 20 20 20 t)\n }\n\n
0000eea0: 20 72 65 74 75 72 6e 20 6f 66 66 73 65 74 5c 6e return offset\n
0000eeb0: 20 20 7d 5c 6e 5c 6e 20 20 5f 67 65 74 50 6f 70 }\n\n _getPop
0000eec0: 70 65 72 43 6f 6e 66 69 67 28 29 20 7b 5c 6e 20 perConfig() {\n
0000eed0: 20 20 20 63 6f 6e 73 74 20 64 65 66 61 75 6c 74 const default
0000eee0: 42 73 50 6f 70 70 65 72 43 6f 6e 66 69 67 20 3d BsPopperConfig =
0000eef0: 20 7b 5c 6e 20 20 20 20 20 20 70 6c 61 63 65 6d {\n placem
0000ef00: 65 6e 74 3a 20 74 68 69 73 2e 5f 67 65 74 50 6c ent: this._getPl
0000ef10: 61 63 65 6d 65 6e 74 28 29 2c 5c 6e 20 20 20 20 acement(),\n
0000ef20: 20 20 6d 6f 64 69 66 69 65 72 73 3a 20 5b 7b 5c modifiers: [{\
0000ef30: 6e 20 20 20 20 20 20 20 20 6e 61 6d 65 3a 20 27 n name: '
0000ef40: 70 72 65 76 65 6e 74 4f 76 65 72 66 6c 6f 77 27 preventOverflow'
0000ef50: 2c 5c 6e 20 20 20 20 20 20 20 20 6f 70 74 69 6f ,\n optio
0000ef60: 6e 73 3a 20 7b 5c 6e 20 20 20 20 20 20 20 20 20 ns: {\n
0000ef70: 20 62 6f 75 6e 64 61 72 79 3a 20 74 68 69 73 2e boundary: this.
0000ef80: 5f 63 6f 6e 66 69 67 2e 62 6f 75 6e 64 61 72 79 _config.boundary
0000ef90: 5c 6e 20 20 20 20 20 20 20 20 7d 5c 6e 20 20 20 \n }\n
0000efa0: 20 20 20 7d 2c 5c 6e 20 20 20 20 20 20 7b 5c 6e },\n {\n
0000efb0: 20 20 20 20 20 20 20 20 6e 61 6d 65 3a 20 27 6f name: 'o
0000efc0: 66 66 73 65 74 27 2c 5c 6e 20 20 20 20 20 20 20 ffset',\n
0000efd0: 20 6f 70 74 69 6f 6e 73 3a 20 7b 5c 6e 20 20 20 options: {\n
0000efe0: 20 20 20 20 20 20 20 6f 66 66 73 65 74 3a 20 74 offset: t
0000eff0: 68 69 73 2e 5f 67 65 74 4f 66 66 73 65 74 28 29 his._getOffset()
0000f000: 5c 6e 20 20 20 20 20 20 20 20 7d 5c 6e 20 20 20 \n }\n
0000f010: 20 20 20 7d 5d 5c 6e 20 20 20 20 7d 5c 6e 5c 6e }]\n }\n\n
0000f020: 20 20 20 20 2f 2f 20 44 69 73 61 62 6c 65 20 50 // Disable P
0000f030: 6f 70 70 65 72 20 69 66 20 77 65 20 68 61 76 65 opper if we have
0000f040: 20 61 20 73 74 61 74 69 63 20 64 69 73 70 6c 61 a static displa
0000f050: 79 20 6f 72 20 44 72 6f 70 64 6f 77 6e 20 69 73 y or Dropdown is
0000f060: 20 69 6e 20 4e 61 76 62 61 72 5c 6e 20 20 20 20 in Navbar\n
0000f070: 69 66 20 28 74 68 69 73 2e 5f 69 6e 4e 61 76 62 if (this._inNavb
0000f080: 61 72 20 7c 7c 20 74 68 69 73 2e 5f 63 6f 6e 66 ar || this._conf
0000f090: 69 67 2e 64 69 73 70 6c 61 79 20 3d 3d 3d 20 27 ig.display === '
0000f0a0: 73 74 61 74 69 63 27 29 20 7b 5c 6e 20 20 20 20 static') {\n
0000f0b0: 20 20 4d 61 6e 69 70 75 6c 61 74 6f 72 2e 73 65 Manipulator.se
0000f0c0: 74 44 61 74 61 41 74 74 72 69 62 75 74 65 28 74 tDataAttribute(t
0000f0d0: 68 69 73 2e 5f 6d 65 6e 75 2c 20 27 70 6f 70 70 his._menu, 'popp
0000f0e0: 65 72 27 2c 20 27 73 74 61 74 69 63 27 29 20 2f er', 'static') /
0000f0f0: 2f 20 54 4f 44 4f 3a 20 76 36 20 72 65 6d 6f 76 / TODO: v6 remov
0000f100: 65 5c 6e 20 20 20 20 20 20 64 65 66 61 75 6c 74 e\n default
0000f110: 42 73 50 6f 70 70 65 72 43 6f 6e 66 69 67 2e 6d BsPopperConfig.m
0000f120: 6f 64 69 66 69 65 72 73 20 3d 20 5b 7b 5c 6e 20 odifiers = [{\n
0000f130: 20 20 20 20 20 20 20 6e 61 6d 65 3a 20 27 61 70 name: 'ap
0000f140: 70 6c 79 53 74 79 6c 65 73 27 2c 5c 6e 20 20 20 plyStyles',\n
0000f150: 20 20 20 20 20 65 6e 61 62 6c 65 64 3a 20 66 61 enabled: fa
0000f160: 6c 73 65 5c 6e 20 20 20 20 20 20 7d 5d 5c 6e 20 lse\n }]\n
0000f170: 20 20 20 7d 5c 6e 5c 6e 20 20 20 20 72 65 74 75 }\n\n retu
0000f180: 72 6e 20 7b 5c 6e 20 20 20 20 20 20 2e 2e 2e 64 rn {\n ...d
0000f190: 65 66 61 75 6c 74 42 73 50 6f 70 70 65 72 43 6f efaultBsPopperCo
0000f1a0: 6e 66 69 67 2c 5c 6e 20 20 20 20 20 20 2e 2e 2e nfig,\n ...
0000f1b0: 65 78 65 63 75 74 65 28 74 68 69 73 2e 5f 63 6f execute(this._co
0000f1c0: 6e 66 69 67 2e 70 6f 70 70 65 72 43 6f 6e 66 69 nfig.popperConfi
0000f1d0: 67 2c 20 5b 64 65 66 61 75 6c 74 42 73 50 6f 70 g, [defaultBsPop
0000f1e0: 70 65 72 43 6f 6e 66 69 67 5d 29 5c 6e 20 20 20 perConfig])\n
0000f1f0: 20 7d 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 5f 73 65 }\n }\n\n _se
0000f200: 6c 65 63 74 4d 65 6e 75 49 74 65 6d 28 7b 20 6b lectMenuItem({ k
0000f210: 65 79 2c 20 74 61 72 67 65 74 20 7d 29 20 7b 5c ey, target }) {\
0000f220: 6e 20 20 20 20 63 6f 6e 73 74 20 69 74 65 6d 73 n const items
0000f230: 20 3d 20 53 65 6c 65 63 74 6f 72 45 6e 67 69 6e = SelectorEngin
0000f240: 65 2e 66 69 6e 64 28 53 45 4c 45 43 54 4f 52 5f e.find(SELECTOR_
0000f250: 56 49 53 49 42 4c 45 5f 49 54 45 4d 53 2c 20 74 VISIBLE_ITEMS, t
0000f260: 68 69 73 2e 5f 6d 65 6e 75 29 2e 66 69 6c 74 65 his._menu).filte
0000f270: 72 28 65 6c 65 6d 65 6e 74 20 3d 3e 20 69 73 56 r(element => isV
0000f280: 69 73 69 62 6c 65 28 65 6c 65 6d 65 6e 74 29 29 isible(element))
0000f290: 5c 6e 5c 6e 20 20 20 20 69 66 20 28 21 69 74 65 \n\n if (!ite
0000f2a0: 6d 73 2e 6c 65 6e 67 74 68 29 20 7b 5c 6e 20 20 ms.length) {\n
0000f2b0: 20 20 20 20 72 65 74 75 72 6e 5c 6e 20 20 20 20 return\n
0000f2c0: 7d 5c 6e 5c 6e 20 20 20 20 2f 2f 20 69 66 20 74 }\n\n // if t
0000f2d0: 61 72 67 65 74 20 69 73 6e 27 74 20 69 6e 63 6c arget isn't incl
0000f2e0: 75 64 65 64 20 69 6e 20 69 74 65 6d 73 20 28 65 uded in items (e
0000f2f0: 2e 67 2e 20 77 68 65 6e 20 65 78 70 61 6e 64 69 .g. when expandi
0000f300: 6e 67 20 74 68 65 20 64 72 6f 70 64 6f 77 6e 29 ng the dropdown)
0000f310: 5c 6e 20 20 20 20 2f 2f 20 61 6c 6c 6f 77 20 63 \n // allow c
0000f320: 79 63 6c 69 6e 67 20 74 6f 20 67 65 74 20 74 68 ycling to get th
0000f330: 65 20 6c 61 73 74 20 69 74 65 6d 20 69 6e 20 63 e last item in c
0000f340: 61 73 65 20 6b 65 79 20 65 71 75 61 6c 73 20 41 ase key equals A
0000f350: 52 52 4f 57 5f 55 50 5f 4b 45 59 5c 6e 20 20 20 RROW_UP_KEY\n
0000f360: 20 67 65 74 4e 65 78 74 41 63 74 69 76 65 45 6c getNextActiveEl
0000f370: 65 6d 65 6e 74 28 69 74 65 6d 73 2c 20 74 61 72 ement(items, tar
0000f380: 67 65 74 2c 20 6b 65 79 20 3d 3d 3d 20 41 52 52 get, key === ARR
0000f390: 4f 57 5f 44 4f 57 4e 5f 4b 45 59 2c 20 21 69 74 OW_DOWN_KEY, !it
0000f3a0: 65 6d 73 2e 69 6e 63 6c 75 64 65 73 28 74 61 72 ems.includes(tar
0000f3b0: 67 65 74 29 29 2e 66 6f 63 75 73 28 29 5c 6e 20 get)).focus()\n
0000f3c0: 20 7d 5c 6e 5c 6e 20 20 2f 2f 20 53 74 61 74 69 }\n\n // Stati
0000f3d0: 63 5c 6e 20 20 73 74 61 74 69 63 20 6a 51 75 65 c\n static jQue
0000f3e0: 72 79 49 6e 74 65 72 66 61 63 65 28 63 6f 6e 66 ryInterface(conf
0000f3f0: 69 67 29 20 7b 5c 6e 20 20 20 20 72 65 74 75 72 ig) {\n retur
0000f400: 6e 20 74 68 69 73 2e 65 61 63 68 28 66 75 6e 63 n this.each(func
0000f410: 74 69 6f 6e 20 28 29 20 7b 5c 6e 20 20 20 20 20 tion () {\n
0000f420: 20 63 6f 6e 73 74 20 64 61 74 61 20 3d 20 44 72 const data = Dr
0000f430: 6f 70 64 6f 77 6e 2e 67 65 74 4f 72 43 72 65 61 opdown.getOrCrea
0000f440: 74 65 49 6e 73 74 61 6e 63 65 28 74 68 69 73 2c teInstance(this,
0000f450: 20 63 6f 6e 66 69 67 29 5c 6e 5c 6e 20 20 20 20 config)\n\n
0000f460: 20 20 69 66 20 28 74 79 70 65 6f 66 20 63 6f 6e if (typeof con
0000f470: 66 69 67 20 21 3d 3d 20 27 73 74 72 69 6e 67 27 fig !== 'string'
0000f480: 29 20 7b 5c 6e 20 20 20 20 20 20 20 20 72 65 74 ) {\n ret
0000f490: 75 72 6e 5c 6e 20 20 20 20 20 20 7d 5c 6e 5c 6e urn\n }\n\n
0000f4a0: 20 20 20 20 20 20 69 66 20 28 74 79 70 65 6f 66 if (typeof
0000f4b0: 20 64 61 74 61 5b 63 6f 6e 66 69 67 5d 20 3d 3d data[config] ==
0000f4c0: 3d 20 27 75 6e 64 65 66 69 6e 65 64 27 29 20 7b = 'undefined') {
0000f4d0: 5c 6e 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 \n throw
0000f4e0: 6e 65 77 20 54 79 70 65 45 72 72 6f 72 28 60 4e new TypeError(`N
0000f4f0: 6f 20 6d 65 74 68 6f 64 20 6e 61 6d 65 64 20 5c o method named \
0000f500: 22 24 7b 63 6f 6e 66 69 67 7d 5c 22 60 29 5c 6e "${config}\"`)\n
0000f510: 20 20 20 20 20 20 7d 5c 6e 5c 6e 20 20 20 20 20 }\n\n
0000f520: 20 64 61 74 61 5b 63 6f 6e 66 69 67 5d 28 29 5c data[config]()\
0000f530: 6e 20 20 20 20 7d 29 5c 6e 20 20 7d 5c 6e 5c 6e n })\n }\n\n
0000f540: 20 20 73 74 61 74 69 63 20 63 6c 65 61 72 4d 65 static clearMe
0000f550: 6e 75 73 28 65 76 65 6e 74 29 20 7b 5c 6e 20 20 nus(event) {\n
0000f560: 20 20 69 66 20 28 65 76 65 6e 74 2e 62 75 74 74 if (event.butt
0000f570: 6f 6e 20 3d 3d 3d 20 52 49 47 48 54 5f 4d 4f 55 on === RIGHT_MOU
0000f580: 53 45 5f 42 55 54 54 4f 4e 20 7c 7c 20 28 65 76 SE_BUTTON || (ev
0000f590: 65 6e 74 2e 74 79 70 65 20 3d 3d 3d 20 27 6b 65 ent.type === 'ke
0000f5a0: 79 75 70 27 20 26 26 20 65 76 65 6e 74 2e 6b 65 yup' && event.ke
0000f5b0: 79 20 21 3d 3d 20 54 41 42 5f 4b 45 59 29 29 20 y !== TAB_KEY))
0000f5c0: 7b 5c 6e 20 20 20 20 20 20 72 65 74 75 72 6e 5c {\n return\
0000f5d0: 6e 20 20 20 20 7d 5c 6e 5c 6e 20 20 20 20 63 6f n }\n\n co
0000f5e0: 6e 73 74 20 6f 70 65 6e 54 6f 67 67 6c 65 73 20 nst openToggles
0000f5f0: 3d 20 53 65 6c 65 63 74 6f 72 45 6e 67 69 6e 65 = SelectorEngine
0000f600: 2e 66 69 6e 64 28 53 45 4c 45 43 54 4f 52 5f 44 .find(SELECTOR_D
0000f610: 41 54 41 5f 54 4f 47 47 4c 45 5f 53 48 4f 57 4e ATA_TOGGLE_SHOWN
0000f620: 29 5c 6e 5c 6e 20 20 20 20 66 6f 72 20 28 63 6f )\n\n for (co
0000f630: 6e 73 74 20 74 6f 67 67 6c 65 20 6f 66 20 6f 70 nst toggle of op
0000f640: 65 6e 54 6f 67 67 6c 65 73 29 20 7b 5c 6e 20 20 enToggles) {\n
0000f650: 20 20 20 20 63 6f 6e 73 74 20 63 6f 6e 74 65 78 const contex
0000f660: 74 20 3d 20 44 72 6f 70 64 6f 77 6e 2e 67 65 74 t = Dropdown.get
0000f670: 49 6e 73 74 61 6e 63 65 28 74 6f 67 67 6c 65 29 Instance(toggle)
0000f680: 5c 6e 20 20 20 20 20 20 69 66 20 28 21 63 6f 6e \n if (!con
0000f690: 74 65 78 74 20 7c 7c 20 63 6f 6e 74 65 78 74 2e text || context.
0000f6a0: 5f 63 6f 6e 66 69 67 2e 61 75 74 6f 43 6c 6f 73 _config.autoClos
0000f6b0: 65 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 5c 6e e === false) {\n
0000f6c0: 20 20 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 continue
0000f6d0: 5c 6e 20 20 20 20 20 20 7d 5c 6e 5c 6e 20 20 20 \n }\n\n
0000f6e0: 20 20 20 63 6f 6e 73 74 20 63 6f 6d 70 6f 73 65 const compose
0000f6f0: 64 50 61 74 68 20 3d 20 65 76 65 6e 74 2e 63 6f dPath = event.co
0000f700: 6d 70 6f 73 65 64 50 61 74 68 28 29 5c 6e 20 20 mposedPath()\n
0000f710: 20 20 20 20 63 6f 6e 73 74 20 69 73 4d 65 6e 75 const isMenu
0000f720: 54 61 72 67 65 74 20 3d 20 63 6f 6d 70 6f 73 65 Target = compose
0000f730: 64 50 61 74 68 2e 69 6e 63 6c 75 64 65 73 28 63 dPath.includes(c
0000f740: 6f 6e 74 65 78 74 2e 5f 6d 65 6e 75 29 5c 6e 20 ontext._menu)\n
0000f750: 20 20 20 20 20 69 66 20 28 5c 6e 20 20 20 20 20 if (\n
0000f760: 20 20 20 63 6f 6d 70 6f 73 65 64 50 61 74 68 2e composedPath.
0000f770: 69 6e 63 6c 75 64 65 73 28 63 6f 6e 74 65 78 74 includes(context
0000f780: 2e 5f 65 6c 65 6d 65 6e 74 29 20 7c 7c 5c 6e 20 ._element) ||\n
0000f790: 20 20 20 20 20 20 20 28 63 6f 6e 74 65 78 74 2e (context.
0000f7a0: 5f 63 6f 6e 66 69 67 2e 61 75 74 6f 43 6c 6f 73 _config.autoClos
0000f7b0: 65 20 3d 3d 3d 20 27 69 6e 73 69 64 65 27 20 26 e === 'inside' &
0000f7c0: 26 20 21 69 73 4d 65 6e 75 54 61 72 67 65 74 29 & !isMenuTarget)
0000f7d0: 20 7c 7c 5c 6e 20 20 20 20 20 20 20 20 28 63 6f ||\n (co
0000f7e0: 6e 74 65 78 74 2e 5f 63 6f 6e 66 69 67 2e 61 75 ntext._config.au
0000f7f0: 74 6f 43 6c 6f 73 65 20 3d 3d 3d 20 27 6f 75 74 toClose === 'out
0000f800: 73 69 64 65 27 20 26 26 20 69 73 4d 65 6e 75 54 side' && isMenuT
0000f810: 61 72 67 65 74 29 5c 6e 20 20 20 20 20 20 29 20 arget)\n )
0000f820: 7b 5c 6e 20 20 20 20 20 20 20 20 63 6f 6e 74 69 {\n conti
0000f830: 6e 75 65 5c 6e 20 20 20 20 20 20 7d 5c 6e 5c 6e nue\n }\n\n
0000f840: 20 20 20 20 20 20 2f 2f 20 54 61 62 20 6e 61 76 // Tab nav
0000f850: 69 67 61 74 69 6f 6e 20 74 68 72 6f 75 67 68 20 igation through
0000f860: 74 68 65 20 64 72 6f 70 64 6f 77 6e 20 6d 65 6e the dropdown men
0000f870: 75 20 6f 72 20 65 76 65 6e 74 73 20 66 72 6f 6d u or events from
0000f880: 20 63 6f 6e 74 61 69 6e 65 64 20 69 6e 70 75 74 contained input
0000f890: 73 20 73 68 6f 75 6c 64 6e 27 74 20 63 6c 6f 73 s shouldn't clos
0000f8a0: 65 20 74 68 65 20 6d 65 6e 75 5c 6e 20 20 20 20 e the menu\n
0000f8b0: 20 20 69 66 20 28 63 6f 6e 74 65 78 74 2e 5f 6d if (context._m
0000f8c0: 65 6e 75 2e 63 6f 6e 74 61 69 6e 73 28 65 76 65 enu.contains(eve
0000f8d0: 6e 74 2e 74 61 72 67 65 74 29 20 26 26 20 28 28 nt.target) && ((
0000f8e0: 65 76 65 6e 74 2e 74 79 70 65 20 3d 3d 3d 20 27 event.type === '
0000f8f0: 6b 65 79 75 70 27 20 26 26 20 65 76 65 6e 74 2e keyup' && event.
0000f900: 6b 65 79 20 3d 3d 3d 20 54 41 42 5f 4b 45 59 29 key === TAB_KEY)
0000f910: 20 7c 7c 20 2f 69 6e 70 75 74 7c 73 65 6c 65 63 || /input|selec
0000f920: 74 7c 6f 70 74 69 6f 6e 7c 74 65 78 74 61 72 65 t|option|textare
0000f930: 61 7c 66 6f 72 6d 2f 69 2e 74 65 73 74 28 65 76 a|form/i.test(ev
0000f940: 65 6e 74 2e 74 61 72 67 65 74 2e 74 61 67 4e 61 ent.target.tagNa
0000f950: 6d 65 29 29 29 20 7b 5c 6e 20 20 20 20 20 20 20 me))) {\n
0000f960: 20 63 6f 6e 74 69 6e 75 65 5c 6e 20 20 20 20 20 continue\n
0000f970: 20 7d 5c 6e 5c 6e 20 20 20 20 20 20 63 6f 6e 73 }\n\n cons
0000f980: 74 20 72 65 6c 61 74 65 64 54 61 72 67 65 74 20 t relatedTarget
0000f990: 3d 20 7b 20 72 65 6c 61 74 65 64 54 61 72 67 65 = { relatedTarge
0000f9a0: 74 3a 20 63 6f 6e 74 65 78 74 2e 5f 65 6c 65 6d t: context._elem
0000f9b0: 65 6e 74 20 7d 5c 6e 5c 6e 20 20 20 20 20 20 69 ent }\n\n i
0000f9c0: 66 20 28 65 76 65 6e 74 2e 74 79 70 65 20 3d 3d f (event.type ==
0000f9d0: 3d 20 27 63 6c 69 63 6b 27 29 20 7b 5c 6e 20 20 = 'click') {\n
0000f9e0: 20 20 20 20 20 20 72 65 6c 61 74 65 64 54 61 72 relatedTar
0000f9f0: 67 65 74 2e 63 6c 69 63 6b 45 76 65 6e 74 20 3d get.clickEvent =
0000fa00: 20 65 76 65 6e 74 5c 6e 20 20 20 20 20 20 7d 5c event\n }\
0000fa10: 6e 5c 6e 20 20 20 20 20 20 63 6f 6e 74 65 78 74 n\n context
0000fa20: 2e 5f 63 6f 6d 70 6c 65 74 65 48 69 64 65 28 72 ._completeHide(r
0000fa30: 65 6c 61 74 65 64 54 61 72 67 65 74 29 5c 6e 20 elatedTarget)\n
0000fa40: 20 20 20 7d 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 73 }\n }\n\n s
0000fa50: 74 61 74 69 63 20 64 61 74 61 41 70 69 4b 65 79 tatic dataApiKey
0000fa60: 64 6f 77 6e 48 61 6e 64 6c 65 72 28 65 76 65 6e downHandler(even
0000fa70: 74 29 20 7b 5c 6e 20 20 20 20 2f 2f 20 49 66 20 t) {\n // If
0000fa80: 6e 6f 74 20 61 6e 20 55 50 20 7c 20 44 4f 57 4e not an UP | DOWN
0000fa90: 20 7c 20 45 53 43 41 50 45 20 6b 65 79 20 3d 3e | ESCAPE key =>
0000faa0: 20 6e 6f 74 20 61 20 64 72 6f 70 64 6f 77 6e 20 not a dropdown
0000fab0: 63 6f 6d 6d 61 6e 64 5c 6e 20 20 20 20 2f 2f 20 command\n //
0000fac0: 49 66 20 69 6e 70 75 74 2f 74 65 78 74 61 72 65 If input/textare
0000fad0: 61 20 26 26 20 69 66 20 6b 65 79 20 69 73 20 6f a && if key is o
0000fae0: 74 68 65 72 20 74 68 61 6e 20 45 53 43 41 50 45 ther than ESCAPE
0000faf0: 20 3d 3e 20 6e 6f 74 20 61 20 64 72 6f 70 64 6f => not a dropdo
0000fb00: 77 6e 20 63 6f 6d 6d 61 6e 64 5c 6e 5c 6e 20 20 wn command\n\n
0000fb10: 20 20 63 6f 6e 73 74 20 69 73 49 6e 70 75 74 20 const isInput
0000fb20: 3d 20 2f 69 6e 70 75 74 7c 74 65 78 74 61 72 65 = /input|textare
0000fb30: 61 2f 69 2e 74 65 73 74 28 65 76 65 6e 74 2e 74 a/i.test(event.t
0000fb40: 61 72 67 65 74 2e 74 61 67 4e 61 6d 65 29 5c 6e arget.tagName)\n
0000fb50: 20 20 20 20 63 6f 6e 73 74 20 69 73 45 73 63 61 const isEsca
0000fb60: 70 65 45 76 65 6e 74 20 3d 20 65 76 65 6e 74 2e peEvent = event.
0000fb70: 6b 65 79 20 3d 3d 3d 20 45 53 43 41 50 45 5f 4b key === ESCAPE_K
0000fb80: 45 59 5c 6e 20 20 20 20 63 6f 6e 73 74 20 69 73 EY\n const is
0000fb90: 55 70 4f 72 44 6f 77 6e 45 76 65 6e 74 20 3d 20 UpOrDownEvent =
0000fba0: 5b 41 52 52 4f 57 5f 55 50 5f 4b 45 59 2c 20 41 [ARROW_UP_KEY, A
0000fbb0: 52 52 4f 57 5f 44 4f 57 4e 5f 4b 45 59 5d 2e 69 RROW_DOWN_KEY].i
0000fbc0: 6e 63 6c 75 64 65 73 28 65 76 65 6e 74 2e 6b 65 ncludes(event.ke
0000fbd0: 79 29 5c 6e 5c 6e 20 20 20 20 69 66 20 28 21 69 y)\n\n if (!i
0000fbe0: 73 55 70 4f 72 44 6f 77 6e 45 76 65 6e 74 20 26 sUpOrDownEvent &
0000fbf0: 26 20 21 69 73 45 73 63 61 70 65 45 76 65 6e 74 & !isEscapeEvent
0000fc00: 29 20 7b 5c 6e 20 20 20 20 20 20 72 65 74 75 72 ) {\n retur
0000fc10: 6e 5c 6e 20 20 20 20 7d 5c 6e 5c 6e 20 20 20 20 n\n }\n\n
0000fc20: 69 66 20 28 69 73 49 6e 70 75 74 20 26 26 20 21 if (isInput && !
0000fc30: 69 73 45 73 63 61 70 65 45 76 65 6e 74 29 20 7b isEscapeEvent) {
0000fc40: 5c 6e 20 20 20 20 20 20 72 65 74 75 72 6e 5c 6e \n return\n
0000fc50: 20 20 20 20 7d 5c 6e 5c 6e 20 20 20 20 65 76 65 }\n\n eve
0000fc60: 6e 74 2e 70 72 65 76 65 6e 74 44 65 66 61 75 6c nt.preventDefaul
0000fc70: 74 28 29 5c 6e 5c 6e 20 20 20 20 2f 2f 20 54 4f t()\n\n // TO
0000fc80: 44 4f 3a 20 76 36 20 72 65 76 65 72 74 20 23 33 DO: v6 revert #3
0000fc90: 37 30 31 31 20 26 20 63 68 61 6e 67 65 20 6d 61 7011 & change ma
0000fca0: 72 6b 75 70 20 68 74 74 70 73 3a 2f 2f 67 65 74 rkup https://get
0000fcb0: 62 6f 6f 74 73 74 72 61 70 2e 63 6f 6d 2f 64 6f bootstrap.com/do
0000fcc0: 63 73 2f 35 2e 33 2f 66 6f 72 6d 73 2f 69 6e 70 cs/5.3/forms/inp
0000fcd0: 75 74 2d 67 72 6f 75 70 2f 5c 6e 20 20 20 20 63 ut-group/\n c
0000fce0: 6f 6e 73 74 20 67 65 74 54 6f 67 67 6c 65 42 75 onst getToggleBu
0000fcf0: 74 74 6f 6e 20 3d 20 74 68 69 73 2e 6d 61 74 63 tton = this.matc
0000fd00: 68 65 73 28 53 45 4c 45 43 54 4f 52 5f 44 41 54 hes(SELECTOR_DAT
0000fd10: 41 5f 54 4f 47 47 4c 45 29 20 3f 5c 6e 20 20 20 A_TOGGLE) ?\n
0000fd20: 20 20 20 74 68 69 73 20 3a 5c 6e 20 20 20 20 20 this :\n
0000fd30: 20 28 53 65 6c 65 63 74 6f 72 45 6e 67 69 6e 65 (SelectorEngine
0000fd40: 2e 70 72 65 76 28 74 68 69 73 2c 20 53 45 4c 45 .prev(this, SELE
0000fd50: 43 54 4f 52 5f 44 41 54 41 5f 54 4f 47 47 4c 45 CTOR_DATA_TOGGLE
0000fd60: 29 5b 30 5d 20 7c 7c 5c 6e 20 20 20 20 20 20 20 )[0] ||\n
0000fd70: 20 53 65 6c 65 63 74 6f 72 45 6e 67 69 6e 65 2e SelectorEngine.
0000fd80: 6e 65 78 74 28 74 68 69 73 2c 20 53 45 4c 45 43 next(this, SELEC
0000fd90: 54 4f 52 5f 44 41 54 41 5f 54 4f 47 47 4c 45 29 TOR_DATA_TOGGLE)
0000fda0: 5b 30 5d 20 7c 7c 5c 6e 20 20 20 20 20 20 20 20 [0] ||\n
0000fdb0: 53 65 6c 65 63 74 6f 72 45 6e 67 69 6e 65 2e 66 SelectorEngine.f
0000fdc0: 69 6e 64 4f 6e 65 28 53 45 4c 45 43 54 4f 52 5f indOne(SELECTOR_
0000fdd0: 44 41 54 41 5f 54 4f 47 47 4c 45 2c 20 65 76 65 DATA_TOGGLE, eve
0000fde0: 6e 74 2e 64 65 6c 65 67 61 74 65 54 61 72 67 65 nt.delegateTarge
0000fdf0: 74 2e 70 61 72 65 6e 74 4e 6f 64 65 29 29 5c 6e t.parentNode))\n
0000fe00: 5c 6e 20 20 20 20 63 6f 6e 73 74 20 69 6e 73 74 \n const inst
0000fe10: 61 6e 63 65 20 3d 20 44 72 6f 70 64 6f 77 6e 2e ance = Dropdown.
0000fe20: 67 65 74 4f 72 43 72 65 61 74 65 49 6e 73 74 61 getOrCreateInsta
0000fe30: 6e 63 65 28 67 65 74 54 6f 67 67 6c 65 42 75 74 nce(getToggleBut
0000fe40: 74 6f 6e 29 5c 6e 5c 6e 20 20 20 20 69 66 20 28 ton)\n\n if (
0000fe50: 69 73 55 70 4f 72 44 6f 77 6e 45 76 65 6e 74 29 isUpOrDownEvent)
0000fe60: 20 7b 5c 6e 20 20 20 20 20 20 65 76 65 6e 74 2e {\n event.
0000fe70: 73 74 6f 70 50 72 6f 70 61 67 61 74 69 6f 6e 28 stopPropagation(
0000fe80: 29 5c 6e 20 20 20 20 20 20 69 6e 73 74 61 6e 63 )\n instanc
0000fe90: 65 2e 73 68 6f 77 28 29 5c 6e 20 20 20 20 20 20 e.show()\n
0000fea0: 69 6e 73 74 61 6e 63 65 2e 5f 73 65 6c 65 63 74 instance._select
0000feb0: 4d 65 6e 75 49 74 65 6d 28 65 76 65 6e 74 29 5c MenuItem(event)\
0000fec0: 6e 20 20 20 20 20 20 72 65 74 75 72 6e 5c 6e 20 n return\n
0000fed0: 20 20 20 7d 5c 6e 5c 6e 20 20 20 20 69 66 20 28 }\n\n if (
0000fee0: 69 6e 73 74 61 6e 63 65 2e 5f 69 73 53 68 6f 77 instance._isShow
0000fef0: 6e 28 29 29 20 7b 20 2f 2f 20 65 6c 73 65 20 69 n()) { // else i
0000ff00: 73 20 65 73 63 61 70 65 20 61 6e 64 20 77 65 20 s escape and we
0000ff10: 63 68 65 63 6b 20 69 66 20 69 74 20 69 73 20 73 check if it is s
0000ff20: 68 6f 77 6e 5c 6e 20 20 20 20 20 20 65 76 65 6e hown\n even
0000ff30: 74 2e 73 74 6f 70 50 72 6f 70 61 67 61 74 69 6f t.stopPropagatio
0000ff40: 6e 28 29 5c 6e 20 20 20 20 20 20 69 6e 73 74 61 n()\n insta
0000ff50: 6e 63 65 2e 68 69 64 65 28 29 5c 6e 20 20 20 20 nce.hide()\n
0000ff60: 20 20 67 65 74 54 6f 67 67 6c 65 42 75 74 74 6f getToggleButto
0000ff70: 6e 2e 66 6f 63 75 73 28 29 5c 6e 20 20 20 20 7d n.focus()\n }
0000ff80: 5c 6e 20 20 7d 5c 6e 7d 5c 6e 5c 6e 2f 2a 2a 5c \n }\n}\n\n/**\
0000ff90: 6e 20 2a 20 44 61 74 61 20 41 50 49 20 69 6d 70 n * Data API imp
0000ffa0: 6c 65 6d 65 6e 74 61 74 69 6f 6e 5c 6e 20 2a 2f lementation\n */
0000ffb0: 5c 6e 5c 6e 45 76 65 6e 74 48 61 6e 64 6c 65 72 \n\nEventHandler
0000ffc0: 2e 6f 6e 28 64 6f 63 75 6d 65 6e 74 2c 20 45 56 .on(document, EV
0000ffd0: 45 4e 54 5f 4b 45 59 44 4f 57 4e 5f 44 41 54 41 ENT_KEYDOWN_DATA
0000ffe0: 5f 41 50 49 2c 20 53 45 4c 45 43 54 4f 52 5f 44 _API, SELECTOR_D
0000fff0: 41 54 41 5f 54 4f 47 47 4c 45 2c 20 44 72 6f 70 ATA_TOGGLE, Drop
00010000: 64 6f 77 6e 2e 64 61 74 61 41 70 69 4b 65 79 64 down.dataApiKeyd
00010010: 6f 77 6e 48 61 6e 64 6c 65 72 29 5c 6e 45 76 65 ownHandler)\nEve
00010020: 6e 74 48 61 6e 64 6c 65 72 2e 6f 6e 28 64 6f 63 ntHandler.on(doc
00010030: 75 6d 65 6e 74 2c 20 45 56 45 4e 54 5f 4b 45 59 ument, EVENT_KEY
00010040: 44 4f 57 4e 5f 44 41 54 41 5f 41 50 49 2c 20 53 DOWN_DATA_API, S
00010050: 45 4c 45 43 54 4f 52 5f 4d 45 4e 55 2c 20 44 72 ELECTOR_MENU, Dr
00010060: 6f 70 64 6f 77 6e 2e 64 61 74 61 41 70 69 4b 65 opdown.dataApiKe
00010070: 79 64 6f 77 6e 48 61 6e 64 6c 65 72 29 5c 6e 45 ydownHandler)\nE
00010080: 76 65 6e 74 48 61 6e 64 6c 65 72 2e 6f 6e 28 64 ventHandler.on(d
00010090: 6f 63 75 6d 65 6e 74 2c 20 45 56 45 4e 54 5f 43 ocument, EVENT_C
000100a0: 4c 49 43 4b 5f 44 41 54 41 5f 41 50 49 2c 20 44 LICK_DATA_API, D
000100b0: 72 6f 70 64 6f 77 6e 2e 63 6c 65 61 72 4d 65 6e ropdown.clearMen
000100c0: 75 73 29 5c 6e 45 76 65 6e 74 48 61 6e 64 6c 65 us)\nEventHandle
000100d0: 72 2e 6f 6e 28 64 6f 63 75 6d 65 6e 74 2c 20 45 r.on(document, E
000100e0: 56 45 4e 54 5f 4b 45 59 55 50 5f 44 41 54 41 5f VENT_KEYUP_DATA_
000100f0: 41 50 49 2c 20 44 72 6f 70 64 6f 77 6e 2e 63 6c API, Dropdown.cl
00010100: 65 61 72 4d 65 6e 75 73 29 5c 6e 45 76 65 6e 74 earMenus)\nEvent
00010110: 48 61 6e 64 6c 65 72 2e 6f 6e 28 64 6f 63 75 6d Handler.on(docum
00010120: 65 6e 74 2c 20 45 56 45 4e 54 5f 43 4c 49 43 4b ent, EVENT_CLICK
00010130: 5f 44 41 54 41 5f 41 50 49 2c 20 53 45 4c 45 43 _DATA_API, SELEC
00010140: 54 4f 52 5f 44 41 54 41 5f 54 4f 47 47 4c 45 2c TOR_DATA_TOGGLE,
00010150: 20 66 75 6e 63 74 69 6f 6e 20 28 65 76 65 6e 74 function (event
00010160: 29 20 7b 5c 6e 20 20 65 76 65 6e 74 2e 70 72 65 ) {\n event.pre
00010170: 76 65 6e 74 44 65 66 61 75 6c 74 28 29 5c 6e 20 ventDefault()\n
00010180: 20 44 72 6f 70 64 6f 77 6e 2e 67 65 74 4f 72 43 Dropdown.getOrC
00010190: 72 65 61 74 65 49 6e 73 74 61 6e 63 65 28 74 68 reateInstance(th
000101a0: 69 73 29 2e 74 6f 67 67 6c 65 28 29 5c 6e 7d 29 is).toggle()\n})
000101b0: 5c 6e 5c 6e 2f 2a 2a 5c 6e 20 2a 20 6a 51 75 65 \n\n/**\n * jQue
000101c0: 72 79 5c 6e 20 2a 2f 5c 6e 5c 6e 64 65 66 69 6e ry\n */\n\ndefin
000101d0: 65 4a 51 75 65 72 79 50 6c 75 67 69 6e 28 44 72 eJQueryPlugin(Dr
000101e0: 6f 70 64 6f 77 6e 29 5c 6e 5c 6e 65 78 70 6f 72 opdown)\n\nexpor
000101f0: 74 20 64 65 66 61 75 6c 74 20 44 72 6f 70 64 6f t default Dropdo
00010200: 77 6e 5c 6e 22 2c 22 2f 2a 2a 5c 6e 20 2a 20 2d wn\n","/**\n * -
00010210: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
00010220: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
00010230: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
00010240: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
00010250: 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 20 2a 20 42 6f ---------\n * Bo
00010260: 6f 74 73 74 72 61 70 20 75 74 69 6c 2f 62 61 63 otstrap util/bac
00010270: 6b 64 72 6f 70 2e 6a 73 5c 6e 20 2a 20 4c 69 63 kdrop.js\n * Lic
00010280: 65 6e 73 65 64 20 75 6e 64 65 72 20 4d 49 54 20 ensed under MIT
00010290: 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e (https://github.
000102a0: 63 6f 6d 2f 74 77 62 73 2f 62 6f 6f 74 73 74 72 com/twbs/bootstr
000102b0: 61 70 2f 62 6c 6f 62 2f 6d 61 69 6e 2f 4c 49 43 ap/blob/main/LIC
000102c0: 45 4e 53 45 29 5c 6e 20 2a 20 2d 2d 2d 2d 2d 2d ENSE)\n * ------
000102d0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
000102e0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
000102f0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
00010300: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
00010310: 2d 2d 2d 2d 5c 6e 20 2a 2f 5c 6e 5c 6e 69 6d 70 ----\n */\n\nimp
00010320: 6f 72 74 20 45 76 65 6e 74 48 61 6e 64 6c 65 72 ort EventHandler
00010330: 20 66 72 6f 6d 20 27 2e 2e 2f 64 6f 6d 2f 65 76 from '../dom/ev
00010340: 65 6e 74 2d 68 61 6e 64 6c 65 72 2e 6a 73 27 5c ent-handler.js'\
00010350: 6e 69 6d 70 6f 72 74 20 43 6f 6e 66 69 67 20 66 nimport Config f
00010360: 72 6f 6d 20 27 2e 2f 63 6f 6e 66 69 67 2e 6a 73 rom './config.js
00010370: 27 5c 6e 69 6d 70 6f 72 74 20 7b 5c 6e 20 20 65 '\nimport {\n e
00010380: 78 65 63 75 74 65 2c 20 65 78 65 63 75 74 65 41 xecute, executeA
00010390: 66 74 65 72 54 72 61 6e 73 69 74 69 6f 6e 2c 20 fterTransition,
000103a0: 67 65 74 45 6c 65 6d 65 6e 74 2c 20 72 65 66 6c getElement, refl
000103b0: 6f 77 5c 6e 7d 20 66 72 6f 6d 20 27 2e 2f 69 6e ow\n} from './in
000103c0: 64 65 78 2e 6a 73 27 5c 6e 5c 6e 2f 2a 2a 5c 6e dex.js'\n\n/**\n
000103d0: 20 2a 20 43 6f 6e 73 74 61 6e 74 73 5c 6e 20 2a * Constants\n *
000103e0: 2f 5c 6e 5c 6e 63 6f 6e 73 74 20 4e 41 4d 45 20 /\n\nconst NAME
000103f0: 3d 20 27 62 61 63 6b 64 72 6f 70 27 5c 6e 63 6f = 'backdrop'\nco
00010400: 6e 73 74 20 43 4c 41 53 53 5f 4e 41 4d 45 5f 46 nst CLASS_NAME_F
00010410: 41 44 45 20 3d 20 27 66 61 64 65 27 5c 6e 63 6f ADE = 'fade'\nco
00010420: 6e 73 74 20 43 4c 41 53 53 5f 4e 41 4d 45 5f 53 nst CLASS_NAME_S
00010430: 48 4f 57 20 3d 20 27 73 68 6f 77 27 5c 6e 63 6f HOW = 'show'\nco
00010440: 6e 73 74 20 45 56 45 4e 54 5f 4d 4f 55 53 45 44 nst EVENT_MOUSED
00010450: 4f 57 4e 20 3d 20 60 6d 6f 75 73 65 64 6f 77 6e OWN = `mousedown
00010460: 2e 62 73 2e 24 7b 4e 41 4d 45 7d 60 5c 6e 5c 6e .bs.${NAME}`\n\n
00010470: 63 6f 6e 73 74 20 44 65 66 61 75 6c 74 20 3d 20 const Default =
00010480: 7b 5c 6e 20 20 63 6c 61 73 73 4e 61 6d 65 3a 20 {\n className:
00010490: 27 6d 6f 64 61 6c 2d 62 61 63 6b 64 72 6f 70 27 'modal-backdrop'
000104a0: 2c 5c 6e 20 20 63 6c 69 63 6b 43 61 6c 6c 62 61 ,\n clickCallba
000104b0: 63 6b 3a 20 6e 75 6c 6c 2c 5c 6e 20 20 69 73 41 ck: null,\n isA
000104c0: 6e 69 6d 61 74 65 64 3a 20 66 61 6c 73 65 2c 5c nimated: false,\
000104d0: 6e 20 20 69 73 56 69 73 69 62 6c 65 3a 20 74 72 n isVisible: tr
000104e0: 75 65 2c 20 2f 2f 20 69 66 20 66 61 6c 73 65 2c ue, // if false,
000104f0: 20 77 65 20 75 73 65 20 74 68 65 20 62 61 63 6b we use the back
00010500: 64 72 6f 70 20 68 65 6c 70 65 72 20 77 69 74 68 drop helper with
00010510: 6f 75 74 20 61 64 64 69 6e 67 20 61 6e 79 20 65 out adding any e
00010520: 6c 65 6d 65 6e 74 20 74 6f 20 74 68 65 20 64 6f lement to the do
00010530: 6d 5c 6e 20 20 72 6f 6f 74 45 6c 65 6d 65 6e 74 m\n rootElement
00010540: 3a 20 27 62 6f 64 79 27 20 2f 2f 20 67 69 76 65 : 'body' // give
00010550: 20 74 68 65 20 63 68 6f 69 63 65 20 74 6f 20 70 the choice to p
00010560: 6c 61 63 65 20 62 61 63 6b 64 72 6f 70 20 75 6e lace backdrop un
00010570: 64 65 72 20 64 69 66 66 65 72 65 6e 74 20 65 6c der different el
00010580: 65 6d 65 6e 74 73 5c 6e 7d 5c 6e 5c 6e 63 6f 6e ements\n}\n\ncon
00010590: 73 74 20 44 65 66 61 75 6c 74 54 79 70 65 20 3d st DefaultType =
000105a0: 20 7b 5c 6e 20 20 63 6c 61 73 73 4e 61 6d 65 3a {\n className:
000105b0: 20 27 73 74 72 69 6e 67 27 2c 5c 6e 20 20 63 6c 'string',\n cl
000105c0: 69 63 6b 43 61 6c 6c 62 61 63 6b 3a 20 27 28 66 ickCallback: '(f
000105d0: 75 6e 63 74 69 6f 6e 7c 6e 75 6c 6c 29 27 2c 5c unction|null)',\
000105e0: 6e 20 20 69 73 41 6e 69 6d 61 74 65 64 3a 20 27 n isAnimated: '
000105f0: 62 6f 6f 6c 65 61 6e 27 2c 5c 6e 20 20 69 73 56 boolean',\n isV
00010600: 69 73 69 62 6c 65 3a 20 27 62 6f 6f 6c 65 61 6e isible: 'boolean
00010610: 27 2c 5c 6e 20 20 72 6f 6f 74 45 6c 65 6d 65 6e ',\n rootElemen
00010620: 74 3a 20 27 28 65 6c 65 6d 65 6e 74 7c 73 74 72 t: '(element|str
00010630: 69 6e 67 29 27 5c 6e 7d 5c 6e 5c 6e 2f 2a 2a 5c ing)'\n}\n\n/**\
00010640: 6e 20 2a 20 43 6c 61 73 73 20 64 65 66 69 6e 69 n * Class defini
00010650: 74 69 6f 6e 5c 6e 20 2a 2f 5c 6e 5c 6e 63 6c 61 tion\n */\n\ncla
00010660: 73 73 20 42 61 63 6b 64 72 6f 70 20 65 78 74 65 ss Backdrop exte
00010670: 6e 64 73 20 43 6f 6e 66 69 67 20 7b 5c 6e 20 20 nds Config {\n
00010680: 63 6f 6e 73 74 72 75 63 74 6f 72 28 63 6f 6e 66 constructor(conf
00010690: 69 67 29 20 7b 5c 6e 20 20 20 20 73 75 70 65 72 ig) {\n super
000106a0: 28 29 5c 6e 20 20 20 20 74 68 69 73 2e 5f 63 6f ()\n this._co
000106b0: 6e 66 69 67 20 3d 20 74 68 69 73 2e 5f 67 65 74 nfig = this._get
000106c0: 43 6f 6e 66 69 67 28 63 6f 6e 66 69 67 29 5c 6e Config(config)\n
000106d0: 20 20 20 20 74 68 69 73 2e 5f 69 73 41 70 70 65 this._isAppe
000106e0: 6e 64 65 64 20 3d 20 66 61 6c 73 65 5c 6e 20 20 nded = false\n
000106f0: 20 20 74 68 69 73 2e 5f 65 6c 65 6d 65 6e 74 20 this._element
00010700: 3d 20 6e 75 6c 6c 5c 6e 20 20 7d 5c 6e 5c 6e 20 = null\n }\n\n
00010710: 20 2f 2f 20 47 65 74 74 65 72 73 5c 6e 20 20 73 // Getters\n s
00010720: 74 61 74 69 63 20 67 65 74 20 44 65 66 61 75 6c tatic get Defaul
00010730: 74 28 29 20 7b 5c 6e 20 20 20 20 72 65 74 75 72 t() {\n retur
00010740: 6e 20 44 65 66 61 75 6c 74 5c 6e 20 20 7d 5c 6e n Default\n }\n
00010750: 5c 6e 20 20 73 74 61 74 69 63 20 67 65 74 20 44 \n static get D
00010760: 65 66 61 75 6c 74 54 79 70 65 28 29 20 7b 5c 6e efaultType() {\n
00010770: 20 20 20 20 72 65 74 75 72 6e 20 44 65 66 61 75 return Defau
00010780: 6c 74 54 79 70 65 5c 6e 20 20 7d 5c 6e 5c 6e 20 ltType\n }\n\n
00010790: 20 73 74 61 74 69 63 20 67 65 74 20 4e 41 4d 45 static get NAME
000107a0: 28 29 20 7b 5c 6e 20 20 20 20 72 65 74 75 72 6e () {\n return
000107b0: 20 4e 41 4d 45 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 NAME\n }\n\n
000107c0: 2f 2f 20 50 75 62 6c 69 63 5c 6e 20 20 73 68 6f // Public\n sho
000107d0: 77 28 63 61 6c 6c 62 61 63 6b 29 20 7b 5c 6e 20 w(callback) {\n
000107e0: 20 20 20 69 66 20 28 21 74 68 69 73 2e 5f 63 6f if (!this._co
000107f0: 6e 66 69 67 2e 69 73 56 69 73 69 62 6c 65 29 20 nfig.isVisible)
00010800: 7b 5c 6e 20 20 20 20 20 20 65 78 65 63 75 74 65 {\n execute
00010810: 28 63 61 6c 6c 62 61 63 6b 29 5c 6e 20 20 20 20 (callback)\n
00010820: 20 20 72 65 74 75 72 6e 5c 6e 20 20 20 20 7d 5c return\n }\
00010830: 6e 5c 6e 20 20 20 20 74 68 69 73 2e 5f 61 70 70 n\n this._app
00010840: 65 6e 64 28 29 5c 6e 5c 6e 20 20 20 20 63 6f 6e end()\n\n con
00010850: 73 74 20 65 6c 65 6d 65 6e 74 20 3d 20 74 68 69 st element = thi
00010860: 73 2e 5f 67 65 74 45 6c 65 6d 65 6e 74 28 29 5c s._getElement()\
00010870: 6e 20 20 20 20 69 66 20 28 74 68 69 73 2e 5f 63 n if (this._c
00010880: 6f 6e 66 69 67 2e 69 73 41 6e 69 6d 61 74 65 64 onfig.isAnimated
00010890: 29 20 7b 5c 6e 20 20 20 20 20 20 72 65 66 6c 6f ) {\n reflo
000108a0: 77 28 65 6c 65 6d 65 6e 74 29 5c 6e 20 20 20 20 w(element)\n
000108b0: 7d 5c 6e 5c 6e 20 20 20 20 65 6c 65 6d 65 6e 74 }\n\n element
000108c0: 2e 63 6c 61 73 73 4c 69 73 74 2e 61 64 64 28 43 .classList.add(C
000108d0: 4c 41 53 53 5f 4e 41 4d 45 5f 53 48 4f 57 29 5c LASS_NAME_SHOW)\
000108e0: 6e 5c 6e 20 20 20 20 74 68 69 73 2e 5f 65 6d 75 n\n this._emu
000108f0: 6c 61 74 65 41 6e 69 6d 61 74 69 6f 6e 28 28 29 lateAnimation(()
00010900: 20 3d 3e 20 7b 5c 6e 20 20 20 20 20 20 65 78 65 => {\n exe
00010910: 63 75 74 65 28 63 61 6c 6c 62 61 63 6b 29 5c 6e cute(callback)\n
00010920: 20 20 20 20 7d 29 5c 6e 20 20 7d 5c 6e 5c 6e 20 })\n }\n\n
00010930: 20 68 69 64 65 28 63 61 6c 6c 62 61 63 6b 29 20 hide(callback)
00010940: 7b 5c 6e 20 20 20 20 69 66 20 28 21 74 68 69 73 {\n if (!this
00010950: 2e 5f 63 6f 6e 66 69 67 2e 69 73 56 69 73 69 62 ._config.isVisib
00010960: 6c 65 29 20 7b 5c 6e 20 20 20 20 20 20 65 78 65 le) {\n exe
00010970: 63 75 74 65 28 63 61 6c 6c 62 61 63 6b 29 5c 6e cute(callback)\n
00010980: 20 20 20 20 20 20 72 65 74 75 72 6e 5c 6e 20 20 return\n
00010990: 20 20 7d 5c 6e 5c 6e 20 20 20 20 74 68 69 73 2e }\n\n this.
000109a0: 5f 67 65 74 45 6c 65 6d 65 6e 74 28 29 2e 63 6c _getElement().cl
000109b0: 61 73 73 4c 69 73 74 2e 72 65 6d 6f 76 65 28 43 assList.remove(C
000109c0: 4c 41 53 53 5f 4e 41 4d 45 5f 53 48 4f 57 29 5c LASS_NAME_SHOW)\
000109d0: 6e 5c 6e 20 20 20 20 74 68 69 73 2e 5f 65 6d 75 n\n this._emu
000109e0: 6c 61 74 65 41 6e 69 6d 61 74 69 6f 6e 28 28 29 lateAnimation(()
000109f0: 20 3d 3e 20 7b 5c 6e 20 20 20 20 20 20 74 68 69 => {\n thi
00010a00: 73 2e 64 69 73 70 6f 73 65 28 29 5c 6e 20 20 20 s.dispose()\n
00010a10: 20 20 20 65 78 65 63 75 74 65 28 63 61 6c 6c 62 execute(callb
00010a20: 61 63 6b 29 5c 6e 20 20 20 20 7d 29 5c 6e 20 20 ack)\n })\n
00010a30: 7d 5c 6e 5c 6e 20 20 64 69 73 70 6f 73 65 28 29 }\n\n dispose()
00010a40: 20 7b 5c 6e 20 20 20 20 69 66 20 28 21 74 68 69 {\n if (!thi
00010a50: 73 2e 5f 69 73 41 70 70 65 6e 64 65 64 29 20 7b s._isAppended) {
00010a60: 5c 6e 20 20 20 20 20 20 72 65 74 75 72 6e 5c 6e \n return\n
00010a70: 20 20 20 20 7d 5c 6e 5c 6e 20 20 20 20 45 76 65 }\n\n Eve
00010a80: 6e 74 48 61 6e 64 6c 65 72 2e 6f 66 66 28 74 68 ntHandler.off(th
00010a90: 69 73 2e 5f 65 6c 65 6d 65 6e 74 2c 20 45 56 45 is._element, EVE
00010aa0: 4e 54 5f 4d 4f 55 53 45 44 4f 57 4e 29 5c 6e 5c NT_MOUSEDOWN)\n\
00010ab0: 6e 20 20 20 20 74 68 69 73 2e 5f 65 6c 65 6d 65 n this._eleme
00010ac0: 6e 74 2e 72 65 6d 6f 76 65 28 29 5c 6e 20 20 20 nt.remove()\n
00010ad0: 20 74 68 69 73 2e 5f 69 73 41 70 70 65 6e 64 65 this._isAppende
00010ae0: 64 20 3d 20 66 61 6c 73 65 5c 6e 20 20 7d 5c 6e d = false\n }\n
00010af0: 5c 6e 20 20 2f 2f 20 50 72 69 76 61 74 65 5c 6e \n // Private\n
00010b00: 20 20 5f 67 65 74 45 6c 65 6d 65 6e 74 28 29 20 _getElement()
00010b10: 7b 5c 6e 20 20 20 20 69 66 20 28 21 74 68 69 73 {\n if (!this
00010b20: 2e 5f 65 6c 65 6d 65 6e 74 29 20 7b 5c 6e 20 20 ._element) {\n
00010b30: 20 20 20 20 63 6f 6e 73 74 20 62 61 63 6b 64 72 const backdr
00010b40: 6f 70 20 3d 20 64 6f 63 75 6d 65 6e 74 2e 63 72 op = document.cr
00010b50: 65 61 74 65 45 6c 65 6d 65 6e 74 28 27 64 69 76 eateElement('div
00010b60: 27 29 5c 6e 20 20 20 20 20 20 62 61 63 6b 64 72 ')\n backdr
00010b70: 6f 70 2e 63 6c 61 73 73 4e 61 6d 65 20 3d 20 74 op.className = t
00010b80: 68 69 73 2e 5f 63 6f 6e 66 69 67 2e 63 6c 61 73 his._config.clas
00010b90: 73 4e 61 6d 65 5c 6e 20 20 20 20 20 20 69 66 20 sName\n if
00010ba0: 28 74 68 69 73 2e 5f 63 6f 6e 66 69 67 2e 69 73 (this._config.is
00010bb0: 41 6e 69 6d 61 74 65 64 29 20 7b 5c 6e 20 20 20 Animated) {\n
00010bc0: 20 20 20 20 20 62 61 63 6b 64 72 6f 70 2e 63 6c backdrop.cl
00010bd0: 61 73 73 4c 69 73 74 2e 61 64 64 28 43 4c 41 53 assList.add(CLAS
00010be0: 53 5f 4e 41 4d 45 5f 46 41 44 45 29 5c 6e 20 20 S_NAME_FADE)\n
00010bf0: 20 20 20 20 7d 5c 6e 5c 6e 20 20 20 20 20 20 74 }\n\n t
00010c00: 68 69 73 2e 5f 65 6c 65 6d 65 6e 74 20 3d 20 62 his._element = b
00010c10: 61 63 6b 64 72 6f 70 5c 6e 20 20 20 20 7d 5c 6e ackdrop\n }\n
00010c20: 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 74 68 69 \n return thi
00010c30: 73 2e 5f 65 6c 65 6d 65 6e 74 5c 6e 20 20 7d 5c s._element\n }\
00010c40: 6e 5c 6e 20 20 5f 63 6f 6e 66 69 67 41 66 74 65 n\n _configAfte
00010c50: 72 4d 65 72 67 65 28 63 6f 6e 66 69 67 29 20 7b rMerge(config) {
00010c60: 5c 6e 20 20 20 20 2f 2f 20 75 73 65 20 67 65 74 \n // use get
00010c70: 45 6c 65 6d 65 6e 74 28 29 20 77 69 74 68 20 74 Element() with t
00010c80: 68 65 20 64 65 66 61 75 6c 74 20 5c 22 62 6f 64 he default \"bod
00010c90: 79 5c 22 20 74 6f 20 67 65 74 20 61 20 66 72 65 y\" to get a fre
00010ca0: 73 68 20 45 6c 65 6d 65 6e 74 20 6f 6e 20 65 61 sh Element on ea
00010cb0: 63 68 20 69 6e 73 74 61 6e 74 69 61 74 69 6f 6e ch instantiation
00010cc0: 5c 6e 20 20 20 20 63 6f 6e 66 69 67 2e 72 6f 6f \n config.roo
00010cd0: 74 45 6c 65 6d 65 6e 74 20 3d 20 67 65 74 45 6c tElement = getEl
00010ce0: 65 6d 65 6e 74 28 63 6f 6e 66 69 67 2e 72 6f 6f ement(config.roo
00010cf0: 74 45 6c 65 6d 65 6e 74 29 5c 6e 20 20 20 20 72 tElement)\n r
00010d00: 65 74 75 72 6e 20 63 6f 6e 66 69 67 5c 6e 20 20 eturn config\n
00010d10: 7d 5c 6e 5c 6e 20 20 5f 61 70 70 65 6e 64 28 29 }\n\n _append()
00010d20: 20 7b 5c 6e 20 20 20 20 69 66 20 28 74 68 69 73 {\n if (this
00010d30: 2e 5f 69 73 41 70 70 65 6e 64 65 64 29 20 7b 5c ._isAppended) {\
00010d40: 6e 20 20 20 20 20 20 72 65 74 75 72 6e 5c 6e 20 n return\n
00010d50: 20 20 20 7d 5c 6e 5c 6e 20 20 20 20 63 6f 6e 73 }\n\n cons
00010d60: 74 20 65 6c 65 6d 65 6e 74 20 3d 20 74 68 69 73 t element = this
00010d70: 2e 5f 67 65 74 45 6c 65 6d 65 6e 74 28 29 5c 6e ._getElement()\n
00010d80: 20 20 20 20 74 68 69 73 2e 5f 63 6f 6e 66 69 67 this._config
00010d90: 2e 72 6f 6f 74 45 6c 65 6d 65 6e 74 2e 61 70 70 .rootElement.app
00010da0: 65 6e 64 28 65 6c 65 6d 65 6e 74 29 5c 6e 5c 6e end(element)\n\n
00010db0: 20 20 20 20 45 76 65 6e 74 48 61 6e 64 6c 65 72 EventHandler
00010dc0: 2e 6f 6e 28 65 6c 65 6d 65 6e 74 2c 20 45 56 45 .on(element, EVE
00010dd0: 4e 54 5f 4d 4f 55 53 45 44 4f 57 4e 2c 20 28 29 NT_MOUSEDOWN, ()
00010de0: 20 3d 3e 20 7b 5c 6e 20 20 20 20 20 20 65 78 65 => {\n exe
00010df0: 63 75 74 65 28 74 68 69 73 2e 5f 63 6f 6e 66 69 cute(this._confi
00010e00: 67 2e 63 6c 69 63 6b 43 61 6c 6c 62 61 63 6b 29 g.clickCallback)
00010e10: 5c 6e 20 20 20 20 7d 29 5c 6e 5c 6e 20 20 20 20 \n })\n\n
00010e20: 74 68 69 73 2e 5f 69 73 41 70 70 65 6e 64 65 64 this._isAppended
00010e30: 20 3d 20 74 72 75 65 5c 6e 20 20 7d 5c 6e 5c 6e = true\n }\n\n
00010e40: 20 20 5f 65 6d 75 6c 61 74 65 41 6e 69 6d 61 74 _emulateAnimat
00010e50: 69 6f 6e 28 63 61 6c 6c 62 61 63 6b 29 20 7b 5c ion(callback) {\
00010e60: 6e 20 20 20 20 65 78 65 63 75 74 65 41 66 74 65 n executeAfte
00010e70: 72 54 72 61 6e 73 69 74 69 6f 6e 28 63 61 6c 6c rTransition(call
00010e80: 62 61 63 6b 2c 20 74 68 69 73 2e 5f 67 65 74 45 back, this._getE
00010e90: 6c 65 6d 65 6e 74 28 29 2c 20 74 68 69 73 2e 5f lement(), this._
00010ea0: 63 6f 6e 66 69 67 2e 69 73 41 6e 69 6d 61 74 65 config.isAnimate
00010eb0: 64 29 5c 6e 20 20 7d 5c 6e 7d 5c 6e 5c 6e 65 78 d)\n }\n}\n\nex
00010ec0: 70 6f 72 74 20 64 65 66 61 75 6c 74 20 42 61 63 port default Bac
00010ed0: 6b 64 72 6f 70 5c 6e 22 2c 22 2f 2a 2a 5c 6e 20 kdrop\n","/**\n
00010ee0: 2a 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d * --------------
00010ef0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
00010f00: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
00010f10: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
00010f20: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 20 2a ------------\n *
00010f30: 20 42 6f 6f 74 73 74 72 61 70 20 75 74 69 6c 2f Bootstrap util/
00010f40: 66 6f 63 75 73 74 72 61 70 2e 6a 73 5c 6e 20 2a focustrap.js\n *
00010f50: 20 4c 69 63 65 6e 73 65 64 20 75 6e 64 65 72 20 Licensed under
00010f60: 4d 49 54 20 28 68 74 74 70 73 3a 2f 2f 67 69 74 MIT (https://git
00010f70: 68 75 62 2e 63 6f 6d 2f 74 77 62 73 2f 62 6f 6f hub.com/twbs/boo
00010f80: 74 73 74 72 61 70 2f 62 6c 6f 62 2f 6d 61 69 6e tstrap/blob/main
00010f90: 2f 4c 49 43 45 4e 53 45 29 5c 6e 20 2a 20 2d 2d /LICENSE)\n * --
00010fa0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
00010fb0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
00010fc0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
00010fd0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
00010fe0: 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 20 2a 2f 5c 6e 5c --------\n */\n\
00010ff0: 6e 69 6d 70 6f 72 74 20 45 76 65 6e 74 48 61 6e nimport EventHan
00011000: 64 6c 65 72 20 66 72 6f 6d 20 27 2e 2e 2f 64 6f dler from '../do
00011010: 6d 2f 65 76 65 6e 74 2d 68 61 6e 64 6c 65 72 2e m/event-handler.
00011020: 6a 73 27 5c 6e 69 6d 70 6f 72 74 20 53 65 6c 65 js'\nimport Sele
00011030: 63 74 6f 72 45 6e 67 69 6e 65 20 66 72 6f 6d 20 ctorEngine from
00011040: 27 2e 2e 2f 64 6f 6d 2f 73 65 6c 65 63 74 6f 72 '../dom/selector
00011050: 2d 65 6e 67 69 6e 65 2e 6a 73 27 5c 6e 69 6d 70 -engine.js'\nimp
00011060: 6f 72 74 20 43 6f 6e 66 69 67 20 66 72 6f 6d 20 ort Config from
00011070: 27 2e 2f 63 6f 6e 66 69 67 2e 6a 73 27 5c 6e 5c './config.js'\n\
00011080: 6e 2f 2a 2a 5c 6e 20 2a 20 43 6f 6e 73 74 61 6e n/**\n * Constan
00011090: 74 73 5c 6e 20 2a 2f 5c 6e 5c 6e 63 6f 6e 73 74 ts\n */\n\nconst
000110a0: 20 4e 41 4d 45 20 3d 20 27 66 6f 63 75 73 74 72 NAME = 'focustr
000110b0: 61 70 27 5c 6e 63 6f 6e 73 74 20 44 41 54 41 5f ap'\nconst DATA_
000110c0: 4b 45 59 20 3d 20 27 62 73 2e 66 6f 63 75 73 74 KEY = 'bs.focust
000110d0: 72 61 70 27 5c 6e 63 6f 6e 73 74 20 45 56 45 4e rap'\nconst EVEN
000110e0: 54 5f 4b 45 59 20 3d 20 60 2e 24 7b 44 41 54 41 T_KEY = `.${DATA
000110f0: 5f 4b 45 59 7d 60 5c 6e 63 6f 6e 73 74 20 45 56 _KEY}`\nconst EV
00011100: 45 4e 54 5f 46 4f 43 55 53 49 4e 20 3d 20 60 66 ENT_FOCUSIN = `f
00011110: 6f 63 75 73 69 6e 24 7b 45 56 45 4e 54 5f 4b 45 ocusin${EVENT_KE
00011120: 59 7d 60 5c 6e 63 6f 6e 73 74 20 45 56 45 4e 54 Y}`\nconst EVENT
00011130: 5f 4b 45 59 44 4f 57 4e 5f 54 41 42 20 3d 20 60 _KEYDOWN_TAB = `
00011140: 6b 65 79 64 6f 77 6e 2e 74 61 62 24 7b 45 56 45 keydown.tab${EVE
00011150: 4e 54 5f 4b 45 59 7d 60 5c 6e 5c 6e 63 6f 6e 73 NT_KEY}`\n\ncons
00011160: 74 20 54 41 42 5f 4b 45 59 20 3d 20 27 54 61 62 t TAB_KEY = 'Tab
00011170: 27 5c 6e 63 6f 6e 73 74 20 54 41 42 5f 4e 41 56 '\nconst TAB_NAV
00011180: 5f 46 4f 52 57 41 52 44 20 3d 20 27 66 6f 72 77 _FORWARD = 'forw
00011190: 61 72 64 27 5c 6e 63 6f 6e 73 74 20 54 41 42 5f ard'\nconst TAB_
000111a0: 4e 41 56 5f 42 41 43 4b 57 41 52 44 20 3d 20 27 NAV_BACKWARD = '
000111b0: 62 61 63 6b 77 61 72 64 27 5c 6e 5c 6e 63 6f 6e backward'\n\ncon
000111c0: 73 74 20 44 65 66 61 75 6c 74 20 3d 20 7b 5c 6e st Default = {\n
000111d0: 20 20 61 75 74 6f 66 6f 63 75 73 3a 20 74 72 75 autofocus: tru
000111e0: 65 2c 5c 6e 20 20 74 72 61 70 45 6c 65 6d 65 6e e,\n trapElemen
000111f0: 74 3a 20 6e 75 6c 6c 20 2f 2f 20 54 68 65 20 65 t: null // The e
00011200: 6c 65 6d 65 6e 74 20 74 6f 20 74 72 61 70 20 66 lement to trap f
00011210: 6f 63 75 73 20 69 6e 73 69 64 65 20 6f 66 5c 6e ocus inside of\n
00011220: 7d 5c 6e 5c 6e 63 6f 6e 73 74 20 44 65 66 61 75 }\n\nconst Defau
00011230: 6c 74 54 79 70 65 20 3d 20 7b 5c 6e 20 20 61 75 ltType = {\n au
00011240: 74 6f 66 6f 63 75 73 3a 20 27 62 6f 6f 6c 65 61 tofocus: 'boolea
00011250: 6e 27 2c 5c 6e 20 20 74 72 61 70 45 6c 65 6d 65 n',\n trapEleme
00011260: 6e 74 3a 20 27 65 6c 65 6d 65 6e 74 27 5c 6e 7d nt: 'element'\n}
00011270: 5c 6e 5c 6e 2f 2a 2a 5c 6e 20 2a 20 43 6c 61 73 \n\n/**\n * Clas
00011280: 73 20 64 65 66 69 6e 69 74 69 6f 6e 5c 6e 20 2a s definition\n *
00011290: 2f 5c 6e 5c 6e 63 6c 61 73 73 20 46 6f 63 75 73 /\n\nclass Focus
000112a0: 54 72 61 70 20 65 78 74 65 6e 64 73 20 43 6f 6e Trap extends Con
000112b0: 66 69 67 20 7b 5c 6e 20 20 63 6f 6e 73 74 72 75 fig {\n constru
000112c0: 63 74 6f 72 28 63 6f 6e 66 69 67 29 20 7b 5c 6e ctor(config) {\n
000112d0: 20 20 20 20 73 75 70 65 72 28 29 5c 6e 20 20 20 super()\n
000112e0: 20 74 68 69 73 2e 5f 63 6f 6e 66 69 67 20 3d 20 this._config =
000112f0: 74 68 69 73 2e 5f 67 65 74 43 6f 6e 66 69 67 28 this._getConfig(
00011300: 63 6f 6e 66 69 67 29 5c 6e 20 20 20 20 74 68 69 config)\n thi
00011310: 73 2e 5f 69 73 41 63 74 69 76 65 20 3d 20 66 61 s._isActive = fa
00011320: 6c 73 65 5c 6e 20 20 20 20 74 68 69 73 2e 5f 6c lse\n this._l
00011330: 61 73 74 54 61 62 4e 61 76 44 69 72 65 63 74 69 astTabNavDirecti
00011340: 6f 6e 20 3d 20 6e 75 6c 6c 5c 6e 20 20 7d 5c 6e on = null\n }\n
00011350: 5c 6e 20 20 2f 2f 20 47 65 74 74 65 72 73 5c 6e \n // Getters\n
00011360: 20 20 73 74 61 74 69 63 20 67 65 74 20 44 65 66 static get Def
00011370: 61 75 6c 74 28 29 20 7b 5c 6e 20 20 20 20 72 65 ault() {\n re
00011380: 74 75 72 6e 20 44 65 66 61 75 6c 74 5c 6e 20 20 turn Default\n
00011390: 7d 5c 6e 5c 6e 20 20 73 74 61 74 69 63 20 67 65 }\n\n static ge
000113a0: 74 20 44 65 66 61 75 6c 74 54 79 70 65 28 29 20 t DefaultType()
000113b0: 7b 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 44 65 {\n return De
000113c0: 66 61 75 6c 74 54 79 70 65 5c 6e 20 20 7d 5c 6e faultType\n }\n
000113d0: 5c 6e 20 20 73 74 61 74 69 63 20 67 65 74 20 4e \n static get N
000113e0: 41 4d 45 28 29 20 7b 5c 6e 20 20 20 20 72 65 74 AME() {\n ret
000113f0: 75 72 6e 20 4e 41 4d 45 5c 6e 20 20 7d 5c 6e 5c urn NAME\n }\n\
00011400: 6e 20 20 2f 2f 20 50 75 62 6c 69 63 5c 6e 20 20 n // Public\n
00011410: 61 63 74 69 76 61 74 65 28 29 20 7b 5c 6e 20 20 activate() {\n
00011420: 20 20 69 66 20 28 74 68 69 73 2e 5f 69 73 41 63 if (this._isAc
00011430: 74 69 76 65 29 20 7b 5c 6e 20 20 20 20 20 20 72 tive) {\n r
00011440: 65 74 75 72 6e 5c 6e 20 20 20 20 7d 5c 6e 5c 6e eturn\n }\n\n
00011450: 20 20 20 20 69 66 20 28 74 68 69 73 2e 5f 63 6f if (this._co
00011460: 6e 66 69 67 2e 61 75 74 6f 66 6f 63 75 73 29 20 nfig.autofocus)
00011470: 7b 5c 6e 20 20 20 20 20 20 74 68 69 73 2e 5f 63 {\n this._c
00011480: 6f 6e 66 69 67 2e 74 72 61 70 45 6c 65 6d 65 6e onfig.trapElemen
00011490: 74 2e 66 6f 63 75 73 28 29 5c 6e 20 20 20 20 7d t.focus()\n }
000114a0: 5c 6e 5c 6e 20 20 20 20 45 76 65 6e 74 48 61 6e \n\n EventHan
000114b0: 64 6c 65 72 2e 6f 66 66 28 64 6f 63 75 6d 65 6e dler.off(documen
000114c0: 74 2c 20 45 56 45 4e 54 5f 4b 45 59 29 20 2f 2f t, EVENT_KEY) //
000114d0: 20 67 75 61 72 64 20 61 67 61 69 6e 73 74 20 69 guard against i
000114e0: 6e 66 69 6e 69 74 65 20 66 6f 63 75 73 20 6c 6f nfinite focus lo
000114f0: 6f 70 5c 6e 20 20 20 20 45 76 65 6e 74 48 61 6e op\n EventHan
00011500: 64 6c 65 72 2e 6f 6e 28 64 6f 63 75 6d 65 6e 74 dler.on(document
00011510: 2c 20 45 56 45 4e 54 5f 46 4f 43 55 53 49 4e 2c , EVENT_FOCUSIN,
00011520: 20 65 76 65 6e 74 20 3d 3e 20 74 68 69 73 2e 5f event => this._
00011530: 68 61 6e 64 6c 65 46 6f 63 75 73 69 6e 28 65 76 handleFocusin(ev
00011540: 65 6e 74 29 29 5c 6e 20 20 20 20 45 76 65 6e 74 ent))\n Event
00011550: 48 61 6e 64 6c 65 72 2e 6f 6e 28 64 6f 63 75 6d Handler.on(docum
00011560: 65 6e 74 2c 20 45 56 45 4e 54 5f 4b 45 59 44 4f ent, EVENT_KEYDO
00011570: 57 4e 5f 54 41 42 2c 20 65 76 65 6e 74 20 3d 3e WN_TAB, event =>
00011580: 20 74 68 69 73 2e 5f 68 61 6e 64 6c 65 4b 65 79 this._handleKey
00011590: 64 6f 77 6e 28 65 76 65 6e 74 29 29 5c 6e 5c 6e down(event))\n\n
000115a0: 20 20 20 20 74 68 69 73 2e 5f 69 73 41 63 74 69 this._isActi
000115b0: 76 65 20 3d 20 74 72 75 65 5c 6e 20 20 7d 5c 6e ve = true\n }\n
000115c0: 5c 6e 20 20 64 65 61 63 74 69 76 61 74 65 28 29 \n deactivate()
000115d0: 20 7b 5c 6e 20 20 20 20 69 66 20 28 21 74 68 69 {\n if (!thi
000115e0: 73 2e 5f 69 73 41 63 74 69 76 65 29 20 7b 5c 6e s._isActive) {\n
000115f0: 20 20 20 20 20 20 72 65 74 75 72 6e 5c 6e 20 20 return\n
00011600: 20 20 7d 5c 6e 5c 6e 20 20 20 20 74 68 69 73 2e }\n\n this.
00011610: 5f 69 73 41 63 74 69 76 65 20 3d 20 66 61 6c 73 _isActive = fals
00011620: 65 5c 6e 20 20 20 20 45 76 65 6e 74 48 61 6e 64 e\n EventHand
00011630: 6c 65 72 2e 6f 66 66 28 64 6f 63 75 6d 65 6e 74 ler.off(document
00011640: 2c 20 45 56 45 4e 54 5f 4b 45 59 29 5c 6e 20 20 , EVENT_KEY)\n
00011650: 7d 5c 6e 5c 6e 20 20 2f 2f 20 50 72 69 76 61 74 }\n\n // Privat
00011660: 65 5c 6e 20 20 5f 68 61 6e 64 6c 65 46 6f 63 75 e\n _handleFocu
00011670: 73 69 6e 28 65 76 65 6e 74 29 20 7b 5c 6e 20 20 sin(event) {\n
00011680: 20 20 63 6f 6e 73 74 20 7b 20 74 72 61 70 45 6c const { trapEl
00011690: 65 6d 65 6e 74 20 7d 20 3d 20 74 68 69 73 2e 5f ement } = this._
000116a0: 63 6f 6e 66 69 67 5c 6e 5c 6e 20 20 20 20 69 66 config\n\n if
000116b0: 20 28 65 76 65 6e 74 2e 74 61 72 67 65 74 20 3d (event.target =
000116c0: 3d 3d 20 64 6f 63 75 6d 65 6e 74 20 7c 7c 20 65 == document || e
000116d0: 76 65 6e 74 2e 74 61 72 67 65 74 20 3d 3d 3d 20 vent.target ===
000116e0: 74 72 61 70 45 6c 65 6d 65 6e 74 20 7c 7c 20 74 trapElement || t
000116f0: 72 61 70 45 6c 65 6d 65 6e 74 2e 63 6f 6e 74 61 rapElement.conta
00011700: 69 6e 73 28 65 76 65 6e 74 2e 74 61 72 67 65 74 ins(event.target
00011710: 29 29 20 7b 5c 6e 20 20 20 20 20 20 72 65 74 75 )) {\n retu
00011720: 72 6e 5c 6e 20 20 20 20 7d 5c 6e 5c 6e 20 20 20 rn\n }\n\n
00011730: 20 63 6f 6e 73 74 20 65 6c 65 6d 65 6e 74 73 20 const elements
00011740: 3d 20 53 65 6c 65 63 74 6f 72 45 6e 67 69 6e 65 = SelectorEngine
00011750: 2e 66 6f 63 75 73 61 62 6c 65 43 68 69 6c 64 72 .focusableChildr
00011760: 65 6e 28 74 72 61 70 45 6c 65 6d 65 6e 74 29 5c en(trapElement)\
00011770: 6e 5c 6e 20 20 20 20 69 66 20 28 65 6c 65 6d 65 n\n if (eleme
00011780: 6e 74 73 2e 6c 65 6e 67 74 68 20 3d 3d 3d 20 30 nts.length === 0
00011790: 29 20 7b 5c 6e 20 20 20 20 20 20 74 72 61 70 45 ) {\n trapE
000117a0: 6c 65 6d 65 6e 74 2e 66 6f 63 75 73 28 29 5c 6e lement.focus()\n
000117b0: 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 74 } else if (t
000117c0: 68 69 73 2e 5f 6c 61 73 74 54 61 62 4e 61 76 44 his._lastTabNavD
000117d0: 69 72 65 63 74 69 6f 6e 20 3d 3d 3d 20 54 41 42 irection === TAB
000117e0: 5f 4e 41 56 5f 42 41 43 4b 57 41 52 44 29 20 7b _NAV_BACKWARD) {
000117f0: 5c 6e 20 20 20 20 20 20 65 6c 65 6d 65 6e 74 73 \n elements
00011800: 5b 65 6c 65 6d 65 6e 74 73 2e 6c 65 6e 67 74 68 [elements.length
00011810: 20 2d 20 31 5d 2e 66 6f 63 75 73 28 29 5c 6e 20 - 1].focus()\n
00011820: 20 20 20 7d 20 65 6c 73 65 20 7b 5c 6e 20 20 20 } else {\n
00011830: 20 20 20 65 6c 65 6d 65 6e 74 73 5b 30 5d 2e 66 elements[0].f
00011840: 6f 63 75 73 28 29 5c 6e 20 20 20 20 7d 5c 6e 20 ocus()\n }\n
00011850: 20 7d 5c 6e 5c 6e 20 20 5f 68 61 6e 64 6c 65 4b }\n\n _handleK
00011860: 65 79 64 6f 77 6e 28 65 76 65 6e 74 29 20 7b 5c eydown(event) {\
00011870: 6e 20 20 20 20 69 66 20 28 65 76 65 6e 74 2e 6b n if (event.k
00011880: 65 79 20 21 3d 3d 20 54 41 42 5f 4b 45 59 29 20 ey !== TAB_KEY)
00011890: 7b 5c 6e 20 20 20 20 20 20 72 65 74 75 72 6e 5c {\n return\
000118a0: 6e 20 20 20 20 7d 5c 6e 5c 6e 20 20 20 20 74 68 n }\n\n th
000118b0: 69 73 2e 5f 6c 61 73 74 54 61 62 4e 61 76 44 69 is._lastTabNavDi
000118c0: 72 65 63 74 69 6f 6e 20 3d 20 65 76 65 6e 74 2e rection = event.
000118d0: 73 68 69 66 74 4b 65 79 20 3f 20 54 41 42 5f 4e shiftKey ? TAB_N
000118e0: 41 56 5f 42 41 43 4b 57 41 52 44 20 3a 20 54 41 AV_BACKWARD : TA
000118f0: 42 5f 4e 41 56 5f 46 4f 52 57 41 52 44 5c 6e 20 B_NAV_FORWARD\n
00011900: 20 7d 5c 6e 7d 5c 6e 5c 6e 65 78 70 6f 72 74 20 }\n}\n\nexport
00011910: 64 65 66 61 75 6c 74 20 46 6f 63 75 73 54 72 61 default FocusTra
00011920: 70 5c 6e 22 2c 22 2f 2a 2a 5c 6e 20 2a 20 2d 2d p\n","/**\n * --
00011930: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
00011940: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
00011950: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
00011960: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
00011970: 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 20 2a 20 42 6f 6f --------\n * Boo
00011980: 74 73 74 72 61 70 20 75 74 69 6c 2f 73 63 72 6f tstrap util/scro
00011990: 6c 6c 42 61 72 2e 6a 73 5c 6e 20 2a 20 4c 69 63 llBar.js\n * Lic
000119a0: 65 6e 73 65 64 20 75 6e 64 65 72 20 4d 49 54 20 ensed under MIT
000119b0: 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e (https://github.
000119c0: 63 6f 6d 2f 74 77 62 73 2f 62 6f 6f 74 73 74 72 com/twbs/bootstr
000119d0: 61 70 2f 62 6c 6f 62 2f 6d 61 69 6e 2f 4c 49 43 ap/blob/main/LIC
000119e0: 45 4e 53 45 29 5c 6e 20 2a 20 2d 2d 2d 2d 2d 2d ENSE)\n * ------
000119f0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
00011a00: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
00011a10: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
00011a20: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
00011a30: 2d 2d 2d 2d 5c 6e 20 2a 2f 5c 6e 5c 6e 69 6d 70 ----\n */\n\nimp
00011a40: 6f 72 74 20 4d 61 6e 69 70 75 6c 61 74 6f 72 20 ort Manipulator
00011a50: 66 72 6f 6d 20 27 2e 2e 2f 64 6f 6d 2f 6d 61 6e from '../dom/man
00011a60: 69 70 75 6c 61 74 6f 72 2e 6a 73 27 5c 6e 69 6d ipulator.js'\nim
00011a70: 70 6f 72 74 20 53 65 6c 65 63 74 6f 72 45 6e 67 port SelectorEng
00011a80: 69 6e 65 20 66 72 6f 6d 20 27 2e 2e 2f 64 6f 6d ine from '../dom
00011a90: 2f 73 65 6c 65 63 74 6f 72 2d 65 6e 67 69 6e 65 /selector-engine
00011aa0: 2e 6a 73 27 5c 6e 69 6d 70 6f 72 74 20 7b 20 69 .js'\nimport { i
00011ab0: 73 45 6c 65 6d 65 6e 74 20 7d 20 66 72 6f 6d 20 sElement } from
00011ac0: 27 2e 2f 69 6e 64 65 78 2e 6a 73 27 5c 6e 5c 6e './index.js'\n\n
00011ad0: 2f 2a 2a 5c 6e 20 2a 20 43 6f 6e 73 74 61 6e 74 /**\n * Constant
00011ae0: 73 5c 6e 20 2a 2f 5c 6e 5c 6e 63 6f 6e 73 74 20 s\n */\n\nconst
00011af0: 53 45 4c 45 43 54 4f 52 5f 46 49 58 45 44 5f 43 SELECTOR_FIXED_C
00011b00: 4f 4e 54 45 4e 54 20 3d 20 27 2e 66 69 78 65 64 ONTENT = '.fixed
00011b10: 2d 74 6f 70 2c 20 2e 66 69 78 65 64 2d 62 6f 74 -top, .fixed-bot
00011b20: 74 6f 6d 2c 20 2e 69 73 2d 66 69 78 65 64 2c 20 tom, .is-fixed,
00011b30: 2e 73 74 69 63 6b 79 2d 74 6f 70 27 5c 6e 63 6f .sticky-top'\nco
00011b40: 6e 73 74 20 53 45 4c 45 43 54 4f 52 5f 53 54 49 nst SELECTOR_STI
00011b50: 43 4b 59 5f 43 4f 4e 54 45 4e 54 20 3d 20 27 2e CKY_CONTENT = '.
00011b60: 73 74 69 63 6b 79 2d 74 6f 70 27 5c 6e 63 6f 6e sticky-top'\ncon
00011b70: 73 74 20 50 52 4f 50 45 52 54 59 5f 50 41 44 44 st PROPERTY_PADD
00011b80: 49 4e 47 20 3d 20 27 70 61 64 64 69 6e 67 2d 72 ING = 'padding-r
00011b90: 69 67 68 74 27 5c 6e 63 6f 6e 73 74 20 50 52 4f ight'\nconst PRO
00011ba0: 50 45 52 54 59 5f 4d 41 52 47 49 4e 20 3d 20 27 PERTY_MARGIN = '
00011bb0: 6d 61 72 67 69 6e 2d 72 69 67 68 74 27 5c 6e 5c margin-right'\n\
00011bc0: 6e 2f 2a 2a 5c 6e 20 2a 20 43 6c 61 73 73 20 64 n/**\n * Class d
00011bd0: 65 66 69 6e 69 74 69 6f 6e 5c 6e 20 2a 2f 5c 6e efinition\n */\n
00011be0: 5c 6e 63 6c 61 73 73 20 53 63 72 6f 6c 6c 42 61 \nclass ScrollBa
00011bf0: 72 48 65 6c 70 65 72 20 7b 5c 6e 20 20 63 6f 6e rHelper {\n con
00011c00: 73 74 72 75 63 74 6f 72 28 29 20 7b 5c 6e 20 20 structor() {\n
00011c10: 20 20 74 68 69 73 2e 5f 65 6c 65 6d 65 6e 74 20 this._element
00011c20: 3d 20 64 6f 63 75 6d 65 6e 74 2e 62 6f 64 79 5c = document.body\
00011c30: 6e 20 20 7d 5c 6e 5c 6e 20 20 2f 2f 20 50 75 62 n }\n\n // Pub
00011c40: 6c 69 63 5c 6e 20 20 67 65 74 57 69 64 74 68 28 lic\n getWidth(
00011c50: 29 20 7b 5c 6e 20 20 20 20 2f 2f 20 68 74 74 70 ) {\n // http
00011c60: 73 3a 2f 2f 64 65 76 65 6c 6f 70 65 72 2e 6d 6f s://developer.mo
00011c70: 7a 69 6c 6c 61 2e 6f 72 67 2f 65 6e 2d 55 53 2f zilla.org/en-US/
00011c80: 64 6f 63 73 2f 57 65 62 2f 41 50 49 2f 57 69 6e docs/Web/API/Win
00011c90: 64 6f 77 2f 69 6e 6e 65 72 57 69 64 74 68 23 75 dow/innerWidth#u
00011ca0: 73 61 67 65 5f 6e 6f 74 65 73 5c 6e 20 20 20 20 sage_notes\n
00011cb0: 63 6f 6e 73 74 20 64 6f 63 75 6d 65 6e 74 57 69 const documentWi
00011cc0: 64 74 68 20 3d 20 64 6f 63 75 6d 65 6e 74 2e 64 dth = document.d
00011cd0: 6f 63 75 6d 65 6e 74 45 6c 65 6d 65 6e 74 2e 63 ocumentElement.c
00011ce0: 6c 69 65 6e 74 57 69 64 74 68 5c 6e 20 20 20 20 lientWidth\n
00011cf0: 72 65 74 75 72 6e 20 4d 61 74 68 2e 61 62 73 28 return Math.abs(
00011d00: 77 69 6e 64 6f 77 2e 69 6e 6e 65 72 57 69 64 74 window.innerWidt
00011d10: 68 20 2d 20 64 6f 63 75 6d 65 6e 74 57 69 64 74 h - documentWidt
00011d20: 68 29 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 68 69 64 h)\n }\n\n hid
00011d30: 65 28 29 20 7b 5c 6e 20 20 20 20 63 6f 6e 73 74 e() {\n const
00011d40: 20 77 69 64 74 68 20 3d 20 74 68 69 73 2e 67 65 width = this.ge
00011d50: 74 57 69 64 74 68 28 29 5c 6e 20 20 20 20 74 68 tWidth()\n th
00011d60: 69 73 2e 5f 64 69 73 61 62 6c 65 4f 76 65 72 46 is._disableOverF
00011d70: 6c 6f 77 28 29 5c 6e 20 20 20 20 2f 2f 20 67 69 low()\n // gi
00011d80: 76 65 20 70 61 64 64 69 6e 67 20 74 6f 20 65 6c ve padding to el
00011d90: 65 6d 65 6e 74 20 74 6f 20 62 61 6c 61 6e 63 65 ement to balance
00011da0: 20 74 68 65 20 68 69 64 64 65 6e 20 73 63 72 6f the hidden scro
00011db0: 6c 6c 62 61 72 20 77 69 64 74 68 5c 6e 20 20 20 llbar width\n
00011dc0: 20 74 68 69 73 2e 5f 73 65 74 45 6c 65 6d 65 6e this._setElemen
00011dd0: 74 41 74 74 72 69 62 75 74 65 73 28 74 68 69 73 tAttributes(this
00011de0: 2e 5f 65 6c 65 6d 65 6e 74 2c 20 50 52 4f 50 45 ._element, PROPE
00011df0: 52 54 59 5f 50 41 44 44 49 4e 47 2c 20 63 61 6c RTY_PADDING, cal
00011e00: 63 75 6c 61 74 65 64 56 61 6c 75 65 20 3d 3e 20 culatedValue =>
00011e10: 63 61 6c 63 75 6c 61 74 65 64 56 61 6c 75 65 20 calculatedValue
00011e20: 2b 20 77 69 64 74 68 29 5c 6e 20 20 20 20 2f 2f + width)\n //
00011e30: 20 74 72 69 63 6b 3a 20 57 65 20 61 64 6a 75 73 trick: We adjus
00011e40: 74 20 70 6f 73 69 74 69 76 65 20 70 61 64 64 69 t positive paddi
00011e50: 6e 67 52 69 67 68 74 20 61 6e 64 20 6e 65 67 61 ngRight and nega
00011e60: 74 69 76 65 20 6d 61 72 67 69 6e 52 69 67 68 74 tive marginRight
00011e70: 20 74 6f 20 73 74 69 63 6b 79 2d 74 6f 70 20 65 to sticky-top e
00011e80: 6c 65 6d 65 6e 74 73 20 74 6f 20 6b 65 65 70 20 lements to keep
00011e90: 73 68 6f 77 69 6e 67 20 66 75 6c 6c 77 69 64 74 showing fullwidt
00011ea0: 68 5c 6e 20 20 20 20 74 68 69 73 2e 5f 73 65 74 h\n this._set
00011eb0: 45 6c 65 6d 65 6e 74 41 74 74 72 69 62 75 74 65 ElementAttribute
00011ec0: 73 28 53 45 4c 45 43 54 4f 52 5f 46 49 58 45 44 s(SELECTOR_FIXED
00011ed0: 5f 43 4f 4e 54 45 4e 54 2c 20 50 52 4f 50 45 52 _CONTENT, PROPER
00011ee0: 54 59 5f 50 41 44 44 49 4e 47 2c 20 63 61 6c 63 TY_PADDING, calc
00011ef0: 75 6c 61 74 65 64 56 61 6c 75 65 20 3d 3e 20 63 ulatedValue => c
00011f00: 61 6c 63 75 6c 61 74 65 64 56 61 6c 75 65 20 2b alculatedValue +
00011f10: 20 77 69 64 74 68 29 5c 6e 20 20 20 20 74 68 69 width)\n thi
00011f20: 73 2e 5f 73 65 74 45 6c 65 6d 65 6e 74 41 74 74 s._setElementAtt
00011f30: 72 69 62 75 74 65 73 28 53 45 4c 45 43 54 4f 52 ributes(SELECTOR
00011f40: 5f 53 54 49 43 4b 59 5f 43 4f 4e 54 45 4e 54 2c _STICKY_CONTENT,
00011f50: 20 50 52 4f 50 45 52 54 59 5f 4d 41 52 47 49 4e PROPERTY_MARGIN
00011f60: 2c 20 63 61 6c 63 75 6c 61 74 65 64 56 61 6c 75 , calculatedValu
00011f70: 65 20 3d 3e 20 63 61 6c 63 75 6c 61 74 65 64 56 e => calculatedV
00011f80: 61 6c 75 65 20 2d 20 77 69 64 74 68 29 5c 6e 20 alue - width)\n
00011f90: 20 7d 5c 6e 5c 6e 20 20 72 65 73 65 74 28 29 20 }\n\n reset()
00011fa0: 7b 5c 6e 20 20 20 20 74 68 69 73 2e 5f 72 65 73 {\n this._res
00011fb0: 65 74 45 6c 65 6d 65 6e 74 41 74 74 72 69 62 75 etElementAttribu
00011fc0: 74 65 73 28 74 68 69 73 2e 5f 65 6c 65 6d 65 6e tes(this._elemen
00011fd0: 74 2c 20 27 6f 76 65 72 66 6c 6f 77 27 29 5c 6e t, 'overflow')\n
00011fe0: 20 20 20 20 74 68 69 73 2e 5f 72 65 73 65 74 45 this._resetE
00011ff0: 6c 65 6d 65 6e 74 41 74 74 72 69 62 75 74 65 73 lementAttributes
00012000: 28 74 68 69 73 2e 5f 65 6c 65 6d 65 6e 74 2c 20 (this._element,
00012010: 50 52 4f 50 45 52 54 59 5f 50 41 44 44 49 4e 47 PROPERTY_PADDING
00012020: 29 5c 6e 20 20 20 20 74 68 69 73 2e 5f 72 65 73 )\n this._res
00012030: 65 74 45 6c 65 6d 65 6e 74 41 74 74 72 69 62 75 etElementAttribu
00012040: 74 65 73 28 53 45 4c 45 43 54 4f 52 5f 46 49 58 tes(SELECTOR_FIX
00012050: 45 44 5f 43 4f 4e 54 45 4e 54 2c 20 50 52 4f 50 ED_CONTENT, PROP
00012060: 45 52 54 59 5f 50 41 44 44 49 4e 47 29 5c 6e 20 ERTY_PADDING)\n
00012070: 20 20 20 74 68 69 73 2e 5f 72 65 73 65 74 45 6c this._resetEl
00012080: 65 6d 65 6e 74 41 74 74 72 69 62 75 74 65 73 28 ementAttributes(
00012090: 53 45 4c 45 43 54 4f 52 5f 53 54 49 43 4b 59 5f SELECTOR_STICKY_
000120a0: 43 4f 4e 54 45 4e 54 2c 20 50 52 4f 50 45 52 54 CONTENT, PROPERT
000120b0: 59 5f 4d 41 52 47 49 4e 29 5c 6e 20 20 7d 5c 6e Y_MARGIN)\n }\n
000120c0: 5c 6e 20 20 69 73 4f 76 65 72 66 6c 6f 77 69 6e \n isOverflowin
000120d0: 67 28 29 20 7b 5c 6e 20 20 20 20 72 65 74 75 72 g() {\n retur
000120e0: 6e 20 74 68 69 73 2e 67 65 74 57 69 64 74 68 28 n this.getWidth(
000120f0: 29 20 3e 20 30 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 ) > 0\n }\n\n
00012100: 2f 2f 20 50 72 69 76 61 74 65 5c 6e 20 20 5f 64 // Private\n _d
00012110: 69 73 61 62 6c 65 4f 76 65 72 46 6c 6f 77 28 29 isableOverFlow()
00012120: 20 7b 5c 6e 20 20 20 20 74 68 69 73 2e 5f 73 61 {\n this._sa
00012130: 76 65 49 6e 69 74 69 61 6c 41 74 74 72 69 62 75 veInitialAttribu
00012140: 74 65 28 74 68 69 73 2e 5f 65 6c 65 6d 65 6e 74 te(this._element
00012150: 2c 20 27 6f 76 65 72 66 6c 6f 77 27 29 5c 6e 20 , 'overflow')\n
00012160: 20 20 20 74 68 69 73 2e 5f 65 6c 65 6d 65 6e 74 this._element
00012170: 2e 73 74 79 6c 65 2e 6f 76 65 72 66 6c 6f 77 20 .style.overflow
00012180: 3d 20 27 68 69 64 64 65 6e 27 5c 6e 20 20 7d 5c = 'hidden'\n }\
00012190: 6e 5c 6e 20 20 5f 73 65 74 45 6c 65 6d 65 6e 74 n\n _setElement
000121a0: 41 74 74 72 69 62 75 74 65 73 28 73 65 6c 65 63 Attributes(selec
000121b0: 74 6f 72 2c 20 73 74 79 6c 65 50 72 6f 70 65 72 tor, styleProper
000121c0: 74 79 2c 20 63 61 6c 6c 62 61 63 6b 29 20 7b 5c ty, callback) {\
000121d0: 6e 20 20 20 20 63 6f 6e 73 74 20 73 63 72 6f 6c n const scrol
000121e0: 6c 62 61 72 57 69 64 74 68 20 3d 20 74 68 69 73 lbarWidth = this
000121f0: 2e 67 65 74 57 69 64 74 68 28 29 5c 6e 20 20 20 .getWidth()\n
00012200: 20 63 6f 6e 73 74 20 6d 61 6e 69 70 75 6c 61 74 const manipulat
00012210: 69 6f 6e 43 61 6c 6c 42 61 63 6b 20 3d 20 65 6c ionCallBack = el
00012220: 65 6d 65 6e 74 20 3d 3e 20 7b 5c 6e 20 20 20 20 ement => {\n
00012230: 20 20 69 66 20 28 65 6c 65 6d 65 6e 74 20 21 3d if (element !=
00012240: 3d 20 74 68 69 73 2e 5f 65 6c 65 6d 65 6e 74 20 = this._element
00012250: 26 26 20 77 69 6e 64 6f 77 2e 69 6e 6e 65 72 57 && window.innerW
00012260: 69 64 74 68 20 3e 20 65 6c 65 6d 65 6e 74 2e 63 idth > element.c
00012270: 6c 69 65 6e 74 57 69 64 74 68 20 2b 20 73 63 72 lientWidth + scr
00012280: 6f 6c 6c 62 61 72 57 69 64 74 68 29 20 7b 5c 6e ollbarWidth) {\n
00012290: 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 5c 6e return\n
000122a0: 20 20 20 20 20 20 7d 5c 6e 5c 6e 20 20 20 20 20 }\n\n
000122b0: 20 74 68 69 73 2e 5f 73 61 76 65 49 6e 69 74 69 this._saveIniti
000122c0: 61 6c 41 74 74 72 69 62 75 74 65 28 65 6c 65 6d alAttribute(elem
000122d0: 65 6e 74 2c 20 73 74 79 6c 65 50 72 6f 70 65 72 ent, styleProper
000122e0: 74 79 29 5c 6e 20 20 20 20 20 20 63 6f 6e 73 74 ty)\n const
000122f0: 20 63 61 6c 63 75 6c 61 74 65 64 56 61 6c 75 65 calculatedValue
00012300: 20 3d 20 77 69 6e 64 6f 77 2e 67 65 74 43 6f 6d = window.getCom
00012310: 70 75 74 65 64 53 74 79 6c 65 28 65 6c 65 6d 65 putedStyle(eleme
00012320: 6e 74 29 2e 67 65 74 50 72 6f 70 65 72 74 79 56 nt).getPropertyV
00012330: 61 6c 75 65 28 73 74 79 6c 65 50 72 6f 70 65 72 alue(styleProper
00012340: 74 79 29 5c 6e 20 20 20 20 20 20 65 6c 65 6d 65 ty)\n eleme
00012350: 6e 74 2e 73 74 79 6c 65 2e 73 65 74 50 72 6f 70 nt.style.setProp
00012360: 65 72 74 79 28 73 74 79 6c 65 50 72 6f 70 65 72 erty(styleProper
00012370: 74 79 2c 20 60 24 7b 63 61 6c 6c 62 61 63 6b 28 ty, `${callback(
00012380: 4e 75 6d 62 65 72 2e 70 61 72 73 65 46 6c 6f 61 Number.parseFloa
00012390: 74 28 63 61 6c 63 75 6c 61 74 65 64 56 61 6c 75 t(calculatedValu
000123a0: 65 29 29 7d 70 78 60 29 5c 6e 20 20 20 20 7d 5c e))}px`)\n }\
000123b0: 6e 5c 6e 20 20 20 20 74 68 69 73 2e 5f 61 70 70 n\n this._app
000123c0: 6c 79 4d 61 6e 69 70 75 6c 61 74 69 6f 6e 43 61 lyManipulationCa
000123d0: 6c 6c 62 61 63 6b 28 73 65 6c 65 63 74 6f 72 2c llback(selector,
000123e0: 20 6d 61 6e 69 70 75 6c 61 74 69 6f 6e 43 61 6c manipulationCal
000123f0: 6c 42 61 63 6b 29 5c 6e 20 20 7d 5c 6e 5c 6e 20 lBack)\n }\n\n
00012400: 20 5f 73 61 76 65 49 6e 69 74 69 61 6c 41 74 74 _saveInitialAtt
00012410: 72 69 62 75 74 65 28 65 6c 65 6d 65 6e 74 2c 20 ribute(element,
00012420: 73 74 79 6c 65 50 72 6f 70 65 72 74 79 29 20 7b styleProperty) {
00012430: 5c 6e 20 20 20 20 63 6f 6e 73 74 20 61 63 74 75 \n const actu
00012440: 61 6c 56 61 6c 75 65 20 3d 20 65 6c 65 6d 65 6e alValue = elemen
00012450: 74 2e 73 74 79 6c 65 2e 67 65 74 50 72 6f 70 65 t.style.getPrope
00012460: 72 74 79 56 61 6c 75 65 28 73 74 79 6c 65 50 72 rtyValue(stylePr
00012470: 6f 70 65 72 74 79 29 5c 6e 20 20 20 20 69 66 20 operty)\n if
00012480: 28 61 63 74 75 61 6c 56 61 6c 75 65 29 20 7b 5c (actualValue) {\
00012490: 6e 20 20 20 20 20 20 4d 61 6e 69 70 75 6c 61 74 n Manipulat
000124a0: 6f 72 2e 73 65 74 44 61 74 61 41 74 74 72 69 62 or.setDataAttrib
000124b0: 75 74 65 28 65 6c 65 6d 65 6e 74 2c 20 73 74 79 ute(element, sty
000124c0: 6c 65 50 72 6f 70 65 72 74 79 2c 20 61 63 74 75 leProperty, actu
000124d0: 61 6c 56 61 6c 75 65 29 5c 6e 20 20 20 20 7d 5c alValue)\n }\
000124e0: 6e 20 20 7d 5c 6e 5c 6e 20 20 5f 72 65 73 65 74 n }\n\n _reset
000124f0: 45 6c 65 6d 65 6e 74 41 74 74 72 69 62 75 74 65 ElementAttribute
00012500: 73 28 73 65 6c 65 63 74 6f 72 2c 20 73 74 79 6c s(selector, styl
00012510: 65 50 72 6f 70 65 72 74 79 29 20 7b 5c 6e 20 20 eProperty) {\n
00012520: 20 20 63 6f 6e 73 74 20 6d 61 6e 69 70 75 6c 61 const manipula
00012530: 74 69 6f 6e 43 61 6c 6c 42 61 63 6b 20 3d 20 65 tionCallBack = e
00012540: 6c 65 6d 65 6e 74 20 3d 3e 20 7b 5c 6e 20 20 20 lement => {\n
00012550: 20 20 20 63 6f 6e 73 74 20 76 61 6c 75 65 20 3d const value =
00012560: 20 4d 61 6e 69 70 75 6c 61 74 6f 72 2e 67 65 74 Manipulator.get
00012570: 44 61 74 61 41 74 74 72 69 62 75 74 65 28 65 6c DataAttribute(el
00012580: 65 6d 65 6e 74 2c 20 73 74 79 6c 65 50 72 6f 70 ement, styleProp
00012590: 65 72 74 79 29 5c 6e 20 20 20 20 20 20 2f 2f 20 erty)\n //
000125a0: 57 65 20 6f 6e 6c 79 20 77 61 6e 74 20 74 6f 20 We only want to
000125b0: 72 65 6d 6f 76 65 20 74 68 65 20 70 72 6f 70 65 remove the prope
000125c0: 72 74 79 20 69 66 20 74 68 65 20 76 61 6c 75 65 rty if the value
000125d0: 20 69 73 20 60 6e 75 6c 6c 60 3b 20 74 68 65 20 is `null`; the
000125e0: 76 61 6c 75 65 20 63 61 6e 20 61 6c 73 6f 20 62 value can also b
000125f0: 65 20 7a 65 72 6f 5c 6e 20 20 20 20 20 20 69 66 e zero\n if
00012600: 20 28 76 61 6c 75 65 20 3d 3d 3d 20 6e 75 6c 6c (value === null
00012610: 29 20 7b 5c 6e 20 20 20 20 20 20 20 20 65 6c 65 ) {\n ele
00012620: 6d 65 6e 74 2e 73 74 79 6c 65 2e 72 65 6d 6f 76 ment.style.remov
00012630: 65 50 72 6f 70 65 72 74 79 28 73 74 79 6c 65 50 eProperty(styleP
00012640: 72 6f 70 65 72 74 79 29 5c 6e 20 20 20 20 20 20 roperty)\n
00012650: 20 20 72 65 74 75 72 6e 5c 6e 20 20 20 20 20 20 return\n
00012660: 7d 5c 6e 5c 6e 20 20 20 20 20 20 4d 61 6e 69 70 }\n\n Manip
00012670: 75 6c 61 74 6f 72 2e 72 65 6d 6f 76 65 44 61 74 ulator.removeDat
00012680: 61 41 74 74 72 69 62 75 74 65 28 65 6c 65 6d 65 aAttribute(eleme
00012690: 6e 74 2c 20 73 74 79 6c 65 50 72 6f 70 65 72 74 nt, stylePropert
000126a0: 79 29 5c 6e 20 20 20 20 20 20 65 6c 65 6d 65 6e y)\n elemen
000126b0: 74 2e 73 74 79 6c 65 2e 73 65 74 50 72 6f 70 65 t.style.setPrope
000126c0: 72 74 79 28 73 74 79 6c 65 50 72 6f 70 65 72 74 rty(stylePropert
000126d0: 79 2c 20 76 61 6c 75 65 29 5c 6e 20 20 20 20 7d y, value)\n }
000126e0: 5c 6e 5c 6e 20 20 20 20 74 68 69 73 2e 5f 61 70 \n\n this._ap
000126f0: 70 6c 79 4d 61 6e 69 70 75 6c 61 74 69 6f 6e 43 plyManipulationC
00012700: 61 6c 6c 62 61 63 6b 28 73 65 6c 65 63 74 6f 72 allback(selector
00012710: 2c 20 6d 61 6e 69 70 75 6c 61 74 69 6f 6e 43 61 , manipulationCa
00012720: 6c 6c 42 61 63 6b 29 5c 6e 20 20 7d 5c 6e 5c 6e llBack)\n }\n\n
00012730: 20 20 5f 61 70 70 6c 79 4d 61 6e 69 70 75 6c 61 _applyManipula
00012740: 74 69 6f 6e 43 61 6c 6c 62 61 63 6b 28 73 65 6c tionCallback(sel
00012750: 65 63 74 6f 72 2c 20 63 61 6c 6c 42 61 63 6b 29 ector, callBack)
00012760: 20 7b 5c 6e 20 20 20 20 69 66 20 28 69 73 45 6c {\n if (isEl
00012770: 65 6d 65 6e 74 28 73 65 6c 65 63 74 6f 72 29 29 ement(selector))
00012780: 20 7b 5c 6e 20 20 20 20 20 20 63 61 6c 6c 42 61 {\n callBa
00012790: 63 6b 28 73 65 6c 65 63 74 6f 72 29 5c 6e 20 20 ck(selector)\n
000127a0: 20 20 20 20 72 65 74 75 72 6e 5c 6e 20 20 20 20 return\n
000127b0: 7d 5c 6e 5c 6e 20 20 20 20 66 6f 72 20 28 63 6f }\n\n for (co
000127c0: 6e 73 74 20 73 65 6c 20 6f 66 20 53 65 6c 65 63 nst sel of Selec
000127d0: 74 6f 72 45 6e 67 69 6e 65 2e 66 69 6e 64 28 73 torEngine.find(s
000127e0: 65 6c 65 63 74 6f 72 2c 20 74 68 69 73 2e 5f 65 elector, this._e
000127f0: 6c 65 6d 65 6e 74 29 29 20 7b 5c 6e 20 20 20 20 lement)) {\n
00012800: 20 20 63 61 6c 6c 42 61 63 6b 28 73 65 6c 29 5c callBack(sel)\
00012810: 6e 20 20 20 20 7d 5c 6e 20 20 7d 5c 6e 7d 5c 6e n }\n }\n}\n
00012820: 5c 6e 65 78 70 6f 72 74 20 64 65 66 61 75 6c 74 \nexport default
00012830: 20 53 63 72 6f 6c 6c 42 61 72 48 65 6c 70 65 72 ScrollBarHelper
00012840: 5c 6e 22 2c 22 2f 2a 2a 5c 6e 20 2a 20 2d 2d 2d \n","/**\n * ---
00012850: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
00012860: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
00012870: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
00012880: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
00012890: 2d 2d 2d 2d 2d 2d 2d 5c 6e 20 2a 20 42 6f 6f 74 -------\n * Boot
000128a0: 73 74 72 61 70 20 6d 6f 64 61 6c 2e 6a 73 5c 6e strap modal.js\n
000128b0: 20 2a 20 4c 69 63 65 6e 73 65 64 20 75 6e 64 65 * Licensed unde
000128c0: 72 20 4d 49 54 20 28 68 74 74 70 73 3a 2f 2f 67 r MIT (https://g
000128d0: 69 74 68 75 62 2e 63 6f 6d 2f 74 77 62 73 2f 62 ithub.com/twbs/b
000128e0: 6f 6f 74 73 74 72 61 70 2f 62 6c 6f 62 2f 6d 61 ootstrap/blob/ma
000128f0: 69 6e 2f 4c 49 43 45 4e 53 45 29 5c 6e 20 2a 20 in/LICENSE)\n *
00012900: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
00012910: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
00012920: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
00012930: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
00012940: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 20 2a 2f 5c ----------\n */\
00012950: 6e 5c 6e 69 6d 70 6f 72 74 20 42 61 73 65 43 6f n\nimport BaseCo
00012960: 6d 70 6f 6e 65 6e 74 20 66 72 6f 6d 20 27 2e 2f mponent from './
00012970: 62 61 73 65 2d 63 6f 6d 70 6f 6e 65 6e 74 2e 6a base-component.j
00012980: 73 27 5c 6e 69 6d 70 6f 72 74 20 45 76 65 6e 74 s'\nimport Event
00012990: 48 61 6e 64 6c 65 72 20 66 72 6f 6d 20 27 2e 2f Handler from './
000129a0: 64 6f 6d 2f 65 76 65 6e 74 2d 68 61 6e 64 6c 65 dom/event-handle
000129b0: 72 2e 6a 73 27 5c 6e 69 6d 70 6f 72 74 20 53 65 r.js'\nimport Se
000129c0: 6c 65 63 74 6f 72 45 6e 67 69 6e 65 20 66 72 6f lectorEngine fro
000129d0: 6d 20 27 2e 2f 64 6f 6d 2f 73 65 6c 65 63 74 6f m './dom/selecto
000129e0: 72 2d 65 6e 67 69 6e 65 2e 6a 73 27 5c 6e 69 6d r-engine.js'\nim
000129f0: 70 6f 72 74 20 42 61 63 6b 64 72 6f 70 20 66 72 port Backdrop fr
00012a00: 6f 6d 20 27 2e 2f 75 74 69 6c 2f 62 61 63 6b 64 om './util/backd
00012a10: 72 6f 70 2e 6a 73 27 5c 6e 69 6d 70 6f 72 74 20 rop.js'\nimport
00012a20: 7b 20 65 6e 61 62 6c 65 44 69 73 6d 69 73 73 54 { enableDismissT
00012a30: 72 69 67 67 65 72 20 7d 20 66 72 6f 6d 20 27 2e rigger } from '.
00012a40: 2f 75 74 69 6c 2f 63 6f 6d 70 6f 6e 65 6e 74 2d /util/component-
00012a50: 66 75 6e 63 74 69 6f 6e 73 2e 6a 73 27 5c 6e 69 functions.js'\ni
00012a60: 6d 70 6f 72 74 20 46 6f 63 75 73 54 72 61 70 20 mport FocusTrap
00012a70: 66 72 6f 6d 20 27 2e 2f 75 74 69 6c 2f 66 6f 63 from './util/foc
00012a80: 75 73 74 72 61 70 2e 6a 73 27 5c 6e 69 6d 70 6f ustrap.js'\nimpo
00012a90: 72 74 20 7b 5c 6e 20 20 64 65 66 69 6e 65 4a 51 rt {\n defineJQ
00012aa0: 75 65 72 79 50 6c 75 67 69 6e 2c 20 69 73 52 54 ueryPlugin, isRT
00012ab0: 4c 2c 20 69 73 56 69 73 69 62 6c 65 2c 20 72 65 L, isVisible, re
00012ac0: 66 6c 6f 77 5c 6e 7d 20 66 72 6f 6d 20 27 2e 2f flow\n} from './
00012ad0: 75 74 69 6c 2f 69 6e 64 65 78 2e 6a 73 27 5c 6e util/index.js'\n
00012ae0: 69 6d 70 6f 72 74 20 53 63 72 6f 6c 6c 42 61 72 import ScrollBar
00012af0: 48 65 6c 70 65 72 20 66 72 6f 6d 20 27 2e 2f 75 Helper from './u
00012b00: 74 69 6c 2f 73 63 72 6f 6c 6c 62 61 72 2e 6a 73 til/scrollbar.js
00012b10: 27 5c 6e 5c 6e 2f 2a 2a 5c 6e 20 2a 20 43 6f 6e '\n\n/**\n * Con
00012b20: 73 74 61 6e 74 73 5c 6e 20 2a 2f 5c 6e 5c 6e 63 stants\n */\n\nc
00012b30: 6f 6e 73 74 20 4e 41 4d 45 20 3d 20 27 6d 6f 64 onst NAME = 'mod
00012b40: 61 6c 27 5c 6e 63 6f 6e 73 74 20 44 41 54 41 5f al'\nconst DATA_
00012b50: 4b 45 59 20 3d 20 27 62 73 2e 6d 6f 64 61 6c 27 KEY = 'bs.modal'
00012b60: 5c 6e 63 6f 6e 73 74 20 45 56 45 4e 54 5f 4b 45 \nconst EVENT_KE
00012b70: 59 20 3d 20 60 2e 24 7b 44 41 54 41 5f 4b 45 59 Y = `.${DATA_KEY
00012b80: 7d 60 5c 6e 63 6f 6e 73 74 20 44 41 54 41 5f 41 }`\nconst DATA_A
00012b90: 50 49 5f 4b 45 59 20 3d 20 27 2e 64 61 74 61 2d PI_KEY = '.data-
00012ba0: 61 70 69 27 5c 6e 63 6f 6e 73 74 20 45 53 43 41 api'\nconst ESCA
00012bb0: 50 45 5f 4b 45 59 20 3d 20 27 45 73 63 61 70 65 PE_KEY = 'Escape
00012bc0: 27 5c 6e 5c 6e 63 6f 6e 73 74 20 45 56 45 4e 54 '\n\nconst EVENT
00012bd0: 5f 48 49 44 45 20 3d 20 60 68 69 64 65 24 7b 45 _HIDE = `hide${E
00012be0: 56 45 4e 54 5f 4b 45 59 7d 60 5c 6e 63 6f 6e 73 VENT_KEY}`\ncons
00012bf0: 74 20 45 56 45 4e 54 5f 48 49 44 45 5f 50 52 45 t EVENT_HIDE_PRE
00012c00: 56 45 4e 54 45 44 20 3d 20 60 68 69 64 65 50 72 VENTED = `hidePr
00012c10: 65 76 65 6e 74 65 64 24 7b 45 56 45 4e 54 5f 4b evented${EVENT_K
00012c20: 45 59 7d 60 5c 6e 63 6f 6e 73 74 20 45 56 45 4e EY}`\nconst EVEN
00012c30: 54 5f 48 49 44 44 45 4e 20 3d 20 60 68 69 64 64 T_HIDDEN = `hidd
00012c40: 65 6e 24 7b 45 56 45 4e 54 5f 4b 45 59 7d 60 5c en${EVENT_KEY}`\
00012c50: 6e 63 6f 6e 73 74 20 45 56 45 4e 54 5f 53 48 4f nconst EVENT_SHO
00012c60: 57 20 3d 20 60 73 68 6f 77 24 7b 45 56 45 4e 54 W = `show${EVENT
00012c70: 5f 4b 45 59 7d 60 5c 6e 63 6f 6e 73 74 20 45 56 _KEY}`\nconst EV
00012c80: 45 4e 54 5f 53 48 4f 57 4e 20 3d 20 60 73 68 6f ENT_SHOWN = `sho
00012c90: 77 6e 24 7b 45 56 45 4e 54 5f 4b 45 59 7d 60 5c wn${EVENT_KEY}`\
00012ca0: 6e 63 6f 6e 73 74 20 45 56 45 4e 54 5f 52 45 53 nconst EVENT_RES
00012cb0: 49 5a 45 20 3d 20 60 72 65 73 69 7a 65 24 7b 45 IZE = `resize${E
00012cc0: 56 45 4e 54 5f 4b 45 59 7d 60 5c 6e 63 6f 6e 73 VENT_KEY}`\ncons
00012cd0: 74 20 45 56 45 4e 54 5f 43 4c 49 43 4b 5f 44 49 t EVENT_CLICK_DI
00012ce0: 53 4d 49 53 53 20 3d 20 60 63 6c 69 63 6b 2e 64 SMISS = `click.d
00012cf0: 69 73 6d 69 73 73 24 7b 45 56 45 4e 54 5f 4b 45 ismiss${EVENT_KE
00012d00: 59 7d 60 5c 6e 63 6f 6e 73 74 20 45 56 45 4e 54 Y}`\nconst EVENT
00012d10: 5f 4d 4f 55 53 45 44 4f 57 4e 5f 44 49 53 4d 49 _MOUSEDOWN_DISMI
00012d20: 53 53 20 3d 20 60 6d 6f 75 73 65 64 6f 77 6e 2e SS = `mousedown.
00012d30: 64 69 73 6d 69 73 73 24 7b 45 56 45 4e 54 5f 4b dismiss${EVENT_K
00012d40: 45 59 7d 60 5c 6e 63 6f 6e 73 74 20 45 56 45 4e EY}`\nconst EVEN
00012d50: 54 5f 4b 45 59 44 4f 57 4e 5f 44 49 53 4d 49 53 T_KEYDOWN_DISMIS
00012d60: 53 20 3d 20 60 6b 65 79 64 6f 77 6e 2e 64 69 73 S = `keydown.dis
00012d70: 6d 69 73 73 24 7b 45 56 45 4e 54 5f 4b 45 59 7d miss${EVENT_KEY}
00012d80: 60 5c 6e 63 6f 6e 73 74 20 45 56 45 4e 54 5f 43 `\nconst EVENT_C
00012d90: 4c 49 43 4b 5f 44 41 54 41 5f 41 50 49 20 3d 20 LICK_DATA_API =
00012da0: 60 63 6c 69 63 6b 24 7b 45 56 45 4e 54 5f 4b 45 `click${EVENT_KE
00012db0: 59 7d 24 7b 44 41 54 41 5f 41 50 49 5f 4b 45 59 Y}${DATA_API_KEY
00012dc0: 7d 60 5c 6e 5c 6e 63 6f 6e 73 74 20 43 4c 41 53 }`\n\nconst CLAS
00012dd0: 53 5f 4e 41 4d 45 5f 4f 50 45 4e 20 3d 20 27 6d S_NAME_OPEN = 'm
00012de0: 6f 64 61 6c 2d 6f 70 65 6e 27 5c 6e 63 6f 6e 73 odal-open'\ncons
00012df0: 74 20 43 4c 41 53 53 5f 4e 41 4d 45 5f 46 41 44 t CLASS_NAME_FAD
00012e00: 45 20 3d 20 27 66 61 64 65 27 5c 6e 63 6f 6e 73 E = 'fade'\ncons
00012e10: 74 20 43 4c 41 53 53 5f 4e 41 4d 45 5f 53 48 4f t CLASS_NAME_SHO
00012e20: 57 20 3d 20 27 73 68 6f 77 27 5c 6e 63 6f 6e 73 W = 'show'\ncons
00012e30: 74 20 43 4c 41 53 53 5f 4e 41 4d 45 5f 53 54 41 t CLASS_NAME_STA
00012e40: 54 49 43 20 3d 20 27 6d 6f 64 61 6c 2d 73 74 61 TIC = 'modal-sta
00012e50: 74 69 63 27 5c 6e 5c 6e 63 6f 6e 73 74 20 4f 50 tic'\n\nconst OP
00012e60: 45 4e 5f 53 45 4c 45 43 54 4f 52 20 3d 20 27 2e EN_SELECTOR = '.
00012e70: 6d 6f 64 61 6c 2e 73 68 6f 77 27 5c 6e 63 6f 6e modal.show'\ncon
00012e80: 73 74 20 53 45 4c 45 43 54 4f 52 5f 44 49 41 4c st SELECTOR_DIAL
00012e90: 4f 47 20 3d 20 27 2e 6d 6f 64 61 6c 2d 64 69 61 OG = '.modal-dia
00012ea0: 6c 6f 67 27 5c 6e 63 6f 6e 73 74 20 53 45 4c 45 log'\nconst SELE
00012eb0: 43 54 4f 52 5f 4d 4f 44 41 4c 5f 42 4f 44 59 20 CTOR_MODAL_BODY
00012ec0: 3d 20 27 2e 6d 6f 64 61 6c 2d 62 6f 64 79 27 5c = '.modal-body'\
00012ed0: 6e 63 6f 6e 73 74 20 53 45 4c 45 43 54 4f 52 5f nconst SELECTOR_
00012ee0: 44 41 54 41 5f 54 4f 47 47 4c 45 20 3d 20 27 5b DATA_TOGGLE = '[
00012ef0: 64 61 74 61 2d 62 73 2d 74 6f 67 67 6c 65 3d 5c data-bs-toggle=\
00012f00: 22 6d 6f 64 61 6c 5c 22 5d 27 5c 6e 5c 6e 63 6f "modal\"]'\n\nco
00012f10: 6e 73 74 20 44 65 66 61 75 6c 74 20 3d 20 7b 5c nst Default = {\
00012f20: 6e 20 20 62 61 63 6b 64 72 6f 70 3a 20 74 72 75 n backdrop: tru
00012f30: 65 2c 5c 6e 20 20 66 6f 63 75 73 3a 20 74 72 75 e,\n focus: tru
00012f40: 65 2c 5c 6e 20 20 6b 65 79 62 6f 61 72 64 3a 20 e,\n keyboard:
00012f50: 74 72 75 65 5c 6e 7d 5c 6e 5c 6e 63 6f 6e 73 74 true\n}\n\nconst
00012f60: 20 44 65 66 61 75 6c 74 54 79 70 65 20 3d 20 7b DefaultType = {
00012f70: 5c 6e 20 20 62 61 63 6b 64 72 6f 70 3a 20 27 28 \n backdrop: '(
00012f80: 62 6f 6f 6c 65 61 6e 7c 73 74 72 69 6e 67 29 27 boolean|string)'
00012f90: 2c 5c 6e 20 20 66 6f 63 75 73 3a 20 27 62 6f 6f ,\n focus: 'boo
00012fa0: 6c 65 61 6e 27 2c 5c 6e 20 20 6b 65 79 62 6f 61 lean',\n keyboa
00012fb0: 72 64 3a 20 27 62 6f 6f 6c 65 61 6e 27 5c 6e 7d rd: 'boolean'\n}
00012fc0: 5c 6e 5c 6e 2f 2a 2a 5c 6e 20 2a 20 43 6c 61 73 \n\n/**\n * Clas
00012fd0: 73 20 64 65 66 69 6e 69 74 69 6f 6e 5c 6e 20 2a s definition\n *
00012fe0: 2f 5c 6e 5c 6e 63 6c 61 73 73 20 4d 6f 64 61 6c /\n\nclass Modal
00012ff0: 20 65 78 74 65 6e 64 73 20 42 61 73 65 43 6f 6d extends BaseCom
00013000: 70 6f 6e 65 6e 74 20 7b 5c 6e 20 20 63 6f 6e 73 ponent {\n cons
00013010: 74 72 75 63 74 6f 72 28 65 6c 65 6d 65 6e 74 2c tructor(element,
00013020: 20 63 6f 6e 66 69 67 29 20 7b 5c 6e 20 20 20 20 config) {\n
00013030: 73 75 70 65 72 28 65 6c 65 6d 65 6e 74 2c 20 63 super(element, c
00013040: 6f 6e 66 69 67 29 5c 6e 5c 6e 20 20 20 20 74 68 onfig)\n\n th
00013050: 69 73 2e 5f 64 69 61 6c 6f 67 20 3d 20 53 65 6c is._dialog = Sel
00013060: 65 63 74 6f 72 45 6e 67 69 6e 65 2e 66 69 6e 64 ectorEngine.find
00013070: 4f 6e 65 28 53 45 4c 45 43 54 4f 52 5f 44 49 41 One(SELECTOR_DIA
00013080: 4c 4f 47 2c 20 74 68 69 73 2e 5f 65 6c 65 6d 65 LOG, this._eleme
00013090: 6e 74 29 5c 6e 20 20 20 20 74 68 69 73 2e 5f 62 nt)\n this._b
000130a0: 61 63 6b 64 72 6f 70 20 3d 20 74 68 69 73 2e 5f ackdrop = this._
000130b0: 69 6e 69 74 69 61 6c 69 7a 65 42 61 63 6b 44 72 initializeBackDr
000130c0: 6f 70 28 29 5c 6e 20 20 20 20 74 68 69 73 2e 5f op()\n this._
000130d0: 66 6f 63 75 73 74 72 61 70 20 3d 20 74 68 69 73 focustrap = this
000130e0: 2e 5f 69 6e 69 74 69 61 6c 69 7a 65 46 6f 63 75 ._initializeFocu
000130f0: 73 54 72 61 70 28 29 5c 6e 20 20 20 20 74 68 69 sTrap()\n thi
00013100: 73 2e 5f 69 73 53 68 6f 77 6e 20 3d 20 66 61 6c s._isShown = fal
00013110: 73 65 5c 6e 20 20 20 20 74 68 69 73 2e 5f 69 73 se\n this._is
00013120: 54 72 61 6e 73 69 74 69 6f 6e 69 6e 67 20 3d 20 Transitioning =
00013130: 66 61 6c 73 65 5c 6e 20 20 20 20 74 68 69 73 2e false\n this.
00013140: 5f 73 63 72 6f 6c 6c 42 61 72 20 3d 20 6e 65 77 _scrollBar = new
00013150: 20 53 63 72 6f 6c 6c 42 61 72 48 65 6c 70 65 72 ScrollBarHelper
00013160: 28 29 5c 6e 5c 6e 20 20 20 20 74 68 69 73 2e 5f ()\n\n this._
00013170: 61 64 64 45 76 65 6e 74 4c 69 73 74 65 6e 65 72 addEventListener
00013180: 73 28 29 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 2f 2f s()\n }\n\n //
00013190: 20 47 65 74 74 65 72 73 5c 6e 20 20 73 74 61 74 Getters\n stat
000131a0: 69 63 20 67 65 74 20 44 65 66 61 75 6c 74 28 29 ic get Default()
000131b0: 20 7b 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 44 {\n return D
000131c0: 65 66 61 75 6c 74 5c 6e 20 20 7d 5c 6e 5c 6e 20 efault\n }\n\n
000131d0: 20 73 74 61 74 69 63 20 67 65 74 20 44 65 66 61 static get Defa
000131e0: 75 6c 74 54 79 70 65 28 29 20 7b 5c 6e 20 20 20 ultType() {\n
000131f0: 20 72 65 74 75 72 6e 20 44 65 66 61 75 6c 74 54 return DefaultT
00013200: 79 70 65 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 73 74 ype\n }\n\n st
00013210: 61 74 69 63 20 67 65 74 20 4e 41 4d 45 28 29 20 atic get NAME()
00013220: 7b 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 4e 41 {\n return NA
00013230: 4d 45 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 2f 2f 20 ME\n }\n\n //
00013240: 50 75 62 6c 69 63 5c 6e 20 20 74 6f 67 67 6c 65 Public\n toggle
00013250: 28 72 65 6c 61 74 65 64 54 61 72 67 65 74 29 20 (relatedTarget)
00013260: 7b 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 74 68 {\n return th
00013270: 69 73 2e 5f 69 73 53 68 6f 77 6e 20 3f 20 74 68 is._isShown ? th
00013280: 69 73 2e 68 69 64 65 28 29 20 3a 20 74 68 69 73 is.hide() : this
00013290: 2e 73 68 6f 77 28 72 65 6c 61 74 65 64 54 61 72 .show(relatedTar
000132a0: 67 65 74 29 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 73 get)\n }\n\n s
000132b0: 68 6f 77 28 72 65 6c 61 74 65 64 54 61 72 67 65 how(relatedTarge
000132c0: 74 29 20 7b 5c 6e 20 20 20 20 69 66 20 28 74 68 t) {\n if (th
000132d0: 69 73 2e 5f 69 73 53 68 6f 77 6e 20 7c 7c 20 74 is._isShown || t
000132e0: 68 69 73 2e 5f 69 73 54 72 61 6e 73 69 74 69 6f his._isTransitio
000132f0: 6e 69 6e 67 29 20 7b 5c 6e 20 20 20 20 20 20 72 ning) {\n r
00013300: 65 74 75 72 6e 5c 6e 20 20 20 20 7d 5c 6e 5c 6e eturn\n }\n\n
00013310: 20 20 20 20 63 6f 6e 73 74 20 73 68 6f 77 45 76 const showEv
00013320: 65 6e 74 20 3d 20 45 76 65 6e 74 48 61 6e 64 6c ent = EventHandl
00013330: 65 72 2e 74 72 69 67 67 65 72 28 74 68 69 73 2e er.trigger(this.
00013340: 5f 65 6c 65 6d 65 6e 74 2c 20 45 56 45 4e 54 5f _element, EVENT_
00013350: 53 48 4f 57 2c 20 7b 5c 6e 20 20 20 20 20 20 72 SHOW, {\n r
00013360: 65 6c 61 74 65 64 54 61 72 67 65 74 5c 6e 20 20 elatedTarget\n
00013370: 20 20 7d 29 5c 6e 5c 6e 20 20 20 20 69 66 20 28 })\n\n if (
00013380: 73 68 6f 77 45 76 65 6e 74 2e 64 65 66 61 75 6c showEvent.defaul
00013390: 74 50 72 65 76 65 6e 74 65 64 29 20 7b 5c 6e 20 tPrevented) {\n
000133a0: 20 20 20 20 20 72 65 74 75 72 6e 5c 6e 20 20 20 return\n
000133b0: 20 7d 5c 6e 5c 6e 20 20 20 20 74 68 69 73 2e 5f }\n\n this._
000133c0: 69 73 53 68 6f 77 6e 20 3d 20 74 72 75 65 5c 6e isShown = true\n
000133d0: 20 20 20 20 74 68 69 73 2e 5f 69 73 54 72 61 6e this._isTran
000133e0: 73 69 74 69 6f 6e 69 6e 67 20 3d 20 74 72 75 65 sitioning = true
000133f0: 5c 6e 5c 6e 20 20 20 20 74 68 69 73 2e 5f 73 63 \n\n this._sc
00013400: 72 6f 6c 6c 42 61 72 2e 68 69 64 65 28 29 5c 6e rollBar.hide()\n
00013410: 5c 6e 20 20 20 20 64 6f 63 75 6d 65 6e 74 2e 62 \n document.b
00013420: 6f 64 79 2e 63 6c 61 73 73 4c 69 73 74 2e 61 64 ody.classList.ad
00013430: 64 28 43 4c 41 53 53 5f 4e 41 4d 45 5f 4f 50 45 d(CLASS_NAME_OPE
00013440: 4e 29 5c 6e 5c 6e 20 20 20 20 74 68 69 73 2e 5f N)\n\n this._
00013450: 61 64 6a 75 73 74 44 69 61 6c 6f 67 28 29 5c 6e adjustDialog()\n
00013460: 5c 6e 20 20 20 20 74 68 69 73 2e 5f 62 61 63 6b \n this._back
00013470: 64 72 6f 70 2e 73 68 6f 77 28 28 29 20 3d 3e 20 drop.show(() =>
00013480: 74 68 69 73 2e 5f 73 68 6f 77 45 6c 65 6d 65 6e this._showElemen
00013490: 74 28 72 65 6c 61 74 65 64 54 61 72 67 65 74 29 t(relatedTarget)
000134a0: 29 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 68 69 64 65 )\n }\n\n hide
000134b0: 28 29 20 7b 5c 6e 20 20 20 20 69 66 20 28 21 74 () {\n if (!t
000134c0: 68 69 73 2e 5f 69 73 53 68 6f 77 6e 20 7c 7c 20 his._isShown ||
000134d0: 74 68 69 73 2e 5f 69 73 54 72 61 6e 73 69 74 69 this._isTransiti
000134e0: 6f 6e 69 6e 67 29 20 7b 5c 6e 20 20 20 20 20 20 oning) {\n
000134f0: 72 65 74 75 72 6e 5c 6e 20 20 20 20 7d 5c 6e 5c return\n }\n\
00013500: 6e 20 20 20 20 63 6f 6e 73 74 20 68 69 64 65 45 n const hideE
00013510: 76 65 6e 74 20 3d 20 45 76 65 6e 74 48 61 6e 64 vent = EventHand
00013520: 6c 65 72 2e 74 72 69 67 67 65 72 28 74 68 69 73 ler.trigger(this
00013530: 2e 5f 65 6c 65 6d 65 6e 74 2c 20 45 56 45 4e 54 ._element, EVENT
00013540: 5f 48 49 44 45 29 5c 6e 5c 6e 20 20 20 20 69 66 _HIDE)\n\n if
00013550: 20 28 68 69 64 65 45 76 65 6e 74 2e 64 65 66 61 (hideEvent.defa
00013560: 75 6c 74 50 72 65 76 65 6e 74 65 64 29 20 7b 5c ultPrevented) {\
00013570: 6e 20 20 20 20 20 20 72 65 74 75 72 6e 5c 6e 20 n return\n
00013580: 20 20 20 7d 5c 6e 5c 6e 20 20 20 20 74 68 69 73 }\n\n this
00013590: 2e 5f 69 73 53 68 6f 77 6e 20 3d 20 66 61 6c 73 ._isShown = fals
000135a0: 65 5c 6e 20 20 20 20 74 68 69 73 2e 5f 69 73 54 e\n this._isT
000135b0: 72 61 6e 73 69 74 69 6f 6e 69 6e 67 20 3d 20 74 ransitioning = t
000135c0: 72 75 65 5c 6e 20 20 20 20 74 68 69 73 2e 5f 66 rue\n this._f
000135d0: 6f 63 75 73 74 72 61 70 2e 64 65 61 63 74 69 76 ocustrap.deactiv
000135e0: 61 74 65 28 29 5c 6e 5c 6e 20 20 20 20 74 68 69 ate()\n\n thi
000135f0: 73 2e 5f 65 6c 65 6d 65 6e 74 2e 63 6c 61 73 73 s._element.class
00013600: 4c 69 73 74 2e 72 65 6d 6f 76 65 28 43 4c 41 53 List.remove(CLAS
00013610: 53 5f 4e 41 4d 45 5f 53 48 4f 57 29 5c 6e 5c 6e S_NAME_SHOW)\n\n
00013620: 20 20 20 20 74 68 69 73 2e 5f 71 75 65 75 65 43 this._queueC
00013630: 61 6c 6c 62 61 63 6b 28 28 29 20 3d 3e 20 74 68 allback(() => th
00013640: 69 73 2e 5f 68 69 64 65 4d 6f 64 61 6c 28 29 2c is._hideModal(),
00013650: 20 74 68 69 73 2e 5f 65 6c 65 6d 65 6e 74 2c 20 this._element,
00013660: 74 68 69 73 2e 5f 69 73 41 6e 69 6d 61 74 65 64 this._isAnimated
00013670: 28 29 29 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 64 69 ())\n }\n\n di
00013680: 73 70 6f 73 65 28 29 20 7b 5c 6e 20 20 20 20 45 spose() {\n E
00013690: 76 65 6e 74 48 61 6e 64 6c 65 72 2e 6f 66 66 28 ventHandler.off(
000136a0: 77 69 6e 64 6f 77 2c 20 45 56 45 4e 54 5f 4b 45 window, EVENT_KE
000136b0: 59 29 5c 6e 20 20 20 20 45 76 65 6e 74 48 61 6e Y)\n EventHan
000136c0: 64 6c 65 72 2e 6f 66 66 28 74 68 69 73 2e 5f 64 dler.off(this._d
000136d0: 69 61 6c 6f 67 2c 20 45 56 45 4e 54 5f 4b 45 59 ialog, EVENT_KEY
000136e0: 29 5c 6e 5c 6e 20 20 20 20 74 68 69 73 2e 5f 62 )\n\n this._b
000136f0: 61 63 6b 64 72 6f 70 2e 64 69 73 70 6f 73 65 28 ackdrop.dispose(
00013700: 29 5c 6e 20 20 20 20 74 68 69 73 2e 5f 66 6f 63 )\n this._foc
00013710: 75 73 74 72 61 70 2e 64 65 61 63 74 69 76 61 74 ustrap.deactivat
00013720: 65 28 29 5c 6e 5c 6e 20 20 20 20 73 75 70 65 72 e()\n\n super
00013730: 2e 64 69 73 70 6f 73 65 28 29 5c 6e 20 20 7d 5c .dispose()\n }\
00013740: 6e 5c 6e 20 20 68 61 6e 64 6c 65 55 70 64 61 74 n\n handleUpdat
00013750: 65 28 29 20 7b 5c 6e 20 20 20 20 74 68 69 73 2e e() {\n this.
00013760: 5f 61 64 6a 75 73 74 44 69 61 6c 6f 67 28 29 5c _adjustDialog()\
00013770: 6e 20 20 7d 5c 6e 5c 6e 20 20 2f 2f 20 50 72 69 n }\n\n // Pri
00013780: 76 61 74 65 5c 6e 20 20 5f 69 6e 69 74 69 61 6c vate\n _initial
00013790: 69 7a 65 42 61 63 6b 44 72 6f 70 28 29 20 7b 5c izeBackDrop() {\
000137a0: 6e 20 20 20 20 72 65 74 75 72 6e 20 6e 65 77 20 n return new
000137b0: 42 61 63 6b 64 72 6f 70 28 7b 5c 6e 20 20 20 20 Backdrop({\n
000137c0: 20 20 69 73 56 69 73 69 62 6c 65 3a 20 42 6f 6f isVisible: Boo
000137d0: 6c 65 61 6e 28 74 68 69 73 2e 5f 63 6f 6e 66 69 lean(this._confi
000137e0: 67 2e 62 61 63 6b 64 72 6f 70 29 2c 20 2f 2f 20 g.backdrop), //
000137f0: 27 73 74 61 74 69 63 27 20 6f 70 74 69 6f 6e 20 'static' option
00013800: 77 69 6c 6c 20 62 65 20 74 72 61 6e 73 6c 61 74 will be translat
00013810: 65 64 20 74 6f 20 74 72 75 65 2c 20 61 6e 64 20 ed to true, and
00013820: 62 6f 6f 6c 65 61 6e 73 20 77 69 6c 6c 20 6b 65 booleans will ke
00013830: 65 70 20 74 68 65 69 72 20 76 61 6c 75 65 2c 5c ep their value,\
00013840: 6e 20 20 20 20 20 20 69 73 41 6e 69 6d 61 74 65 n isAnimate
00013850: 64 3a 20 74 68 69 73 2e 5f 69 73 41 6e 69 6d 61 d: this._isAnima
00013860: 74 65 64 28 29 5c 6e 20 20 20 20 7d 29 5c 6e 20 ted()\n })\n
00013870: 20 7d 5c 6e 5c 6e 20 20 5f 69 6e 69 74 69 61 6c }\n\n _initial
00013880: 69 7a 65 46 6f 63 75 73 54 72 61 70 28 29 20 7b izeFocusTrap() {
00013890: 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 6e 65 77 \n return new
000138a0: 20 46 6f 63 75 73 54 72 61 70 28 7b 5c 6e 20 20 FocusTrap({\n
000138b0: 20 20 20 20 74 72 61 70 45 6c 65 6d 65 6e 74 3a trapElement:
000138c0: 20 74 68 69 73 2e 5f 65 6c 65 6d 65 6e 74 5c 6e this._element\n
000138d0: 20 20 20 20 7d 29 5c 6e 20 20 7d 5c 6e 5c 6e 20 })\n }\n\n
000138e0: 20 5f 73 68 6f 77 45 6c 65 6d 65 6e 74 28 72 65 _showElement(re
000138f0: 6c 61 74 65 64 54 61 72 67 65 74 29 20 7b 5c 6e latedTarget) {\n
00013900: 20 20 20 20 2f 2f 20 74 72 79 20 74 6f 20 61 70 // try to ap
00013910: 70 65 6e 64 20 64 79 6e 61 6d 69 63 20 6d 6f 64 pend dynamic mod
00013920: 61 6c 5c 6e 20 20 20 20 69 66 20 28 21 64 6f 63 al\n if (!doc
00013930: 75 6d 65 6e 74 2e 62 6f 64 79 2e 63 6f 6e 74 61 ument.body.conta
00013940: 69 6e 73 28 74 68 69 73 2e 5f 65 6c 65 6d 65 6e ins(this._elemen
00013950: 74 29 29 20 7b 5c 6e 20 20 20 20 20 20 64 6f 63 t)) {\n doc
00013960: 75 6d 65 6e 74 2e 62 6f 64 79 2e 61 70 70 65 6e ument.body.appen
00013970: 64 28 74 68 69 73 2e 5f 65 6c 65 6d 65 6e 74 29 d(this._element)
00013980: 5c 6e 20 20 20 20 7d 5c 6e 5c 6e 20 20 20 20 74 \n }\n\n t
00013990: 68 69 73 2e 5f 65 6c 65 6d 65 6e 74 2e 73 74 79 his._element.sty
000139a0: 6c 65 2e 64 69 73 70 6c 61 79 20 3d 20 27 62 6c le.display = 'bl
000139b0: 6f 63 6b 27 5c 6e 20 20 20 20 74 68 69 73 2e 5f ock'\n this._
000139c0: 65 6c 65 6d 65 6e 74 2e 72 65 6d 6f 76 65 41 74 element.removeAt
000139d0: 74 72 69 62 75 74 65 28 27 61 72 69 61 2d 68 69 tribute('aria-hi
000139e0: 64 64 65 6e 27 29 5c 6e 20 20 20 20 74 68 69 73 dden')\n this
000139f0: 2e 5f 65 6c 65 6d 65 6e 74 2e 73 65 74 41 74 74 ._element.setAtt
00013a00: 72 69 62 75 74 65 28 27 61 72 69 61 2d 6d 6f 64 ribute('aria-mod
00013a10: 61 6c 27 2c 20 74 72 75 65 29 5c 6e 20 20 20 20 al', true)\n
00013a20: 74 68 69 73 2e 5f 65 6c 65 6d 65 6e 74 2e 73 65 this._element.se
00013a30: 74 41 74 74 72 69 62 75 74 65 28 27 72 6f 6c 65 tAttribute('role
00013a40: 27 2c 20 27 64 69 61 6c 6f 67 27 29 5c 6e 20 20 ', 'dialog')\n
00013a50: 20 20 74 68 69 73 2e 5f 65 6c 65 6d 65 6e 74 2e this._element.
00013a60: 73 63 72 6f 6c 6c 54 6f 70 20 3d 20 30 5c 6e 5c scrollTop = 0\n\
00013a70: 6e 20 20 20 20 63 6f 6e 73 74 20 6d 6f 64 61 6c n const modal
00013a80: 42 6f 64 79 20 3d 20 53 65 6c 65 63 74 6f 72 45 Body = SelectorE
00013a90: 6e 67 69 6e 65 2e 66 69 6e 64 4f 6e 65 28 53 45 ngine.findOne(SE
00013aa0: 4c 45 43 54 4f 52 5f 4d 4f 44 41 4c 5f 42 4f 44 LECTOR_MODAL_BOD
00013ab0: 59 2c 20 74 68 69 73 2e 5f 64 69 61 6c 6f 67 29 Y, this._dialog)
00013ac0: 5c 6e 20 20 20 20 69 66 20 28 6d 6f 64 61 6c 42 \n if (modalB
00013ad0: 6f 64 79 29 20 7b 5c 6e 20 20 20 20 20 20 6d 6f ody) {\n mo
00013ae0: 64 61 6c 42 6f 64 79 2e 73 63 72 6f 6c 6c 54 6f dalBody.scrollTo
00013af0: 70 20 3d 20 30 5c 6e 20 20 20 20 7d 5c 6e 5c 6e p = 0\n }\n\n
00013b00: 20 20 20 20 72 65 66 6c 6f 77 28 74 68 69 73 2e reflow(this.
00013b10: 5f 65 6c 65 6d 65 6e 74 29 5c 6e 5c 6e 20 20 20 _element)\n\n
00013b20: 20 74 68 69 73 2e 5f 65 6c 65 6d 65 6e 74 2e 63 this._element.c
00013b30: 6c 61 73 73 4c 69 73 74 2e 61 64 64 28 43 4c 41 lassList.add(CLA
00013b40: 53 53 5f 4e 41 4d 45 5f 53 48 4f 57 29 5c 6e 5c SS_NAME_SHOW)\n\
00013b50: 6e 20 20 20 20 63 6f 6e 73 74 20 74 72 61 6e 73 n const trans
00013b60: 69 74 69 6f 6e 43 6f 6d 70 6c 65 74 65 20 3d 20 itionComplete =
00013b70: 28 29 20 3d 3e 20 7b 5c 6e 20 20 20 20 20 20 69 () => {\n i
00013b80: 66 20 28 74 68 69 73 2e 5f 63 6f 6e 66 69 67 2e f (this._config.
00013b90: 66 6f 63 75 73 29 20 7b 5c 6e 20 20 20 20 20 20 focus) {\n
00013ba0: 20 20 74 68 69 73 2e 5f 66 6f 63 75 73 74 72 61 this._focustra
00013bb0: 70 2e 61 63 74 69 76 61 74 65 28 29 5c 6e 20 20 p.activate()\n
00013bc0: 20 20 20 20 7d 5c 6e 5c 6e 20 20 20 20 20 20 74 }\n\n t
00013bd0: 68 69 73 2e 5f 69 73 54 72 61 6e 73 69 74 69 6f his._isTransitio
00013be0: 6e 69 6e 67 20 3d 20 66 61 6c 73 65 5c 6e 20 20 ning = false\n
00013bf0: 20 20 20 20 45 76 65 6e 74 48 61 6e 64 6c 65 72 EventHandler
00013c00: 2e 74 72 69 67 67 65 72 28 74 68 69 73 2e 5f 65 .trigger(this._e
00013c10: 6c 65 6d 65 6e 74 2c 20 45 56 45 4e 54 5f 53 48 lement, EVENT_SH
00013c20: 4f 57 4e 2c 20 7b 5c 6e 20 20 20 20 20 20 20 20 OWN, {\n
00013c30: 72 65 6c 61 74 65 64 54 61 72 67 65 74 5c 6e 20 relatedTarget\n
00013c40: 20 20 20 20 20 7d 29 5c 6e 20 20 20 20 7d 5c 6e })\n }\n
00013c50: 5c 6e 20 20 20 20 74 68 69 73 2e 5f 71 75 65 75 \n this._queu
00013c60: 65 43 61 6c 6c 62 61 63 6b 28 74 72 61 6e 73 69 eCallback(transi
00013c70: 74 69 6f 6e 43 6f 6d 70 6c 65 74 65 2c 20 74 68 tionComplete, th
00013c80: 69 73 2e 5f 64 69 61 6c 6f 67 2c 20 74 68 69 73 is._dialog, this
00013c90: 2e 5f 69 73 41 6e 69 6d 61 74 65 64 28 29 29 5c ._isAnimated())\
00013ca0: 6e 20 20 7d 5c 6e 5c 6e 20 20 5f 61 64 64 45 76 n }\n\n _addEv
00013cb0: 65 6e 74 4c 69 73 74 65 6e 65 72 73 28 29 20 7b entListeners() {
00013cc0: 5c 6e 20 20 20 20 45 76 65 6e 74 48 61 6e 64 6c \n EventHandl
00013cd0: 65 72 2e 6f 6e 28 74 68 69 73 2e 5f 65 6c 65 6d er.on(this._elem
00013ce0: 65 6e 74 2c 20 45 56 45 4e 54 5f 4b 45 59 44 4f ent, EVENT_KEYDO
00013cf0: 57 4e 5f 44 49 53 4d 49 53 53 2c 20 65 76 65 6e WN_DISMISS, even
00013d00: 74 20 3d 3e 20 7b 5c 6e 20 20 20 20 20 20 69 66 t => {\n if
00013d10: 20 28 65 76 65 6e 74 2e 6b 65 79 20 21 3d 3d 20 (event.key !==
00013d20: 45 53 43 41 50 45 5f 4b 45 59 29 20 7b 5c 6e 20 ESCAPE_KEY) {\n
00013d30: 20 20 20 20 20 20 20 72 65 74 75 72 6e 5c 6e 20 return\n
00013d40: 20 20 20 20 20 7d 5c 6e 5c 6e 20 20 20 20 20 20 }\n\n
00013d50: 69 66 20 28 74 68 69 73 2e 5f 63 6f 6e 66 69 67 if (this._config
00013d60: 2e 6b 65 79 62 6f 61 72 64 29 20 7b 5c 6e 20 20 .keyboard) {\n
00013d70: 20 20 20 20 20 20 74 68 69 73 2e 68 69 64 65 28 this.hide(
00013d80: 29 5c 6e 20 20 20 20 20 20 20 20 72 65 74 75 72 )\n retur
00013d90: 6e 5c 6e 20 20 20 20 20 20 7d 5c 6e 5c 6e 20 20 n\n }\n\n
00013da0: 20 20 20 20 74 68 69 73 2e 5f 74 72 69 67 67 65 this._trigge
00013db0: 72 42 61 63 6b 64 72 6f 70 54 72 61 6e 73 69 74 rBackdropTransit
00013dc0: 69 6f 6e 28 29 5c 6e 20 20 20 20 7d 29 5c 6e 5c ion()\n })\n\
00013dd0: 6e 20 20 20 20 45 76 65 6e 74 48 61 6e 64 6c 65 n EventHandle
00013de0: 72 2e 6f 6e 28 77 69 6e 64 6f 77 2c 20 45 56 45 r.on(window, EVE
00013df0: 4e 54 5f 52 45 53 49 5a 45 2c 20 28 29 20 3d 3e NT_RESIZE, () =>
00013e00: 20 7b 5c 6e 20 20 20 20 20 20 69 66 20 28 74 68 {\n if (th
00013e10: 69 73 2e 5f 69 73 53 68 6f 77 6e 20 26 26 20 21 is._isShown && !
00013e20: 74 68 69 73 2e 5f 69 73 54 72 61 6e 73 69 74 69 this._isTransiti
00013e30: 6f 6e 69 6e 67 29 20 7b 5c 6e 20 20 20 20 20 20 oning) {\n
00013e40: 20 20 74 68 69 73 2e 5f 61 64 6a 75 73 74 44 69 this._adjustDi
00013e50: 61 6c 6f 67 28 29 5c 6e 20 20 20 20 20 20 7d 5c alog()\n }\
00013e60: 6e 20 20 20 20 7d 29 5c 6e 5c 6e 20 20 20 20 45 n })\n\n E
00013e70: 76 65 6e 74 48 61 6e 64 6c 65 72 2e 6f 6e 28 74 ventHandler.on(t
00013e80: 68 69 73 2e 5f 65 6c 65 6d 65 6e 74 2c 20 45 56 his._element, EV
00013e90: 45 4e 54 5f 4d 4f 55 53 45 44 4f 57 4e 5f 44 49 ENT_MOUSEDOWN_DI
00013ea0: 53 4d 49 53 53 2c 20 65 76 65 6e 74 20 3d 3e 20 SMISS, event =>
00013eb0: 7b 5c 6e 20 20 20 20 20 20 2f 2f 20 61 20 62 61 {\n // a ba
00013ec0: 64 20 74 72 69 63 6b 20 74 6f 20 73 65 67 72 65 d trick to segre
00013ed0: 67 61 74 65 20 63 6c 69 63 6b 73 20 74 68 61 74 gate clicks that
00013ee0: 20 6d 61 79 20 73 74 61 72 74 20 69 6e 73 69 64 may start insid
00013ef0: 65 20 64 69 61 6c 6f 67 20 62 75 74 20 65 6e 64 e dialog but end
00013f00: 20 6f 75 74 73 69 64 65 2c 20 61 6e 64 20 61 76 outside, and av
00013f10: 6f 69 64 20 6c 69 73 74 65 6e 20 74 6f 20 73 63 oid listen to sc
00013f20: 72 6f 6c 6c 62 61 72 20 63 6c 69 63 6b 73 5c 6e rollbar clicks\n
00013f30: 20 20 20 20 20 20 45 76 65 6e 74 48 61 6e 64 6c EventHandl
00013f40: 65 72 2e 6f 6e 65 28 74 68 69 73 2e 5f 65 6c 65 er.one(this._ele
00013f50: 6d 65 6e 74 2c 20 45 56 45 4e 54 5f 43 4c 49 43 ment, EVENT_CLIC
00013f60: 4b 5f 44 49 53 4d 49 53 53 2c 20 65 76 65 6e 74 K_DISMISS, event
00013f70: 32 20 3d 3e 20 7b 5c 6e 20 20 20 20 20 20 20 20 2 => {\n
00013f80: 69 66 20 28 74 68 69 73 2e 5f 65 6c 65 6d 65 6e if (this._elemen
00013f90: 74 20 21 3d 3d 20 65 76 65 6e 74 2e 74 61 72 67 t !== event.targ
00013fa0: 65 74 20 7c 7c 20 74 68 69 73 2e 5f 65 6c 65 6d et || this._elem
00013fb0: 65 6e 74 20 21 3d 3d 20 65 76 65 6e 74 32 2e 74 ent !== event2.t
00013fc0: 61 72 67 65 74 29 20 7b 5c 6e 20 20 20 20 20 20 arget) {\n
00013fd0: 20 20 20 20 72 65 74 75 72 6e 5c 6e 20 20 20 20 return\n
00013fe0: 20 20 20 20 7d 5c 6e 5c 6e 20 20 20 20 20 20 20 }\n\n
00013ff0: 20 69 66 20 28 74 68 69 73 2e 5f 63 6f 6e 66 69 if (this._confi
00014000: 67 2e 62 61 63 6b 64 72 6f 70 20 3d 3d 3d 20 27 g.backdrop === '
00014010: 73 74 61 74 69 63 27 29 20 7b 5c 6e 20 20 20 20 static') {\n
00014020: 20 20 20 20 20 20 74 68 69 73 2e 5f 74 72 69 67 this._trig
00014030: 67 65 72 42 61 63 6b 64 72 6f 70 54 72 61 6e 73 gerBackdropTrans
00014040: 69 74 69 6f 6e 28 29 5c 6e 20 20 20 20 20 20 20 ition()\n
00014050: 20 20 20 72 65 74 75 72 6e 5c 6e 20 20 20 20 20 return\n
00014060: 20 20 20 7d 5c 6e 5c 6e 20 20 20 20 20 20 20 20 }\n\n
00014070: 69 66 20 28 74 68 69 73 2e 5f 63 6f 6e 66 69 67 if (this._config
00014080: 2e 62 61 63 6b 64 72 6f 70 29 20 7b 5c 6e 20 20 .backdrop) {\n
00014090: 20 20 20 20 20 20 20 20 74 68 69 73 2e 68 69 64 this.hid
000140a0: 65 28 29 5c 6e 20 20 20 20 20 20 20 20 7d 5c 6e e()\n }\n
000140b0: 20 20 20 20 20 20 7d 29 5c 6e 20 20 20 20 7d 29 })\n })
000140c0: 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 5f 68 69 64 65 \n }\n\n _hide
000140d0: 4d 6f 64 61 6c 28 29 20 7b 5c 6e 20 20 20 20 74 Modal() {\n t
000140e0: 68 69 73 2e 5f 65 6c 65 6d 65 6e 74 2e 73 74 79 his._element.sty
000140f0: 6c 65 2e 64 69 73 70 6c 61 79 20 3d 20 27 6e 6f le.display = 'no
00014100: 6e 65 27 5c 6e 20 20 20 20 74 68 69 73 2e 5f 65 ne'\n this._e
00014110: 6c 65 6d 65 6e 74 2e 73 65 74 41 74 74 72 69 62 lement.setAttrib
00014120: 75 74 65 28 27 61 72 69 61 2d 68 69 64 64 65 6e ute('aria-hidden
00014130: 27 2c 20 74 72 75 65 29 5c 6e 20 20 20 20 74 68 ', true)\n th
00014140: 69 73 2e 5f 65 6c 65 6d 65 6e 74 2e 72 65 6d 6f is._element.remo
00014150: 76 65 41 74 74 72 69 62 75 74 65 28 27 61 72 69 veAttribute('ari
00014160: 61 2d 6d 6f 64 61 6c 27 29 5c 6e 20 20 20 20 74 a-modal')\n t
00014170: 68 69 73 2e 5f 65 6c 65 6d 65 6e 74 2e 72 65 6d his._element.rem
00014180: 6f 76 65 41 74 74 72 69 62 75 74 65 28 27 72 6f oveAttribute('ro
00014190: 6c 65 27 29 5c 6e 20 20 20 20 74 68 69 73 2e 5f le')\n this._
000141a0: 69 73 54 72 61 6e 73 69 74 69 6f 6e 69 6e 67 20 isTransitioning
000141b0: 3d 20 66 61 6c 73 65 5c 6e 5c 6e 20 20 20 20 74 = false\n\n t
000141c0: 68 69 73 2e 5f 62 61 63 6b 64 72 6f 70 2e 68 69 his._backdrop.hi
000141d0: 64 65 28 28 29 20 3d 3e 20 7b 5c 6e 20 20 20 20 de(() => {\n
000141e0: 20 20 64 6f 63 75 6d 65 6e 74 2e 62 6f 64 79 2e document.body.
000141f0: 63 6c 61 73 73 4c 69 73 74 2e 72 65 6d 6f 76 65 classList.remove
00014200: 28 43 4c 41 53 53 5f 4e 41 4d 45 5f 4f 50 45 4e (CLASS_NAME_OPEN
00014210: 29 5c 6e 20 20 20 20 20 20 74 68 69 73 2e 5f 72 )\n this._r
00014220: 65 73 65 74 41 64 6a 75 73 74 6d 65 6e 74 73 28 esetAdjustments(
00014230: 29 5c 6e 20 20 20 20 20 20 74 68 69 73 2e 5f 73 )\n this._s
00014240: 63 72 6f 6c 6c 42 61 72 2e 72 65 73 65 74 28 29 crollBar.reset()
00014250: 5c 6e 20 20 20 20 20 20 45 76 65 6e 74 48 61 6e \n EventHan
00014260: 64 6c 65 72 2e 74 72 69 67 67 65 72 28 74 68 69 dler.trigger(thi
00014270: 73 2e 5f 65 6c 65 6d 65 6e 74 2c 20 45 56 45 4e s._element, EVEN
00014280: 54 5f 48 49 44 44 45 4e 29 5c 6e 20 20 20 20 7d T_HIDDEN)\n }
00014290: 29 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 5f 69 73 41 )\n }\n\n _isA
000142a0: 6e 69 6d 61 74 65 64 28 29 20 7b 5c 6e 20 20 20 nimated() {\n
000142b0: 20 72 65 74 75 72 6e 20 74 68 69 73 2e 5f 65 6c return this._el
000142c0: 65 6d 65 6e 74 2e 63 6c 61 73 73 4c 69 73 74 2e ement.classList.
000142d0: 63 6f 6e 74 61 69 6e 73 28 43 4c 41 53 53 5f 4e contains(CLASS_N
000142e0: 41 4d 45 5f 46 41 44 45 29 5c 6e 20 20 7d 5c 6e AME_FADE)\n }\n
000142f0: 5c 6e 20 20 5f 74 72 69 67 67 65 72 42 61 63 6b \n _triggerBack
00014300: 64 72 6f 70 54 72 61 6e 73 69 74 69 6f 6e 28 29 dropTransition()
00014310: 20 7b 5c 6e 20 20 20 20 63 6f 6e 73 74 20 68 69 {\n const hi
00014320: 64 65 45 76 65 6e 74 20 3d 20 45 76 65 6e 74 48 deEvent = EventH
00014330: 61 6e 64 6c 65 72 2e 74 72 69 67 67 65 72 28 74 andler.trigger(t
00014340: 68 69 73 2e 5f 65 6c 65 6d 65 6e 74 2c 20 45 56 his._element, EV
00014350: 45 4e 54 5f 48 49 44 45 5f 50 52 45 56 45 4e 54 ENT_HIDE_PREVENT
00014360: 45 44 29 5c 6e 20 20 20 20 69 66 20 28 68 69 64 ED)\n if (hid
00014370: 65 45 76 65 6e 74 2e 64 65 66 61 75 6c 74 50 72 eEvent.defaultPr
00014380: 65 76 65 6e 74 65 64 29 20 7b 5c 6e 20 20 20 20 evented) {\n
00014390: 20 20 72 65 74 75 72 6e 5c 6e 20 20 20 20 7d 5c return\n }\
000143a0: 6e 5c 6e 20 20 20 20 63 6f 6e 73 74 20 69 73 4d n\n const isM
000143b0: 6f 64 61 6c 4f 76 65 72 66 6c 6f 77 69 6e 67 20 odalOverflowing
000143c0: 3d 20 74 68 69 73 2e 5f 65 6c 65 6d 65 6e 74 2e = this._element.
000143d0: 73 63 72 6f 6c 6c 48 65 69 67 68 74 20 3e 20 64 scrollHeight > d
000143e0: 6f 63 75 6d 65 6e 74 2e 64 6f 63 75 6d 65 6e 74 ocument.document
000143f0: 45 6c 65 6d 65 6e 74 2e 63 6c 69 65 6e 74 48 65 Element.clientHe
00014400: 69 67 68 74 5c 6e 20 20 20 20 63 6f 6e 73 74 20 ight\n const
00014410: 69 6e 69 74 69 61 6c 4f 76 65 72 66 6c 6f 77 59 initialOverflowY
00014420: 20 3d 20 74 68 69 73 2e 5f 65 6c 65 6d 65 6e 74 = this._element
00014430: 2e 73 74 79 6c 65 2e 6f 76 65 72 66 6c 6f 77 59 .style.overflowY
00014440: 5c 6e 20 20 20 20 2f 2f 20 72 65 74 75 72 6e 20 \n // return
00014450: 69 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 if the following
00014460: 20 62 61 63 6b 67 72 6f 75 6e 64 20 74 72 61 6e background tran
00014470: 73 69 74 69 6f 6e 20 68 61 73 6e 27 74 20 79 65 sition hasn't ye
00014480: 74 20 63 6f 6d 70 6c 65 74 65 64 5c 6e 20 20 20 t completed\n
00014490: 20 69 66 20 28 69 6e 69 74 69 61 6c 4f 76 65 72 if (initialOver
000144a0: 66 6c 6f 77 59 20 3d 3d 3d 20 27 68 69 64 64 65 flowY === 'hidde
000144b0: 6e 27 20 7c 7c 20 74 68 69 73 2e 5f 65 6c 65 6d n' || this._elem
000144c0: 65 6e 74 2e 63 6c 61 73 73 4c 69 73 74 2e 63 6f ent.classList.co
000144d0: 6e 74 61 69 6e 73 28 43 4c 41 53 53 5f 4e 41 4d ntains(CLASS_NAM
000144e0: 45 5f 53 54 41 54 49 43 29 29 20 7b 5c 6e 20 20 E_STATIC)) {\n
000144f0: 20 20 20 20 72 65 74 75 72 6e 5c 6e 20 20 20 20 return\n
00014500: 7d 5c 6e 5c 6e 20 20 20 20 69 66 20 28 21 69 73 }\n\n if (!is
00014510: 4d 6f 64 61 6c 4f 76 65 72 66 6c 6f 77 69 6e 67 ModalOverflowing
00014520: 29 20 7b 5c 6e 20 20 20 20 20 20 74 68 69 73 2e ) {\n this.
00014530: 5f 65 6c 65 6d 65 6e 74 2e 73 74 79 6c 65 2e 6f _element.style.o
00014540: 76 65 72 66 6c 6f 77 59 20 3d 20 27 68 69 64 64 verflowY = 'hidd
00014550: 65 6e 27 5c 6e 20 20 20 20 7d 5c 6e 5c 6e 20 20 en'\n }\n\n
00014560: 20 20 74 68 69 73 2e 5f 65 6c 65 6d 65 6e 74 2e this._element.
00014570: 63 6c 61 73 73 4c 69 73 74 2e 61 64 64 28 43 4c classList.add(CL
00014580: 41 53 53 5f 4e 41 4d 45 5f 53 54 41 54 49 43 29 ASS_NAME_STATIC)
00014590: 5c 6e 20 20 20 20 74 68 69 73 2e 5f 71 75 65 75 \n this._queu
000145a0: 65 43 61 6c 6c 62 61 63 6b 28 28 29 20 3d 3e 20 eCallback(() =>
000145b0: 7b 5c 6e 20 20 20 20 20 20 74 68 69 73 2e 5f 65 {\n this._e
000145c0: 6c 65 6d 65 6e 74 2e 63 6c 61 73 73 4c 69 73 74 lement.classList
000145d0: 2e 72 65 6d 6f 76 65 28 43 4c 41 53 53 5f 4e 41 .remove(CLASS_NA
000145e0: 4d 45 5f 53 54 41 54 49 43 29 5c 6e 20 20 20 20 ME_STATIC)\n
000145f0: 20 20 74 68 69 73 2e 5f 71 75 65 75 65 43 61 6c this._queueCal
00014600: 6c 62 61 63 6b 28 28 29 20 3d 3e 20 7b 5c 6e 20 lback(() => {\n
00014610: 20 20 20 20 20 20 20 74 68 69 73 2e 5f 65 6c 65 this._ele
00014620: 6d 65 6e 74 2e 73 74 79 6c 65 2e 6f 76 65 72 66 ment.style.overf
00014630: 6c 6f 77 59 20 3d 20 69 6e 69 74 69 61 6c 4f 76 lowY = initialOv
00014640: 65 72 66 6c 6f 77 59 5c 6e 20 20 20 20 20 20 7d erflowY\n }
00014650: 2c 20 74 68 69 73 2e 5f 64 69 61 6c 6f 67 29 5c , this._dialog)\
00014660: 6e 20 20 20 20 7d 2c 20 74 68 69 73 2e 5f 64 69 n }, this._di
00014670: 61 6c 6f 67 29 5c 6e 5c 6e 20 20 20 20 74 68 69 alog)\n\n thi
00014680: 73 2e 5f 65 6c 65 6d 65 6e 74 2e 66 6f 63 75 73 s._element.focus
00014690: 28 29 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 2f 2a 2a ()\n }\n\n /**
000146a0: 5c 6e 20 20 20 2a 20 54 68 65 20 66 6f 6c 6c 6f \n * The follo
000146b0: 77 69 6e 67 20 6d 65 74 68 6f 64 73 20 61 72 65 wing methods are
000146c0: 20 75 73 65 64 20 74 6f 20 68 61 6e 64 6c 65 20 used to handle
000146d0: 6f 76 65 72 66 6c 6f 77 69 6e 67 20 6d 6f 64 61 overflowing moda
000146e0: 6c 73 5c 6e 20 20 20 2a 2f 5c 6e 5c 6e 20 20 5f ls\n */\n\n _
000146f0: 61 64 6a 75 73 74 44 69 61 6c 6f 67 28 29 20 7b adjustDialog() {
00014700: 5c 6e 20 20 20 20 63 6f 6e 73 74 20 69 73 4d 6f \n const isMo
00014710: 64 61 6c 4f 76 65 72 66 6c 6f 77 69 6e 67 20 3d dalOverflowing =
00014720: 20 74 68 69 73 2e 5f 65 6c 65 6d 65 6e 74 2e 73 this._element.s
00014730: 63 72 6f 6c 6c 48 65 69 67 68 74 20 3e 20 64 6f crollHeight > do
00014740: 63 75 6d 65 6e 74 2e 64 6f 63 75 6d 65 6e 74 45 cument.documentE
00014750: 6c 65 6d 65 6e 74 2e 63 6c 69 65 6e 74 48 65 69 lement.clientHei
00014760: 67 68 74 5c 6e 20 20 20 20 63 6f 6e 73 74 20 73 ght\n const s
00014770: 63 72 6f 6c 6c 62 61 72 57 69 64 74 68 20 3d 20 crollbarWidth =
00014780: 74 68 69 73 2e 5f 73 63 72 6f 6c 6c 42 61 72 2e this._scrollBar.
00014790: 67 65 74 57 69 64 74 68 28 29 5c 6e 20 20 20 20 getWidth()\n
000147a0: 63 6f 6e 73 74 20 69 73 42 6f 64 79 4f 76 65 72 const isBodyOver
000147b0: 66 6c 6f 77 69 6e 67 20 3d 20 73 63 72 6f 6c 6c flowing = scroll
000147c0: 62 61 72 57 69 64 74 68 20 3e 20 30 5c 6e 5c 6e barWidth > 0\n\n
000147d0: 20 20 20 20 69 66 20 28 69 73 42 6f 64 79 4f 76 if (isBodyOv
000147e0: 65 72 66 6c 6f 77 69 6e 67 20 26 26 20 21 69 73 erflowing && !is
000147f0: 4d 6f 64 61 6c 4f 76 65 72 66 6c 6f 77 69 6e 67 ModalOverflowing
00014800: 29 20 7b 5c 6e 20 20 20 20 20 20 63 6f 6e 73 74 ) {\n const
00014810: 20 70 72 6f 70 65 72 74 79 20 3d 20 69 73 52 54 property = isRT
00014820: 4c 28 29 20 3f 20 27 70 61 64 64 69 6e 67 4c 65 L() ? 'paddingLe
00014830: 66 74 27 20 3a 20 27 70 61 64 64 69 6e 67 52 69 ft' : 'paddingRi
00014840: 67 68 74 27 5c 6e 20 20 20 20 20 20 74 68 69 73 ght'\n this
00014850: 2e 5f 65 6c 65 6d 65 6e 74 2e 73 74 79 6c 65 5b ._element.style[
00014860: 70 72 6f 70 65 72 74 79 5d 20 3d 20 60 24 7b 73 property] = `${s
00014870: 63 72 6f 6c 6c 62 61 72 57 69 64 74 68 7d 70 78 crollbarWidth}px
00014880: 60 5c 6e 20 20 20 20 7d 5c 6e 5c 6e 20 20 20 20 `\n }\n\n
00014890: 69 66 20 28 21 69 73 42 6f 64 79 4f 76 65 72 66 if (!isBodyOverf
000148a0: 6c 6f 77 69 6e 67 20 26 26 20 69 73 4d 6f 64 61 lowing && isModa
000148b0: 6c 4f 76 65 72 66 6c 6f 77 69 6e 67 29 20 7b 5c lOverflowing) {\
000148c0: 6e 20 20 20 20 20 20 63 6f 6e 73 74 20 70 72 6f n const pro
000148d0: 70 65 72 74 79 20 3d 20 69 73 52 54 4c 28 29 20 perty = isRTL()
000148e0: 3f 20 27 70 61 64 64 69 6e 67 52 69 67 68 74 27 ? 'paddingRight'
000148f0: 20 3a 20 27 70 61 64 64 69 6e 67 4c 65 66 74 27 : 'paddingLeft'
00014900: 5c 6e 20 20 20 20 20 20 74 68 69 73 2e 5f 65 6c \n this._el
00014910: 65 6d 65 6e 74 2e 73 74 79 6c 65 5b 70 72 6f 70 ement.style[prop
00014920: 65 72 74 79 5d 20 3d 20 60 24 7b 73 63 72 6f 6c erty] = `${scrol
00014930: 6c 62 61 72 57 69 64 74 68 7d 70 78 60 5c 6e 20 lbarWidth}px`\n
00014940: 20 20 20 7d 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 5f }\n }\n\n _
00014950: 72 65 73 65 74 41 64 6a 75 73 74 6d 65 6e 74 73 resetAdjustments
00014960: 28 29 20 7b 5c 6e 20 20 20 20 74 68 69 73 2e 5f () {\n this._
00014970: 65 6c 65 6d 65 6e 74 2e 73 74 79 6c 65 2e 70 61 element.style.pa
00014980: 64 64 69 6e 67 4c 65 66 74 20 3d 20 27 27 5c 6e ddingLeft = ''\n
00014990: 20 20 20 20 74 68 69 73 2e 5f 65 6c 65 6d 65 6e this._elemen
000149a0: 74 2e 73 74 79 6c 65 2e 70 61 64 64 69 6e 67 52 t.style.paddingR
000149b0: 69 67 68 74 20 3d 20 27 27 5c 6e 20 20 7d 5c 6e ight = ''\n }\n
000149c0: 5c 6e 20 20 2f 2f 20 53 74 61 74 69 63 5c 6e 20 \n // Static\n
000149d0: 20 73 74 61 74 69 63 20 6a 51 75 65 72 79 49 6e static jQueryIn
000149e0: 74 65 72 66 61 63 65 28 63 6f 6e 66 69 67 2c 20 terface(config,
000149f0: 72 65 6c 61 74 65 64 54 61 72 67 65 74 29 20 7b relatedTarget) {
00014a00: 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 74 68 69 \n return thi
00014a10: 73 2e 65 61 63 68 28 66 75 6e 63 74 69 6f 6e 20 s.each(function
00014a20: 28 29 20 7b 5c 6e 20 20 20 20 20 20 63 6f 6e 73 () {\n cons
00014a30: 74 20 64 61 74 61 20 3d 20 4d 6f 64 61 6c 2e 67 t data = Modal.g
00014a40: 65 74 4f 72 43 72 65 61 74 65 49 6e 73 74 61 6e etOrCreateInstan
00014a50: 63 65 28 74 68 69 73 2c 20 63 6f 6e 66 69 67 29 ce(this, config)
00014a60: 5c 6e 5c 6e 20 20 20 20 20 20 69 66 20 28 74 79 \n\n if (ty
00014a70: 70 65 6f 66 20 63 6f 6e 66 69 67 20 21 3d 3d 20 peof config !==
00014a80: 27 73 74 72 69 6e 67 27 29 20 7b 5c 6e 20 20 20 'string') {\n
00014a90: 20 20 20 20 20 72 65 74 75 72 6e 5c 6e 20 20 20 return\n
00014aa0: 20 20 20 7d 5c 6e 5c 6e 20 20 20 20 20 20 69 66 }\n\n if
00014ab0: 20 28 74 79 70 65 6f 66 20 64 61 74 61 5b 63 6f (typeof data[co
00014ac0: 6e 66 69 67 5d 20 3d 3d 3d 20 27 75 6e 64 65 66 nfig] === 'undef
00014ad0: 69 6e 65 64 27 29 20 7b 5c 6e 20 20 20 20 20 20 ined') {\n
00014ae0: 20 20 74 68 72 6f 77 20 6e 65 77 20 54 79 70 65 throw new Type
00014af0: 45 72 72 6f 72 28 60 4e 6f 20 6d 65 74 68 6f 64 Error(`No method
00014b00: 20 6e 61 6d 65 64 20 5c 22 24 7b 63 6f 6e 66 69 named \"${confi
00014b10: 67 7d 5c 22 60 29 5c 6e 20 20 20 20 20 20 7d 5c g}\"`)\n }\
00014b20: 6e 5c 6e 20 20 20 20 20 20 64 61 74 61 5b 63 6f n\n data[co
00014b30: 6e 66 69 67 5d 28 72 65 6c 61 74 65 64 54 61 72 nfig](relatedTar
00014b40: 67 65 74 29 5c 6e 20 20 20 20 7d 29 5c 6e 20 20 get)\n })\n
00014b50: 7d 5c 6e 7d 5c 6e 5c 6e 2f 2a 2a 5c 6e 20 2a 20 }\n}\n\n/**\n *
00014b60: 44 61 74 61 20 41 50 49 20 69 6d 70 6c 65 6d 65 Data API impleme
00014b70: 6e 74 61 74 69 6f 6e 5c 6e 20 2a 2f 5c 6e 5c 6e ntation\n */\n\n
00014b80: 45 76 65 6e 74 48 61 6e 64 6c 65 72 2e 6f 6e 28 EventHandler.on(
00014b90: 64 6f 63 75 6d 65 6e 74 2c 20 45 56 45 4e 54 5f document, EVENT_
00014ba0: 43 4c 49 43 4b 5f 44 41 54 41 5f 41 50 49 2c 20 CLICK_DATA_API,
00014bb0: 53 45 4c 45 43 54 4f 52 5f 44 41 54 41 5f 54 4f SELECTOR_DATA_TO
00014bc0: 47 47 4c 45 2c 20 66 75 6e 63 74 69 6f 6e 20 28 GGLE, function (
00014bd0: 65 76 65 6e 74 29 20 7b 5c 6e 20 20 63 6f 6e 73 event) {\n cons
00014be0: 74 20 74 61 72 67 65 74 20 3d 20 53 65 6c 65 63 t target = Selec
00014bf0: 74 6f 72 45 6e 67 69 6e 65 2e 67 65 74 45 6c 65 torEngine.getEle
00014c00: 6d 65 6e 74 46 72 6f 6d 53 65 6c 65 63 74 6f 72 mentFromSelector
00014c10: 28 74 68 69 73 29 5c 6e 5c 6e 20 20 69 66 20 28 (this)\n\n if (
00014c20: 5b 27 41 27 2c 20 27 41 52 45 41 27 5d 2e 69 6e ['A', 'AREA'].in
00014c30: 63 6c 75 64 65 73 28 74 68 69 73 2e 74 61 67 4e cludes(this.tagN
00014c40: 61 6d 65 29 29 20 7b 5c 6e 20 20 20 20 65 76 65 ame)) {\n eve
00014c50: 6e 74 2e 70 72 65 76 65 6e 74 44 65 66 61 75 6c nt.preventDefaul
00014c60: 74 28 29 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 45 76 t()\n }\n\n Ev
00014c70: 65 6e 74 48 61 6e 64 6c 65 72 2e 6f 6e 65 28 74 entHandler.one(t
00014c80: 61 72 67 65 74 2c 20 45 56 45 4e 54 5f 53 48 4f arget, EVENT_SHO
00014c90: 57 2c 20 73 68 6f 77 45 76 65 6e 74 20 3d 3e 20 W, showEvent =>
00014ca0: 7b 5c 6e 20 20 20 20 69 66 20 28 73 68 6f 77 45 {\n if (showE
00014cb0: 76 65 6e 74 2e 64 65 66 61 75 6c 74 50 72 65 76 vent.defaultPrev
00014cc0: 65 6e 74 65 64 29 20 7b 5c 6e 20 20 20 20 20 20 ented) {\n
00014cd0: 2f 2f 20 6f 6e 6c 79 20 72 65 67 69 73 74 65 72 // only register
00014ce0: 20 66 6f 63 75 73 20 72 65 73 74 6f 72 65 72 20 focus restorer
00014cf0: 69 66 20 6d 6f 64 61 6c 20 77 69 6c 6c 20 61 63 if modal will ac
00014d00: 74 75 61 6c 6c 79 20 67 65 74 20 73 68 6f 77 6e tually get shown
00014d10: 5c 6e 20 20 20 20 20 20 72 65 74 75 72 6e 5c 6e \n return\n
00014d20: 20 20 20 20 7d 5c 6e 5c 6e 20 20 20 20 45 76 65 }\n\n Eve
00014d30: 6e 74 48 61 6e 64 6c 65 72 2e 6f 6e 65 28 74 61 ntHandler.one(ta
00014d40: 72 67 65 74 2c 20 45 56 45 4e 54 5f 48 49 44 44 rget, EVENT_HIDD
00014d50: 45 4e 2c 20 28 29 20 3d 3e 20 7b 5c 6e 20 20 20 EN, () => {\n
00014d60: 20 20 20 69 66 20 28 69 73 56 69 73 69 62 6c 65 if (isVisible
00014d70: 28 74 68 69 73 29 29 20 7b 5c 6e 20 20 20 20 20 (this)) {\n
00014d80: 20 20 20 74 68 69 73 2e 66 6f 63 75 73 28 29 5c this.focus()\
00014d90: 6e 20 20 20 20 20 20 7d 5c 6e 20 20 20 20 7d 29 n }\n })
00014da0: 5c 6e 20 20 7d 29 5c 6e 5c 6e 20 20 2f 2f 20 61 \n })\n\n // a
00014db0: 76 6f 69 64 20 63 6f 6e 66 6c 69 63 74 20 77 68 void conflict wh
00014dc0: 65 6e 20 63 6c 69 63 6b 69 6e 67 20 6d 6f 64 61 en clicking moda
00014dd0: 6c 20 74 6f 67 67 6c 65 72 20 77 68 69 6c 65 20 l toggler while
00014de0: 61 6e 6f 74 68 65 72 20 6f 6e 65 20 69 73 20 6f another one is o
00014df0: 70 65 6e 5c 6e 20 20 63 6f 6e 73 74 20 61 6c 72 pen\n const alr
00014e00: 65 61 64 79 4f 70 65 6e 20 3d 20 53 65 6c 65 63 eadyOpen = Selec
00014e10: 74 6f 72 45 6e 67 69 6e 65 2e 66 69 6e 64 4f 6e torEngine.findOn
00014e20: 65 28 4f 50 45 4e 5f 53 45 4c 45 43 54 4f 52 29 e(OPEN_SELECTOR)
00014e30: 5c 6e 20 20 69 66 20 28 61 6c 72 65 61 64 79 4f \n if (alreadyO
00014e40: 70 65 6e 29 20 7b 5c 6e 20 20 20 20 4d 6f 64 61 pen) {\n Moda
00014e50: 6c 2e 67 65 74 49 6e 73 74 61 6e 63 65 28 61 6c l.getInstance(al
00014e60: 72 65 61 64 79 4f 70 65 6e 29 2e 68 69 64 65 28 readyOpen).hide(
00014e70: 29 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 63 6f 6e 73 )\n }\n\n cons
00014e80: 74 20 64 61 74 61 20 3d 20 4d 6f 64 61 6c 2e 67 t data = Modal.g
00014e90: 65 74 4f 72 43 72 65 61 74 65 49 6e 73 74 61 6e etOrCreateInstan
00014ea0: 63 65 28 74 61 72 67 65 74 29 5c 6e 5c 6e 20 20 ce(target)\n\n
00014eb0: 64 61 74 61 2e 74 6f 67 67 6c 65 28 74 68 69 73 data.toggle(this
00014ec0: 29 5c 6e 7d 29 5c 6e 5c 6e 65 6e 61 62 6c 65 44 )\n})\n\nenableD
00014ed0: 69 73 6d 69 73 73 54 72 69 67 67 65 72 28 4d 6f ismissTrigger(Mo
00014ee0: 64 61 6c 29 5c 6e 5c 6e 2f 2a 2a 5c 6e 20 2a 20 dal)\n\n/**\n *
00014ef0: 6a 51 75 65 72 79 5c 6e 20 2a 2f 5c 6e 5c 6e 64 jQuery\n */\n\nd
00014f00: 65 66 69 6e 65 4a 51 75 65 72 79 50 6c 75 67 69 efineJQueryPlugi
00014f10: 6e 28 4d 6f 64 61 6c 29 5c 6e 5c 6e 65 78 70 6f n(Modal)\n\nexpo
00014f20: 72 74 20 64 65 66 61 75 6c 74 20 4d 6f 64 61 6c rt default Modal
00014f30: 5c 6e 22 2c 22 2f 2a 2a 5c 6e 20 2a 20 2d 2d 2d \n","/**\n * ---
00014f40: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
00014f50: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
00014f60: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
00014f70: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
00014f80: 2d 2d 2d 2d 2d 2d 2d 5c 6e 20 2a 20 42 6f 6f 74 -------\n * Boot
00014f90: 73 74 72 61 70 20 6f 66 66 63 61 6e 76 61 73 2e strap offcanvas.
00014fa0: 6a 73 5c 6e 20 2a 20 4c 69 63 65 6e 73 65 64 20 js\n * Licensed
00014fb0: 75 6e 64 65 72 20 4d 49 54 20 28 68 74 74 70 73 under MIT (https
00014fc0: 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 74 77 ://github.com/tw
00014fd0: 62 73 2f 62 6f 6f 74 73 74 72 61 70 2f 62 6c 6f bs/bootstrap/blo
00014fe0: 62 2f 6d 61 69 6e 2f 4c 49 43 45 4e 53 45 29 5c b/main/LICENSE)\
00014ff0: 6e 20 2a 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d n * ------------
00015000: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
00015010: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
00015020: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
00015030: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e --------------\n
00015040: 20 2a 2f 5c 6e 5c 6e 69 6d 70 6f 72 74 20 42 61 */\n\nimport Ba
00015050: 73 65 43 6f 6d 70 6f 6e 65 6e 74 20 66 72 6f 6d seComponent from
00015060: 20 27 2e 2f 62 61 73 65 2d 63 6f 6d 70 6f 6e 65 './base-compone
00015070: 6e 74 2e 6a 73 27 5c 6e 69 6d 70 6f 72 74 20 45 nt.js'\nimport E
00015080: 76 65 6e 74 48 61 6e 64 6c 65 72 20 66 72 6f 6d ventHandler from
00015090: 20 27 2e 2f 64 6f 6d 2f 65 76 65 6e 74 2d 68 61 './dom/event-ha
000150a0: 6e 64 6c 65 72 2e 6a 73 27 5c 6e 69 6d 70 6f 72 ndler.js'\nimpor
000150b0: 74 20 53 65 6c 65 63 74 6f 72 45 6e 67 69 6e 65 t SelectorEngine
000150c0: 20 66 72 6f 6d 20 27 2e 2f 64 6f 6d 2f 73 65 6c from './dom/sel
000150d0: 65 63 74 6f 72 2d 65 6e 67 69 6e 65 2e 6a 73 27 ector-engine.js'
000150e0: 5c 6e 69 6d 70 6f 72 74 20 42 61 63 6b 64 72 6f \nimport Backdro
000150f0: 70 20 66 72 6f 6d 20 27 2e 2f 75 74 69 6c 2f 62 p from './util/b
00015100: 61 63 6b 64 72 6f 70 2e 6a 73 27 5c 6e 69 6d 70 ackdrop.js'\nimp
00015110: 6f 72 74 20 7b 20 65 6e 61 62 6c 65 44 69 73 6d ort { enableDism
00015120: 69 73 73 54 72 69 67 67 65 72 20 7d 20 66 72 6f issTrigger } fro
00015130: 6d 20 27 2e 2f 75 74 69 6c 2f 63 6f 6d 70 6f 6e m './util/compon
00015140: 65 6e 74 2d 66 75 6e 63 74 69 6f 6e 73 2e 6a 73 ent-functions.js
00015150: 27 5c 6e 69 6d 70 6f 72 74 20 46 6f 63 75 73 54 '\nimport FocusT
00015160: 72 61 70 20 66 72 6f 6d 20 27 2e 2f 75 74 69 6c rap from './util
00015170: 2f 66 6f 63 75 73 74 72 61 70 2e 6a 73 27 5c 6e /focustrap.js'\n
00015180: 69 6d 70 6f 72 74 20 7b 5c 6e 20 20 64 65 66 69 import {\n defi
00015190: 6e 65 4a 51 75 65 72 79 50 6c 75 67 69 6e 2c 5c neJQueryPlugin,\
000151a0: 6e 20 20 69 73 44 69 73 61 62 6c 65 64 2c 5c 6e n isDisabled,\n
000151b0: 20 20 69 73 56 69 73 69 62 6c 65 5c 6e 7d 20 66 isVisible\n} f
000151c0: 72 6f 6d 20 27 2e 2f 75 74 69 6c 2f 69 6e 64 65 rom './util/inde
000151d0: 78 2e 6a 73 27 5c 6e 69 6d 70 6f 72 74 20 53 63 x.js'\nimport Sc
000151e0: 72 6f 6c 6c 42 61 72 48 65 6c 70 65 72 20 66 72 rollBarHelper fr
000151f0: 6f 6d 20 27 2e 2f 75 74 69 6c 2f 73 63 72 6f 6c om './util/scrol
00015200: 6c 62 61 72 2e 6a 73 27 5c 6e 5c 6e 2f 2a 2a 5c lbar.js'\n\n/**\
00015210: 6e 20 2a 20 43 6f 6e 73 74 61 6e 74 73 5c 6e 20 n * Constants\n
00015220: 2a 2f 5c 6e 5c 6e 63 6f 6e 73 74 20 4e 41 4d 45 */\n\nconst NAME
00015230: 20 3d 20 27 6f 66 66 63 61 6e 76 61 73 27 5c 6e = 'offcanvas'\n
00015240: 63 6f 6e 73 74 20 44 41 54 41 5f 4b 45 59 20 3d const DATA_KEY =
00015250: 20 27 62 73 2e 6f 66 66 63 61 6e 76 61 73 27 5c 'bs.offcanvas'\
00015260: 6e 63 6f 6e 73 74 20 45 56 45 4e 54 5f 4b 45 59 nconst EVENT_KEY
00015270: 20 3d 20 60 2e 24 7b 44 41 54 41 5f 4b 45 59 7d = `.${DATA_KEY}
00015280: 60 5c 6e 63 6f 6e 73 74 20 44 41 54 41 5f 41 50 `\nconst DATA_AP
00015290: 49 5f 4b 45 59 20 3d 20 27 2e 64 61 74 61 2d 61 I_KEY = '.data-a
000152a0: 70 69 27 5c 6e 63 6f 6e 73 74 20 45 56 45 4e 54 pi'\nconst EVENT
000152b0: 5f 4c 4f 41 44 5f 44 41 54 41 5f 41 50 49 20 3d _LOAD_DATA_API =
000152c0: 20 60 6c 6f 61 64 24 7b 45 56 45 4e 54 5f 4b 45 `load${EVENT_KE
000152d0: 59 7d 24 7b 44 41 54 41 5f 41 50 49 5f 4b 45 59 Y}${DATA_API_KEY
000152e0: 7d 60 5c 6e 63 6f 6e 73 74 20 45 53 43 41 50 45 }`\nconst ESCAPE
000152f0: 5f 4b 45 59 20 3d 20 27 45 73 63 61 70 65 27 5c _KEY = 'Escape'\
00015300: 6e 5c 6e 63 6f 6e 73 74 20 43 4c 41 53 53 5f 4e n\nconst CLASS_N
00015310: 41 4d 45 5f 53 48 4f 57 20 3d 20 27 73 68 6f 77 AME_SHOW = 'show
00015320: 27 5c 6e 63 6f 6e 73 74 20 43 4c 41 53 53 5f 4e '\nconst CLASS_N
00015330: 41 4d 45 5f 53 48 4f 57 49 4e 47 20 3d 20 27 73 AME_SHOWING = 's
00015340: 68 6f 77 69 6e 67 27 5c 6e 63 6f 6e 73 74 20 43 howing'\nconst C
00015350: 4c 41 53 53 5f 4e 41 4d 45 5f 48 49 44 49 4e 47 LASS_NAME_HIDING
00015360: 20 3d 20 27 68 69 64 69 6e 67 27 5c 6e 63 6f 6e = 'hiding'\ncon
00015370: 73 74 20 43 4c 41 53 53 5f 4e 41 4d 45 5f 42 41 st CLASS_NAME_BA
00015380: 43 4b 44 52 4f 50 20 3d 20 27 6f 66 66 63 61 6e CKDROP = 'offcan
00015390: 76 61 73 2d 62 61 63 6b 64 72 6f 70 27 5c 6e 63 vas-backdrop'\nc
000153a0: 6f 6e 73 74 20 4f 50 45 4e 5f 53 45 4c 45 43 54 onst OPEN_SELECT
000153b0: 4f 52 20 3d 20 27 2e 6f 66 66 63 61 6e 76 61 73 OR = '.offcanvas
000153c0: 2e 73 68 6f 77 27 5c 6e 5c 6e 63 6f 6e 73 74 20 .show'\n\nconst
000153d0: 45 56 45 4e 54 5f 53 48 4f 57 20 3d 20 60 73 68 EVENT_SHOW = `sh
000153e0: 6f 77 24 7b 45 56 45 4e 54 5f 4b 45 59 7d 60 5c ow${EVENT_KEY}`\
000153f0: 6e 63 6f 6e 73 74 20 45 56 45 4e 54 5f 53 48 4f nconst EVENT_SHO
00015400: 57 4e 20 3d 20 60 73 68 6f 77 6e 24 7b 45 56 45 WN = `shown${EVE
00015410: 4e 54 5f 4b 45 59 7d 60 5c 6e 63 6f 6e 73 74 20 NT_KEY}`\nconst
00015420: 45 56 45 4e 54 5f 48 49 44 45 20 3d 20 60 68 69 EVENT_HIDE = `hi
00015430: 64 65 24 7b 45 56 45 4e 54 5f 4b 45 59 7d 60 5c de${EVENT_KEY}`\
00015440: 6e 63 6f 6e 73 74 20 45 56 45 4e 54 5f 48 49 44 nconst EVENT_HID
00015450: 45 5f 50 52 45 56 45 4e 54 45 44 20 3d 20 60 68 E_PREVENTED = `h
00015460: 69 64 65 50 72 65 76 65 6e 74 65 64 24 7b 45 56 idePrevented${EV
00015470: 45 4e 54 5f 4b 45 59 7d 60 5c 6e 63 6f 6e 73 74 ENT_KEY}`\nconst
00015480: 20 45 56 45 4e 54 5f 48 49 44 44 45 4e 20 3d 20 EVENT_HIDDEN =
00015490: 60 68 69 64 64 65 6e 24 7b 45 56 45 4e 54 5f 4b `hidden${EVENT_K
000154a0: 45 59 7d 60 5c 6e 63 6f 6e 73 74 20 45 56 45 4e EY}`\nconst EVEN
000154b0: 54 5f 52 45 53 49 5a 45 20 3d 20 60 72 65 73 69 T_RESIZE = `resi
000154c0: 7a 65 24 7b 45 56 45 4e 54 5f 4b 45 59 7d 60 5c ze${EVENT_KEY}`\
000154d0: 6e 63 6f 6e 73 74 20 45 56 45 4e 54 5f 43 4c 49 nconst EVENT_CLI
000154e0: 43 4b 5f 44 41 54 41 5f 41 50 49 20 3d 20 60 63 CK_DATA_API = `c
000154f0: 6c 69 63 6b 24 7b 45 56 45 4e 54 5f 4b 45 59 7d lick${EVENT_KEY}
00015500: 24 7b 44 41 54 41 5f 41 50 49 5f 4b 45 59 7d 60 ${DATA_API_KEY}`
00015510: 5c 6e 63 6f 6e 73 74 20 45 56 45 4e 54 5f 4b 45 \nconst EVENT_KE
00015520: 59 44 4f 57 4e 5f 44 49 53 4d 49 53 53 20 3d 20 YDOWN_DISMISS =
00015530: 60 6b 65 79 64 6f 77 6e 2e 64 69 73 6d 69 73 73 `keydown.dismiss
00015540: 24 7b 45 56 45 4e 54 5f 4b 45 59 7d 60 5c 6e 5c ${EVENT_KEY}`\n\
00015550: 6e 63 6f 6e 73 74 20 53 45 4c 45 43 54 4f 52 5f nconst SELECTOR_
00015560: 44 41 54 41 5f 54 4f 47 47 4c 45 20 3d 20 27 5b DATA_TOGGLE = '[
00015570: 64 61 74 61 2d 62 73 2d 74 6f 67 67 6c 65 3d 5c data-bs-toggle=\
00015580: 22 6f 66 66 63 61 6e 76 61 73 5c 22 5d 27 5c 6e "offcanvas\"]'\n
00015590: 5c 6e 63 6f 6e 73 74 20 44 65 66 61 75 6c 74 20 \nconst Default
000155a0: 3d 20 7b 5c 6e 20 20 62 61 63 6b 64 72 6f 70 3a = {\n backdrop:
000155b0: 20 74 72 75 65 2c 5c 6e 20 20 6b 65 79 62 6f 61 true,\n keyboa
000155c0: 72 64 3a 20 74 72 75 65 2c 5c 6e 20 20 73 63 72 rd: true,\n scr
000155d0: 6f 6c 6c 3a 20 66 61 6c 73 65 5c 6e 7d 5c 6e 5c oll: false\n}\n\
000155e0: 6e 63 6f 6e 73 74 20 44 65 66 61 75 6c 74 54 79 nconst DefaultTy
000155f0: 70 65 20 3d 20 7b 5c 6e 20 20 62 61 63 6b 64 72 pe = {\n backdr
00015600: 6f 70 3a 20 27 28 62 6f 6f 6c 65 61 6e 7c 73 74 op: '(boolean|st
00015610: 72 69 6e 67 29 27 2c 5c 6e 20 20 6b 65 79 62 6f ring)',\n keybo
00015620: 61 72 64 3a 20 27 62 6f 6f 6c 65 61 6e 27 2c 5c ard: 'boolean',\
00015630: 6e 20 20 73 63 72 6f 6c 6c 3a 20 27 62 6f 6f 6c n scroll: 'bool
00015640: 65 61 6e 27 5c 6e 7d 5c 6e 5c 6e 2f 2a 2a 5c 6e ean'\n}\n\n/**\n
00015650: 20 2a 20 43 6c 61 73 73 20 64 65 66 69 6e 69 74 * Class definit
00015660: 69 6f 6e 5c 6e 20 2a 2f 5c 6e 5c 6e 63 6c 61 73 ion\n */\n\nclas
00015670: 73 20 4f 66 66 63 61 6e 76 61 73 20 65 78 74 65 s Offcanvas exte
00015680: 6e 64 73 20 42 61 73 65 43 6f 6d 70 6f 6e 65 6e nds BaseComponen
00015690: 74 20 7b 5c 6e 20 20 63 6f 6e 73 74 72 75 63 74 t {\n construct
000156a0: 6f 72 28 65 6c 65 6d 65 6e 74 2c 20 63 6f 6e 66 or(element, conf
000156b0: 69 67 29 20 7b 5c 6e 20 20 20 20 73 75 70 65 72 ig) {\n super
000156c0: 28 65 6c 65 6d 65 6e 74 2c 20 63 6f 6e 66 69 67 (element, config
000156d0: 29 5c 6e 5c 6e 20 20 20 20 74 68 69 73 2e 5f 69 )\n\n this._i
000156e0: 73 53 68 6f 77 6e 20 3d 20 66 61 6c 73 65 5c 6e sShown = false\n
000156f0: 20 20 20 20 74 68 69 73 2e 5f 62 61 63 6b 64 72 this._backdr
00015700: 6f 70 20 3d 20 74 68 69 73 2e 5f 69 6e 69 74 69 op = this._initi
00015710: 61 6c 69 7a 65 42 61 63 6b 44 72 6f 70 28 29 5c alizeBackDrop()\
00015720: 6e 20 20 20 20 74 68 69 73 2e 5f 66 6f 63 75 73 n this._focus
00015730: 74 72 61 70 20 3d 20 74 68 69 73 2e 5f 69 6e 69 trap = this._ini
00015740: 74 69 61 6c 69 7a 65 46 6f 63 75 73 54 72 61 70 tializeFocusTrap
00015750: 28 29 5c 6e 20 20 20 20 74 68 69 73 2e 5f 61 64 ()\n this._ad
00015760: 64 45 76 65 6e 74 4c 69 73 74 65 6e 65 72 73 28 dEventListeners(
00015770: 29 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 2f 2f 20 47 )\n }\n\n // G
00015780: 65 74 74 65 72 73 5c 6e 20 20 73 74 61 74 69 63 etters\n static
00015790: 20 67 65 74 20 44 65 66 61 75 6c 74 28 29 20 7b get Default() {
000157a0: 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 44 65 66 \n return Def
000157b0: 61 75 6c 74 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 73 ault\n }\n\n s
000157c0: 74 61 74 69 63 20 67 65 74 20 44 65 66 61 75 6c tatic get Defaul
000157d0: 74 54 79 70 65 28 29 20 7b 5c 6e 20 20 20 20 72 tType() {\n r
000157e0: 65 74 75 72 6e 20 44 65 66 61 75 6c 74 54 79 70 eturn DefaultTyp
000157f0: 65 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 73 74 61 74 e\n }\n\n stat
00015800: 69 63 20 67 65 74 20 4e 41 4d 45 28 29 20 7b 5c ic get NAME() {\
00015810: 6e 20 20 20 20 72 65 74 75 72 6e 20 4e 41 4d 45 n return NAME
00015820: 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 2f 2f 20 50 75 \n }\n\n // Pu
00015830: 62 6c 69 63 5c 6e 20 20 74 6f 67 67 6c 65 28 72 blic\n toggle(r
00015840: 65 6c 61 74 65 64 54 61 72 67 65 74 29 20 7b 5c elatedTarget) {\
00015850: 6e 20 20 20 20 72 65 74 75 72 6e 20 74 68 69 73 n return this
00015860: 2e 5f 69 73 53 68 6f 77 6e 20 3f 20 74 68 69 73 ._isShown ? this
00015870: 2e 68 69 64 65 28 29 20 3a 20 74 68 69 73 2e 73 .hide() : this.s
00015880: 68 6f 77 28 72 65 6c 61 74 65 64 54 61 72 67 65 how(relatedTarge
00015890: 74 29 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 73 68 6f t)\n }\n\n sho
000158a0: 77 28 72 65 6c 61 74 65 64 54 61 72 67 65 74 29 w(relatedTarget)
000158b0: 20 7b 5c 6e 20 20 20 20 69 66 20 28 74 68 69 73 {\n if (this
000158c0: 2e 5f 69 73 53 68 6f 77 6e 29 20 7b 5c 6e 20 20 ._isShown) {\n
000158d0: 20 20 20 20 72 65 74 75 72 6e 5c 6e 20 20 20 20 return\n
000158e0: 7d 5c 6e 5c 6e 20 20 20 20 63 6f 6e 73 74 20 73 }\n\n const s
000158f0: 68 6f 77 45 76 65 6e 74 20 3d 20 45 76 65 6e 74 howEvent = Event
00015900: 48 61 6e 64 6c 65 72 2e 74 72 69 67 67 65 72 28 Handler.trigger(
00015910: 74 68 69 73 2e 5f 65 6c 65 6d 65 6e 74 2c 20 45 this._element, E
00015920: 56 45 4e 54 5f 53 48 4f 57 2c 20 7b 20 72 65 6c VENT_SHOW, { rel
00015930: 61 74 65 64 54 61 72 67 65 74 20 7d 29 5c 6e 5c atedTarget })\n\
00015940: 6e 20 20 20 20 69 66 20 28 73 68 6f 77 45 76 65 n if (showEve
00015950: 6e 74 2e 64 65 66 61 75 6c 74 50 72 65 76 65 6e nt.defaultPreven
00015960: 74 65 64 29 20 7b 5c 6e 20 20 20 20 20 20 72 65 ted) {\n re
00015970: 74 75 72 6e 5c 6e 20 20 20 20 7d 5c 6e 5c 6e 20 turn\n }\n\n
00015980: 20 20 20 74 68 69 73 2e 5f 69 73 53 68 6f 77 6e this._isShown
00015990: 20 3d 20 74 72 75 65 5c 6e 20 20 20 20 74 68 69 = true\n thi
000159a0: 73 2e 5f 62 61 63 6b 64 72 6f 70 2e 73 68 6f 77 s._backdrop.show
000159b0: 28 29 5c 6e 5c 6e 20 20 20 20 69 66 20 28 21 74 ()\n\n if (!t
000159c0: 68 69 73 2e 5f 63 6f 6e 66 69 67 2e 73 63 72 6f his._config.scro
000159d0: 6c 6c 29 20 7b 5c 6e 20 20 20 20 20 20 6e 65 77 ll) {\n new
000159e0: 20 53 63 72 6f 6c 6c 42 61 72 48 65 6c 70 65 72 ScrollBarHelper
000159f0: 28 29 2e 68 69 64 65 28 29 5c 6e 20 20 20 20 7d ().hide()\n }
00015a00: 5c 6e 5c 6e 20 20 20 20 74 68 69 73 2e 5f 65 6c \n\n this._el
00015a10: 65 6d 65 6e 74 2e 73 65 74 41 74 74 72 69 62 75 ement.setAttribu
00015a20: 74 65 28 27 61 72 69 61 2d 6d 6f 64 61 6c 27 2c te('aria-modal',
00015a30: 20 74 72 75 65 29 5c 6e 20 20 20 20 74 68 69 73 true)\n this
00015a40: 2e 5f 65 6c 65 6d 65 6e 74 2e 73 65 74 41 74 74 ._element.setAtt
00015a50: 72 69 62 75 74 65 28 27 72 6f 6c 65 27 2c 20 27 ribute('role', '
00015a60: 64 69 61 6c 6f 67 27 29 5c 6e 20 20 20 20 74 68 dialog')\n th
00015a70: 69 73 2e 5f 65 6c 65 6d 65 6e 74 2e 63 6c 61 73 is._element.clas
00015a80: 73 4c 69 73 74 2e 61 64 64 28 43 4c 41 53 53 5f sList.add(CLASS_
00015a90: 4e 41 4d 45 5f 53 48 4f 57 49 4e 47 29 5c 6e 5c NAME_SHOWING)\n\
00015aa0: 6e 20 20 20 20 63 6f 6e 73 74 20 63 6f 6d 70 6c n const compl
00015ab0: 65 74 65 43 61 6c 6c 42 61 63 6b 20 3d 20 28 29 eteCallBack = ()
00015ac0: 20 3d 3e 20 7b 5c 6e 20 20 20 20 20 20 69 66 20 => {\n if
00015ad0: 28 21 74 68 69 73 2e 5f 63 6f 6e 66 69 67 2e 73 (!this._config.s
00015ae0: 63 72 6f 6c 6c 20 7c 7c 20 74 68 69 73 2e 5f 63 croll || this._c
00015af0: 6f 6e 66 69 67 2e 62 61 63 6b 64 72 6f 70 29 20 onfig.backdrop)
00015b00: 7b 5c 6e 20 20 20 20 20 20 20 20 74 68 69 73 2e {\n this.
00015b10: 5f 66 6f 63 75 73 74 72 61 70 2e 61 63 74 69 76 _focustrap.activ
00015b20: 61 74 65 28 29 5c 6e 20 20 20 20 20 20 7d 5c 6e ate()\n }\n
00015b30: 5c 6e 20 20 20 20 20 20 74 68 69 73 2e 5f 65 6c \n this._el
00015b40: 65 6d 65 6e 74 2e 63 6c 61 73 73 4c 69 73 74 2e ement.classList.
00015b50: 61 64 64 28 43 4c 41 53 53 5f 4e 41 4d 45 5f 53 add(CLASS_NAME_S
00015b60: 48 4f 57 29 5c 6e 20 20 20 20 20 20 74 68 69 73 HOW)\n this
00015b70: 2e 5f 65 6c 65 6d 65 6e 74 2e 63 6c 61 73 73 4c ._element.classL
00015b80: 69 73 74 2e 72 65 6d 6f 76 65 28 43 4c 41 53 53 ist.remove(CLASS
00015b90: 5f 4e 41 4d 45 5f 53 48 4f 57 49 4e 47 29 5c 6e _NAME_SHOWING)\n
00015ba0: 20 20 20 20 20 20 45 76 65 6e 74 48 61 6e 64 6c EventHandl
00015bb0: 65 72 2e 74 72 69 67 67 65 72 28 74 68 69 73 2e er.trigger(this.
00015bc0: 5f 65 6c 65 6d 65 6e 74 2c 20 45 56 45 4e 54 5f _element, EVENT_
00015bd0: 53 48 4f 57 4e 2c 20 7b 20 72 65 6c 61 74 65 64 SHOWN, { related
00015be0: 54 61 72 67 65 74 20 7d 29 5c 6e 20 20 20 20 7d Target })\n }
00015bf0: 5c 6e 5c 6e 20 20 20 20 74 68 69 73 2e 5f 71 75 \n\n this._qu
00015c00: 65 75 65 43 61 6c 6c 62 61 63 6b 28 63 6f 6d 70 eueCallback(comp
00015c10: 6c 65 74 65 43 61 6c 6c 42 61 63 6b 2c 20 74 68 leteCallBack, th
00015c20: 69 73 2e 5f 65 6c 65 6d 65 6e 74 2c 20 74 72 75 is._element, tru
00015c30: 65 29 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 68 69 64 e)\n }\n\n hid
00015c40: 65 28 29 20 7b 5c 6e 20 20 20 20 69 66 20 28 21 e() {\n if (!
00015c50: 74 68 69 73 2e 5f 69 73 53 68 6f 77 6e 29 20 7b this._isShown) {
00015c60: 5c 6e 20 20 20 20 20 20 72 65 74 75 72 6e 5c 6e \n return\n
00015c70: 20 20 20 20 7d 5c 6e 5c 6e 20 20 20 20 63 6f 6e }\n\n con
00015c80: 73 74 20 68 69 64 65 45 76 65 6e 74 20 3d 20 45 st hideEvent = E
00015c90: 76 65 6e 74 48 61 6e 64 6c 65 72 2e 74 72 69 67 ventHandler.trig
00015ca0: 67 65 72 28 74 68 69 73 2e 5f 65 6c 65 6d 65 6e ger(this._elemen
00015cb0: 74 2c 20 45 56 45 4e 54 5f 48 49 44 45 29 5c 6e t, EVENT_HIDE)\n
00015cc0: 5c 6e 20 20 20 20 69 66 20 28 68 69 64 65 45 76 \n if (hideEv
00015cd0: 65 6e 74 2e 64 65 66 61 75 6c 74 50 72 65 76 65 ent.defaultPreve
00015ce0: 6e 74 65 64 29 20 7b 5c 6e 20 20 20 20 20 20 72 nted) {\n r
00015cf0: 65 74 75 72 6e 5c 6e 20 20 20 20 7d 5c 6e 5c 6e eturn\n }\n\n
00015d00: 20 20 20 20 74 68 69 73 2e 5f 66 6f 63 75 73 74 this._focust
00015d10: 72 61 70 2e 64 65 61 63 74 69 76 61 74 65 28 29 rap.deactivate()
00015d20: 5c 6e 20 20 20 20 74 68 69 73 2e 5f 65 6c 65 6d \n this._elem
00015d30: 65 6e 74 2e 62 6c 75 72 28 29 5c 6e 20 20 20 20 ent.blur()\n
00015d40: 74 68 69 73 2e 5f 69 73 53 68 6f 77 6e 20 3d 20 this._isShown =
00015d50: 66 61 6c 73 65 5c 6e 20 20 20 20 74 68 69 73 2e false\n this.
00015d60: 5f 65 6c 65 6d 65 6e 74 2e 63 6c 61 73 73 4c 69 _element.classLi
00015d70: 73 74 2e 61 64 64 28 43 4c 41 53 53 5f 4e 41 4d st.add(CLASS_NAM
00015d80: 45 5f 48 49 44 49 4e 47 29 5c 6e 20 20 20 20 74 E_HIDING)\n t
00015d90: 68 69 73 2e 5f 62 61 63 6b 64 72 6f 70 2e 68 69 his._backdrop.hi
00015da0: 64 65 28 29 5c 6e 5c 6e 20 20 20 20 63 6f 6e 73 de()\n\n cons
00015db0: 74 20 63 6f 6d 70 6c 65 74 65 43 61 6c 6c 62 61 t completeCallba
00015dc0: 63 6b 20 3d 20 28 29 20 3d 3e 20 7b 5c 6e 20 20 ck = () => {\n
00015dd0: 20 20 20 20 74 68 69 73 2e 5f 65 6c 65 6d 65 6e this._elemen
00015de0: 74 2e 63 6c 61 73 73 4c 69 73 74 2e 72 65 6d 6f t.classList.remo
00015df0: 76 65 28 43 4c 41 53 53 5f 4e 41 4d 45 5f 53 48 ve(CLASS_NAME_SH
00015e00: 4f 57 2c 20 43 4c 41 53 53 5f 4e 41 4d 45 5f 48 OW, CLASS_NAME_H
00015e10: 49 44 49 4e 47 29 5c 6e 20 20 20 20 20 20 74 68 IDING)\n th
00015e20: 69 73 2e 5f 65 6c 65 6d 65 6e 74 2e 72 65 6d 6f is._element.remo
00015e30: 76 65 41 74 74 72 69 62 75 74 65 28 27 61 72 69 veAttribute('ari
00015e40: 61 2d 6d 6f 64 61 6c 27 29 5c 6e 20 20 20 20 20 a-modal')\n
00015e50: 20 74 68 69 73 2e 5f 65 6c 65 6d 65 6e 74 2e 72 this._element.r
00015e60: 65 6d 6f 76 65 41 74 74 72 69 62 75 74 65 28 27 emoveAttribute('
00015e70: 72 6f 6c 65 27 29 5c 6e 5c 6e 20 20 20 20 20 20 role')\n\n
00015e80: 69 66 20 28 21 74 68 69 73 2e 5f 63 6f 6e 66 69 if (!this._confi
00015e90: 67 2e 73 63 72 6f 6c 6c 29 20 7b 5c 6e 20 20 20 g.scroll) {\n
00015ea0: 20 20 20 20 20 6e 65 77 20 53 63 72 6f 6c 6c 42 new ScrollB
00015eb0: 61 72 48 65 6c 70 65 72 28 29 2e 72 65 73 65 74 arHelper().reset
00015ec0: 28 29 5c 6e 20 20 20 20 20 20 7d 5c 6e 5c 6e 20 ()\n }\n\n
00015ed0: 20 20 20 20 20 45 76 65 6e 74 48 61 6e 64 6c 65 EventHandle
00015ee0: 72 2e 74 72 69 67 67 65 72 28 74 68 69 73 2e 5f r.trigger(this._
00015ef0: 65 6c 65 6d 65 6e 74 2c 20 45 56 45 4e 54 5f 48 element, EVENT_H
00015f00: 49 44 44 45 4e 29 5c 6e 20 20 20 20 7d 5c 6e 5c IDDEN)\n }\n\
00015f10: 6e 20 20 20 20 74 68 69 73 2e 5f 71 75 65 75 65 n this._queue
00015f20: 43 61 6c 6c 62 61 63 6b 28 63 6f 6d 70 6c 65 74 Callback(complet
00015f30: 65 43 61 6c 6c 62 61 63 6b 2c 20 74 68 69 73 2e eCallback, this.
00015f40: 5f 65 6c 65 6d 65 6e 74 2c 20 74 72 75 65 29 5c _element, true)\
00015f50: 6e 20 20 7d 5c 6e 5c 6e 20 20 64 69 73 70 6f 73 n }\n\n dispos
00015f60: 65 28 29 20 7b 5c 6e 20 20 20 20 74 68 69 73 2e e() {\n this.
00015f70: 5f 62 61 63 6b 64 72 6f 70 2e 64 69 73 70 6f 73 _backdrop.dispos
00015f80: 65 28 29 5c 6e 20 20 20 20 74 68 69 73 2e 5f 66 e()\n this._f
00015f90: 6f 63 75 73 74 72 61 70 2e 64 65 61 63 74 69 76 ocustrap.deactiv
00015fa0: 61 74 65 28 29 5c 6e 20 20 20 20 73 75 70 65 72 ate()\n super
00015fb0: 2e 64 69 73 70 6f 73 65 28 29 5c 6e 20 20 7d 5c .dispose()\n }\
00015fc0: 6e 5c 6e 20 20 2f 2f 20 50 72 69 76 61 74 65 5c n\n // Private\
00015fd0: 6e 20 20 5f 69 6e 69 74 69 61 6c 69 7a 65 42 61 n _initializeBa
00015fe0: 63 6b 44 72 6f 70 28 29 20 7b 5c 6e 20 20 20 20 ckDrop() {\n
00015ff0: 63 6f 6e 73 74 20 63 6c 69 63 6b 43 61 6c 6c 62 const clickCallb
00016000: 61 63 6b 20 3d 20 28 29 20 3d 3e 20 7b 5c 6e 20 ack = () => {\n
00016010: 20 20 20 20 20 69 66 20 28 74 68 69 73 2e 5f 63 if (this._c
00016020: 6f 6e 66 69 67 2e 62 61 63 6b 64 72 6f 70 20 3d onfig.backdrop =
00016030: 3d 3d 20 27 73 74 61 74 69 63 27 29 20 7b 5c 6e == 'static') {\n
00016040: 20 20 20 20 20 20 20 20 45 76 65 6e 74 48 61 6e EventHan
00016050: 64 6c 65 72 2e 74 72 69 67 67 65 72 28 74 68 69 dler.trigger(thi
00016060: 73 2e 5f 65 6c 65 6d 65 6e 74 2c 20 45 56 45 4e s._element, EVEN
00016070: 54 5f 48 49 44 45 5f 50 52 45 56 45 4e 54 45 44 T_HIDE_PREVENTED
00016080: 29 5c 6e 20 20 20 20 20 20 20 20 72 65 74 75 72 )\n retur
00016090: 6e 5c 6e 20 20 20 20 20 20 7d 5c 6e 5c 6e 20 20 n\n }\n\n
000160a0: 20 20 20 20 74 68 69 73 2e 68 69 64 65 28 29 5c this.hide()\
000160b0: 6e 20 20 20 20 7d 5c 6e 5c 6e 20 20 20 20 2f 2f n }\n\n //
000160c0: 20 27 73 74 61 74 69 63 27 20 6f 70 74 69 6f 6e 'static' option
000160d0: 20 77 69 6c 6c 20 62 65 20 74 72 61 6e 73 6c 61 will be transla
000160e0: 74 65 64 20 74 6f 20 74 72 75 65 2c 20 61 6e 64 ted to true, and
000160f0: 20 62 6f 6f 6c 65 61 6e 73 20 77 69 6c 6c 20 6b booleans will k
00016100: 65 65 70 20 74 68 65 69 72 20 76 61 6c 75 65 5c eep their value\
00016110: 6e 20 20 20 20 63 6f 6e 73 74 20 69 73 56 69 73 n const isVis
00016120: 69 62 6c 65 20 3d 20 42 6f 6f 6c 65 61 6e 28 74 ible = Boolean(t
00016130: 68 69 73 2e 5f 63 6f 6e 66 69 67 2e 62 61 63 6b his._config.back
00016140: 64 72 6f 70 29 5c 6e 5c 6e 20 20 20 20 72 65 74 drop)\n\n ret
00016150: 75 72 6e 20 6e 65 77 20 42 61 63 6b 64 72 6f 70 urn new Backdrop
00016160: 28 7b 5c 6e 20 20 20 20 20 20 63 6c 61 73 73 4e ({\n classN
00016170: 61 6d 65 3a 20 43 4c 41 53 53 5f 4e 41 4d 45 5f ame: CLASS_NAME_
00016180: 42 41 43 4b 44 52 4f 50 2c 5c 6e 20 20 20 20 20 BACKDROP,\n
00016190: 20 69 73 56 69 73 69 62 6c 65 2c 5c 6e 20 20 20 isVisible,\n
000161a0: 20 20 20 69 73 41 6e 69 6d 61 74 65 64 3a 20 74 isAnimated: t
000161b0: 72 75 65 2c 5c 6e 20 20 20 20 20 20 72 6f 6f 74 rue,\n root
000161c0: 45 6c 65 6d 65 6e 74 3a 20 74 68 69 73 2e 5f 65 Element: this._e
000161d0: 6c 65 6d 65 6e 74 2e 70 61 72 65 6e 74 4e 6f 64 lement.parentNod
000161e0: 65 2c 5c 6e 20 20 20 20 20 20 63 6c 69 63 6b 43 e,\n clickC
000161f0: 61 6c 6c 62 61 63 6b 3a 20 69 73 56 69 73 69 62 allback: isVisib
00016200: 6c 65 20 3f 20 63 6c 69 63 6b 43 61 6c 6c 62 61 le ? clickCallba
00016210: 63 6b 20 3a 20 6e 75 6c 6c 5c 6e 20 20 20 20 7d ck : null\n }
00016220: 29 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 5f 69 6e 69 )\n }\n\n _ini
00016230: 74 69 61 6c 69 7a 65 46 6f 63 75 73 54 72 61 70 tializeFocusTrap
00016240: 28 29 20 7b 5c 6e 20 20 20 20 72 65 74 75 72 6e () {\n return
00016250: 20 6e 65 77 20 46 6f 63 75 73 54 72 61 70 28 7b new FocusTrap({
00016260: 5c 6e 20 20 20 20 20 20 74 72 61 70 45 6c 65 6d \n trapElem
00016270: 65 6e 74 3a 20 74 68 69 73 2e 5f 65 6c 65 6d 65 ent: this._eleme
00016280: 6e 74 5c 6e 20 20 20 20 7d 29 5c 6e 20 20 7d 5c nt\n })\n }\
00016290: 6e 5c 6e 20 20 5f 61 64 64 45 76 65 6e 74 4c 69 n\n _addEventLi
000162a0: 73 74 65 6e 65 72 73 28 29 20 7b 5c 6e 20 20 20 steners() {\n
000162b0: 20 45 76 65 6e 74 48 61 6e 64 6c 65 72 2e 6f 6e EventHandler.on
000162c0: 28 74 68 69 73 2e 5f 65 6c 65 6d 65 6e 74 2c 20 (this._element,
000162d0: 45 56 45 4e 54 5f 4b 45 59 44 4f 57 4e 5f 44 49 EVENT_KEYDOWN_DI
000162e0: 53 4d 49 53 53 2c 20 65 76 65 6e 74 20 3d 3e 20 SMISS, event =>
000162f0: 7b 5c 6e 20 20 20 20 20 20 69 66 20 28 65 76 65 {\n if (eve
00016300: 6e 74 2e 6b 65 79 20 21 3d 3d 20 45 53 43 41 50 nt.key !== ESCAP
00016310: 45 5f 4b 45 59 29 20 7b 5c 6e 20 20 20 20 20 20 E_KEY) {\n
00016320: 20 20 72 65 74 75 72 6e 5c 6e 20 20 20 20 20 20 return\n
00016330: 7d 5c 6e 5c 6e 20 20 20 20 20 20 69 66 20 28 74 }\n\n if (t
00016340: 68 69 73 2e 5f 63 6f 6e 66 69 67 2e 6b 65 79 62 his._config.keyb
00016350: 6f 61 72 64 29 20 7b 5c 6e 20 20 20 20 20 20 20 oard) {\n
00016360: 20 74 68 69 73 2e 68 69 64 65 28 29 5c 6e 20 20 this.hide()\n
00016370: 20 20 20 20 20 20 72 65 74 75 72 6e 5c 6e 20 20 return\n
00016380: 20 20 20 20 7d 5c 6e 5c 6e 20 20 20 20 20 20 45 }\n\n E
00016390: 76 65 6e 74 48 61 6e 64 6c 65 72 2e 74 72 69 67 ventHandler.trig
000163a0: 67 65 72 28 74 68 69 73 2e 5f 65 6c 65 6d 65 6e ger(this._elemen
000163b0: 74 2c 20 45 56 45 4e 54 5f 48 49 44 45 5f 50 52 t, EVENT_HIDE_PR
000163c0: 45 56 45 4e 54 45 44 29 5c 6e 20 20 20 20 7d 29 EVENTED)\n })
000163d0: 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 2f 2f 20 53 74 \n }\n\n // St
000163e0: 61 74 69 63 5c 6e 20 20 73 74 61 74 69 63 20 6a atic\n static j
000163f0: 51 75 65 72 79 49 6e 74 65 72 66 61 63 65 28 63 QueryInterface(c
00016400: 6f 6e 66 69 67 29 20 7b 5c 6e 20 20 20 20 72 65 onfig) {\n re
00016410: 74 75 72 6e 20 74 68 69 73 2e 65 61 63 68 28 66 turn this.each(f
00016420: 75 6e 63 74 69 6f 6e 20 28 29 20 7b 5c 6e 20 20 unction () {\n
00016430: 20 20 20 20 63 6f 6e 73 74 20 64 61 74 61 20 3d const data =
00016440: 20 4f 66 66 63 61 6e 76 61 73 2e 67 65 74 4f 72 Offcanvas.getOr
00016450: 43 72 65 61 74 65 49 6e 73 74 61 6e 63 65 28 74 CreateInstance(t
00016460: 68 69 73 2c 20 63 6f 6e 66 69 67 29 5c 6e 5c 6e his, config)\n\n
00016470: 20 20 20 20 20 20 69 66 20 28 74 79 70 65 6f 66 if (typeof
00016480: 20 63 6f 6e 66 69 67 20 21 3d 3d 20 27 73 74 72 config !== 'str
00016490: 69 6e 67 27 29 20 7b 5c 6e 20 20 20 20 20 20 20 ing') {\n
000164a0: 20 72 65 74 75 72 6e 5c 6e 20 20 20 20 20 20 7d return\n }
000164b0: 5c 6e 5c 6e 20 20 20 20 20 20 69 66 20 28 64 61 \n\n if (da
000164c0: 74 61 5b 63 6f 6e 66 69 67 5d 20 3d 3d 3d 20 75 ta[config] === u
000164d0: 6e 64 65 66 69 6e 65 64 20 7c 7c 20 63 6f 6e 66 ndefined || conf
000164e0: 69 67 2e 73 74 61 72 74 73 57 69 74 68 28 27 5f ig.startsWith('_
000164f0: 27 29 20 7c 7c 20 63 6f 6e 66 69 67 20 3d 3d 3d ') || config ===
00016500: 20 27 63 6f 6e 73 74 72 75 63 74 6f 72 27 29 20 'constructor')
00016510: 7b 5c 6e 20 20 20 20 20 20 20 20 74 68 72 6f 77 {\n throw
00016520: 20 6e 65 77 20 54 79 70 65 45 72 72 6f 72 28 60 new TypeError(`
00016530: 4e 6f 20 6d 65 74 68 6f 64 20 6e 61 6d 65 64 20 No method named
00016540: 5c 22 24 7b 63 6f 6e 66 69 67 7d 5c 22 60 29 5c \"${config}\"`)\
00016550: 6e 20 20 20 20 20 20 7d 5c 6e 5c 6e 20 20 20 20 n }\n\n
00016560: 20 20 64 61 74 61 5b 63 6f 6e 66 69 67 5d 28 74 data[config](t
00016570: 68 69 73 29 5c 6e 20 20 20 20 7d 29 5c 6e 20 20 his)\n })\n
00016580: 7d 5c 6e 7d 5c 6e 5c 6e 2f 2a 2a 5c 6e 20 2a 20 }\n}\n\n/**\n *
00016590: 44 61 74 61 20 41 50 49 20 69 6d 70 6c 65 6d 65 Data API impleme
000165a0: 6e 74 61 74 69 6f 6e 5c 6e 20 2a 2f 5c 6e 5c 6e ntation\n */\n\n
000165b0: 45 76 65 6e 74 48 61 6e 64 6c 65 72 2e 6f 6e 28 EventHandler.on(
000165c0: 64 6f 63 75 6d 65 6e 74 2c 20 45 56 45 4e 54 5f document, EVENT_
000165d0: 43 4c 49 43 4b 5f 44 41 54 41 5f 41 50 49 2c 20 CLICK_DATA_API,
000165e0: 53 45 4c 45 43 54 4f 52 5f 44 41 54 41 5f 54 4f SELECTOR_DATA_TO
000165f0: 47 47 4c 45 2c 20 66 75 6e 63 74 69 6f 6e 20 28 GGLE, function (
00016600: 65 76 65 6e 74 29 20 7b 5c 6e 20 20 63 6f 6e 73 event) {\n cons
00016610: 74 20 74 61 72 67 65 74 20 3d 20 53 65 6c 65 63 t target = Selec
00016620: 74 6f 72 45 6e 67 69 6e 65 2e 67 65 74 45 6c 65 torEngine.getEle
00016630: 6d 65 6e 74 46 72 6f 6d 53 65 6c 65 63 74 6f 72 mentFromSelector
00016640: 28 74 68 69 73 29 5c 6e 5c 6e 20 20 69 66 20 28 (this)\n\n if (
00016650: 5b 27 41 27 2c 20 27 41 52 45 41 27 5d 2e 69 6e ['A', 'AREA'].in
00016660: 63 6c 75 64 65 73 28 74 68 69 73 2e 74 61 67 4e cludes(this.tagN
00016670: 61 6d 65 29 29 20 7b 5c 6e 20 20 20 20 65 76 65 ame)) {\n eve
00016680: 6e 74 2e 70 72 65 76 65 6e 74 44 65 66 61 75 6c nt.preventDefaul
00016690: 74 28 29 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 69 66 t()\n }\n\n if
000166a0: 20 28 69 73 44 69 73 61 62 6c 65 64 28 74 68 69 (isDisabled(thi
000166b0: 73 29 29 20 7b 5c 6e 20 20 20 20 72 65 74 75 72 s)) {\n retur
000166c0: 6e 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 45 76 65 6e n\n }\n\n Even
000166d0: 74 48 61 6e 64 6c 65 72 2e 6f 6e 65 28 74 61 72 tHandler.one(tar
000166e0: 67 65 74 2c 20 45 56 45 4e 54 5f 48 49 44 44 45 get, EVENT_HIDDE
000166f0: 4e 2c 20 28 29 20 3d 3e 20 7b 5c 6e 20 20 20 20 N, () => {\n
00016700: 2f 2f 20 66 6f 63 75 73 20 6f 6e 20 74 72 69 67 // focus on trig
00016710: 67 65 72 20 77 68 65 6e 20 69 74 20 69 73 20 63 ger when it is c
00016720: 6c 6f 73 65 64 5c 6e 20 20 20 20 69 66 20 28 69 losed\n if (i
00016730: 73 56 69 73 69 62 6c 65 28 74 68 69 73 29 29 20 sVisible(this))
00016740: 7b 5c 6e 20 20 20 20 20 20 74 68 69 73 2e 66 6f {\n this.fo
00016750: 63 75 73 28 29 5c 6e 20 20 20 20 7d 5c 6e 20 20 cus()\n }\n
00016760: 7d 29 5c 6e 5c 6e 20 20 2f 2f 20 61 76 6f 69 64 })\n\n // avoid
00016770: 20 63 6f 6e 66 6c 69 63 74 20 77 68 65 6e 20 63 conflict when c
00016780: 6c 69 63 6b 69 6e 67 20 61 20 74 6f 67 67 6c 65 licking a toggle
00016790: 72 20 6f 66 20 61 6e 20 6f 66 66 63 61 6e 76 61 r of an offcanva
000167a0: 73 2c 20 77 68 69 6c 65 20 61 6e 6f 74 68 65 72 s, while another
000167b0: 20 69 73 20 6f 70 65 6e 5c 6e 20 20 63 6f 6e 73 is open\n cons
000167c0: 74 20 61 6c 72 65 61 64 79 4f 70 65 6e 20 3d 20 t alreadyOpen =
000167d0: 53 65 6c 65 63 74 6f 72 45 6e 67 69 6e 65 2e 66 SelectorEngine.f
000167e0: 69 6e 64 4f 6e 65 28 4f 50 45 4e 5f 53 45 4c 45 indOne(OPEN_SELE
000167f0: 43 54 4f 52 29 5c 6e 20 20 69 66 20 28 61 6c 72 CTOR)\n if (alr
00016800: 65 61 64 79 4f 70 65 6e 20 26 26 20 61 6c 72 65 eadyOpen && alre
00016810: 61 64 79 4f 70 65 6e 20 21 3d 3d 20 74 61 72 67 adyOpen !== targ
00016820: 65 74 29 20 7b 5c 6e 20 20 20 20 4f 66 66 63 61 et) {\n Offca
00016830: 6e 76 61 73 2e 67 65 74 49 6e 73 74 61 6e 63 65 nvas.getInstance
00016840: 28 61 6c 72 65 61 64 79 4f 70 65 6e 29 2e 68 69 (alreadyOpen).hi
00016850: 64 65 28 29 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 63 de()\n }\n\n c
00016860: 6f 6e 73 74 20 64 61 74 61 20 3d 20 4f 66 66 63 onst data = Offc
00016870: 61 6e 76 61 73 2e 67 65 74 4f 72 43 72 65 61 74 anvas.getOrCreat
00016880: 65 49 6e 73 74 61 6e 63 65 28 74 61 72 67 65 74 eInstance(target
00016890: 29 5c 6e 20 20 64 61 74 61 2e 74 6f 67 67 6c 65 )\n data.toggle
000168a0: 28 74 68 69 73 29 5c 6e 7d 29 5c 6e 5c 6e 45 76 (this)\n})\n\nEv
000168b0: 65 6e 74 48 61 6e 64 6c 65 72 2e 6f 6e 28 77 69 entHandler.on(wi
000168c0: 6e 64 6f 77 2c 20 45 56 45 4e 54 5f 4c 4f 41 44 ndow, EVENT_LOAD
000168d0: 5f 44 41 54 41 5f 41 50 49 2c 20 28 29 20 3d 3e _DATA_API, () =>
000168e0: 20 7b 5c 6e 20 20 66 6f 72 20 28 63 6f 6e 73 74 {\n for (const
000168f0: 20 73 65 6c 65 63 74 6f 72 20 6f 66 20 53 65 6c selector of Sel
00016900: 65 63 74 6f 72 45 6e 67 69 6e 65 2e 66 69 6e 64 ectorEngine.find
00016910: 28 4f 50 45 4e 5f 53 45 4c 45 43 54 4f 52 29 29 (OPEN_SELECTOR))
00016920: 20 7b 5c 6e 20 20 20 20 4f 66 66 63 61 6e 76 61 {\n Offcanva
00016930: 73 2e 67 65 74 4f 72 43 72 65 61 74 65 49 6e 73 s.getOrCreateIns
00016940: 74 61 6e 63 65 28 73 65 6c 65 63 74 6f 72 29 2e tance(selector).
00016950: 73 68 6f 77 28 29 5c 6e 20 20 7d 5c 6e 7d 29 5c show()\n }\n})\
00016960: 6e 5c 6e 45 76 65 6e 74 48 61 6e 64 6c 65 72 2e n\nEventHandler.
00016970: 6f 6e 28 77 69 6e 64 6f 77 2c 20 45 56 45 4e 54 on(window, EVENT
00016980: 5f 52 45 53 49 5a 45 2c 20 28 29 20 3d 3e 20 7b _RESIZE, () => {
00016990: 5c 6e 20 20 66 6f 72 20 28 63 6f 6e 73 74 20 65 \n for (const e
000169a0: 6c 65 6d 65 6e 74 20 6f 66 20 53 65 6c 65 63 74 lement of Select
000169b0: 6f 72 45 6e 67 69 6e 65 2e 66 69 6e 64 28 27 5b orEngine.find('[
000169c0: 61 72 69 61 2d 6d 6f 64 61 6c 5d 5b 63 6c 61 73 aria-modal][clas
000169d0: 73 2a 3d 73 68 6f 77 5d 5b 63 6c 61 73 73 2a 3d s*=show][class*=
000169e0: 6f 66 66 63 61 6e 76 61 73 2d 5d 27 29 29 20 7b offcanvas-]')) {
000169f0: 5c 6e 20 20 20 20 69 66 20 28 67 65 74 43 6f 6d \n if (getCom
00016a00: 70 75 74 65 64 53 74 79 6c 65 28 65 6c 65 6d 65 putedStyle(eleme
00016a10: 6e 74 29 2e 70 6f 73 69 74 69 6f 6e 20 21 3d 3d nt).position !==
00016a20: 20 27 66 69 78 65 64 27 29 20 7b 5c 6e 20 20 20 'fixed') {\n
00016a30: 20 20 20 4f 66 66 63 61 6e 76 61 73 2e 67 65 74 Offcanvas.get
00016a40: 4f 72 43 72 65 61 74 65 49 6e 73 74 61 6e 63 65 OrCreateInstance
00016a50: 28 65 6c 65 6d 65 6e 74 29 2e 68 69 64 65 28 29 (element).hide()
00016a60: 5c 6e 20 20 20 20 7d 5c 6e 20 20 7d 5c 6e 7d 29 \n }\n }\n})
00016a70: 5c 6e 5c 6e 65 6e 61 62 6c 65 44 69 73 6d 69 73 \n\nenableDismis
00016a80: 73 54 72 69 67 67 65 72 28 4f 66 66 63 61 6e 76 sTrigger(Offcanv
00016a90: 61 73 29 5c 6e 5c 6e 2f 2a 2a 5c 6e 20 2a 20 6a as)\n\n/**\n * j
00016aa0: 51 75 65 72 79 5c 6e 20 2a 2f 5c 6e 5c 6e 64 65 Query\n */\n\nde
00016ab0: 66 69 6e 65 4a 51 75 65 72 79 50 6c 75 67 69 6e fineJQueryPlugin
00016ac0: 28 4f 66 66 63 61 6e 76 61 73 29 5c 6e 5c 6e 65 (Offcanvas)\n\ne
00016ad0: 78 70 6f 72 74 20 64 65 66 61 75 6c 74 20 4f 66 xport default Of
00016ae0: 66 63 61 6e 76 61 73 5c 6e 22 2c 22 2f 2a 2a 5c fcanvas\n","/**\
00016af0: 6e 20 2a 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d n * ------------
00016b00: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
00016b10: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
00016b20: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
00016b30: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e --------------\n
00016b40: 20 2a 20 42 6f 6f 74 73 74 72 61 70 20 75 74 69 * Bootstrap uti
00016b50: 6c 2f 73 61 6e 69 74 69 7a 65 72 2e 6a 73 5c 6e l/sanitizer.js\n
00016b60: 20 2a 20 4c 69 63 65 6e 73 65 64 20 75 6e 64 65 * Licensed unde
00016b70: 72 20 4d 49 54 20 28 68 74 74 70 73 3a 2f 2f 67 r MIT (https://g
00016b80: 69 74 68 75 62 2e 63 6f 6d 2f 74 77 62 73 2f 62 ithub.com/twbs/b
00016b90: 6f 6f 74 73 74 72 61 70 2f 62 6c 6f 62 2f 6d 61 ootstrap/blob/ma
00016ba0: 69 6e 2f 4c 49 43 45 4e 53 45 29 5c 6e 20 2a 20 in/LICENSE)\n *
00016bb0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
00016bc0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
00016bd0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
00016be0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
00016bf0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 20 2a 2f 5c ----------\n */\
00016c00: 6e 5c 6e 2f 2f 20 6a 73 2d 64 6f 63 73 2d 73 74 n\n// js-docs-st
00016c10: 61 72 74 20 61 6c 6c 6f 77 2d 6c 69 73 74 5c 6e art allow-list\n
00016c20: 63 6f 6e 73 74 20 41 52 49 41 5f 41 54 54 52 49 const ARIA_ATTRI
00016c30: 42 55 54 45 5f 50 41 54 54 45 52 4e 20 3d 20 2f BUTE_PATTERN = /
00016c40: 5e 61 72 69 61 2d 5b 5c 5c 77 2d 5d 2a 24 2f 69 ^aria-[\\w-]*$/i
00016c50: 5c 6e 5c 6e 65 78 70 6f 72 74 20 63 6f 6e 73 74 \n\nexport const
00016c60: 20 44 65 66 61 75 6c 74 41 6c 6c 6f 77 6c 69 73 DefaultAllowlis
00016c70: 74 20 3d 20 7b 5c 6e 20 20 2f 2f 20 47 6c 6f 62 t = {\n // Glob
00016c80: 61 6c 20 61 74 74 72 69 62 75 74 65 73 20 61 6c al attributes al
00016c90: 6c 6f 77 65 64 20 6f 6e 20 61 6e 79 20 73 75 70 lowed on any sup
00016ca0: 70 6c 69 65 64 20 65 6c 65 6d 65 6e 74 20 62 65 plied element be
00016cb0: 6c 6f 77 2e 5c 6e 20 20 27 2a 27 3a 20 5b 27 63 low.\n '*': ['c
00016cc0: 6c 61 73 73 27 2c 20 27 64 69 72 27 2c 20 27 69 lass', 'dir', 'i
00016cd0: 64 27 2c 20 27 6c 61 6e 67 27 2c 20 27 72 6f 6c d', 'lang', 'rol
00016ce0: 65 27 2c 20 41 52 49 41 5f 41 54 54 52 49 42 55 e', ARIA_ATTRIBU
00016cf0: 54 45 5f 50 41 54 54 45 52 4e 5d 2c 5c 6e 20 20 TE_PATTERN],\n
00016d00: 61 3a 20 5b 27 74 61 72 67 65 74 27 2c 20 27 68 a: ['target', 'h
00016d10: 72 65 66 27 2c 20 27 74 69 74 6c 65 27 2c 20 27 ref', 'title', '
00016d20: 72 65 6c 27 5d 2c 5c 6e 20 20 61 72 65 61 3a 20 rel'],\n area:
00016d30: 5b 5d 2c 5c 6e 20 20 62 3a 20 5b 5d 2c 5c 6e 20 [],\n b: [],\n
00016d40: 20 62 72 3a 20 5b 5d 2c 5c 6e 20 20 63 6f 6c 3a br: [],\n col:
00016d50: 20 5b 5d 2c 5c 6e 20 20 63 6f 64 65 3a 20 5b 5d [],\n code: []
00016d60: 2c 5c 6e 20 20 64 64 3a 20 5b 5d 2c 5c 6e 20 20 ,\n dd: [],\n
00016d70: 64 69 76 3a 20 5b 5d 2c 5c 6e 20 20 64 6c 3a 20 div: [],\n dl:
00016d80: 5b 5d 2c 5c 6e 20 20 64 74 3a 20 5b 5d 2c 5c 6e [],\n dt: [],\n
00016d90: 20 20 65 6d 3a 20 5b 5d 2c 5c 6e 20 20 68 72 3a em: [],\n hr:
00016da0: 20 5b 5d 2c 5c 6e 20 20 68 31 3a 20 5b 5d 2c 5c [],\n h1: [],\
00016db0: 6e 20 20 68 32 3a 20 5b 5d 2c 5c 6e 20 20 68 33 n h2: [],\n h3
00016dc0: 3a 20 5b 5d 2c 5c 6e 20 20 68 34 3a 20 5b 5d 2c : [],\n h4: [],
00016dd0: 5c 6e 20 20 68 35 3a 20 5b 5d 2c 5c 6e 20 20 68 \n h5: [],\n h
00016de0: 36 3a 20 5b 5d 2c 5c 6e 20 20 69 3a 20 5b 5d 2c 6: [],\n i: [],
00016df0: 5c 6e 20 20 69 6d 67 3a 20 5b 27 73 72 63 27 2c \n img: ['src',
00016e00: 20 27 73 72 63 73 65 74 27 2c 20 27 61 6c 74 27 'srcset', 'alt'
00016e10: 2c 20 27 74 69 74 6c 65 27 2c 20 27 77 69 64 74 , 'title', 'widt
00016e20: 68 27 2c 20 27 68 65 69 67 68 74 27 5d 2c 5c 6e h', 'height'],\n
00016e30: 20 20 6c 69 3a 20 5b 5d 2c 5c 6e 20 20 6f 6c 3a li: [],\n ol:
00016e40: 20 5b 5d 2c 5c 6e 20 20 70 3a 20 5b 5d 2c 5c 6e [],\n p: [],\n
00016e50: 20 20 70 72 65 3a 20 5b 5d 2c 5c 6e 20 20 73 3a pre: [],\n s:
00016e60: 20 5b 5d 2c 5c 6e 20 20 73 6d 61 6c 6c 3a 20 5b [],\n small: [
00016e70: 5d 2c 5c 6e 20 20 73 70 61 6e 3a 20 5b 5d 2c 5c ],\n span: [],\
00016e80: 6e 20 20 73 75 62 3a 20 5b 5d 2c 5c 6e 20 20 73 n sub: [],\n s
00016e90: 75 70 3a 20 5b 5d 2c 5c 6e 20 20 73 74 72 6f 6e up: [],\n stron
00016ea0: 67 3a 20 5b 5d 2c 5c 6e 20 20 75 3a 20 5b 5d 2c g: [],\n u: [],
00016eb0: 5c 6e 20 20 75 6c 3a 20 5b 5d 5c 6e 7d 5c 6e 2f \n ul: []\n}\n/
00016ec0: 2f 20 6a 73 2d 64 6f 63 73 2d 65 6e 64 20 61 6c / js-docs-end al
00016ed0: 6c 6f 77 2d 6c 69 73 74 5c 6e 5c 6e 63 6f 6e 73 low-list\n\ncons
00016ee0: 74 20 75 72 69 41 74 74 72 69 62 75 74 65 73 20 t uriAttributes
00016ef0: 3d 20 6e 65 77 20 53 65 74 28 5b 5c 6e 20 20 27 = new Set([\n '
00016f00: 62 61 63 6b 67 72 6f 75 6e 64 27 2c 5c 6e 20 20 background',\n
00016f10: 27 63 69 74 65 27 2c 5c 6e 20 20 27 68 72 65 66 'cite',\n 'href
00016f20: 27 2c 5c 6e 20 20 27 69 74 65 6d 74 79 70 65 27 ',\n 'itemtype'
00016f30: 2c 5c 6e 20 20 27 6c 6f 6e 67 64 65 73 63 27 2c ,\n 'longdesc',
00016f40: 5c 6e 20 20 27 70 6f 73 74 65 72 27 2c 5c 6e 20 \n 'poster',\n
00016f50: 20 27 73 72 63 27 2c 5c 6e 20 20 27 78 6c 69 6e 'src',\n 'xlin
00016f60: 6b 3a 68 72 65 66 27 5c 6e 5d 29 5c 6e 5c 6e 2f k:href'\n])\n\n/
00016f70: 2a 2a 5c 6e 20 2a 20 41 20 70 61 74 74 65 72 6e **\n * A pattern
00016f80: 20 74 68 61 74 20 72 65 63 6f 67 6e 69 7a 65 73 that recognizes
00016f90: 20 55 52 4c 73 20 74 68 61 74 20 61 72 65 20 73 URLs that are s
00016fa0: 61 66 65 20 77 72 74 2e 20 58 53 53 20 69 6e 20 afe wrt. XSS in
00016fb0: 55 52 4c 20 6e 61 76 69 67 61 74 69 6f 6e 5c 6e URL navigation\n
00016fc0: 20 2a 20 63 6f 6e 74 65 78 74 73 2e 5c 6e 20 2a * contexts.\n *
00016fd0: 5c 6e 20 2a 20 53 68 6f 75 74 2d 6f 75 74 20 74 \n * Shout-out t
00016fe0: 6f 20 41 6e 67 75 6c 61 72 20 68 74 74 70 73 3a o Angular https:
00016ff0: 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 61 6e 67 //github.com/ang
00017000: 75 6c 61 72 2f 61 6e 67 75 6c 61 72 2f 62 6c 6f ular/angular/blo
00017010: 62 2f 31 35 2e 32 2e 38 2f 70 61 63 6b 61 67 65 b/15.2.8/package
00017020: 73 2f 63 6f 72 65 2f 73 72 63 2f 73 61 6e 69 74 s/core/src/sanit
00017030: 69 7a 61 74 69 6f 6e 2f 75 72 6c 5f 73 61 6e 69 ization/url_sani
00017040: 74 69 7a 65 72 2e 74 73 23 4c 33 38 5c 6e 20 2a tizer.ts#L38\n *
00017050: 2f 5c 6e 2f 2f 20 65 73 6c 69 6e 74 2d 64 69 73 /\n// eslint-dis
00017060: 61 62 6c 65 2d 6e 65 78 74 2d 6c 69 6e 65 20 75 able-next-line u
00017070: 6e 69 63 6f 72 6e 2f 62 65 74 74 65 72 2d 72 65 nicorn/better-re
00017080: 67 65 78 5c 6e 63 6f 6e 73 74 20 53 41 46 45 5f gex\nconst SAFE_
00017090: 55 52 4c 5f 50 41 54 54 45 52 4e 20 3d 20 2f 5e URL_PATTERN = /^
000170a0: 28 3f 21 6a 61 76 61 73 63 72 69 70 74 3a 29 28 (?!javascript:)(
000170b0: 3f 3a 5b 61 2d 7a 30 2d 39 2b 2e 2d 5d 2b 3a 7c ?:[a-z0-9+.-]+:|
000170c0: 5b 5e 26 3a 2f 3f 23 5d 2a 28 3f 3a 5b 2f 3f 23 [^&:/?#]*(?:[/?#
000170d0: 5d 7c 24 29 29 2f 69 5c 6e 5c 6e 63 6f 6e 73 74 ]|$))/i\n\nconst
000170e0: 20 61 6c 6c 6f 77 65 64 41 74 74 72 69 62 75 74 allowedAttribut
000170f0: 65 20 3d 20 28 61 74 74 72 69 62 75 74 65 2c 20 e = (attribute,
00017100: 61 6c 6c 6f 77 65 64 41 74 74 72 69 62 75 74 65 allowedAttribute
00017110: 4c 69 73 74 29 20 3d 3e 20 7b 5c 6e 20 20 63 6f List) => {\n co
00017120: 6e 73 74 20 61 74 74 72 69 62 75 74 65 4e 61 6d nst attributeNam
00017130: 65 20 3d 20 61 74 74 72 69 62 75 74 65 2e 6e 6f e = attribute.no
00017140: 64 65 4e 61 6d 65 2e 74 6f 4c 6f 77 65 72 43 61 deName.toLowerCa
00017150: 73 65 28 29 5c 6e 5c 6e 20 20 69 66 20 28 61 6c se()\n\n if (al
00017160: 6c 6f 77 65 64 41 74 74 72 69 62 75 74 65 4c 69 lowedAttributeLi
00017170: 73 74 2e 69 6e 63 6c 75 64 65 73 28 61 74 74 72 st.includes(attr
00017180: 69 62 75 74 65 4e 61 6d 65 29 29 20 7b 5c 6e 20 ibuteName)) {\n
00017190: 20 20 20 69 66 20 28 75 72 69 41 74 74 72 69 62 if (uriAttrib
000171a0: 75 74 65 73 2e 68 61 73 28 61 74 74 72 69 62 75 utes.has(attribu
000171b0: 74 65 4e 61 6d 65 29 29 20 7b 5c 6e 20 20 20 20 teName)) {\n
000171c0: 20 20 72 65 74 75 72 6e 20 42 6f 6f 6c 65 61 6e return Boolean
000171d0: 28 53 41 46 45 5f 55 52 4c 5f 50 41 54 54 45 52 (SAFE_URL_PATTER
000171e0: 4e 2e 74 65 73 74 28 61 74 74 72 69 62 75 74 65 N.test(attribute
000171f0: 2e 6e 6f 64 65 56 61 6c 75 65 29 29 5c 6e 20 20 .nodeValue))\n
00017200: 20 20 7d 5c 6e 5c 6e 20 20 20 20 72 65 74 75 72 }\n\n retur
00017210: 6e 20 74 72 75 65 5c 6e 20 20 7d 5c 6e 5c 6e 20 n true\n }\n\n
00017220: 20 2f 2f 20 43 68 65 63 6b 20 69 66 20 61 20 72 // Check if a r
00017230: 65 67 75 6c 61 72 20 65 78 70 72 65 73 73 69 6f egular expressio
00017240: 6e 20 76 61 6c 69 64 61 74 65 73 20 74 68 65 20 n validates the
00017250: 61 74 74 72 69 62 75 74 65 2e 5c 6e 20 20 72 65 attribute.\n re
00017260: 74 75 72 6e 20 61 6c 6c 6f 77 65 64 41 74 74 72 turn allowedAttr
00017270: 69 62 75 74 65 4c 69 73 74 2e 66 69 6c 74 65 72 ibuteList.filter
00017280: 28 61 74 74 72 69 62 75 74 65 52 65 67 65 78 20 (attributeRegex
00017290: 3d 3e 20 61 74 74 72 69 62 75 74 65 52 65 67 65 => attributeRege
000172a0: 78 20 69 6e 73 74 61 6e 63 65 6f 66 20 52 65 67 x instanceof Reg
000172b0: 45 78 70 29 5c 6e 20 20 20 20 2e 73 6f 6d 65 28 Exp)\n .some(
000172c0: 72 65 67 65 78 20 3d 3e 20 72 65 67 65 78 2e 74 regex => regex.t
000172d0: 65 73 74 28 61 74 74 72 69 62 75 74 65 4e 61 6d est(attributeNam
000172e0: 65 29 29 5c 6e 7d 5c 6e 5c 6e 65 78 70 6f 72 74 e))\n}\n\nexport
000172f0: 20 66 75 6e 63 74 69 6f 6e 20 73 61 6e 69 74 69 function saniti
00017300: 7a 65 48 74 6d 6c 28 75 6e 73 61 66 65 48 74 6d zeHtml(unsafeHtm
00017310: 6c 2c 20 61 6c 6c 6f 77 4c 69 73 74 2c 20 73 61 l, allowList, sa
00017320: 6e 69 74 69 7a 65 46 75 6e 63 74 69 6f 6e 29 20 nitizeFunction)
00017330: 7b 5c 6e 20 20 69 66 20 28 21 75 6e 73 61 66 65 {\n if (!unsafe
00017340: 48 74 6d 6c 2e 6c 65 6e 67 74 68 29 20 7b 5c 6e Html.length) {\n
00017350: 20 20 20 20 72 65 74 75 72 6e 20 75 6e 73 61 66 return unsaf
00017360: 65 48 74 6d 6c 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 eHtml\n }\n\n
00017370: 69 66 20 28 73 61 6e 69 74 69 7a 65 46 75 6e 63 if (sanitizeFunc
00017380: 74 69 6f 6e 20 26 26 20 74 79 70 65 6f 66 20 73 tion && typeof s
00017390: 61 6e 69 74 69 7a 65 46 75 6e 63 74 69 6f 6e 20 anitizeFunction
000173a0: 3d 3d 3d 20 27 66 75 6e 63 74 69 6f 6e 27 29 20 === 'function')
000173b0: 7b 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 73 61 {\n return sa
000173c0: 6e 69 74 69 7a 65 46 75 6e 63 74 69 6f 6e 28 75 nitizeFunction(u
000173d0: 6e 73 61 66 65 48 74 6d 6c 29 5c 6e 20 20 7d 5c nsafeHtml)\n }\
000173e0: 6e 5c 6e 20 20 63 6f 6e 73 74 20 64 6f 6d 50 61 n\n const domPa
000173f0: 72 73 65 72 20 3d 20 6e 65 77 20 77 69 6e 64 6f rser = new windo
00017400: 77 2e 44 4f 4d 50 61 72 73 65 72 28 29 5c 6e 20 w.DOMParser()\n
00017410: 20 63 6f 6e 73 74 20 63 72 65 61 74 65 64 44 6f const createdDo
00017420: 63 75 6d 65 6e 74 20 3d 20 64 6f 6d 50 61 72 73 cument = domPars
00017430: 65 72 2e 70 61 72 73 65 46 72 6f 6d 53 74 72 69 er.parseFromStri
00017440: 6e 67 28 75 6e 73 61 66 65 48 74 6d 6c 2c 20 27 ng(unsafeHtml, '
00017450: 74 65 78 74 2f 68 74 6d 6c 27 29 5c 6e 20 20 63 text/html')\n c
00017460: 6f 6e 73 74 20 65 6c 65 6d 65 6e 74 73 20 3d 20 onst elements =
00017470: 5b 5d 2e 63 6f 6e 63 61 74 28 2e 2e 2e 63 72 65 [].concat(...cre
00017480: 61 74 65 64 44 6f 63 75 6d 65 6e 74 2e 62 6f 64 atedDocument.bod
00017490: 79 2e 71 75 65 72 79 53 65 6c 65 63 74 6f 72 41 y.querySelectorA
000174a0: 6c 6c 28 27 2a 27 29 29 5c 6e 5c 6e 20 20 66 6f ll('*'))\n\n fo
000174b0: 72 20 28 63 6f 6e 73 74 20 65 6c 65 6d 65 6e 74 r (const element
000174c0: 20 6f 66 20 65 6c 65 6d 65 6e 74 73 29 20 7b 5c of elements) {\
000174d0: 6e 20 20 20 20 63 6f 6e 73 74 20 65 6c 65 6d 65 n const eleme
000174e0: 6e 74 4e 61 6d 65 20 3d 20 65 6c 65 6d 65 6e 74 ntName = element
000174f0: 2e 6e 6f 64 65 4e 61 6d 65 2e 74 6f 4c 6f 77 65 .nodeName.toLowe
00017500: 72 43 61 73 65 28 29 5c 6e 5c 6e 20 20 20 20 69 rCase()\n\n i
00017510: 66 20 28 21 4f 62 6a 65 63 74 2e 6b 65 79 73 28 f (!Object.keys(
00017520: 61 6c 6c 6f 77 4c 69 73 74 29 2e 69 6e 63 6c 75 allowList).inclu
00017530: 64 65 73 28 65 6c 65 6d 65 6e 74 4e 61 6d 65 29 des(elementName)
00017540: 29 20 7b 5c 6e 20 20 20 20 20 20 65 6c 65 6d 65 ) {\n eleme
00017550: 6e 74 2e 72 65 6d 6f 76 65 28 29 5c 6e 20 20 20 nt.remove()\n
00017560: 20 20 20 63 6f 6e 74 69 6e 75 65 5c 6e 20 20 20 continue\n
00017570: 20 7d 5c 6e 5c 6e 20 20 20 20 63 6f 6e 73 74 20 }\n\n const
00017580: 61 74 74 72 69 62 75 74 65 4c 69 73 74 20 3d 20 attributeList =
00017590: 5b 5d 2e 63 6f 6e 63 61 74 28 2e 2e 2e 65 6c 65 [].concat(...ele
000175a0: 6d 65 6e 74 2e 61 74 74 72 69 62 75 74 65 73 29 ment.attributes)
000175b0: 5c 6e 20 20 20 20 63 6f 6e 73 74 20 61 6c 6c 6f \n const allo
000175c0: 77 65 64 41 74 74 72 69 62 75 74 65 73 20 3d 20 wedAttributes =
000175d0: 5b 5d 2e 63 6f 6e 63 61 74 28 61 6c 6c 6f 77 4c [].concat(allowL
000175e0: 69 73 74 5b 27 2a 27 5d 20 7c 7c 20 5b 5d 2c 20 ist['*'] || [],
000175f0: 61 6c 6c 6f 77 4c 69 73 74 5b 65 6c 65 6d 65 6e allowList[elemen
00017600: 74 4e 61 6d 65 5d 20 7c 7c 20 5b 5d 29 5c 6e 5c tName] || [])\n\
00017610: 6e 20 20 20 20 66 6f 72 20 28 63 6f 6e 73 74 20 n for (const
00017620: 61 74 74 72 69 62 75 74 65 20 6f 66 20 61 74 74 attribute of att
00017630: 72 69 62 75 74 65 4c 69 73 74 29 20 7b 5c 6e 20 ributeList) {\n
00017640: 20 20 20 20 20 69 66 20 28 21 61 6c 6c 6f 77 65 if (!allowe
00017650: 64 41 74 74 72 69 62 75 74 65 28 61 74 74 72 69 dAttribute(attri
00017660: 62 75 74 65 2c 20 61 6c 6c 6f 77 65 64 41 74 74 bute, allowedAtt
00017670: 72 69 62 75 74 65 73 29 29 20 7b 5c 6e 20 20 20 ributes)) {\n
00017680: 20 20 20 20 20 65 6c 65 6d 65 6e 74 2e 72 65 6d element.rem
00017690: 6f 76 65 41 74 74 72 69 62 75 74 65 28 61 74 74 oveAttribute(att
000176a0: 72 69 62 75 74 65 2e 6e 6f 64 65 4e 61 6d 65 29 ribute.nodeName)
000176b0: 5c 6e 20 20 20 20 20 20 7d 5c 6e 20 20 20 20 7d \n }\n }
000176c0: 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 72 65 74 75 72 \n }\n\n retur
000176d0: 6e 20 63 72 65 61 74 65 64 44 6f 63 75 6d 65 6e n createdDocumen
000176e0: 74 2e 62 6f 64 79 2e 69 6e 6e 65 72 48 54 4d 4c t.body.innerHTML
000176f0: 5c 6e 7d 5c 6e 22 2c 22 2f 2a 2a 5c 6e 20 2a 20 \n}\n","/**\n *
00017700: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
00017710: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
00017720: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
00017730: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
00017740: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 20 2a 20 42 ----------\n * B
00017750: 6f 6f 74 73 74 72 61 70 20 75 74 69 6c 2f 74 65 ootstrap util/te
00017760: 6d 70 6c 61 74 65 2d 66 61 63 74 6f 72 79 2e 6a mplate-factory.j
00017770: 73 5c 6e 20 2a 20 4c 69 63 65 6e 73 65 64 20 75 s\n * Licensed u
00017780: 6e 64 65 72 20 4d 49 54 20 28 68 74 74 70 73 3a nder MIT (https:
00017790: 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 74 77 62 //github.com/twb
000177a0: 73 2f 62 6f 6f 74 73 74 72 61 70 2f 62 6c 6f 62 s/bootstrap/blob
000177b0: 2f 6d 61 69 6e 2f 4c 49 43 45 4e 53 45 29 5c 6e /main/LICENSE)\n
000177c0: 20 2a 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d * -------------
000177d0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
000177e0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
000177f0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
00017800: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 20 -------------\n
00017810: 2a 2f 5c 6e 5c 6e 69 6d 70 6f 72 74 20 53 65 6c */\n\nimport Sel
00017820: 65 63 74 6f 72 45 6e 67 69 6e 65 20 66 72 6f 6d ectorEngine from
00017830: 20 27 2e 2e 2f 64 6f 6d 2f 73 65 6c 65 63 74 6f '../dom/selecto
00017840: 72 2d 65 6e 67 69 6e 65 2e 6a 73 27 5c 6e 69 6d r-engine.js'\nim
00017850: 70 6f 72 74 20 43 6f 6e 66 69 67 20 66 72 6f 6d port Config from
00017860: 20 27 2e 2f 63 6f 6e 66 69 67 2e 6a 73 27 5c 6e './config.js'\n
00017870: 69 6d 70 6f 72 74 20 7b 20 44 65 66 61 75 6c 74 import { Default
00017880: 41 6c 6c 6f 77 6c 69 73 74 2c 20 73 61 6e 69 74 Allowlist, sanit
00017890: 69 7a 65 48 74 6d 6c 20 7d 20 66 72 6f 6d 20 27 izeHtml } from '
000178a0: 2e 2f 73 61 6e 69 74 69 7a 65 72 2e 6a 73 27 5c ./sanitizer.js'\
000178b0: 6e 69 6d 70 6f 72 74 20 7b 20 65 78 65 63 75 74 nimport { execut
000178c0: 65 2c 20 67 65 74 45 6c 65 6d 65 6e 74 2c 20 69 e, getElement, i
000178d0: 73 45 6c 65 6d 65 6e 74 20 7d 20 66 72 6f 6d 20 sElement } from
000178e0: 27 2e 2f 69 6e 64 65 78 2e 6a 73 27 5c 6e 5c 6e './index.js'\n\n
000178f0: 2f 2a 2a 5c 6e 20 2a 20 43 6f 6e 73 74 61 6e 74 /**\n * Constant
00017900: 73 5c 6e 20 2a 2f 5c 6e 5c 6e 63 6f 6e 73 74 20 s\n */\n\nconst
00017910: 4e 41 4d 45 20 3d 20 27 54 65 6d 70 6c 61 74 65 NAME = 'Template
00017920: 46 61 63 74 6f 72 79 27 5c 6e 5c 6e 63 6f 6e 73 Factory'\n\ncons
00017930: 74 20 44 65 66 61 75 6c 74 20 3d 20 7b 5c 6e 20 t Default = {\n
00017940: 20 61 6c 6c 6f 77 4c 69 73 74 3a 20 44 65 66 61 allowList: Defa
00017950: 75 6c 74 41 6c 6c 6f 77 6c 69 73 74 2c 5c 6e 20 ultAllowlist,\n
00017960: 20 63 6f 6e 74 65 6e 74 3a 20 7b 7d 2c 20 2f 2f content: {}, //
00017970: 20 7b 20 73 65 6c 65 63 74 6f 72 20 3a 20 74 65 { selector : te
00017980: 78 74 20 2c 20 20 73 65 6c 65 63 74 6f 72 32 20 xt , selector2
00017990: 3a 20 74 65 78 74 32 20 2c 20 7d 5c 6e 20 20 65 : text2 , }\n e
000179a0: 78 74 72 61 43 6c 61 73 73 3a 20 27 27 2c 5c 6e xtraClass: '',\n
000179b0: 20 20 68 74 6d 6c 3a 20 66 61 6c 73 65 2c 5c 6e html: false,\n
000179c0: 20 20 73 61 6e 69 74 69 7a 65 3a 20 74 72 75 65 sanitize: true
000179d0: 2c 5c 6e 20 20 73 61 6e 69 74 69 7a 65 46 6e 3a ,\n sanitizeFn:
000179e0: 20 6e 75 6c 6c 2c 5c 6e 20 20 74 65 6d 70 6c 61 null,\n templa
000179f0: 74 65 3a 20 27 3c 64 69 76 3e 3c 2f 64 69 76 3e te: '<div></div>
00017a00: 27 5c 6e 7d 5c 6e 5c 6e 63 6f 6e 73 74 20 44 65 '\n}\n\nconst De
00017a10: 66 61 75 6c 74 54 79 70 65 20 3d 20 7b 5c 6e 20 faultType = {\n
00017a20: 20 61 6c 6c 6f 77 4c 69 73 74 3a 20 27 6f 62 6a allowList: 'obj
00017a30: 65 63 74 27 2c 5c 6e 20 20 63 6f 6e 74 65 6e 74 ect',\n content
00017a40: 3a 20 27 6f 62 6a 65 63 74 27 2c 5c 6e 20 20 65 : 'object',\n e
00017a50: 78 74 72 61 43 6c 61 73 73 3a 20 27 28 73 74 72 xtraClass: '(str
00017a60: 69 6e 67 7c 66 75 6e 63 74 69 6f 6e 29 27 2c 5c ing|function)',\
00017a70: 6e 20 20 68 74 6d 6c 3a 20 27 62 6f 6f 6c 65 61 n html: 'boolea
00017a80: 6e 27 2c 5c 6e 20 20 73 61 6e 69 74 69 7a 65 3a n',\n sanitize:
00017a90: 20 27 62 6f 6f 6c 65 61 6e 27 2c 5c 6e 20 20 73 'boolean',\n s
00017aa0: 61 6e 69 74 69 7a 65 46 6e 3a 20 27 28 6e 75 6c anitizeFn: '(nul
00017ab0: 6c 7c 66 75 6e 63 74 69 6f 6e 29 27 2c 5c 6e 20 l|function)',\n
00017ac0: 20 74 65 6d 70 6c 61 74 65 3a 20 27 73 74 72 69 template: 'stri
00017ad0: 6e 67 27 5c 6e 7d 5c 6e 5c 6e 63 6f 6e 73 74 20 ng'\n}\n\nconst
00017ae0: 44 65 66 61 75 6c 74 43 6f 6e 74 65 6e 74 54 79 DefaultContentTy
00017af0: 70 65 20 3d 20 7b 5c 6e 20 20 65 6e 74 72 79 3a pe = {\n entry:
00017b00: 20 27 28 73 74 72 69 6e 67 7c 65 6c 65 6d 65 6e '(string|elemen
00017b10: 74 7c 66 75 6e 63 74 69 6f 6e 7c 6e 75 6c 6c 29 t|function|null)
00017b20: 27 2c 5c 6e 20 20 73 65 6c 65 63 74 6f 72 3a 20 ',\n selector:
00017b30: 27 28 73 74 72 69 6e 67 7c 65 6c 65 6d 65 6e 74 '(string|element
00017b40: 29 27 5c 6e 7d 5c 6e 5c 6e 2f 2a 2a 5c 6e 20 2a )'\n}\n\n/**\n *
00017b50: 20 43 6c 61 73 73 20 64 65 66 69 6e 69 74 69 6f Class definitio
00017b60: 6e 5c 6e 20 2a 2f 5c 6e 5c 6e 63 6c 61 73 73 20 n\n */\n\nclass
00017b70: 54 65 6d 70 6c 61 74 65 46 61 63 74 6f 72 79 20 TemplateFactory
00017b80: 65 78 74 65 6e 64 73 20 43 6f 6e 66 69 67 20 7b extends Config {
00017b90: 5c 6e 20 20 63 6f 6e 73 74 72 75 63 74 6f 72 28 \n constructor(
00017ba0: 63 6f 6e 66 69 67 29 20 7b 5c 6e 20 20 20 20 73 config) {\n s
00017bb0: 75 70 65 72 28 29 5c 6e 20 20 20 20 74 68 69 73 uper()\n this
00017bc0: 2e 5f 63 6f 6e 66 69 67 20 3d 20 74 68 69 73 2e ._config = this.
00017bd0: 5f 67 65 74 43 6f 6e 66 69 67 28 63 6f 6e 66 69 _getConfig(confi
00017be0: 67 29 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 2f 2f 20 g)\n }\n\n //
00017bf0: 47 65 74 74 65 72 73 5c 6e 20 20 73 74 61 74 69 Getters\n stati
00017c00: 63 20 67 65 74 20 44 65 66 61 75 6c 74 28 29 20 c get Default()
00017c10: 7b 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 44 65 {\n return De
00017c20: 66 61 75 6c 74 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 fault\n }\n\n
00017c30: 73 74 61 74 69 63 20 67 65 74 20 44 65 66 61 75 static get Defau
00017c40: 6c 74 54 79 70 65 28 29 20 7b 5c 6e 20 20 20 20 ltType() {\n
00017c50: 72 65 74 75 72 6e 20 44 65 66 61 75 6c 74 54 79 return DefaultTy
00017c60: 70 65 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 73 74 61 pe\n }\n\n sta
00017c70: 74 69 63 20 67 65 74 20 4e 41 4d 45 28 29 20 7b tic get NAME() {
00017c80: 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 4e 41 4d \n return NAM
00017c90: 45 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 2f 2f 20 50 E\n }\n\n // P
00017ca0: 75 62 6c 69 63 5c 6e 20 20 67 65 74 43 6f 6e 74 ublic\n getCont
00017cb0: 65 6e 74 28 29 20 7b 5c 6e 20 20 20 20 72 65 74 ent() {\n ret
00017cc0: 75 72 6e 20 4f 62 6a 65 63 74 2e 76 61 6c 75 65 urn Object.value
00017cd0: 73 28 74 68 69 73 2e 5f 63 6f 6e 66 69 67 2e 63 s(this._config.c
00017ce0: 6f 6e 74 65 6e 74 29 5c 6e 20 20 20 20 20 20 2e ontent)\n .
00017cf0: 6d 61 70 28 63 6f 6e 66 69 67 20 3d 3e 20 74 68 map(config => th
00017d00: 69 73 2e 5f 72 65 73 6f 6c 76 65 50 6f 73 73 69 is._resolvePossi
00017d10: 62 6c 65 46 75 6e 63 74 69 6f 6e 28 63 6f 6e 66 bleFunction(conf
00017d20: 69 67 29 29 5c 6e 20 20 20 20 20 20 2e 66 69 6c ig))\n .fil
00017d30: 74 65 72 28 42 6f 6f 6c 65 61 6e 29 5c 6e 20 20 ter(Boolean)\n
00017d40: 7d 5c 6e 5c 6e 20 20 68 61 73 43 6f 6e 74 65 6e }\n\n hasConten
00017d50: 74 28 29 20 7b 5c 6e 20 20 20 20 72 65 74 75 72 t() {\n retur
00017d60: 6e 20 74 68 69 73 2e 67 65 74 43 6f 6e 74 65 6e n this.getConten
00017d70: 74 28 29 2e 6c 65 6e 67 74 68 20 3e 20 30 5c 6e t().length > 0\n
00017d80: 20 20 7d 5c 6e 5c 6e 20 20 63 68 61 6e 67 65 43 }\n\n changeC
00017d90: 6f 6e 74 65 6e 74 28 63 6f 6e 74 65 6e 74 29 20 ontent(content)
00017da0: 7b 5c 6e 20 20 20 20 74 68 69 73 2e 5f 63 68 65 {\n this._che
00017db0: 63 6b 43 6f 6e 74 65 6e 74 28 63 6f 6e 74 65 6e ckContent(conten
00017dc0: 74 29 5c 6e 20 20 20 20 74 68 69 73 2e 5f 63 6f t)\n this._co
00017dd0: 6e 66 69 67 2e 63 6f 6e 74 65 6e 74 20 3d 20 7b nfig.content = {
00017de0: 20 2e 2e 2e 74 68 69 73 2e 5f 63 6f 6e 66 69 67 ...this._config
00017df0: 2e 63 6f 6e 74 65 6e 74 2c 20 2e 2e 2e 63 6f 6e .content, ...con
00017e00: 74 65 6e 74 20 7d 5c 6e 20 20 20 20 72 65 74 75 tent }\n retu
00017e10: 72 6e 20 74 68 69 73 5c 6e 20 20 7d 5c 6e 5c 6e rn this\n }\n\n
00017e20: 20 20 74 6f 48 74 6d 6c 28 29 20 7b 5c 6e 20 20 toHtml() {\n
00017e30: 20 20 63 6f 6e 73 74 20 74 65 6d 70 6c 61 74 65 const template
00017e40: 57 72 61 70 70 65 72 20 3d 20 64 6f 63 75 6d 65 Wrapper = docume
00017e50: 6e 74 2e 63 72 65 61 74 65 45 6c 65 6d 65 6e 74 nt.createElement
00017e60: 28 27 64 69 76 27 29 5c 6e 20 20 20 20 74 65 6d ('div')\n tem
00017e70: 70 6c 61 74 65 57 72 61 70 70 65 72 2e 69 6e 6e plateWrapper.inn
00017e80: 65 72 48 54 4d 4c 20 3d 20 74 68 69 73 2e 5f 6d erHTML = this._m
00017e90: 61 79 62 65 53 61 6e 69 74 69 7a 65 28 74 68 69 aybeSanitize(thi
00017ea0: 73 2e 5f 63 6f 6e 66 69 67 2e 74 65 6d 70 6c 61 s._config.templa
00017eb0: 74 65 29 5c 6e 5c 6e 20 20 20 20 66 6f 72 20 28 te)\n\n for (
00017ec0: 63 6f 6e 73 74 20 5b 73 65 6c 65 63 74 6f 72 2c const [selector,
00017ed0: 20 74 65 78 74 5d 20 6f 66 20 4f 62 6a 65 63 74 text] of Object
00017ee0: 2e 65 6e 74 72 69 65 73 28 74 68 69 73 2e 5f 63 .entries(this._c
00017ef0: 6f 6e 66 69 67 2e 63 6f 6e 74 65 6e 74 29 29 20 onfig.content))
00017f00: 7b 5c 6e 20 20 20 20 20 20 74 68 69 73 2e 5f 73 {\n this._s
00017f10: 65 74 43 6f 6e 74 65 6e 74 28 74 65 6d 70 6c 61 etContent(templa
00017f20: 74 65 57 72 61 70 70 65 72 2c 20 74 65 78 74 2c teWrapper, text,
00017f30: 20 73 65 6c 65 63 74 6f 72 29 5c 6e 20 20 20 20 selector)\n
00017f40: 7d 5c 6e 5c 6e 20 20 20 20 63 6f 6e 73 74 20 74 }\n\n const t
00017f50: 65 6d 70 6c 61 74 65 20 3d 20 74 65 6d 70 6c 61 emplate = templa
00017f60: 74 65 57 72 61 70 70 65 72 2e 63 68 69 6c 64 72 teWrapper.childr
00017f70: 65 6e 5b 30 5d 5c 6e 20 20 20 20 63 6f 6e 73 74 en[0]\n const
00017f80: 20 65 78 74 72 61 43 6c 61 73 73 20 3d 20 74 68 extraClass = th
00017f90: 69 73 2e 5f 72 65 73 6f 6c 76 65 50 6f 73 73 69 is._resolvePossi
00017fa0: 62 6c 65 46 75 6e 63 74 69 6f 6e 28 74 68 69 73 bleFunction(this
00017fb0: 2e 5f 63 6f 6e 66 69 67 2e 65 78 74 72 61 43 6c ._config.extraCl
00017fc0: 61 73 73 29 5c 6e 5c 6e 20 20 20 20 69 66 20 28 ass)\n\n if (
00017fd0: 65 78 74 72 61 43 6c 61 73 73 29 20 7b 5c 6e 20 extraClass) {\n
00017fe0: 20 20 20 20 20 74 65 6d 70 6c 61 74 65 2e 63 6c template.cl
00017ff0: 61 73 73 4c 69 73 74 2e 61 64 64 28 2e 2e 2e 65 assList.add(...e
00018000: 78 74 72 61 43 6c 61 73 73 2e 73 70 6c 69 74 28 xtraClass.split(
00018010: 27 20 27 29 29 5c 6e 20 20 20 20 7d 5c 6e 5c 6e ' '))\n }\n\n
00018020: 20 20 20 20 72 65 74 75 72 6e 20 74 65 6d 70 6c return templ
00018030: 61 74 65 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 2f 2f ate\n }\n\n //
00018040: 20 50 72 69 76 61 74 65 5c 6e 20 20 5f 74 79 70 Private\n _typ
00018050: 65 43 68 65 63 6b 43 6f 6e 66 69 67 28 63 6f 6e eCheckConfig(con
00018060: 66 69 67 29 20 7b 5c 6e 20 20 20 20 73 75 70 65 fig) {\n supe
00018070: 72 2e 5f 74 79 70 65 43 68 65 63 6b 43 6f 6e 66 r._typeCheckConf
00018080: 69 67 28 63 6f 6e 66 69 67 29 5c 6e 20 20 20 20 ig(config)\n
00018090: 74 68 69 73 2e 5f 63 68 65 63 6b 43 6f 6e 74 65 this._checkConte
000180a0: 6e 74 28 63 6f 6e 66 69 67 2e 63 6f 6e 74 65 6e nt(config.conten
000180b0: 74 29 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 5f 63 68 t)\n }\n\n _ch
000180c0: 65 63 6b 43 6f 6e 74 65 6e 74 28 61 72 67 29 20 eckContent(arg)
000180d0: 7b 5c 6e 20 20 20 20 66 6f 72 20 28 63 6f 6e 73 {\n for (cons
000180e0: 74 20 5b 73 65 6c 65 63 74 6f 72 2c 20 63 6f 6e t [selector, con
000180f0: 74 65 6e 74 5d 20 6f 66 20 4f 62 6a 65 63 74 2e tent] of Object.
00018100: 65 6e 74 72 69 65 73 28 61 72 67 29 29 20 7b 5c entries(arg)) {\
00018110: 6e 20 20 20 20 20 20 73 75 70 65 72 2e 5f 74 79 n super._ty
00018120: 70 65 43 68 65 63 6b 43 6f 6e 66 69 67 28 7b 20 peCheckConfig({
00018130: 73 65 6c 65 63 74 6f 72 2c 20 65 6e 74 72 79 3a selector, entry:
00018140: 20 63 6f 6e 74 65 6e 74 20 7d 2c 20 44 65 66 61 content }, Defa
00018150: 75 6c 74 43 6f 6e 74 65 6e 74 54 79 70 65 29 5c ultContentType)\
00018160: 6e 20 20 20 20 7d 5c 6e 20 20 7d 5c 6e 5c 6e 20 n }\n }\n\n
00018170: 20 5f 73 65 74 43 6f 6e 74 65 6e 74 28 74 65 6d _setContent(tem
00018180: 70 6c 61 74 65 2c 20 63 6f 6e 74 65 6e 74 2c 20 plate, content,
00018190: 73 65 6c 65 63 74 6f 72 29 20 7b 5c 6e 20 20 20 selector) {\n
000181a0: 20 63 6f 6e 73 74 20 74 65 6d 70 6c 61 74 65 45 const templateE
000181b0: 6c 65 6d 65 6e 74 20 3d 20 53 65 6c 65 63 74 6f lement = Selecto
000181c0: 72 45 6e 67 69 6e 65 2e 66 69 6e 64 4f 6e 65 28 rEngine.findOne(
000181d0: 73 65 6c 65 63 74 6f 72 2c 20 74 65 6d 70 6c 61 selector, templa
000181e0: 74 65 29 5c 6e 5c 6e 20 20 20 20 69 66 20 28 21 te)\n\n if (!
000181f0: 74 65 6d 70 6c 61 74 65 45 6c 65 6d 65 6e 74 29 templateElement)
00018200: 20 7b 5c 6e 20 20 20 20 20 20 72 65 74 75 72 6e {\n return
00018210: 5c 6e 20 20 20 20 7d 5c 6e 5c 6e 20 20 20 20 63 \n }\n\n c
00018220: 6f 6e 74 65 6e 74 20 3d 20 74 68 69 73 2e 5f 72 ontent = this._r
00018230: 65 73 6f 6c 76 65 50 6f 73 73 69 62 6c 65 46 75 esolvePossibleFu
00018240: 6e 63 74 69 6f 6e 28 63 6f 6e 74 65 6e 74 29 5c nction(content)\
00018250: 6e 5c 6e 20 20 20 20 69 66 20 28 21 63 6f 6e 74 n\n if (!cont
00018260: 65 6e 74 29 20 7b 5c 6e 20 20 20 20 20 20 74 65 ent) {\n te
00018270: 6d 70 6c 61 74 65 45 6c 65 6d 65 6e 74 2e 72 65 mplateElement.re
00018280: 6d 6f 76 65 28 29 5c 6e 20 20 20 20 20 20 72 65 move()\n re
00018290: 74 75 72 6e 5c 6e 20 20 20 20 7d 5c 6e 5c 6e 20 turn\n }\n\n
000182a0: 20 20 20 69 66 20 28 69 73 45 6c 65 6d 65 6e 74 if (isElement
000182b0: 28 63 6f 6e 74 65 6e 74 29 29 20 7b 5c 6e 20 20 (content)) {\n
000182c0: 20 20 20 20 74 68 69 73 2e 5f 70 75 74 45 6c 65 this._putEle
000182d0: 6d 65 6e 74 49 6e 54 65 6d 70 6c 61 74 65 28 67 mentInTemplate(g
000182e0: 65 74 45 6c 65 6d 65 6e 74 28 63 6f 6e 74 65 6e etElement(conten
000182f0: 74 29 2c 20 74 65 6d 70 6c 61 74 65 45 6c 65 6d t), templateElem
00018300: 65 6e 74 29 5c 6e 20 20 20 20 20 20 72 65 74 75 ent)\n retu
00018310: 72 6e 5c 6e 20 20 20 20 7d 5c 6e 5c 6e 20 20 20 rn\n }\n\n
00018320: 20 69 66 20 28 74 68 69 73 2e 5f 63 6f 6e 66 69 if (this._confi
00018330: 67 2e 68 74 6d 6c 29 20 7b 5c 6e 20 20 20 20 20 g.html) {\n
00018340: 20 74 65 6d 70 6c 61 74 65 45 6c 65 6d 65 6e 74 templateElement
00018350: 2e 69 6e 6e 65 72 48 54 4d 4c 20 3d 20 74 68 69 .innerHTML = thi
00018360: 73 2e 5f 6d 61 79 62 65 53 61 6e 69 74 69 7a 65 s._maybeSanitize
00018370: 28 63 6f 6e 74 65 6e 74 29 5c 6e 20 20 20 20 20 (content)\n
00018380: 20 72 65 74 75 72 6e 5c 6e 20 20 20 20 7d 5c 6e return\n }\n
00018390: 5c 6e 20 20 20 20 74 65 6d 70 6c 61 74 65 45 6c \n templateEl
000183a0: 65 6d 65 6e 74 2e 74 65 78 74 43 6f 6e 74 65 6e ement.textConten
000183b0: 74 20 3d 20 63 6f 6e 74 65 6e 74 5c 6e 20 20 7d t = content\n }
000183c0: 5c 6e 5c 6e 20 20 5f 6d 61 79 62 65 53 61 6e 69 \n\n _maybeSani
000183d0: 74 69 7a 65 28 61 72 67 29 20 7b 5c 6e 20 20 20 tize(arg) {\n
000183e0: 20 72 65 74 75 72 6e 20 74 68 69 73 2e 5f 63 6f return this._co
000183f0: 6e 66 69 67 2e 73 61 6e 69 74 69 7a 65 20 3f 20 nfig.sanitize ?
00018400: 73 61 6e 69 74 69 7a 65 48 74 6d 6c 28 61 72 67 sanitizeHtml(arg
00018410: 2c 20 74 68 69 73 2e 5f 63 6f 6e 66 69 67 2e 61 , this._config.a
00018420: 6c 6c 6f 77 4c 69 73 74 2c 20 74 68 69 73 2e 5f llowList, this._
00018430: 63 6f 6e 66 69 67 2e 73 61 6e 69 74 69 7a 65 46 config.sanitizeF
00018440: 6e 29 20 3a 20 61 72 67 5c 6e 20 20 7d 5c 6e 5c n) : arg\n }\n\
00018450: 6e 20 20 5f 72 65 73 6f 6c 76 65 50 6f 73 73 69 n _resolvePossi
00018460: 62 6c 65 46 75 6e 63 74 69 6f 6e 28 61 72 67 29 bleFunction(arg)
00018470: 20 7b 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 65 {\n return e
00018480: 78 65 63 75 74 65 28 61 72 67 2c 20 5b 74 68 69 xecute(arg, [thi
00018490: 73 5d 29 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 5f 70 s])\n }\n\n _p
000184a0: 75 74 45 6c 65 6d 65 6e 74 49 6e 54 65 6d 70 6c utElementInTempl
000184b0: 61 74 65 28 65 6c 65 6d 65 6e 74 2c 20 74 65 6d ate(element, tem
000184c0: 70 6c 61 74 65 45 6c 65 6d 65 6e 74 29 20 7b 5c plateElement) {\
000184d0: 6e 20 20 20 20 69 66 20 28 74 68 69 73 2e 5f 63 n if (this._c
000184e0: 6f 6e 66 69 67 2e 68 74 6d 6c 29 20 7b 5c 6e 20 onfig.html) {\n
000184f0: 20 20 20 20 20 74 65 6d 70 6c 61 74 65 45 6c 65 templateEle
00018500: 6d 65 6e 74 2e 69 6e 6e 65 72 48 54 4d 4c 20 3d ment.innerHTML =
00018510: 20 27 27 5c 6e 20 20 20 20 20 20 74 65 6d 70 6c ''\n templ
00018520: 61 74 65 45 6c 65 6d 65 6e 74 2e 61 70 70 65 6e ateElement.appen
00018530: 64 28 65 6c 65 6d 65 6e 74 29 5c 6e 20 20 20 20 d(element)\n
00018540: 20 20 72 65 74 75 72 6e 5c 6e 20 20 20 20 7d 5c return\n }\
00018550: 6e 5c 6e 20 20 20 20 74 65 6d 70 6c 61 74 65 45 n\n templateE
00018560: 6c 65 6d 65 6e 74 2e 74 65 78 74 43 6f 6e 74 65 lement.textConte
00018570: 6e 74 20 3d 20 65 6c 65 6d 65 6e 74 2e 74 65 78 nt = element.tex
00018580: 74 43 6f 6e 74 65 6e 74 5c 6e 20 20 7d 5c 6e 7d tContent\n }\n}
00018590: 5c 6e 5c 6e 65 78 70 6f 72 74 20 64 65 66 61 75 \n\nexport defau
000185a0: 6c 74 20 54 65 6d 70 6c 61 74 65 46 61 63 74 6f lt TemplateFacto
000185b0: 72 79 5c 6e 22 2c 22 2f 2a 2a 5c 6e 20 2a 20 2d ry\n","/**\n * -
000185c0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
000185d0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
000185e0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
000185f0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
00018600: 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 20 2a 20 42 6f ---------\n * Bo
00018610: 6f 74 73 74 72 61 70 20 74 6f 6f 6c 74 69 70 2e otstrap tooltip.
00018620: 6a 73 5c 6e 20 2a 20 4c 69 63 65 6e 73 65 64 20 js\n * Licensed
00018630: 75 6e 64 65 72 20 4d 49 54 20 28 68 74 74 70 73 under MIT (https
00018640: 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 74 77 ://github.com/tw
00018650: 62 73 2f 62 6f 6f 74 73 74 72 61 70 2f 62 6c 6f bs/bootstrap/blo
00018660: 62 2f 6d 61 69 6e 2f 4c 49 43 45 4e 53 45 29 5c b/main/LICENSE)\
00018670: 6e 20 2a 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d n * ------------
00018680: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
00018690: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
000186a0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
000186b0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e --------------\n
000186c0: 20 2a 2f 5c 6e 5c 6e 69 6d 70 6f 72 74 20 2a 20 */\n\nimport *
000186d0: 61 73 20 50 6f 70 70 65 72 20 66 72 6f 6d 20 27 as Popper from '
000186e0: 40 70 6f 70 70 65 72 6a 73 2f 63 6f 72 65 27 5c @popperjs/core'\
000186f0: 6e 69 6d 70 6f 72 74 20 42 61 73 65 43 6f 6d 70 nimport BaseComp
00018700: 6f 6e 65 6e 74 20 66 72 6f 6d 20 27 2e 2f 62 61 onent from './ba
00018710: 73 65 2d 63 6f 6d 70 6f 6e 65 6e 74 2e 6a 73 27 se-component.js'
00018720: 5c 6e 69 6d 70 6f 72 74 20 45 76 65 6e 74 48 61 \nimport EventHa
00018730: 6e 64 6c 65 72 20 66 72 6f 6d 20 27 2e 2f 64 6f ndler from './do
00018740: 6d 2f 65 76 65 6e 74 2d 68 61 6e 64 6c 65 72 2e m/event-handler.
00018750: 6a 73 27 5c 6e 69 6d 70 6f 72 74 20 4d 61 6e 69 js'\nimport Mani
00018760: 70 75 6c 61 74 6f 72 20 66 72 6f 6d 20 27 2e 2f pulator from './
00018770: 64 6f 6d 2f 6d 61 6e 69 70 75 6c 61 74 6f 72 2e dom/manipulator.
00018780: 6a 73 27 5c 6e 69 6d 70 6f 72 74 20 7b 5c 6e 20 js'\nimport {\n
00018790: 20 64 65 66 69 6e 65 4a 51 75 65 72 79 50 6c 75 defineJQueryPlu
000187a0: 67 69 6e 2c 20 65 78 65 63 75 74 65 2c 20 66 69 gin, execute, fi
000187b0: 6e 64 53 68 61 64 6f 77 52 6f 6f 74 2c 20 67 65 ndShadowRoot, ge
000187c0: 74 45 6c 65 6d 65 6e 74 2c 20 67 65 74 55 49 44 tElement, getUID
000187d0: 2c 20 69 73 52 54 4c 2c 20 6e 6f 6f 70 5c 6e 7d , isRTL, noop\n}
000187e0: 20 66 72 6f 6d 20 27 2e 2f 75 74 69 6c 2f 69 6e from './util/in
000187f0: 64 65 78 2e 6a 73 27 5c 6e 69 6d 70 6f 72 74 20 dex.js'\nimport
00018800: 7b 20 44 65 66 61 75 6c 74 41 6c 6c 6f 77 6c 69 { DefaultAllowli
00018810: 73 74 20 7d 20 66 72 6f 6d 20 27 2e 2f 75 74 69 st } from './uti
00018820: 6c 2f 73 61 6e 69 74 69 7a 65 72 2e 6a 73 27 5c l/sanitizer.js'\
00018830: 6e 69 6d 70 6f 72 74 20 54 65 6d 70 6c 61 74 65 nimport Template
00018840: 46 61 63 74 6f 72 79 20 66 72 6f 6d 20 27 2e 2f Factory from './
00018850: 75 74 69 6c 2f 74 65 6d 70 6c 61 74 65 2d 66 61 util/template-fa
00018860: 63 74 6f 72 79 2e 6a 73 27 5c 6e 5c 6e 2f 2a 2a ctory.js'\n\n/**
00018870: 5c 6e 20 2a 20 43 6f 6e 73 74 61 6e 74 73 5c 6e \n * Constants\n
00018880: 20 2a 2f 5c 6e 5c 6e 63 6f 6e 73 74 20 4e 41 4d */\n\nconst NAM
00018890: 45 20 3d 20 27 74 6f 6f 6c 74 69 70 27 5c 6e 63 E = 'tooltip'\nc
000188a0: 6f 6e 73 74 20 44 49 53 41 4c 4c 4f 57 45 44 5f onst DISALLOWED_
000188b0: 41 54 54 52 49 42 55 54 45 53 20 3d 20 6e 65 77 ATTRIBUTES = new
000188c0: 20 53 65 74 28 5b 27 73 61 6e 69 74 69 7a 65 27 Set(['sanitize'
000188d0: 2c 20 27 61 6c 6c 6f 77 4c 69 73 74 27 2c 20 27 , 'allowList', '
000188e0: 73 61 6e 69 74 69 7a 65 46 6e 27 5d 29 5c 6e 5c sanitizeFn'])\n\
000188f0: 6e 63 6f 6e 73 74 20 43 4c 41 53 53 5f 4e 41 4d nconst CLASS_NAM
00018900: 45 5f 46 41 44 45 20 3d 20 27 66 61 64 65 27 5c E_FADE = 'fade'\
00018910: 6e 63 6f 6e 73 74 20 43 4c 41 53 53 5f 4e 41 4d nconst CLASS_NAM
00018920: 45 5f 4d 4f 44 41 4c 20 3d 20 27 6d 6f 64 61 6c E_MODAL = 'modal
00018930: 27 5c 6e 63 6f 6e 73 74 20 43 4c 41 53 53 5f 4e '\nconst CLASS_N
00018940: 41 4d 45 5f 53 48 4f 57 20 3d 20 27 73 68 6f 77 AME_SHOW = 'show
00018950: 27 5c 6e 5c 6e 63 6f 6e 73 74 20 53 45 4c 45 43 '\n\nconst SELEC
00018960: 54 4f 52 5f 54 4f 4f 4c 54 49 50 5f 49 4e 4e 45 TOR_TOOLTIP_INNE
00018970: 52 20 3d 20 27 2e 74 6f 6f 6c 74 69 70 2d 69 6e R = '.tooltip-in
00018980: 6e 65 72 27 5c 6e 63 6f 6e 73 74 20 53 45 4c 45 ner'\nconst SELE
00018990: 43 54 4f 52 5f 4d 4f 44 41 4c 20 3d 20 60 2e 24 CTOR_MODAL = `.$
000189a0: 7b 43 4c 41 53 53 5f 4e 41 4d 45 5f 4d 4f 44 41 {CLASS_NAME_MODA
000189b0: 4c 7d 60 5c 6e 5c 6e 63 6f 6e 73 74 20 45 56 45 L}`\n\nconst EVE
000189c0: 4e 54 5f 4d 4f 44 41 4c 5f 48 49 44 45 20 3d 20 NT_MODAL_HIDE =
000189d0: 27 68 69 64 65 2e 62 73 2e 6d 6f 64 61 6c 27 5c 'hide.bs.modal'\
000189e0: 6e 5c 6e 63 6f 6e 73 74 20 54 52 49 47 47 45 52 n\nconst TRIGGER
000189f0: 5f 48 4f 56 45 52 20 3d 20 27 68 6f 76 65 72 27 _HOVER = 'hover'
00018a00: 5c 6e 63 6f 6e 73 74 20 54 52 49 47 47 45 52 5f \nconst TRIGGER_
00018a10: 46 4f 43 55 53 20 3d 20 27 66 6f 63 75 73 27 5c FOCUS = 'focus'\
00018a20: 6e 63 6f 6e 73 74 20 54 52 49 47 47 45 52 5f 43 nconst TRIGGER_C
00018a30: 4c 49 43 4b 20 3d 20 27 63 6c 69 63 6b 27 5c 6e LICK = 'click'\n
00018a40: 63 6f 6e 73 74 20 54 52 49 47 47 45 52 5f 4d 41 const TRIGGER_MA
00018a50: 4e 55 41 4c 20 3d 20 27 6d 61 6e 75 61 6c 27 5c NUAL = 'manual'\
00018a60: 6e 5c 6e 63 6f 6e 73 74 20 45 56 45 4e 54 5f 48 n\nconst EVENT_H
00018a70: 49 44 45 20 3d 20 27 68 69 64 65 27 5c 6e 63 6f IDE = 'hide'\nco
00018a80: 6e 73 74 20 45 56 45 4e 54 5f 48 49 44 44 45 4e nst EVENT_HIDDEN
00018a90: 20 3d 20 27 68 69 64 64 65 6e 27 5c 6e 63 6f 6e = 'hidden'\ncon
00018aa0: 73 74 20 45 56 45 4e 54 5f 53 48 4f 57 20 3d 20 st EVENT_SHOW =
00018ab0: 27 73 68 6f 77 27 5c 6e 63 6f 6e 73 74 20 45 56 'show'\nconst EV
00018ac0: 45 4e 54 5f 53 48 4f 57 4e 20 3d 20 27 73 68 6f ENT_SHOWN = 'sho
00018ad0: 77 6e 27 5c 6e 63 6f 6e 73 74 20 45 56 45 4e 54 wn'\nconst EVENT
00018ae0: 5f 49 4e 53 45 52 54 45 44 20 3d 20 27 69 6e 73 _INSERTED = 'ins
00018af0: 65 72 74 65 64 27 5c 6e 63 6f 6e 73 74 20 45 56 erted'\nconst EV
00018b00: 45 4e 54 5f 43 4c 49 43 4b 20 3d 20 27 63 6c 69 ENT_CLICK = 'cli
00018b10: 63 6b 27 5c 6e 63 6f 6e 73 74 20 45 56 45 4e 54 ck'\nconst EVENT
00018b20: 5f 46 4f 43 55 53 49 4e 20 3d 20 27 66 6f 63 75 _FOCUSIN = 'focu
00018b30: 73 69 6e 27 5c 6e 63 6f 6e 73 74 20 45 56 45 4e sin'\nconst EVEN
00018b40: 54 5f 46 4f 43 55 53 4f 55 54 20 3d 20 27 66 6f T_FOCUSOUT = 'fo
00018b50: 63 75 73 6f 75 74 27 5c 6e 63 6f 6e 73 74 20 45 cusout'\nconst E
00018b60: 56 45 4e 54 5f 4d 4f 55 53 45 45 4e 54 45 52 20 VENT_MOUSEENTER
00018b70: 3d 20 27 6d 6f 75 73 65 65 6e 74 65 72 27 5c 6e = 'mouseenter'\n
00018b80: 63 6f 6e 73 74 20 45 56 45 4e 54 5f 4d 4f 55 53 const EVENT_MOUS
00018b90: 45 4c 45 41 56 45 20 3d 20 27 6d 6f 75 73 65 6c ELEAVE = 'mousel
00018ba0: 65 61 76 65 27 5c 6e 5c 6e 63 6f 6e 73 74 20 41 eave'\n\nconst A
00018bb0: 74 74 61 63 68 6d 65 6e 74 4d 61 70 20 3d 20 7b ttachmentMap = {
00018bc0: 5c 6e 20 20 41 55 54 4f 3a 20 27 61 75 74 6f 27 \n AUTO: 'auto'
00018bd0: 2c 5c 6e 20 20 54 4f 50 3a 20 27 74 6f 70 27 2c ,\n TOP: 'top',
00018be0: 5c 6e 20 20 52 49 47 48 54 3a 20 69 73 52 54 4c \n RIGHT: isRTL
00018bf0: 28 29 20 3f 20 27 6c 65 66 74 27 20 3a 20 27 72 () ? 'left' : 'r
00018c00: 69 67 68 74 27 2c 5c 6e 20 20 42 4f 54 54 4f 4d ight',\n BOTTOM
00018c10: 3a 20 27 62 6f 74 74 6f 6d 27 2c 5c 6e 20 20 4c : 'bottom',\n L
00018c20: 45 46 54 3a 20 69 73 52 54 4c 28 29 20 3f 20 27 EFT: isRTL() ? '
00018c30: 72 69 67 68 74 27 20 3a 20 27 6c 65 66 74 27 5c right' : 'left'\
00018c40: 6e 7d 5c 6e 5c 6e 63 6f 6e 73 74 20 44 65 66 61 n}\n\nconst Defa
00018c50: 75 6c 74 20 3d 20 7b 5c 6e 20 20 61 6c 6c 6f 77 ult = {\n allow
00018c60: 4c 69 73 74 3a 20 44 65 66 61 75 6c 74 41 6c 6c List: DefaultAll
00018c70: 6f 77 6c 69 73 74 2c 5c 6e 20 20 61 6e 69 6d 61 owlist,\n anima
00018c80: 74 69 6f 6e 3a 20 74 72 75 65 2c 5c 6e 20 20 62 tion: true,\n b
00018c90: 6f 75 6e 64 61 72 79 3a 20 27 63 6c 69 70 70 69 oundary: 'clippi
00018ca0: 6e 67 50 61 72 65 6e 74 73 27 2c 5c 6e 20 20 63 ngParents',\n c
00018cb0: 6f 6e 74 61 69 6e 65 72 3a 20 66 61 6c 73 65 2c ontainer: false,
00018cc0: 5c 6e 20 20 63 75 73 74 6f 6d 43 6c 61 73 73 3a \n customClass:
00018cd0: 20 27 27 2c 5c 6e 20 20 64 65 6c 61 79 3a 20 30 '',\n delay: 0
00018ce0: 2c 5c 6e 20 20 66 61 6c 6c 62 61 63 6b 50 6c 61 ,\n fallbackPla
00018cf0: 63 65 6d 65 6e 74 73 3a 20 5b 27 74 6f 70 27 2c cements: ['top',
00018d00: 20 27 72 69 67 68 74 27 2c 20 27 62 6f 74 74 6f 'right', 'botto
00018d10: 6d 27 2c 20 27 6c 65 66 74 27 5d 2c 5c 6e 20 20 m', 'left'],\n
00018d20: 68 74 6d 6c 3a 20 66 61 6c 73 65 2c 5c 6e 20 20 html: false,\n
00018d30: 6f 66 66 73 65 74 3a 20 5b 30 2c 20 36 5d 2c 5c offset: [0, 6],\
00018d40: 6e 20 20 70 6c 61 63 65 6d 65 6e 74 3a 20 27 74 n placement: 't
00018d50: 6f 70 27 2c 5c 6e 20 20 70 6f 70 70 65 72 43 6f op',\n popperCo
00018d60: 6e 66 69 67 3a 20 6e 75 6c 6c 2c 5c 6e 20 20 73 nfig: null,\n s
00018d70: 61 6e 69 74 69 7a 65 3a 20 74 72 75 65 2c 5c 6e anitize: true,\n
00018d80: 20 20 73 61 6e 69 74 69 7a 65 46 6e 3a 20 6e 75 sanitizeFn: nu
00018d90: 6c 6c 2c 5c 6e 20 20 73 65 6c 65 63 74 6f 72 3a ll,\n selector:
00018da0: 20 66 61 6c 73 65 2c 5c 6e 20 20 74 65 6d 70 6c false,\n templ
00018db0: 61 74 65 3a 20 27 3c 64 69 76 20 63 6c 61 73 73 ate: '<div class
00018dc0: 3d 5c 22 74 6f 6f 6c 74 69 70 5c 22 20 72 6f 6c =\"tooltip\" rol
00018dd0: 65 3d 5c 22 74 6f 6f 6c 74 69 70 5c 22 3e 27 20 e=\"tooltip\">'
00018de0: 2b 5c 6e 20 20 20 20 20 20 20 20 20 20 20 20 27 +\n '
00018df0: 3c 64 69 76 20 63 6c 61 73 73 3d 5c 22 74 6f 6f <div class=\"too
00018e00: 6c 74 69 70 2d 61 72 72 6f 77 5c 22 3e 3c 2f 64 ltip-arrow\"></d
00018e10: 69 76 3e 27 20 2b 5c 6e 20 20 20 20 20 20 20 20 iv>' +\n
00018e20: 20 20 20 20 27 3c 64 69 76 20 63 6c 61 73 73 3d '<div class=
00018e30: 5c 22 74 6f 6f 6c 74 69 70 2d 69 6e 6e 65 72 5c \"tooltip-inner\
00018e40: 22 3e 3c 2f 64 69 76 3e 27 20 2b 5c 6e 20 20 20 "></div>' +\n
00018e50: 20 20 20 20 20 20 20 20 20 27 3c 2f 64 69 76 3e '</div>
00018e60: 27 2c 5c 6e 20 20 74 69 74 6c 65 3a 20 27 27 2c ',\n title: '',
00018e70: 5c 6e 20 20 74 72 69 67 67 65 72 3a 20 27 68 6f \n trigger: 'ho
00018e80: 76 65 72 20 66 6f 63 75 73 27 5c 6e 7d 5c 6e 5c ver focus'\n}\n\
00018e90: 6e 63 6f 6e 73 74 20 44 65 66 61 75 6c 74 54 79 nconst DefaultTy
00018ea0: 70 65 20 3d 20 7b 5c 6e 20 20 61 6c 6c 6f 77 4c pe = {\n allowL
00018eb0: 69 73 74 3a 20 27 6f 62 6a 65 63 74 27 2c 5c 6e ist: 'object',\n
00018ec0: 20 20 61 6e 69 6d 61 74 69 6f 6e 3a 20 27 62 6f animation: 'bo
00018ed0: 6f 6c 65 61 6e 27 2c 5c 6e 20 20 62 6f 75 6e 64 olean',\n bound
00018ee0: 61 72 79 3a 20 27 28 73 74 72 69 6e 67 7c 65 6c ary: '(string|el
00018ef0: 65 6d 65 6e 74 29 27 2c 5c 6e 20 20 63 6f 6e 74 ement)',\n cont
00018f00: 61 69 6e 65 72 3a 20 27 28 73 74 72 69 6e 67 7c ainer: '(string|
00018f10: 65 6c 65 6d 65 6e 74 7c 62 6f 6f 6c 65 61 6e 29 element|boolean)
00018f20: 27 2c 5c 6e 20 20 63 75 73 74 6f 6d 43 6c 61 73 ',\n customClas
00018f30: 73 3a 20 27 28 73 74 72 69 6e 67 7c 66 75 6e 63 s: '(string|func
00018f40: 74 69 6f 6e 29 27 2c 5c 6e 20 20 64 65 6c 61 79 tion)',\n delay
00018f50: 3a 20 27 28 6e 75 6d 62 65 72 7c 6f 62 6a 65 63 : '(number|objec
00018f60: 74 29 27 2c 5c 6e 20 20 66 61 6c 6c 62 61 63 6b t)',\n fallback
00018f70: 50 6c 61 63 65 6d 65 6e 74 73 3a 20 27 61 72 72 Placements: 'arr
00018f80: 61 79 27 2c 5c 6e 20 20 68 74 6d 6c 3a 20 27 62 ay',\n html: 'b
00018f90: 6f 6f 6c 65 61 6e 27 2c 5c 6e 20 20 6f 66 66 73 oolean',\n offs
00018fa0: 65 74 3a 20 27 28 61 72 72 61 79 7c 73 74 72 69 et: '(array|stri
00018fb0: 6e 67 7c 66 75 6e 63 74 69 6f 6e 29 27 2c 5c 6e ng|function)',\n
00018fc0: 20 20 70 6c 61 63 65 6d 65 6e 74 3a 20 27 28 73 placement: '(s
00018fd0: 74 72 69 6e 67 7c 66 75 6e 63 74 69 6f 6e 29 27 tring|function)'
00018fe0: 2c 5c 6e 20 20 70 6f 70 70 65 72 43 6f 6e 66 69 ,\n popperConfi
00018ff0: 67 3a 20 27 28 6e 75 6c 6c 7c 6f 62 6a 65 63 74 g: '(null|object
00019000: 7c 66 75 6e 63 74 69 6f 6e 29 27 2c 5c 6e 20 20 |function)',\n
00019010: 73 61 6e 69 74 69 7a 65 3a 20 27 62 6f 6f 6c 65 sanitize: 'boole
00019020: 61 6e 27 2c 5c 6e 20 20 73 61 6e 69 74 69 7a 65 an',\n sanitize
00019030: 46 6e 3a 20 27 28 6e 75 6c 6c 7c 66 75 6e 63 74 Fn: '(null|funct
00019040: 69 6f 6e 29 27 2c 5c 6e 20 20 73 65 6c 65 63 74 ion)',\n select
00019050: 6f 72 3a 20 27 28 73 74 72 69 6e 67 7c 62 6f 6f or: '(string|boo
00019060: 6c 65 61 6e 29 27 2c 5c 6e 20 20 74 65 6d 70 6c lean)',\n templ
00019070: 61 74 65 3a 20 27 73 74 72 69 6e 67 27 2c 5c 6e ate: 'string',\n
00019080: 20 20 74 69 74 6c 65 3a 20 27 28 73 74 72 69 6e title: '(strin
00019090: 67 7c 65 6c 65 6d 65 6e 74 7c 66 75 6e 63 74 69 g|element|functi
000190a0: 6f 6e 29 27 2c 5c 6e 20 20 74 72 69 67 67 65 72 on)',\n trigger
000190b0: 3a 20 27 73 74 72 69 6e 67 27 5c 6e 7d 5c 6e 5c : 'string'\n}\n\
000190c0: 6e 2f 2a 2a 5c 6e 20 2a 20 43 6c 61 73 73 20 64 n/**\n * Class d
000190d0: 65 66 69 6e 69 74 69 6f 6e 5c 6e 20 2a 2f 5c 6e efinition\n */\n
000190e0: 5c 6e 63 6c 61 73 73 20 54 6f 6f 6c 74 69 70 20 \nclass Tooltip
000190f0: 65 78 74 65 6e 64 73 20 42 61 73 65 43 6f 6d 70 extends BaseComp
00019100: 6f 6e 65 6e 74 20 7b 5c 6e 20 20 63 6f 6e 73 74 onent {\n const
00019110: 72 75 63 74 6f 72 28 65 6c 65 6d 65 6e 74 2c 20 ructor(element,
00019120: 63 6f 6e 66 69 67 29 20 7b 5c 6e 20 20 20 20 69 config) {\n i
00019130: 66 20 28 74 79 70 65 6f 66 20 50 6f 70 70 65 72 f (typeof Popper
00019140: 20 3d 3d 3d 20 27 75 6e 64 65 66 69 6e 65 64 27 === 'undefined'
00019150: 29 20 7b 5c 6e 20 20 20 20 20 20 74 68 72 6f 77 ) {\n throw
00019160: 20 6e 65 77 20 54 79 70 65 45 72 72 6f 72 28 27 new TypeError('
00019170: 42 6f 6f 74 73 74 72 61 70 5c 5c 27 73 20 74 6f Bootstrap\\'s to
00019180: 6f 6c 74 69 70 73 20 72 65 71 75 69 72 65 20 50 oltips require P
00019190: 6f 70 70 65 72 20 28 68 74 74 70 73 3a 2f 2f 70 opper (https://p
000191a0: 6f 70 70 65 72 2e 6a 73 2e 6f 72 67 29 27 29 5c opper.js.org)')\
000191b0: 6e 20 20 20 20 7d 5c 6e 5c 6e 20 20 20 20 73 75 n }\n\n su
000191c0: 70 65 72 28 65 6c 65 6d 65 6e 74 2c 20 63 6f 6e per(element, con
000191d0: 66 69 67 29 5c 6e 5c 6e 20 20 20 20 2f 2f 20 50 fig)\n\n // P
000191e0: 72 69 76 61 74 65 5c 6e 20 20 20 20 74 68 69 73 rivate\n this
000191f0: 2e 5f 69 73 45 6e 61 62 6c 65 64 20 3d 20 74 72 ._isEnabled = tr
00019200: 75 65 5c 6e 20 20 20 20 74 68 69 73 2e 5f 74 69 ue\n this._ti
00019210: 6d 65 6f 75 74 20 3d 20 30 5c 6e 20 20 20 20 74 meout = 0\n t
00019220: 68 69 73 2e 5f 69 73 48 6f 76 65 72 65 64 20 3d his._isHovered =
00019230: 20 6e 75 6c 6c 5c 6e 20 20 20 20 74 68 69 73 2e null\n this.
00019240: 5f 61 63 74 69 76 65 54 72 69 67 67 65 72 20 3d _activeTrigger =
00019250: 20 7b 7d 5c 6e 20 20 20 20 74 68 69 73 2e 5f 70 {}\n this._p
00019260: 6f 70 70 65 72 20 3d 20 6e 75 6c 6c 5c 6e 20 20 opper = null\n
00019270: 20 20 74 68 69 73 2e 5f 74 65 6d 70 6c 61 74 65 this._template
00019280: 46 61 63 74 6f 72 79 20 3d 20 6e 75 6c 6c 5c 6e Factory = null\n
00019290: 20 20 20 20 74 68 69 73 2e 5f 6e 65 77 43 6f 6e this._newCon
000192a0: 74 65 6e 74 20 3d 20 6e 75 6c 6c 5c 6e 5c 6e 20 tent = null\n\n
000192b0: 20 20 20 2f 2f 20 50 72 6f 74 65 63 74 65 64 5c // Protected\
000192c0: 6e 20 20 20 20 74 68 69 73 2e 74 69 70 20 3d 20 n this.tip =
000192d0: 6e 75 6c 6c 5c 6e 5c 6e 20 20 20 20 74 68 69 73 null\n\n this
000192e0: 2e 5f 73 65 74 4c 69 73 74 65 6e 65 72 73 28 29 ._setListeners()
000192f0: 5c 6e 5c 6e 20 20 20 20 69 66 20 28 21 74 68 69 \n\n if (!thi
00019300: 73 2e 5f 63 6f 6e 66 69 67 2e 73 65 6c 65 63 74 s._config.select
00019310: 6f 72 29 20 7b 5c 6e 20 20 20 20 20 20 74 68 69 or) {\n thi
00019320: 73 2e 5f 66 69 78 54 69 74 6c 65 28 29 5c 6e 20 s._fixTitle()\n
00019330: 20 20 20 7d 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 2f }\n }\n\n /
00019340: 2f 20 47 65 74 74 65 72 73 5c 6e 20 20 73 74 61 / Getters\n sta
00019350: 74 69 63 20 67 65 74 20 44 65 66 61 75 6c 74 28 tic get Default(
00019360: 29 20 7b 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 ) {\n return
00019370: 44 65 66 61 75 6c 74 5c 6e 20 20 7d 5c 6e 5c 6e Default\n }\n\n
00019380: 20 20 73 74 61 74 69 63 20 67 65 74 20 44 65 66 static get Def
00019390: 61 75 6c 74 54 79 70 65 28 29 20 7b 5c 6e 20 20 aultType() {\n
000193a0: 20 20 72 65 74 75 72 6e 20 44 65 66 61 75 6c 74 return Default
000193b0: 54 79 70 65 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 73 Type\n }\n\n s
000193c0: 74 61 74 69 63 20 67 65 74 20 4e 41 4d 45 28 29 tatic get NAME()
000193d0: 20 7b 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 4e {\n return N
000193e0: 41 4d 45 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 2f 2f AME\n }\n\n //
000193f0: 20 50 75 62 6c 69 63 5c 6e 20 20 65 6e 61 62 6c Public\n enabl
00019400: 65 28 29 20 7b 5c 6e 20 20 20 20 74 68 69 73 2e e() {\n this.
00019410: 5f 69 73 45 6e 61 62 6c 65 64 20 3d 20 74 72 75 _isEnabled = tru
00019420: 65 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 64 69 73 61 e\n }\n\n disa
00019430: 62 6c 65 28 29 20 7b 5c 6e 20 20 20 20 74 68 69 ble() {\n thi
00019440: 73 2e 5f 69 73 45 6e 61 62 6c 65 64 20 3d 20 66 s._isEnabled = f
00019450: 61 6c 73 65 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 74 alse\n }\n\n t
00019460: 6f 67 67 6c 65 45 6e 61 62 6c 65 64 28 29 20 7b oggleEnabled() {
00019470: 5c 6e 20 20 20 20 74 68 69 73 2e 5f 69 73 45 6e \n this._isEn
00019480: 61 62 6c 65 64 20 3d 20 21 74 68 69 73 2e 5f 69 abled = !this._i
00019490: 73 45 6e 61 62 6c 65 64 5c 6e 20 20 7d 5c 6e 5c sEnabled\n }\n\
000194a0: 6e 20 20 74 6f 67 67 6c 65 28 29 20 7b 5c 6e 20 n toggle() {\n
000194b0: 20 20 20 69 66 20 28 21 74 68 69 73 2e 5f 69 73 if (!this._is
000194c0: 45 6e 61 62 6c 65 64 29 20 7b 5c 6e 20 20 20 20 Enabled) {\n
000194d0: 20 20 72 65 74 75 72 6e 5c 6e 20 20 20 20 7d 5c return\n }\
000194e0: 6e 5c 6e 20 20 20 20 74 68 69 73 2e 5f 61 63 74 n\n this._act
000194f0: 69 76 65 54 72 69 67 67 65 72 2e 63 6c 69 63 6b iveTrigger.click
00019500: 20 3d 20 21 74 68 69 73 2e 5f 61 63 74 69 76 65 = !this._active
00019510: 54 72 69 67 67 65 72 2e 63 6c 69 63 6b 5c 6e 20 Trigger.click\n
00019520: 20 20 20 69 66 20 28 74 68 69 73 2e 5f 69 73 53 if (this._isS
00019530: 68 6f 77 6e 28 29 29 20 7b 5c 6e 20 20 20 20 20 hown()) {\n
00019540: 20 74 68 69 73 2e 5f 6c 65 61 76 65 28 29 5c 6e this._leave()\n
00019550: 20 20 20 20 20 20 72 65 74 75 72 6e 5c 6e 20 20 return\n
00019560: 20 20 7d 5c 6e 5c 6e 20 20 20 20 74 68 69 73 2e }\n\n this.
00019570: 5f 65 6e 74 65 72 28 29 5c 6e 20 20 7d 5c 6e 5c _enter()\n }\n\
00019580: 6e 20 20 64 69 73 70 6f 73 65 28 29 20 7b 5c 6e n dispose() {\n
00019590: 20 20 20 20 63 6c 65 61 72 54 69 6d 65 6f 75 74 clearTimeout
000195a0: 28 74 68 69 73 2e 5f 74 69 6d 65 6f 75 74 29 5c (this._timeout)\
000195b0: 6e 5c 6e 20 20 20 20 45 76 65 6e 74 48 61 6e 64 n\n EventHand
000195c0: 6c 65 72 2e 6f 66 66 28 74 68 69 73 2e 5f 65 6c ler.off(this._el
000195d0: 65 6d 65 6e 74 2e 63 6c 6f 73 65 73 74 28 53 45 ement.closest(SE
000195e0: 4c 45 43 54 4f 52 5f 4d 4f 44 41 4c 29 2c 20 45 LECTOR_MODAL), E
000195f0: 56 45 4e 54 5f 4d 4f 44 41 4c 5f 48 49 44 45 2c VENT_MODAL_HIDE,
00019600: 20 74 68 69 73 2e 5f 68 69 64 65 4d 6f 64 61 6c this._hideModal
00019610: 48 61 6e 64 6c 65 72 29 5c 6e 5c 6e 20 20 20 20 Handler)\n\n
00019620: 69 66 20 28 74 68 69 73 2e 5f 65 6c 65 6d 65 6e if (this._elemen
00019630: 74 2e 67 65 74 41 74 74 72 69 62 75 74 65 28 27 t.getAttribute('
00019640: 64 61 74 61 2d 62 73 2d 6f 72 69 67 69 6e 61 6c data-bs-original
00019650: 2d 74 69 74 6c 65 27 29 29 20 7b 5c 6e 20 20 20 -title')) {\n
00019660: 20 20 20 74 68 69 73 2e 5f 65 6c 65 6d 65 6e 74 this._element
00019670: 2e 73 65 74 41 74 74 72 69 62 75 74 65 28 27 74 .setAttribute('t
00019680: 69 74 6c 65 27 2c 20 74 68 69 73 2e 5f 65 6c 65 itle', this._ele
00019690: 6d 65 6e 74 2e 67 65 74 41 74 74 72 69 62 75 74 ment.getAttribut
000196a0: 65 28 27 64 61 74 61 2d 62 73 2d 6f 72 69 67 69 e('data-bs-origi
000196b0: 6e 61 6c 2d 74 69 74 6c 65 27 29 29 5c 6e 20 20 nal-title'))\n
000196c0: 20 20 7d 5c 6e 5c 6e 20 20 20 20 74 68 69 73 2e }\n\n this.
000196d0: 5f 64 69 73 70 6f 73 65 50 6f 70 70 65 72 28 29 _disposePopper()
000196e0: 5c 6e 20 20 20 20 73 75 70 65 72 2e 64 69 73 70 \n super.disp
000196f0: 6f 73 65 28 29 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 ose()\n }\n\n
00019700: 73 68 6f 77 28 29 20 7b 5c 6e 20 20 20 20 69 66 show() {\n if
00019710: 20 28 74 68 69 73 2e 5f 65 6c 65 6d 65 6e 74 2e (this._element.
00019720: 73 74 79 6c 65 2e 64 69 73 70 6c 61 79 20 3d 3d style.display ==
00019730: 3d 20 27 6e 6f 6e 65 27 29 20 7b 5c 6e 20 20 20 = 'none') {\n
00019740: 20 20 20 74 68 72 6f 77 20 6e 65 77 20 45 72 72 throw new Err
00019750: 6f 72 28 27 50 6c 65 61 73 65 20 75 73 65 20 73 or('Please use s
00019760: 68 6f 77 20 6f 6e 20 76 69 73 69 62 6c 65 20 65 how on visible e
00019770: 6c 65 6d 65 6e 74 73 27 29 5c 6e 20 20 20 20 7d lements')\n }
00019780: 5c 6e 5c 6e 20 20 20 20 69 66 20 28 21 28 74 68 \n\n if (!(th
00019790: 69 73 2e 5f 69 73 57 69 74 68 43 6f 6e 74 65 6e is._isWithConten
000197a0: 74 28 29 20 26 26 20 74 68 69 73 2e 5f 69 73 45 t() && this._isE
000197b0: 6e 61 62 6c 65 64 29 29 20 7b 5c 6e 20 20 20 20 nabled)) {\n
000197c0: 20 20 72 65 74 75 72 6e 5c 6e 20 20 20 20 7d 5c return\n }\
000197d0: 6e 5c 6e 20 20 20 20 63 6f 6e 73 74 20 73 68 6f n\n const sho
000197e0: 77 45 76 65 6e 74 20 3d 20 45 76 65 6e 74 48 61 wEvent = EventHa
000197f0: 6e 64 6c 65 72 2e 74 72 69 67 67 65 72 28 74 68 ndler.trigger(th
00019800: 69 73 2e 5f 65 6c 65 6d 65 6e 74 2c 20 74 68 69 is._element, thi
00019810: 73 2e 63 6f 6e 73 74 72 75 63 74 6f 72 2e 65 76 s.constructor.ev
00019820: 65 6e 74 4e 61 6d 65 28 45 56 45 4e 54 5f 53 48 entName(EVENT_SH
00019830: 4f 57 29 29 5c 6e 20 20 20 20 63 6f 6e 73 74 20 OW))\n const
00019840: 73 68 61 64 6f 77 52 6f 6f 74 20 3d 20 66 69 6e shadowRoot = fin
00019850: 64 53 68 61 64 6f 77 52 6f 6f 74 28 74 68 69 73 dShadowRoot(this
00019860: 2e 5f 65 6c 65 6d 65 6e 74 29 5c 6e 20 20 20 20 ._element)\n
00019870: 63 6f 6e 73 74 20 69 73 49 6e 54 68 65 44 6f 6d const isInTheDom
00019880: 20 3d 20 28 73 68 61 64 6f 77 52 6f 6f 74 20 7c = (shadowRoot |
00019890: 7c 20 74 68 69 73 2e 5f 65 6c 65 6d 65 6e 74 2e | this._element.
000198a0: 6f 77 6e 65 72 44 6f 63 75 6d 65 6e 74 2e 64 6f ownerDocument.do
000198b0: 63 75 6d 65 6e 74 45 6c 65 6d 65 6e 74 29 2e 63 cumentElement).c
000198c0: 6f 6e 74 61 69 6e 73 28 74 68 69 73 2e 5f 65 6c ontains(this._el
000198d0: 65 6d 65 6e 74 29 5c 6e 5c 6e 20 20 20 20 69 66 ement)\n\n if
000198e0: 20 28 73 68 6f 77 45 76 65 6e 74 2e 64 65 66 61 (showEvent.defa
000198f0: 75 6c 74 50 72 65 76 65 6e 74 65 64 20 7c 7c 20 ultPrevented ||
00019900: 21 69 73 49 6e 54 68 65 44 6f 6d 29 20 7b 5c 6e !isInTheDom) {\n
00019910: 20 20 20 20 20 20 72 65 74 75 72 6e 5c 6e 20 20 return\n
00019920: 20 20 7d 5c 6e 5c 6e 20 20 20 20 2f 2f 20 54 4f }\n\n // TO
00019930: 44 4f 3a 20 76 36 20 72 65 6d 6f 76 65 20 74 68 DO: v6 remove th
00019940: 69 73 20 6f 72 20 6d 61 6b 65 20 69 74 20 6f 70 is or make it op
00019950: 74 69 6f 6e 61 6c 5c 6e 20 20 20 20 74 68 69 73 tional\n this
00019960: 2e 5f 64 69 73 70 6f 73 65 50 6f 70 70 65 72 28 ._disposePopper(
00019970: 29 5c 6e 5c 6e 20 20 20 20 63 6f 6e 73 74 20 74 )\n\n const t
00019980: 69 70 20 3d 20 74 68 69 73 2e 5f 67 65 74 54 69 ip = this._getTi
00019990: 70 45 6c 65 6d 65 6e 74 28 29 5c 6e 5c 6e 20 20 pElement()\n\n
000199a0: 20 20 74 68 69 73 2e 5f 65 6c 65 6d 65 6e 74 2e this._element.
000199b0: 73 65 74 41 74 74 72 69 62 75 74 65 28 27 61 72 setAttribute('ar
000199c0: 69 61 2d 64 65 73 63 72 69 62 65 64 62 79 27 2c ia-describedby',
000199d0: 20 74 69 70 2e 67 65 74 41 74 74 72 69 62 75 74 tip.getAttribut
000199e0: 65 28 27 69 64 27 29 29 5c 6e 5c 6e 20 20 20 20 e('id'))\n\n
000199f0: 63 6f 6e 73 74 20 7b 20 63 6f 6e 74 61 69 6e 65 const { containe
00019a00: 72 20 7d 20 3d 20 74 68 69 73 2e 5f 63 6f 6e 66 r } = this._conf
00019a10: 69 67 5c 6e 5c 6e 20 20 20 20 69 66 20 28 21 74 ig\n\n if (!t
00019a20: 68 69 73 2e 5f 65 6c 65 6d 65 6e 74 2e 6f 77 6e his._element.own
00019a30: 65 72 44 6f 63 75 6d 65 6e 74 2e 64 6f 63 75 6d erDocument.docum
00019a40: 65 6e 74 45 6c 65 6d 65 6e 74 2e 63 6f 6e 74 61 entElement.conta
00019a50: 69 6e 73 28 74 68 69 73 2e 74 69 70 29 29 20 7b ins(this.tip)) {
00019a60: 5c 6e 20 20 20 20 20 20 63 6f 6e 74 61 69 6e 65 \n containe
00019a70: 72 2e 61 70 70 65 6e 64 28 74 69 70 29 5c 6e 20 r.append(tip)\n
00019a80: 20 20 20 20 20 45 76 65 6e 74 48 61 6e 64 6c 65 EventHandle
00019a90: 72 2e 74 72 69 67 67 65 72 28 74 68 69 73 2e 5f r.trigger(this._
00019aa0: 65 6c 65 6d 65 6e 74 2c 20 74 68 69 73 2e 63 6f element, this.co
00019ab0: 6e 73 74 72 75 63 74 6f 72 2e 65 76 65 6e 74 4e nstructor.eventN
00019ac0: 61 6d 65 28 45 56 45 4e 54 5f 49 4e 53 45 52 54 ame(EVENT_INSERT
00019ad0: 45 44 29 29 5c 6e 20 20 20 20 7d 5c 6e 5c 6e 20 ED))\n }\n\n
00019ae0: 20 20 20 74 68 69 73 2e 5f 70 6f 70 70 65 72 20 this._popper
00019af0: 3d 20 74 68 69 73 2e 5f 63 72 65 61 74 65 50 6f = this._createPo
00019b00: 70 70 65 72 28 74 69 70 29 5c 6e 5c 6e 20 20 20 pper(tip)\n\n
00019b10: 20 74 69 70 2e 63 6c 61 73 73 4c 69 73 74 2e 61 tip.classList.a
00019b20: 64 64 28 43 4c 41 53 53 5f 4e 41 4d 45 5f 53 48 dd(CLASS_NAME_SH
00019b30: 4f 57 29 5c 6e 5c 6e 20 20 20 20 2f 2f 20 49 66 OW)\n\n // If
00019b40: 20 74 68 69 73 20 69 73 20 61 20 74 6f 75 63 68 this is a touch
00019b50: 2d 65 6e 61 62 6c 65 64 20 64 65 76 69 63 65 20 -enabled device
00019b60: 77 65 20 61 64 64 20 65 78 74 72 61 5c 6e 20 20 we add extra\n
00019b70: 20 20 2f 2f 20 65 6d 70 74 79 20 6d 6f 75 73 65 // empty mouse
00019b80: 6f 76 65 72 20 6c 69 73 74 65 6e 65 72 73 20 74 over listeners t
00019b90: 6f 20 74 68 65 20 62 6f 64 79 27 73 20 69 6d 6d o the body's imm
00019ba0: 65 64 69 61 74 65 20 63 68 69 6c 64 72 65 6e 3b ediate children;
00019bb0: 5c 6e 20 20 20 20 2f 2f 20 6f 6e 6c 79 20 6e 65 \n // only ne
00019bc0: 65 64 65 64 20 62 65 63 61 75 73 65 20 6f 66 20 eded because of
00019bd0: 62 72 6f 6b 65 6e 20 65 76 65 6e 74 20 64 65 6c broken event del
00019be0: 65 67 61 74 69 6f 6e 20 6f 6e 20 69 4f 53 5c 6e egation on iOS\n
00019bf0: 20 20 20 20 2f 2f 20 68 74 74 70 73 3a 2f 2f 77 // https://w
00019c00: 77 77 2e 71 75 69 72 6b 73 6d 6f 64 65 2e 6f 72 ww.quirksmode.or
00019c10: 67 2f 62 6c 6f 67 2f 61 72 63 68 69 76 65 73 2f g/blog/archives/
00019c20: 32 30 31 34 2f 30 32 2f 6d 6f 75 73 65 5f 65 76 2014/02/mouse_ev
00019c30: 65 6e 74 5f 62 75 62 2e 68 74 6d 6c 5c 6e 20 20 ent_bub.html\n
00019c40: 20 20 69 66 20 28 27 6f 6e 74 6f 75 63 68 73 74 if ('ontouchst
00019c50: 61 72 74 27 20 69 6e 20 64 6f 63 75 6d 65 6e 74 art' in document
00019c60: 2e 64 6f 63 75 6d 65 6e 74 45 6c 65 6d 65 6e 74 .documentElement
00019c70: 29 20 7b 5c 6e 20 20 20 20 20 20 66 6f 72 20 28 ) {\n for (
00019c80: 63 6f 6e 73 74 20 65 6c 65 6d 65 6e 74 20 6f 66 const element of
00019c90: 20 5b 5d 2e 63 6f 6e 63 61 74 28 2e 2e 2e 64 6f [].concat(...do
00019ca0: 63 75 6d 65 6e 74 2e 62 6f 64 79 2e 63 68 69 6c cument.body.chil
00019cb0: 64 72 65 6e 29 29 20 7b 5c 6e 20 20 20 20 20 20 dren)) {\n
00019cc0: 20 20 45 76 65 6e 74 48 61 6e 64 6c 65 72 2e 6f EventHandler.o
00019cd0: 6e 28 65 6c 65 6d 65 6e 74 2c 20 27 6d 6f 75 73 n(element, 'mous
00019ce0: 65 6f 76 65 72 27 2c 20 6e 6f 6f 70 29 5c 6e 20 eover', noop)\n
00019cf0: 20 20 20 20 20 7d 5c 6e 20 20 20 20 7d 5c 6e 5c }\n }\n\
00019d00: 6e 20 20 20 20 63 6f 6e 73 74 20 63 6f 6d 70 6c n const compl
00019d10: 65 74 65 20 3d 20 28 29 20 3d 3e 20 7b 5c 6e 20 ete = () => {\n
00019d20: 20 20 20 20 20 45 76 65 6e 74 48 61 6e 64 6c 65 EventHandle
00019d30: 72 2e 74 72 69 67 67 65 72 28 74 68 69 73 2e 5f r.trigger(this._
00019d40: 65 6c 65 6d 65 6e 74 2c 20 74 68 69 73 2e 63 6f element, this.co
00019d50: 6e 73 74 72 75 63 74 6f 72 2e 65 76 65 6e 74 4e nstructor.eventN
00019d60: 61 6d 65 28 45 56 45 4e 54 5f 53 48 4f 57 4e 29 ame(EVENT_SHOWN)
00019d70: 29 5c 6e 5c 6e 20 20 20 20 20 20 69 66 20 28 74 )\n\n if (t
00019d80: 68 69 73 2e 5f 69 73 48 6f 76 65 72 65 64 20 3d his._isHovered =
00019d90: 3d 3d 20 66 61 6c 73 65 29 20 7b 5c 6e 20 20 20 == false) {\n
00019da0: 20 20 20 20 20 74 68 69 73 2e 5f 6c 65 61 76 65 this._leave
00019db0: 28 29 5c 6e 20 20 20 20 20 20 7d 5c 6e 5c 6e 20 ()\n }\n\n
00019dc0: 20 20 20 20 20 74 68 69 73 2e 5f 69 73 48 6f 76 this._isHov
00019dd0: 65 72 65 64 20 3d 20 66 61 6c 73 65 5c 6e 20 20 ered = false\n
00019de0: 20 20 7d 5c 6e 5c 6e 20 20 20 20 74 68 69 73 2e }\n\n this.
00019df0: 5f 71 75 65 75 65 43 61 6c 6c 62 61 63 6b 28 63 _queueCallback(c
00019e00: 6f 6d 70 6c 65 74 65 2c 20 74 68 69 73 2e 74 69 omplete, this.ti
00019e10: 70 2c 20 74 68 69 73 2e 5f 69 73 41 6e 69 6d 61 p, this._isAnima
00019e20: 74 65 64 28 29 29 5c 6e 20 20 7d 5c 6e 5c 6e 20 ted())\n }\n\n
00019e30: 20 68 69 64 65 28 29 20 7b 5c 6e 20 20 20 20 69 hide() {\n i
00019e40: 66 20 28 21 74 68 69 73 2e 5f 69 73 53 68 6f 77 f (!this._isShow
00019e50: 6e 28 29 29 20 7b 5c 6e 20 20 20 20 20 20 72 65 n()) {\n re
00019e60: 74 75 72 6e 5c 6e 20 20 20 20 7d 5c 6e 5c 6e 20 turn\n }\n\n
00019e70: 20 20 20 63 6f 6e 73 74 20 68 69 64 65 45 76 65 const hideEve
00019e80: 6e 74 20 3d 20 45 76 65 6e 74 48 61 6e 64 6c 65 nt = EventHandle
00019e90: 72 2e 74 72 69 67 67 65 72 28 74 68 69 73 2e 5f r.trigger(this._
00019ea0: 65 6c 65 6d 65 6e 74 2c 20 74 68 69 73 2e 63 6f element, this.co
00019eb0: 6e 73 74 72 75 63 74 6f 72 2e 65 76 65 6e 74 4e nstructor.eventN
00019ec0: 61 6d 65 28 45 56 45 4e 54 5f 48 49 44 45 29 29 ame(EVENT_HIDE))
00019ed0: 5c 6e 20 20 20 20 69 66 20 28 68 69 64 65 45 76 \n if (hideEv
00019ee0: 65 6e 74 2e 64 65 66 61 75 6c 74 50 72 65 76 65 ent.defaultPreve
00019ef0: 6e 74 65 64 29 20 7b 5c 6e 20 20 20 20 20 20 72 nted) {\n r
00019f00: 65 74 75 72 6e 5c 6e 20 20 20 20 7d 5c 6e 5c 6e eturn\n }\n\n
00019f10: 20 20 20 20 63 6f 6e 73 74 20 74 69 70 20 3d 20 const tip =
00019f20: 74 68 69 73 2e 5f 67 65 74 54 69 70 45 6c 65 6d this._getTipElem
00019f30: 65 6e 74 28 29 5c 6e 20 20 20 20 74 69 70 2e 63 ent()\n tip.c
00019f40: 6c 61 73 73 4c 69 73 74 2e 72 65 6d 6f 76 65 28 lassList.remove(
00019f50: 43 4c 41 53 53 5f 4e 41 4d 45 5f 53 48 4f 57 29 CLASS_NAME_SHOW)
00019f60: 5c 6e 5c 6e 20 20 20 20 2f 2f 20 49 66 20 74 68 \n\n // If th
00019f70: 69 73 20 69 73 20 61 20 74 6f 75 63 68 2d 65 6e is is a touch-en
00019f80: 61 62 6c 65 64 20 64 65 76 69 63 65 20 77 65 20 abled device we
00019f90: 72 65 6d 6f 76 65 20 74 68 65 20 65 78 74 72 61 remove the extra
00019fa0: 5c 6e 20 20 20 20 2f 2f 20 65 6d 70 74 79 20 6d \n // empty m
00019fb0: 6f 75 73 65 6f 76 65 72 20 6c 69 73 74 65 6e 65 ouseover listene
00019fc0: 72 73 20 77 65 20 61 64 64 65 64 20 66 6f 72 20 rs we added for
00019fd0: 69 4f 53 20 73 75 70 70 6f 72 74 5c 6e 20 20 20 iOS support\n
00019fe0: 20 69 66 20 28 27 6f 6e 74 6f 75 63 68 73 74 61 if ('ontouchsta
00019ff0: 72 74 27 20 69 6e 20 64 6f 63 75 6d 65 6e 74 2e rt' in document.
0001a000: 64 6f 63 75 6d 65 6e 74 45 6c 65 6d 65 6e 74 29 documentElement)
0001a010: 20 7b 5c 6e 20 20 20 20 20 20 66 6f 72 20 28 63 {\n for (c
0001a020: 6f 6e 73 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 onst element of
0001a030: 5b 5d 2e 63 6f 6e 63 61 74 28 2e 2e 2e 64 6f 63 [].concat(...doc
0001a040: 75 6d 65 6e 74 2e 62 6f 64 79 2e 63 68 69 6c 64 ument.body.child
0001a050: 72 65 6e 29 29 20 7b 5c 6e 20 20 20 20 20 20 20 ren)) {\n
0001a060: 20 45 76 65 6e 74 48 61 6e 64 6c 65 72 2e 6f 66 EventHandler.of
0001a070: 66 28 65 6c 65 6d 65 6e 74 2c 20 27 6d 6f 75 73 f(element, 'mous
0001a080: 65 6f 76 65 72 27 2c 20 6e 6f 6f 70 29 5c 6e 20 eover', noop)\n
0001a090: 20 20 20 20 20 7d 5c 6e 20 20 20 20 7d 5c 6e 5c }\n }\n\
0001a0a0: 6e 20 20 20 20 74 68 69 73 2e 5f 61 63 74 69 76 n this._activ
0001a0b0: 65 54 72 69 67 67 65 72 5b 54 52 49 47 47 45 52 eTrigger[TRIGGER
0001a0c0: 5f 43 4c 49 43 4b 5d 20 3d 20 66 61 6c 73 65 5c _CLICK] = false\
0001a0d0: 6e 20 20 20 20 74 68 69 73 2e 5f 61 63 74 69 76 n this._activ
0001a0e0: 65 54 72 69 67 67 65 72 5b 54 52 49 47 47 45 52 eTrigger[TRIGGER
0001a0f0: 5f 46 4f 43 55 53 5d 20 3d 20 66 61 6c 73 65 5c _FOCUS] = false\
0001a100: 6e 20 20 20 20 74 68 69 73 2e 5f 61 63 74 69 76 n this._activ
0001a110: 65 54 72 69 67 67 65 72 5b 54 52 49 47 47 45 52 eTrigger[TRIGGER
0001a120: 5f 48 4f 56 45 52 5d 20 3d 20 66 61 6c 73 65 5c _HOVER] = false\
0001a130: 6e 20 20 20 20 74 68 69 73 2e 5f 69 73 48 6f 76 n this._isHov
0001a140: 65 72 65 64 20 3d 20 6e 75 6c 6c 20 2f 2f 20 69 ered = null // i
0001a150: 74 20 69 73 20 61 20 74 72 69 63 6b 20 74 6f 20 t is a trick to
0001a160: 73 75 70 70 6f 72 74 20 6d 61 6e 75 61 6c 20 74 support manual t
0001a170: 72 69 67 67 65 72 69 6e 67 5c 6e 5c 6e 20 20 20 riggering\n\n
0001a180: 20 63 6f 6e 73 74 20 63 6f 6d 70 6c 65 74 65 20 const complete
0001a190: 3d 20 28 29 20 3d 3e 20 7b 5c 6e 20 20 20 20 20 = () => {\n
0001a1a0: 20 69 66 20 28 74 68 69 73 2e 5f 69 73 57 69 74 if (this._isWit
0001a1b0: 68 41 63 74 69 76 65 54 72 69 67 67 65 72 28 29 hActiveTrigger()
0001a1c0: 29 20 7b 5c 6e 20 20 20 20 20 20 20 20 72 65 74 ) {\n ret
0001a1d0: 75 72 6e 5c 6e 20 20 20 20 20 20 7d 5c 6e 5c 6e urn\n }\n\n
0001a1e0: 20 20 20 20 20 20 69 66 20 28 21 74 68 69 73 2e if (!this.
0001a1f0: 5f 69 73 48 6f 76 65 72 65 64 29 20 7b 5c 6e 20 _isHovered) {\n
0001a200: 20 20 20 20 20 20 20 74 68 69 73 2e 5f 64 69 73 this._dis
0001a210: 70 6f 73 65 50 6f 70 70 65 72 28 29 5c 6e 20 20 posePopper()\n
0001a220: 20 20 20 20 7d 5c 6e 5c 6e 20 20 20 20 20 20 74 }\n\n t
0001a230: 68 69 73 2e 5f 65 6c 65 6d 65 6e 74 2e 72 65 6d his._element.rem
0001a240: 6f 76 65 41 74 74 72 69 62 75 74 65 28 27 61 72 oveAttribute('ar
0001a250: 69 61 2d 64 65 73 63 72 69 62 65 64 62 79 27 29 ia-describedby')
0001a260: 5c 6e 20 20 20 20 20 20 45 76 65 6e 74 48 61 6e \n EventHan
0001a270: 64 6c 65 72 2e 74 72 69 67 67 65 72 28 74 68 69 dler.trigger(thi
0001a280: 73 2e 5f 65 6c 65 6d 65 6e 74 2c 20 74 68 69 73 s._element, this
0001a290: 2e 63 6f 6e 73 74 72 75 63 74 6f 72 2e 65 76 65 .constructor.eve
0001a2a0: 6e 74 4e 61 6d 65 28 45 56 45 4e 54 5f 48 49 44 ntName(EVENT_HID
0001a2b0: 44 45 4e 29 29 5c 6e 20 20 20 20 7d 5c 6e 5c 6e DEN))\n }\n\n
0001a2c0: 20 20 20 20 74 68 69 73 2e 5f 71 75 65 75 65 43 this._queueC
0001a2d0: 61 6c 6c 62 61 63 6b 28 63 6f 6d 70 6c 65 74 65 allback(complete
0001a2e0: 2c 20 74 68 69 73 2e 74 69 70 2c 20 74 68 69 73 , this.tip, this
0001a2f0: 2e 5f 69 73 41 6e 69 6d 61 74 65 64 28 29 29 5c ._isAnimated())\
0001a300: 6e 20 20 7d 5c 6e 5c 6e 20 20 75 70 64 61 74 65 n }\n\n update
0001a310: 28 29 20 7b 5c 6e 20 20 20 20 69 66 20 28 74 68 () {\n if (th
0001a320: 69 73 2e 5f 70 6f 70 70 65 72 29 20 7b 5c 6e 20 is._popper) {\n
0001a330: 20 20 20 20 20 74 68 69 73 2e 5f 70 6f 70 70 65 this._poppe
0001a340: 72 2e 75 70 64 61 74 65 28 29 5c 6e 20 20 20 20 r.update()\n
0001a350: 7d 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 2f 2f 20 50 }\n }\n\n // P
0001a360: 72 6f 74 65 63 74 65 64 5c 6e 20 20 5f 69 73 57 rotected\n _isW
0001a370: 69 74 68 43 6f 6e 74 65 6e 74 28 29 20 7b 5c 6e ithContent() {\n
0001a380: 20 20 20 20 72 65 74 75 72 6e 20 42 6f 6f 6c 65 return Boole
0001a390: 61 6e 28 74 68 69 73 2e 5f 67 65 74 54 69 74 6c an(this._getTitl
0001a3a0: 65 28 29 29 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 5f e())\n }\n\n _
0001a3b0: 67 65 74 54 69 70 45 6c 65 6d 65 6e 74 28 29 20 getTipElement()
0001a3c0: 7b 5c 6e 20 20 20 20 69 66 20 28 21 74 68 69 73 {\n if (!this
0001a3d0: 2e 74 69 70 29 20 7b 5c 6e 20 20 20 20 20 20 74 .tip) {\n t
0001a3e0: 68 69 73 2e 74 69 70 20 3d 20 74 68 69 73 2e 5f his.tip = this._
0001a3f0: 63 72 65 61 74 65 54 69 70 45 6c 65 6d 65 6e 74 createTipElement
0001a400: 28 74 68 69 73 2e 5f 6e 65 77 43 6f 6e 74 65 6e (this._newConten
0001a410: 74 20 7c 7c 20 74 68 69 73 2e 5f 67 65 74 43 6f t || this._getCo
0001a420: 6e 74 65 6e 74 46 6f 72 54 65 6d 70 6c 61 74 65 ntentForTemplate
0001a430: 28 29 29 5c 6e 20 20 20 20 7d 5c 6e 5c 6e 20 20 ())\n }\n\n
0001a440: 20 20 72 65 74 75 72 6e 20 74 68 69 73 2e 74 69 return this.ti
0001a450: 70 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 5f 63 72 65 p\n }\n\n _cre
0001a460: 61 74 65 54 69 70 45 6c 65 6d 65 6e 74 28 63 6f ateTipElement(co
0001a470: 6e 74 65 6e 74 29 20 7b 5c 6e 20 20 20 20 63 6f ntent) {\n co
0001a480: 6e 73 74 20 74 69 70 20 3d 20 74 68 69 73 2e 5f nst tip = this._
0001a490: 67 65 74 54 65 6d 70 6c 61 74 65 46 61 63 74 6f getTemplateFacto
0001a4a0: 72 79 28 63 6f 6e 74 65 6e 74 29 2e 74 6f 48 74 ry(content).toHt
0001a4b0: 6d 6c 28 29 5c 6e 5c 6e 20 20 20 20 2f 2f 20 54 ml()\n\n // T
0001a4c0: 4f 44 4f 3a 20 72 65 6d 6f 76 65 20 74 68 69 73 ODO: remove this
0001a4d0: 20 63 68 65 63 6b 20 69 6e 20 76 36 5c 6e 20 20 check in v6\n
0001a4e0: 20 20 69 66 20 28 21 74 69 70 29 20 7b 5c 6e 20 if (!tip) {\n
0001a4f0: 20 20 20 20 20 72 65 74 75 72 6e 20 6e 75 6c 6c return null
0001a500: 5c 6e 20 20 20 20 7d 5c 6e 5c 6e 20 20 20 20 74 \n }\n\n t
0001a510: 69 70 2e 63 6c 61 73 73 4c 69 73 74 2e 72 65 6d ip.classList.rem
0001a520: 6f 76 65 28 43 4c 41 53 53 5f 4e 41 4d 45 5f 46 ove(CLASS_NAME_F
0001a530: 41 44 45 2c 20 43 4c 41 53 53 5f 4e 41 4d 45 5f ADE, CLASS_NAME_
0001a540: 53 48 4f 57 29 5c 6e 20 20 20 20 2f 2f 20 54 4f SHOW)\n // TO
0001a550: 44 4f 3a 20 76 36 20 74 68 65 20 66 6f 6c 6c 6f DO: v6 the follo
0001a560: 77 69 6e 67 20 63 61 6e 20 62 65 20 61 63 68 69 wing can be achi
0001a570: 65 76 65 64 20 77 69 74 68 20 43 53 53 20 6f 6e eved with CSS on
0001a580: 6c 79 5c 6e 20 20 20 20 74 69 70 2e 63 6c 61 73 ly\n tip.clas
0001a590: 73 4c 69 73 74 2e 61 64 64 28 60 62 73 2d 24 7b sList.add(`bs-${
0001a5a0: 74 68 69 73 2e 63 6f 6e 73 74 72 75 63 74 6f 72 this.constructor
0001a5b0: 2e 4e 41 4d 45 7d 2d 61 75 74 6f 60 29 5c 6e 5c .NAME}-auto`)\n\
0001a5c0: 6e 20 20 20 20 63 6f 6e 73 74 20 74 69 70 49 64 n const tipId
0001a5d0: 20 3d 20 67 65 74 55 49 44 28 74 68 69 73 2e 63 = getUID(this.c
0001a5e0: 6f 6e 73 74 72 75 63 74 6f 72 2e 4e 41 4d 45 29 onstructor.NAME)
0001a5f0: 2e 74 6f 53 74 72 69 6e 67 28 29 5c 6e 5c 6e 20 .toString()\n\n
0001a600: 20 20 20 74 69 70 2e 73 65 74 41 74 74 72 69 62 tip.setAttrib
0001a610: 75 74 65 28 27 69 64 27 2c 20 74 69 70 49 64 29 ute('id', tipId)
0001a620: 5c 6e 5c 6e 20 20 20 20 69 66 20 28 74 68 69 73 \n\n if (this
0001a630: 2e 5f 69 73 41 6e 69 6d 61 74 65 64 28 29 29 20 ._isAnimated())
0001a640: 7b 5c 6e 20 20 20 20 20 20 74 69 70 2e 63 6c 61 {\n tip.cla
0001a650: 73 73 4c 69 73 74 2e 61 64 64 28 43 4c 41 53 53 ssList.add(CLASS
0001a660: 5f 4e 41 4d 45 5f 46 41 44 45 29 5c 6e 20 20 20 _NAME_FADE)\n
0001a670: 20 7d 5c 6e 5c 6e 20 20 20 20 72 65 74 75 72 6e }\n\n return
0001a680: 20 74 69 70 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 73 tip\n }\n\n s
0001a690: 65 74 43 6f 6e 74 65 6e 74 28 63 6f 6e 74 65 6e etContent(conten
0001a6a0: 74 29 20 7b 5c 6e 20 20 20 20 74 68 69 73 2e 5f t) {\n this._
0001a6b0: 6e 65 77 43 6f 6e 74 65 6e 74 20 3d 20 63 6f 6e newContent = con
0001a6c0: 74 65 6e 74 5c 6e 20 20 20 20 69 66 20 28 74 68 tent\n if (th
0001a6d0: 69 73 2e 5f 69 73 53 68 6f 77 6e 28 29 29 20 7b is._isShown()) {
0001a6e0: 5c 6e 20 20 20 20 20 20 74 68 69 73 2e 5f 64 69 \n this._di
0001a6f0: 73 70 6f 73 65 50 6f 70 70 65 72 28 29 5c 6e 20 sposePopper()\n
0001a700: 20 20 20 20 20 74 68 69 73 2e 73 68 6f 77 28 29 this.show()
0001a710: 5c 6e 20 20 20 20 7d 5c 6e 20 20 7d 5c 6e 5c 6e \n }\n }\n\n
0001a720: 20 20 5f 67 65 74 54 65 6d 70 6c 61 74 65 46 61 _getTemplateFa
0001a730: 63 74 6f 72 79 28 63 6f 6e 74 65 6e 74 29 20 7b ctory(content) {
0001a740: 5c 6e 20 20 20 20 69 66 20 28 74 68 69 73 2e 5f \n if (this._
0001a750: 74 65 6d 70 6c 61 74 65 46 61 63 74 6f 72 79 29 templateFactory)
0001a760: 20 7b 5c 6e 20 20 20 20 20 20 74 68 69 73 2e 5f {\n this._
0001a770: 74 65 6d 70 6c 61 74 65 46 61 63 74 6f 72 79 2e templateFactory.
0001a780: 63 68 61 6e 67 65 43 6f 6e 74 65 6e 74 28 63 6f changeContent(co
0001a790: 6e 74 65 6e 74 29 5c 6e 20 20 20 20 7d 20 65 6c ntent)\n } el
0001a7a0: 73 65 20 7b 5c 6e 20 20 20 20 20 20 74 68 69 73 se {\n this
0001a7b0: 2e 5f 74 65 6d 70 6c 61 74 65 46 61 63 74 6f 72 ._templateFactor
0001a7c0: 79 20 3d 20 6e 65 77 20 54 65 6d 70 6c 61 74 65 y = new Template
0001a7d0: 46 61 63 74 6f 72 79 28 7b 5c 6e 20 20 20 20 20 Factory({\n
0001a7e0: 20 20 20 2e 2e 2e 74 68 69 73 2e 5f 63 6f 6e 66 ...this._conf
0001a7f0: 69 67 2c 5c 6e 20 20 20 20 20 20 20 20 2f 2f 20 ig,\n //
0001a800: 74 68 65 20 60 63 6f 6e 74 65 6e 74 60 20 76 61 the `content` va
0001a810: 72 20 68 61 73 20 74 6f 20 62 65 20 61 66 74 65 r has to be afte
0001a820: 72 20 60 74 68 69 73 2e 5f 63 6f 6e 66 69 67 60 r `this._config`
0001a830: 5c 6e 20 20 20 20 20 20 20 20 2f 2f 20 74 6f 20 \n // to
0001a840: 6f 76 65 72 72 69 64 65 20 63 6f 6e 66 69 67 2e override config.
0001a850: 63 6f 6e 74 65 6e 74 20 69 6e 20 63 61 73 65 20 content in case
0001a860: 6f 66 20 70 6f 70 6f 76 65 72 5c 6e 20 20 20 20 of popover\n
0001a870: 20 20 20 20 63 6f 6e 74 65 6e 74 2c 5c 6e 20 20 content,\n
0001a880: 20 20 20 20 20 20 65 78 74 72 61 43 6c 61 73 73 extraClass
0001a890: 3a 20 74 68 69 73 2e 5f 72 65 73 6f 6c 76 65 50 : this._resolveP
0001a8a0: 6f 73 73 69 62 6c 65 46 75 6e 63 74 69 6f 6e 28 ossibleFunction(
0001a8b0: 74 68 69 73 2e 5f 63 6f 6e 66 69 67 2e 63 75 73 this._config.cus
0001a8c0: 74 6f 6d 43 6c 61 73 73 29 5c 6e 20 20 20 20 20 tomClass)\n
0001a8d0: 20 7d 29 5c 6e 20 20 20 20 7d 5c 6e 5c 6e 20 20 })\n }\n\n
0001a8e0: 20 20 72 65 74 75 72 6e 20 74 68 69 73 2e 5f 74 return this._t
0001a8f0: 65 6d 70 6c 61 74 65 46 61 63 74 6f 72 79 5c 6e emplateFactory\n
0001a900: 20 20 7d 5c 6e 5c 6e 20 20 5f 67 65 74 43 6f 6e }\n\n _getCon
0001a910: 74 65 6e 74 46 6f 72 54 65 6d 70 6c 61 74 65 28 tentForTemplate(
0001a920: 29 20 7b 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 ) {\n return
0001a930: 7b 5c 6e 20 20 20 20 20 20 5b 53 45 4c 45 43 54 {\n [SELECT
0001a940: 4f 52 5f 54 4f 4f 4c 54 49 50 5f 49 4e 4e 45 52 OR_TOOLTIP_INNER
0001a950: 5d 3a 20 74 68 69 73 2e 5f 67 65 74 54 69 74 6c ]: this._getTitl
0001a960: 65 28 29 5c 6e 20 20 20 20 7d 5c 6e 20 20 7d 5c e()\n }\n }\
0001a970: 6e 5c 6e 20 20 5f 67 65 74 54 69 74 6c 65 28 29 n\n _getTitle()
0001a980: 20 7b 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 74 {\n return t
0001a990: 68 69 73 2e 5f 72 65 73 6f 6c 76 65 50 6f 73 73 his._resolvePoss
0001a9a0: 69 62 6c 65 46 75 6e 63 74 69 6f 6e 28 74 68 69 ibleFunction(thi
0001a9b0: 73 2e 5f 63 6f 6e 66 69 67 2e 74 69 74 6c 65 29 s._config.title)
0001a9c0: 20 7c 7c 20 74 68 69 73 2e 5f 65 6c 65 6d 65 6e || this._elemen
0001a9d0: 74 2e 67 65 74 41 74 74 72 69 62 75 74 65 28 27 t.getAttribute('
0001a9e0: 64 61 74 61 2d 62 73 2d 6f 72 69 67 69 6e 61 6c data-bs-original
0001a9f0: 2d 74 69 74 6c 65 27 29 5c 6e 20 20 7d 5c 6e 5c -title')\n }\n\
0001aa00: 6e 20 20 2f 2f 20 50 72 69 76 61 74 65 5c 6e 20 n // Private\n
0001aa10: 20 5f 69 6e 69 74 69 61 6c 69 7a 65 4f 6e 44 65 _initializeOnDe
0001aa20: 6c 65 67 61 74 65 64 54 61 72 67 65 74 28 65 76 legatedTarget(ev
0001aa30: 65 6e 74 29 20 7b 5c 6e 20 20 20 20 72 65 74 75 ent) {\n retu
0001aa40: 72 6e 20 74 68 69 73 2e 63 6f 6e 73 74 72 75 63 rn this.construc
0001aa50: 74 6f 72 2e 67 65 74 4f 72 43 72 65 61 74 65 49 tor.getOrCreateI
0001aa60: 6e 73 74 61 6e 63 65 28 65 76 65 6e 74 2e 64 65 nstance(event.de
0001aa70: 6c 65 67 61 74 65 54 61 72 67 65 74 2c 20 74 68 legateTarget, th
0001aa80: 69 73 2e 5f 67 65 74 44 65 6c 65 67 61 74 65 43 is._getDelegateC
0001aa90: 6f 6e 66 69 67 28 29 29 5c 6e 20 20 7d 5c 6e 5c onfig())\n }\n\
0001aaa0: 6e 20 20 5f 69 73 41 6e 69 6d 61 74 65 64 28 29 n _isAnimated()
0001aab0: 20 7b 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 74 {\n return t
0001aac0: 68 69 73 2e 5f 63 6f 6e 66 69 67 2e 61 6e 69 6d his._config.anim
0001aad0: 61 74 69 6f 6e 20 7c 7c 20 28 74 68 69 73 2e 74 ation || (this.t
0001aae0: 69 70 20 26 26 20 74 68 69 73 2e 74 69 70 2e 63 ip && this.tip.c
0001aaf0: 6c 61 73 73 4c 69 73 74 2e 63 6f 6e 74 61 69 6e lassList.contain
0001ab00: 73 28 43 4c 41 53 53 5f 4e 41 4d 45 5f 46 41 44 s(CLASS_NAME_FAD
0001ab10: 45 29 29 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 5f 69 E))\n }\n\n _i
0001ab20: 73 53 68 6f 77 6e 28 29 20 7b 5c 6e 20 20 20 20 sShown() {\n
0001ab30: 72 65 74 75 72 6e 20 74 68 69 73 2e 74 69 70 20 return this.tip
0001ab40: 26 26 20 74 68 69 73 2e 74 69 70 2e 63 6c 61 73 && this.tip.clas
0001ab50: 73 4c 69 73 74 2e 63 6f 6e 74 61 69 6e 73 28 43 sList.contains(C
0001ab60: 4c 41 53 53 5f 4e 41 4d 45 5f 53 48 4f 57 29 5c LASS_NAME_SHOW)\
0001ab70: 6e 20 20 7d 5c 6e 5c 6e 20 20 5f 63 72 65 61 74 n }\n\n _creat
0001ab80: 65 50 6f 70 70 65 72 28 74 69 70 29 20 7b 5c 6e ePopper(tip) {\n
0001ab90: 20 20 20 20 63 6f 6e 73 74 20 70 6c 61 63 65 6d const placem
0001aba0: 65 6e 74 20 3d 20 65 78 65 63 75 74 65 28 74 68 ent = execute(th
0001abb0: 69 73 2e 5f 63 6f 6e 66 69 67 2e 70 6c 61 63 65 is._config.place
0001abc0: 6d 65 6e 74 2c 20 5b 74 68 69 73 2c 20 74 69 70 ment, [this, tip
0001abd0: 2c 20 74 68 69 73 2e 5f 65 6c 65 6d 65 6e 74 5d , this._element]
0001abe0: 29 5c 6e 20 20 20 20 63 6f 6e 73 74 20 61 74 74 )\n const att
0001abf0: 61 63 68 6d 65 6e 74 20 3d 20 41 74 74 61 63 68 achment = Attach
0001ac00: 6d 65 6e 74 4d 61 70 5b 70 6c 61 63 65 6d 65 6e mentMap[placemen
0001ac10: 74 2e 74 6f 55 70 70 65 72 43 61 73 65 28 29 5d t.toUpperCase()]
0001ac20: 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 50 6f 70 \n return Pop
0001ac30: 70 65 72 2e 63 72 65 61 74 65 50 6f 70 70 65 72 per.createPopper
0001ac40: 28 74 68 69 73 2e 5f 65 6c 65 6d 65 6e 74 2c 20 (this._element,
0001ac50: 74 69 70 2c 20 74 68 69 73 2e 5f 67 65 74 50 6f tip, this._getPo
0001ac60: 70 70 65 72 43 6f 6e 66 69 67 28 61 74 74 61 63 pperConfig(attac
0001ac70: 68 6d 65 6e 74 29 29 5c 6e 20 20 7d 5c 6e 5c 6e hment))\n }\n\n
0001ac80: 20 20 5f 67 65 74 4f 66 66 73 65 74 28 29 20 7b _getOffset() {
0001ac90: 5c 6e 20 20 20 20 63 6f 6e 73 74 20 7b 20 6f 66 \n const { of
0001aca0: 66 73 65 74 20 7d 20 3d 20 74 68 69 73 2e 5f 63 fset } = this._c
0001acb0: 6f 6e 66 69 67 5c 6e 5c 6e 20 20 20 20 69 66 20 onfig\n\n if
0001acc0: 28 74 79 70 65 6f 66 20 6f 66 66 73 65 74 20 3d (typeof offset =
0001acd0: 3d 3d 20 27 73 74 72 69 6e 67 27 29 20 7b 5c 6e == 'string') {\n
0001ace0: 20 20 20 20 20 20 72 65 74 75 72 6e 20 6f 66 66 return off
0001acf0: 73 65 74 2e 73 70 6c 69 74 28 27 2c 27 29 2e 6d set.split(',').m
0001ad00: 61 70 28 76 61 6c 75 65 20 3d 3e 20 4e 75 6d 62 ap(value => Numb
0001ad10: 65 72 2e 70 61 72 73 65 49 6e 74 28 76 61 6c 75 er.parseInt(valu
0001ad20: 65 2c 20 31 30 29 29 5c 6e 20 20 20 20 7d 5c 6e e, 10))\n }\n
0001ad30: 5c 6e 20 20 20 20 69 66 20 28 74 79 70 65 6f 66 \n if (typeof
0001ad40: 20 6f 66 66 73 65 74 20 3d 3d 3d 20 27 66 75 6e offset === 'fun
0001ad50: 63 74 69 6f 6e 27 29 20 7b 5c 6e 20 20 20 20 20 ction') {\n
0001ad60: 20 72 65 74 75 72 6e 20 70 6f 70 70 65 72 44 61 return popperDa
0001ad70: 74 61 20 3d 3e 20 6f 66 66 73 65 74 28 70 6f 70 ta => offset(pop
0001ad80: 70 65 72 44 61 74 61 2c 20 74 68 69 73 2e 5f 65 perData, this._e
0001ad90: 6c 65 6d 65 6e 74 29 5c 6e 20 20 20 20 7d 5c 6e lement)\n }\n
0001ada0: 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 6f 66 66 \n return off
0001adb0: 73 65 74 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 5f 72 set\n }\n\n _r
0001adc0: 65 73 6f 6c 76 65 50 6f 73 73 69 62 6c 65 46 75 esolvePossibleFu
0001add0: 6e 63 74 69 6f 6e 28 61 72 67 29 20 7b 5c 6e 20 nction(arg) {\n
0001ade0: 20 20 20 72 65 74 75 72 6e 20 65 78 65 63 75 74 return execut
0001adf0: 65 28 61 72 67 2c 20 5b 74 68 69 73 2e 5f 65 6c e(arg, [this._el
0001ae00: 65 6d 65 6e 74 5d 29 5c 6e 20 20 7d 5c 6e 5c 6e ement])\n }\n\n
0001ae10: 20 20 5f 67 65 74 50 6f 70 70 65 72 43 6f 6e 66 _getPopperConf
0001ae20: 69 67 28 61 74 74 61 63 68 6d 65 6e 74 29 20 7b ig(attachment) {
0001ae30: 5c 6e 20 20 20 20 63 6f 6e 73 74 20 64 65 66 61 \n const defa
0001ae40: 75 6c 74 42 73 50 6f 70 70 65 72 43 6f 6e 66 69 ultBsPopperConfi
0001ae50: 67 20 3d 20 7b 5c 6e 20 20 20 20 20 20 70 6c 61 g = {\n pla
0001ae60: 63 65 6d 65 6e 74 3a 20 61 74 74 61 63 68 6d 65 cement: attachme
0001ae70: 6e 74 2c 5c 6e 20 20 20 20 20 20 6d 6f 64 69 66 nt,\n modif
0001ae80: 69 65 72 73 3a 20 5b 5c 6e 20 20 20 20 20 20 20 iers: [\n
0001ae90: 20 7b 5c 6e 20 20 20 20 20 20 20 20 20 20 6e 61 {\n na
0001aea0: 6d 65 3a 20 27 66 6c 69 70 27 2c 5c 6e 20 20 20 me: 'flip',\n
0001aeb0: 20 20 20 20 20 20 20 6f 70 74 69 6f 6e 73 3a 20 options:
0001aec0: 7b 5c 6e 20 20 20 20 20 20 20 20 20 20 20 20 66 {\n f
0001aed0: 61 6c 6c 62 61 63 6b 50 6c 61 63 65 6d 65 6e 74 allbackPlacement
0001aee0: 73 3a 20 74 68 69 73 2e 5f 63 6f 6e 66 69 67 2e s: this._config.
0001aef0: 66 61 6c 6c 62 61 63 6b 50 6c 61 63 65 6d 65 6e fallbackPlacemen
0001af00: 74 73 5c 6e 20 20 20 20 20 20 20 20 20 20 7d 5c ts\n }\
0001af10: 6e 20 20 20 20 20 20 20 20 7d 2c 5c 6e 20 20 20 n },\n
0001af20: 20 20 20 20 20 7b 5c 6e 20 20 20 20 20 20 20 20 {\n
0001af30: 20 20 6e 61 6d 65 3a 20 27 6f 66 66 73 65 74 27 name: 'offset'
0001af40: 2c 5c 6e 20 20 20 20 20 20 20 20 20 20 6f 70 74 ,\n opt
0001af50: 69 6f 6e 73 3a 20 7b 5c 6e 20 20 20 20 20 20 20 ions: {\n
0001af60: 20 20 20 20 20 6f 66 66 73 65 74 3a 20 74 68 69 offset: thi
0001af70: 73 2e 5f 67 65 74 4f 66 66 73 65 74 28 29 5c 6e s._getOffset()\n
0001af80: 20 20 20 20 20 20 20 20 20 20 7d 5c 6e 20 20 20 }\n
0001af90: 20 20 20 20 20 7d 2c 5c 6e 20 20 20 20 20 20 20 },\n
0001afa0: 20 7b 5c 6e 20 20 20 20 20 20 20 20 20 20 6e 61 {\n na
0001afb0: 6d 65 3a 20 27 70 72 65 76 65 6e 74 4f 76 65 72 me: 'preventOver
0001afc0: 66 6c 6f 77 27 2c 5c 6e 20 20 20 20 20 20 20 20 flow',\n
0001afd0: 20 20 6f 70 74 69 6f 6e 73 3a 20 7b 5c 6e 20 20 options: {\n
0001afe0: 20 20 20 20 20 20 20 20 20 20 62 6f 75 6e 64 61 bounda
0001aff0: 72 79 3a 20 74 68 69 73 2e 5f 63 6f 6e 66 69 67 ry: this._config
0001b000: 2e 62 6f 75 6e 64 61 72 79 5c 6e 20 20 20 20 20 .boundary\n
0001b010: 20 20 20 20 20 7d 5c 6e 20 20 20 20 20 20 20 20 }\n
0001b020: 7d 2c 5c 6e 20 20 20 20 20 20 20 20 7b 5c 6e 20 },\n {\n
0001b030: 20 20 20 20 20 20 20 20 20 6e 61 6d 65 3a 20 27 name: '
0001b040: 61 72 72 6f 77 27 2c 5c 6e 20 20 20 20 20 20 20 arrow',\n
0001b050: 20 20 20 6f 70 74 69 6f 6e 73 3a 20 7b 5c 6e 20 options: {\n
0001b060: 20 20 20 20 20 20 20 20 20 20 20 65 6c 65 6d 65 eleme
0001b070: 6e 74 3a 20 60 2e 24 7b 74 68 69 73 2e 63 6f 6e nt: `.${this.con
0001b080: 73 74 72 75 63 74 6f 72 2e 4e 41 4d 45 7d 2d 61 structor.NAME}-a
0001b090: 72 72 6f 77 60 5c 6e 20 20 20 20 20 20 20 20 20 rrow`\n
0001b0a0: 20 7d 5c 6e 20 20 20 20 20 20 20 20 7d 2c 5c 6e }\n },\n
0001b0b0: 20 20 20 20 20 20 20 20 7b 5c 6e 20 20 20 20 20 {\n
0001b0c0: 20 20 20 20 20 6e 61 6d 65 3a 20 27 70 72 65 53 name: 'preS
0001b0d0: 65 74 50 6c 61 63 65 6d 65 6e 74 27 2c 5c 6e 20 etPlacement',\n
0001b0e0: 20 20 20 20 20 20 20 20 20 65 6e 61 62 6c 65 64 enabled
0001b0f0: 3a 20 74 72 75 65 2c 5c 6e 20 20 20 20 20 20 20 : true,\n
0001b100: 20 20 20 70 68 61 73 65 3a 20 27 62 65 66 6f 72 phase: 'befor
0001b110: 65 4d 61 69 6e 27 2c 5c 6e 20 20 20 20 20 20 20 eMain',\n
0001b120: 20 20 20 66 6e 3a 20 64 61 74 61 20 3d 3e 20 7b fn: data => {
0001b130: 5c 6e 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f \n //
0001b140: 20 50 72 65 2d 73 65 74 20 50 6f 70 70 65 72 27 Pre-set Popper'
0001b150: 73 20 70 6c 61 63 65 6d 65 6e 74 20 61 74 74 72 s placement attr
0001b160: 69 62 75 74 65 20 69 6e 20 6f 72 64 65 72 20 74 ibute in order t
0001b170: 6f 20 72 65 61 64 20 74 68 65 20 61 72 72 6f 77 o read the arrow
0001b180: 20 73 69 7a 65 73 20 70 72 6f 70 65 72 6c 79 2e sizes properly.
0001b190: 5c 6e 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f \n //
0001b1a0: 20 4f 74 68 65 72 77 69 73 65 2c 20 50 6f 70 70 Otherwise, Popp
0001b1b0: 65 72 20 6d 69 78 65 73 20 75 70 20 74 68 65 20 er mixes up the
0001b1c0: 77 69 64 74 68 20 61 6e 64 20 68 65 69 67 68 74 width and height
0001b1d0: 20 64 69 6d 65 6e 73 69 6f 6e 73 20 73 69 6e 63 dimensions sinc
0001b1e0: 65 20 74 68 65 20 69 6e 69 74 69 61 6c 20 61 72 e the initial ar
0001b1f0: 72 6f 77 20 73 74 79 6c 65 20 69 73 20 66 6f 72 row style is for
0001b200: 20 74 6f 70 20 70 6c 61 63 65 6d 65 6e 74 5c 6e top placement\n
0001b210: 20 20 20 20 20 20 20 20 20 20 20 20 74 68 69 73 this
0001b220: 2e 5f 67 65 74 54 69 70 45 6c 65 6d 65 6e 74 28 ._getTipElement(
0001b230: 29 2e 73 65 74 41 74 74 72 69 62 75 74 65 28 27 ).setAttribute('
0001b240: 64 61 74 61 2d 70 6f 70 70 65 72 2d 70 6c 61 63 data-popper-plac
0001b250: 65 6d 65 6e 74 27 2c 20 64 61 74 61 2e 73 74 61 ement', data.sta
0001b260: 74 65 2e 70 6c 61 63 65 6d 65 6e 74 29 5c 6e 20 te.placement)\n
0001b270: 20 20 20 20 20 20 20 20 20 7d 5c 6e 20 20 20 20 }\n
0001b280: 20 20 20 20 7d 5c 6e 20 20 20 20 20 20 5d 5c 6e }\n ]\n
0001b290: 20 20 20 20 7d 5c 6e 5c 6e 20 20 20 20 72 65 74 }\n\n ret
0001b2a0: 75 72 6e 20 7b 5c 6e 20 20 20 20 20 20 2e 2e 2e urn {\n ...
0001b2b0: 64 65 66 61 75 6c 74 42 73 50 6f 70 70 65 72 43 defaultBsPopperC
0001b2c0: 6f 6e 66 69 67 2c 5c 6e 20 20 20 20 20 20 2e 2e onfig,\n ..
0001b2d0: 2e 65 78 65 63 75 74 65 28 74 68 69 73 2e 5f 63 .execute(this._c
0001b2e0: 6f 6e 66 69 67 2e 70 6f 70 70 65 72 43 6f 6e 66 onfig.popperConf
0001b2f0: 69 67 2c 20 5b 64 65 66 61 75 6c 74 42 73 50 6f ig, [defaultBsPo
0001b300: 70 70 65 72 43 6f 6e 66 69 67 5d 29 5c 6e 20 20 pperConfig])\n
0001b310: 20 20 7d 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 5f 73 }\n }\n\n _s
0001b320: 65 74 4c 69 73 74 65 6e 65 72 73 28 29 20 7b 5c etListeners() {\
0001b330: 6e 20 20 20 20 63 6f 6e 73 74 20 74 72 69 67 67 n const trigg
0001b340: 65 72 73 20 3d 20 74 68 69 73 2e 5f 63 6f 6e 66 ers = this._conf
0001b350: 69 67 2e 74 72 69 67 67 65 72 2e 73 70 6c 69 74 ig.trigger.split
0001b360: 28 27 20 27 29 5c 6e 5c 6e 20 20 20 20 66 6f 72 (' ')\n\n for
0001b370: 20 28 63 6f 6e 73 74 20 74 72 69 67 67 65 72 20 (const trigger
0001b380: 6f 66 20 74 72 69 67 67 65 72 73 29 20 7b 5c 6e of triggers) {\n
0001b390: 20 20 20 20 20 20 69 66 20 28 74 72 69 67 67 65 if (trigge
0001b3a0: 72 20 3d 3d 3d 20 27 63 6c 69 63 6b 27 29 20 7b r === 'click') {
0001b3b0: 5c 6e 20 20 20 20 20 20 20 20 45 76 65 6e 74 48 \n EventH
0001b3c0: 61 6e 64 6c 65 72 2e 6f 6e 28 74 68 69 73 2e 5f andler.on(this._
0001b3d0: 65 6c 65 6d 65 6e 74 2c 20 74 68 69 73 2e 63 6f element, this.co
0001b3e0: 6e 73 74 72 75 63 74 6f 72 2e 65 76 65 6e 74 4e nstructor.eventN
0001b3f0: 61 6d 65 28 45 56 45 4e 54 5f 43 4c 49 43 4b 29 ame(EVENT_CLICK)
0001b400: 2c 20 74 68 69 73 2e 5f 63 6f 6e 66 69 67 2e 73 , this._config.s
0001b410: 65 6c 65 63 74 6f 72 2c 20 65 76 65 6e 74 20 3d elector, event =
0001b420: 3e 20 7b 5c 6e 20 20 20 20 20 20 20 20 20 20 63 > {\n c
0001b430: 6f 6e 73 74 20 63 6f 6e 74 65 78 74 20 3d 20 74 onst context = t
0001b440: 68 69 73 2e 5f 69 6e 69 74 69 61 6c 69 7a 65 4f his._initializeO
0001b450: 6e 44 65 6c 65 67 61 74 65 64 54 61 72 67 65 74 nDelegatedTarget
0001b460: 28 65 76 65 6e 74 29 5c 6e 20 20 20 20 20 20 20 (event)\n
0001b470: 20 20 20 63 6f 6e 74 65 78 74 2e 74 6f 67 67 6c context.toggl
0001b480: 65 28 29 5c 6e 20 20 20 20 20 20 20 20 7d 29 5c e()\n })\
0001b490: 6e 20 20 20 20 20 20 7d 20 65 6c 73 65 20 69 66 n } else if
0001b4a0: 20 28 74 72 69 67 67 65 72 20 21 3d 3d 20 54 52 (trigger !== TR
0001b4b0: 49 47 47 45 52 5f 4d 41 4e 55 41 4c 29 20 7b 5c IGGER_MANUAL) {\
0001b4c0: 6e 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 65 n const e
0001b4d0: 76 65 6e 74 49 6e 20 3d 20 74 72 69 67 67 65 72 ventIn = trigger
0001b4e0: 20 3d 3d 3d 20 54 52 49 47 47 45 52 5f 48 4f 56 === TRIGGER_HOV
0001b4f0: 45 52 20 3f 5c 6e 20 20 20 20 20 20 20 20 20 20 ER ?\n
0001b500: 74 68 69 73 2e 63 6f 6e 73 74 72 75 63 74 6f 72 this.constructor
0001b510: 2e 65 76 65 6e 74 4e 61 6d 65 28 45 56 45 4e 54 .eventName(EVENT
0001b520: 5f 4d 4f 55 53 45 45 4e 54 45 52 29 20 3a 5c 6e _MOUSEENTER) :\n
0001b530: 20 20 20 20 20 20 20 20 20 20 74 68 69 73 2e 63 this.c
0001b540: 6f 6e 73 74 72 75 63 74 6f 72 2e 65 76 65 6e 74 onstructor.event
0001b550: 4e 61 6d 65 28 45 56 45 4e 54 5f 46 4f 43 55 53 Name(EVENT_FOCUS
0001b560: 49 4e 29 5c 6e 20 20 20 20 20 20 20 20 63 6f 6e IN)\n con
0001b570: 73 74 20 65 76 65 6e 74 4f 75 74 20 3d 20 74 72 st eventOut = tr
0001b580: 69 67 67 65 72 20 3d 3d 3d 20 54 52 49 47 47 45 igger === TRIGGE
0001b590: 52 5f 48 4f 56 45 52 20 3f 5c 6e 20 20 20 20 20 R_HOVER ?\n
0001b5a0: 20 20 20 20 20 74 68 69 73 2e 63 6f 6e 73 74 72 this.constr
0001b5b0: 75 63 74 6f 72 2e 65 76 65 6e 74 4e 61 6d 65 28 uctor.eventName(
0001b5c0: 45 56 45 4e 54 5f 4d 4f 55 53 45 4c 45 41 56 45 EVENT_MOUSELEAVE
0001b5d0: 29 20 3a 5c 6e 20 20 20 20 20 20 20 20 20 20 74 ) :\n t
0001b5e0: 68 69 73 2e 63 6f 6e 73 74 72 75 63 74 6f 72 2e his.constructor.
0001b5f0: 65 76 65 6e 74 4e 61 6d 65 28 45 56 45 4e 54 5f eventName(EVENT_
0001b600: 46 4f 43 55 53 4f 55 54 29 5c 6e 5c 6e 20 20 20 FOCUSOUT)\n\n
0001b610: 20 20 20 20 20 45 76 65 6e 74 48 61 6e 64 6c 65 EventHandle
0001b620: 72 2e 6f 6e 28 74 68 69 73 2e 5f 65 6c 65 6d 65 r.on(this._eleme
0001b630: 6e 74 2c 20 65 76 65 6e 74 49 6e 2c 20 74 68 69 nt, eventIn, thi
0001b640: 73 2e 5f 63 6f 6e 66 69 67 2e 73 65 6c 65 63 74 s._config.select
0001b650: 6f 72 2c 20 65 76 65 6e 74 20 3d 3e 20 7b 5c 6e or, event => {\n
0001b660: 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 const
0001b670: 63 6f 6e 74 65 78 74 20 3d 20 74 68 69 73 2e 5f context = this._
0001b680: 69 6e 69 74 69 61 6c 69 7a 65 4f 6e 44 65 6c 65 initializeOnDele
0001b690: 67 61 74 65 64 54 61 72 67 65 74 28 65 76 65 6e gatedTarget(even
0001b6a0: 74 29 5c 6e 20 20 20 20 20 20 20 20 20 20 63 6f t)\n co
0001b6b0: 6e 74 65 78 74 2e 5f 61 63 74 69 76 65 54 72 69 ntext._activeTri
0001b6c0: 67 67 65 72 5b 65 76 65 6e 74 2e 74 79 70 65 20 gger[event.type
0001b6d0: 3d 3d 3d 20 27 66 6f 63 75 73 69 6e 27 20 3f 20 === 'focusin' ?
0001b6e0: 54 52 49 47 47 45 52 5f 46 4f 43 55 53 20 3a 20 TRIGGER_FOCUS :
0001b6f0: 54 52 49 47 47 45 52 5f 48 4f 56 45 52 5d 20 3d TRIGGER_HOVER] =
0001b700: 20 74 72 75 65 5c 6e 20 20 20 20 20 20 20 20 20 true\n
0001b710: 20 63 6f 6e 74 65 78 74 2e 5f 65 6e 74 65 72 28 context._enter(
0001b720: 29 5c 6e 20 20 20 20 20 20 20 20 7d 29 5c 6e 20 )\n })\n
0001b730: 20 20 20 20 20 20 20 45 76 65 6e 74 48 61 6e 64 EventHand
0001b740: 6c 65 72 2e 6f 6e 28 74 68 69 73 2e 5f 65 6c 65 ler.on(this._ele
0001b750: 6d 65 6e 74 2c 20 65 76 65 6e 74 4f 75 74 2c 20 ment, eventOut,
0001b760: 74 68 69 73 2e 5f 63 6f 6e 66 69 67 2e 73 65 6c this._config.sel
0001b770: 65 63 74 6f 72 2c 20 65 76 65 6e 74 20 3d 3e 20 ector, event =>
0001b780: 7b 5c 6e 20 20 20 20 20 20 20 20 20 20 63 6f 6e {\n con
0001b790: 73 74 20 63 6f 6e 74 65 78 74 20 3d 20 74 68 69 st context = thi
0001b7a0: 73 2e 5f 69 6e 69 74 69 61 6c 69 7a 65 4f 6e 44 s._initializeOnD
0001b7b0: 65 6c 65 67 61 74 65 64 54 61 72 67 65 74 28 65 elegatedTarget(e
0001b7c0: 76 65 6e 74 29 5c 6e 20 20 20 20 20 20 20 20 20 vent)\n
0001b7d0: 20 63 6f 6e 74 65 78 74 2e 5f 61 63 74 69 76 65 context._active
0001b7e0: 54 72 69 67 67 65 72 5b 65 76 65 6e 74 2e 74 79 Trigger[event.ty
0001b7f0: 70 65 20 3d 3d 3d 20 27 66 6f 63 75 73 6f 75 74 pe === 'focusout
0001b800: 27 20 3f 20 54 52 49 47 47 45 52 5f 46 4f 43 55 ' ? TRIGGER_FOCU
0001b810: 53 20 3a 20 54 52 49 47 47 45 52 5f 48 4f 56 45 S : TRIGGER_HOVE
0001b820: 52 5d 20 3d 5c 6e 20 20 20 20 20 20 20 20 20 20 R] =\n
0001b830: 20 20 63 6f 6e 74 65 78 74 2e 5f 65 6c 65 6d 65 context._eleme
0001b840: 6e 74 2e 63 6f 6e 74 61 69 6e 73 28 65 76 65 6e nt.contains(even
0001b850: 74 2e 72 65 6c 61 74 65 64 54 61 72 67 65 74 29 t.relatedTarget)
0001b860: 5c 6e 5c 6e 20 20 20 20 20 20 20 20 20 20 63 6f \n\n co
0001b870: 6e 74 65 78 74 2e 5f 6c 65 61 76 65 28 29 5c 6e ntext._leave()\n
0001b880: 20 20 20 20 20 20 20 20 7d 29 5c 6e 20 20 20 20 })\n
0001b890: 20 20 7d 5c 6e 20 20 20 20 7d 5c 6e 5c 6e 20 20 }\n }\n\n
0001b8a0: 20 20 74 68 69 73 2e 5f 68 69 64 65 4d 6f 64 61 this._hideModa
0001b8b0: 6c 48 61 6e 64 6c 65 72 20 3d 20 28 29 20 3d 3e lHandler = () =>
0001b8c0: 20 7b 5c 6e 20 20 20 20 20 20 69 66 20 28 74 68 {\n if (th
0001b8d0: 69 73 2e 5f 65 6c 65 6d 65 6e 74 29 20 7b 5c 6e is._element) {\n
0001b8e0: 20 20 20 20 20 20 20 20 74 68 69 73 2e 68 69 64 this.hid
0001b8f0: 65 28 29 5c 6e 20 20 20 20 20 20 7d 5c 6e 20 20 e()\n }\n
0001b900: 20 20 7d 5c 6e 5c 6e 20 20 20 20 45 76 65 6e 74 }\n\n Event
0001b910: 48 61 6e 64 6c 65 72 2e 6f 6e 28 74 68 69 73 2e Handler.on(this.
0001b920: 5f 65 6c 65 6d 65 6e 74 2e 63 6c 6f 73 65 73 74 _element.closest
0001b930: 28 53 45 4c 45 43 54 4f 52 5f 4d 4f 44 41 4c 29 (SELECTOR_MODAL)
0001b940: 2c 20 45 56 45 4e 54 5f 4d 4f 44 41 4c 5f 48 49 , EVENT_MODAL_HI
0001b950: 44 45 2c 20 74 68 69 73 2e 5f 68 69 64 65 4d 6f DE, this._hideMo
0001b960: 64 61 6c 48 61 6e 64 6c 65 72 29 5c 6e 20 20 7d dalHandler)\n }
0001b970: 5c 6e 5c 6e 20 20 5f 66 69 78 54 69 74 6c 65 28 \n\n _fixTitle(
0001b980: 29 20 7b 5c 6e 20 20 20 20 63 6f 6e 73 74 20 74 ) {\n const t
0001b990: 69 74 6c 65 20 3d 20 74 68 69 73 2e 5f 65 6c 65 itle = this._ele
0001b9a0: 6d 65 6e 74 2e 67 65 74 41 74 74 72 69 62 75 74 ment.getAttribut
0001b9b0: 65 28 27 74 69 74 6c 65 27 29 5c 6e 5c 6e 20 20 e('title')\n\n
0001b9c0: 20 20 69 66 20 28 21 74 69 74 6c 65 29 20 7b 5c if (!title) {\
0001b9d0: 6e 20 20 20 20 20 20 72 65 74 75 72 6e 5c 6e 20 n return\n
0001b9e0: 20 20 20 7d 5c 6e 5c 6e 20 20 20 20 69 66 20 28 }\n\n if (
0001b9f0: 21 74 68 69 73 2e 5f 65 6c 65 6d 65 6e 74 2e 67 !this._element.g
0001ba00: 65 74 41 74 74 72 69 62 75 74 65 28 27 61 72 69 etAttribute('ari
0001ba10: 61 2d 6c 61 62 65 6c 27 29 20 26 26 20 21 74 68 a-label') && !th
0001ba20: 69 73 2e 5f 65 6c 65 6d 65 6e 74 2e 74 65 78 74 is._element.text
0001ba30: 43 6f 6e 74 65 6e 74 2e 74 72 69 6d 28 29 29 20 Content.trim())
0001ba40: 7b 5c 6e 20 20 20 20 20 20 74 68 69 73 2e 5f 65 {\n this._e
0001ba50: 6c 65 6d 65 6e 74 2e 73 65 74 41 74 74 72 69 62 lement.setAttrib
0001ba60: 75 74 65 28 27 61 72 69 61 2d 6c 61 62 65 6c 27 ute('aria-label'
0001ba70: 2c 20 74 69 74 6c 65 29 5c 6e 20 20 20 20 7d 5c , title)\n }\
0001ba80: 6e 5c 6e 20 20 20 20 74 68 69 73 2e 5f 65 6c 65 n\n this._ele
0001ba90: 6d 65 6e 74 2e 73 65 74 41 74 74 72 69 62 75 74 ment.setAttribut
0001baa0: 65 28 27 64 61 74 61 2d 62 73 2d 6f 72 69 67 69 e('data-bs-origi
0001bab0: 6e 61 6c 2d 74 69 74 6c 65 27 2c 20 74 69 74 6c nal-title', titl
0001bac0: 65 29 20 2f 2f 20 44 4f 20 4e 4f 54 20 55 53 45 e) // DO NOT USE
0001bad0: 20 49 54 2e 20 49 73 20 6f 6e 6c 79 20 66 6f 72 IT. Is only for
0001bae0: 20 62 61 63 6b 77 61 72 64 73 20 63 6f 6d 70 61 backwards compa
0001baf0: 74 69 62 69 6c 69 74 79 5c 6e 20 20 20 20 74 68 tibility\n th
0001bb00: 69 73 2e 5f 65 6c 65 6d 65 6e 74 2e 72 65 6d 6f is._element.remo
0001bb10: 76 65 41 74 74 72 69 62 75 74 65 28 27 74 69 74 veAttribute('tit
0001bb20: 6c 65 27 29 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 5f le')\n }\n\n _
0001bb30: 65 6e 74 65 72 28 29 20 7b 5c 6e 20 20 20 20 69 enter() {\n i
0001bb40: 66 20 28 74 68 69 73 2e 5f 69 73 53 68 6f 77 6e f (this._isShown
0001bb50: 28 29 20 7c 7c 20 74 68 69 73 2e 5f 69 73 48 6f () || this._isHo
0001bb60: 76 65 72 65 64 29 20 7b 5c 6e 20 20 20 20 20 20 vered) {\n
0001bb70: 74 68 69 73 2e 5f 69 73 48 6f 76 65 72 65 64 20 this._isHovered
0001bb80: 3d 20 74 72 75 65 5c 6e 20 20 20 20 20 20 72 65 = true\n re
0001bb90: 74 75 72 6e 5c 6e 20 20 20 20 7d 5c 6e 5c 6e 20 turn\n }\n\n
0001bba0: 20 20 20 74 68 69 73 2e 5f 69 73 48 6f 76 65 72 this._isHover
0001bbb0: 65 64 20 3d 20 74 72 75 65 5c 6e 5c 6e 20 20 20 ed = true\n\n
0001bbc0: 20 74 68 69 73 2e 5f 73 65 74 54 69 6d 65 6f 75 this._setTimeou
0001bbd0: 74 28 28 29 20 3d 3e 20 7b 5c 6e 20 20 20 20 20 t(() => {\n
0001bbe0: 20 69 66 20 28 74 68 69 73 2e 5f 69 73 48 6f 76 if (this._isHov
0001bbf0: 65 72 65 64 29 20 7b 5c 6e 20 20 20 20 20 20 20 ered) {\n
0001bc00: 20 74 68 69 73 2e 73 68 6f 77 28 29 5c 6e 20 20 this.show()\n
0001bc10: 20 20 20 20 7d 5c 6e 20 20 20 20 7d 2c 20 74 68 }\n }, th
0001bc20: 69 73 2e 5f 63 6f 6e 66 69 67 2e 64 65 6c 61 79 is._config.delay
0001bc30: 2e 73 68 6f 77 29 5c 6e 20 20 7d 5c 6e 5c 6e 20 .show)\n }\n\n
0001bc40: 20 5f 6c 65 61 76 65 28 29 20 7b 5c 6e 20 20 20 _leave() {\n
0001bc50: 20 69 66 20 28 74 68 69 73 2e 5f 69 73 57 69 74 if (this._isWit
0001bc60: 68 41 63 74 69 76 65 54 72 69 67 67 65 72 28 29 hActiveTrigger()
0001bc70: 29 20 7b 5c 6e 20 20 20 20 20 20 72 65 74 75 72 ) {\n retur
0001bc80: 6e 5c 6e 20 20 20 20 7d 5c 6e 5c 6e 20 20 20 20 n\n }\n\n
0001bc90: 74 68 69 73 2e 5f 69 73 48 6f 76 65 72 65 64 20 this._isHovered
0001bca0: 3d 20 66 61 6c 73 65 5c 6e 5c 6e 20 20 20 20 74 = false\n\n t
0001bcb0: 68 69 73 2e 5f 73 65 74 54 69 6d 65 6f 75 74 28 his._setTimeout(
0001bcc0: 28 29 20 3d 3e 20 7b 5c 6e 20 20 20 20 20 20 69 () => {\n i
0001bcd0: 66 20 28 21 74 68 69 73 2e 5f 69 73 48 6f 76 65 f (!this._isHove
0001bce0: 72 65 64 29 20 7b 5c 6e 20 20 20 20 20 20 20 20 red) {\n
0001bcf0: 74 68 69 73 2e 68 69 64 65 28 29 5c 6e 20 20 20 this.hide()\n
0001bd00: 20 20 20 7d 5c 6e 20 20 20 20 7d 2c 20 74 68 69 }\n }, thi
0001bd10: 73 2e 5f 63 6f 6e 66 69 67 2e 64 65 6c 61 79 2e s._config.delay.
0001bd20: 68 69 64 65 29 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 hide)\n }\n\n
0001bd30: 5f 73 65 74 54 69 6d 65 6f 75 74 28 68 61 6e 64 _setTimeout(hand
0001bd40: 6c 65 72 2c 20 74 69 6d 65 6f 75 74 29 20 7b 5c ler, timeout) {\
0001bd50: 6e 20 20 20 20 63 6c 65 61 72 54 69 6d 65 6f 75 n clearTimeou
0001bd60: 74 28 74 68 69 73 2e 5f 74 69 6d 65 6f 75 74 29 t(this._timeout)
0001bd70: 5c 6e 20 20 20 20 74 68 69 73 2e 5f 74 69 6d 65 \n this._time
0001bd80: 6f 75 74 20 3d 20 73 65 74 54 69 6d 65 6f 75 74 out = setTimeout
0001bd90: 28 68 61 6e 64 6c 65 72 2c 20 74 69 6d 65 6f 75 (handler, timeou
0001bda0: 74 29 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 5f 69 73 t)\n }\n\n _is
0001bdb0: 57 69 74 68 41 63 74 69 76 65 54 72 69 67 67 65 WithActiveTrigge
0001bdc0: 72 28 29 20 7b 5c 6e 20 20 20 20 72 65 74 75 72 r() {\n retur
0001bdd0: 6e 20 4f 62 6a 65 63 74 2e 76 61 6c 75 65 73 28 n Object.values(
0001bde0: 74 68 69 73 2e 5f 61 63 74 69 76 65 54 72 69 67 this._activeTrig
0001bdf0: 67 65 72 29 2e 69 6e 63 6c 75 64 65 73 28 74 72 ger).includes(tr
0001be00: 75 65 29 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 5f 67 ue)\n }\n\n _g
0001be10: 65 74 43 6f 6e 66 69 67 28 63 6f 6e 66 69 67 29 etConfig(config)
0001be20: 20 7b 5c 6e 20 20 20 20 63 6f 6e 73 74 20 64 61 {\n const da
0001be30: 74 61 41 74 74 72 69 62 75 74 65 73 20 3d 20 4d taAttributes = M
0001be40: 61 6e 69 70 75 6c 61 74 6f 72 2e 67 65 74 44 61 anipulator.getDa
0001be50: 74 61 41 74 74 72 69 62 75 74 65 73 28 74 68 69 taAttributes(thi
0001be60: 73 2e 5f 65 6c 65 6d 65 6e 74 29 5c 6e 5c 6e 20 s._element)\n\n
0001be70: 20 20 20 66 6f 72 20 28 63 6f 6e 73 74 20 64 61 for (const da
0001be80: 74 61 41 74 74 72 69 62 75 74 65 20 6f 66 20 4f taAttribute of O
0001be90: 62 6a 65 63 74 2e 6b 65 79 73 28 64 61 74 61 41 bject.keys(dataA
0001bea0: 74 74 72 69 62 75 74 65 73 29 29 20 7b 5c 6e 20 ttributes)) {\n
0001beb0: 20 20 20 20 20 69 66 20 28 44 49 53 41 4c 4c 4f if (DISALLO
0001bec0: 57 45 44 5f 41 54 54 52 49 42 55 54 45 53 2e 68 WED_ATTRIBUTES.h
0001bed0: 61 73 28 64 61 74 61 41 74 74 72 69 62 75 74 65 as(dataAttribute
0001bee0: 29 29 20 7b 5c 6e 20 20 20 20 20 20 20 20 64 65 )) {\n de
0001bef0: 6c 65 74 65 20 64 61 74 61 41 74 74 72 69 62 75 lete dataAttribu
0001bf00: 74 65 73 5b 64 61 74 61 41 74 74 72 69 62 75 74 tes[dataAttribut
0001bf10: 65 5d 5c 6e 20 20 20 20 20 20 7d 5c 6e 20 20 20 e]\n }\n
0001bf20: 20 7d 5c 6e 5c 6e 20 20 20 20 63 6f 6e 66 69 67 }\n\n config
0001bf30: 20 3d 20 7b 5c 6e 20 20 20 20 20 20 2e 2e 2e 64 = {\n ...d
0001bf40: 61 74 61 41 74 74 72 69 62 75 74 65 73 2c 5c 6e ataAttributes,\n
0001bf50: 20 20 20 20 20 20 2e 2e 2e 28 74 79 70 65 6f 66 ...(typeof
0001bf60: 20 63 6f 6e 66 69 67 20 3d 3d 3d 20 27 6f 62 6a config === 'obj
0001bf70: 65 63 74 27 20 26 26 20 63 6f 6e 66 69 67 20 3f ect' && config ?
0001bf80: 20 63 6f 6e 66 69 67 20 3a 20 7b 7d 29 5c 6e 20 config : {})\n
0001bf90: 20 20 20 7d 5c 6e 20 20 20 20 63 6f 6e 66 69 67 }\n config
0001bfa0: 20 3d 20 74 68 69 73 2e 5f 6d 65 72 67 65 43 6f = this._mergeCo
0001bfb0: 6e 66 69 67 4f 62 6a 28 63 6f 6e 66 69 67 29 5c nfigObj(config)\
0001bfc0: 6e 20 20 20 20 63 6f 6e 66 69 67 20 3d 20 74 68 n config = th
0001bfd0: 69 73 2e 5f 63 6f 6e 66 69 67 41 66 74 65 72 4d is._configAfterM
0001bfe0: 65 72 67 65 28 63 6f 6e 66 69 67 29 5c 6e 20 20 erge(config)\n
0001bff0: 20 20 74 68 69 73 2e 5f 74 79 70 65 43 68 65 63 this._typeChec
0001c000: 6b 43 6f 6e 66 69 67 28 63 6f 6e 66 69 67 29 5c kConfig(config)\
0001c010: 6e 20 20 20 20 72 65 74 75 72 6e 20 63 6f 6e 66 n return conf
0001c020: 69 67 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 5f 63 6f ig\n }\n\n _co
0001c030: 6e 66 69 67 41 66 74 65 72 4d 65 72 67 65 28 63 nfigAfterMerge(c
0001c040: 6f 6e 66 69 67 29 20 7b 5c 6e 20 20 20 20 63 6f onfig) {\n co
0001c050: 6e 66 69 67 2e 63 6f 6e 74 61 69 6e 65 72 20 3d nfig.container =
0001c060: 20 63 6f 6e 66 69 67 2e 63 6f 6e 74 61 69 6e 65 config.containe
0001c070: 72 20 3d 3d 3d 20 66 61 6c 73 65 20 3f 20 64 6f r === false ? do
0001c080: 63 75 6d 65 6e 74 2e 62 6f 64 79 20 3a 20 67 65 cument.body : ge
0001c090: 74 45 6c 65 6d 65 6e 74 28 63 6f 6e 66 69 67 2e tElement(config.
0001c0a0: 63 6f 6e 74 61 69 6e 65 72 29 5c 6e 5c 6e 20 20 container)\n\n
0001c0b0: 20 20 69 66 20 28 74 79 70 65 6f 66 20 63 6f 6e if (typeof con
0001c0c0: 66 69 67 2e 64 65 6c 61 79 20 3d 3d 3d 20 27 6e fig.delay === 'n
0001c0d0: 75 6d 62 65 72 27 29 20 7b 5c 6e 20 20 20 20 20 umber') {\n
0001c0e0: 20 63 6f 6e 66 69 67 2e 64 65 6c 61 79 20 3d 20 config.delay =
0001c0f0: 7b 5c 6e 20 20 20 20 20 20 20 20 73 68 6f 77 3a {\n show:
0001c100: 20 63 6f 6e 66 69 67 2e 64 65 6c 61 79 2c 5c 6e config.delay,\n
0001c110: 20 20 20 20 20 20 20 20 68 69 64 65 3a 20 63 6f hide: co
0001c120: 6e 66 69 67 2e 64 65 6c 61 79 5c 6e 20 20 20 20 nfig.delay\n
0001c130: 20 20 7d 5c 6e 20 20 20 20 7d 5c 6e 5c 6e 20 20 }\n }\n\n
0001c140: 20 20 69 66 20 28 74 79 70 65 6f 66 20 63 6f 6e if (typeof con
0001c150: 66 69 67 2e 74 69 74 6c 65 20 3d 3d 3d 20 27 6e fig.title === 'n
0001c160: 75 6d 62 65 72 27 29 20 7b 5c 6e 20 20 20 20 20 umber') {\n
0001c170: 20 63 6f 6e 66 69 67 2e 74 69 74 6c 65 20 3d 20 config.title =
0001c180: 63 6f 6e 66 69 67 2e 74 69 74 6c 65 2e 74 6f 53 config.title.toS
0001c190: 74 72 69 6e 67 28 29 5c 6e 20 20 20 20 7d 5c 6e tring()\n }\n
0001c1a0: 5c 6e 20 20 20 20 69 66 20 28 74 79 70 65 6f 66 \n if (typeof
0001c1b0: 20 63 6f 6e 66 69 67 2e 63 6f 6e 74 65 6e 74 20 config.content
0001c1c0: 3d 3d 3d 20 27 6e 75 6d 62 65 72 27 29 20 7b 5c === 'number') {\
0001c1d0: 6e 20 20 20 20 20 20 63 6f 6e 66 69 67 2e 63 6f n config.co
0001c1e0: 6e 74 65 6e 74 20 3d 20 63 6f 6e 66 69 67 2e 63 ntent = config.c
0001c1f0: 6f 6e 74 65 6e 74 2e 74 6f 53 74 72 69 6e 67 28 ontent.toString(
0001c200: 29 5c 6e 20 20 20 20 7d 5c 6e 5c 6e 20 20 20 20 )\n }\n\n
0001c210: 72 65 74 75 72 6e 20 63 6f 6e 66 69 67 5c 6e 20 return config\n
0001c220: 20 7d 5c 6e 5c 6e 20 20 5f 67 65 74 44 65 6c 65 }\n\n _getDele
0001c230: 67 61 74 65 43 6f 6e 66 69 67 28 29 20 7b 5c 6e gateConfig() {\n
0001c240: 20 20 20 20 63 6f 6e 73 74 20 63 6f 6e 66 69 67 const config
0001c250: 20 3d 20 7b 7d 5c 6e 5c 6e 20 20 20 20 66 6f 72 = {}\n\n for
0001c260: 20 28 63 6f 6e 73 74 20 5b 6b 65 79 2c 20 76 61 (const [key, va
0001c270: 6c 75 65 5d 20 6f 66 20 4f 62 6a 65 63 74 2e 65 lue] of Object.e
0001c280: 6e 74 72 69 65 73 28 74 68 69 73 2e 5f 63 6f 6e ntries(this._con
0001c290: 66 69 67 29 29 20 7b 5c 6e 20 20 20 20 20 20 69 fig)) {\n i
0001c2a0: 66 20 28 74 68 69 73 2e 63 6f 6e 73 74 72 75 63 f (this.construc
0001c2b0: 74 6f 72 2e 44 65 66 61 75 6c 74 5b 6b 65 79 5d tor.Default[key]
0001c2c0: 20 21 3d 3d 20 76 61 6c 75 65 29 20 7b 5c 6e 20 !== value) {\n
0001c2d0: 20 20 20 20 20 20 20 63 6f 6e 66 69 67 5b 6b 65 config[ke
0001c2e0: 79 5d 20 3d 20 76 61 6c 75 65 5c 6e 20 20 20 20 y] = value\n
0001c2f0: 20 20 7d 5c 6e 20 20 20 20 7d 5c 6e 5c 6e 20 20 }\n }\n\n
0001c300: 20 20 63 6f 6e 66 69 67 2e 73 65 6c 65 63 74 6f config.selecto
0001c310: 72 20 3d 20 66 61 6c 73 65 5c 6e 20 20 20 20 63 r = false\n c
0001c320: 6f 6e 66 69 67 2e 74 72 69 67 67 65 72 20 3d 20 onfig.trigger =
0001c330: 27 6d 61 6e 75 61 6c 27 5c 6e 5c 6e 20 20 20 20 'manual'\n\n
0001c340: 2f 2f 20 49 6e 20 74 68 65 20 66 75 74 75 72 65 // In the future
0001c350: 20 63 61 6e 20 62 65 20 72 65 70 6c 61 63 65 64 can be replaced
0001c360: 20 77 69 74 68 3a 5c 6e 20 20 20 20 2f 2f 20 63 with:\n // c
0001c370: 6f 6e 73 74 20 6b 65 79 73 57 69 74 68 44 69 66 onst keysWithDif
0001c380: 66 65 72 65 6e 74 56 61 6c 75 65 73 20 3d 20 4f ferentValues = O
0001c390: 62 6a 65 63 74 2e 65 6e 74 72 69 65 73 28 74 68 bject.entries(th
0001c3a0: 69 73 2e 5f 63 6f 6e 66 69 67 29 2e 66 69 6c 74 is._config).filt
0001c3b0: 65 72 28 65 6e 74 72 79 20 3d 3e 20 74 68 69 73 er(entry => this
0001c3c0: 2e 63 6f 6e 73 74 72 75 63 74 6f 72 2e 44 65 66 .constructor.Def
0001c3d0: 61 75 6c 74 5b 65 6e 74 72 79 5b 30 5d 5d 20 21 ault[entry[0]] !
0001c3e0: 3d 3d 20 74 68 69 73 2e 5f 63 6f 6e 66 69 67 5b == this._config[
0001c3f0: 65 6e 74 72 79 5b 30 5d 5d 29 5c 6e 20 20 20 20 entry[0]])\n
0001c400: 2f 2f 20 60 4f 62 6a 65 63 74 2e 66 72 6f 6d 45 // `Object.fromE
0001c410: 6e 74 72 69 65 73 28 6b 65 79 73 57 69 74 68 44 ntries(keysWithD
0001c420: 69 66 66 65 72 65 6e 74 56 61 6c 75 65 73 29 60 ifferentValues)`
0001c430: 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 63 6f 6e \n return con
0001c440: 66 69 67 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 5f 64 fig\n }\n\n _d
0001c450: 69 73 70 6f 73 65 50 6f 70 70 65 72 28 29 20 7b isposePopper() {
0001c460: 5c 6e 20 20 20 20 69 66 20 28 74 68 69 73 2e 5f \n if (this._
0001c470: 70 6f 70 70 65 72 29 20 7b 5c 6e 20 20 20 20 20 popper) {\n
0001c480: 20 74 68 69 73 2e 5f 70 6f 70 70 65 72 2e 64 65 this._popper.de
0001c490: 73 74 72 6f 79 28 29 5c 6e 20 20 20 20 20 20 74 stroy()\n t
0001c4a0: 68 69 73 2e 5f 70 6f 70 70 65 72 20 3d 20 6e 75 his._popper = nu
0001c4b0: 6c 6c 5c 6e 20 20 20 20 7d 5c 6e 5c 6e 20 20 20 ll\n }\n\n
0001c4c0: 20 69 66 20 28 74 68 69 73 2e 74 69 70 29 20 7b if (this.tip) {
0001c4d0: 5c 6e 20 20 20 20 20 20 74 68 69 73 2e 74 69 70 \n this.tip
0001c4e0: 2e 72 65 6d 6f 76 65 28 29 5c 6e 20 20 20 20 20 .remove()\n
0001c4f0: 20 74 68 69 73 2e 74 69 70 20 3d 20 6e 75 6c 6c this.tip = null
0001c500: 5c 6e 20 20 20 20 7d 5c 6e 20 20 7d 5c 6e 5c 6e \n }\n }\n\n
0001c510: 20 20 2f 2f 20 53 74 61 74 69 63 5c 6e 20 20 73 // Static\n s
0001c520: 74 61 74 69 63 20 6a 51 75 65 72 79 49 6e 74 65 tatic jQueryInte
0001c530: 72 66 61 63 65 28 63 6f 6e 66 69 67 29 20 7b 5c rface(config) {\
0001c540: 6e 20 20 20 20 72 65 74 75 72 6e 20 74 68 69 73 n return this
0001c550: 2e 65 61 63 68 28 66 75 6e 63 74 69 6f 6e 20 28 .each(function (
0001c560: 29 20 7b 5c 6e 20 20 20 20 20 20 63 6f 6e 73 74 ) {\n const
0001c570: 20 64 61 74 61 20 3d 20 54 6f 6f 6c 74 69 70 2e data = Tooltip.
0001c580: 67 65 74 4f 72 43 72 65 61 74 65 49 6e 73 74 61 getOrCreateInsta
0001c590: 6e 63 65 28 74 68 69 73 2c 20 63 6f 6e 66 69 67 nce(this, config
0001c5a0: 29 5c 6e 5c 6e 20 20 20 20 20 20 69 66 20 28 74 )\n\n if (t
0001c5b0: 79 70 65 6f 66 20 63 6f 6e 66 69 67 20 21 3d 3d ypeof config !==
0001c5c0: 20 27 73 74 72 69 6e 67 27 29 20 7b 5c 6e 20 20 'string') {\n
0001c5d0: 20 20 20 20 20 20 72 65 74 75 72 6e 5c 6e 20 20 return\n
0001c5e0: 20 20 20 20 7d 5c 6e 5c 6e 20 20 20 20 20 20 69 }\n\n i
0001c5f0: 66 20 28 74 79 70 65 6f 66 20 64 61 74 61 5b 63 f (typeof data[c
0001c600: 6f 6e 66 69 67 5d 20 3d 3d 3d 20 27 75 6e 64 65 onfig] === 'unde
0001c610: 66 69 6e 65 64 27 29 20 7b 5c 6e 20 20 20 20 20 fined') {\n
0001c620: 20 20 20 74 68 72 6f 77 20 6e 65 77 20 54 79 70 throw new Typ
0001c630: 65 45 72 72 6f 72 28 60 4e 6f 20 6d 65 74 68 6f eError(`No metho
0001c640: 64 20 6e 61 6d 65 64 20 5c 22 24 7b 63 6f 6e 66 d named \"${conf
0001c650: 69 67 7d 5c 22 60 29 5c 6e 20 20 20 20 20 20 7d ig}\"`)\n }
0001c660: 5c 6e 5c 6e 20 20 20 20 20 20 64 61 74 61 5b 63 \n\n data[c
0001c670: 6f 6e 66 69 67 5d 28 29 5c 6e 20 20 20 20 7d 29 onfig]()\n })
0001c680: 5c 6e 20 20 7d 5c 6e 7d 5c 6e 5c 6e 2f 2a 2a 5c \n }\n}\n\n/**\
0001c690: 6e 20 2a 20 6a 51 75 65 72 79 5c 6e 20 2a 2f 5c n * jQuery\n */\
0001c6a0: 6e 5c 6e 64 65 66 69 6e 65 4a 51 75 65 72 79 50 n\ndefineJQueryP
0001c6b0: 6c 75 67 69 6e 28 54 6f 6f 6c 74 69 70 29 5c 6e lugin(Tooltip)\n
0001c6c0: 5c 6e 65 78 70 6f 72 74 20 64 65 66 61 75 6c 74 \nexport default
0001c6d0: 20 54 6f 6f 6c 74 69 70 5c 6e 22 2c 22 2f 2a 2a Tooltip\n","/**
0001c6e0: 5c 6e 20 2a 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d \n * -----------
0001c6f0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0001c700: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0001c710: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0001c720: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c ---------------\
0001c730: 6e 20 2a 20 42 6f 6f 74 73 74 72 61 70 20 70 6f n * Bootstrap po
0001c740: 70 6f 76 65 72 2e 6a 73 5c 6e 20 2a 20 4c 69 63 pover.js\n * Lic
0001c750: 65 6e 73 65 64 20 75 6e 64 65 72 20 4d 49 54 20 ensed under MIT
0001c760: 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e (https://github.
0001c770: 63 6f 6d 2f 74 77 62 73 2f 62 6f 6f 74 73 74 72 com/twbs/bootstr
0001c780: 61 70 2f 62 6c 6f 62 2f 6d 61 69 6e 2f 4c 49 43 ap/blob/main/LIC
0001c790: 45 4e 53 45 29 5c 6e 20 2a 20 2d 2d 2d 2d 2d 2d ENSE)\n * ------
0001c7a0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0001c7b0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0001c7c0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0001c7d0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0001c7e0: 2d 2d 2d 2d 5c 6e 20 2a 2f 5c 6e 5c 6e 69 6d 70 ----\n */\n\nimp
0001c7f0: 6f 72 74 20 54 6f 6f 6c 74 69 70 20 66 72 6f 6d ort Tooltip from
0001c800: 20 27 2e 2f 74 6f 6f 6c 74 69 70 2e 6a 73 27 5c './tooltip.js'\
0001c810: 6e 69 6d 70 6f 72 74 20 7b 20 64 65 66 69 6e 65 nimport { define
0001c820: 4a 51 75 65 72 79 50 6c 75 67 69 6e 20 7d 20 66 JQueryPlugin } f
0001c830: 72 6f 6d 20 27 2e 2f 75 74 69 6c 2f 69 6e 64 65 rom './util/inde
0001c840: 78 2e 6a 73 27 5c 6e 5c 6e 2f 2a 2a 5c 6e 20 2a x.js'\n\n/**\n *
0001c850: 20 43 6f 6e 73 74 61 6e 74 73 5c 6e 20 2a 2f 5c Constants\n */\
0001c860: 6e 5c 6e 63 6f 6e 73 74 20 4e 41 4d 45 20 3d 20 n\nconst NAME =
0001c870: 27 70 6f 70 6f 76 65 72 27 5c 6e 5c 6e 63 6f 6e 'popover'\n\ncon
0001c880: 73 74 20 53 45 4c 45 43 54 4f 52 5f 54 49 54 4c st SELECTOR_TITL
0001c890: 45 20 3d 20 27 2e 70 6f 70 6f 76 65 72 2d 68 65 E = '.popover-he
0001c8a0: 61 64 65 72 27 5c 6e 63 6f 6e 73 74 20 53 45 4c ader'\nconst SEL
0001c8b0: 45 43 54 4f 52 5f 43 4f 4e 54 45 4e 54 20 3d 20 ECTOR_CONTENT =
0001c8c0: 27 2e 70 6f 70 6f 76 65 72 2d 62 6f 64 79 27 5c '.popover-body'\
0001c8d0: 6e 5c 6e 63 6f 6e 73 74 20 44 65 66 61 75 6c 74 n\nconst Default
0001c8e0: 20 3d 20 7b 5c 6e 20 20 2e 2e 2e 54 6f 6f 6c 74 = {\n ...Toolt
0001c8f0: 69 70 2e 44 65 66 61 75 6c 74 2c 5c 6e 20 20 63 ip.Default,\n c
0001c900: 6f 6e 74 65 6e 74 3a 20 27 27 2c 5c 6e 20 20 6f ontent: '',\n o
0001c910: 66 66 73 65 74 3a 20 5b 30 2c 20 38 5d 2c 5c 6e ffset: [0, 8],\n
0001c920: 20 20 70 6c 61 63 65 6d 65 6e 74 3a 20 27 72 69 placement: 'ri
0001c930: 67 68 74 27 2c 5c 6e 20 20 74 65 6d 70 6c 61 74 ght',\n templat
0001c940: 65 3a 20 27 3c 64 69 76 20 63 6c 61 73 73 3d 5c e: '<div class=\
0001c950: 22 70 6f 70 6f 76 65 72 5c 22 20 72 6f 6c 65 3d "popover\" role=
0001c960: 5c 22 74 6f 6f 6c 74 69 70 5c 22 3e 27 20 2b 5c \"tooltip\">' +\
0001c970: 6e 20 20 20 20 27 3c 64 69 76 20 63 6c 61 73 73 n '<div class
0001c980: 3d 5c 22 70 6f 70 6f 76 65 72 2d 61 72 72 6f 77 =\"popover-arrow
0001c990: 5c 22 3e 3c 2f 64 69 76 3e 27 20 2b 5c 6e 20 20 \"></div>' +\n
0001c9a0: 20 20 27 3c 68 33 20 63 6c 61 73 73 3d 5c 22 70 '<h3 class=\"p
0001c9b0: 6f 70 6f 76 65 72 2d 68 65 61 64 65 72 5c 22 3e opover-header\">
0001c9c0: 3c 2f 68 33 3e 27 20 2b 5c 6e 20 20 20 20 27 3c </h3>' +\n '<
0001c9d0: 64 69 76 20 63 6c 61 73 73 3d 5c 22 70 6f 70 6f div class=\"popo
0001c9e0: 76 65 72 2d 62 6f 64 79 5c 22 3e 3c 2f 64 69 76 ver-body\"></div
0001c9f0: 3e 27 20 2b 5c 6e 20 20 20 20 27 3c 2f 64 69 76 >' +\n '</div
0001ca00: 3e 27 2c 5c 6e 20 20 74 72 69 67 67 65 72 3a 20 >',\n trigger:
0001ca10: 27 63 6c 69 63 6b 27 5c 6e 7d 5c 6e 5c 6e 63 6f 'click'\n}\n\nco
0001ca20: 6e 73 74 20 44 65 66 61 75 6c 74 54 79 70 65 20 nst DefaultType
0001ca30: 3d 20 7b 5c 6e 20 20 2e 2e 2e 54 6f 6f 6c 74 69 = {\n ...Toolti
0001ca40: 70 2e 44 65 66 61 75 6c 74 54 79 70 65 2c 5c 6e p.DefaultType,\n
0001ca50: 20 20 63 6f 6e 74 65 6e 74 3a 20 27 28 6e 75 6c content: '(nul
0001ca60: 6c 7c 73 74 72 69 6e 67 7c 65 6c 65 6d 65 6e 74 l|string|element
0001ca70: 7c 66 75 6e 63 74 69 6f 6e 29 27 5c 6e 7d 5c 6e |function)'\n}\n
0001ca80: 5c 6e 2f 2a 2a 5c 6e 20 2a 20 43 6c 61 73 73 20 \n/**\n * Class
0001ca90: 64 65 66 69 6e 69 74 69 6f 6e 5c 6e 20 2a 2f 5c definition\n */\
0001caa0: 6e 5c 6e 63 6c 61 73 73 20 50 6f 70 6f 76 65 72 n\nclass Popover
0001cab0: 20 65 78 74 65 6e 64 73 20 54 6f 6f 6c 74 69 70 extends Tooltip
0001cac0: 20 7b 5c 6e 20 20 2f 2f 20 47 65 74 74 65 72 73 {\n // Getters
0001cad0: 5c 6e 20 20 73 74 61 74 69 63 20 67 65 74 20 44 \n static get D
0001cae0: 65 66 61 75 6c 74 28 29 20 7b 5c 6e 20 20 20 20 efault() {\n
0001caf0: 72 65 74 75 72 6e 20 44 65 66 61 75 6c 74 5c 6e return Default\n
0001cb00: 20 20 7d 5c 6e 5c 6e 20 20 73 74 61 74 69 63 20 }\n\n static
0001cb10: 67 65 74 20 44 65 66 61 75 6c 74 54 79 70 65 28 get DefaultType(
0001cb20: 29 20 7b 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 ) {\n return
0001cb30: 44 65 66 61 75 6c 74 54 79 70 65 5c 6e 20 20 7d DefaultType\n }
0001cb40: 5c 6e 5c 6e 20 20 73 74 61 74 69 63 20 67 65 74 \n\n static get
0001cb50: 20 4e 41 4d 45 28 29 20 7b 5c 6e 20 20 20 20 72 NAME() {\n r
0001cb60: 65 74 75 72 6e 20 4e 41 4d 45 5c 6e 20 20 7d 5c eturn NAME\n }\
0001cb70: 6e 5c 6e 20 20 2f 2f 20 4f 76 65 72 72 69 64 65 n\n // Override
0001cb80: 73 5c 6e 20 20 5f 69 73 57 69 74 68 43 6f 6e 74 s\n _isWithCont
0001cb90: 65 6e 74 28 29 20 7b 5c 6e 20 20 20 20 72 65 74 ent() {\n ret
0001cba0: 75 72 6e 20 74 68 69 73 2e 5f 67 65 74 54 69 74 urn this._getTit
0001cbb0: 6c 65 28 29 20 7c 7c 20 74 68 69 73 2e 5f 67 65 le() || this._ge
0001cbc0: 74 43 6f 6e 74 65 6e 74 28 29 5c 6e 20 20 7d 5c tContent()\n }\
0001cbd0: 6e 5c 6e 20 20 2f 2f 20 50 72 69 76 61 74 65 5c n\n // Private\
0001cbe0: 6e 20 20 5f 67 65 74 43 6f 6e 74 65 6e 74 46 6f n _getContentFo
0001cbf0: 72 54 65 6d 70 6c 61 74 65 28 29 20 7b 5c 6e 20 rTemplate() {\n
0001cc00: 20 20 20 72 65 74 75 72 6e 20 7b 5c 6e 20 20 20 return {\n
0001cc10: 20 20 20 5b 53 45 4c 45 43 54 4f 52 5f 54 49 54 [SELECTOR_TIT
0001cc20: 4c 45 5d 3a 20 74 68 69 73 2e 5f 67 65 74 54 69 LE]: this._getTi
0001cc30: 74 6c 65 28 29 2c 5c 6e 20 20 20 20 20 20 5b 53 tle(),\n [S
0001cc40: 45 4c 45 43 54 4f 52 5f 43 4f 4e 54 45 4e 54 5d ELECTOR_CONTENT]
0001cc50: 3a 20 74 68 69 73 2e 5f 67 65 74 43 6f 6e 74 65 : this._getConte
0001cc60: 6e 74 28 29 5c 6e 20 20 20 20 7d 5c 6e 20 20 7d nt()\n }\n }
0001cc70: 5c 6e 5c 6e 20 20 5f 67 65 74 43 6f 6e 74 65 6e \n\n _getConten
0001cc80: 74 28 29 20 7b 5c 6e 20 20 20 20 72 65 74 75 72 t() {\n retur
0001cc90: 6e 20 74 68 69 73 2e 5f 72 65 73 6f 6c 76 65 50 n this._resolveP
0001cca0: 6f 73 73 69 62 6c 65 46 75 6e 63 74 69 6f 6e 28 ossibleFunction(
0001ccb0: 74 68 69 73 2e 5f 63 6f 6e 66 69 67 2e 63 6f 6e this._config.con
0001ccc0: 74 65 6e 74 29 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 tent)\n }\n\n
0001ccd0: 2f 2f 20 53 74 61 74 69 63 5c 6e 20 20 73 74 61 // Static\n sta
0001cce0: 74 69 63 20 6a 51 75 65 72 79 49 6e 74 65 72 66 tic jQueryInterf
0001ccf0: 61 63 65 28 63 6f 6e 66 69 67 29 20 7b 5c 6e 20 ace(config) {\n
0001cd00: 20 20 20 72 65 74 75 72 6e 20 74 68 69 73 2e 65 return this.e
0001cd10: 61 63 68 28 66 75 6e 63 74 69 6f 6e 20 28 29 20 ach(function ()
0001cd20: 7b 5c 6e 20 20 20 20 20 20 63 6f 6e 73 74 20 64 {\n const d
0001cd30: 61 74 61 20 3d 20 50 6f 70 6f 76 65 72 2e 67 65 ata = Popover.ge
0001cd40: 74 4f 72 43 72 65 61 74 65 49 6e 73 74 61 6e 63 tOrCreateInstanc
0001cd50: 65 28 74 68 69 73 2c 20 63 6f 6e 66 69 67 29 5c e(this, config)\
0001cd60: 6e 5c 6e 20 20 20 20 20 20 69 66 20 28 74 79 70 n\n if (typ
0001cd70: 65 6f 66 20 63 6f 6e 66 69 67 20 21 3d 3d 20 27 eof config !== '
0001cd80: 73 74 72 69 6e 67 27 29 20 7b 5c 6e 20 20 20 20 string') {\n
0001cd90: 20 20 20 20 72 65 74 75 72 6e 5c 6e 20 20 20 20 return\n
0001cda0: 20 20 7d 5c 6e 5c 6e 20 20 20 20 20 20 69 66 20 }\n\n if
0001cdb0: 28 74 79 70 65 6f 66 20 64 61 74 61 5b 63 6f 6e (typeof data[con
0001cdc0: 66 69 67 5d 20 3d 3d 3d 20 27 75 6e 64 65 66 69 fig] === 'undefi
0001cdd0: 6e 65 64 27 29 20 7b 5c 6e 20 20 20 20 20 20 20 ned') {\n
0001cde0: 20 74 68 72 6f 77 20 6e 65 77 20 54 79 70 65 45 throw new TypeE
0001cdf0: 72 72 6f 72 28 60 4e 6f 20 6d 65 74 68 6f 64 20 rror(`No method
0001ce00: 6e 61 6d 65 64 20 5c 22 24 7b 63 6f 6e 66 69 67 named \"${config
0001ce10: 7d 5c 22 60 29 5c 6e 20 20 20 20 20 20 7d 5c 6e }\"`)\n }\n
0001ce20: 5c 6e 20 20 20 20 20 20 64 61 74 61 5b 63 6f 6e \n data[con
0001ce30: 66 69 67 5d 28 29 5c 6e 20 20 20 20 7d 29 5c 6e fig]()\n })\n
0001ce40: 20 20 7d 5c 6e 7d 5c 6e 5c 6e 2f 2a 2a 5c 6e 20 }\n}\n\n/**\n
0001ce50: 2a 20 6a 51 75 65 72 79 5c 6e 20 2a 2f 5c 6e 5c * jQuery\n */\n\
0001ce60: 6e 64 65 66 69 6e 65 4a 51 75 65 72 79 50 6c 75 ndefineJQueryPlu
0001ce70: 67 69 6e 28 50 6f 70 6f 76 65 72 29 5c 6e 5c 6e gin(Popover)\n\n
0001ce80: 65 78 70 6f 72 74 20 64 65 66 61 75 6c 74 20 50 export default P
0001ce90: 6f 70 6f 76 65 72 5c 6e 22 2c 22 2f 2a 2a 5c 6e opover\n","/**\n
0001cea0: 20 2a 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d * -------------
0001ceb0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0001cec0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0001ced0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0001cee0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 20 -------------\n
0001cef0: 2a 20 42 6f 6f 74 73 74 72 61 70 20 73 63 72 6f * Bootstrap scro
0001cf00: 6c 6c 73 70 79 2e 6a 73 5c 6e 20 2a 20 4c 69 63 llspy.js\n * Lic
0001cf10: 65 6e 73 65 64 20 75 6e 64 65 72 20 4d 49 54 20 ensed under MIT
0001cf20: 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e (https://github.
0001cf30: 63 6f 6d 2f 74 77 62 73 2f 62 6f 6f 74 73 74 72 com/twbs/bootstr
0001cf40: 61 70 2f 62 6c 6f 62 2f 6d 61 69 6e 2f 4c 49 43 ap/blob/main/LIC
0001cf50: 45 4e 53 45 29 5c 6e 20 2a 20 2d 2d 2d 2d 2d 2d ENSE)\n * ------
0001cf60: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0001cf70: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0001cf80: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0001cf90: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0001cfa0: 2d 2d 2d 2d 5c 6e 20 2a 2f 5c 6e 5c 6e 69 6d 70 ----\n */\n\nimp
0001cfb0: 6f 72 74 20 42 61 73 65 43 6f 6d 70 6f 6e 65 6e ort BaseComponen
0001cfc0: 74 20 66 72 6f 6d 20 27 2e 2f 62 61 73 65 2d 63 t from './base-c
0001cfd0: 6f 6d 70 6f 6e 65 6e 74 2e 6a 73 27 5c 6e 69 6d omponent.js'\nim
0001cfe0: 70 6f 72 74 20 45 76 65 6e 74 48 61 6e 64 6c 65 port EventHandle
0001cff0: 72 20 66 72 6f 6d 20 27 2e 2f 64 6f 6d 2f 65 76 r from './dom/ev
0001d000: 65 6e 74 2d 68 61 6e 64 6c 65 72 2e 6a 73 27 5c ent-handler.js'\
0001d010: 6e 69 6d 70 6f 72 74 20 53 65 6c 65 63 74 6f 72 nimport Selector
0001d020: 45 6e 67 69 6e 65 20 66 72 6f 6d 20 27 2e 2f 64 Engine from './d
0001d030: 6f 6d 2f 73 65 6c 65 63 74 6f 72 2d 65 6e 67 69 om/selector-engi
0001d040: 6e 65 2e 6a 73 27 5c 6e 69 6d 70 6f 72 74 20 7b ne.js'\nimport {
0001d050: 5c 6e 20 20 64 65 66 69 6e 65 4a 51 75 65 72 79 \n defineJQuery
0001d060: 50 6c 75 67 69 6e 2c 20 67 65 74 45 6c 65 6d 65 Plugin, getEleme
0001d070: 6e 74 2c 20 69 73 44 69 73 61 62 6c 65 64 2c 20 nt, isDisabled,
0001d080: 69 73 56 69 73 69 62 6c 65 5c 6e 7d 20 66 72 6f isVisible\n} fro
0001d090: 6d 20 27 2e 2f 75 74 69 6c 2f 69 6e 64 65 78 2e m './util/index.
0001d0a0: 6a 73 27 5c 6e 5c 6e 2f 2a 2a 5c 6e 20 2a 20 43 js'\n\n/**\n * C
0001d0b0: 6f 6e 73 74 61 6e 74 73 5c 6e 20 2a 2f 5c 6e 5c onstants\n */\n\
0001d0c0: 6e 63 6f 6e 73 74 20 4e 41 4d 45 20 3d 20 27 73 nconst NAME = 's
0001d0d0: 63 72 6f 6c 6c 73 70 79 27 5c 6e 63 6f 6e 73 74 crollspy'\nconst
0001d0e0: 20 44 41 54 41 5f 4b 45 59 20 3d 20 27 62 73 2e DATA_KEY = 'bs.
0001d0f0: 73 63 72 6f 6c 6c 73 70 79 27 5c 6e 63 6f 6e 73 scrollspy'\ncons
0001d100: 74 20 45 56 45 4e 54 5f 4b 45 59 20 3d 20 60 2e t EVENT_KEY = `.
0001d110: 24 7b 44 41 54 41 5f 4b 45 59 7d 60 5c 6e 63 6f ${DATA_KEY}`\nco
0001d120: 6e 73 74 20 44 41 54 41 5f 41 50 49 5f 4b 45 59 nst DATA_API_KEY
0001d130: 20 3d 20 27 2e 64 61 74 61 2d 61 70 69 27 5c 6e = '.data-api'\n
0001d140: 5c 6e 63 6f 6e 73 74 20 45 56 45 4e 54 5f 41 43 \nconst EVENT_AC
0001d150: 54 49 56 41 54 45 20 3d 20 60 61 63 74 69 76 61 TIVATE = `activa
0001d160: 74 65 24 7b 45 56 45 4e 54 5f 4b 45 59 7d 60 5c te${EVENT_KEY}`\
0001d170: 6e 63 6f 6e 73 74 20 45 56 45 4e 54 5f 43 4c 49 nconst EVENT_CLI
0001d180: 43 4b 20 3d 20 60 63 6c 69 63 6b 24 7b 45 56 45 CK = `click${EVE
0001d190: 4e 54 5f 4b 45 59 7d 60 5c 6e 63 6f 6e 73 74 20 NT_KEY}`\nconst
0001d1a0: 45 56 45 4e 54 5f 4c 4f 41 44 5f 44 41 54 41 5f EVENT_LOAD_DATA_
0001d1b0: 41 50 49 20 3d 20 60 6c 6f 61 64 24 7b 45 56 45 API = `load${EVE
0001d1c0: 4e 54 5f 4b 45 59 7d 24 7b 44 41 54 41 5f 41 50 NT_KEY}${DATA_AP
0001d1d0: 49 5f 4b 45 59 7d 60 5c 6e 5c 6e 63 6f 6e 73 74 I_KEY}`\n\nconst
0001d1e0: 20 43 4c 41 53 53 5f 4e 41 4d 45 5f 44 52 4f 50 CLASS_NAME_DROP
0001d1f0: 44 4f 57 4e 5f 49 54 45 4d 20 3d 20 27 64 72 6f DOWN_ITEM = 'dro
0001d200: 70 64 6f 77 6e 2d 69 74 65 6d 27 5c 6e 63 6f 6e pdown-item'\ncon
0001d210: 73 74 20 43 4c 41 53 53 5f 4e 41 4d 45 5f 41 43 st CLASS_NAME_AC
0001d220: 54 49 56 45 20 3d 20 27 61 63 74 69 76 65 27 5c TIVE = 'active'\
0001d230: 6e 5c 6e 63 6f 6e 73 74 20 53 45 4c 45 43 54 4f n\nconst SELECTO
0001d240: 52 5f 44 41 54 41 5f 53 50 59 20 3d 20 27 5b 64 R_DATA_SPY = '[d
0001d250: 61 74 61 2d 62 73 2d 73 70 79 3d 5c 22 73 63 72 ata-bs-spy=\"scr
0001d260: 6f 6c 6c 5c 22 5d 27 5c 6e 63 6f 6e 73 74 20 53 oll\"]'\nconst S
0001d270: 45 4c 45 43 54 4f 52 5f 54 41 52 47 45 54 5f 4c ELECTOR_TARGET_L
0001d280: 49 4e 4b 53 20 3d 20 27 5b 68 72 65 66 5d 27 5c INKS = '[href]'\
0001d290: 6e 63 6f 6e 73 74 20 53 45 4c 45 43 54 4f 52 5f nconst SELECTOR_
0001d2a0: 4e 41 56 5f 4c 49 53 54 5f 47 52 4f 55 50 20 3d NAV_LIST_GROUP =
0001d2b0: 20 27 2e 6e 61 76 2c 20 2e 6c 69 73 74 2d 67 72 '.nav, .list-gr
0001d2c0: 6f 75 70 27 5c 6e 63 6f 6e 73 74 20 53 45 4c 45 oup'\nconst SELE
0001d2d0: 43 54 4f 52 5f 4e 41 56 5f 4c 49 4e 4b 53 20 3d CTOR_NAV_LINKS =
0001d2e0: 20 27 2e 6e 61 76 2d 6c 69 6e 6b 27 5c 6e 63 6f '.nav-link'\nco
0001d2f0: 6e 73 74 20 53 45 4c 45 43 54 4f 52 5f 4e 41 56 nst SELECTOR_NAV
0001d300: 5f 49 54 45 4d 53 20 3d 20 27 2e 6e 61 76 2d 69 _ITEMS = '.nav-i
0001d310: 74 65 6d 27 5c 6e 63 6f 6e 73 74 20 53 45 4c 45 tem'\nconst SELE
0001d320: 43 54 4f 52 5f 4c 49 53 54 5f 49 54 45 4d 53 20 CTOR_LIST_ITEMS
0001d330: 3d 20 27 2e 6c 69 73 74 2d 67 72 6f 75 70 2d 69 = '.list-group-i
0001d340: 74 65 6d 27 5c 6e 63 6f 6e 73 74 20 53 45 4c 45 tem'\nconst SELE
0001d350: 43 54 4f 52 5f 4c 49 4e 4b 5f 49 54 45 4d 53 20 CTOR_LINK_ITEMS
0001d360: 3d 20 60 24 7b 53 45 4c 45 43 54 4f 52 5f 4e 41 = `${SELECTOR_NA
0001d370: 56 5f 4c 49 4e 4b 53 7d 2c 20 24 7b 53 45 4c 45 V_LINKS}, ${SELE
0001d380: 43 54 4f 52 5f 4e 41 56 5f 49 54 45 4d 53 7d 20 CTOR_NAV_ITEMS}
0001d390: 3e 20 24 7b 53 45 4c 45 43 54 4f 52 5f 4e 41 56 > ${SELECTOR_NAV
0001d3a0: 5f 4c 49 4e 4b 53 7d 2c 20 24 7b 53 45 4c 45 43 _LINKS}, ${SELEC
0001d3b0: 54 4f 52 5f 4c 49 53 54 5f 49 54 45 4d 53 7d 60 TOR_LIST_ITEMS}`
0001d3c0: 5c 6e 63 6f 6e 73 74 20 53 45 4c 45 43 54 4f 52 \nconst SELECTOR
0001d3d0: 5f 44 52 4f 50 44 4f 57 4e 20 3d 20 27 2e 64 72 _DROPDOWN = '.dr
0001d3e0: 6f 70 64 6f 77 6e 27 5c 6e 63 6f 6e 73 74 20 53 opdown'\nconst S
0001d3f0: 45 4c 45 43 54 4f 52 5f 44 52 4f 50 44 4f 57 4e ELECTOR_DROPDOWN
0001d400: 5f 54 4f 47 47 4c 45 20 3d 20 27 2e 64 72 6f 70 _TOGGLE = '.drop
0001d410: 64 6f 77 6e 2d 74 6f 67 67 6c 65 27 5c 6e 5c 6e down-toggle'\n\n
0001d420: 63 6f 6e 73 74 20 44 65 66 61 75 6c 74 20 3d 20 const Default =
0001d430: 7b 5c 6e 20 20 6f 66 66 73 65 74 3a 20 6e 75 6c {\n offset: nul
0001d440: 6c 2c 20 2f 2f 20 54 4f 44 4f 3a 20 76 36 20 40 l, // TODO: v6 @
0001d450: 64 65 70 72 65 63 61 74 65 64 2c 20 6b 65 65 70 deprecated, keep
0001d460: 20 69 74 20 66 6f 72 20 62 61 63 6b 77 61 72 64 it for backward
0001d470: 73 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 s compatibility
0001d480: 72 65 61 73 6f 6e 73 5c 6e 20 20 72 6f 6f 74 4d reasons\n rootM
0001d490: 61 72 67 69 6e 3a 20 27 30 70 78 20 30 70 78 20 argin: '0px 0px
0001d4a0: 2d 32 35 25 27 2c 5c 6e 20 20 73 6d 6f 6f 74 68 -25%',\n smooth
0001d4b0: 53 63 72 6f 6c 6c 3a 20 66 61 6c 73 65 2c 5c 6e Scroll: false,\n
0001d4c0: 20 20 74 61 72 67 65 74 3a 20 6e 75 6c 6c 2c 5c target: null,\
0001d4d0: 6e 20 20 74 68 72 65 73 68 6f 6c 64 3a 20 5b 30 n threshold: [0
0001d4e0: 2e 31 2c 20 30 2e 35 2c 20 31 5d 5c 6e 7d 5c 6e .1, 0.5, 1]\n}\n
0001d4f0: 5c 6e 63 6f 6e 73 74 20 44 65 66 61 75 6c 74 54 \nconst DefaultT
0001d500: 79 70 65 20 3d 20 7b 5c 6e 20 20 6f 66 66 73 65 ype = {\n offse
0001d510: 74 3a 20 27 28 6e 75 6d 62 65 72 7c 6e 75 6c 6c t: '(number|null
0001d520: 29 27 2c 20 2f 2f 20 54 4f 44 4f 20 76 36 20 40 )', // TODO v6 @
0001d530: 64 65 70 72 65 63 61 74 65 64 2c 20 6b 65 65 70 deprecated, keep
0001d540: 20 69 74 20 66 6f 72 20 62 61 63 6b 77 61 72 64 it for backward
0001d550: 73 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 s compatibility
0001d560: 72 65 61 73 6f 6e 73 5c 6e 20 20 72 6f 6f 74 4d reasons\n rootM
0001d570: 61 72 67 69 6e 3a 20 27 73 74 72 69 6e 67 27 2c argin: 'string',
0001d580: 5c 6e 20 20 73 6d 6f 6f 74 68 53 63 72 6f 6c 6c \n smoothScroll
0001d590: 3a 20 27 62 6f 6f 6c 65 61 6e 27 2c 5c 6e 20 20 : 'boolean',\n
0001d5a0: 74 61 72 67 65 74 3a 20 27 65 6c 65 6d 65 6e 74 target: 'element
0001d5b0: 27 2c 5c 6e 20 20 74 68 72 65 73 68 6f 6c 64 3a ',\n threshold:
0001d5c0: 20 27 61 72 72 61 79 27 5c 6e 7d 5c 6e 5c 6e 2f 'array'\n}\n\n/
0001d5d0: 2a 2a 5c 6e 20 2a 20 43 6c 61 73 73 20 64 65 66 **\n * Class def
0001d5e0: 69 6e 69 74 69 6f 6e 5c 6e 20 2a 2f 5c 6e 5c 6e inition\n */\n\n
0001d5f0: 63 6c 61 73 73 20 53 63 72 6f 6c 6c 53 70 79 20 class ScrollSpy
0001d600: 65 78 74 65 6e 64 73 20 42 61 73 65 43 6f 6d 70 extends BaseComp
0001d610: 6f 6e 65 6e 74 20 7b 5c 6e 20 20 63 6f 6e 73 74 onent {\n const
0001d620: 72 75 63 74 6f 72 28 65 6c 65 6d 65 6e 74 2c 20 ructor(element,
0001d630: 63 6f 6e 66 69 67 29 20 7b 5c 6e 20 20 20 20 73 config) {\n s
0001d640: 75 70 65 72 28 65 6c 65 6d 65 6e 74 2c 20 63 6f uper(element, co
0001d650: 6e 66 69 67 29 5c 6e 5c 6e 20 20 20 20 2f 2f 20 nfig)\n\n //
0001d660: 74 68 69 73 2e 5f 65 6c 65 6d 65 6e 74 20 69 73 this._element is
0001d670: 20 74 68 65 20 6f 62 73 65 72 76 61 62 6c 65 73 the observables
0001d680: 43 6f 6e 74 61 69 6e 65 72 20 61 6e 64 20 63 6f Container and co
0001d690: 6e 66 69 67 2e 74 61 72 67 65 74 20 74 68 65 20 nfig.target the
0001d6a0: 6d 65 6e 75 20 6c 69 6e 6b 73 20 77 72 61 70 70 menu links wrapp
0001d6b0: 65 72 5c 6e 20 20 20 20 74 68 69 73 2e 5f 74 61 er\n this._ta
0001d6c0: 72 67 65 74 4c 69 6e 6b 73 20 3d 20 6e 65 77 20 rgetLinks = new
0001d6d0: 4d 61 70 28 29 5c 6e 20 20 20 20 74 68 69 73 2e Map()\n this.
0001d6e0: 5f 6f 62 73 65 72 76 61 62 6c 65 53 65 63 74 69 _observableSecti
0001d6f0: 6f 6e 73 20 3d 20 6e 65 77 20 4d 61 70 28 29 5c ons = new Map()\
0001d700: 6e 20 20 20 20 74 68 69 73 2e 5f 72 6f 6f 74 45 n this._rootE
0001d710: 6c 65 6d 65 6e 74 20 3d 20 67 65 74 43 6f 6d 70 lement = getComp
0001d720: 75 74 65 64 53 74 79 6c 65 28 74 68 69 73 2e 5f utedStyle(this._
0001d730: 65 6c 65 6d 65 6e 74 29 2e 6f 76 65 72 66 6c 6f element).overflo
0001d740: 77 59 20 3d 3d 3d 20 27 76 69 73 69 62 6c 65 27 wY === 'visible'
0001d750: 20 3f 20 6e 75 6c 6c 20 3a 20 74 68 69 73 2e 5f ? null : this._
0001d760: 65 6c 65 6d 65 6e 74 5c 6e 20 20 20 20 74 68 69 element\n thi
0001d770: 73 2e 5f 61 63 74 69 76 65 54 61 72 67 65 74 20 s._activeTarget
0001d780: 3d 20 6e 75 6c 6c 5c 6e 20 20 20 20 74 68 69 73 = null\n this
0001d790: 2e 5f 6f 62 73 65 72 76 65 72 20 3d 20 6e 75 6c ._observer = nul
0001d7a0: 6c 5c 6e 20 20 20 20 74 68 69 73 2e 5f 70 72 65 l\n this._pre
0001d7b0: 76 69 6f 75 73 53 63 72 6f 6c 6c 44 61 74 61 20 viousScrollData
0001d7c0: 3d 20 7b 5c 6e 20 20 20 20 20 20 76 69 73 69 62 = {\n visib
0001d7d0: 6c 65 45 6e 74 72 79 54 6f 70 3a 20 30 2c 5c 6e leEntryTop: 0,\n
0001d7e0: 20 20 20 20 20 20 70 61 72 65 6e 74 53 63 72 6f parentScro
0001d7f0: 6c 6c 54 6f 70 3a 20 30 5c 6e 20 20 20 20 7d 5c llTop: 0\n }\
0001d800: 6e 20 20 20 20 74 68 69 73 2e 72 65 66 72 65 73 n this.refres
0001d810: 68 28 29 20 2f 2f 20 69 6e 69 74 69 61 6c 69 7a h() // initializ
0001d820: 65 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 2f 2f 20 47 e\n }\n\n // G
0001d830: 65 74 74 65 72 73 5c 6e 20 20 73 74 61 74 69 63 etters\n static
0001d840: 20 67 65 74 20 44 65 66 61 75 6c 74 28 29 20 7b get Default() {
0001d850: 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 44 65 66 \n return Def
0001d860: 61 75 6c 74 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 73 ault\n }\n\n s
0001d870: 74 61 74 69 63 20 67 65 74 20 44 65 66 61 75 6c tatic get Defaul
0001d880: 74 54 79 70 65 28 29 20 7b 5c 6e 20 20 20 20 72 tType() {\n r
0001d890: 65 74 75 72 6e 20 44 65 66 61 75 6c 74 54 79 70 eturn DefaultTyp
0001d8a0: 65 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 73 74 61 74 e\n }\n\n stat
0001d8b0: 69 63 20 67 65 74 20 4e 41 4d 45 28 29 20 7b 5c ic get NAME() {\
0001d8c0: 6e 20 20 20 20 72 65 74 75 72 6e 20 4e 41 4d 45 n return NAME
0001d8d0: 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 2f 2f 20 50 75 \n }\n\n // Pu
0001d8e0: 62 6c 69 63 5c 6e 20 20 72 65 66 72 65 73 68 28 blic\n refresh(
0001d8f0: 29 20 7b 5c 6e 20 20 20 20 74 68 69 73 2e 5f 69 ) {\n this._i
0001d900: 6e 69 74 69 61 6c 69 7a 65 54 61 72 67 65 74 73 nitializeTargets
0001d910: 41 6e 64 4f 62 73 65 72 76 61 62 6c 65 73 28 29 AndObservables()
0001d920: 5c 6e 20 20 20 20 74 68 69 73 2e 5f 6d 61 79 62 \n this._mayb
0001d930: 65 45 6e 61 62 6c 65 53 6d 6f 6f 74 68 53 63 72 eEnableSmoothScr
0001d940: 6f 6c 6c 28 29 5c 6e 5c 6e 20 20 20 20 69 66 20 oll()\n\n if
0001d950: 28 74 68 69 73 2e 5f 6f 62 73 65 72 76 65 72 29 (this._observer)
0001d960: 20 7b 5c 6e 20 20 20 20 20 20 74 68 69 73 2e 5f {\n this._
0001d970: 6f 62 73 65 72 76 65 72 2e 64 69 73 63 6f 6e 6e observer.disconn
0001d980: 65 63 74 28 29 5c 6e 20 20 20 20 7d 20 65 6c 73 ect()\n } els
0001d990: 65 20 7b 5c 6e 20 20 20 20 20 20 74 68 69 73 2e e {\n this.
0001d9a0: 5f 6f 62 73 65 72 76 65 72 20 3d 20 74 68 69 73 _observer = this
0001d9b0: 2e 5f 67 65 74 4e 65 77 4f 62 73 65 72 76 65 72 ._getNewObserver
0001d9c0: 28 29 5c 6e 20 20 20 20 7d 5c 6e 5c 6e 20 20 20 ()\n }\n\n
0001d9d0: 20 66 6f 72 20 28 63 6f 6e 73 74 20 73 65 63 74 for (const sect
0001d9e0: 69 6f 6e 20 6f 66 20 74 68 69 73 2e 5f 6f 62 73 ion of this._obs
0001d9f0: 65 72 76 61 62 6c 65 53 65 63 74 69 6f 6e 73 2e ervableSections.
0001da00: 76 61 6c 75 65 73 28 29 29 20 7b 5c 6e 20 20 20 values()) {\n
0001da10: 20 20 20 74 68 69 73 2e 5f 6f 62 73 65 72 76 65 this._observe
0001da20: 72 2e 6f 62 73 65 72 76 65 28 73 65 63 74 69 6f r.observe(sectio
0001da30: 6e 29 5c 6e 20 20 20 20 7d 5c 6e 20 20 7d 5c 6e n)\n }\n }\n
0001da40: 5c 6e 20 20 64 69 73 70 6f 73 65 28 29 20 7b 5c \n dispose() {\
0001da50: 6e 20 20 20 20 74 68 69 73 2e 5f 6f 62 73 65 72 n this._obser
0001da60: 76 65 72 2e 64 69 73 63 6f 6e 6e 65 63 74 28 29 ver.disconnect()
0001da70: 5c 6e 20 20 20 20 73 75 70 65 72 2e 64 69 73 70 \n super.disp
0001da80: 6f 73 65 28 29 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 ose()\n }\n\n
0001da90: 2f 2f 20 50 72 69 76 61 74 65 5c 6e 20 20 5f 63 // Private\n _c
0001daa0: 6f 6e 66 69 67 41 66 74 65 72 4d 65 72 67 65 28 onfigAfterMerge(
0001dab0: 63 6f 6e 66 69 67 29 20 7b 5c 6e 20 20 20 20 2f config) {\n /
0001dac0: 2f 20 54 4f 44 4f 3a 20 6f 6e 20 76 36 20 74 61 / TODO: on v6 ta
0001dad0: 72 67 65 74 20 73 68 6f 75 6c 64 20 62 65 20 67 rget should be g
0001dae0: 69 76 65 6e 20 65 78 70 6c 69 63 69 74 6c 79 20 iven explicitly
0001daf0: 26 20 72 65 6d 6f 76 65 20 74 68 65 20 7b 74 61 & remove the {ta
0001db00: 72 67 65 74 3a 20 27 73 73 2d 74 61 72 67 65 74 rget: 'ss-target
0001db10: 27 7d 20 63 61 73 65 5c 6e 20 20 20 20 63 6f 6e '} case\n con
0001db20: 66 69 67 2e 74 61 72 67 65 74 20 3d 20 67 65 74 fig.target = get
0001db30: 45 6c 65 6d 65 6e 74 28 63 6f 6e 66 69 67 2e 74 Element(config.t
0001db40: 61 72 67 65 74 29 20 7c 7c 20 64 6f 63 75 6d 65 arget) || docume
0001db50: 6e 74 2e 62 6f 64 79 5c 6e 5c 6e 20 20 20 20 2f nt.body\n\n /
0001db60: 2f 20 54 4f 44 4f 3a 20 76 36 20 4f 6e 6c 79 20 / TODO: v6 Only
0001db70: 66 6f 72 20 62 61 63 6b 77 61 72 64 73 20 63 6f for backwards co
0001db80: 6d 70 61 74 69 62 69 6c 69 74 79 20 72 65 61 73 mpatibility reas
0001db90: 6f 6e 73 2e 20 55 73 65 20 72 6f 6f 74 4d 61 72 ons. Use rootMar
0001dba0: 67 69 6e 20 6f 6e 6c 79 5c 6e 20 20 20 20 63 6f gin only\n co
0001dbb0: 6e 66 69 67 2e 72 6f 6f 74 4d 61 72 67 69 6e 20 nfig.rootMargin
0001dbc0: 3d 20 63 6f 6e 66 69 67 2e 6f 66 66 73 65 74 20 = config.offset
0001dbd0: 3f 20 60 24 7b 63 6f 6e 66 69 67 2e 6f 66 66 73 ? `${config.offs
0001dbe0: 65 74 7d 70 78 20 30 70 78 20 2d 33 30 25 60 20 et}px 0px -30%`
0001dbf0: 3a 20 63 6f 6e 66 69 67 2e 72 6f 6f 74 4d 61 72 : config.rootMar
0001dc00: 67 69 6e 5c 6e 5c 6e 20 20 20 20 69 66 20 28 74 gin\n\n if (t
0001dc10: 79 70 65 6f 66 20 63 6f 6e 66 69 67 2e 74 68 72 ypeof config.thr
0001dc20: 65 73 68 6f 6c 64 20 3d 3d 3d 20 27 73 74 72 69 eshold === 'stri
0001dc30: 6e 67 27 29 20 7b 5c 6e 20 20 20 20 20 20 63 6f ng') {\n co
0001dc40: 6e 66 69 67 2e 74 68 72 65 73 68 6f 6c 64 20 3d nfig.threshold =
0001dc50: 20 63 6f 6e 66 69 67 2e 74 68 72 65 73 68 6f 6c config.threshol
0001dc60: 64 2e 73 70 6c 69 74 28 27 2c 27 29 2e 6d 61 70 d.split(',').map
0001dc70: 28 76 61 6c 75 65 20 3d 3e 20 4e 75 6d 62 65 72 (value => Number
0001dc80: 2e 70 61 72 73 65 46 6c 6f 61 74 28 76 61 6c 75 .parseFloat(valu
0001dc90: 65 29 29 5c 6e 20 20 20 20 7d 5c 6e 5c 6e 20 20 e))\n }\n\n
0001dca0: 20 20 72 65 74 75 72 6e 20 63 6f 6e 66 69 67 5c return config\
0001dcb0: 6e 20 20 7d 5c 6e 5c 6e 20 20 5f 6d 61 79 62 65 n }\n\n _maybe
0001dcc0: 45 6e 61 62 6c 65 53 6d 6f 6f 74 68 53 63 72 6f EnableSmoothScro
0001dcd0: 6c 6c 28 29 20 7b 5c 6e 20 20 20 20 69 66 20 28 ll() {\n if (
0001dce0: 21 74 68 69 73 2e 5f 63 6f 6e 66 69 67 2e 73 6d !this._config.sm
0001dcf0: 6f 6f 74 68 53 63 72 6f 6c 6c 29 20 7b 5c 6e 20 oothScroll) {\n
0001dd00: 20 20 20 20 20 72 65 74 75 72 6e 5c 6e 20 20 20 return\n
0001dd10: 20 7d 5c 6e 5c 6e 20 20 20 20 2f 2f 20 75 6e 72 }\n\n // unr
0001dd20: 65 67 69 73 74 65 72 20 61 6e 79 20 70 72 65 76 egister any prev
0001dd30: 69 6f 75 73 20 6c 69 73 74 65 6e 65 72 73 5c 6e ious listeners\n
0001dd40: 20 20 20 20 45 76 65 6e 74 48 61 6e 64 6c 65 72 EventHandler
0001dd50: 2e 6f 66 66 28 74 68 69 73 2e 5f 63 6f 6e 66 69 .off(this._confi
0001dd60: 67 2e 74 61 72 67 65 74 2c 20 45 56 45 4e 54 5f g.target, EVENT_
0001dd70: 43 4c 49 43 4b 29 5c 6e 5c 6e 20 20 20 20 45 76 CLICK)\n\n Ev
0001dd80: 65 6e 74 48 61 6e 64 6c 65 72 2e 6f 6e 28 74 68 entHandler.on(th
0001dd90: 69 73 2e 5f 63 6f 6e 66 69 67 2e 74 61 72 67 65 is._config.targe
0001dda0: 74 2c 20 45 56 45 4e 54 5f 43 4c 49 43 4b 2c 20 t, EVENT_CLICK,
0001ddb0: 53 45 4c 45 43 54 4f 52 5f 54 41 52 47 45 54 5f SELECTOR_TARGET_
0001ddc0: 4c 49 4e 4b 53 2c 20 65 76 65 6e 74 20 3d 3e 20 LINKS, event =>
0001ddd0: 7b 5c 6e 20 20 20 20 20 20 63 6f 6e 73 74 20 6f {\n const o
0001dde0: 62 73 65 72 76 61 62 6c 65 53 65 63 74 69 6f 6e bservableSection
0001ddf0: 20 3d 20 74 68 69 73 2e 5f 6f 62 73 65 72 76 61 = this._observa
0001de00: 62 6c 65 53 65 63 74 69 6f 6e 73 2e 67 65 74 28 bleSections.get(
0001de10: 65 76 65 6e 74 2e 74 61 72 67 65 74 2e 68 61 73 event.target.has
0001de20: 68 29 5c 6e 20 20 20 20 20 20 69 66 20 28 6f 62 h)\n if (ob
0001de30: 73 65 72 76 61 62 6c 65 53 65 63 74 69 6f 6e 29 servableSection)
0001de40: 20 7b 5c 6e 20 20 20 20 20 20 20 20 65 76 65 6e {\n even
0001de50: 74 2e 70 72 65 76 65 6e 74 44 65 66 61 75 6c 74 t.preventDefault
0001de60: 28 29 5c 6e 20 20 20 20 20 20 20 20 63 6f 6e 73 ()\n cons
0001de70: 74 20 72 6f 6f 74 20 3d 20 74 68 69 73 2e 5f 72 t root = this._r
0001de80: 6f 6f 74 45 6c 65 6d 65 6e 74 20 7c 7c 20 77 69 ootElement || wi
0001de90: 6e 64 6f 77 5c 6e 20 20 20 20 20 20 20 20 63 6f ndow\n co
0001dea0: 6e 73 74 20 68 65 69 67 68 74 20 3d 20 6f 62 73 nst height = obs
0001deb0: 65 72 76 61 62 6c 65 53 65 63 74 69 6f 6e 2e 6f ervableSection.o
0001dec0: 66 66 73 65 74 54 6f 70 20 2d 20 74 68 69 73 2e ffsetTop - this.
0001ded0: 5f 65 6c 65 6d 65 6e 74 2e 6f 66 66 73 65 74 54 _element.offsetT
0001dee0: 6f 70 5c 6e 20 20 20 20 20 20 20 20 69 66 20 28 op\n if (
0001def0: 72 6f 6f 74 2e 73 63 72 6f 6c 6c 54 6f 29 20 7b root.scrollTo) {
0001df00: 5c 6e 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 \n root
0001df10: 2e 73 63 72 6f 6c 6c 54 6f 28 7b 20 74 6f 70 3a .scrollTo({ top:
0001df20: 20 68 65 69 67 68 74 2c 20 62 65 68 61 76 69 6f height, behavio
0001df30: 72 3a 20 27 73 6d 6f 6f 74 68 27 20 7d 29 5c 6e r: 'smooth' })\n
0001df40: 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e return
0001df50: 5c 6e 20 20 20 20 20 20 20 20 7d 5c 6e 5c 6e 20 \n }\n\n
0001df60: 20 20 20 20 20 20 20 2f 2f 20 43 68 72 6f 6d 65 // Chrome
0001df70: 20 36 30 20 64 6f 65 73 6e 27 74 20 73 75 70 70 60 doesn't supp
0001df80: 6f 72 74 20 60 73 63 72 6f 6c 6c 54 6f 60 5c 6e ort `scrollTo`\n
0001df90: 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 73 63 72 root.scr
0001dfa0: 6f 6c 6c 54 6f 70 20 3d 20 68 65 69 67 68 74 5c ollTop = height\
0001dfb0: 6e 20 20 20 20 20 20 7d 5c 6e 20 20 20 20 7d 29 n }\n })
0001dfc0: 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 5f 67 65 74 4e \n }\n\n _getN
0001dfd0: 65 77 4f 62 73 65 72 76 65 72 28 29 20 7b 5c 6e ewObserver() {\n
0001dfe0: 20 20 20 20 63 6f 6e 73 74 20 6f 70 74 69 6f 6e const option
0001dff0: 73 20 3d 20 7b 5c 6e 20 20 20 20 20 20 72 6f 6f s = {\n roo
0001e000: 74 3a 20 74 68 69 73 2e 5f 72 6f 6f 74 45 6c 65 t: this._rootEle
0001e010: 6d 65 6e 74 2c 5c 6e 20 20 20 20 20 20 74 68 72 ment,\n thr
0001e020: 65 73 68 6f 6c 64 3a 20 74 68 69 73 2e 5f 63 6f eshold: this._co
0001e030: 6e 66 69 67 2e 74 68 72 65 73 68 6f 6c 64 2c 5c nfig.threshold,\
0001e040: 6e 20 20 20 20 20 20 72 6f 6f 74 4d 61 72 67 69 n rootMargi
0001e050: 6e 3a 20 74 68 69 73 2e 5f 63 6f 6e 66 69 67 2e n: this._config.
0001e060: 72 6f 6f 74 4d 61 72 67 69 6e 5c 6e 20 20 20 20 rootMargin\n
0001e070: 7d 5c 6e 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 }\n\n return
0001e080: 6e 65 77 20 49 6e 74 65 72 73 65 63 74 69 6f 6e new Intersection
0001e090: 4f 62 73 65 72 76 65 72 28 65 6e 74 72 69 65 73 Observer(entries
0001e0a0: 20 3d 3e 20 74 68 69 73 2e 5f 6f 62 73 65 72 76 => this._observ
0001e0b0: 65 72 43 61 6c 6c 62 61 63 6b 28 65 6e 74 72 69 erCallback(entri
0001e0c0: 65 73 29 2c 20 6f 70 74 69 6f 6e 73 29 5c 6e 20 es), options)\n
0001e0d0: 20 7d 5c 6e 5c 6e 20 20 2f 2f 20 54 68 65 20 6c }\n\n // The l
0001e0e0: 6f 67 69 63 20 6f 66 20 73 65 6c 65 63 74 69 6f ogic of selectio
0001e0f0: 6e 5c 6e 20 20 5f 6f 62 73 65 72 76 65 72 43 61 n\n _observerCa
0001e100: 6c 6c 62 61 63 6b 28 65 6e 74 72 69 65 73 29 20 llback(entries)
0001e110: 7b 5c 6e 20 20 20 20 63 6f 6e 73 74 20 74 61 72 {\n const tar
0001e120: 67 65 74 45 6c 65 6d 65 6e 74 20 3d 20 65 6e 74 getElement = ent
0001e130: 72 79 20 3d 3e 20 74 68 69 73 2e 5f 74 61 72 67 ry => this._targ
0001e140: 65 74 4c 69 6e 6b 73 2e 67 65 74 28 60 23 24 7b etLinks.get(`#${
0001e150: 65 6e 74 72 79 2e 74 61 72 67 65 74 2e 69 64 7d entry.target.id}
0001e160: 60 29 5c 6e 20 20 20 20 63 6f 6e 73 74 20 61 63 `)\n const ac
0001e170: 74 69 76 61 74 65 20 3d 20 65 6e 74 72 79 20 3d tivate = entry =
0001e180: 3e 20 7b 5c 6e 20 20 20 20 20 20 74 68 69 73 2e > {\n this.
0001e190: 5f 70 72 65 76 69 6f 75 73 53 63 72 6f 6c 6c 44 _previousScrollD
0001e1a0: 61 74 61 2e 76 69 73 69 62 6c 65 45 6e 74 72 79 ata.visibleEntry
0001e1b0: 54 6f 70 20 3d 20 65 6e 74 72 79 2e 74 61 72 67 Top = entry.targ
0001e1c0: 65 74 2e 6f 66 66 73 65 74 54 6f 70 5c 6e 20 20 et.offsetTop\n
0001e1d0: 20 20 20 20 74 68 69 73 2e 5f 70 72 6f 63 65 73 this._proces
0001e1e0: 73 28 74 61 72 67 65 74 45 6c 65 6d 65 6e 74 28 s(targetElement(
0001e1f0: 65 6e 74 72 79 29 29 5c 6e 20 20 20 20 7d 5c 6e entry))\n }\n
0001e200: 5c 6e 20 20 20 20 63 6f 6e 73 74 20 70 61 72 65 \n const pare
0001e210: 6e 74 53 63 72 6f 6c 6c 54 6f 70 20 3d 20 28 74 ntScrollTop = (t
0001e220: 68 69 73 2e 5f 72 6f 6f 74 45 6c 65 6d 65 6e 74 his._rootElement
0001e230: 20 7c 7c 20 64 6f 63 75 6d 65 6e 74 2e 64 6f 63 || document.doc
0001e240: 75 6d 65 6e 74 45 6c 65 6d 65 6e 74 29 2e 73 63 umentElement).sc
0001e250: 72 6f 6c 6c 54 6f 70 5c 6e 20 20 20 20 63 6f 6e rollTop\n con
0001e260: 73 74 20 75 73 65 72 53 63 72 6f 6c 6c 73 44 6f st userScrollsDo
0001e270: 77 6e 20 3d 20 70 61 72 65 6e 74 53 63 72 6f 6c wn = parentScrol
0001e280: 6c 54 6f 70 20 3e 3d 20 74 68 69 73 2e 5f 70 72 lTop >= this._pr
0001e290: 65 76 69 6f 75 73 53 63 72 6f 6c 6c 44 61 74 61 eviousScrollData
0001e2a0: 2e 70 61 72 65 6e 74 53 63 72 6f 6c 6c 54 6f 70 .parentScrollTop
0001e2b0: 5c 6e 20 20 20 20 74 68 69 73 2e 5f 70 72 65 76 \n this._prev
0001e2c0: 69 6f 75 73 53 63 72 6f 6c 6c 44 61 74 61 2e 70 iousScrollData.p
0001e2d0: 61 72 65 6e 74 53 63 72 6f 6c 6c 54 6f 70 20 3d arentScrollTop =
0001e2e0: 20 70 61 72 65 6e 74 53 63 72 6f 6c 6c 54 6f 70 parentScrollTop
0001e2f0: 5c 6e 5c 6e 20 20 20 20 66 6f 72 20 28 63 6f 6e \n\n for (con
0001e300: 73 74 20 65 6e 74 72 79 20 6f 66 20 65 6e 74 72 st entry of entr
0001e310: 69 65 73 29 20 7b 5c 6e 20 20 20 20 20 20 69 66 ies) {\n if
0001e320: 20 28 21 65 6e 74 72 79 2e 69 73 49 6e 74 65 72 (!entry.isInter
0001e330: 73 65 63 74 69 6e 67 29 20 7b 5c 6e 20 20 20 20 secting) {\n
0001e340: 20 20 20 20 74 68 69 73 2e 5f 61 63 74 69 76 65 this._active
0001e350: 54 61 72 67 65 74 20 3d 20 6e 75 6c 6c 5c 6e 20 Target = null\n
0001e360: 20 20 20 20 20 20 20 74 68 69 73 2e 5f 63 6c 65 this._cle
0001e370: 61 72 41 63 74 69 76 65 43 6c 61 73 73 28 74 61 arActiveClass(ta
0001e380: 72 67 65 74 45 6c 65 6d 65 6e 74 28 65 6e 74 72 rgetElement(entr
0001e390: 79 29 29 5c 6e 5c 6e 20 20 20 20 20 20 20 20 63 y))\n\n c
0001e3a0: 6f 6e 74 69 6e 75 65 5c 6e 20 20 20 20 20 20 7d ontinue\n }
0001e3b0: 5c 6e 5c 6e 20 20 20 20 20 20 63 6f 6e 73 74 20 \n\n const
0001e3c0: 65 6e 74 72 79 49 73 4c 6f 77 65 72 54 68 61 6e entryIsLowerThan
0001e3d0: 50 72 65 76 69 6f 75 73 20 3d 20 65 6e 74 72 79 Previous = entry
0001e3e0: 2e 74 61 72 67 65 74 2e 6f 66 66 73 65 74 54 6f .target.offsetTo
0001e3f0: 70 20 3e 3d 20 74 68 69 73 2e 5f 70 72 65 76 69 p >= this._previ
0001e400: 6f 75 73 53 63 72 6f 6c 6c 44 61 74 61 2e 76 69 ousScrollData.vi
0001e410: 73 69 62 6c 65 45 6e 74 72 79 54 6f 70 5c 6e 20 sibleEntryTop\n
0001e420: 20 20 20 20 20 2f 2f 20 69 66 20 77 65 20 61 72 // if we ar
0001e430: 65 20 73 63 72 6f 6c 6c 69 6e 67 20 64 6f 77 6e e scrolling down
0001e440: 2c 20 70 69 63 6b 20 74 68 65 20 62 69 67 67 65 , pick the bigge
0001e450: 72 20 6f 66 66 73 65 74 54 6f 70 5c 6e 20 20 20 r offsetTop\n
0001e460: 20 20 20 69 66 20 28 75 73 65 72 53 63 72 6f 6c if (userScrol
0001e470: 6c 73 44 6f 77 6e 20 26 26 20 65 6e 74 72 79 49 lsDown && entryI
0001e480: 73 4c 6f 77 65 72 54 68 61 6e 50 72 65 76 69 6f sLowerThanPrevio
0001e490: 75 73 29 20 7b 5c 6e 20 20 20 20 20 20 20 20 61 us) {\n a
0001e4a0: 63 74 69 76 61 74 65 28 65 6e 74 72 79 29 5c 6e ctivate(entry)\n
0001e4b0: 20 20 20 20 20 20 20 20 2f 2f 20 69 66 20 70 61 // if pa
0001e4c0: 72 65 6e 74 20 69 73 6e 27 74 20 73 63 72 6f 6c rent isn't scrol
0001e4d0: 6c 65 64 2c 20 6c 65 74 27 73 20 6b 65 65 70 20 led, let's keep
0001e4e0: 74 68 65 20 66 69 72 73 74 20 76 69 73 69 62 6c the first visibl
0001e4f0: 65 20 69 74 65 6d 2c 20 62 72 65 61 6b 69 6e 67 e item, breaking
0001e500: 20 74 68 65 20 69 74 65 72 61 74 69 6f 6e 5c 6e the iteration\n
0001e510: 20 20 20 20 20 20 20 20 69 66 20 28 21 70 61 72 if (!par
0001e520: 65 6e 74 53 63 72 6f 6c 6c 54 6f 70 29 20 7b 5c entScrollTop) {\
0001e530: 6e 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 n retur
0001e540: 6e 5c 6e 20 20 20 20 20 20 20 20 7d 5c 6e 5c 6e n\n }\n\n
0001e550: 20 20 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 continue
0001e560: 5c 6e 20 20 20 20 20 20 7d 5c 6e 5c 6e 20 20 20 \n }\n\n
0001e570: 20 20 20 2f 2f 20 69 66 20 77 65 20 61 72 65 20 // if we are
0001e580: 73 63 72 6f 6c 6c 69 6e 67 20 75 70 2c 20 70 69 scrolling up, pi
0001e590: 63 6b 20 74 68 65 20 73 6d 61 6c 6c 65 73 74 20 ck the smallest
0001e5a0: 6f 66 66 73 65 74 54 6f 70 5c 6e 20 20 20 20 20 offsetTop\n
0001e5b0: 20 69 66 20 28 21 75 73 65 72 53 63 72 6f 6c 6c if (!userScroll
0001e5c0: 73 44 6f 77 6e 20 26 26 20 21 65 6e 74 72 79 49 sDown && !entryI
0001e5d0: 73 4c 6f 77 65 72 54 68 61 6e 50 72 65 76 69 6f sLowerThanPrevio
0001e5e0: 75 73 29 20 7b 5c 6e 20 20 20 20 20 20 20 20 61 us) {\n a
0001e5f0: 63 74 69 76 61 74 65 28 65 6e 74 72 79 29 5c 6e ctivate(entry)\n
0001e600: 20 20 20 20 20 20 7d 5c 6e 20 20 20 20 7d 5c 6e }\n }\n
0001e610: 20 20 7d 5c 6e 5c 6e 20 20 5f 69 6e 69 74 69 61 }\n\n _initia
0001e620: 6c 69 7a 65 54 61 72 67 65 74 73 41 6e 64 4f 62 lizeTargetsAndOb
0001e630: 73 65 72 76 61 62 6c 65 73 28 29 20 7b 5c 6e 20 servables() {\n
0001e640: 20 20 20 74 68 69 73 2e 5f 74 61 72 67 65 74 4c this._targetL
0001e650: 69 6e 6b 73 20 3d 20 6e 65 77 20 4d 61 70 28 29 inks = new Map()
0001e660: 5c 6e 20 20 20 20 74 68 69 73 2e 5f 6f 62 73 65 \n this._obse
0001e670: 72 76 61 62 6c 65 53 65 63 74 69 6f 6e 73 20 3d rvableSections =
0001e680: 20 6e 65 77 20 4d 61 70 28 29 5c 6e 5c 6e 20 20 new Map()\n\n
0001e690: 20 20 63 6f 6e 73 74 20 74 61 72 67 65 74 4c 69 const targetLi
0001e6a0: 6e 6b 73 20 3d 20 53 65 6c 65 63 74 6f 72 45 6e nks = SelectorEn
0001e6b0: 67 69 6e 65 2e 66 69 6e 64 28 53 45 4c 45 43 54 gine.find(SELECT
0001e6c0: 4f 52 5f 54 41 52 47 45 54 5f 4c 49 4e 4b 53 2c OR_TARGET_LINKS,
0001e6d0: 20 74 68 69 73 2e 5f 63 6f 6e 66 69 67 2e 74 61 this._config.ta
0001e6e0: 72 67 65 74 29 5c 6e 5c 6e 20 20 20 20 66 6f 72 rget)\n\n for
0001e6f0: 20 28 63 6f 6e 73 74 20 61 6e 63 68 6f 72 20 6f (const anchor o
0001e700: 66 20 74 61 72 67 65 74 4c 69 6e 6b 73 29 20 7b f targetLinks) {
0001e710: 5c 6e 20 20 20 20 20 20 2f 2f 20 65 6e 73 75 72 \n // ensur
0001e720: 65 20 74 68 61 74 20 74 68 65 20 61 6e 63 68 6f e that the ancho
0001e730: 72 20 68 61 73 20 61 6e 20 69 64 20 61 6e 64 20 r has an id and
0001e740: 69 73 20 6e 6f 74 20 64 69 73 61 62 6c 65 64 5c is not disabled\
0001e750: 6e 20 20 20 20 20 20 69 66 20 28 21 61 6e 63 68 n if (!anch
0001e760: 6f 72 2e 68 61 73 68 20 7c 7c 20 69 73 44 69 73 or.hash || isDis
0001e770: 61 62 6c 65 64 28 61 6e 63 68 6f 72 29 29 20 7b abled(anchor)) {
0001e780: 5c 6e 20 20 20 20 20 20 20 20 63 6f 6e 74 69 6e \n contin
0001e790: 75 65 5c 6e 20 20 20 20 20 20 7d 5c 6e 5c 6e 20 ue\n }\n\n
0001e7a0: 20 20 20 20 20 63 6f 6e 73 74 20 6f 62 73 65 72 const obser
0001e7b0: 76 61 62 6c 65 53 65 63 74 69 6f 6e 20 3d 20 53 vableSection = S
0001e7c0: 65 6c 65 63 74 6f 72 45 6e 67 69 6e 65 2e 66 69 electorEngine.fi
0001e7d0: 6e 64 4f 6e 65 28 64 65 63 6f 64 65 55 52 49 28 ndOne(decodeURI(
0001e7e0: 61 6e 63 68 6f 72 2e 68 61 73 68 29 2c 20 74 68 anchor.hash), th
0001e7f0: 69 73 2e 5f 65 6c 65 6d 65 6e 74 29 5c 6e 5c 6e is._element)\n\n
0001e800: 20 20 20 20 20 20 2f 2f 20 65 6e 73 75 72 65 20 // ensure
0001e810: 74 68 61 74 20 74 68 65 20 6f 62 73 65 72 76 61 that the observa
0001e820: 62 6c 65 53 65 63 74 69 6f 6e 20 65 78 69 73 74 bleSection exist
0001e830: 73 20 26 20 69 73 20 76 69 73 69 62 6c 65 5c 6e s & is visible\n
0001e840: 20 20 20 20 20 20 69 66 20 28 69 73 56 69 73 69 if (isVisi
0001e850: 62 6c 65 28 6f 62 73 65 72 76 61 62 6c 65 53 65 ble(observableSe
0001e860: 63 74 69 6f 6e 29 29 20 7b 5c 6e 20 20 20 20 20 ction)) {\n
0001e870: 20 20 20 74 68 69 73 2e 5f 74 61 72 67 65 74 4c this._targetL
0001e880: 69 6e 6b 73 2e 73 65 74 28 64 65 63 6f 64 65 55 inks.set(decodeU
0001e890: 52 49 28 61 6e 63 68 6f 72 2e 68 61 73 68 29 2c RI(anchor.hash),
0001e8a0: 20 61 6e 63 68 6f 72 29 5c 6e 20 20 20 20 20 20 anchor)\n
0001e8b0: 20 20 74 68 69 73 2e 5f 6f 62 73 65 72 76 61 62 this._observab
0001e8c0: 6c 65 53 65 63 74 69 6f 6e 73 2e 73 65 74 28 61 leSections.set(a
0001e8d0: 6e 63 68 6f 72 2e 68 61 73 68 2c 20 6f 62 73 65 nchor.hash, obse
0001e8e0: 72 76 61 62 6c 65 53 65 63 74 69 6f 6e 29 5c 6e rvableSection)\n
0001e8f0: 20 20 20 20 20 20 7d 5c 6e 20 20 20 20 7d 5c 6e }\n }\n
0001e900: 20 20 7d 5c 6e 5c 6e 20 20 5f 70 72 6f 63 65 73 }\n\n _proces
0001e910: 73 28 74 61 72 67 65 74 29 20 7b 5c 6e 20 20 20 s(target) {\n
0001e920: 20 69 66 20 28 74 68 69 73 2e 5f 61 63 74 69 76 if (this._activ
0001e930: 65 54 61 72 67 65 74 20 3d 3d 3d 20 74 61 72 67 eTarget === targ
0001e940: 65 74 29 20 7b 5c 6e 20 20 20 20 20 20 72 65 74 et) {\n ret
0001e950: 75 72 6e 5c 6e 20 20 20 20 7d 5c 6e 5c 6e 20 20 urn\n }\n\n
0001e960: 20 20 74 68 69 73 2e 5f 63 6c 65 61 72 41 63 74 this._clearAct
0001e970: 69 76 65 43 6c 61 73 73 28 74 68 69 73 2e 5f 63 iveClass(this._c
0001e980: 6f 6e 66 69 67 2e 74 61 72 67 65 74 29 5c 6e 20 onfig.target)\n
0001e990: 20 20 20 74 68 69 73 2e 5f 61 63 74 69 76 65 54 this._activeT
0001e9a0: 61 72 67 65 74 20 3d 20 74 61 72 67 65 74 5c 6e arget = target\n
0001e9b0: 20 20 20 20 74 61 72 67 65 74 2e 63 6c 61 73 73 target.class
0001e9c0: 4c 69 73 74 2e 61 64 64 28 43 4c 41 53 53 5f 4e List.add(CLASS_N
0001e9d0: 41 4d 45 5f 41 43 54 49 56 45 29 5c 6e 20 20 20 AME_ACTIVE)\n
0001e9e0: 20 74 68 69 73 2e 5f 61 63 74 69 76 61 74 65 50 this._activateP
0001e9f0: 61 72 65 6e 74 73 28 74 61 72 67 65 74 29 5c 6e arents(target)\n
0001ea00: 5c 6e 20 20 20 20 45 76 65 6e 74 48 61 6e 64 6c \n EventHandl
0001ea10: 65 72 2e 74 72 69 67 67 65 72 28 74 68 69 73 2e er.trigger(this.
0001ea20: 5f 65 6c 65 6d 65 6e 74 2c 20 45 56 45 4e 54 5f _element, EVENT_
0001ea30: 41 43 54 49 56 41 54 45 2c 20 7b 20 72 65 6c 61 ACTIVATE, { rela
0001ea40: 74 65 64 54 61 72 67 65 74 3a 20 74 61 72 67 65 tedTarget: targe
0001ea50: 74 20 7d 29 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 5f t })\n }\n\n _
0001ea60: 61 63 74 69 76 61 74 65 50 61 72 65 6e 74 73 28 activateParents(
0001ea70: 74 61 72 67 65 74 29 20 7b 5c 6e 20 20 20 20 2f target) {\n /
0001ea80: 2f 20 41 63 74 69 76 61 74 65 20 64 72 6f 70 64 / Activate dropd
0001ea90: 6f 77 6e 20 70 61 72 65 6e 74 73 5c 6e 20 20 20 own parents\n
0001eaa0: 20 69 66 20 28 74 61 72 67 65 74 2e 63 6c 61 73 if (target.clas
0001eab0: 73 4c 69 73 74 2e 63 6f 6e 74 61 69 6e 73 28 43 sList.contains(C
0001eac0: 4c 41 53 53 5f 4e 41 4d 45 5f 44 52 4f 50 44 4f LASS_NAME_DROPDO
0001ead0: 57 4e 5f 49 54 45 4d 29 29 20 7b 5c 6e 20 20 20 WN_ITEM)) {\n
0001eae0: 20 20 20 53 65 6c 65 63 74 6f 72 45 6e 67 69 6e SelectorEngin
0001eaf0: 65 2e 66 69 6e 64 4f 6e 65 28 53 45 4c 45 43 54 e.findOne(SELECT
0001eb00: 4f 52 5f 44 52 4f 50 44 4f 57 4e 5f 54 4f 47 47 OR_DROPDOWN_TOGG
0001eb10: 4c 45 2c 20 74 61 72 67 65 74 2e 63 6c 6f 73 65 LE, target.close
0001eb20: 73 74 28 53 45 4c 45 43 54 4f 52 5f 44 52 4f 50 st(SELECTOR_DROP
0001eb30: 44 4f 57 4e 29 29 5c 6e 20 20 20 20 20 20 20 20 DOWN))\n
0001eb40: 2e 63 6c 61 73 73 4c 69 73 74 2e 61 64 64 28 43 .classList.add(C
0001eb50: 4c 41 53 53 5f 4e 41 4d 45 5f 41 43 54 49 56 45 LASS_NAME_ACTIVE
0001eb60: 29 5c 6e 20 20 20 20 20 20 72 65 74 75 72 6e 5c )\n return\
0001eb70: 6e 20 20 20 20 7d 5c 6e 5c 6e 20 20 20 20 66 6f n }\n\n fo
0001eb80: 72 20 28 63 6f 6e 73 74 20 6c 69 73 74 47 72 6f r (const listGro
0001eb90: 75 70 20 6f 66 20 53 65 6c 65 63 74 6f 72 45 6e up of SelectorEn
0001eba0: 67 69 6e 65 2e 70 61 72 65 6e 74 73 28 74 61 72 gine.parents(tar
0001ebb0: 67 65 74 2c 20 53 45 4c 45 43 54 4f 52 5f 4e 41 get, SELECTOR_NA
0001ebc0: 56 5f 4c 49 53 54 5f 47 52 4f 55 50 29 29 20 7b V_LIST_GROUP)) {
0001ebd0: 5c 6e 20 20 20 20 20 20 2f 2f 20 53 65 74 20 74 \n // Set t
0001ebe0: 72 69 67 67 65 72 65 64 20 6c 69 6e 6b 73 20 70 riggered links p
0001ebf0: 61 72 65 6e 74 73 20 61 73 20 61 63 74 69 76 65 arents as active
0001ec00: 5c 6e 20 20 20 20 20 20 2f 2f 20 57 69 74 68 20 \n // With
0001ec10: 62 6f 74 68 20 3c 75 6c 3e 20 61 6e 64 20 3c 6e both <ul> and <n
0001ec20: 61 76 3e 20 6d 61 72 6b 75 70 20 61 20 70 61 72 av> markup a par
0001ec30: 65 6e 74 20 69 73 20 74 68 65 20 70 72 65 76 69 ent is the previ
0001ec40: 6f 75 73 20 73 69 62 6c 69 6e 67 20 6f 66 20 61 ous sibling of a
0001ec50: 6e 79 20 6e 61 76 20 61 6e 63 65 73 74 6f 72 5c ny nav ancestor\
0001ec60: 6e 20 20 20 20 20 20 66 6f 72 20 28 63 6f 6e 73 n for (cons
0001ec70: 74 20 69 74 65 6d 20 6f 66 20 53 65 6c 65 63 74 t item of Select
0001ec80: 6f 72 45 6e 67 69 6e 65 2e 70 72 65 76 28 6c 69 orEngine.prev(li
0001ec90: 73 74 47 72 6f 75 70 2c 20 53 45 4c 45 43 54 4f stGroup, SELECTO
0001eca0: 52 5f 4c 49 4e 4b 5f 49 54 45 4d 53 29 29 20 7b R_LINK_ITEMS)) {
0001ecb0: 5c 6e 20 20 20 20 20 20 20 20 69 74 65 6d 2e 63 \n item.c
0001ecc0: 6c 61 73 73 4c 69 73 74 2e 61 64 64 28 43 4c 41 lassList.add(CLA
0001ecd0: 53 53 5f 4e 41 4d 45 5f 41 43 54 49 56 45 29 5c SS_NAME_ACTIVE)\
0001ece0: 6e 20 20 20 20 20 20 7d 5c 6e 20 20 20 20 7d 5c n }\n }\
0001ecf0: 6e 20 20 7d 5c 6e 5c 6e 20 20 5f 63 6c 65 61 72 n }\n\n _clear
0001ed00: 41 63 74 69 76 65 43 6c 61 73 73 28 70 61 72 65 ActiveClass(pare
0001ed10: 6e 74 29 20 7b 5c 6e 20 20 20 20 70 61 72 65 6e nt) {\n paren
0001ed20: 74 2e 63 6c 61 73 73 4c 69 73 74 2e 72 65 6d 6f t.classList.remo
0001ed30: 76 65 28 43 4c 41 53 53 5f 4e 41 4d 45 5f 41 43 ve(CLASS_NAME_AC
0001ed40: 54 49 56 45 29 5c 6e 5c 6e 20 20 20 20 63 6f 6e TIVE)\n\n con
0001ed50: 73 74 20 61 63 74 69 76 65 4e 6f 64 65 73 20 3d st activeNodes =
0001ed60: 20 53 65 6c 65 63 74 6f 72 45 6e 67 69 6e 65 2e SelectorEngine.
0001ed70: 66 69 6e 64 28 60 24 7b 53 45 4c 45 43 54 4f 52 find(`${SELECTOR
0001ed80: 5f 54 41 52 47 45 54 5f 4c 49 4e 4b 53 7d 2e 24 _TARGET_LINKS}.$
0001ed90: 7b 43 4c 41 53 53 5f 4e 41 4d 45 5f 41 43 54 49 {CLASS_NAME_ACTI
0001eda0: 56 45 7d 60 2c 20 70 61 72 65 6e 74 29 5c 6e 20 VE}`, parent)\n
0001edb0: 20 20 20 66 6f 72 20 28 63 6f 6e 73 74 20 6e 6f for (const no
0001edc0: 64 65 20 6f 66 20 61 63 74 69 76 65 4e 6f 64 65 de of activeNode
0001edd0: 73 29 20 7b 5c 6e 20 20 20 20 20 20 6e 6f 64 65 s) {\n node
0001ede0: 2e 63 6c 61 73 73 4c 69 73 74 2e 72 65 6d 6f 76 .classList.remov
0001edf0: 65 28 43 4c 41 53 53 5f 4e 41 4d 45 5f 41 43 54 e(CLASS_NAME_ACT
0001ee00: 49 56 45 29 5c 6e 20 20 20 20 7d 5c 6e 20 20 7d IVE)\n }\n }
0001ee10: 5c 6e 5c 6e 20 20 2f 2f 20 53 74 61 74 69 63 5c \n\n // Static\
0001ee20: 6e 20 20 73 74 61 74 69 63 20 6a 51 75 65 72 79 n static jQuery
0001ee30: 49 6e 74 65 72 66 61 63 65 28 63 6f 6e 66 69 67 Interface(config
0001ee40: 29 20 7b 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 ) {\n return
0001ee50: 74 68 69 73 2e 65 61 63 68 28 66 75 6e 63 74 69 this.each(functi
0001ee60: 6f 6e 20 28 29 20 7b 5c 6e 20 20 20 20 20 20 63 on () {\n c
0001ee70: 6f 6e 73 74 20 64 61 74 61 20 3d 20 53 63 72 6f onst data = Scro
0001ee80: 6c 6c 53 70 79 2e 67 65 74 4f 72 43 72 65 61 74 llSpy.getOrCreat
0001ee90: 65 49 6e 73 74 61 6e 63 65 28 74 68 69 73 2c 20 eInstance(this,
0001eea0: 63 6f 6e 66 69 67 29 5c 6e 5c 6e 20 20 20 20 20 config)\n\n
0001eeb0: 20 69 66 20 28 74 79 70 65 6f 66 20 63 6f 6e 66 if (typeof conf
0001eec0: 69 67 20 21 3d 3d 20 27 73 74 72 69 6e 67 27 29 ig !== 'string')
0001eed0: 20 7b 5c 6e 20 20 20 20 20 20 20 20 72 65 74 75 {\n retu
0001eee0: 72 6e 5c 6e 20 20 20 20 20 20 7d 5c 6e 5c 6e 20 rn\n }\n\n
0001eef0: 20 20 20 20 20 69 66 20 28 64 61 74 61 5b 63 6f if (data[co
0001ef00: 6e 66 69 67 5d 20 3d 3d 3d 20 75 6e 64 65 66 69 nfig] === undefi
0001ef10: 6e 65 64 20 7c 7c 20 63 6f 6e 66 69 67 2e 73 74 ned || config.st
0001ef20: 61 72 74 73 57 69 74 68 28 27 5f 27 29 20 7c 7c artsWith('_') ||
0001ef30: 20 63 6f 6e 66 69 67 20 3d 3d 3d 20 27 63 6f 6e config === 'con
0001ef40: 73 74 72 75 63 74 6f 72 27 29 20 7b 5c 6e 20 20 structor') {\n
0001ef50: 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 throw new
0001ef60: 54 79 70 65 45 72 72 6f 72 28 60 4e 6f 20 6d 65 TypeError(`No me
0001ef70: 74 68 6f 64 20 6e 61 6d 65 64 20 5c 22 24 7b 63 thod named \"${c
0001ef80: 6f 6e 66 69 67 7d 5c 22 60 29 5c 6e 20 20 20 20 onfig}\"`)\n
0001ef90: 20 20 7d 5c 6e 5c 6e 20 20 20 20 20 20 64 61 74 }\n\n dat
0001efa0: 61 5b 63 6f 6e 66 69 67 5d 28 29 5c 6e 20 20 20 a[config]()\n
0001efb0: 20 7d 29 5c 6e 20 20 7d 5c 6e 7d 5c 6e 5c 6e 2f })\n }\n}\n\n/
0001efc0: 2a 2a 5c 6e 20 2a 20 44 61 74 61 20 41 50 49 20 **\n * Data API
0001efd0: 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 5c 6e implementation\n
0001efe0: 20 2a 2f 5c 6e 5c 6e 45 76 65 6e 74 48 61 6e 64 */\n\nEventHand
0001eff0: 6c 65 72 2e 6f 6e 28 77 69 6e 64 6f 77 2c 20 45 ler.on(window, E
0001f000: 56 45 4e 54 5f 4c 4f 41 44 5f 44 41 54 41 5f 41 VENT_LOAD_DATA_A
0001f010: 50 49 2c 20 28 29 20 3d 3e 20 7b 5c 6e 20 20 66 PI, () => {\n f
0001f020: 6f 72 20 28 63 6f 6e 73 74 20 73 70 79 20 6f 66 or (const spy of
0001f030: 20 53 65 6c 65 63 74 6f 72 45 6e 67 69 6e 65 2e SelectorEngine.
0001f040: 66 69 6e 64 28 53 45 4c 45 43 54 4f 52 5f 44 41 find(SELECTOR_DA
0001f050: 54 41 5f 53 50 59 29 29 20 7b 5c 6e 20 20 20 20 TA_SPY)) {\n
0001f060: 53 63 72 6f 6c 6c 53 70 79 2e 67 65 74 4f 72 43 ScrollSpy.getOrC
0001f070: 72 65 61 74 65 49 6e 73 74 61 6e 63 65 28 73 70 reateInstance(sp
0001f080: 79 29 5c 6e 20 20 7d 5c 6e 7d 29 5c 6e 5c 6e 2f y)\n }\n})\n\n/
0001f090: 2a 2a 5c 6e 20 2a 20 6a 51 75 65 72 79 5c 6e 20 **\n * jQuery\n
0001f0a0: 2a 2f 5c 6e 5c 6e 64 65 66 69 6e 65 4a 51 75 65 */\n\ndefineJQue
0001f0b0: 72 79 50 6c 75 67 69 6e 28 53 63 72 6f 6c 6c 53 ryPlugin(ScrollS
0001f0c0: 70 79 29 5c 6e 5c 6e 65 78 70 6f 72 74 20 64 65 py)\n\nexport de
0001f0d0: 66 61 75 6c 74 20 53 63 72 6f 6c 6c 53 70 79 5c fault ScrollSpy\
0001f0e0: 6e 22 2c 22 2f 2a 2a 5c 6e 20 2a 20 2d 2d 2d 2d n","/**\n * ----
0001f0f0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0001f100: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0001f110: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0001f120: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0001f130: 2d 2d 2d 2d 2d 2d 5c 6e 20 2a 20 42 6f 6f 74 73 ------\n * Boots
0001f140: 74 72 61 70 20 74 61 62 2e 6a 73 5c 6e 20 2a 20 trap tab.js\n *
0001f150: 4c 69 63 65 6e 73 65 64 20 75 6e 64 65 72 20 4d Licensed under M
0001f160: 49 54 20 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 IT (https://gith
0001f170: 75 62 2e 63 6f 6d 2f 74 77 62 73 2f 62 6f 6f 74 ub.com/twbs/boot
0001f180: 73 74 72 61 70 2f 62 6c 6f 62 2f 6d 61 69 6e 2f strap/blob/main/
0001f190: 4c 49 43 45 4e 53 45 29 5c 6e 20 2a 20 2d 2d 2d LICENSE)\n * ---
0001f1a0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0001f1b0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0001f1c0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0001f1d0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0001f1e0: 2d 2d 2d 2d 2d 2d 2d 5c 6e 20 2a 2f 5c 6e 5c 6e -------\n */\n\n
0001f1f0: 69 6d 70 6f 72 74 20 42 61 73 65 43 6f 6d 70 6f import BaseCompo
0001f200: 6e 65 6e 74 20 66 72 6f 6d 20 27 2e 2f 62 61 73 nent from './bas
0001f210: 65 2d 63 6f 6d 70 6f 6e 65 6e 74 2e 6a 73 27 5c e-component.js'\
0001f220: 6e 69 6d 70 6f 72 74 20 45 76 65 6e 74 48 61 6e nimport EventHan
0001f230: 64 6c 65 72 20 66 72 6f 6d 20 27 2e 2f 64 6f 6d dler from './dom
0001f240: 2f 65 76 65 6e 74 2d 68 61 6e 64 6c 65 72 2e 6a /event-handler.j
0001f250: 73 27 5c 6e 69 6d 70 6f 72 74 20 53 65 6c 65 63 s'\nimport Selec
0001f260: 74 6f 72 45 6e 67 69 6e 65 20 66 72 6f 6d 20 27 torEngine from '
0001f270: 2e 2f 64 6f 6d 2f 73 65 6c 65 63 74 6f 72 2d 65 ./dom/selector-e
0001f280: 6e 67 69 6e 65 2e 6a 73 27 5c 6e 69 6d 70 6f 72 ngine.js'\nimpor
0001f290: 74 20 7b 20 64 65 66 69 6e 65 4a 51 75 65 72 79 t { defineJQuery
0001f2a0: 50 6c 75 67 69 6e 2c 20 67 65 74 4e 65 78 74 41 Plugin, getNextA
0001f2b0: 63 74 69 76 65 45 6c 65 6d 65 6e 74 2c 20 69 73 ctiveElement, is
0001f2c0: 44 69 73 61 62 6c 65 64 20 7d 20 66 72 6f 6d 20 Disabled } from
0001f2d0: 27 2e 2f 75 74 69 6c 2f 69 6e 64 65 78 2e 6a 73 './util/index.js
0001f2e0: 27 5c 6e 5c 6e 2f 2a 2a 5c 6e 20 2a 20 43 6f 6e '\n\n/**\n * Con
0001f2f0: 73 74 61 6e 74 73 5c 6e 20 2a 2f 5c 6e 5c 6e 63 stants\n */\n\nc
0001f300: 6f 6e 73 74 20 4e 41 4d 45 20 3d 20 27 74 61 62 onst NAME = 'tab
0001f310: 27 5c 6e 63 6f 6e 73 74 20 44 41 54 41 5f 4b 45 '\nconst DATA_KE
0001f320: 59 20 3d 20 27 62 73 2e 74 61 62 27 5c 6e 63 6f Y = 'bs.tab'\nco
0001f330: 6e 73 74 20 45 56 45 4e 54 5f 4b 45 59 20 3d 20 nst EVENT_KEY =
0001f340: 60 2e 24 7b 44 41 54 41 5f 4b 45 59 7d 60 5c 6e `.${DATA_KEY}`\n
0001f350: 5c 6e 63 6f 6e 73 74 20 45 56 45 4e 54 5f 48 49 \nconst EVENT_HI
0001f360: 44 45 20 3d 20 60 68 69 64 65 24 7b 45 56 45 4e DE = `hide${EVEN
0001f370: 54 5f 4b 45 59 7d 60 5c 6e 63 6f 6e 73 74 20 45 T_KEY}`\nconst E
0001f380: 56 45 4e 54 5f 48 49 44 44 45 4e 20 3d 20 60 68 VENT_HIDDEN = `h
0001f390: 69 64 64 65 6e 24 7b 45 56 45 4e 54 5f 4b 45 59 idden${EVENT_KEY
0001f3a0: 7d 60 5c 6e 63 6f 6e 73 74 20 45 56 45 4e 54 5f }`\nconst EVENT_
0001f3b0: 53 48 4f 57 20 3d 20 60 73 68 6f 77 24 7b 45 56 SHOW = `show${EV
0001f3c0: 45 4e 54 5f 4b 45 59 7d 60 5c 6e 63 6f 6e 73 74 ENT_KEY}`\nconst
0001f3d0: 20 45 56 45 4e 54 5f 53 48 4f 57 4e 20 3d 20 60 EVENT_SHOWN = `
0001f3e0: 73 68 6f 77 6e 24 7b 45 56 45 4e 54 5f 4b 45 59 shown${EVENT_KEY
0001f3f0: 7d 60 5c 6e 63 6f 6e 73 74 20 45 56 45 4e 54 5f }`\nconst EVENT_
0001f400: 43 4c 49 43 4b 5f 44 41 54 41 5f 41 50 49 20 3d CLICK_DATA_API =
0001f410: 20 60 63 6c 69 63 6b 24 7b 45 56 45 4e 54 5f 4b `click${EVENT_K
0001f420: 45 59 7d 60 5c 6e 63 6f 6e 73 74 20 45 56 45 4e EY}`\nconst EVEN
0001f430: 54 5f 4b 45 59 44 4f 57 4e 20 3d 20 60 6b 65 79 T_KEYDOWN = `key
0001f440: 64 6f 77 6e 24 7b 45 56 45 4e 54 5f 4b 45 59 7d down${EVENT_KEY}
0001f450: 60 5c 6e 63 6f 6e 73 74 20 45 56 45 4e 54 5f 4c `\nconst EVENT_L
0001f460: 4f 41 44 5f 44 41 54 41 5f 41 50 49 20 3d 20 60 OAD_DATA_API = `
0001f470: 6c 6f 61 64 24 7b 45 56 45 4e 54 5f 4b 45 59 7d load${EVENT_KEY}
0001f480: 60 5c 6e 5c 6e 63 6f 6e 73 74 20 41 52 52 4f 57 `\n\nconst ARROW
0001f490: 5f 4c 45 46 54 5f 4b 45 59 20 3d 20 27 41 72 72 _LEFT_KEY = 'Arr
0001f4a0: 6f 77 4c 65 66 74 27 5c 6e 63 6f 6e 73 74 20 41 owLeft'\nconst A
0001f4b0: 52 52 4f 57 5f 52 49 47 48 54 5f 4b 45 59 20 3d RROW_RIGHT_KEY =
0001f4c0: 20 27 41 72 72 6f 77 52 69 67 68 74 27 5c 6e 63 'ArrowRight'\nc
0001f4d0: 6f 6e 73 74 20 41 52 52 4f 57 5f 55 50 5f 4b 45 onst ARROW_UP_KE
0001f4e0: 59 20 3d 20 27 41 72 72 6f 77 55 70 27 5c 6e 63 Y = 'ArrowUp'\nc
0001f4f0: 6f 6e 73 74 20 41 52 52 4f 57 5f 44 4f 57 4e 5f onst ARROW_DOWN_
0001f500: 4b 45 59 20 3d 20 27 41 72 72 6f 77 44 6f 77 6e KEY = 'ArrowDown
0001f510: 27 5c 6e 63 6f 6e 73 74 20 48 4f 4d 45 5f 4b 45 '\nconst HOME_KE
0001f520: 59 20 3d 20 27 48 6f 6d 65 27 5c 6e 63 6f 6e 73 Y = 'Home'\ncons
0001f530: 74 20 45 4e 44 5f 4b 45 59 20 3d 20 27 45 6e 64 t END_KEY = 'End
0001f540: 27 5c 6e 5c 6e 63 6f 6e 73 74 20 43 4c 41 53 53 '\n\nconst CLASS
0001f550: 5f 4e 41 4d 45 5f 41 43 54 49 56 45 20 3d 20 27 _NAME_ACTIVE = '
0001f560: 61 63 74 69 76 65 27 5c 6e 63 6f 6e 73 74 20 43 active'\nconst C
0001f570: 4c 41 53 53 5f 4e 41 4d 45 5f 46 41 44 45 20 3d LASS_NAME_FADE =
0001f580: 20 27 66 61 64 65 27 5c 6e 63 6f 6e 73 74 20 43 'fade'\nconst C
0001f590: 4c 41 53 53 5f 4e 41 4d 45 5f 53 48 4f 57 20 3d LASS_NAME_SHOW =
0001f5a0: 20 27 73 68 6f 77 27 5c 6e 63 6f 6e 73 74 20 43 'show'\nconst C
0001f5b0: 4c 41 53 53 5f 44 52 4f 50 44 4f 57 4e 20 3d 20 LASS_DROPDOWN =
0001f5c0: 27 64 72 6f 70 64 6f 77 6e 27 5c 6e 5c 6e 63 6f 'dropdown'\n\nco
0001f5d0: 6e 73 74 20 53 45 4c 45 43 54 4f 52 5f 44 52 4f nst SELECTOR_DRO
0001f5e0: 50 44 4f 57 4e 5f 54 4f 47 47 4c 45 20 3d 20 27 PDOWN_TOGGLE = '
0001f5f0: 2e 64 72 6f 70 64 6f 77 6e 2d 74 6f 67 67 6c 65 .dropdown-toggle
0001f600: 27 5c 6e 63 6f 6e 73 74 20 53 45 4c 45 43 54 4f '\nconst SELECTO
0001f610: 52 5f 44 52 4f 50 44 4f 57 4e 5f 4d 45 4e 55 20 R_DROPDOWN_MENU
0001f620: 3d 20 27 2e 64 72 6f 70 64 6f 77 6e 2d 6d 65 6e = '.dropdown-men
0001f630: 75 27 5c 6e 63 6f 6e 73 74 20 4e 4f 54 5f 53 45 u'\nconst NOT_SE
0001f640: 4c 45 43 54 4f 52 5f 44 52 4f 50 44 4f 57 4e 5f LECTOR_DROPDOWN_
0001f650: 54 4f 47 47 4c 45 20 3d 20 60 3a 6e 6f 74 28 24 TOGGLE = `:not($
0001f660: 7b 53 45 4c 45 43 54 4f 52 5f 44 52 4f 50 44 4f {SELECTOR_DROPDO
0001f670: 57 4e 5f 54 4f 47 47 4c 45 7d 29 60 5c 6e 5c 6e WN_TOGGLE})`\n\n
0001f680: 63 6f 6e 73 74 20 53 45 4c 45 43 54 4f 52 5f 54 const SELECTOR_T
0001f690: 41 42 5f 50 41 4e 45 4c 20 3d 20 27 2e 6c 69 73 AB_PANEL = '.lis
0001f6a0: 74 2d 67 72 6f 75 70 2c 20 2e 6e 61 76 2c 20 5b t-group, .nav, [
0001f6b0: 72 6f 6c 65 3d 5c 22 74 61 62 6c 69 73 74 5c 22 role=\"tablist\"
0001f6c0: 5d 27 5c 6e 63 6f 6e 73 74 20 53 45 4c 45 43 54 ]'\nconst SELECT
0001f6d0: 4f 52 5f 4f 55 54 45 52 20 3d 20 27 2e 6e 61 76 OR_OUTER = '.nav
0001f6e0: 2d 69 74 65 6d 2c 20 2e 6c 69 73 74 2d 67 72 6f -item, .list-gro
0001f6f0: 75 70 2d 69 74 65 6d 27 5c 6e 63 6f 6e 73 74 20 up-item'\nconst
0001f700: 53 45 4c 45 43 54 4f 52 5f 49 4e 4e 45 52 20 3d SELECTOR_INNER =
0001f710: 20 60 2e 6e 61 76 2d 6c 69 6e 6b 24 7b 4e 4f 54 `.nav-link${NOT
0001f720: 5f 53 45 4c 45 43 54 4f 52 5f 44 52 4f 50 44 4f _SELECTOR_DROPDO
0001f730: 57 4e 5f 54 4f 47 47 4c 45 7d 2c 20 2e 6c 69 73 WN_TOGGLE}, .lis
0001f740: 74 2d 67 72 6f 75 70 2d 69 74 65 6d 24 7b 4e 4f t-group-item${NO
0001f750: 54 5f 53 45 4c 45 43 54 4f 52 5f 44 52 4f 50 44 T_SELECTOR_DROPD
0001f760: 4f 57 4e 5f 54 4f 47 47 4c 45 7d 2c 20 5b 72 6f OWN_TOGGLE}, [ro
0001f770: 6c 65 3d 5c 22 74 61 62 5c 22 5d 24 7b 4e 4f 54 le=\"tab\"]${NOT
0001f780: 5f 53 45 4c 45 43 54 4f 52 5f 44 52 4f 50 44 4f _SELECTOR_DROPDO
0001f790: 57 4e 5f 54 4f 47 47 4c 45 7d 60 5c 6e 63 6f 6e WN_TOGGLE}`\ncon
0001f7a0: 73 74 20 53 45 4c 45 43 54 4f 52 5f 44 41 54 41 st SELECTOR_DATA
0001f7b0: 5f 54 4f 47 47 4c 45 20 3d 20 27 5b 64 61 74 61 _TOGGLE = '[data
0001f7c0: 2d 62 73 2d 74 6f 67 67 6c 65 3d 5c 22 74 61 62 -bs-toggle=\"tab
0001f7d0: 5c 22 5d 2c 20 5b 64 61 74 61 2d 62 73 2d 74 6f \"], [data-bs-to
0001f7e0: 67 67 6c 65 3d 5c 22 70 69 6c 6c 5c 22 5d 2c 20 ggle=\"pill\"],
0001f7f0: 5b 64 61 74 61 2d 62 73 2d 74 6f 67 67 6c 65 3d [data-bs-toggle=
0001f800: 5c 22 6c 69 73 74 5c 22 5d 27 20 2f 2f 20 54 4f \"list\"]' // TO
0001f810: 44 4f 3a 20 63 6f 75 6c 64 20 6f 6e 6c 79 20 62 DO: could only b
0001f820: 65 20 60 74 61 62 60 20 69 6e 20 76 36 5c 6e 63 e `tab` in v6\nc
0001f830: 6f 6e 73 74 20 53 45 4c 45 43 54 4f 52 5f 49 4e onst SELECTOR_IN
0001f840: 4e 45 52 5f 45 4c 45 4d 20 3d 20 60 24 7b 53 45 NER_ELEM = `${SE
0001f850: 4c 45 43 54 4f 52 5f 49 4e 4e 45 52 7d 2c 20 24 LECTOR_INNER}, $
0001f860: 7b 53 45 4c 45 43 54 4f 52 5f 44 41 54 41 5f 54 {SELECTOR_DATA_T
0001f870: 4f 47 47 4c 45 7d 60 5c 6e 5c 6e 63 6f 6e 73 74 OGGLE}`\n\nconst
0001f880: 20 53 45 4c 45 43 54 4f 52 5f 44 41 54 41 5f 54 SELECTOR_DATA_T
0001f890: 4f 47 47 4c 45 5f 41 43 54 49 56 45 20 3d 20 60 OGGLE_ACTIVE = `
0001f8a0: 2e 24 7b 43 4c 41 53 53 5f 4e 41 4d 45 5f 41 43 .${CLASS_NAME_AC
0001f8b0: 54 49 56 45 7d 5b 64 61 74 61 2d 62 73 2d 74 6f TIVE}[data-bs-to
0001f8c0: 67 67 6c 65 3d 5c 22 74 61 62 5c 22 5d 2c 20 2e ggle=\"tab\"], .
0001f8d0: 24 7b 43 4c 41 53 53 5f 4e 41 4d 45 5f 41 43 54 ${CLASS_NAME_ACT
0001f8e0: 49 56 45 7d 5b 64 61 74 61 2d 62 73 2d 74 6f 67 IVE}[data-bs-tog
0001f8f0: 67 6c 65 3d 5c 22 70 69 6c 6c 5c 22 5d 2c 20 2e gle=\"pill\"], .
0001f900: 24 7b 43 4c 41 53 53 5f 4e 41 4d 45 5f 41 43 54 ${CLASS_NAME_ACT
0001f910: 49 56 45 7d 5b 64 61 74 61 2d 62 73 2d 74 6f 67 IVE}[data-bs-tog
0001f920: 67 6c 65 3d 5c 22 6c 69 73 74 5c 22 5d 60 5c 6e gle=\"list\"]`\n
0001f930: 5c 6e 2f 2a 2a 5c 6e 20 2a 20 43 6c 61 73 73 20 \n/**\n * Class
0001f940: 64 65 66 69 6e 69 74 69 6f 6e 5c 6e 20 2a 2f 5c definition\n */\
0001f950: 6e 5c 6e 63 6c 61 73 73 20 54 61 62 20 65 78 74 n\nclass Tab ext
0001f960: 65 6e 64 73 20 42 61 73 65 43 6f 6d 70 6f 6e 65 ends BaseCompone
0001f970: 6e 74 20 7b 5c 6e 20 20 63 6f 6e 73 74 72 75 63 nt {\n construc
0001f980: 74 6f 72 28 65 6c 65 6d 65 6e 74 29 20 7b 5c 6e tor(element) {\n
0001f990: 20 20 20 20 73 75 70 65 72 28 65 6c 65 6d 65 6e super(elemen
0001f9a0: 74 29 5c 6e 20 20 20 20 74 68 69 73 2e 5f 70 61 t)\n this._pa
0001f9b0: 72 65 6e 74 20 3d 20 74 68 69 73 2e 5f 65 6c 65 rent = this._ele
0001f9c0: 6d 65 6e 74 2e 63 6c 6f 73 65 73 74 28 53 45 4c ment.closest(SEL
0001f9d0: 45 43 54 4f 52 5f 54 41 42 5f 50 41 4e 45 4c 29 ECTOR_TAB_PANEL)
0001f9e0: 5c 6e 5c 6e 20 20 20 20 69 66 20 28 21 74 68 69 \n\n if (!thi
0001f9f0: 73 2e 5f 70 61 72 65 6e 74 29 20 7b 5c 6e 20 20 s._parent) {\n
0001fa00: 20 20 20 20 72 65 74 75 72 6e 5c 6e 20 20 20 20 return\n
0001fa10: 20 20 2f 2f 20 54 4f 44 4f 3a 20 73 68 6f 75 6c // TODO: shoul
0001fa20: 64 20 74 68 72 6f 77 20 65 78 63 65 70 74 69 6f d throw exceptio
0001fa30: 6e 20 69 6e 20 76 36 5c 6e 20 20 20 20 20 20 2f n in v6\n /
0001fa40: 2f 20 74 68 72 6f 77 20 6e 65 77 20 54 79 70 65 / throw new Type
0001fa50: 45 72 72 6f 72 28 60 24 7b 65 6c 65 6d 65 6e 74 Error(`${element
0001fa60: 2e 6f 75 74 65 72 48 54 4d 4c 7d 20 68 61 73 20 .outerHTML} has
0001fa70: 6e 6f 74 20 61 20 76 61 6c 69 64 20 70 61 72 65 not a valid pare
0001fa80: 6e 74 20 24 7b 53 45 4c 45 43 54 4f 52 5f 49 4e nt ${SELECTOR_IN
0001fa90: 4e 45 52 5f 45 4c 45 4d 7d 60 29 5c 6e 20 20 20 NER_ELEM}`)\n
0001faa0: 20 7d 5c 6e 5c 6e 20 20 20 20 2f 2f 20 53 65 74 }\n\n // Set
0001fab0: 20 75 70 20 69 6e 69 74 69 61 6c 20 61 72 69 61 up initial aria
0001fac0: 20 61 74 74 72 69 62 75 74 65 73 5c 6e 20 20 20 attributes\n
0001fad0: 20 74 68 69 73 2e 5f 73 65 74 49 6e 69 74 69 61 this._setInitia
0001fae0: 6c 41 74 74 72 69 62 75 74 65 73 28 74 68 69 73 lAttributes(this
0001faf0: 2e 5f 70 61 72 65 6e 74 2c 20 74 68 69 73 2e 5f ._parent, this._
0001fb00: 67 65 74 43 68 69 6c 64 72 65 6e 28 29 29 5c 6e getChildren())\n
0001fb10: 5c 6e 20 20 20 20 45 76 65 6e 74 48 61 6e 64 6c \n EventHandl
0001fb20: 65 72 2e 6f 6e 28 74 68 69 73 2e 5f 65 6c 65 6d er.on(this._elem
0001fb30: 65 6e 74 2c 20 45 56 45 4e 54 5f 4b 45 59 44 4f ent, EVENT_KEYDO
0001fb40: 57 4e 2c 20 65 76 65 6e 74 20 3d 3e 20 74 68 69 WN, event => thi
0001fb50: 73 2e 5f 6b 65 79 64 6f 77 6e 28 65 76 65 6e 74 s._keydown(event
0001fb60: 29 29 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 2f 2f 20 ))\n }\n\n //
0001fb70: 47 65 74 74 65 72 73 5c 6e 20 20 73 74 61 74 69 Getters\n stati
0001fb80: 63 20 67 65 74 20 4e 41 4d 45 28 29 20 7b 5c 6e c get NAME() {\n
0001fb90: 20 20 20 20 72 65 74 75 72 6e 20 4e 41 4d 45 5c return NAME\
0001fba0: 6e 20 20 7d 5c 6e 5c 6e 20 20 2f 2f 20 50 75 62 n }\n\n // Pub
0001fbb0: 6c 69 63 5c 6e 20 20 73 68 6f 77 28 29 20 7b 20 lic\n show() {
0001fbc0: 2f 2f 20 53 68 6f 77 73 20 74 68 69 73 20 65 6c // Shows this el
0001fbd0: 65 6d 20 61 6e 64 20 64 65 61 63 74 69 76 61 74 em and deactivat
0001fbe0: 65 20 74 68 65 20 61 63 74 69 76 65 20 73 69 62 e the active sib
0001fbf0: 6c 69 6e 67 20 69 66 20 65 78 69 73 74 73 5c 6e ling if exists\n
0001fc00: 20 20 20 20 63 6f 6e 73 74 20 69 6e 6e 65 72 45 const innerE
0001fc10: 6c 65 6d 20 3d 20 74 68 69 73 2e 5f 65 6c 65 6d lem = this._elem
0001fc20: 65 6e 74 5c 6e 20 20 20 20 69 66 20 28 74 68 69 ent\n if (thi
0001fc30: 73 2e 5f 65 6c 65 6d 49 73 41 63 74 69 76 65 28 s._elemIsActive(
0001fc40: 69 6e 6e 65 72 45 6c 65 6d 29 29 20 7b 5c 6e 20 innerElem)) {\n
0001fc50: 20 20 20 20 20 72 65 74 75 72 6e 5c 6e 20 20 20 return\n
0001fc60: 20 7d 5c 6e 5c 6e 20 20 20 20 2f 2f 20 53 65 61 }\n\n // Sea
0001fc70: 72 63 68 20 66 6f 72 20 61 63 74 69 76 65 20 74 rch for active t
0001fc80: 61 62 20 6f 6e 20 73 61 6d 65 20 70 61 72 65 6e ab on same paren
0001fc90: 74 20 74 6f 20 64 65 61 63 74 69 76 61 74 65 20 t to deactivate
0001fca0: 69 74 5c 6e 20 20 20 20 63 6f 6e 73 74 20 61 63 it\n const ac
0001fcb0: 74 69 76 65 20 3d 20 74 68 69 73 2e 5f 67 65 74 tive = this._get
0001fcc0: 41 63 74 69 76 65 45 6c 65 6d 28 29 5c 6e 5c 6e ActiveElem()\n\n
0001fcd0: 20 20 20 20 63 6f 6e 73 74 20 68 69 64 65 45 76 const hideEv
0001fce0: 65 6e 74 20 3d 20 61 63 74 69 76 65 20 3f 5c 6e ent = active ?\n
0001fcf0: 20 20 20 20 20 20 45 76 65 6e 74 48 61 6e 64 6c EventHandl
0001fd00: 65 72 2e 74 72 69 67 67 65 72 28 61 63 74 69 76 er.trigger(activ
0001fd10: 65 2c 20 45 56 45 4e 54 5f 48 49 44 45 2c 20 7b e, EVENT_HIDE, {
0001fd20: 20 72 65 6c 61 74 65 64 54 61 72 67 65 74 3a 20 relatedTarget:
0001fd30: 69 6e 6e 65 72 45 6c 65 6d 20 7d 29 20 3a 5c 6e innerElem }) :\n
0001fd40: 20 20 20 20 20 20 6e 75 6c 6c 5c 6e 5c 6e 20 20 null\n\n
0001fd50: 20 20 63 6f 6e 73 74 20 73 68 6f 77 45 76 65 6e const showEven
0001fd60: 74 20 3d 20 45 76 65 6e 74 48 61 6e 64 6c 65 72 t = EventHandler
0001fd70: 2e 74 72 69 67 67 65 72 28 69 6e 6e 65 72 45 6c .trigger(innerEl
0001fd80: 65 6d 2c 20 45 56 45 4e 54 5f 53 48 4f 57 2c 20 em, EVENT_SHOW,
0001fd90: 7b 20 72 65 6c 61 74 65 64 54 61 72 67 65 74 3a { relatedTarget:
0001fda0: 20 61 63 74 69 76 65 20 7d 29 5c 6e 5c 6e 20 20 active })\n\n
0001fdb0: 20 20 69 66 20 28 73 68 6f 77 45 76 65 6e 74 2e if (showEvent.
0001fdc0: 64 65 66 61 75 6c 74 50 72 65 76 65 6e 74 65 64 defaultPrevented
0001fdd0: 20 7c 7c 20 28 68 69 64 65 45 76 65 6e 74 20 26 || (hideEvent &
0001fde0: 26 20 68 69 64 65 45 76 65 6e 74 2e 64 65 66 61 & hideEvent.defa
0001fdf0: 75 6c 74 50 72 65 76 65 6e 74 65 64 29 29 20 7b ultPrevented)) {
0001fe00: 5c 6e 20 20 20 20 20 20 72 65 74 75 72 6e 5c 6e \n return\n
0001fe10: 20 20 20 20 7d 5c 6e 5c 6e 20 20 20 20 74 68 69 }\n\n thi
0001fe20: 73 2e 5f 64 65 61 63 74 69 76 61 74 65 28 61 63 s._deactivate(ac
0001fe30: 74 69 76 65 2c 20 69 6e 6e 65 72 45 6c 65 6d 29 tive, innerElem)
0001fe40: 5c 6e 20 20 20 20 74 68 69 73 2e 5f 61 63 74 69 \n this._acti
0001fe50: 76 61 74 65 28 69 6e 6e 65 72 45 6c 65 6d 2c 20 vate(innerElem,
0001fe60: 61 63 74 69 76 65 29 5c 6e 20 20 7d 5c 6e 5c 6e active)\n }\n\n
0001fe70: 20 20 2f 2f 20 50 72 69 76 61 74 65 5c 6e 20 20 // Private\n
0001fe80: 5f 61 63 74 69 76 61 74 65 28 65 6c 65 6d 65 6e _activate(elemen
0001fe90: 74 2c 20 72 65 6c 61 74 65 64 45 6c 65 6d 29 20 t, relatedElem)
0001fea0: 7b 5c 6e 20 20 20 20 69 66 20 28 21 65 6c 65 6d {\n if (!elem
0001feb0: 65 6e 74 29 20 7b 5c 6e 20 20 20 20 20 20 72 65 ent) {\n re
0001fec0: 74 75 72 6e 5c 6e 20 20 20 20 7d 5c 6e 5c 6e 20 turn\n }\n\n
0001fed0: 20 20 20 65 6c 65 6d 65 6e 74 2e 63 6c 61 73 73 element.class
0001fee0: 4c 69 73 74 2e 61 64 64 28 43 4c 41 53 53 5f 4e List.add(CLASS_N
0001fef0: 41 4d 45 5f 41 43 54 49 56 45 29 5c 6e 5c 6e 20 AME_ACTIVE)\n\n
0001ff00: 20 20 20 74 68 69 73 2e 5f 61 63 74 69 76 61 74 this._activat
0001ff10: 65 28 53 65 6c 65 63 74 6f 72 45 6e 67 69 6e 65 e(SelectorEngine
0001ff20: 2e 67 65 74 45 6c 65 6d 65 6e 74 46 72 6f 6d 53 .getElementFromS
0001ff30: 65 6c 65 63 74 6f 72 28 65 6c 65 6d 65 6e 74 29 elector(element)
0001ff40: 29 20 2f 2f 20 53 65 61 72 63 68 20 61 6e 64 20 ) // Search and
0001ff50: 61 63 74 69 76 61 74 65 2f 73 68 6f 77 20 74 68 activate/show th
0001ff60: 65 20 70 72 6f 70 65 72 20 73 65 63 74 69 6f 6e e proper section
0001ff70: 5c 6e 5c 6e 20 20 20 20 63 6f 6e 73 74 20 63 6f \n\n const co
0001ff80: 6d 70 6c 65 74 65 20 3d 20 28 29 20 3d 3e 20 7b mplete = () => {
0001ff90: 5c 6e 20 20 20 20 20 20 69 66 20 28 65 6c 65 6d \n if (elem
0001ffa0: 65 6e 74 2e 67 65 74 41 74 74 72 69 62 75 74 65 ent.getAttribute
0001ffb0: 28 27 72 6f 6c 65 27 29 20 21 3d 3d 20 27 74 61 ('role') !== 'ta
0001ffc0: 62 27 29 20 7b 5c 6e 20 20 20 20 20 20 20 20 65 b') {\n e
0001ffd0: 6c 65 6d 65 6e 74 2e 63 6c 61 73 73 4c 69 73 74 lement.classList
0001ffe0: 2e 61 64 64 28 43 4c 41 53 53 5f 4e 41 4d 45 5f .add(CLASS_NAME_
0001fff0: 53 48 4f 57 29 5c 6e 20 20 20 20 20 20 20 20 72 SHOW)\n r
00020000: 65 74 75 72 6e 5c 6e 20 20 20 20 20 20 7d 5c 6e eturn\n }\n
00020010: 5c 6e 20 20 20 20 20 20 65 6c 65 6d 65 6e 74 2e \n element.
00020020: 72 65 6d 6f 76 65 41 74 74 72 69 62 75 74 65 28 removeAttribute(
00020030: 27 74 61 62 69 6e 64 65 78 27 29 5c 6e 20 20 20 'tabindex')\n
00020040: 20 20 20 65 6c 65 6d 65 6e 74 2e 73 65 74 41 74 element.setAt
00020050: 74 72 69 62 75 74 65 28 27 61 72 69 61 2d 73 65 tribute('aria-se
00020060: 6c 65 63 74 65 64 27 2c 20 74 72 75 65 29 5c 6e lected', true)\n
00020070: 20 20 20 20 20 20 74 68 69 73 2e 5f 74 6f 67 67 this._togg
00020080: 6c 65 44 72 6f 70 44 6f 77 6e 28 65 6c 65 6d 65 leDropDown(eleme
00020090: 6e 74 2c 20 74 72 75 65 29 5c 6e 20 20 20 20 20 nt, true)\n
000200a0: 20 45 76 65 6e 74 48 61 6e 64 6c 65 72 2e 74 72 EventHandler.tr
000200b0: 69 67 67 65 72 28 65 6c 65 6d 65 6e 74 2c 20 45 igger(element, E
000200c0: 56 45 4e 54 5f 53 48 4f 57 4e 2c 20 7b 5c 6e 20 VENT_SHOWN, {\n
000200d0: 20 20 20 20 20 20 20 72 65 6c 61 74 65 64 54 61 relatedTa
000200e0: 72 67 65 74 3a 20 72 65 6c 61 74 65 64 45 6c 65 rget: relatedEle
000200f0: 6d 5c 6e 20 20 20 20 20 20 7d 29 5c 6e 20 20 20 m\n })\n
00020100: 20 7d 5c 6e 5c 6e 20 20 20 20 74 68 69 73 2e 5f }\n\n this._
00020110: 71 75 65 75 65 43 61 6c 6c 62 61 63 6b 28 63 6f queueCallback(co
00020120: 6d 70 6c 65 74 65 2c 20 65 6c 65 6d 65 6e 74 2c mplete, element,
00020130: 20 65 6c 65 6d 65 6e 74 2e 63 6c 61 73 73 4c 69 element.classLi
00020140: 73 74 2e 63 6f 6e 74 61 69 6e 73 28 43 4c 41 53 st.contains(CLAS
00020150: 53 5f 4e 41 4d 45 5f 46 41 44 45 29 29 5c 6e 20 S_NAME_FADE))\n
00020160: 20 7d 5c 6e 5c 6e 20 20 5f 64 65 61 63 74 69 76 }\n\n _deactiv
00020170: 61 74 65 28 65 6c 65 6d 65 6e 74 2c 20 72 65 6c ate(element, rel
00020180: 61 74 65 64 45 6c 65 6d 29 20 7b 5c 6e 20 20 20 atedElem) {\n
00020190: 20 69 66 20 28 21 65 6c 65 6d 65 6e 74 29 20 7b if (!element) {
000201a0: 5c 6e 20 20 20 20 20 20 72 65 74 75 72 6e 5c 6e \n return\n
000201b0: 20 20 20 20 7d 5c 6e 5c 6e 20 20 20 20 65 6c 65 }\n\n ele
000201c0: 6d 65 6e 74 2e 63 6c 61 73 73 4c 69 73 74 2e 72 ment.classList.r
000201d0: 65 6d 6f 76 65 28 43 4c 41 53 53 5f 4e 41 4d 45 emove(CLASS_NAME
000201e0: 5f 41 43 54 49 56 45 29 5c 6e 20 20 20 20 65 6c _ACTIVE)\n el
000201f0: 65 6d 65 6e 74 2e 62 6c 75 72 28 29 5c 6e 5c 6e ement.blur()\n\n
00020200: 20 20 20 20 74 68 69 73 2e 5f 64 65 61 63 74 69 this._deacti
00020210: 76 61 74 65 28 53 65 6c 65 63 74 6f 72 45 6e 67 vate(SelectorEng
00020220: 69 6e 65 2e 67 65 74 45 6c 65 6d 65 6e 74 46 72 ine.getElementFr
00020230: 6f 6d 53 65 6c 65 63 74 6f 72 28 65 6c 65 6d 65 omSelector(eleme
00020240: 6e 74 29 29 20 2f 2f 20 53 65 61 72 63 68 20 61 nt)) // Search a
00020250: 6e 64 20 64 65 61 63 74 69 76 61 74 65 20 74 68 nd deactivate th
00020260: 65 20 73 68 6f 77 6e 20 73 65 63 74 69 6f 6e 20 e shown section
00020270: 74 6f 6f 5c 6e 5c 6e 20 20 20 20 63 6f 6e 73 74 too\n\n const
00020280: 20 63 6f 6d 70 6c 65 74 65 20 3d 20 28 29 20 3d complete = () =
00020290: 3e 20 7b 5c 6e 20 20 20 20 20 20 69 66 20 28 65 > {\n if (e
000202a0: 6c 65 6d 65 6e 74 2e 67 65 74 41 74 74 72 69 62 lement.getAttrib
000202b0: 75 74 65 28 27 72 6f 6c 65 27 29 20 21 3d 3d 20 ute('role') !==
000202c0: 27 74 61 62 27 29 20 7b 5c 6e 20 20 20 20 20 20 'tab') {\n
000202d0: 20 20 65 6c 65 6d 65 6e 74 2e 63 6c 61 73 73 4c element.classL
000202e0: 69 73 74 2e 72 65 6d 6f 76 65 28 43 4c 41 53 53 ist.remove(CLASS
000202f0: 5f 4e 41 4d 45 5f 53 48 4f 57 29 5c 6e 20 20 20 _NAME_SHOW)\n
00020300: 20 20 20 20 20 72 65 74 75 72 6e 5c 6e 20 20 20 return\n
00020310: 20 20 20 7d 5c 6e 5c 6e 20 20 20 20 20 20 65 6c }\n\n el
00020320: 65 6d 65 6e 74 2e 73 65 74 41 74 74 72 69 62 75 ement.setAttribu
00020330: 74 65 28 27 61 72 69 61 2d 73 65 6c 65 63 74 65 te('aria-selecte
00020340: 64 27 2c 20 66 61 6c 73 65 29 5c 6e 20 20 20 20 d', false)\n
00020350: 20 20 65 6c 65 6d 65 6e 74 2e 73 65 74 41 74 74 element.setAtt
00020360: 72 69 62 75 74 65 28 27 74 61 62 69 6e 64 65 78 ribute('tabindex
00020370: 27 2c 20 27 2d 31 27 29 5c 6e 20 20 20 20 20 20 ', '-1')\n
00020380: 74 68 69 73 2e 5f 74 6f 67 67 6c 65 44 72 6f 70 this._toggleDrop
00020390: 44 6f 77 6e 28 65 6c 65 6d 65 6e 74 2c 20 66 61 Down(element, fa
000203a0: 6c 73 65 29 5c 6e 20 20 20 20 20 20 45 76 65 6e lse)\n Even
000203b0: 74 48 61 6e 64 6c 65 72 2e 74 72 69 67 67 65 72 tHandler.trigger
000203c0: 28 65 6c 65 6d 65 6e 74 2c 20 45 56 45 4e 54 5f (element, EVENT_
000203d0: 48 49 44 44 45 4e 2c 20 7b 20 72 65 6c 61 74 65 HIDDEN, { relate
000203e0: 64 54 61 72 67 65 74 3a 20 72 65 6c 61 74 65 64 dTarget: related
000203f0: 45 6c 65 6d 20 7d 29 5c 6e 20 20 20 20 7d 5c 6e Elem })\n }\n
00020400: 5c 6e 20 20 20 20 74 68 69 73 2e 5f 71 75 65 75 \n this._queu
00020410: 65 43 61 6c 6c 62 61 63 6b 28 63 6f 6d 70 6c 65 eCallback(comple
00020420: 74 65 2c 20 65 6c 65 6d 65 6e 74 2c 20 65 6c 65 te, element, ele
00020430: 6d 65 6e 74 2e 63 6c 61 73 73 4c 69 73 74 2e 63 ment.classList.c
00020440: 6f 6e 74 61 69 6e 73 28 43 4c 41 53 53 5f 4e 41 ontains(CLASS_NA
00020450: 4d 45 5f 46 41 44 45 29 29 5c 6e 20 20 7d 5c 6e ME_FADE))\n }\n
00020460: 5c 6e 20 20 5f 6b 65 79 64 6f 77 6e 28 65 76 65 \n _keydown(eve
00020470: 6e 74 29 20 7b 5c 6e 20 20 20 20 69 66 20 28 21 nt) {\n if (!
00020480: 28 5b 41 52 52 4f 57 5f 4c 45 46 54 5f 4b 45 59 ([ARROW_LEFT_KEY
00020490: 2c 20 41 52 52 4f 57 5f 52 49 47 48 54 5f 4b 45 , ARROW_RIGHT_KE
000204a0: 59 2c 20 41 52 52 4f 57 5f 55 50 5f 4b 45 59 2c Y, ARROW_UP_KEY,
000204b0: 20 41 52 52 4f 57 5f 44 4f 57 4e 5f 4b 45 59 2c ARROW_DOWN_KEY,
000204c0: 20 48 4f 4d 45 5f 4b 45 59 2c 20 45 4e 44 5f 4b HOME_KEY, END_K
000204d0: 45 59 5d 2e 69 6e 63 6c 75 64 65 73 28 65 76 65 EY].includes(eve
000204e0: 6e 74 2e 6b 65 79 29 29 29 20 7b 5c 6e 20 20 20 nt.key))) {\n
000204f0: 20 20 20 72 65 74 75 72 6e 5c 6e 20 20 20 20 7d return\n }
00020500: 5c 6e 5c 6e 20 20 20 20 65 76 65 6e 74 2e 73 74 \n\n event.st
00020510: 6f 70 50 72 6f 70 61 67 61 74 69 6f 6e 28 29 2f opPropagation()/
00020520: 2f 20 73 74 6f 70 50 72 6f 70 61 67 61 74 69 6f / stopPropagatio
00020530: 6e 2f 70 72 65 76 65 6e 74 44 65 66 61 75 6c 74 n/preventDefault
00020540: 20 62 6f 74 68 20 61 64 64 65 64 20 74 6f 20 73 both added to s
00020550: 75 70 70 6f 72 74 20 75 70 2f 64 6f 77 6e 20 6b upport up/down k
00020560: 65 79 73 20 77 69 74 68 6f 75 74 20 73 63 72 6f eys without scro
00020570: 6c 6c 69 6e 67 20 74 68 65 20 70 61 67 65 5c 6e lling the page\n
00020580: 20 20 20 20 65 76 65 6e 74 2e 70 72 65 76 65 6e event.preven
00020590: 74 44 65 66 61 75 6c 74 28 29 5c 6e 5c 6e 20 20 tDefault()\n\n
000205a0: 20 20 63 6f 6e 73 74 20 63 68 69 6c 64 72 65 6e const children
000205b0: 20 3d 20 74 68 69 73 2e 5f 67 65 74 43 68 69 6c = this._getChil
000205c0: 64 72 65 6e 28 29 2e 66 69 6c 74 65 72 28 65 6c dren().filter(el
000205d0: 65 6d 65 6e 74 20 3d 3e 20 21 69 73 44 69 73 61 ement => !isDisa
000205e0: 62 6c 65 64 28 65 6c 65 6d 65 6e 74 29 29 5c 6e bled(element))\n
000205f0: 20 20 20 20 6c 65 74 20 6e 65 78 74 41 63 74 69 let nextActi
00020600: 76 65 45 6c 65 6d 65 6e 74 5c 6e 5c 6e 20 20 20 veElement\n\n
00020610: 20 69 66 20 28 5b 48 4f 4d 45 5f 4b 45 59 2c 20 if ([HOME_KEY,
00020620: 45 4e 44 5f 4b 45 59 5d 2e 69 6e 63 6c 75 64 65 END_KEY].include
00020630: 73 28 65 76 65 6e 74 2e 6b 65 79 29 29 20 7b 5c s(event.key)) {\
00020640: 6e 20 20 20 20 20 20 6e 65 78 74 41 63 74 69 76 n nextActiv
00020650: 65 45 6c 65 6d 65 6e 74 20 3d 20 63 68 69 6c 64 eElement = child
00020660: 72 65 6e 5b 65 76 65 6e 74 2e 6b 65 79 20 3d 3d ren[event.key ==
00020670: 3d 20 48 4f 4d 45 5f 4b 45 59 20 3f 20 30 20 3a = HOME_KEY ? 0 :
00020680: 20 63 68 69 6c 64 72 65 6e 2e 6c 65 6e 67 74 68 children.length
00020690: 20 2d 20 31 5d 5c 6e 20 20 20 20 7d 20 65 6c 73 - 1]\n } els
000206a0: 65 20 7b 5c 6e 20 20 20 20 20 20 63 6f 6e 73 74 e {\n const
000206b0: 20 69 73 4e 65 78 74 20 3d 20 5b 41 52 52 4f 57 isNext = [ARROW
000206c0: 5f 52 49 47 48 54 5f 4b 45 59 2c 20 41 52 52 4f _RIGHT_KEY, ARRO
000206d0: 57 5f 44 4f 57 4e 5f 4b 45 59 5d 2e 69 6e 63 6c W_DOWN_KEY].incl
000206e0: 75 64 65 73 28 65 76 65 6e 74 2e 6b 65 79 29 5c udes(event.key)\
000206f0: 6e 20 20 20 20 20 20 6e 65 78 74 41 63 74 69 76 n nextActiv
00020700: 65 45 6c 65 6d 65 6e 74 20 3d 20 67 65 74 4e 65 eElement = getNe
00020710: 78 74 41 63 74 69 76 65 45 6c 65 6d 65 6e 74 28 xtActiveElement(
00020720: 63 68 69 6c 64 72 65 6e 2c 20 65 76 65 6e 74 2e children, event.
00020730: 74 61 72 67 65 74 2c 20 69 73 4e 65 78 74 2c 20 target, isNext,
00020740: 74 72 75 65 29 5c 6e 20 20 20 20 7d 5c 6e 5c 6e true)\n }\n\n
00020750: 20 20 20 20 69 66 20 28 6e 65 78 74 41 63 74 69 if (nextActi
00020760: 76 65 45 6c 65 6d 65 6e 74 29 20 7b 5c 6e 20 20 veElement) {\n
00020770: 20 20 20 20 6e 65 78 74 41 63 74 69 76 65 45 6c nextActiveEl
00020780: 65 6d 65 6e 74 2e 66 6f 63 75 73 28 7b 20 70 72 ement.focus({ pr
00020790: 65 76 65 6e 74 53 63 72 6f 6c 6c 3a 20 74 72 75 eventScroll: tru
000207a0: 65 20 7d 29 5c 6e 20 20 20 20 20 20 54 61 62 2e e })\n Tab.
000207b0: 67 65 74 4f 72 43 72 65 61 74 65 49 6e 73 74 61 getOrCreateInsta
000207c0: 6e 63 65 28 6e 65 78 74 41 63 74 69 76 65 45 6c nce(nextActiveEl
000207d0: 65 6d 65 6e 74 29 2e 73 68 6f 77 28 29 5c 6e 20 ement).show()\n
000207e0: 20 20 20 7d 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 5f }\n }\n\n _
000207f0: 67 65 74 43 68 69 6c 64 72 65 6e 28 29 20 7b 20 getChildren() {
00020800: 2f 2f 20 63 6f 6c 6c 65 63 74 69 6f 6e 20 6f 66 // collection of
00020810: 20 69 6e 6e 65 72 20 65 6c 65 6d 65 6e 74 73 5c inner elements\
00020820: 6e 20 20 20 20 72 65 74 75 72 6e 20 53 65 6c 65 n return Sele
00020830: 63 74 6f 72 45 6e 67 69 6e 65 2e 66 69 6e 64 28 ctorEngine.find(
00020840: 53 45 4c 45 43 54 4f 52 5f 49 4e 4e 45 52 5f 45 SELECTOR_INNER_E
00020850: 4c 45 4d 2c 20 74 68 69 73 2e 5f 70 61 72 65 6e LEM, this._paren
00020860: 74 29 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 5f 67 65 t)\n }\n\n _ge
00020870: 74 41 63 74 69 76 65 45 6c 65 6d 28 29 20 7b 5c tActiveElem() {\
00020880: 6e 20 20 20 20 72 65 74 75 72 6e 20 74 68 69 73 n return this
00020890: 2e 5f 67 65 74 43 68 69 6c 64 72 65 6e 28 29 2e ._getChildren().
000208a0: 66 69 6e 64 28 63 68 69 6c 64 20 3d 3e 20 74 68 find(child => th
000208b0: 69 73 2e 5f 65 6c 65 6d 49 73 41 63 74 69 76 65 is._elemIsActive
000208c0: 28 63 68 69 6c 64 29 29 20 7c 7c 20 6e 75 6c 6c (child)) || null
000208d0: 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 5f 73 65 74 49 \n }\n\n _setI
000208e0: 6e 69 74 69 61 6c 41 74 74 72 69 62 75 74 65 73 nitialAttributes
000208f0: 28 70 61 72 65 6e 74 2c 20 63 68 69 6c 64 72 65 (parent, childre
00020900: 6e 29 20 7b 5c 6e 20 20 20 20 74 68 69 73 2e 5f n) {\n this._
00020910: 73 65 74 41 74 74 72 69 62 75 74 65 49 66 4e 6f setAttributeIfNo
00020920: 74 45 78 69 73 74 73 28 70 61 72 65 6e 74 2c 20 tExists(parent,
00020930: 27 72 6f 6c 65 27 2c 20 27 74 61 62 6c 69 73 74 'role', 'tablist
00020940: 27 29 5c 6e 5c 6e 20 20 20 20 66 6f 72 20 28 63 ')\n\n for (c
00020950: 6f 6e 73 74 20 63 68 69 6c 64 20 6f 66 20 63 68 onst child of ch
00020960: 69 6c 64 72 65 6e 29 20 7b 5c 6e 20 20 20 20 20 ildren) {\n
00020970: 20 74 68 69 73 2e 5f 73 65 74 49 6e 69 74 69 61 this._setInitia
00020980: 6c 41 74 74 72 69 62 75 74 65 73 4f 6e 43 68 69 lAttributesOnChi
00020990: 6c 64 28 63 68 69 6c 64 29 5c 6e 20 20 20 20 7d ld(child)\n }
000209a0: 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 5f 73 65 74 49 \n }\n\n _setI
000209b0: 6e 69 74 69 61 6c 41 74 74 72 69 62 75 74 65 73 nitialAttributes
000209c0: 4f 6e 43 68 69 6c 64 28 63 68 69 6c 64 29 20 7b OnChild(child) {
000209d0: 5c 6e 20 20 20 20 63 68 69 6c 64 20 3d 20 74 68 \n child = th
000209e0: 69 73 2e 5f 67 65 74 49 6e 6e 65 72 45 6c 65 6d is._getInnerElem
000209f0: 65 6e 74 28 63 68 69 6c 64 29 5c 6e 20 20 20 20 ent(child)\n
00020a00: 63 6f 6e 73 74 20 69 73 41 63 74 69 76 65 20 3d const isActive =
00020a10: 20 74 68 69 73 2e 5f 65 6c 65 6d 49 73 41 63 74 this._elemIsAct
00020a20: 69 76 65 28 63 68 69 6c 64 29 5c 6e 20 20 20 20 ive(child)\n
00020a30: 63 6f 6e 73 74 20 6f 75 74 65 72 45 6c 65 6d 20 const outerElem
00020a40: 3d 20 74 68 69 73 2e 5f 67 65 74 4f 75 74 65 72 = this._getOuter
00020a50: 45 6c 65 6d 65 6e 74 28 63 68 69 6c 64 29 5c 6e Element(child)\n
00020a60: 20 20 20 20 63 68 69 6c 64 2e 73 65 74 41 74 74 child.setAtt
00020a70: 72 69 62 75 74 65 28 27 61 72 69 61 2d 73 65 6c ribute('aria-sel
00020a80: 65 63 74 65 64 27 2c 20 69 73 41 63 74 69 76 65 ected', isActive
00020a90: 29 5c 6e 5c 6e 20 20 20 20 69 66 20 28 6f 75 74 )\n\n if (out
00020aa0: 65 72 45 6c 65 6d 20 21 3d 3d 20 63 68 69 6c 64 erElem !== child
00020ab0: 29 20 7b 5c 6e 20 20 20 20 20 20 74 68 69 73 2e ) {\n this.
00020ac0: 5f 73 65 74 41 74 74 72 69 62 75 74 65 49 66 4e _setAttributeIfN
00020ad0: 6f 74 45 78 69 73 74 73 28 6f 75 74 65 72 45 6c otExists(outerEl
00020ae0: 65 6d 2c 20 27 72 6f 6c 65 27 2c 20 27 70 72 65 em, 'role', 'pre
00020af0: 73 65 6e 74 61 74 69 6f 6e 27 29 5c 6e 20 20 20 sentation')\n
00020b00: 20 7d 5c 6e 5c 6e 20 20 20 20 69 66 20 28 21 69 }\n\n if (!i
00020b10: 73 41 63 74 69 76 65 29 20 7b 5c 6e 20 20 20 20 sActive) {\n
00020b20: 20 20 63 68 69 6c 64 2e 73 65 74 41 74 74 72 69 child.setAttri
00020b30: 62 75 74 65 28 27 74 61 62 69 6e 64 65 78 27 2c bute('tabindex',
00020b40: 20 27 2d 31 27 29 5c 6e 20 20 20 20 7d 5c 6e 5c '-1')\n }\n\
00020b50: 6e 20 20 20 20 74 68 69 73 2e 5f 73 65 74 41 74 n this._setAt
00020b60: 74 72 69 62 75 74 65 49 66 4e 6f 74 45 78 69 73 tributeIfNotExis
00020b70: 74 73 28 63 68 69 6c 64 2c 20 27 72 6f 6c 65 27 ts(child, 'role'
00020b80: 2c 20 27 74 61 62 27 29 5c 6e 5c 6e 20 20 20 20 , 'tab')\n\n
00020b90: 2f 2f 20 73 65 74 20 61 74 74 72 69 62 75 74 65 // set attribute
00020ba0: 73 20 74 6f 20 74 68 65 20 72 65 6c 61 74 65 64 s to the related
00020bb0: 20 70 61 6e 65 6c 20 74 6f 6f 5c 6e 20 20 20 20 panel too\n
00020bc0: 74 68 69 73 2e 5f 73 65 74 49 6e 69 74 69 61 6c this._setInitial
00020bd0: 41 74 74 72 69 62 75 74 65 73 4f 6e 54 61 72 67 AttributesOnTarg
00020be0: 65 74 50 61 6e 65 6c 28 63 68 69 6c 64 29 5c 6e etPanel(child)\n
00020bf0: 20 20 7d 5c 6e 5c 6e 20 20 5f 73 65 74 49 6e 69 }\n\n _setIni
00020c00: 74 69 61 6c 41 74 74 72 69 62 75 74 65 73 4f 6e tialAttributesOn
00020c10: 54 61 72 67 65 74 50 61 6e 65 6c 28 63 68 69 6c TargetPanel(chil
00020c20: 64 29 20 7b 5c 6e 20 20 20 20 63 6f 6e 73 74 20 d) {\n const
00020c30: 74 61 72 67 65 74 20 3d 20 53 65 6c 65 63 74 6f target = Selecto
00020c40: 72 45 6e 67 69 6e 65 2e 67 65 74 45 6c 65 6d 65 rEngine.getEleme
00020c50: 6e 74 46 72 6f 6d 53 65 6c 65 63 74 6f 72 28 63 ntFromSelector(c
00020c60: 68 69 6c 64 29 5c 6e 5c 6e 20 20 20 20 69 66 20 hild)\n\n if
00020c70: 28 21 74 61 72 67 65 74 29 20 7b 5c 6e 20 20 20 (!target) {\n
00020c80: 20 20 20 72 65 74 75 72 6e 5c 6e 20 20 20 20 7d return\n }
00020c90: 5c 6e 5c 6e 20 20 20 20 74 68 69 73 2e 5f 73 65 \n\n this._se
00020ca0: 74 41 74 74 72 69 62 75 74 65 49 66 4e 6f 74 45 tAttributeIfNotE
00020cb0: 78 69 73 74 73 28 74 61 72 67 65 74 2c 20 27 72 xists(target, 'r
00020cc0: 6f 6c 65 27 2c 20 27 74 61 62 70 61 6e 65 6c 27 ole', 'tabpanel'
00020cd0: 29 5c 6e 5c 6e 20 20 20 20 69 66 20 28 63 68 69 )\n\n if (chi
00020ce0: 6c 64 2e 69 64 29 20 7b 5c 6e 20 20 20 20 20 20 ld.id) {\n
00020cf0: 74 68 69 73 2e 5f 73 65 74 41 74 74 72 69 62 75 this._setAttribu
00020d00: 74 65 49 66 4e 6f 74 45 78 69 73 74 73 28 74 61 teIfNotExists(ta
00020d10: 72 67 65 74 2c 20 27 61 72 69 61 2d 6c 61 62 65 rget, 'aria-labe
00020d20: 6c 6c 65 64 62 79 27 2c 20 60 24 7b 63 68 69 6c lledby', `${chil
00020d30: 64 2e 69 64 7d 60 29 5c 6e 20 20 20 20 7d 5c 6e d.id}`)\n }\n
00020d40: 20 20 7d 5c 6e 5c 6e 20 20 5f 74 6f 67 67 6c 65 }\n\n _toggle
00020d50: 44 72 6f 70 44 6f 77 6e 28 65 6c 65 6d 65 6e 74 DropDown(element
00020d60: 2c 20 6f 70 65 6e 29 20 7b 5c 6e 20 20 20 20 63 , open) {\n c
00020d70: 6f 6e 73 74 20 6f 75 74 65 72 45 6c 65 6d 20 3d onst outerElem =
00020d80: 20 74 68 69 73 2e 5f 67 65 74 4f 75 74 65 72 45 this._getOuterE
00020d90: 6c 65 6d 65 6e 74 28 65 6c 65 6d 65 6e 74 29 5c lement(element)\
00020da0: 6e 20 20 20 20 69 66 20 28 21 6f 75 74 65 72 45 n if (!outerE
00020db0: 6c 65 6d 2e 63 6c 61 73 73 4c 69 73 74 2e 63 6f lem.classList.co
00020dc0: 6e 74 61 69 6e 73 28 43 4c 41 53 53 5f 44 52 4f ntains(CLASS_DRO
00020dd0: 50 44 4f 57 4e 29 29 20 7b 5c 6e 20 20 20 20 20 PDOWN)) {\n
00020de0: 20 72 65 74 75 72 6e 5c 6e 20 20 20 20 7d 5c 6e return\n }\n
00020df0: 5c 6e 20 20 20 20 63 6f 6e 73 74 20 74 6f 67 67 \n const togg
00020e00: 6c 65 20 3d 20 28 73 65 6c 65 63 74 6f 72 2c 20 le = (selector,
00020e10: 63 6c 61 73 73 4e 61 6d 65 29 20 3d 3e 20 7b 5c className) => {\
00020e20: 6e 20 20 20 20 20 20 63 6f 6e 73 74 20 65 6c 65 n const ele
00020e30: 6d 65 6e 74 20 3d 20 53 65 6c 65 63 74 6f 72 45 ment = SelectorE
00020e40: 6e 67 69 6e 65 2e 66 69 6e 64 4f 6e 65 28 73 65 ngine.findOne(se
00020e50: 6c 65 63 74 6f 72 2c 20 6f 75 74 65 72 45 6c 65 lector, outerEle
00020e60: 6d 29 5c 6e 20 20 20 20 20 20 69 66 20 28 65 6c m)\n if (el
00020e70: 65 6d 65 6e 74 29 20 7b 5c 6e 20 20 20 20 20 20 ement) {\n
00020e80: 20 20 65 6c 65 6d 65 6e 74 2e 63 6c 61 73 73 4c element.classL
00020e90: 69 73 74 2e 74 6f 67 67 6c 65 28 63 6c 61 73 73 ist.toggle(class
00020ea0: 4e 61 6d 65 2c 20 6f 70 65 6e 29 5c 6e 20 20 20 Name, open)\n
00020eb0: 20 20 20 7d 5c 6e 20 20 20 20 7d 5c 6e 5c 6e 20 }\n }\n\n
00020ec0: 20 20 20 74 6f 67 67 6c 65 28 53 45 4c 45 43 54 toggle(SELECT
00020ed0: 4f 52 5f 44 52 4f 50 44 4f 57 4e 5f 54 4f 47 47 OR_DROPDOWN_TOGG
00020ee0: 4c 45 2c 20 43 4c 41 53 53 5f 4e 41 4d 45 5f 41 LE, CLASS_NAME_A
00020ef0: 43 54 49 56 45 29 5c 6e 20 20 20 20 74 6f 67 67 CTIVE)\n togg
00020f00: 6c 65 28 53 45 4c 45 43 54 4f 52 5f 44 52 4f 50 le(SELECTOR_DROP
00020f10: 44 4f 57 4e 5f 4d 45 4e 55 2c 20 43 4c 41 53 53 DOWN_MENU, CLASS
00020f20: 5f 4e 41 4d 45 5f 53 48 4f 57 29 5c 6e 20 20 20 _NAME_SHOW)\n
00020f30: 20 6f 75 74 65 72 45 6c 65 6d 2e 73 65 74 41 74 outerElem.setAt
00020f40: 74 72 69 62 75 74 65 28 27 61 72 69 61 2d 65 78 tribute('aria-ex
00020f50: 70 61 6e 64 65 64 27 2c 20 6f 70 65 6e 29 5c 6e panded', open)\n
00020f60: 20 20 7d 5c 6e 5c 6e 20 20 5f 73 65 74 41 74 74 }\n\n _setAtt
00020f70: 72 69 62 75 74 65 49 66 4e 6f 74 45 78 69 73 74 ributeIfNotExist
00020f80: 73 28 65 6c 65 6d 65 6e 74 2c 20 61 74 74 72 69 s(element, attri
00020f90: 62 75 74 65 2c 20 76 61 6c 75 65 29 20 7b 5c 6e bute, value) {\n
00020fa0: 20 20 20 20 69 66 20 28 21 65 6c 65 6d 65 6e 74 if (!element
00020fb0: 2e 68 61 73 41 74 74 72 69 62 75 74 65 28 61 74 .hasAttribute(at
00020fc0: 74 72 69 62 75 74 65 29 29 20 7b 5c 6e 20 20 20 tribute)) {\n
00020fd0: 20 20 20 65 6c 65 6d 65 6e 74 2e 73 65 74 41 74 element.setAt
00020fe0: 74 72 69 62 75 74 65 28 61 74 74 72 69 62 75 74 tribute(attribut
00020ff0: 65 2c 20 76 61 6c 75 65 29 5c 6e 20 20 20 20 7d e, value)\n }
00021000: 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 5f 65 6c 65 6d \n }\n\n _elem
00021010: 49 73 41 63 74 69 76 65 28 65 6c 65 6d 29 20 7b IsActive(elem) {
00021020: 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 65 6c 65 \n return ele
00021030: 6d 2e 63 6c 61 73 73 4c 69 73 74 2e 63 6f 6e 74 m.classList.cont
00021040: 61 69 6e 73 28 43 4c 41 53 53 5f 4e 41 4d 45 5f ains(CLASS_NAME_
00021050: 41 43 54 49 56 45 29 5c 6e 20 20 7d 5c 6e 5c 6e ACTIVE)\n }\n\n
00021060: 20 20 2f 2f 20 54 72 79 20 74 6f 20 67 65 74 20 // Try to get
00021070: 74 68 65 20 69 6e 6e 65 72 20 65 6c 65 6d 65 6e the inner elemen
00021080: 74 20 28 75 73 75 61 6c 6c 79 20 74 68 65 20 2e t (usually the .
00021090: 6e 61 76 2d 6c 69 6e 6b 29 5c 6e 20 20 5f 67 65 nav-link)\n _ge
000210a0: 74 49 6e 6e 65 72 45 6c 65 6d 65 6e 74 28 65 6c tInnerElement(el
000210b0: 65 6d 29 20 7b 5c 6e 20 20 20 20 72 65 74 75 72 em) {\n retur
000210c0: 6e 20 65 6c 65 6d 2e 6d 61 74 63 68 65 73 28 53 n elem.matches(S
000210d0: 45 4c 45 43 54 4f 52 5f 49 4e 4e 45 52 5f 45 4c ELECTOR_INNER_EL
000210e0: 45 4d 29 20 3f 20 65 6c 65 6d 20 3a 20 53 65 6c EM) ? elem : Sel
000210f0: 65 63 74 6f 72 45 6e 67 69 6e 65 2e 66 69 6e 64 ectorEngine.find
00021100: 4f 6e 65 28 53 45 4c 45 43 54 4f 52 5f 49 4e 4e One(SELECTOR_INN
00021110: 45 52 5f 45 4c 45 4d 2c 20 65 6c 65 6d 29 5c 6e ER_ELEM, elem)\n
00021120: 20 20 7d 5c 6e 5c 6e 20 20 2f 2f 20 54 72 79 20 }\n\n // Try
00021130: 74 6f 20 67 65 74 20 74 68 65 20 6f 75 74 65 72 to get the outer
00021140: 20 65 6c 65 6d 65 6e 74 20 28 75 73 75 61 6c 6c element (usuall
00021150: 79 20 74 68 65 20 2e 6e 61 76 2d 69 74 65 6d 29 y the .nav-item)
00021160: 5c 6e 20 20 5f 67 65 74 4f 75 74 65 72 45 6c 65 \n _getOuterEle
00021170: 6d 65 6e 74 28 65 6c 65 6d 29 20 7b 5c 6e 20 20 ment(elem) {\n
00021180: 20 20 72 65 74 75 72 6e 20 65 6c 65 6d 2e 63 6c return elem.cl
00021190: 6f 73 65 73 74 28 53 45 4c 45 43 54 4f 52 5f 4f osest(SELECTOR_O
000211a0: 55 54 45 52 29 20 7c 7c 20 65 6c 65 6d 5c 6e 20 UTER) || elem\n
000211b0: 20 7d 5c 6e 5c 6e 20 20 2f 2f 20 53 74 61 74 69 }\n\n // Stati
000211c0: 63 5c 6e 20 20 73 74 61 74 69 63 20 6a 51 75 65 c\n static jQue
000211d0: 72 79 49 6e 74 65 72 66 61 63 65 28 63 6f 6e 66 ryInterface(conf
000211e0: 69 67 29 20 7b 5c 6e 20 20 20 20 72 65 74 75 72 ig) {\n retur
000211f0: 6e 20 74 68 69 73 2e 65 61 63 68 28 66 75 6e 63 n this.each(func
00021200: 74 69 6f 6e 20 28 29 20 7b 5c 6e 20 20 20 20 20 tion () {\n
00021210: 20 63 6f 6e 73 74 20 64 61 74 61 20 3d 20 54 61 const data = Ta
00021220: 62 2e 67 65 74 4f 72 43 72 65 61 74 65 49 6e 73 b.getOrCreateIns
00021230: 74 61 6e 63 65 28 74 68 69 73 29 5c 6e 5c 6e 20 tance(this)\n\n
00021240: 20 20 20 20 20 69 66 20 28 74 79 70 65 6f 66 20 if (typeof
00021250: 63 6f 6e 66 69 67 20 21 3d 3d 20 27 73 74 72 69 config !== 'stri
00021260: 6e 67 27 29 20 7b 5c 6e 20 20 20 20 20 20 20 20 ng') {\n
00021270: 72 65 74 75 72 6e 5c 6e 20 20 20 20 20 20 7d 5c return\n }\
00021280: 6e 5c 6e 20 20 20 20 20 20 69 66 20 28 64 61 74 n\n if (dat
00021290: 61 5b 63 6f 6e 66 69 67 5d 20 3d 3d 3d 20 75 6e a[config] === un
000212a0: 64 65 66 69 6e 65 64 20 7c 7c 20 63 6f 6e 66 69 defined || confi
000212b0: 67 2e 73 74 61 72 74 73 57 69 74 68 28 27 5f 27 g.startsWith('_'
000212c0: 29 20 7c 7c 20 63 6f 6e 66 69 67 20 3d 3d 3d 20 ) || config ===
000212d0: 27 63 6f 6e 73 74 72 75 63 74 6f 72 27 29 20 7b 'constructor') {
000212e0: 5c 6e 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 \n throw
000212f0: 6e 65 77 20 54 79 70 65 45 72 72 6f 72 28 60 4e new TypeError(`N
00021300: 6f 20 6d 65 74 68 6f 64 20 6e 61 6d 65 64 20 5c o method named \
00021310: 22 24 7b 63 6f 6e 66 69 67 7d 5c 22 60 29 5c 6e "${config}\"`)\n
00021320: 20 20 20 20 20 20 7d 5c 6e 5c 6e 20 20 20 20 20 }\n\n
00021330: 20 64 61 74 61 5b 63 6f 6e 66 69 67 5d 28 29 5c data[config]()\
00021340: 6e 20 20 20 20 7d 29 5c 6e 20 20 7d 5c 6e 7d 5c n })\n }\n}\
00021350: 6e 5c 6e 2f 2a 2a 5c 6e 20 2a 20 44 61 74 61 20 n\n/**\n * Data
00021360: 41 50 49 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 API implementati
00021370: 6f 6e 5c 6e 20 2a 2f 5c 6e 5c 6e 45 76 65 6e 74 on\n */\n\nEvent
00021380: 48 61 6e 64 6c 65 72 2e 6f 6e 28 64 6f 63 75 6d Handler.on(docum
00021390: 65 6e 74 2c 20 45 56 45 4e 54 5f 43 4c 49 43 4b ent, EVENT_CLICK
000213a0: 5f 44 41 54 41 5f 41 50 49 2c 20 53 45 4c 45 43 _DATA_API, SELEC
000213b0: 54 4f 52 5f 44 41 54 41 5f 54 4f 47 47 4c 45 2c TOR_DATA_TOGGLE,
000213c0: 20 66 75 6e 63 74 69 6f 6e 20 28 65 76 65 6e 74 function (event
000213d0: 29 20 7b 5c 6e 20 20 69 66 20 28 5b 27 41 27 2c ) {\n if (['A',
000213e0: 20 27 41 52 45 41 27 5d 2e 69 6e 63 6c 75 64 65 'AREA'].include
000213f0: 73 28 74 68 69 73 2e 74 61 67 4e 61 6d 65 29 29 s(this.tagName))
00021400: 20 7b 5c 6e 20 20 20 20 65 76 65 6e 74 2e 70 72 {\n event.pr
00021410: 65 76 65 6e 74 44 65 66 61 75 6c 74 28 29 5c 6e eventDefault()\n
00021420: 20 20 7d 5c 6e 5c 6e 20 20 69 66 20 28 69 73 44 }\n\n if (isD
00021430: 69 73 61 62 6c 65 64 28 74 68 69 73 29 29 20 7b isabled(this)) {
00021440: 5c 6e 20 20 20 20 72 65 74 75 72 6e 5c 6e 20 20 \n return\n
00021450: 7d 5c 6e 5c 6e 20 20 54 61 62 2e 67 65 74 4f 72 }\n\n Tab.getOr
00021460: 43 72 65 61 74 65 49 6e 73 74 61 6e 63 65 28 74 CreateInstance(t
00021470: 68 69 73 29 2e 73 68 6f 77 28 29 5c 6e 7d 29 5c his).show()\n})\
00021480: 6e 5c 6e 2f 2a 2a 5c 6e 20 2a 20 49 6e 69 74 69 n\n/**\n * Initi
00021490: 61 6c 69 7a 65 20 6f 6e 20 66 6f 63 75 73 5c 6e alize on focus\n
000214a0: 20 2a 2f 5c 6e 45 76 65 6e 74 48 61 6e 64 6c 65 */\nEventHandle
000214b0: 72 2e 6f 6e 28 77 69 6e 64 6f 77 2c 20 45 56 45 r.on(window, EVE
000214c0: 4e 54 5f 4c 4f 41 44 5f 44 41 54 41 5f 41 50 49 NT_LOAD_DATA_API
000214d0: 2c 20 28 29 20 3d 3e 20 7b 5c 6e 20 20 66 6f 72 , () => {\n for
000214e0: 20 28 63 6f 6e 73 74 20 65 6c 65 6d 65 6e 74 20 (const element
000214f0: 6f 66 20 53 65 6c 65 63 74 6f 72 45 6e 67 69 6e of SelectorEngin
00021500: 65 2e 66 69 6e 64 28 53 45 4c 45 43 54 4f 52 5f e.find(SELECTOR_
00021510: 44 41 54 41 5f 54 4f 47 47 4c 45 5f 41 43 54 49 DATA_TOGGLE_ACTI
00021520: 56 45 29 29 20 7b 5c 6e 20 20 20 20 54 61 62 2e VE)) {\n Tab.
00021530: 67 65 74 4f 72 43 72 65 61 74 65 49 6e 73 74 61 getOrCreateInsta
00021540: 6e 63 65 28 65 6c 65 6d 65 6e 74 29 5c 6e 20 20 nce(element)\n
00021550: 7d 5c 6e 7d 29 5c 6e 2f 2a 2a 5c 6e 20 2a 20 6a }\n})\n/**\n * j
00021560: 51 75 65 72 79 5c 6e 20 2a 2f 5c 6e 5c 6e 64 65 Query\n */\n\nde
00021570: 66 69 6e 65 4a 51 75 65 72 79 50 6c 75 67 69 6e fineJQueryPlugin
00021580: 28 54 61 62 29 5c 6e 5c 6e 65 78 70 6f 72 74 20 (Tab)\n\nexport
00021590: 64 65 66 61 75 6c 74 20 54 61 62 5c 6e 22 2c 22 default Tab\n","
000215a0: 2f 2a 2a 5c 6e 20 2a 20 2d 2d 2d 2d 2d 2d 2d 2d /**\n * --------
000215b0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
000215c0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
000215d0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
000215e0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
000215f0: 2d 2d 5c 6e 20 2a 20 42 6f 6f 74 73 74 72 61 70 --\n * Bootstrap
00021600: 20 74 6f 61 73 74 2e 6a 73 5c 6e 20 2a 20 4c 69 toast.js\n * Li
00021610: 63 65 6e 73 65 64 20 75 6e 64 65 72 20 4d 49 54 censed under MIT
00021620: 20 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 (https://github
00021630: 2e 63 6f 6d 2f 74 77 62 73 2f 62 6f 6f 74 73 74 .com/twbs/bootst
00021640: 72 61 70 2f 62 6c 6f 62 2f 6d 61 69 6e 2f 4c 49 rap/blob/main/LI
00021650: 43 45 4e 53 45 29 5c 6e 20 2a 20 2d 2d 2d 2d 2d CENSE)\n * -----
00021660: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
00021670: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
00021680: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
00021690: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
000216a0: 2d 2d 2d 2d 2d 5c 6e 20 2a 2f 5c 6e 5c 6e 69 6d -----\n */\n\nim
000216b0: 70 6f 72 74 20 42 61 73 65 43 6f 6d 70 6f 6e 65 port BaseCompone
000216c0: 6e 74 20 66 72 6f 6d 20 27 2e 2f 62 61 73 65 2d nt from './base-
000216d0: 63 6f 6d 70 6f 6e 65 6e 74 2e 6a 73 27 5c 6e 69 component.js'\ni
000216e0: 6d 70 6f 72 74 20 45 76 65 6e 74 48 61 6e 64 6c mport EventHandl
000216f0: 65 72 20 66 72 6f 6d 20 27 2e 2f 64 6f 6d 2f 65 er from './dom/e
00021700: 76 65 6e 74 2d 68 61 6e 64 6c 65 72 2e 6a 73 27 vent-handler.js'
00021710: 5c 6e 69 6d 70 6f 72 74 20 7b 20 65 6e 61 62 6c \nimport { enabl
00021720: 65 44 69 73 6d 69 73 73 54 72 69 67 67 65 72 20 eDismissTrigger
00021730: 7d 20 66 72 6f 6d 20 27 2e 2f 75 74 69 6c 2f 63 } from './util/c
00021740: 6f 6d 70 6f 6e 65 6e 74 2d 66 75 6e 63 74 69 6f omponent-functio
00021750: 6e 73 2e 6a 73 27 5c 6e 69 6d 70 6f 72 74 20 7b ns.js'\nimport {
00021760: 20 64 65 66 69 6e 65 4a 51 75 65 72 79 50 6c 75 defineJQueryPlu
00021770: 67 69 6e 2c 20 72 65 66 6c 6f 77 20 7d 20 66 72 gin, reflow } fr
00021780: 6f 6d 20 27 2e 2f 75 74 69 6c 2f 69 6e 64 65 78 om './util/index
00021790: 2e 6a 73 27 5c 6e 5c 6e 2f 2a 2a 5c 6e 20 2a 20 .js'\n\n/**\n *
000217a0: 43 6f 6e 73 74 61 6e 74 73 5c 6e 20 2a 2f 5c 6e Constants\n */\n
000217b0: 5c 6e 63 6f 6e 73 74 20 4e 41 4d 45 20 3d 20 27 \nconst NAME = '
000217c0: 74 6f 61 73 74 27 5c 6e 63 6f 6e 73 74 20 44 41 toast'\nconst DA
000217d0: 54 41 5f 4b 45 59 20 3d 20 27 62 73 2e 74 6f 61 TA_KEY = 'bs.toa
000217e0: 73 74 27 5c 6e 63 6f 6e 73 74 20 45 56 45 4e 54 st'\nconst EVENT
000217f0: 5f 4b 45 59 20 3d 20 60 2e 24 7b 44 41 54 41 5f _KEY = `.${DATA_
00021800: 4b 45 59 7d 60 5c 6e 5c 6e 63 6f 6e 73 74 20 45 KEY}`\n\nconst E
00021810: 56 45 4e 54 5f 4d 4f 55 53 45 4f 56 45 52 20 3d VENT_MOUSEOVER =
00021820: 20 60 6d 6f 75 73 65 6f 76 65 72 24 7b 45 56 45 `mouseover${EVE
00021830: 4e 54 5f 4b 45 59 7d 60 5c 6e 63 6f 6e 73 74 20 NT_KEY}`\nconst
00021840: 45 56 45 4e 54 5f 4d 4f 55 53 45 4f 55 54 20 3d EVENT_MOUSEOUT =
00021850: 20 60 6d 6f 75 73 65 6f 75 74 24 7b 45 56 45 4e `mouseout${EVEN
00021860: 54 5f 4b 45 59 7d 60 5c 6e 63 6f 6e 73 74 20 45 T_KEY}`\nconst E
00021870: 56 45 4e 54 5f 46 4f 43 55 53 49 4e 20 3d 20 60 VENT_FOCUSIN = `
00021880: 66 6f 63 75 73 69 6e 24 7b 45 56 45 4e 54 5f 4b focusin${EVENT_K
00021890: 45 59 7d 60 5c 6e 63 6f 6e 73 74 20 45 56 45 4e EY}`\nconst EVEN
000218a0: 54 5f 46 4f 43 55 53 4f 55 54 20 3d 20 60 66 6f T_FOCUSOUT = `fo
000218b0: 63 75 73 6f 75 74 24 7b 45 56 45 4e 54 5f 4b 45 cusout${EVENT_KE
000218c0: 59 7d 60 5c 6e 63 6f 6e 73 74 20 45 56 45 4e 54 Y}`\nconst EVENT
000218d0: 5f 48 49 44 45 20 3d 20 60 68 69 64 65 24 7b 45 _HIDE = `hide${E
000218e0: 56 45 4e 54 5f 4b 45 59 7d 60 5c 6e 63 6f 6e 73 VENT_KEY}`\ncons
000218f0: 74 20 45 56 45 4e 54 5f 48 49 44 44 45 4e 20 3d t EVENT_HIDDEN =
00021900: 20 60 68 69 64 64 65 6e 24 7b 45 56 45 4e 54 5f `hidden${EVENT_
00021910: 4b 45 59 7d 60 5c 6e 63 6f 6e 73 74 20 45 56 45 KEY}`\nconst EVE
00021920: 4e 54 5f 53 48 4f 57 20 3d 20 60 73 68 6f 77 24 NT_SHOW = `show$
00021930: 7b 45 56 45 4e 54 5f 4b 45 59 7d 60 5c 6e 63 6f {EVENT_KEY}`\nco
00021940: 6e 73 74 20 45 56 45 4e 54 5f 53 48 4f 57 4e 20 nst EVENT_SHOWN
00021950: 3d 20 60 73 68 6f 77 6e 24 7b 45 56 45 4e 54 5f = `shown${EVENT_
00021960: 4b 45 59 7d 60 5c 6e 5c 6e 63 6f 6e 73 74 20 43 KEY}`\n\nconst C
00021970: 4c 41 53 53 5f 4e 41 4d 45 5f 46 41 44 45 20 3d LASS_NAME_FADE =
00021980: 20 27 66 61 64 65 27 5c 6e 63 6f 6e 73 74 20 43 'fade'\nconst C
00021990: 4c 41 53 53 5f 4e 41 4d 45 5f 48 49 44 45 20 3d LASS_NAME_HIDE =
000219a0: 20 27 68 69 64 65 27 20 2f 2f 20 40 64 65 70 72 'hide' // @depr
000219b0: 65 63 61 74 65 64 20 2d 20 6b 65 70 74 20 68 65 ecated - kept he
000219c0: 72 65 20 6f 6e 6c 79 20 66 6f 72 20 62 61 63 6b re only for back
000219d0: 77 61 72 64 73 20 63 6f 6d 70 61 74 69 62 69 6c wards compatibil
000219e0: 69 74 79 5c 6e 63 6f 6e 73 74 20 43 4c 41 53 53 ity\nconst CLASS
000219f0: 5f 4e 41 4d 45 5f 53 48 4f 57 20 3d 20 27 73 68 _NAME_SHOW = 'sh
00021a00: 6f 77 27 5c 6e 63 6f 6e 73 74 20 43 4c 41 53 53 ow'\nconst CLASS
00021a10: 5f 4e 41 4d 45 5f 53 48 4f 57 49 4e 47 20 3d 20 _NAME_SHOWING =
00021a20: 27 73 68 6f 77 69 6e 67 27 5c 6e 5c 6e 63 6f 6e 'showing'\n\ncon
00021a30: 73 74 20 44 65 66 61 75 6c 74 54 79 70 65 20 3d st DefaultType =
00021a40: 20 7b 5c 6e 20 20 61 6e 69 6d 61 74 69 6f 6e 3a {\n animation:
00021a50: 20 27 62 6f 6f 6c 65 61 6e 27 2c 5c 6e 20 20 61 'boolean',\n a
00021a60: 75 74 6f 68 69 64 65 3a 20 27 62 6f 6f 6c 65 61 utohide: 'boolea
00021a70: 6e 27 2c 5c 6e 20 20 64 65 6c 61 79 3a 20 27 6e n',\n delay: 'n
00021a80: 75 6d 62 65 72 27 5c 6e 7d 5c 6e 5c 6e 63 6f 6e umber'\n}\n\ncon
00021a90: 73 74 20 44 65 66 61 75 6c 74 20 3d 20 7b 5c 6e st Default = {\n
00021aa0: 20 20 61 6e 69 6d 61 74 69 6f 6e 3a 20 74 72 75 animation: tru
00021ab0: 65 2c 5c 6e 20 20 61 75 74 6f 68 69 64 65 3a 20 e,\n autohide:
00021ac0: 74 72 75 65 2c 5c 6e 20 20 64 65 6c 61 79 3a 20 true,\n delay:
00021ad0: 35 30 30 30 5c 6e 7d 5c 6e 5c 6e 2f 2a 2a 5c 6e 5000\n}\n\n/**\n
00021ae0: 20 2a 20 43 6c 61 73 73 20 64 65 66 69 6e 69 74 * Class definit
00021af0: 69 6f 6e 5c 6e 20 2a 2f 5c 6e 5c 6e 63 6c 61 73 ion\n */\n\nclas
00021b00: 73 20 54 6f 61 73 74 20 65 78 74 65 6e 64 73 20 s Toast extends
00021b10: 42 61 73 65 43 6f 6d 70 6f 6e 65 6e 74 20 7b 5c BaseComponent {\
00021b20: 6e 20 20 63 6f 6e 73 74 72 75 63 74 6f 72 28 65 n constructor(e
00021b30: 6c 65 6d 65 6e 74 2c 20 63 6f 6e 66 69 67 29 20 lement, config)
00021b40: 7b 5c 6e 20 20 20 20 73 75 70 65 72 28 65 6c 65 {\n super(ele
00021b50: 6d 65 6e 74 2c 20 63 6f 6e 66 69 67 29 5c 6e 5c ment, config)\n\
00021b60: 6e 20 20 20 20 74 68 69 73 2e 5f 74 69 6d 65 6f n this._timeo
00021b70: 75 74 20 3d 20 6e 75 6c 6c 5c 6e 20 20 20 20 74 ut = null\n t
00021b80: 68 69 73 2e 5f 68 61 73 4d 6f 75 73 65 49 6e 74 his._hasMouseInt
00021b90: 65 72 61 63 74 69 6f 6e 20 3d 20 66 61 6c 73 65 eraction = false
00021ba0: 5c 6e 20 20 20 20 74 68 69 73 2e 5f 68 61 73 4b \n this._hasK
00021bb0: 65 79 62 6f 61 72 64 49 6e 74 65 72 61 63 74 69 eyboardInteracti
00021bc0: 6f 6e 20 3d 20 66 61 6c 73 65 5c 6e 20 20 20 20 on = false\n
00021bd0: 74 68 69 73 2e 5f 73 65 74 4c 69 73 74 65 6e 65 this._setListene
00021be0: 72 73 28 29 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 2f rs()\n }\n\n /
00021bf0: 2f 20 47 65 74 74 65 72 73 5c 6e 20 20 73 74 61 / Getters\n sta
00021c00: 74 69 63 20 67 65 74 20 44 65 66 61 75 6c 74 28 tic get Default(
00021c10: 29 20 7b 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 ) {\n return
00021c20: 44 65 66 61 75 6c 74 5c 6e 20 20 7d 5c 6e 5c 6e Default\n }\n\n
00021c30: 20 20 73 74 61 74 69 63 20 67 65 74 20 44 65 66 static get Def
00021c40: 61 75 6c 74 54 79 70 65 28 29 20 7b 5c 6e 20 20 aultType() {\n
00021c50: 20 20 72 65 74 75 72 6e 20 44 65 66 61 75 6c 74 return Default
00021c60: 54 79 70 65 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 73 Type\n }\n\n s
00021c70: 74 61 74 69 63 20 67 65 74 20 4e 41 4d 45 28 29 tatic get NAME()
00021c80: 20 7b 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 4e {\n return N
00021c90: 41 4d 45 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 2f 2f AME\n }\n\n //
00021ca0: 20 50 75 62 6c 69 63 5c 6e 20 20 73 68 6f 77 28 Public\n show(
00021cb0: 29 20 7b 5c 6e 20 20 20 20 63 6f 6e 73 74 20 73 ) {\n const s
00021cc0: 68 6f 77 45 76 65 6e 74 20 3d 20 45 76 65 6e 74 howEvent = Event
00021cd0: 48 61 6e 64 6c 65 72 2e 74 72 69 67 67 65 72 28 Handler.trigger(
00021ce0: 74 68 69 73 2e 5f 65 6c 65 6d 65 6e 74 2c 20 45 this._element, E
00021cf0: 56 45 4e 54 5f 53 48 4f 57 29 5c 6e 5c 6e 20 20 VENT_SHOW)\n\n
00021d00: 20 20 69 66 20 28 73 68 6f 77 45 76 65 6e 74 2e if (showEvent.
00021d10: 64 65 66 61 75 6c 74 50 72 65 76 65 6e 74 65 64 defaultPrevented
00021d20: 29 20 7b 5c 6e 20 20 20 20 20 20 72 65 74 75 72 ) {\n retur
00021d30: 6e 5c 6e 20 20 20 20 7d 5c 6e 5c 6e 20 20 20 20 n\n }\n\n
00021d40: 74 68 69 73 2e 5f 63 6c 65 61 72 54 69 6d 65 6f this._clearTimeo
00021d50: 75 74 28 29 5c 6e 5c 6e 20 20 20 20 69 66 20 28 ut()\n\n if (
00021d60: 74 68 69 73 2e 5f 63 6f 6e 66 69 67 2e 61 6e 69 this._config.ani
00021d70: 6d 61 74 69 6f 6e 29 20 7b 5c 6e 20 20 20 20 20 mation) {\n
00021d80: 20 74 68 69 73 2e 5f 65 6c 65 6d 65 6e 74 2e 63 this._element.c
00021d90: 6c 61 73 73 4c 69 73 74 2e 61 64 64 28 43 4c 41 lassList.add(CLA
00021da0: 53 53 5f 4e 41 4d 45 5f 46 41 44 45 29 5c 6e 20 SS_NAME_FADE)\n
00021db0: 20 20 20 7d 5c 6e 5c 6e 20 20 20 20 63 6f 6e 73 }\n\n cons
00021dc0: 74 20 63 6f 6d 70 6c 65 74 65 20 3d 20 28 29 20 t complete = ()
00021dd0: 3d 3e 20 7b 5c 6e 20 20 20 20 20 20 74 68 69 73 => {\n this
00021de0: 2e 5f 65 6c 65 6d 65 6e 74 2e 63 6c 61 73 73 4c ._element.classL
00021df0: 69 73 74 2e 72 65 6d 6f 76 65 28 43 4c 41 53 53 ist.remove(CLASS
00021e00: 5f 4e 41 4d 45 5f 53 48 4f 57 49 4e 47 29 5c 6e _NAME_SHOWING)\n
00021e10: 20 20 20 20 20 20 45 76 65 6e 74 48 61 6e 64 6c EventHandl
00021e20: 65 72 2e 74 72 69 67 67 65 72 28 74 68 69 73 2e er.trigger(this.
00021e30: 5f 65 6c 65 6d 65 6e 74 2c 20 45 56 45 4e 54 5f _element, EVENT_
00021e40: 53 48 4f 57 4e 29 5c 6e 5c 6e 20 20 20 20 20 20 SHOWN)\n\n
00021e50: 74 68 69 73 2e 5f 6d 61 79 62 65 53 63 68 65 64 this._maybeSched
00021e60: 75 6c 65 48 69 64 65 28 29 5c 6e 20 20 20 20 7d uleHide()\n }
00021e70: 5c 6e 5c 6e 20 20 20 20 74 68 69 73 2e 5f 65 6c \n\n this._el
00021e80: 65 6d 65 6e 74 2e 63 6c 61 73 73 4c 69 73 74 2e ement.classList.
00021e90: 72 65 6d 6f 76 65 28 43 4c 41 53 53 5f 4e 41 4d remove(CLASS_NAM
00021ea0: 45 5f 48 49 44 45 29 20 2f 2f 20 40 64 65 70 72 E_HIDE) // @depr
00021eb0: 65 63 61 74 65 64 5c 6e 20 20 20 20 72 65 66 6c ecated\n refl
00021ec0: 6f 77 28 74 68 69 73 2e 5f 65 6c 65 6d 65 6e 74 ow(this._element
00021ed0: 29 5c 6e 20 20 20 20 74 68 69 73 2e 5f 65 6c 65 )\n this._ele
00021ee0: 6d 65 6e 74 2e 63 6c 61 73 73 4c 69 73 74 2e 61 ment.classList.a
00021ef0: 64 64 28 43 4c 41 53 53 5f 4e 41 4d 45 5f 53 48 dd(CLASS_NAME_SH
00021f00: 4f 57 2c 20 43 4c 41 53 53 5f 4e 41 4d 45 5f 53 OW, CLASS_NAME_S
00021f10: 48 4f 57 49 4e 47 29 5c 6e 5c 6e 20 20 20 20 74 HOWING)\n\n t
00021f20: 68 69 73 2e 5f 71 75 65 75 65 43 61 6c 6c 62 61 his._queueCallba
00021f30: 63 6b 28 63 6f 6d 70 6c 65 74 65 2c 20 74 68 69 ck(complete, thi
00021f40: 73 2e 5f 65 6c 65 6d 65 6e 74 2c 20 74 68 69 73 s._element, this
00021f50: 2e 5f 63 6f 6e 66 69 67 2e 61 6e 69 6d 61 74 69 ._config.animati
00021f60: 6f 6e 29 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 68 69 on)\n }\n\n hi
00021f70: 64 65 28 29 20 7b 5c 6e 20 20 20 20 69 66 20 28 de() {\n if (
00021f80: 21 74 68 69 73 2e 69 73 53 68 6f 77 6e 28 29 29 !this.isShown())
00021f90: 20 7b 5c 6e 20 20 20 20 20 20 72 65 74 75 72 6e {\n return
00021fa0: 5c 6e 20 20 20 20 7d 5c 6e 5c 6e 20 20 20 20 63 \n }\n\n c
00021fb0: 6f 6e 73 74 20 68 69 64 65 45 76 65 6e 74 20 3d onst hideEvent =
00021fc0: 20 45 76 65 6e 74 48 61 6e 64 6c 65 72 2e 74 72 EventHandler.tr
00021fd0: 69 67 67 65 72 28 74 68 69 73 2e 5f 65 6c 65 6d igger(this._elem
00021fe0: 65 6e 74 2c 20 45 56 45 4e 54 5f 48 49 44 45 29 ent, EVENT_HIDE)
00021ff0: 5c 6e 5c 6e 20 20 20 20 69 66 20 28 68 69 64 65 \n\n if (hide
00022000: 45 76 65 6e 74 2e 64 65 66 61 75 6c 74 50 72 65 Event.defaultPre
00022010: 76 65 6e 74 65 64 29 20 7b 5c 6e 20 20 20 20 20 vented) {\n
00022020: 20 72 65 74 75 72 6e 5c 6e 20 20 20 20 7d 5c 6e return\n }\n
00022030: 5c 6e 20 20 20 20 63 6f 6e 73 74 20 63 6f 6d 70 \n const comp
00022040: 6c 65 74 65 20 3d 20 28 29 20 3d 3e 20 7b 5c 6e lete = () => {\n
00022050: 20 20 20 20 20 20 74 68 69 73 2e 5f 65 6c 65 6d this._elem
00022060: 65 6e 74 2e 63 6c 61 73 73 4c 69 73 74 2e 61 64 ent.classList.ad
00022070: 64 28 43 4c 41 53 53 5f 4e 41 4d 45 5f 48 49 44 d(CLASS_NAME_HID
00022080: 45 29 20 2f 2f 20 40 64 65 70 72 65 63 61 74 65 E) // @deprecate
00022090: 64 5c 6e 20 20 20 20 20 20 74 68 69 73 2e 5f 65 d\n this._e
000220a0: 6c 65 6d 65 6e 74 2e 63 6c 61 73 73 4c 69 73 74 lement.classList
000220b0: 2e 72 65 6d 6f 76 65 28 43 4c 41 53 53 5f 4e 41 .remove(CLASS_NA
000220c0: 4d 45 5f 53 48 4f 57 49 4e 47 2c 20 43 4c 41 53 ME_SHOWING, CLAS
000220d0: 53 5f 4e 41 4d 45 5f 53 48 4f 57 29 5c 6e 20 20 S_NAME_SHOW)\n
000220e0: 20 20 20 20 45 76 65 6e 74 48 61 6e 64 6c 65 72 EventHandler
000220f0: 2e 74 72 69 67 67 65 72 28 74 68 69 73 2e 5f 65 .trigger(this._e
00022100: 6c 65 6d 65 6e 74 2c 20 45 56 45 4e 54 5f 48 49 lement, EVENT_HI
00022110: 44 44 45 4e 29 5c 6e 20 20 20 20 7d 5c 6e 5c 6e DDEN)\n }\n\n
00022120: 20 20 20 20 74 68 69 73 2e 5f 65 6c 65 6d 65 6e this._elemen
00022130: 74 2e 63 6c 61 73 73 4c 69 73 74 2e 61 64 64 28 t.classList.add(
00022140: 43 4c 41 53 53 5f 4e 41 4d 45 5f 53 48 4f 57 49 CLASS_NAME_SHOWI
00022150: 4e 47 29 5c 6e 20 20 20 20 74 68 69 73 2e 5f 71 NG)\n this._q
00022160: 75 65 75 65 43 61 6c 6c 62 61 63 6b 28 63 6f 6d ueueCallback(com
00022170: 70 6c 65 74 65 2c 20 74 68 69 73 2e 5f 65 6c 65 plete, this._ele
00022180: 6d 65 6e 74 2c 20 74 68 69 73 2e 5f 63 6f 6e 66 ment, this._conf
00022190: 69 67 2e 61 6e 69 6d 61 74 69 6f 6e 29 5c 6e 20 ig.animation)\n
000221a0: 20 7d 5c 6e 5c 6e 20 20 64 69 73 70 6f 73 65 28 }\n\n dispose(
000221b0: 29 20 7b 5c 6e 20 20 20 20 74 68 69 73 2e 5f 63 ) {\n this._c
000221c0: 6c 65 61 72 54 69 6d 65 6f 75 74 28 29 5c 6e 5c learTimeout()\n\
000221d0: 6e 20 20 20 20 69 66 20 28 74 68 69 73 2e 69 73 n if (this.is
000221e0: 53 68 6f 77 6e 28 29 29 20 7b 5c 6e 20 20 20 20 Shown()) {\n
000221f0: 20 20 74 68 69 73 2e 5f 65 6c 65 6d 65 6e 74 2e this._element.
00022200: 63 6c 61 73 73 4c 69 73 74 2e 72 65 6d 6f 76 65 classList.remove
00022210: 28 43 4c 41 53 53 5f 4e 41 4d 45 5f 53 48 4f 57 (CLASS_NAME_SHOW
00022220: 29 5c 6e 20 20 20 20 7d 5c 6e 5c 6e 20 20 20 20 )\n }\n\n
00022230: 73 75 70 65 72 2e 64 69 73 70 6f 73 65 28 29 5c super.dispose()\
00022240: 6e 20 20 7d 5c 6e 5c 6e 20 20 69 73 53 68 6f 77 n }\n\n isShow
00022250: 6e 28 29 20 7b 5c 6e 20 20 20 20 72 65 74 75 72 n() {\n retur
00022260: 6e 20 74 68 69 73 2e 5f 65 6c 65 6d 65 6e 74 2e n this._element.
00022270: 63 6c 61 73 73 4c 69 73 74 2e 63 6f 6e 74 61 69 classList.contai
00022280: 6e 73 28 43 4c 41 53 53 5f 4e 41 4d 45 5f 53 48 ns(CLASS_NAME_SH
00022290: 4f 57 29 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 2f 2f OW)\n }\n\n //
000222a0: 20 50 72 69 76 61 74 65 5c 6e 5c 6e 20 20 5f 6d Private\n\n _m
000222b0: 61 79 62 65 53 63 68 65 64 75 6c 65 48 69 64 65 aybeScheduleHide
000222c0: 28 29 20 7b 5c 6e 20 20 20 20 69 66 20 28 21 74 () {\n if (!t
000222d0: 68 69 73 2e 5f 63 6f 6e 66 69 67 2e 61 75 74 6f his._config.auto
000222e0: 68 69 64 65 29 20 7b 5c 6e 20 20 20 20 20 20 72 hide) {\n r
000222f0: 65 74 75 72 6e 5c 6e 20 20 20 20 7d 5c 6e 5c 6e eturn\n }\n\n
00022300: 20 20 20 20 69 66 20 28 74 68 69 73 2e 5f 68 61 if (this._ha
00022310: 73 4d 6f 75 73 65 49 6e 74 65 72 61 63 74 69 6f sMouseInteractio
00022320: 6e 20 7c 7c 20 74 68 69 73 2e 5f 68 61 73 4b 65 n || this._hasKe
00022330: 79 62 6f 61 72 64 49 6e 74 65 72 61 63 74 69 6f yboardInteractio
00022340: 6e 29 20 7b 5c 6e 20 20 20 20 20 20 72 65 74 75 n) {\n retu
00022350: 72 6e 5c 6e 20 20 20 20 7d 5c 6e 5c 6e 20 20 20 rn\n }\n\n
00022360: 20 74 68 69 73 2e 5f 74 69 6d 65 6f 75 74 20 3d this._timeout =
00022370: 20 73 65 74 54 69 6d 65 6f 75 74 28 28 29 20 3d setTimeout(() =
00022380: 3e 20 7b 5c 6e 20 20 20 20 20 20 74 68 69 73 2e > {\n this.
00022390: 68 69 64 65 28 29 5c 6e 20 20 20 20 7d 2c 20 74 hide()\n }, t
000223a0: 68 69 73 2e 5f 63 6f 6e 66 69 67 2e 64 65 6c 61 his._config.dela
000223b0: 79 29 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 5f 6f 6e y)\n }\n\n _on
000223c0: 49 6e 74 65 72 61 63 74 69 6f 6e 28 65 76 65 6e Interaction(even
000223d0: 74 2c 20 69 73 49 6e 74 65 72 61 63 74 69 6e 67 t, isInteracting
000223e0: 29 20 7b 5c 6e 20 20 20 20 73 77 69 74 63 68 20 ) {\n switch
000223f0: 28 65 76 65 6e 74 2e 74 79 70 65 29 20 7b 5c 6e (event.type) {\n
00022400: 20 20 20 20 20 20 63 61 73 65 20 27 6d 6f 75 73 case 'mous
00022410: 65 6f 76 65 72 27 3a 5c 6e 20 20 20 20 20 20 63 eover':\n c
00022420: 61 73 65 20 27 6d 6f 75 73 65 6f 75 74 27 3a 20 ase 'mouseout':
00022430: 7b 5c 6e 20 20 20 20 20 20 20 20 74 68 69 73 2e {\n this.
00022440: 5f 68 61 73 4d 6f 75 73 65 49 6e 74 65 72 61 63 _hasMouseInterac
00022450: 74 69 6f 6e 20 3d 20 69 73 49 6e 74 65 72 61 63 tion = isInterac
00022460: 74 69 6e 67 5c 6e 20 20 20 20 20 20 20 20 62 72 ting\n br
00022470: 65 61 6b 5c 6e 20 20 20 20 20 20 7d 5c 6e 5c 6e eak\n }\n\n
00022480: 20 20 20 20 20 20 63 61 73 65 20 27 66 6f 63 75 case 'focu
00022490: 73 69 6e 27 3a 5c 6e 20 20 20 20 20 20 63 61 73 sin':\n cas
000224a0: 65 20 27 66 6f 63 75 73 6f 75 74 27 3a 20 7b 5c e 'focusout': {\
000224b0: 6e 20 20 20 20 20 20 20 20 74 68 69 73 2e 5f 68 n this._h
000224c0: 61 73 4b 65 79 62 6f 61 72 64 49 6e 74 65 72 61 asKeyboardIntera
000224d0: 63 74 69 6f 6e 20 3d 20 69 73 49 6e 74 65 72 61 ction = isIntera
000224e0: 63 74 69 6e 67 5c 6e 20 20 20 20 20 20 20 20 62 cting\n b
000224f0: 72 65 61 6b 5c 6e 20 20 20 20 20 20 7d 5c 6e 5c reak\n }\n\
00022500: 6e 20 20 20 20 20 20 64 65 66 61 75 6c 74 3a 20 n default:
00022510: 7b 5c 6e 20 20 20 20 20 20 20 20 62 72 65 61 6b {\n break
00022520: 5c 6e 20 20 20 20 20 20 7d 5c 6e 20 20 20 20 7d \n }\n }
00022530: 5c 6e 5c 6e 20 20 20 20 69 66 20 28 69 73 49 6e \n\n if (isIn
00022540: 74 65 72 61 63 74 69 6e 67 29 20 7b 5c 6e 20 20 teracting) {\n
00022550: 20 20 20 20 74 68 69 73 2e 5f 63 6c 65 61 72 54 this._clearT
00022560: 69 6d 65 6f 75 74 28 29 5c 6e 20 20 20 20 20 20 imeout()\n
00022570: 72 65 74 75 72 6e 5c 6e 20 20 20 20 7d 5c 6e 5c return\n }\n\
00022580: 6e 20 20 20 20 63 6f 6e 73 74 20 6e 65 78 74 45 n const nextE
00022590: 6c 65 6d 65 6e 74 20 3d 20 65 76 65 6e 74 2e 72 lement = event.r
000225a0: 65 6c 61 74 65 64 54 61 72 67 65 74 5c 6e 20 20 elatedTarget\n
000225b0: 20 20 69 66 20 28 74 68 69 73 2e 5f 65 6c 65 6d if (this._elem
000225c0: 65 6e 74 20 3d 3d 3d 20 6e 65 78 74 45 6c 65 6d ent === nextElem
000225d0: 65 6e 74 20 7c 7c 20 74 68 69 73 2e 5f 65 6c 65 ent || this._ele
000225e0: 6d 65 6e 74 2e 63 6f 6e 74 61 69 6e 73 28 6e 65 ment.contains(ne
000225f0: 78 74 45 6c 65 6d 65 6e 74 29 29 20 7b 5c 6e 20 xtElement)) {\n
00022600: 20 20 20 20 20 72 65 74 75 72 6e 5c 6e 20 20 20 return\n
00022610: 20 7d 5c 6e 5c 6e 20 20 20 20 74 68 69 73 2e 5f }\n\n this._
00022620: 6d 61 79 62 65 53 63 68 65 64 75 6c 65 48 69 64 maybeScheduleHid
00022630: 65 28 29 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 5f 73 e()\n }\n\n _s
00022640: 65 74 4c 69 73 74 65 6e 65 72 73 28 29 20 7b 5c etListeners() {\
00022650: 6e 20 20 20 20 45 76 65 6e 74 48 61 6e 64 6c 65 n EventHandle
00022660: 72 2e 6f 6e 28 74 68 69 73 2e 5f 65 6c 65 6d 65 r.on(this._eleme
00022670: 6e 74 2c 20 45 56 45 4e 54 5f 4d 4f 55 53 45 4f nt, EVENT_MOUSEO
00022680: 56 45 52 2c 20 65 76 65 6e 74 20 3d 3e 20 74 68 VER, event => th
00022690: 69 73 2e 5f 6f 6e 49 6e 74 65 72 61 63 74 69 6f is._onInteractio
000226a0: 6e 28 65 76 65 6e 74 2c 20 74 72 75 65 29 29 5c n(event, true))\
000226b0: 6e 20 20 20 20 45 76 65 6e 74 48 61 6e 64 6c 65 n EventHandle
000226c0: 72 2e 6f 6e 28 74 68 69 73 2e 5f 65 6c 65 6d 65 r.on(this._eleme
000226d0: 6e 74 2c 20 45 56 45 4e 54 5f 4d 4f 55 53 45 4f nt, EVENT_MOUSEO
000226e0: 55 54 2c 20 65 76 65 6e 74 20 3d 3e 20 74 68 69 UT, event => thi
000226f0: 73 2e 5f 6f 6e 49 6e 74 65 72 61 63 74 69 6f 6e s._onInteraction
00022700: 28 65 76 65 6e 74 2c 20 66 61 6c 73 65 29 29 5c (event, false))\
00022710: 6e 20 20 20 20 45 76 65 6e 74 48 61 6e 64 6c 65 n EventHandle
00022720: 72 2e 6f 6e 28 74 68 69 73 2e 5f 65 6c 65 6d 65 r.on(this._eleme
00022730: 6e 74 2c 20 45 56 45 4e 54 5f 46 4f 43 55 53 49 nt, EVENT_FOCUSI
00022740: 4e 2c 20 65 76 65 6e 74 20 3d 3e 20 74 68 69 73 N, event => this
00022750: 2e 5f 6f 6e 49 6e 74 65 72 61 63 74 69 6f 6e 28 ._onInteraction(
00022760: 65 76 65 6e 74 2c 20 74 72 75 65 29 29 5c 6e 20 event, true))\n
00022770: 20 20 20 45 76 65 6e 74 48 61 6e 64 6c 65 72 2e EventHandler.
00022780: 6f 6e 28 74 68 69 73 2e 5f 65 6c 65 6d 65 6e 74 on(this._element
00022790: 2c 20 45 56 45 4e 54 5f 46 4f 43 55 53 4f 55 54 , EVENT_FOCUSOUT
000227a0: 2c 20 65 76 65 6e 74 20 3d 3e 20 74 68 69 73 2e , event => this.
000227b0: 5f 6f 6e 49 6e 74 65 72 61 63 74 69 6f 6e 28 65 _onInteraction(e
000227c0: 76 65 6e 74 2c 20 66 61 6c 73 65 29 29 5c 6e 20 vent, false))\n
000227d0: 20 7d 5c 6e 5c 6e 20 20 5f 63 6c 65 61 72 54 69 }\n\n _clearTi
000227e0: 6d 65 6f 75 74 28 29 20 7b 5c 6e 20 20 20 20 63 meout() {\n c
000227f0: 6c 65 61 72 54 69 6d 65 6f 75 74 28 74 68 69 73 learTimeout(this
00022800: 2e 5f 74 69 6d 65 6f 75 74 29 5c 6e 20 20 20 20 ._timeout)\n
00022810: 74 68 69 73 2e 5f 74 69 6d 65 6f 75 74 20 3d 20 this._timeout =
00022820: 6e 75 6c 6c 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 2f null\n }\n\n /
00022830: 2f 20 53 74 61 74 69 63 5c 6e 20 20 73 74 61 74 / Static\n stat
00022840: 69 63 20 6a 51 75 65 72 79 49 6e 74 65 72 66 61 ic jQueryInterfa
00022850: 63 65 28 63 6f 6e 66 69 67 29 20 7b 5c 6e 20 20 ce(config) {\n
00022860: 20 20 72 65 74 75 72 6e 20 74 68 69 73 2e 65 61 return this.ea
00022870: 63 68 28 66 75 6e 63 74 69 6f 6e 20 28 29 20 7b ch(function () {
00022880: 5c 6e 20 20 20 20 20 20 63 6f 6e 73 74 20 64 61 \n const da
00022890: 74 61 20 3d 20 54 6f 61 73 74 2e 67 65 74 4f 72 ta = Toast.getOr
000228a0: 43 72 65 61 74 65 49 6e 73 74 61 6e 63 65 28 74 CreateInstance(t
000228b0: 68 69 73 2c 20 63 6f 6e 66 69 67 29 5c 6e 5c 6e his, config)\n\n
000228c0: 20 20 20 20 20 20 69 66 20 28 74 79 70 65 6f 66 if (typeof
000228d0: 20 63 6f 6e 66 69 67 20 3d 3d 3d 20 27 73 74 72 config === 'str
000228e0: 69 6e 67 27 29 20 7b 5c 6e 20 20 20 20 20 20 20 ing') {\n
000228f0: 20 69 66 20 28 74 79 70 65 6f 66 20 64 61 74 61 if (typeof data
00022900: 5b 63 6f 6e 66 69 67 5d 20 3d 3d 3d 20 27 75 6e [config] === 'un
00022910: 64 65 66 69 6e 65 64 27 29 20 7b 5c 6e 20 20 20 defined') {\n
00022920: 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 throw new
00022930: 20 54 79 70 65 45 72 72 6f 72 28 60 4e 6f 20 6d TypeError(`No m
00022940: 65 74 68 6f 64 20 6e 61 6d 65 64 20 5c 22 24 7b ethod named \"${
00022950: 63 6f 6e 66 69 67 7d 5c 22 60 29 5c 6e 20 20 20 config}\"`)\n
00022960: 20 20 20 20 20 7d 5c 6e 5c 6e 20 20 20 20 20 20 }\n\n
00022970: 20 20 64 61 74 61 5b 63 6f 6e 66 69 67 5d 28 74 data[config](t
00022980: 68 69 73 29 5c 6e 20 20 20 20 20 20 7d 5c 6e 20 his)\n }\n
00022990: 20 20 20 7d 29 5c 6e 20 20 7d 5c 6e 7d 5c 6e 5c })\n }\n}\n\
000229a0: 6e 2f 2a 2a 5c 6e 20 2a 20 44 61 74 61 20 41 50 n/**\n * Data AP
000229b0: 49 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e I implementation
000229c0: 5c 6e 20 2a 2f 5c 6e 5c 6e 65 6e 61 62 6c 65 44 \n */\n\nenableD
000229d0: 69 73 6d 69 73 73 54 72 69 67 67 65 72 28 54 6f ismissTrigger(To
000229e0: 61 73 74 29 5c 6e 5c 6e 2f 2a 2a 5c 6e 20 2a 20 ast)\n\n/**\n *
000229f0: 6a 51 75 65 72 79 5c 6e 20 2a 2f 5c 6e 5c 6e 64 jQuery\n */\n\nd
00022a00: 65 66 69 6e 65 4a 51 75 65 72 79 50 6c 75 67 69 efineJQueryPlugi
00022a10: 6e 28 54 6f 61 73 74 29 5c 6e 5c 6e 65 78 70 6f n(Toast)\n\nexpo
00022a20: 72 74 20 64 65 66 61 75 6c 74 20 54 6f 61 73 74 rt default Toast
00022a30: 5c 6e 22 2c 22 2f 2a 2a 5c 6e 20 2a 20 2d 2d 2d \n","/**\n * ---
00022a40: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
00022a50: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
00022a60: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
00022a70: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
00022a80: 2d 2d 2d 2d 2d 2d 2d 5c 6e 20 2a 20 42 6f 6f 74 -------\n * Boot
00022a90: 73 74 72 61 70 20 69 6e 64 65 78 2e 75 6d 64 2e strap index.umd.
00022aa0: 6a 73 5c 6e 20 2a 20 4c 69 63 65 6e 73 65 64 20 js\n * Licensed
00022ab0: 75 6e 64 65 72 20 4d 49 54 20 28 68 74 74 70 73 under MIT (https
00022ac0: 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 74 77 ://github.com/tw
00022ad0: 62 73 2f 62 6f 6f 74 73 74 72 61 70 2f 62 6c 6f bs/bootstrap/blo
00022ae0: 62 2f 6d 61 69 6e 2f 4c 49 43 45 4e 53 45 29 5c b/main/LICENSE)\
00022af0: 6e 20 2a 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d n * ------------
00022b00: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
00022b10: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
00022b20: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
00022b30: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e --------------\n
00022b40: 20 2a 2f 5c 6e 5c 6e 69 6d 70 6f 72 74 20 41 6c */\n\nimport Al
00022b50: 65 72 74 20 66 72 6f 6d 20 27 2e 2f 73 72 63 2f ert from './src/
00022b60: 61 6c 65 72 74 2e 6a 73 27 5c 6e 69 6d 70 6f 72 alert.js'\nimpor
00022b70: 74 20 42 75 74 74 6f 6e 20 66 72 6f 6d 20 27 2e t Button from '.
00022b80: 2f 73 72 63 2f 62 75 74 74 6f 6e 2e 6a 73 27 5c /src/button.js'\
00022b90: 6e 69 6d 70 6f 72 74 20 43 61 72 6f 75 73 65 6c nimport Carousel
00022ba0: 20 66 72 6f 6d 20 27 2e 2f 73 72 63 2f 63 61 72 from './src/car
00022bb0: 6f 75 73 65 6c 2e 6a 73 27 5c 6e 69 6d 70 6f 72 ousel.js'\nimpor
00022bc0: 74 20 43 6f 6c 6c 61 70 73 65 20 66 72 6f 6d 20 t Collapse from
00022bd0: 27 2e 2f 73 72 63 2f 63 6f 6c 6c 61 70 73 65 2e './src/collapse.
00022be0: 6a 73 27 5c 6e 69 6d 70 6f 72 74 20 44 72 6f 70 js'\nimport Drop
00022bf0: 64 6f 77 6e 20 66 72 6f 6d 20 27 2e 2f 73 72 63 down from './src
00022c00: 2f 64 72 6f 70 64 6f 77 6e 2e 6a 73 27 5c 6e 69 /dropdown.js'\ni
00022c10: 6d 70 6f 72 74 20 4d 6f 64 61 6c 20 66 72 6f 6d mport Modal from
00022c20: 20 27 2e 2f 73 72 63 2f 6d 6f 64 61 6c 2e 6a 73 './src/modal.js
00022c30: 27 5c 6e 69 6d 70 6f 72 74 20 4f 66 66 63 61 6e '\nimport Offcan
00022c40: 76 61 73 20 66 72 6f 6d 20 27 2e 2f 73 72 63 2f vas from './src/
00022c50: 6f 66 66 63 61 6e 76 61 73 2e 6a 73 27 5c 6e 69 offcanvas.js'\ni
00022c60: 6d 70 6f 72 74 20 50 6f 70 6f 76 65 72 20 66 72 mport Popover fr
00022c70: 6f 6d 20 27 2e 2f 73 72 63 2f 70 6f 70 6f 76 65 om './src/popove
00022c80: 72 2e 6a 73 27 5c 6e 69 6d 70 6f 72 74 20 53 63 r.js'\nimport Sc
00022c90: 72 6f 6c 6c 53 70 79 20 66 72 6f 6d 20 27 2e 2f rollSpy from './
00022ca0: 73 72 63 2f 73 63 72 6f 6c 6c 73 70 79 2e 6a 73 src/scrollspy.js
00022cb0: 27 5c 6e 69 6d 70 6f 72 74 20 54 61 62 20 66 72 '\nimport Tab fr
00022cc0: 6f 6d 20 27 2e 2f 73 72 63 2f 74 61 62 2e 6a 73 om './src/tab.js
00022cd0: 27 5c 6e 69 6d 70 6f 72 74 20 54 6f 61 73 74 20 '\nimport Toast
00022ce0: 66 72 6f 6d 20 27 2e 2f 73 72 63 2f 74 6f 61 73 from './src/toas
00022cf0: 74 2e 6a 73 27 5c 6e 69 6d 70 6f 72 74 20 54 6f t.js'\nimport To
00022d00: 6f 6c 74 69 70 20 66 72 6f 6d 20 27 2e 2f 73 72 oltip from './sr
00022d10: 63 2f 74 6f 6f 6c 74 69 70 2e 6a 73 27 5c 6e 5c c/tooltip.js'\n\
00022d20: 6e 65 78 70 6f 72 74 20 64 65 66 61 75 6c 74 20 nexport default
00022d30: 7b 5c 6e 20 20 41 6c 65 72 74 2c 5c 6e 20 20 42 {\n Alert,\n B
00022d40: 75 74 74 6f 6e 2c 5c 6e 20 20 43 61 72 6f 75 73 utton,\n Carous
00022d50: 65 6c 2c 5c 6e 20 20 43 6f 6c 6c 61 70 73 65 2c el,\n Collapse,
00022d60: 5c 6e 20 20 44 72 6f 70 64 6f 77 6e 2c 5c 6e 20 \n Dropdown,\n
00022d70: 20 4d 6f 64 61 6c 2c 5c 6e 20 20 4f 66 66 63 61 Modal,\n Offca
00022d80: 6e 76 61 73 2c 5c 6e 20 20 50 6f 70 6f 76 65 72 nvas,\n Popover
00022d90: 2c 5c 6e 20 20 53 63 72 6f 6c 6c 53 70 79 2c 5c ,\n ScrollSpy,\
00022da0: 6e 20 20 54 61 62 2c 5c 6e 20 20 54 6f 61 73 74 n Tab,\n Toast
00022db0: 2c 5c 6e 20 20 54 6f 6f 6c 74 69 70 5c 6e 7d 5c ,\n Tooltip\n}\
00022dc0: 6e 22 2c 22 27 75 73 65 20 73 74 72 69 63 74 27 n","'use strict'
00022dd0: 5c 6e 5c 6e 65 78 70 6f 72 74 73 2e 62 79 74 65 \n\nexports.byte
00022de0: 4c 65 6e 67 74 68 20 3d 20 62 79 74 65 4c 65 6e Length = byteLen
00022df0: 67 74 68 5c 6e 65 78 70 6f 72 74 73 2e 74 6f 42 gth\nexports.toB
00022e00: 79 74 65 41 72 72 61 79 20 3d 20 74 6f 42 79 74 yteArray = toByt
00022e10: 65 41 72 72 61 79 5c 6e 65 78 70 6f 72 74 73 2e eArray\nexports.
00022e20: 66 72 6f 6d 42 79 74 65 41 72 72 61 79 20 3d 20 fromByteArray =
00022e30: 66 72 6f 6d 42 79 74 65 41 72 72 61 79 5c 6e 5c fromByteArray\n\
00022e40: 6e 76 61 72 20 6c 6f 6f 6b 75 70 20 3d 20 5b 5d nvar lookup = []
00022e50: 5c 6e 76 61 72 20 72 65 76 4c 6f 6f 6b 75 70 20 \nvar revLookup
00022e60: 3d 20 5b 5d 5c 6e 76 61 72 20 41 72 72 20 3d 20 = []\nvar Arr =
00022e70: 74 79 70 65 6f 66 20 55 69 6e 74 38 41 72 72 61 typeof Uint8Arra
00022e80: 79 20 21 3d 3d 20 27 75 6e 64 65 66 69 6e 65 64 y !== 'undefined
00022e90: 27 20 3f 20 55 69 6e 74 38 41 72 72 61 79 20 3a ' ? Uint8Array :
00022ea0: 20 41 72 72 61 79 5c 6e 5c 6e 76 61 72 20 63 6f Array\n\nvar co
00022eb0: 64 65 20 3d 20 27 41 42 43 44 45 46 47 48 49 4a de = 'ABCDEFGHIJ
00022ec0: 4b 4c 4d 4e 4f 50 51 52 53 54 55 56 57 58 59 5a KLMNOPQRSTUVWXYZ
00022ed0: 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 abcdefghijklmnop
00022ee0: 71 72 73 74 75 76 77 78 79 7a 30 31 32 33 34 35 qrstuvwxyz012345
00022ef0: 36 37 38 39 2b 2f 27 5c 6e 66 6f 72 20 28 76 61 6789+/'\nfor (va
00022f00: 72 20 69 20 3d 20 30 2c 20 6c 65 6e 20 3d 20 63 r i = 0, len = c
00022f10: 6f 64 65 2e 6c 65 6e 67 74 68 3b 20 69 20 3c 20 ode.length; i <
00022f20: 6c 65 6e 3b 20 2b 2b 69 29 20 7b 5c 6e 20 20 6c len; ++i) {\n l
00022f30: 6f 6f 6b 75 70 5b 69 5d 20 3d 20 63 6f 64 65 5b ookup[i] = code[
00022f40: 69 5d 5c 6e 20 20 72 65 76 4c 6f 6f 6b 75 70 5b i]\n revLookup[
00022f50: 63 6f 64 65 2e 63 68 61 72 43 6f 64 65 41 74 28 code.charCodeAt(
00022f60: 69 29 5d 20 3d 20 69 5c 6e 7d 5c 6e 5c 6e 2f 2f i)] = i\n}\n\n//
00022f70: 20 53 75 70 70 6f 72 74 20 64 65 63 6f 64 69 6e Support decodin
00022f80: 67 20 55 52 4c 2d 73 61 66 65 20 62 61 73 65 36 g URL-safe base6
00022f90: 34 20 73 74 72 69 6e 67 73 2c 20 61 73 20 4e 6f 4 strings, as No
00022fa0: 64 65 2e 6a 73 20 64 6f 65 73 2e 5c 6e 2f 2f 20 de.js does.\n//
00022fb0: 53 65 65 3a 20 68 74 74 70 73 3a 2f 2f 65 6e 2e See: https://en.
00022fc0: 77 69 6b 69 70 65 64 69 61 2e 6f 72 67 2f 77 69 wikipedia.org/wi
00022fd0: 6b 69 2f 42 61 73 65 36 34 23 55 52 4c 5f 61 70 ki/Base64#URL_ap
00022fe0: 70 6c 69 63 61 74 69 6f 6e 73 5c 6e 72 65 76 4c plications\nrevL
00022ff0: 6f 6f 6b 75 70 5b 27 2d 27 2e 63 68 61 72 43 6f ookup['-'.charCo
00023000: 64 65 41 74 28 30 29 5d 20 3d 20 36 32 5c 6e 72 deAt(0)] = 62\nr
00023010: 65 76 4c 6f 6f 6b 75 70 5b 27 5f 27 2e 63 68 61 evLookup['_'.cha
00023020: 72 43 6f 64 65 41 74 28 30 29 5d 20 3d 20 36 33 rCodeAt(0)] = 63
00023030: 5c 6e 5c 6e 66 75 6e 63 74 69 6f 6e 20 67 65 74 \n\nfunction get
00023040: 4c 65 6e 73 20 28 62 36 34 29 20 7b 5c 6e 20 20 Lens (b64) {\n
00023050: 76 61 72 20 6c 65 6e 20 3d 20 62 36 34 2e 6c 65 var len = b64.le
00023060: 6e 67 74 68 5c 6e 5c 6e 20 20 69 66 20 28 6c 65 ngth\n\n if (le
00023070: 6e 20 25 20 34 20 3e 20 30 29 20 7b 5c 6e 20 20 n % 4 > 0) {\n
00023080: 20 20 74 68 72 6f 77 20 6e 65 77 20 45 72 72 6f throw new Erro
00023090: 72 28 27 49 6e 76 61 6c 69 64 20 73 74 72 69 6e r('Invalid strin
000230a0: 67 2e 20 4c 65 6e 67 74 68 20 6d 75 73 74 20 62 g. Length must b
000230b0: 65 20 61 20 6d 75 6c 74 69 70 6c 65 20 6f 66 20 e a multiple of
000230c0: 34 27 29 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 2f 2f 4')\n }\n\n //
000230d0: 20 54 72 69 6d 20 6f 66 66 20 65 78 74 72 61 20 Trim off extra
000230e0: 62 79 74 65 73 20 61 66 74 65 72 20 70 6c 61 63 bytes after plac
000230f0: 65 68 6f 6c 64 65 72 20 62 79 74 65 73 20 61 72 eholder bytes ar
00023100: 65 20 66 6f 75 6e 64 5c 6e 20 20 2f 2f 20 53 65 e found\n // Se
00023110: 65 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 e: https://githu
00023120: 62 2e 63 6f 6d 2f 62 65 61 74 67 61 6d 6d 69 74 b.com/beatgammit
00023130: 2f 62 61 73 65 36 34 2d 6a 73 2f 69 73 73 75 65 /base64-js/issue
00023140: 73 2f 34 32 5c 6e 20 20 76 61 72 20 76 61 6c 69 s/42\n var vali
00023150: 64 4c 65 6e 20 3d 20 62 36 34 2e 69 6e 64 65 78 dLen = b64.index
00023160: 4f 66 28 27 3d 27 29 5c 6e 20 20 69 66 20 28 76 Of('=')\n if (v
00023170: 61 6c 69 64 4c 65 6e 20 3d 3d 3d 20 2d 31 29 20 alidLen === -1)
00023180: 76 61 6c 69 64 4c 65 6e 20 3d 20 6c 65 6e 5c 6e validLen = len\n
00023190: 5c 6e 20 20 76 61 72 20 70 6c 61 63 65 48 6f 6c \n var placeHol
000231a0: 64 65 72 73 4c 65 6e 20 3d 20 76 61 6c 69 64 4c dersLen = validL
000231b0: 65 6e 20 3d 3d 3d 20 6c 65 6e 5c 6e 20 20 20 20 en === len\n
000231c0: 3f 20 30 5c 6e 20 20 20 20 3a 20 34 20 2d 20 28 ? 0\n : 4 - (
000231d0: 76 61 6c 69 64 4c 65 6e 20 25 20 34 29 5c 6e 5c validLen % 4)\n\
000231e0: 6e 20 20 72 65 74 75 72 6e 20 5b 76 61 6c 69 64 n return [valid
000231f0: 4c 65 6e 2c 20 70 6c 61 63 65 48 6f 6c 64 65 72 Len, placeHolder
00023200: 73 4c 65 6e 5d 5c 6e 7d 5c 6e 5c 6e 2f 2f 20 62 sLen]\n}\n\n// b
00023210: 61 73 65 36 34 20 69 73 20 34 2f 33 20 2b 20 75 ase64 is 4/3 + u
00023220: 70 20 74 6f 20 74 77 6f 20 63 68 61 72 61 63 74 p to two charact
00023230: 65 72 73 20 6f 66 20 74 68 65 20 6f 72 69 67 69 ers of the origi
00023240: 6e 61 6c 20 64 61 74 61 5c 6e 66 75 6e 63 74 69 nal data\nfuncti
00023250: 6f 6e 20 62 79 74 65 4c 65 6e 67 74 68 20 28 62 on byteLength (b
00023260: 36 34 29 20 7b 5c 6e 20 20 76 61 72 20 6c 65 6e 64) {\n var len
00023270: 73 20 3d 20 67 65 74 4c 65 6e 73 28 62 36 34 29 s = getLens(b64)
00023280: 5c 6e 20 20 76 61 72 20 76 61 6c 69 64 4c 65 6e \n var validLen
00023290: 20 3d 20 6c 65 6e 73 5b 30 5d 5c 6e 20 20 76 61 = lens[0]\n va
000232a0: 72 20 70 6c 61 63 65 48 6f 6c 64 65 72 73 4c 65 r placeHoldersLe
000232b0: 6e 20 3d 20 6c 65 6e 73 5b 31 5d 5c 6e 20 20 72 n = lens[1]\n r
000232c0: 65 74 75 72 6e 20 28 28 76 61 6c 69 64 4c 65 6e eturn ((validLen
000232d0: 20 2b 20 70 6c 61 63 65 48 6f 6c 64 65 72 73 4c + placeHoldersL
000232e0: 65 6e 29 20 2a 20 33 20 2f 20 34 29 20 2d 20 70 en) * 3 / 4) - p
000232f0: 6c 61 63 65 48 6f 6c 64 65 72 73 4c 65 6e 5c 6e laceHoldersLen\n
00023300: 7d 5c 6e 5c 6e 66 75 6e 63 74 69 6f 6e 20 5f 62 }\n\nfunction _b
00023310: 79 74 65 4c 65 6e 67 74 68 20 28 62 36 34 2c 20 yteLength (b64,
00023320: 76 61 6c 69 64 4c 65 6e 2c 20 70 6c 61 63 65 48 validLen, placeH
00023330: 6f 6c 64 65 72 73 4c 65 6e 29 20 7b 5c 6e 20 20 oldersLen) {\n
00023340: 72 65 74 75 72 6e 20 28 28 76 61 6c 69 64 4c 65 return ((validLe
00023350: 6e 20 2b 20 70 6c 61 63 65 48 6f 6c 64 65 72 73 n + placeHolders
00023360: 4c 65 6e 29 20 2a 20 33 20 2f 20 34 29 20 2d 20 Len) * 3 / 4) -
00023370: 70 6c 61 63 65 48 6f 6c 64 65 72 73 4c 65 6e 5c placeHoldersLen\
00023380: 6e 7d 5c 6e 5c 6e 66 75 6e 63 74 69 6f 6e 20 74 n}\n\nfunction t
00023390: 6f 42 79 74 65 41 72 72 61 79 20 28 62 36 34 29 oByteArray (b64)
000233a0: 20 7b 5c 6e 20 20 76 61 72 20 74 6d 70 5c 6e 20 {\n var tmp\n
000233b0: 20 76 61 72 20 6c 65 6e 73 20 3d 20 67 65 74 4c var lens = getL
000233c0: 65 6e 73 28 62 36 34 29 5c 6e 20 20 76 61 72 20 ens(b64)\n var
000233d0: 76 61 6c 69 64 4c 65 6e 20 3d 20 6c 65 6e 73 5b validLen = lens[
000233e0: 30 5d 5c 6e 20 20 76 61 72 20 70 6c 61 63 65 48 0]\n var placeH
000233f0: 6f 6c 64 65 72 73 4c 65 6e 20 3d 20 6c 65 6e 73 oldersLen = lens
00023400: 5b 31 5d 5c 6e 5c 6e 20 20 76 61 72 20 61 72 72 [1]\n\n var arr
00023410: 20 3d 20 6e 65 77 20 41 72 72 28 5f 62 79 74 65 = new Arr(_byte
00023420: 4c 65 6e 67 74 68 28 62 36 34 2c 20 76 61 6c 69 Length(b64, vali
00023430: 64 4c 65 6e 2c 20 70 6c 61 63 65 48 6f 6c 64 65 dLen, placeHolde
00023440: 72 73 4c 65 6e 29 29 5c 6e 5c 6e 20 20 76 61 72 rsLen))\n\n var
00023450: 20 63 75 72 42 79 74 65 20 3d 20 30 5c 6e 5c 6e curByte = 0\n\n
00023460: 20 20 2f 2f 20 69 66 20 74 68 65 72 65 20 61 72 // if there ar
00023470: 65 20 70 6c 61 63 65 68 6f 6c 64 65 72 73 2c 20 e placeholders,
00023480: 6f 6e 6c 79 20 67 65 74 20 75 70 20 74 6f 20 74 only get up to t
00023490: 68 65 20 6c 61 73 74 20 63 6f 6d 70 6c 65 74 65 he last complete
000234a0: 20 34 20 63 68 61 72 73 5c 6e 20 20 76 61 72 20 4 chars\n var
000234b0: 6c 65 6e 20 3d 20 70 6c 61 63 65 48 6f 6c 64 65 len = placeHolde
000234c0: 72 73 4c 65 6e 20 3e 20 30 5c 6e 20 20 20 20 3f rsLen > 0\n ?
000234d0: 20 76 61 6c 69 64 4c 65 6e 20 2d 20 34 5c 6e 20 validLen - 4\n
000234e0: 20 20 20 3a 20 76 61 6c 69 64 4c 65 6e 5c 6e 5c : validLen\n\
000234f0: 6e 20 20 76 61 72 20 69 5c 6e 20 20 66 6f 72 20 n var i\n for
00023500: 28 69 20 3d 20 30 3b 20 69 20 3c 20 6c 65 6e 3b (i = 0; i < len;
00023510: 20 69 20 2b 3d 20 34 29 20 7b 5c 6e 20 20 20 20 i += 4) {\n
00023520: 74 6d 70 20 3d 5c 6e 20 20 20 20 20 20 28 72 65 tmp =\n (re
00023530: 76 4c 6f 6f 6b 75 70 5b 62 36 34 2e 63 68 61 72 vLookup[b64.char
00023540: 43 6f 64 65 41 74 28 69 29 5d 20 3c 3c 20 31 38 CodeAt(i)] << 18
00023550: 29 20 7c 5c 6e 20 20 20 20 20 20 28 72 65 76 4c ) |\n (revL
00023560: 6f 6f 6b 75 70 5b 62 36 34 2e 63 68 61 72 43 6f ookup[b64.charCo
00023570: 64 65 41 74 28 69 20 2b 20 31 29 5d 20 3c 3c 20 deAt(i + 1)] <<
00023580: 31 32 29 20 7c 5c 6e 20 20 20 20 20 20 28 72 65 12) |\n (re
00023590: 76 4c 6f 6f 6b 75 70 5b 62 36 34 2e 63 68 61 72 vLookup[b64.char
000235a0: 43 6f 64 65 41 74 28 69 20 2b 20 32 29 5d 20 3c CodeAt(i + 2)] <
000235b0: 3c 20 36 29 20 7c 5c 6e 20 20 20 20 20 20 72 65 < 6) |\n re
000235c0: 76 4c 6f 6f 6b 75 70 5b 62 36 34 2e 63 68 61 72 vLookup[b64.char
000235d0: 43 6f 64 65 41 74 28 69 20 2b 20 33 29 5d 5c 6e CodeAt(i + 3)]\n
000235e0: 20 20 20 20 61 72 72 5b 63 75 72 42 79 74 65 2b arr[curByte+
000235f0: 2b 5d 20 3d 20 28 74 6d 70 20 3e 3e 20 31 36 29 +] = (tmp >> 16)
00023600: 20 26 20 30 78 46 46 5c 6e 20 20 20 20 61 72 72 & 0xFF\n arr
00023610: 5b 63 75 72 42 79 74 65 2b 2b 5d 20 3d 20 28 74 [curByte++] = (t
00023620: 6d 70 20 3e 3e 20 38 29 20 26 20 30 78 46 46 5c mp >> 8) & 0xFF\
00023630: 6e 20 20 20 20 61 72 72 5b 63 75 72 42 79 74 65 n arr[curByte
00023640: 2b 2b 5d 20 3d 20 74 6d 70 20 26 20 30 78 46 46 ++] = tmp & 0xFF
00023650: 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 69 66 20 28 70 \n }\n\n if (p
00023660: 6c 61 63 65 48 6f 6c 64 65 72 73 4c 65 6e 20 3d laceHoldersLen =
00023670: 3d 3d 20 32 29 20 7b 5c 6e 20 20 20 20 74 6d 70 == 2) {\n tmp
00023680: 20 3d 5c 6e 20 20 20 20 20 20 28 72 65 76 4c 6f =\n (revLo
00023690: 6f 6b 75 70 5b 62 36 34 2e 63 68 61 72 43 6f 64 okup[b64.charCod
000236a0: 65 41 74 28 69 29 5d 20 3c 3c 20 32 29 20 7c 5c eAt(i)] << 2) |\
000236b0: 6e 20 20 20 20 20 20 28 72 65 76 4c 6f 6f 6b 75 n (revLooku
000236c0: 70 5b 62 36 34 2e 63 68 61 72 43 6f 64 65 41 74 p[b64.charCodeAt
000236d0: 28 69 20 2b 20 31 29 5d 20 3e 3e 20 34 29 5c 6e (i + 1)] >> 4)\n
000236e0: 20 20 20 20 61 72 72 5b 63 75 72 42 79 74 65 2b arr[curByte+
000236f0: 2b 5d 20 3d 20 74 6d 70 20 26 20 30 78 46 46 5c +] = tmp & 0xFF\
00023700: 6e 20 20 7d 5c 6e 5c 6e 20 20 69 66 20 28 70 6c n }\n\n if (pl
00023710: 61 63 65 48 6f 6c 64 65 72 73 4c 65 6e 20 3d 3d aceHoldersLen ==
00023720: 3d 20 31 29 20 7b 5c 6e 20 20 20 20 74 6d 70 20 = 1) {\n tmp
00023730: 3d 5c 6e 20 20 20 20 20 20 28 72 65 76 4c 6f 6f =\n (revLoo
00023740: 6b 75 70 5b 62 36 34 2e 63 68 61 72 43 6f 64 65 kup[b64.charCode
00023750: 41 74 28 69 29 5d 20 3c 3c 20 31 30 29 20 7c 5c At(i)] << 10) |\
00023760: 6e 20 20 20 20 20 20 28 72 65 76 4c 6f 6f 6b 75 n (revLooku
00023770: 70 5b 62 36 34 2e 63 68 61 72 43 6f 64 65 41 74 p[b64.charCodeAt
00023780: 28 69 20 2b 20 31 29 5d 20 3c 3c 20 34 29 20 7c (i + 1)] << 4) |
00023790: 5c 6e 20 20 20 20 20 20 28 72 65 76 4c 6f 6f 6b \n (revLook
000237a0: 75 70 5b 62 36 34 2e 63 68 61 72 43 6f 64 65 41 up[b64.charCodeA
000237b0: 74 28 69 20 2b 20 32 29 5d 20 3e 3e 20 32 29 5c t(i + 2)] >> 2)\
000237c0: 6e 20 20 20 20 61 72 72 5b 63 75 72 42 79 74 65 n arr[curByte
000237d0: 2b 2b 5d 20 3d 20 28 74 6d 70 20 3e 3e 20 38 29 ++] = (tmp >> 8)
000237e0: 20 26 20 30 78 46 46 5c 6e 20 20 20 20 61 72 72 & 0xFF\n arr
000237f0: 5b 63 75 72 42 79 74 65 2b 2b 5d 20 3d 20 74 6d [curByte++] = tm
00023800: 70 20 26 20 30 78 46 46 5c 6e 20 20 7d 5c 6e 5c p & 0xFF\n }\n\
00023810: 6e 20 20 72 65 74 75 72 6e 20 61 72 72 5c 6e 7d n return arr\n}
00023820: 5c 6e 5c 6e 66 75 6e 63 74 69 6f 6e 20 74 72 69 \n\nfunction tri
00023830: 70 6c 65 74 54 6f 42 61 73 65 36 34 20 28 6e 75 pletToBase64 (nu
00023840: 6d 29 20 7b 5c 6e 20 20 72 65 74 75 72 6e 20 6c m) {\n return l
00023850: 6f 6f 6b 75 70 5b 6e 75 6d 20 3e 3e 20 31 38 20 ookup[num >> 18
00023860: 26 20 30 78 33 46 5d 20 2b 5c 6e 20 20 20 20 6c & 0x3F] +\n l
00023870: 6f 6f 6b 75 70 5b 6e 75 6d 20 3e 3e 20 31 32 20 ookup[num >> 12
00023880: 26 20 30 78 33 46 5d 20 2b 5c 6e 20 20 20 20 6c & 0x3F] +\n l
00023890: 6f 6f 6b 75 70 5b 6e 75 6d 20 3e 3e 20 36 20 26 ookup[num >> 6 &
000238a0: 20 30 78 33 46 5d 20 2b 5c 6e 20 20 20 20 6c 6f 0x3F] +\n lo
000238b0: 6f 6b 75 70 5b 6e 75 6d 20 26 20 30 78 33 46 5d okup[num & 0x3F]
000238c0: 5c 6e 7d 5c 6e 5c 6e 66 75 6e 63 74 69 6f 6e 20 \n}\n\nfunction
000238d0: 65 6e 63 6f 64 65 43 68 75 6e 6b 20 28 75 69 6e encodeChunk (uin
000238e0: 74 38 2c 20 73 74 61 72 74 2c 20 65 6e 64 29 20 t8, start, end)
000238f0: 7b 5c 6e 20 20 76 61 72 20 74 6d 70 5c 6e 20 20 {\n var tmp\n
00023900: 76 61 72 20 6f 75 74 70 75 74 20 3d 20 5b 5d 5c var output = []\
00023910: 6e 20 20 66 6f 72 20 28 76 61 72 20 69 20 3d 20 n for (var i =
00023920: 73 74 61 72 74 3b 20 69 20 3c 20 65 6e 64 3b 20 start; i < end;
00023930: 69 20 2b 3d 20 33 29 20 7b 5c 6e 20 20 20 20 74 i += 3) {\n t
00023940: 6d 70 20 3d 5c 6e 20 20 20 20 20 20 28 28 75 69 mp =\n ((ui
00023950: 6e 74 38 5b 69 5d 20 3c 3c 20 31 36 29 20 26 20 nt8[i] << 16) &
00023960: 30 78 46 46 30 30 30 30 29 20 2b 5c 6e 20 20 20 0xFF0000) +\n
00023970: 20 20 20 28 28 75 69 6e 74 38 5b 69 20 2b 20 31 ((uint8[i + 1
00023980: 5d 20 3c 3c 20 38 29 20 26 20 30 78 46 46 30 30 ] << 8) & 0xFF00
00023990: 29 20 2b 5c 6e 20 20 20 20 20 20 28 75 69 6e 74 ) +\n (uint
000239a0: 38 5b 69 20 2b 20 32 5d 20 26 20 30 78 46 46 29 8[i + 2] & 0xFF)
000239b0: 5c 6e 20 20 20 20 6f 75 74 70 75 74 2e 70 75 73 \n output.pus
000239c0: 68 28 74 72 69 70 6c 65 74 54 6f 42 61 73 65 36 h(tripletToBase6
000239d0: 34 28 74 6d 70 29 29 5c 6e 20 20 7d 5c 6e 20 20 4(tmp))\n }\n
000239e0: 72 65 74 75 72 6e 20 6f 75 74 70 75 74 2e 6a 6f return output.jo
000239f0: 69 6e 28 27 27 29 5c 6e 7d 5c 6e 5c 6e 66 75 6e in('')\n}\n\nfun
00023a00: 63 74 69 6f 6e 20 66 72 6f 6d 42 79 74 65 41 72 ction fromByteAr
00023a10: 72 61 79 20 28 75 69 6e 74 38 29 20 7b 5c 6e 20 ray (uint8) {\n
00023a20: 20 76 61 72 20 74 6d 70 5c 6e 20 20 76 61 72 20 var tmp\n var
00023a30: 6c 65 6e 20 3d 20 75 69 6e 74 38 2e 6c 65 6e 67 len = uint8.leng
00023a40: 74 68 5c 6e 20 20 76 61 72 20 65 78 74 72 61 42 th\n var extraB
00023a50: 79 74 65 73 20 3d 20 6c 65 6e 20 25 20 33 20 2f ytes = len % 3 /
00023a60: 2f 20 69 66 20 77 65 20 68 61 76 65 20 31 20 62 / if we have 1 b
00023a70: 79 74 65 20 6c 65 66 74 2c 20 70 61 64 20 32 20 yte left, pad 2
00023a80: 62 79 74 65 73 5c 6e 20 20 76 61 72 20 70 61 72 bytes\n var par
00023a90: 74 73 20 3d 20 5b 5d 5c 6e 20 20 76 61 72 20 6d ts = []\n var m
00023aa0: 61 78 43 68 75 6e 6b 4c 65 6e 67 74 68 20 3d 20 axChunkLength =
00023ab0: 31 36 33 38 33 20 2f 2f 20 6d 75 73 74 20 62 65 16383 // must be
00023ac0: 20 6d 75 6c 74 69 70 6c 65 20 6f 66 20 33 5c 6e multiple of 3\n
00023ad0: 5c 6e 20 20 2f 2f 20 67 6f 20 74 68 72 6f 75 67 \n // go throug
00023ae0: 68 20 74 68 65 20 61 72 72 61 79 20 65 76 65 72 h the array ever
00023af0: 79 20 74 68 72 65 65 20 62 79 74 65 73 2c 20 77 y three bytes, w
00023b00: 65 27 6c 6c 20 64 65 61 6c 20 77 69 74 68 20 74 e'll deal with t
00023b10: 72 61 69 6c 69 6e 67 20 73 74 75 66 66 20 6c 61 railing stuff la
00023b20: 74 65 72 5c 6e 20 20 66 6f 72 20 28 76 61 72 20 ter\n for (var
00023b30: 69 20 3d 20 30 2c 20 6c 65 6e 32 20 3d 20 6c 65 i = 0, len2 = le
00023b40: 6e 20 2d 20 65 78 74 72 61 42 79 74 65 73 3b 20 n - extraBytes;
00023b50: 69 20 3c 20 6c 65 6e 32 3b 20 69 20 2b 3d 20 6d i < len2; i += m
00023b60: 61 78 43 68 75 6e 6b 4c 65 6e 67 74 68 29 20 7b axChunkLength) {
00023b70: 5c 6e 20 20 20 20 70 61 72 74 73 2e 70 75 73 68 \n parts.push
00023b80: 28 65 6e 63 6f 64 65 43 68 75 6e 6b 28 75 69 6e (encodeChunk(uin
00023b90: 74 38 2c 20 69 2c 20 28 69 20 2b 20 6d 61 78 43 t8, i, (i + maxC
00023ba0: 68 75 6e 6b 4c 65 6e 67 74 68 29 20 3e 20 6c 65 hunkLength) > le
00023bb0: 6e 32 20 3f 20 6c 65 6e 32 20 3a 20 28 69 20 2b n2 ? len2 : (i +
00023bc0: 20 6d 61 78 43 68 75 6e 6b 4c 65 6e 67 74 68 29 maxChunkLength)
00023bd0: 29 29 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 2f 2f 20 ))\n }\n\n //
00023be0: 70 61 64 20 74 68 65 20 65 6e 64 20 77 69 74 68 pad the end with
00023bf0: 20 7a 65 72 6f 73 2c 20 62 75 74 20 6d 61 6b 65 zeros, but make
00023c00: 20 73 75 72 65 20 74 6f 20 6e 6f 74 20 66 6f 72 sure to not for
00023c10: 67 65 74 20 74 68 65 20 65 78 74 72 61 20 62 79 get the extra by
00023c20: 74 65 73 5c 6e 20 20 69 66 20 28 65 78 74 72 61 tes\n if (extra
00023c30: 42 79 74 65 73 20 3d 3d 3d 20 31 29 20 7b 5c 6e Bytes === 1) {\n
00023c40: 20 20 20 20 74 6d 70 20 3d 20 75 69 6e 74 38 5b tmp = uint8[
00023c50: 6c 65 6e 20 2d 20 31 5d 5c 6e 20 20 20 20 70 61 len - 1]\n pa
00023c60: 72 74 73 2e 70 75 73 68 28 5c 6e 20 20 20 20 20 rts.push(\n
00023c70: 20 6c 6f 6f 6b 75 70 5b 74 6d 70 20 3e 3e 20 32 lookup[tmp >> 2
00023c80: 5d 20 2b 5c 6e 20 20 20 20 20 20 6c 6f 6f 6b 75 ] +\n looku
00023c90: 70 5b 28 74 6d 70 20 3c 3c 20 34 29 20 26 20 30 p[(tmp << 4) & 0
00023ca0: 78 33 46 5d 20 2b 5c 6e 20 20 20 20 20 20 27 3d x3F] +\n '=
00023cb0: 3d 27 5c 6e 20 20 20 20 29 5c 6e 20 20 7d 20 65 ='\n )\n } e
00023cc0: 6c 73 65 20 69 66 20 28 65 78 74 72 61 42 79 74 lse if (extraByt
00023cd0: 65 73 20 3d 3d 3d 20 32 29 20 7b 5c 6e 20 20 20 es === 2) {\n
00023ce0: 20 74 6d 70 20 3d 20 28 75 69 6e 74 38 5b 6c 65 tmp = (uint8[le
00023cf0: 6e 20 2d 20 32 5d 20 3c 3c 20 38 29 20 2b 20 75 n - 2] << 8) + u
00023d00: 69 6e 74 38 5b 6c 65 6e 20 2d 20 31 5d 5c 6e 20 int8[len - 1]\n
00023d10: 20 20 20 70 61 72 74 73 2e 70 75 73 68 28 5c 6e parts.push(\n
00023d20: 20 20 20 20 20 20 6c 6f 6f 6b 75 70 5b 74 6d 70 lookup[tmp
00023d30: 20 3e 3e 20 31 30 5d 20 2b 5c 6e 20 20 20 20 20 >> 10] +\n
00023d40: 20 6c 6f 6f 6b 75 70 5b 28 74 6d 70 20 3e 3e 20 lookup[(tmp >>
00023d50: 34 29 20 26 20 30 78 33 46 5d 20 2b 5c 6e 20 20 4) & 0x3F] +\n
00023d60: 20 20 20 20 6c 6f 6f 6b 75 70 5b 28 74 6d 70 20 lookup[(tmp
00023d70: 3c 3c 20 32 29 20 26 20 30 78 33 46 5d 20 2b 5c << 2) & 0x3F] +\
00023d80: 6e 20 20 20 20 20 20 27 3d 27 5c 6e 20 20 20 20 n '='\n
00023d90: 29 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 72 65 74 75 )\n }\n\n retu
00023da0: 72 6e 20 70 61 72 74 73 2e 6a 6f 69 6e 28 27 27 rn parts.join(''
00023db0: 29 5c 6e 7d 5c 6e 22 2c 22 2f 2a 21 20 69 65 65 )\n}\n","/*! iee
00023dc0: 65 37 35 34 2e 20 42 53 44 2d 33 2d 43 6c 61 75 e754. BSD-3-Clau
00023dd0: 73 65 20 4c 69 63 65 6e 73 65 2e 20 46 65 72 6f se License. Fero
00023de0: 73 73 20 41 62 6f 75 6b 68 61 64 69 6a 65 68 20 ss Aboukhadijeh
00023df0: 3c 68 74 74 70 73 3a 2f 2f 66 65 72 6f 73 73 2e <https://feross.
00023e00: 6f 72 67 2f 6f 70 65 6e 73 6f 75 72 63 65 3e 20 org/opensource>
00023e10: 2a 2f 5c 6e 65 78 70 6f 72 74 73 2e 72 65 61 64 */\nexports.read
00023e20: 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 62 75 66 = function (buf
00023e30: 66 65 72 2c 20 6f 66 66 73 65 74 2c 20 69 73 4c fer, offset, isL
00023e40: 45 2c 20 6d 4c 65 6e 2c 20 6e 42 79 74 65 73 29 E, mLen, nBytes)
00023e50: 20 7b 5c 6e 20 20 76 61 72 20 65 2c 20 6d 5c 6e {\n var e, m\n
00023e60: 20 20 76 61 72 20 65 4c 65 6e 20 3d 20 28 6e 42 var eLen = (nB
00023e70: 79 74 65 73 20 2a 20 38 29 20 2d 20 6d 4c 65 6e ytes * 8) - mLen
00023e80: 20 2d 20 31 5c 6e 20 20 76 61 72 20 65 4d 61 78 - 1\n var eMax
00023e90: 20 3d 20 28 31 20 3c 3c 20 65 4c 65 6e 29 20 2d = (1 << eLen) -
00023ea0: 20 31 5c 6e 20 20 76 61 72 20 65 42 69 61 73 20 1\n var eBias
00023eb0: 3d 20 65 4d 61 78 20 3e 3e 20 31 5c 6e 20 20 76 = eMax >> 1\n v
00023ec0: 61 72 20 6e 42 69 74 73 20 3d 20 2d 37 5c 6e 20 ar nBits = -7\n
00023ed0: 20 76 61 72 20 69 20 3d 20 69 73 4c 45 20 3f 20 var i = isLE ?
00023ee0: 28 6e 42 79 74 65 73 20 2d 20 31 29 20 3a 20 30 (nBytes - 1) : 0
00023ef0: 5c 6e 20 20 76 61 72 20 64 20 3d 20 69 73 4c 45 \n var d = isLE
00023f00: 20 3f 20 2d 31 20 3a 20 31 5c 6e 20 20 76 61 72 ? -1 : 1\n var
00023f10: 20 73 20 3d 20 62 75 66 66 65 72 5b 6f 66 66 73 s = buffer[offs
00023f20: 65 74 20 2b 20 69 5d 5c 6e 5c 6e 20 20 69 20 2b et + i]\n\n i +
00023f30: 3d 20 64 5c 6e 5c 6e 20 20 65 20 3d 20 73 20 26 = d\n\n e = s &
00023f40: 20 28 28 31 20 3c 3c 20 28 2d 6e 42 69 74 73 29 ((1 << (-nBits)
00023f50: 29 20 2d 20 31 29 5c 6e 20 20 73 20 3e 3e 3d 20 ) - 1)\n s >>=
00023f60: 28 2d 6e 42 69 74 73 29 5c 6e 20 20 6e 42 69 74 (-nBits)\n nBit
00023f70: 73 20 2b 3d 20 65 4c 65 6e 5c 6e 20 20 66 6f 72 s += eLen\n for
00023f80: 20 28 3b 20 6e 42 69 74 73 20 3e 20 30 3b 20 65 (; nBits > 0; e
00023f90: 20 3d 20 28 65 20 2a 20 32 35 36 29 20 2b 20 62 = (e * 256) + b
00023fa0: 75 66 66 65 72 5b 6f 66 66 73 65 74 20 2b 20 69 uffer[offset + i
00023fb0: 5d 2c 20 69 20 2b 3d 20 64 2c 20 6e 42 69 74 73 ], i += d, nBits
00023fc0: 20 2d 3d 20 38 29 20 7b 7d 5c 6e 5c 6e 20 20 6d -= 8) {}\n\n m
00023fd0: 20 3d 20 65 20 26 20 28 28 31 20 3c 3c 20 28 2d = e & ((1 << (-
00023fe0: 6e 42 69 74 73 29 29 20 2d 20 31 29 5c 6e 20 20 nBits)) - 1)\n
00023ff0: 65 20 3e 3e 3d 20 28 2d 6e 42 69 74 73 29 5c 6e e >>= (-nBits)\n
00024000: 20 20 6e 42 69 74 73 20 2b 3d 20 6d 4c 65 6e 5c nBits += mLen\
00024010: 6e 20 20 66 6f 72 20 28 3b 20 6e 42 69 74 73 20 n for (; nBits
00024020: 3e 20 30 3b 20 6d 20 3d 20 28 6d 20 2a 20 32 35 > 0; m = (m * 25
00024030: 36 29 20 2b 20 62 75 66 66 65 72 5b 6f 66 66 73 6) + buffer[offs
00024040: 65 74 20 2b 20 69 5d 2c 20 69 20 2b 3d 20 64 2c et + i], i += d,
00024050: 20 6e 42 69 74 73 20 2d 3d 20 38 29 20 7b 7d 5c nBits -= 8) {}\
00024060: 6e 5c 6e 20 20 69 66 20 28 65 20 3d 3d 3d 20 30 n\n if (e === 0
00024070: 29 20 7b 5c 6e 20 20 20 20 65 20 3d 20 31 20 2d ) {\n e = 1 -
00024080: 20 65 42 69 61 73 5c 6e 20 20 7d 20 65 6c 73 65 eBias\n } else
00024090: 20 69 66 20 28 65 20 3d 3d 3d 20 65 4d 61 78 29 if (e === eMax)
000240a0: 20 7b 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 6d {\n return m
000240b0: 20 3f 20 4e 61 4e 20 3a 20 28 28 73 20 3f 20 2d ? NaN : ((s ? -
000240c0: 31 20 3a 20 31 29 20 2a 20 49 6e 66 69 6e 69 74 1 : 1) * Infinit
000240d0: 79 29 5c 6e 20 20 7d 20 65 6c 73 65 20 7b 5c 6e y)\n } else {\n
000240e0: 20 20 20 20 6d 20 3d 20 6d 20 2b 20 4d 61 74 68 m = m + Math
000240f0: 2e 70 6f 77 28 32 2c 20 6d 4c 65 6e 29 5c 6e 20 .pow(2, mLen)\n
00024100: 20 20 20 65 20 3d 20 65 20 2d 20 65 42 69 61 73 e = e - eBias
00024110: 5c 6e 20 20 7d 5c 6e 20 20 72 65 74 75 72 6e 20 \n }\n return
00024120: 28 73 20 3f 20 2d 31 20 3a 20 31 29 20 2a 20 6d (s ? -1 : 1) * m
00024130: 20 2a 20 4d 61 74 68 2e 70 6f 77 28 32 2c 20 65 * Math.pow(2, e
00024140: 20 2d 20 6d 4c 65 6e 29 5c 6e 7d 5c 6e 5c 6e 65 - mLen)\n}\n\ne
00024150: 78 70 6f 72 74 73 2e 77 72 69 74 65 20 3d 20 66 xports.write = f
00024160: 75 6e 63 74 69 6f 6e 20 28 62 75 66 66 65 72 2c unction (buffer,
00024170: 20 76 61 6c 75 65 2c 20 6f 66 66 73 65 74 2c 20 value, offset,
00024180: 69 73 4c 45 2c 20 6d 4c 65 6e 2c 20 6e 42 79 74 isLE, mLen, nByt
00024190: 65 73 29 20 7b 5c 6e 20 20 76 61 72 20 65 2c 20 es) {\n var e,
000241a0: 6d 2c 20 63 5c 6e 20 20 76 61 72 20 65 4c 65 6e m, c\n var eLen
000241b0: 20 3d 20 28 6e 42 79 74 65 73 20 2a 20 38 29 20 = (nBytes * 8)
000241c0: 2d 20 6d 4c 65 6e 20 2d 20 31 5c 6e 20 20 76 61 - mLen - 1\n va
000241d0: 72 20 65 4d 61 78 20 3d 20 28 31 20 3c 3c 20 65 r eMax = (1 << e
000241e0: 4c 65 6e 29 20 2d 20 31 5c 6e 20 20 76 61 72 20 Len) - 1\n var
000241f0: 65 42 69 61 73 20 3d 20 65 4d 61 78 20 3e 3e 20 eBias = eMax >>
00024200: 31 5c 6e 20 20 76 61 72 20 72 74 20 3d 20 28 6d 1\n var rt = (m
00024210: 4c 65 6e 20 3d 3d 3d 20 32 33 20 3f 20 4d 61 74 Len === 23 ? Mat
00024220: 68 2e 70 6f 77 28 32 2c 20 2d 32 34 29 20 2d 20 h.pow(2, -24) -
00024230: 4d 61 74 68 2e 70 6f 77 28 32 2c 20 2d 37 37 29 Math.pow(2, -77)
00024240: 20 3a 20 30 29 5c 6e 20 20 76 61 72 20 69 20 3d : 0)\n var i =
00024250: 20 69 73 4c 45 20 3f 20 30 20 3a 20 28 6e 42 79 isLE ? 0 : (nBy
00024260: 74 65 73 20 2d 20 31 29 5c 6e 20 20 76 61 72 20 tes - 1)\n var
00024270: 64 20 3d 20 69 73 4c 45 20 3f 20 31 20 3a 20 2d d = isLE ? 1 : -
00024280: 31 5c 6e 20 20 76 61 72 20 73 20 3d 20 76 61 6c 1\n var s = val
00024290: 75 65 20 3c 20 30 20 7c 7c 20 28 76 61 6c 75 65 ue < 0 || (value
000242a0: 20 3d 3d 3d 20 30 20 26 26 20 31 20 2f 20 76 61 === 0 && 1 / va
000242b0: 6c 75 65 20 3c 20 30 29 20 3f 20 31 20 3a 20 30 lue < 0) ? 1 : 0
000242c0: 5c 6e 5c 6e 20 20 76 61 6c 75 65 20 3d 20 4d 61 \n\n value = Ma
000242d0: 74 68 2e 61 62 73 28 76 61 6c 75 65 29 5c 6e 5c th.abs(value)\n\
000242e0: 6e 20 20 69 66 20 28 69 73 4e 61 4e 28 76 61 6c n if (isNaN(val
000242f0: 75 65 29 20 7c 7c 20 76 61 6c 75 65 20 3d 3d 3d ue) || value ===
00024300: 20 49 6e 66 69 6e 69 74 79 29 20 7b 5c 6e 20 20 Infinity) {\n
00024310: 20 20 6d 20 3d 20 69 73 4e 61 4e 28 76 61 6c 75 m = isNaN(valu
00024320: 65 29 20 3f 20 31 20 3a 20 30 5c 6e 20 20 20 20 e) ? 1 : 0\n
00024330: 65 20 3d 20 65 4d 61 78 5c 6e 20 20 7d 20 65 6c e = eMax\n } el
00024340: 73 65 20 7b 5c 6e 20 20 20 20 65 20 3d 20 4d 61 se {\n e = Ma
00024350: 74 68 2e 66 6c 6f 6f 72 28 4d 61 74 68 2e 6c 6f th.floor(Math.lo
00024360: 67 28 76 61 6c 75 65 29 20 2f 20 4d 61 74 68 2e g(value) / Math.
00024370: 4c 4e 32 29 5c 6e 20 20 20 20 69 66 20 28 76 61 LN2)\n if (va
00024380: 6c 75 65 20 2a 20 28 63 20 3d 20 4d 61 74 68 2e lue * (c = Math.
00024390: 70 6f 77 28 32 2c 20 2d 65 29 29 20 3c 20 31 29 pow(2, -e)) < 1)
000243a0: 20 7b 5c 6e 20 20 20 20 20 20 65 2d 2d 5c 6e 20 {\n e--\n
000243b0: 20 20 20 20 20 63 20 2a 3d 20 32 5c 6e 20 20 20 c *= 2\n
000243c0: 20 7d 5c 6e 20 20 20 20 69 66 20 28 65 20 2b 20 }\n if (e +
000243d0: 65 42 69 61 73 20 3e 3d 20 31 29 20 7b 5c 6e 20 eBias >= 1) {\n
000243e0: 20 20 20 20 20 76 61 6c 75 65 20 2b 3d 20 72 74 value += rt
000243f0: 20 2f 20 63 5c 6e 20 20 20 20 7d 20 65 6c 73 65 / c\n } else
00024400: 20 7b 5c 6e 20 20 20 20 20 20 76 61 6c 75 65 20 {\n value
00024410: 2b 3d 20 72 74 20 2a 20 4d 61 74 68 2e 70 6f 77 += rt * Math.pow
00024420: 28 32 2c 20 31 20 2d 20 65 42 69 61 73 29 5c 6e (2, 1 - eBias)\n
00024430: 20 20 20 20 7d 5c 6e 20 20 20 20 69 66 20 28 76 }\n if (v
00024440: 61 6c 75 65 20 2a 20 63 20 3e 3d 20 32 29 20 7b alue * c >= 2) {
00024450: 5c 6e 20 20 20 20 20 20 65 2b 2b 5c 6e 20 20 20 \n e++\n
00024460: 20 20 20 63 20 2f 3d 20 32 5c 6e 20 20 20 20 7d c /= 2\n }
00024470: 5c 6e 5c 6e 20 20 20 20 69 66 20 28 65 20 2b 20 \n\n if (e +
00024480: 65 42 69 61 73 20 3e 3d 20 65 4d 61 78 29 20 7b eBias >= eMax) {
00024490: 5c 6e 20 20 20 20 20 20 6d 20 3d 20 30 5c 6e 20 \n m = 0\n
000244a0: 20 20 20 20 20 65 20 3d 20 65 4d 61 78 5c 6e 20 e = eMax\n
000244b0: 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 65 20 } else if (e
000244c0: 2b 20 65 42 69 61 73 20 3e 3d 20 31 29 20 7b 5c + eBias >= 1) {\
000244d0: 6e 20 20 20 20 20 20 6d 20 3d 20 28 28 76 61 6c n m = ((val
000244e0: 75 65 20 2a 20 63 29 20 2d 20 31 29 20 2a 20 4d ue * c) - 1) * M
000244f0: 61 74 68 2e 70 6f 77 28 32 2c 20 6d 4c 65 6e 29 ath.pow(2, mLen)
00024500: 5c 6e 20 20 20 20 20 20 65 20 3d 20 65 20 2b 20 \n e = e +
00024510: 65 42 69 61 73 5c 6e 20 20 20 20 7d 20 65 6c 73 eBias\n } els
00024520: 65 20 7b 5c 6e 20 20 20 20 20 20 6d 20 3d 20 76 e {\n m = v
00024530: 61 6c 75 65 20 2a 20 4d 61 74 68 2e 70 6f 77 28 alue * Math.pow(
00024540: 32 2c 20 65 42 69 61 73 20 2d 20 31 29 20 2a 20 2, eBias - 1) *
00024550: 4d 61 74 68 2e 70 6f 77 28 32 2c 20 6d 4c 65 6e Math.pow(2, mLen
00024560: 29 5c 6e 20 20 20 20 20 20 65 20 3d 20 30 5c 6e )\n e = 0\n
00024570: 20 20 20 20 7d 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 }\n }\n\n
00024580: 66 6f 72 20 28 3b 20 6d 4c 65 6e 20 3e 3d 20 38 for (; mLen >= 8
00024590: 3b 20 62 75 66 66 65 72 5b 6f 66 66 73 65 74 20 ; buffer[offset
000245a0: 2b 20 69 5d 20 3d 20 6d 20 26 20 30 78 66 66 2c + i] = m & 0xff,
000245b0: 20 69 20 2b 3d 20 64 2c 20 6d 20 2f 3d 20 32 35 i += d, m /= 25
000245c0: 36 2c 20 6d 4c 65 6e 20 2d 3d 20 38 29 20 7b 7d 6, mLen -= 8) {}
000245d0: 5c 6e 5c 6e 20 20 65 20 3d 20 28 65 20 3c 3c 20 \n\n e = (e <<
000245e0: 6d 4c 65 6e 29 20 7c 20 6d 5c 6e 20 20 65 4c 65 mLen) | m\n eLe
000245f0: 6e 20 2b 3d 20 6d 4c 65 6e 5c 6e 20 20 66 6f 72 n += mLen\n for
00024600: 20 28 3b 20 65 4c 65 6e 20 3e 20 30 3b 20 62 75 (; eLen > 0; bu
00024610: 66 66 65 72 5b 6f 66 66 73 65 74 20 2b 20 69 5d ffer[offset + i]
00024620: 20 3d 20 65 20 26 20 30 78 66 66 2c 20 69 20 2b = e & 0xff, i +
00024630: 3d 20 64 2c 20 65 20 2f 3d 20 32 35 36 2c 20 65 = d, e /= 256, e
00024640: 4c 65 6e 20 2d 3d 20 38 29 20 7b 7d 5c 6e 5c 6e Len -= 8) {}\n\n
00024650: 20 20 62 75 66 66 65 72 5b 6f 66 66 73 65 74 20 buffer[offset
00024660: 2b 20 69 20 2d 20 64 5d 20 7c 3d 20 73 20 2a 20 + i - d] |= s *
00024670: 31 32 38 5c 6e 7d 5c 6e 22 2c 22 76 61 72 20 74 128\n}\n","var t
00024680: 6f 53 74 72 69 6e 67 20 3d 20 7b 7d 2e 74 6f 53 oString = {}.toS
00024690: 74 72 69 6e 67 3b 5c 6e 5c 6e 6d 6f 64 75 6c 65 tring;\n\nmodule
000246a0: 2e 65 78 70 6f 72 74 73 20 3d 20 41 72 72 61 79 .exports = Array
000246b0: 2e 69 73 41 72 72 61 79 20 7c 7c 20 66 75 6e 63 .isArray || func
000246c0: 74 69 6f 6e 20 28 61 72 72 29 20 7b 5c 6e 20 20 tion (arr) {\n
000246d0: 72 65 74 75 72 6e 20 74 6f 53 74 72 69 6e 67 2e return toString.
000246e0: 63 61 6c 6c 28 61 72 72 29 20 3d 3d 20 27 5b 6f call(arr) == '[o
000246f0: 62 6a 65 63 74 20 41 72 72 61 79 5d 27 3b 5c 6e bject Array]';\n
00024700: 7d 3b 5c 6e 22 2c 22 5c 22 75 73 65 20 73 74 72 };\n","\"use str
00024710: 69 63 74 5c 22 3b 5c 6e 4f 62 6a 65 63 74 2e 64 ict\";\nObject.d
00024720: 65 66 69 6e 65 50 72 6f 70 65 72 74 79 28 65 78 efineProperty(ex
00024730: 70 6f 72 74 73 2c 20 5c 22 5f 5f 65 73 4d 6f 64 ports, \"__esMod
00024740: 75 6c 65 5c 22 2c 20 7b 20 76 61 6c 75 65 3a 20 ule\", { value:
00024750: 74 72 75 65 20 7d 29 3b 5c 6e 65 78 70 6f 72 74 true });\nexport
00024760: 73 2e 4d 65 72 67 65 4b 65 79 53 74 6f 72 65 20 s.MergeKeyStore
00024770: 3d 20 65 78 70 6f 72 74 73 2e 42 72 6f 77 73 65 = exports.Browse
00024780: 72 4c 6f 63 61 6c 53 74 6f 72 61 67 65 4b 65 79 rLocalStorageKey
00024790: 53 74 6f 72 65 20 3d 20 65 78 70 6f 72 74 73 2e Store = exports.
000247a0: 49 6e 4d 65 6d 6f 72 79 4b 65 79 53 74 6f 72 65 InMemoryKeyStore
000247b0: 20 3d 20 65 78 70 6f 72 74 73 2e 4b 65 79 53 74 = exports.KeySt
000247c0: 6f 72 65 20 3d 20 76 6f 69 64 20 30 3b 5c 6e 2f ore = void 0;\n/
000247d0: 2a 2a 20 40 68 69 64 64 65 6e 20 40 6d 6f 64 75 ** @hidden @modu
000247e0: 6c 65 20 2a 2f 5c 6e 63 6f 6e 73 74 20 6b 65 79 le */\nconst key
000247f0: 73 74 6f 72 65 5f 31 20 3d 20 72 65 71 75 69 72 store_1 = requir
00024800: 65 28 5c 22 2e 2f 6b 65 79 73 74 6f 72 65 5c 22 e(\"./keystore\"
00024810: 29 3b 5c 6e 4f 62 6a 65 63 74 2e 64 65 66 69 6e );\nObject.defin
00024820: 65 50 72 6f 70 65 72 74 79 28 65 78 70 6f 72 74 eProperty(export
00024830: 73 2c 20 5c 22 4b 65 79 53 74 6f 72 65 5c 22 2c s, \"KeyStore\",
00024840: 20 7b 20 65 6e 75 6d 65 72 61 62 6c 65 3a 20 74 { enumerable: t
00024850: 72 75 65 2c 20 67 65 74 3a 20 66 75 6e 63 74 69 rue, get: functi
00024860: 6f 6e 20 28 29 20 7b 20 72 65 74 75 72 6e 20 6b on () { return k
00024870: 65 79 73 74 6f 72 65 5f 31 2e 4b 65 79 53 74 6f eystore_1.KeySto
00024880: 72 65 3b 20 7d 20 7d 29 3b 5c 6e 63 6f 6e 73 74 re; } });\nconst
00024890: 20 69 6e 5f 6d 65 6d 6f 72 79 5f 6b 65 79 5f 73 in_memory_key_s
000248a0: 74 6f 72 65 5f 31 20 3d 20 72 65 71 75 69 72 65 tore_1 = require
000248b0: 28 5c 22 2e 2f 69 6e 5f 6d 65 6d 6f 72 79 5f 6b (\"./in_memory_k
000248c0: 65 79 5f 73 74 6f 72 65 5c 22 29 3b 5c 6e 4f 62 ey_store\");\nOb
000248d0: 6a 65 63 74 2e 64 65 66 69 6e 65 50 72 6f 70 65 ject.definePrope
000248e0: 72 74 79 28 65 78 70 6f 72 74 73 2c 20 5c 22 49 rty(exports, \"I
000248f0: 6e 4d 65 6d 6f 72 79 4b 65 79 53 74 6f 72 65 5c nMemoryKeyStore\
00024900: 22 2c 20 7b 20 65 6e 75 6d 65 72 61 62 6c 65 3a ", { enumerable:
00024910: 20 74 72 75 65 2c 20 67 65 74 3a 20 66 75 6e 63 true, get: func
00024920: 74 69 6f 6e 20 28 29 20 7b 20 72 65 74 75 72 6e tion () { return
00024930: 20 69 6e 5f 6d 65 6d 6f 72 79 5f 6b 65 79 5f 73 in_memory_key_s
00024940: 74 6f 72 65 5f 31 2e 49 6e 4d 65 6d 6f 72 79 4b tore_1.InMemoryK
00024950: 65 79 53 74 6f 72 65 3b 20 7d 20 7d 29 3b 5c 6e eyStore; } });\n
00024960: 63 6f 6e 73 74 20 62 72 6f 77 73 65 72 5f 6c 6f const browser_lo
00024970: 63 61 6c 5f 73 74 6f 72 61 67 65 5f 6b 65 79 5f cal_storage_key_
00024980: 73 74 6f 72 65 5f 31 20 3d 20 72 65 71 75 69 72 store_1 = requir
00024990: 65 28 5c 22 2e 2f 62 72 6f 77 73 65 72 5f 6c 6f e(\"./browser_lo
000249a0: 63 61 6c 5f 73 74 6f 72 61 67 65 5f 6b 65 79 5f cal_storage_key_
000249b0: 73 74 6f 72 65 5c 22 29 3b 5c 6e 4f 62 6a 65 63 store\");\nObjec
000249c0: 74 2e 64 65 66 69 6e 65 50 72 6f 70 65 72 74 79 t.defineProperty
000249d0: 28 65 78 70 6f 72 74 73 2c 20 5c 22 42 72 6f 77 (exports, \"Brow
000249e0: 73 65 72 4c 6f 63 61 6c 53 74 6f 72 61 67 65 4b serLocalStorageK
000249f0: 65 79 53 74 6f 72 65 5c 22 2c 20 7b 20 65 6e 75 eyStore\", { enu
00024a00: 6d 65 72 61 62 6c 65 3a 20 74 72 75 65 2c 20 67 merable: true, g
00024a10: 65 74 3a 20 66 75 6e 63 74 69 6f 6e 20 28 29 20 et: function ()
00024a20: 7b 20 72 65 74 75 72 6e 20 62 72 6f 77 73 65 72 { return browser
00024a30: 5f 6c 6f 63 61 6c 5f 73 74 6f 72 61 67 65 5f 6b _local_storage_k
00024a40: 65 79 5f 73 74 6f 72 65 5f 31 2e 42 72 6f 77 73 ey_store_1.Brows
00024a50: 65 72 4c 6f 63 61 6c 53 74 6f 72 61 67 65 4b 65 erLocalStorageKe
00024a60: 79 53 74 6f 72 65 3b 20 7d 20 7d 29 3b 5c 6e 63 yStore; } });\nc
00024a70: 6f 6e 73 74 20 6d 65 72 67 65 5f 6b 65 79 5f 73 onst merge_key_s
00024a80: 74 6f 72 65 5f 31 20 3d 20 72 65 71 75 69 72 65 tore_1 = require
00024a90: 28 5c 22 2e 2f 6d 65 72 67 65 5f 6b 65 79 5f 73 (\"./merge_key_s
00024aa0: 74 6f 72 65 5c 22 29 3b 5c 6e 4f 62 6a 65 63 74 tore\");\nObject
00024ab0: 2e 64 65 66 69 6e 65 50 72 6f 70 65 72 74 79 28 .defineProperty(
00024ac0: 65 78 70 6f 72 74 73 2c 20 5c 22 4d 65 72 67 65 exports, \"Merge
00024ad0: 4b 65 79 53 74 6f 72 65 5c 22 2c 20 7b 20 65 6e KeyStore\", { en
00024ae0: 75 6d 65 72 61 62 6c 65 3a 20 74 72 75 65 2c 20 umerable: true,
00024af0: 67 65 74 3a 20 66 75 6e 63 74 69 6f 6e 20 28 29 get: function ()
00024b00: 20 7b 20 72 65 74 75 72 6e 20 6d 65 72 67 65 5f { return merge_
00024b10: 6b 65 79 5f 73 74 6f 72 65 5f 31 2e 4d 65 72 67 key_store_1.Merg
00024b20: 65 4b 65 79 53 74 6f 72 65 3b 20 7d 20 7d 29 3b eKeyStore; } });
00024b30: 5c 6e 22 2c 22 28 66 75 6e 63 74 69 6f 6e 28 6e \n","(function(n
00024b40: 61 63 6c 29 20 7b 5c 6e 27 75 73 65 20 73 74 72 acl) {\n'use str
00024b50: 69 63 74 27 3b 5c 6e 5c 6e 2f 2f 20 50 6f 72 74 ict';\n\n// Port
00024b60: 65 64 20 69 6e 20 32 30 31 34 20 62 79 20 44 6d ed in 2014 by Dm
00024b70: 69 74 72 79 20 43 68 65 73 74 6e 79 6b 68 20 61 itry Chestnykh a
00024b80: 6e 64 20 44 65 76 69 20 4d 61 6e 64 69 72 69 2e nd Devi Mandiri.
00024b90: 5c 6e 2f 2f 20 50 75 62 6c 69 63 20 64 6f 6d 61 \n// Public doma
00024ba0: 69 6e 2e 5c 6e 2f 2f 5c 6e 2f 2f 20 49 6d 70 6c in.\n//\n// Impl
00024bb0: 65 6d 65 6e 74 61 74 69 6f 6e 20 64 65 72 69 76 ementation deriv
00024bc0: 65 64 20 66 72 6f 6d 20 54 77 65 65 74 4e 61 43 ed from TweetNaC
00024bd0: 6c 20 76 65 72 73 69 6f 6e 20 32 30 31 34 30 34 l version 201404
00024be0: 32 37 2e 5c 6e 2f 2f 20 53 65 65 20 66 6f 72 20 27.\n// See for
00024bf0: 64 65 74 61 69 6c 73 3a 20 68 74 74 70 3a 2f 2f details: http://
00024c00: 74 77 65 65 74 6e 61 63 6c 2e 63 72 2e 79 70 2e tweetnacl.cr.yp.
00024c10: 74 6f 2f 5c 6e 5c 6e 76 61 72 20 67 66 20 3d 20 to/\n\nvar gf =
00024c20: 66 75 6e 63 74 69 6f 6e 28 69 6e 69 74 29 20 7b function(init) {
00024c30: 5c 6e 20 20 76 61 72 20 69 2c 20 72 20 3d 20 6e \n var i, r = n
00024c40: 65 77 20 46 6c 6f 61 74 36 34 41 72 72 61 79 28 ew Float64Array(
00024c50: 31 36 29 3b 5c 6e 20 20 69 66 20 28 69 6e 69 74 16);\n if (init
00024c60: 29 20 66 6f 72 20 28 69 20 3d 20 30 3b 20 69 20 ) for (i = 0; i
00024c70: 3c 20 69 6e 69 74 2e 6c 65 6e 67 74 68 3b 20 69 < init.length; i
00024c80: 2b 2b 29 20 72 5b 69 5d 20 3d 20 69 6e 69 74 5b ++) r[i] = init[
00024c90: 69 5d 3b 5c 6e 20 20 72 65 74 75 72 6e 20 72 3b i];\n return r;
00024ca0: 5c 6e 7d 3b 5c 6e 5c 6e 2f 2f 20 20 50 6c 75 67 \n};\n\n// Plug
00024cb0: 67 61 62 6c 65 2c 20 69 6e 69 74 69 61 6c 69 7a gable, initializ
00024cc0: 65 64 20 69 6e 20 68 69 67 68 2d 6c 65 76 65 6c ed in high-level
00024cd0: 20 41 50 49 20 62 65 6c 6f 77 2e 5c 6e 76 61 72 API below.\nvar
00024ce0: 20 72 61 6e 64 6f 6d 62 79 74 65 73 20 3d 20 66 randombytes = f
00024cf0: 75 6e 63 74 69 6f 6e 28 2f 2a 20 78 2c 20 6e 20 unction(/* x, n
00024d00: 2a 2f 29 20 7b 20 74 68 72 6f 77 20 6e 65 77 20 */) { throw new
00024d10: 45 72 72 6f 72 28 27 6e 6f 20 50 52 4e 47 27 29 Error('no PRNG')
00024d20: 3b 20 7d 3b 5c 6e 5c 6e 76 61 72 20 5f 30 20 3d ; };\n\nvar _0 =
00024d30: 20 6e 65 77 20 55 69 6e 74 38 41 72 72 61 79 28 new Uint8Array(
00024d40: 31 36 29 3b 5c 6e 76 61 72 20 5f 39 20 3d 20 6e 16);\nvar _9 = n
00024d50: 65 77 20 55 69 6e 74 38 41 72 72 61 79 28 33 32 ew Uint8Array(32
00024d60: 29 3b 20 5f 39 5b 30 5d 20 3d 20 39 3b 5c 6e 5c ); _9[0] = 9;\n\
00024d70: 6e 76 61 72 20 67 66 30 20 3d 20 67 66 28 29 2c nvar gf0 = gf(),
00024d80: 5c 6e 20 20 20 20 67 66 31 20 3d 20 67 66 28 5b \n gf1 = gf([
00024d90: 31 5d 29 2c 5c 6e 20 20 20 20 5f 31 32 31 36 36 1]),\n _12166
00024da0: 35 20 3d 20 67 66 28 5b 30 78 64 62 34 31 2c 20 5 = gf([0xdb41,
00024db0: 31 5d 29 2c 5c 6e 20 20 20 20 44 20 3d 20 67 66 1]),\n D = gf
00024dc0: 28 5b 30 78 37 38 61 33 2c 20 30 78 31 33 35 39 ([0x78a3, 0x1359
00024dd0: 2c 20 30 78 34 64 63 61 2c 20 30 78 37 35 65 62 , 0x4dca, 0x75eb
00024de0: 2c 20 30 78 64 38 61 62 2c 20 30 78 34 31 34 31 , 0xd8ab, 0x4141
00024df0: 2c 20 30 78 30 61 34 64 2c 20 30 78 30 30 37 30 , 0x0a4d, 0x0070
00024e00: 2c 20 30 78 65 38 39 38 2c 20 30 78 37 37 37 39 , 0xe898, 0x7779
00024e10: 2c 20 30 78 34 30 37 39 2c 20 30 78 38 63 63 37 , 0x4079, 0x8cc7
00024e20: 2c 20 30 78 66 65 37 33 2c 20 30 78 32 62 36 66 , 0xfe73, 0x2b6f
00024e30: 2c 20 30 78 36 63 65 65 2c 20 30 78 35 32 30 33 , 0x6cee, 0x5203
00024e40: 5d 29 2c 5c 6e 20 20 20 20 44 32 20 3d 20 67 66 ]),\n D2 = gf
00024e50: 28 5b 30 78 66 31 35 39 2c 20 30 78 32 36 62 32 ([0xf159, 0x26b2
00024e60: 2c 20 30 78 39 62 39 34 2c 20 30 78 65 62 64 36 , 0x9b94, 0xebd6
00024e70: 2c 20 30 78 62 31 35 36 2c 20 30 78 38 32 38 33 , 0xb156, 0x8283
00024e80: 2c 20 30 78 31 34 39 61 2c 20 30 78 30 30 65 30 , 0x149a, 0x00e0
00024e90: 2c 20 30 78 64 31 33 30 2c 20 30 78 65 65 66 33 , 0xd130, 0xeef3
00024ea0: 2c 20 30 78 38 30 66 32 2c 20 30 78 31 39 38 65 , 0x80f2, 0x198e
00024eb0: 2c 20 30 78 66 63 65 37 2c 20 30 78 35 36 64 66 , 0xfce7, 0x56df
00024ec0: 2c 20 30 78 64 39 64 63 2c 20 30 78 32 34 30 36 , 0xd9dc, 0x2406
00024ed0: 5d 29 2c 5c 6e 20 20 20 20 58 20 3d 20 67 66 28 ]),\n X = gf(
00024ee0: 5b 30 78 64 35 31 61 2c 20 30 78 38 66 32 35 2c [0xd51a, 0x8f25,
00024ef0: 20 30 78 32 64 36 30 2c 20 30 78 63 39 35 36 2c 0x2d60, 0xc956,
00024f00: 20 30 78 61 37 62 32 2c 20 30 78 39 35 32 35 2c 0xa7b2, 0x9525,
00024f10: 20 30 78 63 37 36 30 2c 20 30 78 36 39 32 63 2c 0xc760, 0x692c,
00024f20: 20 30 78 64 63 35 63 2c 20 30 78 66 64 64 36 2c 0xdc5c, 0xfdd6,
00024f30: 20 30 78 65 32 33 31 2c 20 30 78 63 30 61 34 2c 0xe231, 0xc0a4,
00024f40: 20 30 78 35 33 66 65 2c 20 30 78 63 64 36 65 2c 0x53fe, 0xcd6e,
00024f50: 20 30 78 33 36 64 33 2c 20 30 78 32 31 36 39 5d 0x36d3, 0x2169]
00024f60: 29 2c 5c 6e 20 20 20 20 59 20 3d 20 67 66 28 5b ),\n Y = gf([
00024f70: 30 78 36 36 35 38 2c 20 30 78 36 36 36 36 2c 20 0x6658, 0x6666,
00024f80: 30 78 36 36 36 36 2c 20 30 78 36 36 36 36 2c 20 0x6666, 0x6666,
00024f90: 30 78 36 36 36 36 2c 20 30 78 36 36 36 36 2c 20 0x6666, 0x6666,
00024fa0: 30 78 36 36 36 36 2c 20 30 78 36 36 36 36 2c 20 0x6666, 0x6666,
00024fb0: 30 78 36 36 36 36 2c 20 30 78 36 36 36 36 2c 20 0x6666, 0x6666,
00024fc0: 30 78 36 36 36 36 2c 20 30 78 36 36 36 36 2c 20 0x6666, 0x6666,
00024fd0: 30 78 36 36 36 36 2c 20 30 78 36 36 36 36 2c 20 0x6666, 0x6666,
00024fe0: 30 78 36 36 36 36 2c 20 30 78 36 36 36 36 5d 29 0x6666, 0x6666])
00024ff0: 2c 5c 6e 20 20 20 20 49 20 3d 20 67 66 28 5b 30 ,\n I = gf([0
00025000: 78 61 30 62 30 2c 20 30 78 34 61 30 65 2c 20 30 xa0b0, 0x4a0e, 0
00025010: 78 31 62 32 37 2c 20 30 78 63 34 65 65 2c 20 30 x1b27, 0xc4ee, 0
00025020: 78 65 34 37 38 2c 20 30 78 61 64 32 66 2c 20 30 xe478, 0xad2f, 0
00025030: 78 31 38 30 36 2c 20 30 78 32 66 34 33 2c 20 30 x1806, 0x2f43, 0
00025040: 78 64 37 61 37 2c 20 30 78 33 64 66 62 2c 20 30 xd7a7, 0x3dfb, 0
00025050: 78 30 30 39 39 2c 20 30 78 32 62 34 64 2c 20 30 x0099, 0x2b4d, 0
00025060: 78 64 66 30 62 2c 20 30 78 34 66 63 31 2c 20 30 xdf0b, 0x4fc1, 0
00025070: 78 32 34 38 30 2c 20 30 78 32 62 38 33 5d 29 3b x2480, 0x2b83]);
00025080: 5c 6e 5c 6e 66 75 6e 63 74 69 6f 6e 20 74 73 36 \n\nfunction ts6
00025090: 34 28 78 2c 20 69 2c 20 68 2c 20 6c 29 20 7b 5c 4(x, i, h, l) {\
000250a0: 6e 20 20 78 5b 69 5d 20 20 20 3d 20 28 68 20 3e n x[i] = (h >
000250b0: 3e 20 32 34 29 20 26 20 30 78 66 66 3b 5c 6e 20 > 24) & 0xff;\n
000250c0: 20 78 5b 69 2b 31 5d 20 3d 20 28 68 20 3e 3e 20 x[i+1] = (h >>
000250d0: 31 36 29 20 26 20 30 78 66 66 3b 5c 6e 20 20 78 16) & 0xff;\n x
000250e0: 5b 69 2b 32 5d 20 3d 20 28 68 20 3e 3e 20 20 38 [i+2] = (h >> 8
000250f0: 29 20 26 20 30 78 66 66 3b 5c 6e 20 20 78 5b 69 ) & 0xff;\n x[i
00025100: 2b 33 5d 20 3d 20 68 20 26 20 30 78 66 66 3b 5c +3] = h & 0xff;\
00025110: 6e 20 20 78 5b 69 2b 34 5d 20 3d 20 28 6c 20 3e n x[i+4] = (l >
00025120: 3e 20 32 34 29 20 20 26 20 30 78 66 66 3b 5c 6e > 24) & 0xff;\n
00025130: 20 20 78 5b 69 2b 35 5d 20 3d 20 28 6c 20 3e 3e x[i+5] = (l >>
00025140: 20 31 36 29 20 20 26 20 30 78 66 66 3b 5c 6e 20 16) & 0xff;\n
00025150: 20 78 5b 69 2b 36 5d 20 3d 20 28 6c 20 3e 3e 20 x[i+6] = (l >>
00025160: 20 38 29 20 20 26 20 30 78 66 66 3b 5c 6e 20 20 8) & 0xff;\n
00025170: 78 5b 69 2b 37 5d 20 3d 20 6c 20 26 20 30 78 66 x[i+7] = l & 0xf
00025180: 66 3b 5c 6e 7d 5c 6e 5c 6e 66 75 6e 63 74 69 6f f;\n}\n\nfunctio
00025190: 6e 20 76 6e 28 78 2c 20 78 69 2c 20 79 2c 20 79 n vn(x, xi, y, y
000251a0: 69 2c 20 6e 29 20 7b 5c 6e 20 20 76 61 72 20 69 i, n) {\n var i
000251b0: 2c 64 20 3d 20 30 3b 5c 6e 20 20 66 6f 72 20 28 ,d = 0;\n for (
000251c0: 69 20 3d 20 30 3b 20 69 20 3c 20 6e 3b 20 69 2b i = 0; i < n; i+
000251d0: 2b 29 20 64 20 7c 3d 20 78 5b 78 69 2b 69 5d 5e +) d |= x[xi+i]^
000251e0: 79 5b 79 69 2b 69 5d 3b 5c 6e 20 20 72 65 74 75 y[yi+i];\n retu
000251f0: 72 6e 20 28 31 20 26 20 28 28 64 20 2d 20 31 29 rn (1 & ((d - 1)
00025200: 20 3e 3e 3e 20 38 29 29 20 2d 20 31 3b 5c 6e 7d >>> 8)) - 1;\n}
00025210: 5c 6e 5c 6e 66 75 6e 63 74 69 6f 6e 20 63 72 79 \n\nfunction cry
00025220: 70 74 6f 5f 76 65 72 69 66 79 5f 31 36 28 78 2c pto_verify_16(x,
00025230: 20 78 69 2c 20 79 2c 20 79 69 29 20 7b 5c 6e 20 xi, y, yi) {\n
00025240: 20 72 65 74 75 72 6e 20 76 6e 28 78 2c 78 69 2c return vn(x,xi,
00025250: 79 2c 79 69 2c 31 36 29 3b 5c 6e 7d 5c 6e 5c 6e y,yi,16);\n}\n\n
00025260: 66 75 6e 63 74 69 6f 6e 20 63 72 79 70 74 6f 5f function crypto_
00025270: 76 65 72 69 66 79 5f 33 32 28 78 2c 20 78 69 2c verify_32(x, xi,
00025280: 20 79 2c 20 79 69 29 20 7b 5c 6e 20 20 72 65 74 y, yi) {\n ret
00025290: 75 72 6e 20 76 6e 28 78 2c 78 69 2c 79 2c 79 69 urn vn(x,xi,y,yi
000252a0: 2c 33 32 29 3b 5c 6e 7d 5c 6e 5c 6e 66 75 6e 63 ,32);\n}\n\nfunc
000252b0: 74 69 6f 6e 20 63 6f 72 65 5f 73 61 6c 73 61 32 tion core_salsa2
000252c0: 30 28 6f 2c 20 70 2c 20 6b 2c 20 63 29 20 7b 5c 0(o, p, k, c) {\
000252d0: 6e 20 20 76 61 72 20 6a 30 20 20 3d 20 63 5b 20 n var j0 = c[
000252e0: 30 5d 20 26 20 30 78 66 66 20 7c 20 28 63 5b 20 0] & 0xff | (c[
000252f0: 31 5d 20 26 20 30 78 66 66 29 3c 3c 38 20 7c 20 1] & 0xff)<<8 |
00025300: 28 63 5b 20 32 5d 20 26 20 30 78 66 66 29 3c 3c (c[ 2] & 0xff)<<
00025310: 31 36 20 7c 20 28 63 5b 20 33 5d 20 26 20 30 78 16 | (c[ 3] & 0x
00025320: 66 66 29 3c 3c 32 34 2c 5c 6e 20 20 20 20 20 20 ff)<<24,\n
00025330: 6a 31 20 20 3d 20 6b 5b 20 30 5d 20 26 20 30 78 j1 = k[ 0] & 0x
00025340: 66 66 20 7c 20 28 6b 5b 20 31 5d 20 26 20 30 78 ff | (k[ 1] & 0x
00025350: 66 66 29 3c 3c 38 20 7c 20 28 6b 5b 20 32 5d 20 ff)<<8 | (k[ 2]
00025360: 26 20 30 78 66 66 29 3c 3c 31 36 20 7c 20 28 6b & 0xff)<<16 | (k
00025370: 5b 20 33 5d 20 26 20 30 78 66 66 29 3c 3c 32 34 [ 3] & 0xff)<<24
00025380: 2c 5c 6e 20 20 20 20 20 20 6a 32 20 20 3d 20 6b ,\n j2 = k
00025390: 5b 20 34 5d 20 26 20 30 78 66 66 20 7c 20 28 6b [ 4] & 0xff | (k
000253a0: 5b 20 35 5d 20 26 20 30 78 66 66 29 3c 3c 38 20 [ 5] & 0xff)<<8
000253b0: 7c 20 28 6b 5b 20 36 5d 20 26 20 30 78 66 66 29 | (k[ 6] & 0xff)
000253c0: 3c 3c 31 36 20 7c 20 28 6b 5b 20 37 5d 20 26 20 <<16 | (k[ 7] &
000253d0: 30 78 66 66 29 3c 3c 32 34 2c 5c 6e 20 20 20 20 0xff)<<24,\n
000253e0: 20 20 6a 33 20 20 3d 20 6b 5b 20 38 5d 20 26 20 j3 = k[ 8] &
000253f0: 30 78 66 66 20 7c 20 28 6b 5b 20 39 5d 20 26 20 0xff | (k[ 9] &
00025400: 30 78 66 66 29 3c 3c 38 20 7c 20 28 6b 5b 31 30 0xff)<<8 | (k[10
00025410: 5d 20 26 20 30 78 66 66 29 3c 3c 31 36 20 7c 20 ] & 0xff)<<16 |
00025420: 28 6b 5b 31 31 5d 20 26 20 30 78 66 66 29 3c 3c (k[11] & 0xff)<<
00025430: 32 34 2c 5c 6e 20 20 20 20 20 20 6a 34 20 20 3d 24,\n j4 =
00025440: 20 6b 5b 31 32 5d 20 26 20 30 78 66 66 20 7c 20 k[12] & 0xff |
00025450: 28 6b 5b 31 33 5d 20 26 20 30 78 66 66 29 3c 3c (k[13] & 0xff)<<
00025460: 38 20 7c 20 28 6b 5b 31 34 5d 20 26 20 30 78 66 8 | (k[14] & 0xf
00025470: 66 29 3c 3c 31 36 20 7c 20 28 6b 5b 31 35 5d 20 f)<<16 | (k[15]
00025480: 26 20 30 78 66 66 29 3c 3c 32 34 2c 5c 6e 20 20 & 0xff)<<24,\n
00025490: 20 20 20 20 6a 35 20 20 3d 20 63 5b 20 34 5d 20 j5 = c[ 4]
000254a0: 26 20 30 78 66 66 20 7c 20 28 63 5b 20 35 5d 20 & 0xff | (c[ 5]
000254b0: 26 20 30 78 66 66 29 3c 3c 38 20 7c 20 28 63 5b & 0xff)<<8 | (c[
000254c0: 20 36 5d 20 26 20 30 78 66 66 29 3c 3c 31 36 20 6] & 0xff)<<16
000254d0: 7c 20 28 63 5b 20 37 5d 20 26 20 30 78 66 66 29 | (c[ 7] & 0xff)
000254e0: 3c 3c 32 34 2c 5c 6e 20 20 20 20 20 20 6a 36 20 <<24,\n j6
000254f0: 20 3d 20 70 5b 20 30 5d 20 26 20 30 78 66 66 20 = p[ 0] & 0xff
00025500: 7c 20 28 70 5b 20 31 5d 20 26 20 30 78 66 66 29 | (p[ 1] & 0xff)
00025510: 3c 3c 38 20 7c 20 28 70 5b 20 32 5d 20 26 20 30 <<8 | (p[ 2] & 0
00025520: 78 66 66 29 3c 3c 31 36 20 7c 20 28 70 5b 20 33 xff)<<16 | (p[ 3
00025530: 5d 20 26 20 30 78 66 66 29 3c 3c 32 34 2c 5c 6e ] & 0xff)<<24,\n
00025540: 20 20 20 20 20 20 6a 37 20 20 3d 20 70 5b 20 34 j7 = p[ 4
00025550: 5d 20 26 20 30 78 66 66 20 7c 20 28 70 5b 20 35 ] & 0xff | (p[ 5
00025560: 5d 20 26 20 30 78 66 66 29 3c 3c 38 20 7c 20 28 ] & 0xff)<<8 | (
00025570: 70 5b 20 36 5d 20 26 20 30 78 66 66 29 3c 3c 31 p[ 6] & 0xff)<<1
00025580: 36 20 7c 20 28 70 5b 20 37 5d 20 26 20 30 78 66 6 | (p[ 7] & 0xf
00025590: 66 29 3c 3c 32 34 2c 5c 6e 20 20 20 20 20 20 6a f)<<24,\n j
000255a0: 38 20 20 3d 20 70 5b 20 38 5d 20 26 20 30 78 66 8 = p[ 8] & 0xf
000255b0: 66 20 7c 20 28 70 5b 20 39 5d 20 26 20 30 78 66 f | (p[ 9] & 0xf
000255c0: 66 29 3c 3c 38 20 7c 20 28 70 5b 31 30 5d 20 26 f)<<8 | (p[10] &
000255d0: 20 30 78 66 66 29 3c 3c 31 36 20 7c 20 28 70 5b 0xff)<<16 | (p[
000255e0: 31 31 5d 20 26 20 30 78 66 66 29 3c 3c 32 34 2c 11] & 0xff)<<24,
000255f0: 5c 6e 20 20 20 20 20 20 6a 39 20 20 3d 20 70 5b \n j9 = p[
00025600: 31 32 5d 20 26 20 30 78 66 66 20 7c 20 28 70 5b 12] & 0xff | (p[
00025610: 31 33 5d 20 26 20 30 78 66 66 29 3c 3c 38 20 7c 13] & 0xff)<<8 |
00025620: 20 28 70 5b 31 34 5d 20 26 20 30 78 66 66 29 3c (p[14] & 0xff)<
00025630: 3c 31 36 20 7c 20 28 70 5b 31 35 5d 20 26 20 30 <16 | (p[15] & 0
00025640: 78 66 66 29 3c 3c 32 34 2c 5c 6e 20 20 20 20 20 xff)<<24,\n
00025650: 20 6a 31 30 20 3d 20 63 5b 20 38 5d 20 26 20 30 j10 = c[ 8] & 0
00025660: 78 66 66 20 7c 20 28 63 5b 20 39 5d 20 26 20 30 xff | (c[ 9] & 0
00025670: 78 66 66 29 3c 3c 38 20 7c 20 28 63 5b 31 30 5d xff)<<8 | (c[10]
00025680: 20 26 20 30 78 66 66 29 3c 3c 31 36 20 7c 20 28 & 0xff)<<16 | (
00025690: 63 5b 31 31 5d 20 26 20 30 78 66 66 29 3c 3c 32 c[11] & 0xff)<<2
000256a0: 34 2c 5c 6e 20 20 20 20 20 20 6a 31 31 20 3d 20 4,\n j11 =
000256b0: 6b 5b 31 36 5d 20 26 20 30 78 66 66 20 7c 20 28 k[16] & 0xff | (
000256c0: 6b 5b 31 37 5d 20 26 20 30 78 66 66 29 3c 3c 38 k[17] & 0xff)<<8
000256d0: 20 7c 20 28 6b 5b 31 38 5d 20 26 20 30 78 66 66 | (k[18] & 0xff
000256e0: 29 3c 3c 31 36 20 7c 20 28 6b 5b 31 39 5d 20 26 )<<16 | (k[19] &
000256f0: 20 30 78 66 66 29 3c 3c 32 34 2c 5c 6e 20 20 20 0xff)<<24,\n
00025700: 20 20 20 6a 31 32 20 3d 20 6b 5b 32 30 5d 20 26 j12 = k[20] &
00025710: 20 30 78 66 66 20 7c 20 28 6b 5b 32 31 5d 20 26 0xff | (k[21] &
00025720: 20 30 78 66 66 29 3c 3c 38 20 7c 20 28 6b 5b 32 0xff)<<8 | (k[2
00025730: 32 5d 20 26 20 30 78 66 66 29 3c 3c 31 36 20 7c 2] & 0xff)<<16 |
00025740: 20 28 6b 5b 32 33 5d 20 26 20 30 78 66 66 29 3c (k[23] & 0xff)<
00025750: 3c 32 34 2c 5c 6e 20 20 20 20 20 20 6a 31 33 20 <24,\n j13
00025760: 3d 20 6b 5b 32 34 5d 20 26 20 30 78 66 66 20 7c = k[24] & 0xff |
00025770: 20 28 6b 5b 32 35 5d 20 26 20 30 78 66 66 29 3c (k[25] & 0xff)<
00025780: 3c 38 20 7c 20 28 6b 5b 32 36 5d 20 26 20 30 78 <8 | (k[26] & 0x
00025790: 66 66 29 3c 3c 31 36 20 7c 20 28 6b 5b 32 37 5d ff)<<16 | (k[27]
000257a0: 20 26 20 30 78 66 66 29 3c 3c 32 34 2c 5c 6e 20 & 0xff)<<24,\n
000257b0: 20 20 20 20 20 6a 31 34 20 3d 20 6b 5b 32 38 5d j14 = k[28]
000257c0: 20 26 20 30 78 66 66 20 7c 20 28 6b 5b 32 39 5d & 0xff | (k[29]
000257d0: 20 26 20 30 78 66 66 29 3c 3c 38 20 7c 20 28 6b & 0xff)<<8 | (k
000257e0: 5b 33 30 5d 20 26 20 30 78 66 66 29 3c 3c 31 36 [30] & 0xff)<<16
000257f0: 20 7c 20 28 6b 5b 33 31 5d 20 26 20 30 78 66 66 | (k[31] & 0xff
00025800: 29 3c 3c 32 34 2c 5c 6e 20 20 20 20 20 20 6a 31 )<<24,\n j1
00025810: 35 20 3d 20 63 5b 31 32 5d 20 26 20 30 78 66 66 5 = c[12] & 0xff
00025820: 20 7c 20 28 63 5b 31 33 5d 20 26 20 30 78 66 66 | (c[13] & 0xff
00025830: 29 3c 3c 38 20 7c 20 28 63 5b 31 34 5d 20 26 20 )<<8 | (c[14] &
00025840: 30 78 66 66 29 3c 3c 31 36 20 7c 20 28 63 5b 31 0xff)<<16 | (c[1
00025850: 35 5d 20 26 20 30 78 66 66 29 3c 3c 32 34 3b 5c 5] & 0xff)<<24;\
00025860: 6e 5c 6e 20 20 76 61 72 20 78 30 20 3d 20 6a 30 n\n var x0 = j0
00025870: 2c 20 78 31 20 3d 20 6a 31 2c 20 78 32 20 3d 20 , x1 = j1, x2 =
00025880: 6a 32 2c 20 78 33 20 3d 20 6a 33 2c 20 78 34 20 j2, x3 = j3, x4
00025890: 3d 20 6a 34 2c 20 78 35 20 3d 20 6a 35 2c 20 78 = j4, x5 = j5, x
000258a0: 36 20 3d 20 6a 36 2c 20 78 37 20 3d 20 6a 37 2c 6 = j6, x7 = j7,
000258b0: 5c 6e 20 20 20 20 20 20 78 38 20 3d 20 6a 38 2c \n x8 = j8,
000258c0: 20 78 39 20 3d 20 6a 39 2c 20 78 31 30 20 3d 20 x9 = j9, x10 =
000258d0: 6a 31 30 2c 20 78 31 31 20 3d 20 6a 31 31 2c 20 j10, x11 = j11,
000258e0: 78 31 32 20 3d 20 6a 31 32 2c 20 78 31 33 20 3d x12 = j12, x13 =
000258f0: 20 6a 31 33 2c 20 78 31 34 20 3d 20 6a 31 34 2c j13, x14 = j14,
00025900: 5c 6e 20 20 20 20 20 20 78 31 35 20 3d 20 6a 31 \n x15 = j1
00025910: 35 2c 20 75 3b 5c 6e 5c 6e 20 20 66 6f 72 20 28 5, u;\n\n for (
00025920: 76 61 72 20 69 20 3d 20 30 3b 20 69 20 3c 20 32 var i = 0; i < 2
00025930: 30 3b 20 69 20 2b 3d 20 32 29 20 7b 5c 6e 20 20 0; i += 2) {\n
00025940: 20 20 75 20 3d 20 78 30 20 2b 20 78 31 32 20 7c u = x0 + x12 |
00025950: 20 30 3b 5c 6e 20 20 20 20 78 34 20 5e 3d 20 75 0;\n x4 ^= u
00025960: 3c 3c 37 20 7c 20 75 3e 3e 3e 28 33 32 2d 37 29 <<7 | u>>>(32-7)
00025970: 3b 5c 6e 20 20 20 20 75 20 3d 20 78 34 20 2b 20 ;\n u = x4 +
00025980: 78 30 20 7c 20 30 3b 5c 6e 20 20 20 20 78 38 20 x0 | 0;\n x8
00025990: 5e 3d 20 75 3c 3c 39 20 7c 20 75 3e 3e 3e 28 33 ^= u<<9 | u>>>(3
000259a0: 32 2d 39 29 3b 5c 6e 20 20 20 20 75 20 3d 20 78 2-9);\n u = x
000259b0: 38 20 2b 20 78 34 20 7c 20 30 3b 5c 6e 20 20 20 8 + x4 | 0;\n
000259c0: 20 78 31 32 20 5e 3d 20 75 3c 3c 31 33 20 7c 20 x12 ^= u<<13 |
000259d0: 75 3e 3e 3e 28 33 32 2d 31 33 29 3b 5c 6e 20 20 u>>>(32-13);\n
000259e0: 20 20 75 20 3d 20 78 31 32 20 2b 20 78 38 20 7c u = x12 + x8 |
000259f0: 20 30 3b 5c 6e 20 20 20 20 78 30 20 5e 3d 20 75 0;\n x0 ^= u
00025a00: 3c 3c 31 38 20 7c 20 75 3e 3e 3e 28 33 32 2d 31 <<18 | u>>>(32-1
00025a10: 38 29 3b 5c 6e 5c 6e 20 20 20 20 75 20 3d 20 78 8);\n\n u = x
00025a20: 35 20 2b 20 78 31 20 7c 20 30 3b 5c 6e 20 20 20 5 + x1 | 0;\n
00025a30: 20 78 39 20 5e 3d 20 75 3c 3c 37 20 7c 20 75 3e x9 ^= u<<7 | u>
00025a40: 3e 3e 28 33 32 2d 37 29 3b 5c 6e 20 20 20 20 75 >>(32-7);\n u
00025a50: 20 3d 20 78 39 20 2b 20 78 35 20 7c 20 30 3b 5c = x9 + x5 | 0;\
00025a60: 6e 20 20 20 20 78 31 33 20 5e 3d 20 75 3c 3c 39 n x13 ^= u<<9
00025a70: 20 7c 20 75 3e 3e 3e 28 33 32 2d 39 29 3b 5c 6e | u>>>(32-9);\n
00025a80: 20 20 20 20 75 20 3d 20 78 31 33 20 2b 20 78 39 u = x13 + x9
00025a90: 20 7c 20 30 3b 5c 6e 20 20 20 20 78 31 20 5e 3d | 0;\n x1 ^=
00025aa0: 20 75 3c 3c 31 33 20 7c 20 75 3e 3e 3e 28 33 32 u<<13 | u>>>(32
00025ab0: 2d 31 33 29 3b 5c 6e 20 20 20 20 75 20 3d 20 78 -13);\n u = x
00025ac0: 31 20 2b 20 78 31 33 20 7c 20 30 3b 5c 6e 20 20 1 + x13 | 0;\n
00025ad0: 20 20 78 35 20 5e 3d 20 75 3c 3c 31 38 20 7c 20 x5 ^= u<<18 |
00025ae0: 75 3e 3e 3e 28 33 32 2d 31 38 29 3b 5c 6e 5c 6e u>>>(32-18);\n\n
00025af0: 20 20 20 20 75 20 3d 20 78 31 30 20 2b 20 78 36 u = x10 + x6
00025b00: 20 7c 20 30 3b 5c 6e 20 20 20 20 78 31 34 20 5e | 0;\n x14 ^
00025b10: 3d 20 75 3c 3c 37 20 7c 20 75 3e 3e 3e 28 33 32 = u<<7 | u>>>(32
00025b20: 2d 37 29 3b 5c 6e 20 20 20 20 75 20 3d 20 78 31 -7);\n u = x1
00025b30: 34 20 2b 20 78 31 30 20 7c 20 30 3b 5c 6e 20 20 4 + x10 | 0;\n
00025b40: 20 20 78 32 20 5e 3d 20 75 3c 3c 39 20 7c 20 75 x2 ^= u<<9 | u
00025b50: 3e 3e 3e 28 33 32 2d 39 29 3b 5c 6e 20 20 20 20 >>>(32-9);\n
00025b60: 75 20 3d 20 78 32 20 2b 20 78 31 34 20 7c 20 30 u = x2 + x14 | 0
00025b70: 3b 5c 6e 20 20 20 20 78 36 20 5e 3d 20 75 3c 3c ;\n x6 ^= u<<
00025b80: 31 33 20 7c 20 75 3e 3e 3e 28 33 32 2d 31 33 29 13 | u>>>(32-13)
00025b90: 3b 5c 6e 20 20 20 20 75 20 3d 20 78 36 20 2b 20 ;\n u = x6 +
00025ba0: 78 32 20 7c 20 30 3b 5c 6e 20 20 20 20 78 31 30 x2 | 0;\n x10
00025bb0: 20 5e 3d 20 75 3c 3c 31 38 20 7c 20 75 3e 3e 3e ^= u<<18 | u>>>
00025bc0: 28 33 32 2d 31 38 29 3b 5c 6e 5c 6e 20 20 20 20 (32-18);\n\n
00025bd0: 75 20 3d 20 78 31 35 20 2b 20 78 31 31 20 7c 20 u = x15 + x11 |
00025be0: 30 3b 5c 6e 20 20 20 20 78 33 20 5e 3d 20 75 3c 0;\n x3 ^= u<
00025bf0: 3c 37 20 7c 20 75 3e 3e 3e 28 33 32 2d 37 29 3b <7 | u>>>(32-7);
00025c00: 5c 6e 20 20 20 20 75 20 3d 20 78 33 20 2b 20 78 \n u = x3 + x
00025c10: 31 35 20 7c 20 30 3b 5c 6e 20 20 20 20 78 37 20 15 | 0;\n x7
00025c20: 5e 3d 20 75 3c 3c 39 20 7c 20 75 3e 3e 3e 28 33 ^= u<<9 | u>>>(3
00025c30: 32 2d 39 29 3b 5c 6e 20 20 20 20 75 20 3d 20 78 2-9);\n u = x
00025c40: 37 20 2b 20 78 33 20 7c 20 30 3b 5c 6e 20 20 20 7 + x3 | 0;\n
00025c50: 20 78 31 31 20 5e 3d 20 75 3c 3c 31 33 20 7c 20 x11 ^= u<<13 |
00025c60: 75 3e 3e 3e 28 33 32 2d 31 33 29 3b 5c 6e 20 20 u>>>(32-13);\n
00025c70: 20 20 75 20 3d 20 78 31 31 20 2b 20 78 37 20 7c u = x11 + x7 |
00025c80: 20 30 3b 5c 6e 20 20 20 20 78 31 35 20 5e 3d 20 0;\n x15 ^=
00025c90: 75 3c 3c 31 38 20 7c 20 75 3e 3e 3e 28 33 32 2d u<<18 | u>>>(32-
00025ca0: 31 38 29 3b 5c 6e 5c 6e 20 20 20 20 75 20 3d 20 18);\n\n u =
00025cb0: 78 30 20 2b 20 78 33 20 7c 20 30 3b 5c 6e 20 20 x0 + x3 | 0;\n
00025cc0: 20 20 78 31 20 5e 3d 20 75 3c 3c 37 20 7c 20 75 x1 ^= u<<7 | u
00025cd0: 3e 3e 3e 28 33 32 2d 37 29 3b 5c 6e 20 20 20 20 >>>(32-7);\n
00025ce0: 75 20 3d 20 78 31 20 2b 20 78 30 20 7c 20 30 3b u = x1 + x0 | 0;
00025cf0: 5c 6e 20 20 20 20 78 32 20 5e 3d 20 75 3c 3c 39 \n x2 ^= u<<9
00025d00: 20 7c 20 75 3e 3e 3e 28 33 32 2d 39 29 3b 5c 6e | u>>>(32-9);\n
00025d10: 20 20 20 20 75 20 3d 20 78 32 20 2b 20 78 31 20 u = x2 + x1
00025d20: 7c 20 30 3b 5c 6e 20 20 20 20 78 33 20 5e 3d 20 | 0;\n x3 ^=
00025d30: 75 3c 3c 31 33 20 7c 20 75 3e 3e 3e 28 33 32 2d u<<13 | u>>>(32-
00025d40: 31 33 29 3b 5c 6e 20 20 20 20 75 20 3d 20 78 33 13);\n u = x3
00025d50: 20 2b 20 78 32 20 7c 20 30 3b 5c 6e 20 20 20 20 + x2 | 0;\n
00025d60: 78 30 20 5e 3d 20 75 3c 3c 31 38 20 7c 20 75 3e x0 ^= u<<18 | u>
00025d70: 3e 3e 28 33 32 2d 31 38 29 3b 5c 6e 5c 6e 20 20 >>(32-18);\n\n
00025d80: 20 20 75 20 3d 20 78 35 20 2b 20 78 34 20 7c 20 u = x5 + x4 |
00025d90: 30 3b 5c 6e 20 20 20 20 78 36 20 5e 3d 20 75 3c 0;\n x6 ^= u<
00025da0: 3c 37 20 7c 20 75 3e 3e 3e 28 33 32 2d 37 29 3b <7 | u>>>(32-7);
00025db0: 5c 6e 20 20 20 20 75 20 3d 20 78 36 20 2b 20 78 \n u = x6 + x
00025dc0: 35 20 7c 20 30 3b 5c 6e 20 20 20 20 78 37 20 5e 5 | 0;\n x7 ^
00025dd0: 3d 20 75 3c 3c 39 20 7c 20 75 3e 3e 3e 28 33 32 = u<<9 | u>>>(32
00025de0: 2d 39 29 3b 5c 6e 20 20 20 20 75 20 3d 20 78 37 -9);\n u = x7
00025df0: 20 2b 20 78 36 20 7c 20 30 3b 5c 6e 20 20 20 20 + x6 | 0;\n
00025e00: 78 34 20 5e 3d 20 75 3c 3c 31 33 20 7c 20 75 3e x4 ^= u<<13 | u>
00025e10: 3e 3e 28 33 32 2d 31 33 29 3b 5c 6e 20 20 20 20 >>(32-13);\n
00025e20: 75 20 3d 20 78 34 20 2b 20 78 37 20 7c 20 30 3b u = x4 + x7 | 0;
00025e30: 5c 6e 20 20 20 20 78 35 20 5e 3d 20 75 3c 3c 31 \n x5 ^= u<<1
00025e40: 38 20 7c 20 75 3e 3e 3e 28 33 32 2d 31 38 29 3b 8 | u>>>(32-18);
00025e50: 5c 6e 5c 6e 20 20 20 20 75 20 3d 20 78 31 30 20 \n\n u = x10
00025e60: 2b 20 78 39 20 7c 20 30 3b 5c 6e 20 20 20 20 78 + x9 | 0;\n x
00025e70: 31 31 20 5e 3d 20 75 3c 3c 37 20 7c 20 75 3e 3e 11 ^= u<<7 | u>>
00025e80: 3e 28 33 32 2d 37 29 3b 5c 6e 20 20 20 20 75 20 >(32-7);\n u
00025e90: 3d 20 78 31 31 20 2b 20 78 31 30 20 7c 20 30 3b = x11 + x10 | 0;
00025ea0: 5c 6e 20 20 20 20 78 38 20 5e 3d 20 75 3c 3c 39 \n x8 ^= u<<9
00025eb0: 20 7c 20 75 3e 3e 3e 28 33 32 2d 39 29 3b 5c 6e | u>>>(32-9);\n
00025ec0: 20 20 20 20 75 20 3d 20 78 38 20 2b 20 78 31 31 u = x8 + x11
00025ed0: 20 7c 20 30 3b 5c 6e 20 20 20 20 78 39 20 5e 3d | 0;\n x9 ^=
00025ee0: 20 75 3c 3c 31 33 20 7c 20 75 3e 3e 3e 28 33 32 u<<13 | u>>>(32
00025ef0: 2d 31 33 29 3b 5c 6e 20 20 20 20 75 20 3d 20 78 -13);\n u = x
00025f00: 39 20 2b 20 78 38 20 7c 20 30 3b 5c 6e 20 20 20 9 + x8 | 0;\n
00025f10: 20 78 31 30 20 5e 3d 20 75 3c 3c 31 38 20 7c 20 x10 ^= u<<18 |
00025f20: 75 3e 3e 3e 28 33 32 2d 31 38 29 3b 5c 6e 5c 6e u>>>(32-18);\n\n
00025f30: 20 20 20 20 75 20 3d 20 78 31 35 20 2b 20 78 31 u = x15 + x1
00025f40: 34 20 7c 20 30 3b 5c 6e 20 20 20 20 78 31 32 20 4 | 0;\n x12
00025f50: 5e 3d 20 75 3c 3c 37 20 7c 20 75 3e 3e 3e 28 33 ^= u<<7 | u>>>(3
00025f60: 32 2d 37 29 3b 5c 6e 20 20 20 20 75 20 3d 20 78 2-7);\n u = x
00025f70: 31 32 20 2b 20 78 31 35 20 7c 20 30 3b 5c 6e 20 12 + x15 | 0;\n
00025f80: 20 20 20 78 31 33 20 5e 3d 20 75 3c 3c 39 20 7c x13 ^= u<<9 |
00025f90: 20 75 3e 3e 3e 28 33 32 2d 39 29 3b 5c 6e 20 20 u>>>(32-9);\n
00025fa0: 20 20 75 20 3d 20 78 31 33 20 2b 20 78 31 32 20 u = x13 + x12
00025fb0: 7c 20 30 3b 5c 6e 20 20 20 20 78 31 34 20 5e 3d | 0;\n x14 ^=
00025fc0: 20 75 3c 3c 31 33 20 7c 20 75 3e 3e 3e 28 33 32 u<<13 | u>>>(32
00025fd0: 2d 31 33 29 3b 5c 6e 20 20 20 20 75 20 3d 20 78 -13);\n u = x
00025fe0: 31 34 20 2b 20 78 31 33 20 7c 20 30 3b 5c 6e 20 14 + x13 | 0;\n
00025ff0: 20 20 20 78 31 35 20 5e 3d 20 75 3c 3c 31 38 20 x15 ^= u<<18
00026000: 7c 20 75 3e 3e 3e 28 33 32 2d 31 38 29 3b 5c 6e | u>>>(32-18);\n
00026010: 20 20 7d 5c 6e 20 20 20 78 30 20 3d 20 20 78 30 }\n x0 = x0
00026020: 20 2b 20 20 6a 30 20 7c 20 30 3b 5c 6e 20 20 20 + j0 | 0;\n
00026030: 78 31 20 3d 20 20 78 31 20 2b 20 20 6a 31 20 7c x1 = x1 + j1 |
00026040: 20 30 3b 5c 6e 20 20 20 78 32 20 3d 20 20 78 32 0;\n x2 = x2
00026050: 20 2b 20 20 6a 32 20 7c 20 30 3b 5c 6e 20 20 20 + j2 | 0;\n
00026060: 78 33 20 3d 20 20 78 33 20 2b 20 20 6a 33 20 7c x3 = x3 + j3 |
00026070: 20 30 3b 5c 6e 20 20 20 78 34 20 3d 20 20 78 34 0;\n x4 = x4
00026080: 20 2b 20 20 6a 34 20 7c 20 30 3b 5c 6e 20 20 20 + j4 | 0;\n
00026090: 78 35 20 3d 20 20 78 35 20 2b 20 20 6a 35 20 7c x5 = x5 + j5 |
000260a0: 20 30 3b 5c 6e 20 20 20 78 36 20 3d 20 20 78 36 0;\n x6 = x6
000260b0: 20 2b 20 20 6a 36 20 7c 20 30 3b 5c 6e 20 20 20 + j6 | 0;\n
000260c0: 78 37 20 3d 20 20 78 37 20 2b 20 20 6a 37 20 7c x7 = x7 + j7 |
000260d0: 20 30 3b 5c 6e 20 20 20 78 38 20 3d 20 20 78 38 0;\n x8 = x8
000260e0: 20 2b 20 20 6a 38 20 7c 20 30 3b 5c 6e 20 20 20 + j8 | 0;\n
000260f0: 78 39 20 3d 20 20 78 39 20 2b 20 20 6a 39 20 7c x9 = x9 + j9 |
00026100: 20 30 3b 5c 6e 20 20 78 31 30 20 3d 20 78 31 30 0;\n x10 = x10
00026110: 20 2b 20 6a 31 30 20 7c 20 30 3b 5c 6e 20 20 78 + j10 | 0;\n x
00026120: 31 31 20 3d 20 78 31 31 20 2b 20 6a 31 31 20 7c 11 = x11 + j11 |
00026130: 20 30 3b 5c 6e 20 20 78 31 32 20 3d 20 78 31 32 0;\n x12 = x12
00026140: 20 2b 20 6a 31 32 20 7c 20 30 3b 5c 6e 20 20 78 + j12 | 0;\n x
00026150: 31 33 20 3d 20 78 31 33 20 2b 20 6a 31 33 20 7c 13 = x13 + j13 |
00026160: 20 30 3b 5c 6e 20 20 78 31 34 20 3d 20 78 31 34 0;\n x14 = x14
00026170: 20 2b 20 6a 31 34 20 7c 20 30 3b 5c 6e 20 20 78 + j14 | 0;\n x
00026180: 31 35 20 3d 20 78 31 35 20 2b 20 6a 31 35 20 7c 15 = x15 + j15 |
00026190: 20 30 3b 5c 6e 5c 6e 20 20 6f 5b 20 30 5d 20 3d 0;\n\n o[ 0] =
000261a0: 20 78 30 20 3e 3e 3e 20 20 30 20 26 20 30 78 66 x0 >>> 0 & 0xf
000261b0: 66 3b 5c 6e 20 20 6f 5b 20 31 5d 20 3d 20 78 30 f;\n o[ 1] = x0
000261c0: 20 3e 3e 3e 20 20 38 20 26 20 30 78 66 66 3b 5c >>> 8 & 0xff;\
000261d0: 6e 20 20 6f 5b 20 32 5d 20 3d 20 78 30 20 3e 3e n o[ 2] = x0 >>
000261e0: 3e 20 31 36 20 26 20 30 78 66 66 3b 5c 6e 20 20 > 16 & 0xff;\n
000261f0: 6f 5b 20 33 5d 20 3d 20 78 30 20 3e 3e 3e 20 32 o[ 3] = x0 >>> 2
00026200: 34 20 26 20 30 78 66 66 3b 5c 6e 5c 6e 20 20 6f 4 & 0xff;\n\n o
00026210: 5b 20 34 5d 20 3d 20 78 31 20 3e 3e 3e 20 20 30 [ 4] = x1 >>> 0
00026220: 20 26 20 30 78 66 66 3b 5c 6e 20 20 6f 5b 20 35 & 0xff;\n o[ 5
00026230: 5d 20 3d 20 78 31 20 3e 3e 3e 20 20 38 20 26 20 ] = x1 >>> 8 &
00026240: 30 78 66 66 3b 5c 6e 20 20 6f 5b 20 36 5d 20 3d 0xff;\n o[ 6] =
00026250: 20 78 31 20 3e 3e 3e 20 31 36 20 26 20 30 78 66 x1 >>> 16 & 0xf
00026260: 66 3b 5c 6e 20 20 6f 5b 20 37 5d 20 3d 20 78 31 f;\n o[ 7] = x1
00026270: 20 3e 3e 3e 20 32 34 20 26 20 30 78 66 66 3b 5c >>> 24 & 0xff;\
00026280: 6e 5c 6e 20 20 6f 5b 20 38 5d 20 3d 20 78 32 20 n\n o[ 8] = x2
00026290: 3e 3e 3e 20 20 30 20 26 20 30 78 66 66 3b 5c 6e >>> 0 & 0xff;\n
000262a0: 20 20 6f 5b 20 39 5d 20 3d 20 78 32 20 3e 3e 3e o[ 9] = x2 >>>
000262b0: 20 20 38 20 26 20 30 78 66 66 3b 5c 6e 20 20 6f 8 & 0xff;\n o
000262c0: 5b 31 30 5d 20 3d 20 78 32 20 3e 3e 3e 20 31 36 [10] = x2 >>> 16
000262d0: 20 26 20 30 78 66 66 3b 5c 6e 20 20 6f 5b 31 31 & 0xff;\n o[11
000262e0: 5d 20 3d 20 78 32 20 3e 3e 3e 20 32 34 20 26 20 ] = x2 >>> 24 &
000262f0: 30 78 66 66 3b 5c 6e 5c 6e 20 20 6f 5b 31 32 5d 0xff;\n\n o[12]
00026300: 20 3d 20 78 33 20 3e 3e 3e 20 20 30 20 26 20 30 = x3 >>> 0 & 0
00026310: 78 66 66 3b 5c 6e 20 20 6f 5b 31 33 5d 20 3d 20 xff;\n o[13] =
00026320: 78 33 20 3e 3e 3e 20 20 38 20 26 20 30 78 66 66 x3 >>> 8 & 0xff
00026330: 3b 5c 6e 20 20 6f 5b 31 34 5d 20 3d 20 78 33 20 ;\n o[14] = x3
00026340: 3e 3e 3e 20 31 36 20 26 20 30 78 66 66 3b 5c 6e >>> 16 & 0xff;\n
00026350: 20 20 6f 5b 31 35 5d 20 3d 20 78 33 20 3e 3e 3e o[15] = x3 >>>
00026360: 20 32 34 20 26 20 30 78 66 66 3b 5c 6e 5c 6e 20 24 & 0xff;\n\n
00026370: 20 6f 5b 31 36 5d 20 3d 20 78 34 20 3e 3e 3e 20 o[16] = x4 >>>
00026380: 20 30 20 26 20 30 78 66 66 3b 5c 6e 20 20 6f 5b 0 & 0xff;\n o[
00026390: 31 37 5d 20 3d 20 78 34 20 3e 3e 3e 20 20 38 20 17] = x4 >>> 8
000263a0: 26 20 30 78 66 66 3b 5c 6e 20 20 6f 5b 31 38 5d & 0xff;\n o[18]
000263b0: 20 3d 20 78 34 20 3e 3e 3e 20 31 36 20 26 20 30 = x4 >>> 16 & 0
000263c0: 78 66 66 3b 5c 6e 20 20 6f 5b 31 39 5d 20 3d 20 xff;\n o[19] =
000263d0: 78 34 20 3e 3e 3e 20 32 34 20 26 20 30 78 66 66 x4 >>> 24 & 0xff
000263e0: 3b 5c 6e 5c 6e 20 20 6f 5b 32 30 5d 20 3d 20 78 ;\n\n o[20] = x
000263f0: 35 20 3e 3e 3e 20 20 30 20 26 20 30 78 66 66 3b 5 >>> 0 & 0xff;
00026400: 5c 6e 20 20 6f 5b 32 31 5d 20 3d 20 78 35 20 3e \n o[21] = x5 >
00026410: 3e 3e 20 20 38 20 26 20 30 78 66 66 3b 5c 6e 20 >> 8 & 0xff;\n
00026420: 20 6f 5b 32 32 5d 20 3d 20 78 35 20 3e 3e 3e 20 o[22] = x5 >>>
00026430: 31 36 20 26 20 30 78 66 66 3b 5c 6e 20 20 6f 5b 16 & 0xff;\n o[
00026440: 32 33 5d 20 3d 20 78 35 20 3e 3e 3e 20 32 34 20 23] = x5 >>> 24
00026450: 26 20 30 78 66 66 3b 5c 6e 5c 6e 20 20 6f 5b 32 & 0xff;\n\n o[2
00026460: 34 5d 20 3d 20 78 36 20 3e 3e 3e 20 20 30 20 26 4] = x6 >>> 0 &
00026470: 20 30 78 66 66 3b 5c 6e 20 20 6f 5b 32 35 5d 20 0xff;\n o[25]
00026480: 3d 20 78 36 20 3e 3e 3e 20 20 38 20 26 20 30 78 = x6 >>> 8 & 0x
00026490: 66 66 3b 5c 6e 20 20 6f 5b 32 36 5d 20 3d 20 78 ff;\n o[26] = x
000264a0: 36 20 3e 3e 3e 20 31 36 20 26 20 30 78 66 66 3b 6 >>> 16 & 0xff;
000264b0: 5c 6e 20 20 6f 5b 32 37 5d 20 3d 20 78 36 20 3e \n o[27] = x6 >
000264c0: 3e 3e 20 32 34 20 26 20 30 78 66 66 3b 5c 6e 5c >> 24 & 0xff;\n\
000264d0: 6e 20 20 6f 5b 32 38 5d 20 3d 20 78 37 20 3e 3e n o[28] = x7 >>
000264e0: 3e 20 20 30 20 26 20 30 78 66 66 3b 5c 6e 20 20 > 0 & 0xff;\n
000264f0: 6f 5b 32 39 5d 20 3d 20 78 37 20 3e 3e 3e 20 20 o[29] = x7 >>>
00026500: 38 20 26 20 30 78 66 66 3b 5c 6e 20 20 6f 5b 33 8 & 0xff;\n o[3
00026510: 30 5d 20 3d 20 78 37 20 3e 3e 3e 20 31 36 20 26 0] = x7 >>> 16 &
00026520: 20 30 78 66 66 3b 5c 6e 20 20 6f 5b 33 31 5d 20 0xff;\n o[31]
00026530: 3d 20 78 37 20 3e 3e 3e 20 32 34 20 26 20 30 78 = x7 >>> 24 & 0x
00026540: 66 66 3b 5c 6e 5c 6e 20 20 6f 5b 33 32 5d 20 3d ff;\n\n o[32] =
00026550: 20 78 38 20 3e 3e 3e 20 20 30 20 26 20 30 78 66 x8 >>> 0 & 0xf
00026560: 66 3b 5c 6e 20 20 6f 5b 33 33 5d 20 3d 20 78 38 f;\n o[33] = x8
00026570: 20 3e 3e 3e 20 20 38 20 26 20 30 78 66 66 3b 5c >>> 8 & 0xff;\
00026580: 6e 20 20 6f 5b 33 34 5d 20 3d 20 78 38 20 3e 3e n o[34] = x8 >>
00026590: 3e 20 31 36 20 26 20 30 78 66 66 3b 5c 6e 20 20 > 16 & 0xff;\n
000265a0: 6f 5b 33 35 5d 20 3d 20 78 38 20 3e 3e 3e 20 32 o[35] = x8 >>> 2
000265b0: 34 20 26 20 30 78 66 66 3b 5c 6e 5c 6e 20 20 6f 4 & 0xff;\n\n o
000265c0: 5b 33 36 5d 20 3d 20 78 39 20 3e 3e 3e 20 20 30 [36] = x9 >>> 0
000265d0: 20 26 20 30 78 66 66 3b 5c 6e 20 20 6f 5b 33 37 & 0xff;\n o[37
000265e0: 5d 20 3d 20 78 39 20 3e 3e 3e 20 20 38 20 26 20 ] = x9 >>> 8 &
000265f0: 30 78 66 66 3b 5c 6e 20 20 6f 5b 33 38 5d 20 3d 0xff;\n o[38] =
00026600: 20 78 39 20 3e 3e 3e 20 31 36 20 26 20 30 78 66 x9 >>> 16 & 0xf
00026610: 66 3b 5c 6e 20 20 6f 5b 33 39 5d 20 3d 20 78 39 f;\n o[39] = x9
00026620: 20 3e 3e 3e 20 32 34 20 26 20 30 78 66 66 3b 5c >>> 24 & 0xff;\
00026630: 6e 5c 6e 20 20 6f 5b 34 30 5d 20 3d 20 78 31 30 n\n o[40] = x10
00026640: 20 3e 3e 3e 20 20 30 20 26 20 30 78 66 66 3b 5c >>> 0 & 0xff;\
00026650: 6e 20 20 6f 5b 34 31 5d 20 3d 20 78 31 30 20 3e n o[41] = x10 >
00026660: 3e 3e 20 20 38 20 26 20 30 78 66 66 3b 5c 6e 20 >> 8 & 0xff;\n
00026670: 20 6f 5b 34 32 5d 20 3d 20 78 31 30 20 3e 3e 3e o[42] = x10 >>>
00026680: 20 31 36 20 26 20 30 78 66 66 3b 5c 6e 20 20 6f 16 & 0xff;\n o
00026690: 5b 34 33 5d 20 3d 20 78 31 30 20 3e 3e 3e 20 32 [43] = x10 >>> 2
000266a0: 34 20 26 20 30 78 66 66 3b 5c 6e 5c 6e 20 20 6f 4 & 0xff;\n\n o
000266b0: 5b 34 34 5d 20 3d 20 78 31 31 20 3e 3e 3e 20 20 [44] = x11 >>>
000266c0: 30 20 26 20 30 78 66 66 3b 5c 6e 20 20 6f 5b 34 0 & 0xff;\n o[4
000266d0: 35 5d 20 3d 20 78 31 31 20 3e 3e 3e 20 20 38 20 5] = x11 >>> 8
000266e0: 26 20 30 78 66 66 3b 5c 6e 20 20 6f 5b 34 36 5d & 0xff;\n o[46]
000266f0: 20 3d 20 78 31 31 20 3e 3e 3e 20 31 36 20 26 20 = x11 >>> 16 &
00026700: 30 78 66 66 3b 5c 6e 20 20 6f 5b 34 37 5d 20 3d 0xff;\n o[47] =
00026710: 20 78 31 31 20 3e 3e 3e 20 32 34 20 26 20 30 78 x11 >>> 24 & 0x
00026720: 66 66 3b 5c 6e 5c 6e 20 20 6f 5b 34 38 5d 20 3d ff;\n\n o[48] =
00026730: 20 78 31 32 20 3e 3e 3e 20 20 30 20 26 20 30 78 x12 >>> 0 & 0x
00026740: 66 66 3b 5c 6e 20 20 6f 5b 34 39 5d 20 3d 20 78 ff;\n o[49] = x
00026750: 31 32 20 3e 3e 3e 20 20 38 20 26 20 30 78 66 66 12 >>> 8 & 0xff
00026760: 3b 5c 6e 20 20 6f 5b 35 30 5d 20 3d 20 78 31 32 ;\n o[50] = x12
00026770: 20 3e 3e 3e 20 31 36 20 26 20 30 78 66 66 3b 5c >>> 16 & 0xff;\
00026780: 6e 20 20 6f 5b 35 31 5d 20 3d 20 78 31 32 20 3e n o[51] = x12 >
00026790: 3e 3e 20 32 34 20 26 20 30 78 66 66 3b 5c 6e 5c >> 24 & 0xff;\n\
000267a0: 6e 20 20 6f 5b 35 32 5d 20 3d 20 78 31 33 20 3e n o[52] = x13 >
000267b0: 3e 3e 20 20 30 20 26 20 30 78 66 66 3b 5c 6e 20 >> 0 & 0xff;\n
000267c0: 20 6f 5b 35 33 5d 20 3d 20 78 31 33 20 3e 3e 3e o[53] = x13 >>>
000267d0: 20 20 38 20 26 20 30 78 66 66 3b 5c 6e 20 20 6f 8 & 0xff;\n o
000267e0: 5b 35 34 5d 20 3d 20 78 31 33 20 3e 3e 3e 20 31 [54] = x13 >>> 1
000267f0: 36 20 26 20 30 78 66 66 3b 5c 6e 20 20 6f 5b 35 6 & 0xff;\n o[5
00026800: 35 5d 20 3d 20 78 31 33 20 3e 3e 3e 20 32 34 20 5] = x13 >>> 24
00026810: 26 20 30 78 66 66 3b 5c 6e 5c 6e 20 20 6f 5b 35 & 0xff;\n\n o[5
00026820: 36 5d 20 3d 20 78 31 34 20 3e 3e 3e 20 20 30 20 6] = x14 >>> 0
00026830: 26 20 30 78 66 66 3b 5c 6e 20 20 6f 5b 35 37 5d & 0xff;\n o[57]
00026840: 20 3d 20 78 31 34 20 3e 3e 3e 20 20 38 20 26 20 = x14 >>> 8 &
00026850: 30 78 66 66 3b 5c 6e 20 20 6f 5b 35 38 5d 20 3d 0xff;\n o[58] =
00026860: 20 78 31 34 20 3e 3e 3e 20 31 36 20 26 20 30 78 x14 >>> 16 & 0x
00026870: 66 66 3b 5c 6e 20 20 6f 5b 35 39 5d 20 3d 20 78 ff;\n o[59] = x
00026880: 31 34 20 3e 3e 3e 20 32 34 20 26 20 30 78 66 66 14 >>> 24 & 0xff
00026890: 3b 5c 6e 5c 6e 20 20 6f 5b 36 30 5d 20 3d 20 78 ;\n\n o[60] = x
000268a0: 31 35 20 3e 3e 3e 20 20 30 20 26 20 30 78 66 66 15 >>> 0 & 0xff
000268b0: 3b 5c 6e 20 20 6f 5b 36 31 5d 20 3d 20 78 31 35 ;\n o[61] = x15
000268c0: 20 3e 3e 3e 20 20 38 20 26 20 30 78 66 66 3b 5c >>> 8 & 0xff;\
000268d0: 6e 20 20 6f 5b 36 32 5d 20 3d 20 78 31 35 20 3e n o[62] = x15 >
000268e0: 3e 3e 20 31 36 20 26 20 30 78 66 66 3b 5c 6e 20 >> 16 & 0xff;\n
000268f0: 20 6f 5b 36 33 5d 20 3d 20 78 31 35 20 3e 3e 3e o[63] = x15 >>>
00026900: 20 32 34 20 26 20 30 78 66 66 3b 5c 6e 7d 5c 6e 24 & 0xff;\n}\n
00026910: 5c 6e 66 75 6e 63 74 69 6f 6e 20 63 6f 72 65 5f \nfunction core_
00026920: 68 73 61 6c 73 61 32 30 28 6f 2c 70 2c 6b 2c 63 hsalsa20(o,p,k,c
00026930: 29 20 7b 5c 6e 20 20 76 61 72 20 6a 30 20 20 3d ) {\n var j0 =
00026940: 20 63 5b 20 30 5d 20 26 20 30 78 66 66 20 7c 20 c[ 0] & 0xff |
00026950: 28 63 5b 20 31 5d 20 26 20 30 78 66 66 29 3c 3c (c[ 1] & 0xff)<<
00026960: 38 20 7c 20 28 63 5b 20 32 5d 20 26 20 30 78 66 8 | (c[ 2] & 0xf
00026970: 66 29 3c 3c 31 36 20 7c 20 28 63 5b 20 33 5d 20 f)<<16 | (c[ 3]
00026980: 26 20 30 78 66 66 29 3c 3c 32 34 2c 5c 6e 20 20 & 0xff)<<24,\n
00026990: 20 20 20 20 6a 31 20 20 3d 20 6b 5b 20 30 5d 20 j1 = k[ 0]
000269a0: 26 20 30 78 66 66 20 7c 20 28 6b 5b 20 31 5d 20 & 0xff | (k[ 1]
000269b0: 26 20 30 78 66 66 29 3c 3c 38 20 7c 20 28 6b 5b & 0xff)<<8 | (k[
000269c0: 20 32 5d 20 26 20 30 78 66 66 29 3c 3c 31 36 20 2] & 0xff)<<16
000269d0: 7c 20 28 6b 5b 20 33 5d 20 26 20 30 78 66 66 29 | (k[ 3] & 0xff)
000269e0: 3c 3c 32 34 2c 5c 6e 20 20 20 20 20 20 6a 32 20 <<24,\n j2
000269f0: 20 3d 20 6b 5b 20 34 5d 20 26 20 30 78 66 66 20 = k[ 4] & 0xff
00026a00: 7c 20 28 6b 5b 20 35 5d 20 26 20 30 78 66 66 29 | (k[ 5] & 0xff)
00026a10: 3c 3c 38 20 7c 20 28 6b 5b 20 36 5d 20 26 20 30 <<8 | (k[ 6] & 0
00026a20: 78 66 66 29 3c 3c 31 36 20 7c 20 28 6b 5b 20 37 xff)<<16 | (k[ 7
00026a30: 5d 20 26 20 30 78 66 66 29 3c 3c 32 34 2c 5c 6e ] & 0xff)<<24,\n
00026a40: 20 20 20 20 20 20 6a 33 20 20 3d 20 6b 5b 20 38 j3 = k[ 8
00026a50: 5d 20 26 20 30 78 66 66 20 7c 20 28 6b 5b 20 39 ] & 0xff | (k[ 9
00026a60: 5d 20 26 20 30 78 66 66 29 3c 3c 38 20 7c 20 28 ] & 0xff)<<8 | (
00026a70: 6b 5b 31 30 5d 20 26 20 30 78 66 66 29 3c 3c 31 k[10] & 0xff)<<1
00026a80: 36 20 7c 20 28 6b 5b 31 31 5d 20 26 20 30 78 66 6 | (k[11] & 0xf
00026a90: 66 29 3c 3c 32 34 2c 5c 6e 20 20 20 20 20 20 6a f)<<24,\n j
00026aa0: 34 20 20 3d 20 6b 5b 31 32 5d 20 26 20 30 78 66 4 = k[12] & 0xf
00026ab0: 66 20 7c 20 28 6b 5b 31 33 5d 20 26 20 30 78 66 f | (k[13] & 0xf
00026ac0: 66 29 3c 3c 38 20 7c 20 28 6b 5b 31 34 5d 20 26 f)<<8 | (k[14] &
00026ad0: 20 30 78 66 66 29 3c 3c 31 36 20 7c 20 28 6b 5b 0xff)<<16 | (k[
00026ae0: 31 35 5d 20 26 20 30 78 66 66 29 3c 3c 32 34 2c 15] & 0xff)<<24,
00026af0: 5c 6e 20 20 20 20 20 20 6a 35 20 20 3d 20 63 5b \n j5 = c[
00026b00: 20 34 5d 20 26 20 30 78 66 66 20 7c 20 28 63 5b 4] & 0xff | (c[
00026b10: 20 35 5d 20 26 20 30 78 66 66 29 3c 3c 38 20 7c 5] & 0xff)<<8 |
00026b20: 20 28 63 5b 20 36 5d 20 26 20 30 78 66 66 29 3c (c[ 6] & 0xff)<
00026b30: 3c 31 36 20 7c 20 28 63 5b 20 37 5d 20 26 20 30 <16 | (c[ 7] & 0
00026b40: 78 66 66 29 3c 3c 32 34 2c 5c 6e 20 20 20 20 20 xff)<<24,\n
00026b50: 20 6a 36 20 20 3d 20 70 5b 20 30 5d 20 26 20 30 j6 = p[ 0] & 0
00026b60: 78 66 66 20 7c 20 28 70 5b 20 31 5d 20 26 20 30 xff | (p[ 1] & 0
00026b70: 78 66 66 29 3c 3c 38 20 7c 20 28 70 5b 20 32 5d xff)<<8 | (p[ 2]
00026b80: 20 26 20 30 78 66 66 29 3c 3c 31 36 20 7c 20 28 & 0xff)<<16 | (
00026b90: 70 5b 20 33 5d 20 26 20 30 78 66 66 29 3c 3c 32 p[ 3] & 0xff)<<2
00026ba0: 34 2c 5c 6e 20 20 20 20 20 20 6a 37 20 20 3d 20 4,\n j7 =
00026bb0: 70 5b 20 34 5d 20 26 20 30 78 66 66 20 7c 20 28 p[ 4] & 0xff | (
00026bc0: 70 5b 20 35 5d 20 26 20 30 78 66 66 29 3c 3c 38 p[ 5] & 0xff)<<8
00026bd0: 20 7c 20 28 70 5b 20 36 5d 20 26 20 30 78 66 66 | (p[ 6] & 0xff
00026be0: 29 3c 3c 31 36 20 7c 20 28 70 5b 20 37 5d 20 26 )<<16 | (p[ 7] &
00026bf0: 20 30 78 66 66 29 3c 3c 32 34 2c 5c 6e 20 20 20 0xff)<<24,\n
00026c00: 20 20 20 6a 38 20 20 3d 20 70 5b 20 38 5d 20 26 j8 = p[ 8] &
00026c10: 20 30 78 66 66 20 7c 20 28 70 5b 20 39 5d 20 26 0xff | (p[ 9] &
00026c20: 20 30 78 66 66 29 3c 3c 38 20 7c 20 28 70 5b 31 0xff)<<8 | (p[1
00026c30: 30 5d 20 26 20 30 78 66 66 29 3c 3c 31 36 20 7c 0] & 0xff)<<16 |
00026c40: 20 28 70 5b 31 31 5d 20 26 20 30 78 66 66 29 3c (p[11] & 0xff)<
00026c50: 3c 32 34 2c 5c 6e 20 20 20 20 20 20 6a 39 20 20 <24,\n j9
00026c60: 3d 20 70 5b 31 32 5d 20 26 20 30 78 66 66 20 7c = p[12] & 0xff |
00026c70: 20 28 70 5b 31 33 5d 20 26 20 30 78 66 66 29 3c (p[13] & 0xff)<
00026c80: 3c 38 20 7c 20 28 70 5b 31 34 5d 20 26 20 30 78 <8 | (p[14] & 0x
00026c90: 66 66 29 3c 3c 31 36 20 7c 20 28 70 5b 31 35 5d ff)<<16 | (p[15]
00026ca0: 20 26 20 30 78 66 66 29 3c 3c 32 34 2c 5c 6e 20 & 0xff)<<24,\n
00026cb0: 20 20 20 20 20 6a 31 30 20 3d 20 63 5b 20 38 5d j10 = c[ 8]
00026cc0: 20 26 20 30 78 66 66 20 7c 20 28 63 5b 20 39 5d & 0xff | (c[ 9]
00026cd0: 20 26 20 30 78 66 66 29 3c 3c 38 20 7c 20 28 63 & 0xff)<<8 | (c
00026ce0: 5b 31 30 5d 20 26 20 30 78 66 66 29 3c 3c 31 36 [10] & 0xff)<<16
00026cf0: 20 7c 20 28 63 5b 31 31 5d 20 26 20 30 78 66 66 | (c[11] & 0xff
00026d00: 29 3c 3c 32 34 2c 5c 6e 20 20 20 20 20 20 6a 31 )<<24,\n j1
00026d10: 31 20 3d 20 6b 5b 31 36 5d 20 26 20 30 78 66 66 1 = k[16] & 0xff
00026d20: 20 7c 20 28 6b 5b 31 37 5d 20 26 20 30 78 66 66 | (k[17] & 0xff
00026d30: 29 3c 3c 38 20 7c 20 28 6b 5b 31 38 5d 20 26 20 )<<8 | (k[18] &
00026d40: 30 78 66 66 29 3c 3c 31 36 20 7c 20 28 6b 5b 31 0xff)<<16 | (k[1
00026d50: 39 5d 20 26 20 30 78 66 66 29 3c 3c 32 34 2c 5c 9] & 0xff)<<24,\
00026d60: 6e 20 20 20 20 20 20 6a 31 32 20 3d 20 6b 5b 32 n j12 = k[2
00026d70: 30 5d 20 26 20 30 78 66 66 20 7c 20 28 6b 5b 32 0] & 0xff | (k[2
00026d80: 31 5d 20 26 20 30 78 66 66 29 3c 3c 38 20 7c 20 1] & 0xff)<<8 |
00026d90: 28 6b 5b 32 32 5d 20 26 20 30 78 66 66 29 3c 3c (k[22] & 0xff)<<
00026da0: 31 36 20 7c 20 28 6b 5b 32 33 5d 20 26 20 30 78 16 | (k[23] & 0x
00026db0: 66 66 29 3c 3c 32 34 2c 5c 6e 20 20 20 20 20 20 ff)<<24,\n
00026dc0: 6a 31 33 20 3d 20 6b 5b 32 34 5d 20 26 20 30 78 j13 = k[24] & 0x
00026dd0: 66 66 20 7c 20 28 6b 5b 32 35 5d 20 26 20 30 78 ff | (k[25] & 0x
00026de0: 66 66 29 3c 3c 38 20 7c 20 28 6b 5b 32 36 5d 20 ff)<<8 | (k[26]
00026df0: 26 20 30 78 66 66 29 3c 3c 31 36 20 7c 20 28 6b & 0xff)<<16 | (k
00026e00: 5b 32 37 5d 20 26 20 30 78 66 66 29 3c 3c 32 34 [27] & 0xff)<<24
00026e10: 2c 5c 6e 20 20 20 20 20 20 6a 31 34 20 3d 20 6b ,\n j14 = k
00026e20: 5b 32 38 5d 20 26 20 30 78 66 66 20 7c 20 28 6b [28] & 0xff | (k
00026e30: 5b 32 39 5d 20 26 20 30 78 66 66 29 3c 3c 38 20 [29] & 0xff)<<8
00026e40: 7c 20 28 6b 5b 33 30 5d 20 26 20 30 78 66 66 29 | (k[30] & 0xff)
00026e50: 3c 3c 31 36 20 7c 20 28 6b 5b 33 31 5d 20 26 20 <<16 | (k[31] &
00026e60: 30 78 66 66 29 3c 3c 32 34 2c 5c 6e 20 20 20 20 0xff)<<24,\n
00026e70: 20 20 6a 31 35 20 3d 20 63 5b 31 32 5d 20 26 20 j15 = c[12] &
00026e80: 30 78 66 66 20 7c 20 28 63 5b 31 33 5d 20 26 20 0xff | (c[13] &
00026e90: 30 78 66 66 29 3c 3c 38 20 7c 20 28 63 5b 31 34 0xff)<<8 | (c[14
00026ea0: 5d 20 26 20 30 78 66 66 29 3c 3c 31 36 20 7c 20 ] & 0xff)<<16 |
00026eb0: 28 63 5b 31 35 5d 20 26 20 30 78 66 66 29 3c 3c (c[15] & 0xff)<<
00026ec0: 32 34 3b 5c 6e 5c 6e 20 20 76 61 72 20 78 30 20 24;\n\n var x0
00026ed0: 3d 20 6a 30 2c 20 78 31 20 3d 20 6a 31 2c 20 78 = j0, x1 = j1, x
00026ee0: 32 20 3d 20 6a 32 2c 20 78 33 20 3d 20 6a 33 2c 2 = j2, x3 = j3,
00026ef0: 20 78 34 20 3d 20 6a 34 2c 20 78 35 20 3d 20 6a x4 = j4, x5 = j
00026f00: 35 2c 20 78 36 20 3d 20 6a 36 2c 20 78 37 20 3d 5, x6 = j6, x7 =
00026f10: 20 6a 37 2c 5c 6e 20 20 20 20 20 20 78 38 20 3d j7,\n x8 =
00026f20: 20 6a 38 2c 20 78 39 20 3d 20 6a 39 2c 20 78 31 j8, x9 = j9, x1
00026f30: 30 20 3d 20 6a 31 30 2c 20 78 31 31 20 3d 20 6a 0 = j10, x11 = j
00026f40: 31 31 2c 20 78 31 32 20 3d 20 6a 31 32 2c 20 78 11, x12 = j12, x
00026f50: 31 33 20 3d 20 6a 31 33 2c 20 78 31 34 20 3d 20 13 = j13, x14 =
00026f60: 6a 31 34 2c 5c 6e 20 20 20 20 20 20 78 31 35 20 j14,\n x15
00026f70: 3d 20 6a 31 35 2c 20 75 3b 5c 6e 5c 6e 20 20 66 = j15, u;\n\n f
00026f80: 6f 72 20 28 76 61 72 20 69 20 3d 20 30 3b 20 69 or (var i = 0; i
00026f90: 20 3c 20 32 30 3b 20 69 20 2b 3d 20 32 29 20 7b < 20; i += 2) {
00026fa0: 5c 6e 20 20 20 20 75 20 3d 20 78 30 20 2b 20 78 \n u = x0 + x
00026fb0: 31 32 20 7c 20 30 3b 5c 6e 20 20 20 20 78 34 20 12 | 0;\n x4
00026fc0: 5e 3d 20 75 3c 3c 37 20 7c 20 75 3e 3e 3e 28 33 ^= u<<7 | u>>>(3
00026fd0: 32 2d 37 29 3b 5c 6e 20 20 20 20 75 20 3d 20 78 2-7);\n u = x
00026fe0: 34 20 2b 20 78 30 20 7c 20 30 3b 5c 6e 20 20 20 4 + x0 | 0;\n
00026ff0: 20 78 38 20 5e 3d 20 75 3c 3c 39 20 7c 20 75 3e x8 ^= u<<9 | u>
00027000: 3e 3e 28 33 32 2d 39 29 3b 5c 6e 20 20 20 20 75 >>(32-9);\n u
00027010: 20 3d 20 78 38 20 2b 20 78 34 20 7c 20 30 3b 5c = x8 + x4 | 0;\
00027020: 6e 20 20 20 20 78 31 32 20 5e 3d 20 75 3c 3c 31 n x12 ^= u<<1
00027030: 33 20 7c 20 75 3e 3e 3e 28 33 32 2d 31 33 29 3b 3 | u>>>(32-13);
00027040: 5c 6e 20 20 20 20 75 20 3d 20 78 31 32 20 2b 20 \n u = x12 +
00027050: 78 38 20 7c 20 30 3b 5c 6e 20 20 20 20 78 30 20 x8 | 0;\n x0
00027060: 5e 3d 20 75 3c 3c 31 38 20 7c 20 75 3e 3e 3e 28 ^= u<<18 | u>>>(
00027070: 33 32 2d 31 38 29 3b 5c 6e 5c 6e 20 20 20 20 75 32-18);\n\n u
00027080: 20 3d 20 78 35 20 2b 20 78 31 20 7c 20 30 3b 5c = x5 + x1 | 0;\
00027090: 6e 20 20 20 20 78 39 20 5e 3d 20 75 3c 3c 37 20 n x9 ^= u<<7
000270a0: 7c 20 75 3e 3e 3e 28 33 32 2d 37 29 3b 5c 6e 20 | u>>>(32-7);\n
000270b0: 20 20 20 75 20 3d 20 78 39 20 2b 20 78 35 20 7c u = x9 + x5 |
000270c0: 20 30 3b 5c 6e 20 20 20 20 78 31 33 20 5e 3d 20 0;\n x13 ^=
000270d0: 75 3c 3c 39 20 7c 20 75 3e 3e 3e 28 33 32 2d 39 u<<9 | u>>>(32-9
000270e0: 29 3b 5c 6e 20 20 20 20 75 20 3d 20 78 31 33 20 );\n u = x13
000270f0: 2b 20 78 39 20 7c 20 30 3b 5c 6e 20 20 20 20 78 + x9 | 0;\n x
00027100: 31 20 5e 3d 20 75 3c 3c 31 33 20 7c 20 75 3e 3e 1 ^= u<<13 | u>>
00027110: 3e 28 33 32 2d 31 33 29 3b 5c 6e 20 20 20 20 75 >(32-13);\n u
00027120: 20 3d 20 78 31 20 2b 20 78 31 33 20 7c 20 30 3b = x1 + x13 | 0;
00027130: 5c 6e 20 20 20 20 78 35 20 5e 3d 20 75 3c 3c 31 \n x5 ^= u<<1
00027140: 38 20 7c 20 75 3e 3e 3e 28 33 32 2d 31 38 29 3b 8 | u>>>(32-18);
00027150: 5c 6e 5c 6e 20 20 20 20 75 20 3d 20 78 31 30 20 \n\n u = x10
00027160: 2b 20 78 36 20 7c 20 30 3b 5c 6e 20 20 20 20 78 + x6 | 0;\n x
00027170: 31 34 20 5e 3d 20 75 3c 3c 37 20 7c 20 75 3e 3e 14 ^= u<<7 | u>>
00027180: 3e 28 33 32 2d 37 29 3b 5c 6e 20 20 20 20 75 20 >(32-7);\n u
00027190: 3d 20 78 31 34 20 2b 20 78 31 30 20 7c 20 30 3b = x14 + x10 | 0;
000271a0: 5c 6e 20 20 20 20 78 32 20 5e 3d 20 75 3c 3c 39 \n x2 ^= u<<9
000271b0: 20 7c 20 75 3e 3e 3e 28 33 32 2d 39 29 3b 5c 6e | u>>>(32-9);\n
000271c0: 20 20 20 20 75 20 3d 20 78 32 20 2b 20 78 31 34 u = x2 + x14
000271d0: 20 7c 20 30 3b 5c 6e 20 20 20 20 78 36 20 5e 3d | 0;\n x6 ^=
000271e0: 20 75 3c 3c 31 33 20 7c 20 75 3e 3e 3e 28 33 32 u<<13 | u>>>(32
000271f0: 2d 31 33 29 3b 5c 6e 20 20 20 20 75 20 3d 20 78 -13);\n u = x
00027200: 36 20 2b 20 78 32 20 7c 20 30 3b 5c 6e 20 20 20 6 + x2 | 0;\n
00027210: 20 78 31 30 20 5e 3d 20 75 3c 3c 31 38 20 7c 20 x10 ^= u<<18 |
00027220: 75 3e 3e 3e 28 33 32 2d 31 38 29 3b 5c 6e 5c 6e u>>>(32-18);\n\n
00027230: 20 20 20 20 75 20 3d 20 78 31 35 20 2b 20 78 31 u = x15 + x1
00027240: 31 20 7c 20 30 3b 5c 6e 20 20 20 20 78 33 20 5e 1 | 0;\n x3 ^
00027250: 3d 20 75 3c 3c 37 20 7c 20 75 3e 3e 3e 28 33 32 = u<<7 | u>>>(32
00027260: 2d 37 29 3b 5c 6e 20 20 20 20 75 20 3d 20 78 33 -7);\n u = x3
00027270: 20 2b 20 78 31 35 20 7c 20 30 3b 5c 6e 20 20 20 + x15 | 0;\n
00027280: 20 78 37 20 5e 3d 20 75 3c 3c 39 20 7c 20 75 3e x7 ^= u<<9 | u>
00027290: 3e 3e 28 33 32 2d 39 29 3b 5c 6e 20 20 20 20 75 >>(32-9);\n u
000272a0: 20 3d 20 78 37 20 2b 20 78 33 20 7c 20 30 3b 5c = x7 + x3 | 0;\
000272b0: 6e 20 20 20 20 78 31 31 20 5e 3d 20 75 3c 3c 31 n x11 ^= u<<1
000272c0: 33 20 7c 20 75 3e 3e 3e 28 33 32 2d 31 33 29 3b 3 | u>>>(32-13);
000272d0: 5c 6e 20 20 20 20 75 20 3d 20 78 31 31 20 2b 20 \n u = x11 +
000272e0: 78 37 20 7c 20 30 3b 5c 6e 20 20 20 20 78 31 35 x7 | 0;\n x15
000272f0: 20 5e 3d 20 75 3c 3c 31 38 20 7c 20 75 3e 3e 3e ^= u<<18 | u>>>
00027300: 28 33 32 2d 31 38 29 3b 5c 6e 5c 6e 20 20 20 20 (32-18);\n\n
00027310: 75 20 3d 20 78 30 20 2b 20 78 33 20 7c 20 30 3b u = x0 + x3 | 0;
00027320: 5c 6e 20 20 20 20 78 31 20 5e 3d 20 75 3c 3c 37 \n x1 ^= u<<7
00027330: 20 7c 20 75 3e 3e 3e 28 33 32 2d 37 29 3b 5c 6e | u>>>(32-7);\n
00027340: 20 20 20 20 75 20 3d 20 78 31 20 2b 20 78 30 20 u = x1 + x0
00027350: 7c 20 30 3b 5c 6e 20 20 20 20 78 32 20 5e 3d 20 | 0;\n x2 ^=
00027360: 75 3c 3c 39 20 7c 20 75 3e 3e 3e 28 33 32 2d 39 u<<9 | u>>>(32-9
00027370: 29 3b 5c 6e 20 20 20 20 75 20 3d 20 78 32 20 2b );\n u = x2 +
00027380: 20 78 31 20 7c 20 30 3b 5c 6e 20 20 20 20 78 33 x1 | 0;\n x3
00027390: 20 5e 3d 20 75 3c 3c 31 33 20 7c 20 75 3e 3e 3e ^= u<<13 | u>>>
000273a0: 28 33 32 2d 31 33 29 3b 5c 6e 20 20 20 20 75 20 (32-13);\n u
000273b0: 3d 20 78 33 20 2b 20 78 32 20 7c 20 30 3b 5c 6e = x3 + x2 | 0;\n
000273c0: 20 20 20 20 78 30 20 5e 3d 20 75 3c 3c 31 38 20 x0 ^= u<<18
000273d0: 7c 20 75 3e 3e 3e 28 33 32 2d 31 38 29 3b 5c 6e | u>>>(32-18);\n
000273e0: 5c 6e 20 20 20 20 75 20 3d 20 78 35 20 2b 20 78 \n u = x5 + x
000273f0: 34 20 7c 20 30 3b 5c 6e 20 20 20 20 78 36 20 5e 4 | 0;\n x6 ^
00027400: 3d 20 75 3c 3c 37 20 7c 20 75 3e 3e 3e 28 33 32 = u<<7 | u>>>(32
00027410: 2d 37 29 3b 5c 6e 20 20 20 20 75 20 3d 20 78 36 -7);\n u = x6
00027420: 20 2b 20 78 35 20 7c 20 30 3b 5c 6e 20 20 20 20 + x5 | 0;\n
00027430: 78 37 20 5e 3d 20 75 3c 3c 39 20 7c 20 75 3e 3e x7 ^= u<<9 | u>>
00027440: 3e 28 33 32 2d 39 29 3b 5c 6e 20 20 20 20 75 20 >(32-9);\n u
00027450: 3d 20 78 37 20 2b 20 78 36 20 7c 20 30 3b 5c 6e = x7 + x6 | 0;\n
00027460: 20 20 20 20 78 34 20 5e 3d 20 75 3c 3c 31 33 20 x4 ^= u<<13
00027470: 7c 20 75 3e 3e 3e 28 33 32 2d 31 33 29 3b 5c 6e | u>>>(32-13);\n
00027480: 20 20 20 20 75 20 3d 20 78 34 20 2b 20 78 37 20 u = x4 + x7
00027490: 7c 20 30 3b 5c 6e 20 20 20 20 78 35 20 5e 3d 20 | 0;\n x5 ^=
000274a0: 75 3c 3c 31 38 20 7c 20 75 3e 3e 3e 28 33 32 2d u<<18 | u>>>(32-
000274b0: 31 38 29 3b 5c 6e 5c 6e 20 20 20 20 75 20 3d 20 18);\n\n u =
000274c0: 78 31 30 20 2b 20 78 39 20 7c 20 30 3b 5c 6e 20 x10 + x9 | 0;\n
000274d0: 20 20 20 78 31 31 20 5e 3d 20 75 3c 3c 37 20 7c x11 ^= u<<7 |
000274e0: 20 75 3e 3e 3e 28 33 32 2d 37 29 3b 5c 6e 20 20 u>>>(32-7);\n
000274f0: 20 20 75 20 3d 20 78 31 31 20 2b 20 78 31 30 20 u = x11 + x10
00027500: 7c 20 30 3b 5c 6e 20 20 20 20 78 38 20 5e 3d 20 | 0;\n x8 ^=
00027510: 75 3c 3c 39 20 7c 20 75 3e 3e 3e 28 33 32 2d 39 u<<9 | u>>>(32-9
00027520: 29 3b 5c 6e 20 20 20 20 75 20 3d 20 78 38 20 2b );\n u = x8 +
00027530: 20 78 31 31 20 7c 20 30 3b 5c 6e 20 20 20 20 78 x11 | 0;\n x
00027540: 39 20 5e 3d 20 75 3c 3c 31 33 20 7c 20 75 3e 3e 9 ^= u<<13 | u>>
00027550: 3e 28 33 32 2d 31 33 29 3b 5c 6e 20 20 20 20 75 >(32-13);\n u
00027560: 20 3d 20 78 39 20 2b 20 78 38 20 7c 20 30 3b 5c = x9 + x8 | 0;\
00027570: 6e 20 20 20 20 78 31 30 20 5e 3d 20 75 3c 3c 31 n x10 ^= u<<1
00027580: 38 20 7c 20 75 3e 3e 3e 28 33 32 2d 31 38 29 3b 8 | u>>>(32-18);
00027590: 5c 6e 5c 6e 20 20 20 20 75 20 3d 20 78 31 35 20 \n\n u = x15
000275a0: 2b 20 78 31 34 20 7c 20 30 3b 5c 6e 20 20 20 20 + x14 | 0;\n
000275b0: 78 31 32 20 5e 3d 20 75 3c 3c 37 20 7c 20 75 3e x12 ^= u<<7 | u>
000275c0: 3e 3e 28 33 32 2d 37 29 3b 5c 6e 20 20 20 20 75 >>(32-7);\n u
000275d0: 20 3d 20 78 31 32 20 2b 20 78 31 35 20 7c 20 30 = x12 + x15 | 0
000275e0: 3b 5c 6e 20 20 20 20 78 31 33 20 5e 3d 20 75 3c ;\n x13 ^= u<
000275f0: 3c 39 20 7c 20 75 3e 3e 3e 28 33 32 2d 39 29 3b <9 | u>>>(32-9);
00027600: 5c 6e 20 20 20 20 75 20 3d 20 78 31 33 20 2b 20 \n u = x13 +
00027610: 78 31 32 20 7c 20 30 3b 5c 6e 20 20 20 20 78 31 x12 | 0;\n x1
00027620: 34 20 5e 3d 20 75 3c 3c 31 33 20 7c 20 75 3e 3e 4 ^= u<<13 | u>>
00027630: 3e 28 33 32 2d 31 33 29 3b 5c 6e 20 20 20 20 75 >(32-13);\n u
00027640: 20 3d 20 78 31 34 20 2b 20 78 31 33 20 7c 20 30 = x14 + x13 | 0
00027650: 3b 5c 6e 20 20 20 20 78 31 35 20 5e 3d 20 75 3c ;\n x15 ^= u<
00027660: 3c 31 38 20 7c 20 75 3e 3e 3e 28 33 32 2d 31 38 <18 | u>>>(32-18
00027670: 29 3b 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 6f 5b 20 );\n }\n\n o[
00027680: 30 5d 20 3d 20 78 30 20 3e 3e 3e 20 20 30 20 26 0] = x0 >>> 0 &
00027690: 20 30 78 66 66 3b 5c 6e 20 20 6f 5b 20 31 5d 20 0xff;\n o[ 1]
000276a0: 3d 20 78 30 20 3e 3e 3e 20 20 38 20 26 20 30 78 = x0 >>> 8 & 0x
000276b0: 66 66 3b 5c 6e 20 20 6f 5b 20 32 5d 20 3d 20 78 ff;\n o[ 2] = x
000276c0: 30 20 3e 3e 3e 20 31 36 20 26 20 30 78 66 66 3b 0 >>> 16 & 0xff;
000276d0: 5c 6e 20 20 6f 5b 20 33 5d 20 3d 20 78 30 20 3e \n o[ 3] = x0 >
000276e0: 3e 3e 20 32 34 20 26 20 30 78 66 66 3b 5c 6e 5c >> 24 & 0xff;\n\
000276f0: 6e 20 20 6f 5b 20 34 5d 20 3d 20 78 35 20 3e 3e n o[ 4] = x5 >>
00027700: 3e 20 20 30 20 26 20 30 78 66 66 3b 5c 6e 20 20 > 0 & 0xff;\n
00027710: 6f 5b 20 35 5d 20 3d 20 78 35 20 3e 3e 3e 20 20 o[ 5] = x5 >>>
00027720: 38 20 26 20 30 78 66 66 3b 5c 6e 20 20 6f 5b 20 8 & 0xff;\n o[
00027730: 36 5d 20 3d 20 78 35 20 3e 3e 3e 20 31 36 20 26 6] = x5 >>> 16 &
00027740: 20 30 78 66 66 3b 5c 6e 20 20 6f 5b 20 37 5d 20 0xff;\n o[ 7]
00027750: 3d 20 78 35 20 3e 3e 3e 20 32 34 20 26 20 30 78 = x5 >>> 24 & 0x
00027760: 66 66 3b 5c 6e 5c 6e 20 20 6f 5b 20 38 5d 20 3d ff;\n\n o[ 8] =
00027770: 20 78 31 30 20 3e 3e 3e 20 20 30 20 26 20 30 78 x10 >>> 0 & 0x
00027780: 66 66 3b 5c 6e 20 20 6f 5b 20 39 5d 20 3d 20 78 ff;\n o[ 9] = x
00027790: 31 30 20 3e 3e 3e 20 20 38 20 26 20 30 78 66 66 10 >>> 8 & 0xff
000277a0: 3b 5c 6e 20 20 6f 5b 31 30 5d 20 3d 20 78 31 30 ;\n o[10] = x10
000277b0: 20 3e 3e 3e 20 31 36 20 26 20 30 78 66 66 3b 5c >>> 16 & 0xff;\
000277c0: 6e 20 20 6f 5b 31 31 5d 20 3d 20 78 31 30 20 3e n o[11] = x10 >
000277d0: 3e 3e 20 32 34 20 26 20 30 78 66 66 3b 5c 6e 5c >> 24 & 0xff;\n\
000277e0: 6e 20 20 6f 5b 31 32 5d 20 3d 20 78 31 35 20 3e n o[12] = x15 >
000277f0: 3e 3e 20 20 30 20 26 20 30 78 66 66 3b 5c 6e 20 >> 0 & 0xff;\n
00027800: 20 6f 5b 31 33 5d 20 3d 20 78 31 35 20 3e 3e 3e o[13] = x15 >>>
00027810: 20 20 38 20 26 20 30 78 66 66 3b 5c 6e 20 20 6f 8 & 0xff;\n o
00027820: 5b 31 34 5d 20 3d 20 78 31 35 20 3e 3e 3e 20 31 [14] = x15 >>> 1
00027830: 36 20 26 20 30 78 66 66 3b 5c 6e 20 20 6f 5b 31 6 & 0xff;\n o[1
00027840: 35 5d 20 3d 20 78 31 35 20 3e 3e 3e 20 32 34 20 5] = x15 >>> 24
00027850: 26 20 30 78 66 66 3b 5c 6e 5c 6e 20 20 6f 5b 31 & 0xff;\n\n o[1
00027860: 36 5d 20 3d 20 78 36 20 3e 3e 3e 20 20 30 20 26 6] = x6 >>> 0 &
00027870: 20 30 78 66 66 3b 5c 6e 20 20 6f 5b 31 37 5d 20 0xff;\n o[17]
00027880: 3d 20 78 36 20 3e 3e 3e 20 20 38 20 26 20 30 78 = x6 >>> 8 & 0x
00027890: 66 66 3b 5c 6e 20 20 6f 5b 31 38 5d 20 3d 20 78 ff;\n o[18] = x
000278a0: 36 20 3e 3e 3e 20 31 36 20 26 20 30 78 66 66 3b 6 >>> 16 & 0xff;
000278b0: 5c 6e 20 20 6f 5b 31 39 5d 20 3d 20 78 36 20 3e \n o[19] = x6 >
000278c0: 3e 3e 20 32 34 20 26 20 30 78 66 66 3b 5c 6e 5c >> 24 & 0xff;\n\
000278d0: 6e 20 20 6f 5b 32 30 5d 20 3d 20 78 37 20 3e 3e n o[20] = x7 >>
000278e0: 3e 20 20 30 20 26 20 30 78 66 66 3b 5c 6e 20 20 > 0 & 0xff;\n
000278f0: 6f 5b 32 31 5d 20 3d 20 78 37 20 3e 3e 3e 20 20 o[21] = x7 >>>
00027900: 38 20 26 20 30 78 66 66 3b 5c 6e 20 20 6f 5b 32 8 & 0xff;\n o[2
00027910: 32 5d 20 3d 20 78 37 20 3e 3e 3e 20 31 36 20 26 2] = x7 >>> 16 &
00027920: 20 30 78 66 66 3b 5c 6e 20 20 6f 5b 32 33 5d 20 0xff;\n o[23]
00027930: 3d 20 78 37 20 3e 3e 3e 20 32 34 20 26 20 30 78 = x7 >>> 24 & 0x
00027940: 66 66 3b 5c 6e 5c 6e 20 20 6f 5b 32 34 5d 20 3d ff;\n\n o[24] =
00027950: 20 78 38 20 3e 3e 3e 20 20 30 20 26 20 30 78 66 x8 >>> 0 & 0xf
00027960: 66 3b 5c 6e 20 20 6f 5b 32 35 5d 20 3d 20 78 38 f;\n o[25] = x8
00027970: 20 3e 3e 3e 20 20 38 20 26 20 30 78 66 66 3b 5c >>> 8 & 0xff;\
00027980: 6e 20 20 6f 5b 32 36 5d 20 3d 20 78 38 20 3e 3e n o[26] = x8 >>
00027990: 3e 20 31 36 20 26 20 30 78 66 66 3b 5c 6e 20 20 > 16 & 0xff;\n
000279a0: 6f 5b 32 37 5d 20 3d 20 78 38 20 3e 3e 3e 20 32 o[27] = x8 >>> 2
000279b0: 34 20 26 20 30 78 66 66 3b 5c 6e 5c 6e 20 20 6f 4 & 0xff;\n\n o
000279c0: 5b 32 38 5d 20 3d 20 78 39 20 3e 3e 3e 20 20 30 [28] = x9 >>> 0
000279d0: 20 26 20 30 78 66 66 3b 5c 6e 20 20 6f 5b 32 39 & 0xff;\n o[29
000279e0: 5d 20 3d 20 78 39 20 3e 3e 3e 20 20 38 20 26 20 ] = x9 >>> 8 &
000279f0: 30 78 66 66 3b 5c 6e 20 20 6f 5b 33 30 5d 20 3d 0xff;\n o[30] =
00027a00: 20 78 39 20 3e 3e 3e 20 31 36 20 26 20 30 78 66 x9 >>> 16 & 0xf
00027a10: 66 3b 5c 6e 20 20 6f 5b 33 31 5d 20 3d 20 78 39 f;\n o[31] = x9
00027a20: 20 3e 3e 3e 20 32 34 20 26 20 30 78 66 66 3b 5c >>> 24 & 0xff;\
00027a30: 6e 7d 5c 6e 5c 6e 66 75 6e 63 74 69 6f 6e 20 63 n}\n\nfunction c
00027a40: 72 79 70 74 6f 5f 63 6f 72 65 5f 73 61 6c 73 61 rypto_core_salsa
00027a50: 32 30 28 6f 75 74 2c 69 6e 70 2c 6b 2c 63 29 20 20(out,inp,k,c)
00027a60: 7b 5c 6e 20 20 63 6f 72 65 5f 73 61 6c 73 61 32 {\n core_salsa2
00027a70: 30 28 6f 75 74 2c 69 6e 70 2c 6b 2c 63 29 3b 5c 0(out,inp,k,c);\
00027a80: 6e 7d 5c 6e 5c 6e 66 75 6e 63 74 69 6f 6e 20 63 n}\n\nfunction c
00027a90: 72 79 70 74 6f 5f 63 6f 72 65 5f 68 73 61 6c 73 rypto_core_hsals
00027aa0: 61 32 30 28 6f 75 74 2c 69 6e 70 2c 6b 2c 63 29 a20(out,inp,k,c)
00027ab0: 20 7b 5c 6e 20 20 63 6f 72 65 5f 68 73 61 6c 73 {\n core_hsals
00027ac0: 61 32 30 28 6f 75 74 2c 69 6e 70 2c 6b 2c 63 29 a20(out,inp,k,c)
00027ad0: 3b 5c 6e 7d 5c 6e 5c 6e 76 61 72 20 73 69 67 6d ;\n}\n\nvar sigm
00027ae0: 61 20 3d 20 6e 65 77 20 55 69 6e 74 38 41 72 72 a = new Uint8Arr
00027af0: 61 79 28 5b 31 30 31 2c 20 31 32 30 2c 20 31 31 ay([101, 120, 11
00027b00: 32 2c 20 39 37 2c 20 31 31 30 2c 20 31 30 30 2c 2, 97, 110, 100,
00027b10: 20 33 32 2c 20 35 31 2c 20 35 30 2c 20 34 35 2c 32, 51, 50, 45,
00027b20: 20 39 38 2c 20 31 32 31 2c 20 31 31 36 2c 20 31 98, 121, 116, 1
00027b30: 30 31 2c 20 33 32 2c 20 31 30 37 5d 29 3b 5c 6e 01, 32, 107]);\n
00027b40: 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 5c // \
00027b50: 22 65 78 70 61 6e 64 20 33 32 2d 62 79 74 65 20 "expand 32-byte
00027b60: 6b 5c 22 5c 6e 5c 6e 66 75 6e 63 74 69 6f 6e 20 k\"\n\nfunction
00027b70: 63 72 79 70 74 6f 5f 73 74 72 65 61 6d 5f 73 61 crypto_stream_sa
00027b80: 6c 73 61 32 30 5f 78 6f 72 28 63 2c 63 70 6f 73 lsa20_xor(c,cpos
00027b90: 2c 6d 2c 6d 70 6f 73 2c 62 2c 6e 2c 6b 29 20 7b ,m,mpos,b,n,k) {
00027ba0: 5c 6e 20 20 76 61 72 20 7a 20 3d 20 6e 65 77 20 \n var z = new
00027bb0: 55 69 6e 74 38 41 72 72 61 79 28 31 36 29 2c 20 Uint8Array(16),
00027bc0: 78 20 3d 20 6e 65 77 20 55 69 6e 74 38 41 72 72 x = new Uint8Arr
00027bd0: 61 79 28 36 34 29 3b 5c 6e 20 20 76 61 72 20 75 ay(64);\n var u
00027be0: 2c 20 69 3b 5c 6e 20 20 66 6f 72 20 28 69 20 3d , i;\n for (i =
00027bf0: 20 30 3b 20 69 20 3c 20 31 36 3b 20 69 2b 2b 29 0; i < 16; i++)
00027c00: 20 7a 5b 69 5d 20 3d 20 30 3b 5c 6e 20 20 66 6f z[i] = 0;\n fo
00027c10: 72 20 28 69 20 3d 20 30 3b 20 69 20 3c 20 38 3b r (i = 0; i < 8;
00027c20: 20 69 2b 2b 29 20 7a 5b 69 5d 20 3d 20 6e 5b 69 i++) z[i] = n[i
00027c30: 5d 3b 5c 6e 20 20 77 68 69 6c 65 20 28 62 20 3e ];\n while (b >
00027c40: 3d 20 36 34 29 20 7b 5c 6e 20 20 20 20 63 72 79 = 64) {\n cry
00027c50: 70 74 6f 5f 63 6f 72 65 5f 73 61 6c 73 61 32 30 pto_core_salsa20
00027c60: 28 78 2c 7a 2c 6b 2c 73 69 67 6d 61 29 3b 5c 6e (x,z,k,sigma);\n
00027c70: 20 20 20 20 66 6f 72 20 28 69 20 3d 20 30 3b 20 for (i = 0;
00027c80: 69 20 3c 20 36 34 3b 20 69 2b 2b 29 20 63 5b 63 i < 64; i++) c[c
00027c90: 70 6f 73 2b 69 5d 20 3d 20 6d 5b 6d 70 6f 73 2b pos+i] = m[mpos+
00027ca0: 69 5d 20 5e 20 78 5b 69 5d 3b 5c 6e 20 20 20 20 i] ^ x[i];\n
00027cb0: 75 20 3d 20 31 3b 5c 6e 20 20 20 20 66 6f 72 20 u = 1;\n for
00027cc0: 28 69 20 3d 20 38 3b 20 69 20 3c 20 31 36 3b 20 (i = 8; i < 16;
00027cd0: 69 2b 2b 29 20 7b 5c 6e 20 20 20 20 20 20 75 20 i++) {\n u
00027ce0: 3d 20 75 20 2b 20 28 7a 5b 69 5d 20 26 20 30 78 = u + (z[i] & 0x
00027cf0: 66 66 29 20 7c 20 30 3b 5c 6e 20 20 20 20 20 20 ff) | 0;\n
00027d00: 7a 5b 69 5d 20 3d 20 75 20 26 20 30 78 66 66 3b z[i] = u & 0xff;
00027d10: 5c 6e 20 20 20 20 20 20 75 20 3e 3e 3e 3d 20 38 \n u >>>= 8
00027d20: 3b 5c 6e 20 20 20 20 7d 5c 6e 20 20 20 20 62 20 ;\n }\n b
00027d30: 2d 3d 20 36 34 3b 5c 6e 20 20 20 20 63 70 6f 73 -= 64;\n cpos
00027d40: 20 2b 3d 20 36 34 3b 5c 6e 20 20 20 20 6d 70 6f += 64;\n mpo
00027d50: 73 20 2b 3d 20 36 34 3b 5c 6e 20 20 7d 5c 6e 20 s += 64;\n }\n
00027d60: 20 69 66 20 28 62 20 3e 20 30 29 20 7b 5c 6e 20 if (b > 0) {\n
00027d70: 20 20 20 63 72 79 70 74 6f 5f 63 6f 72 65 5f 73 crypto_core_s
00027d80: 61 6c 73 61 32 30 28 78 2c 7a 2c 6b 2c 73 69 67 alsa20(x,z,k,sig
00027d90: 6d 61 29 3b 5c 6e 20 20 20 20 66 6f 72 20 28 69 ma);\n for (i
00027da0: 20 3d 20 30 3b 20 69 20 3c 20 62 3b 20 69 2b 2b = 0; i < b; i++
00027db0: 29 20 63 5b 63 70 6f 73 2b 69 5d 20 3d 20 6d 5b ) c[cpos+i] = m[
00027dc0: 6d 70 6f 73 2b 69 5d 20 5e 20 78 5b 69 5d 3b 5c mpos+i] ^ x[i];\
00027dd0: 6e 20 20 7d 5c 6e 20 20 72 65 74 75 72 6e 20 30 n }\n return 0
00027de0: 3b 5c 6e 7d 5c 6e 5c 6e 66 75 6e 63 74 69 6f 6e ;\n}\n\nfunction
00027df0: 20 63 72 79 70 74 6f 5f 73 74 72 65 61 6d 5f 73 crypto_stream_s
00027e00: 61 6c 73 61 32 30 28 63 2c 63 70 6f 73 2c 62 2c alsa20(c,cpos,b,
00027e10: 6e 2c 6b 29 20 7b 5c 6e 20 20 76 61 72 20 7a 20 n,k) {\n var z
00027e20: 3d 20 6e 65 77 20 55 69 6e 74 38 41 72 72 61 79 = new Uint8Array
00027e30: 28 31 36 29 2c 20 78 20 3d 20 6e 65 77 20 55 69 (16), x = new Ui
00027e40: 6e 74 38 41 72 72 61 79 28 36 34 29 3b 5c 6e 20 nt8Array(64);\n
00027e50: 20 76 61 72 20 75 2c 20 69 3b 5c 6e 20 20 66 6f var u, i;\n fo
00027e60: 72 20 28 69 20 3d 20 30 3b 20 69 20 3c 20 31 36 r (i = 0; i < 16
00027e70: 3b 20 69 2b 2b 29 20 7a 5b 69 5d 20 3d 20 30 3b ; i++) z[i] = 0;
00027e80: 5c 6e 20 20 66 6f 72 20 28 69 20 3d 20 30 3b 20 \n for (i = 0;
00027e90: 69 20 3c 20 38 3b 20 69 2b 2b 29 20 7a 5b 69 5d i < 8; i++) z[i]
00027ea0: 20 3d 20 6e 5b 69 5d 3b 5c 6e 20 20 77 68 69 6c = n[i];\n whil
00027eb0: 65 20 28 62 20 3e 3d 20 36 34 29 20 7b 5c 6e 20 e (b >= 64) {\n
00027ec0: 20 20 20 63 72 79 70 74 6f 5f 63 6f 72 65 5f 73 crypto_core_s
00027ed0: 61 6c 73 61 32 30 28 78 2c 7a 2c 6b 2c 73 69 67 alsa20(x,z,k,sig
00027ee0: 6d 61 29 3b 5c 6e 20 20 20 20 66 6f 72 20 28 69 ma);\n for (i
00027ef0: 20 3d 20 30 3b 20 69 20 3c 20 36 34 3b 20 69 2b = 0; i < 64; i+
00027f00: 2b 29 20 63 5b 63 70 6f 73 2b 69 5d 20 3d 20 78 +) c[cpos+i] = x
00027f10: 5b 69 5d 3b 5c 6e 20 20 20 20 75 20 3d 20 31 3b [i];\n u = 1;
00027f20: 5c 6e 20 20 20 20 66 6f 72 20 28 69 20 3d 20 38 \n for (i = 8
00027f30: 3b 20 69 20 3c 20 31 36 3b 20 69 2b 2b 29 20 7b ; i < 16; i++) {
00027f40: 5c 6e 20 20 20 20 20 20 75 20 3d 20 75 20 2b 20 \n u = u +
00027f50: 28 7a 5b 69 5d 20 26 20 30 78 66 66 29 20 7c 20 (z[i] & 0xff) |
00027f60: 30 3b 5c 6e 20 20 20 20 20 20 7a 5b 69 5d 20 3d 0;\n z[i] =
00027f70: 20 75 20 26 20 30 78 66 66 3b 5c 6e 20 20 20 20 u & 0xff;\n
00027f80: 20 20 75 20 3e 3e 3e 3d 20 38 3b 5c 6e 20 20 20 u >>>= 8;\n
00027f90: 20 7d 5c 6e 20 20 20 20 62 20 2d 3d 20 36 34 3b }\n b -= 64;
00027fa0: 5c 6e 20 20 20 20 63 70 6f 73 20 2b 3d 20 36 34 \n cpos += 64
00027fb0: 3b 5c 6e 20 20 7d 5c 6e 20 20 69 66 20 28 62 20 ;\n }\n if (b
00027fc0: 3e 20 30 29 20 7b 5c 6e 20 20 20 20 63 72 79 70 > 0) {\n cryp
00027fd0: 74 6f 5f 63 6f 72 65 5f 73 61 6c 73 61 32 30 28 to_core_salsa20(
00027fe0: 78 2c 7a 2c 6b 2c 73 69 67 6d 61 29 3b 5c 6e 20 x,z,k,sigma);\n
00027ff0: 20 20 20 66 6f 72 20 28 69 20 3d 20 30 3b 20 69 for (i = 0; i
00028000: 20 3c 20 62 3b 20 69 2b 2b 29 20 63 5b 63 70 6f < b; i++) c[cpo
00028010: 73 2b 69 5d 20 3d 20 78 5b 69 5d 3b 5c 6e 20 20 s+i] = x[i];\n
00028020: 7d 5c 6e 20 20 72 65 74 75 72 6e 20 30 3b 5c 6e }\n return 0;\n
00028030: 7d 5c 6e 5c 6e 66 75 6e 63 74 69 6f 6e 20 63 72 }\n\nfunction cr
00028040: 79 70 74 6f 5f 73 74 72 65 61 6d 28 63 2c 63 70 ypto_stream(c,cp
00028050: 6f 73 2c 64 2c 6e 2c 6b 29 20 7b 5c 6e 20 20 76 os,d,n,k) {\n v
00028060: 61 72 20 73 20 3d 20 6e 65 77 20 55 69 6e 74 38 ar s = new Uint8
00028070: 41 72 72 61 79 28 33 32 29 3b 5c 6e 20 20 63 72 Array(32);\n cr
00028080: 79 70 74 6f 5f 63 6f 72 65 5f 68 73 61 6c 73 61 ypto_core_hsalsa
00028090: 32 30 28 73 2c 6e 2c 6b 2c 73 69 67 6d 61 29 3b 20(s,n,k,sigma);
000280a0: 5c 6e 20 20 76 61 72 20 73 6e 20 3d 20 6e 65 77 \n var sn = new
000280b0: 20 55 69 6e 74 38 41 72 72 61 79 28 38 29 3b 5c Uint8Array(8);\
000280c0: 6e 20 20 66 6f 72 20 28 76 61 72 20 69 20 3d 20 n for (var i =
000280d0: 30 3b 20 69 20 3c 20 38 3b 20 69 2b 2b 29 20 73 0; i < 8; i++) s
000280e0: 6e 5b 69 5d 20 3d 20 6e 5b 69 2b 31 36 5d 3b 5c n[i] = n[i+16];\
000280f0: 6e 20 20 72 65 74 75 72 6e 20 63 72 79 70 74 6f n return crypto
00028100: 5f 73 74 72 65 61 6d 5f 73 61 6c 73 61 32 30 28 _stream_salsa20(
00028110: 63 2c 63 70 6f 73 2c 64 2c 73 6e 2c 73 29 3b 5c c,cpos,d,sn,s);\
00028120: 6e 7d 5c 6e 5c 6e 66 75 6e 63 74 69 6f 6e 20 63 n}\n\nfunction c
00028130: 72 79 70 74 6f 5f 73 74 72 65 61 6d 5f 78 6f 72 rypto_stream_xor
00028140: 28 63 2c 63 70 6f 73 2c 6d 2c 6d 70 6f 73 2c 64 (c,cpos,m,mpos,d
00028150: 2c 6e 2c 6b 29 20 7b 5c 6e 20 20 76 61 72 20 73 ,n,k) {\n var s
00028160: 20 3d 20 6e 65 77 20 55 69 6e 74 38 41 72 72 61 = new Uint8Arra
00028170: 79 28 33 32 29 3b 5c 6e 20 20 63 72 79 70 74 6f y(32);\n crypto
00028180: 5f 63 6f 72 65 5f 68 73 61 6c 73 61 32 30 28 73 _core_hsalsa20(s
00028190: 2c 6e 2c 6b 2c 73 69 67 6d 61 29 3b 5c 6e 20 20 ,n,k,sigma);\n
000281a0: 76 61 72 20 73 6e 20 3d 20 6e 65 77 20 55 69 6e var sn = new Uin
000281b0: 74 38 41 72 72 61 79 28 38 29 3b 5c 6e 20 20 66 t8Array(8);\n f
000281c0: 6f 72 20 28 76 61 72 20 69 20 3d 20 30 3b 20 69 or (var i = 0; i
000281d0: 20 3c 20 38 3b 20 69 2b 2b 29 20 73 6e 5b 69 5d < 8; i++) sn[i]
000281e0: 20 3d 20 6e 5b 69 2b 31 36 5d 3b 5c 6e 20 20 72 = n[i+16];\n r
000281f0: 65 74 75 72 6e 20 63 72 79 70 74 6f 5f 73 74 72 eturn crypto_str
00028200: 65 61 6d 5f 73 61 6c 73 61 32 30 5f 78 6f 72 28 eam_salsa20_xor(
00028210: 63 2c 63 70 6f 73 2c 6d 2c 6d 70 6f 73 2c 64 2c c,cpos,m,mpos,d,
00028220: 73 6e 2c 73 29 3b 5c 6e 7d 5c 6e 5c 6e 2f 2a 5c sn,s);\n}\n\n/*\
00028230: 6e 2a 20 50 6f 72 74 20 6f 66 20 41 6e 64 72 65 n* Port of Andre
00028240: 77 20 4d 6f 6f 6e 27 73 20 50 6f 6c 79 31 33 30 w Moon's Poly130
00028250: 35 2d 64 6f 6e 6e 61 2d 31 36 2e 20 50 75 62 6c 5-donna-16. Publ
00028260: 69 63 20 64 6f 6d 61 69 6e 2e 5c 6e 2a 20 68 74 ic domain.\n* ht
00028270: 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d tps://github.com
00028280: 2f 66 6c 6f 6f 64 79 62 65 72 72 79 2f 70 6f 6c /floodyberry/pol
00028290: 79 31 33 30 35 2d 64 6f 6e 6e 61 5c 6e 2a 2f 5c y1305-donna\n*/\
000282a0: 6e 5c 6e 76 61 72 20 70 6f 6c 79 31 33 30 35 20 n\nvar poly1305
000282b0: 3d 20 66 75 6e 63 74 69 6f 6e 28 6b 65 79 29 20 = function(key)
000282c0: 7b 5c 6e 20 20 74 68 69 73 2e 62 75 66 66 65 72 {\n this.buffer
000282d0: 20 3d 20 6e 65 77 20 55 69 6e 74 38 41 72 72 61 = new Uint8Arra
000282e0: 79 28 31 36 29 3b 5c 6e 20 20 74 68 69 73 2e 72 y(16);\n this.r
000282f0: 20 3d 20 6e 65 77 20 55 69 6e 74 31 36 41 72 72 = new Uint16Arr
00028300: 61 79 28 31 30 29 3b 5c 6e 20 20 74 68 69 73 2e ay(10);\n this.
00028310: 68 20 3d 20 6e 65 77 20 55 69 6e 74 31 36 41 72 h = new Uint16Ar
00028320: 72 61 79 28 31 30 29 3b 5c 6e 20 20 74 68 69 73 ray(10);\n this
00028330: 2e 70 61 64 20 3d 20 6e 65 77 20 55 69 6e 74 31 .pad = new Uint1
00028340: 36 41 72 72 61 79 28 38 29 3b 5c 6e 20 20 74 68 6Array(8);\n th
00028350: 69 73 2e 6c 65 66 74 6f 76 65 72 20 3d 20 30 3b is.leftover = 0;
00028360: 5c 6e 20 20 74 68 69 73 2e 66 69 6e 20 3d 20 30 \n this.fin = 0
00028370: 3b 5c 6e 5c 6e 20 20 76 61 72 20 74 30 2c 20 74 ;\n\n var t0, t
00028380: 31 2c 20 74 32 2c 20 74 33 2c 20 74 34 2c 20 74 1, t2, t3, t4, t
00028390: 35 2c 20 74 36 2c 20 74 37 3b 5c 6e 5c 6e 20 20 5, t6, t7;\n\n
000283a0: 74 30 20 3d 20 6b 65 79 5b 20 30 5d 20 26 20 30 t0 = key[ 0] & 0
000283b0: 78 66 66 20 7c 20 28 6b 65 79 5b 20 31 5d 20 26 xff | (key[ 1] &
000283c0: 20 30 78 66 66 29 20 3c 3c 20 38 3b 20 74 68 69 0xff) << 8; thi
000283d0: 73 2e 72 5b 30 5d 20 3d 20 28 20 74 30 20 20 20 s.r[0] = ( t0
000283e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000283f0: 20 20 29 20 26 20 30 78 31 66 66 66 3b 5c 6e 20 ) & 0x1fff;\n
00028400: 20 74 31 20 3d 20 6b 65 79 5b 20 32 5d 20 26 20 t1 = key[ 2] &
00028410: 30 78 66 66 20 7c 20 28 6b 65 79 5b 20 33 5d 20 0xff | (key[ 3]
00028420: 26 20 30 78 66 66 29 20 3c 3c 20 38 3b 20 74 68 & 0xff) << 8; th
00028430: 69 73 2e 72 5b 31 5d 20 3d 20 28 28 74 30 20 3e is.r[1] = ((t0 >
00028440: 3e 3e 20 31 33 29 20 7c 20 28 74 31 20 3c 3c 20 >> 13) | (t1 <<
00028450: 20 33 29 29 20 26 20 30 78 31 66 66 66 3b 5c 6e 3)) & 0x1fff;\n
00028460: 20 20 74 32 20 3d 20 6b 65 79 5b 20 34 5d 20 26 t2 = key[ 4] &
00028470: 20 30 78 66 66 20 7c 20 28 6b 65 79 5b 20 35 5d 0xff | (key[ 5]
00028480: 20 26 20 30 78 66 66 29 20 3c 3c 20 38 3b 20 74 & 0xff) << 8; t
00028490: 68 69 73 2e 72 5b 32 5d 20 3d 20 28 28 74 31 20 his.r[2] = ((t1
000284a0: 3e 3e 3e 20 31 30 29 20 7c 20 28 74 32 20 3c 3c >>> 10) | (t2 <<
000284b0: 20 20 36 29 29 20 26 20 30 78 31 66 30 33 3b 5c 6)) & 0x1f03;\
000284c0: 6e 20 20 74 33 20 3d 20 6b 65 79 5b 20 36 5d 20 n t3 = key[ 6]
000284d0: 26 20 30 78 66 66 20 7c 20 28 6b 65 79 5b 20 37 & 0xff | (key[ 7
000284e0: 5d 20 26 20 30 78 66 66 29 20 3c 3c 20 38 3b 20 ] & 0xff) << 8;
000284f0: 74 68 69 73 2e 72 5b 33 5d 20 3d 20 28 28 74 32 this.r[3] = ((t2
00028500: 20 3e 3e 3e 20 20 37 29 20 7c 20 28 74 33 20 3c >>> 7) | (t3 <
00028510: 3c 20 20 39 29 29 20 26 20 30 78 31 66 66 66 3b < 9)) & 0x1fff;
00028520: 5c 6e 20 20 74 34 20 3d 20 6b 65 79 5b 20 38 5d \n t4 = key[ 8]
00028530: 20 26 20 30 78 66 66 20 7c 20 28 6b 65 79 5b 20 & 0xff | (key[
00028540: 39 5d 20 26 20 30 78 66 66 29 20 3c 3c 20 38 3b 9] & 0xff) << 8;
00028550: 20 74 68 69 73 2e 72 5b 34 5d 20 3d 20 28 28 74 this.r[4] = ((t
00028560: 33 20 3e 3e 3e 20 20 34 29 20 7c 20 28 74 34 20 3 >>> 4) | (t4
00028570: 3c 3c 20 31 32 29 29 20 26 20 30 78 30 30 66 66 << 12)) & 0x00ff
00028580: 3b 5c 6e 20 20 74 68 69 73 2e 72 5b 35 5d 20 3d ;\n this.r[5] =
00028590: 20 28 28 74 34 20 3e 3e 3e 20 20 31 29 29 20 26 ((t4 >>> 1)) &
000285a0: 20 30 78 31 66 66 65 3b 5c 6e 20 20 74 35 20 3d 0x1ffe;\n t5 =
000285b0: 20 6b 65 79 5b 31 30 5d 20 26 20 30 78 66 66 20 key[10] & 0xff
000285c0: 7c 20 28 6b 65 79 5b 31 31 5d 20 26 20 30 78 66 | (key[11] & 0xf
000285d0: 66 29 20 3c 3c 20 38 3b 20 74 68 69 73 2e 72 5b f) << 8; this.r[
000285e0: 36 5d 20 3d 20 28 28 74 34 20 3e 3e 3e 20 31 34 6] = ((t4 >>> 14
000285f0: 29 20 7c 20 28 74 35 20 3c 3c 20 20 32 29 29 20 ) | (t5 << 2))
00028600: 26 20 30 78 31 66 66 66 3b 5c 6e 20 20 74 36 20 & 0x1fff;\n t6
00028610: 3d 20 6b 65 79 5b 31 32 5d 20 26 20 30 78 66 66 = key[12] & 0xff
00028620: 20 7c 20 28 6b 65 79 5b 31 33 5d 20 26 20 30 78 | (key[13] & 0x
00028630: 66 66 29 20 3c 3c 20 38 3b 20 74 68 69 73 2e 72 ff) << 8; this.r
00028640: 5b 37 5d 20 3d 20 28 28 74 35 20 3e 3e 3e 20 31 [7] = ((t5 >>> 1
00028650: 31 29 20 7c 20 28 74 36 20 3c 3c 20 20 35 29 29 1) | (t6 << 5))
00028660: 20 26 20 30 78 31 66 38 31 3b 5c 6e 20 20 74 37 & 0x1f81;\n t7
00028670: 20 3d 20 6b 65 79 5b 31 34 5d 20 26 20 30 78 66 = key[14] & 0xf
00028680: 66 20 7c 20 28 6b 65 79 5b 31 35 5d 20 26 20 30 f | (key[15] & 0
00028690: 78 66 66 29 20 3c 3c 20 38 3b 20 74 68 69 73 2e xff) << 8; this.
000286a0: 72 5b 38 5d 20 3d 20 28 28 74 36 20 3e 3e 3e 20 r[8] = ((t6 >>>
000286b0: 20 38 29 20 7c 20 28 74 37 20 3c 3c 20 20 38 29 8) | (t7 << 8)
000286c0: 29 20 26 20 30 78 31 66 66 66 3b 5c 6e 20 20 74 ) & 0x1fff;\n t
000286d0: 68 69 73 2e 72 5b 39 5d 20 3d 20 28 28 74 37 20 his.r[9] = ((t7
000286e0: 3e 3e 3e 20 20 35 29 29 20 26 20 30 78 30 30 37 >>> 5)) & 0x007
000286f0: 66 3b 5c 6e 5c 6e 20 20 74 68 69 73 2e 70 61 64 f;\n\n this.pad
00028700: 5b 30 5d 20 3d 20 6b 65 79 5b 31 36 5d 20 26 20 [0] = key[16] &
00028710: 30 78 66 66 20 7c 20 28 6b 65 79 5b 31 37 5d 20 0xff | (key[17]
00028720: 26 20 30 78 66 66 29 20 3c 3c 20 38 3b 5c 6e 20 & 0xff) << 8;\n
00028730: 20 74 68 69 73 2e 70 61 64 5b 31 5d 20 3d 20 6b this.pad[1] = k
00028740: 65 79 5b 31 38 5d 20 26 20 30 78 66 66 20 7c 20 ey[18] & 0xff |
00028750: 28 6b 65 79 5b 31 39 5d 20 26 20 30 78 66 66 29 (key[19] & 0xff)
00028760: 20 3c 3c 20 38 3b 5c 6e 20 20 74 68 69 73 2e 70 << 8;\n this.p
00028770: 61 64 5b 32 5d 20 3d 20 6b 65 79 5b 32 30 5d 20 ad[2] = key[20]
00028780: 26 20 30 78 66 66 20 7c 20 28 6b 65 79 5b 32 31 & 0xff | (key[21
00028790: 5d 20 26 20 30 78 66 66 29 20 3c 3c 20 38 3b 5c ] & 0xff) << 8;\
000287a0: 6e 20 20 74 68 69 73 2e 70 61 64 5b 33 5d 20 3d n this.pad[3] =
000287b0: 20 6b 65 79 5b 32 32 5d 20 26 20 30 78 66 66 20 key[22] & 0xff
000287c0: 7c 20 28 6b 65 79 5b 32 33 5d 20 26 20 30 78 66 | (key[23] & 0xf
000287d0: 66 29 20 3c 3c 20 38 3b 5c 6e 20 20 74 68 69 73 f) << 8;\n this
000287e0: 2e 70 61 64 5b 34 5d 20 3d 20 6b 65 79 5b 32 34 .pad[4] = key[24
000287f0: 5d 20 26 20 30 78 66 66 20 7c 20 28 6b 65 79 5b ] & 0xff | (key[
00028800: 32 35 5d 20 26 20 30 78 66 66 29 20 3c 3c 20 38 25] & 0xff) << 8
00028810: 3b 5c 6e 20 20 74 68 69 73 2e 70 61 64 5b 35 5d ;\n this.pad[5]
00028820: 20 3d 20 6b 65 79 5b 32 36 5d 20 26 20 30 78 66 = key[26] & 0xf
00028830: 66 20 7c 20 28 6b 65 79 5b 32 37 5d 20 26 20 30 f | (key[27] & 0
00028840: 78 66 66 29 20 3c 3c 20 38 3b 5c 6e 20 20 74 68 xff) << 8;\n th
00028850: 69 73 2e 70 61 64 5b 36 5d 20 3d 20 6b 65 79 5b is.pad[6] = key[
00028860: 32 38 5d 20 26 20 30 78 66 66 20 7c 20 28 6b 65 28] & 0xff | (ke
00028870: 79 5b 32 39 5d 20 26 20 30 78 66 66 29 20 3c 3c y[29] & 0xff) <<
00028880: 20 38 3b 5c 6e 20 20 74 68 69 73 2e 70 61 64 5b 8;\n this.pad[
00028890: 37 5d 20 3d 20 6b 65 79 5b 33 30 5d 20 26 20 30 7] = key[30] & 0
000288a0: 78 66 66 20 7c 20 28 6b 65 79 5b 33 31 5d 20 26 xff | (key[31] &
000288b0: 20 30 78 66 66 29 20 3c 3c 20 38 3b 5c 6e 7d 3b 0xff) << 8;\n};
000288c0: 5c 6e 5c 6e 70 6f 6c 79 31 33 30 35 2e 70 72 6f \n\npoly1305.pro
000288d0: 74 6f 74 79 70 65 2e 62 6c 6f 63 6b 73 20 3d 20 totype.blocks =
000288e0: 66 75 6e 63 74 69 6f 6e 28 6d 2c 20 6d 70 6f 73 function(m, mpos
000288f0: 2c 20 62 79 74 65 73 29 20 7b 5c 6e 20 20 76 61 , bytes) {\n va
00028900: 72 20 68 69 62 69 74 20 3d 20 74 68 69 73 2e 66 r hibit = this.f
00028910: 69 6e 20 3f 20 30 20 3a 20 28 31 20 3c 3c 20 31 in ? 0 : (1 << 1
00028920: 31 29 3b 5c 6e 20 20 76 61 72 20 74 30 2c 20 74 1);\n var t0, t
00028930: 31 2c 20 74 32 2c 20 74 33 2c 20 74 34 2c 20 74 1, t2, t3, t4, t
00028940: 35 2c 20 74 36 2c 20 74 37 2c 20 63 3b 5c 6e 20 5, t6, t7, c;\n
00028950: 20 76 61 72 20 64 30 2c 20 64 31 2c 20 64 32 2c var d0, d1, d2,
00028960: 20 64 33 2c 20 64 34 2c 20 64 35 2c 20 64 36 2c d3, d4, d5, d6,
00028970: 20 64 37 2c 20 64 38 2c 20 64 39 3b 5c 6e 5c 6e d7, d8, d9;\n\n
00028980: 20 20 76 61 72 20 68 30 20 3d 20 74 68 69 73 2e var h0 = this.
00028990: 68 5b 30 5d 2c 5c 6e 20 20 20 20 20 20 68 31 20 h[0],\n h1
000289a0: 3d 20 74 68 69 73 2e 68 5b 31 5d 2c 5c 6e 20 20 = this.h[1],\n
000289b0: 20 20 20 20 68 32 20 3d 20 74 68 69 73 2e 68 5b h2 = this.h[
000289c0: 32 5d 2c 5c 6e 20 20 20 20 20 20 68 33 20 3d 20 2],\n h3 =
000289d0: 74 68 69 73 2e 68 5b 33 5d 2c 5c 6e 20 20 20 20 this.h[3],\n
000289e0: 20 20 68 34 20 3d 20 74 68 69 73 2e 68 5b 34 5d h4 = this.h[4]
000289f0: 2c 5c 6e 20 20 20 20 20 20 68 35 20 3d 20 74 68 ,\n h5 = th
00028a00: 69 73 2e 68 5b 35 5d 2c 5c 6e 20 20 20 20 20 20 is.h[5],\n
00028a10: 68 36 20 3d 20 74 68 69 73 2e 68 5b 36 5d 2c 5c h6 = this.h[6],\
00028a20: 6e 20 20 20 20 20 20 68 37 20 3d 20 74 68 69 73 n h7 = this
00028a30: 2e 68 5b 37 5d 2c 5c 6e 20 20 20 20 20 20 68 38 .h[7],\n h8
00028a40: 20 3d 20 74 68 69 73 2e 68 5b 38 5d 2c 5c 6e 20 = this.h[8],\n
00028a50: 20 20 20 20 20 68 39 20 3d 20 74 68 69 73 2e 68 h9 = this.h
00028a60: 5b 39 5d 3b 5c 6e 5c 6e 20 20 76 61 72 20 72 30 [9];\n\n var r0
00028a70: 20 3d 20 74 68 69 73 2e 72 5b 30 5d 2c 5c 6e 20 = this.r[0],\n
00028a80: 20 20 20 20 20 72 31 20 3d 20 74 68 69 73 2e 72 r1 = this.r
00028a90: 5b 31 5d 2c 5c 6e 20 20 20 20 20 20 72 32 20 3d [1],\n r2 =
00028aa0: 20 74 68 69 73 2e 72 5b 32 5d 2c 5c 6e 20 20 20 this.r[2],\n
00028ab0: 20 20 20 72 33 20 3d 20 74 68 69 73 2e 72 5b 33 r3 = this.r[3
00028ac0: 5d 2c 5c 6e 20 20 20 20 20 20 72 34 20 3d 20 74 ],\n r4 = t
00028ad0: 68 69 73 2e 72 5b 34 5d 2c 5c 6e 20 20 20 20 20 his.r[4],\n
00028ae0: 20 72 35 20 3d 20 74 68 69 73 2e 72 5b 35 5d 2c r5 = this.r[5],
00028af0: 5c 6e 20 20 20 20 20 20 72 36 20 3d 20 74 68 69 \n r6 = thi
00028b00: 73 2e 72 5b 36 5d 2c 5c 6e 20 20 20 20 20 20 72 s.r[6],\n r
00028b10: 37 20 3d 20 74 68 69 73 2e 72 5b 37 5d 2c 5c 6e 7 = this.r[7],\n
00028b20: 20 20 20 20 20 20 72 38 20 3d 20 74 68 69 73 2e r8 = this.
00028b30: 72 5b 38 5d 2c 5c 6e 20 20 20 20 20 20 72 39 20 r[8],\n r9
00028b40: 3d 20 74 68 69 73 2e 72 5b 39 5d 3b 5c 6e 5c 6e = this.r[9];\n\n
00028b50: 20 20 77 68 69 6c 65 20 28 62 79 74 65 73 20 3e while (bytes >
00028b60: 3d 20 31 36 29 20 7b 5c 6e 20 20 20 20 74 30 20 = 16) {\n t0
00028b70: 3d 20 6d 5b 6d 70 6f 73 2b 20 30 5d 20 26 20 30 = m[mpos+ 0] & 0
00028b80: 78 66 66 20 7c 20 28 6d 5b 6d 70 6f 73 2b 20 31 xff | (m[mpos+ 1
00028b90: 5d 20 26 20 30 78 66 66 29 20 3c 3c 20 38 3b 20 ] & 0xff) << 8;
00028ba0: 68 30 20 2b 3d 20 28 20 74 30 20 20 20 20 20 20 h0 += ( t0
00028bb0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 29 )
00028bc0: 20 26 20 30 78 31 66 66 66 3b 5c 6e 20 20 20 20 & 0x1fff;\n
00028bd0: 74 31 20 3d 20 6d 5b 6d 70 6f 73 2b 20 32 5d 20 t1 = m[mpos+ 2]
00028be0: 26 20 30 78 66 66 20 7c 20 28 6d 5b 6d 70 6f 73 & 0xff | (m[mpos
00028bf0: 2b 20 33 5d 20 26 20 30 78 66 66 29 20 3c 3c 20 + 3] & 0xff) <<
00028c00: 38 3b 20 68 31 20 2b 3d 20 28 28 74 30 20 3e 3e 8; h1 += ((t0 >>
00028c10: 3e 20 31 33 29 20 7c 20 28 74 31 20 3c 3c 20 20 > 13) | (t1 <<
00028c20: 33 29 29 20 26 20 30 78 31 66 66 66 3b 5c 6e 20 3)) & 0x1fff;\n
00028c30: 20 20 20 74 32 20 3d 20 6d 5b 6d 70 6f 73 2b 20 t2 = m[mpos+
00028c40: 34 5d 20 26 20 30 78 66 66 20 7c 20 28 6d 5b 6d 4] & 0xff | (m[m
00028c50: 70 6f 73 2b 20 35 5d 20 26 20 30 78 66 66 29 20 pos+ 5] & 0xff)
00028c60: 3c 3c 20 38 3b 20 68 32 20 2b 3d 20 28 28 74 31 << 8; h2 += ((t1
00028c70: 20 3e 3e 3e 20 31 30 29 20 7c 20 28 74 32 20 3c >>> 10) | (t2 <
00028c80: 3c 20 20 36 29 29 20 26 20 30 78 31 66 66 66 3b < 6)) & 0x1fff;
00028c90: 5c 6e 20 20 20 20 74 33 20 3d 20 6d 5b 6d 70 6f \n t3 = m[mpo
00028ca0: 73 2b 20 36 5d 20 26 20 30 78 66 66 20 7c 20 28 s+ 6] & 0xff | (
00028cb0: 6d 5b 6d 70 6f 73 2b 20 37 5d 20 26 20 30 78 66 m[mpos+ 7] & 0xf
00028cc0: 66 29 20 3c 3c 20 38 3b 20 68 33 20 2b 3d 20 28 f) << 8; h3 += (
00028cd0: 28 74 32 20 3e 3e 3e 20 20 37 29 20 7c 20 28 74 (t2 >>> 7) | (t
00028ce0: 33 20 3c 3c 20 20 39 29 29 20 26 20 30 78 31 66 3 << 9)) & 0x1f
00028cf0: 66 66 3b 5c 6e 20 20 20 20 74 34 20 3d 20 6d 5b ff;\n t4 = m[
00028d00: 6d 70 6f 73 2b 20 38 5d 20 26 20 30 78 66 66 20 mpos+ 8] & 0xff
00028d10: 7c 20 28 6d 5b 6d 70 6f 73 2b 20 39 5d 20 26 20 | (m[mpos+ 9] &
00028d20: 30 78 66 66 29 20 3c 3c 20 38 3b 20 68 34 20 2b 0xff) << 8; h4 +
00028d30: 3d 20 28 28 74 33 20 3e 3e 3e 20 20 34 29 20 7c = ((t3 >>> 4) |
00028d40: 20 28 74 34 20 3c 3c 20 31 32 29 29 20 26 20 30 (t4 << 12)) & 0
00028d50: 78 31 66 66 66 3b 5c 6e 20 20 20 20 68 35 20 2b x1fff;\n h5 +
00028d60: 3d 20 28 28 74 34 20 3e 3e 3e 20 20 31 29 29 20 = ((t4 >>> 1))
00028d70: 26 20 30 78 31 66 66 66 3b 5c 6e 20 20 20 20 74 & 0x1fff;\n t
00028d80: 35 20 3d 20 6d 5b 6d 70 6f 73 2b 31 30 5d 20 26 5 = m[mpos+10] &
00028d90: 20 30 78 66 66 20 7c 20 28 6d 5b 6d 70 6f 73 2b 0xff | (m[mpos+
00028da0: 31 31 5d 20 26 20 30 78 66 66 29 20 3c 3c 20 38 11] & 0xff) << 8
00028db0: 3b 20 68 36 20 2b 3d 20 28 28 74 34 20 3e 3e 3e ; h6 += ((t4 >>>
00028dc0: 20 31 34 29 20 7c 20 28 74 35 20 3c 3c 20 20 32 14) | (t5 << 2
00028dd0: 29 29 20 26 20 30 78 31 66 66 66 3b 5c 6e 20 20 )) & 0x1fff;\n
00028de0: 20 20 74 36 20 3d 20 6d 5b 6d 70 6f 73 2b 31 32 t6 = m[mpos+12
00028df0: 5d 20 26 20 30 78 66 66 20 7c 20 28 6d 5b 6d 70 ] & 0xff | (m[mp
00028e00: 6f 73 2b 31 33 5d 20 26 20 30 78 66 66 29 20 3c os+13] & 0xff) <
00028e10: 3c 20 38 3b 20 68 37 20 2b 3d 20 28 28 74 35 20 < 8; h7 += ((t5
00028e20: 3e 3e 3e 20 31 31 29 20 7c 20 28 74 36 20 3c 3c >>> 11) | (t6 <<
00028e30: 20 20 35 29 29 20 26 20 30 78 31 66 66 66 3b 5c 5)) & 0x1fff;\
00028e40: 6e 20 20 20 20 74 37 20 3d 20 6d 5b 6d 70 6f 73 n t7 = m[mpos
00028e50: 2b 31 34 5d 20 26 20 30 78 66 66 20 7c 20 28 6d +14] & 0xff | (m
00028e60: 5b 6d 70 6f 73 2b 31 35 5d 20 26 20 30 78 66 66 [mpos+15] & 0xff
00028e70: 29 20 3c 3c 20 38 3b 20 68 38 20 2b 3d 20 28 28 ) << 8; h8 += ((
00028e80: 74 36 20 3e 3e 3e 20 20 38 29 20 7c 20 28 74 37 t6 >>> 8) | (t7
00028e90: 20 3c 3c 20 20 38 29 29 20 26 20 30 78 31 66 66 << 8)) & 0x1ff
00028ea0: 66 3b 5c 6e 20 20 20 20 68 39 20 2b 3d 20 28 28 f;\n h9 += ((
00028eb0: 74 37 20 3e 3e 3e 20 35 29 29 20 7c 20 68 69 62 t7 >>> 5)) | hib
00028ec0: 69 74 3b 5c 6e 5c 6e 20 20 20 20 63 20 3d 20 30 it;\n\n c = 0
00028ed0: 3b 5c 6e 5c 6e 20 20 20 20 64 30 20 3d 20 63 3b ;\n\n d0 = c;
00028ee0: 5c 6e 20 20 20 20 64 30 20 2b 3d 20 68 30 20 2a \n d0 += h0 *
00028ef0: 20 72 30 3b 5c 6e 20 20 20 20 64 30 20 2b 3d 20 r0;\n d0 +=
00028f00: 68 31 20 2a 20 28 35 20 2a 20 72 39 29 3b 5c 6e h1 * (5 * r9);\n
00028f10: 20 20 20 20 64 30 20 2b 3d 20 68 32 20 2a 20 28 d0 += h2 * (
00028f20: 35 20 2a 20 72 38 29 3b 5c 6e 20 20 20 20 64 30 5 * r8);\n d0
00028f30: 20 2b 3d 20 68 33 20 2a 20 28 35 20 2a 20 72 37 += h3 * (5 * r7
00028f40: 29 3b 5c 6e 20 20 20 20 64 30 20 2b 3d 20 68 34 );\n d0 += h4
00028f50: 20 2a 20 28 35 20 2a 20 72 36 29 3b 5c 6e 20 20 * (5 * r6);\n
00028f60: 20 20 63 20 3d 20 28 64 30 20 3e 3e 3e 20 31 33 c = (d0 >>> 13
00028f70: 29 3b 20 64 30 20 26 3d 20 30 78 31 66 66 66 3b ); d0 &= 0x1fff;
00028f80: 5c 6e 20 20 20 20 64 30 20 2b 3d 20 68 35 20 2a \n d0 += h5 *
00028f90: 20 28 35 20 2a 20 72 35 29 3b 5c 6e 20 20 20 20 (5 * r5);\n
00028fa0: 64 30 20 2b 3d 20 68 36 20 2a 20 28 35 20 2a 20 d0 += h6 * (5 *
00028fb0: 72 34 29 3b 5c 6e 20 20 20 20 64 30 20 2b 3d 20 r4);\n d0 +=
00028fc0: 68 37 20 2a 20 28 35 20 2a 20 72 33 29 3b 5c 6e h7 * (5 * r3);\n
00028fd0: 20 20 20 20 64 30 20 2b 3d 20 68 38 20 2a 20 28 d0 += h8 * (
00028fe0: 35 20 2a 20 72 32 29 3b 5c 6e 20 20 20 20 64 30 5 * r2);\n d0
00028ff0: 20 2b 3d 20 68 39 20 2a 20 28 35 20 2a 20 72 31 += h9 * (5 * r1
00029000: 29 3b 5c 6e 20 20 20 20 63 20 2b 3d 20 28 64 30 );\n c += (d0
00029010: 20 3e 3e 3e 20 31 33 29 3b 20 64 30 20 26 3d 20 >>> 13); d0 &=
00029020: 30 78 31 66 66 66 3b 5c 6e 5c 6e 20 20 20 20 64 0x1fff;\n\n d
00029030: 31 20 3d 20 63 3b 5c 6e 20 20 20 20 64 31 20 2b 1 = c;\n d1 +
00029040: 3d 20 68 30 20 2a 20 72 31 3b 5c 6e 20 20 20 20 = h0 * r1;\n
00029050: 64 31 20 2b 3d 20 68 31 20 2a 20 72 30 3b 5c 6e d1 += h1 * r0;\n
00029060: 20 20 20 20 64 31 20 2b 3d 20 68 32 20 2a 20 28 d1 += h2 * (
00029070: 35 20 2a 20 72 39 29 3b 5c 6e 20 20 20 20 64 31 5 * r9);\n d1
00029080: 20 2b 3d 20 68 33 20 2a 20 28 35 20 2a 20 72 38 += h3 * (5 * r8
00029090: 29 3b 5c 6e 20 20 20 20 64 31 20 2b 3d 20 68 34 );\n d1 += h4
000290a0: 20 2a 20 28 35 20 2a 20 72 37 29 3b 5c 6e 20 20 * (5 * r7);\n
000290b0: 20 20 63 20 3d 20 28 64 31 20 3e 3e 3e 20 31 33 c = (d1 >>> 13
000290c0: 29 3b 20 64 31 20 26 3d 20 30 78 31 66 66 66 3b ); d1 &= 0x1fff;
000290d0: 5c 6e 20 20 20 20 64 31 20 2b 3d 20 68 35 20 2a \n d1 += h5 *
000290e0: 20 28 35 20 2a 20 72 36 29 3b 5c 6e 20 20 20 20 (5 * r6);\n
000290f0: 64 31 20 2b 3d 20 68 36 20 2a 20 28 35 20 2a 20 d1 += h6 * (5 *
00029100: 72 35 29 3b 5c 6e 20 20 20 20 64 31 20 2b 3d 20 r5);\n d1 +=
00029110: 68 37 20 2a 20 28 35 20 2a 20 72 34 29 3b 5c 6e h7 * (5 * r4);\n
00029120: 20 20 20 20 64 31 20 2b 3d 20 68 38 20 2a 20 28 d1 += h8 * (
00029130: 35 20 2a 20 72 33 29 3b 5c 6e 20 20 20 20 64 31 5 * r3);\n d1
00029140: 20 2b 3d 20 68 39 20 2a 20 28 35 20 2a 20 72 32 += h9 * (5 * r2
00029150: 29 3b 5c 6e 20 20 20 20 63 20 2b 3d 20 28 64 31 );\n c += (d1
00029160: 20 3e 3e 3e 20 31 33 29 3b 20 64 31 20 26 3d 20 >>> 13); d1 &=
00029170: 30 78 31 66 66 66 3b 5c 6e 5c 6e 20 20 20 20 64 0x1fff;\n\n d
00029180: 32 20 3d 20 63 3b 5c 6e 20 20 20 20 64 32 20 2b 2 = c;\n d2 +
00029190: 3d 20 68 30 20 2a 20 72 32 3b 5c 6e 20 20 20 20 = h0 * r2;\n
000291a0: 64 32 20 2b 3d 20 68 31 20 2a 20 72 31 3b 5c 6e d2 += h1 * r1;\n
000291b0: 20 20 20 20 64 32 20 2b 3d 20 68 32 20 2a 20 72 d2 += h2 * r
000291c0: 30 3b 5c 6e 20 20 20 20 64 32 20 2b 3d 20 68 33 0;\n d2 += h3
000291d0: 20 2a 20 28 35 20 2a 20 72 39 29 3b 5c 6e 20 20 * (5 * r9);\n
000291e0: 20 20 64 32 20 2b 3d 20 68 34 20 2a 20 28 35 20 d2 += h4 * (5
000291f0: 2a 20 72 38 29 3b 5c 6e 20 20 20 20 63 20 3d 20 * r8);\n c =
00029200: 28 64 32 20 3e 3e 3e 20 31 33 29 3b 20 64 32 20 (d2 >>> 13); d2
00029210: 26 3d 20 30 78 31 66 66 66 3b 5c 6e 20 20 20 20 &= 0x1fff;\n
00029220: 64 32 20 2b 3d 20 68 35 20 2a 20 28 35 20 2a 20 d2 += h5 * (5 *
00029230: 72 37 29 3b 5c 6e 20 20 20 20 64 32 20 2b 3d 20 r7);\n d2 +=
00029240: 68 36 20 2a 20 28 35 20 2a 20 72 36 29 3b 5c 6e h6 * (5 * r6);\n
00029250: 20 20 20 20 64 32 20 2b 3d 20 68 37 20 2a 20 28 d2 += h7 * (
00029260: 35 20 2a 20 72 35 29 3b 5c 6e 20 20 20 20 64 32 5 * r5);\n d2
00029270: 20 2b 3d 20 68 38 20 2a 20 28 35 20 2a 20 72 34 += h8 * (5 * r4
00029280: 29 3b 5c 6e 20 20 20 20 64 32 20 2b 3d 20 68 39 );\n d2 += h9
00029290: 20 2a 20 28 35 20 2a 20 72 33 29 3b 5c 6e 20 20 * (5 * r3);\n
000292a0: 20 20 63 20 2b 3d 20 28 64 32 20 3e 3e 3e 20 31 c += (d2 >>> 1
000292b0: 33 29 3b 20 64 32 20 26 3d 20 30 78 31 66 66 66 3); d2 &= 0x1fff
000292c0: 3b 5c 6e 5c 6e 20 20 20 20 64 33 20 3d 20 63 3b ;\n\n d3 = c;
000292d0: 5c 6e 20 20 20 20 64 33 20 2b 3d 20 68 30 20 2a \n d3 += h0 *
000292e0: 20 72 33 3b 5c 6e 20 20 20 20 64 33 20 2b 3d 20 r3;\n d3 +=
000292f0: 68 31 20 2a 20 72 32 3b 5c 6e 20 20 20 20 64 33 h1 * r2;\n d3
00029300: 20 2b 3d 20 68 32 20 2a 20 72 31 3b 5c 6e 20 20 += h2 * r1;\n
00029310: 20 20 64 33 20 2b 3d 20 68 33 20 2a 20 72 30 3b d3 += h3 * r0;
00029320: 5c 6e 20 20 20 20 64 33 20 2b 3d 20 68 34 20 2a \n d3 += h4 *
00029330: 20 28 35 20 2a 20 72 39 29 3b 5c 6e 20 20 20 20 (5 * r9);\n
00029340: 63 20 3d 20 28 64 33 20 3e 3e 3e 20 31 33 29 3b c = (d3 >>> 13);
00029350: 20 64 33 20 26 3d 20 30 78 31 66 66 66 3b 5c 6e d3 &= 0x1fff;\n
00029360: 20 20 20 20 64 33 20 2b 3d 20 68 35 20 2a 20 28 d3 += h5 * (
00029370: 35 20 2a 20 72 38 29 3b 5c 6e 20 20 20 20 64 33 5 * r8);\n d3
00029380: 20 2b 3d 20 68 36 20 2a 20 28 35 20 2a 20 72 37 += h6 * (5 * r7
00029390: 29 3b 5c 6e 20 20 20 20 64 33 20 2b 3d 20 68 37 );\n d3 += h7
000293a0: 20 2a 20 28 35 20 2a 20 72 36 29 3b 5c 6e 20 20 * (5 * r6);\n
000293b0: 20 20 64 33 20 2b 3d 20 68 38 20 2a 20 28 35 20 d3 += h8 * (5
000293c0: 2a 20 72 35 29 3b 5c 6e 20 20 20 20 64 33 20 2b * r5);\n d3 +
000293d0: 3d 20 68 39 20 2a 20 28 35 20 2a 20 72 34 29 3b = h9 * (5 * r4);
000293e0: 5c 6e 20 20 20 20 63 20 2b 3d 20 28 64 33 20 3e \n c += (d3 >
000293f0: 3e 3e 20 31 33 29 3b 20 64 33 20 26 3d 20 30 78 >> 13); d3 &= 0x
00029400: 31 66 66 66 3b 5c 6e 5c 6e 20 20 20 20 64 34 20 1fff;\n\n d4
00029410: 3d 20 63 3b 5c 6e 20 20 20 20 64 34 20 2b 3d 20 = c;\n d4 +=
00029420: 68 30 20 2a 20 72 34 3b 5c 6e 20 20 20 20 64 34 h0 * r4;\n d4
00029430: 20 2b 3d 20 68 31 20 2a 20 72 33 3b 5c 6e 20 20 += h1 * r3;\n
00029440: 20 20 64 34 20 2b 3d 20 68 32 20 2a 20 72 32 3b d4 += h2 * r2;
00029450: 5c 6e 20 20 20 20 64 34 20 2b 3d 20 68 33 20 2a \n d4 += h3 *
00029460: 20 72 31 3b 5c 6e 20 20 20 20 64 34 20 2b 3d 20 r1;\n d4 +=
00029470: 68 34 20 2a 20 72 30 3b 5c 6e 20 20 20 20 63 20 h4 * r0;\n c
00029480: 3d 20 28 64 34 20 3e 3e 3e 20 31 33 29 3b 20 64 = (d4 >>> 13); d
00029490: 34 20 26 3d 20 30 78 31 66 66 66 3b 5c 6e 20 20 4 &= 0x1fff;\n
000294a0: 20 20 64 34 20 2b 3d 20 68 35 20 2a 20 28 35 20 d4 += h5 * (5
000294b0: 2a 20 72 39 29 3b 5c 6e 20 20 20 20 64 34 20 2b * r9);\n d4 +
000294c0: 3d 20 68 36 20 2a 20 28 35 20 2a 20 72 38 29 3b = h6 * (5 * r8);
000294d0: 5c 6e 20 20 20 20 64 34 20 2b 3d 20 68 37 20 2a \n d4 += h7 *
000294e0: 20 28 35 20 2a 20 72 37 29 3b 5c 6e 20 20 20 20 (5 * r7);\n
000294f0: 64 34 20 2b 3d 20 68 38 20 2a 20 28 35 20 2a 20 d4 += h8 * (5 *
00029500: 72 36 29 3b 5c 6e 20 20 20 20 64 34 20 2b 3d 20 r6);\n d4 +=
00029510: 68 39 20 2a 20 28 35 20 2a 20 72 35 29 3b 5c 6e h9 * (5 * r5);\n
00029520: 20 20 20 20 63 20 2b 3d 20 28 64 34 20 3e 3e 3e c += (d4 >>>
00029530: 20 31 33 29 3b 20 64 34 20 26 3d 20 30 78 31 66 13); d4 &= 0x1f
00029540: 66 66 3b 5c 6e 5c 6e 20 20 20 20 64 35 20 3d 20 ff;\n\n d5 =
00029550: 63 3b 5c 6e 20 20 20 20 64 35 20 2b 3d 20 68 30 c;\n d5 += h0
00029560: 20 2a 20 72 35 3b 5c 6e 20 20 20 20 64 35 20 2b * r5;\n d5 +
00029570: 3d 20 68 31 20 2a 20 72 34 3b 5c 6e 20 20 20 20 = h1 * r4;\n
00029580: 64 35 20 2b 3d 20 68 32 20 2a 20 72 33 3b 5c 6e d5 += h2 * r3;\n
00029590: 20 20 20 20 64 35 20 2b 3d 20 68 33 20 2a 20 72 d5 += h3 * r
000295a0: 32 3b 5c 6e 20 20 20 20 64 35 20 2b 3d 20 68 34 2;\n d5 += h4
000295b0: 20 2a 20 72 31 3b 5c 6e 20 20 20 20 63 20 3d 20 * r1;\n c =
000295c0: 28 64 35 20 3e 3e 3e 20 31 33 29 3b 20 64 35 20 (d5 >>> 13); d5
000295d0: 26 3d 20 30 78 31 66 66 66 3b 5c 6e 20 20 20 20 &= 0x1fff;\n
000295e0: 64 35 20 2b 3d 20 68 35 20 2a 20 72 30 3b 5c 6e d5 += h5 * r0;\n
000295f0: 20 20 20 20 64 35 20 2b 3d 20 68 36 20 2a 20 28 d5 += h6 * (
00029600: 35 20 2a 20 72 39 29 3b 5c 6e 20 20 20 20 64 35 5 * r9);\n d5
00029610: 20 2b 3d 20 68 37 20 2a 20 28 35 20 2a 20 72 38 += h7 * (5 * r8
00029620: 29 3b 5c 6e 20 20 20 20 64 35 20 2b 3d 20 68 38 );\n d5 += h8
00029630: 20 2a 20 28 35 20 2a 20 72 37 29 3b 5c 6e 20 20 * (5 * r7);\n
00029640: 20 20 64 35 20 2b 3d 20 68 39 20 2a 20 28 35 20 d5 += h9 * (5
00029650: 2a 20 72 36 29 3b 5c 6e 20 20 20 20 63 20 2b 3d * r6);\n c +=
00029660: 20 28 64 35 20 3e 3e 3e 20 31 33 29 3b 20 64 35 (d5 >>> 13); d5
00029670: 20 26 3d 20 30 78 31 66 66 66 3b 5c 6e 5c 6e 20 &= 0x1fff;\n\n
00029680: 20 20 20 64 36 20 3d 20 63 3b 5c 6e 20 20 20 20 d6 = c;\n
00029690: 64 36 20 2b 3d 20 68 30 20 2a 20 72 36 3b 5c 6e d6 += h0 * r6;\n
000296a0: 20 20 20 20 64 36 20 2b 3d 20 68 31 20 2a 20 72 d6 += h1 * r
000296b0: 35 3b 5c 6e 20 20 20 20 64 36 20 2b 3d 20 68 32 5;\n d6 += h2
000296c0: 20 2a 20 72 34 3b 5c 6e 20 20 20 20 64 36 20 2b * r4;\n d6 +
000296d0: 3d 20 68 33 20 2a 20 72 33 3b 5c 6e 20 20 20 20 = h3 * r3;\n
000296e0: 64 36 20 2b 3d 20 68 34 20 2a 20 72 32 3b 5c 6e d6 += h4 * r2;\n
000296f0: 20 20 20 20 63 20 3d 20 28 64 36 20 3e 3e 3e 20 c = (d6 >>>
00029700: 31 33 29 3b 20 64 36 20 26 3d 20 30 78 31 66 66 13); d6 &= 0x1ff
00029710: 66 3b 5c 6e 20 20 20 20 64 36 20 2b 3d 20 68 35 f;\n d6 += h5
00029720: 20 2a 20 72 31 3b 5c 6e 20 20 20 20 64 36 20 2b * r1;\n d6 +
00029730: 3d 20 68 36 20 2a 20 72 30 3b 5c 6e 20 20 20 20 = h6 * r0;\n
00029740: 64 36 20 2b 3d 20 68 37 20 2a 20 28 35 20 2a 20 d6 += h7 * (5 *
00029750: 72 39 29 3b 5c 6e 20 20 20 20 64 36 20 2b 3d 20 r9);\n d6 +=
00029760: 68 38 20 2a 20 28 35 20 2a 20 72 38 29 3b 5c 6e h8 * (5 * r8);\n
00029770: 20 20 20 20 64 36 20 2b 3d 20 68 39 20 2a 20 28 d6 += h9 * (
00029780: 35 20 2a 20 72 37 29 3b 5c 6e 20 20 20 20 63 20 5 * r7);\n c
00029790: 2b 3d 20 28 64 36 20 3e 3e 3e 20 31 33 29 3b 20 += (d6 >>> 13);
000297a0: 64 36 20 26 3d 20 30 78 31 66 66 66 3b 5c 6e 5c d6 &= 0x1fff;\n\
000297b0: 6e 20 20 20 20 64 37 20 3d 20 63 3b 5c 6e 20 20 n d7 = c;\n
000297c0: 20 20 64 37 20 2b 3d 20 68 30 20 2a 20 72 37 3b d7 += h0 * r7;
000297d0: 5c 6e 20 20 20 20 64 37 20 2b 3d 20 68 31 20 2a \n d7 += h1 *
000297e0: 20 72 36 3b 5c 6e 20 20 20 20 64 37 20 2b 3d 20 r6;\n d7 +=
000297f0: 68 32 20 2a 20 72 35 3b 5c 6e 20 20 20 20 64 37 h2 * r5;\n d7
00029800: 20 2b 3d 20 68 33 20 2a 20 72 34 3b 5c 6e 20 20 += h3 * r4;\n
00029810: 20 20 64 37 20 2b 3d 20 68 34 20 2a 20 72 33 3b d7 += h4 * r3;
00029820: 5c 6e 20 20 20 20 63 20 3d 20 28 64 37 20 3e 3e \n c = (d7 >>
00029830: 3e 20 31 33 29 3b 20 64 37 20 26 3d 20 30 78 31 > 13); d7 &= 0x1
00029840: 66 66 66 3b 5c 6e 20 20 20 20 64 37 20 2b 3d 20 fff;\n d7 +=
00029850: 68 35 20 2a 20 72 32 3b 5c 6e 20 20 20 20 64 37 h5 * r2;\n d7
00029860: 20 2b 3d 20 68 36 20 2a 20 72 31 3b 5c 6e 20 20 += h6 * r1;\n
00029870: 20 20 64 37 20 2b 3d 20 68 37 20 2a 20 72 30 3b d7 += h7 * r0;
00029880: 5c 6e 20 20 20 20 64 37 20 2b 3d 20 68 38 20 2a \n d7 += h8 *
00029890: 20 28 35 20 2a 20 72 39 29 3b 5c 6e 20 20 20 20 (5 * r9);\n
000298a0: 64 37 20 2b 3d 20 68 39 20 2a 20 28 35 20 2a 20 d7 += h9 * (5 *
000298b0: 72 38 29 3b 5c 6e 20 20 20 20 63 20 2b 3d 20 28 r8);\n c += (
000298c0: 64 37 20 3e 3e 3e 20 31 33 29 3b 20 64 37 20 26 d7 >>> 13); d7 &
000298d0: 3d 20 30 78 31 66 66 66 3b 5c 6e 5c 6e 20 20 20 = 0x1fff;\n\n
000298e0: 20 64 38 20 3d 20 63 3b 5c 6e 20 20 20 20 64 38 d8 = c;\n d8
000298f0: 20 2b 3d 20 68 30 20 2a 20 72 38 3b 5c 6e 20 20 += h0 * r8;\n
00029900: 20 20 64 38 20 2b 3d 20 68 31 20 2a 20 72 37 3b d8 += h1 * r7;
00029910: 5c 6e 20 20 20 20 64 38 20 2b 3d 20 68 32 20 2a \n d8 += h2 *
00029920: 20 72 36 3b 5c 6e 20 20 20 20 64 38 20 2b 3d 20 r6;\n d8 +=
00029930: 68 33 20 2a 20 72 35 3b 5c 6e 20 20 20 20 64 38 h3 * r5;\n d8
00029940: 20 2b 3d 20 68 34 20 2a 20 72 34 3b 5c 6e 20 20 += h4 * r4;\n
00029950: 20 20 63 20 3d 20 28 64 38 20 3e 3e 3e 20 31 33 c = (d8 >>> 13
00029960: 29 3b 20 64 38 20 26 3d 20 30 78 31 66 66 66 3b ); d8 &= 0x1fff;
00029970: 5c 6e 20 20 20 20 64 38 20 2b 3d 20 68 35 20 2a \n d8 += h5 *
00029980: 20 72 33 3b 5c 6e 20 20 20 20 64 38 20 2b 3d 20 r3;\n d8 +=
00029990: 68 36 20 2a 20 72 32 3b 5c 6e 20 20 20 20 64 38 h6 * r2;\n d8
000299a0: 20 2b 3d 20 68 37 20 2a 20 72 31 3b 5c 6e 20 20 += h7 * r1;\n
000299b0: 20 20 64 38 20 2b 3d 20 68 38 20 2a 20 72 30 3b d8 += h8 * r0;
000299c0: 5c 6e 20 20 20 20 64 38 20 2b 3d 20 68 39 20 2a \n d8 += h9 *
000299d0: 20 28 35 20 2a 20 72 39 29 3b 5c 6e 20 20 20 20 (5 * r9);\n
000299e0: 63 20 2b 3d 20 28 64 38 20 3e 3e 3e 20 31 33 29 c += (d8 >>> 13)
000299f0: 3b 20 64 38 20 26 3d 20 30 78 31 66 66 66 3b 5c ; d8 &= 0x1fff;\
00029a00: 6e 5c 6e 20 20 20 20 64 39 20 3d 20 63 3b 5c 6e n\n d9 = c;\n
00029a10: 20 20 20 20 64 39 20 2b 3d 20 68 30 20 2a 20 72 d9 += h0 * r
00029a20: 39 3b 5c 6e 20 20 20 20 64 39 20 2b 3d 20 68 31 9;\n d9 += h1
00029a30: 20 2a 20 72 38 3b 5c 6e 20 20 20 20 64 39 20 2b * r8;\n d9 +
00029a40: 3d 20 68 32 20 2a 20 72 37 3b 5c 6e 20 20 20 20 = h2 * r7;\n
00029a50: 64 39 20 2b 3d 20 68 33 20 2a 20 72 36 3b 5c 6e d9 += h3 * r6;\n
00029a60: 20 20 20 20 64 39 20 2b 3d 20 68 34 20 2a 20 72 d9 += h4 * r
00029a70: 35 3b 5c 6e 20 20 20 20 63 20 3d 20 28 64 39 20 5;\n c = (d9
00029a80: 3e 3e 3e 20 31 33 29 3b 20 64 39 20 26 3d 20 30 >>> 13); d9 &= 0
00029a90: 78 31 66 66 66 3b 5c 6e 20 20 20 20 64 39 20 2b x1fff;\n d9 +
00029aa0: 3d 20 68 35 20 2a 20 72 34 3b 5c 6e 20 20 20 20 = h5 * r4;\n
00029ab0: 64 39 20 2b 3d 20 68 36 20 2a 20 72 33 3b 5c 6e d9 += h6 * r3;\n
00029ac0: 20 20 20 20 64 39 20 2b 3d 20 68 37 20 2a 20 72 d9 += h7 * r
00029ad0: 32 3b 5c 6e 20 20 20 20 64 39 20 2b 3d 20 68 38 2;\n d9 += h8
00029ae0: 20 2a 20 72 31 3b 5c 6e 20 20 20 20 64 39 20 2b * r1;\n d9 +
00029af0: 3d 20 68 39 20 2a 20 72 30 3b 5c 6e 20 20 20 20 = h9 * r0;\n
00029b00: 63 20 2b 3d 20 28 64 39 20 3e 3e 3e 20 31 33 29 c += (d9 >>> 13)
00029b10: 3b 20 64 39 20 26 3d 20 30 78 31 66 66 66 3b 5c ; d9 &= 0x1fff;\
00029b20: 6e 5c 6e 20 20 20 20 63 20 3d 20 28 28 28 63 20 n\n c = (((c
00029b30: 3c 3c 20 32 29 20 2b 20 63 29 29 20 7c 20 30 3b << 2) + c)) | 0;
00029b40: 5c 6e 20 20 20 20 63 20 3d 20 28 63 20 2b 20 64 \n c = (c + d
00029b50: 30 29 20 7c 20 30 3b 5c 6e 20 20 20 20 64 30 20 0) | 0;\n d0
00029b60: 3d 20 63 20 26 20 30 78 31 66 66 66 3b 5c 6e 20 = c & 0x1fff;\n
00029b70: 20 20 20 63 20 3d 20 28 63 20 3e 3e 3e 20 31 33 c = (c >>> 13
00029b80: 29 3b 5c 6e 20 20 20 20 64 31 20 2b 3d 20 63 3b );\n d1 += c;
00029b90: 5c 6e 5c 6e 20 20 20 20 68 30 20 3d 20 64 30 3b \n\n h0 = d0;
00029ba0: 5c 6e 20 20 20 20 68 31 20 3d 20 64 31 3b 5c 6e \n h1 = d1;\n
00029bb0: 20 20 20 20 68 32 20 3d 20 64 32 3b 5c 6e 20 20 h2 = d2;\n
00029bc0: 20 20 68 33 20 3d 20 64 33 3b 5c 6e 20 20 20 20 h3 = d3;\n
00029bd0: 68 34 20 3d 20 64 34 3b 5c 6e 20 20 20 20 68 35 h4 = d4;\n h5
00029be0: 20 3d 20 64 35 3b 5c 6e 20 20 20 20 68 36 20 3d = d5;\n h6 =
00029bf0: 20 64 36 3b 5c 6e 20 20 20 20 68 37 20 3d 20 64 d6;\n h7 = d
00029c00: 37 3b 5c 6e 20 20 20 20 68 38 20 3d 20 64 38 3b 7;\n h8 = d8;
00029c10: 5c 6e 20 20 20 20 68 39 20 3d 20 64 39 3b 5c 6e \n h9 = d9;\n
00029c20: 5c 6e 20 20 20 20 6d 70 6f 73 20 2b 3d 20 31 36 \n mpos += 16
00029c30: 3b 5c 6e 20 20 20 20 62 79 74 65 73 20 2d 3d 20 ;\n bytes -=
00029c40: 31 36 3b 5c 6e 20 20 7d 5c 6e 20 20 74 68 69 73 16;\n }\n this
00029c50: 2e 68 5b 30 5d 20 3d 20 68 30 3b 5c 6e 20 20 74 .h[0] = h0;\n t
00029c60: 68 69 73 2e 68 5b 31 5d 20 3d 20 68 31 3b 5c 6e his.h[1] = h1;\n
00029c70: 20 20 74 68 69 73 2e 68 5b 32 5d 20 3d 20 68 32 this.h[2] = h2
00029c80: 3b 5c 6e 20 20 74 68 69 73 2e 68 5b 33 5d 20 3d ;\n this.h[3] =
00029c90: 20 68 33 3b 5c 6e 20 20 74 68 69 73 2e 68 5b 34 h3;\n this.h[4
00029ca0: 5d 20 3d 20 68 34 3b 5c 6e 20 20 74 68 69 73 2e ] = h4;\n this.
00029cb0: 68 5b 35 5d 20 3d 20 68 35 3b 5c 6e 20 20 74 68 h[5] = h5;\n th
00029cc0: 69 73 2e 68 5b 36 5d 20 3d 20 68 36 3b 5c 6e 20 is.h[6] = h6;\n
00029cd0: 20 74 68 69 73 2e 68 5b 37 5d 20 3d 20 68 37 3b this.h[7] = h7;
00029ce0: 5c 6e 20 20 74 68 69 73 2e 68 5b 38 5d 20 3d 20 \n this.h[8] =
00029cf0: 68 38 3b 5c 6e 20 20 74 68 69 73 2e 68 5b 39 5d h8;\n this.h[9]
00029d00: 20 3d 20 68 39 3b 5c 6e 7d 3b 5c 6e 5c 6e 70 6f = h9;\n};\n\npo
00029d10: 6c 79 31 33 30 35 2e 70 72 6f 74 6f 74 79 70 65 ly1305.prototype
00029d20: 2e 66 69 6e 69 73 68 20 3d 20 66 75 6e 63 74 69 .finish = functi
00029d30: 6f 6e 28 6d 61 63 2c 20 6d 61 63 70 6f 73 29 20 on(mac, macpos)
00029d40: 7b 5c 6e 20 20 76 61 72 20 67 20 3d 20 6e 65 77 {\n var g = new
00029d50: 20 55 69 6e 74 31 36 41 72 72 61 79 28 31 30 29 Uint16Array(10)
00029d60: 3b 5c 6e 20 20 76 61 72 20 63 2c 20 6d 61 73 6b ;\n var c, mask
00029d70: 2c 20 66 2c 20 69 3b 5c 6e 5c 6e 20 20 69 66 20 , f, i;\n\n if
00029d80: 28 74 68 69 73 2e 6c 65 66 74 6f 76 65 72 29 20 (this.leftover)
00029d90: 7b 5c 6e 20 20 20 20 69 20 3d 20 74 68 69 73 2e {\n i = this.
00029da0: 6c 65 66 74 6f 76 65 72 3b 5c 6e 20 20 20 20 74 leftover;\n t
00029db0: 68 69 73 2e 62 75 66 66 65 72 5b 69 2b 2b 5d 20 his.buffer[i++]
00029dc0: 3d 20 31 3b 5c 6e 20 20 20 20 66 6f 72 20 28 3b = 1;\n for (;
00029dd0: 20 69 20 3c 20 31 36 3b 20 69 2b 2b 29 20 74 68 i < 16; i++) th
00029de0: 69 73 2e 62 75 66 66 65 72 5b 69 5d 20 3d 20 30 is.buffer[i] = 0
00029df0: 3b 5c 6e 20 20 20 20 74 68 69 73 2e 66 69 6e 20 ;\n this.fin
00029e00: 3d 20 31 3b 5c 6e 20 20 20 20 74 68 69 73 2e 62 = 1;\n this.b
00029e10: 6c 6f 63 6b 73 28 74 68 69 73 2e 62 75 66 66 65 locks(this.buffe
00029e20: 72 2c 20 30 2c 20 31 36 29 3b 5c 6e 20 20 7d 5c r, 0, 16);\n }\
00029e30: 6e 5c 6e 20 20 63 20 3d 20 74 68 69 73 2e 68 5b n\n c = this.h[
00029e40: 31 5d 20 3e 3e 3e 20 31 33 3b 5c 6e 20 20 74 68 1] >>> 13;\n th
00029e50: 69 73 2e 68 5b 31 5d 20 26 3d 20 30 78 31 66 66 is.h[1] &= 0x1ff
00029e60: 66 3b 5c 6e 20 20 66 6f 72 20 28 69 20 3d 20 32 f;\n for (i = 2
00029e70: 3b 20 69 20 3c 20 31 30 3b 20 69 2b 2b 29 20 7b ; i < 10; i++) {
00029e80: 5c 6e 20 20 20 20 74 68 69 73 2e 68 5b 69 5d 20 \n this.h[i]
00029e90: 2b 3d 20 63 3b 5c 6e 20 20 20 20 63 20 3d 20 74 += c;\n c = t
00029ea0: 68 69 73 2e 68 5b 69 5d 20 3e 3e 3e 20 31 33 3b his.h[i] >>> 13;
00029eb0: 5c 6e 20 20 20 20 74 68 69 73 2e 68 5b 69 5d 20 \n this.h[i]
00029ec0: 26 3d 20 30 78 31 66 66 66 3b 5c 6e 20 20 7d 5c &= 0x1fff;\n }\
00029ed0: 6e 20 20 74 68 69 73 2e 68 5b 30 5d 20 2b 3d 20 n this.h[0] +=
00029ee0: 28 63 20 2a 20 35 29 3b 5c 6e 20 20 63 20 3d 20 (c * 5);\n c =
00029ef0: 74 68 69 73 2e 68 5b 30 5d 20 3e 3e 3e 20 31 33 this.h[0] >>> 13
00029f00: 3b 5c 6e 20 20 74 68 69 73 2e 68 5b 30 5d 20 26 ;\n this.h[0] &
00029f10: 3d 20 30 78 31 66 66 66 3b 5c 6e 20 20 74 68 69 = 0x1fff;\n thi
00029f20: 73 2e 68 5b 31 5d 20 2b 3d 20 63 3b 5c 6e 20 20 s.h[1] += c;\n
00029f30: 63 20 3d 20 74 68 69 73 2e 68 5b 31 5d 20 3e 3e c = this.h[1] >>
00029f40: 3e 20 31 33 3b 5c 6e 20 20 74 68 69 73 2e 68 5b > 13;\n this.h[
00029f50: 31 5d 20 26 3d 20 30 78 31 66 66 66 3b 5c 6e 20 1] &= 0x1fff;\n
00029f60: 20 74 68 69 73 2e 68 5b 32 5d 20 2b 3d 20 63 3b this.h[2] += c;
00029f70: 5c 6e 5c 6e 20 20 67 5b 30 5d 20 3d 20 74 68 69 \n\n g[0] = thi
00029f80: 73 2e 68 5b 30 5d 20 2b 20 35 3b 5c 6e 20 20 63 s.h[0] + 5;\n c
00029f90: 20 3d 20 67 5b 30 5d 20 3e 3e 3e 20 31 33 3b 5c = g[0] >>> 13;\
00029fa0: 6e 20 20 67 5b 30 5d 20 26 3d 20 30 78 31 66 66 n g[0] &= 0x1ff
00029fb0: 66 3b 5c 6e 20 20 66 6f 72 20 28 69 20 3d 20 31 f;\n for (i = 1
00029fc0: 3b 20 69 20 3c 20 31 30 3b 20 69 2b 2b 29 20 7b ; i < 10; i++) {
00029fd0: 5c 6e 20 20 20 20 67 5b 69 5d 20 3d 20 74 68 69 \n g[i] = thi
00029fe0: 73 2e 68 5b 69 5d 20 2b 20 63 3b 5c 6e 20 20 20 s.h[i] + c;\n
00029ff0: 20 63 20 3d 20 67 5b 69 5d 20 3e 3e 3e 20 31 33 c = g[i] >>> 13
0002a000: 3b 5c 6e 20 20 20 20 67 5b 69 5d 20 26 3d 20 30 ;\n g[i] &= 0
0002a010: 78 31 66 66 66 3b 5c 6e 20 20 7d 5c 6e 20 20 67 x1fff;\n }\n g
0002a020: 5b 39 5d 20 2d 3d 20 28 31 20 3c 3c 20 31 33 29 [9] -= (1 << 13)
0002a030: 3b 5c 6e 5c 6e 20 20 6d 61 73 6b 20 3d 20 28 63 ;\n\n mask = (c
0002a040: 20 5e 20 31 29 20 2d 20 31 3b 5c 6e 20 20 66 6f ^ 1) - 1;\n fo
0002a050: 72 20 28 69 20 3d 20 30 3b 20 69 20 3c 20 31 30 r (i = 0; i < 10
0002a060: 3b 20 69 2b 2b 29 20 67 5b 69 5d 20 26 3d 20 6d ; i++) g[i] &= m
0002a070: 61 73 6b 3b 5c 6e 20 20 6d 61 73 6b 20 3d 20 7e ask;\n mask = ~
0002a080: 6d 61 73 6b 3b 5c 6e 20 20 66 6f 72 20 28 69 20 mask;\n for (i
0002a090: 3d 20 30 3b 20 69 20 3c 20 31 30 3b 20 69 2b 2b = 0; i < 10; i++
0002a0a0: 29 20 74 68 69 73 2e 68 5b 69 5d 20 3d 20 28 74 ) this.h[i] = (t
0002a0b0: 68 69 73 2e 68 5b 69 5d 20 26 20 6d 61 73 6b 29 his.h[i] & mask)
0002a0c0: 20 7c 20 67 5b 69 5d 3b 5c 6e 5c 6e 20 20 74 68 | g[i];\n\n th
0002a0d0: 69 73 2e 68 5b 30 5d 20 3d 20 28 28 74 68 69 73 is.h[0] = ((this
0002a0e0: 2e 68 5b 30 5d 20 20 20 20 20 20 20 29 20 7c 20 .h[0] ) |
0002a0f0: 28 74 68 69 73 2e 68 5b 31 5d 20 3c 3c 20 31 33 (this.h[1] << 13
0002a100: 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 )
0002a110: 20 20 20 20 20 29 20 26 20 30 78 66 66 66 66 3b ) & 0xffff;
0002a120: 5c 6e 20 20 74 68 69 73 2e 68 5b 31 5d 20 3d 20 \n this.h[1] =
0002a130: 28 28 74 68 69 73 2e 68 5b 31 5d 20 3e 3e 3e 20 ((this.h[1] >>>
0002a140: 20 33 29 20 7c 20 28 74 68 69 73 2e 68 5b 32 5d 3) | (this.h[2]
0002a150: 20 3c 3c 20 31 30 29 20 20 20 20 20 20 20 20 20 << 10)
0002a160: 20 20 20 20 20 20 20 20 20 20 20 29 20 26 20 30 ) & 0
0002a170: 78 66 66 66 66 3b 5c 6e 20 20 74 68 69 73 2e 68 xffff;\n this.h
0002a180: 5b 32 5d 20 3d 20 28 28 74 68 69 73 2e 68 5b 32 [2] = ((this.h[2
0002a190: 5d 20 3e 3e 3e 20 20 36 29 20 7c 20 28 74 68 69 ] >>> 6) | (thi
0002a1a0: 73 2e 68 5b 33 5d 20 3c 3c 20 20 37 29 20 20 20 s.h[3] << 7)
0002a1b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0002a1c0: 20 29 20 26 20 30 78 66 66 66 66 3b 5c 6e 20 20 ) & 0xffff;\n
0002a1d0: 74 68 69 73 2e 68 5b 33 5d 20 3d 20 28 28 74 68 this.h[3] = ((th
0002a1e0: 69 73 2e 68 5b 33 5d 20 3e 3e 3e 20 20 39 29 20 is.h[3] >>> 9)
0002a1f0: 7c 20 28 74 68 69 73 2e 68 5b 34 5d 20 3c 3c 20 | (this.h[4] <<
0002a200: 20 34 29 20 20 20 20 20 20 20 20 20 20 20 20 20 4)
0002a210: 20 20 20 20 20 20 20 29 20 26 20 30 78 66 66 66 ) & 0xfff
0002a220: 66 3b 5c 6e 20 20 74 68 69 73 2e 68 5b 34 5d 20 f;\n this.h[4]
0002a230: 3d 20 28 28 74 68 69 73 2e 68 5b 34 5d 20 3e 3e = ((this.h[4] >>
0002a240: 3e 20 31 32 29 20 7c 20 28 74 68 69 73 2e 68 5b > 12) | (this.h[
0002a250: 35 5d 20 3c 3c 20 20 31 29 20 7c 20 28 74 68 69 5] << 1) | (thi
0002a260: 73 2e 68 5b 36 5d 20 3c 3c 20 31 34 29 29 20 26 s.h[6] << 14)) &
0002a270: 20 30 78 66 66 66 66 3b 5c 6e 20 20 74 68 69 73 0xffff;\n this
0002a280: 2e 68 5b 35 5d 20 3d 20 28 28 74 68 69 73 2e 68 .h[5] = ((this.h
0002a290: 5b 36 5d 20 3e 3e 3e 20 20 32 29 20 7c 20 28 74 [6] >>> 2) | (t
0002a2a0: 68 69 73 2e 68 5b 37 5d 20 3c 3c 20 31 31 29 20 his.h[7] << 11)
0002a2b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0002a2c0: 20 20 20 29 20 26 20 30 78 66 66 66 66 3b 5c 6e ) & 0xffff;\n
0002a2d0: 20 20 74 68 69 73 2e 68 5b 36 5d 20 3d 20 28 28 this.h[6] = ((
0002a2e0: 74 68 69 73 2e 68 5b 37 5d 20 3e 3e 3e 20 20 35 this.h[7] >>> 5
0002a2f0: 29 20 7c 20 28 74 68 69 73 2e 68 5b 38 5d 20 3c ) | (this.h[8] <
0002a300: 3c 20 20 38 29 20 20 20 20 20 20 20 20 20 20 20 < 8)
0002a310: 20 20 20 20 20 20 20 20 20 29 20 26 20 30 78 66 ) & 0xf
0002a320: 66 66 66 3b 5c 6e 20 20 74 68 69 73 2e 68 5b 37 fff;\n this.h[7
0002a330: 5d 20 3d 20 28 28 74 68 69 73 2e 68 5b 38 5d 20 ] = ((this.h[8]
0002a340: 3e 3e 3e 20 20 38 29 20 7c 20 28 74 68 69 73 2e >>> 8) | (this.
0002a350: 68 5b 39 5d 20 3c 3c 20 20 35 29 20 20 20 20 20 h[9] << 5)
0002a360: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 29 )
0002a370: 20 26 20 30 78 66 66 66 66 3b 5c 6e 5c 6e 20 20 & 0xffff;\n\n
0002a380: 66 20 3d 20 74 68 69 73 2e 68 5b 30 5d 20 2b 20 f = this.h[0] +
0002a390: 74 68 69 73 2e 70 61 64 5b 30 5d 3b 5c 6e 20 20 this.pad[0];\n
0002a3a0: 74 68 69 73 2e 68 5b 30 5d 20 3d 20 66 20 26 20 this.h[0] = f &
0002a3b0: 30 78 66 66 66 66 3b 5c 6e 20 20 66 6f 72 20 28 0xffff;\n for (
0002a3c0: 69 20 3d 20 31 3b 20 69 20 3c 20 38 3b 20 69 2b i = 1; i < 8; i+
0002a3d0: 2b 29 20 7b 5c 6e 20 20 20 20 66 20 3d 20 28 28 +) {\n f = ((
0002a3e0: 28 74 68 69 73 2e 68 5b 69 5d 20 2b 20 74 68 69 (this.h[i] + thi
0002a3f0: 73 2e 70 61 64 5b 69 5d 29 20 7c 20 30 29 20 2b s.pad[i]) | 0) +
0002a400: 20 28 66 20 3e 3e 3e 20 31 36 29 29 20 7c 20 30 (f >>> 16)) | 0
0002a410: 3b 5c 6e 20 20 20 20 74 68 69 73 2e 68 5b 69 5d ;\n this.h[i]
0002a420: 20 3d 20 66 20 26 20 30 78 66 66 66 66 3b 5c 6e = f & 0xffff;\n
0002a430: 20 20 7d 5c 6e 5c 6e 20 20 6d 61 63 5b 6d 61 63 }\n\n mac[mac
0002a440: 70 6f 73 2b 20 30 5d 20 3d 20 28 74 68 69 73 2e pos+ 0] = (this.
0002a450: 68 5b 30 5d 20 3e 3e 3e 20 30 29 20 26 20 30 78 h[0] >>> 0) & 0x
0002a460: 66 66 3b 5c 6e 20 20 6d 61 63 5b 6d 61 63 70 6f ff;\n mac[macpo
0002a470: 73 2b 20 31 5d 20 3d 20 28 74 68 69 73 2e 68 5b s+ 1] = (this.h[
0002a480: 30 5d 20 3e 3e 3e 20 38 29 20 26 20 30 78 66 66 0] >>> 8) & 0xff
0002a490: 3b 5c 6e 20 20 6d 61 63 5b 6d 61 63 70 6f 73 2b ;\n mac[macpos+
0002a4a0: 20 32 5d 20 3d 20 28 74 68 69 73 2e 68 5b 31 5d 2] = (this.h[1]
0002a4b0: 20 3e 3e 3e 20 30 29 20 26 20 30 78 66 66 3b 5c >>> 0) & 0xff;\
0002a4c0: 6e 20 20 6d 61 63 5b 6d 61 63 70 6f 73 2b 20 33 n mac[macpos+ 3
0002a4d0: 5d 20 3d 20 28 74 68 69 73 2e 68 5b 31 5d 20 3e ] = (this.h[1] >
0002a4e0: 3e 3e 20 38 29 20 26 20 30 78 66 66 3b 5c 6e 20 >> 8) & 0xff;\n
0002a4f0: 20 6d 61 63 5b 6d 61 63 70 6f 73 2b 20 34 5d 20 mac[macpos+ 4]
0002a500: 3d 20 28 74 68 69 73 2e 68 5b 32 5d 20 3e 3e 3e = (this.h[2] >>>
0002a510: 20 30 29 20 26 20 30 78 66 66 3b 5c 6e 20 20 6d 0) & 0xff;\n m
0002a520: 61 63 5b 6d 61 63 70 6f 73 2b 20 35 5d 20 3d 20 ac[macpos+ 5] =
0002a530: 28 74 68 69 73 2e 68 5b 32 5d 20 3e 3e 3e 20 38 (this.h[2] >>> 8
0002a540: 29 20 26 20 30 78 66 66 3b 5c 6e 20 20 6d 61 63 ) & 0xff;\n mac
0002a550: 5b 6d 61 63 70 6f 73 2b 20 36 5d 20 3d 20 28 74 [macpos+ 6] = (t
0002a560: 68 69 73 2e 68 5b 33 5d 20 3e 3e 3e 20 30 29 20 his.h[3] >>> 0)
0002a570: 26 20 30 78 66 66 3b 5c 6e 20 20 6d 61 63 5b 6d & 0xff;\n mac[m
0002a580: 61 63 70 6f 73 2b 20 37 5d 20 3d 20 28 74 68 69 acpos+ 7] = (thi
0002a590: 73 2e 68 5b 33 5d 20 3e 3e 3e 20 38 29 20 26 20 s.h[3] >>> 8) &
0002a5a0: 30 78 66 66 3b 5c 6e 20 20 6d 61 63 5b 6d 61 63 0xff;\n mac[mac
0002a5b0: 70 6f 73 2b 20 38 5d 20 3d 20 28 74 68 69 73 2e pos+ 8] = (this.
0002a5c0: 68 5b 34 5d 20 3e 3e 3e 20 30 29 20 26 20 30 78 h[4] >>> 0) & 0x
0002a5d0: 66 66 3b 5c 6e 20 20 6d 61 63 5b 6d 61 63 70 6f ff;\n mac[macpo
0002a5e0: 73 2b 20 39 5d 20 3d 20 28 74 68 69 73 2e 68 5b s+ 9] = (this.h[
0002a5f0: 34 5d 20 3e 3e 3e 20 38 29 20 26 20 30 78 66 66 4] >>> 8) & 0xff
0002a600: 3b 5c 6e 20 20 6d 61 63 5b 6d 61 63 70 6f 73 2b ;\n mac[macpos+
0002a610: 31 30 5d 20 3d 20 28 74 68 69 73 2e 68 5b 35 5d 10] = (this.h[5]
0002a620: 20 3e 3e 3e 20 30 29 20 26 20 30 78 66 66 3b 5c >>> 0) & 0xff;\
0002a630: 6e 20 20 6d 61 63 5b 6d 61 63 70 6f 73 2b 31 31 n mac[macpos+11
0002a640: 5d 20 3d 20 28 74 68 69 73 2e 68 5b 35 5d 20 3e ] = (this.h[5] >
0002a650: 3e 3e 20 38 29 20 26 20 30 78 66 66 3b 5c 6e 20 >> 8) & 0xff;\n
0002a660: 20 6d 61 63 5b 6d 61 63 70 6f 73 2b 31 32 5d 20 mac[macpos+12]
0002a670: 3d 20 28 74 68 69 73 2e 68 5b 36 5d 20 3e 3e 3e = (this.h[6] >>>
0002a680: 20 30 29 20 26 20 30 78 66 66 3b 5c 6e 20 20 6d 0) & 0xff;\n m
0002a690: 61 63 5b 6d 61 63 70 6f 73 2b 31 33 5d 20 3d 20 ac[macpos+13] =
0002a6a0: 28 74 68 69 73 2e 68 5b 36 5d 20 3e 3e 3e 20 38 (this.h[6] >>> 8
0002a6b0: 29 20 26 20 30 78 66 66 3b 5c 6e 20 20 6d 61 63 ) & 0xff;\n mac
0002a6c0: 5b 6d 61 63 70 6f 73 2b 31 34 5d 20 3d 20 28 74 [macpos+14] = (t
0002a6d0: 68 69 73 2e 68 5b 37 5d 20 3e 3e 3e 20 30 29 20 his.h[7] >>> 0)
0002a6e0: 26 20 30 78 66 66 3b 5c 6e 20 20 6d 61 63 5b 6d & 0xff;\n mac[m
0002a6f0: 61 63 70 6f 73 2b 31 35 5d 20 3d 20 28 74 68 69 acpos+15] = (thi
0002a700: 73 2e 68 5b 37 5d 20 3e 3e 3e 20 38 29 20 26 20 s.h[7] >>> 8) &
0002a710: 30 78 66 66 3b 5c 6e 7d 3b 5c 6e 5c 6e 70 6f 6c 0xff;\n};\n\npol
0002a720: 79 31 33 30 35 2e 70 72 6f 74 6f 74 79 70 65 2e y1305.prototype.
0002a730: 75 70 64 61 74 65 20 3d 20 66 75 6e 63 74 69 6f update = functio
0002a740: 6e 28 6d 2c 20 6d 70 6f 73 2c 20 62 79 74 65 73 n(m, mpos, bytes
0002a750: 29 20 7b 5c 6e 20 20 76 61 72 20 69 2c 20 77 61 ) {\n var i, wa
0002a760: 6e 74 3b 5c 6e 5c 6e 20 20 69 66 20 28 74 68 69 nt;\n\n if (thi
0002a770: 73 2e 6c 65 66 74 6f 76 65 72 29 20 7b 5c 6e 20 s.leftover) {\n
0002a780: 20 20 20 77 61 6e 74 20 3d 20 28 31 36 20 2d 20 want = (16 -
0002a790: 74 68 69 73 2e 6c 65 66 74 6f 76 65 72 29 3b 5c this.leftover);\
0002a7a0: 6e 20 20 20 20 69 66 20 28 77 61 6e 74 20 3e 20 n if (want >
0002a7b0: 62 79 74 65 73 29 5c 6e 20 20 20 20 20 20 77 61 bytes)\n wa
0002a7c0: 6e 74 20 3d 20 62 79 74 65 73 3b 5c 6e 20 20 20 nt = bytes;\n
0002a7d0: 20 66 6f 72 20 28 69 20 3d 20 30 3b 20 69 20 3c for (i = 0; i <
0002a7e0: 20 77 61 6e 74 3b 20 69 2b 2b 29 5c 6e 20 20 20 want; i++)\n
0002a7f0: 20 20 20 74 68 69 73 2e 62 75 66 66 65 72 5b 74 this.buffer[t
0002a800: 68 69 73 2e 6c 65 66 74 6f 76 65 72 20 2b 20 69 his.leftover + i
0002a810: 5d 20 3d 20 6d 5b 6d 70 6f 73 2b 69 5d 3b 5c 6e ] = m[mpos+i];\n
0002a820: 20 20 20 20 62 79 74 65 73 20 2d 3d 20 77 61 6e bytes -= wan
0002a830: 74 3b 5c 6e 20 20 20 20 6d 70 6f 73 20 2b 3d 20 t;\n mpos +=
0002a840: 77 61 6e 74 3b 5c 6e 20 20 20 20 74 68 69 73 2e want;\n this.
0002a850: 6c 65 66 74 6f 76 65 72 20 2b 3d 20 77 61 6e 74 leftover += want
0002a860: 3b 5c 6e 20 20 20 20 69 66 20 28 74 68 69 73 2e ;\n if (this.
0002a870: 6c 65 66 74 6f 76 65 72 20 3c 20 31 36 29 5c 6e leftover < 16)\n
0002a880: 20 20 20 20 20 20 72 65 74 75 72 6e 3b 5c 6e 20 return;\n
0002a890: 20 20 20 74 68 69 73 2e 62 6c 6f 63 6b 73 28 74 this.blocks(t
0002a8a0: 68 69 73 2e 62 75 66 66 65 72 2c 20 30 2c 20 31 his.buffer, 0, 1
0002a8b0: 36 29 3b 5c 6e 20 20 20 20 74 68 69 73 2e 6c 65 6);\n this.le
0002a8c0: 66 74 6f 76 65 72 20 3d 20 30 3b 5c 6e 20 20 7d ftover = 0;\n }
0002a8d0: 5c 6e 5c 6e 20 20 69 66 20 28 62 79 74 65 73 20 \n\n if (bytes
0002a8e0: 3e 3d 20 31 36 29 20 7b 5c 6e 20 20 20 20 77 61 >= 16) {\n wa
0002a8f0: 6e 74 20 3d 20 62 79 74 65 73 20 2d 20 28 62 79 nt = bytes - (by
0002a900: 74 65 73 20 25 20 31 36 29 3b 5c 6e 20 20 20 20 tes % 16);\n
0002a910: 74 68 69 73 2e 62 6c 6f 63 6b 73 28 6d 2c 20 6d this.blocks(m, m
0002a920: 70 6f 73 2c 20 77 61 6e 74 29 3b 5c 6e 20 20 20 pos, want);\n
0002a930: 20 6d 70 6f 73 20 2b 3d 20 77 61 6e 74 3b 5c 6e mpos += want;\n
0002a940: 20 20 20 20 62 79 74 65 73 20 2d 3d 20 77 61 6e bytes -= wan
0002a950: 74 3b 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 69 66 20 t;\n }\n\n if
0002a960: 28 62 79 74 65 73 29 20 7b 5c 6e 20 20 20 20 66 (bytes) {\n f
0002a970: 6f 72 20 28 69 20 3d 20 30 3b 20 69 20 3c 20 62 or (i = 0; i < b
0002a980: 79 74 65 73 3b 20 69 2b 2b 29 5c 6e 20 20 20 20 ytes; i++)\n
0002a990: 20 20 74 68 69 73 2e 62 75 66 66 65 72 5b 74 68 this.buffer[th
0002a9a0: 69 73 2e 6c 65 66 74 6f 76 65 72 20 2b 20 69 5d is.leftover + i]
0002a9b0: 20 3d 20 6d 5b 6d 70 6f 73 2b 69 5d 3b 5c 6e 20 = m[mpos+i];\n
0002a9c0: 20 20 20 74 68 69 73 2e 6c 65 66 74 6f 76 65 72 this.leftover
0002a9d0: 20 2b 3d 20 62 79 74 65 73 3b 5c 6e 20 20 7d 5c += bytes;\n }\
0002a9e0: 6e 7d 3b 5c 6e 5c 6e 66 75 6e 63 74 69 6f 6e 20 n};\n\nfunction
0002a9f0: 63 72 79 70 74 6f 5f 6f 6e 65 74 69 6d 65 61 75 crypto_onetimeau
0002aa00: 74 68 28 6f 75 74 2c 20 6f 75 74 70 6f 73 2c 20 th(out, outpos,
0002aa10: 6d 2c 20 6d 70 6f 73 2c 20 6e 2c 20 6b 29 20 7b m, mpos, n, k) {
0002aa20: 5c 6e 20 20 76 61 72 20 73 20 3d 20 6e 65 77 20 \n var s = new
0002aa30: 70 6f 6c 79 31 33 30 35 28 6b 29 3b 5c 6e 20 20 poly1305(k);\n
0002aa40: 73 2e 75 70 64 61 74 65 28 6d 2c 20 6d 70 6f 73 s.update(m, mpos
0002aa50: 2c 20 6e 29 3b 5c 6e 20 20 73 2e 66 69 6e 69 73 , n);\n s.finis
0002aa60: 68 28 6f 75 74 2c 20 6f 75 74 70 6f 73 29 3b 5c h(out, outpos);\
0002aa70: 6e 20 20 72 65 74 75 72 6e 20 30 3b 5c 6e 7d 5c n return 0;\n}\
0002aa80: 6e 5c 6e 66 75 6e 63 74 69 6f 6e 20 63 72 79 70 n\nfunction cryp
0002aa90: 74 6f 5f 6f 6e 65 74 69 6d 65 61 75 74 68 5f 76 to_onetimeauth_v
0002aaa0: 65 72 69 66 79 28 68 2c 20 68 70 6f 73 2c 20 6d erify(h, hpos, m
0002aab0: 2c 20 6d 70 6f 73 2c 20 6e 2c 20 6b 29 20 7b 5c , mpos, n, k) {\
0002aac0: 6e 20 20 76 61 72 20 78 20 3d 20 6e 65 77 20 55 n var x = new U
0002aad0: 69 6e 74 38 41 72 72 61 79 28 31 36 29 3b 5c 6e int8Array(16);\n
0002aae0: 20 20 63 72 79 70 74 6f 5f 6f 6e 65 74 69 6d 65 crypto_onetime
0002aaf0: 61 75 74 68 28 78 2c 30 2c 6d 2c 6d 70 6f 73 2c auth(x,0,m,mpos,
0002ab00: 6e 2c 6b 29 3b 5c 6e 20 20 72 65 74 75 72 6e 20 n,k);\n return
0002ab10: 63 72 79 70 74 6f 5f 76 65 72 69 66 79 5f 31 36 crypto_verify_16
0002ab20: 28 68 2c 68 70 6f 73 2c 78 2c 30 29 3b 5c 6e 7d (h,hpos,x,0);\n}
0002ab30: 5c 6e 5c 6e 66 75 6e 63 74 69 6f 6e 20 63 72 79 \n\nfunction cry
0002ab40: 70 74 6f 5f 73 65 63 72 65 74 62 6f 78 28 63 2c pto_secretbox(c,
0002ab50: 6d 2c 64 2c 6e 2c 6b 29 20 7b 5c 6e 20 20 76 61 m,d,n,k) {\n va
0002ab60: 72 20 69 3b 5c 6e 20 20 69 66 20 28 64 20 3c 20 r i;\n if (d <
0002ab70: 33 32 29 20 72 65 74 75 72 6e 20 2d 31 3b 5c 6e 32) return -1;\n
0002ab80: 20 20 63 72 79 70 74 6f 5f 73 74 72 65 61 6d 5f crypto_stream_
0002ab90: 78 6f 72 28 63 2c 30 2c 6d 2c 30 2c 64 2c 6e 2c xor(c,0,m,0,d,n,
0002aba0: 6b 29 3b 5c 6e 20 20 63 72 79 70 74 6f 5f 6f 6e k);\n crypto_on
0002abb0: 65 74 69 6d 65 61 75 74 68 28 63 2c 20 31 36 2c etimeauth(c, 16,
0002abc0: 20 63 2c 20 33 32 2c 20 64 20 2d 20 33 32 2c 20 c, 32, d - 32,
0002abd0: 63 29 3b 5c 6e 20 20 66 6f 72 20 28 69 20 3d 20 c);\n for (i =
0002abe0: 30 3b 20 69 20 3c 20 31 36 3b 20 69 2b 2b 29 20 0; i < 16; i++)
0002abf0: 63 5b 69 5d 20 3d 20 30 3b 5c 6e 20 20 72 65 74 c[i] = 0;\n ret
0002ac00: 75 72 6e 20 30 3b 5c 6e 7d 5c 6e 5c 6e 66 75 6e urn 0;\n}\n\nfun
0002ac10: 63 74 69 6f 6e 20 63 72 79 70 74 6f 5f 73 65 63 ction crypto_sec
0002ac20: 72 65 74 62 6f 78 5f 6f 70 65 6e 28 6d 2c 63 2c retbox_open(m,c,
0002ac30: 64 2c 6e 2c 6b 29 20 7b 5c 6e 20 20 76 61 72 20 d,n,k) {\n var
0002ac40: 69 3b 5c 6e 20 20 76 61 72 20 78 20 3d 20 6e 65 i;\n var x = ne
0002ac50: 77 20 55 69 6e 74 38 41 72 72 61 79 28 33 32 29 w Uint8Array(32)
0002ac60: 3b 5c 6e 20 20 69 66 20 28 64 20 3c 20 33 32 29 ;\n if (d < 32)
0002ac70: 20 72 65 74 75 72 6e 20 2d 31 3b 5c 6e 20 20 63 return -1;\n c
0002ac80: 72 79 70 74 6f 5f 73 74 72 65 61 6d 28 78 2c 30 rypto_stream(x,0
0002ac90: 2c 33 32 2c 6e 2c 6b 29 3b 5c 6e 20 20 69 66 20 ,32,n,k);\n if
0002aca0: 28 63 72 79 70 74 6f 5f 6f 6e 65 74 69 6d 65 61 (crypto_onetimea
0002acb0: 75 74 68 5f 76 65 72 69 66 79 28 63 2c 20 31 36 uth_verify(c, 16
0002acc0: 2c 63 2c 20 33 32 2c 64 20 2d 20 33 32 2c 78 29 ,c, 32,d - 32,x)
0002acd0: 20 21 3d 3d 20 30 29 20 72 65 74 75 72 6e 20 2d !== 0) return -
0002ace0: 31 3b 5c 6e 20 20 63 72 79 70 74 6f 5f 73 74 72 1;\n crypto_str
0002acf0: 65 61 6d 5f 78 6f 72 28 6d 2c 30 2c 63 2c 30 2c eam_xor(m,0,c,0,
0002ad00: 64 2c 6e 2c 6b 29 3b 5c 6e 20 20 66 6f 72 20 28 d,n,k);\n for (
0002ad10: 69 20 3d 20 30 3b 20 69 20 3c 20 33 32 3b 20 69 i = 0; i < 32; i
0002ad20: 2b 2b 29 20 6d 5b 69 5d 20 3d 20 30 3b 5c 6e 20 ++) m[i] = 0;\n
0002ad30: 20 72 65 74 75 72 6e 20 30 3b 5c 6e 7d 5c 6e 5c return 0;\n}\n\
0002ad40: 6e 66 75 6e 63 74 69 6f 6e 20 73 65 74 32 35 35 nfunction set255
0002ad50: 31 39 28 72 2c 20 61 29 20 7b 5c 6e 20 20 76 61 19(r, a) {\n va
0002ad60: 72 20 69 3b 5c 6e 20 20 66 6f 72 20 28 69 20 3d r i;\n for (i =
0002ad70: 20 30 3b 20 69 20 3c 20 31 36 3b 20 69 2b 2b 29 0; i < 16; i++)
0002ad80: 20 72 5b 69 5d 20 3d 20 61 5b 69 5d 7c 30 3b 5c r[i] = a[i]|0;\
0002ad90: 6e 7d 5c 6e 5c 6e 66 75 6e 63 74 69 6f 6e 20 63 n}\n\nfunction c
0002ada0: 61 72 32 35 35 31 39 28 6f 29 20 7b 5c 6e 20 20 ar25519(o) {\n
0002adb0: 76 61 72 20 69 2c 20 76 2c 20 63 20 3d 20 31 3b var i, v, c = 1;
0002adc0: 5c 6e 20 20 66 6f 72 20 28 69 20 3d 20 30 3b 20 \n for (i = 0;
0002add0: 69 20 3c 20 31 36 3b 20 69 2b 2b 29 20 7b 5c 6e i < 16; i++) {\n
0002ade0: 20 20 20 20 76 20 3d 20 6f 5b 69 5d 20 2b 20 63 v = o[i] + c
0002adf0: 20 2b 20 36 35 35 33 35 3b 5c 6e 20 20 20 20 63 + 65535;\n c
0002ae00: 20 3d 20 4d 61 74 68 2e 66 6c 6f 6f 72 28 76 20 = Math.floor(v
0002ae10: 2f 20 36 35 35 33 36 29 3b 5c 6e 20 20 20 20 6f / 65536);\n o
0002ae20: 5b 69 5d 20 3d 20 76 20 2d 20 63 20 2a 20 36 35 [i] = v - c * 65
0002ae30: 35 33 36 3b 5c 6e 20 20 7d 5c 6e 20 20 6f 5b 30 536;\n }\n o[0
0002ae40: 5d 20 2b 3d 20 63 2d 31 20 2b 20 33 37 20 2a 20 ] += c-1 + 37 *
0002ae50: 28 63 2d 31 29 3b 5c 6e 7d 5c 6e 5c 6e 66 75 6e (c-1);\n}\n\nfun
0002ae60: 63 74 69 6f 6e 20 73 65 6c 32 35 35 31 39 28 70 ction sel25519(p
0002ae70: 2c 20 71 2c 20 62 29 20 7b 5c 6e 20 20 76 61 72 , q, b) {\n var
0002ae80: 20 74 2c 20 63 20 3d 20 7e 28 62 2d 31 29 3b 5c t, c = ~(b-1);\
0002ae90: 6e 20 20 66 6f 72 20 28 76 61 72 20 69 20 3d 20 n for (var i =
0002aea0: 30 3b 20 69 20 3c 20 31 36 3b 20 69 2b 2b 29 20 0; i < 16; i++)
0002aeb0: 7b 5c 6e 20 20 20 20 74 20 3d 20 63 20 26 20 28 {\n t = c & (
0002aec0: 70 5b 69 5d 20 5e 20 71 5b 69 5d 29 3b 5c 6e 20 p[i] ^ q[i]);\n
0002aed0: 20 20 20 70 5b 69 5d 20 5e 3d 20 74 3b 5c 6e 20 p[i] ^= t;\n
0002aee0: 20 20 20 71 5b 69 5d 20 5e 3d 20 74 3b 5c 6e 20 q[i] ^= t;\n
0002aef0: 20 7d 5c 6e 7d 5c 6e 5c 6e 66 75 6e 63 74 69 6f }\n}\n\nfunctio
0002af00: 6e 20 70 61 63 6b 32 35 35 31 39 28 6f 2c 20 6e n pack25519(o, n
0002af10: 29 20 7b 5c 6e 20 20 76 61 72 20 69 2c 20 6a 2c ) {\n var i, j,
0002af20: 20 62 3b 5c 6e 20 20 76 61 72 20 6d 20 3d 20 67 b;\n var m = g
0002af30: 66 28 29 2c 20 74 20 3d 20 67 66 28 29 3b 5c 6e f(), t = gf();\n
0002af40: 20 20 66 6f 72 20 28 69 20 3d 20 30 3b 20 69 20 for (i = 0; i
0002af50: 3c 20 31 36 3b 20 69 2b 2b 29 20 74 5b 69 5d 20 < 16; i++) t[i]
0002af60: 3d 20 6e 5b 69 5d 3b 5c 6e 20 20 63 61 72 32 35 = n[i];\n car25
0002af70: 35 31 39 28 74 29 3b 5c 6e 20 20 63 61 72 32 35 519(t);\n car25
0002af80: 35 31 39 28 74 29 3b 5c 6e 20 20 63 61 72 32 35 519(t);\n car25
0002af90: 35 31 39 28 74 29 3b 5c 6e 20 20 66 6f 72 20 28 519(t);\n for (
0002afa0: 6a 20 3d 20 30 3b 20 6a 20 3c 20 32 3b 20 6a 2b j = 0; j < 2; j+
0002afb0: 2b 29 20 7b 5c 6e 20 20 20 20 6d 5b 30 5d 20 3d +) {\n m[0] =
0002afc0: 20 74 5b 30 5d 20 2d 20 30 78 66 66 65 64 3b 5c t[0] - 0xffed;\
0002afd0: 6e 20 20 20 20 66 6f 72 20 28 69 20 3d 20 31 3b n for (i = 1;
0002afe0: 20 69 20 3c 20 31 35 3b 20 69 2b 2b 29 20 7b 5c i < 15; i++) {\
0002aff0: 6e 20 20 20 20 20 20 6d 5b 69 5d 20 3d 20 74 5b n m[i] = t[
0002b000: 69 5d 20 2d 20 30 78 66 66 66 66 20 2d 20 28 28 i] - 0xffff - ((
0002b010: 6d 5b 69 2d 31 5d 3e 3e 31 36 29 20 26 20 31 29 m[i-1]>>16) & 1)
0002b020: 3b 5c 6e 20 20 20 20 20 20 6d 5b 69 2d 31 5d 20 ;\n m[i-1]
0002b030: 26 3d 20 30 78 66 66 66 66 3b 5c 6e 20 20 20 20 &= 0xffff;\n
0002b040: 7d 5c 6e 20 20 20 20 6d 5b 31 35 5d 20 3d 20 74 }\n m[15] = t
0002b050: 5b 31 35 5d 20 2d 20 30 78 37 66 66 66 20 2d 20 [15] - 0x7fff -
0002b060: 28 28 6d 5b 31 34 5d 3e 3e 31 36 29 20 26 20 31 ((m[14]>>16) & 1
0002b070: 29 3b 5c 6e 20 20 20 20 62 20 3d 20 28 6d 5b 31 );\n b = (m[1
0002b080: 35 5d 3e 3e 31 36 29 20 26 20 31 3b 5c 6e 20 20 5]>>16) & 1;\n
0002b090: 20 20 6d 5b 31 34 5d 20 26 3d 20 30 78 66 66 66 m[14] &= 0xfff
0002b0a0: 66 3b 5c 6e 20 20 20 20 73 65 6c 32 35 35 31 39 f;\n sel25519
0002b0b0: 28 74 2c 20 6d 2c 20 31 2d 62 29 3b 5c 6e 20 20 (t, m, 1-b);\n
0002b0c0: 7d 5c 6e 20 20 66 6f 72 20 28 69 20 3d 20 30 3b }\n for (i = 0;
0002b0d0: 20 69 20 3c 20 31 36 3b 20 69 2b 2b 29 20 7b 5c i < 16; i++) {\
0002b0e0: 6e 20 20 20 20 6f 5b 32 2a 69 5d 20 3d 20 74 5b n o[2*i] = t[
0002b0f0: 69 5d 20 26 20 30 78 66 66 3b 5c 6e 20 20 20 20 i] & 0xff;\n
0002b100: 6f 5b 32 2a 69 2b 31 5d 20 3d 20 74 5b 69 5d 3e o[2*i+1] = t[i]>
0002b110: 3e 38 3b 5c 6e 20 20 7d 5c 6e 7d 5c 6e 5c 6e 66 >8;\n }\n}\n\nf
0002b120: 75 6e 63 74 69 6f 6e 20 6e 65 71 32 35 35 31 39 unction neq25519
0002b130: 28 61 2c 20 62 29 20 7b 5c 6e 20 20 76 61 72 20 (a, b) {\n var
0002b140: 63 20 3d 20 6e 65 77 20 55 69 6e 74 38 41 72 72 c = new Uint8Arr
0002b150: 61 79 28 33 32 29 2c 20 64 20 3d 20 6e 65 77 20 ay(32), d = new
0002b160: 55 69 6e 74 38 41 72 72 61 79 28 33 32 29 3b 5c Uint8Array(32);\
0002b170: 6e 20 20 70 61 63 6b 32 35 35 31 39 28 63 2c 20 n pack25519(c,
0002b180: 61 29 3b 5c 6e 20 20 70 61 63 6b 32 35 35 31 39 a);\n pack25519
0002b190: 28 64 2c 20 62 29 3b 5c 6e 20 20 72 65 74 75 72 (d, b);\n retur
0002b1a0: 6e 20 63 72 79 70 74 6f 5f 76 65 72 69 66 79 5f n crypto_verify_
0002b1b0: 33 32 28 63 2c 20 30 2c 20 64 2c 20 30 29 3b 5c 32(c, 0, d, 0);\
0002b1c0: 6e 7d 5c 6e 5c 6e 66 75 6e 63 74 69 6f 6e 20 70 n}\n\nfunction p
0002b1d0: 61 72 32 35 35 31 39 28 61 29 20 7b 5c 6e 20 20 ar25519(a) {\n
0002b1e0: 76 61 72 20 64 20 3d 20 6e 65 77 20 55 69 6e 74 var d = new Uint
0002b1f0: 38 41 72 72 61 79 28 33 32 29 3b 5c 6e 20 20 70 8Array(32);\n p
0002b200: 61 63 6b 32 35 35 31 39 28 64 2c 20 61 29 3b 5c ack25519(d, a);\
0002b210: 6e 20 20 72 65 74 75 72 6e 20 64 5b 30 5d 20 26 n return d[0] &
0002b220: 20 31 3b 5c 6e 7d 5c 6e 5c 6e 66 75 6e 63 74 69 1;\n}\n\nfuncti
0002b230: 6f 6e 20 75 6e 70 61 63 6b 32 35 35 31 39 28 6f on unpack25519(o
0002b240: 2c 20 6e 29 20 7b 5c 6e 20 20 76 61 72 20 69 3b , n) {\n var i;
0002b250: 5c 6e 20 20 66 6f 72 20 28 69 20 3d 20 30 3b 20 \n for (i = 0;
0002b260: 69 20 3c 20 31 36 3b 20 69 2b 2b 29 20 6f 5b 69 i < 16; i++) o[i
0002b270: 5d 20 3d 20 6e 5b 32 2a 69 5d 20 2b 20 28 6e 5b ] = n[2*i] + (n[
0002b280: 32 2a 69 2b 31 5d 20 3c 3c 20 38 29 3b 5c 6e 20 2*i+1] << 8);\n
0002b290: 20 6f 5b 31 35 5d 20 26 3d 20 30 78 37 66 66 66 o[15] &= 0x7fff
0002b2a0: 3b 5c 6e 7d 5c 6e 5c 6e 66 75 6e 63 74 69 6f 6e ;\n}\n\nfunction
0002b2b0: 20 41 28 6f 2c 20 61 2c 20 62 29 20 7b 5c 6e 20 A(o, a, b) {\n
0002b2c0: 20 66 6f 72 20 28 76 61 72 20 69 20 3d 20 30 3b for (var i = 0;
0002b2d0: 20 69 20 3c 20 31 36 3b 20 69 2b 2b 29 20 6f 5b i < 16; i++) o[
0002b2e0: 69 5d 20 3d 20 61 5b 69 5d 20 2b 20 62 5b 69 5d i] = a[i] + b[i]
0002b2f0: 3b 5c 6e 7d 5c 6e 5c 6e 66 75 6e 63 74 69 6f 6e ;\n}\n\nfunction
0002b300: 20 5a 28 6f 2c 20 61 2c 20 62 29 20 7b 5c 6e 20 Z(o, a, b) {\n
0002b310: 20 66 6f 72 20 28 76 61 72 20 69 20 3d 20 30 3b for (var i = 0;
0002b320: 20 69 20 3c 20 31 36 3b 20 69 2b 2b 29 20 6f 5b i < 16; i++) o[
0002b330: 69 5d 20 3d 20 61 5b 69 5d 20 2d 20 62 5b 69 5d i] = a[i] - b[i]
0002b340: 3b 5c 6e 7d 5c 6e 5c 6e 66 75 6e 63 74 69 6f 6e ;\n}\n\nfunction
0002b350: 20 4d 28 6f 2c 20 61 2c 20 62 29 20 7b 5c 6e 20 M(o, a, b) {\n
0002b360: 20 76 61 72 20 76 2c 20 63 2c 5c 6e 20 20 20 20 var v, c,\n
0002b370: 20 74 30 20 3d 20 30 2c 20 20 74 31 20 3d 20 30 t0 = 0, t1 = 0
0002b380: 2c 20 20 74 32 20 3d 20 30 2c 20 20 74 33 20 3d , t2 = 0, t3 =
0002b390: 20 30 2c 20 20 74 34 20 3d 20 30 2c 20 20 74 35 0, t4 = 0, t5
0002b3a0: 20 3d 20 30 2c 20 20 74 36 20 3d 20 30 2c 20 20 = 0, t6 = 0,
0002b3b0: 74 37 20 3d 20 30 2c 5c 6e 20 20 20 20 20 74 38 t7 = 0,\n t8
0002b3c0: 20 3d 20 30 2c 20 20 74 39 20 3d 20 30 2c 20 74 = 0, t9 = 0, t
0002b3d0: 31 30 20 3d 20 30 2c 20 74 31 31 20 3d 20 30 2c 10 = 0, t11 = 0,
0002b3e0: 20 74 31 32 20 3d 20 30 2c 20 74 31 33 20 3d 20 t12 = 0, t13 =
0002b3f0: 30 2c 20 74 31 34 20 3d 20 30 2c 20 74 31 35 20 0, t14 = 0, t15
0002b400: 3d 20 30 2c 5c 6e 20 20 20 20 74 31 36 20 3d 20 = 0,\n t16 =
0002b410: 30 2c 20 74 31 37 20 3d 20 30 2c 20 74 31 38 20 0, t17 = 0, t18
0002b420: 3d 20 30 2c 20 74 31 39 20 3d 20 30 2c 20 74 32 = 0, t19 = 0, t2
0002b430: 30 20 3d 20 30 2c 20 74 32 31 20 3d 20 30 2c 20 0 = 0, t21 = 0,
0002b440: 74 32 32 20 3d 20 30 2c 20 74 32 33 20 3d 20 30 t22 = 0, t23 = 0
0002b450: 2c 5c 6e 20 20 20 20 74 32 34 20 3d 20 30 2c 20 ,\n t24 = 0,
0002b460: 74 32 35 20 3d 20 30 2c 20 74 32 36 20 3d 20 30 t25 = 0, t26 = 0
0002b470: 2c 20 74 32 37 20 3d 20 30 2c 20 74 32 38 20 3d , t27 = 0, t28 =
0002b480: 20 30 2c 20 74 32 39 20 3d 20 30 2c 20 74 33 30 0, t29 = 0, t30
0002b490: 20 3d 20 30 2c 5c 6e 20 20 20 20 62 30 20 3d 20 = 0,\n b0 =
0002b4a0: 62 5b 30 5d 2c 5c 6e 20 20 20 20 62 31 20 3d 20 b[0],\n b1 =
0002b4b0: 62 5b 31 5d 2c 5c 6e 20 20 20 20 62 32 20 3d 20 b[1],\n b2 =
0002b4c0: 62 5b 32 5d 2c 5c 6e 20 20 20 20 62 33 20 3d 20 b[2],\n b3 =
0002b4d0: 62 5b 33 5d 2c 5c 6e 20 20 20 20 62 34 20 3d 20 b[3],\n b4 =
0002b4e0: 62 5b 34 5d 2c 5c 6e 20 20 20 20 62 35 20 3d 20 b[4],\n b5 =
0002b4f0: 62 5b 35 5d 2c 5c 6e 20 20 20 20 62 36 20 3d 20 b[5],\n b6 =
0002b500: 62 5b 36 5d 2c 5c 6e 20 20 20 20 62 37 20 3d 20 b[6],\n b7 =
0002b510: 62 5b 37 5d 2c 5c 6e 20 20 20 20 62 38 20 3d 20 b[7],\n b8 =
0002b520: 62 5b 38 5d 2c 5c 6e 20 20 20 20 62 39 20 3d 20 b[8],\n b9 =
0002b530: 62 5b 39 5d 2c 5c 6e 20 20 20 20 62 31 30 20 3d b[9],\n b10 =
0002b540: 20 62 5b 31 30 5d 2c 5c 6e 20 20 20 20 62 31 31 b[10],\n b11
0002b550: 20 3d 20 62 5b 31 31 5d 2c 5c 6e 20 20 20 20 62 = b[11],\n b
0002b560: 31 32 20 3d 20 62 5b 31 32 5d 2c 5c 6e 20 20 20 12 = b[12],\n
0002b570: 20 62 31 33 20 3d 20 62 5b 31 33 5d 2c 5c 6e 20 b13 = b[13],\n
0002b580: 20 20 20 62 31 34 20 3d 20 62 5b 31 34 5d 2c 5c b14 = b[14],\
0002b590: 6e 20 20 20 20 62 31 35 20 3d 20 62 5b 31 35 5d n b15 = b[15]
0002b5a0: 3b 5c 6e 5c 6e 20 20 76 20 3d 20 61 5b 30 5d 3b ;\n\n v = a[0];
0002b5b0: 5c 6e 20 20 74 30 20 2b 3d 20 76 20 2a 20 62 30 \n t0 += v * b0
0002b5c0: 3b 5c 6e 20 20 74 31 20 2b 3d 20 76 20 2a 20 62 ;\n t1 += v * b
0002b5d0: 31 3b 5c 6e 20 20 74 32 20 2b 3d 20 76 20 2a 20 1;\n t2 += v *
0002b5e0: 62 32 3b 5c 6e 20 20 74 33 20 2b 3d 20 76 20 2a b2;\n t3 += v *
0002b5f0: 20 62 33 3b 5c 6e 20 20 74 34 20 2b 3d 20 76 20 b3;\n t4 += v
0002b600: 2a 20 62 34 3b 5c 6e 20 20 74 35 20 2b 3d 20 76 * b4;\n t5 += v
0002b610: 20 2a 20 62 35 3b 5c 6e 20 20 74 36 20 2b 3d 20 * b5;\n t6 +=
0002b620: 76 20 2a 20 62 36 3b 5c 6e 20 20 74 37 20 2b 3d v * b6;\n t7 +=
0002b630: 20 76 20 2a 20 62 37 3b 5c 6e 20 20 74 38 20 2b v * b7;\n t8 +
0002b640: 3d 20 76 20 2a 20 62 38 3b 5c 6e 20 20 74 39 20 = v * b8;\n t9
0002b650: 2b 3d 20 76 20 2a 20 62 39 3b 5c 6e 20 20 74 31 += v * b9;\n t1
0002b660: 30 20 2b 3d 20 76 20 2a 20 62 31 30 3b 5c 6e 20 0 += v * b10;\n
0002b670: 20 74 31 31 20 2b 3d 20 76 20 2a 20 62 31 31 3b t11 += v * b11;
0002b680: 5c 6e 20 20 74 31 32 20 2b 3d 20 76 20 2a 20 62 \n t12 += v * b
0002b690: 31 32 3b 5c 6e 20 20 74 31 33 20 2b 3d 20 76 20 12;\n t13 += v
0002b6a0: 2a 20 62 31 33 3b 5c 6e 20 20 74 31 34 20 2b 3d * b13;\n t14 +=
0002b6b0: 20 76 20 2a 20 62 31 34 3b 5c 6e 20 20 74 31 35 v * b14;\n t15
0002b6c0: 20 2b 3d 20 76 20 2a 20 62 31 35 3b 5c 6e 20 20 += v * b15;\n
0002b6d0: 76 20 3d 20 61 5b 31 5d 3b 5c 6e 20 20 74 31 20 v = a[1];\n t1
0002b6e0: 2b 3d 20 76 20 2a 20 62 30 3b 5c 6e 20 20 74 32 += v * b0;\n t2
0002b6f0: 20 2b 3d 20 76 20 2a 20 62 31 3b 5c 6e 20 20 74 += v * b1;\n t
0002b700: 33 20 2b 3d 20 76 20 2a 20 62 32 3b 5c 6e 20 20 3 += v * b2;\n
0002b710: 74 34 20 2b 3d 20 76 20 2a 20 62 33 3b 5c 6e 20 t4 += v * b3;\n
0002b720: 20 74 35 20 2b 3d 20 76 20 2a 20 62 34 3b 5c 6e t5 += v * b4;\n
0002b730: 20 20 74 36 20 2b 3d 20 76 20 2a 20 62 35 3b 5c t6 += v * b5;\
0002b740: 6e 20 20 74 37 20 2b 3d 20 76 20 2a 20 62 36 3b n t7 += v * b6;
0002b750: 5c 6e 20 20 74 38 20 2b 3d 20 76 20 2a 20 62 37 \n t8 += v * b7
0002b760: 3b 5c 6e 20 20 74 39 20 2b 3d 20 76 20 2a 20 62 ;\n t9 += v * b
0002b770: 38 3b 5c 6e 20 20 74 31 30 20 2b 3d 20 76 20 2a 8;\n t10 += v *
0002b780: 20 62 39 3b 5c 6e 20 20 74 31 31 20 2b 3d 20 76 b9;\n t11 += v
0002b790: 20 2a 20 62 31 30 3b 5c 6e 20 20 74 31 32 20 2b * b10;\n t12 +
0002b7a0: 3d 20 76 20 2a 20 62 31 31 3b 5c 6e 20 20 74 31 = v * b11;\n t1
0002b7b0: 33 20 2b 3d 20 76 20 2a 20 62 31 32 3b 5c 6e 20 3 += v * b12;\n
0002b7c0: 20 74 31 34 20 2b 3d 20 76 20 2a 20 62 31 33 3b t14 += v * b13;
0002b7d0: 5c 6e 20 20 74 31 35 20 2b 3d 20 76 20 2a 20 62 \n t15 += v * b
0002b7e0: 31 34 3b 5c 6e 20 20 74 31 36 20 2b 3d 20 76 20 14;\n t16 += v
0002b7f0: 2a 20 62 31 35 3b 5c 6e 20 20 76 20 3d 20 61 5b * b15;\n v = a[
0002b800: 32 5d 3b 5c 6e 20 20 74 32 20 2b 3d 20 76 20 2a 2];\n t2 += v *
0002b810: 20 62 30 3b 5c 6e 20 20 74 33 20 2b 3d 20 76 20 b0;\n t3 += v
0002b820: 2a 20 62 31 3b 5c 6e 20 20 74 34 20 2b 3d 20 76 * b1;\n t4 += v
0002b830: 20 2a 20 62 32 3b 5c 6e 20 20 74 35 20 2b 3d 20 * b2;\n t5 +=
0002b840: 76 20 2a 20 62 33 3b 5c 6e 20 20 74 36 20 2b 3d v * b3;\n t6 +=
0002b850: 20 76 20 2a 20 62 34 3b 5c 6e 20 20 74 37 20 2b v * b4;\n t7 +
0002b860: 3d 20 76 20 2a 20 62 35 3b 5c 6e 20 20 74 38 20 = v * b5;\n t8
0002b870: 2b 3d 20 76 20 2a 20 62 36 3b 5c 6e 20 20 74 39 += v * b6;\n t9
0002b880: 20 2b 3d 20 76 20 2a 20 62 37 3b 5c 6e 20 20 74 += v * b7;\n t
0002b890: 31 30 20 2b 3d 20 76 20 2a 20 62 38 3b 5c 6e 20 10 += v * b8;\n
0002b8a0: 20 74 31 31 20 2b 3d 20 76 20 2a 20 62 39 3b 5c t11 += v * b9;\
0002b8b0: 6e 20 20 74 31 32 20 2b 3d 20 76 20 2a 20 62 31 n t12 += v * b1
0002b8c0: 30 3b 5c 6e 20 20 74 31 33 20 2b 3d 20 76 20 2a 0;\n t13 += v *
0002b8d0: 20 62 31 31 3b 5c 6e 20 20 74 31 34 20 2b 3d 20 b11;\n t14 +=
0002b8e0: 76 20 2a 20 62 31 32 3b 5c 6e 20 20 74 31 35 20 v * b12;\n t15
0002b8f0: 2b 3d 20 76 20 2a 20 62 31 33 3b 5c 6e 20 20 74 += v * b13;\n t
0002b900: 31 36 20 2b 3d 20 76 20 2a 20 62 31 34 3b 5c 6e 16 += v * b14;\n
0002b910: 20 20 74 31 37 20 2b 3d 20 76 20 2a 20 62 31 35 t17 += v * b15
0002b920: 3b 5c 6e 20 20 76 20 3d 20 61 5b 33 5d 3b 5c 6e ;\n v = a[3];\n
0002b930: 20 20 74 33 20 2b 3d 20 76 20 2a 20 62 30 3b 5c t3 += v * b0;\
0002b940: 6e 20 20 74 34 20 2b 3d 20 76 20 2a 20 62 31 3b n t4 += v * b1;
0002b950: 5c 6e 20 20 74 35 20 2b 3d 20 76 20 2a 20 62 32 \n t5 += v * b2
0002b960: 3b 5c 6e 20 20 74 36 20 2b 3d 20 76 20 2a 20 62 ;\n t6 += v * b
0002b970: 33 3b 5c 6e 20 20 74 37 20 2b 3d 20 76 20 2a 20 3;\n t7 += v *
0002b980: 62 34 3b 5c 6e 20 20 74 38 20 2b 3d 20 76 20 2a b4;\n t8 += v *
0002b990: 20 62 35 3b 5c 6e 20 20 74 39 20 2b 3d 20 76 20 b5;\n t9 += v
0002b9a0: 2a 20 62 36 3b 5c 6e 20 20 74 31 30 20 2b 3d 20 * b6;\n t10 +=
0002b9b0: 76 20 2a 20 62 37 3b 5c 6e 20 20 74 31 31 20 2b v * b7;\n t11 +
0002b9c0: 3d 20 76 20 2a 20 62 38 3b 5c 6e 20 20 74 31 32 = v * b8;\n t12
0002b9d0: 20 2b 3d 20 76 20 2a 20 62 39 3b 5c 6e 20 20 74 += v * b9;\n t
0002b9e0: 31 33 20 2b 3d 20 76 20 2a 20 62 31 30 3b 5c 6e 13 += v * b10;\n
0002b9f0: 20 20 74 31 34 20 2b 3d 20 76 20 2a 20 62 31 31 t14 += v * b11
0002ba00: 3b 5c 6e 20 20 74 31 35 20 2b 3d 20 76 20 2a 20 ;\n t15 += v *
0002ba10: 62 31 32 3b 5c 6e 20 20 74 31 36 20 2b 3d 20 76 b12;\n t16 += v
0002ba20: 20 2a 20 62 31 33 3b 5c 6e 20 20 74 31 37 20 2b * b13;\n t17 +
0002ba30: 3d 20 76 20 2a 20 62 31 34 3b 5c 6e 20 20 74 31 = v * b14;\n t1
0002ba40: 38 20 2b 3d 20 76 20 2a 20 62 31 35 3b 5c 6e 20 8 += v * b15;\n
0002ba50: 20 76 20 3d 20 61 5b 34 5d 3b 5c 6e 20 20 74 34 v = a[4];\n t4
0002ba60: 20 2b 3d 20 76 20 2a 20 62 30 3b 5c 6e 20 20 74 += v * b0;\n t
0002ba70: 35 20 2b 3d 20 76 20 2a 20 62 31 3b 5c 6e 20 20 5 += v * b1;\n
0002ba80: 74 36 20 2b 3d 20 76 20 2a 20 62 32 3b 5c 6e 20 t6 += v * b2;\n
0002ba90: 20 74 37 20 2b 3d 20 76 20 2a 20 62 33 3b 5c 6e t7 += v * b3;\n
0002baa0: 20 20 74 38 20 2b 3d 20 76 20 2a 20 62 34 3b 5c t8 += v * b4;\
0002bab0: 6e 20 20 74 39 20 2b 3d 20 76 20 2a 20 62 35 3b n t9 += v * b5;
0002bac0: 5c 6e 20 20 74 31 30 20 2b 3d 20 76 20 2a 20 62 \n t10 += v * b
0002bad0: 36 3b 5c 6e 20 20 74 31 31 20 2b 3d 20 76 20 2a 6;\n t11 += v *
0002bae0: 20 62 37 3b 5c 6e 20 20 74 31 32 20 2b 3d 20 76 b7;\n t12 += v
0002baf0: 20 2a 20 62 38 3b 5c 6e 20 20 74 31 33 20 2b 3d * b8;\n t13 +=
0002bb00: 20 76 20 2a 20 62 39 3b 5c 6e 20 20 74 31 34 20 v * b9;\n t14
0002bb10: 2b 3d 20 76 20 2a 20 62 31 30 3b 5c 6e 20 20 74 += v * b10;\n t
0002bb20: 31 35 20 2b 3d 20 76 20 2a 20 62 31 31 3b 5c 6e 15 += v * b11;\n
0002bb30: 20 20 74 31 36 20 2b 3d 20 76 20 2a 20 62 31 32 t16 += v * b12
0002bb40: 3b 5c 6e 20 20 74 31 37 20 2b 3d 20 76 20 2a 20 ;\n t17 += v *
0002bb50: 62 31 33 3b 5c 6e 20 20 74 31 38 20 2b 3d 20 76 b13;\n t18 += v
0002bb60: 20 2a 20 62 31 34 3b 5c 6e 20 20 74 31 39 20 2b * b14;\n t19 +
0002bb70: 3d 20 76 20 2a 20 62 31 35 3b 5c 6e 20 20 76 20 = v * b15;\n v
0002bb80: 3d 20 61 5b 35 5d 3b 5c 6e 20 20 74 35 20 2b 3d = a[5];\n t5 +=
0002bb90: 20 76 20 2a 20 62 30 3b 5c 6e 20 20 74 36 20 2b v * b0;\n t6 +
0002bba0: 3d 20 76 20 2a 20 62 31 3b 5c 6e 20 20 74 37 20 = v * b1;\n t7
0002bbb0: 2b 3d 20 76 20 2a 20 62 32 3b 5c 6e 20 20 74 38 += v * b2;\n t8
0002bbc0: 20 2b 3d 20 76 20 2a 20 62 33 3b 5c 6e 20 20 74 += v * b3;\n t
0002bbd0: 39 20 2b 3d 20 76 20 2a 20 62 34 3b 5c 6e 20 20 9 += v * b4;\n
0002bbe0: 74 31 30 20 2b 3d 20 76 20 2a 20 62 35 3b 5c 6e t10 += v * b5;\n
0002bbf0: 20 20 74 31 31 20 2b 3d 20 76 20 2a 20 62 36 3b t11 += v * b6;
0002bc00: 5c 6e 20 20 74 31 32 20 2b 3d 20 76 20 2a 20 62 \n t12 += v * b
0002bc10: 37 3b 5c 6e 20 20 74 31 33 20 2b 3d 20 76 20 2a 7;\n t13 += v *
0002bc20: 20 62 38 3b 5c 6e 20 20 74 31 34 20 2b 3d 20 76 b8;\n t14 += v
0002bc30: 20 2a 20 62 39 3b 5c 6e 20 20 74 31 35 20 2b 3d * b9;\n t15 +=
0002bc40: 20 76 20 2a 20 62 31 30 3b 5c 6e 20 20 74 31 36 v * b10;\n t16
0002bc50: 20 2b 3d 20 76 20 2a 20 62 31 31 3b 5c 6e 20 20 += v * b11;\n
0002bc60: 74 31 37 20 2b 3d 20 76 20 2a 20 62 31 32 3b 5c t17 += v * b12;\
0002bc70: 6e 20 20 74 31 38 20 2b 3d 20 76 20 2a 20 62 31 n t18 += v * b1
0002bc80: 33 3b 5c 6e 20 20 74 31 39 20 2b 3d 20 76 20 2a 3;\n t19 += v *
0002bc90: 20 62 31 34 3b 5c 6e 20 20 74 32 30 20 2b 3d 20 b14;\n t20 +=
0002bca0: 76 20 2a 20 62 31 35 3b 5c 6e 20 20 76 20 3d 20 v * b15;\n v =
0002bcb0: 61 5b 36 5d 3b 5c 6e 20 20 74 36 20 2b 3d 20 76 a[6];\n t6 += v
0002bcc0: 20 2a 20 62 30 3b 5c 6e 20 20 74 37 20 2b 3d 20 * b0;\n t7 +=
0002bcd0: 76 20 2a 20 62 31 3b 5c 6e 20 20 74 38 20 2b 3d v * b1;\n t8 +=
0002bce0: 20 76 20 2a 20 62 32 3b 5c 6e 20 20 74 39 20 2b v * b2;\n t9 +
0002bcf0: 3d 20 76 20 2a 20 62 33 3b 5c 6e 20 20 74 31 30 = v * b3;\n t10
0002bd00: 20 2b 3d 20 76 20 2a 20 62 34 3b 5c 6e 20 20 74 += v * b4;\n t
0002bd10: 31 31 20 2b 3d 20 76 20 2a 20 62 35 3b 5c 6e 20 11 += v * b5;\n
0002bd20: 20 74 31 32 20 2b 3d 20 76 20 2a 20 62 36 3b 5c t12 += v * b6;\
0002bd30: 6e 20 20 74 31 33 20 2b 3d 20 76 20 2a 20 62 37 n t13 += v * b7
0002bd40: 3b 5c 6e 20 20 74 31 34 20 2b 3d 20 76 20 2a 20 ;\n t14 += v *
0002bd50: 62 38 3b 5c 6e 20 20 74 31 35 20 2b 3d 20 76 20 b8;\n t15 += v
0002bd60: 2a 20 62 39 3b 5c 6e 20 20 74 31 36 20 2b 3d 20 * b9;\n t16 +=
0002bd70: 76 20 2a 20 62 31 30 3b 5c 6e 20 20 74 31 37 20 v * b10;\n t17
0002bd80: 2b 3d 20 76 20 2a 20 62 31 31 3b 5c 6e 20 20 74 += v * b11;\n t
0002bd90: 31 38 20 2b 3d 20 76 20 2a 20 62 31 32 3b 5c 6e 18 += v * b12;\n
0002bda0: 20 20 74 31 39 20 2b 3d 20 76 20 2a 20 62 31 33 t19 += v * b13
0002bdb0: 3b 5c 6e 20 20 74 32 30 20 2b 3d 20 76 20 2a 20 ;\n t20 += v *
0002bdc0: 62 31 34 3b 5c 6e 20 20 74 32 31 20 2b 3d 20 76 b14;\n t21 += v
0002bdd0: 20 2a 20 62 31 35 3b 5c 6e 20 20 76 20 3d 20 61 * b15;\n v = a
0002bde0: 5b 37 5d 3b 5c 6e 20 20 74 37 20 2b 3d 20 76 20 [7];\n t7 += v
0002bdf0: 2a 20 62 30 3b 5c 6e 20 20 74 38 20 2b 3d 20 76 * b0;\n t8 += v
0002be00: 20 2a 20 62 31 3b 5c 6e 20 20 74 39 20 2b 3d 20 * b1;\n t9 +=
0002be10: 76 20 2a 20 62 32 3b 5c 6e 20 20 74 31 30 20 2b v * b2;\n t10 +
0002be20: 3d 20 76 20 2a 20 62 33 3b 5c 6e 20 20 74 31 31 = v * b3;\n t11
0002be30: 20 2b 3d 20 76 20 2a 20 62 34 3b 5c 6e 20 20 74 += v * b4;\n t
0002be40: 31 32 20 2b 3d 20 76 20 2a 20 62 35 3b 5c 6e 20 12 += v * b5;\n
0002be50: 20 74 31 33 20 2b 3d 20 76 20 2a 20 62 36 3b 5c t13 += v * b6;\
0002be60: 6e 20 20 74 31 34 20 2b 3d 20 76 20 2a 20 62 37 n t14 += v * b7
0002be70: 3b 5c 6e 20 20 74 31 35 20 2b 3d 20 76 20 2a 20 ;\n t15 += v *
0002be80: 62 38 3b 5c 6e 20 20 74 31 36 20 2b 3d 20 76 20 b8;\n t16 += v
0002be90: 2a 20 62 39 3b 5c 6e 20 20 74 31 37 20 2b 3d 20 * b9;\n t17 +=
0002bea0: 76 20 2a 20 62 31 30 3b 5c 6e 20 20 74 31 38 20 v * b10;\n t18
0002beb0: 2b 3d 20 76 20 2a 20 62 31 31 3b 5c 6e 20 20 74 += v * b11;\n t
0002bec0: 31 39 20 2b 3d 20 76 20 2a 20 62 31 32 3b 5c 6e 19 += v * b12;\n
0002bed0: 20 20 74 32 30 20 2b 3d 20 76 20 2a 20 62 31 33 t20 += v * b13
0002bee0: 3b 5c 6e 20 20 74 32 31 20 2b 3d 20 76 20 2a 20 ;\n t21 += v *
0002bef0: 62 31 34 3b 5c 6e 20 20 74 32 32 20 2b 3d 20 76 b14;\n t22 += v
0002bf00: 20 2a 20 62 31 35 3b 5c 6e 20 20 76 20 3d 20 61 * b15;\n v = a
0002bf10: 5b 38 5d 3b 5c 6e 20 20 74 38 20 2b 3d 20 76 20 [8];\n t8 += v
0002bf20: 2a 20 62 30 3b 5c 6e 20 20 74 39 20 2b 3d 20 76 * b0;\n t9 += v
0002bf30: 20 2a 20 62 31 3b 5c 6e 20 20 74 31 30 20 2b 3d * b1;\n t10 +=
0002bf40: 20 76 20 2a 20 62 32 3b 5c 6e 20 20 74 31 31 20 v * b2;\n t11
0002bf50: 2b 3d 20 76 20 2a 20 62 33 3b 5c 6e 20 20 74 31 += v * b3;\n t1
0002bf60: 32 20 2b 3d 20 76 20 2a 20 62 34 3b 5c 6e 20 20 2 += v * b4;\n
0002bf70: 74 31 33 20 2b 3d 20 76 20 2a 20 62 35 3b 5c 6e t13 += v * b5;\n
0002bf80: 20 20 74 31 34 20 2b 3d 20 76 20 2a 20 62 36 3b t14 += v * b6;
0002bf90: 5c 6e 20 20 74 31 35 20 2b 3d 20 76 20 2a 20 62 \n t15 += v * b
0002bfa0: 37 3b 5c 6e 20 20 74 31 36 20 2b 3d 20 76 20 2a 7;\n t16 += v *
0002bfb0: 20 62 38 3b 5c 6e 20 20 74 31 37 20 2b 3d 20 76 b8;\n t17 += v
0002bfc0: 20 2a 20 62 39 3b 5c 6e 20 20 74 31 38 20 2b 3d * b9;\n t18 +=
0002bfd0: 20 76 20 2a 20 62 31 30 3b 5c 6e 20 20 74 31 39 v * b10;\n t19
0002bfe0: 20 2b 3d 20 76 20 2a 20 62 31 31 3b 5c 6e 20 20 += v * b11;\n
0002bff0: 74 32 30 20 2b 3d 20 76 20 2a 20 62 31 32 3b 5c t20 += v * b12;\
0002c000: 6e 20 20 74 32 31 20 2b 3d 20 76 20 2a 20 62 31 n t21 += v * b1
0002c010: 33 3b 5c 6e 20 20 74 32 32 20 2b 3d 20 76 20 2a 3;\n t22 += v *
0002c020: 20 62 31 34 3b 5c 6e 20 20 74 32 33 20 2b 3d 20 b14;\n t23 +=
0002c030: 76 20 2a 20 62 31 35 3b 5c 6e 20 20 76 20 3d 20 v * b15;\n v =
0002c040: 61 5b 39 5d 3b 5c 6e 20 20 74 39 20 2b 3d 20 76 a[9];\n t9 += v
0002c050: 20 2a 20 62 30 3b 5c 6e 20 20 74 31 30 20 2b 3d * b0;\n t10 +=
0002c060: 20 76 20 2a 20 62 31 3b 5c 6e 20 20 74 31 31 20 v * b1;\n t11
0002c070: 2b 3d 20 76 20 2a 20 62 32 3b 5c 6e 20 20 74 31 += v * b2;\n t1
0002c080: 32 20 2b 3d 20 76 20 2a 20 62 33 3b 5c 6e 20 20 2 += v * b3;\n
0002c090: 74 31 33 20 2b 3d 20 76 20 2a 20 62 34 3b 5c 6e t13 += v * b4;\n
0002c0a0: 20 20 74 31 34 20 2b 3d 20 76 20 2a 20 62 35 3b t14 += v * b5;
0002c0b0: 5c 6e 20 20 74 31 35 20 2b 3d 20 76 20 2a 20 62 \n t15 += v * b
0002c0c0: 36 3b 5c 6e 20 20 74 31 36 20 2b 3d 20 76 20 2a 6;\n t16 += v *
0002c0d0: 20 62 37 3b 5c 6e 20 20 74 31 37 20 2b 3d 20 76 b7;\n t17 += v
0002c0e0: 20 2a 20 62 38 3b 5c 6e 20 20 74 31 38 20 2b 3d * b8;\n t18 +=
0002c0f0: 20 76 20 2a 20 62 39 3b 5c 6e 20 20 74 31 39 20 v * b9;\n t19
0002c100: 2b 3d 20 76 20 2a 20 62 31 30 3b 5c 6e 20 20 74 += v * b10;\n t
0002c110: 32 30 20 2b 3d 20 76 20 2a 20 62 31 31 3b 5c 6e 20 += v * b11;\n
0002c120: 20 20 74 32 31 20 2b 3d 20 76 20 2a 20 62 31 32 t21 += v * b12
0002c130: 3b 5c 6e 20 20 74 32 32 20 2b 3d 20 76 20 2a 20 ;\n t22 += v *
0002c140: 62 31 33 3b 5c 6e 20 20 74 32 33 20 2b 3d 20 76 b13;\n t23 += v
0002c150: 20 2a 20 62 31 34 3b 5c 6e 20 20 74 32 34 20 2b * b14;\n t24 +
0002c160: 3d 20 76 20 2a 20 62 31 35 3b 5c 6e 20 20 76 20 = v * b15;\n v
0002c170: 3d 20 61 5b 31 30 5d 3b 5c 6e 20 20 74 31 30 20 = a[10];\n t10
0002c180: 2b 3d 20 76 20 2a 20 62 30 3b 5c 6e 20 20 74 31 += v * b0;\n t1
0002c190: 31 20 2b 3d 20 76 20 2a 20 62 31 3b 5c 6e 20 20 1 += v * b1;\n
0002c1a0: 74 31 32 20 2b 3d 20 76 20 2a 20 62 32 3b 5c 6e t12 += v * b2;\n
0002c1b0: 20 20 74 31 33 20 2b 3d 20 76 20 2a 20 62 33 3b t13 += v * b3;
0002c1c0: 5c 6e 20 20 74 31 34 20 2b 3d 20 76 20 2a 20 62 \n t14 += v * b
0002c1d0: 34 3b 5c 6e 20 20 74 31 35 20 2b 3d 20 76 20 2a 4;\n t15 += v *
0002c1e0: 20 62 35 3b 5c 6e 20 20 74 31 36 20 2b 3d 20 76 b5;\n t16 += v
0002c1f0: 20 2a 20 62 36 3b 5c 6e 20 20 74 31 37 20 2b 3d * b6;\n t17 +=
0002c200: 20 76 20 2a 20 62 37 3b 5c 6e 20 20 74 31 38 20 v * b7;\n t18
0002c210: 2b 3d 20 76 20 2a 20 62 38 3b 5c 6e 20 20 74 31 += v * b8;\n t1
0002c220: 39 20 2b 3d 20 76 20 2a 20 62 39 3b 5c 6e 20 20 9 += v * b9;\n
0002c230: 74 32 30 20 2b 3d 20 76 20 2a 20 62 31 30 3b 5c t20 += v * b10;\
0002c240: 6e 20 20 74 32 31 20 2b 3d 20 76 20 2a 20 62 31 n t21 += v * b1
0002c250: 31 3b 5c 6e 20 20 74 32 32 20 2b 3d 20 76 20 2a 1;\n t22 += v *
0002c260: 20 62 31 32 3b 5c 6e 20 20 74 32 33 20 2b 3d 20 b12;\n t23 +=
0002c270: 76 20 2a 20 62 31 33 3b 5c 6e 20 20 74 32 34 20 v * b13;\n t24
0002c280: 2b 3d 20 76 20 2a 20 62 31 34 3b 5c 6e 20 20 74 += v * b14;\n t
0002c290: 32 35 20 2b 3d 20 76 20 2a 20 62 31 35 3b 5c 6e 25 += v * b15;\n
0002c2a0: 20 20 76 20 3d 20 61 5b 31 31 5d 3b 5c 6e 20 20 v = a[11];\n
0002c2b0: 74 31 31 20 2b 3d 20 76 20 2a 20 62 30 3b 5c 6e t11 += v * b0;\n
0002c2c0: 20 20 74 31 32 20 2b 3d 20 76 20 2a 20 62 31 3b t12 += v * b1;
0002c2d0: 5c 6e 20 20 74 31 33 20 2b 3d 20 76 20 2a 20 62 \n t13 += v * b
0002c2e0: 32 3b 5c 6e 20 20 74 31 34 20 2b 3d 20 76 20 2a 2;\n t14 += v *
0002c2f0: 20 62 33 3b 5c 6e 20 20 74 31 35 20 2b 3d 20 76 b3;\n t15 += v
0002c300: 20 2a 20 62 34 3b 5c 6e 20 20 74 31 36 20 2b 3d * b4;\n t16 +=
0002c310: 20 76 20 2a 20 62 35 3b 5c 6e 20 20 74 31 37 20 v * b5;\n t17
0002c320: 2b 3d 20 76 20 2a 20 62 36 3b 5c 6e 20 20 74 31 += v * b6;\n t1
0002c330: 38 20 2b 3d 20 76 20 2a 20 62 37 3b 5c 6e 20 20 8 += v * b7;\n
0002c340: 74 31 39 20 2b 3d 20 76 20 2a 20 62 38 3b 5c 6e t19 += v * b8;\n
0002c350: 20 20 74 32 30 20 2b 3d 20 76 20 2a 20 62 39 3b t20 += v * b9;
0002c360: 5c 6e 20 20 74 32 31 20 2b 3d 20 76 20 2a 20 62 \n t21 += v * b
0002c370: 31 30 3b 5c 6e 20 20 74 32 32 20 2b 3d 20 76 20 10;\n t22 += v
0002c380: 2a 20 62 31 31 3b 5c 6e 20 20 74 32 33 20 2b 3d * b11;\n t23 +=
0002c390: 20 76 20 2a 20 62 31 32 3b 5c 6e 20 20 74 32 34 v * b12;\n t24
0002c3a0: 20 2b 3d 20 76 20 2a 20 62 31 33 3b 5c 6e 20 20 += v * b13;\n
0002c3b0: 74 32 35 20 2b 3d 20 76 20 2a 20 62 31 34 3b 5c t25 += v * b14;\
0002c3c0: 6e 20 20 74 32 36 20 2b 3d 20 76 20 2a 20 62 31 n t26 += v * b1
0002c3d0: 35 3b 5c 6e 20 20 76 20 3d 20 61 5b 31 32 5d 3b 5;\n v = a[12];
0002c3e0: 5c 6e 20 20 74 31 32 20 2b 3d 20 76 20 2a 20 62 \n t12 += v * b
0002c3f0: 30 3b 5c 6e 20 20 74 31 33 20 2b 3d 20 76 20 2a 0;\n t13 += v *
0002c400: 20 62 31 3b 5c 6e 20 20 74 31 34 20 2b 3d 20 76 b1;\n t14 += v
0002c410: 20 2a 20 62 32 3b 5c 6e 20 20 74 31 35 20 2b 3d * b2;\n t15 +=
0002c420: 20 76 20 2a 20 62 33 3b 5c 6e 20 20 74 31 36 20 v * b3;\n t16
0002c430: 2b 3d 20 76 20 2a 20 62 34 3b 5c 6e 20 20 74 31 += v * b4;\n t1
0002c440: 37 20 2b 3d 20 76 20 2a 20 62 35 3b 5c 6e 20 20 7 += v * b5;\n
0002c450: 74 31 38 20 2b 3d 20 76 20 2a 20 62 36 3b 5c 6e t18 += v * b6;\n
0002c460: 20 20 74 31 39 20 2b 3d 20 76 20 2a 20 62 37 3b t19 += v * b7;
0002c470: 5c 6e 20 20 74 32 30 20 2b 3d 20 76 20 2a 20 62 \n t20 += v * b
0002c480: 38 3b 5c 6e 20 20 74 32 31 20 2b 3d 20 76 20 2a 8;\n t21 += v *
0002c490: 20 62 39 3b 5c 6e 20 20 74 32 32 20 2b 3d 20 76 b9;\n t22 += v
0002c4a0: 20 2a 20 62 31 30 3b 5c 6e 20 20 74 32 33 20 2b * b10;\n t23 +
0002c4b0: 3d 20 76 20 2a 20 62 31 31 3b 5c 6e 20 20 74 32 = v * b11;\n t2
0002c4c0: 34 20 2b 3d 20 76 20 2a 20 62 31 32 3b 5c 6e 20 4 += v * b12;\n
0002c4d0: 20 74 32 35 20 2b 3d 20 76 20 2a 20 62 31 33 3b t25 += v * b13;
0002c4e0: 5c 6e 20 20 74 32 36 20 2b 3d 20 76 20 2a 20 62 \n t26 += v * b
0002c4f0: 31 34 3b 5c 6e 20 20 74 32 37 20 2b 3d 20 76 20 14;\n t27 += v
0002c500: 2a 20 62 31 35 3b 5c 6e 20 20 76 20 3d 20 61 5b * b15;\n v = a[
0002c510: 31 33 5d 3b 5c 6e 20 20 74 31 33 20 2b 3d 20 76 13];\n t13 += v
0002c520: 20 2a 20 62 30 3b 5c 6e 20 20 74 31 34 20 2b 3d * b0;\n t14 +=
0002c530: 20 76 20 2a 20 62 31 3b 5c 6e 20 20 74 31 35 20 v * b1;\n t15
0002c540: 2b 3d 20 76 20 2a 20 62 32 3b 5c 6e 20 20 74 31 += v * b2;\n t1
0002c550: 36 20 2b 3d 20 76 20 2a 20 62 33 3b 5c 6e 20 20 6 += v * b3;\n
0002c560: 74 31 37 20 2b 3d 20 76 20 2a 20 62 34 3b 5c 6e t17 += v * b4;\n
0002c570: 20 20 74 31 38 20 2b 3d 20 76 20 2a 20 62 35 3b t18 += v * b5;
0002c580: 5c 6e 20 20 74 31 39 20 2b 3d 20 76 20 2a 20 62 \n t19 += v * b
0002c590: 36 3b 5c 6e 20 20 74 32 30 20 2b 3d 20 76 20 2a 6;\n t20 += v *
0002c5a0: 20 62 37 3b 5c 6e 20 20 74 32 31 20 2b 3d 20 76 b7;\n t21 += v
0002c5b0: 20 2a 20 62 38 3b 5c 6e 20 20 74 32 32 20 2b 3d * b8;\n t22 +=
0002c5c0: 20 76 20 2a 20 62 39 3b 5c 6e 20 20 74 32 33 20 v * b9;\n t23
0002c5d0: 2b 3d 20 76 20 2a 20 62 31 30 3b 5c 6e 20 20 74 += v * b10;\n t
0002c5e0: 32 34 20 2b 3d 20 76 20 2a 20 62 31 31 3b 5c 6e 24 += v * b11;\n
0002c5f0: 20 20 74 32 35 20 2b 3d 20 76 20 2a 20 62 31 32 t25 += v * b12
0002c600: 3b 5c 6e 20 20 74 32 36 20 2b 3d 20 76 20 2a 20 ;\n t26 += v *
0002c610: 62 31 33 3b 5c 6e 20 20 74 32 37 20 2b 3d 20 76 b13;\n t27 += v
0002c620: 20 2a 20 62 31 34 3b 5c 6e 20 20 74 32 38 20 2b * b14;\n t28 +
0002c630: 3d 20 76 20 2a 20 62 31 35 3b 5c 6e 20 20 76 20 = v * b15;\n v
0002c640: 3d 20 61 5b 31 34 5d 3b 5c 6e 20 20 74 31 34 20 = a[14];\n t14
0002c650: 2b 3d 20 76 20 2a 20 62 30 3b 5c 6e 20 20 74 31 += v * b0;\n t1
0002c660: 35 20 2b 3d 20 76 20 2a 20 62 31 3b 5c 6e 20 20 5 += v * b1;\n
0002c670: 74 31 36 20 2b 3d 20 76 20 2a 20 62 32 3b 5c 6e t16 += v * b2;\n
0002c680: 20 20 74 31 37 20 2b 3d 20 76 20 2a 20 62 33 3b t17 += v * b3;
0002c690: 5c 6e 20 20 74 31 38 20 2b 3d 20 76 20 2a 20 62 \n t18 += v * b
0002c6a0: 34 3b 5c 6e 20 20 74 31 39 20 2b 3d 20 76 20 2a 4;\n t19 += v *
0002c6b0: 20 62 35 3b 5c 6e 20 20 74 32 30 20 2b 3d 20 76 b5;\n t20 += v
0002c6c0: 20 2a 20 62 36 3b 5c 6e 20 20 74 32 31 20 2b 3d * b6;\n t21 +=
0002c6d0: 20 76 20 2a 20 62 37 3b 5c 6e 20 20 74 32 32 20 v * b7;\n t22
0002c6e0: 2b 3d 20 76 20 2a 20 62 38 3b 5c 6e 20 20 74 32 += v * b8;\n t2
0002c6f0: 33 20 2b 3d 20 76 20 2a 20 62 39 3b 5c 6e 20 20 3 += v * b9;\n
0002c700: 74 32 34 20 2b 3d 20 76 20 2a 20 62 31 30 3b 5c t24 += v * b10;\
0002c710: 6e 20 20 74 32 35 20 2b 3d 20 76 20 2a 20 62 31 n t25 += v * b1
0002c720: 31 3b 5c 6e 20 20 74 32 36 20 2b 3d 20 76 20 2a 1;\n t26 += v *
0002c730: 20 62 31 32 3b 5c 6e 20 20 74 32 37 20 2b 3d 20 b12;\n t27 +=
0002c740: 76 20 2a 20 62 31 33 3b 5c 6e 20 20 74 32 38 20 v * b13;\n t28
0002c750: 2b 3d 20 76 20 2a 20 62 31 34 3b 5c 6e 20 20 74 += v * b14;\n t
0002c760: 32 39 20 2b 3d 20 76 20 2a 20 62 31 35 3b 5c 6e 29 += v * b15;\n
0002c770: 20 20 76 20 3d 20 61 5b 31 35 5d 3b 5c 6e 20 20 v = a[15];\n
0002c780: 74 31 35 20 2b 3d 20 76 20 2a 20 62 30 3b 5c 6e t15 += v * b0;\n
0002c790: 20 20 74 31 36 20 2b 3d 20 76 20 2a 20 62 31 3b t16 += v * b1;
0002c7a0: 5c 6e 20 20 74 31 37 20 2b 3d 20 76 20 2a 20 62 \n t17 += v * b
0002c7b0: 32 3b 5c 6e 20 20 74 31 38 20 2b 3d 20 76 20 2a 2;\n t18 += v *
0002c7c0: 20 62 33 3b 5c 6e 20 20 74 31 39 20 2b 3d 20 76 b3;\n t19 += v
0002c7d0: 20 2a 20 62 34 3b 5c 6e 20 20 74 32 30 20 2b 3d * b4;\n t20 +=
0002c7e0: 20 76 20 2a 20 62 35 3b 5c 6e 20 20 74 32 31 20 v * b5;\n t21
0002c7f0: 2b 3d 20 76 20 2a 20 62 36 3b 5c 6e 20 20 74 32 += v * b6;\n t2
0002c800: 32 20 2b 3d 20 76 20 2a 20 62 37 3b 5c 6e 20 20 2 += v * b7;\n
0002c810: 74 32 33 20 2b 3d 20 76 20 2a 20 62 38 3b 5c 6e t23 += v * b8;\n
0002c820: 20 20 74 32 34 20 2b 3d 20 76 20 2a 20 62 39 3b t24 += v * b9;
0002c830: 5c 6e 20 20 74 32 35 20 2b 3d 20 76 20 2a 20 62 \n t25 += v * b
0002c840: 31 30 3b 5c 6e 20 20 74 32 36 20 2b 3d 20 76 20 10;\n t26 += v
0002c850: 2a 20 62 31 31 3b 5c 6e 20 20 74 32 37 20 2b 3d * b11;\n t27 +=
0002c860: 20 76 20 2a 20 62 31 32 3b 5c 6e 20 20 74 32 38 v * b12;\n t28
0002c870: 20 2b 3d 20 76 20 2a 20 62 31 33 3b 5c 6e 20 20 += v * b13;\n
0002c880: 74 32 39 20 2b 3d 20 76 20 2a 20 62 31 34 3b 5c t29 += v * b14;\
0002c890: 6e 20 20 74 33 30 20 2b 3d 20 76 20 2a 20 62 31 n t30 += v * b1
0002c8a0: 35 3b 5c 6e 5c 6e 20 20 74 30 20 20 2b 3d 20 33 5;\n\n t0 += 3
0002c8b0: 38 20 2a 20 74 31 36 3b 5c 6e 20 20 74 31 20 20 8 * t16;\n t1
0002c8c0: 2b 3d 20 33 38 20 2a 20 74 31 37 3b 5c 6e 20 20 += 38 * t17;\n
0002c8d0: 74 32 20 20 2b 3d 20 33 38 20 2a 20 74 31 38 3b t2 += 38 * t18;
0002c8e0: 5c 6e 20 20 74 33 20 20 2b 3d 20 33 38 20 2a 20 \n t3 += 38 *
0002c8f0: 74 31 39 3b 5c 6e 20 20 74 34 20 20 2b 3d 20 33 t19;\n t4 += 3
0002c900: 38 20 2a 20 74 32 30 3b 5c 6e 20 20 74 35 20 20 8 * t20;\n t5
0002c910: 2b 3d 20 33 38 20 2a 20 74 32 31 3b 5c 6e 20 20 += 38 * t21;\n
0002c920: 74 36 20 20 2b 3d 20 33 38 20 2a 20 74 32 32 3b t6 += 38 * t22;
0002c930: 5c 6e 20 20 74 37 20 20 2b 3d 20 33 38 20 2a 20 \n t7 += 38 *
0002c940: 74 32 33 3b 5c 6e 20 20 74 38 20 20 2b 3d 20 33 t23;\n t8 += 3
0002c950: 38 20 2a 20 74 32 34 3b 5c 6e 20 20 74 39 20 20 8 * t24;\n t9
0002c960: 2b 3d 20 33 38 20 2a 20 74 32 35 3b 5c 6e 20 20 += 38 * t25;\n
0002c970: 74 31 30 20 2b 3d 20 33 38 20 2a 20 74 32 36 3b t10 += 38 * t26;
0002c980: 5c 6e 20 20 74 31 31 20 2b 3d 20 33 38 20 2a 20 \n t11 += 38 *
0002c990: 74 32 37 3b 5c 6e 20 20 74 31 32 20 2b 3d 20 33 t27;\n t12 += 3
0002c9a0: 38 20 2a 20 74 32 38 3b 5c 6e 20 20 74 31 33 20 8 * t28;\n t13
0002c9b0: 2b 3d 20 33 38 20 2a 20 74 32 39 3b 5c 6e 20 20 += 38 * t29;\n
0002c9c0: 74 31 34 20 2b 3d 20 33 38 20 2a 20 74 33 30 3b t14 += 38 * t30;
0002c9d0: 5c 6e 20 20 2f 2f 20 74 31 35 20 6c 65 66 74 20 \n // t15 left
0002c9e0: 61 73 20 69 73 5c 6e 5c 6e 20 20 2f 2f 20 66 69 as is\n\n // fi
0002c9f0: 72 73 74 20 63 61 72 5c 6e 20 20 63 20 3d 20 31 rst car\n c = 1
0002ca00: 3b 5c 6e 20 20 76 20 3d 20 20 74 30 20 2b 20 63 ;\n v = t0 + c
0002ca10: 20 2b 20 36 35 35 33 35 3b 20 63 20 3d 20 4d 61 + 65535; c = Ma
0002ca20: 74 68 2e 66 6c 6f 6f 72 28 76 20 2f 20 36 35 35 th.floor(v / 655
0002ca30: 33 36 29 3b 20 20 74 30 20 3d 20 76 20 2d 20 63 36); t0 = v - c
0002ca40: 20 2a 20 36 35 35 33 36 3b 5c 6e 20 20 76 20 3d * 65536;\n v =
0002ca50: 20 20 74 31 20 2b 20 63 20 2b 20 36 35 35 33 35 t1 + c + 65535
0002ca60: 3b 20 63 20 3d 20 4d 61 74 68 2e 66 6c 6f 6f 72 ; c = Math.floor
0002ca70: 28 76 20 2f 20 36 35 35 33 36 29 3b 20 20 74 31 (v / 65536); t1
0002ca80: 20 3d 20 76 20 2d 20 63 20 2a 20 36 35 35 33 36 = v - c * 65536
0002ca90: 3b 5c 6e 20 20 76 20 3d 20 20 74 32 20 2b 20 63 ;\n v = t2 + c
0002caa0: 20 2b 20 36 35 35 33 35 3b 20 63 20 3d 20 4d 61 + 65535; c = Ma
0002cab0: 74 68 2e 66 6c 6f 6f 72 28 76 20 2f 20 36 35 35 th.floor(v / 655
0002cac0: 33 36 29 3b 20 20 74 32 20 3d 20 76 20 2d 20 63 36); t2 = v - c
0002cad0: 20 2a 20 36 35 35 33 36 3b 5c 6e 20 20 76 20 3d * 65536;\n v =
0002cae0: 20 20 74 33 20 2b 20 63 20 2b 20 36 35 35 33 35 t3 + c + 65535
0002caf0: 3b 20 63 20 3d 20 4d 61 74 68 2e 66 6c 6f 6f 72 ; c = Math.floor
0002cb00: 28 76 20 2f 20 36 35 35 33 36 29 3b 20 20 74 33 (v / 65536); t3
0002cb10: 20 3d 20 76 20 2d 20 63 20 2a 20 36 35 35 33 36 = v - c * 65536
0002cb20: 3b 5c 6e 20 20 76 20 3d 20 20 74 34 20 2b 20 63 ;\n v = t4 + c
0002cb30: 20 2b 20 36 35 35 33 35 3b 20 63 20 3d 20 4d 61 + 65535; c = Ma
0002cb40: 74 68 2e 66 6c 6f 6f 72 28 76 20 2f 20 36 35 35 th.floor(v / 655
0002cb50: 33 36 29 3b 20 20 74 34 20 3d 20 76 20 2d 20 63 36); t4 = v - c
0002cb60: 20 2a 20 36 35 35 33 36 3b 5c 6e 20 20 76 20 3d * 65536;\n v =
0002cb70: 20 20 74 35 20 2b 20 63 20 2b 20 36 35 35 33 35 t5 + c + 65535
0002cb80: 3b 20 63 20 3d 20 4d 61 74 68 2e 66 6c 6f 6f 72 ; c = Math.floor
0002cb90: 28 76 20 2f 20 36 35 35 33 36 29 3b 20 20 74 35 (v / 65536); t5
0002cba0: 20 3d 20 76 20 2d 20 63 20 2a 20 36 35 35 33 36 = v - c * 65536
0002cbb0: 3b 5c 6e 20 20 76 20 3d 20 20 74 36 20 2b 20 63 ;\n v = t6 + c
0002cbc0: 20 2b 20 36 35 35 33 35 3b 20 63 20 3d 20 4d 61 + 65535; c = Ma
0002cbd0: 74 68 2e 66 6c 6f 6f 72 28 76 20 2f 20 36 35 35 th.floor(v / 655
0002cbe0: 33 36 29 3b 20 20 74 36 20 3d 20 76 20 2d 20 63 36); t6 = v - c
0002cbf0: 20 2a 20 36 35 35 33 36 3b 5c 6e 20 20 76 20 3d * 65536;\n v =
0002cc00: 20 20 74 37 20 2b 20 63 20 2b 20 36 35 35 33 35 t7 + c + 65535
0002cc10: 3b 20 63 20 3d 20 4d 61 74 68 2e 66 6c 6f 6f 72 ; c = Math.floor
0002cc20: 28 76 20 2f 20 36 35 35 33 36 29 3b 20 20 74 37 (v / 65536); t7
0002cc30: 20 3d 20 76 20 2d 20 63 20 2a 20 36 35 35 33 36 = v - c * 65536
0002cc40: 3b 5c 6e 20 20 76 20 3d 20 20 74 38 20 2b 20 63 ;\n v = t8 + c
0002cc50: 20 2b 20 36 35 35 33 35 3b 20 63 20 3d 20 4d 61 + 65535; c = Ma
0002cc60: 74 68 2e 66 6c 6f 6f 72 28 76 20 2f 20 36 35 35 th.floor(v / 655
0002cc70: 33 36 29 3b 20 20 74 38 20 3d 20 76 20 2d 20 63 36); t8 = v - c
0002cc80: 20 2a 20 36 35 35 33 36 3b 5c 6e 20 20 76 20 3d * 65536;\n v =
0002cc90: 20 20 74 39 20 2b 20 63 20 2b 20 36 35 35 33 35 t9 + c + 65535
0002cca0: 3b 20 63 20 3d 20 4d 61 74 68 2e 66 6c 6f 6f 72 ; c = Math.floor
0002ccb0: 28 76 20 2f 20 36 35 35 33 36 29 3b 20 20 74 39 (v / 65536); t9
0002ccc0: 20 3d 20 76 20 2d 20 63 20 2a 20 36 35 35 33 36 = v - c * 65536
0002ccd0: 3b 5c 6e 20 20 76 20 3d 20 74 31 30 20 2b 20 63 ;\n v = t10 + c
0002cce0: 20 2b 20 36 35 35 33 35 3b 20 63 20 3d 20 4d 61 + 65535; c = Ma
0002ccf0: 74 68 2e 66 6c 6f 6f 72 28 76 20 2f 20 36 35 35 th.floor(v / 655
0002cd00: 33 36 29 3b 20 74 31 30 20 3d 20 76 20 2d 20 63 36); t10 = v - c
0002cd10: 20 2a 20 36 35 35 33 36 3b 5c 6e 20 20 76 20 3d * 65536;\n v =
0002cd20: 20 74 31 31 20 2b 20 63 20 2b 20 36 35 35 33 35 t11 + c + 65535
0002cd30: 3b 20 63 20 3d 20 4d 61 74 68 2e 66 6c 6f 6f 72 ; c = Math.floor
0002cd40: 28 76 20 2f 20 36 35 35 33 36 29 3b 20 74 31 31 (v / 65536); t11
0002cd50: 20 3d 20 76 20 2d 20 63 20 2a 20 36 35 35 33 36 = v - c * 65536
0002cd60: 3b 5c 6e 20 20 76 20 3d 20 74 31 32 20 2b 20 63 ;\n v = t12 + c
0002cd70: 20 2b 20 36 35 35 33 35 3b 20 63 20 3d 20 4d 61 + 65535; c = Ma
0002cd80: 74 68 2e 66 6c 6f 6f 72 28 76 20 2f 20 36 35 35 th.floor(v / 655
0002cd90: 33 36 29 3b 20 74 31 32 20 3d 20 76 20 2d 20 63 36); t12 = v - c
0002cda0: 20 2a 20 36 35 35 33 36 3b 5c 6e 20 20 76 20 3d * 65536;\n v =
0002cdb0: 20 74 31 33 20 2b 20 63 20 2b 20 36 35 35 33 35 t13 + c + 65535
0002cdc0: 3b 20 63 20 3d 20 4d 61 74 68 2e 66 6c 6f 6f 72 ; c = Math.floor
0002cdd0: 28 76 20 2f 20 36 35 35 33 36 29 3b 20 74 31 33 (v / 65536); t13
0002cde0: 20 3d 20 76 20 2d 20 63 20 2a 20 36 35 35 33 36 = v - c * 65536
0002cdf0: 3b 5c 6e 20 20 76 20 3d 20 74 31 34 20 2b 20 63 ;\n v = t14 + c
0002ce00: 20 2b 20 36 35 35 33 35 3b 20 63 20 3d 20 4d 61 + 65535; c = Ma
0002ce10: 74 68 2e 66 6c 6f 6f 72 28 76 20 2f 20 36 35 35 th.floor(v / 655
0002ce20: 33 36 29 3b 20 74 31 34 20 3d 20 76 20 2d 20 63 36); t14 = v - c
0002ce30: 20 2a 20 36 35 35 33 36 3b 5c 6e 20 20 76 20 3d * 65536;\n v =
0002ce40: 20 74 31 35 20 2b 20 63 20 2b 20 36 35 35 33 35 t15 + c + 65535
0002ce50: 3b 20 63 20 3d 20 4d 61 74 68 2e 66 6c 6f 6f 72 ; c = Math.floor
0002ce60: 28 76 20 2f 20 36 35 35 33 36 29 3b 20 74 31 35 (v / 65536); t15
0002ce70: 20 3d 20 76 20 2d 20 63 20 2a 20 36 35 35 33 36 = v - c * 65536
0002ce80: 3b 5c 6e 20 20 74 30 20 2b 3d 20 63 2d 31 20 2b ;\n t0 += c-1 +
0002ce90: 20 33 37 20 2a 20 28 63 2d 31 29 3b 5c 6e 5c 6e 37 * (c-1);\n\n
0002cea0: 20 20 2f 2f 20 73 65 63 6f 6e 64 20 63 61 72 5c // second car\
0002ceb0: 6e 20 20 63 20 3d 20 31 3b 5c 6e 20 20 76 20 3d n c = 1;\n v =
0002cec0: 20 20 74 30 20 2b 20 63 20 2b 20 36 35 35 33 35 t0 + c + 65535
0002ced0: 3b 20 63 20 3d 20 4d 61 74 68 2e 66 6c 6f 6f 72 ; c = Math.floor
0002cee0: 28 76 20 2f 20 36 35 35 33 36 29 3b 20 20 74 30 (v / 65536); t0
0002cef0: 20 3d 20 76 20 2d 20 63 20 2a 20 36 35 35 33 36 = v - c * 65536
0002cf00: 3b 5c 6e 20 20 76 20 3d 20 20 74 31 20 2b 20 63 ;\n v = t1 + c
0002cf10: 20 2b 20 36 35 35 33 35 3b 20 63 20 3d 20 4d 61 + 65535; c = Ma
0002cf20: 74 68 2e 66 6c 6f 6f 72 28 76 20 2f 20 36 35 35 th.floor(v / 655
0002cf30: 33 36 29 3b 20 20 74 31 20 3d 20 76 20 2d 20 63 36); t1 = v - c
0002cf40: 20 2a 20 36 35 35 33 36 3b 5c 6e 20 20 76 20 3d * 65536;\n v =
0002cf50: 20 20 74 32 20 2b 20 63 20 2b 20 36 35 35 33 35 t2 + c + 65535
0002cf60: 3b 20 63 20 3d 20 4d 61 74 68 2e 66 6c 6f 6f 72 ; c = Math.floor
0002cf70: 28 76 20 2f 20 36 35 35 33 36 29 3b 20 20 74 32 (v / 65536); t2
0002cf80: 20 3d 20 76 20 2d 20 63 20 2a 20 36 35 35 33 36 = v - c * 65536
0002cf90: 3b 5c 6e 20 20 76 20 3d 20 20 74 33 20 2b 20 63 ;\n v = t3 + c
0002cfa0: 20 2b 20 36 35 35 33 35 3b 20 63 20 3d 20 4d 61 + 65535; c = Ma
0002cfb0: 74 68 2e 66 6c 6f 6f 72 28 76 20 2f 20 36 35 35 th.floor(v / 655
0002cfc0: 33 36 29 3b 20 20 74 33 20 3d 20 76 20 2d 20 63 36); t3 = v - c
0002cfd0: 20 2a 20 36 35 35 33 36 3b 5c 6e 20 20 76 20 3d * 65536;\n v =
0002cfe0: 20 20 74 34 20 2b 20 63 20 2b 20 36 35 35 33 35 t4 + c + 65535
0002cff0: 3b 20 63 20 3d 20 4d 61 74 68 2e 66 6c 6f 6f 72 ; c = Math.floor
0002d000: 28 76 20 2f 20 36 35 35 33 36 29 3b 20 20 74 34 (v / 65536); t4
0002d010: 20 3d 20 76 20 2d 20 63 20 2a 20 36 35 35 33 36 = v - c * 65536
0002d020: 3b 5c 6e 20 20 76 20 3d 20 20 74 35 20 2b 20 63 ;\n v = t5 + c
0002d030: 20 2b 20 36 35 35 33 35 3b 20 63 20 3d 20 4d 61 + 65535; c = Ma
0002d040: 74 68 2e 66 6c 6f 6f 72 28 76 20 2f 20 36 35 35 th.floor(v / 655
0002d050: 33 36 29 3b 20 20 74 35 20 3d 20 76 20 2d 20 63 36); t5 = v - c
0002d060: 20 2a 20 36 35 35 33 36 3b 5c 6e 20 20 76 20 3d * 65536;\n v =
0002d070: 20 20 74 36 20 2b 20 63 20 2b 20 36 35 35 33 35 t6 + c + 65535
0002d080: 3b 20 63 20 3d 20 4d 61 74 68 2e 66 6c 6f 6f 72 ; c = Math.floor
0002d090: 28 76 20 2f 20 36 35 35 33 36 29 3b 20 20 74 36 (v / 65536); t6
0002d0a0: 20 3d 20 76 20 2d 20 63 20 2a 20 36 35 35 33 36 = v - c * 65536
0002d0b0: 3b 5c 6e 20 20 76 20 3d 20 20 74 37 20 2b 20 63 ;\n v = t7 + c
0002d0c0: 20 2b 20 36 35 35 33 35 3b 20 63 20 3d 20 4d 61 + 65535; c = Ma
0002d0d0: 74 68 2e 66 6c 6f 6f 72 28 76 20 2f 20 36 35 35 th.floor(v / 655
0002d0e0: 33 36 29 3b 20 20 74 37 20 3d 20 76 20 2d 20 63 36); t7 = v - c
0002d0f0: 20 2a 20 36 35 35 33 36 3b 5c 6e 20 20 76 20 3d * 65536;\n v =
0002d100: 20 20 74 38 20 2b 20 63 20 2b 20 36 35 35 33 35 t8 + c + 65535
0002d110: 3b 20 63 20 3d 20 4d 61 74 68 2e 66 6c 6f 6f 72 ; c = Math.floor
0002d120: 28 76 20 2f 20 36 35 35 33 36 29 3b 20 20 74 38 (v / 65536); t8
0002d130: 20 3d 20 76 20 2d 20 63 20 2a 20 36 35 35 33 36 = v - c * 65536
0002d140: 3b 5c 6e 20 20 76 20 3d 20 20 74 39 20 2b 20 63 ;\n v = t9 + c
0002d150: 20 2b 20 36 35 35 33 35 3b 20 63 20 3d 20 4d 61 + 65535; c = Ma
0002d160: 74 68 2e 66 6c 6f 6f 72 28 76 20 2f 20 36 35 35 th.floor(v / 655
0002d170: 33 36 29 3b 20 20 74 39 20 3d 20 76 20 2d 20 63 36); t9 = v - c
0002d180: 20 2a 20 36 35 35 33 36 3b 5c 6e 20 20 76 20 3d * 65536;\n v =
0002d190: 20 74 31 30 20 2b 20 63 20 2b 20 36 35 35 33 35 t10 + c + 65535
0002d1a0: 3b 20 63 20 3d 20 4d 61 74 68 2e 66 6c 6f 6f 72 ; c = Math.floor
0002d1b0: 28 76 20 2f 20 36 35 35 33 36 29 3b 20 74 31 30 (v / 65536); t10
0002d1c0: 20 3d 20 76 20 2d 20 63 20 2a 20 36 35 35 33 36 = v - c * 65536
0002d1d0: 3b 5c 6e 20 20 76 20 3d 20 74 31 31 20 2b 20 63 ;\n v = t11 + c
0002d1e0: 20 2b 20 36 35 35 33 35 3b 20 63 20 3d 20 4d 61 + 65535; c = Ma
0002d1f0: 74 68 2e 66 6c 6f 6f 72 28 76 20 2f 20 36 35 35 th.floor(v / 655
0002d200: 33 36 29 3b 20 74 31 31 20 3d 20 76 20 2d 20 63 36); t11 = v - c
0002d210: 20 2a 20 36 35 35 33 36 3b 5c 6e 20 20 76 20 3d * 65536;\n v =
0002d220: 20 74 31 32 20 2b 20 63 20 2b 20 36 35 35 33 35 t12 + c + 65535
0002d230: 3b 20 63 20 3d 20 4d 61 74 68 2e 66 6c 6f 6f 72 ; c = Math.floor
0002d240: 28 76 20 2f 20 36 35 35 33 36 29 3b 20 74 31 32 (v / 65536); t12
0002d250: 20 3d 20 76 20 2d 20 63 20 2a 20 36 35 35 33 36 = v - c * 65536
0002d260: 3b 5c 6e 20 20 76 20 3d 20 74 31 33 20 2b 20 63 ;\n v = t13 + c
0002d270: 20 2b 20 36 35 35 33 35 3b 20 63 20 3d 20 4d 61 + 65535; c = Ma
0002d280: 74 68 2e 66 6c 6f 6f 72 28 76 20 2f 20 36 35 35 th.floor(v / 655
0002d290: 33 36 29 3b 20 74 31 33 20 3d 20 76 20 2d 20 63 36); t13 = v - c
0002d2a0: 20 2a 20 36 35 35 33 36 3b 5c 6e 20 20 76 20 3d * 65536;\n v =
0002d2b0: 20 74 31 34 20 2b 20 63 20 2b 20 36 35 35 33 35 t14 + c + 65535
0002d2c0: 3b 20 63 20 3d 20 4d 61 74 68 2e 66 6c 6f 6f 72 ; c = Math.floor
0002d2d0: 28 76 20 2f 20 36 35 35 33 36 29 3b 20 74 31 34 (v / 65536); t14
0002d2e0: 20 3d 20 76 20 2d 20 63 20 2a 20 36 35 35 33 36 = v - c * 65536
0002d2f0: 3b 5c 6e 20 20 76 20 3d 20 74 31 35 20 2b 20 63 ;\n v = t15 + c
0002d300: 20 2b 20 36 35 35 33 35 3b 20 63 20 3d 20 4d 61 + 65535; c = Ma
0002d310: 74 68 2e 66 6c 6f 6f 72 28 76 20 2f 20 36 35 35 th.floor(v / 655
0002d320: 33 36 29 3b 20 74 31 35 20 3d 20 76 20 2d 20 63 36); t15 = v - c
0002d330: 20 2a 20 36 35 35 33 36 3b 5c 6e 20 20 74 30 20 * 65536;\n t0
0002d340: 2b 3d 20 63 2d 31 20 2b 20 33 37 20 2a 20 28 63 += c-1 + 37 * (c
0002d350: 2d 31 29 3b 5c 6e 5c 6e 20 20 6f 5b 20 30 5d 20 -1);\n\n o[ 0]
0002d360: 3d 20 74 30 3b 5c 6e 20 20 6f 5b 20 31 5d 20 3d = t0;\n o[ 1] =
0002d370: 20 74 31 3b 5c 6e 20 20 6f 5b 20 32 5d 20 3d 20 t1;\n o[ 2] =
0002d380: 74 32 3b 5c 6e 20 20 6f 5b 20 33 5d 20 3d 20 74 t2;\n o[ 3] = t
0002d390: 33 3b 5c 6e 20 20 6f 5b 20 34 5d 20 3d 20 74 34 3;\n o[ 4] = t4
0002d3a0: 3b 5c 6e 20 20 6f 5b 20 35 5d 20 3d 20 74 35 3b ;\n o[ 5] = t5;
0002d3b0: 5c 6e 20 20 6f 5b 20 36 5d 20 3d 20 74 36 3b 5c \n o[ 6] = t6;\
0002d3c0: 6e 20 20 6f 5b 20 37 5d 20 3d 20 74 37 3b 5c 6e n o[ 7] = t7;\n
0002d3d0: 20 20 6f 5b 20 38 5d 20 3d 20 74 38 3b 5c 6e 20 o[ 8] = t8;\n
0002d3e0: 20 6f 5b 20 39 5d 20 3d 20 74 39 3b 5c 6e 20 20 o[ 9] = t9;\n
0002d3f0: 6f 5b 31 30 5d 20 3d 20 74 31 30 3b 5c 6e 20 20 o[10] = t10;\n
0002d400: 6f 5b 31 31 5d 20 3d 20 74 31 31 3b 5c 6e 20 20 o[11] = t11;\n
0002d410: 6f 5b 31 32 5d 20 3d 20 74 31 32 3b 5c 6e 20 20 o[12] = t12;\n
0002d420: 6f 5b 31 33 5d 20 3d 20 74 31 33 3b 5c 6e 20 20 o[13] = t13;\n
0002d430: 6f 5b 31 34 5d 20 3d 20 74 31 34 3b 5c 6e 20 20 o[14] = t14;\n
0002d440: 6f 5b 31 35 5d 20 3d 20 74 31 35 3b 5c 6e 7d 5c o[15] = t15;\n}\
0002d450: 6e 5c 6e 66 75 6e 63 74 69 6f 6e 20 53 28 6f 2c n\nfunction S(o,
0002d460: 20 61 29 20 7b 5c 6e 20 20 4d 28 6f 2c 20 61 2c a) {\n M(o, a,
0002d470: 20 61 29 3b 5c 6e 7d 5c 6e 5c 6e 66 75 6e 63 74 a);\n}\n\nfunct
0002d480: 69 6f 6e 20 69 6e 76 32 35 35 31 39 28 6f 2c 20 ion inv25519(o,
0002d490: 69 29 20 7b 5c 6e 20 20 76 61 72 20 63 20 3d 20 i) {\n var c =
0002d4a0: 67 66 28 29 3b 5c 6e 20 20 76 61 72 20 61 3b 5c gf();\n var a;\
0002d4b0: 6e 20 20 66 6f 72 20 28 61 20 3d 20 30 3b 20 61 n for (a = 0; a
0002d4c0: 20 3c 20 31 36 3b 20 61 2b 2b 29 20 63 5b 61 5d < 16; a++) c[a]
0002d4d0: 20 3d 20 69 5b 61 5d 3b 5c 6e 20 20 66 6f 72 20 = i[a];\n for
0002d4e0: 28 61 20 3d 20 32 35 33 3b 20 61 20 3e 3d 20 30 (a = 253; a >= 0
0002d4f0: 3b 20 61 2d 2d 29 20 7b 5c 6e 20 20 20 20 53 28 ; a--) {\n S(
0002d500: 63 2c 20 63 29 3b 5c 6e 20 20 20 20 69 66 28 61 c, c);\n if(a
0002d510: 20 21 3d 3d 20 32 20 26 26 20 61 20 21 3d 3d 20 !== 2 && a !==
0002d520: 34 29 20 4d 28 63 2c 20 63 2c 20 69 29 3b 5c 6e 4) M(c, c, i);\n
0002d530: 20 20 7d 5c 6e 20 20 66 6f 72 20 28 61 20 3d 20 }\n for (a =
0002d540: 30 3b 20 61 20 3c 20 31 36 3b 20 61 2b 2b 29 20 0; a < 16; a++)
0002d550: 6f 5b 61 5d 20 3d 20 63 5b 61 5d 3b 5c 6e 7d 5c o[a] = c[a];\n}\
0002d560: 6e 5c 6e 66 75 6e 63 74 69 6f 6e 20 70 6f 77 32 n\nfunction pow2
0002d570: 35 32 33 28 6f 2c 20 69 29 20 7b 5c 6e 20 20 76 523(o, i) {\n v
0002d580: 61 72 20 63 20 3d 20 67 66 28 29 3b 5c 6e 20 20 ar c = gf();\n
0002d590: 76 61 72 20 61 3b 5c 6e 20 20 66 6f 72 20 28 61 var a;\n for (a
0002d5a0: 20 3d 20 30 3b 20 61 20 3c 20 31 36 3b 20 61 2b = 0; a < 16; a+
0002d5b0: 2b 29 20 63 5b 61 5d 20 3d 20 69 5b 61 5d 3b 5c +) c[a] = i[a];\
0002d5c0: 6e 20 20 66 6f 72 20 28 61 20 3d 20 32 35 30 3b n for (a = 250;
0002d5d0: 20 61 20 3e 3d 20 30 3b 20 61 2d 2d 29 20 7b 5c a >= 0; a--) {\
0002d5e0: 6e 20 20 20 20 20 20 53 28 63 2c 20 63 29 3b 5c n S(c, c);\
0002d5f0: 6e 20 20 20 20 20 20 69 66 28 61 20 21 3d 3d 20 n if(a !==
0002d600: 31 29 20 4d 28 63 2c 20 63 2c 20 69 29 3b 5c 6e 1) M(c, c, i);\n
0002d610: 20 20 7d 5c 6e 20 20 66 6f 72 20 28 61 20 3d 20 }\n for (a =
0002d620: 30 3b 20 61 20 3c 20 31 36 3b 20 61 2b 2b 29 20 0; a < 16; a++)
0002d630: 6f 5b 61 5d 20 3d 20 63 5b 61 5d 3b 5c 6e 7d 5c o[a] = c[a];\n}\
0002d640: 6e 5c 6e 66 75 6e 63 74 69 6f 6e 20 63 72 79 70 n\nfunction cryp
0002d650: 74 6f 5f 73 63 61 6c 61 72 6d 75 6c 74 28 71 2c to_scalarmult(q,
0002d660: 20 6e 2c 20 70 29 20 7b 5c 6e 20 20 76 61 72 20 n, p) {\n var
0002d670: 7a 20 3d 20 6e 65 77 20 55 69 6e 74 38 41 72 72 z = new Uint8Arr
0002d680: 61 79 28 33 32 29 3b 5c 6e 20 20 76 61 72 20 78 ay(32);\n var x
0002d690: 20 3d 20 6e 65 77 20 46 6c 6f 61 74 36 34 41 72 = new Float64Ar
0002d6a0: 72 61 79 28 38 30 29 2c 20 72 2c 20 69 3b 5c 6e ray(80), r, i;\n
0002d6b0: 20 20 76 61 72 20 61 20 3d 20 67 66 28 29 2c 20 var a = gf(),
0002d6c0: 62 20 3d 20 67 66 28 29 2c 20 63 20 3d 20 67 66 b = gf(), c = gf
0002d6d0: 28 29 2c 5c 6e 20 20 20 20 20 20 64 20 3d 20 67 (),\n d = g
0002d6e0: 66 28 29 2c 20 65 20 3d 20 67 66 28 29 2c 20 66 f(), e = gf(), f
0002d6f0: 20 3d 20 67 66 28 29 3b 5c 6e 20 20 66 6f 72 20 = gf();\n for
0002d700: 28 69 20 3d 20 30 3b 20 69 20 3c 20 33 31 3b 20 (i = 0; i < 31;
0002d710: 69 2b 2b 29 20 7a 5b 69 5d 20 3d 20 6e 5b 69 5d i++) z[i] = n[i]
0002d720: 3b 5c 6e 20 20 7a 5b 33 31 5d 3d 28 6e 5b 33 31 ;\n z[31]=(n[31
0002d730: 5d 26 31 32 37 29 7c 36 34 3b 5c 6e 20 20 7a 5b ]&127)|64;\n z[
0002d740: 30 5d 26 3d 32 34 38 3b 5c 6e 20 20 75 6e 70 61 0]&=248;\n unpa
0002d750: 63 6b 32 35 35 31 39 28 78 2c 70 29 3b 5c 6e 20 ck25519(x,p);\n
0002d760: 20 66 6f 72 20 28 69 20 3d 20 30 3b 20 69 20 3c for (i = 0; i <
0002d770: 20 31 36 3b 20 69 2b 2b 29 20 7b 5c 6e 20 20 20 16; i++) {\n
0002d780: 20 62 5b 69 5d 3d 78 5b 69 5d 3b 5c 6e 20 20 20 b[i]=x[i];\n
0002d790: 20 64 5b 69 5d 3d 61 5b 69 5d 3d 63 5b 69 5d 3d d[i]=a[i]=c[i]=
0002d7a0: 30 3b 5c 6e 20 20 7d 5c 6e 20 20 61 5b 30 5d 3d 0;\n }\n a[0]=
0002d7b0: 64 5b 30 5d 3d 31 3b 5c 6e 20 20 66 6f 72 20 28 d[0]=1;\n for (
0002d7c0: 69 3d 32 35 34 3b 20 69 3e 3d 30 3b 20 2d 2d 69 i=254; i>=0; --i
0002d7d0: 29 20 7b 5c 6e 20 20 20 20 72 3d 28 7a 5b 69 3e ) {\n r=(z[i>
0002d7e0: 3e 3e 33 5d 3e 3e 3e 28 69 26 37 29 29 26 31 3b >>3]>>>(i&7))&1;
0002d7f0: 5c 6e 20 20 20 20 73 65 6c 32 35 35 31 39 28 61 \n sel25519(a
0002d800: 2c 62 2c 72 29 3b 5c 6e 20 20 20 20 73 65 6c 32 ,b,r);\n sel2
0002d810: 35 35 31 39 28 63 2c 64 2c 72 29 3b 5c 6e 20 20 5519(c,d,r);\n
0002d820: 20 20 41 28 65 2c 61 2c 63 29 3b 5c 6e 20 20 20 A(e,a,c);\n
0002d830: 20 5a 28 61 2c 61 2c 63 29 3b 5c 6e 20 20 20 20 Z(a,a,c);\n
0002d840: 41 28 63 2c 62 2c 64 29 3b 5c 6e 20 20 20 20 5a A(c,b,d);\n Z
0002d850: 28 62 2c 62 2c 64 29 3b 5c 6e 20 20 20 20 53 28 (b,b,d);\n S(
0002d860: 64 2c 65 29 3b 5c 6e 20 20 20 20 53 28 66 2c 61 d,e);\n S(f,a
0002d870: 29 3b 5c 6e 20 20 20 20 4d 28 61 2c 63 2c 61 29 );\n M(a,c,a)
0002d880: 3b 5c 6e 20 20 20 20 4d 28 63 2c 62 2c 65 29 3b ;\n M(c,b,e);
0002d890: 5c 6e 20 20 20 20 41 28 65 2c 61 2c 63 29 3b 5c \n A(e,a,c);\
0002d8a0: 6e 20 20 20 20 5a 28 61 2c 61 2c 63 29 3b 5c 6e n Z(a,a,c);\n
0002d8b0: 20 20 20 20 53 28 62 2c 61 29 3b 5c 6e 20 20 20 S(b,a);\n
0002d8c0: 20 5a 28 63 2c 64 2c 66 29 3b 5c 6e 20 20 20 20 Z(c,d,f);\n
0002d8d0: 4d 28 61 2c 63 2c 5f 31 32 31 36 36 35 29 3b 5c M(a,c,_121665);\
0002d8e0: 6e 20 20 20 20 41 28 61 2c 61 2c 64 29 3b 5c 6e n A(a,a,d);\n
0002d8f0: 20 20 20 20 4d 28 63 2c 63 2c 61 29 3b 5c 6e 20 M(c,c,a);\n
0002d900: 20 20 20 4d 28 61 2c 64 2c 66 29 3b 5c 6e 20 20 M(a,d,f);\n
0002d910: 20 20 4d 28 64 2c 62 2c 78 29 3b 5c 6e 20 20 20 M(d,b,x);\n
0002d920: 20 53 28 62 2c 65 29 3b 5c 6e 20 20 20 20 73 65 S(b,e);\n se
0002d930: 6c 32 35 35 31 39 28 61 2c 62 2c 72 29 3b 5c 6e l25519(a,b,r);\n
0002d940: 20 20 20 20 73 65 6c 32 35 35 31 39 28 63 2c 64 sel25519(c,d
0002d950: 2c 72 29 3b 5c 6e 20 20 7d 5c 6e 20 20 66 6f 72 ,r);\n }\n for
0002d960: 20 28 69 20 3d 20 30 3b 20 69 20 3c 20 31 36 3b (i = 0; i < 16;
0002d970: 20 69 2b 2b 29 20 7b 5c 6e 20 20 20 20 78 5b 69 i++) {\n x[i
0002d980: 2b 31 36 5d 3d 61 5b 69 5d 3b 5c 6e 20 20 20 20 +16]=a[i];\n
0002d990: 78 5b 69 2b 33 32 5d 3d 63 5b 69 5d 3b 5c 6e 20 x[i+32]=c[i];\n
0002d9a0: 20 20 20 78 5b 69 2b 34 38 5d 3d 62 5b 69 5d 3b x[i+48]=b[i];
0002d9b0: 5c 6e 20 20 20 20 78 5b 69 2b 36 34 5d 3d 64 5b \n x[i+64]=d[
0002d9c0: 69 5d 3b 5c 6e 20 20 7d 5c 6e 20 20 76 61 72 20 i];\n }\n var
0002d9d0: 78 33 32 20 3d 20 78 2e 73 75 62 61 72 72 61 79 x32 = x.subarray
0002d9e0: 28 33 32 29 3b 5c 6e 20 20 76 61 72 20 78 31 36 (32);\n var x16
0002d9f0: 20 3d 20 78 2e 73 75 62 61 72 72 61 79 28 31 36 = x.subarray(16
0002da00: 29 3b 5c 6e 20 20 69 6e 76 32 35 35 31 39 28 78 );\n inv25519(x
0002da10: 33 32 2c 78 33 32 29 3b 5c 6e 20 20 4d 28 78 31 32,x32);\n M(x1
0002da20: 36 2c 78 31 36 2c 78 33 32 29 3b 5c 6e 20 20 70 6,x16,x32);\n p
0002da30: 61 63 6b 32 35 35 31 39 28 71 2c 78 31 36 29 3b ack25519(q,x16);
0002da40: 5c 6e 20 20 72 65 74 75 72 6e 20 30 3b 5c 6e 7d \n return 0;\n}
0002da50: 5c 6e 5c 6e 66 75 6e 63 74 69 6f 6e 20 63 72 79 \n\nfunction cry
0002da60: 70 74 6f 5f 73 63 61 6c 61 72 6d 75 6c 74 5f 62 pto_scalarmult_b
0002da70: 61 73 65 28 71 2c 20 6e 29 20 7b 5c 6e 20 20 72 ase(q, n) {\n r
0002da80: 65 74 75 72 6e 20 63 72 79 70 74 6f 5f 73 63 61 eturn crypto_sca
0002da90: 6c 61 72 6d 75 6c 74 28 71 2c 20 6e 2c 20 5f 39 larmult(q, n, _9
0002daa0: 29 3b 5c 6e 7d 5c 6e 5c 6e 66 75 6e 63 74 69 6f );\n}\n\nfunctio
0002dab0: 6e 20 63 72 79 70 74 6f 5f 62 6f 78 5f 6b 65 79 n crypto_box_key
0002dac0: 70 61 69 72 28 79 2c 20 78 29 20 7b 5c 6e 20 20 pair(y, x) {\n
0002dad0: 72 61 6e 64 6f 6d 62 79 74 65 73 28 78 2c 20 33 randombytes(x, 3
0002dae0: 32 29 3b 5c 6e 20 20 72 65 74 75 72 6e 20 63 72 2);\n return cr
0002daf0: 79 70 74 6f 5f 73 63 61 6c 61 72 6d 75 6c 74 5f ypto_scalarmult_
0002db00: 62 61 73 65 28 79 2c 20 78 29 3b 5c 6e 7d 5c 6e base(y, x);\n}\n
0002db10: 5c 6e 66 75 6e 63 74 69 6f 6e 20 63 72 79 70 74 \nfunction crypt
0002db20: 6f 5f 62 6f 78 5f 62 65 66 6f 72 65 6e 6d 28 6b o_box_beforenm(k
0002db30: 2c 20 79 2c 20 78 29 20 7b 5c 6e 20 20 76 61 72 , y, x) {\n var
0002db40: 20 73 20 3d 20 6e 65 77 20 55 69 6e 74 38 41 72 s = new Uint8Ar
0002db50: 72 61 79 28 33 32 29 3b 5c 6e 20 20 63 72 79 70 ray(32);\n cryp
0002db60: 74 6f 5f 73 63 61 6c 61 72 6d 75 6c 74 28 73 2c to_scalarmult(s,
0002db70: 20 78 2c 20 79 29 3b 5c 6e 20 20 72 65 74 75 72 x, y);\n retur
0002db80: 6e 20 63 72 79 70 74 6f 5f 63 6f 72 65 5f 68 73 n crypto_core_hs
0002db90: 61 6c 73 61 32 30 28 6b 2c 20 5f 30 2c 20 73 2c alsa20(k, _0, s,
0002dba0: 20 73 69 67 6d 61 29 3b 5c 6e 7d 5c 6e 5c 6e 76 sigma);\n}\n\nv
0002dbb0: 61 72 20 63 72 79 70 74 6f 5f 62 6f 78 5f 61 66 ar crypto_box_af
0002dbc0: 74 65 72 6e 6d 20 3d 20 63 72 79 70 74 6f 5f 73 ternm = crypto_s
0002dbd0: 65 63 72 65 74 62 6f 78 3b 5c 6e 76 61 72 20 63 ecretbox;\nvar c
0002dbe0: 72 79 70 74 6f 5f 62 6f 78 5f 6f 70 65 6e 5f 61 rypto_box_open_a
0002dbf0: 66 74 65 72 6e 6d 20 3d 20 63 72 79 70 74 6f 5f fternm = crypto_
0002dc00: 73 65 63 72 65 74 62 6f 78 5f 6f 70 65 6e 3b 5c secretbox_open;\
0002dc10: 6e 5c 6e 66 75 6e 63 74 69 6f 6e 20 63 72 79 70 n\nfunction cryp
0002dc20: 74 6f 5f 62 6f 78 28 63 2c 20 6d 2c 20 64 2c 20 to_box(c, m, d,
0002dc30: 6e 2c 20 79 2c 20 78 29 20 7b 5c 6e 20 20 76 61 n, y, x) {\n va
0002dc40: 72 20 6b 20 3d 20 6e 65 77 20 55 69 6e 74 38 41 r k = new Uint8A
0002dc50: 72 72 61 79 28 33 32 29 3b 5c 6e 20 20 63 72 79 rray(32);\n cry
0002dc60: 70 74 6f 5f 62 6f 78 5f 62 65 66 6f 72 65 6e 6d pto_box_beforenm
0002dc70: 28 6b 2c 20 79 2c 20 78 29 3b 5c 6e 20 20 72 65 (k, y, x);\n re
0002dc80: 74 75 72 6e 20 63 72 79 70 74 6f 5f 62 6f 78 5f turn crypto_box_
0002dc90: 61 66 74 65 72 6e 6d 28 63 2c 20 6d 2c 20 64 2c afternm(c, m, d,
0002dca0: 20 6e 2c 20 6b 29 3b 5c 6e 7d 5c 6e 5c 6e 66 75 n, k);\n}\n\nfu
0002dcb0: 6e 63 74 69 6f 6e 20 63 72 79 70 74 6f 5f 62 6f nction crypto_bo
0002dcc0: 78 5f 6f 70 65 6e 28 6d 2c 20 63 2c 20 64 2c 20 x_open(m, c, d,
0002dcd0: 6e 2c 20 79 2c 20 78 29 20 7b 5c 6e 20 20 76 61 n, y, x) {\n va
0002dce0: 72 20 6b 20 3d 20 6e 65 77 20 55 69 6e 74 38 41 r k = new Uint8A
0002dcf0: 72 72 61 79 28 33 32 29 3b 5c 6e 20 20 63 72 79 rray(32);\n cry
0002dd00: 70 74 6f 5f 62 6f 78 5f 62 65 66 6f 72 65 6e 6d pto_box_beforenm
0002dd10: 28 6b 2c 20 79 2c 20 78 29 3b 5c 6e 20 20 72 65 (k, y, x);\n re
0002dd20: 74 75 72 6e 20 63 72 79 70 74 6f 5f 62 6f 78 5f turn crypto_box_
0002dd30: 6f 70 65 6e 5f 61 66 74 65 72 6e 6d 28 6d 2c 20 open_afternm(m,
0002dd40: 63 2c 20 64 2c 20 6e 2c 20 6b 29 3b 5c 6e 7d 5c c, d, n, k);\n}\
0002dd50: 6e 5c 6e 76 61 72 20 4b 20 3d 20 5b 5c 6e 20 20 n\nvar K = [\n
0002dd60: 30 78 34 32 38 61 32 66 39 38 2c 20 30 78 64 37 0x428a2f98, 0xd7
0002dd70: 32 38 61 65 32 32 2c 20 30 78 37 31 33 37 34 34 28ae22, 0x713744
0002dd80: 39 31 2c 20 30 78 32 33 65 66 36 35 63 64 2c 5c 91, 0x23ef65cd,\
0002dd90: 6e 20 20 30 78 62 35 63 30 66 62 63 66 2c 20 30 n 0xb5c0fbcf, 0
0002dda0: 78 65 63 34 64 33 62 32 66 2c 20 30 78 65 39 62 xec4d3b2f, 0xe9b
0002ddb0: 35 64 62 61 35 2c 20 30 78 38 31 38 39 64 62 62 5dba5, 0x8189dbb
0002ddc0: 63 2c 5c 6e 20 20 30 78 33 39 35 36 63 32 35 62 c,\n 0x3956c25b
0002ddd0: 2c 20 30 78 66 33 34 38 62 35 33 38 2c 20 30 78 , 0xf348b538, 0x
0002dde0: 35 39 66 31 31 31 66 31 2c 20 30 78 62 36 30 35 59f111f1, 0xb605
0002ddf0: 64 30 31 39 2c 5c 6e 20 20 30 78 39 32 33 66 38 d019,\n 0x923f8
0002de00: 32 61 34 2c 20 30 78 61 66 31 39 34 66 39 62 2c 2a4, 0xaf194f9b,
0002de10: 20 30 78 61 62 31 63 35 65 64 35 2c 20 30 78 64 0xab1c5ed5, 0xd
0002de20: 61 36 64 38 31 31 38 2c 5c 6e 20 20 30 78 64 38 a6d8118,\n 0xd8
0002de30: 30 37 61 61 39 38 2c 20 30 78 61 33 30 33 30 32 07aa98, 0xa30302
0002de40: 34 32 2c 20 30 78 31 32 38 33 35 62 30 31 2c 20 42, 0x12835b01,
0002de50: 30 78 34 35 37 30 36 66 62 65 2c 5c 6e 20 20 30 0x45706fbe,\n 0
0002de60: 78 32 34 33 31 38 35 62 65 2c 20 30 78 34 65 65 x243185be, 0x4ee
0002de70: 34 62 32 38 63 2c 20 30 78 35 35 30 63 37 64 63 4b28c, 0x550c7dc
0002de80: 33 2c 20 30 78 64 35 66 66 62 34 65 32 2c 5c 6e 3, 0xd5ffb4e2,\n
0002de90: 20 20 30 78 37 32 62 65 35 64 37 34 2c 20 30 78 0x72be5d74, 0x
0002dea0: 66 32 37 62 38 39 36 66 2c 20 30 78 38 30 64 65 f27b896f, 0x80de
0002deb0: 62 31 66 65 2c 20 30 78 33 62 31 36 39 36 62 31 b1fe, 0x3b1696b1
0002dec0: 2c 5c 6e 20 20 30 78 39 62 64 63 30 36 61 37 2c ,\n 0x9bdc06a7,
0002ded0: 20 30 78 32 35 63 37 31 32 33 35 2c 20 30 78 63 0x25c71235, 0xc
0002dee0: 31 39 62 66 31 37 34 2c 20 30 78 63 66 36 39 32 19bf174, 0xcf692
0002def0: 36 39 34 2c 5c 6e 20 20 30 78 65 34 39 62 36 39 694,\n 0xe49b69
0002df00: 63 31 2c 20 30 78 39 65 66 31 34 61 64 32 2c 20 c1, 0x9ef14ad2,
0002df10: 30 78 65 66 62 65 34 37 38 36 2c 20 30 78 33 38 0xefbe4786, 0x38
0002df20: 34 66 32 35 65 33 2c 5c 6e 20 20 30 78 30 66 63 4f25e3,\n 0x0fc
0002df30: 31 39 64 63 36 2c 20 30 78 38 62 38 63 64 35 62 19dc6, 0x8b8cd5b
0002df40: 35 2c 20 30 78 32 34 30 63 61 31 63 63 2c 20 30 5, 0x240ca1cc, 0
0002df50: 78 37 37 61 63 39 63 36 35 2c 5c 6e 20 20 30 78 x77ac9c65,\n 0x
0002df60: 32 64 65 39 32 63 36 66 2c 20 30 78 35 39 32 62 2de92c6f, 0x592b
0002df70: 30 32 37 35 2c 20 30 78 34 61 37 34 38 34 61 61 0275, 0x4a7484aa
0002df80: 2c 20 30 78 36 65 61 36 65 34 38 33 2c 5c 6e 20 , 0x6ea6e483,\n
0002df90: 20 30 78 35 63 62 30 61 39 64 63 2c 20 30 78 62 0x5cb0a9dc, 0xb
0002dfa0: 64 34 31 66 62 64 34 2c 20 30 78 37 36 66 39 38 d41fbd4, 0x76f98
0002dfb0: 38 64 61 2c 20 30 78 38 33 31 31 35 33 62 35 2c 8da, 0x831153b5,
0002dfc0: 5c 6e 20 20 30 78 39 38 33 65 35 31 35 32 2c 20 \n 0x983e5152,
0002dfd0: 30 78 65 65 36 36 64 66 61 62 2c 20 30 78 61 38 0xee66dfab, 0xa8
0002dfe0: 33 31 63 36 36 64 2c 20 30 78 32 64 62 34 33 32 31c66d, 0x2db432
0002dff0: 31 30 2c 5c 6e 20 20 30 78 62 30 30 33 32 37 63 10,\n 0xb00327c
0002e000: 38 2c 20 30 78 39 38 66 62 32 31 33 66 2c 20 30 8, 0x98fb213f, 0
0002e010: 78 62 66 35 39 37 66 63 37 2c 20 30 78 62 65 65 xbf597fc7, 0xbee
0002e020: 66 30 65 65 34 2c 5c 6e 20 20 30 78 63 36 65 30 f0ee4,\n 0xc6e0
0002e030: 30 62 66 33 2c 20 30 78 33 64 61 38 38 66 63 32 0bf3, 0x3da88fc2
0002e040: 2c 20 30 78 64 35 61 37 39 31 34 37 2c 20 30 78 , 0xd5a79147, 0x
0002e050: 39 33 30 61 61 37 32 35 2c 5c 6e 20 20 30 78 30 930aa725,\n 0x0
0002e060: 36 63 61 36 33 35 31 2c 20 30 78 65 30 30 33 38 6ca6351, 0xe0038
0002e070: 32 36 66 2c 20 30 78 31 34 32 39 32 39 36 37 2c 26f, 0x14292967,
0002e080: 20 30 78 30 61 30 65 36 65 37 30 2c 5c 6e 20 20 0x0a0e6e70,\n
0002e090: 30 78 32 37 62 37 30 61 38 35 2c 20 30 78 34 36 0x27b70a85, 0x46
0002e0a0: 64 32 32 66 66 63 2c 20 30 78 32 65 31 62 32 31 d22ffc, 0x2e1b21
0002e0b0: 33 38 2c 20 30 78 35 63 32 36 63 39 32 36 2c 5c 38, 0x5c26c926,\
0002e0c0: 6e 20 20 30 78 34 64 32 63 36 64 66 63 2c 20 30 n 0x4d2c6dfc, 0
0002e0d0: 78 35 61 63 34 32 61 65 64 2c 20 30 78 35 33 33 x5ac42aed, 0x533
0002e0e0: 38 30 64 31 33 2c 20 30 78 39 64 39 35 62 33 64 80d13, 0x9d95b3d
0002e0f0: 66 2c 5c 6e 20 20 30 78 36 35 30 61 37 33 35 34 f,\n 0x650a7354
0002e100: 2c 20 30 78 38 62 61 66 36 33 64 65 2c 20 30 78 , 0x8baf63de, 0x
0002e110: 37 36 36 61 30 61 62 62 2c 20 30 78 33 63 37 37 766a0abb, 0x3c77
0002e120: 62 32 61 38 2c 5c 6e 20 20 30 78 38 31 63 32 63 b2a8,\n 0x81c2c
0002e130: 39 32 65 2c 20 30 78 34 37 65 64 61 65 65 36 2c 92e, 0x47edaee6,
0002e140: 20 30 78 39 32 37 32 32 63 38 35 2c 20 30 78 31 0x92722c85, 0x1
0002e150: 34 38 32 33 35 33 62 2c 5c 6e 20 20 30 78 61 32 482353b,\n 0xa2
0002e160: 62 66 65 38 61 31 2c 20 30 78 34 63 66 31 30 33 bfe8a1, 0x4cf103
0002e170: 36 34 2c 20 30 78 61 38 31 61 36 36 34 62 2c 20 64, 0xa81a664b,
0002e180: 30 78 62 63 34 32 33 30 30 31 2c 5c 6e 20 20 30 0xbc423001,\n 0
0002e190: 78 63 32 34 62 38 62 37 30 2c 20 30 78 64 30 66 xc24b8b70, 0xd0f
0002e1a0: 38 39 37 39 31 2c 20 30 78 63 37 36 63 35 31 61 89791, 0xc76c51a
0002e1b0: 33 2c 20 30 78 30 36 35 34 62 65 33 30 2c 5c 6e 3, 0x0654be30,\n
0002e1c0: 20 20 30 78 64 31 39 32 65 38 31 39 2c 20 30 78 0xd192e819, 0x
0002e1d0: 64 36 65 66 35 32 31 38 2c 20 30 78 64 36 39 39 d6ef5218, 0xd699
0002e1e0: 30 36 32 34 2c 20 30 78 35 35 36 35 61 39 31 30 0624, 0x5565a910
0002e1f0: 2c 5c 6e 20 20 30 78 66 34 30 65 33 35 38 35 2c ,\n 0xf40e3585,
0002e200: 20 30 78 35 37 37 31 32 30 32 61 2c 20 30 78 31 0x5771202a, 0x1
0002e210: 30 36 61 61 30 37 30 2c 20 30 78 33 32 62 62 64 06aa070, 0x32bbd
0002e220: 31 62 38 2c 5c 6e 20 20 30 78 31 39 61 34 63 31 1b8,\n 0x19a4c1
0002e230: 31 36 2c 20 30 78 62 38 64 32 64 30 63 38 2c 20 16, 0xb8d2d0c8,
0002e240: 30 78 31 65 33 37 36 63 30 38 2c 20 30 78 35 31 0x1e376c08, 0x51
0002e250: 34 31 61 62 35 33 2c 5c 6e 20 20 30 78 32 37 34 41ab53,\n 0x274
0002e260: 38 37 37 34 63 2c 20 30 78 64 66 38 65 65 62 39 8774c, 0xdf8eeb9
0002e270: 39 2c 20 30 78 33 34 62 30 62 63 62 35 2c 20 30 9, 0x34b0bcb5, 0
0002e280: 78 65 31 39 62 34 38 61 38 2c 5c 6e 20 20 30 78 xe19b48a8,\n 0x
0002e290: 33 39 31 63 30 63 62 33 2c 20 30 78 63 35 63 39 391c0cb3, 0xc5c9
0002e2a0: 35 61 36 33 2c 20 30 78 34 65 64 38 61 61 34 61 5a63, 0x4ed8aa4a
0002e2b0: 2c 20 30 78 65 33 34 31 38 61 63 62 2c 5c 6e 20 , 0xe3418acb,\n
0002e2c0: 20 30 78 35 62 39 63 63 61 34 66 2c 20 30 78 37 0x5b9cca4f, 0x7
0002e2d0: 37 36 33 65 33 37 33 2c 20 30 78 36 38 32 65 36 763e373, 0x682e6
0002e2e0: 66 66 33 2c 20 30 78 64 36 62 32 62 38 61 33 2c ff3, 0xd6b2b8a3,
0002e2f0: 5c 6e 20 20 30 78 37 34 38 66 38 32 65 65 2c 20 \n 0x748f82ee,
0002e300: 30 78 35 64 65 66 62 32 66 63 2c 20 30 78 37 38 0x5defb2fc, 0x78
0002e310: 61 35 36 33 36 66 2c 20 30 78 34 33 31 37 32 66 a5636f, 0x43172f
0002e320: 36 30 2c 5c 6e 20 20 30 78 38 34 63 38 37 38 31 60,\n 0x84c8781
0002e330: 34 2c 20 30 78 61 31 66 30 61 62 37 32 2c 20 30 4, 0xa1f0ab72, 0
0002e340: 78 38 63 63 37 30 32 30 38 2c 20 30 78 31 61 36 x8cc70208, 0x1a6
0002e350: 34 33 39 65 63 2c 5c 6e 20 20 30 78 39 30 62 65 439ec,\n 0x90be
0002e360: 66 66 66 61 2c 20 30 78 32 33 36 33 31 65 32 38 fffa, 0x23631e28
0002e370: 2c 20 30 78 61 34 35 30 36 63 65 62 2c 20 30 78 , 0xa4506ceb, 0x
0002e380: 64 65 38 32 62 64 65 39 2c 5c 6e 20 20 30 78 62 de82bde9,\n 0xb
0002e390: 65 66 39 61 33 66 37 2c 20 30 78 62 32 63 36 37 ef9a3f7, 0xb2c67
0002e3a0: 39 31 35 2c 20 30 78 63 36 37 31 37 38 66 32 2c 915, 0xc67178f2,
0002e3b0: 20 30 78 65 33 37 32 35 33 32 62 2c 5c 6e 20 20 0xe372532b,\n
0002e3c0: 30 78 63 61 32 37 33 65 63 65 2c 20 30 78 65 61 0xca273ece, 0xea
0002e3d0: 32 36 36 31 39 63 2c 20 30 78 64 31 38 36 62 38 26619c, 0xd186b8
0002e3e0: 63 37 2c 20 30 78 32 31 63 30 63 32 30 37 2c 5c c7, 0x21c0c207,\
0002e3f0: 6e 20 20 30 78 65 61 64 61 37 64 64 36 2c 20 30 n 0xeada7dd6, 0
0002e400: 78 63 64 65 30 65 62 31 65 2c 20 30 78 66 35 37 xcde0eb1e, 0xf57
0002e410: 64 34 66 37 66 2c 20 30 78 65 65 36 65 64 31 37 d4f7f, 0xee6ed17
0002e420: 38 2c 5c 6e 20 20 30 78 30 36 66 30 36 37 61 61 8,\n 0x06f067aa
0002e430: 2c 20 30 78 37 32 31 37 36 66 62 61 2c 20 30 78 , 0x72176fba, 0x
0002e440: 30 61 36 33 37 64 63 35 2c 20 30 78 61 32 63 38 0a637dc5, 0xa2c8
0002e450: 39 38 61 36 2c 5c 6e 20 20 30 78 31 31 33 66 39 98a6,\n 0x113f9
0002e460: 38 30 34 2c 20 30 78 62 65 66 39 30 64 61 65 2c 804, 0xbef90dae,
0002e470: 20 30 78 31 62 37 31 30 62 33 35 2c 20 30 78 31 0x1b710b35, 0x1
0002e480: 33 31 63 34 37 31 62 2c 5c 6e 20 20 30 78 32 38 31c471b,\n 0x28
0002e490: 64 62 37 37 66 35 2c 20 30 78 32 33 30 34 37 64 db77f5, 0x23047d
0002e4a0: 38 34 2c 20 30 78 33 32 63 61 61 62 37 62 2c 20 84, 0x32caab7b,
0002e4b0: 30 78 34 30 63 37 32 34 39 33 2c 5c 6e 20 20 30 0x40c72493,\n 0
0002e4c0: 78 33 63 39 65 62 65 30 61 2c 20 30 78 31 35 63 x3c9ebe0a, 0x15c
0002e4d0: 39 62 65 62 63 2c 20 30 78 34 33 31 64 36 37 63 9bebc, 0x431d67c
0002e4e0: 34 2c 20 30 78 39 63 31 30 30 64 34 63 2c 5c 6e 4, 0x9c100d4c,\n
0002e4f0: 20 20 30 78 34 63 63 35 64 34 62 65 2c 20 30 78 0x4cc5d4be, 0x
0002e500: 63 62 33 65 34 32 62 36 2c 20 30 78 35 39 37 66 cb3e42b6, 0x597f
0002e510: 32 39 39 63 2c 20 30 78 66 63 36 35 37 65 32 61 299c, 0xfc657e2a
0002e520: 2c 5c 6e 20 20 30 78 35 66 63 62 36 66 61 62 2c ,\n 0x5fcb6fab,
0002e530: 20 30 78 33 61 64 36 66 61 65 63 2c 20 30 78 36 0x3ad6faec, 0x6
0002e540: 63 34 34 31 39 38 63 2c 20 30 78 34 61 34 37 35 c44198c, 0x4a475
0002e550: 38 31 37 5c 6e 5d 3b 5c 6e 5c 6e 66 75 6e 63 74 817\n];\n\nfunct
0002e560: 69 6f 6e 20 63 72 79 70 74 6f 5f 68 61 73 68 62 ion crypto_hashb
0002e570: 6c 6f 63 6b 73 5f 68 6c 28 68 68 2c 20 68 6c 2c locks_hl(hh, hl,
0002e580: 20 6d 2c 20 6e 29 20 7b 5c 6e 20 20 76 61 72 20 m, n) {\n var
0002e590: 77 68 20 3d 20 6e 65 77 20 49 6e 74 33 32 41 72 wh = new Int32Ar
0002e5a0: 72 61 79 28 31 36 29 2c 20 77 6c 20 3d 20 6e 65 ray(16), wl = ne
0002e5b0: 77 20 49 6e 74 33 32 41 72 72 61 79 28 31 36 29 w Int32Array(16)
0002e5c0: 2c 5c 6e 20 20 20 20 20 20 62 68 30 2c 20 62 68 ,\n bh0, bh
0002e5d0: 31 2c 20 62 68 32 2c 20 62 68 33 2c 20 62 68 34 1, bh2, bh3, bh4
0002e5e0: 2c 20 62 68 35 2c 20 62 68 36 2c 20 62 68 37 2c , bh5, bh6, bh7,
0002e5f0: 5c 6e 20 20 20 20 20 20 62 6c 30 2c 20 62 6c 31 \n bl0, bl1
0002e600: 2c 20 62 6c 32 2c 20 62 6c 33 2c 20 62 6c 34 2c , bl2, bl3, bl4,
0002e610: 20 62 6c 35 2c 20 62 6c 36 2c 20 62 6c 37 2c 5c bl5, bl6, bl7,\
0002e620: 6e 20 20 20 20 20 20 74 68 2c 20 74 6c 2c 20 69 n th, tl, i
0002e630: 2c 20 6a 2c 20 68 2c 20 6c 2c 20 61 2c 20 62 2c , j, h, l, a, b,
0002e640: 20 63 2c 20 64 3b 5c 6e 5c 6e 20 20 76 61 72 20 c, d;\n\n var
0002e650: 61 68 30 20 3d 20 68 68 5b 30 5d 2c 5c 6e 20 20 ah0 = hh[0],\n
0002e660: 20 20 20 20 61 68 31 20 3d 20 68 68 5b 31 5d 2c ah1 = hh[1],
0002e670: 5c 6e 20 20 20 20 20 20 61 68 32 20 3d 20 68 68 \n ah2 = hh
0002e680: 5b 32 5d 2c 5c 6e 20 20 20 20 20 20 61 68 33 20 [2],\n ah3
0002e690: 3d 20 68 68 5b 33 5d 2c 5c 6e 20 20 20 20 20 20 = hh[3],\n
0002e6a0: 61 68 34 20 3d 20 68 68 5b 34 5d 2c 5c 6e 20 20 ah4 = hh[4],\n
0002e6b0: 20 20 20 20 61 68 35 20 3d 20 68 68 5b 35 5d 2c ah5 = hh[5],
0002e6c0: 5c 6e 20 20 20 20 20 20 61 68 36 20 3d 20 68 68 \n ah6 = hh
0002e6d0: 5b 36 5d 2c 5c 6e 20 20 20 20 20 20 61 68 37 20 [6],\n ah7
0002e6e0: 3d 20 68 68 5b 37 5d 2c 5c 6e 5c 6e 20 20 20 20 = hh[7],\n\n
0002e6f0: 20 20 61 6c 30 20 3d 20 68 6c 5b 30 5d 2c 5c 6e al0 = hl[0],\n
0002e700: 20 20 20 20 20 20 61 6c 31 20 3d 20 68 6c 5b 31 al1 = hl[1
0002e710: 5d 2c 5c 6e 20 20 20 20 20 20 61 6c 32 20 3d 20 ],\n al2 =
0002e720: 68 6c 5b 32 5d 2c 5c 6e 20 20 20 20 20 20 61 6c hl[2],\n al
0002e730: 33 20 3d 20 68 6c 5b 33 5d 2c 5c 6e 20 20 20 20 3 = hl[3],\n
0002e740: 20 20 61 6c 34 20 3d 20 68 6c 5b 34 5d 2c 5c 6e al4 = hl[4],\n
0002e750: 20 20 20 20 20 20 61 6c 35 20 3d 20 68 6c 5b 35 al5 = hl[5
0002e760: 5d 2c 5c 6e 20 20 20 20 20 20 61 6c 36 20 3d 20 ],\n al6 =
0002e770: 68 6c 5b 36 5d 2c 5c 6e 20 20 20 20 20 20 61 6c hl[6],\n al
0002e780: 37 20 3d 20 68 6c 5b 37 5d 3b 5c 6e 5c 6e 20 20 7 = hl[7];\n\n
0002e790: 76 61 72 20 70 6f 73 20 3d 20 30 3b 5c 6e 20 20 var pos = 0;\n
0002e7a0: 77 68 69 6c 65 20 28 6e 20 3e 3d 20 31 32 38 29 while (n >= 128)
0002e7b0: 20 7b 5c 6e 20 20 20 20 66 6f 72 20 28 69 20 3d {\n for (i =
0002e7c0: 20 30 3b 20 69 20 3c 20 31 36 3b 20 69 2b 2b 29 0; i < 16; i++)
0002e7d0: 20 7b 5c 6e 20 20 20 20 20 20 6a 20 3d 20 38 20 {\n j = 8
0002e7e0: 2a 20 69 20 2b 20 70 6f 73 3b 5c 6e 20 20 20 20 * i + pos;\n
0002e7f0: 20 20 77 68 5b 69 5d 20 3d 20 28 6d 5b 6a 2b 30 wh[i] = (m[j+0
0002e800: 5d 20 3c 3c 20 32 34 29 20 7c 20 28 6d 5b 6a 2b ] << 24) | (m[j+
0002e810: 31 5d 20 3c 3c 20 31 36 29 20 7c 20 28 6d 5b 6a 1] << 16) | (m[j
0002e820: 2b 32 5d 20 3c 3c 20 38 29 20 7c 20 6d 5b 6a 2b +2] << 8) | m[j+
0002e830: 33 5d 3b 5c 6e 20 20 20 20 20 20 77 6c 5b 69 5d 3];\n wl[i]
0002e840: 20 3d 20 28 6d 5b 6a 2b 34 5d 20 3c 3c 20 32 34 = (m[j+4] << 24
0002e850: 29 20 7c 20 28 6d 5b 6a 2b 35 5d 20 3c 3c 20 31 ) | (m[j+5] << 1
0002e860: 36 29 20 7c 20 28 6d 5b 6a 2b 36 5d 20 3c 3c 20 6) | (m[j+6] <<
0002e870: 38 29 20 7c 20 6d 5b 6a 2b 37 5d 3b 5c 6e 20 20 8) | m[j+7];\n
0002e880: 20 20 7d 5c 6e 20 20 20 20 66 6f 72 20 28 69 20 }\n for (i
0002e890: 3d 20 30 3b 20 69 20 3c 20 38 30 3b 20 69 2b 2b = 0; i < 80; i++
0002e8a0: 29 20 7b 5c 6e 20 20 20 20 20 20 62 68 30 20 3d ) {\n bh0 =
0002e8b0: 20 61 68 30 3b 5c 6e 20 20 20 20 20 20 62 68 31 ah0;\n bh1
0002e8c0: 20 3d 20 61 68 31 3b 5c 6e 20 20 20 20 20 20 62 = ah1;\n b
0002e8d0: 68 32 20 3d 20 61 68 32 3b 5c 6e 20 20 20 20 20 h2 = ah2;\n
0002e8e0: 20 62 68 33 20 3d 20 61 68 33 3b 5c 6e 20 20 20 bh3 = ah3;\n
0002e8f0: 20 20 20 62 68 34 20 3d 20 61 68 34 3b 5c 6e 20 bh4 = ah4;\n
0002e900: 20 20 20 20 20 62 68 35 20 3d 20 61 68 35 3b 5c bh5 = ah5;\
0002e910: 6e 20 20 20 20 20 20 62 68 36 20 3d 20 61 68 36 n bh6 = ah6
0002e920: 3b 5c 6e 20 20 20 20 20 20 62 68 37 20 3d 20 61 ;\n bh7 = a
0002e930: 68 37 3b 5c 6e 5c 6e 20 20 20 20 20 20 62 6c 30 h7;\n\n bl0
0002e940: 20 3d 20 61 6c 30 3b 5c 6e 20 20 20 20 20 20 62 = al0;\n b
0002e950: 6c 31 20 3d 20 61 6c 31 3b 5c 6e 20 20 20 20 20 l1 = al1;\n
0002e960: 20 62 6c 32 20 3d 20 61 6c 32 3b 5c 6e 20 20 20 bl2 = al2;\n
0002e970: 20 20 20 62 6c 33 20 3d 20 61 6c 33 3b 5c 6e 20 bl3 = al3;\n
0002e980: 20 20 20 20 20 62 6c 34 20 3d 20 61 6c 34 3b 5c bl4 = al4;\
0002e990: 6e 20 20 20 20 20 20 62 6c 35 20 3d 20 61 6c 35 n bl5 = al5
0002e9a0: 3b 5c 6e 20 20 20 20 20 20 62 6c 36 20 3d 20 61 ;\n bl6 = a
0002e9b0: 6c 36 3b 5c 6e 20 20 20 20 20 20 62 6c 37 20 3d l6;\n bl7 =
0002e9c0: 20 61 6c 37 3b 5c 6e 5c 6e 20 20 20 20 20 20 2f al7;\n\n /
0002e9d0: 2f 20 61 64 64 5c 6e 20 20 20 20 20 20 68 20 3d / add\n h =
0002e9e0: 20 61 68 37 3b 5c 6e 20 20 20 20 20 20 6c 20 3d ah7;\n l =
0002e9f0: 20 61 6c 37 3b 5c 6e 5c 6e 20 20 20 20 20 20 61 al7;\n\n a
0002ea00: 20 3d 20 6c 20 26 20 30 78 66 66 66 66 3b 20 62 = l & 0xffff; b
0002ea10: 20 3d 20 6c 20 3e 3e 3e 20 31 36 3b 5c 6e 20 20 = l >>> 16;\n
0002ea20: 20 20 20 20 63 20 3d 20 68 20 26 20 30 78 66 66 c = h & 0xff
0002ea30: 66 66 3b 20 64 20 3d 20 68 20 3e 3e 3e 20 31 36 ff; d = h >>> 16
0002ea40: 3b 5c 6e 5c 6e 20 20 20 20 20 20 2f 2f 20 53 69 ;\n\n // Si
0002ea50: 67 6d 61 31 5c 6e 20 20 20 20 20 20 68 20 3d 20 gma1\n h =
0002ea60: 28 28 61 68 34 20 3e 3e 3e 20 31 34 29 20 7c 20 ((ah4 >>> 14) |
0002ea70: 28 61 6c 34 20 3c 3c 20 28 33 32 2d 31 34 29 29 (al4 << (32-14))
0002ea80: 29 20 5e 20 28 28 61 68 34 20 3e 3e 3e 20 31 38 ) ^ ((ah4 >>> 18
0002ea90: 29 20 7c 20 28 61 6c 34 20 3c 3c 20 28 33 32 2d ) | (al4 << (32-
0002eaa0: 31 38 29 29 29 20 5e 20 28 28 61 6c 34 20 3e 3e 18))) ^ ((al4 >>
0002eab0: 3e 20 28 34 31 2d 33 32 29 29 20 7c 20 28 61 68 > (41-32)) | (ah
0002eac0: 34 20 3c 3c 20 28 33 32 2d 28 34 31 2d 33 32 29 4 << (32-(41-32)
0002ead0: 29 29 29 3b 5c 6e 20 20 20 20 20 20 6c 20 3d 20 )));\n l =
0002eae0: 28 28 61 6c 34 20 3e 3e 3e 20 31 34 29 20 7c 20 ((al4 >>> 14) |
0002eaf0: 28 61 68 34 20 3c 3c 20 28 33 32 2d 31 34 29 29 (ah4 << (32-14))
0002eb00: 29 20 5e 20 28 28 61 6c 34 20 3e 3e 3e 20 31 38 ) ^ ((al4 >>> 18
0002eb10: 29 20 7c 20 28 61 68 34 20 3c 3c 20 28 33 32 2d ) | (ah4 << (32-
0002eb20: 31 38 29 29 29 20 5e 20 28 28 61 68 34 20 3e 3e 18))) ^ ((ah4 >>
0002eb30: 3e 20 28 34 31 2d 33 32 29 29 20 7c 20 28 61 6c > (41-32)) | (al
0002eb40: 34 20 3c 3c 20 28 33 32 2d 28 34 31 2d 33 32 29 4 << (32-(41-32)
0002eb50: 29 29 29 3b 5c 6e 5c 6e 20 20 20 20 20 20 61 20 )));\n\n a
0002eb60: 2b 3d 20 6c 20 26 20 30 78 66 66 66 66 3b 20 62 += l & 0xffff; b
0002eb70: 20 2b 3d 20 6c 20 3e 3e 3e 20 31 36 3b 5c 6e 20 += l >>> 16;\n
0002eb80: 20 20 20 20 20 63 20 2b 3d 20 68 20 26 20 30 78 c += h & 0x
0002eb90: 66 66 66 66 3b 20 64 20 2b 3d 20 68 20 3e 3e 3e ffff; d += h >>>
0002eba0: 20 31 36 3b 5c 6e 5c 6e 20 20 20 20 20 20 2f 2f 16;\n\n //
0002ebb0: 20 43 68 5c 6e 20 20 20 20 20 20 68 20 3d 20 28 Ch\n h = (
0002ebc0: 61 68 34 20 26 20 61 68 35 29 20 5e 20 28 7e 61 ah4 & ah5) ^ (~a
0002ebd0: 68 34 20 26 20 61 68 36 29 3b 5c 6e 20 20 20 20 h4 & ah6);\n
0002ebe0: 20 20 6c 20 3d 20 28 61 6c 34 20 26 20 61 6c 35 l = (al4 & al5
0002ebf0: 29 20 5e 20 28 7e 61 6c 34 20 26 20 61 6c 36 29 ) ^ (~al4 & al6)
0002ec00: 3b 5c 6e 5c 6e 20 20 20 20 20 20 61 20 2b 3d 20 ;\n\n a +=
0002ec10: 6c 20 26 20 30 78 66 66 66 66 3b 20 62 20 2b 3d l & 0xffff; b +=
0002ec20: 20 6c 20 3e 3e 3e 20 31 36 3b 5c 6e 20 20 20 20 l >>> 16;\n
0002ec30: 20 20 63 20 2b 3d 20 68 20 26 20 30 78 66 66 66 c += h & 0xfff
0002ec40: 66 3b 20 64 20 2b 3d 20 68 20 3e 3e 3e 20 31 36 f; d += h >>> 16
0002ec50: 3b 5c 6e 5c 6e 20 20 20 20 20 20 2f 2f 20 4b 5c ;\n\n // K\
0002ec60: 6e 20 20 20 20 20 20 68 20 3d 20 4b 5b 69 2a 32 n h = K[i*2
0002ec70: 5d 3b 5c 6e 20 20 20 20 20 20 6c 20 3d 20 4b 5b ];\n l = K[
0002ec80: 69 2a 32 2b 31 5d 3b 5c 6e 5c 6e 20 20 20 20 20 i*2+1];\n\n
0002ec90: 20 61 20 2b 3d 20 6c 20 26 20 30 78 66 66 66 66 a += l & 0xffff
0002eca0: 3b 20 62 20 2b 3d 20 6c 20 3e 3e 3e 20 31 36 3b ; b += l >>> 16;
0002ecb0: 5c 6e 20 20 20 20 20 20 63 20 2b 3d 20 68 20 26 \n c += h &
0002ecc0: 20 30 78 66 66 66 66 3b 20 64 20 2b 3d 20 68 20 0xffff; d += h
0002ecd0: 3e 3e 3e 20 31 36 3b 5c 6e 5c 6e 20 20 20 20 20 >>> 16;\n\n
0002ece0: 20 2f 2f 20 77 5c 6e 20 20 20 20 20 20 68 20 3d // w\n h =
0002ecf0: 20 77 68 5b 69 25 31 36 5d 3b 5c 6e 20 20 20 20 wh[i%16];\n
0002ed00: 20 20 6c 20 3d 20 77 6c 5b 69 25 31 36 5d 3b 5c l = wl[i%16];\
0002ed10: 6e 5c 6e 20 20 20 20 20 20 61 20 2b 3d 20 6c 20 n\n a += l
0002ed20: 26 20 30 78 66 66 66 66 3b 20 62 20 2b 3d 20 6c & 0xffff; b += l
0002ed30: 20 3e 3e 3e 20 31 36 3b 5c 6e 20 20 20 20 20 20 >>> 16;\n
0002ed40: 63 20 2b 3d 20 68 20 26 20 30 78 66 66 66 66 3b c += h & 0xffff;
0002ed50: 20 64 20 2b 3d 20 68 20 3e 3e 3e 20 31 36 3b 5c d += h >>> 16;\
0002ed60: 6e 5c 6e 20 20 20 20 20 20 62 20 2b 3d 20 61 20 n\n b += a
0002ed70: 3e 3e 3e 20 31 36 3b 5c 6e 20 20 20 20 20 20 63 >>> 16;\n c
0002ed80: 20 2b 3d 20 62 20 3e 3e 3e 20 31 36 3b 5c 6e 20 += b >>> 16;\n
0002ed90: 20 20 20 20 20 64 20 2b 3d 20 63 20 3e 3e 3e 20 d += c >>>
0002eda0: 31 36 3b 5c 6e 5c 6e 20 20 20 20 20 20 74 68 20 16;\n\n th
0002edb0: 3d 20 63 20 26 20 30 78 66 66 66 66 20 7c 20 64 = c & 0xffff | d
0002edc0: 20 3c 3c 20 31 36 3b 5c 6e 20 20 20 20 20 20 74 << 16;\n t
0002edd0: 6c 20 3d 20 61 20 26 20 30 78 66 66 66 66 20 7c l = a & 0xffff |
0002ede0: 20 62 20 3c 3c 20 31 36 3b 5c 6e 5c 6e 20 20 20 b << 16;\n\n
0002edf0: 20 20 20 2f 2f 20 61 64 64 5c 6e 20 20 20 20 20 // add\n
0002ee00: 20 68 20 3d 20 74 68 3b 5c 6e 20 20 20 20 20 20 h = th;\n
0002ee10: 6c 20 3d 20 74 6c 3b 5c 6e 5c 6e 20 20 20 20 20 l = tl;\n\n
0002ee20: 20 61 20 3d 20 6c 20 26 20 30 78 66 66 66 66 3b a = l & 0xffff;
0002ee30: 20 62 20 3d 20 6c 20 3e 3e 3e 20 31 36 3b 5c 6e b = l >>> 16;\n
0002ee40: 20 20 20 20 20 20 63 20 3d 20 68 20 26 20 30 78 c = h & 0x
0002ee50: 66 66 66 66 3b 20 64 20 3d 20 68 20 3e 3e 3e 20 ffff; d = h >>>
0002ee60: 31 36 3b 5c 6e 5c 6e 20 20 20 20 20 20 2f 2f 20 16;\n\n //
0002ee70: 53 69 67 6d 61 30 5c 6e 20 20 20 20 20 20 68 20 Sigma0\n h
0002ee80: 3d 20 28 28 61 68 30 20 3e 3e 3e 20 32 38 29 20 = ((ah0 >>> 28)
0002ee90: 7c 20 28 61 6c 30 20 3c 3c 20 28 33 32 2d 32 38 | (al0 << (32-28
0002eea0: 29 29 29 20 5e 20 28 28 61 6c 30 20 3e 3e 3e 20 ))) ^ ((al0 >>>
0002eeb0: 28 33 34 2d 33 32 29 29 20 7c 20 28 61 68 30 20 (34-32)) | (ah0
0002eec0: 3c 3c 20 28 33 32 2d 28 33 34 2d 33 32 29 29 29 << (32-(34-32)))
0002eed0: 29 20 5e 20 28 28 61 6c 30 20 3e 3e 3e 20 28 33 ) ^ ((al0 >>> (3
0002eee0: 39 2d 33 32 29 29 20 7c 20 28 61 68 30 20 3c 3c 9-32)) | (ah0 <<
0002eef0: 20 28 33 32 2d 28 33 39 2d 33 32 29 29 29 29 3b (32-(39-32))));
0002ef00: 5c 6e 20 20 20 20 20 20 6c 20 3d 20 28 28 61 6c \n l = ((al
0002ef10: 30 20 3e 3e 3e 20 32 38 29 20 7c 20 28 61 68 30 0 >>> 28) | (ah0
0002ef20: 20 3c 3c 20 28 33 32 2d 32 38 29 29 29 20 5e 20 << (32-28))) ^
0002ef30: 28 28 61 68 30 20 3e 3e 3e 20 28 33 34 2d 33 32 ((ah0 >>> (34-32
0002ef40: 29 29 20 7c 20 28 61 6c 30 20 3c 3c 20 28 33 32 )) | (al0 << (32
0002ef50: 2d 28 33 34 2d 33 32 29 29 29 29 20 5e 20 28 28 -(34-32)))) ^ ((
0002ef60: 61 68 30 20 3e 3e 3e 20 28 33 39 2d 33 32 29 29 ah0 >>> (39-32))
0002ef70: 20 7c 20 28 61 6c 30 20 3c 3c 20 28 33 32 2d 28 | (al0 << (32-(
0002ef80: 33 39 2d 33 32 29 29 29 29 3b 5c 6e 5c 6e 20 20 39-32))));\n\n
0002ef90: 20 20 20 20 61 20 2b 3d 20 6c 20 26 20 30 78 66 a += l & 0xf
0002efa0: 66 66 66 3b 20 62 20 2b 3d 20 6c 20 3e 3e 3e 20 fff; b += l >>>
0002efb0: 31 36 3b 5c 6e 20 20 20 20 20 20 63 20 2b 3d 20 16;\n c +=
0002efc0: 68 20 26 20 30 78 66 66 66 66 3b 20 64 20 2b 3d h & 0xffff; d +=
0002efd0: 20 68 20 3e 3e 3e 20 31 36 3b 5c 6e 5c 6e 20 20 h >>> 16;\n\n
0002efe0: 20 20 20 20 2f 2f 20 4d 61 6a 5c 6e 20 20 20 20 // Maj\n
0002eff0: 20 20 68 20 3d 20 28 61 68 30 20 26 20 61 68 31 h = (ah0 & ah1
0002f000: 29 20 5e 20 28 61 68 30 20 26 20 61 68 32 29 20 ) ^ (ah0 & ah2)
0002f010: 5e 20 28 61 68 31 20 26 20 61 68 32 29 3b 5c 6e ^ (ah1 & ah2);\n
0002f020: 20 20 20 20 20 20 6c 20 3d 20 28 61 6c 30 20 26 l = (al0 &
0002f030: 20 61 6c 31 29 20 5e 20 28 61 6c 30 20 26 20 61 al1) ^ (al0 & a
0002f040: 6c 32 29 20 5e 20 28 61 6c 31 20 26 20 61 6c 32 l2) ^ (al1 & al2
0002f050: 29 3b 5c 6e 5c 6e 20 20 20 20 20 20 61 20 2b 3d );\n\n a +=
0002f060: 20 6c 20 26 20 30 78 66 66 66 66 3b 20 62 20 2b l & 0xffff; b +
0002f070: 3d 20 6c 20 3e 3e 3e 20 31 36 3b 5c 6e 20 20 20 = l >>> 16;\n
0002f080: 20 20 20 63 20 2b 3d 20 68 20 26 20 30 78 66 66 c += h & 0xff
0002f090: 66 66 3b 20 64 20 2b 3d 20 68 20 3e 3e 3e 20 31 ff; d += h >>> 1
0002f0a0: 36 3b 5c 6e 5c 6e 20 20 20 20 20 20 62 20 2b 3d 6;\n\n b +=
0002f0b0: 20 61 20 3e 3e 3e 20 31 36 3b 5c 6e 20 20 20 20 a >>> 16;\n
0002f0c0: 20 20 63 20 2b 3d 20 62 20 3e 3e 3e 20 31 36 3b c += b >>> 16;
0002f0d0: 5c 6e 20 20 20 20 20 20 64 20 2b 3d 20 63 20 3e \n d += c >
0002f0e0: 3e 3e 20 31 36 3b 5c 6e 5c 6e 20 20 20 20 20 20 >> 16;\n\n
0002f0f0: 62 68 37 20 3d 20 28 63 20 26 20 30 78 66 66 66 bh7 = (c & 0xfff
0002f100: 66 29 20 7c 20 28 64 20 3c 3c 20 31 36 29 3b 5c f) | (d << 16);\
0002f110: 6e 20 20 20 20 20 20 62 6c 37 20 3d 20 28 61 20 n bl7 = (a
0002f120: 26 20 30 78 66 66 66 66 29 20 7c 20 28 62 20 3c & 0xffff) | (b <
0002f130: 3c 20 31 36 29 3b 5c 6e 5c 6e 20 20 20 20 20 20 < 16);\n\n
0002f140: 2f 2f 20 61 64 64 5c 6e 20 20 20 20 20 20 68 20 // add\n h
0002f150: 3d 20 62 68 33 3b 5c 6e 20 20 20 20 20 20 6c 20 = bh3;\n l
0002f160: 3d 20 62 6c 33 3b 5c 6e 5c 6e 20 20 20 20 20 20 = bl3;\n\n
0002f170: 61 20 3d 20 6c 20 26 20 30 78 66 66 66 66 3b 20 a = l & 0xffff;
0002f180: 62 20 3d 20 6c 20 3e 3e 3e 20 31 36 3b 5c 6e 20 b = l >>> 16;\n
0002f190: 20 20 20 20 20 63 20 3d 20 68 20 26 20 30 78 66 c = h & 0xf
0002f1a0: 66 66 66 3b 20 64 20 3d 20 68 20 3e 3e 3e 20 31 fff; d = h >>> 1
0002f1b0: 36 3b 5c 6e 5c 6e 20 20 20 20 20 20 68 20 3d 20 6;\n\n h =
0002f1c0: 74 68 3b 5c 6e 20 20 20 20 20 20 6c 20 3d 20 74 th;\n l = t
0002f1d0: 6c 3b 5c 6e 5c 6e 20 20 20 20 20 20 61 20 2b 3d l;\n\n a +=
0002f1e0: 20 6c 20 26 20 30 78 66 66 66 66 3b 20 62 20 2b l & 0xffff; b +
0002f1f0: 3d 20 6c 20 3e 3e 3e 20 31 36 3b 5c 6e 20 20 20 = l >>> 16;\n
0002f200: 20 20 20 63 20 2b 3d 20 68 20 26 20 30 78 66 66 c += h & 0xff
0002f210: 66 66 3b 20 64 20 2b 3d 20 68 20 3e 3e 3e 20 31 ff; d += h >>> 1
0002f220: 36 3b 5c 6e 5c 6e 20 20 20 20 20 20 62 20 2b 3d 6;\n\n b +=
0002f230: 20 61 20 3e 3e 3e 20 31 36 3b 5c 6e 20 20 20 20 a >>> 16;\n
0002f240: 20 20 63 20 2b 3d 20 62 20 3e 3e 3e 20 31 36 3b c += b >>> 16;
0002f250: 5c 6e 20 20 20 20 20 20 64 20 2b 3d 20 63 20 3e \n d += c >
0002f260: 3e 3e 20 31 36 3b 5c 6e 5c 6e 20 20 20 20 20 20 >> 16;\n\n
0002f270: 62 68 33 20 3d 20 28 63 20 26 20 30 78 66 66 66 bh3 = (c & 0xfff
0002f280: 66 29 20 7c 20 28 64 20 3c 3c 20 31 36 29 3b 5c f) | (d << 16);\
0002f290: 6e 20 20 20 20 20 20 62 6c 33 20 3d 20 28 61 20 n bl3 = (a
0002f2a0: 26 20 30 78 66 66 66 66 29 20 7c 20 28 62 20 3c & 0xffff) | (b <
0002f2b0: 3c 20 31 36 29 3b 5c 6e 5c 6e 20 20 20 20 20 20 < 16);\n\n
0002f2c0: 61 68 31 20 3d 20 62 68 30 3b 5c 6e 20 20 20 20 ah1 = bh0;\n
0002f2d0: 20 20 61 68 32 20 3d 20 62 68 31 3b 5c 6e 20 20 ah2 = bh1;\n
0002f2e0: 20 20 20 20 61 68 33 20 3d 20 62 68 32 3b 5c 6e ah3 = bh2;\n
0002f2f0: 20 20 20 20 20 20 61 68 34 20 3d 20 62 68 33 3b ah4 = bh3;
0002f300: 5c 6e 20 20 20 20 20 20 61 68 35 20 3d 20 62 68 \n ah5 = bh
0002f310: 34 3b 5c 6e 20 20 20 20 20 20 61 68 36 20 3d 20 4;\n ah6 =
0002f320: 62 68 35 3b 5c 6e 20 20 20 20 20 20 61 68 37 20 bh5;\n ah7
0002f330: 3d 20 62 68 36 3b 5c 6e 20 20 20 20 20 20 61 68 = bh6;\n ah
0002f340: 30 20 3d 20 62 68 37 3b 5c 6e 5c 6e 20 20 20 20 0 = bh7;\n\n
0002f350: 20 20 61 6c 31 20 3d 20 62 6c 30 3b 5c 6e 20 20 al1 = bl0;\n
0002f360: 20 20 20 20 61 6c 32 20 3d 20 62 6c 31 3b 5c 6e al2 = bl1;\n
0002f370: 20 20 20 20 20 20 61 6c 33 20 3d 20 62 6c 32 3b al3 = bl2;
0002f380: 5c 6e 20 20 20 20 20 20 61 6c 34 20 3d 20 62 6c \n al4 = bl
0002f390: 33 3b 5c 6e 20 20 20 20 20 20 61 6c 35 20 3d 20 3;\n al5 =
0002f3a0: 62 6c 34 3b 5c 6e 20 20 20 20 20 20 61 6c 36 20 bl4;\n al6
0002f3b0: 3d 20 62 6c 35 3b 5c 6e 20 20 20 20 20 20 61 6c = bl5;\n al
0002f3c0: 37 20 3d 20 62 6c 36 3b 5c 6e 20 20 20 20 20 20 7 = bl6;\n
0002f3d0: 61 6c 30 20 3d 20 62 6c 37 3b 5c 6e 5c 6e 20 20 al0 = bl7;\n\n
0002f3e0: 20 20 20 20 69 66 20 28 69 25 31 36 20 3d 3d 3d if (i%16 ===
0002f3f0: 20 31 35 29 20 7b 5c 6e 20 20 20 20 20 20 20 20 15) {\n
0002f400: 66 6f 72 20 28 6a 20 3d 20 30 3b 20 6a 20 3c 20 for (j = 0; j <
0002f410: 31 36 3b 20 6a 2b 2b 29 20 7b 5c 6e 20 20 20 20 16; j++) {\n
0002f420: 20 20 20 20 20 20 2f 2f 20 61 64 64 5c 6e 20 20 // add\n
0002f430: 20 20 20 20 20 20 20 20 68 20 3d 20 77 68 5b 6a h = wh[j
0002f440: 5d 3b 5c 6e 20 20 20 20 20 20 20 20 20 20 6c 20 ];\n l
0002f450: 3d 20 77 6c 5b 6a 5d 3b 5c 6e 5c 6e 20 20 20 20 = wl[j];\n\n
0002f460: 20 20 20 20 20 20 61 20 3d 20 6c 20 26 20 30 78 a = l & 0x
0002f470: 66 66 66 66 3b 20 62 20 3d 20 6c 20 3e 3e 3e 20 ffff; b = l >>>
0002f480: 31 36 3b 5c 6e 20 20 20 20 20 20 20 20 20 20 63 16;\n c
0002f490: 20 3d 20 68 20 26 20 30 78 66 66 66 66 3b 20 64 = h & 0xffff; d
0002f4a0: 20 3d 20 68 20 3e 3e 3e 20 31 36 3b 5c 6e 5c 6e = h >>> 16;\n\n
0002f4b0: 20 20 20 20 20 20 20 20 20 20 68 20 3d 20 77 68 h = wh
0002f4c0: 5b 28 6a 2b 39 29 25 31 36 5d 3b 5c 6e 20 20 20 [(j+9)%16];\n
0002f4d0: 20 20 20 20 20 20 20 6c 20 3d 20 77 6c 5b 28 6a l = wl[(j
0002f4e0: 2b 39 29 25 31 36 5d 3b 5c 6e 5c 6e 20 20 20 20 +9)%16];\n\n
0002f4f0: 20 20 20 20 20 20 61 20 2b 3d 20 6c 20 26 20 30 a += l & 0
0002f500: 78 66 66 66 66 3b 20 62 20 2b 3d 20 6c 20 3e 3e xffff; b += l >>
0002f510: 3e 20 31 36 3b 5c 6e 20 20 20 20 20 20 20 20 20 > 16;\n
0002f520: 20 63 20 2b 3d 20 68 20 26 20 30 78 66 66 66 66 c += h & 0xffff
0002f530: 3b 20 64 20 2b 3d 20 68 20 3e 3e 3e 20 31 36 3b ; d += h >>> 16;
0002f540: 5c 6e 5c 6e 20 20 20 20 20 20 20 20 20 20 2f 2f \n\n //
0002f550: 20 73 69 67 6d 61 30 5c 6e 20 20 20 20 20 20 20 sigma0\n
0002f560: 20 20 20 74 68 20 3d 20 77 68 5b 28 6a 2b 31 29 th = wh[(j+1)
0002f570: 25 31 36 5d 3b 5c 6e 20 20 20 20 20 20 20 20 20 %16];\n
0002f580: 20 74 6c 20 3d 20 77 6c 5b 28 6a 2b 31 29 25 31 tl = wl[(j+1)%1
0002f590: 36 5d 3b 5c 6e 20 20 20 20 20 20 20 20 20 20 68 6];\n h
0002f5a0: 20 3d 20 28 28 74 68 20 3e 3e 3e 20 31 29 20 7c = ((th >>> 1) |
0002f5b0: 20 28 74 6c 20 3c 3c 20 28 33 32 2d 31 29 29 29 (tl << (32-1)))
0002f5c0: 20 5e 20 28 28 74 68 20 3e 3e 3e 20 38 29 20 7c ^ ((th >>> 8) |
0002f5d0: 20 28 74 6c 20 3c 3c 20 28 33 32 2d 38 29 29 29 (tl << (32-8)))
0002f5e0: 20 5e 20 28 74 68 20 3e 3e 3e 20 37 29 3b 5c 6e ^ (th >>> 7);\n
0002f5f0: 20 20 20 20 20 20 20 20 20 20 6c 20 3d 20 28 28 l = ((
0002f600: 74 6c 20 3e 3e 3e 20 31 29 20 7c 20 28 74 68 20 tl >>> 1) | (th
0002f610: 3c 3c 20 28 33 32 2d 31 29 29 29 20 5e 20 28 28 << (32-1))) ^ ((
0002f620: 74 6c 20 3e 3e 3e 20 38 29 20 7c 20 28 74 68 20 tl >>> 8) | (th
0002f630: 3c 3c 20 28 33 32 2d 38 29 29 29 20 5e 20 28 28 << (32-8))) ^ ((
0002f640: 74 6c 20 3e 3e 3e 20 37 29 20 7c 20 28 74 68 20 tl >>> 7) | (th
0002f650: 3c 3c 20 28 33 32 2d 37 29 29 29 3b 5c 6e 5c 6e << (32-7)));\n\n
0002f660: 20 20 20 20 20 20 20 20 20 20 61 20 2b 3d 20 6c a += l
0002f670: 20 26 20 30 78 66 66 66 66 3b 20 62 20 2b 3d 20 & 0xffff; b +=
0002f680: 6c 20 3e 3e 3e 20 31 36 3b 5c 6e 20 20 20 20 20 l >>> 16;\n
0002f690: 20 20 20 20 20 63 20 2b 3d 20 68 20 26 20 30 78 c += h & 0x
0002f6a0: 66 66 66 66 3b 20 64 20 2b 3d 20 68 20 3e 3e 3e ffff; d += h >>>
0002f6b0: 20 31 36 3b 5c 6e 5c 6e 20 20 20 20 20 20 20 20 16;\n\n
0002f6c0: 20 20 2f 2f 20 73 69 67 6d 61 31 5c 6e 20 20 20 // sigma1\n
0002f6d0: 20 20 20 20 20 20 20 74 68 20 3d 20 77 68 5b 28 th = wh[(
0002f6e0: 6a 2b 31 34 29 25 31 36 5d 3b 5c 6e 20 20 20 20 j+14)%16];\n
0002f6f0: 20 20 20 20 20 20 74 6c 20 3d 20 77 6c 5b 28 6a tl = wl[(j
0002f700: 2b 31 34 29 25 31 36 5d 3b 5c 6e 20 20 20 20 20 +14)%16];\n
0002f710: 20 20 20 20 20 68 20 3d 20 28 28 74 68 20 3e 3e h = ((th >>
0002f720: 3e 20 31 39 29 20 7c 20 28 74 6c 20 3c 3c 20 28 > 19) | (tl << (
0002f730: 33 32 2d 31 39 29 29 29 20 5e 20 28 28 74 6c 20 32-19))) ^ ((tl
0002f740: 3e 3e 3e 20 28 36 31 2d 33 32 29 29 20 7c 20 28 >>> (61-32)) | (
0002f750: 74 68 20 3c 3c 20 28 33 32 2d 28 36 31 2d 33 32 th << (32-(61-32
0002f760: 29 29 29 29 20 5e 20 28 74 68 20 3e 3e 3e 20 36 )))) ^ (th >>> 6
0002f770: 29 3b 5c 6e 20 20 20 20 20 20 20 20 20 20 6c 20 );\n l
0002f780: 3d 20 28 28 74 6c 20 3e 3e 3e 20 31 39 29 20 7c = ((tl >>> 19) |
0002f790: 20 28 74 68 20 3c 3c 20 28 33 32 2d 31 39 29 29 (th << (32-19))
0002f7a0: 29 20 5e 20 28 28 74 68 20 3e 3e 3e 20 28 36 31 ) ^ ((th >>> (61
0002f7b0: 2d 33 32 29 29 20 7c 20 28 74 6c 20 3c 3c 20 28 -32)) | (tl << (
0002f7c0: 33 32 2d 28 36 31 2d 33 32 29 29 29 29 20 5e 20 32-(61-32)))) ^
0002f7d0: 28 28 74 6c 20 3e 3e 3e 20 36 29 20 7c 20 28 74 ((tl >>> 6) | (t
0002f7e0: 68 20 3c 3c 20 28 33 32 2d 36 29 29 29 3b 5c 6e h << (32-6)));\n
0002f7f0: 5c 6e 20 20 20 20 20 20 20 20 20 20 61 20 2b 3d \n a +=
0002f800: 20 6c 20 26 20 30 78 66 66 66 66 3b 20 62 20 2b l & 0xffff; b +
0002f810: 3d 20 6c 20 3e 3e 3e 20 31 36 3b 5c 6e 20 20 20 = l >>> 16;\n
0002f820: 20 20 20 20 20 20 20 63 20 2b 3d 20 68 20 26 20 c += h &
0002f830: 30 78 66 66 66 66 3b 20 64 20 2b 3d 20 68 20 3e 0xffff; d += h >
0002f840: 3e 3e 20 31 36 3b 5c 6e 5c 6e 20 20 20 20 20 20 >> 16;\n\n
0002f850: 20 20 20 20 62 20 2b 3d 20 61 20 3e 3e 3e 20 31 b += a >>> 1
0002f860: 36 3b 5c 6e 20 20 20 20 20 20 20 20 20 20 63 20 6;\n c
0002f870: 2b 3d 20 62 20 3e 3e 3e 20 31 36 3b 5c 6e 20 20 += b >>> 16;\n
0002f880: 20 20 20 20 20 20 20 20 64 20 2b 3d 20 63 20 3e d += c >
0002f890: 3e 3e 20 31 36 3b 5c 6e 5c 6e 20 20 20 20 20 20 >> 16;\n\n
0002f8a0: 20 20 20 20 77 68 5b 6a 5d 20 3d 20 28 63 20 26 wh[j] = (c &
0002f8b0: 20 30 78 66 66 66 66 29 20 7c 20 28 64 20 3c 3c 0xffff) | (d <<
0002f8c0: 20 31 36 29 3b 5c 6e 20 20 20 20 20 20 20 20 20 16);\n
0002f8d0: 20 77 6c 5b 6a 5d 20 3d 20 28 61 20 26 20 30 78 wl[j] = (a & 0x
0002f8e0: 66 66 66 66 29 20 7c 20 28 62 20 3c 3c 20 31 36 ffff) | (b << 16
0002f8f0: 29 3b 5c 6e 20 20 20 20 20 20 20 20 7d 5c 6e 20 );\n }\n
0002f900: 20 20 20 20 20 7d 5c 6e 20 20 20 20 7d 5c 6e 5c }\n }\n\
0002f910: 6e 20 20 20 20 2f 2f 20 61 64 64 5c 6e 20 20 20 n // add\n
0002f920: 20 68 20 3d 20 61 68 30 3b 5c 6e 20 20 20 20 6c h = ah0;\n l
0002f930: 20 3d 20 61 6c 30 3b 5c 6e 5c 6e 20 20 20 20 61 = al0;\n\n a
0002f940: 20 3d 20 6c 20 26 20 30 78 66 66 66 66 3b 20 62 = l & 0xffff; b
0002f950: 20 3d 20 6c 20 3e 3e 3e 20 31 36 3b 5c 6e 20 20 = l >>> 16;\n
0002f960: 20 20 63 20 3d 20 68 20 26 20 30 78 66 66 66 66 c = h & 0xffff
0002f970: 3b 20 64 20 3d 20 68 20 3e 3e 3e 20 31 36 3b 5c ; d = h >>> 16;\
0002f980: 6e 5c 6e 20 20 20 20 68 20 3d 20 68 68 5b 30 5d n\n h = hh[0]
0002f990: 3b 5c 6e 20 20 20 20 6c 20 3d 20 68 6c 5b 30 5d ;\n l = hl[0]
0002f9a0: 3b 5c 6e 5c 6e 20 20 20 20 61 20 2b 3d 20 6c 20 ;\n\n a += l
0002f9b0: 26 20 30 78 66 66 66 66 3b 20 62 20 2b 3d 20 6c & 0xffff; b += l
0002f9c0: 20 3e 3e 3e 20 31 36 3b 5c 6e 20 20 20 20 63 20 >>> 16;\n c
0002f9d0: 2b 3d 20 68 20 26 20 30 78 66 66 66 66 3b 20 64 += h & 0xffff; d
0002f9e0: 20 2b 3d 20 68 20 3e 3e 3e 20 31 36 3b 5c 6e 5c += h >>> 16;\n\
0002f9f0: 6e 20 20 20 20 62 20 2b 3d 20 61 20 3e 3e 3e 20 n b += a >>>
0002fa00: 31 36 3b 5c 6e 20 20 20 20 63 20 2b 3d 20 62 20 16;\n c += b
0002fa10: 3e 3e 3e 20 31 36 3b 5c 6e 20 20 20 20 64 20 2b >>> 16;\n d +
0002fa20: 3d 20 63 20 3e 3e 3e 20 31 36 3b 5c 6e 5c 6e 20 = c >>> 16;\n\n
0002fa30: 20 20 20 68 68 5b 30 5d 20 3d 20 61 68 30 20 3d hh[0] = ah0 =
0002fa40: 20 28 63 20 26 20 30 78 66 66 66 66 29 20 7c 20 (c & 0xffff) |
0002fa50: 28 64 20 3c 3c 20 31 36 29 3b 5c 6e 20 20 20 20 (d << 16);\n
0002fa60: 68 6c 5b 30 5d 20 3d 20 61 6c 30 20 3d 20 28 61 hl[0] = al0 = (a
0002fa70: 20 26 20 30 78 66 66 66 66 29 20 7c 20 28 62 20 & 0xffff) | (b
0002fa80: 3c 3c 20 31 36 29 3b 5c 6e 5c 6e 20 20 20 20 68 << 16);\n\n h
0002fa90: 20 3d 20 61 68 31 3b 5c 6e 20 20 20 20 6c 20 3d = ah1;\n l =
0002faa0: 20 61 6c 31 3b 5c 6e 5c 6e 20 20 20 20 61 20 3d al1;\n\n a =
0002fab0: 20 6c 20 26 20 30 78 66 66 66 66 3b 20 62 20 3d l & 0xffff; b =
0002fac0: 20 6c 20 3e 3e 3e 20 31 36 3b 5c 6e 20 20 20 20 l >>> 16;\n
0002fad0: 63 20 3d 20 68 20 26 20 30 78 66 66 66 66 3b 20 c = h & 0xffff;
0002fae0: 64 20 3d 20 68 20 3e 3e 3e 20 31 36 3b 5c 6e 5c d = h >>> 16;\n\
0002faf0: 6e 20 20 20 20 68 20 3d 20 68 68 5b 31 5d 3b 5c n h = hh[1];\
0002fb00: 6e 20 20 20 20 6c 20 3d 20 68 6c 5b 31 5d 3b 5c n l = hl[1];\
0002fb10: 6e 5c 6e 20 20 20 20 61 20 2b 3d 20 6c 20 26 20 n\n a += l &
0002fb20: 30 78 66 66 66 66 3b 20 62 20 2b 3d 20 6c 20 3e 0xffff; b += l >
0002fb30: 3e 3e 20 31 36 3b 5c 6e 20 20 20 20 63 20 2b 3d >> 16;\n c +=
0002fb40: 20 68 20 26 20 30 78 66 66 66 66 3b 20 64 20 2b h & 0xffff; d +
0002fb50: 3d 20 68 20 3e 3e 3e 20 31 36 3b 5c 6e 5c 6e 20 = h >>> 16;\n\n
0002fb60: 20 20 20 62 20 2b 3d 20 61 20 3e 3e 3e 20 31 36 b += a >>> 16
0002fb70: 3b 5c 6e 20 20 20 20 63 20 2b 3d 20 62 20 3e 3e ;\n c += b >>
0002fb80: 3e 20 31 36 3b 5c 6e 20 20 20 20 64 20 2b 3d 20 > 16;\n d +=
0002fb90: 63 20 3e 3e 3e 20 31 36 3b 5c 6e 5c 6e 20 20 20 c >>> 16;\n\n
0002fba0: 20 68 68 5b 31 5d 20 3d 20 61 68 31 20 3d 20 28 hh[1] = ah1 = (
0002fbb0: 63 20 26 20 30 78 66 66 66 66 29 20 7c 20 28 64 c & 0xffff) | (d
0002fbc0: 20 3c 3c 20 31 36 29 3b 5c 6e 20 20 20 20 68 6c << 16);\n hl
0002fbd0: 5b 31 5d 20 3d 20 61 6c 31 20 3d 20 28 61 20 26 [1] = al1 = (a &
0002fbe0: 20 30 78 66 66 66 66 29 20 7c 20 28 62 20 3c 3c 0xffff) | (b <<
0002fbf0: 20 31 36 29 3b 5c 6e 5c 6e 20 20 20 20 68 20 3d 16);\n\n h =
0002fc00: 20 61 68 32 3b 5c 6e 20 20 20 20 6c 20 3d 20 61 ah2;\n l = a
0002fc10: 6c 32 3b 5c 6e 5c 6e 20 20 20 20 61 20 3d 20 6c l2;\n\n a = l
0002fc20: 20 26 20 30 78 66 66 66 66 3b 20 62 20 3d 20 6c & 0xffff; b = l
0002fc30: 20 3e 3e 3e 20 31 36 3b 5c 6e 20 20 20 20 63 20 >>> 16;\n c
0002fc40: 3d 20 68 20 26 20 30 78 66 66 66 66 3b 20 64 20 = h & 0xffff; d
0002fc50: 3d 20 68 20 3e 3e 3e 20 31 36 3b 5c 6e 5c 6e 20 = h >>> 16;\n\n
0002fc60: 20 20 20 68 20 3d 20 68 68 5b 32 5d 3b 5c 6e 20 h = hh[2];\n
0002fc70: 20 20 20 6c 20 3d 20 68 6c 5b 32 5d 3b 5c 6e 5c l = hl[2];\n\
0002fc80: 6e 20 20 20 20 61 20 2b 3d 20 6c 20 26 20 30 78 n a += l & 0x
0002fc90: 66 66 66 66 3b 20 62 20 2b 3d 20 6c 20 3e 3e 3e ffff; b += l >>>
0002fca0: 20 31 36 3b 5c 6e 20 20 20 20 63 20 2b 3d 20 68 16;\n c += h
0002fcb0: 20 26 20 30 78 66 66 66 66 3b 20 64 20 2b 3d 20 & 0xffff; d +=
0002fcc0: 68 20 3e 3e 3e 20 31 36 3b 5c 6e 5c 6e 20 20 20 h >>> 16;\n\n
0002fcd0: 20 62 20 2b 3d 20 61 20 3e 3e 3e 20 31 36 3b 5c b += a >>> 16;\
0002fce0: 6e 20 20 20 20 63 20 2b 3d 20 62 20 3e 3e 3e 20 n c += b >>>
0002fcf0: 31 36 3b 5c 6e 20 20 20 20 64 20 2b 3d 20 63 20 16;\n d += c
0002fd00: 3e 3e 3e 20 31 36 3b 5c 6e 5c 6e 20 20 20 20 68 >>> 16;\n\n h
0002fd10: 68 5b 32 5d 20 3d 20 61 68 32 20 3d 20 28 63 20 h[2] = ah2 = (c
0002fd20: 26 20 30 78 66 66 66 66 29 20 7c 20 28 64 20 3c & 0xffff) | (d <
0002fd30: 3c 20 31 36 29 3b 5c 6e 20 20 20 20 68 6c 5b 32 < 16);\n hl[2
0002fd40: 5d 20 3d 20 61 6c 32 20 3d 20 28 61 20 26 20 30 ] = al2 = (a & 0
0002fd50: 78 66 66 66 66 29 20 7c 20 28 62 20 3c 3c 20 31 xffff) | (b << 1
0002fd60: 36 29 3b 5c 6e 5c 6e 20 20 20 20 68 20 3d 20 61 6);\n\n h = a
0002fd70: 68 33 3b 5c 6e 20 20 20 20 6c 20 3d 20 61 6c 33 h3;\n l = al3
0002fd80: 3b 5c 6e 5c 6e 20 20 20 20 61 20 3d 20 6c 20 26 ;\n\n a = l &
0002fd90: 20 30 78 66 66 66 66 3b 20 62 20 3d 20 6c 20 3e 0xffff; b = l >
0002fda0: 3e 3e 20 31 36 3b 5c 6e 20 20 20 20 63 20 3d 20 >> 16;\n c =
0002fdb0: 68 20 26 20 30 78 66 66 66 66 3b 20 64 20 3d 20 h & 0xffff; d =
0002fdc0: 68 20 3e 3e 3e 20 31 36 3b 5c 6e 5c 6e 20 20 20 h >>> 16;\n\n
0002fdd0: 20 68 20 3d 20 68 68 5b 33 5d 3b 5c 6e 20 20 20 h = hh[3];\n
0002fde0: 20 6c 20 3d 20 68 6c 5b 33 5d 3b 5c 6e 5c 6e 20 l = hl[3];\n\n
0002fdf0: 20 20 20 61 20 2b 3d 20 6c 20 26 20 30 78 66 66 a += l & 0xff
0002fe00: 66 66 3b 20 62 20 2b 3d 20 6c 20 3e 3e 3e 20 31 ff; b += l >>> 1
0002fe10: 36 3b 5c 6e 20 20 20 20 63 20 2b 3d 20 68 20 26 6;\n c += h &
0002fe20: 20 30 78 66 66 66 66 3b 20 64 20 2b 3d 20 68 20 0xffff; d += h
0002fe30: 3e 3e 3e 20 31 36 3b 5c 6e 5c 6e 20 20 20 20 62 >>> 16;\n\n b
0002fe40: 20 2b 3d 20 61 20 3e 3e 3e 20 31 36 3b 5c 6e 20 += a >>> 16;\n
0002fe50: 20 20 20 63 20 2b 3d 20 62 20 3e 3e 3e 20 31 36 c += b >>> 16
0002fe60: 3b 5c 6e 20 20 20 20 64 20 2b 3d 20 63 20 3e 3e ;\n d += c >>
0002fe70: 3e 20 31 36 3b 5c 6e 5c 6e 20 20 20 20 68 68 5b > 16;\n\n hh[
0002fe80: 33 5d 20 3d 20 61 68 33 20 3d 20 28 63 20 26 20 3] = ah3 = (c &
0002fe90: 30 78 66 66 66 66 29 20 7c 20 28 64 20 3c 3c 20 0xffff) | (d <<
0002fea0: 31 36 29 3b 5c 6e 20 20 20 20 68 6c 5b 33 5d 20 16);\n hl[3]
0002feb0: 3d 20 61 6c 33 20 3d 20 28 61 20 26 20 30 78 66 = al3 = (a & 0xf
0002fec0: 66 66 66 29 20 7c 20 28 62 20 3c 3c 20 31 36 29 fff) | (b << 16)
0002fed0: 3b 5c 6e 5c 6e 20 20 20 20 68 20 3d 20 61 68 34 ;\n\n h = ah4
0002fee0: 3b 5c 6e 20 20 20 20 6c 20 3d 20 61 6c 34 3b 5c ;\n l = al4;\
0002fef0: 6e 5c 6e 20 20 20 20 61 20 3d 20 6c 20 26 20 30 n\n a = l & 0
0002ff00: 78 66 66 66 66 3b 20 62 20 3d 20 6c 20 3e 3e 3e xffff; b = l >>>
0002ff10: 20 31 36 3b 5c 6e 20 20 20 20 63 20 3d 20 68 20 16;\n c = h
0002ff20: 26 20 30 78 66 66 66 66 3b 20 64 20 3d 20 68 20 & 0xffff; d = h
0002ff30: 3e 3e 3e 20 31 36 3b 5c 6e 5c 6e 20 20 20 20 68 >>> 16;\n\n h
0002ff40: 20 3d 20 68 68 5b 34 5d 3b 5c 6e 20 20 20 20 6c = hh[4];\n l
0002ff50: 20 3d 20 68 6c 5b 34 5d 3b 5c 6e 5c 6e 20 20 20 = hl[4];\n\n
0002ff60: 20 61 20 2b 3d 20 6c 20 26 20 30 78 66 66 66 66 a += l & 0xffff
0002ff70: 3b 20 62 20 2b 3d 20 6c 20 3e 3e 3e 20 31 36 3b ; b += l >>> 16;
0002ff80: 5c 6e 20 20 20 20 63 20 2b 3d 20 68 20 26 20 30 \n c += h & 0
0002ff90: 78 66 66 66 66 3b 20 64 20 2b 3d 20 68 20 3e 3e xffff; d += h >>
0002ffa0: 3e 20 31 36 3b 5c 6e 5c 6e 20 20 20 20 62 20 2b > 16;\n\n b +
0002ffb0: 3d 20 61 20 3e 3e 3e 20 31 36 3b 5c 6e 20 20 20 = a >>> 16;\n
0002ffc0: 20 63 20 2b 3d 20 62 20 3e 3e 3e 20 31 36 3b 5c c += b >>> 16;\
0002ffd0: 6e 20 20 20 20 64 20 2b 3d 20 63 20 3e 3e 3e 20 n d += c >>>
0002ffe0: 31 36 3b 5c 6e 5c 6e 20 20 20 20 68 68 5b 34 5d 16;\n\n hh[4]
0002fff0: 20 3d 20 61 68 34 20 3d 20 28 63 20 26 20 30 78 = ah4 = (c & 0x
00030000: 66 66 66 66 29 20 7c 20 28 64 20 3c 3c 20 31 36 ffff) | (d << 16
00030010: 29 3b 5c 6e 20 20 20 20 68 6c 5b 34 5d 20 3d 20 );\n hl[4] =
00030020: 61 6c 34 20 3d 20 28 61 20 26 20 30 78 66 66 66 al4 = (a & 0xfff
00030030: 66 29 20 7c 20 28 62 20 3c 3c 20 31 36 29 3b 5c f) | (b << 16);\
00030040: 6e 5c 6e 20 20 20 20 68 20 3d 20 61 68 35 3b 5c n\n h = ah5;\
00030050: 6e 20 20 20 20 6c 20 3d 20 61 6c 35 3b 5c 6e 5c n l = al5;\n\
00030060: 6e 20 20 20 20 61 20 3d 20 6c 20 26 20 30 78 66 n a = l & 0xf
00030070: 66 66 66 3b 20 62 20 3d 20 6c 20 3e 3e 3e 20 31 fff; b = l >>> 1
00030080: 36 3b 5c 6e 20 20 20 20 63 20 3d 20 68 20 26 20 6;\n c = h &
00030090: 30 78 66 66 66 66 3b 20 64 20 3d 20 68 20 3e 3e 0xffff; d = h >>
000300a0: 3e 20 31 36 3b 5c 6e 5c 6e 20 20 20 20 68 20 3d > 16;\n\n h =
000300b0: 20 68 68 5b 35 5d 3b 5c 6e 20 20 20 20 6c 20 3d hh[5];\n l =
000300c0: 20 68 6c 5b 35 5d 3b 5c 6e 5c 6e 20 20 20 20 61 hl[5];\n\n a
000300d0: 20 2b 3d 20 6c 20 26 20 30 78 66 66 66 66 3b 20 += l & 0xffff;
000300e0: 62 20 2b 3d 20 6c 20 3e 3e 3e 20 31 36 3b 5c 6e b += l >>> 16;\n
000300f0: 20 20 20 20 63 20 2b 3d 20 68 20 26 20 30 78 66 c += h & 0xf
00030100: 66 66 66 3b 20 64 20 2b 3d 20 68 20 3e 3e 3e 20 fff; d += h >>>
00030110: 31 36 3b 5c 6e 5c 6e 20 20 20 20 62 20 2b 3d 20 16;\n\n b +=
00030120: 61 20 3e 3e 3e 20 31 36 3b 5c 6e 20 20 20 20 63 a >>> 16;\n c
00030130: 20 2b 3d 20 62 20 3e 3e 3e 20 31 36 3b 5c 6e 20 += b >>> 16;\n
00030140: 20 20 20 64 20 2b 3d 20 63 20 3e 3e 3e 20 31 36 d += c >>> 16
00030150: 3b 5c 6e 5c 6e 20 20 20 20 68 68 5b 35 5d 20 3d ;\n\n hh[5] =
00030160: 20 61 68 35 20 3d 20 28 63 20 26 20 30 78 66 66 ah5 = (c & 0xff
00030170: 66 66 29 20 7c 20 28 64 20 3c 3c 20 31 36 29 3b ff) | (d << 16);
00030180: 5c 6e 20 20 20 20 68 6c 5b 35 5d 20 3d 20 61 6c \n hl[5] = al
00030190: 35 20 3d 20 28 61 20 26 20 30 78 66 66 66 66 29 5 = (a & 0xffff)
000301a0: 20 7c 20 28 62 20 3c 3c 20 31 36 29 3b 5c 6e 5c | (b << 16);\n\
000301b0: 6e 20 20 20 20 68 20 3d 20 61 68 36 3b 5c 6e 20 n h = ah6;\n
000301c0: 20 20 20 6c 20 3d 20 61 6c 36 3b 5c 6e 5c 6e 20 l = al6;\n\n
000301d0: 20 20 20 61 20 3d 20 6c 20 26 20 30 78 66 66 66 a = l & 0xfff
000301e0: 66 3b 20 62 20 3d 20 6c 20 3e 3e 3e 20 31 36 3b f; b = l >>> 16;
000301f0: 5c 6e 20 20 20 20 63 20 3d 20 68 20 26 20 30 78 \n c = h & 0x
00030200: 66 66 66 66 3b 20 64 20 3d 20 68 20 3e 3e 3e 20 ffff; d = h >>>
00030210: 31 36 3b 5c 6e 5c 6e 20 20 20 20 68 20 3d 20 68 16;\n\n h = h
00030220: 68 5b 36 5d 3b 5c 6e 20 20 20 20 6c 20 3d 20 68 h[6];\n l = h
00030230: 6c 5b 36 5d 3b 5c 6e 5c 6e 20 20 20 20 61 20 2b l[6];\n\n a +
00030240: 3d 20 6c 20 26 20 30 78 66 66 66 66 3b 20 62 20 = l & 0xffff; b
00030250: 2b 3d 20 6c 20 3e 3e 3e 20 31 36 3b 5c 6e 20 20 += l >>> 16;\n
00030260: 20 20 63 20 2b 3d 20 68 20 26 20 30 78 66 66 66 c += h & 0xfff
00030270: 66 3b 20 64 20 2b 3d 20 68 20 3e 3e 3e 20 31 36 f; d += h >>> 16
00030280: 3b 5c 6e 5c 6e 20 20 20 20 62 20 2b 3d 20 61 20 ;\n\n b += a
00030290: 3e 3e 3e 20 31 36 3b 5c 6e 20 20 20 20 63 20 2b >>> 16;\n c +
000302a0: 3d 20 62 20 3e 3e 3e 20 31 36 3b 5c 6e 20 20 20 = b >>> 16;\n
000302b0: 20 64 20 2b 3d 20 63 20 3e 3e 3e 20 31 36 3b 5c d += c >>> 16;\
000302c0: 6e 5c 6e 20 20 20 20 68 68 5b 36 5d 20 3d 20 61 n\n hh[6] = a
000302d0: 68 36 20 3d 20 28 63 20 26 20 30 78 66 66 66 66 h6 = (c & 0xffff
000302e0: 29 20 7c 20 28 64 20 3c 3c 20 31 36 29 3b 5c 6e ) | (d << 16);\n
000302f0: 20 20 20 20 68 6c 5b 36 5d 20 3d 20 61 6c 36 20 hl[6] = al6
00030300: 3d 20 28 61 20 26 20 30 78 66 66 66 66 29 20 7c = (a & 0xffff) |
00030310: 20 28 62 20 3c 3c 20 31 36 29 3b 5c 6e 5c 6e 20 (b << 16);\n\n
00030320: 20 20 20 68 20 3d 20 61 68 37 3b 5c 6e 20 20 20 h = ah7;\n
00030330: 20 6c 20 3d 20 61 6c 37 3b 5c 6e 5c 6e 20 20 20 l = al7;\n\n
00030340: 20 61 20 3d 20 6c 20 26 20 30 78 66 66 66 66 3b a = l & 0xffff;
00030350: 20 62 20 3d 20 6c 20 3e 3e 3e 20 31 36 3b 5c 6e b = l >>> 16;\n
00030360: 20 20 20 20 63 20 3d 20 68 20 26 20 30 78 66 66 c = h & 0xff
00030370: 66 66 3b 20 64 20 3d 20 68 20 3e 3e 3e 20 31 36 ff; d = h >>> 16
00030380: 3b 5c 6e 5c 6e 20 20 20 20 68 20 3d 20 68 68 5b ;\n\n h = hh[
00030390: 37 5d 3b 5c 6e 20 20 20 20 6c 20 3d 20 68 6c 5b 7];\n l = hl[
000303a0: 37 5d 3b 5c 6e 5c 6e 20 20 20 20 61 20 2b 3d 20 7];\n\n a +=
000303b0: 6c 20 26 20 30 78 66 66 66 66 3b 20 62 20 2b 3d l & 0xffff; b +=
000303c0: 20 6c 20 3e 3e 3e 20 31 36 3b 5c 6e 20 20 20 20 l >>> 16;\n
000303d0: 63 20 2b 3d 20 68 20 26 20 30 78 66 66 66 66 3b c += h & 0xffff;
000303e0: 20 64 20 2b 3d 20 68 20 3e 3e 3e 20 31 36 3b 5c d += h >>> 16;\
000303f0: 6e 5c 6e 20 20 20 20 62 20 2b 3d 20 61 20 3e 3e n\n b += a >>
00030400: 3e 20 31 36 3b 5c 6e 20 20 20 20 63 20 2b 3d 20 > 16;\n c +=
00030410: 62 20 3e 3e 3e 20 31 36 3b 5c 6e 20 20 20 20 64 b >>> 16;\n d
00030420: 20 2b 3d 20 63 20 3e 3e 3e 20 31 36 3b 5c 6e 5c += c >>> 16;\n\
00030430: 6e 20 20 20 20 68 68 5b 37 5d 20 3d 20 61 68 37 n hh[7] = ah7
00030440: 20 3d 20 28 63 20 26 20 30 78 66 66 66 66 29 20 = (c & 0xffff)
00030450: 7c 20 28 64 20 3c 3c 20 31 36 29 3b 5c 6e 20 20 | (d << 16);\n
00030460: 20 20 68 6c 5b 37 5d 20 3d 20 61 6c 37 20 3d 20 hl[7] = al7 =
00030470: 28 61 20 26 20 30 78 66 66 66 66 29 20 7c 20 28 (a & 0xffff) | (
00030480: 62 20 3c 3c 20 31 36 29 3b 5c 6e 5c 6e 20 20 20 b << 16);\n\n
00030490: 20 70 6f 73 20 2b 3d 20 31 32 38 3b 5c 6e 20 20 pos += 128;\n
000304a0: 20 20 6e 20 2d 3d 20 31 32 38 3b 5c 6e 20 20 7d n -= 128;\n }
000304b0: 5c 6e 5c 6e 20 20 72 65 74 75 72 6e 20 6e 3b 5c \n\n return n;\
000304c0: 6e 7d 5c 6e 5c 6e 66 75 6e 63 74 69 6f 6e 20 63 n}\n\nfunction c
000304d0: 72 79 70 74 6f 5f 68 61 73 68 28 6f 75 74 2c 20 rypto_hash(out,
000304e0: 6d 2c 20 6e 29 20 7b 5c 6e 20 20 76 61 72 20 68 m, n) {\n var h
000304f0: 68 20 3d 20 6e 65 77 20 49 6e 74 33 32 41 72 72 h = new Int32Arr
00030500: 61 79 28 38 29 2c 5c 6e 20 20 20 20 20 20 68 6c ay(8),\n hl
00030510: 20 3d 20 6e 65 77 20 49 6e 74 33 32 41 72 72 61 = new Int32Arra
00030520: 79 28 38 29 2c 5c 6e 20 20 20 20 20 20 78 20 3d y(8),\n x =
00030530: 20 6e 65 77 20 55 69 6e 74 38 41 72 72 61 79 28 new Uint8Array(
00030540: 32 35 36 29 2c 5c 6e 20 20 20 20 20 20 69 2c 20 256),\n i,
00030550: 62 20 3d 20 6e 3b 5c 6e 5c 6e 20 20 68 68 5b 30 b = n;\n\n hh[0
00030560: 5d 20 3d 20 30 78 36 61 30 39 65 36 36 37 3b 5c ] = 0x6a09e667;\
00030570: 6e 20 20 68 68 5b 31 5d 20 3d 20 30 78 62 62 36 n hh[1] = 0xbb6
00030580: 37 61 65 38 35 3b 5c 6e 20 20 68 68 5b 32 5d 20 7ae85;\n hh[2]
00030590: 3d 20 30 78 33 63 36 65 66 33 37 32 3b 5c 6e 20 = 0x3c6ef372;\n
000305a0: 20 68 68 5b 33 5d 20 3d 20 30 78 61 35 34 66 66 hh[3] = 0xa54ff
000305b0: 35 33 61 3b 5c 6e 20 20 68 68 5b 34 5d 20 3d 20 53a;\n hh[4] =
000305c0: 30 78 35 31 30 65 35 32 37 66 3b 5c 6e 20 20 68 0x510e527f;\n h
000305d0: 68 5b 35 5d 20 3d 20 30 78 39 62 30 35 36 38 38 h[5] = 0x9b05688
000305e0: 63 3b 5c 6e 20 20 68 68 5b 36 5d 20 3d 20 30 78 c;\n hh[6] = 0x
000305f0: 31 66 38 33 64 39 61 62 3b 5c 6e 20 20 68 68 5b 1f83d9ab;\n hh[
00030600: 37 5d 20 3d 20 30 78 35 62 65 30 63 64 31 39 3b 7] = 0x5be0cd19;
00030610: 5c 6e 5c 6e 20 20 68 6c 5b 30 5d 20 3d 20 30 78 \n\n hl[0] = 0x
00030620: 66 33 62 63 63 39 30 38 3b 5c 6e 20 20 68 6c 5b f3bcc908;\n hl[
00030630: 31 5d 20 3d 20 30 78 38 34 63 61 61 37 33 62 3b 1] = 0x84caa73b;
00030640: 5c 6e 20 20 68 6c 5b 32 5d 20 3d 20 30 78 66 65 \n hl[2] = 0xfe
00030650: 39 34 66 38 32 62 3b 5c 6e 20 20 68 6c 5b 33 5d 94f82b;\n hl[3]
00030660: 20 3d 20 30 78 35 66 31 64 33 36 66 31 3b 5c 6e = 0x5f1d36f1;\n
00030670: 20 20 68 6c 5b 34 5d 20 3d 20 30 78 61 64 65 36 hl[4] = 0xade6
00030680: 38 32 64 31 3b 5c 6e 20 20 68 6c 5b 35 5d 20 3d 82d1;\n hl[5] =
00030690: 20 30 78 32 62 33 65 36 63 31 66 3b 5c 6e 20 20 0x2b3e6c1f;\n
000306a0: 68 6c 5b 36 5d 20 3d 20 30 78 66 62 34 31 62 64 hl[6] = 0xfb41bd
000306b0: 36 62 3b 5c 6e 20 20 68 6c 5b 37 5d 20 3d 20 30 6b;\n hl[7] = 0
000306c0: 78 31 33 37 65 32 31 37 39 3b 5c 6e 5c 6e 20 20 x137e2179;\n\n
000306d0: 63 72 79 70 74 6f 5f 68 61 73 68 62 6c 6f 63 6b crypto_hashblock
000306e0: 73 5f 68 6c 28 68 68 2c 20 68 6c 2c 20 6d 2c 20 s_hl(hh, hl, m,
000306f0: 6e 29 3b 5c 6e 20 20 6e 20 25 3d 20 31 32 38 3b n);\n n %= 128;
00030700: 5c 6e 5c 6e 20 20 66 6f 72 20 28 69 20 3d 20 30 \n\n for (i = 0
00030710: 3b 20 69 20 3c 20 6e 3b 20 69 2b 2b 29 20 78 5b ; i < n; i++) x[
00030720: 69 5d 20 3d 20 6d 5b 62 2d 6e 2b 69 5d 3b 5c 6e i] = m[b-n+i];\n
00030730: 20 20 78 5b 6e 5d 20 3d 20 31 32 38 3b 5c 6e 5c x[n] = 128;\n\
00030740: 6e 20 20 6e 20 3d 20 32 35 36 2d 31 32 38 2a 28 n n = 256-128*(
00030750: 6e 3c 31 31 32 3f 31 3a 30 29 3b 5c 6e 20 20 78 n<112?1:0);\n x
00030760: 5b 6e 2d 39 5d 20 3d 20 30 3b 5c 6e 20 20 74 73 [n-9] = 0;\n ts
00030770: 36 34 28 78 2c 20 6e 2d 38 2c 20 20 28 62 20 2f 64(x, n-8, (b /
00030780: 20 30 78 32 30 30 30 30 30 30 30 29 20 7c 20 30 0x20000000) | 0
00030790: 2c 20 62 20 3c 3c 20 33 29 3b 5c 6e 20 20 63 72 , b << 3);\n cr
000307a0: 79 70 74 6f 5f 68 61 73 68 62 6c 6f 63 6b 73 5f ypto_hashblocks_
000307b0: 68 6c 28 68 68 2c 20 68 6c 2c 20 78 2c 20 6e 29 hl(hh, hl, x, n)
000307c0: 3b 5c 6e 5c 6e 20 20 66 6f 72 20 28 69 20 3d 20 ;\n\n for (i =
000307d0: 30 3b 20 69 20 3c 20 38 3b 20 69 2b 2b 29 20 74 0; i < 8; i++) t
000307e0: 73 36 34 28 6f 75 74 2c 20 38 2a 69 2c 20 68 68 s64(out, 8*i, hh
000307f0: 5b 69 5d 2c 20 68 6c 5b 69 5d 29 3b 5c 6e 5c 6e [i], hl[i]);\n\n
00030800: 20 20 72 65 74 75 72 6e 20 30 3b 5c 6e 7d 5c 6e return 0;\n}\n
00030810: 5c 6e 66 75 6e 63 74 69 6f 6e 20 61 64 64 28 70 \nfunction add(p
00030820: 2c 20 71 29 20 7b 5c 6e 20 20 76 61 72 20 61 20 , q) {\n var a
00030830: 3d 20 67 66 28 29 2c 20 62 20 3d 20 67 66 28 29 = gf(), b = gf()
00030840: 2c 20 63 20 3d 20 67 66 28 29 2c 5c 6e 20 20 20 , c = gf(),\n
00030850: 20 20 20 64 20 3d 20 67 66 28 29 2c 20 65 20 3d d = gf(), e =
00030860: 20 67 66 28 29 2c 20 66 20 3d 20 67 66 28 29 2c gf(), f = gf(),
00030870: 5c 6e 20 20 20 20 20 20 67 20 3d 20 67 66 28 29 \n g = gf()
00030880: 2c 20 68 20 3d 20 67 66 28 29 2c 20 74 20 3d 20 , h = gf(), t =
00030890: 67 66 28 29 3b 5c 6e 5c 6e 20 20 5a 28 61 2c 20 gf();\n\n Z(a,
000308a0: 70 5b 31 5d 2c 20 70 5b 30 5d 29 3b 5c 6e 20 20 p[1], p[0]);\n
000308b0: 5a 28 74 2c 20 71 5b 31 5d 2c 20 71 5b 30 5d 29 Z(t, q[1], q[0])
000308c0: 3b 5c 6e 20 20 4d 28 61 2c 20 61 2c 20 74 29 3b ;\n M(a, a, t);
000308d0: 5c 6e 20 20 41 28 62 2c 20 70 5b 30 5d 2c 20 70 \n A(b, p[0], p
000308e0: 5b 31 5d 29 3b 5c 6e 20 20 41 28 74 2c 20 71 5b [1]);\n A(t, q[
000308f0: 30 5d 2c 20 71 5b 31 5d 29 3b 5c 6e 20 20 4d 28 0], q[1]);\n M(
00030900: 62 2c 20 62 2c 20 74 29 3b 5c 6e 20 20 4d 28 63 b, b, t);\n M(c
00030910: 2c 20 70 5b 33 5d 2c 20 71 5b 33 5d 29 3b 5c 6e , p[3], q[3]);\n
00030920: 20 20 4d 28 63 2c 20 63 2c 20 44 32 29 3b 5c 6e M(c, c, D2);\n
00030930: 20 20 4d 28 64 2c 20 70 5b 32 5d 2c 20 71 5b 32 M(d, p[2], q[2
00030940: 5d 29 3b 5c 6e 20 20 41 28 64 2c 20 64 2c 20 64 ]);\n A(d, d, d
00030950: 29 3b 5c 6e 20 20 5a 28 65 2c 20 62 2c 20 61 29 );\n Z(e, b, a)
00030960: 3b 5c 6e 20 20 5a 28 66 2c 20 64 2c 20 63 29 3b ;\n Z(f, d, c);
00030970: 5c 6e 20 20 41 28 67 2c 20 64 2c 20 63 29 3b 5c \n A(g, d, c);\
00030980: 6e 20 20 41 28 68 2c 20 62 2c 20 61 29 3b 5c 6e n A(h, b, a);\n
00030990: 5c 6e 20 20 4d 28 70 5b 30 5d 2c 20 65 2c 20 66 \n M(p[0], e, f
000309a0: 29 3b 5c 6e 20 20 4d 28 70 5b 31 5d 2c 20 68 2c );\n M(p[1], h,
000309b0: 20 67 29 3b 5c 6e 20 20 4d 28 70 5b 32 5d 2c 20 g);\n M(p[2],
000309c0: 67 2c 20 66 29 3b 5c 6e 20 20 4d 28 70 5b 33 5d g, f);\n M(p[3]
000309d0: 2c 20 65 2c 20 68 29 3b 5c 6e 7d 5c 6e 5c 6e 66 , e, h);\n}\n\nf
000309e0: 75 6e 63 74 69 6f 6e 20 63 73 77 61 70 28 70 2c unction cswap(p,
000309f0: 20 71 2c 20 62 29 20 7b 5c 6e 20 20 76 61 72 20 q, b) {\n var
00030a00: 69 3b 5c 6e 20 20 66 6f 72 20 28 69 20 3d 20 30 i;\n for (i = 0
00030a10: 3b 20 69 20 3c 20 34 3b 20 69 2b 2b 29 20 7b 5c ; i < 4; i++) {\
00030a20: 6e 20 20 20 20 73 65 6c 32 35 35 31 39 28 70 5b n sel25519(p[
00030a30: 69 5d 2c 20 71 5b 69 5d 2c 20 62 29 3b 5c 6e 20 i], q[i], b);\n
00030a40: 20 7d 5c 6e 7d 5c 6e 5c 6e 66 75 6e 63 74 69 6f }\n}\n\nfunctio
00030a50: 6e 20 70 61 63 6b 28 72 2c 20 70 29 20 7b 5c 6e n pack(r, p) {\n
00030a60: 20 20 76 61 72 20 74 78 20 3d 20 67 66 28 29 2c var tx = gf(),
00030a70: 20 74 79 20 3d 20 67 66 28 29 2c 20 7a 69 20 3d ty = gf(), zi =
00030a80: 20 67 66 28 29 3b 5c 6e 20 20 69 6e 76 32 35 35 gf();\n inv255
00030a90: 31 39 28 7a 69 2c 20 70 5b 32 5d 29 3b 5c 6e 20 19(zi, p[2]);\n
00030aa0: 20 4d 28 74 78 2c 20 70 5b 30 5d 2c 20 7a 69 29 M(tx, p[0], zi)
00030ab0: 3b 5c 6e 20 20 4d 28 74 79 2c 20 70 5b 31 5d 2c ;\n M(ty, p[1],
00030ac0: 20 7a 69 29 3b 5c 6e 20 20 70 61 63 6b 32 35 35 zi);\n pack255
00030ad0: 31 39 28 72 2c 20 74 79 29 3b 5c 6e 20 20 72 5b 19(r, ty);\n r[
00030ae0: 33 31 5d 20 5e 3d 20 70 61 72 32 35 35 31 39 28 31] ^= par25519(
00030af0: 74 78 29 20 3c 3c 20 37 3b 5c 6e 7d 5c 6e 5c 6e tx) << 7;\n}\n\n
00030b00: 66 75 6e 63 74 69 6f 6e 20 73 63 61 6c 61 72 6d function scalarm
00030b10: 75 6c 74 28 70 2c 20 71 2c 20 73 29 20 7b 5c 6e ult(p, q, s) {\n
00030b20: 20 20 76 61 72 20 62 2c 20 69 3b 5c 6e 20 20 73 var b, i;\n s
00030b30: 65 74 32 35 35 31 39 28 70 5b 30 5d 2c 20 67 66 et25519(p[0], gf
00030b40: 30 29 3b 5c 6e 20 20 73 65 74 32 35 35 31 39 28 0);\n set25519(
00030b50: 70 5b 31 5d 2c 20 67 66 31 29 3b 5c 6e 20 20 73 p[1], gf1);\n s
00030b60: 65 74 32 35 35 31 39 28 70 5b 32 5d 2c 20 67 66 et25519(p[2], gf
00030b70: 31 29 3b 5c 6e 20 20 73 65 74 32 35 35 31 39 28 1);\n set25519(
00030b80: 70 5b 33 5d 2c 20 67 66 30 29 3b 5c 6e 20 20 66 p[3], gf0);\n f
00030b90: 6f 72 20 28 69 20 3d 20 32 35 35 3b 20 69 20 3e or (i = 255; i >
00030ba0: 3d 20 30 3b 20 2d 2d 69 29 20 7b 5c 6e 20 20 20 = 0; --i) {\n
00030bb0: 20 62 20 3d 20 28 73 5b 28 69 2f 38 29 7c 30 5d b = (s[(i/8)|0]
00030bc0: 20 3e 3e 20 28 69 26 37 29 29 20 26 20 31 3b 5c >> (i&7)) & 1;\
00030bd0: 6e 20 20 20 20 63 73 77 61 70 28 70 2c 20 71 2c n cswap(p, q,
00030be0: 20 62 29 3b 5c 6e 20 20 20 20 61 64 64 28 71 2c b);\n add(q,
00030bf0: 20 70 29 3b 5c 6e 20 20 20 20 61 64 64 28 70 2c p);\n add(p,
00030c00: 20 70 29 3b 5c 6e 20 20 20 20 63 73 77 61 70 28 p);\n cswap(
00030c10: 70 2c 20 71 2c 20 62 29 3b 5c 6e 20 20 7d 5c 6e p, q, b);\n }\n
00030c20: 7d 5c 6e 5c 6e 66 75 6e 63 74 69 6f 6e 20 73 63 }\n\nfunction sc
00030c30: 61 6c 61 72 62 61 73 65 28 70 2c 20 73 29 20 7b alarbase(p, s) {
00030c40: 5c 6e 20 20 76 61 72 20 71 20 3d 20 5b 67 66 28 \n var q = [gf(
00030c50: 29 2c 20 67 66 28 29 2c 20 67 66 28 29 2c 20 67 ), gf(), gf(), g
00030c60: 66 28 29 5d 3b 5c 6e 20 20 73 65 74 32 35 35 31 f()];\n set2551
00030c70: 39 28 71 5b 30 5d 2c 20 58 29 3b 5c 6e 20 20 73 9(q[0], X);\n s
00030c80: 65 74 32 35 35 31 39 28 71 5b 31 5d 2c 20 59 29 et25519(q[1], Y)
00030c90: 3b 5c 6e 20 20 73 65 74 32 35 35 31 39 28 71 5b ;\n set25519(q[
00030ca0: 32 5d 2c 20 67 66 31 29 3b 5c 6e 20 20 4d 28 71 2], gf1);\n M(q
00030cb0: 5b 33 5d 2c 20 58 2c 20 59 29 3b 5c 6e 20 20 73 [3], X, Y);\n s
00030cc0: 63 61 6c 61 72 6d 75 6c 74 28 70 2c 20 71 2c 20 calarmult(p, q,
00030cd0: 73 29 3b 5c 6e 7d 5c 6e 5c 6e 66 75 6e 63 74 69 s);\n}\n\nfuncti
00030ce0: 6f 6e 20 63 72 79 70 74 6f 5f 73 69 67 6e 5f 6b on crypto_sign_k
00030cf0: 65 79 70 61 69 72 28 70 6b 2c 20 73 6b 2c 20 73 eypair(pk, sk, s
00030d00: 65 65 64 65 64 29 20 7b 5c 6e 20 20 76 61 72 20 eeded) {\n var
00030d10: 64 20 3d 20 6e 65 77 20 55 69 6e 74 38 41 72 72 d = new Uint8Arr
00030d20: 61 79 28 36 34 29 3b 5c 6e 20 20 76 61 72 20 70 ay(64);\n var p
00030d30: 20 3d 20 5b 67 66 28 29 2c 20 67 66 28 29 2c 20 = [gf(), gf(),
00030d40: 67 66 28 29 2c 20 67 66 28 29 5d 3b 5c 6e 20 20 gf(), gf()];\n
00030d50: 76 61 72 20 69 3b 5c 6e 5c 6e 20 20 69 66 20 28 var i;\n\n if (
00030d60: 21 73 65 65 64 65 64 29 20 72 61 6e 64 6f 6d 62 !seeded) randomb
00030d70: 79 74 65 73 28 73 6b 2c 20 33 32 29 3b 5c 6e 20 ytes(sk, 32);\n
00030d80: 20 63 72 79 70 74 6f 5f 68 61 73 68 28 64 2c 20 crypto_hash(d,
00030d90: 73 6b 2c 20 33 32 29 3b 5c 6e 20 20 64 5b 30 5d sk, 32);\n d[0]
00030da0: 20 26 3d 20 32 34 38 3b 5c 6e 20 20 64 5b 33 31 &= 248;\n d[31
00030db0: 5d 20 26 3d 20 31 32 37 3b 5c 6e 20 20 64 5b 33 ] &= 127;\n d[3
00030dc0: 31 5d 20 7c 3d 20 36 34 3b 5c 6e 5c 6e 20 20 73 1] |= 64;\n\n s
00030dd0: 63 61 6c 61 72 62 61 73 65 28 70 2c 20 64 29 3b calarbase(p, d);
00030de0: 5c 6e 20 20 70 61 63 6b 28 70 6b 2c 20 70 29 3b \n pack(pk, p);
00030df0: 5c 6e 5c 6e 20 20 66 6f 72 20 28 69 20 3d 20 30 \n\n for (i = 0
00030e00: 3b 20 69 20 3c 20 33 32 3b 20 69 2b 2b 29 20 73 ; i < 32; i++) s
00030e10: 6b 5b 69 2b 33 32 5d 20 3d 20 70 6b 5b 69 5d 3b k[i+32] = pk[i];
00030e20: 5c 6e 20 20 72 65 74 75 72 6e 20 30 3b 5c 6e 7d \n return 0;\n}
00030e30: 5c 6e 5c 6e 76 61 72 20 4c 20 3d 20 6e 65 77 20 \n\nvar L = new
00030e40: 46 6c 6f 61 74 36 34 41 72 72 61 79 28 5b 30 78 Float64Array([0x
00030e50: 65 64 2c 20 30 78 64 33 2c 20 30 78 66 35 2c 20 ed, 0xd3, 0xf5,
00030e60: 30 78 35 63 2c 20 30 78 31 61 2c 20 30 78 36 33 0x5c, 0x1a, 0x63
00030e70: 2c 20 30 78 31 32 2c 20 30 78 35 38 2c 20 30 78 , 0x12, 0x58, 0x
00030e80: 64 36 2c 20 30 78 39 63 2c 20 30 78 66 37 2c 20 d6, 0x9c, 0xf7,
00030e90: 30 78 61 32 2c 20 30 78 64 65 2c 20 30 78 66 39 0xa2, 0xde, 0xf9
00030ea0: 2c 20 30 78 64 65 2c 20 30 78 31 34 2c 20 30 2c , 0xde, 0x14, 0,
00030eb0: 20 30 2c 20 30 2c 20 30 2c 20 30 2c 20 30 2c 20 0, 0, 0, 0, 0,
00030ec0: 30 2c 20 30 2c 20 30 2c 20 30 2c 20 30 2c 20 30 0, 0, 0, 0, 0, 0
00030ed0: 2c 20 30 2c 20 30 2c 20 30 2c 20 30 78 31 30 5d , 0, 0, 0, 0x10]
00030ee0: 29 3b 5c 6e 5c 6e 66 75 6e 63 74 69 6f 6e 20 6d );\n\nfunction m
00030ef0: 6f 64 4c 28 72 2c 20 78 29 20 7b 5c 6e 20 20 76 odL(r, x) {\n v
00030f00: 61 72 20 63 61 72 72 79 2c 20 69 2c 20 6a 2c 20 ar carry, i, j,
00030f10: 6b 3b 5c 6e 20 20 66 6f 72 20 28 69 20 3d 20 36 k;\n for (i = 6
00030f20: 33 3b 20 69 20 3e 3d 20 33 32 3b 20 2d 2d 69 29 3; i >= 32; --i)
00030f30: 20 7b 5c 6e 20 20 20 20 63 61 72 72 79 20 3d 20 {\n carry =
00030f40: 30 3b 5c 6e 20 20 20 20 66 6f 72 20 28 6a 20 3d 0;\n for (j =
00030f50: 20 69 20 2d 20 33 32 2c 20 6b 20 3d 20 69 20 2d i - 32, k = i -
00030f60: 20 31 32 3b 20 6a 20 3c 20 6b 3b 20 2b 2b 6a 29 12; j < k; ++j)
00030f70: 20 7b 5c 6e 20 20 20 20 20 20 78 5b 6a 5d 20 2b {\n x[j] +
00030f80: 3d 20 63 61 72 72 79 20 2d 20 31 36 20 2a 20 78 = carry - 16 * x
00030f90: 5b 69 5d 20 2a 20 4c 5b 6a 20 2d 20 28 69 20 2d [i] * L[j - (i -
00030fa0: 20 33 32 29 5d 3b 5c 6e 20 20 20 20 20 20 63 61 32)];\n ca
00030fb0: 72 72 79 20 3d 20 4d 61 74 68 2e 66 6c 6f 6f 72 rry = Math.floor
00030fc0: 28 28 78 5b 6a 5d 20 2b 20 31 32 38 29 20 2f 20 ((x[j] + 128) /
00030fd0: 32 35 36 29 3b 5c 6e 20 20 20 20 20 20 78 5b 6a 256);\n x[j
00030fe0: 5d 20 2d 3d 20 63 61 72 72 79 20 2a 20 32 35 36 ] -= carry * 256
00030ff0: 3b 5c 6e 20 20 20 20 7d 5c 6e 20 20 20 20 78 5b ;\n }\n x[
00031000: 6a 5d 20 2b 3d 20 63 61 72 72 79 3b 5c 6e 20 20 j] += carry;\n
00031010: 20 20 78 5b 69 5d 20 3d 20 30 3b 5c 6e 20 20 7d x[i] = 0;\n }
00031020: 5c 6e 20 20 63 61 72 72 79 20 3d 20 30 3b 5c 6e \n carry = 0;\n
00031030: 20 20 66 6f 72 20 28 6a 20 3d 20 30 3b 20 6a 20 for (j = 0; j
00031040: 3c 20 33 32 3b 20 6a 2b 2b 29 20 7b 5c 6e 20 20 < 32; j++) {\n
00031050: 20 20 78 5b 6a 5d 20 2b 3d 20 63 61 72 72 79 20 x[j] += carry
00031060: 2d 20 28 78 5b 33 31 5d 20 3e 3e 20 34 29 20 2a - (x[31] >> 4) *
00031070: 20 4c 5b 6a 5d 3b 5c 6e 20 20 20 20 63 61 72 72 L[j];\n carr
00031080: 79 20 3d 20 78 5b 6a 5d 20 3e 3e 20 38 3b 5c 6e y = x[j] >> 8;\n
00031090: 20 20 20 20 78 5b 6a 5d 20 26 3d 20 32 35 35 3b x[j] &= 255;
000310a0: 5c 6e 20 20 7d 5c 6e 20 20 66 6f 72 20 28 6a 20 \n }\n for (j
000310b0: 3d 20 30 3b 20 6a 20 3c 20 33 32 3b 20 6a 2b 2b = 0; j < 32; j++
000310c0: 29 20 78 5b 6a 5d 20 2d 3d 20 63 61 72 72 79 20 ) x[j] -= carry
000310d0: 2a 20 4c 5b 6a 5d 3b 5c 6e 20 20 66 6f 72 20 28 * L[j];\n for (
000310e0: 69 20 3d 20 30 3b 20 69 20 3c 20 33 32 3b 20 69 i = 0; i < 32; i
000310f0: 2b 2b 29 20 7b 5c 6e 20 20 20 20 78 5b 69 2b 31 ++) {\n x[i+1
00031100: 5d 20 2b 3d 20 78 5b 69 5d 20 3e 3e 20 38 3b 5c ] += x[i] >> 8;\
00031110: 6e 20 20 20 20 72 5b 69 5d 20 3d 20 78 5b 69 5d n r[i] = x[i]
00031120: 20 26 20 32 35 35 3b 5c 6e 20 20 7d 5c 6e 7d 5c & 255;\n }\n}\
00031130: 6e 5c 6e 66 75 6e 63 74 69 6f 6e 20 72 65 64 75 n\nfunction redu
00031140: 63 65 28 72 29 20 7b 5c 6e 20 20 76 61 72 20 78 ce(r) {\n var x
00031150: 20 3d 20 6e 65 77 20 46 6c 6f 61 74 36 34 41 72 = new Float64Ar
00031160: 72 61 79 28 36 34 29 2c 20 69 3b 5c 6e 20 20 66 ray(64), i;\n f
00031170: 6f 72 20 28 69 20 3d 20 30 3b 20 69 20 3c 20 36 or (i = 0; i < 6
00031180: 34 3b 20 69 2b 2b 29 20 78 5b 69 5d 20 3d 20 72 4; i++) x[i] = r
00031190: 5b 69 5d 3b 5c 6e 20 20 66 6f 72 20 28 69 20 3d [i];\n for (i =
000311a0: 20 30 3b 20 69 20 3c 20 36 34 3b 20 69 2b 2b 29 0; i < 64; i++)
000311b0: 20 72 5b 69 5d 20 3d 20 30 3b 5c 6e 20 20 6d 6f r[i] = 0;\n mo
000311c0: 64 4c 28 72 2c 20 78 29 3b 5c 6e 7d 5c 6e 5c 6e dL(r, x);\n}\n\n
000311d0: 2f 2f 20 4e 6f 74 65 3a 20 64 69 66 66 65 72 65 // Note: differe
000311e0: 6e 63 65 20 66 72 6f 6d 20 43 20 2d 20 73 6d 6c nce from C - sml
000311f0: 65 6e 20 72 65 74 75 72 6e 65 64 2c 20 6e 6f 74 en returned, not
00031200: 20 70 61 73 73 65 64 20 61 73 20 61 72 67 75 6d passed as argum
00031210: 65 6e 74 2e 5c 6e 66 75 6e 63 74 69 6f 6e 20 63 ent.\nfunction c
00031220: 72 79 70 74 6f 5f 73 69 67 6e 28 73 6d 2c 20 6d rypto_sign(sm, m
00031230: 2c 20 6e 2c 20 73 6b 29 20 7b 5c 6e 20 20 76 61 , n, sk) {\n va
00031240: 72 20 64 20 3d 20 6e 65 77 20 55 69 6e 74 38 41 r d = new Uint8A
00031250: 72 72 61 79 28 36 34 29 2c 20 68 20 3d 20 6e 65 rray(64), h = ne
00031260: 77 20 55 69 6e 74 38 41 72 72 61 79 28 36 34 29 w Uint8Array(64)
00031270: 2c 20 72 20 3d 20 6e 65 77 20 55 69 6e 74 38 41 , r = new Uint8A
00031280: 72 72 61 79 28 36 34 29 3b 5c 6e 20 20 76 61 72 rray(64);\n var
00031290: 20 69 2c 20 6a 2c 20 78 20 3d 20 6e 65 77 20 46 i, j, x = new F
000312a0: 6c 6f 61 74 36 34 41 72 72 61 79 28 36 34 29 3b loat64Array(64);
000312b0: 5c 6e 20 20 76 61 72 20 70 20 3d 20 5b 67 66 28 \n var p = [gf(
000312c0: 29 2c 20 67 66 28 29 2c 20 67 66 28 29 2c 20 67 ), gf(), gf(), g
000312d0: 66 28 29 5d 3b 5c 6e 5c 6e 20 20 63 72 79 70 74 f()];\n\n crypt
000312e0: 6f 5f 68 61 73 68 28 64 2c 20 73 6b 2c 20 33 32 o_hash(d, sk, 32
000312f0: 29 3b 5c 6e 20 20 64 5b 30 5d 20 26 3d 20 32 34 );\n d[0] &= 24
00031300: 38 3b 5c 6e 20 20 64 5b 33 31 5d 20 26 3d 20 31 8;\n d[31] &= 1
00031310: 32 37 3b 5c 6e 20 20 64 5b 33 31 5d 20 7c 3d 20 27;\n d[31] |=
00031320: 36 34 3b 5c 6e 5c 6e 20 20 76 61 72 20 73 6d 6c 64;\n\n var sml
00031330: 65 6e 20 3d 20 6e 20 2b 20 36 34 3b 5c 6e 20 20 en = n + 64;\n
00031340: 66 6f 72 20 28 69 20 3d 20 30 3b 20 69 20 3c 20 for (i = 0; i <
00031350: 6e 3b 20 69 2b 2b 29 20 73 6d 5b 36 34 20 2b 20 n; i++) sm[64 +
00031360: 69 5d 20 3d 20 6d 5b 69 5d 3b 5c 6e 20 20 66 6f i] = m[i];\n fo
00031370: 72 20 28 69 20 3d 20 30 3b 20 69 20 3c 20 33 32 r (i = 0; i < 32
00031380: 3b 20 69 2b 2b 29 20 73 6d 5b 33 32 20 2b 20 69 ; i++) sm[32 + i
00031390: 5d 20 3d 20 64 5b 33 32 20 2b 20 69 5d 3b 5c 6e ] = d[32 + i];\n
000313a0: 5c 6e 20 20 63 72 79 70 74 6f 5f 68 61 73 68 28 \n crypto_hash(
000313b0: 72 2c 20 73 6d 2e 73 75 62 61 72 72 61 79 28 33 r, sm.subarray(3
000313c0: 32 29 2c 20 6e 2b 33 32 29 3b 5c 6e 20 20 72 65 2), n+32);\n re
000313d0: 64 75 63 65 28 72 29 3b 5c 6e 20 20 73 63 61 6c duce(r);\n scal
000313e0: 61 72 62 61 73 65 28 70 2c 20 72 29 3b 5c 6e 20 arbase(p, r);\n
000313f0: 20 70 61 63 6b 28 73 6d 2c 20 70 29 3b 5c 6e 5c pack(sm, p);\n\
00031400: 6e 20 20 66 6f 72 20 28 69 20 3d 20 33 32 3b 20 n for (i = 32;
00031410: 69 20 3c 20 36 34 3b 20 69 2b 2b 29 20 73 6d 5b i < 64; i++) sm[
00031420: 69 5d 20 3d 20 73 6b 5b 69 5d 3b 5c 6e 20 20 63 i] = sk[i];\n c
00031430: 72 79 70 74 6f 5f 68 61 73 68 28 68 2c 20 73 6d rypto_hash(h, sm
00031440: 2c 20 6e 20 2b 20 36 34 29 3b 5c 6e 20 20 72 65 , n + 64);\n re
00031450: 64 75 63 65 28 68 29 3b 5c 6e 5c 6e 20 20 66 6f duce(h);\n\n fo
00031460: 72 20 28 69 20 3d 20 30 3b 20 69 20 3c 20 36 34 r (i = 0; i < 64
00031470: 3b 20 69 2b 2b 29 20 78 5b 69 5d 20 3d 20 30 3b ; i++) x[i] = 0;
00031480: 5c 6e 20 20 66 6f 72 20 28 69 20 3d 20 30 3b 20 \n for (i = 0;
00031490: 69 20 3c 20 33 32 3b 20 69 2b 2b 29 20 78 5b 69 i < 32; i++) x[i
000314a0: 5d 20 3d 20 72 5b 69 5d 3b 5c 6e 20 20 66 6f 72 ] = r[i];\n for
000314b0: 20 28 69 20 3d 20 30 3b 20 69 20 3c 20 33 32 3b (i = 0; i < 32;
000314c0: 20 69 2b 2b 29 20 7b 5c 6e 20 20 20 20 66 6f 72 i++) {\n for
000314d0: 20 28 6a 20 3d 20 30 3b 20 6a 20 3c 20 33 32 3b (j = 0; j < 32;
000314e0: 20 6a 2b 2b 29 20 7b 5c 6e 20 20 20 20 20 20 78 j++) {\n x
000314f0: 5b 69 2b 6a 5d 20 2b 3d 20 68 5b 69 5d 20 2a 20 [i+j] += h[i] *
00031500: 64 5b 6a 5d 3b 5c 6e 20 20 20 20 7d 5c 6e 20 20 d[j];\n }\n
00031510: 7d 5c 6e 5c 6e 20 20 6d 6f 64 4c 28 73 6d 2e 73 }\n\n modL(sm.s
00031520: 75 62 61 72 72 61 79 28 33 32 29 2c 20 78 29 3b ubarray(32), x);
00031530: 5c 6e 20 20 72 65 74 75 72 6e 20 73 6d 6c 65 6e \n return smlen
00031540: 3b 5c 6e 7d 5c 6e 5c 6e 66 75 6e 63 74 69 6f 6e ;\n}\n\nfunction
00031550: 20 75 6e 70 61 63 6b 6e 65 67 28 72 2c 20 70 29 unpackneg(r, p)
00031560: 20 7b 5c 6e 20 20 76 61 72 20 74 20 3d 20 67 66 {\n var t = gf
00031570: 28 29 2c 20 63 68 6b 20 3d 20 67 66 28 29 2c 20 (), chk = gf(),
00031580: 6e 75 6d 20 3d 20 67 66 28 29 2c 5c 6e 20 20 20 num = gf(),\n
00031590: 20 20 20 64 65 6e 20 3d 20 67 66 28 29 2c 20 64 den = gf(), d
000315a0: 65 6e 32 20 3d 20 67 66 28 29 2c 20 64 65 6e 34 en2 = gf(), den4
000315b0: 20 3d 20 67 66 28 29 2c 5c 6e 20 20 20 20 20 20 = gf(),\n
000315c0: 64 65 6e 36 20 3d 20 67 66 28 29 3b 5c 6e 5c 6e den6 = gf();\n\n
000315d0: 20 20 73 65 74 32 35 35 31 39 28 72 5b 32 5d 2c set25519(r[2],
000315e0: 20 67 66 31 29 3b 5c 6e 20 20 75 6e 70 61 63 6b gf1);\n unpack
000315f0: 32 35 35 31 39 28 72 5b 31 5d 2c 20 70 29 3b 5c 25519(r[1], p);\
00031600: 6e 20 20 53 28 6e 75 6d 2c 20 72 5b 31 5d 29 3b n S(num, r[1]);
00031610: 5c 6e 20 20 4d 28 64 65 6e 2c 20 6e 75 6d 2c 20 \n M(den, num,
00031620: 44 29 3b 5c 6e 20 20 5a 28 6e 75 6d 2c 20 6e 75 D);\n Z(num, nu
00031630: 6d 2c 20 72 5b 32 5d 29 3b 5c 6e 20 20 41 28 64 m, r[2]);\n A(d
00031640: 65 6e 2c 20 72 5b 32 5d 2c 20 64 65 6e 29 3b 5c en, r[2], den);\
00031650: 6e 5c 6e 20 20 53 28 64 65 6e 32 2c 20 64 65 6e n\n S(den2, den
00031660: 29 3b 5c 6e 20 20 53 28 64 65 6e 34 2c 20 64 65 );\n S(den4, de
00031670: 6e 32 29 3b 5c 6e 20 20 4d 28 64 65 6e 36 2c 20 n2);\n M(den6,
00031680: 64 65 6e 34 2c 20 64 65 6e 32 29 3b 5c 6e 20 20 den4, den2);\n
00031690: 4d 28 74 2c 20 64 65 6e 36 2c 20 6e 75 6d 29 3b M(t, den6, num);
000316a0: 5c 6e 20 20 4d 28 74 2c 20 74 2c 20 64 65 6e 29 \n M(t, t, den)
000316b0: 3b 5c 6e 5c 6e 20 20 70 6f 77 32 35 32 33 28 74 ;\n\n pow2523(t
000316c0: 2c 20 74 29 3b 5c 6e 20 20 4d 28 74 2c 20 74 2c , t);\n M(t, t,
000316d0: 20 6e 75 6d 29 3b 5c 6e 20 20 4d 28 74 2c 20 74 num);\n M(t, t
000316e0: 2c 20 64 65 6e 29 3b 5c 6e 20 20 4d 28 74 2c 20 , den);\n M(t,
000316f0: 74 2c 20 64 65 6e 29 3b 5c 6e 20 20 4d 28 72 5b t, den);\n M(r[
00031700: 30 5d 2c 20 74 2c 20 64 65 6e 29 3b 5c 6e 5c 6e 0], t, den);\n\n
00031710: 20 20 53 28 63 68 6b 2c 20 72 5b 30 5d 29 3b 5c S(chk, r[0]);\
00031720: 6e 20 20 4d 28 63 68 6b 2c 20 63 68 6b 2c 20 64 n M(chk, chk, d
00031730: 65 6e 29 3b 5c 6e 20 20 69 66 20 28 6e 65 71 32 en);\n if (neq2
00031740: 35 35 31 39 28 63 68 6b 2c 20 6e 75 6d 29 29 20 5519(chk, num))
00031750: 4d 28 72 5b 30 5d 2c 20 72 5b 30 5d 2c 20 49 29 M(r[0], r[0], I)
00031760: 3b 5c 6e 5c 6e 20 20 53 28 63 68 6b 2c 20 72 5b ;\n\n S(chk, r[
00031770: 30 5d 29 3b 5c 6e 20 20 4d 28 63 68 6b 2c 20 63 0]);\n M(chk, c
00031780: 68 6b 2c 20 64 65 6e 29 3b 5c 6e 20 20 69 66 20 hk, den);\n if
00031790: 28 6e 65 71 32 35 35 31 39 28 63 68 6b 2c 20 6e (neq25519(chk, n
000317a0: 75 6d 29 29 20 72 65 74 75 72 6e 20 2d 31 3b 5c um)) return -1;\
000317b0: 6e 5c 6e 20 20 69 66 20 28 70 61 72 32 35 35 31 n\n if (par2551
000317c0: 39 28 72 5b 30 5d 29 20 3d 3d 3d 20 28 70 5b 33 9(r[0]) === (p[3
000317d0: 31 5d 3e 3e 37 29 29 20 5a 28 72 5b 30 5d 2c 20 1]>>7)) Z(r[0],
000317e0: 67 66 30 2c 20 72 5b 30 5d 29 3b 5c 6e 5c 6e 20 gf0, r[0]);\n\n
000317f0: 20 4d 28 72 5b 33 5d 2c 20 72 5b 30 5d 2c 20 72 M(r[3], r[0], r
00031800: 5b 31 5d 29 3b 5c 6e 20 20 72 65 74 75 72 6e 20 [1]);\n return
00031810: 30 3b 5c 6e 7d 5c 6e 5c 6e 66 75 6e 63 74 69 6f 0;\n}\n\nfunctio
00031820: 6e 20 63 72 79 70 74 6f 5f 73 69 67 6e 5f 6f 70 n crypto_sign_op
00031830: 65 6e 28 6d 2c 20 73 6d 2c 20 6e 2c 20 70 6b 29 en(m, sm, n, pk)
00031840: 20 7b 5c 6e 20 20 76 61 72 20 69 3b 5c 6e 20 20 {\n var i;\n
00031850: 76 61 72 20 74 20 3d 20 6e 65 77 20 55 69 6e 74 var t = new Uint
00031860: 38 41 72 72 61 79 28 33 32 29 2c 20 68 20 3d 20 8Array(32), h =
00031870: 6e 65 77 20 55 69 6e 74 38 41 72 72 61 79 28 36 new Uint8Array(6
00031880: 34 29 3b 5c 6e 20 20 76 61 72 20 70 20 3d 20 5b 4);\n var p = [
00031890: 67 66 28 29 2c 20 67 66 28 29 2c 20 67 66 28 29 gf(), gf(), gf()
000318a0: 2c 20 67 66 28 29 5d 2c 5c 6e 20 20 20 20 20 20 , gf()],\n
000318b0: 71 20 3d 20 5b 67 66 28 29 2c 20 67 66 28 29 2c q = [gf(), gf(),
000318c0: 20 67 66 28 29 2c 20 67 66 28 29 5d 3b 5c 6e 5c gf(), gf()];\n\
000318d0: 6e 20 20 69 66 20 28 6e 20 3c 20 36 34 29 20 72 n if (n < 64) r
000318e0: 65 74 75 72 6e 20 2d 31 3b 5c 6e 5c 6e 20 20 69 eturn -1;\n\n i
000318f0: 66 20 28 75 6e 70 61 63 6b 6e 65 67 28 71 2c 20 f (unpackneg(q,
00031900: 70 6b 29 29 20 72 65 74 75 72 6e 20 2d 31 3b 5c pk)) return -1;\
00031910: 6e 5c 6e 20 20 66 6f 72 20 28 69 20 3d 20 30 3b n\n for (i = 0;
00031920: 20 69 20 3c 20 6e 3b 20 69 2b 2b 29 20 6d 5b 69 i < n; i++) m[i
00031930: 5d 20 3d 20 73 6d 5b 69 5d 3b 5c 6e 20 20 66 6f ] = sm[i];\n fo
00031940: 72 20 28 69 20 3d 20 30 3b 20 69 20 3c 20 33 32 r (i = 0; i < 32
00031950: 3b 20 69 2b 2b 29 20 6d 5b 69 2b 33 32 5d 20 3d ; i++) m[i+32] =
00031960: 20 70 6b 5b 69 5d 3b 5c 6e 20 20 63 72 79 70 74 pk[i];\n crypt
00031970: 6f 5f 68 61 73 68 28 68 2c 20 6d 2c 20 6e 29 3b o_hash(h, m, n);
00031980: 5c 6e 20 20 72 65 64 75 63 65 28 68 29 3b 5c 6e \n reduce(h);\n
00031990: 20 20 73 63 61 6c 61 72 6d 75 6c 74 28 70 2c 20 scalarmult(p,
000319a0: 71 2c 20 68 29 3b 5c 6e 5c 6e 20 20 73 63 61 6c q, h);\n\n scal
000319b0: 61 72 62 61 73 65 28 71 2c 20 73 6d 2e 73 75 62 arbase(q, sm.sub
000319c0: 61 72 72 61 79 28 33 32 29 29 3b 5c 6e 20 20 61 array(32));\n a
000319d0: 64 64 28 70 2c 20 71 29 3b 5c 6e 20 20 70 61 63 dd(p, q);\n pac
000319e0: 6b 28 74 2c 20 70 29 3b 5c 6e 5c 6e 20 20 6e 20 k(t, p);\n\n n
000319f0: 2d 3d 20 36 34 3b 5c 6e 20 20 69 66 20 28 63 72 -= 64;\n if (cr
00031a00: 79 70 74 6f 5f 76 65 72 69 66 79 5f 33 32 28 73 ypto_verify_32(s
00031a10: 6d 2c 20 30 2c 20 74 2c 20 30 29 29 20 7b 5c 6e m, 0, t, 0)) {\n
00031a20: 20 20 20 20 66 6f 72 20 28 69 20 3d 20 30 3b 20 for (i = 0;
00031a30: 69 20 3c 20 6e 3b 20 69 2b 2b 29 20 6d 5b 69 5d i < n; i++) m[i]
00031a40: 20 3d 20 30 3b 5c 6e 20 20 20 20 72 65 74 75 72 = 0;\n retur
00031a50: 6e 20 2d 31 3b 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 n -1;\n }\n\n
00031a60: 66 6f 72 20 28 69 20 3d 20 30 3b 20 69 20 3c 20 for (i = 0; i <
00031a70: 6e 3b 20 69 2b 2b 29 20 6d 5b 69 5d 20 3d 20 73 n; i++) m[i] = s
00031a80: 6d 5b 69 20 2b 20 36 34 5d 3b 5c 6e 20 20 72 65 m[i + 64];\n re
00031a90: 74 75 72 6e 20 6e 3b 5c 6e 7d 5c 6e 5c 6e 76 61 turn n;\n}\n\nva
00031aa0: 72 20 63 72 79 70 74 6f 5f 73 65 63 72 65 74 62 r crypto_secretb
00031ab0: 6f 78 5f 4b 45 59 42 59 54 45 53 20 3d 20 33 32 ox_KEYBYTES = 32
00031ac0: 2c 5c 6e 20 20 20 20 63 72 79 70 74 6f 5f 73 65 ,\n crypto_se
00031ad0: 63 72 65 74 62 6f 78 5f 4e 4f 4e 43 45 42 59 54 cretbox_NONCEBYT
00031ae0: 45 53 20 3d 20 32 34 2c 5c 6e 20 20 20 20 63 72 ES = 24,\n cr
00031af0: 79 70 74 6f 5f 73 65 63 72 65 74 62 6f 78 5f 5a ypto_secretbox_Z
00031b00: 45 52 4f 42 59 54 45 53 20 3d 20 33 32 2c 5c 6e EROBYTES = 32,\n
00031b10: 20 20 20 20 63 72 79 70 74 6f 5f 73 65 63 72 65 crypto_secre
00031b20: 74 62 6f 78 5f 42 4f 58 5a 45 52 4f 42 59 54 45 tbox_BOXZEROBYTE
00031b30: 53 20 3d 20 31 36 2c 5c 6e 20 20 20 20 63 72 79 S = 16,\n cry
00031b40: 70 74 6f 5f 73 63 61 6c 61 72 6d 75 6c 74 5f 42 pto_scalarmult_B
00031b50: 59 54 45 53 20 3d 20 33 32 2c 5c 6e 20 20 20 20 YTES = 32,\n
00031b60: 63 72 79 70 74 6f 5f 73 63 61 6c 61 72 6d 75 6c crypto_scalarmul
00031b70: 74 5f 53 43 41 4c 41 52 42 59 54 45 53 20 3d 20 t_SCALARBYTES =
00031b80: 33 32 2c 5c 6e 20 20 20 20 63 72 79 70 74 6f 5f 32,\n crypto_
00031b90: 62 6f 78 5f 50 55 42 4c 49 43 4b 45 59 42 59 54 box_PUBLICKEYBYT
00031ba0: 45 53 20 3d 20 33 32 2c 5c 6e 20 20 20 20 63 72 ES = 32,\n cr
00031bb0: 79 70 74 6f 5f 62 6f 78 5f 53 45 43 52 45 54 4b ypto_box_SECRETK
00031bc0: 45 59 42 59 54 45 53 20 3d 20 33 32 2c 5c 6e 20 EYBYTES = 32,\n
00031bd0: 20 20 20 63 72 79 70 74 6f 5f 62 6f 78 5f 42 45 crypto_box_BE
00031be0: 46 4f 52 45 4e 4d 42 59 54 45 53 20 3d 20 33 32 FORENMBYTES = 32
00031bf0: 2c 5c 6e 20 20 20 20 63 72 79 70 74 6f 5f 62 6f ,\n crypto_bo
00031c00: 78 5f 4e 4f 4e 43 45 42 59 54 45 53 20 3d 20 63 x_NONCEBYTES = c
00031c10: 72 79 70 74 6f 5f 73 65 63 72 65 74 62 6f 78 5f rypto_secretbox_
00031c20: 4e 4f 4e 43 45 42 59 54 45 53 2c 5c 6e 20 20 20 NONCEBYTES,\n
00031c30: 20 63 72 79 70 74 6f 5f 62 6f 78 5f 5a 45 52 4f crypto_box_ZERO
00031c40: 42 59 54 45 53 20 3d 20 63 72 79 70 74 6f 5f 73 BYTES = crypto_s
00031c50: 65 63 72 65 74 62 6f 78 5f 5a 45 52 4f 42 59 54 ecretbox_ZEROBYT
00031c60: 45 53 2c 5c 6e 20 20 20 20 63 72 79 70 74 6f 5f ES,\n crypto_
00031c70: 62 6f 78 5f 42 4f 58 5a 45 52 4f 42 59 54 45 53 box_BOXZEROBYTES
00031c80: 20 3d 20 63 72 79 70 74 6f 5f 73 65 63 72 65 74 = crypto_secret
00031c90: 62 6f 78 5f 42 4f 58 5a 45 52 4f 42 59 54 45 53 box_BOXZEROBYTES
00031ca0: 2c 5c 6e 20 20 20 20 63 72 79 70 74 6f 5f 73 69 ,\n crypto_si
00031cb0: 67 6e 5f 42 59 54 45 53 20 3d 20 36 34 2c 5c 6e gn_BYTES = 64,\n
00031cc0: 20 20 20 20 63 72 79 70 74 6f 5f 73 69 67 6e 5f crypto_sign_
00031cd0: 50 55 42 4c 49 43 4b 45 59 42 59 54 45 53 20 3d PUBLICKEYBYTES =
00031ce0: 20 33 32 2c 5c 6e 20 20 20 20 63 72 79 70 74 6f 32,\n crypto
00031cf0: 5f 73 69 67 6e 5f 53 45 43 52 45 54 4b 45 59 42 _sign_SECRETKEYB
00031d00: 59 54 45 53 20 3d 20 36 34 2c 5c 6e 20 20 20 20 YTES = 64,\n
00031d10: 63 72 79 70 74 6f 5f 73 69 67 6e 5f 53 45 45 44 crypto_sign_SEED
00031d20: 42 59 54 45 53 20 3d 20 33 32 2c 5c 6e 20 20 20 BYTES = 32,\n
00031d30: 20 63 72 79 70 74 6f 5f 68 61 73 68 5f 42 59 54 crypto_hash_BYT
00031d40: 45 53 20 3d 20 36 34 3b 5c 6e 5c 6e 6e 61 63 6c ES = 64;\n\nnacl
00031d50: 2e 6c 6f 77 6c 65 76 65 6c 20 3d 20 7b 5c 6e 20 .lowlevel = {\n
00031d60: 20 63 72 79 70 74 6f 5f 63 6f 72 65 5f 68 73 61 crypto_core_hsa
00031d70: 6c 73 61 32 30 3a 20 63 72 79 70 74 6f 5f 63 6f lsa20: crypto_co
00031d80: 72 65 5f 68 73 61 6c 73 61 32 30 2c 5c 6e 20 20 re_hsalsa20,\n
00031d90: 63 72 79 70 74 6f 5f 73 74 72 65 61 6d 5f 78 6f crypto_stream_xo
00031da0: 72 3a 20 63 72 79 70 74 6f 5f 73 74 72 65 61 6d r: crypto_stream
00031db0: 5f 78 6f 72 2c 5c 6e 20 20 63 72 79 70 74 6f 5f _xor,\n crypto_
00031dc0: 73 74 72 65 61 6d 3a 20 63 72 79 70 74 6f 5f 73 stream: crypto_s
00031dd0: 74 72 65 61 6d 2c 5c 6e 20 20 63 72 79 70 74 6f tream,\n crypto
00031de0: 5f 73 74 72 65 61 6d 5f 73 61 6c 73 61 32 30 5f _stream_salsa20_
00031df0: 78 6f 72 3a 20 63 72 79 70 74 6f 5f 73 74 72 65 xor: crypto_stre
00031e00: 61 6d 5f 73 61 6c 73 61 32 30 5f 78 6f 72 2c 5c am_salsa20_xor,\
00031e10: 6e 20 20 63 72 79 70 74 6f 5f 73 74 72 65 61 6d n crypto_stream
00031e20: 5f 73 61 6c 73 61 32 30 3a 20 63 72 79 70 74 6f _salsa20: crypto
00031e30: 5f 73 74 72 65 61 6d 5f 73 61 6c 73 61 32 30 2c _stream_salsa20,
00031e40: 5c 6e 20 20 63 72 79 70 74 6f 5f 6f 6e 65 74 69 \n crypto_oneti
00031e50: 6d 65 61 75 74 68 3a 20 63 72 79 70 74 6f 5f 6f meauth: crypto_o
00031e60: 6e 65 74 69 6d 65 61 75 74 68 2c 5c 6e 20 20 63 netimeauth,\n c
00031e70: 72 79 70 74 6f 5f 6f 6e 65 74 69 6d 65 61 75 74 rypto_onetimeaut
00031e80: 68 5f 76 65 72 69 66 79 3a 20 63 72 79 70 74 6f h_verify: crypto
00031e90: 5f 6f 6e 65 74 69 6d 65 61 75 74 68 5f 76 65 72 _onetimeauth_ver
00031ea0: 69 66 79 2c 5c 6e 20 20 63 72 79 70 74 6f 5f 76 ify,\n crypto_v
00031eb0: 65 72 69 66 79 5f 31 36 3a 20 63 72 79 70 74 6f erify_16: crypto
00031ec0: 5f 76 65 72 69 66 79 5f 31 36 2c 5c 6e 20 20 63 _verify_16,\n c
00031ed0: 72 79 70 74 6f 5f 76 65 72 69 66 79 5f 33 32 3a rypto_verify_32:
00031ee0: 20 63 72 79 70 74 6f 5f 76 65 72 69 66 79 5f 33 crypto_verify_3
00031ef0: 32 2c 5c 6e 20 20 63 72 79 70 74 6f 5f 73 65 63 2,\n crypto_sec
00031f00: 72 65 74 62 6f 78 3a 20 63 72 79 70 74 6f 5f 73 retbox: crypto_s
00031f10: 65 63 72 65 74 62 6f 78 2c 5c 6e 20 20 63 72 79 ecretbox,\n cry
00031f20: 70 74 6f 5f 73 65 63 72 65 74 62 6f 78 5f 6f 70 pto_secretbox_op
00031f30: 65 6e 3a 20 63 72 79 70 74 6f 5f 73 65 63 72 65 en: crypto_secre
00031f40: 74 62 6f 78 5f 6f 70 65 6e 2c 5c 6e 20 20 63 72 tbox_open,\n cr
00031f50: 79 70 74 6f 5f 73 63 61 6c 61 72 6d 75 6c 74 3a ypto_scalarmult:
00031f60: 20 63 72 79 70 74 6f 5f 73 63 61 6c 61 72 6d 75 crypto_scalarmu
00031f70: 6c 74 2c 5c 6e 20 20 63 72 79 70 74 6f 5f 73 63 lt,\n crypto_sc
00031f80: 61 6c 61 72 6d 75 6c 74 5f 62 61 73 65 3a 20 63 alarmult_base: c
00031f90: 72 79 70 74 6f 5f 73 63 61 6c 61 72 6d 75 6c 74 rypto_scalarmult
00031fa0: 5f 62 61 73 65 2c 5c 6e 20 20 63 72 79 70 74 6f _base,\n crypto
00031fb0: 5f 62 6f 78 5f 62 65 66 6f 72 65 6e 6d 3a 20 63 _box_beforenm: c
00031fc0: 72 79 70 74 6f 5f 62 6f 78 5f 62 65 66 6f 72 65 rypto_box_before
00031fd0: 6e 6d 2c 5c 6e 20 20 63 72 79 70 74 6f 5f 62 6f nm,\n crypto_bo
00031fe0: 78 5f 61 66 74 65 72 6e 6d 3a 20 63 72 79 70 74 x_afternm: crypt
00031ff0: 6f 5f 62 6f 78 5f 61 66 74 65 72 6e 6d 2c 5c 6e o_box_afternm,\n
00032000: 20 20 63 72 79 70 74 6f 5f 62 6f 78 3a 20 63 72 crypto_box: cr
00032010: 79 70 74 6f 5f 62 6f 78 2c 5c 6e 20 20 63 72 79 ypto_box,\n cry
00032020: 70 74 6f 5f 62 6f 78 5f 6f 70 65 6e 3a 20 63 72 pto_box_open: cr
00032030: 79 70 74 6f 5f 62 6f 78 5f 6f 70 65 6e 2c 5c 6e ypto_box_open,\n
00032040: 20 20 63 72 79 70 74 6f 5f 62 6f 78 5f 6b 65 79 crypto_box_key
00032050: 70 61 69 72 3a 20 63 72 79 70 74 6f 5f 62 6f 78 pair: crypto_box
00032060: 5f 6b 65 79 70 61 69 72 2c 5c 6e 20 20 63 72 79 _keypair,\n cry
00032070: 70 74 6f 5f 68 61 73 68 3a 20 63 72 79 70 74 6f pto_hash: crypto
00032080: 5f 68 61 73 68 2c 5c 6e 20 20 63 72 79 70 74 6f _hash,\n crypto
00032090: 5f 73 69 67 6e 3a 20 63 72 79 70 74 6f 5f 73 69 _sign: crypto_si
000320a0: 67 6e 2c 5c 6e 20 20 63 72 79 70 74 6f 5f 73 69 gn,\n crypto_si
000320b0: 67 6e 5f 6b 65 79 70 61 69 72 3a 20 63 72 79 70 gn_keypair: cryp
000320c0: 74 6f 5f 73 69 67 6e 5f 6b 65 79 70 61 69 72 2c to_sign_keypair,
000320d0: 5c 6e 20 20 63 72 79 70 74 6f 5f 73 69 67 6e 5f \n crypto_sign_
000320e0: 6f 70 65 6e 3a 20 63 72 79 70 74 6f 5f 73 69 67 open: crypto_sig
000320f0: 6e 5f 6f 70 65 6e 2c 5c 6e 5c 6e 20 20 63 72 79 n_open,\n\n cry
00032100: 70 74 6f 5f 73 65 63 72 65 74 62 6f 78 5f 4b 45 pto_secretbox_KE
00032110: 59 42 59 54 45 53 3a 20 63 72 79 70 74 6f 5f 73 YBYTES: crypto_s
00032120: 65 63 72 65 74 62 6f 78 5f 4b 45 59 42 59 54 45 ecretbox_KEYBYTE
00032130: 53 2c 5c 6e 20 20 63 72 79 70 74 6f 5f 73 65 63 S,\n crypto_sec
00032140: 72 65 74 62 6f 78 5f 4e 4f 4e 43 45 42 59 54 45 retbox_NONCEBYTE
00032150: 53 3a 20 63 72 79 70 74 6f 5f 73 65 63 72 65 74 S: crypto_secret
00032160: 62 6f 78 5f 4e 4f 4e 43 45 42 59 54 45 53 2c 5c box_NONCEBYTES,\
00032170: 6e 20 20 63 72 79 70 74 6f 5f 73 65 63 72 65 74 n crypto_secret
00032180: 62 6f 78 5f 5a 45 52 4f 42 59 54 45 53 3a 20 63 box_ZEROBYTES: c
00032190: 72 79 70 74 6f 5f 73 65 63 72 65 74 62 6f 78 5f rypto_secretbox_
000321a0: 5a 45 52 4f 42 59 54 45 53 2c 5c 6e 20 20 63 72 ZEROBYTES,\n cr
000321b0: 79 70 74 6f 5f 73 65 63 72 65 74 62 6f 78 5f 42 ypto_secretbox_B
000321c0: 4f 58 5a 45 52 4f 42 59 54 45 53 3a 20 63 72 79 OXZEROBYTES: cry
000321d0: 70 74 6f 5f 73 65 63 72 65 74 62 6f 78 5f 42 4f pto_secretbox_BO
000321e0: 58 5a 45 52 4f 42 59 54 45 53 2c 5c 6e 20 20 63 XZEROBYTES,\n c
000321f0: 72 79 70 74 6f 5f 73 63 61 6c 61 72 6d 75 6c 74 rypto_scalarmult
00032200: 5f 42 59 54 45 53 3a 20 63 72 79 70 74 6f 5f 73 _BYTES: crypto_s
00032210: 63 61 6c 61 72 6d 75 6c 74 5f 42 59 54 45 53 2c calarmult_BYTES,
00032220: 5c 6e 20 20 63 72 79 70 74 6f 5f 73 63 61 6c 61 \n crypto_scala
00032230: 72 6d 75 6c 74 5f 53 43 41 4c 41 52 42 59 54 45 rmult_SCALARBYTE
00032240: 53 3a 20 63 72 79 70 74 6f 5f 73 63 61 6c 61 72 S: crypto_scalar
00032250: 6d 75 6c 74 5f 53 43 41 4c 41 52 42 59 54 45 53 mult_SCALARBYTES
00032260: 2c 5c 6e 20 20 63 72 79 70 74 6f 5f 62 6f 78 5f ,\n crypto_box_
00032270: 50 55 42 4c 49 43 4b 45 59 42 59 54 45 53 3a 20 PUBLICKEYBYTES:
00032280: 63 72 79 70 74 6f 5f 62 6f 78 5f 50 55 42 4c 49 crypto_box_PUBLI
00032290: 43 4b 45 59 42 59 54 45 53 2c 5c 6e 20 20 63 72 CKEYBYTES,\n cr
000322a0: 79 70 74 6f 5f 62 6f 78 5f 53 45 43 52 45 54 4b ypto_box_SECRETK
000322b0: 45 59 42 59 54 45 53 3a 20 63 72 79 70 74 6f 5f EYBYTES: crypto_
000322c0: 62 6f 78 5f 53 45 43 52 45 54 4b 45 59 42 59 54 box_SECRETKEYBYT
000322d0: 45 53 2c 5c 6e 20 20 63 72 79 70 74 6f 5f 62 6f ES,\n crypto_bo
000322e0: 78 5f 42 45 46 4f 52 45 4e 4d 42 59 54 45 53 3a x_BEFORENMBYTES:
000322f0: 20 63 72 79 70 74 6f 5f 62 6f 78 5f 42 45 46 4f crypto_box_BEFO
00032300: 52 45 4e 4d 42 59 54 45 53 2c 5c 6e 20 20 63 72 RENMBYTES,\n cr
00032310: 79 70 74 6f 5f 62 6f 78 5f 4e 4f 4e 43 45 42 59 ypto_box_NONCEBY
00032320: 54 45 53 3a 20 63 72 79 70 74 6f 5f 62 6f 78 5f TES: crypto_box_
00032330: 4e 4f 4e 43 45 42 59 54 45 53 2c 5c 6e 20 20 63 NONCEBYTES,\n c
00032340: 72 79 70 74 6f 5f 62 6f 78 5f 5a 45 52 4f 42 59 rypto_box_ZEROBY
00032350: 54 45 53 3a 20 63 72 79 70 74 6f 5f 62 6f 78 5f TES: crypto_box_
00032360: 5a 45 52 4f 42 59 54 45 53 2c 5c 6e 20 20 63 72 ZEROBYTES,\n cr
00032370: 79 70 74 6f 5f 62 6f 78 5f 42 4f 58 5a 45 52 4f ypto_box_BOXZERO
00032380: 42 59 54 45 53 3a 20 63 72 79 70 74 6f 5f 62 6f BYTES: crypto_bo
00032390: 78 5f 42 4f 58 5a 45 52 4f 42 59 54 45 53 2c 5c x_BOXZEROBYTES,\
000323a0: 6e 20 20 63 72 79 70 74 6f 5f 73 69 67 6e 5f 42 n crypto_sign_B
000323b0: 59 54 45 53 3a 20 63 72 79 70 74 6f 5f 73 69 67 YTES: crypto_sig
000323c0: 6e 5f 42 59 54 45 53 2c 5c 6e 20 20 63 72 79 70 n_BYTES,\n cryp
000323d0: 74 6f 5f 73 69 67 6e 5f 50 55 42 4c 49 43 4b 45 to_sign_PUBLICKE
000323e0: 59 42 59 54 45 53 3a 20 63 72 79 70 74 6f 5f 73 YBYTES: crypto_s
000323f0: 69 67 6e 5f 50 55 42 4c 49 43 4b 45 59 42 59 54 ign_PUBLICKEYBYT
00032400: 45 53 2c 5c 6e 20 20 63 72 79 70 74 6f 5f 73 69 ES,\n crypto_si
00032410: 67 6e 5f 53 45 43 52 45 54 4b 45 59 42 59 54 45 gn_SECRETKEYBYTE
00032420: 53 3a 20 63 72 79 70 74 6f 5f 73 69 67 6e 5f 53 S: crypto_sign_S
00032430: 45 43 52 45 54 4b 45 59 42 59 54 45 53 2c 5c 6e ECRETKEYBYTES,\n
00032440: 20 20 63 72 79 70 74 6f 5f 73 69 67 6e 5f 53 45 crypto_sign_SE
00032450: 45 44 42 59 54 45 53 3a 20 63 72 79 70 74 6f 5f EDBYTES: crypto_
00032460: 73 69 67 6e 5f 53 45 45 44 42 59 54 45 53 2c 5c sign_SEEDBYTES,\
00032470: 6e 20 20 63 72 79 70 74 6f 5f 68 61 73 68 5f 42 n crypto_hash_B
00032480: 59 54 45 53 3a 20 63 72 79 70 74 6f 5f 68 61 73 YTES: crypto_has
00032490: 68 5f 42 59 54 45 53 2c 5c 6e 5c 6e 20 20 67 66 h_BYTES,\n\n gf
000324a0: 3a 20 67 66 2c 5c 6e 20 20 44 3a 20 44 2c 5c 6e : gf,\n D: D,\n
000324b0: 20 20 4c 3a 20 4c 2c 5c 6e 20 20 70 61 63 6b 32 L: L,\n pack2
000324c0: 35 35 31 39 3a 20 70 61 63 6b 32 35 35 31 39 2c 5519: pack25519,
000324d0: 5c 6e 20 20 75 6e 70 61 63 6b 32 35 35 31 39 3a \n unpack25519:
000324e0: 20 75 6e 70 61 63 6b 32 35 35 31 39 2c 5c 6e 20 unpack25519,\n
000324f0: 20 4d 3a 20 4d 2c 5c 6e 20 20 41 3a 20 41 2c 5c M: M,\n A: A,\
00032500: 6e 20 20 53 3a 20 53 2c 5c 6e 20 20 5a 3a 20 5a n S: S,\n Z: Z
00032510: 2c 5c 6e 20 20 70 6f 77 32 35 32 33 3a 20 70 6f ,\n pow2523: po
00032520: 77 32 35 32 33 2c 5c 6e 20 20 61 64 64 3a 20 61 w2523,\n add: a
00032530: 64 64 2c 5c 6e 20 20 73 65 74 32 35 35 31 39 3a dd,\n set25519:
00032540: 20 73 65 74 32 35 35 31 39 2c 5c 6e 20 20 6d 6f set25519,\n mo
00032550: 64 4c 3a 20 6d 6f 64 4c 2c 5c 6e 20 20 73 63 61 dL: modL,\n sca
00032560: 6c 61 72 6d 75 6c 74 3a 20 73 63 61 6c 61 72 6d larmult: scalarm
00032570: 75 6c 74 2c 5c 6e 20 20 73 63 61 6c 61 72 62 61 ult,\n scalarba
00032580: 73 65 3a 20 73 63 61 6c 61 72 62 61 73 65 2c 5c se: scalarbase,\
00032590: 6e 7d 3b 5c 6e 5c 6e 2f 2a 20 48 69 67 68 2d 6c n};\n\n/* High-l
000325a0: 65 76 65 6c 20 41 50 49 20 2a 2f 5c 6e 5c 6e 66 evel API */\n\nf
000325b0: 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 4c 65 6e unction checkLen
000325c0: 67 74 68 73 28 6b 2c 20 6e 29 20 7b 5c 6e 20 20 gths(k, n) {\n
000325d0: 69 66 20 28 6b 2e 6c 65 6e 67 74 68 20 21 3d 3d if (k.length !==
000325e0: 20 63 72 79 70 74 6f 5f 73 65 63 72 65 74 62 6f crypto_secretbo
000325f0: 78 5f 4b 45 59 42 59 54 45 53 29 20 74 68 72 6f x_KEYBYTES) thro
00032600: 77 20 6e 65 77 20 45 72 72 6f 72 28 27 62 61 64 w new Error('bad
00032610: 20 6b 65 79 20 73 69 7a 65 27 29 3b 5c 6e 20 20 key size');\n
00032620: 69 66 20 28 6e 2e 6c 65 6e 67 74 68 20 21 3d 3d if (n.length !==
00032630: 20 63 72 79 70 74 6f 5f 73 65 63 72 65 74 62 6f crypto_secretbo
00032640: 78 5f 4e 4f 4e 43 45 42 59 54 45 53 29 20 74 68 x_NONCEBYTES) th
00032650: 72 6f 77 20 6e 65 77 20 45 72 72 6f 72 28 27 62 row new Error('b
00032660: 61 64 20 6e 6f 6e 63 65 20 73 69 7a 65 27 29 3b ad nonce size');
00032670: 5c 6e 7d 5c 6e 5c 6e 66 75 6e 63 74 69 6f 6e 20 \n}\n\nfunction
00032680: 63 68 65 63 6b 42 6f 78 4c 65 6e 67 74 68 73 28 checkBoxLengths(
00032690: 70 6b 2c 20 73 6b 29 20 7b 5c 6e 20 20 69 66 20 pk, sk) {\n if
000326a0: 28 70 6b 2e 6c 65 6e 67 74 68 20 21 3d 3d 20 63 (pk.length !== c
000326b0: 72 79 70 74 6f 5f 62 6f 78 5f 50 55 42 4c 49 43 rypto_box_PUBLIC
000326c0: 4b 45 59 42 59 54 45 53 29 20 74 68 72 6f 77 20 KEYBYTES) throw
000326d0: 6e 65 77 20 45 72 72 6f 72 28 27 62 61 64 20 70 new Error('bad p
000326e0: 75 62 6c 69 63 20 6b 65 79 20 73 69 7a 65 27 29 ublic key size')
000326f0: 3b 5c 6e 20 20 69 66 20 28 73 6b 2e 6c 65 6e 67 ;\n if (sk.leng
00032700: 74 68 20 21 3d 3d 20 63 72 79 70 74 6f 5f 62 6f th !== crypto_bo
00032710: 78 5f 53 45 43 52 45 54 4b 45 59 42 59 54 45 53 x_SECRETKEYBYTES
00032720: 29 20 74 68 72 6f 77 20 6e 65 77 20 45 72 72 6f ) throw new Erro
00032730: 72 28 27 62 61 64 20 73 65 63 72 65 74 20 6b 65 r('bad secret ke
00032740: 79 20 73 69 7a 65 27 29 3b 5c 6e 7d 5c 6e 5c 6e y size');\n}\n\n
00032750: 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 41 72 function checkAr
00032760: 72 61 79 54 79 70 65 73 28 29 20 7b 5c 6e 20 20 rayTypes() {\n
00032770: 66 6f 72 20 28 76 61 72 20 69 20 3d 20 30 3b 20 for (var i = 0;
00032780: 69 20 3c 20 61 72 67 75 6d 65 6e 74 73 2e 6c 65 i < arguments.le
00032790: 6e 67 74 68 3b 20 69 2b 2b 29 20 7b 5c 6e 20 20 ngth; i++) {\n
000327a0: 20 20 69 66 20 28 21 28 61 72 67 75 6d 65 6e 74 if (!(argument
000327b0: 73 5b 69 5d 20 69 6e 73 74 61 6e 63 65 6f 66 20 s[i] instanceof
000327c0: 55 69 6e 74 38 41 72 72 61 79 29 29 5c 6e 20 20 Uint8Array))\n
000327d0: 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 54 79 throw new Ty
000327e0: 70 65 45 72 72 6f 72 28 27 75 6e 65 78 70 65 63 peError('unexpec
000327f0: 74 65 64 20 74 79 70 65 2c 20 75 73 65 20 55 69 ted type, use Ui
00032800: 6e 74 38 41 72 72 61 79 27 29 3b 5c 6e 20 20 7d nt8Array');\n }
00032810: 5c 6e 7d 5c 6e 5c 6e 66 75 6e 63 74 69 6f 6e 20 \n}\n\nfunction
00032820: 63 6c 65 61 6e 75 70 28 61 72 72 29 20 7b 5c 6e cleanup(arr) {\n
00032830: 20 20 66 6f 72 20 28 76 61 72 20 69 20 3d 20 30 for (var i = 0
00032840: 3b 20 69 20 3c 20 61 72 72 2e 6c 65 6e 67 74 68 ; i < arr.length
00032850: 3b 20 69 2b 2b 29 20 61 72 72 5b 69 5d 20 3d 20 ; i++) arr[i] =
00032860: 30 3b 5c 6e 7d 5c 6e 5c 6e 6e 61 63 6c 2e 72 61 0;\n}\n\nnacl.ra
00032870: 6e 64 6f 6d 42 79 74 65 73 20 3d 20 66 75 6e 63 ndomBytes = func
00032880: 74 69 6f 6e 28 6e 29 20 7b 5c 6e 20 20 76 61 72 tion(n) {\n var
00032890: 20 62 20 3d 20 6e 65 77 20 55 69 6e 74 38 41 72 b = new Uint8Ar
000328a0: 72 61 79 28 6e 29 3b 5c 6e 20 20 72 61 6e 64 6f ray(n);\n rando
000328b0: 6d 62 79 74 65 73 28 62 2c 20 6e 29 3b 5c 6e 20 mbytes(b, n);\n
000328c0: 20 72 65 74 75 72 6e 20 62 3b 5c 6e 7d 3b 5c 6e return b;\n};\n
000328d0: 5c 6e 6e 61 63 6c 2e 73 65 63 72 65 74 62 6f 78 \nnacl.secretbox
000328e0: 20 3d 20 66 75 6e 63 74 69 6f 6e 28 6d 73 67 2c = function(msg,
000328f0: 20 6e 6f 6e 63 65 2c 20 6b 65 79 29 20 7b 5c 6e nonce, key) {\n
00032900: 20 20 63 68 65 63 6b 41 72 72 61 79 54 79 70 65 checkArrayType
00032910: 73 28 6d 73 67 2c 20 6e 6f 6e 63 65 2c 20 6b 65 s(msg, nonce, ke
00032920: 79 29 3b 5c 6e 20 20 63 68 65 63 6b 4c 65 6e 67 y);\n checkLeng
00032930: 74 68 73 28 6b 65 79 2c 20 6e 6f 6e 63 65 29 3b ths(key, nonce);
00032940: 5c 6e 20 20 76 61 72 20 6d 20 3d 20 6e 65 77 20 \n var m = new
00032950: 55 69 6e 74 38 41 72 72 61 79 28 63 72 79 70 74 Uint8Array(crypt
00032960: 6f 5f 73 65 63 72 65 74 62 6f 78 5f 5a 45 52 4f o_secretbox_ZERO
00032970: 42 59 54 45 53 20 2b 20 6d 73 67 2e 6c 65 6e 67 BYTES + msg.leng
00032980: 74 68 29 3b 5c 6e 20 20 76 61 72 20 63 20 3d 20 th);\n var c =
00032990: 6e 65 77 20 55 69 6e 74 38 41 72 72 61 79 28 6d new Uint8Array(m
000329a0: 2e 6c 65 6e 67 74 68 29 3b 5c 6e 20 20 66 6f 72 .length);\n for
000329b0: 20 28 76 61 72 20 69 20 3d 20 30 3b 20 69 20 3c (var i = 0; i <
000329c0: 20 6d 73 67 2e 6c 65 6e 67 74 68 3b 20 69 2b 2b msg.length; i++
000329d0: 29 20 6d 5b 69 2b 63 72 79 70 74 6f 5f 73 65 63 ) m[i+crypto_sec
000329e0: 72 65 74 62 6f 78 5f 5a 45 52 4f 42 59 54 45 53 retbox_ZEROBYTES
000329f0: 5d 20 3d 20 6d 73 67 5b 69 5d 3b 5c 6e 20 20 63 ] = msg[i];\n c
00032a00: 72 79 70 74 6f 5f 73 65 63 72 65 74 62 6f 78 28 rypto_secretbox(
00032a10: 63 2c 20 6d 2c 20 6d 2e 6c 65 6e 67 74 68 2c 20 c, m, m.length,
00032a20: 6e 6f 6e 63 65 2c 20 6b 65 79 29 3b 5c 6e 20 20 nonce, key);\n
00032a30: 72 65 74 75 72 6e 20 63 2e 73 75 62 61 72 72 61 return c.subarra
00032a40: 79 28 63 72 79 70 74 6f 5f 73 65 63 72 65 74 62 y(crypto_secretb
00032a50: 6f 78 5f 42 4f 58 5a 45 52 4f 42 59 54 45 53 29 ox_BOXZEROBYTES)
00032a60: 3b 5c 6e 7d 3b 5c 6e 5c 6e 6e 61 63 6c 2e 73 65 ;\n};\n\nnacl.se
00032a70: 63 72 65 74 62 6f 78 2e 6f 70 65 6e 20 3d 20 66 cretbox.open = f
00032a80: 75 6e 63 74 69 6f 6e 28 62 6f 78 2c 20 6e 6f 6e unction(box, non
00032a90: 63 65 2c 20 6b 65 79 29 20 7b 5c 6e 20 20 63 68 ce, key) {\n ch
00032aa0: 65 63 6b 41 72 72 61 79 54 79 70 65 73 28 62 6f eckArrayTypes(bo
00032ab0: 78 2c 20 6e 6f 6e 63 65 2c 20 6b 65 79 29 3b 5c x, nonce, key);\
00032ac0: 6e 20 20 63 68 65 63 6b 4c 65 6e 67 74 68 73 28 n checkLengths(
00032ad0: 6b 65 79 2c 20 6e 6f 6e 63 65 29 3b 5c 6e 20 20 key, nonce);\n
00032ae0: 76 61 72 20 63 20 3d 20 6e 65 77 20 55 69 6e 74 var c = new Uint
00032af0: 38 41 72 72 61 79 28 63 72 79 70 74 6f 5f 73 65 8Array(crypto_se
00032b00: 63 72 65 74 62 6f 78 5f 42 4f 58 5a 45 52 4f 42 cretbox_BOXZEROB
00032b10: 59 54 45 53 20 2b 20 62 6f 78 2e 6c 65 6e 67 74 YTES + box.lengt
00032b20: 68 29 3b 5c 6e 20 20 76 61 72 20 6d 20 3d 20 6e h);\n var m = n
00032b30: 65 77 20 55 69 6e 74 38 41 72 72 61 79 28 63 2e ew Uint8Array(c.
00032b40: 6c 65 6e 67 74 68 29 3b 5c 6e 20 20 66 6f 72 20 length);\n for
00032b50: 28 76 61 72 20 69 20 3d 20 30 3b 20 69 20 3c 20 (var i = 0; i <
00032b60: 62 6f 78 2e 6c 65 6e 67 74 68 3b 20 69 2b 2b 29 box.length; i++)
00032b70: 20 63 5b 69 2b 63 72 79 70 74 6f 5f 73 65 63 72 c[i+crypto_secr
00032b80: 65 74 62 6f 78 5f 42 4f 58 5a 45 52 4f 42 59 54 etbox_BOXZEROBYT
00032b90: 45 53 5d 20 3d 20 62 6f 78 5b 69 5d 3b 5c 6e 20 ES] = box[i];\n
00032ba0: 20 69 66 20 28 63 2e 6c 65 6e 67 74 68 20 3c 20 if (c.length <
00032bb0: 33 32 29 20 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 32) return null;
00032bc0: 5c 6e 20 20 69 66 20 28 63 72 79 70 74 6f 5f 73 \n if (crypto_s
00032bd0: 65 63 72 65 74 62 6f 78 5f 6f 70 65 6e 28 6d 2c ecretbox_open(m,
00032be0: 20 63 2c 20 63 2e 6c 65 6e 67 74 68 2c 20 6e 6f c, c.length, no
00032bf0: 6e 63 65 2c 20 6b 65 79 29 20 21 3d 3d 20 30 29 nce, key) !== 0)
00032c00: 20 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 5c 6e 20 return null;\n
00032c10: 20 72 65 74 75 72 6e 20 6d 2e 73 75 62 61 72 72 return m.subarr
00032c20: 61 79 28 63 72 79 70 74 6f 5f 73 65 63 72 65 74 ay(crypto_secret
00032c30: 62 6f 78 5f 5a 45 52 4f 42 59 54 45 53 29 3b 5c box_ZEROBYTES);\
00032c40: 6e 7d 3b 5c 6e 5c 6e 6e 61 63 6c 2e 73 65 63 72 n};\n\nnacl.secr
00032c50: 65 74 62 6f 78 2e 6b 65 79 4c 65 6e 67 74 68 20 etbox.keyLength
00032c60: 3d 20 63 72 79 70 74 6f 5f 73 65 63 72 65 74 62 = crypto_secretb
00032c70: 6f 78 5f 4b 45 59 42 59 54 45 53 3b 5c 6e 6e 61 ox_KEYBYTES;\nna
00032c80: 63 6c 2e 73 65 63 72 65 74 62 6f 78 2e 6e 6f 6e cl.secretbox.non
00032c90: 63 65 4c 65 6e 67 74 68 20 3d 20 63 72 79 70 74 ceLength = crypt
00032ca0: 6f 5f 73 65 63 72 65 74 62 6f 78 5f 4e 4f 4e 43 o_secretbox_NONC
00032cb0: 45 42 59 54 45 53 3b 5c 6e 6e 61 63 6c 2e 73 65 EBYTES;\nnacl.se
00032cc0: 63 72 65 74 62 6f 78 2e 6f 76 65 72 68 65 61 64 cretbox.overhead
00032cd0: 4c 65 6e 67 74 68 20 3d 20 63 72 79 70 74 6f 5f Length = crypto_
00032ce0: 73 65 63 72 65 74 62 6f 78 5f 42 4f 58 5a 45 52 secretbox_BOXZER
00032cf0: 4f 42 59 54 45 53 3b 5c 6e 5c 6e 6e 61 63 6c 2e OBYTES;\n\nnacl.
00032d00: 73 63 61 6c 61 72 4d 75 6c 74 20 3d 20 66 75 6e scalarMult = fun
00032d10: 63 74 69 6f 6e 28 6e 2c 20 70 29 20 7b 5c 6e 20 ction(n, p) {\n
00032d20: 20 63 68 65 63 6b 41 72 72 61 79 54 79 70 65 73 checkArrayTypes
00032d30: 28 6e 2c 20 70 29 3b 5c 6e 20 20 69 66 20 28 6e (n, p);\n if (n
00032d40: 2e 6c 65 6e 67 74 68 20 21 3d 3d 20 63 72 79 70 .length !== cryp
00032d50: 74 6f 5f 73 63 61 6c 61 72 6d 75 6c 74 5f 53 43 to_scalarmult_SC
00032d60: 41 4c 41 52 42 59 54 45 53 29 20 74 68 72 6f 77 ALARBYTES) throw
00032d70: 20 6e 65 77 20 45 72 72 6f 72 28 27 62 61 64 20 new Error('bad
00032d80: 6e 20 73 69 7a 65 27 29 3b 5c 6e 20 20 69 66 20 n size');\n if
00032d90: 28 70 2e 6c 65 6e 67 74 68 20 21 3d 3d 20 63 72 (p.length !== cr
00032da0: 79 70 74 6f 5f 73 63 61 6c 61 72 6d 75 6c 74 5f ypto_scalarmult_
00032db0: 42 59 54 45 53 29 20 74 68 72 6f 77 20 6e 65 77 BYTES) throw new
00032dc0: 20 45 72 72 6f 72 28 27 62 61 64 20 70 20 73 69 Error('bad p si
00032dd0: 7a 65 27 29 3b 5c 6e 20 20 76 61 72 20 71 20 3d ze');\n var q =
00032de0: 20 6e 65 77 20 55 69 6e 74 38 41 72 72 61 79 28 new Uint8Array(
00032df0: 63 72 79 70 74 6f 5f 73 63 61 6c 61 72 6d 75 6c crypto_scalarmul
00032e00: 74 5f 42 59 54 45 53 29 3b 5c 6e 20 20 63 72 79 t_BYTES);\n cry
00032e10: 70 74 6f 5f 73 63 61 6c 61 72 6d 75 6c 74 28 71 pto_scalarmult(q
00032e20: 2c 20 6e 2c 20 70 29 3b 5c 6e 20 20 72 65 74 75 , n, p);\n retu
00032e30: 72 6e 20 71 3b 5c 6e 7d 3b 5c 6e 5c 6e 6e 61 63 rn q;\n};\n\nnac
00032e40: 6c 2e 73 63 61 6c 61 72 4d 75 6c 74 2e 62 61 73 l.scalarMult.bas
00032e50: 65 20 3d 20 66 75 6e 63 74 69 6f 6e 28 6e 29 20 e = function(n)
00032e60: 7b 5c 6e 20 20 63 68 65 63 6b 41 72 72 61 79 54 {\n checkArrayT
00032e70: 79 70 65 73 28 6e 29 3b 5c 6e 20 20 69 66 20 28 ypes(n);\n if (
00032e80: 6e 2e 6c 65 6e 67 74 68 20 21 3d 3d 20 63 72 79 n.length !== cry
00032e90: 70 74 6f 5f 73 63 61 6c 61 72 6d 75 6c 74 5f 53 pto_scalarmult_S
00032ea0: 43 41 4c 41 52 42 59 54 45 53 29 20 74 68 72 6f CALARBYTES) thro
00032eb0: 77 20 6e 65 77 20 45 72 72 6f 72 28 27 62 61 64 w new Error('bad
00032ec0: 20 6e 20 73 69 7a 65 27 29 3b 5c 6e 20 20 76 61 n size');\n va
00032ed0: 72 20 71 20 3d 20 6e 65 77 20 55 69 6e 74 38 41 r q = new Uint8A
00032ee0: 72 72 61 79 28 63 72 79 70 74 6f 5f 73 63 61 6c rray(crypto_scal
00032ef0: 61 72 6d 75 6c 74 5f 42 59 54 45 53 29 3b 5c 6e armult_BYTES);\n
00032f00: 20 20 63 72 79 70 74 6f 5f 73 63 61 6c 61 72 6d crypto_scalarm
00032f10: 75 6c 74 5f 62 61 73 65 28 71 2c 20 6e 29 3b 5c ult_base(q, n);\
00032f20: 6e 20 20 72 65 74 75 72 6e 20 71 3b 5c 6e 7d 3b n return q;\n};
00032f30: 5c 6e 5c 6e 6e 61 63 6c 2e 73 63 61 6c 61 72 4d \n\nnacl.scalarM
00032f40: 75 6c 74 2e 73 63 61 6c 61 72 4c 65 6e 67 74 68 ult.scalarLength
00032f50: 20 3d 20 63 72 79 70 74 6f 5f 73 63 61 6c 61 72 = crypto_scalar
00032f60: 6d 75 6c 74 5f 53 43 41 4c 41 52 42 59 54 45 53 mult_SCALARBYTES
00032f70: 3b 5c 6e 6e 61 63 6c 2e 73 63 61 6c 61 72 4d 75 ;\nnacl.scalarMu
00032f80: 6c 74 2e 67 72 6f 75 70 45 6c 65 6d 65 6e 74 4c lt.groupElementL
00032f90: 65 6e 67 74 68 20 3d 20 63 72 79 70 74 6f 5f 73 ength = crypto_s
00032fa0: 63 61 6c 61 72 6d 75 6c 74 5f 42 59 54 45 53 3b calarmult_BYTES;
00032fb0: 5c 6e 5c 6e 6e 61 63 6c 2e 62 6f 78 20 3d 20 66 \n\nnacl.box = f
00032fc0: 75 6e 63 74 69 6f 6e 28 6d 73 67 2c 20 6e 6f 6e unction(msg, non
00032fd0: 63 65 2c 20 70 75 62 6c 69 63 4b 65 79 2c 20 73 ce, publicKey, s
00032fe0: 65 63 72 65 74 4b 65 79 29 20 7b 5c 6e 20 20 76 ecretKey) {\n v
00032ff0: 61 72 20 6b 20 3d 20 6e 61 63 6c 2e 62 6f 78 2e ar k = nacl.box.
00033000: 62 65 66 6f 72 65 28 70 75 62 6c 69 63 4b 65 79 before(publicKey
00033010: 2c 20 73 65 63 72 65 74 4b 65 79 29 3b 5c 6e 20 , secretKey);\n
00033020: 20 72 65 74 75 72 6e 20 6e 61 63 6c 2e 73 65 63 return nacl.sec
00033030: 72 65 74 62 6f 78 28 6d 73 67 2c 20 6e 6f 6e 63 retbox(msg, nonc
00033040: 65 2c 20 6b 29 3b 5c 6e 7d 3b 5c 6e 5c 6e 6e 61 e, k);\n};\n\nna
00033050: 63 6c 2e 62 6f 78 2e 62 65 66 6f 72 65 20 3d 20 cl.box.before =
00033060: 66 75 6e 63 74 69 6f 6e 28 70 75 62 6c 69 63 4b function(publicK
00033070: 65 79 2c 20 73 65 63 72 65 74 4b 65 79 29 20 7b ey, secretKey) {
00033080: 5c 6e 20 20 63 68 65 63 6b 41 72 72 61 79 54 79 \n checkArrayTy
00033090: 70 65 73 28 70 75 62 6c 69 63 4b 65 79 2c 20 73 pes(publicKey, s
000330a0: 65 63 72 65 74 4b 65 79 29 3b 5c 6e 20 20 63 68 ecretKey);\n ch
000330b0: 65 63 6b 42 6f 78 4c 65 6e 67 74 68 73 28 70 75 eckBoxLengths(pu
000330c0: 62 6c 69 63 4b 65 79 2c 20 73 65 63 72 65 74 4b blicKey, secretK
000330d0: 65 79 29 3b 5c 6e 20 20 76 61 72 20 6b 20 3d 20 ey);\n var k =
000330e0: 6e 65 77 20 55 69 6e 74 38 41 72 72 61 79 28 63 new Uint8Array(c
000330f0: 72 79 70 74 6f 5f 62 6f 78 5f 42 45 46 4f 52 45 rypto_box_BEFORE
00033100: 4e 4d 42 59 54 45 53 29 3b 5c 6e 20 20 63 72 79 NMBYTES);\n cry
00033110: 70 74 6f 5f 62 6f 78 5f 62 65 66 6f 72 65 6e 6d pto_box_beforenm
00033120: 28 6b 2c 20 70 75 62 6c 69 63 4b 65 79 2c 20 73 (k, publicKey, s
00033130: 65 63 72 65 74 4b 65 79 29 3b 5c 6e 20 20 72 65 ecretKey);\n re
00033140: 74 75 72 6e 20 6b 3b 5c 6e 7d 3b 5c 6e 5c 6e 6e turn k;\n};\n\nn
00033150: 61 63 6c 2e 62 6f 78 2e 61 66 74 65 72 20 3d 20 acl.box.after =
00033160: 6e 61 63 6c 2e 73 65 63 72 65 74 62 6f 78 3b 5c nacl.secretbox;\
00033170: 6e 5c 6e 6e 61 63 6c 2e 62 6f 78 2e 6f 70 65 6e n\nnacl.box.open
00033180: 20 3d 20 66 75 6e 63 74 69 6f 6e 28 6d 73 67 2c = function(msg,
00033190: 20 6e 6f 6e 63 65 2c 20 70 75 62 6c 69 63 4b 65 nonce, publicKe
000331a0: 79 2c 20 73 65 63 72 65 74 4b 65 79 29 20 7b 5c y, secretKey) {\
000331b0: 6e 20 20 76 61 72 20 6b 20 3d 20 6e 61 63 6c 2e n var k = nacl.
000331c0: 62 6f 78 2e 62 65 66 6f 72 65 28 70 75 62 6c 69 box.before(publi
000331d0: 63 4b 65 79 2c 20 73 65 63 72 65 74 4b 65 79 29 cKey, secretKey)
000331e0: 3b 5c 6e 20 20 72 65 74 75 72 6e 20 6e 61 63 6c ;\n return nacl
000331f0: 2e 73 65 63 72 65 74 62 6f 78 2e 6f 70 65 6e 28 .secretbox.open(
00033200: 6d 73 67 2c 20 6e 6f 6e 63 65 2c 20 6b 29 3b 5c msg, nonce, k);\
00033210: 6e 7d 3b 5c 6e 5c 6e 6e 61 63 6c 2e 62 6f 78 2e n};\n\nnacl.box.
00033220: 6f 70 65 6e 2e 61 66 74 65 72 20 3d 20 6e 61 63 open.after = nac
00033230: 6c 2e 73 65 63 72 65 74 62 6f 78 2e 6f 70 65 6e l.secretbox.open
00033240: 3b 5c 6e 5c 6e 6e 61 63 6c 2e 62 6f 78 2e 6b 65 ;\n\nnacl.box.ke
00033250: 79 50 61 69 72 20 3d 20 66 75 6e 63 74 69 6f 6e yPair = function
00033260: 28 29 20 7b 5c 6e 20 20 76 61 72 20 70 6b 20 3d () {\n var pk =
00033270: 20 6e 65 77 20 55 69 6e 74 38 41 72 72 61 79 28 new Uint8Array(
00033280: 63 72 79 70 74 6f 5f 62 6f 78 5f 50 55 42 4c 49 crypto_box_PUBLI
00033290: 43 4b 45 59 42 59 54 45 53 29 3b 5c 6e 20 20 76 CKEYBYTES);\n v
000332a0: 61 72 20 73 6b 20 3d 20 6e 65 77 20 55 69 6e 74 ar sk = new Uint
000332b0: 38 41 72 72 61 79 28 63 72 79 70 74 6f 5f 62 6f 8Array(crypto_bo
000332c0: 78 5f 53 45 43 52 45 54 4b 45 59 42 59 54 45 53 x_SECRETKEYBYTES
000332d0: 29 3b 5c 6e 20 20 63 72 79 70 74 6f 5f 62 6f 78 );\n crypto_box
000332e0: 5f 6b 65 79 70 61 69 72 28 70 6b 2c 20 73 6b 29 _keypair(pk, sk)
000332f0: 3b 5c 6e 20 20 72 65 74 75 72 6e 20 7b 70 75 62 ;\n return {pub
00033300: 6c 69 63 4b 65 79 3a 20 70 6b 2c 20 73 65 63 72 licKey: pk, secr
00033310: 65 74 4b 65 79 3a 20 73 6b 7d 3b 5c 6e 7d 3b 5c etKey: sk};\n};\
00033320: 6e 5c 6e 6e 61 63 6c 2e 62 6f 78 2e 6b 65 79 50 n\nnacl.box.keyP
00033330: 61 69 72 2e 66 72 6f 6d 53 65 63 72 65 74 4b 65 air.fromSecretKe
00033340: 79 20 3d 20 66 75 6e 63 74 69 6f 6e 28 73 65 63 y = function(sec
00033350: 72 65 74 4b 65 79 29 20 7b 5c 6e 20 20 63 68 65 retKey) {\n che
00033360: 63 6b 41 72 72 61 79 54 79 70 65 73 28 73 65 63 ckArrayTypes(sec
00033370: 72 65 74 4b 65 79 29 3b 5c 6e 20 20 69 66 20 28 retKey);\n if (
00033380: 73 65 63 72 65 74 4b 65 79 2e 6c 65 6e 67 74 68 secretKey.length
00033390: 20 21 3d 3d 20 63 72 79 70 74 6f 5f 62 6f 78 5f !== crypto_box_
000333a0: 53 45 43 52 45 54 4b 45 59 42 59 54 45 53 29 5c SECRETKEYBYTES)\
000333b0: 6e 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 45 n throw new E
000333c0: 72 72 6f 72 28 27 62 61 64 20 73 65 63 72 65 74 rror('bad secret
000333d0: 20 6b 65 79 20 73 69 7a 65 27 29 3b 5c 6e 20 20 key size');\n
000333e0: 76 61 72 20 70 6b 20 3d 20 6e 65 77 20 55 69 6e var pk = new Uin
000333f0: 74 38 41 72 72 61 79 28 63 72 79 70 74 6f 5f 62 t8Array(crypto_b
00033400: 6f 78 5f 50 55 42 4c 49 43 4b 45 59 42 59 54 45 ox_PUBLICKEYBYTE
00033410: 53 29 3b 5c 6e 20 20 63 72 79 70 74 6f 5f 73 63 S);\n crypto_sc
00033420: 61 6c 61 72 6d 75 6c 74 5f 62 61 73 65 28 70 6b alarmult_base(pk
00033430: 2c 20 73 65 63 72 65 74 4b 65 79 29 3b 5c 6e 20 , secretKey);\n
00033440: 20 72 65 74 75 72 6e 20 7b 70 75 62 6c 69 63 4b return {publicK
00033450: 65 79 3a 20 70 6b 2c 20 73 65 63 72 65 74 4b 65 ey: pk, secretKe
00033460: 79 3a 20 6e 65 77 20 55 69 6e 74 38 41 72 72 61 y: new Uint8Arra
00033470: 79 28 73 65 63 72 65 74 4b 65 79 29 7d 3b 5c 6e y(secretKey)};\n
00033480: 7d 3b 5c 6e 5c 6e 6e 61 63 6c 2e 62 6f 78 2e 70 };\n\nnacl.box.p
00033490: 75 62 6c 69 63 4b 65 79 4c 65 6e 67 74 68 20 3d ublicKeyLength =
000334a0: 20 63 72 79 70 74 6f 5f 62 6f 78 5f 50 55 42 4c crypto_box_PUBL
000334b0: 49 43 4b 45 59 42 59 54 45 53 3b 5c 6e 6e 61 63 ICKEYBYTES;\nnac
000334c0: 6c 2e 62 6f 78 2e 73 65 63 72 65 74 4b 65 79 4c l.box.secretKeyL
000334d0: 65 6e 67 74 68 20 3d 20 63 72 79 70 74 6f 5f 62 ength = crypto_b
000334e0: 6f 78 5f 53 45 43 52 45 54 4b 45 59 42 59 54 45 ox_SECRETKEYBYTE
000334f0: 53 3b 5c 6e 6e 61 63 6c 2e 62 6f 78 2e 73 68 61 S;\nnacl.box.sha
00033500: 72 65 64 4b 65 79 4c 65 6e 67 74 68 20 3d 20 63 redKeyLength = c
00033510: 72 79 70 74 6f 5f 62 6f 78 5f 42 45 46 4f 52 45 rypto_box_BEFORE
00033520: 4e 4d 42 59 54 45 53 3b 5c 6e 6e 61 63 6c 2e 62 NMBYTES;\nnacl.b
00033530: 6f 78 2e 6e 6f 6e 63 65 4c 65 6e 67 74 68 20 3d ox.nonceLength =
00033540: 20 63 72 79 70 74 6f 5f 62 6f 78 5f 4e 4f 4e 43 crypto_box_NONC
00033550: 45 42 59 54 45 53 3b 5c 6e 6e 61 63 6c 2e 62 6f EBYTES;\nnacl.bo
00033560: 78 2e 6f 76 65 72 68 65 61 64 4c 65 6e 67 74 68 x.overheadLength
00033570: 20 3d 20 6e 61 63 6c 2e 73 65 63 72 65 74 62 6f = nacl.secretbo
00033580: 78 2e 6f 76 65 72 68 65 61 64 4c 65 6e 67 74 68 x.overheadLength
00033590: 3b 5c 6e 5c 6e 6e 61 63 6c 2e 73 69 67 6e 20 3d ;\n\nnacl.sign =
000335a0: 20 66 75 6e 63 74 69 6f 6e 28 6d 73 67 2c 20 73 function(msg, s
000335b0: 65 63 72 65 74 4b 65 79 29 20 7b 5c 6e 20 20 63 ecretKey) {\n c
000335c0: 68 65 63 6b 41 72 72 61 79 54 79 70 65 73 28 6d heckArrayTypes(m
000335d0: 73 67 2c 20 73 65 63 72 65 74 4b 65 79 29 3b 5c sg, secretKey);\
000335e0: 6e 20 20 69 66 20 28 73 65 63 72 65 74 4b 65 79 n if (secretKey
000335f0: 2e 6c 65 6e 67 74 68 20 21 3d 3d 20 63 72 79 70 .length !== cryp
00033600: 74 6f 5f 73 69 67 6e 5f 53 45 43 52 45 54 4b 45 to_sign_SECRETKE
00033610: 59 42 59 54 45 53 29 5c 6e 20 20 20 20 74 68 72 YBYTES)\n thr
00033620: 6f 77 20 6e 65 77 20 45 72 72 6f 72 28 27 62 61 ow new Error('ba
00033630: 64 20 73 65 63 72 65 74 20 6b 65 79 20 73 69 7a d secret key siz
00033640: 65 27 29 3b 5c 6e 20 20 76 61 72 20 73 69 67 6e e');\n var sign
00033650: 65 64 4d 73 67 20 3d 20 6e 65 77 20 55 69 6e 74 edMsg = new Uint
00033660: 38 41 72 72 61 79 28 63 72 79 70 74 6f 5f 73 69 8Array(crypto_si
00033670: 67 6e 5f 42 59 54 45 53 2b 6d 73 67 2e 6c 65 6e gn_BYTES+msg.len
00033680: 67 74 68 29 3b 5c 6e 20 20 63 72 79 70 74 6f 5f gth);\n crypto_
00033690: 73 69 67 6e 28 73 69 67 6e 65 64 4d 73 67 2c 20 sign(signedMsg,
000336a0: 6d 73 67 2c 20 6d 73 67 2e 6c 65 6e 67 74 68 2c msg, msg.length,
000336b0: 20 73 65 63 72 65 74 4b 65 79 29 3b 5c 6e 20 20 secretKey);\n
000336c0: 72 65 74 75 72 6e 20 73 69 67 6e 65 64 4d 73 67 return signedMsg
000336d0: 3b 5c 6e 7d 3b 5c 6e 5c 6e 6e 61 63 6c 2e 73 69 ;\n};\n\nnacl.si
000336e0: 67 6e 2e 6f 70 65 6e 20 3d 20 66 75 6e 63 74 69 gn.open = functi
000336f0: 6f 6e 28 73 69 67 6e 65 64 4d 73 67 2c 20 70 75 on(signedMsg, pu
00033700: 62 6c 69 63 4b 65 79 29 20 7b 5c 6e 20 20 63 68 blicKey) {\n ch
00033710: 65 63 6b 41 72 72 61 79 54 79 70 65 73 28 73 69 eckArrayTypes(si
00033720: 67 6e 65 64 4d 73 67 2c 20 70 75 62 6c 69 63 4b gnedMsg, publicK
00033730: 65 79 29 3b 5c 6e 20 20 69 66 20 28 70 75 62 6c ey);\n if (publ
00033740: 69 63 4b 65 79 2e 6c 65 6e 67 74 68 20 21 3d 3d icKey.length !==
00033750: 20 63 72 79 70 74 6f 5f 73 69 67 6e 5f 50 55 42 crypto_sign_PUB
00033760: 4c 49 43 4b 45 59 42 59 54 45 53 29 5c 6e 20 20 LICKEYBYTES)\n
00033770: 20 20 74 68 72 6f 77 20 6e 65 77 20 45 72 72 6f throw new Erro
00033780: 72 28 27 62 61 64 20 70 75 62 6c 69 63 20 6b 65 r('bad public ke
00033790: 79 20 73 69 7a 65 27 29 3b 5c 6e 20 20 76 61 72 y size');\n var
000337a0: 20 74 6d 70 20 3d 20 6e 65 77 20 55 69 6e 74 38 tmp = new Uint8
000337b0: 41 72 72 61 79 28 73 69 67 6e 65 64 4d 73 67 2e Array(signedMsg.
000337c0: 6c 65 6e 67 74 68 29 3b 5c 6e 20 20 76 61 72 20 length);\n var
000337d0: 6d 6c 65 6e 20 3d 20 63 72 79 70 74 6f 5f 73 69 mlen = crypto_si
000337e0: 67 6e 5f 6f 70 65 6e 28 74 6d 70 2c 20 73 69 67 gn_open(tmp, sig
000337f0: 6e 65 64 4d 73 67 2c 20 73 69 67 6e 65 64 4d 73 nedMsg, signedMs
00033800: 67 2e 6c 65 6e 67 74 68 2c 20 70 75 62 6c 69 63 g.length, public
00033810: 4b 65 79 29 3b 5c 6e 20 20 69 66 20 28 6d 6c 65 Key);\n if (mle
00033820: 6e 20 3c 20 30 29 20 72 65 74 75 72 6e 20 6e 75 n < 0) return nu
00033830: 6c 6c 3b 5c 6e 20 20 76 61 72 20 6d 20 3d 20 6e ll;\n var m = n
00033840: 65 77 20 55 69 6e 74 38 41 72 72 61 79 28 6d 6c ew Uint8Array(ml
00033850: 65 6e 29 3b 5c 6e 20 20 66 6f 72 20 28 76 61 72 en);\n for (var
00033860: 20 69 20 3d 20 30 3b 20 69 20 3c 20 6d 2e 6c 65 i = 0; i < m.le
00033870: 6e 67 74 68 3b 20 69 2b 2b 29 20 6d 5b 69 5d 20 ngth; i++) m[i]
00033880: 3d 20 74 6d 70 5b 69 5d 3b 5c 6e 20 20 72 65 74 = tmp[i];\n ret
00033890: 75 72 6e 20 6d 3b 5c 6e 7d 3b 5c 6e 5c 6e 6e 61 urn m;\n};\n\nna
000338a0: 63 6c 2e 73 69 67 6e 2e 64 65 74 61 63 68 65 64 cl.sign.detached
000338b0: 20 3d 20 66 75 6e 63 74 69 6f 6e 28 6d 73 67 2c = function(msg,
000338c0: 20 73 65 63 72 65 74 4b 65 79 29 20 7b 5c 6e 20 secretKey) {\n
000338d0: 20 76 61 72 20 73 69 67 6e 65 64 4d 73 67 20 3d var signedMsg =
000338e0: 20 6e 61 63 6c 2e 73 69 67 6e 28 6d 73 67 2c 20 nacl.sign(msg,
000338f0: 73 65 63 72 65 74 4b 65 79 29 3b 5c 6e 20 20 76 secretKey);\n v
00033900: 61 72 20 73 69 67 20 3d 20 6e 65 77 20 55 69 6e ar sig = new Uin
00033910: 74 38 41 72 72 61 79 28 63 72 79 70 74 6f 5f 73 t8Array(crypto_s
00033920: 69 67 6e 5f 42 59 54 45 53 29 3b 5c 6e 20 20 66 ign_BYTES);\n f
00033930: 6f 72 20 28 76 61 72 20 69 20 3d 20 30 3b 20 69 or (var i = 0; i
00033940: 20 3c 20 73 69 67 2e 6c 65 6e 67 74 68 3b 20 69 < sig.length; i
00033950: 2b 2b 29 20 73 69 67 5b 69 5d 20 3d 20 73 69 67 ++) sig[i] = sig
00033960: 6e 65 64 4d 73 67 5b 69 5d 3b 5c 6e 20 20 72 65 nedMsg[i];\n re
00033970: 74 75 72 6e 20 73 69 67 3b 5c 6e 7d 3b 5c 6e 5c turn sig;\n};\n\
00033980: 6e 6e 61 63 6c 2e 73 69 67 6e 2e 64 65 74 61 63 nnacl.sign.detac
00033990: 68 65 64 2e 76 65 72 69 66 79 20 3d 20 66 75 6e hed.verify = fun
000339a0: 63 74 69 6f 6e 28 6d 73 67 2c 20 73 69 67 2c 20 ction(msg, sig,
000339b0: 70 75 62 6c 69 63 4b 65 79 29 20 7b 5c 6e 20 20 publicKey) {\n
000339c0: 63 68 65 63 6b 41 72 72 61 79 54 79 70 65 73 28 checkArrayTypes(
000339d0: 6d 73 67 2c 20 73 69 67 2c 20 70 75 62 6c 69 63 msg, sig, public
000339e0: 4b 65 79 29 3b 5c 6e 20 20 69 66 20 28 73 69 67 Key);\n if (sig
000339f0: 2e 6c 65 6e 67 74 68 20 21 3d 3d 20 63 72 79 70 .length !== cryp
00033a00: 74 6f 5f 73 69 67 6e 5f 42 59 54 45 53 29 5c 6e to_sign_BYTES)\n
00033a10: 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 45 72 throw new Er
00033a20: 72 6f 72 28 27 62 61 64 20 73 69 67 6e 61 74 75 ror('bad signatu
00033a30: 72 65 20 73 69 7a 65 27 29 3b 5c 6e 20 20 69 66 re size');\n if
00033a40: 20 28 70 75 62 6c 69 63 4b 65 79 2e 6c 65 6e 67 (publicKey.leng
00033a50: 74 68 20 21 3d 3d 20 63 72 79 70 74 6f 5f 73 69 th !== crypto_si
00033a60: 67 6e 5f 50 55 42 4c 49 43 4b 45 59 42 59 54 45 gn_PUBLICKEYBYTE
00033a70: 53 29 5c 6e 20 20 20 20 74 68 72 6f 77 20 6e 65 S)\n throw ne
00033a80: 77 20 45 72 72 6f 72 28 27 62 61 64 20 70 75 62 w Error('bad pub
00033a90: 6c 69 63 20 6b 65 79 20 73 69 7a 65 27 29 3b 5c lic key size');\
00033aa0: 6e 20 20 76 61 72 20 73 6d 20 3d 20 6e 65 77 20 n var sm = new
00033ab0: 55 69 6e 74 38 41 72 72 61 79 28 63 72 79 70 74 Uint8Array(crypt
00033ac0: 6f 5f 73 69 67 6e 5f 42 59 54 45 53 20 2b 20 6d o_sign_BYTES + m
00033ad0: 73 67 2e 6c 65 6e 67 74 68 29 3b 5c 6e 20 20 76 sg.length);\n v
00033ae0: 61 72 20 6d 20 3d 20 6e 65 77 20 55 69 6e 74 38 ar m = new Uint8
00033af0: 41 72 72 61 79 28 63 72 79 70 74 6f 5f 73 69 67 Array(crypto_sig
00033b00: 6e 5f 42 59 54 45 53 20 2b 20 6d 73 67 2e 6c 65 n_BYTES + msg.le
00033b10: 6e 67 74 68 29 3b 5c 6e 20 20 76 61 72 20 69 3b ngth);\n var i;
00033b20: 5c 6e 20 20 66 6f 72 20 28 69 20 3d 20 30 3b 20 \n for (i = 0;
00033b30: 69 20 3c 20 63 72 79 70 74 6f 5f 73 69 67 6e 5f i < crypto_sign_
00033b40: 42 59 54 45 53 3b 20 69 2b 2b 29 20 73 6d 5b 69 BYTES; i++) sm[i
00033b50: 5d 20 3d 20 73 69 67 5b 69 5d 3b 5c 6e 20 20 66 ] = sig[i];\n f
00033b60: 6f 72 20 28 69 20 3d 20 30 3b 20 69 20 3c 20 6d or (i = 0; i < m
00033b70: 73 67 2e 6c 65 6e 67 74 68 3b 20 69 2b 2b 29 20 sg.length; i++)
00033b80: 73 6d 5b 69 2b 63 72 79 70 74 6f 5f 73 69 67 6e sm[i+crypto_sign
00033b90: 5f 42 59 54 45 53 5d 20 3d 20 6d 73 67 5b 69 5d _BYTES] = msg[i]
00033ba0: 3b 5c 6e 20 20 72 65 74 75 72 6e 20 28 63 72 79 ;\n return (cry
00033bb0: 70 74 6f 5f 73 69 67 6e 5f 6f 70 65 6e 28 6d 2c pto_sign_open(m,
00033bc0: 20 73 6d 2c 20 73 6d 2e 6c 65 6e 67 74 68 2c 20 sm, sm.length,
00033bd0: 70 75 62 6c 69 63 4b 65 79 29 20 3e 3d 20 30 29 publicKey) >= 0)
00033be0: 3b 5c 6e 7d 3b 5c 6e 5c 6e 6e 61 63 6c 2e 73 69 ;\n};\n\nnacl.si
00033bf0: 67 6e 2e 6b 65 79 50 61 69 72 20 3d 20 66 75 6e gn.keyPair = fun
00033c00: 63 74 69 6f 6e 28 29 20 7b 5c 6e 20 20 76 61 72 ction() {\n var
00033c10: 20 70 6b 20 3d 20 6e 65 77 20 55 69 6e 74 38 41 pk = new Uint8A
00033c20: 72 72 61 79 28 63 72 79 70 74 6f 5f 73 69 67 6e rray(crypto_sign
00033c30: 5f 50 55 42 4c 49 43 4b 45 59 42 59 54 45 53 29 _PUBLICKEYBYTES)
00033c40: 3b 5c 6e 20 20 76 61 72 20 73 6b 20 3d 20 6e 65 ;\n var sk = ne
00033c50: 77 20 55 69 6e 74 38 41 72 72 61 79 28 63 72 79 w Uint8Array(cry
00033c60: 70 74 6f 5f 73 69 67 6e 5f 53 45 43 52 45 54 4b pto_sign_SECRETK
00033c70: 45 59 42 59 54 45 53 29 3b 5c 6e 20 20 63 72 79 EYBYTES);\n cry
00033c80: 70 74 6f 5f 73 69 67 6e 5f 6b 65 79 70 61 69 72 pto_sign_keypair
00033c90: 28 70 6b 2c 20 73 6b 29 3b 5c 6e 20 20 72 65 74 (pk, sk);\n ret
00033ca0: 75 72 6e 20 7b 70 75 62 6c 69 63 4b 65 79 3a 20 urn {publicKey:
00033cb0: 70 6b 2c 20 73 65 63 72 65 74 4b 65 79 3a 20 73 pk, secretKey: s
00033cc0: 6b 7d 3b 5c 6e 7d 3b 5c 6e 5c 6e 6e 61 63 6c 2e k};\n};\n\nnacl.
00033cd0: 73 69 67 6e 2e 6b 65 79 50 61 69 72 2e 66 72 6f sign.keyPair.fro
00033ce0: 6d 53 65 63 72 65 74 4b 65 79 20 3d 20 66 75 6e mSecretKey = fun
00033cf0: 63 74 69 6f 6e 28 73 65 63 72 65 74 4b 65 79 29 ction(secretKey)
00033d00: 20 7b 5c 6e 20 20 63 68 65 63 6b 41 72 72 61 79 {\n checkArray
00033d10: 54 79 70 65 73 28 73 65 63 72 65 74 4b 65 79 29 Types(secretKey)
00033d20: 3b 5c 6e 20 20 69 66 20 28 73 65 63 72 65 74 4b ;\n if (secretK
00033d30: 65 79 2e 6c 65 6e 67 74 68 20 21 3d 3d 20 63 72 ey.length !== cr
00033d40: 79 70 74 6f 5f 73 69 67 6e 5f 53 45 43 52 45 54 ypto_sign_SECRET
00033d50: 4b 45 59 42 59 54 45 53 29 5c 6e 20 20 20 20 74 KEYBYTES)\n t
00033d60: 68 72 6f 77 20 6e 65 77 20 45 72 72 6f 72 28 27 hrow new Error('
00033d70: 62 61 64 20 73 65 63 72 65 74 20 6b 65 79 20 73 bad secret key s
00033d80: 69 7a 65 27 29 3b 5c 6e 20 20 76 61 72 20 70 6b ize');\n var pk
00033d90: 20 3d 20 6e 65 77 20 55 69 6e 74 38 41 72 72 61 = new Uint8Arra
00033da0: 79 28 63 72 79 70 74 6f 5f 73 69 67 6e 5f 50 55 y(crypto_sign_PU
00033db0: 42 4c 49 43 4b 45 59 42 59 54 45 53 29 3b 5c 6e BLICKEYBYTES);\n
00033dc0: 20 20 66 6f 72 20 28 76 61 72 20 69 20 3d 20 30 for (var i = 0
00033dd0: 3b 20 69 20 3c 20 70 6b 2e 6c 65 6e 67 74 68 3b ; i < pk.length;
00033de0: 20 69 2b 2b 29 20 70 6b 5b 69 5d 20 3d 20 73 65 i++) pk[i] = se
00033df0: 63 72 65 74 4b 65 79 5b 33 32 2b 69 5d 3b 5c 6e cretKey[32+i];\n
00033e00: 20 20 72 65 74 75 72 6e 20 7b 70 75 62 6c 69 63 return {public
00033e10: 4b 65 79 3a 20 70 6b 2c 20 73 65 63 72 65 74 4b Key: pk, secretK
00033e20: 65 79 3a 20 6e 65 77 20 55 69 6e 74 38 41 72 72 ey: new Uint8Arr
00033e30: 61 79 28 73 65 63 72 65 74 4b 65 79 29 7d 3b 5c ay(secretKey)};\
00033e40: 6e 7d 3b 5c 6e 5c 6e 6e 61 63 6c 2e 73 69 67 6e n};\n\nnacl.sign
00033e50: 2e 6b 65 79 50 61 69 72 2e 66 72 6f 6d 53 65 65 .keyPair.fromSee
00033e60: 64 20 3d 20 66 75 6e 63 74 69 6f 6e 28 73 65 65 d = function(see
00033e70: 64 29 20 7b 5c 6e 20 20 63 68 65 63 6b 41 72 72 d) {\n checkArr
00033e80: 61 79 54 79 70 65 73 28 73 65 65 64 29 3b 5c 6e ayTypes(seed);\n
00033e90: 20 20 69 66 20 28 73 65 65 64 2e 6c 65 6e 67 74 if (seed.lengt
00033ea0: 68 20 21 3d 3d 20 63 72 79 70 74 6f 5f 73 69 67 h !== crypto_sig
00033eb0: 6e 5f 53 45 45 44 42 59 54 45 53 29 5c 6e 20 20 n_SEEDBYTES)\n
00033ec0: 20 20 74 68 72 6f 77 20 6e 65 77 20 45 72 72 6f throw new Erro
00033ed0: 72 28 27 62 61 64 20 73 65 65 64 20 73 69 7a 65 r('bad seed size
00033ee0: 27 29 3b 5c 6e 20 20 76 61 72 20 70 6b 20 3d 20 ');\n var pk =
00033ef0: 6e 65 77 20 55 69 6e 74 38 41 72 72 61 79 28 63 new Uint8Array(c
00033f00: 72 79 70 74 6f 5f 73 69 67 6e 5f 50 55 42 4c 49 rypto_sign_PUBLI
00033f10: 43 4b 45 59 42 59 54 45 53 29 3b 5c 6e 20 20 76 CKEYBYTES);\n v
00033f20: 61 72 20 73 6b 20 3d 20 6e 65 77 20 55 69 6e 74 ar sk = new Uint
00033f30: 38 41 72 72 61 79 28 63 72 79 70 74 6f 5f 73 69 8Array(crypto_si
00033f40: 67 6e 5f 53 45 43 52 45 54 4b 45 59 42 59 54 45 gn_SECRETKEYBYTE
00033f50: 53 29 3b 5c 6e 20 20 66 6f 72 20 28 76 61 72 20 S);\n for (var
00033f60: 69 20 3d 20 30 3b 20 69 20 3c 20 33 32 3b 20 69 i = 0; i < 32; i
00033f70: 2b 2b 29 20 73 6b 5b 69 5d 20 3d 20 73 65 65 64 ++) sk[i] = seed
00033f80: 5b 69 5d 3b 5c 6e 20 20 63 72 79 70 74 6f 5f 73 [i];\n crypto_s
00033f90: 69 67 6e 5f 6b 65 79 70 61 69 72 28 70 6b 2c 20 ign_keypair(pk,
00033fa0: 73 6b 2c 20 74 72 75 65 29 3b 5c 6e 20 20 72 65 sk, true);\n re
00033fb0: 74 75 72 6e 20 7b 70 75 62 6c 69 63 4b 65 79 3a turn {publicKey:
00033fc0: 20 70 6b 2c 20 73 65 63 72 65 74 4b 65 79 3a 20 pk, secretKey:
00033fd0: 73 6b 7d 3b 5c 6e 7d 3b 5c 6e 5c 6e 6e 61 63 6c sk};\n};\n\nnacl
00033fe0: 2e 73 69 67 6e 2e 70 75 62 6c 69 63 4b 65 79 4c .sign.publicKeyL
00033ff0: 65 6e 67 74 68 20 3d 20 63 72 79 70 74 6f 5f 73 ength = crypto_s
00034000: 69 67 6e 5f 50 55 42 4c 49 43 4b 45 59 42 59 54 ign_PUBLICKEYBYT
00034010: 45 53 3b 5c 6e 6e 61 63 6c 2e 73 69 67 6e 2e 73 ES;\nnacl.sign.s
00034020: 65 63 72 65 74 4b 65 79 4c 65 6e 67 74 68 20 3d ecretKeyLength =
00034030: 20 63 72 79 70 74 6f 5f 73 69 67 6e 5f 53 45 43 crypto_sign_SEC
00034040: 52 45 54 4b 45 59 42 59 54 45 53 3b 5c 6e 6e 61 RETKEYBYTES;\nna
00034050: 63 6c 2e 73 69 67 6e 2e 73 65 65 64 4c 65 6e 67 cl.sign.seedLeng
00034060: 74 68 20 3d 20 63 72 79 70 74 6f 5f 73 69 67 6e th = crypto_sign
00034070: 5f 53 45 45 44 42 59 54 45 53 3b 5c 6e 6e 61 63 _SEEDBYTES;\nnac
00034080: 6c 2e 73 69 67 6e 2e 73 69 67 6e 61 74 75 72 65 l.sign.signature
00034090: 4c 65 6e 67 74 68 20 3d 20 63 72 79 70 74 6f 5f Length = crypto_
000340a0: 73 69 67 6e 5f 42 59 54 45 53 3b 5c 6e 5c 6e 6e sign_BYTES;\n\nn
000340b0: 61 63 6c 2e 68 61 73 68 20 3d 20 66 75 6e 63 74 acl.hash = funct
000340c0: 69 6f 6e 28 6d 73 67 29 20 7b 5c 6e 20 20 63 68 ion(msg) {\n ch
000340d0: 65 63 6b 41 72 72 61 79 54 79 70 65 73 28 6d 73 eckArrayTypes(ms
000340e0: 67 29 3b 5c 6e 20 20 76 61 72 20 68 20 3d 20 6e g);\n var h = n
000340f0: 65 77 20 55 69 6e 74 38 41 72 72 61 79 28 63 72 ew Uint8Array(cr
00034100: 79 70 74 6f 5f 68 61 73 68 5f 42 59 54 45 53 29 ypto_hash_BYTES)
00034110: 3b 5c 6e 20 20 63 72 79 70 74 6f 5f 68 61 73 68 ;\n crypto_hash
00034120: 28 68 2c 20 6d 73 67 2c 20 6d 73 67 2e 6c 65 6e (h, msg, msg.len
00034130: 67 74 68 29 3b 5c 6e 20 20 72 65 74 75 72 6e 20 gth);\n return
00034140: 68 3b 5c 6e 7d 3b 5c 6e 5c 6e 6e 61 63 6c 2e 68 h;\n};\n\nnacl.h
00034150: 61 73 68 2e 68 61 73 68 4c 65 6e 67 74 68 20 3d ash.hashLength =
00034160: 20 63 72 79 70 74 6f 5f 68 61 73 68 5f 42 59 54 crypto_hash_BYT
00034170: 45 53 3b 5c 6e 5c 6e 6e 61 63 6c 2e 76 65 72 69 ES;\n\nnacl.veri
00034180: 66 79 20 3d 20 66 75 6e 63 74 69 6f 6e 28 78 2c fy = function(x,
00034190: 20 79 29 20 7b 5c 6e 20 20 63 68 65 63 6b 41 72 y) {\n checkAr
000341a0: 72 61 79 54 79 70 65 73 28 78 2c 20 79 29 3b 5c rayTypes(x, y);\
000341b0: 6e 20 20 2f 2f 20 5a 65 72 6f 20 6c 65 6e 67 74 n // Zero lengt
000341c0: 68 20 61 72 67 75 6d 65 6e 74 73 20 61 72 65 20 h arguments are
000341d0: 63 6f 6e 73 69 64 65 72 65 64 20 6e 6f 74 20 65 considered not e
000341e0: 71 75 61 6c 2e 5c 6e 20 20 69 66 20 28 78 2e 6c qual.\n if (x.l
000341f0: 65 6e 67 74 68 20 3d 3d 3d 20 30 20 7c 7c 20 79 ength === 0 || y
00034200: 2e 6c 65 6e 67 74 68 20 3d 3d 3d 20 30 29 20 72 .length === 0) r
00034210: 65 74 75 72 6e 20 66 61 6c 73 65 3b 5c 6e 20 20 eturn false;\n
00034220: 69 66 20 28 78 2e 6c 65 6e 67 74 68 20 21 3d 3d if (x.length !==
00034230: 20 79 2e 6c 65 6e 67 74 68 29 20 72 65 74 75 72 y.length) retur
00034240: 6e 20 66 61 6c 73 65 3b 5c 6e 20 20 72 65 74 75 n false;\n retu
00034250: 72 6e 20 28 76 6e 28 78 2c 20 30 2c 20 79 2c 20 rn (vn(x, 0, y,
00034260: 30 2c 20 78 2e 6c 65 6e 67 74 68 29 20 3d 3d 3d 0, x.length) ===
00034270: 20 30 29 20 3f 20 74 72 75 65 20 3a 20 66 61 6c 0) ? true : fal
00034280: 73 65 3b 5c 6e 7d 3b 5c 6e 5c 6e 6e 61 63 6c 2e se;\n};\n\nnacl.
00034290: 73 65 74 50 52 4e 47 20 3d 20 66 75 6e 63 74 69 setPRNG = functi
000342a0: 6f 6e 28 66 6e 29 20 7b 5c 6e 20 20 72 61 6e 64 on(fn) {\n rand
000342b0: 6f 6d 62 79 74 65 73 20 3d 20 66 6e 3b 5c 6e 7d ombytes = fn;\n}
000342c0: 3b 5c 6e 5c 6e 28 66 75 6e 63 74 69 6f 6e 28 29 ;\n\n(function()
000342d0: 20 7b 5c 6e 20 20 2f 2f 20 49 6e 69 74 69 61 6c {\n // Initial
000342e0: 69 7a 65 20 50 52 4e 47 20 69 66 20 65 6e 76 69 ize PRNG if envi
000342f0: 72 6f 6e 6d 65 6e 74 20 70 72 6f 76 69 64 65 73 ronment provides
00034300: 20 43 53 50 52 4e 47 2e 5c 6e 20 20 2f 2f 20 49 CSPRNG.\n // I
00034310: 66 20 6e 6f 74 2c 20 6d 65 74 68 6f 64 73 20 63 f not, methods c
00034320: 61 6c 6c 69 6e 67 20 72 61 6e 64 6f 6d 62 79 74 alling randombyt
00034330: 65 73 20 77 69 6c 6c 20 74 68 72 6f 77 2e 5c 6e es will throw.\n
00034340: 20 20 76 61 72 20 63 72 79 70 74 6f 20 3d 20 74 var crypto = t
00034350: 79 70 65 6f 66 20 73 65 6c 66 20 21 3d 3d 20 27 ypeof self !== '
00034360: 75 6e 64 65 66 69 6e 65 64 27 20 3f 20 28 73 65 undefined' ? (se
00034370: 6c 66 2e 63 72 79 70 74 6f 20 7c 7c 20 73 65 6c lf.crypto || sel
00034380: 66 2e 6d 73 43 72 79 70 74 6f 29 20 3a 20 6e 75 f.msCrypto) : nu
00034390: 6c 6c 3b 5c 6e 20 20 69 66 20 28 63 72 79 70 74 ll;\n if (crypt
000343a0: 6f 20 26 26 20 63 72 79 70 74 6f 2e 67 65 74 52 o && crypto.getR
000343b0: 61 6e 64 6f 6d 56 61 6c 75 65 73 29 20 7b 5c 6e andomValues) {\n
000343c0: 20 20 20 20 2f 2f 20 42 72 6f 77 73 65 72 73 2e // Browsers.
000343d0: 5c 6e 20 20 20 20 76 61 72 20 51 55 4f 54 41 20 \n var QUOTA
000343e0: 3d 20 36 35 35 33 36 3b 5c 6e 20 20 20 20 6e 61 = 65536;\n na
000343f0: 63 6c 2e 73 65 74 50 52 4e 47 28 66 75 6e 63 74 cl.setPRNG(funct
00034400: 69 6f 6e 28 78 2c 20 6e 29 20 7b 5c 6e 20 20 20 ion(x, n) {\n
00034410: 20 20 20 76 61 72 20 69 2c 20 76 20 3d 20 6e 65 var i, v = ne
00034420: 77 20 55 69 6e 74 38 41 72 72 61 79 28 6e 29 3b w Uint8Array(n);
00034430: 5c 6e 20 20 20 20 20 20 66 6f 72 20 28 69 20 3d \n for (i =
00034440: 20 30 3b 20 69 20 3c 20 6e 3b 20 69 20 2b 3d 20 0; i < n; i +=
00034450: 51 55 4f 54 41 29 20 7b 5c 6e 20 20 20 20 20 20 QUOTA) {\n
00034460: 20 20 63 72 79 70 74 6f 2e 67 65 74 52 61 6e 64 crypto.getRand
00034470: 6f 6d 56 61 6c 75 65 73 28 76 2e 73 75 62 61 72 omValues(v.subar
00034480: 72 61 79 28 69 2c 20 69 20 2b 20 4d 61 74 68 2e ray(i, i + Math.
00034490: 6d 69 6e 28 6e 20 2d 20 69 2c 20 51 55 4f 54 41 min(n - i, QUOTA
000344a0: 29 29 29 3b 5c 6e 20 20 20 20 20 20 7d 5c 6e 20 )));\n }\n
000344b0: 20 20 20 20 20 66 6f 72 20 28 69 20 3d 20 30 3b for (i = 0;
000344c0: 20 69 20 3c 20 6e 3b 20 69 2b 2b 29 20 78 5b 69 i < n; i++) x[i
000344d0: 5d 20 3d 20 76 5b 69 5d 3b 5c 6e 20 20 20 20 20 ] = v[i];\n
000344e0: 20 63 6c 65 61 6e 75 70 28 76 29 3b 5c 6e 20 20 cleanup(v);\n
000344f0: 20 20 7d 29 3b 5c 6e 20 20 7d 20 65 6c 73 65 20 });\n } else
00034500: 69 66 20 28 74 79 70 65 6f 66 20 72 65 71 75 69 if (typeof requi
00034510: 72 65 20 21 3d 3d 20 27 75 6e 64 65 66 69 6e 65 re !== 'undefine
00034520: 64 27 29 20 7b 5c 6e 20 20 20 20 2f 2f 20 4e 6f d') {\n // No
00034530: 64 65 2e 6a 73 2e 5c 6e 20 20 20 20 63 72 79 70 de.js.\n cryp
00034540: 74 6f 20 3d 20 72 65 71 75 69 72 65 28 27 63 72 to = require('cr
00034550: 79 70 74 6f 27 29 3b 5c 6e 20 20 20 20 69 66 20 ypto');\n if
00034560: 28 63 72 79 70 74 6f 20 26 26 20 63 72 79 70 74 (crypto && crypt
00034570: 6f 2e 72 61 6e 64 6f 6d 42 79 74 65 73 29 20 7b o.randomBytes) {
00034580: 5c 6e 20 20 20 20 20 20 6e 61 63 6c 2e 73 65 74 \n nacl.set
00034590: 50 52 4e 47 28 66 75 6e 63 74 69 6f 6e 28 78 2c PRNG(function(x,
000345a0: 20 6e 29 20 7b 5c 6e 20 20 20 20 20 20 20 20 76 n) {\n v
000345b0: 61 72 20 69 2c 20 76 20 3d 20 63 72 79 70 74 6f ar i, v = crypto
000345c0: 2e 72 61 6e 64 6f 6d 42 79 74 65 73 28 6e 29 3b .randomBytes(n);
000345d0: 5c 6e 20 20 20 20 20 20 20 20 66 6f 72 20 28 69 \n for (i
000345e0: 20 3d 20 30 3b 20 69 20 3c 20 6e 3b 20 69 2b 2b = 0; i < n; i++
000345f0: 29 20 78 5b 69 5d 20 3d 20 76 5b 69 5d 3b 5c 6e ) x[i] = v[i];\n
00034600: 20 20 20 20 20 20 20 20 63 6c 65 61 6e 75 70 28 cleanup(
00034610: 76 29 3b 5c 6e 20 20 20 20 20 20 7d 29 3b 5c 6e v);\n });\n
00034620: 20 20 20 20 7d 5c 6e 20 20 7d 5c 6e 7d 29 28 29 }\n }\n})()
00034630: 3b 5c 6e 5c 6e 7d 29 28 74 79 70 65 6f 66 20 6d ;\n\n})(typeof m
00034640: 6f 64 75 6c 65 20 21 3d 3d 20 27 75 6e 64 65 66 odule !== 'undef
00034650: 69 6e 65 64 27 20 26 26 20 6d 6f 64 75 6c 65 2e ined' && module.
00034660: 65 78 70 6f 72 74 73 20 3f 20 6d 6f 64 75 6c 65 exports ? module
00034670: 2e 65 78 70 6f 72 74 73 20 3a 20 28 73 65 6c 66 .exports : (self
00034680: 2e 6e 61 63 6c 20 3d 20 73 65 6c 66 2e 6e 61 63 .nacl = self.nac
00034690: 6c 20 7c 7c 20 7b 7d 29 29 3b 5c 6e 22 2c 22 28 l || {}));\n","(
000346a0: 66 75 6e 63 74 69 6f 6e 20 28 6d 6f 64 75 6c 65 function (module
000346b0: 2c 20 65 78 70 6f 72 74 73 29 20 7b 5c 6e 20 20 , exports) {\n
000346c0: 27 75 73 65 20 73 74 72 69 63 74 27 3b 5c 6e 5c 'use strict';\n\
000346d0: 6e 20 20 2f 2f 20 55 74 69 6c 73 5c 6e 20 20 66 n // Utils\n f
000346e0: 75 6e 63 74 69 6f 6e 20 61 73 73 65 72 74 20 28 unction assert (
000346f0: 76 61 6c 2c 20 6d 73 67 29 20 7b 5c 6e 20 20 20 val, msg) {\n
00034700: 20 69 66 20 28 21 76 61 6c 29 20 74 68 72 6f 77 if (!val) throw
00034710: 20 6e 65 77 20 45 72 72 6f 72 28 6d 73 67 20 7c new Error(msg |
00034720: 7c 20 27 41 73 73 65 72 74 69 6f 6e 20 66 61 69 | 'Assertion fai
00034730: 6c 65 64 27 29 3b 5c 6e 20 20 7d 5c 6e 5c 6e 20 led');\n }\n\n
00034740: 20 2f 2f 20 43 6f 75 6c 64 20 75 73 65 20 60 69 // Could use `i
00034750: 6e 68 65 72 69 74 73 60 20 6d 6f 64 75 6c 65 2c nherits` module,
00034760: 20 62 75 74 20 64 6f 6e 27 74 20 77 61 6e 74 20 but don't want
00034770: 74 6f 20 6d 6f 76 65 20 66 72 6f 6d 20 73 69 6e to move from sin
00034780: 67 6c 65 20 66 69 6c 65 5c 6e 20 20 2f 2f 20 61 gle file\n // a
00034790: 72 63 68 69 74 65 63 74 75 72 65 20 79 65 74 2e rchitecture yet.
000347a0: 5c 6e 20 20 66 75 6e 63 74 69 6f 6e 20 69 6e 68 \n function inh
000347b0: 65 72 69 74 73 20 28 63 74 6f 72 2c 20 73 75 70 erits (ctor, sup
000347c0: 65 72 43 74 6f 72 29 20 7b 5c 6e 20 20 20 20 63 erCtor) {\n c
000347d0: 74 6f 72 2e 73 75 70 65 72 5f 20 3d 20 73 75 70 tor.super_ = sup
000347e0: 65 72 43 74 6f 72 3b 5c 6e 20 20 20 20 76 61 72 erCtor;\n var
000347f0: 20 54 65 6d 70 43 74 6f 72 20 3d 20 66 75 6e 63 TempCtor = func
00034800: 74 69 6f 6e 20 28 29 20 7b 7d 3b 5c 6e 20 20 20 tion () {};\n
00034810: 20 54 65 6d 70 43 74 6f 72 2e 70 72 6f 74 6f 74 TempCtor.protot
00034820: 79 70 65 20 3d 20 73 75 70 65 72 43 74 6f 72 2e ype = superCtor.
00034830: 70 72 6f 74 6f 74 79 70 65 3b 5c 6e 20 20 20 20 prototype;\n
00034840: 63 74 6f 72 2e 70 72 6f 74 6f 74 79 70 65 20 3d ctor.prototype =
00034850: 20 6e 65 77 20 54 65 6d 70 43 74 6f 72 28 29 3b new TempCtor();
00034860: 5c 6e 20 20 20 20 63 74 6f 72 2e 70 72 6f 74 6f \n ctor.proto
00034870: 74 79 70 65 2e 63 6f 6e 73 74 72 75 63 74 6f 72 type.constructor
00034880: 20 3d 20 63 74 6f 72 3b 5c 6e 20 20 7d 5c 6e 5c = ctor;\n }\n\
00034890: 6e 20 20 2f 2f 20 42 4e 5c 6e 5c 6e 20 20 66 75 n // BN\n\n fu
000348a0: 6e 63 74 69 6f 6e 20 42 4e 20 28 6e 75 6d 62 65 nction BN (numbe
000348b0: 72 2c 20 62 61 73 65 2c 20 65 6e 64 69 61 6e 29 r, base, endian)
000348c0: 20 7b 5c 6e 20 20 20 20 69 66 20 28 42 4e 2e 69 {\n if (BN.i
000348d0: 73 42 4e 28 6e 75 6d 62 65 72 29 29 20 7b 5c 6e sBN(number)) {\n
000348e0: 20 20 20 20 20 20 72 65 74 75 72 6e 20 6e 75 6d return num
000348f0: 62 65 72 3b 5c 6e 20 20 20 20 7d 5c 6e 5c 6e 20 ber;\n }\n\n
00034900: 20 20 20 74 68 69 73 2e 6e 65 67 61 74 69 76 65 this.negative
00034910: 20 3d 20 30 3b 5c 6e 20 20 20 20 74 68 69 73 2e = 0;\n this.
00034920: 77 6f 72 64 73 20 3d 20 6e 75 6c 6c 3b 5c 6e 20 words = null;\n
00034930: 20 20 20 74 68 69 73 2e 6c 65 6e 67 74 68 20 3d this.length =
00034940: 20 30 3b 5c 6e 5c 6e 20 20 20 20 2f 2f 20 52 65 0;\n\n // Re
00034950: 64 75 63 74 69 6f 6e 20 63 6f 6e 74 65 78 74 5c duction context\
00034960: 6e 20 20 20 20 74 68 69 73 2e 72 65 64 20 3d 20 n this.red =
00034970: 6e 75 6c 6c 3b 5c 6e 5c 6e 20 20 20 20 69 66 20 null;\n\n if
00034980: 28 6e 75 6d 62 65 72 20 21 3d 3d 20 6e 75 6c 6c (number !== null
00034990: 29 20 7b 5c 6e 20 20 20 20 20 20 69 66 20 28 62 ) {\n if (b
000349a0: 61 73 65 20 3d 3d 3d 20 27 6c 65 27 20 7c 7c 20 ase === 'le' ||
000349b0: 62 61 73 65 20 3d 3d 3d 20 27 62 65 27 29 20 7b base === 'be') {
000349c0: 5c 6e 20 20 20 20 20 20 20 20 65 6e 64 69 61 6e \n endian
000349d0: 20 3d 20 62 61 73 65 3b 5c 6e 20 20 20 20 20 20 = base;\n
000349e0: 20 20 62 61 73 65 20 3d 20 31 30 3b 5c 6e 20 20 base = 10;\n
000349f0: 20 20 20 20 7d 5c 6e 5c 6e 20 20 20 20 20 20 74 }\n\n t
00034a00: 68 69 73 2e 5f 69 6e 69 74 28 6e 75 6d 62 65 72 his._init(number
00034a10: 20 7c 7c 20 30 2c 20 62 61 73 65 20 7c 7c 20 31 || 0, base || 1
00034a20: 30 2c 20 65 6e 64 69 61 6e 20 7c 7c 20 27 62 65 0, endian || 'be
00034a30: 27 29 3b 5c 6e 20 20 20 20 7d 5c 6e 20 20 7d 5c ');\n }\n }\
00034a40: 6e 20 20 69 66 20 28 74 79 70 65 6f 66 20 6d 6f n if (typeof mo
00034a50: 64 75 6c 65 20 3d 3d 3d 20 27 6f 62 6a 65 63 74 dule === 'object
00034a60: 27 29 20 7b 5c 6e 20 20 20 20 6d 6f 64 75 6c 65 ') {\n module
00034a70: 2e 65 78 70 6f 72 74 73 20 3d 20 42 4e 3b 5c 6e .exports = BN;\n
00034a80: 20 20 7d 20 65 6c 73 65 20 7b 5c 6e 20 20 20 20 } else {\n
00034a90: 65 78 70 6f 72 74 73 2e 42 4e 20 3d 20 42 4e 3b exports.BN = BN;
00034aa0: 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 42 4e 2e 42 4e \n }\n\n BN.BN
00034ab0: 20 3d 20 42 4e 3b 5c 6e 20 20 42 4e 2e 77 6f 72 = BN;\n BN.wor
00034ac0: 64 53 69 7a 65 20 3d 20 32 36 3b 5c 6e 5c 6e 20 dSize = 26;\n\n
00034ad0: 20 76 61 72 20 42 75 66 66 65 72 3b 5c 6e 20 20 var Buffer;\n
00034ae0: 74 72 79 20 7b 5c 6e 20 20 20 20 69 66 20 28 74 try {\n if (t
00034af0: 79 70 65 6f 66 20 77 69 6e 64 6f 77 20 21 3d 3d ypeof window !==
00034b00: 20 27 75 6e 64 65 66 69 6e 65 64 27 20 26 26 20 'undefined' &&
00034b10: 74 79 70 65 6f 66 20 77 69 6e 64 6f 77 2e 42 75 typeof window.Bu
00034b20: 66 66 65 72 20 21 3d 3d 20 27 75 6e 64 65 66 69 ffer !== 'undefi
00034b30: 6e 65 64 27 29 20 7b 5c 6e 20 20 20 20 20 20 42 ned') {\n B
00034b40: 75 66 66 65 72 20 3d 20 77 69 6e 64 6f 77 2e 42 uffer = window.B
00034b50: 75 66 66 65 72 3b 5c 6e 20 20 20 20 7d 20 65 6c uffer;\n } el
00034b60: 73 65 20 7b 5c 6e 20 20 20 20 20 20 42 75 66 66 se {\n Buff
00034b70: 65 72 20 3d 20 72 65 71 75 69 72 65 28 27 62 75 er = require('bu
00034b80: 66 66 65 72 27 29 2e 42 75 66 66 65 72 3b 5c 6e ffer').Buffer;\n
00034b90: 20 20 20 20 7d 5c 6e 20 20 7d 20 63 61 74 63 68 }\n } catch
00034ba0: 20 28 65 29 20 7b 5c 6e 20 20 7d 5c 6e 5c 6e 20 (e) {\n }\n\n
00034bb0: 20 42 4e 2e 69 73 42 4e 20 3d 20 66 75 6e 63 74 BN.isBN = funct
00034bc0: 69 6f 6e 20 69 73 42 4e 20 28 6e 75 6d 29 20 7b ion isBN (num) {
00034bd0: 5c 6e 20 20 20 20 69 66 20 28 6e 75 6d 20 69 6e \n if (num in
00034be0: 73 74 61 6e 63 65 6f 66 20 42 4e 29 20 7b 5c 6e stanceof BN) {\n
00034bf0: 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 72 75 return tru
00034c00: 65 3b 5c 6e 20 20 20 20 7d 5c 6e 5c 6e 20 20 20 e;\n }\n\n
00034c10: 20 72 65 74 75 72 6e 20 6e 75 6d 20 21 3d 3d 20 return num !==
00034c20: 6e 75 6c 6c 20 26 26 20 74 79 70 65 6f 66 20 6e null && typeof n
00034c30: 75 6d 20 3d 3d 3d 20 27 6f 62 6a 65 63 74 27 20 um === 'object'
00034c40: 26 26 5c 6e 20 20 20 20 20 20 6e 75 6d 2e 63 6f &&\n num.co
00034c50: 6e 73 74 72 75 63 74 6f 72 2e 77 6f 72 64 53 69 nstructor.wordSi
00034c60: 7a 65 20 3d 3d 3d 20 42 4e 2e 77 6f 72 64 53 69 ze === BN.wordSi
00034c70: 7a 65 20 26 26 20 41 72 72 61 79 2e 69 73 41 72 ze && Array.isAr
00034c80: 72 61 79 28 6e 75 6d 2e 77 6f 72 64 73 29 3b 5c ray(num.words);\
00034c90: 6e 20 20 7d 3b 5c 6e 5c 6e 20 20 42 4e 2e 6d 61 n };\n\n BN.ma
00034ca0: 78 20 3d 20 66 75 6e 63 74 69 6f 6e 20 6d 61 78 x = function max
00034cb0: 20 28 6c 65 66 74 2c 20 72 69 67 68 74 29 20 7b (left, right) {
00034cc0: 5c 6e 20 20 20 20 69 66 20 28 6c 65 66 74 2e 63 \n if (left.c
00034cd0: 6d 70 28 72 69 67 68 74 29 20 3e 20 30 29 20 72 mp(right) > 0) r
00034ce0: 65 74 75 72 6e 20 6c 65 66 74 3b 5c 6e 20 20 20 eturn left;\n
00034cf0: 20 72 65 74 75 72 6e 20 72 69 67 68 74 3b 5c 6e return right;\n
00034d00: 20 20 7d 3b 5c 6e 5c 6e 20 20 42 4e 2e 6d 69 6e };\n\n BN.min
00034d10: 20 3d 20 66 75 6e 63 74 69 6f 6e 20 6d 69 6e 20 = function min
00034d20: 28 6c 65 66 74 2c 20 72 69 67 68 74 29 20 7b 5c (left, right) {\
00034d30: 6e 20 20 20 20 69 66 20 28 6c 65 66 74 2e 63 6d n if (left.cm
00034d40: 70 28 72 69 67 68 74 29 20 3c 20 30 29 20 72 65 p(right) < 0) re
00034d50: 74 75 72 6e 20 6c 65 66 74 3b 5c 6e 20 20 20 20 turn left;\n
00034d60: 72 65 74 75 72 6e 20 72 69 67 68 74 3b 5c 6e 20 return right;\n
00034d70: 20 7d 3b 5c 6e 5c 6e 20 20 42 4e 2e 70 72 6f 74 };\n\n BN.prot
00034d80: 6f 74 79 70 65 2e 5f 69 6e 69 74 20 3d 20 66 75 otype._init = fu
00034d90: 6e 63 74 69 6f 6e 20 69 6e 69 74 20 28 6e 75 6d nction init (num
00034da0: 62 65 72 2c 20 62 61 73 65 2c 20 65 6e 64 69 61 ber, base, endia
00034db0: 6e 29 20 7b 5c 6e 20 20 20 20 69 66 20 28 74 79 n) {\n if (ty
00034dc0: 70 65 6f 66 20 6e 75 6d 62 65 72 20 3d 3d 3d 20 peof number ===
00034dd0: 27 6e 75 6d 62 65 72 27 29 20 7b 5c 6e 20 20 20 'number') {\n
00034de0: 20 20 20 72 65 74 75 72 6e 20 74 68 69 73 2e 5f return this._
00034df0: 69 6e 69 74 4e 75 6d 62 65 72 28 6e 75 6d 62 65 initNumber(numbe
00034e00: 72 2c 20 62 61 73 65 2c 20 65 6e 64 69 61 6e 29 r, base, endian)
00034e10: 3b 5c 6e 20 20 20 20 7d 5c 6e 5c 6e 20 20 20 20 ;\n }\n\n
00034e20: 69 66 20 28 74 79 70 65 6f 66 20 6e 75 6d 62 65 if (typeof numbe
00034e30: 72 20 3d 3d 3d 20 27 6f 62 6a 65 63 74 27 29 20 r === 'object')
00034e40: 7b 5c 6e 20 20 20 20 20 20 72 65 74 75 72 6e 20 {\n return
00034e50: 74 68 69 73 2e 5f 69 6e 69 74 41 72 72 61 79 28 this._initArray(
00034e60: 6e 75 6d 62 65 72 2c 20 62 61 73 65 2c 20 65 6e number, base, en
00034e70: 64 69 61 6e 29 3b 5c 6e 20 20 20 20 7d 5c 6e 5c dian);\n }\n\
00034e80: 6e 20 20 20 20 69 66 20 28 62 61 73 65 20 3d 3d n if (base ==
00034e90: 3d 20 27 68 65 78 27 29 20 7b 5c 6e 20 20 20 20 = 'hex') {\n
00034ea0: 20 20 62 61 73 65 20 3d 20 31 36 3b 5c 6e 20 20 base = 16;\n
00034eb0: 20 20 7d 5c 6e 20 20 20 20 61 73 73 65 72 74 28 }\n assert(
00034ec0: 62 61 73 65 20 3d 3d 3d 20 28 62 61 73 65 20 7c base === (base |
00034ed0: 20 30 29 20 26 26 20 62 61 73 65 20 3e 3d 20 32 0) && base >= 2
00034ee0: 20 26 26 20 62 61 73 65 20 3c 3d 20 33 36 29 3b && base <= 36);
00034ef0: 5c 6e 5c 6e 20 20 20 20 6e 75 6d 62 65 72 20 3d \n\n number =
00034f00: 20 6e 75 6d 62 65 72 2e 74 6f 53 74 72 69 6e 67 number.toString
00034f10: 28 29 2e 72 65 70 6c 61 63 65 28 2f 5c 5c 73 2b ().replace(/\\s+
00034f20: 2f 67 2c 20 27 27 29 3b 5c 6e 20 20 20 20 76 61 /g, '');\n va
00034f30: 72 20 73 74 61 72 74 20 3d 20 30 3b 5c 6e 20 20 r start = 0;\n
00034f40: 20 20 69 66 20 28 6e 75 6d 62 65 72 5b 30 5d 20 if (number[0]
00034f50: 3d 3d 3d 20 27 2d 27 29 20 7b 5c 6e 20 20 20 20 === '-') {\n
00034f60: 20 20 73 74 61 72 74 2b 2b 3b 5c 6e 20 20 20 20 start++;\n
00034f70: 20 20 74 68 69 73 2e 6e 65 67 61 74 69 76 65 20 this.negative
00034f80: 3d 20 31 3b 5c 6e 20 20 20 20 7d 5c 6e 5c 6e 20 = 1;\n }\n\n
00034f90: 20 20 20 69 66 20 28 73 74 61 72 74 20 3c 20 6e if (start < n
00034fa0: 75 6d 62 65 72 2e 6c 65 6e 67 74 68 29 20 7b 5c umber.length) {\
00034fb0: 6e 20 20 20 20 20 20 69 66 20 28 62 61 73 65 20 n if (base
00034fc0: 3d 3d 3d 20 31 36 29 20 7b 5c 6e 20 20 20 20 20 === 16) {\n
00034fd0: 20 20 20 74 68 69 73 2e 5f 70 61 72 73 65 48 65 this._parseHe
00034fe0: 78 28 6e 75 6d 62 65 72 2c 20 73 74 61 72 74 2c x(number, start,
00034ff0: 20 65 6e 64 69 61 6e 29 3b 5c 6e 20 20 20 20 20 endian);\n
00035000: 20 7d 20 65 6c 73 65 20 7b 5c 6e 20 20 20 20 20 } else {\n
00035010: 20 20 20 74 68 69 73 2e 5f 70 61 72 73 65 42 61 this._parseBa
00035020: 73 65 28 6e 75 6d 62 65 72 2c 20 62 61 73 65 2c se(number, base,
00035030: 20 73 74 61 72 74 29 3b 5c 6e 20 20 20 20 20 20 start);\n
00035040: 20 20 69 66 20 28 65 6e 64 69 61 6e 20 3d 3d 3d if (endian ===
00035050: 20 27 6c 65 27 29 20 7b 5c 6e 20 20 20 20 20 20 'le') {\n
00035060: 20 20 20 20 74 68 69 73 2e 5f 69 6e 69 74 41 72 this._initAr
00035070: 72 61 79 28 74 68 69 73 2e 74 6f 41 72 72 61 79 ray(this.toArray
00035080: 28 29 2c 20 62 61 73 65 2c 20 65 6e 64 69 61 6e (), base, endian
00035090: 29 3b 5c 6e 20 20 20 20 20 20 20 20 7d 5c 6e 20 );\n }\n
000350a0: 20 20 20 20 20 7d 5c 6e 20 20 20 20 7d 5c 6e 20 }\n }\n
000350b0: 20 7d 3b 5c 6e 5c 6e 20 20 42 4e 2e 70 72 6f 74 };\n\n BN.prot
000350c0: 6f 74 79 70 65 2e 5f 69 6e 69 74 4e 75 6d 62 65 otype._initNumbe
000350d0: 72 20 3d 20 66 75 6e 63 74 69 6f 6e 20 5f 69 6e r = function _in
000350e0: 69 74 4e 75 6d 62 65 72 20 28 6e 75 6d 62 65 72 itNumber (number
000350f0: 2c 20 62 61 73 65 2c 20 65 6e 64 69 61 6e 29 20 , base, endian)
00035100: 7b 5c 6e 20 20 20 20 69 66 20 28 6e 75 6d 62 65 {\n if (numbe
00035110: 72 20 3c 20 30 29 20 7b 5c 6e 20 20 20 20 20 20 r < 0) {\n
00035120: 74 68 69 73 2e 6e 65 67 61 74 69 76 65 20 3d 20 this.negative =
00035130: 31 3b 5c 6e 20 20 20 20 20 20 6e 75 6d 62 65 72 1;\n number
00035140: 20 3d 20 2d 6e 75 6d 62 65 72 3b 5c 6e 20 20 20 = -number;\n
00035150: 20 7d 5c 6e 20 20 20 20 69 66 20 28 6e 75 6d 62 }\n if (numb
00035160: 65 72 20 3c 20 30 78 34 30 30 30 30 30 30 29 20 er < 0x4000000)
00035170: 7b 5c 6e 20 20 20 20 20 20 74 68 69 73 2e 77 6f {\n this.wo
00035180: 72 64 73 20 3d 20 5b 6e 75 6d 62 65 72 20 26 20 rds = [number &
00035190: 30 78 33 66 66 66 66 66 66 5d 3b 5c 6e 20 20 20 0x3ffffff];\n
000351a0: 20 20 20 74 68 69 73 2e 6c 65 6e 67 74 68 20 3d this.length =
000351b0: 20 31 3b 5c 6e 20 20 20 20 7d 20 65 6c 73 65 20 1;\n } else
000351c0: 69 66 20 28 6e 75 6d 62 65 72 20 3c 20 30 78 31 if (number < 0x1
000351d0: 30 30 30 30 30 30 30 30 30 30 30 30 30 29 20 7b 0000000000000) {
000351e0: 5c 6e 20 20 20 20 20 20 74 68 69 73 2e 77 6f 72 \n this.wor
000351f0: 64 73 20 3d 20 5b 5c 6e 20 20 20 20 20 20 20 20 ds = [\n
00035200: 6e 75 6d 62 65 72 20 26 20 30 78 33 66 66 66 66 number & 0x3ffff
00035210: 66 66 2c 5c 6e 20 20 20 20 20 20 20 20 28 6e 75 ff,\n (nu
00035220: 6d 62 65 72 20 2f 20 30 78 34 30 30 30 30 30 30 mber / 0x4000000
00035230: 29 20 26 20 30 78 33 66 66 66 66 66 66 5c 6e 20 ) & 0x3ffffff\n
00035240: 20 20 20 20 20 5d 3b 5c 6e 20 20 20 20 20 20 74 ];\n t
00035250: 68 69 73 2e 6c 65 6e 67 74 68 20 3d 20 32 3b 5c his.length = 2;\
00035260: 6e 20 20 20 20 7d 20 65 6c 73 65 20 7b 5c 6e 20 n } else {\n
00035270: 20 20 20 20 20 61 73 73 65 72 74 28 6e 75 6d 62 assert(numb
00035280: 65 72 20 3c 20 30 78 32 30 30 30 30 30 30 30 30 er < 0x200000000
00035290: 30 30 30 30 30 29 3b 20 2f 2f 20 32 20 5e 20 35 00000); // 2 ^ 5
000352a0: 33 20 28 75 6e 73 61 66 65 29 5c 6e 20 20 20 20 3 (unsafe)\n
000352b0: 20 20 74 68 69 73 2e 77 6f 72 64 73 20 3d 20 5b this.words = [
000352c0: 5c 6e 20 20 20 20 20 20 20 20 6e 75 6d 62 65 72 \n number
000352d0: 20 26 20 30 78 33 66 66 66 66 66 66 2c 5c 6e 20 & 0x3ffffff,\n
000352e0: 20 20 20 20 20 20 20 28 6e 75 6d 62 65 72 20 2f (number /
000352f0: 20 30 78 34 30 30 30 30 30 30 29 20 26 20 30 78 0x4000000) & 0x
00035300: 33 66 66 66 66 66 66 2c 5c 6e 20 20 20 20 20 20 3ffffff,\n
00035310: 20 20 31 5c 6e 20 20 20 20 20 20 5d 3b 5c 6e 20 1\n ];\n
00035320: 20 20 20 20 20 74 68 69 73 2e 6c 65 6e 67 74 68 this.length
00035330: 20 3d 20 33 3b 5c 6e 20 20 20 20 7d 5c 6e 5c 6e = 3;\n }\n\n
00035340: 20 20 20 20 69 66 20 28 65 6e 64 69 61 6e 20 21 if (endian !
00035350: 3d 3d 20 27 6c 65 27 29 20 72 65 74 75 72 6e 3b == 'le') return;
00035360: 5c 6e 5c 6e 20 20 20 20 2f 2f 20 52 65 76 65 72 \n\n // Rever
00035370: 73 65 20 74 68 65 20 62 79 74 65 73 5c 6e 20 20 se the bytes\n
00035380: 20 20 74 68 69 73 2e 5f 69 6e 69 74 41 72 72 61 this._initArra
00035390: 79 28 74 68 69 73 2e 74 6f 41 72 72 61 79 28 29 y(this.toArray()
000353a0: 2c 20 62 61 73 65 2c 20 65 6e 64 69 61 6e 29 3b , base, endian);
000353b0: 5c 6e 20 20 7d 3b 5c 6e 5c 6e 20 20 42 4e 2e 70 \n };\n\n BN.p
000353c0: 72 6f 74 6f 74 79 70 65 2e 5f 69 6e 69 74 41 72 rototype._initAr
000353d0: 72 61 79 20 3d 20 66 75 6e 63 74 69 6f 6e 20 5f ray = function _
000353e0: 69 6e 69 74 41 72 72 61 79 20 28 6e 75 6d 62 65 initArray (numbe
000353f0: 72 2c 20 62 61 73 65 2c 20 65 6e 64 69 61 6e 29 r, base, endian)
00035400: 20 7b 5c 6e 20 20 20 20 2f 2f 20 50 65 72 68 61 {\n // Perha
00035410: 70 73 20 61 20 55 69 6e 74 38 41 72 72 61 79 5c ps a Uint8Array\
00035420: 6e 20 20 20 20 61 73 73 65 72 74 28 74 79 70 65 n assert(type
00035430: 6f 66 20 6e 75 6d 62 65 72 2e 6c 65 6e 67 74 68 of number.length
00035440: 20 3d 3d 3d 20 27 6e 75 6d 62 65 72 27 29 3b 5c === 'number');\
00035450: 6e 20 20 20 20 69 66 20 28 6e 75 6d 62 65 72 2e n if (number.
00035460: 6c 65 6e 67 74 68 20 3c 3d 20 30 29 20 7b 5c 6e length <= 0) {\n
00035470: 20 20 20 20 20 20 74 68 69 73 2e 77 6f 72 64 73 this.words
00035480: 20 3d 20 5b 30 5d 3b 5c 6e 20 20 20 20 20 20 74 = [0];\n t
00035490: 68 69 73 2e 6c 65 6e 67 74 68 20 3d 20 31 3b 5c his.length = 1;\
000354a0: 6e 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 68 n return th
000354b0: 69 73 3b 5c 6e 20 20 20 20 7d 5c 6e 5c 6e 20 20 is;\n }\n\n
000354c0: 20 20 74 68 69 73 2e 6c 65 6e 67 74 68 20 3d 20 this.length =
000354d0: 4d 61 74 68 2e 63 65 69 6c 28 6e 75 6d 62 65 72 Math.ceil(number
000354e0: 2e 6c 65 6e 67 74 68 20 2f 20 33 29 3b 5c 6e 20 .length / 3);\n
000354f0: 20 20 20 74 68 69 73 2e 77 6f 72 64 73 20 3d 20 this.words =
00035500: 6e 65 77 20 41 72 72 61 79 28 74 68 69 73 2e 6c new Array(this.l
00035510: 65 6e 67 74 68 29 3b 5c 6e 20 20 20 20 66 6f 72 ength);\n for
00035520: 20 28 76 61 72 20 69 20 3d 20 30 3b 20 69 20 3c (var i = 0; i <
00035530: 20 74 68 69 73 2e 6c 65 6e 67 74 68 3b 20 69 2b this.length; i+
00035540: 2b 29 20 7b 5c 6e 20 20 20 20 20 20 74 68 69 73 +) {\n this
00035550: 2e 77 6f 72 64 73 5b 69 5d 20 3d 20 30 3b 5c 6e .words[i] = 0;\n
00035560: 20 20 20 20 7d 5c 6e 5c 6e 20 20 20 20 76 61 72 }\n\n var
00035570: 20 6a 2c 20 77 3b 5c 6e 20 20 20 20 76 61 72 20 j, w;\n var
00035580: 6f 66 66 20 3d 20 30 3b 5c 6e 20 20 20 20 69 66 off = 0;\n if
00035590: 20 28 65 6e 64 69 61 6e 20 3d 3d 3d 20 27 62 65 (endian === 'be
000355a0: 27 29 20 7b 5c 6e 20 20 20 20 20 20 66 6f 72 20 ') {\n for
000355b0: 28 69 20 3d 20 6e 75 6d 62 65 72 2e 6c 65 6e 67 (i = number.leng
000355c0: 74 68 20 2d 20 31 2c 20 6a 20 3d 20 30 3b 20 69 th - 1, j = 0; i
000355d0: 20 3e 3d 20 30 3b 20 69 20 2d 3d 20 33 29 20 7b >= 0; i -= 3) {
000355e0: 5c 6e 20 20 20 20 20 20 20 20 77 20 3d 20 6e 75 \n w = nu
000355f0: 6d 62 65 72 5b 69 5d 20 7c 20 28 6e 75 6d 62 65 mber[i] | (numbe
00035600: 72 5b 69 20 2d 20 31 5d 20 3c 3c 20 38 29 20 7c r[i - 1] << 8) |
00035610: 20 28 6e 75 6d 62 65 72 5b 69 20 2d 20 32 5d 20 (number[i - 2]
00035620: 3c 3c 20 31 36 29 3b 5c 6e 20 20 20 20 20 20 20 << 16);\n
00035630: 20 74 68 69 73 2e 77 6f 72 64 73 5b 6a 5d 20 7c this.words[j] |
00035640: 3d 20 28 77 20 3c 3c 20 6f 66 66 29 20 26 20 30 = (w << off) & 0
00035650: 78 33 66 66 66 66 66 66 3b 5c 6e 20 20 20 20 20 x3ffffff;\n
00035660: 20 20 20 74 68 69 73 2e 77 6f 72 64 73 5b 6a 20 this.words[j
00035670: 2b 20 31 5d 20 3d 20 28 77 20 3e 3e 3e 20 28 32 + 1] = (w >>> (2
00035680: 36 20 2d 20 6f 66 66 29 29 20 26 20 30 78 33 66 6 - off)) & 0x3f
00035690: 66 66 66 66 66 3b 5c 6e 20 20 20 20 20 20 20 20 fffff;\n
000356a0: 6f 66 66 20 2b 3d 20 32 34 3b 5c 6e 20 20 20 20 off += 24;\n
000356b0: 20 20 20 20 69 66 20 28 6f 66 66 20 3e 3d 20 32 if (off >= 2
000356c0: 36 29 20 7b 5c 6e 20 20 20 20 20 20 20 20 20 20 6) {\n
000356d0: 6f 66 66 20 2d 3d 20 32 36 3b 5c 6e 20 20 20 20 off -= 26;\n
000356e0: 20 20 20 20 20 20 6a 2b 2b 3b 5c 6e 20 20 20 20 j++;\n
000356f0: 20 20 20 20 7d 5c 6e 20 20 20 20 20 20 7d 5c 6e }\n }\n
00035700: 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 65 } else if (e
00035710: 6e 64 69 61 6e 20 3d 3d 3d 20 27 6c 65 27 29 20 ndian === 'le')
00035720: 7b 5c 6e 20 20 20 20 20 20 66 6f 72 20 28 69 20 {\n for (i
00035730: 3d 20 30 2c 20 6a 20 3d 20 30 3b 20 69 20 3c 20 = 0, j = 0; i <
00035740: 6e 75 6d 62 65 72 2e 6c 65 6e 67 74 68 3b 20 69 number.length; i
00035750: 20 2b 3d 20 33 29 20 7b 5c 6e 20 20 20 20 20 20 += 3) {\n
00035760: 20 20 77 20 3d 20 6e 75 6d 62 65 72 5b 69 5d 20 w = number[i]
00035770: 7c 20 28 6e 75 6d 62 65 72 5b 69 20 2b 20 31 5d | (number[i + 1]
00035780: 20 3c 3c 20 38 29 20 7c 20 28 6e 75 6d 62 65 72 << 8) | (number
00035790: 5b 69 20 2b 20 32 5d 20 3c 3c 20 31 36 29 3b 5c [i + 2] << 16);\
000357a0: 6e 20 20 20 20 20 20 20 20 74 68 69 73 2e 77 6f n this.wo
000357b0: 72 64 73 5b 6a 5d 20 7c 3d 20 28 77 20 3c 3c 20 rds[j] |= (w <<
000357c0: 6f 66 66 29 20 26 20 30 78 33 66 66 66 66 66 66 off) & 0x3ffffff
000357d0: 3b 5c 6e 20 20 20 20 20 20 20 20 74 68 69 73 2e ;\n this.
000357e0: 77 6f 72 64 73 5b 6a 20 2b 20 31 5d 20 3d 20 28 words[j + 1] = (
000357f0: 77 20 3e 3e 3e 20 28 32 36 20 2d 20 6f 66 66 29 w >>> (26 - off)
00035800: 29 20 26 20 30 78 33 66 66 66 66 66 66 3b 5c 6e ) & 0x3ffffff;\n
00035810: 20 20 20 20 20 20 20 20 6f 66 66 20 2b 3d 20 32 off += 2
00035820: 34 3b 5c 6e 20 20 20 20 20 20 20 20 69 66 20 28 4;\n if (
00035830: 6f 66 66 20 3e 3d 20 32 36 29 20 7b 5c 6e 20 20 off >= 26) {\n
00035840: 20 20 20 20 20 20 20 20 6f 66 66 20 2d 3d 20 32 off -= 2
00035850: 36 3b 5c 6e 20 20 20 20 20 20 20 20 20 20 6a 2b 6;\n j+
00035860: 2b 3b 5c 6e 20 20 20 20 20 20 20 20 7d 5c 6e 20 +;\n }\n
00035870: 20 20 20 20 20 7d 5c 6e 20 20 20 20 7d 5c 6e 20 }\n }\n
00035880: 20 20 20 72 65 74 75 72 6e 20 74 68 69 73 2e 5f return this._
00035890: 73 74 72 69 70 28 29 3b 5c 6e 20 20 7d 3b 5c 6e strip();\n };\n
000358a0: 5c 6e 20 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 \n function par
000358b0: 73 65 48 65 78 34 42 69 74 73 20 28 73 74 72 69 seHex4Bits (stri
000358c0: 6e 67 2c 20 69 6e 64 65 78 29 20 7b 5c 6e 20 20 ng, index) {\n
000358d0: 20 20 76 61 72 20 63 20 3d 20 73 74 72 69 6e 67 var c = string
000358e0: 2e 63 68 61 72 43 6f 64 65 41 74 28 69 6e 64 65 .charCodeAt(inde
000358f0: 78 29 3b 5c 6e 20 20 20 20 2f 2f 20 27 30 27 20 x);\n // '0'
00035900: 2d 20 27 39 27 5c 6e 20 20 20 20 69 66 20 28 63 - '9'\n if (c
00035910: 20 3e 3d 20 34 38 20 26 26 20 63 20 3c 3d 20 35 >= 48 && c <= 5
00035920: 37 29 20 7b 5c 6e 20 20 20 20 20 20 72 65 74 75 7) {\n retu
00035930: 72 6e 20 63 20 2d 20 34 38 3b 5c 6e 20 20 20 20 rn c - 48;\n
00035940: 2f 2f 20 27 41 27 20 2d 20 27 46 27 5c 6e 20 20 // 'A' - 'F'\n
00035950: 20 20 7d 20 65 6c 73 65 20 69 66 20 28 63 20 3e } else if (c >
00035960: 3d 20 36 35 20 26 26 20 63 20 3c 3d 20 37 30 29 = 65 && c <= 70)
00035970: 20 7b 5c 6e 20 20 20 20 20 20 72 65 74 75 72 6e {\n return
00035980: 20 63 20 2d 20 35 35 3b 5c 6e 20 20 20 20 2f 2f c - 55;\n //
00035990: 20 27 61 27 20 2d 20 27 66 27 5c 6e 20 20 20 20 'a' - 'f'\n
000359a0: 7d 20 65 6c 73 65 20 69 66 20 28 63 20 3e 3d 20 } else if (c >=
000359b0: 39 37 20 26 26 20 63 20 3c 3d 20 31 30 32 29 20 97 && c <= 102)
000359c0: 7b 5c 6e 20 20 20 20 20 20 72 65 74 75 72 6e 20 {\n return
000359d0: 63 20 2d 20 38 37 3b 5c 6e 20 20 20 20 7d 20 65 c - 87;\n } e
000359e0: 6c 73 65 20 7b 5c 6e 20 20 20 20 20 20 61 73 73 lse {\n ass
000359f0: 65 72 74 28 66 61 6c 73 65 2c 20 27 49 6e 76 61 ert(false, 'Inva
00035a00: 6c 69 64 20 63 68 61 72 61 63 74 65 72 20 69 6e lid character in
00035a10: 20 27 20 2b 20 73 74 72 69 6e 67 29 3b 5c 6e 20 ' + string);\n
00035a20: 20 20 20 7d 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 66 }\n }\n\n f
00035a30: 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 48 65 78 unction parseHex
00035a40: 42 79 74 65 20 28 73 74 72 69 6e 67 2c 20 6c 6f Byte (string, lo
00035a50: 77 65 72 42 6f 75 6e 64 2c 20 69 6e 64 65 78 29 werBound, index)
00035a60: 20 7b 5c 6e 20 20 20 20 76 61 72 20 72 20 3d 20 {\n var r =
00035a70: 70 61 72 73 65 48 65 78 34 42 69 74 73 28 73 74 parseHex4Bits(st
00035a80: 72 69 6e 67 2c 20 69 6e 64 65 78 29 3b 5c 6e 20 ring, index);\n
00035a90: 20 20 20 69 66 20 28 69 6e 64 65 78 20 2d 20 31 if (index - 1
00035aa0: 20 3e 3d 20 6c 6f 77 65 72 42 6f 75 6e 64 29 20 >= lowerBound)
00035ab0: 7b 5c 6e 20 20 20 20 20 20 72 20 7c 3d 20 70 61 {\n r |= pa
00035ac0: 72 73 65 48 65 78 34 42 69 74 73 28 73 74 72 69 rseHex4Bits(stri
00035ad0: 6e 67 2c 20 69 6e 64 65 78 20 2d 20 31 29 20 3c ng, index - 1) <
00035ae0: 3c 20 34 3b 5c 6e 20 20 20 20 7d 5c 6e 20 20 20 < 4;\n }\n
00035af0: 20 72 65 74 75 72 6e 20 72 3b 5c 6e 20 20 7d 5c return r;\n }\
00035b00: 6e 5c 6e 20 20 42 4e 2e 70 72 6f 74 6f 74 79 70 n\n BN.prototyp
00035b10: 65 2e 5f 70 61 72 73 65 48 65 78 20 3d 20 66 75 e._parseHex = fu
00035b20: 6e 63 74 69 6f 6e 20 5f 70 61 72 73 65 48 65 78 nction _parseHex
00035b30: 20 28 6e 75 6d 62 65 72 2c 20 73 74 61 72 74 2c (number, start,
00035b40: 20 65 6e 64 69 61 6e 29 20 7b 5c 6e 20 20 20 20 endian) {\n
00035b50: 2f 2f 20 43 72 65 61 74 65 20 70 6f 73 73 69 62 // Create possib
00035b60: 6c 79 20 62 69 67 67 65 72 20 61 72 72 61 79 20 ly bigger array
00035b70: 74 6f 20 65 6e 73 75 72 65 20 74 68 61 74 20 69 to ensure that i
00035b80: 74 20 66 69 74 73 20 74 68 65 20 6e 75 6d 62 65 t fits the numbe
00035b90: 72 5c 6e 20 20 20 20 74 68 69 73 2e 6c 65 6e 67 r\n this.leng
00035ba0: 74 68 20 3d 20 4d 61 74 68 2e 63 65 69 6c 28 28 th = Math.ceil((
00035bb0: 6e 75 6d 62 65 72 2e 6c 65 6e 67 74 68 20 2d 20 number.length -
00035bc0: 73 74 61 72 74 29 20 2f 20 36 29 3b 5c 6e 20 20 start) / 6);\n
00035bd0: 20 20 74 68 69 73 2e 77 6f 72 64 73 20 3d 20 6e this.words = n
00035be0: 65 77 20 41 72 72 61 79 28 74 68 69 73 2e 6c 65 ew Array(this.le
00035bf0: 6e 67 74 68 29 3b 5c 6e 20 20 20 20 66 6f 72 20 ngth);\n for
00035c00: 28 76 61 72 20 69 20 3d 20 30 3b 20 69 20 3c 20 (var i = 0; i <
00035c10: 74 68 69 73 2e 6c 65 6e 67 74 68 3b 20 69 2b 2b this.length; i++
00035c20: 29 20 7b 5c 6e 20 20 20 20 20 20 74 68 69 73 2e ) {\n this.
00035c30: 77 6f 72 64 73 5b 69 5d 20 3d 20 30 3b 5c 6e 20 words[i] = 0;\n
00035c40: 20 20 20 7d 5c 6e 5c 6e 20 20 20 20 2f 2f 20 32 }\n\n // 2
00035c50: 34 2d 62 69 74 73 20 63 68 75 6e 6b 73 5c 6e 20 4-bits chunks\n
00035c60: 20 20 20 76 61 72 20 6f 66 66 20 3d 20 30 3b 5c var off = 0;\
00035c70: 6e 20 20 20 20 76 61 72 20 6a 20 3d 20 30 3b 5c n var j = 0;\
00035c80: 6e 5c 6e 20 20 20 20 76 61 72 20 77 3b 5c 6e 20 n\n var w;\n
00035c90: 20 20 20 69 66 20 28 65 6e 64 69 61 6e 20 3d 3d if (endian ==
00035ca0: 3d 20 27 62 65 27 29 20 7b 5c 6e 20 20 20 20 20 = 'be') {\n
00035cb0: 20 66 6f 72 20 28 69 20 3d 20 6e 75 6d 62 65 72 for (i = number
00035cc0: 2e 6c 65 6e 67 74 68 20 2d 20 31 3b 20 69 20 3e .length - 1; i >
00035cd0: 3d 20 73 74 61 72 74 3b 20 69 20 2d 3d 20 32 29 = start; i -= 2)
00035ce0: 20 7b 5c 6e 20 20 20 20 20 20 20 20 77 20 3d 20 {\n w =
00035cf0: 70 61 72 73 65 48 65 78 42 79 74 65 28 6e 75 6d parseHexByte(num
00035d00: 62 65 72 2c 20 73 74 61 72 74 2c 20 69 29 20 3c ber, start, i) <
00035d10: 3c 20 6f 66 66 3b 5c 6e 20 20 20 20 20 20 20 20 < off;\n
00035d20: 74 68 69 73 2e 77 6f 72 64 73 5b 6a 5d 20 7c 3d this.words[j] |=
00035d30: 20 77 20 26 20 30 78 33 66 66 66 66 66 66 3b 5c w & 0x3ffffff;\
00035d40: 6e 20 20 20 20 20 20 20 20 69 66 20 28 6f 66 66 n if (off
00035d50: 20 3e 3d 20 31 38 29 20 7b 5c 6e 20 20 20 20 20 >= 18) {\n
00035d60: 20 20 20 20 20 6f 66 66 20 2d 3d 20 31 38 3b 5c off -= 18;\
00035d70: 6e 20 20 20 20 20 20 20 20 20 20 6a 20 2b 3d 20 n j +=
00035d80: 31 3b 5c 6e 20 20 20 20 20 20 20 20 20 20 74 68 1;\n th
00035d90: 69 73 2e 77 6f 72 64 73 5b 6a 5d 20 7c 3d 20 77 is.words[j] |= w
00035da0: 20 3e 3e 3e 20 32 36 3b 5c 6e 20 20 20 20 20 20 >>> 26;\n
00035db0: 20 20 7d 20 65 6c 73 65 20 7b 5c 6e 20 20 20 20 } else {\n
00035dc0: 20 20 20 20 20 20 6f 66 66 20 2b 3d 20 38 3b 5c off += 8;\
00035dd0: 6e 20 20 20 20 20 20 20 20 7d 5c 6e 20 20 20 20 n }\n
00035de0: 20 20 7d 5c 6e 20 20 20 20 7d 20 65 6c 73 65 20 }\n } else
00035df0: 7b 5c 6e 20 20 20 20 20 20 76 61 72 20 70 61 72 {\n var par
00035e00: 73 65 4c 65 6e 67 74 68 20 3d 20 6e 75 6d 62 65 seLength = numbe
00035e10: 72 2e 6c 65 6e 67 74 68 20 2d 20 73 74 61 72 74 r.length - start
00035e20: 3b 5c 6e 20 20 20 20 20 20 66 6f 72 20 28 69 20 ;\n for (i
00035e30: 3d 20 70 61 72 73 65 4c 65 6e 67 74 68 20 25 20 = parseLength %
00035e40: 32 20 3d 3d 3d 20 30 20 3f 20 73 74 61 72 74 20 2 === 0 ? start
00035e50: 2b 20 31 20 3a 20 73 74 61 72 74 3b 20 69 20 3c + 1 : start; i <
00035e60: 20 6e 75 6d 62 65 72 2e 6c 65 6e 67 74 68 3b 20 number.length;
00035e70: 69 20 2b 3d 20 32 29 20 7b 5c 6e 20 20 20 20 20 i += 2) {\n
00035e80: 20 20 20 77 20 3d 20 70 61 72 73 65 48 65 78 42 w = parseHexB
00035e90: 79 74 65 28 6e 75 6d 62 65 72 2c 20 73 74 61 72 yte(number, star
00035ea0: 74 2c 20 69 29 20 3c 3c 20 6f 66 66 3b 5c 6e 20 t, i) << off;\n
00035eb0: 20 20 20 20 20 20 20 74 68 69 73 2e 77 6f 72 64 this.word
00035ec0: 73 5b 6a 5d 20 7c 3d 20 77 20 26 20 30 78 33 66 s[j] |= w & 0x3f
00035ed0: 66 66 66 66 66 3b 5c 6e 20 20 20 20 20 20 20 20 fffff;\n
00035ee0: 69 66 20 28 6f 66 66 20 3e 3d 20 31 38 29 20 7b if (off >= 18) {
00035ef0: 5c 6e 20 20 20 20 20 20 20 20 20 20 6f 66 66 20 \n off
00035f00: 2d 3d 20 31 38 3b 5c 6e 20 20 20 20 20 20 20 20 -= 18;\n
00035f10: 20 20 6a 20 2b 3d 20 31 3b 5c 6e 20 20 20 20 20 j += 1;\n
00035f20: 20 20 20 20 20 74 68 69 73 2e 77 6f 72 64 73 5b this.words[
00035f30: 6a 5d 20 7c 3d 20 77 20 3e 3e 3e 20 32 36 3b 5c j] |= w >>> 26;\
00035f40: 6e 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 n } else
00035f50: 7b 5c 6e 20 20 20 20 20 20 20 20 20 20 6f 66 66 {\n off
00035f60: 20 2b 3d 20 38 3b 5c 6e 20 20 20 20 20 20 20 20 += 8;\n
00035f70: 7d 5c 6e 20 20 20 20 20 20 7d 5c 6e 20 20 20 20 }\n }\n
00035f80: 7d 5c 6e 5c 6e 20 20 20 20 74 68 69 73 2e 5f 73 }\n\n this._s
00035f90: 74 72 69 70 28 29 3b 5c 6e 20 20 7d 3b 5c 6e 5c trip();\n };\n\
00035fa0: 6e 20 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 n function pars
00035fb0: 65 42 61 73 65 20 28 73 74 72 2c 20 73 74 61 72 eBase (str, star
00035fc0: 74 2c 20 65 6e 64 2c 20 6d 75 6c 29 20 7b 5c 6e t, end, mul) {\n
00035fd0: 20 20 20 20 76 61 72 20 72 20 3d 20 30 3b 5c 6e var r = 0;\n
00035fe0: 20 20 20 20 76 61 72 20 62 20 3d 20 30 3b 5c 6e var b = 0;\n
00035ff0: 20 20 20 20 76 61 72 20 6c 65 6e 20 3d 20 4d 61 var len = Ma
00036000: 74 68 2e 6d 69 6e 28 73 74 72 2e 6c 65 6e 67 74 th.min(str.lengt
00036010: 68 2c 20 65 6e 64 29 3b 5c 6e 20 20 20 20 66 6f h, end);\n fo
00036020: 72 20 28 76 61 72 20 69 20 3d 20 73 74 61 72 74 r (var i = start
00036030: 3b 20 69 20 3c 20 6c 65 6e 3b 20 69 2b 2b 29 20 ; i < len; i++)
00036040: 7b 5c 6e 20 20 20 20 20 20 76 61 72 20 63 20 3d {\n var c =
00036050: 20 73 74 72 2e 63 68 61 72 43 6f 64 65 41 74 28 str.charCodeAt(
00036060: 69 29 20 2d 20 34 38 3b 5c 6e 5c 6e 20 20 20 20 i) - 48;\n\n
00036070: 20 20 72 20 2a 3d 20 6d 75 6c 3b 5c 6e 5c 6e 20 r *= mul;\n\n
00036080: 20 20 20 20 20 2f 2f 20 27 61 27 5c 6e 20 20 20 // 'a'\n
00036090: 20 20 20 69 66 20 28 63 20 3e 3d 20 34 39 29 20 if (c >= 49)
000360a0: 7b 5c 6e 20 20 20 20 20 20 20 20 62 20 3d 20 63 {\n b = c
000360b0: 20 2d 20 34 39 20 2b 20 30 78 61 3b 5c 6e 5c 6e - 49 + 0xa;\n\n
000360c0: 20 20 20 20 20 20 2f 2f 20 27 41 27 5c 6e 20 20 // 'A'\n
000360d0: 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 63 } else if (c
000360e0: 20 3e 3d 20 31 37 29 20 7b 5c 6e 20 20 20 20 20 >= 17) {\n
000360f0: 20 20 20 62 20 3d 20 63 20 2d 20 31 37 20 2b 20 b = c - 17 +
00036100: 30 78 61 3b 5c 6e 5c 6e 20 20 20 20 20 20 2f 2f 0xa;\n\n //
00036110: 20 27 30 27 20 2d 20 27 39 27 5c 6e 20 20 20 20 '0' - '9'\n
00036120: 20 20 7d 20 65 6c 73 65 20 7b 5c 6e 20 20 20 20 } else {\n
00036130: 20 20 20 20 62 20 3d 20 63 3b 5c 6e 20 20 20 20 b = c;\n
00036140: 20 20 7d 5c 6e 20 20 20 20 20 20 61 73 73 65 72 }\n asser
00036150: 74 28 63 20 3e 3d 20 30 20 26 26 20 62 20 3c 20 t(c >= 0 && b <
00036160: 6d 75 6c 2c 20 27 49 6e 76 61 6c 69 64 20 63 68 mul, 'Invalid ch
00036170: 61 72 61 63 74 65 72 27 29 3b 5c 6e 20 20 20 20 aracter');\n
00036180: 20 20 72 20 2b 3d 20 62 3b 5c 6e 20 20 20 20 7d r += b;\n }
00036190: 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 72 3b 5c \n return r;\
000361a0: 6e 20 20 7d 5c 6e 5c 6e 20 20 42 4e 2e 70 72 6f n }\n\n BN.pro
000361b0: 74 6f 74 79 70 65 2e 5f 70 61 72 73 65 42 61 73 totype._parseBas
000361c0: 65 20 3d 20 66 75 6e 63 74 69 6f 6e 20 5f 70 61 e = function _pa
000361d0: 72 73 65 42 61 73 65 20 28 6e 75 6d 62 65 72 2c rseBase (number,
000361e0: 20 62 61 73 65 2c 20 73 74 61 72 74 29 20 7b 5c base, start) {\
000361f0: 6e 20 20 20 20 2f 2f 20 49 6e 69 74 69 61 6c 69 n // Initiali
00036200: 7a 65 20 61 73 20 7a 65 72 6f 5c 6e 20 20 20 20 ze as zero\n
00036210: 74 68 69 73 2e 77 6f 72 64 73 20 3d 20 5b 30 5d this.words = [0]
00036220: 3b 5c 6e 20 20 20 20 74 68 69 73 2e 6c 65 6e 67 ;\n this.leng
00036230: 74 68 20 3d 20 31 3b 5c 6e 5c 6e 20 20 20 20 2f th = 1;\n\n /
00036240: 2f 20 46 69 6e 64 20 6c 65 6e 67 74 68 20 6f 66 / Find length of
00036250: 20 6c 69 6d 62 20 69 6e 20 62 61 73 65 5c 6e 20 limb in base\n
00036260: 20 20 20 66 6f 72 20 28 76 61 72 20 6c 69 6d 62 for (var limb
00036270: 4c 65 6e 20 3d 20 30 2c 20 6c 69 6d 62 50 6f 77 Len = 0, limbPow
00036280: 20 3d 20 31 3b 20 6c 69 6d 62 50 6f 77 20 3c 3d = 1; limbPow <=
00036290: 20 30 78 33 66 66 66 66 66 66 3b 20 6c 69 6d 62 0x3ffffff; limb
000362a0: 50 6f 77 20 2a 3d 20 62 61 73 65 29 20 7b 5c 6e Pow *= base) {\n
000362b0: 20 20 20 20 20 20 6c 69 6d 62 4c 65 6e 2b 2b 3b limbLen++;
000362c0: 5c 6e 20 20 20 20 7d 5c 6e 20 20 20 20 6c 69 6d \n }\n lim
000362d0: 62 4c 65 6e 2d 2d 3b 5c 6e 20 20 20 20 6c 69 6d bLen--;\n lim
000362e0: 62 50 6f 77 20 3d 20 28 6c 69 6d 62 50 6f 77 20 bPow = (limbPow
000362f0: 2f 20 62 61 73 65 29 20 7c 20 30 3b 5c 6e 5c 6e / base) | 0;\n\n
00036300: 20 20 20 20 76 61 72 20 74 6f 74 61 6c 20 3d 20 var total =
00036310: 6e 75 6d 62 65 72 2e 6c 65 6e 67 74 68 20 2d 20 number.length -
00036320: 73 74 61 72 74 3b 5c 6e 20 20 20 20 76 61 72 20 start;\n var
00036330: 6d 6f 64 20 3d 20 74 6f 74 61 6c 20 25 20 6c 69 mod = total % li
00036340: 6d 62 4c 65 6e 3b 5c 6e 20 20 20 20 76 61 72 20 mbLen;\n var
00036350: 65 6e 64 20 3d 20 4d 61 74 68 2e 6d 69 6e 28 74 end = Math.min(t
00036360: 6f 74 61 6c 2c 20 74 6f 74 61 6c 20 2d 20 6d 6f otal, total - mo
00036370: 64 29 20 2b 20 73 74 61 72 74 3b 5c 6e 5c 6e 20 d) + start;\n\n
00036380: 20 20 20 76 61 72 20 77 6f 72 64 20 3d 20 30 3b var word = 0;
00036390: 5c 6e 20 20 20 20 66 6f 72 20 28 76 61 72 20 69 \n for (var i
000363a0: 20 3d 20 73 74 61 72 74 3b 20 69 20 3c 20 65 6e = start; i < en
000363b0: 64 3b 20 69 20 2b 3d 20 6c 69 6d 62 4c 65 6e 29 d; i += limbLen)
000363c0: 20 7b 5c 6e 20 20 20 20 20 20 77 6f 72 64 20 3d {\n word =
000363d0: 20 70 61 72 73 65 42 61 73 65 28 6e 75 6d 62 65 parseBase(numbe
000363e0: 72 2c 20 69 2c 20 69 20 2b 20 6c 69 6d 62 4c 65 r, i, i + limbLe
000363f0: 6e 2c 20 62 61 73 65 29 3b 5c 6e 5c 6e 20 20 20 n, base);\n\n
00036400: 20 20 20 74 68 69 73 2e 69 6d 75 6c 6e 28 6c 69 this.imuln(li
00036410: 6d 62 50 6f 77 29 3b 5c 6e 20 20 20 20 20 20 69 mbPow);\n i
00036420: 66 20 28 74 68 69 73 2e 77 6f 72 64 73 5b 30 5d f (this.words[0]
00036430: 20 2b 20 77 6f 72 64 20 3c 20 30 78 34 30 30 30 + word < 0x4000
00036440: 30 30 30 29 20 7b 5c 6e 20 20 20 20 20 20 20 20 000) {\n
00036450: 74 68 69 73 2e 77 6f 72 64 73 5b 30 5d 20 2b 3d this.words[0] +=
00036460: 20 77 6f 72 64 3b 5c 6e 20 20 20 20 20 20 7d 20 word;\n }
00036470: 65 6c 73 65 20 7b 5c 6e 20 20 20 20 20 20 20 20 else {\n
00036480: 74 68 69 73 2e 5f 69 61 64 64 6e 28 77 6f 72 64 this._iaddn(word
00036490: 29 3b 5c 6e 20 20 20 20 20 20 7d 5c 6e 20 20 20 );\n }\n
000364a0: 20 7d 5c 6e 5c 6e 20 20 20 20 69 66 20 28 6d 6f }\n\n if (mo
000364b0: 64 20 21 3d 3d 20 30 29 20 7b 5c 6e 20 20 20 20 d !== 0) {\n
000364c0: 20 20 76 61 72 20 70 6f 77 20 3d 20 31 3b 5c 6e var pow = 1;\n
000364d0: 20 20 20 20 20 20 77 6f 72 64 20 3d 20 70 61 72 word = par
000364e0: 73 65 42 61 73 65 28 6e 75 6d 62 65 72 2c 20 69 seBase(number, i
000364f0: 2c 20 6e 75 6d 62 65 72 2e 6c 65 6e 67 74 68 2c , number.length,
00036500: 20 62 61 73 65 29 3b 5c 6e 5c 6e 20 20 20 20 20 base);\n\n
00036510: 20 66 6f 72 20 28 69 20 3d 20 30 3b 20 69 20 3c for (i = 0; i <
00036520: 20 6d 6f 64 3b 20 69 2b 2b 29 20 7b 5c 6e 20 20 mod; i++) {\n
00036530: 20 20 20 20 20 20 70 6f 77 20 2a 3d 20 62 61 73 pow *= bas
00036540: 65 3b 5c 6e 20 20 20 20 20 20 7d 5c 6e 5c 6e 20 e;\n }\n\n
00036550: 20 20 20 20 20 74 68 69 73 2e 69 6d 75 6c 6e 28 this.imuln(
00036560: 70 6f 77 29 3b 5c 6e 20 20 20 20 20 20 69 66 20 pow);\n if
00036570: 28 74 68 69 73 2e 77 6f 72 64 73 5b 30 5d 20 2b (this.words[0] +
00036580: 20 77 6f 72 64 20 3c 20 30 78 34 30 30 30 30 30 word < 0x400000
00036590: 30 29 20 7b 5c 6e 20 20 20 20 20 20 20 20 74 68 0) {\n th
000365a0: 69 73 2e 77 6f 72 64 73 5b 30 5d 20 2b 3d 20 77 is.words[0] += w
000365b0: 6f 72 64 3b 5c 6e 20 20 20 20 20 20 7d 20 65 6c ord;\n } el
000365c0: 73 65 20 7b 5c 6e 20 20 20 20 20 20 20 20 74 68 se {\n th
000365d0: 69 73 2e 5f 69 61 64 64 6e 28 77 6f 72 64 29 3b is._iaddn(word);
000365e0: 5c 6e 20 20 20 20 20 20 7d 5c 6e 20 20 20 20 7d \n }\n }
000365f0: 5c 6e 5c 6e 20 20 20 20 74 68 69 73 2e 5f 73 74 \n\n this._st
00036600: 72 69 70 28 29 3b 5c 6e 20 20 7d 3b 5c 6e 5c 6e rip();\n };\n\n
00036610: 20 20 42 4e 2e 70 72 6f 74 6f 74 79 70 65 2e 63 BN.prototype.c
00036620: 6f 70 79 20 3d 20 66 75 6e 63 74 69 6f 6e 20 63 opy = function c
00036630: 6f 70 79 20 28 64 65 73 74 29 20 7b 5c 6e 20 20 opy (dest) {\n
00036640: 20 20 64 65 73 74 2e 77 6f 72 64 73 20 3d 20 6e dest.words = n
00036650: 65 77 20 41 72 72 61 79 28 74 68 69 73 2e 6c 65 ew Array(this.le
00036660: 6e 67 74 68 29 3b 5c 6e 20 20 20 20 66 6f 72 20 ngth);\n for
00036670: 28 76 61 72 20 69 20 3d 20 30 3b 20 69 20 3c 20 (var i = 0; i <
00036680: 74 68 69 73 2e 6c 65 6e 67 74 68 3b 20 69 2b 2b this.length; i++
00036690: 29 20 7b 5c 6e 20 20 20 20 20 20 64 65 73 74 2e ) {\n dest.
000366a0: 77 6f 72 64 73 5b 69 5d 20 3d 20 74 68 69 73 2e words[i] = this.
000366b0: 77 6f 72 64 73 5b 69 5d 3b 5c 6e 20 20 20 20 7d words[i];\n }
000366c0: 5c 6e 20 20 20 20 64 65 73 74 2e 6c 65 6e 67 74 \n dest.lengt
000366d0: 68 20 3d 20 74 68 69 73 2e 6c 65 6e 67 74 68 3b h = this.length;
000366e0: 5c 6e 20 20 20 20 64 65 73 74 2e 6e 65 67 61 74 \n dest.negat
000366f0: 69 76 65 20 3d 20 74 68 69 73 2e 6e 65 67 61 74 ive = this.negat
00036700: 69 76 65 3b 5c 6e 20 20 20 20 64 65 73 74 2e 72 ive;\n dest.r
00036710: 65 64 20 3d 20 74 68 69 73 2e 72 65 64 3b 5c 6e ed = this.red;\n
00036720: 20 20 7d 3b 5c 6e 5c 6e 20 20 66 75 6e 63 74 69 };\n\n functi
00036730: 6f 6e 20 6d 6f 76 65 20 28 64 65 73 74 2c 20 73 on move (dest, s
00036740: 72 63 29 20 7b 5c 6e 20 20 20 20 64 65 73 74 2e rc) {\n dest.
00036750: 77 6f 72 64 73 20 3d 20 73 72 63 2e 77 6f 72 64 words = src.word
00036760: 73 3b 5c 6e 20 20 20 20 64 65 73 74 2e 6c 65 6e s;\n dest.len
00036770: 67 74 68 20 3d 20 73 72 63 2e 6c 65 6e 67 74 68 gth = src.length
00036780: 3b 5c 6e 20 20 20 20 64 65 73 74 2e 6e 65 67 61 ;\n dest.nega
00036790: 74 69 76 65 20 3d 20 73 72 63 2e 6e 65 67 61 74 tive = src.negat
000367a0: 69 76 65 3b 5c 6e 20 20 20 20 64 65 73 74 2e 72 ive;\n dest.r
000367b0: 65 64 20 3d 20 73 72 63 2e 72 65 64 3b 5c 6e 20 ed = src.red;\n
000367c0: 20 7d 5c 6e 5c 6e 20 20 42 4e 2e 70 72 6f 74 6f }\n\n BN.proto
000367d0: 74 79 70 65 2e 5f 6d 6f 76 65 20 3d 20 66 75 6e type._move = fun
000367e0: 63 74 69 6f 6e 20 5f 6d 6f 76 65 20 28 64 65 73 ction _move (des
000367f0: 74 29 20 7b 5c 6e 20 20 20 20 6d 6f 76 65 28 64 t) {\n move(d
00036800: 65 73 74 2c 20 74 68 69 73 29 3b 5c 6e 20 20 7d est, this);\n }
00036810: 3b 5c 6e 5c 6e 20 20 42 4e 2e 70 72 6f 74 6f 74 ;\n\n BN.protot
00036820: 79 70 65 2e 63 6c 6f 6e 65 20 3d 20 66 75 6e 63 ype.clone = func
00036830: 74 69 6f 6e 20 63 6c 6f 6e 65 20 28 29 20 7b 5c tion clone () {\
00036840: 6e 20 20 20 20 76 61 72 20 72 20 3d 20 6e 65 77 n var r = new
00036850: 20 42 4e 28 6e 75 6c 6c 29 3b 5c 6e 20 20 20 20 BN(null);\n
00036860: 74 68 69 73 2e 63 6f 70 79 28 72 29 3b 5c 6e 20 this.copy(r);\n
00036870: 20 20 20 72 65 74 75 72 6e 20 72 3b 5c 6e 20 20 return r;\n
00036880: 7d 3b 5c 6e 5c 6e 20 20 42 4e 2e 70 72 6f 74 6f };\n\n BN.proto
00036890: 74 79 70 65 2e 5f 65 78 70 61 6e 64 20 3d 20 66 type._expand = f
000368a0: 75 6e 63 74 69 6f 6e 20 5f 65 78 70 61 6e 64 20 unction _expand
000368b0: 28 73 69 7a 65 29 20 7b 5c 6e 20 20 20 20 77 68 (size) {\n wh
000368c0: 69 6c 65 20 28 74 68 69 73 2e 6c 65 6e 67 74 68 ile (this.length
000368d0: 20 3c 20 73 69 7a 65 29 20 7b 5c 6e 20 20 20 20 < size) {\n
000368e0: 20 20 74 68 69 73 2e 77 6f 72 64 73 5b 74 68 69 this.words[thi
000368f0: 73 2e 6c 65 6e 67 74 68 2b 2b 5d 20 3d 20 30 3b s.length++] = 0;
00036900: 5c 6e 20 20 20 20 7d 5c 6e 20 20 20 20 72 65 74 \n }\n ret
00036910: 75 72 6e 20 74 68 69 73 3b 5c 6e 20 20 7d 3b 5c urn this;\n };\
00036920: 6e 5c 6e 20 20 2f 2f 20 52 65 6d 6f 76 65 20 6c n\n // Remove l
00036930: 65 61 64 69 6e 67 20 60 30 60 20 66 72 6f 6d 20 eading `0` from
00036940: 60 74 68 69 73 60 5c 6e 20 20 42 4e 2e 70 72 6f `this`\n BN.pro
00036950: 74 6f 74 79 70 65 2e 5f 73 74 72 69 70 20 3d 20 totype._strip =
00036960: 66 75 6e 63 74 69 6f 6e 20 73 74 72 69 70 20 28 function strip (
00036970: 29 20 7b 5c 6e 20 20 20 20 77 68 69 6c 65 20 28 ) {\n while (
00036980: 74 68 69 73 2e 6c 65 6e 67 74 68 20 3e 20 31 20 this.length > 1
00036990: 26 26 20 74 68 69 73 2e 77 6f 72 64 73 5b 74 68 && this.words[th
000369a0: 69 73 2e 6c 65 6e 67 74 68 20 2d 20 31 5d 20 3d is.length - 1] =
000369b0: 3d 3d 20 30 29 20 7b 5c 6e 20 20 20 20 20 20 74 == 0) {\n t
000369c0: 68 69 73 2e 6c 65 6e 67 74 68 2d 2d 3b 5c 6e 20 his.length--;\n
000369d0: 20 20 20 7d 5c 6e 20 20 20 20 72 65 74 75 72 6e }\n return
000369e0: 20 74 68 69 73 2e 5f 6e 6f 72 6d 53 69 67 6e 28 this._normSign(
000369f0: 29 3b 5c 6e 20 20 7d 3b 5c 6e 5c 6e 20 20 42 4e );\n };\n\n BN
00036a00: 2e 70 72 6f 74 6f 74 79 70 65 2e 5f 6e 6f 72 6d .prototype._norm
00036a10: 53 69 67 6e 20 3d 20 66 75 6e 63 74 69 6f 6e 20 Sign = function
00036a20: 5f 6e 6f 72 6d 53 69 67 6e 20 28 29 20 7b 5c 6e _normSign () {\n
00036a30: 20 20 20 20 2f 2f 20 2d 30 20 3d 20 30 5c 6e 20 // -0 = 0\n
00036a40: 20 20 20 69 66 20 28 74 68 69 73 2e 6c 65 6e 67 if (this.leng
00036a50: 74 68 20 3d 3d 3d 20 31 20 26 26 20 74 68 69 73 th === 1 && this
00036a60: 2e 77 6f 72 64 73 5b 30 5d 20 3d 3d 3d 20 30 29 .words[0] === 0)
00036a70: 20 7b 5c 6e 20 20 20 20 20 20 74 68 69 73 2e 6e {\n this.n
00036a80: 65 67 61 74 69 76 65 20 3d 20 30 3b 5c 6e 20 20 egative = 0;\n
00036a90: 20 20 7d 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 }\n return
00036aa0: 74 68 69 73 3b 5c 6e 20 20 7d 3b 5c 6e 5c 6e 20 this;\n };\n\n
00036ab0: 20 2f 2f 20 43 68 65 63 6b 20 53 79 6d 62 6f 6c // Check Symbol
00036ac0: 2e 66 6f 72 20 62 65 63 61 75 73 65 20 6e 6f 74 .for because not
00036ad0: 20 65 76 65 72 79 77 68 65 72 65 20 77 68 65 72 everywhere wher
00036ae0: 65 20 53 79 6d 62 6f 6c 20 64 65 66 69 6e 65 64 e Symbol defined
00036af0: 5c 6e 20 20 2f 2f 20 53 65 65 20 68 74 74 70 73 \n // See https
00036b00: 3a 2f 2f 64 65 76 65 6c 6f 70 65 72 2e 6d 6f 7a ://developer.moz
00036b10: 69 6c 6c 61 2e 6f 72 67 2f 65 6e 2d 55 53 2f 64 illa.org/en-US/d
00036b20: 6f 63 73 2f 57 65 62 2f 4a 61 76 61 53 63 72 69 ocs/Web/JavaScri
00036b30: 70 74 2f 52 65 66 65 72 65 6e 63 65 2f 47 6c 6f pt/Reference/Glo
00036b40: 62 61 6c 5f 4f 62 6a 65 63 74 73 2f 53 79 6d 62 bal_Objects/Symb
00036b50: 6f 6c 23 42 72 6f 77 73 65 72 5f 63 6f 6d 70 61 ol#Browser_compa
00036b60: 74 69 62 69 6c 69 74 79 5c 6e 20 20 69 66 20 28 tibility\n if (
00036b70: 74 79 70 65 6f 66 20 53 79 6d 62 6f 6c 20 21 3d typeof Symbol !=
00036b80: 3d 20 27 75 6e 64 65 66 69 6e 65 64 27 20 26 26 = 'undefined' &&
00036b90: 20 74 79 70 65 6f 66 20 53 79 6d 62 6f 6c 2e 66 typeof Symbol.f
00036ba0: 6f 72 20 3d 3d 3d 20 27 66 75 6e 63 74 69 6f 6e or === 'function
00036bb0: 27 29 20 7b 5c 6e 20 20 20 20 74 72 79 20 7b 5c ') {\n try {\
00036bc0: 6e 20 20 20 20 20 20 42 4e 2e 70 72 6f 74 6f 74 n BN.protot
00036bd0: 79 70 65 5b 53 79 6d 62 6f 6c 2e 66 6f 72 28 27 ype[Symbol.for('
00036be0: 6e 6f 64 65 6a 73 2e 75 74 69 6c 2e 69 6e 73 70 nodejs.util.insp
00036bf0: 65 63 74 2e 63 75 73 74 6f 6d 27 29 5d 20 3d 20 ect.custom')] =
00036c00: 69 6e 73 70 65 63 74 3b 5c 6e 20 20 20 20 7d 20 inspect;\n }
00036c10: 63 61 74 63 68 20 28 65 29 20 7b 5c 6e 20 20 20 catch (e) {\n
00036c20: 20 20 20 42 4e 2e 70 72 6f 74 6f 74 79 70 65 2e BN.prototype.
00036c30: 69 6e 73 70 65 63 74 20 3d 20 69 6e 73 70 65 63 inspect = inspec
00036c40: 74 3b 5c 6e 20 20 20 20 7d 5c 6e 20 20 7d 20 65 t;\n }\n } e
00036c50: 6c 73 65 20 7b 5c 6e 20 20 20 20 42 4e 2e 70 72 lse {\n BN.pr
00036c60: 6f 74 6f 74 79 70 65 2e 69 6e 73 70 65 63 74 20 ototype.inspect
00036c70: 3d 20 69 6e 73 70 65 63 74 3b 5c 6e 20 20 7d 5c = inspect;\n }\
00036c80: 6e 5c 6e 20 20 66 75 6e 63 74 69 6f 6e 20 69 6e n\n function in
00036c90: 73 70 65 63 74 20 28 29 20 7b 5c 6e 20 20 20 20 spect () {\n
00036ca0: 72 65 74 75 72 6e 20 28 74 68 69 73 2e 72 65 64 return (this.red
00036cb0: 20 3f 20 27 3c 42 4e 2d 52 3a 20 27 20 3a 20 27 ? '<BN-R: ' : '
00036cc0: 3c 42 4e 3a 20 27 29 20 2b 20 74 68 69 73 2e 74 <BN: ') + this.t
00036cd0: 6f 53 74 72 69 6e 67 28 31 36 29 20 2b 20 27 3e oString(16) + '>
00036ce0: 27 3b 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 2f 2a 5c ';\n }\n\n /*\
00036cf0: 6e 5c 6e 20 20 76 61 72 20 7a 65 72 6f 73 20 3d n\n var zeros =
00036d00: 20 5b 5d 3b 5c 6e 20 20 76 61 72 20 67 72 6f 75 [];\n var grou
00036d10: 70 53 69 7a 65 73 20 3d 20 5b 5d 3b 5c 6e 20 20 pSizes = [];\n
00036d20: 76 61 72 20 67 72 6f 75 70 42 61 73 65 73 20 3d var groupBases =
00036d30: 20 5b 5d 3b 5c 6e 5c 6e 20 20 76 61 72 20 73 20 [];\n\n var s
00036d40: 3d 20 27 27 3b 5c 6e 20 20 76 61 72 20 69 20 3d = '';\n var i =
00036d50: 20 2d 31 3b 5c 6e 20 20 77 68 69 6c 65 20 28 2b -1;\n while (+
00036d60: 2b 69 20 3c 20 42 4e 2e 77 6f 72 64 53 69 7a 65 +i < BN.wordSize
00036d70: 29 20 7b 5c 6e 20 20 20 20 7a 65 72 6f 73 5b 69 ) {\n zeros[i
00036d80: 5d 20 3d 20 73 3b 5c 6e 20 20 20 20 73 20 2b 3d ] = s;\n s +=
00036d90: 20 27 30 27 3b 5c 6e 20 20 7d 5c 6e 20 20 67 72 '0';\n }\n gr
00036da0: 6f 75 70 53 69 7a 65 73 5b 30 5d 20 3d 20 30 3b oupSizes[0] = 0;
00036db0: 5c 6e 20 20 67 72 6f 75 70 53 69 7a 65 73 5b 31 \n groupSizes[1
00036dc0: 5d 20 3d 20 30 3b 5c 6e 20 20 67 72 6f 75 70 42 ] = 0;\n groupB
00036dd0: 61 73 65 73 5b 30 5d 20 3d 20 30 3b 5c 6e 20 20 ases[0] = 0;\n
00036de0: 67 72 6f 75 70 42 61 73 65 73 5b 31 5d 20 3d 20 groupBases[1] =
00036df0: 30 3b 5c 6e 20 20 76 61 72 20 62 61 73 65 20 3d 0;\n var base =
00036e00: 20 32 20 2d 20 31 3b 5c 6e 20 20 77 68 69 6c 65 2 - 1;\n while
00036e10: 20 28 2b 2b 62 61 73 65 20 3c 20 33 36 20 2b 20 (++base < 36 +
00036e20: 31 29 20 7b 5c 6e 20 20 20 20 76 61 72 20 67 72 1) {\n var gr
00036e30: 6f 75 70 53 69 7a 65 20 3d 20 30 3b 5c 6e 20 20 oupSize = 0;\n
00036e40: 20 20 76 61 72 20 67 72 6f 75 70 42 61 73 65 20 var groupBase
00036e50: 3d 20 31 3b 5c 6e 20 20 20 20 77 68 69 6c 65 20 = 1;\n while
00036e60: 28 67 72 6f 75 70 42 61 73 65 20 3c 20 28 31 20 (groupBase < (1
00036e70: 3c 3c 20 42 4e 2e 77 6f 72 64 53 69 7a 65 29 20 << BN.wordSize)
00036e80: 2f 20 62 61 73 65 29 20 7b 5c 6e 20 20 20 20 20 / base) {\n
00036e90: 20 67 72 6f 75 70 42 61 73 65 20 2a 3d 20 62 61 groupBase *= ba
00036ea0: 73 65 3b 5c 6e 20 20 20 20 20 20 67 72 6f 75 70 se;\n group
00036eb0: 53 69 7a 65 20 2b 3d 20 31 3b 5c 6e 20 20 20 20 Size += 1;\n
00036ec0: 7d 5c 6e 20 20 20 20 67 72 6f 75 70 53 69 7a 65 }\n groupSize
00036ed0: 73 5b 62 61 73 65 5d 20 3d 20 67 72 6f 75 70 53 s[base] = groupS
00036ee0: 69 7a 65 3b 5c 6e 20 20 20 20 67 72 6f 75 70 42 ize;\n groupB
00036ef0: 61 73 65 73 5b 62 61 73 65 5d 20 3d 20 67 72 6f ases[base] = gro
00036f00: 75 70 42 61 73 65 3b 5c 6e 20 20 7d 5c 6e 5c 6e upBase;\n }\n\n
00036f10: 20 20 2a 2f 5c 6e 5c 6e 20 20 76 61 72 20 7a 65 */\n\n var ze
00036f20: 72 6f 73 20 3d 20 5b 5c 6e 20 20 20 20 27 27 2c ros = [\n '',
00036f30: 5c 6e 20 20 20 20 27 30 27 2c 5c 6e 20 20 20 20 \n '0',\n
00036f40: 27 30 30 27 2c 5c 6e 20 20 20 20 27 30 30 30 27 '00',\n '000'
00036f50: 2c 5c 6e 20 20 20 20 27 30 30 30 30 27 2c 5c 6e ,\n '0000',\n
00036f60: 20 20 20 20 27 30 30 30 30 30 27 2c 5c 6e 20 20 '00000',\n
00036f70: 20 20 27 30 30 30 30 30 30 27 2c 5c 6e 20 20 20 '000000',\n
00036f80: 20 27 30 30 30 30 30 30 30 27 2c 5c 6e 20 20 20 '0000000',\n
00036f90: 20 27 30 30 30 30 30 30 30 30 27 2c 5c 6e 20 20 '00000000',\n
00036fa0: 20 20 27 30 30 30 30 30 30 30 30 30 27 2c 5c 6e '000000000',\n
00036fb0: 20 20 20 20 27 30 30 30 30 30 30 30 30 30 30 27 '0000000000'
00036fc0: 2c 5c 6e 20 20 20 20 27 30 30 30 30 30 30 30 30 ,\n '00000000
00036fd0: 30 30 30 27 2c 5c 6e 20 20 20 20 27 30 30 30 30 000',\n '0000
00036fe0: 30 30 30 30 30 30 30 30 27 2c 5c 6e 20 20 20 20 00000000',\n
00036ff0: 27 30 30 30 30 30 30 30 30 30 30 30 30 30 27 2c '0000000000000',
00037000: 5c 6e 20 20 20 20 27 30 30 30 30 30 30 30 30 30 \n '000000000
00037010: 30 30 30 30 30 27 2c 5c 6e 20 20 20 20 27 30 30 00000',\n '00
00037020: 30 30 30 30 30 30 30 30 30 30 30 30 30 27 2c 5c 0000000000000',\
00037030: 6e 20 20 20 20 27 30 30 30 30 30 30 30 30 30 30 n '0000000000
00037040: 30 30 30 30 30 30 27 2c 5c 6e 20 20 20 20 27 30 000000',\n '0
00037050: 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 0000000000000000
00037060: 27 2c 5c 6e 20 20 20 20 27 30 30 30 30 30 30 30 ',\n '0000000
00037070: 30 30 30 30 30 30 30 30 30 30 30 27 2c 5c 6e 20 00000000000',\n
00037080: 20 20 20 27 30 30 30 30 30 30 30 30 30 30 30 30 '000000000000
00037090: 30 30 30 30 30 30 30 27 2c 5c 6e 20 20 20 20 27 0000000',\n '
000370a0: 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 0000000000000000
000370b0: 30 30 30 30 27 2c 5c 6e 20 20 20 20 27 30 30 30 0000',\n '000
000370c0: 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 0000000000000000
000370d0: 30 30 27 2c 5c 6e 20 20 20 20 27 30 30 30 30 30 00',\n '00000
000370e0: 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 0000000000000000
000370f0: 30 27 2c 5c 6e 20 20 20 20 27 30 30 30 30 30 30 0',\n '000000
00037100: 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 0000000000000000
00037110: 30 27 2c 5c 6e 20 20 20 20 27 30 30 30 30 30 30 0',\n '000000
00037120: 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 0000000000000000
00037130: 30 30 27 2c 5c 6e 20 20 20 20 27 30 30 30 30 30 00',\n '00000
00037140: 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 0000000000000000
00037150: 30 30 30 30 27 5c 6e 20 20 5d 3b 5c 6e 5c 6e 20 0000'\n ];\n\n
00037160: 20 76 61 72 20 67 72 6f 75 70 53 69 7a 65 73 20 var groupSizes
00037170: 3d 20 5b 5c 6e 20 20 20 20 30 2c 20 30 2c 5c 6e = [\n 0, 0,\n
00037180: 20 20 20 20 32 35 2c 20 31 36 2c 20 31 32 2c 20 25, 16, 12,
00037190: 31 31 2c 20 31 30 2c 20 39 2c 20 38 2c 5c 6e 20 11, 10, 9, 8,\n
000371a0: 20 20 20 38 2c 20 37 2c 20 37 2c 20 37 2c 20 37 8, 7, 7, 7, 7
000371b0: 2c 20 36 2c 20 36 2c 5c 6e 20 20 20 20 36 2c 20 , 6, 6,\n 6,
000371c0: 36 2c 20 36 2c 20 36 2c 20 36 2c 20 35 2c 20 35 6, 6, 6, 6, 5, 5
000371d0: 2c 5c 6e 20 20 20 20 35 2c 20 35 2c 20 35 2c 20 ,\n 5, 5, 5,
000371e0: 35 2c 20 35 2c 20 35 2c 20 35 2c 5c 6e 20 20 20 5, 5, 5, 5,\n
000371f0: 20 35 2c 20 35 2c 20 35 2c 20 35 2c 20 35 2c 20 5, 5, 5, 5, 5,
00037200: 35 2c 20 35 5c 6e 20 20 5d 3b 5c 6e 5c 6e 20 20 5, 5\n ];\n\n
00037210: 76 61 72 20 67 72 6f 75 70 42 61 73 65 73 20 3d var groupBases =
00037220: 20 5b 5c 6e 20 20 20 20 30 2c 20 30 2c 5c 6e 20 [\n 0, 0,\n
00037230: 20 20 20 33 33 35 35 34 34 33 32 2c 20 34 33 30 33554432, 430
00037240: 34 36 37 32 31 2c 20 31 36 37 37 37 32 31 36 2c 46721, 16777216,
00037250: 20 34 38 38 32 38 31 32 35 2c 20 36 30 34 36 36 48828125, 60466
00037260: 31 37 36 2c 20 34 30 33 35 33 36 30 37 2c 20 31 176, 40353607, 1
00037270: 36 37 37 37 32 31 36 2c 5c 6e 20 20 20 20 34 33 6777216,\n 43
00037280: 30 34 36 37 32 31 2c 20 31 30 30 30 30 30 30 30 046721, 10000000
00037290: 2c 20 31 39 34 38 37 31 37 31 2c 20 33 35 38 33 , 19487171, 3583
000372a0: 31 38 30 38 2c 20 36 32 37 34 38 35 31 37 2c 20 1808, 62748517,
000372b0: 37 35 32 39 35 33 36 2c 20 31 31 33 39 30 36 32 7529536, 1139062
000372c0: 35 2c 5c 6e 20 20 20 20 31 36 37 37 37 32 31 36 5,\n 16777216
000372d0: 2c 20 32 34 31 33 37 35 36 39 2c 20 33 34 30 31 , 24137569, 3401
000372e0: 32 32 32 34 2c 20 34 37 30 34 35 38 38 31 2c 20 2224, 47045881,
000372f0: 36 34 30 30 30 30 30 30 2c 20 34 30 38 34 31 30 64000000, 408410
00037300: 31 2c 20 35 31 35 33 36 33 32 2c 5c 6e 20 20 20 1, 5153632,\n
00037310: 20 36 34 33 36 33 34 33 2c 20 37 39 36 32 36 32 6436343, 796262
00037320: 34 2c 20 39 37 36 35 36 32 35 2c 20 31 31 38 38 4, 9765625, 1188
00037330: 31 33 37 36 2c 20 31 34 33 34 38 39 30 37 2c 20 1376, 14348907,
00037340: 31 37 32 31 30 33 36 38 2c 20 32 30 35 31 31 31 17210368, 205111
00037350: 34 39 2c 5c 6e 20 20 20 20 32 34 33 30 30 30 30 49,\n 2430000
00037360: 30 2c 20 32 38 36 32 39 31 35 31 2c 20 33 33 35 0, 28629151, 335
00037370: 35 34 34 33 32 2c 20 33 39 31 33 35 33 39 33 2c 54432, 39135393,
00037380: 20 34 35 34 33 35 34 32 34 2c 20 35 32 35 32 31 45435424, 52521
00037390: 38 37 35 2c 20 36 30 34 36 36 31 37 36 5c 6e 20 875, 60466176\n
000373a0: 20 5d 3b 5c 6e 5c 6e 20 20 42 4e 2e 70 72 6f 74 ];\n\n BN.prot
000373b0: 6f 74 79 70 65 2e 74 6f 53 74 72 69 6e 67 20 3d otype.toString =
000373c0: 20 66 75 6e 63 74 69 6f 6e 20 74 6f 53 74 72 69 function toStri
000373d0: 6e 67 20 28 62 61 73 65 2c 20 70 61 64 64 69 6e ng (base, paddin
000373e0: 67 29 20 7b 5c 6e 20 20 20 20 62 61 73 65 20 3d g) {\n base =
000373f0: 20 62 61 73 65 20 7c 7c 20 31 30 3b 5c 6e 20 20 base || 10;\n
00037400: 20 20 70 61 64 64 69 6e 67 20 3d 20 70 61 64 64 padding = padd
00037410: 69 6e 67 20 7c 20 30 20 7c 7c 20 31 3b 5c 6e 5c ing | 0 || 1;\n\
00037420: 6e 20 20 20 20 76 61 72 20 6f 75 74 3b 5c 6e 20 n var out;\n
00037430: 20 20 20 69 66 20 28 62 61 73 65 20 3d 3d 3d 20 if (base ===
00037440: 31 36 20 7c 7c 20 62 61 73 65 20 3d 3d 3d 20 27 16 || base === '
00037450: 68 65 78 27 29 20 7b 5c 6e 20 20 20 20 20 20 6f hex') {\n o
00037460: 75 74 20 3d 20 27 27 3b 5c 6e 20 20 20 20 20 20 ut = '';\n
00037470: 76 61 72 20 6f 66 66 20 3d 20 30 3b 5c 6e 20 20 var off = 0;\n
00037480: 20 20 20 20 76 61 72 20 63 61 72 72 79 20 3d 20 var carry =
00037490: 30 3b 5c 6e 20 20 20 20 20 20 66 6f 72 20 28 76 0;\n for (v
000374a0: 61 72 20 69 20 3d 20 30 3b 20 69 20 3c 20 74 68 ar i = 0; i < th
000374b0: 69 73 2e 6c 65 6e 67 74 68 3b 20 69 2b 2b 29 20 is.length; i++)
000374c0: 7b 5c 6e 20 20 20 20 20 20 20 20 76 61 72 20 77 {\n var w
000374d0: 20 3d 20 74 68 69 73 2e 77 6f 72 64 73 5b 69 5d = this.words[i]
000374e0: 3b 5c 6e 20 20 20 20 20 20 20 20 76 61 72 20 77 ;\n var w
000374f0: 6f 72 64 20 3d 20 28 28 28 77 20 3c 3c 20 6f 66 ord = (((w << of
00037500: 66 29 20 7c 20 63 61 72 72 79 29 20 26 20 30 78 f) | carry) & 0x
00037510: 66 66 66 66 66 66 29 2e 74 6f 53 74 72 69 6e 67 ffffff).toString
00037520: 28 31 36 29 3b 5c 6e 20 20 20 20 20 20 20 20 63 (16);\n c
00037530: 61 72 72 79 20 3d 20 28 77 20 3e 3e 3e 20 28 32 arry = (w >>> (2
00037540: 34 20 2d 20 6f 66 66 29 29 20 26 20 30 78 66 66 4 - off)) & 0xff
00037550: 66 66 66 66 3b 5c 6e 20 20 20 20 20 20 20 20 6f ffff;\n o
00037560: 66 66 20 2b 3d 20 32 3b 5c 6e 20 20 20 20 20 20 ff += 2;\n
00037570: 20 20 69 66 20 28 6f 66 66 20 3e 3d 20 32 36 29 if (off >= 26)
00037580: 20 7b 5c 6e 20 20 20 20 20 20 20 20 20 20 6f 66 {\n of
00037590: 66 20 2d 3d 20 32 36 3b 5c 6e 20 20 20 20 20 20 f -= 26;\n
000375a0: 20 20 20 20 69 2d 2d 3b 5c 6e 20 20 20 20 20 20 i--;\n
000375b0: 20 20 7d 5c 6e 20 20 20 20 20 20 20 20 69 66 20 }\n if
000375c0: 28 63 61 72 72 79 20 21 3d 3d 20 30 20 7c 7c 20 (carry !== 0 ||
000375d0: 69 20 21 3d 3d 20 74 68 69 73 2e 6c 65 6e 67 74 i !== this.lengt
000375e0: 68 20 2d 20 31 29 20 7b 5c 6e 20 20 20 20 20 20 h - 1) {\n
000375f0: 20 20 20 20 6f 75 74 20 3d 20 7a 65 72 6f 73 5b out = zeros[
00037600: 36 20 2d 20 77 6f 72 64 2e 6c 65 6e 67 74 68 5d 6 - word.length]
00037610: 20 2b 20 77 6f 72 64 20 2b 20 6f 75 74 3b 5c 6e + word + out;\n
00037620: 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b } else {
00037630: 5c 6e 20 20 20 20 20 20 20 20 20 20 6f 75 74 20 \n out
00037640: 3d 20 77 6f 72 64 20 2b 20 6f 75 74 3b 5c 6e 20 = word + out;\n
00037650: 20 20 20 20 20 20 20 7d 5c 6e 20 20 20 20 20 20 }\n
00037660: 7d 5c 6e 20 20 20 20 20 20 69 66 20 28 63 61 72 }\n if (car
00037670: 72 79 20 21 3d 3d 20 30 29 20 7b 5c 6e 20 20 20 ry !== 0) {\n
00037680: 20 20 20 20 20 6f 75 74 20 3d 20 63 61 72 72 79 out = carry
00037690: 2e 74 6f 53 74 72 69 6e 67 28 31 36 29 20 2b 20 .toString(16) +
000376a0: 6f 75 74 3b 5c 6e 20 20 20 20 20 20 7d 5c 6e 20 out;\n }\n
000376b0: 20 20 20 20 20 77 68 69 6c 65 20 28 6f 75 74 2e while (out.
000376c0: 6c 65 6e 67 74 68 20 25 20 70 61 64 64 69 6e 67 length % padding
000376d0: 20 21 3d 3d 20 30 29 20 7b 5c 6e 20 20 20 20 20 !== 0) {\n
000376e0: 20 20 20 6f 75 74 20 3d 20 27 30 27 20 2b 20 6f out = '0' + o
000376f0: 75 74 3b 5c 6e 20 20 20 20 20 20 7d 5c 6e 20 20 ut;\n }\n
00037700: 20 20 20 20 69 66 20 28 74 68 69 73 2e 6e 65 67 if (this.neg
00037710: 61 74 69 76 65 20 21 3d 3d 20 30 29 20 7b 5c 6e ative !== 0) {\n
00037720: 20 20 20 20 20 20 20 20 6f 75 74 20 3d 20 27 2d out = '-
00037730: 27 20 2b 20 6f 75 74 3b 5c 6e 20 20 20 20 20 20 ' + out;\n
00037740: 7d 5c 6e 20 20 20 20 20 20 72 65 74 75 72 6e 20 }\n return
00037750: 6f 75 74 3b 5c 6e 20 20 20 20 7d 5c 6e 5c 6e 20 out;\n }\n\n
00037760: 20 20 20 69 66 20 28 62 61 73 65 20 3d 3d 3d 20 if (base ===
00037770: 28 62 61 73 65 20 7c 20 30 29 20 26 26 20 62 61 (base | 0) && ba
00037780: 73 65 20 3e 3d 20 32 20 26 26 20 62 61 73 65 20 se >= 2 && base
00037790: 3c 3d 20 33 36 29 20 7b 5c 6e 20 20 20 20 20 20 <= 36) {\n
000377a0: 2f 2f 20 76 61 72 20 67 72 6f 75 70 53 69 7a 65 // var groupSize
000377b0: 20 3d 20 4d 61 74 68 2e 66 6c 6f 6f 72 28 42 4e = Math.floor(BN
000377c0: 2e 77 6f 72 64 53 69 7a 65 20 2a 20 4d 61 74 68 .wordSize * Math
000377d0: 2e 4c 4e 32 20 2f 20 4d 61 74 68 2e 6c 6f 67 28 .LN2 / Math.log(
000377e0: 62 61 73 65 29 29 3b 5c 6e 20 20 20 20 20 20 76 base));\n v
000377f0: 61 72 20 67 72 6f 75 70 53 69 7a 65 20 3d 20 67 ar groupSize = g
00037800: 72 6f 75 70 53 69 7a 65 73 5b 62 61 73 65 5d 3b roupSizes[base];
00037810: 5c 6e 20 20 20 20 20 20 2f 2f 20 76 61 72 20 67 \n // var g
00037820: 72 6f 75 70 42 61 73 65 20 3d 20 4d 61 74 68 2e roupBase = Math.
00037830: 70 6f 77 28 62 61 73 65 2c 20 67 72 6f 75 70 53 pow(base, groupS
00037840: 69 7a 65 29 3b 5c 6e 20 20 20 20 20 20 76 61 72 ize);\n var
00037850: 20 67 72 6f 75 70 42 61 73 65 20 3d 20 67 72 6f groupBase = gro
00037860: 75 70 42 61 73 65 73 5b 62 61 73 65 5d 3b 5c 6e upBases[base];\n
00037870: 20 20 20 20 20 20 6f 75 74 20 3d 20 27 27 3b 5c out = '';\
00037880: 6e 20 20 20 20 20 20 76 61 72 20 63 20 3d 20 74 n var c = t
00037890: 68 69 73 2e 63 6c 6f 6e 65 28 29 3b 5c 6e 20 20 his.clone();\n
000378a0: 20 20 20 20 63 2e 6e 65 67 61 74 69 76 65 20 3d c.negative =
000378b0: 20 30 3b 5c 6e 20 20 20 20 20 20 77 68 69 6c 65 0;\n while
000378c0: 20 28 21 63 2e 69 73 5a 65 72 6f 28 29 29 20 7b (!c.isZero()) {
000378d0: 5c 6e 20 20 20 20 20 20 20 20 76 61 72 20 72 20 \n var r
000378e0: 3d 20 63 2e 6d 6f 64 72 6e 28 67 72 6f 75 70 42 = c.modrn(groupB
000378f0: 61 73 65 29 2e 74 6f 53 74 72 69 6e 67 28 62 61 ase).toString(ba
00037900: 73 65 29 3b 5c 6e 20 20 20 20 20 20 20 20 63 20 se);\n c
00037910: 3d 20 63 2e 69 64 69 76 6e 28 67 72 6f 75 70 42 = c.idivn(groupB
00037920: 61 73 65 29 3b 5c 6e 5c 6e 20 20 20 20 20 20 20 ase);\n\n
00037930: 20 69 66 20 28 21 63 2e 69 73 5a 65 72 6f 28 29 if (!c.isZero()
00037940: 29 20 7b 5c 6e 20 20 20 20 20 20 20 20 20 20 6f ) {\n o
00037950: 75 74 20 3d 20 7a 65 72 6f 73 5b 67 72 6f 75 70 ut = zeros[group
00037960: 53 69 7a 65 20 2d 20 72 2e 6c 65 6e 67 74 68 5d Size - r.length]
00037970: 20 2b 20 72 20 2b 20 6f 75 74 3b 5c 6e 20 20 20 + r + out;\n
00037980: 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 5c 6e 20 } else {\n
00037990: 20 20 20 20 20 20 20 20 20 6f 75 74 20 3d 20 72 out = r
000379a0: 20 2b 20 6f 75 74 3b 5c 6e 20 20 20 20 20 20 20 + out;\n
000379b0: 20 7d 5c 6e 20 20 20 20 20 20 7d 5c 6e 20 20 20 }\n }\n
000379c0: 20 20 20 69 66 20 28 74 68 69 73 2e 69 73 5a 65 if (this.isZe
000379d0: 72 6f 28 29 29 20 7b 5c 6e 20 20 20 20 20 20 20 ro()) {\n
000379e0: 20 6f 75 74 20 3d 20 27 30 27 20 2b 20 6f 75 74 out = '0' + out
000379f0: 3b 5c 6e 20 20 20 20 20 20 7d 5c 6e 20 20 20 20 ;\n }\n
00037a00: 20 20 77 68 69 6c 65 20 28 6f 75 74 2e 6c 65 6e while (out.len
00037a10: 67 74 68 20 25 20 70 61 64 64 69 6e 67 20 21 3d gth % padding !=
00037a20: 3d 20 30 29 20 7b 5c 6e 20 20 20 20 20 20 20 20 = 0) {\n
00037a30: 6f 75 74 20 3d 20 27 30 27 20 2b 20 6f 75 74 3b out = '0' + out;
00037a40: 5c 6e 20 20 20 20 20 20 7d 5c 6e 20 20 20 20 20 \n }\n
00037a50: 20 69 66 20 28 74 68 69 73 2e 6e 65 67 61 74 69 if (this.negati
00037a60: 76 65 20 21 3d 3d 20 30 29 20 7b 5c 6e 20 20 20 ve !== 0) {\n
00037a70: 20 20 20 20 20 6f 75 74 20 3d 20 27 2d 27 20 2b out = '-' +
00037a80: 20 6f 75 74 3b 5c 6e 20 20 20 20 20 20 7d 5c 6e out;\n }\n
00037a90: 20 20 20 20 20 20 72 65 74 75 72 6e 20 6f 75 74 return out
00037aa0: 3b 5c 6e 20 20 20 20 7d 5c 6e 5c 6e 20 20 20 20 ;\n }\n\n
00037ab0: 61 73 73 65 72 74 28 66 61 6c 73 65 2c 20 27 42 assert(false, 'B
00037ac0: 61 73 65 20 73 68 6f 75 6c 64 20 62 65 20 62 65 ase should be be
00037ad0: 74 77 65 65 6e 20 32 20 61 6e 64 20 33 36 27 29 tween 2 and 36')
00037ae0: 3b 5c 6e 20 20 7d 3b 5c 6e 5c 6e 20 20 42 4e 2e ;\n };\n\n BN.
00037af0: 70 72 6f 74 6f 74 79 70 65 2e 74 6f 4e 75 6d 62 prototype.toNumb
00037b00: 65 72 20 3d 20 66 75 6e 63 74 69 6f 6e 20 74 6f er = function to
00037b10: 4e 75 6d 62 65 72 20 28 29 20 7b 5c 6e 20 20 20 Number () {\n
00037b20: 20 76 61 72 20 72 65 74 20 3d 20 74 68 69 73 2e var ret = this.
00037b30: 77 6f 72 64 73 5b 30 5d 3b 5c 6e 20 20 20 20 69 words[0];\n i
00037b40: 66 20 28 74 68 69 73 2e 6c 65 6e 67 74 68 20 3d f (this.length =
00037b50: 3d 3d 20 32 29 20 7b 5c 6e 20 20 20 20 20 20 72 == 2) {\n r
00037b60: 65 74 20 2b 3d 20 74 68 69 73 2e 77 6f 72 64 73 et += this.words
00037b70: 5b 31 5d 20 2a 20 30 78 34 30 30 30 30 30 30 3b [1] * 0x4000000;
00037b80: 5c 6e 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 \n } else if
00037b90: 28 74 68 69 73 2e 6c 65 6e 67 74 68 20 3d 3d 3d (this.length ===
00037ba0: 20 33 20 26 26 20 74 68 69 73 2e 77 6f 72 64 73 3 && this.words
00037bb0: 5b 32 5d 20 3d 3d 3d 20 30 78 30 31 29 20 7b 5c [2] === 0x01) {\
00037bc0: 6e 20 20 20 20 20 20 2f 2f 20 4e 4f 54 45 3a 20 n // NOTE:
00037bd0: 61 74 20 74 68 69 73 20 73 74 61 67 65 20 69 74 at this stage it
00037be0: 20 69 73 20 6b 6e 6f 77 6e 20 74 68 61 74 20 74 is known that t
00037bf0: 68 65 20 74 6f 70 20 62 69 74 20 69 73 20 73 65 he top bit is se
00037c00: 74 5c 6e 20 20 20 20 20 20 72 65 74 20 2b 3d 20 t\n ret +=
00037c10: 30 78 31 30 30 30 30 30 30 30 30 30 30 30 30 30 0x10000000000000
00037c20: 20 2b 20 28 74 68 69 73 2e 77 6f 72 64 73 5b 31 + (this.words[1
00037c30: 5d 20 2a 20 30 78 34 30 30 30 30 30 30 29 3b 5c ] * 0x4000000);\
00037c40: 6e 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 n } else if (
00037c50: 74 68 69 73 2e 6c 65 6e 67 74 68 20 3e 20 32 29 this.length > 2)
00037c60: 20 7b 5c 6e 20 20 20 20 20 20 61 73 73 65 72 74 {\n assert
00037c70: 28 66 61 6c 73 65 2c 20 27 4e 75 6d 62 65 72 20 (false, 'Number
00037c80: 63 61 6e 20 6f 6e 6c 79 20 73 61 66 65 6c 79 20 can only safely
00037c90: 73 74 6f 72 65 20 75 70 20 74 6f 20 35 33 20 62 store up to 53 b
00037ca0: 69 74 73 27 29 3b 5c 6e 20 20 20 20 7d 5c 6e 20 its');\n }\n
00037cb0: 20 20 20 72 65 74 75 72 6e 20 28 74 68 69 73 2e return (this.
00037cc0: 6e 65 67 61 74 69 76 65 20 21 3d 3d 20 30 29 20 negative !== 0)
00037cd0: 3f 20 2d 72 65 74 20 3a 20 72 65 74 3b 5c 6e 20 ? -ret : ret;\n
00037ce0: 20 7d 3b 5c 6e 5c 6e 20 20 42 4e 2e 70 72 6f 74 };\n\n BN.prot
00037cf0: 6f 74 79 70 65 2e 74 6f 4a 53 4f 4e 20 3d 20 66 otype.toJSON = f
00037d00: 75 6e 63 74 69 6f 6e 20 74 6f 4a 53 4f 4e 20 28 unction toJSON (
00037d10: 29 20 7b 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 ) {\n return
00037d20: 74 68 69 73 2e 74 6f 53 74 72 69 6e 67 28 31 36 this.toString(16
00037d30: 2c 20 32 29 3b 5c 6e 20 20 7d 3b 5c 6e 5c 6e 20 , 2);\n };\n\n
00037d40: 20 69 66 20 28 42 75 66 66 65 72 29 20 7b 5c 6e if (Buffer) {\n
00037d50: 20 20 20 20 42 4e 2e 70 72 6f 74 6f 74 79 70 65 BN.prototype
00037d60: 2e 74 6f 42 75 66 66 65 72 20 3d 20 66 75 6e 63 .toBuffer = func
00037d70: 74 69 6f 6e 20 74 6f 42 75 66 66 65 72 20 28 65 tion toBuffer (e
00037d80: 6e 64 69 61 6e 2c 20 6c 65 6e 67 74 68 29 20 7b ndian, length) {
00037d90: 5c 6e 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 \n return t
00037da0: 68 69 73 2e 74 6f 41 72 72 61 79 4c 69 6b 65 28 his.toArrayLike(
00037db0: 42 75 66 66 65 72 2c 20 65 6e 64 69 61 6e 2c 20 Buffer, endian,
00037dc0: 6c 65 6e 67 74 68 29 3b 5c 6e 20 20 20 20 7d 3b length);\n };
00037dd0: 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 42 4e 2e 70 72 \n }\n\n BN.pr
00037de0: 6f 74 6f 74 79 70 65 2e 74 6f 41 72 72 61 79 20 ototype.toArray
00037df0: 3d 20 66 75 6e 63 74 69 6f 6e 20 74 6f 41 72 72 = function toArr
00037e00: 61 79 20 28 65 6e 64 69 61 6e 2c 20 6c 65 6e 67 ay (endian, leng
00037e10: 74 68 29 20 7b 5c 6e 20 20 20 20 72 65 74 75 72 th) {\n retur
00037e20: 6e 20 74 68 69 73 2e 74 6f 41 72 72 61 79 4c 69 n this.toArrayLi
00037e30: 6b 65 28 41 72 72 61 79 2c 20 65 6e 64 69 61 6e ke(Array, endian
00037e40: 2c 20 6c 65 6e 67 74 68 29 3b 5c 6e 20 20 7d 3b , length);\n };
00037e50: 5c 6e 5c 6e 20 20 76 61 72 20 61 6c 6c 6f 63 61 \n\n var alloca
00037e60: 74 65 20 3d 20 66 75 6e 63 74 69 6f 6e 20 61 6c te = function al
00037e70: 6c 6f 63 61 74 65 20 28 41 72 72 61 79 54 79 70 locate (ArrayTyp
00037e80: 65 2c 20 73 69 7a 65 29 20 7b 5c 6e 20 20 20 20 e, size) {\n
00037e90: 69 66 20 28 41 72 72 61 79 54 79 70 65 2e 61 6c if (ArrayType.al
00037ea0: 6c 6f 63 55 6e 73 61 66 65 29 20 7b 5c 6e 20 20 locUnsafe) {\n
00037eb0: 20 20 20 20 72 65 74 75 72 6e 20 41 72 72 61 79 return Array
00037ec0: 54 79 70 65 2e 61 6c 6c 6f 63 55 6e 73 61 66 65 Type.allocUnsafe
00037ed0: 28 73 69 7a 65 29 3b 5c 6e 20 20 20 20 7d 5c 6e (size);\n }\n
00037ee0: 20 20 20 20 72 65 74 75 72 6e 20 6e 65 77 20 41 return new A
00037ef0: 72 72 61 79 54 79 70 65 28 73 69 7a 65 29 3b 5c rrayType(size);\
00037f00: 6e 20 20 7d 3b 5c 6e 5c 6e 20 20 42 4e 2e 70 72 n };\n\n BN.pr
00037f10: 6f 74 6f 74 79 70 65 2e 74 6f 41 72 72 61 79 4c ototype.toArrayL
00037f20: 69 6b 65 20 3d 20 66 75 6e 63 74 69 6f 6e 20 74 ike = function t
00037f30: 6f 41 72 72 61 79 4c 69 6b 65 20 28 41 72 72 61 oArrayLike (Arra
00037f40: 79 54 79 70 65 2c 20 65 6e 64 69 61 6e 2c 20 6c yType, endian, l
00037f50: 65 6e 67 74 68 29 20 7b 5c 6e 20 20 20 20 74 68 ength) {\n th
00037f60: 69 73 2e 5f 73 74 72 69 70 28 29 3b 5c 6e 5c 6e is._strip();\n\n
00037f70: 20 20 20 20 76 61 72 20 62 79 74 65 4c 65 6e 67 var byteLeng
00037f80: 74 68 20 3d 20 74 68 69 73 2e 62 79 74 65 4c 65 th = this.byteLe
00037f90: 6e 67 74 68 28 29 3b 5c 6e 20 20 20 20 76 61 72 ngth();\n var
00037fa0: 20 72 65 71 4c 65 6e 67 74 68 20 3d 20 6c 65 6e reqLength = len
00037fb0: 67 74 68 20 7c 7c 20 4d 61 74 68 2e 6d 61 78 28 gth || Math.max(
00037fc0: 31 2c 20 62 79 74 65 4c 65 6e 67 74 68 29 3b 5c 1, byteLength);\
00037fd0: 6e 20 20 20 20 61 73 73 65 72 74 28 62 79 74 65 n assert(byte
00037fe0: 4c 65 6e 67 74 68 20 3c 3d 20 72 65 71 4c 65 6e Length <= reqLen
00037ff0: 67 74 68 2c 20 27 62 79 74 65 20 61 72 72 61 79 gth, 'byte array
00038000: 20 6c 6f 6e 67 65 72 20 74 68 61 6e 20 64 65 73 longer than des
00038010: 69 72 65 64 20 6c 65 6e 67 74 68 27 29 3b 5c 6e ired length');\n
00038020: 20 20 20 20 61 73 73 65 72 74 28 72 65 71 4c 65 assert(reqLe
00038030: 6e 67 74 68 20 3e 20 30 2c 20 27 52 65 71 75 65 ngth > 0, 'Reque
00038040: 73 74 65 64 20 61 72 72 61 79 20 6c 65 6e 67 74 sted array lengt
00038050: 68 20 3c 3d 20 30 27 29 3b 5c 6e 5c 6e 20 20 20 h <= 0');\n\n
00038060: 20 76 61 72 20 72 65 73 20 3d 20 61 6c 6c 6f 63 var res = alloc
00038070: 61 74 65 28 41 72 72 61 79 54 79 70 65 2c 20 72 ate(ArrayType, r
00038080: 65 71 4c 65 6e 67 74 68 29 3b 5c 6e 20 20 20 20 eqLength);\n
00038090: 76 61 72 20 70 6f 73 74 66 69 78 20 3d 20 65 6e var postfix = en
000380a0: 64 69 61 6e 20 3d 3d 3d 20 27 6c 65 27 20 3f 20 dian === 'le' ?
000380b0: 27 4c 45 27 20 3a 20 27 42 45 27 3b 5c 6e 20 20 'LE' : 'BE';\n
000380c0: 20 20 74 68 69 73 5b 27 5f 74 6f 41 72 72 61 79 this['_toArray
000380d0: 4c 69 6b 65 27 20 2b 20 70 6f 73 74 66 69 78 5d Like' + postfix]
000380e0: 28 72 65 73 2c 20 62 79 74 65 4c 65 6e 67 74 68 (res, byteLength
000380f0: 29 3b 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 72 );\n return r
00038100: 65 73 3b 5c 6e 20 20 7d 3b 5c 6e 5c 6e 20 20 42 es;\n };\n\n B
00038110: 4e 2e 70 72 6f 74 6f 74 79 70 65 2e 5f 74 6f 41 N.prototype._toA
00038120: 72 72 61 79 4c 69 6b 65 4c 45 20 3d 20 66 75 6e rrayLikeLE = fun
00038130: 63 74 69 6f 6e 20 5f 74 6f 41 72 72 61 79 4c 69 ction _toArrayLi
00038140: 6b 65 4c 45 20 28 72 65 73 2c 20 62 79 74 65 4c keLE (res, byteL
00038150: 65 6e 67 74 68 29 20 7b 5c 6e 20 20 20 20 76 61 ength) {\n va
00038160: 72 20 70 6f 73 69 74 69 6f 6e 20 3d 20 30 3b 5c r position = 0;\
00038170: 6e 20 20 20 20 76 61 72 20 63 61 72 72 79 20 3d n var carry =
00038180: 20 30 3b 5c 6e 5c 6e 20 20 20 20 66 6f 72 20 28 0;\n\n for (
00038190: 76 61 72 20 69 20 3d 20 30 2c 20 73 68 69 66 74 var i = 0, shift
000381a0: 20 3d 20 30 3b 20 69 20 3c 20 74 68 69 73 2e 6c = 0; i < this.l
000381b0: 65 6e 67 74 68 3b 20 69 2b 2b 29 20 7b 5c 6e 20 ength; i++) {\n
000381c0: 20 20 20 20 20 76 61 72 20 77 6f 72 64 20 3d 20 var word =
000381d0: 28 74 68 69 73 2e 77 6f 72 64 73 5b 69 5d 20 3c (this.words[i] <
000381e0: 3c 20 73 68 69 66 74 29 20 7c 20 63 61 72 72 79 < shift) | carry
000381f0: 3b 5c 6e 5c 6e 20 20 20 20 20 20 72 65 73 5b 70 ;\n\n res[p
00038200: 6f 73 69 74 69 6f 6e 2b 2b 5d 20 3d 20 77 6f 72 osition++] = wor
00038210: 64 20 26 20 30 78 66 66 3b 5c 6e 20 20 20 20 20 d & 0xff;\n
00038220: 20 69 66 20 28 70 6f 73 69 74 69 6f 6e 20 3c 20 if (position <
00038230: 72 65 73 2e 6c 65 6e 67 74 68 29 20 7b 5c 6e 20 res.length) {\n
00038240: 20 20 20 20 20 20 20 72 65 73 5b 70 6f 73 69 74 res[posit
00038250: 69 6f 6e 2b 2b 5d 20 3d 20 28 77 6f 72 64 20 3e ion++] = (word >
00038260: 3e 20 38 29 20 26 20 30 78 66 66 3b 5c 6e 20 20 > 8) & 0xff;\n
00038270: 20 20 20 20 7d 5c 6e 20 20 20 20 20 20 69 66 20 }\n if
00038280: 28 70 6f 73 69 74 69 6f 6e 20 3c 20 72 65 73 2e (position < res.
00038290: 6c 65 6e 67 74 68 29 20 7b 5c 6e 20 20 20 20 20 length) {\n
000382a0: 20 20 20 72 65 73 5b 70 6f 73 69 74 69 6f 6e 2b res[position+
000382b0: 2b 5d 20 3d 20 28 77 6f 72 64 20 3e 3e 20 31 36 +] = (word >> 16
000382c0: 29 20 26 20 30 78 66 66 3b 5c 6e 20 20 20 20 20 ) & 0xff;\n
000382d0: 20 7d 5c 6e 5c 6e 20 20 20 20 20 20 69 66 20 28 }\n\n if (
000382e0: 73 68 69 66 74 20 3d 3d 3d 20 36 29 20 7b 5c 6e shift === 6) {\n
000382f0: 20 20 20 20 20 20 20 20 69 66 20 28 70 6f 73 69 if (posi
00038300: 74 69 6f 6e 20 3c 20 72 65 73 2e 6c 65 6e 67 74 tion < res.lengt
00038310: 68 29 20 7b 5c 6e 20 20 20 20 20 20 20 20 20 20 h) {\n
00038320: 72 65 73 5b 70 6f 73 69 74 69 6f 6e 2b 2b 5d 20 res[position++]
00038330: 3d 20 28 77 6f 72 64 20 3e 3e 20 32 34 29 20 26 = (word >> 24) &
00038340: 20 30 78 66 66 3b 5c 6e 20 20 20 20 20 20 20 20 0xff;\n
00038350: 7d 5c 6e 20 20 20 20 20 20 20 20 63 61 72 72 79 }\n carry
00038360: 20 3d 20 30 3b 5c 6e 20 20 20 20 20 20 20 20 73 = 0;\n s
00038370: 68 69 66 74 20 3d 20 30 3b 5c 6e 20 20 20 20 20 hift = 0;\n
00038380: 20 7d 20 65 6c 73 65 20 7b 5c 6e 20 20 20 20 20 } else {\n
00038390: 20 20 20 63 61 72 72 79 20 3d 20 77 6f 72 64 20 carry = word
000383a0: 3e 3e 3e 20 32 34 3b 5c 6e 20 20 20 20 20 20 20 >>> 24;\n
000383b0: 20 73 68 69 66 74 20 2b 3d 20 32 3b 5c 6e 20 20 shift += 2;\n
000383c0: 20 20 20 20 7d 5c 6e 20 20 20 20 7d 5c 6e 5c 6e }\n }\n\n
000383d0: 20 20 20 20 69 66 20 28 70 6f 73 69 74 69 6f 6e if (position
000383e0: 20 3c 20 72 65 73 2e 6c 65 6e 67 74 68 29 20 7b < res.length) {
000383f0: 5c 6e 20 20 20 20 20 20 72 65 73 5b 70 6f 73 69 \n res[posi
00038400: 74 69 6f 6e 2b 2b 5d 20 3d 20 63 61 72 72 79 3b tion++] = carry;
00038410: 5c 6e 5c 6e 20 20 20 20 20 20 77 68 69 6c 65 20 \n\n while
00038420: 28 70 6f 73 69 74 69 6f 6e 20 3c 20 72 65 73 2e (position < res.
00038430: 6c 65 6e 67 74 68 29 20 7b 5c 6e 20 20 20 20 20 length) {\n
00038440: 20 20 20 72 65 73 5b 70 6f 73 69 74 69 6f 6e 2b res[position+
00038450: 2b 5d 20 3d 20 30 3b 5c 6e 20 20 20 20 20 20 7d +] = 0;\n }
00038460: 5c 6e 20 20 20 20 7d 5c 6e 20 20 7d 3b 5c 6e 5c \n }\n };\n\
00038470: 6e 20 20 42 4e 2e 70 72 6f 74 6f 74 79 70 65 2e n BN.prototype.
00038480: 5f 74 6f 41 72 72 61 79 4c 69 6b 65 42 45 20 3d _toArrayLikeBE =
00038490: 20 66 75 6e 63 74 69 6f 6e 20 5f 74 6f 41 72 72 function _toArr
000384a0: 61 79 4c 69 6b 65 42 45 20 28 72 65 73 2c 20 62 ayLikeBE (res, b
000384b0: 79 74 65 4c 65 6e 67 74 68 29 20 7b 5c 6e 20 20 yteLength) {\n
000384c0: 20 20 76 61 72 20 70 6f 73 69 74 69 6f 6e 20 3d var position =
000384d0: 20 72 65 73 2e 6c 65 6e 67 74 68 20 2d 20 31 3b res.length - 1;
000384e0: 5c 6e 20 20 20 20 76 61 72 20 63 61 72 72 79 20 \n var carry
000384f0: 3d 20 30 3b 5c 6e 5c 6e 20 20 20 20 66 6f 72 20 = 0;\n\n for
00038500: 28 76 61 72 20 69 20 3d 20 30 2c 20 73 68 69 66 (var i = 0, shif
00038510: 74 20 3d 20 30 3b 20 69 20 3c 20 74 68 69 73 2e t = 0; i < this.
00038520: 6c 65 6e 67 74 68 3b 20 69 2b 2b 29 20 7b 5c 6e length; i++) {\n
00038530: 20 20 20 20 20 20 76 61 72 20 77 6f 72 64 20 3d var word =
00038540: 20 28 74 68 69 73 2e 77 6f 72 64 73 5b 69 5d 20 (this.words[i]
00038550: 3c 3c 20 73 68 69 66 74 29 20 7c 20 63 61 72 72 << shift) | carr
00038560: 79 3b 5c 6e 5c 6e 20 20 20 20 20 20 72 65 73 5b y;\n\n res[
00038570: 70 6f 73 69 74 69 6f 6e 2d 2d 5d 20 3d 20 77 6f position--] = wo
00038580: 72 64 20 26 20 30 78 66 66 3b 5c 6e 20 20 20 20 rd & 0xff;\n
00038590: 20 20 69 66 20 28 70 6f 73 69 74 69 6f 6e 20 3e if (position >
000385a0: 3d 20 30 29 20 7b 5c 6e 20 20 20 20 20 20 20 20 = 0) {\n
000385b0: 72 65 73 5b 70 6f 73 69 74 69 6f 6e 2d 2d 5d 20 res[position--]
000385c0: 3d 20 28 77 6f 72 64 20 3e 3e 20 38 29 20 26 20 = (word >> 8) &
000385d0: 30 78 66 66 3b 5c 6e 20 20 20 20 20 20 7d 5c 6e 0xff;\n }\n
000385e0: 20 20 20 20 20 20 69 66 20 28 70 6f 73 69 74 69 if (positi
000385f0: 6f 6e 20 3e 3d 20 30 29 20 7b 5c 6e 20 20 20 20 on >= 0) {\n
00038600: 20 20 20 20 72 65 73 5b 70 6f 73 69 74 69 6f 6e res[position
00038610: 2d 2d 5d 20 3d 20 28 77 6f 72 64 20 3e 3e 20 31 --] = (word >> 1
00038620: 36 29 20 26 20 30 78 66 66 3b 5c 6e 20 20 20 20 6) & 0xff;\n
00038630: 20 20 7d 5c 6e 5c 6e 20 20 20 20 20 20 69 66 20 }\n\n if
00038640: 28 73 68 69 66 74 20 3d 3d 3d 20 36 29 20 7b 5c (shift === 6) {\
00038650: 6e 20 20 20 20 20 20 20 20 69 66 20 28 70 6f 73 n if (pos
00038660: 69 74 69 6f 6e 20 3e 3d 20 30 29 20 7b 5c 6e 20 ition >= 0) {\n
00038670: 20 20 20 20 20 20 20 20 20 72 65 73 5b 70 6f 73 res[pos
00038680: 69 74 69 6f 6e 2d 2d 5d 20 3d 20 28 77 6f 72 64 ition--] = (word
00038690: 20 3e 3e 20 32 34 29 20 26 20 30 78 66 66 3b 5c >> 24) & 0xff;\
000386a0: 6e 20 20 20 20 20 20 20 20 7d 5c 6e 20 20 20 20 n }\n
000386b0: 20 20 20 20 63 61 72 72 79 20 3d 20 30 3b 5c 6e carry = 0;\n
000386c0: 20 20 20 20 20 20 20 20 73 68 69 66 74 20 3d 20 shift =
000386d0: 30 3b 5c 6e 20 20 20 20 20 20 7d 20 65 6c 73 65 0;\n } else
000386e0: 20 7b 5c 6e 20 20 20 20 20 20 20 20 63 61 72 72 {\n carr
000386f0: 79 20 3d 20 77 6f 72 64 20 3e 3e 3e 20 32 34 3b y = word >>> 24;
00038700: 5c 6e 20 20 20 20 20 20 20 20 73 68 69 66 74 20 \n shift
00038710: 2b 3d 20 32 3b 5c 6e 20 20 20 20 20 20 7d 5c 6e += 2;\n }\n
00038720: 20 20 20 20 7d 5c 6e 5c 6e 20 20 20 20 69 66 20 }\n\n if
00038730: 28 70 6f 73 69 74 69 6f 6e 20 3e 3d 20 30 29 20 (position >= 0)
00038740: 7b 5c 6e 20 20 20 20 20 20 72 65 73 5b 70 6f 73 {\n res[pos
00038750: 69 74 69 6f 6e 2d 2d 5d 20 3d 20 63 61 72 72 79 ition--] = carry
00038760: 3b 5c 6e 5c 6e 20 20 20 20 20 20 77 68 69 6c 65 ;\n\n while
00038770: 20 28 70 6f 73 69 74 69 6f 6e 20 3e 3d 20 30 29 (position >= 0)
00038780: 20 7b 5c 6e 20 20 20 20 20 20 20 20 72 65 73 5b {\n res[
00038790: 70 6f 73 69 74 69 6f 6e 2d 2d 5d 20 3d 20 30 3b position--] = 0;
000387a0: 5c 6e 20 20 20 20 20 20 7d 5c 6e 20 20 20 20 7d \n }\n }
000387b0: 5c 6e 20 20 7d 3b 5c 6e 5c 6e 20 20 69 66 20 28 \n };\n\n if (
000387c0: 4d 61 74 68 2e 63 6c 7a 33 32 29 20 7b 5c 6e 20 Math.clz32) {\n
000387d0: 20 20 20 42 4e 2e 70 72 6f 74 6f 74 79 70 65 2e BN.prototype.
000387e0: 5f 63 6f 75 6e 74 42 69 74 73 20 3d 20 66 75 6e _countBits = fun
000387f0: 63 74 69 6f 6e 20 5f 63 6f 75 6e 74 42 69 74 73 ction _countBits
00038800: 20 28 77 29 20 7b 5c 6e 20 20 20 20 20 20 72 65 (w) {\n re
00038810: 74 75 72 6e 20 33 32 20 2d 20 4d 61 74 68 2e 63 turn 32 - Math.c
00038820: 6c 7a 33 32 28 77 29 3b 5c 6e 20 20 20 20 7d 3b lz32(w);\n };
00038830: 5c 6e 20 20 7d 20 65 6c 73 65 20 7b 5c 6e 20 20 \n } else {\n
00038840: 20 20 42 4e 2e 70 72 6f 74 6f 74 79 70 65 2e 5f BN.prototype._
00038850: 63 6f 75 6e 74 42 69 74 73 20 3d 20 66 75 6e 63 countBits = func
00038860: 74 69 6f 6e 20 5f 63 6f 75 6e 74 42 69 74 73 20 tion _countBits
00038870: 28 77 29 20 7b 5c 6e 20 20 20 20 20 20 76 61 72 (w) {\n var
00038880: 20 74 20 3d 20 77 3b 5c 6e 20 20 20 20 20 20 76 t = w;\n v
00038890: 61 72 20 72 20 3d 20 30 3b 5c 6e 20 20 20 20 20 ar r = 0;\n
000388a0: 20 69 66 20 28 74 20 3e 3d 20 30 78 31 30 30 30 if (t >= 0x1000
000388b0: 29 20 7b 5c 6e 20 20 20 20 20 20 20 20 72 20 2b ) {\n r +
000388c0: 3d 20 31 33 3b 5c 6e 20 20 20 20 20 20 20 20 74 = 13;\n t
000388d0: 20 3e 3e 3e 3d 20 31 33 3b 5c 6e 20 20 20 20 20 >>>= 13;\n
000388e0: 20 7d 5c 6e 20 20 20 20 20 20 69 66 20 28 74 20 }\n if (t
000388f0: 3e 3d 20 30 78 34 30 29 20 7b 5c 6e 20 20 20 20 >= 0x40) {\n
00038900: 20 20 20 20 72 20 2b 3d 20 37 3b 5c 6e 20 20 20 r += 7;\n
00038910: 20 20 20 20 20 74 20 3e 3e 3e 3d 20 37 3b 5c 6e t >>>= 7;\n
00038920: 20 20 20 20 20 20 7d 5c 6e 20 20 20 20 20 20 69 }\n i
00038930: 66 20 28 74 20 3e 3d 20 30 78 38 29 20 7b 5c 6e f (t >= 0x8) {\n
00038940: 20 20 20 20 20 20 20 20 72 20 2b 3d 20 34 3b 5c r += 4;\
00038950: 6e 20 20 20 20 20 20 20 20 74 20 3e 3e 3e 3d 20 n t >>>=
00038960: 34 3b 5c 6e 20 20 20 20 20 20 7d 5c 6e 20 20 20 4;\n }\n
00038970: 20 20 20 69 66 20 28 74 20 3e 3d 20 30 78 30 32 if (t >= 0x02
00038980: 29 20 7b 5c 6e 20 20 20 20 20 20 20 20 72 20 2b ) {\n r +
00038990: 3d 20 32 3b 5c 6e 20 20 20 20 20 20 20 20 74 20 = 2;\n t
000389a0: 3e 3e 3e 3d 20 32 3b 5c 6e 20 20 20 20 20 20 7d >>>= 2;\n }
000389b0: 5c 6e 20 20 20 20 20 20 72 65 74 75 72 6e 20 72 \n return r
000389c0: 20 2b 20 74 3b 5c 6e 20 20 20 20 7d 3b 5c 6e 20 + t;\n };\n
000389d0: 20 7d 5c 6e 5c 6e 20 20 42 4e 2e 70 72 6f 74 6f }\n\n BN.proto
000389e0: 74 79 70 65 2e 5f 7a 65 72 6f 42 69 74 73 20 3d type._zeroBits =
000389f0: 20 66 75 6e 63 74 69 6f 6e 20 5f 7a 65 72 6f 42 function _zeroB
00038a00: 69 74 73 20 28 77 29 20 7b 5c 6e 20 20 20 20 2f its (w) {\n /
00038a10: 2f 20 53 68 6f 72 74 2d 63 75 74 5c 6e 20 20 20 / Short-cut\n
00038a20: 20 69 66 20 28 77 20 3d 3d 3d 20 30 29 20 72 65 if (w === 0) re
00038a30: 74 75 72 6e 20 32 36 3b 5c 6e 5c 6e 20 20 20 20 turn 26;\n\n
00038a40: 76 61 72 20 74 20 3d 20 77 3b 5c 6e 20 20 20 20 var t = w;\n
00038a50: 76 61 72 20 72 20 3d 20 30 3b 5c 6e 20 20 20 20 var r = 0;\n
00038a60: 69 66 20 28 28 74 20 26 20 30 78 31 66 66 66 29 if ((t & 0x1fff)
00038a70: 20 3d 3d 3d 20 30 29 20 7b 5c 6e 20 20 20 20 20 === 0) {\n
00038a80: 20 72 20 2b 3d 20 31 33 3b 5c 6e 20 20 20 20 20 r += 13;\n
00038a90: 20 74 20 3e 3e 3e 3d 20 31 33 3b 5c 6e 20 20 20 t >>>= 13;\n
00038aa0: 20 7d 5c 6e 20 20 20 20 69 66 20 28 28 74 20 26 }\n if ((t &
00038ab0: 20 30 78 37 66 29 20 3d 3d 3d 20 30 29 20 7b 5c 0x7f) === 0) {\
00038ac0: 6e 20 20 20 20 20 20 72 20 2b 3d 20 37 3b 5c 6e n r += 7;\n
00038ad0: 20 20 20 20 20 20 74 20 3e 3e 3e 3d 20 37 3b 5c t >>>= 7;\
00038ae0: 6e 20 20 20 20 7d 5c 6e 20 20 20 20 69 66 20 28 n }\n if (
00038af0: 28 74 20 26 20 30 78 66 29 20 3d 3d 3d 20 30 29 (t & 0xf) === 0)
00038b00: 20 7b 5c 6e 20 20 20 20 20 20 72 20 2b 3d 20 34 {\n r += 4
00038b10: 3b 5c 6e 20 20 20 20 20 20 74 20 3e 3e 3e 3d 20 ;\n t >>>=
00038b20: 34 3b 5c 6e 20 20 20 20 7d 5c 6e 20 20 20 20 69 4;\n }\n i
00038b30: 66 20 28 28 74 20 26 20 30 78 33 29 20 3d 3d 3d f ((t & 0x3) ===
00038b40: 20 30 29 20 7b 5c 6e 20 20 20 20 20 20 72 20 2b 0) {\n r +
00038b50: 3d 20 32 3b 5c 6e 20 20 20 20 20 20 74 20 3e 3e = 2;\n t >>
00038b60: 3e 3d 20 32 3b 5c 6e 20 20 20 20 7d 5c 6e 20 20 >= 2;\n }\n
00038b70: 20 20 69 66 20 28 28 74 20 26 20 30 78 31 29 20 if ((t & 0x1)
00038b80: 3d 3d 3d 20 30 29 20 7b 5c 6e 20 20 20 20 20 20 === 0) {\n
00038b90: 72 2b 2b 3b 5c 6e 20 20 20 20 7d 5c 6e 20 20 20 r++;\n }\n
00038ba0: 20 72 65 74 75 72 6e 20 72 3b 5c 6e 20 20 7d 3b return r;\n };
00038bb0: 5c 6e 5c 6e 20 20 2f 2f 20 52 65 74 75 72 6e 20 \n\n // Return
00038bc0: 6e 75 6d 62 65 72 20 6f 66 20 75 73 65 64 20 62 number of used b
00038bd0: 69 74 73 20 69 6e 20 61 20 42 4e 5c 6e 20 20 42 its in a BN\n B
00038be0: 4e 2e 70 72 6f 74 6f 74 79 70 65 2e 62 69 74 4c N.prototype.bitL
00038bf0: 65 6e 67 74 68 20 3d 20 66 75 6e 63 74 69 6f 6e ength = function
00038c00: 20 62 69 74 4c 65 6e 67 74 68 20 28 29 20 7b 5c bitLength () {\
00038c10: 6e 20 20 20 20 76 61 72 20 77 20 3d 20 74 68 69 n var w = thi
00038c20: 73 2e 77 6f 72 64 73 5b 74 68 69 73 2e 6c 65 6e s.words[this.len
00038c30: 67 74 68 20 2d 20 31 5d 3b 5c 6e 20 20 20 20 76 gth - 1];\n v
00038c40: 61 72 20 68 69 20 3d 20 74 68 69 73 2e 5f 63 6f ar hi = this._co
00038c50: 75 6e 74 42 69 74 73 28 77 29 3b 5c 6e 20 20 20 untBits(w);\n
00038c60: 20 72 65 74 75 72 6e 20 28 74 68 69 73 2e 6c 65 return (this.le
00038c70: 6e 67 74 68 20 2d 20 31 29 20 2a 20 32 36 20 2b ngth - 1) * 26 +
00038c80: 20 68 69 3b 5c 6e 20 20 7d 3b 5c 6e 5c 6e 20 20 hi;\n };\n\n
00038c90: 66 75 6e 63 74 69 6f 6e 20 74 6f 42 69 74 41 72 function toBitAr
00038ca0: 72 61 79 20 28 6e 75 6d 29 20 7b 5c 6e 20 20 20 ray (num) {\n
00038cb0: 20 76 61 72 20 77 20 3d 20 6e 65 77 20 41 72 72 var w = new Arr
00038cc0: 61 79 28 6e 75 6d 2e 62 69 74 4c 65 6e 67 74 68 ay(num.bitLength
00038cd0: 28 29 29 3b 5c 6e 5c 6e 20 20 20 20 66 6f 72 20 ());\n\n for
00038ce0: 28 76 61 72 20 62 69 74 20 3d 20 30 3b 20 62 69 (var bit = 0; bi
00038cf0: 74 20 3c 20 77 2e 6c 65 6e 67 74 68 3b 20 62 69 t < w.length; bi
00038d00: 74 2b 2b 29 20 7b 5c 6e 20 20 20 20 20 20 76 61 t++) {\n va
00038d10: 72 20 6f 66 66 20 3d 20 28 62 69 74 20 2f 20 32 r off = (bit / 2
00038d20: 36 29 20 7c 20 30 3b 5c 6e 20 20 20 20 20 20 76 6) | 0;\n v
00038d30: 61 72 20 77 62 69 74 20 3d 20 62 69 74 20 25 20 ar wbit = bit %
00038d40: 32 36 3b 5c 6e 5c 6e 20 20 20 20 20 20 77 5b 62 26;\n\n w[b
00038d50: 69 74 5d 20 3d 20 28 6e 75 6d 2e 77 6f 72 64 73 it] = (num.words
00038d60: 5b 6f 66 66 5d 20 3e 3e 3e 20 77 62 69 74 29 20 [off] >>> wbit)
00038d70: 26 20 30 78 30 31 3b 5c 6e 20 20 20 20 7d 5c 6e & 0x01;\n }\n
00038d80: 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 77 3b 5c \n return w;\
00038d90: 6e 20 20 7d 5c 6e 5c 6e 20 20 2f 2f 20 4e 75 6d n }\n\n // Num
00038da0: 62 65 72 20 6f 66 20 74 72 61 69 6c 69 6e 67 20 ber of trailing
00038db0: 7a 65 72 6f 20 62 69 74 73 5c 6e 20 20 42 4e 2e zero bits\n BN.
00038dc0: 70 72 6f 74 6f 74 79 70 65 2e 7a 65 72 6f 42 69 prototype.zeroBi
00038dd0: 74 73 20 3d 20 66 75 6e 63 74 69 6f 6e 20 7a 65 ts = function ze
00038de0: 72 6f 42 69 74 73 20 28 29 20 7b 5c 6e 20 20 20 roBits () {\n
00038df0: 20 69 66 20 28 74 68 69 73 2e 69 73 5a 65 72 6f if (this.isZero
00038e00: 28 29 29 20 72 65 74 75 72 6e 20 30 3b 5c 6e 5c ()) return 0;\n\
00038e10: 6e 20 20 20 20 76 61 72 20 72 20 3d 20 30 3b 5c n var r = 0;\
00038e20: 6e 20 20 20 20 66 6f 72 20 28 76 61 72 20 69 20 n for (var i
00038e30: 3d 20 30 3b 20 69 20 3c 20 74 68 69 73 2e 6c 65 = 0; i < this.le
00038e40: 6e 67 74 68 3b 20 69 2b 2b 29 20 7b 5c 6e 20 20 ngth; i++) {\n
00038e50: 20 20 20 20 76 61 72 20 62 20 3d 20 74 68 69 73 var b = this
00038e60: 2e 5f 7a 65 72 6f 42 69 74 73 28 74 68 69 73 2e ._zeroBits(this.
00038e70: 77 6f 72 64 73 5b 69 5d 29 3b 5c 6e 20 20 20 20 words[i]);\n
00038e80: 20 20 72 20 2b 3d 20 62 3b 5c 6e 20 20 20 20 20 r += b;\n
00038e90: 20 69 66 20 28 62 20 21 3d 3d 20 32 36 29 20 62 if (b !== 26) b
00038ea0: 72 65 61 6b 3b 5c 6e 20 20 20 20 7d 5c 6e 20 20 reak;\n }\n
00038eb0: 20 20 72 65 74 75 72 6e 20 72 3b 5c 6e 20 20 7d return r;\n }
00038ec0: 3b 5c 6e 5c 6e 20 20 42 4e 2e 70 72 6f 74 6f 74 ;\n\n BN.protot
00038ed0: 79 70 65 2e 62 79 74 65 4c 65 6e 67 74 68 20 3d ype.byteLength =
00038ee0: 20 66 75 6e 63 74 69 6f 6e 20 62 79 74 65 4c 65 function byteLe
00038ef0: 6e 67 74 68 20 28 29 20 7b 5c 6e 20 20 20 20 72 ngth () {\n r
00038f00: 65 74 75 72 6e 20 4d 61 74 68 2e 63 65 69 6c 28 eturn Math.ceil(
00038f10: 74 68 69 73 2e 62 69 74 4c 65 6e 67 74 68 28 29 this.bitLength()
00038f20: 20 2f 20 38 29 3b 5c 6e 20 20 7d 3b 5c 6e 5c 6e / 8);\n };\n\n
00038f30: 20 20 42 4e 2e 70 72 6f 74 6f 74 79 70 65 2e 74 BN.prototype.t
00038f40: 6f 54 77 6f 73 20 3d 20 66 75 6e 63 74 69 6f 6e oTwos = function
00038f50: 20 74 6f 54 77 6f 73 20 28 77 69 64 74 68 29 20 toTwos (width)
00038f60: 7b 5c 6e 20 20 20 20 69 66 20 28 74 68 69 73 2e {\n if (this.
00038f70: 6e 65 67 61 74 69 76 65 20 21 3d 3d 20 30 29 20 negative !== 0)
00038f80: 7b 5c 6e 20 20 20 20 20 20 72 65 74 75 72 6e 20 {\n return
00038f90: 74 68 69 73 2e 61 62 73 28 29 2e 69 6e 6f 74 6e this.abs().inotn
00038fa0: 28 77 69 64 74 68 29 2e 69 61 64 64 6e 28 31 29 (width).iaddn(1)
00038fb0: 3b 5c 6e 20 20 20 20 7d 5c 6e 20 20 20 20 72 65 ;\n }\n re
00038fc0: 74 75 72 6e 20 74 68 69 73 2e 63 6c 6f 6e 65 28 turn this.clone(
00038fd0: 29 3b 5c 6e 20 20 7d 3b 5c 6e 5c 6e 20 20 42 4e );\n };\n\n BN
00038fe0: 2e 70 72 6f 74 6f 74 79 70 65 2e 66 72 6f 6d 54 .prototype.fromT
00038ff0: 77 6f 73 20 3d 20 66 75 6e 63 74 69 6f 6e 20 66 wos = function f
00039000: 72 6f 6d 54 77 6f 73 20 28 77 69 64 74 68 29 20 romTwos (width)
00039010: 7b 5c 6e 20 20 20 20 69 66 20 28 74 68 69 73 2e {\n if (this.
00039020: 74 65 73 74 6e 28 77 69 64 74 68 20 2d 20 31 29 testn(width - 1)
00039030: 29 20 7b 5c 6e 20 20 20 20 20 20 72 65 74 75 72 ) {\n retur
00039040: 6e 20 74 68 69 73 2e 6e 6f 74 6e 28 77 69 64 74 n this.notn(widt
00039050: 68 29 2e 69 61 64 64 6e 28 31 29 2e 69 6e 65 67 h).iaddn(1).ineg
00039060: 28 29 3b 5c 6e 20 20 20 20 7d 5c 6e 20 20 20 20 ();\n }\n
00039070: 72 65 74 75 72 6e 20 74 68 69 73 2e 63 6c 6f 6e return this.clon
00039080: 65 28 29 3b 5c 6e 20 20 7d 3b 5c 6e 5c 6e 20 20 e();\n };\n\n
00039090: 42 4e 2e 70 72 6f 74 6f 74 79 70 65 2e 69 73 4e BN.prototype.isN
000390a0: 65 67 20 3d 20 66 75 6e 63 74 69 6f 6e 20 69 73 eg = function is
000390b0: 4e 65 67 20 28 29 20 7b 5c 6e 20 20 20 20 72 65 Neg () {\n re
000390c0: 74 75 72 6e 20 74 68 69 73 2e 6e 65 67 61 74 69 turn this.negati
000390d0: 76 65 20 21 3d 3d 20 30 3b 5c 6e 20 20 7d 3b 5c ve !== 0;\n };\
000390e0: 6e 5c 6e 20 20 2f 2f 20 52 65 74 75 72 6e 20 6e n\n // Return n
000390f0: 65 67 61 74 69 76 65 20 63 6c 6f 6e 65 20 6f 66 egative clone of
00039100: 20 60 74 68 69 73 60 5c 6e 20 20 42 4e 2e 70 72 `this`\n BN.pr
00039110: 6f 74 6f 74 79 70 65 2e 6e 65 67 20 3d 20 66 75 ototype.neg = fu
00039120: 6e 63 74 69 6f 6e 20 6e 65 67 20 28 29 20 7b 5c nction neg () {\
00039130: 6e 20 20 20 20 72 65 74 75 72 6e 20 74 68 69 73 n return this
00039140: 2e 63 6c 6f 6e 65 28 29 2e 69 6e 65 67 28 29 3b .clone().ineg();
00039150: 5c 6e 20 20 7d 3b 5c 6e 5c 6e 20 20 42 4e 2e 70 \n };\n\n BN.p
00039160: 72 6f 74 6f 74 79 70 65 2e 69 6e 65 67 20 3d 20 rototype.ineg =
00039170: 66 75 6e 63 74 69 6f 6e 20 69 6e 65 67 20 28 29 function ineg ()
00039180: 20 7b 5c 6e 20 20 20 20 69 66 20 28 21 74 68 69 {\n if (!thi
00039190: 73 2e 69 73 5a 65 72 6f 28 29 29 20 7b 5c 6e 20 s.isZero()) {\n
000391a0: 20 20 20 20 20 74 68 69 73 2e 6e 65 67 61 74 69 this.negati
000391b0: 76 65 20 5e 3d 20 31 3b 5c 6e 20 20 20 20 7d 5c ve ^= 1;\n }\
000391c0: 6e 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 74 68 n\n return th
000391d0: 69 73 3b 5c 6e 20 20 7d 3b 5c 6e 5c 6e 20 20 2f is;\n };\n\n /
000391e0: 2f 20 4f 72 20 60 6e 75 6d 60 20 77 69 74 68 20 / Or `num` with
000391f0: 60 74 68 69 73 60 20 69 6e 2d 70 6c 61 63 65 5c `this` in-place\
00039200: 6e 20 20 42 4e 2e 70 72 6f 74 6f 74 79 70 65 2e n BN.prototype.
00039210: 69 75 6f 72 20 3d 20 66 75 6e 63 74 69 6f 6e 20 iuor = function
00039220: 69 75 6f 72 20 28 6e 75 6d 29 20 7b 5c 6e 20 20 iuor (num) {\n
00039230: 20 20 77 68 69 6c 65 20 28 74 68 69 73 2e 6c 65 while (this.le
00039240: 6e 67 74 68 20 3c 20 6e 75 6d 2e 6c 65 6e 67 74 ngth < num.lengt
00039250: 68 29 20 7b 5c 6e 20 20 20 20 20 20 74 68 69 73 h) {\n this
00039260: 2e 77 6f 72 64 73 5b 74 68 69 73 2e 6c 65 6e 67 .words[this.leng
00039270: 74 68 2b 2b 5d 20 3d 20 30 3b 5c 6e 20 20 20 20 th++] = 0;\n
00039280: 7d 5c 6e 5c 6e 20 20 20 20 66 6f 72 20 28 76 61 }\n\n for (va
00039290: 72 20 69 20 3d 20 30 3b 20 69 20 3c 20 6e 75 6d r i = 0; i < num
000392a0: 2e 6c 65 6e 67 74 68 3b 20 69 2b 2b 29 20 7b 5c .length; i++) {\
000392b0: 6e 20 20 20 20 20 20 74 68 69 73 2e 77 6f 72 64 n this.word
000392c0: 73 5b 69 5d 20 3d 20 74 68 69 73 2e 77 6f 72 64 s[i] = this.word
000392d0: 73 5b 69 5d 20 7c 20 6e 75 6d 2e 77 6f 72 64 73 s[i] | num.words
000392e0: 5b 69 5d 3b 5c 6e 20 20 20 20 7d 5c 6e 5c 6e 20 [i];\n }\n\n
000392f0: 20 20 20 72 65 74 75 72 6e 20 74 68 69 73 2e 5f return this._
00039300: 73 74 72 69 70 28 29 3b 5c 6e 20 20 7d 3b 5c 6e strip();\n };\n
00039310: 5c 6e 20 20 42 4e 2e 70 72 6f 74 6f 74 79 70 65 \n BN.prototype
00039320: 2e 69 6f 72 20 3d 20 66 75 6e 63 74 69 6f 6e 20 .ior = function
00039330: 69 6f 72 20 28 6e 75 6d 29 20 7b 5c 6e 20 20 20 ior (num) {\n
00039340: 20 61 73 73 65 72 74 28 28 74 68 69 73 2e 6e 65 assert((this.ne
00039350: 67 61 74 69 76 65 20 7c 20 6e 75 6d 2e 6e 65 67 gative | num.neg
00039360: 61 74 69 76 65 29 20 3d 3d 3d 20 30 29 3b 5c 6e ative) === 0);\n
00039370: 20 20 20 20 72 65 74 75 72 6e 20 74 68 69 73 2e return this.
00039380: 69 75 6f 72 28 6e 75 6d 29 3b 5c 6e 20 20 7d 3b iuor(num);\n };
00039390: 5c 6e 5c 6e 20 20 2f 2f 20 4f 72 20 60 6e 75 6d \n\n // Or `num
000393a0: 60 20 77 69 74 68 20 60 74 68 69 73 60 5c 6e 20 ` with `this`\n
000393b0: 20 42 4e 2e 70 72 6f 74 6f 74 79 70 65 2e 6f 72 BN.prototype.or
000393c0: 20 3d 20 66 75 6e 63 74 69 6f 6e 20 6f 72 20 28 = function or (
000393d0: 6e 75 6d 29 20 7b 5c 6e 20 20 20 20 69 66 20 28 num) {\n if (
000393e0: 74 68 69 73 2e 6c 65 6e 67 74 68 20 3e 20 6e 75 this.length > nu
000393f0: 6d 2e 6c 65 6e 67 74 68 29 20 72 65 74 75 72 6e m.length) return
00039400: 20 74 68 69 73 2e 63 6c 6f 6e 65 28 29 2e 69 6f this.clone().io
00039410: 72 28 6e 75 6d 29 3b 5c 6e 20 20 20 20 72 65 74 r(num);\n ret
00039420: 75 72 6e 20 6e 75 6d 2e 63 6c 6f 6e 65 28 29 2e urn num.clone().
00039430: 69 6f 72 28 74 68 69 73 29 3b 5c 6e 20 20 7d 3b ior(this);\n };
00039440: 5c 6e 5c 6e 20 20 42 4e 2e 70 72 6f 74 6f 74 79 \n\n BN.prototy
00039450: 70 65 2e 75 6f 72 20 3d 20 66 75 6e 63 74 69 6f pe.uor = functio
00039460: 6e 20 75 6f 72 20 28 6e 75 6d 29 20 7b 5c 6e 20 n uor (num) {\n
00039470: 20 20 20 69 66 20 28 74 68 69 73 2e 6c 65 6e 67 if (this.leng
00039480: 74 68 20 3e 20 6e 75 6d 2e 6c 65 6e 67 74 68 29 th > num.length)
00039490: 20 72 65 74 75 72 6e 20 74 68 69 73 2e 63 6c 6f return this.clo
000394a0: 6e 65 28 29 2e 69 75 6f 72 28 6e 75 6d 29 3b 5c ne().iuor(num);\
000394b0: 6e 20 20 20 20 72 65 74 75 72 6e 20 6e 75 6d 2e n return num.
000394c0: 63 6c 6f 6e 65 28 29 2e 69 75 6f 72 28 74 68 69 clone().iuor(thi
000394d0: 73 29 3b 5c 6e 20 20 7d 3b 5c 6e 5c 6e 20 20 2f s);\n };\n\n /
000394e0: 2f 20 41 6e 64 20 60 6e 75 6d 60 20 77 69 74 68 / And `num` with
000394f0: 20 60 74 68 69 73 60 20 69 6e 2d 70 6c 61 63 65 `this` in-place
00039500: 5c 6e 20 20 42 4e 2e 70 72 6f 74 6f 74 79 70 65 \n BN.prototype
00039510: 2e 69 75 61 6e 64 20 3d 20 66 75 6e 63 74 69 6f .iuand = functio
00039520: 6e 20 69 75 61 6e 64 20 28 6e 75 6d 29 20 7b 5c n iuand (num) {\
00039530: 6e 20 20 20 20 2f 2f 20 62 20 3d 20 6d 69 6e 2d n // b = min-
00039540: 6c 65 6e 67 74 68 28 6e 75 6d 2c 20 74 68 69 73 length(num, this
00039550: 29 5c 6e 20 20 20 20 76 61 72 20 62 3b 5c 6e 20 )\n var b;\n
00039560: 20 20 20 69 66 20 28 74 68 69 73 2e 6c 65 6e 67 if (this.leng
00039570: 74 68 20 3e 20 6e 75 6d 2e 6c 65 6e 67 74 68 29 th > num.length)
00039580: 20 7b 5c 6e 20 20 20 20 20 20 62 20 3d 20 6e 75 {\n b = nu
00039590: 6d 3b 5c 6e 20 20 20 20 7d 20 65 6c 73 65 20 7b m;\n } else {
000395a0: 5c 6e 20 20 20 20 20 20 62 20 3d 20 74 68 69 73 \n b = this
000395b0: 3b 5c 6e 20 20 20 20 7d 5c 6e 5c 6e 20 20 20 20 ;\n }\n\n
000395c0: 66 6f 72 20 28 76 61 72 20 69 20 3d 20 30 3b 20 for (var i = 0;
000395d0: 69 20 3c 20 62 2e 6c 65 6e 67 74 68 3b 20 69 2b i < b.length; i+
000395e0: 2b 29 20 7b 5c 6e 20 20 20 20 20 20 74 68 69 73 +) {\n this
000395f0: 2e 77 6f 72 64 73 5b 69 5d 20 3d 20 74 68 69 73 .words[i] = this
00039600: 2e 77 6f 72 64 73 5b 69 5d 20 26 20 6e 75 6d 2e .words[i] & num.
00039610: 77 6f 72 64 73 5b 69 5d 3b 5c 6e 20 20 20 20 7d words[i];\n }
00039620: 5c 6e 5c 6e 20 20 20 20 74 68 69 73 2e 6c 65 6e \n\n this.len
00039630: 67 74 68 20 3d 20 62 2e 6c 65 6e 67 74 68 3b 5c gth = b.length;\
00039640: 6e 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 74 68 n\n return th
00039650: 69 73 2e 5f 73 74 72 69 70 28 29 3b 5c 6e 20 20 is._strip();\n
00039660: 7d 3b 5c 6e 5c 6e 20 20 42 4e 2e 70 72 6f 74 6f };\n\n BN.proto
00039670: 74 79 70 65 2e 69 61 6e 64 20 3d 20 66 75 6e 63 type.iand = func
00039680: 74 69 6f 6e 20 69 61 6e 64 20 28 6e 75 6d 29 20 tion iand (num)
00039690: 7b 5c 6e 20 20 20 20 61 73 73 65 72 74 28 28 74 {\n assert((t
000396a0: 68 69 73 2e 6e 65 67 61 74 69 76 65 20 7c 20 6e his.negative | n
000396b0: 75 6d 2e 6e 65 67 61 74 69 76 65 29 20 3d 3d 3d um.negative) ===
000396c0: 20 30 29 3b 5c 6e 20 20 20 20 72 65 74 75 72 6e 0);\n return
000396d0: 20 74 68 69 73 2e 69 75 61 6e 64 28 6e 75 6d 29 this.iuand(num)
000396e0: 3b 5c 6e 20 20 7d 3b 5c 6e 5c 6e 20 20 2f 2f 20 ;\n };\n\n //
000396f0: 41 6e 64 20 60 6e 75 6d 60 20 77 69 74 68 20 60 And `num` with `
00039700: 74 68 69 73 60 5c 6e 20 20 42 4e 2e 70 72 6f 74 this`\n BN.prot
00039710: 6f 74 79 70 65 2e 61 6e 64 20 3d 20 66 75 6e 63 otype.and = func
00039720: 74 69 6f 6e 20 61 6e 64 20 28 6e 75 6d 29 20 7b tion and (num) {
00039730: 5c 6e 20 20 20 20 69 66 20 28 74 68 69 73 2e 6c \n if (this.l
00039740: 65 6e 67 74 68 20 3e 20 6e 75 6d 2e 6c 65 6e 67 ength > num.leng
00039750: 74 68 29 20 72 65 74 75 72 6e 20 74 68 69 73 2e th) return this.
00039760: 63 6c 6f 6e 65 28 29 2e 69 61 6e 64 28 6e 75 6d clone().iand(num
00039770: 29 3b 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 6e );\n return n
00039780: 75 6d 2e 63 6c 6f 6e 65 28 29 2e 69 61 6e 64 28 um.clone().iand(
00039790: 74 68 69 73 29 3b 5c 6e 20 20 7d 3b 5c 6e 5c 6e this);\n };\n\n
000397a0: 20 20 42 4e 2e 70 72 6f 74 6f 74 79 70 65 2e 75 BN.prototype.u
000397b0: 61 6e 64 20 3d 20 66 75 6e 63 74 69 6f 6e 20 75 and = function u
000397c0: 61 6e 64 20 28 6e 75 6d 29 20 7b 5c 6e 20 20 20 and (num) {\n
000397d0: 20 69 66 20 28 74 68 69 73 2e 6c 65 6e 67 74 68 if (this.length
000397e0: 20 3e 20 6e 75 6d 2e 6c 65 6e 67 74 68 29 20 72 > num.length) r
000397f0: 65 74 75 72 6e 20 74 68 69 73 2e 63 6c 6f 6e 65 eturn this.clone
00039800: 28 29 2e 69 75 61 6e 64 28 6e 75 6d 29 3b 5c 6e ().iuand(num);\n
00039810: 20 20 20 20 72 65 74 75 72 6e 20 6e 75 6d 2e 63 return num.c
00039820: 6c 6f 6e 65 28 29 2e 69 75 61 6e 64 28 74 68 69 lone().iuand(thi
00039830: 73 29 3b 5c 6e 20 20 7d 3b 5c 6e 5c 6e 20 20 2f s);\n };\n\n /
00039840: 2f 20 58 6f 72 20 60 6e 75 6d 60 20 77 69 74 68 / Xor `num` with
00039850: 20 60 74 68 69 73 60 20 69 6e 2d 70 6c 61 63 65 `this` in-place
00039860: 5c 6e 20 20 42 4e 2e 70 72 6f 74 6f 74 79 70 65 \n BN.prototype
00039870: 2e 69 75 78 6f 72 20 3d 20 66 75 6e 63 74 69 6f .iuxor = functio
00039880: 6e 20 69 75 78 6f 72 20 28 6e 75 6d 29 20 7b 5c n iuxor (num) {\
00039890: 6e 20 20 20 20 2f 2f 20 61 2e 6c 65 6e 67 74 68 n // a.length
000398a0: 20 3e 20 62 2e 6c 65 6e 67 74 68 5c 6e 20 20 20 > b.length\n
000398b0: 20 76 61 72 20 61 3b 5c 6e 20 20 20 20 76 61 72 var a;\n var
000398c0: 20 62 3b 5c 6e 20 20 20 20 69 66 20 28 74 68 69 b;\n if (thi
000398d0: 73 2e 6c 65 6e 67 74 68 20 3e 20 6e 75 6d 2e 6c s.length > num.l
000398e0: 65 6e 67 74 68 29 20 7b 5c 6e 20 20 20 20 20 20 ength) {\n
000398f0: 61 20 3d 20 74 68 69 73 3b 5c 6e 20 20 20 20 20 a = this;\n
00039900: 20 62 20 3d 20 6e 75 6d 3b 5c 6e 20 20 20 20 7d b = num;\n }
00039910: 20 65 6c 73 65 20 7b 5c 6e 20 20 20 20 20 20 61 else {\n a
00039920: 20 3d 20 6e 75 6d 3b 5c 6e 20 20 20 20 20 20 62 = num;\n b
00039930: 20 3d 20 74 68 69 73 3b 5c 6e 20 20 20 20 7d 5c = this;\n }\
00039940: 6e 5c 6e 20 20 20 20 66 6f 72 20 28 76 61 72 20 n\n for (var
00039950: 69 20 3d 20 30 3b 20 69 20 3c 20 62 2e 6c 65 6e i = 0; i < b.len
00039960: 67 74 68 3b 20 69 2b 2b 29 20 7b 5c 6e 20 20 20 gth; i++) {\n
00039970: 20 20 20 74 68 69 73 2e 77 6f 72 64 73 5b 69 5d this.words[i]
00039980: 20 3d 20 61 2e 77 6f 72 64 73 5b 69 5d 20 5e 20 = a.words[i] ^
00039990: 62 2e 77 6f 72 64 73 5b 69 5d 3b 5c 6e 20 20 20 b.words[i];\n
000399a0: 20 7d 5c 6e 5c 6e 20 20 20 20 69 66 20 28 74 68 }\n\n if (th
000399b0: 69 73 20 21 3d 3d 20 61 29 20 7b 5c 6e 20 20 20 is !== a) {\n
000399c0: 20 20 20 66 6f 72 20 28 3b 20 69 20 3c 20 61 2e for (; i < a.
000399d0: 6c 65 6e 67 74 68 3b 20 69 2b 2b 29 20 7b 5c 6e length; i++) {\n
000399e0: 20 20 20 20 20 20 20 20 74 68 69 73 2e 77 6f 72 this.wor
000399f0: 64 73 5b 69 5d 20 3d 20 61 2e 77 6f 72 64 73 5b ds[i] = a.words[
00039a00: 69 5d 3b 5c 6e 20 20 20 20 20 20 7d 5c 6e 20 20 i];\n }\n
00039a10: 20 20 7d 5c 6e 5c 6e 20 20 20 20 74 68 69 73 2e }\n\n this.
00039a20: 6c 65 6e 67 74 68 20 3d 20 61 2e 6c 65 6e 67 74 length = a.lengt
00039a30: 68 3b 5c 6e 5c 6e 20 20 20 20 72 65 74 75 72 6e h;\n\n return
00039a40: 20 74 68 69 73 2e 5f 73 74 72 69 70 28 29 3b 5c this._strip();\
00039a50: 6e 20 20 7d 3b 5c 6e 5c 6e 20 20 42 4e 2e 70 72 n };\n\n BN.pr
00039a60: 6f 74 6f 74 79 70 65 2e 69 78 6f 72 20 3d 20 66 ototype.ixor = f
00039a70: 75 6e 63 74 69 6f 6e 20 69 78 6f 72 20 28 6e 75 unction ixor (nu
00039a80: 6d 29 20 7b 5c 6e 20 20 20 20 61 73 73 65 72 74 m) {\n assert
00039a90: 28 28 74 68 69 73 2e 6e 65 67 61 74 69 76 65 20 ((this.negative
00039aa0: 7c 20 6e 75 6d 2e 6e 65 67 61 74 69 76 65 29 20 | num.negative)
00039ab0: 3d 3d 3d 20 30 29 3b 5c 6e 20 20 20 20 72 65 74 === 0);\n ret
00039ac0: 75 72 6e 20 74 68 69 73 2e 69 75 78 6f 72 28 6e urn this.iuxor(n
00039ad0: 75 6d 29 3b 5c 6e 20 20 7d 3b 5c 6e 5c 6e 20 20 um);\n };\n\n
00039ae0: 2f 2f 20 58 6f 72 20 60 6e 75 6d 60 20 77 69 74 // Xor `num` wit
00039af0: 68 20 60 74 68 69 73 60 5c 6e 20 20 42 4e 2e 70 h `this`\n BN.p
00039b00: 72 6f 74 6f 74 79 70 65 2e 78 6f 72 20 3d 20 66 rototype.xor = f
00039b10: 75 6e 63 74 69 6f 6e 20 78 6f 72 20 28 6e 75 6d unction xor (num
00039b20: 29 20 7b 5c 6e 20 20 20 20 69 66 20 28 74 68 69 ) {\n if (thi
00039b30: 73 2e 6c 65 6e 67 74 68 20 3e 20 6e 75 6d 2e 6c s.length > num.l
00039b40: 65 6e 67 74 68 29 20 72 65 74 75 72 6e 20 74 68 ength) return th
00039b50: 69 73 2e 63 6c 6f 6e 65 28 29 2e 69 78 6f 72 28 is.clone().ixor(
00039b60: 6e 75 6d 29 3b 5c 6e 20 20 20 20 72 65 74 75 72 num);\n retur
00039b70: 6e 20 6e 75 6d 2e 63 6c 6f 6e 65 28 29 2e 69 78 n num.clone().ix
00039b80: 6f 72 28 74 68 69 73 29 3b 5c 6e 20 20 7d 3b 5c or(this);\n };\
00039b90: 6e 5c 6e 20 20 42 4e 2e 70 72 6f 74 6f 74 79 70 n\n BN.prototyp
00039ba0: 65 2e 75 78 6f 72 20 3d 20 66 75 6e 63 74 69 6f e.uxor = functio
00039bb0: 6e 20 75 78 6f 72 20 28 6e 75 6d 29 20 7b 5c 6e n uxor (num) {\n
00039bc0: 20 20 20 20 69 66 20 28 74 68 69 73 2e 6c 65 6e if (this.len
00039bd0: 67 74 68 20 3e 20 6e 75 6d 2e 6c 65 6e 67 74 68 gth > num.length
00039be0: 29 20 72 65 74 75 72 6e 20 74 68 69 73 2e 63 6c ) return this.cl
00039bf0: 6f 6e 65 28 29 2e 69 75 78 6f 72 28 6e 75 6d 29 one().iuxor(num)
00039c00: 3b 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 6e 75 ;\n return nu
00039c10: 6d 2e 63 6c 6f 6e 65 28 29 2e 69 75 78 6f 72 28 m.clone().iuxor(
00039c20: 74 68 69 73 29 3b 5c 6e 20 20 7d 3b 5c 6e 5c 6e this);\n };\n\n
00039c30: 20 20 2f 2f 20 4e 6f 74 20 60 60 74 68 69 73 60 // Not ``this`
00039c40: 60 20 77 69 74 68 20 60 60 77 69 64 74 68 60 60 ` with ``width``
00039c50: 20 62 69 74 77 69 64 74 68 5c 6e 20 20 42 4e 2e bitwidth\n BN.
00039c60: 70 72 6f 74 6f 74 79 70 65 2e 69 6e 6f 74 6e 20 prototype.inotn
00039c70: 3d 20 66 75 6e 63 74 69 6f 6e 20 69 6e 6f 74 6e = function inotn
00039c80: 20 28 77 69 64 74 68 29 20 7b 5c 6e 20 20 20 20 (width) {\n
00039c90: 61 73 73 65 72 74 28 74 79 70 65 6f 66 20 77 69 assert(typeof wi
00039ca0: 64 74 68 20 3d 3d 3d 20 27 6e 75 6d 62 65 72 27 dth === 'number'
00039cb0: 20 26 26 20 77 69 64 74 68 20 3e 3d 20 30 29 3b && width >= 0);
00039cc0: 5c 6e 5c 6e 20 20 20 20 76 61 72 20 62 79 74 65 \n\n var byte
00039cd0: 73 4e 65 65 64 65 64 20 3d 20 4d 61 74 68 2e 63 sNeeded = Math.c
00039ce0: 65 69 6c 28 77 69 64 74 68 20 2f 20 32 36 29 20 eil(width / 26)
00039cf0: 7c 20 30 3b 5c 6e 20 20 20 20 76 61 72 20 62 69 | 0;\n var bi
00039d00: 74 73 4c 65 66 74 20 3d 20 77 69 64 74 68 20 25 tsLeft = width %
00039d10: 20 32 36 3b 5c 6e 5c 6e 20 20 20 20 2f 2f 20 45 26;\n\n // E
00039d20: 78 74 65 6e 64 20 74 68 65 20 62 75 66 66 65 72 xtend the buffer
00039d30: 20 77 69 74 68 20 6c 65 61 64 69 6e 67 20 7a 65 with leading ze
00039d40: 72 6f 65 73 5c 6e 20 20 20 20 74 68 69 73 2e 5f roes\n this._
00039d50: 65 78 70 61 6e 64 28 62 79 74 65 73 4e 65 65 64 expand(bytesNeed
00039d60: 65 64 29 3b 5c 6e 5c 6e 20 20 20 20 69 66 20 28 ed);\n\n if (
00039d70: 62 69 74 73 4c 65 66 74 20 3e 20 30 29 20 7b 5c bitsLeft > 0) {\
00039d80: 6e 20 20 20 20 20 20 62 79 74 65 73 4e 65 65 64 n bytesNeed
00039d90: 65 64 2d 2d 3b 5c 6e 20 20 20 20 7d 5c 6e 5c 6e ed--;\n }\n\n
00039da0: 20 20 20 20 2f 2f 20 48 61 6e 64 6c 65 20 63 6f // Handle co
00039db0: 6d 70 6c 65 74 65 20 77 6f 72 64 73 5c 6e 20 20 mplete words\n
00039dc0: 20 20 66 6f 72 20 28 76 61 72 20 69 20 3d 20 30 for (var i = 0
00039dd0: 3b 20 69 20 3c 20 62 79 74 65 73 4e 65 65 64 65 ; i < bytesNeede
00039de0: 64 3b 20 69 2b 2b 29 20 7b 5c 6e 20 20 20 20 20 d; i++) {\n
00039df0: 20 74 68 69 73 2e 77 6f 72 64 73 5b 69 5d 20 3d this.words[i] =
00039e00: 20 7e 74 68 69 73 2e 77 6f 72 64 73 5b 69 5d 20 ~this.words[i]
00039e10: 26 20 30 78 33 66 66 66 66 66 66 3b 5c 6e 20 20 & 0x3ffffff;\n
00039e20: 20 20 7d 5c 6e 5c 6e 20 20 20 20 2f 2f 20 48 61 }\n\n // Ha
00039e30: 6e 64 6c 65 20 74 68 65 20 72 65 73 69 64 75 65 ndle the residue
00039e40: 5c 6e 20 20 20 20 69 66 20 28 62 69 74 73 4c 65 \n if (bitsLe
00039e50: 66 74 20 3e 20 30 29 20 7b 5c 6e 20 20 20 20 20 ft > 0) {\n
00039e60: 20 74 68 69 73 2e 77 6f 72 64 73 5b 69 5d 20 3d this.words[i] =
00039e70: 20 7e 74 68 69 73 2e 77 6f 72 64 73 5b 69 5d 20 ~this.words[i]
00039e80: 26 20 28 30 78 33 66 66 66 66 66 66 20 3e 3e 20 & (0x3ffffff >>
00039e90: 28 32 36 20 2d 20 62 69 74 73 4c 65 66 74 29 29 (26 - bitsLeft))
00039ea0: 3b 5c 6e 20 20 20 20 7d 5c 6e 5c 6e 20 20 20 20 ;\n }\n\n
00039eb0: 2f 2f 20 41 6e 64 20 72 65 6d 6f 76 65 20 6c 65 // And remove le
00039ec0: 61 64 69 6e 67 20 7a 65 72 6f 65 73 5c 6e 20 20 ading zeroes\n
00039ed0: 20 20 72 65 74 75 72 6e 20 74 68 69 73 2e 5f 73 return this._s
00039ee0: 74 72 69 70 28 29 3b 5c 6e 20 20 7d 3b 5c 6e 5c trip();\n };\n\
00039ef0: 6e 20 20 42 4e 2e 70 72 6f 74 6f 74 79 70 65 2e n BN.prototype.
00039f00: 6e 6f 74 6e 20 3d 20 66 75 6e 63 74 69 6f 6e 20 notn = function
00039f10: 6e 6f 74 6e 20 28 77 69 64 74 68 29 20 7b 5c 6e notn (width) {\n
00039f20: 20 20 20 20 72 65 74 75 72 6e 20 74 68 69 73 2e return this.
00039f30: 63 6c 6f 6e 65 28 29 2e 69 6e 6f 74 6e 28 77 69 clone().inotn(wi
00039f40: 64 74 68 29 3b 5c 6e 20 20 7d 3b 5c 6e 5c 6e 20 dth);\n };\n\n
00039f50: 20 2f 2f 20 53 65 74 20 60 62 69 74 60 20 6f 66 // Set `bit` of
00039f60: 20 60 74 68 69 73 60 5c 6e 20 20 42 4e 2e 70 72 `this`\n BN.pr
00039f70: 6f 74 6f 74 79 70 65 2e 73 65 74 6e 20 3d 20 66 ototype.setn = f
00039f80: 75 6e 63 74 69 6f 6e 20 73 65 74 6e 20 28 62 69 unction setn (bi
00039f90: 74 2c 20 76 61 6c 29 20 7b 5c 6e 20 20 20 20 61 t, val) {\n a
00039fa0: 73 73 65 72 74 28 74 79 70 65 6f 66 20 62 69 74 ssert(typeof bit
00039fb0: 20 3d 3d 3d 20 27 6e 75 6d 62 65 72 27 20 26 26 === 'number' &&
00039fc0: 20 62 69 74 20 3e 3d 20 30 29 3b 5c 6e 5c 6e 20 bit >= 0);\n\n
00039fd0: 20 20 20 76 61 72 20 6f 66 66 20 3d 20 28 62 69 var off = (bi
00039fe0: 74 20 2f 20 32 36 29 20 7c 20 30 3b 5c 6e 20 20 t / 26) | 0;\n
00039ff0: 20 20 76 61 72 20 77 62 69 74 20 3d 20 62 69 74 var wbit = bit
0003a000: 20 25 20 32 36 3b 5c 6e 5c 6e 20 20 20 20 74 68 % 26;\n\n th
0003a010: 69 73 2e 5f 65 78 70 61 6e 64 28 6f 66 66 20 2b is._expand(off +
0003a020: 20 31 29 3b 5c 6e 5c 6e 20 20 20 20 69 66 20 28 1);\n\n if (
0003a030: 76 61 6c 29 20 7b 5c 6e 20 20 20 20 20 20 74 68 val) {\n th
0003a040: 69 73 2e 77 6f 72 64 73 5b 6f 66 66 5d 20 3d 20 is.words[off] =
0003a050: 74 68 69 73 2e 77 6f 72 64 73 5b 6f 66 66 5d 20 this.words[off]
0003a060: 7c 20 28 31 20 3c 3c 20 77 62 69 74 29 3b 5c 6e | (1 << wbit);\n
0003a070: 20 20 20 20 7d 20 65 6c 73 65 20 7b 5c 6e 20 20 } else {\n
0003a080: 20 20 20 20 74 68 69 73 2e 77 6f 72 64 73 5b 6f this.words[o
0003a090: 66 66 5d 20 3d 20 74 68 69 73 2e 77 6f 72 64 73 ff] = this.words
0003a0a0: 5b 6f 66 66 5d 20 26 20 7e 28 31 20 3c 3c 20 77 [off] & ~(1 << w
0003a0b0: 62 69 74 29 3b 5c 6e 20 20 20 20 7d 5c 6e 5c 6e bit);\n }\n\n
0003a0c0: 20 20 20 20 72 65 74 75 72 6e 20 74 68 69 73 2e return this.
0003a0d0: 5f 73 74 72 69 70 28 29 3b 5c 6e 20 20 7d 3b 5c _strip();\n };\
0003a0e0: 6e 5c 6e 20 20 2f 2f 20 41 64 64 20 60 6e 75 6d n\n // Add `num
0003a0f0: 60 20 74 6f 20 60 74 68 69 73 60 20 69 6e 2d 70 ` to `this` in-p
0003a100: 6c 61 63 65 5c 6e 20 20 42 4e 2e 70 72 6f 74 6f lace\n BN.proto
0003a110: 74 79 70 65 2e 69 61 64 64 20 3d 20 66 75 6e 63 type.iadd = func
0003a120: 74 69 6f 6e 20 69 61 64 64 20 28 6e 75 6d 29 20 tion iadd (num)
0003a130: 7b 5c 6e 20 20 20 20 76 61 72 20 72 3b 5c 6e 5c {\n var r;\n\
0003a140: 6e 20 20 20 20 2f 2f 20 6e 65 67 61 74 69 76 65 n // negative
0003a150: 20 2b 20 70 6f 73 69 74 69 76 65 5c 6e 20 20 20 + positive\n
0003a160: 20 69 66 20 28 74 68 69 73 2e 6e 65 67 61 74 69 if (this.negati
0003a170: 76 65 20 21 3d 3d 20 30 20 26 26 20 6e 75 6d 2e ve !== 0 && num.
0003a180: 6e 65 67 61 74 69 76 65 20 3d 3d 3d 20 30 29 20 negative === 0)
0003a190: 7b 5c 6e 20 20 20 20 20 20 74 68 69 73 2e 6e 65 {\n this.ne
0003a1a0: 67 61 74 69 76 65 20 3d 20 30 3b 5c 6e 20 20 20 gative = 0;\n
0003a1b0: 20 20 20 72 20 3d 20 74 68 69 73 2e 69 73 75 62 r = this.isub
0003a1c0: 28 6e 75 6d 29 3b 5c 6e 20 20 20 20 20 20 74 68 (num);\n th
0003a1d0: 69 73 2e 6e 65 67 61 74 69 76 65 20 5e 3d 20 31 is.negative ^= 1
0003a1e0: 3b 5c 6e 20 20 20 20 20 20 72 65 74 75 72 6e 20 ;\n return
0003a1f0: 74 68 69 73 2e 5f 6e 6f 72 6d 53 69 67 6e 28 29 this._normSign()
0003a200: 3b 5c 6e 5c 6e 20 20 20 20 2f 2f 20 70 6f 73 69 ;\n\n // posi
0003a210: 74 69 76 65 20 2b 20 6e 65 67 61 74 69 76 65 5c tive + negative\
0003a220: 6e 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 n } else if (
0003a230: 74 68 69 73 2e 6e 65 67 61 74 69 76 65 20 3d 3d this.negative ==
0003a240: 3d 20 30 20 26 26 20 6e 75 6d 2e 6e 65 67 61 74 = 0 && num.negat
0003a250: 69 76 65 20 21 3d 3d 20 30 29 20 7b 5c 6e 20 20 ive !== 0) {\n
0003a260: 20 20 20 20 6e 75 6d 2e 6e 65 67 61 74 69 76 65 num.negative
0003a270: 20 3d 20 30 3b 5c 6e 20 20 20 20 20 20 72 20 3d = 0;\n r =
0003a280: 20 74 68 69 73 2e 69 73 75 62 28 6e 75 6d 29 3b this.isub(num);
0003a290: 5c 6e 20 20 20 20 20 20 6e 75 6d 2e 6e 65 67 61 \n num.nega
0003a2a0: 74 69 76 65 20 3d 20 31 3b 5c 6e 20 20 20 20 20 tive = 1;\n
0003a2b0: 20 72 65 74 75 72 6e 20 72 2e 5f 6e 6f 72 6d 53 return r._normS
0003a2c0: 69 67 6e 28 29 3b 5c 6e 20 20 20 20 7d 5c 6e 5c ign();\n }\n\
0003a2d0: 6e 20 20 20 20 2f 2f 20 61 2e 6c 65 6e 67 74 68 n // a.length
0003a2e0: 20 3e 20 62 2e 6c 65 6e 67 74 68 5c 6e 20 20 20 > b.length\n
0003a2f0: 20 76 61 72 20 61 2c 20 62 3b 5c 6e 20 20 20 20 var a, b;\n
0003a300: 69 66 20 28 74 68 69 73 2e 6c 65 6e 67 74 68 20 if (this.length
0003a310: 3e 20 6e 75 6d 2e 6c 65 6e 67 74 68 29 20 7b 5c > num.length) {\
0003a320: 6e 20 20 20 20 20 20 61 20 3d 20 74 68 69 73 3b n a = this;
0003a330: 5c 6e 20 20 20 20 20 20 62 20 3d 20 6e 75 6d 3b \n b = num;
0003a340: 5c 6e 20 20 20 20 7d 20 65 6c 73 65 20 7b 5c 6e \n } else {\n
0003a350: 20 20 20 20 20 20 61 20 3d 20 6e 75 6d 3b 5c 6e a = num;\n
0003a360: 20 20 20 20 20 20 62 20 3d 20 74 68 69 73 3b 5c b = this;\
0003a370: 6e 20 20 20 20 7d 5c 6e 5c 6e 20 20 20 20 76 61 n }\n\n va
0003a380: 72 20 63 61 72 72 79 20 3d 20 30 3b 5c 6e 20 20 r carry = 0;\n
0003a390: 20 20 66 6f 72 20 28 76 61 72 20 69 20 3d 20 30 for (var i = 0
0003a3a0: 3b 20 69 20 3c 20 62 2e 6c 65 6e 67 74 68 3b 20 ; i < b.length;
0003a3b0: 69 2b 2b 29 20 7b 5c 6e 20 20 20 20 20 20 72 20 i++) {\n r
0003a3c0: 3d 20 28 61 2e 77 6f 72 64 73 5b 69 5d 20 7c 20 = (a.words[i] |
0003a3d0: 30 29 20 2b 20 28 62 2e 77 6f 72 64 73 5b 69 5d 0) + (b.words[i]
0003a3e0: 20 7c 20 30 29 20 2b 20 63 61 72 72 79 3b 5c 6e | 0) + carry;\n
0003a3f0: 20 20 20 20 20 20 74 68 69 73 2e 77 6f 72 64 73 this.words
0003a400: 5b 69 5d 20 3d 20 72 20 26 20 30 78 33 66 66 66 [i] = r & 0x3fff
0003a410: 66 66 66 3b 5c 6e 20 20 20 20 20 20 63 61 72 72 fff;\n carr
0003a420: 79 20 3d 20 72 20 3e 3e 3e 20 32 36 3b 5c 6e 20 y = r >>> 26;\n
0003a430: 20 20 20 7d 5c 6e 20 20 20 20 66 6f 72 20 28 3b }\n for (;
0003a440: 20 63 61 72 72 79 20 21 3d 3d 20 30 20 26 26 20 carry !== 0 &&
0003a450: 69 20 3c 20 61 2e 6c 65 6e 67 74 68 3b 20 69 2b i < a.length; i+
0003a460: 2b 29 20 7b 5c 6e 20 20 20 20 20 20 72 20 3d 20 +) {\n r =
0003a470: 28 61 2e 77 6f 72 64 73 5b 69 5d 20 7c 20 30 29 (a.words[i] | 0)
0003a480: 20 2b 20 63 61 72 72 79 3b 5c 6e 20 20 20 20 20 + carry;\n
0003a490: 20 74 68 69 73 2e 77 6f 72 64 73 5b 69 5d 20 3d this.words[i] =
0003a4a0: 20 72 20 26 20 30 78 33 66 66 66 66 66 66 3b 5c r & 0x3ffffff;\
0003a4b0: 6e 20 20 20 20 20 20 63 61 72 72 79 20 3d 20 72 n carry = r
0003a4c0: 20 3e 3e 3e 20 32 36 3b 5c 6e 20 20 20 20 7d 5c >>> 26;\n }\
0003a4d0: 6e 5c 6e 20 20 20 20 74 68 69 73 2e 6c 65 6e 67 n\n this.leng
0003a4e0: 74 68 20 3d 20 61 2e 6c 65 6e 67 74 68 3b 5c 6e th = a.length;\n
0003a4f0: 20 20 20 20 69 66 20 28 63 61 72 72 79 20 21 3d if (carry !=
0003a500: 3d 20 30 29 20 7b 5c 6e 20 20 20 20 20 20 74 68 = 0) {\n th
0003a510: 69 73 2e 77 6f 72 64 73 5b 74 68 69 73 2e 6c 65 is.words[this.le
0003a520: 6e 67 74 68 5d 20 3d 20 63 61 72 72 79 3b 5c 6e ngth] = carry;\n
0003a530: 20 20 20 20 20 20 74 68 69 73 2e 6c 65 6e 67 74 this.lengt
0003a540: 68 2b 2b 3b 5c 6e 20 20 20 20 2f 2f 20 43 6f 70 h++;\n // Cop
0003a550: 79 20 74 68 65 20 72 65 73 74 20 6f 66 20 74 68 y the rest of th
0003a560: 65 20 77 6f 72 64 73 5c 6e 20 20 20 20 7d 20 65 e words\n } e
0003a570: 6c 73 65 20 69 66 20 28 61 20 21 3d 3d 20 74 68 lse if (a !== th
0003a580: 69 73 29 20 7b 5c 6e 20 20 20 20 20 20 66 6f 72 is) {\n for
0003a590: 20 28 3b 20 69 20 3c 20 61 2e 6c 65 6e 67 74 68 (; i < a.length
0003a5a0: 3b 20 69 2b 2b 29 20 7b 5c 6e 20 20 20 20 20 20 ; i++) {\n
0003a5b0: 20 20 74 68 69 73 2e 77 6f 72 64 73 5b 69 5d 20 this.words[i]
0003a5c0: 3d 20 61 2e 77 6f 72 64 73 5b 69 5d 3b 5c 6e 20 = a.words[i];\n
0003a5d0: 20 20 20 20 20 7d 5c 6e 20 20 20 20 7d 5c 6e 5c }\n }\n\
0003a5e0: 6e 20 20 20 20 72 65 74 75 72 6e 20 74 68 69 73 n return this
0003a5f0: 3b 5c 6e 20 20 7d 3b 5c 6e 5c 6e 20 20 2f 2f 20 ;\n };\n\n //
0003a600: 41 64 64 20 60 6e 75 6d 60 20 74 6f 20 60 74 68 Add `num` to `th
0003a610: 69 73 60 5c 6e 20 20 42 4e 2e 70 72 6f 74 6f 74 is`\n BN.protot
0003a620: 79 70 65 2e 61 64 64 20 3d 20 66 75 6e 63 74 69 ype.add = functi
0003a630: 6f 6e 20 61 64 64 20 28 6e 75 6d 29 20 7b 5c 6e on add (num) {\n
0003a640: 20 20 20 20 76 61 72 20 72 65 73 3b 5c 6e 20 20 var res;\n
0003a650: 20 20 69 66 20 28 6e 75 6d 2e 6e 65 67 61 74 69 if (num.negati
0003a660: 76 65 20 21 3d 3d 20 30 20 26 26 20 74 68 69 73 ve !== 0 && this
0003a670: 2e 6e 65 67 61 74 69 76 65 20 3d 3d 3d 20 30 29 .negative === 0)
0003a680: 20 7b 5c 6e 20 20 20 20 20 20 6e 75 6d 2e 6e 65 {\n num.ne
0003a690: 67 61 74 69 76 65 20 3d 20 30 3b 5c 6e 20 20 20 gative = 0;\n
0003a6a0: 20 20 20 72 65 73 20 3d 20 74 68 69 73 2e 73 75 res = this.su
0003a6b0: 62 28 6e 75 6d 29 3b 5c 6e 20 20 20 20 20 20 6e b(num);\n n
0003a6c0: 75 6d 2e 6e 65 67 61 74 69 76 65 20 5e 3d 20 31 um.negative ^= 1
0003a6d0: 3b 5c 6e 20 20 20 20 20 20 72 65 74 75 72 6e 20 ;\n return
0003a6e0: 72 65 73 3b 5c 6e 20 20 20 20 7d 20 65 6c 73 65 res;\n } else
0003a6f0: 20 69 66 20 28 6e 75 6d 2e 6e 65 67 61 74 69 76 if (num.negativ
0003a700: 65 20 3d 3d 3d 20 30 20 26 26 20 74 68 69 73 2e e === 0 && this.
0003a710: 6e 65 67 61 74 69 76 65 20 21 3d 3d 20 30 29 20 negative !== 0)
0003a720: 7b 5c 6e 20 20 20 20 20 20 74 68 69 73 2e 6e 65 {\n this.ne
0003a730: 67 61 74 69 76 65 20 3d 20 30 3b 5c 6e 20 20 20 gative = 0;\n
0003a740: 20 20 20 72 65 73 20 3d 20 6e 75 6d 2e 73 75 62 res = num.sub
0003a750: 28 74 68 69 73 29 3b 5c 6e 20 20 20 20 20 20 74 (this);\n t
0003a760: 68 69 73 2e 6e 65 67 61 74 69 76 65 20 3d 20 31 his.negative = 1
0003a770: 3b 5c 6e 20 20 20 20 20 20 72 65 74 75 72 6e 20 ;\n return
0003a780: 72 65 73 3b 5c 6e 20 20 20 20 7d 5c 6e 5c 6e 20 res;\n }\n\n
0003a790: 20 20 20 69 66 20 28 74 68 69 73 2e 6c 65 6e 67 if (this.leng
0003a7a0: 74 68 20 3e 20 6e 75 6d 2e 6c 65 6e 67 74 68 29 th > num.length)
0003a7b0: 20 72 65 74 75 72 6e 20 74 68 69 73 2e 63 6c 6f return this.clo
0003a7c0: 6e 65 28 29 2e 69 61 64 64 28 6e 75 6d 29 3b 5c ne().iadd(num);\
0003a7d0: 6e 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 6e 75 n\n return nu
0003a7e0: 6d 2e 63 6c 6f 6e 65 28 29 2e 69 61 64 64 28 74 m.clone().iadd(t
0003a7f0: 68 69 73 29 3b 5c 6e 20 20 7d 3b 5c 6e 5c 6e 20 his);\n };\n\n
0003a800: 20 2f 2f 20 53 75 62 74 72 61 63 74 20 60 6e 75 // Subtract `nu
0003a810: 6d 60 20 66 72 6f 6d 20 60 74 68 69 73 60 20 69 m` from `this` i
0003a820: 6e 2d 70 6c 61 63 65 5c 6e 20 20 42 4e 2e 70 72 n-place\n BN.pr
0003a830: 6f 74 6f 74 79 70 65 2e 69 73 75 62 20 3d 20 66 ototype.isub = f
0003a840: 75 6e 63 74 69 6f 6e 20 69 73 75 62 20 28 6e 75 unction isub (nu
0003a850: 6d 29 20 7b 5c 6e 20 20 20 20 2f 2f 20 74 68 69 m) {\n // thi
0003a860: 73 20 2d 20 28 2d 6e 75 6d 29 20 3d 20 74 68 69 s - (-num) = thi
0003a870: 73 20 2b 20 6e 75 6d 5c 6e 20 20 20 20 69 66 20 s + num\n if
0003a880: 28 6e 75 6d 2e 6e 65 67 61 74 69 76 65 20 21 3d (num.negative !=
0003a890: 3d 20 30 29 20 7b 5c 6e 20 20 20 20 20 20 6e 75 = 0) {\n nu
0003a8a0: 6d 2e 6e 65 67 61 74 69 76 65 20 3d 20 30 3b 5c m.negative = 0;\
0003a8b0: 6e 20 20 20 20 20 20 76 61 72 20 72 20 3d 20 74 n var r = t
0003a8c0: 68 69 73 2e 69 61 64 64 28 6e 75 6d 29 3b 5c 6e his.iadd(num);\n
0003a8d0: 20 20 20 20 20 20 6e 75 6d 2e 6e 65 67 61 74 69 num.negati
0003a8e0: 76 65 20 3d 20 31 3b 5c 6e 20 20 20 20 20 20 72 ve = 1;\n r
0003a8f0: 65 74 75 72 6e 20 72 2e 5f 6e 6f 72 6d 53 69 67 eturn r._normSig
0003a900: 6e 28 29 3b 5c 6e 5c 6e 20 20 20 20 2f 2f 20 2d n();\n\n // -
0003a910: 74 68 69 73 20 2d 20 6e 75 6d 20 3d 20 2d 28 74 this - num = -(t
0003a920: 68 69 73 20 2b 20 6e 75 6d 29 5c 6e 20 20 20 20 his + num)\n
0003a930: 7d 20 65 6c 73 65 20 69 66 20 28 74 68 69 73 2e } else if (this.
0003a940: 6e 65 67 61 74 69 76 65 20 21 3d 3d 20 30 29 20 negative !== 0)
0003a950: 7b 5c 6e 20 20 20 20 20 20 74 68 69 73 2e 6e 65 {\n this.ne
0003a960: 67 61 74 69 76 65 20 3d 20 30 3b 5c 6e 20 20 20 gative = 0;\n
0003a970: 20 20 20 74 68 69 73 2e 69 61 64 64 28 6e 75 6d this.iadd(num
0003a980: 29 3b 5c 6e 20 20 20 20 20 20 74 68 69 73 2e 6e );\n this.n
0003a990: 65 67 61 74 69 76 65 20 3d 20 31 3b 5c 6e 20 20 egative = 1;\n
0003a9a0: 20 20 20 20 72 65 74 75 72 6e 20 74 68 69 73 2e return this.
0003a9b0: 5f 6e 6f 72 6d 53 69 67 6e 28 29 3b 5c 6e 20 20 _normSign();\n
0003a9c0: 20 20 7d 5c 6e 5c 6e 20 20 20 20 2f 2f 20 41 74 }\n\n // At
0003a9d0: 20 74 68 69 73 20 70 6f 69 6e 74 20 62 6f 74 68 this point both
0003a9e0: 20 6e 75 6d 62 65 72 73 20 61 72 65 20 70 6f 73 numbers are pos
0003a9f0: 69 74 69 76 65 5c 6e 20 20 20 20 76 61 72 20 63 itive\n var c
0003aa00: 6d 70 20 3d 20 74 68 69 73 2e 63 6d 70 28 6e 75 mp = this.cmp(nu
0003aa10: 6d 29 3b 5c 6e 5c 6e 20 20 20 20 2f 2f 20 4f 70 m);\n\n // Op
0003aa20: 74 69 6d 69 7a 61 74 69 6f 6e 20 2d 20 7a 65 72 timization - zer
0003aa30: 6f 69 66 79 5c 6e 20 20 20 20 69 66 20 28 63 6d oify\n if (cm
0003aa40: 70 20 3d 3d 3d 20 30 29 20 7b 5c 6e 20 20 20 20 p === 0) {\n
0003aa50: 20 20 74 68 69 73 2e 6e 65 67 61 74 69 76 65 20 this.negative
0003aa60: 3d 20 30 3b 5c 6e 20 20 20 20 20 20 74 68 69 73 = 0;\n this
0003aa70: 2e 6c 65 6e 67 74 68 20 3d 20 31 3b 5c 6e 20 20 .length = 1;\n
0003aa80: 20 20 20 20 74 68 69 73 2e 77 6f 72 64 73 5b 30 this.words[0
0003aa90: 5d 20 3d 20 30 3b 5c 6e 20 20 20 20 20 20 72 65 ] = 0;\n re
0003aaa0: 74 75 72 6e 20 74 68 69 73 3b 5c 6e 20 20 20 20 turn this;\n
0003aab0: 7d 5c 6e 5c 6e 20 20 20 20 2f 2f 20 61 20 3e 20 }\n\n // a >
0003aac0: 62 5c 6e 20 20 20 20 76 61 72 20 61 2c 20 62 3b b\n var a, b;
0003aad0: 5c 6e 20 20 20 20 69 66 20 28 63 6d 70 20 3e 20 \n if (cmp >
0003aae0: 30 29 20 7b 5c 6e 20 20 20 20 20 20 61 20 3d 20 0) {\n a =
0003aaf0: 74 68 69 73 3b 5c 6e 20 20 20 20 20 20 62 20 3d this;\n b =
0003ab00: 20 6e 75 6d 3b 5c 6e 20 20 20 20 7d 20 65 6c 73 num;\n } els
0003ab10: 65 20 7b 5c 6e 20 20 20 20 20 20 61 20 3d 20 6e e {\n a = n
0003ab20: 75 6d 3b 5c 6e 20 20 20 20 20 20 62 20 3d 20 74 um;\n b = t
0003ab30: 68 69 73 3b 5c 6e 20 20 20 20 7d 5c 6e 5c 6e 20 his;\n }\n\n
0003ab40: 20 20 20 76 61 72 20 63 61 72 72 79 20 3d 20 30 var carry = 0
0003ab50: 3b 5c 6e 20 20 20 20 66 6f 72 20 28 76 61 72 20 ;\n for (var
0003ab60: 69 20 3d 20 30 3b 20 69 20 3c 20 62 2e 6c 65 6e i = 0; i < b.len
0003ab70: 67 74 68 3b 20 69 2b 2b 29 20 7b 5c 6e 20 20 20 gth; i++) {\n
0003ab80: 20 20 20 72 20 3d 20 28 61 2e 77 6f 72 64 73 5b r = (a.words[
0003ab90: 69 5d 20 7c 20 30 29 20 2d 20 28 62 2e 77 6f 72 i] | 0) - (b.wor
0003aba0: 64 73 5b 69 5d 20 7c 20 30 29 20 2b 20 63 61 72 ds[i] | 0) + car
0003abb0: 72 79 3b 5c 6e 20 20 20 20 20 20 63 61 72 72 79 ry;\n carry
0003abc0: 20 3d 20 72 20 3e 3e 20 32 36 3b 5c 6e 20 20 20 = r >> 26;\n
0003abd0: 20 20 20 74 68 69 73 2e 77 6f 72 64 73 5b 69 5d this.words[i]
0003abe0: 20 3d 20 72 20 26 20 30 78 33 66 66 66 66 66 66 = r & 0x3ffffff
0003abf0: 3b 5c 6e 20 20 20 20 7d 5c 6e 20 20 20 20 66 6f ;\n }\n fo
0003ac00: 72 20 28 3b 20 63 61 72 72 79 20 21 3d 3d 20 30 r (; carry !== 0
0003ac10: 20 26 26 20 69 20 3c 20 61 2e 6c 65 6e 67 74 68 && i < a.length
0003ac20: 3b 20 69 2b 2b 29 20 7b 5c 6e 20 20 20 20 20 20 ; i++) {\n
0003ac30: 72 20 3d 20 28 61 2e 77 6f 72 64 73 5b 69 5d 20 r = (a.words[i]
0003ac40: 7c 20 30 29 20 2b 20 63 61 72 72 79 3b 5c 6e 20 | 0) + carry;\n
0003ac50: 20 20 20 20 20 63 61 72 72 79 20 3d 20 72 20 3e carry = r >
0003ac60: 3e 20 32 36 3b 5c 6e 20 20 20 20 20 20 74 68 69 > 26;\n thi
0003ac70: 73 2e 77 6f 72 64 73 5b 69 5d 20 3d 20 72 20 26 s.words[i] = r &
0003ac80: 20 30 78 33 66 66 66 66 66 66 3b 5c 6e 20 20 20 0x3ffffff;\n
0003ac90: 20 7d 5c 6e 5c 6e 20 20 20 20 2f 2f 20 43 6f 70 }\n\n // Cop
0003aca0: 79 20 72 65 73 74 20 6f 66 20 74 68 65 20 77 6f y rest of the wo
0003acb0: 72 64 73 5c 6e 20 20 20 20 69 66 20 28 63 61 72 rds\n if (car
0003acc0: 72 79 20 3d 3d 3d 20 30 20 26 26 20 69 20 3c 20 ry === 0 && i <
0003acd0: 61 2e 6c 65 6e 67 74 68 20 26 26 20 61 20 21 3d a.length && a !=
0003ace0: 3d 20 74 68 69 73 29 20 7b 5c 6e 20 20 20 20 20 = this) {\n
0003acf0: 20 66 6f 72 20 28 3b 20 69 20 3c 20 61 2e 6c 65 for (; i < a.le
0003ad00: 6e 67 74 68 3b 20 69 2b 2b 29 20 7b 5c 6e 20 20 ngth; i++) {\n
0003ad10: 20 20 20 20 20 20 74 68 69 73 2e 77 6f 72 64 73 this.words
0003ad20: 5b 69 5d 20 3d 20 61 2e 77 6f 72 64 73 5b 69 5d [i] = a.words[i]
0003ad30: 3b 5c 6e 20 20 20 20 20 20 7d 5c 6e 20 20 20 20 ;\n }\n
0003ad40: 7d 5c 6e 5c 6e 20 20 20 20 74 68 69 73 2e 6c 65 }\n\n this.le
0003ad50: 6e 67 74 68 20 3d 20 4d 61 74 68 2e 6d 61 78 28 ngth = Math.max(
0003ad60: 74 68 69 73 2e 6c 65 6e 67 74 68 2c 20 69 29 3b this.length, i);
0003ad70: 5c 6e 5c 6e 20 20 20 20 69 66 20 28 61 20 21 3d \n\n if (a !=
0003ad80: 3d 20 74 68 69 73 29 20 7b 5c 6e 20 20 20 20 20 = this) {\n
0003ad90: 20 74 68 69 73 2e 6e 65 67 61 74 69 76 65 20 3d this.negative =
0003ada0: 20 31 3b 5c 6e 20 20 20 20 7d 5c 6e 5c 6e 20 20 1;\n }\n\n
0003adb0: 20 20 72 65 74 75 72 6e 20 74 68 69 73 2e 5f 73 return this._s
0003adc0: 74 72 69 70 28 29 3b 5c 6e 20 20 7d 3b 5c 6e 5c trip();\n };\n\
0003add0: 6e 20 20 2f 2f 20 53 75 62 74 72 61 63 74 20 60 n // Subtract `
0003ade0: 6e 75 6d 60 20 66 72 6f 6d 20 60 74 68 69 73 60 num` from `this`
0003adf0: 5c 6e 20 20 42 4e 2e 70 72 6f 74 6f 74 79 70 65 \n BN.prototype
0003ae00: 2e 73 75 62 20 3d 20 66 75 6e 63 74 69 6f 6e 20 .sub = function
0003ae10: 73 75 62 20 28 6e 75 6d 29 20 7b 5c 6e 20 20 20 sub (num) {\n
0003ae20: 20 72 65 74 75 72 6e 20 74 68 69 73 2e 63 6c 6f return this.clo
0003ae30: 6e 65 28 29 2e 69 73 75 62 28 6e 75 6d 29 3b 5c ne().isub(num);\
0003ae40: 6e 20 20 7d 3b 5c 6e 5c 6e 20 20 66 75 6e 63 74 n };\n\n funct
0003ae50: 69 6f 6e 20 73 6d 61 6c 6c 4d 75 6c 54 6f 20 28 ion smallMulTo (
0003ae60: 73 65 6c 66 2c 20 6e 75 6d 2c 20 6f 75 74 29 20 self, num, out)
0003ae70: 7b 5c 6e 20 20 20 20 6f 75 74 2e 6e 65 67 61 74 {\n out.negat
0003ae80: 69 76 65 20 3d 20 6e 75 6d 2e 6e 65 67 61 74 69 ive = num.negati
0003ae90: 76 65 20 5e 20 73 65 6c 66 2e 6e 65 67 61 74 69 ve ^ self.negati
0003aea0: 76 65 3b 5c 6e 20 20 20 20 76 61 72 20 6c 65 6e ve;\n var len
0003aeb0: 20 3d 20 28 73 65 6c 66 2e 6c 65 6e 67 74 68 20 = (self.length
0003aec0: 2b 20 6e 75 6d 2e 6c 65 6e 67 74 68 29 20 7c 20 + num.length) |
0003aed0: 30 3b 5c 6e 20 20 20 20 6f 75 74 2e 6c 65 6e 67 0;\n out.leng
0003aee0: 74 68 20 3d 20 6c 65 6e 3b 5c 6e 20 20 20 20 6c th = len;\n l
0003aef0: 65 6e 20 3d 20 28 6c 65 6e 20 2d 20 31 29 20 7c en = (len - 1) |
0003af00: 20 30 3b 5c 6e 5c 6e 20 20 20 20 2f 2f 20 50 65 0;\n\n // Pe
0003af10: 65 6c 20 6f 6e 65 20 69 74 65 72 61 74 69 6f 6e el one iteration
0003af20: 20 28 63 6f 6d 70 69 6c 65 72 20 63 61 6e 27 74 (compiler can't
0003af30: 20 64 6f 20 69 74 2c 20 62 65 63 61 75 73 65 20 do it, because
0003af40: 6f 66 20 63 6f 64 65 20 63 6f 6d 70 6c 65 78 69 of code complexi
0003af50: 74 79 29 5c 6e 20 20 20 20 76 61 72 20 61 20 3d ty)\n var a =
0003af60: 20 73 65 6c 66 2e 77 6f 72 64 73 5b 30 5d 20 7c self.words[0] |
0003af70: 20 30 3b 5c 6e 20 20 20 20 76 61 72 20 62 20 3d 0;\n var b =
0003af80: 20 6e 75 6d 2e 77 6f 72 64 73 5b 30 5d 20 7c 20 num.words[0] |
0003af90: 30 3b 5c 6e 20 20 20 20 76 61 72 20 72 20 3d 20 0;\n var r =
0003afa0: 61 20 2a 20 62 3b 5c 6e 5c 6e 20 20 20 20 76 61 a * b;\n\n va
0003afb0: 72 20 6c 6f 20 3d 20 72 20 26 20 30 78 33 66 66 r lo = r & 0x3ff
0003afc0: 66 66 66 66 3b 5c 6e 20 20 20 20 76 61 72 20 63 ffff;\n var c
0003afd0: 61 72 72 79 20 3d 20 28 72 20 2f 20 30 78 34 30 arry = (r / 0x40
0003afe0: 30 30 30 30 30 29 20 7c 20 30 3b 5c 6e 20 20 20 00000) | 0;\n
0003aff0: 20 6f 75 74 2e 77 6f 72 64 73 5b 30 5d 20 3d 20 out.words[0] =
0003b000: 6c 6f 3b 5c 6e 5c 6e 20 20 20 20 66 6f 72 20 28 lo;\n\n for (
0003b010: 76 61 72 20 6b 20 3d 20 31 3b 20 6b 20 3c 20 6c var k = 1; k < l
0003b020: 65 6e 3b 20 6b 2b 2b 29 20 7b 5c 6e 20 20 20 20 en; k++) {\n
0003b030: 20 20 2f 2f 20 53 75 6d 20 61 6c 6c 20 77 6f 72 // Sum all wor
0003b040: 64 73 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 ds with the same
0003b050: 20 60 69 20 2b 20 6a 20 3d 20 6b 60 20 61 6e 64 `i + j = k` and
0003b060: 20 61 63 63 75 6d 75 6c 61 74 65 20 60 6e 63 61 accumulate `nca
0003b070: 72 72 79 60 2c 5c 6e 20 20 20 20 20 20 2f 2f 20 rry`,\n //
0003b080: 6e 6f 74 65 20 74 68 61 74 20 6e 63 61 72 72 79 note that ncarry
0003b090: 20 63 6f 75 6c 64 20 62 65 20 3e 3d 20 30 78 33 could be >= 0x3
0003b0a0: 66 66 66 66 66 66 5c 6e 20 20 20 20 20 20 76 61 ffffff\n va
0003b0b0: 72 20 6e 63 61 72 72 79 20 3d 20 63 61 72 72 79 r ncarry = carry
0003b0c0: 20 3e 3e 3e 20 32 36 3b 5c 6e 20 20 20 20 20 20 >>> 26;\n
0003b0d0: 76 61 72 20 72 77 6f 72 64 20 3d 20 63 61 72 72 var rword = carr
0003b0e0: 79 20 26 20 30 78 33 66 66 66 66 66 66 3b 5c 6e y & 0x3ffffff;\n
0003b0f0: 20 20 20 20 20 20 76 61 72 20 6d 61 78 4a 20 3d var maxJ =
0003b100: 20 4d 61 74 68 2e 6d 69 6e 28 6b 2c 20 6e 75 6d Math.min(k, num
0003b110: 2e 6c 65 6e 67 74 68 20 2d 20 31 29 3b 5c 6e 20 .length - 1);\n
0003b120: 20 20 20 20 20 66 6f 72 20 28 76 61 72 20 6a 20 for (var j
0003b130: 3d 20 4d 61 74 68 2e 6d 61 78 28 30 2c 20 6b 20 = Math.max(0, k
0003b140: 2d 20 73 65 6c 66 2e 6c 65 6e 67 74 68 20 2b 20 - self.length +
0003b150: 31 29 3b 20 6a 20 3c 3d 20 6d 61 78 4a 3b 20 6a 1); j <= maxJ; j
0003b160: 2b 2b 29 20 7b 5c 6e 20 20 20 20 20 20 20 20 76 ++) {\n v
0003b170: 61 72 20 69 20 3d 20 28 6b 20 2d 20 6a 29 20 7c ar i = (k - j) |
0003b180: 20 30 3b 5c 6e 20 20 20 20 20 20 20 20 61 20 3d 0;\n a =
0003b190: 20 73 65 6c 66 2e 77 6f 72 64 73 5b 69 5d 20 7c self.words[i] |
0003b1a0: 20 30 3b 5c 6e 20 20 20 20 20 20 20 20 62 20 3d 0;\n b =
0003b1b0: 20 6e 75 6d 2e 77 6f 72 64 73 5b 6a 5d 20 7c 20 num.words[j] |
0003b1c0: 30 3b 5c 6e 20 20 20 20 20 20 20 20 72 20 3d 20 0;\n r =
0003b1d0: 61 20 2a 20 62 20 2b 20 72 77 6f 72 64 3b 5c 6e a * b + rword;\n
0003b1e0: 20 20 20 20 20 20 20 20 6e 63 61 72 72 79 20 2b ncarry +
0003b1f0: 3d 20 28 72 20 2f 20 30 78 34 30 30 30 30 30 30 = (r / 0x4000000
0003b200: 29 20 7c 20 30 3b 5c 6e 20 20 20 20 20 20 20 20 ) | 0;\n
0003b210: 72 77 6f 72 64 20 3d 20 72 20 26 20 30 78 33 66 rword = r & 0x3f
0003b220: 66 66 66 66 66 3b 5c 6e 20 20 20 20 20 20 7d 5c fffff;\n }\
0003b230: 6e 20 20 20 20 20 20 6f 75 74 2e 77 6f 72 64 73 n out.words
0003b240: 5b 6b 5d 20 3d 20 72 77 6f 72 64 20 7c 20 30 3b [k] = rword | 0;
0003b250: 5c 6e 20 20 20 20 20 20 63 61 72 72 79 20 3d 20 \n carry =
0003b260: 6e 63 61 72 72 79 20 7c 20 30 3b 5c 6e 20 20 20 ncarry | 0;\n
0003b270: 20 7d 5c 6e 20 20 20 20 69 66 20 28 63 61 72 72 }\n if (carr
0003b280: 79 20 21 3d 3d 20 30 29 20 7b 5c 6e 20 20 20 20 y !== 0) {\n
0003b290: 20 20 6f 75 74 2e 77 6f 72 64 73 5b 6b 5d 20 3d out.words[k] =
0003b2a0: 20 63 61 72 72 79 20 7c 20 30 3b 5c 6e 20 20 20 carry | 0;\n
0003b2b0: 20 7d 20 65 6c 73 65 20 7b 5c 6e 20 20 20 20 20 } else {\n
0003b2c0: 20 6f 75 74 2e 6c 65 6e 67 74 68 2d 2d 3b 5c 6e out.length--;\n
0003b2d0: 20 20 20 20 7d 5c 6e 5c 6e 20 20 20 20 72 65 74 }\n\n ret
0003b2e0: 75 72 6e 20 6f 75 74 2e 5f 73 74 72 69 70 28 29 urn out._strip()
0003b2f0: 3b 5c 6e 20 20 7d 5c 6e 5c 6e 20 20 2f 2f 20 54 ;\n }\n\n // T
0003b300: 4f 44 4f 28 69 6e 64 75 74 6e 79 29 3a 20 69 74 ODO(indutny): it
0003b310: 20 6d 61 79 20 62 65 20 72 65 61 73 6f 6e 61 62 may be reasonab
0003b320: 6c 65 20 74 6f 20 6f 6d 69 74 20 69 74 20 66 6f le to omit it fo
0003b330: 72 20 75 73 65 72 73 20 77 68 6f 20 64 6f 6e 27 r users who don'
0003b340: 74 20 6e 65 65 64 5c 6e 20 20 2f 2f 20 74 6f 20 t need\n // to
0003b350: 77 6f 72 6b 20 77 69 74 68 20 32 35 36 2d 62 69 work with 256-bi
0003b360: 74 20 6e 75 6d 62 65 72 73 2c 20 6f 74 68 65 72 t numbers, other
0003b370: 77 69 73 65 20 69 74 20 67 69 76 65 73 20 32 30 wise it gives 20
0003b380: 25 20 69 6d 70 72 6f 76 65 6d 65 6e 74 20 66 6f % improvement fo
0003b390: 72 20 32 35 36 2d 62 69 74 5c 6e 20 20 2f 2f 20 r 256-bit\n //
0003b3a0: 6d 75 6c 74 69 70 6c 69 63 61 74 69 6f 6e 20 28 multiplication (
0003b3b0: 6c 69 6b 65 20 65 6c 6c 69 70 74 69 63 20 73 65 like elliptic se
0003b3c0: 63 70 32 35 36 6b 31 29 2e 5c 6e 20 20 76 61 72 cp256k1).\n var
0003b3d0: 20 63 6f 6d 62 31 30 4d 75 6c 54 6f 20 3d 20 66 comb10MulTo = f
0003b3e0: 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 31 30 4d 75 unction comb10Mu
0003b3f0: 6c 54 6f 20 28 73 65 6c 66 2c 20 6e 75 6d 2c 20 lTo (self, num,
0003b400: 6f 75 74 29 20 7b 5c 6e 20 20 20 20 76 61 72 20 out) {\n var
0003b410: 61 20 3d 20 73 65 6c 66 2e 77 6f 72 64 73 3b 5c a = self.words;\
0003b420: 6e 20 20 20 20 76 61 72 20 62 20 3d 20 6e 75 6d n var b = num
0003b430: 2e 77 6f 72 64 73 3b 5c 6e 20 20 20 20 76 61 72 .words;\n var
0003b440: 20 6f 20 3d 20 6f 75 74 2e 77 6f 72 64 73 3b 5c o = out.words;\
0003b450: 6e 20 20 20 20 76 61 72 20 63 20 3d 20 30 3b 5c n var c = 0;\
0003b460: 6e 20 20 20 20 76 61 72 20 6c 6f 3b 5c 6e 20 20 n var lo;\n
0003b470: 20 20 76 61 72 20 6d 69 64 3b 5c 6e 20 20 20 20 var mid;\n
0003b480: 76 61 72 20 68 69 3b 5c 6e 20 20 20 20 76 61 72 var hi;\n var
0003b490: 20 61 30 20 3d 20 61 5b 30 5d 20 7c 20 30 3b 5c a0 = a[0] | 0;\
0003b4a0: 6e 20 20 20 20 76 61 72 20 61 6c 30 20 3d 20 61 n var al0 = a
0003b4b0: 30 20 26 20 30 78 31 66 66 66 3b 5c 6e 20 20 20 0 & 0x1fff;\n
0003b4c0: 20 76 61 72 20 61 68 30 20 3d 20 61 30 20 3e 3e var ah0 = a0 >>
0003b4d0: 3e 20 31 33 3b 5c 6e 20 20 20 20 76 61 72 20 61 > 13;\n var a
0003b4e0: 31 20 3d 20 61 5b 31 5d 20 7c 20 30 3b 5c 6e 20 1 = a[1] | 0;\n
0003b4f0: 20 20 20 76 61 72 20 61 6c 31 20 3d 20 61 31 20 var al1 = a1
0003b500: 26 20 30 78 31 66 66 66 3b 5c 6e 20 20 20 20 76 & 0x1fff;\n v
0003b510: 61 72 20 61 68 31 20 3d 20 61 31 20 3e 3e 3e 20 ar ah1 = a1 >>>
0003b520: 31 33 3b 5c 6e 20 20 20 20 76 61 72 20 61 32 20 13;\n var a2
0003b530: 3d 20 61 5b 32 5d 20 7c 20 30 3b 5c 6e 20 20 20 = a[2] | 0;\n
0003b540: 20 76 61 72 20 61 6c 32 20 3d 20 61 32 20 26 20 var al2 = a2 &
0003b550: 30 78 31 66 66 66 3b 5c 6e 20 20 20 20 76 61 72 0x1fff;\n var
0003b560: 20 61 68 32 20 3d 20 61 32 20 3e 3e 3e 20 31 33 ah2 = a2 >>> 13
0003b570: 3b 5c 6e 20 20 20 20 76 61 72 20 61 33 20 3d 20 ;\n var a3 =
0003b580: 61 5b 33 5d 20 7c 20 30 3b 5c 6e 20 20 20 20 76 a[3] | 0;\n v
0003b590: 61 72 20 61 6c 33 20 3d 20 61 33 20 26 20 30 78 ar al3 = a3 & 0x
0003b5a0: 31 66 66 66 3b 5c 6e 20 20 20 20 76 61 72 20 61 1fff;\n var a
0003b5b0: 68 33 20 3d 20 61 33 20 3e 3e 3e 20 31 33 3b 5c h3 = a3 >>> 13;\
0003b5c0: 6e 20 20 20 20 76 61 72 20 61 34 20 3d 20 61 5b n var a4 = a[
0003b5d0: 34 5d 20 7c 20 30 3b 5c 6e 20 20 20 20 76 61 72 4] | 0;\n var
0003b5e0: 20 61 6c 34 20 3d 20 61 34 20 26 20 30 78 31 66 al4 = a4 & 0x1f
0003b5f0: 66 66 3b 5c 6e 20 20 20 20 76 61 72 20 61 68 34 ff;\n var ah4
0003b600: 20 3d 20 61 34 20 3e 3e 3e 20 31 33 3b 5c 6e 20 = a4 >>> 13;\n
0003b610: 20 20 20 76 61 72 20 61 35 20 3d 20 61 5b 35 5d var a5 = a[5]
0003b620: 20 7c 20 30 3b 5c 6e 20 20 20 20 76 61 72 20 61 | 0;\n var a
0003b630: 6c 35 20 3d 20 61 35 20 26 20 30 78 31 66 66 66 l5 = a5 & 0x1fff
0003b640: 3b 5c 6e 20 20 20 20 76 61 72 20 61 68 35 20 3d ;\n var ah5 =
0003b650: 20 61 35 20 3e 3e 3e 20 31 33 3b 5c 6e 20 20 20 a5 >>> 13;\n
0003b660: 20 76 61 72 20 61 36 20 3d 20 61 5b 36 5d 20 7c var a6 = a[6] |
0003b670: 20 30 3b 5c 6e 20 20 20 20 76 61 72 20 61 6c 36 0;\n var al6
0003b680: 20 3d 20 61 36 20 26 20 30 78 31 66 66 66 3b 5c = a6 & 0x1fff;\
0003b690: 6e 20 20 20 20 76 61 72 20 61 68 36 20 3d 20 61 n var ah6 = a
0003b6a0: 36 20 3e 3e 3e 20 31 33 3b 5c 6e 20 20 20 20 76 6 >>> 13;\n v
0003b6b0: 61 72 20 61 37 20 3d 20 61 5b 37 5d 20 7c 20 30 ar a7 = a[7] | 0
0003b6c0: 3b 5c 6e 20 20 20 20 76 61 72 20 61 6c 37 20 3d ;\n var al7 =
0003b6d0: 20 61 37 20 26 20 30 78 31 66 66 66 3b 5c 6e 20 a7 & 0x1fff;\n
0003b6e0: 20 20 20 76 61 72 20 61 68 37 20 3d 20 61 37 20 var ah7 = a7
0003b6f0: 3e 3e 3e 20 31 33 3b 5c 6e 20 20 20 20 76 61 72 >>> 13;\n var
0003b700: 20 61 38 20 3d 20 61 5b 38 5d 20 7c 20 30 3b 5c a8 = a[8] | 0;\
0003b710: 6e 20 20 20 20 76 61 72 20 61 6c 38 20 3d 20 61 n var al8 = a
0003b720: 38 20 26 20 30 78 31 66 66 66 3b 5c 6e 20 20 20 8 & 0x1fff;\n
0003b730: 20 76 61 72 20 61 68 38 20 3d 20 61 38 20 3e 3e var ah8 = a8 >>
0003b740: 3e 20 31 33 3b 5c 6e 20 20 20 20 76 61 72 20 61 > 13;\n var a
0003b750: 39 20 3d 20 61 5b 39 5d 20 7c 20 30 3b 5c 6e 20 9 = a[9] | 0;\n
0003b760: 20 20 20 76 61 72 20 61 6c 39 20 3d 20 61 39 20 var al9 = a9
0003b770: 26 20 30 78 31 66 66 66 3b 5c 6e 20 20 20 20 76 & 0x1fff;\n v
0003b780: 61 72 20 61 68 39 20 3d 20 61 39 20 3e 3e 3e 20 ar ah9 = a9 >>>
0003b790: 31 33 3b 5c 6e 20 20 20 20 76 61 72 20 62 30 20 13;\n var b0
0003b7a0: 3d 20 62 5b 30 5d 20 7c 20 30 3b 5c 6e 20 20 20 = b[0] | 0;\n
0003b7b0: 20 76 61 72 20 62 6c 30 20 3d 20 62 30 20 26 20 var bl0 = b0 &
0003b7c0: 30 78 31 66 66 66 3b 5c 6e 20 20 20 20 76 61 72 0x1fff;\n var
0003b7d0: 20 62 68 30 20 3d 20 62 30 20 3e 3e 3e 20 31 33 bh0 = b0 >>> 13
0003b7e0: 3b 5c 6e 20 20 20 20 76 61 72 20 62 31 20 3d 20 ;\n var b1 =
0003b7f0: 62 5b 31 5d 20 7c 20 30 3b 5c 6e 20 20 20 20 76 b[1] | 0;\n v
0003b800: 61 72 20 62 6c 31 20 3d 20 62 31 20 26 20 30 78 ar bl1 = b1 & 0x
0003b810: 31 66 66 66 3b 5c 6e 20 20 20 20 76 61 72 20 62 1fff;\n var b
0003b820: 68 31 20 3d 20 62 31 20 3e 3e 3e 20 31 33 3b 5c h1 = b1 >>> 13;\
0003b830: 6e 20 20 20 20 76 61 72 20 62 32 20 3d 20 62 5b n var b2 = b[
0003b840: 32 5d 20 7c 20 30 3b 5c 6e 20 20 20 20 76 61 72 2] | 0;\n var
0003b850: 20 62 6c 32 20 3d 20 62 32 20 26 20 30 78 31 66 bl2 = b2 & 0x1f
0003b860: 66 66 3b 5c 6e 20 20 20 20 76 61 72 20 62 68 32 ff;\n var bh2
0003b870: 20 3d 20 62 32 20 3e 3e 3e 20 31 33 3b 5c 6e 20 = b2 >>> 13;\n
0003b880: 20 20 20 76 61 72 20 62 33 20 3d 20 62 5b 33 5d var b3 = b[3]
0003b890: 20 7c 20 30 3b 5c 6e 20 20 20 20 76 61 72 20 62 | 0;\n var b
0003b8a0: 6c 33 20 3d 20 62 33 20 26 20 30 78 31 66 66 66 l3 = b3 & 0x1fff
0003b8b0: 3b 5c 6e 20 20 20 20 76 61 72 20 62 68 33 20 3d ;\n var bh3 =
0003b8c0: 20 62 33 20 3e 3e 3e 20 31 33 3b 5c 6e 20 20 20 b3 >>> 13;\n
0003b8d0: 20 76 61 72 20 62 34 20 3d 20 62 5b 34 5d 20 7c var b4 = b[4] |
0003b8e0: 20 30 3b 5c 6e 20 20 20 20 76 61 72 20 62 6c 34 0;\n var bl4
0003b8f0: 20 3d 20 62 34 20 26 20 30 78 31 66 66 66 3b 5c = b4 & 0x1fff;\
0003b900: 6e 20 20 20 20 76 61 72 20 62 68 34 20 3d 20 62 n var bh4 = b
0003b910: 34 20 3e 3e 3e 20 31 33 3b 5c 6e 20 20 20 20 76 4 >>> 13;\n v
0003b920: 61 72 20 62 35 20 3d 20 62 5b 35 5d 20 7c 20 30 ar b5 = b[5] | 0
0003b930: 3b 5c 6e 20 20 20 20 76 61 72 20 62 6c 35 20 3d ;\n var bl5 =
0003b940: 20 62 35 20 26 20 30 78 31 66 66 66 3b 5c 6e 20 b5 & 0x1fff;\n
0003b950: 20 20 20 76 61 72 20 62 68 35 20 3d 20 62 35 20 var bh5 = b5
0003b960: 3e 3e 3e 20 31 33 3b 5c 6e 20 20 20 20 76 61 72 >>> 13;\n var
0003b970: 20 62 36 20 3d 20 62 5b 36 5d 20 7c 20 30 3b 5c b6 = b[6] | 0;\
0003b980: 6e 20 20 20 20 76 61 72 20 62 6c 36 20 3d 20 62 n var bl6 = b
0003b990: 36 20 26 20 30 78 31 66 66 66 3b 5c 6e 20 20 20 6 & 0x1fff;\n
0003b9a0: 20 76 61 72 20 62 68 36 20 3d 20 62 36 20 3e 3e var bh6 = b6 >>
0003b9b0: 3e 20 31 33 3b 5c 6e 20 20 20 20 76 61 72 20 62 > 13;\n var b
0003b9c0: 37 20 3d 20 62 5b 37 5d 20 7c 20 30 3b 5c 6e 20 7 = b[7] | 0;\n
0003b9d0: 20 20 20 76 61 72 20 62 6c 37 20 3d 20 62 37 20 var bl7 = b7
0003b9e0: 26 20 30 78 31 66 66 66 3b 5c 6e 20 20 20 20 76 & 0x1fff;\n v
0003b9f0: 61 72 20 62 68 37 20 3d 20 62 37 20 3e 3e 3e 20 ar bh7 = b7 >>>
0003ba00: 31 33 3b 5c 6e 20 20 20 20 76 61 72 20 62 38 20 13;\n var b8
0003ba10: 3d 20 62 5b 38 5d 20 7c 20 30 3b 5c 6e 20 20 20 = b[8] | 0;\n
0003ba20: 20 76 61 72 20 62 6c 38 20 3d 20 62 38 20 26 20 var bl8 = b8 &
0003ba30: 30 78 31 66 66 66 3b 5c 6e 20 20 20 20 76 61 72 0x1fff;\n var
0003ba40: 20 62 68 38 20 3d 20 62 38 20 3e 3e 3e 20 31 33 bh8 = b8 >>> 13
0003ba50: 3b 5c 6e 20 20 20 20 76 61 72 20 62 39 20 3d 20 ;\n var b9 =
0003ba60: 62 5b 39 5d 20 7c 20 30 3b 5c 6e 20 20 20 20 76 b[9] | 0;\n v
0003ba70: 61 72 20 62 6c 39 20 3d 20 62 39 20 26 20 30 78 ar bl9 = b9 & 0x
0003ba80: 31 66 66 66 3b 5c 6e 20 20 20 20 76 61 72 20 62 1fff;\n var b
0003ba90: 68 39 20 3d 20 62 39 20 3e 3e 3e 20 31 33 3b 5c h9 = b9 >>> 13;\
0003baa0: 6e 5c 6e 20 20 20 20 6f 75 74 2e 6e 65 67 61 74 n\n out.negat
0003bab0: 69 76 65 20 3d 20 73 65 6c 66 2e 6e 65 67 61 74 ive = self.negat
0003bac0: 69 76 65 20 5e 20 6e 75 6d 2e 6e 65 67 61 74 69 ive ^ num.negati
0003bad0: 76 65 3b 5c 6e 20 20 20 20 6f 75 74 2e 6c 65 6e ve;\n out.len
0003bae0: 67 74 68 20 3d 20 31 39 3b 5c 6e 20 20 20 20 2f gth = 19;\n /
0003baf0: 2a 20 6b 20 3d 20 30 20 2a 2f 5c 6e 20 20 20 20 * k = 0 */\n
0003bb00: 6c 6f 20 3d 20 4d 61 74 68 2e 69 6d 75 6c 28 61 lo = Math.imul(a
0003bb10: 6c 30 2c 20 62 6c 30 29 3b 5c 6e 20 20 20 20 6d l0, bl0);\n m
0003bb20: 69 64 20 3d 20 4d 61 74 68 2e 69 6d 75 6c 28 61 id = Math.imul(a
0003bb30: 6c 30 2c 20 62 68 30 29 3b 5c 6e 20 20 20 20 6d l0, bh0);\n m
0003bb40: 69 64 20 3d 20 28 6d 69 64 20 2b 20 4d 61 74 68 id = (mid + Math
0003bb50: 2e 69 6d 75 6c 28 61 68 30 2c 20 62 6c 30 29 29 .imul(ah0, bl0))
0003bb60: 20 7c 20 30 3b 5c 6e 20 20 20 20 68 69 20 3d 20 | 0;\n hi =
0003bb70: 4d 61 74 68 2e 69 6d 75 6c 28 61 68 30 2c 20 62 Math.imul(ah0, b
0003bb80: 68 30 29 3b 5c 6e 20 20 20 20 76 61 72 20 77 30 h0);\n var w0
0003bb90: 20 3d 20 28 28 28 63 20 2b 20 6c 6f 29 20 7c 20 = (((c + lo) |
0003bba0: 30 29 20 2b 20 28 28 6d 69 64 20 26 20 30 78 31 0) + ((mid & 0x1
0003bbb0: 66 66 66 29 20 3c 3c 20 31 33 29 29 20 7c 20 30 fff) << 13)) | 0
0003bbc0: 3b 5c 6e 20 20 20 20 63 20 3d 20 28 28 28 68 69 ;\n c = (((hi
0003bbd0: 20 2b 20 28 6d 69 64 20 3e 3e 3e 20 31 33 29 29 + (mid >>> 13))
0003bbe0: 20 7c 20 30 29 20 2b 20 28 77 30 20 3e 3e 3e 20 | 0) + (w0 >>>
0003bbf0: 32 36 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 77 26)) | 0;\n w
0003bc00: 30 20 26 3d 20 30 78 33 66 66 66 66 66 66 3b 5c 0 &= 0x3ffffff;\
0003bc10: 6e 20 20 20 20 2f 2a 20 6b 20 3d 20 31 20 2a 2f n /* k = 1 */
0003bc20: 5c 6e 20 20 20 20 6c 6f 20 3d 20 4d 61 74 68 2e \n lo = Math.
0003bc30: 69 6d 75 6c 28 61 6c 31 2c 20 62 6c 30 29 3b 5c imul(al1, bl0);\
0003bc40: 6e 20 20 20 20 6d 69 64 20 3d 20 4d 61 74 68 2e n mid = Math.
0003bc50: 69 6d 75 6c 28 61 6c 31 2c 20 62 68 30 29 3b 5c imul(al1, bh0);\
0003bc60: 6e 20 20 20 20 6d 69 64 20 3d 20 28 6d 69 64 20 n mid = (mid
0003bc70: 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 68 31 2c + Math.imul(ah1,
0003bc80: 20 62 6c 30 29 29 20 7c 20 30 3b 5c 6e 20 20 20 bl0)) | 0;\n
0003bc90: 20 68 69 20 3d 20 4d 61 74 68 2e 69 6d 75 6c 28 hi = Math.imul(
0003bca0: 61 68 31 2c 20 62 68 30 29 3b 5c 6e 20 20 20 20 ah1, bh0);\n
0003bcb0: 6c 6f 20 3d 20 28 6c 6f 20 2b 20 4d 61 74 68 2e lo = (lo + Math.
0003bcc0: 69 6d 75 6c 28 61 6c 30 2c 20 62 6c 31 29 29 20 imul(al0, bl1))
0003bcd0: 7c 20 30 3b 5c 6e 20 20 20 20 6d 69 64 20 3d 20 | 0;\n mid =
0003bce0: 28 6d 69 64 20 2b 20 4d 61 74 68 2e 69 6d 75 6c (mid + Math.imul
0003bcf0: 28 61 6c 30 2c 20 62 68 31 29 29 20 7c 20 30 3b (al0, bh1)) | 0;
0003bd00: 5c 6e 20 20 20 20 6d 69 64 20 3d 20 28 6d 69 64 \n mid = (mid
0003bd10: 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 68 30 + Math.imul(ah0
0003bd20: 2c 20 62 6c 31 29 29 20 7c 20 30 3b 5c 6e 20 20 , bl1)) | 0;\n
0003bd30: 20 20 68 69 20 3d 20 28 68 69 20 2b 20 4d 61 74 hi = (hi + Mat
0003bd40: 68 2e 69 6d 75 6c 28 61 68 30 2c 20 62 68 31 29 h.imul(ah0, bh1)
0003bd50: 29 20 7c 20 30 3b 5c 6e 20 20 20 20 76 61 72 20 ) | 0;\n var
0003bd60: 77 31 20 3d 20 28 28 28 63 20 2b 20 6c 6f 29 20 w1 = (((c + lo)
0003bd70: 7c 20 30 29 20 2b 20 28 28 6d 69 64 20 26 20 30 | 0) + ((mid & 0
0003bd80: 78 31 66 66 66 29 20 3c 3c 20 31 33 29 29 20 7c x1fff) << 13)) |
0003bd90: 20 30 3b 5c 6e 20 20 20 20 63 20 3d 20 28 28 28 0;\n c = (((
0003bda0: 68 69 20 2b 20 28 6d 69 64 20 3e 3e 3e 20 31 33 hi + (mid >>> 13
0003bdb0: 29 29 20 7c 20 30 29 20 2b 20 28 77 31 20 3e 3e )) | 0) + (w1 >>
0003bdc0: 3e 20 32 36 29 29 20 7c 20 30 3b 5c 6e 20 20 20 > 26)) | 0;\n
0003bdd0: 20 77 31 20 26 3d 20 30 78 33 66 66 66 66 66 66 w1 &= 0x3ffffff
0003bde0: 3b 5c 6e 20 20 20 20 2f 2a 20 6b 20 3d 20 32 20 ;\n /* k = 2
0003bdf0: 2a 2f 5c 6e 20 20 20 20 6c 6f 20 3d 20 4d 61 74 */\n lo = Mat
0003be00: 68 2e 69 6d 75 6c 28 61 6c 32 2c 20 62 6c 30 29 h.imul(al2, bl0)
0003be10: 3b 5c 6e 20 20 20 20 6d 69 64 20 3d 20 4d 61 74 ;\n mid = Mat
0003be20: 68 2e 69 6d 75 6c 28 61 6c 32 2c 20 62 68 30 29 h.imul(al2, bh0)
0003be30: 3b 5c 6e 20 20 20 20 6d 69 64 20 3d 20 28 6d 69 ;\n mid = (mi
0003be40: 64 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 68 d + Math.imul(ah
0003be50: 32 2c 20 62 6c 30 29 29 20 7c 20 30 3b 5c 6e 20 2, bl0)) | 0;\n
0003be60: 20 20 20 68 69 20 3d 20 4d 61 74 68 2e 69 6d 75 hi = Math.imu
0003be70: 6c 28 61 68 32 2c 20 62 68 30 29 3b 5c 6e 20 20 l(ah2, bh0);\n
0003be80: 20 20 6c 6f 20 3d 20 28 6c 6f 20 2b 20 4d 61 74 lo = (lo + Mat
0003be90: 68 2e 69 6d 75 6c 28 61 6c 31 2c 20 62 6c 31 29 h.imul(al1, bl1)
0003bea0: 29 20 7c 20 30 3b 5c 6e 20 20 20 20 6d 69 64 20 ) | 0;\n mid
0003beb0: 3d 20 28 6d 69 64 20 2b 20 4d 61 74 68 2e 69 6d = (mid + Math.im
0003bec0: 75 6c 28 61 6c 31 2c 20 62 68 31 29 29 20 7c 20 ul(al1, bh1)) |
0003bed0: 30 3b 5c 6e 20 20 20 20 6d 69 64 20 3d 20 28 6d 0;\n mid = (m
0003bee0: 69 64 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 id + Math.imul(a
0003bef0: 68 31 2c 20 62 6c 31 29 29 20 7c 20 30 3b 5c 6e h1, bl1)) | 0;\n
0003bf00: 20 20 20 20 68 69 20 3d 20 28 68 69 20 2b 20 4d hi = (hi + M
0003bf10: 61 74 68 2e 69 6d 75 6c 28 61 68 31 2c 20 62 68 ath.imul(ah1, bh
0003bf20: 31 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 6c 6f 1)) | 0;\n lo
0003bf30: 20 3d 20 28 6c 6f 20 2b 20 4d 61 74 68 2e 69 6d = (lo + Math.im
0003bf40: 75 6c 28 61 6c 30 2c 20 62 6c 32 29 29 20 7c 20 ul(al0, bl2)) |
0003bf50: 30 3b 5c 6e 20 20 20 20 6d 69 64 20 3d 20 28 6d 0;\n mid = (m
0003bf60: 69 64 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 id + Math.imul(a
0003bf70: 6c 30 2c 20 62 68 32 29 29 20 7c 20 30 3b 5c 6e l0, bh2)) | 0;\n
0003bf80: 20 20 20 20 6d 69 64 20 3d 20 28 6d 69 64 20 2b mid = (mid +
0003bf90: 20 4d 61 74 68 2e 69 6d 75 6c 28 61 68 30 2c 20 Math.imul(ah0,
0003bfa0: 62 6c 32 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 bl2)) | 0;\n
0003bfb0: 68 69 20 3d 20 28 68 69 20 2b 20 4d 61 74 68 2e hi = (hi + Math.
0003bfc0: 69 6d 75 6c 28 61 68 30 2c 20 62 68 32 29 29 20 imul(ah0, bh2))
0003bfd0: 7c 20 30 3b 5c 6e 20 20 20 20 76 61 72 20 77 32 | 0;\n var w2
0003bfe0: 20 3d 20 28 28 28 63 20 2b 20 6c 6f 29 20 7c 20 = (((c + lo) |
0003bff0: 30 29 20 2b 20 28 28 6d 69 64 20 26 20 30 78 31 0) + ((mid & 0x1
0003c000: 66 66 66 29 20 3c 3c 20 31 33 29 29 20 7c 20 30 fff) << 13)) | 0
0003c010: 3b 5c 6e 20 20 20 20 63 20 3d 20 28 28 28 68 69 ;\n c = (((hi
0003c020: 20 2b 20 28 6d 69 64 20 3e 3e 3e 20 31 33 29 29 + (mid >>> 13))
0003c030: 20 7c 20 30 29 20 2b 20 28 77 32 20 3e 3e 3e 20 | 0) + (w2 >>>
0003c040: 32 36 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 77 26)) | 0;\n w
0003c050: 32 20 26 3d 20 30 78 33 66 66 66 66 66 66 3b 5c 2 &= 0x3ffffff;\
0003c060: 6e 20 20 20 20 2f 2a 20 6b 20 3d 20 33 20 2a 2f n /* k = 3 */
0003c070: 5c 6e 20 20 20 20 6c 6f 20 3d 20 4d 61 74 68 2e \n lo = Math.
0003c080: 69 6d 75 6c 28 61 6c 33 2c 20 62 6c 30 29 3b 5c imul(al3, bl0);\
0003c090: 6e 20 20 20 20 6d 69 64 20 3d 20 4d 61 74 68 2e n mid = Math.
0003c0a0: 69 6d 75 6c 28 61 6c 33 2c 20 62 68 30 29 3b 5c imul(al3, bh0);\
0003c0b0: 6e 20 20 20 20 6d 69 64 20 3d 20 28 6d 69 64 20 n mid = (mid
0003c0c0: 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 68 33 2c + Math.imul(ah3,
0003c0d0: 20 62 6c 30 29 29 20 7c 20 30 3b 5c 6e 20 20 20 bl0)) | 0;\n
0003c0e0: 20 68 69 20 3d 20 4d 61 74 68 2e 69 6d 75 6c 28 hi = Math.imul(
0003c0f0: 61 68 33 2c 20 62 68 30 29 3b 5c 6e 20 20 20 20 ah3, bh0);\n
0003c100: 6c 6f 20 3d 20 28 6c 6f 20 2b 20 4d 61 74 68 2e lo = (lo + Math.
0003c110: 69 6d 75 6c 28 61 6c 32 2c 20 62 6c 31 29 29 20 imul(al2, bl1))
0003c120: 7c 20 30 3b 5c 6e 20 20 20 20 6d 69 64 20 3d 20 | 0;\n mid =
0003c130: 28 6d 69 64 20 2b 20 4d 61 74 68 2e 69 6d 75 6c (mid + Math.imul
0003c140: 28 61 6c 32 2c 20 62 68 31 29 29 20 7c 20 30 3b (al2, bh1)) | 0;
0003c150: 5c 6e 20 20 20 20 6d 69 64 20 3d 20 28 6d 69 64 \n mid = (mid
0003c160: 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 68 32 + Math.imul(ah2
0003c170: 2c 20 62 6c 31 29 29 20 7c 20 30 3b 5c 6e 20 20 , bl1)) | 0;\n
0003c180: 20 20 68 69 20 3d 20 28 68 69 20 2b 20 4d 61 74 hi = (hi + Mat
0003c190: 68 2e 69 6d 75 6c 28 61 68 32 2c 20 62 68 31 29 h.imul(ah2, bh1)
0003c1a0: 29 20 7c 20 30 3b 5c 6e 20 20 20 20 6c 6f 20 3d ) | 0;\n lo =
0003c1b0: 20 28 6c 6f 20 2b 20 4d 61 74 68 2e 69 6d 75 6c (lo + Math.imul
0003c1c0: 28 61 6c 31 2c 20 62 6c 32 29 29 20 7c 20 30 3b (al1, bl2)) | 0;
0003c1d0: 5c 6e 20 20 20 20 6d 69 64 20 3d 20 28 6d 69 64 \n mid = (mid
0003c1e0: 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 6c 31 + Math.imul(al1
0003c1f0: 2c 20 62 68 32 29 29 20 7c 20 30 3b 5c 6e 20 20 , bh2)) | 0;\n
0003c200: 20 20 6d 69 64 20 3d 20 28 6d 69 64 20 2b 20 4d mid = (mid + M
0003c210: 61 74 68 2e 69 6d 75 6c 28 61 68 31 2c 20 62 6c ath.imul(ah1, bl
0003c220: 32 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 68 69 2)) | 0;\n hi
0003c230: 20 3d 20 28 68 69 20 2b 20 4d 61 74 68 2e 69 6d = (hi + Math.im
0003c240: 75 6c 28 61 68 31 2c 20 62 68 32 29 29 20 7c 20 ul(ah1, bh2)) |
0003c250: 30 3b 5c 6e 20 20 20 20 6c 6f 20 3d 20 28 6c 6f 0;\n lo = (lo
0003c260: 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 6c 30 + Math.imul(al0
0003c270: 2c 20 62 6c 33 29 29 20 7c 20 30 3b 5c 6e 20 20 , bl3)) | 0;\n
0003c280: 20 20 6d 69 64 20 3d 20 28 6d 69 64 20 2b 20 4d mid = (mid + M
0003c290: 61 74 68 2e 69 6d 75 6c 28 61 6c 30 2c 20 62 68 ath.imul(al0, bh
0003c2a0: 33 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 6d 69 3)) | 0;\n mi
0003c2b0: 64 20 3d 20 28 6d 69 64 20 2b 20 4d 61 74 68 2e d = (mid + Math.
0003c2c0: 69 6d 75 6c 28 61 68 30 2c 20 62 6c 33 29 29 20 imul(ah0, bl3))
0003c2d0: 7c 20 30 3b 5c 6e 20 20 20 20 68 69 20 3d 20 28 | 0;\n hi = (
0003c2e0: 68 69 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 hi + Math.imul(a
0003c2f0: 68 30 2c 20 62 68 33 29 29 20 7c 20 30 3b 5c 6e h0, bh3)) | 0;\n
0003c300: 20 20 20 20 76 61 72 20 77 33 20 3d 20 28 28 28 var w3 = (((
0003c310: 63 20 2b 20 6c 6f 29 20 7c 20 30 29 20 2b 20 28 c + lo) | 0) + (
0003c320: 28 6d 69 64 20 26 20 30 78 31 66 66 66 29 20 3c (mid & 0x1fff) <
0003c330: 3c 20 31 33 29 29 20 7c 20 30 3b 5c 6e 20 20 20 < 13)) | 0;\n
0003c340: 20 63 20 3d 20 28 28 28 68 69 20 2b 20 28 6d 69 c = (((hi + (mi
0003c350: 64 20 3e 3e 3e 20 31 33 29 29 20 7c 20 30 29 20 d >>> 13)) | 0)
0003c360: 2b 20 28 77 33 20 3e 3e 3e 20 32 36 29 29 20 7c + (w3 >>> 26)) |
0003c370: 20 30 3b 5c 6e 20 20 20 20 77 33 20 26 3d 20 30 0;\n w3 &= 0
0003c380: 78 33 66 66 66 66 66 66 3b 5c 6e 20 20 20 20 2f x3ffffff;\n /
0003c390: 2a 20 6b 20 3d 20 34 20 2a 2f 5c 6e 20 20 20 20 * k = 4 */\n
0003c3a0: 6c 6f 20 3d 20 4d 61 74 68 2e 69 6d 75 6c 28 61 lo = Math.imul(a
0003c3b0: 6c 34 2c 20 62 6c 30 29 3b 5c 6e 20 20 20 20 6d l4, bl0);\n m
0003c3c0: 69 64 20 3d 20 4d 61 74 68 2e 69 6d 75 6c 28 61 id = Math.imul(a
0003c3d0: 6c 34 2c 20 62 68 30 29 3b 5c 6e 20 20 20 20 6d l4, bh0);\n m
0003c3e0: 69 64 20 3d 20 28 6d 69 64 20 2b 20 4d 61 74 68 id = (mid + Math
0003c3f0: 2e 69 6d 75 6c 28 61 68 34 2c 20 62 6c 30 29 29 .imul(ah4, bl0))
0003c400: 20 7c 20 30 3b 5c 6e 20 20 20 20 68 69 20 3d 20 | 0;\n hi =
0003c410: 4d 61 74 68 2e 69 6d 75 6c 28 61 68 34 2c 20 62 Math.imul(ah4, b
0003c420: 68 30 29 3b 5c 6e 20 20 20 20 6c 6f 20 3d 20 28 h0);\n lo = (
0003c430: 6c 6f 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 lo + Math.imul(a
0003c440: 6c 33 2c 20 62 6c 31 29 29 20 7c 20 30 3b 5c 6e l3, bl1)) | 0;\n
0003c450: 20 20 20 20 6d 69 64 20 3d 20 28 6d 69 64 20 2b mid = (mid +
0003c460: 20 4d 61 74 68 2e 69 6d 75 6c 28 61 6c 33 2c 20 Math.imul(al3,
0003c470: 62 68 31 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 bh1)) | 0;\n
0003c480: 6d 69 64 20 3d 20 28 6d 69 64 20 2b 20 4d 61 74 mid = (mid + Mat
0003c490: 68 2e 69 6d 75 6c 28 61 68 33 2c 20 62 6c 31 29 h.imul(ah3, bl1)
0003c4a0: 29 20 7c 20 30 3b 5c 6e 20 20 20 20 68 69 20 3d ) | 0;\n hi =
0003c4b0: 20 28 68 69 20 2b 20 4d 61 74 68 2e 69 6d 75 6c (hi + Math.imul
0003c4c0: 28 61 68 33 2c 20 62 68 31 29 29 20 7c 20 30 3b (ah3, bh1)) | 0;
0003c4d0: 5c 6e 20 20 20 20 6c 6f 20 3d 20 28 6c 6f 20 2b \n lo = (lo +
0003c4e0: 20 4d 61 74 68 2e 69 6d 75 6c 28 61 6c 32 2c 20 Math.imul(al2,
0003c4f0: 62 6c 32 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 bl2)) | 0;\n
0003c500: 6d 69 64 20 3d 20 28 6d 69 64 20 2b 20 4d 61 74 mid = (mid + Mat
0003c510: 68 2e 69 6d 75 6c 28 61 6c 32 2c 20 62 68 32 29 h.imul(al2, bh2)
0003c520: 29 20 7c 20 30 3b 5c 6e 20 20 20 20 6d 69 64 20 ) | 0;\n mid
0003c530: 3d 20 28 6d 69 64 20 2b 20 4d 61 74 68 2e 69 6d = (mid + Math.im
0003c540: 75 6c 28 61 68 32 2c 20 62 6c 32 29 29 20 7c 20 ul(ah2, bl2)) |
0003c550: 30 3b 5c 6e 20 20 20 20 68 69 20 3d 20 28 68 69 0;\n hi = (hi
0003c560: 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 68 32 + Math.imul(ah2
0003c570: 2c 20 62 68 32 29 29 20 7c 20 30 3b 5c 6e 20 20 , bh2)) | 0;\n
0003c580: 20 20 6c 6f 20 3d 20 28 6c 6f 20 2b 20 4d 61 74 lo = (lo + Mat
0003c590: 68 2e 69 6d 75 6c 28 61 6c 31 2c 20 62 6c 33 29 h.imul(al1, bl3)
0003c5a0: 29 20 7c 20 30 3b 5c 6e 20 20 20 20 6d 69 64 20 ) | 0;\n mid
0003c5b0: 3d 20 28 6d 69 64 20 2b 20 4d 61 74 68 2e 69 6d = (mid + Math.im
0003c5c0: 75 6c 28 61 6c 31 2c 20 62 68 33 29 29 20 7c 20 ul(al1, bh3)) |
0003c5d0: 30 3b 5c 6e 20 20 20 20 6d 69 64 20 3d 20 28 6d 0;\n mid = (m
0003c5e0: 69 64 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 id + Math.imul(a
0003c5f0: 68 31 2c 20 62 6c 33 29 29 20 7c 20 30 3b 5c 6e h1, bl3)) | 0;\n
0003c600: 20 20 20 20 68 69 20 3d 20 28 68 69 20 2b 20 4d hi = (hi + M
0003c610: 61 74 68 2e 69 6d 75 6c 28 61 68 31 2c 20 62 68 ath.imul(ah1, bh
0003c620: 33 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 6c 6f 3)) | 0;\n lo
0003c630: 20 3d 20 28 6c 6f 20 2b 20 4d 61 74 68 2e 69 6d = (lo + Math.im
0003c640: 75 6c 28 61 6c 30 2c 20 62 6c 34 29 29 20 7c 20 ul(al0, bl4)) |
0003c650: 30 3b 5c 6e 20 20 20 20 6d 69 64 20 3d 20 28 6d 0;\n mid = (m
0003c660: 69 64 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 id + Math.imul(a
0003c670: 6c 30 2c 20 62 68 34 29 29 20 7c 20 30 3b 5c 6e l0, bh4)) | 0;\n
0003c680: 20 20 20 20 6d 69 64 20 3d 20 28 6d 69 64 20 2b mid = (mid +
0003c690: 20 4d 61 74 68 2e 69 6d 75 6c 28 61 68 30 2c 20 Math.imul(ah0,
0003c6a0: 62 6c 34 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 bl4)) | 0;\n
0003c6b0: 68 69 20 3d 20 28 68 69 20 2b 20 4d 61 74 68 2e hi = (hi + Math.
0003c6c0: 69 6d 75 6c 28 61 68 30 2c 20 62 68 34 29 29 20 imul(ah0, bh4))
0003c6d0: 7c 20 30 3b 5c 6e 20 20 20 20 76 61 72 20 77 34 | 0;\n var w4
0003c6e0: 20 3d 20 28 28 28 63 20 2b 20 6c 6f 29 20 7c 20 = (((c + lo) |
0003c6f0: 30 29 20 2b 20 28 28 6d 69 64 20 26 20 30 78 31 0) + ((mid & 0x1
0003c700: 66 66 66 29 20 3c 3c 20 31 33 29 29 20 7c 20 30 fff) << 13)) | 0
0003c710: 3b 5c 6e 20 20 20 20 63 20 3d 20 28 28 28 68 69 ;\n c = (((hi
0003c720: 20 2b 20 28 6d 69 64 20 3e 3e 3e 20 31 33 29 29 + (mid >>> 13))
0003c730: 20 7c 20 30 29 20 2b 20 28 77 34 20 3e 3e 3e 20 | 0) + (w4 >>>
0003c740: 32 36 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 77 26)) | 0;\n w
0003c750: 34 20 26 3d 20 30 78 33 66 66 66 66 66 66 3b 5c 4 &= 0x3ffffff;\
0003c760: 6e 20 20 20 20 2f 2a 20 6b 20 3d 20 35 20 2a 2f n /* k = 5 */
0003c770: 5c 6e 20 20 20 20 6c 6f 20 3d 20 4d 61 74 68 2e \n lo = Math.
0003c780: 69 6d 75 6c 28 61 6c 35 2c 20 62 6c 30 29 3b 5c imul(al5, bl0);\
0003c790: 6e 20 20 20 20 6d 69 64 20 3d 20 4d 61 74 68 2e n mid = Math.
0003c7a0: 69 6d 75 6c 28 61 6c 35 2c 20 62 68 30 29 3b 5c imul(al5, bh0);\
0003c7b0: 6e 20 20 20 20 6d 69 64 20 3d 20 28 6d 69 64 20 n mid = (mid
0003c7c0: 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 68 35 2c + Math.imul(ah5,
0003c7d0: 20 62 6c 30 29 29 20 7c 20 30 3b 5c 6e 20 20 20 bl0)) | 0;\n
0003c7e0: 20 68 69 20 3d 20 4d 61 74 68 2e 69 6d 75 6c 28 hi = Math.imul(
0003c7f0: 61 68 35 2c 20 62 68 30 29 3b 5c 6e 20 20 20 20 ah5, bh0);\n
0003c800: 6c 6f 20 3d 20 28 6c 6f 20 2b 20 4d 61 74 68 2e lo = (lo + Math.
0003c810: 69 6d 75 6c 28 61 6c 34 2c 20 62 6c 31 29 29 20 imul(al4, bl1))
0003c820: 7c 20 30 3b 5c 6e 20 20 20 20 6d 69 64 20 3d 20 | 0;\n mid =
0003c830: 28 6d 69 64 20 2b 20 4d 61 74 68 2e 69 6d 75 6c (mid + Math.imul
0003c840: 28 61 6c 34 2c 20 62 68 31 29 29 20 7c 20 30 3b (al4, bh1)) | 0;
0003c850: 5c 6e 20 20 20 20 6d 69 64 20 3d 20 28 6d 69 64 \n mid = (mid
0003c860: 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 68 34 + Math.imul(ah4
0003c870: 2c 20 62 6c 31 29 29 20 7c 20 30 3b 5c 6e 20 20 , bl1)) | 0;\n
0003c880: 20 20 68 69 20 3d 20 28 68 69 20 2b 20 4d 61 74 hi = (hi + Mat
0003c890: 68 2e 69 6d 75 6c 28 61 68 34 2c 20 62 68 31 29 h.imul(ah4, bh1)
0003c8a0: 29 20 7c 20 30 3b 5c 6e 20 20 20 20 6c 6f 20 3d ) | 0;\n lo =
0003c8b0: 20 28 6c 6f 20 2b 20 4d 61 74 68 2e 69 6d 75 6c (lo + Math.imul
0003c8c0: 28 61 6c 33 2c 20 62 6c 32 29 29 20 7c 20 30 3b (al3, bl2)) | 0;
0003c8d0: 5c 6e 20 20 20 20 6d 69 64 20 3d 20 28 6d 69 64 \n mid = (mid
0003c8e0: 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 6c 33 + Math.imul(al3
0003c8f0: 2c 20 62 68 32 29 29 20 7c 20 30 3b 5c 6e 20 20 , bh2)) | 0;\n
0003c900: 20 20 6d 69 64 20 3d 20 28 6d 69 64 20 2b 20 4d mid = (mid + M
0003c910: 61 74 68 2e 69 6d 75 6c 28 61 68 33 2c 20 62 6c ath.imul(ah3, bl
0003c920: 32 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 68 69 2)) | 0;\n hi
0003c930: 20 3d 20 28 68 69 20 2b 20 4d 61 74 68 2e 69 6d = (hi + Math.im
0003c940: 75 6c 28 61 68 33 2c 20 62 68 32 29 29 20 7c 20 ul(ah3, bh2)) |
0003c950: 30 3b 5c 6e 20 20 20 20 6c 6f 20 3d 20 28 6c 6f 0;\n lo = (lo
0003c960: 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 6c 32 + Math.imul(al2
0003c970: 2c 20 62 6c 33 29 29 20 7c 20 30 3b 5c 6e 20 20 , bl3)) | 0;\n
0003c980: 20 20 6d 69 64 20 3d 20 28 6d 69 64 20 2b 20 4d mid = (mid + M
0003c990: 61 74 68 2e 69 6d 75 6c 28 61 6c 32 2c 20 62 68 ath.imul(al2, bh
0003c9a0: 33 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 6d 69 3)) | 0;\n mi
0003c9b0: 64 20 3d 20 28 6d 69 64 20 2b 20 4d 61 74 68 2e d = (mid + Math.
0003c9c0: 69 6d 75 6c 28 61 68 32 2c 20 62 6c 33 29 29 20 imul(ah2, bl3))
0003c9d0: 7c 20 30 3b 5c 6e 20 20 20 20 68 69 20 3d 20 28 | 0;\n hi = (
0003c9e0: 68 69 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 hi + Math.imul(a
0003c9f0: 68 32 2c 20 62 68 33 29 29 20 7c 20 30 3b 5c 6e h2, bh3)) | 0;\n
0003ca00: 20 20 20 20 6c 6f 20 3d 20 28 6c 6f 20 2b 20 4d lo = (lo + M
0003ca10: 61 74 68 2e 69 6d 75 6c 28 61 6c 31 2c 20 62 6c ath.imul(al1, bl
0003ca20: 34 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 6d 69 4)) | 0;\n mi
0003ca30: 64 20 3d 20 28 6d 69 64 20 2b 20 4d 61 74 68 2e d = (mid + Math.
0003ca40: 69 6d 75 6c 28 61 6c 31 2c 20 62 68 34 29 29 20 imul(al1, bh4))
0003ca50: 7c 20 30 3b 5c 6e 20 20 20 20 6d 69 64 20 3d 20 | 0;\n mid =
0003ca60: 28 6d 69 64 20 2b 20 4d 61 74 68 2e 69 6d 75 6c (mid + Math.imul
0003ca70: 28 61 68 31 2c 20 62 6c 34 29 29 20 7c 20 30 3b (ah1, bl4)) | 0;
0003ca80: 5c 6e 20 20 20 20 68 69 20 3d 20 28 68 69 20 2b \n hi = (hi +
0003ca90: 20 4d 61 74 68 2e 69 6d 75 6c 28 61 68 31 2c 20 Math.imul(ah1,
0003caa0: 62 68 34 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 bh4)) | 0;\n
0003cab0: 6c 6f 20 3d 20 28 6c 6f 20 2b 20 4d 61 74 68 2e lo = (lo + Math.
0003cac0: 69 6d 75 6c 28 61 6c 30 2c 20 62 6c 35 29 29 20 imul(al0, bl5))
0003cad0: 7c 20 30 3b 5c 6e 20 20 20 20 6d 69 64 20 3d 20 | 0;\n mid =
0003cae0: 28 6d 69 64 20 2b 20 4d 61 74 68 2e 69 6d 75 6c (mid + Math.imul
0003caf0: 28 61 6c 30 2c 20 62 68 35 29 29 20 7c 20 30 3b (al0, bh5)) | 0;
0003cb00: 5c 6e 20 20 20 20 6d 69 64 20 3d 20 28 6d 69 64 \n mid = (mid
0003cb10: 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 68 30 + Math.imul(ah0
0003cb20: 2c 20 62 6c 35 29 29 20 7c 20 30 3b 5c 6e 20 20 , bl5)) | 0;\n
0003cb30: 20 20 68 69 20 3d 20 28 68 69 20 2b 20 4d 61 74 hi = (hi + Mat
0003cb40: 68 2e 69 6d 75 6c 28 61 68 30 2c 20 62 68 35 29 h.imul(ah0, bh5)
0003cb50: 29 20 7c 20 30 3b 5c 6e 20 20 20 20 76 61 72 20 ) | 0;\n var
0003cb60: 77 35 20 3d 20 28 28 28 63 20 2b 20 6c 6f 29 20 w5 = (((c + lo)
0003cb70: 7c 20 30 29 20 2b 20 28 28 6d 69 64 20 26 20 30 | 0) + ((mid & 0
0003cb80: 78 31 66 66 66 29 20 3c 3c 20 31 33 29 29 20 7c x1fff) << 13)) |
0003cb90: 20 30 3b 5c 6e 20 20 20 20 63 20 3d 20 28 28 28 0;\n c = (((
0003cba0: 68 69 20 2b 20 28 6d 69 64 20 3e 3e 3e 20 31 33 hi + (mid >>> 13
0003cbb0: 29 29 20 7c 20 30 29 20 2b 20 28 77 35 20 3e 3e )) | 0) + (w5 >>
0003cbc0: 3e 20 32 36 29 29 20 7c 20 30 3b 5c 6e 20 20 20 > 26)) | 0;\n
0003cbd0: 20 77 35 20 26 3d 20 30 78 33 66 66 66 66 66 66 w5 &= 0x3ffffff
0003cbe0: 3b 5c 6e 20 20 20 20 2f 2a 20 6b 20 3d 20 36 20 ;\n /* k = 6
0003cbf0: 2a 2f 5c 6e 20 20 20 20 6c 6f 20 3d 20 4d 61 74 */\n lo = Mat
0003cc00: 68 2e 69 6d 75 6c 28 61 6c 36 2c 20 62 6c 30 29 h.imul(al6, bl0)
0003cc10: 3b 5c 6e 20 20 20 20 6d 69 64 20 3d 20 4d 61 74 ;\n mid = Mat
0003cc20: 68 2e 69 6d 75 6c 28 61 6c 36 2c 20 62 68 30 29 h.imul(al6, bh0)
0003cc30: 3b 5c 6e 20 20 20 20 6d 69 64 20 3d 20 28 6d 69 ;\n mid = (mi
0003cc40: 64 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 68 d + Math.imul(ah
0003cc50: 36 2c 20 62 6c 30 29 29 20 7c 20 30 3b 5c 6e 20 6, bl0)) | 0;\n
0003cc60: 20 20 20 68 69 20 3d 20 4d 61 74 68 2e 69 6d 75 hi = Math.imu
0003cc70: 6c 28 61 68 36 2c 20 62 68 30 29 3b 5c 6e 20 20 l(ah6, bh0);\n
0003cc80: 20 20 6c 6f 20 3d 20 28 6c 6f 20 2b 20 4d 61 74 lo = (lo + Mat
0003cc90: 68 2e 69 6d 75 6c 28 61 6c 35 2c 20 62 6c 31 29 h.imul(al5, bl1)
0003cca0: 29 20 7c 20 30 3b 5c 6e 20 20 20 20 6d 69 64 20 ) | 0;\n mid
0003ccb0: 3d 20 28 6d 69 64 20 2b 20 4d 61 74 68 2e 69 6d = (mid + Math.im
0003ccc0: 75 6c 28 61 6c 35 2c 20 62 68 31 29 29 20 7c 20 ul(al5, bh1)) |
0003ccd0: 30 3b 5c 6e 20 20 20 20 6d 69 64 20 3d 20 28 6d 0;\n mid = (m
0003cce0: 69 64 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 id + Math.imul(a
0003ccf0: 68 35 2c 20 62 6c 31 29 29 20 7c 20 30 3b 5c 6e h5, bl1)) | 0;\n
0003cd00: 20 20 20 20 68 69 20 3d 20 28 68 69 20 2b 20 4d hi = (hi + M
0003cd10: 61 74 68 2e 69 6d 75 6c 28 61 68 35 2c 20 62 68 ath.imul(ah5, bh
0003cd20: 31 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 6c 6f 1)) | 0;\n lo
0003cd30: 20 3d 20 28 6c 6f 20 2b 20 4d 61 74 68 2e 69 6d = (lo + Math.im
0003cd40: 75 6c 28 61 6c 34 2c 20 62 6c 32 29 29 20 7c 20 ul(al4, bl2)) |
0003cd50: 30 3b 5c 6e 20 20 20 20 6d 69 64 20 3d 20 28 6d 0;\n mid = (m
0003cd60: 69 64 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 id + Math.imul(a
0003cd70: 6c 34 2c 20 62 68 32 29 29 20 7c 20 30 3b 5c 6e l4, bh2)) | 0;\n
0003cd80: 20 20 20 20 6d 69 64 20 3d 20 28 6d 69 64 20 2b mid = (mid +
0003cd90: 20 4d 61 74 68 2e 69 6d 75 6c 28 61 68 34 2c 20 Math.imul(ah4,
0003cda0: 62 6c 32 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 bl2)) | 0;\n
0003cdb0: 68 69 20 3d 20 28 68 69 20 2b 20 4d 61 74 68 2e hi = (hi + Math.
0003cdc0: 69 6d 75 6c 28 61 68 34 2c 20 62 68 32 29 29 20 imul(ah4, bh2))
0003cdd0: 7c 20 30 3b 5c 6e 20 20 20 20 6c 6f 20 3d 20 28 | 0;\n lo = (
0003cde0: 6c 6f 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 lo + Math.imul(a
0003cdf0: 6c 33 2c 20 62 6c 33 29 29 20 7c 20 30 3b 5c 6e l3, bl3)) | 0;\n
0003ce00: 20 20 20 20 6d 69 64 20 3d 20 28 6d 69 64 20 2b mid = (mid +
0003ce10: 20 4d 61 74 68 2e 69 6d 75 6c 28 61 6c 33 2c 20 Math.imul(al3,
0003ce20: 62 68 33 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 bh3)) | 0;\n
0003ce30: 6d 69 64 20 3d 20 28 6d 69 64 20 2b 20 4d 61 74 mid = (mid + Mat
0003ce40: 68 2e 69 6d 75 6c 28 61 68 33 2c 20 62 6c 33 29 h.imul(ah3, bl3)
0003ce50: 29 20 7c 20 30 3b 5c 6e 20 20 20 20 68 69 20 3d ) | 0;\n hi =
0003ce60: 20 28 68 69 20 2b 20 4d 61 74 68 2e 69 6d 75 6c (hi + Math.imul
0003ce70: 28 61 68 33 2c 20 62 68 33 29 29 20 7c 20 30 3b (ah3, bh3)) | 0;
0003ce80: 5c 6e 20 20 20 20 6c 6f 20 3d 20 28 6c 6f 20 2b \n lo = (lo +
0003ce90: 20 4d 61 74 68 2e 69 6d 75 6c 28 61 6c 32 2c 20 Math.imul(al2,
0003cea0: 62 6c 34 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 bl4)) | 0;\n
0003ceb0: 6d 69 64 20 3d 20 28 6d 69 64 20 2b 20 4d 61 74 mid = (mid + Mat
0003cec0: 68 2e 69 6d 75 6c 28 61 6c 32 2c 20 62 68 34 29 h.imul(al2, bh4)
0003ced0: 29 20 7c 20 30 3b 5c 6e 20 20 20 20 6d 69 64 20 ) | 0;\n mid
0003cee0: 3d 20 28 6d 69 64 20 2b 20 4d 61 74 68 2e 69 6d = (mid + Math.im
0003cef0: 75 6c 28 61 68 32 2c 20 62 6c 34 29 29 20 7c 20 ul(ah2, bl4)) |
0003cf00: 30 3b 5c 6e 20 20 20 20 68 69 20 3d 20 28 68 69 0;\n hi = (hi
0003cf10: 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 68 32 + Math.imul(ah2
0003cf20: 2c 20 62 68 34 29 29 20 7c 20 30 3b 5c 6e 20 20 , bh4)) | 0;\n
0003cf30: 20 20 6c 6f 20 3d 20 28 6c 6f 20 2b 20 4d 61 74 lo = (lo + Mat
0003cf40: 68 2e 69 6d 75 6c 28 61 6c 31 2c 20 62 6c 35 29 h.imul(al1, bl5)
0003cf50: 29 20 7c 20 30 3b 5c 6e 20 20 20 20 6d 69 64 20 ) | 0;\n mid
0003cf60: 3d 20 28 6d 69 64 20 2b 20 4d 61 74 68 2e 69 6d = (mid + Math.im
0003cf70: 75 6c 28 61 6c 31 2c 20 62 68 35 29 29 20 7c 20 ul(al1, bh5)) |
0003cf80: 30 3b 5c 6e 20 20 20 20 6d 69 64 20 3d 20 28 6d 0;\n mid = (m
0003cf90: 69 64 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 id + Math.imul(a
0003cfa0: 68 31 2c 20 62 6c 35 29 29 20 7c 20 30 3b 5c 6e h1, bl5)) | 0;\n
0003cfb0: 20 20 20 20 68 69 20 3d 20 28 68 69 20 2b 20 4d hi = (hi + M
0003cfc0: 61 74 68 2e 69 6d 75 6c 28 61 68 31 2c 20 62 68 ath.imul(ah1, bh
0003cfd0: 35 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 6c 6f 5)) | 0;\n lo
0003cfe0: 20 3d 20 28 6c 6f 20 2b 20 4d 61 74 68 2e 69 6d = (lo + Math.im
0003cff0: 75 6c 28 61 6c 30 2c 20 62 6c 36 29 29 20 7c 20 ul(al0, bl6)) |
0003d000: 30 3b 5c 6e 20 20 20 20 6d 69 64 20 3d 20 28 6d 0;\n mid = (m
0003d010: 69 64 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 id + Math.imul(a
0003d020: 6c 30 2c 20 62 68 36 29 29 20 7c 20 30 3b 5c 6e l0, bh6)) | 0;\n
0003d030: 20 20 20 20 6d 69 64 20 3d 20 28 6d 69 64 20 2b mid = (mid +
0003d040: 20 4d 61 74 68 2e 69 6d 75 6c 28 61 68 30 2c 20 Math.imul(ah0,
0003d050: 62 6c 36 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 bl6)) | 0;\n
0003d060: 68 69 20 3d 20 28 68 69 20 2b 20 4d 61 74 68 2e hi = (hi + Math.
0003d070: 69 6d 75 6c 28 61 68 30 2c 20 62 68 36 29 29 20 imul(ah0, bh6))
0003d080: 7c 20 30 3b 5c 6e 20 20 20 20 76 61 72 20 77 36 | 0;\n var w6
0003d090: 20 3d 20 28 28 28 63 20 2b 20 6c 6f 29 20 7c 20 = (((c + lo) |
0003d0a0: 30 29 20 2b 20 28 28 6d 69 64 20 26 20 30 78 31 0) + ((mid & 0x1
0003d0b0: 66 66 66 29 20 3c 3c 20 31 33 29 29 20 7c 20 30 fff) << 13)) | 0
0003d0c0: 3b 5c 6e 20 20 20 20 63 20 3d 20 28 28 28 68 69 ;\n c = (((hi
0003d0d0: 20 2b 20 28 6d 69 64 20 3e 3e 3e 20 31 33 29 29 + (mid >>> 13))
0003d0e0: 20 7c 20 30 29 20 2b 20 28 77 36 20 3e 3e 3e 20 | 0) + (w6 >>>
0003d0f0: 32 36 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 77 26)) | 0;\n w
0003d100: 36 20 26 3d 20 30 78 33 66 66 66 66 66 66 3b 5c 6 &= 0x3ffffff;\
0003d110: 6e 20 20 20 20 2f 2a 20 6b 20 3d 20 37 20 2a 2f n /* k = 7 */
0003d120: 5c 6e 20 20 20 20 6c 6f 20 3d 20 4d 61 74 68 2e \n lo = Math.
0003d130: 69 6d 75 6c 28 61 6c 37 2c 20 62 6c 30 29 3b 5c imul(al7, bl0);\
0003d140: 6e 20 20 20 20 6d 69 64 20 3d 20 4d 61 74 68 2e n mid = Math.
0003d150: 69 6d 75 6c 28 61 6c 37 2c 20 62 68 30 29 3b 5c imul(al7, bh0);\
0003d160: 6e 20 20 20 20 6d 69 64 20 3d 20 28 6d 69 64 20 n mid = (mid
0003d170: 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 68 37 2c + Math.imul(ah7,
0003d180: 20 62 6c 30 29 29 20 7c 20 30 3b 5c 6e 20 20 20 bl0)) | 0;\n
0003d190: 20 68 69 20 3d 20 4d 61 74 68 2e 69 6d 75 6c 28 hi = Math.imul(
0003d1a0: 61 68 37 2c 20 62 68 30 29 3b 5c 6e 20 20 20 20 ah7, bh0);\n
0003d1b0: 6c 6f 20 3d 20 28 6c 6f 20 2b 20 4d 61 74 68 2e lo = (lo + Math.
0003d1c0: 69 6d 75 6c 28 61 6c 36 2c 20 62 6c 31 29 29 20 imul(al6, bl1))
0003d1d0: 7c 20 30 3b 5c 6e 20 20 20 20 6d 69 64 20 3d 20 | 0;\n mid =
0003d1e0: 28 6d 69 64 20 2b 20 4d 61 74 68 2e 69 6d 75 6c (mid + Math.imul
0003d1f0: 28 61 6c 36 2c 20 62 68 31 29 29 20 7c 20 30 3b (al6, bh1)) | 0;
0003d200: 5c 6e 20 20 20 20 6d 69 64 20 3d 20 28 6d 69 64 \n mid = (mid
0003d210: 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 68 36 + Math.imul(ah6
0003d220: 2c 20 62 6c 31 29 29 20 7c 20 30 3b 5c 6e 20 20 , bl1)) | 0;\n
0003d230: 20 20 68 69 20 3d 20 28 68 69 20 2b 20 4d 61 74 hi = (hi + Mat
0003d240: 68 2e 69 6d 75 6c 28 61 68 36 2c 20 62 68 31 29 h.imul(ah6, bh1)
0003d250: 29 20 7c 20 30 3b 5c 6e 20 20 20 20 6c 6f 20 3d ) | 0;\n lo =
0003d260: 20 28 6c 6f 20 2b 20 4d 61 74 68 2e 69 6d 75 6c (lo + Math.imul
0003d270: 28 61 6c 35 2c 20 62 6c 32 29 29 20 7c 20 30 3b (al5, bl2)) | 0;
0003d280: 5c 6e 20 20 20 20 6d 69 64 20 3d 20 28 6d 69 64 \n mid = (mid
0003d290: 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 6c 35 + Math.imul(al5
0003d2a0: 2c 20 62 68 32 29 29 20 7c 20 30 3b 5c 6e 20 20 , bh2)) | 0;\n
0003d2b0: 20 20 6d 69 64 20 3d 20 28 6d 69 64 20 2b 20 4d mid = (mid + M
0003d2c0: 61 74 68 2e 69 6d 75 6c 28 61 68 35 2c 20 62 6c ath.imul(ah5, bl
0003d2d0: 32 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 68 69 2)) | 0;\n hi
0003d2e0: 20 3d 20 28 68 69 20 2b 20 4d 61 74 68 2e 69 6d = (hi + Math.im
0003d2f0: 75 6c 28 61 68 35 2c 20 62 68 32 29 29 20 7c 20 ul(ah5, bh2)) |
0003d300: 30 3b 5c 6e 20 20 20 20 6c 6f 20 3d 20 28 6c 6f 0;\n lo = (lo
0003d310: 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 6c 34 + Math.imul(al4
0003d320: 2c 20 62 6c 33 29 29 20 7c 20 30 3b 5c 6e 20 20 , bl3)) | 0;\n
0003d330: 20 20 6d 69 64 20 3d 20 28 6d 69 64 20 2b 20 4d mid = (mid + M
0003d340: 61 74 68 2e 69 6d 75 6c 28 61 6c 34 2c 20 62 68 ath.imul(al4, bh
0003d350: 33 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 6d 69 3)) | 0;\n mi
0003d360: 64 20 3d 20 28 6d 69 64 20 2b 20 4d 61 74 68 2e d = (mid + Math.
0003d370: 69 6d 75 6c 28 61 68 34 2c 20 62 6c 33 29 29 20 imul(ah4, bl3))
0003d380: 7c 20 30 3b 5c 6e 20 20 20 20 68 69 20 3d 20 28 | 0;\n hi = (
0003d390: 68 69 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 hi + Math.imul(a
0003d3a0: 68 34 2c 20 62 68 33 29 29 20 7c 20 30 3b 5c 6e h4, bh3)) | 0;\n
0003d3b0: 20 20 20 20 6c 6f 20 3d 20 28 6c 6f 20 2b 20 4d lo = (lo + M
0003d3c0: 61 74 68 2e 69 6d 75 6c 28 61 6c 33 2c 20 62 6c ath.imul(al3, bl
0003d3d0: 34 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 6d 69 4)) | 0;\n mi
0003d3e0: 64 20 3d 20 28 6d 69 64 20 2b 20 4d 61 74 68 2e d = (mid + Math.
0003d3f0: 69 6d 75 6c 28 61 6c 33 2c 20 62 68 34 29 29 20 imul(al3, bh4))
0003d400: 7c 20 30 3b 5c 6e 20 20 20 20 6d 69 64 20 3d 20 | 0;\n mid =
0003d410: 28 6d 69 64 20 2b 20 4d 61 74 68 2e 69 6d 75 6c (mid + Math.imul
0003d420: 28 61 68 33 2c 20 62 6c 34 29 29 20 7c 20 30 3b (ah3, bl4)) | 0;
0003d430: 5c 6e 20 20 20 20 68 69 20 3d 20 28 68 69 20 2b \n hi = (hi +
0003d440: 20 4d 61 74 68 2e 69 6d 75 6c 28 61 68 33 2c 20 Math.imul(ah3,
0003d450: 62 68 34 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 bh4)) | 0;\n
0003d460: 6c 6f 20 3d 20 28 6c 6f 20 2b 20 4d 61 74 68 2e lo = (lo + Math.
0003d470: 69 6d 75 6c 28 61 6c 32 2c 20 62 6c 35 29 29 20 imul(al2, bl5))
0003d480: 7c 20 30 3b 5c 6e 20 20 20 20 6d 69 64 20 3d 20 | 0;\n mid =
0003d490: 28 6d 69 64 20 2b 20 4d 61 74 68 2e 69 6d 75 6c (mid + Math.imul
0003d4a0: 28 61 6c 32 2c 20 62 68 35 29 29 20 7c 20 30 3b (al2, bh5)) | 0;
0003d4b0: 5c 6e 20 20 20 20 6d 69 64 20 3d 20 28 6d 69 64 \n mid = (mid
0003d4c0: 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 68 32 + Math.imul(ah2
0003d4d0: 2c 20 62 6c 35 29 29 20 7c 20 30 3b 5c 6e 20 20 , bl5)) | 0;\n
0003d4e0: 20 20 68 69 20 3d 20 28 68 69 20 2b 20 4d 61 74 hi = (hi + Mat
0003d4f0: 68 2e 69 6d 75 6c 28 61 68 32 2c 20 62 68 35 29 h.imul(ah2, bh5)
0003d500: 29 20 7c 20 30 3b 5c 6e 20 20 20 20 6c 6f 20 3d ) | 0;\n lo =
0003d510: 20 28 6c 6f 20 2b 20 4d 61 74 68 2e 69 6d 75 6c (lo + Math.imul
0003d520: 28 61 6c 31 2c 20 62 6c 36 29 29 20 7c 20 30 3b (al1, bl6)) | 0;
0003d530: 5c 6e 20 20 20 20 6d 69 64 20 3d 20 28 6d 69 64 \n mid = (mid
0003d540: 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 6c 31 + Math.imul(al1
0003d550: 2c 20 62 68 36 29 29 20 7c 20 30 3b 5c 6e 20 20 , bh6)) | 0;\n
0003d560: 20 20 6d 69 64 20 3d 20 28 6d 69 64 20 2b 20 4d mid = (mid + M
0003d570: 61 74 68 2e 69 6d 75 6c 28 61 68 31 2c 20 62 6c ath.imul(ah1, bl
0003d580: 36 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 68 69 6)) | 0;\n hi
0003d590: 20 3d 20 28 68 69 20 2b 20 4d 61 74 68 2e 69 6d = (hi + Math.im
0003d5a0: 75 6c 28 61 68 31 2c 20 62 68 36 29 29 20 7c 20 ul(ah1, bh6)) |
0003d5b0: 30 3b 5c 6e 20 20 20 20 6c 6f 20 3d 20 28 6c 6f 0;\n lo = (lo
0003d5c0: 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 6c 30 + Math.imul(al0
0003d5d0: 2c 20 62 6c 37 29 29 20 7c 20 30 3b 5c 6e 20 20 , bl7)) | 0;\n
0003d5e0: 20 20 6d 69 64 20 3d 20 28 6d 69 64 20 2b 20 4d mid = (mid + M
0003d5f0: 61 74 68 2e 69 6d 75 6c 28 61 6c 30 2c 20 62 68 ath.imul(al0, bh
0003d600: 37 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 6d 69 7)) | 0;\n mi
0003d610: 64 20 3d 20 28 6d 69 64 20 2b 20 4d 61 74 68 2e d = (mid + Math.
0003d620: 69 6d 75 6c 28 61 68 30 2c 20 62 6c 37 29 29 20 imul(ah0, bl7))
0003d630: 7c 20 30 3b 5c 6e 20 20 20 20 68 69 20 3d 20 28 | 0;\n hi = (
0003d640: 68 69 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 hi + Math.imul(a
0003d650: 68 30 2c 20 62 68 37 29 29 20 7c 20 30 3b 5c 6e h0, bh7)) | 0;\n
0003d660: 20 20 20 20 76 61 72 20 77 37 20 3d 20 28 28 28 var w7 = (((
0003d670: 63 20 2b 20 6c 6f 29 20 7c 20 30 29 20 2b 20 28 c + lo) | 0) + (
0003d680: 28 6d 69 64 20 26 20 30 78 31 66 66 66 29 20 3c (mid & 0x1fff) <
0003d690: 3c 20 31 33 29 29 20 7c 20 30 3b 5c 6e 20 20 20 < 13)) | 0;\n
0003d6a0: 20 63 20 3d 20 28 28 28 68 69 20 2b 20 28 6d 69 c = (((hi + (mi
0003d6b0: 64 20 3e 3e 3e 20 31 33 29 29 20 7c 20 30 29 20 d >>> 13)) | 0)
0003d6c0: 2b 20 28 77 37 20 3e 3e 3e 20 32 36 29 29 20 7c + (w7 >>> 26)) |
0003d6d0: 20 30 3b 5c 6e 20 20 20 20 77 37 20 26 3d 20 30 0;\n w7 &= 0
0003d6e0: 78 33 66 66 66 66 66 66 3b 5c 6e 20 20 20 20 2f x3ffffff;\n /
0003d6f0: 2a 20 6b 20 3d 20 38 20 2a 2f 5c 6e 20 20 20 20 * k = 8 */\n
0003d700: 6c 6f 20 3d 20 4d 61 74 68 2e 69 6d 75 6c 28 61 lo = Math.imul(a
0003d710: 6c 38 2c 20 62 6c 30 29 3b 5c 6e 20 20 20 20 6d l8, bl0);\n m
0003d720: 69 64 20 3d 20 4d 61 74 68 2e 69 6d 75 6c 28 61 id = Math.imul(a
0003d730: 6c 38 2c 20 62 68 30 29 3b 5c 6e 20 20 20 20 6d l8, bh0);\n m
0003d740: 69 64 20 3d 20 28 6d 69 64 20 2b 20 4d 61 74 68 id = (mid + Math
0003d750: 2e 69 6d 75 6c 28 61 68 38 2c 20 62 6c 30 29 29 .imul(ah8, bl0))
0003d760: 20 7c 20 30 3b 5c 6e 20 20 20 20 68 69 20 3d 20 | 0;\n hi =
0003d770: 4d 61 74 68 2e 69 6d 75 6c 28 61 68 38 2c 20 62 Math.imul(ah8, b
0003d780: 68 30 29 3b 5c 6e 20 20 20 20 6c 6f 20 3d 20 28 h0);\n lo = (
0003d790: 6c 6f 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 lo + Math.imul(a
0003d7a0: 6c 37 2c 20 62 6c 31 29 29 20 7c 20 30 3b 5c 6e l7, bl1)) | 0;\n
0003d7b0: 20 20 20 20 6d 69 64 20 3d 20 28 6d 69 64 20 2b mid = (mid +
0003d7c0: 20 4d 61 74 68 2e 69 6d 75 6c 28 61 6c 37 2c 20 Math.imul(al7,
0003d7d0: 62 68 31 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 bh1)) | 0;\n
0003d7e0: 6d 69 64 20 3d 20 28 6d 69 64 20 2b 20 4d 61 74 mid = (mid + Mat
0003d7f0: 68 2e 69 6d 75 6c 28 61 68 37 2c 20 62 6c 31 29 h.imul(ah7, bl1)
0003d800: 29 20 7c 20 30 3b 5c 6e 20 20 20 20 68 69 20 3d ) | 0;\n hi =
0003d810: 20 28 68 69 20 2b 20 4d 61 74 68 2e 69 6d 75 6c (hi + Math.imul
0003d820: 28 61 68 37 2c 20 62 68 31 29 29 20 7c 20 30 3b (ah7, bh1)) | 0;
0003d830: 5c 6e 20 20 20 20 6c 6f 20 3d 20 28 6c 6f 20 2b \n lo = (lo +
0003d840: 20 4d 61 74 68 2e 69 6d 75 6c 28 61 6c 36 2c 20 Math.imul(al6,
0003d850: 62 6c 32 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 bl2)) | 0;\n
0003d860: 6d 69 64 20 3d 20 28 6d 69 64 20 2b 20 4d 61 74 mid = (mid + Mat
0003d870: 68 2e 69 6d 75 6c 28 61 6c 36 2c 20 62 68 32 29 h.imul(al6, bh2)
0003d880: 29 20 7c 20 30 3b 5c 6e 20 20 20 20 6d 69 64 20 ) | 0;\n mid
0003d890: 3d 20 28 6d 69 64 20 2b 20 4d 61 74 68 2e 69 6d = (mid + Math.im
0003d8a0: 75 6c 28 61 68 36 2c 20 62 6c 32 29 29 20 7c 20 ul(ah6, bl2)) |
0003d8b0: 30 3b 5c 6e 20 20 20 20 68 69 20 3d 20 28 68 69 0;\n hi = (hi
0003d8c0: 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 68 36 + Math.imul(ah6
0003d8d0: 2c 20 62 68 32 29 29 20 7c 20 30 3b 5c 6e 20 20 , bh2)) | 0;\n
0003d8e0: 20 20 6c 6f 20 3d 20 28 6c 6f 20 2b 20 4d 61 74 lo = (lo + Mat
0003d8f0: 68 2e 69 6d 75 6c 28 61 6c 35 2c 20 62 6c 33 29 h.imul(al5, bl3)
0003d900: 29 20 7c 20 30 3b 5c 6e 20 20 20 20 6d 69 64 20 ) | 0;\n mid
0003d910: 3d 20 28 6d 69 64 20 2b 20 4d 61 74 68 2e 69 6d = (mid + Math.im
0003d920: 75 6c 28 61 6c 35 2c 20 62 68 33 29 29 20 7c 20 ul(al5, bh3)) |
0003d930: 30 3b 5c 6e 20 20 20 20 6d 69 64 20 3d 20 28 6d 0;\n mid = (m
0003d940: 69 64 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 id + Math.imul(a
0003d950: 68 35 2c 20 62 6c 33 29 29 20 7c 20 30 3b 5c 6e h5, bl3)) | 0;\n
0003d960: 20 20 20 20 68 69 20 3d 20 28 68 69 20 2b 20 4d hi = (hi + M
0003d970: 61 74 68 2e 69 6d 75 6c 28 61 68 35 2c 20 62 68 ath.imul(ah5, bh
0003d980: 33 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 6c 6f 3)) | 0;\n lo
0003d990: 20 3d 20 28 6c 6f 20 2b 20 4d 61 74 68 2e 69 6d = (lo + Math.im
0003d9a0: 75 6c 28 61 6c 34 2c 20 62 6c 34 29 29 20 7c 20 ul(al4, bl4)) |
0003d9b0: 30 3b 5c 6e 20 20 20 20 6d 69 64 20 3d 20 28 6d 0;\n mid = (m
0003d9c0: 69 64 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 id + Math.imul(a
0003d9d0: 6c 34 2c 20 62 68 34 29 29 20 7c 20 30 3b 5c 6e l4, bh4)) | 0;\n
0003d9e0: 20 20 20 20 6d 69 64 20 3d 20 28 6d 69 64 20 2b mid = (mid +
0003d9f0: 20 4d 61 74 68 2e 69 6d 75 6c 28 61 68 34 2c 20 Math.imul(ah4,
0003da00: 62 6c 34 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 bl4)) | 0;\n
0003da10: 68 69 20 3d 20 28 68 69 20 2b 20 4d 61 74 68 2e hi = (hi + Math.
0003da20: 69 6d 75 6c 28 61 68 34 2c 20 62 68 34 29 29 20 imul(ah4, bh4))
0003da30: 7c 20 30 3b 5c 6e 20 20 20 20 6c 6f 20 3d 20 28 | 0;\n lo = (
0003da40: 6c 6f 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 lo + Math.imul(a
0003da50: 6c 33 2c 20 62 6c 35 29 29 20 7c 20 30 3b 5c 6e l3, bl5)) | 0;\n
0003da60: 20 20 20 20 6d 69 64 20 3d 20 28 6d 69 64 20 2b mid = (mid +
0003da70: 20 4d 61 74 68 2e 69 6d 75 6c 28 61 6c 33 2c 20 Math.imul(al3,
0003da80: 62 68 35 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 bh5)) | 0;\n
0003da90: 6d 69 64 20 3d 20 28 6d 69 64 20 2b 20 4d 61 74 mid = (mid + Mat
0003daa0: 68 2e 69 6d 75 6c 28 61 68 33 2c 20 62 6c 35 29 h.imul(ah3, bl5)
0003dab0: 29 20 7c 20 30 3b 5c 6e 20 20 20 20 68 69 20 3d ) | 0;\n hi =
0003dac0: 20 28 68 69 20 2b 20 4d 61 74 68 2e 69 6d 75 6c (hi + Math.imul
0003dad0: 28 61 68 33 2c 20 62 68 35 29 29 20 7c 20 30 3b (ah3, bh5)) | 0;
0003dae0: 5c 6e 20 20 20 20 6c 6f 20 3d 20 28 6c 6f 20 2b \n lo = (lo +
0003daf0: 20 4d 61 74 68 2e 69 6d 75 6c 28 61 6c 32 2c 20 Math.imul(al2,
0003db00: 62 6c 36 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 bl6)) | 0;\n
0003db10: 6d 69 64 20 3d 20 28 6d 69 64 20 2b 20 4d 61 74 mid = (mid + Mat
0003db20: 68 2e 69 6d 75 6c 28 61 6c 32 2c 20 62 68 36 29 h.imul(al2, bh6)
0003db30: 29 20 7c 20 30 3b 5c 6e 20 20 20 20 6d 69 64 20 ) | 0;\n mid
0003db40: 3d 20 28 6d 69 64 20 2b 20 4d 61 74 68 2e 69 6d = (mid + Math.im
0003db50: 75 6c 28 61 68 32 2c 20 62 6c 36 29 29 20 7c 20 ul(ah2, bl6)) |
0003db60: 30 3b 5c 6e 20 20 20 20 68 69 20 3d 20 28 68 69 0;\n hi = (hi
0003db70: 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 68 32 + Math.imul(ah2
0003db80: 2c 20 62 68 36 29 29 20 7c 20 30 3b 5c 6e 20 20 , bh6)) | 0;\n
0003db90: 20 20 6c 6f 20 3d 20 28 6c 6f 20 2b 20 4d 61 74 lo = (lo + Mat
0003dba0: 68 2e 69 6d 75 6c 28 61 6c 31 2c 20 62 6c 37 29 h.imul(al1, bl7)
0003dbb0: 29 20 7c 20 30 3b 5c 6e 20 20 20 20 6d 69 64 20 ) | 0;\n mid
0003dbc0: 3d 20 28 6d 69 64 20 2b 20 4d 61 74 68 2e 69 6d = (mid + Math.im
0003dbd0: 75 6c 28 61 6c 31 2c 20 62 68 37 29 29 20 7c 20 ul(al1, bh7)) |
0003dbe0: 30 3b 5c 6e 20 20 20 20 6d 69 64 20 3d 20 28 6d 0;\n mid = (m
0003dbf0: 69 64 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 id + Math.imul(a
0003dc00: 68 31 2c 20 62 6c 37 29 29 20 7c 20 30 3b 5c 6e h1, bl7)) | 0;\n
0003dc10: 20 20 20 20 68 69 20 3d 20 28 68 69 20 2b 20 4d hi = (hi + M
0003dc20: 61 74 68 2e 69 6d 75 6c 28 61 68 31 2c 20 62 68 ath.imul(ah1, bh
0003dc30: 37 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 6c 6f 7)) | 0;\n lo
0003dc40: 20 3d 20 28 6c 6f 20 2b 20 4d 61 74 68 2e 69 6d = (lo + Math.im
0003dc50: 75 6c 28 61 6c 30 2c 20 62 6c 38 29 29 20 7c 20 ul(al0, bl8)) |
0003dc60: 30 3b 5c 6e 20 20 20 20 6d 69 64 20 3d 20 28 6d 0;\n mid = (m
0003dc70: 69 64 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 id + Math.imul(a
0003dc80: 6c 30 2c 20 62 68 38 29 29 20 7c 20 30 3b 5c 6e l0, bh8)) | 0;\n
0003dc90: 20 20 20 20 6d 69 64 20 3d 20 28 6d 69 64 20 2b mid = (mid +
0003dca0: 20 4d 61 74 68 2e 69 6d 75 6c 28 61 68 30 2c 20 Math.imul(ah0,
0003dcb0: 62 6c 38 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 bl8)) | 0;\n
0003dcc0: 68 69 20 3d 20 28 68 69 20 2b 20 4d 61 74 68 2e hi = (hi + Math.
0003dcd0: 69 6d 75 6c 28 61 68 30 2c 20 62 68 38 29 29 20 imul(ah0, bh8))
0003dce0: 7c 20 30 3b 5c 6e 20 20 20 20 76 61 72 20 77 38 | 0;\n var w8
0003dcf0: 20 3d 20 28 28 28 63 20 2b 20 6c 6f 29 20 7c 20 = (((c + lo) |
0003dd00: 30 29 20 2b 20 28 28 6d 69 64 20 26 20 30 78 31 0) + ((mid & 0x1
0003dd10: 66 66 66 29 20 3c 3c 20 31 33 29 29 20 7c 20 30 fff) << 13)) | 0
0003dd20: 3b 5c 6e 20 20 20 20 63 20 3d 20 28 28 28 68 69 ;\n c = (((hi
0003dd30: 20 2b 20 28 6d 69 64 20 3e 3e 3e 20 31 33 29 29 + (mid >>> 13))
0003dd40: 20 7c 20 30 29 20 2b 20 28 77 38 20 3e 3e 3e 20 | 0) + (w8 >>>
0003dd50: 32 36 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 77 26)) | 0;\n w
0003dd60: 38 20 26 3d 20 30 78 33 66 66 66 66 66 66 3b 5c 8 &= 0x3ffffff;\
0003dd70: 6e 20 20 20 20 2f 2a 20 6b 20 3d 20 39 20 2a 2f n /* k = 9 */
0003dd80: 5c 6e 20 20 20 20 6c 6f 20 3d 20 4d 61 74 68 2e \n lo = Math.
0003dd90: 69 6d 75 6c 28 61 6c 39 2c 20 62 6c 30 29 3b 5c imul(al9, bl0);\
0003dda0: 6e 20 20 20 20 6d 69 64 20 3d 20 4d 61 74 68 2e n mid = Math.
0003ddb0: 69 6d 75 6c 28 61 6c 39 2c 20 62 68 30 29 3b 5c imul(al9, bh0);\
0003ddc0: 6e 20 20 20 20 6d 69 64 20 3d 20 28 6d 69 64 20 n mid = (mid
0003ddd0: 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 68 39 2c + Math.imul(ah9,
0003dde0: 20 62 6c 30 29 29 20 7c 20 30 3b 5c 6e 20 20 20 bl0)) | 0;\n
0003ddf0: 20 68 69 20 3d 20 4d 61 74 68 2e 69 6d 75 6c 28 hi = Math.imul(
0003de00: 61 68 39 2c 20 62 68 30 29 3b 5c 6e 20 20 20 20 ah9, bh0);\n
0003de10: 6c 6f 20 3d 20 28 6c 6f 20 2b 20 4d 61 74 68 2e lo = (lo + Math.
0003de20: 69 6d 75 6c 28 61 6c 38 2c 20 62 6c 31 29 29 20 imul(al8, bl1))
0003de30: 7c 20 30 3b 5c 6e 20 20 20 20 6d 69 64 20 3d 20 | 0;\n mid =
0003de40: 28 6d 69 64 20 2b 20 4d 61 74 68 2e 69 6d 75 6c (mid + Math.imul
0003de50: 28 61 6c 38 2c 20 62 68 31 29 29 20 7c 20 30 3b (al8, bh1)) | 0;
0003de60: 5c 6e 20 20 20 20 6d 69 64 20 3d 20 28 6d 69 64 \n mid = (mid
0003de70: 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 68 38 + Math.imul(ah8
0003de80: 2c 20 62 6c 31 29 29 20 7c 20 30 3b 5c 6e 20 20 , bl1)) | 0;\n
0003de90: 20 20 68 69 20 3d 20 28 68 69 20 2b 20 4d 61 74 hi = (hi + Mat
0003dea0: 68 2e 69 6d 75 6c 28 61 68 38 2c 20 62 68 31 29 h.imul(ah8, bh1)
0003deb0: 29 20 7c 20 30 3b 5c 6e 20 20 20 20 6c 6f 20 3d ) | 0;\n lo =
0003dec0: 20 28 6c 6f 20 2b 20 4d 61 74 68 2e 69 6d 75 6c (lo + Math.imul
0003ded0: 28 61 6c 37 2c 20 62 6c 32 29 29 20 7c 20 30 3b (al7, bl2)) | 0;
0003dee0: 5c 6e 20 20 20 20 6d 69 64 20 3d 20 28 6d 69 64 \n mid = (mid
0003def0: 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 6c 37 + Math.imul(al7
0003df00: 2c 20 62 68 32 29 29 20 7c 20 30 3b 5c 6e 20 20 , bh2)) | 0;\n
0003df10: 20 20 6d 69 64 20 3d 20 28 6d 69 64 20 2b 20 4d mid = (mid + M
0003df20: 61 74 68 2e 69 6d 75 6c 28 61 68 37 2c 20 62 6c ath.imul(ah7, bl
0003df30: 32 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 68 69 2)) | 0;\n hi
0003df40: 20 3d 20 28 68 69 20 2b 20 4d 61 74 68 2e 69 6d = (hi + Math.im
0003df50: 75 6c 28 61 68 37 2c 20 62 68 32 29 29 20 7c 20 ul(ah7, bh2)) |
0003df60: 30 3b 5c 6e 20 20 20 20 6c 6f 20 3d 20 28 6c 6f 0;\n lo = (lo
0003df70: 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 6c 36 + Math.imul(al6
0003df80: 2c 20 62 6c 33 29 29 20 7c 20 30 3b 5c 6e 20 20 , bl3)) | 0;\n
0003df90: 20 20 6d 69 64 20 3d 20 28 6d 69 64 20 2b 20 4d mid = (mid + M
0003dfa0: 61 74 68 2e 69 6d 75 6c 28 61 6c 36 2c 20 62 68 ath.imul(al6, bh
0003dfb0: 33 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 6d 69 3)) | 0;\n mi
0003dfc0: 64 20 3d 20 28 6d 69 64 20 2b 20 4d 61 74 68 2e d = (mid + Math.
0003dfd0: 69 6d 75 6c 28 61 68 36 2c 20 62 6c 33 29 29 20 imul(ah6, bl3))
0003dfe0: 7c 20 30 3b 5c 6e 20 20 20 20 68 69 20 3d 20 28 | 0;\n hi = (
0003dff0: 68 69 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 hi + Math.imul(a
0003e000: 68 36 2c 20 62 68 33 29 29 20 7c 20 30 3b 5c 6e h6, bh3)) | 0;\n
0003e010: 20 20 20 20 6c 6f 20 3d 20 28 6c 6f 20 2b 20 4d lo = (lo + M
0003e020: 61 74 68 2e 69 6d 75 6c 28 61 6c 35 2c 20 62 6c ath.imul(al5, bl
0003e030: 34 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 6d 69 4)) | 0;\n mi
0003e040: 64 20 3d 20 28 6d 69 64 20 2b 20 4d 61 74 68 2e d = (mid + Math.
0003e050: 69 6d 75 6c 28 61 6c 35 2c 20 62 68 34 29 29 20 imul(al5, bh4))
0003e060: 7c 20 30 3b 5c 6e 20 20 20 20 6d 69 64 20 3d 20 | 0;\n mid =
0003e070: 28 6d 69 64 20 2b 20 4d 61 74 68 2e 69 6d 75 6c (mid + Math.imul
0003e080: 28 61 68 35 2c 20 62 6c 34 29 29 20 7c 20 30 3b (ah5, bl4)) | 0;
0003e090: 5c 6e 20 20 20 20 68 69 20 3d 20 28 68 69 20 2b \n hi = (hi +
0003e0a0: 20 4d 61 74 68 2e 69 6d 75 6c 28 61 68 35 2c 20 Math.imul(ah5,
0003e0b0: 62 68 34 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 bh4)) | 0;\n
0003e0c0: 6c 6f 20 3d 20 28 6c 6f 20 2b 20 4d 61 74 68 2e lo = (lo + Math.
0003e0d0: 69 6d 75 6c 28 61 6c 34 2c 20 62 6c 35 29 29 20 imul(al4, bl5))
0003e0e0: 7c 20 30 3b 5c 6e 20 20 20 20 6d 69 64 20 3d 20 | 0;\n mid =
0003e0f0: 28 6d 69 64 20 2b 20 4d 61 74 68 2e 69 6d 75 6c (mid + Math.imul
0003e100: 28 61 6c 34 2c 20 62 68 35 29 29 20 7c 20 30 3b (al4, bh5)) | 0;
0003e110: 5c 6e 20 20 20 20 6d 69 64 20 3d 20 28 6d 69 64 \n mid = (mid
0003e120: 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 68 34 + Math.imul(ah4
0003e130: 2c 20 62 6c 35 29 29 20 7c 20 30 3b 5c 6e 20 20 , bl5)) | 0;\n
0003e140: 20 20 68 69 20 3d 20 28 68 69 20 2b 20 4d 61 74 hi = (hi + Mat
0003e150: 68 2e 69 6d 75 6c 28 61 68 34 2c 20 62 68 35 29 h.imul(ah4, bh5)
0003e160: 29 20 7c 20 30 3b 5c 6e 20 20 20 20 6c 6f 20 3d ) | 0;\n lo =
0003e170: 20 28 6c 6f 20 2b 20 4d 61 74 68 2e 69 6d 75 6c (lo + Math.imul
0003e180: 28 61 6c 33 2c 20 62 6c 36 29 29 20 7c 20 30 3b (al3, bl6)) | 0;
0003e190: 5c 6e 20 20 20 20 6d 69 64 20 3d 20 28 6d 69 64 \n mid = (mid
0003e1a0: 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 6c 33 + Math.imul(al3
0003e1b0: 2c 20 62 68 36 29 29 20 7c 20 30 3b 5c 6e 20 20 , bh6)) | 0;\n
0003e1c0: 20 20 6d 69 64 20 3d 20 28 6d 69 64 20 2b 20 4d mid = (mid + M
0003e1d0: 61 74 68 2e 69 6d 75 6c 28 61 68 33 2c 20 62 6c ath.imul(ah3, bl
0003e1e0: 36 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 68 69 6)) | 0;\n hi
0003e1f0: 20 3d 20 28 68 69 20 2b 20 4d 61 74 68 2e 69 6d = (hi + Math.im
0003e200: 75 6c 28 61 68 33 2c 20 62 68 36 29 29 20 7c 20 ul(ah3, bh6)) |
0003e210: 30 3b 5c 6e 20 20 20 20 6c 6f 20 3d 20 28 6c 6f 0;\n lo = (lo
0003e220: 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 6c 32 + Math.imul(al2
0003e230: 2c 20 62 6c 37 29 29 20 7c 20 30 3b 5c 6e 20 20 , bl7)) | 0;\n
0003e240: 20 20 6d 69 64 20 3d 20 28 6d 69 64 20 2b 20 4d mid = (mid + M
0003e250: 61 74 68 2e 69 6d 75 6c 28 61 6c 32 2c 20 62 68 ath.imul(al2, bh
0003e260: 37 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 6d 69 7)) | 0;\n mi
0003e270: 64 20 3d 20 28 6d 69 64 20 2b 20 4d 61 74 68 2e d = (mid + Math.
0003e280: 69 6d 75 6c 28 61 68 32 2c 20 62 6c 37 29 29 20 imul(ah2, bl7))
0003e290: 7c 20 30 3b 5c 6e 20 20 20 20 68 69 20 3d 20 28 | 0;\n hi = (
0003e2a0: 68 69 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 hi + Math.imul(a
0003e2b0: 68 32 2c 20 62 68 37 29 29 20 7c 20 30 3b 5c 6e h2, bh7)) | 0;\n
0003e2c0: 20 20 20 20 6c 6f 20 3d 20 28 6c 6f 20 2b 20 4d lo = (lo + M
0003e2d0: 61 74 68 2e 69 6d 75 6c 28 61 6c 31 2c 20 62 6c ath.imul(al1, bl
0003e2e0: 38 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 6d 69 8)) | 0;\n mi
0003e2f0: 64 20 3d 20 28 6d 69 64 20 2b 20 4d 61 74 68 2e d = (mid + Math.
0003e300: 69 6d 75 6c 28 61 6c 31 2c 20 62 68 38 29 29 20 imul(al1, bh8))
0003e310: 7c 20 30 3b 5c 6e 20 20 20 20 6d 69 64 20 3d 20 | 0;\n mid =
0003e320: 28 6d 69 64 20 2b 20 4d 61 74 68 2e 69 6d 75 6c (mid + Math.imul
0003e330: 28 61 68 31 2c 20 62 6c 38 29 29 20 7c 20 30 3b (ah1, bl8)) | 0;
0003e340: 5c 6e 20 20 20 20 68 69 20 3d 20 28 68 69 20 2b \n hi = (hi +
0003e350: 20 4d 61 74 68 2e 69 6d 75 6c 28 61 68 31 2c 20 Math.imul(ah1,
0003e360: 62 68 38 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 bh8)) | 0;\n
0003e370: 6c 6f 20 3d 20 28 6c 6f 20 2b 20 4d 61 74 68 2e lo = (lo + Math.
0003e380: 69 6d 75 6c 28 61 6c 30 2c 20 62 6c 39 29 29 20 imul(al0, bl9))
0003e390: 7c 20 30 3b 5c 6e 20 20 20 20 6d 69 64 20 3d 20 | 0;\n mid =
0003e3a0: 28 6d 69 64 20 2b 20 4d 61 74 68 2e 69 6d 75 6c (mid + Math.imul
0003e3b0: 28 61 6c 30 2c 20 62 68 39 29 29 20 7c 20 30 3b (al0, bh9)) | 0;
0003e3c0: 5c 6e 20 20 20 20 6d 69 64 20 3d 20 28 6d 69 64 \n mid = (mid
0003e3d0: 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 68 30 + Math.imul(ah0
0003e3e0: 2c 20 62 6c 39 29 29 20 7c 20 30 3b 5c 6e 20 20 , bl9)) | 0;\n
0003e3f0: 20 20 68 69 20 3d 20 28 68 69 20 2b 20 4d 61 74 hi = (hi + Mat
0003e400: 68 2e 69 6d 75 6c 28 61 68 30 2c 20 62 68 39 29 h.imul(ah0, bh9)
0003e410: 29 20 7c 20 30 3b 5c 6e 20 20 20 20 76 61 72 20 ) | 0;\n var
0003e420: 77 39 20 3d 20 28 28 28 63 20 2b 20 6c 6f 29 20 w9 = (((c + lo)
0003e430: 7c 20 30 29 20 2b 20 28 28 6d 69 64 20 26 20 30 | 0) + ((mid & 0
0003e440: 78 31 66 66 66 29 20 3c 3c 20 31 33 29 29 20 7c x1fff) << 13)) |
0003e450: 20 30 3b 5c 6e 20 20 20 20 63 20 3d 20 28 28 28 0;\n c = (((
0003e460: 68 69 20 2b 20 28 6d 69 64 20 3e 3e 3e 20 31 33 hi + (mid >>> 13
0003e470: 29 29 20 7c 20 30 29 20 2b 20 28 77 39 20 3e 3e )) | 0) + (w9 >>
0003e480: 3e 20 32 36 29 29 20 7c 20 30 3b 5c 6e 20 20 20 > 26)) | 0;\n
0003e490: 20 77 39 20 26 3d 20 30 78 33 66 66 66 66 66 66 w9 &= 0x3ffffff
0003e4a0: 3b 5c 6e 20 20 20 20 2f 2a 20 6b 20 3d 20 31 30 ;\n /* k = 10
0003e4b0: 20 2a 2f 5c 6e 20 20 20 20 6c 6f 20 3d 20 4d 61 */\n lo = Ma
0003e4c0: 74 68 2e 69 6d 75 6c 28 61 6c 39 2c 20 62 6c 31 th.imul(al9, bl1
0003e4d0: 29 3b 5c 6e 20 20 20 20 6d 69 64 20 3d 20 4d 61 );\n mid = Ma
0003e4e0: 74 68 2e 69 6d 75 6c 28 61 6c 39 2c 20 62 68 31 th.imul(al9, bh1
0003e4f0: 29 3b 5c 6e 20 20 20 20 6d 69 64 20 3d 20 28 6d );\n mid = (m
0003e500: 69 64 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 id + Math.imul(a
0003e510: 68 39 2c 20 62 6c 31 29 29 20 7c 20 30 3b 5c 6e h9, bl1)) | 0;\n
0003e520: 20 20 20 20 68 69 20 3d 20 4d 61 74 68 2e 69 6d hi = Math.im
0003e530: 75 6c 28 61 68 39 2c 20 62 68 31 29 3b 5c 6e 20 ul(ah9, bh1);\n
0003e540: 20 20 20 6c 6f 20 3d 20 28 6c 6f 20 2b 20 4d 61 lo = (lo + Ma
0003e550: 74 68 2e 69 6d 75 6c 28 61 6c 38 2c 20 62 6c 32 th.imul(al8, bl2
0003e560: 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 6d 69 64 )) | 0;\n mid
0003e570: 20 3d 20 28 6d 69 64 20 2b 20 4d 61 74 68 2e 69 = (mid + Math.i
0003e580: 6d 75 6c 28 61 6c 38 2c 20 62 68 32 29 29 20 7c mul(al8, bh2)) |
0003e590: 20 30 3b 5c 6e 20 20 20 20 6d 69 64 20 3d 20 28 0;\n mid = (
0003e5a0: 6d 69 64 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 mid + Math.imul(
0003e5b0: 61 68 38 2c 20 62 6c 32 29 29 20 7c 20 30 3b 5c ah8, bl2)) | 0;\
0003e5c0: 6e 20 20 20 20 68 69 20 3d 20 28 68 69 20 2b 20 n hi = (hi +
0003e5d0: 4d 61 74 68 2e 69 6d 75 6c 28 61 68 38 2c 20 62 Math.imul(ah8, b
0003e5e0: 68 32 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 6c h2)) | 0;\n l
0003e5f0: 6f 20 3d 20 28 6c 6f 20 2b 20 4d 61 74 68 2e 69 o = (lo + Math.i
0003e600: 6d 75 6c 28 61 6c 37 2c 20 62 6c 33 29 29 20 7c mul(al7, bl3)) |
0003e610: 20 30 3b 5c 6e 20 20 20 20 6d 69 64 20 3d 20 28 0;\n mid = (
0003e620: 6d 69 64 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 mid + Math.imul(
0003e630: 61 6c 37 2c 20 62 68 33 29 29 20 7c 20 30 3b 5c al7, bh3)) | 0;\
0003e640: 6e 20 20 20 20 6d 69 64 20 3d 20 28 6d 69 64 20 n mid = (mid
0003e650: 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 68 37 2c + Math.imul(ah7,
0003e660: 20 62 6c 33 29 29 20 7c 20 30 3b 5c 6e 20 20 20 bl3)) | 0;\n
0003e670: 20 68 69 20 3d 20 28 68 69 20 2b 20 4d 61 74 68 hi = (hi + Math
0003e680: 2e 69 6d 75 6c 28 61 68 37 2c 20 62 68 33 29 29 .imul(ah7, bh3))
0003e690: 20 7c 20 30 3b 5c 6e 20 20 20 20 6c 6f 20 3d 20 | 0;\n lo =
0003e6a0: 28 6c 6f 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 (lo + Math.imul(
0003e6b0: 61 6c 36 2c 20 62 6c 34 29 29 20 7c 20 30 3b 5c al6, bl4)) | 0;\
0003e6c0: 6e 20 20 20 20 6d 69 64 20 3d 20 28 6d 69 64 20 n mid = (mid
0003e6d0: 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 6c 36 2c + Math.imul(al6,
0003e6e0: 20 62 68 34 29 29 20 7c 20 30 3b 5c 6e 20 20 20 bh4)) | 0;\n
0003e6f0: 20 6d 69 64 20 3d 20 28 6d 69 64 20 2b 20 4d 61 mid = (mid + Ma
0003e700: 74 68 2e 69 6d 75 6c 28 61 68 36 2c 20 62 6c 34 th.imul(ah6, bl4
0003e710: 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 68 69 20 )) | 0;\n hi
0003e720: 3d 20 28 68 69 20 2b 20 4d 61 74 68 2e 69 6d 75 = (hi + Math.imu
0003e730: 6c 28 61 68 36 2c 20 62 68 34 29 29 20 7c 20 30 l(ah6, bh4)) | 0
0003e740: 3b 5c 6e 20 20 20 20 6c 6f 20 3d 20 28 6c 6f 20 ;\n lo = (lo
0003e750: 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 6c 35 2c + Math.imul(al5,
0003e760: 20 62 6c 35 29 29 20 7c 20 30 3b 5c 6e 20 20 20 bl5)) | 0;\n
0003e770: 20 6d 69 64 20 3d 20 28 6d 69 64 20 2b 20 4d 61 mid = (mid + Ma
0003e780: 74 68 2e 69 6d 75 6c 28 61 6c 35 2c 20 62 68 35 th.imul(al5, bh5
0003e790: 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 6d 69 64 )) | 0;\n mid
0003e7a0: 20 3d 20 28 6d 69 64 20 2b 20 4d 61 74 68 2e 69 = (mid + Math.i
0003e7b0: 6d 75 6c 28 61 68 35 2c 20 62 6c 35 29 29 20 7c mul(ah5, bl5)) |
0003e7c0: 20 30 3b 5c 6e 20 20 20 20 68 69 20 3d 20 28 68 0;\n hi = (h
0003e7d0: 69 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 68 i + Math.imul(ah
0003e7e0: 35 2c 20 62 68 35 29 29 20 7c 20 30 3b 5c 6e 20 5, bh5)) | 0;\n
0003e7f0: 20 20 20 6c 6f 20 3d 20 28 6c 6f 20 2b 20 4d 61 lo = (lo + Ma
0003e800: 74 68 2e 69 6d 75 6c 28 61 6c 34 2c 20 62 6c 36 th.imul(al4, bl6
0003e810: 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 6d 69 64 )) | 0;\n mid
0003e820: 20 3d 20 28 6d 69 64 20 2b 20 4d 61 74 68 2e 69 = (mid + Math.i
0003e830: 6d 75 6c 28 61 6c 34 2c 20 62 68 36 29 29 20 7c mul(al4, bh6)) |
0003e840: 20 30 3b 5c 6e 20 20 20 20 6d 69 64 20 3d 20 28 0;\n mid = (
0003e850: 6d 69 64 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 mid + Math.imul(
0003e860: 61 68 34 2c 20 62 6c 36 29 29 20 7c 20 30 3b 5c ah4, bl6)) | 0;\
0003e870: 6e 20 20 20 20 68 69 20 3d 20 28 68 69 20 2b 20 n hi = (hi +
0003e880: 4d 61 74 68 2e 69 6d 75 6c 28 61 68 34 2c 20 62 Math.imul(ah4, b
0003e890: 68 36 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 6c h6)) | 0;\n l
0003e8a0: 6f 20 3d 20 28 6c 6f 20 2b 20 4d 61 74 68 2e 69 o = (lo + Math.i
0003e8b0: 6d 75 6c 28 61 6c 33 2c 20 62 6c 37 29 29 20 7c mul(al3, bl7)) |
0003e8c0: 20 30 3b 5c 6e 20 20 20 20 6d 69 64 20 3d 20 28 0;\n mid = (
0003e8d0: 6d 69 64 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 mid + Math.imul(
0003e8e0: 61 6c 33 2c 20 62 68 37 29 29 20 7c 20 30 3b 5c al3, bh7)) | 0;\
0003e8f0: 6e 20 20 20 20 6d 69 64 20 3d 20 28 6d 69 64 20 n mid = (mid
0003e900: 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 68 33 2c + Math.imul(ah3,
0003e910: 20 62 6c 37 29 29 20 7c 20 30 3b 5c 6e 20 20 20 bl7)) | 0;\n
0003e920: 20 68 69 20 3d 20 28 68 69 20 2b 20 4d 61 74 68 hi = (hi + Math
0003e930: 2e 69 6d 75 6c 28 61 68 33 2c 20 62 68 37 29 29 .imul(ah3, bh7))
0003e940: 20 7c 20 30 3b 5c 6e 20 20 20 20 6c 6f 20 3d 20 | 0;\n lo =
0003e950: 28 6c 6f 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 (lo + Math.imul(
0003e960: 61 6c 32 2c 20 62 6c 38 29 29 20 7c 20 30 3b 5c al2, bl8)) | 0;\
0003e970: 6e 20 20 20 20 6d 69 64 20 3d 20 28 6d 69 64 20 n mid = (mid
0003e980: 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 6c 32 2c + Math.imul(al2,
0003e990: 20 62 68 38 29 29 20 7c 20 30 3b 5c 6e 20 20 20 bh8)) | 0;\n
0003e9a0: 20 6d 69 64 20 3d 20 28 6d 69 64 20 2b 20 4d 61 mid = (mid + Ma
0003e9b0: 74 68 2e 69 6d 75 6c 28 61 68 32 2c 20 62 6c 38 th.imul(ah2, bl8
0003e9c0: 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 68 69 20 )) | 0;\n hi
0003e9d0: 3d 20 28 68 69 20 2b 20 4d 61 74 68 2e 69 6d 75 = (hi + Math.imu
0003e9e0: 6c 28 61 68 32 2c 20 62 68 38 29 29 20 7c 20 30 l(ah2, bh8)) | 0
0003e9f0: 3b 5c 6e 20 20 20 20 6c 6f 20 3d 20 28 6c 6f 20 ;\n lo = (lo
0003ea00: 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 6c 31 2c + Math.imul(al1,
0003ea10: 20 62 6c 39 29 29 20 7c 20 30 3b 5c 6e 20 20 20 bl9)) | 0;\n
0003ea20: 20 6d 69 64 20 3d 20 28 6d 69 64 20 2b 20 4d 61 mid = (mid + Ma
0003ea30: 74 68 2e 69 6d 75 6c 28 61 6c 31 2c 20 62 68 39 th.imul(al1, bh9
0003ea40: 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 6d 69 64 )) | 0;\n mid
0003ea50: 20 3d 20 28 6d 69 64 20 2b 20 4d 61 74 68 2e 69 = (mid + Math.i
0003ea60: 6d 75 6c 28 61 68 31 2c 20 62 6c 39 29 29 20 7c mul(ah1, bl9)) |
0003ea70: 20 30 3b 5c 6e 20 20 20 20 68 69 20 3d 20 28 68 0;\n hi = (h
0003ea80: 69 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 68 i + Math.imul(ah
0003ea90: 31 2c 20 62 68 39 29 29 20 7c 20 30 3b 5c 6e 20 1, bh9)) | 0;\n
0003eaa0: 20 20 20 76 61 72 20 77 31 30 20 3d 20 28 28 28 var w10 = (((
0003eab0: 63 20 2b 20 6c 6f 29 20 7c 20 30 29 20 2b 20 28 c + lo) | 0) + (
0003eac0: 28 6d 69 64 20 26 20 30 78 31 66 66 66 29 20 3c (mid & 0x1fff) <
0003ead0: 3c 20 31 33 29 29 20 7c 20 30 3b 5c 6e 20 20 20 < 13)) | 0;\n
0003eae0: 20 63 20 3d 20 28 28 28 68 69 20 2b 20 28 6d 69 c = (((hi + (mi
0003eaf0: 64 20 3e 3e 3e 20 31 33 29 29 20 7c 20 30 29 20 d >>> 13)) | 0)
0003eb00: 2b 20 28 77 31 30 20 3e 3e 3e 20 32 36 29 29 20 + (w10 >>> 26))
0003eb10: 7c 20 30 3b 5c 6e 20 20 20 20 77 31 30 20 26 3d | 0;\n w10 &=
0003eb20: 20 30 78 33 66 66 66 66 66 66 3b 5c 6e 20 20 20 0x3ffffff;\n
0003eb30: 20 2f 2a 20 6b 20 3d 20 31 31 20 2a 2f 5c 6e 20 /* k = 11 */\n
0003eb40: 20 20 20 6c 6f 20 3d 20 4d 61 74 68 2e 69 6d 75 lo = Math.imu
0003eb50: 6c 28 61 6c 39 2c 20 62 6c 32 29 3b 5c 6e 20 20 l(al9, bl2);\n
0003eb60: 20 20 6d 69 64 20 3d 20 4d 61 74 68 2e 69 6d 75 mid = Math.imu
0003eb70: 6c 28 61 6c 39 2c 20 62 68 32 29 3b 5c 6e 20 20 l(al9, bh2);\n
0003eb80: 20 20 6d 69 64 20 3d 20 28 6d 69 64 20 2b 20 4d mid = (mid + M
0003eb90: 61 74 68 2e 69 6d 75 6c 28 61 68 39 2c 20 62 6c ath.imul(ah9, bl
0003eba0: 32 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 68 69 2)) | 0;\n hi
0003ebb0: 20 3d 20 4d 61 74 68 2e 69 6d 75 6c 28 61 68 39 = Math.imul(ah9
0003ebc0: 2c 20 62 68 32 29 3b 5c 6e 20 20 20 20 6c 6f 20 , bh2);\n lo
0003ebd0: 3d 20 28 6c 6f 20 2b 20 4d 61 74 68 2e 69 6d 75 = (lo + Math.imu
0003ebe0: 6c 28 61 6c 38 2c 20 62 6c 33 29 29 20 7c 20 30 l(al8, bl3)) | 0
0003ebf0: 3b 5c 6e 20 20 20 20 6d 69 64 20 3d 20 28 6d 69 ;\n mid = (mi
0003ec00: 64 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 6c d + Math.imul(al
0003ec10: 38 2c 20 62 68 33 29 29 20 7c 20 30 3b 5c 6e 20 8, bh3)) | 0;\n
0003ec20: 20 20 20 6d 69 64 20 3d 20 28 6d 69 64 20 2b 20 mid = (mid +
0003ec30: 4d 61 74 68 2e 69 6d 75 6c 28 61 68 38 2c 20 62 Math.imul(ah8, b
0003ec40: 6c 33 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 68 l3)) | 0;\n h
0003ec50: 69 20 3d 20 28 68 69 20 2b 20 4d 61 74 68 2e 69 i = (hi + Math.i
0003ec60: 6d 75 6c 28 61 68 38 2c 20 62 68 33 29 29 20 7c mul(ah8, bh3)) |
0003ec70: 20 30 3b 5c 6e 20 20 20 20 6c 6f 20 3d 20 28 6c 0;\n lo = (l
0003ec80: 6f 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 6c o + Math.imul(al
0003ec90: 37 2c 20 62 6c 34 29 29 20 7c 20 30 3b 5c 6e 20 7, bl4)) | 0;\n
0003eca0: 20 20 20 6d 69 64 20 3d 20 28 6d 69 64 20 2b 20 mid = (mid +
0003ecb0: 4d 61 74 68 2e 69 6d 75 6c 28 61 6c 37 2c 20 62 Math.imul(al7, b
0003ecc0: 68 34 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 6d h4)) | 0;\n m
0003ecd0: 69 64 20 3d 20 28 6d 69 64 20 2b 20 4d 61 74 68 id = (mid + Math
0003ece0: 2e 69 6d 75 6c 28 61 68 37 2c 20 62 6c 34 29 29 .imul(ah7, bl4))
0003ecf0: 20 7c 20 30 3b 5c 6e 20 20 20 20 68 69 20 3d 20 | 0;\n hi =
0003ed00: 28 68 69 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 (hi + Math.imul(
0003ed10: 61 68 37 2c 20 62 68 34 29 29 20 7c 20 30 3b 5c ah7, bh4)) | 0;\
0003ed20: 6e 20 20 20 20 6c 6f 20 3d 20 28 6c 6f 20 2b 20 n lo = (lo +
0003ed30: 4d 61 74 68 2e 69 6d 75 6c 28 61 6c 36 2c 20 62 Math.imul(al6, b
0003ed40: 6c 35 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 6d l5)) | 0;\n m
0003ed50: 69 64 20 3d 20 28 6d 69 64 20 2b 20 4d 61 74 68 id = (mid + Math
0003ed60: 2e 69 6d 75 6c 28 61 6c 36 2c 20 62 68 35 29 29 .imul(al6, bh5))
0003ed70: 20 7c 20 30 3b 5c 6e 20 20 20 20 6d 69 64 20 3d | 0;\n mid =
0003ed80: 20 28 6d 69 64 20 2b 20 4d 61 74 68 2e 69 6d 75 (mid + Math.imu
0003ed90: 6c 28 61 68 36 2c 20 62 6c 35 29 29 20 7c 20 30 l(ah6, bl5)) | 0
0003eda0: 3b 5c 6e 20 20 20 20 68 69 20 3d 20 28 68 69 20 ;\n hi = (hi
0003edb0: 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 68 36 2c + Math.imul(ah6,
0003edc0: 20 62 68 35 29 29 20 7c 20 30 3b 5c 6e 20 20 20 bh5)) | 0;\n
0003edd0: 20 6c 6f 20 3d 20 28 6c 6f 20 2b 20 4d 61 74 68 lo = (lo + Math
0003ede0: 2e 69 6d 75 6c 28 61 6c 35 2c 20 62 6c 36 29 29 .imul(al5, bl6))
0003edf0: 20 7c 20 30 3b 5c 6e 20 20 20 20 6d 69 64 20 3d | 0;\n mid =
0003ee00: 20 28 6d 69 64 20 2b 20 4d 61 74 68 2e 69 6d 75 (mid + Math.imu
0003ee10: 6c 28 61 6c 35 2c 20 62 68 36 29 29 20 7c 20 30 l(al5, bh6)) | 0
0003ee20: 3b 5c 6e 20 20 20 20 6d 69 64 20 3d 20 28 6d 69 ;\n mid = (mi
0003ee30: 64 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 68 d + Math.imul(ah
0003ee40: 35 2c 20 62 6c 36 29 29 20 7c 20 30 3b 5c 6e 20 5, bl6)) | 0;\n
0003ee50: 20 20 20 68 69 20 3d 20 28 68 69 20 2b 20 4d 61 hi = (hi + Ma
0003ee60: 74 68 2e 69 6d 75 6c 28 61 68 35 2c 20 62 68 36 th.imul(ah5, bh6
0003ee70: 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 6c 6f 20 )) | 0;\n lo
0003ee80: 3d 20 28 6c 6f 20 2b 20 4d 61 74 68 2e 69 6d 75 = (lo + Math.imu
0003ee90: 6c 28 61 6c 34 2c 20 62 6c 37 29 29 20 7c 20 30 l(al4, bl7)) | 0
0003eea0: 3b 5c 6e 20 20 20 20 6d 69 64 20 3d 20 28 6d 69 ;\n mid = (mi
0003eeb0: 64 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 6c d + Math.imul(al
0003eec0: 34 2c 20 62 68 37 29 29 20 7c 20 30 3b 5c 6e 20 4, bh7)) | 0;\n
0003eed0: 20 20 20 6d 69 64 20 3d 20 28 6d 69 64 20 2b 20 mid = (mid +
0003eee0: 4d 61 74 68 2e 69 6d 75 6c 28 61 68 34 2c 20 62 Math.imul(ah4, b
0003eef0: 6c 37 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 68 l7)) | 0;\n h
0003ef00: 69 20 3d 20 28 68 69 20 2b 20 4d 61 74 68 2e 69 i = (hi + Math.i
0003ef10: 6d 75 6c 28 61 68 34 2c 20 62 68 37 29 29 20 7c mul(ah4, bh7)) |
0003ef20: 20 30 3b 5c 6e 20 20 20 20 6c 6f 20 3d 20 28 6c 0;\n lo = (l
0003ef30: 6f 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 6c o + Math.imul(al
0003ef40: 33 2c 20 62 6c 38 29 29 20 7c 20 30 3b 5c 6e 20 3, bl8)) | 0;\n
0003ef50: 20 20 20 6d 69 64 20 3d 20 28 6d 69 64 20 2b 20 mid = (mid +
0003ef60: 4d 61 74 68 2e 69 6d 75 6c 28 61 6c 33 2c 20 62 Math.imul(al3, b
0003ef70: 68 38 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 6d h8)) | 0;\n m
0003ef80: 69 64 20 3d 20 28 6d 69 64 20 2b 20 4d 61 74 68 id = (mid + Math
0003ef90: 2e 69 6d 75 6c 28 61 68 33 2c 20 62 6c 38 29 29 .imul(ah3, bl8))
0003efa0: 20 7c 20 30 3b 5c 6e 20 20 20 20 68 69 20 3d 20 | 0;\n hi =
0003efb0: 28 68 69 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 (hi + Math.imul(
0003efc0: 61 68 33 2c 20 62 68 38 29 29 20 7c 20 30 3b 5c ah3, bh8)) | 0;\
0003efd0: 6e 20 20 20 20 6c 6f 20 3d 20 28 6c 6f 20 2b 20 n lo = (lo +
0003efe0: 4d 61 74 68 2e 69 6d 75 6c 28 61 6c 32 2c 20 62 Math.imul(al2, b
0003eff0: 6c 39 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 6d l9)) | 0;\n m
0003f000: 69 64 20 3d 20 28 6d 69 64 20 2b 20 4d 61 74 68 id = (mid + Math
0003f010: 2e 69 6d 75 6c 28 61 6c 32 2c 20 62 68 39 29 29 .imul(al2, bh9))
0003f020: 20 7c 20 30 3b 5c 6e 20 20 20 20 6d 69 64 20 3d | 0;\n mid =
0003f030: 20 28 6d 69 64 20 2b 20 4d 61 74 68 2e 69 6d 75 (mid + Math.imu
0003f040: 6c 28 61 68 32 2c 20 62 6c 39 29 29 20 7c 20 30 l(ah2, bl9)) | 0
0003f050: 3b 5c 6e 20 20 20 20 68 69 20 3d 20 28 68 69 20 ;\n hi = (hi
0003f060: 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 68 32 2c + Math.imul(ah2,
0003f070: 20 62 68 39 29 29 20 7c 20 30 3b 5c 6e 20 20 20 bh9)) | 0;\n
0003f080: 20 76 61 72 20 77 31 31 20 3d 20 28 28 28 63 20 var w11 = (((c
0003f090: 2b 20 6c 6f 29 20 7c 20 30 29 20 2b 20 28 28 6d + lo) | 0) + ((m
0003f0a0: 69 64 20 26 20 30 78 31 66 66 66 29 20 3c 3c 20 id & 0x1fff) <<
0003f0b0: 31 33 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 63 13)) | 0;\n c
0003f0c0: 20 3d 20 28 28 28 68 69 20 2b 20 28 6d 69 64 20 = (((hi + (mid
0003f0d0: 3e 3e 3e 20 31 33 29 29 20 7c 20 30 29 20 2b 20 >>> 13)) | 0) +
0003f0e0: 28 77 31 31 20 3e 3e 3e 20 32 36 29 29 20 7c 20 (w11 >>> 26)) |
0003f0f0: 30 3b 5c 6e 20 20 20 20 77 31 31 20 26 3d 20 30 0;\n w11 &= 0
0003f100: 78 33 66 66 66 66 66 66 3b 5c 6e 20 20 20 20 2f x3ffffff;\n /
0003f110: 2a 20 6b 20 3d 20 31 32 20 2a 2f 5c 6e 20 20 20 * k = 12 */\n
0003f120: 20 6c 6f 20 3d 20 4d 61 74 68 2e 69 6d 75 6c 28 lo = Math.imul(
0003f130: 61 6c 39 2c 20 62 6c 33 29 3b 5c 6e 20 20 20 20 al9, bl3);\n
0003f140: 6d 69 64 20 3d 20 4d 61 74 68 2e 69 6d 75 6c 28 mid = Math.imul(
0003f150: 61 6c 39 2c 20 62 68 33 29 3b 5c 6e 20 20 20 20 al9, bh3);\n
0003f160: 6d 69 64 20 3d 20 28 6d 69 64 20 2b 20 4d 61 74 mid = (mid + Mat
0003f170: 68 2e 69 6d 75 6c 28 61 68 39 2c 20 62 6c 33 29 h.imul(ah9, bl3)
0003f180: 29 20 7c 20 30 3b 5c 6e 20 20 20 20 68 69 20 3d ) | 0;\n hi =
0003f190: 20 4d 61 74 68 2e 69 6d 75 6c 28 61 68 39 2c 20 Math.imul(ah9,
0003f1a0: 62 68 33 29 3b 5c 6e 20 20 20 20 6c 6f 20 3d 20 bh3);\n lo =
0003f1b0: 28 6c 6f 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 (lo + Math.imul(
0003f1c0: 61 6c 38 2c 20 62 6c 34 29 29 20 7c 20 30 3b 5c al8, bl4)) | 0;\
0003f1d0: 6e 20 20 20 20 6d 69 64 20 3d 20 28 6d 69 64 20 n mid = (mid
0003f1e0: 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 6c 38 2c + Math.imul(al8,
0003f1f0: 20 62 68 34 29 29 20 7c 20 30 3b 5c 6e 20 20 20 bh4)) | 0;\n
0003f200: 20 6d 69 64 20 3d 20 28 6d 69 64 20 2b 20 4d 61 mid = (mid + Ma
0003f210: 74 68 2e 69 6d 75 6c 28 61 68 38 2c 20 62 6c 34 th.imul(ah8, bl4
0003f220: 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 68 69 20 )) | 0;\n hi
0003f230: 3d 20 28 68 69 20 2b 20 4d 61 74 68 2e 69 6d 75 = (hi + Math.imu
0003f240: 6c 28 61 68 38 2c 20 62 68 34 29 29 20 7c 20 30 l(ah8, bh4)) | 0
0003f250: 3b 5c 6e 20 20 20 20 6c 6f 20 3d 20 28 6c 6f 20 ;\n lo = (lo
0003f260: 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 6c 37 2c + Math.imul(al7,
0003f270: 20 62 6c 35 29 29 20 7c 20 30 3b 5c 6e 20 20 20 bl5)) | 0;\n
0003f280: 20 6d 69 64 20 3d 20 28 6d 69 64 20 2b 20 4d 61 mid = (mid + Ma
0003f290: 74 68 2e 69 6d 75 6c 28 61 6c 37 2c 20 62 68 35 th.imul(al7, bh5
0003f2a0: 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 6d 69 64 )) | 0;\n mid
0003f2b0: 20 3d 20 28 6d 69 64 20 2b 20 4d 61 74 68 2e 69 = (mid + Math.i
0003f2c0: 6d 75 6c 28 61 68 37 2c 20 62 6c 35 29 29 20 7c mul(ah7, bl5)) |
0003f2d0: 20 30 3b 5c 6e 20 20 20 20 68 69 20 3d 20 28 68 0;\n hi = (h
0003f2e0: 69 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 68 i + Math.imul(ah
0003f2f0: 37 2c 20 62 68 35 29 29 20 7c 20 30 3b 5c 6e 20 7, bh5)) | 0;\n
0003f300: 20 20 20 6c 6f 20 3d 20 28 6c 6f 20 2b 20 4d 61 lo = (lo + Ma
0003f310: 74 68 2e 69 6d 75 6c 28 61 6c 36 2c 20 62 6c 36 th.imul(al6, bl6
0003f320: 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 6d 69 64 )) | 0;\n mid
0003f330: 20 3d 20 28 6d 69 64 20 2b 20 4d 61 74 68 2e 69 = (mid + Math.i
0003f340: 6d 75 6c 28 61 6c 36 2c 20 62 68 36 29 29 20 7c mul(al6, bh6)) |
0003f350: 20 30 3b 5c 6e 20 20 20 20 6d 69 64 20 3d 20 28 0;\n mid = (
0003f360: 6d 69 64 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 mid + Math.imul(
0003f370: 61 68 36 2c 20 62 6c 36 29 29 20 7c 20 30 3b 5c ah6, bl6)) | 0;\
0003f380: 6e 20 20 20 20 68 69 20 3d 20 28 68 69 20 2b 20 n hi = (hi +
0003f390: 4d 61 74 68 2e 69 6d 75 6c 28 61 68 36 2c 20 62 Math.imul(ah6, b
0003f3a0: 68 36 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 6c h6)) | 0;\n l
0003f3b0: 6f 20 3d 20 28 6c 6f 20 2b 20 4d 61 74 68 2e 69 o = (lo + Math.i
0003f3c0: 6d 75 6c 28 61 6c 35 2c 20 62 6c 37 29 29 20 7c mul(al5, bl7)) |
0003f3d0: 20 30 3b 5c 6e 20 20 20 20 6d 69 64 20 3d 20 28 0;\n mid = (
0003f3e0: 6d 69 64 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 mid + Math.imul(
0003f3f0: 61 6c 35 2c 20 62 68 37 29 29 20 7c 20 30 3b 5c al5, bh7)) | 0;\
0003f400: 6e 20 20 20 20 6d 69 64 20 3d 20 28 6d 69 64 20 n mid = (mid
0003f410: 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 68 35 2c + Math.imul(ah5,
0003f420: 20 62 6c 37 29 29 20 7c 20 30 3b 5c 6e 20 20 20 bl7)) | 0;\n
0003f430: 20 68 69 20 3d 20 28 68 69 20 2b 20 4d 61 74 68 hi = (hi + Math
0003f440: 2e 69 6d 75 6c 28 61 68 35 2c 20 62 68 37 29 29 .imul(ah5, bh7))
0003f450: 20 7c 20 30 3b 5c 6e 20 20 20 20 6c 6f 20 3d 20 | 0;\n lo =
0003f460: 28 6c 6f 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 (lo + Math.imul(
0003f470: 61 6c 34 2c 20 62 6c 38 29 29 20 7c 20 30 3b 5c al4, bl8)) | 0;\
0003f480: 6e 20 20 20 20 6d 69 64 20 3d 20 28 6d 69 64 20 n mid = (mid
0003f490: 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 6c 34 2c + Math.imul(al4,
0003f4a0: 20 62 68 38 29 29 20 7c 20 30 3b 5c 6e 20 20 20 bh8)) | 0;\n
0003f4b0: 20 6d 69 64 20 3d 20 28 6d 69 64 20 2b 20 4d 61 mid = (mid + Ma
0003f4c0: 74 68 2e 69 6d 75 6c 28 61 68 34 2c 20 62 6c 38 th.imul(ah4, bl8
0003f4d0: 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 68 69 20 )) | 0;\n hi
0003f4e0: 3d 20 28 68 69 20 2b 20 4d 61 74 68 2e 69 6d 75 = (hi + Math.imu
0003f4f0: 6c 28 61 68 34 2c 20 62 68 38 29 29 20 7c 20 30 l(ah4, bh8)) | 0
0003f500: 3b 5c 6e 20 20 20 20 6c 6f 20 3d 20 28 6c 6f 20 ;\n lo = (lo
0003f510: 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 6c 33 2c + Math.imul(al3,
0003f520: 20 62 6c 39 29 29 20 7c 20 30 3b 5c 6e 20 20 20 bl9)) | 0;\n
0003f530: 20 6d 69 64 20 3d 20 28 6d 69 64 20 2b 20 4d 61 mid = (mid + Ma
0003f540: 74 68 2e 69 6d 75 6c 28 61 6c 33 2c 20 62 68 39 th.imul(al3, bh9
0003f550: 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 6d 69 64 )) | 0;\n mid
0003f560: 20 3d 20 28 6d 69 64 20 2b 20 4d 61 74 68 2e 69 = (mid + Math.i
0003f570: 6d 75 6c 28 61 68 33 2c 20 62 6c 39 29 29 20 7c mul(ah3, bl9)) |
0003f580: 20 30 3b 5c 6e 20 20 20 20 68 69 20 3d 20 28 68 0;\n hi = (h
0003f590: 69 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 68 i + Math.imul(ah
0003f5a0: 33 2c 20 62 68 39 29 29 20 7c 20 30 3b 5c 6e 20 3, bh9)) | 0;\n
0003f5b0: 20 20 20 76 61 72 20 77 31 32 20 3d 20 28 28 28 var w12 = (((
0003f5c0: 63 20 2b 20 6c 6f 29 20 7c 20 30 29 20 2b 20 28 c + lo) | 0) + (
0003f5d0: 28 6d 69 64 20 26 20 30 78 31 66 66 66 29 20 3c (mid & 0x1fff) <
0003f5e0: 3c 20 31 33 29 29 20 7c 20 30 3b 5c 6e 20 20 20 < 13)) | 0;\n
0003f5f0: 20 63 20 3d 20 28 28 28 68 69 20 2b 20 28 6d 69 c = (((hi + (mi
0003f600: 64 20 3e 3e 3e 20 31 33 29 29 20 7c 20 30 29 20 d >>> 13)) | 0)
0003f610: 2b 20 28 77 31 32 20 3e 3e 3e 20 32 36 29 29 20 + (w12 >>> 26))
0003f620: 7c 20 30 3b 5c 6e 20 20 20 20 77 31 32 20 26 3d | 0;\n w12 &=
0003f630: 20 30 78 33 66 66 66 66 66 66 3b 5c 6e 20 20 20 0x3ffffff;\n
0003f640: 20 2f 2a 20 6b 20 3d 20 31 33 20 2a 2f 5c 6e 20 /* k = 13 */\n
0003f650: 20 20 20 6c 6f 20 3d 20 4d 61 74 68 2e 69 6d 75 lo = Math.imu
0003f660: 6c 28 61 6c 39 2c 20 62 6c 34 29 3b 5c 6e 20 20 l(al9, bl4);\n
0003f670: 20 20 6d 69 64 20 3d 20 4d 61 74 68 2e 69 6d 75 mid = Math.imu
0003f680: 6c 28 61 6c 39 2c 20 62 68 34 29 3b 5c 6e 20 20 l(al9, bh4);\n
0003f690: 20 20 6d 69 64 20 3d 20 28 6d 69 64 20 2b 20 4d mid = (mid + M
0003f6a0: 61 74 68 2e 69 6d 75 6c 28 61 68 39 2c 20 62 6c ath.imul(ah9, bl
0003f6b0: 34 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 68 69 4)) | 0;\n hi
0003f6c0: 20 3d 20 4d 61 74 68 2e 69 6d 75 6c 28 61 68 39 = Math.imul(ah9
0003f6d0: 2c 20 62 68 34 29 3b 5c 6e 20 20 20 20 6c 6f 20 , bh4);\n lo
0003f6e0: 3d 20 28 6c 6f 20 2b 20 4d 61 74 68 2e 69 6d 75 = (lo + Math.imu
0003f6f0: 6c 28 61 6c 38 2c 20 62 6c 35 29 29 20 7c 20 30 l(al8, bl5)) | 0
0003f700: 3b 5c 6e 20 20 20 20 6d 69 64 20 3d 20 28 6d 69 ;\n mid = (mi
0003f710: 64 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 6c d + Math.imul(al
0003f720: 38 2c 20 62 68 35 29 29 20 7c 20 30 3b 5c 6e 20 8, bh5)) | 0;\n
0003f730: 20 20 20 6d 69 64 20 3d 20 28 6d 69 64 20 2b 20 mid = (mid +
0003f740: 4d 61 74 68 2e 69 6d 75 6c 28 61 68 38 2c 20 62 Math.imul(ah8, b
0003f750: 6c 35 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 68 l5)) | 0;\n h
0003f760: 69 20 3d 20 28 68 69 20 2b 20 4d 61 74 68 2e 69 i = (hi + Math.i
0003f770: 6d 75 6c 28 61 68 38 2c 20 62 68 35 29 29 20 7c mul(ah8, bh5)) |
0003f780: 20 30 3b 5c 6e 20 20 20 20 6c 6f 20 3d 20 28 6c 0;\n lo = (l
0003f790: 6f 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 6c o + Math.imul(al
0003f7a0: 37 2c 20 62 6c 36 29 29 20 7c 20 30 3b 5c 6e 20 7, bl6)) | 0;\n
0003f7b0: 20 20 20 6d 69 64 20 3d 20 28 6d 69 64 20 2b 20 mid = (mid +
0003f7c0: 4d 61 74 68 2e 69 6d 75 6c 28 61 6c 37 2c 20 62 Math.imul(al7, b
0003f7d0: 68 36 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 6d h6)) | 0;\n m
0003f7e0: 69 64 20 3d 20 28 6d 69 64 20 2b 20 4d 61 74 68 id = (mid + Math
0003f7f0: 2e 69 6d 75 6c 28 61 68 37 2c 20 62 6c 36 29 29 .imul(ah7, bl6))
0003f800: 20 7c 20 30 3b 5c 6e 20 20 20 20 68 69 20 3d 20 | 0;\n hi =
0003f810: 28 68 69 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 (hi + Math.imul(
0003f820: 61 68 37 2c 20 62 68 36 29 29 20 7c 20 30 3b 5c ah7, bh6)) | 0;\
0003f830: 6e 20 20 20 20 6c 6f 20 3d 20 28 6c 6f 20 2b 20 n lo = (lo +
0003f840: 4d 61 74 68 2e 69 6d 75 6c 28 61 6c 36 2c 20 62 Math.imul(al6, b
0003f850: 6c 37 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 6d l7)) | 0;\n m
0003f860: 69 64 20 3d 20 28 6d 69 64 20 2b 20 4d 61 74 68 id = (mid + Math
0003f870: 2e 69 6d 75 6c 28 61 6c 36 2c 20 62 68 37 29 29 .imul(al6, bh7))
0003f880: 20 7c 20 30 3b 5c 6e 20 20 20 20 6d 69 64 20 3d | 0;\n mid =
0003f890: 20 28 6d 69 64 20 2b 20 4d 61 74 68 2e 69 6d 75 (mid + Math.imu
0003f8a0: 6c 28 61 68 36 2c 20 62 6c 37 29 29 20 7c 20 30 l(ah6, bl7)) | 0
0003f8b0: 3b 5c 6e 20 20 20 20 68 69 20 3d 20 28 68 69 20 ;\n hi = (hi
0003f8c0: 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 68 36 2c + Math.imul(ah6,
0003f8d0: 20 62 68 37 29 29 20 7c 20 30 3b 5c 6e 20 20 20 bh7)) | 0;\n
0003f8e0: 20 6c 6f 20 3d 20 28 6c 6f 20 2b 20 4d 61 74 68 lo = (lo + Math
0003f8f0: 2e 69 6d 75 6c 28 61 6c 35 2c 20 62 6c 38 29 29 .imul(al5, bl8))
0003f900: 20 7c 20 30 3b 5c 6e 20 20 20 20 6d 69 64 20 3d | 0;\n mid =
0003f910: 20 28 6d 69 64 20 2b 20 4d 61 74 68 2e 69 6d 75 (mid + Math.imu
0003f920: 6c 28 61 6c 35 2c 20 62 68 38 29 29 20 7c 20 30 l(al5, bh8)) | 0
0003f930: 3b 5c 6e 20 20 20 20 6d 69 64 20 3d 20 28 6d 69 ;\n mid = (mi
0003f940: 64 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 68 d + Math.imul(ah
0003f950: 35 2c 20 62 6c 38 29 29 20 7c 20 30 3b 5c 6e 20 5, bl8)) | 0;\n
0003f960: 20 20 20 68 69 20 3d 20 28 68 69 20 2b 20 4d 61 hi = (hi + Ma
0003f970: 74 68 2e 69 6d 75 6c 28 61 68 35 2c 20 62 68 38 th.imul(ah5, bh8
0003f980: 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 6c 6f 20 )) | 0;\n lo
0003f990: 3d 20 28 6c 6f 20 2b 20 4d 61 74 68 2e 69 6d 75 = (lo + Math.imu
0003f9a0: 6c 28 61 6c 34 2c 20 62 6c 39 29 29 20 7c 20 30 l(al4, bl9)) | 0
0003f9b0: 3b 5c 6e 20 20 20 20 6d 69 64 20 3d 20 28 6d 69 ;\n mid = (mi
0003f9c0: 64 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 6c d + Math.imul(al
0003f9d0: 34 2c 20 62 68 39 29 29 20 7c 20 30 3b 5c 6e 20 4, bh9)) | 0;\n
0003f9e0: 20 20 20 6d 69 64 20 3d 20 28 6d 69 64 20 2b 20 mid = (mid +
0003f9f0: 4d 61 74 68 2e 69 6d 75 6c 28 61 68 34 2c 20 62 Math.imul(ah4, b
0003fa00: 6c 39 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 68 l9)) | 0;\n h
0003fa10: 69 20 3d 20 28 68 69 20 2b 20 4d 61 74 68 2e 69 i = (hi + Math.i
0003fa20: 6d 75 6c 28 61 68 34 2c 20 62 68 39 29 29 20 7c mul(ah4, bh9)) |
0003fa30: 20 30 3b 5c 6e 20 20 20 20 76 61 72 20 77 31 33 0;\n var w13
0003fa40: 20 3d 20 28 28 28 63 20 2b 20 6c 6f 29 20 7c 20 = (((c + lo) |
0003fa50: 30 29 20 2b 20 28 28 6d 69 64 20 26 20 30 78 31 0) + ((mid & 0x1
0003fa60: 66 66 66 29 20 3c 3c 20 31 33 29 29 20 7c 20 30 fff) << 13)) | 0
0003fa70: 3b 5c 6e 20 20 20 20 63 20 3d 20 28 28 28 68 69 ;\n c = (((hi
0003fa80: 20 2b 20 28 6d 69 64 20 3e 3e 3e 20 31 33 29 29 + (mid >>> 13))
0003fa90: 20 7c 20 30 29 20 2b 20 28 77 31 33 20 3e 3e 3e | 0) + (w13 >>>
0003faa0: 20 32 36 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 26)) | 0;\n
0003fab0: 77 31 33 20 26 3d 20 30 78 33 66 66 66 66 66 66 w13 &= 0x3ffffff
0003fac0: 3b 5c 6e 20 20 20 20 2f 2a 20 6b 20 3d 20 31 34 ;\n /* k = 14
0003fad0: 20 2a 2f 5c 6e 20 20 20 20 6c 6f 20 3d 20 4d 61 */\n lo = Ma
0003fae0: 74 68 2e 69 6d 75 6c 28 61 6c 39 2c 20 62 6c 35 th.imul(al9, bl5
0003faf0: 29 3b 5c 6e 20 20 20 20 6d 69 64 20 3d 20 4d 61 );\n mid = Ma
0003fb00: 74 68 2e 69 6d 75 6c 28 61 6c 39 2c 20 62 68 35 th.imul(al9, bh5
0003fb10: 29 3b 5c 6e 20 20 20 20 6d 69 64 20 3d 20 28 6d );\n mid = (m
0003fb20: 69 64 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 id + Math.imul(a
0003fb30: 68 39 2c 20 62 6c 35 29 29 20 7c 20 30 3b 5c 6e h9, bl5)) | 0;\n
0003fb40: 20 20 20 20 68 69 20 3d 20 4d 61 74 68 2e 69 6d hi = Math.im
0003fb50: 75 6c 28 61 68 39 2c 20 62 68 35 29 3b 5c 6e 20 ul(ah9, bh5);\n
0003fb60: 20 20 20 6c 6f 20 3d 20 28 6c 6f 20 2b 20 4d 61 lo = (lo + Ma
0003fb70: 74 68 2e 69 6d 75 6c 28 61 6c 38 2c 20 62 6c 36 th.imul(al8, bl6
0003fb80: 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 6d 69 64 )) | 0;\n mid
0003fb90: 20 3d 20 28 6d 69 64 20 2b 20 4d 61 74 68 2e 69 = (mid + Math.i
0003fba0: 6d 75 6c 28 61 6c 38 2c 20 62 68 36 29 29 20 7c mul(al8, bh6)) |
0003fbb0: 20 30 3b 5c 6e 20 20 20 20 6d 69 64 20 3d 20 28 0;\n mid = (
0003fbc0: 6d 69 64 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 mid + Math.imul(
0003fbd0: 61 68 38 2c 20 62 6c 36 29 29 20 7c 20 30 3b 5c ah8, bl6)) | 0;\
0003fbe0: 6e 20 20 20 20 68 69 20 3d 20 28 68 69 20 2b 20 n hi = (hi +
0003fbf0: 4d 61 74 68 2e 69 6d 75 6c 28 61 68 38 2c 20 62 Math.imul(ah8, b
0003fc00: 68 36 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 6c h6)) | 0;\n l
0003fc10: 6f 20 3d 20 28 6c 6f 20 2b 20 4d 61 74 68 2e 69 o = (lo + Math.i
0003fc20: 6d 75 6c 28 61 6c 37 2c 20 62 6c 37 29 29 20 7c mul(al7, bl7)) |
0003fc30: 20 30 3b 5c 6e 20 20 20 20 6d 69 64 20 3d 20 28 0;\n mid = (
0003fc40: 6d 69 64 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 mid + Math.imul(
0003fc50: 61 6c 37 2c 20 62 68 37 29 29 20 7c 20 30 3b 5c al7, bh7)) | 0;\
0003fc60: 6e 20 20 20 20 6d 69 64 20 3d 20 28 6d 69 64 20 n mid = (mid
0003fc70: 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 68 37 2c + Math.imul(ah7,
0003fc80: 20 62 6c 37 29 29 20 7c 20 30 3b 5c 6e 20 20 20 bl7)) | 0;\n
0003fc90: 20 68 69 20 3d 20 28 68 69 20 2b 20 4d 61 74 68 hi = (hi + Math
0003fca0: 2e 69 6d 75 6c 28 61 68 37 2c 20 62 68 37 29 29 .imul(ah7, bh7))
0003fcb0: 20 7c 20 30 3b 5c 6e 20 20 20 20 6c 6f 20 3d 20 | 0;\n lo =
0003fcc0: 28 6c 6f 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 (lo + Math.imul(
0003fcd0: 61 6c 36 2c 20 62 6c 38 29 29 20 7c 20 30 3b 5c al6, bl8)) | 0;\
0003fce0: 6e 20 20 20 20 6d 69 64 20 3d 20 28 6d 69 64 20 n mid = (mid
0003fcf0: 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 6c 36 2c + Math.imul(al6,
0003fd00: 20 62 68 38 29 29 20 7c 20 30 3b 5c 6e 20 20 20 bh8)) | 0;\n
0003fd10: 20 6d 69 64 20 3d 20 28 6d 69 64 20 2b 20 4d 61 mid = (mid + Ma
0003fd20: 74 68 2e 69 6d 75 6c 28 61 68 36 2c 20 62 6c 38 th.imul(ah6, bl8
0003fd30: 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 68 69 20 )) | 0;\n hi
0003fd40: 3d 20 28 68 69 20 2b 20 4d 61 74 68 2e 69 6d 75 = (hi + Math.imu
0003fd50: 6c 28 61 68 36 2c 20 62 68 38 29 29 20 7c 20 30 l(ah6, bh8)) | 0
0003fd60: 3b 5c 6e 20 20 20 20 6c 6f 20 3d 20 28 6c 6f 20 ;\n lo = (lo
0003fd70: 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 6c 35 2c + Math.imul(al5,
0003fd80: 20 62 6c 39 29 29 20 7c 20 30 3b 5c 6e 20 20 20 bl9)) | 0;\n
0003fd90: 20 6d 69 64 20 3d 20 28 6d 69 64 20 2b 20 4d 61 mid = (mid + Ma
0003fda0: 74 68 2e 69 6d 75 6c 28 61 6c 35 2c 20 62 68 39 th.imul(al5, bh9
0003fdb0: 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 6d 69 64 )) | 0;\n mid
0003fdc0: 20 3d 20 28 6d 69 64 20 2b 20 4d 61 74 68 2e 69 = (mid + Math.i
0003fdd0: 6d 75 6c 28 61 68 35 2c 20 62 6c 39 29 29 20 7c mul(ah5, bl9)) |
0003fde0: 20 30 3b 5c 6e 20 20 20 20 68 69 20 3d 20 28 68 0;\n hi = (h
0003fdf0: 69 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 68 i + Math.imul(ah
0003fe00: 35 2c 20 62 68 39 29 29 20 7c 20 30 3b 5c 6e 20 5, bh9)) | 0;\n
0003fe10: 20 20 20 76 61 72 20 77 31 34 20 3d 20 28 28 28 var w14 = (((
0003fe20: 63 20 2b 20 6c 6f 29 20 7c 20 30 29 20 2b 20 28 c + lo) | 0) + (
0003fe30: 28 6d 69 64 20 26 20 30 78 31 66 66 66 29 20 3c (mid & 0x1fff) <
0003fe40: 3c 20 31 33 29 29 20 7c 20 30 3b 5c 6e 20 20 20 < 13)) | 0;\n
0003fe50: 20 63 20 3d 20 28 28 28 68 69 20 2b 20 28 6d 69 c = (((hi + (mi
0003fe60: 64 20 3e 3e 3e 20 31 33 29 29 20 7c 20 30 29 20 d >>> 13)) | 0)
0003fe70: 2b 20 28 77 31 34 20 3e 3e 3e 20 32 36 29 29 20 + (w14 >>> 26))
0003fe80: 7c 20 30 3b 5c 6e 20 20 20 20 77 31 34 20 26 3d | 0;\n w14 &=
0003fe90: 20 30 78 33 66 66 66 66 66 66 3b 5c 6e 20 20 20 0x3ffffff;\n
0003fea0: 20 2f 2a 20 6b 20 3d 20 31 35 20 2a 2f 5c 6e 20 /* k = 15 */\n
0003feb0: 20 20 20 6c 6f 20 3d 20 4d 61 74 68 2e 69 6d 75 lo = Math.imu
0003fec0: 6c 28 61 6c 39 2c 20 62 6c 36 29 3b 5c 6e 20 20 l(al9, bl6);\n
0003fed0: 20 20 6d 69 64 20 3d 20 4d 61 74 68 2e 69 6d 75 mid = Math.imu
0003fee0: 6c 28 61 6c 39 2c 20 62 68 36 29 3b 5c 6e 20 20 l(al9, bh6);\n
0003fef0: 20 20 6d 69 64 20 3d 20 28 6d 69 64 20 2b 20 4d mid = (mid + M
0003ff00: 61 74 68 2e 69 6d 75 6c 28 61 68 39 2c 20 62 6c ath.imul(ah9, bl
0003ff10: 36 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 68 69 6)) | 0;\n hi
0003ff20: 20 3d 20 4d 61 74 68 2e 69 6d 75 6c 28 61 68 39 = Math.imul(ah9
0003ff30: 2c 20 62 68 36 29 3b 5c 6e 20 20 20 20 6c 6f 20 , bh6);\n lo
0003ff40: 3d 20 28 6c 6f 20 2b 20 4d 61 74 68 2e 69 6d 75 = (lo + Math.imu
0003ff50: 6c 28 61 6c 38 2c 20 62 6c 37 29 29 20 7c 20 30 l(al8, bl7)) | 0
0003ff60: 3b 5c 6e 20 20 20 20 6d 69 64 20 3d 20 28 6d 69 ;\n mid = (mi
0003ff70: 64 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 6c d + Math.imul(al
0003ff80: 38 2c 20 62 68 37 29 29 20 7c 20 30 3b 5c 6e 20 8, bh7)) | 0;\n
0003ff90: 20 20 20 6d 69 64 20 3d 20 28 6d 69 64 20 2b 20 mid = (mid +
0003ffa0: 4d 61 74 68 2e 69 6d 75 6c 28 61 68 38 2c 20 62 Math.imul(ah8, b
0003ffb0: 6c 37 29 29 20 7c 20 30 3b 5c 6e 20 20 20 20 68 l7)) | 0;\n h
0003ffc0: 69 20 3d 20 28 68 69 20 2b 20 4d 61 74 68 2e 69 i = (hi + Math.i
0003ffd0: 6d 75 6c 28 61 68 38 2c 20 62 68 37 29 29 20 7c mul(ah8, bh7)) |
0003ffe0: 20 30 3b 5c 6e 20 20 20 20 6c 6f 20 3d 20 28 6c 0;\n lo = (l
0003fff0: 6f 20 2b 20 4d 61 74 68 2e 69 6d 75 6c 28 61 6c o + Math.imul(al