'use strict'
!(function(require, directRequire) {
  function a() {
    q = {}
  }
  function b(a, b) {
    let c = d.extname(b)
    '.js' === c && delete q[b]
  }
  async function c(c) {
    let d = await h(c)
    ;(o && o.srcPath == d.srcPath) ||
      (a(), o && o.unWatch(b), (o = d), o.watch(b)),
      p && p.es6 != c.setting.es6 && a(),
      (p = c.setting)
  }
  const d = require('path'),
    e = require('babel-core'),
    f = require('babel-code-frame'),
    g = require('./d28a711224425b00101635efe1034c99.js'),
    h = require('./a63026ab5a5a3c59a61a9749a18aa2ca.js'),
    i = require('./6238a86bb7a55c11aa0f9eb335d0f34c.js'),
    j = require('./2dfc6a3df6d6fc51266b293c8420e88b.js'),
    k = require('./56c390e04c10e91a4aa2a2c19d9a885d.js'),
    l = require('./949d8235c744ced2a80121e4dba34c28.js'),
    m = require('./logger.js'),
    { NO_BOM_VAR: n } = require('./6242f55dbdfe53c2f07b7a51568311f2.js')
  var o,
    p,
    q = {}
  a(),
    (module.exports = async function(a, b, g = {}) {
      if (((b = decodeURI(b)), await c(a), !q[b] || g.force)) {
        let c = await o.getFile(b),
          g = ''
        if (a.setting.es6) {
          let a = d.basename(b)
          try {
            let b = e.transform(c, {
              presets: ['es2015', 'stage-0'],
              sourceMaps: 'map',
              sourceFileName: a,
              babelrc: !1
            })
            ;(c = b.code), (g = b.map)
          } catch (a) {
            m.error(`getJSFile catch ${a}`)
            let d = ''
            a.loc && (d = f(c, a.loc.line, 0 < a.loc.column ? a.loc.column : 1))
            let e = `${a.toString()}\n${d}`,
              g = new Error(e)
            throw ((g.code = l.PLUGIN_JS_ES6_ERR), (g.path = b), g)
          }
        }
        q[b] = { code: c, map: g }
      }
      return q[b]
    })
})(require('lazyload'), require)
