function eventReaction(amount) {
  localUrl = ''
  reaction = localStorage.getItem('lnbits.reactions')
  if (!reaction || reaction === 'None') {
    return
  }
  try {
    if (amount < 0) {
      return
    }
    reaction = localStorage.getItem('lnbits.reactions')
    if (reaction) {
      window[reaction.split('|')[1]]()
    }
  } catch (e) {
    console.log(e)
  }
}
function confettiBothSides() {
  document.getElementById('vue').disabled = true
  var end = Date.now() + 2 * 1000
  var colors = ['#FFD700', '#ffffff']
  function frame() {
    confetti({
      particleCount: 2,
      angle: 60,
      spread: 55,
      origin: {x: 0},
      colors: colors,
      zIndex: 999999
    })
    confetti({
      particleCount: 2,
      angle: 120,
      spread: 55,
      origin: {x: 1},
      colors: colors,
      zIndex: 999999
    })
    if (Date.now() < end) {
      requestAnimationFrame(frame)
    } else {
      document.getElementById('vue').disabled = false
    }
  }
  frame()
}
function confettiFireworks() {
  var duration = 3 * 1000
  var animationEnd = Date.now() + duration
  var defaults = {startVelocity: 30, spread: 360, ticks: 60, zIndex: 0}

  function randomInRange(min, max) {
    return Math.random() * (max - min) + min
  }

  var interval = setInterval(function () {
    var timeLeft = animationEnd - Date.now()

    if (timeLeft <= 0) {
      return clearInterval(interval)
    }

    var particleCount = 5 * (timeLeft / duration)
    // since particles fall down, start a bit higher than random
    confetti({
      ...defaults,
      particleCount,
      origin: {x: randomInRange(0.1, 0.3), y: Math.random() - 0.2}
    })
    confetti({
      ...defaults,
      particleCount,
      origin: {x: randomInRange(0.7, 0.9), y: Math.random() - 0.2}
    })
  }, 250)
}

function confettiStars() {
  var defaults = {
    spread: 360,
    ticks: 50,
    gravity: 0,
    decay: 0.94,
    startVelocity: 30,
    colors: ['FFE400', 'FFBD00', 'E89400', 'FFCA6C', 'FDFFB8']
  }

  function shoot() {
    confetti({
      ...defaults,
      particleCount: 40,
      scalar: 1.2,
      shapes: ['star']
    })

    confetti({
      ...defaults,
      particleCount: 10,
      scalar: 0.75,
      shapes: ['circle']
    })
  }

  setTimeout(shoot, 0)
  setTimeout(shoot, 100)
  setTimeout(shoot, 200)
  setTimeout(shoot, 0)
  setTimeout(shoot, 100)
  setTimeout(shoot, 200)
}
!(function (t, e) {
  !(function t(e, n, a, i) {
    var o = !!(
      e.Worker &&
      e.Blob &&
      e.Promise &&
      e.OffscreenCanvas &&
      e.OffscreenCanvasRenderingContext2D &&
      e.HTMLCanvasElement &&
      e.HTMLCanvasElement.prototype.transferControlToOffscreen &&
      e.URL &&
      e.URL.createObjectURL
    )
    function r() {}
    function l(t) {
      var a = n.exports.Promise,
        i = void 0 !== a ? a : e.Promise
      return 'function' == typeof i ? new i(t) : (t(r, r), null)
    }
    var c,
      s,
      u,
      d,
      f,
      h,
      g,
      m,
      b =
        ((u = Math.floor(1e3 / 60)),
        (d = {}),
        (f = 0),
        'function' == typeof requestAnimationFrame &&
        'function' == typeof cancelAnimationFrame
          ? ((c = function (t) {
              var e = Math.random()
              return (
                (d[e] = requestAnimationFrame(function n(a) {
                  f === a || f + u - 1 < a
                    ? ((f = a), delete d[e], t())
                    : (d[e] = requestAnimationFrame(n))
                })),
                e
              )
            }),
            (s = function (t) {
              d[t] && cancelAnimationFrame(d[t])
            }))
          : ((c = function (t) {
              return setTimeout(t, u)
            }),
            (s = function (t) {
              return clearTimeout(t)
            })),
        {frame: c, cancel: s}),
      v =
        ((m = {}),
        function () {
          if (h) return h
          if (!a && o) {
            var e = [
              'var CONFETTI, SIZE = {}, module = {};',
              '(' + t.toString() + ')(this, module, true, SIZE);',
              'onmessage = function(msg) {',
              '  if (msg.data.options) {',
              '    CONFETTI(msg.data.options).then(function () {',
              '      if (msg.data.callback) {',
              '        postMessage({ callback: msg.data.callback });',
              '      }',
              '    });',
              '  } else if (msg.data.reset) {',
              '    CONFETTI.reset();',
              '  } else if (msg.data.resize) {',
              '    SIZE.width = msg.data.resize.width;',
              '    SIZE.height = msg.data.resize.height;',
              '  } else if (msg.data.canvas) {',
              '    SIZE.width = msg.data.canvas.width;',
              '    SIZE.height = msg.data.canvas.height;',
              '    CONFETTI = module.exports.create(msg.data.canvas);',
              '  }',
              '}'
            ].join('\n')
            try {
              h = new Worker(URL.createObjectURL(new Blob([e])))
            } catch (t) {
              return (
                void 0 !== typeof console &&
                  'function' == typeof console.warn &&
                  console.warn('🎊 Could not load worker', t),
                null
              )
            }
            !(function (t) {
              function e(e, n) {
                t.postMessage({options: e || {}, callback: n})
              }
              ;(t.init = function (e) {
                var n = e.transferControlToOffscreen()
                t.postMessage({canvas: n}, [n])
              }),
                (t.fire = function (n, a, i) {
                  if (g) return e(n, null), g
                  var o = Math.random().toString(36).slice(2)
                  return (g = l(function (a) {
                    function r(e) {
                      e.data.callback === o &&
                        (delete m[o],
                        t.removeEventListener('message', r),
                        (g = null),
                        i(),
                        a())
                    }
                    t.addEventListener('message', r),
                      e(n, o),
                      (m[o] = r.bind(null, {data: {callback: o}}))
                  }))
                }),
                (t.reset = function () {
                  for (var e in (t.postMessage({reset: !0}), m))
                    m[e](), delete m[e]
                })
            })(h)
          }
          return h
        }),
      y = {
        particleCount: 50,
        angle: 90,
        spread: 45,
        startVelocity: 45,
        decay: 0.9,
        gravity: 1,
        drift: 0,
        ticks: 200,
        x: 0.5,
        y: 0.5,
        shapes: ['square', 'circle'],
        zIndex: 100,
        colors: [
          '#26ccff',
          '#a25afd',
          '#ff5e7e',
          '#88ff5a',
          '#fcff42',
          '#ffa62d',
          '#ff36ff'
        ],
        disableForReducedMotion: !1,
        scalar: 1
      }
    function p(t, e, n) {
      return (function (t, e) {
        return e ? e(t) : t
      })(t && null != t[e] ? t[e] : y[e], n)
    }
    function M(t) {
      return t < 0 ? 0 : Math.floor(t)
    }
    function w(t) {
      return parseInt(t, 16)
    }
    function x(t) {
      return t.map(C)
    }
    function C(t) {
      var e = String(t).replace(/[^0-9a-f]/gi, '')
      return (
        e.length < 6 && (e = e[0] + e[0] + e[1] + e[1] + e[2] + e[2]),
        {
          r: w(e.substring(0, 2)),
          g: w(e.substring(2, 4)),
          b: w(e.substring(4, 6))
        }
      )
    }
    function k(t) {
      ;(t.width = document.documentElement.clientWidth),
        (t.height = document.documentElement.clientHeight)
    }
    function I(t) {
      var e = t.getBoundingClientRect()
      ;(t.width = e.width), (t.height = e.height)
    }
    function T(t, e, n, o, r) {
      var c,
        s,
        u = e.slice(),
        d = t.getContext('2d'),
        f = l(function (e) {
          function l() {
            ;(c = s = null), d.clearRect(0, 0, o.width, o.height), r(), e()
          }
          ;(c = b.frame(function e() {
            !a ||
              (o.width === i.width && o.height === i.height) ||
              ((o.width = t.width = i.width), (o.height = t.height = i.height)),
              o.width ||
                o.height ||
                (n(t), (o.width = t.width), (o.height = t.height)),
              d.clearRect(0, 0, o.width, o.height),
              (u = u.filter(function (t) {
                return (function (t, e) {
                  ;(e.x += Math.cos(e.angle2D) * e.velocity + e.drift),
                    (e.y += Math.sin(e.angle2D) * e.velocity + e.gravity),
                    (e.wobble += 0.1),
                    (e.velocity *= e.decay),
                    (e.tiltAngle += 0.1),
                    (e.tiltSin = Math.sin(e.tiltAngle)),
                    (e.tiltCos = Math.cos(e.tiltAngle)),
                    (e.random = Math.random() + 5),
                    (e.wobbleX = e.x + 10 * e.scalar * Math.cos(e.wobble)),
                    (e.wobbleY = e.y + 10 * e.scalar * Math.sin(e.wobble))
                  var n = e.tick++ / e.totalTicks,
                    a = e.x + e.random * e.tiltCos,
                    i = e.y + e.random * e.tiltSin,
                    o = e.wobbleX + e.random * e.tiltCos,
                    r = e.wobbleY + e.random * e.tiltSin
                  return (
                    (t.fillStyle =
                      'rgba(' +
                      e.color.r +
                      ', ' +
                      e.color.g +
                      ', ' +
                      e.color.b +
                      ', ' +
                      (1 - n) +
                      ')'),
                    t.beginPath(),
                    'circle' === e.shape
                      ? t.ellipse
                        ? t.ellipse(
                            e.x,
                            e.y,
                            Math.abs(o - a) * e.ovalScalar,
                            Math.abs(r - i) * e.ovalScalar,
                            (Math.PI / 10) * e.wobble,
                            0,
                            2 * Math.PI
                          )
                        : (function (t, e, n, a, i, o, r, l, c) {
                            t.save(),
                              t.translate(e, n),
                              t.rotate(o),
                              t.scale(a, i),
                              t.arc(0, 0, 1, r, l, c),
                              t.restore()
                          })(
                            t,
                            e.x,
                            e.y,
                            Math.abs(o - a) * e.ovalScalar,
                            Math.abs(r - i) * e.ovalScalar,
                            (Math.PI / 10) * e.wobble,
                            0,
                            2 * Math.PI
                          )
                      : (t.moveTo(Math.floor(e.x), Math.floor(e.y)),
                        t.lineTo(Math.floor(e.wobbleX), Math.floor(i)),
                        t.lineTo(Math.floor(o), Math.floor(r)),
                        t.lineTo(Math.floor(a), Math.floor(e.wobbleY))),
                    t.closePath(),
                    t.fill(),
                    e.tick < e.totalTicks
                  )
                })(d, t)
              })).length
                ? (c = b.frame(e))
                : l()
          })),
            (s = l)
        })
      return {
        addFettis: function (t) {
          return (u = u.concat(t)), f
        },
        canvas: t,
        promise: f,
        reset: function () {
          c && b.cancel(c), s && s()
        }
      }
    }
    function E(t, n) {
      var a,
        i = !t,
        r = !!p(n || {}, 'resize'),
        c = p(n, 'disableForReducedMotion', Boolean),
        s = o && !!p(n || {}, 'useWorker') ? v() : null,
        u = i ? k : I,
        d = !(!t || !s) && !!t.__confetti_initialized,
        f =
          'function' == typeof matchMedia &&
          matchMedia('(prefers-reduced-motion)').matches
      function h(e, n, i) {
        for (
          var o,
            r,
            l,
            c,
            s,
            d = p(e, 'particleCount', M),
            f = p(e, 'angle', Number),
            h = p(e, 'spread', Number),
            g = p(e, 'startVelocity', Number),
            m = p(e, 'decay', Number),
            b = p(e, 'gravity', Number),
            v = p(e, 'drift', Number),
            y = p(e, 'colors', x),
            w = p(e, 'ticks', Number),
            C = p(e, 'shapes'),
            k = p(e, 'scalar'),
            I = (function (t) {
              var e = p(t, 'origin', Object)
              return (e.x = p(e, 'x', Number)), (e.y = p(e, 'y', Number)), e
            })(e),
            E = d,
            S = [],
            F = t.width * I.x,
            N = t.height * I.y;
          E--;

        )
          S.push(
            ((o = {
              x: F,
              y: N,
              angle: f,
              spread: h,
              startVelocity: g,
              color: y[E % y.length],
              shape:
                C[
                  ((c = 0),
                  (s = C.length),
                  Math.floor(Math.random() * (s - c)) + c)
                ],
              ticks: w,
              decay: m,
              gravity: b,
              drift: v,
              scalar: k
            }),
            (r = void 0),
            (l = void 0),
            (r = o.angle * (Math.PI / 180)),
            (l = o.spread * (Math.PI / 180)),
            {
              x: o.x,
              y: o.y,
              wobble: 10 * Math.random(),
              velocity: 0.5 * o.startVelocity + Math.random() * o.startVelocity,
              angle2D: -r + (0.5 * l - Math.random() * l),
              tiltAngle: Math.random() * Math.PI,
              color: o.color,
              shape: o.shape,
              tick: 0,
              totalTicks: o.ticks,
              decay: o.decay,
              drift: o.drift,
              random: Math.random() + 5,
              tiltSin: 0,
              tiltCos: 0,
              wobbleX: 0,
              wobbleY: 0,
              gravity: 3 * o.gravity,
              ovalScalar: 0.6,
              scalar: o.scalar
            })
          )
        return a ? a.addFettis(S) : (a = T(t, S, u, n, i)).promise
      }
      function g(n) {
        var o = c || p(n, 'disableForReducedMotion', Boolean),
          g = p(n, 'zIndex', Number)
        if (o && f)
          return l(function (t) {
            t()
          })
        i && a
          ? (t = a.canvas)
          : i &&
            !t &&
            ((t = (function (t) {
              var e = document.createElement('canvas')
              return (
                (e.style.position = 'fixed'),
                (e.style.top = '0px'),
                (e.style.left = '0px'),
                (e.style.pointerEvents = 'none'),
                (e.style.zIndex = t),
                e
              )
            })(g)),
            document.body.appendChild(t)),
          r && !d && u(t)
        var m = {width: t.width, height: t.height}
        function b() {
          if (s) {
            var e = {
              getBoundingClientRect: function () {
                if (!i) return t.getBoundingClientRect()
              }
            }
            return (
              u(e),
              void s.postMessage({resize: {width: e.width, height: e.height}})
            )
          }
          m.width = m.height = null
        }
        function v() {
          ;(a = null),
            r && e.removeEventListener('resize', b),
            i && t && (document.body.removeChild(t), (t = null), (d = !1))
        }
        return (
          s && !d && s.init(t),
          (d = !0),
          s && (t.__confetti_initialized = !0),
          r && e.addEventListener('resize', b, !1),
          s ? s.fire(n, m, v) : h(n, m, v)
        )
      }
      return (
        (g.reset = function () {
          s && s.reset(), a && a.reset()
        }),
        g
      )
    }
    ;(n.exports = E(null, {useWorker: !0, resize: !0})), (n.exports.create = E)
  })(
    (function () {
      return void 0 !== t ? t : 'undefined' != typeof self ? self : this || {}
    })(),
    e,
    !1
  ),
    (t.confetti = e.exports)
})(window, {})
