text: import Vue from 'vue'
  import NuxtLoading from './components/nuxt-loading.vue'
  
  import '../node_modules/bootstrap/dist/css/bootstrap.css'
  
  
  let layouts = {
  
    "_default": () => import('./layouts/default.vue'  /* webpackChunkName: "layouts/default" */).then(m => m.default || m)
  
  }
  
  let resolvedLayouts = {}
  
  export default {
    head: {"meta":[{"name":"viewport","content":"width=device-width, initial-scale=1, user-scalable=no"}],"script":[{"src":"https:\u002F\u002Fcdnjs.cloudflare.com\u002Fajax\u002Flibs\u002Fjquery\u002F1.12.4\u002Fjquery.js"},{"src":"https:\u002F\u002Fcdnjs.cloudflare.com\u002Fajax\u002Flibs\u002Fmaterialize\u002F1.0.0-beta\u002Fjs\u002Fmaterialize.min.js"}],"link":[{"rel":"stylesheet","href":"\u002F\u002Fcdnjs.cloudflare.com\u002Fajax\u002Flibs\u002Fmaterialize\u002F1.0.0-beta\u002Fcss\u002Fmaterialize.min.css"},{"rel":"stylesheet","href":"https:\u002F\u002Ffonts.googleapis.com\u002Ficon?family=Material+Icons"}],"style":[]},
    render(h, props) {
      const loadingEl = h('nuxt-loading', { ref: 'loading' })
      const layoutEl = h(this.layout || 'nuxt')
      const templateEl = h('div', {
        domProps: {
          id: '__layout'
        },
        key: this.layoutName
      }, [ layoutEl ])
  
      const transitionEl = h('transition', {
        props: {
          name: 'layout',
          mode: 'out-in'
        }
      }, [ templateEl ])
  
      return h('div',{
        domProps: {
          id: '__nuxt'
        }
      }, [
        loadingEl,
        transitionEl
      ])
    },
    data: () => ({
      layout: null,
      layoutName: ''
    }),
    beforeCreate () {
      Vue.util.defineReactive(this, 'nuxt', this.$options.nuxt)
    },
    created () {
      // Add this.$nuxt in child instances
      Vue.prototype.$nuxt = this
      // add to window so we can listen when ready
      if (typeof window !== 'undefined') {
        window.$nuxt = this
      }
      // Add $nuxt.error()
      this.error = this.nuxt.error
    },
    
    mounted () {
      this.$loading = this.$refs.loading
    },
    watch: {
      'nuxt.err': 'errorChanged'
    },
    
    methods: {
      
      errorChanged () {
        if (this.nuxt.err && this.$loading) {
          if (this.$loading.fail) this.$loading.fail()
          if (this.$loading.finish) this.$loading.finish()
        }
      },
      
      setLayout (layout) {
        if (!layout || !resolvedLayouts['_' + layout]) layout = 'default'
        this.layoutName = layout
        let _layout = '_' + layout
        this.layout = resolvedLayouts[_layout]
        return this.layout
      },
      loadLayout (layout) {
        if (!layout || !(layouts['_' + layout] || resolvedLayouts['_' + layout])) layout = 'default'
        let _layout = '_' + layout
        if (resolvedLayouts[_layout]) {
          return Promise.resolve(resolvedLayouts[_layout])
        }
        return layouts[_layout]()
        .then((Component) => {
          resolvedLayouts[_layout] = Component
          delete layouts[_layout]
          return resolvedLayouts[_layout]
        })
        .catch((e) => {
          if (this.$nuxt) {
            return this.$nuxt.error({ statusCode: 500, message: e.message })
          }
        })
      }
    },
    components: {
      NuxtLoading
    }
  }
  
  