module.exports =
/******/ (function(modules) { // webpackBootstrap
/******/ 	// The module cache
/******/ 	var installedModules = {};

/******/ 	// The require function
/******/ 	function __webpack_require__(moduleId) {

/******/ 		// Check if module is in cache
/******/ 		if(installedModules[moduleId])
/******/ 			return installedModules[moduleId].exports;

/******/ 		// Create a new module (and put it into the cache)
/******/ 		var module = installedModules[moduleId] = {
/******/ 			exports: {},
/******/ 			id: moduleId,
/******/ 			loaded: false
/******/ 		};

/******/ 		// Execute the module function
/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);

/******/ 		// Flag the module as loaded
/******/ 		module.loaded = true;

/******/ 		// Return the exports of the module
/******/ 		return module.exports;
/******/ 	}


/******/ 	// expose the modules object (__webpack_modules__)
/******/ 	__webpack_require__.m = modules;

/******/ 	// expose the module cache
/******/ 	__webpack_require__.c = installedModules;

/******/ 	// __webpack_public_path__
/******/ 	__webpack_require__.p = "/dist/";

/******/ 	// Load entry module and return exports
/******/ 	return __webpack_require__(0);
/******/ })
/************************************************************************/
/******/ ({

/***/ 0:
/***/ (function(module, exports, __webpack_require__) {

	module.exports = __webpack_require__(343);


/***/ }),

/***/ 3:
/***/ (function(module, exports) {

	/* globals __VUE_SSR_CONTEXT__ */

	// this module is a runtime utility for cleaner component module output and will
	// be included in the final webpack user bundle

	module.exports = function normalizeComponent (
	  rawScriptExports,
	  compiledTemplate,
	  injectStyles,
	  scopeId,
	  moduleIdentifier /* server only */
	) {
	  var esModule
	  var scriptExports = rawScriptExports = rawScriptExports || {}

	  // ES6 modules interop
	  var type = typeof rawScriptExports.default
	  if (type === 'object' || type === 'function') {
	    esModule = rawScriptExports
	    scriptExports = rawScriptExports.default
	  }

	  // Vue.extend constructor export interop
	  var options = typeof scriptExports === 'function'
	    ? scriptExports.options
	    : scriptExports

	  // render functions
	  if (compiledTemplate) {
	    options.render = compiledTemplate.render
	    options.staticRenderFns = compiledTemplate.staticRenderFns
	  }

	  // scopedId
	  if (scopeId) {
	    options._scopeId = scopeId
	  }

	  var hook
	  if (moduleIdentifier) { // server build
	    hook = function (context) {
	      // 2.3 injection
	      context =
	        context || // cached call
	        (this.$vnode && this.$vnode.ssrContext) || // stateful
	        (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
	      // 2.2 with runInNewContext: true
	      if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
	        context = __VUE_SSR_CONTEXT__
	      }
	      // inject component styles
	      if (injectStyles) {
	        injectStyles.call(this, context)
	      }
	      // register component module identifier for async chunk inferrence
	      if (context && context._registeredComponents) {
	        context._registeredComponents.add(moduleIdentifier)
	      }
	    }
	    // used by ssr in case component is cached and beforeCreate
	    // never gets called
	    options._ssrRegister = hook
	  } else if (injectStyles) {
	    hook = injectStyles
	  }

	  if (hook) {
	    var functional = options.functional
	    var existing = functional
	      ? options.render
	      : options.beforeCreate
	    if (!functional) {
	      // inject component registration as beforeCreate hook
	      options.beforeCreate = existing
	        ? [].concat(existing, hook)
	        : [hook]
	    } else {
	      // register for functioal component in vue file
	      options.render = function renderWithStyleInjection (h, context) {
	        hook.call(context)
	        return existing(h, context)
	      }
	    }
	  }

	  return {
	    esModule: esModule,
	    exports: scriptExports,
	    options: options
	  }
	}


/***/ }),

/***/ 5:
/***/ (function(module, exports, __webpack_require__) {

	'use strict';

	exports.__esModule = true;

	var _locale = __webpack_require__(6);

	exports.default = {
	  methods: {
	    t: function t() {
	      for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
	        args[_key] = arguments[_key];
	      }

	      return _locale.t.apply(this, args);
	    },
	    isSafari: function isSafari() {
	      return typeof navigator !== 'undefined' && /Version\/[\d\.]+.*Safari/.test(navigator.userAgent);
	    }
	  }
	};

/***/ }),

/***/ 6:
/***/ (function(module, exports, __webpack_require__) {

	'use strict';

	exports.__esModule = true;
	exports.i18n = exports.use = exports.t = undefined;

	var _en = __webpack_require__(7);

	var _en2 = _interopRequireDefault(_en);

	var _vue = __webpack_require__(8);

	var _vue2 = _interopRequireDefault(_vue);

	var _deepmerge = __webpack_require__(9);

	var _deepmerge2 = _interopRequireDefault(_deepmerge);

	var _format = __webpack_require__(10);

	var _format2 = _interopRequireDefault(_format);

	function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

	var format = (0, _format2.default)(_vue2.default);
	var lang = _en2.default;
	var merged = false;
	var i18nHandler = function i18nHandler() {
	  var vuei18n = Object.getPrototypeOf(this || _vue2.default).$t;
	  if (typeof vuei18n === 'function' && !!_vue2.default.locale) {
	    if (!merged) {
	      merged = true;
	      _vue2.default.locale(_vue2.default.config.lang, (0, _deepmerge2.default)(lang, _vue2.default.locale(_vue2.default.config.lang) || {}, { clone: true }));
	    }
	    return vuei18n.apply(this, arguments);
	  }
	};

	var t = exports.t = function t(path, options) {
	  var value = i18nHandler.apply(this, arguments);
	  if (value !== null && value !== undefined) return value;

	  var array = path.split('.');
	  var current = lang;

	  for (var i = 0, j = array.length; i < j; i++) {
	    var property = array[i];
	    value = current[property];
	    if (i === j - 1) return format(value, options);
	    if (!value) return '';
	    current = value;
	  }
	  return '';
	};

	var use = exports.use = function use(l) {
	  lang = l || lang;
	};

	var i18n = exports.i18n = function i18n(fn) {
	  i18nHandler = fn || i18nHandler;
	};

	exports.default = { use: use, t: t, i18n: i18n };

/***/ }),

/***/ 7:
/***/ (function(module, exports) {

	'use strict';

	exports.__esModule = true;
	exports.default = {
	  el: {
	    colorpicker: {
	      confirm: 'OK',
	      clear: 'Clear'
	    },
	    dialog: {
	      close: 'Close'
	    },
	    carousel: {
	      carousel: 'Carousel button',
	      carouselPage: 'Carousel Page',
	      carouselTitle: 'Carousel'
	    },
	    datepicker: {
	      selectDateTime: 'Select meeting date and time',
	      presetDate: 'Choose a preset date range:',
	      fromStartDate: 'From (Start date)',
	      toEndDate: 'To (End date)',
	      previousMonth: 'Go to previous month',
	      nextMonth: 'Go to next month',
	      now: 'Now',
	      today: 'Today',
	      cancel: 'Cancel',
	      clear: 'Clear',
	      confirm: 'OK',
	      selectDate: 'Select date',
	      selectTime: 'Select time',
	      startDate: 'Start Date',
	      startTime: 'Start Time',
	      endDate: 'End Date',
	      endTime: 'End Time',
	      year: '',
	      month1: 'Jan',
	      month2: 'Feb',
	      month3: 'Mar',
	      month4: 'Apr',
	      month5: 'May',
	      month6: 'Jun',
	      month7: 'Jul',
	      month8: 'Aug',
	      month9: 'Sep',
	      month10: 'Oct',
	      month11: 'Nov',
	      month12: 'Dec',
	      from: 'From',
	      to: 'to',
	      customRange: 'Custom Range',
	      // week: 'week',
	      weeks: {
	        sun: 'Sun',
	        mon: 'Mon',
	        tue: 'Tue',
	        wed: 'Wed',
	        thu: 'Thu',
	        fri: 'Fri',
	        sat: 'Sat'
	      },
	      months: {
	        jan: 'Jan',
	        feb: 'Feb',
	        mar: 'Mar',
	        apr: 'Apr',
	        may: 'May',
	        jun: 'Jun',
	        jul: 'Jul',
	        aug: 'Aug',
	        sep: 'Sep',
	        oct: 'Oct',
	        nov: 'Nov',
	        dec: 'Dec'
	      }
	    },
	    select: {
	      loading: 'Loading',
	      noMatch: 'No matching data',
	      noData: 'No data',
	      placeholder: 'Select'
	    },
	    cascader: {
	      noMatch: 'No matching data',
	      loading: 'Loading',
	      placeholder: 'Select'
	    },
	    pagination: {
	      goto: 'Go to',
	      pagesize: '/page',
	      total: 'Total {total}',
	      pageClassifier: ''
	    },
	    messagebox: {
	      title: 'Message',
	      confirm: 'OK',
	      cancel: 'Cancel',
	      error: 'Illegal input'
	    },
	    upload: {
	      delete: 'Delete',
	      preview: 'Preview',
	      continue: 'Continue'
	    },
	    table: {
	      emptyText: 'No Data',
	      confirmFilter: 'Confirm',
	      resetFilter: 'Reset',
	      clearFilter: 'All',
	      sumText: 'Sum'
	    },
	    tree: {
	      emptyText: 'No Data'
	    },
	    transfer: {
	      noMatch: 'No matching data',
	      noData: 'No data',
	      titles: ['List 1', 'List 2'], // to be translated
	      filterPlaceholder: 'Enter keyword', // to be translated
	      noCheckedFormat: '{total} items', // to be translated
	      hasCheckedFormat: '{checked}/{total} checked' // to be translated
	    },
	    country: {
	      'AL': 'Albania',
	      'DZ': 'Algeria',
	      'AS': 'American Samoa',
	      'AD': 'Andorra',
	      'AO': 'Angola',
	      'AI': 'Anguilla',
	      'AQ': 'Antarctica',
	      'AG': 'Antigua (including Barbuda)',
	      'AR': 'Argentina',
	      'AM': 'Armenia',
	      'AW': 'Aruba',
	      'AT': 'Austria',
	      'AU': 'Australia',
	      'AZ': 'Azerbaijan',
	      'BS': 'Bahamas',
	      'BH': 'Bahrain',
	      'BD': 'Bangladesh',
	      'BB': 'Barbados',
	      'BY': 'Belarus',
	      'BE': 'Belgium',
	      'BZ': 'Belize',
	      'BJ': 'Benin',
	      'BM': 'Bermuda',
	      'BT': 'Bhutan',
	      'BO': 'Bolivia',
	      'BA': 'Bosnia-Herzegovina',
	      'BW': 'Botswana',
	      'BR': 'Brazil',
	      'VI': 'British Virgin Islands',
	      'BN': 'Brunei',
	      'BG': 'Bulgaria',
	      'BF': 'Burkina Faso',
	      'BI': 'Burundi',
	      'KH': 'Cambodia',
	      'CM': 'Cameroon',
	      'CA': 'Canada',
	      'CV': 'Cape Verde Island',
	      'KY': 'Cayman Islands',
	      'CF': 'Central African Republic',
	      'TD': 'Chad Republic',
	      'CL': 'Chile',
	      'CN': 'China',
	      'CO': 'Colombia',
	      'KM': 'Comoros',
	      'CK': 'Cook Islands',
	      'HR': 'Croatia',
	      'CU': 'Cuba',
	      'CY': 'Cyprus',
	      'CZ': 'Czech Republic',
	      'DK': 'Denmark',
	      'DJ': 'Djibouti',
	      'DM': 'Dominica',
	      'DO': 'Dominican Republic',
	      'EC': 'Ecuador',
	      'EG': 'Egypt outside Cairo',
	      'SV': 'El Salvador',
	      'GQ': 'Equatorial Guinea',
	      'ER': 'Eritrea',
	      'EE': 'Estonia',
	      'ET': 'Ethiopia',
	      'FO': 'Faeroe Islands',
	      'FK': 'Falkland Islands',
	      'FJ': 'Fiji Islands',
	      'FI': 'Finland',
	      'FR': 'France',
	      'GF': 'French Guiana',
	      'PF': 'French Polynesia',
	      'GA': 'Gabon Republic',
	      'GM': 'Gambia',
	      'GE': 'Georgia',
	      'DE': 'Germany',
	      'GH': 'Ghana',
	      'GI': 'Gibraltar',
	      'GR': 'Greece',
	      'GL': 'Greenland',
	      'GD': 'Grenada',
	      'GP': 'Guadeloupe',
	      'GT': 'Guatemala',
	      'GW': 'Guinea-Bissau',
	      'GN': 'Guinea',
	      'GY': 'Guyana',
	      'HT': 'Haiti',
	      'HN': 'Honduras',
	      'HK': 'Hong Kong',
	      'HU': 'Hungary',
	      'IS': 'Iceland',
	      'IN': 'India',
	      'ID': 'Indonesia',
	      'IR': 'Iran',
	      'IQ': 'Iraq',
	      'IE': 'Ireland',
	      'IL': 'Israel',
	      'IT': 'Italy',
	      'CI': 'Ivory Coast',
	      'JM': 'Jamaica',
	      'JP': 'Japan',
	      'JO': 'Jordan',
	      'KZ': 'Kazakhstan',
	      'KE': 'Kenya',
	      'KI': 'Kiribati',
	      'KP': 'Korea, North',
	      'KR': 'Korea, South',
	      'KW': 'Kuwait',
	      'KG': 'Kyrgyzstan',
	      'LA': 'Laos',
	      'LV': 'Latvia',
	      'LB': 'Lebanon',
	      'LS': 'Lesotho',
	      'LR': 'Liberia',
	      'LY': 'Libya',
	      'LI': 'Liechtenstein',
	      'LT': 'Lithuania',
	      'LU': 'Luxembourg',
	      'MO': 'Macao',
	      'MG': 'Madagascar',
	      'MW': 'Malawi',
	      'MY': 'Malaysia',
	      'MV': 'Maldives',
	      'ML': 'Mali',
	      'MH': 'Marshall Islands',
	      'MR': 'Mauritania',
	      'MU': 'Mauritius',
	      'YT': 'Mayotte Island',
	      'FM': 'Micronesia',
	      'MD': 'Moldova',
	      'MC': 'Monaco',
	      'MN': 'Mongolia',
	      'MA': 'Morocco',
	      'MZ': 'Mozambique',
	      'MM': 'Myanmar',
	      'NA': 'Namibia',
	      'CD': 'Congo, Democratic Republic of the Congo',
	      'CG': 'Congo, Republic of the Congo',
	      'RS': 'Serbia',
	      'NP': 'Nepal',
	      'NL': 'Netherlands',
	      'NC': 'New Caledonia',
	      'NI': 'Nicaragua',
	      'NE': 'Niger',
	      'NU': 'Niue',
	      'NF': 'Norfolk Island',
	      'NO': 'Norway',
	      'PK': 'Pakistan',
	      'PW': 'Palau',
	      'PA': 'Panama',
	      'PG': 'Papua New Guinea',
	      'PE': 'Peru',
	      'PH': 'Philippines',
	      'PL': 'Poland',
	      'PT': 'Portugal',
	      'RO': 'Romania',
	      'RU': 'Russia',
	      'RW': 'Rwanda',
	      'LC': 'St Lucia',
	      'VC': 'St Vincent',
	      'SM': 'San Marino',
	      'SA': 'Saudi Arabia',
	      'SN': 'Senegal Republic',
	      'SL': 'Sierra Leone',
	      'SG': 'Singapore',
	      'SK': 'Slovakia',
	      'SI': 'Slovenia',
	      'SB': 'Solomon Islands',
	      'SO': 'Somalia',
	      'ZA': 'South Africa',
	      'ES': 'Spain',
	      'LK': 'Sri Lanka',
	      'SD': 'Sudan',
	      'SR': 'Suriname',
	      'SZ': 'Swaziland',
	      'SE': 'Sweden',
	      'CH': 'Switzerland',
	      'SY': 'Syria',
	      'TW': 'Taiwan',
	      'TJ': 'Tajikistan',
	      'TZ': 'Tanzania',
	      'TH': 'Thailand',
	      'TG': 'Togo',
	      'TO': 'Tonga Islands',
	      'TT': 'Trinidad and Tobago',
	      'TN': 'Tunisia',
	      'TR': 'Turkey',
	      'TM': 'Turkmenistan',
	      'TC': 'Turks and Caicos',
	      'TV': 'Tuvalu',
	      'UG': 'Uganda',
	      'UA': 'Ukraine',
	      'AE': 'United Arab Emirates',
	      'GB': 'United Kingdom',
	      'US': 'United States of America',
	      'UY': 'Uruguay',
	      'UZ': 'Uzbekistan',
	      'VU': 'Vanuatu',
	      'VA': 'Vatican City',
	      'VE': 'Venezuela',
	      'VN': 'Vietnam',
	      'WF': 'Wallis And Futuna Islands',
	      'WS': 'Western Samoa',
	      'YE': 'Yemen',
	      'ZM': 'Zambia',
	      'ZW': 'Zimbabwe',
	      'AF': 'Afghanistan',
	      'RE': 'French Depts. (Indian Ocean)',
	      'MP': 'Northern Mariana Islands',
	      'DG': 'Diego Garcia',
	      'MK': 'Macedonia',
	      'MT': 'Malta',
	      'MS': 'Montserrat',
	      'NZ': 'New Zealand',
	      'OM': 'Oman',
	      'PY': 'Paraguay',
	      'QA': 'Qatar',
	      'KN': 'St Kitts and Nevis',
	      'SC': 'Seychelles Islands',
	      'MX': 'Mexico'
	    }
	  }
	};

/***/ }),

/***/ 8:
/***/ (function(module, exports) {

	module.exports = require("vue");

/***/ }),

/***/ 9:
/***/ (function(module, exports) {

	module.exports = require("deepmerge");

/***/ }),

/***/ 10:
/***/ (function(module, exports, __webpack_require__) {

	'use strict';

	exports.__esModule = true;

	var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };

	exports.default = function (Vue) {

	  /**
	   * template
	   *
	   * @param {String} string
	   * @param {Array} ...args
	   * @return {String}
	   */

	  function template(string) {
	    for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
	      args[_key - 1] = arguments[_key];
	    }

	    if (args.length === 1 && _typeof(args[0]) === 'object') {
	      args = args[0];
	    }

	    if (!args || !args.hasOwnProperty) {
	      args = {};
	    }

	    if (string !== undefined) {
	      return string.replace(RE_NARGS, function (match, prefix, i, index) {
	        var result = void 0;

	        if (string[index - 1] === '{' && string[index + match.length] === '}') {
	          return i;
	        } else {
	          result = (0, _util.hasOwn)(args, i) ? args[i] : null;
	          if (result === null || result === undefined) {
	            return '';
	          }

	          return result;
	        }
	      });
	    }
	  }
	  return template;
	};

	var _util = __webpack_require__(11);

	var RE_NARGS = /(%|)\{([0-9a-zA-Z_]+)\}/g;
	/**
	 *  String format template
	 *  - Inspired:
	 *    https://github.com/Matt-Esch/string-template/index.js
	 */

/***/ }),

/***/ 11:
/***/ (function(module, exports) {

	'use strict';

	exports.__esModule = true;

	var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };

	exports.hasOwn = hasOwn;
	exports.toObject = toObject;
	var hasOwnProperty = Object.prototype.hasOwnProperty;
	function hasOwn(obj, key) {
	  return hasOwnProperty.call(obj, key);
	};

	var generateId = exports.generateId = function generateId() {
	  return Math.floor(Math.random() * 10000);
	};
	var kebabCase = exports.kebabCase = function kebabCase(str) {
	  var hyphenateRE = /([^-])([A-Z])/g;
	  return str.replace(hyphenateRE, '$1-$2').replace(hyphenateRE, '$1-$2').toLowerCase();
	};

	function extend(to, _from) {
	  for (var key in _from) {
	    to[key] = _from[key];
	  }
	  return to;
	};

	function toObject(arr) {
	  var res = {};
	  for (var i = 0; i < arr.length; i++) {
	    if (arr[i]) {
	      extend(res, arr[i]);
	    }
	  }
	  return res;
	};

	var getValueByPath = exports.getValueByPath = function getValueByPath(object, prop) {
	  prop = prop || '';
	  var paths = prop.split('.');
	  var current = object;
	  var result = null;
	  for (var i = 0, j = paths.length; i < j; i++) {
	    var path = paths[i];
	    if (current === undefined) break;

	    if (i === j - 1) {
	      result = current[path];
	      break;
	    }
	    current = current[path];
	  }
	  return result;
	};

	var autoprefixer = exports.autoprefixer = function autoprefixer(style) {
	  if ((typeof style === 'undefined' ? 'undefined' : _typeof(style)) !== 'object') return style;
	  var rules = ['transform', 'transition', 'animation'];
	  var prefixes = ['ms-', 'webkit-'];
	  rules.forEach(function (rule) {
	    var value = style[rule];
	    if (rule && value) {
	      prefixes.forEach(function (prefix) {
	        style[prefix + rule] = value;
	      });
	    }
	  });
	  return style;
	};

	var arrayFindIndex = exports.arrayFindIndex = function arrayFindIndex(arr, pred) {
	  for (var i = 0; i !== arr.length; ++i) {
	    if (pred(arr[i])) {
	      return i;
	    }
	  }
	  return -1;
	};

	var arrayFind = exports.arrayFind = function arrayFind(arr, pred) {
	  var idx = arrayFindIndex(arr, pred);
	  return idx !== -1 ? arr[idx] : undefined;
	};

	// coerce truthy value to array
	var coerceTruthyValueToArray = exports.coerceTruthyValueToArray = function coerceTruthyValueToArray(val) {
	  if (Array.isArray(val)) {
	    return val;
	  } else if (val) {
	    return [val];
	  } else {
	    return [];
	  }
	};

/***/ }),

/***/ 162:
/***/ (function(module, exports, __webpack_require__) {

	'use strict';

	exports.__esModule = true;

	var _util = __webpack_require__(11);

	/**
	 * Show migrating guide in browser console.
	 *
	 * Usage:
	 * import Migrating from 'element-ui/src/mixins/migrating';
	 *
	 * mixins: [Migrating]
	 *
	 * add getMigratingConfig method for your component.
	 *  getMigratingConfig() {
	 *    return {
	 *      props: {
	 *        'allow-no-selection': 'allow-no-selection is removed.',
	 *        'selection-mode': 'selection-mode is removed.'
	 *      },
	 *      events: {
	 *        selectionchange: 'selectionchange is renamed to selection-change.'
	 *      }
	 *    };
	 *  },
	 */
	exports.default = {
	  mounted: function mounted() {
	    if (true) return;
	    if (!this.$vnode) return;

	    var _getMigratingConfig = this.getMigratingConfig(),
	        _getMigratingConfig$p = _getMigratingConfig.props,
	        props = _getMigratingConfig$p === undefined ? {} : _getMigratingConfig$p,
	        _getMigratingConfig$e = _getMigratingConfig.events,
	        events = _getMigratingConfig$e === undefined ? {} : _getMigratingConfig$e;

	    var _$vnode = this.$vnode,
	        data = _$vnode.data,
	        componentOptions = _$vnode.componentOptions;

	    var definedProps = data.attrs || {};
	    var definedEvents = componentOptions.listeners || {};

	    for (var propName in definedProps) {
	      propName = (0, _util.kebabCase)(propName); // compatible with camel case
	      if (props[propName]) {
	        console.warn('[Element Migrating][' + this.$options.name + '][Attribute]: ' + props[propName]);
	      }
	    }

	    for (var eventName in definedEvents) {
	      eventName = (0, _util.kebabCase)(eventName); // compatible with camel case
	      if (events[eventName]) {
	        console.warn('[Element Migrating][' + this.$options.name + '][Event]: ' + events[eventName]);
	      }
	    }
	  },

	  methods: {
	    getMigratingConfig: function getMigratingConfig() {
	      return {
	        props: {},
	        events: {}
	      };
	    }
	  }
	};

/***/ }),

/***/ 240:
/***/ (function(module, exports, __webpack_require__) {

	'use strict';

	exports.__esModule = true;

	var _progress = __webpack_require__(241);

	var _progress2 = _interopRequireDefault(_progress);

	function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

	/* istanbul ignore next */
	_progress2.default.install = function (Vue) {
	  Vue.component(_progress2.default.name, _progress2.default);
	};

	exports.default = _progress2.default;

/***/ }),

/***/ 241:
/***/ (function(module, exports, __webpack_require__) {

	var Component = __webpack_require__(3)(
	  /* script */
	  __webpack_require__(242),
	  /* template */
	  __webpack_require__(243),
	  /* styles */
	  null,
	  /* scopeId */
	  null,
	  /* moduleIdentifier (server only) */
	  null
	)

	module.exports = Component.exports


/***/ }),

/***/ 242:
/***/ (function(module, exports) {

	'use strict';

	exports.__esModule = true;
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//

	exports.default = {
	  name: 'ElProgress',
	  props: {
	    type: {
	      type: String,
	      default: 'line',
	      validator: function validator(val) {
	        return ['line', 'circle'].indexOf(val) > -1;
	      }
	    },
	    percentage: {
	      type: Number,
	      default: 0,
	      required: true,
	      validator: function validator(val) {
	        return val >= 0 && val <= 100;
	      }
	    },
	    status: {
	      type: String
	    },
	    strokeWidth: {
	      type: Number,
	      default: 6
	    },
	    textInside: {
	      type: Boolean,
	      default: false
	    },
	    width: {
	      type: Number,
	      default: 126
	    },
	    showText: {
	      type: Boolean,
	      default: true
	    }
	  },
	  computed: {
	    barStyle: function barStyle() {
	      var style = {};
	      style.width = this.percentage + '%';
	      return style;
	    },
	    relativeStrokeWidth: function relativeStrokeWidth() {
	      return (this.strokeWidth / this.width * 100).toFixed(1);
	    },
	    trackPath: function trackPath() {
	      var radius = parseInt(50 - parseFloat(this.relativeStrokeWidth) / 2, 10);

	      return 'M 50 50 m 0 -' + radius + ' a ' + radius + ' ' + radius + ' 0 1 1 0 ' + radius * 2 + ' a ' + radius + ' ' + radius + ' 0 1 1 0 -' + radius * 2;
	    },
	    perimeter: function perimeter() {
	      var radius = 50 - parseFloat(this.relativeStrokeWidth) / 2;
	      return 2 * Math.PI * radius;
	    },
	    circlePathStyle: function circlePathStyle() {
	      var perimeter = this.perimeter;
	      return {
	        strokeDasharray: perimeter + 'px,' + perimeter + 'px',
	        strokeDashoffset: (1 - this.percentage / 100) * perimeter + 'px',
	        transition: 'stroke-dashoffset 0.6s ease 0s, stroke 0.6s ease'
	      };
	    },
	    stroke: function stroke() {
	      var ret;
	      switch (this.status) {
	        case 'success':
	          ret = '#13ce66';
	          break;
	        case 'exception':
	          ret = '#ff4949';
	          break;
	        default:
	          ret = '#20a0ff';
	      }
	      return ret;
	    },
	    iconClass: function iconClass() {
	      if (this.type === 'line') {
	        return this.status === 'success' ? 'el-icon-circle-check' : 'el-icon-circle-cross';
	      } else {
	        return this.status === 'success' ? 'el-icon-check' : 'el-icon-close';
	      }
	    },
	    progressTextSize: function progressTextSize() {
	      return this.type === 'line' ? 12 + this.strokeWidth * 0.4 : this.width * 0.111111 + 2;
	    }
	  }
	};

/***/ }),

/***/ 243:
/***/ (function(module, exports) {

	module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
	  return _c('div', {
	    staticClass: "el-progress",
	    class: [
	      'el-progress--' + _vm.type,
	      _vm.status ? 'is-' + _vm.status : '',
	      {
	        'el-progress--without-text': !_vm.showText,
	        'el-progress--text-inside': _vm.textInside,
	      }
	    ]
	  }, [(_vm.type === 'line') ? _c('div', {
	    staticClass: "el-progress-bar"
	  }, [_c('div', {
	    staticClass: "el-progress-bar__outer",
	    style: ({
	      height: _vm.strokeWidth + 'px'
	    })
	  }, [_c('div', {
	    staticClass: "el-progress-bar__inner",
	    style: (_vm.barStyle)
	  }, [(_vm.showText && _vm.textInside) ? _c('div', {
	    staticClass: "el-progress-bar__innerText"
	  }, [_vm._v(_vm._s(_vm.percentage) + "%")]) : _vm._e()])])]) : _c('div', {
	    staticClass: "el-progress-circle",
	    style: ({
	      height: _vm.width + 'px',
	      width: _vm.width + 'px'
	    })
	  }, [_c('svg', {
	    attrs: {
	      "viewBox": "0 0 100 100"
	    }
	  }, [_c('path', {
	    staticClass: "el-progress-circle__track",
	    attrs: {
	      "d": _vm.trackPath,
	      "stroke": "#e5e9f2",
	      "stroke-width": _vm.relativeStrokeWidth,
	      "fill": "none"
	    }
	  }), _c('path', {
	    staticClass: "el-progress-circle__path",
	    style: (_vm.circlePathStyle),
	    attrs: {
	      "d": _vm.trackPath,
	      "stroke-linecap": "round",
	      "stroke": _vm.stroke,
	      "stroke-width": _vm.relativeStrokeWidth,
	      "fill": "none"
	    }
	  })])]), (_vm.showText && !_vm.textInside) ? _c('div', {
	    staticClass: "el-progress__text",
	    style: ({
	      fontSize: _vm.progressTextSize + 'px'
	    })
	  }, [(!_vm.status) ? [_vm._v(_vm._s(_vm.percentage) + "%")] : _c('i', {
	    class: _vm.iconClass
	  })], 2) : _vm._e()])
	},staticRenderFns: []}

/***/ }),

/***/ 343:
/***/ (function(module, exports, __webpack_require__) {

	'use strict';

	exports.__esModule = true;

	var _src = __webpack_require__(344);

	var _src2 = _interopRequireDefault(_src);

	function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

	/* istanbul ignore next */
	_src2.default.install = function (Vue) {
	  Vue.component(_src2.default.name, _src2.default);
	};

	exports.default = _src2.default;

/***/ }),

/***/ 344:
/***/ (function(module, exports, __webpack_require__) {

	var Component = __webpack_require__(3)(
	  /* script */
	  __webpack_require__(345),
	  /* template */
	  null,
	  /* styles */
	  null,
	  /* scopeId */
	  null,
	  /* moduleIdentifier (server only) */
	  null
	)

	module.exports = Component.exports


/***/ }),

/***/ 345:
/***/ (function(module, exports, __webpack_require__) {

	'use strict';

	exports.__esModule = true;

	var _uploadList = __webpack_require__(346);

	var _uploadList2 = _interopRequireDefault(_uploadList);

	var _upload = __webpack_require__(349);

	var _upload2 = _interopRequireDefault(_upload);

	var _iframeUpload = __webpack_require__(355);

	var _iframeUpload2 = _interopRequireDefault(_iframeUpload);

	var _progress = __webpack_require__(240);

	var _progress2 = _interopRequireDefault(_progress);

	var _migrating = __webpack_require__(162);

	var _migrating2 = _interopRequireDefault(_migrating);

	function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

	function noop() {}

	exports.default = {
	  name: 'ElUpload',

	  mixins: [_migrating2.default],

	  components: {
	    ElProgress: _progress2.default,
	    UploadList: _uploadList2.default,
	    Upload: _upload2.default,
	    IframeUpload: _iframeUpload2.default
	  },

	  provide: {
	    uploader: undefined
	  },

	  props: {
	    action: {
	      type: String,
	      required: true
	    },
	    id: String,
	    headers: {
	      type: Object,
	      default: function _default() {
	        return {};
	      }
	    },
	    data: Object,
	    multiple: Boolean,
	    name: {
	      type: String,
	      default: 'file'
	    },
	    drag: Boolean,
	    dragger: Boolean,
	    withCredentials: Boolean,
	    showFileList: {
	      type: Boolean,
	      default: true
	    },
	    accept: String,
	    type: {
	      type: String,
	      default: 'select'
	    },
	    beforeUpload: Function,
	    onRemove: {
	      type: Function,
	      default: noop
	    },
	    onChange: {
	      type: Function,
	      default: noop
	    },
	    onPreview: {
	      type: Function
	    },
	    onSuccess: {
	      type: Function,
	      default: noop
	    },
	    onProgress: {
	      type: Function,
	      default: noop
	    },
	    onError: {
	      type: Function,
	      default: noop
	    },
	    fileList: {
	      type: Array,
	      default: function _default() {
	        return [];
	      }
	    },
	    autoUpload: {
	      type: Boolean,
	      default: true
	    },
	    listType: {
	      type: String,
	      default: 'text' // text,picture,picture-card
	    },
	    httpRequest: Function,
	    disabled: Boolean,
	    requestMethod: String
	  },

	  data: function data() {
	    return {
	      uploadFiles: [],
	      dragOver: false,
	      draging: false,
	      tempIndex: 1
	    };
	  },


	  watch: {
	    fileList: {
	      immediate: true,
	      handler: function handler(fileList) {
	        var _this = this;

	        this.uploadFiles = fileList.map(function (item) {
	          item.uid = item.uid || Date.now() + _this.tempIndex++;
	          item.status = 'success';
	          return item;
	        });
	      }
	    }
	  },

	  methods: {
	    handleStart: function handleStart(rawFile) {
	      rawFile.uid = Date.now() + this.tempIndex++;
	      var file = {
	        status: 'ready',
	        name: rawFile.name,
	        size: rawFile.size,
	        percentage: 0,
	        uid: rawFile.uid,
	        raw: rawFile
	      };

	      try {
	        file.url = URL.createObjectURL(rawFile);
	      } catch (err) {
	        console.error(err);
	        return;
	      }

	      this.uploadFiles.push(file);
	      this.onChange(file, this.uploadFiles);
	    },
	    handleProgress: function handleProgress(ev, rawFile) {
	      var file = this.getFile(rawFile);
	      this.onProgress(ev, file, this.uploadFiles);
	      file.status = 'uploading';
	      file.percentage = ev.percent || 0;
	    },
	    handleSuccess: function handleSuccess(res, rawFile) {
	      var file = this.getFile(rawFile);

	      if (file) {
	        file.status = 'success';
	        file.response = res;

	        this.onSuccess(res, file, this.uploadFiles);
	        this.onChange(file, this.uploadFiles);
	      }
	    },
	    handleError: function handleError(err, rawFile) {
	      var file = this.getFile(rawFile);
	      var fileList = this.uploadFiles;

	      file.status = 'fail';

	      fileList.splice(fileList.indexOf(file), 1);

	      this.onError(err, file, this.uploadFiles);
	      this.onChange(file, this.uploadFiles);
	    },
	    handleRemove: function handleRemove(file, raw) {
	      if (raw) {
	        file = this.getFile(raw);
	      }
	      this.abort(file);
	      var fileList = this.uploadFiles;
	      fileList.splice(fileList.indexOf(file), 1);
	      this.onRemove(file, fileList);
	    },
	    getFile: function getFile(rawFile) {
	      var fileList = this.uploadFiles;
	      var target;
	      fileList.every(function (item) {
	        target = rawFile.uid === item.uid ? item : null;
	        return !target;
	      });
	      return target;
	    },
	    abort: function abort(file) {
	      this.$refs['upload-inner'].abort(file);
	    },
	    clearFiles: function clearFiles() {
	      this.uploadFiles = [];
	    },
	    submit: function submit() {
	      var _this2 = this;

	      this.uploadFiles.filter(function (file) {
	        return file.status === 'ready';
	      }).forEach(function (file) {
	        _this2.$refs['upload-inner'].upload(file.raw);
	      });
	    },
	    getMigratingConfig: function getMigratingConfig() {
	      return {
	        props: {
	          'default-file-list': 'default-file-list is renamed to file-list.',
	          'show-upload-list': 'show-upload-list is renamed to show-file-list.',
	          'thumbnail-mode': 'thumbnail-mode has been deprecated, you can implement the same effect according to this case: http://element.eleme.io/#/zh-CN/component/upload#yong-hu-tou-xiang-shang-chuan'
	        }
	      };
	    }
	  },

	  render: function render(h) {
	    var uploadList;

	    if (this.showFileList) {
	      uploadList = h(_uploadList2.default, {
	        attrs: {
	          listType: this.listType,
	          files: this.uploadFiles,

	          handlePreview: this.onPreview },
	        on: {
	          'remove': this.handleRemove
	        }
	      });
	    }

	    var uploadData = {
	      props: {
	        id: this.id,
	        type: this.type,
	        drag: this.drag,
	        action: this.action,
	        multiple: this.multiple,
	        'before-upload': this.beforeUpload,
	        'with-credentials': this.withCredentials,
	        headers: this.headers,
	        name: this.name,
	        data: this.data,
	        accept: this.accept,
	        fileList: this.uploadFiles,
	        autoUpload: this.autoUpload,
	        listType: this.listType,
	        disabled: this.disabled,
	        'on-start': this.handleStart,
	        'on-progress': this.handleProgress,
	        'on-success': this.handleSuccess,
	        'on-error': this.handleError,
	        'on-preview': this.onPreview,
	        'on-remove': this.handleRemove,
	        'http-request': this.httpRequest,
	        requestMethod: this.requestMethod
	      },
	      ref: 'upload-inner'
	    };

	    var trigger = this.$slots.trigger || this.$slots.default;
	    var uploadComponent = typeof FormData !== 'undefined' || this.$isServer ? h(
	      'upload',
	      uploadData,
	      [trigger]
	    ) : h(
	      'iframeUpload',
	      uploadData,
	      [trigger]
	    );

	    return h('div', [this.listType === 'picture-card' ? uploadList : '', this.$slots.trigger ? [uploadComponent, this.$slots.default] : uploadComponent, this.$slots.tip, this.listType !== 'picture-card' ? uploadList : '']);
	  }
	};

/***/ }),

/***/ 346:
/***/ (function(module, exports, __webpack_require__) {

	var Component = __webpack_require__(3)(
	  /* script */
	  __webpack_require__(347),
	  /* template */
	  __webpack_require__(348),
	  /* styles */
	  null,
	  /* scopeId */
	  null,
	  /* moduleIdentifier (server only) */
	  null
	)

	module.exports = Component.exports


/***/ }),

/***/ 347:
/***/ (function(module, exports, __webpack_require__) {

	'use strict';

	exports.__esModule = true;

	var _locale = __webpack_require__(5);

	var _locale2 = _interopRequireDefault(_locale);

	var _progress = __webpack_require__(240);

	var _progress2 = _interopRequireDefault(_progress);

	function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//

	exports.default = {
	  mixins: [_locale2.default],

	  components: { ElProgress: _progress2.default },

	  props: {
	    files: {
	      type: Array,
	      default: function _default() {
	        return [];
	      }
	    },
	    handlePreview: Function,
	    listType: String
	  },
	  methods: {
	    parsePercentage: function parsePercentage(val) {
	      return parseInt(val, 10);
	    },
	    handleClick: function handleClick(file) {
	      this.handlePreview && this.handlePreview(file);
	    }
	  }
	};

/***/ }),

/***/ 348:
/***/ (function(module, exports) {

	module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
	  return _c('transition-group', {
	    class: ['el-upload-list', 'el-upload-list--' + _vm.listType],
	    attrs: {
	      "tag": "ul",
	      "name": "el-list"
	    }
	  }, _vm._l((_vm.files), function(file) {
	    return _c('li', {
	      key: file,
	      class: ['el-upload-list__item', 'is-' + file.status]
	    }, [(file.status !== 'uploading' && ['picture-card', 'picture'].indexOf(_vm.listType) > -1) ? _c('img', {
	      staticClass: "el-upload-list__item-thumbnail",
	      attrs: {
	        "src": file.url,
	        "alt": ""
	      }
	    }) : _vm._e(), _c('a', {
	      staticClass: "el-upload-list__item-name",
	      on: {
	        "click": function($event) {
	          return _vm.handleClick(file)
	        }
	      }
	    }, [_c('i', {
	      staticClass: "el-icon-document"
	    }), _vm._v(_vm._s(file.name) + "\n    ")]), _c('label', {
	      staticClass: "el-upload-list__item-status-label"
	    }, [_c('i', {
	      class: {
	        'el-icon-upload-success': true,
	        'el-icon-circle-check': _vm.listType === 'text',
	        'el-icon-check': ['picture-card', 'picture'].indexOf(_vm.listType) > -1
	      }
	    })]), _c('i', {
	      staticClass: "el-icon-close",
	      on: {
	        "click": function($event) {
	          return _vm.$emit('remove', file)
	        }
	      }
	    }), (file.status === 'uploading') ? _c('el-progress', {
	      attrs: {
	        "type": _vm.listType === 'picture-card' ? 'circle' : 'line',
	        "stroke-width": _vm.listType === 'picture-card' ? 6 : 2,
	        "percentage": _vm.parsePercentage(file.percentage)
	      }
	    }) : _vm._e(), (_vm.listType === 'picture-card') ? _c('span', {
	      staticClass: "el-upload-list__item-actions"
	    }, [(_vm.handlePreview && _vm.listType === 'picture-card') ? _c('span', {
	      staticClass: "el-upload-list__item-preview",
	      on: {
	        "click": function($event) {
	          return _vm.handlePreview(file)
	        }
	      }
	    }, [_c('i', {
	      staticClass: "el-icon-view"
	    })]) : _vm._e(), _c('span', {
	      staticClass: "el-upload-list__item-delete",
	      on: {
	        "click": function($event) {
	          return _vm.$emit('remove', file)
	        }
	      }
	    }, [_c('i', {
	      staticClass: "el-icon-delete2"
	    })])]) : _vm._e()], 1)
	  }), 0)
	},staticRenderFns: []}

/***/ }),

/***/ 349:
/***/ (function(module, exports, __webpack_require__) {

	var Component = __webpack_require__(3)(
	  /* script */
	  __webpack_require__(350),
	  /* template */
	  null,
	  /* styles */
	  null,
	  /* scopeId */
	  null,
	  /* moduleIdentifier (server only) */
	  null
	)

	module.exports = Component.exports


/***/ }),

/***/ 350:
/***/ (function(module, exports, __webpack_require__) {

	'use strict';

	exports.__esModule = true;

	var _ajax = __webpack_require__(351);

	var _ajax2 = _interopRequireDefault(_ajax);

	var _uploadDragger = __webpack_require__(352);

	var _uploadDragger2 = _interopRequireDefault(_uploadDragger);

	function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

	exports.default = {
	  inject: ['uploader'],
	  components: {
	    UploadDragger: _uploadDragger2.default
	  },
	  props: {
	    id: String,
	    ariaLabel: {
	      type: String,
	      default: ''
	    },
	    type: String,
	    action: {
	      type: String,
	      required: true
	    },
	    name: {
	      type: String,
	      default: 'file'
	    },
	    data: Object,
	    requestMethod: String,
	    headers: Object,
	    withCredentials: Boolean,
	    multiple: Boolean,
	    accept: String,
	    onStart: Function,
	    onProgress: Function,
	    onSuccess: Function,
	    onError: Function,
	    beforeUpload: Function,
	    drag: Boolean,
	    onPreview: {
	      type: Function,
	      default: function _default() {}
	    },
	    onRemove: {
	      type: Function,
	      default: function _default() {}
	    },
	    fileList: Array,
	    autoUpload: Boolean,
	    listType: String,
	    httpRequest: {
	      type: Function,
	      default: _ajax2.default
	    },
	    disabled: Boolean
	  },

	  data: function data() {
	    return {
	      mouseover: false,
	      reqs: {}
	    };
	  },


	  methods: {
	    isImage: function isImage(str) {
	      return str.indexOf('image') !== -1;
	    },
	    handleChange: function handleChange(ev) {
	      var files = ev.target.files;

	      if (!files) return;
	      this.uploadFiles(files);
	    },
	    uploadFiles: function uploadFiles(files) {
	      var _this = this;

	      var postFiles = Array.prototype.slice.call(files);
	      if (!this.multiple) {
	        postFiles = postFiles.slice(0, 1);
	      }

	      if (postFiles.length === 0) {
	        return;
	      }

	      postFiles.forEach(function (rawFile) {
	        _this.onStart(rawFile);
	        if (_this.autoUpload) _this.upload(rawFile);
	      });
	    },
	    upload: function upload(rawFile, file) {
	      var _this2 = this;

	      this.$refs.input.value = null;

	      if (!this.beforeUpload) {
	        return this.post(rawFile);
	      }

	      var before = this.beforeUpload(rawFile);
	      if (before && before.then) {
	        before.then(function (processedFile) {
	          if (Object.prototype.toString.call(processedFile) === '[object File]') {
	            _this2.post(processedFile);
	          } else {
	            _this2.post(rawFile);
	          }
	        }, function () {
	          _this2.onRemove(rawFile, true);
	        });
	      } else if (before !== false) {
	        this.post(rawFile);
	      } else {
	        this.onRemove(rawFile, true);
	      }
	    },
	    abort: function abort(file) {
	      var reqs = this.reqs;

	      if (file) {
	        var uid = file;
	        if (file.uid) uid = file.uid;
	        if (reqs[uid]) {
	          reqs[uid].abort();
	        }
	      } else {
	        Object.keys(reqs).forEach(function (uid) {
	          if (reqs[uid]) reqs[uid].abort();
	          delete reqs[uid];
	        });
	      }
	    },
	    post: function post(rawFile) {
	      var _this3 = this;

	      var uid = rawFile.uid;

	      var options = {
	        headers: this.headers,
	        withCredentials: this.withCredentials,
	        file: rawFile,
	        data: this.data,
	        filename: this.name,
	        action: this.action,
	        requestMethod: this.requestMethod,
	        onProgress: function onProgress(e) {
	          _this3.onProgress(e, rawFile);
	        },
	        onSuccess: function onSuccess(res) {
	          _this3.onSuccess(res, rawFile);
	          delete _this3.reqs[uid];
	        },
	        onError: function onError(err) {
	          _this3.onError(err, rawFile);
	          delete _this3.reqs[uid];
	        }
	      };
	      var req = this.httpRequest(options);
	      this.reqs[uid] = req;
	      if (req && req.then) {
	        req.then(options.onSuccess, options.onError);
	      }
	    },
	    handleClick: function handleClick() {
	      if (!this.disabled) {
	        this.$refs.input.click();
	      }
	    }
	  },

	  render: function render(h) {
	    var handleClick = this.handleClick,
	        drag = this.drag,
	        ariaLabel = this.ariaLabel,
	        id = this.id,
	        name = this.name,
	        handleChange = this.handleChange,
	        multiple = this.multiple,
	        accept = this.accept,
	        listType = this.listType,
	        uploadFiles = this.uploadFiles,
	        disabled = this.disabled;

	    var data = {
	      class: {
	        'el-upload': true
	      },
	      on: {
	        click: handleClick
	      }
	    };
	    data.class['el-upload--' + listType] = true;
	    return h(
	      'div',
	      data,
	      [drag ? h(
	        'upload-dragger',
	        {
	          attrs: { disabled: disabled },
	          on: {
	            'file': uploadFiles
	          }
	        },
	        [this.$slots.default]
	      ) : this.$slots.default, h('input', { 'class': 'el-upload__input', attrs: { id: id, type: 'file', 'aria-label': ariaLabel, name: name, multiple: multiple, accept: accept },
	        ref: 'input', on: {
	          'change': handleChange
	        }
	      })]
	    );
	  }
	};

/***/ }),

/***/ 351:
/***/ (function(module, exports) {

	'use strict';

	exports.__esModule = true;
	exports.default = upload;
	function getError(action, option, xhr) {
	  var msg = void 0;
	  if (xhr.response) {
	    msg = xhr.status + ' ' + (xhr.response.error || xhr.response);
	  } else if (xhr.responseText) {
	    msg = xhr.status + ' ' + xhr.responseText;
	  } else {
	    msg = 'fail to post ' + action + ' ' + xhr.status;
	  }

	  var err = new Error(msg);
	  err.status = xhr.status;
	  err.method = 'post';
	  err.url = action;
	  return err;
	}

	function getBody(xhr) {
	  var text = xhr.responseText || xhr.response;
	  if (!text) {
	    return text;
	  }

	  try {
	    return JSON.parse(text);
	  } catch (e) {
	    return text;
	  }
	}

	function upload(option) {
	  if (typeof XMLHttpRequest === 'undefined') {
	    return;
	  }

	  var xhr = new XMLHttpRequest();
	  var action = option.action;

	  if (xhr.upload) {
	    xhr.upload.onprogress = function progress(e) {
	      if (e.total > 0) {
	        e.percent = e.loaded / e.total * 100;
	      }
	      option.onProgress(e);
	    };
	  }

	  var formData = new FormData();

	  if (option.data) {
	    Object.keys(option.data).map(function (key) {
	      formData.append(key, option.data[key]);
	    });
	  }

	  formData.append(option.filename, option.file);

	  xhr.onerror = function error(e) {
	    option.onError(e);
	  };

	  xhr.onload = function onload() {
	    if (xhr.status < 200 || xhr.status >= 300) {
	      return option.onError(getError(action, option, xhr));
	    }

	    option.onSuccess(getBody(xhr));
	  };

	  xhr.open(option.requestMethod || 'post', action, true);

	  if (option.withCredentials && 'withCredentials' in xhr) {
	    xhr.withCredentials = true;
	  }

	  var headers = option.headers || {};

	  for (var item in headers) {
	    if (headers.hasOwnProperty(item) && headers[item] !== null) {
	      xhr.setRequestHeader(item, headers[item]);
	    }
	  }
	  xhr.send(formData);
	  return xhr;
	}

/***/ }),

/***/ 352:
/***/ (function(module, exports, __webpack_require__) {

	var Component = __webpack_require__(3)(
	  /* script */
	  __webpack_require__(353),
	  /* template */
	  __webpack_require__(354),
	  /* styles */
	  null,
	  /* scopeId */
	  null,
	  /* moduleIdentifier (server only) */
	  null
	)

	module.exports = Component.exports


/***/ }),

/***/ 353:
/***/ (function(module, exports) {

	'use strict';

	exports.__esModule = true;
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//

	exports.default = {
	  name: 'ElUploadDrag',
	  props: {
	    disabled: Boolean
	  },
	  data: function data() {
	    return {
	      dragover: false
	    };
	  },

	  methods: {
	    onDragover: function onDragover() {
	      if (!this.disabled) {
	        this.dragover = true;
	      }
	    },
	    onDrop: function onDrop(e) {
	      if (!this.disabled) {
	        this.dragover = false;
	        this.$emit('file', e.dataTransfer.files);
	      }
	    }
	  }
	};

/***/ }),

/***/ 354:
/***/ (function(module, exports) {

	module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
	  return _c('div', {
	    staticClass: "el-upload-dragger",
	    class: {
	      'is-dragover': _vm.dragover
	    },
	    on: {
	      "drop": function($event) {
	        $event.preventDefault();
	        return _vm.onDrop.apply(null, arguments)
	      },
	      "dragover": function($event) {
	        $event.preventDefault();
	        return _vm.onDragover.apply(null, arguments)
	      },
	      "dragleave": function($event) {
	        $event.preventDefault();
	        _vm.dragover = false
	      }
	    }
	  }, [_vm._t("default")], 2)
	},staticRenderFns: []}

/***/ }),

/***/ 355:
/***/ (function(module, exports, __webpack_require__) {

	var Component = __webpack_require__(3)(
	  /* script */
	  __webpack_require__(356),
	  /* template */
	  null,
	  /* styles */
	  null,
	  /* scopeId */
	  null,
	  /* moduleIdentifier (server only) */
	  null
	)

	module.exports = Component.exports


/***/ }),

/***/ 356:
/***/ (function(module, exports, __webpack_require__) {

	'use strict';

	exports.__esModule = true;

	var _uploadDragger = __webpack_require__(352);

	var _uploadDragger2 = _interopRequireDefault(_uploadDragger);

	function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

	exports.default = {
	  components: {
	    UploadDragger: _uploadDragger2.default
	  },
	  props: {
	    id: String,
	    type: String,
	    data: {},
	    action: {
	      type: String,
	      required: true
	    },
	    name: {
	      type: String,
	      default: 'file'
	    },
	    withCredentials: Boolean,
	    accept: String,
	    onStart: Function,
	    onProgress: Function,
	    onSuccess: Function,
	    onError: Function,
	    beforeUpload: Function,
	    onPreview: {
	      type: Function,
	      default: function _default() {}
	    },
	    onRemove: {
	      type: Function,
	      default: function _default() {}
	    },
	    drag: Boolean,
	    listType: String,
	    disabled: Boolean
	  },

	  data: function data() {
	    return {
	      mouseover: false,
	      domain: '',
	      file: null,
	      submitting: false,
	      tip: t('message.common.uploadTip') || 'File upload Response page'
	    };
	  },


	  methods: {
	    isImage: function isImage(str) {
	      return str.indexOf('image') !== -1;
	    },
	    handleClick: function handleClick() {
	      if (!this.disabled) {
	        this.$refs.input.click();
	      }
	    },
	    handleChange: function handleChange(ev) {
	      var file = ev.target.value;
	      if (file) {
	        this.uploadFiles(file);
	      }
	    },
	    uploadFiles: function uploadFiles(file) {
	      if (this.submitting) return;
	      this.submitting = true;
	      this.file = file;
	      this.onStart(file);

	      var formNode = this.getFormNode();
	      var dataSpan = this.getFormDataNode();
	      var data = this.data;
	      if (typeof data === 'function') {
	        data = data(file);
	      }
	      var inputs = [];
	      for (var key in data) {
	        if (data.hasOwnProperty(key)) {
	          inputs.push('<input name="' + key + '" value="' + data[key] + '"/>');
	        }
	      }
	      dataSpan.innerHTML = inputs.join('');
	      formNode.submit();
	      dataSpan.innerHTML = '';
	    },
	    getFormNode: function getFormNode() {
	      return this.$refs.form;
	    },
	    getFormDataNode: function getFormDataNode() {
	      return this.$refs.data;
	    }
	  },

	  created: function created() {
	    this.frameName = 'frame-' + Date.now();
	  },
	  mounted: function mounted() {
	    var self = this;
	    !this.$isServer && window.addEventListener('message', function (event) {
	      if (!self.file) return;
	      var targetOrigin = new URL(self.action).origin;
	      if (event.origin !== targetOrigin) return;
	      var response = event.data;
	      if (response.result === 'success') {
	        self.onSuccess(response, self.file);
	      } else if (response.result === 'failed') {
	        self.onError(response, self.file);
	      }
	      self.submitting = false;
	      self.file = null;
	    }, false);
	  },
	  render: function render(h) {
	    var drag = this.drag,
	        uploadFiles = this.uploadFiles,
	        listType = this.listType,
	        frameName = this.frameName,
	        disabled = this.disabled;

	    var oClass = { 'el-upload': true };
	    oClass['el-upload--' + listType] = true;

	    return h(
	      'div',
	      {
	        'class': oClass,
	        on: {
	          'click': this.handleClick
	        },
	        nativeOn: {
	          'drop': this.onDrop,
	          'dragover': this.handleDragover,
	          'dragleave': this.handleDragleave
	        }
	      },
	      [h('iframe', {
	        attrs: {
	          title: this.tip,

	          name: frameName
	        },
	        on: {
	          'load': this.onload
	        },

	        ref: 'iframe' }), h(
	        'form',
	        { ref: 'form', attrs: { action: this.action, target: frameName, enctype: 'multipart/form-data', method: 'POST' }
	        },
	        [h('input', {
	          'class': 'el-upload__input',
	          attrs: { type: 'file',

	            name: 'file',

	            accept: this.accept },
	          ref: 'input', on: {
	            'change': this.handleChange
	          }
	        }), h('input', {
	          attrs: { type: 'hidden', name: 'documentDomain' },
	          domProps: {
	            'value': this.$isServer ? '' : document.domain
	          }
	        }), h('span', { ref: 'data' })]
	      ), drag ? h(
	        'upload-dragger',
	        {
	          on: {
	            'file': uploadFiles
	          },
	          attrs: { disabled: disabled }
	        },
	        [this.$slots.default]
	      ) : this.$slots.default]
	    );
	  }
	};

/***/ })

/******/ });