/*!
 * Determine if an object is a Buffer
 *
 * @author   Feross Aboukhadijeh <https://feross.org>
 * @license  MIT
 */

/*!
 * vue-no-ssr v1.1.1
 * (c) 2018-present egoist <0x142857@gmail.com>
 * Released under the MIT License.
 */

/*!
 * Vue.js v2.6.7
 * (c) 2014-2019 Evan You
 * Released under the MIT License.
 */

/*!
  * vue-router v3.0.2
  * (c) 2018 Evan You
  * @license MIT
  */

/**
 * vue-meta v1.5.8
 * (c) 2018 Declan de Wet & Sébastien Chopin (@Atinux)
 * @license MIT
 */

/*
	object-assign
	(c) Sindre Sorhus
	@license MIT
	*/
